Commit Graph

320 Commits (9b412bc802a30a91328e2dc288782e84b6e29e08)

Author SHA1 Message Date
psi29a 090e57b27c Merge branch 'esm3structs' into 'master'
Replace fixed size writeHNT calls with decomposition

See merge request OpenMW/openmw!3914
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 11 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
Andrei Kortunov 81a6a7cd2f Rework resolution selection (feature 7709) 1 year ago
AnyOldName3 2ed584428c Add missing headers to components/CMakeLists.txt
Otherwise, they won't show up as part of the project in IDEs.
1 year ago
Petr Mikheev 4beed29404 Changes required during review 1 year ago
Alexei Kotov 1da9038b35 Updates to resource path handling
- Remove consecutive slashes
- Only use backslashes
- Try to find the top level directory in the path before prepending it
1 year ago
Andrei Kortunov e1cae5a029 Rework music system 1 year ago
Andrei Kortunov 7ce9fc25c5 Implement Lua bindings for sound system 1 year ago
elsid 5abbc56bf2
Use proper cell size for ESM4 cells in CoordinateConverter 1 year ago
elsid 8e7fe44514
Support terrain sample size greater than cell size 1 year ago
psi29a ed81baf864 Merge branch 'chrono_fix' into 'master'
Simplify file_time_type to time_t conversion

See merge request OpenMW/openmw!3161
1 year ago
alekulyn 74aa7b947a Load BSTriShape NIF nodes 2 years ago
psi29a 6601b0cb15 Merge branch 'fastandloose' into 'master'
Drop support for --fs-strict

Closes #7394

See merge request OpenMW/openmw!3093
2 years ago
psi29a 31efad1dd0 Merge branch 'fix_model_path' into 'master'
Fix #7403: incorrect model path for records created by Lua scripts

Closes #7403

See merge request OpenMW/openmw!3151
2 years ago
Andrei Kortunov 2ea7eb4ba8 Simplify file_time_type to time_t conversion 2 years ago
Petr Mikheev 2f16a8d27c Fix incorrect model part for records created by Lua scripts 2 years ago
Petr Mikheev 3b43cc2aea Lua: change obj.rotation from Euler angles to Quaternion 2 years ago
Evil Eye eeda48ec50 Drop support for --fs-strict 2 years ago
elsid 78b3f7288a
Support UTF-8 by StringRefId::toDebugString 2 years ago
Evil Eye 9c819b5705 Disallow formatting of UString 2 years ago
elsid 89eccab7f1
Add missing include
In file included from /home/elsid/dev/openmw/apps/openmw_test_suite/settings/testvalues.cpp:1:
/home/elsid/dev/openmw/components/misc/strings/conversion.hpp: In function ‘std::string Misc::StringUtils::toHex(std::string_view)’:
/home/elsid/dev/openmw/components/misc/strings/conversion.hpp:139:87: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
  139 |             const std::ptrdiff_t space = static_cast<std::ptrdiff_t>(static_cast<std::uint8_t>(v) <= 0xf);
      |                                                                                       ^~~~~~~
      |                                                                                       wint_t
/home/elsid/dev/openmw/components/misc/strings/conversion.hpp:140:97: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
  140 |             const auto [ptr, ec] = std::to_chars(out + space, out + space + 2, static_cast<std::uint8_t>(v), 16);
      |                                                                                                 ^~~~~~~
      |                                                                                                 wint_t
2 years ago