florent.teppe
53cc9f3614
functions return reference instead of ptr
...
because the function can never return an nullptr, we return a reference.
2023-04-20 15:55:40 +02:00
psi29a
2a6e301925
Merge branch 'activation' into 'master'
...
Allow Lua scripts to extend or override standard activation mechanics
See merge request OpenMW/openmw!2935
2023-04-20 11:29:21 +00:00
psi29a
cace3e6566
Merge branch 'fix_teleporting' into 'master'
...
Fix bugs related to Lua commands `obj:teleport` and `obj:moveInto`
See merge request OpenMW/openmw!2937
2023-04-20 11:28:02 +00:00
florent.teppe
fc3d113d29
fix tests
2023-04-20 10:25:10 +02:00
florent.teppe
6b5d9f3344
fixes reference saving stage
2023-04-20 10:03:35 +02:00
florent.teppe
cb4a97e50b
Displays references in exterior cells. A bit hackish.
2023-04-20 10:03:35 +02:00
florent.teppe
3bbf60373a
Keep things coherent between references and and cell table
2023-04-20 10:03:34 +02:00
florent.teppe
69f2285a95
fix issue #7335
2023-04-20 09:55:17 +02:00
psi29a
70ddca78bf
Merge branch 'ref_id_print_tests' into 'master'
...
Add more tests for printing RefId and clarify some constants
See merge request OpenMW/openmw!2945
2023-04-20 07:29:05 +00: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
3546d2b3e5
Make Store<ESM4::Reference> to use FormId instead of RefId
2023-04-20 01:47:16 +02:00
Petr Mikheev
1c3903f155
Support ESM4 types in cell:getAll
2023-04-20 01:47:16 +02:00
Petr Mikheev
00beb06391
Initial Lua bindings for ESM4 types; bindings for ESM4Door.
2023-04-20 01:47:16 +02:00
Petr Mikheev
16845aa38e
Reorganize ESM4 MWClasses; Add tooltips that are needed for activation.
2023-04-20 01:47:16 +02:00
psi29a
4738f0ff4d
Merge branch 'fix_lua' into 'master'
...
Restore logic that was accidentally removed in !2852 .
See merge request OpenMW/openmw!2943
2023-04-19 10:56:42 +00:00
psi29a
f15e371e89
Merge branch 'pathstore' into 'master'
...
Unify pathgrid store containers
See merge request OpenMW/openmw!2941
2023-04-19 10:54:55 +00:00
unknown
9368941f62
Address feedback
2023-04-19 02:31:40 +02:00
Petr Mikheev
75e47f859c
Restore logic that was accidentally removed in !2852 . Because of it onUpdate
handler in local Lua scripts doesn't work.
2023-04-18 23:31:44 +02:00
elsid
b8525e8e3d
Fix code format
2023-04-18 20:23:03 +02:00
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