Commit Graph

6835 Commits (8cf431aeb2b80907e25d941ee6078da0236720e7)

Author SHA1 Message Date
elsid 4716583f3e
Set ESM::Dialogue::mType on blank and skip load 2 years ago
elsid 90ed24f4c9
Split type traits for ESM4, ESM3 and unite common 2 years ago
elsid d5954aba68
Add suffix to the format version name 2 years ago
Petr Mikheev 618b912a20 Dehardcode non-game-specific localization GMSTs; Update l10n files. 2 years ago
psi29a 8f80895b59 Merge branch 'build_fix' into 'master'
Add missing include

See merge request OpenMW/openmw!2860
2 years ago
Andrei Kortunov e1bee039ac Add missing include 2 years ago
elsid b7fdca0fe6
Use serialized ESM::RefId for Lua records 2 years ago
elsid cd4027ffd6
Do not use ESM::RefId::getRefIdString for spell id 2 years ago
psi29a 9a20193eb5 Merge branch 'savedgamecell' into 'master'
Fix cell name format in save menu

See merge request OpenMW/openmw!2853
2 years ago
Evil Eye 54d6fb29c2 Don't store a save's cell name as a RefID 2 years ago
psi29a db1b260323 Merge branch 'gmst_l10n' into 'master'
Support links to GMSTs in l10n files; extract Morrowind-specific l10n files to a separate directory

See merge request OpenMW/openmw!2822
2 years ago
psi29a 1741a06cd1 Merge branch 'launcher_log' into 'master'
Setup launcher configuration manager and logging before initializing UI

See merge request OpenMW/openmw!2851
2 years ago
elsid 9815f930d9
Setup launcher configuration manager and logging before initializing UI 2 years ago
elsid d1e8e56619
Make QuickKey type a fixed size enum class 2 years ago
elsid eb79b29512
Use ranged for loop 2 years ago
elsid 2135eba103
Fix loading ESM3 QuickKeys 2 years ago
elsid 0b852edc7f
Remove redundant inline 2 years ago
elsid 8dd6b16fee
Avoid double lookup 2 years ago
elsid 04d7781424
Support not only StringRefId for checking first person body part 2 years ago
elsid e6cf516e12
Support index RefId as pair of record type and std::uint32_t 2 years ago
elsid 86293af084
Support generated RefId as std::uint64_t 2 years ago
elsid 0992624c8b
Support reading and writing typed ESM::RefId to ESM 2 years ago
elsid 069d4255b9
Make ESM::RefId to be fixed size cheap to copy
Use std::variant. Store refId strings in unordered_set and use pointer to an
item there. Inserts to unordered_set do not invalidate pointers to values so the
pointer is always valid. Elements are not removed. Assume there is finite number
of string refIds.
2 years ago
elsid 3a0443c472
Make constexpr Misc::NotNullptr member functions 2 years ago
psi29a d64eea2fc6 Merge branch '7113-move-from-std-atoi-to-std-from_char' into 'master'
Move from std::atoi to std::from_char

Closes #7113

See merge request OpenMW/openmw!2760
2 years ago
Shi Han a90e3b8c3b Move from std::atoi to std::from_char 2 years ago
psi29a 9664a57cad Merge branch 'esmtool_strings' into 'master'
Use relative to content file path to find strings file

See merge request OpenMW/openmw!2837
2 years ago
elsid 67e96d48ba
Use relative to content file path to find strings file
To be used by esmtool when VFS is not used.
2 years ago
elsid 83d212fe0f
Use SFINAE to avoid conflicts between visit functions 2 years ago
psi29a a60f657f5a Merge branch 'fast_cell4_load' into 'master'
Lazy loading of ESM4::reference

See merge request OpenMW/openmw!2804
2 years ago
psi29a 2ff4a5a11a Merge branch 'cs_fix_info_collection' into 'master'
Fix loading, inserting and moving topic info records

See merge request OpenMW/openmw!2806
2 years ago
Petr Mikheev 0b385d5db9 Create MWWorld::SafePtr 2 years ago
elsid e032214fcb
Use common info ordering implementation for engine and editor 2 years ago
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.
2 years ago
psi29a 9b184a1698 Merge branch 'loadammo' into 'master'
Updates to ESM4::Ammunition loading

