diff options
author | Akira Akashi <rubenru09@aol.com> | 2021-03-30 20:43:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-30 20:43:07 +0100 |
commit | 3063fdd0e1f1cdfa7d5108a19ea4031009f71af0 (patch) | |
tree | d5e28c92f4f1ef74310c628f9403d46443c63866 | |
parent | 28f7626d24511428986ce9c47d29ecc28047b256 (diff) | |
parent | d415e2a4e3f6c45cb83df3393c9d3b7ba66d5054 (diff) |
Merge branch 'master' into master
-rw-r--r-- | arm9/arm9.lsf | 2 | ||||
-rw-r--r-- | arm9/asm/scrcmd_22.s | 220 | ||||
-rw-r--r-- | arm9/asm/unk_02025484.s | 41 | ||||
-rw-r--r-- | arm9/asm/unk_02038C78.s | 16 | ||||
-rw-r--r-- | arm9/global.inc | 24 | ||||
-rw-r--r-- | arm9/src/scrcmd.c | 2 | ||||
-rw-r--r-- | arm9/src/scrcmd_18_c.c | 2 | ||||
-rw-r--r-- | arm9/src/scrcmd_19.c | 3 | ||||
-rw-r--r-- | arm9/src/scrcmd_20.c | 3 | ||||
-rw-r--r-- | arm9/src/scrcmd_coins.c | 4 | ||||
-rw-r--r-- | arm9/src/scrcmd_items.c | 96 | ||||
-rw-r--r-- | arm9/src/scrcmd_money.c | 4 | ||||
-rw-r--r-- | arm9/src/unk_02025484.c | 27 | ||||
-rw-r--r-- | include/scrcmd.h | 14 | ||||
-rw-r--r-- | include/unk_02025484.h | 18 |
15 files changed, 176 insertions, 300 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 6066b7ca..05a905ee 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -174,7 +174,7 @@ Static arm9 Object scrcmd_19.o Object scrcmd_20.o Object scrcmd_21.o - Object scrcmd_22.o + Object scrcmd_items.o Object scrcmd_23.o Object scrcmd_24.o Object scrcmd_25.o diff --git a/arm9/asm/scrcmd_22.s b/arm9/asm/scrcmd_22.s deleted file mode 100644 index 1f354520..00000000 --- a/arm9/asm/scrcmd_22.s +++ /dev/null @@ -1,220 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - thumb_func_start FUN_02045784 -FUN_02045784: ; 0x02045784 - push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r6, r0, #0x0 - add r0, r4, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r7, r0, #0x0 - add r0, r4, #0x0 - bl ScriptReadHalfword - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl GetVarPointer - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl Sav2_Bag_get - add r1, r6, #0x0 - add r2, r7, #0x0 - mov r3, #0x4 - bl Bag_AddItem - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_020457DC -FUN_020457DC: ; 0x020457DC - push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r6, r0, #0x0 - add r0, r4, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r7, r0, #0x0 - add r0, r4, #0x0 - bl ScriptReadHalfword - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl GetVarPointer - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl Sav2_Bag_get - add r1, r6, #0x0 - add r2, r7, #0x0 - mov r3, #0x4 - bl Bag_TakeItem - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_02045834 -FUN_02045834: ; 0x02045834 - push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r6, r0, #0x0 - add r0, r4, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r7, r0, #0x0 - add r0, r4, #0x0 - bl ScriptReadHalfword - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl GetVarPointer - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl Sav2_Bag_get - add r1, r6, #0x0 - add r2, r7, #0x0 - mov r3, #0x4 - bl Bag_HasSpaceForItem - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_0204588C -FUN_0204588C: ; 0x0204588C - push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r6, r0, #0x0 - add r0, r4, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r7, r0, #0x0 - add r0, r4, #0x0 - bl ScriptReadHalfword - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl GetVarPointer - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl Sav2_Bag_get - add r1, r6, #0x0 - add r2, r7, #0x0 - mov r3, #0xb - bl Bag_HasItem - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_020458E4 -FUN_020458E4: ; 0x020458E4 - push {r3-r5, lr} - add r5, r0, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r4, r0, #0x0 - add r0, r5, #0x0 - bl ScriptReadHalfword - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl GetVarPointer - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02054CB0 - strh r0, [r5, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02045918 -FUN_02045918: ; 0x02045918 - push {r3-r5, lr} - add r5, r0, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r4, r0, #0x0 - add r0, r5, #0x0 - bl ScriptReadHalfword - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl GetVarPointer - add r5, r0, #0x0 - add r0, r4, #0x0 - mov r1, #0x5 - mov r2, #0xb - bl GetItemAttr - strh r0, [r5, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02045950 -FUN_02045950: ; 0x02045950 - mov r0, #0x0 - bx lr - - thumb_func_start FUN_02045954 -FUN_02045954: ; 0x02045954 - mov r0, #0x0 - bx lr diff --git a/arm9/asm/unk_02025484.s b/arm9/asm/unk_02025484.s deleted file mode 100644 index 5f869289..00000000 --- a/arm9/asm/unk_02025484.s +++ /dev/null @@ -1,41 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - thumb_func_start FUN_02025484 -FUN_02025484: ; 0x02025484 - ldr r3, _0202548C ; =MI_CpuFill8 - mov r1, #0x0 - mov r2, #0x24 - bx r3 - .balign 4 -_0202548C: .word MI_CpuFill8 - - thumb_func_start FUN_02025490 -FUN_02025490: ; 0x02025490 - push {r3-r5, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - bl FUN_02025484 - str r4, [r5, #0x0] - add r0, r5, #0x4 - pop {r3-r5, pc} - - thumb_func_start FUN_020254A0 -FUN_020254A0: ; 0x020254A0 - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, r1 - beq _020254AE - bl ErrorHandling -_020254AE: - add r0, r4, #0x4 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_020254B4 -FUN_020254B4: ; 0x020254B4 - ldr r0, [r0, #0x0] - bx lr diff --git a/arm9/asm/unk_02038C78.s b/arm9/asm/unk_02038C78.s index 57a1b801..4b80024a 100644 --- a/arm9/asm/unk_02038C78.s +++ b/arm9/asm/unk_02038C78.s @@ -272,14 +272,14 @@ gScriptCmdTable: ; 0x020F355C .word ScrCmd_GetCoins .word ScrCmd_GiveCoins .word ScrCmd_TakeCoinsImmediate - .word FUN_02045784 - .word FUN_020457DC - .word FUN_02045834 - .word FUN_0204588C - .word FUN_020458E4 - .word FUN_02045918 - .word FUN_02045950 - .word FUN_02045954 + .word ScrCmd_GiveItem + .word ScrCmd_TakeItem + .word ScrCmd_HasSpaceForItem + .word ScrCmd_HasItem + .word ScrCmd_ItemIdIsTMOrHM + .word ScrCmd_GetItemPocketId + .word ScrCmd_Unk0081 + .word ScrCmd_Unk0082 .word FUN_02045958 .word FUN_020459AC .word FUN_020459E8 diff --git a/arm9/global.inc b/arm9/global.inc index bfe823c3..d5d12155 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -1618,10 +1618,6 @@ .extern FUN_020252E8 .extern FUN_020252F4 .extern FUN_020253E0 -.extern FUN_02025484 -.extern FUN_02025490 -.extern FUN_020254A0 -.extern FUN_020254B4 .extern FUN_020254B8 .extern FUN_020254C0 .extern FUN_020254CC @@ -3382,14 +3378,14 @@ .extern FUN_02045678 .extern FUN_020456D4 .extern FUN_0204572C -.extern FUN_02045784 -.extern FUN_020457DC -.extern FUN_02045834 -.extern FUN_0204588C -.extern FUN_020458E4 -.extern FUN_02045918 -.extern FUN_02045950 -.extern FUN_02045954 +.extern ScrCmd_GiveItem +.extern ScrCmd_TakeItem +.extern ScrCmd_HasSpaceForItem +.extern ScrCmd_HasItem +.extern ScrCmd_ItemIdIsTMOrHM +.extern ScrCmd_GetItemPocketId +.extern ScrCmd_Unk0081 +.extern ScrCmd_Unk0082 .extern FUN_02045958 .extern FUN_020459AC .extern FUN_020459E8 @@ -8517,3 +8513,7 @@ .extern CARDi_InitCommon .extern MonNotFaintedOrEgg .extern CountAlivePokemon +.extern FUN_02025484 +.extern FUN_02025490 +.extern FUN_020254A0 +.extern FUN_020254B4 diff --git a/arm9/src/scrcmd.c b/arm9/src/scrcmd.c index 0b11ba0a..4ad17e51 100644 --- a/arm9/src/scrcmd.c +++ b/arm9/src/scrcmd.c @@ -5,8 +5,6 @@ #include "player_data.h" #include "text.h" -extern u16 *GetVarPointer(struct UnkSavStruct80* arg, u16); -extern u16 VarGet(struct UnkSavStruct80* arg, u16 wk); extern void *FUN_02039438(struct UnkSavStruct80* arg, u32 id); extern void *CreateScriptContext(struct UnkSavStruct80* arg, u16 id); extern u8 FUN_02058448(u32 param0); diff --git a/arm9/src/scrcmd_18_c.c b/arm9/src/scrcmd_18_c.c index c683bc8c..d4437c5f 100644 --- a/arm9/src/scrcmd_18_c.c +++ b/arm9/src/scrcmd_18_c.c @@ -6,8 +6,6 @@ #include "map_header.h"
#include "scrcmd.h"
-extern u16 VarGet(struct UnkSavStruct80* arg, u16 wk);
-extern u16 *GetVarPointer(struct UnkSavStruct80* arg, u16);
extern BOOL GiveMon(u32 heap_id, struct SaveBlock2 * sav2, u16 species, u8 level, u16 item, u32 mapSec, u8 encounterType);
THUMB_FUNC BOOL ScrCmd_GiveMon(struct ScriptContext* ctx)
diff --git a/arm9/src/scrcmd_19.c b/arm9/src/scrcmd_19.c index f0fb9b42..b0a201b7 100644 --- a/arm9/src/scrcmd_19.c +++ b/arm9/src/scrcmd_19.c @@ -1,9 +1,6 @@ #include "scrcmd.h" #include "bag.h" -extern u16 VarGet(struct UnkSavStruct80* arg, u16); -extern u16* GetVarPointer(struct UnkSavStruct80* arg, u16); - const u16 UNK_020F450C[7][2] = { { 0x0067, 0x008E }, { 0x0065, 0x008A }, diff --git a/arm9/src/scrcmd_20.c b/arm9/src/scrcmd_20.c index bf4fb7f1..882126a0 100644 --- a/arm9/src/scrcmd_20.c +++ b/arm9/src/scrcmd_20.c @@ -1,8 +1,5 @@ #include "scrcmd.h" -extern u16 VarGet(struct UnkSavStruct80* arg, u16); -extern u16* GetVarPointer(struct UnkSavStruct80* arg, u16); - const u16 UNK_020F452A[19][2] = { { 0x00FB, 0x03E8 }, { 0x0109, 0x03E8 }, diff --git a/arm9/src/scrcmd_coins.c b/arm9/src/scrcmd_coins.c index 5f7c4aa8..59638c83 100644 --- a/arm9/src/scrcmd_coins.c +++ b/arm9/src/scrcmd_coins.c @@ -1,10 +1,6 @@ #include "scrcmd.h" #include "coins.h" -extern u16 VarGet(struct UnkSavStruct80* arg, u16); -extern u16* GetVarPointer(struct UnkSavStruct80* arg, u16); -extern struct SaveBlock2 * ScriptEnvironment_GetSav2Ptr(struct UnkSavStruct80* unk); - extern void * FUN_02039438(struct UnkSavStruct80* arg, u8 idx); extern u32 MOD05_021E2950(struct UnkSavStruct80* arg, u8, u8); diff --git a/arm9/src/scrcmd_items.c b/arm9/src/scrcmd_items.c new file mode 100644 index 00000000..0184d02e --- /dev/null +++ b/arm9/src/scrcmd_items.c @@ -0,0 +1,96 @@ +#include "scrcmd.h" +#include "bag.h" + +extern BOOL FUN_02054CB0(u16 item_id); + +THUMB_FUNC BOOL ScrCmd_GiveItem(struct ScriptContext* ctx) +{ + struct UnkSavStruct80* sav_ptr = ctx->unk80; + + u16 item_id = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16 quantity = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16* item_was_added = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx)); + struct Bag* bag = Sav2_Bag_get(sav_ptr->saveBlock2); + + *item_was_added = (u16)Bag_AddItem(bag, item_id, quantity, 4); + + return FALSE; +} + +THUMB_FUNC BOOL ScrCmd_TakeItem(struct ScriptContext* ctx) +{ + struct UnkSavStruct80* sav_ptr = ctx->unk80; + + u16 item_id = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16 quantity = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16* item_was_taken = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx)); + struct Bag* bag = Sav2_Bag_get(sav_ptr->saveBlock2); + + *item_was_taken = (u16)Bag_TakeItem(bag, item_id, quantity, 4); + + return FALSE; +} + +THUMB_FUNC BOOL ScrCmd_HasSpaceForItem(struct ScriptContext* ctx) +{ + struct UnkSavStruct80* sav_ptr = ctx->unk80; + + u16 item_id = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16 quantity = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16* has_space = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx)); + struct Bag* bag = Sav2_Bag_get(sav_ptr->saveBlock2); + + *has_space = (u16)Bag_HasSpaceForItem(bag, item_id, quantity, 4); + + return FALSE; +} + +THUMB_FUNC BOOL ScrCmd_HasItem(struct ScriptContext* ctx) +{ + struct UnkSavStruct80* sav_ptr = ctx->unk80; + + u16 item_id = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16 quantity = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16* has_item = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx)); + struct Bag* bag = Sav2_Bag_get(sav_ptr->saveBlock2); + + *has_item = (u16)Bag_HasItem(bag, item_id, quantity, 11); + + return FALSE; +} + +THUMB_FUNC BOOL ScrCmd_ItemIdIsTMOrHM(struct ScriptContext* ctx) +{ + struct UnkSavStruct80* sav_ptr = ctx->unk80; + + u16 item_id = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16* is_tm_or_hm = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx)); + + *is_tm_or_hm = (u16)FUN_02054CB0(item_id); + + return FALSE; +} + +THUMB_FUNC BOOL ScrCmd_GetItemPocketId(struct ScriptContext* ctx) +{ + struct UnkSavStruct80* sav_ptr = ctx->unk80; + + u16 item_id = VarGet(ctx->unk80, ScriptReadHalfword(ctx)); + u16* pocket = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx)); + + *pocket = (u16)GetItemAttr(item_id, ITEMATTR_POCKET, 11); + + return FALSE; +} + +THUMB_FUNC BOOL ScrCmd_Unk0081(struct ScriptContext* ctx) +{ +#pragma unused(ctx) + return FALSE; +} + +THUMB_FUNC BOOL ScrCmd_Unk0082(struct ScriptContext* ctx) +{ +#pragma unused(ctx) + return FALSE; +} diff --git a/arm9/src/scrcmd_money.c b/arm9/src/scrcmd_money.c index b61a7ff7..d2254844 100644 --- a/arm9/src/scrcmd_money.c +++ b/arm9/src/scrcmd_money.c @@ -1,10 +1,6 @@ #include "scrcmd.h" #include "player_data.h" -extern u16 VarGet(struct UnkSavStruct80* arg, u16); -extern u16* GetVarPointer(struct UnkSavStruct80* arg, u16); -extern struct SaveBlock2 * ScriptEnvironment_GetSav2Ptr(struct UnkSavStruct80* unk); - extern void * FUN_02039438(struct UnkSavStruct80* arg, u8 idx); extern u32 MOD05_021E27E8(struct UnkSavStruct80* arg, u8, u8); diff --git a/arm9/src/unk_02025484.c b/arm9/src/unk_02025484.c new file mode 100644 index 00000000..733ac23a --- /dev/null +++ b/arm9/src/unk_02025484.c @@ -0,0 +1,27 @@ +#include "global.h" +#include "MI_memory.h" +#include "error_handling.h" +#include "unk_02025484.h" + +THUMB_FUNC void FUN_02025484(struct unk_2025484 *r0, u32 r1) +{ + MI_CpuFill8(r0, 0, sizeof(struct unk_2025484)); +} + +THUMB_FUNC u32 *FUN_02025490(struct unk_2025484 *r0, u32 r1) +{ + FUN_02025484(r0, r1); + r0->unk0 = r1; + return &r0->unk4; +} + +THUMB_FUNC u32 *FUN_020254A0(struct unk_2025484 *r0, u32 r1) +{ + GF_ASSERT(r0->unk0 == r1); + return &r0->unk4; +} + +THUMB_FUNC u32 FUN_020254B4(struct unk_2025484 *r0) +{ + return r0->unk0; +} diff --git a/include/scrcmd.h b/include/scrcmd.h index ef6a07af..dd43e586 100644 --- a/include/scrcmd.h +++ b/include/scrcmd.h @@ -4,6 +4,10 @@ #include "global.h" #include "script.h" +extern u16 VarGet(struct UnkSavStruct80* arg, u16); +extern u16* GetVarPointer(struct UnkSavStruct80* arg, u16); +extern struct SaveBlock2* ScriptEnvironment_GetSav2Ptr(struct UnkSavStruct80* unk); + struct UnkStruct_0203A288 { u8 unk0; u8 unk1; @@ -137,6 +141,16 @@ BOOL ScrCmd_Unk01F3(struct ScriptContext* ctx); //scrcmd_20.c BOOL ScrCmd_Unk02A6(struct ScriptContext* ctx); +//scrcmd_items.c +BOOL ScrCmd_GiveItem(struct ScriptContext* ctx); +BOOL ScrCmd_TakeItem(struct ScriptContext* ctx); +BOOL ScrCmd_HasSpaceForItem(struct ScriptContext* ctx); +BOOL ScrCmd_HasItem(struct ScriptContext* ctx); +BOOL ScrCmd_ItemIdIsTMOrHM(struct ScriptContext* ctx); +BOOL ScrCmd_GetItemPocketId(struct ScriptContext* ctx); +BOOL ScrCmd_Unk0081(struct ScriptContext* ctx); +BOOL ScrCmd_Unk0082(struct ScriptContext* ctx); + //scrcmd_25.c BOOL ScrCmd_Unk02EF(struct ScriptContext* ctx); BOOL ScrCmd_Unk02F0(struct ScriptContext* ctx); diff --git a/include/unk_02025484.h b/include/unk_02025484.h new file mode 100644 index 00000000..0412dda1 --- /dev/null +++ b/include/unk_02025484.h @@ -0,0 +1,18 @@ +#ifndef POKEDIAMOND_UNK_02025484_H +#define POKEDIAMOND_UNK_02025484_H + +struct unk_2025484 +{ + // size: 0x24 + u32 unk0; + u32 unk4; + u8 padding[0x1C]; +}; + +void FUN_02025484(struct unk_2025484 *r0, u32 r1); +u32 *FUN_02025490(struct unk_2025484 *r0, u32 r1); +u32 *FUN_020254A0(struct unk_2025484 *r0, u32 r1); +u32 FUN_020254B4(struct unk_2025484 *r0); + +#endif POKEDIAMOND_UNK_02025484_H + |