MSuih
f526027778
Revert recent file system changes ( #11370 )
...
* Revert "FS: use std::filesystem::u8path"
This reverts commit cd016be86e
.
* Revert "VFS: fix missing path deliminators"
This reverts commit 84753db574
.
* Revert "Bugfix of Emulator::Load disc path searching"
This reverts commit b9179de288
.
* Revert "fs: Reimplement path resolving using std::filesystem::weakly_canonical"
This reverts commit 0c4b2ff06b
.
2022-01-13 07:24:04 +03:00
Eladash
0c4b2ff06b
fs: Reimplement path resolving using std::filesystem::weakly_canonical
2022-01-12 03:37:39 +03:00
Nekotekina
6b40d69a8f
Introduce coroutine support (util/coro.hpp)
...
Implement coroutine types `lazy` and `generator` in stx namespace.
Implement fs::list_dir_recursively.
2021-12-07 13:04:10 +03:00
Eladash
f16949c292
fs::file: always use strict reading mode for large reads ( #11206 )
2021-12-01 19:09:07 +03:00
Eladash
24e76f2960
fs: Add fs::write_new, promotes safe file creation (no overwrite)
2021-10-10 09:34:50 +02:00
Eladash
73bdf7481e
Emu: Fix disc game move from hdd0/game
2021-09-17 22:15:48 +02:00
Nekotekina
3c614d95b8
fs: alternative fs::pending_file implementation (Win32)
...
Use MOVEFILE_WRITE_THROUGH instead of sync() on commit().
2021-06-20 22:08:24 +03:00
Eladash
f7b845d49c
fs: Optimize filesystem handle reconstruction
2021-05-12 12:12:34 +03:00
Nekotekina
e24ada37bf
fs: implement fs::get_temp_dir() (Win32)
...
Trying to workaround issues with sparse files (#10231 )
2021-05-05 19:38:36 +03:00
Nekotekina
a211895e28
shared_ptr.hpp: use for fs::virtual_device
...
Add new constructors for single_ptr and shared_ptr.
Change virtual device prefix format.
2021-04-15 17:26:47 +03:00
Eladash
49c5ce30cc
Emulation: Fix boot path resolving
...
* Fix /dev_flash executables path arg. (/host_root is wrong for it)
* Fix usage of /host_root for homebrew applications when it is not mounted, use /app_home.
* Fix path source detection. (don't get fooled by path slashes repetitions, symlinks, '.', ".." and ('\' on Windows))
* Unescape tail of /dev_hdd0 paths.
2021-04-08 23:57:00 +03:00
Nekotekina
95725bf7fc
Add -Werror=missing-noreturn (GCC, clang)
...
May be useful to diagnose functions which fail assertions unconditionally.
2021-04-08 10:29:47 +03:00
Nekotekina
2212a131ef
Fix some -Weffc++ warnings (part 1)
2021-03-31 11:27:09 +03:00
Eladash
2f333424a6
Improve ELF/Trophy loader's error checking
2021-03-23 16:05:23 +03:00
Eladash
4c7fc8a70a
Improve fs::container_stream::write ( #9976 )
...
Add overflow condition.
2021-03-16 14:03:58 +03:00
Nekotekina
090a769bf6
Implement fs::sync (Linux/POSIX)
2021-02-23 18:24:50 +03:00
Nekotekina
014846cf31
cellSaveData: fix minor issues
2021-02-23 18:24:50 +03:00
Eladash
d4af8dd89a
Fix atomicity of savedata/trophy data writes
2021-02-23 11:29:23 +03:00
Eladash
932f31e37b
Atomic PARAM.SFO writes
2021-02-23 11:29:23 +03:00
Nekotekina
038148bf06
Fix almost all GCC warnings
2021-02-17 22:59:04 +03:00
Eladash
247e90b3d0
rsx: Shaders cache loading and saving bugfixes
...
* Fixed crash whenever files are missing from the cache.
* Fixed crash whenever files are empty.
* Fixed crash whenever file creation/overwrite of cache files failed. (handled by fs::write_file)
* Fixed crash whenever there are any subdirectories inside the pipelines cache directories.
* Overwrite invalid shader cache files if encountered such.
* Optimizations have been added.
2021-01-03 01:47:07 +03:00
Nekotekina
fb29933d3d
Add usz alias for std::size_t
2020-12-18 12:23:53 +03:00
Nekotekina
b59f142d4e
Move types.h to util/types.hpp
2020-12-12 15:12:01 +03:00
Nekotekina
12a48fc6d1
Fixup for fs::file::read
2020-12-11 07:33:15 +03:00
Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
Nekotekina
3b8e3a9714
stdafx.h: remove BOM from custom included headers
...
Also add warnings about adding them.
2020-11-29 15:35:05 +03:00
Eladash
8ad36e2526
Fix fs::delim type, fix "." and ".." processing in fs::get_parent_dir ( #8975 )
...
* Fix fs::delim type
* Fix fs::get_parent_dir: "." and ".." processing
2020-09-26 19:18:32 +01:00
Eladash
3b11f22062
MSVC bug workaround
2020-09-25 13:26:08 +03:00
Eladash
b8fa6fb4c4
Win32 FS: Rewrite (fix) vfs::host::rename
2020-09-24 18:06:51 +03:00
Eladash
3a96d99187
sceNpTrophyRegisterContext: Atomically create trophy data
2020-09-22 19:46:52 +03:00
MSuih
b18dcd7660
Add fs::error for when disk is full
2020-05-02 14:54:41 +03:00
Nekotekina
aa5c6c4d2b
Cleanup std::is_pod usage (deprecated in C++20)
2020-03-18 18:28:46 +03:00
Nekotekina
a166d3680e
Don't throw on invalid whence (return fs::error::einval)
2020-03-07 11:52:54 +03:00
Nekotekina
8461a5cbe2
Add fs::error::unknown, don't throw
2020-03-07 11:22:04 +03:00
Silent
9e66f36942
Handle ERROR_FILENAME_EXCED_RANGE error on Windows
2019-12-31 19:24:19 +03:00
Nekotekina
742bd633d8
Remove fs::file::set_delete
...
Since it's Windows-only functionality with limited use.
2019-11-08 19:27:11 +03:00
Nekotekina
aa8a7b3e8a
Make errors in Emu::Init verbose and don't crash
...
Allow TTY.log to be disabled if file access failed
Add fs::error::isdir
2019-09-24 05:01:00 +03:00
Kaiwen Xu
68071ddf83
Convert EROFS error
2019-09-05 23:05:30 +03:00
RipleyTom
6bdab5322c
Revert File.h encoding.
2019-09-03 08:46:50 +02:00
isJuhn
08c12f4c00
File.cpp: add rounding_alignment argument to get_dir_size to allow GetSizeKB functions to report size more accurately
2019-09-03 03:19:49 +03:00
Eladash
d48d424b19
Return immediatly from fs::remove_all on failure to remove entries
...
This way error code will be reflected properly
2019-08-12 14:37:23 +03:00
Nekotekina
447029a700
Implement fs::file::write_gather (Vectored I/O)
2019-06-03 23:18:39 +03:00
Nekotekina
d52df9352c
fs::rename, use renameat2 on Linux
2019-04-13 22:56:11 +03:00
Nekotekina
0736fc8b28
Add fs::file::set_delete
2019-04-10 13:58:12 +03:00
Nekotekina
a54d9c527f
Simplify fs::file::get_handle
...
Via fs::file_base::get_native_handle method
2019-04-10 13:58:12 +03:00
Nekotekina
a419e98acb
Move PPU and shader cache
...
New hash-based location (already used for SPU)
Bump PPU cache version, improve naming and decrease size
Remove fs::get_data_dir
Disable boot.elf cache
2019-01-14 01:24:05 +03:00
Nekotekina
bd9131ae1c
Implement fs::get_cache_dir
...
Win32: equal to config dir for now
Linux: respect XDG_CACHE_HOME if specified
OSX: possibly incomplete
2019-01-13 14:45:36 +03:00
Nekotekina
a6d06b2e20
Use fold expr in fs::write_file
2018-09-03 21:40:36 +03:00
Nekotekina
441541a42f
Implement fs::make_gather
2018-08-14 12:46:22 +03:00
Nekotekina
f66d5adf5f
Prevent accessing incomplete RPCS3.log.gz
...
Use permissions to make it inaccessible
On Windows, autodelete the file
Implement fs::unread for this purpose
Rename fs::unshare to fs::lock
Fix fs::lock correctness
2018-03-17 00:39:45 +03:00