gibbed
1c2d6753bb
[Kernel/VFS] Specify root entry to open from + cleanup.
...
[VFS] Allow specifying root entry to open from with OpenFile.
[Kernel] NtCreateFile now opens from root entry when available instead
of needlessly building a full path and resolving from that.
[VFS] Reduce code duplication by adding Entry::ResolvePath.
[VFS] Remove ResolveBasePath to avoid multiple calls to find_base_guest_path.
2020-04-20 01:14:07 -05:00
gibbed
0d010a2e3d
[VFS] Fix data fragment path for multi-file STFS.
2020-04-09 11:33:08 -05:00
gibbed
ed04d96e67
Avoid using '#' format spec for X hex numbers.
...
Avoid using '#' format spec for X (uppercase) hex numbers, as it
results in output like "0XABCDEF" instead of "0xABCDEF".
2020-04-09 11:25:08 -05:00
Sandy Carter
e605eef781
filesystem: remove unused includes of header
2020-04-09 09:44:48 -05:00
Sandy Carter
fc5153bca1
filesystem: use std for DeleteFile
...
Remove custom platform implementation of `DeleteFile` and replace single
use with `std::filesystem::remove` after a negative
`std::filesystem::is_directory` check.
2020-04-09 09:44:48 -05:00
Sandy Carter
df65de231f
filesystem: use std for DeleteFolder
...
Remove custom platform implementation of `DeleteFolder` and replace two
uses with `std::filesystem::remove_all` which removes a file or
directory with all its contents.
2020-04-09 09:44:48 -05:00
Sandy Carter
69bcf59c79
filesystem: use std for CreateFolder
...
Remove custom platform implementation of `CreateFolder` and replace uses
with `std::filesystem::create_directories` which creates paths
recursively.
2020-04-09 09:44:48 -05:00
Sandy Carter
c8e64da4eb
filesystem: use std for PathExists
...
Remove custom platform implementation of `PathExists` and replace uses
with `std::filesystem::exists`.
2020-04-09 09:44:48 -05:00
Sandy Carter
a9fa38c88b
filesystem: use std for IsFolder
...
Remove custom platform implementation of IsFolder and replace
single use with `std::filesystem::is_directory`.
2020-04-09 09:44:48 -05:00
gibbed
a48bb71c2f
Overhaul logging.
2020-04-07 16:09:41 -05:00
gibbed
5bf0b34445
C++17ification.
...
C++17ification!
- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Triang3l
e07b0ed2ad
[VFS] Fix some security issues in StfsContainerDevice code
2019-10-22 08:55:45 +03:00
emoose
f46e3c7e39
[Kernel/VFS] Ensure vfs::Entry is up-to-date before retrieving file information
...
Games like Forza use NtQueryInformationFile to get the size of the file, to make sure that there's enough room inside it to write data.
Previously, updating the file size (via SetInfoFile(EndOfFile) or WriteFile) wouldn't update the vfs::Entry size field, which NtQueryInfo uses to return the size of the file.
This resulted in the game thinking that the file was smaller than it actually is, and trying to correct that by using SetInfoFile(EndOfFile), which then truncated the file and deleted important data that was written to it.
2019-08-21 02:00:57 -05:00
gibbed
e72cacc986
[VFS] Make ResolvePath argument a const reference.
2019-07-29 16:04:25 -05:00
Rick Gibbed
9bb20bfc36
Merge pull request #1254 from Wildenhaus/master
...
Games on Demand / Multi-file STFS (SVOD) support.
2019-05-04 11:30:48 -05:00
Wildenhaus
798e88224a
Ordinal offset calculation for games with many files
2018-12-15 20:27:15 -05:00
Wildhaus
151a955c6a
Support EGDF and XSF layouts
2018-11-28 10:08:07 -05:00
Margen67
896ac4a682
Update documentation.
...
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
Wildhaus
80375c62e8
Add support for STFS Metadata V2
2018-11-11 15:27:34 -05:00
Wildhaus
19fb21da7d
Games on Demand / Multifile STFS (SVOD) Support
2018-11-11 15:27:29 -05:00
Dr. Chat
ef18e9d649
[VFS] Fix Stfs GetBlockHash (and simplify it)
2018-05-29 23:12:27 -05:00
Dr. Chat
a0464f54ba
[VFS] SVOD (with EGDF) support
2018-05-29 14:12:09 -05:00
Dr. Chat
fed3c10c60
[VFS] Properly detect STFS volume descriptor type
2018-05-27 14:03:29 -05:00
Dr. Chat
3e216f0553
[VFS] Panic when fed a GoD container
2018-05-26 21:19:34 -05:00
Dr. Chat
728ed593ad
[VFS] Make ResolvePath / Dump virtual
2018-05-26 18:51:03 -05:00
Dr. Chat
1def8cfc59
[VFS] Rename a couple STFSVolumeDescriptor fields
2018-05-26 09:06:10 -05:00
gibbed
bc369e43cb
[Kernel] Add support for XFileEndOfFileInformation.
2018-05-23 04:24:37 -05:00
Justin Moore
2070570307
Merge pull request #655 from inckie/bugfix_filetime
...
Make vfs::Entry time stamps consistent (as Windows FILETIME)
2017-02-23 16:58:01 -06:00
Ink
fe3d31067f
* proper FAT timestamp handling
2017-02-23 19:38:29 +03:00
tgsm
3dc8065a57
vfs: fix dead link
2017-02-21 22:26:18 -05:00
tgsm
cd28fb9a0e
vfs: fix typo in StfsContentType enum
2017-02-21 22:25:53 -05:00
Dr. Chat
b66f10f2b8
Testing travis xenia powerpc testing
2017-02-06 00:40:06 -06:00
Ink
0d8a81137c
* make vfs::Entry time stamps consistent (as Windows FILETIME)
2017-01-06 04:17:04 +03:00
Dr. Chat
e8719dd949
Fix an overflow crash in DiscImageDevice::Verify
2016-01-14 15:18:41 -06:00
Marc-Antoine Levasseur
f1829a5784
Fix the StfsContainerEntry not being initialized in StfsContainerFile
2015-12-31 13:02:24 -05:00
Dr. Chat
9cf324f689
Fix VFS files not having correct paths recorded.
2015-12-29 13:09:53 -08:00
Dr. Chat
bcacb9b127
Remove vfs dependency on kernel, implement I/O completion ports
2015-12-29 13:09:50 -08:00
Nukem
5300d185af
Add another likely offset for ISO magic
...
Tested with Skyrim's DISC1 ISO. It doesn't load otherwise.
(Submitting this through github's web editor)
2015-10-04 02:03:08 -04:00
Ben Vanik
e5fbf840d2
Shuffling kernel/.
2015-09-06 18:07:52 -07:00
Ben Vanik
8b0d4fb51c
Linux tweaks.
2015-08-18 14:18:00 -07:00
Ben Vanik
14beb27ebc
xb style.
2015-08-07 07:56:57 -07:00
Ben Vanik
5e08889d93
More style cleanup.
2015-08-06 20:17:01 -07:00
Ben Vanik
12a29371e3
Clang fixes.
2015-07-19 18:32:48 -07:00
Ben Vanik
91d7acf59e
Fixing some particularly bad /W4.
2015-07-18 23:04:21 -07:00
Ben Vanik
ecd4af10c9
Fixing some clang warnings/errors.
2015-07-15 23:26:58 -07:00
Ben Vanik
91ae97e558
Fixing lock type in VFS.
2015-07-15 22:07:46 -07:00
Ben Vanik
42400d06a9
Making stateless file IO platform-agnostic.
2015-07-15 18:01:09 -07:00
Ben Vanik
40621a90bd
Switching to standard mutex for now (but keeping xe::mutex).
2015-07-13 21:49:32 -07:00
Ben Vanik
c9f4d00da3
STFS->Stfs.
...
Fixes #309 .
2015-06-29 10:38:51 -07:00
Ben Vanik
cc08e9019a
Move NtCreateFile/NtOpenFile to VFS, implement (mostly) for real.
...
Progress on #305 .
2015-06-29 10:33:36 -07:00