AnyOldName3
d6b61f1f54
Sprinkle some const&
...
QStringView required more fighting as loads of call sites take a const&
2025-04-08 00:34:45 +01:00
AnyOldName3
e779f115ef
Exclude directories from containsDataFiles
...
Also include capo's microoptimisation even though it doesn't make things any faster.
2025-04-07 16:11:27 +01:00
psi29a
bd1c2a11d7
Merge branch 'herbalfish' into 'master'
...
Fix some graphic herbalism issues
See merge request OpenMW/openmw!4624
2025-04-07 11:03:55 +00:00
psi29a
211a5e5bda
Merge branch 'lightminimumradius' into 'master'
...
Give point lights a minimum radius of 16
See merge request OpenMW/openmw!4601
2025-04-06 16:03:35 +00:00
Evil Eye
962ef91e25
Allow skinned plants to be harvested
2025-04-06 11:01:26 +02:00
AnyOldName3
973282e471
Optimise ContentSelectorModel::ContentModel::item
...
This saves about 5% of remaining launcher startup time
Not using fileProperty avoids loads of QVariant conversions.
2025-04-06 02:46:31 +01:00
AnyOldName3
1237746549
Be more careful when we tell Qt that data has changed
...
Unchecking files only changes whether they're checked, and doesn't completely rearrange the table and change the number of elements it has, so we only need to change the check state, not the whole layout.
It's way faster to just query all the data once after setting a content list than it is to query the data for all files between the old and new location of a file when we change any file's location in the load order.
2025-04-06 01:31:05 +01:00
Alexei Kotov
3523ba564a
Merge branch 'non-deprecated-known-folder-api' into 'master'
...
Use non-deprecated known folder API
See merge request OpenMW/openmw!4603
2025-04-02 19:20:21 +03:00
psi29a
747771ac5e
Merge branch 'fontexport' into 'master'
...
Restore --export-fonts option functionality
See merge request OpenMW/openmw!4561
2025-03-27 11:04:35 +00:00
AnyOldName3
166852254f
Use non-deprecated known folder API
...
SHGetFolderPathW was deprecated in Windows Vista nearly two decades ago. ShGetKnownFolderPath is the replacement.
Also log if there was an error. Someone seemed to be getting an error on Discord, despite other apps being able to get the path just fine with these functions.
Also don't pass the flags to create the folders if they don't exist. We probably don't have the right permissions and if they don't exist, then there are bigger problems. Maybe this will fix the issue the user was having.
Also add a comment about global config on Windows being fundamentally wrong.
2025-03-25 01:32:44 +00:00
Alexei Kotov
f8be5fdd2a
Give point lights a minimum radius of 16
2025-03-24 22:14:08 +03:00
elsid
ada48d9021
Reduce a chance to have a deadlock in the AsyncNavMeshUpdater
...
* Do not fail tile generation if debug mesh writing fails.
* Mark some functions as noexcept to better crash than have a deadlock.
* Unlock tile and remove job if there on exception while processing it.
2025-03-23 23:33:40 +01:00
elsid
7112217adc
Use temporary directory for tests output
2025-03-23 23:33:40 +01:00
elsid
87a2f776b7
Add version to the recast log prefix
2025-03-23 23:33:39 +01:00
elsid
51258662b5
Support max log level for Recast via env variable
...
Do not write to log if log message level is greater than one speficied
in the OPENMW_RECAST_MAX_LOG_LEVEL env variable. Use Error by default.
2025-03-21 15:34:47 +01:00
elsid
e5f6b77c29
Skip SLSD, SCVR, SCRV subrecords in QUST record
...
Present in:
Fallout 3 GOTY English/Data/Anchorage.esm
Fallout 3 GOTY English/Data/BrokenSteel.esm
Fallout 3 GOTY English/Data/PointLookout.esm
Fallout 3 GOTY English/Data/ThePitt.esm
Fallout 3 GOTY English/Data/Zeta.esm
2025-03-15 13:11:26 +01:00
elsid
e5ad1cd214
Do not use no longer supported std::char_traits
...
/usr/bin/../include/c++/v1/string_view:300:42: error: implicit instantiation of undefined template 'std::char_traits<signed char>'
300 | static_assert(is_same<_CharT, typename traits_type::char_type>::value,
| ^
/home/elsid/dev/openmw/components/to_utf8/to_utf8.cpp:55:41: note: in instantiation of template class 'std::basic_string_view<signed char>' requested here
55 | std::basic_string_view<signed char> getTranslationArray(FromType sourceEncoding)
| ^
/usr/bin/../include/c++/v1/__fwd/string.h:23:29: note: template is declared here
23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
| ^
std::char_traits support for non char types was removed from libc++19:
https://reviews.llvm.org/D157058 .
2025-03-11 20:32:36 +03:00
Alexei Kotov
3f63700e99
Improve topic and magic effect list padding accuracy
...
This also touches the quest list, but there are bigger problems with the journal than just padding
2025-03-10 05:48:54 +03:00
elsid
51d73e37df
Fix msvc warnings
...
components\lua\configuration.cpp(133): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
components\esm3\effectlist.cpp(35): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
components_tests\misc\testmathutil.cpp(54): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(62): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(131): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(135): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(135): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(139): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
2025-03-09 17:55:17 +01:00
Alexei Kotov
5f92d520ee
Merge branch 'mainmembers' into 'master'
...
Fix more potential use-after-free issues
See merge request OpenMW/openmw!4566
2025-03-07 00:25:35 +03:00
psi29a
8bbb46b52c
Merge branch 'frankfontaine' into 'master'
...
Properly implement bitmap font kerning (#8378 )
See merge request OpenMW/openmw!4565
2025-03-05 21:16:19 +00:00
psi29a
888415059c
Merge branch 'fontainofdreams' into 'master'
...
Allow bitmap font texture reading to end prematurely (#8378 )
See merge request OpenMW/openmw!4564
2025-03-05 13:11:10 +00:00
psi29a
1e0bdcc270
Merge branch 'elefont' into 'master'
...
Further revise bitmap glyph replacements (#7531 )
See merge request OpenMW/openmw!4563
2025-03-05 13:09:53 +00:00
Evil Eye
b0e9df0139
Ensure class members are tied to the main Lua state
2025-03-03 19:37:07 +01:00
Alexei Kotov
fd358396fc
Properly implement bitmap font kerning
2025-03-03 08:42:39 +03:00
Alexei Kotov
24468fd965
Allow bitmap font texture to end prematurely
2025-03-03 08:29:00 +03:00
Alexei Kotov
c8fe596fc4
Add some remaining missing bitmap substitutions
2025-03-03 08:02:34 +03:00
Alexei Kotov
c50d8195bb
Remove custom substitutions for glyphs that may exist in the font
2025-03-03 08:02:16 +03:00
Alexei Kotov
dc3264a3a5
Restore --export-fonts option functionality
2025-03-02 22:33:06 +03:00
uramer
3a98b945a8
Keep MENU-registered input actions between games
2025-02-26 16:56:41 +01:00
Alexei Kotov
fc850cfe69
Rename components/crashcatcher files to follow naming conventions
2025-02-23 00:18:07 +03:00
Alexei Kotov
ac9505b536
Rename components/to_utf8 directory and files to follow naming conventions
2025-02-23 00:18:07 +03:00
Alexei Kotov
dd16c87080
Rename components/platform files to follow naming conventions
2025-02-22 23:47:11 +03:00
Alexei Kotov
7df74664e4
Rename gl4es-init.cpp/h to follow naming conventions
2025-02-22 21:49:49 +03:00
Alexei Kotov
3793ff8be8
Standardize components/fx file include guards
2025-02-22 21:14:58 +03:00
Alexei Kotov
5d5595cc5b
Standardize components/bsa file include guards and order
2025-02-22 21:12:28 +03:00
Alexei Kotov
8b911ce3eb
Rename components/fx files to follow naming conventions
2025-02-22 21:00:40 +03:00
Alexei Kotov
0254feefe3
Rename bsa_file.cpp/hpp to follow naming conventions
2025-02-22 20:52:39 +03:00
Alexei Kotov
602a429a68
Fix UB when pathgrid geometry is generated and all pathgrid edges are invalid
2025-02-16 17:46:52 +03:00
Alexei Kotov
1a9e29844b
Implement TCB interpolation for vectors and scalars ( #2379 )
2025-02-13 13:41:34 +03:00
psi29a
782c274d86
Merge branch 'shutupsdl' into 'master'
...
Silence SDL3 window/display events coming from SDL2-compat
See merge request OpenMW/openmw!4531
2025-02-10 16:58:28 +00:00
psi29a
d2610973dd
Merge branch 'shutupssg' into 'master'
...
Add a dummy serializer for billboards
See merge request OpenMW/openmw!4532
2025-02-10 16:58:21 +00:00
Alexei Kotov
c1960635d2
Optimize NIF boolean vector reading
2025-02-07 04:55:06 +03:00
Alexei Kotov
eaf9488ba0
Silence SDL3 window/display events coming from SDL2-compat
2025-02-04 20:30:19 +03:00
Alexei Kotov
cfa1ad0b33
Add a dummy serializer for billboards
2025-02-04 20:22:14 +03:00
Alexei Kotov
a17bffda26
Merge branch 'blencludes' into 'master'
...
Remove superfluous includes from animblendrules.cpp
See merge request OpenMW/openmw!4523
2025-01-31 14:46:12 +00:00
Mads Buvik Sandvei
5b1aafb77a
Formatting mistakes
2025-01-29 23:01:34 +01:00
Mads Buvik Sandvei
a1df9afc9a
Formatting changes
2025-01-26 17:05:42 +01:00
Mads Buvik Sandvei
ea51c55d00
Restore valid per view shadow settings.
2025-01-26 16:31:52 +01:00
Mads Buvik Sandvei
a2f5e1c075
Fix multiview use in techniques
2025-01-26 16:26:36 +01:00
Evil Eye
af9a9a6d64
Remove superfluous includes from animblendrules.cpp
2025-01-20 16:49:22 +01:00
Alexei Kotov
9fc62be2c6
Track ESM4 file loading progress
2025-01-14 20:27:02 +03:00
AnyOldName3
806635b96c
Don't unnecessarily overwrite openmw.cfg
...
We don't need to risk reformatting the user's potentially-handwritten file if it parses to the same thing as we're about to write.
2025-01-12 18:21:06 +00:00
psi29a
ec43849020
Merge branch 'sensiblechain' into 'master'
...
Handle weird post-processing chains gracefully (#8295 )
Closes #8295
See merge request OpenMW/openmw!4509
2025-01-12 17:58:41 +00:00
Alexei Kotov
383876a516
Handle weird post-processing chains gracefully ( #8295 )
2025-01-11 17:03:59 +03:00
AnyOldName3
e1208b64e7
Update comments
2025-01-09 17:16:06 +00:00
AnyOldName3
29af981345
Don't give commas special meaning when matching comments to openmw.cfg values
...
Previously, comments would be associated with the openmw.cfg line that followed them, but only up to the first comma.
This meant that if you had fallback=thing,otherthing and fallback=thing,thirdthing, comments above the thirdthing line would be moved above the otherthing line, even though both lines would be kept when the file was written out.
This seemed to be an attempt at a feature when cc9cii first implemented the comment preservation system, but it only seems to cause confusion.
2025-01-09 15:21:14 +00:00
elsid
6464d99134
Throw system error on open file failure
2025-01-06 23:38:32 +01:00
elsid
be1ce81be7
Write debug recast mesh before generating navmesh
2025-01-06 23:38:29 +01:00
Evil Eye
40cba7962c
Bump us up to 0.50.0
2025-01-06 16:43:54 +01:00
psi29a
52d1493500
Merge branch 'suntzuquote' into 'master'
...
Add an option to match sunlight to the sun (#8032 )
Closes #8032
See merge request OpenMW/openmw!4490
2025-01-05 20:08:28 +00:00
Evil Eye
f92b5040c6
Don't add auto started local Lua scripts twice
2025-01-01 13:21:28 +01:00
Alexei Kotov
aa277c0934
Add an option to match sunlight to the sun ( #8032 )
2024-12-28 18:29:35 +03:00
Evil Eye
6090bfcdab
Work around a regression in MSVC
2024-12-09 17:23:17 +01:00
psi29a
a66d4d77bc
Merge branch 'todd1252encoding' into 'master'
...
Revise bitmap glyph replacements (#7531 )
Closes #7531
See merge request OpenMW/openmw!4444
2024-12-05 08:01:03 +00:00
Alexei Kotov
b285e2f85f
Merge branch 'fix_findpath_use_after_free' into 'master'
...
Fix findPath returning a raw vector
Closes #8238
See merge request OpenMW/openmw!4470
2024-12-03 09:24:45 +00:00
uramer
1675c74036
Fix findPath returning a raw vector
2024-12-02 21:22:29 +01:00
psi29a
c454675cff
Merge branch 'nilightcolorcontroller' into 'master'
...
Give NiLightColorController its own struct
See merge request OpenMW/openmw!4472
2024-12-02 16:40:05 +00:00
Alexei Kotov
23a46a1bf9
Merge branch 'vfs_normalized_path_22' into 'master'
...
Use normalized path for KeyframeManager::get (#8138 )
See merge request OpenMW/openmw!4463
2024-12-01 21:45:01 +00:00
Alexei Kotov
a923e311f5
Give NiLightColorController its own struct
2024-12-01 02:00:12 +03:00
psi29a
064e3c7c2e
Merge branch 'useniftestinstead' into 'master'
...
Remove write nif debug log setting
See merge request OpenMW/openmw!4468
2024-11-28 18:05:22 +00:00
psi29a
7b992f98e7
Merge branch 'poisoncrank' into 'master'
...
Save interior fog bounds center to preserve rotation when expanding them
Closes #7013
See merge request OpenMW/openmw!4466
2024-11-27 08:18:29 +00:00
Alexei Kotov
95c38bacc7
Remove write nif debug log setting
2024-11-26 21:31:25 +03:00
psi29a
1dac165356
Merge branch 'precomputedbonematrices' into 'master'
...
Precompute bone matrices before skinning
See merge request OpenMW/openmw!4467
2024-11-26 09:25:14 +00:00
psi29a
690de3c3f9
Merge branch 'exorcisingtoddfrommyoblivioncopy' into 'master'
...
Support ESM4::Light with no spotlight data again
See merge request OpenMW/openmw!4465
2024-11-25 08:55:05 +00:00
Alexei Kotov
0f4e0ac818
Precompute bone matrices during skinning
2024-11-25 02:14:41 +03:00
Evil Eye
d57d5d9247
Save interior fog bounds center to preserve rotation when expanding them
2024-11-24 11:49:33 +01:00
Alexei Kotov
ec564b14df
Support ESM4::Light with no spotlight data
2024-11-24 03:12:52 +03:00
Alexei Kotov
5433ecf861
Change default depth test mode to <= ( #7040 )
2024-11-23 08:32:25 +03:00
psi29a
cf3badb8a4
Merge branch 'data_files_menu' into 'master'
...
Implement a context menu for data directories page
Closes #8130
See merge request OpenMW/openmw!4458
2024-11-21 11:52:16 +00:00
elsid
a550a8af36
Use normalized path for KeyframeManager::get
2024-11-20 21:29:36 +01:00
Andrei Kortunov
bd59247270
Avoid trailing line breaks
2024-11-20 09:04:22 +04:00
elsid
630e815f66
Forbid to use toNormalized for normalized path
2024-11-18 21:21:33 +01:00
psi29a
79dbbceb10
Merge branch 'vfs_normalized_path_20' into 'master'
...
Use normalized path for correctMeshPath and getLODMeshName (#8138 )
See merge request OpenMW/openmw!4455
2024-11-17 12:30:15 +00:00
Alexei Kotov
d11bd7397b
Revise bitmap glyph replacements ( #7531 )
2024-11-16 22:48:52 +03:00
elsid
22817dd6a1
Use normalized path for correctMeshPath
2024-11-16 12:49:11 +01:00
elsid
36198e9413
Use normalized path for getLODMeshName
2024-11-15 01:05:36 +01:00
Andrei Kortunov
2522fe9517
Remove dead code
2024-11-14 22:16:05 +04:00
Evil Eye
d88ddc97cc
Avoid an apparent compiler error in MSVC 2019
2024-11-11 17:54:48 +01:00
Pi03k
05a71e982d
Move from qt_wrap_ui to AUTOUIC for qt components lib
...
(#7348 )
2024-11-10 20:38:14 +01:00
Evil Eye
6572122acc
Use the right deserializer for unloaded scripts
2024-11-09 13:05:39 +01:00
elsid
afa769408a
Use normalized path for correctActorModelPath
2024-11-03 13:50:17 +01:00
elsid
376911f645
Reduce duplication for getting file name
2024-11-03 13:50:17 +01:00
psi29a
362eec43be
Merge branch 'noblacklisting' into 'master'
...
Exterminate script blacklisting (#8214 )
Closes #8214
See merge request OpenMW/openmw!4440
2024-11-01 10:22:26 +00:00
psi29a
62079499c1
Merge branch 'nowaterculling' into 'master'
...
Allow opting out of water culling (#7318 )
Closes #7318
See merge request OpenMW/openmw!4441
2024-11-01 10:21:45 +00:00
Evil Eye
81612a5358
Merge branch 'constcorrectattributes' into 'master'
...
Sprinkle const-correctness in NifLoader
See merge request OpenMW/openmw!4436
2024-10-31 18:55:45 +00:00
Alexei Kotov
5d37cb3b74
Exterminate script blacklisting ( #8214 )
2024-10-31 14:59:55 +03:00
Alexei Kotov
4f521a94d7
Allow opting out of water culling ( #7318 )
2024-10-31 14:54:05 +03:00
Alexei Kotov
e27732421e
Adjust intro comment for user openmw-cs.cfg ( #5859 )
2024-10-30 20:23:46 +03:00
Alexei Kotov
b71ec84004
Sprinkle const-correctness in NifLoader
2024-10-30 17:10:08 +03:00
Alexei Kotov
964dafd42c
Share texture type attributes
2024-10-29 12:48:54 +03:00
psi29a
1349fdb4f2
Merge branch 'serializable_readonly' into 'master'
...
Support table-valued settings
See merge request OpenMW/openmw!3917
2024-10-28 18:44:36 +00:00
uramer
e248ba293a
Use sol helpers for metatable keys
2024-10-28 16:45:51 +01:00
Alexei Kotov
eea916a43d
Save/load INI importer flags in the launcher ( #8189 )
2024-10-27 21:30:23 +03:00
Evil Eye
7bbb1bf05d
Merge branch 'loosey-goosey' into 'master'
...
Store original representation of paths in content lists. Also compare against existing content lists in a more forgiving way.
See merge request OpenMW/openmw!4424
2024-10-27 12:31:41 +00:00
AnyOldName3
31c84e0407
We don't need to capture constexpr stuff
2024-10-25 00:49:46 +00:00
AnyOldName3
7640b6bcf4
Typo
2024-10-25 00:32:12 +00:00
AnyOldName3
b596902329
c a p i t u l a t e
...
Looks like I forgot to reformat after a typo fix.
2024-10-25 00:53:27 +01:00
AnyOldName3
c2b383ea92
Store original representation of paths in content lists
...
Also compare against existing content lists in a more forgiving way.
The first improvement makes it possible to use relative paths in openmw.cfg without the launcher canonicalising them.
This was really annoying if you used a relative path on purpose.
It also stops the launcher converting all paths to Qt's convention, where forward slashes are used on Windows even though they're not native.
The engine doesn't care, so you could always put either in the config file, but the launcher wouldn't stand for that, and would make them match.
To make this work, we need to store a path's originalRepresentation in the content list, compare paths loaded from openmw.cfg based on their originalRepresentation, and convert paths from originalRepresentation to absolute value when loading them from a content list.
The second improvement means that paths that are equivalent, but expressed differently (e.g. mismatched case on Windows, mismatched separators on Windows, or mild differences like unnecessary `./`es and doubled separators) don't trigger the creation of a new effectively-identical content list.
To make this work, we had to switch the comparison to lexicaly normalise the path first.
It could only be lexical normalisation as originalRepresentation might be absolute, relative, or absolute-but-based-on-a-path-slug, and we didn't want slugs to break things or relative paths to count as equivalent to absolute ones that refer to the same file.
The comparison is case-insensitive on Windows, and case-sensitive elsewhere.
This isn't strictly right, as you can have case-sensitive things mounted on Windows or tell a Linux directory to be case-insensitive, but we can't tell when that might happen based on a lexical path as it depends on real directory properties (and might differ for different parts of the path, which is too much hassle to support).
2024-10-25 00:49:59 +01:00
AnyOldName3
6330d80b9e
Don't expect TangentSpaceGenerator to work without texcoords
2024-10-24 13:36:49 +01:00
Alexei Kotov
e9627e9b0c
Merge branch 'cifileprofiles' into 'master'
...
Compare content files and archives case insensitively when matching existing profiles
See merge request OpenMW/openmw!4419
2024-10-24 03:23:10 +00:00
Evil Eye
6d182dcdae
Compare content files and archives case insensitively when matching existing profiles
2024-10-21 19:42:37 +02:00
AnyOldName3
7556ab6f90
Make the launcher ignore case in bsa names
2024-10-21 18:07:13 +01:00
elsid
d2ab366233
Use normalized path in PhysicsSystem
2024-10-18 13:45:29 +02:00
Petr Mikheev
bac0018a09
Merge branch 'unloadedcontainers' into 'master'
...
Fix Lua memory usage
See merge request OpenMW/openmw!4363
2024-10-15 21:18:13 +00:00
Evil Eye
68ebefc2dd
Fix Lua memory usage
2024-10-15 21:18:13 +00:00
psi29a
3e3ff00c72
Merge branch 'dialoguestuff' into 'master'
...
Improve TESCS dialogue compatibility
Closes #8181
See merge request OpenMW/openmw!4396
2024-10-15 07:42:47 +00:00
elsid
d1ccb4b804
Use normalized path for groundcover
2024-10-13 13:27:23 +02:00
psi29a
974c0ce158
Merge branch 'vfs_normalized_path_16' into 'master'
...
Use normalized path in multiple places and fix additional animation sources loading (#8138 )
See merge request OpenMW/openmw!4398
2024-10-07 20:02:54 +00:00
Evil Eye
ffe164b28d
Add a test and address feedback
2024-10-06 11:32:24 +02:00
elsid
6e0eb64538
Use normalized path for glow texture names
2024-10-06 11:19:58 +02:00
Evil Eye
7ce83c6cc8
Ensure NAME is null terminated for TESCS compatibility
2024-10-03 22:22:51 +02:00
Evil Eye
403189c711
Switch between DrawElementsUInt and DrawElementsUShort on demand
2024-10-03 19:05:57 +02:00
Evil Eye
5e16579793
Switch to DrawElementsUInt
2024-10-03 16:32:47 +02:00
Evil Eye
6644a7f27b
Use more sensible types in pathgridutil
2024-10-02 21:10:51 +02:00
psi29a
f27030a87c
Merge branch 'uipointers' into 'master'
...
Prevent stale pointers in UI widgets
See merge request OpenMW/openmw!4393
2024-10-02 10:31:19 +00:00
Alexei Kotov
56e200f8ac
Merge branch 'ripply-doll' into 'master'
...
Fix inventory doll when non-compute-shader ripples are used with FFP
See merge request OpenMW/openmw!4390
2024-10-02 08:43:41 +00:00
Evil Eye
481e63ffa7
Prevent stale pointers in UI widgets
2024-09-29 22:36:31 +02:00
elsid
63e984ba24
Use normalized path in BulletShapeManager
2024-09-27 23:33:58 +02:00
psi29a
cb009db4bb
Merge branch 'topicHighlighting' into 'master'
...
Topic Highlighting Mouse Over Fix
See merge request OpenMW/openmw!4113
2024-09-27 06:36:17 +00:00
psi29a
d1059aee8c
Merge branch 'test_ptr' into 'master'
...
Add tests for MWWorld::Ptr
See merge request OpenMW/openmw!4344
2024-09-26 07:36:23 +00:00
AnyOldName3
95a1183ad3
Fix OpenGL debug groups
2024-09-25 16:10:18 +01:00
Evil Eye
772a0b3711
Merge branch 'vfs_normalized_path_14' into 'master'
...
Use normalized path in multiple places (#8138 )
See merge request OpenMW/openmw!4383
2024-09-22 16:38:55 +00:00
elsid
cd6e49796e
Properly initialize local static pointers and collections
...
Static variables should be initalized once instead of initializing them with
nullptr and then doing actual initialization behind if condition. Otherwise a
race condition may happen leading to undefined behaviour.
2024-09-21 13:52:43 +02:00
Alexei Kotov
2ab6dd0229
Address my own review concerns
...
Correct the number of hyphens in documentation
Use the correct settings tag
Simplify color values
2024-09-19 04:05:54 +03:00
elsid
5f2582fe68
Use normalized path in SceneManager::checkLoaded
2024-09-19 00:51:17 +02:00
elsid
28faae69b0
Use normalized path in TextureManager
2024-09-19 00:39:43 +02:00
elsid
a78f5182e4
Replace toNormalized by Normalized
...
fname type cannot be changed because it's part of mygui library interface.
2024-09-18 23:53:20 +02:00
elsid
85edc49f2f
Remove unused argument
2024-09-18 23:53:04 +02:00
elsid
597d1853ee
Use normalized path in ESM LuaScripts
2024-09-18 23:52:44 +02:00
elsid
2ddc77138a
Use normalized path in ESM4 reader
2024-09-18 23:52:20 +02:00
Alexei Kotov
6e70893113
Parse bhkPoseArray
2024-09-18 23:53:33 +03:00
Alexei Kotov
695932d2db
Parse BSDistantObjectInstancedNode
2024-09-18 23:53:33 +03:00
Alexei Kotov
7149fbb408
Parse NiPSysRotDampeningCtlr
2024-09-18 22:03:15 +03:00
Evil Eye
74d699c502
Merge branch 'vfs_normalized_path_13' into 'master'
...
Use normalized path in ImageManager (#8138 )
See merge request OpenMW/openmw!4377
2024-09-18 18:47:27 +00:00
elsid
1fd6ac6438
Use normalized path in ImageManager
2024-09-17 00:49:57 +02:00
Alexei Kotov
5f7fa640b0
Parse bhkRagdollTemplate/bhkRagdollTemplateData
2024-09-17 00:26:06 +03:00
elsid
b4f77e8bd7
Store Lua script path as VFS normalized
2024-09-15 13:53:20 +02:00
jvoisin
f2be4072d9
Merge branch 'fix_build' into 'master'
...
Fix build with msvc
See merge request OpenMW/openmw!4372
2024-09-14 22:43:05 +00:00
elsid
ec6af1ef32
Fix build with msvc
...
components\resource\cachestats.hpp(23): error C2039: 'string': is not a member of 'std'
2024-09-14 14:05:24 +02:00
elsid
d8189a5aa1
Use normalized path in SceneManager
2024-09-13 14:21:49 +02:00
psi29a
b32f68fcd2
Merge branch 'vfs_normalized_path_10' into 'master'
...
Use normalized path in LuaState (#8138 )
See merge request OpenMW/openmw!4365
2024-09-13 08:17:46 +00:00
Cody Glassman
b346a4a858
Add frame number to available postprocess uniforms
2024-09-10 16:58:27 +00:00
elsid
32ec92e71c
Use normalized path in LuaState
2024-09-08 11:53:57 +02:00
psi29a
4c28731f6a
Merge branch 'optionallightfadeout' into 'master'
...
Make light attenuation fade optional
See merge request OpenMW/openmw!4267
2024-09-05 07:29:48 +00:00
psi29a
e1875d459a
Merge branch 'boost-config-required' into 'master'
...
Modernise Boost CMake stuff
Closes #8100
See merge request OpenMW/openmw!4307
2024-09-04 19:04:57 +00:00
psi29a
b3677d07fd
Merge branch 'pcallallthethings' into 'master'
...
Wrap all memory allocating Lua functions in protected calls
Closes #8099
See merge request OpenMW/openmw!4336
2024-09-04 07:22:26 +00:00
elsid
9e36b3fc0b
Use normalized path for models settings
2024-08-30 20:50:59 +02:00
elsid
1cdbbef7ee
Use blank CellRef as default
...
Default constructed CellRef has some fields uninitialized.
2024-08-30 20:46:56 +02:00
Alexei Kotov
176dec45a7
Make light attenuation fade optional
...
This also makes Force Per Pixel Lighting caption shorter to provide more space for the new button
2024-08-30 10:03:37 +03:00
Evil Eye
032d506aa7
Fix components_tests
2024-08-24 09:10:23 +02:00
AnyOldName3
387b63909b
Remove vestigial Boost libraries
...
Boost::zlib is basically part of Boost::iostreams, and depending on how you configure Boost, it can either be a separate library or get embedded into iostreams.
With the third-party-but-linked-on-Boost's-website package we've been using for years, it's a separate library.
Before https://gitlab.com/OpenMW/openmw/-/merge_requests/4307 , we needed to explicitly link with it as CMake wasn't handling transitive dependencies for us.
With vcpkg, it's embedded, and doesn't have its own CMake config, so we couldn't explicitly link with it even if we wanted to.
Now CMake *is* handling transitive dependencies for us, we don't even need to think about this library.
It's all automatic.
Boost::locale, on the other hand, used to be something we used directly (I think for doing UTF-16/UTF-8 conversions when dealing with Windows paths).
However, it isn't anymore, and we just didn't purge it from our CMake when we should have.
It can go.
2024-08-23 14:06:13 +01:00
AnyOldName3
26be98966f
Modernise Boost CMake stuff
...
Resolves https://gitlab.com/OpenMW/openmw/-/issues/8100
Also removes some old crud.
Hopefully the old crud is all:
* Handled automatically by CMake now we're using the modern approach.
* A hack-fix for a problem caused by not using the modern approach.
* Massively outdated so no longer necessary.
If it turns out this makes CI fail, I'll tweak things as necessary.
Changes that might not be wanted include:
* Getting rid of our BOOST_STATIC CMake option. In cases where the CMake config doesn't make the one correct choice from the build environment (i.e. because there's a choice) the CMake config exposes the option already.
However, we were forcing this on for Windows, so that might matter.
It seems to default to static on my machine even though I thought I read something suggesting otherwise, so we'll see how things go with that.
If we eventually put CMake in charge of installing dependency DLLs this will be a moot point as we won't need to care.
* Bumping the minimum version of Boost to 1.70.0, as that's the first with working CMake config.
It's from 2019, so plausibly there are distros too scared to use a library from five years ago as it can't legally drink in the US (although it could in limited quantities with parental supervision in the UK, as long as it's just something inconsequential like a single sip of beer).
2024-08-23 14:06:13 +01:00
jvoisin
830a26f75e
Merge branch 'realloc' into 'master'
...
Don't assume realloc always succeeds
See merge request OpenMW/openmw!4331
2024-08-23 10:34:38 +00:00
Evil Eye
c9783344a0
Wrap all memory allocating Lua functions in protected calls
2024-08-22 22:22:28 +02:00
psi29a
566e5b5588
Merge branch 'some-launcher-fixes' into 'master'
...
Some launcher fixes
Closes #8080
See merge request OpenMW/openmw!4287
2024-08-22 11:11:23 +00:00
Evil Eye
aa808d63bc
Return nullptr straight away
2024-08-21 16:40:39 +02:00
Evil Eye
4652151630
Don't assume realloc always succeeds
2024-08-20 19:49:13 +02:00
elsid
92a0bbb454
Use normalized path in l10m manager
2024-08-18 21:07:46 +02:00
uramer
2460b5f4ef
Merge branch 'swizzle_bop_boom_bazingle_v2' into 'master'
...
lua - add swizzling to vector types
See merge request OpenMW/openmw!4304
2024-08-16 13:22:22 +00:00
Cody Glassman
a53d002262
lua - add swizzling to vector types
2024-08-05 06:53:59 -07:00
elsid
d85130c4c0
Init potentially unread fields for HDPT
2024-08-04 18:42:39 +02:00
AnyOldName3
f1795a4698
c a p i t u l a t e
2024-07-31 00:08:29 +01:00
AnyOldName3
cd7941dc9f
Some launcher fixes
...
I tried to fix https://gitlab.com/OpenMW/openmw/-/issues/8080 by making it so that instead of crashing, we showed an error.
In doing so, I discovered some problems with plugin sorting and the refresh button, like:
* it forgetting the non-user content files somewhere
* nothing guaranteeing that built-in content files stay at the top of the list and them only being there because the first data directory that provides them is usually the first data directory
* it forgetting the non-user content files somewhere else
* it looking like it'd forget any kind of non-user setting under certain circumstances
I fixed those problems too
2024-07-31 00:04:38 +01:00
elsid
2ebe83c4d5
Use proper order for printf arguments
2024-07-28 20:08:02 +02:00
Cody Glassman
77eeb5bd92
Merge branch 'master' into 'master'
...
HALF_FLOAT and normals changes
See merge request OpenMW/openmw!4240
2024-07-27 15:21:45 +00:00
Jared Davenport
349931b5cd
HALF_FLOAT and normals changes
2024-07-27 15:21:44 +00:00
psi29a
79a9f8c23c
Merge branch 'thedreughtookmyenchantmentsandarentgivingthemback' into 'master'
...
Rebuild ESMStore indices before loading any cell or player state
See merge request OpenMW/openmw!4278
2024-07-27 09:37:44 +00:00
Evil Eye
5c4deb3f88
Prevent older binaries from incorrectly loading newer saves
2024-07-25 22:37:44 +02:00
Alexei Kotov
03091f8ce0
Make Coverity happy about animation blending
2024-07-25 02:28:07 +03:00
psi29a
312b7af954
Merge branch 'lua_context_api' into 'master'
...
Remove getRealFrameDuration in global context, context caching helpers
See merge request OpenMW/openmw!4273
2024-07-24 21:26:32 +00:00
Anton Uramer
6851e6e56a
Context helpers for caching packages, split up core bindings into multiple caches, remove getRealFrameDuration in global context
2024-07-24 09:28:50 +02:00
elsid
8cc744997f
Make path helpers constexpr and noexcept
2024-07-22 22:01:05 +02:00
elsid
7e1ecfc0ee
Pass normalized path to RetrieveAnimationsVisitor
2024-07-22 22:01:05 +02:00
elsid
616b033c36
Move parseTextKey and parseTimeSignature to unnamed namespace
2024-07-22 22:01:05 +02:00
elsid
6e97deb3f7
Use normalized path for text key files
2024-07-22 22:01:04 +02:00
Alexei Kotov
1f4ab3b668
Merge branch 'animationblending' into 'master'
...
Animation blending implementation. Flexible and moddable through .yaml blending config files.
See merge request OpenMW/openmw!3497
2024-07-22 13:16:06 +00:00
psi29a
2743c4920e
Merge branch 'vfs_normalized_view_string' into 'master'
...
Do not allow to construct NormalizedView from std::string
See merge request OpenMW/openmw!4263
2024-07-22 07:22:02 +00:00
psi29a
f2aa30f7a5
Merge branch 'fix_nan_get_angles' into 'master'
...
Avoid getting nan in conversion to euler angles (#7772 )
Closes #7772
See merge request OpenMW/openmw!4258
2024-07-22 07:21:29 +00:00
elsid
34f5bc6fce
Use std math functions
...
To avoid implicit conversions from float to double and back.
2024-07-21 02:06:05 +02:00
elsid
041b3b233a
Normalize forward and up vectors
...
To avoid having any of their components to be out of the range [-1, 1].
2024-07-21 01:26:57 +02:00
elsid
a49de4b9f1
Do not allow to construct NormalizedView from std::string
...
To avoid implicit conversion via Normalized which creates NormalizedView from a
temporary Normalized. Mark constructors explicit on purpose so there is no
ambiguity on implicit conversion when there is an overloaded function like:
void f(const Normalized&);
void f(NormalizedView);
2024-07-20 23:58:48 +02:00
Sam Hellawell
9beb380c7d
Remove M_PI, documenation cleanup
2024-07-19 00:05:16 +01:00
Sam Hellawell
340252007b
fitsRuleString dont reference string_view
2024-07-19 00:04:16 +01:00
Sam Hellawell
014cba807b
Refactor easings, serialize per-line items, constexpr path
2024-07-19 00:04:16 +01:00
Sam Hellawell
eb290bebbb
Refactor AnimBlendControllers
2024-07-19 00:04:16 +01:00
Sam Hellawell
4040bd9231
FIx GCC debug build error
2024-07-19 00:04:16 +01:00
Sam Hellawell
00a7d0281f
Cleanup, refactor, rename AnimBlendControllerBase -> AnimBlendController
2024-07-19 00:04:16 +01:00
Sam Hellawell
42406ed0af
Use META_Object, ignore for serialize
2024-07-19 00:04:16 +01:00
Sam Hellawell
13e1df3bf0
Grammar cleanup, code cleanup, reduce logging, revert mRotation change
2024-07-19 00:04:16 +01:00
Sam Hellawell
28c8e6b1fe
Cleanup loadRules method, smooth animation transitions game.rst docuemntation
2024-07-19 00:04:16 +01:00
Sam Hellawell
1282be9d29
Fix stats reporting
2024-07-19 00:04:15 +01:00
Max Yari
55ffb6d7d2
Animation blending implementation for NIF and osgAnimation through YAML files
...
Signed-off-by: Sam Hellawell <sshellawell@gmail.com>
2024-07-19 00:04:15 +01:00
psi29a
a9281b5246
Merge branch 'fix/osg-animation-rename-update-order-sucks-this-took-too-long' into 'master'
...
Fix osgAnimation for multiple creatures (#8045 )
Closes #8045
See merge request OpenMW/openmw!4253
2024-07-16 13:34:41 +00:00
elsid
75d9ab4d57
Pass Quat and Matrixf by reference
...
They don't fit into registers so without optimizations they are copied via
stack.
2024-07-15 22:08:54 +02:00
Sam Hellawell
db30d9a37a
Code cleanup, fix missing const
2024-07-14 20:38:24 +01:00
Sam Hellawell
df0a7a849b
Merge branch 'master' of https://gitlab.com/OpenMW/openmw.git into fix/osg-animation-rename-update-order-sucks-this-took-too-long
2024-07-14 02:39:09 +01:00
Sam Hellawell
56a40577ed
Revert move of default anim rename
2024-07-14 02:38:57 +01:00
Sam Hellawell
03413a895f
Fix osgAnimation for multiple creatures ( #8045 )
2024-07-14 02:34:09 +01:00
elsid
6a67263d6b
Separate the log level and the flag for writing the log level
2024-07-13 11:15:34 +02:00
elsid
98a8dcbdbf
Limit log buffer size
2024-07-13 11:15:34 +02:00
elsid
c83acac32c
Add a function to get debug level
2024-07-13 11:15:34 +02:00
elsid
0749cc4dac
Remove unused include
2024-07-13 11:15:34 +02:00
elsid
1bdc01273e
Move "debugging" function into Debug namespace
2024-07-13 11:15:33 +02:00
elsid
ea84d1ce0c
Remove unused mode argument
2024-07-13 11:14:56 +02:00
Dave Corley
5bca2919c2
CLEANUP: Don't assign invalid extents when loading bounding boxes
2024-07-11 04:06:06 -05:00
psi29a
664a844853
Merge branch 'fix_get_angles_zyx' into 'master'
...
Fix getAnglesZYX (#7741 )
Closes #7741
See merge request OpenMW/openmw!4199
2024-07-11 09:04:07 +00:00
psi29a
7d0fca1bf5
Merge branch 'noscript' into 'master'
...
Make mwscript return nil for records that don't have a script
See merge request OpenMW/openmw!4236
2024-07-09 07:47:24 +00:00
psi29a
3a5ed998e7
Merge branch 'timeplayed' into 'master'
...
Remove time played setting
See merge request OpenMW/openmw!4235
2024-07-08 07:29:29 +00:00
Evil Eye
ee653eb2b8
Make mwscript return nil for records that don't have a script
2024-07-07 13:58:34 +02:00
psi29a
e8c422697f
Merge branch 'first_person_mesh_distortion' into 'master'
...
Fix distortion breaking in first person meshes
See merge request OpenMW/openmw!4231
2024-07-06 07:46:35 +00:00
psi29a
804b589a68
Merge branch 'qt_follow_up' into 'master'
...
Cleanup changes in Qt applications
See merge request OpenMW/openmw!4225
2024-07-05 08:11:42 +00:00
Alexei Kotov
888abc0097
Remove time played setting
2024-07-05 07:13:45 +03:00
Andrei Kortunov
871263d436
Check if file is successfully opened
2024-07-04 09:55:24 +04:00
Cody Glassman
45362e0ede
fix distortion breaking in first person meshes
2024-07-03 13:51:57 -07:00
Evil Eye
d3e3083006
CI match script names and remove dead code
2024-07-01 16:57:40 +02:00
psi29a
ee1352f918
Merge branch 'luautf8allcompilers' into 'master'
...
Don't use codecvt for utf8.char
Closes #6505
See merge request OpenMW/openmw!4216
2024-07-01 07:44:16 +00:00
psi29a
045bccb3e9
Merge branch 'copycompiler' into 'master'
...
Avoid a few copies in mwscript
See merge request OpenMW/openmw!4215
2024-07-01 07:43:53 +00:00
Kindi
624a4f46b5
dont use codecvt for utf8.char
2024-06-30 01:49:24 +08:00
Evil Eye
1cea604257
Use string_view in register methods
2024-06-29 15:37:13 +02:00
Evil Eye
ad7fb3d13f
Avoid a few copies in mwscript
2024-06-29 10:31:49 +02:00
elsid
89bb04e8fd
Exit with fatal error on duplicated instruction code
...
Instead of causing SIGABRT which is more confusing.
2024-06-28 22:24:24 +02:00
psi29a
6754b8d941
Revert "Merge branch 'were_engineers_not_salt_miners' into 'master'"
...
This reverts merge request !4178
2024-06-25 20:58:31 +00:00
psi29a
9a864f309a
Merge branch 'theluareloaded' into 'master'
...
Check the result of loading from bytecode
Closes #7787
See merge request OpenMW/openmw!4189
2024-06-25 07:19:33 +00:00
psi29a
cd365b4e8c
Merge branch 'youre_outta_range_joe' into 'master'
...
FIX: check we're not going out of range while listing content files, fix #8029
Closes #8029
See merge request OpenMW/openmw!4201
2024-06-24 18:02:31 +00:00
psi29a
11c2cf0780
Merge branch 'esm_script' into 'master'
...
Make loading and saving ESM3 script record more robust
See merge request OpenMW/openmw!4195
2024-06-24 17:59:20 +00:00
psi29a
57adb93075
Merge branch 'coverity' into 'master'
...
Coverity fixes
See merge request OpenMW/openmw!4198
2024-06-24 07:10:28 +00:00
psi29a
456ac2a85b
Merge branch 'were_engineers_not_salt_miners' into 'master'
...
FEAT: Lua Engine Handler for MWScript `startscript` functionality
See merge request OpenMW/openmw!4178
2024-06-24 07:09:24 +00:00
Dave Corley
1a79e79f57
FEAT: Lua Engine Handler for MWScript startscript
functionality
2024-06-24 07:09:23 +00:00
psi29a
d3c3d0cf44
Merge branch 'indexthemoon' into 'master'
...
Move Lua index helpers to components and make owner.factionRank match other ranks
See merge request OpenMW/openmw!4186
2024-06-24 07:06:24 +00:00
Dave Corley
d03f25437b
CLEANUP(contentmodel): Use auto
for insertPosition declaration to
...
avoid possible narrowing
2024-06-23 20:06:23 -05:00
Dave Corley
fbdc4f4881
CLEANUP(contentmodel): Use ranges::find_if instead of a loop
2024-06-23 18:15:27 -05:00
elsid
89a30532b7
Fix getAnglesZYX implementation
2024-06-23 16:08:09 +02:00
Dave Corley
40aee53831
CLEANUP(contentmodel): Actually, no, I hate while loops
2024-06-23 06:07:16 -05:00
Dave Corley
b43743212e
FIX: check we're not going out of range while listing content files, fix #8029
2024-06-23 06:07:12 -05:00
Alexei Kotov
162ac6a75e
Avoid copying shader material shared_ptr in NifLoader
2024-06-22 14:34:09 +03:00
Evil Eye
5b82c7a95d
Don't assume execution of an internal Lua script can't fail
2024-06-22 11:26:32 +02:00
Evil Eye
83e8729256
Check the result of loading from bytecode
2024-06-21 22:35:34 +02:00
elsid
5c3ae3d94c
Make loading and saving script record more robust
...
* Check the header presence before using it.
* Write the header based on the actual content.
2024-06-21 20:37:37 +02:00
elsid
4571a8b88a
Remove unused SCHD type
2024-06-21 15:39:17 +02:00