1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-06 00:55:50 +00:00
Commit Graph

17916 Commits

Author SHA1 Message Date
Bo Svensson
d6613d3677
mostly reverts MWLua changes (#3170)
We just can no longer use the former ptr.getTypeName() as a fallback, but I do not suppose it matters. This value was an implementation defined string that usually contained a garbled mess.
Probably we should additionally refactor Lua types completely now that we have Ptr::getType(). I will leave this up to MWLua developers.
2021-10-11 16:56:26 +02:00
Bo Svensson
5cf9995a31
fixes windows build 2021-10-11 13:28:37 +00:00
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
Bo Svensson
98f8295765
allows to skip ComputeLightSpaceBounds traversal (#3152)
Currently, we always traverse the scene graph an additional time with a ComputeLightSpaceBounds visitor during shadow casting. ComputeLightSpaceBounds is only useful when the shadow casting mask allows us to shrink the bounds of the rendered scene, so we guard its traversal with a check against getCastsShadowTraversalMask. In practice, this guard never works because we build the traversal mask inclusively.

With this PR we limit the getCastsShadowTraversalMask check to relevant masks. This new check allows us to skip a superfluous ComputeLightSpaceBounds traversal with most settings.
2021-10-11 11:27:50 +02:00
psi29a
66a6b80df9 Merge branch 'thrust_into_the_light' into 'master'
Detect keys and enchanted items in containers without custom data

Closes #6326

See merge request OpenMW/openmw!1265
2021-10-11 09:13:31 +00:00
psi29a
f9124ccea6 Merge branch 'recast_mesh_slope' into 'master'
Use different colors for walkable and non-walkable recast mesh triangles

See merge request OpenMW/openmw!1277
2021-10-11 08:56:04 +00: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
psi29a
21c4504d35 Merge branch 'max_slope' into 'master'
Change max walkable slope angle to 46 degrees

See merge request OpenMW/openmw!1280
2021-10-11 08:22:35 +00:00
Bo Svensson
cbcdd705ee
minor objectpaging.cpp scene graph optimisations (#3155)
We now use PositionAttitudeTransform for unmerged nodes because I have been informed PositionAttitudeTransform's scene graph performance is measurably faster than MatrixTransform's. We still need to use MatrixTransform for merged nodes because the Optimizer has limited support for non-MatrixTransform nodes. These MatrixTransforms will be removed in the merging process anyway.
2021-10-11 10:09:01 +02:00
elsid
ff9aabafd1
Change max walkable slope angle to 46 degrees
This is the value used by vanilla Morrowind engine. At this angle player
character starts sliding down the slope.

This fixes navigation and movement issue in Mournhold, Godsreach.
2021-10-10 18:25:05 +02:00
Bo Svensson
af759683b8
enables std::move in keywordsearch.hpp (#3163)
For some reason we have commented std::move keywords in keywordsearch.hpp while they are quite beneficial. openmw_test_suite for keywordsearch.hpp takes 30% less time with these changes.
2021-10-10 18:15:40 +02:00
elsid
0c8a811ad5
Render only cached recast mesh
To avoid waiting while recast mesh is generating.

Remove redundant continue.
2021-10-10 13:13:57 +02: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
Evil Eye
f6eeee3ad5 Detect keys and enchanted items in containers without custom data 2021-10-08 16:51:30 +02:00
psi29a
7af245d205 Merge branch 'sync_sync_with_async' into 'master'
Merge logic of sync and async physics simulation

See merge request OpenMW/openmw!1250
2021-10-08 09:35:32 +00:00
psi29a
ae31138686 Merge branch 'options_tests' into 'master'
Add tests for openmw options

See merge request OpenMW/openmw!1253
2021-10-08 08:02:40 +00: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
psi29a
1332e57195 Merge branch 'outside_means_outside' into 'master'
Make StayOutside only block teleportation from exteriors to interiors

Closes #6323

See merge request OpenMW/openmw!1268
2021-10-08 06:46:42 +00:00
psi29a
fc7e13d76a Merge branch 'omwaddon_dep' into 'master'
Allow creating omwaddons without a dependency on an omwgame

See merge request OpenMW/openmw!1243
2021-10-08 06:40:43 +00:00
Evil Eye
caafd0c667 Remove CE enchantments before saving stats when turning into a werewolf 2021-10-07 21:09:43 +02:00
psi29a
1f62fd3b56 Merge branch 'Fix_Keyword_Report_to_caius' into 'master'
Fix keyword search when the keyword is preceded by a non whitespace non alpha character

Closes #6308

See merge request OpenMW/openmw!1266
2021-10-07 13:26:40 +00:00
florent teppe
e5abadc234 Fix keyword search when the keyword is preceded by a non whitespace non alpha character 2021-10-07 13:26:40 +00:00
psi29a
555224a0fb Merge branch 'fixes' into 'master'
Make compilers happy and fix the changelog

See merge request OpenMW/openmw!1260
2021-10-07 10:17:27 +00:00
Evil Eye
dfc72e9b7e Make StayOutside only block teleportation from exteriors to interiors 2021-10-06 18:25:28 +02:00
Evil Eye
7540265432 Fix regression #6328 2021-10-06 17:14:00 +02:00
Bo Svensson
787f91211d resets state updater to apply light settings (#3141)
resets state updater to apply light settings

With this PR we achieve the same effect with fewer lines of code.
2021-10-06 11:21:30 +02:00
psi29a
c3f5e8f968 Merge branch 'lua_transform' into 'master'
3D transforms in Lua

See merge request OpenMW/openmw!1235
2021-10-06 09:21:21 +00:00
elsid
035307b012
Add tests for openmw options
In attempt to document current behaviour. Add commented out checks as desired
behaviour.
2021-10-05 22:51:12 +02:00
Bo Svensson
442a0e8434
avoids two transforms in sky.cpp (#3150)
As we discovered in #3148, `Transform` nodes and their low level equivalence `pushModelViewMatrix` are somewhat costly involving a `Matrix::invert` operation per frame.

With this PR we avoid one `Transform` node for sun flashes and avoid another `pushModelViewMatrix` call in case the sun is fully visible.
2021-10-05 16:00:30 +02:00
fredzio
3b174d72d8 Introduce 3 scoped mutex wrappers to allow to conditionally skip taking
mutexes in synchronous case.
2021-10-05 15:52:27 +02:00
fredzio
21dbe314bf Use common function for sync and async case. Now both cases follow the
same flow, synchronous simulation is just a special case.
2021-10-05 15:44:20 +02:00
Frederic Chardon
499b161e7b Merge handleFall() and updateMechanics() into updateActor(). It remove gratuitious differences between sync and async cases. Also, it will make the after simulation update logic easier to follow when projectiles move into the simulation thread. 2021-10-05 15:44:20 +02:00
Bret Curtis
0d1d3e67bc
Merge pull request #3149 from bosvensson1/patch-24
With this PR we fix a -Wreorder warning.
2021-10-05 15:07:02 +02:00
Bo Svensson
4b1c009ffd
use StateSet define for translucentFramebuffer (#3138)
With this PR we test out osg's shader define system for a somewhat harmless feature. As we can see, our code becomes more concise and efficient in this case. Most importantly, we no longer create unneeded vertex shader objects.
2021-10-05 14:37:08 +02:00
Bo Svensson
b2af81bc18
converts remaining osg::NodeCallback (#3147)
With this PR we convert remaining instantiations of the deprecated osg::NodeCallback in Open MW to SceneUtil::NodeCallback.
2021-10-05 14:21:12 +02:00
Bo Svensson
9f58616aa0
fixes -Wreorder warning 2021-10-05 12:02:49 +00:00
Bo Svensson
8e9851c97c
npcanimation.cpp (#3148) 2021-10-05 13:52:19 +02:00
Bo Svensson
e4a9eefc2a
uses a bitfield in refdata.hpp (#3143)
* uses a bitfield in refdata.hpp

With this simple change we pack boolean values to reduce the memory requirements of game objects.

* refdata.hpp [ci skip]

* refdata.cpp
2021-10-04 12:12:00 +02:00
Bo Svensson
aaf7b423d6
adds a replacement for osg::NodeCallback (#3144)
* nodecallback.hpp

* lightmanager.hpp

* lightmanager.cpp

* lightmanager.hpp

* nodecallback.hpp

* nodecallback.hpp

* [ci skip]

* lightmanager.hpp

* nodecallback.hpp

* nodecallback.hpp

* lightmanager.cpp

* lightmanager.cpp

* nodecallback.hpp

* [ci skip]

* [ci skip]

* controller.cpp

* [ci skip]

* osgacontroller.cpp

* keyframe.hpp

* controller.hpp

* keyframe.hpp

* [ci skip]

* keyframe.hpp

* animation.hpp

* [ci skip]

* weaponanimation.cpp

* nodecallback.hpp
2021-10-04 10:56:55 +02:00
Evil Eye
d680aa26e9 Disallow switch fallthrough 2021-10-03 21:58:10 +02:00
psi29a
0e07fc38e5 Merge branch 'opencs-ui-tweaks' into 'master'
Minor UI tweaks all around OpenMW-CS

See merge request OpenMW/openmw!1212
2021-10-03 19:13:51 +00:00
Matjaž Lamut
1c9f06f742 Minor UI tweaks all around OpenMW-CS 2021-10-03 19:13:51 +00: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
psi29a
1d342f80ed Merge branch 'cursorspeedmerge' into 'master'
Updated: Change cursor speed with settings.cfg (#6312)

Closes #6312

See merge request OpenMW/openmw!1255
2021-10-01 11:23:53 +00:00
psi29a
f6b27f610d Merge branch 'revert_and_twist' into 'master'
Revert and restore the cell grid size with alternate fix

See merge request OpenMW/openmw!1259
2021-10-01 11:21:06 +00:00
Bret Curtis
52a10a4bc0 remove one last assert 2021-10-01 12:24:29 +02:00
Bo Svensson
2568f119a4
reapplies PR without npe (#3137)
* avoids creating empty statesets on drawables

Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.

* renderingmanager.cpp

* nifloader.cpp

* nifloader.cpp

* shadervisitor.cpp
2021-10-01 10:11:00 +02:00