Trophy fixes

Should fix Kung Fu Panda 2 Raging Blast 2
This commit is contained in:
Farseer 2017-09-06 01:19:47 +03:00 committed by Ivan
parent d8f3354ce3
commit 0cbbd3a5b1
1 changed files with 3 additions and 4 deletions

View File

@ -181,9 +181,8 @@ error_code sceNpTrophyCreateContext(vm::ptr<u32> context, vm::cptr<SceNpCommunic
sceNpTrophy.warning("sceNpTrophyCreateContext term=%s data=%s num=%d", commId->term, commId->data, commId->num); sceNpTrophy.warning("sceNpTrophyCreateContext term=%s data=%s num=%d", commId->term, commId->data, commId->num);
if (commId->term) if (commId->term)
{ {
char trimchar[9]; char trimchar[10] = { 0 };
memcpy(trimchar, commId->data, sizeof(trimchar)); memcpy(trimchar, commId->data, sizeof(trimchar) - 1);
trimchar[8] = 0;
deleteTerminateChar(trimchar, commId->term); deleteTerminateChar(trimchar, commId->term);
name = fmt::format("%s_%02d", trimchar, commId->num); name = fmt::format("%s_%02d", trimchar, commId->num);
} }
@ -477,7 +476,7 @@ error_code sceNpTrophyUnlockTrophy(u32 context, u32 handle, s32 trophyId, vm::pt
return SCE_NP_TROPHY_ERROR_UNKNOWN_HANDLE; return SCE_NP_TROPHY_ERROR_UNKNOWN_HANDLE;
} }
if (trophyId >= (s32)ctxt->tropusr->GetTrophiesCount()) if (trophyId < 0 || trophyId >= (s32)ctxt->tropusr->GetTrophiesCount())
return SCE_NP_TROPHY_ERROR_INVALID_TROPHY_ID; return SCE_NP_TROPHY_ERROR_INVALID_TROPHY_ID;
if (ctxt->tropusr->GetTrophyUnlockState(trophyId)) if (ctxt->tropusr->GetTrophyUnlockState(trophyId))
return SCE_NP_TROPHY_ERROR_ALREADY_UNLOCKED; return SCE_NP_TROPHY_ERROR_ALREADY_UNLOCKED;