Commit graph

237 commits

Author SHA1 Message Date
Henrik Rydgård
79c553d004 Remove the zero-write in BuildHash 2024-04-07 12:31:45 +02:00
Henrik Rydgård
404600faa3 SavedataParam/ParamSFO: Minor code cleanups 2024-04-07 12:31:45 +02:00
Henrik Rydgård
77133dd82c Fix a long-standing buffer overflow in savedata encryption
BuildHash pads the buffer up to its 16-byte aligned size with zeroes,
so there needs to be space for that. Or, we should just remove that
write, but let's do the smallest change that fixes the bug for now.
2024-04-07 11:42:51 +02:00
Henrik Rydgård
e3177ac870 Make some global string pointers const, not just the strings.
Minor cleanup.
2023-12-29 14:09:45 +01:00
Herman Semenov
2a31f8c6c0 [Common/Core/HLE] Object out of scope optimization for better codegeneration (lower level scope) 2023-12-20 12:33:56 +03:00
Henrik Rydgård
ebaebf5945
Merge pull request #18546 from GermanAizek/make-smart-ptr
[Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointers using C++17 std::make_*
2023-12-14 14:02:55 +01:00
Henrik Rydgård
b78c7ad470
Merge pull request #18545 from GermanAizek/const-ref-params
Objects in function parameters have been replaced with constant references
2023-12-14 13:49:33 +01:00
Herman Semenov
08070e7f31 [Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointer using C++17 std::make_* 2023-12-14 15:44:16 +03:00
Herman Semenov
af41281761 [Core/Dialog/ELF/FileSystems/HLE/HW/Util] Added const reference for function params 2023-12-14 14:22:24 +03:00
Herman Semenov
315340fc62 Using const reference for C++17 range-based loop and freq used objects 2023-12-13 17:33:01 +01:00
Katharine Chui
652498e995 Handle SCE_UTILITY_SAVEDATA_TYPE_SAVE then SCE_UTILITY_SAVEDATA_TYPE_WRITEDATA
Modnation racers does a normal save for global profile, then
writes an insecure file for keeping track of selected language.
During SCE_UTILITY_SAVEDATA_TYPE_WRITEDATA it also provides no
data for param.sfo, so I'm assuming that utility.prx does not
update param.sfo data in that mode since the PSP save provided on
the issue tracker has information.
2023-11-18 03:48:01 +08:00
Henrik Rydgård
eb21a2e6c9 Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h 2023-06-30 17:15:49 +02:00
Henrik Rydgård
7cc8c6cea4 OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI). 2023-06-20 14:40:46 +02:00
Unknown W. Brackets
c122ee0a11 HLE: Add some assorted detected func names.
These come from here:
https://github.com/SiSTR0/sce_symbols/blob/main/psp_names.txt
2023-06-06 23:50:49 -07:00
Henrik Rydgård
ee6234ecb6 I18N: Switch to getting categories by index instead of by string lookup
Also gets rid of the shared_ptr usage, and generally makes things nicer.

Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård
9e125eeba7 Remove NotifyUserMessage from Host 2023-03-25 10:32:09 +01:00
Henrik Rydgård
fd7cc76d95 Remove unnecessary savedata version reporting 2023-01-02 23:22:54 +01:00
Unknown W. Brackets
a7b7bf7826 Global: Set many read-only params as const.
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
f5a7661c51 Add a NOOP state to reduce logspam after error 2022-12-02 22:46:38 +01:00
Unknown W. Brackets
29e7a53b5d Savedata: Update filelist on file erasure.
Also stop reporting as "not coded."
2022-10-16 09:20:04 -07:00
Unknown W. Brackets
db5011d7f1 Savedata: Cache SFO data during processing.
This only caches between touching PSP code, in case something changes.
Reduces cases of multiple SFO lookups and reads.
2022-10-09 14:42:31 -07:00
Unknown W. Brackets
5bed35b293 Savedata: Skip and defer texture exist check.
We can skip if there's no UI.
2022-10-09 14:42:31 -07:00
Unknown W. Brackets
8c1acc30e4 Savedata: Combine file info and dir listing calls. 2022-10-09 14:42:31 -07:00
Unknown W. Brackets
6168e03b4a Savedata: Reduce some duplicate file info lookups. 2022-10-09 14:42:31 -07:00
lainon
b304551747 Code readability, vec reserve() and remove excess c_str() 2022-09-30 12:31:32 +03:00
lainon
fec708489a Correct cleaning string and remove unused vars 2022-09-30 12:26:30 +03:00
Unknown W. Brackets
ce80900b75 Savedata: Return errors more correctly on load.
If the buffer isn't large enough, return an error.  See #14687, thanks
sum2012 and gid15.
For many error cases, ensure SFO data and bind are not updated on failure,
and that dataSize is forced to zero on data errors.
2022-09-13 00:10:27 -07:00
Henrik Rydgård
70b9dcc9a3 Initialize a bunch of Dialog structs 2022-08-18 16:46:22 +02:00
Unknown W. Brackets
b9310f1473 Savedata: Allow no key when not using SECURE modes.
For example, MAKEDATA with no key but explicit secureVersion is fine and
does create data.  However, it should still mark the version in
SAVEDATA_PARAMS, which currently we're failing to do.  Load then does some
form of validation of this version (but it's not an exact check weirdly.)

See #15068.
2022-05-29 13:23:16 -07:00
Unknown W. Brackets
e75d2a097b Savedata: Fix indeterminate timing of field update.
This makes the test pass consistently, instead of depending on thread
timing.
2022-01-26 00:31:30 -08:00
Henrik Rydgård
de3d711616 Move FixPathCase to Common/File/Path 2021-09-11 21:17:23 +02:00
Henrik Rydgård
b05a74803d Remove another redundant check, comment fixes 2021-09-11 20:31:42 +02:00
Henrik Rydgård
71056e3486 SFO return value fix, oops 2021-09-11 20:26:36 +02:00
Henrik Rydgård
36079b86d0 Optimize away a couple of existence checks 2021-09-11 19:53:19 +02:00
Henrik Rydgård
5d53e59c1d Optimize ReadPSPFile (which should probably be replaced with ReadEntireFile anyway) 2021-09-11 19:33:28 +02:00
Henrik Rydgård
8e2b73b05f Optimize MetaFileSystem::ReadEntireFile 2021-09-11 19:32:37 +02:00
Unknown W. Brackets
a5fce6d0b2 Savedata: Use PARAM.SFO constant properly. 2021-08-23 23:01:02 -07:00
Henrik Rydgård
64dbd97731 Address feedback 2021-08-04 23:22:43 +02:00
Henrik Rydgård
e73e0dc0be Fix multiple issues preventing in-game saves from working. 2021-07-19 17:34:51 +02:00
Unknown W. Brackets
a23c9e6a41 GPU: Preconvert light vecs to Vec3f.
This might align better for simd anyway, but should also prevent any
memory over-reads.  See #14353.
2021-04-05 20:55:52 -07:00
Henrik Rydgård
e86e3cc7cd
Merge pull request #14344 from unknownbrackets/debugger-mem
Include more memory info in debugger tags
2021-04-04 11:20:33 +02:00
Unknown W. Brackets
869ef9aca7 Debugger: Tag savedata load and info. 2021-04-03 18:45:24 -07:00
Unknown W. Brackets
1b57739eb7 Debugger: Memcheck and tag loading savedata to RAM. 2021-04-03 18:28:22 -07:00
Unknown W. Brackets
d0303e2430 Savedata: Always write the file list to the SFO.
Matches tests on hardware using MAKEDATA, see also #8854.
2021-03-29 00:08:48 -07:00
Henrik Rydgård
1c3c384289
Merge pull request #14079 from unknownbrackets/ppge-aspect
Savedata: Show save icons with proper aspect ratio
2021-02-15 11:20:41 +01: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
c2415d7593 Savedata: Show corrupted data more clearly.
Include the folder name and show a darkened icon so it's clearer.
2021-02-07 23:18:39 -08:00
Unknown W. Brackets
3316633c60 Savedata: Reduce some noisy logging.
These aren't errors.
2021-01-05 07:21:41 -08:00
shenweip
20df3d2c8a Minor comment. 2020-12-14 00:42:09 +08:00
shenweip
721696b9bc Fixes incorrect date of savedata.
Updates the date to the latest.
2020-12-14 00:27:23 +08:00