oltolm
2b0f786b2d
Fix std::basic_string warnings ( #16261 )
2024-11-11 21:54:44 +02:00
Megamouse
2262ac1684
Qt: Replace QMap with std::map
...
This should reduce the amount of string conversions during list refreshes
2024-11-06 09:34:32 +01:00
Elad
b053b1e200
Another attempt to fix fs::pending_file for hardlinks
2024-11-02 21:43:35 +02:00
Elad
d3c0ec5651
Print last system error on fs::error::unknown
2024-11-02 21:43:35 +02:00
Elad
4206b022b6
Win32/File.cpp: Use ReplaceFile for hardlink overwrite
2024-11-01 07:37:57 +02:00
elad335
8b8396b945
Filesystem/Win32: Recreate hardlinks on fs::pending_file
2024-10-29 19:26:33 +02:00
Elad Ashkenazi
a2dcbb9c13
Replace src_loc with std::soource_location
2024-05-21 14:19:12 +03:00
Elad Ashkenazi
91a54c11eb
Savestates: Fixup file write
2024-05-05 06:57:11 +03:00
Eladash
88ba3c47c2
ELF.h: Avoid using seek operations
2024-02-16 10:42:57 +02:00
Megamouse
0d1fbfb755
VFS: Fix some potential .back() segfaults
2024-01-25 17:03:58 +01:00
Steveice10
3ef48cbdd5
rpcs3qt: Add macOS support to the updater.
2024-01-24 09:44:56 +01:00
Megamouse
50fcec63e0
fs: fix get_executable_dir
2024-01-21 00:11:16 +01:00
Megamouse
8edd7d54cf
fs: fix warning. fix size argument in report_fatal_error
2024-01-20 21:59:02 +01:00
Steveice10
9c354ee269
Utilities: Add support for portable user directory. ( #15064 )
2024-01-20 10:04:25 +02:00
Megamouse
3d974eed03
fs: move buf from stack to heap to silence VS warning
2024-01-14 06:40:35 +01:00
Megamouse
329b58c8cd
fs: remove duplicate to_utf8 function
2024-01-14 06:40:35 +01:00
Megamouse
59c58aa3cf
fix some warnings
2023-12-30 19:07:35 +01:00
Eladash
f60bdbaece
Savestates: Compressed state files
2023-11-27 12:36:17 +02:00
Eladash
66d01b688c
Savestates: Implement initial RAM ventilation system
2023-11-10 08:45:49 +02:00
Megamouse
6bc7d7c698
fs::utime: fallback to 01/01/1980 00:00:00 if the date is too low
2023-09-04 10:07:23 +03:00
Eladash
66b6bae596
Win32/File.cpp: Avoid potential race in concurrent writes
...
Uninitialized data is better than overwritten data. Affects SPU Cache (unprotected writes).
2023-09-02 12:31:11 +03:00
oltolm
bc40b61ef1
rename fs::stat to fs::get_stat
2023-07-25 12:15:08 +03:00
Eladash
9291e2777d
File.h: Implement fs::error::xdev
2023-07-21 12:27:35 +03:00
Eladash
eecadab387
Implement fs::file::get_id()
...
File descripor ID with 2 provided ways to compare between them:
1. is_mirror_of():
Test if identical:
For example: when LHS writes one byte to a file at X offset, RHS file be able to read that exact byte at X offset)
2. is_coherent_with():
Test if both files point to the same file:
For example: if a file descriptor pointing to the complete file exists and is being truncated to 0 bytes from non-
-zero size state: this has to affect both RHS and LHS files.
2023-07-17 08:09:09 +03:00
oltolm
0c94606fcf
Make compile with msvc, clang and gcc on Windows
2023-07-11 21:40:30 +03:00
brian218
cf4ae38699
sys_fs: Implemented get_normalized_path()
2023-06-25 09:08:20 +02:00
Eladash
09f83e48ff
fs: Add get_parent_dir_view
...
string view version of the argument path, use with care.
2023-06-24 12:00:04 +03:00
Eladash
bcbce5dd48
File.cpp: revert get_parent_dir change
2023-06-24 12:00:04 +03:00
Megamouse
635fed0427
fs/linux: fix potential copy_file issue
...
sendfile is meant to be run in a loop, since there is no guarantee that a single call copies all the data.
The current implementation may lead to corrupt files on linux.
2023-06-12 15:59:32 +03:00
brian218
a131a41874
Fixed a bug in fs::get_parent_dir()
2023-06-05 20:15:43 +02:00
brian218
6a570ae57e
sys_fs: Implemented sys_fs_mount(prot=1) read-only mounting & fixed up some operation and permission checks
2023-06-05 13:51:54 +03:00
Megamouse
92ae57c9ee
Windows: log more descriptive errors
2023-03-04 18:34:56 +01:00
Elad Ashkenazi
382a27cb2f
Allow to cancel dir size calculation ( #13134 )
2022-12-30 09:34:35 +01:00
Nekotekina
eeda958f33
fs: fix read/read_at/write (Unix)
...
It's known that too huge read can require multiple syscalls.
2022-12-29 16:19:54 +03:00
Nekotekina
2f9cac8d18
fs: implement file::read_at
...
Reads from the given offset; does not seek; thread-safe.
2022-12-29 16:19:54 +03:00
Elad Ashkenazi
ad3ea966cb
Add RPCS3/games/ for automatic games detection, support PSN games outside HDD0 ( #12982 )
...
* SFO: Do not load PARAM.SFO with illegal TITLE_ID
* Add support for PSN games outside HDD0
* Add RPCS3/games/ for automatic game detection
2022-12-02 13:18:07 +03:00
Eladash
149c593d89
Make fs::get_parent_dir/fs::pending_file use string_view as argument
2022-06-27 15:03:39 +03:00
Eladash
1088375b38
Wipe clean VSH's temporary directory of choice at boot
2022-05-21 10:57:12 +03:00
Eladash
781b2b4548
Implement fs::isfile ( #11447 )
2022-01-29 22:10:48 +03:00
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
Megamouse
cd016be86e
FS: use std::filesystem::u8path
2022-01-13 00:07:25 +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
9afa960979
Fix possible fs::create_path recursion overflow
2021-10-22 15:37:47 +03:00
Eladash
73bdf7481e
Emu: Fix disc game move from hdd0/game
2021-09-17 22:15:48 +02:00
Eladash
66368debf8
Win32 FS: Implement support for large reads/writes
2021-07-16 18:48:20 +03: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
Nekotekina
160b131de3
types.hpp: implement smin, smax, amin, amax
...
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.
Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +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