1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-19 22:53:53 +00:00
Commit graph

5775 commits

Author SHA1 Message Date
Petr Mikheev
9d0e427ec1 Merge branch 'dispose_lua_ui_correctly' into 'master'
Dispose Lua UI elements correctly

See merge request OpenMW/openmw!1561
2022-01-18 08:12:56 +00:00
uramer
cc528d2e08 Dispose Lua UI elements correctly 2022-01-18 08:12:56 +00:00
uramer
d1d8f058ac Lua bindings for Colours 2022-01-17 22:35:06 +00:00
uramer
c07fb75bf7 Merge branch 'lua_settings' into 'master'
Permanent storage for Lua

See merge request OpenMW/openmw!1489
2022-01-15 21:52:09 +00:00
Petr Mikheev
97d56e198f Use double precision for vectors serialization in Lua 2022-01-15 11:25:30 +01:00
ζeh Matt
ba30b37bb4
Add missing include to unordered_map 2022-01-13 22:46:00 +02:00
Petr Mikheev
a182fdeea1 Permanent storage for Lua data 2022-01-11 11:21:03 +01:00
Petr Mikheev
2d1b100239 Change terminology of gameSecond/gameHour to simulationTime/gameTime 2022-01-10 21:03:35 +01:00
Josquin Frei
d9672f7d46 Add serialization for TransformM and TransformQ 2022-01-10 12:42:03 +00:00
Alexei Dobrohotov
b5a7ad6d62 Fix multilayer parallax parameter reading 2022-01-08 01:58:52 +03:00
psi29a
d8d7a3b372 Merge branch 'softparticles_patch' into 'master'
Shadervisitor adjustments and Mac OS fix for soft particles

See merge request OpenMW/openmw!1380
2022-01-06 13:13:52 +00:00
psi29a
1d4de71d35 Merge branch 'fix2' into 'master'
Fixes in components/lua

Closes #6535

See merge request OpenMW/openmw!1538
2022-01-06 08:49:17 +00:00
psi29a
555e0b1f53 Merge branch 'brainfreeze' into 'master'
Attempt to catch freezes on Windows

See merge request OpenMW/openmw!1493
2022-01-06 08:47:23 +00:00
Petr Mikheev
6a19a66ae5 Fix #6535 2022-01-05 20:08:03 +01:00
Petr Mikheev
5eca122f04 Avoid creating multiple i18n contexts with the same name. 2022-01-05 19:50:52 +01:00
psi29a
bafde5c9c4 Merge branch 'cleanup' into 'master'
Remove constant conditions

See merge request OpenMW/openmw!1527
2022-01-05 10:48:13 +00:00
psi29a
8355153047 Merge branch 'const_looop' into 'master'
Fix "warning: loop variable is copied but only used as const reference;...

See merge request OpenMW/openmw!1530
2022-01-05 10:44:44 +00:00
jvoisin
1a6be08149 Fix "warning: loop variable is copied but only used as const reference;... 2022-01-05 10:44:44 +00:00
psi29a
24b9c91ef8 Merge branch 'fix_copy_init' into 'master'
Fix unnecessary-copy-initialization

See merge request OpenMW/openmw!1531
2022-01-05 09:05:57 +00:00
glassmancody.info
2c52695361 fix regression where LEQUAL was used instead of LESS for depth function 2022-01-04 12:23:37 -08:00
jvoisin
421e6629ad Fix unnecessary-copy-initialization
> warning: the variable 'key' is copy-constructed from a const reference but is
only used as const reference; consider making it a const reference
[performance-unnecessary-copy-initialization]

Found by clang-tidy.
2022-01-04 20:42:09 +01:00
Evil Eye
5a7a3a0d2d Silence a signed/unsigned mismatch warning 2022-01-04 17:11:55 +01:00
Evil Eye
bdfad27e05 Remove constant conditions 2022-01-04 16:50:04 +01:00
psi29a
0766e1310b Merge branch 'lunacy' into 'master'
Don't touch base stats when turning into a werewolf

Closes #6333

See merge request OpenMW/openmw!1511
2022-01-04 10:27:48 +00:00
Petr Mikheev
0f246e7365 Use a separate instance of Lua i18n for every context 2022-01-02 09:58:51 +01:00
AnyOldName3
14a330609f ShaderVisitor improvements
* Adds comments explaining the less-than-obvious aspects.
* Adds comments explaining what to do when adding new stuff.
* Some fixes caused by those comments not historically existing.
* Add a TODO comment to something which may catch fire in the future.
2021-12-29 13:45:42 -08:00
Evil Eye
6f870a464b Replace magic numbers with enums 2021-12-29 12:34:12 +00:00
Evil Eye
debdcf2953 Don't touch base stats when turning into a werewolf 2021-12-27 00:47:33 +01:00
Evil Eye
93e355801d Merge branch 'fix' into 'master'
Fix compilation error on windows: cannot convert from 'std::filesystem::path'...

