1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-25 15:35:23 +00:00

1154 Commits

Author SHA1 Message Date
Bret Curtis
8309910d9d Restore the cell grid to its former non-exorbitant size, reducing stutter and also threw in a simple alternative fix for the actor position adjustment issue. 2021-09-30 22:58:40 +02:00
Evil Eye
60298cd66d Reset rotation when respawning actors 2021-09-14 16:53:57 +02:00
cc9cii
b1fb3e2313 Add missing includes. 2021-08-17 13:53:14 +10:00
cc9cii
47a841d3b7 Fix/workaround for Issue #3246
OpenMW save file assumes the presence of NPC/Creature data but the vanilla save file provides only the delta changes in most situations.  The base data are not available without loading all the relevant dependency content files.  Duplicating that code in the ESSImporter is not desirable.

Ideally a flag should be set but that will mean a change in the save file format.  For a minor change such as this doing so seems like an overkill.  So a temporary workaround is introduced where the gold carried by the NPC/Creature is used as an indicator as the lack of ACDT data.
2021-08-17 12:29:28 +10:00
fredzio
88a5ca440b Change moveObject() to take a osg::Vec3f argument instead of 3 floats
for readability.
2021-07-30 23:24:49 +02:00
jvoisin
74fab99b89 Use a const-ref for an osg::Quat
Since an osg::Quat contains at least 4 floats,
it should be worth it to use a const-ref instead
of passing it by value.
2021-07-22 21:33:18 +02:00
Evil Eye
b95cf4fd00 Set the ptr's custom data before filling the store so leveled lists have access to the level 2021-07-18 15:04:25 +02:00
Evil Eye
087e933326 Close windows using Ptrs that are about to be deleted 2021-07-15 22:31:26 +02:00
Petr Mikheev
b1a6441c23 Add LocalScripts::LocalEngineEvent. Add OnConsume engine handler. 2021-07-09 20:48:54 +02:00
psi29a
3c0a0ba9e1 Merge branch 'master' into 'touch_my_crank'
# Conflicts:
#   CHANGELOG.md
2021-07-06 09:18:12 +00:00
psi29a
c372c239a6 Merge branch 'master' into 'OpenCS_Bug6017'
# Conflicts:
#   CHANGELOG.md
2021-07-06 07:52:49 +00:00
cc9cii
f68c81e631 Merge branch 'master' into 'OpenCS_Bug6017' 2021-07-06 03:10:46 +00:00
cc9cii
4b3de46bfa Use enums in place of magic numbers. Ensure Creature and NPC cell references are always saved as persistent. 2021-07-06 12:37:02 +10:00
Evil Eye
796617fa0c Allow activators to be activated using telekinesis 2021-07-05 22:00:43 +02:00
Evil Eye
0a15d7740a Delay physics for objects created by scripts 2021-07-05 18:34:06 +02:00
cc9cii
f2a301653c Remove redundant mPersistent member from ESM::NPC and ESM::Creature, replaced by mRecordFlags. Fixed the editing of the persistence flag value. 2021-06-30 08:20:29 +10:00
Evil Eye
4f264af5a9 Merge branch 'staticsload' into 'master'
Loads statics before actors II (#5379)

See merge request OpenMW/openmw!588
2021-06-28 20:25:51 +00:00
fredzio
c795e0bce6 Some actors are supposed to spawn on an object that belongs to an adjacent cell.
Since actors can be active in 3x3 grid around the player, we need to
first load all objects 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 non-animated physics objects.

Animated objects are tied to the scene graph, which doesn't exists yet
in these cells, so we skip them.
2021-06-28 09:36:04 +02:00
Evil Eye
692615fd3c Detach objects from the active grid when attempting to get their animation 2021-06-23 18:08:49 +02:00
jvoisin
04edb1c817 Trim down some internal includes 2021-04-30 19:39:26 +02:00
elsid
e1d955d92b
Remove noexcept specifier from CreatureCustomData move ctor
C++17 doesn't allow to declare defaulted move ctor with not matching
exception specification to the calculated one:
/Users/eddie/Downloads/BUILD/openmw-master/apps/openmw/mwclass/creature.cpp:63:9: error:
      exception specification of explicitly defaulted move constructor does not
      match the calculated one
        CreatureCustomData(CreatureCustomData&& other) noexcept = default;
        ^

http://wg21.link/p1286r2 makes this possible in C++20 and newer compilers
already have it working even with -std=c++17 but older onces give an error.
2021-04-24 00:32:22 +02:00
elsid
bd33fa76b6
Use CRTP to define CustomData clone function 2021-04-05 11:53:07 +02:00
elsid
045bb7cbd7
Store CustomData and ContainerStore as unique_ptr 2021-04-05 11:52:52 +02:00
Evil Eye
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
Andrei Kortunov
7b727e4d70 Revert "Remove physics dependency on basenode"
This reverts commit 165c7314928dc281a364fa1a0143c45fd6d2adfd.
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 f031a191b847443c848637b17d0936a43b5070b5.
2021-01-29 16:51:05 +04: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
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
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
8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04: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
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
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
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +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
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
Petr Mikheev
7e3d19196d Fix #5586 2020-09-01 00:37:37 +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
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
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
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