1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-03 17:54:06 +00:00

83 Commits

Author SHA1 Message Date
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
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
Andrei Kortunov
5a4d0cec3a Use new logging system for game itself 2018-08-14 23:05:43 +04:00
Andrei Kortunov
17222eb821 Get rid of unnecessary find 2018-05-06 16:42:05 +04:00
Andrei Kortunov
1dd36329a3 Load default markers definitions (bug #4410) 2018-05-05 17:14:33 +04:00
Thunderforge
dfcd243150 Remove the word "interior" from cell not found message 2018-03-07 19:57:54 -06:00
scrawl
a708ac488e
Don't call Store::setUp() unnecessarily
Fixes a threading issue with ESM::Land store caused by calling setUp() while it's being used.
2018-02-13 00:38:55 +00:00
scrawl
29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
scrawl
25ca89b560 Avoid redundant allocations in Store::search 2017-02-23 23:28:50 +01:00
scrawl
a495b9b884 Fix wasteful allocations in Store<Land>::search 2017-02-14 07:58:16 +01:00
scrawl
325bf66653 Return const Land in ESMStore 2017-02-14 07:58:16 +01:00
MiroslavR
dafe184220 Fix moved references disappearing when modified by a plugin 2016-07-22 02:12:03 +02:00
MiroslavR
d790747389 Implement deletion of moved references (Bug #3471) 2016-07-22 01:59:02 +02:00
scrawl
f549b5fb7a Add missing include 2016-06-17 04:34:31 +02:00
scrawl
c18de84798 Fix a crash that could occur when two or more plugins move a deleted ref to another cell (Fixes #3446) 2016-06-17 02:27:49 +02:00
scrawl
07b064f616 Rename to lowerCaseInPlace 2015-12-07 22:49:15 +01:00