See merge request OpenMW/openmw!1510
2021-12-26 18:04:21 +00:00
Petr Mikheev
7fe5351f55 Fix compilation error on windows: cannot convert from 'std::filesystem::path'... 2021-12-26 18:04:20 +00:00
Evil Eye
ea5bd822c2 Merge branch 'rehashrehashing' into 'master'
Rehash morph loading rehashing

See merge request OpenMW/openmw!1509
2021-12-26 17:09:44 +00:00
Evil Eye
ac747f02f3 Don't teleport NPCs to unknown cells 2021-12-26 15:27:25 +00:00
Alexei Dobrohotov
9b2978f143 Rehash morph loading rehashing 2021-12-26 17:56:19 +03:00
psi29a
4e3e2598a2 Merge branch 'fix_6502' into 'master'
Fix #6502

Closes #6502

See merge request OpenMW/openmw!1491
2021-12-26 12:40:38 +00:00
AnyOldName3
fa05b0b96c Include <atomic>
Should fix compilation on CI
2021-12-26 02:10:37 +00:00
AnyOldName3
0e29a760d8 Tidy up includes 2021-12-26 02:09:14 +00:00
psi29a
04346b43b0 Merge branch 'keychain' into 'master'
Rehash key group and morph loading (bug #6517)

Closes #6517

See merge request OpenMW/openmw!1500
2021-12-25 15:58:57 +00:00
Evil Eye
c1f59b1221 Automatically drop workaround when the format is next updated 2021-12-24 23:17:50 +01:00
Alexei Dobrohotov
26dfce1114 Rehash key group and morph loading (bug #6517) 2021-12-24 07:21:30 +03:00
Petr Mikheev
b06248a31f Fix #6502 2021-12-23 12:33:14 +01:00
AnyOldName3
f05cd901cf Show messagebox while OpenMW appears to be frozen
If it thaws, the messagebox disappears again.
The user can press the Abort button to kill OpenMW and generate a crash
dump.
2021-12-21 23:19:13 +00:00
AnyOldName3
d15c2922a9 Stop monitoring closed windows
If it gets repalced, the new one will be watched instead
2021-12-20 22:24:47 +00:00
AnyOldName3
97396da74c Get rid of break
It might look confusing with the breaks in the switch below
2021-12-20 22:23:44 +00:00
AnyOldName3
fe1523d16d Fix signed/unsigned mismatch 2021-12-20 22:13:11 +00:00
AnyOldName3
c746a8abb7 Attempt to catch freezes on Windows 2021-12-18 21:34:15 +00:00
psi29a
844266b58e Merge branch 'restrict_navmesh_cache_writes' into 'master'
Do not write shapes to navmeshdb when writing is disabled (#6498)

Closes #6498

See merge request OpenMW/openmw!1486
2021-12-17 07:28:53 +00:00
elsid
aaf6c82e33
Do not write shapes to navmeshdb when writing is disabled 2021-12-16 22:57:35 +01:00
uramer
3f52ede9cb Remove unnecessary myguicompat 2021-12-16 19:48:10 +01:00
uramer
2bc81e47a6 Remove all MyGUI version checks 2021-12-16 19:22:07 +01:00
AnyOldName3
d66907ba67 Log OpenGL Vendor, Renderer and Version on startup 2021-12-15 22:17:38 +00:00
psi29a
a57df67d09 Merge branch 'include' into 'master'
Add missing include

Closes #6357

See merge request OpenMW/openmw!1480
2021-12-15 13:11:48 +00:00
Petr Mikheev
7549496162 A few small fixes + expose makeReadOnly to Lua + an option to apply makeReadOnly during deserialize 2021-12-15 02:38:54 +01:00
Evil Eye
b834527813 Add missing include 2021-12-14 21:36:11 +01:00
uramer
c865114b9b Lua UI Layers 2021-12-14 17:38:06 +00:00
psi29a
2988ab55d5 Merge branch 'navmeshtool' into 'master'
Navmesh disk cache (#6189)

Closes #6189

See merge request OpenMW/openmw!1058
2021-12-11 16:32:08 +00:00
Alexei Dobrohotov
a64057fb36 Some NIF cleanup
Clean up keyframe controller construction
Make LOD and switch node generation static
Clarify decal map implementation
2021-12-11 16:16:16 +03:00
elsid
96eb8d7be9
Write generated navmesh to navmeshdb
Perform all request to db in a single thread to avoid blocking navmesh
generator threads due to slow write operations.

Write to db navmesh for all changes except update as it done for memory cache.

Batch multiple db operations into a single transaction to speed up writing by
not executing fsync after each insert/update query. All reads are performed in
the same transaction so they see uncommited data.
2021-12-11 00:22:04 +01:00
elsid
9e0451c714
Support navmesh generation from launcher 2021-12-11 00:22:04 +01:00
elsid
c9b8ba7b46
Read navmesh tile data from database
When tile is not found in memory cache try to find it in the database.
2021-12-11 00:22:04 +01:00
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