1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-01 09:45:35 +00:00
openmw/apps/opencs/model/world
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.
2023-03-13 21:57:38 +01:00
..
actoradapter.cpp Use ESM::RefId for actor parts 2023-03-03 15:44:14 +01:00
actoradapter.hpp Use ESM::RefId for actor parts 2023-03-03 15:44:14 +01:00
cell.cpp Reverts Cell name to a string 2023-01-21 18:39:42 +01:00
cell.hpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
cellcoordinates.cpp Avoid redundant conversion from RefId to string and back 2023-03-03 15:44:19 +01:00
cellcoordinates.hpp Avoid redundant conversion from RefId to string and back 2023-03-03 15:44:19 +01:00
cellselection.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
cellselection.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
collection.hpp Fix loading, inserting and moving topic info records 2023-03-13 21:57:38 +01:00
collectionbase.cpp Use ESM::RefId as index key in collections 2023-02-17 11:08:46 +01:00
collectionbase.hpp Use ESM::RefId as index key in collections 2023-02-17 11:08:46 +01:00
columnbase.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
columnbase.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
columnimp.cpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
columnimp.hpp Name all custom ESM format versions and add tests 2023-02-10 19:54:15 +01:00
columns.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
columns.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
commanddispatcher.cpp Avoid redundant conversion to lower case for CommandDispatcher::mSelection items 2023-03-03 15:44:19 +01:00
commanddispatcher.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
commandmacro.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
commandmacro.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
commands.cpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
commands.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
data.cpp Fix loading, inserting and moving topic info records 2023-03-13 21:57:38 +01:00
data.hpp Fix loading, inserting and moving topic info records 2023-03-13 21:57:38 +01:00
defaultgmsts.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
defaultgmsts.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
idcollection.cpp Remove redundant IdAccessor type 2023-02-25 13:49:22 +01:00
idcollection.hpp Remove redundant IdAccessor type 2023-02-25 13:49:22 +01:00
idcompletionmanager.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
idcompletionmanager.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
idtable.cpp Avoid nested ifs 2023-03-13 11:31:16 +01:00
idtable.hpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
idtablebase.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
idtablebase.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
idtableproxymodel.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
idtableproxymodel.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
idtree.cpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
idtree.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
info.hpp Simplify InfoCollection 2023-02-15 23:10:35 +01:00
infocollection.cpp Fix loading, inserting and moving topic info records 2023-03-13 21:57:38 +01:00
infocollection.hpp Fix loading, inserting and moving topic info records 2023-03-13 21:57:38 +01:00
infoselectwrapper.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
infoselectwrapper.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
infotableproxymodel.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
infotableproxymodel.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
land.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
land.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
landtexture.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
landtexture.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
landtexturetableproxymodel.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
landtexturetableproxymodel.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
metadata.cpp Name all custom ESM format versions and add tests 2023-02-10 19:54:15 +01:00
metadata.hpp Name all custom ESM format versions and add tests 2023-02-10 19:54:15 +01:00
nestedcoladapterimp.cpp Replace ESM::RefId::sEmpty by default constructed RefId where possible 2023-02-18 01:07:15 +01:00
nestedcoladapterimp.hpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
nestedcollection.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
nestedcollection.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
nestedcolumnadapter.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
nestedidcollection.hpp Remove redundant IdAccessor type 2023-02-25 13:49:22 +01:00
nestedinfocollection.cpp Remove redundant IdAccessor type 2023-02-25 13:49:22 +01:00
nestedinfocollection.hpp Remove redundant IdAccessor type 2023-02-25 13:49:22 +01:00
nestedtableproxymodel.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
nestedtableproxymodel.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
nestedtablewrapper.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
nestedtablewrapper.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
pathgrid.cpp Add helper functions for string comparison to RefId 2023-03-03 00:39:55 +01:00
pathgrid.hpp Remove redundant IdAccessor type 2023-02-25 13:49:22 +01:00
record.cpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
record.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
ref.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
ref.hpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
refcollection.cpp Remove redundant virtual modifiers, add override and final modifiers 2023-02-28 21:18:38 +01:00
refcollection.hpp Remove redundant virtual modifiers, add override and final modifiers 2023-02-28 21:18:38 +01:00
refidadapter.cpp Changed over the remaining RefId adapters. Fixed issue where map entries were overwriting the same key... 2015-04-13 06:39:38 +10:00
refidadapter.hpp create a specific esm reader function for RefID to avoid allocation for string and then again for RefId 2022-12-27 19:15:57 +01:00
refidadapterimp.cpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
refidadapterimp.hpp Replace ESM::RefId::sEmpty by default constructed RefId where possible 2023-02-18 01:07:15 +01:00
refidcollection.cpp Use ESM::RefId as index key in collections 2023-02-17 11:08:46 +01:00
refidcollection.hpp Use ESM::RefId as index key in collections 2023-02-17 11:08:46 +01:00
refiddata.cpp create a specific esm reader function for RefID to avoid allocation for string and then again for RefId 2022-12-27 19:15:57 +01:00
refiddata.hpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
regionmap.cpp create a specific esm reader function for RefID to avoid allocation for string and then again for RefId 2022-12-27 19:15:57 +01:00
regionmap.hpp Reverts Cell name to a string 2023-01-21 18:39:42 +01:00
resources.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
resources.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
resourcesmanager.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
resourcesmanager.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
resourcetable.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
resourcetable.hpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
scope.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
scope.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
scriptcontext.cpp Use ESM::RefId as key for ScriptContext::mLocals 2023-03-03 15:44:18 +01:00
scriptcontext.hpp Use ESM::RefId as key for ScriptContext::mLocals 2023-03-03 15:44:18 +01:00
subcellcollection.hpp Remove redundant virtual modifiers, add override and final modifiers 2023-02-28 21:18:38 +01:00
tablemimedata.cpp Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
tablemimedata.hpp Promise constness 2023-01-17 02:55:03 +02:00
universalid.cpp openMW_test_suite compiles and runs 2022-12-27 19:15:55 +01:00
universalid.hpp create a specific esm reader function for RefID to avoid allocation for string and then again for RefId 2022-12-27 19:15:57 +01:00