1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-27 06:39:43 +00:00
Commit graph

21770 commits

Author SHA1 Message Date
psi29a
84e71f4977 Merge branch 'hashtagcornyphrase' into 'master'
Don't replace tags when dealing with console input

See merge request OpenMW/openmw!3291
2023-08-08 08:54:23 +00:00
psi29a
3151452e25 Merge branch 'pandorasbox' into 'master'
Launcher, content selector: support ESM4 files, allow using game files as addon files

See merge request OpenMW/openmw!3219
2023-08-08 08:54:10 +00:00
psi29a
7b4f7b7f07 Merge branch 'adjust_refnum' into 'master'
Adjust FormId in FormIdRefId and for items in containers when loading saves

See merge request OpenMW/openmw!3293
2023-08-08 08:54:00 +00:00
Evil Eye
fb10014d6e Remove heal cooldown 2023-08-07 22:44:24 +02:00
Evil Eye
ee92ae7e34 Simplify restore magicka priority 2023-08-07 22:43:39 +02:00
Evil Eye
7c82405c9f Tweak AI rating to reduce healing spam 2023-08-07 22:43:35 +02:00
elsid
8e7fe44514
Support terrain sample size greater than cell size 2023-08-06 23:47:35 +02:00
elsid
2a49919b53
Move esm3terrain to esmterrain 2023-08-06 19:17:44 +02:00
psi29a
fadfffe22c Merge branch 'settings_values_map' into 'master'
Use settings values for Map settings (#6876)

See merge request OpenMW/openmw!3284
2023-08-06 16:14:09 +00:00
psi29a
0c5faf8fbb Merge branch 'save_apply_lua_actions' into 'master'
Apply delayed Lua actions before making a save

See merge request OpenMW/openmw!3294
2023-08-06 16:13:33 +00:00
psi29a
ba4298f36d Merge branch 'refactor_esm4' into 'master'
Refactor components/esm4 to make it easier to load records to ESMStore

See merge request OpenMW/openmw!3301
2023-08-06 16:13:07 +00:00
psi29a
8d1a19a6f4 [#7358] Make MyGui 3.4.2 required for 0.49 2023-08-06 16:05:59 +00:00
Petr Mikheev
957880d515 Add to ESMStore the records that are needed to render ESM4 actors; cleanup usage of records.hpp 2023-08-05 13:18:09 +02:00
Petr Mikheev
5d54ca6fdb Refactor components/esm4 2023-08-05 13:12:24 +02:00
psi29a
e6cffa5494 Merge branch '7248-Extend_console_search_with_regex_and_case_sensitivity' into 'master'
Resolve "Extend searching in the console with regex and toggleable case-sensitivity"

Closes #7248

See merge request OpenMW/openmw!3248
2023-08-05 10:02:08 +00:00
Chris Vigil
996f5fd7ad Resolve "Extend searching in the console with regex and toggleable case-sensitivity" 2023-08-05 10:02:07 +00:00
psi29a
2a4440e5b1 Merge branch 'theprojectileswereswords' into 'master'
Fix price enchantment price calculation to use the correct item count

Closes #7472

See merge request OpenMW/openmw!3227
2023-08-04 09:05:02 +00:00
psi29a
c290754077 Revert "Merge branch 'loadSSEAlchemyTable' into 'master'"
This reverts merge request !3267
2023-08-03 19:55:06 +00:00
psi29a
4aaffa72e5 Merge branch 'more_coverity_fixes' into 'master'
More coverity fixes

See merge request OpenMW/openmw!3304
2023-08-03 07:15:34 +00:00
Andrei Kortunov
b3a981e0fc Simplify strings construction 2023-08-02 17:59:40 +04:00
psi29a
5160fbc2a0 Merge branch 'fixedtimestamp' into 'master'
Move TimeStamp to ESM3 and remove sized reads

See merge request OpenMW/openmw!3295
2023-08-02 08:11:33 +00:00
psi29a
b643e58e71 Merge branch 'esm4_cell_description' into 'master'
Always log something for loading and unloading ESM4 cell

See merge request OpenMW/openmw!3298
2023-08-02 08:10:59 +00:00
psi29a
354798fc7f Merge branch 'terrain_fixes' into 'master'
Do not copy QVectors twice

See merge request OpenMW/openmw!3308
2023-08-02 08:10:32 +00:00
psi29a
4aafcf5fdc Merge branch 'rm_path_to_next_path_point' into 'master'
Do not build path to next path point via navmesh

See merge request OpenMW/openmw!3306
2023-08-02 07:53:01 +00:00
elsid
22981af2ea
Make sure ESM4 cell description is not empty
To avoid logging empty cell descriptions on loading and unloading. Not all cells
have editor id but every has id and coordinates. Add world to distinguish cell
coordinates in different worldspaces.
2023-08-01 14:42:53 +02:00
Andrei Kortunov
0723b44a65 Do not copy QVectors twice 2023-08-01 15:45:18 +04:00
psi29a
c86eecb2ea Merge branch 'movable_objects' into 'master'
Move objects instead of copying where possible

See merge request OpenMW/openmw!3289
2023-08-01 10:43:44 +00:00
psi29a
6ff2bb8aeb Merge branch 'more_esm4_fields' into 'master'
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool

See merge request OpenMW/openmw!3299
2023-08-01 07:25:34 +00:00
psi29a
23671ced33 Merge branch 'fix_use_after_move' into 'master'
Fix use after move in InfoOrder::insertInfo

See merge request OpenMW/openmw!3296
2023-08-01 07:25:17 +00:00
elsid
fbeb3ab03a
Do not build path to next path point via navmesh
To void a situation when next path point continuously changing making actor go
in circles.

This is unnecessary but also creates problems since pathgrid is used to build
path for AiWander.
2023-07-31 22:02:21 +02:00
Andrei Kortunov
35561450f1 Do not copy osg::ref_ptr when possible 2023-07-31 20:43:46 +04:00
Andrei Kortunov
d3d7a663c6 Move some objects instead of copying 2023-07-31 20:43:46 +04:00
Andrei Kortunov
dee9ebd05e Fix operations order 2023-07-31 20:15:30 +04:00
Andrei Kortunov
b1c8a968ae Do not use invalid iterators 2023-07-31 17:53:33 +04:00
Andrei Kortunov
deba5b4d47 Catch unhandled exceptions 2023-07-31 16:35:31 +04:00
Andrei Kortunov
da06cd005e Init variables 2023-07-31 16:35:31 +04:00
Andrei Kortunov
c50769c8c5 Catch filesystem exceptions 2023-07-31 16:35:31 +04:00
psi29a
1d207ed318 Merge branch 'test_load_deleted_dialinfo' into 'master'
Add test to ensure deleted DialInfos are removed

See merge request OpenMW/openmw!3297
2023-07-31 10:50:07 +00:00
psi29a
4990f786eb Merge branch 'fix_esm4_exterior_cell' into 'master'
Treat ESM4 exterior cells as exterior

See merge request OpenMW/openmw!3282
2023-07-31 10:49:54 +00:00
psi29a
b2f669ca48 Merge branch 'fix_async_load' into 'master'
Fix crash related to async content loading (#7508)

Closes #7508

See merge request OpenMW/openmw!3290
2023-07-31 10:49:33 +00:00
Petr Mikheev
3814830e9f Fix build (missing include) 2023-07-31 09:32:52 +02:00
Petr Mikheev
0487bf95d1 Merge branch 'coverity49' into 'master'
Fix some Coverity warnings

See merge request OpenMW/openmw!3286
2023-07-31 00:09:14 +00:00
Petr Mikheev
e077ca5aa3 Merge branch 'clean_includes_4' into 'master'
Cleanup includes

See merge request OpenMW/openmw!3288
2023-07-31 00:04:18 +00:00
Petr Mikheev
abde92e207 Merge branch 'active-spells-rework' into 'master'
Lua: active spell params and active spell effects

See merge request OpenMW/openmw!3179
2023-07-31 00:02:05 +00:00
Mads Buvik Sandvei
c18a7801ed Lua: active spell params and active spell effects 2023-07-31 00:02:05 +00:00
Petr Mikheev
5702cb4b30 Merge branch 'effective-effect-indexing' into 'master'
Lua: String overload for effects store index.

See merge request OpenMW/openmw!3285
2023-07-30 23:55:19 +00:00
Mads Buvik Sandvei
edb7081ea6 Lua: String overload for effects store index. 2023-07-30 23:55:19 +00:00
elsid
798f3cc385
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool 2023-07-30 18:20:10 +02:00
elsid
385dab3df3
Cache cell description
It should not change over time and it's relatively small enough to trade some
CPU time for some memory.
2023-07-30 17:13:50 +02:00
elsid
d59a993351
Treat ESM4 exterior cells as exterior
Prevent adding exterior cells to WorldModel::mInteriors. Otherwise CellStore
might be created twice because it's not present in mExteriors but present in
mCells. This happens on teleport to a cell using its name (e.g. --start
"AnvilMainGate" flag).
2023-07-30 16:50:50 +02:00
elsid
662991dda9
Add test to ensure deleted DialInfos are removed 2023-07-30 14:11:13 +02:00
elsid
66c5944ecf
Fix use after move in InfoOrder::insertInfo
When it->second.mPosition->mPrev != value.mPrev value is first moved into
*mPosition and then used to get mPrev. Since mPrev is RefId and it's copy-only
type there is no real problem but coverity complains about it.

Also enforce contract of insertInfo to support move-only types by adding a test
for a value type with deleted copy constructors.
2023-07-30 13:37:53 +02:00
Evil Eye
79b3855c5b Move TimeStamp to ESM3 and remove sized reads 2023-07-30 11:37:32 +02:00
Petr Mikheev
f344c26465 Apply delayed Lua actions before making a save 2023-07-30 02:50:22 +02:00
Petr Mikheev
9a9f9d7081 Adjust FormId in FormIdRefId and for items in containers when loading saves 2023-07-30 02:01:09 +02:00
Petr Mikheev
2b601eea6d Fix crash related to async content loading (#7508) 2023-07-29 21:13:57 +02:00
Evil Eye
c47489ef6e Don't replace tags when dealing with console input 2023-07-29 17:07:37 +02:00
elsid
dd54857610
Add missing array include 2023-07-29 00:29:03 +02:00
elsid
c9c32d9a0d
Cleanup includes 2023-07-29 00:16:43 +02:00
Andrei Kortunov
d8ec78d732 Fix some Coverity warnings 2023-07-28 20:58:18 +04:00
psi29a
81deb3796b Merge branch 'loadSSEAlchemyTable' into 'master'
Load SSE alchemy table

See merge request OpenMW/openmw!3267
2023-07-28 07:46:20 +00:00
alekulyn
d2896945e8 Load SSE alchemy table 2023-07-28 07:46:20 +00:00
psi29a
a6d6e16d48 Merge branch 'readsize' into 'master'
Disallow implicitly sized reads of ESM structs

See merge request OpenMW/openmw!3100
2023-07-28 07:01:32 +00:00
elsid
9acb93ab29
Use settings values for Map settings 2023-07-27 22:53:53 +02:00
psi29a
e76ce6b696 Merge branch 'fix_find_path' into 'master'
Remove stepping from findSmoothPath and other tweaks (#7241 , #7485)

Closes #7485 and #7241

See merge request OpenMW/openmw!3264
2023-07-27 09:34:50 +00:00
psi29a
3e16ef7445 Merge branch 'esm4_achr' into 'master'
Load ESM4 actors (no rendering yet)

See merge request OpenMW/openmw!3278
2023-07-27 09:34:28 +00:00
psi29a
f5677aa352 Merge branch 'settings_values_input' into 'master'
Use settings values for Input settings (#6876)

See merge request OpenMW/openmw!3265
2023-07-27 09:33:14 +00:00
psi29a
e073eab05e Merge branch 'more_evade_directions' into 'master'
Use more evade directions and filter by supporting animation (#7450)

Closes #7450

See merge request OpenMW/openmw!3210
2023-07-27 09:32:39 +00:00
psi29a
3032b340a2 Merge branch 'teleporting' into 'master'
A few Lua changes related to teleporting

See merge request OpenMW/openmw!3246
2023-07-27 09:32:28 +00:00
psi29a
cf8af70764 Merge branch 'fix_remove_from_inventory' into 'master'
[Lua] Fix removing from inventory

See merge request OpenMW/openmw!3229
2023-07-27 09:32:08 +00:00
Petr Mikheev
bc1d412aaa Merge branch 'fix-7503' into 'master'
[#7503]: pass full count of coins to createGold() in moveToCell()

See merge request OpenMW/openmw!3279
2023-07-27 09:31:24 +00:00
Petr Mikheev
9b511fdf7a Load ESM4 actors 2023-07-26 11:47:50 +02:00
Petr Mikheev
f99582e671 [Lua] Fix removing from inventory 2023-07-25 23:34:25 +02:00
psi29a
488657d9b4 Merge branch 'refnum-for-items-in-spellcast' into 'master'
Use refnum instead of slot for items during spellcast

Closes #4508

See merge request OpenMW/openmw!3244
2023-07-25 21:23:59 +00:00
Mads Buvik Sandvei
364f2a98e9 Use refnum instead of slot for items during spellcast 2023-07-25 21:23:59 +00:00
psi29a
94d8c50df2 Merge branch 'lua_activation' into 'master'
Lua scripts can handle activation of mwscripted objects

See merge request OpenMW/openmw!3263
2023-07-25 21:23:20 +00:00
jvoisin
090f823c17 Fix a coverity warning 2023-07-25 14:39:03 +02:00
Mads Buvik Sandvei
1162323e96 Do not redundantly take and set count in moveToCell(). moveToCell() should always be moving the full stack. 2023-07-25 14:22:00 +02:00
Mads Buvik Sandvei
8867e76fd7 pass full count of coins to createGold() in moveToCell() 2023-07-25 13:38:14 +02:00
psi29a
b9460afdfd Merge branch 'save-game-string-view' into 'master'
Refactor saveGame to use string_view

See merge request OpenMW/openmw!3271
2023-07-25 11:14:51 +00:00
psi29a
baf7ef2525 Merge branch 'copying' into 'master'
Avoid unnecessary LiveCellRef copying; Fix potential use-after-free in WorldModel

See merge request OpenMW/openmw!3276
2023-07-25 08:21:17 +00:00
AnyOldName3
6246b479ea Merge branch 'async_content_load' into 'master'
Speedup loading - load content files during logo video playing

See merge request OpenMW/openmw!3249
2023-07-24 23:42:46 +00:00
Petr Mikheev
4d004e4730 Avoid unnecessary LiveCellRef copying in a couple of places; change initialization order in WorldModel; 2023-07-24 23:36:24 +02:00
Christian Bouwense
4b5d64f9e5 inline asUTF8() instead of constructing a whole new string_view 2023-07-24 14:41:17 -04:00
psi29a
f9cb752b25 Merge branch 'resistanceisnotfutile' into 'master'
Resist failed normal weapon hits (bug #7284)

Closes #7284

See merge request OpenMW/openmw!3220
2023-07-24 11:24:14 +00:00
psi29a
7ead12e103 Merge branch 'dropit' into 'master'
Drop empty stacks that aren't overriding anything

See merge request OpenMW/openmw!3268
2023-07-24 09:11:08 +00:00
psi29a
09e1ff9a4b Merge branch 'fix_world_model' into 'master'
Fix WorldModel (#7474)

Closes #7474

See merge request OpenMW/openmw!3270
2023-07-24 09:10:06 +00:00
psi29a
b68ca259ae remove unused variables and commented out code 2023-07-23 22:43:28 +02:00
Christian Bouwense
7d0caf9eec refactor saveGame to use string_view instead of a const standard string reference 2023-07-23 14:45:01 -04:00
elsid
8ceb79caf5
Load present cell store when requested 2023-07-23 18:36:32 +02:00
elsid
1a7b4283e7
Avoid duplicated emplace for interior cell store 2023-07-23 18:35:49 +02:00
Evil Eye
c80574299d Drop non-carriable lights and empty stacks that aren't overriding anything 2023-07-23 14:51:58 +02:00
Petr Mikheev
59d17d3eb6 Fix #7491 2023-07-22 19:45:39 +02:00
elsid
6c18723bc7
Use settings values for Input settings 2023-07-22 18:27:53 +02:00
elsid
5a27ccacb7
Pass const float* to vanityRotateCamera 2023-07-22 18:24:55 +02:00
elsid
e00eb50587
Remove stepping from findSmoothPath
This is not used anyway. There are features like smooth movement which remove
all redundant points.

Use single findStraightPath call instead of multiple.
2023-07-22 18:08:40 +02:00
elsid
b4868c6094
Filter evade directions by supported animations
To avoid trying those which will not lead to any actor movement due to absent
animation.
2023-07-22 17:30:40 +02:00
elsid
80ae8ce116
Cache supported animations 2023-07-22 17:30:40 +02:00
elsid
579e533621
Add more evade directions and order them to make a circle 2023-07-22 17:30:38 +02:00
elsid
53a129a762
Include pathgrid to all AI packages paths 2023-07-22 17:24:50 +02:00
Petr Mikheev
2c212b18e4 Remove World::activate since all activation now goes trough LuaManager 2023-07-22 17:22:43 +02:00
Petr Mikheev
c5871a5a7a Allow to handle activation in Lua even for mwscripted objects 2023-07-22 16:57:39 +02:00
Petr Mikheev
9105a073fc Handle ESM4::Rec_Deleted and ESM4::Rec_Disabled flags. 2023-07-22 15:22:02 +02:00
psi29a
4973230b84 Merge branch 'settings_values_hud' into 'master'
Use settings values for HUD settings (#6876)

See merge request OpenMW/openmw!3250
2023-07-21 08:36:45 +00:00
psi29a
9410eed9e5 Merge branch 'bump-cmake-version' into 'master'
Bump required CMake version to 3.16

See merge request OpenMW/openmw!3242
2023-07-20 17:40:29 +00:00
Evil Eye
45ba05c0ed Disallow implicitly sized reads of ESM structs 2023-07-20 19:16:53 +02:00
psi29a
ec9b4c4563 Merge branch 'caius4friends' into 'master'
Fix dialogue insertion again

See merge request OpenMW/openmw!3212
2023-07-20 15:29:57 +00:00
psi29a
03dbe1c9f3 Merge branch 'stringrefidskills' into 'master'
Assign StringRefIds to skills

See merge request OpenMW/openmw!3146
2023-07-20 07:15:49 +00:00
Petr Mikheev
38f409e687 Fix #7446: Incorrect height after teleporting from one worldspace to another 2023-07-20 02:15:27 +02:00
AnyOldName3
34fcfb63cf Eliminate redundant version checks 2023-07-20 00:43:56 +01:00
Petr Mikheev
1bfe59e2fb Load content files during playing logo video 2023-07-20 01:22:01 +02:00
elsid
fac1927f5e
Use settings values for HUD settings 2023-07-19 22:53:35 +02:00
Petr Mikheev
f2edf05a55 Move camera update after teleporting from worldimp to camera.lua 2023-07-19 10:42:58 +02:00
Petr Mikheev
4016e8b383 Lua engine handler onTeleported 2023-07-19 10:42:58 +02:00
Petr Mikheev
086fdb1f37 Run onNewGame handler in LuaManager::synchronizedUpdate 2023-07-19 10:07:30 +02:00
psi29a
baa67893b6 Merge branch 'settings_values_gui' into 'master'
Use settings values for GUI settings (#6876)

See merge request OpenMW/openmw!3238
2023-07-18 10:25:36 +00:00
psi29a
5a31320d8d Merge branch 'preserve-refnum-on-drop' into 'master'
Preserve refnum when dropping items from inventory to ground.

Closes #6148

See merge request OpenMW/openmw!3207
2023-07-18 10:25:28 +00:00
psi29a
85822eca45 Merge branch 'darkmagic' into 'master'
Implement the NegativeLight flag

Closes #7477

See merge request OpenMW/openmw!3240
2023-07-18 10:25:19 +00:00
Alexei Kotov
7e1e43f9c6 Allow GMSTs with empty EDID 2023-07-17 22:51:25 +03:00
Mads Buvik Sandvei
61f1f4a013 signed/unsigned comparison warning. 2023-07-17 20:41:49 +02:00
Evil Eye
7573004efc Implement the NegativeLight flag 2023-07-17 18:00:15 +02:00
Mads Buvik Sandvei
fe0b640f85 Use copyItem() when not moving full stack. 2023-07-17 17:58:39 +02:00
Mads Buvik Sandvei
b8a9fcad68 fixes based on comments by ptmikheev 2023-07-17 17:06:28 +02:00
Mads Buvik Sandvei
e22eec0585 optimize moveItem() by unsetting refnum instead of calling unstackItem. 2023-07-17 15:15:27 +02:00
Petr Mikheev
b583aad14a Fix bug in LuaManager::reloadAllScripts 2023-07-17 02:21:46 +02:00
elsid
d113f0fc44
Use settings values for GUI settings 2023-07-16 20:46:54 +02:00
psi29a
98bb9fc125 Merge branch 'deserializedeez' into 'master'
Make RefId::deserializeText return an empty RefId if no pre-existing StringRefId can be found

See merge request OpenMW/openmw!3226
2023-07-16 08:46:48 +00:00
psi29a
f4295cf67a Merge branch 'fix_getall' into 'master'
Fix argument validation in Lua command `cell:getAll`

See merge request OpenMW/openmw!3195
2023-07-16 08:45:54 +00:00
psi29a
b383efabf5 Merge branch 'urinvalid' into 'master'
Don't allow saves with an invalid last generated RefNum to load

Closes #7134

See merge request OpenMW/openmw!3233
2023-07-16 08:45:41 +00:00
psi29a
abb71eeb53 Merge branch 'plannedobsolescence' into 'master'
Allow compilation with MYGUI_DONT_USE_OBSOLETE

See merge request OpenMW/openmw!3232
2023-07-16 08:44:59 +00:00
Alexei Kotov
80b7dec571 Prevent object paging from leaking Vvardenfell into other exteriors 2023-07-16 00:05:59 +03:00
Mads Buvik Sandvei
64e55b37ec Clang'd 2023-07-15 18:59:16 +02:00
Mads Buvik Sandvei
6e03d710ba Remove ItemModel::copyItem(), it is obsolete. 2023-07-15 18:19:52 +02:00
Evil Eye
44ab0ff8ef Don't allow saves with an invalid last generated RefNum to load 2023-07-15 16:26:28 +02:00
Evil Eye
a0127dd7e4 Allow compilation with MYGUI_DONT_USE_OBSOLETE 2023-07-15 15:02:27 +02:00
Evil Eye
cd8f2355c0 Only allow StringRefId for Skill ids 2023-07-14 17:33:32 +02:00
Evil Eye
b082afd5b0 Fix price enchantment price calculation to use the correct item count 2023-07-14 17:06:33 +02:00
Evil Eye
f7be94aa21 Address feedback 2023-07-13 18:55:23 +02:00
Evil Eye
967b5d205b Use StringRefId for skills 2023-07-13 18:55:22 +02:00
Evil Eye
ac9378fa08 Replace Skill::mIndex with Skill::refIdToIndex 2023-07-13 18:55:21 +02:00
Evil Eye
c59032fd66 Make RefId::deserializeText return an empty RefId if no pre-existing StringRefId can be found 2023-07-13 16:49:23 +02:00
Alexei Dobrohotov
39c84c84da Cap global map cell size (bug #6222) 2023-07-13 14:53:08 +03:00
Petr Mikheev
95bce836ee Add non-carriable lights to nearby.items 2023-07-12 22:26:06 +02:00
Petr Mikheev
e96864a79c Fix argument validation in Lua command cell:getAll 2023-07-12 22:23:42 +02:00
Evil Eye
974b4739fa Add a test for three way merges 2023-07-12 21:38:20 +02:00
Alexei Kotov
89c18d85de Merge branch 'settings_values_groundcover' into 'master'
Use settings values for Groundcover settings (#6876)

See merge request OpenMW/openmw!3204
2023-07-11 13:58:03 +00:00
Alexei Kotov
4bbbfe74b3 Merge branch 'finishdrag' into 'master'
Finish draganddrop before startdrag

See merge request OpenMW/openmw!3186
2023-07-11 12:29:35 +00:00
Kindi
00e5f31242 Finish draganddrop before startdrag 2023-07-11 12:29:35 +00:00
psi29a
429e911da1 Merge branch 'lua_journal' into 'master'
Add Lua bindings for journal (second iteration of !3133)

See merge request OpenMW/openmw!3189
2023-07-11 07:37:13 +00:00
Alexei Dobrohotov
411c71062c Resist failed normal weapon hits (bug #7284) 2023-07-11 09:53:56 +03:00
Alexei Dobrohotov
d589b46f96 Launcher, content selector: support ESM4 files
Cell name loader ignores ESM4 files
2023-07-11 05:31:58 +03:00
Alexei Dobrohotov
2de8c6b3c0 Don't discard collision for the entire tree if BSXFlags marker flag is set 2023-07-10 23:37:37 +03:00
unknown
09147934fb Adjust unit tests 2023-07-09 18:48:14 +02:00
Mads Buvik Sandvei
0c37a64a84 Remove resolved TODO 2023-07-09 13:43:00 +00:00
psi29a
a755fa0f34 Merge branch 'cleanup_includes' into 'master'
Cleanup includes

See merge request OpenMW/openmw!3203
2023-07-09 10:15:09 +00:00
Alexei Dobrohotov
3b85f9f8cf Autocomplete ESM4::Cell editor IDs 2023-07-09 01:34:18 +03:00
Mads Buvik Sandvei
8c3c5238d7 Preserve refnum when dropping items from inventory to ground. 2023-07-08 17:24:13 +02:00
psi29a
fbe6a398f8 Merge branch 'unstack-refnum' into 'master'
Generate new refnum for the new stack created when unstacking.

See merge request OpenMW/openmw!3206
2023-07-08 14:58:28 +00:00
Mads Buvik Sandvei
0f608f388e Generate new refnum for the new stack created when unstacking. 2023-07-08 14:51:49 +02:00
psi29a
29ffc2840e Merge branch 'fix_7448' into 'master'
Fix #7448 (onConsume don't work after loading a save if inventory wasn't accessed from Lua)

Closes #7448

See merge request OpenMW/openmw!3194
2023-07-08 12:36:52 +00:00
Petr Mikheev
a09fb8d8f8 Rework Lua bindings for journal 2023-07-08 14:32:58 +02:00
Tobias Tribble
c792582376 Add Lua bindings for journal 2023-07-08 13:37:39 +02:00
elsid
0851f0705d
Use settings values for Groundcover settings 2023-07-08 12:08:27 +02:00
elsid
f6fce5ee15
Cleanup includes 2023-07-08 11:28:56 +02:00
psi29a
63e9a63c67 Merge branch 'i-can-see-nearly-now-the-grass-is-gone' into 'master'
Maybe compute an accurate near and far plane using primitives for groundcover

See merge request OpenMW/openmw!2960
2023-07-08 08:58:13 +00:00
psi29a
cab47d0a2a Merge branch 'settings_values_general' into 'master'
Use settings values for General settings (#6876)

See merge request OpenMW/openmw!3198
2023-07-07 13:07:13 +00:00
psi29a
aa820be986 Merge branch 'cell_for_drafts' into 'master'
Add special cell for objects created via Lua scripts and not yet added into the world

Closes #7383

See merge request OpenMW/openmw!3193
2023-07-07 13:06:54 +00:00
Petr Mikheev
fb7ba40385 Merge branch 'lua-bb-once-and-for-all' into 'master'
Lua - Fix BB once and for all

See merge request OpenMW/openmw!3143
2023-07-05 20:21:38 +00:00
elsid
ebb8fdc698
Use settings values for General settings 2023-07-04 21:40:04 +02:00
glassmancody.info
a659d2eaeb lua - fix bounding box once and for all 2023-07-04 09:55:11 -07:00
Petr Mikheev
d830ae37b1 Add special cell for objects created via Lua scripts and not yet added into the world 2023-07-04 17:15:14 +02:00
elsid
a6dbd819a1
Fix writing IndexRefId to ESM3
Use correct enum value.
2023-07-04 11:34:52 +02:00
psi29a
8a33edd64a Merge branch 'cleanup_includes' into 'master'
Cleanup includes

See merge request OpenMW/openmw!3191
2023-07-03 16:01:48 +00:00
psi29a
050fc20379 Merge branch 'settings_values_game' into 'master'
Use settings values for Game settings (#6876)

See merge request OpenMW/openmw!3188
2023-07-03 07:20:36 +00:00
Petr Mikheev
e3fa3a3712 Fix 7448 (onConsume don't work after loading a save if inventory wasn't accessed from Lua) 2023-07-03 02:13:41 +02:00
psi29a
6601b0cb15 Merge branch 'fastandloose' into 'master'
Drop support for --fs-strict

Closes #7394

See merge request OpenMW/openmw!3093
2023-07-02 19:24:14 +00:00
psi29a
b1e00b59f2 Merge branch 'lua_mwscript' into 'master'
Change MWScript Lua bindings (#7142)

See merge request OpenMW/openmw!2881
2023-07-02 19:23:09 +00:00
elsid
05a42a1816
Cleanup includes 2023-07-01 13:52:09 +02:00
psi29a
023e8f72cd Merge branch 'master' into 'master'
pass time on OnTrainingFinished callback instead of before the fadeScreenIn

See merge request OpenMW/openmw!3181
2023-07-01 08:48:57 +00:00
Dave Corley
dfa4f5da8a pass time on OnTrainingFinished callback instead of before the fadeScreenIn 2023-07-01 08:48:57 +00:00
elsid
6e8dcc16c6
Use settings values for Game settings 2023-07-01 00:59:35 +02:00
elsid
fb5e5335aa
Initialize mTimerDisposeSummonsCorpses in class definition 2023-07-01 00:59:35 +02:00
elsid
86e5b94ef6
Convert setting value int to CollisionShapeType on initialization 2023-07-01 00:59:35 +02:00
elsid
47978dcb71
Remove unused getActorsProcessingRange function 2023-07-01 00:59:15 +02:00
Petr Mikheev
866f67ed19 Change MWScript Lua bindings (#7142) 2023-06-30 22:26:17 +02:00
psi29a
2a271cdecc Merge branch 'fix_7439' into 'master'
Fix #7439: world.players and nearby.players returns "0_-1" instead of "1_-1"

Closes #7439

See merge request OpenMW/openmw!3183
2023-06-30 09:09:44 +00:00
psi29a
2b11c2cf36 Merge branch 'fix-exterior-regression' into 'master'
Fixes #7437

Closes #7388 and #7437

See merge request OpenMW/openmw!3187
2023-06-29 13:33:34 +00:00
florent.teppe
950cc7be83 gets the right worldspace when calculating exterior positions. 2023-06-29 11:09:06 +02:00
Petr Mikheev
39fc832fde Fix #7441: Objects that are removed and disabled in the same frame via lua remain in the world but become uninteractable 2023-06-28 21:43:30 +02:00
psi29a
fc5d73648a Merge branch 'schooled' into 'master'
Merge magic schools into skills

See merge request OpenMW/openmw!3148
2023-06-28 09:32:48 +00:00
Kindi
a176e0f9ea Partial ammo equipping 2023-06-28 09:32:15 +00:00
Petr Mikheev
8ca7770d56 Fix #7439: world.players and nearby.players returns "0_-1" instead of "1_-1" 2023-06-27 23:56:45 +02:00
Evil Eye
73c2387708 Merge schools into skills 2023-06-26 20:42:52 +02:00
Evil Eye
9947a41c37 Combine magic school properties into structs 2023-06-26 16:34:12 +02:00
psi29a
31efad1dd0 Merge branch 'fix_model_path' into 'master'
Fix #7403: incorrect model path for records created by Lua scripts

Closes #7403

See merge request OpenMW/openmw!3151
2023-06-25 20:11:43 +00:00
psi29a
dd0d66513d Merge branch 'clickbait' into 'master'
Mostly dehardcode attributes

See merge request OpenMW/openmw!3164
2023-06-25 20:11:19 +00:00
psi29a
0ce98ccc0a Merge branch 'idontwannatalkaboutit' into 'master'
Return the actual topic the info came from

See merge request OpenMW/openmw!3176
2023-06-25 20:11:04 +00:00
Evil Eye
c5344b7069 Return the actual topic the info came from 2023-06-24 11:40:25 +02:00
Andrei Kortunov
aad7c5066d Do not lose existing callbacks for sky node 2023-06-22 15:18:53 +04:00
Evil Eye
9663f4f473 Address jvoisin's remarks 2023-06-21 22:11:01 +02:00
psi29a
47b1247fa2 Merge branch 'l10n' into 'master'
Make configurable whether GMST strings have priority over built-in interface messages

See merge request OpenMW/openmw!3134
2023-06-21 06:52:30 +00:00
psi29a
bb7eb0f527 Merge branch 'chargingup' into 'master'
Autocalculate enchantment costs and charges

Closes #7428

See merge request OpenMW/openmw!3152
2023-06-21 06:52:01 +00:00
psi29a
c4b62c8380 Merge branch 'objlist_serialize' into 'master'
Support LObjectList, GObjectList in Lua serialization

See merge request OpenMW/openmw!3153
2023-06-21 06:51:46 +00:00
Evil Eye
6e5b423d04 Fix saving skill increases 2023-06-20 20:26:08 +02:00
psi29a
a59f22fd30 Merge branch 'esm4_fix' into 'master'
Add a safeguard to load only supported records

Closes #7406

See merge request OpenMW/openmw!3158
2023-06-20 10:00:46 +00:00
psi29a
abdd4f5207 Merge branch 'lua_potion_magic' into 'master'
Lua: Add effects to potionRecord, ingredientRecord

See merge request OpenMW/openmw!3160
2023-06-20 10:00:06 +00:00
Zackhasacat
611a6429a9 Lua: Add effects to potionRecord, ingredientRecord 2023-06-20 10:00:05 +00:00
psi29a
68415a952e Merge branch 'lua_quat' into 'master'
Breaking change in Lua API: change obj.rotation from Euler angles to Quaternion

See merge request OpenMW/openmw!3123
2023-06-20 09:59:06 +00:00
Evil Eye
abcebd49d2 Allow for more than 8 attributes 2023-06-19 20:41:54 +02:00
Petr Mikheev
57e028fcc9 Merge branch 'container_resolve_lua' into 'master'
Lua: Add functions to resolve inventories

See merge request OpenMW/openmw!3157
2023-06-19 18:15:42 +00:00
Zackhasacat
f4980c178d Lua: Add functions to resolve inventories 2023-06-19 18:15:42 +00:00
psi29a
bbfd906f08 Merge branch 'lua_effect_icon' into 'master'
Add icon path to core.MagicEffect

See merge request OpenMW/openmw!3154
2023-06-18 20:58:06 +00:00
Zackhasacat
835a67d876 Add icon path to core.MagicEffect 2023-06-18 20:58:06 +00:00
Mads Buvik Sandvei
5c32b32c58 Lua: ESM::Enchantment bindings 2023-06-18 20:57:21 +00:00
Evil Eye
8edbb9f005 Add attributes to the level up dialog dynamically 2023-06-18 22:55:05 +02:00
Evil Eye
9a4bfed852 Dynamically build the attribute list in the review dialog 2023-06-18 20:08:10 +02:00
Evil Eye
75f0ad4e95 Dynamically build the attribute selection dialog 2023-06-18 19:55:33 +02:00
Evil Eye
ea2cedb5ea Build the attribute list in the stats window dynamically 2023-06-18 19:10:29 +02:00
Andrei Kortunov
04be1526b2 Add a safeguard to load only supported records 2023-06-18 19:56:06 +04:00
Evil Eye
bac6777fae Reduce the number of magic numbers 2023-06-18 16:21:06 +02:00
Petr Mikheev
2f16a8d27c Fix incorrect model part for records created by Lua scripts 2023-06-18 00:19:50 +02:00
Petr Mikheev
8e59c6b67b Support LObjectList, GObjectList in Lua serialization 2023-06-18 00:07:22 +02:00
Evil Eye
e9bcad4e05 Autocalculate enchantment costs and charges 2023-06-17 22:25:47 +02:00
Petr Mikheev
9d15629ae2 [Lua] Add nearby.players and world.players 2023-06-17 19:56:25 +02:00
Petr Mikheev
0b9bcf58e2 Merge branch 'active-effect-modifiers' into 'master'
Lua bindings for modifying active effects/spells

See merge request OpenMW/openmw!3128
2023-06-17 16:34:40 +00:00
Mads Buvik Sandvei
698316fd2e Lua bindings for modifying active effects/spells 2023-06-17 16:34:40 +00:00
psi29a
0755954b78 Merge branch 'openmwcs-pref-size' into 'master'
Add white space and larger default opening size of OpenMW-CS preferences

See merge request OpenMW/openmw!3145
2023-06-17 09:01:33 +00:00
Matjaž Lamut
d12426f1b0 Add white space and larger default opening size of OpenMW-CS preferences window. Improves first-impression and overall readability. 2023-06-16 20:03:42 +00:00
Bret Curtis
73c5909387 small revert, "It is copying a texture, it is not a default initialized one. The source texture may or may not want GL_CLAMP_TO_EDGE." 2023-06-16 09:16:07 +02:00
Bret Curtis
ff6944701f Be more explicit about use of CLAMP_TO_EDGE instead of defaulting to GL CLAMP 2023-06-16 09:16:07 +02:00
psi29a
44c3c40058 Merge branch 'lua-world-to-viewport' into 'master'
[Lua] Add world to viewport function to camera

See merge request OpenMW/openmw!3139
2023-06-16 06:47:16 +00:00
elsid
04215ca9ec
Use settings values for Fog settings 2023-06-15 22:01:14 +02:00
psi29a
1630e04d1b Merge branch 'fix_7423' into 'master'
Fix #7422, #7423, #7424

Closes #7424, #7423, and #7422

See merge request OpenMW/openmw!3136
2023-06-15 11:02:21 +00:00
Petr Mikheev
8da6fd1095 Fix #7424 2023-06-15 11:33:12 +02:00
psi29a
3a707d8b98 Merge branch 'herebedreugh' into 'master'
Spawn creatures in newly generated exteriors

Closes #7413

See merge request OpenMW/openmw!3126
2023-06-15 07:41:35 +00:00
psi29a
d5f0f44afb Merge branch 'raise_lower_rank_refactor' into 'master'
Refactor raiserank and lowerrank

See merge request OpenMW/openmw!3135
2023-06-15 07:03:26 +00:00
psi29a
807893eb45 Merge branch 'clickbait' into 'master'
Mostly dehardcode skills

See merge request OpenMW/openmw!3112
2023-06-15 07:03:13 +00:00
Zackhasacat
3e52971a13 Add duration to core.MagicEffectWithParams 2023-06-14 22:28:45 +00:00
glassmancody.info
c27904aa92 lua - add world to viewport function to camera 2023-06-14 11:47:11 -07:00
Petr Mikheev
ab7eebb356 Fix #7423 (too strict fallback validation) 2023-06-14 20:04:16 +02:00
Kindi
dccf6a2b8c Refactor raiserank and lowerrank 2023-06-14 21:42:02 +08:00
psi29a
428642d2cf Merge branch 'fix_7420' into 'master'
Fix #7420 (Local scripts on items cause the game to crash when activated)

Closes #7420

See merge request OpenMW/openmw!3131
2023-06-14 07:33:18 +00:00
Evil Eye
f02dd0ef03 Implement onNewExterior to spawn fish in generated exteriors 2023-06-13 17:04:22 +02:00
Petr Mikheev
718d5e4a71 Add setting "gmst overrides l10n" 2023-06-13 10:06:59 +02:00
psi29a
825d862f52 Merge branch 'lua_lock_trap' into 'master'
Allow Lua to access lock and trap data for doors and containers

See merge request OpenMW/openmw!2985
2023-06-13 07:37:33 +00:00
Zackhasacat
c108989b26 Allow Lua to access lock and trap data for doors and containers 2023-06-13 07:37:32 +00:00
psi29a
d4e1f9c5de Merge branch 'fallbacks2' into 'master'
Validate fallbacks in openmw.cfg with a whitelist and add them to GMST store

See merge request OpenMW/openmw!3129
2023-06-13 07:36:38 +00:00
Kindi
43e92fa1c9 Add type prop for types.Creature 2023-06-13 03:55:44 +08:00
Petr Mikheev
790ddcf32e Fix #7420 (Local scripts on items cause the game to crash when activated) 2023-06-12 21:25:48 +02:00
Petr Mikheev
256db78c6c [Lua] core.getGMST returns nil if there is no such game setting 2023-06-12 17:59:40 +02:00
Petr Mikheev
96399b3d23 Add fallbacks to Store<ESM::GameSetting> 2023-06-12 17:59:40 +02:00
Petr Mikheev
be45b8199e Whitelist and type validation for fallbacks 2023-06-12 17:59:40 +02:00
Petr Mikheev
e35bf97603 Merge branch 'awildmoonappeared' into 'master'
Expose levelled creatures to Lua

See merge request OpenMW/openmw!3127
2023-06-12 15:57:59 +00:00
Petr Mikheev
3b43cc2aea Lua: change obj.rotation from Euler angles to Quaternion 2023-06-12 00:16:42 +02:00
Evil Eye
9772845f7b Address feedback 2023-06-11 21:13:34 +02:00
psi29a
1d5b73f20a Merge branch 'youonlyneedtounlockonce' into 'master'
Don't unlock unlocked objects now that unlock is no longer idempotent

See merge request OpenMW/openmw!3125
2023-06-11 17:41:23 +00:00
Evil Eye
66d9d7e585 Expose levelled creatures to Lua 2023-06-11 15:13:46 +02:00
Evil Eye
24c1909d52 Don't unlock unlocked objects now that unlock is no longer idempotent 2023-06-11 09:43:42 +02:00
Evil Eye
3c588900dd Apply elsid's suggestion and revert 3a888ef543 2023-06-10 22:04:14 +02:00
elsid
e6e6b65ab3
Remove redundant manipulators 2023-06-10 13:14:52 +02:00
psi29a
724d29aa63 Merge branch 'add_getBounty_to_types_Player' into 'master'
Lua: Add getCrimeLevel() to types.Player

See merge request OpenMW/openmw!3118
2023-06-10 08:48:33 +00:00
psi29a
3fcf9dc1d2 Merge branch 'set_scale' into 'master'
Allow Lua to set and get GameObject's in game scale

See merge request OpenMW/openmw!3114
2023-06-10 08:48:14 +00:00
psi29a
ec2f0e4645 Merge branch 'fragile' into 'master'
More closely replicate Morrowind.exe's locks

Closes #7415

See merge request OpenMW/openmw!3116
2023-06-10 08:47:27 +00:00
psi29a
2686e586e5 Merge branch 'dev-7019' into 'master'
Fix improper access of stereo manager by other shared components

See merge request OpenMW/openmw!2437
2023-06-09 21:25:21 +00:00
psi29a
766b829ce6 Merge branch 'fix_7385' into 'master'
Fix #7385

Closes #7385

See merge request OpenMW/openmw!3117
2023-06-09 21:23:54 +00:00
psi29a
ca57bbe644 Merge branch 'debug_tgm_tcl' into 'master'
Lua commands debug.toggleGodMode and debug.toggleCollision

See merge request OpenMW/openmw!3113
2023-06-09 07:26:44 +00:00
Tobias Tribble
0e6155c529 Added delayed action 2023-06-08 23:50:54 -05:00
Kindi
8962cb818c Add getCrimeLevel() to types.Player 2023-06-09 07:01:12 +08:00
Petr Mikheev
801a5a3213 Fix #7385 2023-06-08 22:45:37 +02:00
Evil Eye
a5b147d44d Add a clarifying comment 2023-06-08 21:56:54 +02:00
Evil Eye
e791d2b498 Fix unit tests 2023-06-08 21:10:11 +02:00
Evil Eye
eeda48ec50 Drop support for --fs-strict 2023-06-08 21:10:09 +02:00
Evil Eye
da4e04522b More closely replicate Morrowind.exe's locks 2023-06-08 20:10:32 +02:00
jvoisin
583a0b4d04 Apply jvoisin's suggestions 2023-06-08 18:35:53 +02:00
Evil Eye
3a888ef543 Prevent a static initialization order fiasco 2023-06-08 18:35:52 +02:00
Evil Eye
627bfa1155 Silence a clang warning 2023-06-08 18:35:52 +02:00
Evil Eye
f62ba346e1 Appease the formatting gods 2023-06-08 18:35:52 +02:00
Evil Eye
2cb77ed48f Dehardcode skill selection 2023-06-08 18:35:52 +02:00
Evil Eye
9a93dcc39e Dehardcode the list of skills in the stats window 2023-06-08 18:35:51 +02:00
Evil Eye
15a5fa84f6 Use std::variant in CachedStat 2023-06-08 18:35:51 +02:00
Evil Eye
65b22975c9 Remove SkillEnum 2023-06-08 18:35:50 +02:00
Evil Eye
72f8f9d1ad Replace remaining skill indices in NpcStats 2023-06-08 18:35:49 +02:00
Evil Eye
1e0ed42294 Use RefId for skills in StatsListener 2023-06-08 18:35:48 +02:00
Evil Eye
28025e84f7 Replace more instances of ESM::Skill::Length 2023-06-08 18:35:48 +02:00
Evil Eye
47c1569961 Use RefId key for NPC skills 2023-06-08 18:35:48 +02:00
Evil Eye
1b956521fc Reduce skill lookups by index 2023-06-08 18:35:47 +02:00
Evil Eye
16c0f0d5cc Use a regular TypedDynamicStore for ESM:Skill 2023-06-08 18:35:47 +02:00
Tobias Tribble
41a2c82f93 Added scale property and setScale function 2023-06-07 19:23:36 -05:00
Petr Mikheev
e773b9d055 Lua commands debug.toggleGodMode and debug.toggleCollision 2023-06-07 23:41:29 +02:00
Petr Mikheev
3b5849add8 Move content files functions to core.contentFiles and add obj.contentFile 2023-06-07 20:57:48 +02:00
Petr Mikheev
a778dff61d Add Lua functions to get the current load order and search objects by RefNum/FormId 2023-06-07 20:57:48 +02:00
Petr Mikheev
773669e69b Add Lua script to handler ESM4 doors with Flag_AutomaticDoor 2023-06-07 20:57:48 +02:00
psi29a
75c371de66 Merge branch 'classyimage' into 'master'
Handle non-string RefIds when displaying a class image

See merge request OpenMW/openmw!3111
2023-06-07 06:51:24 +00:00
Evil Eye
6e39c0336c Handle non-string RefIds when displaying a class image 2023-06-06 17:41:13 +02:00
psi29a
54b0ab9e01 Merge branch 'addpropstartingposandrot' into 'master'
Add startingPosition and startingRotation property to GameObject

See merge request OpenMW/openmw!3106
2023-06-06 13:16:33 +00:00
Petr Mikheev
7cecf2844a Fix #7411 2023-06-05 22:22:58 +02:00
psi29a
25c1e6abee Merge branch 'clickbait' into 'master'
Use std::array in various ESM structs

See merge request OpenMW/openmw!3103
2023-06-05 07:19:38 +00:00
elsid
457fa16e37
Load existing exterior CellStore when required 2023-06-04 22:33:27 +02:00
elsid
01775dd6f0
Try create CellStore for interior cell when not found 2023-06-04 22:33:22 +02:00
psi29a
1843345510 Merge branch 'world_model_absent_cell' into 'master'
Do not rely on exceptions to handle absent cell

See merge request OpenMW/openmw!3098
2023-06-04 11:28:54 +00:00
psi29a
2f5bfb4df2 Merge branch 'fix-#7410' into 'master'
fix #7410

Closes #7410

See merge request OpenMW/openmw!3104
2023-06-04 11:28:26 +00:00
psi29a
d8463a34d3 Merge branch 'quotes' into 'master'
Remove redundant quotes

See merge request OpenMW/openmw!3091
2023-06-04 11:28:14 +00:00
Kindi
dfafac72e9 add startingPosition and startingRotation lua property to gameobject 2023-06-04 14:35:33 +08:00
florent.teppe
04e026c53f getRecNameString now constexpr
getTypeDescription uses a static constexpr variable so we don't return ref to temp memory.
2023-06-03 20:28:25 +02:00
Evil Eye
6b7e7acd16 Replace a number of incorrect index types 2023-06-03 16:30:35 +02:00
Evil Eye
e01a3076dd Use std::array in NpcStats 2023-06-03 14:26:37 +02:00
Evil Eye
a5bb6c7d8d Use std::array in NPDTstruct52 2023-06-03 13:27:45 +02:00
Evil Eye
dd83da5eba Use std::array in FADTstruct 2023-06-03 13:11:49 +02:00
Evil Eye
7be005c9a5 Use std::array in CLDTstruct 2023-06-03 11:58:09 +02:00
Evil Eye
8a474b9807 Use std::array in RADTstruct 2023-06-03 10:45:32 +02:00
psi29a
55cd30ea3b Merge branch 'string_ref_id_utf8' into 'master'
Support UTF-8 by StringRefId::toDebugString (#7407)

Closes #7407

See merge request OpenMW/openmw!3096
2023-06-03 08:17:19 +00:00
elsid
4a8471ce78
Use original RefId to remove info from InfoOrder 2023-06-03 01:12:21 +02:00
elsid
a91f376892
Do not rely on exceptions to handle absent cell 2023-06-02 13:18:09 +02:00
psi29a
25bbaa2343 Merge branch 'fix_remove_deleted_dialogue_info' into 'master'
Fix handling deleted DIAL records (#7397)

Closes #7397

See merge request OpenMW/openmw!3097
2023-06-02 08:56:24 +00:00
psi29a
d41c7bcaf4 Merge branch 'fix_esmstore_double_initialization' into 'master'
Fix the bug "ESMStore::setUp() is called twice" that causes duplicated objects in ESM4 cells

See merge request OpenMW/openmw!3084
2023-06-02 07:31:02 +00:00
psi29a
0bb652d7ce Merge branch 'clickbait' into 'master'
Resolve Attribute GMSTs

See merge request OpenMW/openmw!3090
2023-06-02 07:30:40 +00:00
elsid
b621bfcef0
Define SharedIterator as proper random access iterator
Drop Container template argument as it's always std::vector.
2023-06-01 23:48:49 +02:00
elsid
6a3b6c6e4f
Fix handling deleted DIAL records
* Use composite RefId to remove INFO record of deleted DIAL record. OrderedInfo
  stores original RefId while InfoCollection stores composite one.
* Do not erase deleted topic from InfoOrderByTopic map. To keep all deleted
  record ids for InfoCollection::sort call to make sure reorderRowsImp is called
  with correct number of indices.
2023-06-01 23:35:40 +02:00
elsid
78b3f7288a
Support UTF-8 by StringRefId::toDebugString 2023-06-01 22:16:47 +02:00
Petr Mikheev
420916327d Fix the bug "ESMStore::setUp() is called twice" that causes duplicated objects in ESM4 cells 2023-06-01 11:58:03 +02:00
psi29a
8e3e351015 Merge branch 'hide_ptr_registry' into 'master'
Make WorldModel a front-end for PtrRegistry

See merge request OpenMW/openmw!3087
2023-06-01 09:32:57 +00:00
psi29a
27a879de9a Merge branch 'tree_and_furniture' into 'master'
Load ESM4::Tree and ESM4::Furniture

See merge request OpenMW/openmw!3040
2023-06-01 09:15:46 +00:00
psi29a
83c8312060 Merge branch 'esm4_cell_fixes' into 'master'
A few fixes related to ESM4::Cell

See merge request OpenMW/openmw!3083
2023-06-01 07:51:34 +00:00
psi29a
9306cb2cfd Merge branch 'rm_cell_store_equality' into 'master'
Replace operator== for CellStore with pointer equality

See merge request OpenMW/openmw!3081
2023-06-01 07:51:09 +00:00
Andrei Kortunov
9001dc8f88 Remove redundant single quotes 2023-06-01 09:38:08 +04:00
elsid
9012207e32
Make WorldModel a front-end for PtrRegistry 2023-05-31 21:44:27 +02:00
Evil Eye
08f35fe839 Add ESM::Skill::mWerewolfValue 2023-05-31 17:45:20 +02:00
Evil Eye
7b0680de5f Resolve attribute GMST members 2023-05-31 17:02:18 +02:00
Evil Eye
eea730768b Replace sIconNames with ESM::Skill::mIcon 2023-05-30 20:22:04 +02:00
Evil Eye
9c819b5705 Disallow formatting of UString 2023-05-30 17:35:26 +02:00
elsid
cfab425fb2
Replace operator== for CellStore with pointer quality
Equality operator is confusing and redundant in this case.

It should not be possible to have 2 CellStores for the same cell. There is no
copy constructor defined so it's not possible to get a copy. It's possible to
independently create second store when another one already exist but it would
mean a bug.

Explicitly delete CellStore copy and move constructors and assignment operators
to enforce this.
2023-05-30 08:46:44 +02:00
Petr Mikheev
84d7da1f2c Ignore per-cell water height in exterior ESM4::Cell 2023-05-29 22:39:26 +02:00
Petr Mikheev
5cb4c66266 Avoid using ESM4::Cell with uninitialized fields 2023-05-29 22:37:25 +02:00
elsid
97fed756c8
Properly support portable configuration for bulletobjectool and navmeshtool 2023-05-29 22:29:36 +02:00
Petr Mikheev
01c410d6b1 Remove mPersistentExteriors index; fix incorrect Rec_Persistent flag check. 2023-05-29 22:16:56 +02:00
psi29a
8976a1594f Merge branch 'clickbait' into 'master'
Replace sSkillNameIds with ESM::Skill::mName

See merge request OpenMW/openmw!3080
2023-05-29 18:13:20 +00:00
elsid
4cbaa722dd Merge branch 'wazabear/lambdascope' into 'master'
Fix lambda scope for postprocess bindings

See merge request OpenMW/openmw!3070
2023-05-29 17:12:38 +00:00
Cody Glassman
6747619cb1 Fix lambda scope for postprocess bindings 2023-05-29 17:12:37 +00:00
Petr Mikheev
bf49855d9f Test handling of BSXFlags in bulletnifloader 2023-05-29 18:47:27 +02:00
Petr Mikheev
788a4d32aa Handle DoubleSided and TreeAnim flags in BSLightingShaderProperty. 2023-05-29 18:47:27 +02:00
Petr Mikheev
1b669db017 Load ESM4::Tree and ESM4::Furniture 2023-05-29 18:47:27 +02:00
Evil Eye
9c60a6fa4d Replace sSkillNameIds with ESM::Skill::mName 2023-05-29 17:56:14 +02:00
elsid
731ff90c37
Remove unused include 2023-05-29 15:53:19 +02:00
elsid
947e8f0e94
Use CellStore::mStore instead of MWBase::Environment::get() 2023-05-29 15:53:19 +02:00
psi29a
df57f8004b Merge branch 'default' into 'master'
Replace some empty constructors and destructors with default

See merge request OpenMW/openmw!3078
2023-05-29 13:06:19 +00:00
Evil Eye
9214ffb50b Replace some empty constructors and destructors with default 2023-05-29 13:37:19 +02:00
florent.teppe
ff9e04062d Applies changes from previous commit
from commit bb1d040ac8
Was lost during rebase.
2023-05-29 12:10:42 +02:00
florent.teppe
ad8cfde4e0 ESM::LandData no longer a virtual interface
instead it is constructed from ESM::Land or ESM4::Land
2023-05-29 12:10:42 +02:00
florent.teppe
4c4ed77bd7 Fixes Quad tree terrain missing in some places
the function that queried if data existed or not didn't take the worlspace into account.
2023-05-29 12:10:42 +02:00
florent.teppe
b29be74491 ground cover manager and object paging exists per worldspace.
They don't work though. But at least it doesn't crash. You get a morrowind world on top of the skyrim world.
But it fixes the crashes.
2023-05-29 12:10:42 +02:00
fteppe
22dc383f63 fixes errors and warnings
Applies review comments

getWorldspaceTerrain => returns a reference because never null
crashfix in navigator
updateLandPositions fixes naming of it
const ESM4::Land* MWWorld::Store<ESM4::Land>::search(ESM::ExteriorCellLocation cellLocation) const removes useless else
ExteriorCellLocation uses default initializers
get terrain height returns -MAX_FLOAT when there is no esm4 terrain.

applied review comments

use default initlializer when possible
factorise code
uses pattern matching in for loop.
2023-05-29 12:10:42 +02:00
florent.teppe
7d88a240d3 no default terrain for esm4 exterior. 2023-05-29 12:10:41 +02:00
florent.teppe
2bb17279df linux build
clang format 14.0

Arm64 build
2023-05-29 12:10:41 +02:00
florent.teppe
a9e0489867 fixes stutters => bugs in the way cells were updated. 2023-05-29 11:32:14 +02:00
florent.teppe
0e4d21a40c takes the right terrain bounds. 2023-05-29 11:32:14 +02:00
florent.teppe
7bc4fc6bf9 Fix issues on terrain change
terrain Preloader now preloads the right terrain
2023-05-29 11:32:14 +02:00
florent.teppe
d0211acf9e Fixes bug in terrain loading + collision heightmap works
although terrain rendering is 100% broken right now
2023-05-29 11:32:13 +02:00
florent.teppe
c35c7b3640 ESM4::Land loaded, added to store and to land objects
it does not work yet. Some things are displayed, but it looks all wrong.
2023-05-29 11:31:37 +02:00
florent.teppe
fffcf52316 land manager cache's key is an ExteriorCellLocation
ESM4::Land is now a ESM::LandData
2023-05-29 11:31:37 +02:00
florent.teppe
e0fa15b727 Abstracted Land data that can be used by esm3 and esm4. 2023-05-29 11:31:37 +02:00
florent.teppe
e09cf6ac61 enable terrain takes a worldspace as input
enable terrain anslo switches the worldspace.
2023-05-29 11:31:37 +02:00
florent.teppe
1b718f09c5 adding worldspace info to terrain data structures
Rendering manager can have multiple terrain, one for each queried worldspace
Terrain::World has a worldspace member
storage functions require a worldspace parameter.
2023-05-29 11:31:37 +02:00
florent.teppe
93e7b0d946 Terrain has a mandatory worldspace in constructor
getTerrainHeightAt takes a worldspace.

Doesn't change anything for now => Therrain is created with the default ESM3 worldspace, and is never changed.
2023-05-29 11:31:36 +02:00
psi29a
4399748889 Merge branch 'clickbait' into 'master'
Move more arrays to the ESM::Attribute struct

See merge request OpenMW/openmw!3074
2023-05-29 09:00:22 +00:00
elsid
02adb91859
Simplify WorldModel::getAll
There is no need to have generic forEach template function.
2023-05-29 00:01:46 +02:00
psi29a
c368c188f2 Merge branch 'fix_position_cell_crash' into 'master'
Use sDefaultWorldspaceId as fallback worldspace for PositionCell command

See merge request OpenMW/openmw!3073
2023-05-28 17:42:16 +00:00
Evil Eye
90a3a7b62f Add mWerewolfGMST 2023-05-28 15:28:34 +02:00
Evil Eye
a5e1c87fb8 Remove sGmstAttributeIds, sGmstAttributeDescIds, sAttributeIcons 2023-05-28 15:10:53 +02:00
elsid
06af4cb56a
Use sDefaultWorldspaceId as fallback worldspace for PositionCell command
store is nullptr at this point because there was no cell found.
2023-05-28 14:25:53 +02:00
elsid
86db640c8b
Increment revision on clearing PtrRegistry
Setting it to 0 may not lead to the change detected by clients. Potentially
mRevision may already have value 0. For example on overflow.
2023-05-28 13:04:20 +02:00
elsid
a581e394b4
Check for revision inequality
It's not possible to have SafePtr with mLastUpdate from the future. But
theoretically it's possible to get PtrRegistry::mRevision overflow so operator
less would return false when there is a change.
2023-05-28 13:04:20 +02:00
elsid
ce91784085
Move Ptr registry into a separate type
There is no dependency on the rest of the WorldModel state.
2023-05-28 13:04:17 +02:00
unknown
14600de185 Remove sAttributeIds and sSkillIds 2023-05-27 21:54:13 +02:00
elsid
d98852fdbe
Use std::count_if to implement WorldModel::countSavedGameRecords 2023-05-27 15:49:36 +02:00
elsid
3a66854c3c
Avoid confusion for generated cell flags 2023-05-27 15:49:36 +02:00
elsid
60139c6bd5
Use WorldModel::mStore instead of MWBase::Environment::get().getESMStore() 2023-05-27 15:49:36 +02:00
elsid
183202cd65
Remove WorldModel::getCellByPosition function
It's used in a single place. Move the code there.
2023-05-27 15:49:36 +02:00
elsid
235eb65c97
Rename positionToCellIndex to match return type 2023-05-27 15:49:36 +02:00
elsid
98e80d65b0
Remove unused include 2023-05-27 15:49:36 +02:00
elsid
b6cd6402cc
Use ranged for loop 2023-05-27 15:49:36 +02:00
elsid
a04eb9d26c
Move WorldModel::getPtr(const ESM::RefId&, CellStore&) to CellStore
The function does not depend on WorldModel.
2023-05-27 15:49:36 +02:00
elsid
df6630a15c
Move WorldModel private functions to bottom
This is API class. A reader most likely need to know public functions first.
2023-05-27 15:49:36 +02:00
elsid
181c894e4c
Skip already visited cells when looking for ptr 2023-05-26 22:51:03 +02:00
elsid
466a7cedbb
Convert pointer to referece where nullptr is not acceptable 2023-05-26 22:42:50 +02:00
elsid
1b116240a3
Try return existing CellStore from WorldModel::getCellStore first 2023-05-26 22:40:03 +02:00
Evil Eye
877f6747be Deduplicate specialization code 2023-05-26 12:16:47 +02:00
AnyOldName3
5f4e349ea1 Try and compute planes based on cheaper meshes to skip more groundcover isntances 2023-05-26 00:21:44 +01:00
elsid
dc8dfe81ce
Add more details to exceptions 2023-05-25 20:56:07 +02:00
elsid
d852ac20f5
Log loading content file 2023-05-25 20:56:07 +02:00
Mads Buvik Sandvei
85a30c9ad0 Fix signature of MWMechanics::MagicEffects::get. Fix a mistake in the docs. 2023-05-25 18:12:18 +02:00
Petr Mikheev
4ed283bb15 Merge branch 'create_record_types' into 'master'
Allow creating Activator, Armor, Clothing, Misc, Weapon records via lua

See merge request OpenMW/openmw!2944
2023-05-25 08:00:13 +00:00
Zackhasacat
ef004e5eba Allow creating Activator, Armor, Clothing, Misc, Weapon records via lua 2023-05-25 08:00:12 +00:00
psi29a
d3ed04c551 Merge branch 'lua-activeeffects' into 'master'
Lua: Actor api for active effects and active spells

See merge request OpenMW/openmw!3036
2023-05-25 07:49:08 +00:00
AnyOldName3
3831714f07 This is not more readable 2023-05-24 00:13:56 +01:00
AnyOldName3
c41befadfb Use correct planes for the new matrix 2023-05-24 00:02:13 +01:00
Mads Buvik Sandvei
40170d8953 is_automagical false line for ActorStore 2023-05-23 22:55:43 +02:00
Evil Eye
17c8e63d3a Fix invalid memory usage in stats tooltip 2023-05-23 20:03:12 +02:00
Mads Buvik Sandvei
97ea626ba2 Clang'd 2023-05-23 19:49:47 +02:00
Mads Buvik Sandvei
4f88988131 Moved check for actor/non-actor to ActorStore constructor. Refactor ActorSpells type to be an ActorStore type. 2023-05-23 19:44:51 +02:00
Mads Buvik Sandvei
410e8b100a Elsid comments 2023-05-23 19:30:29 +02:00
Mads Buvik Sandvei
4bf23f152b Revert use of string_view to std::string for effectIdTo* methods. 2023-05-23 18:12:06 +02:00
Mads Buvik Sandvei
9a59330561 refactor effect names in loadmgef. Added a map from effect index to non-gmst effect name for use in lua scripts. 2023-05-23 18:11:59 +02:00
Mads Buvik Sandvei
151521bb68 Unused function 2023-05-23 18:11:44 +02:00
Mads Buvik Sandvei
448658ce5b Check class validity before using it. 2023-05-23 18:11:44 +02:00
Mads Buvik Sandvei
87250bfabf clang warnings/errors 2023-05-23 18:11:44 +02:00
Mads Buvik Sandvei
7ba43c9426 actor.ActiveEffects and actor.ActiveSpells 2023-05-23 18:11:44 +02:00
psi29a
01705485b8 Merge branch 'grow_limit' into 'master'
[Needs testing] Migrate Grow Limit editor feature to a more modern code

See merge request OpenMW/openmw!2637
2023-05-23 08:39:38 +00:00
psi29a
87b15c22f3 Merge branch 'fixcolladaregression' into 'master'
Fix regression with Collada-animated creatures

See merge request OpenMW/openmw!2882
2023-05-23 08:30:02 +00:00
Nelsson Huotari
4abd47f430 Fix regression with Collada-animated creatures 2023-05-23 08:30:02 +00:00
psi29a
2545185d52 Merge branch 'cs_show_magic_effect_name' into 'master'
Show magic effect name instead of IndexRefId (#7366)

Closes #7366

See merge request OpenMW/openmw!3049
2023-05-23 08:21:35 +00:00
psi29a
30305d7bea Merge branch 'topicloop' into 'master'
Detect service refusal in constant time

See merge request OpenMW/openmw!3053
2023-05-23 08:20:55 +00:00
psi29a
64b07ee9f4 Merge branch 'esmtool_dawnguard_dragonborn' into 'master'
Partial support esmtool dump for Dragonborn.esm and Dawnguard.esm from Skyrim

See merge request OpenMW/openmw!3052
2023-05-23 08:20:10 +00:00
psi29a
a61f955e9f Merge branch 'case.ext' into 'master'
Fix a regression and use more starts_with and ends_with

See merge request OpenMW/openmw!3051
2023-05-23 08:18:41 +00:00
Evil Eye
11f875d9c4 Detect service refusal in constant time 2023-05-22 22:24:04 +02:00
elsid
e537d1d0d4
Ignore missing localization string files by esmtool
Dawnguard.esm from Skyrim depends on files stored in Dawnguard.bsa which is not
processed by esmtool.
2023-05-22 22:09:08 +02:00
elsid
358b7ad3ec
Keep ESM4 localized strings in memory
Size of the files is in order of megabytes at max. Storing offset lookup table
to read from file on demand is less efficient than reading from memory for such
size.

Read and store offsets first. Sort them to read values sequentially. Memoize
last offset and value to avoid reading the same value twice. Use seek only when
current possition does not match offset. Optimize seek for short distance by
calling read instead.
2023-05-22 22:09:06 +02:00
Evil Eye
9728024978 Replace compare with more idiomatic methods 2023-05-22 19:51:27 +02:00
elsid
8f47da46ec
Show magic effect name instead of IndexRefId 2023-05-22 18:02:21 +02:00
elsid
bb1d040ac8
Use settings values for Cells settings 2023-05-22 17:36:23 +02:00
elsid
585cf377ed
Use bool instead of std::stringstream::view
view is not supported by libc++ used for macOS builds.
2023-05-22 14:32:23 +02:00
psi29a
6f8c152487 Merge branch 'convert_camera_settings' into 'master'
Use settings values for Camera settings (#6876)

See merge request OpenMW/openmw!3041
2023-05-22 09:14:06 +00:00
psi29a
dab616f4e2 Merge branch 'guiew' into 'master'
Use string_view in more places and reduce the number of empty string literals

See merge request OpenMW/openmw!3042
2023-05-22 09:12:45 +00:00
elsid
63e01d86a3
Use string based UniversalId to check script for blacklist
Blacklist is a vector of strings and isBlacklisted internally calls getId which
throws exception for RefId based UniversalId.
2023-05-22 03:14:00 +02:00
elsid
0aa569d4fe
Add UniversalId argument type to exception message on invalid access 2023-05-22 03:14:00 +02:00
elsid
292983d57a
Show UniversalId value for all argument types in reports 2023-05-22 03:14:00 +02:00
elsid
7ba397da7d
Use std::span and std::string to define UniversalId related TypeData 2023-05-22 03:14:00 +02:00
elsid
ceab7557f3
Add rudimentary support for ESM::RefId in UniversalId
Ideally std::string support should be removed but this may affect too much code.
2023-05-22 03:12:16 +02:00
elsid
4cd5efc6ee
Implement UniversalId with std::variant 2023-05-22 03:03:05 +02:00
elsid
f2a3462e59
Fix UniversalId constructor from ESM::RefId 2023-05-22 02:47:06 +02:00
elsid
6541ac43f5
Add UniversalId unit tests 2023-05-22 02:47:04 +02:00
Evil Eye
ed7b6dc2a7 Clarify CharacterCreation::setValue 2023-05-21 19:53:31 +02:00
psi29a
458ee4abaa Merge branch 'coc_destination' into 'master'
Improve coc destination search in ESM4 cells

See merge request OpenMW/openmw!3034
2023-05-21 17:33:36 +00:00
Tetramir
3d574f16a1 Merge branch 'grid_update' into 'master'
Update mHalfGridSize in Scene::changeCellGrid before using it

See merge request OpenMW/openmw!3030
2023-05-21 17:05:01 +00:00
Evil Eye
492e336c0c Use string_view in more UI code 2023-05-21 18:14:12 +02:00
Evil Eye
5491512905 Use string_view in more places and reduce the number of empty string literals 2023-05-21 16:39:32 +02:00
Petr Mikheev
9b6808f83d Improve coc destination search in ESM4 cells 2023-05-21 00:42:25 +02:00
elsid
5d5e6844d1
Use settings values for Camera settings 2023-05-20 22:23:09 +02:00
elsid
4be43a2dca
Map SettingValueType Cell to float setting type 2023-05-20 15:00:00 +02:00
glassmancody.info
06676fd623 lua - fix bounding box in active grid 2023-05-19 14:29:01 -07:00
Petr Mikheev
1d55844f26 Update mHalfGridSize in Scene::changeCellGrid before using it. 2023-05-19 17:58:59 +02:00
Petr Mikheev
690c752984 Unload active cells when teleporting to another exterior worldspace 2023-05-19 14:33:16 +02:00
psi29a
1ce35fa9e7 Merge branch 'lua-bounding-box' into 'master'
Expose game object's bounding box in lua api

See merge request OpenMW/openmw!3009
2023-05-19 09:33:44 +00:00
glassmancody.info
a7b7f99d72 Expose game object's bounding box in lua api 2023-05-18 11:10:10 -07:00
Petr Mikheev
169859025c Don't use getTerrainHeightAt(pos) when adjusting position in ESM4 cell because this function is currently specific to ESM3. 2023-05-18 02:10:39 +02:00
Petr Mikheev
c8056f6561 Hide ESM4 LOD objects and markers 2023-05-18 02:10:39 +02:00
Petr Mikheev
29031d0586 Increase ESM4 active grid 2023-05-18 00:38:41 +02:00
Petr Mikheev
ac65246389 Speedup ESM4 cell loading; load objects from permanent cells (exterior doors in particular) 2023-05-18 00:38:41 +02:00
elsid
ee3956e4f2
Print FormId as hex by esmtool dump 2023-05-17 22:59:34 +02:00
psi29a
99ed8557bf Merge branch 'get_rid_of_std_bind' into 'master'
Get rid of std::bind

See merge request OpenMW/openmw!3023
2023-05-17 10:54:43 +00:00
psi29a
2a7d5a89d7 Merge branch 'fix_navmeshtool_avoid_shape' into 'master'
Use different object id for avoid shape

See merge request OpenMW/openmw!3021
2023-05-17 07:59:39 +00:00
psi29a
5fba79ece3 Merge branch 'teleport' into 'master'
Additional Lua bindings for cells and fixes for teleporting

See merge request OpenMW/openmw!3017
2023-05-17 07:57:57 +00:00
psi29a
41c9e3c449 Merge branch 'selected_spell' into 'master'
Lua commands getSelectedSpell/setSelectedSpell

See merge request OpenMW/openmw!3018
2023-05-17 07:46:48 +00:00
smilczek
027d51bfc0 fixed a mistake 2023-05-15 21:06:05 +02:00
smilczek
05a2dc985b Clang format 2023-05-14 22:51:43 +02:00
smilczek
2910e35bc2 Clarified the lambda expressions 2023-05-14 22:43:44 +02:00
smilczek
42cab989b1 got rid of auto 2023-05-14 22:43:44 +02:00
smilczek
128bb11833 done 2023-05-14 22:43:44 +02:00
elsid
2a7b105484
Use different object id for avoid shape
Otherwise addObject will ignore it as a duplicate and resulting recastmesh will
not match generated by the engine causing navmeshdb cache miss.
2023-05-14 18:45:40 +02:00
elsid
04d439485b
Log more info about navmesh shapes and jobs 2023-05-14 18:34:31 +02:00
Petr Mikheev
e657874351 Lua commands getSelectedSpell/setSelectedSpell 2023-05-14 15:17:03 +02:00
Petr Mikheev
63906059f1 Fix #7378 (dropped objects vanish when saving and reloading) 2023-05-14 14:53:01 +02:00
Petr Mikheev
7113638848 Fix animation of teleported non-teleporting doors. 2023-05-13 20:59:55 +02:00
Petr Mikheev
ce7f6f31c9 Additional Lua bindings for cells 2023-05-13 20:59:55 +02:00
Petr Mikheev
2725a9d7f4 Add option "onGround=true/false" in Lua teleporting 2023-05-13 20:59:55 +02:00
Robert
23dc38fe12 Fixed mutex causing crash in openal_output.cpp 2023-05-13 18:12:13 +00:00
Petr Mikheev
e53f907a53 Set CharacterController::mSmoothedSpeed to zero after teleporting. 2023-05-13 15:26:39 +02:00
psi29a
ab17d0947a Merge branch 'esm4-exterior' into 'master'
Loading ESM4 Exteriors

See merge request OpenMW/openmw!2986
2023-05-12 23:32:55 +00:00
psi29a
c15710c35b Merge branch 'settings_values_index' into 'master'
Use typed settings storage for settings window (#6876)

See merge request OpenMW/openmw!2997
2023-05-12 21:53:59 +00:00
florent.teppe
7c6471b0dc getExteriorCellLocation() added to MWWorld::Cell 2023-05-12 23:24:36 +02:00
florent.teppe
a3bd6e7e47 ESM::ExteriorCellIndex => ESM::ExteriorCellLocation 2023-05-12 22:05:55 +02:00
florent.teppe
393357abc0 ESM::Cell::positionToCellIndex returns a ESM::ExteriorCellIndex
and takes a worldspace id as input
ESM::getCellSize takes a wordspace as input.
removed useless static in static inline funcs
2023-05-12 22:05:55 +02:00
florent.teppe
559830f59a applies review comments
Removes ToLowercase after .serializeText
removed unused variable
!ptr => ptr == nullptr
better indentation + error message on throw
friend struct std::hash<...> useless on struct with all public fields.
2023-05-12 22:05:55 +02:00
florent.teppe
39cfe9c2fb Removed unused variable, factorised code. 2023-05-12 22:05:55 +02:00
florent.teppe
3d06cabf6a indexToPosition moved from world -> esm/util.hpp 2023-05-12 22:05:55 +02:00
florent.teppe
1cf0cd5628 moved mwworld/cellutils.hpp -> esm/util.hpp 2023-05-12 22:05:54 +02:00
florent.teppe
f261f59809 World::indexToPosition is modified to be less error prone. 2023-05-12 22:05:54 +02:00
florent.teppe
1fdecaaa34 seperate permanent and non permanent exterior cells. 2023-05-12 22:05:54 +02:00
florent.teppe
f731c5eadb preloader compatible with esm4 exteriors. 2023-05-12 22:05:54 +02:00
florent.teppe
75561abfca Factorises code and fixes preload bug. 2023-05-12 22:05:54 +02:00
florent.teppe
5648e03e9e function to get cellsize depending on the context. 2023-05-12 22:05:54 +02:00
florent.teppe
3de08e654f Better handling of water levels for exterior cells.
Especially for skyrim and it's weird water level values in exteriors.
If we don't have a valid exterior water level we use the world's water level
2023-05-12 22:05:54 +02:00
florent.teppe
56cb2a83ec removed sDefaultWorldspace, only sDefaultWorldspaceId now.
sDefaultWorldspaceId is a StringRefId to be able to getvalue easily.
2023-05-12 22:05:53 +02:00
florent.teppe
141878f30d int x, int y , ESM::RefId worldspace => ESM::ExteriorCellIndex
also removed the changeToExteriorCell that only took a position as input, didn't work with esm4.
2023-05-12 22:05:53 +02:00
florent.teppe
43e247d458 fixes tests
fix linux build + clang-tidy
2023-05-12 22:05:53 +02:00
florent.teppe
1d03b54694 maps with tuple key instead of map of map
instead of using a map with key as exterior and map of <int ,int >, Cell as value we use a single map with a tuple x,y,exterior as key
2023-05-12 22:05:53 +02:00
florent.teppe
d8a782425b can actually load and teleport to esm4 exterior spaces 2023-05-12 22:05:53 +02:00
florent.teppe
eb48f8724f change grid and preload takes the right exterior
also fixes some crashes
2023-05-12 22:05:53 +02:00
florent.teppe
81d9686541 crashfix dynamic exterior cells 2023-05-12 22:05:53 +02:00
florent.teppe
a62e75fd19 Initial attempt at loading esm4 exteriors 2023-05-12 22:05:52 +02:00
psi29a
242ac21b38 Merge branch 'fix_local_map_update' into 'master'
Update cell local map on different neighbour cells (#7140)

See merge request OpenMW/openmw!3012
2023-05-11 12:13:35 +00:00
elsid
aa9fb33a18
Update cell local map on different neighbour cells
Save which neighbour cells were active when local map for a cell is rendered.
Update when intersection of currently loaded cells is different from stored. If
map was rendered when all neighbours were loaded no more updates will happen.
2023-05-11 10:41:15 +02:00
elsid
f7ebd9b9b4
Avoid old C-style cast 2023-05-11 10:27:33 +02:00
elsid
fd249b46c0
Remove redundant member function
mActive is public.
2023-05-11 10:27:33 +02:00
elsid
b2f7fc70a6
Remove redundant MapSegment constructor and destructor 2023-05-11 10:27:32 +02:00
elsid
d927aaad14
Avoid redundant getCell()->getGrid* calls 2023-05-11 10:26:41 +02:00
elsid
1324256440
Avoid redundant lookup 2023-05-11 10:26:39 +02:00
elsid
624ffef4fe
Reduce block nesting 2023-05-11 10:26:18 +02:00
Petr Mikheev
f3adcab9c5 Update CellStore::mMergedRefs lazily. 2023-05-11 01:00:50 +02:00
Petr Mikheev
93342af1f9 Remove CellStore::searchViaRefNum (replaced with WorldModel::getPtr) 2023-05-11 00:17:22 +02:00
Petr Mikheev
270ead937b Remove check in cellstore.cpp that causes Lua teleport command to fail. 2023-05-11 00:17:22 +02:00
Elias Howell
bf8fafa79a fixed some typos and spelling errors 2023-05-09 20:07:08 -04:00
Petr Mikheev
3a8a4e8bff Revert "Replace rayTest with convexSweepTest MovementSolver::traceDown. Needed to prevent teleporting down through sewer grates."
This reverts commit 917132e326.
2023-05-09 01:20:02 +02:00
Alexei Kotov
4394970894 Merge branch 'gui_view' into 'master'
Use string_view in journal code

See merge request OpenMW/openmw!3005
2023-05-08 17:37:46 +00:00
Evil Eye
f93d41d9ce Use string_view instead of const char* 2023-05-08 17:18:18 +02:00
Evil Eye
ad3195488b Remove unimplemented method declaration 2023-05-08 16:57:57 +02:00
psi29a
0a8c801d66 Merge branch 'lua_getters' into 'master'
Rename some functions in Lua API from `aaa` to `getAaa` (for consistency with `setAaa`)

Closes #7356

See merge request OpenMW/openmw!3004
2023-05-08 10:25:27 +00:00
psi29a
753696583e Merge branch 'trace_down' into 'master'
Replace `rayTest` in `MovementSolver::traceDown` with `convexSweepTest`

See merge request OpenMW/openmw!3003
2023-05-08 09:31:53 +00:00
Petr Mikheev
067df2d07e Rename some functions in Lua API from aaa to getAaa (for consistency with setAaa) 2023-05-08 00:49:06 +02:00
psi29a
1f0aede634 Merge branch 'celloverride' into 'master'
Fix cell overrides and remove unused, incomplete erase method

See merge request OpenMW/openmw!3001
2023-05-07 19:50:36 +00:00
Petr Mikheev
917132e326 Replace rayTest with convexSweepTest MovementSolver::traceDown. Needed to prevent teleporting down through sewer grates. 2023-05-07 21:13:14 +02:00
Evil Eye
22ba0a1cf0 Improve variable names 2023-05-07 17:27:28 +02:00
Petr Mikheev
86fce41a39 Keep refnum when moving objects to/from inventory (#6148) 2023-05-07 17:19:44 +02:00
elsid
188de0d8d4 Merge branch 'journalcase' into 'master'
Remove dialogue related instances of getRefIdString

See merge request OpenMW/openmw!2999
2023-05-07 14:49:49 +00:00
elsid
6de335dd77
Pass path to startup script as std::filesystem::path 2023-05-06 13:58:39 +02:00
Evil Eye
2a48642fe3 Fix cell overrides and remove unused, incomplete erase method 2023-05-05 16:39:24 +02:00
Evil Eye
3cf0977c0b Remove dialogue related instances of getRefIdString 2023-05-04 19:46:49 +02:00
Tobias Tribble
43544e7d30 Fixed teleport function to use rotation flags 2023-05-03 18:29:50 -05:00
elsid
c5ab0c8b73
Avoid using Settings::Manager::set* functions directly 2023-05-03 22:11:44 +02:00
elsid
258ae9d98e
Add settings index to provide lookup by category and name 2023-05-03 22:11:44 +02:00
psi29a
cdc753df70 Merge branch 'lua_refactoring' into 'master'
MWLua refactoring

See merge request OpenMW/openmw!2956
2023-05-02 19:48:21 +00:00
psi29a
dacbbc1d20 Merge branch 'dehardcode_steal' into 'master'
Remove Content file check when stealing

See merge request OpenMW/openmw!2987
2023-05-02 19:45:51 +00:00
jvoisin
5299065cad Simplify a funny-written function 2023-05-01 21:13:15 +02:00
psi29a
83203ae4d9 Merge branch 'minor_header_cleanup_clion' into 'master'
Minor header cleanup

See merge request OpenMW/openmw!2991
2023-05-01 10:46:55 +00:00
psi29a
67c0138aee Merge branch 'fix-7335-bis' into 'master'
OpenCS fixes the issues with the addon's saving

See merge request OpenMW/openmw!2952
2023-04-30 23:01:47 +00:00
jvoisin
c7a3f43915 Minor header cleanup
This has been done via CLion's "unused include directive",
set to "detect completely unused".
2023-04-30 16:26:03 +02:00
AnyOldName3
61712168c6 Make things less readable to appease authoritarian line length limit 2023-04-30 02:05:35 +01:00
AnyOldName3
ab625804ab Skip adjusting near and far planes for instances that won't affect it 2023-04-30 01:58:43 +01:00
AnyOldName3
f0fcb5e5df Compute instance matrices once 2023-04-30 00:41:09 +01:00
Tobias Tribble
2c887d82d0 Removed Content file check 2023-04-28 11:46:22 -05:00
Zackhasacat
c4246159af Fix gameObject.teleport function, previously would not work with items in inventories 2023-04-27 19:37:38 +00:00
jvoisin
c752c8950f Merge branch 'use_std_locale' into 'master'
make use of std::wstring_convert to replace boost::locale::conv::utf_to_utf

See merge request OpenMW/openmw!2969
2023-04-27 12:24:23 +00:00
psi29a
130fd387ea make use of std::wstring_convert to replace boost::locale::conv::utf_to_utf 2023-04-27 12:24:22 +00:00
psi29a
3bd72e9c5d Merge branch 'no_automagick' into 'master'
Add missing `sol::is_automagical : std::false_type` in magicbindings.cpp

See merge request OpenMW/openmw!2982
2023-04-26 21:51:16 +00:00
psi29a
39a40f3a73 Merge branch 'rm_ref_id_empty' into 'master'
Remove ESM::RefId::sEmpty

See merge request OpenMW/openmw!2981
2023-04-26 21:48:51 +00:00
Petr Mikheev
d1d1a280d0 Add missing sol::is_automagical : std::false_type in magicbindings.cpp 2023-04-26 21:50:42 +02:00
elsid
0601d7213e
Remove ESM::RefId::sEmpty
This variable is only required to return empty RefId as const reference. There
is no point in doing so for a type cheap to copy.
2023-04-26 21:15:16 +02:00
Tobias Tribble
b52ab04c43 Added soulValue to creatureRecord, added documentation 2023-04-26 12:01:59 -05:00
psi29a
0cf9fe0e2e Merge branch 'lua_casting_error' into 'master'
Fix crash on sol::object type mismatch in invalid Lua script

See merge request OpenMW/openmw!2975
2023-04-25 22:19:45 +00:00
psi29a
0b976232e9 Merge branch 'deprecated_qt' into 'master'
Fix a qt deprecation warning in cmake

See merge request OpenMW/openmw!2974
2023-04-25 21:59:16 +00:00
Petr Mikheev
31eb3e6f5d Use typed settings storage for Lua settings 2023-04-25 23:51:37 +02:00
Petr Mikheev
003f611bdb Remove LuaManager::Action 2023-04-25 23:51:37 +02:00
Petr Mikheev
4562b8c06b Add headers for all .cpp files in mwlua; move packages initilaization from LuaManager to luabindings.cpp 2023-04-25 23:24:51 +02:00
Zackhasacat
f6fb05d1ca Add functionality for lua to view and modify ownership data for GameObjects 2023-04-25 21:20:43 +00:00
Petr Mikheev
c362b2efa6 Use LuaUtil::cast for casting sol::object to prevent crashing on type mismatch in Lua scripts. 2023-04-25 22:11:04 +02:00
jvoisin
222365b5e3 Fix a qt deprecation warning in cmake 2023-04-25 22:00:20 +02:00
Petr Mikheev
61578ca39b Add function LuaUtil::cast 2023-04-25 21:51:05 +02:00
Bret Curtis
0db31207dc remove remaining boost::filesystem cruft 2023-04-25 16:15:04 +02:00
psi29a
94e467caa3 Merge branch 'settings_access_bench' into 'master'
Run openmw_settings_access_benchmark in CI

See merge request OpenMW/openmw!2967
2023-04-25 11:42:47 +00:00
Bret Curtis
249986b6e0 pathToQString makes things shorter 2023-04-25 11:21:16 +02:00
Bret Curtis
afc4e064cb make use of pathToUnicodeString 2023-04-25 10:34:29 +02:00
Bret Curtis
3581f1b724 fix msvc build 2023-04-25 09:08:51 +02:00
AnyOldName3
f2fa607f41 Use chunk-relative position
Also apply .clang-format
2023-04-24 22:39:18 +01:00
AnyOldName3
f721be90aa Swap matrix order
It still doesn't work, but I think this is more likely to be right.
2023-04-24 22:07:46 +01:00
elsid
35f4bcd31e
Run openmw_settings_access_benchmark in CI
Add benchmarks to access 2 and 3 settings. Use settings with max memory address
distance assuming Settings::Values is single memory location object.

Use settings-default.cfg from the source code repository to initialize settings.
2023-04-24 22:30:49 +02:00
psi29a
9f4322951f Merge branch 'use_qt_lockfile' into 'master'
make use of QLockFile

Closes #7345

See merge request OpenMW/openmw!2966
2023-04-24 13:34:06 +00:00
psi29a
2e1820fefd make use of QLockFile 2023-04-24 13:34:06 +00:00
psi29a
8e8a539cb7 Merge branch 'lua_fix' into 'master'
Bugfix: add missing type validation in mwlua/objectvariant.hpp

See merge request OpenMW/openmw!2963
2023-04-24 12:11:14 +00:00
psi29a
406eb1f9cc Merge branch 'replace_boost' into 'master'
replace boost where not needed

See merge request OpenMW/openmw!2962
2023-04-23 19:46:29 +00:00
psi29a
71aaa56ae3 replace boost where not needed 2023-04-23 19:46:29 +00:00
Petr Mikheev
073e379057 Add missing type validation in mwlua/objectvariant.hpp 2023-04-23 20:47:24 +02:00
AnyOldName3
42711089e7 Minor fixes
Add CullVisitor include.

Swap return values of cull callback.
2023-04-23 17:40:19 +01:00
elsid
499d086cc1
Add tests for Settings::Values 2023-04-23 15:21:58 +02:00
elsid
1fbf50fb13
Use PROJECT_SOURCE_DIR in tests 2023-04-23 15:11:17 +02:00
AnyOldName3
43eb739313 Maybe compute an accurate near and far plane using primitives for groundcover
I couldn't reproduce the original bug, so can't verify whether this
fixes it.
There's a strong chance I've boffed the matrix multiplication order.
If it's the same as GLSL, then everything *should* be fine.
2023-04-23 00:15:45 +01:00
elsid
39e867781e
Avoid using Settings::Manager::mDefaultSettings directly 2023-04-22 21:02:16 +02:00
Mads Buvik Sandvei
7d69bea7dc Move InitializeStereoOperation to components/stereo 2023-04-22 16:11:53 +02:00
Mads Buvik Sandvei
fe066069d7 /components/ code should not access the stereo manager without checking whether or not stereo is enabled first. Stereo component code should not read settings itself, but rather take settings as parameters. 2023-04-22 16:11:42 +02:00
elsid
7a7c20d49e
Define single UpdateGuard type in a separate file 2023-04-22 13:22:07 +02:00
psi29a
675dfb9725 Merge branch 'simplify_world' into 'master'
Refactoring. Put ESMStore to Environment; remove `createRecord` from World.

See merge request OpenMW/openmw!2947
2023-04-21 13:28:43 +00:00
florent.teppe
b5f774ae64 fixes the issues with the addons
the OpenCS reference's cellId uses a string to be sure it is coherent with the cell's Id type in the editor.
2023-04-21 14:55:24 +02:00
Andrei Kortunov
6ce0d9e9b9 Localize testcells/testinteriorcells progress text 2023-04-21 09:46:02 +04:00
Petr Mikheev
f1beaa7b8c Put ESMStore to Environment 2023-04-20 21:45:49 +02:00
Petr Mikheev
227a993b94 Remove createRecord functions from World because the only forward the argument to ESMStore that can be used directly. 2023-04-20 21:45:49 +02:00
Petr Mikheev
90397662bc Lua bindings for magic. Based on the work made by @bharbich in !2765. 2023-04-20 18:48:34 +02:00
florent.teppe
5bb9bfd224 CellPreloader::preload(CellStore& 2023-04-20 16:58:19 +02:00
florent.teppe
a3a2685b9a More MWWorld::CellStore* -> MWWorld::CellStore& 2023-04-20 16:16:17 +02:00
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
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
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
Andrei Kortunov
9ad0e2f4e6 Migrate Grow Limit editor feature to a more modern code 2023-02-07 20:09:59 +04: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