diff options
Diffstat (limited to 'src/script_menu.c')
-rw-r--r-- | src/script_menu.c | 744 |
1 files changed, 679 insertions, 65 deletions
diff --git a/src/script_menu.c b/src/script_menu.c index 4bc7bfec9..a06d80bb1 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -16,6 +16,8 @@ #include "event_scripts.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/seagallop.h" +#include "constants/menu.h" struct MultichoiceListStruct { @@ -33,20 +35,628 @@ void sub_809CD48(u8 mcId); void task_yes_no_maybe(u8 taskId); void sub_809CFDC(u8 taskId); void sub_809D070(void); -bool8 sub_809D404(void); +bool8 PicboxWait(void); void sub_809D6B0(u8 windowId); u8 CreateWindowFromRect(u8 left, u8 top, u8 width, u8 height); -extern const u8 *const gUnknown_83E072C[]; -extern const u8 *const gUnknown_83E0738[]; -extern const u8 *const gUnknown_83E0748[]; -extern const struct MultichoiceListStruct gUnknown_83E04B0[]; -extern const struct SpriteSheet sMuseumKabutopsSprSheets[]; -extern const u16 sMuseumKabutopsSprPalette[]; -extern const struct SpriteSheet sMuseumAerodactylSprSheets[]; -extern const u16 sMuseumAerodactylSprPalette[]; -extern const struct SpriteTemplate sMuseumFossilSprTemplate; -extern const u8 *const gUnknown_83E17E0[]; + +static const struct MenuAction sScriptMultiChoiceMenu_0[] = { + { gUnknown_8417938 }, + { gUnknown_841793C } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_2[] = { + { gUnknown_8417ADC }, + { gUnknown_8417AE3 }, + { gUnknown_8417AE9 }, + { gUnknown_8417AEE } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_3[] = { + { gUnknown_84178F0 }, + { gUnknown_8417907 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_4[] = { + { gUnknown_84178EB }, + { gUnknown_8417907 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_5[] = { + { gUnknown_84178FD }, + { gUnknown_8417907 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_6[] = { + { gUnknown_84178F0 }, + { gUnknown_84178EB }, + { gUnknown_8417907 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_7[] = { + { gUnknown_84178F0 }, + { gUnknown_84178FD }, + { gUnknown_8417907 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_8[] = { + { gUnknown_84178EB }, + { gUnknown_84178FD }, + { gUnknown_8417907 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_9[] = { + { gUnknown_84178F0 }, + { gUnknown_84178EB }, + { gUnknown_84178FD }, + { gUnknown_8417907 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_15[] = { + { gUnknown_8417914 }, + { gUnknown_841790C }, + { gUnknown_8417910 }, + { gUnknown_8417918 }, + { gUnknown_841791C }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_16[] = { + { gUnknown_8417938 }, + { gUnknown_841793C }, + { gUnknown_84178E6 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_17[] = { + { gUnknown_8417944 }, + { gUnknown_8417952 }, + { gUnknown_8417960 }, + { gUnknown_84178E6 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_18[] = { + { gUnknown_8417938 }, + { gUnknown_841793C }, + { gUnknown_84178E6 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_19[] = { + { gUnknown_841796D }, + { gUnknown_841797F }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_20[] = { + { gUnknown_841806D }, + { gUnknown_841805D }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_21[] = { + { gUnknown_8417D56 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_22[] = { + { gUnknown_8417D63 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_23[] = { + { gUnknown_8417D6F }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_24[] = { + { gUnknown_8417D56 }, + { gUnknown_8417D6F }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_25[] = { + { gUnknown_8417D63 }, + { gUnknown_8417D6F }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_26[] = { + { gUnknown_8417984 }, + { gUnknown_841799A }, + { gUnknown_84179AD }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_30[] = { + { gUnknown_8417A42 }, + { gUnknown_8417A58 }, + { gUnknown_8417A6E }, + { gUnknown_8417A84 }, + { gUnknown_8417A9A }, + { gUnknown_8417D4C } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_41[] = { + { gUnknown_8417F4D }, + { gUnknown_8417ED9 }, + { gUnknown_8417EF7 }, + { gUnknown_8417F11 }, + { gUnknown_8417F2F }, + { gUnknown_8417D4C } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_27[] = { + { gUnknown_84179C0 }, + { gUnknown_84179D6 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_28[] = { + { gUnknown_84179ED }, + { gUnknown_84179F7 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_29[] = { + { gUnknown_8417A37 }, + { gUnknown_8417A3D } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_31[] = { + { gUnknown_8417ABC }, + { gUnknown_8417AB9 }, + { gUnknown_8417AB6 }, + { gUnknown_8417AB3 }, + { gUnknown_8417AB0 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_32[] = { + { gUnknown_8417C0F }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_33[] = { + { gUnknown_8417C1B }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_34[] = { + { gUnknown_8417C0F }, + { gUnknown_8417C1B }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_35[] = { + { gUnknown_8417C24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_36[] = { + { gUnknown_8417C0F }, + { gUnknown_8417C24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_37[] = { + { gUnknown_8417C1B }, + { gUnknown_8417C24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_38[] = { + { gUnknown_8417C0F }, + { gUnknown_8417C1B }, + { gUnknown_8417C24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_Unref_Shards_0[] = { + { gUnknown_8417A24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_Unref_Shards_1[] = { + { gUnknown_8417A02 }, + { gUnknown_8417A24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_Unref_Shards_2[] = { + { gUnknown_8417A0C }, + { gUnknown_8417A24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_Unref_Shards_3[] = { + { gUnknown_8417A02 }, + { gUnknown_8417A0C }, + { gUnknown_8417A24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_Unref_Shards_4[] = { + { gUnknown_8417A19 }, + { gUnknown_8417A24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_Unref_Shards_5[] = { + { gUnknown_8417A02 }, + { gUnknown_8417A19 }, + { gUnknown_8417A24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_Unref_Shards_6[] = { + { gUnknown_8417A0C }, + { gUnknown_8417A19 }, + { gUnknown_8417A24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_Unref_Shards_7[] = { + { gUnknown_8417A02 }, + { gUnknown_8417A0C }, + { gUnknown_8417A19 }, + { gUnknown_8417A24 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_1[] = { + { gUnknown_8417BE2 }, + { gUnknown_8417BE8 }, + { gUnknown_8417BF0 }, + { gUnknown_8417BF8 }, + { gUnknown_8417C01 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_13[] = { + { gUnknown_8417C33 }, + { gUnknown_8417C4B } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_14[] = { + { gUnknown_8417C55 }, + { gUnknown_8417C6A }, + { gUnknown_8417C83 }, + { gUnknown_8417C9D }, + { gUnknown_8417CB7 }, + { gUnknown_8417D4C } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_39[] = { + { gUnknown_8417D79 }, + { gUnknown_8417D86 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_40[] = { + { gUnknown_8417D90 }, + { gUnknown_8417DA0 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_42[] = { + { gUnknown_841805D }, + { gUnknown_8418061 }, + { gUnknown_8418069 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_43[] = { + { gUnknown_841807D }, + { gUnknown_841808E }, + { gUnknown_841809C }, + { gOtherText_Quit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_44[] = { + { gUnknown_8417DFE }, + { gUnknown_8417E09 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_45[] = { + { gUnknown_8417DF3 }, + { gUnknown_8417E09 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_46[] = { + { gUnknown_8417DF3 }, + { gUnknown_8417DFE }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_47[] = { + { gUnknown_8417D79 }, + { gUnknown_8417E50 }, + { gUnknown_8417E5A }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_48[] = { + { gUnknown_8417E66 }, + { gUnknown_8417E67 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_50[] = { + { gUnknown_8417D79 }, + { gUnknown_8417E50 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_49[] = { + { gUnknown_8417E72 }, + { gUnknown_8417E7F }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_51[] = { + { gUnknown_8417E94 }, + { gUnknown_8417EA4 } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_52[] = { + { gUnknown_8417D79 }, + { gUnknown_8417E50 }, + { gUnknown_8417E71 }, + { gUnknown_8417E5A }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_53[] = { + { gUnknown_8417D79 }, + { gUnknown_8417E50 }, + { gUnknown_8417E71 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_54[] = { + { gUnknown_8417EB3 }, + { gUnknown_8417EC1 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_55[] = { + { gUnknown_8417EB3 }, + { gUnknown_8417ECC }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_56[] = { + { gUnknown_8417EB3 }, + { gUnknown_8417EC1 }, + { gUnknown_8417ECC }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_57[] = { + { gUnknown_8417DF3 }, + { gUnknown_8417DFE }, + { gUnknown_8417E09 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_58[] = { + { gUnknown_8417E46 }, + { gUnknown_8417DFE }, + { gUnknown_8417E09 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_59[] = { + { gUnknown_8417E46 }, + { gUnknown_8417DF3 }, + { gUnknown_8417E09 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_60[] = { + { gUnknown_8417E46 }, + { gUnknown_8417DF3 }, + { gUnknown_8417DFE }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_61[] = { + { gUnknown_8417E46 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_62[] = { + { gUnknown_8417F68 }, + { gUnknown_8417F67 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_63[] = { + { gUnknown_8417F77 }, + { gUnknown_8417F69 }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_64[] = { + { gOtherText_Single }, + { gOtherText_Double }, + { gOtherText_Knockout }, + { gOtherText_Mixed }, + { gOtherText_Exit } +}; + +static const struct MenuAction sScriptMultiChoiceMenu_10[] = { + { gOtherText_Exit } +}; + +const struct MultichoiceListStruct gScriptMultiChoiceMenus[] = { + { sScriptMultiChoiceMenu_0, NELEMS(sScriptMultiChoiceMenu_0) }, + { sScriptMultiChoiceMenu_1, NELEMS(sScriptMultiChoiceMenu_1) }, + { sScriptMultiChoiceMenu_2, NELEMS(sScriptMultiChoiceMenu_2) }, + { sScriptMultiChoiceMenu_3, NELEMS(sScriptMultiChoiceMenu_3) }, + { sScriptMultiChoiceMenu_4, NELEMS(sScriptMultiChoiceMenu_4) }, + { sScriptMultiChoiceMenu_5, NELEMS(sScriptMultiChoiceMenu_5) }, + { sScriptMultiChoiceMenu_6, NELEMS(sScriptMultiChoiceMenu_6) }, + { sScriptMultiChoiceMenu_7, NELEMS(sScriptMultiChoiceMenu_7) }, + { sScriptMultiChoiceMenu_8, NELEMS(sScriptMultiChoiceMenu_8) }, + { sScriptMultiChoiceMenu_9, NELEMS(sScriptMultiChoiceMenu_9) }, + { sScriptMultiChoiceMenu_10, NELEMS(sScriptMultiChoiceMenu_10) }, + { sScriptMultiChoiceMenu_10, NELEMS(sScriptMultiChoiceMenu_10) }, + { sScriptMultiChoiceMenu_10, NELEMS(sScriptMultiChoiceMenu_10) }, + { sScriptMultiChoiceMenu_13, NELEMS(sScriptMultiChoiceMenu_13) }, + { sScriptMultiChoiceMenu_14, NELEMS(sScriptMultiChoiceMenu_14) }, + { sScriptMultiChoiceMenu_15, NELEMS(sScriptMultiChoiceMenu_15) }, + { sScriptMultiChoiceMenu_16, NELEMS(sScriptMultiChoiceMenu_16) }, + { sScriptMultiChoiceMenu_17, NELEMS(sScriptMultiChoiceMenu_17) }, + { sScriptMultiChoiceMenu_18, NELEMS(sScriptMultiChoiceMenu_18) }, + { sScriptMultiChoiceMenu_19, NELEMS(sScriptMultiChoiceMenu_19) }, + { sScriptMultiChoiceMenu_20, NELEMS(sScriptMultiChoiceMenu_20) }, + { sScriptMultiChoiceMenu_21, NELEMS(sScriptMultiChoiceMenu_21) }, + { sScriptMultiChoiceMenu_22, NELEMS(sScriptMultiChoiceMenu_22) }, + { sScriptMultiChoiceMenu_23, NELEMS(sScriptMultiChoiceMenu_23) }, + { sScriptMultiChoiceMenu_24, NELEMS(sScriptMultiChoiceMenu_24) }, + { sScriptMultiChoiceMenu_25, NELEMS(sScriptMultiChoiceMenu_25) }, + { sScriptMultiChoiceMenu_26, NELEMS(sScriptMultiChoiceMenu_26) }, + { sScriptMultiChoiceMenu_27, NELEMS(sScriptMultiChoiceMenu_27) }, + { sScriptMultiChoiceMenu_28, NELEMS(sScriptMultiChoiceMenu_28) }, + { sScriptMultiChoiceMenu_29, NELEMS(sScriptMultiChoiceMenu_29) }, + { sScriptMultiChoiceMenu_30, NELEMS(sScriptMultiChoiceMenu_30) }, + { sScriptMultiChoiceMenu_31, NELEMS(sScriptMultiChoiceMenu_31) }, + { sScriptMultiChoiceMenu_32, NELEMS(sScriptMultiChoiceMenu_32) }, + { sScriptMultiChoiceMenu_33, NELEMS(sScriptMultiChoiceMenu_33) }, + { sScriptMultiChoiceMenu_34, NELEMS(sScriptMultiChoiceMenu_34) }, + { sScriptMultiChoiceMenu_35, NELEMS(sScriptMultiChoiceMenu_35) }, + { sScriptMultiChoiceMenu_36, NELEMS(sScriptMultiChoiceMenu_36) }, + { sScriptMultiChoiceMenu_37, NELEMS(sScriptMultiChoiceMenu_37) }, + { sScriptMultiChoiceMenu_38, NELEMS(sScriptMultiChoiceMenu_38) }, + { sScriptMultiChoiceMenu_39, NELEMS(sScriptMultiChoiceMenu_39) }, + { sScriptMultiChoiceMenu_40, NELEMS(sScriptMultiChoiceMenu_40) }, + { sScriptMultiChoiceMenu_41, NELEMS(sScriptMultiChoiceMenu_41) }, + { sScriptMultiChoiceMenu_42, NELEMS(sScriptMultiChoiceMenu_42) }, + { sScriptMultiChoiceMenu_43, NELEMS(sScriptMultiChoiceMenu_43) }, + { sScriptMultiChoiceMenu_44, NELEMS(sScriptMultiChoiceMenu_44) }, + { sScriptMultiChoiceMenu_45, NELEMS(sScriptMultiChoiceMenu_45) }, + { sScriptMultiChoiceMenu_46, NELEMS(sScriptMultiChoiceMenu_46) }, + { sScriptMultiChoiceMenu_47, NELEMS(sScriptMultiChoiceMenu_47) }, + { sScriptMultiChoiceMenu_48, NELEMS(sScriptMultiChoiceMenu_48) }, + { sScriptMultiChoiceMenu_49, NELEMS(sScriptMultiChoiceMenu_49) }, + { sScriptMultiChoiceMenu_50, NELEMS(sScriptMultiChoiceMenu_50) }, + { sScriptMultiChoiceMenu_51, NELEMS(sScriptMultiChoiceMenu_51) }, + { sScriptMultiChoiceMenu_52, NELEMS(sScriptMultiChoiceMenu_52) }, + { sScriptMultiChoiceMenu_53, NELEMS(sScriptMultiChoiceMenu_53) }, + { sScriptMultiChoiceMenu_54, NELEMS(sScriptMultiChoiceMenu_54) }, + { sScriptMultiChoiceMenu_55, NELEMS(sScriptMultiChoiceMenu_55) }, + { sScriptMultiChoiceMenu_56, NELEMS(sScriptMultiChoiceMenu_56) }, + { sScriptMultiChoiceMenu_57, NELEMS(sScriptMultiChoiceMenu_57) }, + { sScriptMultiChoiceMenu_58, NELEMS(sScriptMultiChoiceMenu_58) }, + { sScriptMultiChoiceMenu_59, NELEMS(sScriptMultiChoiceMenu_59) }, + { sScriptMultiChoiceMenu_60, NELEMS(sScriptMultiChoiceMenu_60) }, + { sScriptMultiChoiceMenu_61, NELEMS(sScriptMultiChoiceMenu_61) }, + { sScriptMultiChoiceMenu_62, NELEMS(sScriptMultiChoiceMenu_62) }, + { sScriptMultiChoiceMenu_63, NELEMS(sScriptMultiChoiceMenu_63) }, + { sScriptMultiChoiceMenu_64, NELEMS(sScriptMultiChoiceMenu_64) } +}; + +const u8 *const gStdStringPtrs[] = { + gUnknown_8417ABF, + gUnknown_8417AC4, + gUnknown_8417ACB, + gUnknown_8417AD0, + gUnknown_8417AD6, + gUnknown_8417AF4, + gUnknown_8417AF9, + gUnknown_8417B00, + gUnknown_8417B05, + gUnknown_8417B0B, + gUnknown_8417B11, + gUnknown_8417B17, + gUnknown_8417B21, + gUnknown_8417B2C, + gUnknown_8417B36, + gUnknown_8417B3E, + gUnknown_8417B4B, + gUnknown_8417B58, + gUnknown_8417B65, + gUnknown_8417B72, + gUnknown_8417B7C, + gUnknown_8417B87, + gUnknown_8417B94, + gUnknown_8417C2D, + gUnknown_8417DA9, + gUnknown_8417DB6, + gUnknown_8417DC7, + gUnknown_8417DD9, + gUnknown_8417DE1 +}; + +static const u8 *const gUnknown_83E072C[] = { + Text_1BC388, + Text_1BC3C7, + Text_1BCB42 +}; + +static const u8 *const gUnknown_83E0738[] = { + Text_1BCA95, + Text_1BCACB, + Text_1BCAF2, + Text_1BCB42 +}; + +static const u8 *const gUnknown_83E0748[] = { + Text_1BCA95, + Text_1BCACB, + Text_1BCB42 +}; + +static const union AnimCmd sMuseumFossilAnim0[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_END +}; + +static const union AnimCmd *const sMuseumFossilAnimCmdTable[] = { + sMuseumFossilAnim0 +}; + +static const struct OamData sMuseumFossilOamData = { + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64) +}; + +static const struct SpriteTemplate sMuseumFossilSprTemplate = { + .tileTag = 7000, + .paletteTag = 0xFFFF, + .oam = &sMuseumFossilOamData, + .anims = sMuseumFossilAnimCmdTable, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const u16 sMuseumAerodactylSprTiles[] = INCBIN_U16("data/script_menu/aerodactyl_fossil.4bpp"); +static const u16 sMuseumAerodactylSprPalette[] = INCBIN_U16("data/script_menu/aerodactyl_fossil.gbapal"); +static const u16 sMuseumKabutopsSprTiles[] = INCBIN_U16("data/script_menu/kabutops_fossil.4bpp"); +static const u16 sMuseumKabutopsSprPalette[] = INCBIN_U16("data/script_menu/kabutops_fossil.gbapal"); + +static const struct SpriteSheet sMuseumKabutopsSprSheets[] = { + {sMuseumKabutopsSprTiles, 0x800, 7000}, + {} +}; + +static const struct SpriteSheet sMuseumAerodactylSprSheets[] = { + {sMuseumAerodactylSprTiles, 0x800, 7000}, + {} +}; + + +static const u8 *const sSeaGallopDestStrings[] = { + gUnknown_8417E46, + gUnknown_8417DF3, + gUnknown_8417DFE, + gUnknown_8417E09, + gUnknown_8417E16, + gUnknown_8417E22, + gUnknown_8417E2E, + gUnknown_8417E39 +}; u16 sub_809C954(const u8 *str) { @@ -72,7 +682,7 @@ bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 mcId, u8 ignoreBpress) { if (FuncIsActiveTask(sub_809CC98) == TRUE) return FALSE; - gSpecialVar_Result = 0xFF; + gSpecialVar_Result = SCR_MENU_UNSET; sub_809CA64(left, top, mcId, ignoreBpress, 0); return TRUE; } @@ -81,7 +691,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 mcId, u8 ignoreBpres { if (FuncIsActiveTask(sub_809CC98) == TRUE) return FALSE; - gSpecialVar_Result = 0xFF; + gSpecialVar_Result = SCR_MENU_UNSET; sub_809CA64(left, top, mcId, ignoreBpress, cursorPos); return TRUE; } @@ -97,11 +707,11 @@ void sub_809CA64(u8 left, u8 top, u8 mcId, u8 ignoreBpress, u8 initPos) u8 windowId; const struct MenuAction * list; - if ((ignoreBpress & 2) || QuestLog_ScheduleRoutineIfNotInPlaybackMode(sub_809D6D4) != TRUE) + if ((ignoreBpress & 2) || QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) != TRUE) { ignoreBpress &= 1; - count = gUnknown_83E04B0[mcId].count; - list = gUnknown_83E04B0[mcId].list; + count = gScriptMultiChoiceMenus[mcId].count; + list = gScriptMultiChoiceMenus[mcId].list; strWidth = 0; for (i = 0; i < count; i++) { @@ -194,7 +804,7 @@ void sub_809CC98(u8 taskId) if (data[4]) return; PlaySE(SE_SELECT); - gSpecialVar_Result = 127; + gSpecialVar_Result = SCR_MENU_CANCEL; break; default: gSpecialVar_Result = input; @@ -230,8 +840,8 @@ bool8 ScriptMenu_YesNo(u8 unused, u8 stuff) { if (FuncIsActiveTask(task_yes_no_maybe) == TRUE) return FALSE; - gSpecialVar_Result = 255; - if (!QuestLog_ScheduleRoutineIfNotInPlaybackMode(sub_809D6D4)) + gSpecialVar_Result = SCR_MENU_UNSET; + if (!QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites)) { DisplayYesNoMenuDefaultYes(); CreateTask(task_yes_no_maybe, 80); @@ -241,7 +851,7 @@ bool8 ScriptMenu_YesNo(u8 unused, u8 stuff) bool8 sub_809CE38(void) { - if (gSpecialVar_Result == 255) + if (gSpecialVar_Result == SCR_MENU_UNSET) return FALSE; else return TRUE; @@ -284,11 +894,11 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 co u8 taskId; if (FuncIsActiveTask(sub_809CFDC) == TRUE) return FALSE; - gSpecialVar_Result = 255; - if (QuestLog_ScheduleRoutineIfNotInPlaybackMode(sub_809D6D4) != TRUE) + gSpecialVar_Result = SCR_MENU_UNSET; + if (QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) != TRUE) { - list = gUnknown_83E04B0[multichoiceId].list; - count = gUnknown_83E04B0[multichoiceId].count; + list = gScriptMultiChoiceMenus[multichoiceId].list; + count = gScriptMultiChoiceMenus[multichoiceId].count; width = sub_809C974(list, count) + 1; rowCount = count / columnCount; taskId = CreateTask(sub_809CFDC, 80); @@ -314,7 +924,7 @@ void sub_809CFDC(u8 taskId) if (data[4]) return; PlaySE(SE_SELECT); - gSpecialVar_Result = 127; + gSpecialVar_Result = SCR_MENU_CANCEL; break; default: gSpecialVar_Result = input; @@ -329,7 +939,7 @@ bool8 ScrSpecial_CreatePCMenu(void) { if (FuncIsActiveTask(sub_809CC98) == TRUE) return FALSE; - gSpecialVar_Result = 255; + gSpecialVar_Result = SCR_MENU_UNSET; sub_809D070(); return TRUE; } @@ -392,7 +1002,7 @@ void ScriptMenu_DisplayPCStartupPrompt(void) AddTextPrinterParameterized2(0, 2, gUnknown_81A508A, 0, NULL, 2, 1, 3); } -void sub_809D288(u8 taskId) +static void Task_ScriptShowMonPic(u8 taskId) { struct Task * task = &gTasks[taskId]; switch (task->data[0]) @@ -417,12 +1027,12 @@ bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y) { u8 spriteId; u8 taskId; - if (QuestLog_ScheduleRoutineIfNotInPlaybackMode(sub_809D6D4) == TRUE) + if (QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) == TRUE) return TRUE; - if (FindTaskIdByFunc(sub_809D288) != 0xFF) + if (FindTaskIdByFunc(Task_ScriptShowMonPic) != 0xFF) return FALSE; spriteId = sub_8083970(species, 8 * x + 40, 8 * y + 40, FALSE); - taskId = CreateTask(sub_809D288, 80); + taskId = CreateTask(Task_ScriptShowMonPic, 80); gTasks[taskId].data[5] = CreateWindowFromRect(x, y, 8, 8); gTasks[taskId].data[0] = 0; gTasks[taskId].data[1] = species; @@ -436,16 +1046,16 @@ bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y) bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void) { - u8 taskId = FindTaskIdByFunc(sub_809D288); + u8 taskId = FindTaskIdByFunc(Task_ScriptShowMonPic); if (taskId == 0xFF) return NULL; gTasks[taskId].data[0]++; - return sub_809D404; + return PicboxWait; } -bool8 sub_809D404(void) +bool8 PicboxWait(void) { - if (FindTaskIdByFunc(sub_809D288) == 0xFF) + if (FindTaskIdByFunc(Task_ScriptShowMonPic) == 0xFF) return TRUE; else return FALSE; @@ -453,7 +1063,7 @@ bool8 sub_809D404(void) void sub_809D424(void) { - u8 taskId = FindTaskIdByFunc(sub_809D288); + u8 taskId = FindTaskIdByFunc(Task_ScriptShowMonPic); struct Task * task; if (taskId != 0xFF) { @@ -501,7 +1111,7 @@ bool8 Special_OpenMuseumFossilPic(void) { u8 spriteId; u8 taskId; - if (QuestLog_ScheduleRoutineIfNotInPlaybackMode(sub_809D6D4) == TRUE) + if (QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) == TRUE) return TRUE; if (FindTaskIdByFunc(sub_809D494) != 0xFF) return FALSE; @@ -554,12 +1164,12 @@ void sub_809D6B0(u8 windowId) RemoveWindow(windowId); } -void sub_809D6D4(void) +void QLPlaybackCB_DestroyScriptMenuMonPicSprites(void) { u8 taskId; s16 *data; ScriptContext1_SetupScript(EventScript_1A7AE0); - taskId = FindTaskIdByFunc(sub_809D288); + taskId = FindTaskIdByFunc(Task_ScriptShowMonPic); if (taskId != 0xFF) { data = gTasks[taskId].data; @@ -578,8 +1188,10 @@ void sub_809D6D4(void) } } -void sub_809D764(void) +void Special_DrawSeaGallopDestinationMenu(void) { + // 8004 = Starting location + // 8005 = Page (0: Verm, One, Two, Three, Four, Other, Exit; 1: Four, Five, Six, Seven, Other, Exit) u8 r4; u8 top; u8 nitems; @@ -587,21 +1199,21 @@ void sub_809D764(void) u8 fontHeight; u8 windowId; u8 i; - gSpecialVar_Result = 255; - if (QuestLog_ScheduleRoutineIfNotInPlaybackMode(sub_809D6D4) != TRUE) + gSpecialVar_Result = SCR_MENU_UNSET; + if (QuestLog_SchedulePlaybackCB(QLPlaybackCB_DestroyScriptMenuMonPicSprites) != TRUE) { if (gSpecialVar_0x8005 == 1) { - if (gSpecialVar_0x8004 < 5) - r4 = 5; + if (gSpecialVar_0x8004 < SEAGALLOP_FIVE_ISLAND) + r4 = SEAGALLOP_FIVE_ISLAND; else - r4 = 4; + r4 = SEAGALLOP_FOUR_ISLAND; nitems = 5; top = 2; } else { - r4 = 0; + r4 = SEAGALLOP_VERMILION_CITY; nitems = 6; top = 0; } @@ -612,12 +1224,12 @@ void sub_809D764(void) for (i = 0; i < nitems - 2; i++) { if (r4 != gSpecialVar_0x8004) - AddTextPrinterParameterized(windowId, 2, gUnknown_83E17E0[r4], cursorWidth, i * 16 + 2, 0xFF, NULL); + AddTextPrinterParameterized(windowId, 2, sSeaGallopDestStrings[r4], cursorWidth, i * 16 + 2, 0xFF, NULL); else i--; r4++; - if (r4 == 8) - r4 = 0; + if (r4 == SEAGALLOP_CINNABAR_ISLAND) + r4 = SEAGALLOP_VERMILION_CITY; } AddTextPrinterParameterized(windowId, 2, gUnknown_8417DED, cursorWidth, i * 16 + 2, 0xFF, NULL); i++; @@ -628,52 +1240,54 @@ void sub_809D764(void) } } -u16 sub_809D8C0(void) +u16 Special_GetSelectedSeaGallopDestination(void) { - if (gSpecialVar_Result == 127) - return 127; + // 8004 = Starting location + // 8005 = Page (0: Verm, One, Two, Three, Four, Other, Exit; 1: Four, Five, Six, Seven, Other, Exit) + if (gSpecialVar_Result == SCR_MENU_CANCEL) + return SCR_MENU_CANCEL; if (gSpecialVar_0x8005 == 1) { if (gSpecialVar_Result == 3) { - return 254; + return SEAGALLOP_MORE; } else if (gSpecialVar_Result == 4) { - return 127; + return SCR_MENU_CANCEL; } else if (gSpecialVar_Result == 0) { - if (gSpecialVar_0x8004 > 4) - return 4; + if (gSpecialVar_0x8004 > SEAGALLOP_FOUR_ISLAND) + return SEAGALLOP_FOUR_ISLAND; else - return 5; + return SEAGALLOP_FIVE_ISLAND; } else if (gSpecialVar_Result == 1) { - if (gSpecialVar_0x8004 > 5) - return 5; + if (gSpecialVar_0x8004 > SEAGALLOP_FIVE_ISLAND) + return SEAGALLOP_FIVE_ISLAND; else - return 6; + return SEAGALLOP_SIX_ISLAND; } else if (gSpecialVar_Result == 2) { - if (gSpecialVar_0x8004 > 6) - return 6; + if (gSpecialVar_0x8004 > SEAGALLOP_SIX_ISLAND) + return SEAGALLOP_SIX_ISLAND; else - return 7; + return SEAGALLOP_SEVEN_ISLAND; } } else { if (gSpecialVar_Result == 4) - return 254; + return SEAGALLOP_MORE; else if (gSpecialVar_Result == 5) - return 127; + return SCR_MENU_CANCEL; else if (gSpecialVar_Result >= gSpecialVar_0x8004) return gSpecialVar_Result + 1; else return gSpecialVar_Result; } - return 0; + return SEAGALLOP_VERMILION_CITY; } |