1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-20 11:53:53 +00:00
Commit graph

69 commits

Author SHA1 Message Date
Andrei Kortunov
11484205f5 Use constexpr to do not generate an invalid code in templates 2023-03-23 14:29:26 +04:00
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
elsid
d03bec60e9
Avoid redundant conversion from RefId to string and back 2023-03-03 15:44:19 +01:00
elsid
c03d3360d9
Remove redundant virtual modifiers, add override and final modifiers 2023-02-28 21:18:38 +01:00
elsid
a09612264c
Fix setRecordId overload declaration
To match other declarations arguments order.
2023-02-27 23:35:50 +01:00
elsid
4ed0960856
Remove redundant IdAccessor type
Use overloaded free functions instead.
2023-02-25 13:49:22 +01:00
elsid
e618026c69
Use ESM::RefId as index key in collections 2023-02-17 11:08:46 +01:00
florent.teppe
0de6b79966 Fixes issue with topic info edition.
Also future proofs reference on RefId's string.
2023-01-08 12:59:47 +01:00
florent.teppe
30a020883e Avoids unecessary copies
Fixed issue with lowerCase

Oups fixed compialtion on openMW_test_suite
2022-12-27 19:15:57 +01:00
florent.teppe
65cdd489fb create a specific esm reader function for RefID to avoid allocation for string and then again for RefId
Fixed some types

removed useless header

applied clang format

fixed compile tests

fixed clang tidy, and closer to logic before this MR

Removed hardcoded refids

unless there is a returned value we don't use static RefIds
can use == between RefId and hardcoded string

Fix clang format

Fixed a few instances where std::string was used, when only const std::string& was needed

removed unused variable
2022-12-27 19:15:57 +01:00
fteppe
20da0892ef openMW_test_suite compiles and runs
Slowly moving through the open-cs errors

Good progress in openCS

Very good progress on openCS

Getting closer with openCS

OpenCS compiles and runs! Didn't have time to test it all though

ix openMW

everything compiles on windows??

Fix gcc

Fix Clang
2022-12-27 19:15:55 +01:00
jvoisin
1a326294c0 Run IWYU on the opencs 2022-10-31 21:04:01 +01:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
Andrei Kortunov
a5b0ef0912 Avoid possible null dereference 2022-07-12 13:43:47 +04:00
Evil Eye
db1a372e5b Replace new with make_unique in opencs 2022-05-29 13:25:17 +02: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
elsid
6b7434ca69
Pass std::string_view instead of const std::string&
* Starting with Actor::getBodyPartMesh and ending with
  Misc::StringUtils::ciEqual.
* Add tests for Misc::StringUtils::ciEqual.
2021-09-09 18:39:50 +02:00
cc9cii
725d689e8a Call push_back() if inserting to the end of the vector. It seems MSVC may be generating different code compared to insert().
(copied the changes from commit SHA-1: 257126ed69)
2021-07-23 23:17:16 +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: 06f9922822)
2021-07-23 16:05:58 +10:00
cc9cii
be45092e55 Use std::unique_ptr to store records in collections, RefidCollection and RefIdData.
(copied the changes from commit 23e7e3c165)
2021-07-23 14:21:21 +10:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Stomy
71be4cdd20 Ensure Unique Instance Refnum after clone, add, or move 2019-01-21 19:30:11 +00:00
Kyle Cooley
d030b595f8 Fix potential segfault, cleanup, get rid of warnings. 2017-09-09 11:48:13 -04:00
Kyle Cooley
ab607f3028 Tweaks to land loading, land cloning, terrain signals, placeholder land update handling 2017-09-08 00:51:46 -04:00
Kyle Cooley
99e90ef808 Cleanup. Also modify ltex index generation. 2017-09-05 19:29:07 -04:00
Kyle Cooley
90c485104a Land creator 2017-09-04 01:06:58 -04:00
Kyle Cooley
1d480015b4 Add ability to touch records, LAND records in particular 2017-08-31 22:09:49 -04:00
Kyle Cooley
9e41f1340a Replace nonconst getId with setId, add template specialization and specialized derived classes for LandTexture 2017-08-31 22:09:49 -04:00
Stanislav Bas
8e6a7be6f5 Implement saving of deleted records 2015-07-19 14:58:20 +03:00
cc9cii
1220369da3 Changes as per feedback comments. 2015-04-11 11:26:29 +10:00
cc9cii
05210d7f21 Nested table support for Pathgrids. 2015-04-09 19:29:03 +10:00
cc9cii
bdf0d8db22 Re-organise the inheritance structure once more in preparation for adding Pathgrid tables. 2015-04-09 19:11:19 +10:00
cc9cii
727b68dd15 Reduce difference with the master branch where possible. 2015-03-06 19:20:50 +11:00
Marek Kochanowicz
40edf15ab0 cleaning up the code 2014-07-31 12:18:24 +02:00
Marek Kochanowicz
c6194e7ea3 inserted additional class for nested collections 2014-07-30 22:08:55 +02:00
Marek Kochanowicz
4d79034dbf correctly handling the nestedTable for undo (but removing and adding
rows in proper QT way is still TODO)
2014-07-20 18:52:35 +02:00
Marek Kochanowicz
1ff8abb240 store whole container representing the nested table inside of the
command

Static nature of C++ forced me to use templates. Bit frustraiting.
2014-07-18 18:26:22 +02:00
Marek Kochanowicz
16292bf23e removed useless todo statments. 2014-07-17 13:03:53 +02:00
Marek Kochanowicz
defd0b1754 Merge branch 'dialog-fix' into NonTableFields
TODO stop failing epicly with git
2014-06-17 14:08:59 +02:00
Marek Kochanowicz
21a1f6f4ae working on the issue 2014-06-09 10:35:39 +02:00
Marek Kochanowicz
55d451febe changes in the model (idtable) to support nested data 2014-06-02 20:41:37 +02:00
Marc Zinnschlag
53c4878d52 fix for inconsistent case in topic records 2014-03-27 10:01:42 +01:00
Marc Zinnschlag
26c2f28879 replaced global world->scene menu item with individual view context menu items in cell and reference tables 2014-03-02 22:43:44 +01:00
Marek Kochanowicz
62ea0bb066 Cleared whitespaces. 2014-01-27 19:40:05 +01:00
Marek Kochanowicz
c82db915f1 Removed needless includes 2014-01-27 19:32:51 +01:00
Marek Kochanowicz
d0b07de7ef Corrected bug mentioned by zini. 2014-01-27 16:59:18 +01:00
Marek Kochanowicz
2899f04a3f reformatting 2014-01-27 14:43:12 +01:00
Marek Kochanowicz
aa6d1ff4c3 removed needless argument for cloning 2014-01-27 13:08:14 +01:00
Marek Kochanowicz
62c2259c87 removing coordinates handling 2014-01-27 10:10:23 +01:00