See merge request OpenMW/openmw!2830
2 years ago
Alexei Dobrohotov 3d87bc185d Updates to ESM4::Ammunition loading 2 years ago
psi29a e37860c1dc Cherry pick 'openmw-48-stereo-fixes' into 'master'
Openmw 48 stereo fixes

See merge request OpenMW/openmw!2815
2 years ago
Petr Mikheev 58fdd687a8 Support links to GMST in l10n files 2 years ago
psi29a efebb8efd8 Merge branch 'cmake_fixes' into 'master'
Formatting and coverage related CMake files fixes

See merge request OpenMW/openmw!2811
2 years ago
elsid 1cc4909144
Add --coverage to components_qt, benchmarks and openmw-cs 2 years ago
elsid 1857d8a68c
Use target_compile_options to add --coverage 2 years ago
elsid cc066efa11
Fix identation in CMakeLists.txt 2 years ago
florent.teppe 170b732854 readers cache keep a stateless encoder
to keep access to the current encoding configuration

build linux
2 years ago
psi29a ff7a098e74 Merge branch 'justbenormal' into 'master'
Unify collision shape transformations

See merge request OpenMW/openmw!2808
2 years ago
psi29a b9f1d5d4e7 Merge branch 'seventeenth-times-the-charm' into 'master'
Fix #7264

Closes #7264

See merge request OpenMW/openmw!2805
2 years ago
Alexei Dobrohotov 562461a659 Unify collision shape transformations 2 years ago
psi29a eca26e8b18 Merge branch 'Support-BA2-file-format' into 'master'
Support ba2 file format

