AnyOldName3
f31ec2b3a5
Merge branch 'printf' into 'master'
...
Bring messagebox format parsing more in line with printf/vanilla
Closes #8732
See merge request OpenMW/openmw!4878
2025-11-10 15:23:48 +00:00
uramer
3be1010d03
Merge branch 'protectthecall' into 'master'
...
Ensure LuaUtil::call is invoked from a safe context
Closes #8769
See merge request OpenMW/openmw!4971
2025-11-10 09:50:10 +00:00
elsid
c7830d9ee5
Check index for ESM4 race parts
...
To avoid out of bounds access. Index is a part of the file contents so
it can be invalid.
2025-11-09 21:49:41 +01:00
Alexei Kotov
2e4020a244
Merge branch 'mwui' into 'master'
...
Dehardcode script settings window font and colors
See merge request OpenMW/openmw!4798
2025-11-09 06:55:38 +03:00
Andrei Kortunov
6d3f5cf70c
Dehardcode script settings window font and colors
2025-11-08 20:31:24 +04:00
rapidsamphire
a3d99ce636
Add post-processing for bhkListShape subshapes
...
bhkListShape contains a list of subshape references that need to be
resolved after initial parsing. Without calling postRecordList(), the
mSubshapes list would contain unresolved RecordPtrs.
This adds the missing post() override to properly load subshape data,
consistent with other NIF record types that contain RecordPtr lists.
2025-11-07 14:56:05 -06:00
Evil Eye
baefea94e8
Capture this explicitly
2025-11-05 22:09:23 +01:00
AnyOldName3
0a9f5a3c66
Resolve merge conflicts from !4938 and !4956
2025-11-02 18:05:38 +00:00
elsid
e4b28ebdce
Fix clang-tidy checks
...
Placing .clang-tidy into build/ folder hides some checks defined in the
root file. Place them into more specific folders to not check generated
files.
2025-11-02 18:40:02 +01:00
Andrzej Głuszak
c4b28a39c3
Lua: Return nil instead of empty strings for optional RefId fields
...
Implement sol_lua_push for ESM::RefId to automatically convert empty
RefIds to nil in Lua. This fixes cell.region and cell.worldSpaceId
returning empty strings, and applies the same pattern consistently
across all Lua bindings.
Removes LuaUtil::serializeRefId as it's no longer needed.
Fixes #8718
2025-11-02 05:08:25 +03:00
Evil Eye
4f8b418c23
Ensure LuaUtil::call is invoked from a safe context
2025-10-30 22:24:53 +01:00
Alexei Kotov
fea807821d
Don't link to stub Boost.System library ( #8754 )
2025-10-26 05:16:26 +03:00
Evil Eye
a665980d5e
Erase the widget we want to attach rather than the widget we're attaching to
2025-10-23 17:23:37 +02:00
Evil Eye
cc10352def
Address comments
2025-10-22 17:27:51 +02:00
Alexei Kotov
ce4606705f
Merge branch 'permanentlyinvalid' into 'master'
...
Remove invalid permanent effects
Closes #8737
See merge request OpenMW/openmw!4950
2025-10-19 00:21:01 +03:00
Alexei Kotov
1f839d264d
Merge branch 'fix_qt_build' into 'master'
...
Do not implicitly convert QByteArray to const char*
See merge request OpenMW/openmw!4941
2025-10-18 18:41:24 +03:00
Alexei Kotov
b7ddc8304b
Cleverer filesystem path conversion for QString/QStringView
2025-10-18 13:28:30 +03:00
Evil Eye
b9096410c3
Partially revert 91b1346761
2025-10-17 17:24:19 +02:00
Evil Eye
5242610366
Differentiate between invalid and unapplied effects and stop marking unapplied revertable effects as applied in godmode
2025-10-14 21:26:06 +02:00
Alexei Kotov
c75aed5175
Merge branch 'solidlyrooted' into 'master'
...
Don't break LuaUi::Element's invariant
Closes #8720
See merge request OpenMW/openmw!4930
2025-10-11 11:59:17 +03:00
Alexei Kotov
afe4edc3c3
Merge branch 'fix_bsatool_afl_findings' into 'master'
...
Fix AFL findings in bsatool
See merge request OpenMW/openmw!4925
2025-10-11 08:57:48 +03:00
elsid
16abb436e2
Fix potential overflows on reading BSA header
2025-10-06 00:03:12 +02:00
elsid
c87cc643d1
Add tests for BSAFile
2025-10-06 00:02:32 +02:00
elsid
d7f6d7c13c
Add unit tests for CompressedBSAFile
2025-10-06 00:02:32 +02:00
elsid
a111391992
Check for failures after reading from stream in BSA
2025-10-06 00:02:32 +02:00
elsid
801224749f
Handle errors when computing stream size for BSA
2025-10-06 00:02:32 +02:00
elsid
796202f435
Use fail function to verify stream state in BSA
...
If there is a failure to read the file like unexpected EOF, bad returns
false, but fail returns true. Important for reading number of items more
than the file actually has.
2025-10-06 00:02:32 +02:00
elsid
9a449ed506
Only reserve capacity when reading collections
...
But do not initialize. If the meta information is invalid and has a big
value, initialization will take significant amount of time but there
might be no actual data in the file because it's too small.
2025-10-06 00:02:31 +02:00
elsid
38f6c5a68b
Properly handle duplicated BSA folders
...
Deduplicate folders first and then add their files to mFiles.
2025-10-06 00:02:31 +02:00
elsid
c92e321a08
Use std::string_view for BSA file name
2025-10-06 00:02:31 +02:00
elsid
c388fda5e4
Handle empty file name in BSA
2025-10-06 00:02:28 +02:00
elsid
0bae2b14b1
Do not implicitly convert QByteArray to const char*
...
Operators supporting this conversion can be disabled via
QT_NO_CAST_FROM_BYTEARRAY breaking the build. For example:
https://koschei.fedoraproject.org//package/openmw
https://kojipkgs.fedoraproject.org/work/tasks/5096/137735096/build.log
2025-10-05 23:52:25 +02:00
AnyOldName3
44eb972770
Merge branch 'fix_copy_column_warning' of https://gitlab.com/elsid/openmw into warn-baby-warn-warning-inferno
2025-10-05 18:07:34 +01:00
AnyOldName3
91b1346761
Revert "Support wrapped arthimetic types"
...
elsid provided an alternative.
This reverts commit b0cf148393 .
2025-10-05 18:06:41 +01:00
elsid
d171915b6a
Fix error message
2025-10-05 14:46:40 +02:00
elsid
cfd7f52a2f
Fix C4244 MSVC warning in Sqlite3::copyColumn
...
Make sure sqlite3_column_double is not called for int64_t and other
integral types and sqlite3_column_int64 is not called for floating point
types.
[363/1189] Building CXX object components\CMakeFiles\components.dir\RelWithDebInfo\detournavigator\navmeshdb.cpp.obj
D:\dev\openmw\components/sqlite3/request.hpp(109): warning C4244: 'argument': conversion from 'double' to 'T', possible loss of data
with
[
T=int64_t
]
D:\dev\openmw\components/sqlite3/request.hpp(109): note: the template instantiation context (the oldest one first) is
D:\dev\openmw\components\detournavigator\navmeshdb.cpp(198): note: see reference to function template instantiation 'I Sqlite3::request<DetourNavigator::DbQueries::GetMaxTileId,DetourNavigator::TileId*,>(sqlite3 &,Sqlite3::Statement<DetourNavigator::DbQueries::GetMaxTileId> &,I,size_t)' being compiled
with
[
I=DetourNavigator::TileId *
]
D:\dev\openmw\components/sqlite3/request.hpp(262): note: see reference to function template instantiation 'void Sqlite3::getRow<DetourNavigator::TileId>(sqlite3 &,sqlite3_stmt &,T &)' being compiled
with
[
T=DetourNavigator::TileId
]
D:\dev\openmw\components/sqlite3/request.hpp(210): note: see reference to function template instantiation 'void Sqlite3::getColumns<std::tuple<T &>>(sqlite3 &,sqlite3_stmt &,std::tuple<T &> &)' being compiled
with
[
T=DetourNavigator::TileId
]
D:\dev\openmw\components/sqlite3/request.hpp(203): note: see reference to function template instantiation 'void Sqlite3::getColumnsImpl<1,T>(sqlite3 &,sqlite3_stmt &,T &)' being compiled
with
[
T=std::tuple<DetourNavigator::TileId &>
]
D:\dev\openmw\components/sqlite3/request.hpp(190): note: see reference to function template instantiation 'void Sqlite3::copyColumn<T>(sqlite3 &,sqlite3_stmt &,int,int,T &)' being compiled
with
[
T=DetourNavigator::TileId
]
2025-10-05 14:39:51 +02:00
Evil Eye
23e9d1ac0c
Remove redundant std::floor
2025-10-05 14:19:49 +02:00
AnyOldName3
06cb00bb0b
Resolve merge conflicts from !4924 and !4928
...
luamanagerimp still needs float frameDuration, and reordering a bunch of fields in the scene manager conflicted with changing the type of maxanisotropy.
2025-10-04 23:08:20 +01:00
Evil Eye
50ffc908e8
Use vformat_to and add more tests
2025-10-03 17:21:52 +02:00
Alexei Kotov
f60875dd8f
Merge branch 'soontm' into 'master'
...
Bump us up to 0.51
See merge request OpenMW/openmw!4900
2025-10-02 00:01:10 +03:00
AnyOldName3
f5889ba067
Tidying based on review
...
1.1 was changed to 1.f instead of 1.1f, so that's been fixed.
Reduce the number of casts in RenderingManager::updateProjectionMatrix()
2025-09-29 14:12:29 +01:00
Evil Eye
b2beb4a8f8
Don't break LuaUi::Element's invariant
2025-09-28 21:20:40 +02:00
Evil Eye
000c5d2a08
Ensure error marker assignment is thread safe
2025-09-25 20:47:10 +02:00
AnyOldName3
4eb69427dd
One last pair of rule-of-three warnings for Clang
2025-09-25 00:05:35 +01:00
AnyOldName3
7ebb0cf577
Some warnings for Clang
2025-09-24 00:38:36 +01:00
AnyOldName3
536e7b8881
I think MSVC was right and GCC was wrong
2025-09-24 00:37:21 +01:00
AnyOldName3
372e5aa5f8
Format
2025-09-24 00:01:52 +01:00
AnyOldName3
a433114937
Rearrange extern so includes don't need to start with extern/
2025-09-23 01:04:45 +01:00
AnyOldName3
b6f699d513
First batch of GCC/Ubuntu 24.04 warnings
2025-09-23 00:14:53 +01:00
Evil Eye
4847995861
Bump cache keys
2025-09-22 21:28:52 +02:00
Evil Eye
5308e22f6d
Address more conversion warnings in the engine
2025-09-22 18:10:34 +02:00
Evil Eye
478df08433
Address more engine conversion warnings
2025-09-22 13:33:27 +02:00
Evil Eye
1caac90e93
Add btVector3 -> osg::Vec3f helper
2025-09-21 12:14:50 +02:00
elsid
91ccb0fe8d
Use proper naming for BSA File and Hash members
2025-09-20 19:21:17 +02:00
Evil Eye
3ba702690c
Require SOL_PROPAGATE_EXCEPTIONS to be off
2025-09-20 16:07:59 +02:00
Evil Eye
b0cf148393
Support wrapped arthimetic types
2025-09-20 12:58:37 +02:00
Evil Eye
ff79c2d826
Turn menu.saveGame into a delayed action
2025-09-20 10:39:43 +00:00
Evil Eye
cb82d37992
Address remaining conversion warnings in components
2025-09-20 11:39:31 +02:00
Evil Eye
a8831651bb
Swap arguments
2025-09-18 22:01:24 +02:00
Evil Eye
f7292680d6
Fix most conversion warnings in components
2025-09-18 22:00:55 +02:00
AnyOldName3
98291f1377
First batch of warning fixes
2025-09-18 00:38:08 +01:00
Alexei Kotov
2e18809ed9
Merge branch 'apply_xtra_data_after_drawable_properties' into 'master'
...
Distortion effect related fixes
See merge request OpenMW/openmw!4904
2025-09-01 21:57:31 +03:00
Evil Eye
14e1ec6d87
Use pathhelpers to populate Collections
2025-09-01 17:57:44 +02:00
Evil Eye
2105e98d0a
Use std::string_view in collections
2025-09-01 17:08:33 +02:00
Alexei Kotov
ea3240ce03
Merge branch 'vfs_normalized_path_23' into 'master'
...
Use normalized path in Lua vfs bindings (#8138 )
See merge request OpenMW/openmw!4903
2025-09-01 15:06:27 +03:00
Cody Glassman
f2a82701b4
make sure we apply extra data statesets at right time
2025-08-31 11:16:54 -07:00
psi29a
92b7ed5964
Merge branch 'waste-of-time' into 'master'
...
Disable expensive post-cull bounds calculations that never help very much
See merge request OpenMW/openmw!4894
2025-08-31 18:01:51 +00:00
psi29a
0ab79c4370
Merge branch 'formatcomponents' into 'master'
...
Remove StringUtils::format from components
See merge request OpenMW/openmw!4880
2025-08-31 17:59:35 +00:00
Evil Eye
5d4fc96062
Bump us up to 0.51
2025-08-30 14:21:31 +02:00
elsid
1348065be3
Use normalized path in Lua vfs bindings
2025-08-29 22:47:00 +02:00
elsid
dea69b229c
Remove small translation units
...
Remove .cpp files with small amount of code which don't have additional
includes compared to corresponding .hpp files. This reduces the total
size of preprocessed code of the project and should reduce compilation
time.
2025-08-29 00:41:47 +02:00
Alexei Kotov
60d31e978a
Merge branch 'parameter_naming' into 'master'
...
Fix and enforce parameter naming (#8424 )
See merge request OpenMW/openmw!4890
2025-08-28 14:10:44 +03:00
Cody Glassman
bfc25a3194
Make most weather bindings read/write
2025-08-28 03:22:33 +03:00
AnyOldName3
48e5358587
Disable expensive post-cull bounds calculations that never help very much
2025-08-27 23:57:07 +01:00
elsid
0f36b7fc97
Fix and enforce parameter naming
2025-08-27 12:45:09 +02:00
Evil Eye
e88e60f475
Check length before dereferencing
2025-08-26 18:08:38 +02:00
Evil Eye
79a1f1c3d2
Address feedback
2025-08-25 16:46:04 +02:00
Alexei Kotov
944925663d
Merge branch 'dontreplacedepth' into 'master'
...
Don't run osg::Depth replacement visitor for NIF templates
See merge request OpenMW/openmw!4876
2025-08-25 09:15:20 +03:00
Evil Eye
e97542a487
Fix include
2025-08-24 16:11:34 +02:00
Evil Eye
2321086876
Replace StringUtils::format in components/misc
2025-08-24 16:01:17 +02:00
Evil Eye
9cce6bad68
Replace StringUtils::format in components/shader
2025-08-24 15:43:11 +02:00
Evil Eye
ecbc3a7b9e
Reduce string usage in ShaderManager
2025-08-24 15:40:55 +02:00
Evil Eye
924d591158
Replace StringUtils::format in components/sceneutil
2025-08-24 14:35:44 +02:00
Evil Eye
26e562490f
Replace StringUtils::format in components/lua
2025-08-24 14:28:17 +02:00
Evil Eye
58a232d6c7
Replace StringUtils::format in components/interpreter
2025-08-24 14:07:41 +02:00
Evil Eye
a0d081adb9
Replace StringUtils::format in components/detournavigator
2025-08-24 13:55:33 +02:00
Cody Glassman
d72451da62
remove unecassary visitor for soft particles
2025-08-23 09:09:18 -07:00
Evil Eye
06ef34cbdf
Bring messagebox format parsing more in line with printf/vanilla
2025-08-23 17:26:18 +02:00
psi29a
14d9be7885
Merge branch 'thegaidenshinjieffect' into 'master'
...
Use std::string_view and std::format in components/fx
See merge request OpenMW/openmw!4857
2025-08-23 09:54:09 +00:00
Alexei Kotov
47130e2155
Don't run osg::Depth replacement visitor for NIF templates
2025-08-23 09:19:42 +03:00
Evil Eye
d66b86f2c9
Implement missing hex float format options
2025-08-21 22:00:00 +02:00
Evil Eye
59753d8b8e
Leave from_chars to figure out the length
2025-08-21 09:42:02 +02:00
Evil Eye
86605f3531
Make 0-width precision be 0
2025-08-21 08:57:00 +02:00
Evil Eye
6453d3e201
Use std::from_chars in MessageFormatParser
2025-08-20 19:51:02 +02:00
elsid
3067294f0d
Add and fix -Wshadow
2025-08-18 21:09:06 +02:00
Evil Eye
a6c942b33a
Account for numeric precision and infinities. Also pretend to be more like GLSL
2025-08-18 19:52:28 +02:00
Evil Eye
3f2fd06514
Work around Apple Clang
2025-08-17 11:26:30 +02:00
Evil Eye
5f3f3a7e1d
Address feedback
2025-08-17 08:48:04 +02:00
Evil Eye
86e40f5b6b
Remove potential sources of UB
2025-08-16 14:01:21 +02:00
Evil Eye
55c72ecb29
Use string_view in components/fx
2025-08-16 13:49:07 +02:00