Commit Graph

17383 Commits (b31750a33720069888c086df950fd628405f0a84)

Author SHA1 Message Date
Frederic Chardon 807c7a2025 Merge branch 'useless_includes_mwmechanics' into 'master'
Remove some useless headers in apps/openmw/mwmechanics

See merge request OpenMW/openmw!871
4 years ago
fredzio 5b63019719 Embed actor velocity inside its class. It makes the code simpler. 4 years ago
fredzio c55db790f3 Make the code less verbose / more readable using for range loop and
structured binding.

No functional changes.
4 years ago
Frederic Chardon 730f1fe2a7 Merge branch 'useless_includes_mwphysics' into 'master'
Remove some useless includes in apps/openmw/mwphysics

See merge request OpenMW/openmw!872
4 years ago
jvoisin 9373e4ada7 Remove some useless includes in apps/openmw/mwphysics 4 years ago
jvoisin 9522a64e7d Remove some useless includes from apps/openmw/mwgui 4 years ago
jvoisin 1cd15613a6 Remove some useless headers in apps/openmw/mwmechanics 4 years ago
psi29a 3d61d7ec9a Merge branch 'optimize_initial_load' into 'master'
Optimize engine initial loading time

See merge request OpenMW/openmw!867
4 years ago
Evil Eye 6cb6461cba Merge branch 'const_ref_it' into 'master'
Use const references when possible in for loops

