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

26589 commits

Author SHA1 Message Date
elsid
605cb8db7c
Make sync terrain preloading sleep free
This reduces average time spent on in. 5 milliseconds as a base precision is
quite a lot considering that for 60 FPS frame time is 1000/16 = ~16.67 ms
when it's a cell loading frame and there is more important work to do rather
than sleeping.
2021-09-07 14:52:42 +02:00
elsid
e30709170d
Add script to find missing merge requests 2021-09-07 10:45:23 +02:00
psi29a
aef6ec464c Merge branch 'optimize_add_item' into 'master'
Optimize ContainerStore::stacks (attempt #2)

See merge request OpenMW/openmw!1200
2021-09-07 08:40:02 +00:00
psi29a
422571367f Merge branch 'osg_plugins' into 'master'
Define dependency to OSG plugins in one place (attempt #2)

See merge request OpenMW/openmw!1199
2021-09-07 08:39:26 +00:00
elsid
403f0a72f0
Do not copy RefId when need to compare
Makes ContainerStore::stacks ~4x times faster when adding 4k different items
in a single frame.
2021-09-06 22:52:09 +02:00
elsid
e910dd7a25
Rename CellRef::getRefIdPtr -> getRefIdRef and return reference
Return value can't be nullptr. Pointer complicates the code because has to be
dereferenced.

Also move function definition to hpp to make it easier for compiler to optimize
calls.
2021-09-06 22:52:08 +02:00
elsid
b0f772af40
Define dependency to OSG plugins in one place
Each binary depending on components library requires OSG plugins to be linked.
Duplicating dependecies for each binary does not give benefits and brings
problems when new binary is added.
2021-09-06 22:44:52 +02:00
Frederic Chardon
7b26058fa5 moveObject() has side effects that might invalidate iterators from mActors. Instead of iterating over mActors, make a copy of needed data and iterate over the copies. 2021-09-06 12:51:25 +02:00
psi29a
6170971ea3 Merge branch 'bettermoveinstance' into 'master'
Set instance movement based on camera zoom

See merge request OpenMW/openmw!1186
2021-09-06 09:48:30 +00:00
jvoisin
0b2b0e93ff Merge branch 'commulative_timeseries' into 'master'
Support commulative timeseries graph for osg stats

See merge request OpenMW/openmw!1195
2021-09-06 08:08:58 +00:00
elsid
43538a5ca5
Support commulative timeseries graph for osg stats 2021-09-06 00:02:20 +02:00
Petr Mikheev
c4dca196b9 Merge branch 'fix_warnings' into 'master'
Fix -Wreturn-local-addr warning

See merge request OpenMW/openmw!1194
2021-09-05 10:00:57 +00:00
elsid
1b1deeb59b
Fail CI build when not allowed warnings are present
Put -Wno-error after -Wall to make it work properly for clang.
2021-09-05 02:06:03 +02:00
Petr Mikheev
4fcac49e5f Merge branch 'constrefclang' into 'master'
Sprinkle some const-ref in loop

See merge request OpenMW/openmw!1180
2021-09-04 19:49:13 +00:00
jvoisin
cb08f490d7 Sprinkle some const-ref in loop
This was done on the good advices of clang-tidy
2021-09-04 20:50:59 +02:00
elsid
a8c16071dc
Fix -Wreturn-local-addr warning
/home/elsid/dev/openmw/apps/opencs/model/world/actoradapter.cpp: In member function ‘const string& CSMWorld::ActorAdapter::ActorData::getPart(ESM::PartReferenceType) const’:
/home/elsid/dev/openmw/apps/opencs/model/world/actoradapter.cpp:142:20: error: returning reference to temporary [-Werror=return-local-addr]
  142 |             return "";
      |                    ^~
2021-09-04 18:04:45 +02:00
Petr Mikheev
76320aae45 Merge branch 'const_ret_val' into 'master'
Don't use `const` for objects returned by value.

See merge request OpenMW/openmw!1183
2021-09-04 12:41:52 +00:00
psi29a
a57b5674e5 Merge branch 'hash_actors' into 'master'
Replace std::map with std::unordered_map and use constant Ptr.mRef as a key

See merge request OpenMW/openmw!1129
2021-09-03 15:16:14 +00:00
psi29a
a0201feb97 Merge branch 'lua_tostring' into 'master'
Function LuaUtil::toString

See merge request OpenMW/openmw!1187
2021-09-03 13:09:17 +00:00
fredzio
d20730458d Replace std::map with std::unordered_map for mActors and mObjects.
Use Ptr.mRef as a key instead of Ptr: it is constant for the lifetime of
the object.
2021-09-03 13:14:05 +02:00
fredzio
0bce6c09e1 Change projectile behaviour to be like in vanilla wrt. water plane:
- enchanted arrow explode upon hit the water plane
- non enchanted arrow disappear (or more accurately, they hit nothingness)
- enchanted arrow shot underwater explode immediately
- non enchanted arrow disappear immediately

Also, solve a bug that occured previously and could theoritically still happens where we use the last tested collision position for instead of the last registered hit:
Use the hit position as saved inside Projectile::hit() instead of the last position saved inside the callback.
If a projectile collides with several objects (bottom of the sea and water surface for instance), the last collision tested won't necessarily be the impact position as we have no control over the order in which the tests are performed.
2021-09-03 10:24:05 +02:00
jvoisin
d4e3575f1d Don't use const for objects returned by value.
This prevents the usage of std::move semantics,
and makes clang-tidy sad.
2021-09-01 22:23:50 +02:00
unelsson
8edcaeb323 Add changelog 2021-09-01 02:04:04 +03:00
unelsson
f876ff2c14 Clear temporary movement data at the end of the drag 2021-09-01 02:04:04 +03:00
unelsson
53d315c862 XYZ-locking, mouse wheel move fix 2021-09-01 02:04:04 +03:00
unelsson
23fe3d74ab Use floats, not doubles 2021-09-01 02:04:04 +03:00
unelsson
840e7615f5 Store object origins and move difference 2021-09-01 02:04:04 +03:00
unelsson
0d511da615 Test of basic mouse-plane use 2021-09-01 02:04:04 +03:00
elsid
291195872e Merge branch 'this_is_not_the_iterator_you_are_looking_for' into 'master'
fix #6246

Closes #6246

See merge request OpenMW/openmw!1189
2021-08-31 19:15:43 +00:00
fredzio
d1a5bc207b Iterate over mInactiveCells when unloading cells in TestCells / TestInteriorCells. Otherwise we dereference an invalid iterator after deactiveCell(). 2021-08-31 16:53:52 +02:00
elsid
0daf6f5d0b Merge branch 'comma' into 'master'
Don't use comma where there is no need to.

See merge request OpenMW/openmw!1179
2021-08-31 12:33:15 +00:00
Petr Mikheev
33d4d88447 Function LuaUtil::toString 2021-08-31 09:41:58 +02:00
Evil Eye
18f51e1026 Merge branch 'nonull' into 'master'
Don't pass a nullptr to a std::string constructor

See merge request OpenMW/openmw!1178
2021-08-30 18:59:06 +00:00
Evil Eye
06e1b17cc1 Merge branch 'unnecessary_copy' into 'master'
Dont copy-construct from a const-ref when used only as a const-ref

See merge request OpenMW/openmw!1184
2021-08-29 19:39:51 +00:00
Evil Eye
3149871b51 Merge branch 'reserve' into 'master'
Use `reserve` on vectors for fixed loops

See merge request OpenMW/openmw!1182
2021-08-29 19:37:33 +00:00
jvoisin
db4fe11a44 Don't pass a nullptr to a std::string constructor
This is undefined behaviour.
2021-08-29 20:41:15 +02:00
jvoisin
deb2af6acc Dont copy-construct from a const-ref when used only as a const-ref
This also makes clang-tiny a bit happier
2021-08-29 20:22:34 +02:00
jvoisin
a15cca5763 Use reserve on vectors for fixed loops
This is a bit useless, but has the merit of appeasing clang-tiday
2021-08-29 20:18:49 +02:00
jvoisin
a6b1e38eab Don't use comma where there is no need to. 2021-08-29 14:12:14 +02:00
cc9cii
0ada3fa1d8 Update changelog. 2021-08-29 15:32:45 +10:00
cc9cii
0a5571f19e Disable editing for blocked records in both table and dialogue edit widget. 2021-08-29 15:27:59 +10:00
Alexei Dobrohotov
4f99c060c3 Merge branch 'hit_me_with_your_big_club' into 'master'
Allow Rieklings and Goblins to attack again

Closes #6243

See merge request OpenMW/openmw!1174
2021-08-29 00:58:10 +00:00
Evil Eye
b4486992f0 Allow Rieklings and Goblins to attack again 2021-08-28 10:45:00 +02:00
cc9cii
b0d5ca386d Update original cell column and do not modify the refnum when moving a reference to another cell with 3D editing. 2021-08-28 16:12:40 +10:00
cc9cii
2eb210f31a Partially undo commit 71be4cdd20 so that moved references retain the original refnum. This is consistent with vanilla CS's behaviour. 2021-08-28 16:12:40 +10:00
cc9cii
b2bd97f283 A different implementation to MR 1051 to fix Issue #6067.
This MR doesn't delete the original record, but instead the original record is updated with the moved record when loading.

Issue #4752 is no longer addressed in this MR.
2021-08-28 14:09:55 +10:00
cc9cii
7264a10c07 Partially revert commit dab1a9e7fb 2021-08-28 09:49:45 +10:00
cc9cii
7227a83e60 Preserve "blocked" record flags when saving with OpenCS. This will help outputs of OpenCS to be used with vanilla Morrowind.
Sample use case: users are using the Morrowind Code Patch feature that allows modders to enable this flag to differentiate editor-made potions from player crafted potions for tooltips.
2021-08-28 09:42:54 +10:00
psi29a
66f028c4a1 Merge branch 'correctcommandimplementation' into 'master'
Don't do storage in constructors of the commands

See merge request OpenMW/openmw!1126
2021-08-27 07:30:45 +00:00
psi29a
d852b10227 Merge branch 'Map-door-markers-flicker-in-some-cells' into 'master'
Do not update doors markers at each frame, only when needed

Closes #6214

See merge request OpenMW/openmw!1168
2021-08-26 15:06:38 +00:00