1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-21 06:23:53 +00:00
Commit graph

1967 commits

Author SHA1 Message Date
Evil Eye
cd8f2355c0 Only allow StringRefId for Skill ids 2023-07-14 17:33:32 +02:00
Evil Eye
967b5d205b Use StringRefId for skills 2023-07-13 18:55:22 +02:00
Evil Eye
ac9378fa08 Replace Skill::mIndex with Skill::refIdToIndex 2023-07-13 18:55:21 +02:00
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
7be005c9a5 Use std::array in CLDTstruct 2023-06-03 11:58:09 +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
63e01d86a3
Use string based UniversalId to check script for blacklist
Blacklist is a vector of strings and isBlacklisted internally calls getId which
throws exception for RefId based UniversalId.
2023-05-22 03:14:00 +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
psi29a
83203ae4d9 Merge branch 'minor_header_cleanup_clion' into 'master'
Minor header cleanup

See merge request OpenMW/openmw!2991
2023-05-01 10:46:55 +00:00
jvoisin
c7a3f43915 Minor header cleanup
This has been done via CLion's "unused include directive",
set to "detect completely unused".
2023-04-30 16:26:03 +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
6b5d9f3344 fixes reference saving stage 2023-04-20 10:03:35 +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
Petr Mikheev
f09a689a4f Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
psi29a
ebb5820dd1 Merge branch 'pathgridgraph' into 'master'
Refactor pathgrid indices to use size_t instead of int

See merge request OpenMW/openmw!2900
2023-04-08 00:32:43 +00:00
Evil Eye
8d8207b734 Refactor pathgrid indices to use size_t instead of int 2023-04-08 00:32:43 +00:00
psi29a
c8f41f1c34 Merge branch 'slowfilter' into 'master'
Speedup filter in the CS

See merge request OpenMW/openmw!2901
2023-04-07 16:50:47 +00:00
fredzio
8717e8e487 Create the QRegularExpression in the TextNode constructor instead of for
each row in the filtered table.
On a table of more than 1M entries it speeds up filtering almost tenfold (from 35s to 4s).
2023-04-07 15:34:26 +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
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
elsid
e1f580e7a0
Use static constexpr string_view for hardcoded ids 2023-03-26 15:21:49 +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