1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 00:49:54 +00:00
Commit graph

111 commits

Author SHA1 Message Date
jvoisin
998cc97a4f And done! 2021-04-30 20:49:22 +02:00
Max
2cd96e56d5 create constant and use constant in other parts of the code base 2021-03-24 14:54:46 -07:00
Alexei Dobrohotov
2bfee281fd Merge branch 'restore_caster' into 'master'
Restore projectile caster from savegame (#5860)

See merge request OpenMW/openmw!616

(cherry picked from commit d595c7adb0fb45eafed6d3d0403ad640a91411ed)

c5426bec In the savegame, projectile caster is identified by its actor id. When
2021-03-05 21:07:29 +00:00
fredzio
6e969ca3fa Use mesh collision box instead of node bounding sphere for projectile
size. The bounding sphere is much bigger than the mesh.
2021-02-05 22:53:45 +01:00
Evil Eye
a2171875a0 Prevent nullptr access 2021-01-24 15:15:51 +01:00
fredzio
1f4c85520f Use convexSweepTest for projectile movement to solve any
imprecision issue with projectile collision detection.
Simplify the mechanics: manage hits in one spot.
Give magic projectiles a collision shape similar in size to their visible
model.

Rename the 2 convex result callback to clearly state their purpose.
2021-01-21 20:36:33 +01:00
fredzio
b39437dfb6 Don't allow projectiles to stand still when they hit an ally.
When an NPC fire a projectile, it should affect only its targeted actor.
To this end, after a hit is detected the target is checked against the
list of AI targets and reactivated if necessary.
Problem occurs when the hit occurs as a result of a friendly actor going
into the projectile (detected in ClosestNotMeConvexResultCallback):
while the projectile is inside the friend's collision box, it is
deactivated, just to be immediately reactivated. Effectively, the
projectile does nothing until the actor moves out.

Add a check inside the ClosestNotMeConvexResultCallback before declaring
a hit.
Since the necessary data is not safely accessible from the async thread,
maintain a copy inside the Projectile class.
2020-12-14 22:23:01 +01:00
fredzio
4fbe1ed12c Ignore caster collision shape. Sometimes the magic bolt get launched
inside too near its caster.
2020-12-08 09:06:34 +01:00
fredzio
66fe3b0d38 Modify projectile collision to work with async physics 2020-12-08 09:06:33 +01:00
Andrei Kortunov
dc7b48e92e Generate physics collisions for projectiles (bug #3372)
Remove redundant now mHit field
2020-12-08 09:05:38 +01:00
psi29a
ba3aad31c1 Merge branch 'hitdebug' into 'master'
Visualize hits in the debug overlay

See merge request OpenMW/openmw!379
2020-11-01 10:20:14 +00:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
fredzio
e8c0a7bec0 Visualie projectile hits 2020-10-26 13:53:36 +01:00
Andrei Kortunov
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Petr Mikheev
0de6650add Add RayCastingInterface 2020-08-06 22:03:33 +02:00
Capostrophic
456f0f9f44 Clean up magic bolts of actors that are gone (#5451) 2020-06-06 19:11:22 +03:00
Bret Curtis
8a8107e837 as it says; revert vismask and uncomplicate openmw 2020-04-20 20:57:38 +02:00
Andrei Kortunov
7545256d1f Do not try to launch magic bolt when direction to target is empty (bug #5350) 2020-04-04 22:39:13 +04:00
Andrei Kortunov
84979fa8b7 Move VisMask to components 2020-02-16 16:03:35 +04:00
Andrei Kortunov
d1e0fa575e Take in account caster's race height when launch magic bolt (bug #5209) 2019-11-17 16:37:38 +04:00
Andrei Kortunov
f0cef772fa Refactor weapon types behaviour
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
2019-08-09 19:40:27 +04:00
Andrei Kortunov
8557346fbd Use glow for enchanted arrows (feature #5122) 2019-08-07 12:58:14 +04:00
Capostrophic
f0433704b4 Only collect every unique magic bolt sound once (bug #4964) 2019-04-17 19:23:50 +03:00
Andrei Kortunov
4c21776b94 Use relative animation time only for bows and crossbows (bug #3778) 2019-03-08 20:16:02 +04:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
Andrei Kortunov
0937f02598 Get rid of unnecessary string streams 2019-01-07 21:08:16 +04:00
Andrei Kortunov
70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 2018-09-17 19:22:50 +04:00
Capostrophic
7ef6fa9f61 Remove deprecated GMST get* functions 2018-08-29 18:38:12 +03:00
Andrei Kortunov
5a4d0cec3a Use new logging system for game itself 2018-08-14 23:05:43 +04:00
Miloslav Číž
4373fea21e Correct projectile rotation 2017-11-23 20:27:22 +01:00
Miloslav Číž
d0a299caab Rotate thrown projectiles around the bb center 2017-11-23 20:02:38 +01:00
Miloslav Číž
38bda3bd71 Do not save thrown state for projectiles 2017-11-23 18:00:10 +01:00
Miloslav Číž
3dbcda6686 Make use of mEffectAnimationTime for projectile rotation 2017-11-23 15:14:15 +01:00
Miloslav Číž
2b9a0a7732 Save new projectile state 2017-11-23 12:11:26 +01:00
Miloslav Číž
de42aa9d03 Make thrown projectiles rotate 2017-11-23 00:32:22 +01:00
MiroslavR
b5f5268ff3 Clean up faraway projectiles 2017-09-23 18:54:17 +02:00
MiroslavR
f15de6d3ca ESS-Importer: Convert magic projectiles (Closes #2320) 2017-09-20 18:58:56 +02:00
Chris Robinson
780e82480d Make the PlayMode and PlayType enums scoped
Also shorten them by putting them in the MWSound namespace
2017-09-15 02:36:59 -07:00
Chris Robinson
1fe60dd8e2 Replace some shared_ptrs with pointers to deque entries 2017-09-14 16:00:30 -07:00
Allofich
6b53541571 Prevent AI actors from hitting unintended targets
(Fixes #3254)
2017-02-12 19:51:19 +09:00
NeveHanter
e82d542d89 Merge remote-tracking branch 'upstream/master' into bugfix-3617 2017-01-15 09:49:45 +01:00
NeveHanter
811e9ad9f3 Fixed bug https://bugs.openmw.org/issues/3617 by allowing touch and target enchantments from ranged weapons and their projectiles to explode even when colliding with non-activable objects, terrain, water slab or when shoot underwater.
Also allowed projectiles to fly through the dead bodies as in vanilla.
2017-01-15 09:49:25 +01:00
scrawl
7b5f3e3cdc Fix crash in ProjectileManager when a sound id fails to play or is not found 2017-01-01 21:34:31 +01:00
mrohrlach
71e74f5a93 Moved projectile light calculation to separate method 2016-12-13 18:04:20 -07:00
mrohrlach
f5da179a90 Removed two more bad casts 2016-12-09 18:15:40 -07:00
mrohrlach
3b0c791892 Removed bad casts and unnecessary comments 2016-12-09 18:10:06 -07:00
mrohrlach
c2e5f24e98 Tidying up 2016-12-04 16:31:11 -07:00
mrohrlach
ef5cf76ad8 Implemented retrieval of effect colors for lights, made recommended changes 2016-12-04 16:11:21 -07:00
mrohrlach
3816d0f6dc Changed light values to better match vanilla. Still need to pull diffusion properties from spells 2016-12-03 19:44:52 -07:00