1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-26 09:35:28 +00:00

1128 Commits

Author SHA1 Message Date
cc9cii
5c504e4d22 Convert the CellRef record index lookup maps to use integer keys rather than strings.
- Morrowind load over 300,000 references, so even small inefficiencies add up to longer loading times.
- std::map is used, but should try others, std::unordered_map or even std::vector

(copied the changes from commit SHA-1: 86945d19128468ad987b5bf4332602d613d25d9f)
2021-07-23 19:07:56 +10:00
cc9cii
10c6304a1f Fix typo from commit cfdbd0d471c6bac72f904f86a1bec486ca2a3822. 2021-07-23 18:12:09 +10:00
cc9cii
fc2f68a465 Change the loader's top progress bar to show total number of records processed rather than the number of files.
(copied the changes from commit SHA-1: ff072441fde05d189cb06cb44cc9c360690c2f09)
2021-07-23 17:34:27 +10:00
cc9cii
5fffcab94f Performance improvements for loading Info records.
- The order of info records with the same topic are maintained in Collection::mRecords
- The index lookup data structure are not ordered.  The topic string is hashed.  The infos for the topic are simply placed in a vector.
- The index values for appending or inserting a record takes prev/next values (if exist)
- FIXME: prev/next values are not adjusted for adding or removing records
- FIXME: undo after reordering does not reset the modified flag

(copied the changes from commit SHA-1: 06f9922822bf5a076894bce44bde37234d7ccee1)
2021-07-23 16:05:58 +10:00
cc9cii
66bda84240 Convert RefNum index map to use find().
(copied the changes from commits 68e16b6cee0f533027e1d8f1293b8a5582ac5a68 and 0de223c637d0820a97417d84796c1bfeb1836fb8)

NOTE: it is unclear how this change affects commit 61a4a0807b4ed2398b8169b477132b12a1a3a106
2021-07-23 15:30:33 +10:00
cc9cii
be45092e55 Use std::unique_ptr to store records in collections, RefidCollection and RefIdData.
(copied the changes from commit 23e7e3c165bb2631f9d8eb298f86da862e91cefa)
2021-07-23 14:21:21 +10: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
cc9cii
ae4ddd810f More dead code removal. 2021-07-06 14:45:45 +10:00
cc9cii
ec457a09c3 Fix Npc edit widget index out of bounds due to a removed column. 2021-07-06 13:45:58 +10:00
cc9cii
4b3de46bfa Use enums in place of magic numbers. Ensure Creature and NPC cell references are always saved as persistent. 2021-07-06 12:37:02 +10:00
cc9cii
47ef98ca1b Clean up RefIdData code for better legibility. 2021-06-30 10:09:56 +10:00
cc9cii
f2a301653c Remove redundant mPersistent member from ESM::NPC and ESM::Creature, replaced by mRecordFlags. Fixed the editing of the persistence flag value. 2021-06-30 08:20:29 +10:00
cc9cii
2a76634f5f Moved persistence flag from references to the header flags of referenceables (e.g. Static, Weapon, etc). Editing widget is not fully working. 2021-06-29 23:25:26 +10:00
cc9cii
f6eab52a1b Added "Persistent" column to references table. 2021-06-29 19:45:02 +10:00
cc9cii
024ad3276b Partial fix for #6017. The persistence flag of the references are saved but it is not yet possible to modify it via OpenCS. 2021-06-29 19:20:01 +10:00
Thunderforge
945f1aad20 Using override keyword in OpenMW CS
Detected by clang-tidy's modernize-use-override
2021-05-18 19:53:55 -05: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
Bret Curtis
66a527c3de
Merge pull request #3075 from akortunov/warnfix
Fix MSVC's C4244 and C4267 warnings
2021-05-14 21:28:56 +02:00
jvoisin
06ae26037f Remove some superfluous includes in the opencs 2021-05-14 10:57:31 +02:00
Andrei Kortunov
f9d42ed396 Fix MSVC's C4267 warnings 2021-05-12 10:34:39 +04:00
jvoisin
38316cdaf8 Fix various warnings found by clang
- unused alias
- inefficient use of push_back
- exceptions not inheriting from std::exception
- weird use of a comma
- value compared against itself
2021-04-17 19:06:33 +02:00
Andrei Kortunov
016a1d45df Remove outdated field - remnant from earlier implementation 2021-04-14 10:58:44 +04:00
glassmancody.info
582f7b52cf Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 2021-04-13 11:09:52 -07:00
glassmancody.info
4ba473b684 Finalize settings, torch fix 2021-04-13 11:09:49 -07:00
glassmancody.info
690995988b More formatting, OpenCS cells are unbroken 2021-04-13 11:09:35 -07:00
glassmancody.info
9d9074c244 Add shared UBO 2021-04-13 11:07:48 -07:00
Andrei Kortunov
124a33d8a3 Fix uninitialized variables 2021-04-10 10:58:00 +04:00
Nelsson Huotari
9f0f3eaeb2 Add collada to supported formats 2021-01-18 19:22:01 +02:00
psi29a
acfd2cfd90 Merge branch 'dialogclonefix' into 'master'
[OpenMW-CS] Fix cloning in info records

