1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-20 06:53:52 +00:00
Commit graph

127 commits

Author SHA1 Message Date
David Cernat
c90a9ab132 Merge branch '0.8.1' of https://github.com/TES3MP/TES3MP into 0.8.1-vr
# Conflicts:
#	apps/openmw/mwworld/projectilemanager.cpp
2022-05-01 22:01:57 +03:00
David Cernat
f0a22495a2 [General] Synchronize origin and orientation for magical projectiles 2022-05-01 21:58:00 +03:00
David Cernat
572b16af41 Add OpenMW 0.47 commits to OpenMW VR up to 4 Dec 2021
# Conflicts:
#   .gitlab-ci.yml
#   CI/before_script.msvc.sh
#   CI/install_debian_deps.sh
#   CMakeLists.txt
#   apps/openmw/mwrender/screenshotmanager.cpp
#   files/ui/advancedpage.ui
2021-12-07 21:49:20 +02:00
fredzio
32108adc31 Change projectile behaviour to be like in vanilla wrt. water plane:
- enchanted arrow explode upon hit the water plane
- non enchanted arrow disappear (or more accurately, they hit nothingness)
- enchanted arrow shot underwater explode immediately
- non enchanted arrow disappear immediately

Also, solve a bug that occured previously and could theoritically still happens where we use the last tested collision position for instead of the last registered hit:
Use the hit position as saved inside Projectile::hit() instead of the last position saved inside the callback.
If a projectile collides with several objects (bottom of the sea and water surface for instance), the last collision tested won't necessarily be the impact position as we have no control over the order in which the tests are performed.
2021-09-24 20:32:00 +02:00
jvoisin
998cc97a4f And done! 2021-04-30 20:49:22 +02:00
madsbuvi
1bee59c2b1 Merge remote-tracking branch 'remotes/origin/master' into openmw-vr 2021-03-26 17:59:23 +01: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
madsbuvi
d598923421 Merge remote-tracking branch 'remotes/origin/master' into openmw-vr 2021-03-02 14:32:34 +01: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
madsbuvi
6c9df35725 Merge remote-tracking branch 'remotes/origin/master' into openmw-vr 2021-02-01 15:09:00 +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
Mads Buvik Sandvei
3e82cae500 Merge remote-tracking branch 'remotes/origin/master' into openxr_vr_geometryshader_feature_branch 2020-12-18 20:50:58 +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
Mads Buvik Sandvei
b98b4db4c1 Merge remote-tracking branch 'remotes/origin/multiview_test_branch' into openxr_vr_geometryshader_feature_branch 2020-12-09 21:11:53 +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
Mads Buvik Sandvei
49e76fa077 Merge remote-tracking branch 'remotes/origin/master' into openxr_vr 2020-11-27 00:36:10 +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
Mads Buvik Sandvei
4f8f0cc8ac Merge branch 'master' of https://gitlab.com/madsbuvi/openmw into openxr_vr 2020-10-22 20:39:53 +02: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
Mads Buvik Sandvei
58d73e14e6 Merge branch 'master' of https://gitlab.com/madsbuvi/openmw.git into openxr_vr
# Conflicts:
#	apps/openmw/mwbase/environment.cpp
#	apps/openmw/mwbase/environment.hpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwinput/inputmanagerimp.hpp
#	apps/openmw/mwrender/animation.cpp
#	apps/openmw/mwrender/camera.cpp
#	apps/openmw/mwrender/camera.hpp
#	apps/openmw/mwrender/renderingmanager.cpp
#	apps/openmw/mwrender/renderingmanager.hpp
2020-06-28 11:59:07 +02:00
Capostrophic
456f0f9f44 Clean up magic bolts of actors that are gone (#5451) 2020-06-06 19:11:22 +03:00
Mads Buvik Sandvei
cbbc82f053 Merge branch 'master' of https://gitlab.com/madsbuvi/openmw.git into openxr_vr
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/engine.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwinput/inputmanagerimp.hpp
#	apps/openmw/mwphysics/physicssystem.cpp
#	apps/openmw/mwrender/water.cpp
#	apps/openmw/mwrender/water.hpp
#	apps/openmw/mwworld/worldimp.cpp
2020-05-17 23:47:28 +02:00
Mads Buvik Sandvei
6474d703ae GUI fixes. Animation fixes, i now understand movement accumulation better and was able to clean up some of the hacks with a better result. Lockpicks and probes now work. Haptics. Ready to be playtested. 2020-05-17 16:25:51 +02: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
Mads Buvik Sandvei
14bb0f0208 Merge branch 'master' of https://gitlab.com/madsbuvi/openmw.git into openxr_vr
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2020-03-30 01:37:29 +02:00
Mads Buvik Sandvei
68c75f66eb Improvements on combat 2020-03-23 23:32:47 +01: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