Commit Graph

360 Commits (master)

Author SHA1 Message Date
fredzio 7bae6691b6 Introduce World::moveObjectBy() function to translate an object relatively to
its current position.
Use it in relevant MWScripts opcode (move and moveworld).
Remove the fragile detection of scripted translation from PhysicsTaskScheduler.

No user visible change, just a more robust mechanism.
4 years ago
fredzio 259d522800 When doing a ray cast to the next projectile position, ignore collisions
that occurs with the projectile own collision object. Otherwise a magic
bolt can explode "spontaneously".
4 years ago
fredzio b39437dfb6 Don't allow projectiles to stand still when they hit an ally.
When an NPC fire a projectile, it should affect only its targeted actor.
To this end, after a hit is detected the target is checked against the
list of AI targets and reactivated if necessary.
Problem occurs when the hit occurs as a result of a friendly actor going
into the projectile (detected in ClosestNotMeConvexResultCallback):
while the projectile is inside the friend's collision box, it is
deactivated, just to be immediately reactivated. Effectively, the
projectile does nothing until the actor moves out.

Add a check inside the ClosestNotMeConvexResultCallback before declaring
a hit.
Since the necessary data is not safely accessible from the async thread,
maintain a copy inside the Projectile class.
4 years ago
Alexei Dobrohotov 15291f15d3 Make actor collision box components a struct 4 years ago
fredzio 4fbe1ed12c Ignore caster collision shape. Sometimes the magic bolt get launched
inside too near its caster.
4 years ago
fredzio 7e85235220 Projectile to projectile collision 4 years ago
fredzio 66fe3b0d38 Modify projectile collision to work with async physics 4 years ago
Andrei Kortunov dc7b48e92e Generate physics collisions for projectiles (bug #3372)
Remove redundant now mHit field
4 years ago
fredzio 7843dad35d Don't let the actor "nowhere" after a teleport but move them in their
place.
This solve the problem where after loading, an empty frame was rendered
because the player is "nowhere".
4 years ago
fredzio 5a4872393a Rework actor position reset. While solving the issue with invalid
position being used under heavy load, I introduced a regression that
prevented the position to be updated in case of teleport.
Move the logic in its own function and decide in PhysicsSystem whether a
reset is needed.
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
fredzio ea2ba27084 Move the moment when the actor origin is saved before simulation so to
be sure the simulation is over. Otherwise, if the simulation is too slow
the position is wrong, and the actors would jump back and forth between
old and new position instead of actually moving.
4 years ago
Frederic Chardon 9aba55a21a Add the async physics worker to the profiler overlay. 4 years ago
AnyOldName3 06d1e70aac Make Bullet DebugDrawer's default state match the physics system 4 years ago
Frederic Chardon bb5213670c Use bigger hammer to set Actor's position after teleporting. Otherwise traceDown() would use old collision object transform and gives incorrect results, making the Actor "fall" in the new position. 4 years ago
fredzio d64ed6cf53 Get rid of the StandingActorsMap. Just embed the necessary info into
Actor class.
4 years ago
fredzio e5fa457fe7 Properly account for interleaved move of actors.
Before this change, if an actor position was changed while the physics
simulation was running, the simulation result would be discarded. It is
fine in case of one off event such as teleport, but in the case of
scripts making use of this functionality to make lifts or conveyor (such
as Sotha Sil Expanded mod) it broke actor movement.

To alleviate this issue, at the end of the simulation, the position of the Actor
in the world is compared to the position it had at the beginning of the
simulation. A difference indicate a force move occured. In this case,
the Actor mPosition and mPreviousPosition are translated by the difference of position.

Since the Actor position will be really set while the next simulation runs, we
save it in the mNextPosition field.
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
fredzio 18e38d8810 Do not block a door when it turns away. 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
psi29a ba3aad31c1 Merge branch 'hitdebug' into 'master'
Visualize hits in the debug overlay

See merge request OpenMW/openmw!379
4 years ago
Andrei Kortunov 64ba81ecf2 Fix some issues, found by CoverityScan 4 years ago
Frederic Chardon 574ccbf7bd Visualize hand to hand hits 4 years ago
fredzio 435b2e37f8 Allow to display collision points in the debug viewer 4 years ago
Bret Curtis 5a824d0333 components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues 4 years ago
fredzio a19db73eca Fix bad rebase 4 years ago
fredzio 1357bba0a0 Use some C++17 where it makes the code more readable
Also replace boost::optional
4 years ago
fredzio 4fc5b6f6f4 Sort headers 4 years ago
fredzio 212b293803 Use same parameter name in definition and declaration 4 years ago
fredzio 2916a9462e Fix standing actors logic:
it is updated in the solver only if the actor is standing on
"something". The ground is not "something", so in case the actor goes
from standing on an object to the standing on the ground, this change was not taken
into account.
Clear the value before the simulation to solve this problem.
4 years ago
fredzio a036183248 Use a much simpler and assert-free check for Bullet multithreading support 4 years ago
Bret Curtis 8050882baf
Merge pull request #3015 from akortunov/overrides
Mark overrided methods as overrides
4 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
fredzio 978af12c2d Restore fall damage 4 years ago
David Cernat 68837aaf4a Add OpenMW commits up to 15 Oct 2020
# Conflicts:
#   .travis.yml
#   CI/before_script.linux.sh
#   CMakeLists.txt
#   apps/openmw/mwgui/containeritemmodel.cpp
#   apps/openmw/mwgui/tradewindow.cpp
#   apps/openmw/mwphysics/actor.cpp
#   apps/openmw/mwworld/actionteleport.cpp
#   apps/openmw/mwworld/containerstore.cpp
4 years ago
fredzio 3c2504b442 Process movement queue in one or several background threads
Before movement calculation, the main thread prepare a
vector of ActorFrameData, which contains all data necessary to perform
the simulation, and feed it to the solver. At the same time it fetches
the result from the previous background simulation, which in turn is
used by the game mechanics.
Other functions of the physics system (weapon hit for instance)
interrupt the background simulation, with some exceptions described
below.

The number of threads is controlled by the numeric setting

[Physics]
async num threads

In case 'async num threads' > 1 and Bullet doesn't support multiple threads,
1 async thread will be used. 0 means synchronous solver.
Additional settings (will be silently switched off if async num threads = 0)

[Physics]
defer aabb update

Update AABBs of actors and objects in the background thread(s). It is not an especially
costly operation, but it needs exclusive access to the collision world, which blocks
other operations. Since AABB needs to be updated for collision detection, one can queue
them to defer update before start of the movement solver. Extensive tests on as much
as one installation (mine) show no drawback having that switched on.

[Physics]
lineofsight keep inactive cache

Control for how long (how many frames) the line of sight (LOS) request will be kept updated.
When a request for LOS is made for the first time, the background threads are stopped to
service it. From now on, the LOS will be refreshed preemptively as part of the background
routine until it is not required for lineofsight keep inactive cache frames. This mean
that subsequent request will not interrupt the background computation.
4 years ago
fredzio 91b3926a49 We need to update the collision world after each step.
Change order of traversal simulation step to make it rare enough to be parallelizable

Before:
for actor in actors:
    repeat numstep:
        solve(actor)
After:
repeat numstep:
    for actor in actors:
        solve(actor)

Introduce struct ActorFrameData to pack all data that is necessary for
the solver
4 years ago
fredzio d76cc5d0a9 Make the Object class manage its collision object and position. 4 years ago
fredzio 4ef36973fb Make the Actor class manage its collision object and position. 4 years ago
fredzio 82da2045a9 Non functionnal changes in preparation for async physics feature 4 years ago
Alexei Dobrohotov ec825b2510 Fix RayCastingResult warning 4 years ago
AnyOldName3 9e78f3d936 Skip raycasting for zero-length rays
Rays with no length can't intersect anything. This also prevents an
assertion triggering with Bullet built in Debug mode.
4 years ago
David Cernat 80af0ce6a7 Add OpenMW commits up to 29 Aug 2020
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/mwmechanics/character.cpp
4 years ago
Andrei Kortunov f9e667dd8c Fix MSVC warnings 4 years ago
Petr Mikheev 0de6650add Add RayCastingInterface 4 years ago
Petr Mikheev ed3426cf2f Move third person camera collision check from World::updatePlayer() to Camera::updatePosition() 4 years ago
David Cernat 5eb7eb8d88 Add OpenMW commits up to 4 Jul 2020
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
#	apps/openmw/engine.cpp
#	apps/openmw/mwbase/windowmanager.hpp
#	apps/openmw/mwgui/charactercreation.cpp
#	apps/openmw/mwgui/windowmanagerimp.hpp
#	apps/openmw/mwmechanics/character.cpp
5 years ago
Andrei Kortunov 4a5fce8ca5 Use more C++11 in the physics code 5 years ago
David Cernat 3b2eb6f62c Add OpenMW commits up to 22 Jun 2020
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
5 years ago
bzzt lost a hitlab login 89ec6cfea2 tooltips labels
Signed-off-by: Bret Curtis <psi29a@gmail.com>
5 years ago
David Cernat 36a2308acd Add OpenMW commits up to 30 May 2020
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwbase/windowmanager.hpp
#	apps/openmw/mwgui/windowmanagerimp.hpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwscript/interpretercontext.cpp
5 years ago
David Cernat 62df188fd4 Add OpenMW commits up to 16 May 2020
# Conflicts:
#	CI/before_script.linux.sh
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwscript/globalscripts.cpp
#	apps/openmw/mwscript/interpretercontext.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/cellstore.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
#	components/interpreter/context.hpp
5 years ago
Capostrophic 577786f110 Don't disable player's collision shape in TCL (#5435) 5 years ago
elsid 69df6098e5
Report frame number, number of actors and objects to stats 5 years ago
elsid 2d7c3bae61
Support bullet with double precision 5 years ago
David Cernat 7bc3298ed4 Add OpenMW commits up to 1 Apr 2020
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	apps/openmw/mwphysics/physicssystem.cpp
5 years ago
Capostrophic 5e2e5b7aa9 Fix btCollisionObjectWrapper forward declaration 5 years ago
Capostrophic 4f08f6e09b Separate ClosestNotMeConvexResultCallback 5 years ago
Capostrophic 19010ec045 Separate MovementSolver 5 years ago
Capostrophic ca6cce0c7e Separate Stepper 5 years ago
Capostrophic 5d625c12dc Separate ContactTestResultCallback 5 years ago
Capostrophic c94cd775bf Separate ClosestNotMeRayResultCallback 5 years ago
Capostrophic ce588fb39c Separate DeepestNotMeContactTestResultCallback 5 years ago
Capostrophic 1629791885 Port wareya's actor tracer consistency fixes 5 years ago
David Cernat 43e7df6df8 Add OpenMW commits up to 11 Mar 2020 5 years ago
elsid 4a0c056489
Do not wander to occupied area by other actor 5 years ago
David Cernat 353e7d530a Add OpenMW commits up to 18 Aug 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat b57c0bcafe Add OpenMW commits up to 6 June 2019
# Conflicts:
#	apps/openmw/mwgui/hud.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/waitdialog.cpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 5181c601c0 Add OpenMW commits up to 2 May 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/statsextensions.cpp
5 years ago
David Cernat 8729c3c5e3 Add OpenMW commits up to 9 Mar 2019
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
#	README.md
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwscript/animationextensions.cpp
#	apps/openmw/mwscript/guiextensions.cpp
#	apps/openmw/mwscript/miscextensions.cpp
#	apps/openmw/mwscript/soundextensions.cpp
5 years ago
David Cernat 95a5607509 Add OpenMW commits up to 22 Feb 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/containerextensions.cpp
5 years ago
David Cernat 6205ff6b04 Add OpenMW commits up to 30 Jan 2019
# Conflicts:
#	apps/openmw/mwworld/worldimp.cpp
5 years ago
David Cernat 6fdef4fd0a Add OpenMW commits up to 1 Jan 2019
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 3efffe92e3 Add OpenMW commits up to 5 Nov 2018
# Conflicts:
#	CI/before_install.linux.sh
#	CMakeLists.txt
#	apps/openmw/mwmechanics/aifollow.cpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/CMakeLists.txt
5 years ago
David Cernat fba07194cf Add OpenMW commits up to 29 Oct 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/aicombat.cpp
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 889bcec7f8 Add OpenMW commits up to 1 Sep 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/difficultyscaling.cpp
#	apps/openmw/mwscript/transformationextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 84cab59057 Add OpenMW commits up to 19 Aug 2018
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	CI/before_script.linux.sh
#	apps/openmw/engine.cpp
#	apps/openmw/main.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/containerextensions.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/containerstore.cpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/misc/debugging.hpp
5 years ago
David Cernat 0339958e21 [General] Rename Log class into TimedLog 5 years ago
Capostrophic 4e54ed86b3 Fix jumping mechanics framerate dependency (bug #4991) 6 years ago
Andrei Kortunov 6832a2fa9a Remove BOM from CPP files (allows to build OpenMW with LCC on Elbrus) 6 years ago
Andrei Kortunov 6a01e4cd8a Fix arguments order for raytracing in the getHitContact() (bug #4990) 6 years ago
Andrei Kortunov d23a0ce2ae Use C++11-style loops in the game world instead of iterators 6 years ago
elsid 43b39e8418
Use not scaled player half extents as default to find path 6 years ago
Bret Curtis 14c93b3df0 Revert "Merge pull request #2204 from elsid/fix_navigator_update"
This reverts commit 26fb0e7a0f, reversing
changes made to 42b2391303.
6 years ago
elsid c066ee9dc5
Use not scaled player half extents as default to find path 6 years ago
Grigory Latyshev 3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
Capostrophic a584aa25ab Don't re-enable collision object for dead actors 6 years ago
Capostrophic 403db9afe3 Don't reset player jumping flag unnecessarily (bug #4775) 6 years ago
Capostrophic 0bbcc0e787 Avoid falling height reset if onGround state didn't change (bug #4411) 6 years ago
Andrei Kortunov a53333c3d5 Native animated containers support (feature #4730) 6 years ago
elsid 49d81241db Merge branch 'master' into pathfinder_detour 6 years ago
Marc Zinnschlag 9dd0d641bc Merged pull request #1931 6 years ago
Andrei Kortunov e7de6b974a Optimize actors processing
1. Do not update physics and animations for actors outside processing range (bug #4647)
2. Do not render such actors
3. Add transparency to actors near processing border, so they will not pop up suddenly
6 years ago
Andrei Kortunov 61e6e359c4 Allow creatures to use the autogenerated collision box (feature #2787) 6 years ago
Andrei Kortunov 13bd81f896 Try to use collisions from basic actor model if an animated one has no collisions (feature #4682) 6 years ago
elsid fa23b590a4
Add unwalkable areas to NavMesh 6 years ago
elsid 144e1a063b
Support animated objects 6 years ago
elsid fafba8ea0c
Use recastnavigation to find path 6 years ago
elsid c866fdff86
Move physics object, heightfield, ptrholder into separate files 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
Andrei Kortunov 70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 6 years ago
Andrei Kortunov ae1c054635 Make GetPCJumping return true only when jumping (bug #4641) 6 years ago
Capostrophic 7ef6fa9f61 Remove deprecated GMST get* functions 6 years ago
Andrei Kortunov c6dcfd1fce Do not apply scale twice for animated collision nodes (bug #4607) 6 years ago
David Cernat a083439139 Merge pull request #469 from davidcernat/master while resolving conflicts
# Conflicts:
#	apps/openmw/main.cpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
6 years ago
Andrei Kortunov 5a4d0cec3a Use new logging system for game itself 6 years ago
Andrei Kortunov bc82dbbd1b Do not try to find missing animated collision shape again and again 7 years ago
David Cernat a236ffc4be Merge pull request #456 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	README.md
#	apps/openmw/mwgui/quickkeysmenu.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/combat.cpp
7 years ago
Bret Curtis 61c969e970
Merge branch 'master' into hitboxfix 7 years ago
Andrei Kortunov bde1d07d4e Use hitboxes and focused object for touch spells (bug #3374) 7 years ago
Andrei Kortunov f5dc9f0162 Use hitbox cone only as fallback 7 years ago
David Cernat 669d4d3d7e
Merge pull request #440 from OpenMW/master
Add OpenMW commits up to 27 May 2018
7 years ago
David Cernat 3efe05a88e [General] Implement WorldCollisionOverride packet 7 years ago
scrawl 99ffaafe30
Revert "Merge pull request #1701 from akortunov/standfix"
This reverts commit da47fc79f5, reversing
changes made to 7324bd368f.
7 years ago
David Cernat 74c2a0b311
Merge pull request #438 from OpenMW/master
Add OpenMW commits up to 24 May 2018
7 years ago
Andrei Kortunov f8655d2425 Use actor's physics position as a ray origin in tracer 7 years ago
Capostrophic e32f38b939 Allow jumping when you're stuck on a slope (fixes #4221) 7 years ago
Andrei Kortunov 3636cf2015 Do not apply queue movement for standing actors 7 years ago
David Cernat ac82124a5d Merge pull request #395 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
7 years ago
elsid 26df0e6ebd Remove duplicated include 7 years ago
David Cernat 60f686ee43 [General] Implement setting of physics framerate as part of GameSettings 7 years ago
Bret Curtis c3c3fbc68e overriden -> overridden 7 years ago
Miloslav Číž 03401bb5df remove redundant condition 7 years ago
scrawl 03554b2f4b Fix some style issues flagged by cppcheck 7 years ago
scrawl 64d02f577e Fix missing null check 7 years ago
Andrei Kortunov 62177ebb30 Move physics framerate from setting to environment variable 7 years ago
Andrei Kortunov 6062cd4b9c Make physics framerate configurable 7 years ago
scrawl fcb815f2c7 Move fall height reset into PhysicsSystem (Fixes #4049)
To avoid using onGround before it's actually set.
7 years ago
scrawl a8005c33d9 Revert unintended change to mOnGround variable that was somehow introduced with 38a2de3c51 7 years ago
Ewan Higgs 38a2de3c51 convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 8 years ago
Allofich ff3e307059 Pass parameters by const reference 8 years ago
Allofich e87d2aa1af Remove unused function 8 years ago
Allofich c655875584 Change mWaterEnabled from float to bool 8 years ago
scrawl 0fc465da59 Store the min/max height in LandData 8 years ago
scrawl 9a3a64f0c4 Add resource manager for ESM::Land to allow data to be unloaded when no longer required 8 years ago
scrawl 29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
8 years ago
scrawl 0772a03e98 Print the object ID that animateCollisionShapes did not find the node for 8 years ago
MiroslavR 498a3d450b Fix actors colliding with noclipping player 8 years ago
scrawl a55604c549 Avoid unnecessary AABB update when actor position has not changed 8 years ago
scrawl fb073e5c14 Avoid unnecessary AABB update for rotationally invariant collision shapes 8 years ago
scrawl 5198fc897d Fix collision glitch caused by Bullet AABB not being updated when an actor moves without turning 8 years ago
scrawl b9740fd2a1 Fix btHeightFieldTerrainShape triangle layout to match rendering 8 years ago
Allofich 6b53541571 Prevent AI actors from hitting unintended targets
(Fixes #3254)
8 years ago
scrawl f2d4f290cc traceDown fix 8 years ago
scrawl 6ecc008813 Fix an issue uncovered by the last commit related to changing actor position without properly moving the actor 8 years ago
scrawl cf7b0098ed Slightly increase backoff value 8 years ago
scrawl b3d5c2bd7f Use the actor's collision shape in findGround()
The cylinder base is no longer appropriate as of the change to capsules.

This also works around a bug when tracing a small cylinder/box shape apparently introduced with bullet 2.86.
8 years ago
scrawl 35bb467c7a Fix inverted setting of variable 8 years ago
scrawl 91939c4687 Switch actors to capsule shapes now that the jumping bug is gone (Fixes #2116, Fixes #2909)
The culprit was - surprise, surprise - d39d4f2619
8 years ago