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
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