See merge request OpenMW/openmw!524
2021-01-11 14:13:53 +00:00
Nelsson Huotari
7196ad7455 Implement an override-value when cloning, use when cloning info records 2021-01-10 21:23:52 +02:00
Nelsson Huotari
3045d20a97 Make sure that vector isn't empty, just in case 2021-01-10 01:25:40 +02:00
Nelsson Huotari
5f1d3e0e2f Use the Topic ID of the cloned target from topicinfos 2021-01-10 01:06:23 +02:00
Andrei Kortunov
1930f8f37d Fix copy-paste error 2021-01-09 20:03:12 +04:00
Andrei Kortunov
801e2d6ad0 Avoid to use uninitialized variables 2021-01-09 13:36:40 +04:00
Alexei Dobrohotov
32601e0ae4 Properly reserve body parts for skirts (bug #5731) 2020-12-11 10:39:57 +03:00
Nelsson Huotari
61a4a0807b Load master index in refId to mContentFile, keep master index also in mIndex 2020-12-09 00:10:58 +02:00
Andrei Kortunov
8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
Nelsson Huotari
b1ea9f6a5b Strip the plugin index from refid completely 2020-10-23 20:21:34 +03:00
Nelsson Huotari
fb4250a2b7 Strip the plugin index when looking for deleted refs. 2020-10-19 15:02:10 +03:00
Andrei Kortunov
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
psi29a
8f86617262 Merge branch 'master' into 'master'
Fixed passed indexes for object deletion #5384

See merge request OpenMW/openmw!196
2020-07-10 12:10:33 +00:00
Andrei Kortunov
d0fe15b095 Use meaningful names instead of mSkill1 and mSkill2 2020-06-26 11:47:59 +04:00
Andrei Kortunov
0bb9322a69 Use default constructor for ItemFlags 2020-06-23 10:01:36 +04:00
Andrei Kortunov
2b4274bca8 Use modern Qt flag declarations 2020-06-22 18:46:45 +04:00
Giovanni Bodega
8a8b4986da Fixed passed indexes for object deletion #5384 2020-05-06 16:39:32 +01:00
Capostrophic
ad333e88fe Handle enchantment autocalc flag as a flag (bug #5363) 2020-04-11 00:03:14 +03:00
Andrei Kortunov
9712925ba3
Merge pull request #2762 from akortunov/warnfix
Avoid a hack to initialize mIndex in the editor
2020-04-06 12:32:33 +04:00
Andrei Kortunov
c7cedc4e5a Avoid a hack to initialize mIndex 2020-04-06 09:43:05 +04:00