1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-30 22:11:34 +00:00
Commit graph

8523 commits

Author SHA1 Message Date
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
AnyOldName3
decfe75ae5 Don't attempt to continue an outer loop from an inner loop 2024-06-21 14:05:52 +01:00
Kagernac
f7628ff0a8 Code cleanup and documentation
Added documentation in GUI.rst for the new settings

Cleaned up the MR with some remnant changes.
2024-06-19 11:08:05 -07:00
Evil Eye
d6fc0744c7 Move Lua index helpers to components and make owner.factiooRank match other ranks 2024-06-18 21:32:16 +02:00
psi29a
8e20967511 Merge branch 'collisionswitch' into 'master'
Don't let the optimizer mess with collision switch nodes (again)

See merge request OpenMW/openmw!4173
2024-06-15 08:41:44 +00:00
psi29a
31102a2076 Merge branch 'utfconversionfixsize' into 'master'
Use fixed-size type to hold a whole code point

See merge request OpenMW/openmw!4163
2024-06-14 07:21:51 +00:00
Alexei Kotov
4f8856f887 Don't let the optimizer mess with collision switch nodes (again) 2024-06-13 22:24:40 +03:00
Alexei Kotov
ccd36e9413 Support light fade settings in legacy lighting method
This doesn't change launcher descriptions because the launcher settings are going to be omitted
2024-06-12 22:44:12 +03:00
psi29a
321b84a4d2 Merge branch 'remove-tab-comment' into 'master'
components/esm4/loadwrld.hpp: clarify comment

See merge request OpenMW/openmw!4169
2024-06-12 10:43:44 +00:00
Austin English
338902c247 components/esm4/loadwrld.hpp: clarify comment
Also convert tabs to spaces
2024-06-11 20:19:55 -05:00
psi29a
c1d74763ed Merge branch 'i-have-no-land-and-i-must-scream' into 'master'
Fix(CS): Add landscape flag if it doesn't exist at all and improve landscape QOL

Closes #7707

See merge request OpenMW/openmw!3617
2024-06-11 11:10:33 +00:00
psi29a
61772fa234 Merge branch 'verifiers' into 'master'
Complain about fishy local variable names, improve editor effect list handling

See merge request OpenMW/openmw!4160
2024-06-11 11:10:19 +00:00
elsid
1e98cc6c3b
Move EXPECT_ERROR macro to a separate header
To include it only where it's required.
2024-06-10 23:12:15 +02:00
elsid
7d1cd11ba9
Split openmw_test_suite into openmw and components tests
To avoid duplicated compilation for openmw translation units. Link openmw-lib to
openmw-tests instead.
2024-06-10 23:12:14 +02:00
Kindi
d21f3809bd test utf8 2024-06-10 18:15:07 +08:00
Dave Corley
798208f6e5 FIX: Bad rebase 2024-06-10 02:03:00 -05:00
Dave Corley
80360ca5eb downgrade clang-format pls 2024-06-10 02:02:31 -05:00
Dave Corley
3066695630 FIX(loadland.cpp): Minor rebase fail 2024-06-10 02:02:31 -05:00
Dave Corley
145f9c1154 CLEANUP(CS): Do heightData check in actual implementation, revert
accidental change to land condition order
2024-06-10 02:02:31 -05:00
Dave Corley
bdf99c701b Fix(CS): Use ESM flags and not internal ones for verifying presence of a subrecord 2024-06-10 02:02:31 -05:00
Dave Corley
89bce6f678 Fix(CS): Enum name in accordance with current standards 2024-06-10 02:02:31 -05:00
Dave Corley
6f2ae4a33b Cleanup(CS): Improve readability and clean up some implementations 2024-06-10 02:02:31 -05:00
Dave Corley
51df924d37 Fix(Land): Restore vanilla behavior of ignoring LAND subrecords which
are not flagged to actually exist
2024-06-10 02:02:31 -05:00
Dave Corley
b111d28ede Fix(CS): Generate blank lands at default height, not water level 2024-06-10 02:02:26 -05:00
Dave Corley
014e5118e9 Fix(CS): Fix crash when loading cell without VHGT 2024-06-10 01:58:34 -05:00
Dave Corley
18d6598565 Feat(CS): Add enum for actual LAND flags 2024-06-10 01:58:34 -05:00
Kindi
22d685eca3 ensure fitness 2024-06-08 22:11:59 +08:00
psi29a
9087de1596 Merge branch 'esm3_land' into 'master'
Add unit tests for saving and loading ESM3 Land

See merge request OpenMW/openmw!4159
2024-06-08 10:47:58 +00:00
Alexei Kotov
89eccffbf6 Complain if a function or an integer is used as a local variable name 2024-06-08 06:31:16 +03:00
Kagernac
7d403089ec Cleaner implementation
Retrieved the Colours straight from Settings

Made tagname clearer in openmw_list.skin.xml

Fixed minor formatting issue in validate.cpp, textcolours.cpp

Updated skin variables to be const and string_view
2024-06-07 18:38:32 -07:00
psi29a
176e6490c5 Merge branch 'stufftheminasack' into 'master'
Drop 360-degree screenshot support (#7720)

Closes #7720

See merge request OpenMW/openmw!4158
2024-06-07 20:50:43 +00:00
psi29a
a80f5c109c Merge branch 'ltexerasure' into 'master'
Fix LTEX overriding and allow deletion

See merge request OpenMW/openmw!4152
2024-06-07 08:05:56 +00:00
elsid
044748725c
Add unit tests for saving and loading ESM3 Land 2024-06-07 00:22:24 +02:00
Alexei Kotov
93d1c6d7e0 Drop 360-degree screenshot support (#7720) 2024-06-06 14:46:01 +03:00
Kagernac
aca39c919f Changed the tagname to match the values in settings.cfg
Changed the values from int to float in settings.cfg. This is consistent with the older format.

The prefix is no longer referenced and hardcoded. There were four original values in the old color format, the parsing had to be modified to account for floats and four values.
2024-06-05 20:26:45 -07:00
psi29a
8a6d3ea447 Merge branch 'hircinevsprimealmalexiawhowouldwin' into 'master'
Don't force Tribunal to be enabled to load Bloodmoon (#7993)

Closes #7993

See merge request OpenMW/openmw!4153
2024-06-05 21:00:47 +00:00
Kagernac
3e6ccfce1f Took @Capostrophic's suggestion about leveraging a new tag format
Removed the color settings from Textcolours, they are unneccessary

Removed the Fallback workaround as a dedicated else condition was created with the new tag "fontcolouroptional". This code section has no involvement in Fallback

openmw_list.skin.xml was updated to reflect this new tag

settings.cfg was updated with the updated variable names
2024-06-04 23:14:44 -07:00
psi29a
32dd4a4a68 Merge branch 'windows11_qss' into 'master'
Improve dark mode stylesheets

See merge request OpenMW/openmw!4148
2024-06-04 20:38:46 +00:00
Alexei Kotov
eca30f7921 Don't force Tribunal to be enabled to load Bloodmoon (#7993)
Sort Bloodmoon to be after Tribunal and warn the user if Bloodmoon is loaded before enabled Tribunal
2024-06-04 02:44:29 +03:00
Evil Eye
ca6baed366 Fix LTEX overriding and allow deletion 2024-06-03 16:42:27 +02:00
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