wut v1.9.1
Wii U Toolchain
Loading...
Searching...
No Matches
pdm_cpp.h
Go to the documentation of this file.
1#pragma once
2#include <wut.h>
3
11#ifdef __cplusplus
12
13namespace nn
14{
15
16namespace pdm
17{
18
29WUT_CHECK_SIZE(PlayDiaryFlags, 0x02);
30
32struct WUT_PACKED PlayDiary
33{
35 uint64_t title_id;
37 uint32_t playtime;
39 uint16_t date;
42};
43WUT_CHECK_OFFSET(PlayDiary, 0x00, title_id);
44WUT_CHECK_OFFSET(PlayDiary, 0x08, playtime);
45WUT_CHECK_OFFSET(PlayDiary, 0x0c, date);
46WUT_CHECK_OFFSET(PlayDiary, 0x0e, flags);
47
49struct WUT_PACKED PlayStats
50{
52 uint64_t title_id;
54 uint32_t playtime;
56 uint16_t times_played;
61
63 WUT_UNKNOWN_BYTES(2);
64};
65WUT_CHECK_OFFSET(PlayStats, 0x00, title_id);
66WUT_CHECK_OFFSET(PlayStats, 0x08, playtime);
67WUT_CHECK_OFFSET(PlayStats, 0x0c, times_played);
68WUT_CHECK_OFFSET(PlayStats, 0x0e, first_time_played);
69WUT_CHECK_OFFSET(PlayStats, 0x10, last_time_played);
70
72struct WUT_PACKED PlayEvent
73{
74 uint64_t title_id;
75 WUT_UNKNOWN_BYTES(12);
76};
77WUT_CHECK_OFFSET(PlayEvent, 0x00, title_id);
78
80struct WUT_PACKED PlayLog
81{
82 uint64_t title_id;
83 WUT_UNKNOWN_BYTES(16);
84};
85WUT_CHECK_OFFSET(PlayLog, 0x00, title_id);
86
94uint32_t
96 asm("Initialize__Q2_2nn3pdmFv");
97
101void
103 asm("Finalize__Q2_2nn3pdmFv");
104
108void
110 asm("CloseAllFiles__Q2_2nn3pdmFv");
111
118uint32_t
119Convert(uint32_t userId)
120 asm("Convert__Q2_2nn3pdmFi");
121
128uint32_t
130 asm("WaitForConvertDone__Q2_2nn3pdmFv");
131
142uint32_t
143GetPlayDiaryMaxLength(uint32_t *outMaxLength)
144 asm("GetPlayDiaryMaxLength__Q2_2nn3pdmFPi");
145
158uint32_t
159GetPlayDiaryLength(uint32_t *outLength, uint32_t userId)
160 asm("GetPlayDiaryLength__Q2_2nn3pdmFPii");
161
174uint32_t
175GetPlayDiaryStart(uint32_t *outStart, uint32_t userId)
176 asm("GetPlayDiaryStart__Q2_2nn3pdmFPii");
177
199uint32_t
200GetPlayDiary(uint32_t *outAmount, PlayDiary *outPlayDiaries, uint32_t userId, uint32_t amount)
201 asm("GetPlayDiary__Q2_2nn3pdmFPiPQ3_2nn3pdm9PlayDiaryiT3");
202
221uint32_t
222GetPlayDiary(PlayDiary *outPlayDiaries, uint32_t userId, uint32_t amount)
223 asm("GetPlayDiary__Q2_2nn3pdmFPQ3_2nn3pdm9PlayDiaryiT2");
224
235uint32_t
236GetPlayEventMaxLength(uint32_t *outMaxLength)
237 asm("GetPlayEventMaxLength__Q2_2nn3pdmFPi");
238
260uint32_t
261GetPlayEvent(uint32_t *outAmount, PlayEvent *outPlayEvents, uint32_t userId, uint32_t amount)
262 asm("GetPlayEvent__Q2_2nn3pdmFPiPQ3_2nn3pdm9PlayEventiT3");
263
274uint32_t
275GetPlayLogMaxLength(uint32_t *outMaxLength)
276 asm("GetPlayLogMaxLength__Q2_2nn3pdmFPi");
277
290uint32_t
291GetPlayLogLength(uint32_t *outLength, uint32_t userId)
292 asm("GetPlayLogLength__Q2_2nn3pdmFPii");
293
306uint32_t
307GetPlayLogStart(uint32_t *outStart, uint32_t userId)
308 asm("GetPlayLogStart__Q2_2nn3pdmFPii");
309
331uint32_t
332GetPlayLog(uint32_t *outAmount, PlayLog *outPlayLogs, uint32_t userId, uint32_t amount)
333 asm("GetPlayLog__Q2_2nn3pdmFPiPQ3_2nn3pdm7PlayLogiT3");
334
353uint32_t
354GetPlayLog(PlayLog *outPlayLogs, uint32_t userId, uint32_t amount)
355 asm("GetPlayLog__Q2_2nn3pdmFPQ3_2nn3pdm7PlayLogiT2");
356
367uint32_t
368GetPlayStatsMaxLength(uint32_t *outMaxLength)
369 asm("GetPlayStatsMaxLength__Q2_2nn3pdmFPi");
370
383uint32_t
384GetPlayStatsLength(uint32_t *outLength, uint32_t userId)
385 asm("GetPlayStatsLength__Q2_2nn3pdmFPii");
386
403uint32_t
404GetPlayStatsOfTitleId(PlayStats *outPlayStats, uint32_t userId, uint64_t titleId)
405 asm("GetPlayStatsOfTitleId__Q2_2nn3pdmFPQ3_2nn3pdm9PlayStatsiUL");
406
428uint32_t
429GetPlayStats(uint32_t *outAmount, PlayStats *outPlayStats, uint32_t userId, uint32_t amount)
430 asm("GetPlayStats__Q2_2nn3pdmFPiPQ3_2nn3pdm9PlayStatsiT3");
431
450uint32_t
451GetPlayStats(PlayStats *outPlayStats, uint32_t userId, uint32_t amount)
452 asm("GetPlayStats__Q2_2nn3pdmFPQ3_2nn3pdm9PlayStatsiT2");
453
454void
456 asm("NotifySetTimeBeginEvent__Q2_2nn3pdmFv");
457
458void
460 asm("NotifySetTimeEndEvent__Q2_2nn3pdmFv");
461
462} //namespace pdm
463
464} //namespace nn
465
466#endif
467
uint64_t title_id
Title ID of the title.
Definition pdm_cpp.h:35
uint16_t times_played
Total amount of times played.
Definition pdm_cpp.h:56
uint32_t Initialize() asm("Initialize__Q2_2nn3pdmFv")
Initializes PDM.
uint32_t GetPlayLogStart(uint32_t *outStart, uint32_t userId) asm("GetPlayLogStart__Q2_2nn3pdmFPii")
uint32_t GetPlayDiaryMaxLength(uint32_t *outMaxLength) asm("GetPlayDiaryMaxLength__Q2_2nn3pdmFPi")
The max amount of PlayDiary that can be written into the save.
uint32_t GetPlayStatsOfTitleId(PlayStats *outPlayStats, uint32_t userId, uint64_t titleId) asm("GetPlayStatsOfTitleId__Q2_2nn3pdmFPQ3_2nn3pdm9PlayStatsiUL")
Gets PlayLog entry of a Title ID.
uint32_t GetPlayDiaryStart(uint32_t *outStart, uint32_t userId) asm("GetPlayDiaryStart__Q2_2nn3pdmFPii")
void Finalize() asm("Finalize__Q2_2nn3pdmFv")
Finalize PDM.
void CloseAllFiles() asm("CloseAllFiles__Q2_2nn3pdmFv")
Close all opened PDM Files.
void NotifySetTimeEndEvent() asm("NotifySetTimeEndEvent__Q2_2nn3pdmFv")
uint32_t Convert(uint32_t userId) asm("Convert__Q2_2nn3pdmFi")
Convert an users PDM Save to a newer save version.
uint32_t GetPlayEvent(uint32_t *outAmount, PlayEvent *outPlayEvents, uint32_t userId, uint32_t amount) asm("GetPlayEvent__Q2_2nn3pdmFPiPQ3_2nn3pdm9PlayEventiT3")
Gets an array of PlayEvent entries.
PlayDiaryFlags flags
flags PlayDiaryFlags
Definition pdm_cpp.h:41
uint32_t GetPlayLogLength(uint32_t *outLength, uint32_t userId) asm("GetPlayLogLength__Q2_2nn3pdmFPii")
Gets the amount of an users PlayLog entries.
void NotifySetTimeBeginEvent() asm("NotifySetTimeBeginEvent__Q2_2nn3pdmFv")
uint32_t GetPlayStats(uint32_t *outAmount, PlayStats *outPlayStats, uint32_t userId, uint32_t amount) asm("GetPlayStats__Q2_2nn3pdmFPiPQ3_2nn3pdm9PlayStatsiT3")
Gets an array of PlayStats entries.
uint16_t date
Date in days since 01/01/2000.
Definition pdm_cpp.h:39
PlayDiaryFlags
Flags for PlayDiary.
Definition pdm_cpp.h:21
@ PLAYDIARY_FLAG_DEFAULT
Definition pdm_cpp.h:22
@ PLAYDIARY_FLAG_PLAYED_IN_WII_MODE
Set when the user played in Wii Mode Note: Title Id should be ffff ffff ffff ffff when set.
Definition pdm_cpp.h:26
@ PLAYDIARY_FLAG_UNKNOWN_0A00
Definition pdm_cpp.h:27
uint16_t last_time_played
Date when the title was last played in days since 01/01/2000.
Definition pdm_cpp.h:60
uint32_t GetPlayDiary(uint32_t *outAmount, PlayDiary *outPlayDiaries, uint32_t userId, uint32_t amount) asm("GetPlayDiary__Q2_2nn3pdmFPiPQ3_2nn3pdm9PlayDiaryiT3")
Gets an array of PlayDiary entries.
uint32_t GetPlayStatsMaxLength(uint32_t *outMaxLength) asm("GetPlayStatsMaxLength__Q2_2nn3pdmFPi")
The max amount of PlayStats that can be written into the save.
uint32_t GetPlayLogMaxLength(uint32_t *outMaxLength) asm("GetPlayLogMaxLength__Q2_2nn3pdmFPi")
The max amount of PlayLog that can be written into the save.
uint32_t WaitForConvertDone() asm("WaitForConvertDone__Q2_2nn3pdmFv")
Wait until convert is done.
uint32_t GetPlayStatsLength(uint32_t *outLength, uint32_t userId) asm("GetPlayStatsLength__Q2_2nn3pdmFPii")
Gets the amount of an users PlayStats entries.
uint16_t first_time_played
Date when the title was first played in days since 01/01/2000.
Definition pdm_cpp.h:58
uint32_t GetPlayDiaryLength(uint32_t *outLength, uint32_t userId) asm("GetPlayDiaryLength__Q2_2nn3pdmFPii")
Gets the amount of an users PlayDiary entries.
uint32_t GetPlayEventMaxLength(uint32_t *outMaxLength) asm("GetPlayEventMaxLength__Q2_2nn3pdmFPi")
The max amount of PlayEvent that can be written into the save.
uint32_t GetPlayLog(uint32_t *outAmount, PlayLog *outPlayLogs, uint32_t userId, uint32_t amount) asm("GetPlayLog__Q2_2nn3pdmFPiPQ3_2nn3pdm7PlayLogiT3")
Gets an array of PlayLog entries.
uint32_t playtime
Playtime in Minutes.
Definition pdm_cpp.h:37
Stores PlayData for each Day.
Definition pdm_cpp.h:33
Unknown.
Definition pdm_cpp.h:81
Stores total stats.
Definition pdm_cpp.h:50
Definition ac_cpp.h:16