Commit Graph

19326 Commits (59cb31e0a788c8a9b7071a63d321da29fbb72ffd)

Author SHA1 Message Date
fredzio 9bc687e209 Avoid a rare but possible deadlock around mCollisionWorldMutex.
What happened is that the last handle to an Actor shared_ptr was a
promoted weak_ptr. When the shared_ptr goes out of scope, the Actor dtor
is invoked. That involves removing the Actor collision object after
exclusively locking mCollisionWorldMutex. In this case, the lock was
already held in the outter scope of the promoted weak_ptr.

Reduce the scope of the mCollisionWorldMutex to never encompass the
lifetime of a promoted weak_ptr.
4 years ago
Andrei Kortunov ad101de733 Merge declaration and initialization 4 years ago
unknown 564a0d7d55 Don't nuke fog when bounds have changed 4 years ago
Andrei Kortunov 1930f8f37d Fix copy-paste error 4 years ago
Andrei Kortunov 50e4600b16 Reduce code duplication 4 years ago
Andrei Kortunov 874348fb46 Remove redundant code 4 years ago
Mads Buvik Sandvei a2d8a0b61a engine.cpp typos 4 years ago
Andrei Kortunov 80ee1b55ea Protect assignment operator from this == &src case 4 years ago
Andrei Kortunov 33da0af1d1 Use explicit calls for virtual methods in constructors 4 years ago
elsid a6aba83741
Remove redundant SoundManager::lookupSound and loadSound 4 years ago
elsid e4cce88142
Replace std::tie by structured binding 4 years ago
elsid 90c8e77e2c
Remove redundant default Sound_Buffer fields initialization 4 years ago
David Cernat def981694d [Client] Use correct function for setting global floats from packets 4 years ago
elsid 24f8a2db27
Use perfect forwarding in Sound_Buffer ctor 4 years ago
Andrei Kortunov a80ee7a76a Avoid possible memory leak in the mInterMessageBoxe field 4 years ago
Andrei Kortunov 8e5f26c109 Code cleanup 4 years ago
Andrei Kortunov c9b885ffd4 Avoid possible null dereferencing 4 years ago
Andrei Kortunov 33648313a6 Initialize variables 4 years ago
Andrei Kortunov c1512b8b6c Convert loop to condition 4 years ago
Andrei Kortunov 56666c60d4 Remove dead code 4 years ago
Andrei Kortunov 8283ec6cad Do not use & for boolean arguments 4 years ago
Andrei Kortunov 7fc4c9f3f6 Avoid dead code 4 years ago
Andrei Kortunov 801e2d6ad0 Avoid to use uninitialized variables 4 years ago
Andrei Kortunov c5a36ad440 Do not cast enums to booleans 4 years ago
Andrei Kortunov 799bd3379c Move screenshots handling to the separate class 4 years ago
elsid 944033db4e
Separate sound buffer pool from sound manager 4 years ago
AnyOldName3 2d61db555b Merge branch 'osg_log' into 'master'
Split long osg log messages into lines.

See merge request OpenMW/openmw!519
4 years ago
Petr Mikheev 7d551b0cfd Split long osg log messages into lines. 4 years ago
psi29a cbce3ebb79 Merge branch 'stanky_fetcher' into 'master'
Consider a path completed if it was non-empty

Closes #5773

See merge request OpenMW/openmw!508
4 years ago
Evil Eye 2a583e2337 consider empty paths as not constructed 4 years ago
AnyOldName3 4ed3252001 Check for EXT_gpu_shader4 CPU-side
Mesa lies and always defines GL_EXT_gpu_shader4 even when the extension
isn't present.
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
psi29a dc82cb61f4 Merge branch 'nativeshapesdebug' into 'master'
Unbreak physics debugger with projectiles' spherical shapes.

See merge request OpenMW/openmw!489
4 years ago
Alexei Dobrohotov c17e498465 Merge branch 'launchercleanup' into 'master'
Remove deadcode from the launcher.

