1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2026-01-24 23:00:56 +00:00
Commit graph

72 commits

Author SHA1 Message Date
AnyOldName3
16efa6e5b5 Support long paths on Windows
Apparently we'd never bothered opting in, despite nearly everything in all out apps being entirely compatible and designed with long paths in mind.

GetModuleFileNameW is a bit awkward as it's just about the only Win32 function that returns the minimum of the buffer size and the string size - nearly everything else returns the full size even if it won't fit, so you can pass it a null pointer and a size of zero, and it'll tell you how much space you need to allocate.

I pretty much just copied the mostly-working long-path-friendly call site in the crash catcher to windowspath.cpp, but I also noticed that if the function failed and returned zero, the original implementation would loop forever, so I fixed that.

There was some code that could be ditched from the catch monitor as \\?\ is a prefix you can use to opt into long paths for a single API call instead of using the manifest to set it everywhere.
2026-01-07 15:12:22 +00:00
Evil Eye
14e1ec6d87 Use pathhelpers to populate Collections 2025-09-01 17:57:44 +02:00
elsid
d121b606b6
Fix and enforce local variable naming 2025-08-05 21:27:48 +02:00
Evil Eye
206d38f3d7 Fix path handling for files in BSAs 2025-07-03 08:46:23 +02:00
AnyOldName3
a4bc99db7a Install tools left out on Windows 2025-01-11 19:36:24 +00:00
elsid
a550a8af36
Use normalized path for KeyframeManager::get 2024-11-20 21:29:36 +01:00
Alexei Kotov
70187bb5ac niftest: parse BTO, BTR, RDT and PSA files 2024-09-16 23:50:36 +03:00
Alexei Kotov
78eda530ac Simplify material file pointer acrobatics 2024-04-23 00:34:38 +03:00
psi29a
023c0f7a46 Merge branch 'vfs_normalized_path_6' into 'master'
Use normalized path for music related functions

See merge request OpenMW/openmw!4038
2024-04-22 07:02:14 +00:00
Alexei Kotov
4e3d45db1b Deduplicate file handling in niftest 2024-04-20 19:43:42 +03:00
Alexei Kotov
1d65aaee71 Formatting 2024-04-20 19:43:42 +03:00
Alexei Kotov
4a03555d53 Add BGEM/BGSM file support to niftest 2024-04-20 19:43:40 +03:00
elsid
e11a5a4352
Use normalized path for SoundManager::playPlaylist 2024-04-19 22:43:20 +02:00
elsid
79b73e45a1
Replace std::filesystem::path by std::string and std::string_view in nif code
It's used only for error reporting.
2024-03-11 22:07:37 +01:00
elsid
5859fd464c
Add option to disable precompiled headers
To be able to use ccache.

Also fix compilation errors appeared due to absence of precompiled
headers.
2024-03-08 02:11:51 +01:00
elsid
df077a2524
Simplify and reduce code duplication for BSA archive creation 2024-02-18 14:54:14 +01:00
psi29a
7450b11402 Merge branch 'vfs_normalized_path_1' into 'master'
Use normalized path for VFS manager and RecursiveDirectoryIterator

See merge request OpenMW/openmw!3806
2024-01-28 21:34:01 +00:00
Alexei Kotov
29a40c212f Support parsing KF files in niftest
Mention BA2 support in help messages
2024-01-25 15:53:24 +03:00
elsid
70061329a1
Return Path::Normalized from RecursiveDirectoryIterator 2024-01-24 22:19:03 +01:00
jvoisin
ec6ac8058b Merge branch 'vfs_normalized_path' into 'master'
Add type for normalized VFS path and use for VFS::Manager file map key

See merge request OpenMW/openmw!3781
2024-01-23 20:42:48 +00:00
Evil Eye
27fa411f4f Convert strings in nif files to utf8 2024-01-16 20:56:58 +01:00
elsid
a2147d70cc
Use forward declaration for some VFS types
This will allow to save on preprocessed code size in the future changes.
2024-01-16 01:32:11 +01:00
Alexei Kotov
b96600a7fb Make niftest exceptions more informative 2023-11-30 22:35:46 +03:00
Alexei Kotov
3be0ee824a niftest updates
Properly read archives within the supplied data directories
Don't print quote marks redundantly
Reduce code duplication
Improve logging
2023-11-27 03:09:38 +03:00
Alexei Kotov
1e3da5516a Fix BA2 handling in niftest 2023-09-17 19:30:30 +03:00
Andrei Kortunov
c50769c8c5 Catch filesystem exceptions 2023-07-31 16:35:31 +04:00
AnyOldName3
34fcfb63cf Eliminate redundant version checks 2023-07-20 00:43:56 +01:00
Evil Eye
eeda48ec50 Drop support for --fs-strict 2023-06-08 21:10:09 +02:00
elsid
1857d8a68c
Use target_compile_options to add --coverage 2023-03-10 15:34:08 +01:00
elsid
cc066efa11
Fix identation in CMakeLists.txt 2023-03-10 15:28:06 +01:00
Cédric Mocquillon
d30deef4b5 Use the right archive type to load bsa according to their type 2023-03-02 21:07:54 +01:00
Cédric Mocquillon
974799c011 Handle DX10 case of ba2 format 2023-03-02 18:40:44 +01:00
Cédric Mocquillon
c1fbe90953 Handle GNRL case of ba2 format 2023-03-02 18:19:58 +01:00
elsid
d20b05c7fb
Support reading specific nif files from archive by niftest 2023-02-08 22:59:33 +01:00
elsid
2c43a8558a
Add option to disable debug log for unsupported nif files
It becomes quite extensive and not very useful when loading oblivion content
files.
2023-02-08 22:59:29 +01:00
elsid
ac5f22445e
Support compressed BSA archives by niftest 2023-02-08 22:07:37 +01:00
elsid
1a2c56fefb
Fix checking for file extension in niftest 2023-02-08 21:54:25 +01:00
jvoisin
cd29c181cf Another pass with IWYU 2022-10-10 15:16:18 +02:00
elsid
f2fb3d6de8
Separate NIFFileReader from NIFFile
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.

Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2022-09-24 19:10:14 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
elsid
4698a4cd2d
Use raw string literals to format command usage messages 2022-09-12 21:00:51 +02:00
elsid
6ae15f08e0
Avoid chained operator() calls to prevent formatting issues 2022-09-12 16:48:15 +02:00
Project579
4e428dee12 Update some settings that accept paths by "std::string" to accept them as "std::filesystem::path" instead. 2022-09-11 14:41:20 +02:00
Project579
a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2022-09-11 14:41:20 +02:00
Project579
6bf4c7a04f Upgraded "input-file" command line option to Files::MaybeQuotedPath from std::string to allow unicode characters on Windows. 2022-09-11 14:41:20 +02:00
Project579
e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2022-09-11 14:41:15 +02:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
elsid
9398e97600
Avoid manual memory management for VFS archives 2022-07-16 15:30:14 +02:00
elsid
7e6c13630a Use target_precompile_headers for the most expensive headers 2022-07-01 14:05:17 +00:00
jvoisin
34ae6e8221 Remove dependency on boost::filesystem in bsatool and niftest CMakeLists.txt 2022-05-23 21:52:22 +02:00