1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-09-13 23:44:08 +00:00
Commit graph

362 commits

Author SHA1 Message Date
uramer
86a82ae3f1 Open matching version of documentation for Launcher Help 2024-02-25 18:20:40 +01:00
elsid
ec9c829021
Use normalized path for correctSoundPath 2024-02-24 12:42:36 +01:00
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
2024-02-24 10:31:13 +00:00
AnyOldName3
3fbd97ffc8 Remove unused <vector> header 2024-02-23 12:48:39 +00:00
AnyOldName3
6406095bfb s p a n 2024-02-23 01:34:01 +00:00
AnyOldName3
1717e696b1 Format before clang notices and sends me an angry email 2024-02-23 00:06:51 +00:00
AnyOldName3
db5a43db30 Allow top-level prefix to be found in the middle of a path 2024-02-23 00:04:48 +00:00
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.
2024-02-22 00:24:44 +00:00
AnyOldName3
2c1c8bc8de Work around for listAllAvailablePlugins 2024-02-19 23:16:50 +00:00
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.
2024-01-14 23:04:56 +01:00
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
2024-01-12 23:43:14 +00:00
AnyOldName3
de107c6a98 Add missing _view 2024-01-12 23:43:14 +00:00
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.
2024-01-12 23:43:14 +00:00
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.
2024-01-12 23:43:14 +00:00
psi29a
e9f3e5c6d1 Merge branch 'lua_actions_electric_boogaloo' into 'master'
Lua actions take 3

See merge request OpenMW/openmw!2628
2023-12-29 18:56:59 +00:00
uramer
0e2e386dc9 Lua actions take 3 2023-12-29 18:56:59 +00:00
elsid
81a483fc7f
Remove unused vfs argument from correctMeshPath 2023-12-26 14:14:52 +01:00
AnyOldName3
4d0aece001 Clarify variable name 2023-12-11 00:05:41 +00:00
AnyOldName3
3a71a78d9e Combine topLevelDirectory and alternativeDirectories 2023-12-10 19:01:30 +00:00
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.
2023-12-10 18:25:00 +00:00
AnyOldName3
575367bc18 v e c t o r 2023-12-10 18:25:00 +00:00
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.
2023-12-10 18:24:07 +00:00
Andrei Kortunov
623510c073 Use multiplication character in the launcher instead of 'x' 2023-11-28 22:47:27 +04:00
Andrei Kortunov
81a6a7cd2f Rework resolution selection (feature 7709) 2023-11-28 22:22:34 +04:00
AnyOldName3
2ed584428c Add missing headers to components/CMakeLists.txt
Otherwise, they won't show up as part of the project in IDEs.
2023-10-15 15:44:24 +01:00
Petr Mikheev
4beed29404 Changes required during review 2023-10-07 17:21:25 +02:00
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
2023-10-04 15:54:28 +03:00
Andrei Kortunov
e1cae5a029 Rework music system 2023-09-13 09:11:07 +04:00
Andrei Kortunov
7ce9fc25c5 Implement Lua bindings for sound system 2023-08-15 10:28:29 +04:00
elsid
5abbc56bf2
Use proper cell size for ESM4 cells in CoordinateConverter 2023-08-13 02:24:22 +02:00
elsid
8e7fe44514
Support terrain sample size greater than cell size 2023-08-06 23:47:35 +02:00
psi29a
ed81baf864 Merge branch 'chrono_fix' into 'master'
Simplify file_time_type to time_t conversion

See merge request OpenMW/openmw!3161
2023-08-03 21:47:40 +00:00
alekulyn
74aa7b947a Load BSTriShape NIF nodes 2023-07-09 10:14:27 +00:00
psi29a
6601b0cb15 Merge branch 'fastandloose' into 'master'
Drop support for --fs-strict

Closes #7394

