Commit Graph
239 Commits
Author SHA1 Message Date
Henrik Rydgård dae44c1120 SavedataParam: optimize PSPMatch 2024-05-05 11:51:31 +02:00
Henrik Rydgård b7f0a9029e More cleanup 2024-04-07 12:36:32 +02:00
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årdandGitHub 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årdandGitHub 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 SemenovandHenrik Rydgård 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årdandGitHub 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årdandGitHub 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