From daec8a4dfbed5387f3273d12c26194dcf5a5a4e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1zaro=20Vieira?= Date: Sun, 4 Sep 2016 13:07:24 -0300 Subject: [PATCH] Add AM_DeleteAllDemoLaunchInfos --- libctru/include/3ds/services/am.h | 3 +++ libctru/source/services/am.c | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/libctru/include/3ds/services/am.h b/libctru/include/3ds/services/am.h index d02650b..7539c68 100644 --- a/libctru/include/3ds/services/am.h +++ b/libctru/include/3ds/services/am.h @@ -439,3 +439,6 @@ Result AM_ImportCertificate(u32 certSize, void* cert); * @param titleIds Title IDs to finalize. */ Result AM_CommitImportTitlesAndUpdateFirmwareAuto(FS_MediaType mediaType, u32 titleCount, bool temp, u64* titleIds); + +/// Resets play count of all installed demos by deleting their launch info. +Result AM_DeleteAllDemoLaunchInfos(void); diff --git a/libctru/source/services/am.c b/libctru/source/services/am.c index 4d8e640..3b18aa6 100644 --- a/libctru/source/services/am.c +++ b/libctru/source/services/am.c @@ -878,3 +878,15 @@ Result AM_CommitImportTitlesAndUpdateFirmwareAuto(FS_MediaType mediaType, u32 ti return (Result)cmdbuf[1]; } + +Result AM_DeleteAllDemoLaunchInfos(void) +{ + Result ret = 0; + u32 *cmdbuf = getThreadCommandBuffer(); + + cmdbuf[0] = IPC_MakeHeader(0x827,0,0); // 0x8270000 + + if(R_FAILED(ret = svcSendSyncRequest(amHandle))) return ret; + + return (Result)cmdbuf[1]; +}