1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-03-21 04:20:48 +00:00

196 Commits

Author SHA1 Message Date
fteppe
09d461a8cd fixed Topic selected event
Fix rebase
2022-12-27 19:15:56 +01:00
fteppe
62d8fe3fc2 changed a few hardcoded refIds used in mutliple places to be defined only once in a variable 2022-12-27 19:15:55 +01:00
fteppe
c8bb733360 removed clear() function, the only way to change the Id from the outside is from the assignment operator
replaced ciEqual with == operator
2022-12-27 19:15:55 +01:00
fteppe
ee941f9b09 RefId's mId can't be get as mutable from the outside
also removed useless operator= defintion
2022-12-27 19:15:55 +01:00
fteppe
125b21de20 Initial commit: In ESM structures, replace the string members that are RefIds to other records, to a new strong type
The strong type is actually just a string underneath, but this will help in the future to have a distinction so it's easier to search and replace when we use an integer ID

Slowly going through all the changes to make, still hundreds of errors

a lot of functions/structures use std::string or stringview to designate an ID. So it takes time

Continues slowly replacing ids. There are technically more and more compilation errors

I have good hope that there is a point where the amount of errors will dramatically go down as all the main functions use the ESM::RefId type

Continue moving forward, changes to the stores

slowly moving along

Starting to see the fruit of those changes.

still many many error, but more and more Irun into a situation where a function is sandwiched between two functions that use the RefId type.

More replacements. Things are starting to get easier

I can see more and more often the issue is that the function is awaiting a RefId, but is given a string
there is less need to go down functions and to fix a long list of them.

Still moving forward, and for the first time error count is going down!

Good pace, not sure about topics though, mId and mName are actually the same thing and are used interchangeably

Cells are back to using string for the name, haven't fixed everything yet. Many other changes

Under the bar of 400 compilation errors.

more good progress <100 compile errors!

More progress

Game settings store can use string for find, it was a bit absurd how every use of it required to create refId from string

some more progress on other fronts

Mostly game settings clean

one error opened a lot of other errors. Down to 18, but more will prbably appear

only link errors left??

Fixed link errors

OpenMW compiles, and launches, with some issues, but still!
2022-12-27 19:15:54 +01:00
Evil Eye
e6592aa850 Add key flag on load 2022-09-30 12:16:45 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
Project579
e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2022-09-11 14:41:15 +02:00
ζeh Matt
c856095562
Use compile time generated indices for tuples types 2022-09-08 03:38:07 +03:00
florent.teppe
31a14952b7 no more getIdType, only setIdType 2022-09-07 18:45:15 +02:00
florent.teppe
e961ac6f7c function doesn't need to return int 2022-09-06 23:30:51 +02:00
florent.teppe
b1d5d604be various fixes
fixed naming convention
replaced std::string by string_view when possible
removed unused function and member varaible
replaced type::value by type_v
set default destructor in cpp
function getTypeIndex => getnextindex
2022-09-06 23:10:58 +02:00
florent.teppe
564c5d6690 fixed naming convention issue 2022-09-06 14:27:53 +02:00
florent.teppe
e23d9c11a8 moved a bit of code back in the header to avoid many template specialization 2022-09-06 14:19:55 +02:00
florent.teppe
0dd529ab1d With the records include removed from store.hpp, need to include the relevant files accross the codebase.Lots of touched files, but very little done 2022-09-06 13:26:13 +02:00
florent.teppe
4bb9a4166d The tuple types declaration is back in the header, but there is no need for implementation details to be known for any of the types 2022-09-05 18:38:59 +02:00
florent.teppe
57df51b4a6 fixed made by @ZehMatt in 6abb96250fb750a71cf05e7684ac6abf0a22c75d and cdcf1393fcab8521644feede483316f3b3d352b0 2022-09-05 18:04:10 +02:00
florent.teppe
9092c32f2e fixed incompatibilities caused bu merge 2022-09-05 17:57:13 +02:00
florent.teppe
1ed22a298d fix compile 2022-09-05 17:35:36 +02:00
florent.teppe
7bd7105345 code cleanup 2022-09-05 17:35:36 +02:00
florent.teppe
33ea66b86d Type index type error fixed 2022-09-05 17:35:36 +02:00
florent.teppe
85a9edf2ee removes useless make_tuple, and changes type of typeIndex to size_t 2022-09-05 17:35:36 +02:00
florent.teppe
31330c9abc oups 2022-09-05 17:35:36 +02:00
florent.teppe
cbb9b65286 linux compile 2022-09-05 17:35:36 +02:00
florent.teppe
ee06cccbe1 gets rid of the macros, we use a tuple instead, with a mechanism to assign an index to each type.
so the tuple is only defined in the cpp, but we can still have template functions in the header that can ge tthe index with the type
2022-09-05 17:35:36 +02:00
florent.teppe
16482243fa rename StoreBase =>DynamicStore, and create new class Storebase
all stores inherit from base class StoreBase.Storebase is just an empty interface class
2022-09-05 17:35:36 +02:00
florent.teppe
0d84b32d46 Rename member to be clearer and more generic 2022-09-05 17:35:35 +02:00
florent.teppe
0d7bd19119 removes recname type, we use what is already included in ESM types 2022-09-05 17:35:35 +02:00
florent.teppe
bff4096652 Removed macro that didn't serve any real purpose
Renamed member that didn't respect the naming convention
2022-09-05 17:35:35 +02:00
florent.teppe
78ba3f91f3 Binds at compile time esm struct and RecNameInts to automatically populate mESM3RecordToStore
fewer possible mistakes now, one macro takes all the information to create all the stores and maps from RecName to Store
2022-09-05 17:35:35 +02:00
florent.teppe
a7207a9220 Linux compilation 2022-09-05 17:35:35 +02:00
florent.teppe
59ebee634b Very convincing experiment, by associatingg a compiletime index to the esm record, it becomes possible to automate the loop that creates them
it will also be possible to associate AT COMPILETIME the RecNameInt to the esm type, which in the same manner will automatically populate mESM3RecordToStore
2022-09-05 17:35:35 +02:00
florent.teppe
252550d86f Added records for ESM4s the throw std:: logic error ensures at compile time that there is no collision
static_assert doesn't work because the function can be called at run time
2022-09-05 17:35:35 +02:00
florent.teppe
0967c11128 mids and mStaticIds moved to mStoreImp
renamed recordid to storeid
2022-09-05 17:35:35 +02:00
florent.teppe
87224e3007 Fixes a bug with es3overrideRecord, esm3InsertStatic and esm3StoreInsert
This also comes with a change to the mapping from esm3 record name to Store to be more direct with a pointer
and the creation of a map from store pointer to esm3 record type
2022-09-05 17:35:07 +02:00
florent.teppe
dbfbad575b Fixes GCC compilation, hopefully for good 2022-09-05 17:35:07 +02:00
florent.teppe
30549155e0 Removed extra ; that GCC didn't like (fixes pendantic warning treated as error) 2022-09-05 17:35:07 +02:00
florent.teppe
c41c67b461 Fixed naming convention problems
removed 2 macros.
 - One is replaced by the underlying code
 - The second one ise replaced by a template function

