summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/gf_gfx_loader.c349
-rw-r--r--arm9/src/main.c1
-rw-r--r--arm9/src/scrcmd.c8
-rw-r--r--arm9/src/scrcmd_20.c35
-rw-r--r--arm9/src/scrcmd_8.c21
-rw-r--r--arm9/src/scrcmd_berry_trees.c (renamed from arm9/src/scrcmd_11.c)18
-rw-r--r--arm9/src/scrcmd_coins.c6
-rw-r--r--arm9/src/scrcmd_daycare.c10
-rw-r--r--arm9/src/scrcmd_flags.c48
-rw-r--r--arm9/src/scrcmd_fossils.c (renamed from arm9/src/scrcmd_19.c)38
-rw-r--r--arm9/src/scrcmd_money.c6
-rw-r--r--arm9/src/scrcmd_names.c18
-rw-r--r--arm9/src/scrcmd_prizes.c36
-rw-r--r--arm9/src/scrcmd_sound.c38
-rw-r--r--arm9/src/scrcmd_underground.c (renamed from arm9/src/scrcmd_23.c)32
-rw-r--r--arm9/src/script_buffers.c6
-rw-r--r--arm9/src/text.c4
-rw-r--r--arm9/src/unk_02016B94.c2
18 files changed, 513 insertions, 163 deletions
diff --git a/arm9/src/gf_gfx_loader.c b/arm9/src/gf_gfx_loader.c
new file mode 100644
index 00000000..769c90d9
--- /dev/null
+++ b/arm9/src/gf_gfx_loader.c
@@ -0,0 +1,349 @@
+#include "global.h"
+#include "filesystem.h"
+#include "NNS_g2d.h"
+#include "gf_gfx_loader.h"
+
+THUMB_FUNC u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct UnkStruct_02016B94_2 * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id)
+{
+ NNSG2dCharacterData * pCharData;
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberNo, isCompressed, heap_id, FALSE);
+ if (pFile != NULL)
+ {
+ if (NNS_G2dGetUnpackedBGCharacterData(pFile, &pCharData))
+ {
+ if (szByte == 0)
+ szByte = pCharData->szByte;
+ FUN_02017E14(unkStruct02016B94_2, (u8)a3, pCharData->pRawData, szByte, a4);
+ }
+ FreeToHeap(pFile);
+ }
+ return szByte;
+}
+
+THUMB_FUNC void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct UnkStruct_02016B94_2 * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id)
+{
+ NNSG2dScreenData * pScreenData;
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberNo, isCompressed, heap_id, TRUE);
+ if (pFile != NULL)
+ {
+ if (NNS_G2dGetUnpackedScreenData(pFile, &pScreenData))
+ {
+ if (szByte == 0)
+ szByte = pScreenData->szByte;
+ if (FUN_0201886C(unkStruct02016B94_2, (u8)a3) != NULL)
+ FUN_02017DFC(unkStruct02016B94_2, (u8)a3, pScreenData->rawData, szByte);
+ FUN_02017CE8(unkStruct02016B94_2, (u8)a3, pScreenData->rawData, szByte, a4);
+ }
+ FreeToHeap(pFile);
+ }
+}
+
+THUMB_FUNC void GfGfxLoader_GXLoadPal(NarcId narcId, s32 memberNo, u32 whichRoutine, u32 baseAddr, u32 szByte, u32 heap_id)
+{
+ GfGfxLoader_GXLoadPalWithSrcOffset(narcId, memberNo, whichRoutine, 0, baseAddr, szByte, heap_id);
+}
+
+THUMB_FUNC void GfGfxLoader_GXLoadPalWithSrcOffset(NarcId narcId, s32 memberNo, u32 whichRoutine, u32 srcOffset, u32 baseAddr, u32 szByte, u32 heap_id)
+{
+ static void (*const load_funcs[])(void *, u32, u32) = {
+ GX_LoadBGPltt,
+ GX_LoadOBJPltt,
+ GX_LoadBGExtPltt,
+ GX_LoadOBJExtPltt,
+ GXS_LoadBGPltt,
+ GXS_LoadOBJPltt,
+ GXS_LoadBGExtPltt,
+ GXS_LoadOBJExtPltt
+ };
+ NNSG2dPaletteData * pPltData;
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberNo, FALSE, heap_id, TRUE);
+ if (pFile != NULL)
+ {
+ if (NNS_G2dGetUnpackedPaletteData(pFile, &pPltData))
+ {
+ pPltData->pRawData = (void *)((u32)pPltData->pRawData + srcOffset);
+ if (szByte == 0)
+ szByte = pPltData->szByte - srcOffset;
+ DC_FlushRange(pPltData->pRawData, szByte);
+ switch (whichRoutine)
+ {
+ case 2:
+ GX_BeginLoadBGExtPltt();
+ load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte);
+ GX_EndLoadBGExtPltt();
+ break;
+ case 6:
+ GXS_BeginLoadBGExtPltt();
+ load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte);
+ GXS_EndLoadBGExtPltt();
+ break;
+ case 3:
+ GX_BeginLoadOBJExtPltt();
+ load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte);
+ GX_EndLoadOBJExtPltt();
+ break;
+ case 7:
+ GXS_BeginLoadOBJExtPltt();
+ load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte);
+ GXS_EndLoadOBJExtPltt();
+ break;
+ default:
+ load_funcs[whichRoutine](pPltData->pRawData, baseAddr, szByte);
+ break;
+ }
+ }
+ FreeToHeap(pFile);
+ }
+}
+
+THUMB_FUNC u32 GfGfxLoader_LoadWholePalette(NarcId narcId, s32 memberId, u32 whichRoutine, u32 baseAddr, u32 szByte, BOOL isCompressed, u32 heap_id)
+{
+ static void (*const load_funcs[])(void *, u32, u32) = {
+ GX_LoadOBJ,
+ GXS_LoadOBJ
+ };
+
+ NNSG2dCharacterData* pCharData;
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberId, isCompressed, heap_id, TRUE);
+ if (pFile != NULL)
+ {
+ if (NNS_G2dGetUnpackedCharacterData(pFile, &pCharData))
+ {
+ if (szByte == 0)
+ szByte = pCharData->szByte;
+ DC_FlushRange(pCharData->pRawData, szByte);
+ load_funcs[whichRoutine](pCharData->pRawData, baseAddr, szByte);
+ }
+ FreeToHeap(pFile);
+ }
+ return szByte;
+}
+
+THUMB_FUNC void GfGfxLoader_PartiallyLoadPalette(NarcId narcId, s32 memberId, NNS_G2D_VRAM_TYPE vramType, u32 baseAddr, u32 heap_id, NNSG2dImagePaletteProxy * pPltProxy)
+{
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberId, FALSE, heap_id, TRUE);
+ NNSG2dPaletteData* pPlttData;
+ NNSG2dPaletteCompressInfo* pCompressInfo;
+ if (pFile != NULL)
+ {
+ BOOL isCompressed = NNS_G2dGetUnpackedPaletteCompressInfo(pFile, &pCompressInfo);
+ if (NNS_G2dGetUnpackedPaletteData(pFile, &pPlttData))
+ {
+ if (isCompressed)
+ {
+ NNS_G2dLoadPaletteEx(pPlttData, pCompressInfo, baseAddr, vramType, pPltProxy);
+ }
+ else
+ {
+ NNS_G2dLoadPalette(pPlttData, baseAddr, vramType, pPltProxy);
+ }
+ }
+ FreeToHeap(pFile);
+ }
+}
+
+THUMB_FUNC u32 GfGfxLoader_LoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 whichRoutine, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy *pImgProxy)
+{
+ static void (*const load_funcs[])(const NNSG2dCharacterData *, u32, NNS_G2D_VRAM_TYPE, NNSG2dImageProxy *) = {
+ NNS_G2dLoadImage1DMapping,
+ NNS_G2dLoadImage2DMapping
+ };
+
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberId, isCompressed, heap_id, TRUE);
+ u32 retSize = 0;
+ NNSG2dCharacterData * pSrcData;
+ if (pFile != NULL)
+ {
+ if (NNS_G2dGetUnpackedCharacterData(pFile, &pSrcData))
+ {
+ if (szByte != 0)
+ pSrcData->szByte = szByte;
+ load_funcs[whichRoutine](pSrcData, baseAddr, type, pImgProxy);
+ retSize = pSrcData->szByte;
+ }
+ FreeToHeap(pFile);
+ }
+ return retSize;
+}
+
+THUMB_FUNC void GfGfxLoader_SetObjCntFlagsAndLoadImageMapping(NarcId narcId, s32 memberId, BOOL isCompressed, u32 whichRoutine, u32 szByte, NNS_G2D_VRAM_TYPE type, u32 baseAddr, u32 heap_id, NNSG2dImageProxy * pImageProxy)
+{
+ static void (*const load_funcs[])(const NNSG2dCharacterData *, u32, NNS_G2D_VRAM_TYPE, NNSG2dImageProxy *) = {
+ NNS_G2dLoadImage1DMapping,
+ NNS_G2dLoadImage2DMapping
+ };
+ NNSG2dCharacterData * pCharacterData;
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberId, isCompressed, heap_id, TRUE);
+ if (pFile != NULL)
+ {
+ if (NNS_G2dGetUnpackedCharacterData(pFile, &pCharacterData))
+ {
+ if (szByte != 0)
+ pCharacterData->szByte = szByte;
+ switch (type)
+ {
+ case NNS_G2D_VRAM_TYPE_2DMAIN:
+ pCharacterData->mapingType = (GXOBJVRamModeChar)(reg_GX_DISPCNT & (REG_GX_DISPCNT_EXOBJ_CH_MASK | REG_GX_DISPCNT_OBJMAP_CH_MASK));
+ break;
+ case NNS_G2D_VRAM_TYPE_2DSUB:
+ pCharacterData->mapingType = (GXOBJVRamModeChar)(reg_GXS_DB_DISPCNT & (REG_GXS_DB_DISPCNT_EXOBJ_MASK | REG_GXS_DB_DISPCNT_OBJMAP_CH_MASK));
+ break;
+ default:
+ ;
+ }
+ load_funcs[whichRoutine](pCharacterData, baseAddr, type, pImageProxy);
+ }
+ FreeToHeap(pFile);
+ }
+}
+
+THUMB_FUNC void * GfGfxLoader_GetCharData(NarcId narcId, s32 memberId, BOOL isCompressed, NNSG2dCharacterData ** ppCharData, u32 heap_id)
+{
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberId, isCompressed, heap_id, FALSE);
+ if (pFile != NULL)
+ {
+ if (!NNS_G2dGetUnpackedBGCharacterData(pFile, ppCharData))
+ {
+ FreeToHeap(pFile);
+ return NULL;
+ }
+ }
+ return pFile;
+}
+
+THUMB_FUNC void * GfGfxLoader_GetScrnData(NarcId narcId, s32 memberId, BOOL isCompressed, NNSG2dScreenData ** ppScrData, u32 heap_id)
+{
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberId, isCompressed, heap_id, FALSE);
+ if (pFile != NULL)
+ {
+ if (!NNS_G2dGetUnpackedScreenData(pFile, ppScrData))
+ {
+ FreeToHeap(pFile);
+ return NULL;
+ }
+ }
+ return pFile;
+}
+
+THUMB_FUNC void * GfGfxLoader_GetPlttData(NarcId narcId, s32 memberId, NNSG2dPaletteData ** ppPltData, u32 heap_id)
+{
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberId, FALSE, heap_id, FALSE);
+ if (pFile != NULL)
+ {
+ if (!NNS_G2dGetUnpackedPaletteData(pFile, ppPltData))
+ {
+ FreeToHeap(pFile);
+ return NULL;
+ }
+ }
+ return pFile;
+}
+
+THUMB_FUNC void * GfGfxLoader_GetCellBank(NarcId narcId, s32 memberId, BOOL isCompressed, NNSG2dCellDataBank ** ppCellBank, u32 heap_id)
+{
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberId, isCompressed, heap_id, FALSE);
+ if (pFile != NULL)
+ {
+ if (!NNS_G2dGetUnpackedCellBank(pFile, ppCellBank))
+ {
+ FreeToHeap(pFile);
+ return NULL;
+ }
+ }
+ return pFile;
+}
+
+THUMB_FUNC void * GfGfxLoader_GetAnimBank(NarcId narcId, s32 memberId, BOOL isCompressed, NNSG2dAnimBankData ** ppAnimBank, u32 heap_id)
+{
+ void * pFile = GfGfxLoader_LoadFromNarc(narcId, memberId, isCompressed, heap_id, FALSE);
+ if (pFile != NULL)
+ {
+ if (!NNS_G2dGetUnpackedAnimBank(pFile, ppAnimBank))
+ {
+ FreeToHeap(pFile);
+ return NULL;
+ }
+ }
+ return pFile;
+}
+
+THUMB_FUNC void * GfGfxLoader_UncompressFromNarc(NarcId narcId, s32 memberId, u32 heap_id)
+{
+ return GfGfxLoader_LoadFromNarc(narcId, memberId, TRUE, heap_id, FALSE);
+}
+
+THUMB_FUNC void * GfGfxLoader_LoadFromNarc(NarcId narcId, s32 memberNo, BOOL isCompressed, u32 heap_id, BOOL allocAtEnd)
+{
+ void * dest;
+ void * dest2;
+ if (isCompressed || allocAtEnd == TRUE)
+ {
+ u32 size = GetNarcMemberSizeByIdPair(narcId, memberNo);
+ dest = AllocFromHeapAtEnd(heap_id, size);
+ }
+ else
+ {
+ u32 size = GetNarcMemberSizeByIdPair(narcId, memberNo);
+ dest = AllocFromHeap(heap_id, size);
+ }
+ if (dest != NULL)
+ {
+ ReadWholeNarcMemberByIdPair(dest, narcId, memberNo);
+ if (isCompressed)
+ {
+ if (allocAtEnd == FALSE)
+ {
+ dest2 = AllocFromHeap(heap_id, (*(u32 *)dest) >> 8);
+ }
+ else
+ {
+ dest2 = AllocFromHeapAtEnd(heap_id, (*(u32 *)dest) >> 8);
+ }
+ if (dest2 != NULL)
+ {
+ MI_UncompressLZ8(dest, dest2);
+ FreeToHeap(dest);
+ }
+ dest = dest2; // UB: if dest2 is NULL, dest is never freed
+ }
+ }
+ return dest;
+}
+
+THUMB_FUNC void * GfGfxLoader_LoadFromNarc_GetSizeOut(NarcId narcId, s32 memberNo, BOOL isCompressed, u32 heap_id, BOOL allocAtEnd, u32 *size_p)
+{
+ void * dest;
+ void * dest2;
+ *size_p = GetNarcMemberSizeByIdPair(narcId, memberNo);
+ if (isCompressed || allocAtEnd == TRUE)
+ {
+ dest = AllocFromHeapAtEnd(heap_id, *size_p);
+ }
+ else
+ {
+ dest = AllocFromHeap(heap_id, *size_p);
+ }
+ if (dest != NULL)
+ {
+ ReadWholeNarcMemberByIdPair(dest, narcId, memberNo);
+ if (isCompressed)
+ {
+ *size_p = (*(u32 *)dest) >> 8;
+ if (allocAtEnd == FALSE)
+ {
+ dest2 = AllocFromHeap(heap_id, *size_p);
+ }
+ else
+ {
+ dest2 = AllocFromHeapAtEnd(heap_id, *size_p);
+ }
+ if (dest2 != NULL)
+ {
+ MI_UncompressLZ8(dest, dest2);
+ FreeToHeap(dest);
+ }
+ dest = dest2; // UB: if dest2 is NULL, dest is never freed
+ }
+ }
+ return dest;
+}
diff --git a/arm9/src/main.c b/arm9/src/main.c
index 7a8a14d8..749bec41 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -16,7 +16,6 @@
#include "unk_0202F150.h"
#include "module_52.h"
-
FS_EXTERN_OVERLAY(MODULE_52);
FS_EXTERN_OVERLAY(MODULE_63);
diff --git a/arm9/src/scrcmd.c b/arm9/src/scrcmd.c
index 75ddbc8e..7adb1fe8 100644
--- a/arm9/src/scrcmd.c
+++ b/arm9/src/scrcmd.c
@@ -578,7 +578,7 @@ THUMB_FUNC BOOL ScrCmd_Unk01FF(struct ScriptContext *ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk026D(struct ScriptContext *ctx) //message unown font?
+THUMB_FUNC BOOL ScrCmd_MessageUnown(struct ScriptContext *ctx)
{
struct UnkStruct_0203A288 myLocalStruct;
u16 msg = ScriptReadHalfword(ctx);
@@ -743,7 +743,7 @@ THUMB_FUNC static BOOL FUN_0203A4E0(struct ScriptContext *ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0032(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_WaitButtonABPad(struct ScriptContext *ctx)
{
SetupNativeScript(ctx, FUN_0203A570);
return TRUE;
@@ -773,7 +773,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0033(struct ScriptContext *ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0034(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_CloseMessageBox(struct ScriptContext* ctx)
{
struct UnkSavStruct80 *unk80 = ctx->unk80;
struct Window *unk = FUN_02039438(unk80, 0x1);
@@ -1302,7 +1302,7 @@ THUMB_FUNC BOOL ScrCmd_Unk02D0(struct ScriptContext *ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk005E(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_Unk005E(struct ScriptContext *ctx) //ApplyMovement?
{
u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u32 unk2 = ScriptReadWord(ctx);
diff --git a/arm9/src/scrcmd_20.c b/arm9/src/scrcmd_20.c
deleted file mode 100644
index 882126a0..00000000
--- a/arm9/src/scrcmd_20.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "scrcmd.h"
-
-const u16 UNK_020F452A[19][2] = {
- { 0x00FB, 0x03E8 },
- { 0x0109, 0x03E8 },
- { 0x0114, 0x03E8 },
- { 0x0115, 0x03E8 },
- { 0x01A1, 0x07D0 },
- { 0x0181, 0x07D0 },
- { 0x0192, 0x0FA0 },
- { 0x0167, 0x0FA0 },
- { 0x0173, 0x1770 },
- { 0x01A0, 0x1770 },
- { 0x0151, 0x1770 },
- { 0x0162, 0x1F40 },
- { 0x015C, 0x1F40 },
- { 0x016A, 0x2710 },
- { 0x015F, 0x2710 },
- { 0x0154, 0x2710 },
- { 0x0164, 0x2710 },
- { 0x0191, 0x3A98 },
- { 0x018B, 0x4E20 },
-};
-
-THUMB_FUNC BOOL ScrCmd_Unk02A6(struct ScriptContext * ctx)
-{
- u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
- u16 * ret_ptr1 = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
- u16 * ret_ptr2 = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
-
- *ret_ptr1 = UNK_020F452A[idx][0];
- *ret_ptr2 = UNK_020F452A[idx][1];
-
- return FALSE;
-}
diff --git a/arm9/src/scrcmd_8.c b/arm9/src/scrcmd_8.c
index ba35b302..0c47594b 100644
--- a/arm9/src/scrcmd_8.c
+++ b/arm9/src/scrcmd_8.c
@@ -8,51 +8,52 @@ extern void FUN_020385CC(struct UnkStruct_0204639C*, u32, u32, u32, u32, u16*, u
extern BOOL FUN_020612EC(struct UnkSavStruct80*);
extern BOOL FUN_020612F8(struct UnkSavStruct80*);
-THUMB_FUNC BOOL ScrCmd_Unk021D(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_Unk021D(struct ScriptContext* ctx) //docs has this command as ScrCmd_Group, with a comment saying
+ //"This command is the devil"
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
struct UnkSaveStruct_020286F8* unk_sav_ptr = FUN_0202881C(ctx->unk80->saveBlock2);
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
- u16 unk = ScriptReadHalfword(ctx);
- switch (unk)
+ u16 option = ScriptReadHalfword(ctx);
+ switch (option)
{
- case 0: {
+ case 0: { //check if group ID exists
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_02028828(unk_sav_ptr, unk_var);
return FALSE;
}
- case 1: {
+ case 1: { //check if group ID is accessible
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_02028840(unk_sav_ptr, unk_var);
return FALSE;
}
- case 2: {
+ case 2: { //writes group ID to string buffer
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
BufferEasyChatWord(*mgr, sav2, unk_var, idx, 0);
break;
}
- case 3: {
+ case 3: { //writes group leader name to string buffer
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
BufferEasyChatWord(*mgr, sav2, unk_var, idx, 1);
break;
}
- case 4: {
+ case 4: { //opens keyboard, 2 if group id exists, 1 if cancel, 0 otherwise
u16* unk_str_ptr = FUN_020287A8(unk_sav_ptr, 0, 0);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
FUN_020385CC(ctx->unk74, 5, 0, 7, 0, unk_str_ptr, ret_ptr);
return TRUE;
}
- case 5: {
+ case 5: { //enter in group id (whatever this means, needs more investigation)
u16 src_idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
BOOL unk_bool = FUN_02028828(unk_sav_ptr, 1);
@@ -64,7 +65,7 @@ THUMB_FUNC BOOL ScrCmd_Unk021D(struct ScriptContext* ctx)
return FALSE;
}
- case 6: {
+ case 6: { //create a group
struct String* player_name = String_ctor(64, 32);
struct PlayerData* player = Sav2_PlayerData_GetProfileAddr(ctx->unk80->saveBlock2);
diff --git a/arm9/src/scrcmd_11.c b/arm9/src/scrcmd_berry_trees.c
index 8553adfa..53715ca1 100644
--- a/arm9/src/scrcmd_11.c
+++ b/arm9/src/scrcmd_berry_trees.c
@@ -16,7 +16,7 @@ extern void FUN_0204B5A8(struct UnkSavStruct80*, void*, u16);
extern void FUN_0204B9A0(struct UnkSavStruct80*);
extern void FUN_0204B4FC(struct UnkSavStruct80*, void*);
-THUMB_FUNC BOOL ScrCmd_Unk017D(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeGrowth(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
void** unk = FUN_02039438(ctx->unk80, 10);
@@ -26,7 +26,7 @@ THUMB_FUNC BOOL ScrCmd_Unk017D(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk017E(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeType(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -36,7 +36,7 @@ THUMB_FUNC BOOL ScrCmd_Unk017E(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk017F(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeMulch(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -46,7 +46,7 @@ THUMB_FUNC BOOL ScrCmd_Unk017F(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0180(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeWater(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -56,7 +56,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0180(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0181(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryTreeAmount(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -66,7 +66,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0181(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0182(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SetBerryTreeMulch(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
u16 unk2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -76,7 +76,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0182(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0183(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SetBerryTreeType(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
struct UnkStruct_02029FB0* unk2 = FUN_02029FC8(ctx->unk80->saveBlock2);
@@ -88,7 +88,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0183(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0184(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_Unk0184(struct ScriptContext* ctx) //SetBerryTreeWater/WaterBerryTree, or just the animation?
{
u16 unk = ScriptReadHalfword(ctx);
@@ -108,7 +108,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0184(struct ScriptContext* ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0185(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeBerryTreeBerries(struct ScriptContext* ctx)
{
struct UnkStruct_02029FB0* unk = FUN_02029FC8(ctx->unk80->saveBlock2);
void** unk2 = FUN_02039438(ctx->unk80, 10);
diff --git a/arm9/src/scrcmd_coins.c b/arm9/src/scrcmd_coins.c
index 59638c83..f4fea1de 100644
--- a/arm9/src/scrcmd_coins.c
+++ b/arm9/src/scrcmd_coins.c
@@ -7,7 +7,7 @@ extern u32 MOD05_021E2950(struct UnkSavStruct80* arg, u8, u8);
extern MOD05_021E29B4();
extern MOD05_021E29C8();
-THUMB_FUNC BOOL ScrCmd_Unk0075(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_ShowCoinBox(struct ScriptContext * ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
u32 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -20,7 +20,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0075(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0076(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_HideCoinBox(struct ScriptContext * ctx)
{
u16 ** unk = FUN_02039438(ctx->unk80, 0x26);
MOD05_021E29B4(*unk);
@@ -28,7 +28,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0076(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0077(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_UpdateCoinBox(struct ScriptContext * ctx)
{
u16 ** unk = FUN_02039438(ctx->unk80, 0x26);
MOD05_021E29C8(ctx->unk80, *unk);
diff --git a/arm9/src/scrcmd_daycare.c b/arm9/src/scrcmd_daycare.c
index 4e2f925e..34abab1e 100644
--- a/arm9/src/scrcmd_daycare.c
+++ b/arm9/src/scrcmd_daycare.c
@@ -17,7 +17,7 @@ extern u16 MOD05_021ED5C4(struct PlayerParty* party, int idx, struct ScrStrBufs*
extern u16 MOD05_021ED5EC(struct DayCare* daycare);
extern u32 MOD05_021ED644(struct DayCare* daycare);
-THUMB_FUNC BOOL ScrCmd_Unk016D(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetDaycarePokemonNames(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
@@ -28,7 +28,7 @@ THUMB_FUNC BOOL ScrCmd_Unk016D(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk016E(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetDaycareStatus(struct ScriptContext* ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
struct SaveBlock2* sav2 = sav_ptr->saveBlock2;
@@ -40,7 +40,7 @@ THUMB_FUNC BOOL ScrCmd_Unk016E(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01A8(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_DeleteDaycareEgg(struct ScriptContext* ctx)
{
struct DayCare* daycare = SavArray_get(ctx->unk80->saveBlock2, 8);
MOD05_021ECD64(daycare);
@@ -48,7 +48,7 @@ THUMB_FUNC BOOL ScrCmd_Unk01A8(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01A9(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveDaycareEgg(struct ScriptContext* ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
struct DayCare* daycare = SavArray_get(sav_ptr->saveBlock2, 8);
@@ -90,7 +90,7 @@ THUMB_FUNC BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01AE(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetDaycareLevel(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
diff --git a/arm9/src/scrcmd_flags.c b/arm9/src/scrcmd_flags.c
index c0f6a519..ee13ebc0 100644
--- a/arm9/src/scrcmd_flags.c
+++ b/arm9/src/scrcmd_flags.c
@@ -47,7 +47,7 @@ THUMB_FUNC BOOL ScrCmd_GiveSinnohDex(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0159(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasRunningShoes(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
void* unk_sav_ptr = FUN_02034E30(ctx->unk80->saveBlock2);
@@ -58,7 +58,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0159(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk015A(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveRunningShoes(struct ScriptContext* ctx)
{
void* unk_sav_ptr = FUN_02034E30(ctx->unk80->saveBlock2);
void* unk = FUN_02034E20(unk_sav_ptr);
@@ -91,7 +91,7 @@ THUMB_FUNC BOOL ScrCmd_GiveBadge(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk015E(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveBag(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
@@ -121,7 +121,7 @@ THUMB_FUNC BOOL ScrCmd_GetTotalEarnedBadges(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk015F(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasBag(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
@@ -186,7 +186,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0165(struct ScriptContext* ctx)
return 0;
}
-THUMB_FUNC BOOL ScrCmd_Unk0166(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_CheckGameCompleted(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
@@ -196,7 +196,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0166(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0167(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SetGameCompleted(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
@@ -205,21 +205,21 @@ THUMB_FUNC BOOL ScrCmd_Unk0167(struct ScriptContext* ctx)
return 0;
}
-THUMB_FUNC BOOL ScrCmd_Unk01CF(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetSetStrength(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
- u8 unk = ScriptReadByte(ctx);
+ u8 option = ScriptReadByte(ctx);
u16* ret_ptr;
- switch (unk)
+ switch (option)
{
- case 1:
+ case 1: //set strength to on
FUN_0205F264(state, 1);
break;
- case 0:
+ case 0: //set strength to off
FUN_0205F264(state, 0);
break;
- case 2:
+ case 2: //get whether strength is on or off
ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_0205F264(state, 2);
break;
@@ -231,21 +231,21 @@ THUMB_FUNC BOOL ScrCmd_Unk01CF(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01D0(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetSetFlash(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
- u8 unk = ScriptReadByte(ctx);
+ u8 option = ScriptReadByte(ctx);
u16* ret_ptr;
- switch (unk)
+ switch (option)
{
- case 1:
+ case 1: //set flash to on
FUN_0205F274(state);
break;
- case 0:
+ case 0: //set flash to off
FUN_0205F284(state);
break;
- case 2:
+ case 2: //get whether flash is on or off
ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_0205F294(state);
break;
@@ -257,21 +257,21 @@ THUMB_FUNC BOOL ScrCmd_Unk01D0(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01D1(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetSetDefog(struct ScriptContext* ctx)
{
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
- u8 unk = ScriptReadByte(ctx);
+ u8 option = ScriptReadByte(ctx);
u16* ret_ptr;
- switch (unk)
+ switch (option)
{
- case 1:
+ case 1: //set defog to on
FUN_0205F2A4(state);
break;
- case 0:
+ case 0: //set defog to off
FUN_0205F2B4(state);
break;
- case 2:
+ case 2: //get whether defog is on or off
ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = (u16)FUN_0205F2C4(state);
break;
diff --git a/arm9/src/scrcmd_19.c b/arm9/src/scrcmd_fossils.c
index b0a201b7..e4177382 100644
--- a/arm9/src/scrcmd_19.c
+++ b/arm9/src/scrcmd_fossils.c
@@ -1,45 +1,45 @@
#include "scrcmd.h"
#include "bag.h"
-const u16 UNK_020F450C[7][2] = {
- { 0x0067, 0x008E },
- { 0x0065, 0x008A },
- { 0x0066, 0x008C },
- { 0x0063, 0x0159 },
- { 0x0064, 0x015B },
- { 0x0068, 0x019A },
- { 0x0069, 0x0198 },
+const u16 gFossilPokemonMap[7][2] = {
+ { ITEM_OLD_AMBER, SPECIES_AERODACTYL },
+ { ITEM_HELIX_FOSSIL, SPECIES_OMANYTE },
+ { ITEM_DOME_FOSSIL, SPECIES_KABUTO },
+ { ITEM_ROOT_FOSSIL, SPECIES_LILEEP },
+ { ITEM_CLAW_FOSSIL, SPECIES_ANORITH },
+ { ITEM_ARMOR_FOSSIL, SPECIES_SHIELDON },
+ { ITEM_SKULL_FOSSIL, SPECIES_CRANIDOS },
};
-THUMB_FUNC BOOL ScrCmd_Unk01F1(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_CountFossils(struct ScriptContext * ctx)
{
struct UnkSavStruct80 * sav_ptr = ctx->unk80;
- u16 * ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
+ u16 *ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
u8 i;
u16 total;
for (i = 0, total = 0; i < 7; i++)
{
- total += Bag_GetQuantity(Sav2_Bag_get(sav_ptr->saveBlock2), UNK_020F450C[i][0], 4);
+ total += Bag_GetQuantity(Sav2_Bag_get(sav_ptr->saveBlock2), gFossilPokemonMap[i][0], 4);
}
*ret_ptr = total;
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01F4(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_GetFossilPokemon(struct ScriptContext * ctx)
{
- u16 * ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
- u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
+ u16 *ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
+ u16 fossilId = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
*ret_ptr = 0;
for (u16 i = 0; i < 7; i++)
{
- if (UNK_020F450C[i][0] == unk)
+ if (gFossilPokemonMap[i][0] == fossilId)
{
- *ret_ptr = UNK_020F450C[i][1];
+ *ret_ptr = gFossilPokemonMap[i][1];
break;
}
}
@@ -47,7 +47,7 @@ THUMB_FUNC BOOL ScrCmd_Unk01F4(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk01F5(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_GetFossilMinimumAmount(struct ScriptContext * ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
u16 * ret_ptr1 = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -61,10 +61,10 @@ THUMB_FUNC BOOL ScrCmd_Unk01F5(struct ScriptContext * ctx)
u16 total = 0;
for (; i < 7; i++)
{
- total += Bag_GetQuantity(Sav2_Bag_get(sav_ptr->saveBlock2), UNK_020F450C[i][0], 4);
+ total += Bag_GetQuantity(Sav2_Bag_get(sav_ptr->saveBlock2), gFossilPokemonMap[i][0], 4);
if (total >= needed_amount)
{
- *ret_ptr1 = UNK_020F450C[i][0];
+ *ret_ptr1 = gFossilPokemonMap[i][0];
*ret_ptr2 = i;
break;
}
diff --git a/arm9/src/scrcmd_money.c b/arm9/src/scrcmd_money.c
index d2254844..6f18d65d 100644
--- a/arm9/src/scrcmd_money.c
+++ b/arm9/src/scrcmd_money.c
@@ -82,7 +82,7 @@ THUMB_FUNC BOOL ScrCmd_HasEnoughMoneyAddress(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0072(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_ShowMoneyBox(struct ScriptContext * ctx)
{
struct UnkSavStruct80 * sav_ptr = ctx->unk80;
u32 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -94,7 +94,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0072(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0073(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_HideMoneyBox(struct ScriptContext * ctx)
{
u32 ** unk = FUN_02039438(ctx->unk80, 0x27);
MOD05_021E288C(*unk);
@@ -102,7 +102,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0073(struct ScriptContext * ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0074(struct ScriptContext * ctx)
+THUMB_FUNC BOOL ScrCmd_UpdateMoneyBox(struct ScriptContext * ctx)
{
u32 ** unk = FUN_02039438(ctx->unk80, 0x27);
MOD05_021E28A0(ctx->unk80, *unk);
diff --git a/arm9/src/scrcmd_names.c b/arm9/src/scrcmd_names.c
index cf721328..ec1d8c92 100644
--- a/arm9/src/scrcmd_names.c
+++ b/arm9/src/scrcmd_names.c
@@ -53,7 +53,7 @@ THUMB_FUNC BOOL ScrCmd_GetFriendName(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00D0(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetPokemonName(struct ScriptContext* ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
struct ScrStrBufs** mgr = FUN_02039438(sav_ptr, 15);
@@ -145,7 +145,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0280(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00D6(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetPokemonNickname(struct ScriptContext* ctx)
{
struct UnkSavStruct80* sav_ptr = ctx->unk80;
struct ScrStrBufs** mgr = FUN_02039438(sav_ptr, 15);
@@ -237,7 +237,7 @@ THUMB_FUNC struct String* FUN_02040AE4(u32 msg_no, u32 heap_id)
return ret;
}
-THUMB_FUNC BOOL ScrCmd_Unk00DB(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetPlayerStarterName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -251,7 +251,7 @@ THUMB_FUNC BOOL ScrCmd_Unk00DB(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00DC(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetRivalStarterName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -265,7 +265,7 @@ THUMB_FUNC BOOL ScrCmd_Unk00DC(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00DD(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetCounterpartStarterName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -312,7 +312,7 @@ THUMB_FUNC BOOL ScrCmd_GetUndergroundItemName(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk00E2(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetMapName(struct ScriptContext* ctx)
{
struct String* str = String_ctor(22, 4);
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
@@ -326,7 +326,7 @@ THUMB_FUNC BOOL ScrCmd_Unk00E2(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk017B(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetBerryName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -362,7 +362,7 @@ THUMB_FUNC BOOL ScrCmd_GetFashionName(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0272(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetWhiteRockInscription(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
@@ -393,7 +393,7 @@ THUMB_FUNC BOOL ScrCmd_GetPokemonMoveName(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0232(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetRibbonName(struct ScriptContext* ctx)
{
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
u8 idx = ScriptReadByte(ctx);
diff --git a/arm9/src/scrcmd_prizes.c b/arm9/src/scrcmd_prizes.c
new file mode 100644
index 00000000..9a6cde41
--- /dev/null
+++ b/arm9/src/scrcmd_prizes.c
@@ -0,0 +1,36 @@
+#include "scrcmd.h"
+#include "constants/items.h"
+
+const u16 gGameCornerPrizes[19][2] = {
+ { ITEM_SILK_SCARF, 1000 },
+ { ITEM_WIDE_LENS, 1000 },
+ { ITEM_ZOOM_LENS, 1000 },
+ { ITEM_METRONOME, 1000 },
+ { ITEM_TM90, 2000 },
+ { ITEM_TM58, 2000 },
+ { ITEM_TM75, 4000 },
+ { ITEM_TM32, 4000 },
+ { ITEM_TM44, 6000 },
+ { ITEM_TM89, 6000 },
+ { ITEM_TM10, 6000 },
+ { ITEM_TM27, 8000 },
+ { ITEM_TM21, 8000 },
+ { ITEM_TM35, 10000 },
+ { ITEM_TM24, 10000 },
+ { ITEM_TM13, 10000 },
+ { ITEM_TM29, 10000 },
+ { ITEM_TM74, 15000 },
+ { ITEM_TM68, 20000 },
+};
+
+THUMB_FUNC BOOL ScrCmd_GetPrizeItemIdAndCost(struct ScriptContext* ctx)
+{
+ u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
+ u16* prize_item_id = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
+ u16* prize_cost_in_coins = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
+
+ *prize_item_id = gGameCornerPrizes[idx][0];
+ *prize_cost_in_coins = gGameCornerPrizes[idx][1];
+
+ return FALSE;
+}
diff --git a/arm9/src/scrcmd_sound.c b/arm9/src/scrcmd_sound.c
index df611ec7..ec5ab7f8 100644
--- a/arm9/src/scrcmd_sound.c
+++ b/arm9/src/scrcmd_sound.c
@@ -7,7 +7,7 @@ extern void FUN_0200433C(u32, u32, u32);
extern u32 FUN_02005E28(void);
extern void FUN_02005E64(void);
extern BOOL FUN_02005CBC(void);
-extern void PlayBGM(u16);
+extern void PlaySound(u16);
extern u32 FUN_02004124(u16);
extern void FUN_0204AB20(struct UnkSavStruct80 *ctx, u16);
extern u16 FUN_0204ABA8(struct UnkSavStruct80 *ctx, u32);
@@ -38,33 +38,33 @@ THUMB_FUNC BOOL ScrCmd_Unk02AE(struct ScriptContext *ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0050(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_PlayBgm(struct ScriptContext *ctx)
{
FUN_0200521C(ScriptReadHalfword(ctx));
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0051(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_StopBgm(struct ScriptContext *ctx)
{
u32 unk0 = FUN_02004124(ScriptReadHalfword(ctx));
FUN_02005350(unk0, 0);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0052(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_PlayDefaultBgm(struct ScriptContext *ctx)
{
u16 unk0 = FUN_0204ABA8(ctx->unk80, *ctx->unk80->mapId);
FUN_0200521C(unk0);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0053(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_Unk0053(struct ScriptContext *ctx) //Special BGM?
{
FUN_0204AB20(ctx->unk80, ScriptReadHalfword(ctx));
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0054(struct ScriptContext *ctx)
+THUMB_FUNC BOOL ScrCmd_FadeOutBgm(struct ScriptContext *ctx)
{
u16 unk1 = ScriptReadHalfword(ctx);
u16 unk2 = ScriptReadHalfword(ctx);
@@ -85,7 +85,7 @@ THUMB_FUNC BOOL FUN_02041464(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0055(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_FadeInBgm(struct ScriptContext* ctx)
{
u16 unk = ScriptReadHalfword(ctx);
@@ -120,21 +120,21 @@ THUMB_FUNC BOOL ScrCmd_Unk0058(struct ScriptContext* ctx)
}
-THUMB_FUNC BOOL ScrCmd_Unk0049(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlayFanfare(struct ScriptContext* ctx)
{
u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
FUN_020054C8(unk);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk004A(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_StopFanfare(struct ScriptContext* ctx)
{
u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
FUN_020054F0(unk, 0);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk004B(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlayFanfareWait(struct ScriptContext* ctx)
{
u16 unk = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -152,7 +152,7 @@ THUMB_FUNC BOOL FUN_02041540(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk004C(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlayCry(struct ScriptContext* ctx)
{
u16 unk0 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -176,15 +176,15 @@ THUMB_FUNC BOOL FUN_02041598(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_PlayBgm(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlaySound(struct ScriptContext* ctx)
{
u16 bgm_id = ScriptReadHalfword(ctx);
- PlayBGM(bgm_id);
+ PlaySound(bgm_id);
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk004F(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_PlaySoundWait(struct ScriptContext* ctx)
{
SetupNativeScript(ctx, FUN_020415CC);
return TRUE;
@@ -199,7 +199,7 @@ THUMB_FUNC BOOL FUN_020415CC(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0059(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_CheckChatotCry(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -216,7 +216,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0059(struct ScriptContext* ctx)
}
}
-THUMB_FUNC BOOL ScrCmd_Unk005A(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_StartChatotRecord(struct ScriptContext* ctx)
{
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
@@ -232,14 +232,14 @@ THUMB_FUNC BOOL ScrCmd_Unk005A(struct ScriptContext* ctx)
}
}
-THUMB_FUNC BOOL ScrCmd_Unk005B(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_StopChatotRecord(struct ScriptContext* ctx)
{
#pragma unused(ctx)
FUN_02005E64();
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk005C(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SaveChatotCry(struct ScriptContext* ctx)
{
void* unk = Sav2_Chatot_get(ctx->unk80->saveBlock2);
FUN_02005E6C(unk);
@@ -254,7 +254,7 @@ THUMB_FUNC BOOL ScrCmd_Unk005D(struct ScriptContext* ctx)
return TRUE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0283(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_SetVolume(struct ScriptContext* ctx)
{
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unk2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
diff --git a/arm9/src/scrcmd_23.c b/arm9/src/scrcmd_underground.c
index 0c9907a5..5d273c9b 100644
--- a/arm9/src/scrcmd_23.c
+++ b/arm9/src/scrcmd_underground.c
@@ -6,7 +6,7 @@ extern BOOL FUN_02026298(void*, u16);
extern void* FUN_02026CC4(struct SaveBlock2* sav2);
extern BOOL FUN_020260C4(void*, u16, u16);
-THUMB_FUNC BOOL ScrCmd_Unk0083(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveSecretBaseDecoration(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -19,7 +19,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0083(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0084(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeSecretBaseDecoration(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -28,7 +28,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0084(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0085(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasSpaceForDecoration(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -41,7 +41,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0085(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0086(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetDecorationCount(struct ScriptContext* ctx) //somewhat unsure on name, was originally CheckGoods
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -50,7 +50,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0086(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0087(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveUndergroundTrap(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -63,7 +63,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0087(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0088(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeUndergroundTrap(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -72,7 +72,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0088(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0089(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasSpaceForTrap(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -81,7 +81,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0089(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008A(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetTrapCount(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -90,7 +90,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008A(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008B(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveTreasure(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -101,7 +101,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008B(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008C(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeTreasure(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -110,7 +110,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008C(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008D(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasSpaceForTreasure(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -119,7 +119,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008D(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008E(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetTreasureCount(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -128,7 +128,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008E(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk008F(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GiveUndergroundSphere(struct ScriptContext* ctx)
{
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
u16 unk1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -141,7 +141,7 @@ THUMB_FUNC BOOL ScrCmd_Unk008F(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0090(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_TakeUndergroundSphere(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -150,7 +150,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0090(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0091(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_HasSpaceForSphere(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
@@ -159,7 +159,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0091(struct ScriptContext* ctx)
return FALSE;
}
-THUMB_FUNC BOOL ScrCmd_Unk0092(struct ScriptContext* ctx)
+THUMB_FUNC BOOL ScrCmd_GetSphereCount(struct ScriptContext* ctx)
{
u16 unused1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
u16 unused2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
diff --git a/arm9/src/script_buffers.c b/arm9/src/script_buffers.c
index 596056b1..1242d550 100644
--- a/arm9/src/script_buffers.c
+++ b/arm9/src/script_buffers.c
@@ -20,8 +20,8 @@ extern u32 GetCityNamesMsgdataIdByCountry(u32);
extern void GetECWordIntoStringByIndex(u32 a0, struct String * a1);
extern void StringCat_HandleTrainerName(struct String * dest, const struct String * src);
extern void StrAddChar(struct String * str, u16 val);
-extern void * FUN_02006BB0(NarcId, s32, s32, struct UnkStruct_0200B870_sub **, u32);
-extern void * UncompressFromNarc(NarcId narcId, s32 memberNo, BOOL isCompressed, u32 heap_id, BOOL allocAtEnd);
+extern void * GfGfxLoader_GetCharData(NarcId, s32, s32, struct UnkStruct_0200B870_sub **, u32);
+extern void * GfGfxLoader_LoadFromNarc(NarcId narcId, s32 memberNo, BOOL isCompressed, u32 heap_id, BOOL allocAtEnd);
const u16 UNK_020ECE6C[][2] = {
{ 0x0140, 0x0008 },
@@ -751,7 +751,7 @@ struct UnkStruct_0200B870 * MessagePrinter_new(u32 r5, u32 r6, u32 sp4, u32 r4)
struct UnkStruct_0200B870 * sp8 = AllocFromHeap(r4, sizeof(struct UnkStruct_0200B870));
if (sp8 != NULL)
{
- sp8->unk_0 = FUN_02006BB0(NARC_GRAPHIC_FONT, 4, 1, &sp8->unk_4, r4);
+ sp8->unk_0 = GfGfxLoader_GetCharData(NARC_GRAPHIC_FONT, 4, 1, &sp8->unk_4, r4);
int i;
u8 * ptr = sp8->unk_4->unk_14;
for (i = 0; i < sp8->unk_4->unk_10; i++)
diff --git a/arm9/src/text.c b/arm9/src/text.c
index 8676cbcc..36349b8b 100644
--- a/arm9/src/text.c
+++ b/arm9/src/text.c
@@ -21,7 +21,7 @@ extern void FUN_0201C1A8(struct TextPrinter *printer);
extern u32 FontFunc(u8 fontId, struct TextPrinter *printer);
-extern void * FUN_02006BB0(NarcId, s32, s32, struct UnkStruct_0200B870_sub **, u32);
+extern void * GfGfxLoader_GetCharData(NarcId, s32, s32, struct UnkStruct_0200B870_sub **, u32);
THUMB_FUNC void SetFontsPointer(const struct FontInfo *fonts)
@@ -330,7 +330,7 @@ THUMB_FUNC u16 *FUN_0201C1B0(void)
{
void *res = AllocFromHeap(0, 32 * 24 * sizeof(u16));
struct UnkStruct_0200B870_sub * var;
- void *tmp = FUN_02006BB0(NARC_GRAPHIC_FONT, 5, 0, &var, 0);
+ void *tmp = GfGfxLoader_GetCharData(NARC_GRAPHIC_FONT, 5, 0, &var, 0);
MI_CpuCopy32(var->unk_14, res, 32 * 24 * sizeof(u16));
FreeToHeap(tmp);
return res;
diff --git a/arm9/src/unk_02016B94.c b/arm9/src/unk_02016B94.c
index e01b3133..6a9dd194 100644
--- a/arm9/src/unk_02016B94.c
+++ b/arm9/src/unk_02016B94.c
@@ -3361,7 +3361,7 @@ THUMB_FUNC u8 (*FUN_02018848(u8 *param0, u32 param1, u8 param2, u32 heap_id))[2]
return ptr;
}
-THUMB_FUNC void *FUN_0201886C(struct UnkStruct_02016B94_2 *param0, u32 param1)
+THUMB_FUNC void *FUN_0201886C(struct UnkStruct_02016B94_2 *param0, u8 param1)
{
return param0->unk08[param1].unk08;
}