florent.teppe
96e42d1666
Cellstore uses RefId.
2023-04-03 14:16:03 +02:00
florent.teppe
36502eaf75
ESM3 Cells have an Id.
...
Store<ESM::Cell> is updated to use it.
2023-04-03 14:16:03 +02:00
Andrei Kortunov
8c6616214b
Remove redundant quotes
2023-04-03 11:28:03 +04:00
Andrei Kortunov
74126953fc
Do not use a rendering node position as a hit position (bug 7298)
2023-04-01 12:05:01 +04:00
psi29a
0c074990ce
Merge branch 'fix_lazy_load_skyrim' into 'master'
...
Fix lazy load skyrim
See merge request OpenMW/openmw!2861
2023-03-30 21:42:55 +00:00
florent.teppe
a3a7767093
applies review changes
...
filepos changed to an actual file pos
moved lambda declaration out of function call
2023-03-28 17:11:30 +02:00
florent.teppe
464092e323
fix oblivion and skyrim
2023-03-28 17:11:30 +02:00
florent.teppe
34dd24b261
Initial changes to detect when context isn't usable
2023-03-28 17:11:30 +02:00
Petr Mikheev
618b912a20
Dehardcode non-game-specific localization GMSTs; Update l10n files.
2023-03-26 13:43:44 +02:00
Petr Mikheev
8d1e52ed51
Extract engine handlers processing from LuaManager to a new class EngineEvents
2023-03-26 03:38:40 +02:00
Petr Mikheev
4fd07cb58d
Implement MWWorld::Class::isItem(ptr) and remove a hacky MWLua::WorldView::isItem.
2023-03-26 03:38:40 +02:00
psi29a
b55313c08e
Merge branch 'small_ref_id' into 'master'
...
Make ESM::RefId to be fixed size cheap to copy and support different implementation types
See merge request OpenMW/openmw!2708
2023-03-20 08:54:36 +00:00
elsid
86293af084
Support generated RefId as std::uint64_t
2023-03-19 17:20:48 +01:00
elsid
0992624c8b
Support reading and writing typed ESM::RefId to ESM
2023-03-19 17:20:48 +01:00
elsid
069d4255b9
Make ESM::RefId to be fixed size cheap to copy
...
Use std::variant. Store refId strings in unordered_set and use pointer to an
item there. Inserts to unordered_set do not invalidate pointers to values so the
pointer is always valid. Elements are not removed. Assume there is finite number
of string refIds.
2023-03-19 17:20:43 +01:00
elsid
c90e4435cd
Remove unused startup script argument
2023-03-19 00:45:50 +01:00
psi29a
b4a5e8ed19
Merge branch '9003rd_times_the_charm' into 'master'
...
Rework again scripted movement. Partially revert and refine !1324
See merge request OpenMW/openmw!1372
2023-03-18 09:13:57 +00:00
psi29a
a60f657f5a
Merge branch 'fast_cell4_load' into 'master'
...
Lazy loading of ESM4::reference
See merge request OpenMW/openmw!2804
2023-03-17 21:46:37 +00:00
elsid
6a182e7798
Move generation for default values of required records to separate functions
2023-03-17 18:31:21 +01:00
psi29a
2ff4a5a11a
Merge branch 'cs_fix_info_collection' into 'master'
...
Fix loading, inserting and moving topic info records
See merge request OpenMW/openmw!2806
2023-03-17 14:40:05 +00:00
fredzio
63d4564455
In 0.46, SetPos was setting position of actors before physics simulation, and from this position movement was simulated. This changed with async physics merging, and at the same time problems started, mostly with abot's scenic travel.
...
Skipping the simulation, switching off collisions, and other approaches were not correct as they either broke some mods, or some core mechanics of the engine such as teleportation or waterwalking. As it turns out, the way to go is to simply do _nothing_ (modulo some gymnastics to account for the 1 frame difference in case of async).
Scripted movement and the unstucking logic tends to collide. Early out of unstuck in case the actor doesn't attempt to move. This means there is no AI package for NPC, which are the case for some boats and striders, or the player is content with their position.
2023-03-16 22:07:26 +01:00
Petr Mikheev
0b385d5db9
Create MWWorld::SafePtr
2023-03-13 23:44:00 +01:00
elsid
e032214fcb
Use common info ordering implementation for engine and editor
2023-03-13 21:57:41 +01:00
psi29a
d8d2cb980c
Merge branch 'world_model_init' into 'master'
...
Refactor WorldModel initialization making it C++ core guidelines complaint
See merge request OpenMW/openmw!2825
2023-03-13 10:57:03 +00:00
elsid
4cf5136143
Mark WorldModel copy ctor and assignment operators as delete
2023-03-12 17:32:43 +01:00
elsid
48fde4b517
Use default initializers for WorldModel members
2023-03-12 17:32:43 +01:00
elsid
2f730011dc
Initialize WorldModel::mIdCache in the class initializer list
2023-03-12 17:32:24 +01:00
elsid
0577d2751b
Set up Store<ESM::Dialogue> once
...
Store<ESM::Dialogue> is derived from DynamicStore and setUp is called for it
along with other setUp calls for stores derived from DynamicStore.
2023-03-12 15:31:19 +01:00
florent.teppe
170b732854
readers cache keep a stateless encoder
...
to keep access to the current encoding configuration
build linux
2023-03-10 12:39:47 +01:00
Petr Mikheev
929fade8be
Merge duplicated public:
and private:
sections in cellstore.hpp
2023-03-05 18:45:53 +01:00
florent.teppe
214cb8d8fe
Only loads ESM4::reference when they are needed
...
and only those from the cell they are a part of.
The cell stores where it starts in the file for quick access later.
2023-03-04 23:40:41 +01:00
elsid
3975003778
Use ESM::RefId as key for Globals::mVariables
2023-03-03 15:44:18 +01:00
elsid
dfcea389be
Add helper functions for string comparison to RefId
2023-03-03 00:39:55 +01:00
Alexei Dobrohotov
540fa00f12
Don't use ESM4::Lighting fog power as fog density
2023-02-27 05:50:58 +03:00
Petr Mikheev
1c2f24d1ca
Remove unused searchInContainers in WorldModel::getPtr
2023-02-23 01:57:23 +01:00
Petr Mikheev
47b7c71c73
Remove unused functions
2023-02-23 01:57:23 +01:00
Cédric Mocquillon
6e23ad82d5
Load esm files from vfs
2023-02-19 21:58:19 +01:00
elsid
b5ec584be2
Replace ESM::RefId::sEmpty by default constructed RefId where possible
...
Static const is only required to provide a reference or a pointer when it is not
possible with default constructed temporary.
2023-02-18 01:07:15 +01:00
elsid
996153f78d
Convert RefId to class
2023-02-15 23:20:44 +01:00
Evil Eye
8cabc1bf3b
Use the teleported Ptr to determine if water walking should be canceled
2023-02-13 16:38:39 +01:00
Alexei Kotov
0485b23b5f
Reimplement region for TES3 cells
2023-02-11 09:36:15 +03:00
elsid
080700f8fe
Name all custom ESM format versions and add tests
2023-02-10 19:54:15 +01:00
psi29a
944931c9bf
Merge branch 'load_esm4_lights' into 'master'
...
Adds ESM4 light into ESM4 Cells
See merge request OpenMW/openmw!2692
2023-02-07 16:50:10 +00:00
florent.teppe
dc961e3189
Adds the light into the scene.
...
Common struct for ESM3 and ESM4 light
2023-02-07 10:07:59 +01:00
elsid
f09789002a
Define hardcoded global variable names as constants
2023-02-07 00:47:34 +01:00
florent.teppe
a71a86e64a
Load light models in the engine. Doesn't emit light
2023-02-06 20:22:17 +01:00
psi29a
4032c447e9
Merge branch 'load-ESM4-Cell' into 'master'
...
Can load and coc into an interrior oblivion cell
See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
psi29a
8b0e55dd5f
Merge branch 'remove-water-walking-teleport-underwater' into 'master'
...
teleporting to an underwater marked location will remove water walking spell effects from actor
Closes #7122
See merge request OpenMW/openmw!2656
2023-02-04 23:41:29 +00:00
florent.teppe
084207af64
Avoids a lot a special cases for ESM3 vs ESM4 cells.
2023-02-04 23:25:06 +01:00
James-Deciutiis
273a2ae323
teleporting to an underwater marked location will remove water walking spell effects from actor
...
fix formatting
addressing hasWaterWalking comment
refactor to address remaining comments
clean up formatter changes
adding suggested condition to if statement
move isWaterWalking check into if statement
refactor if block to see if actor needs to have water walking purged
added entry to changelog.md and authors.md
removing redundant check from if statement
Sort previous changelog entry
2023-02-04 11:30:37 -08:00