removed tabulation used as indentation
used getWritable instead of a const_cast
used for( val : cont) loop
removed useless getId function
2022-09-05 17:35:07 +02:00
florent.teppe
ede46745b5 Fixed Linux compialtion 2022-09-05 17:35:06 +02:00
florent.teppe
1ced0c912e partially revert "Store: moved all the template specialization to its own heaper file, included where it's needed"
This reverts commit 80a25bcd3021f7ebfaf2f864e34532009b9b8aeb.
It didn't really make sense to do all those changes in the same MR

partially Revert "Store refactoring: more forgotten storeSpecialization.hpp"

This reverts commit 9943a5bc96b9025f06cbaac5bb7f1bf51ebc746f.

removed remaining references to storeSpecialization  CMakeLists.txt,  and landmanager.cpp
2022-09-05 17:35:06 +02:00
florent.teppe
5ee3cfed57 There is one less necessary macro, it was possible to make a template function that works for all StoreBase stores 2022-09-05 17:34:40 +02:00
florent.teppe
1ed2244298 Store refactor: Now way easier to create new stores, a good chunk of it is automated, only simple macros are used now
The case of indexedStores remains an issue, because they can't be stored with the rest because they don't inherit of store base
2022-09-05 17:34:40 +02:00
florent.teppe
ae24d62f27 ESM store: new structure that associates each record type to an id, will make it easier to add new stores 2022-09-05 17:34:40 +02:00
florent.teppe
3a62ef3a99 Store added storespecialization to cmakelist, and removed the captial first letter 2022-09-05 17:34:40 +02:00
florent.teppe
0d85e7db7d Store: moved all the template specialization to its own heaper file, included where it's needed
in the esm store a function is defined in the cpp file to not rely on the knowledge of store.hpp in the header file
2022-09-05 17:34:22 +02:00
florent.teppe
0a0b301cc4 ESM Store: no more automatic function implementation that suppose a mId member
All the ESM3 store will continue to work the same, used a macro to quickly define the different functions
2022-09-05 17:33:17 +02:00
florent.teppe
db2b4600aa ESM Store: removed a lot of declarations that became useless
the default implementation of the template<> get() threw a reuntime error, when it is a compile time issue
now all the implementations are in the cpp file
2022-09-05 17:32:56 +02:00
florent.teppe
a4c1bff03d ESMStore: no longer necessary to include the type definitions in the header
For now there still needs to declare all the getters, but a macro may make that easier, or an different method entierly
2022-09-05 17:32:56 +02:00
Evil Eye
de51525c76 Allow string_view lookups in MWWorld::Store and get some use out of that 2022-08-09 20:43:14 +02:00
psi29a
ede09309a6 Merge branch 'groundcover_progress' into 'master'
Show groundcover loading progress

See merge request OpenMW/openmw!1978
2022-06-22 13:02:22 +00:00