1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-30 21:32:42 +00:00

198 Commits

Author SHA1 Message Date
myrix
88fc038ceb with mutable, without World and ESMStore interface change 2021-12-24 12:04:26 +03:00
myrix
9c7835e27f explicit instantiation error fix 2021-12-24 02:04:26 +03:00
myrix
27cc7a5172 caching dialog keyword search in Store<ESM::Dialogue> 2021-12-24 00:54:00 +03:00
myrix
3a9cfbfa53 HyperTextParser as a class with proper keyword search caching 2021-12-19 14:00:49 +03:00
Bo Svensson
6cf74f7041
refactors ESM::Land (#3213)
With this PR we reduce coupling, simplify code, encapsulate a variable and separate actual `ESM` data from its context.
2021-11-04 16:55:32 +01:00
Bo Svensson
fac84b5dd3 restores ESM::Dialogue order (#3209)
With this PR we restore the previous order of `ESM::Dialogue` entries implicitly changed by PR #3197. In the future we may want to consider additional verification and documentation of `mShared` order inconsistencies. We might additionally consider applying this sorting in the particular code that requires it.
2021-11-03 15:07:06 +01:00
Bo Svensson
4657c655b1 refactors parentFileIndices (#3211)
This PR aims to start addressing `ESM` design issues that have silenced errors we incorporated into groundcover `ESM` loading approaches.

- We move the resolution of `parentFileIndices` from `ESMStore` to `ESMReader` as suggested in a `TODO` comment.
- We improve a highly misleading comment which downplayed the significance of `parentFileIndices`.
- We document important preconditions.
- We move a user facing error message to the highest level and improve its context.
- We remove an inappropriate `setGlobalReaderList` method. We now pass this reader list into the method that requires it.
- We remove a thoroughly pointless optimisation of `Store<ESM::LandTexture>`'s construction that has unnecessarily depended on `getGlobalReaderList`.

There should be no functional changes for `master`, but this PR should remove an issue blocking PR #3208.
2021-11-03 11:07:28 +01:00
Bo Svensson
1329f22186
refactors MWWorld::Store maps (#3197)
With this PR we clean up `MWWorld::Store` maps according to the approach of PR #3184.
2021-10-30 19:27:57 +02:00
Petr Mikheev
a8acc19988 Avoid copying std::string in MWWorld::Ptr::getTypeDescription() 2021-10-12 00:18:23 +02:00
jvoisin
a6b1e38eab Don't use comma where there is no need to. 2021-08-29 14:12:14 +02:00
cc9cii
28ad139464 Check if deleted, just in case. 2021-08-21 07:20:10 +10:00
cc9cii
802a202455 Remove warning log messages as they are more suitable for OpenCS. 2021-08-19 12:45:09 +10:00
cc9cii
8244ba8957 Erase old record instead (i.e. assume an empty Pathgrid record was placed in purpose) 2021-08-19 12:31:49 +10:00
cc9cii
1d925154f2 Do not store (or worse, overwrite) empty PGRD records. Should resolve Issue #6209. 2021-08-19 12:31:49 +10:00
Bret Curtis
c99bddc8dc Revert "Move reference to the right cell according to its geographical position"
This reverts commit d0677c3f07678a5eb351572c4eb9b14b0e1f03e4.
2021-08-09 22:11:00 +02:00
Cédric Mocquillon
d0677c3f07 Move reference to the right cell according to its geographical position 2021-07-30 18:28:29 +02:00
Cédric Mocquillon
c98b0f713d If same area is defined in multiple plugin the last must wins 2021-07-28 10:29:16 +02:00
psi29a
5a434aebe0 Merge branch 'SortedStaticLands' into 'master'
Replace land static container from vector to flat_set

See merge request OpenMW/openmw!853
2021-07-26 18:29:07 +00:00
Cédric Mocquillon
7772f5111b std::set version 2021-07-26 18:30:06 +02:00
elsid
cfdbd0d471
Indicate moved cell refs explicitly
This is less error prone approach than use of MovedCellRef fields.

Also make separate functions for skipping and reading moved cell refs to avoid
passing special flags  logic and null pointers for unused arguments.
2021-07-12 18:56:42 +02:00
psi29a
3588bfcb17 Merge branch 'OpenMW_Bug6067' into 'master'
Support moved references records in any order. (Issue #6067)

See merge request OpenMW/openmw!982
2021-07-05 08:20:37 +00:00
cc9cii
6575b95448 Support moved references (i.e. with MVRF sub-records) that do not occur at the beginning of the cell references block. 2021-06-30 15:34:40 +10:00
Evil Eye
1f658209f8 Merge branch 'DoNotCopyFullDialogue' into 'master'
Do not copy full dialogue as we only want to return its id

See merge request OpenMW/openmw!856
2021-06-26 11:59:37 +00:00
psi29a
b7886bc036 Merge branch 'SpeedUpInteriorCheck' into 'master'
Speedup searching for exterior cells

See merge request OpenMW/openmw!857
2021-06-19 00:29:47 +00:00
psi29a
ae66afb219 Merge branch 'less_verbose' into 'master'
Make the code less verbose.

See merge request OpenMW/openmw!874
2021-05-18 08:30:50 +00:00
Frederic Chardon
62c7adc87b Merge branch 'no_at_boundaries' into 'master'
Don't use at() instead [] when length is checked/known

See merge request OpenMW/openmw!866
2021-05-16 11:58:14 +00:00
fredzio
c55db790f3 Make the code less verbose / more readable using for range loop and
structured binding.

No functional changes.
2021-05-16 12:42:16 +02:00
elsid
f2188d2533
Reduce temporary allocations on ESM loading
By moving objects instead of copying when possible.
2021-05-15 18:45:21 +02:00
jvoisin
690d85d0e9 Don't use at() instead [] when length is checked/known 2021-05-15 15:38:17 +02:00
fredzio
fb344d27e0 Use insert_or_assign() instead of hand rolled version. 2021-05-14 23:38:39 +02:00
CedricMocquillon
1d362029ce Do not copy full dialogue as we only want ot return its id 2021-05-13 23:02:26 +02:00
CedricMocquillon
ccaa581f39 According to the comment, an interior cell must have (0,0) but as there is an exterior cell
with these coordinates it is not sufficient but it is necessary so I added it
2021-05-13 22:29:52 +02:00
CedricMocquillon
f81be5b463 Replace land static container from vector to flat_set
I use a ordered container to fix the "is there any other way to speed this up?".
The flat_set allow to have the same locality when searching an element.
I use the is_transparent C++14 feature to avoid to create a dummy Land when searching
I use a unique_ptr to avoid to manualy manage the memory
2021-05-13 20:13:53 +02:00
fredzio
e99b61d362 Simplify the code 2021-05-06 06:15:00 +02:00
fredzio
00de540a31 Remove unused function. 2021-05-05 20:27:22 +02:00
Evil Eye
5e1960a76a Disallow inserting containers, creatures, and npcs from the save game not present in content files 2021-03-22 22:29:10 +01:00
Andrei Kortunov
8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
Andrei Kortunov
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
bzzt lost a hitlab login
26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt
d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
Andrei Kortunov
24ce242941 Implement TestCells (feature #5219) 2019-12-22 11:13:42 +04:00
Evil Eye
3d3ffdfcd8 override eraseStatic for dialogue 2019-09-21 16:24:05 +02:00
Andrei Kortunov
ab03b9ac1c Do not sort the Land store every savegame load - it is static anyway (bug #4844) 2019-05-24 08:04:20 +04:00
Andrei Kortunov
943279abbb Consider land texture with given ID and index as override for base texture with the same ID and index (bug #4736) 2019-03-11 20:19:19 +04:00
Andrei Kortunov
d23a0ce2ae Use C++11-style loops in the game world instead of iterators 2019-03-07 12:39:57 +04:00
Andrei Kortunov
0937f02598 Get rid of unnecessary string streams 2019-01-07 21:08:16 +04:00
Capostrophic
27eb64c7f0 Clean up fallback record creation again 2019-01-02 13:49:04 +03:00
Capostrophic
7155e787b4 Clean up fallback record creation 2018-12-28 01:22:24 +03:00
Capostrophic
c59513c30c Revert unnecessary case changes for fallback records 2018-12-01 17:12:27 +03:00
Capostrophic
4efe1bc892 Add prison marker record fallback definition (bug #4701) 2018-11-05 19:37:46 +03:00