Commit Graph

19326 Commits (59cb31e0a788c8a9b7071a63d321da29fbb72ffd)

Author SHA1 Message Date
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
Andrei Kortunov 6c591c190b Add support for service-specific refusals (feature #5580) 4 years ago
fredzio a036183248 Use a much simpler and assert-free check for Bullet multithreading support 4 years ago
Nelsson Huotari fb4250a2b7 Strip the plugin index when looking for deleted refs. 4 years ago
Andrei Kortunov 065ed5138e Use emplace_back instead of push_back 4 years ago
psi29a 4adc689c7a Merge branch 'summoncrash' into 'master'
Avoid summon spawn if actor isn't in a cell (bug #5644)

See merge request OpenMW/openmw!351
4 years ago
Alexei Dobrohotov f90e403bc1 Avoid summon spawn if actor isn't in a cell (bug #5644) 4 years ago
psi29a f513ee1f1d Merge branch 'configurable_turning_delay' into 'master'
Makes the delay of turning while run configurable (part of "smooth movement")

See merge request OpenMW/openmw!349
4 years ago
psi29a 9d350ec824 Merge branch 'head_bobbing' into 'master'
Add head bobbing in first person mode

Closes #5043

See merge request OpenMW/openmw!320
4 years ago
Petr Mikheev 9ec6fce446 Makes the delay of turning while run configurable (part of "smooth movement"). 4 years ago
Petr Mikheev c72199155c Use full speed in the "NPCs give way" maneuver. 4 years ago
Bret Curtis 8050882baf
Merge pull request #3015 from akortunov/overrides
Mark overrided methods as overrides
4 years ago
AnyOldName3 df178ed97c Merge branch 'container-regressions' into 'master'
Fix container regressions

See merge request OpenMW/openmw!346

(cherry picked from commit b0aee6f83d4cddb0116284b197913f9687dd9cee)

95e7a22d fix container regressions
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 a6e825bbeb [Client] Fix logging for Container packets with REQUEST action 4 years ago
David Cernat ea2ea4d382 [Server] Add script function for setting Container subactions 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
psi29a c16fa27407 Merge branch 'async-physics' into 'master'
Async physics

See merge request OpenMW/openmw!248
4 years ago
fredzio ae3306c019 Document async physics settings
Add an option to the launcher
Update changelog
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
Bret Curtis 425fa837d1
Merge pull request #3012 from akortunov/container_crash
Fix crash on saving
4 years ago
Andrei Kortunov c3d84b2c7c Ability to attach arrows to shooter's hands (feature #5642) 4 years ago
Andrei Kortunov 8e647aa72a Fix crash on saving 4 years ago
Assumeru 72549651e0
Rework container resolution (#3006)
* Rework container resolution

* add optional argument to getCount

* remove now-redundant changes

* undo worldimp changes

* move save-fixing code to InventoryState

* replace Rng instances with Seeds
4 years ago
Bret Curtis c99be77a32
Merge pull request #3008 from akortunov/strings
Rework fixed strings handling
4 years ago
Petr Mikheev 15078f5b3c Fix #5630 "NPCs momentarily turn when the player character is moving backwards during combat" 4 years ago
Alexei Dobrohotov 1842f546c3 Restore empty target check in spell absorption 4 years ago
Alexei Dobrohotov e930251d92 Merge branch 'godmode' into 'master'
Add many more godmode checks to harmful magic (bug #5633)

Closes #4264

See merge request OpenMW/openmw!336
4 years ago
Alexei Dobrohotov 0e8c5c5034 Merge branch 'avoid_collision_update' into 'master'
Update logic of "NPCs avoid collisions"

See merge request OpenMW/openmw!318
4 years ago
Alexei Dobrohotov b85875a354 Ignore Burden effect in god mode 4 years ago
Alexei Dobrohotov 39678c74bf Add many more godmode checks to harmful magic (bug #5633) 4 years ago
Alexei Dobrohotov 0dcb8c6b69 Fix pick/probe uses decrement 4 years ago
Alexei Dobrohotov ec825b2510 Fix RayCastingResult warning 4 years ago
Petr Mikheev be27b51279 Add head bobbing in first person mode 4 years ago
psi29a bca698d951 Merge branch 'shader_line_numbering' into 'master'
Correctly resetting line numbering during shader processing.

See merge request OpenMW/openmw!317
4 years ago
AnyOldName3 c9e3db40a1 Merge branch 'multi-config-build' into 'master'
Add support for multi configurations generators on unix

See merge request OpenMW/openmw!198
4 years ago
Andrei Kortunov 822764d0fa Rework fixed strings handling 4 years ago
Alexei Dobrohotov 29ccb09da5 Introduce some extended NIF definitions 4 years ago
Petr Mikheev 2835ea1e21 Update logic of "NPCs avoid collisions" 4 years ago
Charles Calhoun 14aacb81c5 Fix follower aggression when traveling. Summoning still has problems but less intrusive than current implementation. 4 years ago
Mads Buvik Sandvei d5450a7d88 Correctly resetting line numbering during shader processing. 4 years ago
psi29a 3040b3b2b6 Merge branch 'issue-5588' into 'master'
Prevent empty right page of journal having invisible topics (Fixes #5588)

Closes #5588

See merge request OpenMW/openmw!310
4 years ago
Kyle Shrader 845049a166 Prevent empty right page of journal having invisible topics (Fixes #5588) 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 0eedf8fd9f Add OpenMW commits up to 30 Sep 2020
# Conflicts:
#   apps/openmw/mwmechanics/aicombat.cpp
#   apps/openmw/mwmechanics/character.cpp
#   apps/openmw/mwmechanics/summoning.cpp
#   components/CMakeLists.txt
4 years ago
psi29a aa4e6c448b Merge branch 'spellabsorption' into 'master'
Support enchantment absorption

See merge request OpenMW/openmw!307
4 years ago
psi29a d9dafbe45b Merge branch 'master' into 'uses'
# Conflicts:
#   CHANGELOG.md
4 years ago
psi29a 0438d9d5bb Merge branch 'enchanting' into 'master'
Reset enchant effects displayed range when they are constant (bug #5603)

See merge request OpenMW/openmw!309
4 years ago
psi29a ad1021721f Merge branch 'master' into 'rotation'
# Conflicts:
#   CHANGELOG.md
4 years ago
Alexei Dobrohotov f2af957647 Reset enchant effects displayed range when they are constant (bug #5603) 4 years ago
Alexei Dobrohotov e0a5c24afe Handle 0-use items like vanilla (bug #5611) 4 years ago
AnyOldName3 73708a6f2a Install openmw-cs.cfg on single-config generators and from the right directory on multi-config 4 years ago
Petr Mikheev a17fb14b8a Add "smooth movement" and "NPCs avoid collisions" settings to openmw-launcher and to the docs; update CHANGELOG.md. 4 years ago
Petr Mikheev ad51a4be2e Changes in head tracking and greetings for "smooth movement". 4 years ago
Petr Mikheev b838782557 Avoid collisions between actors. 4 years ago
Petr Mikheev 79a72e4b44 Slightly modify aicombat to make it more difficult to get around an enemy. The difference is visible only if turning is slow (i.e. if smooth movement enabled). 4 years ago
Petr Mikheev 6a75942907 Fix CharacterController::setAttackTypeBasedOnMovement 4 years ago
Petr Mikheev bd6b984022 Smoothing speed in CharacterController 4 years ago
Petr Mikheev 71ba94a89a Smooth turning; smooth stopping; combat headtracking 4 years ago
Alexei Dobrohotov f8389c6c37 Support enchantment absorption 4 years ago
Alexei Dobrohotov 387bda5e22 Add inverse order rotation support to SetAngle (feature #5579) 4 years ago
Andrei Kortunov 7d776609c8 Fix unsugned/signed comparison warning 4 years ago
Bret Curtis dd7e964baf
Merge pull request #2999 from akortunov/spellfix
Apply effects during rest before fast-forwarding spells state
4 years ago
psi29a 22c3588d0d Merge branch '4771-and-4631' into 'master'
Try lower MSAA level if the requested value isn't available

Closes #4471 and #4631

See merge request OpenMW/openmw!297

(cherry picked from commit b3db387512340a5e9a77427c2d7d9d88c2340056)

da0aef7a Retrieve SDL OpenGL attributes after context creation
a51e63b3 Try lower MSAA levels if OpenGL context doesn't have what we requested
c4e92a0a Update CHANGELOG.md
4 years ago
psi29a b4ccd2658a Merge branch 'khr_debug' into 'master'
Khr debug

See merge request OpenMW/openmw!302
4 years ago
Bret Curtis 8f07b7e076
Merge pull request #3005 from Assumeru/dont-search-containers
Don't search containers
4 years ago
AnyOldName3 3f61ff3a44 Make OpenGL debugging optional 4 years ago
AnyOldName3 441c09578a Merge remote-tracking branch 'origin/khr_debug' into khr_debug 4 years ago
Evil Eye fe82cd9f92 Don't search containers 4 years ago
Petr Mikheev 874c754b68 Fix #5557 4 years ago
tessa 58b5249e8b fix typo in terrainstorage.hpp 4 years ago
Bret Curtis 673f0f4f77
Merge pull request #3003 from akortunov/min_cost
Set a minimum 1gp cost for services
4 years ago
Andrei Kortunov 753ca91556 Set a minimum 1gp cost for services (regression #5600) 4 years ago
AnyOldName3 ffed6acc49 Merge branch 'patch-1' into 'master'
force static data variance for water geometry

See merge request OpenMW/openmw!294
4 years ago
Alexei Dobrohotov 99ab629a03
Merge pull request #2995 from akortunov/arrows
Improve ammo resetting
4 years ago
Mads Buvik Sandvei 2d021430b8 force static data variance for water geometry 4 years ago
Andrei Kortunov f9ca08a984 Do not use swish sound for ranged weapons 4 years ago
Andrei Kortunov 787ca06d55 Apply effects during rest before fast-forwarding spells state 4 years ago
Bret Curtis 53e581fe10
Merge pull request #2899 from akortunov/multiple_effects
Track magic effect index for summoning
4 years ago
Andrei Kortunov 7a4efe3979 Avoid crash when object paging encounters an empty shape 4 years ago
Petr Mikheev 7e3d19196d Fix #5586 4 years ago
Evil Eye 131bd5c91d Fix unused template argument 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 9189a42c4c Fix failed assertion 4 years ago
Andrei Kortunov 67eace1028 Use struct instead of tuple 4 years ago
Andrei Kortunov 924f634bda Support for multiple summons with same ID in the single spell 4 years ago
Andrei Kortunov 47af221f10 Reset ammo when switching view to avoid warnings spam 4 years ago
Andrei Kortunov 297898182b Reset attached arrow in the beginning of unequipping animation 4 years ago
Bret Curtis 7ee5526dbf
Merge pull request #2993 from akortunov/warnfix
Fix MSVC warnings
4 years ago
David Cernat f568220abc [Client] Initialize DedicatedPlayers in placeholder interior cell 4 years ago
David Cernat 9c7f5410a5 [Client] Add exception handling to CellController::isSameCell() 4 years ago
psi29a f90a049702 Merge branch 'movement_refactoring' into 'master'
Refactoring related to "smooth movement"

See merge request OpenMW/openmw!285

(cherry picked from commit 6eaf0a389d5aed3b74ab1a7cf89574612f964bdf)

e847b4c8 Split getSpeed() to getMaxSpeed() and getCurrentSpeed()
a96c46bc Refactor calculation of movement.mSpeedFactor
03ee9090 Use getMaxSpeed instead of getCurrentSpeed where it makes sense.
a178af5c Create helper functions `normalizeAngle` and `rotateVec2f`
4 years ago
AnyOldName3 a495888d3d Get per-monitor resolution list while SDL is alive 4 years ago
AnyOldName3 5538fea1d1 Display standard resolutions on single-monitor machines 4 years ago
Andrei Kortunov f9e667dd8c Fix MSVC warnings 4 years ago
AnyOldName3 b60d5904e2 Correct SDL_GetNumVideoDisplays error message
It logged the wrong function
4 years ago
David Cernat 3c4d78e496 [Server] Send ActorAuthority packets to all clients 4 years ago
Bret Curtis 74ba6197ce
Merge pull request #2991 from akortunov/launcher
Use two columns when there is too many checkboxes in launcher's tab
4 years ago
elsid 80e23536cb Merge branch 'camera_refactoring' into 'master'
Camera refactoring

See merge request OpenMW/openmw!271
4 years ago
Andrei Kortunov 7c9497c4de Use two columns when there is too many checkboxes in launcher's tab 4 years ago
Andrei Kortunov 8e566fa7ab
Merge pull request #2989 from Capostrophic/tabs
Make Advanced tab of the launcher look okay for everyone again
4 years ago
David Cernat 89da1f39fb [Client] Implement stable cell resets 4 years ago
Alexei Dobrohotov 5c37b5bc4b
Merge pull request #2990 from akortunov/serialize
[Regression] Fix crash for ShowSceneGraph
4 years ago
Andrei Kortunov 7f342374fc Fix crash when using 'showscenegraph 1' console command 4 years ago
David Cernat 741553dc00 [Client] Fix spacing for sound records in mwmp::Worldstate 4 years ago
David Cernat fc26e9bbc1 [Client] Remove urm's broken (by his own admission) cell reset attempt 4 years ago
David Cernat c6852f49ba [Client] Add another validity check to CellController::updateLocal() 4 years ago
David Cernat e4529af0a7 [Client] Make cell record overrides for current cell more stable 4 years ago
David Cernat 9a83108fe5 [Client] Add uninitializeCell() method to CellController 4 years ago
Capostrophic c436f29a1e Make Advanced tab of the launcher look okay for everyone again 4 years ago
Capostrophic a0ca7c4b43 AIPursue: don't do a LOS check
Properly resolve #4774
4 years ago
David Cernat c87a383bee [Client] Simplify MWWorld::Cells::clear() & make it work w/ exteriors 4 years ago
psi29a f73aa9f27a Merge branch 'launcher_update' into 'master'
Add more settings to openmw-launcher

See merge request OpenMW/openmw!272
4 years ago
Petr Mikheev 6a4fa8a8b5 Add more settings to openmw-launcher 4 years ago
Bret Curtis 32e7b78cb9
Merge pull request #2985 from Assumeru/master
Fix regression #5572
4 years ago
Evil Eye fb28d27d08 don't discard purged effects 4 years ago
Capostrophic a211527b4b Fix AppVeyor warnings 4 years ago
Petr Mikheev 0de6650add Add RayCastingInterface 4 years ago
David Cernat bcb7568ac6 [Client] Add cellStore validity check to CellController::updateLocal() 4 years ago
David Cernat 94dc6f422a [Client] Use temporary holding interior when changing current cell record 4 years ago
Petr Mikheev e9b2e9b474 Remove camera stuff from RenderingManager 4 years ago
Petr Mikheev 694e0b5906 Refactoring. Simplification of camera interface. 4 years ago
Petr Mikheev ed3426cf2f Move third person camera collision check from World::updatePlayer() to Camera::updatePosition() 4 years ago
Alexei Dobrohotov eed8902380
Merge pull request #2982 from Assumeru/explain
Comments to explain the arcane workings of Morrowind
4 years ago
David Cernat 958be0b114 [Client] Add logging for invalid attempts at getting creature stats 4 years ago
Bret Curtis 2e05b5a4ee
Merge pull request #2983 from Assumeru/spell-regression
Fix #5566
4 years ago
Petr Mikheev ca4330f753 Tune algorithm of "auto switch shoulder" 4 years ago
Evil Eye 144a7f330f Fix a regression that meant missing spells would prevent a save from being loaded 4 years ago
David Cernat baa9446cd1 Add OpenMW commits up to 4 Aug 2020 4 years ago
Perry Hugh 4bf24a955e Restore Gamepad Zooming 4 years ago
Bret Curtis 1995e43b46
Merge pull request #2980 from Assumeru/heritage
Make scripts inherit variables from the base record
4 years ago
unknown 073a7f2b2d Comments to explain the arcane workings of Morrowind 4 years ago
Andrei Kortunov 9f349e8d91 Use more C++11 in the scripting system code 4 years ago
unknown b39f35d805 inherit variables 4 years ago
Bret Curtis 72b63ed140
Merge pull request #2954 from Assumeru/basespells
Mutate base records when adding/removing spells
5 years ago
Frederic Chardon 12ee42c6f3 Update mLastTopic before executing scripts. In case the script contains ClearInfoActor it erase not the correct topic.
Other correction not linked with the bug:
- reset mActorKnownTopicsFlag at the same time as mActorKnownTopics
- don't call updateTopics in addResponse, it is already handled by the response
callback
5 years ago
unknown e27858cfab these were supposed to be included 5 years ago
Evil Eye 6ad20ec9c7 Mutate base records when adding/removing spells 5 years ago
Bret Curtis ae1af0e103
Merge pull request #2972 from Assumeru/non-unique-additem
Mutate base record when calling add/remove item on non-unique actors
5 years ago
David Cernat 4560267298 [General] Track the client scripts that Object packets originate from 5 years ago
Bret Curtis d197e2887b
Merge pull request #2977 from Capostrophic/simplewater
Make a horrible simple water hack less horrible
5 years ago
Bret Curtis 82a45eb6ae
Merge pull request #2976 from Capostrophic/unconscious
Add option to always allow stealing from KO'd actors (feature #5545)
5 years ago
Capostrophic 03f0bd3df6 Make a horrible simple water hack less horrible 5 years ago
David Cernat 2cb16e778c [General] Use clearer method name for tracking InterpreterContext type 5 years ago
David Cernat 63480a0012 [Client] Use DetourNavigator for local actors, working around c1ebd9474b 5 years ago
Capostrophic 9c930e38fa Add option to always allow stealing from KO'd actors (feature #5545) 5 years ago
Capostrophic cc6e4ad215 Fix pickpocketing sneaking stance check 5 years ago
Evil Eye 040a92c373 implement additem/removeitem for non-unique actors 5 years ago
David Cernat 57734c172b [Client] Retain AiPursue for guards ignoring player because of dialogue
In OpenMW, guards starting combat with the player cause other guards with an AiPursue package to also join the combat in MechanicsManager::startCombat(). Previously, however, TES3MP was discarding AiPursue packages for the guards who hadn't started the arrest dialogue with the player by returning the wrong boolean in AiPursue::execute(), leading to just one-on-one combat with the arresting guard.
5 years ago
David Cernat ff10aa816b Add OpenMW commits up to 25 Jul 2020
# Conflicts:
#   .travis.yml
5 years ago
CedricMocquillon 1f4f10c723 Add a tab level in advanced settings 5 years ago
psi29a fc7266d4ee Merge branch 'Improve-cell-name-autocompleter-implementation' into 'master'
#5520 Improve cell name autocompleter implementation

See merge request OpenMW/openmw!267
5 years ago
Cédric Mocquillon 2e27de027e Add members in AdvancedPage class to avoid memory leak when the list of cells names is updated as we recreated a completer at each notification event 5 years ago
Bret Curtis 21ee1ed317
Merge pull request #2973 from akortunov/refactoring
Use more C++11 loops in game mechanics code
5 years ago
Andrei Kortunov e6036e13b9 Use more C++11 loops in game mechanics code 5 years ago
Petr Mikheev 8cdc7031f5 Support vectors in settings.cfg 5 years ago
Petr Mikheev 62c8ea373b Fix not completely correct camera transition when switching from 1st person to 3rd person if armed. 5 years ago
Petr Mikheev d78b227670 Fix inverted preview rotation when using controller 5 years ago
Petr Mikheev 2e6aa155a3 New settings 'preview if stand still' and 'deferred preview rotation'. 5 years ago
Petr Mikheev 9f850b6ffc Move deferred rotation logic from renderingmanager.cpp to camera.cpp 5 years ago
Petr Mikheev 63cab4052d Refactoring in mwrender::Camera. enum for normal/preview/vanity mode. 5 years ago
David Cernat 58d8367cb0 [Client] Handle input from server-sent custom messageboxes less hackily 5 years ago
Petr Mikheev 8ac7ffc32b Remove 'separate preview camera' and make the new behavior the default one.
Also minor refactoring in camera.cpp
5 years ago
David Cernat eb1641dd86 [Client] Fix crashes caused by current modals with invalid widgets 5 years ago
Petr Mikheev 4d206d2c67 Improved preview mode 5 years ago
elsid c3b581131d Merge branch 'third_person_fix' into 'master'
Minor fixes for 'view over shoulder'

See merge request OpenMW/openmw!265
5 years ago
Petr Mikheev 8ac143c983 Camera can pull out after clearing obstruction instead of instant snapback. 5 years ago
Petr Mikheev 68148f5ec7 1. Skip smooth camera transition after changing cell; 2. Fix 'zoom out when move' for extremely high speed; 5 years ago
elsid 9240833bda
Init sound by a single object 5 years ago
Bret Curtis 74c67218e4
Merge pull request #2968 from elsid/fix_flee_cliff_racers
Adjust actor rotation when flee by axis x (bug #5531)
5 years ago
Bret Curtis e98ae3262e
Merge pull request #2969 from akortunov/scripts
Resume failed scripts execution after game reload
5 years ago
Andrei Kortunov b05d071e69 Resume failed scripts execution after game reload (feature #5524) 5 years ago
elsid b7c1c52439
Adjust actor rotation when flee by axis x
Otherwise Cliff Racers can go underwater.
5 years ago
David Cernat d3f23220de [Client] Only require cellStore for ConsoleCommand packets with objects 5 years ago
elsid bcd526b706 Merge branch 'third_person_new' into 'master'
Further improvements of "view over shoulder"

See merge request OpenMW/openmw!237
5 years ago
Bret Curtis a5da59e840
Merge pull request #2967 from Capostrophic/casesensitivity
Fix search filter unicode character case sensitivity
5 years ago
Petr Mikheev 383fa3d3ab Make 'zoom out when move' configurable. 5 years ago
Petr Mikheev 173c1fdabb Make transition in 'auto switch shoulder' smoother. 5 years ago
Petr Mikheev 51173ebcf5 Refactoring. Move all code related to 'view over shoulder' to a separate file. 5 years ago
Petr Mikheev 5bdf61a886 Slightly pulls camera away when the character moves 5 years ago
Petr Mikheev ef03f2c033 Auto switch shoulder 5 years ago
Petr Mikheev 5675d6ce81 Generalize calculation of focal point offset for 3rd person camera.
When player swim, the view slowly switches from "over shoulder" to "above head".
New functions to switch shoulder.
5 years ago
Capostrophic 65ac0c86b8 Fix search filter unicode character case sensitivity 5 years ago
Evil Eye 271f7040a6 Fix a regression caused by #2648 (fixes #5513) 5 years ago
Andrei Kortunov 7f936e4cde
Merge pull request #2961 from akortunov/move
Do not use outdated references when moving objects to new cells
5 years ago
Bret Curtis 3acb84f4d5
Merge pull request #2964 from elsid/osg_rendering_stats
Report OSG rendering stats to file
5 years ago
Roman Siromakha 0f6badc581
Merge pull request #2958 from akortunov/statswatcher
Corrections for StatsWatcher
5 years ago
David Cernat 39e429c9eb Add OpenMW commits up to 11 Jul 2020
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/actors.cpp
5 years ago
Andrei Kortunov da791590ac Update HUD icons during mechanics update again to avoid crashes 5 years ago
elsid db0ad8421f
Report OSG rendering stats 5 years ago
Andrei Kortunov 58e3900ea0 Avoid redundant call 5 years ago
Andrei Kortunov db8f0ad6fd Do not use outdated references when moving objects to new cells (bug #5387) 5 years ago
elsid a4e3f32ec8
Fix TSAN warnings for ripples emitter
While main thread creates particles rendering thread draws them so
sychronization is required.
5 years ago
psi29a b372ac9119 Merge branch '#5493_better_handle_objects_across_cells' into 'master'
Resolve #5493 by better supporting objects that are placed across cells.

Closes #5493

See merge request OpenMW/openmw!260
5 years ago
psi29a 15c5cf42c0 Merge branch '#5517_ag_rotate_object_fix' into 'master'
Resolves #5517 by removing the object being rotated from the paging system.

Closes #5517

See merge request OpenMW/openmw!259
5 years ago
psi29a 8f86617262 Merge branch 'master' into 'master'
Fixed passed indexes for object deletion #5384

See merge request OpenMW/openmw!196
5 years ago