1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-25 10:09:42 +00:00
Commit graph

17907 commits

Author SHA1 Message Date
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
elsid
dae3f022ba
Add tests for ESM::Variant 2021-04-04 23:09:50 +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
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
elsid
f2ebad5115
Return cached element when set existing 2021-03-25 19:28:41 +01:00
elsid
b9a40bc5fc
Add NavMeshTilesCache benchmarks 2021-03-25 19:28:41 +01: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
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
psi29a
eb11e1fcdb Merge branch 'build-accelerator' into 'master'
heightfield: Only `buildAccelerator` on Bullet 2.89+

Closes #5874

See merge request OpenMW/openmw!630
2021-03-01 09:14:04 +00:00
Gleb Mazovetskiy
1fb442e701 heightfield: Only buildAccelerator on Bullet 2.89+
Fixes #5874
2021-03-01 08:27:24 +00:00
elsid
fac5759748
Set bounding min and max height for btHeightfieldTerrainShape
They must be set for proper AABB based filtering. Use
+-max(abs(min), abs(max)) to make sure bullet does not shift coordinates by z.
2021-02-28 20:49:22 +01:00
elsid
fdca76ce86
Remove unused includes 2021-02-28 20:44:56 +01: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
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
AnyOldName3
6291b9304b Log when icon is missing and fallback is used 2021-02-14 16:56:21 +00:00
uramer
e7afbc74d8 Wizard: Only allow to select Morrowind.esm master files, display an error if Morrowind.bsa is missing 2021-02-14 10:34:13 +01: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
Sergey Fukanchik
f3271cb66b Add unit test for swapEndiannessInplace(). Part of Bug #5837 2021-02-09 13:09:36 -05: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
Alexei Dobrohotov
cc220861e3 Merge branch 'character-preview-opacity-without-shadows' into 'master'
Make the dummy texture for the character preview shadow-friendly

See merge request OpenMW/openmw!585
2021-02-04 22:45:58 +00:00
Evil Eye
61e014a765 Allow negative values for ai stats 2021-02-04 21:25:38 +01:00
elsid
489107c5ee
Count navmesh cache key once in item size
Key is stored only in NavMeshTilesCache::Item, TileMap uses KeyView with
a pointer to a vector.
2021-02-04 00:44:23 +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
b286397dd4
Merge pull request #3045 from akortunov/revert
Revert fix for 5379
2021-01-29 17:17:28 +04: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
Bret Curtis
9f168eab88
Merge pull request #3044 from akortunov/master
Avoid null dereference for objects without cells
2021-01-29 13:15:04 +01:00
uramer
ee2f0e7eb3 Fix inconsistent argument name 2021-01-28 23:47:38 +01:00
uramer
eca0d8b7ea Fix typo in DropMode enum 2021-01-28 22:40:44 +01:00
uramer
edc6d5c3e7 Fix a typo in separate drop binds 2021-01-28 22:22:48 +01:00
uramer
36cd818155 Fix separate drop, refactor for code reuse 2021-01-28 22:10:33 +01: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
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
a8c5607aa6 Merge branch 'disableinfotablesorting' into 'master'
[OpenMW-CS] Info table dragging to move record order, disable sorting

See merge request OpenMW/openmw!538
2021-01-25 12:51:13 +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
Alexei Dobrohotov
6d70a3f308 Merge branch 'jumpy' into 'master'
Don't run unstuck if there is no simulation running in async case (#5799)

See merge request OpenMW/openmw!548
2021-01-19 15:04:49 +00:00
Nelsson Huotari
9f0f3eaeb2 Add collada to supported formats 2021-01-18 19:22:01 +02:00
Nelsson Huotari
54ea8eb5c7 Fix string corruption with Qt on linux-systems 2021-01-18 19:21:02 +02: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
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
Nelsson Huotari
f2fc02cdff Support filtered tables (mapToSource for indexes) 2021-01-13 15:55:16 +02:00
Nelsson Huotari
16e03c151a Implement basic move algorithm, connect it to drag&drop 2021-01-13 15:38:29 +02: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
Nelsson Huotari
70087e16fe Disable dialogue info table sorting 2021-01-11 20:49:35 +02: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
psi29a
acfd2cfd90 Merge branch 'dialogclonefix' into 'master'
[OpenMW-CS] Fix cloning in info records

