1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-31 06:32:39 +00:00

3313 Commits

Author SHA1 Message Date
jvoisin
1123dc46ee Add a ton of const refs 2021-06-23 23:13:59 +02:00
Evil Eye
f264a8d90a Merge branch 'vfx' into 'master'
Calculate magic VFX vertical offset (bug #5453)

Closes #5453

See merge request OpenMW/openmw!909
2021-06-22 17:15:29 +00:00
Alexey Yaryshev
2577047b59 Fixed an issue #6101 (https://gitlab.com/OpenMW/openmw/-/issues/6101) 2021-06-22 14:51:49 +00:00
Dobrohotov Alexei
870cdd0130 Calculate magic VFX vertical offset (bug #5453) 2021-06-21 23:29:45 +03:00
elsid
e7d68d3d1b
Validate almost straight shortcuts by navmesh raycast
Check whether it's possible to actually move over navmesh by such shortcut.
2021-06-21 18:50:45 +02:00
Léo Peltier
5c4e1252e9 Handle AutoCalc flag when getting spell cost
Fixes #5483

This only applies to "base game" spells.
When adding an AutoCalc spell with TES:CS its cost is computed and
stored inside game files. This stored cost was being used by OpenMW and
the actual cost was never recomputed at runtime whereas Morrowind.exe
discards the stored cost.
While this worked fine in vanilla, mods can update AutoCalc spell
effects without ever updating the stored cost.

The formula was mostly there already but there was a few differences,
namely a 1 second offset in duration.
2021-06-20 13:42:28 +02:00
elsid
e5e04b85c1
Consider time to destination when try to avoid collision
Actor may reach destination before collision. Get next path point from active
packet pathfinder and use point tolerance to reduce distance.

Use maximum of last destination tolerance and DEFAULT_TOLERANCE because
there are 2 checks made for path completion. First checks whether actor is
close enough to the destination and second drop last path point when actor is
closer than DEFAULT_TOLERANCE.
2021-06-19 14:11:20 +02:00
elsid
56e6305345
Revert "Merge branch 'fix_new_game_guard' into 'master'"
This reverts commit a487295d39544455d754d107675792cf2074c613.
2021-06-19 14:06:46 +02:00
psi29a
329ec8f044 Merge branch 'dont_bury_me_plz' into 'master'
Don't unsummon creatures not found within the active cells

Closes #6070

See merge request OpenMW/openmw!926
2021-06-16 09:43:53 +00:00
psi29a
c39c0266a9 Merge branch 'free_from_bondage' into 'master'
Do not assume the bound item cache is valid after loading a save

Closes #6069

See merge request OpenMW/openmw!931
2021-06-16 09:43:14 +00:00
unknown
7d756d997e Rebuild the cache in readState 2021-06-12 18:18:52 +02:00
fredzio
7d0483d7ad Cast spell even if target Ptr is empty. It happens when enchanted arrows
hit water or ground.
2021-06-11 05:55:37 +02:00
Evil Eye
90fa8dca35 Do not assume the bound item cache is valid after loading a save 2021-06-06 18:10:55 +02:00
Evil Eye
89e0bfd1a4 Purge summon effects on dispose 2021-06-06 12:45:42 +02:00
Evil Eye
004660be3d Don't unsummon creatures not found within the active cells 2021-06-02 20:33:29 +02:00
psi29a
a487295d39 Merge branch 'fix_new_game_guard' into 'master'
Consider time to destination when try to avoid collision

See merge request OpenMW/openmw!914
2021-05-30 11:52:48 +02:00
Evil Eye
b8472e1303 Use modified paralyze magnitude to fall and float 2021-05-28 16:55:54 +02:00
psi29a
ae66afb219 Merge branch 'less_verbose' into 'master'
Make the code less verbose.

See merge request OpenMW/openmw!874
2021-05-18 08:30:50 +00:00
Frederic Chardon
807c7a2025 Merge branch 'useless_includes_mwmechanics' into 'master'
Remove some useless headers in apps/openmw/mwmechanics

See merge request OpenMW/openmw!871
2021-05-16 10:51:43 +00:00
fredzio
5b63019719 Embed actor velocity inside its class. It makes the code simpler. 2021-05-16 12:42:17 +02:00
jvoisin
1cd15613a6 Remove some useless headers in apps/openmw/mwmechanics 2021-05-15 22:14:08 +02:00
jvoisin
7deb6a6ffd Use const references when possible in for loops
No need for useless copies.
2021-05-15 19:50:01 +02:00
Andrei Kortunov
b63f53f5bb Disable shield animation when we launch a torch one (bug #6043) 2021-05-15 11:31:08 +04:00
psi29a
13fd0e11ff Merge branch 'no_time_to_talk' into 'master'
Don't stop and turn to the player while sneaking or jumping

Closes #6016

See merge request OpenMW/openmw!838
2021-05-10 06:51:49 +00:00
Evil Eye
c5aa3d4f77 Don't stop and turn to the player while sneaking or jumping 2021-05-09 19:55:27 +02:00
Evil Eye
ffd84502f9 Remove unimplemented method declaration 2021-05-09 19:07:15 +02:00
jvoisin
be371ccd9f An another pass 2021-04-30 20:27:33 +02:00
jvoisin
ee2446d5c4 Trim even more 2021-04-30 20:11:41 +02:00
Alexei Dobrohotov
e3bb45fd61 Merge branch 'minor_aicombat' into 'master'
Minor optimization in aicombat.cpp

See merge request OpenMW/openmw!737

(cherry picked from commit f1d19035cccfff2523faad0d4e4d96cd3ddae2e6)

bbbfc520 Minor optimization in aicombat.cpp
237b34a6 Fix style
a14911cb Fix indentation
2021-04-26 07:10:41 +00:00
jvoisin
4c96644f8d Use a char instead of a string in find() where possible
This was done via PVS Studio ( https://pvs-studio.com ),
and should provide a super-duper-marginal performance boost \o/
2021-04-25 19:57:09 +02:00
elsid
ca7add0624
Add move constructor to MWMechanics::Spells 2021-04-24 00:32:22 +02:00
elsid
46e34c500c
Use algorithms to add/remove listener to SpellList 2021-04-24 00:32:07 +02:00
Andrei Kortunov
d10399e083 Cast double constant to float explicitely 2021-04-19 17:08:03 +04:00
Andrei Kortunov
0cadc97fb3 Fix double -> float conversions 2021-04-19 15:36:58 +04:00
Bret Curtis
befa3f587f
Merge pull request #3068 from akortunov/master
Clean up MSVC warnings
2021-04-19 09:27:17 +02:00
Jacob Turnbull
f49b9e3806 Fix headtracking while invisible 2021-04-18 10:54:56 +00:00
Andrei Kortunov
f308dde254 Clean up MSVC warnings 2021-04-17 12:14:50 +04:00
elsid
0fae6d9a0a
Add walk and swim flags when corresponding speed is positive
This allows to avoid finding path over area that will should have infinite
cost (area_cost = area_cost_factor / area_speed).
2021-04-13 23:27:18 +02:00
elsid
3c4a9069ae
Do not use infinite area cost
Division by zero causes float value to be infinite. When infinite cost is
multiplied by zero distance the result is NaN. After this pathfinding algorithm
state is broken.
2021-04-13 23:27:18 +02:00
elsid
28fc21792e
Allow water walking actors to find path over water surface 2021-04-11 21:59:28 +02:00
elsid
634556be9d
Add setting to allow following creatures to find path over water surface 2021-04-11 21:59:28 +02:00
Andrei Kortunov
f984e96b34 Use conventional names for atan2 arguments 2021-04-10 12:23:03 +04:00
Jonas Tobias Hopusch
799cf16f31
Attempt to fix #5942
Closes OpenMW/openmw#5942
This is an attempt to apply the fix suggested by @Capostrophic
2021-04-09 18:16:05 +02:00
Andrei Kortunov
59720aea9a Restore old aiming for melee combat 2021-04-07 12:07:03 +04:00
Andrei Kortunov
50352daf90 Rework knockdown and knockout animations fallbacks 2021-03-29 14:45:07 +04:00
Andrei Kortunov
b61337643e Merge branch 'issue-5680' into 'master'
change aim calculation

See merge request OpenMW/openmw!685
2021-03-26 11:43:20 +00:00
Max
2cd96e56d5 create constant and use constant in other parts of the code base 2021-03-24 14:54:46 -07:00
elsid
453e94ea9f
Use half extents for destination distance tolerance in AiEscort
For actors moving in water destination may be located at such z coordinate
that they can't reach.
2021-03-24 00:07:28 +01:00
elsid
f32e1790bc
Add half extents to AiEscord max distance
For actors with big bounding box given constants may not work properly like
it's not possible to get close enough to actor from a given angle to make it
move.
2021-03-23 23:49:57 +01:00
elsid
39c0ce9ddf
Build limited path for far destinations
When distance between start and end point is greater than max radius of area
possibly covered by navmesh there is no way to find path via navmesh. Also if
distance is greater than cell size navmesh might not exists withing mentioned
area because cell is not loaded therefore navmesh is not generated. So minumum
of these values is used to limit max path distance. Assuming that path
actually exists it's possible to build path to the edge of a circle. When
actor reaches initial edge path is built further. However it will not be
optimal.
2021-03-23 23:23:12 +01:00