Jonas Tobias Hopusch
799cf16f31
Attempt to fix #5942
...
Closes OpenMW/openmw#5942
This is an attempt to apply the fix suggested by @Capostrophic
2021-04-09 18:16:05 +02:00
psi29a
a16387df61
Merge branch 'sky-dehardcode' into 'master'
...
De-hardcode references to mesh files used by the sky.
See merge request OpenMW/openmw!704
2021-04-08 16:32:39 +00:00
Matjaž Lamut
2cb4b62b83
De-hardcode references to mesh files used by the sky.
2021-04-08 16:32:38 +00:00
Jacob Turnbull
d9376ee08e
Trim down comment and change flag name
2021-04-07 16:57:06 -05:00
Evil Eye
44f2cb0923
Fix targeted scripts losing their targets when rearranging your load order
2021-04-07 17:30:21 +02:00
Andrei Kortunov
59720aea9a
Restore old aiming for melee combat
2021-04-07 12:07:03 +04:00
Jacob Turnbull
bc8db8b8f5
Fix for enchanted items being removed on item equip cycling when they are re-equipped
2021-04-06 20:12:51 -05:00
David Cernat
a7f517507c
[Client] Handle reenabling of harvested objects via Container packet
...
It is no longer necessary to send ObjectState packets when harvesting objects, as the Container packet will handle the refreshing of those objects' animations instead.
2021-04-06 13:22:17 +02:00
David Cernat
b2328b7063
[Client] Make it possible to check whether a class can be harvested
2021-04-06 04:51:49 +02:00
psi29a
9aa5aef2c6
Merge branch 'my_other_mr_is_larger' into 'master'
...
Make AddItem's quantity overflow on negative numbers
Closes #5934
See merge request OpenMW/openmw!713
2021-04-05 11:45:31 +00:00
elsid
bd33fa76b6
Use CRTP to define CustomData clone function
2021-04-05 11:53:07 +02:00
elsid
e380470558
Add move ctor and assignment operator to RefData
2021-04-05 11:53:07 +02:00
elsid
045bb7cbd7
Store CustomData and ContainerStore as unique_ptr
2021-04-05 11:52:52 +02:00
Evil Eye
ecde3932e2
Make AddItem's quantity overflow on negative numbers
2021-04-05 09:43:37 +02:00
fredzio
9cae7882dd
Fix a bug that was triggered with multi mark mod.
...
When a script calls SetPos for x,y,z in sequence on an actor, we need to make sure
that the actor will not spawn under ground at x,y coordinates.
Now that change of coordinates are cumulated and applied all at once, we
need to account for the whole offset.
To this end move the terrain height check inside of Actor class.
2021-03-31 19:34:06 +02:00
David Cernat
860be0a4e7
[Client] Send Container & ObjectState packets when harvesting objects
2021-03-31 08:13:59 +02:00
fredzio
0fac172413
Remove wrong line that slipped in yesterday.
2021-03-29 21:46:08 +02:00
Andrei Kortunov
50352daf90
Rework knockdown and knockout animations fallbacks
2021-03-29 14:45:07 +04:00
Evil Eye
582f1503c1
Merge branch 'setpos' into 'master'
...
Unbreak SetPos and the mods using it (#5919 )
See merge request OpenMW/openmw!696
2021-03-28 20:14:17 +00:00
fredzio
7a67492d81
Unbreak SetPos and the mods using it.
...
To make SetPos works with async physics, it was modified to register a
position offset that would be applied to the real position during the
simulation.
A common pattern to teleport NPC in scripts is a sequence of SetPos/Disable/Enable in the same frame.
Since Disable/Enable creates a new physics actor using last known
RefData::Position, the registered offset never get a chance to be applied.
Modify disable() to call moveObject with the offset applied, so that the newly created physics actor will have up-to-date position
2021-03-28 21:19:14 +02:00
fredzio
b58244ac26
Guard the Bullet drawing method with a read lock on the
...
btCollisionWorld. It closes a race on the collision shapes coordinates.
2021-03-26 23:49:31 +01:00
fredzio
dbd6e3bfee
Replace pointless usage of shared_ptr by unique_ptr / non-owning raw
...
pointer for btCollisionWorld.
2021-03-26 23:49:31 +01:00
fredzio
ccd3cbc69a
Use saved actor position instead of reading again RefData in unstuck. It
...
is a race condition to do so.
2021-03-26 23:49:31 +01:00
Andrei Kortunov
5fce5b12f4
Merge branch 'drop_the_bird' into 'master'
...
Disallow inserting containers, creatures, and npcs from the save game not present in content files
Closes #5884
See merge request OpenMW/openmw!683
2021-03-26 15:48:17 +00:00
Andrei Kortunov
b61337643e
Merge branch 'issue-5680' into 'master'
...
change aim calculation
See merge request OpenMW/openmw!685
2021-03-26 11:43:20 +00:00
David Cernat
0137772e64
[Client] Log PlayerCellChange packets about the local player
2021-03-25 03:39:13 +02:00
Max
2cd96e56d5
create constant and use constant in other parts of the code base
2021-03-24 14:54:46 -07:00
Max
e56efdd562
change aim calculation
2021-03-24 14:54:46 -07:00
elsid
453e94ea9f
Use half extents for destination distance tolerance in AiEscort
...
For actors moving in water destination may be located at such z coordinate
that they can't reach.
2021-03-24 00:07:28 +01:00
elsid
f32e1790bc
Add half extents to AiEscord max distance
...
For actors with big bounding box given constants may not work properly like
it's not possible to get close enough to actor from a given angle to make it
move.
2021-03-23 23:49:57 +01:00
elsid
39c0ce9ddf
Build limited path for far destinations
...
When distance between start and end point is greater than max radius of area
possibly covered by navmesh there is no way to find path via navmesh. Also if
distance is greater than cell size navmesh might not exists withing mentioned
area because cell is not loaded therefore navmesh is not generated. So minumum
of these values is used to limit max path distance. Assuming that path
actually exists it's possible to build path to the edge of a circle. When
actor reaches initial edge path is built further. However it will not be
optimal.
2021-03-23 23:23:12 +01:00
Evil Eye
cf5a93d712
Also run NPC validation for modified base records
2021-03-23 21:07:57 +01:00
Evil Eye
e79036f4e0
Don't erase the player
2021-03-23 20:43:52 +01:00
psi29a
1af50b7e23
Merge branch 'sound_cleanup' into 'master'
...
Sound cleanup
See merge request OpenMW/openmw!567
2021-03-22 21:42:01 +00:00
psi29a
415591b7ed
Merge branch 'ai_reaction_deviation' into 'master'
...
Distribute AI reactions and engage combat calls over time
See merge request OpenMW/openmw!674
2021-03-22 21:37:09 +00:00
Evil Eye
5e1960a76a
Disallow inserting containers, creatures, and npcs from the save game not present in content files
2021-03-22 22:29:10 +01:00
Evil Eye
8e9bd5c0bd
Don't throw an exception when equipping a bound item fails
2021-03-22 20:44:13 +01:00
Evil Eye
580fa78034
Don't purge summon effects with invalid creature ids
2021-03-22 20:43:34 +01:00
wareya
63f01d8c5f
Prevent physics death spiral by falling back to true delta time when needed
2021-03-21 20:45:46 +00:00
psi29a
86bd173d69
Merge branch 'refactoring' into 'master'
...
"static const" -> "static constexpr" in headers
See merge request OpenMW/openmw!676
2021-03-21 15:43:47 +00:00
Petr Mikheev
7bbbe40abe
"static const" -> "static constexpr" in headers
2021-03-21 13:57:54 +01:00
wareya
e722c99e62
forgot to initialize these variables
2021-03-21 08:57:15 -04:00
wareya
40265bf118
make unstucking slightly smarter (can turn itself off, also acts like flat ground)
2021-03-20 21:14:56 -04:00
David Cernat
b3c40913f6
[Client] Remove 'using namespace std' from multiplayer-related code
...
This brings TES3MP in line with https://gitlab.com/OpenMW/openmw/-/merge_requests/664
2021-03-20 23:21:40 +02:00
David Cernat
59cb31e0a7
Add OpenMW commits up to 20 Mar 2021
...
# Conflicts:
# apps/openmw/CMakeLists.txt
# apps/openmw/mwmechanics/aipursue.cpp
# components/CMakeLists.txt
2021-03-20 16:44:11 +02:00
elsid
62c0ecbbd0
Separate engage combat timer for each actor
...
Use DeviatingPeriodicTimer to distribute calls over time. This reduces
stuttering and make AI more natural.
2021-03-20 14:50:56 +01:00
elsid
675c0ab72f
Apply uniform random deviation to AI reaction timer
...
This allows to distribute AI reaction calls over time.
Before this change actors appearing at the same frame will react in the same
frame over and over because AI reaction period is constant. It creates a
non-uniform CPU usage over frames. If a single frame has too many AI reactions
it may cause stuttering when there are too many actors on a scene for current
system.
Another concern is a synchronization of actions between creatures and NPC.
They start to go or hit at the same frame that is unnatural.
2021-03-20 14:47:54 +01:00
Andrei Kortunov
54daa234bd
Reset watched stats upon reload or new game start
2021-03-19 11:56:14 +04:00
wareya
1471ef003a
fix async physics interpolation
2021-03-18 13:53:00 -04:00
AnyOldName3
162b25c180
Fix sunglare on Mesa
...
The sunglare works by comparing an occlusion query with depth testing on
against one with depth testing off to determine if there's anything
closer to the camera than the maximum depth buffer value. For the depth-
tested query, the depth range is set from 1 to 1 so it's always drawn at
the maximum distance. Originally, we had the depth function set to LESS,
meaning that the query would always fail as 1 is not less than 1, but
also glPolygonOffset was used to move the query by "the smallest value
that is guaranteed to produce a resolvable offset for a given
implementation" closer to the camera. While other driver and hardware
combinations do that, Mesa seems to be clamping to the depth range, so
still failing.
Instead, it's simpler to just get rid of the polygon offset and change
the depth test to LEQUAL as 1 *is* less than or equal to 1, but not than
any other possible depth buffer value.
2021-03-17 01:46:04 +00:00
Evil Eye
d1e8c6b223
Merge branch 'magical_rat' into 'master'
...
Register copied Spells with SpellList
See merge request OpenMW/openmw!662
2021-03-16 19:50:15 +00:00
AnyOldName3
ba74fbf30e
Fix MyGUI log
...
Also actually print an error to the regular log when the MyGUI log can't
be opened so we notice if we kill it again in under five years.
2021-03-15 22:35:13 +00:00
Bret Curtis
40c989d732
allman style
2021-03-14 22:11:18 +01:00
Evil Eye
c2580d60e9
Register copied Spells with SpellList
2021-03-14 19:32:03 +01:00
Bret Curtis
9fc0649fb6
a better check to avoid the mCell assertion, so compariing nullptr to current cell will refurn false anyway
2021-03-14 18:08:52 +01:00
Bret Curtis
49545e6d29
add comments as to why we need to check that the player is grounded or not; only run once during initial cell loading
2021-03-14 18:02:48 +01:00
Bret Curtis
fff1df9ee4
revert some blank lines
2021-03-14 18:02:48 +01:00
Bret Curtis
c067782814
proper fix that traces down the player when a cell is loaded; we also only run once if the current cell being loaded is the one that the player is in.
2021-03-14 18:02:48 +01:00
Bret Curtis
1479f98793
hacky solution with debug; seems that player is added before cell so tracing down will not find anything
2021-03-14 18:02:48 +01:00
Bret Curtis
19ad7d7f0c
Resolve #5895 by setting the initial mOnGround state to false; we do this because the movement solver runs one frame behind so when we run through the loop the first time we assume we are on the ground even though we may be 400 units in the air.
2021-03-14 18:02:48 +01:00
psi29a
514a55ed4c
Merge branch 'fix_5846' into 'master'
...
Fix #5846 (headtracking)
Closes #5846
See merge request OpenMW/openmw!652
2021-03-14 01:56:07 +00:00
glassmancody.info
6255b0492b
Resolve crashes on exit with visible MyGUI widgets
2021-03-13 15:43:46 -08:00
Petr Mikheev
447c3b9489
Fix 5846
2021-03-13 21:54:49 +01:00
elsid
9275dd2dcb
Avoid virtual dispatch in SoundManager dtor
2021-03-13 18:25:56 +01:00
elsid
b0311ce9f1
Remove DEFAULT_OUTPUT macros
2021-03-13 18:25:56 +01:00
elsid
e30a59772c
Remove DEFAULT_DECODER macros
2021-03-13 18:25:48 +01:00
Evil Eye
4db2f79a3c
Merge branch 'setpos' into 'master'
...
Use relative movement inside of SetPos
See merge request OpenMW/openmw!649
2021-03-13 12:58:48 +00:00
fredzio
cb39f8fb01
Use moveObjectBy in SetPos
2021-03-13 09:53:21 +01:00
fredzio
03b86c232b
Apply the position offset even if the simulation is not performed
...
because we're too fast.
2021-03-13 09:52:05 +01:00
psi29a
311b497491
Merge branch 'bullet-heightfield-floats' into 'master'
...
Avoid heightfield conversion in newer Bullet
See merge request OpenMW/openmw!647
2021-03-13 08:32:01 +00:00
psi29a
cc6f08930b
Merge branch 'alpha-meddling' into 'master'
...
Replace deprecated alpha test in shader visitor
Closes #4899
See merge request OpenMW/openmw!473
2021-03-13 08:13:19 +00:00
AnyOldName3
0431ba4c87
Merge branch 'alpha-meddling-shader-side-mip-meddling' into alpha-meddling
2021-03-13 01:23:30 +00:00
AnyOldName3
f09b0fc1bd
Put groundcover alphafunc where shader visitor can see it
...
I'd already made this change so don't know why it disappeared instead of
being included in b8ee32e3
2021-03-12 17:21:36 +00:00
Gleb Mazovetskiy
351d11449b
Avoid heightfield conversion in newer Bullet
...
Takes advantage of the direct `float` support implemented in
https://github.com/bulletphysics/bullet3/pull/3293
2021-03-11 23:52:12 +00:00
Andrei Kortunov
39b7260ab4
Fix a crash during new game
2021-03-11 11:46:44 +04:00
AnyOldName3
64ddb4c1b0
Fix linking on MacOS
2021-03-11 01:01:55 +00:00
psi29a
9f47190411
Merge branch 'now-it-blends' into 'master'
...
Convert blending factors properly for the character preview
See merge request OpenMW/openmw!644
2021-03-10 23:27:04 +00:00
AnyOldName3
cb2cbb4181
Convert blending factors properly for the character preview
2021-03-10 22:07:14 +00:00
Chris Djali
9bfe941d4b
Merge pull request #3050 from akortunov/master
...
Double-buffer shader water stateset
2021-03-10 15:56:40 +00:00
Andrei Kortunov
38679013fe
Give meaningful name to the mEffectFade
2021-03-10 19:10:17 +04:00
Gleb Mazovetskiy
1db7d2ec4e
Restore compatibility with FFMpeg < 57.80.100
...
This should fix macOS Travis build broken by 58d33aa95b
2021-03-08 19:29:34 +00:00
AnyOldName3
deb184cdce
Merge branch 'fix-build' into 'master'
...
Fix linking with `-DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON`
See merge request OpenMW/openmw!640
2021-03-08 19:01:02 +00:00
psi29a
611a63acc6
Merge branch 'threesacharm' into 'master'
...
Attempt to fix restocking items in old saves
Closes #5823
See merge request OpenMW/openmw!580
2021-03-08 10:45:13 +00:00
psi29a
194875dec1
Merge branch 'fix-video-arm' into 'master'
...
osg-ffmpeg-videoplayer: Fix crash on ARM
Closes #5807
See merge request OpenMW/openmw!564
2021-03-08 08:05:25 +00:00
Andrei Kortunov
d805886de7
Double-buffer shader water stateset (bug #5026 )
2021-03-08 10:58:51 +04:00
Gleb Mazovetskiy
58d33aa95b
AV: Fix all memory leaks
...
The most substantial memory leak came from `PacketQueue::get`
not unreferencing its argument packet.
Other leaks came from using `av_free` instead of type-specific free
functions.
Also modifies `PacketQueue::put` for readability.
2021-03-08 03:16:55 +00:00
Chris Djali
213525c372
Merge pull request #3049 from akortunov/master
...
Use correct mCursorActive flag initial value
2021-03-07 15:35:38 +00:00
Alexei Dobrohotov
e9aa161ffc
Merge branch 'reallyskipphysics' into 'master'
...
Close race that breaks scripted teleporting (#5873 )
See merge request OpenMW/openmw!639
2021-03-07 08:41:20 +00:00
Andrei Kortunov
482f04c836
Use correct mCursorActive flag initial value
2021-03-07 12:08:43 +04:00
Gleb Mazovetskiy
455be9dbbb
Fix linking with -DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON
...
1. CMake's built-in OSG finder does not use pkgconfig, so we have to
manually ensure the order is correct for inter-library dependencies.
https://gitlab.kitware.com/cmake/cmake/-/issues/21701
2. OSG plugin pkgconfig files are missing dependencies on the underlying
libraries (e.g. freetype, png, jpeg), so we have to link them manually.
https://github.com/openscenegraph/OpenSceneGraph/issues/1052
2021-03-06 21:17:52 +00:00
fredzio
31d8ce266b
Close a race between main and physics threads when actor is positioned by scripts.
...
When a position is forced, the actor position in physics subsystem is
overriden. The background physics thread is not made aware of this,
its result are simply discarded.
There is a short window where this doesn't work (in this
example, actor is at A and script moves it to B)
1) actor position is set to B. (among others, Actor::mPosition is set to B)
2) physics thread reset Actor::mPosition with stale value (around A)
3) main thread read simulation result, reset Actor::mSkipSimulation flag => actor is at B
4) physics thread fetch latest Actor::mPosition value, which is around A
5) main thread read simulation result, actor is around A
To avoid this situation, do not perform 2) until after 3) occurs. This
way, at 4) starts the simulation with up-to-date Actor::mPosition
2021-03-06 10:41:55 +01:00
Alexei Dobrohotov
2bfee281fd
Merge branch 'restore_caster' into 'master'
...
Restore projectile caster from savegame (#5860 )
See merge request OpenMW/openmw!616
(cherry picked from commit d595c7adb0fb45eafed6d3d0403ad640a91411ed)
c5426bec In the savegame, projectile caster is identified by its actor id. When
2021-03-05 21:07:29 +00:00
Evil Eye
c9d3da498a
Merge branch 'pursue' into 'master'
...
AIPursue: Pursue the player until LOS is established (#5869 )
Closes #5869
See merge request OpenMW/openmw!634
2021-03-05 16:45:47 +00:00
Evil Eye
8ae4ee291f
Attempt to fix restocking items in old saves
2021-03-04 22:52:03 +01:00
Dobrohotov Alexei
fc329050b3
AIPursue: Pursue the player until LOS is established ( #5869 )
2021-03-03 22:06:58 +03:00
Alexei Dobrohotov
5e91af230d
Reset effect icon transparency when they're hidden ( #5877 )
2021-03-03 21:17:59 +03:00
Gleb Mazovetskiy
4495b67d77
MyGUI HEAD compatibility
...
Makes OpenMW compatible with the current MyGUI HEAD at:
f93d4fb614
Refs #5806
2021-03-02 13:24:30 +00:00
Evil Eye
e2fc5d87b3
Merge branch 'elemental_shields' into 'master'
...
Don't let elemental shields harm the player in god mode
Closes #5875
See merge request OpenMW/openmw!631
2021-03-02 06:45:38 +00:00
Alexei Dobrohotov
023bc80f55
Don't let elemental shields harm the player in god mode
2021-03-01 21:37:30 +00:00
Gleb Mazovetskiy
1fb442e701
heightfield: Only buildAccelerator
on Bullet 2.89+
...
Fixes #5874
2021-03-01 08:27:24 +00:00
psi29a
28be5a259b
Merge branch 'russian_console' into 'master'
...
Don't assume unmapped keycodes outside the extended ASCII range are unprintable
Closes #5871
See merge request OpenMW/openmw!622
2021-02-26 23:28:01 +00:00
psi29a
937549c99e
Merge branch 'fix_still_actors' into 'master'
...
Make actor flee from a combat when cannot reach a target (#5851 )
See merge request OpenMW/openmw!601
2021-02-26 23:25:05 +00:00
psi29a
20e6db917b
Merge branch 'fix-osg-static' into 'master'
...
CMake: Fix support for OSG static lib paths
See merge request OpenMW/openmw!624
2021-02-26 23:20:52 +00:00
AnyOldName3
f5a87ee46d
Refactor out duplicated RTT setup code
2021-02-26 19:01:27 +00:00
Gleb Mazovetskiy
21a70b7d2b
heighfield: buildAccellerator()
...
This enables accelleration of heightfield collisions.
Unfortunately, `btHeightfieldTerrainShape::processAllTriangle` does not
yet use the accellerator data, so this change does not improve
performance yet but might do so in future bullet versions.
References:
* Accellerator introduced in:
https://github.com/bulletphysics/bullet3/pull/2062
* Feature request to use the accellerator in `processAllTriangle`:
https://github.com/bulletphysics/bullet3/issues/3276
2021-02-26 14:38:06 +00:00
Gleb Mazovetskiy
13c5b1b0c5
CMake: Fix support for OSG static lib paths
...
`$<TARGET_FILE:...>` fails if the argument is already a path (instead of
a library name). This happens when a static library is found via
`osg_find_library`.
If the argument contains `/` or `.`, do not use `$<TARGET_FILE:...>`
2021-02-26 10:48:09 +00:00
Alexei Dobrohotov
a292a31cb3
Merge branch 'you_and_i_code' into 'master'
...
Fix Ctrl U/W behaviour to work with unicode text
See merge request OpenMW/openmw!621
2021-02-25 23:11:03 +00:00
Evil Eye
6e0f070cd1
Don't assume unmapped keycodes outside the extended ASCII range are unprintable
2021-02-25 21:37:21 +01:00
Evil Eye
a616af822e
Fix Ctrl U/W behaviour to work with unicode text
2021-02-25 19:33:11 +01:00
AnyOldName3
4ed67d8597
Improve A2C setting name
2021-02-24 18:01:06 +00:00
David Cernat
39dc6fc355
Add OpenMW commits up to 24 Feb 2021
...
# Conflicts:
# CI/before_script.linux.sh
# CMakeLists.txt
# apps/openmw/CMakeLists.txt
# components/CMakeLists.txt
2021-02-24 13:02:57 +02:00
AnyOldName3
c7ee5d21dc
Make the dummy texture for the character preview even more shadow-friendly
2021-02-23 23:24:40 +00:00
AnyOldName3
2b144ff3dd
Merge branch 'fix_frame_rate_limit' into 'master'
...
Fix frame rate limit (#5686 )
See merge request OpenMW/openmw!603
2021-02-21 16:20:51 +00:00
AnyOldName3
9be258d260
Make it possible to reinstate FFP state easily
2021-02-19 19:59:48 +00:00
psi29a
5c0214142b
Merge branch 'static-build' into 'master'
...
Optional local source builds of OSG, MyGUI, Bullet
See merge request OpenMW/openmw!547
2021-02-19 16:58:05 +00:00
psi29a
bcbe144a1d
Merge branch 'weatheralpha' into 'master'
...
Fix weather particle fading
Closes #5455
See merge request OpenMW/openmw!506
2021-02-19 16:50:38 +00:00
psi29a
87d80b3d0a
Merge branch 'loading_screen_race_condition' into 'master'
...
Fix a race condition in loading screen.
See merge request OpenMW/openmw!568
2021-02-18 22:37:47 +00:00
psi29a
59e09cba5b
Merge branch 'boltsize' into 'master'
...
Use projectile mesh size (#5829 )
See merge request OpenMW/openmw!587
2021-02-15 08:40:30 +00:00
elsid
561628087c
Merge branch 'profiler_fix' into 'master'
...
Fix profiler glitches (#5850 )
See merge request OpenMW/openmw!605
2021-02-15 00:01:06 +00:00
AnyOldName3
4f510d85ba
Merge remote-tracking branch 'upstream/master' into alpha-meddling
2021-02-14 22:42:55 +00:00
David Cernat
7e188f2dd6
Add OpenMW commits up to 14 Feb 2021
...
# Conflicts:
# apps/openmw/mwclass/door.cpp
# apps/openmw/mwscript/aiextensions.cpp
2021-02-14 19:49:22 +02:00
AnyOldName3
6291b9304b
Log when icon is missing and fallback is used
2021-02-14 16:56:21 +00:00
elsid
8dba61f7ae
Use navmesh raycast to find reachable position around target
2021-02-14 04:14:22 +01:00
elsid
becccf3b5e
Make actor flee from a combat when cannot reach a target
2021-02-12 22:58:53 +01:00
fredzio
9d90e250cf
Physics is not running while paused, so zero the stats for the async
...
thread instead of keeping whatever value was before the pause.
2021-02-12 19:33:08 +01:00
elsid
8ab5fd9b40
Fix frame rate limit
...
Measure time at the computation end but before sleep. This allows to adjust
sleep interval for the next frame in case sleep is not precise due to syscall
overhead or too low timer resolution.
Remove old frame limiting mechanism.
2021-02-12 00:03:11 +01:00
Evil Eye
2e73d2c145
Fallback to default cell name for door destination
2021-02-10 22:13:04 +01:00
psi29a
c33b2e0100
Merge branch 'dehardcodebaseanim' into 'master'
...
Dehardcode Base_animation and improve Collada support
See merge request OpenMW/openmw!510
2021-02-10 16:29:47 +00:00
David Cernat
a379d12529
[General] Turn Utils::printVersion() into Utils::getVersionInfo()
2021-02-10 02:54:37 +02:00
AnyOldName3
da6223fc4b
Use default icon.tga when inventory icon is missing
2021-02-07 23:27:45 +00:00
psi29a
7a9eb34403
Merge branch 'master' into 'freeunrealestate'
...
# Conflicts:
# CHANGELOG.md
2021-02-07 21:03:51 +00:00
psi29a
31f41836a1
Merge branch 'no_stuck_in_proj' into 'master'
...
Don't let projectiles push actors out of the world (#5802 )
See merge request OpenMW/openmw!595
2021-02-07 20:37:46 +00:00
fredzio
b78820de55
Ignore projectiles inside of MovementSolver::unstuck. It is normal for actors to be inside of a
...
projectile collision shape.
A side effect of moving actors outside of projectile collision shape is that if both the actor and the projectile are
near a wall, the actor could get moved outside of the world.
2021-02-07 18:32:03 +01:00
Evil Eye
af0f94f03e
Play damage sound when hurt by elemental shields
2021-02-07 12:55:10 +01:00
Evil Eye
f1caeea444
Don't return negative values from GetMagicka
2021-02-07 11:58:23 +01:00
Evil Eye
e4cd89643f
Merge branch 'master' of gitlab.com:OpenMW/openmw into freeunrealestate
2021-02-07 00:17:14 +01:00
Evil Eye
6aa75c287a
Don't check magicka when casting free spells
2021-02-07 00:15:01 +01:00
psi29a
e6607486f5
Merge branch 'jfmherokiller-master-patch-23743' into 'master'
...
Fix the regression involving Cure
See merge request OpenMW/openmw!582
2021-02-06 15:41:24 +00:00
psi29a
f63af685c0
Merge branch 'bemorenegative' into 'master'
...
Allow negative values for ai stats
Closes #5835
See merge request OpenMW/openmw!586
2021-02-06 15:38:34 +00:00
fredzio
6e969ca3fa
Use mesh collision box instead of node bounding sphere for projectile
...
size. The bounding sphere is much bigger than the mesh.
2021-02-05 22:53:45 +01:00
Evil Eye
3007cb14a9
Also allow negative AI values in dialogue
2021-02-05 19:00:35 +01:00
Noah Gooder
e42b67ee50
Modified actors.cpp and Authors.md
2021-02-05 17:59:36 +00:00
David Cernat
e1259fdc41
Add OpenMW commits up to 4 Feb 2021
...
# Conflicts:
# apps/openmw/engine.cpp
# apps/openmw/mwmechanics/npcstats.hpp
# apps/openmw/mwrender/globalmap.cpp
2021-02-05 02:16:03 +02:00
Evil Eye
61e014a765
Allow negative values for ai stats
2021-02-04 21:25:38 +01:00
Nelsson Huotari
e91d1a2b42
Fix earlier broken commit
2021-02-03 21:16:26 +02:00
AnyOldName3
0639f8b7c6
Make the dummy texture for the character preview shadow-friendly
2021-02-03 18:45:22 +00:00
Nelsson Huotari
384112746c
Add option for custom collision node with non-nif files
2021-02-03 14:25:09 +02:00
Jordan Francis Moran-Meyers
0d1c073cfa
Fix the regression involving Cure
2021-02-01 18:34:10 +00:00
Petr Mikheev
94e8855c8c
Merge branch 'fix_5821' into 'master'
...
Fix #5821 : NPCs from mods getting removed if mod order was changed
Closes #5821
See merge request OpenMW/openmw!577
2021-01-31 09:34:26 +00:00
Petr Mikheev
157b14cdaa
Fix #5821 : NPCs from mods getting removed if mod order was changed
2021-01-29 22:53:02 +01:00
Petr Mikheev
9590377f22
Don't ignore Z in path finding if actor can move by Z.
2021-01-29 22:30:20 +01:00
Petr Mikheev
642ca02e35
Shorten almost straight paths only if smooth movement is enabled; reduce angle limit for the shortening.
2021-01-29 22:30:01 +01:00
Andrei Kortunov
7b727e4d70
Revert "Remove physics dependency on basenode"
...
This reverts commit 165c731492
.
2021-01-29 16:51:13 +04:00
Andrei Kortunov
165af1c365
Revert "Some actors are supposed to spawn on a static object that belong to an adjacent cell."
...
This reverts commit f031a191b8
.
2021-01-29 16:51:05 +04:00
Andrei Kortunov
f8e8496d36
Revert "Revert a wrong change introduced in MR 546"
...
This reverts commit 23137d0c54
.
2021-01-29 16:50:39 +04:00
Andrei Kortunov
3b9f8b5fa2
Avoid null dereference for objects without cells
2021-01-28 18:37:47 +04:00
Andrei Kortunov
d984d13b1c
Merge branch 'animate_animated_objects' into 'master'
...
Unbreak animated objects (regression from !546 )
See merge request OpenMW/openmw!570
2021-01-28 14:12:24 +00:00
Andrei Kortunov
5382d38b9b
Merge branch 'hit_target_object' into 'master'
...
Unbreak targetted spell on objects (#5811 )
See merge request OpenMW/openmw!569
2021-01-28 14:09:45 +00:00
elsid
a3ab8dfbb4
Revert "Merge branch 'movement_fix2' into 'master'"
...
This reverts merge request !496
2021-01-28 12:48:19 +00:00
fredzio
23137d0c54
Revert a wrong change introduced in MR 546
...
A prerequisite to create physics objects for statics was to remove the
dependency on base node (since it doesn't yet exists) for object
position. It is still necessary for animation though.
Restore the basenode (and the associated FIXME) so that animated objects works properly.
2021-01-27 16:24:11 +01:00
Nelsson Huotari
83ee1cc582
fix xbase to baseanim
2021-01-27 13:41:05 +02:00
Nelsson Huotari
3194520dcd
Move base_anim settings to settings-default.cfg
2021-01-27 13:41:02 +02:00
Bret Curtis
b164f1aa17
Merge pull request #3023 from akortunov/grass_intsancing
...
Grass instancing
2021-01-27 12:21:24 +01:00
psi29a
699bd257ef
Merge branch 'camera_stats' into 'master'
...
Collect all available stats if OPENMW_OSG_STATS_FILE is set and point to a valid file.
See merge request OpenMW/openmw!526
2021-01-27 08:04:33 +00:00
Frederic Chardon
7cd7fa2f08
Collect all available stats if OPENMW_OSG_STATS_FILE is set and point to
...
a valid file.
2021-01-27 08:04:33 +00:00
fredzio
64475ebedb
Remove a brainfart from precise projectile handling: all non-actor
...
non-projectile objects were treated as ground.
2021-01-27 07:15:09 +01:00
Gleb Mazovetskiy
8737453498
cmake: Compiler-specific whole-archive macro
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
99ba45a308
Optional static builds of OSG, MyGUI, Bullet
2021-01-26 19:00:55 +00:00
Andrei Kortunov
f40e227686
Remove redundant formatting changes
2021-01-26 22:29:41 +04:00
Andrei Kortunov
b975f16e6b
Remove redundant check - groundcover is not present in the CellStore
2021-01-26 22:29:41 +04:00
Andrei Kortunov
d12a0fdcb3
Mark only instances from groundcover files as groundcover objects
2021-01-26 22:29:41 +04:00
Andrei Kortunov
8874e88ff1
Drop fading setting
2021-01-26 22:29:41 +04:00
Andrei Kortunov
1a6c06f7b5
Do not allow to set distance to non-positive values
2021-01-26 22:29:41 +04:00
Andrei Kortunov
859cd0fd0c
Do not use display lists for instanced meshes
2021-01-26 22:29:41 +04:00
Andrei Kortunov
a09f03c850
Drop groundcover materials - they are not used
2021-01-26 22:29:41 +04:00
Andrei Kortunov
14cf0ce1dc
Implement instanced groundcover
2021-01-26 22:29:41 +04:00
madsbuvi
663e0a1055
Fix a race condition in loading screen.
2021-01-26 19:28:09 +01:00
David Cernat
eefa94db12
[Client] Allow ClientScriptGlobal to create new global variables
2021-01-26 01:07:35 +02:00
Petr Mikheev
bc2cec86e9
Fix bug: NPCs doesn't move if the target is exactly above or exactly below.
2021-01-26 00:05:28 +01:00
psi29a
cadd1e7529
Merge branch 'daedric_fog' into 'master'
...
Don't nuke fog when bounds have changed
Closes #5469
See merge request OpenMW/openmw!522
2021-01-25 12:58:44 +00:00
psi29a
64b4472efa
Merge branch 'stand' into 'master'
...
Don't adjust actor position until all objects are loader (#5379 )
See merge request OpenMW/openmw!546
2021-01-25 12:12:43 +00:00
psi29a
c6f14cde20
Merge branch 'Show-level-multipliers-in-levelup-tooltip' into 'master'
...
Show level multipliers in levelup tooltip
Closes #5783
See merge request OpenMW/openmw!518
2021-01-25 10:01:39 +00:00
Cédric Mocquillon
3bb551a6f1
Show level multipliers in levelup tooltip
2021-01-25 10:01:39 +00:00
Evil Eye
59af819f97
Merge branch 'fix-mem-leak-2' into 'master'
...
Fix memory leak in MWInput
See merge request OpenMW/openmw!566
2021-01-24 16:05:30 +00:00
Gleb Mazovetskiy
fe815d3d8d
Fix memory leak in MWInput
...
mListener wasn't being cleaned up
2021-01-24 15:22:36 +00:00
Evil Eye
a2171875a0
Prevent nullptr access
2021-01-24 15:15:51 +01:00
fredzio
f031a191b8
Some actors are supposed to spawn on a static object that belong to an adjacent cell.
...
Since actors can be active in 3x3 grid around the player, we need to
first load all statics in a 5x5 grid around the player.
Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and physics objects of static
class.
2021-01-24 14:11:10 +01:00
fredzio
165c731492
Remove physics dependency on basenode
...
Necessary to be able to load physics objects from inactive cells.
2021-01-24 14:10:27 +01:00
psi29a
b28adafee4
Merge branch 'navcrash' into 'master'
...
Fix #5798
Closes #5798
See merge request OpenMW/openmw!554
2021-01-23 13:37:01 +00:00
Evil Eye
a401c517bf
Always unload height fields
...
loadCell always adds a height field, but unloadCell only removed it for
cells with height data. Reloading a cell overwrote the height field
added earlier (leading to its destruction) while the navigator retained
a reference to the now deleted collision shape, leading to a crash.
2021-01-23 00:56:46 +01:00
psi29a
0ec953380f
Merge branch 'opaque-character-preview-preprocessor' into 'master'
...
Always write opaque fragments instead of relying on blending being off for translucent RTT II: Daggerfall
Closes #5391
See merge request OpenMW/openmw!552
2021-01-22 10:33:16 +00:00
psi29a
d2c5de5211
Merge branch 'projectile_physics' into 'master'
...
Precise projectile physics (closes #4201 )
Closes #4201
See merge request OpenMW/openmw!550
2021-01-21 23:33:22 +00:00
fredzio
1f4c85520f
Use convexSweepTest for projectile movement to solve any
...
imprecision issue with projectile collision detection.
Simplify the mechanics: manage hits in one spot.
Give magic projectiles a collision shape similar in size to their visible
model.
Rename the 2 convex result callback to clearly state their purpose.
2021-01-21 20:36:33 +01:00
elsid
cc24f13b39
Remove duplicated sound_buffer entry
2021-01-21 13:08:50 +01:00
AnyOldName3
b6e92c9c6d
Use ShaderVisitor to skip translucent framebuffer specific stuff
2021-01-20 23:37:19 +00:00
AnyOldName3
8af8ad3840
Always write opaque fragments instead of relying on blending being off for translucent RTT
2021-01-20 01:17:16 +00:00
fredzio
e37e5d4d16
Don't run unstuck if there is no simulation running in async case.
...
In this case, the actor mPreviousPosition is not updated, so the actor
position is interpolated between an old (stucked) position and the new
(unstucked) position. The new position is most likely "stucked", so the
unstuck code strikes again, making the actor "vibrates".
That's exactly what the sync code path does, and it doesn't exhibit this
behavior.
2021-01-18 17:45:57 +01:00
David Cernat
0eb01591e8
[Client] Move overrideRecord() method for Sound records to right spot
2021-01-17 16:04:12 +02:00
psi29a
9eba086c34
Merge branch 'sound_buffer_pool_2' into 'master'
...
Separate sound buffer pool from sound manager
See merge request OpenMW/openmw!520
2021-01-17 12:11:11 +00:00
Bret Curtis
e68651e9a6
Merge pull request #3042 from akortunov/helpers
...
Refactoring pre-requisites for groundcover
2021-01-13 23:09:01 +01:00
Andrei Kortunov
0418e8e7a6
Add an API to get base wind speed (which is from openmw.cfg)
2021-01-13 14:25:25 +04:00
Andrei Kortunov
f175beb304
Define template ref classes in components
2021-01-13 14:25:21 +04:00
psi29a
fd602e2c31
Merge branch 'viewdist' into 'master'
...
Downgrade FOV-dependent view distance factor to a recommendation
See merge request OpenMW/openmw!531
2021-01-12 19:51:21 +00:00
Bret Curtis
d944f703e8
Merge branch 'master' of gitlab.com:OpenMW/openmw
2021-01-12 19:58:56 +01:00
Bret Curtis
73740013a3
mResourceSystem initialization reorder
2021-01-12 19:58:46 +01:00
psi29a
abdc4cde95
Merge branch 'float' into 'master'
...
Allow all creatures to float to the water surface (#5790 , #5758 )
Closes #5758 and #5790
See merge request OpenMW/openmw!534
2021-01-12 18:45:10 +00:00
Alexei Dobrohotov
4638fc36b4
Allow all creatures to float to the water surface
2021-01-12 15:46:19 +03:00
psi29a
3903142152
Update apps/openmw/mwbase/environment.cpp
2021-01-12 12:05:17 +00:00
psi29a
654238fd18
Merge branch 'no_bonus_points' into 'master'
...
Show mesh origin
Closes #5771
See merge request OpenMW/openmw!507
2021-01-11 21:21:47 +00:00
psi29a
29fdcb3fa1
Merge branch 'hardlanding' into 'master'
...
Init mJumpState based on saved fallheight (#5739 )
See merge request OpenMW/openmw!532
2021-01-11 20:46:42 +00:00
fredzio
3087ce9c70
Use saved fallheight to determine a character's jump state.
...
The jump state initial state is "none", and it is set after physics simulation.
If a save is done just above the ground, the character may land before
the first run of the simulation, effectively cancelling the effect of
falling.
2021-01-11 18:38:20 +01:00
Alexei Dobrohotov
7be7af13d7
Downgrade FOV-dependent view distance factor to a recommendation
2021-01-11 06:53:23 +03:00
psi29a
6863c5a68f
Merge branch 'raii' into 'master'
...
Make all physics object manage their own resources.
See merge request OpenMW/openmw!527
2021-01-10 20:50:55 +00:00
Evil Eye
1ab4683dce
Tweak follow distance to be more like the original
2021-01-10 16:29:32 +01:00
fredzio
d015f17a6c
Make all physics object manage their own resources
...
Use smart pointer for heightfields and their members.
Move collision object addition inside of Object's ctor, as for Actors and HeightFields
2021-01-10 14:56:35 +01:00
elsid
8b7f3fe908
Merge branch 'nodeadlock' into 'master'
...
Avoid a rare but possible deadlock around mCollisionWorldMutex.
See merge request OpenMW/openmw!525
2021-01-10 13:41:31 +00:00
Bret Curtis
b3f3b29bbe
Merge pull request #3039 from akortunov/screenshotmanager
...
Move screenshots handling to the separate class
2021-01-10 12:59:45 +01:00
Bret Curtis
a735bbe9a5
Merge pull request #3040 from akortunov/pvs
...
Fix some issues, found by PVS Studio
2021-01-10 12:58:17 +01:00
Evil Eye
e737bd00fa
Merge branch 'unused_param' into 'master'
...
Remove never used parameter from CharacterController::update()
See merge request OpenMW/openmw!523
2021-01-10 10:58:28 +00:00
Alexei Dobrohotov
c3a952c133
Merge branch 'dorsbien' into 'master'
...
Don't update magic effects when unequipping items to equip something else
Closes #5687
See merge request OpenMW/openmw!509
2021-01-10 08:04:07 +00:00
Evil Eye
a257567b80
Don't update magic effects when unequipping items to equip something else
2021-01-10 08:04:06 +00:00
fredzio
60f66f5e29
Remove never used parameter from CharacterController:update()
2021-01-09 21:28:27 +01:00
fredzio
9bc687e209
Avoid a rare but possible deadlock around mCollisionWorldMutex.
...
What happened is that the last handle to an Actor shared_ptr was a
promoted weak_ptr. When the shared_ptr goes out of scope, the Actor dtor
is invoked. That involves removing the Actor collision object after
exclusively locking mCollisionWorldMutex. In this case, the lock was
already held in the outter scope of the promoted weak_ptr.
Reduce the scope of the mCollisionWorldMutex to never encompass the
lifetime of a promoted weak_ptr.
2021-01-09 21:10:29 +01:00
unknown
564a0d7d55
Don't nuke fog when bounds have changed
2021-01-09 18:25:46 +01:00
Andrei Kortunov
874348fb46
Remove redundant code
2021-01-09 19:19:38 +04:00
Mads Buvik Sandvei
a2d8a0b61a
engine.cpp typos
2021-01-09 14:44:15 +00:00
Andrei Kortunov
80ee1b55ea
Protect assignment operator from this == &src case
2021-01-09 18:28:26 +04:00
Andrei Kortunov
33da0af1d1
Use explicit calls for virtual methods in constructors
2021-01-09 18:25:48 +04:00
elsid
a6aba83741
Remove redundant SoundManager::lookupSound and loadSound
2021-01-09 14:11:49 +01:00
elsid
e4cce88142
Replace std::tie by structured binding
2021-01-09 14:09:27 +01:00
elsid
90c8e77e2c
Remove redundant default Sound_Buffer fields initialization
2021-01-09 14:08:54 +01:00
David Cernat
def981694d
[Client] Use correct function for setting global floats from packets
2021-01-09 15:07:55 +02:00
elsid
24f8a2db27
Use perfect forwarding in Sound_Buffer ctor
2021-01-09 14:07:30 +01:00
Andrei Kortunov
a80ee7a76a
Avoid possible memory leak in the mInterMessageBoxe field
2021-01-09 14:43:00 +04:00
Andrei Kortunov
8e5f26c109
Code cleanup
2021-01-09 14:41:10 +04:00
Andrei Kortunov
33648313a6
Initialize variables
2021-01-09 14:21:57 +04:00
Andrei Kortunov
c1512b8b6c
Convert loop to condition
2021-01-09 14:18:38 +04:00
Andrei Kortunov
56666c60d4
Remove dead code
2021-01-09 14:17:59 +04:00
Andrei Kortunov
7fc4c9f3f6
Avoid dead code
2021-01-09 13:52:01 +04:00
Andrei Kortunov
799bd3379c
Move screenshots handling to the separate class
2021-01-09 10:44:33 +04:00
elsid
944033db4e
Separate sound buffer pool from sound manager
2021-01-09 02:45:21 +01:00
AnyOldName3
2d61db555b
Merge branch 'osg_log' into 'master'
...
Split long osg log messages into lines.
See merge request OpenMW/openmw!519
2021-01-09 01:05:53 +00:00
Petr Mikheev
7d551b0cfd
Split long osg log messages into lines.
2021-01-08 23:21:39 +01:00
psi29a
cbce3ebb79
Merge branch 'stanky_fetcher' into 'master'
...
Consider a path completed if it was non-empty
Closes #5773
See merge request OpenMW/openmw!508
2021-01-08 21:47:38 +00:00
Evil Eye
2a583e2337
consider empty paths as not constructed
2021-01-08 17:24:13 +01:00
AnyOldName3
4ed3252001
Check for EXT_gpu_shader4 CPU-side
...
Mesa lies and always defines GL_EXT_gpu_shader4 even when the extension
isn't present.
2021-01-07 18:13:51 +00:00
David Cernat
da3316daf8
Add OpenMW commits up to 4 Jan 2021
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/main.cpp
# apps/openmw/mwmechanics/npcstats.hpp
# apps/openmw/mwphysics/actor.cpp
# apps/openmw/mwphysics/mtphysics.hpp
# components/CMakeLists.txt
2021-01-05 07:25:31 +02:00
AnyOldName3
f2eed5594a
Don't use A2C when MSAA is off
2021-01-02 18:27:46 +00:00
AnyOldName3
c75d7ceada
Ensure alpha test is off by default
2021-01-02 02:50:19 +00:00
fredzio
5215ffd964
The debug drawer rely on Bullet to determines the vertices of collision
...
shapes. It doesn't work in the case of spheres (used by projectiles):
resulting shape is malformed. It can also leads to this error which
makes the debug drawer non-working till game restart:
CullVisitor::apply(Geode&) detected NaN,
depth=nan, center=(nan nan nan),
matrix={
-0.265814 -0.0639702 0.9619 0
0.964024 -0.0176387 0.265228 0
-4.29769e-09 0.997796 0.0663574 0
18178.6 -3550.91 42154.4 1
}
Avoid this issue by using osg::Sphere
While here, remove an unused function. We don't use Bullet's solver so
we never have any contact points (in Bullet parlance).
2021-01-01 17:47:12 +01:00
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