Commit Graph

8414 Commits (81f2402e66cdc9c21dd81e7126b29a06dbd56d59)

Author SHA1 Message Date
jvoisin 830a26f75e Merge branch 'realloc' into 'master'
Don't assume realloc always succeeds

See merge request OpenMW/openmw!4331
4 months ago
Evil Eye c9783344a0 Wrap all memory allocating Lua functions in protected calls 4 months ago
psi29a 566e5b5588 Merge branch 'some-launcher-fixes' into 'master'
Some launcher fixes

Closes #8080

See merge request OpenMW/openmw!4287
4 months ago
Evil Eye aa808d63bc Return nullptr straight away 4 months ago
Evil Eye 4652151630 Don't assume realloc always succeeds 4 months ago
elsid 92a0bbb454
Use normalized path in l10m manager 4 months ago
uramer 2460b5f4ef Merge branch 'swizzle_bop_boom_bazingle_v2' into 'master'
lua - add swizzling to vector types

See merge request OpenMW/openmw!4304
5 months ago
Cody Glassman a53d002262 lua - add swizzling to vector types 5 months ago
elsid d85130c4c0
Init potentially unread fields for HDPT 5 months ago
AnyOldName3 f1795a4698 c a p i t u l a t e 5 months ago
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
5 months ago
elsid 2ebe83c4d5
Use proper order for printf arguments 5 months ago
Cody Glassman 77eeb5bd92 Merge branch 'master' into 'master'
HALF_FLOAT  and normals changes

See merge request OpenMW/openmw!4240
5 months ago
Jared Davenport 349931b5cd HALF_FLOAT and normals changes 5 months ago
psi29a 79a9f8c23c Merge branch 'thedreughtookmyenchantmentsandarentgivingthemback' into 'master'
Rebuild ESMStore indices before loading any cell or player state

See merge request OpenMW/openmw!4278
5 months ago
Evil Eye 5c4deb3f88 Prevent older binaries from incorrectly loading newer saves 5 months ago
Alexei Kotov 03091f8ce0 Make Coverity happy about animation blending 5 months ago
psi29a 312b7af954 Merge branch 'lua_context_api' into 'master'
Remove getRealFrameDuration in global context, context caching helpers

