psi29a
6601b0cb15
Merge branch 'fastandloose' into 'master'
...
Drop support for --fs-strict
Closes #7394
See merge request OpenMW/openmw!3093
2023-07-02 19:24:14 +00:00
Evil Eye
73c2387708
Merge schools into skills
2023-06-26 20:42:52 +02:00
Evil Eye
bac6777fae
Reduce the number of magic numbers
2023-06-18 16:21:06 +02:00
Evil Eye
eeda48ec50
Drop support for --fs-strict
2023-06-08 21:10:09 +02:00
psi29a
25c1e6abee
Merge branch 'clickbait' into 'master'
...
Use std::array in various ESM structs
See merge request OpenMW/openmw!3103
2023-06-05 07:19:38 +00:00
Evil Eye
6b7e7acd16
Replace a number of incorrect index types
2023-06-03 16:30:35 +02:00
Evil Eye
dd83da5eba
Use std::array in FADTstruct
2023-06-03 13:11:49 +02:00
Evil Eye
8a474b9807
Use std::array in RADTstruct
2023-06-03 10:45:32 +02:00
elsid
4a8471ce78
Use original RefId to remove info from InfoOrder
2023-06-03 01:12:21 +02:00
elsid
6a3b6c6e4f
Fix handling deleted DIAL records
...
* Use composite RefId to remove INFO record of deleted DIAL record. OrderedInfo
stores original RefId while InfoCollection stores composite one.
* Do not erase deleted topic from InfoOrderByTopic map. To keep all deleted
record ids for InfoCollection::sort call to make sure reorderRowsImp is called
with correct number of indices.
2023-06-01 23:35:40 +02:00
Evil Eye
9214ffb50b
Replace some empty constructors and destructors with default
2023-05-29 13:37:19 +02:00
elsid
dc8dfe81ce
Add more details to exceptions
2023-05-25 20:56:07 +02:00
elsid
d852ac20f5
Log loading content file
2023-05-25 20:56:07 +02:00
elsid
8f47da46ec
Show magic effect name instead of IndexRefId
2023-05-22 18:02:21 +02:00
elsid
0aa569d4fe
Add UniversalId argument type to exception message on invalid access
2023-05-22 03:14:00 +02:00
elsid
292983d57a
Show UniversalId value for all argument types in reports
2023-05-22 03:14:00 +02:00
elsid
7ba397da7d
Use std::span and std::string to define UniversalId related TypeData
2023-05-22 03:14:00 +02:00
elsid
ceab7557f3
Add rudimentary support for ESM::RefId in UniversalId
...
Ideally std::string support should be removed but this may affect too much code.
2023-05-22 03:12:16 +02:00
elsid
4cd5efc6ee
Implement UniversalId with std::variant
2023-05-22 03:03:05 +02:00
elsid
f2a3462e59
Fix UniversalId constructor from ESM::RefId
2023-05-22 02:47:06 +02:00
elsid
6541ac43f5
Add UniversalId unit tests
2023-05-22 02:47:04 +02:00
florent.teppe
56cb2a83ec
removed sDefaultWorldspace, only sDefaultWorldspaceId now.
...
sDefaultWorldspaceId is a StringRefId to be able to getvalue easily.
2023-05-12 22:05:53 +02:00
florent.teppe
b5f774ae64
fixes the issues with the addons
...
the OpenCS reference's cellId uses a string to be sure it is coherent with the cell's Id type in the editor.
2023-04-21 14:55:24 +02:00
florent.teppe
3bbf60373a
Keep things coherent between references and and cell table
2023-04-20 10:03:34 +02:00
florent.teppe
69f2285a95
fix issue #7335
2023-04-20 09:55:17 +02:00
Evil Eye
8d8207b734
Refactor pathgrid indices to use size_t instead of int
2023-04-08 00:32:43 +00: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
53b14c8b42
fix tests
...
hopefully also fixes clang tidy
2023-04-03 14:17:17 +02:00
florent.teppe
c2182c2fcc
Get Rid of ESM::CellId almost everywhere
...
it was a competing concept from using RefIds for cell.
There is almost no point to it now, except to load older data.
2023-04-03 14:16:05 +02:00
elsid
e08d1e2c87
Show skill name in CS
...
Instead of RefId converted to string.
Show non StringRefId in deserializable format.
2023-04-02 18:02:18 +02:00
elsid
452d1e7e49
Store original string id for Dialogue records
2023-03-26 19:07:32 +02:00
elsid
06f42ba69c
Use fixed size enum type for ESM::Dialogue::mType
2023-03-26 19:07:25 +02:00
Andrei Kortunov
11484205f5
Use constexpr to do not generate an invalid code in templates
2023-03-23 14:29:26 +04:00
elsid
04d7781424
Support not only StringRefId for checking first person body part
2023-03-19 17:49:41 +01:00
elsid
e6cf516e12
Support index RefId as pair of record type and std::uint32_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
99069b02e4
Remove unused variable
2023-03-18 13:40:45 +01:00
psi29a
d64eea2fc6
Merge branch '7113-move-from-std-atoi-to-std-from_char' into 'master'
...
Move from std::atoi to std::from_char
Closes #7113
See merge request OpenMW/openmw!2760
2023-03-18 09:30:48 +00:00
Shi Han
a90e3b8c3b
Move from std::atoi to std::from_char
2023-03-18 09:30:48 +00:00
elsid
e892c62b10
Fix loading, inserting and moving topic info records
...
Topic info records need to have specific order defined via mNext and mPrev
fields (next and previous records). When loading multiple files a record may be
inserted into middle of the topic but neighborhood records may not be aware of
it. Having the order it's possible to move the records within one topic.
Sort the record once after loading all content files but preserve the order for
all other operations. Use std::map to group info ids by topic to make sure the
topics order is stable. Keep order within a topic for info ids on loading new
records. Use this order later for sorting the records.
2023-03-13 21:57:38 +01:00
elsid
899c302b14
Avoid nested ifs
2023-03-13 11:31:16 +01:00
elsid
d03bec60e9
Avoid redundant conversion from RefId to string and back
2023-03-03 15:44:19 +01:00
elsid
191f207e78
Avoid redundant conversion to lower case for CommandDispatcher::mSelection items
2023-03-03 15:44:19 +01:00
elsid
7daef583cb
Use ESM::RefId as key for ScriptContext::mLocals
2023-03-03 15:44:18 +01:00
elsid
693f4c40f4
Use ESM::RefId as key for Data::mRefLoadCache
2023-03-03 15:44:18 +01:00
elsid
419a86f0b9
Use ESM::RefId for actor parts
...
To avoid redundant conversion RefId to string and back.
2023-03-03 15:44:14 +01:00
elsid
dfcea389be
Add helper functions for string comparison to RefId
2023-03-03 00:39:55 +01:00
elsid
c03d3360d9
Remove redundant virtual modifiers, add override and final modifiers
2023-02-28 21:18:38 +01:00
elsid
a09612264c
Fix setRecordId overload declaration
...
To match other declarations arguments order.
2023-02-27 23:35:50 +01:00