See merge request OpenMW/openmw!3093
2023-07-02 19:24:14 +00:00
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
2023-06-25 20:11:43 +00:00
Andrei Kortunov
2ea7eb4ba8 Simplify file_time_type to time_t conversion 2023-06-19 13:21:40 +04:00
Petr Mikheev
2f16a8d27c Fix incorrect model part for records created by Lua scripts 2023-06-18 00:19:50 +02:00
Petr Mikheev
3b43cc2aea Lua: change obj.rotation from Euler angles to Quaternion 2023-06-12 00:16:42 +02:00
Evil Eye
eeda48ec50 Drop support for --fs-strict 2023-06-08 21:10:09 +02:00
elsid
78b3f7288a
Support UTF-8 by StringRefId::toDebugString 2023-06-01 22:16:47 +02:00
Evil Eye
9c819b5705 Disallow formatting of UString 2023-05-30 17:35:26 +02:00
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
2023-05-24 12:45:50 +02:00
Evil Eye
3138eb406b Fix case sensitive comparison 2023-05-22 18:18:01 +02:00
Petr Mikheev
29031d0586 Increase ESM4 active grid 2023-05-18 00:38:41 +02:00
elsid
04d439485b
Log more info about navmesh shapes and jobs 2023-05-14 18:34:31 +02:00
florent.teppe
75561abfca Factorises code and fixes preload bug. 2023-05-12 22:05:54 +02:00
florent.teppe
5648e03e9e function to get cellsize depending on the context. 2023-05-12 22:05:54 +02:00
florent.teppe
d8a782425b can actually load and teleport to esm4 exterior spaces 2023-05-12 22:05:53 +02:00
Elias Howell
bf8fafa79a fixed some typos and spelling errors 2023-05-09 20:07:08 -04:00
jvoisin
c7a3f43915 Minor header cleanup
This has been done via CLion's "unused include directive",
set to "detect completely unused".
2023-04-30 16:26:03 +02:00
florent.teppe
21bd28542a Applies review advice
2d coord hash moved to hash.hpp file
format version adds suffix to be more coherent
don't use ESM::RefId::sEmpty
RefId equality with string_view, conversion to refId unecessary
action teleport remove test that mCellId is empty
removes some const references, when copy is enough
invalid refid => empty refid
removes useless change
2023-04-03 14:17:35 +02:00
elsid
3a0443c472
Make constexpr Misc::NotNullptr member functions 2023-03-18 16:36:26 +01:00
Shi Han
a90e3b8c3b Move from std::atoi to std::from_char 2023-03-18 09:30:48 +00:00
elsid
dfcea389be
Add helper functions for string comparison to RefId 2023-03-03 00:39:55 +01:00
elsid
996153f78d
Convert RefId to class 2023-02-15 23:20:44 +01:00
psi29a
4032c447e9 Merge branch 'load-ESM4-Cell' into 'master'
Can load and coc into an interrior oblivion cell

See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
glassmancody.info
e778ffee9b po2 scaling for average luminance 2023-02-05 12:30:38 -08:00
Andrzej Głuszak
9b0a499b58 Remove strerror usages 2023-01-29 22:41:59 +01:00
florent.teppe
216ca71149 Applied review comments
getEditorName => getNameId
restored cosntructor in CoordinateConverter
2023-01-28 12:14:00 +01:00
florent.teppe
23614ae2ae Renamed esm3esm4bridge => esmbridge 2023-01-27 18:40:15 +01:00
florent.teppe
531e55e04c Better handling of the esm3 vs esm4 cell problem
Common attribute are in one structure that has two constructors, one for ESM3 vs ESM4 Cell
Mood part of MWWorld::Cell
2023-01-27 13:39:39 +01:00
florent.teppe
562e129bd0 encapsulations of esm3 cell and esm4 cells. 2023-01-26 22:37:31 +01:00
Evil Eye
d40a9ec5bc Use worldspace coords in AiWanderStorage 2023-01-23 21:06:50 +01:00
psi29a
eb853b1315 Merge branch 'ptmikheev-master-patch-34687' into 'master'
Fix constexprant

See merge request OpenMW/openmw!2643
2023-01-21 22:42:03 +00:00
Petr Mikheev
24ef6d29d4 Fix constexprant 2023-01-21 21:58:17 +00:00
florent.teppe
a4137e941c std::string_view can be used in map and unordered map
This avoids some unecessary dynamic allocations.
Also applies some review advice.
2023-01-21 19:19:26 +01:00
elsid
dd89403df0
Move ensureUtf8Encoding to named namespace
To follow https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#sf21-dont-use-an-unnamed-anonymous-namespace-in-a-header

Add QtGlobal include to define QT_VERSION and QT_VERSION_CHECK macroses before
they're used.
2023-01-18 22:58:35 +01:00
psi29a
54c18ea86d Merge branch 'change-const-to-constexpr' into 'master'
change const to constexpr

Closes #6797

