Benjamin Winger
21f04f0d0f
Fixed data subrecord name for Armour record used in error
2021-05-17 18:36:59 -04:00
AnyOldName3
081650a2e5
Integrate Base64 library with build
2021-05-17 23:00:23 +01:00
AnyOldName3
2b1326cb74
Change namespace to Base64
...
The functions do Base64 encoding and decoding and do not feed me
delicious almond and meringue based confectionary.
2021-05-17 22:50:32 +01:00
AnyOldName3
d66cc3b7ae
Fix undefined behaviour
2021-05-17 22:47:08 +01:00
AnyOldName3
aba735e615
Check in external Base64 implementation
...
Taken from https://gist.github.com/tomykaira/f0fd86b6c73063283afe550bc5d77594
MIT licenced
2021-05-17 22:45:10 +01:00
elsid
a73ffc25c3
Add missing synchronization for present tiles modification
...
insert/erase can be done from multiple threads simultaneously. mMutex is
already used to synchronize reads so use it for writes too.
2021-05-17 17:44:31 +02:00
psi29a
f1f1703441
Merge branch 'fix_navmesh_wait' into 'master'
...
Fix redundant waiting until navmesh is generated
See merge request OpenMW/openmw!861
2021-05-17 10:54:23 +00:00
Andrei Kortunov
11c57978b6
Fix crashes on exit in the LightManager (bug #6044 )
2021-05-17 13:01:15 +04:00
Andrei Kortunov
c54ef55ebb
Revert "Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing"
...
This reverts commit 5373cf1cd5
.
2021-05-17 12:40:55 +04:00
Andrei Kortunov
c11774f278
Do not trigger in-game bindings via mouse buttons when controls are disabled (bug #6047 )
2021-05-17 12:23:56 +04:00
psi29a
b583c2300c
Merge branch 'maybe-fix#5551' into 'master'
...
Fix #5551
Closes #5551
See merge request OpenMW/openmw!802
2021-05-17 08:16:02 +00:00
psi29a
405e634e09
Merge branch 'fix_light_manager_ub' into 'master'
...
Fix UB in light initialization
See merge request OpenMW/openmw!877
2021-05-17 07:57:42 +00:00
elsid
d520b440aa
Copy LightBuffer data into a new object when changing layout
...
Before this change LightBuffer copy constructor copied only mData pointer into
a new object. Then memcpy was applied to an overlapping source and destination
that is UB.
Replace configureLayout function by a special constructor. That copies all
mData values and a pointer to a buffer object into a newly allocated object.
2021-05-16 22:37:31 +02:00
Bret Curtis
fef9e91510
Merge pull request #3090 from akortunov/warnfix
...
Fix warning in assert - size_t can not be negative
2021-05-16 20:25:46 +02:00
Bret Curtis
46da65a568
Merge pull request #3091 from akortunov/master
...
Discard button press events during save loading
2021-05-16 20:25:08 +02:00
AnyOldName3
c2e4eda825
Merge branch '6013-fix' into 'master'
...
Retain draw callback
Closes #6013 and #5967
See merge request OpenMW/openmw!875
2021-05-16 17:30:38 +00:00
madsbuvi
f3e17e7c52
Don't redundantly call notify on every frame.
2021-05-16 18:09:48 +02:00
Andrei Kortunov
e38063dcdb
Discard button press events during save loading (bug #5619 )
2021-05-16 16:04:28 +04:00
Frederic Chardon
62c7adc87b
Merge branch 'no_at_boundaries' into 'master'
...
Don't use at() instead [] when length is checked/known
See merge request OpenMW/openmw!866
2021-05-16 11:58:14 +00:00
Frederic Chardon
38db2f8810
Merge branch 'includes_mwgui' into 'master'
...
Remove some useless includes from apps/openmw/mwgui
See merge request OpenMW/openmw!870
2021-05-16 11:46:13 +00:00
madsbuvi
5b9a2b73b0
Retain final draw callback as a member variable in ScreenshotManager, and do not call setFinalDrawCallback after init.
2021-05-16 13:04:30 +02:00
Frederic Chardon
807c7a2025
Merge branch 'useless_includes_mwmechanics' into 'master'
...
Remove some useless headers in apps/openmw/mwmechanics
See merge request OpenMW/openmw!871
2021-05-16 10:51:43 +00:00
fredzio
5b63019719
Embed actor velocity inside its class. It makes the code simpler.
2021-05-16 12:42:17 +02:00
fredzio
c55db790f3
Make the code less verbose / more readable using for range loop and
...
structured binding.
No functional changes.
2021-05-16 12:42:16 +02:00
Frederic Chardon
730f1fe2a7
Merge branch 'useless_includes_mwphysics' into 'master'
...
Remove some useless includes in apps/openmw/mwphysics
See merge request OpenMW/openmw!872
2021-05-16 10:37:33 +00:00
jvoisin
9373e4ada7
Remove some useless includes in apps/openmw/mwphysics
2021-05-15 23:13:46 +02:00
jvoisin
9522a64e7d
Remove some useless includes from apps/openmw/mwgui
2021-05-15 22:15:46 +02:00
jvoisin
1cd15613a6
Remove some useless headers in apps/openmw/mwmechanics
2021-05-15 22:14:08 +02:00
psi29a
3d61d7ec9a
Merge branch 'optimize_initial_load' into 'master'
...
Optimize engine initial loading time
See merge request OpenMW/openmw!867
2021-05-15 18:48:17 +00:00
Evil Eye
6cb6461cba
Merge branch 'const_ref_it' into 'master'
...
Use const references when possible in for loops
See merge request OpenMW/openmw!869
2021-05-15 18:47:03 +00:00
Frederic Chardon
faaf814fbc
Merge branch 'unused_struct' into 'master'
...
Remove an unused struct
See merge request OpenMW/openmw!868
2021-05-15 18:38:53 +00:00
jvoisin
7deb6a6ffd
Use const references when possible in for loops
...
No need for useless copies.
2021-05-15 19:50:01 +02:00
jvoisin
c1e3869f25
Remove an unused struct
2021-05-15 19:49:15 +02:00
elsid
1e2aae8095
Use stable sort+unique to collect RefIDs for ESMStore records counting
...
The idea is to avoid std::map lookup for each CellRef. Instead generate a
sequence of added and removed RefNums into a vector then order them by RefNum
using a stable sort that preserves relative order of elements with the same
RefNum. RefIDs are stored in a different vector to avoid std::string move ctor
calls when swapping elements while sorting. Reversed iteration over added and
removed RefNums for each unique RefNum is an equivalent to what map-based
algorithm produces. The main benefit from sorting a vector is a data locality
that means less cache misses for each access. Reduces ESMStore::countRecords
perf cycles by 25%.
2021-05-15 18:45:22 +02:00
elsid
9938af2289
Use unordered_map for ref count
...
Reduces ESMStore::countRecords time by 8%.
2021-05-15 18:45:22 +02:00
elsid
6248dc72cb
Convert to lower case only when needed
2021-05-15 18:45:21 +02:00
elsid
f2188d2533
Reduce temporary allocations on ESM loading
...
By moving objects instead of copying when possible.
2021-05-15 18:45:21 +02:00
Andrei Kortunov
b717103fe0
Fix warning in assert - size_t can not be negative
2021-05-15 19:56:14 +04:00
Bret Curtis
8a315b01ae
Merge pull request #3089 from xyzz/fix-journalbooks-ub
...
Fix out-of-bounds access in JournalBooks::createCyrillicJournalIndex
2021-05-15 17:25:47 +02:00
psi29a
a1b96cb9cc
Merge branch 'fix_dangling_light_manager' into 'master'
...
Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing (#6044 )
Closes #6044
See merge request OpenMW/openmw!865
2021-05-15 15:19:55 +00:00
Bret Curtis
d0329d3dd9
Merge pull request #3088 from akortunov/weapon_sheathing
...
Disable shield animation when we launch a torch one
2021-05-15 17:17:08 +02:00
Ilya Zhuravlev
13f060623f
Fix out-of-bounds access in JournalBooks::createCyrillicJournalIndex
2021-05-15 10:45:39 -04:00
jvoisin
690d85d0e9
Don't use at() instead [] when length is checked/known
2021-05-15 15:38:17 +02:00
elsid
5373cf1cd5
Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing
...
When game exit is requests when initial loading screen is active LightManager
can be destructed in the main thread before LightManagerStateAttribute::apply
is completed by different thread. Given that it uses raw pointer at some point
it becomes dangling because object is destructed this leads to UB and eventual
SIGSEGV.
2021-05-15 15:23:28 +02:00
Andrei Kortunov
b63f53f5bb
Disable shield animation when we launch a torch one (bug #6043 )
2021-05-15 11:31:08 +04:00
AnyOldName3
5d83de189a
Merge branch 'insert_or_assign' into 'master'
...
Use insert_or_assign() instead of hand rolled version.
See merge request OpenMW/openmw!862
2021-05-14 22:57:07 +00:00
fredzio
fb344d27e0
Use insert_or_assign() instead of hand rolled version.
2021-05-14 23:38:39 +02:00
elsid
eeba92d48b
Merge branch 'includes_detournavigator' into 'master'
...
Remove some superfluous includes in components/detournavigator
See merge request OpenMW/openmw!860
2021-05-14 21:09:22 +00:00
elsid
59f89d22f8
Apply min distance only for not present tiles
...
To avoid waiting when navmesh update is triggered by transformed object for
already present tiles.
2021-05-14 22:41:11 +02:00
elsid
d0ea9c482a
Reorder async navmesh updater jobs when player tile changes
...
When player tile changes distance to player that is part of jobs priority is
invalidated. So jobs are no longer in the right order. This can lead to
processing of farests tiles first.
Sort queue each time player tile is changed.
2021-05-14 22:41:05 +02:00