Commit Graph

19737 Commits (00997fa7327293db6075d47d18bd36516537ba44)

Author SHA1 Message Date
Mads Buvik Sandvei d906ec773a Fix hangup on savegame after manual screenshots. 4 years ago
David Cernat 8c7b07b9c8 [Client] Make potion effects work with SpellsActive packets 4 years ago
psi29a dff4b83d9d Merge branch 'stop_threading' into 'master'
Stop osg viewer threading before destructing engine

See merge request OpenMW/openmw!901
4 years ago
elsid 375372981c
Stop osg viewer threading before destructing engine
To avoid rendering while engine parts are destructing.
4 years ago
elsid 105cd5b06f
Add more checks to NavMeshTilesCache tests 4 years ago
David Cernat 7a6dfc61ec Add OpenMW commits up to 21 May 2021
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/mwscript/interpretercontext.cpp
#   components/CMakeLists.txt
4 years ago
fredzio b13afd758c Remove both racy and useless code.
Actor's position can be determined in 3 ways:
1/ as a result of physics simulation
2/ after a script require a relative position change (SetPos, Move)
3/ absolutely set from games mechanics event (teleport) or script
(PositionCell)

In case 1/, RefData::mPosition is updated with the physics simulation result
In case 2/, when RefData::mPosition is updated, physics simulation is informed of the change and update accordingly
In case 3/, when RefData::mPosition is updated, the physics simulation state is reset

In all 3 cases, we don't need to check the RefData::mPosition to get a
correct behaviour.

TSAN reported the following data race:
  Read of size 4 at 0x7b50005b75b0 by thread T12 (mutexes: write M656173, write M84859534346343880):
    #0 ESM::Position::asVec3() const /build/openmw/openmw/master2/.build/freebsd/TSAN/../../.././components/esm/defs.hpp:55:27 (openmw+0xb809d5)
    #1 MWPhysics::Actor::updateWorldPosition() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/actor.cpp:131:59 (openmw+0xb809d5)
    #2 MWPhysics::Actor::setPosition(osg::Vec3f const&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/actor.cpp:177:5 (openmw+0xb809d5)
    #3 MWPhysics::PhysicsTaskScheduler::updateActorsPositions() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:524:28 (openmw+0xb91ac0)
    #4 MWPhysics::PhysicsTaskScheduler::afterPostStep() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:614:13 (openmw+0xb915e7)
    #5 MWPhysics::PhysicsTaskScheduler::worker()::$_5::operator()() const /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:498:45 (openmw+0xb915e7)
    #6 void Misc::Barrier::wait<MWPhysics::PhysicsTaskScheduler::worker()::$_5>(MWPhysics::PhysicsTaskScheduler::worker()::$_5&&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../.././components/misc/barrier.hpp:30:21 (openmw+0xb915e7)
    #7 MWPhysics::PhysicsTaskScheduler::worker() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:498:31 (openmw+0xb915e7)
    #8 MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0::operator()() const /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:162:45 (openmw+0xb92630)
    #9 decltype(std::__1::forward<MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0>(fp)()) std::__1::__invoke<MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0>(MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0&&) /usr/include/c++/v1/type_traits:3899:1 (openmw+0xb92630)
    #10 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0>&, std::__1::__tuple_indices<>) /usr/include/c++/v1/thread:280:5 (openmw+0xb92630)
    #11 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0> >(void*) /usr/include/c++/v1/thread:291:5 (openmw+0xb92630)

  Previous write of size 8 at 0x7b50005b75b0 by main thread:
    #0 memcpy /wrkdirs/usr/ports/devel/llvm-devel/work-default/llvm-project-3f6753efe1990a928ed120bd907940a9fb3e2fc3/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:827:5 (openmw+0x55a057)
    #1 MWWorld::RefData::setPosition(ESM::Position const&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/refdata.cpp:216:19 (openmw+0xa3de1c)
    #2 MWWorld::World::moveObject(MWWorld::Ptr const&, MWWorld::CellStore*, float, float, float, bool) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/worldimp.cpp:1130:26 (openmw+0xa57300)
    #3 MWWorld::World::moveObject(MWWorld::Ptr const&, float, float, float, bool, bool) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/worldimp.cpp:1253:16 (openmw+0xa580c8)
    #4 MWWorld::World::doPhysics(float, unsigned long long, unsigned int, osg::Stats&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/worldimp.cpp:1530:17 (openmw+0xa5af8f)
    #5 MWWorld::World::updatePhysics(float, bool, unsigned long long, unsigned int, osg::Stats&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/worldimp.cpp:1862:13 (openmw+0xa61a7c)
    #6 OMW::Engine::frame(float) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/engine.cpp:333:42 (openmw+0xcce9e7)
    #7 OMW::Engine::go() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/engine.cpp:935:14 (openmw+0xcd86ed)
    #8 runApplication(int, char**) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/main.cpp:296:17 (openmw+0xcbffac)
    #9 wrapApplication(int (*)(int, char**), int, char**, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../components/debug/debugging.cpp:205:15 (openmw+0x1335442)
    #10 main /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/main.cpp:308:12 (openmw+0xcc008a)
