1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-08-03 13:44:05 +00:00
Commit graph

22936 commits

Author SHA1 Message Date
Zackhasacat
f0640da21e Add character to core 2023-10-25 21:05:14 -05:00
Zackhasacat
3e31142c0b Remove lua action 2023-10-25 17:24:18 -05:00
Kindi
1bff02e3b0 add docs 2023-10-26 03:32:15 +08:00
psi29a
6a87ba8f33 Merge branch 'mygui343_fix' into 'master'
Fix MyGUI 3.4.3 issues [#7528]

See merge request OpenMW/openmw!3319
2023-10-25 12:35:13 +00:00
psi29a
f3931c8321 Merge branch 'lua_hud_hide' into 'master'
Add functions to lua ui library to toggle HUD visibility, and check current status.

See merge request OpenMW/openmw!3450
2023-10-25 12:34:56 +00:00
Zackhasacat
ac9cfc782a Add functions to lua ui library to toggle HUD visibility, and check current status. 2023-10-25 12:34:56 +00:00
Alexei Kotov
e6c02efbb7 Add record presence early-outs for various script instructions (feature #7625)
AddItem, RemoveItem, StartScript, StopScript, AddTopic
2023-10-24 23:19:53 +03:00
Evil Eye
23bf6ed878 Remove missing scripts from actors much like is done for items 2023-10-24 20:59:45 +02:00
Zackhasacat
f4d349070c Add isTeleportingEnabled and setTeleportingEnabled 2023-10-24 13:51:12 -05:00
Evil Eye
dc781bad5d Use fixed size unsigned ints for inventory offsets 2023-10-24 17:51:12 +02:00
Zackhasacat
15bee21286 Fix caps 2023-10-24 09:30:00 -05:00
Petr Mikheev
f547cd5934 Merge branch 'lua_object_var' into 'master'
Add lua binding for gameObject globalVariable

See merge request OpenMW/openmw!3483
2023-10-24 13:55:51 +00:00
Zackhasacat
78e9a1753e Add lua binding for gameObject globalVariable 2023-10-24 13:55:50 +00:00
Petr Mikheev
31f5c8826b Merge branch 'lua_global_new' into 'master'
Add global variable access to world.mwscript (#7597)

See merge request OpenMW/openmw!3491
2023-10-24 09:23:25 +00:00
Zackhasacat
db42a91867 Add global variable access to world.mwscript (#7597) 2023-10-24 09:23:25 +00:00
Zackhasacat
254bf7c5d8 class -> classes 2023-10-23 22:23:30 -05:00
Zackhasacat
611f96ce65 Add class bindings 2023-10-23 22:19:16 -05:00
Mads Buvik Sandvei
354b028072 isMovementAnimationControlled should be private. 2023-10-22 17:23:27 +02:00
Mads Buvik Sandvei
e893767ed0 Redundant line 2023-10-22 17:23:27 +02:00
Mads Buvik Sandvei
45a2b8042d Derive the value of MovementAnimationControlled instead of storing it. 2023-10-22 17:23:27 +02:00
Mads Buvik Sandvei
dcf6a1fc3c Refresh mMovementAnimationControlled when refreshing idle animations. 2023-10-22 17:22:50 +02:00
Alexei Kotov
f68bd3ba97 Launcher: Improve directory appending UX and heuristics (bug #7502)
- Recognize more asset directories and omwgame files
- Always let the user append the selected directory
- Automatically pick the user-selected directory if it's the only valid directory
- Add a caption to directory selection dialog, properly handle cancellation
2023-10-22 16:20:19 +03:00
Alexei Kotov
3330907d7b Combat AI: Prefer picking reachable/visible targets (bug #6932) 2023-10-22 16:20:02 +03:00
Alexei Kotov
ee5ca066fd Allow talking with fleeing creatures (bug #7631) 2023-10-22 16:18:52 +03:00
Bret Curtis
1bd4860026 no more obsolete mygui shizzle for macos 2023-10-22 11:25:39 +02:00
psi29a
a08ca11c34 Merge branch 'boundingboxing' into 'master'
BulletNifLoader: Replicate node bounds handling more closely

See merge request OpenMW/openmw!3505
2023-10-22 08:52:23 +00:00
psi29a
631a3954b1 Merge branch 'notsocharmingnow' into 'master'
Don't apply Charm to creatures (bug #7630)

Closes #7630

See merge request OpenMW/openmw!3507
2023-10-22 08:52:04 +00:00
Petr Mikheev
4d66679204 Queue Lua handler uiModeChanged 2023-10-21 13:04:02 +02:00
Alexei Kotov
d0ffe6e2f9 Don't apply Charm to creatures (bug #7630) 2023-10-21 07:10:16 +03:00
Alexei Kotov
9405e5cb3c BulletNifLoader: Replicate node bounds handling more closely 2023-10-19 03:11:55 +03:00
Cody Glassman
5fc46b166a track debug window size and dimensions between sessions 2023-10-18 09:04:57 -07:00
Evil Eye
97009f1e23 Merge Assumeru/mystringvui 2023-10-17 23:53:04 +02:00
Bret Curtis
e97b07b6a4 additional cleanup 2023-10-17 23:53:04 +02:00
Bret Curtis
43a931d3c4 [#7528] Fix MyGUI 3.4.3 issues 2023-10-17 23:53:04 +02:00
psi29a
ed2e969802 Fix build 2023-10-17 20:10:19 +00:00
psi29a
798ff7062b Merge branch 'bullet' into 'master'
BulletNifLoader updates

See merge request OpenMW/openmw!3498
2023-10-17 07:40:45 +00:00
psi29a
9259f5c056 Merge branch 'merryweather' into 'master'
Replace more sized reads and change weather loading

See merge request OpenMW/openmw!3496
2023-10-16 20:06:59 +00:00
psi29a
97d9f9c4f3 Merge branch 'dont-lose-your-head' into 'master'
Add missing headers to components/CMakeLists.txt

See merge request OpenMW/openmw!3499
2023-10-16 20:06:47 +00:00
elsid
7ac402390a
Use settings values for Water settings 2023-10-15 23:24:46 +02:00
AnyOldName3
2ed584428c Add missing headers to components/CMakeLists.txt
Otherwise, they won't show up as part of the project in IDEs.
2023-10-15 15:44:24 +01:00
Kindi
7e087707cd fix potential miscalculation 2023-10-15 21:26:47 +08:00
Alexei Kotov
8db631c6b6 Update BSXFlags test 2023-10-15 15:32:59 +03:00
psi29a
febfa353e0 Merge branch 'save_metadata' into 'master'
Add additional fields to save metadata

See merge request OpenMW/openmw!3493
2023-10-15 11:42:02 +00:00
psi29a
03fa273394 Merge branch 'settings_values_sound' into 'master'
Use settings values for Sound settings (#6876)

See merge request OpenMW/openmw!3494
2023-10-15 11:41:30 +00:00
Evil Eye
fbafa13b3d Appease the compiler 2023-10-14 17:01:55 +02:00
Evil Eye
514723a4e6 Use fixed size ints for Region and use an array for weather odds 2023-10-14 16:36:45 +02:00
Evil Eye
2ebd544dfb Fix #7624 2023-10-14 14:18:50 +02:00
Andrei Kortunov
fc74cc49dd Add additional fields to save metadata (feature 7618) 2023-10-14 09:53:44 +04:00
elsid
a84e412a37
Use settings values for Sound settings 2023-10-13 12:58:58 +02:00
psi29a
fe5dbb7a25 Merge branch 'bsatool' into 'master'
Fix creating archives in bsatool

See merge request OpenMW/openmw!3484
2023-10-13 07:34:51 +00:00
psi29a
de11bbc008 Merge branch 'settings_values_shaders' into 'master'
Use settings values for Shaders settings (#6876)

See merge request OpenMW/openmw!3489
2023-10-13 07:34:43 +00:00
uramer
99461fd9b2 Merge branch 'control_switch' into 'master'
[Lua] Add CONTROL_SWITCH functions to `types.Player` and deprecate them in `openmw.input`

See merge request OpenMW/openmw!3487
2023-10-13 07:00:34 +00:00
elsid
08902371b4
Use settings values for Shaders settings 2023-10-12 20:43:53 +02:00
Kindi
58a16dacbe take2 resolve 2023-10-13 00:53:59 +08:00
Alexei Kotov
4b4c46fa70 Merge branch 'settings_values_saves' into 'master'
Use settings values for Saves settings (#6876)

See merge request OpenMW/openmw!3486
2023-10-11 21:35:48 +00:00
Alexei Kotov
8c58ec9c32 Merge branch 'esm4actors' into 'master'
Show ESM4 NPCs

See merge request OpenMW/openmw!3312
2023-10-11 21:33:14 +00:00
elsid
1038a68fbf
Use settings values for Saves settings 2023-10-10 20:39:52 +02:00
psi29a
01ee448c61 Merge branch 'settings_values_navigator' into 'master'
Use settings values for Navigator settings (#6876)

See merge request OpenMW/openmw!3468
2023-10-10 03:24:33 +00:00
Petr Mikheev
15306c7d49 [Lua] Add CONTROL_SWITCH functions to types.Player and deprecate them in openmw.input 2023-10-10 01:15:09 +02:00
psi29a
fb9fc91710 Merge branch 'settings_values_post_processing' into 'master'
Use settings values for Post Processing settings (#6876)

See merge request OpenMW/openmw!3480
2023-10-09 11:35:53 +00:00
psi29a
9534130906 Merge branch 'settings_values_physics' into 'master'
Use settings values for Physics settings (#6876)

See merge request OpenMW/openmw!3481
2023-10-09 11:35:43 +00:00
psi29a
ab631fcd70 Merge branch 'whosabaddoggo' into 'master'
Handle AllowWerewolfForceGreeting variable (bug #7609)

Closes #7609

See merge request OpenMW/openmw!3476
2023-10-09 11:35:16 +00:00
Alexei Kotov
1bd388faf3 Fix creating archives in bsatool 2023-10-09 07:07:53 +03:00
elsid
4a7886816e
Use settings values for Physics settings 2023-10-08 12:19:02 +02:00
elsid
7b4b8763ff
Use settings values for Post Processing settings 2023-10-08 11:58:16 +02:00
psi29a
575f43876b Merge branch 'fixedpath' into 'master'
Replace more sized reads and change path grid loading

See merge request OpenMW/openmw!3475
2023-10-08 02:18:43 +00:00
Petr Mikheev
3882a5f25a update 2023-10-07 17:21:25 +02:00
Petr Mikheev
b4552d47f6 Don't use ESM4 mHeadFeamleParts; switch from manually adding "meshes\\" to correctMeshPath 2023-10-07 17:21:25 +02:00
Petr Mikheev
1acac873cf Use "setObjectRoot" in esm4npcanimation.cpp 2023-10-07 17:21:25 +02:00
Petr Mikheev
4beed29404 Changes required during review 2023-10-07 17:21:25 +02:00
Petr Mikheev
2900351777 Render ESM4 NPCs 2023-10-07 17:21:25 +02:00
psi29a
d43493dd4c Merge branch 'idlestorm' into 'master'
Avoid redundant animation resets in updateIdleStormState

See merge request OpenMW/openmw!3473
2023-10-07 01:41:36 +00:00
Alexei Kotov
cecb2b71ea Handle AllowWerewolfForceGreeting variable (bug #7609) 2023-10-06 23:17:32 +03:00
Evil Eye
b99f58613e Remove signed/unsigned conversions in pathgrid loading code and use meaningful member names 2023-10-06 16:46:09 +02:00
psi29a
2c81220cf7 Merge branch 'book' into 'master'
Reading ESM4 books

See merge request OpenMW/openmw!3471
2023-10-05 17:24:50 +00:00
Alexei Kotov
79bda2e694 Avoid redundant animation resets in updateIdleStormState 2023-10-04 22:26:52 +03:00
psi29a
d9f8757f33 Merge branch 'goblinsnacks' into 'master'
Allow creatures to use potions

Closes #7604

See merge request OpenMW/openmw!3469
2023-10-04 03:46:51 +00:00
Petr Mikheev
6161953106 Allow reading ESM4 books 2023-10-03 10:55:12 +02:00
Alexei Kotov
b6d2fa5f9d Merge branch 'initially_disabled' into 'master'
Take into account "Enable Parent" subrecord and disable ESM4 objects that should be initially disabled

See merge request OpenMW/openmw!3461
2023-10-02 18:28:29 +00:00
Evil Eye
0814ef5697 Allow creatures to use potions 2023-10-01 11:22:20 +02:00
elsid
68de5690ef
Use settings values for Navigator settings 2023-10-01 11:10:04 +02:00
elsid
b3c8a15af1
Parse navmesh render mode on reading settings 2023-10-01 11:09:59 +02:00
psi29a
08ff69f199 Merge branch 'menu_fix' into 'master'
Update canvas size every frame when it is visible

See merge request OpenMW/openmw!3463
2023-09-29 11:25:09 +00:00
Andrei Kortunov
1ac0a3b25b Update canvas size every frame when it is visible (bug 7603) 2023-09-29 13:34:04 +04:00
psi29a
df1063be5d Merge branch 'thedichotomyof4' into 'master'
ESM4 upd8s: Fours and Worlds

Closes #7445

See merge request OpenMW/openmw!3454
2023-09-29 08:16:30 +00:00
Petr Mikheev
02de5e82d8 Take into account "Enable Parent" subrecord and disable ESM4 objects that should be initially disabled. 2023-09-28 23:09:09 +02:00
psi29a
3ea14e904d Merge branch 'actors_range' into 'master'
Handle actors processing range in Lua

See merge request OpenMW/openmw!3458
2023-09-28 08:33:46 +00:00
psi29a
6c39e3f817 Merge branch 'draft' into 'master'
Treat teleportation out of the draft cell as object creation

Closes #7588 and #7453

See merge request OpenMW/openmw!3455
2023-09-28 08:33:10 +00:00
psi29a
f9bba096db Merge branch 'fix_editor_model' into 'master'
Avoid using settings in components to get actor model (#7596)

Closes #7596

See merge request OpenMW/openmw!3460
2023-09-28 08:32:52 +00:00
psi29a
bae8d585fe Merge branch 'lua/capacity_encum_bindings' into 'master'
Add more lua bindings for encumbrance and capacity

See merge request OpenMW/openmw!3462
2023-09-28 08:32:38 +00:00
glassmancody.info
9aa992eede add more lua bindings for encumbrance and capacity 2023-09-27 17:19:08 -07:00
Evil Eye
7594d94024 Prevent re-adding local scripts 2023-09-27 22:24:28 +02:00
Evil Eye
f6626e36cf Unbreak respawns and fix #7588 2023-09-27 22:07:55 +02:00
Evil Eye
33b57d9134 Use moveToCell and init mwscript 2023-09-27 21:23:07 +02:00
elsid
1d94527a19
Avoid using settings in components to get actor model
Settings::Values are initialized only for engine. Accessing them from other
binaries leads to a crash.
2023-09-27 21:00:46 +02:00
Andrei Kortunov
40c8783790 Handle actors processing range in Lua 2023-09-27 15:14:32 +04:00
psi29a
e090bc234b Merge branch 'simulation_fix' into 'master'
Decouple rendering simulation time from Lua simulation time (bug 7576)

Closes #7576

See merge request OpenMW/openmw!3457
2023-09-27 07:30:36 +00:00
Zackhasacat
cde2b49313 Fix recordDraft isScroll for types.book in lua 2023-09-27 07:30:27 +00:00
Andrei Kortunov
442c032373 Decouple rendering simulation time from Lua simulation time (bug 7576) 2023-09-26 14:39:38 +04:00
Evil Eye
641f34a3c9 Treat teleportation out of the draft cell as object creation 2023-09-25 21:01:32 +02:00
Alexei Kotov
8d655054f1 esmtool: Print human-readable ESM4 file format version 2023-09-25 21:40:14 +03:00
Alexei Kotov
9f8f2dd925 Use parent worldspace terrain when requested 2023-09-25 21:40:14 +03:00
Alexei Kotov
7e360df6c0 Place ESM4::Flora instances to the scene 2023-09-24 10:25:44 +03:00
psi29a
67075990bd Merge branch 'deprecations' into 'master'
Remove numeric magic school ids and deprecate the enum

See merge request OpenMW/openmw!3440
2023-09-23 11:59:22 +00:00
psi29a
6d32caa2d6 Merge branch 'somethinginparticlular' into 'master'
Read even more NIF records

See merge request OpenMW/openmw!3442
2023-09-23 11:59:06 +00:00
Alexei Kotov
c800152ca2 Diminish error marker prominence
Don't render ESM4 actors or SpeedTree objects
2023-09-22 01:01:19 +03:00
psi29a
84019e7998 Merge branch 'mobiusdoublereacharound' into 'master'
Rewrite melee hit target selection (bug #3438)

Closes #3438

See merge request OpenMW/openmw!3274
2023-09-21 20:31:18 +00:00
Evil Eye
90ca8a2f4e Remove ATTRIBUTE, SKILL, and SCHOOL enums 2023-09-21 19:34:13 +02:00
Evil Eye
6ed5cbb7d0 Remove numeric magic school ids and deprecate the enum 2023-09-20 19:51:29 +02:00
Alexei Kotov
440851ff48 Rewrite melee hit target selection (bug #3438) 2023-09-19 22:31:45 +03:00
Petr Mikheev
38f56cfcdd Fix #7453: wrong position of dynamically placed CreatureLevList 2023-09-19 11:22:58 +02:00
Petr Mikheev
95906a34b3 Fix #6146 (actor:setEquipment doesn't trigger mwscripts) 2023-09-19 10:59:20 +02:00
psi29a
38d0ece366 Merge branch 'titlefix' into 'master'
Repeat title music only in main menu

See merge request OpenMW/openmw!3436
2023-09-19 08:37:44 +00:00
psi29a
3ae189dda1 Merge branch 'nifcouriersix' into 'master'
Modernize NIF loader, part 6

See merge request OpenMW/openmw!3435
2023-09-19 08:37:23 +00:00
psi29a
1a5b63412a Merge branch 'fix-lua-layers' into 'master'
Fix Lua UI Layer bindings

See merge request OpenMW/openmw!3433
2023-09-18 08:37:29 +00:00
psi29a
1c8198242e Merge branch 'toggleai' into 'master'
Add a way to toggle AI to Lua debug package

See merge request OpenMW/openmw!3429
2023-09-18 08:37:19 +00:00
psi29a
eb688b603d Merge branch 'refnum_ref' into 'master'
Replace `const ESM::RefNum&` -> `ESM::RefNum`

See merge request OpenMW/openmw!3432
2023-09-18 08:35:45 +00:00
Andrei Kortunov
3ef9b850d7 Repeat title music only in main menu 2023-09-18 10:45:08 +04:00
Alexei Kotov
1b93e646b8 Rename Property->NiProperty 2023-09-18 06:44:44 +03:00
Alexei Kotov
1e3da5516a Fix BA2 handling in niftest 2023-09-17 19:30:30 +03:00
Alexei Kotov
9ae1077808 Update NIF property loading, first pass
Revise all FO3+ shader properties (attempt reading FO4, FO76 and Starfield properties)
Use constants for most instances of property flags
Drop invalid usage of non-existent double-sided flag for BSShader
Make formatting more consistent, drop unnecessary comments
2023-09-17 19:22:16 +03:00
psi29a
18b6eba709 Merge branch 'reloadlua' into 'master'
safe reloadlua on top of !3362

See merge request OpenMW/openmw!3412
2023-09-17 11:28:01 +00:00
Alexei Kotov
eb8242946a Improve node record consistency with NifTools 2023-09-16 19:17:40 +03:00
Alexei Kotov
bff9231c3b Refactor NiGeometry/BSTriShape
Don't pass invalid geometry data links to the loaders
2023-09-16 19:17:40 +03:00
uramer
cda5f12630 Fix Lua UI Layer bindings 2023-09-16 13:45:19 +02:00
Kindi
83ebaf27cc take2 2023-09-16 17:53:26 +08:00
Alexei Kotov
deb051639e Refactor NiBoundingVolume 2023-09-15 21:11:12 +03:00
Petr Mikheev
c67b866a11 Replace const ESM::RefNum& -> ESM::RefNum 2023-09-15 19:38:09 +02:00
Petr Mikheev
72b8ff82ff !3362 with safe reloadlua 2023-09-15 19:10:33 +02:00
Andrei Kortunov
56ea3e3879 Add a way to toggle AI to Lua debug package 2023-09-15 18:49:46 +04:00
psi29a
551f424c80 Merge branch 'silent_warning' into 'master'
Silent coverity warning

See merge request OpenMW/openmw!3423
2023-09-15 12:57:08 +00:00
Petr Mikheev
4fa8756791 Silent coverity warning 2023-09-15 11:05:40 +02:00
psi29a
12159d95f3 Merge branch 'music' into 'master'
Rework music system

See merge request OpenMW/openmw!3372
2023-09-15 07:11:31 +00:00
psi29a
ed022a6c14 Merge branch 'fix_use' into 'master'
Fix regression added in  !3354: Set `force` to false when applying UseItem from inventory.

See merge request OpenMW/openmw!3422
2023-09-15 07:03:34 +00:00
psi29a
59f8034442 Merge branch 'sizedreads' into 'master'
Replace more sized reads

See merge request OpenMW/openmw!3425
2023-09-15 07:03:18 +00:00
psi29a
64e4a33400 Merge branch 'nif' into 'master'
Modernize NIF loader, part 4

See merge request OpenMW/openmw!3427
2023-09-15 07:02:38 +00:00
Andrei Kortunov
db72a91180 Add a way to check if sound system is enabled 2023-09-14 13:02:20 +04:00
Andrei Kortunov
ebb75008f8 Do not use playlist for title music 2023-09-14 09:17:59 +04:00
Alexei Kotov
0fe095303f Rename Controller->NiTimeController, update NiTimeController and related code 2023-09-14 03:12:10 +03:00
Alexei Kotov
05d8975ed1 Revise various NIF controller records
Mostly those that don't require external changes
2023-09-14 01:44:41 +03:00
Evil Eye
b59739a529 Replace more sized reads 2023-09-13 21:51:42 +02:00
Andrei Kortunov
655c4442bc Implement isMusicPlaying 2023-09-13 17:48:49 +04:00
Bret Curtis
a285408212 small coverity fix 2023-09-13 12:28:38 +02:00
Kindi
ff16ee2d64 implement lua api for get/set item condition 2023-09-13 16:10:15 +08:00
Andrei Kortunov
cbb4c1bb9a Fix music during a new game start 2023-09-13 09:11:07 +04:00
Andrei Kortunov
e25e867d77 Remove 'music' package 2023-09-13 09:11:07 +04:00
Andrei Kortunov
18fe6a8ae7 Remove default argument 2023-09-13 09:11:07 +04:00
Andrei Kortunov
e1cae5a029 Rework music system 2023-09-13 09:11:07 +04:00
psi29a
090da90302 Merge branch 'factions' into 'master'
Implement Lua API for factions

See merge request OpenMW/openmw!3405
2023-09-12 19:41:54 +00:00
psi29a
42b77342c5 Merge branch 'nif' into 'master'
Modernize NIF loader, part 3

See merge request OpenMW/openmw!3418
2023-09-12 08:34:46 +00:00
Andrei Kortunov
02dcf1fb31 Split setFactionRank to separate functions 2023-09-12 11:57:19 +04:00
Andrei Kortunov
6ee86dea82 Implement Lua API for factions (feature 7468) 2023-09-12 09:49:03 +04:00
Petr Mikheev
fb8ccf52d8 Add missing argument force in UseItem 2023-09-11 16:21:34 +02:00
psi29a
9d186ee2cd
Merge branch 'ptrindex' into 'master'
Fix crash: PtrRegistry can contain pointers to already removed temporary ManualRefs

See merge request OpenMW/openmw!3411
2023-09-11 06:57:36 +00:00
psi29a
d87db1dc5f
Merge branch 'drainfatigue' into 'master'
Uncap Drain Fatigue again (bug #7573)

Closes #7573

See merge request OpenMW/openmw!3414
2023-09-11 06:57:25 +00:00
psi29a
39a209cb78
Merge branch 'settings_values_models' into 'master'
Use settings values for Models settings (#6876)

See merge request OpenMW/openmw!3413
2023-09-11 06:55:17 +00:00
psi29a
9d3eb1a901
Merge branch 'fix_crash' into 'master'
Fix crash on accessing cells settings from non engine binaries

Closes #7572

See merge request OpenMW/openmw!3415
2023-09-10 15:23:57 +00:00
psi29a
4deb012edf
Merge branch 'centeroncell' into 'master'
Reset the rotation for ESM3 door-based COC destinations again (#7471)

Closes #7471

See merge request OpenMW/openmw!3416
2023-09-10 15:23:09 +00:00
Alexei Kotov
a7cc4e6ba6 Rename Node->NiAVObject and update everything directly related
Update NiNode
Simplify RootCollisionNode handling in BulletNifLoader
2023-09-10 07:18:39 +03:00
Alexei Kotov
6872c7144e Rename Transformation->NiTransform and update everything directly related 2023-09-10 07:18:39 +03:00
Alexei Kotov
ef896faa90 Rename Named->NiObjectNET and update everything directly related to it
BulletNifLoader: properly check if the node has animation controllers
Flatten extra data linked list
2023-09-10 07:18:39 +03:00
psi29a
9791fae2db
Merge branch 'statrecords' into 'master'
Expose skill and attribute records to Lua and deprecate their enums

See merge request OpenMW/openmw!3407
2023-09-09 20:39:45 +00:00
Petr Mikheev
892f6d1aee Make LiveCellRef to remove itself from PtrRegistry in destructor (to prevent potential use after free); Update ContainerStore::mPtr after copying container/actor. 2023-09-09 21:54:13 +02:00
Alexei Kotov
0f2e5f9db6 Uncap Drain effects again (bug #7573) 2023-09-09 22:46:11 +03:00
Alexei Kotov
817078cbea Reset the rotation for ESM3 door-based COC destinations again 2023-09-09 21:00:47 +03:00
elsid
053a3caf7b
Pass cache expiry delay to GenericResourceManager constructor 2023-09-09 19:35:20 +02:00
elsid
ad509bb954
Use settings values for Models settings 2023-09-09 13:12:08 +02:00
psi29a
bcc3365766
Merge branch 'fix_hidden_window' into 'master'
Fix bug related to !3236

See merge request OpenMW/openmw!3406
2023-09-09 08:06:47 +00:00
psi29a
0a47e927d5
Merge branch 'nif' into 'master'
Modernize NIF loader, part 2

See merge request OpenMW/openmw!3404
2023-09-09 08:06:32 +00:00
psi29a
45a211c098
Merge branch 'lua_nil' into 'master'
Return nil when we try to use an invalid store index from Lua

Closes #7550

See merge request OpenMW/openmw!3410
2023-09-09 08:06:19 +00:00
psi29a
cadb166b58
Merge branch 'companion_creatures' into 'master'
Allow creatures to be companions again

See merge request OpenMW/openmw!3409
2023-09-09 08:06:03 +00:00
Andrei Kortunov
5d211d3c93 Return nil when we try to use an invalid store index from Lua 2023-09-08 09:48:45 +04:00
Andrei Kortunov
7c5caec443 Allow creatures to be companions again 2023-09-08 08:30:06 +04:00
Evil Eye
cd0e612cb7 Expose skill and attribute records to Lua and deprecate their enums 2023-09-07 21:30:08 +02:00
Petr Mikheev
42f2ece8b3 Fix bug: UI modes that are added not through Lua don't show windows that were hidden by Lua in other mode. 2023-09-07 02:16:22 +02:00
Alexei Kotov
89774716fb Modernize NiGeometryData 2023-09-06 23:55:36 +03:00
Alexei Kotov
cfd37dbcc6 Modernize NiTriShapeData 2023-09-06 23:55:36 +03:00
Alexei Kotov
eba0ab444b Modernize NiTriStripsData 2023-09-06 23:55:35 +03:00
Alexei Kotov
5b07a78f2c Modernize skin instance records 2023-09-06 23:55:35 +03:00
psi29a
30f4cd972d
Merge branch 'unbind_control' into 'master'
Ability to unbind controls in settings menu

See merge request OpenMW/openmw!3393
2023-09-06 08:17:00 +00:00
psi29a
938c487684
Merge branch 'time' into 'master'
[Lua] Ability to unpause the game when UI is opened.

See merge request OpenMW/openmw!3398
2023-09-06 08:16:49 +00:00
psi29a
df31f947c6
Merge branch 'searchyourfeelingsyouknowittobetrue' into 'master'
Replace find with search

Closes #7566

See merge request OpenMW/openmw!3403
2023-09-06 08:15:52 +00:00
psi29a
5a0a04684a
Merge branch 'nocliffracerschooling' into 'master'
Editor: Remove Training service for creatures

See merge request OpenMW/openmw!3396
2023-09-06 08:14:00 +00:00
Petr Mikheev
0836680e36 Ability to unbind controls in settings menu 2023-09-05 23:09:51 +02:00
Evil Eye
6cec92223e Replace find with search 2023-09-05 16:38:34 +02:00
psi29a
690a237896
Merge branch 'init_field' into 'master'
Init structs to make sure that we do not store a random data

See merge request OpenMW/openmw!3400
2023-09-05 07:33:39 +00:00
Zackhasacat
f287b2f436 Merge branch 'master' of gitlab.com:openmw/openmw into lua_record_services 2023-09-04 10:49:51 -05:00
Zackhasacat
7df43f28ed Remove unused include 2023-09-04 10:47:47 -05:00
psi29a
1a4b29f014
Merge branch 'fix_terrain_cache' into 'master'
Terrain cache fixes and optimizations

Closes #7557

See merge request OpenMW/openmw!3388
2023-09-04 09:39:46 +00:00
Andrei Kortunov
5d51f3ea26 Init structs to make sure that we do not store a random data 2023-09-04 12:19:56 +04:00
psi29a
5faf56950b
Merge branch 'lua_files' into 'master'
Implement Lua API for VFS

Closes #6864

See merge request OpenMW/openmw!3373
2023-09-03 17:06:14 +00:00
Zackhasacat
208cd14cfe Use lua table, getESMStore 2023-09-03 11:26:10 -05:00
psi29a
ccc465db27
Merge branch 'nif' into 'master'
Modernize NIF loader, part 1

See merge request OpenMW/openmw!3394
2023-09-03 10:34:46 +00:00
psi29a
b79c40c11c
Merge branch 'more_coverity' into 'master'
More Coverity fixes

See merge request OpenMW/openmw!3391
2023-09-03 10:34:26 +00:00
Petr Mikheev
65cd518b44 Update camera logic related to paused game / opened UI 2023-09-03 04:21:18 +02:00
Petr Mikheev
23a7661d0b Control UI pause from Lua 2023-09-03 03:41:13 +02:00
Zackhasacat
ecc69b5479 Fix line 2023-09-02 15:33:06 -05:00
Zackhasacat
1db236b5fd Fix docs, dependancies 2023-09-02 15:30:02 -05:00
Zackhasacat
ee5983f64a Docs fixes 2023-09-02 15:21:03 -05:00
Zackhasacat
6c6885c394 Formatting 2023-09-02 15:17:14 -05:00
Zackhasacat
070c600a83 Formatting 2023-09-02 15:16:59 -05:00
Zackhasacat
e139135fdc Revert unneeded changes 2023-09-02 15:16:41 -05:00
Zackhasacat
40925fa912 Add line 2023-09-02 15:15:30 -05:00
Zackhasacat
bbe7702dbc Use string_view 2023-09-02 15:13:46 -05:00
Zackhasacat
7d0e140889 Merge branch 'master' of gitlab.com:openmw/openmw into lua_record_services 2023-09-02 14:55:57 -05:00
Zackhasacat
e50532691b Fix define endif 2023-09-02 14:55:04 -05:00
Zackhasacat
9c4ffa8256 Map by service name 2023-09-02 14:23:57 -05:00
Zackhasacat
44303ed8ca Move services to new HPP 2023-09-02 14:10:50 -05:00
psi29a
b818414d82
Merge branch 'activate_and_use' into 'master'
Handle Use action in Lua in a similar way to Activate action

See merge request OpenMW/openmw!3354
2023-09-02 15:11:43 +00:00
Alexei Kotov
16cc1ad59f Editor: Disable Training service for creatures 2023-09-02 17:52:15 +03:00
Andrei Kortunov
65109b3822 Simplify VFS index iteration 2023-09-02 17:40:14 +04:00
Andrei Kortunov
c04a0ca3a5 Implement Lua API for VFS 2023-09-02 08:47:46 +04:00
Zackhasacat
85d47dd715 Add return value 2023-09-01 17:53:28 -05:00
Zackhasacat
aba63c0145 Shorten, move to the correct place 2023-09-01 16:44:58 -05:00
Zackhasacat
9f80d68795 add servicesOffered to npc and creature records 2023-09-01 16:39:33 -05:00
psi29a
a1828eec29
Merge branch 'lua_spell_fix' into 'master'
Clear selected enchanted item and/or spell with actor.clearSelectedCastable()

See merge request OpenMW/openmw!3315
2023-09-01 20:33:42 +00:00
Zackhasacat
7113db8b97
Clear selected enchanted item and/or spell with actor.clearSelectedCastable() 2023-09-01 20:33:42 +00:00
Andrei Kortunov
7da8f388f5 More Coverity fixes 2023-09-01 16:49:39 +04:00
psi29a
3e99103beb
Merge branch 'rtd' into 'master'
Show OpenMW version and Lua API revision in documentation

Closes #6149

See merge request OpenMW/openmw!3382
2023-09-01 08:06:58 +00:00
Zackhasacat
86c28921ae
Add function to get current disposition, add baseDisposition to NPC record 2023-09-01 08:06:34 +00:00
Alexei Kotov
2edf3399e2 Modernize extra data records 2023-09-01 01:54:11 +03:00
psi29a
4fbf42b145
Merge branch 'no_dpad_movement' into 'master'
Do not bind movement to the Controller DPad, but allow it to be rebound

See merge request OpenMW/openmw!3356
2023-08-31 20:04:38 +00:00
Zackhasacat
ce1c78422b
Do not bind movement to the Controller DPad, but allow it to be rebound 2023-08-31 20:04:37 +00:00
Petr Mikheev
d39552962f Validate version of resources 2023-08-31 20:56:02 +02:00
Petr Mikheev
f260fa006e Show OpenMW version and Lua API revision in documentation. 2023-08-31 20:56:02 +02:00
psi29a
5ba13f7aae Merge branch 'lua_template_new' into 'master'
Support 'template' field in createRecordDraft, to use an existing record as a base in lua

See merge request OpenMW/openmw!3387
2023-08-31 08:02:50 +00:00
Petr Mikheev
ea8692a534 Add usehandlers.lua (same approach as activationhandlers.lua) 2023-08-30 22:48:51 +02:00
psi29a
58aeb81e46 Merge branch 'container_ptr' into 'master'
Add `obj.parentContainer` in Lua. Refactor ContainerStore::mPtr, ContainerStore::mActor.

See merge request OpenMW/openmw!3381
2023-08-30 10:19:16 +00:00
Zackhasacat
4b7bf62671 Fix weapon table, and docs 2023-08-29 16:37:32 -05:00
elsid
52ab47771c
Initialize expiry delay for all GenericResourceManager instances 2023-08-29 20:25:21 +02:00
Zackhasacat
0085fb923e Formatting fixes 2023-08-29 11:33:13 -05:00
Zackhasacat
45f25e3f14 Add in initial support 2023-08-29 11:19:11 -05:00
psi29a
a0d3313d8d Merge branch 'lua_restock' into 'master'
Add isRestocking to types.Item

See merge request OpenMW/openmw!3383
2023-08-29 07:07:06 +00:00
Zackhasacat
95c736d54e Remove gobjefct 2023-08-28 08:50:25 -05:00
Zackhasacat
5fdaee093a add isRestocking 2023-08-28 08:30:54 -05:00
psi29a
65a15ff0b1 Merge branch 'container_inventory' into 'master'
[Lua] Add alias `types.Container.inventory` = `types.Container.content` for consistency with `types.Actor.inventory`

See merge request OpenMW/openmw!3314
2023-08-28 11:32:16 +00:00
psi29a
15a24a5af6 Merge branch 'formid' into 'master'
Change FormId::toString to be consistent with RefId. Remove FormIdRefId.

See merge request OpenMW/openmw!3378
2023-08-28 11:32:04 +00:00
psi29a
07edabdc75 Merge branch 'optimize_get_land' into 'master'
Optimize Storage::getLand calls

See merge request OpenMW/openmw!3379
2023-08-28 07:01:46 +00:00
psi29a
b866483ca1 Merge branch 'fix_cellstore' into 'master'
Fix bug in CellStore::writeReferences (#7542)

Closes #7542

See merge request OpenMW/openmw!3380
2023-08-28 07:01:17 +00:00
Zackhasacat
84987450ee Add baseCount 2023-08-27 20:47:43 -05:00
Petr Mikheev
55a9ab4f52 Add obj.parentContainer in Lua. Refactor ContainerStore::mPtr, ContainerStore::mActor. 2023-08-27 23:45:19 +02:00
Petr Mikheev
1143efd46d Fix bug in CellStore::writeReferences (#7542) 2023-08-27 14:30:46 +02:00
Petr Mikheev
32f3a16db3 Change FormId::toString to be consistent with RefId. Remove FormIdRefId. 2023-08-27 09:55:06 +02:00
elsid
816d3772b9
Cache absent land object
This allows to save on lookup in store.
2023-08-27 01:32:36 +02:00
Evil Eye
8f10c8f84a Don't pass obsolete slot parameter to cast 2023-08-25 16:48:38 +02:00
psi29a
5b3e2fbf1c Merge branch 'clickbait' into 'master'
Assign StringRefIds to attributes

See merge request OpenMW/openmw!3256
2023-08-21 18:59:44 +00:00
psi29a
516108691d Merge branch 'record_gold' into 'master'
Add baseGold to NPC and creature lua records

See merge request OpenMW/openmw!3369
2023-08-21 11:33:11 +00:00
psi29a
86f15fa194 Merge branch 'ui' into 'master'
Control GUI from Lua

See merge request OpenMW/openmw!3236
2023-08-21 11:32:24 +00:00
psi29a
ef69ec4adf Merge branch 'sound_mapping' into 'master'
Use a separate lookup for sound files

See merge request OpenMW/openmw!3358
2023-08-21 11:31:35 +00:00
psi29a
5df5c37b18 Merge branch 'lua_check_initialized' into 'master'
Fix #7540

Closes #7540

See merge request OpenMW/openmw!3355
2023-08-21 09:30:16 +00:00
psi29a
bfb2ae7948 Merge branch 'fix_moveinto' into 'master'
Fix incorrect validation in obj:moveInto

See merge request OpenMW/openmw!3359
2023-08-21 09:29:46 +00:00
Andrei Kortunov
921375a06b Use a separate lookup for sound files 2023-08-21 08:34:51 +04:00
Zackhasacat
1320261eba Add baseGold to NPC and creature records 2023-08-20 14:55:23 -05:00
Petr Mikheev
c5ba289bc7 Handle UI modes open/close sounds in Lua 2023-08-20 17:49:56 +02:00
Petr Mikheev
36d22cff1c Improve GUI mode validation 2023-08-20 17:49:56 +02:00
Petr Mikheev
f1bcf64afb Dehardcode input.ACTION.Inventory, input.ACTION.Journal, input.ACTION.QuickKeysMenu 2023-08-20 17:49:56 +02:00
Petr Mikheev
87eacf774a Control GUI modes from Lua 2023-08-20 17:49:56 +02:00
Evil Eye
5a8d108852 Cast to size_t 2023-08-20 16:25:58 +02:00
Evil Eye
62f47acf6b Replace more explicitly sized reads and variable width integers 2023-08-20 11:34:05 +02:00
Evil Eye
e660a9ca16 Assign StringRefIds to attributes 2023-08-20 10:28:46 +02:00
Petr Mikheev
842e154d8a Fix incorrect validation in obj:moveInto 2023-08-19 13:08:30 +02:00
Petr Mikheev
5bbbeefee7 Fix #7540 2023-08-19 12:52:01 +02:00
psi29a
e5d5cbcdd1 Merge branch 'save_safeguard' into 'master'
Add a safeguard to do not use uninitialized value

See merge request OpenMW/openmw!3349
2023-08-19 09:31:00 +00:00
psi29a
ebf803a00b Merge branch 'anonymous_namespace' into 'master'
Move some code to unnamed namespace

See merge request OpenMW/openmw!3351
2023-08-19 09:30:09 +00:00
elsid
ba1b3ae962
Avoid duplicated addEntryToObjectCache call 2023-08-19 01:30:18 +02:00
elsid
b67ecb4e4f
Remove redundant else 2023-08-19 01:30:17 +02:00
elsid
9cebe78a51
Avoid implicit cast to bool for pointers 2023-08-19 01:30:17 +02:00
elsid
bda29819cf
Reduce include dependency for land records 2023-08-19 01:30:17 +02:00
elsid
955790dc31
Split ESM::Land::loadData 2023-08-19 01:30:17 +02:00
elsid
dc05e9adbb
Avoid redundant check for nullptr 2023-08-19 01:30:17 +02:00
elsid
28614730da
Pass land reference to LandObject constructor 2023-08-19 01:30:17 +02:00
elsid
7c7577a6bd
Do not recreate cache object 2023-08-19 01:30:16 +02:00
elsid
95a39b3281
Use sized types for land records members 2023-08-18 18:30:06 +02:00
psi29a
16628a766f Merge branch 'fallout4' into 'master'
ESM4 Loader: initial Fallout 4 support

See merge request OpenMW/openmw!3347
2023-08-18 16:22:40 +00:00
Andrei Kortunov
1c0ced15c6 Move some code to unnamed namespace 2023-08-18 19:43:50 +04:00
psi29a
a1b7c0c3d5 Merge branch 'fix_build' into 'master'
Fix build

See merge request OpenMW/openmw!3350
2023-08-18 15:42:53 +00:00
psi29a
42e7647508 Merge branch 'more_coverity' into 'master'
More Coverity fixes

See merge request OpenMW/openmw!3326
2023-08-18 12:19:10 +00:00
elsid
57bcb3e89d
Fix build
apps/openmw/mwlua/soundbindings.cpp:166:78: error: member access into incomplete type 'MWBase::World'
        const SoundStore* soundStore = &MWBase::Environment::get().getWorld()->getStore().get<ESM::Sound>();
                                                                             ^
apps/openmw/mwlua/../mwbase/environment.hpp:27:11: note: forward declaration of 'MWBase::World'
    class World;
          ^
2023-08-18 12:15:34 +02:00
Petr Mikheev
4211665ede Merge branch 'sounds' into 'master'
Lua bindings for sound functions

See merge request OpenMW/openmw!3247
2023-08-18 09:15:24 +00:00
Andrei Kortunov
88fe328de1 Add a safeguard to do not use uninitialized value 2023-08-18 13:13:00 +04:00
Andrei Kortunov
1555fd8b34 Add assert 2023-08-18 12:46:45 +04:00
psi29a
861b9b215c Merge branch 'moveinto' into 'master'
[Lua] Accept GameObject as destination in obj:moveInto.

See merge request OpenMW/openmw!3318
2023-08-18 08:23:20 +00:00
psi29a
adb5774aa9 Merge branch 'optimize_get_blendmaps' into 'master'
Optimize land lookup on blendmaps sampling

See merge request OpenMW/openmw!3333
2023-08-18 08:22:16 +00:00
psi29a
e21e3a0d46 Merge branch 'time' into 'master'
Pause/resume the game in Lua scripts

See merge request OpenMW/openmw!3317
2023-08-18 08:22:04 +00:00
psi29a
856262d4c0 Merge branch 'trainingwheels' into 'master'
Use the correct skills for training again

Closes #7536

See merge request OpenMW/openmw!3339
2023-08-18 08:21:55 +00:00
psi29a
f9910290e0 Merge branch 'fix_hand_model' into 'master'
Fix #7506

Closes #7506

See merge request OpenMW/openmw!3335
2023-08-18 08:21:11 +00:00
Andrei Kortunov
f053188247 Increase Lua API version 2023-08-18 11:18:35 +04:00
elsid
0d4833febb
Fix esmtool dump format 2023-08-17 11:22:05 +02:00
Alexei Kotov
9ec68e864c Load ESM4 idle animations correctly for every game 2023-08-17 04:33:01 +03:00
Alexei Kotov
5e5a25f901 Show BA2 files in the launcher 2023-08-17 02:12:31 +03:00
Andrei Kortunov
d9c91ff3d9 Add bindings for ESM::Sound records 2023-08-16 20:26:55 +04:00
Petr Mikheev
e2c5f4e766 Fix #7506 2023-08-16 17:14:08 +02:00
jvoisin
1489376951 Apply 1 suggestion(s) to 1 file(s) 2023-08-15 14:55:13 +00:00
Andrei Kortunov
7ce9fc25c5 Implement Lua bindings for sound system 2023-08-15 10:28:29 +04:00
Zackhasacat
3e8a1cce7c Load ESM4 Terminal objects, add lua bindings for them 2023-08-15 06:23:38 +00:00
jvoisin
4cf80cdac2 Merge branch 'fix_esm4_ai' into 'master'
Fix AI in ESM4 cells

See merge request OpenMW/openmw!3338
2023-08-14 22:00:24 +00:00
Evil Eye
f7edf24356 Use std::stable_sort 2023-08-13 20:26:59 +02:00
Alexei Kotov
995de00f58 Merge branch 'fix_errormsg' into 'master'
Minor fix of error message in LuaManager::DealyedAction::apply

See merge request OpenMW/openmw!3334
2023-08-13 18:24:58 +00:00
Evil Eye
3141cf9e28 Use the correct skills for training again 2023-08-13 16:10:19 +02:00
jvoisin
7d9f5f676a Merge branch 'angrydraugrs' into 'master'
Evaluate the attack early for non-biped attacks with no hit key (#7524)

Closes #7524

See merge request OpenMW/openmw!3331
2023-08-13 13:18:22 +00:00
elsid
eb77fd1813
Add height field to navigator in ESM4 cells 2023-08-13 02:26:45 +02:00
elsid
5abbc56bf2
Use proper cell size for ESM4 cells in CoordinateConverter 2023-08-13 02:24:22 +02:00
Petr Mikheev
efe2dfc056 Minor fix of error message in LuaManager::DealyedAction::apply 2023-08-12 11:08:19 +02:00
elsid
07c1177b0d
Optimize land lookup on blendmaps sampling
Minimize number of getLand calls by grouping samples per cell.
2023-08-12 02:57:16 +02:00
elsid
ce6ffba986
Move blendmap sampling logic into separate function 2023-08-12 02:45:09 +02:00
Alexei Kotov
04d54517b7 Always enable has water flag for TES3 exterior cells 2023-08-12 00:52:08 +03:00
Alexei Kotov
f2a9ab52db Merge branch 'fix_crach_missing_content_file' into 'master'
Fix crash if content file is not found (was caused by !3249)

See merge request OpenMW/openmw!3323
2023-08-11 18:29:52 +00:00
Alexei Dobrohotov
9723912ee0 Evaluate the attack early for non-biped attacks with no hit key (#7524) 2023-08-11 01:27:55 +03:00
elsid
1c4b6a552f
Always enable fog of war in map window 2023-08-10 20:49:35 +02:00
Andrei Kortunov
e749461d06 More Coverity fixes 2023-08-09 15:50:44 +04:00
Petr Mikheev
b5f4cec725 Fix crash if content file is not found (was caused by !3249) 2023-08-09 10:32:35 +02:00
Petr Mikheev
87912065fd Rename MWLua::WorldView -> MWLua::ObjectLists 2023-08-08 22:57:28 +02:00
Petr Mikheev
6c4e1f4e8f Lua commands world.pause / world.unpause 2023-08-08 22:57:28 +02:00
Petr Mikheev
91c7585c8b Move some time-related function from World and WorldView to DateTimeManager 2023-08-08 22:57:28 +02:00
Petr Mikheev
1a53e9db5d [Lua] Accept GameObject as destination in obj:moveInto. 2023-08-08 22:56:42 +02:00
Petr Mikheev
ac9facabf5 [Lua] Add alias types.Container.inventory = types.Container.content 2023-08-08 22:56:16 +02:00
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
florent.teppe
a71a86e64a Load light models in the engine. Doesn't emit light 2023-02-06 20:22:17 +01:00
psi29a
4f001d8736 Merge branch 'qt6' into 'master'
Add an initial Qt6 support

See merge request OpenMW/openmw!2684
2023-02-06 16:55:20 +00:00
Evil Eye
97c6d25d54 Use correct exterior cell when positioning 2023-02-06 16:36:45 +01:00
Andrei Kortunov
7e2aedf637 Add an initial Qt6 support 2023-02-06 18:38:59 +04:00
Andrei Kortunov
5836d27928 Fix ContentSelector usage with non-ASCII paths 2023-02-06 13:36:02 +04:00
psi29a
4032c447e9 Merge branch 'load-ESM4-Cell' into 'master'
Can load and coc into an interrior oblivion cell

See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
glassmancody.info
e778ffee9b po2 scaling for average luminance 2023-02-05 12:30:38 -08:00
psi29a
aee7716c3a Merge branch 'launcher_typed_settings' into 'master'
Typed launcher settings

See merge request OpenMW/openmw!2650
2023-02-04 23:41:59 +00:00
psi29a
8b0e55dd5f Merge branch 'remove-water-walking-teleport-underwater' into 'master'
teleporting to an underwater marked location will remove water walking spell effects from actor

Closes #7122

See merge request OpenMW/openmw!2656
2023-02-04 23:41:29 +00:00
psi29a
822c6ac6a7 Merge branch 'fix_warnings' into 'master'
Enable and fix new warnings

See merge request OpenMW/openmw!2679
2023-02-04 23:40:06 +00:00
florent.teppe
084207af64 Avoids a lot a special cases for ESM3 vs ESM4 cells. 2023-02-04 23:25:06 +01:00
James-Deciutiis
273a2ae323 teleporting to an underwater marked location will remove water walking spell effects from actor
fix formatting

addressing hasWaterWalking comment

refactor to address remaining comments

clean up formatter changes

adding suggested condition to if statement

move isWaterWalking check into if statement

refactor if block to see if actor needs to have water walking purged

added entry to changelog.md and authors.md

removing redundant check from if statement

Sort previous changelog entry
2023-02-04 11:30:37 -08:00
florent.teppe
f3d5f6345e Fixed large lambdas that affected readability. 2023-02-04 17:16:42 +01:00
florent.teppe
1caed2de2a Applies some review comments.
Proper visit for ESM::CellVariant

Fixed MWWorldCell constructor
2023-02-04 17:09:54 +01:00
unelsson
fe70285ac1 Fixes 2023-02-04 15:32:17 +02:00
elsid
f1dbd9b959
Fix -Wduplicated-branches warnings 2023-02-04 00:10:30 +01:00
elsid
c79c14da91
Fix -Wnon-virtual-dtor warnings 2023-02-03 23:00:09 +01:00
psi29a
3f9cae7947 Merge branch 'dragdetails' into 'master'
[OpenMW-CS] Generate record filters based on cell content and column header

Closes #7161

See merge request OpenMW/openmw!2617
2023-02-03 09:29:36 +00:00
psi29a
68b3b90255 Merge branch 'ui_content_leak' into 'master'
Move implementation of UI Content to Lua (#7155)

See merge request OpenMW/openmw!2661
2023-02-01 22:51:47 +00:00
psi29a
9c92a8ab57 Merge branch 'fix_gpu_osg_stats' into 'master'
Delay OSG stats reporting for 3 frames

See merge request OpenMW/openmw!2677
2023-02-01 22:49:18 +00:00
elsid
96ea1903c5
Delay OSG stats reporting for 3 frames
Instead of 2 to make sure GPU draw time taken is always reported.
2023-02-01 22:01:55 +01:00
Evil Eye
31b2112e4a Don't lowerCase twice when getting globals 2023-02-01 18:15:49 +01:00
uramer
e96681151c Get rid of the LuaUI::Content namespace 2023-02-01 17:18:50 +01:00
uramer
d24c506b0e Move metatable protection asserts to tests 2023-02-01 16:34:32 +01:00
uramer
fb0646dda1 Remove Ui Content counter in Lua profiler 2023-01-31 19:52:28 +01:00
uramer
bbbef96087 Switch to loadInternalLib 2023-01-31 19:50:33 +01:00
Petr Mikheev
c4e8d38e30 Do several passes of garbage collecting in LuaManager::clear() 2023-01-31 11:08:01 +00:00
psi29a
3a986d9a51 Merge branch 'macos_water_compile_fix' into 'master'
Fix building water.cpp on macos

See merge request OpenMW/openmw!2670
2023-01-31 11:00:55 +00:00
florent.teppe
4e7cde5d72 applied some review changes.
crashfix tests
2023-01-30 20:49:34 +01:00
psi29a
92f88c16a9 Merge branch 'remove-strerror' into 'master'
Remove strerror usages

Closes #7151

See merge request OpenMW/openmw!2664
2023-01-30 17:09:39 +00:00
psi29a
68ad3f8f10 Fix building water.cpp on macos 2023-01-30 17:04:41 +00:00
psi29a
ac8ae3f226 Merge branch 'journalbooks' into 'master'
Use string_view in journalbooks

See merge request OpenMW/openmw!2663
2023-01-30 13:25:12 +00:00
psi29a
6559860310 Merge branch 'water_nm_to_vfs' into 'master'
Move water normal to vfs (#7180)

Closes #7180

See merge request OpenMW/openmw!2657
2023-01-30 13:18:27 +00:00
psi29a
ef0a81e811 Merge branch 'integration_tests_crash_log' into 'master'
Use proper log paths and print crash log in integration tests CI job

See merge request OpenMW/openmw!2668
2023-01-30 12:12:21 +00:00
Petr Mikheev
3096111abb Merge branch 'docs_fixes' into 'master'
Documentation and API fixes (part of !2529)

See merge request OpenMW/openmw!2649
2023-01-30 10:13:26 +00:00
uramer
c17eedd348 Documentation and API fixes (part of !2529) 2023-01-30 10:13:26 +00:00
elsid
c44bc5ade5
Setup logging with properly initialized configuration manager
Default constructed instance may provide different paths from initialized one.
2023-01-30 09:30:55 +01:00
Andrzej Głuszak
9b0a499b58 Remove strerror usages 2023-01-29 22:41:59 +01:00
Andrzej Głuszak
66e5fbb286 Use string_view in journalbooks 2023-01-29 21:31:21 +01:00
unelsson
5bbe9bc5d8 cleanup and style (const ref instead of value, consistent ifndef naming) 2023-01-29 21:42:01 +02:00
unelsson
6b0998ff85 Implement enum class FilterType 2023-01-29 21:23:28 +02:00
glassmancody.info
897ee702d1 move water normal to vfs 2023-01-29 11:14:08 -08:00
uramer
259f104311 Clean up 2023-01-29 19:40:13 +01:00
unelsson
2e7d41373b Remove unused includes, fix std::get logic at editwidget 2023-01-29 20:35:00 +02:00
uramer
3618b3f409 Fix Content::View::remove 2023-01-29 18:52:18 +01:00
uramer
fc1430af95 Move implementation of UI Content to Lua 2023-01-29 17:07:38 +01:00
unelsson
2fac4d0e40 Use struct with sensible member names 2023-01-29 17:25:25 +02:00
psi29a
3a9a60a453 Merge branch 'esmtool_esm4_globals' into 'master'
Support more fields in esmtool for ESM4

See merge request OpenMW/openmw!2659
2023-01-29 11:30:01 +00:00
psi29a
29aa18659d Merge branch 'handle_bad_navmeshtool_message_magic' into 'master'
Stop updating navmeshtool progress on first bad message

See merge request OpenMW/openmw!2654
2023-01-29 11:28:40 +00:00
florent.teppe
144e0197fb fix charge int + struct vs class mismatch 2023-01-29 12:27:41 +01:00
florent.teppe
ebfee18e35 implements std::visit for CellVariant, fixes struct vs class forward decl 2023-01-29 11:28:39 +01:00
florent.teppe
0723c32428 flags no longer bitfield 2023-01-29 10:59:39 +01:00
florent.teppe
aa29f86efe fixed struct vs class. 2023-01-29 10:59:39 +01:00
fteppe
808c7367c9 Fix compile 2023-01-29 10:54:21 +01:00
elsid
d541436b15
Support parent, type and value fields in esmtool for ESM4 2023-01-29 03:02:00 +01:00
elsid
e7acced5e9
Move metafunctions to check ESM4 field existence to a separate header 2023-01-29 03:00:48 +01:00
elsid
5bb088218e
Restore original formId
To make sure esmtool prints original value and not a result of conversion.
2023-01-29 02:35:06 +01:00
glassmancody.info
165013ddd6 remove redunant conditional checks when getting uniforms 2023-01-28 10:40:24 -08:00
florent.teppe
9054722f4a std::visit everywhere! 2023-01-28 19:21:13 +01:00
florent.teppe
f9da66e9ee Greatly improved how the variant on MWWorld::CellRef works 2023-01-28 18:57:55 +01:00
florent.teppe
216ca71149 Applied review comments
getEditorName => getNameId
restored cosntructor in CoordinateConverter
2023-01-28 12:14:00 +01:00
florent.teppe
e6e27413d9 gives MWWorld::CellRef the MWWorld::Cell treatment
MWWorld::CellRef now has a variant, and datas that are part of the intersection of both ESM4::Reference and ESM::CellRef are part of MWWorld::CellRef

For ESM4 most data isn't filled in, so it returns default values.
2023-01-27 19:40:45 +01:00
elsid
8be2fc9fd7
Stop updating navmeshtool progress on first bad message 2023-01-27 19:10:53 +01:00
florent.teppe
23614ae2ae Renamed esm3esm4bridge => esmbridge 2023-01-27 18:40:15 +01:00
florent.teppe
5037dcf9bc Fixes a crash on launch and some compile issue
also uses std::visit in cellstore comparison to avoid missing combinasion

split loadrefs in loadref of ESM4 and ESM3.
2023-01-27 16:41:00 +01:00
florent.teppe
cb8cdd8831 ESM::CellVariant aans MWWorld:Cell now take reference in constructor: signals that nullptr isn't accepted.
also applied other review comments.
2023-01-27 14:07:50 +01:00
florent.teppe
531e55e04c Better handling of the esm3 vs esm4 cell problem
Common attribute are in one structure that has two constructors, one for ESM3 vs ESM4 Cell
Mood part of MWWorld::Cell
2023-01-27 13:39:39 +01:00
elsid
cf75363290
Typed launcher settings
QMultiMap is not clear about what settings exist and it's not efficient way to
access them after they are loaded.
2023-01-27 12:42:05 +01:00
elsid
b1d0ee1f1b
Load only launcher.cfg from user folder
There is no other launcher.cfg.
2023-01-27 12:41:33 +01:00
elsid
0961720835
Join path components using path::operator/ instead of string::operator+ 2023-01-27 01:07:15 +01:00
florent.teppe
6d25d4bc13 It loads cells and palce sstatics in them
Many missing meshes, no lights etc... But can coc into interior cells and see them.
2023-01-26 22:37:32 +01:00
florent.teppe
3515c8e61a Static references are created as refcells, nothing displayed yet. 2023-01-26 22:37:32 +01:00
florent.teppe
c896a2ca48 Crashfix on launch 2023-01-26 22:37:32 +01:00
florent.teppe
0018bcf7de Should make cellvariant safer to use.
Hopefully clang tidy agrees.
2023-01-26 22:37:32 +01:00
florent.teppe
562e129bd0 encapsulations of esm3 cell and esm4 cells. 2023-01-26 22:37:31 +01:00
florent.teppe
08b68fcd48 Cannot load a cell yet, but getting more necessary parts in 2023-01-26 22:36:11 +01:00
florent.teppe
cddf6f29d6 Nothing can be loaded yet. Just foundations. 2023-01-26 22:36:11 +01:00
unelsson
9b808a495c Use std::variant and std::visit instead of function overloads, add float type search, fix QMetaType and Type conversion 2023-01-26 00:05:51 +02:00
Evil Eye
7ca25e6467 Fix more case issues with cells 2023-01-25 20:59:10 +01:00
psi29a
9f3025257a Merge branch 'local_nwah' into 'master'
Use worldspace coords in AiWanderStorage

See merge request OpenMW/openmw!2645
2023-01-24 09:52:32 +00:00
fteppe
889de35b99 fix coc search extbyname 2023-01-23 22:49:01 +01:00
Evil Eye
d40a9ec5bc Use worldspace coords in AiWanderStorage 2023-01-23 21:06:50 +01:00
psi29a
a9dbb023d7 Merge branch 'lua_create' into 'master'
Lua commands to create/move/remove objects; consistent handling of disabled objects (#6726, #6893)

See merge request OpenMW/openmw!2627
2023-01-22 13:27:10 +00:00
Andrei Kortunov
a774a51699 Improve duration tooltip 2023-01-22 14:32:47 +04:00
Petr Mikheev
c294898246 Lua commands to create/move/remove objects; consistent handling of disabled objects (#6726, #6893) 2023-01-22 00:08:21 +01:00
psi29a
7be20301af Merge branch '24-7lofibeatstoachievechimto' into 'master'
Rework music playback (bug #7172)

Closes #7172

See merge request OpenMW/openmw!2640
2023-01-21 23:07:25 +00:00
Petr Mikheev
e7120f189b Unset RefNums after copying containers (otherwise copies will have the same RefNums, but they should be unique) 2023-01-21 23:43:00 +01:00
Petr Mikheev
5983f22290 Remember actor in the actor's InventoryStore instead passing the actor in every call 2023-01-21 23:43:00 +01:00
psi29a
1422053fa9 Merge branch 'more_uniforms' into 'master'
[Postprocessing] Add sky and ambient colors

See merge request OpenMW/openmw!2638
2023-01-21 22:42:21 +00:00
florent.teppe
a4137e941c std::string_view can be used in map and unordered map
This avoids some unecessary dynamic allocations.
Also applies some review advice.
2023-01-21 19:19:26 +01:00
florent.teppe
63e44eddc9 Navigator doesn't use RefId anymore 2023-01-21 18:39:57 +01:00
florent.teppe
150e2ba885 Revert "Use ESM::RefId for worldspace in detournavigator"
This reverts commit b4ab153418.

# Conflicts:
#	apps/navmeshtool/worldspacedata.cpp
2023-01-21 18:39:57 +01:00
florent.teppe
3780033837 Reverts Cell name to a string 2023-01-21 18:39:42 +01:00
psi29a
1390c7ed7c Merge branch 'wizard_encodings' into 'master'
Do not use Qt streams with legacy encodings in the Wizard code

Closes #7165

See merge request OpenMW/openmw!2634
2023-01-21 16:37:43 +00:00
psi29a
761aef61ae Merge branch 'normal_fix' into 'master'
Fix pass normals (#7146, #7145)

See merge request OpenMW/openmw!2635
2023-01-21 16:36:45 +00:00
psi29a
757cf7098d Merge branch 'minor-cleanup' into 'master'
Use dedicated function to convert QString to std::filesystem::path

See merge request OpenMW/openmw!2636
2023-01-21 16:36:07 +00:00
Alexei Kotov
fd6e96576a Rework music playback (bug #7172) 2023-01-21 05:56:12 +03:00
glassmancody.info
564c408663 expose more uniforms to postprocessing 2023-01-20 17:43:54 -08:00
AnyOldName3
438b03908d Use dedicated function to convert QString to std::filesystem::path II
Some missed conversions identified in review.
2023-01-20 23:39:30 +00:00
Andrei Kortunov
9a7c57874d Do not use Qt streams with legacy encodings in the Wizard code 2023-01-20 11:24:23 +04:00
Alexei Kotov
f0e58d1c59 Merge branch 'ensure_utf8_encoding' into 'master'
Move ensureUtf8Encoding to named namespace

See merge request OpenMW/openmw!2632
2023-01-20 05:17:44 +00:00
AnyOldName3
f757ac642a Use dedicated function to convert QString to std::filesystem::path
I noticed this while reviewing something else and trying to find the
function to recommend using it.
2023-01-19 22:36:51 +00:00
glassmancody.info
27fe8d42ae fix pass normals 2023-01-19 09:28:51 -08:00
elsid
dd89403df0
Move ensureUtf8Encoding to named namespace
To follow https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#sf21-dont-use-an-unnamed-anonymous-namespace-in-a-header

Add QtGlobal include to define QT_VERSION and QT_VERSION_CHECK macroses before
they're used.
2023-01-18 22:58:35 +01:00
Evil Eye
08f998eeb1 Delay teleportation till the menu is closed 2023-01-18 19:57:05 +01:00
psi29a
ee980721b8 Merge branch 'debug_lua_memory' into 'master'
Additional information in Lua profiler

See merge request OpenMW/openmw!2612
2023-01-18 14:33:05 +00:00
psi29a
3fea82c06c Merge branch 'remove_ptr_conversion' into 'master'
Remove implicit conversion MWWorld::Ptr -> bool

See merge request OpenMW/openmw!2626
2023-01-18 14:32:58 +00:00
elsid
cf1d8544e3
Check agent bounds on adding agent to navigator
Do not add agent bounds which are not supported by recastnavigation with given
settings and log such events.

To avoid reaching navmesh tile generation to find out it can't be generated for
such agent bounds.
2023-01-18 12:00:48 +01:00
Petr Mikheev
e9420b2b68 Remove implicit conversion MWWorld::Ptr -> bool 2023-01-18 02:40:56 +01:00
unelsson
ba6c47bb07 Implement record filter search by value and QVariant type recognition 2023-01-17 02:55:47 +02:00
unelsson
fc64ab0f5a Promise constness 2023-01-17 02:55:03 +02:00
unelsson
6a864cd9f6 Implement basic filter generation from the dragged table cell (cell content and column header) 2023-01-16 23:47:32 +02:00
unelsson
bc1027ee95 First draft of getting the exact drag start location 2023-01-16 23:47:32 +02:00
Alexei Kotov
b261f3bf65 Fix animated object physics 2023-01-16 17:08:48 +03:00
psi29a
ee862fe825 Merge branch 'qt6_fixes' into 'master'
Do not use reprecated Qt API where we can avoid it

See merge request OpenMW/openmw!2621
2023-01-15 21:05:51 +00:00
psi29a
ea91d861ef Merge branch 'safely_on_the_other_side_of_the_door' into 'master'
End combat when the target is outside the active grid

See merge request OpenMW/openmw!2619
2023-01-15 19:00:03 +00:00
elsid
1cbe295030
Extend navigator tests for update with big object
Check for the number of generated recast mesh tiles and navmesh tiles.
2023-01-15 17:25:13 +01:00
Andrei Kortunov
cc1c8b2bb1 Do not use a deprecated way to get dimensions of screen where current widget is located 2023-01-15 20:23:18 +04:00
Andrei Kortunov
99a575b663 Init QVariant in Qt6-compatible way 2023-01-15 20:23:07 +04:00
Andrei Kortunov
0b3ba26d86 Init style in Qt6-compatible way 2023-01-15 20:09:56 +04:00
Andrei Kortunov
0de635dcdc Do not use deprecated init() method 2023-01-15 20:09:56 +04:00
Andrei Kortunov
0864d997d0 Add missing includes 2023-01-15 20:09:56 +04:00
Evil Eye
358fa98bd3 End combat when the target is outside the active grid 2023-01-15 17:08:57 +01:00
psi29a
a7a89ba7c1 Merge branch 'launcher' into 'master'
Rework how OpenMW launcher looks

Closes #6922

See merge request OpenMW/openmw!2587
2023-01-15 16:00:59 +00:00
psi29a
dc3ec1a0a0 Merge branch 'mwscript' into 'master'
Multiple mwscript optimizations and some refactoring

See merge request OpenMW/openmw!2600
2023-01-15 15:59:30 +00:00
psi29a
32733d23fa Merge branch 'xanim' into 'master'
X-file handling fixes (bug #5371)

Closes #5371

See merge request OpenMW/openmw!2614
2023-01-15 15:57:27 +00:00
psi29a
9198a4e46a Merge branch 'fix_navigator_update_for_big_object' into 'master'
Limit NavMeshManager update range by player tile and max tiles (#7149)

See merge request OpenMW/openmw!2618
2023-01-15 15:53:37 +00:00
Andrei Kortunov
902c48d1bb Rework launcher UI 2023-01-15 12:36:08 +04:00
elsid
44429f0393
Limit NavMeshManager update range by player tile and max tiles
Object AABB may be much larger than area currently covered by navmesh. In this
case all tiles beyond covered range should be ignored. Attempt to iterate over
them will not result in any new tile updates but can take quite a while. At
maximum this can be pow(INT_MAX - INT_MIN, 2) iterations.

Use arbitrary time limit to check for update call to finish in the test.
2023-01-15 04:46:29 +01:00
Alexei Kotov
6ff9b5d326 Make use of ends_with for KF 2023-01-15 01:48:06 +03:00
unelsson
50726636ba clang-format 2023-01-14 21:42:33 +02:00
unelsson
7fce4bc8c4 Issue command passing through QLineInput 2023-01-14 21:30:25 +02:00
unelsson
0310b1cddf Dragging Topics to TopicInfo window opens create TopicInfo BottomBox with the correct id 2023-01-14 20:36:49 +02:00
unelsson
7f8a84f2f2 Move Response column earlier 2023-01-14 16:19:37 +02:00
Alexei Kotov
e24db874dc Correct xnif use for creatures 2023-01-14 04:55:12 +03:00
Alexei Kotov
434b4deda1 Don't use xkf if xnif is merely the base model (bug #5371) 2023-01-14 04:55:12 +03:00
elsid
b88f0d2dbd
Replace mwscript program serialization into a vector with simple struct
Mostly to avoid string literal lookup by index with iteration over all preciding
literals and calling strlen. This is very inefficient. In genral this makes code
much more straightforward but also makes it portable since now int and float of
different sizes are properly supported.
2023-01-14 00:07:37 +01:00
Petr Mikheev
d9e9db0983 Additional information in Lua profiler 2023-01-13 21:14:23 +01:00
psi29a
203eb80afd Merge branch 'qregexp' into 'master'
Simplify regex search in the editor

See merge request OpenMW/openmw!2610
2023-01-13 15:55:19 +00:00
psi29a
599f68029e Merge branch 'only_snow' into 'master'
Fix invisible weather effects

See merge request OpenMW/openmw!2601
2023-01-13 09:58:51 +00:00
psi29a
b7e5759599 Merge branch 'noanchor' into 'master'
Replace usage of QRegularExpression::anchoredPattern with `^` and `$`

See merge request OpenMW/openmw!2607
2023-01-13 09:55:59 +00:00
Andrei Kortunov
7c8fb79745 Suppress a warnings spam when user entered an invalid regular expression 2023-01-13 12:08:42 +04:00
Andrei Kortunov
7c709167d9 Simplify regex search in the editor 2023-01-13 11:28:49 +04:00
jvoisin
c90d22f3b2 Replace usage of QRegularExpression::anchoredPattern with ^ and $
Using `^` and `$` is shorter than `QRegularExpression::anchoredPattern`,
and even allows us in one case to get rid of a trailing `.*`.
2023-01-12 22:52:00 +01:00
jvoisin
853ca5827e Simplify a regex and fix a typo
- The usage of `|` is wrong
- It's `mWhiteListQuotes` and not `mWhiteListQoutes`
- Replace weird usage of `{}`-based quantifiers
2023-01-12 22:49:23 +01:00
Andrei Kortunov
bfcbc2350d Handle UTF-8 in Qt streams in the Qt6-compatible way 2023-01-12 15:39:50 +04:00
Andrei Kortunov
307a60e87c Migrate from QRegExp to more modern QRegularExpression 2023-01-11 11:21:46 +04:00
glassmancody.info
7ddf47908f only enable occlusion for snow 2023-01-10 14:09:02 -08:00
psi29a
7c078883d5 Merge branch 'default_ref_num' into 'master'
Use default initializers for ESM::RefNum members

See merge request OpenMW/openmw!2598
2023-01-10 09:12:37 +00:00
psi29a
0028127b42 Merge branch 'lua_mwscript' into 'master'
Access local mwscript variables in Lua scripts

See merge request OpenMW/openmw!2589
2023-01-10 08:47:12 +00:00
elsid
c173348cbe
Use default initializers for ESM::RefNum members
Instead of unset function that is removed now and assignments all over the code.
2023-01-10 00:44:51 +01:00
glassmancody.info
23708b1ba6 correct shader name 2023-01-09 10:27:52 -08:00
psi29a
b1571b92bf Merge branch 'fix_7135' into 'master'
Add missing initializer in mwworld/worldmodel.cpp (fixes #7135)

Closes #7135

See merge request OpenMW/openmw!2596
2023-01-09 09:15:23 +00:00
psi29a
c24f43ec32 Merge branch 'occlusion_tweaks' into 'master'
Weather occlusion updates

See merge request OpenMW/openmw!2595
2023-01-08 22:13:36 +00:00
Petr Mikheev
2b4e613522 Add missing initializer in mwworld/worldmodel.cpp (fixes #7135) 2023-01-08 21:55:42 +01:00
psi29a
2754d63e45 Merge branch 'cleanup_actions' into 'master'
Cleanup unused actions

See merge request OpenMW/openmw!2591
2023-01-08 20:14:35 +00:00
glassmancody.info
ee1acd6eb1 add sfc setting, only add to subgraph when enabled 2023-01-08 11:55:33 -08:00
florent.teppe
0de6b79966 Fixes issue with topic info edition.
Also future proofs reference on RefId's string.
2023-01-08 12:59:47 +01:00
Petr Mikheev
7a0b998d4f Cleanup unused actions 2023-01-07 23:42:53 +01:00
psi29a
b6d0d09c5a Merge branch 'cell_hastag' into 'master'
[Lua] New function `cell.hasTag`

See merge request OpenMW/openmw!2567
2023-01-07 22:22:31 +00:00
psi29a
6a250c5900 Merge branch 'baby_it_is_occluded_outside' into 'master'
Weather Particle Occlusion (#5492)

Closes #5492

See merge request OpenMW/openmw!1328
2023-01-07 22:18:45 +00:00
psi29a
83718878b2 Merge branch 'Load_ESM4' into 'master'
Loading ESM4 data and storing them in the ESMStore

See merge request OpenMW/openmw!2557
2023-01-07 22:17:17 +00:00
psi29a
a9d3186173 Merge branch 'fix_esm_fixed_string_warning' into 'master'
Fix gcc warning: array subscript n is outside array bounds of ‘const char [n]’

See merge request OpenMW/openmw!2585
2023-01-07 22:15:16 +00:00
Petr Mikheev
8c7cad024b Access local mwscript variables in Lua scripts 2023-01-07 22:10:10 +01:00
Alexei Kotov
fa7991fcb3 For hit state, cancel non-biped idle if there is an active animation 2023-01-07 22:35:29 +03:00
Alexei Kotov
152bdb2f65 Prevent missing KO animations from cancelling KO 2023-01-07 22:21:56 +03:00
Andrei Kortunov
9630246cae Sort quests in journal by name (bug 7054) 2023-01-07 18:55:51 +04:00
glassmancody.info
9a4977d334 rain occlusion 2023-01-06 22:23:03 -08:00
elsid
2bbed8cc06
Fix gcc warning: array subscript 5 is outside array bounds of ‘const char [5]’
In function ‘bool ESM::operator==(const FixedString<capacity>&, const T* const&) [with long unsigned int capacity = 5; T = char; <template-parameter-1-3> = void]’,
    inlined from ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = ESM::FixedString<5>; T2 = const char*]’ at /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:1358:11,
    inlined from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = ESM::FixedString<5>; T2 = const char*; typename std::enable_if<((! std::is_integral<_Tp>::value) || (! std::is_pointer<_Dp>::value))>::type* <anonymous> = 0]’ at /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:1377:64,
    inlined from ‘virtual void {anonymous}::EsmFixedString_equality_operator_for_not_convertible_to_uint32_with_const_char_pointer_Test::TestBody()’ at apps/openmw_test_suite/esm/test_fixed_string.cpp:165:9:
components/esm/esmcommon.hpp:134:19: warning: array subscript 5 is outside array bounds of ‘const char [5]’ [-Warray-bounds]
  134 |         return rhs[capacity] == '\0';
      |                ~~~^
apps/openmw_test_suite/esm/test_fixed_string.cpp: In member function ‘virtual void {anonymous}::EsmFixedString_equality_operator_for_not_convertible_to_uint32_with_const_char_pointer_Test::TestBody()’:
apps/openmw_test_suite/esm/test_fixed_string.cpp:164:20: note: at offset 5 into object ‘other’ of size 5
  164 |         const char other[5] = { 'a', 'b', 'c', 'd', '\0' };
      |                    ^~~~~
2023-01-06 22:09:07 +01:00
elsid
c80ba92ab7
Add more tests for ESM::FixedString 2023-01-06 21:00:29 +01:00
elsid
7c60905266
Put ESM::FixedString tests into unnamed namespace 2023-01-06 21:00:29 +01:00
psi29a
c9d57788fb Merge branch 'save_fix' into 'master'
Clear character name in the loading menu when there are no saves left

See merge request OpenMW/openmw!2583
2023-01-06 18:09:00 +00:00
Andrei Kortunov
760135591b Clear character name in the loading menu when there are no saves left (bug 7088) 2023-01-06 19:36:53 +04:00
psi29a
452ea3d353 Merge branch 'skeleton_b_gone' into 'master'
Don't use a levelled creature's base pointer when spawning a new instance

See merge request OpenMW/openmw!2578
2023-01-06 10:14:32 +00:00
psi29a
0d8d15a732 Merge branch 'fixcolladaanimopbug' into 'master'
Fix Collada animated object bug #7051

Closes #7051

See merge request OpenMW/openmw!2565
2023-01-06 10:10:27 +00:00
unelsson
bfa0e751dd Skip merging for only animated models (Collada) 2023-01-05 01:34:26 +02:00
psi29a
c2b0c01ff2 Merge branch 'addScript' into 'master'
Raise an error if initData in obj:addScript has incorrect type

See merge request OpenMW/openmw!2577
2023-01-04 22:53:50 +00:00
psi29a
319aa11d84 Merge branch 'l10n_rename' into 'master'
Reorganize l10n files

See merge request OpenMW/openmw!2546
2023-01-04 21:48:00 +00:00
Evil Eye
a08f37cfe8 Don't use a levelled creature's base pointer when spawning a new instance 2023-01-04 22:18:56 +01:00
Petr Mikheev
4b8b3a9187 Raise an error if initData in obj:addScript has incorrect type. 2023-01-04 21:40:35 +01:00
psi29a
1e62b84f9a Merge branch 'lua_initdata' into 'master'
Allow passing `initData` to the :addSript call (#7091)

Closes #7091

See merge request OpenMW/openmw!2568
2023-01-04 14:32:23 +00:00
unelsson
d065dbbefa Add named-based Collada recognition 2023-01-04 16:07:47 +02:00
florent.teppe
400d51c099 Fix compile MSVC 2023-01-04 14:19:12 +01:00
florent.teppe
b88eee08c2 Store display's the ESM4's RecnameInt when not found 2023-01-04 14:07:47 +01:00
florent.teppe
631fa26872 Applies review advice. 2023-01-04 12:22:16 +01:00
florent.teppe
e80dbd7c95 Moved the test to test_store.cpp where it belongs 2023-01-04 00:17:45 +01:00
florent.teppe
64a9f742da Improves check: throws an error that says which RecName is used twice. 2023-01-03 23:28:31 +01:00
florent.teppe
9b1c405467 On store creation checks that each record has a different RecordId. 2023-01-03 22:16:42 +01:00
glassmancody.info
6b6c732a59 properly update postprocess uniform for sun position in interiors 2023-01-03 10:16:30 -08:00
psi29a
a24fa3ea51 Merge branch 'collada_animation_layering' into 'master'
Collada animation layering

See merge request OpenMW/openmw!2475
2023-01-03 08:53:23 +00:00
psi29a
28dcde8909 Merge branch 'controls' into 'master'
Fix jumping (was broken by !2541)

See merge request OpenMW/openmw!2572
2023-01-03 08:51:21 +00:00
florent.teppe
1b66be9c70 Fix dangling reference. 2023-01-02 19:47:12 +01:00
florent.teppe
3b2d9161c4 Applied review advice
better deals with templated functions meant for esm3 used by esm4s.
simplified loading of esm4 and dealing with unhandled record types.
2023-01-02 19:20:03 +01:00
Petr Mikheev
f0a06258fb [Lua] New function cell:hasTag 2023-01-02 18:24:37 +01:00
Petr Mikheev
18088e3e31 Fix jumping (was broken by !2541) 2023-01-02 17:37:31 +01:00
Petr Mikheev
8c7d347179 Reorganize l10n files 2023-01-02 13:21:05 +01:00
florent.teppe
077cf97bc4 The esm4 reader logic is mutualised
to avoid copy pasting code, readerutils gives functions that take visitors as params to decide how a record must be handled

Check encoder exists, and get value of stateless encoder.

fixes code formatting conventions

Fixed output of record with RefId

also fixed readTypedRecord and readRecord to have the proper return types

Check if the type has a sRecordId
2023-01-01 19:22:27 +01:00
florent.teppe
c721a6cafa Initial commit to load ESM4
Some data is actually loaded and store in ESM Store
Any new ESM4 will go through the same code path and be automatically sent to the right store
2023-01-01 16:22:57 +01:00
Petr Mikheev
b248c3e173 Allow passing initData to the :addSript call (#7091) 2022-12-31 22:08:17 +01:00
Petr Mikheev
aabd5a98c7 Fix 'toggle spell' control (was broken by !2541) 2022-12-31 13:12:12 +01:00
unelsson
fe7660eec8 clang-format again 2022-12-31 00:53:36 +02:00
unelsson
d60fd86719 clang format 2022-12-31 00:52:05 +02:00
unelsson
33afcbdc13 Use common function for blendmask detection, remove extra debug logs 2022-12-31 00:35:50 +02:00
unelsson
ffc64205c5 Force collada animation layers, remove nif blend mask detection. 2022-12-31 00:35:50 +02:00
psi29a
d5f5e53714 Merge branch 'playercontrols' into 'master'
Move some of player controls logic from C++ to Lua

See merge request OpenMW/openmw!2541
2022-12-30 16:57:40 +00:00
psi29a
e6064645db Merge branch 'esm_ref_id_refactor' into 'master'
Simplify ESM::RefId

See merge request OpenMW/openmw!2563
2022-12-30 13:27:35 +00:00
psi29a
4b6fd63044 Merge branch 'detournavigator_ref_id' into 'master'
Use ESM::RefId for worldspace in detournavigator

See merge request OpenMW/openmw!2562
2022-12-30 13:26:55 +00:00
elsid
755067f0f3
Remove redundant ESM::RefId member functions 2022-12-30 00:32:47 +01:00
elsid
b4ab153418
Use ESM::RefId for worldspace in detournavigator 2022-12-29 23:49:49 +01:00
Evil Eye
0a4f65c20b Prioritise Absorb Attribute and Skill similarly to Damage and Drain 2022-12-29 12:41:37 +01:00
Evil Eye
dfca5d95c2 Don't apply spell multiplier to on hit enchantments 2022-12-29 12:40:10 +01:00
Petr Mikheev
103908ffc7 Move getNorthVector out of MWWorld::World (used only in one place) 2022-12-28 22:06:49 +01:00
Petr Mikheev
310acaeee9 Don't pass MWLua::WorldView to MWLua::Action 2022-12-28 22:06:49 +01:00
Petr Mikheev
aef2e9d8de Replace World::getExterior with WorldModel::getCell 2022-12-28 22:06:49 +01:00
Petr Mikheev
1869aeae5c Move some of player controls logic from C++ to Lua 2022-12-28 22:04:19 +01:00
Petr Mikheev
0fef8f12d0 Remove functions WorldModel::rest and WorldModel::recharge 2022-12-28 12:45:11 +01:00
Petr Mikheev
b8fb013edf Merge MWLua::ObjectRegistry and MWWorld::WorldModel 2022-12-28 12:45:11 +01:00
psi29a
80e2cd79ec Merge branch 'boat_closer_to_todd' into 'master'
Ignore special characters preceding script commands

Closes #6807

See merge request OpenMW/openmw!2555
2022-12-28 11:21:24 +00:00
psi29a
ba2ececa93 Merge branch 'resolution' into 'master'
Improve window mode change

Closes #7087

See merge request OpenMW/openmw!2530
2022-12-28 10:45:14 +00:00
psi29a
7827d3ae8f Merge branch 'fix_hour_modulo' into 'master'
Fix hour modulo expression (#7121)

Closes #7121

See merge request OpenMW/openmw!2556
2022-12-28 10:33:20 +00:00
elsid
25ead80d8b
Fix hour modulo expression
Round result of std::fmod(hours, 24) to the nearest float below 24 on double to
float conversion when it is not. Add special type and conversion function along
with tests to be used in all places where such conversion happens.

To avoid producing hours equal to 24 due to double to float precision loss.
2022-12-28 00:04:04 +01:00
florent.teppe
afed7e60ef Upgraded Filesave version for RefIDs
Fix logic issue
2022-12-27 23:05:31 +01:00
florent.teppe
dc21df97c8 Fixed issue with getSummonedCreature( that returned a reference to a non const static value
Fix compile, and apply review comment

Fixed greater vs more typo.

getCellname is back to a string view.

Because in most cases was used as a strong not a refId.
and there was a fundamental issue with region names used as a cellname
2022-12-27 19:16:22 +01:00
florent.teppe
1ef1de974d script blacklist => RefId
Applies changes from review

Fixed clang format

Clang format + review.
2022-12-27 19:16:21 +01:00
florent.teppe
2c30575b3b CellName is now a RefId, makes more sense that way. 2022-12-27 19:16:21 +01:00
florent.teppe
6ff90b34a8 Fixed an issue with RefId in CellRefs where Ids wouldn't be loaded
Fixed multiple issues from the review.
2022-12-27 19:15:58 +01:00
florent.teppe
42e45723b7 Fixes issue in MW script compilation that would silently produce the wrong bytecode
Fixes issue when fetching MyGui values that were stored as RefId but fetched as String

Removed some uncessary copies, fixed issues with lowercase and uneeded changes
2022-12-27 19:15:57 +01:00
florent.teppe
0f3499f504 Renamed string => Id, makes more sense considering the new underlying type
Fixes unnecessary copies, and issues with case sensitive comparisons.

fixed modification that wasn't necessary

Fixed type mismatch, and unecessary copy
2022-12-27 19:15:57 +01:00
florent.teppe
30a020883e Avoids unecessary copies
Fixed issue with lowerCase

Oups fixed compialtion on openMW_test_suite
2022-12-27 19:15:57 +01:00
florent.teppe
b61d5d8123 Some RefId == ESM::RefId::StringRefId('constString') still existed 2022-12-27 19:15:57 +01:00
florent.teppe
a7d0a8d9d1 Replaced some RefId* => RefId&
Rebase fix commit
2022-12-27 19:15:57 +01:00
florent.teppe
d49f60d2d6 To change fewer things with the master implementation, the Id isn't changed to lower case on creation
lower case utility functions used in comparison functions
2022-12-27 19:15:57 +01:00
florent.teppe
65cdd489fb create a specific esm reader function for RefID to avoid allocation for string and then again for RefId
Fixed some types

removed useless header

applied clang format

fixed compile tests

fixed clang tidy, and closer to logic before this MR

Removed hardcoded refids

unless there is a returned value we don't use static RefIds
can use == between RefId and hardcoded string

Fix clang format

Fixed a few instances where std::string was used, when only const std::string& was needed

removed unused variable
2022-12-27 19:15:57 +01:00
florent.teppe
874ff88288 In the interpretter, the id is no longer passed by vallue, but as a const reference instead.
In getMembersLocal(, a reference to a reference wrapper is used, because the id can change, bu all we need to do is change a pointer.No need to change the value
2022-12-27 19:15:56 +01:00
fteppe
09d461a8cd fixed Topic selected event
Fix rebase
2022-12-27 19:15:56 +01:00
fteppe
c283ea0ae8 string_view& => string_view
fixed ref to temp variable
2022-12-27 19:15:56 +01:00
fteppe
7da38113be Changed more hardcoded RefId to be static to avoid multiple runtime creations
adresses multiple review comments
2022-12-27 19:15:56 +01:00
fteppe
b57dd6d083 Fixed search random, it is a prefix so not a refId
Fixed situation where we return a const reference to a static variable that may change if the same function is called multiple times
2022-12-27 19:15:55 +01:00
fteppe
62d8fe3fc2 changed a few hardcoded refIds used in mutliple places to be defined only once in a variable 2022-12-27 19:15:55 +01:00
fteppe
20da0892ef openMW_test_suite compiles and runs
Slowly moving through the open-cs errors

Good progress in openCS

Very good progress on openCS

Getting closer with openCS

OpenCS compiles and runs! Didn't have time to test it all though

ix openMW

everything compiles on windows??

Fix gcc

Fix Clang
2022-12-27 19:15:55 +01:00
fteppe
2f2e401559 is Hidden marker now takes a const RefId& instead of a string_view 2022-12-27 19:15:55 +01:00
fteppe
c8bb733360 removed clear() function, the only way to change the Id from the outside is from the assignment operator
replaced ciEqual with == operator
2022-12-27 19:15:55 +01:00
fteppe
ee941f9b09 RefId's mId can't be get as mutable from the outside
also removed useless operator= defintion
2022-12-27 19:15:55 +01:00
fteppe
69d70d64f6 Fixed GUI that used RefId when it should have used strings 2022-12-27 19:15:54 +01:00
fteppe
125b21de20 Initial commit: In ESM structures, replace the string members that are RefIds to other records, to a new strong type
The strong type is actually just a string underneath, but this will help in the future to have a distinction so it's easier to search and replace when we use an integer ID

Slowly going through all the changes to make, still hundreds of errors

a lot of functions/structures use std::string or stringview to designate an ID. So it takes time

Continues slowly replacing ids. There are technically more and more compilation errors

I have good hope that there is a point where the amount of errors will dramatically go down as all the main functions use the ESM::RefId type

Continue moving forward, changes to the stores

slowly moving along

Starting to see the fruit of those changes.

still many many error, but more and more Irun into a situation where a function is sandwiched between two functions that use the RefId type.

More replacements. Things are starting to get easier

I can see more and more often the issue is that the function is awaiting a RefId, but is given a string
there is less need to go down functions and to fix a long list of them.

Still moving forward, and for the first time error count is going down!

Good pace, not sure about topics though, mId and mName are actually the same thing and are used interchangeably

Cells are back to using string for the name, haven't fixed everything yet. Many other changes

Under the bar of 400 compilation errors.

more good progress <100 compile errors!

More progress

Game settings store can use string for find, it was a bit absurd how every use of it required to create refId from string

some more progress on other fronts

Mostly game settings clean

one error opened a lot of other errors. Down to 18, but more will prbably appear

only link errors left??

Fixed link errors

OpenMW compiles, and launches, with some issues, but still!
2022-12-27 19:15:54 +01:00
Evil Eye
b19ad079c2 Ignore special characters preceding script commands 2022-12-27 14:59:56 +01:00
psi29a
8b0eba8906 Merge branch 'blockofcoal' into 'master'
Play blocked hit sound on the victim, not the attacker

See merge request OpenMW/openmw!2551
2022-12-27 13:20:04 +00:00
Andrei Kortunov
9e77654ab4 Add a hint about disabled resolution list in the Windowed Fullscreen mode 2022-12-27 13:42:39 +04:00
Andrei Kortunov
08f7554e38 Improve window mode change (feature #7087) 2022-12-27 13:42:37 +04:00
Alexei Kotov
cdd6a8c007 Merge branch 'models_for_the_model_god' into 'master'
Implement TestModels/T3D

Closes #7058

See merge request OpenMW/openmw!2506
2022-12-27 00:41:39 +00:00
Alexei Kotov
83d563e2ff Merge branch 'classless' into 'master'
Don't call getClass on an empty Ptr

See merge request OpenMW/openmw!2552
2022-12-27 00:26:14 +00:00
Alexei Kotov
f11d4b76d1 Merge branch 'stay_mad' into 'master'
Update a reference's base record pointer on resurrection

Closes #7084

See merge request OpenMW/openmw!2527
2022-12-27 00:20:47 +00:00
Evil Eye
1cf0befd07 Don't call getClass on an empty Ptr 2022-12-26 21:13:24 +01:00
Alexei Kotov
74225991ca Play blocked hit sound on the victim, not the attacker 2022-12-26 19:07:02 +03:00
Cédric Mocquillon
76d77bf3c3 Connect zoom in/out only when the option is allowed 2022-12-25 17:03:28 +01:00
elsid
0b399a9d1a
Fix detournavigator tests
d40c09c18c changed the logic in parallel with
15e8f0b53c making this check invalid.
2022-12-23 19:26:15 +01:00
elsid
15e8f0b53c
Check input and report errors via RecastContext
Recast functions have preconditions for arguments they don't validate. This may
produce garbage data which may lead to crash. Check arguments and log when they
are invalid.

Do not throw exceptions when these function calls fail, capture Recast reported
errors via RecastContext inherited from rcContext and log them.
2022-12-19 19:46:45 +01:00
Petr Mikheev
de57a95c9d Rename mCells -> mWorldModel 2022-12-16 00:15:11 +01:00
Petr Mikheev
ac6303a83a Rename MWWorld::Cells -> WorldModel 2022-12-15 20:45:18 +01:00
AnyOldName3
66b8d4fb29 Add a setting to control coverage adjustment
With it on, which was always the case before this setting was added,
vanilla content and poorly-made mods will look acceptable, but well-made
mods will have alpha-tested meshes appear to grow and potentially gain a
weird outline as they get further away.

With it off, which replicates the 0.46 behaviour, well-made mods will
look really good, but vanilla content and poorly-made mods will have
alpha-tested meshes shrink as they get further away.

It's been bugging me that this was forced on since 0.47 released, and
I'd hoped to figure out a solution for automatic detection at some point
before 0.48 branched off, but I didn't, so now this is what we're
getting to have Tamriel Rebuilt look right.
2022-12-09 00:22:08 +00:00
psi29a
1d55be8214 Merge branch 'lua_profiler' into 'master'
Lua profiler

See merge request OpenMW/openmw!2523
2022-12-07 10:53:47 +00:00
psi29a
eabb230de2 Merge branch 'keep_calm_and_get_hit' into 'master'
Add option to restore non-MCP Calm spell behaviour

Closes #7063

See merge request OpenMW/openmw!2522
2022-12-07 10:33:17 +00:00
Evil Eye
69fe4594fc Reset mCharGen along with the other MyGUI-holding members 2022-12-05 17:48:24 +01:00
psi29a
06a626452c Merge branch 'ptr2' into 'master'
Refactoring; slightly reduce amount of code in worldimp.cpp

See merge request OpenMW/openmw!2498
2022-12-05 08:54:18 +00:00
Petr Mikheev
7c36a7eb49 Run Lua GC in every frame 2022-12-03 17:09:11 +01:00
Petr Mikheev
55db95d4cf Update Lua profiler; add ability to run OpenMW with old LuaJit that doesn't allow custom allocator (Lua profiler will be disabled in this case) 2022-12-03 16:58:03 +01:00
Evil Eye
209a102061 Update a reference's base record pointer on resurrection 2022-12-01 17:07:10 +01:00
Petr Mikheev
02a9069a0e Lua Profiler 2022-11-30 00:06:14 +01:00
Petr Mikheev
6fa65e4729 Track memory and CPU usage per script in LuaUtil::LuaState 2022-11-30 00:06:14 +01:00
Evil Eye
a648e4cc11 Add option to restore non-MCP Calm spell behaviour 2022-11-23 20:59:37 +01:00
Cédric Mocquillon
dde8ee0611 Delay the deletion of esm versions after the deletion of the scene as it is used in one of its workers (the objectpaging one) 2022-11-20 20:48:48 +01:00
Petr Mikheev
aa230698a8 Apply clang-format 2022-11-13 15:35:26 +01:00
Petr Mikheev
313df72be0 Remove raycasting functions from MWWorld::World 2022-11-13 15:35:26 +01:00
Petr Mikheev
7a354d8c78 Remove from MWWorld::World a few functions that already exist in MWWorld::Cells and MWWorld::Scene 2022-11-13 12:37:37 +01:00
Petr Mikheev
2df993004c Make MWWorld:Cells and MWWorld::Scene to be accessible via Environment 2022-11-13 12:37:37 +01:00
AnyOldName3
08361a6682 Merge branch 'LOD-support-to-Object-Paging' into 'master'
Add LOD support to Object Paging

See merge request OpenMW/openmw!2459
2022-11-12 15:25:57 +00:00
Cédric Mocquillon
7142bb4ce7 Select only one level of LOD outside the active grid
Do not create group when not needed
2022-11-11 20:56:46 +01:00
psi29a
518bd03547 Merge branch 'post_ui' into 'master'
Improve postprocess HUD layout

See merge request OpenMW/openmw!2505
2022-11-10 22:36:04 +00:00
Evil Eye
b94818b24a Tweak message and temporarily set model ttl to 0 2022-11-10 17:24:58 +01:00
Andrei Kortunov
da5b442fcf Improve postprocess HUD layout 2022-11-10 08:31:21 +04:00
Alexei Kotov
1d31c5eb6f Remove the correct bound item when the effect expires 2022-11-10 01:18:46 +03:00
psi29a
d29d68f1ba Merge branch 'allycache' into 'master'
Always consider an actor their own ally (bug #6313)

Closes #4229 and #6313

See merge request OpenMW/openmw!2504
2022-11-09 21:01:57 +00:00
Cédric Mocquillon
4140e4ea05 Remove LOD which could never be displayed in a chunk 2022-11-09 21:57:48 +01:00
psi29a
577c9ad5fb Merge branch 'deprecated' into 'master'
Replace gmtime with safer equivalents

See merge request OpenMW/openmw!2503
2022-11-09 09:20:07 +00:00
Evil Eye
0ae5755abb Implement TestModels/T3D 2022-11-08 22:36:15 +01:00
Alexei Kotov
5d11238723 Always consider an actor their own ally (bug #6313) 2022-11-08 20:13:20 +03:00
psi29a
7669a43495 Merge branch 'dialogue_result_scripts' into 'master'
Reimplement --script-all-dialogue to be more useful to modders

See merge request OpenMW/openmw!2494
2022-11-08 15:46:16 +00:00
psi29a
fa50890633 Merge branch 'sm-snap-to-reference' into 'master'
Open-CS: Snap to Reference

See merge request OpenMW/openmw!2484
2022-11-08 15:30:26 +00:00
Alexei Kotov
914fba229d Replace gmtime with safer equivalents 2022-11-08 16:38:40 +03:00
Alexei Kotov
a5adb73900 Make idle emitters emit ripples every 1.5 seconds (bug #5883) 2022-11-08 12:48:24 +03:00
psi29a
3ca17e5183 Merge branch 'landofwindandshade' into 'master'
Handle landing in the frame the jump is over (bug #5849)

Closes #5849

See merge request OpenMW/openmw!2499
2022-11-08 08:25:31 +00:00
Alexei Kotov
1db9247c45 Restart player block animation during blocking if necessary 2022-11-07 22:09:56 +03:00
Alexei Kotov
180963488f Play shield hit sound when the hit is blocked (bug #6645) 2022-11-07 22:02:30 +03:00
Alexei Kotov
9b8399c353 Handle landing in the frame the jump is over (bug #5849) 2022-11-07 19:06:01 +03:00
Petr Mikheev
6025943fed Add missing content=builtin.omwscripts if openmw is started via openmw-cs (fixes #7056) 2022-11-05 16:30:44 +01:00
Max Henzerling
897cdc62d8 Add snap to reference 2022-11-04 15:04:42 -07:00
Evil Eye
f61083d02c Replace switch statements 2022-11-04 12:20:37 +01:00
Evil Eye
29a46b0fc0 Reimplement --script-all-dialogue to be more useful to modders 2022-11-03 20:54:44 +01:00
psi29a
6960fc9304 Merge branch 'opencs_iwyu' into 'master'
Run IWYU on the opencs

See merge request OpenMW/openmw!2481
2022-11-02 21:41:53 +00:00
psi29a
fd176d6faf Merge branch 'shutup_no_one_cares' into 'master'
Ignore 0 attributes on dead NPCs

See merge request OpenMW/openmw!2490
2022-11-02 08:19:37 +00:00
elsid
013f56088b
Support negative days in TimeStamp
As vanilla engine does.
2022-11-01 22:17:39 +01:00
Evil Eye
45cd5bdbd7 Ignore 0 attributes on dead NPCs 2022-11-01 20:14:40 +01:00
jvoisin
1a326294c0 Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
Evil Eye
4a48156378 Only force adjust the player and NPCs teleported out of the active grid 2022-10-31 12:29:29 +01:00
Evil Eye
5448338b21 Allow bound effects to be recast if they're attached to a recastable effect 2022-10-28 23:10:47 +02:00
Petr Mikheev
4f5443118e Merge branch 'fix_coroutine_crash' into 'master'
Fix coroutine-related crashes

Closes #6996

See merge request OpenMW/openmw!2447
2022-10-18 22:30:13 +00:00
uramer
a2fa1fe0a5 Execute async callbacks on the main Lua stack 2022-10-18 22:12:11 +02:00
uramer
8108fa0724 Merge branch 'fix_7039' into 'master'
Fix #7039: freeze after throwing an error in a queued Lua callback

Closes #7039

See merge request OpenMW/openmw!2469
2022-10-18 19:53:30 +00:00
uramer
b13a4f6b01 Lua coroutine crash tests 2022-10-18 21:11:31 +02:00
Evil Eye
48726eedaa Mark constant methods const 2022-10-18 20:28:35 +02:00
Evil Eye
a207b5e419 Prevent potentially returning garbage flags 2022-10-18 20:28:35 +02:00
Evil Eye
c8a594d9d2 Don't use potentially invalid cache entry 2022-10-18 20:28:35 +02:00
psi29a
bc1e0d3522 Merge branch 'grayscale_dialogue' into 'master'
Fix dialogue issues

Closes #6419 and #7047

See merge request OpenMW/openmw!2478
2022-10-18 15:41:56 +00:00
psi29a
48232bfece Merge branch 'consecutiveseriouspunches' into 'master'
Don't process unexpected hit text keys (bug #7042)

Closes #7042

See merge request OpenMW/openmw!2473
2022-10-17 13:11:02 +00:00
psi29a
fdf1577918 Merge branch 'lua_records' into 'master'
Lua Armor, Static and Light record bindings

See merge request OpenMW/openmw!2341
2022-10-17 13:10:19 +00:00
psi29a
da9cbbce8f add some memory 2022-10-17 13:09:17 +00:00
Evil Eye
a24e9e4c0a Mark constant methods const 2022-10-17 09:43:20 +02:00
Evil Eye
81f138cea0 Prevent potentially returning garbage flags 2022-10-17 09:37:56 +02:00
Evil Eye
1c17260d87 Don't use potentially invalid cache entry 2022-10-17 09:35:43 +02:00
Alexei Kotov
ece7a98e03 Only prevent initially dead actors from floating up (bug #4204) 2022-10-14 19:35:28 +03:00
AnyOldName3
15c51dcbbc Restore false-positive unused includes
They're needed on MacOS as SDL_opengl_gletx.h doesn't define them there.

They don't actually work on MacOS, so long-term, the code that uses
these defines should be changed to use #ifdef to check they're available
before using them.
2022-10-13 00:49:24 +01:00
Alexei Kotov
eadade9dfc Don't process unexpected hit text keys (bug #7042) 2022-10-13 02:07:23 +03:00
AnyOldName3
77de37b1ed Revert "Merge branch 'fix_macos_build' into 'master'"
As well as fixing the MacOS build, it meddled with a bunch of files that
already did the right thing.

This reverts commit 8162541a14, reversing
changes made to e16c451d08.
2022-10-12 22:48:34 +01:00
mpeco
a2ce37b5b0 clang-format 2022-10-11 01:14:17 -03:00
mpeco
af3af6e091 update types.lua 2022-10-11 00:01:11 -03:00
mpeco
90a73b39ce Lua Armor, Static and Light record bindings 2022-10-11 00:01:08 -03:00
Petr Mikheev
395f7f0e9a Fix #7039: freeze after throwing an error in a queued Lua callback 2022-10-10 23:32:17 +02:00
Petr Mikheev
6371e002fd [Lua] More understandable error message when trying to change stats on anything except openmw.self 2022-10-10 22:57:06 +02:00
psi29a
59025f2bc9 Merge branch 'dont_make_me_press_twice' into 'master'
Derive sneaking state from character data

See merge request OpenMW/openmw!2360
2022-10-10 16:49:20 +00:00
psi29a
5dfbf6ffb7 Merge branch 'another_iwyu' into 'master'
Another pass with IWYU

See merge request OpenMW/openmw!2465
2022-10-10 16:48:57 +00:00
jvoisin
cd29c181cf Another pass with IWYU 2022-10-10 15:16:18 +02:00
psi29a
8162541a14 Merge branch 'fix_macos_build' into 'master'
Use separate header to define missing GL constants

See merge request OpenMW/openmw!2464
2022-10-10 07:49:01 +00:00
psi29a
e16c451d08 Merge branch 'l10n' into 'master'
Separate l10n manager from lua

See merge request OpenMW/openmw!2451
2022-10-10 07:34:18 +00:00
psi29a
c164437d91 Merge branch 'classism' into 'master'
Use class service flags for autocalc NPCs

Closes #7044

See merge request OpenMW/openmw!2461
2022-10-10 07:32:46 +00:00
psi29a
c562b0b72c Merge branch 'bootlegcharacter' into 'master'
Nitpicking in CharacterController::update()

See merge request OpenMW/openmw!2460
2022-10-10 07:27:07 +00:00
elsid
c324482338
Use separate header to define missing GL constants 2022-10-09 23:35:55 +02:00
elsid
843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
jvoisin
3cbf1dc042 First pass with include-what-you-use 2022-10-09 10:39:43 +00:00
Evil Eye
60491cc896 Derive sneaking state from character data 2022-10-08 17:22:33 +02:00
Evil Eye
60c26832d2 Use class service flags for autocalc NPCs 2022-10-08 17:00:33 +02:00
Alexei Kotov
961fe59736 Nitpicking in CharacterController::update() 2022-10-08 07:03:04 +03:00
Petr Mikheev
3697c9266b Separate l10n manager from lua 2022-10-07 17:19:04 +02:00
psi29a
6630dbb9c2 Merge branch 'window_manager_profile' into 'master'
Profile window manager update

See merge request OpenMW/openmw!2458
2022-10-07 07:38:03 +00:00
elsid
2f5adbb083
Profile window manager update 2022-10-06 21:50:31 +02:00
elsid
212c7c7f25
Move LuaWorker to a separate file 2022-10-06 21:50:31 +02:00
elsid
cd18c81e58
Move ScopedProfile to a separate file 2022-10-06 21:50:31 +02:00
elsid
bb8b5e2108
Add META_Node to clang-format StatementMacros 2022-10-06 21:11:52 +02:00
elsid
063fff7fa4
Fix and prevent -Wextra-semi warning 2022-10-06 00:26:43 +02:00
elsid
624d8bc931
Support unsigned settings values 2022-10-04 01:34:53 +02:00
elsid
da15db295e
Fix resetting player's animation on game loading
When game is loaded player's animation is replaced by a new object. Old object
is destructed without explicit removeFromScene call.
2022-10-02 13:50:51 +02:00
psi29a
6e71804048 Merge branch 'keying_in' into 'master'
Add key flag on load

Closes #7034

See merge request OpenMW/openmw!2444
2022-09-30 13:16:14 +00:00
Evil Eye
e6592aa850 Add key flag on load 2022-09-30 12:16:45 +02:00
elsid
4de8ea30c8
Report used memory by Lua interpreter 2022-09-30 02:15:21 +02:00
elsid
b92d80249e
Adjust initial distance when destination is changed for obstacle check
Changed destination may create a situation when the distance actor moved between
2 update calls is less than initial distance because destination has been changed.
This forces actor to take evasive action when there is no actual obstacle.
2022-09-28 22:01:29 +02:00
clang-format-bot
88ec8a9523
Apply clang-format 2022-09-25 18:23:43 +02:00
psi29a
f7da42870e Merge branch 'count' into 'master'
Improve item count handling

See merge request OpenMW/openmw!2430
2022-09-25 13:38:33 +00:00
psi29a
aed0ad6b83 Merge branch 'nifosg_tests' into 'master'
Add tests for NifOsg::Loader

See merge request OpenMW/openmw!2421
2022-09-25 13:37:14 +00:00
psi29a
d05494bfb9 Merge branch 'falling_actors' into 'master'
Do not adjust position for falling actors (#7009)

Closes #7009

See merge request OpenMW/openmw!2416
2022-09-25 13:36:55 +00:00
psi29a
f0e58ef872 Merge branch 'editor_fix' into 'master'
Fix topic infos creation

Closes #6686

See merge request OpenMW/openmw!2432
2022-09-25 13:34:43 +00:00
psi29a
d38c072030 Merge branch 'recall_how_to_recall' into 'master'
Prevent recursive calls to ActiveSpells::update

Closes #7022

See merge request OpenMW/openmw!2426
2022-09-25 13:30:07 +00:00
Andrei Kortunov
3163d9ed56 Fix topic infos creation 2022-09-25 15:17:20 +04:00
Andrei Kortunov
7d23ad29e0 Make count input box larger to fit larger text 2022-09-25 11:54:34 +04:00
Andrei Kortunov
dacb300dfb Improve item count handling 2022-09-25 11:22:17 +04:00
Project579
6fe89ff22b Fix dumb regression, initialize "std::filesystem::file_time_type" with "clock::now()". 2022-09-24 21:52:10 +02:00
Project579
5cf2a958eb Make conversions between std::chrono time_point and string safer by not using "localtime" directly. 2022-09-24 21:47:27 +02:00
elsid
d2e1f18924
Add tests for NifOsg::Loader 2022-09-24 19:10:39 +02:00
elsid
4b760e8846
Do not add redundant nullptr parent
There are no failed tests after this, so this is not really needed.
2022-09-24 19:10:31 +02:00
elsid
83bb2195b0
Move init functions for Nif nodes to a separate file
This will be used in other tests.
2022-09-24 19:10:25 +02:00
elsid
f2fb3d6de8
Separate NIFFileReader from NIFFile
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.

Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2022-09-24 19:10:14 +02:00
Evil Eye
d3253cb636 Prevent recursive calls to ActiveSpells::update 2022-09-24 18:13:45 +02:00
elsid
1fc7bd7775
Do not consider falling actors as grounded 2022-09-24 17:49:44 +02:00
elsid
953954ff95
Do not adjust position for falling actors 2022-09-24 17:49:42 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
psi29a
9a9c7fa7cf Merge branch 'std-filesystem-hotfix' into 'master'
Use std::filesystem for unit tests temporary files path.

See merge request OpenMW/openmw!2402
2022-09-19 20:47:33 +00:00
psi29a
525f81393a Merge branch 'physics_refactor' into 'master'
Small physics refactoring

See merge request OpenMW/openmw!2417
2022-09-19 19:57:23 +00:00
Project579
b82176410b Use std::filesystem for unit tests temporary files path. 2022-09-19 21:42:18 +02:00
Evil Eye
7cc55022a1 Implement sun damage based on the research on the wiki 2022-09-19 19:05:22 +02:00
elsid
feb645d15f
Remove redundant Scene::updatePosition function 2022-09-17 01:14:04 +02:00
elsid
aeb4611d6c
Mark MWPhysics::Actor constructor and assignment operators as deleted 2022-09-17 01:14:04 +02:00
elsid
bceca33699
Do not lock mutex in MWPhysics::Actor constructor 2022-09-17 01:14:04 +02:00
elsid
bd98404890
Initialize PtrHolder::mPtr and positions by its constructor 2022-09-17 01:14:04 +02:00
AnyOldName3
84f8a6848a Renormalise line endings
This should replace accidental CRLF with LF
2022-09-16 00:53:24 +01:00
elsid
a0cfcc50a2
Fix dangling pointer access on clicking save in the main menu
getSignature() returns an object which means expression like:
className = it->getSignature().mPlayerClassName;
assigns a temporary object to className that does not outlive the statement.
Having className a string view such code leads to a dangling pointer.

Return a reference from getSignature to save on redundant copying.

Change getSignature implementation to make it visible that it finds a maximum
element.

Do not call getSignature multiple times when possible to avoid seaching for the
same max element multiple times.
2022-09-15 22:49:20 +02:00
psi29a
d1c79fa8d1 Merge branch 'pre_clang_format_fixes_2' into 'master'
Fixes before applying clang-format 2

See merge request OpenMW/openmw!2401
2022-09-15 08:24:23 +00:00
elsid
9c291535bb
Dump NIFZ and KFFZ sub records by esmtool 2022-09-15 00:01:40 +02:00
elsid
410a2881fe
Add comma to the last array element to prevent putting multiple elements on a single line 2022-09-14 00:36:02 +02:00
elsid
51314db2f1
Remove AI_CNDT from AI package types
AI_CNDT is a label of subrecord containing cell name. It's not AI package type.
2022-09-13 00:05:12 +02:00
psi29a
20abe6dcf5 Merge branch 'esmtool_string_view' into 'master'
Use std::string_view for esmtool labels

See merge request OpenMW/openmw!2396
2022-09-12 20:55:01 +00:00
elsid
52b7b66e9f
Add comma to the last array element to prevent putting multiple elements on a single line 2022-09-12 21:00:51 +02:00
elsid
5b1d6917ef
Add comments to prevent line splitting on formatting 2022-09-12 21:00:51 +02:00
elsid
4698a4cd2d
Use raw string literals to format command usage messages 2022-09-12 21:00:51 +02:00
elsid
f269406061
Do not wrap emit expresison with parenthesis
To avoid warnings like following after clang-format applied:

apps/launcher/utils/profilescombobox.cpp:85:9: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
    emit(signalProfileChanged(mOldProfile, currentText()));
        ^
apps/launcher/utils/profilescombobox.cpp:82:5: note: previous statement is here
    if (index == -1)
    ^
2022-09-12 21:00:51 +02:00
elsid
40e899f56d
Use std::string_view for esmtool labels 2022-09-12 18:58:53 +02:00
elsid
6ae15f08e0
Avoid chained operator() calls to prevent formatting issues 2022-09-12 16:48:15 +02:00
unrelentingtech
1c8fd2ecdb Implement system-scaled HiDPI support (SDL_WINDOW_ALLOW_HIGHDPI - Wayland, macOS, etc) 2022-09-12 08:18:08 +00:00
elsid
a9826342b2
Print ESM4 EditorId and Model by esmtool dump 2022-09-12 01:42:08 +02:00
psi29a
80d52e3da8 Merge branch 'cursor' into 'master'
Support high-resolution cursor textures

Closes #6933

See merge request OpenMW/openmw!2262
2022-09-11 18:32:18 +00:00
psi29a
435eacdaad Merge branch 'debug_draw_commands' into 'master'
API to draw primitives

See merge request OpenMW/openmw!2345
2022-09-11 17:17:16 +00:00
Andrei Kortunov
a2c02d2999 Support high-resolution cursor textures (feature 6933) 2022-09-11 20:54:20 +04:00
florent.teppe
43b0ae1ce7 all debug renders now use the same shader and it works
remove debug draw shader, now that debug and debugdraw serve the same function

remove debug draw code from actors to clean

replaced int uniforms with bool for better readability

clang format

cleanup, remove unused func, and mistake whitespace

fix namespace

added more colors

fixed missing whitespace
2022-09-11 17:54:01 +02:00
florent.teppe
2a980ecb50 cleaned some code and fixed some naming issues
Moved debug draw to components, fixed some whitespace issues, added include guard

fixed uniform name, removed old files

Fixes some more whitespace weirdness
2022-09-11 17:53:53 +02:00
florent.teppe
12b3424dd7 initial work to get lines in
lines need the same synchronisation system as the other primitives

This two points are there because if I resize to 0 it crashes, si I need a pice of line at 0.,0.,0. so there is no crash.Not ideal

Lines are colored

didn't commit updated shader file
2022-09-11 17:53:51 +02:00
florent.teppe
80c97e48bf made code more consistent between cube, cylinder and wirecube, should also fix a clang compilation error
remove include to non existing file

Actors code displays different ways to use debug draw

oups, forgot to remove parameter in function

fix include case sensitivity

Jopefully fixes all linux issues

moves some code pieces, and the debug draw now has a group node to have different types of objects to draw
2022-09-11 17:53:49 +02:00
florent.teppe
76008e1ff8 Multiple shapes to draw
adds wireCube primitive

scale of the command taken into account

shading light is more vertical
2022-09-11 17:53:47 +02:00
florent.teppe
93af569a68 can place a cube at 0,0,0 Useless for now
Arbitrarly draw cubes at certain position with a certain color

Adds exemple of how it looks in the actor update code.

draws a green cube if alive, red else
2022-09-11 17:53:41 +02:00
psi29a
29f3de30c2 Merge branch 'master' into 'cellstore_refactor'
# Conflicts:
#   apps/openmw/mwworld/scene.cpp
2022-09-11 15:03:37 +00:00
Project579
886b8c7af2 Fix build error with stdlibc++ due to includes shuffling. 2022-09-11 14:41:21 +02:00
Project579
9ceafe770d Hard fail on loading BSA with records using unicode paths. 2022-09-11 14:41:21 +02:00
Project579
1a79f098fa Use std::filesystem::create_directories instead of std::filesystem::create_directory to recursively generate directories from the provided path. 2022-09-11 14:41:21 +02:00
Project579
ca14fc00dc Added dedicated functions for conversions between QString and std::filesystem::path. 2022-09-11 14:41:21 +02:00
Project579
c226b35f1f Fix some remaining encoding errors due to std::filesystem transition. 2022-09-11 14:41:20 +02:00
Project579
1fc197e404 Check std::getenv output before using it to construct a std::filesystem::path. 2022-09-11 14:41:20 +02:00
Project579
5456ef1d50 Add new functions and overloads to support std::u8string and std::filesystem::path. 2022-09-11 14:41:20 +02:00
Project579
796911e67d iniimporter: Work around some old MSVC compiler bugs. 2022-09-11 14:41:20 +02:00
Project579
199bf233e8 essimporter: Don't use "std::string" to store paths. 2022-09-11 14:41:20 +02:00
Project579
14a786bab0 iniimporter: Don't convert paths to "std::string". 2022-09-11 14:41:20 +02:00
Project579
4e428dee12 Update some settings that accept paths by "std::string" to accept them as "std::filesystem::path" instead. 2022-09-11 14:41:20 +02:00
Project579
928b131564 Implement std::filesystem::path conversion tests. 2022-09-11 14:41:20 +02:00
Project579
a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2022-09-11 14:41:20 +02:00
Project579
4d47e8d055 openmw-cs: model: world: data: Remove dead code. 2022-09-11 14:41:20 +02:00
Project579
864112b5db Fixed Windows build when using MSVC 14.26 and MacOS build. 2022-09-11 14:41:20 +02:00
Project579
6bf4c7a04f Upgraded "input-file" command line option to Files::MaybeQuotedPath from std::string to allow unicode characters on Windows. 2022-09-11 14:41:20 +02:00
Project579
e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2022-09-11 14:41:15 +02:00
Project579
35fe214588 Updated components/misc/timeconvert.hpp to fix the Android build. 2022-09-11 02:20:01 +02:00
Project579
5446571aec Circumvent QT MOC bugs by including the filesystem header in a specific order. 2022-09-11 02:19:07 +02:00
Project579
cf0af87c80 Revert changes from "4c8e1ccf - Fixed windows build and updated tests to reflect changes of escape character from "&" to "\"" in "apps/openmw_test_suite/openmw/options.cpp" 2022-09-11 02:19:07 +02:00
Project579
e97eeca281 Attempt to work around QT MOC bugs caused by the filesystem header. 2022-09-11 02:19:07 +02:00
Project579
cd229a965b Fixed windows build and updated tests to reflect changes of escape character from "&" to "\" 2022-09-11 02:19:07 +02:00
Project579
4bb07282c9 Replace all remaining occurrences of boost::filesystem with std::filesystem. 2022-09-11 02:19:00 +02:00
florent.teppe
9a19bb84a4 fixed Clang and whitespace difference with master 2022-09-10 22:58:15 +02:00
florent.teppe
10de4a5156 created a relationship between the record type and the corresponding state
used in readReferences and writeReferences. Simplifies the calls to those functions
2022-09-10 22:20:47 +02:00
florent.teppe
256d8a699a moves one function from tuplemeta.hpp to newly created tuplehelpers.hpp 2022-09-10 20:13:18 +02:00
florent.teppe
73e3c0adf6 applies some review changes
fixed c style cast
fixed useless includes
fixed callback not last member
fixed situation where type==0 and therefore function call isn't necessary
2022-09-10 19:48:48 +02:00
psi29a
25fa8c3656 Merge branch 'rm_base_esm_reader' into 'master'
Remove ESM::Reader base class

See merge request OpenMW/openmw!2388
2022-09-10 14:38:13 +00:00
psi29a
525b904a44 Merge branch 'reflection-uniform' into 'master'
Added a uniform to indicate whether rendering is occurring in a reflection

See merge request OpenMW/openmw!2340
2022-09-10 14:19:20 +00:00
elsid
ac1688f9c1
Remove ESM::Reader base class
This class does not serve any useful purpose now. It was added as a first step
in attempt to define common interface for ESM3 and ESM4 readers. But this is not
going to happen.
2022-09-10 15:17:49 +02:00
florent.teppe
158eea934d removed more code from the header
simplified forEachInternal function using tupleForEach
moved some function that were in CellStoreImp that didn't need to be
2022-09-10 10:03:13 +02:00
florent.teppe
65bd007baa simplified some big switch/case 2022-09-09 23:40:56 +02:00
psi29a
95f9f00bcc Merge branch 'navigator_rtree' into 'master'
Optimize updating navmesh from the main thread primarily on cell loading

See merge request OpenMW/openmw!2382
2022-09-08 22:18:36 +00:00
florent.teppe
bcc004ecf5 Simplified read reference, by associating the types to the recNameInt using tuple + template + fold expresions magic 2022-09-08 23:39:44 +02:00
florent.teppe
0a5c863f27 fewer header includes 2022-09-08 21:08:59 +02:00
florent.teppe
c7e88344d0 cellstore refactor first version, simply replaces each individual reflist by a tuple and makes the necessary related changes 2022-09-08 20:52:00 +02:00
psi29a
95ad1d91df Merge branch 'esmstore-round-2' into 'master'
More ESMStore cleanup

See merge request OpenMW/openmw!2383
2022-09-08 13:08:26 +00:00
ζeh Matt
aa65df8872
Rename meta.hpp to tuplemeta.hpp 2022-09-08 15:03:01 +03:00
elsid
22ee592dd3
Lock TileCachedRecastMeshManager once per changing a cell
To save time on locking mutex and prevent AsyncNavMeshUpdater to use RecastMesh
for a tile in the middle of objects loading.
2022-09-08 11:06:35 +02:00
psi29a
b9ff117dfe Merge branch 'reuse_actors_positions_buffer' into 'master'
Reuse physics actors positions buffer

See merge request OpenMW/openmw!2384
2022-09-08 06:57:41 +00:00
Andrei Kortunov
6ec9616ddd Localize the 'show effect duration' option 2022-09-08 07:46:56 +04:00
ζeh Matt
c856095562
Use compile time generated indices for tuples types 2022-09-08 03:38:07 +03:00
elsid
cdc9141e2f
Reuse physics actors positions buffer 2022-09-08 01:57:45 +02:00
ζeh Matt
8f7703d5c8
Rename HasMember to TupleHasType and move code into misc/meta.hpp 2022-09-08 00:13:50 +03:00
elsid
d15e1dca84
Use R-tree for objects to be used for navmesh generation
Instead of storing a set of objects per tile.
2022-09-07 22:51:56 +02:00
psi29a
1859c6eded Merge branch 'pcvisionbonus' into 'master'
Implement PCVisionBonus functions

Closes #6983

See merge request OpenMW/openmw!2371
2022-09-07 20:27:22 +00:00
psi29a
1943486812 Merge branch 'savescreenshots' into 'master'
!2358 follow-up (bug #6661)

Closes #6661

See merge request OpenMW/openmw!2376
2022-09-07 20:24:41 +00:00
psi29a
fcd9b78cac Merge branch 'REFACTOR_STORE' into 'master'
Refactoring the ESM store to better support many new ESM4 types

See merge request OpenMW/openmw!2161
2022-09-07 20:22:29 +00:00
florent.teppe
31a14952b7 no more getIdType, only setIdType 2022-09-07 18:45:15 +02:00
Alexei Kotov
81c78f5477 Keep savegame screenshots up-to-date 2022-09-07 16:18:33 +03:00
Alexei Kotov
0d3a1470c9 Fix double quote marks 2022-09-07 16:12:26 +03:00
psi29a
912a4d69ee Merge branch 'reuse_simulations_buffer' into 'master'
Reuse physics simulations buffer (#6588)

Closes #6588

See merge request OpenMW/openmw!2374
2022-09-07 10:30:59 +00:00
elsid
277211c5b4
Reuse physics simulations buffer
To avoid redundant allocations.

Use 2 buffers to make sure there is no overlap between main and the background
threads.
2022-09-07 03:06:59 +02:00
florent.teppe
e961ac6f7c function doesn't need to return int 2022-09-06 23:30:51 +02:00
florent.teppe
b1d5d604be various fixes
fixed naming convention
replaced std::string by string_view when possible
removed unused function and member varaible
replaced type::value by type_v
set default destructor in cpp
function getTypeIndex => getnextindex
2022-09-06 23:10:58 +02:00
elsid
180d609e0d
Check "wait until min distance to player" only for requiredTilesPresent wait condition
allJobsDone should wait even if "wait until min distance to player" is 0.
2022-09-06 21:51:48 +02:00
elsid
955db8f825
Call Navigator::setWorldspace once per changing cell 2022-09-06 21:51:48 +02:00
elsid
204ab6fea3
Use version instead of generation and revision for recast mesh 2022-09-06 21:51:48 +02:00
florent.teppe
7bc506ff86 linux copmile 2022-09-06 14:33:03 +02:00
florent.teppe
564c5d6690 fixed naming convention issue 2022-09-06 14:27:53 +02:00
florent.teppe
e23d9c11a8 moved a bit of code back in the header to avoid many template specialization 2022-09-06 14:19:55 +02:00
florent.teppe
0dd529ab1d With the records include removed from store.hpp, need to include the relevant files accross the codebase.Lots of touched files, but very little done 2022-09-06 13:26:13 +02:00
Evil Eye
6117b10cfa Derive screen brightness from the blind modifier 2022-09-05 20:31:48 +02:00
Evil Eye
489c7a10b6 Implement PCVisionBonus functions 2022-09-05 20:21:19 +02:00
psi29a
8e7cee5861 Merge branch 'shut_it' into 'master'
Make the Sound magic effect make noise

Closes #6986

See merge request OpenMW/openmw!2369
2022-09-05 17:55:49 +00:00
florent.teppe
4bb9a4166d The tuple types declaration is back in the header, but there is no need for implementation details to be known for any of the types 2022-09-05 18:38:59 +02:00
Evil Eye
9484d8ce51 Make the Sound magic effect make noise 2022-09-05 18:04:31 +02:00
florent.teppe
57df51b4a6 fixed made by @ZehMatt in 6abb96250f and cdcf1393fc 2022-09-05 18:04:10 +02:00
florent.teppe
9092c32f2e fixed incompatibilities caused bu merge 2022-09-05 17:57:13 +02:00
florent.teppe
1ed22a298d fix compile 2022-09-05 17:35:36 +02:00
florent.teppe
7bd7105345 code cleanup 2022-09-05 17:35:36 +02:00
florent.teppe
33ea66b86d Type index type error fixed 2022-09-05 17:35:36 +02:00
florent.teppe
85a9edf2ee removes useless make_tuple, and changes type of typeIndex to size_t 2022-09-05 17:35:36 +02:00
florent.teppe
31330c9abc oups 2022-09-05 17:35:36 +02:00
florent.teppe
cbb9b65286 linux compile 2022-09-05 17:35:36 +02:00
florent.teppe
ee06cccbe1 gets rid of the macros, we use a tuple instead, with a mechanism to assign an index to each type.
so the tuple is only defined in the cpp, but we can still have template functions in the header that can ge tthe index with the type
2022-09-05 17:35:36 +02:00
florent.teppe
16482243fa rename StoreBase =>DynamicStore, and create new class Storebase
all stores inherit from base class StoreBase.Storebase is just an empty interface class
2022-09-05 17:35:36 +02:00
florent.teppe
0d84b32d46 Rename member to be clearer and more generic 2022-09-05 17:35:35 +02:00
florent.teppe
0d7bd19119 removes recname type, we use what is already included in ESM types 2022-09-05 17:35:35 +02:00
florent.teppe
bff4096652 Removed macro that didn't serve any real purpose
Renamed member that didn't respect the naming convention
2022-09-05 17:35:35 +02:00
florent.teppe
78ba3f91f3 Binds at compile time esm struct and RecNameInts to automatically populate mESM3RecordToStore
fewer possible mistakes now, one macro takes all the information to create all the stores and maps from RecName to Store
2022-09-05 17:35:35 +02:00
florent.teppe
a7207a9220 Linux compilation 2022-09-05 17:35:35 +02:00
florent.teppe
59ebee634b Very convincing experiment, by associatingg a compiletime index to the esm record, it becomes possible to automate the loop that creates them
it will also be possible to associate AT COMPILETIME the RecNameInt to the esm type, which in the same manner will automatically populate mESM3RecordToStore
2022-09-05 17:35:35 +02:00
florent.teppe
252550d86f Added records for ESM4s the throw std:: logic error ensures at compile time that there is no collision
static_assert doesn't work because the function can be called at run time
2022-09-05 17:35:35 +02:00
florent.teppe
0967c11128 mids and mStaticIds moved to mStoreImp
renamed recordid to storeid
2022-09-05 17:35:35 +02:00
florent.teppe
87224e3007 Fixes a bug with es3overrideRecord, esm3InsertStatic and esm3StoreInsert
This also comes with a change to the mapping from esm3 record name to Store to be more direct with a pointer
and the creation of a map from store pointer to esm3 record type
2022-09-05 17:35:07 +02:00
florent.teppe
dbfbad575b Fixes GCC compilation, hopefully for good 2022-09-05 17:35:07 +02:00
florent.teppe
30549155e0 Removed extra ; that GCC didn't like (fixes pendantic warning treated as error) 2022-09-05 17:35:07 +02:00
florent.teppe
800ada37ae removed getId public function 2022-09-05 17:35:07 +02:00
florent.teppe
c41c67b461 Fixed naming convention problems
removed 2 macros.
 - One is replaced by the underlying code
 - The second one ise replaced by a template function

removed tabulation used as indentation
used getWritable instead of a const_cast
used for( val : cont) loop
removed useless getId function
2022-09-05 17:35:07 +02:00
florent.teppe
0f41ae3b53 Oups forgot an extra ; not liked by Ubuntu GCC 2022-09-05 17:35:06 +02:00
florent.teppe
ede46745b5 Fixed Linux compialtion 2022-09-05 17:35:06 +02:00
florent.teppe
0be4521291 Removed mistakenly added space 2022-09-05 17:35:06 +02:00
florent.teppe
1ced0c912e partially revert "Store: moved all the template specialization to its own heaper file, included where it's needed"
This reverts commit 80a25bcd3021f7ebfaf2f864e34532009b9b8aeb.
It didn't really make sense to do all those changes in the same MR

partially Revert "Store refactoring: more forgotten storeSpecialization.hpp"

This reverts commit 9943a5bc96b9025f06cbaac5bb7f1bf51ebc746f.

removed remaining references to storeSpecialization  CMakeLists.txt,  and landmanager.cpp
2022-09-05 17:35:06 +02:00
florent.teppe
3b6ac53be4 Store refactoring: more forgotten storeSpecialization.hpp 2022-09-05 17:34:40 +02:00
florent.teppe
5ee3cfed57 There is one less necessary macro, it was possible to make a template function that works for all StoreBase stores 2022-09-05 17:34:40 +02:00
florent.teppe
1ed2244298 Store refactor: Now way easier to create new stores, a good chunk of it is automated, only simple macros are used now
The case of indexedStores remains an issue, because they can't be stored with the rest because they don't inherit of store base
2022-09-05 17:34:40 +02:00
florent.teppe
a78db85178 Store refactor: frogot a specialization include 2022-09-05 17:34:40 +02:00
florent.teppe
ae24d62f27 ESM store: new structure that associates each record type to an id, will make it easier to add new stores 2022-09-05 17:34:40 +02:00
florent.teppe
3a62ef3a99 Store added storespecialization to cmakelist, and removed the captial first letter 2022-09-05 17:34:40 +02:00
florent.teppe
0d85e7db7d Store: moved all the template specialization to its own heaper file, included where it's needed
in the esm store a function is defined in the cpp file to not rely on the knowledge of store.hpp in the header file
2022-09-05 17:34:22 +02:00
florent.teppe
0a0b301cc4 ESM Store: no more automatic function implementation that suppose a mId member
All the ESM3 store will continue to work the same, used a macro to quickly define the different functions
2022-09-05 17:33:17 +02:00
florent.teppe
db2b4600aa ESM Store: removed a lot of declarations that became useless
the default implementation of the template<> get() threw a reuntime error, when it is a compile time issue
now all the implementations are in the cpp file
2022-09-05 17:32:56 +02:00
florent.teppe
6467e48be8 ESMStore: greatly simplified the store declaration with a macro 2022-09-05 17:32:56 +02:00
florent.teppe
a4c1bff03d ESMStore: no longer necessary to include the type definitions in the header
For now there still needs to declare all the getters, but a macro may make that easier, or an different method entierly
2022-09-05 17:32:56 +02:00
elsid
e2d566b89d
Store changed tiles in TileCachedRecastMeshManager 2022-09-05 11:49:39 +02:00
psi29a
52ca14d881 Merge branch 'cast_spell' into 'master'
Minor refactor of CastSpell

See merge request OpenMW/openmw!2365
2022-09-04 19:01:50 +00:00
Evil Eye
06d6de50e6 Remove redundant store lookups 2022-09-04 15:42:40 +02:00
Evil Eye
325081dc07 Reuse CastSpell for explosions 2022-09-04 15:09:31 +02:00
Evil Eye
8d66b2e75d Remove redundant params 2022-09-04 14:51:19 +02:00
Evil Eye
4eafe3696c Move explodeSpell out of World 2022-09-04 14:01:36 +02:00
psi29a
647b22e175 Merge branch 'DistantLOD' into 'master'
Support for TES distant LOD

See merge request OpenMW/openmw!1861
2022-09-04 11:36:07 +00:00
psi29a
71cafeae38 Merge branch 'i_like_to_dance_close_to_the_explosion' into 'master'
Always create touch explosions for non-actors

Closes #5714

See merge request OpenMW/openmw!2364
2022-09-04 07:44:23 +00:00
psi29a
10b500da82 Merge branch 'we-use-c++-11-now' into 'master'
Eliminate &thing[0] pattern

See merge request OpenMW/openmw!2361
2022-09-04 07:43:46 +00:00
psi29a
a247bba981 Merge branch 'damage_over_time' into 'master'
Keep showing NPC health while dealing damage

Closes #6427

See merge request OpenMW/openmw!2362
2022-09-03 21:01:11 +00:00
Evil Eye
bd4322360d Always create touch explosions for non-actors 2022-09-03 22:43:29 +02:00
unknown
d5b42bc843 Reflect non-harmful effects as well 2022-09-03 20:02:58 +02:00
unknown
f68e7ce0b5 Keep showing NPC health while dealing damage 2022-09-03 19:49:59 +02:00
Cédric Mocquillon
83ee25711e Use the pattern according to the esm version 2022-09-03 18:55:06 +02:00
Cédric Mocquillon
6a3d27ce82 Add a dictionary to retrieve the LOD mesh name of a mesh cache 2022-09-03 18:52:27 +02:00
AnyOldName3
4e8e2e1c60 Eliminate &thing[0] pattern 2022-09-03 16:41:35 +01:00
Alexei Kotov
10ffacc82f Update saved game dialog debug messages 2022-09-03 09:08:46 +03:00
Alexei Kotov
a8e561d885 Avoid issues with saved games that have no screenshot data 2022-09-02 07:04:02 +03:00
Evil Eye
fcb820f1f7 Appease the evil spirits of C++ 2022-09-01 18:25:41 +02:00
Evil Eye
68d185ad4d Remove forward declarations used by smart pointers 2022-09-01 17:20:15 +02:00
Evil Eye
3c8943c876 Use make_unique 2022-08-31 21:16:03 +02:00
Evil Eye
f4bc06604a Use std::unique_ptr in WindowManager 2022-08-31 21:07:59 +02:00
Evil Eye
1b9da77455 Use std::unique_ptr in SpellWindow 2022-08-31 19:50:30 +02:00