1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 04:49:54 +00:00
Commit graph

14661 commits

Author SHA1 Message Date
Evil Eye
57c92673bc Consider a path completed if it was non-empty 2020-12-30 16:09:12 +01:00
unknown
3bf641d3ce Show mesh origin 2020-12-29 21:45:59 +01:00
Alexei Dobrohotov
396667f801 Fix weather particle fading
Update rain particle system setup
2020-12-29 15:46:45 +03:00
Evil Eye
e46472442a Switch torches to shields for hostile NPCs 2020-12-29 01:40:30 +00:00
AnyOldName3
54853380cd Enable multisampling in RTTs to support A2C 2020-12-28 22:39:09 +00:00
Andrei Kortunov
e80d34268c Fix defines names 2020-12-28 21:11:58 +04:00
Alexei Dobrohotov
a7cbe0b497
Merge pull request #3036 from akortunov/tooltip
Enhance level-up tooltip
2020-12-28 18:21:32 +03:00
Andrei Kortunov
66fee6dccb Enhance level-up tooltip 2020-12-28 12:13:09 +04:00
Andrei Kortunov
6a12c2b58b Fix GCC build warnings 2020-12-28 12:06:41 +04:00
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
2020-12-28 01:25:22 +00:00
wareya
18ef32ca82 values for this higher than sGroundOffset cause jittering on some surface; use safe-seeming value slightly less than sGroundOffset 2020-12-27 22:16:11 +00:00
Alexei Dobrohotov
ddbfa5410d Merge branch 'fixboats' into 'master'
Apply waterwalking even when bypassing physics simulation

