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