1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-29 08:15:35 +00:00
Commit graph

8397 commits

Author SHA1 Message Date
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