See merge request OpenMW/openmw!524
2021-01-11 14:13:53 +00:00
Nelsson Huotari
93b1b444f2 Optimize CreateCommand and CloneCommand configuration 2021-01-11 12:53:34 +02: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
Nelsson Huotari
7196ad7455 Implement an override-value when cloning, use when cloning info records 2021-01-10 21:23:52 +02: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
Nelsson Huotari
3045d20a97 Make sure that vector isn't empty, just in case 2021-01-10 01:25:40 +02:00
Nelsson Huotari
5f1d3e0e2f Use the Topic ID of the cloned target from topicinfos 2021-01-10 01:06:23 +02:00
psi29a
f7d7186c39 Merge branch 'instanceselectiontools' into 'master'
[OpenMW-CS] Cube and sphere instance selection

See merge request OpenMW/openmw!485
2021-01-09 21:35:07 +00:00
Nelsson Huotari
313e895912 [OpenMW-CS] Cube and sphere instance selection 2021-01-09 21:35:07 +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
Andrei Kortunov
ad101de733 Merge declaration and initialization 2021-01-09 22:58:54 +04:00
unknown
564a0d7d55 Don't nuke fog when bounds have changed 2021-01-09 18:25:46 +01:00
Andrei Kortunov
1930f8f37d Fix copy-paste error 2021-01-09 20:03:12 +04:00
Andrei Kortunov
50e4600b16 Reduce code duplication 2021-01-09 20:00:51 +04: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
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
c9b885ffd4 Avoid possible null dereferencing 2021-01-09 14:24:04 +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
8283ec6cad Do not use & for boolean arguments 2021-01-09 14:03:48 +04:00
Andrei Kortunov
7fc4c9f3f6 Avoid dead code 2021-01-09 13:52:01 +04:00
Andrei Kortunov
801e2d6ad0 Avoid to use uninitialized variables 2021-01-09 13:36:40 +04:00
Andrei Kortunov
c5a36ad440 Do not cast enums to booleans 2021-01-09 13:19:41 +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
psi29a
dc82cb61f4 Merge branch 'nativeshapesdebug' into 'master'
Unbreak physics debugger with projectiles' spherical shapes.

See merge request OpenMW/openmw!489
2021-01-04 09:07:28 +00:00
Alexei Dobrohotov
c17e498465 Merge branch 'launchercleanup' into 'master'
Remove deadcode from the launcher.

See merge request OpenMW/openmw!511
2021-01-03 08:48:52 +00: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
fredzio
dbdd397716 Remove deadcode. 2021-01-01 16:54:45 +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
Alexei Dobrohotov
8db2ba2b38
Merge pull request #3032 from akortunov/gtest
Mark mock methods as overrides (requires GTest 1.10)
2020-12-18 01:46:42 +03: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
psi29a
78e85fe011 Merge branch 'this_is_nife' into 'master'
More NIF stuff

See merge request OpenMW/openmw!461
2020-12-15 15:43:12 +00:00
psi29a
bc6bcda58f Merge branch 'wizard' into 'master'
Wizard: fix "file is already opened" warning

