Commit Graph

3462 Commits (00997fa7327293db6075d47d18bd36516537ba44)

Author SHA1 Message Date
David Cernat a3f304107b Add OpenMW commits up to 2 May 2021
# Conflicts:
#   components/CMakeLists.txt
4 years ago
jvoisin be371ccd9f An another pass 4 years ago
jvoisin ee2446d5c4 Trim even more 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 ca7add0624
Add move constructor to MWMechanics::Spells 4 years ago
elsid 46e34c500c
Use algorithms to add/remove listener to SpellList 4 years ago
David Cernat 7690f3c90e [Client] Don't apply spell effects unilaterally on DedicatedActors 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 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
Jacob Turnbull f49b9e3806 Fix headtracking while invisible 4 years ago
Andrei Kortunov f308dde254 Clean up MSVC warnings 4 years ago
David Cernat 6766206a76 [Client] Add check for local player when sending active spell removal 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
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
Andrei Kortunov f984e96b34 Use conventional names for atan2 arguments 4 years ago
Jonas Tobias Hopusch 799cf16f31
Attempt to fix #5942
Closes OpenMW/openmw#5942
This is an attempt to apply the fix suggested by @Capostrophic
4 years ago
Andrei Kortunov 59720aea9a Restore old aiming for melee combat 4 years ago
Andrei Kortunov 50352daf90 Rework knockdown and knockout animations fallbacks 4 years ago
Andrei Kortunov b61337643e Merge branch 'issue-5680' into 'master'
change aim calculation

See merge request OpenMW/openmw!685
4 years ago
Max 2cd96e56d5 create constant and use constant in other parts of the code base 4 years ago
elsid 453e94ea9f
Use half extents for destination distance tolerance in AiEscort
For actors moving in water destination may be located at such z coordinate
that they can't reach.
4 years ago
elsid f32e1790bc
Add half extents to AiEscord max distance
For actors with big bounding box given constants may not work properly like
it's not possible to get close enough to actor from a given angle to make it
move.
4 years ago
elsid 39c0ce9ddf
Build limited path for far destinations
When distance between start and end point is greater than max radius of area
possibly covered by navmesh there is no way to find path via navmesh. Also if
distance is greater than cell size navmesh might not exists withing mentioned
area because cell is not loaded therefore navmesh is not generated. So minumum
of these values is used to limit max path distance. Assuming that path
actually exists it's possible to build path to the edge of a circle. When
actor reaches initial edge path is built further. However it will not be
optimal.
4 years ago
psi29a 415591b7ed Merge branch 'ai_reaction_deviation' into 'master'
Distribute AI reactions and engage combat calls over time

See merge request OpenMW/openmw!674
4 years ago
Evil Eye 8e9bd5c0bd Don't throw an exception when equipping a bound item fails 4 years ago
Evil Eye 580fa78034 Don't purge summon effects with invalid creature ids 4 years ago
Petr Mikheev 7bbbe40abe "static const" -> "static constexpr" in headers 4 years ago
David Cernat 59cb31e0a7 Add OpenMW commits up to 20 Mar 2021
# Conflicts:
#   apps/openmw/CMakeLists.txt
#   apps/openmw/mwmechanics/aipursue.cpp
#   components/CMakeLists.txt
4 years ago
elsid 62c0ecbbd0
Separate engage combat timer for each actor
Use DeviatingPeriodicTimer to distribute calls over time. This reduces
stuttering and make AI more natural.
4 years ago
elsid 675c0ab72f
Apply uniform random deviation to AI reaction timer
This allows to distribute AI reaction calls over time.

Before this change actors appearing at the same frame will react in the same
frame over and over because AI reaction period is constant. It creates a
non-uniform CPU usage over frames. If a single frame has too many AI reactions
it may cause stuttering when there are too many actors on a scene for current
system.

