diff options
author | tgsm <doodrabbit@hotmail.com> | 2021-06-01 01:05:51 -0400 |
---|---|---|
committer | tgsm <doodrabbit@hotmail.com> | 2021-06-01 01:09:34 -0400 |
commit | 0e5566e7d26509088d0528f6b0946afa882a4532 (patch) | |
tree | 9b8dedea74584a7e2a673de4bab3ca832a9944d4 | |
parent | 40bf7584958428b8645256d5093143b7f0c6ebdd (diff) |
Document scrcmd_20 -> scrcmd_prizes
-rw-r--r-- | arm9/arm9.lsf | 2 | ||||
-rw-r--r-- | arm9/asm/unk_02038C78.s | 2 | ||||
-rw-r--r-- | arm9/global.inc | 2 | ||||
-rw-r--r-- | arm9/src/scrcmd_20.c | 35 | ||||
-rw-r--r-- | arm9/src/scrcmd_prizes.c | 36 | ||||
-rw-r--r-- | include/scrcmd.h | 4 |
6 files changed, 41 insertions, 40 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 124467f0..fa609048 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -176,7 +176,7 @@ Static arm9 Object scrcmd_18_c.o Object scrcmd_18.o Object scrcmd_fossils.o - Object scrcmd_20.o + Object scrcmd_prizes.o Object scrcmd_flags.o Object scrcmd_items.o Object scrcmd_underground.o diff --git a/arm9/asm/unk_02038C78.s b/arm9/asm/unk_02038C78.s index a21e170a..bbed9516 100644 --- a/arm9/asm/unk_02038C78.s +++ b/arm9/asm/unk_02038C78.s @@ -827,7 +827,7 @@ gScriptCmdTable: ; 0x020F355C .word ScrCmd_Unk02A3 .word ScrCmd_Unk02A4 .word ScrCmd_Unk02A5 - .word ScrCmd_Unk02A6 + .word ScrCmd_GetPrizeItemIdAndCost .word ScrCmd_Unk02A7 .word ScrCmd_TakeCoinsAddress .word ScrCmd_HasEnoughCoinsAddress diff --git a/arm9/global.inc b/arm9/global.inc index 1c0b51e3..46268a8c 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -3357,7 +3357,7 @@ .extern ScrCmd_GetFossilMinimumAmount .extern ScrCmd_Unk01F2 .extern ScrCmd_Unk01F3 -.extern ScrCmd_Unk02A6 +.extern ScrCmd_GetPrizeItemIdAndCost .extern ScrCmd_HasSinnohDex .extern ScrCmd_GiveSinnohDex .extern ScrCmd_HasRunningShoes 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_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/include/scrcmd.h b/include/scrcmd.h index 53f40bda..91cb306c 100644 --- a/include/scrcmd.h +++ b/include/scrcmd.h @@ -257,8 +257,8 @@ BOOL ScrCmd_GetFossilMinimumAmount(struct ScriptContext* ctx); BOOL ScrCmd_Unk01F2(struct ScriptContext* ctx); BOOL ScrCmd_Unk01F3(struct ScriptContext* ctx); -//scrcmd_20.c -BOOL ScrCmd_Unk02A6(struct ScriptContext* ctx); +//scrcmd_prizes.c +BOOL ScrCmd_GetPrizeItemIdAndCost(struct ScriptContext* ctx); //scrcmd_flags.c BOOL ScrCmd_HasSinnohDex(struct ScriptContext* ctx); |