1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-22 09:53:54 +00:00
Commit graph

20363 commits

Author SHA1 Message Date
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
psi29a
954e5884c3 Merge branch 'log_setup' into 'master'
Setup logging before loading settings

See merge request OpenMW/openmw!2866
2023-03-27 10:30:48 +00:00
elsid
70ab116880
Setup logging before loading settings 2023-03-27 09:57:53 +02:00
Petr Mikheev
3c5a9f55c5 Expose the argument cancelOther of AiSequence::stack to Lua 2023-03-27 02:28:45 +02:00
Petr Mikheev
a72dc6c7a1 (Lua) Add onActivate handler in global scripts 2023-03-27 01:36:45 +02: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
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
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
e1f580e7a0
Use static constexpr string_view for hardcoded ids 2023-03-26 15:21:49 +02:00
Petr Mikheev
618b912a20 Dehardcode non-game-specific localization GMSTs; Update l10n files. 2023-03-26 13:43:44 +02:00
psi29a
76cba95a44 Merge branch 'lua' into 'master'
LuaManager refactoring

See merge request OpenMW/openmw!2852
2023-03-26 11:12:51 +00:00
psi29a
6756e1ba97 Merge branch 'lua_ref_id' into 'master'
Use ESM::RefId for Lua records

See merge request OpenMW/openmw!2857
2023-03-26 11:09:31 +00:00
Petr Mikheev
a88fcbffb0 Address review comments 2023-03-26 03:38:40 +02:00
Petr Mikheev
8d1e52ed51 Extract engine handlers processing from LuaManager to a new class EngineEvents 2023-03-26 03:38:40 +02:00
Petr Mikheev
7ef759c78b Refactor mwlua/eventqueue and extract some code out of LuaManager 2023-03-26 03:38:40 +02:00
Petr Mikheev
4fd07cb58d Implement MWWorld::Class::isItem(ptr) and remove a hacky MWLua::WorldView::isItem. 2023-03-26 03:38:40 +02:00
elsid
b7fdca0fe6
Use serialized ESM::RefId for Lua records 2023-03-25 18:19:46 +01:00
elsid
ca9c55ac26
Use common function to add record binding 2023-03-25 15:05:58 +01:00
elsid
33a59a9342
Use ESM::RefId::toDebugString to convert record to string in Lua 2023-03-25 15:05:55 +01:00
elsid
30fd8c9d23
Add benchmarks for RefId serialization and deserialization 2023-03-25 14:04:44 +01:00
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
elsid
7daef583cb
Use ESM::RefId as key for ScriptContext::mLocals 2023-03-03 15:44:18 +01:00
elsid
3975003778
Use ESM::RefId as key for Globals::mVariables 2023-03-03 15:44:18 +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
693f4c40f4
Use ESM::RefId as key for Data::mRefLoadCache 2023-03-03 15:44:18 +01:00
elsid
419a86f0b9
Use ESM::RefId for actor parts
To avoid redundant conversion RefId to string and back.
2023-03-03 15:44:14 +01:00
elsid
4cb095ce39
Use ESM::RefId as key for MergeReferencesStage::mIndex 2023-03-03 15:41:56 +01:00
elsid
eb17f0ba06
Use ESM::RefId as key in TestInterpreterContext::mMembers 2023-03-03 15:41:56 +01:00
elsid
3c9dbb11cc
Use ESM::RefId as key for SavingState::mSubRecords 2023-03-03 15:41:53 +01:00
elsid
dfcea389be
Add helper functions for string comparison to RefId 2023-03-03 00:39:55 +01:00
Evil Eye
b762807dfb Reopen audio device on disconnect 2023-03-02 22:58:07 +01:00
Evil Eye
754dac6103 Copy alext.h from OpenAL Soft 1.23 2023-03-02 22:57:00 +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
psi29a
09c784c840 Merge branch 'bullettime' into 'master'
Don't combine static node collision geometry (bug #6027)

Closes #6027

See merge request OpenMW/openmw!2779
2023-03-01 13:01:16 +00:00
jvoisin
136a3c6f77 Merge branch 'cs_cleanup' into 'master'
Cleanup inheritance and id related editor code

