Commit Graph

1937 Commits (8e3576022a327c68c053f1869ff44997262aedd6)

Author SHA1 Message Date
florent.teppe 6b5d9f3344 fixes reference saving stage 2 years ago
florent.teppe 3bbf60373a Keep things coherent between references and and cell table 2 years ago
florent.teppe 69f2285a95 fix issue #7335 2 years ago
Petr Mikheev f09a689a4f Merge ESM::RefNum and ESM4::FormId 2 years ago
psi29a ebb5820dd1 Merge branch 'pathgridgraph' into 'master'
Refactor pathgrid indices to use size_t instead of int

See merge request OpenMW/openmw!2900
2 years ago
Evil Eye 8d8207b734 Refactor pathgrid indices to use size_t instead of int 2 years ago
psi29a c8f41f1c34 Merge branch 'slowfilter' into 'master'
Speedup filter in the CS

See merge request OpenMW/openmw!2901
2 years ago
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).
2 years ago
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
2 years ago
florent.teppe 53b14c8b42 fix tests
hopefully also fixes clang tidy
2 years ago
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.
2 years ago
elsid e08d1e2c87
Show skill name in CS
Instead of RefId converted to string.

Show non StringRefId in deserializable format.
2 years ago
elsid 452d1e7e49
Store original string id for Dialogue records 2 years ago
elsid 06f42ba69c
Use fixed size enum type for ESM::Dialogue::mType 2 years ago
elsid e1f580e7a0
Use static constexpr string_view for hardcoded ids 2 years ago
Andrei Kortunov 11484205f5 Use constexpr to do not generate an invalid code in templates 2 years ago
elsid 04d7781424
Support not only StringRefId for checking first person body part 2 years ago
elsid e6cf516e12
Support index RefId as pair of record type and std::uint32_t 2 years ago
elsid 0992624c8b
Support reading and writing typed ESM::RefId to ESM 2 years ago
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.
2 years ago
elsid 99069b02e4
Remove unused variable 2 years ago
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
2 years ago
Shi Han a90e3b8c3b Move from std::atoi to std::from_char 2 years ago
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.
2 years ago
elsid 899c302b14
Avoid nested ifs 2 years ago
elsid c8402c0b14
Avoid double assignment on info saving 2 years ago
elsid d03bec60e9
Avoid redundant conversion from RefId to string and back 2 years ago
elsid 191f207e78
Avoid redundant conversion to lower case for CommandDispatcher::mSelection items 2 years ago
elsid 7daef583cb
Use ESM::RefId as key for ScriptContext::mLocals 2 years ago
elsid 693f4c40f4
Use ESM::RefId as key for Data::mRefLoadCache 2 years ago
elsid 419a86f0b9
Use ESM::RefId for actor parts
To avoid redundant conversion RefId to string and back.
2 years ago
elsid 4cb095ce39
Use ESM::RefId as key for MergeReferencesStage::mIndex 2 years ago
elsid 3c9dbb11cc
Use ESM::RefId as key for SavingState::mSubRecords 2 years ago
elsid dfcea389be
Add helper functions for string comparison to RefId 2 years ago
elsid c03d3360d9
Remove redundant virtual modifiers, add override and final modifiers 2 years ago
elsid a09612264c
Fix setRecordId overload declaration
To match other declarations arguments order.
2 years ago
elsid 4ed0960856
Remove redundant IdAccessor type
Use overloaded free functions instead.
2 years ago
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.
2 years ago
psi29a d846a9fc15 Merge branch 'cs_optimize_saving' into 'master'
Fix editor saving performance

See merge request OpenMW/openmw!2741
2 years ago
elsid e618026c69
Use ESM::RefId as index key in collections 2 years ago
elsid b2299ef914
Optimize saving in editor 2 years ago
elsid 8383fa3547
Log time spent on document operations in editor 2 years ago
psi29a 18d488d968 Merge branch 'ref_id_class' into 'master'
Convert RefId to class

See merge request OpenMW/openmw!2739
2 years ago
elsid 996153f78d
Convert RefId to class 2 years ago
elsid b6a2fd8fc1
Simplify InfoCollection
There was additional logic to create topic infos index by topic id to make
getTopicInfos and removeDialogueInfos functions faster. In practice it makes
loading slower.

Move infos index by topic to CSMWorld::Data and use only on loading.
2 years ago
elsid de24cdc12c
Log content files loading time by editor 2 years ago
elsid 080700f8fe
Name all custom ESM format versions and add tests 2 years ago
Andrei Kortunov 7e2aedf637 Add an initial Qt6 support 2 years ago
psi29a 3f9cae7947 Merge branch 'dragdetails' into 'master'
[OpenMW-CS] Generate record filters based on cell content and column header

Closes #7161

See merge request OpenMW/openmw!2617
2 years ago
florent.teppe 3780033837 Reverts Cell name to a string 2 years ago