Commit graph

123 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
dea9cac16c Core: Add range checks to some helpers and similar. 2023-01-09 16:56:18 -08: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
lainon
fec708489a Correct cleaning string and remove unused vars 2022-09-30 12:26:30 +03:00
Henrik Rydgård
e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
Unknown W. Brackets
c766536914 Io: Show message if files are outside valid ISO.
This should catch more cases of a corrupt ISO file.
2022-07-11 18:58:57 -07:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08: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
1aae6e5ffc Io: Prevent error on bad handle for DevType(). 2021-04-21 20:11:23 -07:00
Unknown W. Brackets
788e8c3bbc Io: Truncate reads/writes to valid memory.
A PSP might crash in these cases, but it's better if we avoid a crash.
2021-02-13 08:24:39 -08:00
Unknown W. Brackets
49e9400670 Io: Consistently use LE values of ISO entries.
Better to be consistent across big endian and little endian, in case
something was mastered wrong.
2021-01-30 12:00:40 -08:00
Gleb Mazovetskiy
093a36eec5 Fix alignment issues in ISOFileSystem
Fixes #14002
2021-01-30 00:28:34 +00:00
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