psi29a
807893eb45
Merge branch 'clickbait' into 'master'
...
Mostly dehardcode skills
See merge request OpenMW/openmw!3112
2023-06-15 07:03:13 +00:00
Petr Mikheev
3b43cc2aea
Lua: change obj.rotation from Euler angles to Quaternion
2023-06-12 00:16:42 +02:00
elsid
e6e6b65ab3
Remove redundant manipulators
2023-06-10 13:14:52 +02:00
Evil Eye
e791d2b498
Fix unit tests
2023-06-08 21:10:11 +02:00
Evil Eye
eeda48ec50
Drop support for --fs-strict
2023-06-08 21:10:09 +02:00
Evil Eye
da4e04522b
More closely replicate Morrowind.exe's locks
2023-06-08 20:10:32 +02:00
Evil Eye
65b22975c9
Remove SkillEnum
2023-06-08 18:35:50 +02:00
psi29a
55cd30ea3b
Merge branch 'string_ref_id_utf8' into 'master'
...
Support UTF-8 by StringRefId::toDebugString (#7407 )
Closes #7407
See merge request OpenMW/openmw!3096
2023-06-03 08:17:19 +00:00
elsid
78b3f7288a
Support UTF-8 by StringRefId::toDebugString
2023-06-01 22:16:47 +02:00
Petr Mikheev
420916327d
Fix the bug "ESMStore::setUp() is called twice" that causes duplicated objects in ESM4 cells
2023-06-01 11:58:03 +02:00
Petr Mikheev
bf49855d9f
Test handling of BSXFlags in bulletnifloader
2023-05-29 18:47:27 +02:00
florent.teppe
c35c7b3640
ESM4::Land loaded, added to store and to land objects
...
it does not work yet. Some things are displayed, but it looks all wrong.
2023-05-29 11:31:37 +02:00
elsid
04d439485b
Log more info about navmesh shapes and jobs
2023-05-14 18:34:31 +02:00
psi29a
ab17d0947a
Merge branch 'esm4-exterior' into 'master'
...
Loading ESM4 Exteriors
See merge request OpenMW/openmw!2986
2023-05-12 23:32:55 +00:00
psi29a
c15710c35b
Merge branch 'settings_values_index' into 'master'
...
Use typed settings storage for settings window (#6876 )
See merge request OpenMW/openmw!2997
2023-05-12 21:53:59 +00:00
florent.teppe
43e247d458
fixes tests
...
fix linux build + clang-tidy
2023-05-12 22:05:53 +02:00
Evil Eye
3cf0977c0b
Remove dialogue related instances of getRefIdString
2023-05-04 19:46:49 +02:00
elsid
258ae9d98e
Add settings index to provide lookup by category and name
2023-05-03 22:11:44 +02:00
elsid
0601d7213e
Remove ESM::RefId::sEmpty
...
This variable is only required to return empty RefId as const reference. There
is no point in doing so for a type cheap to copy.
2023-04-26 21:15:16 +02:00
Petr Mikheev
61578ca39b
Add function LuaUtil::cast
2023-04-25 21:51:05 +02:00
psi29a
406eb1f9cc
Merge branch 'replace_boost' into 'master'
...
replace boost where not needed
See merge request OpenMW/openmw!2962
2023-04-23 19:46:29 +00:00
psi29a
71aaa56ae3
replace boost where not needed
2023-04-23 19:46:29 +00:00
elsid
499d086cc1
Add tests for Settings::Values
2023-04-23 15:21:58 +02:00
elsid
1fbf50fb13
Use PROJECT_SOURCE_DIR in tests
2023-04-23 15:11:17 +02:00
florent.teppe
fc3d113d29
fix tests
2023-04-20 10:25:10 +02:00
florent.teppe
3bbf60373a
Keep things coherent between references and and cell table
2023-04-20 10:03:34 +02:00
elsid
7db14b3392
Add more tests for printing RefId and clarify some constants
2023-04-20 02:35:14 +02:00
elsid
c97df7d770
Check FormIdRefId value in constructor
2023-04-20 02:19:05 +02:00
Petr Mikheev
f09a689a4f
Merge ESM::RefNum and ESM4::FormId
2023-04-09 00:23:32 +02:00
psi29a
edfc6b78c8
Merge branch 'fix_esm3_exterior_cell_ref_id' into 'master'
...
Use lexicographical comparison in ESM3ExteriorCellRefId::operator< (#7316 )
Closes #7316
See merge request OpenMW/openmw!2909
2023-04-08 16:21:32 +00:00
elsid
bd10becb65
Use lexicographical comparison in ESM3ExteriorCellRefId::operator<
2023-04-08 16:22:01 +02:00
elsid
aa77e727b8
Fix build with clang and libc++
...
libc++ does not have such function:
apps/openmw_test_suite/esm3/testesmwriter.cpp:73:30: error: no member named 'view' in 'std::ostringstream'
EXPECT_EQ(stream.view().size(), size);
~~~~~~ ^
2023-04-08 13:41:28 +02:00
elsid
794050df63
Fix and add tests for ESM3ExteriorCellRefId serialization and text representation
2023-04-08 01:06:11 +02:00
elsid
5b14ff4470
Add tests to verify RefId size written to ESM file
2023-04-08 01:06:11 +02:00
elsid
fd9f652f43
Add CurrentContentFormatVersion to Esm3SaveLoadRecordTest parameters
2023-04-07 20:18:02 +02:00
elsid
e3944f741e
Test save/load for all ESM::CellRef fields
2023-04-07 20:18:00 +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
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
6c6dbccd0a
fix crash on reset
...
fix tests
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
36502eaf75
ESM3 Cells have an Id.
...
Store<ESM::Cell> is updated to use it.
2023-04-03 14:16:03 +02: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
elsid
f8cc929f9a
Use approximate equality for btBvhTriangleMeshShape triangles
2023-03-30 21:41:40 +02:00
elsid
452d1e7e49
Store original string id for Dialogue records
2023-03-26 19:07:32 +02:00
elsid
d6c8c54dc5
Generate test cases for all ESM3 format versions since MaxStringRefIdFormatVersion
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
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
Andrei Kortunov
302c331559
Add field initialization
2023-03-23 14:31:45 +04: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
elsid
d1e8e56619
Make QuickKey type a fixed size enum class
2023-03-21 20:53:04 +01:00
elsid
2135eba103
Fix loading ESM3 QuickKeys
2023-03-21 20:44:42 +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
e032214fcb
Use common info ordering implementation for engine and editor
2023-03-13 21:57:41 +01:00
psi29a
6d8f3c7bce
Merge branch 'cs_unit_tests' into 'master'
...
Introduce unit tests for editor
See merge request OpenMW/openmw!2821
2023-03-13 09:37:32 +00:00
elsid
55ebd97949
Remove misleading part of the function name
2023-03-12 15:14:38 +01:00
Petr Mikheev
58fdd687a8
Support links to GMST in l10n files
2023-03-12 13:12:13 +01:00
elsid
6f6e452dfa
Add executable to run CS tests
2023-03-12 12:06:33 +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
9c780efe50
Add ESMStore tests for loading dialogue and info records
2023-03-12 01:52:20 +01:00
elsid
1857d8a68c
Use target_compile_options to add --coverage
2023-03-10 15:34:08 +01:00
Alexei Dobrohotov
562461a659
Unify collision shape transformations
2023-03-10 00:12:12 +03:00
Alexei Dobrohotov
2277bdc1ae
Improve btTriangleMesh abuse (bug #6027 , part 2)
2023-03-08 06:13:32 +03:00
Evil Eye
724c6ec425
Match unit test to Morrowind.exe behaviour
2023-03-05 20:27:07 +01:00
Petr Mikheev
e70ab80b90
Ignore duplicated preferred l10n locales
2023-03-04 10:20:03 +01:00
elsid
cd6a5b5a0e
Support asymmetric comparison between ESM::RefId and std::string_view
2023-03-03 15:44:18 +01:00
elsid
6f329f3d40
Add tests for ESM::RefId
2023-03-03 15:44:18 +01:00
elsid
eb17f0ba06
Use ESM::RefId as key in TestInterpreterContext::mMembers
2023-03-03 15:41:56 +01:00
elsid
dfcea389be
Add helper functions for string comparison to RefId
2023-03-03 00:39:55 +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
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
Petr Mikheev
b0a6e4e510
[Lua] Add memory usage test
2023-02-26 19:59:53 +01:00
Cody Glassman
ac4787aeec
shade refactor
2023-02-25 11:03:39 -08: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
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
28f7a89530
Reuse dtNavMeshQuery
...
To avoid redundant allocations.
2023-02-17 15:05:25 +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
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
12d36fb1d7
Add missing include
2023-02-13 10:02:30 +01:00
elsid
1e9e7b7607
Add tests to save and load some ESM3 records
2023-02-11 16:20:10 +01: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
elsid
080700f8fe
Name all custom ESM format versions and add tests
2023-02-10 19:54:15 +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
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
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
uramer
e96681151c
Get rid of the LuaUI::Content namespace
2023-02-01 17:18:50 +01:00