See merge request OpenMW/openmw!465
2020-12-15 15:35:47 +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
8fd45d85ec Unify NiGeometry/NiGeometryData handling 2020-12-15 00:06:43 +03:00
Alexei Dobrohotov
ab789e37e1 Wizard: fix "file is already opened" warning 2020-12-14 03:45:03 +03:00
Alexei Dobrohotov
201999c4a9 Make sure adjustPosition() is safe to call for any actor 2020-12-14 03:01:26 +03: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
psi29a
789d034432 Merge branch 'skirts' into 'master'
Editor: Properly reserve body parts for skirts (bug #5731)

Closes #5731

See merge request OpenMW/openmw!452
2020-12-11 11:09:32 +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
Alexei Dobrohotov
32601e0ae4 Properly reserve body parts for skirts (bug #5731) 2020-12-11 10:39:57 +03:00
Coleman Smith
3b9db41346 removing unneeded variable 2020-12-10 17:03:10 -08:00
psi29a
d77f122289 Merge branch 'gl-5199-improve-scene-colors' into 'master'
[OpenMW-CS] Issue #5199: Improve Scene Colors

See merge request OpenMW/openmw!442
2020-12-10 21:36:46 +00:00
Coleman Smith
842ea9d6ed simplifying a bit
- attaching gradient camera directly to the main camera
- using Vec4ub
2020-12-10 21:36:46 +00:00
psi29a
c8fa8cfe74 Merge branch 'herbalmenu' into 'master'
Add graphic herbalism to the launcher

Closes #5730

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

See merge request OpenMW/openmw!446
2020-12-09 21:25:30 +00:00
AnyOldName3
15f03ae375 Merge branch 'logging2' into 'master'
Print '--version' and '--help' messages without timestamps

Closes #2686

See merge request OpenMW/openmw!444
2020-12-09 16:27:54 +00:00
psi29a
0e5af74a2f Merge branch 'masterindexloadfix' into 'master'
[OpenMW-CS] Load master index from refId to mContentFile

See merge request OpenMW/openmw!445
2020-12-09 10:12:10 +00:00
AnyOldName3
fd4a62ce35 Use correct variable types when loading config for tests 2020-12-09 00:32:01 +00:00
Petr Mikheev
49c6e50c31 Print '--version' and '--help' messages without timestamps 2020-12-08 23:14:49 +01:00
Nelsson Huotari
61a4a0807b Load master index in refId to mContentFile, keep master index also in mIndex 2020-12-09 00:10:58 +02: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
Andrei Kortunov
807367ca3f Mark mock methods as overrides (requires GTest 1.10) 2020-12-07 19:09:58 +04: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
Nelsson Huotari
b0e3bd6ff9 Fix crash caused by QStatusBar 2020-11-29 23:25:34 +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
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
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
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
Alexei Dobrohotov
df9667e923 Read NIF bounding volume data correctly 2020-11-14 14:16:29 +03: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
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
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
psi29a
7ee7041399 Merge branch 'stretch' into 'master'
Put a stretch menu background checkbox into the launcher (#5672)

Closes #5672

See merge request OpenMW/openmw!387
2020-11-01 09:26:19 +00:00
Alexei Dobrohotov
f49bf028b9 Put a stretch menu background checkbox into the launcher (#5672) 2020-11-01 02:14:25 +03: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
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
Bret Curtis
259f7fcf12
Merge pull request #3020 from unelsson/strippluginindex_cs
Strip the plugin index when looking for deleted refs.
2020-10-23 21:51:53 +02:00
Nelsson Huotari
b1ea9f6a5b Strip the plugin index from refid completely 2020-10-23 20:21:34 +03:00
psi29a
6534bc9b74 Merge branch 'config-fixes' into 'master'
Config fixes

See merge request OpenMW/openmw!367
2020-10-23 16:40:18 +00:00
AnyOldName3
538314b03a Make path settings have path type 2020-10-23 15:34:41 +01:00
Alexei Dobrohotov
129bd51672 Add compressed BSA support to bsatool 2020-10-23 14:04:21 +03: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
Bret Curtis
43614e2204
Merge pull request #3021 from akortunov/warnfix
Do not use deprecated Qt functions
2020-10-22 17:17:13 +02: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
Andrei Kortunov
46a1950b0e Do not use deprecated Qt functions 2020-10-22 15:50:47 +04: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
Nelsson Huotari
fb4250a2b7 Strip the plugin index when looking for deleted refs. 2020-10-19 15:02:10 +03: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
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
ae3306c019 Document async physics settings
Add an option to the launcher
Update changelog
2020-10-15 06:41:41 +02: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
Bret Curtis
c99be77a32
Merge pull request #3008 from akortunov/strings
Rework fixed strings handling
2020-10-13 17:37:48 +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
psi29a
bca698d951 Merge branch 'shader_line_numbering' into 'master'
Correctly resetting line numbering during shader processing.

See merge request OpenMW/openmw!317
2020-10-07 07:16:45 +00:00
AnyOldName3
c9e3db40a1 Merge branch 'multi-config-build' into 'master'
Add support for multi configurations generators on unix

See merge request OpenMW/openmw!198
2020-10-06 14:02:04 +00:00
Andrei Kortunov
822764d0fa Rework fixed strings handling 2020-10-05 21:52:22 +04:00
Alexei Dobrohotov
29ccb09da5 Introduce some extended NIF definitions 2020-10-04 13:18:56 +03: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
Mads Buvik Sandvei
d5450a7d88 Correctly resetting line numbering during shader processing. 2020-10-03 14:22:34 +02: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
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
AnyOldName3
73708a6f2a Install openmw-cs.cfg on single-config generators and from the right directory on multi-config 2020-09-23 20:00:32 +02:00
Petr Mikheev
a17fb14b8a Add "smooth movement" and "NPCs avoid collisions" settings to openmw-launcher and to the docs; update CHANGELOG.md. 2020-09-22 22:50:44 +02: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
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
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
AnyOldName3
a495888d3d Get per-monitor resolution list while SDL is alive 2020-08-26 16:58:51 +01:00
AnyOldName3
5538fea1d1 Display standard resolutions on single-monitor machines 2020-08-26 16:58:12 +01:00
Andrei Kortunov
f9e667dd8c Fix MSVC warnings 2020-08-26 12:34:27 +04:00
AnyOldName3
b60d5904e2 Correct SDL_GetNumVideoDisplays error message
It logged the wrong function
2020-08-26 00:16:14 +01:00
Bret Curtis
74ba6197ce
Merge pull request #2991 from akortunov/launcher
Use two columns when there is too many checkboxes in launcher's tab
2020-08-23 21:17:05 +02: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
Andrei Kortunov
7c9497c4de Use two columns when there is too many checkboxes in launcher's tab 2020-08-22 09:26:15 +04:00
Andrei Kortunov
8e566fa7ab
Merge pull request #2989 from Capostrophic/tabs
Make Advanced tab of the launcher look okay for everyone again
2020-08-21 12:21:16 +04: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
Capostrophic
c436f29a1e Make Advanced tab of the launcher look okay for everyone again 2020-08-09 20:23:17 +03:00
Capostrophic
a0ca7c4b43 AIPursue: don't do a LOS check
Properly resolve #4774
2020-08-09 12:48:59 +03: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
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
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
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
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
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
CedricMocquillon
1f4f10c723 Add a tab level in advanced settings 2020-07-25 17:42:31 +02:00
psi29a
fc7266d4ee Merge branch 'Improve-cell-name-autocompleter-implementation' into 'master'
#5520 Improve cell name autocompleter implementation

See merge request OpenMW/openmw!267
2020-07-25 13:58:42 +00:00
Cédric Mocquillon
2e27de027e Add members in AdvancedPage class to avoid memory leak when the list of cells names is updated as we recreated a completer at each notification event 2020-07-25 13:58:42 +00: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
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
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
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
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
8f86617262 Merge branch 'master' into 'master'
Fixed passed indexes for object deletion #5384

See merge request OpenMW/openmw!196
2020-07-10 12:10:33 +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
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
998bf5da34 Add new checkbox for the new setting 'trainers training skills based on base skill' 2020-07-06 20:32:30 +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
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
Bret Curtis
355996c2ff supress -> suppress 2020-06-27 01:20:57 +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
Andrei Kortunov
19e95afc42 Avoid reverse iteration on QHash 2020-06-23 13:33:38 +04:00
Andrei Kortunov
0bb9322a69 Use default constructor for ItemFlags 2020-06-23 10:01:36 +04:00
Bret Curtis
8b02263341
Merge pull request #2919 from akortunov/warnfix
Avoid to use some deprecated Qt API
2020-06-23 07:42:11 +02:00
fredzio
6d4d53fc7c Add a setting to the launcher to enable/disable the dialogue topic
formatting stuff.
2020-06-22 23:21:03 +02:00
Andrei Kortunov
c8d5d421d9 Do not use deprecated mouse wheel movement angle 2020-06-22 18:46:45 +04:00
Andrei Kortunov
98bb73ffb7 Do not use deprecated QTextStream::endl 2020-06-22 18:46:45 +04:00
Andrei Kortunov
2b4274bca8 Use modern Qt flag declarations 2020-06-22 18:46:45 +04: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
Bret Curtis
8f9c3e28d9 Handle typo 2020-06-22 13:48:35 +02:00
Bret Curtis
61a5c6125d #5480: Drop Qt4 support and require Qt 5.12 or later. 2020-06-22 12:17:06 +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
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
Bret Curtis
b18028b125
Merge pull request #2905 from elsid/ai_package_type
Store package type id as enum except ESM
2020-06-17 13:03: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
psi29a
66b5cf9f1d Merge branch 'master' into 'near_far_mode_in_launcher'
# Conflicts:
#   files/settings-default.cfg
2020-06-16 23:05:07 +00: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
elsid
00197e1cd9
Optimize recast mesh size by vertex deduplication 2020-06-16 00:51:36 +02: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
Bret Curtis
e6231f67e6
Merge pull request #2904 from Capostrophic/sound
Revert the changes for "bug" #4551
2020-06-11 00:39:07 +02:00
Capostrophic
4a2fd1e140 Revert the changes for "bug" #4551 2020-06-11 00:06:37 +03:00
Andrei Kortunov
0d66369efb Use overrides, when needed 2020-06-10 12:58:15 +04:00
Andrei Kortunov
aacb569acb Use more C++11 in tools code 2020-06-10 10:30:37 +04: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
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
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