1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-30 15:15:37 +00:00
Commit graph

6930 commits

Author SHA1 Message Date
elsid
bd10becb65
Use lexicographical comparison in ESM3ExteriorCellRefId::operator< 2023-04-08 16:22:01 +02:00
psi29a
ebb5820dd1 Merge branch 'pathgridgraph' into 'master'
Refactor pathgrid indices to use size_t instead of int

See merge request OpenMW/openmw!2900
2023-04-08 00:32:43 +00:00
Evil Eye
8d8207b734 Refactor pathgrid indices to use size_t instead of int 2023-04-08 00:32:43 +00:00
elsid
794050df63
Fix and add tests for ESM3ExteriorCellRefId serialization and text representation 2023-04-08 01:06:11 +02:00
psi29a
aad9ce53db Merge branch 'esm4_gmst' into 'master'
Support loading ESM4 GMST records

See merge request OpenMW/openmw!2892
2023-04-04 09:51:02 +00:00
elsid
dbed00842e
Split components/esm4/common.hpp header 2023-04-04 10:12:20 +02:00
elsid
87ac85223a
Support loading ESM4 GMST records 2023-04-04 09:59:35 +02:00
florent.teppe
0d17e20490 Implements serialize/deserialize
fixes test compilation.
2023-04-03 18:41:25 +02:00
florent.teppe
21bd28542a Applies review advice
2d coord hash moved to hash.hpp file
format version adds suffix to be more coherent
don't use ESM::RefId::sEmpty
RefId equality with string_view, conversion to refId unecessary
action teleport remove test that mCellId is empty
removes some const references, when copy is enough
invalid refid => empty refid
removes useless change
2023-04-03 14:17:35 +02:00
florent.teppe
d782d37ee2 Make sure Vec2iRefId is trivially copyable on GCC 11.3
std::pair<int, int> isn't trivially copyable on some compilers
so a specific struct is defined, it's an int pair, but it should be recognised by GCC 11.3 as trivially copyable

Vec2iRefId => ESM3ExteriorCellRefId

more explcit name and use mX,mY instead of pair
renamed files and enum
2023-04-03 14:17:31 +02:00
florent.teppe
53b14c8b42 fix tests
hopefully also fixes clang tidy
2023-04-03 14:17:17 +02:00
florent.teppe
4c15064a83 Create new Vec2i RefId for ESM3 exterior cells.
Applies the necessary changes to use !2708 for the new Id type
2023-04-03 14:17:16 +02:00
florent.teppe
1e0c3bfdec fixes integration tests
we still want to be able to write using old formats
2023-04-03 14:16:32 +02:00
florent.teppe
f99e65843a Removes most cellId.hpp include, simplifies id generation for cells. 2023-04-03 14:16:32 +02:00
florent.teppe
c2182c2fcc Get Rid of ESM::CellId almost everywhere
it was a competing concept from using RefIds for cell.
There is almost no point to it now, except to load older data.
2023-04-03 14:16:05 +02:00
florent.teppe
fb6701ac1a ESM::CellId is no longer stored on saves. 2023-04-03 14:16:05 +02:00
florent.teppe
c39dd576f8 Gets rid of most ESM::CellId 2023-04-03 14:16:05 +02:00
florent.teppe
6895a452ef restores the concept of worldspace for MWWorld::Cell 2023-04-03 14:16:04 +02:00
florent.teppe
9f597ecfea No more Cellid used by ESM4 cells
and that also means it is no longer used by MWWorld::Cell
fixes tests
2023-04-03 14:16:04 +02:00
florent.teppe
3f678c3b0a Dest Door and teleport use ESM::RefId
This changes a lot of files as a consequence.
Still buggy, moving to exterior doesn't bring to the right place yet
coc "seyda neen" doesn't work. SO I broke somehting when fetching a cell from a name
2023-04-03 14:16:03 +02:00
florent.teppe
36502eaf75 ESM3 Cells have an Id.
Store<ESM::Cell> is updated to use it.
2023-04-03 14:16:03 +02:00
Andrei Kortunov
8c6616214b Remove redundant quotes 2023-04-03 11:28:03 +04:00
psi29a
ee970db9e0 Merge branch 'player_cell_id_test' into 'master'
Test more ESM::Player records

