Poketch Data - named most variables in the struct, named many of its functions, and started adding comments.

This commit is contained in:
Trainer Riley 2024-03-20 00:09:58 -07:00
parent 8cd6aebe35
commit 666bcd3092
34 changed files with 615 additions and 107 deletions

View File

@ -32,7 +32,7 @@ typedef struct {
PokedexData * unk_E8;
PCBoxes * unk_EC;
ChatotCry * unk_F0[4];
UnkStruct_02056B24 * unk_100;
PoketchData * unk_100;
UnkStruct_0202C878 * unk_104;
Options * unk_108;
UnkStruct_0206D140 * unk_10C;

View File

@ -35,7 +35,7 @@ void ov25_02254518(const UnkStruct_ov25_0225424C * param0, UnkStruct_ov25_02255B
BOOL ov25_02254534(const UnkStruct_ov25_0225424C * param0);
BOOL ov25_02254538(const UnkStruct_ov25_0225424C * param0);
UnkStruct_0203CDB0 * ov25_0225453C(const UnkStruct_ov25_0225424C * param0);
UnkStruct_02056B24 * ov25_02254540(const UnkStruct_ov25_0225424C * param0);
PoketchData * ov25_02254540(const UnkStruct_ov25_0225424C * param0);
SaveData * ov25_02254544(const UnkStruct_ov25_0225424C * param0);
int ov25_02254548(const UnkStruct_ov25_0225424C * param0);

156
include/poketch_data.h Normal file
View File

@ -0,0 +1,156 @@
#ifndef POKEPLATINUM_UNK_02056720_H
#define POKEPLATINUM_UNK_02056720_H
#include "struct_decls/struct_02056B24_decl.h"
#include "pokemon.h"
#include "struct_decls/struct_021C0794_decl.h"
#define POKETCH_SCREEN_COLOR_GREEN 0
#define POKETCH_SCREEN_COLOR_YELLOW 1
#define POKETCH_SCREEN_COLOR_ORANGE 2
#define POKETCH_SCREEN_COLOR_RED 3
#define POKETCH_SCREEN_COLOR_PURPLE 4
#define POKETCH_SCREEN_COLOR_BLUE 5
#define POKETCH_SCREEN_COLOR_TEAL 6
#define POKETCH_SCREEN_COLOR_WHITE 7
/*
* Returns the size of the PoketchData object.
*
* @returns: size of the PoketchData object.
*/
int Poketch_SaveSize(void);
/*
* Initializes the given PoketchData object.
*
* @param heapID: The PoketchData to initialize.
*/
void Poketch_Init(PoketchData * poketchData);
void sub_020567D0(PoketchData * poketchData);
BOOL sub_020567E0(PoketchData * poketchData);
/*
* Whether or not the given AppID is already registered in the Poketch.
* Valid apps are in the range 0-24.
*
* @param poketchData: The Poketch data to check.
* @param appID: the App ID to check for.
*
* @returns: TRUE if the app is registered, FALSE if not.
*/
BOOL PoketchData_CheckAppRegistered(PoketchData * poketchData, int appID);
/*
* Registers the app with the given ID, making it accessible to the player.
*
* @param poketchData: The Poketch data to check.
* @param appID: the ID of the app to register. This function asserts that appID is less than 25.
*
* @returns: TRUE if the was successfully registered, FALSE if it was already registered.
*/
BOOL PoketchData_RegisterApp(PoketchData * poketchData, int appID);
/*
* Gets the currently active Poketch app.
*
* @param poketchData: The Poketch data to check.
*
* @returns: The index of the current app.
*/
int PoketchData_GetCurrentAppID(const PoketchData * poketchData);
/*
* Sets the current Poketch app to the next registered app (ie. if on index 3 and the next registered index is 12, the value will be set to 12).
*
* @param poketchData: The Poketch data to update.
*
* @returns: The new current app ID.
*/
int PoketchData_IncrementAppID(PoketchData * poketchData);
/*
* Sets the current Poketch app to the previous registered app (ie. if on app 12 and the previous registered app is 3, the value will be set to 3).
*
* @param poketchData: The Poketch data to update.
*
* @returns: The new current app ID.
*/
int PoketchData_DecrementAppID(PoketchData * poketchData);
/*
* Gets the current Poketch's color setting.
*
* @param poketchData: The Poketch data to check.
*
* @returns: The Poketch's color setting.
*/
u32 PoketchData_GetCurrentScreenColor(const PoketchData * poketchData);
/*
* Sets the Poketch's color setting.
*
* @param poketchData: The Poketch data to update. This function assert checks this pointer.
* @param screenColor: The color to set (see defines in poketch_data.h). This function asserts that the value is 8 or less.
*/
void PoketchData_SetScreenColor(PoketchData * poketchData, u32 screenColor);
u32 sub_020568C8(const PoketchData * poketchData);
void sub_020568CC(PoketchData * poketchData, u32 param1);
BOOL PoketchData_IsAlarmSet(const PoketchData * poketchData);
void PoketchData_GetAlarmTime(const PoketchData * poketchData, u32 * hour, u32 * minute);
void PoketchData_SetAlarm(PoketchData * poketchData, BOOL enabled, u32 hour, u32 minute);
void sub_02056934(PoketchData * poketchData, u32 param1, u32 param2);
void sub_02056970(PoketchData * poketchData, u32 param1, u32 param2);
BOOL sub_020569A8(const PoketchData * poketchData, u32 param1, u32 param2);
void PoketchData_SetMapMarker(PoketchData * poketchData, int index, u8 x, u8 y);
void PoketchData_GetMapMarkerPos(const PoketchData * poketchData, int index, u8 * x, u8 * y);
BOOL sub_02056A10(const PoketchData * poketchData);
void sub_02056A18(const PoketchData * poketchData, u8 * param1);
void sub_02056A2C(PoketchData * poketchData, const u8 * param1);
void sub_02056A48(PoketchData * poketchData, const BoxPokemon * param1);
int sub_02056AAC(const PoketchData * poketchData);
void sub_02056AC8(const PoketchData * poketchData, int param1, int * param2, int * param3);
u32 sub_02056AFC(const PoketchData * poketchData, int param1);
PoketchData * sub_02056B24(SaveData * saveData);
#endif // POKEPLATINUM_UNK_02056720_H

View File

@ -1,6 +1,6 @@
#ifndef POKEPLATINUM_STRUCT_02056B24_DECL_H
#define POKEPLATINUM_STRUCT_02056B24_DECL_H
typedef struct UnkStruct_02056B24_t UnkStruct_02056B24;
typedef struct PoketchData PoketchData;
#endif // POKEPLATINUM_STRUCT_02056B24_DECL_H

View File

@ -70,7 +70,7 @@ struct BattleSystem {
UnkStruct_ov12_0221FCDC * unk_8C;
SpriteRenderer * unk_90;
SpriteGfxHandler * unk_94;
UnkStruct_02056B24 * unk_98;
PoketchData * unk_98;
UnkStruct_0206D140 * unk_9C;
u16 trainerIDs[4];
u8 unk_A8[4];

View File

@ -44,7 +44,7 @@ struct UnkStruct_0207AE68_t {
PokedexData * unk_48;
UnkStruct_0207D3C0 * unk_4C;
UnkStruct_0202CD88 * unk_50;
UnkStruct_02056B24 * unk_54;
PoketchData * unk_54;
void * unk_58;
int unk_5C;
u16 unk_60;

View File

@ -6,33 +6,33 @@
#include "struct_decls/struct_021C0794_decl.h"
int Poketch_SaveSize(void);
void Poketch_Init(UnkStruct_02056B24 * param0);
void sub_020567D0(UnkStruct_02056B24 * param0);
BOOL sub_020567E0(UnkStruct_02056B24 * param0);
BOOL sub_020567E8(UnkStruct_02056B24 * param0, int param1);
BOOL sub_020567F0(UnkStruct_02056B24 * param0, int param1);
int sub_02056830(const UnkStruct_02056B24 * param0);
int sub_02056838(UnkStruct_02056B24 * param0);
int sub_02056860(UnkStruct_02056B24 * param0);
u32 sub_02056888(const UnkStruct_02056B24 * param0);
void sub_0205689C(UnkStruct_02056B24 * param0, u32 param1);
u32 sub_020568C8(const UnkStruct_02056B24 * param0);
void sub_020568CC(UnkStruct_02056B24 * param0, u32 param1);
BOOL sub_020568D8(const UnkStruct_02056B24 * param0);
void sub_020568E0(const UnkStruct_02056B24 * param0, u32 * param1, u32 * param2);
void sub_020568F4(UnkStruct_02056B24 * param0, BOOL param1, u32 param2, u32 param3);
void sub_02056934(UnkStruct_02056B24 * param0, u32 param1, u32 param2);
void sub_02056970(UnkStruct_02056B24 * param0, u32 param1, u32 param2);
BOOL sub_020569A8(const UnkStruct_02056B24 * param0, u32 param1, u32 param2);
void sub_020569C4(UnkStruct_02056B24 * param0, int param1, u8 param2, u8 param3);
void sub_020569E8(const UnkStruct_02056B24 * param0, int param1, u8 * param2, u8 * param3);
BOOL sub_02056A10(const UnkStruct_02056B24 * param0);
void sub_02056A18(const UnkStruct_02056B24 * param0, u8 * param1);
void sub_02056A2C(UnkStruct_02056B24 * param0, const u8 * param1);
void sub_02056A48(UnkStruct_02056B24 * param0, const BoxPokemon * param1);
int sub_02056AAC(const UnkStruct_02056B24 * param0);
void sub_02056AC8(const UnkStruct_02056B24 * param0, int param1, int * param2, int * param3);
u32 sub_02056AFC(const UnkStruct_02056B24 * param0, int param1);
UnkStruct_02056B24 * sub_02056B24(SaveData * param0);
void Poketch_Init(PoketchData * param0);
void sub_020567D0(PoketchData * param0);
BOOL sub_020567E0(PoketchData * param0);
BOOL sub_020567E8(PoketchData * param0, int param1);
BOOL sub_020567F0(PoketchData * param0, int param1);
int sub_02056830(const PoketchData * param0);
int sub_02056838(PoketchData * param0);
int sub_02056860(PoketchData * param0);
u32 sub_02056888(const PoketchData * param0);
void sub_0205689C(PoketchData * param0, u32 param1);
u32 sub_020568C8(const PoketchData * param0);
void sub_020568CC(PoketchData * param0, u32 param1);
BOOL sub_020568D8(const PoketchData * param0);
void sub_020568E0(const PoketchData * param0, u32 * param1, u32 * param2);
void sub_020568F4(PoketchData * param0, BOOL param1, u32 param2, u32 param3);
void sub_02056934(PoketchData * param0, u32 param1, u32 param2);
void sub_02056970(PoketchData * param0, u32 param1, u32 param2);
BOOL sub_020569A8(const PoketchData * param0, u32 param1, u32 param2);
void sub_020569C4(PoketchData * param0, int param1, u8 param2, u8 param3);
void sub_020569E8(const PoketchData * param0, int param1, u8 * param2, u8 * param3);
BOOL sub_02056A10(const PoketchData * param0);
void sub_02056A18(const PoketchData * param0, u8 * param1);
void sub_02056A2C(PoketchData * param0, const u8 * param1);
void sub_02056A48(PoketchData * param0, const BoxPokemon * param1);
int sub_02056AAC(const PoketchData * param0);
void sub_02056AC8(const PoketchData * param0, int param1, int * param2, int * param3);
u32 sub_02056AFC(const PoketchData * param0, int param1);
PoketchData * sub_02056B24(SaveData * param0);
#endif // POKEPLATINUM_UNK_02056720_H

View File

@ -10,7 +10,7 @@
#include "struct_decls/struct_0207AE68_decl.h"
#include "struct_decls/struct_0207D3C0_decl.h"
UnkStruct_0207AE68 * sub_0207AE68(Party * param0, Pokemon * param1, int param2, Options * param3, int param4, PokedexData * param5, UnkStruct_0207D3C0 * param6, UnkStruct_0202CD88 * param7, UnkStruct_02056B24 * param8, int param9, int param10, int param11);
UnkStruct_0207AE68 * sub_0207AE68(Party * param0, Pokemon * param1, int param2, Options * param3, int param4, PokedexData * param5, UnkStruct_0207D3C0 * param6, UnkStruct_0202CD88 * param7, PoketchData * param8, int param9, int param10, int param11);
BOOL sub_0207B0D0(UnkStruct_0207AE68 * param0);
void sub_0207B0E0(UnkStruct_0207AE68 * param0);

View File

@ -234,7 +234,7 @@ Static main
Object main.nef.p/src_unk_020559DC.c.o
Object main.nef.p/src_unk_02055C50.c.o
Object main.nef.p/src_unk_020562F8.c.o
Object main.nef.p/src_unk_02056720.c.o
Object main.nef.p/src_poketch_data.c.o
Object main.nef.p/src_unk_02056B30.c.o
Object main.nef.p/src_unk_020573FC.c.o
Object main.nef.p/src_unk_0205749C.c.o

View File

@ -222,7 +222,7 @@ pokeplatinum_c = files(
'unk_020559DC.c',
'unk_02055C50.c',
'unk_020562F8.c',
'unk_02056720.c',
'poketch_data.c',
'unk_02056B30.c',
'unk_020573FC.c',
'unk_0205749C.c',

View File

@ -12,7 +12,7 @@
#include "unk_0200A9DC.h"
#include "heap.h"
#include "unk_020508D4.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "overlay005/ov5_021DDAE4.h"
#include "overlay024/ov24_02253CE0.h"
#include "overlay025/ov25_02253CE0.h"
@ -42,7 +42,7 @@ static BOOL ov5_021DDAE4 (UnkStruct_020508D4 * param0)
break;
case 2:
if (ov24_02253DB4(v0->unk_08)) {
UnkStruct_02056B24 * v2 = sub_02056B24(v0->unk_0C);
PoketchData * v2 = sub_02056B24(v0->unk_0C);
Overlay_UnloadByID(FS_OVERLAY_ID(overlay24));
Overlay_LoadByID(FS_OVERLAY_ID(overlay25), 2);

View File

@ -10,7 +10,7 @@
#include "game_overlay.h"
#include "unk_0200A784.h"
#include "unk_020507CC.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_0206A8DC.h"
#include "overlay005/ov5_021EA714.h"
#include "overlay024/ov24_02253CE0.h"
@ -29,7 +29,7 @@ void ov5_021EA714 (UnkStruct_0203CDB0 * param0, int param1, u32 param2)
void ov5_021EA728 (UnkStruct_0203CDB0 * param0)
{
UnkStruct_02056B24 * v0 = sub_02056B24(param0->unk_0C);
PoketchData * v0 = sub_02056B24(param0->unk_0C);
UnkStruct_020507E4 * v1 = SaveData_Events(param0->unk_0C);
if (sub_020567E0(v0)
@ -44,7 +44,7 @@ void ov5_021EA728 (UnkStruct_0203CDB0 * param0)
void ov5_021EA790 (UnkStruct_0203CDB0 * param0)
{
UnkStruct_02056B24 * v0 = sub_02056B24(param0->unk_0C);
PoketchData * v0 = sub_02056B24(param0->unk_0C);
UnkStruct_020507E4 * v1 = SaveData_Events(param0->unk_0C);
if (sub_020567E0(v0)
@ -57,7 +57,7 @@ void ov5_021EA790 (UnkStruct_0203CDB0 * param0)
u8 ov5_021EA7CC (UnkStruct_0203CDB0 * param0)
{
UnkStruct_02056B24 * v0 = sub_02056B24(param0->unk_0C);
PoketchData * v0 = sub_02056B24(param0->unk_0C);
UnkStruct_020507E4 * v1 = SaveData_Events(param0->unk_0C);
if (sub_020567E0(v0)

View File

@ -66,7 +66,7 @@
#include "unk_020279FC.h"
#include "unk_0202CD50.h"
#include "unk_0202F1D4.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_0206CCB0.h"
#include "pokemon.h"
#include "trainer_data.h"

View File

@ -30,7 +30,7 @@
#include "unk_02025E08.h"
#include "trainer_info.h"
#include "unk_020508D4.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_02099D44.h"
#include "overlay025/ov25_02253CE0.h"
#include "overlay025/ov25_02254560.h"
@ -100,7 +100,7 @@ typedef struct UnkStruct_ov25_02253CE0_t {
BGL * unk_4C;
NNSG2dOamManagerInstance * unk_50;
SaveData * unk_54;
UnkStruct_02056B24 * unk_58;
PoketchData * unk_58;
UnkStruct_0203CDB0 * unk_5C;
int unk_60;
} UnkStruct_ov25_02253CE0;
@ -333,7 +333,7 @@ static void ov25_02253EA4 (UnkStruct_ov25_02253CE0 * param0)
break;
case 1:
if (ov25_022547F4(param0->unk_1C, 0)) {
u32 v0 = sub_02056830(param0->unk_58);
u32 v0 = PoketchData_GetCurrentAppID(param0->unk_58);
ov25_02254170(param0, v0);
ov25_022541D8(param0, v0);
@ -380,9 +380,9 @@ static void ov25_02253F2C (UnkStruct_ov25_02253CE0 * param0)
if (ov25_02254800(param0->unk_1C)) {
if (param0->unk_60 == UnkEnum_ov25_022542E4_00) {
param0->unk_20.unk_00 = sub_02056860(param0->unk_58);
param0->unk_20.unk_00 = PoketchData_DecrementAppID(param0->unk_58);
} else {
param0->unk_20.unk_00 = sub_02056838(param0->unk_58);
param0->unk_20.unk_00 = PoketchData_IncrementAppID(param0->unk_58);
}
if (param0->unk_0C) {
@ -422,9 +422,9 @@ static void ov25_02253F2C (UnkStruct_ov25_02253CE0 * param0)
case 4:
if ((param0->unk_08 == 3) || (param0->unk_08 == 5)) {
if (param0->unk_60 == UnkEnum_ov25_022542E4_00) {
param0->unk_20.unk_00 = sub_02056860(param0->unk_58);
param0->unk_20.unk_00 = PoketchData_DecrementAppID(param0->unk_58);
} else {
param0->unk_20.unk_00 = sub_02056838(param0->unk_58);
param0->unk_20.unk_00 = PoketchData_IncrementAppID(param0->unk_58);
}
param0->unk_10 = 30;
@ -451,7 +451,7 @@ static void ov25_0225406C (UnkStruct_ov25_02253CE0 * param0)
u32 v0;
param0->unk_06 = 1;
v0 = sub_02056830(param0->unk_58);
v0 = PoketchData_GetCurrentAppID(param0->unk_58);
ov25_02254170(param0, v0);
ov25_022541D8(param0, v0);
@ -812,9 +812,9 @@ UnkStruct_0203CDB0 * ov25_0225453C (const UnkStruct_ov25_0225424C * param0)
return param0->unk_5C;
}
UnkStruct_02056B24 * ov25_02254540 (const UnkStruct_ov25_0225424C * param0)
PoketchData * ov25_02254540 (const UnkStruct_ov25_0225424C * param0)
{
return (UnkStruct_02056B24 *)(param0->unk_58);
return (PoketchData *)(param0->unk_58);
}
SaveData * ov25_02254544 (const UnkStruct_ov25_0225424C * param0)

View File

@ -23,7 +23,7 @@
#include "heap.h"
#include "unk_02018340.h"
#include "gx_layers.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "overlay025/ov25_02253CE0.h"
#include "overlay025/ov25_02254560.h"
#include "overlay025/ov25_02255090.h"
@ -167,8 +167,8 @@ static void ov25_02254684 (UnkStruct_ov25_02254560 * param0)
void ov25_022546B8 (u32 param0, u32 param1)
{
UnkStruct_ov25_02254560 * v0 = ov25_02254418();
UnkStruct_02056B24 * v1 = ov25_02254540(v0->unk_1FC);
u32 v2 = sub_02056888(v1);
PoketchData * v1 = ov25_02254540(v0->unk_1FC);
u32 v2 = PoketchData_GetCurrentScreenColor(v1);
GXS_LoadBGPltt(&v0->unk_200[v2 * 32], param0 * 0x20, 0x20);
GXS_LoadOBJPltt(&v0->unk_200[v2 * 32], param1, 0x20);
@ -177,8 +177,8 @@ void ov25_022546B8 (u32 param0, u32 param1)
void ov25_022546F0 (u32 param0, u32 param1)
{
UnkStruct_ov25_02254560 * v0 = ov25_02254418();
UnkStruct_02056B24 * v1 = ov25_02254540(v0->unk_1FC);
u32 v2 = sub_02056888(v1);
PoketchData * v1 = ov25_02254540(v0->unk_1FC);
u32 v2 = PoketchData_GetCurrentScreenColor(v1);
GXS_LoadBGPltt(&v0->unk_200[v2 * 32 + 16], 0, 0x20);
GXS_LoadOBJPltt(&v0->unk_200[v2 * 32 + 16], 0, 0x20);
@ -187,8 +187,8 @@ void ov25_022546F0 (u32 param0, u32 param1)
void ov25_02254728 (u16 * param0)
{
UnkStruct_ov25_02254560 * v0 = ov25_02254418();
UnkStruct_02056B24 * v1 = ov25_02254540(v0->unk_1FC);
u32 v2 = sub_02056888(v1);
PoketchData * v1 = ov25_02254540(v0->unk_1FC);
u32 v2 = PoketchData_GetCurrentScreenColor(v1);
MI_CpuCopy16(&v0->unk_200[v2 * 32], param0, 0x20);
}
@ -609,8 +609,8 @@ static void ov25_02254DE0 (UnkStruct_ov25_02254560 * param0, UnkStruct_ov25_0225
static void ov25_02254E84 (UnkStruct_ov25_02254560 * param0, u32 param1)
{
UnkStruct_02056B24 * v1 = ov25_02254540(param0->unk_1FC);
u32 v2 = sub_02056888(v1);
PoketchData * v1 = ov25_02254540(param0->unk_1FC);
u32 v2 = PoketchData_GetCurrentScreenColor(v1);
ov25_02254728(param0->unk_400);

View File

@ -15,7 +15,7 @@
#include "unk_0200D9E8.h"
#include "heap.h"
#include "unk_02022594.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "overlay025/ov25_02253CE0.h"
#include "overlay031/ov31_02256554.h"
@ -38,8 +38,8 @@ static BOOL ov31_02256228(UnkStruct_ov31_02256228 * param0, UnkStruct_ov25_02254
static void ov31_02256268(UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1);
static inline u8 inline_ov31_02256298(const u8 * param0, int param1);
static inline void inline_ov31_022562EC(u8 * param0, int param1, int param2);
static void ov31_02256298(UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1, UnkStruct_02056B24 * param2);
static void ov31_022562EC(UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1, UnkStruct_02056B24 * param2);
static void ov31_02256298(UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1, PoketchData * param2);
static void ov31_022562EC(UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1, PoketchData * param2);
static void ov31_0225635C(UnkStruct_ov31_02256554_1 * param0);
static void ov31_02256384(UnkStruct_ov31_02256228 * param0);
static void ov31_022563B0(void * param0);
@ -94,7 +94,7 @@ static BOOL ov31_02256228 (UnkStruct_ov31_02256228 * param0, UnkStruct_ov25_0225
static void ov31_02256268 (UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1)
{
UnkStruct_02056B24 * v0 = ov25_02254540(param0->unk_1F0);
PoketchData * v0 = ov25_02254540(param0->unk_1F0);
if (sub_02056A10(v0)) {
ov31_02256298(param0, param1, v0);
@ -113,7 +113,7 @@ static inline void inline_ov31_022562EC (u8 * param0, int param1, int param2)
param0[(param1 / 4)] |= ((param2 & 3) << ((param1 & 3) * 2));
}
static void ov31_02256298 (UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1, UnkStruct_02056B24 * param2)
static void ov31_02256298 (UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1, PoketchData * param2)
{
int v0, v1, v2;
@ -128,7 +128,7 @@ static void ov31_02256298 (UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_0225
}
}
static void ov31_022562EC (UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1, UnkStruct_02056B24 * param2)
static void ov31_022562EC (UnkStruct_ov31_02256228 * param0, UnkStruct_ov31_02256554_1 * param1, PoketchData * param2)
{
int v0, v1, v2;

View File

@ -14,7 +14,7 @@
#include "unk_0200D9E8.h"
#include "heap.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "overlay025/ov25_02253CE0.h"
#include "overlay025/ov25_02255ACC.h"
#include "overlay036/ov36_02256404.h"
@ -28,7 +28,7 @@ typedef struct {
UnkStruct_ov25_0225424C * unk_10;
UnkStruct_ov25_02255B34 * unk_14;
u32 unk_18;
UnkStruct_02056B24 * unk_1C;
PoketchData * unk_1C;
} UnkStruct_ov36_0225621C;
static void NitroStaticInit(void);

View File

@ -15,7 +15,7 @@
#include "unk_0200D9E8.h"
#include "rtc.h"
#include "heap.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "overlay025/ov25_02253CE0.h"
#include "overlay025/ov25_02255ACC.h"
#include "overlay045/ov45_022566EC.h"
@ -27,7 +27,7 @@ typedef struct {
UnkStruct_ov45_022566EC_1 unk_03;
UnkStruct_ov45_022566EC * unk_08;
UnkStruct_ov25_0225424C * unk_0C;
UnkStruct_02056B24 * unk_10;
PoketchData * unk_10;
UnkStruct_ov25_02255B34 * unk_14;
u32 unk_18;
u32 unk_1C;
@ -92,9 +92,9 @@ static BOOL ov45_0225621C (UnkStruct_ov45_022561D4 * param0, UnkStruct_ov25_0225
u32 v1, v2;
param0->unk_10 = ov25_02254540(param1);
param0->unk_03.unk_00 = sub_020568D8(param0->unk_10);
param0->unk_03.unk_00 = PoketchData_IsAlarmSet(param0->unk_10);
sub_020568E0(param0->unk_10, &v1, &v2);
PoketchData_GetAlarmTime(param0->unk_10, &v1, &v2);
param0->unk_03.unk_03 = v1;
param0->unk_03.unk_04 = v2;
@ -232,7 +232,7 @@ static BOOL ov45_022563C0 (UnkStruct_ov45_022561D4 * param0)
if ((param0->unk_1C == 1) && (param0->unk_18 == 0)) {
param0->unk_03.unk_00 = 1;
ov45_022562C0(&param0->unk_03);
sub_020568F4(param0->unk_10, 1, param0->unk_03.unk_03, param0->unk_03.unk_04);
PoketchData_SetAlarm(param0->unk_10, 1, param0->unk_03.unk_03, param0->unk_03.unk_04);
ov45_02256918(param0->unk_08, 2);
param0->unk_1C = 0;
param0->unk_01++;

View File

@ -19,7 +19,7 @@
#include "heap.h"
#include "unk_0202D7A8.h"
#include "unk_020507CC.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_0206AFE0.h"
#include "overlay025/ov25_02253CE0.h"
#include "overlay047/ov47_02256634.h"
@ -31,7 +31,7 @@ typedef struct {
UnkStruct_ov47_02256634_1 unk_04;
UnkStruct_ov47_02256634 * unk_70;
UnkStruct_ov25_0225424C * unk_74;
UnkStruct_02056B24 * unk_78;
PoketchData * unk_78;
UnkStruct_0206C638 * unk_7C[6];
u8 unk_94[6];
u8 unk_9A;
@ -85,7 +85,7 @@ static BOOL ov47_0225621C (UnkStruct_ov47_0225621C * param0, UnkStruct_ov25_0225
param0->unk_04.unk_0C[v0].unk_03 = 1;
param0->unk_04.unk_0C[v0].unk_02 = v0;
sub_020569E8(param0->unk_78, v0, &(param0->unk_04.unk_0C[v0].unk_00), &(param0->unk_04.unk_0C[v0].unk_01));
PoketchData_GetMapMarkerPos(param0->unk_78, v0, &(param0->unk_04.unk_0C[v0].unk_00), &(param0->unk_04.unk_0C[v0].unk_01));
param0->unk_04.unk_0C[v0].unk_00 += 16;
param0->unk_04.unk_0C[v0].unk_01 += 16;
@ -133,7 +133,7 @@ static void ov47_0225634C (UnkStruct_ov47_0225621C * param0)
int v0;
for (v0 = 0; v0 < 6; v0++) {
sub_020569C4(param0->unk_78, v0, (param0->unk_04.unk_0C[v0].unk_00 - 16), (param0->unk_04.unk_0C[v0].unk_01 - 16));
PoketchData_SetMapMarker(param0->unk_78, v0, (param0->unk_04.unk_0C[v0].unk_00 - 16), (param0->unk_04.unk_0C[v0].unk_01 - 16));
}
ov47_02256670(param0->unk_70);

View File

@ -13,7 +13,7 @@
#include "unk_0200D9E8.h"
#include "heap.h"
#include "unk_02022594.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "overlay025/ov25_02253CE0.h"
#include "overlay049/ov49_022563D4.h"
@ -25,7 +25,7 @@ typedef struct {
UnkStruct_ov49_022563D4_1 unk_04;
UnkStruct_ov49_022563D4 * unk_08;
UnkStruct_ov25_0225424C * unk_0C;
UnkStruct_02056B24 * unk_10;
PoketchData * unk_10;
} UnkStruct_ov49_0225621C;
static void NitroStaticInit(void);
@ -67,7 +67,7 @@ static BOOL ov49_022561D4 (void ** param0, UnkStruct_ov25_0225424C * param1, BGL
static BOOL ov49_0225621C (UnkStruct_ov49_0225621C * param0, UnkStruct_ov25_0225424C * param1, BGL * param2, u32 param3)
{
param0->unk_10 = ov25_02254540(param1);
param0->unk_04.unk_00 = sub_02056888(param0->unk_10);
param0->unk_04.unk_00 = PoketchData_GetCurrentScreenColor(param0->unk_10);
param0->unk_03 = param0->unk_04.unk_00;
if (ov49_022563D4(&(param0->unk_08), &(param0->unk_04), param2)) {
@ -181,7 +181,7 @@ static BOOL ov49_02256348 (UnkStruct_ov49_0225621C * param0)
if (v2 != param0->unk_03) {
param0->unk_04.unk_00 = v2;
param0->unk_03 = v2;
sub_0205689C(param0->unk_10, v2);
PoketchData_SetScreenColor(param0->unk_10, v2);
return 1;
}
}

View File

@ -15,7 +15,7 @@
#include "unk_0200D9E8.h"
#include "rtc.h"
#include "heap.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "overlay025/ov25_02253CE0.h"
#include "overlay025/ov25_02255ACC.h"
#include "overlay050/ov50_02256510.h"
@ -27,7 +27,7 @@ typedef struct {
UnkStruct_ov50_02256510_1 unk_04;
UnkStruct_ov50_02256510 * unk_90;
UnkStruct_ov25_0225424C * unk_94;
UnkStruct_02056B24 * unk_98;
PoketchData * unk_98;
UnkStruct_ov25_02255B34 * unk_9C;
u32 unk_A0;
u32 unk_A4;

View File

@ -14,7 +14,7 @@
#include "unk_0200D9E8.h"
#include "heap.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "overlay025/ov25_02253CE0.h"
#include "overlay025/ov25_02255ACC.h"
#include "overlay054/ov54_0225642C.h"
@ -143,7 +143,7 @@ static BOOL ov54_0225621C (UnkStruct_ov54_0225621C * param0, UnkStruct_ov25_0225
((48 + 40 * 0) + (48 / 2))
}
};
UnkStruct_02056B24 * v1;
PoketchData * v1;
int v2;
v1 = ov25_02254540(param1);

View File

@ -10,7 +10,7 @@
#include "heap.h"
#include "trainer_info.h"
#include "unk_0202DA40.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "pokemon.h"
#include "unk_020797C8.h"
#include "party.h"

352
src/poketch_data.c Normal file
View File

@ -0,0 +1,352 @@
#include <nitro.h>
#include <string.h>
#include "pokemon.h"
#include "struct_decls/struct_021C0794_decl.h"
#include "unk_020244AC.h"
#include "poketch_data.h"
#include "pokemon.h"
#include "pokemon_icon.h"
/**
* @brief All of the Poketch's internally tracked data including settings, registered apps, and the data for some apps (eg. pedometer, alarm clock).
*/
typedef struct PoketchData {
u8 unk_00_0 : 1;
u8 unk_00_1 : 1;
u8 unk_00_2 : 1;
u8 screenColor : 3; //!< Screen palette color (valid values defined in poketch_data.h)
u8 unk_00_6 : 2;
s8 appCount; //!< Number of currently registered apps
s8 appIndex; //!< Currently selected app
u8 appRegistry[32]; //!< Registration status of all apps. Indices 25-31 are unused.
u32 pedometer; //!< Step counter
u16 alarmSet : 1; //!< Whether or not the alarm is currently enabled.
u16 alarmHour : 5; //!< Current Hour setting on the alarm clock.
u16 alarmMinute : 6; //!< Current Minute setting on the alarm clock.
u16 unk_28_12 : 4;
u8 unk_2A[120];
u32 unk_A4;
u8 unk_A8;
struct {
u8 x; //!< X coordinate of map marker
u8 y; //!< Y coordinate of map marker
} markMapPositions[6]; //!< Map markers
struct {
u16 unk_00;
u16 unk_02;
u32 unk_04;
} unk_B8[12];
} PoketchData;
int Poketch_SaveSize (void)
{
return sizeof(PoketchData);
}
void Poketch_Init (PoketchData * poketchData)
{
int v0;
for (v0 = 0; v0 < 32; v0++) {
poketchData->appRegistry[v0] = 0;
}
poketchData->appCount = 0;
poketchData->appIndex = 0;
poketchData->unk_00_0 = 0;
poketchData->screenColor = 0;
poketchData->unk_00_1 = 0;
poketchData->pedometer = 0;
poketchData->alarmSet = 0;
poketchData->alarmHour = 0;
poketchData->alarmMinute = 0;
poketchData->unk_A8 = 1;
poketchData->unk_A4 = 0;
{
static const struct {
u8 x;
u8 y;
} v1[6] = {
{104, 152},
{120, 152},
{136, 152},
{152, 152},
{168, 152},
{184, 152}
};
for (v0 = 0; v0 < 6; v0++) {
poketchData->markMapPositions[v0].x = v1[v0].x;
poketchData->markMapPositions[v0].y = v1[v0].y;
}
}
for (v0 = 0; v0 < 12; v0++) {
poketchData->unk_B8[v0].unk_00 = 0;
poketchData->unk_B8[v0].unk_02 = 0;
poketchData->unk_B8[v0].unk_04 = 0;
}
poketchData->unk_00_2 = 0;
PoketchData_RegisterApp(poketchData, 0);
}
void sub_020567D0 (PoketchData * poketchData)
{
poketchData->unk_00_0 = 1;
}
BOOL sub_020567E0 (PoketchData * poketchData)
{
return poketchData->unk_00_0;
}
BOOL PoketchData_CheckAppRegistered (PoketchData * poketchData, int appID)
{
return poketchData->appRegistry[appID];
}
BOOL PoketchData_RegisterApp (PoketchData * poketchData, int appID)
{
BOOL appRegistered = 0;
GF_ASSERT(appID >= 0 && appID < 25);
if (poketchData->appCount < 25) {
if (poketchData->appRegistry[appID] == 0) {
poketchData->appRegistry[appID] = 1;
poketchData->appCount++;
if (appID == 3) {
poketchData->unk_00_1 = 1;
}
appRegistered = 1;
}
}
return appRegistered;
}
int PoketchData_GetCurrentAppID(const PoketchData * poketchData)
{
return poketchData->appIndex;
}
int PoketchData_IncrementAppID(PoketchData * poketchData)
{
int nextIndex = poketchData->appIndex;
while (TRUE) {
if (++nextIndex >= 25) {
nextIndex = 0;
}
if (nextIndex == poketchData->appIndex) {
break;
}
if (poketchData->appRegistry[nextIndex]) {
break;
}
}
poketchData->appIndex = nextIndex;
return poketchData->appIndex;
}
int PoketchData_DecrementAppID(PoketchData * poketchData)
{
int prevIndex = poketchData->appIndex;
while (TRUE) {
if (--prevIndex < 0) {
prevIndex = 25 - 1;
}
if (prevIndex == poketchData->appIndex) {
break;
}
if (poketchData->appRegistry[prevIndex]) {
break;
}
}
poketchData->appIndex = prevIndex;
return poketchData->appIndex;
}
u32 PoketchData_GetCurrentScreenColor (const PoketchData * poketchData)
{
GF_ASSERT(poketchData);
return poketchData->screenColor;
}
void PoketchData_SetScreenColor (PoketchData * poketchData, u32 screenColor)
{
GF_ASSERT(poketchData);
GF_ASSERT(screenColor < 8);
poketchData->screenColor = screenColor;
}
u32 sub_020568C8 (const PoketchData * poketchData)
{
return poketchData->pedometer;
}
void sub_020568CC (PoketchData * poketchData, u32 param1)
{
if (poketchData->unk_00_1) {
poketchData->pedometer = param1;
}
}
BOOL PoketchData_IsAlarmSet (const PoketchData * poketchData)
{
return poketchData->alarmSet;
}
void PoketchData_GetAlarmTime (const PoketchData * poketchData, u32 * hour, u32 * minute)
{
*hour = poketchData->alarmHour;
*minute = poketchData->alarmMinute;
}
void PoketchData_SetAlarm (PoketchData * poketchData, BOOL enable, u32 hour, u32 minute)
{
poketchData->alarmSet = enable;
poketchData->alarmHour = hour;
poketchData->alarmMinute = minute;
}
void sub_02056934 (PoketchData * poketchData, u32 param1, u32 param2)
{
if (poketchData->unk_A8 == param1) {
poketchData->unk_A4 |= (1 << (param2 - 1));
} else {
poketchData->unk_A8 = param1;
poketchData->unk_A4 = (1 << (param2 - 1));
}
}
void sub_02056970 (PoketchData * poketchData, u32 param1, u32 param2)
{
if (poketchData->unk_A8 == param1) {
poketchData->unk_A4 &= ~(1 << (param2 - 1));
} else {
poketchData->unk_A8 = param1;
poketchData->unk_A4 = 0;
}
}
BOOL sub_020569A8 (const PoketchData * poketchData, u32 param1, u32 param2)
{
if (poketchData->unk_A8 == param1) {
return (poketchData->unk_A4 >> (param2 - 1)) & 1;
} else {
return 0;
}
}
void PoketchData_SetMapMarker (PoketchData * poketchData, int index, u8 x, u8 y)
{
GF_ASSERT(index < 6);
poketchData->markMapPositions[index].x = x;
poketchData->markMapPositions[index].y = y;
}
void PoketchData_GetMapMarkerPos (const PoketchData * poketchData, int index, u8 * x, u8 * y)
{
GF_ASSERT(index < 6);
*x = poketchData->markMapPositions[index].x;
*y = poketchData->markMapPositions[index].y;
}
BOOL sub_02056A10 (const PoketchData * poketchData)
{
return poketchData->unk_00_2;
}
void sub_02056A18 (const PoketchData * poketchData, u8 * param1)
{
if (poketchData->unk_00_2) {
MI_CpuCopy8(poketchData->unk_2A, param1, 120);
}
}
void sub_02056A2C (PoketchData * poketchData, const u8 * param1)
{
MI_CpuCopy8(param1, poketchData->unk_2A, 120);
poketchData->unk_00_2 = 1;
}
void sub_02056A48 (PoketchData * poketchData, const BoxPokemon * param1)
{
int v0;
v0 = sub_02056AAC(poketchData);
if (v0 >= 12) {
int v1;
for (v1 = 0; v1 < (12 - 1); v1++) {
poketchData->unk_B8[v1] = poketchData->unk_B8[v1 + 1];
}
v0 = 12 - 1;
}
poketchData->unk_B8[v0].unk_00 = BoxPokemon_GetValue((BoxPokemon *)param1, MON_DATA_SPECIES, NULL);
poketchData->unk_B8[v0].unk_02 = BoxPokemon_IconFormOffset(param1);
poketchData->unk_B8[v0].unk_04 = BoxPokemon_GetValue((BoxPokemon *)param1, MON_DATA_FORM, NULL);
}
int sub_02056AAC (const PoketchData * poketchData)
{
int v0;
for (v0 = 0; v0 < 12; v0++) {
if (poketchData->unk_B8[v0].unk_00 == 0) {
return v0;
}
}
return v0;
}
void sub_02056AC8 (const PoketchData * poketchData, int param1, int * param2, int * param3)
{
GF_ASSERT(param1 < 12);
GF_ASSERT(poketchData->unk_B8[param1].unk_00);
*param2 = poketchData->unk_B8[param1].unk_00;
*param3 = poketchData->unk_B8[param1].unk_02;
}
u32 sub_02056AFC (const PoketchData * poketchData, int param1)
{
GF_ASSERT(param1 < 12);
GF_ASSERT(poketchData->unk_B8[param1].unk_00);
return poketchData->unk_B8[param1].unk_04;
}
PoketchData * sub_02056B24 (SaveData * saveData)
{
PoketchData * poketchData;
poketchData = SaveData_Get(saveData, 5);
return poketchData;
}

View File

@ -40,7 +40,7 @@
#include "unk_02030EA4.h"
#include "unk_0203A6DC.h"
#include "unk_020507CC.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_020797C8.h"
#include "party.h"
#include "unk_0207D3B8.h"

View File

@ -50,7 +50,7 @@
#include "unk_02030EA4.h"
#include "unk_0203A6DC.h"
#include "unk_020507CC.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_020797C8.h"
#include "party.h"
#include "unk_0207D3B8.h"

View File

@ -8,7 +8,7 @@
#include "unk_0202631C.h"
#include "unk_0202CD50.h"
#include "unk_0202F180.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "pokemon.h"
void sub_0202F180 (SaveData * param0, const Pokemon * param1)

View File

@ -77,7 +77,7 @@
#include "unk_020553DC.h"
#include "unk_020559DC.h"
#include "unk_020562F8.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_0205B33C.h"
#include "unk_0205C22C.h"
#include "unk_0205E7D0.h"

View File

@ -101,7 +101,7 @@
#include "unk_020553DC.h"
#include "unk_02055808.h"
#include "unk_020559DC.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_0205B33C.h"
#include "unk_0205E7D0.h"
#include "unk_0206A8DC.h"

View File

@ -154,7 +154,7 @@
#include "unk_020553DC.h"
#include "unk_02055808.h"
#include "unk_020559DC.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_0205749C.h"
#include "unk_02057518.h"
#include "unk_0205964C.h"
@ -5306,7 +5306,7 @@ static BOOL sub_020435A0 (UnkStruct_0203E724 * param0)
static BOOL sub_020435AC (UnkStruct_0203E724 * param0)
{
UnkStruct_02056B24 * v0 = sub_02056B24(param0->unk_34->unk_0C);
PoketchData * v0 = sub_02056B24(param0->unk_34->unk_0C);
u16 * v1 = inline_0204FCAC(param0);
*v1 = sub_020567E0(v0);
@ -5318,7 +5318,7 @@ static BOOL sub_020435DC (UnkStruct_0203E724 * param0)
UnkStruct_0203CDB0 * v0 = param0->unk_34;
u16 v1 = inline_02049538(param0);
sub_020567F0(sub_02056B24(v0->unk_0C), v1);
PoketchData_RegisterApp(sub_02056B24(v0->unk_0C), v1);
return 0;
}
@ -5328,7 +5328,7 @@ static BOOL sub_02043608 (UnkStruct_0203E724 * param0)
u16 v1 = inline_02049538(param0);
u16 * v2 = inline_0204FCAC(param0);
*v2 = sub_020567E8(sub_02056B24(v0->unk_0C), v1);
*v2 = PoketchData_CheckAppRegistered(sub_02056B24(v0->unk_0C), v1);
return 0;
}

View File

@ -35,7 +35,7 @@
#include "unk_0203E880.h"
#include "unk_02048DD8.h"
#include "unk_02054884.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_0206CCB0.h"
#include "pokemon.h"
#include "party.h"
@ -342,7 +342,7 @@ static BOOL sub_02049348 (UnkStruct_0203CDB0 * param0)
static BOOL sub_02049358 (UnkStruct_0203CDB0 * param0)
{
UnkStruct_02056B24 * v0 = sub_02056B24(param0->unk_0C);
PoketchData * v0 = sub_02056B24(param0->unk_0C);
return sub_020567E0(v0);
}

View File

@ -38,7 +38,7 @@
#include "unk_0204B830.h"
#include "unk_020507CC.h"
#include "unk_02054884.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_0206AFE0.h"
#include "pokemon.h"
#include "party.h"
@ -731,7 +731,7 @@ static void sub_0204C428 (UnkStruct_0204B830 * param0, u16 * param1, u16 * param
static BOOL sub_0204C458 (UnkStruct_0203CDB0 * param0, void * param1)
{
UnkStruct_02056B24 * v0 = sub_02056B24(param0->unk_0C);
PoketchData * v0 = sub_02056B24(param0->unk_0C);
UnkUnion_0204C4D0 * v1 = sub_0204B844(param0);
return sub_020567E0(v0);
@ -739,10 +739,10 @@ static BOOL sub_0204C458 (UnkStruct_0203CDB0 * param0, void * param1)
static void sub_0204C474 (UnkStruct_0203CDB0 * param0, void * param1)
{
UnkStruct_02056B24 * v0 = sub_02056B24(param0->unk_0C);
PoketchData * v0 = sub_02056B24(param0->unk_0C);
UnkUnion_0204C4D0 * v1 = sub_0204B844(param0);
sub_020567F0(v0, v1->val6.unk_00);
PoketchData_RegisterApp(v0, v1->val6.unk_00);
}
static void sub_0204C494 (UnkStruct_0204B830 * param0, u16 * param1, u16 * param2)

View File

@ -51,7 +51,7 @@
#include "unk_02051D8C.h"
#include "unk_02054D00.h"
#include "unk_020559DC.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "unk_0205C980.h"
#include "unk_0205DAC8.h"
#include "unk_0206A8DC.h"

View File

@ -60,7 +60,7 @@
#include "unk_02028124.h"
#include "unk_0202CD50.h"
#include "unk_020393C8.h"
#include "unk_02056720.h"
#include "poketch_data.h"
#include "pokemon.h"
#include "party.h"
#include "unk_0207AE68.h"
@ -68,7 +68,7 @@
#include "unk_0207D3B8.h"
#include "pokemon_summary_app.h"
UnkStruct_0207AE68 * sub_0207AE68(Party * param0, Pokemon * param1, int param2, Options * param3, int param4, PokedexData * param5, UnkStruct_0207D3C0 * param6, UnkStruct_0202CD88 * param7, UnkStruct_02056B24 * param8, int param9, int param10, int param11);
UnkStruct_0207AE68 * sub_0207AE68(Party * param0, Pokemon * param1, int param2, Options * param3, int param4, PokedexData * param5, UnkStruct_0207D3C0 * param6, UnkStruct_0202CD88 * param7, PoketchData * param8, int param9, int param10, int param11);
static void sub_0207B0A0(SysTask * param0, void * param1);
BOOL sub_0207B0D0(UnkStruct_0207AE68 * param0);
void sub_0207B0E0(UnkStruct_0207AE68 * param0);
@ -98,7 +98,7 @@ static const u8 Unk_020F0A2C[] = {
0x8
};
UnkStruct_0207AE68 * sub_0207AE68 (Party * param0, Pokemon * param1, int param2, Options * param3, int param4, PokedexData * param5, UnkStruct_0207D3C0 * param6, UnkStruct_0202CD88 * param7, UnkStruct_02056B24 * param8, int param9, int param10, int param11)
UnkStruct_0207AE68 * sub_0207AE68 (Party * param0, Pokemon * param1, int param2, Options * param3, int param4, PokedexData * param5, UnkStruct_0207D3C0 * param6, UnkStruct_0202CD88 * param7, PoketchData * param8, int param9, int param10, int param11)
{
UnkStruct_0207AE68 * v0;
ArchivedSprite v1;