See merge request OpenMW/openmw!2787
2 years ago
Alexei Dobrohotov 2277bdc1ae Improve btTriangleMesh abuse (bug #6027, part 2) 2 years ago
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.
2 years ago
AnyOldName3 aee1edaf9e Partially revert "Attach shaders to geometry that lacks a stateset if necessary"
This reverts commit 6aef366fd3.
2 years ago
Cédric Mocquillon 19fbba080d Add a check if the requested file is not found 2 years ago
Cédric Mocquillon 7f936ad18f Some cleanup on includes 2 years ago
Cédric Mocquillon 64ce6eb6bc Merge the two identical conditions 2 years ago
Cédric Mocquillon 1a7b2cd611 Fix remaining bugs 2 years ago
AnyOldName3 4aa40897ca Revert "Apply ShaderVisitor to Rig/MorphGeometry source geometry"
This reverts commit 471f6abf6c.

The commit should be redundant as of 20e799dadc
2 years ago
Alexei Dobrohotov 20e799dadc Use Rig/MorphGeometry state for its child geometry
Cherry-pick of ed44095cdc from 0.48 branch
2 years ago
Evil Eye c6a545766c Remove redundant string_view 2 years ago
unknown 868a398b86 Allow comparison operators of arbitrary length 2 years ago
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.
2 years ago
psi29a a91b4e0cce Merge branch 'duplicated_locales' into 'master'
Ignore duplicated preferred l10n locales

See merge request OpenMW/openmw!2796
2 years ago
psi29a afa6643c6e Merge branch 'maybe-fix-freeze-catcher' into 'master'
Fix Windows freeze catcher

See merge request OpenMW/openmw!2795
2 years ago
Petr Mikheev e70ab80b90 Ignore duplicated preferred l10n locales 2 years ago
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.
2 years ago
Petr Mikheev e007dc9d6b Log reserving texture units 2 years ago
Cédric Mocquillon d2244c8d97 Fix detectVersion 2 years ago
Cédric Mocquillon 78251a2bb1 Move outside the condition + fix bug: missing offset 2 years ago
Cédric Mocquillon d73ab7ef6f Add comments 2 years ago
Cédric Mocquillon 24272d07bf Share generateHash used in ba2dx10file and ba2gnrlfile 2 years ago
elsid cd6a5b5a0e
Support asymmetric comparison between ESM::RefId and std::string_view 2 years ago
elsid dfcea389be
Add helper functions for string comparison to RefId 2 years ago
elsid 6518688120
Reorder RefId members 2 years ago
Cédric Mocquillon d30deef4b5 Use the right archive type to load bsa according to their type 2 years ago
Cédric Mocquillon 974799c011 Handle DX10 case of ba2 format 2 years ago
Cédric Mocquillon c1fbe90953 Handle GNRL case of ba2 format 2 years ago
psi29a 340a2aa826 Merge branch 'ref_id_cmp_string_view' into 'master'
Support RefId comparison with std::string_view

See merge request OpenMW/openmw!2784
2 years ago
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
2 years ago
Alexei Dobrohotov 471f6abf6c Apply ShaderVisitor to Rig/MorphGeometry source geometry 2 years ago
elsid 2fcb94064d
Support RefId comparison with std::string_view 2 years ago
Alexei Kotov 7fd9b27b54 Don't combine static node collision geometry (bug #6027) 2 years ago
Alexei Dobrohotov 6aef366fd3 Attach shaders to geometry that lacks a stateset if necessary 2 years ago
psi29a a9fdb51041 Merge branch 'fix_lua_memoryleak' into 'master'
Fix Lua memory leak (#7128)

Closes #7128

See merge request OpenMW/openmw!2774
2 years ago
Alexei Dobrohotov 540fa00f12 Don't use ESM4::Lighting fog power as fog density 2 years ago
Cody Glassman 6a64f352a4 fix shader compilation 2 years ago
Petr Mikheev 7b3aa621a4 [Lua] Fix memory leak in sandboxed "require". 2 years ago
Petr Mikheev d0a82437a4 [Lua] Fix memory tracking 2 years ago
psi29a 2b9f962f7c Merge branch 'minimal_element_leak' into 'master'
Minimal solution to UI Element leak

See merge request OpenMW/openmw!2770
2 years ago
psi29a e8e97679f7 Merge branch 'vsync' into 'master'
Add support for non-adaptive VSync

Closes #7129

See merge request OpenMW/openmw!2769
2 years ago
uramer 38bceb653d Set Element layout to nil on destroy 2 years ago
Andrei Kortunov be488649c3 Add support for non-adaptive VSync (feature 7129) 2 years ago
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
2 years ago
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
2 years ago
Cody Glassman ac4787aeec shade refactor 2 years ago
Alexei Kotov d8dad79195 Read bsLeafAnimNode 2 years ago
Alexei Kotov 9618a465ce Read bhkCompressedMeshShape 2 years ago
Alexei Kotov fc6bc90c3d Read BSFurnitureMarkerNode 2 years ago
Alexei Kotov e15434be94 Disable falloff in BSEffectShader for now 2 years ago
Alexei Dobrohotov 0f222d270e Prefer the earliest eponymous nodes in skeletons (bug #3842) 2 years ago
Cédric Mocquillon f7b45a6262 Add method to load and clone the error marker used by the scene manager 2 years ago
Cédric Mocquillon 97c42768e6 Use the embedded marker error if we fail to load the error marker model from the vfs 2 years ago
psi29a ee41151520 Merge branch 'Get-Skyrimesm-Loading' into 'master'
Load esm files from vfs

See merge request OpenMW/openmw!2756
2 years ago
Bret Curtis db2368fced small fix for gcc12 2 years ago
Alexei Kotov 8d3c5c0f05 Unify texture wrapping setup 2 years ago
Alexei Kotov 2de81738c1 Implement the basics of BSEffectShaderProperty 2 years ago
Cédric Mocquillon 6e23ad82d5 Load esm files from vfs 2 years ago
psi29a 0f331a4fc5 Merge branch 'lua_callback' into 'master'
Fix potential memory leak in LuaUtil::Callback

See merge request OpenMW/openmw!2733
2 years ago
psi29a 0ed1310417 Merge branch 'fix_fog_state_load' into 'master'
Fix loading fog state

See merge request OpenMW/openmw!2743
2 years ago
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.
2 years ago
elsid 959de6f4c1
Avoid UB on empty fog data record 2 years ago
elsid 28f7a89530
Reuse dtNavMeshQuery
To avoid redundant allocations.
2 years ago
elsid 996153f78d
Convert RefId to class 2 years ago
Petr Mikheev b71eac3e76 Fix #7210 2 years ago
Petr Mikheev eceeb15ee5 Fix bug in lua_ui/content.lua: getmetatable(ui.content{}) shouldn't return a global mutable table 2 years ago
Petr Mikheev 65885d994f Don't expose LuaUtil::Callback to lua 2 years ago
Petr Mikheev 71ba7b88e2 Move asyncpackage from apps/openmw/mwlua to components/lua 2 years ago
elsid 6d261d38dd
Add functions to read and write ESM::RefId and use them
To be later changed with another implementation.
2 years ago
elsid 80e6d6cbe3
Support variable size strings in ESM3 2 years ago
elsid beb017e699
Do not truncate too long strings on writing ESM 2 years ago
elsid c0c723bb1b
Add const to read only function 2 years ago
Alexei Kotov 0ba179c332 Discard terrain base layer alpha in non-shader rendering path (bug #6657) 2 years ago
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
2 years ago
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.
2 years ago
Alexei Kotov 9deed5c03e Propagate dynamic effects to node's immediate children (bug #6550) 2 years ago
elsid a5ec108cfb
Add missing space 2 years ago
elsid 4f683d1ee9
Throw exception on failed write 2 years ago
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
2 years ago
psi29a 83894bae8a Merge branch 'nif' into 'master'
Add NiTriBasedGeomData abstraction, bring NiVertexColorProperty to modern standards

See merge request OpenMW/openmw!2714
2 years ago
Alexei Kotov 536370c76d Files::Collections: prefer files from highest priority folders 2 years ago
Alexei Kotov 99aa90f90c Rewrite NiVertexColorProperty 2 years ago
Alexei Kotov d39127cc3d Add NiTriBasedGeomData abstraction 2 years ago
elsid 080700f8fe
Name all custom ESM format versions and add tests 2 years ago
psi29a de2bd6d802 Merge branch 'nistringpalette' into 'master'
Fix NiStringPalette loading again

See merge request OpenMW/openmw!2703
2 years ago
AnyOldName3 8ea2e15446 clang-format some more
LLVM shouldn't make me download everything they've ever made in the same
package as clang-format.
2 years ago
AnyOldName3 83b940397e AdD lInE bReAk ThAt ClAnG-fOrMaT wAnTeD 2 years ago
Alexei Kotov a4ddf443ed Fix NiStringPalette loading 2 years ago
Alexei Kotov c8430ee6c8 Clean up fillTriangleMesh for NiTriStrips 2 years ago
AnyOldName3 7d4410d4fb Use reserveGlobalTextureUnits for shadow maps 2 years ago
psi29a a41cbfb349 Merge branch 'candles' into 'master'
Read NiBlendInterpolator records, fill in NiControllerManager fields

See merge request OpenMW/openmw!2700
2 years ago
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.
2 years ago
Alexei Kotov d7834c43e5 Fill in NiControllerManager fields 2 years ago
Alexei Kotov 091fcd837e Read all the NiBlendInterpolator record types 2 years ago
Alexei Kotov 7ecf018743 Add NiBlendInterpolator 2 years ago
elsid 02ada74fa1
Do not try to dereference nullptr in object cache 2 years ago
Alexei Kotov 41d6ccd3f6 Read NiDefaultAVObjectPalette 2 years ago
psi29a 5f9332751c Merge branch 'roottrafo' into 'master'
Don't discard root node transformations for Gamebryo meshes

See merge request OpenMW/openmw!2697
2 years ago
Alexei Kotov b14d1f0c6b Don't discard root node transformations for Gamebryo meshes 2 years ago
Alexei Kotov 8ebdd1e4a5 Fix material data loading for 10.0.1.0 2 years ago
Alexei Kotov 115c30a573 Read bhkConvexTransformShape 2 years ago
AnyOldName3 9be3d2668a Break out of loops when uniform is found 2 years ago
Alexei Kotov 9f28a26b25 Read NiSequence/NiControllerSequence 2 years ago
psi29a 944931c9bf Merge branch 'load_esm4_lights' into 'master'
Adds ESM4 light into ESM4 Cells

See merge request OpenMW/openmw!2692
2 years ago