elsid
af7059373c
Make RecastMesh independent from the order of RecastMeshBuilder calls
...
To make sure RecastMesh objects are equal if built with the same data but in
different order. Will be used later when there will be more than one place
building RecasMesh objects.
2021-07-26 00:22:20 +02:00
elsid
100cba6260
Use navigator field in Scene
2021-07-26 00:22:03 +02:00
psi29a
6949dd89c2
Merge branch 'gui_shaders' into 'master'
...
Add shader path for mygui (#6162 )
See merge request OpenMW/openmw!1019
2021-07-25 21:37:39 +00:00
psi29a
b92c6985cd
Merge branch 'auto_in_most_apps' into 'master'
...
Using auto keyword in most apps
See merge request OpenMW/openmw!885
2021-07-25 21:23:26 +00:00
psi29a
7d7427015e
Merge branch 'removing_unused_launcher_imports' into 'master'
...
Removing unused imports in the Launcher
See merge request OpenMW/openmw!884
2021-07-25 21:18:25 +00:00
Petr Mikheev
200ccfab69
Merge branch 'Allow-Zoom-levels-on-the-World-Map' into 'master'
...
Allow Zoom levels on the World Map
See merge request OpenMW/openmw!275
2021-07-25 20:19:11 +00:00
fredzio
7145ef4ce0
Update AABB also in sync cases
2021-07-25 18:00:48 +02:00
Petr Mikheev
e371831086
Merge branch 'esmstore_infix' into 'master'
...
Use prefix increment for iterators in esmstore.cpp
See merge request OpenMW/openmw!1041
2021-07-25 13:28:18 +00:00
jvoisin
ce8c30bf07
Minor code simplification in npcanimation.cpp
2021-07-25 14:20:37 +02:00
Cédric Mocquillon
1051745f29
[Launcher] Add new setting 'allow zooming' to advanced tab in the launcher
2021-07-25 14:17:10 +02:00
CedricMocquillon
9fee9dbc9c
[Global map] Regroup markers when the zoom out
2021-07-25 14:17:10 +02:00
CedricMocquillon
18f5853279
[Global <-> Local] Auto switch between local and global map when zoom in/out
2021-07-25 14:17:09 +02:00
CedricMocquillon
8c87defddf
[Local map] Use the distance view in the local map
2021-07-25 14:17:08 +02:00
CedricMocquillon
ed04ebe9ff
[Local map] Allow zoom on local map
2021-07-25 14:17:08 +02:00
CedricMocquillon
9fadbd5b7a
[Global map] Allow zoom on global map
2021-07-25 14:17:07 +02:00
CedricMocquillon
99cd4b6742
[Refactoring] Several refactorings:
...
[Refactoring] Add marker size method instead of using magic constant
[Refactoring] Simplify worldPosToImageSpace and cellTopLeftCornerToImageSpace usage
[Refactoring] Add a missing 'f' to specify the float type
[Refactoring] Make cellTopLeftCornerToImageSpace more homogenous with worldPosToImageSpace
[Refactoring] Extract createmakrercoords method
[Refactoring] Use worldPosToImageSpace instead of cellTopLeftCornerToImageSpace
Remove cellTopLeftCornerToImageSpace as it is not used anymore
Remove getCellSize as it is not used anymore
[Refactoring] Extract new method createMarker
[Refactoring] Extract new method getMarkerCoordinates
[Refactoring] Extract new method getPosition
[Refactoring] Extract new method centerView
[Refactoring] Extract new method createDoorMarker
[Refactoring] Simplify for loop
[Refactoring] Make the test before the loop
2021-07-25 14:17:06 +02:00
cc9cii
33dcd7585a
OpenCS - Jump To Modified
2021-07-24 20:00:25 +00:00
psi29a
2eea590762
Merge branch 'spawn_fix' into 'master'
...
Fix #6173
Closes #6173
See merge request OpenMW/openmw!1046
2021-07-24 12:04:20 +00:00
cc9cii
3e466699c8
A better way to plug a potential memory leak in the event of an exception during push_back().
2021-07-24 21:23:03 +10:00
cc9cii
fd67ebde25
Changes based on review comments, including:
...
* replace murmurhash with std::unordered_map
* plug potential leak from unique_ptr release
* replacing some sections with cleaner code
2021-07-24 09:17:48 +10:00
fredzio
f348b70733
Set mCanWaterWalk and mOnGround when adding Actor to the scene.
...
mCanWaterWalk was set to false and updated during next frame's simulation
mOnGround is set to true but then was updated as part of the scene
loading logic.
2021-07-23 18:04:58 +02:00
cc9cii
ee3361a118
Fix table being sorted twice (at least it appeared that way according to the sample profiler)
...
- Quoting Qt-4.8: "Note: . Setting the property to true with setSortingEnabled() immediately triggers a call to sortByColumn() with the current sort section and order."
(copied the changes from commit SHA-1: 77394fce99281cea65f30c67dbcd69a2d3eeba88)
2021-07-23 23:18:11 +10:00
cc9cii
725d689e8a
Call push_back() if inserting to the end of the vector. It seems MSVC may be generating different code compared to insert().
...
(copied the changes from commit SHA-1: 257126ed69a5f6f964ba771766de061e81f87433)
2021-07-23 23:17:16 +10:00
cc9cii
44a333b6db
Don't attempt to open files yet to be created.
2021-07-23 21:25:35 +10:00
Petr Mikheev
ec79f26320
Merge branch 'minor' into 'master'
...
Minor code cleanup
See merge request OpenMW/openmw!1038
2021-07-23 11:20:37 +00:00
cc9cii
5c504e4d22
Convert the CellRef record index lookup maps to use integer keys rather than strings.
...
- Morrowind load over 300,000 references, so even small inefficiencies add up to longer loading times.
- std::map is used, but should try others, std::unordered_map or even std::vector
(copied the changes from commit SHA-1: 86945d19128468ad987b5bf4332602d613d25d9f)
2021-07-23 19:07:56 +10:00
cc9cii
10c6304a1f
Fix typo from commit cfdbd0d471c6bac72f904f86a1bec486ca2a3822.
2021-07-23 18:12:09 +10:00
cc9cii
fc2f68a465
Change the loader's top progress bar to show total number of records processed rather than the number of files.
...
(copied the changes from commit SHA-1: ff072441fde05d189cb06cb44cc9c360690c2f09)
2021-07-23 17:34:27 +10:00
cc9cii
5fffcab94f
Performance improvements for loading Info records.
...
- The order of info records with the same topic are maintained in Collection::mRecords
- The index lookup data structure are not ordered. The topic string is hashed. The infos for the topic are simply placed in a vector.
- The index values for appending or inserting a record takes prev/next values (if exist)
- FIXME: prev/next values are not adjusted for adding or removing records
- FIXME: undo after reordering does not reset the modified flag
(copied the changes from commit SHA-1: 06f9922822bf5a076894bce44bde37234d7ccee1)
2021-07-23 16:05:58 +10:00
cc9cii
66bda84240
Convert RefNum index map to use find().
...
(copied the changes from commits 68e16b6cee0f533027e1d8f1293b8a5582ac5a68 and 0de223c637d0820a97417d84796c1bfeb1836fb8)
NOTE: it is unclear how this change affects commit 61a4a0807b4ed2398b8169b477132b12a1a3a106
2021-07-23 15:30:33 +10:00
cc9cii
be45092e55
Use std::unique_ptr to store records in collections, RefidCollection and RefIdData.
...
(copied the changes from commit 23e7e3c165bb2631f9d8eb298f86da862e91cefa)
2021-07-23 14:21:21 +10:00
glassmancody.info
e8c6f31e0c
add shader path for mygui ( #6162 )
2021-07-22 15:55:30 -07:00
jvoisin
73c20be29a
Use prefix increment for iterators in esmstore.cpp
...
See https://pvs-studio.com/en/docs/warnings/v803/
for the rationale.
2021-07-22 22:03:59 +02:00
jvoisin
74fab99b89
Use a const-ref for an osg::Quat
...
Since an osg::Quat contains at least 4 floats,
it should be worth it to use a const-ref instead
of passing it by value.
2021-07-22 21:33:18 +02:00
jvoisin
f86ddef4db
Minor code cleanup
2021-07-22 15:15:41 +02:00
psi29a
469cc44ef7
Merge branch 'tweaks' into 'master'
...
Change settings for async physics
See merge request OpenMW/openmw!778
2021-07-22 07:18:41 +00:00
jvoisin
5e3f000b66
Add a std::noboolalpha to a std::boolalpha
2021-07-21 14:40:54 +02:00
Nuri
36657698fb
Added checks for paralysis, knocked down, and death when picking up items from inventory. Fixes #6165
2021-07-21 07:46:02 +00:00
psi29a
cc642b5335
Merge branch 'slimfast' into 'master'
...
Reduce size of physics objects by 1/3
See merge request OpenMW/openmw!1024
2021-07-20 19:03:14 +00:00
Alexei Dobrohotov
e5f96ab4ae
Merge branch 'lol_so_random' into 'master'
...
Set the ptr's custom data before filling the store so leveled lists have access to the level
See merge request OpenMW/openmw!1028
2021-07-18 14:02:06 +00:00
Evil Eye
b95cf4fd00
Set the ptr's custom data before filling the store so leveled lists have access to the level
2021-07-18 15:04:25 +02:00
elsid
f92843e3d2
Fix UB: reference binding to misaligned address in Lua tests
...
/home/elsid/dev/openmw/apps/openmw_test_suite/lua/test_serialization.cpp:166:34: runtime error: reference binding to misaligned address 0x562ea892076c for type 'const struct TestStruct1', which requires 8 byte alignment
0x562ea892076c: note: pointer points here
00 74 73 31 00 00 00 00 00 00 f8 3f 00 00 00 00 00 00 04 40 21 79 4b 08 00 00 00 74 65 73 74 5f
^
#0 0x562ea6462b8e in deserialize /home/elsid/dev/openmw/apps/openmw_test_suite/lua/test_serialization.cpp:166
#1 0x562ea68b7402 in deserializeImpl /home/elsid/dev/openmw/components/lua/serialization.cpp:172
#2 0x562ea68b7bf6 in deserializeImpl /home/elsid/dev/openmw/components/lua/serialization.cpp:204
#3 0x562ea68b86ea in LuaUtil::deserialize(sol::state&, std::basic_string_view<char, std::char_traits<char> >, LuaUtil::UserdataSerializer const*) /home/elsid/dev/openmw/components/lua/serialization.cpp:251
#4 0x562ea6464d96 in TestBody /home/elsid/dev/openmw/apps/openmw_test_suite/lua/test_serialization.cpp:197
#5 0x562ea6d9dac6 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/elsid/dev/googletest/googletest/src/gtest.cc:2607
#6 0x562ea6d9dac6 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/elsid/dev/googletest/googletest/src/gtest.cc:2643
#7 0x562ea6d92e25 in testing::Test::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2682
#8 0x562ea6d92e25 in testing::Test::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2672
#9 0x562ea6d93024 in testing::TestInfo::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2861
#10 0x562ea6d93728 in testing::TestInfo::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2834
#11 0x562ea6d93728 in testing::TestSuite::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:3015
#12 0x562ea6d94142 in testing::TestSuite::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2994
#13 0x562ea6d94142 in testing::internal::UnitTestImpl::RunAllTests() /home/elsid/dev/googletest/googletest/src/gtest.cc:5855
#14 0x562ea6d9e096 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/elsid/dev/googletest/googletest/src/gtest.cc:2607
#15 0x562ea6d9e096 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/elsid/dev/googletest/googletest/src/gtest.cc:2643
#16 0x562ea6d93140 in testing::UnitTest::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:5438
#17 0x562ea5d3fdc6 in RUN_ALL_TESTS() /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:2490
#18 0x562ea5d3fc6f in main /home/elsid/dev/openmw/apps/openmw_test_suite/openmw_test_suite.cpp:11
#19 0x7fe3938d0b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
#20 0x562ea5d3fb7d in _start (/home/elsid/dev/openmw/build/gcc/ubsan/openmw_test_suite+0x173eb7d)
/home/elsid/dev/openmw/apps/openmw_test_suite/lua/test_serialization.cpp:176:34: runtime error: reference binding to misaligned address 0x562ea892078f for type 'const struct TestStruct2', which requires 4 byte alignment
0x562ea892078f: note: pointer points here
75 63 74 32 04 00 00 00 03 00 00 00 04 00 6e 64 69 74 69 6f 6e 73 00 73 68 61 70 65 00 51 00 00
^
#0 0x562ea6462df9 in deserialize /home/elsid/dev/openmw/apps/openmw_test_suite/lua/test_serialization.cpp:176
#1 0x562ea68b7402 in deserializeImpl /home/elsid/dev/openmw/components/lua/serialization.cpp:172
#2 0x562ea68b7bf6 in deserializeImpl /home/elsid/dev/openmw/components/lua/serialization.cpp:204
#3 0x562ea68b86ea in LuaUtil::deserialize(sol::state&, std::basic_string_view<char, std::char_traits<char> >, LuaUtil::UserdataSerializer const*) /home/elsid/dev/openmw/components/lua/serialization.cpp:251
#4 0x562ea6464d96 in TestBody /home/elsid/dev/openmw/apps/openmw_test_suite/lua/test_serialization.cpp:197
#5 0x562ea6d9dac6 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/elsid/dev/googletest/googletest/src/gtest.cc:2607
#6 0x562ea6d9dac6 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/elsid/dev/googletest/googletest/src/gtest.cc:2643
#7 0x562ea6d92e25 in testing::Test::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2682
#8 0x562ea6d92e25 in testing::Test::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2672
#9 0x562ea6d93024 in testing::TestInfo::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2861
#10 0x562ea6d93728 in testing::TestInfo::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2834
#11 0x562ea6d93728 in testing::TestSuite::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:3015
#12 0x562ea6d94142 in testing::TestSuite::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:2994
#13 0x562ea6d94142 in testing::internal::UnitTestImpl::RunAllTests() /home/elsid/dev/googletest/googletest/src/gtest.cc:5855
#14 0x562ea6d9e096 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/elsid/dev/googletest/googletest/src/gtest.cc:2607
#15 0x562ea6d9e096 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/elsid/dev/googletest/googletest/src/gtest.cc:2643
#16 0x562ea6d93140 in testing::UnitTest::Run() /home/elsid/dev/googletest/googletest/src/gtest.cc:5438
#17 0x562ea5d3fdc6 in RUN_ALL_TESTS() /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:2490
#18 0x562ea5d3fc6f in main /home/elsid/dev/openmw/apps/openmw_test_suite/openmw_test_suite.cpp:11
#19 0x7fe3938d0b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
#20 0x562ea5d3fb7d in _start (/home/elsid/dev/openmw/build/gcc/ubsan/openmw_test_suite+0x173eb7d)
2021-07-17 17:41:41 +02:00
fredzio
44f822da56
Do not store a btTransform into Projectile class: reduce its size by 112 bytes
2021-07-17 13:11:41 +02:00
fredzio
f02d01ef0c
Do not store btTransform into Object class: reduce its size by 104 bytes
2021-07-17 13:11:41 +02:00
fredzio
62ef708910
Do not store a btTransform into Actor class: reduce its size by 128 bytes
2021-07-17 13:11:39 +02:00
psi29a
42e50e487a
Merge branch 'cleaning' into 'master'
...
Improve save cleaning
See merge request OpenMW/openmw!1015
2021-07-16 08:53:06 +00:00
psi29a
22068eed6b
Merge branch 'navmesh_cache_without_off_mesh' into 'master'
...
Do not use off mesh connections as a part of navmesh cache key
See merge request OpenMW/openmw!1016
2021-07-16 08:40:56 +00:00
psi29a
6d08a1d731
Merge branch 'skip_async' into 'master'
...
Don't put player in the air after going out of tcl
See merge request OpenMW/openmw!1009
2021-07-16 07:50:26 +00:00
Evil Eye
087e933326
Close windows using Ptrs that are about to be deleted
2021-07-15 22:31:26 +02:00
elsid
beeb882ea8
Do not use off mesh connections as a part of navmesh cache key
...
To reduce cache size and make it more flexible.
Adding off mesh connections to the navmesh is the last step of navmesh
generation and it's very fast comparing to other steps (microseconds vs
milliseconds). Having less cache size makes get and set operations almost 2x
times faster that also have an order of microseconds. So in total there is
no performance impact.
2021-07-14 12:19:17 +02:00