Commit graph

42 commits

Author SHA1 Message Date
Henrik Rydgård
a920b6100c Improve logging about corrupt ISOs 2023-07-12 10:22:53 +02:00
Unknown W. Brackets
4942692558 Io: Provide directory existence with listing.
Sometimes, you need to tell the difference between an empty directory and
one that doesn't exist at all.  We can do this in a single call.
2022-10-09 14:42:31 -07:00
Henrik Rydgård
48310d15a9 Add metafilesystem hook to add optimized implementations of compute recursive directory size 2021-09-11 18:12:29 +02:00
Henrik Rydgård
9ae00b80b1 Cleanup the ownership model in MetaFileSystem.
The old one was error-prone spaghetti.
2021-07-24 10:31:15 +02:00
Henrik Rydgård
58ecab849e Just some variable initialization 2021-07-18 16:00:07 +02:00
Henrik Rydgård
40ab92fe7b Remove unused function GetHostPath from filesystems 2021-05-13 10:39:17 +02:00
Henrik Rydgård
025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Unknown W. Brackets
49abe9ed6c Io: Open sce_lbn references and whole ISO faster. 2020-05-21 18:58:24 -07:00
Unknown W. Brackets
c829ccb87d Io: Track whether the game is on a UMD or storage. 2020-05-21 18:57:46 -07:00
Unknown W. Brackets
67416e5919 Io: Simulate VFAT bug only when simulating FAT32.
And cleanup flag handling a bit.
2020-05-21 18:57:46 -07:00
Unknown W. Brackets
913121cf2b Io: Consistently use error codes with OpenFile().
This gets rid of OpenWithError(), and just always returns a negative value
on error for OpenFile().  Also fixed the sequence rollover, which could've
returned 0.

0 should be considered a valid handle ideally, but left it never returning
0 to simplify cleanup in some areas.
2019-10-20 11:03:37 -07:00
Henrik Rydgard
cef0a6311d ISOFileSystem: Remove the "restrictTree" functionality which is now obsolete with lazy directory loading. 2016-02-29 01:13:57 +01:00
Henrik Rydgard
0b95c4bbd1 ISOFileSystem: Move the level into the tree nodes 2016-02-28 11:51:15 +01:00
Henrik Rydgard
afc8736b9a ISOFileSystem: Move the startsector and dirsize information into the tree nodes 2016-02-28 11:46:21 +01:00
Henrik Rydgård
96c4fecccc Merge pull request #7952 from KentuckyCompass/isofilesystem_map
Make ISO filesystem case sensitive and add a few optimizations
2015-09-18 22:31:37 +02:00
Henrik Rydgård
a71fbccfbc Warning fixes for new LLVM on mac (warns on inconsistent usage of override) 2015-09-17 20:29:37 +02:00
KentuckyCompass
8c72cb17b1 remove the unordered_map from ISOFileSystem 2015-09-12 21:12:11 -07:00
KentuckyCompass
4f0ec690a7 Try to fix my whitespace changes 2015-09-07 18:52:17 -07:00
KentuckyCompass
aed469ef9a Advance a pathLength variable instead of calling .erase() in GetFromPath 2015-09-07 18:43:10 -07:00
KentuckyCompass
3f36b476ad Add an unordered_map to TreeEntry for faster lookup 2015-09-07 17:39:17 -07:00
Unknown W. Brackets
8f3a8fd233 Very rough approximation of UMD seek delays. 2014-12-26 01:15:18 -08:00
Unknown W. Brackets
d6a113809b Add basic infrastructure to time io better.
This allows the filesystems to more accurately control timing.
But they're not actually doing it yet (same timing as before.)
2014-12-26 01:15:17 -08:00
Unknown W. Brackets
2958c575a1 Check actual free disk space when games ask.
Windows only for the moment.
2014-11-01 00:33:19 -07:00
Henrik Rydgard
c5861f4277 Rename to ISOBlockSystem, savestate workaround (?) 2014-07-28 00:01:10 +02:00
Henrik Rydgard
8146ff85f3 umd0 solution: Add "OnlyEntireISOFileSystem"
Wraps around an ISOFileSystem, redirecting all the filenames to "" to
achieve the desired effect (should fix Bleach Soul Carnival 2 without resorting
to CPkmn's hack from #6638)

Probably breaks savestates as-is...
2014-07-27 23:42:46 +02:00
Henrik Rydgard
a53ecd7da3 More elegant way of solving #5839 (d_private in sceIoDread)
We flag filesystems as being FAT32 instead of checking for "ms0:".
2014-04-13 23:22:17 +02:00
Unknown W. Brackets
0bf1ef5773 Improve sceIoGetDevType() return values.
At least for block/file devices.  Can't find a way to get an alias.
2013-12-27 08:04:00 -08:00
Unknown W. Brackets
dbf86187e3 Add Ioctl() to IFileSystem, cleaner. 2013-12-27 08:03:59 -08:00
Kingcom
8955fedf44 Open directory as disc image 2013-07-23 17:24:33 +02:00
tpunix
2de2c53918 new patch for ISOFilsSystem 2013-07-08 12:35:07 +08:00
Unknown W. Brackets
c8ee2c0739 sceIoRename() ignores any path on dest.
Also, change the interface so it can return an error code.  Currently not
returning perfect error codes but it's better than before.
2013-06-23 20:09:44 -07:00
Sacha
b39a572043 Buildfixes.
Fix C++11 usage.
Remove redundancy.
Fix st_*time re-usage.
2013-06-02 13:26:39 +10:00
Unknown W. Brackets
053b33f5e2 Remove the ISOFileSystem freelist, not threadsafe. 2013-04-13 13:04:39 -07:00
Unknown W. Brackets
d11a5debcb Add a way to restrict ISO reading to a single path.
This is for GameInfoCache.
2013-03-31 21:36:12 -07:00
Unknown W. Brackets
20bb55e1cb Speed up reading multiple isos in a row. 2013-03-31 20:58:24 -07:00
Unknown W. Brackets
1759bb8051 Use RemoveFile instead of DeleteFile in fs.
Windows defines DeleteFile to DeleteFileA/W, causing confusion.
2013-02-08 10:26:33 -08:00
Henrik Rydgard
883f61e3dd Savestates: Add quicksave/quickload. Add Android UI for savestates. All single slot for now. 2013-01-02 21:05:02 +01:00
Arthur Blot
c2851467e5 No more useless errors/warnings at all! 2013-01-02 19:42:15 +01:00
Unknown W. Brackets
4b39e39455 Start save stating the filesystem state.
Plus minor fixes and at least an attempt to make states the same
on both 32 and 64 bit.
2012-12-28 13:55:27 -08:00
Sacha
6192bdf6df sceIoRename function 2012-11-28 05:21:32 +10:00
Henrik Rydgard
64cc573703 Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK. 2012-11-04 23:24:00 +01:00
Henrik Rydgard
4f7ad15758 Add snapshot of the whole source code. 2012-11-01 16:19:01 +01:00