Commit Graph

3712 Commits (341ca691fc8a465a81b48d7953fc800a887b46fd)

Author SHA1 Message Date
David Cernat 341ca691fc Merge branch '0.8.1' of https://github.com/TES3MP/TES3MP into 0.8.1-vr 3 years ago
David Cernat eb1c894038 [Client] Add clearer debug for bad LiveCellRef casts 3 years ago
David Cernat c90a9ab132 Merge branch '0.8.1' of https://github.com/TES3MP/TES3MP into 0.8.1-vr
# Conflicts:
#	apps/openmw/mwworld/projectilemanager.cpp
3 years ago
David Cernat f0a22495a2 [General] Synchronize origin and orientation for magical projectiles 3 years ago
David Cernat 12b149c598 [VR Client] Use ObjectActivate when activating objects in VR 3 years ago
David Cernat a032c8d399 Add TES3MP 0.8.0 commits up to 28 Apr 2022
# Conflicts:
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
3 years ago
David Cernat 43f531e9a5 [Client] Reuse Pathgrid records from base Cells when creating new Cells 3 years ago
David Cernat bb5aa90a6d [Client] Use simpler conditions for sending PlayerInventory packets
This fixes a problem with Take All not sending PlayerInventory packets.
3 years ago
David Cernat 17715933b5 [Client] Add actorsOnly argument to CellStore's exact object search 3 years ago
David Cernat cc8c222d18 [General] Combine CellStore's exact object searches 3 years ago
David Cernat 6875c3422f [Client] Make player inventory items recharge by themselves again
This fixes 4476609872.
3 years ago
David Cernat 339a196579 Add OpenMW VR commits up to 4 Jul 2021
# Conflicts:
#   CMakeLists.txt
#   LICENSE
#   README.md
#   apps/openmw/CMakeLists.txt
#   apps/openmw/engine.cpp
#   apps/openmw/mwclass/creature.cpp
#   apps/openmw/mwclass/npc.cpp
#   apps/openmw/mwclass/npc.hpp
#   apps/openmw/mwinput/bindingsmanager.cpp
#   apps/openmw/mwmechanics/combat.cpp
3 years ago
David Cernat 646ffc7afe [Client] Add a new type of search to CellStore that also checks refIds 3 years ago
David Cernat 572b16af41 Add OpenMW 0.47 commits to OpenMW VR up to 4 Dec 2021
# Conflicts:
#   .gitlab-ci.yml
#   CI/before_script.msvc.sh
#   CI/install_debian_deps.sh
#   CMakeLists.txt
#   apps/openmw/mwrender/screenshotmanager.cpp
#   files/ui/advancedpage.ui
3 years ago
David Cernat 20e37204d0 [Client] Ensure physics actor is valid in World::setOnGround()
Do the same in World::setInertialForce()
3 years ago
David Cernat e010c61167 Add OpenMW 0.47 commits up to 10 Oct 2021 3 years ago
David Cernat 3e81371e53 [General] Fix jump synchronization for players
This had been broken by fr3dz10's physics rewrites from the earlier part of the year that made it so dedicated players were always regarded by the movement solver as being on the ground.
3 years ago
David Cernat 1ba36076f3 [Client] Update 3rd person model of local player when unequipping
This had apparently been broken by the fact that I had made inventory listeners get run only for actors in active cells in 385ef55848. Strangely, the player Ptr passed to fireEquipmentChangedEvent() when unequipping items has as its cell the player's original spawn cell instead of the current cell, causing the active cell check to return false in most locations for the player.
3 years ago
fredzio 32108adc31 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.
3 years ago
David Cernat 26033ff7e7 Add OpenMW 0.47 commits up to 4 Aug 2021 3 years ago
elsid 08b026e907
Store copies of ref_ptr for btCollisionShape wrappers in Navigator
To keep btCollisionShape lifetime.
3 years ago
David Cernat 0567dc1fd4 Add OpenMW 0.47 commits up to 25 Jul 2021 3 years ago
fredzio 9d17cece3a 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.
3 years ago
David Cernat a78a88ed6d [Client] Make World::searchPtrViaActorId() also find DedicatedPlayers 4 years ago
psi29a dfacaa3711 Merge branch 'fix_navmesh_update' into 'master'
Fix navmesh update on opening/closing door

See merge request OpenMW/openmw!995

(cherry picked from commit 9123db3a5954dd082f501151cba0a08bfe3ff908)

c7c0d11c Trigger navmesh update when any navigator object has been updated
4 years ago
David Cernat 6b45a48116 Add OpenMW 0.47 commits up to 1 Jul 2021
# Conflicts:
#   components/CMakeLists.txt
4 years ago
psi29a fa30531461 Merge branch 'positively_glowing' into 'master'
Detach objects from the active grid when attempting to get their animation

Closes #6105

See merge request OpenMW/openmw!951

(cherry picked from commit 7d8949ec3fcd1919da59308deab06433136f6629)

692615fd Detach objects from the active grid when attempting to get their animation
4 years ago
David Cernat 1f0cb09933 Add OpenMW commits up to 1 Jun 2021
# Conflicts:
#   .travis.yml
#   README.md
4 years ago
Evil Eye b8472e1303 Use modified paralyze magnitude to fall and float 4 years ago
psi29a 9dfba37ce9 Merge branch 'fix_big_object_navmesh_update' into 'master'
Fix overwhelming recast mesh and navmesh updates for big rotating objects (#6060)

Closes #6060

See merge request OpenMW/openmw!911
4 years ago
elsid 4a6961b365
Trigger navmesh update on moved player only when player tile has been changed 4 years ago
elsid 3915e5d2cc
Always center loading screen progress bar by height when there is active message box
To fix all possible situations when active message box overlaps with loading
screen progress.

The only used condition to center loading screen progress by height is
number of message boxes > 0. No need to pass it through interface.
LoadingScreen can check it inside setLabel function.
4 years ago
madsbuvi 16ea254fc1 Fix compilation error for openmw target 4 years ago
madsbuvi abee6ca841 Fix #109 also fixes lack of motion controller interaction during main menu and load game. 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
psi29a ae66afb219 Merge branch 'less_verbose' into 'master'
Make the code less verbose.

See merge request OpenMW/openmw!874
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
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
fredzio c55db790f3 Make the code less verbose / more readable using for range loop and
structured binding.

No functional changes.
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
jvoisin 7deb6a6ffd Use const references when possible in for loops
No need for useless copies.
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 f2188d2533
Reduce temporary allocations on ESM loading
By moving objects instead of copying when possible.
4 years ago
jvoisin 690d85d0e9 Don't use at() instead [] when length is checked/known 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
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
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
David Cernat ea6d5c68ae Add OpenMW commits up to 6 May 2021
# Conflicts:
#   CMakeLists.txt
#   components/CMakeLists.txt
4 years ago