Andrei Kortunov
937101d580
Add a dark style sheet tweaked for Windows 11
2024-06-02 16:58:02 +04:00
Alexei Kotov
71c1b536b4
Discard culled lights specifically for post-processing light buffer
2024-06-01 22:05:32 +03:00
Alexei Kotov
cbe61e2c93
In TextureType, use osg::Object's name field
2024-05-31 14:42:48 +03:00
psi29a
a2e83d9a21
Merge branch 'dayofviewindependence' into 'master'
...
Make object light lists (mostly) view-independent
See merge request OpenMW/openmw!4128
2024-05-30 08:08:55 +00:00
psi29a
e7c9574d31
Merge branch 'savetheslot' into 'master'
...
Convert constant effect equipment slots to refnums
Closes #7998
See merge request OpenMW/openmw!4130
2024-05-28 11:09:36 +00:00
psi29a
8cf6fde8b6
Merge branch 'fix_debug_render' into 'master'
...
Fix debug render for recast mesh and navmesh
See merge request OpenMW/openmw!4127
2024-05-28 07:38:00 +00:00
elsid
71369be796
Log caught exceptions
2024-05-26 02:52:11 +02:00
Alexei Kotov
c92d016e43
Don't sort scene light list by camera distance if the limit isn't reached and PP doesn't need it
...
Also don't clip it to the single UBO scene light limit if the lighting method isn't actually single UBO
2024-05-26 02:29:05 +03:00
Alexei Kotov
916706c6c1
Make object light lists (mostly) view-independent
...
Remove frustum culling
Sort lights by object proximity
Restore multiple camera rendering optimization
2024-05-26 02:29:05 +03:00
psi29a
16572109fc
Merge branch 'restoringthelightfacingthedark' into 'master'
...
Lighting fixes, non-exciting part
See merge request OpenMW/openmw!4126
2024-05-24 23:05:07 +00:00
Evil Eye
cdfd305ac3
Convert constant effect equipment slots to refnums
2024-05-24 16:59:48 +02:00
elsid
10e14a3c21
Replace release by assigning nullptr
...
release does not call a destructor if it's the last reference. This is not a
right choice here. Even though the functions accept raw pointers they convert
them into osg::ref_ptr. So it's ok to share the ownership.
2024-05-24 01:08:15 +02:00
elsid
4b8897e33e
Use state sets without transparency support for recast mesh and agents paths
2024-05-24 00:05:10 +02:00
elsid
98d530d8cb
Share state sets for recast mesh tiles and actors paths
2024-05-24 00:05:09 +02:00
Alexei Kotov
fd9361f62c
Some attenuation setup fool-proofing
2024-05-24 00:52:54 +03:00
Alexei Kotov
e0e4b84e40
Disable specularity for negative lights
2024-05-24 00:50:29 +03:00
Alexei Kotov
debc37d93a
Fade out specularity according to light fade settings as well
2024-05-24 00:49:37 +03:00
Evil Eye
6a10311ae5
Use more appropriate types in terrain storage
2024-05-23 18:48:54 +02:00
psi29a
db27543ea1
Merge branch 'uniform_choice' into 'master'
...
Add choice widget type to postprocessing uniforms
See merge request OpenMW/openmw!3969
2024-05-23 10:06:22 +00:00
Kagernac
f9577d904c
This commit introduces six new color settings for dialogue topic keywords
...
referencing settings.cfg and settings-default.cfg. These settings work similarly
to the color references found in openmw.cfg and Morrowind.ini.
Changes include:
Removal of deprecated settings:
color topic specific
color topic exhausted
Addition of six new color settings to settings.cfg and settings-default.cfg
Updated description in settings-default.cfg to reflect the new color format
2024-05-22 20:25:58 -07:00
psi29a
2be6116ef6
Merge branch 'fix_recastmesh' into 'master'
...
Limit number of cached tiles with recast meshes
See merge request OpenMW/openmw!4112
2024-05-22 20:38:42 +00:00
Dave Corley
c87eaefd17
Merge branch 'theeditorisjustanotherengine' into 'master'
...
Use ESM::ReadersCache in the editor
Closes #7896
See merge request OpenMW/openmw!4111
2024-05-21 06:35:47 +00:00
Andrei Kortunov
bf682d51a6
Support dark mode on Windows (feature 7985)
2024-05-20 16:50:24 +04:00
psi29a
f34994e4c8
Merge branch 'notexturetypeconfusion' into 'master'
...
Support defining the texture type with a state attribute (#6240 )
Closes #6240
See merge request OpenMW/openmw!4079
2024-05-20 12:48:30 +00:00
Alexei Kotov
03652104fe
Merge branch 'cleanup_preloading' into 'master'
...
Cleanup preloading code
See merge request OpenMW/openmw!4104
2024-05-19 20:39:28 +00:00
Evil Eye
77d554594f
Add ReadersCache::clear
2024-05-19 20:39:23 +02:00
elsid
45d62ee59f
Limit RecastMeshManager range by active cell grid
2024-05-19 20:07:47 +02:00
elsid
49db37ee29
Merge setWorldspace and updateBounds
2024-05-19 20:07:47 +02:00
elsid
9854d42d56
Use ESM::RefId for worldspace type
2024-05-19 20:07:47 +02:00
elsid
5d28164416
Remove recast mesh tiles outside active range
2024-05-19 20:07:47 +02:00
elsid
9e2f3fd0b4
Report stats for TileCachedRecastMeshManager
2024-05-19 20:03:34 +02:00
Alexei Kotov
908f3891fb
Add helper method for texture type recovery
2024-05-19 02:26:40 +03:00
Alexei Kotov
84f4ba4ca1
Support defining the texture type with a state attribute ( #6240 )
...
Named textures are still supported for easier native format compatibility (and so that I don't have to edit the documentation)
2024-05-18 23:11:20 +03:00
psi29a
9b31ecc10e
Merge branch 'bufferer_log' into 'master'
...
Write to log file records captured before configs are loaded
See merge request OpenMW/openmw!4095
2024-05-16 11:17:25 +00:00
elsid
491a59b035
Remove unused getActiveGrid function
2024-05-15 22:33:11 +02:00
elsid
38f0533bcf
Write to log file records captured before configs are loaded
2024-05-13 01:17:26 +02:00
elsid
4ab5871dc4
Split Tee logic into different types
2024-05-13 01:17:24 +02:00
Alexei Kotov
1d96c0adbf
Read BSTreadTransfInterpolator
2024-05-13 01:20:23 +03:00
Alexei Kotov
5f4a0c3bf1
Read BSAnimNote/BSAnimNotes
2024-05-13 01:12:09 +03:00
Alexei Kotov
c5a11f0c9f
Read BSRotAccumTransfInterpolator
2024-05-13 00:49:10 +03:00
Alexei Kotov
c647374c0d
Add compact B-Spline interpolators
2024-05-13 00:36:10 +03:00
Alexei Kotov
d458c07b36
Add base typed B-Spline interpolators
2024-05-13 00:20:32 +03:00
Alexei Kotov
5c6fca14c1
Read NiBSplineData/NiBSplineBasisData
2024-05-12 23:58:05 +03:00
psi29a
919d1e366e
Merge branch 'staticcollections' into 'master'
...
Place static collections to the scene and fix item modification record loading
See merge request OpenMW/openmw!4085
2024-05-11 07:43:28 +00:00
psi29a
1cde82201e
Merge branch 'optimize_merge_geometry' into 'master'
...
Optimize geometry merging
See merge request OpenMW/openmw!4086
2024-05-11 07:40:53 +00:00
psi29a
2f8e3611fb
Merge branch 'issue-7924-envvar-crashdump' into 'master'
...
components/crashcatcher: if OPENMW_FULL_MEMDUMP is set, generate a full memory crashdump
See merge request OpenMW/openmw!4078
2024-05-10 13:43:23 +00:00
elsid
020b31395b
Reserve arrays before merging
2024-05-09 17:21:56 +02:00
Alexei Kotov
7d979a2dfc
Place ESM4 static collections to the scene
2024-05-09 17:26:27 +03:00
Austin English
50b2edc121
components/crashcatcher: if OPENMW_FULL_MEMDUMP is set, generate a full memory crashdump
...
[Bug #7924 ](https://gitlab.com/OpenMW/openmw/issues/#7924 )
2024-05-08 18:27:57 -05:00
jvoisin
93aa887868
Merge branch 'itsemissivenotglow' into 'master'
...
Unbork glow maps
See merge request OpenMW/openmw!4077
2024-05-08 21:10:14 +00:00
Alexei Kotov
c95bb4ce59
Merge branch 'split_esm_headers' into 'master'
...
Split ESM headers
See merge request OpenMW/openmw!4071
2024-05-07 11:57:32 +00:00
Alexei Kotov
c29ceb7f7f
Unbork glow maps
2024-05-06 23:32:35 +03:00
elsid
a920ca9070
Report loading screens to osg stats
2024-05-04 13:22:32 +02:00
elsid
01166b1f26
Split ESM headers
2024-05-03 01:55:20 +02:00
AnyOldName3
b55a0fd32a
|| and && have different binding precedence
2024-04-30 13:50:50 +01:00
AnyOldName3
d148bd1cde
Add bounds check
2024-04-30 13:41:48 +01:00
psi29a
a57c350c08
Merge branch 'paint_svg' into 'master'
...
Change SVG icons color in the editor
See merge request OpenMW/openmw!4060
2024-04-30 08:19:51 +00:00
AnyOldName3
ee3d012a6a
Use CLAMP_TO_EDGE for shadows
...
Partially mitigates https://gitlab.com/OpenMW/openmw/-/issues/7944
The border was necessary in the olden days when the FFP might have shadows, but they require shaders now.
2024-04-29 01:21:29 +01:00
psi29a
e4fd852df6
Merge branch 'ba2' into 'master'
...
BA2 support fixes
See merge request OpenMW/openmw!4055
2024-04-28 07:40:40 +00:00
psi29a
1eb6b322a7
Merge branch 'morefunfallout4discoveries' into 'master'
...
Fix reading BSLightingShaderProperty backlight power in NIF Bethesda stream version 132
See merge request OpenMW/openmw!4058
2024-04-28 07:39:51 +00:00
Alexei Kotov
a5d936993f
Clarify Fallout 4 next gen update BA2 version naming
2024-04-28 05:09:40 +03:00
Andrei Kortunov
98abfcfe00
Use grayscale images for disabled icons
2024-04-27 11:25:56 +04:00
Andrei Kortunov
070327a259
Change SVG color in the editor
2024-04-27 09:57:47 +04:00
Alexei Kotov
52bc744642
Fix reading backlight power in NIF stream version 132
2024-04-26 17:32:07 +03:00
Alexei Kotov
52d77e3a45
Version 8 texture BA2s found
2024-04-26 16:45:30 +03:00
Alexei Kotov
f0e4793321
Remove allow shadow map overlap setting ( #7939 )
2024-04-26 13:50:03 +03:00
Alexei Kotov
61b6150c01
Properly detect the version for post-FO4 BA2 formats
2024-04-26 10:50:06 +03:00
Alexei Kotov
f796e051cb
Support zlib-compressed version 3 DDS BA2s
2024-04-26 10:45:03 +03:00
Alexei Kotov
b32385a0af
Fix BA2 signature check
2024-04-26 10:32:17 +03:00
Alexei Kotov
22fb3d7f83
Add support for Fallout 4 next-gen update BA2s
2024-04-26 10:30:42 +03:00
psi29a
26f0e6b22c
Merge branch 'nifmisc' into 'master'
...
Miscellaneous NIF loader corrections
See merge request OpenMW/openmw!4052
2024-04-25 08:45:36 +00:00
Alexei Kotov
7f13f6a4e9
Use osg::Fog::compare in NifOsg::Fog::compare
2024-04-25 03:09:04 +03:00
psi29a
a628c658a9
Merge branch 'lessgoofymaterialptr' into 'master'
...
Simplify material file pointer acrobatics
See merge request OpenMW/openmw!4049
2024-04-24 08:39:52 +00:00
psi29a
99a0755094
Merge branch 'remove_natural_sort' into 'master'
...
Remove dead code
See merge request OpenMW/openmw!4047
2024-04-24 08:38:26 +00:00
Alexei Kotov
745be2e91b
Implement NifOsg::Fog::compare()
2024-04-24 01:45:09 +03:00
Alexei Kotov
a513049129
Adjust drawable property state changes
...
Reset shininess and specular strength when specular lighting is supposed to be disabled
Don't add the material redundantly if a sorter is pushed
Don't discard non-default emissive and specular multipliers if there's no sorter or material
2024-04-24 00:40:54 +03:00
Alexei Kotov
713e741f9c
Share fog state attributes
2024-04-23 23:53:34 +03:00
Alexei Kotov
d7bd5e76ca
Move wrapping flag handling to relevant properties
2024-04-23 23:40:14 +03:00
psi29a
02cdeb6252
Merge branch 'scalable_editor' into 'master'
...
Treat editor icons as scalable
See merge request OpenMW/openmw!4042
2024-04-23 07:04:59 +00:00
Alexei Kotov
78eda530ac
Simplify material file pointer acrobatics
2024-04-23 00:34:38 +03:00
Andrei Kortunov
6390fdee7a
Remove dead code
2024-04-22 20:41:58 +04:00
psi29a
023c0f7a46
Merge branch 'vfs_normalized_path_6' into 'master'
...
Use normalized path for music related functions
See merge request OpenMW/openmw!4038
2024-04-22 07:02:14 +00:00
Andrei Kortunov
1bb48bcef7
Treat editor icons as scalable
2024-04-21 20:56:06 +04:00
Alexei Kotov
884668927f
BGSM Reader: include cleanup, adjust getFile return result
2024-04-20 23:38:01 +03:00
elsid
a863899eb1
Use normalized path for SoundManager::streamMusic
2024-04-20 21:14:09 +02:00
Alexei Kotov
77c3cd4467
More BGSM cleanup
2024-04-20 19:43:42 +03:00
Alexei Kotov
6be2bb70c3
Remove unused remnants of NIFStream from BGSMStream
2024-04-20 19:43:42 +03:00
Alexei Kotov
ea5e101821
Handle glow maps for BGSM files
2024-04-20 19:43:42 +03:00
Alexei Kotov
8325e100df
More decal deduplication
2024-04-20 19:43:42 +03:00
Alexei Kotov
5789eb73b1
Deduplicate decal and alpha handling in NifLoader
2024-04-20 19:43:42 +03:00
Alexei Kotov
4ccf9c1917
Deduplicate NifLoader texture attachment
...
Handle non-existent shader materials more gracefully
Deduplicate shader material drawable property handling
2024-04-20 19:43:42 +03:00
Alexei Kotov
e680123482
NifLoader: Make the image manager a member
2024-04-20 19:43:42 +03:00
Alexei Kotov
8997bd6854
Apply shader material transparency parameters, get rid of unwanted shiny
2024-04-20 19:43:42 +03:00
Alexei Kotov
1d65aaee71
Formatting
2024-04-20 19:43:42 +03:00
Alexei Kotov
96f5ae5a8d
Handle BGSM decal flag, hide visibility editor markers
2024-04-20 19:43:41 +03:00
Alexei Kotov
1a961f3021
Extremely early handling for BGSM/BGEM files
2024-04-20 19:43:41 +03:00
Alexei Kotov
fe1cb3a5ae
Add a resource manager for BGSM files
2024-04-20 19:43:41 +03:00
Alexei Kotov
cb77bcc4c8
Initial BGEM file parsing
2024-04-20 19:43:41 +03:00
Alexei Kotov
484a360792
Add a safety measure for string loading in BGSM
2024-04-20 19:43:41 +03:00
Alexei Kotov
f9f8c1e591
Fix depth test reading in BGSM
2024-04-20 19:43:41 +03:00
Alexei Kotov
8ef6304dd9
BGSM colors are Vec3
2024-04-20 19:43:41 +03:00
Alexei Kotov
015aca2cfd
Initial BGSM file parsing
2024-04-20 19:43:41 +03:00
Alexei Kotov
124df1be61
Parse shared part of material files
2024-04-20 19:43:41 +03:00
Alexei Kotov
aea7b10986
Add dummy BGSM/BGEM file reader
2024-04-20 19:43:40 +03:00
AnyOldName3
04f1dc282b
Merge branch 'fix-osga-rotate-wildly' into 'master'
...
Fix OSGAnimation issues
See merge request OpenMW/openmw!3989
2024-04-20 15:37:09 +00:00
elsid
e11a5a4352
Use normalized path for SoundManager::playPlaylist
2024-04-19 22:43:20 +02:00
elsid
82931059fd
Make NormalizedView constructor from const char* explicit
2024-04-19 22:42:04 +02:00
Sam Hellawell
b7aa3b9f47
Remove rename from RenameBonesVisitor, rename to RenameAnimCallbacksVisitor
2024-04-19 07:48:26 +01:00
psi29a
e4c70b7861
Merge branch 'anyoldname3-and-the-amazing-technicolour-terminal-emulator' into 'master'
...
Support coloured terminal output on Windows
See merge request OpenMW/openmw!4027
2024-04-17 13:09:07 +00:00
psi29a
3600c6c7c7
Merge branch 'filterview' into 'master'
...
Validate INFO filters when loading the record
See merge request OpenMW/openmw!4003
2024-04-17 13:08:49 +00:00
psi29a
b91ff634e4
Merge branch 'navmesh_queue' into 'master'
...
Optimize queue for navmesh async jobs
See merge request OpenMW/openmw!4025
2024-04-17 11:10:44 +00:00
Sam Hellawell
2653b76db9
getTranslation/getTransformForNode refactor, unit tests
2024-04-17 08:16:48 +01:00
AnyOldName3
83e3718bed
. c l a n g - f o r m a t
2024-04-16 13:14:36 +01:00
AnyOldName3
61364c874f
Warn future me off wasting their time again
2024-04-16 01:14:20 +01:00
AnyOldName3
a7021bf9cc
Clear std stream errors when reopening
...
Prior errors are no longer relevant.
Shouldn't make a difference unless you've tried printing something before the streams were set up.
2024-04-16 01:10:39 +01:00
Alexei Kotov
443e341ae7
Generalize unsized pixel format computation
2024-04-16 02:52:25 +03:00
Alexei Kotov
3c0c1717a9
Fix red-green normal map handling for terrain
2024-04-15 12:02:52 +03:00
Alexei Kotov
58afe1ba23
Support red-green normal maps
2024-04-15 12:02:52 +03:00
elsid
910c88325a
Add a setting to wait for all navmesh jobs on exit
2024-04-13 19:51:16 +02:00
elsid
50f4471750
Use R-tree for dynamic priority of navmesh async job
2024-04-13 19:51:16 +02:00
elsid
17bd571a65
Do not repost failed jobs
...
Failures should not happen except for some weird corner cases. Retrying is
unlikely to help in such situation.
2024-04-13 19:51:16 +02:00
elsid
d6f3d34f2f
Remove tiles present on navmesh but outside desired area
2024-04-13 19:51:16 +02:00
elsid
61c69c5563
Use proper prefix for CollisionShapeType
2024-04-13 19:51:16 +02:00
elsid
a1438f65fe
Set proper max tiles on initializing navmesh settings
2024-04-13 19:48:58 +02:00
AnyOldName3
1930bfeabb
Support coloured terminal output on Windows
...
First try the modern Windowsy way, where we can directly query if escape sequences will be processed.
The function is available as far back as Windows 2000, but it just won't return the right flag until the Windows version is new enough.
If that fails, fall back to the Unixy way, as not all colour-supporting terminal emulators for Windows use the Win32 API to declare that capability.
The implementation isn't identical as isatty wasn't available without adding more headers, and we already have Windows.h in this file, so I might as well use the Win32 API instead of its POSIX-compatibility layer.
2024-04-13 17:09:48 +01:00
Evil Eye
6e79064a57
Fix editor oddities
2024-04-12 18:32:47 +02:00
psi29a
f9e957ea0e
Merge branch 'esm4scvr' into 'master'
...
ESM4: Make script local variable loading more reliable
See merge request OpenMW/openmw!3967
2024-04-12 15:01:46 +00:00
Evil Eye
a4625ea784
Deduplicate dialogue filter parsing
2024-04-11 22:29:33 +02:00
Evil Eye
fb4edda45d
Validate INFO filters when loading the record
2024-04-11 16:55:00 +02:00
Sam Hellawell
8c2c66d59e
.nif check, matrix mult feedback, auto usage, reuse NodeMap typedef
2024-04-11 02:16:06 +01:00
psi29a
8037a6e765
Merge branch 'portable-launcher' into 'master'
...
Portable Launcher (plus a whole slew of bugs fixes for problems I found that I suspect aren't on the tracker)
Closes #6846
See merge request OpenMW/openmw!3925
2024-04-10 09:53:07 +00:00
AnyOldName3
48f1f08537
Hide things that depend on present-but-inactive game files
...
https://gitlab.com/OpenMW/openmw/-/merge_requests/3925#note_1843962919
2024-04-07 22:12:39 +01:00
Sam Hellawell
d23c10622d
Use dynamic cast to check for bone
2024-04-07 21:09:45 +01:00
Sam Hellawell
a51d560174
Move bone rename logic to ColladaDescriptionVisitor, undo formatting/refactoring
2024-04-05 01:59:40 +01:00
Sam Hellawell
2288a691d2
Replace osgAnimation bone underscore naming at load time, map bone instances, reset root bone transform each frame
2024-04-04 00:10:51 +01:00
AnyOldName3
bb3c22e4a5
Add and register SettingValue stream operators
2024-04-01 00:15:58 +01:00
psi29a
3da6b4f529
Merge branch 'more_stats' into 'master'
...
Report more stats in F4
See merge request OpenMW/openmw!3956
2024-03-30 08:41:29 +00:00
psi29a
43f2574406
Merge branch 'vaporeon' into 'master'
...
Make sunlight scattering and wobbly shores optional
See merge request OpenMW/openmw!3994
2024-03-30 08:41:04 +00:00
elsid
215404e126
Report more stats from caches
2024-03-29 14:25:39 +01:00
elsid
ae41ebfc83
Report CellPreloader stats
2024-03-29 14:05:26 +01:00
elsid
9a24e77d3f
Show F4 stats in pages
2024-03-29 14:05:25 +01:00
Alexei Kotov
76105cc2d1
Make sunlight scattering and wobbly shores optional
2024-03-29 10:41:04 +03:00
Evil Eye
1d13f7db8f
Simplify detachFromParent
2024-03-28 20:17:05 +01:00
Evil Eye
8cbcb82dd4
Prevent iterator invalidation when updating Lua UI and increase const correctness
2024-03-28 20:01:50 +01:00
psi29a
2497164b2b
Merge branch 'optimize_font_loading' into 'master'
...
Optimize bitmap fonts loading
See merge request OpenMW/openmw!3988
2024-03-28 09:05:22 +00:00
psi29a
2056da358d
Merge branch 'opencs-projectile-speed' into 'master'
...
OpenMW-CS: Editing and verifying of projectile speed for magic effects
See merge request OpenMW/openmw!3939
2024-03-28 09:04:50 +00:00
psi29a
e8038d353f
Merge branch 'esmstuff' into 'master'
...
Use more decomposition, string_view, and implicit sizes in ESM code
See merge request OpenMW/openmw!3975
2024-03-27 19:40:18 +00:00
Sam Hellawell
deb8894035
ESM::MagicEffect::blank() set the default to 1
...
Signed-off-by: Sam Hellawell <sshellawell@gmail.com>
2024-03-27 09:26:04 +00:00
Andrei Kortunov
f2dc25e214
Optimize bitmap fonts loading
2024-03-27 12:44:35 +04:00
psi29a
f7f7502d60
Merge branch 'i-said-it-was-unlocked-damn-you' into 'master'
...
Fix(CS): Actually allow unlocking doors ( #7899 )
Closes #7899
See merge request OpenMW/openmw!3982
2024-03-27 07:32:53 +00:00
Dave Corley
2e68786331
Fix(CS): Actually allow unlocking doors ( #7899 )
2024-03-27 07:32:53 +00:00
psi29a
b70f1d86c5
Merge branch 'fix-sheathing-non-nifs' into 'master'
...
Fix weapon and shield sheathing for non-nif meshes
See merge request OpenMW/openmw!3985
2024-03-27 07:30:14 +00:00
Mads Buvik Sandvei
e0b11c14c2
Remove unused member mStackable
2024-03-26 14:44:02 +00:00
Sam Hellawell
7897ff7ac9
Fix weapon sheathing for non-nif meshes
2024-03-25 21:03:59 +00:00
psi29a
012d10703f
Merge branch 'spellcast-refactor' into 'master'
...
Spellcast related Lua API + spellcasting/activespell refactor
See merge request OpenMW/openmw!3922
2024-03-25 13:50:23 +00:00
Mads Buvik Sandvei
320d8ef014
Spellcast related Lua API + spellcasting/activespell refactor
2024-03-25 13:50:23 +00:00
Alexei Kotov
6515fdd73f
Handle zero length Lua storage files more gracefully ( #7823 )
2024-03-24 20:05:37 +03:00
jvoisin
79a62b3ad3
Merge branch 'enable_normals_for_all' into 'master'
...
Restructure colormasks at higher level
See merge request OpenMW/openmw!3970
2024-03-23 21:56:30 +00:00
Cody Glassman
a4dd9224df
Restructure colormasks at higher level
2024-03-23 21:56:30 +00:00
Evil Eye
5a0aed3a78
Use more decomposition, string_view, and implicit sizes in ESM code
2024-03-23 12:15:09 +01:00
Evil Eye
bf708acfac
Merge branch 'goddamnit-there-are-more' into 'master'
...
Even more MSVC-specific warnings that evaded detection in CI
See merge request OpenMW/openmw!3968
2024-03-23 08:07:28 +00:00
Alexei Kotov
63276e0f1f
Merge branch 'avoid_copy' into 'master'
...
Follow-up for YAML API
See merge request OpenMW/openmw!3961
2024-03-23 07:13:39 +00:00
Cody Glassman
098396822f
add choice widget type to postprocessing uniforms
2024-03-21 17:48:30 -07:00
AnyOldName3
818a99a870
Review
2024-03-21 16:18:18 +00:00
AnyOldName3
da8150e2e4
Even more MSVC-specific warnings that evaded detection in CI
2024-03-21 15:51:29 +00:00
Alexei Kotov
3721a69747
ESM4: Make script local variable loading more reliable
2024-03-21 18:16:11 +03:00
psi29a
af9f1b54da
Merge branch 'lost-warnings' into 'master'
...
Fixes for a whole bunch of warnings
See merge request OpenMW/openmw!3950
2024-03-21 07:45:21 +00:00
Alexei Kotov
25414cd660
Merge branch 'rm_esm4_local_static' into 'master'
...
Remove static modifier from local variables used to store temporary loading results
See merge request OpenMW/openmw!3964
2024-03-21 05:28:40 +00:00
elsid
3358bc80bf
Merge branch 'esm4fourcc' into 'master'
...
Get rid of ESM4::SubRecordTypes
See merge request OpenMW/openmw!3962
2024-03-20 20:42:43 +00:00
elsid
0da8b29a88
Remove static modifier from local variables used to store temporary loading results
...
They make the code thread unsafe because different threads will use the same
memory to write and read using different instances of the loaded objects.
2024-03-20 00:01:41 +01:00
Alexei Kotov
6b93479bd3
Get rid of ESM4::SubRecordTypes
...
All my homies hate ESM4::SubRecordTypes
2024-03-18 12:25:17 +03:00
Dave Corley
fcff1a6739
Fix #7887 , use actual instead of reported size for script data
2024-03-17 16:14:52 -05:00
Andrei Kortunov
2d3a8ca0fc
Do not use an inner namespace
2024-03-17 18:15:23 +04:00
Andrei Kortunov
cb831a5917
Add more includes just for sure
2024-03-17 17:22:10 +04:00
Andrei Kortunov
2523afe9c2
Use namespace instead of static class
2024-03-16 22:06:28 +04:00
Andrei Kortunov
8037ad7f00
Remove unused includes
2024-03-16 22:06:15 +04:00
psi29a
854b4f226b
Merge branch 'fix_msvc_build' into 'master'
...
Fix build with MSVC 19.38
See merge request OpenMW/openmw!3960
2024-03-16 14:09:42 +00:00
Andrei Kortunov
4520ee465d
Do not copy vector
2024-03-16 16:26:26 +04:00
elsid
ee2cc8aeb7
Fix build with MSVC 19.38
...
components\detournavigator\navigator.hpp(44): error C3861: 'assert': identifier not found
2024-03-16 13:09:16 +01:00
elsid
16410d0960
Use std::string for ResourceManager cache key
...
Otherwise terrain textures cache has zero hits because it stores not normalized
paths. Due to implicit conversion it's possible to add entry with
addEntryToObjectCache passing a string that is converted into normalized path.
But then getRefFromObjectCache called with original value does not find this
entry because it's not converted and overloaded operators are used instead.
2024-03-16 00:17:13 +01:00
Andrei Kortunov
6da151cf77
Fix GCC build
2024-03-15 20:12:47 +04:00
psi29a
5d669f0470
Merge branch 'fix_ui_crashes' into 'master'
...
Another day, another UI crash fix
See merge request OpenMW/openmw!3949
2024-03-15 11:03:21 +00:00
psi29a
090e57b27c
Merge branch 'esm3structs' into 'master'
...
Replace fixed size writeHNT calls with decomposition
See merge request OpenMW/openmw!3914
2024-03-15 11:02:42 +00:00
psi29a
d746918563
Merge branch 'yaml_parse' into 'master'
...
Load YAML files via Lua
Closes #7590
See merge request OpenMW/openmw!3924
2024-03-15 11:02:05 +00:00
Alexei Kotov
6e2dbfbd74
Merge branch 'check-osg-plugins-but-better' into 'master'
...
Get OSG to tell us the plugin filenames it's going to use
See merge request OpenMW/openmw!3942
2024-03-15 08:36:02 +00:00
AnyOldName3
a06ab94a20
Canonicalise resolved representation of data directories
2024-03-15 00:42:15 +00:00
AnyOldName3
9638fbabb4
https://www.youtube.com/watch?v=2_6U9gkQeqY
2024-03-15 00:11:19 +00:00
AnyOldName3
ff3ffa13b6
Auto format
2024-03-14 23:54:22 +00:00
AnyOldName3
28131fd62b
Fixes for a whole bunch of warnings
...
These warnings were always enabled, but we didn't see them due to https://gitlab.com/OpenMW/openmw/-/issues/7882 .
I do not fully understand the cause of 7822 as I can't repro it in a minimal CMake project.
Some of these fixes are thought through.
Some are sensible best guesses.
Some are kind of a stab in the dark as I don't know whether there was a
possible bug the warning was telling me about that I've done nothing to
help by introducing a static_cast.
Nearly all of these warnings were about some kind of narrowing
conversion, so I'm not sure why they weren't firing with GCC and Clang,
which have -Wall -Wextra -pedantic set, which should imply -Wnarrowing,
and they can't have been affected by 7882.
There were also some warnings being triggered from Boost code.
The vast majority of library headers that do questionable things weren't
firing warnings off, but for some reason, /external:I wasn't putting
these Boost headers into external mode.
We need these warnings dealt with one way or another so we can switch
the default Windows CI from MSBuild (which doesn't do ccache) to Ninja
(which does).
I have the necessary magic for that on a branch, but the branch won't
build because of these warnings.
2024-03-14 23:39:33 +00:00
uramer
68ed771816
Fix element detachment logic
2024-03-14 20:28:12 +01:00
uramer
2f40491065
Fix crash when destroying UI element in the same frame as creating it
2024-03-14 18:08:18 +01:00
Evil Eye
b52f721318
Use getSubComposite to read AMBI
2024-03-14 17:08:23 +01:00
Andrei Kortunov
715efe892f
Load YAML files via Lua (feature 7590)
2024-03-14 16:29:21 +04:00
psi29a
2764d8ceff
Merge branch 'fix_destroying_new_elements' into 'master'
...
Don't destroy root widget for new elements
See merge request OpenMW/openmw!3947
2024-03-14 08:37:13 +00:00
AnyOldName3
942eeb54c1
Yet another osgpluginchecker rewrite
...
It turns out that it's possible for OSG plugins to be spread across multiple directories, and OSG doesn't account for this in osgDB::listAllAvailablePlugins(), even though it works when actually loading the plugin.
Instead, use code that's much more similar to how OSG actually loads plugin, and therefore less likely to miss anything.
Incidentally make things much simpler as we don't need awkwardness from working around osgDB::listAllAvailablePlugins()'s limitations.
2024-03-12 23:30:11 +00:00
uramer
b12f98db98
Don't destroy root widget for new elements
2024-03-12 17:48:42 +01:00
elsid
859d765921
Use normalized path for NifFileManager::get
2024-03-11 22:07:37 +01:00
elsid
3ea3eeb613
Use string_view for canOptimize
2024-03-11 22:07:37 +01:00
elsid
a98ce7f76a
Replace std::filesystem::path by std::string_view in Files::getHash argument
2024-03-11 22:07:37 +01:00
elsid
79b73e45a1
Replace std::filesystem::path by std::string and std::string_view in nif code
...
It's used only for error reporting.
2024-03-11 22:07:37 +01:00
elsid
cd3c3ebadb
Use VFS::Path::Normalized for ResourceManager cache key
2024-03-11 22:07:36 +01:00
psi29a
b5b6744321
Merge branch 'hotfix_ui_update' into 'master'
...
Fix Lua UI updates
See merge request OpenMW/openmw!3936
2024-03-11 11:14:26 +00:00
psi29a
3cb8d05fe5
Merge branch 'vfs_normalized_path_4' into 'master'
...
Use VFS::Path::Normalized in few more places
See merge request OpenMW/openmw!3934
2024-03-11 07:29:55 +00:00
AnyOldName3
0730dc2ebb
Get OSG to tell us the plugin filenames it's going to use
...
That way, we don't have issues like the checker getting false positives when the right plugins are present for the wrong OSG version or build config, or false negatives when we've generated the wrong filenames.
2024-03-10 18:04:38 +00:00
uramer
af8662daee
Detach Lua Elements properly from their parent
2024-03-10 14:05:37 +01:00
uramer
0f60052bb8
Set Element state in Element::create
2024-03-09 22:27:10 +01:00
psi29a
6f9ceff3f3
Merge branch 'windows_build' into 'master'
...
Add option to disable precompiled headers
See merge request OpenMW/openmw!3933
2024-03-09 09:48:57 +00:00
elsid
cc35df9409
Use VFS::Path::Normalized for fx::Technique file path
2024-03-09 00:21:17 +01:00
elsid
ffbeb5ab98
Build localization path using VFS::Path::Normalized
2024-03-09 00:21:17 +01:00
elsid
84adb0a148
Make VFS::Path::Normalized constructor from std::string_view explicit
2024-03-09 00:21:16 +01:00
psi29a
a926f4a5a9
Merge branch 'alt_tab_fix' into 'master'
...
Do not treat Alt-Tab as resolution change
Closes #7866
See merge request OpenMW/openmw!3931
2024-03-08 08:41:55 +00:00
psi29a
f09f5c644c
Merge branch 'update_setting_pages' into 'master'
...
Optimize setting group rendering
See merge request OpenMW/openmw!3929
2024-03-08 08:39:49 +00:00
AnyOldName3
e0b13f0858
Ensure default config values are present
...
Moving builtin.omwscripts out of the root openmw.cfg means we actually might need to use the defaults, so need to have some.
2024-03-08 01:44:47 +00:00
elsid
5859fd464c
Add option to disable precompiled headers
...
To be able to use ccache.
Also fix compilation errors appeared due to absence of precompiled
headers.
2024-03-08 02:11:51 +01:00
Andrei Kortunov
5dcac4c48f
Do not treat Alt-Tab as resolution change (bug 7866)
2024-03-07 15:43:35 +04:00
AnyOldName3
36f5c819bb
capitulate
2024-03-07 01:48:16 +00:00
AnyOldName3
243b5b6666
Hopefully convince the old MSVC version on GitLab CI to work
...
The old code was legal, and the things it did worked in other places, so should have worked here, too.
Hopefully just rearranging stuff convinces what I assume to be a compiler bug to not happen.
2024-03-06 23:52:16 +00:00
AnyOldName3
ed23f48754
Actually erase the things we're removing
...
Caused by bad copy and paste
2024-03-06 23:44:24 +00:00
uramer
9ae61f1932
Fix child UI Elements created in the same frame as parent
2024-03-06 23:16:02 +01:00
elsid
5acfb07850
Fix build with OSG_USE_UTF8_FILENAME
2024-03-06 20:51:48 +01:00
Evil Eye
1499dd2654
Add getCompositeSize and handle NPC data
2024-03-06 18:16:55 +01:00
AnyOldName3
bf24bb71b1
Explicitly use std::strong_ordering
...
Otherwise it's ambiguous how to build <=> from <, == and >
2024-03-06 01:23:51 +00:00
AnyOldName3
1ae2cc82a1
I do not know how this escaped formatting locally.
2024-03-06 00:46:01 +00:00
AnyOldName3
a130ca57a4
Track source of settings
...
This one's a biggie.
The basic idea's that GameSettings should know:
* what the interpreted value of a setting is, so it can actually be used.
* what the original value the user put in their config was, so it can be put back when the config's saved.
* which path it's processing the openmw.cfg from so relative paths can be resolved correctly.
* whether a setting's a user setting that can be modified, or from one of the other openmw.cfg files that can't necessarily be modified.
This had fairly wide-reaching implications.
The first is that paths are resolved properly in cases where they previously wouldn't have been.
Without this commit, if the launcher saw a relative path in an openmw.cfg, it'd be resolved relative to the process' working directory (which we always set to the binary directory for reasons I won't get into).
That's not what the engine does, so is bad.
It's also not something a user's likely to suspect.
This mess is no longer a problem as paths are resolved correctly when they're loaded instead of on demand when they're used by whatever uses them.
Another problem was that if paths used slugs like ?userconfig? would be written back to openmw.cfg with the slugs replaced, which defeats the object of using the slugs.
This is also fixed.
Tracking which settings are user settings and which are in a non-editable openmw.cfg allows the launcher to grey out rows so they can't be edited (which is sensible as they can't be edited on-disk) while still being aware of content files that are provided by non-user data directories etc.
This is done in a pretty straightforward way for the data directories and fallback-archives, as those bits of UI are basic, but it's more complicated for content files as that uses a nmodel/view approach and has a lot more moving parts.
Thankfully, I'd already implemented that when dealing with builtin.omwscripts, so it just needed wiring up.
One more thing of note is that I made the SettingValue struct storable as a QVariant so it could be attached to the UI widgets as userdata, and then I could just grab the original representation and use it instead of needing any complicated mapping from display value to on-disk value.
2024-03-06 00:36:13 +00:00
psi29a
231b5753e4
Merge branch 'launcher_help_version' into 'master'
...
Open matching version of documentation for Launcher Help
See merge request OpenMW/openmw!3909
2024-03-05 09:24:52 +00:00
psi29a
e340b06411
Merge branch 'get-glextensions-properly' into 'master'
...
Get the GLExtensions instance when a context is created
Closes #7351
See merge request OpenMW/openmw!3022
2024-03-04 15:05:23 +00:00
psi29a
61f5a13c02
Merge branch 'check-osg-plugins' into 'master'
...
Check for dynamic OSG plugins on launch
Closes #7736
See merge request OpenMW/openmw!3748
2024-03-04 08:00:16 +00:00
Evil Eye
cef59e8928
Replace fixed size writeHNT calls with decomposition
2024-03-03 19:39:19 +01:00
Evil Eye
958f70736f
Implement auto calculated potion values
2024-03-02 12:45:48 +01:00
AnyOldName3
b8cb757ca4
Oopsie
2024-02-29 00:01:14 +00:00
AnyOldName3
9e1334cc09
Resync composing and path openmw.cfg settings with options.cpp
2024-02-28 23:49:55 +00:00
psi29a
be1e77c282
Merge branch 'fix-git-commit-updating' into 'master'
...
Fix git commit updating
See merge request OpenMW/openmw!3911
2024-02-28 20:37:28 +00:00
psi29a
03d5872a55
Merge branch 'drop_on_exit' into 'master'
...
Add a storage mode to drop section on game exit
See merge request OpenMW/openmw!3905
2024-02-28 20:36:40 +00:00
AnyOldName3
d111b4bbd9
Handle built-in content files in content model
...
There's also handling for files declared as originating from a lower-priority openmw.cfg, e.g. anything in the local config or any intermediate ones, as they can't be disabled or reordered.
There's no way to mark such files yet, but the logic's the same as built-in files, so everything will be fine once that's set up.
2024-02-28 00:58:30 +00:00
Andrei Kortunov
ddd0945645
Add a storage mode to drop section on game exit
2024-02-27 23:26:22 +04:00
Mads Buvik Sandvei
c82c111ee1
Use correct index for Athletics_SwimOneSecond
2024-02-27 19:28:51 +01:00
AnyOldName3
f476301670
There's no such thing as the global data directory
...
That's what resources/vfs is for.
2024-02-27 14:11:48 +00:00
AnyOldName3
7d28788aee
data-local is already unquoted when it's read
2024-02-27 02:14:31 +00:00
AnyOldName3
dbdecfe94b
Use approved safety comment for path escaping explanation
...
I thought I'd got this one already
2024-02-27 01:41:12 +00:00
AnyOldName3
90966ecc47
Handle replace= lines properly in the launcher
2024-02-27 01:39:49 +00:00
AnyOldName3
626f438dcc
Make builtin.omwscripts actually mandatory
...
Previously it was quasi-mandatory - lots of things would add it, e.g. when running openmw through the CS, but it could technically be disabled.
Now it's treated like the resources/vfs directory and implicitly added by the engine etc.
2024-02-27 01:09:46 +00:00
Alexei Kotov
46f863a32e
Merge branch 'help-i-cant-swim' into 'master'
...
Fix(editor): Don't save dirty water height values
Closes #7841
See merge request OpenMW/openmw!3881
2024-02-26 21:50:50 +00:00
psi29a
619ccf7107
Merge branch 'decomposition' into 'master'
...
Use decompose to remove more instances of pragma pack
See merge request OpenMW/openmw!3906
2024-02-26 11:23:17 +00:00
psi29a
f2039b35d0
Merge branch 'vfs_normalized_path_3' into 'master'
...
Use normalized path for correctSoundPath
See merge request OpenMW/openmw!3903
2024-02-26 11:21:33 +00:00
AnyOldName3
bcd54ab1ff
Format osgpluginchecker.cpp.in
...
I formatted the generated file that's part of the VS solution, then diffed it against the input and changed it to match.
2024-02-25 23:01:52 +00:00
AnyOldName3
02ef7ae3cc
Give up rearranging the CS
2024-02-25 22:49:53 +00:00
AnyOldName3
93a84b38ac
Give git-version its name back
2024-02-25 19:05:38 +00:00
AnyOldName3
42c7fc8e92
Update 2 files
...
- /components/CMakeLists.txt
- /cmake/GitVersion.cmake
2024-02-25 18:53:19 +00:00
uramer
86a82ae3f1
Open matching version of documentation for Launcher Help
2024-02-25 18:20:40 +01:00
AnyOldName3
357bf3db61
Load all config files
2024-02-25 14:01:20 +00:00