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
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
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
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
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
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
Evil Eye
bd4322360d
Always create touch explosions for non-actors
2022-09-03 22:43:29 +02:00
Cédric Mocquillon
83ee25711e
Use the pattern according to the esm version
2022-09-03 18:55:06 +02:00
AnyOldName3
4e8e2e1c60
Eliminate &thing[0] pattern
2022-09-03 16:41:35 +01:00
psi29a
58d08d402a
Merge branch 'navigator_stats' into 'master'
...
Show stats for writing and reading navmesh db queue jobs
See merge request OpenMW/openmw!2346
2022-08-30 21:12:54 +00:00
Evil Eye
fb9bc5f535
Use string_view in Fallback::Map
2022-08-28 17:20:49 +02:00
Evil Eye
dfcd34372d
Use more string_view
2022-08-28 15:06:31 +02:00
elsid
c15848932b
Separate reading navigator stats and reporting
2022-08-28 14:52:34 +02:00
Evil Eye
19bd2f3c3d
Use more string_view and const string&
2022-08-27 13:07:59 +02:00
Evil Eye
ac84027b90
Unify soulgems and restore soul text
2022-08-25 21:37:20 +02:00
psi29a
c260a0d4c2
Merge branch 'string_me_along' into 'master'
...
Yet another string_view MR
See merge request OpenMW/openmw!2333
2022-08-25 08:53:28 +00:00
elsid
948e2f5db9
Do not use collision shapes with visual only collision to generate navmesh
...
These collision shapes are not used for actors movement physics simulation.
2022-08-25 00:56:03 +02:00
Evil Eye
0cded25033
Remove various string copies
2022-08-24 20:38:52 +02:00
Evil Eye
0df45a90b3
Use string_view in the remaining Class methods and push string_views closer to the MyGUI boundary
2022-08-23 22:14:27 +02:00
Evil Eye
262b29ed40
Use string_view in modifyBaseInventory
2022-08-23 16:59:03 +02:00
psi29a
1f5277349c
Merge branch 'span' into 'master'
...
Replace Misc::Span by std::span
See merge request OpenMW/openmw!2324
2022-08-22 17:34:51 +00:00
psi29a
9c24d6b390
Merge branch 'ci_starts_with' into 'master'
...
Replace ciCompareLen with ciStartsWith where possible
See merge request OpenMW/openmw!2325
2022-08-22 17:34:03 +00:00
psi29a
f1e95ad615
Merge branch 'scroll_indices' into 'master'
...
Properly transform item ID to enchantment ID
Closes #6959
See merge request OpenMW/openmw!2328
2022-08-22 17:18:15 +00:00
Evil Eye
2b9d475e50
Fix #6959
2022-08-22 17:44:49 +02:00
Evil Eye
150d1840d6
Use more string_view and const string&
2022-08-22 16:55:53 +02:00
elsid
5dc612aa54
Replace ciCompareLen with ciStartsWith where possible
...
`ciCompareLen(a, b, b.size()) == 0` expression is an equivalent of checking for
equality of `a` prefix with size `b.size()` with `b`.
`ciCompareLen(a, b, a.size()) == 0` is also the same thing but `a` is a prefix
`b` should start with.
2022-08-22 09:32:22 +02:00
elsid
e4a254deb7
Replace Misc::Span by std::span
2022-08-21 23:53:27 +02:00