Commit graph

223 commits

Author SHA1 Message Date
Unknown W. Brackets
ab38c387ad Io: Correct some error handling for OpenFile().
See #12433.
2020-03-08 21:22:21 -07:00
Unknown W. Brackets
5009698cc0 Core: Use a shared_ptr for i18n categories.
This does not make them thread safe, but it reduces the chances of a crash
a bit (see #12594.)
2020-02-09 07:35:16 -08: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
2650ddae75 Savedata: Write only one secure entry.
Before, we were filling all the entries when the first file was saved, a
regression from 1976be4.  This caused issues in games that use a single
savedata folder for multiple secure files, such as Valkyria Chronicles 3.
2018-10-28 12:35:54 -07:00
Unknown W. Brackets
b64bb2e8ce Savedata: Also validate icon/subdata size. 2018-08-11 17:00:15 -07:00
Unknown W. Brackets
c0ccc9449d Savedata: Use size, not bufSize, for icons.
Verified by tests.  Should help #8810.
2018-08-11 17:00:09 -07:00
Unknown W. Brackets
42feade460 Savedata: Return error when bufSize is too small.
Mirrors what a PSP does.
2018-08-11 16:36:28 -07:00
Unknown W. Brackets
c4717fae2f Savedata: Reset data size when retrying hash.
It's even possible we might've not loaded the key before, so let's play it
safe and reset everything.

The previous fix only worked in some games, when dataSize was larger than
necessary.
2018-07-28 09:41:44 -07:00
Unknown W. Brackets
1976be48ab Savedata: Use file hash to validate hash mode.
This makes older PPSSPP save data also work, and also logs when save data
is detected as corrupt.
2018-06-30 12:17:52 -07:00
Unknown W. Brackets
93d96b8a32 Savedata: Map secureVersion modes correctly.
1 was correct, but other modes were not.
2018-06-24 15:34:27 -07:00
Unknown W. Brackets
46d7ead781 Savedata: Add validation on secureVersion param. 2018-06-24 15:30:33 -07:00
Unknown W. Brackets
aad6377580 Savedata: Return result codes from Save/Load.
This doesn't change anything, yet.
2018-06-24 13:28:57 -07:00
Unknown W. Brackets
c588046d99 Savedata: Respect secureVersion parameter.
This isn't used in many games, but see #10814.
2018-05-28 08:42:48 -07:00
Unknown W. Brackets
208b0aa4a7 Savedata: Report secureVersion param usage.
Seems likely this is what's happening in #10814, but need data from more
games.
2018-04-29 09:46:23 -07:00
Unknown W. Brackets
d2be5beccc Savedata: Show icon for new saves more often.
In fact, it may even be wrong to show the new data icon in this case...

Also fixes crashes when save title is 128 characters long.

Should improve #9632.
2017-12-03 06:35:41 -08:00
Unknown W. Brackets
42c0e7d5dd Savedata: Handle disk full properly in GETSIZE.
Games use these fields to determine how much more space is needed to
create savedata.  Some also use it for install data.

This allows more games to properly report free space issues.
2017-10-14 21:55:38 -07:00
LunaMoo
8826c031a6 Add ini-only "Savedata Upgrade" setting. 2017-10-04 17:16:21 +02:00
Henrik Rydgård
867a1d8bb2 Buildfix, oops 2017-05-26 19:05:18 +02:00
Henrik Rydgård
21fe73c8e7 Switch strncpy to truncate_cpy in a bunch of places. 2017-05-26 19:04:08 +02:00
Florent Castelli
70593d1004 android: Change preprocessor define to standard __ANDROID__
ANDROID is only standard to the old Makefile buildsystem, not the platform.
2016-10-12 11:14:09 +02:00
Florent Castelli
373db56a16 blackberry: Remove! 2016-10-11 17:40:32 +02:00
Unknown W. Brackets
a1fbcc3d93 Avoid directly calling osm from Core/GPU code.
This allows UI to handle the message however it wants to, and reduces
cross linkage issues.
2016-05-27 22:05:30 -07:00
gmvbif
281f0e18e6 Fixed some errors from PVS-Studio in Core project
FixedSizeQueue
- Added private operator=
- Changed signature of EndPop
Some changed to printf like functions.
Fixed typo in syn-att.c
2015-12-31 10:25:11 +03:00
Unknown W. Brackets
b71b1bbff9 Initially count the dir for save info size.
Should help #6068, verified by the sizes test and JpcspTrace results.
2015-11-15 10:29:13 -08:00
vnctdj
d7eba2061e Consistently use *di for the Dialog i18n category 2015-07-01 23:26:55 +02:00
Chin
37f50a3792 Change to pass some arguments by reference 2015-03-01 16:49:00 +01:00
sum2012
20818f47bd Add OSM in Save encryption failed 2015-01-28 05:26:58 +08:00
Lioncash
cd26b200b2 Core: Get rid of a few c_str/strlen calls 2014-12-03 17:15:05 -05:00
Unknown W. Brackets
dd497e5a02 Show an error when savedata can't be written.
Normally we'll log when the disk is full for files, but if we can't even
create the folder, we'll get errors trying to write into a non-existing
directory.
2014-11-02 13:30:00 -08:00
Unknown W. Brackets
d4e8bd96af Handle disk full more properly in sceIoWrite(). 2014-11-02 10:55:27 -08:00
Unknown W. Brackets
24ce3d11ed Another typo. 2014-11-02 08:12:29 -08:00
Unknown W. Brackets
f55f69c07d Fix dumb typo in space formatting func. 2014-11-01 19:19:06 -07: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
daniel229
70fac3a65e savedata 2014-10-03 15:16:12 +08:00
Henrik Rydgard
808f05da89 (Partially) slip thin3d underneath DrawBuffer. 2014-08-22 20:54:53 +02:00
Henrik Rydgard
7802bf57f0 Add sanity checks to refuse to delete bad savedata (resulted in devastating delete of SAVEDATA/ in MGS PW!)
Thanks QWEmct for reporting in #6600.

This is not a full fix, really, a "NEW DATA" savegame should not show up in the delete list, but at least this prevents the bad thing from happening.
2014-07-21 20:29:41 +02:00
Unknown W. Brackets
b583e446e6 Skip reporting savedata stuff in known cases.
We were always doing 3 before for 5, so skip reporting it.  Other cases
are the interesting ones.
2014-07-09 23:30:20 -07:00
Unknown W. Brackets
0b22d8f56c Check for missing SAVEDATA_PARAMS. 2014-07-06 22:42:14 -07:00
Unknown W. Brackets
30f8ec447a Hash and detect savedata hashmode correctly.
Fixes Persona 1 savedata compatibility.
2014-07-06 19:27:51 -07:00
Yifan Lu
c5336d5817 Added printing of game save key to debug log when loading/saving 2014-03-22 16:13:30 +01:00
Unknown W. Brackets
241d5cb5a5 Always count one cluster for usedata in SIZES.
This matches values coming out of hardware... seems to make sense.
2014-03-15 18:50:44 -07:00
Unknown W. Brackets
ec4ce7e7e5 Return proper SIZES info for existing savedata.
Fixes Fieldrunners saving/loading.
2014-03-15 18:50:14 -07:00
Unknown W. Brackets
8d29b583e8 Reduce a few Core/Dialog/ includes. 2014-03-15 10:52:13 -07:00
Unknown W. Brackets
996fa39684 Reduce some unnecessary includes in Core/. 2014-03-15 10:41:07 -07:00
chinhodado
0ea7c78299 fix empty string checking 2014-02-15 16:31:37 -05:00
Unknown W. Brackets
348c6a16da If a focus mode is used with autoload, ignore it.
Before, if the "focused" save did not exist, we failed incorrectly, even
though the actual save we were trying to load was the correct one.
2014-02-15 09:43:43 -08:00
Unknown W. Brackets
bd982b2e6f Support PSP_O_TRUNC on Windows.
There are more modes we don't support properly.  May fix savedata
corruption in Gran Turismo and possibly other games.
2014-02-11 23:54:30 -08:00
Unknown W. Brackets
b03ca7049b Return an error in FILES based on SDK version.
Tested to require this exact version to return that error.  Not sure if
any games will actually hit this anyway, but they did with lower SDK
versions.
2014-02-08 09:08:27 -08:00
Unknown W. Brackets
2bdaf090e1 Don't set the file list entry pad to anything.
Per tests on a PSP.
2014-01-28 00:37:13 -08:00
sky-zer
2ba30e3f97 SceUtilitySavedataFileListEntry correction. 2014-01-28 00:24:56 +04:00