1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 13:29:56 +00:00
Commit graph

5666 commits

Author SHA1 Message Date
elsid
953a4c5550
Add a binary to generate navmesh from content files
Load content files based on the engine config files. Generate navmesh per cell
for all cells and store into SQLite database.
2021-12-11 00:21:56 +01:00
elsid
b5c689976e
Serialize arithmetic and enum types in little endian encoding 2021-12-10 23:55:04 +01:00
elsid
23ad1b2b9f
Move enum related serialization logic from format to visitors 2021-12-10 23:55:04 +01:00
elsid
5325495f46
Move serialization detournavigator/ -> components/ 2021-12-10 23:55:04 +01:00
elsid
01c712d5f1
Split navigator settings into subtypes
Mostly to distinguish settings that affect properties of the generated navmesh.
2021-12-10 23:55:03 +01:00
elsid
33bb18850d
Move operator<< to debug.hpp 2021-12-10 23:55:03 +01:00
elsid
5a6b39f8e0
Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
psi29a
4883cbf590 Merge branch 'detain-hash-selectively-reluctant' into 'master'
Get rid of EscapeHashX classes option 5 (attempt 2): Use boost::filesystem::path rules if the path starts with ", and consume the whole thing verbatim otherwise

Closes #5804

See merge request OpenMW/openmw!1436
2021-12-10 08:38:06 +00:00
psi29a
3baf966219 Merge branch 'msvc-only-precompile' into 'master'
Only precompile headers with MSVC

See merge request OpenMW/openmw!1467
2021-12-09 18:10:47 +00:00
AnyOldName3
8fc09f8c51 Merge remote-tracking branch 'upstream/master' into detain-hash-selectively-reluctant
Merge conflicts included:
* One setting being removed (branch had changed its type).
* One setting's description being changed (branch had changed its type).
* List of files in components/files was changed both upstream and on the
  branch.
* Upstream had changed something in a file the branch deletes.
2021-12-09 17:09:52 +00:00
AnyOldName3
221e425fe6 Only precompile headers with MSVC 2021-12-09 14:59:17 +00:00
elsid
5129ab39fc
Check extension in lower case 2021-12-09 00:06:33 +01:00
psi29a
e04e139f37 Merge branch 'navmesh_raw' into 'master'
Add to navigator unmodified water and heightfield data

