Bo Svensson
ef906cbfa8
improves MWClass mapping ( #3166 )
...
Currently, we use a peculiar mapping of ESM classes by their std::type_info::name. This mapping is an undefined behaviour because std::type_info::name is strictly implementation defined. It could return a non-unique value on some platforms. With this PR we use the unsigned int sRecordId of the ESM class as a more efficient lookup type that does not build on undefined behaviour. We can expect marginally faster save-game loading with these changes as well.
2021-10-11 13:46:21 +02:00
psi29a
3e2694dde9
Merge branch 'catch_me' into 'master'
...
Remove active effects from spells that no longer exist
See merge request OpenMW/openmw!1273
2021-10-11 08:53:48 +00:00
psi29a
d3bad2dba2
Merge branch 'stripperiffic_werewolves' into 'master'
...
Remove magic effects before saving stats when turning into a werewolf
Closes #6330
See merge request OpenMW/openmw!1270
2021-10-11 08:52:46 +00:00
Evil Eye
3d5950f790
Remove active effects from spells that no longer exist
2021-10-09 12:27:17 +02:00
Evil Eye
ec735529da
Remove active effects from the player when transforming
2021-10-08 17:32:41 +02:00
psi29a
9c47fdcf7e
Merge branch 'flip_sign' into 'master'
...
Fix regression #6328
Closes #6328
See merge request OpenMW/openmw!1267
2021-10-08 06:47:57 +00:00
Evil Eye
caafd0c667
Remove CE enchantments before saving stats when turning into a werewolf
2021-10-07 21:09:43 +02:00
Evil Eye
7540265432
Fix regression #6328
2021-10-06 17:14:00 +02:00
Evil Eye
d680aa26e9
Disallow switch fallthrough
2021-10-03 21:58:10 +02:00
psi29a
2c8c36fe5d
Merge branch 'master' into 'effective_magic'
...
# Conflicts:
# CHANGELOG.md
2021-10-01 21:20:08 +00:00
psi29a
bd866cf210
Merge branch 'fix_infidelities' into 'master'
...
Fix Infidelities quest from Tribunal (#6307 )
Closes #6307
See merge request OpenMW/openmw!1248
2021-10-01 21:12:15 +00:00
Bret Curtis
8309910d9d
Restore the cell grid to its former non-exorbitant size, reducing stutter and also threw in a simple alternative fix for the actor position adjustment issue.
2021-09-30 22:58:40 +02:00
Evil Eye
2de7b8e2fb
Allow non-biped creatures using weapons to open doors
2021-09-29 21:21:52 +02:00
Evil Eye
4abcb0d7b9
Remove applied magnitude instead of min magnitude
2021-09-29 19:25:12 +02:00
Evil Eye
63a9203dde
Fix icon magnitude
2021-09-29 19:25:12 +02:00
Evil Eye
43074347e8
Prevent spell duplication
2021-09-29 19:25:11 +02:00
Evil Eye
b8e4f18751
Clear temporary effects before unloading actors to prevent absorb effects becoming permanent
2021-09-29 19:25:11 +02:00
Evil Eye
161e042e2a
Prevent iterator invalidation when cleaning up summons
2021-09-29 19:25:11 +02:00
Evil Eye
dc1fe62dde
Overhaul magic effects to work with onApply and onEnd events
2021-09-29 19:25:10 +02:00
Andrei Kortunov
fc2076db1a
Fix MSVC warnings about local variables redeclaration ( #3130 )
2021-09-29 09:36:05 +02:00
elsid
c0ef4417c3
Check AiTravel destination for other actors presence
...
Use faster aabbTest but without destance filter. To avoid dependency on a
specific constant and correctly handle situations when there is a big
difference between actors sizes.
2021-09-29 01:05:23 +02:00
elsid
9950132a5f
Allow travelling actors find path over pathgrid navmesh area type
...
In addition to other navmesh areas. This makes actors behaviour closer to
vanilla when pathgrid is correct.
2021-09-29 01:05:23 +02:00
elsid
163968f578
Normalize area cost factor
...
Recastnavigation uses path cost and heuristic based on distance to find
shortest path by A* algorithm. Using raw speed values makes cost much lower
value than heuristic (1000 times less at maximum). Heuristic is defined as
distance from node to target * 0.999 that means area cost should never be less
than 0.999 or 1 for simplicity.
Use max speed to make lowest possible cost factor equal to 1.
2021-09-29 01:03:24 +02:00
elsid
d36595e09e
Make sure PathFinder::getClosestPoint is not called with failing precondition
...
Pathgrid should be not nullptr and points should be not empty.
2021-09-23 01:48:54 +02:00
Petr Mikheev
5893b88409
Ignore time to destination when giving way ( #6296 )
2021-09-22 01:46:04 +02:00
psi29a
4bf22f3ca0
Merge branch 'fix_pathgrid_path' into 'master'
...
Use pathgrid path when destination is closer to different graph component node
See merge request OpenMW/openmw!1155
2021-09-08 09:55:42 +00:00
Evil Eye
b4486992f0
Allow Rieklings and Goblins to attack again
2021-08-28 10:45:00 +02:00
psi29a
e8057d9fd1
Merge branch 'aipursue_path' into 'master'
...
Make AiPursue path destination to be as close as possible to target (#6211 )
Closes #6211
See merge request OpenMW/openmw!1154
2021-08-26 07:55:12 +00:00
Alexei Dobrohotov
0922d0b105
Clean up text key extraction
2021-08-22 05:56:30 +03:00
Alexei Dobrohotov
31e70f2ecc
Merge branch 'minor_factorisation' into 'master'
...
Minor factorisation in apps/openmw/mwmechanics/actors.cpp
See merge request OpenMW/openmw!1143
2021-08-21 06:22:17 +00:00
elsid
fea4fb6e69
Make AiPursue path destination to be as close as possible to target
...
Even when target is not reachable actor will try to run there either because
target navmesh polygon is selected within extended area or because partial path
is built to the closest possible polygon.
2021-08-18 23:44:36 +02:00
elsid
9112c65afc
Use pathgrid path when destination is closer to different graph component node
...
Partially revert d863267d5cb5f4062937f86c37af3b0c8f9479cf to restore 0.46
behaviour for pathgrid based pathfinding.
2021-08-18 19:52:10 +02:00
cc9cii
47a841d3b7
Fix/workaround for Issue #3246
...
OpenMW save file assumes the presence of NPC/Creature data but the vanilla save file provides only the delta changes in most situations. The base data are not available without loading all the relevant dependency content files. Duplicating that code in the ESSImporter is not desirable.
Ideally a flag should be set but that will mean a change in the save file format. For a minor change such as this doing so seems like an overkill. So a temporary workaround is introduced where the gold carried by the NPC/Creature is used as an indicator as the lack of ACDT data.
2021-08-17 12:29:28 +10:00
jvoisin
39cd679ca9
Minor factorisation in apps/openmw/mwmechanics/actors.cpp
2021-08-16 13:13:44 +02:00
jvoisin
0792bb212a
Use an emplace instead of an insert
2021-08-15 18:57:33 +02:00
psi29a
8c81191d09
Merge branch 'schneller' into 'master'
...
Optimize actors physics simulation
See merge request OpenMW/openmw!1048
2021-08-08 12:27:53 +00:00
fredzio
5fc3b80406
Don't query actor halfextent in a tight loop, use the already existing
...
variable. These repeated calls become costly with > 150 actors.
2021-08-07 13:38:24 +02:00
Evil Eye
29921bf9fa
Don't stack cast packages
2021-08-07 10:06:56 +02:00
Petr Mikheev
0f7f5ce140
Remove Lua command "self:setDirectControl"
2021-08-03 14:36:51 +03:00
Evil Eye
5cdf1e7e6b
Merge branch 'vec3_vs_xyz' into 'master'
...
Use Vec3f instead of x,y,z in World API
See merge request OpenMW/openmw!730
2021-07-31 10:36:11 +00:00
fredzio
a7b190ad29
Change rotateObject() to take a osg::Vec3f argument instead of 3 floats
...
for readability.
2021-07-30 23:24:53 +02:00
fredzio
88a5ca440b
Change moveObject() to take a osg::Vec3f argument instead of 3 floats
...
for readability.
2021-07-30 23:24:49 +02:00
Evil Eye
779795734f
Remove calm/rally/demoralize and turn undead from the wrong targets
2021-07-29 18:23:45 +02:00
Evil Eye
88d207b0cd
Merge branch 'land' into 'master'
...
Correct creature landing sound type (bug #6118 )
Closes #6118
See merge request OpenMW/openmw!1054
2021-07-28 16:18:44 +00:00
Evil Eye
977f717f8b
Prevent a missing weapon animation from partially freezing actors
2021-07-27 16:33:07 +02:00
Alexei Dobrohotov
536dc6a0c6
Correct creature landing sound type (bug #6118 )
2021-07-27 07:39:21 +03:00
psi29a
cd9fb2adad
Merge branch 'dial_me_maybe' into 'master'
...
Change disposition to work like vanilla
Closes #5100 and #5842
See merge request OpenMW/openmw!599
2021-07-12 14:22:26 +00:00
Petr Mikheev
702eb19271
Fixes and refactoring
2021-07-09 20:48:54 +02:00
Petr Mikheev
a8f76260bc
A possibility to view actor controls from lua scripts without disabling AI.
2021-07-09 20:48:54 +02:00
Petr Mikheev
914e604e06
Interactions between LuaManager and other parts of OpenMW
2021-07-09 20:24:56 +02:00