florent.teppe
3d06cabf6a
indexToPosition moved from world -> esm/util.hpp
2023-05-12 22:05:55 +02:00
florent.teppe
1cf0cd5628
moved mwworld/cellutils.hpp -> esm/util.hpp
2023-05-12 22:05:54 +02:00
florent.teppe
75561abfca
Factorises code and fixes preload bug.
2023-05-12 22:05:54 +02:00
florent.teppe
5648e03e9e
function to get cellsize depending on the context.
2023-05-12 22:05:54 +02:00
florent.teppe
93b3d9238c
mWater level disabled for skyrim.
2023-05-12 22:05:54 +02:00
florent.teppe
3de08e654f
Better handling of water levels for exterior cells.
...
Especially for skyrim and it's weird water level values in exteriors.
If we don't have a valid exterior water level we use the world's water level
2023-05-12 22:05:54 +02:00
florent.teppe
56cb2a83ec
removed sDefaultWorldspace, only sDefaultWorldspaceId now.
...
sDefaultWorldspaceId is a StringRefId to be able to getvalue easily.
2023-05-12 22:05:53 +02:00
florent.teppe
141878f30d
int x, int y , ESM::RefId worldspace => ESM::ExteriorCellIndex
...
also removed the changeToExteriorCell that only took a position as input, didn't work with esm4.
2023-05-12 22:05:53 +02:00
florent.teppe
1d03b54694
maps with tuple key instead of map of map
...
instead of using a map with key as exterior and map of <int ,int >, Cell as value we use a single map with a tuple x,y,exterior as key
2023-05-12 22:05:53 +02:00
florent.teppe
d8a782425b
can actually load and teleport to esm4 exterior spaces
2023-05-12 22:05:53 +02:00
florent.teppe
a62e75fd19
Initial attempt at loading esm4 exteriors
2023-05-12 22:05:52 +02:00
jvoisin
0270cfb733
Merge branch 'throw_with_more_info' into 'master'
...
show which file is not found
See merge request OpenMW/openmw!3011
2023-05-10 21:40:04 +00:00
Bret Curtis
95fff7b77b
show which file is not found
2023-05-10 21:43:55 +02:00
Elias Howell
bf8fafa79a
fixed some typos and spelling errors
2023-05-09 20:07:08 -04:00
elsid
258ae9d98e
Add settings index to provide lookup by category and name
2023-05-03 22:11:44 +02:00
psi29a
cdc753df70
Merge branch 'lua_refactoring' into 'master'
...
MWLua refactoring
See merge request OpenMW/openmw!2956
2023-05-02 19:48:21 +00:00
jvoisin
c7a3f43915
Minor header cleanup
...
This has been done via CLion's "unused include directive",
set to "detect completely unused".
2023-04-30 16:26:03 +02:00
elsid
0601d7213e
Remove ESM::RefId::sEmpty
...
This variable is only required to return empty RefId as const reference. There
is no point in doing so for a type cheap to copy.
2023-04-26 21:15:16 +02:00
Petr Mikheev
4562b8c06b
Add headers for all .cpp
files in mwlua; move packages initilaization from LuaManager to luabindings.cpp
2023-04-25 23:24:51 +02:00
Petr Mikheev
c362b2efa6
Use LuaUtil::cast for casting sol::object to prevent crashing on type mismatch in Lua scripts.
2023-04-25 22:11:04 +02:00
Petr Mikheev
61578ca39b
Add function LuaUtil::cast
2023-04-25 21:51:05 +02:00
psi29a
957318d0b9
Merge branch 'remove_cruft' into 'master'
...
remove boost::locale::conv
See merge request OpenMW/openmw!2970
2023-04-25 16:06:55 +00:00
psi29a
50bd6cf263
remove boost::locale::conv
2023-04-25 16:06:55 +00:00
Bret Curtis
0db31207dc
remove remaining boost::filesystem cruft
2023-04-25 16:15:04 +02:00
elsid
35f4bcd31e
Run openmw_settings_access_benchmark in CI
...
Add benchmarks to access 2 and 3 settings. Use settings with max memory address
distance assuming Settings::Values is single memory location object.
Use settings-default.cfg from the source code repository to initialize settings.
2023-04-24 22:30:49 +02:00
elsid
0a678224cd
Add category to error message
2023-04-24 20:27:11 +02:00
elsid
05d09d9927
Fix msvc warning
2023-04-24 11:37:54 +02:00
elsid
8e487c283c
Store default settings values
2023-04-22 21:02:13 +02:00
Tetramir
6936c3a1c8
Merge branch 'fix_esm4' into 'master'
...
Fix regressions in ESM4 reader caused by !2902
See merge request OpenMW/openmw!2957
2023-04-22 18:16:06 +00:00
Petr Mikheev
7b6f0cefb9
Fix regressions in ESM4 reader caused by !2902
2023-04-22 17:07:54 +02:00
elsid
7a7c20d49e
Define single UpdateGuard type in a separate file
2023-04-22 13:22:07 +02:00
elsid
472a36d92a
Cleanup detournavigator includes
2023-04-22 13:21:59 +02:00
elsid
2cbbdc2879
Add missing files to components/detournavigator list
2023-04-21 15:36:54 +02:00
florent.teppe
3bbf60373a
Keep things coherent between references and and cell table
2023-04-20 10:03:34 +02:00
psi29a
70ddca78bf
Merge branch 'ref_id_print_tests' into 'master'
...
Add more tests for printing RefId and clarify some constants
See merge request OpenMW/openmw!2945
2023-04-20 07:29:05 +00:00
elsid
7db14b3392
Add more tests for printing RefId and clarify some constants
2023-04-20 02:35:14 +02:00
elsid
c97df7d770
Check FormIdRefId value in constructor
2023-04-20 02:19:05 +02:00
Petr Mikheev
3546d2b3e5
Make Store<ESM4::Reference> to use FormId instead of RefId
2023-04-20 01:47:16 +02:00
Petr Mikheev
00beb06391
Initial Lua bindings for ESM4 types; bindings for ESM4Door.
2023-04-20 01:47:16 +02:00
elsid
b8525e8e3d
Fix code format
2023-04-18 20:23:03 +02:00
psi29a
ed4e75df65
Merge branch 'fix_includes' into 'master'
...
Add missing and remove redundant includes
See merge request OpenMW/openmw!2938
2023-04-18 11:46:52 +00:00
fall-leaf
cc7e29c9a2
opensuse build fix
2023-04-17 23:40:15 +03:00
elsid
b33d12b8e1
Add missing and remove redundant includes
2023-04-17 22:02:36 +02:00
Evil Eye
97fb06d8c9
Add RefId::is
2023-04-13 17:43:13 +02:00
elsid
20129568e6
Replace VisitorCellIdIsESM3Ext with RefId::getIf function
2023-04-13 01:06:27 +02:00
elsid
8f84431840
Do not initialize settings storage for editor
2023-04-10 21:29:56 +02:00
elsid
bdc2eb5250
Check only original default settings
...
When more than 1 user config layers are used we still want to check only the
first layer of default settings loaded from settings-default.cfg.
2023-04-10 15:38:39 +02:00
psi29a
ad25e9b154
Merge branch 'settings_storage' into 'master'
...
Typed settings storage (#6876 )
See merge request OpenMW/openmw!2651
2023-04-10 10:36:15 +00:00
Petr Mikheev
ff774d6406
Load more ESM4 records
2023-04-09 18:52:11 +02:00
Petr Mikheev
f09a689a4f
Merge ESM::RefNum and ESM4::FormId
2023-04-09 00:23:32 +02:00
elsid
bd10becb65
Use lexicographical comparison in ESM3ExteriorCellRefId::operator<
2023-04-08 16:22:01 +02:00
psi29a
ebb5820dd1
Merge branch 'pathgridgraph' into 'master'
...
Refactor pathgrid indices to use size_t instead of int
See merge request OpenMW/openmw!2900
2023-04-08 00:32:43 +00:00
Evil Eye
8d8207b734
Refactor pathgrid indices to use size_t instead of int
2023-04-08 00:32:43 +00:00
elsid
794050df63
Fix and add tests for ESM3ExteriorCellRefId serialization and text representation
2023-04-08 01:06:11 +02:00
psi29a
aad9ce53db
Merge branch 'esm4_gmst' into 'master'
...
Support loading ESM4 GMST records
See merge request OpenMW/openmw!2892
2023-04-04 09:51:02 +00:00
elsid
dbed00842e
Split components/esm4/common.hpp header
2023-04-04 10:12:20 +02:00
elsid
87ac85223a
Support loading ESM4 GMST records
2023-04-04 09:59:35 +02:00
florent.teppe
0d17e20490
Implements serialize/deserialize
...
fixes test compilation.
2023-04-03 18:41:25 +02:00
florent.teppe
21bd28542a
Applies review advice
...
2d coord hash moved to hash.hpp file
format version adds suffix to be more coherent
don't use ESM::RefId::sEmpty
RefId equality with string_view, conversion to refId unecessary
action teleport remove test that mCellId is empty
removes some const references, when copy is enough
invalid refid => empty refid
removes useless change
2023-04-03 14:17:35 +02:00
florent.teppe
d782d37ee2
Make sure Vec2iRefId is trivially copyable on GCC 11.3
...
std::pair<int, int> isn't trivially copyable on some compilers
so a specific struct is defined, it's an int pair, but it should be recognised by GCC 11.3 as trivially copyable
Vec2iRefId => ESM3ExteriorCellRefId
more explcit name and use mX,mY instead of pair
renamed files and enum
2023-04-03 14:17:31 +02:00
florent.teppe
53b14c8b42
fix tests
...
hopefully also fixes clang tidy
2023-04-03 14:17:17 +02:00
florent.teppe
4c15064a83
Create new Vec2i RefId for ESM3 exterior cells.
...
Applies the necessary changes to use !2708 for the new Id type
2023-04-03 14:17:16 +02:00
florent.teppe
1e0c3bfdec
fixes integration tests
...
we still want to be able to write using old formats
2023-04-03 14:16:32 +02:00
florent.teppe
f99e65843a
Removes most cellId.hpp include, simplifies id generation for cells.
2023-04-03 14:16:32 +02:00
florent.teppe
c2182c2fcc
Get Rid of ESM::CellId almost everywhere
...
it was a competing concept from using RefIds for cell.
There is almost no point to it now, except to load older data.
2023-04-03 14:16:05 +02:00
florent.teppe
fb6701ac1a
ESM::CellId is no longer stored on saves.
2023-04-03 14:16:05 +02:00
florent.teppe
c39dd576f8
Gets rid of most ESM::CellId
2023-04-03 14:16:05 +02:00
florent.teppe
6895a452ef
restores the concept of worldspace for MWWorld::Cell
2023-04-03 14:16:04 +02:00
florent.teppe
9f597ecfea
No more Cellid used by ESM4 cells
...
and that also means it is no longer used by MWWorld::Cell
fixes tests
2023-04-03 14:16:04 +02:00
florent.teppe
3f678c3b0a
Dest Door and teleport use ESM::RefId
...
This changes a lot of files as a consequence.
Still buggy, moving to exterior doesn't bring to the right place yet
coc "seyda neen" doesn't work. SO I broke somehting when fetching a cell from a name
2023-04-03 14:16:03 +02:00
florent.teppe
36502eaf75
ESM3 Cells have an Id.
...
Store<ESM::Cell> is updated to use it.
2023-04-03 14:16:03 +02:00
Andrei Kortunov
8c6616214b
Remove redundant quotes
2023-04-03 11:28:03 +04:00
psi29a
ee970db9e0
Merge branch 'player_cell_id_test' into 'master'
...
Test more ESM::Player records
See merge request OpenMW/openmw!2888
2023-04-02 22:41:36 +00:00
psi29a
0a791528bc
Merge branch 'fix_index_ref_id_hash' into 'master'
...
Shift record type value for IndexRefId hash
See merge request OpenMW/openmw!2885
2023-04-02 21:52:29 +00:00
elsid
9162eaa019
Test more ESM::Player records
2023-04-02 19:58:27 +02:00
elsid
171a25645a
Make sure there are tests for all RefId types
2023-04-02 15:46:21 +02:00
elsid
258aec223a
Shift record type value for IndexRefId hash
2023-04-02 15:00:03 +02:00
Mads Buvik Sandvei
e666f36b60
[Multiview] Fix transparent pass and vertex shader
2023-04-01 20:27:07 +00:00
psi29a
1a1f983930
Merge branch 'omwscripts_in_launcher' into 'master'
...
Support adding Lua mods in subdirectories in the launcher
See merge request OpenMW/openmw!2874
2023-03-31 17:53:55 +00:00
psi29a
119163e74b
Merge branch 'fixemptycollisioncrash' into 'master'
...
Make empty collision shape for objects without any triangles.
Closes #7077
See merge request OpenMW/openmw!2871
2023-03-30 21:47:35 +00:00
psi29a
0c074990ce
Merge branch 'fix_lazy_load_skyrim' into 'master'
...
Fix lazy load skyrim
See merge request OpenMW/openmw!2861
2023-03-30 21:42:55 +00:00
uramer
ee1551f02c
Merge branch 'l10n' into 'master'
...
Dehardcode non-game-specific localization GMSTs
See merge request OpenMW/openmw!2855
2023-03-30 19:35:40 +00:00
fredzio
37c4587ca4
Display directories that contains omwscripts.
...
Display newly added omwscripts as new.
2023-03-30 21:32:01 +02:00
unelsson
3d4da02b18
Don't mess around with btEmptyShape. Use nullptr instead.
2023-03-28 23:54:26 +03:00
elsid
3e99deb0e8
Use typed settings storage for detournavigator
2023-03-28 20:47:34 +02:00
elsid
db7d0adfe8
Define settings values based on documentation
...
Using docs/source/reference/modding/settings/*.rst and
files/settings-default.cfg files content.
2023-03-28 20:47:34 +02:00
elsid
3bad40153c
Define typed settings storage with single time initialization
...
To make sure loaded settings have valid values doing the check once per loading.
And to make access more efficient.
2023-03-28 20:47:34 +02:00
florent.teppe
a3a7767093
applies review changes
...
filepos changed to an actual file pos
moved lambda declaration out of function call
2023-03-28 17:11:30 +02:00
florent.teppe
464092e323
fix oblivion and skyrim
2023-03-28 17:11:30 +02:00
florent.teppe
34dd24b261
Initial changes to detect when context isn't usable
2023-03-28 17:11:30 +02:00
unelsson
0a1af644af
Make empty collision shape for objects without any triangles.
2023-03-28 16:12:23 +03:00
psi29a
cd6413c060
Merge branch 'fix_dialogue_title' into 'master'
...
Show original dialogue name
See merge request OpenMW/openmw!2862
2023-03-26 21:44:45 +00:00
Petr Mikheev
0769e3daf0
Fix #7294 (launcher creates new contentlist everytime)
2023-03-26 20:12:20 +02:00
elsid
452d1e7e49
Store original string id for Dialogue records
2023-03-26 19:07:32 +02:00
elsid
06f42ba69c
Use fixed size enum type for ESM::Dialogue::mType
2023-03-26 19:07:25 +02:00
elsid
4716583f3e
Set ESM::Dialogue::mType on blank and skip load
2023-03-26 19:07:25 +02:00
elsid
90ed24f4c9
Split type traits for ESM4, ESM3 and unite common
2023-03-26 19:07:23 +02:00
elsid
d5954aba68
Add suffix to the format version name
2023-03-26 15:21:25 +02:00
Petr Mikheev
618b912a20
Dehardcode non-game-specific localization GMSTs; Update l10n files.
2023-03-26 13:43:44 +02:00
psi29a
8f80895b59
Merge branch 'build_fix' into 'master'
...
Add missing include
See merge request OpenMW/openmw!2860
2023-03-26 11:09:47 +00:00
Andrei Kortunov
e1bee039ac
Add missing include
2023-03-26 11:31:25 +04:00
elsid
b7fdca0fe6
Use serialized ESM::RefId for Lua records
2023-03-25 18:19:46 +01:00
elsid
cd4027ffd6
Do not use ESM::RefId::getRefIdString for spell id
2023-03-24 01:57:35 +01:00
psi29a
9a20193eb5
Merge branch 'savedgamecell' into 'master'
...
Fix cell name format in save menu
See merge request OpenMW/openmw!2853
2023-03-23 18:53:15 +00:00
Evil Eye
54d6fb29c2
Don't store a save's cell name as a RefID
2023-03-22 22:57:52 +01:00
psi29a
db1b260323
Merge branch 'gmst_l10n' into 'master'
...
Support links to GMSTs in l10n files; extract Morrowind-specific l10n files to a separate directory
See merge request OpenMW/openmw!2822
2023-03-22 20:47:53 +00:00
psi29a
1741a06cd1
Merge branch 'launcher_log' into 'master'
...
Setup launcher configuration manager and logging before initializing UI
See merge request OpenMW/openmw!2851
2023-03-22 09:19:25 +00:00
elsid
9815f930d9
Setup launcher configuration manager and logging before initializing UI
2023-03-21 21:29:57 +01:00
elsid
d1e8e56619
Make QuickKey type a fixed size enum class
2023-03-21 20:53:04 +01:00
elsid
eb79b29512
Use ranged for loop
2023-03-21 20:45:49 +01:00
elsid
2135eba103
Fix loading ESM3 QuickKeys
2023-03-21 20:44:42 +01:00
elsid
0b852edc7f
Remove redundant inline
2023-03-21 09:34:27 +01:00
elsid
8dd6b16fee
Avoid double lookup
2023-03-21 09:34:26 +01:00
elsid
04d7781424
Support not only StringRefId for checking first person body part
2023-03-19 17:49:41 +01:00
elsid
e6cf516e12
Support index RefId as pair of record type and std::uint32_t
2023-03-19 17:20:48 +01:00
elsid
86293af084
Support generated RefId as std::uint64_t
2023-03-19 17:20:48 +01:00
elsid
0992624c8b
Support reading and writing typed ESM::RefId to ESM
2023-03-19 17:20:48 +01:00
elsid
069d4255b9
Make ESM::RefId to be fixed size cheap to copy
...
Use std::variant. Store refId strings in unordered_set and use pointer to an
item there. Inserts to unordered_set do not invalidate pointers to values so the
pointer is always valid. Elements are not removed. Assume there is finite number
of string refIds.
2023-03-19 17:20:43 +01:00
elsid
3a0443c472
Make constexpr Misc::NotNullptr member functions
2023-03-18 16:36:26 +01:00
psi29a
d64eea2fc6
Merge branch '7113-move-from-std-atoi-to-std-from_char' into 'master'
...
Move from std::atoi to std::from_char
Closes #7113
See merge request OpenMW/openmw!2760
2023-03-18 09:30:48 +00:00
Shi Han
a90e3b8c3b
Move from std::atoi to std::from_char
2023-03-18 09:30:48 +00:00
psi29a
9664a57cad
Merge branch 'esmtool_strings' into 'master'
...
Use relative to content file path to find strings file
See merge request OpenMW/openmw!2837
2023-03-18 09:14:54 +00:00
elsid
67e96d48ba
Use relative to content file path to find strings file
...
To be used by esmtool when VFS is not used.
2023-03-18 03:00:18 +01:00
elsid
83d212fe0f
Use SFINAE to avoid conflicts between visit functions
2023-03-17 23:37:11 +01:00
psi29a
a60f657f5a
Merge branch 'fast_cell4_load' into 'master'
...
Lazy loading of ESM4::reference
See merge request OpenMW/openmw!2804
2023-03-17 21:46:37 +00:00
psi29a
2ff4a5a11a
Merge branch 'cs_fix_info_collection' into 'master'
...
Fix loading, inserting and moving topic info records
See merge request OpenMW/openmw!2806
2023-03-17 14:40:05 +00:00
Petr Mikheev
0b385d5db9
Create MWWorld::SafePtr
2023-03-13 23:44:00 +01:00
elsid
e032214fcb
Use common info ordering implementation for engine and editor
2023-03-13 21:57:41 +01: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
psi29a
9b184a1698
Merge branch 'loadammo' into 'master'
...
Updates to ESM4::Ammunition loading
See merge request OpenMW/openmw!2830
2023-03-13 09:34:31 +00:00
Alexei Dobrohotov
3d87bc185d
Updates to ESM4::Ammunition loading
2023-03-13 01:36:07 +03:00
psi29a
e37860c1dc
Cherry pick 'openmw-48-stereo-fixes' into 'master'
...
Openmw 48 stereo fixes
See merge request OpenMW/openmw!2815
2023-03-12 22:20:23 +01:00
Petr Mikheev
58fdd687a8
Support links to GMST in l10n files
2023-03-12 13:12:13 +01:00
psi29a
efebb8efd8
Merge branch 'cmake_fixes' into 'master'
...
Formatting and coverage related CMake files fixes
See merge request OpenMW/openmw!2811
2023-03-12 11:03:06 +00:00
elsid
1cc4909144
Add --coverage to components_qt, benchmarks and openmw-cs
2023-03-10 21:36:12 +01:00
elsid
1857d8a68c
Use target_compile_options to add --coverage
2023-03-10 15:34:08 +01:00
elsid
cc066efa11
Fix identation in CMakeLists.txt
2023-03-10 15:28:06 +01:00
florent.teppe
170b732854
readers cache keep a stateless encoder
...
to keep access to the current encoding configuration
build linux
2023-03-10 12:39:47 +01:00
psi29a
ff7a098e74
Merge branch 'justbenormal' into 'master'
...
Unify collision shape transformations
See merge request OpenMW/openmw!2808
2023-03-10 07:51:01 +00:00
psi29a
b9f1d5d4e7
Merge branch 'seventeenth-times-the-charm' into 'master'
...
Fix #7264
Closes #7264
See merge request OpenMW/openmw!2805
2023-03-10 07:21:07 +00:00
Alexei Dobrohotov
562461a659
Unify collision shape transformations
2023-03-10 00:12:12 +03:00
psi29a
eca26e8b18
Merge branch 'Support-BA2-file-format' into 'master'
...
Support ba2 file format
See merge request OpenMW/openmw!2787
2023-03-08 22:00:43 +00:00
Alexei Dobrohotov
2277bdc1ae
Improve btTriangleMesh abuse (bug #6027 , part 2)
2023-03-08 06:13:32 +03:00
AnyOldName3
ccdb1bf6b7
Ensure shader requirements are pushed at least once for subgraph
...
Shaders, if deemed necessary, get attached to the node mentioned by the
top of the requirements stack. Previously an empty stack was incorrectly
assumed to mean no shaders were required, but we found out that was
wrong. We need to put shaders *somewhere*, and the root of the subgraph
we're modifying should be the best place.
2023-03-08 00:28:48 +00:00
AnyOldName3
aee1edaf9e
Partially revert "Attach shaders to geometry that lacks a stateset if necessary"
...
This reverts commit 6aef366fd3
.
2023-03-08 00:15:49 +00:00
Cédric Mocquillon
19fbba080d
Add a check if the requested file is not found
2023-03-06 21:26:51 +01:00
Cédric Mocquillon
7f936ad18f
Some cleanup on includes
2023-03-06 21:26:20 +01:00
Cédric Mocquillon
64ce6eb6bc
Merge the two identical conditions
2023-03-06 21:25:53 +01:00
Cédric Mocquillon
1a7b2cd611
Fix remaining bugs
2023-03-06 15:50:45 +01:00
AnyOldName3
4aa40897ca
Revert "Apply ShaderVisitor to Rig/MorphGeometry source geometry"
...
This reverts commit 471f6abf6c
.
The commit should be redundant as of 20e799dadc
2023-03-06 00:54:57 +00:00