Andrei Kortunov
59720aea9a
Restore old aiming for melee combat
2021-04-07 12:07:03 +04:00
elsid
bd33fa76b6
Use CRTP to define CustomData clone function
2021-04-05 11:53:07 +02:00
elsid
e380470558
Add move ctor and assignment operator to RefData
2021-04-05 11:53:07 +02:00
elsid
045bb7cbd7
Store CustomData and ContainerStore as unique_ptr
2021-04-05 11:52:52 +02:00
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
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
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
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
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
Petr Mikheev
7bbbe40abe
"static const" -> "static constexpr" in headers
2021-03-21 13:57:54 +01:00
Bret Curtis
40c989d732
allman style
2021-03-14 22:11:18 +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
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
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
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
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
8ae4ee291f
Attempt to fix restocking items in old saves
2021-03-04 22:52:03 +01: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
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
Evil Eye
2e73d2c145
Fallback to default cell name for door destination
2021-02-10 22:13:04 +01:00
Evil Eye
6aa75c287a
Don't check magicka when casting free spells
2021-02-07 00:15:01 +01: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
Petr Mikheev
157b14cdaa
Fix #5821 : NPCs from mods getting removed if mod order was changed
2021-01-29 22:53:02 +01:00
Andrei Kortunov
7b727e4d70
Revert "Remove physics dependency on basenode"
...
This reverts commit 165c731492
.
2021-01-29 16:51:13 +04:00
Andrei Kortunov
165af1c365
Revert "Some actors are supposed to spawn on a static object that belong to an adjacent cell."
...
This reverts commit f031a191b8
.
2021-01-29 16:51:05 +04:00
Andrei Kortunov
f8e8496d36
Revert "Revert a wrong change introduced in MR 546"
...
This reverts commit 23137d0c54
.
2021-01-29 16:50:39 +04:00
Andrei Kortunov
3b9f8b5fa2
Avoid null dereference for objects without cells
2021-01-28 18:37:47 +04:00
Andrei Kortunov
d984d13b1c
Merge branch 'animate_animated_objects' into 'master'
...
Unbreak animated objects (regression from !546 )
See merge request OpenMW/openmw!570
2021-01-28 14:12:24 +00:00
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
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
14cf0ce1dc
Implement instanced groundcover
2021-01-26 22:29:41 +04: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
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
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
Andrei Kortunov
0418e8e7a6
Add an API to get base wind speed (which is from openmw.cfg)
2021-01-13 14:25:25 +04: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
a257567b80
Don't update magic effects when unequipping items to equip something else
2021-01-10 08:04:06 +00:00
Andrei Kortunov
80ee1b55ea
Protect assignment operator from this == &src case
2021-01-09 18:28:26 +04:00