psi29a
2f5bfb4df2
Merge branch 'fix-#7410' into 'master'
...
fix #7410
Closes #7410
See merge request OpenMW/openmw!3104
2023-06-04 11:28:26 +00:00
elsid
67e32abd4f
Add default initialization to ESM::Position members
2023-06-04 01:50:04 +02:00
florent.teppe
04e026c53f
getRecNameString now constexpr
...
getTypeDescription uses a static constexpr variable so we don't return ref to temp memory.
2023-06-03 20:28:25 +02:00
psi29a
55cd30ea3b
Merge branch 'string_ref_id_utf8' into 'master'
...
Support UTF-8 by StringRefId::toDebugString (#7407 )
Closes #7407
See merge request OpenMW/openmw!3096
2023-06-03 08:17:19 +00:00
psi29a
0bb652d7ce
Merge branch 'clickbait' into 'master'
...
Resolve Attribute GMSTs
See merge request OpenMW/openmw!3090
2023-06-02 07:30:40 +00:00
elsid
78b3f7288a
Support UTF-8 by StringRefId::toDebugString
2023-06-01 22:16:47 +02:00
Evil Eye
7b0680de5f
Resolve attribute GMST members
2023-05-31 17:02:18 +02:00
Petr Mikheev
1b669db017
Load ESM4::Tree and ESM4::Furniture
2023-05-29 18:47:27 +02:00
florent.teppe
ad8cfde4e0
ESM::LandData no longer a virtual interface
...
instead it is constructed from ESM::Land or ESM4::Land
2023-05-29 12:10:42 +02:00
fteppe
22dc383f63
fixes errors and warnings
...
Applies review comments
getWorldspaceTerrain => returns a reference because never null
crashfix in navigator
updateLandPositions fixes naming of it
const ESM4::Land* MWWorld::Store<ESM4::Land>::search(ESM::ExteriorCellLocation cellLocation) const removes useless else
ExteriorCellLocation uses default initializers
get terrain height returns -MAX_FLOAT when there is no esm4 terrain.
applied review comments
use default initlializer when possible
factorise code
uses pattern matching in for loop.
2023-05-29 12:10:42 +02:00
florent.teppe
d0211acf9e
Fixes bug in terrain loading + collision heightmap works
...
although terrain rendering is 100% broken right now
2023-05-29 11:32:13 +02:00
florent.teppe
fffcf52316
land manager cache's key is an ExteriorCellLocation
...
ESM4::Land is now a ESM::LandData
2023-05-29 11:31:37 +02:00
florent.teppe
e0fa15b727
Abstracted Land data that can be used by esm3 and esm4.
2023-05-29 11:31:37 +02:00
Evil Eye
90a3a7b62f
Add mWerewolfGMST
2023-05-28 15:28:34 +02:00
Evil Eye
a5e1c87fb8
Remove sGmstAttributeIds, sGmstAttributeDescIds, sAttributeIcons
2023-05-28 15:10:53 +02:00
unknown
14600de185
Remove sAttributeIds and sSkillIds
2023-05-27 21:54:13 +02:00
elsid
235eb65c97
Rename positionToCellIndex to match return type
2023-05-27 15:49:36 +02:00
Evil Eye
877f6747be
Deduplicate specialization code
2023-05-26 12:16:47 +02:00
Pierre Mossler
e6838cddc7
missing include in attr.cpp
2023-05-25 10:49:27 +00:00
Mads Buvik Sandvei
b791ce9132
Remove redundant qualifiers
2023-05-23 18:11:44 +02:00
Mads Buvik Sandvei
7ba43c9426
actor.ActiveEffects and actor.ActiveSpells
2023-05-23 18:11:44 +02:00
florent.teppe
a3bd6e7e47
ESM::ExteriorCellIndex => ESM::ExteriorCellLocation
2023-05-12 22:05:55 +02:00
florent.teppe
393357abc0
ESM::Cell::positionToCellIndex returns a ESM::ExteriorCellIndex
...
and takes a worldspace id as input
ESM::getCellSize takes a wordspace as input.
removed useless static in static inline funcs
2023-05-12 22:05:55 +02:00
florent.teppe
559830f59a
applies review comments
...
Removes ToLowercase after .serializeText
removed unused variable
!ptr => ptr == nullptr
better indentation + error message on throw
friend struct std::hash<...> useless on struct with all public fields.
2023-05-12 22:05:55 +02:00
florent.teppe
3d06cabf6a
indexToPosition moved from world -> esm/util.hpp
2023-05-12 22:05:55 +02:00
florent.teppe
1cf0cd5628
moved mwworld/cellutils.hpp -> esm/util.hpp
2023-05-12 22:05:54 +02:00
florent.teppe
75561abfca
Factorises code and fixes preload bug.
2023-05-12 22:05:54 +02:00
florent.teppe
141878f30d
int x, int y , ESM::RefId worldspace => ESM::ExteriorCellIndex
...
also removed the changeToExteriorCell that only took a position as input, didn't work with esm4.
2023-05-12 22:05:53 +02:00
florent.teppe
1d03b54694
maps with tuple key instead of map of map
...
instead of using a map with key as exterior and map of <int ,int >, Cell as value we use a single map with a tuple x,y,exterior as key
2023-05-12 22:05:53 +02:00
elsid
0601d7213e
Remove ESM::RefId::sEmpty
...
This variable is only required to return empty RefId as const reference. There
is no point in doing so for a type cheap to copy.
2023-04-26 21:15:16 +02:00
florent.teppe
3bbf60373a
Keep things coherent between references and and cell table
2023-04-20 10:03:34 +02:00
psi29a
70ddca78bf
Merge branch 'ref_id_print_tests' into 'master'
...
Add more tests for printing RefId and clarify some constants
See merge request OpenMW/openmw!2945
2023-04-20 07:29:05 +00:00
elsid
7db14b3392
Add more tests for printing RefId and clarify some constants
2023-04-20 02:35:14 +02:00
elsid
c97df7d770
Check FormIdRefId value in constructor
2023-04-20 02:19:05 +02:00
Petr Mikheev
00beb06391
Initial Lua bindings for ESM4 types; bindings for ESM4Door.
2023-04-20 01:47:16 +02:00
Evil Eye
97fb06d8c9
Add RefId::is
2023-04-13 17:43:13 +02:00
elsid
20129568e6
Replace VisitorCellIdIsESM3Ext with RefId::getIf function
2023-04-13 01:06:27 +02:00
Petr Mikheev
ff774d6406
Load more ESM4 records
2023-04-09 18:52:11 +02:00
Petr Mikheev
f09a689a4f
Merge ESM::RefNum and ESM4::FormId
2023-04-09 00:23:32 +02:00
elsid
bd10becb65
Use lexicographical comparison in ESM3ExteriorCellRefId::operator<
2023-04-08 16:22:01 +02:00
elsid
794050df63
Fix and add tests for ESM3ExteriorCellRefId serialization and text representation
2023-04-08 01:06:11 +02:00
florent.teppe
0d17e20490
Implements serialize/deserialize
...
fixes test compilation.
2023-04-03 18:41:25 +02:00
florent.teppe
21bd28542a
Applies review advice
...
2d coord hash moved to hash.hpp file
format version adds suffix to be more coherent
don't use ESM::RefId::sEmpty
RefId equality with string_view, conversion to refId unecessary
action teleport remove test that mCellId is empty
removes some const references, when copy is enough
invalid refid => empty refid
removes useless change
2023-04-03 14:17:35 +02:00
florent.teppe
d782d37ee2
Make sure Vec2iRefId is trivially copyable on GCC 11.3
...
std::pair<int, int> isn't trivially copyable on some compilers
so a specific struct is defined, it's an int pair, but it should be recognised by GCC 11.3 as trivially copyable
Vec2iRefId => ESM3ExteriorCellRefId
more explcit name and use mX,mY instead of pair
renamed files and enum
2023-04-03 14:17:31 +02:00
florent.teppe
4c15064a83
Create new Vec2i RefId for ESM3 exterior cells.
...
Applies the necessary changes to use !2708 for the new Id type
2023-04-03 14:17:16 +02:00
florent.teppe
c39dd576f8
Gets rid of most ESM::CellId
2023-04-03 14:16:05 +02:00
psi29a
0a791528bc
Merge branch 'fix_index_ref_id_hash' into 'master'
...
Shift record type value for IndexRefId hash
See merge request OpenMW/openmw!2885
2023-04-02 21:52:29 +00:00
elsid
171a25645a
Make sure there are tests for all RefId types
2023-04-02 15:46:21 +02:00
elsid
258aec223a
Shift record type value for IndexRefId hash
2023-04-02 15:00:03 +02:00
elsid
90ed24f4c9
Split type traits for ESM4, ESM3 and unite common
2023-03-26 19:07:23 +02:00