See merge request OpenMW/openmw!869
4 years ago
jvoisin 7deb6a6ffd Use const references when possible in for loops
No need for useless copies.
4 years ago
jvoisin c1e3869f25 Remove an unused struct 4 years ago
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%.
4 years ago
elsid 9938af2289
Use unordered_map for ref count
Reduces ESMStore::countRecords time by 8%.
4 years ago
elsid 6248dc72cb
Convert to lower case only when needed 4 years ago
elsid f2188d2533
Reduce temporary allocations on ESM loading
By moving objects instead of copying when possible.
4 years ago
Bret Curtis 8a315b01ae
Merge pull request #3089 from xyzz/fix-journalbooks-ub
Fix out-of-bounds access in JournalBooks::createCyrillicJournalIndex
4 years ago
Ilya Zhuravlev 13f060623f Fix out-of-bounds access in JournalBooks::createCyrillicJournalIndex 4 years ago
jvoisin 690d85d0e9 Don't use at() instead [] when length is checked/known 4 years ago
Andrei Kortunov b63f53f5bb Disable shield animation when we launch a torch one (bug #6043) 4 years ago
AnyOldName3 5d83de189a Merge branch 'insert_or_assign' into 'master'
Use insert_or_assign() instead of hand rolled version.

See merge request OpenMW/openmw!862
4 years ago
fredzio fb344d27e0 Use insert_or_assign() instead of hand rolled version. 4 years ago
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.
4 years ago
Bret Curtis 66a527c3de
Merge pull request #3075 from akortunov/warnfix
Fix MSVC's C4244 and C4267 warnings
4 years ago
psi29a 3944648f0b Merge branch 'opencs_remove_inclde' into 'master'
Remove some superfluous includes in the opencs

See merge request OpenMW/openmw!829
4 years ago
jvoisin 06ae26037f Remove some superfluous includes in the opencs 4 years ago
psi29a 6a5a9fbde4 Merge branch 'static-access' into 'master'
[Launcher] Replacing static method access through instances

See merge request OpenMW/openmw!834
4 years ago
psi29a fd89582e0c Merge branch 'navmesh_wait' into 'master'
Wait until navmesh is generated within given distance around player (#5500)

Closes #5500

See merge request OpenMW/openmw!819
4 years ago
Andrei Kortunov 963e1b8b3f Fix MSVC's C4244 warnings 4 years ago
Andrei Kortunov f9d42ed396 Fix MSVC's C4267 warnings 4 years ago
Andrei Kortunov 49a744b65a Make groundcover to use rendering distance in units instead of cells 4 years ago
elsid 4d7e5245a3
Support benchmarks for windows
Don't run the binary because gitlab can't execute it successfully due to
unknown reason.
4 years ago
psi29a f7b8c817f8 Merge branch 'performance-faster-string-find' into 'master'
Fixing performance-faster-string-find issues

See merge request OpenMW/openmw!842
4 years ago
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).
4 years ago
Bret Curtis 08059247b8
Merge pull request #3081 from akortunov/master
Skip hidden nodes for ObjectPaging
4 years ago
psi29a 13fd0e11ff Merge branch 'no_time_to_talk' into 'master'
Don't stop and turn to the player while sneaking or jumping

Closes #6016

See merge request OpenMW/openmw!838
4 years ago
AnyOldName3 09f39b29f0 Load defaults.bin instead of settings-default.cfg. Do not decode yet. 4 years ago
AnyOldName3 92325976e9 Update documentation to refer to defaults.bin 4 years ago
AnyOldName3 0d737a3501 Create defaults.bin at configure time 4 years ago
Evil Eye c5aa3d4f77 Don't stop and turn to the player while sneaking or jumping 4 years ago
Evil Eye ffd84502f9 Remove unimplemented method declaration 4 years ago
Andrei Kortunov 132fedf290 Analyze only used LOD levels in ObjectPaging 4 years ago
Andrei Kortunov a939cb6692 Skip hidden nodes for ObjectPaging 4 years ago
Thunderforge ead51784dc [Launcher] Replacing static method access through instances
This addresses the Clang Tidy check [readability-static-accessed-through-instance](https://clang.llvm.org/extra/clang-tidy/checks/readability-static-accessed-through-instance.html). It also simplifies the code by reducing the number of parameters we're passing around.
4 years ago
Frederic Chardon caf382c19f Merge branch 'barrier' into 'master'
Do not store callback inside Misc::Barrier

See merge request OpenMW/openmw!821
4 years ago
psi29a 08e1a8e0fb Merge branch 'esm_opti' into 'master'
Teensy optimisation for esmtool

See merge request OpenMW/openmw!826
4 years ago
psi29a 9b017ef04d Merge branch 'internal_includes_openmw' into 'master'
Clean up some internal includes of the openmw component

See merge request OpenMW/openmw!796
4 years ago
Andrei Kortunov a0582caa26 Fix uninitialized variable 4 years ago
jvoisin e97e4d07dd Teensy optimisation for esmtool
- Use an unordered_set instead of a list to
  keep track of skipped records.
- Reduce the number of conditions when parsing 4-letters
  records by using a switch-case instead of cascading conditions.
- Add a const
4 years ago
elsid 00de80c884 Merge branch 'deadcode' into 'master'
GC some unused code, simplify some other

See merge request OpenMW/openmw!820
4 years ago
fredzio e99b61d362 Simplify the code 4 years ago
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.
4 years ago
fredzio 00de540a31 Remove unused function. 4 years ago
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.
4 years ago
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.
4 years ago
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 OpenMW/openmw!714
4 years ago
psi29a 9eb876cc17 Merge branch 'read_me' into 'master'
Allow activation of inventory items

Closes #5991

See merge request OpenMW/openmw!788
4 years ago
psi29a 6ac4dfbeb7 Merge branch '9001st_time_the_charm' into 'master'
Rework again scripted movements

See merge request OpenMW/openmw!799
4 years ago
psi29a 15f6932aaa Merge branch 'openmwizzrd_include' into 'master'
Remove some useless includes from the wizzard

See merge request OpenMW/openmw!767
4 years ago
psi29a 6513c38875 Merge branch 'clean_navigator' into 'master'
Remove redundant and useless code from navigator

See merge request OpenMW/openmw!815
4 years ago
psi29a b10a817f7e Merge branch 'useuless_launcher' into 'master'
Remove some useless includes from the launcher

See merge request OpenMW/openmw!775

(cherry picked from commit a84bd643b334eb6ac715681c497184ac22212ced)

d3fff8cf Remove some useless includes from the launcher
4 years ago
elsid ec87b3f8f7
Remove redundant ChunkyTriMesh
This AABB tree required when need to filter out input mesh that has not
influence navmesh tile output. This filtering is already done before. Each
recast mesh corresponds to a single navmesh tile and has appropriate bounds.
4 years ago
jvoisin d45184a730 Sprinkle some const-ref to avoid unnecessary copies 4 years ago
Chris Djali f0cef87cd8
Merge pull request #3069 from akortunov/msvc_warnings
Rework warnings settings
4 years ago
fredzio 4fa0972b2d Tone down actor's skip simulation flag to an optional skip collision
detection flag.
4 years ago
Evil Eye bd45449f9d Allow activation of inventory items 4 years ago
jvoisin 998cc97a4f And done! 4 years ago
jvoisin be371ccd9f An another pass 4 years ago
jvoisin ee2446d5c4 Trim even more 4 years ago
jvoisin 04edb1c817 Trim down some internal includes 4 years ago
psi29a 16bb3919d1 Merge branch 'navmesh_cache_simplification' into 'master'
Simplify navmesh cache

See merge request OpenMW/openmw!691
4 years ago
Alexei Dobrohotov e3bb45fd61 Merge branch 'minor_aicombat' into 'master'
Minor optimization in aicombat.cpp

See merge request OpenMW/openmw!737

(cherry picked from commit f1d19035cccfff2523faad0d4e4d96cd3ddae2e6)

bbbfc520 Minor optimization in aicombat.cpp
237b34a6 Fix style
a14911cb Fix indentation
4 years ago
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/
4 years ago
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.
4 years ago
elsid ca7add0624
Add move constructor to MWMechanics::Spells 4 years ago
elsid 46e34c500c
Use algorithms to add/remove listener to SpellList 4 years ago
Andrei Kortunov 6d351b2bdd Fix MSVC 4706 warnings 4 years ago
Simon Meulenbeek cd419256ad don't forget to close the audio device after you're done with it. 4 years ago
jvoisin fb55207328 Remove some useless includes from the wizzard 4 years ago
Andrei Kortunov faad18b7f9
Merge pull request #3072 from akortunov/warnfix
Fix node masks signed/unsigned mismatch
4 years ago
Andrei Kortunov b7b85bb713 Disable controllers for found sheath meshes (bug #5975) 4 years ago
Andrei Kortunov 2d869ca9ff Fix node masks signed/unsigned mismatch 4 years ago
Bret Curtis 50d6cd2a34
Merge pull request #3070 from akortunov/coverity
Fix an another portion of Coverity warnings
4 years ago
Andrei Kortunov d10399e083 Cast double constant to float explicitely 4 years ago
Andrei Kortunov 7d5c5f8a24 Do not assign negative values to unsigned variables 4 years ago
Andrei Kortunov 651ad11ad8 Do not leave variables without initialization, even in execution paths where they are unused 4 years ago
Andrei Kortunov 9647b670e4 Do not declare unused variables 4 years ago
Andrei Kortunov 0cadc97fb3 Fix double -> float conversions 4 years ago
Bret Curtis befa3f587f
Merge pull request #3068 from akortunov/master
Clean up MSVC warnings
4 years ago
psi29a b645c1f4c0 Merge branch 'navmesh_ignore' into 'master'
Do not trigger NavMesh update when RecastMesh update should not change NavMesh (#4917)

See merge request OpenMW/openmw!762
4 years ago
psi29a f3354c509e Merge branch 'stomp' into 'master'
Adjustable Stomp

See merge request OpenMW/openmw!575
4 years ago
elsid 3e67f5ffa5
Detect and ignore updates for oscillating objects
To avoid triggering NavMesh update when RecastMesh change should not change
NavMesh.

Based on the following assumption:
Given a set of transformations and a bounding shape for all these
tranformations, a new object transformation that does not change this
bounding shape also should not change navmesh if for all of this object
transformations resulting navmesh tiles are equivalent

The idea is to report back to RecastMeshManager all changes of NavMesh if there
are any assiciated with RecastMesh version. So we know the last time when
RecastMesh change resulted into the NavMesh change. When later report shows
that there was no NavMesh change for a new RecastMesh version we can assume
that any object transformation within the same bounding box should not change
NavMesh.
4 years ago
AnyOldName3 ce3ed28403 Control stomping via settings. 4 years ago
psi29a 3423d3f882 Merge branch 'various_warn' into 'master'
Fix various warnings found by clang

See merge request OpenMW/openmw!758
4 years ago
Alexei Dobrohotov b29e797b27 Merge branch 'seventh_time_is_the_charm' into 'master'
Unbreak again NPC teleport

See merge request OpenMW/openmw!760
4 years ago
Petr Mikheev 5fe10e8e7f Merge branch 'fix-headtracking' into 'master'
Fix headtracking while invisible

See merge request OpenMW/openmw!743
4 years ago
Jacob Turnbull f49b9e3806 Fix headtracking while invisible 4 years ago
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.
4 years ago
Andrei Kortunov 987b231fdd Fix an another portion of Coverity warnings 4 years ago
psi29a 50db75bd13 Merge branch 'settingstocs_csmprefs' into 'master'
Dehardcode animations in OpenMW-CS (CSMPrefs method)

See merge request OpenMW/openmw!742
4 years ago
jvoisin 38316cdaf8 Fix various warnings found by clang
- unused alias
- inefficient use of push_back
- exceptions not inheriting from std::exception
- weird use of a comma
- value compared against itself
4 years ago