:wqa
4 years ago
psi29a 3920477618 Merge branch 'moving_lighting_method_to_graphics' into 'master'
Moving Lighting Method from Advanced -> Visuals to Graphics -> Lighting

See merge request OpenMW/openmw!883
4 years ago
psi29a c4fde03542 Merge branch 'ObjectPagingMergeIssue' into 'master'
Share state

See merge request OpenMW/openmw!879
4 years ago
Thunderforge 4a15868c0e Moving Lighting Method from Advanced -> Visuals to Graphics -> Lighting
The plan is to add additional options to this new tab, and since it's of similar status as the Shaders settings, it makes sense to put them next to them on the Graphics page.
4 years ago
CedricMocquillon d11a6bd92c Share state 4 years ago
Atahualpa 3a1243a5d0 Rebased branch, reduced code duplication, added comments, adjusted formatting. 4 years ago
Atahualpa ca80aeaaea Fix vertex calculation for cell-border drawing. 4 years ago
Atahualpa 356efa15a2 Fixes #6035 (circle brush selects outside of circle) and #6036 (some corner vertices not selected). 4 years ago
Atahualpa 7be891b440 Directly use Geometry instead of Geode; fix for loop; add size_t type-cast. 4 years ago
Atahualpa 73949d5bd0 Updating the CMake file isn't a bad idea either... 4 years ago
Atahualpa 6c49074765 Remove old references to Cell class. 4 years ago
Atahualpa 008bf64dd9 Second step toward fixing terrain selection issues. 4 years ago
Atahualpa 18ea4d8eb2 First step toward fixing terrain selection issues. 4 years ago
Bret Curtis 373f8636b7
Merge pull request #3092 from akortunov/master
Do not trigger in-game bindings via mouse buttons when controls are disabled
4 years ago
psi29a ae66afb219 Merge branch 'less_verbose' into 'master'
Make the code less verbose.

See merge request OpenMW/openmw!874
4 years ago
psi29a e9fbd76e9b Merge branch 'windows_tests' into 'master'
Support running tests and benchmarks for windows

See merge request OpenMW/openmw!839
4 years ago
psi29a 4bc7012104 Merge branch 'pack-default-settings' into 'master'
Pack default settings

Closes #5925

See merge request OpenMW/openmw!822
4 years ago
elsid 3ef1b27099
Add missing includes 4 years ago
psi29a f1f1703441 Merge branch 'fix_navmesh_wait' into 'master'
Fix redundant waiting until navmesh is generated