See merge request OpenMW/openmw!4273
5 months ago
Anton Uramer 6851e6e56a Context helpers for caching packages, split up core bindings into multiple caches, remove getRealFrameDuration in global context 5 months ago
elsid 8cc744997f
Make path helpers constexpr and noexcept 5 months ago
elsid 7e1ecfc0ee
Pass normalized path to RetrieveAnimationsVisitor 5 months ago
elsid 616b033c36
Move parseTextKey and parseTimeSignature to unnamed namespace 5 months ago
elsid 6e97deb3f7
Use normalized path for text key files 5 months ago
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
5 months ago
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
5 months ago
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
5 months ago
elsid 34f5bc6fce
Use std math functions
To avoid implicit conversions from float to double and back.
5 months ago
elsid 041b3b233a
Normalize forward and up vectors
To avoid having any of their components to be out of the range [-1, 1].
5 months ago
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);
5 months ago
Sam Hellawell 9beb380c7d Remove M_PI, documenation cleanup 5 months ago
Sam Hellawell 340252007b fitsRuleString dont reference string_view 5 months ago
Sam Hellawell 014cba807b Refactor easings, serialize per-line items, constexpr path 5 months ago
Sam Hellawell eb290bebbb Refactor AnimBlendControllers 5 months ago
Sam Hellawell 4040bd9231 FIx GCC debug build error 5 months ago
Sam Hellawell 00a7d0281f Cleanup, refactor, rename AnimBlendControllerBase -> AnimBlendController 5 months ago
Sam Hellawell 42406ed0af Use META_Object, ignore for serialize 5 months ago
Sam Hellawell 13e1df3bf0 Grammar cleanup, code cleanup, reduce logging, revert mRotation change 5 months ago
Sam Hellawell 28c8e6b1fe Cleanup loadRules method, smooth animation transitions game.rst docuemntation 5 months ago
Sam Hellawell 1282be9d29 Fix stats reporting 5 months ago
Max Yari 55ffb6d7d2 Animation blending implementation for NIF and osgAnimation through YAML files
Signed-off-by: Sam Hellawell <sshellawell@gmail.com>
5 months ago
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
6 months ago
elsid 75d9ab4d57
Pass Quat and Matrixf by reference
They don't fit into registers so without optimizations they are copied via
stack.
6 months ago
Sam Hellawell db30d9a37a Code cleanup, fix missing const 6 months ago
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 6 months ago
Sam Hellawell 56a40577ed Revert move of default anim rename 6 months ago
Sam Hellawell 03413a895f Fix osgAnimation for multiple creatures (#8045) 6 months ago
elsid 6a67263d6b
Separate the log level and the flag for writing the log level 6 months ago
elsid 98a8dcbdbf
Limit log buffer size 6 months ago
elsid c83acac32c
Add a function to get debug level 6 months ago
elsid 0749cc4dac
Remove unused include 6 months ago
elsid 1bdc01273e
Move "debugging" function into Debug namespace 6 months ago
elsid ea84d1ce0c
Remove unused mode argument 6 months ago
Dave Corley 5bca2919c2 CLEANUP: Don't assign invalid extents when loading bounding boxes 6 months ago
psi29a 664a844853 Merge branch 'fix_get_angles_zyx' into 'master'
Fix getAnglesZYX (#7741)

Closes #7741

See merge request OpenMW/openmw!4199
6 months ago
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
6 months ago
psi29a 3a5ed998e7 Merge branch 'timeplayed' into 'master'
Remove time played setting

See merge request OpenMW/openmw!4235
6 months ago
Evil Eye ee653eb2b8 Make mwscript return nil for records that don't have a script 6 months ago
psi29a e8c422697f Merge branch 'first_person_mesh_distortion' into 'master'
Fix distortion breaking in first person meshes

See merge request OpenMW/openmw!4231
6 months ago
psi29a 804b589a68 Merge branch 'qt_follow_up' into 'master'
Cleanup changes in Qt applications

See merge request OpenMW/openmw!4225
6 months ago
Alexei Kotov 888abc0097 Remove time played setting 6 months ago
Andrei Kortunov 871263d436 Check if file is successfully opened 6 months ago
Cody Glassman 45362e0ede fix distortion breaking in first person meshes 6 months ago
Evil Eye d3e3083006 CI match script names and remove dead code 6 months ago
psi29a ee1352f918 Merge branch 'luautf8allcompilers' into 'master'
Don't use codecvt for utf8.char

Closes #6505

See merge request OpenMW/openmw!4216
6 months ago
psi29a 045bccb3e9 Merge branch 'copycompiler' into 'master'
Avoid a few copies in mwscript

See merge request OpenMW/openmw!4215
6 months ago
Kindi 624a4f46b5 dont use codecvt for utf8.char 6 months ago
Evil Eye 1cea604257 Use string_view in register methods 6 months ago
Evil Eye ad7fb3d13f Avoid a few copies in mwscript 6 months ago
elsid 89bb04e8fd
Exit with fatal error on duplicated instruction code
Instead of causing SIGABRT which is more confusing.
6 months ago
psi29a 6754b8d941 Revert "Merge branch 'were_engineers_not_salt_miners' into 'master'"
This reverts merge request !4178
6 months ago
psi29a 9a864f309a Merge branch 'theluareloaded' into 'master'
Check the result of loading from bytecode

Closes #7787

See merge request OpenMW/openmw!4189
6 months ago
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
6 months ago
psi29a 11c2cf0780 Merge branch 'esm_script' into 'master'
Make loading and saving ESM3 script record more robust

See merge request OpenMW/openmw!4195
6 months ago
psi29a 57adb93075 Merge branch 'coverity' into 'master'
Coverity fixes

See merge request OpenMW/openmw!4198
6 months ago
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
6 months ago
Dave Corley 1a79e79f57 FEAT: Lua Engine Handler for MWScript `startscript` functionality 6 months ago
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
6 months ago
Dave Corley d03f25437b CLEANUP(contentmodel): Use `auto` for insertPosition declaration to
avoid possible narrowing
6 months ago
Dave Corley fbdc4f4881 CLEANUP(contentmodel): Use ranges::find_if instead of a loop 6 months ago
elsid 89a30532b7
Fix getAnglesZYX implementation 6 months ago
Dave Corley 40aee53831 CLEANUP(contentmodel): Actually, no, I hate while loops 6 months ago
Dave Corley b43743212e FIX: check we're not going out of range while listing content files, fix #8029 6 months ago
Alexei Kotov 162ac6a75e Avoid copying shader material shared_ptr in NifLoader 6 months ago
Evil Eye 5b82c7a95d Don't assume execution of an internal Lua script can't fail 6 months ago
Evil Eye 83e8729256 Check the result of loading from bytecode 6 months ago
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.
6 months ago
elsid 4571a8b88a
Remove unused SCHD type 6 months ago
AnyOldName3 decfe75ae5 Don't attempt to continue an outer loop from an inner loop 6 months ago
Kagernac f7628ff0a8 Code cleanup and documentation
Added documentation in GUI.rst for the new settings

Cleaned up the MR with some remnant changes.
6 months ago
Evil Eye d6fc0744c7 Move Lua index helpers to components and make owner.factiooRank match other ranks 6 months ago
psi29a 8e20967511 Merge branch 'collisionswitch' into 'master'
Don't let the optimizer mess with collision switch nodes (again)

See merge request OpenMW/openmw!4173
7 months ago
psi29a 31102a2076 Merge branch 'utfconversionfixsize' into 'master'
Use fixed-size type to hold a whole code point

See merge request OpenMW/openmw!4163
7 months ago
Alexei Kotov 4f8856f887 Don't let the optimizer mess with collision switch nodes (again) 7 months ago
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
7 months ago
psi29a 321b84a4d2 Merge branch 'remove-tab-comment' into 'master'
components/esm4/loadwrld.hpp: clarify comment

See merge request OpenMW/openmw!4169
7 months ago
Austin English 338902c247 components/esm4/loadwrld.hpp: clarify comment
Also convert tabs to spaces
7 months ago
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
7 months ago
psi29a 61772fa234 Merge branch 'verifiers' into 'master'
Complain about fishy local variable names, improve editor effect list handling

See merge request OpenMW/openmw!4160
7 months ago
elsid 1e98cc6c3b
Move EXPECT_ERROR macro to a separate header
To include it only where it's required.
7 months ago
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.
7 months ago
Kindi d21f3809bd test utf8 7 months ago
Dave Corley 798208f6e5 FIX: Bad rebase 7 months ago
Dave Corley 80360ca5eb downgrade clang-format pls 7 months ago
Dave Corley 3066695630 FIX(loadland.cpp): Minor rebase fail 7 months ago
Dave Corley 145f9c1154 CLEANUP(CS): Do heightData check in actual implementation, revert
accidental change to land condition order
7 months ago
Dave Corley bdf99c701b Fix(CS): Use ESM flags and not internal ones for verifying presence of a subrecord 7 months ago
Dave Corley 89bce6f678 Fix(CS): Enum name in accordance with current standards 7 months ago
Dave Corley 6f2ae4a33b Cleanup(CS): Improve readability and clean up some implementations 7 months ago
Dave Corley 51df924d37 Fix(Land): Restore vanilla behavior of ignoring LAND subrecords which
are not flagged to actually exist
7 months ago
Dave Corley b111d28ede Fix(CS): Generate blank lands at default height, not water level 7 months ago
Dave Corley 014e5118e9 Fix(CS): Fix crash when loading cell without VHGT 7 months ago
Dave Corley 18d6598565 Feat(CS): Add enum for actual LAND flags 7 months ago
Kindi 22d685eca3 ensure fitness 7 months ago
psi29a 9087de1596 Merge branch 'esm3_land' into 'master'
Add unit tests for saving and loading ESM3 Land

See merge request OpenMW/openmw!4159
7 months ago
Alexei Kotov 89eccffbf6 Complain if a function or an integer is used as a local variable name 7 months ago
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
7 months ago
psi29a 176e6490c5 Merge branch 'stufftheminasack' into 'master'
Drop 360-degree screenshot support (#7720)

Closes #7720

See merge request OpenMW/openmw!4158
7 months ago
psi29a a80f5c109c Merge branch 'ltexerasure' into 'master'
Fix LTEX overriding and allow deletion

See merge request OpenMW/openmw!4152
7 months ago
elsid 044748725c
Add unit tests for saving and loading ESM3 Land 7 months ago
Alexei Kotov 93d1c6d7e0 Drop 360-degree screenshot support (#7720) 7 months ago
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.
7 months ago
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
7 months ago
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
7 months ago
psi29a 32dd4a4a68 Merge branch 'windows11_qss' into 'master'
Improve dark mode stylesheets

See merge request OpenMW/openmw!4148
7 months ago
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
7 months ago
Evil Eye ca6baed366 Fix LTEX overriding and allow deletion 7 months ago
Andrei Kortunov 937101d580 Add a dark style sheet tweaked for Windows 11 7 months ago
Alexei Kotov 71c1b536b4 Discard culled lights specifically for post-processing light buffer 7 months ago
Alexei Kotov cbe61e2c93 In TextureType, use osg::Object's name field 7 months ago
psi29a a2e83d9a21 Merge branch 'dayofviewindependence' into 'master'
Make object light lists (mostly) view-independent

See merge request OpenMW/openmw!4128
7 months ago
psi29a e7c9574d31 Merge branch 'savetheslot' into 'master'
Convert constant effect equipment slots to refnums

Closes #7998

See merge request OpenMW/openmw!4130
7 months ago
psi29a 8cf6fde8b6 Merge branch 'fix_debug_render' into 'master'
Fix debug render for recast mesh and navmesh

See merge request OpenMW/openmw!4127
7 months ago
elsid 71369be796
Log caught exceptions 7 months ago
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
7 months ago
Alexei Kotov 916706c6c1 Make object light lists (mostly) view-independent
Remove frustum culling
Sort lights by object proximity
Restore multiple camera rendering optimization
7 months ago
psi29a 16572109fc Merge branch 'restoringthelightfacingthedark' into 'master'
Lighting fixes, non-exciting part

See merge request OpenMW/openmw!4126
7 months ago
Evil Eye cdfd305ac3 Convert constant effect equipment slots to refnums 7 months ago
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.
7 months ago
elsid 4b8897e33e
Use state sets without transparency support for recast mesh and agents paths 7 months ago
elsid 98d530d8cb
Share state sets for recast mesh tiles and actors paths 7 months ago
Alexei Kotov fd9361f62c Some attenuation setup fool-proofing 7 months ago
Alexei Kotov e0e4b84e40 Disable specularity for negative lights 7 months ago
Alexei Kotov debc37d93a Fade out specularity according to light fade settings as well 7 months ago
Evil Eye 6a10311ae5 Use more appropriate types in terrain storage 7 months ago
psi29a db27543ea1 Merge branch 'uniform_choice' into 'master'
Add choice widget type to postprocessing uniforms

See merge request OpenMW/openmw!3969
7 months ago
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
7 months ago
psi29a 2be6116ef6 Merge branch 'fix_recastmesh' into 'master'
Limit number of cached tiles with recast meshes

See merge request OpenMW/openmw!4112
7 months ago
Dave Corley c87eaefd17 Merge branch 'theeditorisjustanotherengine' into 'master'
Use ESM::ReadersCache in the editor

Closes #7896

See merge request OpenMW/openmw!4111
7 months ago
Andrei Kortunov bf682d51a6 Support dark mode on Windows (feature 7985) 7 months ago
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
7 months ago