diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-26 22:27:19 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-26 22:27:19 -0500 |
commit | 7e684b32f108bc484f3f8ba66b209d3f633e8acd (patch) | |
tree | 2455a5ec5e9fb789d513976b992369c919936dce | |
parent | b21c50675b8b143608b39b26b53788e4807bbc9e (diff) |
More documentation of fame checker
-rw-r--r-- | asm/item_menu.s | 6 | ||||
-rw-r--r-- | asm/item_use.s | 24 | ||||
-rw-r--r-- | asm/start_menu.s | 4 | ||||
-rw-r--r-- | asm/teachy_tv.s | 4 | ||||
-rw-r--r-- | charmap.txt | 6 | ||||
-rw-r--r-- | data/data_83FECCC.s | 6 | ||||
-rw-r--r-- | data/fame_checker/img_845cf00.png | bin | 240 -> 297 bytes | |||
-rw-r--r-- | include/fame_checker.h | 19 | ||||
-rw-r--r-- | include/item_menu.h | 2 | ||||
-rw-r--r-- | src/fame_checker.c | 211 |
10 files changed, 139 insertions, 143 deletions
diff --git a/asm/item_menu.s b/asm/item_menu.s index 5ad6b8b5c..16d1cfce2 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -138,8 +138,8 @@ _08107EB0: .4byte gUnknown_203AD10 _08107EB4: .4byte gUnknown_203ACFC thumb_func_end sub_8107DB4 - thumb_func_start sub_8107EB8 -sub_8107EB8: @ 8107EB8 + thumb_func_start UseFameCheckerFromMenu +UseFameCheckerFromMenu: @ 8107EB8 push {lr} ldr r2, _08107EC8 @ =sub_80568A8 movs r0, 0 @@ -149,7 +149,7 @@ sub_8107EB8: @ 8107EB8 bx r0 .align 2, 0 _08107EC8: .4byte sub_80568A8 - thumb_func_end sub_8107EB8 + thumb_func_end UseFameCheckerFromMenu thumb_func_start sub_8107ECC sub_8107ECC: @ 8107ECC diff --git a/asm/item_use.s b/asm/item_use.s index 49d517eb5..f653247d9 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -320,7 +320,7 @@ sub_80A1208: @ 80A1208 ldr r0, _080A1224 @ =gUnknown_203AD30 ldrh r0, [r0] strh r0, [r1, 0x20] - ldr r1, _080A1228 @ =sub_8107EB8 + ldr r1, _080A1228 @ =UseFameCheckerFromMenu mov r0, sp movs r2, 0 bl sub_80BEBEC @@ -329,7 +329,7 @@ sub_80A1208: @ 80A1208 bx r0 .align 2, 0 _080A1224: .4byte gUnknown_203AD30 -_080A1228: .4byte sub_8107EB8 +_080A1228: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1208 thumb_func_start sub_80A122C @@ -1045,14 +1045,14 @@ _080A17D0: .4byte sub_80A17E8 thumb_func_start sub_80A17D4 sub_80A17D4: @ 80A17D4 push {lr} - ldr r1, _080A17E4 @ =sub_8107EB8 + ldr r1, _080A17E4 @ =UseFameCheckerFromMenu movs r0, 0 movs r2, 0 bl sub_81317F8 pop {r0} bx r0 .align 2, 0 -_080A17E4: .4byte sub_8107EB8 +_080A17E4: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A17D4 thumb_func_start sub_80A17E8 @@ -1123,14 +1123,14 @@ _080A1868: .4byte sub_80A1880 thumb_func_start sub_80A186C sub_80A186C: @ 80A186C push {lr} - ldr r1, _080A187C @ =sub_8107EB8 + ldr r1, _080A187C @ =UseFameCheckerFromMenu movs r0, 0 movs r2, 0 bl sub_813CD50 pop {r0} bx r0 .align 2, 0 -_080A187C: .4byte sub_8107EB8 +_080A187C: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A186C thumb_func_start sub_80A1880 @@ -1239,13 +1239,13 @@ _080A1948: .4byte sub_80A1960 thumb_func_start sub_80A194C sub_80A194C: @ 80A194C push {lr} - ldr r1, _080A195C @ =sub_8107EB8 + ldr r1, _080A195C @ =UseFameCheckerFromMenu movs r0, 0 bl sub_815ABC4 pop {r0} bx r0 .align 2, 0 -_080A195C: .4byte sub_8107EB8 +_080A195C: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A194C thumb_func_start sub_80A1960 @@ -1646,13 +1646,13 @@ _080A1CA8: .4byte sub_80A1CC0 thumb_func_start sub_80A1CAC sub_80A1CAC: @ 80A1CAC push {lr} - ldr r1, _080A1CBC @ =sub_8107EB8 + ldr r1, _080A1CBC @ =UseFameCheckerFromMenu movs r0, 0 bl sub_80BFF50 pop {r0} bx r0 .align 2, 0 -_080A1CBC: .4byte sub_8107EB8 +_080A1CBC: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1CAC thumb_func_start sub_80A1CC0 @@ -1730,12 +1730,12 @@ _080A1D54: .4byte sub_80A1D68 thumb_func_start sub_80A1D58 sub_80A1D58: @ 80A1D58 push {lr} - ldr r0, _080A1D64 @ =sub_8107EB8 + ldr r0, _080A1D64 @ =UseFameCheckerFromMenu bl UseFameChecker pop {r0} bx r0 .align 2, 0 -_080A1D64: .4byte sub_8107EB8 +_080A1D64: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1D58 thumb_func_start sub_80A1D68 diff --git a/asm/start_menu.s b/asm/start_menu.s index 55dbb7357..43155b5da 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -911,14 +911,14 @@ _0806F498: bl play_some_sound bl sub_806EF18 bl sub_80563F0 - ldr r0, _0806F4B0 @ =sub_8107EB8 + ldr r0, _0806F4B0 @ =UseFameCheckerFromMenu bl SetMainCallback2 movs r0, 0x1 _0806F4AC: pop {r1} bx r1 .align 2, 0 -_0806F4B0: .4byte sub_8107EB8 +_0806F4B0: .4byte UseFameCheckerFromMenu thumb_func_end sub_806F480 thumb_func_start sub_806F4B4 diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 55f403f8a..48f98a2b4 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -915,7 +915,7 @@ sub_815B2C0: @ 815B2C0 beq _0815B30A subs r0, r4, 0x6 ldr r1, [r0] - ldr r0, _0815B32C @ =sub_8107EB8 + ldr r0, _0815B32C @ =UseFameCheckerFromMenu cmp r1, r0 bne _0815B330 _0815B30A: @@ -932,7 +932,7 @@ _0815B31C: .4byte gTasks+0x8 _0815B320: .4byte gPaletteFade _0815B324: .4byte gUnknown_203F44A _0815B328: .4byte gMain -_0815B32C: .4byte sub_8107EB8 +_0815B32C: .4byte UseFameCheckerFromMenu _0815B330: movs r0, 0x5 bl PlaySE diff --git a/charmap.txt b/charmap.txt index 9441532b4..ad4062731 100644 --- a/charmap.txt +++ b/charmap.txt @@ -326,6 +326,12 @@ UNKNOWN_F7 = F7 UNKNOWN_F8 = F8 UNKNOWN_F9 = F9 +KEYGFX_A_BUTTON = F8 00 +KEYGFX_B_BUTTON = F8 01 +KEYGFX_START_BUTTON = F8 04 +KEYGFX_DPAD_UP_DOWN = F8 0A +KEYGFX_DPAD_ANY = F8 0C + STRING = FD @ string placeholders diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 7c2d85f03..402cd6704 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -2091,13 +2091,13 @@ gUnknown_841E58D:: @ 841E58D .incbin "baserom.gba", 0x41E58D, 0x17 gUnknown_841E5A4:: @ 841E5A4 - .incbin "baserom.gba", 0x41E5A4, 0x15 + .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" gUnknown_841E5B9:: @ 841E5B9 - .incbin "baserom.gba", 0x41E5B9, 0x19 + .string "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" gUnknown_841E5D2:: @ 841E5D2 - .string "{UNKNOWN_F8 0x0C}PICK {UNKNOWN_F8 0x00}READ {UNKNOWN_F8 0x01}CANCEL$" + .string "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {UNKNOWN_F8 0x01}CANCEL$" gUnknown_841E5E9:: @ 841E5E9 .string "OAK$" diff --git a/data/fame_checker/img_845cf00.png b/data/fame_checker/img_845cf00.png Binary files differindex 2d25bb1b3..0d692439a 100644 --- a/data/fame_checker/img_845cf00.png +++ b/data/fame_checker/img_845cf00.png diff --git a/include/fame_checker.h b/include/fame_checker.h index 7e95a7224..bc653740e 100644 --- a/include/fame_checker.h +++ b/include/fame_checker.h @@ -3,6 +3,25 @@ #include "main.h" +enum { + FAMECHECKER_OAK, + FAMECHECKER_DAISY, + FAMECHECKER_BROCK, + FAMECHECKER_MISTY, + FAMECHECKER_LTSURGE, + FAMECHECKER_ERIKA, + FAMECHECKER_KOGA, + FAMECHECKER_SABRINA, + FAMECHECKER_BLAINE, + FAMECHECKER_LORELEI, + FAMECHECKER_BRUNO, + FAMECHECKER_AGATHA, + FAMECHECKER_LANCE, + FAMECHECKER_BILL, + FAMECHECKER_MRFUJI, + FAMECHECKER_GIOVANNI +}; + void ResetFameChecker(void); void UseFameChecker(MainCallback savedCallback); diff --git a/include/item_menu.h b/include/item_menu.h index 64cb2d762..2482aa51f 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -12,6 +12,6 @@ extern u16 gUnknown_203AD30; // Exported ROM declarations void sub_81AAC50(void); void sub_81AAC70(void); -void sub_8107EB8(void); +void UseFameCheckerFromMenu(void); #endif //GUARD_ITEM_MENU_H diff --git a/src/fame_checker.c b/src/fame_checker.c index 8150c58ef..2bff79146 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -25,6 +25,7 @@ #include "field_map_obj.h" #include "menu_indicators.h" #include "text_window.h" +#include "fame_checker.h" #define SPRITETAG_1000 1000 #define SPRITETAG_1001 1001 @@ -41,8 +42,8 @@ struct FameCheckerData u16 unk_04; u8 unk_06; u8 unk_07_0:1; - u8 unk_07_1:1; - u8 unk_07_2:6; + u8 inPickMode:1; + u8 numUnlockedPersons:6; u8 scrollIndicatorArrowObjectTaskId; u8 unk_09; u8 unk_0A; @@ -95,7 +96,7 @@ static void sub_812D70C(void); static u8 sub_812D724(s16 a0); static void sub_812D764(struct Sprite *sprite); static void sub_812D770(void); -static u8 sub_812D780(u8, u8); +static u8 PlaceQuestionMarkTile(u8, u8); static void sub_812D7C8(void); static u8 sub_812D7E4(void); static void sub_812D800(struct Sprite *sprite); @@ -115,7 +116,7 @@ static u8 sub_812DEF0(void); static void sub_812DFE4(u8); static void sub_812E000(void); static void sub_812E048(void); -static u16 sub_812E064(void); +static u16 FameCheckerGetCursorY(void); static void sub_812E094(u8); static void sub_812E110(u8 taskId); static void sub_812E178(u8 a0, s16 a1); @@ -125,28 +126,28 @@ extern const u8 gUnknown_84161C1[]; extern const u8 gUnknown_841623B[]; extern const u8 gUnknown_84181C3[]; extern const u8 gUnknown_84181E4[]; -extern const u8 gUnknown_841E5A4[]; -extern const u8 gUnknown_841E5B9[]; -extern const u8 gUnknown_841E5D2[]; -extern const u8 gUnknown_841E5E9[]; -extern const u8 gUnknown_841E5ED[]; -extern const u8 gUnknown_841E5F3[]; -extern const u8 gUnknown_841E5F8[]; - -static const u16 gUnknown_845C600[] = INCBIN_U16("data/fame_checker/tilemap_845c600.bin"); -static const u8 gUnknown_845CE00[] = INCBIN_U8("data/fame_checker/img_845ce00.4bpp"); -static const u8 gUnknown_845CF00[] = INCBIN_U8("data/fame_checker/img_845cf00.4bpp"); -static const u16 gUnknown_845D0E0[] = INCBIN_U16("data/fame_checker/pal_845d0e0.gbapal"); -static const u8 gUnknown_845D100[] = INCBIN_U8("data/fame_checker/img_845d100.4bpp"); -static const u16 gUnknown_845D500[] = INCBIN_U16("data/fame_checker/pal_845d500.gbapal"); -static const u8 gUnknown_845D520[] = INCBIN_U8("data/fame_checker/img_845d520.4bpp"); -static const u16 gUnknown_845DD20[] = INCBIN_U16("data/fame_checker/pal_845dd20.gbapal"); -static const u8 gUnknown_845DD40[] = INCBIN_U8("data/fame_checker/img_845dd40.4bpp"); -static const u16 gUnknown_845E540[] = INCBIN_U16("data/fame_checker/pal_845e540.gbapal"); -static const u8 gUnknown_845E560[] = INCBIN_U8("data/fame_checker/img_845e560.4bpp"); -static const u16 gUnknown_845ED60[] = INCBIN_U16("data/fame_checker/pal_845ed60.gbapal"); -static const u8 gUnknown_845ED80[] = INCBIN_U8("data/fame_checker/img_845ed80.4bpp"); -static const u16 gUnknown_845F580[] = INCBIN_U16("data/fame_checker/pal_845f580.gbapal"); +extern const u8 gUnknown_841E5A4[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_A_BUTTON}OK$" +extern const u8 gUnknown_841E5B9[]; // "{KEYGFX_START_BUTTON}PICK {KEYGFX_DPAD_UP_DOWN}SELECT {KEYGFX_B_BUTTON}CANCEL$" +extern const u8 gUnknown_841E5D2[]; // "{KEYGFX_DPAD_ANY}PICK {KEYGFX_A_BUTTON}READ {UNKNOWN_F8 0x01}CANCEL$" +extern const u8 gUnknown_841E5E9[]; // "OAK$" +extern const u8 gUnknown_841E5ED[]; // "DAISY$" +extern const u8 gUnknown_841E5F3[]; // "BILL$" +extern const u8 gUnknown_841E5F8[]; // "FUJI$" + +static const u16 sFameCheckerTilemap[] = INCBIN_U16("data/fame_checker/tilemap_845c600.bin"); +static const u8 sQuestionMarkSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845ce00.4bpp"); +static const u8 sSpinningPokeballSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845cf00.4bpp"); +static const u16 sSpinningPokeballSpritePalette[] = INCBIN_U16("data/fame_checker/pal_845d0e0.gbapal"); +static const u8 sSelectorCursorSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845d100.4bpp"); +static const u16 sSelectorCursorSpritePalette[] = INCBIN_U16("data/fame_checker/pal_845d500.gbapal"); +static const u8 sFujiSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845d520.4bpp"); +static const u16 sFujiSpritePalette[] = INCBIN_U16("data/fame_checker/pal_845dd20.gbapal"); +static const u8 sBillSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845dd40.4bpp"); +static const u16 sBillSpritePalette[] = INCBIN_U16("data/fame_checker/pal_845e540.gbapal"); +static const u8 sDaisySpriteGfx[] = INCBIN_U8("data/fame_checker/img_845e560.4bpp"); +static const u16 sDaisySpritePalette[] = INCBIN_U16("data/fame_checker/pal_845ed60.gbapal"); +static const u8 sOakSpriteGfx[] = INCBIN_U8("data/fame_checker/img_845ed80.4bpp"); +static const u16 sOakSpritePalette[] = INCBIN_U16("data/fame_checker/pal_845f580.gbapal"); static const u16 gUnknown_845F5A0[] = INCBIN_U16("data/fame_checker/pal_845f5a0.gbapal"); static const u16 gUnknown_845F5C0[] = INCBIN_U16("data/fame_checker/pal_845f5c0.gbapal"); @@ -181,38 +182,8 @@ static const u8 *const gUnknown_845F60C[] = { }; static const u8 gUnknown_845F61C[] = { - 0x56, - 0x54, - 0x74, - 0x75, - 0x76, - 0x77, - 0x78, - 0x7a, - 0x79, - 0x70, - 0x71, - 0x72, - 0x73, - 0x64, - 0x7b, - 0x6c, - 0x00, - 0x01, - 0x00, - 0x01, - 0x00, - 0x01, - 0x00, - 0x01, - 0x00, - 0x01, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x00 + 0x56, 0x54, 0x74, 0x75, 0x76, 0x77, 0x78, 0x7a, 0x79, 0x70, 0x71, 0x72, 0x73, 0x64, 0x7b, 0x6c, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 }; static const u8 *const gUnknown_845F63C[] = { @@ -269,7 +240,7 @@ static const u8 *const gUnknown_845F6BC[] = { gUnknown_81AFE68, gUnknown_81AFF23, gUnknown_81AFFA8, gUnknown_81B0022, gUnknown_81B00A6, gUnknown_81B0106 }; -static const u8 gUnknown_845F83C[] = { +static const u8 sFameCheckerArrayNpcGraphicsIds[] = { 0x67, 0x47, 0x30, 0x69, 0x4b, 0x37, 0x37, 0x30, 0x3d, 0x69, 0x23, 0x69, 0x66, 0x50, 0x1b, 0x13, 0x1e, 0x69, @@ -327,19 +298,19 @@ static const u8 *const gUnknown_845FA1C[] = { }; static const struct SpriteSheet gUnknown_845FB9C[] = { - {gUnknown_845D100, 0x400, SPRITETAG_1000}, - {gUnknown_845CE00, 0x100, SPRITETAG_1001}, - {gUnknown_845CF00, 0x1e0, SPRITETAG_1002}, - {gUnknown_845E560, 0x800, SPRITETAG_1006}, - {gUnknown_845D520, 0x800, SPRITETAG_1007}, - {gUnknown_845ED80, 0x800, SPRITETAG_1008}, - {gUnknown_845DD40, 0x800, SPRITETAG_1009}, + {sSelectorCursorSpriteGfx, 0x400, SPRITETAG_1000}, + {sQuestionMarkSpriteGfx, 0x100, SPRITETAG_1001}, + {sSpinningPokeballSpriteGfx, 0x1e0, SPRITETAG_1002}, + {sDaisySpriteGfx, 0x800, SPRITETAG_1006}, + {sFujiSpriteGfx, 0x800, SPRITETAG_1007}, + {sOakSpriteGfx, 0x800, SPRITETAG_1008}, + {sBillSpriteGfx, 0x800, SPRITETAG_1009}, {} }; static const struct SpritePalette gUnknown_845FBDC[] = { - {gUnknown_845D500, SPRITETAG_1000}, - {gUnknown_845D0E0, SPRITETAG_1002}, + {sSelectorCursorSpritePalette, SPRITETAG_1000}, + {sSpinningPokeballSpritePalette, SPRITETAG_1002}, {} }; @@ -449,7 +420,7 @@ static const union AffineAnimCmd *const gUnknown_845FCB4[] = { gUnknown_845FCA4 }; -static const struct SpriteTemplate gUnknown_845FCB8 = { +static const struct SpriteTemplate sSpinningPokeballSpriteTemplate = { SPRITETAG_1002, SPRITETAG_1002, &gOamData_845FC9C, gUnknown_845FC98, NULL, gUnknown_845FCB4, sub_812D840 }; @@ -466,19 +437,19 @@ static const struct OamData gOamData_845FCDC = { .size = 3 }; -static const struct SpriteTemplate gUnknown_845FCE4 = { +static const struct SpriteTemplate sDaisySpriteTemplate = { SPRITETAG_1006, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -static const struct SpriteTemplate gUnknown_845FCFC = { +static const struct SpriteTemplate sFujiSpriteTemplate = { SPRITETAG_1007, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -static const struct SpriteTemplate gUnknown_845FD14 = { +static const struct SpriteTemplate sOakSpriteTemplate = { SPRITETAG_1008, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -static const struct SpriteTemplate gUnknown_845FD2C = { +static const struct SpriteTemplate sBillSpriteTemplate = { SPRITETAG_1009, 0xffff, &gOamData_845FCDC, gUnknown_845FCD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; @@ -541,7 +512,7 @@ static void sub_812C3F8(void) LoadPalette(gUnknown_8E9F220 + 0x00, 0x00, 0x40); LoadPalette(gUnknown_8E9F220 + 0x10, 0x10, 0x20); CopyToBgTilemapBufferRect(2, gUnknown_8EA0F00, 0, 0, 32, 32); - CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_845C600, 30, 0, 32, 32, 0x11); + CopyToBgTilemapBufferRect_ChangePalette(1, sFameCheckerTilemap, 30, 0, 32, 32, 0x11); LoadPalette(stdpal_get(2), 0xF0, 0x20); gMain.state++; break; @@ -610,16 +581,16 @@ static void sub_812C694(u8 taskId) if (FindTaskIdByFunc(sub_812E110) == 0xFF) { RunTextPrinters(); - if ((JOY_NEW(SELECT_BUTTON)) && !sFameCheckerData->unk_07_1 && sFameCheckerData->savedCallback != sub_8107EB8) + if ((JOY_NEW(SELECT_BUTTON)) && !sFameCheckerData->inPickMode && sFameCheckerData->savedCallback != UseFameCheckerFromMenu) task->func = sub_812CF3C; else if (JOY_NEW(START_BUTTON)) { - r4 = sub_812E064(); + r4 = FameCheckerGetCursorY(); if (sub_812C8F8(taskId) == TRUE) { PlaySE(SE_W100); } - else if (r4 != sFameCheckerData->unk_07_2 - 1) + else if (r4 != sFameCheckerData->numUnlockedPersons - 1) { PlaySE(SE_W100); FillWindowPixelRect(3, 0x00, 0, 0, 88, 32); @@ -639,9 +610,9 @@ static void sub_812C694(u8 taskId) else if (JOY_NEW(A_BUTTON)) { r4 = ListMenuHandleInput(0); - if (r4 == sFameCheckerData->unk_07_2 - 1) + if (r4 == sFameCheckerData->numUnlockedPersons - 1) task->func = sub_812CF3C; - else if (sFameCheckerData->unk_07_1) + else if (sFameCheckerData->inPickMode) { if (!IsTextPrinterActive(2) && sub_812D6B4() == TRUE) sub_812CD3C(); @@ -680,7 +651,7 @@ static void sub_812C694(u8 taskId) static bool8 sub_812C8F8(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) { gSprites[task->data[2]].data[0] = 2; gSprites[task->data[2]].pos2.x += 10; @@ -706,7 +677,7 @@ static void sub_812C9BC(u8 taskId) if (gSprites[task->data[2]].data[0] == 0) { sub_812CD3C(); - sFameCheckerData->unk_07_1 = TRUE; + sFameCheckerData->inPickMode = TRUE; task->func = sub_812C694; } else @@ -726,8 +697,8 @@ static void sub_812CA1C(u8 taskId) sub_812D0F4(0); sub_812E178(1, 4); sub_812E178(2, 2); - sFameCheckerData->unk_07_1 = FALSE; - sub_812D9A8(taskId, sub_812E064()); + sFameCheckerData->inPickMode = FALSE; + sub_812D9A8(taskId, FameCheckerGetCursorY()); task->func = sub_812C694; gSprites[task->data[3]].callback = sub_812D800; } @@ -825,7 +796,7 @@ static void sub_812CC68(u8 taskId, s8 dx, s8 dy) static void sub_812CD3C(void) { u8 r8 = 0; - u16 r6 = sub_812E064(); + u16 r6 = FameCheckerGetCursorY(); if (gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[r6]].unk_0_0 != 2) { sub_812CE9C(); @@ -845,7 +816,7 @@ static void sub_812CD3C(void) static void sub_812CE04(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 r5 = sub_812E064(); + u16 r5 = FameCheckerGetCursorY(); FillWindowPixelRect(2, 0x11, 0, 0, 0xd0, 0x20); StringExpandPlaceholders(gStringVar4, gUnknown_845F6BC[sFameCheckerData->unlockedPersons[r5] * 6 + data[1]]); AddTextPrinterParametrized(2, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); @@ -895,9 +866,9 @@ static void sub_812CF7C(u8 taskId) if (!gPaletteFade.active) { - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) { - sub_812D9A8(taskId, sub_812E064()); + sub_812D9A8(taskId, FameCheckerGetCursorY()); FreeSpriteOamMatrix(&gSprites[gTasks[taskId].data[3]]); DestroySprite(&gSprites[gTasks[taskId].data[3]]); } @@ -981,7 +952,7 @@ static bool8 sub_812D1A8(u8 a0) if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[a0]].unk_0_2 >> r6) & 1) { sFameCheckerData->spriteIds[r6] = sub_805EB44( - gUnknown_845F83C[sFameCheckerData->unlockedPersons[a0] * 6 + r6], + sFameCheckerArrayNpcGraphicsIds[sFameCheckerData->unlockedPersons[a0] * 6 + r6], r6, 47 * (r6 % 3) + 0x72, 27 * (r6 / 3) + 0x2F @@ -990,7 +961,7 @@ static bool8 sub_812D1A8(u8 a0) } else { - sFameCheckerData->spriteIds[r6] = sub_812D780( + sFameCheckerData->spriteIds[r6] = PlaceQuestionMarkTile( 47 * (r6 % 3) + 0x72, 27 * (r6 / 3) + 0x1F ); @@ -1000,7 +971,7 @@ static bool8 sub_812D1A8(u8 a0) if (r5 == TRUE) { sFameCheckerData->unk_07_0 = TRUE; - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) sub_812D0F4(TRUE); else sub_812D0F4(FALSE); @@ -1120,7 +1091,7 @@ static void sub_812D650(void) static bool8 sub_812D6B4(void) { u8 r2; - u8 r1 = sFameCheckerData->unlockedPersons[sub_812E064()]; + u8 r1 = sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()]; for (r2 = 0; r2 < 6; r2++) { if (!((gSaveBlock1Ptr->fameChecker[r1].unk_0_2 >> r2) & 1)) @@ -1152,7 +1123,7 @@ static void sub_812D770(void) FreeSpriteTilesByTag(SPRITETAG_1001); } -static u8 sub_812D780(u8 x, u8 y) +static u8 PlaceQuestionMarkTile(u8 x, u8 y) { u8 spriteId = CreateSprite(&gUnknown_845FC78, x, y, 8); gSprites[spriteId].oam.priority = 2; @@ -1168,7 +1139,7 @@ static void sub_812D7C8(void) static u8 sub_812D7E4(void) { - return CreateSprite(&gUnknown_845FCB8, 0xe2, 0x42, 0); + return CreateSprite(&sSpinningPokeballSpriteTemplate, 0xe2, 0x42, 0); } static void sub_812D800(struct Sprite * sprite) @@ -1212,28 +1183,28 @@ static void sub_812D840(struct Sprite * sprite) static u8 sub_812D888(u8 a0) { u8 r4; - if (a0 == 1) + if (a0 == FAMECHECKER_DAISY) { - r4 = CreateSprite(&gUnknown_845FCE4, 0x94, 0x42, 0); - LoadPalette(gUnknown_845ED60, 0x160, 0x20); + r4 = CreateSprite(&sDaisySpriteTemplate, 0x94, 0x42, 0); + LoadPalette(sDaisySpritePalette, 0x160, 0x20); gSprites[r4].oam.paletteNum = 6; } - else if (a0 == 14) + else if (a0 == FAMECHECKER_MRFUJI) { - r4 = CreateSprite(&gUnknown_845FCFC, 0x94, 0x42, 0); - LoadPalette(gUnknown_845DD20, 0x160, 0x20); + r4 = CreateSprite(&sFujiSpriteTemplate, 0x94, 0x42, 0); + LoadPalette(sFujiSpritePalette, 0x160, 0x20); gSprites[r4].oam.paletteNum = 6; } - else if (a0 == 0) + else if (a0 == FAMECHECKER_OAK) { - r4 = CreateSprite(&gUnknown_845FD14, 0x94, 0x42, 0); - LoadPalette(gUnknown_845F580, 0x160, 0x20); + r4 = CreateSprite(&sOakSpriteTemplate, 0x94, 0x42, 0); + LoadPalette(sOakSpritePalette, 0x160, 0x20); gSprites[r4].oam.paletteNum = 6; } - else if (a0 == 13) + else if (a0 == FAMECHECKER_BILL) { - r4 = CreateSprite(&gUnknown_845FD2C, 0x94, 0x42, 0); - LoadPalette(gUnknown_845E540, 0x160, 0x20); + r4 = CreateSprite(&sBillSpriteTemplate, 0x94, 0x42, 0); + LoadPalette(sBillSpritePalette, 0x160, 0x20); gSprites[r4].oam.paletteNum = 6; } else @@ -1250,12 +1221,12 @@ static void sub_812D9A8(u8 taskId, u16 a1) { s16 * data = gTasks[taskId].data; u16 r1 = a1; - if (a1 == sFameCheckerData->unk_07_2 - 1) + if (a1 == sFameCheckerData->numUnlockedPersons - 1) r1 = a1 - 1; - if ( sFameCheckerData->unlockedPersons[r1] == 1 - || sFameCheckerData->unlockedPersons[r1] == 14 - || sFameCheckerData->unlockedPersons[r1] == 0 - || sFameCheckerData->unlockedPersons[r1] == 13 + if ( sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_DAISY + || sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_MRFUJI + || sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_OAK + || sFameCheckerData->unlockedPersons[r1] == FAMECHECKER_BILL ) DestroySprite(&gSprites[data[2]]); else @@ -1265,7 +1236,7 @@ static void sub_812D9A8(u8 taskId, u16 a1) static void sub_812DA14(u8 a0) { s32 width; - u32 r5 = 6 * sFameCheckerData->unlockedPersons[sub_812E064()] + a0; + u32 r5 = 6 * sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()] + a0; sub_812E094(1); gUnknown_3005EC8 = 1; FillWindowPixelRect(3, 0x00, 0, 0, 0x58, 0x20); @@ -1286,7 +1257,7 @@ static void sub_812DB10(void) static void sub_812DB28(void) { sub_812DB64(); - sFameCheckerData->unk_07_2 = sub_812DEF0(); + sFameCheckerData->numUnlockedPersons = sub_812DEF0(); sFameCheckerData->scrollIndicatorArrowObjectTaskId = ListMenuInit(&gFameChecker_ListMenuTemplate, 0, 0); sub_812DFE4(0); } @@ -1329,11 +1300,11 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) task->data[1] = 0; get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp8, NULL); sFameCheckerData->unk_04 = sp8; - if (itemIndex != sFameCheckerData->unk_07_2 - 1) + if (itemIndex != sFameCheckerData->numUnlockedPersons - 1) { sub_812D174(); sub_812D1A8(itemIndex); - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) { if (!sFameCheckerData->unk_23_2) { @@ -1358,7 +1329,7 @@ static void sub_812DBC0(s32 itemIndex, bool8 onInit, struct ListMenu *list) else { sub_812DDAC(); - if (sFameCheckerData->unk_07_1) + if (sFameCheckerData->inPickMode) { gSprites[task->data[2]].invisible = TRUE; sFameCheckerData->unk_23_2 = TRUE; @@ -1403,7 +1374,7 @@ static void sub_812DDF0(s32 itemIndex, bool8 onInit) { if (sp14 < sFameCheckerData->unk_0A) sFameCheckerData->unk_0B++; - else if (sp14 > sFameCheckerData->unk_0A && r6 != sFameCheckerData->unk_07_2 - 1) + else if (sp14 > sFameCheckerData->unk_0A && r6 != sFameCheckerData->numUnlockedPersons - 1) sFameCheckerData->unk_0B--; AddTextPrinterParametrized2(0, 2, 8, 14 * sFameCheckerData->unk_0B + 4, 0, 0, &gUnknown_845F5E3, 0, sListMenuItems[sFameCheckerData->unk_09].unk_00); @@ -1472,21 +1443,21 @@ static void sub_812E000(void) 0 }; - if (sFameCheckerData->unk_07_2 > 5) + if (sFameCheckerData->numUnlockedPersons > 5) { sp0.unk_06 = 0; - sp0.unk_08 = sFameCheckerData->unk_07_2 - 5; + sp0.unk_08 = sFameCheckerData->numUnlockedPersons - 5; sFameCheckerData->unk_06 = AddScrollIndicatorArrowPair(&sp0, &sFameCheckerData->unk_04); } } static void sub_812E048(void) { - if (sFameCheckerData->unk_07_2 > 5) + if (sFameCheckerData->numUnlockedPersons > 5) RemoveScrollIndicatorArrowPair(sFameCheckerData->unk_06); } -static u16 sub_812E064(void) +static u16 FameCheckerGetCursorY(void) { u16 sp0, sp2; get_coro_args_x18_x1A(sFameCheckerData->scrollIndicatorArrowObjectTaskId, &sp0, &sp2); |