See merge request OpenMW/openmw!861
4 years ago
Andrei Kortunov c11774f278 Do not trigger in-game bindings via mouse buttons when controls are disabled (bug #6047) 4 years ago
AnyOldName3 c2e4eda825 Merge branch '6013-fix' into 'master'
Retain draw callback

Closes #6013 and #5967

See merge request OpenMW/openmw!875
4 years ago
madsbuvi f3e17e7c52 Don't redundantly call notify on every frame. 4 years ago
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
4 years ago
Frederic Chardon 38db2f8810 Merge branch 'includes_mwgui' into 'master'
Remove some useless includes from apps/openmw/mwgui

See merge request OpenMW/openmw!870
4 years ago
madsbuvi 5b9a2b73b0 Retain final draw callback as a member variable in ScreenshotManager, and do not call setFinalDrawCallback after init. 4 years ago
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
David Cernat 85ab67fff4 [Server] Use consistent order for script functions for Spells
Fix a small typo.
4 years ago
David Cernat 1f3a17eff7 [Client] Remove pointless declaration of DedicatedPlayer as struct
This seems to have been a typo left over from Koncord's early work on the project.
4 years ago
David Cernat e00ee1425a [Client] Reload DedicatedActor ptrs when setting their active spells
This makes the spells' visual effects appear correctly.
4 years ago
psi29a 08e1a8e0fb Merge branch 'esm_opti' into 'master'
Teensy optimisation for esmtool

See merge request OpenMW/openmw!826
4 years ago
David Cernat 1eeee29d51 [General] Implement ActorSpellsActive packet, part 2
Additions and removals of actors' active spells can now be saved to and loaded from the server.
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
David Cernat ea6d5c68ae Add OpenMW commits up to 6 May 2021
# Conflicts:
#   CMakeLists.txt
#   components/CMakeLists.txt
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
David Cernat a3f304107b Add OpenMW commits up to 2 May 2021
# Conflicts:
#   components/CMakeLists.txt
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
David Cernat 7690f3c90e [Client] Don't apply spell effects unilaterally on DedicatedActors 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
David Cernat bf0a42fdad [General] Implement ActorSpellsActive packet, part 1
The packet can now set the active spells of DedicatedActors.
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
Andrei Kortunov f308dde254 Clean up MSVC warnings 4 years ago
Andrei Kortunov 57b501ad13
Merge pull request #3067 from akortunov/master
Limit pointers cache size to avoid possible bad_alloc errors
4 years ago
unelsson 06fda4c5a1 QLineEdit for setting base animation files 4 years ago
unelsson 95272e0f14 String setting to CSMPrefs, part of dehardcoding animation files 4 years ago
David Cernat 6766206a76 [Client] Add check for local player when sending active spell removal 4 years ago
psi29a d0883f9a0d Merge branch 'light_settings_tweak' into 'master'
Lighting patch

Closes #5957 and #5959

See merge request OpenMW/openmw!752
4 years ago
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.
4 years ago
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.
4 years ago
Andrei Kortunov 5de72c94ab Limit pointers cache size to avoid possible bad_alloc errors 4 years ago
psi29a af8bc7d120 Merge branch 'fixagainsetposforgoodthistimeitwillnotbreakanything' into 'master'
Fix #5961: Follow up MR 722: do not apply mPositionOffset twice when we teleport.

Closes #5961

See merge request OpenMW/openmw!744
4 years ago
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().
4 years ago
Andrei Kortunov 33b8233887 Validate GUI scaling and place it to the launcher 4 years ago
Andrei Kortunov db1428de18 Move container unresolving to the separate method 4 years ago
Bret Curtis 4f72fa2615
Merge pull request #3063 from akortunov/master
Code cleanup, part 2
4 years ago
fredzio 9d8fcec642 Remove bogus warning. It is a normal situation for projectiles to be
in-flight after the caster is gone.
4 years ago
Andrei Kortunov 016a1d45df Remove outdated field - remnant from earlier implementation 4 years ago
Andrei Kortunov 388573cf60 Fix uninitialized fields in the essimporter 4 years ago
David Cernat cedf70f367 Add OpenMW commits up to 13 Apr 2021
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/actors.cpp
#   apps/openmw/mwmechanics/summoning.cpp
#   apps/openmw/mwphysics/mtphysics.hpp
4 years ago
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).
4 years ago
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.
4 years ago
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 OpenMW/openmw!618
4 years ago
glassmancody.info 531a6e1979 Code review fixes, remove implicit GLSL casts 4 years ago
glassmancody.info 582f7b52cf Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info 9e80091aff clear up force shaders and make it less convoluted 4 years ago
glassmancody.info b7adb9d088 use true default settings 4 years ago
glassmancody.info d4e7d25d14 Make life not suck for whoever wants to edit lighting shaders 4 years ago
glassmancody.info 16f80ec6f3 Update settings when using fallback 4 years ago
glassmancody.info 4ba473b684 Finalize settings, torch fix 4 years ago
glassmancody.info 71c30a31df in-game settings, some require restart 4 years ago
glassmancody.info 3d713e8602 Fix incorrect minimum ambient 4 years ago
glassmancody.info 280fd2b162 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info cc31e1eea1 Ambient luminance threshold setting 4 years ago
glassmancody.info 690995988b More formatting, OpenCS cells are unbroken 4 years ago
glassmancody.info 142c6d2993 Enable groundcover lighting for non FFP 4 years ago
glassmancody.info 328ec85757 Code review cleanup, add setting documentation 4 years ago
glassmancody.info 7370acdf54 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info 43ac32921c Rewrite, support different lighting methods 4 years ago
glassmancody.info 9d9074c244 Add shared UBO 4 years ago
glassmancody.info c5ea966f24 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info dda735c54a initial commit 4 years ago
psi29a 0a6ef9c1bd Merge branch 'swim_when_follow' into 'master'
Allow actors to find path over water surface (#5943)

See merge request OpenMW/openmw!731
4 years ago
Evil Eye 56ede535b5 Don't perform a hit test outside the page's bounds 4 years ago
psi29a 0818a10df2 Merge branch 'baby_dont_throw_me_no_more' into 'master'
Catch exceptions in ResolutionListener

Closes #5946

See merge request OpenMW/openmw!727
4 years ago
elsid 28fc21792e
Allow water walking actors to find path over water surface 4 years ago
elsid 634556be9d
Add setting to allow following creatures to find path over water surface 4 years ago
fredzio 32981bcd88 Constify a few things 4 years ago
fredzio efb241f1de Use override instead of virtual 4 years ago
fredzio fda639eb57 Remove unused forward declarations 4 years ago
Evil Eye b91be1e803 Catch exceptions in ResolutionListener 4 years ago
psi29a 301411c5c5 Merge branch 'esm_variant' into 'master'
Use std::variant for ESM::Variant implementation

See merge request OpenMW/openmw!719
4 years ago
psi29a 603e4206fd Merge branch 'teleport_here_not_there' into 'master'
Fix  #5919 (and another bug)

Closes #5919

See merge request OpenMW/openmw!722
4 years ago
Andrei Kortunov f984e96b34 Use conventional names for atan2 arguments 4 years ago
Andrei Kortunov 1db369f418 Do not use unchecked value in calculations 4 years ago
Andrei Kortunov 903b89a0ff Add bound for UI scale factor, as it specified in docs 4 years ago
Andrei Kortunov c989fac67b Add bound for pointers cache size, as it specified in docs 4 years ago
Andrei Kortunov 124a33d8a3 Fix uninitialized variables 4 years ago
Andrei Kortunov b96929f3fc Avoid division by zero 4 years ago
fredzio 8874a5be22 Change (again) the way SetPos behave.
Instead of registering the desired change of position and rely on
physics simulation to apply it to the world, immediately change the
position in the world without reset the simulation.
4 years ago
fredzio 6e1c67a9ae Account for waterwalking when updating position. Otherwise we might
trace down the actor at waterlevel at the wrong coordinate.

Triggered by multimark mod with waterwalking effect.
4 years ago
psi29a 484c46cb58 Merge branch 'hrtf-setting' into 'master'
Add Audio settings to openmw-launcher

See merge request OpenMW/openmw!692
4 years ago
Simon Meulenbeek 75b4871bab Add Audio settings to openmw-launcher 4 years ago