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

20442 commits

Author SHA1 Message Date
florent.teppe
7c6471b0dc getExteriorCellLocation() added to MWWorld::Cell 2023-05-12 23:24:36 +02:00
florent.teppe
a3bd6e7e47 ESM::ExteriorCellIndex => ESM::ExteriorCellLocation 2023-05-12 22:05:55 +02:00
florent.teppe
393357abc0 ESM::Cell::positionToCellIndex returns a ESM::ExteriorCellIndex
and takes a worldspace id as input
ESM::getCellSize takes a wordspace as input.
removed useless static in static inline funcs
2023-05-12 22:05:55 +02:00
florent.teppe
559830f59a applies review comments
Removes ToLowercase after .serializeText
removed unused variable
!ptr => ptr == nullptr
better indentation + error message on throw
friend struct std::hash<...> useless on struct with all public fields.
2023-05-12 22:05:55 +02:00
florent.teppe
39cfe9c2fb Removed unused variable, factorised code. 2023-05-12 22:05:55 +02:00
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
f261f59809 World::indexToPosition is modified to be less error prone. 2023-05-12 22:05:54 +02:00
florent.teppe
1fdecaaa34 seperate permanent and non permanent exterior cells. 2023-05-12 22:05:54 +02:00
florent.teppe
f731c5eadb preloader compatible with esm4 exteriors. 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
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
43e247d458 fixes tests
fix linux build + clang-tidy
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
eb48f8724f change grid and preload takes the right exterior
also fixes some crashes
2023-05-12 22:05:53 +02:00
florent.teppe
81d9686541 crashfix dynamic exterior cells 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
psi29a
242ac21b38 Merge branch 'fix_local_map_update' into 'master'
Update cell local map on different neighbour cells (#7140)

See merge request OpenMW/openmw!3012
2023-05-11 12:13:35 +00:00
elsid
aa9fb33a18
Update cell local map on different neighbour cells
Save which neighbour cells were active when local map for a cell is rendered.
Update when intersection of currently loaded cells is different from stored. If
map was rendered when all neighbours were loaded no more updates will happen.
2023-05-11 10:41:15 +02:00
elsid
f7ebd9b9b4
Avoid old C-style cast 2023-05-11 10:27:33 +02:00
elsid
fd249b46c0
Remove redundant member function
mActive is public.
2023-05-11 10:27:33 +02:00
elsid
b2f7fc70a6
Remove redundant MapSegment constructor and destructor 2023-05-11 10:27:32 +02:00
elsid
d927aaad14
Avoid redundant getCell()->getGrid* calls 2023-05-11 10:26:41 +02:00
elsid
1324256440
Avoid redundant lookup 2023-05-11 10:26:39 +02:00
elsid
624ffef4fe
Reduce block nesting 2023-05-11 10:26:18 +02:00
Petr Mikheev
f3adcab9c5 Update CellStore::mMergedRefs lazily. 2023-05-11 01:00:50 +02:00
Petr Mikheev
93342af1f9 Remove CellStore::searchViaRefNum (replaced with WorldModel::getPtr) 2023-05-11 00:17:22 +02:00
Petr Mikheev
270ead937b Remove check in cellstore.cpp that causes Lua teleport command to fail. 2023-05-11 00:17:22 +02:00
Elias Howell
bf8fafa79a fixed some typos and spelling errors 2023-05-09 20:07:08 -04:00
Petr Mikheev
3a8a4e8bff Revert "Replace rayTest with convexSweepTest MovementSolver::traceDown. Needed to prevent teleporting down through sewer grates."
This reverts commit 917132e326.
2023-05-09 01:20:02 +02:00
Alexei Kotov
4394970894 Merge branch 'gui_view' into 'master'
Use string_view in journal code

See merge request OpenMW/openmw!3005
2023-05-08 17:37:46 +00:00
Evil Eye
f93d41d9ce Use string_view instead of const char* 2023-05-08 17:18:18 +02:00
Evil Eye
ad3195488b Remove unimplemented method declaration 2023-05-08 16:57:57 +02:00
psi29a
0a8c801d66 Merge branch 'lua_getters' into 'master'
Rename some functions in Lua API from `aaa` to `getAaa` (for consistency with `setAaa`)

Closes #7356

See merge request OpenMW/openmw!3004
2023-05-08 10:25:27 +00:00
psi29a
753696583e Merge branch 'trace_down' into 'master'
Replace `rayTest` in `MovementSolver::traceDown` with `convexSweepTest`

See merge request OpenMW/openmw!3003
2023-05-08 09:31:53 +00:00
Petr Mikheev
067df2d07e Rename some functions in Lua API from aaa to getAaa (for consistency with setAaa) 2023-05-08 00:49:06 +02:00
psi29a
1f0aede634 Merge branch 'celloverride' into 'master'
Fix cell overrides and remove unused, incomplete erase method

See merge request OpenMW/openmw!3001
2023-05-07 19:50:36 +00:00
Petr Mikheev
917132e326 Replace rayTest with convexSweepTest MovementSolver::traceDown. Needed to prevent teleporting down through sewer grates. 2023-05-07 21:13:14 +02:00
Evil Eye
22ba0a1cf0 Improve variable names 2023-05-07 17:27:28 +02:00
Petr Mikheev
86fce41a39 Keep refnum when moving objects to/from inventory (#6148) 2023-05-07 17:19:44 +02:00
elsid
188de0d8d4 Merge branch 'journalcase' into 'master'
Remove dialogue related instances of getRefIdString

See merge request OpenMW/openmw!2999
2023-05-07 14:49:49 +00:00
elsid
6de335dd77
Pass path to startup script as std::filesystem::path 2023-05-06 13:58:39 +02:00
Evil Eye
2a48642fe3 Fix cell overrides and remove unused, incomplete erase method 2023-05-05 16:39:24 +02:00
Evil Eye
3cf0977c0b Remove dialogue related instances of getRefIdString 2023-05-04 19:46:49 +02:00
Tobias Tribble
43544e7d30 Fixed teleport function to use rotation flags 2023-05-03 18:29:50 -05:00
elsid
c5ab0c8b73
Avoid using Settings::Manager::set* functions directly 2023-05-03 22:11:44 +02: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
psi29a
dacbbc1d20 Merge branch 'dehardcode_steal' into 'master'
Remove Content file check when stealing

See merge request OpenMW/openmw!2987
2023-05-02 19:45:51 +00:00
jvoisin
5299065cad Simplify a funny-written function 2023-05-01 21:13:15 +02:00
psi29a
83203ae4d9 Merge branch 'minor_header_cleanup_clion' into 'master'
Minor header cleanup

See merge request OpenMW/openmw!2991
2023-05-01 10:46:55 +00:00
psi29a
67c0138aee Merge branch 'fix-7335-bis' into 'master'
OpenCS fixes the issues with the addon's saving

See merge request OpenMW/openmw!2952
2023-04-30 23:01:47 +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
Tobias Tribble
2c887d82d0 Removed Content file check 2023-04-28 11:46:22 -05:00
Zackhasacat
c4246159af Fix gameObject.teleport function, previously would not work with items in inventories 2023-04-27 19:37:38 +00:00
jvoisin
c752c8950f Merge branch 'use_std_locale' into 'master'
make use of std::wstring_convert to replace boost::locale::conv::utf_to_utf

See merge request OpenMW/openmw!2969
2023-04-27 12:24:23 +00:00
psi29a
130fd387ea make use of std::wstring_convert to replace boost::locale::conv::utf_to_utf 2023-04-27 12:24:22 +00:00
psi29a
3bd72e9c5d Merge branch 'no_automagick' into 'master'
Add missing `sol::is_automagical : std::false_type` in magicbindings.cpp

See merge request OpenMW/openmw!2982
2023-04-26 21:51:16 +00:00
psi29a
39a40f3a73 Merge branch 'rm_ref_id_empty' into 'master'
Remove ESM::RefId::sEmpty

See merge request OpenMW/openmw!2981
2023-04-26 21:48:51 +00:00
Petr Mikheev
d1d1a280d0 Add missing sol::is_automagical : std::false_type in magicbindings.cpp 2023-04-26 21:50:42 +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
Tobias Tribble
b52ab04c43 Added soulValue to creatureRecord, added documentation 2023-04-26 12:01:59 -05:00
psi29a
0cf9fe0e2e Merge branch 'lua_casting_error' into 'master'
Fix crash on sol::object type mismatch in invalid Lua script

See merge request OpenMW/openmw!2975
2023-04-25 22:19:45 +00:00
psi29a
0b976232e9 Merge branch 'deprecated_qt' into 'master'
Fix a qt deprecation warning in cmake

See merge request OpenMW/openmw!2974
2023-04-25 21:59:16 +00:00
Petr Mikheev
31eb3e6f5d Use typed settings storage for Lua settings 2023-04-25 23:51:37 +02:00
Petr Mikheev
003f611bdb Remove LuaManager::Action 2023-04-25 23:51:37 +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
Zackhasacat
f6fb05d1ca Add functionality for lua to view and modify ownership data for GameObjects 2023-04-25 21:20:43 +00: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
jvoisin
222365b5e3 Fix a qt deprecation warning in cmake 2023-04-25 22:00:20 +02:00
Petr Mikheev
61578ca39b Add function LuaUtil::cast 2023-04-25 21:51:05 +02:00
Bret Curtis
0db31207dc remove remaining boost::filesystem cruft 2023-04-25 16:15:04 +02:00
psi29a
94e467caa3 Merge branch 'settings_access_bench' into 'master'
Run openmw_settings_access_benchmark in CI

See merge request OpenMW/openmw!2967
2023-04-25 11:42:47 +00:00
Bret Curtis
249986b6e0 pathToQString makes things shorter 2023-04-25 11:21:16 +02:00
Bret Curtis
afc4e064cb make use of pathToUnicodeString 2023-04-25 10:34:29 +02:00
Bret Curtis
3581f1b724 fix msvc build 2023-04-25 09:08:51 +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
psi29a
9f4322951f Merge branch 'use_qt_lockfile' into 'master'
make use of QLockFile

Closes #7345

See merge request OpenMW/openmw!2966
2023-04-24 13:34:06 +00:00
psi29a
2e1820fefd make use of QLockFile 2023-04-24 13:34:06 +00:00
psi29a
8e8a539cb7 Merge branch 'lua_fix' into 'master'
Bugfix: add missing type validation in mwlua/objectvariant.hpp

See merge request OpenMW/openmw!2963
2023-04-24 12:11:14 +00:00
psi29a
406eb1f9cc Merge branch 'replace_boost' into 'master'
replace boost where not needed

See merge request OpenMW/openmw!2962
2023-04-23 19:46:29 +00:00
psi29a
71aaa56ae3 replace boost where not needed 2023-04-23 19:46:29 +00:00
Petr Mikheev
073e379057 Add missing type validation in mwlua/objectvariant.hpp 2023-04-23 20:47:24 +02:00
elsid
499d086cc1
Add tests for Settings::Values 2023-04-23 15:21:58 +02:00
elsid
1fbf50fb13
Use PROJECT_SOURCE_DIR in tests 2023-04-23 15:11:17 +02:00
elsid
39e867781e
Avoid using Settings::Manager::mDefaultSettings directly 2023-04-22 21:02:16 +02:00
elsid
7a7c20d49e
Define single UpdateGuard type in a separate file 2023-04-22 13:22:07 +02:00
psi29a
675dfb9725 Merge branch 'simplify_world' into 'master'
Refactoring. Put ESMStore to Environment; remove `createRecord` from World.

See merge request OpenMW/openmw!2947
2023-04-21 13:28:43 +00:00
florent.teppe
b5f774ae64 fixes the issues with the addons
the OpenCS reference's cellId uses a string to be sure it is coherent with the cell's Id type in the editor.
2023-04-21 14:55:24 +02:00
Andrei Kortunov
6ce0d9e9b9 Localize testcells/testinteriorcells progress text 2023-04-21 09:46:02 +04:00
Petr Mikheev
f1beaa7b8c Put ESMStore to Environment 2023-04-20 21:45:49 +02:00
Petr Mikheev
227a993b94 Remove createRecord functions from World because the only forward the argument to ESMStore that can be used directly. 2023-04-20 21:45:49 +02:00
Petr Mikheev
90397662bc Lua bindings for magic. Based on the work made by @bharbich in !2765. 2023-04-20 18:48:34 +02:00
florent.teppe
5bb9bfd224 CellPreloader::preload(CellStore& 2023-04-20 16:58:19 +02:00
florent.teppe
a3a2685b9a More MWWorld::CellStore* -> MWWorld::CellStore& 2023-04-20 16:16:17 +02:00
florent.teppe
53cc9f3614 functions return reference instead of ptr
because the function can never return an nullptr, we return a reference.
2023-04-20 15:55:40 +02:00