See merge request OpenMW/openmw!2888
2023-04-02 22:41:36 +00:00
psi29a
0a791528bc Merge branch 'fix_index_ref_id_hash' into 'master'
Shift record type value for IndexRefId hash

See merge request OpenMW/openmw!2885
2023-04-02 21:52:29 +00:00
elsid
9162eaa019
Test more ESM::Player records 2023-04-02 19:58:27 +02:00
elsid
171a25645a
Make sure there are tests for all RefId types 2023-04-02 15:46:21 +02:00
elsid
258aec223a
Shift record type value for IndexRefId hash 2023-04-02 15:00:03 +02:00
Mads Buvik Sandvei
e666f36b60 [Multiview] Fix transparent pass and vertex shader 2023-04-01 20:27:07 +00:00
psi29a
1a1f983930 Merge branch 'omwscripts_in_launcher' into 'master'
Support adding Lua mods in subdirectories in the launcher

See merge request OpenMW/openmw!2874
2023-03-31 17:53:55 +00:00
psi29a
119163e74b Merge branch 'fixemptycollisioncrash' into 'master'
Make empty collision shape for objects without any triangles.

Closes #7077

See merge request OpenMW/openmw!2871
2023-03-30 21:47:35 +00:00
psi29a
0c074990ce Merge branch 'fix_lazy_load_skyrim' into 'master'
Fix lazy load skyrim

See merge request OpenMW/openmw!2861
2023-03-30 21:42:55 +00:00
uramer
ee1551f02c Merge branch 'l10n' into 'master'
Dehardcode non-game-specific localization GMSTs

