elsid
e892c62b10
Fix loading, inserting and moving topic info records
...
Topic info records need to have specific order defined via mNext and mPrev
fields (next and previous records). When loading multiple files a record may be
inserted into middle of the topic but neighborhood records may not be aware of
it. Having the order it's possible to move the records within one topic.
Sort the record once after loading all content files but preserve the order for
all other operations. Use std::map to group info ids by topic to make sure the
topics order is stable. Keep order within a topic for info ids on loading new
records. Use this order later for sorting the records.
2023-03-13 21:57:38 +01:00
psi29a
9b184a1698
Merge branch 'loadammo' into 'master'
...
Updates to ESM4::Ammunition loading
See merge request OpenMW/openmw!2830
2023-03-13 09:34:31 +00:00
Alexei Dobrohotov
3d87bc185d
Updates to ESM4::Ammunition loading
2023-03-13 01:36:07 +03:00
psi29a
e37860c1dc
Cherry pick 'openmw-48-stereo-fixes' into 'master'
...
Openmw 48 stereo fixes
See merge request OpenMW/openmw!2815
2023-03-12 22:20:23 +01:00
Petr Mikheev
58fdd687a8
Support links to GMST in l10n files
2023-03-12 13:12:13 +01:00
psi29a
efebb8efd8
Merge branch 'cmake_fixes' into 'master'
...
Formatting and coverage related CMake files fixes
See merge request OpenMW/openmw!2811
2023-03-12 11:03:06 +00:00
elsid
1cc4909144
Add --coverage to components_qt, benchmarks and openmw-cs
2023-03-10 21:36:12 +01:00
elsid
1857d8a68c
Use target_compile_options to add --coverage
2023-03-10 15:34:08 +01:00
elsid
cc066efa11
Fix identation in CMakeLists.txt
2023-03-10 15:28:06 +01:00
florent.teppe
170b732854
readers cache keep a stateless encoder
...
to keep access to the current encoding configuration
build linux
2023-03-10 12:39:47 +01:00
psi29a
ff7a098e74
Merge branch 'justbenormal' into 'master'
...
Unify collision shape transformations
See merge request OpenMW/openmw!2808
2023-03-10 07:51:01 +00:00
psi29a
b9f1d5d4e7
Merge branch 'seventeenth-times-the-charm' into 'master'
...
Fix #7264
Closes #7264
See merge request OpenMW/openmw!2805
2023-03-10 07:21:07 +00:00
Alexei Dobrohotov
562461a659
Unify collision shape transformations
2023-03-10 00:12:12 +03:00
psi29a
eca26e8b18
Merge branch 'Support-BA2-file-format' into 'master'
...
Support ba2 file format
See merge request OpenMW/openmw!2787
2023-03-08 22:00:43 +00:00
Alexei Dobrohotov
2277bdc1ae
Improve btTriangleMesh abuse (bug #6027 , part 2)
2023-03-08 06:13:32 +03:00
AnyOldName3
ccdb1bf6b7
Ensure shader requirements are pushed at least once for subgraph
...
Shaders, if deemed necessary, get attached to the node mentioned by the
top of the requirements stack. Previously an empty stack was incorrectly
assumed to mean no shaders were required, but we found out that was
wrong. We need to put shaders *somewhere*, and the root of the subgraph
we're modifying should be the best place.
2023-03-08 00:28:48 +00:00
AnyOldName3
aee1edaf9e
Partially revert "Attach shaders to geometry that lacks a stateset if necessary"
...
This reverts commit 6aef366fd3
.
2023-03-08 00:15:49 +00:00
Cédric Mocquillon
19fbba080d
Add a check if the requested file is not found
2023-03-06 21:26:51 +01:00
Cédric Mocquillon
7f936ad18f
Some cleanup on includes
2023-03-06 21:26:20 +01:00
Cédric Mocquillon
64ce6eb6bc
Merge the two identical conditions
2023-03-06 21:25:53 +01:00
Cédric Mocquillon
1a7b2cd611
Fix remaining bugs
2023-03-06 15:50:45 +01:00
AnyOldName3
4aa40897ca
Revert "Apply ShaderVisitor to Rig/MorphGeometry source geometry"
...
This reverts commit 471f6abf6c
.
The commit should be redundant as of 20e799dadc
2023-03-06 00:54:57 +00:00
Alexei Dobrohotov
20e799dadc
Use Rig/MorphGeometry state for its child geometry
...
Cherry-pick of ed44095cdc
from 0.48 branch
2023-03-06 00:54:02 +00:00
Evil Eye
c6a545766c
Remove redundant string_view
2023-03-05 21:45:03 +01:00
unknown
868a398b86
Allow comparison operators of arbitrary length
2023-03-05 19:15:43 +01:00
florent.teppe
214cb8d8fe
Only loads ESM4::reference when they are needed
...
and only those from the cell they are a part of.
The cell stores where it starts in the file for quick access later.
2023-03-04 23:40:41 +01:00
psi29a
a91b4e0cce
Merge branch 'duplicated_locales' into 'master'
...
Ignore duplicated preferred l10n locales
See merge request OpenMW/openmw!2796
2023-03-04 12:42:25 +00:00
psi29a
afa6643c6e
Merge branch 'maybe-fix-freeze-catcher' into 'master'
...
Fix Windows freeze catcher
See merge request OpenMW/openmw!2795
2023-03-04 12:42:06 +00:00
Petr Mikheev
e70ab80b90
Ignore duplicated preferred l10n locales
2023-03-04 10:20:03 +01:00
AnyOldName3
5b3e9e15ee
Maybe fix Windows freeze catcher
...
It looks like it's never actually been capable of creating a minidump since the original MR was merged. It worked briefly, and then apparently I managed to dissappear an important function call when rearranging things.
2023-03-04 00:28:22 +00:00
Petr Mikheev
e007dc9d6b
Log reserving texture units
2023-03-04 00:55:34 +01:00
Cédric Mocquillon
d2244c8d97
Fix detectVersion
2023-03-03 20:49:31 +01:00
Cédric Mocquillon
78251a2bb1
Move outside the condition + fix bug: missing offset
2023-03-03 17:09:38 +01:00
Cédric Mocquillon
d73ab7ef6f
Add comments
2023-03-03 17:09:38 +01:00
Cédric Mocquillon
24272d07bf
Share generateHash used in ba2dx10file and ba2gnrlfile
2023-03-03 17:09:35 +01:00
elsid
cd6a5b5a0e
Support asymmetric comparison between ESM::RefId and std::string_view
2023-03-03 15:44:18 +01:00
elsid
dfcea389be
Add helper functions for string comparison to RefId
2023-03-03 00:39:55 +01:00
elsid
6518688120
Reorder RefId members
2023-03-02 23:29:40 +01:00
Cédric Mocquillon
d30deef4b5
Use the right archive type to load bsa according to their type
2023-03-02 21:07:54 +01:00
Cédric Mocquillon
974799c011
Handle DX10 case of ba2 format
2023-03-02 18:40:44 +01:00
Cédric Mocquillon
c1fbe90953
Handle GNRL case of ba2 format
2023-03-02 18:19:58 +01:00
psi29a
340a2aa826
Merge branch 'ref_id_cmp_string_view' into 'master'
...
Support RefId comparison with std::string_view
See merge request OpenMW/openmw!2784
2023-03-02 12:49:28 +00:00
psi29a
3d8acf17bd
Merge branch 'shadervisitor' into 'master'
...
Attach shaders to geometry that lacks a stateset if necessary (bug #7251 )
See merge request OpenMW/openmw!2782
2023-03-01 17:09:32 +00:00
Alexei Dobrohotov
471f6abf6c
Apply ShaderVisitor to Rig/MorphGeometry source geometry
2023-03-01 18:27:44 +03:00
elsid
2fcb94064d
Support RefId comparison with std::string_view
2023-02-28 23:04:48 +01:00
Alexei Kotov
7fd9b27b54
Don't combine static node collision geometry (bug #6027 )
2023-03-01 00:41:04 +03:00
Alexei Dobrohotov
6aef366fd3
Attach shaders to geometry that lacks a stateset if necessary
2023-02-28 20:13:16 +03:00
psi29a
a9fdb51041
Merge branch 'fix_lua_memoryleak' into 'master'
...
Fix Lua memory leak (#7128 )
Closes #7128
See merge request OpenMW/openmw!2774
2023-02-28 08:33:48 +00:00
Alexei Dobrohotov
540fa00f12
Don't use ESM4::Lighting fog power as fog density
2023-02-27 05:50:58 +03:00
Cody Glassman
6a64f352a4
fix shader compilation
2023-02-26 14:31:53 -08:00
Petr Mikheev
7b3aa621a4
[Lua] Fix memory leak in sandboxed "require".
2023-02-26 19:59:53 +01:00
Petr Mikheev
d0a82437a4
[Lua] Fix memory tracking
2023-02-26 18:46:57 +01:00
psi29a
2b9f962f7c
Merge branch 'minimal_element_leak' into 'master'
...
Minimal solution to UI Element leak
See merge request OpenMW/openmw!2770
2023-02-26 14:57:30 +00:00
psi29a
e8e97679f7
Merge branch 'vsync' into 'master'
...
Add support for non-adaptive VSync
Closes #7129
See merge request OpenMW/openmw!2769
2023-02-26 13:28:56 +00:00
uramer
38bceb653d
Set Element layout to nil on destroy
2023-02-26 14:13:06 +01:00
Andrei Kortunov
be488649c3
Add support for non-adaptive VSync (feature 7129)
2023-02-26 15:19:19 +04:00
Alexei Kotov
a2fdaf8531
Merge branch 'Error-marker-loading-failure-not-handled' into 'master'
...
Use the embedded marker error if we fail to load the error marker model from the vfs
See merge request OpenMW/openmw!2757
2023-02-26 06:31:09 +00:00
psi29a
4faa1bf3e8
Merge branch 'moo-bitch-get-out-my-hay' into 'master'
...
Don't use FFP-friendly texture image units for shadow maps
Closes #7102
See merge request OpenMW/openmw!2682
2023-02-25 23:12:32 +00:00
Cody Glassman
ac4787aeec
shade refactor
2023-02-25 11:03:39 -08:00
Alexei Kotov
d8dad79195
Read bsLeafAnimNode
2023-02-24 20:34:41 +03:00
Alexei Kotov
9618a465ce
Read bhkCompressedMeshShape
2023-02-24 20:32:35 +03:00
Alexei Kotov
fc6bc90c3d
Read BSFurnitureMarkerNode
2023-02-24 19:38:29 +03:00
Alexei Kotov
e15434be94
Disable falloff in BSEffectShader for now
2023-02-24 19:36:39 +03:00
Alexei Dobrohotov
0f222d270e
Prefer the earliest eponymous nodes in skeletons (bug #3842 )
2023-02-23 15:36:04 +03:00
Cédric Mocquillon
f7b45a6262
Add method to load and clone the error marker used by the scene manager
2023-02-22 19:51:37 +01:00
Cédric Mocquillon
97c42768e6
Use the embedded marker error if we fail to load the error marker model from the vfs
2023-02-22 19:51:34 +01:00
psi29a
ee41151520
Merge branch 'Get-Skyrimesm-Loading' into 'master'
...
Load esm files from vfs
See merge request OpenMW/openmw!2756
2023-02-20 21:00:09 +00:00
Bret Curtis
db2368fced
small fix for gcc12
2023-02-20 10:55:46 +01:00
Alexei Kotov
8d3c5c0f05
Unify texture wrapping setup
2023-02-20 00:23:00 +03:00
Alexei Kotov
2de81738c1
Implement the basics of BSEffectShaderProperty
2023-02-20 00:23:00 +03:00
Cédric Mocquillon
6e23ad82d5
Load esm files from vfs
2023-02-19 21:58:19 +01:00
psi29a
0f331a4fc5
Merge branch 'lua_callback' into 'master'
...
Fix potential memory leak in LuaUtil::Callback
See merge request OpenMW/openmw!2733
2023-02-18 21:05:07 +00:00
psi29a
0ed1310417
Merge branch 'fix_fog_state_load' into 'master'
...
Fix loading fog state
See merge request OpenMW/openmw!2743
2023-02-18 07:27:05 +00:00
elsid
b5ec584be2
Replace ESM::RefId::sEmpty by default constructed RefId where possible
...
Static const is only required to provide a reference or a pointer when it is not
possible with default constructed temporary.
2023-02-18 01:07:15 +01:00
elsid
959de6f4c1
Avoid UB on empty fog data record
2023-02-17 23:42:49 +01:00
elsid
28f7a89530
Reuse dtNavMeshQuery
...
To avoid redundant allocations.
2023-02-17 15:05:25 +01:00
elsid
996153f78d
Convert RefId to class
2023-02-15 23:20:44 +01:00
Petr Mikheev
b71eac3e76
Fix #7210
2023-02-15 10:31:10 +01:00
Petr Mikheev
eceeb15ee5
Fix bug in lua_ui/content.lua: getmetatable(ui.content{}) shouldn't return a global mutable table
2023-02-14 21:08:19 +01:00
Petr Mikheev
65885d994f
Don't expose LuaUtil::Callback to lua
2023-02-14 21:08:19 +01:00
Petr Mikheev
71ba7b88e2
Move asyncpackage from apps/openmw/mwlua to components/lua
2023-02-14 20:03:32 +01:00
elsid
6d261d38dd
Add functions to read and write ESM::RefId and use them
...
To be later changed with another implementation.
2023-02-13 22:07:58 +01:00
elsid
80e6d6cbe3
Support variable size strings in ESM3
2023-02-13 10:18:32 +01:00
elsid
beb017e699
Do not truncate too long strings on writing ESM
2023-02-13 10:18:32 +01:00
elsid
c0c723bb1b
Add const to read only function
2023-02-13 10:18:32 +01:00
Alexei Kotov
0ba179c332
Discard terrain base layer alpha in non-shader rendering path (bug #6657 )
2023-02-13 03:43:59 +03:00
psi29a
02651cd96c
Merge branch 'texturefx' into 'master'
...
Propagate dynamic effects to node's immediate children (bug #6550 )
Closes #6550
See merge request OpenMW/openmw!2721
2023-02-11 21:42:30 +00:00
elsid
2e64155c0f
Use signed type for left record and files size in ESM3 reader context
...
Otherwise reading some of the records like ESM::CellRef without a subrecord
after could lead to underflow of ESM_Context::leftRec which makes
ESM::ESMReader::hasMoreSubs to return true and load hangs for a while trying to
read the same subrecord many times.
Fix ESM::Variant tests since it's now required to have a record for any ESM
data. Add 16 (size of record header) to all expected data sizes.
2023-02-11 16:09:14 +01:00
Alexei Kotov
9deed5c03e
Propagate dynamic effects to node's immediate children (bug #6550 )
2023-02-11 17:37:25 +03:00
elsid
a5ec108cfb
Add missing space
2023-02-11 15:14:02 +01:00
elsid
4f683d1ee9
Throw exception on failed write
2023-02-11 15:14:02 +01:00
psi29a
5f1da29881
Merge branch 'bsapriority' into 'master'
...
Files::Collections: prefer files from highest priority folders (bug #7092 )
Closes #7092
See merge request OpenMW/openmw!2716
2023-02-11 10:50:55 +00:00
psi29a
83894bae8a
Merge branch 'nif' into 'master'
...
Add NiTriBasedGeomData abstraction, bring NiVertexColorProperty to modern standards
See merge request OpenMW/openmw!2714
2023-02-11 10:33:08 +00:00
Alexei Kotov
536370c76d
Files::Collections: prefer files from highest priority folders
2023-02-11 01:25:00 +03:00
Alexei Kotov
99aa90f90c
Rewrite NiVertexColorProperty
2023-02-11 00:58:13 +03:00
Alexei Kotov
d39127cc3d
Add NiTriBasedGeomData abstraction
2023-02-10 23:06:56 +03:00
elsid
080700f8fe
Name all custom ESM format versions and add tests
2023-02-10 19:54:15 +01:00
psi29a
de2bd6d802
Merge branch 'nistringpalette' into 'master'
...
Fix NiStringPalette loading again
See merge request OpenMW/openmw!2703
2023-02-10 07:46:39 +00:00
AnyOldName3
8ea2e15446
clang-format some more
...
LLVM shouldn't make me download everything they've ever made in the same
package as clang-format.
2023-02-10 00:40:48 +00:00
AnyOldName3
83b940397e
AdD lInE bReAk ThAt ClAnG-fOrMaT wAnTeD
2023-02-10 00:12:55 +00:00
Alexei Kotov
a4ddf443ed
Fix NiStringPalette loading
2023-02-09 21:10:25 +03:00
Alexei Kotov
c8430ee6c8
Clean up fillTriangleMesh for NiTriStrips
2023-02-09 20:24:05 +03:00
AnyOldName3
7d4410d4fb
Use reserveGlobalTextureUnits for shadow maps
2023-02-09 01:32:48 +00:00
psi29a
a41cbfb349
Merge branch 'candles' into 'master'
...
Read NiBlendInterpolator records, fill in NiControllerManager fields
See merge request OpenMW/openmw!2700
2023-02-08 22:24:37 +00:00
elsid
2c43a8558a
Add option to disable debug log for unsupported nif files
...
It becomes quite extensive and not very useful when loading oblivion content
files.
2023-02-08 22:59:29 +01:00
Alexei Kotov
d7834c43e5
Fill in NiControllerManager fields
2023-02-09 00:06:08 +03:00
Alexei Kotov
091fcd837e
Read all the NiBlendInterpolator record types
2023-02-09 00:06:08 +03:00
Alexei Kotov
7ecf018743
Add NiBlendInterpolator
2023-02-08 22:58:47 +03:00
elsid
02ada74fa1
Do not try to dereference nullptr in object cache
2023-02-08 20:19:59 +01:00
Alexei Kotov
41d6ccd3f6
Read NiDefaultAVObjectPalette
2023-02-08 15:08:52 +03:00
psi29a
5f9332751c
Merge branch 'roottrafo' into 'master'
...
Don't discard root node transformations for Gamebryo meshes
See merge request OpenMW/openmw!2697
2023-02-08 11:32:16 +00:00
Alexei Kotov
b14d1f0c6b
Don't discard root node transformations for Gamebryo meshes
2023-02-08 14:20:42 +03:00
Alexei Kotov
8ebdd1e4a5
Fix material data loading for 10.0.1.0
2023-02-08 13:46:54 +03:00
Alexei Kotov
115c30a573
Read bhkConvexTransformShape
2023-02-08 13:26:26 +03:00
AnyOldName3
9be3d2668a
Break out of loops when uniform is found
2023-02-07 22:19:53 +00:00
Alexei Kotov
9f28a26b25
Read NiSequence/NiControllerSequence
2023-02-08 01:03:11 +03:00
psi29a
944931c9bf
Merge branch 'load_esm4_lights' into 'master'
...
Adds ESM4 light into ESM4 Cells
See merge request OpenMW/openmw!2692
2023-02-07 16:50:10 +00:00
florent.teppe
486d15b19e
moved light common to its own file
...
moved esm4light to it's own file
2023-02-07 16:29:17 +01:00
florent.teppe
dc961e3189
Adds the light into the scene.
...
Common struct for ESM3 and ESM4 light
2023-02-07 10:07:59 +01:00
elsid
627bed09ee
Remove redundant operator<< overloads from Log
2023-02-06 21:18:35 +01:00
psi29a
a0795ba7ae
Merge branch 'launch_fix' into 'master'
...
Fix some non-ASCII path issues
Closes #6817
See merge request OpenMW/openmw!2686
2023-02-06 19:50:30 +00:00
florent.teppe
a71a86e64a
Load light models in the engine. Doesn't emit light
2023-02-06 20:22:17 +01:00
psi29a
15b3af92df
Merge branch 'macos_lua_fix' into 'master'
...
make sure lua works with macos packages
See merge request OpenMW/openmw!2687
2023-02-06 18:53:19 +00:00
psi29a
4f001d8736
Merge branch 'qt6' into 'master'
...
Add an initial Qt6 support
See merge request OpenMW/openmw!2684
2023-02-06 16:55:20 +00:00
Andrei Kortunov
7e2aedf637
Add an initial Qt6 support
2023-02-06 18:38:59 +04:00
Bret Curtis
a708fb4a5c
make sure lua works with macos packages
2023-02-06 14:35:22 +01:00
Andrei Kortunov
8925f854e7
Fix non-ASCII path logging
2023-02-06 15:12:24 +04:00
Andrei Kortunov
5836d27928
Fix ContentSelector usage with non-ASCII paths
2023-02-06 13:36:02 +04:00
psi29a
4032c447e9
Merge branch 'load-ESM4-Cell' into 'master'
...
Can load and coc into an interrior oblivion cell
See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
glassmancody.info
e778ffee9b
po2 scaling for average luminance
2023-02-05 12:30:38 -08:00
elsid
e92ada09af
Replace QRegExp by QRegularExpression
2023-02-05 13:30:26 +01:00
AnyOldName3
80d6f6bc97
Add line break that clang-format wanted
2023-02-05 02:07:00 +00:00
AnyOldName3
0edc8fc77d
Don't use FFP-friendly texture image units for shadow maps
...
This more-or-less gets rid of the shadow system's only depencency on FFP
stuff. All that remains is it using OSG cameras, which OSG provides a
uniform-based implementation of, too, which we can trivially migrate to.
This should mean we're not eating any of the ~8 FPP-friendly texture
units, which is good as Morrowind models can use all of those on their
(although they very rarely do), and instead use some of the ~160
shader-only texture image units. This just requires not calling
glEnable(GL_TEXTURE_2D), accomplished by changing
setTextureAttributeAndModes to setTextureAttribute.
Also changes from using glTexGen and its eye plane matrices to pass the
shadow space matrix for each light to explicit uniforms. Thankfully, the
maths was a simple combination of the valid region matrix and eye plane
matrix maths.
As of this commit, I believe this kills shadows in one eye for stereo
rendering.
2023-02-05 00:40:33 +00:00
psi29a
aee7716c3a
Merge branch 'launcher_typed_settings' into 'master'
...
Typed launcher settings
See merge request OpenMW/openmw!2650
2023-02-04 23:41:59 +00:00
florent.teppe
084207af64
Avoids a lot a special cases for ESM3 vs ESM4 cells.
2023-02-04 23:25:06 +01:00
florent.teppe
1caed2de2a
Applies some review comments.
...
Proper visit for ESM::CellVariant
Fixed MWWorldCell constructor
2023-02-04 17:09:54 +01:00
elsid
f1dbd9b959
Fix -Wduplicated-branches warnings
2023-02-04 00:10:30 +01:00
elsid
c79c14da91
Fix -Wnon-virtual-dtor warnings
2023-02-03 23:00:09 +01:00
psi29a
00978ed7a4
Merge branch 'wherefore_art_thou_horatius' into 'master'
...
Fix global variable replacement in dialogue
Closes #7197
See merge request OpenMW/openmw!2675
2023-02-01 23:38:32 +00:00
psi29a
68b3b90255
Merge branch 'ui_content_leak' into 'master'
...
Move implementation of UI Content to Lua (#7155 )
See merge request OpenMW/openmw!2661
2023-02-01 22:51:47 +00:00
Evil Eye
8d2b5ed8ee
Combine initializer_lists
2023-02-01 22:27:22 +01:00
Evil Eye
d3bc79e9b2
Reduce code duplication
2023-02-01 21:57:50 +01:00
Evil Eye
32ac7406ab
Fix global variable replacement in dialogue
2023-02-01 17:49:11 +01:00
Evil Eye
571e11cd42
Restore 0936d716d96cd45b3efc2d1a3697614f7f96952d
2023-02-01 17:26:39 +01:00
uramer
e96681151c
Get rid of the LuaUI::Content namespace
2023-02-01 17:18:50 +01:00
uramer
d24c506b0e
Move metatable protection asserts to tests
2023-02-01 16:34:32 +01:00
uramer
2a35bae655
Use range_error for invalid indexes
2023-02-01 16:24:58 +01:00
uramer
fb0646dda1
Remove Ui Content counter in Lua profiler
2023-01-31 19:52:28 +01:00
uramer
bbbef96087
Switch to loadInternalLib
2023-01-31 19:50:33 +01:00
uramer
c7b0c0a406
Protecd UI Content's metatable
2023-01-30 23:22:18 +01:00