psi29a
a61f955e9f
Merge branch 'case.ext' into 'master'
...
Fix a regression and use more starts_with and ends_with
See merge request OpenMW/openmw!3051
2023-05-23 08:18:41 +00:00
Evil Eye
11f875d9c4
Detect service refusal in constant time
2023-05-22 22:24:04 +02:00
elsid
e537d1d0d4
Ignore missing localization string files by esmtool
...
Dawnguard.esm from Skyrim depends on files stored in Dawnguard.bsa which is not
processed by esmtool.
2023-05-22 22:09:08 +02:00
elsid
358b7ad3ec
Keep ESM4 localized strings in memory
...
Size of the files is in order of megabytes at max. Storing offset lookup table
to read from file on demand is less efficient than reading from memory for such
size.
Read and store offsets first. Sort them to read values sequentially. Memoize
last offset and value to avoid reading the same value twice. Use seek only when
current possition does not match offset. Optimize seek for short distance by
calling read instead.
2023-05-22 22:09:06 +02:00
Evil Eye
9728024978
Replace compare with more idiomatic methods
2023-05-22 19:51:27 +02:00
elsid
8f47da46ec
Show magic effect name instead of IndexRefId
2023-05-22 18:02:21 +02:00
elsid
bb1d040ac8
Use settings values for Cells settings
2023-05-22 17:36:23 +02:00
elsid
585cf377ed
Use bool instead of std::stringstream::view
...
view is not supported by libc++ used for macOS builds.
2023-05-22 14:32:23 +02:00
psi29a
6f8c152487
Merge branch 'convert_camera_settings' into 'master'
...
Use settings values for Camera settings (#6876 )
See merge request OpenMW/openmw!3041
2023-05-22 09:14:06 +00:00
psi29a
dab616f4e2
Merge branch 'guiew' into 'master'
...
Use string_view in more places and reduce the number of empty string literals
See merge request OpenMW/openmw!3042
2023-05-22 09:12:45 +00:00
elsid
63e01d86a3
Use string based UniversalId to check script for blacklist
...
Blacklist is a vector of strings and isBlacklisted internally calls getId which
throws exception for RefId based UniversalId.
2023-05-22 03:14:00 +02:00
elsid
0aa569d4fe
Add UniversalId argument type to exception message on invalid access
2023-05-22 03:14:00 +02:00
elsid
292983d57a
Show UniversalId value for all argument types in reports
2023-05-22 03:14:00 +02:00
elsid
7ba397da7d
Use std::span and std::string to define UniversalId related TypeData
2023-05-22 03:14:00 +02:00
elsid
ceab7557f3
Add rudimentary support for ESM::RefId in UniversalId
...
Ideally std::string support should be removed but this may affect too much code.
2023-05-22 03:12:16 +02:00
elsid
4cd5efc6ee
Implement UniversalId with std::variant
2023-05-22 03:03:05 +02:00
elsid
f2a3462e59
Fix UniversalId constructor from ESM::RefId
2023-05-22 02:47:06 +02:00
elsid
6541ac43f5
Add UniversalId unit tests
2023-05-22 02:47:04 +02:00
Evil Eye
ed7b6dc2a7
Clarify CharacterCreation::setValue
2023-05-21 19:53:31 +02:00
psi29a
458ee4abaa
Merge branch 'coc_destination' into 'master'
...
Improve coc destination search in ESM4 cells
See merge request OpenMW/openmw!3034
2023-05-21 17:33:36 +00:00
Tetramir
3d574f16a1
Merge branch 'grid_update' into 'master'
...
Update mHalfGridSize in Scene::changeCellGrid before using it
See merge request OpenMW/openmw!3030
2023-05-21 17:05:01 +00:00
Evil Eye
492e336c0c
Use string_view in more UI code
2023-05-21 18:14:12 +02:00
Evil Eye
5491512905
Use string_view in more places and reduce the number of empty string literals
2023-05-21 16:39:32 +02:00
Petr Mikheev
9b6808f83d
Improve coc destination search in ESM4 cells
2023-05-21 00:42:25 +02:00
elsid
5d5e6844d1
Use settings values for Camera settings
2023-05-20 22:23:09 +02:00
elsid
4be43a2dca
Map SettingValueType Cell to float setting type
2023-05-20 15:00:00 +02:00
glassmancody.info
06676fd623
lua - fix bounding box in active grid
2023-05-19 14:29:01 -07:00
Petr Mikheev
1d55844f26
Update mHalfGridSize in Scene::changeCellGrid before using it.
2023-05-19 17:58:59 +02:00
Petr Mikheev
690c752984
Unload active cells when teleporting to another exterior worldspace
2023-05-19 14:33:16 +02:00
psi29a
1ce35fa9e7
Merge branch 'lua-bounding-box' into 'master'
...
Expose game object's bounding box in lua api
See merge request OpenMW/openmw!3009
2023-05-19 09:33:44 +00:00
glassmancody.info
a7b7f99d72
Expose game object's bounding box in lua api
2023-05-18 11:10:10 -07:00
Petr Mikheev
169859025c
Don't use getTerrainHeightAt(pos)
when adjusting position in ESM4 cell because this function is currently specific to ESM3.
2023-05-18 02:10:39 +02:00
Petr Mikheev
c8056f6561
Hide ESM4 LOD objects and markers
2023-05-18 02:10:39 +02:00
Petr Mikheev
29031d0586
Increase ESM4 active grid
2023-05-18 00:38:41 +02:00
Petr Mikheev
ac65246389
Speedup ESM4 cell loading; load objects from permanent cells (exterior doors in particular)
2023-05-18 00:38:41 +02:00
elsid
ee3956e4f2
Print FormId as hex by esmtool dump
2023-05-17 22:59:34 +02:00
psi29a
99ed8557bf
Merge branch 'get_rid_of_std_bind' into 'master'
...
Get rid of std::bind
See merge request OpenMW/openmw!3023
2023-05-17 10:54:43 +00:00
psi29a
2a7d5a89d7
Merge branch 'fix_navmeshtool_avoid_shape' into 'master'
...
Use different object id for avoid shape
See merge request OpenMW/openmw!3021
2023-05-17 07:59:39 +00:00
psi29a
5fba79ece3
Merge branch 'teleport' into 'master'
...
Additional Lua bindings for cells and fixes for teleporting
See merge request OpenMW/openmw!3017
2023-05-17 07:57:57 +00:00
psi29a
41c9e3c449
Merge branch 'selected_spell' into 'master'
...
Lua commands getSelectedSpell/setSelectedSpell
See merge request OpenMW/openmw!3018
2023-05-17 07:46:48 +00:00
smilczek
027d51bfc0
fixed a mistake
2023-05-15 21:06:05 +02:00
smilczek
05a2dc985b
Clang format
2023-05-14 22:51:43 +02:00
smilczek
2910e35bc2
Clarified the lambda expressions
2023-05-14 22:43:44 +02:00
smilczek
42cab989b1
got rid of auto
2023-05-14 22:43:44 +02:00
smilczek
128bb11833
done
2023-05-14 22:43:44 +02:00
elsid
2a7b105484
Use different object id for avoid shape
...
Otherwise addObject will ignore it as a duplicate and resulting recastmesh will
not match generated by the engine causing navmeshdb cache miss.
2023-05-14 18:45:40 +02:00
elsid
04d439485b
Log more info about navmesh shapes and jobs
2023-05-14 18:34:31 +02:00
Petr Mikheev
e657874351
Lua commands getSelectedSpell/setSelectedSpell
2023-05-14 15:17:03 +02:00
Petr Mikheev
63906059f1
Fix #7378 (dropped objects vanish when saving and reloading)
2023-05-14 14:53:01 +02:00
Petr Mikheev
7113638848
Fix animation of teleported non-teleporting doors.
2023-05-13 20:59:55 +02:00
Petr Mikheev
ce7f6f31c9
Additional Lua bindings for cells
2023-05-13 20:59:55 +02:00
Petr Mikheev
2725a9d7f4
Add option "onGround=true/false" in Lua teleporting
2023-05-13 20:59:55 +02:00
Robert
23dc38fe12
Fixed mutex causing crash in openal_output.cpp
2023-05-13 18:12:13 +00:00
Petr Mikheev
e53f907a53
Set CharacterController::mSmoothedSpeed to zero after teleporting.
2023-05-13 15:26:39 +02:00
psi29a
ab17d0947a
Merge branch 'esm4-exterior' into 'master'
...
Loading ESM4 Exteriors
See merge request OpenMW/openmw!2986
2023-05-12 23:32:55 +00:00
psi29a
c15710c35b
Merge branch 'settings_values_index' into 'master'
...
Use typed settings storage for settings window (#6876 )
See merge request OpenMW/openmw!2997
2023-05-12 21:53:59 +00:00
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
AnyOldName3
61712168c6
Make things less readable to appease authoritarian line length limit
2023-04-30 02:05:35 +01:00
AnyOldName3
ab625804ab
Skip adjusting near and far planes for instances that won't affect it
2023-04-30 01:58:43 +01:00
AnyOldName3
f0fcb5e5df
Compute instance matrices once
2023-04-30 00:41:09 +01: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
AnyOldName3
f2fa607f41
Use chunk-relative position
...
Also apply .clang-format
2023-04-24 22:39:18 +01:00
AnyOldName3
f721be90aa
Swap matrix order
...
It still doesn't work, but I think this is more likely to be right.
2023-04-24 22:07:46 +01: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
AnyOldName3
42711089e7
Minor fixes
...
Add CullVisitor include.
Swap return values of cull callback.
2023-04-23 17:40:19 +01: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
AnyOldName3
43eb739313
Maybe compute an accurate near and far plane using primitives for groundcover
...
I couldn't reproduce the original bug, so can't verify whether this
fixes it.
There's a strong chance I've boffed the matrix multiplication order.
If it's the same as GLSL, then everything *should* be fine.
2023-04-23 00:15:45 +01:00
elsid
39e867781e
Avoid using Settings::Manager::mDefaultSettings directly
2023-04-22 21:02:16 +02:00
Mads Buvik Sandvei
7d69bea7dc
Move InitializeStereoOperation to components/stereo
2023-04-22 16:11:53 +02:00
Mads Buvik Sandvei
fe066069d7
/components/ code should not access the stereo manager without checking whether or not stereo is enabled first. Stereo component code should not read settings itself, but rather take settings as parameters.
2023-04-22 16:11:42 +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
psi29a
2a6e301925
Merge branch 'activation' into 'master'
...
Allow Lua scripts to extend or override standard activation mechanics
See merge request OpenMW/openmw!2935
2023-04-20 11:29:21 +00:00
psi29a
cace3e6566
Merge branch 'fix_teleporting' into 'master'
...
Fix bugs related to Lua commands `obj:teleport` and `obj:moveInto`
See merge request OpenMW/openmw!2937
2023-04-20 11:28:02 +00:00
florent.teppe
fc3d113d29
fix tests
2023-04-20 10:25:10 +02:00
florent.teppe
6b5d9f3344
fixes reference saving stage
2023-04-20 10:03:35 +02:00
florent.teppe
cb4a97e50b
Displays references in exterior cells. A bit hackish.
2023-04-20 10:03:35 +02:00
florent.teppe
3bbf60373a
Keep things coherent between references and and cell table
2023-04-20 10:03:34 +02:00
florent.teppe
69f2285a95
fix issue #7335
2023-04-20 09:55:17 +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
1c3903f155
Support ESM4 types in cell:getAll
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
Petr Mikheev
16845aa38e
Reorganize ESM4 MWClasses; Add tooltips that are needed for activation.
2023-04-20 01:47:16 +02:00
psi29a
4738f0ff4d
Merge branch 'fix_lua' into 'master'
...
Restore logic that was accidentally removed in !2852 .
See merge request OpenMW/openmw!2943
2023-04-19 10:56:42 +00:00
psi29a
f15e371e89
Merge branch 'pathstore' into 'master'
...
Unify pathgrid store containers
See merge request OpenMW/openmw!2941
2023-04-19 10:54:55 +00:00
unknown
9368941f62
Address feedback
2023-04-19 02:31:40 +02:00
Petr Mikheev
75e47f859c
Restore logic that was accidentally removed in !2852 . Because of it onUpdate
handler in local Lua scripts doesn't work.
2023-04-18 23:31:44 +02:00
elsid
b8525e8e3d
Fix code format
2023-04-18 20:23:03 +02:00
unknown
ea1abf8485
Unify pathgrid store containers
2023-04-18 20:18:11 +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
Petr Mikheev
0cebaec360
Fix bug: world.createObject(id):moveTo(inventory) produces disabled objects that are visible in inventory, but can not be droped to the ground.
2023-04-17 19:07:44 +02:00
Petr Mikheev
60a8d08e66
Refactor teleporting in Lua; fix a bug in worldmodel.cpp
2023-04-17 19:07:30 +02:00
Petr Mikheev
61d207bd78
Allow Lua scripts to extend or override standard activation mechanics
2023-04-16 23:50:27 +02:00
psi29a
a82b7cb872
Merge branch 'windows_typed_settings' into 'master'
...
Use typed settings storage for windows (#6876 )
See merge request OpenMW/openmw!2921
2023-04-16 19:36:27 +00:00
Zackhasacat
224b7a0bf8
Allow Soul values on Misc Items to be set by Lua
2023-04-16 19:28:26 +00:00
Evil Eye
2deff337d8
Fix global map position
2023-04-13 17:44:23 +02:00
Evil Eye
97fb06d8c9
Add RefId::is
2023-04-13 17:43:13 +02:00
Evil Eye
4e0eb75094
Fix exterior check when finding markers
2023-04-13 17:21:13 +02:00
elsid
20129568e6
Replace VisitorCellIdIsESM3Ext with RefId::getIf function
2023-04-13 01:06:27 +02:00
elsid
62362fc0ef
Use typed settings storage for windows
...
Group window settings into structs. Include rect sizes in regular and maximized
state and maximized flag. Use them instead of manipulations with string names.
2023-04-12 00:54:00 +02:00
psi29a
4fd8ed8f13
Merge branch 'qt_scene' into 'master'
...
Migrate from GraphicsWindowQt to QOpenGLWidget
See merge request OpenMW/openmw!2895
2023-04-11 10:51:07 +00:00
psi29a
d6d7746c9b
Merge branch 'records' into 'master'
...
[Lua] Fix implementation of types.*.records
See merge request OpenMW/openmw!2918
2023-04-11 06:54:19 +00:00
psi29a
898e43205e
Merge branch 'lua_fix_record_id' into 'master'
...
[Lua] Add missing `record.id` for NPC and Creature records.
See merge request OpenMW/openmw!2919
2023-04-11 06:53:59 +00:00
elsid
ec01d3cd0c
Use typed settings storage in the launcher settings page
2023-04-11 00:19:58 +02:00
elsid
121b75212f
Move SettingsPage settings related functions to anonymous namespace
2023-04-11 00:02:41 +02:00
Petr Mikheev
55c9cde2ed
[Lua] Add missing record.id
for NPC and Creature records.
2023-04-10 23:28:15 +02:00
Petr Mikheev
9279c3d3e1
[Lua] Fix implementation of types.*.records
2023-04-10 23:15:28 +02:00
psi29a
c39083ba7e
Merge branch 'itsgraphingtime' into 'master'
...
Decouple PathgridGraph generation from cell
See merge request OpenMW/openmw!2914
2023-04-10 16:51:16 +00:00
psi29a
e0e3a2698b
Merge branch 'fix-load-time' into 'master'
...
Initialize the date when loading a cell
Closes #7320
See merge request OpenMW/openmw!2911
2023-04-10 15:31:49 +00:00
Evil Eye
584f112a7b
Decouple PathgridGraph generation from cell
2023-04-10 15:45:58 +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
psi29a
cf9d2e0d89
Merge branch 'topic/list-potions' into 'master'
...
Implement API method `records` for all record types
See merge request OpenMW/openmw!2880
2023-04-09 20:48:49 +00:00
Petr Mikheev
693e3f0081
Hide ESM4 markers
2023-04-09 19:08:21 +02:00
Petr Mikheev
ff774d6406
Load more ESM4 records
2023-04-09 18:52:11 +02:00
Dan Vukelich
7f2acfe173
Move fix to a more logical place
2023-04-09 10:11:32 -04:00
Mitten.O
85dc0ec481
Create a custom Lua usertype to expose a record store as a read-only array
2023-04-09 15:00:01 +03:00
elsid
83e60fef4e
Avoid using findCellPosition for coc command implementation
...
It breaks teleport to interior cells and in general is very fragile because
of using exception for common logic path. Remove the function since it's not
used anywhere else.
2023-04-09 13:39:29 +02:00
Dan Vukelich
1aa5a6fde3
Add missing function call to set dates when changing a cell (eg, when loading a save file)
2023-04-09 02:16:16 -04:00
psi29a
f5d470395d
Merge branch 'lua_esm4' into 'master'
...
Merge ESM::RefNum and ESM4::FormId
See merge request OpenMW/openmw!2902
2023-04-09 01:30:56 +00:00
psi29a
d899848d33
Merge branch 'gmst_misses' into 'master'
...
Log the message "GMST ... not found" only once for each missing l10n GMST
See merge request OpenMW/openmw!2897
2023-04-08 22:59:18 +00:00
Petr Mikheev
f09a689a4f
Merge ESM::RefNum and ESM4::FormId
2023-04-09 00:23:32 +02:00
Petr Mikheev
2365ba2ce0
Disable lazy loading
2023-04-09 00:23:32 +02:00
psi29a
edfc6b78c8
Merge branch 'fix_esm3_exterior_cell_ref_id' into 'master'
...
Use lexicographical comparison in ESM3ExteriorCellRefId::operator< (#7316 )
Closes #7316
See merge request OpenMW/openmw!2909
2023-04-08 16:21:32 +00:00
psi29a
7d86a56d22
Merge branch 'safecomplete' into 'master'
...
Only autocomplete string refids
See merge request OpenMW/openmw!2904
2023-04-08 15:12:56 +00:00
psi29a
f170ac777c
Merge branch 'fix_clang_build' into 'master'
...
Fix build with clang and libc++
See merge request OpenMW/openmw!2908
2023-04-08 15:12:27 +00:00
elsid
bd10becb65
Use lexicographical comparison in ESM3ExteriorCellRefId::operator<
2023-04-08 16:22:01 +02:00
elsid
aa77e727b8
Fix build with clang and libc++
...
libc++ does not have such function:
apps/openmw_test_suite/esm3/testesmwriter.cpp:73:30: error: no member named 'view' in 'std::ostringstream'
EXPECT_EQ(stream.view().size(), size);
~~~~~~ ^
2023-04-08 13:41:28 +02:00
Evil Eye
b027e96dee
Pass a cell id when teleporting to an exterior
2023-04-08 12:13:48 +02:00
Evil Eye
bee9eafc1a
Only autocomplete string refids
2023-04-08 11:39:38 +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
740f409a09
Add benchmarks for ESM3ExteriorCellRefId serialization
2023-04-08 01:07:13 +02:00
elsid
794050df63
Fix and add tests for ESM3ExteriorCellRefId serialization and text representation
2023-04-08 01:06:11 +02:00
elsid
5b14ff4470
Add tests to verify RefId size written to ESM file
2023-04-08 01:06:11 +02:00
elsid
fd9f652f43
Add CurrentContentFormatVersion to Esm3SaveLoadRecordTest parameters
2023-04-07 20:18:02 +02:00
elsid
e3944f741e
Test save/load for all ESM::CellRef fields
2023-04-07 20:18:00 +02:00
psi29a
c8f41f1c34
Merge branch 'slowfilter' into 'master'
...
Speedup filter in the CS
See merge request OpenMW/openmw!2901
2023-04-07 16:50:47 +00:00
fredzio
8717e8e487
Create the QRegularExpression in the TextNode constructor instead of for
...
each row in the filtered table.
On a table of more than 1M entries it speeds up filtering almost tenfold (from 35s to 4s).
2023-04-07 15:34:26 +02:00
psi29a
24a241352f
Merge branch 'cellfallout' into 'master'
...
Fix cell refid issues
See merge request OpenMW/openmw!2899
2023-04-06 14:36:28 +00:00
Evil Eye
d4cbef6365
Fix cell refid issues
2023-04-06 12:52:52 +02:00
psi29a
7cd4024868
Merge branch 'cleanlvllist' into 'master'
...
Remove unused variable from levelledlist
See merge request OpenMW/openmw!2896
2023-04-06 10:02:02 +00:00
fredzio
fbd7ae3e2d
Move getLevelledItem implementaiton in .cpp
2023-04-06 08:52:54 +02:00
Andrei Kortunov
3e9cedf3b5
Use a compile-time check
2023-04-06 08:04:21 +04:00
Petr Mikheev
2838071751
Log the message "GMST ... not found" only once for each missing l10n GMST
2023-04-05 22:47:15 +02:00
fredzio
6fb14841ab
Remove unused variable
2023-04-05 22:19:18 +02:00
Andrei Kortunov
8df7ce545e
Migrate from GraphicsWindowQt to QOpenGLWidget
2023-04-05 19:43:42 +04:00
psi29a
2b59c71333
Merge branch 'itsakindofskillorattributeaffectingmagic' into 'master'
...
Unify string construction of skill/attribute affecting effect names
Closes #7307
See merge request OpenMW/openmw!2894
2023-04-04 22:00:51 +00:00
Evil Eye
b3e17d79ec
Unify string construction of skill/attribute affecting effect names
2023-04-04 20:52:33 +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
87ac85223a
Support loading ESM4 GMST records
2023-04-04 09:59:35 +02:00
elsid
b7b68bd164
Consider empty RefId as absent exterior cell
2023-04-04 01:00:53 +02:00
florent.teppe
0d17e20490
Implements serialize/deserialize
...
fixes test compilation.
2023-04-03 18:41:25 +02:00
florent.teppe
3258fa4f98
setworldspace uses serializeText
2023-04-03 14:17:35 +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
6c6dbccd0a
fix crash on reset
...
fix tests
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
1bbf4a3acf
fixes teleport to exterior cells.
...
fixes linux compile
fix compile bis
2023-04-03 14:16:04 +02:00
florent.teppe
502e4ad892
Fix coc to exterior cells
2023-04-03 14:16:03 +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
96e42d1666
Cellstore uses RefId.
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
b0a129d6e4
Merge branch 'ripples' into 'master'
...
Implement shader-based water ripples
See merge request OpenMW/openmw!2877
2023-04-02 22:43:22 +00: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
de26662c98
Merge branch 'cs_fix_skill_edit' into 'master'
...
Show skill name in CS (#7299 )
Closes #7299
See merge request OpenMW/openmw!2887
2023-04-02 22:40:48 +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
e08d1e2c87
Show skill name in CS
...
Instead of RefId converted to string.
Show non StringRefId in deserializable format.
2023-04-02 18:02:18 +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
Andrei Kortunov
646148dfc8
Use GL_HALF_FLOAT because we use GL_RGBA16F
2023-04-02 14:19:44 +04:00
Mads Buvik Sandvei
e666f36b60
[Multiview] Fix transparent pass and vertex shader
2023-04-01 20:27:07 +00:00
Andrei Kortunov
e17281ac67
Implement shader-based water ripples (feature 3537)
2023-04-01 17:26:19 +04:00
psi29a
2493e79daa
Merge branch 'postprocess_loc' into 'master'
...
Localize messagebox about disabled postprocessor
See merge request OpenMW/openmw!2878
2023-04-01 13:18:21 +00:00
Andrei Kortunov
74126953fc
Do not use a rendering node position as a hit position (bug 7298)
2023-04-01 12:05:01 +04:00
Andrei Kortunov
4ff9e1956f
Localize messagebox about disabled postprocessor
2023-04-01 11:42:49 +04: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
dbe273f57f
Merge branch 'fix_bullet_nif_loader_tests' into 'master'
...
Use approximate equality for btBvhTriangleMeshShape triangles
See merge request OpenMW/openmw!2873
2023-03-30 21:43:47 +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
psi29a
086e2180fa
Merge branch 'hardcodedpopsicles' into 'master'
...
Rotate blizzard particles
See merge request OpenMW/openmw!2872
2023-03-30 20:14:19 +00:00
elsid
f8cc929f9a
Use approximate equality for btBvhTriangleMeshShape triangles
2023-03-30 21:41:40 +02:00
uramer
7f3926db3f
Merge branch 'lua_ai' into 'master'
...
Expose the argument `cancelOther` of `AiSequence::stack` to Lua
Closes #7245
See merge request OpenMW/openmw!2865
2023-03-30 19:35:48 +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
Evil Eye
99ab08eaef
Rotate blizzard particles
2023-03-30 19:20:00 +02:00
Mitten Orvan
4744b1eeda
Make API for creating potions
2023-03-29 07:46:11 +00:00
elsid
e5d5c51673
Add benchmarks for settings access
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
psi29a
954e5884c3
Merge branch 'log_setup' into 'master'
...
Setup logging before loading settings
See merge request OpenMW/openmw!2866
2023-03-27 10:30:48 +00:00
elsid
70ab116880
Setup logging before loading settings
2023-03-27 09:57:53 +02:00
Petr Mikheev
3c5a9f55c5
Expose the argument cancelOther
of AiSequence::stack
to Lua
2023-03-27 02:28:45 +02:00
Petr Mikheev
a72dc6c7a1
(Lua) Add onActivate handler in global scripts
2023-03-27 01:36:45 +02: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
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
d6c8c54dc5
Generate test cases for all ESM3 format versions since MaxStringRefIdFormatVersion
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
e1f580e7a0
Use static constexpr string_view for hardcoded ids
2023-03-26 15:21:49 +02:00
Petr Mikheev
618b912a20
Dehardcode non-game-specific localization GMSTs; Update l10n files.
2023-03-26 13:43:44 +02:00
psi29a
76cba95a44
Merge branch 'lua' into 'master'
...
LuaManager refactoring
See merge request OpenMW/openmw!2852
2023-03-26 11:12:51 +00:00
psi29a
6756e1ba97
Merge branch 'lua_ref_id' into 'master'
...
Use ESM::RefId for Lua records
See merge request OpenMW/openmw!2857
2023-03-26 11:09:31 +00:00
Petr Mikheev
a88fcbffb0
Address review comments
2023-03-26 03:38:40 +02:00
Petr Mikheev
8d1e52ed51
Extract engine handlers processing from LuaManager to a new class EngineEvents
2023-03-26 03:38:40 +02:00
Petr Mikheev
7ef759c78b
Refactor mwlua/eventqueue and extract some code out of LuaManager
2023-03-26 03:38:40 +02:00
Petr Mikheev
4fd07cb58d
Implement MWWorld::Class::isItem(ptr) and remove a hacky MWLua::WorldView::isItem.
2023-03-26 03:38:40 +02:00
elsid
b7fdca0fe6
Use serialized ESM::RefId for Lua records
2023-03-25 18:19:46 +01:00
elsid
ca9c55ac26
Use common function to add record binding
2023-03-25 15:05:58 +01:00
elsid
33a59a9342
Use ESM::RefId::toDebugString to convert record to string in Lua
2023-03-25 15:05:55 +01:00
elsid
30fd8c9d23
Add benchmarks for RefId serialization and deserialization
2023-03-25 14:04:44 +01:00
elsid
a762624581
Reorganize and update benchmarks
2023-03-25 00:00:39 +01:00
Evil Eye
c48c91a07f
Fix bed ownership check
2023-03-24 22:15:51 +01:00
elsid
017f3d5484
Interpret ESM::Light::mSound as identifier not a path
2023-03-24 15:42:26 +01:00
elsid
cd4027ffd6
Do not use ESM::RefId::getRefIdString for spell id
2023-03-24 01:57:35 +01:00
psi29a
dce809ea95
Merge branch 'editorclone' into 'master'
...
Fix some GCC12 warnings
See merge request OpenMW/openmw!2854
2023-03-23 19:55:14 +00: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
Andrei Kortunov
302c331559
Add field initialization
2023-03-23 14:31:45 +04:00
Andrei Kortunov
11484205f5
Use constexpr to do not generate an invalid code in templates
2023-03-23 14:29:26 +04: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
99dac61e49
Merge branch 'noskill' into 'master'
...
Remove Attribute/Skill from tooltips
Closes #7281
See merge request OpenMW/openmw!2845
2023-03-22 09:25:26 +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
2135eba103
Fix loading ESM3 QuickKeys
2023-03-21 20:44:42 +01:00
elsid
de112a2950
Simplify converting file names into absolute file paths
2023-03-21 09:34:27 +01:00
elsid
d18d860ea2
Catch and log exceptions on loading cell names
...
Instead of terminating the process.
2023-03-21 09:34:27 +01:00
elsid
5a691380ea
Use single set to check presence of archives
2023-03-21 09:34:27 +01:00
elsid
b1765cf05a
Do single lookup for widget item
2023-03-21 09:34:27 +01:00
elsid
62536d5cf7
Use static QFile::exists instead of creating object
2023-03-21 09:34:27 +01:00
elsid
ecb9c35268
Remove unused variable
2023-03-21 09:34:27 +01:00
psi29a
2a50212f87
Merge branch 'fix_launcher_paths' into 'master'
...
Save original paths in launcher (#7246 )
Closes #7246
See merge request OpenMW/openmw!2847
2023-03-21 08:31:32 +00:00
elsid
9280957581
Save original paths
...
If directory path is a symlink it should be showed and written to config files
as is. Between launcher runs the resulting canonical path may be different so
the resolved path becomes outdated.
2023-03-21 01:37:26 +01:00
elsid
ff7fcd752a
Use set to track visited directories instead of removing duplicates
2023-03-21 01:22:41 +01:00
Evil Eye
0fe27e8107
Remove Attribute/Skill from tooltips
2023-03-20 19:59:11 +01:00
Evil Eye
6e33da6cfe
Don't capture temporaries by reference
2023-03-20 19:07:51 +01:00
psi29a
b55313c08e
Merge branch 'small_ref_id' into 'master'
...
Make ESM::RefId to be fixed size cheap to copy and support different implementation types
See merge request OpenMW/openmw!2708
2023-03-20 08:54:36 +00: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
psi29a
3dc0e71b58
Merge branch 'constant_telekinesis' into 'master'
...
Remove redundant lookup
See merge request OpenMW/openmw!2843
2023-03-19 12:30:03 +00:00
Evil Eye
0b0f02d08b
Remove redundant lookup
2023-03-19 10:42:19 +01:00
elsid
c90e4435cd
Remove unused startup script argument
2023-03-19 00:45:50 +01:00
psi29a
5db11d81fe
Merge branch 'ref_id_strings' into 'master'
...
Use RefId high level functions instead of accessing internal data
See merge request OpenMW/openmw!2840
2023-03-18 15:30:53 +00:00
elsid
99069b02e4
Remove unused variable
2023-03-18 13:40:45 +01:00
elsid
1f6d19859a
Use startsWith for ESM::RefId
2023-03-18 13:39:52 +01:00
elsid
1258bdf40a
Use operator<< for ESM::RefId
2023-03-18 13:39:50 +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
b4a5e8ed19
Merge branch '9003rd_times_the_charm' into 'master'
...
Rework again scripted movement. Partially revert and refine !1324
See merge request OpenMW/openmw!1372
2023-03-18 09:13:57 +00: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
elsid
6a182e7798
Move generation for default values of required records to separate functions
2023-03-17 18:31:21 +01: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
fredzio
63d4564455
In 0.46, SetPos was setting position of actors before physics simulation, and from this position movement was simulated. This changed with async physics merging, and at the same time problems started, mostly with abot's scenic travel.
...
Skipping the simulation, switching off collisions, and other approaches were not correct as they either broke some mods, or some core mechanics of the engine such as teleportation or waterwalking. As it turns out, the way to go is to simply do _nothing_ (modulo some gymnastics to account for the 1 frame difference in case of async).
Scripted movement and the unstucking logic tends to collide. Early out of unstuck in case the actor doesn't attempt to move. This means there is no AI package for NPC, which are the case for some boats and striders, or the player is content with their position.
2023-03-16 22:07:26 +01:00
psi29a
df89a8c845
Merge branch 'ptr' into 'master'
...
MWLua refactoring
See merge request OpenMW/openmw!2803
2023-03-16 11:21:45 +00:00
Kindi
65cbf7f17c
skip reading if retrievalLimit is 0
2023-03-15 04:13:38 +08:00
Petr Mikheev
2bfffb3063
Move std::variant<SelfObject*, LObject, GObject>
from mwlua/stats.cpp to mwlua/objectvariant.hpp
2023-03-13 23:44:00 +01:00
Petr Mikheev
0b385d5db9
Create MWWorld::SafePtr
2023-03-13 23:44:00 +01:00
Mitten Orvan
4e6d48d246
Add a bit of high-level developer documentation about the Lua system
2023-03-13 22:41:28 +00: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
d8d2cb980c
Merge branch 'world_model_init' into 'master'
...
Refactor WorldModel initialization making it C++ core guidelines complaint
See merge request OpenMW/openmw!2825
2023-03-13 10:57:03 +00:00
elsid
899c302b14
Avoid nested ifs
2023-03-13 11:31:16 +01:00
elsid
c8402c0b14
Avoid double assignment on info saving
2023-03-13 11:31:16 +01:00
elsid
0d523c3793
Log loading errors
2023-03-13 11:31:16 +01:00
elsid
9598b26462
Make loading error messages copyable
2023-03-13 11:31:16 +01:00
psi29a
6d8f3c7bce
Merge branch 'cs_unit_tests' into 'master'
...
Introduce unit tests for editor
See merge request OpenMW/openmw!2821
2023-03-13 09:37:32 +00:00
psi29a
e95f5f2ec1
Merge branch 'cherry-pick-fb3a80be' into 'master'
...
Cherry pick 'openmw-48-stereo-fixes' into 'master'
See merge request OpenMW/openmw!2829
2023-03-13 09:33:55 +00:00
psi29a
34724c5538
Merge branch 'remove_double_dialogue_store_setup' into 'master'
...
Set up Store<ESM::Dialogue> once
See merge request OpenMW/openmw!2824
2023-03-13 08:47:13 +00: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
elsid
4cf5136143
Mark WorldModel copy ctor and assignment operators as delete
2023-03-12 17:32:43 +01:00
elsid
48fde4b517
Use default initializers for WorldModel members
2023-03-12 17:32:43 +01:00
elsid
2f730011dc
Initialize WorldModel::mIdCache in the class initializer list
2023-03-12 17:32:24 +01:00
elsid
0577d2751b
Set up Store<ESM::Dialogue> once
...
Store<ESM::Dialogue> is derived from DynamicStore and setUp is called for it
along with other setUp calls for stores derived from DynamicStore.
2023-03-12 15:31:19 +01:00
elsid
55ebd97949
Remove misleading part of the function name
2023-03-12 15:14:38 +01:00
Petr Mikheev
685f86f19e
Move Morrowind-specific l10n files to a separate data dir; dehardcode a few GMST names.
2023-03-12 13:12:13 +01:00
Petr Mikheev
58fdd687a8
Support links to GMST in l10n files
2023-03-12 13:12:13 +01:00
elsid
403bc927fb
Add test for CSMWorld::InfoCollection::load
2023-03-12 12:06:33 +01:00
elsid
6f6e452dfa
Add executable to run CS tests
2023-03-12 12:06:33 +01:00
elsid
59f2fccc9f
Split openmw-cs into binary and library
2023-03-12 12:06:33 +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
9c780efe50
Add ESMStore tests for loading dialogue and info records
2023-03-12 01:52:20 +01: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
elsid
8031b9a16c
Use spaces only for identation in CMakeLists.txt
2023-03-10 15:01:24 +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
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