See merge request OpenMW/openmw!511
4 years ago
AnyOldName3 f2eed5594a Don't use A2C when MSAA is off 4 years ago
AnyOldName3 c75d7ceada Ensure alpha test is off by default 4 years ago
fredzio 5215ffd964 The debug drawer rely on Bullet to determines the vertices of collision
shapes. It doesn't work in the case of spheres (used by projectiles):
resulting shape is malformed. It can also leads to this error which
makes the debug drawer non-working till game restart:
CullVisitor::apply(Geode&) detected NaN,
    depth=nan, center=(nan nan nan),
    matrix={
       -0.265814 -0.0639702 0.9619 0
       0.964024 -0.0176387 0.265228 0
       -4.29769e-09 0.997796 0.0663574 0
       18178.6 -3550.91 42154.4 1
}

Avoid this issue by using osg::Sphere

While here, remove an unused function. We don't use Bullet's solver so
we never have any contact points (in Bullet parlance).
4 years ago
fredzio dbdd397716 Remove deadcode. 4 years ago
Evil Eye 57c92673bc Consider a path completed if it was non-empty 4 years ago
unknown 3bf641d3ce Show mesh origin 4 years ago
Alexei Dobrohotov 396667f801 Fix weather particle fading
Update rain particle system setup
4 years ago
Evil Eye e46472442a Switch torches to shields for hostile NPCs 4 years ago
AnyOldName3 54853380cd Enable multisampling in RTTs to support A2C 4 years ago
Andrei Kortunov e80d34268c Fix defines names 4 years ago
Alexei Dobrohotov a7cbe0b497
Merge pull request #3036 from akortunov/tooltip
Enhance level-up tooltip
4 years ago
Andrei Kortunov 66fee6dccb Enhance level-up tooltip 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
wareya 18ef32ca82 values for this higher than sGroundOffset cause jittering on some surface; use safe-seeming value slightly less than sGroundOffset 4 years ago
Alexei Dobrohotov ddbfa5410d Merge branch 'fixboats' into 'master'
Apply waterwalking even when bypassing physics simulation

