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
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
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
Alexei Dobrohotov
20e799dadc
Use Rig/MorphGeometry state for its child geometry
...
Cherry-pick of ed44095cdc
from 0.48 branch
2023-03-06 00:54:02 +00:00
Evil Eye
c6a545766c
Remove redundant string_view
2023-03-05 21:45:03 +01:00
unknown
868a398b86
Allow comparison operators of arbitrary length
2023-03-05 19:15:43 +01:00
florent.teppe
214cb8d8fe
Only loads ESM4::reference when they are needed
...
and only those from the cell they are a part of.
The cell stores where it starts in the file for quick access later.
2023-03-04 23:40:41 +01:00
psi29a
a91b4e0cce
Merge branch 'duplicated_locales' into 'master'
...
Ignore duplicated preferred l10n locales
See merge request OpenMW/openmw!2796
2023-03-04 12:42:25 +00:00
psi29a
afa6643c6e
Merge branch 'maybe-fix-freeze-catcher' into 'master'
...
Fix Windows freeze catcher
See merge request OpenMW/openmw!2795
2023-03-04 12:42:06 +00:00
Petr Mikheev
e70ab80b90
Ignore duplicated preferred l10n locales
2023-03-04 10:20:03 +01:00
AnyOldName3
5b3e9e15ee
Maybe fix Windows freeze catcher
...
It looks like it's never actually been capable of creating a minidump since the original MR was merged. It worked briefly, and then apparently I managed to dissappear an important function call when rearranging things.
2023-03-04 00:28:22 +00:00
Petr Mikheev
e007dc9d6b
Log reserving texture units
2023-03-04 00:55:34 +01:00
Cédric Mocquillon
d2244c8d97
Fix detectVersion
2023-03-03 20:49:31 +01:00
Cédric Mocquillon
78251a2bb1
Move outside the condition + fix bug: missing offset
2023-03-03 17:09:38 +01:00
Cédric Mocquillon
d73ab7ef6f
Add comments
2023-03-03 17:09:38 +01:00
Cédric Mocquillon
24272d07bf
Share generateHash used in ba2dx10file and ba2gnrlfile
2023-03-03 17:09:35 +01:00
elsid
cd6a5b5a0e
Support asymmetric comparison between ESM::RefId and std::string_view
2023-03-03 15:44:18 +01:00
elsid
dfcea389be
Add helper functions for string comparison to RefId
2023-03-03 00:39:55 +01:00
elsid
6518688120
Reorder RefId members
2023-03-02 23:29:40 +01:00
Cédric Mocquillon
d30deef4b5
Use the right archive type to load bsa according to their type
2023-03-02 21:07:54 +01:00
Cédric Mocquillon
974799c011
Handle DX10 case of ba2 format
2023-03-02 18:40:44 +01:00
Cédric Mocquillon
c1fbe90953
Handle GNRL case of ba2 format
2023-03-02 18:19:58 +01:00
psi29a
340a2aa826
Merge branch 'ref_id_cmp_string_view' into 'master'
...
Support RefId comparison with std::string_view
See merge request OpenMW/openmw!2784
2023-03-02 12:49:28 +00:00
psi29a
3d8acf17bd
Merge branch 'shadervisitor' into 'master'
...
Attach shaders to geometry that lacks a stateset if necessary (bug #7251 )
See merge request OpenMW/openmw!2782
2023-03-01 17:09:32 +00:00
Alexei Dobrohotov
471f6abf6c
Apply ShaderVisitor to Rig/MorphGeometry source geometry
2023-03-01 18:27:44 +03:00
elsid
2fcb94064d
Support RefId comparison with std::string_view
2023-02-28 23:04:48 +01:00
Alexei Kotov
7fd9b27b54
Don't combine static node collision geometry (bug #6027 )
2023-03-01 00:41:04 +03:00
Alexei Dobrohotov
6aef366fd3
Attach shaders to geometry that lacks a stateset if necessary
2023-02-28 20:13:16 +03:00
psi29a
a9fdb51041
Merge branch 'fix_lua_memoryleak' into 'master'
...
Fix Lua memory leak (#7128 )
Closes #7128
See merge request OpenMW/openmw!2774
2023-02-28 08:33:48 +00:00
Alexei Dobrohotov
540fa00f12
Don't use ESM4::Lighting fog power as fog density
2023-02-27 05:50:58 +03:00
Cody Glassman
6a64f352a4
fix shader compilation
2023-02-26 14:31:53 -08:00
Petr Mikheev
7b3aa621a4
[Lua] Fix memory leak in sandboxed "require".
2023-02-26 19:59:53 +01:00
Petr Mikheev
d0a82437a4
[Lua] Fix memory tracking
2023-02-26 18:46:57 +01:00
psi29a
2b9f962f7c
Merge branch 'minimal_element_leak' into 'master'
...
Minimal solution to UI Element leak
See merge request OpenMW/openmw!2770
2023-02-26 14:57:30 +00:00
psi29a
e8e97679f7
Merge branch 'vsync' into 'master'
...
Add support for non-adaptive VSync
Closes #7129
See merge request OpenMW/openmw!2769
2023-02-26 13:28:56 +00:00
uramer
38bceb653d
Set Element layout to nil on destroy
2023-02-26 14:13:06 +01:00
Andrei Kortunov
be488649c3
Add support for non-adaptive VSync (feature 7129)
2023-02-26 15:19:19 +04:00
Alexei Kotov
a2fdaf8531
Merge branch 'Error-marker-loading-failure-not-handled' into 'master'
...
Use the embedded marker error if we fail to load the error marker model from the vfs
See merge request OpenMW/openmw!2757
2023-02-26 06:31:09 +00:00
psi29a
4faa1bf3e8
Merge branch 'moo-bitch-get-out-my-hay' into 'master'
...
Don't use FFP-friendly texture image units for shadow maps
Closes #7102
See merge request OpenMW/openmw!2682
2023-02-25 23:12:32 +00:00
Cody Glassman
ac4787aeec
shade refactor
2023-02-25 11:03:39 -08:00
Alexei Kotov
d8dad79195
Read bsLeafAnimNode
2023-02-24 20:34:41 +03:00
Alexei Kotov
9618a465ce
Read bhkCompressedMeshShape
2023-02-24 20:32:35 +03:00
Alexei Kotov
fc6bc90c3d
Read BSFurnitureMarkerNode
2023-02-24 19:38:29 +03:00
Alexei Kotov
e15434be94
Disable falloff in BSEffectShader for now
2023-02-24 19:36:39 +03:00
Alexei Dobrohotov
0f222d270e
Prefer the earliest eponymous nodes in skeletons (bug #3842 )
2023-02-23 15:36:04 +03:00
Cédric Mocquillon
f7b45a6262
Add method to load and clone the error marker used by the scene manager
2023-02-22 19:51:37 +01:00
Cédric Mocquillon
97c42768e6
Use the embedded marker error if we fail to load the error marker model from the vfs
2023-02-22 19:51:34 +01:00
psi29a
ee41151520
Merge branch 'Get-Skyrimesm-Loading' into 'master'
...
Load esm files from vfs
See merge request OpenMW/openmw!2756
2023-02-20 21:00:09 +00:00
Bret Curtis
db2368fced
small fix for gcc12
2023-02-20 10:55:46 +01:00
Alexei Kotov
8d3c5c0f05
Unify texture wrapping setup
2023-02-20 00:23:00 +03:00
Alexei Kotov
2de81738c1
Implement the basics of BSEffectShaderProperty
2023-02-20 00:23:00 +03:00
Cédric Mocquillon
6e23ad82d5
Load esm files from vfs
2023-02-19 21:58:19 +01:00
psi29a
0f331a4fc5
Merge branch 'lua_callback' into 'master'
...
Fix potential memory leak in LuaUtil::Callback
See merge request OpenMW/openmw!2733
2023-02-18 21:05:07 +00:00
psi29a
0ed1310417
Merge branch 'fix_fog_state_load' into 'master'
...
Fix loading fog state
See merge request OpenMW/openmw!2743
2023-02-18 07:27:05 +00:00
elsid
b5ec584be2
Replace ESM::RefId::sEmpty by default constructed RefId where possible
...
Static const is only required to provide a reference or a pointer when it is not
possible with default constructed temporary.
2023-02-18 01:07:15 +01:00
elsid
959de6f4c1
Avoid UB on empty fog data record
2023-02-17 23:42:49 +01:00
elsid
28f7a89530
Reuse dtNavMeshQuery
...
To avoid redundant allocations.
2023-02-17 15:05:25 +01:00
elsid
996153f78d
Convert RefId to class
2023-02-15 23:20:44 +01:00
Petr Mikheev
b71eac3e76
Fix #7210
2023-02-15 10:31:10 +01:00
Petr Mikheev
eceeb15ee5
Fix bug in lua_ui/content.lua: getmetatable(ui.content{}) shouldn't return a global mutable table
2023-02-14 21:08:19 +01:00
Petr Mikheev
65885d994f
Don't expose LuaUtil::Callback to lua
2023-02-14 21:08:19 +01:00
Petr Mikheev
71ba7b88e2
Move asyncpackage from apps/openmw/mwlua to components/lua
2023-02-14 20:03:32 +01:00
elsid
6d261d38dd
Add functions to read and write ESM::RefId and use them
...
To be later changed with another implementation.
2023-02-13 22:07:58 +01:00
elsid
80e6d6cbe3
Support variable size strings in ESM3
2023-02-13 10:18:32 +01:00
elsid
beb017e699
Do not truncate too long strings on writing ESM
2023-02-13 10:18:32 +01:00
elsid
c0c723bb1b
Add const to read only function
2023-02-13 10:18:32 +01:00
Alexei Kotov
0ba179c332
Discard terrain base layer alpha in non-shader rendering path (bug #6657 )
2023-02-13 03:43:59 +03:00
psi29a
02651cd96c
Merge branch 'texturefx' into 'master'
...
Propagate dynamic effects to node's immediate children (bug #6550 )
Closes #6550
See merge request OpenMW/openmw!2721
2023-02-11 21:42:30 +00:00
elsid
2e64155c0f
Use signed type for left record and files size in ESM3 reader context
...
Otherwise reading some of the records like ESM::CellRef without a subrecord
after could lead to underflow of ESM_Context::leftRec which makes
ESM::ESMReader::hasMoreSubs to return true and load hangs for a while trying to
read the same subrecord many times.
Fix ESM::Variant tests since it's now required to have a record for any ESM
data. Add 16 (size of record header) to all expected data sizes.
2023-02-11 16:09:14 +01:00
Alexei Kotov
9deed5c03e
Propagate dynamic effects to node's immediate children (bug #6550 )
2023-02-11 17:37:25 +03:00
elsid
a5ec108cfb
Add missing space
2023-02-11 15:14:02 +01:00
elsid
4f683d1ee9
Throw exception on failed write
2023-02-11 15:14:02 +01:00
psi29a
5f1da29881
Merge branch 'bsapriority' into 'master'
...
Files::Collections: prefer files from highest priority folders (bug #7092 )
Closes #7092
See merge request OpenMW/openmw!2716
2023-02-11 10:50:55 +00:00
psi29a
83894bae8a
Merge branch 'nif' into 'master'
...
Add NiTriBasedGeomData abstraction, bring NiVertexColorProperty to modern standards
See merge request OpenMW/openmw!2714
2023-02-11 10:33:08 +00:00
Alexei Kotov
536370c76d
Files::Collections: prefer files from highest priority folders
2023-02-11 01:25:00 +03:00
Alexei Kotov
99aa90f90c
Rewrite NiVertexColorProperty
2023-02-11 00:58:13 +03:00
Alexei Kotov
d39127cc3d
Add NiTriBasedGeomData abstraction
2023-02-10 23:06:56 +03:00
elsid
080700f8fe
Name all custom ESM format versions and add tests
2023-02-10 19:54:15 +01:00
psi29a
de2bd6d802
Merge branch 'nistringpalette' into 'master'
...
Fix NiStringPalette loading again
See merge request OpenMW/openmw!2703
2023-02-10 07:46:39 +00:00
AnyOldName3
8ea2e15446
clang-format some more
...
LLVM shouldn't make me download everything they've ever made in the same
package as clang-format.
2023-02-10 00:40:48 +00:00
AnyOldName3
83b940397e
AdD lInE bReAk ThAt ClAnG-fOrMaT wAnTeD
2023-02-10 00:12:55 +00:00
Alexei Kotov
a4ddf443ed
Fix NiStringPalette loading
2023-02-09 21:10:25 +03:00
Alexei Kotov
c8430ee6c8
Clean up fillTriangleMesh for NiTriStrips
2023-02-09 20:24:05 +03:00
AnyOldName3
7d4410d4fb
Use reserveGlobalTextureUnits for shadow maps
2023-02-09 01:32:48 +00:00
psi29a
a41cbfb349
Merge branch 'candles' into 'master'
...
Read NiBlendInterpolator records, fill in NiControllerManager fields
See merge request OpenMW/openmw!2700
2023-02-08 22:24:37 +00:00
elsid
2c43a8558a
Add option to disable debug log for unsupported nif files
...
It becomes quite extensive and not very useful when loading oblivion content
files.
2023-02-08 22:59:29 +01:00
Alexei Kotov
d7834c43e5
Fill in NiControllerManager fields
2023-02-09 00:06:08 +03:00
Alexei Kotov
091fcd837e
Read all the NiBlendInterpolator record types
2023-02-09 00:06:08 +03:00
Alexei Kotov
7ecf018743
Add NiBlendInterpolator
2023-02-08 22:58:47 +03:00
elsid
02ada74fa1
Do not try to dereference nullptr in object cache
2023-02-08 20:19:59 +01:00
Alexei Kotov
41d6ccd3f6
Read NiDefaultAVObjectPalette
2023-02-08 15:08:52 +03:00
psi29a
5f9332751c
Merge branch 'roottrafo' into 'master'
...
Don't discard root node transformations for Gamebryo meshes
See merge request OpenMW/openmw!2697
2023-02-08 11:32:16 +00:00
Alexei Kotov
b14d1f0c6b
Don't discard root node transformations for Gamebryo meshes
2023-02-08 14:20:42 +03:00
Alexei Kotov
8ebdd1e4a5
Fix material data loading for 10.0.1.0
2023-02-08 13:46:54 +03:00
Alexei Kotov
115c30a573
Read bhkConvexTransformShape
2023-02-08 13:26:26 +03:00
AnyOldName3
9be3d2668a
Break out of loops when uniform is found
2023-02-07 22:19:53 +00:00
Alexei Kotov
9f28a26b25
Read NiSequence/NiControllerSequence
2023-02-08 01:03:11 +03:00
psi29a
944931c9bf
Merge branch 'load_esm4_lights' into 'master'
...
Adds ESM4 light into ESM4 Cells
See merge request OpenMW/openmw!2692
2023-02-07 16:50:10 +00:00
florent.teppe
486d15b19e
moved light common to its own file
...
moved esm4light to it's own file
2023-02-07 16:29:17 +01:00
florent.teppe
dc961e3189
Adds the light into the scene.
...
Common struct for ESM3 and ESM4 light
2023-02-07 10:07:59 +01:00
elsid
627bed09ee
Remove redundant operator<< overloads from Log
2023-02-06 21:18:35 +01:00
psi29a
a0795ba7ae
Merge branch 'launch_fix' into 'master'
...
Fix some non-ASCII path issues
Closes #6817
See merge request OpenMW/openmw!2686
2023-02-06 19:50:30 +00:00
florent.teppe
a71a86e64a
Load light models in the engine. Doesn't emit light
2023-02-06 20:22:17 +01:00
psi29a
15b3af92df
Merge branch 'macos_lua_fix' into 'master'
...
make sure lua works with macos packages
See merge request OpenMW/openmw!2687
2023-02-06 18:53:19 +00:00
psi29a
4f001d8736
Merge branch 'qt6' into 'master'
...
Add an initial Qt6 support
See merge request OpenMW/openmw!2684
2023-02-06 16:55:20 +00:00
Andrei Kortunov
7e2aedf637
Add an initial Qt6 support
2023-02-06 18:38:59 +04:00
Bret Curtis
a708fb4a5c
make sure lua works with macos packages
2023-02-06 14:35:22 +01:00
Andrei Kortunov
8925f854e7
Fix non-ASCII path logging
2023-02-06 15:12:24 +04:00
Andrei Kortunov
5836d27928
Fix ContentSelector usage with non-ASCII paths
2023-02-06 13:36:02 +04:00
psi29a
4032c447e9
Merge branch 'load-ESM4-Cell' into 'master'
...
Can load and coc into an interrior oblivion cell
See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
glassmancody.info
e778ffee9b
po2 scaling for average luminance
2023-02-05 12:30:38 -08:00
elsid
e92ada09af
Replace QRegExp by QRegularExpression
2023-02-05 13:30:26 +01:00
AnyOldName3
80d6f6bc97
Add line break that clang-format wanted
2023-02-05 02:07:00 +00:00
AnyOldName3
0edc8fc77d
Don't use FFP-friendly texture image units for shadow maps
...
This more-or-less gets rid of the shadow system's only depencency on FFP
stuff. All that remains is it using OSG cameras, which OSG provides a
uniform-based implementation of, too, which we can trivially migrate to.
This should mean we're not eating any of the ~8 FPP-friendly texture
units, which is good as Morrowind models can use all of those on their
(although they very rarely do), and instead use some of the ~160
shader-only texture image units. This just requires not calling
glEnable(GL_TEXTURE_2D), accomplished by changing
setTextureAttributeAndModes to setTextureAttribute.
Also changes from using glTexGen and its eye plane matrices to pass the
shadow space matrix for each light to explicit uniforms. Thankfully, the
maths was a simple combination of the valid region matrix and eye plane
matrix maths.
As of this commit, I believe this kills shadows in one eye for stereo
rendering.
2023-02-05 00:40:33 +00:00
psi29a
aee7716c3a
Merge branch 'launcher_typed_settings' into 'master'
...
Typed launcher settings
See merge request OpenMW/openmw!2650
2023-02-04 23:41:59 +00:00
florent.teppe
084207af64
Avoids a lot a special cases for ESM3 vs ESM4 cells.
2023-02-04 23:25:06 +01:00
florent.teppe
1caed2de2a
Applies some review comments.
...
Proper visit for ESM::CellVariant
Fixed MWWorldCell constructor
2023-02-04 17:09:54 +01:00
elsid
f1dbd9b959
Fix -Wduplicated-branches warnings
2023-02-04 00:10:30 +01:00
elsid
c79c14da91
Fix -Wnon-virtual-dtor warnings
2023-02-03 23:00:09 +01:00
psi29a
00978ed7a4
Merge branch 'wherefore_art_thou_horatius' into 'master'
...
Fix global variable replacement in dialogue
Closes #7197
See merge request OpenMW/openmw!2675
2023-02-01 23:38:32 +00:00
psi29a
68b3b90255
Merge branch 'ui_content_leak' into 'master'
...
Move implementation of UI Content to Lua (#7155 )
See merge request OpenMW/openmw!2661
2023-02-01 22:51:47 +00:00
Evil Eye
8d2b5ed8ee
Combine initializer_lists
2023-02-01 22:27:22 +01:00
Evil Eye
d3bc79e9b2
Reduce code duplication
2023-02-01 21:57:50 +01:00
Evil Eye
32ac7406ab
Fix global variable replacement in dialogue
2023-02-01 17:49:11 +01:00
Evil Eye
571e11cd42
Restore 0936d716d96cd45b3efc2d1a3697614f7f96952d
2023-02-01 17:26:39 +01:00
uramer
e96681151c
Get rid of the LuaUI::Content namespace
2023-02-01 17:18:50 +01:00
uramer
d24c506b0e
Move metatable protection asserts to tests
2023-02-01 16:34:32 +01:00
uramer
2a35bae655
Use range_error for invalid indexes
2023-02-01 16:24:58 +01:00
uramer
fb0646dda1
Remove Ui Content counter in Lua profiler
2023-01-31 19:52:28 +01:00
uramer
bbbef96087
Switch to loadInternalLib
2023-01-31 19:50:33 +01:00
uramer
c7b0c0a406
Protecd UI Content's metatable
2023-01-30 23:22:18 +01:00
florent.teppe
4e7cde5d72
applied some review changes.
...
crashfix tests
2023-01-30 20:49:34 +01:00
psi29a
92f88c16a9
Merge branch 'remove-strerror' into 'master'
...
Remove strerror usages
Closes #7151
See merge request OpenMW/openmw!2664
2023-01-30 17:09:39 +00:00
psi29a
bc90636316
Merge branch 'fix-7117' into 'master'
...
Replace boost::scoped_array with std::vector
Closes #7117
See merge request OpenMW/openmw!2662
2023-01-30 14:12:04 +00:00
psi29a
ef0a81e811
Merge branch 'integration_tests_crash_log' into 'master'
...
Use proper log paths and print crash log in integration tests CI job
See merge request OpenMW/openmw!2668
2023-01-30 12:12:21 +00:00
Petr Mikheev
3096111abb
Merge branch 'docs_fixes' into 'master'
...
Documentation and API fixes (part of !2529 )
See merge request OpenMW/openmw!2649
2023-01-30 10:13:26 +00:00
uramer
c17eedd348
Documentation and API fixes (part of !2529 )
2023-01-30 10:13:26 +00:00
elsid
c44bc5ade5
Setup logging with properly initialized configuration manager
...
Default constructed instance may provide different paths from initialized one.
2023-01-30 09:30:55 +01:00
elsid
007ad4e4d1
Write crash log to temporary directory
...
To make sure current user has rights to do so.
2023-01-30 09:30:55 +01:00
Andrzej Głuszak
9b0a499b58
Remove strerror usages
2023-01-29 22:41:59 +01:00
Andrzej Głuszak
c9e5f0208d
Replace boost::scoped_array with std::vector
2023-01-29 20:40:07 +01:00
uramer
259f104311
Clean up
2023-01-29 19:40:13 +01:00
uramer
749c89e26e
Add missing to_string
2023-01-29 19:28:54 +01:00
uramer
3618b3f409
Fix Content::View::remove
2023-01-29 18:52:18 +01:00
uramer
fc1430af95
Move implementation of UI Content to Lua
2023-01-29 17:07:38 +01:00
psi29a
3a9a60a453
Merge branch 'esmtool_esm4_globals' into 'master'
...
Support more fields in esmtool for ESM4
See merge request OpenMW/openmw!2659
2023-01-29 11:30:01 +00:00
florent.teppe
ebfee18e35
implements std::visit for CellVariant, fixes struct vs class forward decl
2023-01-29 11:28:39 +01:00
florent.teppe
aa29f86efe
fixed struct vs class.
2023-01-29 10:59:39 +01:00
elsid
d541436b15
Support parent, type and value fields in esmtool for ESM4
2023-01-29 03:02:00 +01:00
elsid
e7acced5e9
Move metafunctions to check ESM4 field existence to a separate header
2023-01-29 03:00:48 +01:00
elsid
5bb088218e
Restore original formId
...
To make sure esmtool prints original value and not a result of conversion.
2023-01-29 02:35:06 +01:00
florent.teppe
f9da66e9ee
Greatly improved how the variant on MWWorld::CellRef works
2023-01-28 18:57:55 +01:00
florent.teppe
216ca71149
Applied review comments
...
getEditorName => getNameId
restored cosntructor in CoordinateConverter
2023-01-28 12:14:00 +01:00
florent.teppe
e6e27413d9
gives MWWorld::CellRef the MWWorld::Cell treatment
...
MWWorld::CellRef now has a variant, and datas that are part of the intersection of both ESM4::Reference and ESM::CellRef are part of MWWorld::CellRef
For ESM4 most data isn't filled in, so it returns default values.
2023-01-27 19:40:45 +01:00
elsid
8be2fc9fd7
Stop updating navmeshtool progress on first bad message
2023-01-27 19:10:53 +01:00
florent.teppe
23614ae2ae
Renamed esm3esm4bridge => esmbridge
2023-01-27 18:40:15 +01:00
florent.teppe
5037dcf9bc
Fixes a crash on launch and some compile issue
...
also uses std::visit in cellstore comparison to avoid missing combinasion
split loadrefs in loadref of ESM4 and ESM3.
2023-01-27 16:41:00 +01:00
florent.teppe
cb8cdd8831
ESM::CellVariant aans MWWorld:Cell now take reference in constructor: signals that nullptr isn't accepted.
...
also applied other review comments.
2023-01-27 14:07:50 +01:00
florent.teppe
531e55e04c
Better handling of the esm3 vs esm4 cell problem
...
Common attribute are in one structure that has two constructors, one for ESM3 vs ESM4 Cell
Mood part of MWWorld::Cell
2023-01-27 13:39:39 +01:00
elsid
cf75363290
Typed launcher settings
...
QMultiMap is not clear about what settings exist and it's not efficient way to
access them after they are loaded.
2023-01-27 12:42:05 +01:00
elsid
0961720835
Join path components using path::operator/ instead of string::operator+
2023-01-27 01:07:15 +01:00
florent.teppe
3515c8e61a
Static references are created as refcells, nothing displayed yet.
2023-01-26 22:37:32 +01:00
florent.teppe
c896a2ca48
Crashfix on launch
2023-01-26 22:37:32 +01:00
florent.teppe
0018bcf7de
Should make cellvariant safer to use.
...
Hopefully clang tidy agrees.
2023-01-26 22:37:32 +01:00
florent.teppe
e81e278363
Implements some cell params + linux compile fix
2023-01-26 22:37:31 +01:00
florent.teppe
562e129bd0
encapsulations of esm3 cell and esm4 cells.
2023-01-26 22:37:31 +01:00
florent.teppe
08b68fcd48
Cannot load a cell yet, but getting more necessary parts in
2023-01-26 22:36:11 +01:00
Evil Eye
d40a9ec5bc
Use worldspace coords in AiWanderStorage
2023-01-23 21:06:50 +01:00
psi29a
1422053fa9
Merge branch 'more_uniforms' into 'master'
...
[Postprocessing] Add sky and ambient colors
See merge request OpenMW/openmw!2638
2023-01-21 22:42:21 +00:00
psi29a
eb853b1315
Merge branch 'ptmikheev-master-patch-34687' into 'master'
...
Fix constexprant
See merge request OpenMW/openmw!2643
2023-01-21 22:42:03 +00:00
Petr Mikheev
24ef6d29d4
Fix constexprant
2023-01-21 21:58:17 +00:00
florent.teppe
a4137e941c
std::string_view can be used in map and unordered map
...
This avoids some unecessary dynamic allocations.
Also applies some review advice.
2023-01-21 19:19:26 +01:00
florent.teppe
63e44eddc9
Navigator doesn't use RefId anymore
2023-01-21 18:39:57 +01:00
florent.teppe
150e2ba885
Revert "Use ESM::RefId for worldspace in detournavigator"
...
This reverts commit b4ab153418
.
# Conflicts:
# apps/navmeshtool/worldspacedata.cpp
2023-01-21 18:39:57 +01:00
florent.teppe
3780033837
Reverts Cell name to a string
2023-01-21 18:39:42 +01:00
glassmancody.info
564c408663
expose more uniforms to postprocessing
2023-01-20 17:43:54 -08:00
Petr Mikheev
95999afefd
Apply clang-format to the previous commit
2023-01-20 23:44:12 +01:00
Petr Mikheev
ca48b778c3
Merge branch 'addutils' into 'master'
...
Add remap and round to lua utils
See merge request OpenMW/openmw!2605
2023-01-20 22:28:34 +00:00
Kindi
07da7eddea
Add remap and round to lua utils
2023-01-20 22:28:34 +00:00
elsid
dd89403df0
Move ensureUtf8Encoding to named namespace
...
To follow https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#sf21-dont-use-an-unnamed-anonymous-namespace-in-a-header
Add QtGlobal include to define QT_VERSION and QT_VERSION_CHECK macroses before
they're used.
2023-01-18 22:58:35 +01:00
psi29a
ee980721b8
Merge branch 'debug_lua_memory' into 'master'
...
Additional information in Lua profiler
See merge request OpenMW/openmw!2612
2023-01-18 14:33:05 +00:00
psi29a
fbeacc1e0f
Merge branch 'navigator_check_agent_bounds' into 'master'
...
Check agent bounds on adding agent to navigator
See merge request OpenMW/openmw!2629
2023-01-18 14:31:22 +00:00
psi29a
54c18ea86d
Merge branch 'change-const-to-constexpr' into 'master'
...
change const to constexpr
Closes #6797
See merge request OpenMW/openmw!2630
2023-01-18 14:30:36 +00:00
elsid
cf1d8544e3
Check agent bounds on adding agent to navigator
...
Do not add agent bounds which are not supported by recastnavigation with given
settings and log such events.
To avoid reaching navmesh tile generation to find out it can't be generated for
such agent bounds.
2023-01-18 12:00:48 +01:00
James-Deciutiis
4e61fec14d
change const to constexpr
2023-01-17 19:31:52 -08:00
Andrei Kortunov
ee9ab8d393
Use STL-style iterators instead of Java-style ones
2023-01-15 20:23:18 +04:00
Andrei Kortunov
792feae39e
Do not use deprecated implicit conversion
2023-01-15 20:23:18 +04:00
Andrei Kortunov
0864d997d0
Add missing includes
2023-01-15 20:09:56 +04:00
psi29a
a7a89ba7c1
Merge branch 'launcher' into 'master'
...
Rework how OpenMW launcher looks
Closes #6922
See merge request OpenMW/openmw!2587
2023-01-15 16:00:59 +00:00
psi29a
dc3ec1a0a0
Merge branch 'mwscript' into 'master'
...
Multiple mwscript optimizations and some refactoring
See merge request OpenMW/openmw!2600
2023-01-15 15:59:30 +00:00
psi29a
32733d23fa
Merge branch 'xanim' into 'master'
...
X-file handling fixes (bug #5371 )
Closes #5371
See merge request OpenMW/openmw!2614
2023-01-15 15:57:27 +00:00
Andrei Kortunov
902c48d1bb
Rework launcher UI
2023-01-15 12:36:08 +04:00
elsid
44429f0393
Limit NavMeshManager update range by player tile and max tiles
...
Object AABB may be much larger than area currently covered by navmesh. In this
case all tiles beyond covered range should be ignored. Attempt to iterate over
them will not result in any new tile updates but can take quite a while. At
maximum this can be pow(INT_MAX - INT_MIN, 2) iterations.
Use arbitrary time limit to check for update call to finish in the test.
2023-01-15 04:46:29 +01:00
Alexei Kotov
6ff9b5d326
Make use of ends_with for KF
2023-01-15 01:48:06 +03:00
Alexei Kotov
434b4deda1
Don't use xkf if xnif is merely the base model (bug #5371 )
2023-01-14 04:55:12 +03:00
Alexei Kotov
4d0788e016
Use xnif if its xkf is present even if xnif isn't
2023-01-14 03:35:50 +03:00
elsid
d4ab1101eb
Change Interpreter type aliases to be fixed size types
...
Remove no longer relevant comment for float type.
2023-01-14 00:09:01 +01:00
elsid
b88f0d2dbd
Replace mwscript program serialization into a vector with simple struct
...
Mostly to avoid string literal lookup by index with iteration over all preciding
literals and calling strlen. This is very inefficient. In genral this makes code
much more straightforward but also makes it portable since now int and float of
different sizes are properly supported.
2023-01-14 00:07:37 +01:00
Petr Mikheev
d9e9db0983
Additional information in Lua profiler
2023-01-13 21:14:23 +01:00
psi29a
25d7ee7fdc
Merge branch 'streams' into 'master'
...
Setup utf8qtextstream in the way consistent with other Qt components
See merge request OpenMW/openmw!2611
2023-01-13 11:23:44 +00:00
Andrei Kortunov
8da93d4b12
Setup utf8qtextstream in the way consistent with other Qt components
2023-01-13 13:10:34 +04:00
jvoisin
c90d22f3b2
Replace usage of QRegularExpression::anchoredPattern with ^
and $
...
Using `^` and `$` is shorter than `QRegularExpression::anchoredPattern`,
and even allows us in one case to get rid of a trailing `.*`.
2023-01-12 22:52:00 +01:00
Andrei Kortunov
bfcbc2350d
Handle UTF-8 in Qt streams in the Qt6-compatible way
2023-01-12 15:39:50 +04:00
elsid
60eede6a1d
Fix variable naming styleguide
2023-01-11 23:47:42 +01:00
elsid
0ab3090385
Make Runtime::getPC and setPC inline
2023-01-11 23:47:42 +01:00
elsid
46b4427d2e
Remove user defined constructor for Runtime
2023-01-11 23:47:42 +01:00
elsid
9c8df09475
Remove user defined constructors for Interpreter
2023-01-11 23:47:42 +01:00
Andrei Kortunov
307a60e87c
Migrate from QRegExp to more modern QRegularExpression
2023-01-11 11:21:46 +04:00
elsid
c173348cbe
Use default initializers for ESM::RefNum members
...
Instead of unset function that is removed now and assignments all over the code.
2023-01-10 00:44:51 +01:00
psi29a
6a250c5900
Merge branch 'baby_it_is_occluded_outside' into 'master'
...
Weather Particle Occlusion (#5492 )
Closes #5492
See merge request OpenMW/openmw!1328
2023-01-07 22:18:45 +00:00
psi29a
83718878b2
Merge branch 'Load_ESM4' into 'master'
...
Loading ESM4 data and storing them in the ESMStore
See merge request OpenMW/openmw!2557
2023-01-07 22:17:17 +00:00
psi29a
a9d3186173
Merge branch 'fix_esm_fixed_string_warning' into 'master'
...
Fix gcc warning: array subscript n is outside array bounds of ‘const char [n]’
See merge request OpenMW/openmw!2585
2023-01-07 22:15:16 +00:00
Andrei Kortunov
9630246cae
Sort quests in journal by name (bug 7054)
2023-01-07 18:55:51 +04:00
glassmancody.info
9a4977d334
rain occlusion
2023-01-06 22:23:03 -08:00
elsid
2bbed8cc06
Fix gcc warning: array subscript 5 is outside array bounds of ‘const char [5]’
...
In function ‘bool ESM::operator==(const FixedString<capacity>&, const T* const&) [with long unsigned int capacity = 5; T = char; <template-parameter-1-3> = void]’,
inlined from ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = ESM::FixedString<5>; T2 = const char*]’ at /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:1358:11,
inlined from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = ESM::FixedString<5>; T2 = const char*; typename std::enable_if<((! std::is_integral<_Tp>::value) || (! std::is_pointer<_Dp>::value))>::type* <anonymous> = 0]’ at /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:1377:64,
inlined from ‘virtual void {anonymous}::EsmFixedString_equality_operator_for_not_convertible_to_uint32_with_const_char_pointer_Test::TestBody()’ at apps/openmw_test_suite/esm/test_fixed_string.cpp:165:9:
components/esm/esmcommon.hpp:134:19: warning: array subscript 5 is outside array bounds of ‘const char [5]’ [-Warray-bounds]
134 | return rhs[capacity] == '\0';
| ~~~^
apps/openmw_test_suite/esm/test_fixed_string.cpp: In member function ‘virtual void {anonymous}::EsmFixedString_equality_operator_for_not_convertible_to_uint32_with_const_char_pointer_Test::TestBody()’:
apps/openmw_test_suite/esm/test_fixed_string.cpp:164:20: note: at offset 5 into object ‘other’ of size 5
164 | const char other[5] = { 'a', 'b', 'c', 'd', '\0' };
| ^~~~~
2023-01-06 22:09:07 +01:00
psi29a
55ba5ed7ea
Merge branch 'mygui_log' into 'master'
...
Use OpenMW logging levels for MyGUI log
Closes #7130
See merge request OpenMW/openmw!2582
2023-01-06 15:09:46 +00:00
Andrei Kortunov
b217d1fc36
Use OpenMW logging levels for MyGUI log (feature 7130)
2023-01-06 16:01:30 +04:00
psi29a
0d8d15a732
Merge branch 'fixcolladaanimopbug' into 'master'
...
Fix Collada animated object bug #7051
Closes #7051
See merge request OpenMW/openmw!2565
2023-01-06 10:10:27 +00:00
unelsson
5b0713517a
Clang-format
2023-01-05 01:40:36 +02:00
psi29a
319aa11d84
Merge branch 'l10n_rename' into 'master'
...
Reorganize l10n files
See merge request OpenMW/openmw!2546
2023-01-04 21:48:00 +00:00
psi29a
1e62b84f9a
Merge branch 'lua_initdata' into 'master'
...
Allow passing `initData` to the :addSript call (#7091 )
Closes #7091
See merge request OpenMW/openmw!2568
2023-01-04 14:32:23 +00:00
florent.teppe
631fa26872
Applies review advice.
2023-01-04 12:22:16 +01:00
unelsson
ba9c2c9928
Add TemplateRef to animated Collada model
2023-01-03 22:51:46 +02:00
florent.teppe
3b2d9161c4
Applied review advice
...
better deals with templated functions meant for esm3 used by esm4s.
simplified loading of esm4 and dealing with unhandled record types.
2023-01-02 19:20:03 +01:00
florent.teppe
e9190bedc8
Reverts useless CmakeList formatting
2023-01-02 18:35:05 +01:00
Petr Mikheev
8c7d347179
Reorganize l10n files
2023-01-02 13:21:05 +01:00
florent.teppe
077cf97bc4
The esm4 reader logic is mutualised
...
to avoid copy pasting code, readerutils gives functions that take visitors as params to decide how a record must be handled
Check encoder exists, and get value of stateless encoder.
fixes code formatting conventions
Fixed output of record with RefId
also fixed readTypedRecord and readRecord to have the proper return types
Check if the type has a sRecordId
2023-01-01 19:22:27 +01:00
florent.teppe
c721a6cafa
Initial commit to load ESM4
...
Some data is actually loaded and store in ESM Store
Any new ESM4 will go through the same code path and be automatically sent to the right store
2023-01-01 16:22:57 +01:00
Petr Mikheev
b248c3e173
Allow passing initData
to the :addSript call ( #7091 )
2022-12-31 22:08:17 +01:00
unelsson
d60fd86719
clang format
2022-12-31 00:52:05 +02:00
unelsson
c71504eeb0
Better comments
2022-12-31 00:35:50 +02:00
unelsson
4676ac4ac9
Cleaner code part 2
2022-12-31 00:35:50 +02:00
unelsson
960019cf65
Cleaner code
2022-12-31 00:35:50 +02:00
unelsson
2efc691736
clang format
2022-12-31 00:35:50 +02:00
unelsson
7ef6b3cb62
automatic clang format
2022-12-31 00:35:50 +02:00
unelsson
d8de56e33c
Coding style improvements, add Torso animation layer
2022-12-31 00:35:50 +02:00
unelsson
ffc64205c5
Force collada animation layers, remove nif blend mask detection.
2022-12-31 00:35:50 +02:00
elsid
c71862a8df
Reset rcPolyMeshDetail members after rcFree
...
To avoid double free causing by later recastnavigation versions.
2022-12-30 19:26:48 +01:00
psi29a
e6064645db
Merge branch 'esm_ref_id_refactor' into 'master'
...
Simplify ESM::RefId
See merge request OpenMW/openmw!2563
2022-12-30 13:27:35 +00:00
elsid
755067f0f3
Remove redundant ESM::RefId member functions
2022-12-30 00:32:47 +01:00
elsid
fe57aec2a4
Move ESM::RefId comment to make sure IDEs recognize it and show in tooltips
2022-12-30 00:04:02 +01:00
elsid
b4ab153418
Use ESM::RefId for worldspace in detournavigator
2022-12-29 23:49:49 +01:00
Petr Mikheev
b8fb013edf
Merge MWLua::ObjectRegistry and MWWorld::WorldModel
2022-12-28 12:45:11 +01:00
psi29a
80e2cd79ec
Merge branch 'boat_closer_to_todd' into 'master'
...
Ignore special characters preceding script commands
Closes #6807
See merge request OpenMW/openmw!2555
2022-12-28 11:21:24 +00:00
florent.teppe
afed7e60ef
Upgraded Filesave version for RefIDs
...
Fix logic issue
2022-12-27 23:05:31 +01:00
florent.teppe
dc21df97c8
Fixed issue with getSummonedCreature( that returned a reference to a non const static value
...
Fix compile, and apply review comment
Fixed greater vs more typo.
getCellname is back to a string view.
Because in most cases was used as a strong not a refId.
and there was a fundamental issue with region names used as a cellname
2022-12-27 19:16:22 +01:00
florent.teppe
1ef1de974d
script blacklist => RefId
...
Applies changes from review
Fixed clang format
Clang format + review.
2022-12-27 19:16:21 +01:00
florent.teppe
2c30575b3b
CellName is now a RefId, makes more sense that way.
2022-12-27 19:16:21 +01:00
florent.teppe
6ff90b34a8
Fixed an issue with RefId in CellRefs where Ids wouldn't be loaded
...
Fixed multiple issues from the review.
2022-12-27 19:15:58 +01:00
florent.teppe
42e45723b7
Fixes issue in MW script compilation that would silently produce the wrong bytecode
...
Fixes issue when fetching MyGui values that were stored as RefId but fetched as String
Removed some uncessary copies, fixed issues with lowercase and uneeded changes
2022-12-27 19:15:57 +01:00
florent.teppe
e7deffb376
Adds comment that explains what RefIds are
2022-12-27 19:15:57 +01:00
florent.teppe
d49f60d2d6
To change fewer things with the master implementation, the Id isn't changed to lower case on creation
...
lower case utility functions used in comparison functions
2022-12-27 19:15:57 +01:00
florent.teppe
65cdd489fb
create a specific esm reader function for RefID to avoid allocation for string and then again for RefId
...
Fixed some types
removed useless header
applied clang format
fixed compile tests
fixed clang tidy, and closer to logic before this MR
Removed hardcoded refids
unless there is a returned value we don't use static RefIds
can use == between RefId and hardcoded string
Fix clang format
Fixed a few instances where std::string was used, when only const std::string& was needed
removed unused variable
2022-12-27 19:15:57 +01:00
florent.teppe
874ff88288
In the interpretter, the id is no longer passed by vallue, but as a const reference instead.
...
In getMembersLocal(, a reference to a reference wrapper is used, because the id can change, bu all we need to do is change a pointer.No need to change the value
2022-12-27 19:15:56 +01:00
fteppe
c283ea0ae8
string_view& => string_view
...
fixed ref to temp variable
2022-12-27 19:15:56 +01:00
fteppe
7da38113be
Changed more hardcoded RefId to be static to avoid multiple runtime creations
...
adresses multiple review comments
2022-12-27 19:15:56 +01:00
fteppe
62d8fe3fc2
changed a few hardcoded refIds used in mutliple places to be defined only once in a variable
2022-12-27 19:15:55 +01:00
fteppe
20da0892ef
openMW_test_suite compiles and runs
...
Slowly moving through the open-cs errors
Good progress in openCS
Very good progress on openCS
Getting closer with openCS
OpenCS compiles and runs! Didn't have time to test it all though
ix openMW
everything compiles on windows??
Fix gcc
Fix Clang
2022-12-27 19:15:55 +01:00
fteppe
2f2e401559
is Hidden marker now takes a const RefId& instead of a string_view
2022-12-27 19:15:55 +01:00
fteppe
0d68735e23
moved all code in CPP in ESM namespace since it was already necessary for << operator
...
in the equality operator, no longer need ciequal since the id is already always lowercase
2022-12-27 19:15:55 +01:00
fteppe
c8bb733360
removed clear() function, the only way to change the Id from the outside is from the assignment operator
...
replaced ciEqual with == operator
2022-12-27 19:15:55 +01:00
fteppe
ee941f9b09
RefId's mId can't be get as mutable from the outside
...
also removed useless operator= defintion
2022-12-27 19:15:55 +01:00
fteppe
d6d2a37d03
some clean and better comments
2022-12-27 19:15:54 +01:00
fteppe
125b21de20
Initial commit: In ESM structures, replace the string members that are RefIds to other records, to a new strong type
...
The strong type is actually just a string underneath, but this will help in the future to have a distinction so it's easier to search and replace when we use an integer ID
Slowly going through all the changes to make, still hundreds of errors
a lot of functions/structures use std::string or stringview to designate an ID. So it takes time
Continues slowly replacing ids. There are technically more and more compilation errors
I have good hope that there is a point where the amount of errors will dramatically go down as all the main functions use the ESM::RefId type
Continue moving forward, changes to the stores
slowly moving along
Starting to see the fruit of those changes.
still many many error, but more and more Irun into a situation where a function is sandwiched between two functions that use the RefId type.
More replacements. Things are starting to get easier
I can see more and more often the issue is that the function is awaiting a RefId, but is given a string
there is less need to go down functions and to fix a long list of them.
Still moving forward, and for the first time error count is going down!
Good pace, not sure about topics though, mId and mName are actually the same thing and are used interchangeably
Cells are back to using string for the name, haven't fixed everything yet. Many other changes
Under the bar of 400 compilation errors.
more good progress <100 compile errors!
More progress
Game settings store can use string for find, it was a bit absurd how every use of it required to create refId from string
some more progress on other fronts
Mostly game settings clean
one error opened a lot of other errors. Down to 18, but more will prbably appear
only link errors left??
Fixed link errors
OpenMW compiles, and launches, with some issues, but still!
2022-12-27 19:15:54 +01:00
Evil Eye
b19ad079c2
Ignore special characters preceding script commands
2022-12-27 14:59:56 +01:00
Alexei Kotov
cdd6a8c007
Merge branch 'models_for_the_model_god' into 'master'
...
Implement TestModels/T3D
Closes #7058
See merge request OpenMW/openmw!2506
2022-12-27 00:41:39 +00:00
psi29a
14afde4689
Merge branch 'recast_context' into 'master'
...
Check input and report errors via RecastContext (#7093 )
Closes #7093
See merge request OpenMW/openmw!2544
2022-12-20 09:31:31 +00:00
psi29a
df92d76536
Merge branch 'drippy' into 'master'
...
Ignore non-3D agents in the navigator
Closes #7093
See merge request OpenMW/openmw!2537
2022-12-19 21:51:38 +00:00
elsid
15e8f0b53c
Check input and report errors via RecastContext
...
Recast functions have preconditions for arguments they don't validate. This may
produce garbage data which may lead to crash. Check arguments and log when they
are invalid.
Do not throw exceptions when these function calls fail, capture Recast reported
errors via RecastContext inherited from rcContext and log them.
2022-12-19 19:46:45 +01:00
Cédric Mocquillon
7e77e69a3c
Use a wider type when converting to a signed type
2022-12-18 21:31:51 +01:00
Evil Eye
d40c09c18c
Ignore non-3D agents in the navigator
2022-12-09 16:43:15 +01:00