See merge request OpenMW/openmw!2781
2023-03-01 12:53:32 +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
elsid
c03d3360d9
Remove redundant virtual modifiers, add override and final modifiers 2023-02-28 21:18:38 +01: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
elsid
a09612264c
Fix setRecordId overload declaration
To match other declarations arguments order.
2023-02-27 23:35:50 +01:00
Alexei Dobrohotov
540fa00f12 Don't use ESM4::Lighting fog power as fog density 2023-02-27 05:50:58 +03:00
Petr Mikheev
b0a6e4e510 [Lua] Add memory usage test 2023-02-26 19:59:53 +01:00
Cody Glassman
924ba11826 Default shader at root
Assign a default shader to the scene root, otherwise objects without an assigned shader will use the FFP. An example of this is a trishape with no material, resulting in an empty stateset on the drawable level.
2023-02-26 09:32:25 -08:00
psi29a
2aac6abb85 Merge branch 'sun_writes' into 'master'
Sun flickering on Mac (part of #7052)

See merge request OpenMW/openmw!2768
2023-02-26 15:32:07 +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
552614768f Fix clang format 2023-02-26 14:07:48 +01:00
Andrei Kortunov
be488649c3 Add support for non-adaptive VSync (feature 7129) 2023-02-26 15:19:19 +04:00
Andrei Kortunov
83d15ef786 Fix Clang-Format complaints 2023-02-26 14:34:56 +04:00
Alexei Kotov
c3c61e1cd3 Merge branch 'conjure_cheap_tricks' into 'master'
Increase priority of Bound and Summon spells

Closes #2623

See merge request OpenMW/openmw!2745
2023-02-26 07:42:56 +00:00
Cody Glassman
fb5979312f fix sunglare flash, make sure all bound render targets have color masks set 2023-02-25 15:14:01 -08:00
psi29a
8651ea4412 Merge branch '7214-add-searching-to-ingame-console' into 'master'
Searching in the in-game console

Closes #7214

See merge request OpenMW/openmw!2759
2023-02-25 23:13:12 +00:00
psi29a
c02a159a26 Merge branch 'shader_refactor_v2' into 'master'
Shader refactor

See merge request OpenMW/openmw!2667
2023-02-25 23:11:21 +00:00
Cody Glassman
ac4787aeec shade refactor 2023-02-25 11:03:39 -08:00
psi29a
99acfdccb8 Merge branch 'rm_id_accessor' into 'master'
Remove redundant IdAccessor type

See merge request OpenMW/openmw!2764
2023-02-25 14:38:31 +00:00
Evil Eye
702de406ff Take skill into account when summoning weapons 2023-02-25 14:20:04 +01:00
Evil Eye
ad76b0374a Increase priority of Bound and Summon spells 2023-02-25 14:19:50 +01:00
elsid
4ed0960856
Remove redundant IdAccessor type
Use overloaded free functions instead.
2023-02-25 13:49:22 +01:00
Petr Mikheev
1c2f24d1ca Remove unused searchInContainers in WorldModel::getPtr 2023-02-23 01:57:23 +01:00
Petr Mikheev
47b7c71c73 Remove unused functions 2023-02-23 01:57:23 +01:00
Shihan42
902cad77c8 Resolve minor errors 2023-02-22 20:15:45 +01:00
Shihan42
274afff5c3 Minimal length of search string is now 1 2023-02-22 11:21:04 +01:00
Shihan42
b83cf9a92e Search is case-insensitive 2023-02-22 11:20:50 +01:00
Shihan42
ef879b5865 Rewriting the search methods 2023-02-21 15:01:16 +01:00
Shihan42
54f1f380e1 Add complete search functionality for forward and backward searching 2023-02-21 13:51:27 +01:00
Shihan42
b80556b5af Add buttons to search for next and previous occurrence 2023-02-21 12:25:17 +01:00
Shihan42
63659224fd Add new EditBox for searching to console layout 2023-02-20 18:18:00 +01:00
Cédric Mocquillon
6e23ad82d5 Load esm files from vfs 2023-02-19 21:58:19 +01:00
psi29a
a43b6fba4b Merge branch 'fix_7223' into 'master'
Fix #7223

Closes #7223

See merge request OpenMW/openmw!2736
2023-02-18 22:19:00 +00: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
Petr Mikheev
0c3237ad78 Fix #7223 2023-02-18 16:24:10 +01:00
Evil Eye
f5c5ebc1dc Prevent consumption of ingredients that don't have a first effect 2023-02-18 15:30:02 +01: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
8a62a4fe4d
Support dump for ESM3 CSTA record in esmtool 2023-02-17 23:51:22 +01:00
elsid
28f7a89530
Reuse dtNavMeshQuery
To avoid redundant allocations.
2023-02-17 15:05:25 +01:00
elsid
540ee5399c
Do expensive navmesh calls on timer
Reducing the number of them on each frame.
2023-02-17 15:05:24 +01:00
psi29a
d846a9fc15 Merge branch 'cs_optimize_saving' into 'master'
Fix editor saving performance

See merge request OpenMW/openmw!2741
2023-02-17 13:30:20 +00:00
elsid
e618026c69
Use ESM::RefId as index key in collections 2023-02-17 11:08:46 +01:00
elsid
b2299ef914
Optimize saving in editor 2023-02-17 11:05:25 +01:00
elsid
8383fa3547
Log time spent on document operations in editor 2023-02-17 00:23:02 +01:00
psi29a
18d488d968 Merge branch 'ref_id_class' into 'master'
Convert RefId to class

See merge request OpenMW/openmw!2739
2023-02-15 23:41:58 +00:00
elsid
996153f78d
Convert RefId to class 2023-02-15 23:20:44 +01:00
elsid
b6a2fd8fc1
Simplify InfoCollection
There was additional logic to create topic infos index by topic id to make
getTopicInfos and removeDialogueInfos functions faster. In practice it makes
loading slower.

Move infos index by topic to CSMWorld::Data and use only on loading.
2023-02-15 23:10:35 +01:00
elsid
de24cdc12c
Log content files loading time by editor 2023-02-15 21:29:13 +01:00
psi29a
a0cea6569b Merge branch 'took_an_arrow_to_the_disposition_cap' into 'master'
Cap temporary disposition gain and compute permanent changes accordingly

Closes #7224

See merge request OpenMW/openmw!2734
2023-02-14 21:16:21 +00: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
Evil Eye
0aa4235096 Cap temporary disposition gain and compute permanent changes accordingly 2023-02-14 20:08:11 +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
psi29a
bf0da418f9 Merge branch 'feet_stay_wet' into 'master'
Use the teleported Ptr to determine if water walking should be canceled

Closes #7227

See merge request OpenMW/openmw!2731
2023-02-13 17:51:42 +00:00
Evil Eye
8cabc1bf3b Use the teleported Ptr to determine if water walking should be canceled 2023-02-13 16:38:39 +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
076e772e3d
Use shared locks in physics system when using multithreaded bullet 2023-02-12 14:51:46 +01:00
psi29a
bfb6bab33b Merge branch 'luaclothingbinds' into 'master'
Lua API for Clothing records

See merge request OpenMW/openmw!2723
2023-02-12 09:47:53 +00:00
Alexei Kotov
09716c644e Assault victims are always aware of the committed crime (bug #7064) 2023-02-12 03:59:20 +03:00
Kindi
4734504e2c Lua binding for Clothing 2023-02-12 00:19:08 +08: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
psi29a
f87b9e7bcb Merge branch 'postprocesshud' into 'master'
Improve post-process HUD search field usability (#7198)

Closes #7198

See merge request OpenMW/openmw!2717
2023-02-11 10:50:04 +00:00
psi29a
8040d7a72a Merge branch 'hopechess' into 'master'
Unequip the weapon only after finishing the attack (bug #4610)

Closes #4610

See merge request OpenMW/openmw!2719
2023-02-11 10:49:08 +00:00
Alexei Kotov
0485b23b5f Reimplement region for TES3 cells 2023-02-11 09:36:15 +03:00
Alexei Kotov
0f7822fff8 Unequip the weapon only after finishing the attack (bug #4610) 2023-02-11 09:00:20 +03:00
Alexei Kotov
1df5fd341b Don't override post-processing HUD search field focus 2023-02-11 03:04:39 +03:00
Alexei Kotov
3b8001d55d Make post-processing HUD search case-insensitive 2023-02-11 02:56:15 +03:00
psi29a
a31d381611 Merge branch 'esm_format_version' into 'master'
Name all custom ESM format versions and add tests

See merge request OpenMW/openmw!2712
2023-02-10 20:43:06 +00:00
elsid
080700f8fe
Name all custom ESM format versions and add tests 2023-02-10 19:54:15 +01:00
psi29a
5eba755174 Merge branch 'forwardtothepast' into 'master'
Support /-separated big effect icon paths

See merge request OpenMW/openmw!2711
2023-02-10 17:44:26 +00:00
psi29a
886600a1dd Merge branch 'consoledisposal' into 'master'
Check if the console's selected object is available (bug #5870)

Closes #5870

See merge request OpenMW/openmw!2713
2023-02-10 17:26:54 +00:00
psi29a
d3874644c1 Merge branch 'oripaging' into 'master'
Try printing template textures if instance textures are unavailable for any reason

See merge request OpenMW/openmw!2709
2023-02-10 16:53:02 +00:00
Alexei Kotov
7b62d47abc Support /-separated big effect icon paths 2023-02-10 18:34:20 +03:00
Andrei Kortunov
5836bd8d87 Remove redundant include 2023-02-10 19:24:12 +04:00
Alexei Kotov
e96448d66f Use model template as a fallback in BetaComment 2023-02-10 17:24:02 +03:00
Alexei Kotov
f356d0a2fc Check if the console's selected object is available (bug #5870) 2023-02-10 16:08:38 +03:00
psi29a
b385f27f86 Merge branch 'console_history' into 'master'
Remembering console commands between sessions

Closes #7125

See merge request OpenMW/openmw!2603
2023-02-10 11:54:45 +00:00
Kindi
044d82a842 Remembering console commands between sessions 2023-02-10 11:54:45 +00:00
psi29a
f14031b30b Merge branch 'ori' into 'master'
Print bound textures in BetaComment (feature #7194)

See merge request OpenMW/openmw!2705
2023-02-10 07:45:57 +00:00
Alexei Kotov
192f79841b Print bound textures in BC (feature #7194) 2023-02-10 03:05:33 +03:00
Alexei Kotov
5340c2c816 Fix Lua ingredient bindings 2023-02-10 02:50:13 +03:00
elsid
d20b05c7fb
Support reading specific nif files from archive by niftest 2023-02-08 22:59:33 +01: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
elsid
ac5f22445e
Support compressed BSA archives by niftest 2023-02-08 22:07:37 +01:00
elsid
1a2c56fefb
Fix checking for file extension in niftest 2023-02-08 21:54:25 +01:00
elsid
36b33cc1a5
Support absence of player and other actors in physics system 2023-02-08 20:19:59 +01: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
elsid
4b8941677d
Do not write binary data to std::cout by esmtool 2023-02-07 10:40:31 +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
f09789002a
Define hardcoded global variable names as constants 2023-02-07 00:47:34 +01:00
elsid
af003d94f8
Log error when failed to open stats file 2023-02-06 21:52: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
psi29a
91a4c09fa6 Merge branch 'oldtelvanniheart' into 'master'
Use correct exterior cell when positioning

See merge request OpenMW/openmw!2688
2023-02-06 19:46:00 +00:00
florent.teppe
a71a86e64a Load light models in the engine. Doesn't emit light 2023-02-06 20:22:17 +01: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
Evil Eye
97c6d25d54 Use correct exterior cell when positioning 2023-02-06 16:36:45 +01:00
Andrei Kortunov
7e2aedf637 Add an initial Qt6 support 2023-02-06 18:38:59 +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