See merge request OpenMW/openmw!500
4 years ago
fredzio ebb564ad22 call moveObject() after applying waterwalking
This unbreak abot's boat mods: they're continually teleporting
the boats (who is an actor with waterwalking effect). As such, the
physics simulation was never run and the boat never went to sea level.
4 years ago
Evil Eye 7d8727b98e Merge branch 'books' into 'master'
Only ignore plain text after the last EOL tag (#5627)

Closes #5627

See merge request OpenMW/openmw!492
4 years ago
AnyOldName3 5e004356a2 Merge remote-tracking branch 'upstream/master' into alpha-meddling 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
AnyOldName3 8f4b856b44 Initial A2C implementation 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
Evil Eye 1f1755ae48 Add version checks 4 years ago
Evil Eye bdcbb412a5 Don't restore focus to hidden/unrelated buttons 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 fd77ef6b01 Only ignore plain text after the last EOL tag (#5627) 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 218597b13d Fix paralyze for levitating actors 4 years ago
Alexei Dobrohotov f5af09aed9 Fix AI sequence looping code (bug #5706) 4 years ago
psi29a 3e87c35005 Merge branch 'dialogue' into 'master'
Don't regenerate the topics list unconditionally

See merge request OpenMW/openmw!459
4 years ago
David Cernat f2331904ba [Server] Turn SetRecordVolume() into an accessible script function 4 years ago
Alexei Dobrohotov e9a8636d18 Merge branch 'restore_absolute_position_handling' into 'master'
Restore pre-async handling of absolute actors positionning

See merge request OpenMW/openmw!486
4 years ago
Alexei Dobrohotov ce36dd8a52 Merge branch 'misc_cleanup' into 'master'
Small cleanup

See merge request OpenMW/openmw!482
4 years ago
fredzio 5bd921fa3a Restore pre-async handling of absolute actors positionning
One of the issue since the introduction of async physics is the quirky
handling of scripted moves. Previous attempt to account for them was
based on detecting changes in actor position while the physics thread is
running. To this end, semantics of Actor::updatePosition() (which is
responsible for set the absolute position of an actor in the world) was
toned down to merely store the desired position, with the physics system
actually responsible for moving the actor. For the cases were complete
override of the physics simulation was needed, I introduced
Actor::resetPosition(), which actually have same semantics as
original updatePosition(). This in turn introduced a loads of new bugs
when the weakened semantics broke key assumptions inside the engine
(spawning, summoning, teleport, etc).
Instead of tracking them down, count on the newly introduced support for
object relative movements in the engine (World::moveObjectBy) to
register relative movements and restore original handling of absolute positionning.

Changes are relatively small:
- move resetPosition() content into updatePosition()
- call updatePosition() everywhere it was called before
- remove all added calls to the now non-existing resetPosition()

tldr; ditch last month worth of bug introduction and eradication and redo
it properly
4 years ago
fredzio 33eb09f534 Remove unused headers 4 years ago
Alexei Dobrohotov 6b5e614b1a Merge branch 'dont_cache_ptr' into 'master'
Always use latest actor's Ptr

See merge request OpenMW/openmw!481
4 years ago
fredzio e5f0c7f117 Fix a typo introduced in 08e73a09ec
It closes #5752
4 years ago
fredzio 93a12fe388 Avoid dynamic_cast when possible. 4 years ago
fredzio 8e084dea2e Don't cache Ptr, it can be updated while the simulation is running. 4 years ago
fredzio 58297ffbf4 Move stats update into their own function. 4 years ago
fredzio 24a8b8c66a Remove redundant call to resetPosition(). adjustPosition() takes care of
it,
4 years ago
Mads Buvik Sandvei eec2ba3623 Loading screen initialdrawcallback 4th time's the charm 4 years ago
AnyOldName3 2ecd00b6db Don't accidentally enable alpha testing for all shadow casting 4 years ago
fredzio 4e7c9b6696 Embed physics simulation results inside of actor class.
This gives finer control over reseting positions (switch off tcl is no
longer glitchy) and solve most of the erroneous usage of stale World::Ptr
indicated by:
"Error in frame: moveTo: object is not in this cell"
4 years ago
psi29a d01d5745c6 Merge branch 'relative_move' into 'master'
Relative translation for scripts

See merge request OpenMW/openmw!477
4 years ago
Mads Buvik Sandvei ea8f98b339 Wait for initialDrawCallback to finish before removing it 4 years ago
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
AnyOldName3 a080071588 Set default state sensibly 4 years ago
psi29a 96a87b582c Merge branch 'loadingScreen_initialdrawcallback' into 'master'
Fix for !472 for older versions of OSG

See merge request OpenMW/openmw!474

(cherry picked from commit 35e25d79b9a6c76807084be5ca2584c4fd9b9c35)

4447dd41 osg versions
06f4d63b Preserve callback in older osg version
4 years ago
Alexei Dobrohotov 8db2ba2b38
Merge pull request #3032 from akortunov/gtest
Mark mock methods as overrides (requires GTest 1.10)
4 years ago
David Cernat db32f7f9f8 [Client] Use ObjectDialogueChoice for highlighted topics in dialogue
The packet is now sent not just for items in the list on the right of the dialogue screen, but also for the clickable topics in the dialogue text itself.
4 years ago
Mads Buvik Sandvei bc961a13f5 avoid redundant calls to removeInitialDrawCallback 4 years ago
Mads Buvik Sandvei 640420eaaa No longer delete and recreate CopyFramebufferToTextureCallback, remove oneshot functionality. Instead just remove the callback after the traversals. Use addInitialDrawCallback instead of setInitialDrawCallback to avoid messing with existing callbacks. 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
psi29a 884b434ee0 Merge branch 'fixfriendlyfire' into 'master'
Fix projectiles friendly fire (#5744)

See merge request OpenMW/openmw!466
4 years ago
psi29a 78e85fe011 Merge branch 'this_is_nife' into 'master'
More NIF stuff

See merge request OpenMW/openmw!461
4 years ago
psi29a bc6bcda58f Merge branch 'wizard' into 'master'
Wizard: fix "file is already opened" warning

See merge request OpenMW/openmw!465
4 years ago
Nelsson Huotari 8b2bf12e8f Use bip01 for root bone name 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 8fd45d85ec Unify NiGeometry/NiGeometryData handling 4 years ago
Alexei Dobrohotov ab789e37e1 Wizard: fix "file is already opened" warning 4 years ago
Alexei Dobrohotov 201999c4a9 Make sure adjustPosition() is safe to call for any actor 4 years ago
David Cernat 1a4b817b31 [General] Rework ObjectDialogueChoice for multilingual compatibility
Use a different system for sending and applying ObjectDialogueChoice packets.
4 years ago
Alexei Dobrohotov 817ac4cfbd Don't regenerate the topics list unconditionally 4 years ago
fredzio a314f196eb Unconditionally call actor->resetPosition in adjustPosition.
Revert broken change that would force adjust all actors in cell upon
loading. That break floating corpses (and probably others things).
4 years ago
Alexei Dobrohotov 15291f15d3 Make actor collision box components a struct 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
psi29a 9a35c5815e Merge branch 'nofallfloor' into 'master'
Update physics object position after spawning.

See merge request OpenMW/openmw!449
4 years ago
psi29a 789d034432 Merge branch 'skirts' into 'master'
Editor: Properly reserve body parts for skirts (bug #5731)

Closes #5731

See merge request OpenMW/openmw!452
4 years ago
Frederic Chardon 460e5abb55 Update physics object position after spawning. 4 years ago
Frederic Chardon 899b8422fa explicitely use a reference, auto can't infer it and make a copy 4 years ago
Alexei Dobrohotov 32601e0ae4 Properly reserve body parts for skirts (bug #5731) 4 years ago
Coleman Smith 3b9db41346 removing unneeded variable 4 years ago
psi29a d77f122289 Merge branch 'gl-5199-improve-scene-colors' into 'master'
[OpenMW-CS] Issue #5199: Improve Scene Colors

See merge request OpenMW/openmw!442
4 years ago
Coleman Smith 842ea9d6ed simplifying a bit
- attaching gradient camera directly to the main camera
- using Vec4ub
4 years ago
psi29a c8fa8cfe74 Merge branch 'herbalmenu' into 'master'
Add graphic herbalism to the launcher

Closes #5730

See merge request OpenMW/openmw!448
4 years ago
psi29a 7156b11dbc be explicit about narrowing to resolve: error: type 'btScalar *' (aka 'float *') cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] 4 years ago
Evil Eye 525292b184 Add graphic herbalism to the launcher 4 years ago
psi29a 686692519c Merge branch 'fix-tests' into 'master'
Use correct variable types when loading config for tests

See merge request OpenMW/openmw!446
4 years ago
AnyOldName3 15f03ae375 Merge branch 'logging2' into 'master'
Print '--version' and '--help' messages without timestamps

Closes #2686

See merge request OpenMW/openmw!444
4 years ago
psi29a 0e5af74a2f Merge branch 'masterindexloadfix' into 'master'
[OpenMW-CS] Load master index from refId to mContentFile

See merge request OpenMW/openmw!445
4 years ago
AnyOldName3 fd4a62ce35 Use correct variable types when loading config for tests 4 years ago
Petr Mikheev 49c6e50c31 Print '--version' and '--help' messages without timestamps 4 years ago
Nelsson Huotari 61a4a0807b Load master index in refId to mContentFile, keep master index also in mIndex 4 years ago
psi29a afaacedf67 Merge branch 'placeatmecrash' into 'master'
Don't crash the game when placing a non-actor

See merge request OpenMW/openmw!443
4 years ago
Evil Eye 39ac0cbb4a Don't crash the game when placing a non-actor 4 years ago
Chris Djali 21de3fa7e8
Merge pull request #3033 from akortunov/main_messages
Use a logging system instead of cout for a couple of missing messages
4 years ago
psi29a fd64aacf7d Merge branch 'cliherbalism' into 'master'
Add a setting to disable graphical herbalism

See merge request OpenMW/openmw!440
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
Andrei Kortunov 242dd8d496 Use a logging system instead of cout for a couple of missing messages 4 years ago
Evil Eye 275b9aea4d rename setting 4 years ago
Evil Eye e62fff5f2e Add a setting to disable graphical herbalism 4 years ago
Andrei Kortunov 807367ca3f Mark mock methods as overrides (requires GTest 1.10) 4 years ago
CedricMocquillon 6bfdf0e57f Add more information on mouse over level 4 years ago
psi29a c2933721c6 Merge branch 'explodespell' into 'master'
Make AI cast self-targeted spells at the ground (bug #5695)

Closes #5695

See merge request OpenMW/openmw!426
4 years ago
psi29a a3dfdde9ef Merge branch 'move_actors_into_scene' into 'master'
Move actors into the scene after a teleport

See merge request OpenMW/openmw!438
4 years ago
psi29a c742c15f6d Merge branch 'autogoesbrr' into 'master'
Use range based for loops and auto

See merge request OpenMW/openmw!400
4 years ago
psi29a b22418d053 Merge branch 'fix_spawn' into 'master'
Fix spawn #5724

See merge request OpenMW/openmw!439
4 years ago
fredzio c6c02a6f16 Remove useless code. ipos is already initialized with the correct
values.
4 years ago
fredzio 08e73a09ec Make the code more compact by mean of std::min / max and ternary
operator.
4 years ago
fredzio b79f6ac808 Force reset position of actor after snapping to the ground. Otherwise
the interpolation calculation would kick in and make the actor goes upward if the
spawn point is higher than summoner or downward if lower. The actor
would then either jump or fall through terrain.
4 years ago
Petr Mikheev 5734551ff3 Add time to logs. Redirect OSG log to OpenMW log. 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
Evil Eye 078de86e60 Use range based for loops and auto 4 years ago
Alexei Dobrohotov 84e1a29700 Make AI cast self-targeted spells at the ground (bug #5695) 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
psi29a 6f0b90e606 documented that currently underwater shadows are mutually exclusive to refraction scale; to be fixed in follow up issue #5709; documentation fixes 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
Nelsson Huotari b0e3bd6ff9 Fix crash caused by QStatusBar 4 years ago
Bret Curtis 16b34c2863
Merge pull request #3029 from akortunov/replace_zeroes
Replace zeroes and nulls by nullptrs
4 years ago
psi29a 73ca333c4b Merge branch 'actorpositionagain' into 'master'
Make the physics simulation more robust when overloaded

See merge request OpenMW/openmw!429
4 years ago
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 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
psi29a dc1bd8ec29 Merge branch 'osgAnimation_basics' into 'master'
Collada animation support

See merge request OpenMW/openmw!421
4 years ago
psi29a 96e22bd44e Merge branch 'fastforwardpos' into 'master'
Discard physics simulation results after fast forward

See merge request OpenMW/openmw!423

(cherry picked from commit ff2d7695698341ef059c75707aa092cef48deea4)

03a37433 In case of time fast forward (resting, jail), force reset of positions
4 years ago
David Cernat 5d7ca14e7e [Client] Set DedicatedPlayer's anim flags when its Ptr is enabled 4 years ago
AnyOldName3 f8c791fde3 Merge branch 'physics_worker_profile' into 'master'
Add the async physics worker to the profiler overlay.

See merge request OpenMW/openmw!422
4 years ago
Frederic Chardon 9aba55a21a Add the async physics worker to the profiler overlay. 4 years ago
jefetienne bc6f46465f Add to changelog, authors. Move variable declaration inside block 4 years ago
jefetienne 2413de38b5 Extend spell/item search to search by magic effect name 4 years ago
Nelsson Huotari 6e77ad1f6a OSG-Collada animation support 4 years ago
Nelsson Huotari f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 4 years ago
psi29a c69b407f8c Merge branch 'close_the_window_before_you_destroy_the_world' into 'master'
Don't unload the world before closing containers

Closes #5689

See merge request OpenMW/openmw!419
4 years ago
Evil Eye c126d8801f Fix #5689 4 years ago
AnyOldName3 06d1e70aac Make Bullet DebugDrawer's default state match the physics system 4 years ago
David Cernat b1ce90076e [Client] Don't apply spell effects unilaterally on DedicatedPlayers 4 years ago
David Cernat 1dccd75238 [Server] Return signed int for GetSpellsActiveEffectArg() 4 years ago
David Cernat dd171420ca [Server] Move rare arg to end of AddSpellActiveEffect() argument list 4 years ago
David Cernat 58c04530e7 [General] Implement PlayerSpellsActive packet, part 2
The packet can now set the active spells of DedicatedPlayers.
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
psi29a 5362146d24 Merge branch 'interleaved_movements' into 'master'
Unbreak lifts & conveyors in Sotha Sil Expanded

See merge request OpenMW/openmw!410
4 years ago
David Cernat 30b179c2dd [Client] Add die() method to DedicatedPlayer 4 years ago
David Cernat ae0e4a929f [Client] Add die() method to LocalPlayer 4 years ago
David Cernat cd835104b7 [Client] Add resurrect() method to DedicatedPlayer 4 years ago
David Cernat 1083fa5196 [Client] Reorder DedicatedPlayer's functions 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
Alexei Dobrohotov df9667e923 Read NIF bounding volume data correctly 4 years ago
Alexei Dobrohotov 8a6d3d1b4f Minor fixes
Fix extra semicolon
Disable collision avoidance if AI is disabled
4 years ago
AnyOldName3 1e0df23d14 Merge branch 'shadows-bin' into 'master'
Use a custom renderbin to avoid pointless OpenGL state switches

See merge request OpenMW/openmw!402
4 years ago
AnyOldName3 72f7e6a702 Handle all shadow alpha uniforms in shadowsbin 4 years ago
David Cernat ec2e51825e [Client] Set DedicatedPlayer's dynamic stats when its Ptr is enabled
Previously, players often started out in knockout animations when their Ptrs were first enabled because their fatigue started out at 0 and only updated itself afterwards.
4 years ago
David Cernat 4389d4417a [Client] Add setStatsDynamic() method to DedicatedPlayer 4 years ago
psi29a ed8342ebc9 Merge branch 'niffile' into 'master'
Remove NIFFile settings manager dependency

See merge request OpenMW/openmw!398
4 years ago
Alexei Dobrohotov c857588ee9 Remove NIFFile settings manager dependency 4 years ago
Alexei Dobrohotov b523574090 Remove shader visitor settings manager dependency 4 years ago
Andrei Kortunov 0e971dccf0 Rework cure effects 4 years ago
Alexei Dobrohotov 37cce328ca Merge branch 'basicmath' into 'master'
Compute the rotation normal relative to the door axe, not the world.

See merge request OpenMW/openmw!391
4 years ago
Bret Curtis 6efa7eea5a
Merge pull request #3025 from akortunov/iterator
Do not remove active effects in the active effects loop
4 years ago
Andrei Kortunov c1d56d94c4 Do not remove active effects in loop (bug #3789) 4 years ago
Frederic Chardon ecd10a731e Compute the rotation normal relative to the door axe, not the world. 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
psi29a 7ee7041399 Merge branch 'stretch' into 'master'
Put a stretch menu background checkbox into the launcher (#5672)

Closes #5672

See merge request OpenMW/openmw!387
4 years ago
Alexei Dobrohotov f49bf028b9 Put a stretch menu background checkbox into the launcher (#5672) 4 years ago
Alexei Dobrohotov 53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
4 years ago
fredzio 4876969153 Use the PhysicsSystem::movementQueue instead of a serie of
setPosition(getPosition() + diff) to move actor in scripts.
With background physics, this is very slightly off with the collision
object position.
When the script run long enough (a few dozen frames for instance),
the accumulated error becomes too big. It make actors fall through lifts floors.
4 years ago
Evil Eye 7065282127 Save and load container records; fixes #5668 4 years ago
Andrei Kortunov 64ba81ecf2 Fix some issues, found by CoverityScan 4 years ago
psi29a 8f68f08aee Merge branch 'moonmoon' into 'master'
Change moon phase to an enum class

See merge request OpenMW/openmw!381
4 years ago
Evil Eye 3bf5247c0b remove forward declaration 4 years ago
Alexei Dobrohotov 9763995892 Fix regression #5666 4 years ago
psi29a 74dfc09e2d Merge branch 'removeitem' into 'master'
Fix remove item regression

Closes #5663

See merge request OpenMW/openmw!380
4 years ago
Evil Eye 2c4cafa41a Change moon phase to an enum class 4 years ago
Evil Eye 0512a574e8 Fix remove item regression 4 years ago
David Cernat e100ed7b63 [Server] Add server functions for getting & setting dialogue choices
Fix typo in description for SetObjectSoul()
4 years ago
David Cernat 9dcb0f4c32 [General] Implement ObjectDialogueChoice packet 4 years ago
psi29a f6e4c7cb42 Merge branch 'regionsounds' into 'master'
Fix region sounds

See merge request OpenMW/openmw!370
4 years ago
fredzio e8c0a7bec0 Visualie projectile hits 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 4032b754e4 set minimal boost version; remove #ifdef boost version checks 4 years ago
unknown eae9eafb8c Merge branch 'master' of gitlab.com:OpenMW/openmw into regionsounds 4 years ago
unknown eebb320916 Wait for the previous sound to stop 4 years ago
Bret Curtis f6bead88a9 purge boost/optional.hpp headers 4 years ago
Bret Curtis 62b0781f7d use std::optional instead of boost::optional 4 years ago
psi29a 957a1425d1 Merge branch 'cleanup_1' into 'master'
Cleanup 1

See merge request OpenMW/openmw!365
4 years ago
unknown 1ce296aa7f Use fallback values for region sounds and fix probability 4 years ago
Bret Curtis 259f7fcf12
Merge pull request #3020 from unelsson/strippluginindex_cs
Strip the plugin index when looking for deleted refs.
4 years ago
Nelsson Huotari b1ea9f6a5b Strip the plugin index from refid completely 4 years ago
psi29a 6534bc9b74 Merge branch 'config-fixes' into 'master'
Config fixes

See merge request OpenMW/openmw!367
4 years ago
AnyOldName3 538314b03a Make path settings have path type 4 years ago
Alexei Dobrohotov 129bd51672 Add compressed BSA support to bsatool 4 years ago
AnyOldName3 8b28b6e55e Compose BSA, context and script blacklist lists
These would only take their value from the highest priority source, so
specifying `openmw --content anExtraEsp.esp` would override all the
content files in the user cfg file, and the user cfg file would override
any in the global/local one.
4 years ago
AnyOldName3 cf81f1bbb7 Make composing variables compose in the expected order 4 years ago
Bret Curtis 5a824d0333 components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues 4 years ago
AnyOldName3 651a5a27f6 Fix inconsistent indentation
This has been irritating me for years.
4 years ago
Bret Curtis 43614e2204
Merge pull request #3021 from akortunov/warnfix
Do not use deprecated Qt functions
4 years ago
psi29a fa1765816f Merge branch 'somecpp17' into 'master'
C++17 cosmetics

See merge request OpenMW/openmw!357
4 years ago
Andrei Kortunov 46a1950b0e Do not use deprecated Qt functions 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
Alexei Dobrohotov f1b7cd5404 Don't reset temporarily hidden container window 4 years ago
psi29a 4ae504970f Merge branch 'blocking' into 'master'
Fix lower body blocking animation priority (bug #5656)

Closes #5656

See merge request OpenMW/openmw!359
4 years ago
psi29a 7f59751946 Merge branch 'standing' into 'master'
Fix standing actors logic

See merge request OpenMW/openmw!360
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
Alexei Dobrohotov 2972033a72 Merge branch 'thelevelling' into 'master'
Allow adding levelled lists using AddItem

Closes #2404

See merge request OpenMW/openmw!358
4 years ago
Alexei Dobrohotov 7da8479d25 Fix lower body blocking animation priority (bug #5656) 4 years ago
Evil Eye bdcd2bc802 Allow adding levelled lists with AddItem 4 years ago
Bret Curtis 7d16b6f26c
Merge pull request #2992 from akortunov/service_refusal
Add support for service-specific refusals
4 years ago
Bret Curtis 82431b752d removed unnessary bits that cmake should be doing for us; replace Misc::gcd with std::gcd 4 years ago
Evil Eye f62905eb0a remove redundant argument 4 years ago
psi29a 09373a757d Merge branch 'radioactive' into 'master'
Container base record mutations

See merge request OpenMW/openmw!353

(cherry picked from commit 8b33765dd414680f0074b3e115b52b291b4cb7cb)

275908a0 mutate container base records
16fca11d add changelog entry
4 years ago