Commit Graph

111 Commits

Author SHA1 Message Date
Henrik Rydgård 26ba65f385 Some minor logging improvements that get to tag along the previous commit 2020-08-22 00:32:51 +02:00
Unknown W. Brackets b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets 4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Henrik Rydgård c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets d7ad43b1d9 Io: Cleanup access bits for files.
Also, we default a lot of these members, so don't need to reset.
2020-05-21 18:58:24 -07: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 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
Unknown W. Brackets 45516783f6 Io: Return error code for write attempt to UMD.
Previously, we were returning file not found (because 0), which was not
correct.  We were also allowing write handles to sce_lbn.
2019-10-20 10:36:13 -07:00
Unknown W. Brackets ce6cb7e7c9 Core: Report disc read errors to the user.
At least when we can detect this, better not to keep silent about it.
2018-09-29 00:45:50 -07:00
Henrik Rydgard 792dd1557c Improve StorageFileLoader enough to actually kind of work 2017-03-23 10:02:28 +01:00
Henrik Rydgard d64f367e1d Assorted warning fixes 2017-03-05 10:52:45 +01:00
Unknown W. Brackets 5fcf6ee012 Provide clearer errors for invalid ISOs. 2016-06-04 22:10:47 -07:00
Henrik Rydgard d4e432dadd Fix issue with lazy loading directory entries. Fixes #8613. 2016-03-06 14:28:14 +01:00
Henrik Rydgard 082d839965 Fix minor issues in ISOFileSystem 2016-03-06 14:28:10 +01: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 6f9755d498 ISOFileSystem: Lazily load directory information as needed. Should speed up game icon loading a bit. 2016-02-28 12:02:01 +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 Rydgard 0458c7a590 ISOFileSystem coding style cleanup to reduce future diffs 2016-02-28 11:39:57 +01:00
Henrik Rydgard 35b6c7341b Fix a bunch of memory leaks, after enabling file+line-number memory leak tracking for the MS Debug CRT.
Few of these were serious, most were on-exit, but good to have a cleaner memory report after running.
2016-02-10 15:36:10 +01:00
latot 53ac6d98d8 Little things
back 1

other little change, join 2 in 1
2016-01-09 20:44:02 -03:00
Unknown W. Brackets 7b921d3bb7 Avoid crash when savestate is for different ISO. 2015-12-24 14:31:23 -08: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
KentuckyCompass 8c72cb17b1 remove the unordered_map from ISOFileSystem 2015-09-12 21:12:11 -07:00
Henrik Rydgård 1e109a3b27 Add unittest for ParseLBN. Seems we already parse correctly.
See #7960
2015-09-12 11:21:54 +02:00
KentuckyCompass c7d24407ee tests show PSP doesn't tolerate extra /s at the end in an ISO 2015-09-07 18:56:18 -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
KentuckyCompass 481eac7184 more spaces around operators for readability 2015-09-07 16:44:34 -07:00
KentuckyCompass fe9055c98e make some things const 2015-09-07 16:42:57 -07:00
KentuckyCompass 32bea0c0e3 Don't copy each name in a loop 2015-09-07 16:36:40 -07:00
KentuckyCompass 8fb9403735 spacing and readability: add spaces around ==, etc 2015-09-07 16:35:23 -07:00
KentuckyCompass b55015992c std::string comparison can be faster than strcmp 2015-09-07 16:31:37 -07:00
KentuckyCompass 7dcb4c9df7 Move a loop constant substr call out of a for loop 2015-09-07 16:29:46 -07:00
KentuckyCompass 766735b9b1 Tests show PSP is case sensitive for ISO, so skip tolower() 2015-09-07 14:07:08 -07:00
Unknown W. Brackets 57f40589b2 Fix reads starting outside of files on isos. 2015-01-09 18:34:41 -08:00
Unknown W. Brackets 1cefac6473 Clean up some different clamping.
Could be cleaned up more but at least this is less weird.
2015-01-09 15:59:39 -08:00
Unknown W. Brackets 52288f5905 Report any attempt to read a negative size.
If this should return an error, that should be handled in sceIo.
2015-01-09 15:50:06 -08: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 c085b9c082 Don't try to read negative file sizes. 2014-11-06 08:45:33 -08:00
Unknown W. Brackets 9c5ad44000 Add an interface to read multiple blocks at once. 2014-11-02 19:54:13 -08: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
Unknown W. Brackets bc7bc87941 The total size of umd0: is in blocks.
Therefore sceIoLseek(umd0:, 0, 2) should return the number of blocks, not
the number of bytes, in the iso.

Looks like this may help Zero no Kiseki.
2014-01-11 08:34:04 -08:00
Henrik Rydgård 00c32ddadb Mostly get rid of including "Globals.h" 2013-12-30 10:17:11 +01:00
Henrik Rydgård 79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01: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 23971e9900 Implement ioctl command 0x01020002. 2013-12-27 08:03:59 -08:00