1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-24 22:23:52 +00:00
Commit graph

13072 commits

Author SHA1 Message Date
Frederic Chardon
730f1fe2a7 Merge branch 'useless_includes_mwphysics' into 'master'
Remove some useless includes in apps/openmw/mwphysics

See merge request 
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 
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 
2021-05-15 18:47:03 +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
Bret Curtis
8a315b01ae
Merge pull request from xyzz/fix-journalbooks-ub
Fix out-of-bounds access in JournalBooks::createCyrillicJournalIndex
2021-05-15 17:25:47 +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
Andrei Kortunov
b63f53f5bb Disable shield animation when we launch a torch one (bug ) 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 
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
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
Bret Curtis
66a527c3de
Merge pull request from akortunov/warnfix
Fix MSVC's C4244 and C4267 warnings
2021-05-14 21:28:56 +02:00
psi29a
fd89582e0c Merge branch 'navmesh_wait' into 'master'
Wait until navmesh is generated within given distance around player ()

Closes 

See merge request 
2021-05-13 16:56:39 +00:00
Andrei Kortunov
963e1b8b3f Fix MSVC's C4244 warnings 2021-05-12 10:34:40 +04:00
Andrei Kortunov
49a744b65a Make groundcover to use rendering distance in units instead of cells 2021-05-12 09:29:25 +04:00
psi29a
f7b8c817f8 Merge branch 'performance-faster-string-find' into 'master'
Fixing performance-faster-string-find issues

