elsid
a762624581
Reorganize and update benchmarks
2023-03-25 00:00:39 +01:00
Evil Eye
c48c91a07f
Fix bed ownership check
2023-03-24 22:15:51 +01:00
elsid
017f3d5484
Interpret ESM::Light::mSound as identifier not a path
2023-03-24 15:42:26 +01:00
elsid
cd4027ffd6
Do not use ESM::RefId::getRefIdString for spell id
2023-03-24 01:57:35 +01:00
psi29a
dce809ea95
Merge branch 'editorclone' into 'master'
...
Fix some GCC12 warnings
See merge request OpenMW/openmw!2854
2023-03-23 19:55:14 +00: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
Andrei Kortunov
302c331559
Add field initialization
2023-03-23 14:31:45 +04:00
Andrei Kortunov
11484205f5
Use constexpr to do not generate an invalid code in templates
2023-03-23 14:29:26 +04: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
99dac61e49
Merge branch 'noskill' into 'master'
...
Remove Attribute/Skill from tooltips
Closes #7281
See merge request OpenMW/openmw!2845
2023-03-22 09:25:26 +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
2135eba103
Fix loading ESM3 QuickKeys
2023-03-21 20:44:42 +01:00
elsid
de112a2950
Simplify converting file names into absolute file paths
2023-03-21 09:34:27 +01:00
elsid
d18d860ea2
Catch and log exceptions on loading cell names
...
Instead of terminating the process.
2023-03-21 09:34:27 +01:00
elsid
5a691380ea
Use single set to check presence of archives
2023-03-21 09:34:27 +01:00
elsid
b1765cf05a
Do single lookup for widget item
2023-03-21 09:34:27 +01:00
elsid
62536d5cf7
Use static QFile::exists instead of creating object
2023-03-21 09:34:27 +01:00
elsid
ecb9c35268
Remove unused variable
2023-03-21 09:34:27 +01:00
psi29a
2a50212f87
Merge branch 'fix_launcher_paths' into 'master'
...
Save original paths in launcher (#7246 )
Closes #7246
See merge request OpenMW/openmw!2847
2023-03-21 08:31:32 +00:00
elsid
9280957581
Save original paths
...
If directory path is a symlink it should be showed and written to config files
as is. Between launcher runs the resulting canonical path may be different so
the resolved path becomes outdated.
2023-03-21 01:37:26 +01:00
elsid
ff7fcd752a
Use set to track visited directories instead of removing duplicates
2023-03-21 01:22:41 +01:00
Evil Eye
0fe27e8107
Remove Attribute/Skill from tooltips
2023-03-20 19:59:11 +01:00
Evil Eye
6e33da6cfe
Don't capture temporaries by reference
2023-03-20 19:07:51 +01:00
psi29a
b55313c08e
Merge branch 'small_ref_id' into 'master'
...
Make ESM::RefId to be fixed size cheap to copy and support different implementation types
See merge request OpenMW/openmw!2708
2023-03-20 08:54:36 +00: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
psi29a
3dc0e71b58
Merge branch 'constant_telekinesis' into 'master'
...
Remove redundant lookup
See merge request OpenMW/openmw!2843
2023-03-19 12:30:03 +00:00
Evil Eye
0b0f02d08b
Remove redundant lookup
2023-03-19 10:42:19 +01:00
elsid
c90e4435cd
Remove unused startup script argument
2023-03-19 00:45:50 +01:00
psi29a
5db11d81fe
Merge branch 'ref_id_strings' into 'master'
...
Use RefId high level functions instead of accessing internal data
See merge request OpenMW/openmw!2840
2023-03-18 15:30:53 +00:00
elsid
99069b02e4
Remove unused variable
2023-03-18 13:40:45 +01:00
elsid
1f6d19859a
Use startsWith for ESM::RefId
2023-03-18 13:39:52 +01:00
elsid
1258bdf40a
Use operator<< for ESM::RefId
2023-03-18 13:39:50 +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
b4a5e8ed19
Merge branch '9003rd_times_the_charm' into 'master'
...
Rework again scripted movement. Partially revert and refine !1324
See merge request OpenMW/openmw!1372
2023-03-18 09:13:57 +00: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
elsid
6a182e7798
Move generation for default values of required records to separate functions
2023-03-17 18:31:21 +01: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
fredzio
63d4564455
In 0.46, SetPos was setting position of actors before physics simulation, and from this position movement was simulated. This changed with async physics merging, and at the same time problems started, mostly with abot's scenic travel.
...
Skipping the simulation, switching off collisions, and other approaches were not correct as they either broke some mods, or some core mechanics of the engine such as teleportation or waterwalking. As it turns out, the way to go is to simply do _nothing_ (modulo some gymnastics to account for the 1 frame difference in case of async).
Scripted movement and the unstucking logic tends to collide. Early out of unstuck in case the actor doesn't attempt to move. This means there is no AI package for NPC, which are the case for some boats and striders, or the player is content with their position.
2023-03-16 22:07:26 +01:00
psi29a
df89a8c845
Merge branch 'ptr' into 'master'
...
MWLua refactoring
See merge request OpenMW/openmw!2803
2023-03-16 11:21:45 +00:00
Kindi
65cbf7f17c
skip reading if retrievalLimit is 0
2023-03-15 04:13:38 +08:00
Petr Mikheev
2bfffb3063
Move std::variant<SelfObject*, LObject, GObject> from mwlua/stats.cpp to mwlua/objectvariant.hpp
2023-03-13 23:44:00 +01:00
Petr Mikheev
0b385d5db9
Create MWWorld::SafePtr
2023-03-13 23:44:00 +01:00
Mitten Orvan
4e6d48d246
Add a bit of high-level developer documentation about the Lua system
2023-03-13 22:41:28 +00: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
d8d2cb980c
Merge branch 'world_model_init' into 'master'
...
Refactor WorldModel initialization making it C++ core guidelines complaint
See merge request OpenMW/openmw!2825
2023-03-13 10:57:03 +00:00
elsid
899c302b14
Avoid nested ifs
2023-03-13 11:31:16 +01:00
elsid
c8402c0b14
Avoid double assignment on info saving
2023-03-13 11:31:16 +01:00
elsid
0d523c3793
Log loading errors
2023-03-13 11:31:16 +01:00
elsid
9598b26462
Make loading error messages copyable
2023-03-13 11:31:16 +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
psi29a
e95f5f2ec1
Merge branch 'cherry-pick-fb3a80be' into 'master'
...
Cherry pick 'openmw-48-stereo-fixes' into 'master'
See merge request OpenMW/openmw!2829
2023-03-13 09:33:55 +00:00
psi29a
34724c5538
Merge branch 'remove_double_dialogue_store_setup' into 'master'
...
Set up Store<ESM::Dialogue> once
See merge request OpenMW/openmw!2824
2023-03-13 08:47:13 +00: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
elsid
4cf5136143
Mark WorldModel copy ctor and assignment operators as delete
2023-03-12 17:32:43 +01:00
elsid
48fde4b517
Use default initializers for WorldModel members
2023-03-12 17:32:43 +01:00
elsid
2f730011dc
Initialize WorldModel::mIdCache in the class initializer list
2023-03-12 17:32:24 +01:00
elsid
0577d2751b
Set up Store<ESM::Dialogue> once
...
Store<ESM::Dialogue> is derived from DynamicStore and setUp is called for it
along with other setUp calls for stores derived from DynamicStore.
2023-03-12 15:31:19 +01:00
elsid
55ebd97949
Remove misleading part of the function name
2023-03-12 15:14:38 +01:00
Petr Mikheev
685f86f19e
Move Morrowind-specific l10n files to a separate data dir; dehardcode a few GMST names.
2023-03-12 13:12:13 +01:00
Petr Mikheev
58fdd687a8
Support links to GMST in l10n files
2023-03-12 13:12:13 +01:00
elsid
403bc927fb
Add test for CSMWorld::InfoCollection::load
2023-03-12 12:06:33 +01:00
elsid
6f6e452dfa
Add executable to run CS tests
2023-03-12 12:06:33 +01:00
elsid
59f2fccc9f
Split openmw-cs into binary and library
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
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
elsid
8031b9a16c
Use spaces only for identation in CMakeLists.txt
2023-03-10 15:01:24 +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
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
psi29a
8e36d5e704
Merge branch 'operate_on_this' into 'master'
...
Handle incorrect comparison operators
Closes #6716
See merge request OpenMW/openmw!2801
2023-03-05 22:03:53 +00:00
psi29a
0858da3d1f
Merge branch 'cellstore' into 'master'
...
[Refactorring] Merge duplicated `public:` and `private:` sections in cellstore.hpp
See merge request OpenMW/openmw!2800
2023-03-05 20:25:54 +00:00
Evil Eye
724c6ec425
Match unit test to Morrowind.exe behaviour
2023-03-05 20:27:07 +01:00
Petr Mikheev
929fade8be
Merge duplicated public: and private: sections in cellstore.hpp
2023-03-05 18:45:53 +01:00
elsid
0040da3497
Do not use std::shared_mutex to wait for job for async physics
...
std::shared_mutex in combination with std::condition_variable_any may
lead to a situation when notify_all does not wake up all waiting threads
on Windows. Use separate std::mutex and std::condition_variable to
notify about new job. Encapsulate all workers synchronization logic into
a separate type.
2023-03-05 18:07:56 +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
31ae1cd339
Merge branch 'limit_max_bullet_supported_threads' into 'master'
...
Limit max bullet supported threads by BT_MAX_THREAD_COUNT - 1
See merge request OpenMW/openmw!2797
2023-03-04 12:42:51 +00: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
Petr Mikheev
e70ab80b90
Ignore duplicated preferred l10n locales
2023-03-04 10:20:03 +01:00
elsid
949b9191a5
Limit max bullet supported threads by BT_MAX_THREAD_COUNT - 1
...
There is a check and assert for number of threads >= BT_MAX_THREAD_COUNT.
btDbvtBroadphase::m_rayTestStacks::size may return BT_MAX_THREAD_COUNT which
triggers the assert.
2023-03-04 02:08:45 +01:00
Petr Mikheev
e007dc9d6b
Log reserving texture units
2023-03-04 00:55:34 +01:00
psi29a
88567cd363
Merge branch 'unplugged' into 'master'
...
Handle sound device changes
Closes #4382
See merge request OpenMW/openmw!2791
2023-03-03 20:41:42 +00:00
psi29a
2f4eb3e299
Merge branch 'string_to_ref_id' into 'master'
...
Replace std::string and std::string_view by ESM::RefId to avoid getRefIdString call
See merge request OpenMW/openmw!2790
2023-03-03 20:41:19 +00:00
elsid
3d3cccb8e5
Fix clamping physics threads
2023-03-03 18:44:47 +01:00
Evil Eye
027d49cf28
Set thread priority and start thread on fallback usage
2023-03-03 18:00:02 +01:00
Evil Eye
e020af8b4a
Switch to new default device if default device changes
2023-03-03 17:31:09 +01:00
elsid
d03bec60e9
Avoid redundant conversion from RefId to string and back
2023-03-03 15:44:19 +01:00
elsid
191f207e78
Avoid redundant conversion to lower case for CommandDispatcher::mSelection items
2023-03-03 15:44:19 +01:00