See merge request OpenMW/openmw!1373
2021-12-08 13:36:17 +00:00
psi29a
59ab947f3b Merge branch 't800' into 'master'
Keep only one '\0' in NIF strings (bug #6473)

Closes #6473

See merge request OpenMW/openmw!1458
2021-12-06 14:45:57 +00:00
psi29a
6c7dc2d72f Merge branch 'assorted' into 'master'
Load NiSortAdjustNode and NiAccumulators

See merge request OpenMW/openmw!1396
2021-12-06 13:49:47 +00:00
Alexei Dobrohotov
dd15b30a27 Keep only one '\0' in NIF strings (bug #6473) 2021-12-05 15:56:58 +03:00
Petr Mikheev
c5e10dfa85 Merge branch 'refactor_sdlmappings' into 'master'
Move SDL-MyGUI input mappings to components, map both ways

See merge request OpenMW/openmw!1444
2021-12-04 12:16:38 +00:00
uramer
15c7bddd57 Move SDL-MyGUI input mappings to components, map both ways 2021-12-04 12:16:38 +00:00
Petr Mikheev
d3df3efaf1 Precompile sol.hpp in order to reduce compilation time. 2021-12-04 11:32:39 +00:00
elsid
7dcb219ecf
Add raw heightfield data to navigator 2021-12-03 01:16:15 +01:00
elsid
8571c317d8
Add raw water data to navigator 2021-12-03 01:16:15 +01:00
elsid
f4f4458d01
Calculate recast mesh bounds when building navmesh 2021-12-03 01:16:15 +01:00
elsid
e10bbb9ad7
Shift heightfield and water in navigator tests 2021-12-03 01:16:15 +01:00
uramer
e65c946452 Add a data field to Lua UI layouts 2021-12-02 21:52:29 +00:00
psi29a
7256654f29 Merge branch 'navmesh_render' into 'master'
Rework navmesh render (#6187)

See merge request OpenMW/openmw!1338
2021-12-02 10:34:41 +00:00
psi29a
a9008d224a Merge branch 'light_refactors' into 'master'
LightManager consolidation

Closes #6389

See merge request OpenMW/openmw!1400
2021-11-30 16:02:28 +00:00
psi29a
e221013692 Merge branch 'recalculate-projection-matrix-on-window-resize' into 'master'
Recalculate the Projection Matrix every time the window is resized.

See merge request OpenMW/openmw!1382
2021-11-30 16:00:31 +00:00
OnlyForF1
c5b33185b5 Recalculate the Projection Matrix every time the window is resized. 2021-11-30 16:00:30 +00:00
psi29a
cb38ec7e7f Merge branch 'fix_unity_build' into 'master'
Fix unity build (#6436)

Closes #6436

See merge request OpenMW/openmw!1417
2021-11-30 15:53:39 +00:00
psi29a
a332dec681 Merge branch 'fix_esm_loader' into 'master'
Load only supported content formats by EsmLoader

See merge request OpenMW/openmw!1427
2021-11-30 15:51:22 +00:00
psi29a
a15cc0959f Merge branch 'murmur_hash' into 'master'
Use MurmurHash3_x64_128 for Files::getHash

See merge request OpenMW/openmw!1404
2021-11-30 15:50:11 +00:00
AnyOldName3
b991263a92 Work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89062 2021-11-29 20:16:49 +00:00
Bret Curtis
246912f73a
Merge pull request #3206 from akortunov/groundcover_loading
Use a separate storage for groundcover data
2021-11-29 20:09:21 +01:00
AnyOldName3
5e9d460032 Remove redundant conversion operator 2021-11-28 20:33:17 +00:00
uramer
e9f8c34372 Correctly set UI properties to defaults when passed nil 2021-11-28 11:31:34 +00:00
psi29a
d2f447065c Merge branch 'prepare_for_glibc_2_34' into 'master'
Prepare for glibc 2.34

See merge request OpenMW/openmw!1239
2021-11-23 20:20:48 +00:00
elsid
da0c5b54f0
Load only supported content formats by EsmLoader 2021-11-22 20:58:48 +01:00
AnyOldName3
84d6de3eba Parse paths with boost rules when it's quoted, but use the string verbatim when it's not 2021-11-21 19:51:02 +00:00
elsid
cffcb6a897
Share state set between all navmesh tiles
Do not change GL_DEPTH because it's always disabled anyway.
2021-11-21 18:01:26 +01:00
elsid
d1a1b8c01c
Use polygon offset to render navmesh and recast mesh 2021-11-21 17:59:25 +01:00
elsid
0511a81baa
Use different alpha color for navmesh tiles with non zero user id 2021-11-21 17:43:32 +01:00
elsid
3c41d0efc3
Render each navmesh tile independently 2021-11-21 17:42:27 +01:00
elsid
66390bd8a4
Use line width 1 as the only guaranteed to be supported value by glLineWidth 2021-11-21 17:40:55 +01:00
elsid
6b7363bd59
Replace generation and revision by version 2021-11-21 17:40:54 +01:00
elsid
a665a38aca
Use MurmurHash3_x64_128 for file hash 2021-11-21 17:05:59 +01:00
elsid
ce7f8c90f8
Fix unity build 2021-11-21 14:24:18 +01:00
Petr Mikheev
f9136d4392 Support multiple arguments in Lua callbacks. 2021-11-21 13:12:35 +01:00
psi29a
53e14eb238 Merge branch 'reset' into 'master'
AI reset argument

Closes #6177 and #1465

See merge request OpenMW/openmw!1405
2021-11-21 09:39:55 +00:00
glassmancody.info
9389cfaa42 mac os driver workaround and shadervisitor fixes 2021-11-20 18:39:20 -08:00
Cody Glassman
d85f772269 Depth refactor 2021-11-21 02:25:05 +00:00
AnyOldName3
a9d7598532 Merge branch 'camera2' into 'master'
Dehardcode camera

See merge request OpenMW/openmw!1030
2021-11-20 18:17:12 +00:00
psi29a
adc3bab51e Merge branch 'Embedded-error-marker' into 'master'
Embed marker error

See merge request OpenMW/openmw!1383
2021-11-20 18:07:13 +00:00
Cédric Mocquillon
eb75e394b3 Use Files::MemBuf for Bsa::MemoryInputStream base classe instead of making a duplicate (MemoryInputStreamBuf) 2021-11-20 11:12:08 +01:00
Cédric Mocquillon
40656b3135 Embed error marker in osgt format inside a string defined in misc/errorMarker.hpp.
Use the embed error marker we fail to load a mesh.
2021-11-20 11:12:08 +01:00
Evil Eye
3c57ffd81f Save repeat and duration 2021-11-20 11:03:07 +01:00
Evil Eye
231da19aa4 Load repeat flag and use reset argument 2021-11-20 11:02:58 +01:00
Petr Mikheev
ded8997362 Avoid problems if builtin.omwscripts is above Morrowind.esm in content list. 2021-11-19 20:37:21 +01:00
Petr Mikheev
d5ca091d6e Make util.rotateX, util.rotateY, rotate.Z consistent with morrowind rotation 2021-11-19 20:37:21 +01:00
uramer
eceed558be Fix coverity uninitialized variables 2021-11-19 18:05:43 +01:00
glassmancody.info
750514cda2 simply lightmanager and fix racey behavior 2021-11-18 19:40:13 -08:00
uramer
68963538ae Lua UI API 2021-11-18 15:19:54 +00:00
Brian Kelley
ee41b94a73 Enable compilation on apple silicon 2021-11-15 19:01:52 +00:00
Petr Mikheev
c7d6620c35 Add error checking in MWLua::Action 2021-11-15 01:17:53 +01:00
psi29a
5c5c71778a Merge branch 'circular' into 'master'
Consistently sort content files

See merge request OpenMW/openmw!1350
2021-11-14 20:24:18 +00:00
psi29a
d4e8a58351 Merge branch 'headsup' into 'master'
Force assign head animation timer (bug #4389)

Closes #4389

See merge request OpenMW/openmw!1361
2021-11-14 19:59:31 +00:00
psi29a
bd694128b9 Merge branch 'lua_input' into 'master'
Update Lua package openmw.input

See merge request OpenMW/openmw!1356
2021-11-14 19:57:37 +00:00
Andrei Kortunov
3275440f0d Use a separate storage for groundcover data 2021-11-14 19:11:42 +04:00
Evil Eye
c5ba733855 Unbreak the unit test in gcc and clang 2021-11-14 11:26:18 +01:00
Evil Eye
6daefe3ddc Cast to the unsigned char expected by cctype functions 2021-11-14 11:26:18 +01:00
Evil Eye
f23bd51175 Don't check bounds when the type is unambiguously a char 2021-11-14 11:26:18 +01:00
Evil Eye
c6470f33d3 Use string_view 2021-11-14 11:26:16 +01:00
Evil Eye
751e8cf76b Do a bounds check before calling functions defined in cctype 2021-11-14 11:26:15 +01:00
Evil Eye
8f48a1f030 Handle non-ASCII characters while saving without triggering an assertion 2021-11-14 11:26:06 +01:00
AnyOldName3
8fb0b5846e Allow paths with trailing data, emmitting a warning 2021-11-14 00:22:44 +00:00
Bo Svensson
a62b22cd31
isolates groundcover content files (#3208)
Specifications developed in PR #3206 require that groundcover content files must not be allowed to corrupt normal content files. With this PR we simply isolate our existing loading logic by instantiating a separate `ESMStore` for `Groundcover`. In addition, we remove some outdated workarounds.
2021-11-13 23:37:53 +01:00
Alexei Dobrohotov
63ea57e9cf Load NiSortAdjustNode and NiAccumulators 2021-11-14 00:31:49 +03:00
psi29a
d0263b6dda Merge branch 'fix_hash_combine' into 'master'
Support seed type different from std::size_t for hashCombine

See merge request OpenMW/openmw!1391
2021-11-13 21:12:13 +00:00
Alexei Dobrohotov
50b90a594d Loading and basic handling of BSLightingShaderProperty 2021-11-13 22:52:45 +03:00
psi29a
03e88b8e27 Merge branch 'lordofthenifs' into 'master'
Load a bunch of Bethesda Havok NIF records

See merge request OpenMW/openmw!1392
2021-11-13 18:51:54 +00:00
psi29a
ba0aae06ca Merge branch 'morphyslaw' into 'master'
Morph geometry more like NifSkope (bug #6416)

Closes #6416

See merge request OpenMW/openmw!1389
2021-11-13 18:42:17 +00:00
Alexei Kotov
49544cf7de Merge branch 'no_one_likes_commas' into 'master'
Treat commas in scripts as whitespace

Closes #6380

See merge request OpenMW/openmw!1388
2021-11-13 17:19:22 +00:00
Alexei Dobrohotov
d347f8f4f0 Fix build 2021-11-13 20:11:18 +03:00
Alexei Dobrohotov
25f4d05c2e Load bhkRigidBody 2021-11-13 19:59:30 +03:00
Alexei Dobrohotov
c01fff280a Load bhkConvexVerticesShape, bhkBoxShape, bhkListShape 2021-11-13 19:53:03 +03:00
Alexei Dobrohotov
83aa96e38f Load a bunch of triangle strip-based Havok records 2021-11-13 19:52:08 +03:00
Alexei Dobrohotov
e7cc76bba2 Load bhkMoppBvTreeShape 2021-11-13 19:27:32 +03:00
Alexei Dobrohotov
59ce00f742 Refactor all present Bethesda Havok 'support' 2021-11-13 19:14:28 +03:00
elsid
08a25c2b1f
Support seed type different from std::size_t for hashCombine 2021-11-13 16:14:50 +01:00
psi29a
41bd20e358 Merge branch 'bullet_shape_hash' into 'master'
Store BulletShape source file name and content hash

See merge request OpenMW/openmw!1379
2021-11-13 13:33:22 +00:00
Evil Eye
bee94e2afc Treat commas in scripts as whitespace 2021-11-13 14:06:21 +01:00
Alexei Dobrohotov
c7edca559b Morph geometry more like NifSkope (bug #6416) 2021-11-13 15:58:59 +03:00
Evil Eye
5f406158b5 Zero initialize context index 2021-11-13 12:46:10 +01:00
psi29a
39f70c2d18 Merge branch 'correct-sound' into 'master'
Add correct sound path in resource helpers

See merge request OpenMW/openmw!1381
2021-11-12 22:23:32 +00:00
Petr Mikheev
ed85393288 Replace sol::table::create_table_with with a more compiler-friendly implementation. It fixes MSVC error "compiler is out of heap space" and also slightly reduces binary size. 2021-11-11 22:46:01 +01:00
elsid
d7041613ef
Store BulletShape source file name and content hash 2021-11-11 00:27:18 +01:00
Cédric Mocquillon
512d64e514 Extract correctSoundPath method to avoid code duplication. Add unit test for the new method 2021-11-10 23:06:35 +01:00
Alexei Dobrohotov
cc4c96d0f1 Follow global naming convention for new records 2021-11-10 22:50:01 +03:00
Alexei Dobrohotov
6e5b45453d some physics stuff idk 2021-11-10 20:33:46 +03:00
Alexei Dobrohotov
6de9b49d3d Remove an empty line 2021-11-10 19:59:13 +03:00
Alexei Dobrohotov
9880c43c86 Add specular strength shader parameter 2021-11-10 19:58:06 +03:00
Alexei Dobrohotov
923756b407 Load NiControllerManager 2021-11-10 19:42:55 +03:00
Alexei Dobrohotov
41097352a8 Load BSDismemberSkinInstance 2021-11-10 19:40:02 +03:00
Alexei Dobrohotov
5571099147 Load NiCollisionObject and bhkCollisionObject 2021-11-10 19:31:28 +03:00
Alexei Dobrohotov
9500afaa5a Load BSFurnitureMarker 2021-11-10 19:21:07 +03:00
psi29a
b72d59b012 Merge branch 'fix_shadows_bin_crash' into 'master'
Fix crash on exit with enabled shadows (#6256)

Closes #6256

See merge request OpenMW/openmw!1191
2021-11-09 15:58:03 +00:00
Evil Eye
099cd8a20c Force alphabetical order per data dir 2021-11-09 16:47:42 +01:00
psi29a
5836d0225f Merge branch 'leave_butter_to_soften' into 'master'
Soft Particles (#6128)

See merge request OpenMW/openmw!980
2021-11-09 14:16:47 +00:00
elsid
3b6184dcda
Add missing include
In file included from /<<BUILDDIR>>/openmw-0.47.0+git202111080927~ubuntu18.04.1/components/detournavigator/findsmoothpath.cpp:1:0:
/<<BUILDDIR>>/openmw-0.47.0+git202111080927~ubuntu18.04.1/components/detournavigator/findsmoothpath.hpp:93:48: error: field ‘mSettings’ has incomplete type ‘std::reference_wrapper<const DetourNavigator::Settings>’
         std::reference_wrapper<const Settings> mSettings;
                                                ^~~~~~~~~
In file included from /usr/include/c++/7/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/nested_exception.h:40,
                 from /usr/include/c++/7/exception:143,
                 from /usr/include/c++/7/ios:39,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /<<BUILDDIR>>/openmw-0.47.0+git202111080927~ubuntu18.04.1/components/detournavigator/dtstatus.hpp:6,
                 from /<<BUILDDIR>>/openmw-0.47.0+git202111080927~ubuntu18.04.1/components/detournavigator/findsmoothpath.hpp:4,
                 from /<<BUILDDIR>>/openmw-0.47.0+git202111080927~ubuntu18.04.1/components/detournavigator/findsmoothpath.cpp:1:
/usr/include/c++/7/type_traits:2125:11: note: declaration of ‘class std::reference_wrapper<const DetourNavigator::Settings>’
     class reference_wrapper;
2021-11-09 12:32:53 +01:00
elsid
5972520b1a
Make sure areas size is 2 for rectangle 2021-11-08 18:49:17 +01:00
elsid
671e1e5424
Avoid copy when adding heightfield to vector 2021-11-08 18:49:16 +01:00
elsid
5f5163905a
Remove unused operator< for RecastMesh 2021-11-08 18:49:16 +01:00
Bo Svensson
5f1bf89369
improves groundcover view distance (#3219)
This PR aims to solve all issues with `Groundcover` view distance handling in a satisfying way while preserving other optimisations that benefit other features. The main idea here is not to rely on `ViewData` updates for distance culling calculations because we can not accurately determine distance against lazily updated views. Instead, we perform an accurate measurement in a cull callback we can run every frame in `Groundcover` itself. While we do have to add some code to handle this feature, it is quite loosely coupled code that could be useful elsewhere in the future. These changes should address a performance regression @akortunov experienced.
2021-11-08 10:27:42 +01:00
psi29a
b6718ecb10 Merge branch 'log_lock' into 'master'
Acquire log lock only when logger should log

See merge request OpenMW/openmw!1363
2021-11-08 07:41:27 +00:00
psi29a
9f26dfadd1 Merge branch 'cleanup_includes' into 'master'
Cleanup some includes

See merge request OpenMW/openmw!1369
2021-11-08 07:32:40 +00:00
elsid
a824e112d4
Fix recastmesh.cpp includes
recastmesh.cpp is supposed to include recastmesh.hpp not navmesh.hpp.
2021-11-08 02:21:17 +01:00
elsid
e0c4f08aa5
Remove redundant includes 2021-11-08 02:21:02 +01:00
elsid
727f784a98
Acquire log lock only when logger should log
To minimize overhead for calls when level is less than current. For example
Log(Debug::Debug) should not lock mutex when current logging level is Verbose.
2021-11-07 19:57:20 +01:00
Bo Svensson
2e031f195b
fixes LightBufferBinding messages (#3223)
This PR aims to solve `uniform block LightBufferBinding has no binding` messages @glassmancody has reportedly encountered since PR #3110 due to an apparent bug in OSG. While we do have to add a workaround here that adds a bit of clunkiness, #3216 should allow us to clean up these interactions a bit in the future.
2021-11-07 18:26:02 +01:00
Evil Eye
3f48d67d8e Merge branch 'blackscreen_fix' into 'master'
Blackscreen fix (#6229)

See merge request OpenMW/openmw!1359
2021-11-07 14:31:19 +00:00
Evil Eye
a3e039d862 Explicitely sort by file name after adding all data dirs 2021-11-07 14:15:30 +01:00
psi29a
256ec4c752 Merge branch 'fix_tile_bounds' into 'master'
Fix tile bounds scaling

See merge request OpenMW/openmw!1353
2021-11-07 12:34:55 +00:00
Alexei Dobrohotov
e125308dd8 Force assign head animation timer (bug #4389) 2021-11-07 14:10:51 +03:00
Bo Svensson
726653087e
restores _mergeAlphaBlending behaviour (#3222)
This PR restores a minor peculiarity of `_mergeAlphaBlending` behaviour unintentionally changed by PR #3162.
2021-11-07 10:36:22 +01:00
psi29a
627f816348 Merge branch 'navigator_impl' into 'master'
Reduce the size of included code from detournavigator/ into the engine

See merge request OpenMW/openmw!1355
2021-11-07 07:57:22 +00:00
Evil Eye
5fbfbb3d84 Merge branch 'clamp' into 'master'
Make better use of std::clamp

See merge request OpenMW/openmw!1357
2021-11-06 12:07:24 +00:00
cody glassman
04692e6012 blackscreen fix 2021-11-06 04:38:43 -07:00
Alexei Dobrohotov
7a0c13fcf8 Make better use of std::clamp 2021-11-06 08:47:32 +03:00
elsid
9f808fbe3a
Move findPath-like navigator functions into a separate header 2021-11-06 00:34:06 +01:00
elsid
5e99454cc4
Add factory functions to create navigator implementations 2021-11-06 00:14:41 +01:00
elsid
3f80725ebe
Remove duplicated implementation of Misc::Convert::toOsg 2021-11-05 22:57:08 +01:00
elsid
5db4898bec
Fix tile bounds scaling
OscillatingRecastMeshObject::update should be called with tile bounds in real
coordinates not in navmesh. But proper scaling was done only in
RecastMeshManager::getMesh and RecastMeshManager::updateObject used tile bounds
in navmesh coordinates.

Add a new function to create tile bounds with proper scaling and pass correct
value into RecastMeshManager constructor through CachedRecastMeshManager
constuctor from TileCachedRecastMeshManager member functions.
2021-11-05 22:48:45 +01:00
Bo Svensson
1960e976e2
refactors stringops.hpp (#3192)
With this PR we refactor `StringUtils::replaceAll` to accept `string_view` as suggested in a code comment. In addition, while we are touching this rebuild happy file, we slim it down a bit by moving a few sparingly used functions elsewhere.
2021-11-05 10:53:52 +01:00
Bo Svensson
5debd6e25a
removes two dummy serialisers (#3212)
This PR removes dummy serialisers for `StateSetUpdater`, `NodeCallback` and the respective `META` macros that trigger serialisation requirement here.

`StateSetUpdater` and `NodeCallback` are just base classes that can not be used on their own, so there is no need to incorporate them into serialisation. These changes might have minor effects on derived classes that forget to override `className()`, `libraryName()` through `META`, but it makes hardly a difference to now serialise such classes as a dysfunctional `osg::Callback` instead of a dysfunctional `SceneUtil::NodeCallback`.
2021-11-04 22:31:22 +01:00
Bo Svensson
0371072631
removes lowerCaseInPlace (#3217)
This PR removes unneeded `lowerCaseInPlace` calls in in a hot path of `objectpaging.cpp` that are no longer necessary after PR #3197. In addition, I have been informed that these changes should by coincidence address a compiler specific compilation error we currently experience.
2021-11-04 22:20:06 +01:00
Evil Eye
ad44142dda Modify the content file sorting algorithm to finish in finite time when encountering circular dependencies 2021-11-04 20:41:26 +01:00
Bo Svensson
6cf74f7041
refactors ESM::Land (#3213)
With this PR we reduce coupling, simplify code, encapsulate a variable and separate actual `ESM` data from its context.
2021-11-04 16:55:32 +01:00
Bo Svensson
1979ee1491
refactors hashed std::map (#3199)
We currently apply a strange algorithm to `LightManager::mStateSetCache`. For some reason this algorithm inserts hashed keys into `std::map` in a way that fails to handle hash collisions and exhibits worse lookup complexity than `std::unordered_map`. With this PR we just use `std::unordered_map` here.
2021-11-04 16:54:47 +01:00
Bo Svensson
4657c655b1 refactors parentFileIndices (#3211)
This PR aims to start addressing `ESM` design issues that have silenced errors we incorporated into groundcover `ESM` loading approaches.

- We move the resolution of `parentFileIndices` from `ESMStore` to `ESMReader` as suggested in a `TODO` comment.
- We improve a highly misleading comment which downplayed the significance of `parentFileIndices`.
- We document important preconditions.
- We move a user facing error message to the highest level and improve its context.
- We remove an inappropriate `setGlobalReaderList` method. We now pass this reader list into the method that requires it.
- We remove a thoroughly pointless optimisation of `Store<ESM::LandTexture>`'s construction that has unnecessarily depended on `getGlobalReaderList`.

There should be no functional changes for `master`, but this PR should remove an issue blocking PR #3208.
2021-11-03 11:07:28 +01:00
elsid
2b057f5c15
Expect nif node children to have parent 2021-11-02 22:44:33 +01:00
elsid
19843af704
Combine data check with data handling logic 2021-11-02 22:44:33 +01:00
elsid
4e8e8304aa
Avoid mesh allocation when data is invalid 2021-11-02 22:44:33 +01:00
elsid
4ac83f4c39
Add separate function to handle NiGeometry node
To force use a single source of data. All fields of Nif::Node are available in NiGeometry.
2021-11-02 22:44:32 +01:00
elsid
56eef691a8
Use reference type to pass nif node as argument where nullptr is not handled 2021-11-02 22:44:32 +01:00
elsid
4631d95739
Add more tests for BulletNifLoader 2021-11-02 22:44:32 +01:00
psi29a
523289c531 Merge branch 'refactor_bullet_shape' into 'master'
Refactor bullet shape

See merge request OpenMW/openmw!1333
2021-11-02 20:30:22 +00:00
psi29a
4ff4afd50b Merge branch 'lua_callback' into 'master'
Refactoring. Lua `Callback` is moved from apps/openmw/mwlua to components/lua.

See merge request OpenMW/openmw!1334
2021-11-02 20:28:34 +00:00
psi29a
cb3ab21c13 Merge branch 'recast_mesh_object' into 'master'
Store holder only in parent RecastMeshObject

See merge request OpenMW/openmw!1332
2021-11-02 20:27:49 +00:00
Evil Eye
a9106f4d7c Rotate torches by 90 degrees 2021-11-02 18:01:22 +01:00
glassmancody.info
4461366761 settings update and launcher option 2021-11-01 09:26:50 -07:00
Petr Mikheev
e7ec89573e Refactoring. Lua Callback is moved from apps/openmw/mwlua to components/lua. 2021-10-31 17:47:46 +01:00