Commit Graph

8378 Commits (5d37cb3b74b1e47fef78fdabaedb791091018dc6)

Author SHA1 Message Date
elsid ec6af1ef32
Fix build with msvc
components\resource\cachestats.hpp(23): error C2039: 'string': is not a member of 'std'
4 months ago
elsid d8189a5aa1
Use normalized path in SceneManager 4 months ago
psi29a b32f68fcd2 Merge branch 'vfs_normalized_path_10' into 'master'
Use normalized path in LuaState (#8138)

See merge request OpenMW/openmw!4365
4 months ago
Cody Glassman b346a4a858 Add frame number to available postprocess uniforms 4 months ago
elsid 32ec92e71c
Use normalized path in LuaState 4 months ago
psi29a 4c28731f6a Merge branch 'optionallightfadeout' into 'master'
Make light attenuation fade optional

See merge request OpenMW/openmw!4267
4 months ago
psi29a e1875d459a Merge branch 'boost-config-required' into 'master'
Modernise Boost CMake stuff

Closes #8100

See merge request OpenMW/openmw!4307
4 months ago
psi29a b3677d07fd Merge branch 'pcallallthethings' into 'master'
Wrap all memory allocating Lua functions in protected calls

Closes #8099

See merge request OpenMW/openmw!4336
4 months ago
elsid 9e36b3fc0b
Use normalized path for models settings 4 months ago
elsid 1cdbbef7ee
Use blank CellRef as default
Default constructed CellRef has some fields uninitialized.
4 months ago
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
4 months ago
Evil Eye 032d506aa7 Fix components_tests 4 months ago
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.
4 months ago
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).
4 months ago
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