Commit Graph

339 Commits (7b064920dbc1766a28279b72379b7f6383f88a4f)

Author SHA1 Message Date
elsid afa769408a
Use normalized path for correctActorModelPath 2 months ago
elsid 376911f645
Reduce duplication for getting file name 2 months ago
elsid d2ab366233
Use normalized path in PhysicsSystem 2 months ago
elsid 85edc49f2f
Remove unused argument 3 months ago
elsid 8cc744997f
Make path helpers constexpr and noexcept 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 75d9ab4d57
Pass Quat and Matrixf by reference
They don't fit into registers so without optimizations they are copied via
stack.
6 months ago
Andrei Kortunov 871263d436 Check if file is successfully opened 6 months ago
Andrei Kortunov 98abfcfe00 Use grayscale images for disabled icons 8 months ago
Andrei Kortunov 070327a259 Change SVG color in the editor 8 months ago
psi29a 023c0f7a46 Merge branch 'vfs_normalized_path_6' into 'master'
Use normalized path for music related functions

See merge request OpenMW/openmw!4038
8 months ago
elsid a863899eb1
Use normalized path for SoundManager::streamMusic 8 months ago
Alexei Kotov 1a961f3021 Extremely early handling for BGSM/BGEM files 8 months ago
elsid e11a5a4352
Use normalized path for SoundManager::playPlaylist 8 months ago
Sam Hellawell a51d560174 Move bone rename logic to ColladaDescriptionVisitor, undo formatting/refactoring 9 months ago
Sam Hellawell 2288a691d2 Replace osgAnimation bone underscore naming at load time, map bone instances, reset root bone transform each frame 9 months ago
psi29a af9f1b54da Merge branch 'lost-warnings' into 'master'
Fixes for a whole bunch of warnings

See merge request OpenMW/openmw!3950
9 months ago
psi29a 090e57b27c Merge branch 'esm3structs' into 'master'
Replace fixed size writeHNT calls with decomposition

See merge request OpenMW/openmw!3914
10 months ago
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.
10 months ago
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.
10 months ago
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.
10 months ago
elsid 5acfb07850
Fix build with OSG_USE_UTF8_FILENAME 10 months ago
psi29a 231b5753e4 Merge branch 'launcher_help_version' into 'master'
Open matching version of documentation for Launcher Help

See merge request OpenMW/openmw!3909
10 months ago
psi29a 61f5a13c02 Merge branch 'check-osg-plugins' into 'master'
Check for dynamic OSG plugins on launch

Closes #7736

See merge request OpenMW/openmw!3748
10 months ago
Evil Eye cef59e8928 Replace fixed size writeHNT calls with decomposition 10 months ago
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.
10 months ago
uramer 86a82ae3f1 Open matching version of documentation for Launcher Help 10 months ago
elsid ec9c829021
Use normalized path for correctSoundPath 10 months ago
Evil Eye 82c92a9a6c Merge branch 'bookart-is-textures-too' into 'master'
Consider bookart a valid prefix for regular textures and vice versa

Closes #7535

See merge request OpenMW/openmw!3342
10 months ago
AnyOldName3 3fbd97ffc8 Remove unused <vector> header 10 months ago
AnyOldName3 6406095bfb s p a n 10 months ago
AnyOldName3 1717e696b1 Format before clang notices and sends me an angry email 10 months ago
AnyOldName3 db5a43db30 Allow top-level prefix to be found in the middle of a path 10 months ago
AnyOldName3 2a5f8d5bab Skip the check on MacOS
It doesn't work, the workaround isn't enough to make it work, I can't be bothered making a more powerful workaround, and it's impossible to *package* a MacOS build missing the plugins we need anyway, even if you can build and attempt to run it.
10 months ago
AnyOldName3 2c1c8bc8de Work around for listAllAvailablePlugins 10 months ago
elsid 6451750890
Write AiSequence and Script data field by field via decompose function
Use the same function to load and save to have single place with field order
definition. Use concepts for overload over different types.
12 months ago
AnyOldName3 62f5c46f25 Split list in CMake instead of C++
That avoids the need for constexpr work, and therefore the need for an MSVC-specific extension
12 months ago
AnyOldName3 de107c6a98 Add missing _view 12 months ago
AnyOldName3 ef65f0c70d Make OSG plugin checker barely functional
* Work out what module filenames should be in CMake, and give those to C++
* Compare just the module filenames instead of the full strings
* Deal with OSG trying to support both UTF-8 and system-eight-bit-code-page file paths on Windows.
* Add a comment complaining about the constexpr situation.
* Use a stub implementation when using static OSG - apparently we don't actually support mixing and matching static and dynamic OSG plugins even though OSG itself does.
12 months ago
AnyOldName3 c2d1a4c861 Initial stab at OSG plugin checker
It doesn't work yet due to osgDB::listAllAvailablePlugins returning a list of paths to dynamic libraries.
That means:
* the check fails when the required plugin is linked statically.
* we're going to have to do something to slice up the filenames.
* there'll probably be unicode errors when the OpenMW installation path isn't representable by the current eight-bit code page on Windows.

Alternatively, we can switch to listing the required file extension support, and use osgDB::Registry::instance()->getReaderWriterList() and each element's supportedExtensions() function, but I don't think we've actually got that list of extensions anywhere and it might get desynced with the existing list of plugins if we add more.
12 months ago
psi29a e9f3e5c6d1 Merge branch 'lua_actions_electric_boogaloo' into 'master'
Lua actions take 3

See merge request OpenMW/openmw!2628
1 year ago
uramer 0e2e386dc9 Lua actions take 3 1 year ago
elsid 81a483fc7f
Remove unused vfs argument from correctMeshPath 1 year ago
AnyOldName3 4d0aece001 Clarify variable name 1 year ago
AnyOldName3 3a71a78d9e Combine topLevelDirectory and alternativeDirectories 1 year ago
AnyOldName3 f30676cbc7 Invert condition
Rebased to account for upstream normalising slashes to replace forward
slashes with backslashes, simplifying the part that needed to check for
both variants. Perhaps if it'd been like that in the first place, I
wouldn't have made the mistake that made the original version of this
commit necessary.
1 year ago
AnyOldName3 575367bc18 v e c t o r 1 year ago
AnyOldName3 69bb65e47b Allow bookart to be in texutres and texutres to be in bookart.
Rebased to account for upstream normalising slashes to turn forward
slashes into backslashes. This simplifies some conditions that
previously needed to check for both kinds.
1 year ago
Andrei Kortunov 623510c073 Use multiplication character in the launcher instead of 'x' 1 year ago