See merge request OpenMW/openmw!500
2020-12-27 22:06:07 +00:00
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.
2020-12-27 17:31:55 +01:00
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
2020-12-27 14:25:57 +00:00
AnyOldName3
5e004356a2 Merge remote-tracking branch 'upstream/master' into alpha-meddling 2020-12-27 02:48:42 +00:00
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
2020-12-26 23:10:53 +00:00
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
2020-12-26 23:09:41 +00:00
AnyOldName3
8f4b856b44 Initial A2C implementation 2020-12-26 22:45:53 +00:00
Evil Eye
7cac7fa870 Make followers keep a distance dependant on the fattest party member 2020-12-25 23:57:01 +01:00
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
2020-12-25 21:33:35 +00:00
Evil Eye
d2a28d915a Don't consider a path completed unless we're close 2020-12-25 15:58:11 +01:00
Evil Eye
1f1755ae48 Add version checks 2020-12-25 13:05:41 +01:00
Evil Eye
bdcbb412a5 Don't restore focus to hidden/unrelated buttons 2020-12-25 13:03:09 +01:00
Petr Mikheev
8b3088a9e5 Fix #5743 2020-12-24 11:54:21 +01:00
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.
2020-12-24 03:39:59 +01:00
Alexei Dobrohotov
fd77ef6b01 Only ignore plain text after the last EOL tag (#5627) 2020-12-23 03:33:34 +03:00
Alexei Dobrohotov
32cc14981e Don't move characters if their animation can't move them 2020-12-22 20:40:52 +03:00
psi29a
4f1361b5ea Merge branch 'paralyze' into 'master'
Fix paralyze for swimming and levitating actors

Closes #5758

See merge request OpenMW/openmw!488
2020-12-22 10:49:24 +00:00
Alexei Dobrohotov
22476281da Fix paralyze for swimming actors 2020-12-22 08:03:51 +03:00
Alexei Dobrohotov
218597b13d Fix paralyze for levitating actors 2020-12-22 06:33:19 +03:00
Alexei Dobrohotov
f5af09aed9 Fix AI sequence looping code (bug #5706) 2020-12-22 05:56:59 +03:00
psi29a
3e87c35005 Merge branch 'dialogue' into 'master'
Don't regenerate the topics list unconditionally

See merge request OpenMW/openmw!459
2020-12-21 22:52:38 +00:00
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
2020-12-20 22:52:35 +00:00
Alexei Dobrohotov
ce36dd8a52 Merge branch 'misc_cleanup' into 'master'
Small cleanup

See merge request OpenMW/openmw!482
2020-12-20 19:10:06 +00:00
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
2020-12-20 19:23:09 +01:00
fredzio
33eb09f534 Remove unused headers 2020-12-20 18:28:21 +01:00
Alexei Dobrohotov
6b5e614b1a Merge branch 'dont_cache_ptr' into 'master'
Always use latest actor's Ptr

See merge request OpenMW/openmw!481
2020-12-19 17:15:43 +00:00
fredzio
e5f0c7f117 Fix a typo introduced in 08e73a09ec
It closes #5752
2020-12-19 16:54:50 +01:00
fredzio
93a12fe388 Avoid dynamic_cast when possible. 2020-12-18 23:47:01 +01:00
fredzio
8e084dea2e Don't cache Ptr, it can be updated while the simulation is running. 2020-12-18 22:22:37 +01:00
fredzio
58297ffbf4 Move stats update into their own function. 2020-12-18 21:18:04 +01:00
fredzio
24a8b8c66a Remove redundant call to resetPosition(). adjustPosition() takes care of
it,
2020-12-18 21:16:48 +01:00
Mads Buvik Sandvei
eec2ba3623 Loading screen initialdrawcallback 4th time's the charm 2020-12-18 18:15:14 +00:00
AnyOldName3
2ecd00b6db Don't accidentally enable alpha testing for all shadow casting 2020-12-18 16:31:21 +00:00
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"
2020-12-18 12:54:02 +01:00
psi29a
d01d5745c6 Merge branch 'relative_move' into 'master'
Relative translation for scripts

See merge request OpenMW/openmw!477
2020-12-18 09:23:18 +00:00
Mads Buvik Sandvei
ea8f98b339 Wait for initialDrawCallback to finish before removing it 2020-12-18 08:48:39 +00:00
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.
2020-12-18 08:40:38 +01:00
AnyOldName3
a080071588 Set default state sensibly 2020-12-18 00:02:51 +00:00
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
2020-12-17 23:37:21 +00:00
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.
2020-12-17 03:12:01 +02:00
Mads Buvik Sandvei
bc961a13f5 avoid redundant calls to removeInitialDrawCallback 2020-12-16 22:03:16 +01:00
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. 2020-12-16 21:46:52 +01:00
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".
2020-12-15 21:34:58 +01:00
psi29a
884b434ee0 Merge branch 'fixfriendlyfire' into 'master'
Fix projectiles friendly fire (#5744)

See merge request OpenMW/openmw!466
2020-12-15 15:45:43 +00:00
Nelsson Huotari
8b2bf12e8f Use bip01 for root bone name 2020-12-15 13:51:49 +02:00
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.
2020-12-14 22:23:01 +01:00
Alexei Dobrohotov
201999c4a9 Make sure adjustPosition() is safe to call for any actor 2020-12-14 03:01:26 +03:00
David Cernat
1a4b817b31 [General] Rework ObjectDialogueChoice for multilingual compatibility
Use a different system for sending and applying ObjectDialogueChoice packets.
2020-12-13 08:09:14 +02:00
Alexei Dobrohotov
817ac4cfbd Don't regenerate the topics list unconditionally 2020-12-12 23:07:00 +03:00
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).
2020-12-12 18:17:26 +01:00
Alexei Dobrohotov
15291f15d3 Make actor collision box components a struct 2020-12-11 20:07:59 +03:00
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
2020-12-11 12:04:15 +00:00
psi29a
9a35c5815e Merge branch 'nofallfloor' into 'master'
Update physics object position after spawning.

See merge request OpenMW/openmw!449
2020-12-11 11:28:29 +00:00
Frederic Chardon
460e5abb55 Update physics object position after spawning. 2020-12-11 08:57:08 +01:00
Frederic Chardon
899b8422fa explicitely use a reference, auto can't infer it and make a copy 2020-12-11 08:56:54 +01:00
Petr Mikheev
49c6e50c31 Print '--version' and '--help' messages without timestamps 2020-12-08 23:14:49 +01:00
psi29a
afaacedf67 Merge branch 'placeatmecrash' into 'master'
Don't crash the game when placing a non-actor

See merge request OpenMW/openmw!443
2020-12-08 17:37:01 +00:00
Evil Eye
39ac0cbb4a Don't crash the game when placing a non-actor 2020-12-08 17:47:25 +01:00
Chris Djali
21de3fa7e8
Merge pull request #3033 from akortunov/main_messages
Use a logging system instead of cout for a couple of missing messages
2020-12-08 15:49:19 +00:00
psi29a
fd64aacf7d Merge branch 'cliherbalism' into 'master'
Add a setting to disable graphical herbalism

See merge request OpenMW/openmw!440
2020-12-08 10:02:15 +00:00
fredzio
4fbe1ed12c Ignore caster collision shape. Sometimes the magic bolt get launched
inside too near its caster.
2020-12-08 09:06:34 +01:00
fredzio
7e85235220 Projectile to projectile collision 2020-12-08 09:06:34 +01:00
fredzio
66fe3b0d38 Modify projectile collision to work with async physics 2020-12-08 09:06:33 +01:00
Andrei Kortunov
dc7b48e92e Generate physics collisions for projectiles (bug #3372)
Remove redundant now mHit field
2020-12-08 09:05:38 +01:00
Andrei Kortunov
242dd8d496 Use a logging system instead of cout for a couple of missing messages 2020-12-08 11:06:30 +04:00
Evil Eye
275b9aea4d rename setting 2020-12-07 21:56:41 +01:00
Evil Eye
e62fff5f2e Add a setting to disable graphical herbalism 2020-12-07 19:04:32 +01:00
CedricMocquillon
6bfdf0e57f Add more information on mouse over level 2020-12-07 14:57:25 +01:00
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
2020-12-07 12:35:58 +00:00
psi29a
a3dfdde9ef Merge branch 'move_actors_into_scene' into 'master'
Move actors into the scene after a teleport

See merge request OpenMW/openmw!438
2020-12-07 10:19:32 +00:00
psi29a
c742c15f6d Merge branch 'autogoesbrr' into 'master'
Use range based for loops and auto

See merge request OpenMW/openmw!400
2020-12-07 09:12:50 +00:00
psi29a
b22418d053 Merge branch 'fix_spawn' into 'master'
Fix spawn #5724

See merge request OpenMW/openmw!439
2020-12-07 08:20:35 +00:00
fredzio
c6c02a6f16 Remove useless code. ipos is already initialized with the correct
values.
2020-12-06 13:26:43 +01:00
fredzio
08e73a09ec Make the code more compact by mean of std::min / max and ternary
operator.
2020-12-06 13:24:42 +01:00
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.
2020-12-06 13:20:37 +01:00
Petr Mikheev
5734551ff3 Add time to logs. Redirect OSG log to OpenMW log. 2020-12-05 13:46:02 +01:00
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".
2020-12-05 01:09:43 +01:00
Evil Eye
078de86e60 Use range based for loops and auto 2020-12-04 18:34:51 +01:00
Alexei Dobrohotov
84e1a29700 Make AI cast self-targeted spells at the ground (bug #5695) 2020-12-04 00:41:21 +03:00
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.
2020-12-03 12:57:57 +01:00
psi29a
6f0b90e606 documented that currently underwater shadows are mutually exclusive to refraction scale; to be fixed in follow up issue #5709; documentation fixes 2020-12-02 23:03:10 +00:00
David Cernat
4620adc662 Add OpenMW commits up to 30 Nov 2020
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/mwphysics/actor.cpp
2020-12-01 01:15:39 +02:00
Bret Curtis
16b34c2863
Merge pull request #3029 from akortunov/replace_zeroes
Replace zeroes and nulls by nullptrs
2020-11-29 14:50:01 +01:00
psi29a
73ca333c4b Merge branch 'actorpositionagain' into 'master'
Make the physics simulation more robust when overloaded

See merge request OpenMW/openmw!429
2020-11-29 13:48:35 +00:00
Andrei Kortunov
8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
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.
2020-11-28 21:36:45 +01:00
psi29a
dc1bd8ec29 Merge branch 'osgAnimation_basics' into 'master'
Collada animation support

See merge request OpenMW/openmw!421
2020-11-28 16:55:26 +00:00
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
2020-11-23 20:15:44 +00:00
David Cernat
5d7ca14e7e [Client] Set DedicatedPlayer's anim flags when its Ptr is enabled 2020-11-23 16:27:41 +02:00
AnyOldName3
f8c791fde3 Merge branch 'physics_worker_profile' into 'master'
Add the async physics worker to the profiler overlay.

See merge request OpenMW/openmw!422
2020-11-21 00:18:44 +00:00
Frederic Chardon
9aba55a21a Add the async physics worker to the profiler overlay. 2020-11-20 21:17:47 +01:00
jefetienne
bc6f46465f Add to changelog, authors. Move variable declaration inside block 2020-11-19 10:34:15 -05:00
jefetienne
2413de38b5 Extend spell/item search to search by magic effect name 2020-11-19 10:34:15 -05:00
Nelsson Huotari
6e77ad1f6a OSG-Collada animation support 2020-11-19 01:11:56 +02:00
Nelsson Huotari
f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 2020-11-18 22:48:47 +02:00
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
2020-11-18 18:19:46 +00:00
Evil Eye
c126d8801f Fix #5689 2020-11-18 17:28:09 +01:00
AnyOldName3
06d1e70aac Make Bullet DebugDrawer's default state match the physics system 2020-11-18 15:34:21 +00:00
David Cernat
b1ce90076e [Client] Don't apply spell effects unilaterally on DedicatedPlayers 2020-11-17 17:51:13 +02:00
David Cernat
58c04530e7 [General] Implement PlayerSpellsActive packet, part 2
The packet can now set the active spells of DedicatedPlayers.
2020-11-17 13:00:02 +02:00
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. 2020-11-16 11:35:50 +01:00
fredzio
d64ed6cf53 Get rid of the StandingActorsMap. Just embed the necessary info into
Actor class.
2020-11-15 01:58:21 +01:00
psi29a
5362146d24 Merge branch 'interleaved_movements' into 'master'
Unbreak lifts & conveyors in Sotha Sil Expanded

See merge request OpenMW/openmw!410
2020-11-15 00:20:24 +00:00
David Cernat
30b179c2dd [Client] Add die() method to DedicatedPlayer 2020-11-15 01:30:13 +02:00
David Cernat
ae0e4a929f [Client] Add die() method to LocalPlayer 2020-11-15 01:02:58 +02:00
David Cernat
cd835104b7 [Client] Add resurrect() method to DedicatedPlayer 2020-11-15 00:44:10 +02:00
David Cernat
1083fa5196 [Client] Reorder DedicatedPlayer's functions 2020-11-14 23:02:30 +02:00
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.
2020-11-14 20:39:16 +01:00
David Cernat
676481d061 Add OpenMW commits up to 14 Nov 2020
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/tickableeffects.cpp
2020-11-14 19:59:59 +02:00
Alexei Dobrohotov
8a6d3d1b4f Minor fixes
Fix extra semicolon
Disable collision avoidance if AI is disabled
2020-11-13 22:53:12 +03:00
AnyOldName3
1e0df23d14 Merge branch 'shadows-bin' into 'master'
Use a custom renderbin to avoid pointless OpenGL state switches

See merge request OpenMW/openmw!402
2020-11-13 16:29:41 +00:00
AnyOldName3
72f7e6a702 Handle all shadow alpha uniforms in shadowsbin 2020-11-12 00:26:30 +00:00
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.
2020-11-11 15:13:14 +02:00
David Cernat
4389d4417a [Client] Add setStatsDynamic() method to DedicatedPlayer 2020-11-11 14:55:55 +02:00
psi29a
ed8342ebc9 Merge branch 'niffile' into 'master'
Remove NIFFile settings manager dependency

See merge request OpenMW/openmw!398
2020-11-10 09:03:10 +00:00
Alexei Dobrohotov
c857588ee9 Remove NIFFile settings manager dependency 2020-11-09 14:24:48 +03:00
Alexei Dobrohotov
b523574090 Remove shader visitor settings manager dependency 2020-11-09 13:59:59 +03:00
Andrei Kortunov
0e971dccf0 Rework cure effects 2020-11-04 13:51:10 +04:00
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
2020-11-03 14:34:25 +00:00
Bret Curtis
6efa7eea5a
Merge pull request #3025 from akortunov/iterator
Do not remove active effects in the active effects loop
2020-11-02 17:12:45 +01:00
Andrei Kortunov
c1d56d94c4 Do not remove active effects in loop (bug #3789) 2020-11-02 17:51:36 +04:00
Frederic Chardon
ecd10a731e Compute the rotation normal relative to the door axe, not the world. 2020-11-02 14:12:42 +01:00
fredzio
18e38d8810 Do not block a door when it turns away. 2020-11-01 23:01:18 +01:00
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
2020-11-01 23:17:59 +02:00
psi29a
ba3aad31c1 Merge branch 'hitdebug' into 'master'
Visualize hits in the debug overlay

See merge request OpenMW/openmw!379
2020-11-01 10:20:14 +00:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
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.
2020-10-30 23:59:09 +01:00
Evil Eye
7065282127 Save and load container records; fixes #5668 2020-10-29 13:55:24 +01:00
Andrei Kortunov
64ba81ecf2 Fix some issues, found by CoverityScan 2020-10-28 18:02:31 +04:00
psi29a
8f68f08aee Merge branch 'moonmoon' into 'master'
Change moon phase to an enum class

See merge request OpenMW/openmw!381
2020-10-27 19:44:30 +00:00
Evil Eye
3bf5247c0b remove forward declaration 2020-10-27 19:23:07 +01:00
Alexei Dobrohotov
9763995892 Fix regression #5666 2020-10-27 18:08:14 +03:00
psi29a
74dfc09e2d Merge branch 'removeitem' into 'master'
Fix remove item regression

Closes #5663

See merge request OpenMW/openmw!380
2020-10-26 23:13:35 +00:00
Evil Eye
2c4cafa41a Change moon phase to an enum class 2020-10-26 22:16:31 +01:00
Evil Eye
0512a574e8 Fix remove item regression 2020-10-26 20:13:24 +01:00
David Cernat
9dcb0f4c32 [General] Implement ObjectDialogueChoice packet 2020-10-26 19:48:40 +02:00
psi29a
f6e4c7cb42 Merge branch 'regionsounds' into 'master'
Fix region sounds

See merge request OpenMW/openmw!370
2020-10-26 16:29:45 +00:00
fredzio
e8c0a7bec0 Visualie projectile hits 2020-10-26 13:53:36 +01:00
Frederic Chardon
574ccbf7bd Visualize hand to hand hits 2020-10-26 13:48:15 +01:00
fredzio
435b2e37f8 Allow to display collision points in the debug viewer 2020-10-26 13:42:46 +01:00
Bret Curtis
4032b754e4 set minimal boost version; remove #ifdef boost version checks 2020-10-25 22:43:10 +01:00
unknown
eae9eafb8c Merge branch 'master' of gitlab.com:OpenMW/openmw into regionsounds 2020-10-25 14:13:14 +01:00
unknown
eebb320916 Wait for the previous sound to stop 2020-10-25 12:20:14 +01:00
Bret Curtis
f6bead88a9 purge boost/optional.hpp headers 2020-10-25 00:58:44 +02:00
Bret Curtis
62b0781f7d use std::optional instead of boost::optional 2020-10-25 00:33:41 +02:00
psi29a
957a1425d1 Merge branch 'cleanup_1' into 'master'
Cleanup 1

See merge request OpenMW/openmw!365
2020-10-24 18:43:03 +00:00
unknown
1ce296aa7f Use fallback values for region sounds and fix probability 2020-10-24 18:54:46 +02:00
AnyOldName3
538314b03a Make path settings have path type 2020-10-23 15:34:41 +01:00
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.
2020-10-23 01:58:43 +01:00
AnyOldName3
cf81f1bbb7 Make composing variables compose in the expected order 2020-10-23 01:41:28 +01:00
Bret Curtis
5a824d0333 components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues 2020-10-22 23:57:53 +02:00
AnyOldName3
651a5a27f6 Fix inconsistent indentation
This has been irritating me for years.
2020-10-22 21:44:47 +01:00
psi29a
fa1765816f Merge branch 'somecpp17' into 'master'
C++17 cosmetics

See merge request OpenMW/openmw!357
2020-10-22 13:06:15 +00:00
fredzio
a19db73eca Fix bad rebase 2020-10-22 09:24:56 +02:00
fredzio
1357bba0a0 Use some C++17 where it makes the code more readable
Also replace boost::optional
2020-10-22 07:15:16 +02:00
fredzio
4fc5b6f6f4 Sort headers 2020-10-22 07:15:16 +02:00
fredzio
212b293803 Use same parameter name in definition and declaration 2020-10-22 07:15:16 +02:00
Alexei Dobrohotov
f1b7cd5404 Don't reset temporarily hidden container window 2020-10-22 02:12:31 +03:00
psi29a
4ae504970f Merge branch 'blocking' into 'master'
Fix lower body blocking animation priority (bug #5656)

Closes #5656

See merge request OpenMW/openmw!359
2020-10-21 22:32:24 +00:00
psi29a
7f59751946 Merge branch 'standing' into 'master'
Fix standing actors logic

See merge request OpenMW/openmw!360
2020-10-21 22:31:01 +00:00
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.
2020-10-21 21:32:06 +02:00
Alexei Dobrohotov
2972033a72 Merge branch 'thelevelling' into 'master'
Allow adding levelled lists using AddItem

Closes #2404

See merge request OpenMW/openmw!358
2020-10-21 16:53:46 +00:00
Alexei Dobrohotov
7da8479d25 Fix lower body blocking animation priority (bug #5656) 2020-10-21 19:35:01 +03:00
Evil Eye
bdcd2bc802 Allow adding levelled lists with AddItem 2020-10-21 17:21:28 +02:00
Bret Curtis
7d16b6f26c
Merge pull request #2992 from akortunov/service_refusal
Add support for service-specific refusals
2020-10-21 00:29:19 +02:00
Bret Curtis
82431b752d removed unnessary bits that cmake should be doing for us; replace Misc::gcd with std::gcd 2020-10-20 23:38:05 +02:00
Evil Eye
f62905eb0a remove redundant argument 2020-10-20 21:04:35 +02:00
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
2020-10-20 16:56:22 +00:00
Andrei Kortunov
6c591c190b Add support for service-specific refusals (feature #5580) 2020-10-20 18:58:26 +04:00
fredzio
a036183248 Use a much simpler and assert-free check for Bullet multithreading support 2020-10-19 21:31:52 +02:00
Andrei Kortunov
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
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
2020-10-18 00:35:35 +00:00
Alexei Dobrohotov
f90e403bc1 Avoid summon spawn if actor isn't in a cell (bug #5644) 2020-10-18 01:42:32 +03:00
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
2020-10-17 20:21:02 +00:00
psi29a
9d350ec824 Merge branch 'head_bobbing' into 'master'
Add head bobbing in first person mode

Closes #5043

See merge request OpenMW/openmw!320
2020-10-17 19:54:34 +00:00
Petr Mikheev
9ec6fce446 Makes the delay of turning while run configurable (part of "smooth movement"). 2020-10-17 16:11:22 +02:00
Petr Mikheev
c72199155c Use full speed in the "NPCs give way" maneuver. 2020-10-17 15:33:23 +02:00
Bret Curtis
8050882baf
Merge pull request #3015 from akortunov/overrides
Mark overrided methods as overrides
2020-10-17 13:32:08 +02:00
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
2020-10-16 22:55:10 +00:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
fredzio
978af12c2d Restore fall damage 2020-10-16 19:30:03 +02:00
David Cernat
a6e825bbeb [Client] Fix logging for Container packets with REQUEST action 2020-10-16 18:42:12 +02:00
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
2020-10-15 19:51:39 +02:00
psi29a
c16fa27407 Merge branch 'async-physics' into 'master'
Async physics

See merge request OpenMW/openmw!248
2020-10-15 08:34:26 +00:00
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.
2020-10-15 06:41:35 +02:00
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
2020-10-15 06:41:22 +02:00
fredzio
d76cc5d0a9 Make the Object class manage its collision object and position. 2020-10-15 06:41:16 +02:00
fredzio
4ef36973fb Make the Actor class manage its collision object and position. 2020-10-15 06:41:08 +02:00
fredzio
82da2045a9 Non functionnal changes in preparation for async physics feature 2020-10-15 06:41:03 +02:00
Bret Curtis
425fa837d1
Merge pull request #3012 from akortunov/container_crash
Fix crash on saving
2020-10-14 12:43:31 +02:00
Andrei Kortunov
c3d84b2c7c Ability to attach arrows to shooter's hands (feature #5642) 2020-10-14 10:07:42 +04:00
Andrei Kortunov
8e647aa72a Fix crash on saving 2020-10-14 09:16:01 +04:00
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
2020-10-13 17:46:32 +02:00
Petr Mikheev
15078f5b3c Fix #5630 "NPCs momentarily turn when the player character is moving backwards during combat" 2020-10-10 23:06:43 +02:00
Alexei Dobrohotov
1842f546c3 Restore empty target check in spell absorption 2020-10-10 14:27:52 +03:00
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
2020-10-09 22:09:46 +00:00
Alexei Dobrohotov
0e8c5c5034 Merge branch 'avoid_collision_update' into 'master'
Update logic of "NPCs avoid collisions"

See merge request OpenMW/openmw!318
2020-10-09 18:43:43 +00:00
Alexei Dobrohotov
b85875a354 Ignore Burden effect in god mode 2020-10-09 21:34:39 +03:00
Alexei Dobrohotov
39678c74bf Add many more godmode checks to harmful magic (bug #5633) 2020-10-09 20:36:51 +03:00
Alexei Dobrohotov
0dcb8c6b69 Fix pick/probe uses decrement 2020-10-09 19:20:50 +03:00
Alexei Dobrohotov
ec825b2510 Fix RayCastingResult warning 2020-10-08 22:44:46 +03:00
Petr Mikheev
be27b51279 Add head bobbing in first person mode 2020-10-08 00:22:01 +02:00
Petr Mikheev
2835ea1e21 Update logic of "NPCs avoid collisions" 2020-10-03 22:58:00 +02:00
Charles Calhoun
14aacb81c5 Fix follower aggression when traveling. Summoning still has problems but less intrusive than current implementation. 2020-10-03 20:05:17 +00:00
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
2020-10-03 10:55:44 +00:00
Kyle Shrader
845049a166 Prevent empty right page of journal having invisible topics (Fixes #5588) 2020-10-03 10:55:44 +00:00
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.
2020-10-03 02:19:38 +01:00
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
2020-09-30 13:32:15 +02:00
psi29a
aa4e6c448b Merge branch 'spellabsorption' into 'master'
Support enchantment absorption

See merge request OpenMW/openmw!307
2020-09-29 15:27:52 +00:00
psi29a
d9dafbe45b Merge branch 'master' into 'uses'
# Conflicts:
#   CHANGELOG.md
2020-09-29 08:20:50 +00:00
psi29a
0438d9d5bb Merge branch 'enchanting' into 'master'
Reset enchant effects displayed range when they are constant (bug #5603)

See merge request OpenMW/openmw!309
2020-09-28 17:18:29 +00:00
psi29a
ad1021721f Merge branch 'master' into 'rotation'
# Conflicts:
#   CHANGELOG.md
2020-09-28 17:09:50 +00:00
Alexei Dobrohotov
f2af957647 Reset enchant effects displayed range when they are constant (bug #5603) 2020-09-25 02:13:57 +03:00
Alexei Dobrohotov
e0a5c24afe Handle 0-use items like vanilla (bug #5611) 2020-09-25 00:20:25 +03:00
Petr Mikheev
ad51a4be2e Changes in head tracking and greetings for "smooth movement". 2020-09-22 22:50:44 +02:00
Petr Mikheev
b838782557 Avoid collisions between actors. 2020-09-22 22:50:44 +02:00
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). 2020-09-22 22:50:44 +02:00
Petr Mikheev
6a75942907 Fix CharacterController::setAttackTypeBasedOnMovement 2020-09-22 22:50:44 +02:00
Petr Mikheev
bd6b984022 Smoothing speed in CharacterController 2020-09-22 22:50:44 +02:00
Petr Mikheev
71ba94a89a Smooth turning; smooth stopping; combat headtracking 2020-09-22 22:50:44 +02:00
Alexei Dobrohotov
f8389c6c37 Support enchantment absorption 2020-09-22 00:33:27 +03:00
Alexei Dobrohotov
387bda5e22 Add inverse order rotation support to SetAngle (feature #5579) 2020-09-21 22:27:01 +03:00
Andrei Kortunov
7d776609c8 Fix unsugned/signed comparison warning 2020-09-21 10:36:01 +04:00
Bret Curtis
dd7e964baf
Merge pull request #2999 from akortunov/spellfix
Apply effects during rest before fast-forwarding spells state
2020-09-20 14:47:37 +02:00
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
2020-09-20 12:35:26 +00:00
psi29a
b4ccd2658a Merge branch 'khr_debug' into 'master'
Khr debug

See merge request OpenMW/openmw!302
2020-09-20 12:14:57 +00:00
Bret Curtis
8f07b7e076
Merge pull request #3005 from Assumeru/dont-search-containers
Don't search containers
2020-09-20 11:48:26 +02:00
AnyOldName3
3f61ff3a44 Make OpenGL debugging optional 2020-09-19 23:30:34 +01:00
AnyOldName3
441c09578a Merge remote-tracking branch 'origin/khr_debug' into khr_debug 2020-09-19 23:09:11 +01:00
Evil Eye
fe82cd9f92 Don't search containers 2020-09-15 21:13:18 +02:00
Petr Mikheev
874c754b68 Fix #5557 2020-09-15 20:24:16 +02:00
tessa
58b5249e8b fix typo in terrainstorage.hpp 2020-09-13 10:46:27 -05:00
Bret Curtis
673f0f4f77
Merge pull request #3003 from akortunov/min_cost
Set a minimum 1gp cost for services
2020-09-08 17:00:49 +02:00
Andrei Kortunov
753ca91556 Set a minimum 1gp cost for services (regression #5600) 2020-09-08 17:04:31 +04:00
AnyOldName3
ffed6acc49 Merge branch 'patch-1' into 'master'
force static data variance for water geometry

See merge request OpenMW/openmw!294
2020-09-07 22:32:00 +00:00
Alexei Dobrohotov
99ab629a03
Merge pull request #2995 from akortunov/arrows
Improve ammo resetting
2020-09-06 13:30:55 +03:00
Mads Buvik Sandvei
2d021430b8 force static data variance for water geometry 2020-09-05 11:52:52 +00:00
Andrei Kortunov
f9ca08a984 Do not use swish sound for ranged weapons 2020-09-03 09:48:12 +04:00
Andrei Kortunov
787ca06d55 Apply effects during rest before fast-forwarding spells state 2020-09-01 19:36:59 +04:00
Bret Curtis
53e581fe10
Merge pull request #2899 from akortunov/multiple_effects
Track magic effect index for summoning
2020-09-01 14:17:49 +02:00
Andrei Kortunov
7a4efe3979 Avoid crash when object paging encounters an empty shape 2020-09-01 10:13:32 +04:00
Petr Mikheev
7e3d19196d Fix #5586 2020-09-01 00:37:37 +02:00
Evil Eye
131bd5c91d Fix unused template argument 2020-08-30 22:10:49 +02:00
David Cernat
80af0ce6a7 Add OpenMW commits up to 29 Aug 2020
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/mwmechanics/character.cpp
2020-08-29 16:15:22 +02:00
Andrei Kortunov
9189a42c4c Fix failed assertion 2020-08-29 12:07:13 +04:00
Andrei Kortunov
67eace1028 Use struct instead of tuple 2020-08-29 11:24:08 +04:00
Andrei Kortunov
924f634bda Support for multiple summons with same ID in the single spell 2020-08-28 21:14:54 +04:00
Andrei Kortunov
47af221f10 Reset ammo when switching view to avoid warnings spam 2020-08-28 15:57:11 +04:00
Andrei Kortunov
297898182b Reset attached arrow in the beginning of unequipping animation 2020-08-28 15:53:30 +04:00
Bret Curtis
7ee5526dbf
Merge pull request #2993 from akortunov/warnfix
Fix MSVC warnings
2020-08-27 23:39:01 +02:00
David Cernat
f568220abc [Client] Initialize DedicatedPlayers in placeholder interior cell 2020-08-27 20:05:27 +02:00
David Cernat
9c7f5410a5 [Client] Add exception handling to CellController::isSameCell() 2020-08-27 16:31:29 +02:00
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`
2020-08-27 11:54:30 +00:00
Andrei Kortunov
f9e667dd8c Fix MSVC warnings 2020-08-26 12:34:27 +04:00
elsid
80e23536cb Merge branch 'camera_refactoring' into 'master'
Camera refactoring

See merge request OpenMW/openmw!271
2020-08-22 22:15:18 +00:00
David Cernat
89da1f39fb [Client] Implement stable cell resets 2020-08-16 23:56:01 +02:00
Alexei Dobrohotov
5c37b5bc4b
Merge pull request #2990 from akortunov/serialize
[Regression] Fix crash for ShowSceneGraph
2020-08-12 18:08:33 +03:00
Andrei Kortunov
7f342374fc Fix crash when using 'showscenegraph 1' console command 2020-08-12 11:16:10 +04:00
David Cernat
741553dc00 [Client] Fix spacing for sound records in mwmp::Worldstate 2020-08-11 18:33:12 +02:00
David Cernat
fc26e9bbc1 [Client] Remove urm's broken (by his own admission) cell reset attempt 2020-08-11 16:12:49 +02:00
David Cernat
c6852f49ba [Client] Add another validity check to CellController::updateLocal() 2020-08-11 12:57:09 +02:00
David Cernat
e4529af0a7 [Client] Make cell record overrides for current cell more stable 2020-08-11 12:33:03 +02:00
David Cernat
9a83108fe5 [Client] Add uninitializeCell() method to CellController 2020-08-11 04:15:12 +02:00
Capostrophic
a0ca7c4b43 AIPursue: don't do a LOS check
Properly resolve #4774
2020-08-09 12:48:59 +03:00
David Cernat
c87a383bee [Client] Simplify MWWorld::Cells::clear() & make it work w/ exteriors 2020-08-08 23:09:44 +02:00
psi29a
f73aa9f27a Merge branch 'launcher_update' into 'master'
Add more settings to openmw-launcher

See merge request OpenMW/openmw!272
2020-08-07 20:17:44 +00:00
Petr Mikheev
6a4fa8a8b5 Add more settings to openmw-launcher 2020-08-07 20:17:44 +00:00
Bret Curtis
32e7b78cb9
Merge pull request #2985 from Assumeru/master
Fix regression #5572
2020-08-07 21:23:38 +02:00
Evil Eye
fb28d27d08 don't discard purged effects 2020-08-07 16:36:59 +02:00
Capostrophic
a211527b4b Fix AppVeyor warnings 2020-08-07 09:59:16 +03:00
Petr Mikheev
0de6650add Add RayCastingInterface 2020-08-06 22:03:33 +02:00
David Cernat
bcb7568ac6 [Client] Add cellStore validity check to CellController::updateLocal() 2020-08-06 19:17:02 +02:00
David Cernat
94dc6f422a [Client] Use temporary holding interior when changing current cell record 2020-08-06 16:25:12 +02:00
Petr Mikheev
e9b2e9b474 Remove camera stuff from RenderingManager 2020-08-06 00:43:33 +02:00
Petr Mikheev
694e0b5906 Refactoring. Simplification of camera interface. 2020-08-06 00:43:33 +02:00
Petr Mikheev
ed3426cf2f Move third person camera collision check from World::updatePlayer() to Camera::updatePosition() 2020-08-06 00:43:33 +02:00
Alexei Dobrohotov
eed8902380
Merge pull request #2982 from Assumeru/explain
Comments to explain the arcane workings of Morrowind
2020-08-05 18:05:55 +03:00
David Cernat
958be0b114 [Client] Add logging for invalid attempts at getting creature stats 2020-08-05 11:15:49 +02:00
Bret Curtis
2e05b5a4ee
Merge pull request #2983 from Assumeru/spell-regression
Fix #5566
2020-08-05 09:57:47 +02:00
Petr Mikheev
ca4330f753 Tune algorithm of "auto switch shoulder" 2020-08-05 01:01:51 +02:00
Evil Eye
144a7f330f Fix a regression that meant missing spells would prevent a save from being loaded 2020-08-04 18:28:10 +02:00
David Cernat
baa9446cd1 Add OpenMW commits up to 4 Aug 2020 2020-08-04 17:41:01 +02:00
Perry Hugh
4bf24a955e Restore Gamepad Zooming 2020-08-04 06:04:59 +00:00
Bret Curtis
1995e43b46
Merge pull request #2980 from Assumeru/heritage
Make scripts inherit variables from the base record
2020-08-03 13:10:35 +02:00
unknown
073a7f2b2d Comments to explain the arcane workings of Morrowind 2020-07-30 21:39:04 +02:00
Andrei Kortunov
9f349e8d91 Use more C++11 in the scripting system code 2020-07-30 20:57:25 +04:00
unknown
b39f35d805 inherit variables 2020-07-29 18:43:56 +02:00
Bret Curtis
72b63ed140
Merge pull request #2954 from Assumeru/basespells
Mutate base records when adding/removing spells
2020-07-29 09:18:55 +02:00
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
2020-07-28 20:50:49 +00:00
unknown
e27858cfab these were supposed to be included 2020-07-28 18:24:09 +02:00
Evil Eye
6ad20ec9c7 Mutate base records when adding/removing spells 2020-07-28 08:33:28 +02:00
Bret Curtis
ae1af0e103
Merge pull request #2972 from Assumeru/non-unique-additem
Mutate base record when calling add/remove item on non-unique actors
2020-07-27 23:33:10 +02:00
David Cernat
4560267298 [General] Track the client scripts that Object packets originate from 2020-07-27 09:17:22 +02:00
Bret Curtis
d197e2887b
Merge pull request #2977 from Capostrophic/simplewater
Make a horrible simple water hack less horrible
2020-07-27 01:26:44 +02:00
Bret Curtis
82a45eb6ae
Merge pull request #2976 from Capostrophic/unconscious
Add option to always allow stealing from KO'd actors (feature #5545)
2020-07-27 01:22:51 +02:00
Capostrophic
03f0bd3df6 Make a horrible simple water hack less horrible 2020-07-27 00:32:24 +03:00
David Cernat
2cb16e778c [General] Use clearer method name for tracking InterpreterContext type 2020-07-26 20:03:33 +02:00
David Cernat
63480a0012 [Client] Use DetourNavigator for local actors, working around c1ebd9474b 2020-07-26 17:58:59 +02:00
Capostrophic
9c930e38fa Add option to always allow stealing from KO'd actors (feature #5545) 2020-07-26 13:10:44 +03:00
Capostrophic
cc6e4ad215 Fix pickpocketing sneaking stance check 2020-07-26 12:20:17 +03:00
Evil Eye
040a92c373 implement additem/removeitem for non-unique actors 2020-07-26 11:07:18 +02:00
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.
2020-07-26 11:06:11 +02:00
David Cernat
ff10aa816b Add OpenMW commits up to 25 Jul 2020
# Conflicts:
#   .travis.yml
2020-07-25 19:44:01 +02:00
Bret Curtis
21ee1ed317
Merge pull request #2973 from akortunov/refactoring
Use more C++11 loops in game mechanics code
2020-07-25 15:43:42 +02:00
Andrei Kortunov
e6036e13b9 Use more C++11 loops in game mechanics code 2020-07-25 15:54:49 +04:00
Petr Mikheev
8cdc7031f5 Support vectors in settings.cfg 2020-07-24 21:47:49 +02:00
Petr Mikheev
62c8ea373b Fix not completely correct camera transition when switching from 1st person to 3rd person if armed. 2020-07-19 22:12:17 +02:00
Petr Mikheev
d78b227670 Fix inverted preview rotation when using controller 2020-07-19 18:21:40 +02:00
Petr Mikheev
2e6aa155a3 New settings 'preview if stand still' and 'deferred preview rotation'. 2020-07-19 18:21:40 +02:00
Petr Mikheev
9f850b6ffc Move deferred rotation logic from renderingmanager.cpp to camera.cpp 2020-07-19 18:21:40 +02:00
Petr Mikheev
63cab4052d Refactoring in mwrender::Camera. enum for normal/preview/vanity mode. 2020-07-19 18:21:40 +02:00
David Cernat
58d8367cb0 [Client] Handle input from server-sent custom messageboxes less hackily 2020-07-18 01:36:13 +02:00
Petr Mikheev
8ac7ffc32b Remove 'separate preview camera' and make the new behavior the default one.
Also minor refactoring in camera.cpp
2020-07-17 22:59:44 +02:00
David Cernat
eb1641dd86 [Client] Fix crashes caused by current modals with invalid widgets 2020-07-17 21:07:09 +02:00
Petr Mikheev
4d206d2c67 Improved preview mode 2020-07-17 20:35:52 +02:00
elsid
c3b581131d Merge branch 'third_person_fix' into 'master'
Minor fixes for 'view over shoulder'

See merge request OpenMW/openmw!265
2020-07-17 18:11:35 +00:00
Petr Mikheev
8ac143c983 Camera can pull out after clearing obstruction instead of instant snapback. 2020-07-17 10:19:46 +02:00
Petr Mikheev
68148f5ec7 1. Skip smooth camera transition after changing cell; 2. Fix 'zoom out when move' for extremely high speed; 2020-07-16 22:21:50 +02:00
elsid
9240833bda
Init sound by a single object 2020-07-15 19:46:34 +02:00
Bret Curtis
74c67218e4
Merge pull request #2968 from elsid/fix_flee_cliff_racers
Adjust actor rotation when flee by axis x (bug #5531)
2020-07-14 17:04:04 +02:00
Bret Curtis
e98ae3262e
Merge pull request #2969 from akortunov/scripts
Resume failed scripts execution after game reload
2020-07-14 10:44:58 +02:00
Andrei Kortunov
b05d071e69 Resume failed scripts execution after game reload (feature #5524) 2020-07-14 10:53:01 +04:00
elsid
b7c1c52439
Adjust actor rotation when flee by axis x
Otherwise Cliff Racers can go underwater.
2020-07-13 20:08:37 +02:00
David Cernat
d3f23220de [Client] Only require cellStore for ConsoleCommand packets with objects 2020-07-13 13:04:02 +02:00
elsid
bcd526b706 Merge branch 'third_person_new' into 'master'
Further improvements of "view over shoulder"

See merge request OpenMW/openmw!237
2020-07-13 09:42:19 +00:00
Bret Curtis
a5da59e840
Merge pull request #2967 from Capostrophic/casesensitivity
Fix search filter unicode character case sensitivity
2020-07-12 22:41:24 +02:00
Petr Mikheev
383fa3d3ab Make 'zoom out when move' configurable. 2020-07-12 21:03:18 +02:00
Petr Mikheev
173c1fdabb Make transition in 'auto switch shoulder' smoother. 2020-07-12 20:51:38 +02:00
Petr Mikheev
51173ebcf5 Refactoring. Move all code related to 'view over shoulder' to a separate file. 2020-07-12 20:51:38 +02:00
Petr Mikheev
5bdf61a886 Slightly pulls camera away when the character moves 2020-07-12 20:51:38 +02:00
Petr Mikheev
ef03f2c033 Auto switch shoulder 2020-07-12 20:51:38 +02:00
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.
2020-07-12 20:51:38 +02:00
Capostrophic
65ac0c86b8 Fix search filter unicode character case sensitivity 2020-07-12 19:05:47 +03:00
Evil Eye
271f7040a6 Fix a regression caused by #2648 (fixes #5513) 2020-07-12 13:25:40 +02:00
Andrei Kortunov
7f936e4cde
Merge pull request #2961 from akortunov/move
Do not use outdated references when moving objects to new cells
2020-07-12 12:11:22 +04:00
Bret Curtis
3acb84f4d5
Merge pull request #2964 from elsid/osg_rendering_stats
Report OSG rendering stats to file
2020-07-11 23:45:26 +02:00
Roman Siromakha
0f6badc581
Merge pull request #2958 from akortunov/statswatcher
Corrections for StatsWatcher
2020-07-11 22:54:35 +02:00
David Cernat
39e429c9eb Add OpenMW commits up to 11 Jul 2020
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/actors.cpp
2020-07-11 21:42:01 +02:00
Andrei Kortunov
da791590ac Update HUD icons during mechanics update again to avoid crashes 2020-07-11 20:40:00 +04:00
elsid
db0ad8421f
Report OSG rendering stats 2020-07-11 18:32:57 +02:00
Andrei Kortunov
58e3900ea0 Avoid redundant call 2020-07-11 20:11:49 +04:00
Andrei Kortunov
db8f0ad6fd Do not use outdated references when moving objects to new cells (bug #5387) 2020-07-11 17:24:20 +04:00
elsid
a4e3f32ec8
Fix TSAN warnings for ripples emitter
While main thread creates particles rendering thread draws them so
sychronization is required.
2020-07-11 13:29:30 +02:00
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
2020-07-11 08:27:27 +00:00
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
2020-07-10 18:09:42 +00:00
psi29a
c3a44212c7 Merge branch 'player_resurrection_spell_fix' into 'master'
Don't clear spells for a dead player, preventing resurrection problems

See merge request OpenMW/openmw!207
2020-07-10 12:00:24 +00:00
David Cernat
c56cd7c221 [General] Implement PlayerSpellsActive packet, part 1
Additions and removals of the local player's active spells can now be saved to and loaded from the server.
2020-07-10 02:09:11 +02:00
Bret Curtis
fd61ebf6ab remove big white blob of space 2020-07-10 00:44:54 +02:00
Petr Mikheev
280862f58b New setting "third person camera distance" 2020-07-10 00:38:18 +02:00
bzzt lost a hitlab login
4ea018c594 Should resolve #5493 by better supporting objects that are placed across cells. 2020-07-09 23:17:01 +02:00
Bret Curtis
bbba524a6c Resolves #5517 by removing the object being rotated from the paging system. 2020-07-09 22:36:57 +02:00
psi29a
46db69a349 Merge branch 'swimming' into 'master'
Swimming-related fixes

See merge request OpenMW/openmw!247

(cherry picked from commit 8be328ef80f29e9692e29d24beefa8ced16537a7)

738c71fd Extend the "turn to movement direction" mode for swimming up and down.
10d3e82b New setting "swim upward coef"
2020-07-09 20:05:59 +00:00
elsid
1c9ce03575
Lookup sound when need to fade out 2020-07-08 22:43:16 +02:00
Andrei Kortunov
700f70595f
Merge pull request #2956 from elsid/sound_reoder_conditions
Check distance to object before load sound
2020-07-08 08:53:20 +04:00
elsid
41434f26a6 Merge branch 'Fix-Trainers-Issue-5486' into 'master'
Trainers training skills based on base skill issue #5486

See merge request OpenMW/openmw!257
2020-07-07 20:25:21 +00:00
elsid
624baa6d89
Check distance to object before load sound 2020-07-07 21:19:00 +02:00
CedricMocquillon
096e25b29a Make the getSkillForTraining a member method of TrainingWindow class.
The implementation is based now on the member of the class
mTrainingSkillBasedOnBaseSkill instead of local static
2020-07-07 11:13:35 +02:00
CedricMocquillon
1aa4f6bf96 The number of skills points a trainer can teach is based either on its base
values or on its modified ones depending on the new setting 'trainers training
 skills based on base skill' value
2020-07-06 20:30:14 +02:00
CedricMocquillon
281cef9769 The 3 skill selected by a trainer are based on its 3 best skills.
The skills are sorted either on their base value or on their modified one
depending on the new setting 'trainers training skills based on base skill'
2020-07-06 20:28:08 +02:00
elsid
3c460fb3e9
Use pointer to Sound to stop sounds started by NpcAnimation 2020-07-06 17:38:09 +02:00
Bret Curtis
67c2f0b26c
Merge pull request #2951 from elsid/sound_object_pool
Store SoundManager sounds and streams in object pool
2020-07-06 07:18:46 +02:00
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
2020-07-04 16:50:54 +03:00
Bret Curtis
0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
Replace OpenThreads by std types
2020-07-04 13:11:23 +02:00
Andrei Kortunov
9ec61c14d2 Mark some methods as overrides to avoid warnings 2020-07-04 12:00:30 +04:00
Andrei Kortunov
d1b5f17390 Remove redundant virtual qualifier 2020-07-04 10:17:39 +04:00
elsid
02f9b44f01
Use RAII for object ptr from pool 2020-07-04 01:15:27 +02:00
elsid
6ca29c6107
Use common type for pool of sounds and streams 2020-07-04 01:09:04 +02:00
elsid
b424aac25e
Choose next action for water sound in a separate function 2020-07-03 21:04:25 +02:00
elsid
080b0d6319
Remove unused duration from updateWaterSound 2020-07-03 21:01:48 +02:00
psi29a
08469af742 Merge branch '#5509_invisibility_fix_round_2' into 'master'
Should resolve the original cause of #5509

See merge request OpenMW/openmw!256
2020-07-02 21:28:13 +00:00
Bret Curtis
d3c24a6ea4 Should resolve the original cause of #5509 and prevent mesh from growing while switching back and for from 3rd and 1st person view 2020-07-02 22:01:42 +02:00
elsid
6ab1a1f907
Make last cell a field of SoundManager and initialize 2020-07-02 19:28:58 +02:00
elsid
3fa1e7ebaf
Make time passed SoundManager field 2020-07-02 19:28:58 +02:00
Bret Curtis
e9126fae54 Resolve #5509 where culling did not take invisiblity into accont 2020-07-02 12:36:25 +02:00
elsid
a36a55bfb5
Clamp sound volume on settings update 2020-07-02 06:38:20 +02:00
Bret Curtis
f639c62428
Merge pull request #2939 from elsid/more_stats
Add stats for all updates
2020-07-01 23:00:48 +02:00
Bret Curtis
acf36344d4
Merge pull request #2946 from elsid/sound_update_water
Put logic to update water sound id and volume into a separate class
2020-07-01 22:50:29 +02:00
Roman Siromakha
859ab63679
Merge pull request #2889 from akortunov/statswatcher
Add a separate stats watcher for GUI
2020-07-01 19:05:15 +02:00
elsid
439891ef53
Put logic to update water sound id and volume into a separate class 2020-07-01 17:49:39 +02:00
Bret Curtis
3d7f8a573a
Merge pull request #2941 from elsid/lookup_stop_sound
Lookup sound when need to stop
2020-07-01 17:30:23 +02:00
Andrei Kortunov
27f1a3376c Add a separate stats watcher for GUI 2020-07-01 15:55:44 +04:00
Bret Curtis
26024e7d0d
Merge pull request #2944 from akortunov/input
Regression fixes for input system
2020-07-01 10:45:58 +02:00
Andrei Kortunov
7fb78e801f Fix mouse release injection 2020-07-01 11:02:02 +04:00
Andrei Kortunov
5f0cc87a67 Do not discard remnants 2020-07-01 09:52:57 +04:00
elsid
0594b7d1a0
Put logic for the next region sound selection into a separate class 2020-06-30 23:23:37 +02:00
elsid
eb68df1a37
Add stats for all updates 2020-06-30 22:00:23 +02:00
Alexei Dobrohotov
c53516a4b7
Merge pull request #2940 from akortunov/deadzone
Make joysticks dead zone configurable
2020-06-30 01:15:58 +03:00
elsid
02587ed1e9
Remove unused SoundManager::stopSound overload 2020-06-28 22:55:21 +02:00
elsid
0ff5e9bfb9
Lookup sound when need to stop
Instead of loading.
2020-06-28 22:16:48 +02:00
Andrei Kortunov
230e06dec7 Make joysticks dead zone configurable (bug #5502) 2020-06-28 13:12:12 +04:00
Petr Mikheev
a455b99ed6 Fix incorrect speed for creatures, that is caused by https://gitlab.com/OpenMW/openmw/-/merge_requests/245/diffs?commit_id=eebbacd8b4ab22b3e824538df2d7faec0038c1a1 2020-06-27 23:56:48 +02:00
psi29a
e83fb8c3fd Merge branch 'fix_turn_to_movement' into 'master'
Bugfix for "turn to movement direction"

Fix for #5457.

Users complain that movement is not smooth enough when the character turns from "straight right" to "straight right and a bit backward" movement.

This MR fixes it.

The problem was mostly caused by the logic that at first changes animation speed to match movement speed, and then adjusts the movement speed to match the animation. IMHO it is a doubtful logic because then the real movement speed may be not consistent with the result of getSpeed.

Also I've removed the setting "turn to movement direction speed coef" because:
1) It was added as a workaround for this "non smooth movement" problem. After the fix it is not needed.
2) Users mistakenly think that it is somehow related to movement speed for diagonal movement.

See merge request OpenMW/openmw!245
2020-06-26 20:04:02 +00:00
Petr Mikheev
63f828fea8 Bugfix for "turn to movement direction" 2020-06-26 20:04:02 +00:00
Alexei Dobrohotov
c94d6336b5
Merge pull request #2936 from akortunov/refactoring
Use more C++11 in the physics code
2020-06-26 19:44:16 +03:00
Bret Curtis
c4453322e5
Merge pull request #2931 from Capostrophic/intimidate
Increase disposition on marginal Intimidate wins (#5485)
2020-06-26 13:47:35 +02:00
Andrei Kortunov
4a5fce8ca5 Use more C++11 in the physics code 2020-06-26 14:22:00 +04:00
Andrei Kortunov
d0fe15b095 Use meaningful names instead of mSkill1 and mSkill2 2020-06-26 11:47:59 +04:00
Andrei Kortunov
fde0f20a6f Fix faction requirement calculations (bug #5499) 2020-06-26 11:14:38 +04:00
Andrei Kortunov
3dc3fe06e2
Merge pull request #2934 from akortunov/master
Fix MSVC warning about variable re-declaration
2020-06-26 09:55:30 +04:00
Andrei Kortunov
30b63270ce Fix MSVC warning about variable re-declaration 2020-06-26 09:49:26 +04:00
elsid
40ad87bc4d
Replace OpenThreads by std types 2020-06-25 22:16:09 +02:00
Capostrophic
b592fa826c Increase disposition on marginal Intimidate wins (#5485) 2020-06-25 20:28:55 +03:00
Bret Curtis
585755a502
Merge branch 'master' into shieldlocation 2020-06-25 14:58:45 +02:00
Capostrophic
2b2f9a8714 Redistribute hits to carried left slot when possible (#5490) 2020-06-25 15:44:40 +03:00
Capostrophic
c7aea20657 Don't offer a price of 1 gold for zero value items (#5484) 2020-06-25 14:56:20 +03:00
Petr Mikheev
63137a3b5a Make vertical offset of "view over shoulder" configurable 2020-06-24 20:07:41 +02:00
psi29a
abc77075b9 Merge branch 'doc-formattopics' into 'master'
Follow up to MR 126 - make it more obvious for end users how to set colors

See merge request OpenMW/openmw!234
2020-06-24 11:26:22 +00:00
David Cernat
3b2eb6f62c Add OpenMW commits up to 22 Jun 2020
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
2020-06-22 20:50:55 +03:00
Petr Mikheev
b4c699348f Improved strafe movement 2020-06-22 15:22:34 +02:00
Petr Mikheev
d3bd67d747 Advanced third person camera. 2020-06-22 15:22:34 +02:00
fredzio
ae27ad6bcd Follow up to MR 126
Fill settings-default.cfg with default values as RGBA values are not intuitive for end users.
Add a boolean setting to enable the formatting (disabled by default).
2020-06-22 04:31:12 +02:00
psi29a
981184109e Merge branch 'formattopics' into 'master'
Change color of keywords in the dialogue window (#2159)

See merge request OpenMW/openmw!126
2020-06-21 07:58:02 +00:00
Andrei Kortunov
142a9e772b Merge branch '5468_progress_caption_overlapping' into 'master'
Issue #5468: Apparently this was always a problem but OP made "nested loading"...

See merge request OpenMW/openmw!228
2020-06-18 16:27:06 +00:00
Andrei Kortunov
1541c7e5eb Fix ordering warning 2020-06-18 19:19:57 +04:00
Bret Curtis
c3dc0e62e8 OP profiling regression fix; Billboards such as those from Westly's tree mod should work again. 2020-06-18 16:16:16 +02:00
Bret Curtis
9446cece62 Issue #5468: Apparently this was always a problem but OP made "nested loading" more visible. This should resolve nested loading correctly. 2020-06-18 13:23:39 +02:00
Andrei Kortunov
808c905e1f Initialize fields to avoid undefined behaviour 2020-06-18 14:50:06 +04:00
David Cernat
74ac59fed2 [Client] Prevent allied players from breaking each other's sneaking 2020-06-18 10:29:30 +03:00
Bret Curtis
c944acf26b
Merge pull request #2913 from akortunov/warnfix
Get rid of ECLD and dependencies
2020-06-17 15:00:57 +02:00
Bret Curtis
51136a75f2
Merge pull request #2915 from akortunov/guifixes
Reset selected slot when closing savegame dialogue
2020-06-17 14:09:31 +02:00
Andrei Kortunov
d1a3cc98ff Get rid of ECLD and dependencies 2020-06-17 13:09:16 +04:00
Bret Curtis
1db58575c8
Fixed missed AiPackageTypeId::Wander 'fix' 2020-06-17 09:58:18 +02:00
Andrei Kortunov
3e396a904e Reset selected slot when close savegame dialogue to avoid accidental saving/loading 2020-06-17 11:09:17 +04:00
Alexei Dobrohotov
2d23dad2bc
Merge branch 'master' into ai_package_type 2020-06-17 01:47:23 +03:00
psi29a
0dc7715c35 Merge branch 'object_paging_retry' into 'master'
Object Paging

See merge request OpenMW/openmw!209
2020-06-16 08:21:54 +00:00
David Cernat
9f2408473f [Client] Update setting of time via WorldTime packets
The setting of time-related values was previously handled directly in OpenMW's World class. It is now handled in OpenMW's DateTimeManager class instead when the variable names passed to World's setGlobalInt() and setGlobalFloat() are time-related.
2020-06-15 09:51:53 +03:00
elsid
b095ca6c86
Use actor speed to define area cost for pathfinding 2020-06-13 02:24:52 +02:00
elsid
374b85a00d
Add Class methods to get walk, run, swim speed 2020-06-13 02:24:51 +02:00
elsid
a35497de0c
Remove redundant runSpeed as always equal to walkSpeed 2020-06-13 02:24:45 +02:00
bzzt lost a hitlab login
26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
daa2761c2d alphablending & billboardfix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
4e2efb3cdb avoid sqrt
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
66c9469a80 fix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
4238fbccdf view fix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
b27b76e325 avoid pagerebuild when reloading a same save
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
6fa12a6eb8 preload tweak
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
89ec6cfea2 tooltips labels
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
9f0398c021 intersection by refnum tag + enable paging for acti,door,cont
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
340d626589 static moving support
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
c7fda6d280 activegrid paging = 2xfps
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
b4af2ac672 avoid blocking on pagerebuild
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
17637c6575 pagerebuild on disable
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
c1ebd9474b stop navmesh updates when ai off
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
ffbed7ee38 loadingscreen
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
4dccabeb83 fix analyzation not taking instancecount in account + settings calibration
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
b7b31926a8 fix map glitch + cleanup
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
00e56ae862 batch debug colours
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
8a624e5a71 minsize based on mergedecision solves partial culling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
0b4226f3e2 ico effieciency
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
38c21163ea + meshsizecache for reduce i&o stalling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt lost a hitlab login
69514dfd46 ico redundency fix + stats counter
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt lost a hitlab login
1f891ca46d billboarding support for tree mods
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt lost a hitlab login
cf439581e1 comply by elsid review
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt lost a hitlab login
ce505a9bb3 crashfix + optimiziation
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt
c0f128bcb3 disablesupprort
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt
d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
elsid
d863267d5c
Do not fallback to direct path without pathgrid
Assume this might happen only due buildPath call when navmesh can't
provide path.
2020-06-12 21:46:10 +02:00
elsid
c4cd3b2c4f
Add pathgrid to navmesh as off mesh connection 2020-06-12 21:04:02 +02:00
elsid
095a45c714
Remove unused PathgridGraph::mIsExterior 2020-06-11 21:43:51 +02:00
elsid
82893c30f4
Store package type id as enum except ESM 2020-06-11 21:02:27 +02:00
David Cernat
e5b1843089 Add OpenMW commits up to 11 Jun 2020
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/activespells.cpp
#	apps/openmw/mwmechanics/aiactivate.cpp
#	apps/openmw/mwmechanics/aiactivate.hpp
#	apps/openmw/mwmechanics/creaturestats.cpp
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/statsextensions.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2020-06-11 13:21:58 +03:00
Capostrophic
4a2fd1e140 Revert the changes for "bug" #4551 2020-06-11 00:06:37 +03:00
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
2020-06-09 17:50:26 +03:00
Bret Curtis
6bc04507ef
Merge pull request #2715 from akortunov/cleanup
Remove custom data for disposed actors
2020-06-08 12:29:28 +02:00
Bret Curtis
cd97d0c61c
Merge branch 'master' into automove 2020-06-08 11:42:05 +02:00
Andrei Kortunov
3741355dca
Merge pull request #2898 from akortunov/master
Update active spells during rest
2020-06-08 13:30:16 +04:00
Andrei Kortunov
0c3b12c40f
Merge pull request #2893 from Capostrophic/projectile
Clean up magic bolts casted by actors that are gone (bug #5451)
2020-06-08 13:26:58 +04:00
Bret Curtis
857f4bd232
Merge pull request #2896 from akortunov/rendermanager
Add a FogManager
2020-06-08 11:20:51 +02:00
Andrei Kortunov
3dd4023e8d Update active spells during rest 2020-06-08 11:29:38 +04:00
Alexei Dobrohotov
d5d385fe9e
Merge pull request #2891 from elsid/ai_packages_options
Replace AiPackage virtual methods by options
2020-06-08 02:06:38 +03:00
Andrei Kortunov
4afc332a0c Add a FogManager 2020-06-07 15:51:03 +04:00
David Cernat
d86e744250 [Client] Fix typos in comments about marking InterpreterContext types 2020-06-07 01:59:18 +02:00
David Cernat
b527ca7e5d [Client] Fix initialization of ptrCellStore in object processors 2020-06-06 23:11:16 +03:00
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
2020-06-06 22:38:28 +03:00
Capostrophic
456f0f9f44 Clean up magic bolts of actors that are gone (#5451) 2020-06-06 19:11:22 +03:00
Alexei Dobrohotov
05884e690f
Merge pull request #2880 from akortunov/rendermanager
Remove redundant variables from the RenderingManager
2020-06-06 16:09:44 +03:00
Capostrophic
1873da4c91 Don't save to or read automove state from saved games (#5452) 2020-06-06 15:58:21 +03:00
Fanael Linithien
48758116d6 Make sure the skill level up message box displays the value correctly
Fixes regression introduced in 204d2acf25.
2020-06-06 14:24:33 +02:00
David Cernat
5e6218ad6d [General] Modernize handling of client script local variables in packets
Disable placeholder handling of client script member variables.
2020-06-06 13:58:51 +02:00
Andrei Kortunov
6de97e6bc2 Remove redundant variables from RenderingManager 2020-06-06 14:10:24 +04:00
elsid
5b34ef224b
Replace AiPackage virtual methods by options 2020-06-06 12:00:17 +02:00
Bret Curtis
3b1c717ab9
Merge pull request #2888 from elsid/ai_packages_const
Mark not changing AiPackages fields as const
2020-06-05 23:11:10 +02:00
Bret Curtis
204d2acf25
Merge pull request #2092 from akortunov/float_stats
Store attributes and skills values as floats
2020-06-05 22:38:12 +02:00
Bret Curtis
5d019c27ae
Merge pull request #2887 from akortunov/worldmanager
Introduce a separate class to control world date and time
2020-06-05 13:15:44 +02:00
Andrei Kortunov
81805b7263 Introduce a separate class to control world date and time 2020-06-05 12:07:32 +04:00
elsid
da8ea9d8c7
Mark not changing AiPackages fields as const 2020-06-04 23:12:23 +02:00
elsid
d35ccc39c6
Fix build tests with double precision bullet 2020-06-03 21:34:05 +02:00
Andrei Kortunov
5468fcb29f Store attributes and skills values as floats (bug #4021) 2020-06-03 17:34:15 +04:00
Bret Curtis
2eb9d4ad4e
Merge pull request #2878 from Assumeru/mutate-ai
Mutate base records when editing AI settings (#2798)
2020-06-03 15:09:40 +02:00
Bret Curtis
dd7f5fcde7
Merge pull request #2884 from Capostrophic/deathmagic
Update spell effects during death animation (#5403)
2020-06-03 15:07:08 +02:00
Bret Curtis
109057e53f
Merge pull request #2544 from akortunov/corprus
Rework corprus implementation
2020-06-03 13:41:57 +02:00
Andrei Kortunov
3dce225f28 Implement vanilla-style corprus handling (bug #3714, bug #4623) 2020-06-03 12:58:17 +04:00
Andrei Kortunov
c0e62e9529 Refactor list of variables in the WorldManager 2020-06-03 11:21:34 +04:00
Evil Eye
4d7947d27c Mutate base records when editing AI settings (#2798) 2020-06-02 21:59:37 +02:00
elsid
b67e18329e
Store AI packages as unique_ptr 2020-06-01 17:07:08 +02:00
elsid
ce7c47ee12
Return cloned AiPackage as unique_ptr 2020-06-01 17:07:08 +02:00
Bret Curtis
18bb6dd223
Merge pull request #2859 from elsid/aipackage_single_clone
Single clone function definition for all AI packages
2020-06-01 01:21:57 +02:00
Capostrophic
d72152183f Update spell effects during death animation (#5403) 2020-05-30 23:24:06 +03:00
Bret Curtis
d3b3b74945
Merge pull request #2871 from Capostrophic/tcl
Don't "disable" player's collision shape in TCL (#5435)
2020-05-30 17:57:27 +02:00
Capostrophic
577786f110 Don't disable player's collision shape in TCL (#5435) 2020-05-30 00:55:17 +03:00
Capostrophic
b0b4550f05 Pass Actor by reference, simplify GetTarget for greetings 2020-05-30 00:51:58 +03:00
Capostrophic
efd5f13b2b Make greeting-related actor data temporary (bug #5397) 2020-05-30 00:51:58 +03:00
Bret Curtis
9d0855baa5
Merge pull request #2866 from elsid/extend_osg_stats
Extend OSG stats
2020-05-29 23:23:38 +02:00
Alexei Dobrohotov
6f2b0252fa
Merge pull request #2881 from akortunov/statemanager
Use C++11-style loops in the StateManager
2020-05-29 23:53:59 +03:00
Bret Curtis
6f2fdb990b
Merge pull request #2876 from Capostrophic/blending
Reenable weapon animation lower body anim blending in first person view (#5441)
2020-05-29 11:05:33 +02:00
Andrei Kortunov
48b3fe5733 Use C++11-style loops in the StateManager 2020-05-29 12:26:02 +04:00
Andrei Kortunov
396afe79f1 Move font loading to the FontLoader 2020-05-28 23:18:31 +04:00
Bret Curtis
f36288569c
Merge pull request #2874 from akortunov/windowmanager
Cleanup WindowManager
2020-05-28 13:22:23 +02:00
Andrei Kortunov
1759276ac5
Merge pull request #2869 from Capostrophic/appliedonce
Use AppliedOnce flag in more effect duration calculations (#5425)
2020-05-27 17:00:14 +04:00
Alexei Dobrohotov
afc537384d
Merge pull request #2875 from akortunov/input
Move cursor update to the MouseManager
2020-05-26 20:34:31 +03:00
Evil Eye
a8231ae297 fix explicit startscript calls 2020-05-26 19:01:33 +02:00
Andrei Kortunov
2ff04b4e73 Move TextColours initialization to the TextColours itself 2020-05-26 18:35:16 +04:00
Andrei Kortunov
dcfc4cc5dd Rename onFrame() to update() to make WindowManager consistent with other managers 2020-05-26 18:35:16 +04:00
Andrei Kortunov
000e44a18e Move data from WindowManager to CharacterCreation to simplify API 2020-05-26 18:35:13 +04:00
Andrei Kortunov
b00d72b9e4 Move cursor update to the MouseManager 2020-05-26 18:03:29 +04:00
Capostrophic
95cd473352 Reenable weapon animation lower body animation blending in FPV (#5441)
Disabling it is a non-vanilla behavior that breaks things that aren't broken in vanilla
2020-05-26 17:01:45 +03:00
Roman Siromakha
b3b8480d49
Merge pull request #2868 from Capostrophic/opcodes
Give new opcodes to old functions made custom
2020-05-26 14:08:27 +02:00
Andrei Kortunov
e3df170a53 Fix mControlsDisabled flag usage 2020-05-26 10:58:24 +04:00
David Cernat
76538ab3cd [Client] Don't send ObjectSound packets for dedicated actor actions 2020-05-25 23:43:20 +03:00
David Cernat
c99e20e3b4 [Client] Equip items silently for newly met dedicated players/actors 2020-05-25 21:50:19 +03:00
Capostrophic
51c0806a31 Use AppliedOnce flag in more effect duration calculations (#5425) 2020-05-24 18:37:21 +03:00
Capostrophic
e0ecbc08df Give new opcodes to old functions made custom 2020-05-23 11:57:15 +03:00
elsid
69df6098e5
Report frame number, number of actors and objects to stats 2020-05-22 17:39:18 +02:00
Capostrophic
c9c9599ec5 Improve GetDistance and object search warnings (bug #5427)
Allow GetDistance to work with a non-existent object argument or with inventory items that belong to a container store that doesn't exist
2020-05-22 15:50:04 +03:00
Capostrophic
904b245d30 Re-enable non-biped creature headtracking (bug #5424) 2020-05-22 14:45:28 +03:00
Alexei Dobrohotov
a68a4338a0
Merge pull request #2841 from Assumeru/consistent-refs
Script reference consistency
2020-05-22 12:48:50 +03:00
Bret Curtis
357a845d00
Merge pull request #2862 from elsid/optimize_has_animation
Optimize MWRender::Animation::hasAnimation
2020-05-22 10:33:37 +02:00
elsid
9326111f4c
Use vector for Animation::mActiveControllers
Container is only used to add elements, iterate over all of them and
clear. Multimap adds overhead for all of these operations without any
benefits. Reduce Animation::resetActiveGroups CPU time usage by 50%.
2020-05-21 17:32:25 +02:00
elsid
a59e25e093
Optimize MWRender::Animation::hasAnimation
Use a set to check for group start existence.
Reduce time taken from 2.6% to 0.08% and
MWMechanics::MechanicsManager::update from 7% to 5%
in relative CPU time usage for a scene with ~100 actors.
2020-05-21 16:21:11 +02:00
elsid
8e0934cbd8
Single AI package clone definition 2020-05-20 20:15:29 +02:00
elsid
103188b61d
Derive all AI package classes from template to support CRTP features 2020-05-20 20:15:29 +02:00
David Cernat
ea57aaef34 [Client] Fix compilation error on Linux regarding Timestamp constructor 2020-05-20 09:38:14 +03:00
David Cernat
94b211dd4f [Client] Synchronize changes to gold pools from other services 2020-05-20 08:09:25 +03:00
elsid
d7a920a04b
Env variable to write OSG stats into file 2020-05-18 23:44:21 +02:00
David Cernat
411b6dcd8e Don't clear spells for a dead player, preventing resurrection problems 2020-05-18 14:46:20 +03:00
Bret Curtis
88a7ecc18d
Merge pull request #2528 from akortunov/effectstime
Use real time to update spell effects
2020-05-18 11:07:48 +02:00
Bret Curtis
730d0493db
Merge pull request #2856 from elsid/aisequence_cleanup
AiSequence cleanup
2020-05-18 09:47:36 +02:00
Bret Curtis
72507e57c6
Merge pull request #2857 from elsid/aipackage_cleanup
Remove redundant explicit dtor definition for AiPackage
2020-05-18 00:13:30 +02:00