See merge request 
2021-05-11 08:42:01 +00:00
Thunderforge
339d347aea Fixing performance-faster-string-find issues
This addresses the Clang Tidy check [performance-faster-string-find](https://clang.llvm.org/extra/clang-tidy/checks/performance-faster-string-find.html).
2021-05-10 22:44:07 -05:00
Bret Curtis
08059247b8
Merge pull request from akortunov/master
Skip hidden nodes for ObjectPaging
2021-05-10 09:19:47 +02:00
psi29a
13fd0e11ff Merge branch 'no_time_to_talk' into 'master'
Don't stop and turn to the player while sneaking or jumping

Closes 

See merge request 
2021-05-10 06:51:49 +00:00
AnyOldName3
09f39b29f0 Load defaults.bin instead of settings-default.cfg. Do not decode yet. 2021-05-09 21:14:06 +01:00
AnyOldName3
92325976e9 Update documentation to refer to defaults.bin 2021-05-09 21:13:34 +01:00
AnyOldName3
0d737a3501 Create defaults.bin at configure time 2021-05-09 21:00:49 +01:00
Evil Eye
c5aa3d4f77 Don't stop and turn to the player while sneaking or jumping 2021-05-09 19:55:27 +02:00
Evil Eye
ffd84502f9 Remove unimplemented method declaration 2021-05-09 19:07:15 +02:00
Andrei Kortunov
132fedf290 Analyze only used LOD levels in ObjectPaging 2021-05-09 15:43:13 +04:00
Andrei Kortunov
a939cb6692 Skip hidden nodes for ObjectPaging 2021-05-09 14:10:35 +04:00
Frederic Chardon
caf382c19f Merge branch 'barrier' into 'master'
Do not store callback inside Misc::Barrier

See merge request 
2021-05-07 22:21:44 +00:00
psi29a
9b017ef04d Merge branch 'internal_includes_openmw' into 'master'
Clean up some internal includes of the openmw component

See merge request 
2021-05-07 10:53:25 +00:00
Andrei Kortunov
a0582caa26 Fix uninitialized variable 2021-05-07 10:41:14 +04:00
elsid
00de80c884 Merge branch 'deadcode' into 'master'
GC some unused code, simplify some other

See merge request 
2021-05-06 11:03:14 +00:00
fredzio
e99b61d362 Simplify the code 2021-05-06 06:15:00 +02:00
elsid
626e032931
Do not store callback inside Misc::Barrier
The only wait method can be provided with it so pass it as a template
parameter there.
2021-05-05 23:42:47 +02:00
fredzio
00de540a31 Remove unused function. 2021-05-05 20:27:22 +02:00
elsid
7a51d0db18
Wait until navmesh is generated within given distance around player
Add a setting to change this distance.

To prevent situations when there is not enough navmesh generated and actors
can't find path correctly.
2021-05-05 19:44:16 +02:00
elsid
f169f8e6f0
Wait until navmesh is generated for interior cells
Add special loading progress bar.

It should be fast enough to not keep loading screen for noticably long but
will provide better pathfinding for actors inside interior cells.
2021-05-05 19:27:49 +02:00
psi29a
b8128d09f9 Merge branch 'enchanted-item-selected-fix' into 'master'
Fix for enchanted items being removed on item equip cycling when they are re-equipped

See merge request 
2021-05-05 07:27:00 +00:00
psi29a
9eb876cc17 Merge branch 'read_me' into 'master'
Allow activation of inventory items

Closes 

See merge request 
2021-05-04 22:53:45 +00:00
psi29a
6ac4dfbeb7 Merge branch '9001st_time_the_charm' into 'master'
Rework again scripted movements

See merge request 
2021-05-04 22:52:37 +00:00
jvoisin
d45184a730 Sprinkle some const-ref to avoid unnecessary copies 2021-05-02 14:43:46 +02:00
Chris Djali
f0cef87cd8
Merge pull request from akortunov/msvc_warnings
Rework warnings settings
2021-05-01 19:03:43 +01:00
fredzio
4fa0972b2d Tone down actor's skip simulation flag to an optional skip collision
detection flag.
2021-05-01 14:22:30 +02:00
Evil Eye
bd45449f9d Allow activation of inventory items 2021-05-01 14:07:29 +02:00
jvoisin
998cc97a4f And done! 2021-04-30 20:49:22 +02:00
jvoisin
be371ccd9f An another pass 2021-04-30 20:27:33 +02:00
jvoisin
ee2446d5c4 Trim even more 2021-04-30 20:11:41 +02:00
jvoisin
04edb1c817 Trim down some internal includes 2021-04-30 19:39:26 +02:00
Alexei Dobrohotov
e3bb45fd61 Merge branch 'minor_aicombat' into 'master'
Minor optimization in aicombat.cpp

See merge request 

(cherry picked from commit f1d19035cccfff2523faad0d4e4d96cd3ddae2e6)

bbbfc520 Minor optimization in aicombat.cpp
237b34a6 Fix style
a14911cb Fix indentation
2021-04-26 07:10:41 +00:00
jvoisin
4c96644f8d Use a char instead of a string in find() where possible
This was done via PVS Studio ( https://pvs-studio.com ),
and should provide a super-duper-marginal performance boost \o/
2021-04-25 19:57:09 +02:00
elsid
e1d955d92b
Remove noexcept specifier from CreatureCustomData move ctor
C++17 doesn't allow to declare defaulted move ctor with not matching
exception specification to the calculated one:
/Users/eddie/Downloads/BUILD/openmw-master/apps/openmw/mwclass/creature.cpp:63:9: error:
      exception specification of explicitly defaulted move constructor does not
      match the calculated one
        CreatureCustomData(CreatureCustomData&& other) noexcept = default;
        ^

http://wg21.link/p1286r2 makes this possible in C++20 and newer compilers
already have it working even with -std=c++17 but older onces give an error.
2021-04-24 00:32:22 +02:00
elsid
ca7add0624
Add move constructor to MWMechanics::Spells 2021-04-24 00:32:22 +02:00
elsid
46e34c500c
Use algorithms to add/remove listener to SpellList 2021-04-24 00:32:07 +02:00
Andrei Kortunov
6d351b2bdd Fix MSVC 4706 warnings 2021-04-23 22:53:59 +04:00
Andrei Kortunov
faad18b7f9
Merge pull request from akortunov/warnfix
Fix node masks signed/unsigned mismatch
2021-04-21 09:26:06 +04:00
Andrei Kortunov
b7b85bb713 Disable controllers for found sheath meshes (bug ) 2021-04-20 16:01:01 +04:00
Andrei Kortunov
2d869ca9ff Fix node masks signed/unsigned mismatch 2021-04-20 10:52:51 +04:00
Bret Curtis
50d6cd2a34
Merge pull request from akortunov/coverity
Fix an another portion of Coverity warnings
2021-04-20 07:33:03 +02:00
Andrei Kortunov
d10399e083 Cast double constant to float explicitely 2021-04-19 17:08:03 +04:00
Andrei Kortunov
7d5c5f8a24 Do not assign negative values to unsigned variables 2021-04-19 16:08:19 +04:00
Andrei Kortunov
651ad11ad8 Do not leave variables without initialization, even in execution paths where they are unused 2021-04-19 16:08:10 +04:00
Andrei Kortunov
9647b670e4 Do not declare unused variables 2021-04-19 15:43:00 +04:00
Andrei Kortunov
0cadc97fb3 Fix double -> float conversions 2021-04-19 15:36:58 +04:00
Bret Curtis
befa3f587f
Merge pull request from akortunov/master
Clean up MSVC warnings
2021-04-19 09:27:17 +02:00
AnyOldName3
ce3ed28403 Control stomping via settings. 2021-04-18 21:44:23 +01:00
Alexei Dobrohotov
b29e797b27 Merge branch 'seventh_time_is_the_charm' into 'master'
Unbreak again NPC teleport

See merge request 
2021-04-18 16:36:11 +00:00
Petr Mikheev
5fe10e8e7f Merge branch 'fix-headtracking' into 'master'
Fix headtracking while invisible

See merge request 
2021-04-18 10:54:57 +00:00
Jacob Turnbull
f49b9e3806 Fix headtracking while invisible 2021-04-18 10:54:56 +00:00
fredzio
36bb2d5f15 An actor needs not be in active cell. As such we can't use
PhysicsSystem::getActor() to determine that a ptr is not actor.
2021-04-18 08:45:43 +02:00
Andrei Kortunov
987b231fdd Fix an another portion of Coverity warnings 2021-04-18 07:09:44 +04:00
Andrei Kortunov
f308dde254 Clean up MSVC warnings 2021-04-17 12:14:50 +04:00
Andrei Kortunov
57b501ad13
Merge pull request from akortunov/master
Limit pointers cache size to avoid possible bad_alloc errors
2021-04-17 10:31:47 +04:00
psi29a
d0883f9a0d Merge branch 'light_settings_tweak' into 'master'
Lighting patch

Closes  and 

See merge request 
2021-04-16 19:47:26 +00:00
glassmancody.info
16856d45c5 Lighting Patch
Fixes build errors with older OSG builds and some issues with 'shared' layout.
Bring back ambient in inventory through lightmodel instead of sun ambient, mirrors scene ambient/sunlight relationship.
Forces shaders when certain lighting methods are enabled and finalize settings.
Correctly override sun for localmap.
2021-04-16 11:55:40 -07:00
fredzio
f137b7341f Another fallout from MR 722: objects were treated like actors by
accident. Net effect was that calls to Move/MoveWorld didn't update
position of collision object.
2021-04-16 16:12:31 +02:00
Andrei Kortunov
5de72c94ab Limit pointers cache size to avoid possible bad_alloc errors 2021-04-16 08:10:31 +04:00
psi29a
af8bc7d120 Merge branch 'fixagainsetposforgoodthistimeitwillnotbreakanything' into 'master'
Fix : Follow up MR 722: do not apply mPositionOffset twice when we teleport.

Closes 

See merge request 
2021-04-15 22:09:44 +00:00
fredzio
e31cf7e6ac Follow up MR 722: do not apply mPositionOffset twice when we teleport.
Previous MR change the meaning of mPositionOffset: it is now just a log
of relative movement that were already applied to allow the physics
simulation to catch up, instead of changes that needs to be applied. As
such, after a teleport we need to reset it. Also, since mWorldPosition
is already with the offset we should not update its value in
applyPositionOffset().
2021-04-15 22:32:42 +02:00
Andrei Kortunov
33b8233887 Validate GUI scaling and place it to the launcher 2021-04-15 15:18:32 +04:00
Andrei Kortunov
db1428de18 Move container unresolving to the separate method 2021-04-14 23:03:35 +04:00
fredzio
9d8fcec642 Remove bogus warning. It is a normal situation for projectiles to be
in-flight after the caster is gone.
2021-04-14 09:01:37 +02:00
elsid
0fae6d9a0a
Add walk and swim flags when corresponding speed is positive
This allows to avoid finding path over area that will should have infinite
cost (area_cost = area_cost_factor / area_speed).
2021-04-13 23:27:18 +02:00
elsid
3c4a9069ae
Do not use infinite area cost
Division by zero causes float value to be infinite. When infinite cost is
multiplied by zero distance the result is NaN. After this pathfinding algorithm
state is broken.
2021-04-13 23:27:18 +02:00
psi29a
f1cfdafd4d Merge branch 'why_are_the_christmas_lights_still_up' into 'master'
Remove 8 light limit and add configurable lighting enhancements

See merge request 
2021-04-13 19:15:08 +00:00
glassmancody.info
531a6e1979 Code review fixes, remove implicit GLSL casts 2021-04-13 11:09:54 -07:00
glassmancody.info
582f7b52cf Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 2021-04-13 11:09:52 -07:00
glassmancody.info
9e80091aff clear up force shaders and make it less convoluted 2021-04-13 11:09:49 -07:00
glassmancody.info
b7adb9d088 use true default settings 2021-04-13 11:09:49 -07:00
glassmancody.info
16f80ec6f3 Update settings when using fallback 2021-04-13 11:09:49 -07:00
glassmancody.info
4ba473b684 Finalize settings, torch fix 2021-04-13 11:09:49 -07:00
glassmancody.info
71c30a31df in-game settings, some require restart 2021-04-13 11:09:49 -07:00
glassmancody.info
3d713e8602 Fix incorrect minimum ambient 2021-04-13 11:09:49 -07:00
glassmancody.info
280fd2b162 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 2021-04-13 11:09:35 -07:00
glassmancody.info
cc31e1eea1 Ambient luminance threshold setting 2021-04-13 11:09:35 -07:00