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

20373 commits

Author SHA1 Message Date
unknown
ea1abf8485 Unify pathgrid store containers 2023-04-18 20:18:11 +02:00
psi29a
ed4e75df65 Merge branch 'fix_includes' into 'master'
Add missing and remove redundant includes

See merge request OpenMW/openmw!2938
2023-04-18 11:46:52 +00:00
fall-leaf
cc7e29c9a2 opensuse build fix 2023-04-17 23:40:15 +03:00
elsid
b33d12b8e1
Add missing and remove redundant includes 2023-04-17 22:02:36 +02:00
Petr Mikheev
0cebaec360 Fix bug: world.createObject(id):moveTo(inventory) produces disabled objects that are visible in inventory, but can not be droped to the ground. 2023-04-17 19:07:44 +02:00
Petr Mikheev
60a8d08e66 Refactor teleporting in Lua; fix a bug in worldmodel.cpp 2023-04-17 19:07:30 +02:00
Petr Mikheev
61d207bd78 Allow Lua scripts to extend or override standard activation mechanics 2023-04-16 23:50:27 +02:00
psi29a
a82b7cb872 Merge branch 'windows_typed_settings' into 'master'
Use typed settings storage for windows (#6876)

See merge request OpenMW/openmw!2921
2023-04-16 19:36:27 +00:00
Zackhasacat
224b7a0bf8 Allow Soul values on Misc Items to be set by Lua 2023-04-16 19:28:26 +00:00
Evil Eye
2deff337d8 Fix global map position 2023-04-13 17:44:23 +02:00
Evil Eye
97fb06d8c9 Add RefId::is 2023-04-13 17:43:13 +02:00
Evil Eye
4e0eb75094 Fix exterior check when finding markers 2023-04-13 17:21:13 +02:00
elsid
20129568e6
Replace VisitorCellIdIsESM3Ext with RefId::getIf function 2023-04-13 01:06:27 +02:00
elsid
62362fc0ef
Use typed settings storage for windows
Group window settings into structs. Include rect sizes in regular and maximized
state and maximized flag. Use them instead of manipulations with string names.
2023-04-12 00:54:00 +02:00
psi29a
4fd8ed8f13 Merge branch 'qt_scene' into 'master'
Migrate from GraphicsWindowQt to QOpenGLWidget

See merge request OpenMW/openmw!2895
2023-04-11 10:51:07 +00:00
psi29a
d6d7746c9b Merge branch 'records' into 'master'
[Lua] Fix implementation of types.*.records

See merge request OpenMW/openmw!2918
2023-04-11 06:54:19 +00:00
psi29a
898e43205e Merge branch 'lua_fix_record_id' into 'master'
[Lua] Add missing `record.id` for NPC and Creature records.

See merge request OpenMW/openmw!2919
2023-04-11 06:53:59 +00:00
elsid
ec01d3cd0c
Use typed settings storage in the launcher settings page 2023-04-11 00:19:58 +02:00
elsid
121b75212f
Move SettingsPage settings related functions to anonymous namespace 2023-04-11 00:02:41 +02:00
Petr Mikheev
55c9cde2ed [Lua] Add missing record.id for NPC and Creature records. 2023-04-10 23:28:15 +02:00
Petr Mikheev
9279c3d3e1 [Lua] Fix implementation of types.*.records 2023-04-10 23:15:28 +02:00
psi29a
c39083ba7e Merge branch 'itsgraphingtime' into 'master'
Decouple PathgridGraph generation from cell

See merge request OpenMW/openmw!2914
2023-04-10 16:51:16 +00:00
psi29a
e0e3a2698b Merge branch 'fix-load-time' into 'master'
Initialize the date when loading a cell

Closes #7320

See merge request OpenMW/openmw!2911
2023-04-10 15:31:49 +00:00
Evil Eye
584f112a7b Decouple PathgridGraph generation from cell 2023-04-10 15:45:58 +02:00
psi29a
ad25e9b154 Merge branch 'settings_storage' into 'master'
Typed settings storage (#6876)

See merge request OpenMW/openmw!2651
2023-04-10 10:36:15 +00:00
psi29a
cf9d2e0d89 Merge branch 'topic/list-potions' into 'master'
Implement API method `records` for all record types

See merge request OpenMW/openmw!2880
2023-04-09 20:48:49 +00:00
Petr Mikheev
693e3f0081 Hide ESM4 markers 2023-04-09 19:08:21 +02:00
Petr Mikheev
ff774d6406 Load more ESM4 records 2023-04-09 18:52:11 +02:00
Dan Vukelich
7f2acfe173 Move fix to a more logical place 2023-04-09 10:11:32 -04:00
Mitten.O
85dc0ec481 Create a custom Lua usertype to expose a record store as a read-only array 2023-04-09 15:00:01 +03:00
elsid
83e60fef4e
Avoid using findCellPosition for coc command implementation
It breaks teleport to interior cells and in general is very fragile because
of using exception for common logic path. Remove the function since it's not
used anywhere else.
2023-04-09 13:39:29 +02:00
Dan Vukelich
1aa5a6fde3 Add missing function call to set dates when changing a cell (eg, when loading a save file) 2023-04-09 02:16:16 -04:00
psi29a
f5d470395d Merge branch 'lua_esm4' into 'master'
Merge ESM::RefNum and ESM4::FormId

See merge request OpenMW/openmw!2902
2023-04-09 01:30:56 +00:00
psi29a
d899848d33 Merge branch 'gmst_misses' into 'master'
Log the message "GMST ... not found" only once for each missing l10n GMST

See merge request OpenMW/openmw!2897
2023-04-08 22:59:18 +00:00
Petr Mikheev
f09a689a4f Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
Petr Mikheev
2365ba2ce0 Disable lazy loading 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
psi29a
7d86a56d22 Merge branch 'safecomplete' into 'master'
Only autocomplete string refids

See merge request OpenMW/openmw!2904
2023-04-08 15:12:56 +00:00
psi29a
f170ac777c Merge branch 'fix_clang_build' into 'master'
Fix build with clang and libc++

See merge request OpenMW/openmw!2908
2023-04-08 15:12:27 +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
Evil Eye
b027e96dee Pass a cell id when teleporting to an exterior 2023-04-08 12:13:48 +02:00
Evil Eye
bee9eafc1a Only autocomplete string refids 2023-04-08 11:39:38 +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
740f409a09
Add benchmarks for ESM3ExteriorCellRefId serialization 2023-04-08 01:07:13 +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
psi29a
c8f41f1c34 Merge branch 'slowfilter' into 'master'
Speedup filter in the CS

See merge request OpenMW/openmw!2901
2023-04-07 16:50:47 +00:00
fredzio
8717e8e487 Create the QRegularExpression in the TextNode constructor instead of for
each row in the filtered table.
On a table of more than 1M entries it speeds up filtering almost tenfold (from 35s to 4s).
2023-04-07 15:34:26 +02:00
psi29a
24a241352f Merge branch 'cellfallout' into 'master'
Fix cell refid issues

See merge request OpenMW/openmw!2899
2023-04-06 14:36:28 +00:00
Evil Eye
d4cbef6365 Fix cell refid issues 2023-04-06 12:52:52 +02:00
psi29a
7cd4024868 Merge branch 'cleanlvllist' into 'master'
Remove unused variable from levelledlist

See merge request OpenMW/openmw!2896
2023-04-06 10:02:02 +00:00
fredzio
fbd7ae3e2d Move getLevelledItem implementaiton in .cpp 2023-04-06 08:52:54 +02:00
Andrei Kortunov
3e9cedf3b5 Use a compile-time check 2023-04-06 08:04:21 +04:00
Petr Mikheev
2838071751 Log the message "GMST ... not found" only once for each missing l10n GMST 2023-04-05 22:47:15 +02:00
fredzio
6fb14841ab Remove unused variable 2023-04-05 22:19:18 +02:00
Andrei Kortunov
8df7ce545e Migrate from GraphicsWindowQt to QOpenGLWidget 2023-04-05 19:43:42 +04:00
psi29a
2b59c71333 Merge branch 'itsakindofskillorattributeaffectingmagic' into 'master'
Unify string construction of skill/attribute affecting effect names

Closes #7307

See merge request OpenMW/openmw!2894
2023-04-04 22:00:51 +00:00
Evil Eye
b3e17d79ec Unify string construction of skill/attribute affecting effect names 2023-04-04 20:52:33 +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
87ac85223a
Support loading ESM4 GMST records 2023-04-04 09:59:35 +02:00
elsid
b7b68bd164
Consider empty RefId as absent exterior cell 2023-04-04 01:00:53 +02:00
florent.teppe
0d17e20490 Implements serialize/deserialize
fixes test compilation.
2023-04-03 18:41:25 +02:00
florent.teppe
3258fa4f98 setworldspace uses serializeText 2023-04-03 14:17:35 +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
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
1bbf4a3acf fixes teleport to exterior cells.
fixes linux compile

fix compile bis
2023-04-03 14:16:04 +02:00
florent.teppe
502e4ad892 Fix coc to exterior cells 2023-04-03 14:16:03 +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
96e42d1666 Cellstore uses RefId. 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
b0a129d6e4 Merge branch 'ripples' into 'master'
Implement shader-based water ripples

See merge request OpenMW/openmw!2877
2023-04-02 22:43:22 +00: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
de26662c98 Merge branch 'cs_fix_skill_edit' into 'master'
Show skill name in CS (#7299)

Closes #7299

See merge request OpenMW/openmw!2887
2023-04-02 22:40:48 +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
e08d1e2c87
Show skill name in CS
Instead of RefId converted to string.

Show non StringRefId in deserializable format.
2023-04-02 18:02:18 +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
Andrei Kortunov
646148dfc8 Use GL_HALF_FLOAT because we use GL_RGBA16F 2023-04-02 14:19:44 +04:00
Mads Buvik Sandvei
e666f36b60 [Multiview] Fix transparent pass and vertex shader 2023-04-01 20:27:07 +00:00
Andrei Kortunov
e17281ac67 Implement shader-based water ripples (feature 3537) 2023-04-01 17:26:19 +04:00
psi29a
2493e79daa Merge branch 'postprocess_loc' into 'master'
Localize messagebox about disabled postprocessor

See merge request OpenMW/openmw!2878
2023-04-01 13:18:21 +00:00
Andrei Kortunov
74126953fc Do not use a rendering node position as a hit position (bug 7298) 2023-04-01 12:05:01 +04:00
Andrei Kortunov
4ff9e1956f Localize messagebox about disabled postprocessor 2023-04-01 11:42:49 +04: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
dbe273f57f Merge branch 'fix_bullet_nif_loader_tests' into 'master'
Use approximate equality for btBvhTriangleMeshShape triangles

See merge request OpenMW/openmw!2873
2023-03-30 21:43:47 +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
psi29a
086e2180fa Merge branch 'hardcodedpopsicles' into 'master'
Rotate blizzard particles

See merge request OpenMW/openmw!2872
2023-03-30 20:14:19 +00:00
elsid
f8cc929f9a
Use approximate equality for btBvhTriangleMeshShape triangles 2023-03-30 21:41:40 +02:00
uramer
7f3926db3f Merge branch 'lua_ai' into 'master'
Expose the argument `cancelOther` of `AiSequence::stack` to Lua

Closes #7245

See merge request OpenMW/openmw!2865
2023-03-30 19:35:48 +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
Evil Eye
99ab08eaef Rotate blizzard particles 2023-03-30 19:20:00 +02:00
Mitten Orvan
4744b1eeda Make API for creating potions 2023-03-29 07:46:11 +00:00
elsid
e5d5c51673
Add benchmarks for settings access 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
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