florent.teppe
9092c32f2e
fixed incompatibilities caused bu merge
2022-09-05 17:57:13 +02:00
florent.teppe
3cbd0e0762
Fixed naming convention
2022-09-05 17:35:36 +02:00
florent.teppe
9e40550a4a
improved readability of esm3Recname and esm4Recname
2022-09-05 17:35:36 +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
800ada37ae
removed getId public function
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
0f41ae3b53
Oups forgot an extra ; not liked by Ubuntu GCC
2022-09-05 17:35:06 +02:00
florent.teppe
ede46745b5
Fixed Linux compialtion
2022-09-05 17:35:06 +02:00
florent.teppe
0be4521291
Removed mistakenly added space
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
3b6ac53be4
Store refactoring: more forgotten storeSpecialization.hpp
2022-09-05 17:34:40 +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
a78db85178
Store refactor: frogot a specialization include
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
6467e48be8
ESMStore: greatly simplified the store declaration with a macro
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
psi29a
5815faecda
Merge branch 'font_cleanup' into 'master'
...
Revert changes in the progress bars layout
See merge request OpenMW/openmw!2366
2022-09-05 07:50:33 +00:00
Andrei Kortunov
cbe923eaa7
Revert changes in the progress bars layout
2022-09-05 10:33:26 +04:00
psi29a
52ca14d881
Merge branch 'cast_spell' into 'master'
...
Minor refactor of CastSpell
See merge request OpenMW/openmw!2365
2022-09-04 19:01:50 +00:00
Evil Eye
06d6de50e6
Remove redundant store lookups
2022-09-04 15:42:40 +02:00
Evil Eye
325081dc07
Reuse CastSpell for explosions
2022-09-04 15:09:31 +02:00
Evil Eye
8d66b2e75d
Remove redundant params
2022-09-04 14:51:19 +02:00
Evil Eye
4eafe3696c
Move explodeSpell out of World
2022-09-04 14:01:36 +02:00
psi29a
647b22e175
Merge branch 'DistantLOD' into 'master'
...
Support for TES distant LOD
See merge request OpenMW/openmw!1861
2022-09-04 11:36:07 +00:00
psi29a
84ec78f0d6
Merge branch 'multitargettransform' into 'master'
...
Read NiMultiTargetTransformController
See merge request OpenMW/openmw!2357
2022-09-04 07:45:11 +00:00
psi29a
71cafeae38
Merge branch 'i_like_to_dance_close_to_the_explosion' into 'master'
...
Always create touch explosions for non-actors
Closes #5714
See merge request OpenMW/openmw!2364
2022-09-04 07:44:23 +00:00
psi29a
10b500da82
Merge branch 'we-use-c++-11-now' into 'master'
...
Eliminate &thing[0] pattern
See merge request OpenMW/openmw!2361
2022-09-04 07:43:46 +00:00