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

20343 commits

Author SHA1 Message Date
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
Evil Eye
6d65885bd2 Use std::unique_ptr in QuickKeysMenu 2022-08-31 19:48:23 +02:00
Evil Eye
84911a300b Use std::unique_ptr in MessageBoxManager 2022-08-31 19:44:04 +02:00
Evil Eye
30d320f651 Use std::unique_ptr in MainMenu 2022-08-31 19:05:32 +02:00
Evil Eye
59fab4c9e2 Use std::unique_ptr in ItemView 2022-08-31 19:03:45 +02:00
Evil Eye
837183ec79 Use std::unique_ptr in ProxyItemModel 2022-08-31 18:49:50 +02:00
Evil Eye
fd720c0a7b Use std::unique_ptr in HUD 2022-08-31 18:03:46 +02:00
Evil Eye
b21c77a026 Use std::unique_ptr in EnchantingDialog 2022-08-31 18:02:12 +02:00
psi29a
58d08d402a Merge branch 'navigator_stats' into 'master'
Show stats for writing and reading navmesh db queue jobs

See merge request OpenMW/openmw!2346
2022-08-30 21:12:54 +00:00
psi29a
4ff7f8ddfb Merge branch 'string_viewing' into 'master'
Use string_view in yet more places

See merge request OpenMW/openmw!2348
2022-08-30 21:12:11 +00:00
psi29a
fab5236fcd Merge branch 'fix_ai_wander' into 'master'
Limit AiWander destination by wander distance (#6937)

Closes #6937

See merge request OpenMW/openmw!2353
2022-08-30 21:10:15 +00:00
elsid
709baafd12
Limit AiWander destination by wander distance
From initial actor position.

findRandomPointAroundCircle may return a position outside given range. Use
raycast to choose a different reachable point within a radius but double check
and discard if it's still outside.

Use wander radius instead of wander distance for findRandomPointAroundCircle to
have better chance for a position to be inside wander distance.
2022-08-30 20:51:36 +02:00
Andrei Kortunov
3037f190be Implement per-font resolution 2022-08-30 12:16:30 +04:00
psi29a
945448cdf1 Merge branch 'font_fixes' into 'master'
Improve built-in default fonts

See merge request OpenMW/openmw!2302
2022-08-30 07:54:20 +00:00
Andrei Kortunov
3178868cc3 Improve built-in default fonts 2022-08-30 07:54:20 +00:00
psi29a
a0029cb512 Merge branch 'load_menu' into 'master'
Enlarge character selection widget

See merge request OpenMW/openmw!2350
2022-08-30 07:43:05 +00:00
psi29a
ca90b53c30 Merge branch 'no_shiny_rocks' into 'master'
Only reflect spells that have a caster

Closes #6969

See merge request OpenMW/openmw!2349
2022-08-30 07:41:38 +00:00
Andrei Kortunov
8bac073f9c Enlarge character selection menu to fit long character or class names 2022-08-28 21:35:11 +04:00
Evil Eye
7729ef2e5b Only reflect spells that have a caster 2022-08-28 17:42:55 +02:00
Evil Eye
fb9bc5f535 Use string_view in Fallback::Map 2022-08-28 17:20:49 +02:00
Evil Eye
2222b47e3d Make Settings::Manager::getString return a reference 2022-08-28 16:38:11 +02:00
Evil Eye
dfcd34372d Use more string_view 2022-08-28 15:06:31 +02:00
elsid
c15848932b
Separate reading navigator stats and reporting 2022-08-28 14:52:34 +02:00
Evil Eye
d2a80cf112 Use unique_ptr in MWGui::DialogueWindow 2022-08-28 11:35:39 +02:00
Evil Eye
534994b42a Use more string_view in the character controller 2022-08-27 13:47:15 +02:00
Evil Eye
19bd2f3c3d Use more string_view and const string& 2022-08-27 13:07:59 +02:00
psi29a
d2d2282af5 Merge branch 'null_terminated' into 'master'
Improve format workaround and add unit tests

See merge request OpenMW/openmw!2338
2022-08-26 19:43:57 +00:00
Evil Eye
02bbb0be45 Improve format workaround and add unit tests 2022-08-26 19:43:57 +00:00
Joshua Barretto
df7d2e46c0 Added a uniform to indicate whether rendering is occurring in a reflection 2022-08-25 22:34:50 +01:00
Evil Eye
ac84027b90 Unify soulgems and restore soul text 2022-08-25 21:37:20 +02:00
psi29a
e46be1c220 Merge branch 'rm_get_poly_height_status' into 'master'
Do not check getPolyHeight status (#6964)

Closes #6964

See merge request OpenMW/openmw!2334
2022-08-25 08:55:01 +00:00
psi29a
c260a0d4c2 Merge branch 'string_me_along' into 'master'
Yet another string_view MR

See merge request OpenMW/openmw!2333
2022-08-25 08:53:28 +00:00
elsid
948e2f5db9
Do not use collision shapes with visual only collision to generate navmesh
These collision shapes are not used for actors movement physics simulation.
2022-08-25 00:56:03 +02:00
elsid
ab1ddc690e
Do not check getPolyHeight status
It may fail in some cases depending on a platform without obvious reason.
2022-08-24 23:30:36 +02:00
Evil Eye
4e2e5ad002 Revert format change and ensure string_view args are null-terminated 2022-08-24 23:10:05 +02:00
Evil Eye
1d21330fcc Return string_view from getGameSettingString 2022-08-24 22:16:03 +02:00
jvoisin
e0dbe976bc Merge branch 'qt_signalslot_syntax_update' into 'master'
Migrate to functor-based Qt signal-slot connection syntax

Closes #6948

See merge request OpenMW/openmw!2332
2022-08-24 19:01:35 +00:00
Evil Eye
0cded25033 Remove various string copies 2022-08-24 20:38:52 +02:00
Evil Eye
0df45a90b3 Use string_view in the remaining Class methods and push string_views closer to the MyGUI boundary 2022-08-23 22:14:27 +02:00
mpeco
aa57d04b54 functor-based Qt signal-slot syntax launcher 2022-08-23 17:14:12 -03:00
mpeco
9040209046 functor-based Qt signal-slot syntax construction set: changing visibility of certain slots for connecting on external/derived classes 2022-08-23 17:14:12 -03:00
mpeco
78700eee57 functor-based Qt signal-slot syntax construction set 2022-08-23 17:14:12 -03:00
Mat
405a5c5d25 functor-based Qt signal-slot syntax wizard 2022-08-23 17:14:11 -03:00
Evil Eye
42e59878c5 Use string_view in more animation code 2022-08-23 18:25:25 +02:00
Evil Eye
262b29ed40 Use string_view in modifyBaseInventory 2022-08-23 16:59:03 +02:00
psi29a
1f5277349c Merge branch 'span' into 'master'
Replace Misc::Span by std::span

See merge request OpenMW/openmw!2324
2022-08-22 17:34:51 +00:00
psi29a
9c24d6b390 Merge branch 'ci_starts_with' into 'master'
Replace ciCompareLen with ciStartsWith where possible

See merge request OpenMW/openmw!2325
2022-08-22 17:34:03 +00:00
psi29a
f1e95ad615 Merge branch 'scroll_indices' into 'master'
Properly transform item ID to enchantment ID

Closes #6959

See merge request OpenMW/openmw!2328
2022-08-22 17:18:15 +00:00
Evil Eye
2b9d475e50 Fix #6959 2022-08-22 17:44:49 +02:00
Evil Eye
150d1840d6 Use more string_view and const string& 2022-08-22 16:55:53 +02:00
elsid
5dc612aa54
Replace ciCompareLen with ciStartsWith where possible
`ciCompareLen(a, b, b.size()) == 0` expression is an equivalent of checking for
equality of `a` prefix with size `b.size()` with `b`.

`ciCompareLen(a, b, a.size()) == 0` is also the same thing but `a` is a prefix
`b` should start with.
2022-08-22 09:32:22 +02:00
elsid
e4a254deb7
Replace Misc::Span by std::span 2022-08-21 23:53:27 +02:00
psi29a
bf0865d03d Merge branch 'cherry-pick-0dacbaf31a5e0703c49eead6d6a977a28ec299f3' into 'master'
ActionManager::toggleMainMenu() should close PostProcessor HUD

See merge request OpenMW/openmw!2305
2022-08-21 20:16:36 +00:00
psi29a
36fbef1048 Merge branch 'apple-silicon-arm-build' into 'master'
Get build working on Apple Silicon

See merge request OpenMW/openmw!2286
2022-08-21 20:15:01 +00:00
psi29a
0889635dc7 Merge branch 'cherry-pick-31f0ef45d2bb53e0969962f23eb29350465993dd' into 'master'
Show a message if player attempts to access postprocessor hud when postprocessing is disabled.

See merge request OpenMW/openmw!2306
2022-08-21 20:13:13 +00:00
psi29a
5aa1ab2c62 Merge branch 'clean_includes' into 'master'
Cleanup includes

See merge request OpenMW/openmw!2307
2022-08-21 20:12:41 +00:00
psi29a
2a2268ea8b Merge branch 'optimize_navigator_update' into 'master'
Optimize navigator per frame update

See merge request OpenMW/openmw!2308
2022-08-21 20:12:30 +00:00
psi29a
f36e13444e Merge branch 'font_loading' into 'master'
Cleanup fonts loading

See merge request OpenMW/openmw!2309
2022-08-21 20:11:02 +00:00
psi29a
857dca058b Merge branch 'fix_memory_leak' into 'master'
Fix memory leak on cell loading

See merge request OpenMW/openmw!2318
2022-08-21 20:07:23 +00:00
psi29a
7c899364af Merge branch 'consistently_hostile' into 'master'
Clear the magic queue when unloading actors

Closes #6954

See merge request OpenMW/openmw!2317
2022-08-21 20:05:46 +00:00
psi29a
aa8eba239a Merge branch 'animation_view' into 'master'
Use string_view in animation code

See merge request OpenMW/openmw!2321
2022-08-21 20:05:00 +00:00
psi29a
a99c78c85f Merge branch 'animation_osg_ref_ptr' into 'master'
Avoid using owning raw pointer

See merge request OpenMW/openmw!2322
2022-08-21 20:04:38 +00:00
elsid
1e739ec741
Use std::unique_ptr to manage dialogs lifetime 2022-08-21 21:04:21 +02:00
elsid
838d75a2e2
Avoid using owning raw pointer 2022-08-21 21:00:29 +02:00
elsid
84944a7530
Store RefData::mBaseNode as osg::ref_ptr
Direct leak of 16197408 byte(s) in 56241 object(s) allocated from:
    #0 0x5572356d4d42 in operator new(unsigned long) (/home/elsid/dev/openmw/build/clang/asan/openmw+0xae0d42)
    #1 0x557236938196 in (anonymous namespace)::addObject(MWWorld::Ptr const&, MWWorld::World const&, std::__1::vector<ESM::RefNum, std::__1::allocator<ESM::RefNum> > const&, MWPhysics::PhysicsSystem&, MWRender::RenderingManager&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:119:42
    #2 0x55723692e51b in MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7::operator()(MWWorld::Ptr const&) const /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:913:62
    #3 0x55723692e51b in void (anonymous namespace)::InsertVisitor::insert<MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7>(MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7&&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:230:21
    #4 0x55723692e51b in MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:913:23
    #5 0x55723692d451 in MWWorld::Scene::loadCell(MWWorld::CellStore*, Loading::Listener*, bool, osg::Vec3f const&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:449:9
    #6 0x5572369299f5 in MWWorld::Scene::changeCellGrid(osg::Vec3f const&, int, int, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:612:17
    #7 0x557236928521 in MWWorld::Scene::update(float) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:315:13
    #8 0x5572368d4c98 in MWWorld::World::update(float, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:1833:22
    #9 0x557236ebbb72 in OMW::Engine::frame(float) /home/elsid/dev/openmw/apps/openmw/engine.cpp:418:25
    #10 0x557236ed250a in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:1102:14
    #11 0x557236eb621a in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:228:17
    #12 0x55723774d622 in wrapApplication(int (*)(int, char**), int, char**, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) /home/elsid/dev/openmw/components/debug/debugging.cpp:328:19
    #13 0x557236eb651f in main /home/elsid/dev/openmw/apps/openmw/main.cpp:240:12
    #14 0x7fbf58a3f2cf  (/usr/lib/libc.so.6+0x232cf) (BuildId: e637217a46491314667a7a37b2155cb07afc1a40)

Direct leak of 396288 byte(s) in 1376 object(s) allocated from:
    #0 0x5572356d4d42 in operator new(unsigned long) (/home/elsid/dev/openmw/build/clang/asan/openmw+0xae0d42)
    #1 0x557236938196 in (anonymous namespace)::addObject(MWWorld::Ptr const&, MWWorld::World const&, std::__1::vector<ESM::RefNum, std::__1::allocator<ESM::RefNum> > const&, MWPhysics::PhysicsSystem&, MWRender::RenderingManager&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:119:42
    #2 0x55723692e51b in MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7::operator()(MWWorld::Ptr const&) const /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:913:62
    #3 0x55723692e51b in void (anonymous namespace)::InsertVisitor::insert<MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7>(MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7&&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:230:21
    #4 0x55723692e51b in MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:913:23
    #5 0x55723692d451 in MWWorld::Scene::loadCell(MWWorld::CellStore*, Loading::Listener*, bool, osg::Vec3f const&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:449:9
    #6 0x5572369299f5 in MWWorld::Scene::changeCellGrid(osg::Vec3f const&, int, int, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:612:17
    #7 0x557236936eb2 in MWWorld::Scene::changeToExteriorCell(ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:888:9
    #8 0x55723689a5ac in MWWorld::World::changeToExteriorCell(ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:1003:22
    #9 0x5572368c249d in MWWorld::World::changeToCell(ESM::CellId const&, ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:1014:13
    #10 0x557236e9bbce in MWState::StateManager::loadGame(MWState::Character const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:545:52
    #11 0x557236e998db in MWState::StateManager::loadGame(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:377:17
    #12 0x557236ed18fb in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:1066:24
    #13 0x557236eb621a in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:228:17
    #14 0x55723774d622 in wrapApplication(int (*)(int, char**), int, char**, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) /home/elsid/dev/openmw/components/debug/debugging.cpp:328:19
    #15 0x557236eb651f in main /home/elsid/dev/openmw/apps/openmw/main.cpp:240:12
    #16 0x7fbf58a3f2cf  (/usr/lib/libc.so.6+0x232cf) (BuildId: e637217a46491314667a7a37b2155cb07afc1a40)
2022-08-21 20:58:37 +02:00
unknown
206711876d Address feedback 2022-08-21 19:43:29 +02:00
elsid
3057fa6bee
Remove redundant components/esm/records.hpp include 2022-08-21 19:08:30 +02:00
unknown
827a2f0b77 Use string_view in animation code 2022-08-21 18:53:38 +02:00
Evil Eye
443420ea60 CI compare cells 2022-08-21 14:46:13 +02:00
psi29a
5ed9764f3b Merge branch 'effect_indices' into 'master'
Preserve effect indices when applying AoE and targeted spells

Closes #6957

See merge request OpenMW/openmw!2315
2022-08-21 12:03:43 +00:00
psi29a
8ec8e733a1 Merge branch 'unique_summons' into 'master'
Mark summon effects as applied if they have spawned a creature

Closes #6955

See merge request OpenMW/openmw!2316
2022-08-21 12:02:38 +00:00
Evil Eye
afcbb3cb5e Clear the magic queue when unloading actors 2022-08-21 13:33:21 +02:00
Evil Eye
a547608289 Preserve effect indices when applying AoE and targeted spells 2022-08-21 12:44:07 +02:00
Evil Eye
8b02c17ad4 Mark summon effects as applied if they have spawned a creature 2022-08-21 12:41:45 +02:00
Andrei Kortunov
9e1ab590f1 Cleanup fonts loading 2022-08-21 13:19:04 +04:00
psi29a
4078f19c74 Merge branch 'SHADER_HOT_RELOAD' into 'master'
Shaders: Hot reload, togglable by lua debug command

See merge request OpenMW/openmw!2238
2022-08-21 09:08:27 +00:00
elsid
e1bed86d7e
Do single navigator update per frame
Primarily for crossing cell border case. Each Navigator::update call has a cost.
Doing it multiple times per frame increased frame duration on cell loading.

Call Navigator::wait only when cell has changed but do not use
Scene::hasCellChanged because it doesn't always indicates it.
2022-08-20 19:15:55 +02:00
AnyOldName3
17c1053777 Validate near and far clip distances 2022-08-20 16:14:22 +01:00
Mads Buvik Sandvei
5863790c74 Show a message if player attempts to access postprocessor hud when postprocessing is disabled 2022-08-20 16:33:33 +02:00
Mads Buvik Sandvei
642d0ad631 ActionManager::toggleMainMenu() should close PostProcessor HUD. 2022-08-20 16:32:48 +02:00
elsid
226f12528b
Remove redundant .cpp file 2022-08-19 22:06:59 +02:00
elsid
2a79a8074a
Use forward declarations 2022-08-19 22:05:15 +02:00
elsid
73f885db0e
Cleanup includes 2022-08-19 22:05:15 +02:00
elsid
b3882777ab
Cleanup opencs includes 2022-08-19 19:25:03 +02:00
elsid
bf1f4f2117
Mark private template functions defined in cpp as inline 2022-08-19 19:17:21 +02:00
psi29a
ab2931223e Merge branch 'cleanup_openmw_includes_2' into 'master'
Cleanup openmw class and mechanics includes

See merge request OpenMW/openmw!2301
2022-08-19 14:53:00 +00:00
Kindi
da4a72ab19 Sun Damage for QuasiExt 2022-08-19 14:51:52 +00:00
elsid
a66c095ec3
Cleanup openmw class and mechanics includes 2022-08-19 15:46:39 +02:00
psi29a
9761ff14f9 Merge branch 'cleanup_openmw_lua_includes' into 'master'
Cleanup openmw lua includes

See merge request OpenMW/openmw!2293
2022-08-19 13:34:07 +00:00
psi29a
7bb1856b74 Merge branch 'font_fixes' into 'master'
Font fixes

See merge request OpenMW/openmw!2297
2022-08-18 12:53:37 +00:00
Andrei Kortunov
2cd2b42e33 Improve handling of larger font size 2022-08-18 13:29:12 +04:00
Andrei Kortunov
c3d3f3140b Allow to change font settings in the launcher 2022-08-18 13:29:12 +04:00
Alexei Kotov
d458894868 Make getWeaponDrawn return 1 only when the weapon is attached (bug #4816) 2022-08-18 05:04:51 +03:00
elsid
552301c8fb
Cleanup openmw lua includes 2022-08-17 23:47:30 +02:00
psi29a
92f3b4ba82 Merge branch 'windows_save' into 'master'
[Postprocessing] Mitigate clashes with live reload and external saves on windows

See merge request OpenMW/openmw!2237
2022-08-17 21:19:14 +00:00
psi29a
1e4dd46688 Merge branch 'fontconfig' into 'master'
Allow users to decide if they need to import bitmap fonts

See merge request OpenMW/openmw!2270
2022-08-17 21:16:31 +00:00
psi29a
bf40f9b287 Merge branch 'name_view' into 'master'
Make Class::getName return string_view

See merge request OpenMW/openmw!2289
2022-08-17 20:14:27 +00:00
psi29a
4f6c97fa10 Merge branch 'cleanup_openmw_includes' into 'master'
Cleanup openmw render, physics, world, dialogue, gui, input includes

See merge request OpenMW/openmw!2291
2022-08-17 20:08:43 +00:00
Andrei Kortunov
43f552f48f Allow users to decide if they need to import bitmap fonts 2022-08-17 22:12:15 +04:00
Alexei Kotov
aee8150d65 Autoresize table subview columns (bug #6939)
Use the contents of the first 500 records, clamp the width to [100, 300]
2022-08-17 19:58:39 +03:00
elsid
5498c169e3
Cleanup openmw render, physics, world, dialogue, gui, input includes 2022-08-17 18:45:52 +02:00
Andrew Dunn
a61237f265 Cleaned up macOS FFmpeg framework linking
I'm not sure why but CoreMedia, VideoToolbox, and AudioToolbox aren't
being found by find_library, so I've converted framework imports to a
standard link option. I really don't think this will be an issue given
that this change will only ever apply to Apple platforms.
2022-08-18 00:22:46 +10:00
psi29a
5b9acd0bb9 Merge branch 'esmstore-fixes' into 'master'
Some ESMStore fixes

See merge request OpenMW/openmw!2279
2022-08-17 14:10:54 +00:00
Andrew Dunn
808a2e587a Merge commit '5ee4ce1232b0f334f29dd702f811c58dccf5c00d' into apple-silicon-arm-build 2022-08-17 23:45:51 +10:00
psi29a
6346ffca72 Merge branch 'cleanup_components_includes' into 'master'
Cleanup components includes

See merge request OpenMW/openmw!2287
2022-08-17 07:50:02 +00:00
Evil Eye
4ff12d8945 Make Class::getName return string_view 2022-08-16 21:15:03 +02:00
elsid
274afbc7a0
Add missing include 2022-08-16 20:06:25 +02:00
elsid
cc8c7002ea
Cleanup components includes 2022-08-16 19:14:04 +02:00
Andrew Dunn
1d7d3d5765 Get build working on Apple Silicon
Will validate issues with Intel OSX later
2022-08-17 02:18:48 +10:00
psi29a
b382e92953 Merge branch 'please_dont_copy_my_nfts' into 'master'
Prevent various values from being copied

See merge request OpenMW/openmw!2267
2022-08-16 08:36:34 +00:00
psi29a
1f25f430d6 Merge branch 'swimhack' into 'master'
Remove 0.43.0 death animation backward compatibility hack (#5977)

Closes #5977

See merge request OpenMW/openmw!2274
2022-08-16 07:40:13 +00:00
psi29a
1d270e1683 Merge branch 'levelincrease' into 'master'
Update both instances of level detail text

See merge request OpenMW/openmw!2282
2022-08-16 07:17:04 +00:00
psi29a
823b8ebc22 Merge branch 'cleanup_detournavigator_includes' into 'master'
Cleanup detournavigator includes

See merge request OpenMW/openmw!2281
2022-08-16 07:16:01 +00:00
Alexei Kotov
a4427235df Update both instances of level detail text 2022-08-16 01:43:28 +03:00
Alexei Kotov
1ce162a95c Correct follow animation attack strength dependence 2022-08-15 22:08:59 +03:00
elsid
b1fb42a28c
Cleanup detournavigator includes 2022-08-15 19:46:10 +02:00
ζeh Matt
cdcf1393fc
Fix increment of dynamic id when player is inserted 2022-08-15 17:06:01 +03:00
ζeh Matt
6abb96250f
Fix using the wrong id for insertStatic 2022-08-15 17:04:37 +03:00
psi29a
6756f4397e Merge branch 'aidisplay' into 'master'
Fix display for some package settings

See merge request OpenMW/openmw!2271
2022-08-15 12:32:30 +00:00
Alexei Kotov
c857346f7b Remove 0.43.0 death animation backward compatibility hack (#5977) 2022-08-15 14:58:01 +03:00
psi29a
be947bfcf6 Merge branch 'hackercenturions' into 'master'
Override non-biped follow animation by movement

See merge request OpenMW/openmw!2276
2022-08-15 07:58:28 +00:00
Alexei Kotov
6b07acbbae Override non-biped follow animation by movement 2022-08-15 04:14:57 +03:00
Alexei Kotov
ff5a042f5b Remove cooldown for ranged back up (bug #5129) 2022-08-15 03:51:16 +03:00
Alexei Kotov
e537f2b6f3 Fix display for some package settings 2022-08-14 19:51:43 +03:00
Evil Eye
eaa108d25d Return string_view from SoundId methods 2022-08-14 14:39:58 +02:00
Evil Eye
4e9335f10a Fix include 2022-08-13 11:15:12 +02:00
Alexei Kotov
7f3d2c18e1 Evaluate melee hits on weapon release (bug #5057) 2022-08-13 01:15:42 +03:00
Alexei Kotov
6c05192afa Fix swish sound volume and pitch (bug #5057) 2022-08-13 01:15:41 +03:00
Evil Eye
2deec591cd Use heterogenous maps for scripts 2022-08-12 20:56:50 +02:00
Evil Eye
51938f9ef7 Use string_view in Interpreter::Context 2022-08-12 19:42:35 +02:00
Evil Eye
4eb6c48285 Avoid copying in InputManager 2022-08-12 18:42:12 +02:00
florent.teppe
decfbc5387 Fix threading issues 2022-08-12 18:37:19 +02:00
psi29a
8e7ddc7c0d Merge branch 'attackattackattack' into 'master'
Character controller, round 8: rewrite attack animation logic (bug #4127)

Closes #4127

See merge request OpenMW/openmw!2263
2022-08-12 15:17:51 +00:00
Evil Eye
685906afdf Make getScript return string_view 2022-08-11 22:51:55 +02:00
Alexei Kotov
3e34d5e9f2 Rewrite attack animation logic (bug #4127) 2022-08-11 15:55:26 +03:00
psi29a
18dbf722eb Merge branch 'store_view' into 'master'
Allow string_view lookups in MWWorld::Store

See merge request OpenMW/openmw!2010
2022-08-10 22:29:18 +00:00
elsid
bd91ced754
Move weapon types definition to .cpp file
Use template and switch instead of std::map to make sure all types are handled
and there is no lookup for a default value.
2022-08-10 20:41:04 +02:00
Alexei Kotov
bd7ddada7b Cancel stagger when random attack animations end 2022-08-10 12:59:41 +03:00
Alexei Kotov
af12736baf Cancel stagger and attack animations simultaneously 2022-08-10 12:53:32 +03:00
psi29a
10ee0e6e1b Merge branch 'sheerheartattackhasnoweaknesses' into 'master'
Animation regression fixes

See merge request OpenMW/openmw!2255
2022-08-10 07:55:01 +00:00
psi29a
b551e69b6f #5534 remove OSG 3.4 support and require at least 3.6.5 support 2022-08-09 21:07:28 +00:00
Alexei Kotov
083fda357b Fix creature attack swish pitch and invisibility break 2022-08-09 23:03:53 +03:00
Evil Eye
de51525c76 Allow string_view lookups in MWWorld::Store and get some use out of that 2022-08-09 20:43:14 +02:00
psi29a
bb9884c024 Merge branch 'split_stringops' into 'master'
Split components/misc/stringops.hpp into multiple headers

See merge request OpenMW/openmw!2233
2022-08-09 18:06:40 +00:00
Alexei Kotov
c4881c8613 Move weapon equip sound logic to weapon equip animation logic 2022-08-09 15:46:24 +03:00
Alexei Kotov
9f39f6d48e Streamline attack body pitching 2022-08-09 14:53:02 +03:00
Alexei Kotov
2b167317da Clean up updateWeaponState inventory block 2022-08-09 14:34:49 +03:00
Alexei Kotov
1b3baa812a Streamline hit/follow animation key construction 2022-08-09 14:34:49 +03:00
Alexei Kotov
2e112847be Further updateWeaponState cleanup 2022-08-09 14:10:46 +03:00
Alexei Kotov
ea78e904a9 Merge inventory blocks in updateWeaponState 2022-08-09 14:00:16 +03:00
florent teppe
baadc06e98 Merge branch 'master' into 'SHADER_HOT_RELOAD'
# Conflicts:
#   apps/openmw/mwrender/postprocessor.hpp
2022-08-09 09:26:55 +00:00
Alexei Kotov
ad62f5cda3 Move werewolf/ranged weapon swish logic to playSwishSound 2022-08-08 22:22:34 +03:00
Alexei Kotov
09141388ad Detangle attack start, knockdown attack cancel and on-going wind-up logic 2022-08-08 22:22:34 +03:00
Alexei Kotov
8f280c521c Play pick/probe animation in attack start animation logic 2022-08-08 22:22:32 +03:00
Alexei Kotov
a4b5bfc051 Don't cancel the attack prematurely after running out of ammo 2022-08-08 22:19:51 +03:00
Alexei Kotov
d280a29b18 Re-enable lower body crossbow animation playback 2022-08-08 20:45:29 +03:00
Alexei Kotov
ac892f2bfd Clean up updateWeaponState() 2022-08-08 20:45:29 +03:00
Alexei Kotov
e5ef9f1464 Improve upper body character state naming 2022-08-08 19:46:46 +03:00
psi29a
69654b6697 Merge branch 'revert_active' into 'master'
Revert traversal mode to default

See merge request OpenMW/openmw!2249
2022-08-07 16:23:19 +00:00
psi29a
6ee20835fc Merge branch 'main_pp' into 'master'
[Postprocessing] Remove default shader and simplify pipeline

Closes #6920

See merge request OpenMW/openmw!2248
2022-08-07 14:50:08 +00:00
cody glassman
ac4b29be08 cleanup default shaders and remove confusing main shader 2022-08-07 06:42:48 -07:00
psi29a
e75d3285cf Merge branch 'paged_refs_vector' into 'master'
Use std::vector to store paged ref nums

See merge request OpenMW/openmw!2245
2022-08-07 13:35:54 +00:00
florent.teppe
df69fc7659 Post processing shaders now use the same lua commands, no more launcher option to enable live reload 2022-08-07 00:19:19 +02:00
cody glassman
c770c462e4 revert traversal nodes, discovered to break some NIFs with UV controllers 2022-08-06 11:39:23 -07:00
Alexei Kotov
0fd817150e Merge branch 'ordinator_farming_restored' into 'master'
Save state for disposed actors if they can respawn

Closes #6923

See merge request OpenMW/openmw!2232
2022-08-06 11:03:06 +00:00
Alexei Kotov
263a955290 Merge branch 'coverity' into 'master'
Avoid possible null dereference

See merge request OpenMW/openmw!2243
2022-08-06 10:53:38 +00:00
Andrei Kortunov
7dd668bf12 Allow mouse scrolling in the race preview widget (feature 6925) 2022-08-06 11:25:27 +04:00
elsid
dffb12ac05
Use std::vector to store paged ref nums 2022-08-06 02:11:58 +02:00
Andrei Kortunov
8812705838 Avoid possible null dereference - throw an exception instead 2022-08-05 20:26:27 +04:00
Alexei Kotov
86a4d530c4 Merge branch 'luaprofiler' into 'master'
Implementing profiler stats for LuaManager::synchronizedUpdate

See merge request OpenMW/openmw!2215
2022-08-05 16:19:57 +00:00
Christian Haro
19a08d19d6 Implementing profiler stats for LuaManager::synchronizedUpdate 2022-08-05 16:19:57 +00:00
psi29a
00f8c9760a Merge branch 'fixed_string_tests' into 'master'
Replace deprecated std::is_pod

See merge request OpenMW/openmw!2239
2022-08-04 09:55:51 +00:00
psi29a
b55a511ad8 Merge branch 'idlechance' into 'master'
Fix Wander random idle chance

See merge request OpenMW/openmw!2242
2022-08-04 09:55:05 +00:00
psi29a
9c4ca98421 Merge branch 'sheathing' into 'master'
Avoid cosmetic view-mode dependent issues in shield sheathing

Closes #6845

See merge request OpenMW/openmw!2241
2022-08-04 09:54:43 +00:00
Alexei Kotov
19dc4cda9b Avoid cosmetic view-mode dependent issues in shield sheathing 2022-08-04 05:33:54 +03:00
elsid
8e4f6fc4e4
Use FetchContent to get googletest 2022-08-04 01:12:11 +02:00
glassmancody.info
0f9a7594bb wait a brief moment before reading a file marked as modified 2022-08-03 15:48:58 -07:00
florent.teppe
fc8838c7dd Renamed lua binding, and use action to avoid concurrency issue 2022-08-03 23:05:35 +02:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
elsid
da0a1ac9ba
Do compile time checks in compile time instead of tests 2022-08-03 21:47:00 +02:00
elsid
c42c0dcbc9
Replace deprecated std::is_pod
apps/openmw_test_suite/esm/test_fixed_string.cpp:99:23: warning: ‘template<class _Tp> struct std::is_pod’ is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations]
   99 |      ASSERT_TRUE(std::is_pod<ESM::NAME>::value);
      |                       ^~~~~~
2022-08-03 21:47:00 +02:00
florent.teppe
6b38d62223 Added lua bindings to toggle hot reload (disabled by default) or to trigger a reload 2022-08-03 19:56:19 +02:00
florent.teppe
8d194a1601 Shaders: rudimentary hot reloader on shaders
every frame we poll the files and check if they are older or newer than the last test, if they are newer we find all the shader that included that file and update them
2022-08-03 19:12:45 +02:00
glassmancody.info
5d6a26c10f dont ignore tested objects in postpass 2022-08-03 07:55:56 -07:00
elsid
228a0dc723
Avoid redundant lowerCase call 2022-08-03 00:19:16 +02:00
elsid
ba69146ced
Use std::string_view to avoid redundant std::string construction 2022-08-03 00:18:55 +02:00
Evil Eye
1248bdc816 Save state for disposed actors if they can respawn 2022-08-02 19:33:27 +02:00
psi29a
caf971b979 Merge branch 'invis' into 'master'
Restore invisibility early-out in combat engagement

See merge request OpenMW/openmw!2229
2022-08-02 13:26:27 +00:00
Alexei Kotov
b4f743ad60 Fix Wander idle chance 2022-08-02 15:55:29 +03:00
Alexei Kotov
acfff6b25e Restore invisibility early-out in combat engagement 2022-08-01 15:11:18 +03:00
psi29a
454684bad3 Merge branch 'custom_actor_collision_shape_type' into 'master'
Support cylinder and rotating box collision shape types for actors (#6138)

Closes #6138

See merge request OpenMW/openmw!2043
2022-08-01 11:00:23 +00:00
Alexei Kotov
aa5fcc6649 Don't center spell and enchanted item effect lists (bug #4310) 2022-08-01 11:12:06 +03:00
psi29a
861f1d5303 Merge branch 'pleaseshutupyoustupiddoor' into 'master'
Don't stop playing sounds attached to removed objects (bug #6896)

Closes #6896

See merge request OpenMW/openmw!2221
2022-08-01 08:05:27 +00:00
psi29a
77f4ea7d7c Merge branch 'titleofthemovie' into 'master'
Prevent Movies_Morrowind_Logo video from pausing sounds (bugs #6049, #6109)

Closes #6109 and #6049

See merge request OpenMW/openmw!2223
2022-08-01 08:00:01 +00:00
psi29a
6f9c3c111e Merge branch 'inertia' into 'master'
Discard momentum upon player's teleportation (bug #6545)

Closes #6545

See merge request OpenMW/openmw!2226
2022-08-01 07:48:26 +00:00
psi29a
881a784bcf Merge branch 'transparent_fix' into 'master'
[Postprocessing] Force enable depth writes in transparent post-pass

See merge request OpenMW/openmw!2214
2022-08-01 06:24:46 +00:00
Alexei Kotov
bccdefd63f Discard momentum upon teleportation (bug #6545) 2022-08-01 07:59:14 +03:00
Alexei Kotov
2126cedb7d Prevent Movies_Morrowind_Logo video from pausing sounds (bug #6049)
Fix custom decoder tracks update (bug #6109)
2022-08-01 05:55:09 +03:00
Alexei Kotov
f9d41fcfe8 Don't stop playing sounds attached to removed objects (bug #6896) 2022-08-01 04:03:00 +03:00
Petr Mikheev
9a4df75f3c Merge branch 'luaIngredient' into 'master'
Lua Bindings for Ingredient Records

See merge request OpenMW/openmw!2205
2022-07-31 20:31:29 +00:00
Christian Haro
86bb3195a0 Lua Bindings for Ingredient Records 2022-07-31 20:31:29 +00:00
psi29a
9ba3ab2be9 Merge branch 'post_fog' into 'master'
[Postprocessing]  API to work with fog

See merge request OpenMW/openmw!2212
2022-07-31 17:33:08 +00:00
psi29a
1029114172 Merge branch 'water_level' into 'master'
[Postprocessing] Improve water level handling

See merge request OpenMW/openmw!2217
2022-07-31 17:32:45 +00:00
psi29a
42db39e281 Merge branch 'esscamera' into 'master'
essimporter: Recover player's pitch from PCDT (bug #6818)

Closes #6818

See merge request OpenMW/openmw!2210
2022-07-31 17:31:11 +00:00
Alexei Kotov
0b1e6a2b59 Fix pipeline errors 2022-07-31 14:43:57 +03:00
psi29a
a41c9240d9 Merge branch 'wallflower_breakdancing' into 'master'
Break invisibility before applying CE enchantments

Closes #6913

See merge request OpenMW/openmw!2218
2022-07-31 09:49:14 +00:00
psi29a
e3f04794e3 Merge branch 'spellcasting' into 'master'
Fix spellcasting state getting stuck due to premature attack attempts

Closes #6917

See merge request OpenMW/openmw!2216
2022-07-31 08:14:31 +00:00
psi29a
7236135631 Merge branch 'esscellrefs' into 'master'
essimporter: fix doubled actors

See merge request OpenMW/openmw!2213
2022-07-31 08:12:22 +00:00
psi29a
015a5c6b93 Merge branch 'essskills' into 'master'
essimporter: fix doubled stats

See merge request OpenMW/openmw!2211
2022-07-31 08:11:58 +00:00
Evil Eye
6196e777da Break invisibility before applying CE enchantments 2022-07-31 09:48:01 +02:00
Andrei Kortunov
5bfca57835 Add a way to check if water is enabled in post processing shaders 2022-07-31 10:33:18 +04:00
Alexei Kotov
7a6e984e90 Fix spellcasting state getting stuck due to premature attack attempts 2022-07-31 09:05:35 +03:00
glassmancody.info
066185fbcf override depth write flag from object paging in transparent post-pass 2022-07-30 14:37:49 -07:00
Andrei Kortunov
888f4d2ac1 Add a post processing API to work with fog 2022-07-30 21:44:18 +04:00
Alexei Kotov
9f49682d01 essimporter: refactor ESSImport::CellRef and fix doubled actors 2022-07-30 19:30:32 +03:00
Alexei Kotov
c7676a9de6 essimporter: fix doubled stats 2022-07-30 16:48:14 +03:00
Alexei Kotov
8f9b2becde essimporter: Recover player pitch from PCDT (bug #6818) 2022-07-30 15:46:14 +03:00
elsid
8b8e4f78b6
Support cylinder and rotating box collision shape types for actors
Cylinder collision shape should give the best consistency between physics
simulation and pathfinding. Rotating box is already used by some actors, so
add it to have the same collision shape type for all actors.
2022-07-30 14:28:21 +02:00
psi29a
a62b16df5d Merge branch 'delevelled' into 'master'
Editor: Decouple levelled list table columns (bug #6705)

Closes #6705

See merge request OpenMW/openmw!2209
2022-07-30 12:17:07 +00:00
psi29a
79cdc08253 Merge branch 'clean_despawn' into 'master'
Remove effects added by unloading cells

Closes #6914

See merge request OpenMW/openmw!2208
2022-07-30 10:09:36 +00:00
Alexei Kotov
0d18f76271 Editor: Decouple levelled list columns (bug #6705) 2022-07-30 12:48:29 +03:00
Evil Eye
9fc5ced9c9 Remove effects added by unloading cells 2022-07-30 10:59:27 +02:00
psi29a
f2a2880998 Merge branch 'empty_scripts_revival' into 'master'
Bring back empty script message

See merge request OpenMW/openmw!2207
2022-07-30 08:07:24 +00:00
Cody Glassman
89e0de2314 Bring back empty script message 2022-07-30 08:07:24 +00:00
psi29a
5cd4dbd9a9 Merge branch 'unrestrictedfailure' into 'master'
Spellcasting timing fixes (bug #4227)

Closes #4227

See merge request OpenMW/openmw!2201
2022-07-30 07:35:46 +00:00
psi29a
7361a1c6fd Merge branch 'awareness' into 'master'
Fix invisibility handling in awareness checks

See merge request OpenMW/openmw!2203
2022-07-30 06:41:07 +00:00
psi29a
7abcb9b0a7 Merge branch 'positioncell' into 'master'
Snap down any actor teleported with Position/PositionCell (bug #6154)

Closes #6154

See merge request OpenMW/openmw!2204
2022-07-30 06:40:38 +00:00
Alexei Kotov
1e7cbb88d2 Merge branch 'fix_initial_player_landing' into 'master'
Trace down player on initial cell loading after all cells are loaded (#6907)

Closes #6907

See merge request OpenMW/openmw!2206
2022-07-29 23:45:10 +00:00
elsid
37b0ff596c
Trace down player on initial cell loading after all cells are loaded 2022-07-29 23:16:25 +02:00
Alexei Kotov
fede5c7c02 Fix invisibility handling in awareness checks 2022-07-29 18:54:14 +03:00
Alexei Kotov
435ddcfb6b Snap down any actor teleported with Position/PositionCell (bug #6154) 2022-07-29 18:51:49 +03:00
Alexei Kotov
8005d3ca25 Rename updateState back into updateWeaponState 2022-07-29 17:22:51 +03:00
Alexei Kotov
a914d7a9b0 Spellcasting timing fixes (bug #4227)
Play spellcasting animation and VFX (but not hand VFX) if spellcasting failed due to insufficient magicka
Apply spellcasting fatigue loss when the spellcasting starts instead of when the spell is applied
2022-07-29 16:24:28 +03:00
psi29a
4f9bcfd3f5 Merge branch 'issue_6888' into 'master'
Implement Add switch for armor degradation fix. #6888

See merge request OpenMW/openmw!2184
2022-07-29 13:24:16 +00:00
Ivan Beloborodov
f960e30d01 Implement Add switch for armor degradation fix. #6888 2022-07-29 13:24:16 +00:00
Alexei Kotov
93eb470024 Break invisibility after stopping preparing the attack (bug #5976) 2022-07-29 14:01:55 +03:00
psi29a
461fdcd11b Merge branch 'mybodyisready' into 'master'
Delay any quick key use while the player isn't ready (bug #6054)

Closes #6054

See merge request OpenMW/openmw!2198
2022-07-29 09:47:08 +00:00
psi29a
4ecfc0e9ac Merge branch 'torchwood' into 'master'
Don't extinguish held light sources when they're hidden (bug #6910)

Closes #6910

See merge request OpenMW/openmw!2194
2022-07-29 09:40:48 +00:00
psi29a
48c26117da Merge branch 'stagger' into 'master'
Cancel stagger after weapon release animations (bug #6869)

Closes #6869

See merge request OpenMW/openmw!2192
2022-07-29 09:40:22 +00:00
psi29a
3db753a30c Merge branch 'invisibility' into 'master'
Don't headtrack or greet magically hidden actors (bug #5978)

Closes #5978

See merge request OpenMW/openmw!2196
2022-07-29 09:38:54 +00:00
Alexei Kotov
55f34f4f0d Delay any quick key use while the player isn't ready (bug #6054) 2022-07-29 11:29:41 +03:00
Alexei Kotov
88bd3d559a Don't headtrack or greet magically hidden actors (bug #5978) 2022-07-29 10:47:50 +03:00
Alexei Kotov
94dfcdd062 Don't extinguish held light sources when they're hidden (bug #6910) 2022-07-29 10:16:29 +03:00
Alexei Kotov
16e373f30e Make enchanted item casting use accurate aiming for 1 frame (bug #6909) 2022-07-28 19:10:53 +03:00
Alexei Kotov
a2c5161ac4 Cancel stagger animation when an attack ends (bug #6869) 2022-07-28 18:42:38 +03:00
psi29a
c54822acf9 Merge branch 'locale_menu' into 'master'
Add a way to configure locale settings in-game

See merge request OpenMW/openmw!2179
2022-07-28 07:23:55 +00:00
Andrei Kortunov
351ce94f56 Make ComboBox usage consistent 2022-07-27 13:03:34 +04:00
Andrei Kortunov
4ac3c347ad Add a None item for cases when there is no secondary localization 2022-07-27 13:03:34 +04:00
Andrei Kortunov
cf90581995 Set ComboBox value prior to interactive MessageBox 2022-07-27 13:03:34 +04:00
Andrei Kortunov
cb64f49ba1 Allow to configure locales via settings menu 2022-07-27 13:03:34 +04:00
Andrei Kortunov
8ff64ca176 Add a default way to store arrays in the settings.cfg 2022-07-27 13:03:34 +04:00
psi29a
f315afbcce Merge branch 'character_string_view' into 'master'
Use string_view in the CharacterController

See merge request OpenMW/openmw!2189
2022-07-27 08:37:02 +00:00
psi29a
59f1bcc966 Merge branch 'quickerkeys' into 'master'
Allow activating quick keys menu in menus (bug #6898)

Closes #6898

See merge request OpenMW/openmw!2178
2022-07-27 08:36:10 +00:00
Evil Eye
55134d1e31 Use string_view in the CharacterController 2022-07-26 17:23:00 +02:00
psi29a
26bd907b0b Merge branch 'hdr_quick' into 'master'
Fix auto exposure

See merge request OpenMW/openmw!2174
2022-07-26 15:13:22 +00:00
Alexei Kotov
45a94bdf32 Merge branch 'no_hugs' into 'master'
Don't allow non-bipedal actors to use non-weapon animations while moving

Closes #6868

See merge request OpenMW/openmw!2153
2022-07-26 14:48:54 +00:00
psi29a
d43e85051f Merge branch 'walkwhenyoucantride' into 'master'
Revert MR 2048

See merge request OpenMW/openmw!2175
2022-07-26 14:19:32 +00:00
psi29a
17a0063a7c Merge branch 'async_delete_animation' into 'master'
Destruct animation asynchronously when unloading a cell

See merge request OpenMW/openmw!2177
2022-07-26 13:42:43 +00:00
psi29a
bbcf7809f0 Merge branch 'gui_cleanup' into 'master'
GUI cleanup

See merge request OpenMW/openmw!2169
2022-07-26 13:39:33 +00:00
psi29a
843728aadb Merge branch 'breakingcharacter' into 'master'
Make the character controller less miserable, round 5: landing animation

See merge request OpenMW/openmw!2176
2022-07-26 07:44:42 +00:00
Alexei Kotov
f99bcd7ccf Fix local map viewing distance lower bound 2022-07-26 00:00:42 +03:00
Alexei Kotov
ae4df2e038 Only close quick keys-related modals when the menu is closed 2022-07-25 18:55:23 +03:00
Alexei Kotov
80a2ef29ad Allow activating quick keys menu in menus 2022-07-25 18:55:21 +03:00
psi29a
e2b245d3b7 Merge branch 'issue_6901' into 'master'
Fix Morrowind.exe soul gem usage discrepancy #6901

See merge request OpenMW/openmw!2181
2022-07-25 09:39:42 +00:00
psi29a
4e1b5f9761 Merge branch 'sky_fix' into 'master'
Fix sky blending when sky is toggled

See merge request OpenMW/openmw!2185
2022-07-25 08:52:30 +00:00
glassmancody.info
299735ba4d fix sky rtt traversing sky when sky disabled 2022-07-24 19:35:37 -07:00
myrix
782cb7699d use std::string, no unlocalized message, show soul gem id 2022-07-25 02:56:25 +03:00
myrix
3698d96b46 use ciCompareLen, move checks to Miscellaneous::use and ActionSoulgem 2022-07-25 01:47:10 +03:00
myrix
8817f802cb message when using empty soul gems, using preferentially filled ones with equip command 2022-07-24 23:02:26 +03:00
elsid
0614b82452
Restore UnrefQueue to destruct animation asynchronously 2022-07-24 21:08:43 +02:00
elsid
1e7989c5e5
Remove animation objects from scene outside destructor 2022-07-24 21:08:27 +02:00
unknown
95a074b8aa Shorten diff 2022-07-24 20:43:05 +02:00
Alexei Kotov
578b58ca14 Properly handle negative count RemoveItem (bug #6895) 2022-07-24 20:15:44 +03:00
Alexei Kotov
510d1d76d7 Fix applying of falling damage 2022-07-24 19:08:54 +03:00
elsid
34fd8abf5f
Move Animation::getPtr definitions to header 2022-07-24 17:29:27 +02:00
elsid
1168895bf3
Remove redundant reset calls from destructor 2022-07-24 17:29:27 +02:00
Alexei Kotov
819101144d Landing animation playback fixes
Cancel landing animation immediately after moving during the first frame of landing and due to turning animation
2022-07-24 17:24:17 +03:00
Alexei Kotov
bbb8a5e1cb Revert MR 2048 2022-07-24 00:31:57 +03:00
glassmancody.info
fd4966f77a temporary fix for auto exposure 2022-07-22 20:41:08 -07:00
psi29a
ad687c380a Merge branch 'nif' into 'master'
Move NIF implementation to cpp files

Closes #6518

See merge request OpenMW/openmw!2170
2022-07-21 16:09:33 +00:00
Andrei Kortunov
c36c28e8f9 Move NIF implementation to cpp files 2022-07-21 15:54:52 +04:00
Petr Mikheev
643e33c11a Merge branch 'lua_pathfinding_bindings' into 'master'
Add bindings for navigator utils functions (#6690)

See merge request OpenMW/openmw!2128
2022-07-20 23:52:16 +00:00
elsid
27cc901e76
Add bindings for navigator utils functions 2022-07-21 00:04:26 +02:00
elsid
a281bcaf90
Remove redundant Platform::initialize function 2022-07-20 22:49:44 +02:00
Andrei Kortunov
de58c9dff3 Get rid of obsolete osg::Geode where it is possible 2022-07-20 15:28:56 +04:00
psi29a
3b75ae7ff1 Merge branch 'terrain-include-cleanup' into 'master'
Cleanup includes in Terrain component

See merge request OpenMW/openmw!2157
2022-07-19 14:42:43 +00:00
psi29a
8da463926e Merge branch 'warnfix' into 'master'
Follow-up for MR 2112

See merge request OpenMW/openmw!2162
2022-07-18 20:57:56 +00:00
Andrei Kortunov
4e7fe5a8bd Set VFS only once 2022-07-18 23:37:41 +04:00
elsid
c197896765
Use unique_ptr for Wizard::InstallationPage members 2022-07-18 20:29:37 +02:00
psi29a
40cab76de5 Merge branch 'fonts' into 'master'
Enhance a way to setup fonts and layout files

See merge request OpenMW/openmw!2112
2022-07-18 17:36:31 +00:00
ζeh Matt
ddf43ec42f
Move structs into separate headers, cleanup includes, cleanup forwarders 2022-07-18 19:15:03 +03:00
Andrei Kortunov
845a812ebf Drop fonts export - users are supposed to use TrueType fonts or mods with legacy format 2022-07-18 10:40:03 +04:00
Andrei Kortunov
5bc5c1bb0c Use our fonts as a fallback 2022-07-18 09:57:20 +04:00
psi29a
79cc55b2a3 Merge branch 'rename-drawstate' into 'master'
Rename DrawState_ to DrawState and use enum class

See merge request OpenMW/openmw!2151
2022-07-17 20:24:50 +00:00
Evil Eye
4e65829cec Don't allow non-bipedal actors to use non-weapon animations while moving 2022-07-17 21:47:50 +02:00
Andrei Kortunov
c47a48e25d Inject layout files to VFS 2022-07-17 22:01:48 +04:00
Andrei Kortunov
2630bc21dd Allow to override MyGUI layout 2022-07-17 22:01:48 +04:00
Andrei Kortunov
4ddba5142e Introduce font mappings 2022-07-17 22:01:48 +04:00
Andrei Kortunov
dd04bfccfb Load fonts 2022-07-17 22:01:48 +04:00
Evil Eye
3967509cdd Use meaningful names instead of pretending we don't know what snow is 2022-07-17 19:54:59 +02:00
ζeh Matt
841fd9618f
Rename DrawState_ to DrawState and use enum class 2022-07-17 20:50:26 +03:00
elsid
c040da36de
Use std::unique_ptr to manage lifetime for InputManager members 2022-07-17 14:13:21 +02:00
elsid
6c8ed4d19c
Move Files::IStreamPtr alias to a separate header
To avoid transitive include of Windows.h all over the engine.
2022-07-17 11:35:39 +02:00
psi29a
06db2446b1 Merge branch 'cleanup_aistate' into 'master'
Cleanup MWMechanics::AiState

See merge request OpenMW/openmw!2141
2022-07-17 09:13:04 +00:00
psi29a
2a967725d4 Merge branch 'aisetting' into 'master'
Move AiSetting out of MWMechanics::CreatureStats

See merge request OpenMW/openmw!2140
2022-07-17 09:11:03 +00:00
elsid
b8937a493a
Avoid manual memory management for MWMechanics::DerivedClassStorage 2022-07-16 17:13:16 +02:00
elsid
d2b7253c7f
Use forward declarations instead of including aistate.hpp 2022-07-16 17:13:16 +02:00
elsid
f5c2e09df9
Move AiTemporaryBase to a separate header 2022-07-16 17:13:16 +02:00
elsid
e11fbc10b1
Remove unused member functions from MWMechanics::DerivedClassStorage 2022-07-16 17:13:16 +02:00
elsid
49f8445f87
Move AiSetting out of MWMechanics::CreatureStats
To replace creaturestats.hpp include in mwworld/class.hpp with forward
declaration reducing total size of preprocessed code.
2022-07-16 16:43:33 +02:00
elsid
9398e97600
Avoid manual memory management for VFS archives 2022-07-16 15:30:14 +02:00
Evil Eye
1a5a526b15 Remove unecessary casts and prevent nullptr dereference in getWalkSpeed 2022-07-13 21:17:11 +02:00
Evil Eye
ed921ad377 Fix modstat for negative numbers 2022-07-12 19:59:18 +02:00
elsid
22ed6d5c1e
Use unsigned to define number of threads 2022-07-12 15:19:52 +02:00
elsid
8c3c65fe9f
Use variant and optional to implement Maybe*Locks
To avoid calling lock and unlock on the mutex. User-defined destructor is no
more needed.
2022-07-12 15:19:52 +02:00
psi29a
bcaeb579c3 Merge branch 'modified_stats' into 'master'
Calculate the modified property based on cached values

See merge request OpenMW/openmw!2121
2022-07-12 13:03:54 +00:00
psi29a
0eb674ec84 Merge branch 'settings_fix' into 'master'
Refactor usage of settings storage in the launcher and editor

See merge request OpenMW/openmw!2123
2022-07-12 13:00:52 +00:00
psi29a
a8ec69045c Merge branch 'coverity' into 'master'
Coverity fixes

See merge request OpenMW/openmw!2125
2022-07-12 12:59:00 +00:00
Andrei Kortunov
4b257e496e Use static settings map for launcher and editor - the Settings::Manager has a static data anyway 2022-07-12 14:56:20 +04:00
Andrei Kortunov
a5b0ef0912 Avoid possible null dereference 2022-07-12 13:43:47 +04:00
Andrei Kortunov
42b9a6daaf Do not use an invalid iterator 2022-07-12 12:45:11 +04:00
psi29a
54db3a97bb Merge branch 'multiview-refactor' into 'master'
[Multiview] refactoring

See merge request OpenMW/openmw!2122
2022-07-12 08:44:43 +00:00
Petr Mikheev
9fbcc5df5e Merge branch 'localization' into 'master'
Use Lua's YAML-based localization for MyGUI

See merge request OpenMW/openmw!2099
2022-07-12 08:13:33 +00:00
Andrei Kortunov
ccbb5e03fb Use YAML files to translate MyGUI's localization tags 2022-07-12 08:20:40 +04:00
Mads Buvik Sandvei
b277fa48c7 Refactor multiview to avoid littering OSG_HAS_MULTIVIEW and multiview-related uniforms around the code, keep them all in multiview.cpp. 2022-07-11 17:27:05 +02:00
Evil Eye
011a822408 Calculate the modified property based on cached values 2022-07-11 16:40:06 +02:00
psi29a
aaaeed572a Merge branch 'fix_6841' into 'master'
Treat empty `RootCollisionNode` in NIF as NC flag and generate VisualOnly collision shape

Closes #6841

See merge request OpenMW/openmw!2084
2022-07-11 08:31:59 +00:00
Cody Glassman
24749b066c Add sky blending to launcher 2022-07-11 00:26:22 +00:00
elsid
9cda505ef3
Add missing save for a setting in launcher 2022-07-10 22:48:25 +02:00
Petr Mikheev
8b8c304953 Treat empty RootCollisionNode in NIF as NCC flag and generate CameraOnly collision shape 2022-07-10 00:46:11 +02:00
psi29a
98f839982e Merge branch 'refactor_actors' into 'master'
Refactor MWMechanics::Actors

See merge request OpenMW/openmw!2094
2022-07-07 17:56:09 +00:00
Evil Eye
e42d63f4a4 Don't try to start combat with oneself and don't tell the player what to do 2022-07-06 19:12:36 +02:00
psi29a
1ef8ca1f27 Merge branch 'fix_tidy_warnings' into 'master'
Fix several Clang-Tidy warnings

See merge request OpenMW/openmw!2107
2022-07-06 13:47:59 +00:00
elsid
520738277a
Support google benchmark v1.6.1 2022-07-06 15:06:59 +02:00
elsid
bd7f56ddb4
Don't rely on virtual dispatch in constructor
apps/openmw/mwrender/animation.cpp:1841:60: warning: Call to virtual method 'ObjectAnimation::canBeHarvested' during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall]
        if (ptr.getRefData().getCustomData() != nullptr && canBeHarvested())
                                                           ^~~~~~~~~~~~~~~~

apps/openmw/mwrender/bulletdebugdraw.cpp:33:5: warning: Call to virtual method 'DebugDrawer::setDebugMode' during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall]
    setDebugMode(debugMode);
    ^~~~~~~~~~~~~~~~~~~~~~~

openmw/mwinput/controllermanager.cpp:63:17: warning: Call to virtual method 'ControllerManager::controllerAdded' during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall]
                controllerAdded(fakeDeviceID, evt);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-07-06 13:52:28 +02:00
elsid
4ecee2e167
Avoid using reserved identifier in the global namespace
apps/launcher/datafilespage.cpp:762:12: warning: declaration uses identifier '_reloadCellsMutex', which is reserved in the global namespace [bugprone-reserved-identifier]
std::mutex _reloadCellsMutex;
           ^~~~~~~~~~~~~~~~~
           reloadCellsMutex

apps/openmw/mwgui/journalwindow.cpp:86:103: warning: declaration uses identifier '_sender', which is reserved in the global namespace [bugprone-reserved-identifier]
        void adviseButtonClick (char const * name, void (JournalWindowImpl::*Handler) (MyGUI::Widget* _sender))
                                                                                                      ^~~~~~~
                                                                                                      sender

apps/openmw/mwgui/journalwindow.cpp:92:100: warning: declaration uses identifier '_sender', which is reserved in the global namespace [bugprone-reserved-identifier]
        void adviseKeyPress (char const * name, void (JournalWindowImpl::*Handler) (MyGUI::Widget* _sender, MyGUI::KeyCode key, MyGUI::Char character))
                                                                                                   ^~~~~~~
                                                                                                   sender
2022-07-06 13:52:28 +02:00
elsid
7501597813
Do not use float as loop variable
apps/opencs/view/render/instanceselectionmode.cpp:294:9: warning: Variable 'i' with floating point type 'float' should not be used as a loop counter [clang-analyzer-security.FloatLoopCounter]
        for (float i = 0.0; i <= resolution; i += 2)
        ^                   ~                ~
2022-07-06 13:52:28 +02:00
elsid
f1ded70366
Remove redundant condition
apps/openmw/mwmechanics/character.cpp:500:14: warning: redundant condition 'isRealWeapon' [bugprone-redundant-branch-condition]
        else if (isRealWeapon)
             ^~~~~~~~~~~~~~~~~
2022-07-06 13:52:25 +02:00
psi29a
95a6fa8d0c DeathKnockOut when KnockOut... 2022-07-06 10:48:22 +00:00
psi29a
9ed4d17f8a Merge branch 'hidden_marker' into 'master'
Use single implementation to check whether marker is hidden

See merge request OpenMW/openmw!2096
2022-07-06 07:30:56 +00:00
psi29a
cec707e994 No attack animation while blocking fix 2022-07-05 18:29:21 +00:00
psi29a
715b8497f9 Merge branch 'live_cell_ref' into 'master'
Use descriptive names for range elements

See merge request OpenMW/openmw!2092
2022-07-05 18:26:40 +00:00
psi29a
7470f6971d Merge branch 'TisIPickles27-test' into 'master'
[WIP] Maybe force dedicated GPU on dual-AMD machines

See merge request OpenMW/openmw!1214
2022-07-05 15:56:02 +00:00
Andrei Kortunov
38042fd7a2 Init missing variables 2022-07-05 17:47:52 +04:00
Andrei Kortunov
aed0da46a9 Check a result of dynamic_cast 2022-07-05 17:47:49 +04:00
jvoisin
f451b09f10 Merge branch 'rm_stream_include' into 'master'
Remove redundant ostream, istream, iostream and sstream includes

See merge request OpenMW/openmw!2097
2022-07-05 11:00:50 +00:00
psi29a
85a8359b36 Merge branch 'only_when_necassary' into 'master'
Conditional soft particles

See merge request OpenMW/openmw!2078
2022-07-05 10:14:32 +00:00
elsid
bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
2022-07-05 01:41:28 +02:00
elsid
20c15b30de
Move getLuaType out of MWWorld::PtrBase
This function is used only for Lua related code and don't need to be present
everywhere ptr.hpp is included.
2022-07-05 00:53:19 +02:00
elsid
4613840914
Use single implementation to check whether marker is hidden 2022-07-05 00:36:37 +02:00
elsid
c476437b6e
Mark Actors member functions as const where possible 2022-07-04 22:37:27 +02:00
elsid
ae4ec0a1d0
Convert static const to constexpr where possible 2022-07-04 22:16:38 +02:00
elsid
2ec757ab0f
Remove unnecessary member functions from Actors 2022-07-04 22:16:38 +02:00
elsid
0132b6e19c
Use range-based for loop 2022-07-04 22:16:37 +02:00
elsid
5e8df40718
Mark not changing variables as const 2022-07-04 22:16:37 +02:00
elsid
f8b8569f3b
Initialize variables on declaration 2022-07-04 21:38:26 +02:00
elsid
a05ed48a57
Move lua controls update into a separate function 2022-07-04 21:31:55 +02:00
elsid
03792eebdb
Reuse isPlayer variable instead of using operator != 2022-07-04 21:26:44 +02:00
elsid
77eaf2082f
Move head tracking update into a separate function 2022-07-04 21:26:42 +02:00
elsid
fe206c1526
Remove updateHeadTracking from member functions 2022-07-04 21:17:07 +02:00
elsid
1b117af5e1
Use descriptive names for range elements
iter does not describe the nature of the object. Range-based for loop provides
elements of the iterator range, not iterators.
2022-07-04 21:03:45 +02:00
psi29a
c9264de22a Merge branch 'warnfix' into 'master'
Suppress a GCC 11's format-overflow warning

See merge request OpenMW/openmw!2080
2022-07-04 12:08:31 +00:00
psi29a
bc3421642d Merge branch 'light' into 'master'
Fix emissive in character preview

See merge request OpenMW/openmw!2088
2022-07-04 06:56:23 +00:00
psi29a
9da84480f0 Merge branch 'misc_ui' into 'master'
Improved settings window

Closes #6780

See merge request OpenMW/openmw!2087
2022-07-04 06:55:42 +00:00
glassmancody.info
9a0e9ac4fe fix emissives in character preview 2022-07-03 18:46:22 -07:00
glassmancody.info
63d9fa55c6 settings window cleanup 2022-07-03 12:49:37 -07:00
jvoisin
498a835b77 Merge branch 'coverity' into 'master'
Fix some Coverity issues

See merge request OpenMW/openmw!2082
2022-07-03 16:29:05 +00:00
Andrei Kortunov
41a976b5f0 Suppress a GCC 11's format-overflow warning 2022-07-03 18:21:55 +04:00
Cody Glassman
051832d7ae [Lua] Set simulation time scale 2022-07-03 12:51:28 +00:00
Andrei Kortunov
14b5674d32 Init missing data members 2022-07-03 15:44:50 +04:00
Andrei Kortunov
03cdffb555 Init some missing variables 2022-07-03 15:44:50 +04:00
Andrei Kortunov
1274a229d1 Remove pointless null check 2022-07-03 15:44:50 +04:00
Andrei Kortunov
e97172bbb2 Add a check for null 2022-07-03 15:44:50 +04:00
Andrei Kortunov
aa349f2ed9 Initialize some missing variables 2022-07-03 15:44:50 +04:00
Andrei Kortunov
62f5bedef5 Remove pointless check 2022-07-03 15:44:31 +04:00
glassmancody.info
a0265ffb89 only enable soft particles when enabled in settings 2022-07-02 09:42:15 -07:00
AnyOldName3
6609243c87 Merge branch 'dont_notice_me_launcher_senpai' into 'master'
Don't load content entries from global and local configs

Closes #6441

See merge request OpenMW/openmw!2068
2022-07-02 16:02:10 +00:00
Mads Buvik Sandvei
6dc727cf8f More stereo-postprocessing integration 2022-07-02 15:26:35 +00:00
Evil Eye
478ad07607 Only load global cfg if local wasn't found 2022-07-02 11:19:36 +02:00
elsid
e074ebde96
Fix C4389 msvc warning
'==': signed/unsigned mismatch
2022-07-01 18:47:47 +02:00
elsid
2eae3227ba
Fix C4305 msvc warning
'argument': truncation from 'double' to 'float'
2022-07-01 18:47:46 +02:00
elsid
8544aa481c
Fix C4459 msvc warning
declaration of 'navMeshVersion' hides global declaration
2022-07-01 18:47:40 +02:00
elsid
7e6c13630a Use target_precompile_headers for the most expensive headers 2022-07-01 14:05:17 +00:00
Evil Eye
c081b8cfa9 Don't load content entries from global and local configs 2022-06-30 20:57:51 +02:00
psi29a
56187ad977 Merge branch 'soften_me_up_like_one_of_your_french_meshes' into 'master'
Allow soft particle effect on any NIF

See merge request OpenMW/openmw!2015
2022-06-30 13:46:22 +00:00
glassmancody.info
b09411d396 allow soft particles on meshes and add extra data extensions 2022-06-29 18:15:12 -07:00
psi29a
451cc6a07c Merge branch 'correct_path' into 'master'
Use existing functions and objects to call correctMeshPath etc (#6837)

Closes #6837

See merge request OpenMW/openmw!2063
2022-06-29 10:22:08 +00:00
psi29a
e861491127 Merge branch 'quickfix' into 'master'
Fix a couple typos

See merge request OpenMW/openmw!2052
2022-06-29 09:22:15 +00:00
elsid
ce263af393
Use existing functions and objects to call correctMeshPath etc
Remove WindowManager wrappers.

It's not safe to use WindowManager in all places and it's not required.
Environment stores resource system providing VFS required to call these
functions. In the case of ObjectPaging it's available from the member variable.
Also ObjectPaging::createChunk may access WindowManager when it's already
destructed when exiting the game because it's destructed before CellPreloader
finishes all background jobs. Engine::mResourceSystem is destructed after all
other systems so it's safe to use it.
2022-06-29 00:58:49 +02:00
AnyOldName3
066575821b Merge branch 'fog_alpha' into 'master'
Several fixes related to sky blending

See merge request OpenMW/openmw!2046
2022-06-28 22:17:37 +00:00
psi29a
776cae4c95 Merge branch 'assert' into 'master'
Use string_view in Layout and remove dead code

See merge request OpenMW/openmw!2060
2022-06-27 20:02:20 +00:00
Petr Mikheev
d0deb37f5c Fix several issues with sky blending 2022-06-27 21:51:41 +02:00
Evil Eye
81ec7e80bb Use string_view in Layout and remove dead code 2022-06-27 19:13:17 +02:00
jvoisin
3403ea1d9e Merge branch 'FixUBOnDoubleMove' into 'master'
Avoid double move when an area with same coordinates already exists

See merge request OpenMW/openmw!2059
2022-06-27 16:28:17 +00:00