See merge request OpenMW/openmw!2855
2023-03-30 19:35:40 +00:00
fredzio
37c4587ca4 Display directories that contains omwscripts.
Display newly added omwscripts as new.
2023-03-30 21:32:01 +02:00
unelsson
3d4da02b18 Don't mess around with btEmptyShape. Use nullptr instead. 2023-03-28 23:54:26 +03:00
elsid
3e99deb0e8
Use typed settings storage for detournavigator 2023-03-28 20:47:34 +02:00
elsid
db7d0adfe8
Define settings values based on documentation
Using docs/source/reference/modding/settings/*.rst and
files/settings-default.cfg files content.
2023-03-28 20:47:34 +02:00
elsid
3bad40153c
Define typed settings storage with single time initialization
To make sure loaded settings have valid values doing the check once per loading.
And to make access more efficient.
2023-03-28 20:47:34 +02:00
florent.teppe
a3a7767093 applies review changes
filepos changed to an actual file pos
moved lambda declaration out of function call
2023-03-28 17:11:30 +02:00
florent.teppe
464092e323 fix oblivion and skyrim 2023-03-28 17:11:30 +02:00
florent.teppe
34dd24b261 Initial changes to detect when context isn't usable 2023-03-28 17:11:30 +02:00
unelsson
0a1af644af Make empty collision shape for objects without any triangles. 2023-03-28 16:12:23 +03:00
psi29a
cd6413c060 Merge branch 'fix_dialogue_title' into 'master'
Show original dialogue name

See merge request OpenMW/openmw!2862
2023-03-26 21:44:45 +00:00
Petr Mikheev
0769e3daf0 Fix #7294 (launcher creates new contentlist everytime) 2023-03-26 20:12:20 +02:00
elsid
452d1e7e49
Store original string id for Dialogue records 2023-03-26 19:07:32 +02:00
elsid
06f42ba69c
Use fixed size enum type for ESM::Dialogue::mType 2023-03-26 19:07:25 +02:00
elsid
4716583f3e
Set ESM::Dialogue::mType on blank and skip load 2023-03-26 19:07:25 +02:00
elsid
90ed24f4c9
Split type traits for ESM4, ESM3 and unite common 2023-03-26 19:07:23 +02:00
elsid
d5954aba68
Add suffix to the format version name 2023-03-26 15:21:25 +02:00
Petr Mikheev
618b912a20 Dehardcode non-game-specific localization GMSTs; Update l10n files. 2023-03-26 13:43:44 +02:00
psi29a
8f80895b59 Merge branch 'build_fix' into 'master'
Add missing include

See merge request OpenMW/openmw!2860
2023-03-26 11:09:47 +00:00
Andrei Kortunov
e1bee039ac Add missing include 2023-03-26 11:31:25 +04:00
elsid
b7fdca0fe6
Use serialized ESM::RefId for Lua records 2023-03-25 18:19:46 +01:00
elsid
cd4027ffd6
Do not use ESM::RefId::getRefIdString for spell id 2023-03-24 01:57:35 +01:00
psi29a
9a20193eb5 Merge branch 'savedgamecell' into 'master'
Fix cell name format in save menu

See merge request OpenMW/openmw!2853
2023-03-23 18:53:15 +00:00
Evil Eye
54d6fb29c2 Don't store a save's cell name as a RefID 2023-03-22 22:57:52 +01:00
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
2023-03-22 20:47:53 +00:00
psi29a
1741a06cd1 Merge branch 'launcher_log' into 'master'
Setup launcher configuration manager and logging before initializing UI

See merge request OpenMW/openmw!2851
2023-03-22 09:19:25 +00:00
elsid
9815f930d9
Setup launcher configuration manager and logging before initializing UI 2023-03-21 21:29:57 +01:00
elsid
d1e8e56619
Make QuickKey type a fixed size enum class 2023-03-21 20:53:04 +01:00
elsid
eb79b29512
Use ranged for loop 2023-03-21 20:45:49 +01:00
elsid
2135eba103
Fix loading ESM3 QuickKeys 2023-03-21 20:44:42 +01:00
elsid
0b852edc7f
Remove redundant inline 2023-03-21 09:34:27 +01:00
elsid
8dd6b16fee
Avoid double lookup 2023-03-21 09:34:26 +01:00
elsid
04d7781424
Support not only StringRefId for checking first person body part 2023-03-19 17:49:41 +01:00
elsid
e6cf516e12
Support index RefId as pair of record type and std::uint32_t 2023-03-19 17:20:48 +01:00
elsid
86293af084
Support generated RefId as std::uint64_t 2023-03-19 17:20:48 +01:00
elsid
0992624c8b
Support reading and writing typed ESM::RefId to ESM 2023-03-19 17:20:48 +01:00
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.
2023-03-19 17:20:43 +01:00
elsid
3a0443c472
Make constexpr Misc::NotNullptr member functions 2023-03-18 16:36:26 +01:00
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
2023-03-18 09:30:48 +00:00
Shi Han
a90e3b8c3b Move from std::atoi to std::from_char 2023-03-18 09:30:48 +00:00
psi29a
9664a57cad Merge branch 'esmtool_strings' into 'master'
Use relative to content file path to find strings file

See merge request OpenMW/openmw!2837
2023-03-18 09:14:54 +00:00
elsid
67e96d48ba
Use relative to content file path to find strings file
To be used by esmtool when VFS is not used.
2023-03-18 03:00:18 +01:00
elsid
83d212fe0f
Use SFINAE to avoid conflicts between visit functions 2023-03-17 23:37:11 +01:00
psi29a
a60f657f5a Merge branch 'fast_cell4_load' into 'master'
Lazy loading of ESM4::reference

See merge request OpenMW/openmw!2804
2023-03-17 21:46:37 +00:00
psi29a
2ff4a5a11a Merge branch 'cs_fix_info_collection' into 'master'
Fix loading, inserting and moving topic info records

See merge request OpenMW/openmw!2806
2023-03-17 14:40:05 +00:00
Petr Mikheev
0b385d5db9 Create MWWorld::SafePtr 2023-03-13 23:44:00 +01:00
elsid
e032214fcb
Use common info ordering implementation for engine and editor 2023-03-13 21:57:41 +01:00
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