Another concern is a synchronization of actions between creatures and NPC.
They start to go or hit at the same frame that is unnatural.
4 years ago
Evil Eye c2580d60e9 Register copied Spells with SpellList 4 years ago
Petr Mikheev 447c3b9489 Fix 5846 4 years ago
Dobrohotov Alexei fc329050b3 AIPursue: Pursue the player until LOS is established (#5869) 4 years ago
Evil Eye e2fc5d87b3 Merge branch 'elemental_shields' into 'master'
Don't let elemental shields harm the player in god mode

Closes #5875

See merge request OpenMW/openmw!631
4 years ago
Alexei Dobrohotov 023bc80f55 Don't let elemental shields harm the player in god mode 4 years ago
David Cernat 7e188f2dd6 Add OpenMW commits up to 14 Feb 2021
# Conflicts:
#   apps/openmw/mwclass/door.cpp
#   apps/openmw/mwscript/aiextensions.cpp
4 years ago
elsid 8dba61f7ae
Use navmesh raycast to find reachable position around target 4 years ago
elsid becccf3b5e
Make actor flee from a combat when cannot reach a target 4 years ago
psi29a 7a9eb34403 Merge branch 'master' into 'freeunrealestate'
# Conflicts:
#   CHANGELOG.md
4 years ago
Evil Eye af0f94f03e Play damage sound when hurt by elemental shields 4 years ago
Evil Eye e4cd89643f Merge branch 'master' of gitlab.com:OpenMW/openmw into freeunrealestate 4 years ago
Evil Eye 6aa75c287a Don't check magicka when casting free spells 4 years ago
psi29a e6607486f5 Merge branch 'jfmherokiller-master-patch-23743' into 'master'
Fix the regression involving Cure

See merge request OpenMW/openmw!582
4 years ago
Noah Gooder e42b67ee50 Modified actors.cpp and Authors.md 4 years ago
David Cernat e1259fdc41 Add OpenMW commits up to 4 Feb 2021
# Conflicts:
#   apps/openmw/engine.cpp
#   apps/openmw/mwmechanics/npcstats.hpp
#   apps/openmw/mwrender/globalmap.cpp
4 years ago
Evil Eye 61e014a765 Allow negative values for ai stats 4 years ago
Jordan Francis Moran-Meyers 0d1c073cfa Fix the regression involving Cure 4 years ago
Petr Mikheev 9590377f22 Don't ignore Z in path finding if actor can move by Z. 4 years ago
Petr Mikheev 642ca02e35 Shorten almost straight paths only if smooth movement is enabled; reduce angle limit for the shortening. 4 years ago
elsid a3ab8dfbb4 Revert "Merge branch 'movement_fix2' into 'master'"
This reverts merge request !496
4 years ago
Petr Mikheev bc2cec86e9 Fix bug: NPCs doesn't move if the target is exactly above or exactly below. 4 years ago
psi29a c6f14cde20 Merge branch 'Show-level-multipliers-in-levelup-tooltip' into 'master'
Show level multipliers in levelup tooltip

Closes #5783

See merge request OpenMW/openmw!518
4 years ago
Cédric Mocquillon 3bb551a6f1 Show level multipliers in levelup tooltip 4 years ago
fredzio 1f4c85520f Use convexSweepTest for projectile movement to solve any
imprecision issue with projectile collision detection.
Simplify the mechanics: manage hits in one spot.
Give magic projectiles a collision shape similar in size to their visible
model.

Rename the 2 convex result callback to clearly state their purpose.
4 years ago
Alexei Dobrohotov 4638fc36b4 Allow all creatures to float to the water surface 4 years ago
psi29a 29fdcb3fa1 Merge branch 'hardlanding' into 'master'
Init mJumpState based on saved fallheight (#5739)

See merge request OpenMW/openmw!532
4 years ago
fredzio 3087ce9c70 Use saved fallheight to determine a character's jump state.
The jump state initial state is "none", and it is set after physics simulation.
If a save is done just above the ground, the character may land before
the first run of the simulation, effectively cancelling the effect of
falling.
4 years ago
Evil Eye 1ab4683dce Tweak follow distance to be more like the original 4 years ago
Bret Curtis a735bbe9a5
Merge pull request #3040 from akortunov/pvs
Fix some issues, found by PVS Studio
4 years ago
Evil Eye e737bd00fa Merge branch 'unused_param' into 'master'
Remove never used parameter from CharacterController::update()

See merge request OpenMW/openmw!523
4 years ago
fredzio 60f66f5e29 Remove never used parameter from CharacterController:update() 4 years ago
Andrei Kortunov 874348fb46 Remove redundant code 4 years ago
Andrei Kortunov 56666c60d4 Remove dead code 4 years ago
Andrei Kortunov 7fc4c9f3f6 Avoid dead code 4 years ago
Evil Eye 2a583e2337 consider empty paths as not constructed 4 years ago
David Cernat da3316daf8 Add OpenMW commits up to 4 Jan 2021
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/main.cpp
#   apps/openmw/mwmechanics/npcstats.hpp
#   apps/openmw/mwphysics/actor.cpp
#   apps/openmw/mwphysics/mtphysics.hpp
#   components/CMakeLists.txt
4 years ago
Evil Eye 57c92673bc Consider a path completed if it was non-empty 4 years ago
Evil Eye e46472442a Switch torches to shields for hostile NPCs 4 years ago
Andrei Kortunov 6a12c2b58b Fix GCC build warnings 4 years ago
Alexei Dobrohotov 45f4e69a19 Merge branch 'skipanim' into 'master'
Don't move characters if their animation can't move them

Closes #5593

See merge request OpenMW/openmw!490
4 years ago
psi29a a094269c46 Merge branch 'guardsguards' into 'master'
Don't consider a path completed unless we're close

Closes #5736

See merge request OpenMW/openmw!498
4 years ago
psi29a 3afa4e5869 Merge branch 'feels_good_guar' into 'master'
Make followers keep a distance dependant on the fattest party member

Closes #5423

See merge request OpenMW/openmw!499
4 years ago
Evil Eye 7cac7fa870 Make followers keep a distance dependant on the fattest party member 4 years ago
Alexei Dobrohotov ad41546648 Merge branch 'fix_swimming' into 'master'
Fix #5743 where NPCs and creatures underwater may rotate to the upwards direction

Closes #5743

See merge request OpenMW/openmw!494
4 years ago
Evil Eye d2a28d915a Don't consider a path completed unless we're close 4 years ago
Petr Mikheev 8b3088a9e5 Fix #5743 4 years ago
Petr Mikheev 51d63a4152 Fix minor bug: mSmoothedSpeed is not updating in first person mode, that leads to an incorrect value after switching to first person mode and back.
Additional refactoring: move `setSideMovementAngle` from camera.cpp to character.cpp as this logic shouldn't belong to Camera.
4 years ago
Alexei Dobrohotov 32cc14981e Don't move characters if their animation can't move them 4 years ago
psi29a 4f1361b5ea Merge branch 'paralyze' into 'master'
Fix paralyze for swimming and levitating actors

Closes #5758

See merge request OpenMW/openmw!488
4 years ago
Alexei Dobrohotov 22476281da Fix paralyze for swimming actors 4 years ago
Alexei Dobrohotov f5af09aed9 Fix AI sequence looping code (bug #5706) 4 years ago
psi29a 11eff02a1d Merge branch 'Show-more-information-about-level-on-menu' into 'master'
Show more information about level on menu

See merge request OpenMW/openmw!437
4 years ago
CedricMocquillon 6bfdf0e57f Add more information on mouse over level 4 years ago
Alexei Dobrohotov 84e1a29700 Make AI cast self-targeted spells at the ground (bug #5695) 4 years ago
David Cernat 4620adc662 Add OpenMW commits up to 30 Nov 2020
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/mwphysics/actor.cpp
4 years ago
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 4 years ago
Nelsson Huotari f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 4 years ago
David Cernat b1ce90076e [Client] Don't apply spell effects unilaterally on DedicatedPlayers 4 years ago
David Cernat 676481d061 Add OpenMW commits up to 14 Nov 2020
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/tickableeffects.cpp
4 years ago
Alexei Dobrohotov 8a6d3d1b4f Minor fixes
Fix extra semicolon
Disable collision avoidance if AI is disabled
4 years ago
Andrei Kortunov 0e971dccf0 Rework cure effects 4 years ago
Andrei Kortunov c1d56d94c4 Do not remove active effects in loop (bug #3789) 4 years ago
David Cernat 7f435ceeac Add OpenMW commits up to 1 Nov 2020
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/main.cpp
#   apps/openmw/mwclass/container.hpp
#   apps/openmw/mwclass/creature.hpp
#   apps/openmw/mwclass/npc.hpp
#   apps/openmw/mwdialogue/dialoguemanagerimp.hpp
#   apps/openmw/mwdialogue/journalimp.hpp
#   apps/openmw/mwgui/container.cpp
#   apps/openmw/mwgui/dialogue.hpp
#   apps/openmw/mwgui/mainmenu.cpp
#   apps/openmw/mwgui/windowmanagerimp.hpp
#   apps/openmw/mwmechanics/aiactivate.hpp
#   apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
#   apps/openmw/mwscript/containerextensions.cpp
#   apps/openmw/mwscript/interpretercontext.hpp
#   components/CMakeLists.txt
4 years ago
Alexei Dobrohotov 53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
4 years ago