See merge request OpenMW/openmw!2630
2023-01-18 14:30:36 +00:00
James-Deciutiis
4e61fec14d change const to constexpr 2023-01-17 19:31:52 -08:00
Alexei Kotov
6ff9b5d326 Make use of ends_with for KF 2023-01-15 01:48:06 +03:00
Alexei Kotov
4d0788e016 Use xnif if its xkf is present even if xnif isn't 2023-01-14 03:35:50 +03:00
Andrei Kortunov
bfcbc2350d Handle UTF-8 in Qt streams in the Qt6-compatible way 2023-01-12 15:39:50 +04:00
elsid
755067f0f3
Remove redundant ESM::RefId member functions 2022-12-30 00:32:47 +01:00
florent.teppe
dc21df97c8 Fixed issue with getSummonedCreature( that returned a reference to a non const static value
Fix compile, and apply review comment

Fixed greater vs more typo.

getCellname is back to a string view.

Because in most cases was used as a strong not a refId.
and there was a fundamental issue with region names used as a cellname
2022-12-27 19:16:22 +01:00
florent.teppe
d49f60d2d6 To change fewer things with the master implementation, the Id isn't changed to lower case on creation
lower case utility functions used in comparison functions
2022-12-27 19:15:57 +01:00
florent.teppe
65cdd489fb create a specific esm reader function for RefID to avoid allocation for string and then again for RefId
Fixed some types

removed useless header

applied clang format

fixed compile tests

fixed clang tidy, and closer to logic before this MR

Removed hardcoded refids

unless there is a returned value we don't use static RefIds
can use == between RefId and hardcoded string

Fix clang format

Fixed a few instances where std::string was used, when only const std::string& was needed

removed unused variable
2022-12-27 19:15:57 +01:00
fteppe
7da38113be Changed more hardcoded RefId to be static to avoid multiple runtime creations
adresses multiple review comments
2022-12-27 19:15:56 +01:00
fteppe
2f2e401559 is Hidden marker now takes a const RefId& instead of a string_view 2022-12-27 19:15:55 +01:00
Cédric Mocquillon
7e77e69a3c Use a wider type when converting to a signed type 2022-12-18 21:31:51 +01:00
elsid
843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
elsid
dd63a1602f
Handle localtime errors 2022-09-25 16:20:20 +02:00
AnyOldName3
581b333386 Add missing include 2022-09-24 22:11:46 +00:00
Project579
6fe89ff22b Fix dumb regression, initialize "std::filesystem::file_time_type" with "clock::now()". 2022-09-24 21:52:10 +02:00
Project579
5cf2a958eb Make conversions between std::chrono time_point and string safer by not using "localtime" directly. 2022-09-24 21:47:27 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
elsid
409f83a149
Use raw string literal for error marker definition 2022-09-12 21:00:45 +02:00
psi29a
29f3de30c2 Merge branch 'master' into 'cellstore_refactor'
# Conflicts:
#   apps/openmw/mwworld/scene.cpp
2022-09-11 15:03:37 +00:00
Project579
5456ef1d50 Add new functions and overloads to support std::u8string and std::filesystem::path. 2022-09-11 14:41:20 +02:00
florent.teppe
10899ed680 typo 2022-09-11 13:18:56 +02:00
Project579
35fe214588 Updated components/misc/timeconvert.hpp to fix the Android build. 2022-09-11 02:20:01 +02:00
Project579
4bb07282c9 Replace all remaining occurrences of boost::filesystem with std::filesystem. 2022-09-11 02:19:00 +02:00
florent.teppe
cdc7864863 missing file 2022-09-10 20:25:18 +02:00
florent.teppe
256d8a699a moves one function from tuplemeta.hpp to newly created tuplehelpers.hpp 2022-09-10 20:13:18 +02:00
florent.teppe
65bd007baa simplified some big switch/case 2022-09-09 23:40:56 +02:00
ζeh Matt
aa65df8872
Rename meta.hpp to tuplemeta.hpp 2022-09-08 15:03:01 +03:00
ζeh Matt
c856095562
Use compile time generated indices for tuples types 2022-09-08 03:38:07 +03:00
ζeh Matt
8f7703d5c8
Rename HasMember to TupleHasType and move code into misc/meta.hpp 2022-09-08 00:13:50 +03:00
jvoisin
9f62f0c292 Reserve the output buffer in lowerCaseUtf8
Since lowercasing an utf8 string shouldn't change its size very much,
it does make sense to reserve the output buffer, to reduce
memory allocations.
2022-09-05 19:46:39 +02:00
Cédric Mocquillon
83ee25711e Use the pattern according to the esm version 2022-09-03 18:55:06 +02:00
Cédric Mocquillon
6a3d27ce82 Add a dictionary to retrieve the LOD mesh name of a mesh cache 2022-09-03 18:52:27 +02:00