diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-06-27 20:17:39 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-06-27 20:17:39 -0400 |
commit | 25355e8530142e6ad88f4173c3c3dc9d881d7fa8 (patch) | |
tree | 702b9b02fa7be4df1bb9e4e3173e2cc70152883c | |
parent | 3661177dc197119b53ff4a677359d27272c816e0 (diff) |
sub_810B998 and ALL the data
-rwxr-xr-x | asm/pokeblock.s | 89 | ||||
-rw-r--r-- | data/pokeblock.s | 125 | ||||
-rwxr-xr-x[-rw-r--r--] | include/battle.h | 1 | ||||
-rwxr-xr-x[-rw-r--r--] | include/decoration.h | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | include/graphics.h | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | include/menu.h | 6 | ||||
-rwxr-xr-x | include/pokeblock.h | 5 | ||||
-rwxr-xr-x[-rw-r--r--] | include/strings.h | 15 | ||||
-rwxr-xr-x | ld_script.txt | 1 | ||||
-rwxr-xr-x[-rw-r--r--] | src/decoration.c | 8 | ||||
-rwxr-xr-x | src/pokeblock.c | 173 | ||||
-rw-r--r-- | src/pokemon_3.c | 6 |
12 files changed, 211 insertions, 228 deletions
diff --git a/asm/pokeblock.s b/asm/pokeblock.s index eb173c3ba..4fc58f296 100755 --- a/asm/pokeblock.s +++ b/asm/pokeblock.s @@ -6,91 +6,6 @@ .text - thumb_func_start sub_810B998 -sub_810B998: @ 810B998 - push {lr} - ldr r0, _0810B9B0 @ =0x02000000 - ldr r1, _0810B9B4 @ =0x0001ffff - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810BA48 - lsls r0, 2 - ldr r1, _0810B9B8 @ =_0810B9BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810B9B0: .4byte 0x02000000 -_0810B9B4: .4byte 0x0001ffff -_0810B9B8: .4byte _0810B9BC - .align 2, 0 -_0810B9BC: - .4byte _0810B9D0 - .4byte _0810B9E4 - .4byte _0810B9F8 - .4byte _0810BA08 - .4byte _0810BA28 -_0810B9D0: - ldr r0, _0810B9DC @ =gMenuPokeblock_Gfx - ldr r1, _0810B9E0 @ =0x06008000 - bl LZDecompressVram - b _0810BA0E - .align 2, 0 -_0810B9DC: .4byte gMenuPokeblock_Gfx -_0810B9E0: .4byte 0x06008000 -_0810B9E4: - ldr r0, _0810B9F0 @ =gMenuPokeblock_Tilemap - ldr r1, _0810B9F4 @ =gBGTilemapBuffers + 0x1000 - bl sub_800D238 - b _0810BA0E - .align 2, 0 -_0810B9F0: .4byte gMenuPokeblock_Tilemap -_0810B9F4: .4byte gBGTilemapBuffers + 0x1000 -_0810B9F8: - ldr r0, _0810BA04 @ =gMenuPokeblock_Pal - movs r1, 0 - movs r2, 0xC0 - bl LoadCompressedPalette - b _0810BA0E - .align 2, 0 -_0810BA04: .4byte gMenuPokeblock_Pal -_0810BA08: - ldr r0, _0810BA1C @ =gUnknown_083F7F74 - bl LoadCompressedObjectPic -_0810BA0E: - ldr r1, _0810BA20 @ =0x02000000 - ldr r0, _0810BA24 @ =0x0001ffff - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0810BA48 - .align 2, 0 -_0810BA1C: .4byte gUnknown_083F7F74 -_0810BA20: .4byte 0x02000000 -_0810BA24: .4byte 0x0001ffff -_0810BA28: - ldr r0, _0810BA3C @ =gUnknown_083F7F7C - bl LoadCompressedObjectPalette - ldr r0, _0810BA40 @ =0x02000000 - ldr r1, _0810BA44 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0810BA4A - .align 2, 0 -_0810BA3C: .4byte gUnknown_083F7F7C -_0810BA40: .4byte 0x02000000 -_0810BA44: .4byte 0x0001ffff -_0810BA48: - movs r0, 0 -_0810BA4A: - pop {r1} - bx r1 - thumb_func_end sub_810B998 - thumb_func_start sub_810BA50 sub_810BA50: @ 810BA50 push {r4,r5,lr} @@ -2213,7 +2128,7 @@ sub_810CAE4: @ 810CAE4 lsrs r0, 24 movs r6, 0 movs r4, 0 - ldr r1, _0810CB40 @ =gUnknown_083F7E28 + ldr r1, _0810CB40 @ =gPokeblockFlavorCompatibilityTable mov r9, r1 lsls r1, r0, 2 adds r7, r1, r0 @@ -2252,7 +2167,7 @@ _0810CB2A: pop {r1} bx r1 .align 2, 0 -_0810CB40: .4byte gUnknown_083F7E28 +_0810CB40: .4byte gPokeblockFlavorCompatibilityTable thumb_func_end sub_810CAE4 thumb_func_start sub_810CB44 diff --git a/data/pokeblock.s b/data/pokeblock.s deleted file mode 100644 index 6d0b1890d..000000000 --- a/data/pokeblock.s +++ /dev/null @@ -1,125 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_083F7E28:: @ 83F7E28 - .byte 0, 0, 0, 0, 0 - .byte 1, 0, 0, 0, -1 - .byte 1, 0, -1, 0, 0 - .byte 1, -1, 0, 0, 0 - .byte 1, 0, 0, -1, 0 - .byte -1, 0, 0, 0, 1 - .byte 0, 0, 0, 0, 0 - .byte 0, 0, -1, 0, 1 - .byte 0, -1, 0, 0, 1 - .byte 0, 0, 0, -1, 1 - .byte -1, 0, 1, 0, 0 - .byte 0, 0, 1, 0, -1 - .byte 0, 0, 0, 0, 0 - .byte 0, -1, 1, 0, 0 - .byte 0, 0, 1, -1, 0 - .byte -1, 1, 0, 0, 0 - .byte 0, 1, 0, 0, -1 - .byte 0, 1, -1, 0, 0 - .byte 0, 0, 0, 0, 0 - .byte 0, 1, 0, -1, 0 - .byte -1, 0, 0, 1, 0 - .byte 0, 0, 0, 1, -1 - .byte 0, 0, -1, 1, 0 - .byte 0, -1, 0, 1, 0 - .byte 0, 0, 0, 0, 0 - - .align 2 -gUnknown_083F7EA8:: @ 83F7EA8 - .4byte sub_80A5B40, c2_exit_to_overworld_2_switch - .4byte sub_802E424, c2_exit_to_overworld_2_switch - - .align 2 -gPokeblockNames:: @ 83F7EB8 - .4byte NULL - .4byte ContestStatsText_RedPokeBlock - .4byte ContestStatsText_BluePokeBlock - .4byte ContestStatsText_PinkPokeBlock - .4byte ContestStatsText_GreenPokeBlock - .4byte ContestStatsText_YellowPokeBlock - .4byte ContestStatsText_PurplePokeBlock - .4byte ContestStatsText_IndigoPokeBlock - .4byte ContestStatsText_BrownPokeBlock - .4byte ContestStatsText_LiteBluePokeBlock - .4byte ContestStatsText_OlivePokeBlock - .4byte ContestStatsText_GrayPokeBlock - .4byte ContestStatsText_BlackPokeBlock - .4byte ContestStatsText_WhitePokeBlock - .4byte ContestStatsText_GoldPokeBlock - - .align 2 -gUnknown_083F7EF4:: @ 83F7EF4 - .4byte OtherText_Use, sub_810C508 - .4byte OtherText_Toss, sub_810C5C0 - .4byte gOtherText_CancelNoTerminator, sub_810C748 - .4byte OtherText_Use, sub_810C788 - .4byte OtherText_Use, sub_810C854 - -gUnknown_083F7F1C:: @ 83F7F1C - .byte 0, 1, 2 - -gUnknown_083F7F1F:: @ 83F7F1F - .byte 3, 2 - -gUnknown_083F7F21:: @ 83F7F21 - .byte 4, 2 - - .align 2 -gUnknown_083F7F24:: @ 83F7F24 - .4byte sub_810C610 - .4byte sub_810C668 - -@ unreferenced - .byte 0x16, 0x17, 0x18, 0x21, 0x2F - - .align 2 -gOamData_83F7F34:: @ 83F7F34 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83F7F3C:: @ 83F7F3C - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83F7F44:: @ 83F7F44 - .4byte gSpriteAnim_83F7F3C - - .align 2 -gSpriteAffineAnim_83F7F48:: @ 83F7F48 - obj_rot_scal_anim_frame 0x0, 0x0, -2, 2 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, -2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83F7F70:: @ 83F7F70 - .4byte gSpriteAffineAnim_83F7F48 - - .align 2 -gUnknown_083F7F74:: @ 83F7F74 - obj_tiles gMenuPokeblockDevice_Gfx, 2048, 0x39d0 - - .align 2 -gUnknown_083F7F7C:: @ 83F7F7C - obj_pal gMenuPokeblockDevice_Pal, 0x39d0 - - .align 2 -gSpriteTemplate_83F7F84:: @ 83F7F84 - spr_template 14800, 14800, gOamData_83F7F34, gSpriteAnimTable_83F7F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083F7F9C:: @ 83F7F9C - .byte 1, 20, 0, 0, 0, 0, 20, 0 - .byte 2, 0, 20, 0, 0, 0, 20, 0 - .byte 3, 0, 0, 20, 0, 0, 20, 0 - .byte 4, 0, 0, 0, 20, 0, 20, 0 - .byte 5, 0, 0, 0, 0, 20, 20, 0 diff --git a/include/battle.h b/include/battle.h index d93860094..a480ca95e 100644..100755 --- a/include/battle.h +++ b/include/battle.h @@ -308,6 +308,7 @@ void c3_0802FDF4(u8); void sub_802E3E4(u8, int); void nullsub_8(u8); void sub_802E414(void); +void sub_802E424(void); // asm/battle_7.o void move_anim_start_t4(u8 a, u8 b, u8 c, u8 d); diff --git a/include/decoration.h b/include/decoration.h index 2595d491a..7a6d8ef5a 100644..100755 --- a/include/decoration.h +++ b/include/decoration.h @@ -274,7 +274,7 @@ extern const u8 *const gUnknown_083EC5E4[]; extern const u8 *const gUnknown_083EC624[]; extern u8 gUnknown_020388F7[]; extern const struct MenuAction2 gUnknown_083EC604[]; -extern const struct MenuAction3 gUnknown_083EC634[]; +extern const struct YesNoFuncTable gUnknown_083EC634[]; extern const u8 gUnknown_083EC65A[]; extern const u8 gUnknown_083EC97C[]; extern const u8 gUnknown_083EC984[]; diff --git a/include/graphics.h b/include/graphics.h index c3fe20996..36b11fd0a 100644..100755 --- a/include/graphics.h +++ b/include/graphics.h @@ -2435,4 +2435,12 @@ extern const u8 gMonFrontPic_UnownQuestionMark[]; extern const u8 gMonBackPic_UnownQuestionMark[]; extern const u8 gMonIcon_UnownQuestionMark[]; +// src/pokeblock.c +extern const u8 gMenuPokeblock_Gfx[]; +extern const u8 gMenuPokeblock_Tilemap[]; +extern const u8 gMenuPokeblock_Pal[]; + +extern const u8 gMenuPokeblockDevice_Gfx[]; +extern const u8 gMenuPokeblockDevice_Pal[]; + #endif // GUARD_GRAPHICS_H diff --git a/include/menu.h b/include/menu.h index 9eeebce60..7d4bc731b 100644..100755 --- a/include/menu.h +++ b/include/menu.h @@ -15,12 +15,6 @@ struct MenuAction2 void (*func)(u8); }; -struct MenuAction3 -{ - void (*func1)(u8); - void (*func2)(u8); -}; - extern const struct MenuAction gMenuYesNoItems[]; extern struct Window gMenuWindow; diff --git a/include/pokeblock.h b/include/pokeblock.h index 353c3d050..958ccec5f 100755 --- a/include/pokeblock.h +++ b/include/pokeblock.h @@ -1,6 +1,11 @@ #ifndef GUARD_POKEBLOCK_H #define GUARD_POKEBLOCK_H +struct YesNoCBTable { + void (*yesFunc)(void); + void (*noFunc)(void); +}; + extern u8 ewram[]; extern u8 gUnknown_02039244; extern u8 gUnknown_02039248[2]; diff --git a/include/strings.h b/include/strings.h index 89a78e478..a1fcc30cb 100644..100755 --- a/include/strings.h +++ b/include/strings.h @@ -902,4 +902,19 @@ extern const u8 gSystemText_NoSaveFileNoTime[]; extern const u8 gSystemText_ClockAdjustmentUsable[]; extern const u8 gSystemText_Saving[]; +extern const u8 ContestStatsText_RedPokeBlock[]; +extern const u8 ContestStatsText_BluePokeBlock[]; +extern const u8 ContestStatsText_PinkPokeBlock[]; +extern const u8 ContestStatsText_GreenPokeBlock[]; +extern const u8 ContestStatsText_YellowPokeBlock[]; +extern const u8 ContestStatsText_PurplePokeBlock[]; +extern const u8 ContestStatsText_IndigoPokeBlock[]; +extern const u8 ContestStatsText_BrownPokeBlock[]; +extern const u8 ContestStatsText_LiteBluePokeBlock[]; +extern const u8 ContestStatsText_OlivePokeBlock[]; +extern const u8 ContestStatsText_GrayPokeBlock[]; +extern const u8 ContestStatsText_BlackPokeBlock[]; +extern const u8 ContestStatsText_WhitePokeBlock[]; +extern const u8 ContestStatsText_GoldPokeBlock[]; + #endif diff --git a/ld_script.txt b/ld_script.txt index 8ea76638d..6c4894d1e 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -440,7 +440,6 @@ SECTIONS { src/starter_choose.o(.rodata); src/wallclock.o(.rodata); src/pokeblock.o(.rodata); - data/pokeblock.o(.rodata); data/fldeff_flash.o(.rodata); src/time_events.o(.rodata); data/field_specials.o(.rodata); diff --git a/src/decoration.c b/src/decoration.c index 9eba54ad7..e829cb072 100644..100755 --- a/src/decoration.c +++ b/src/decoration.c @@ -1396,7 +1396,7 @@ const u8 *const gUnknown_083EC624[] = { gMenuText_GoBackToPrev }; -const struct MenuAction3 gUnknown_083EC634[] = { +const struct YesNoFuncTable gUnknown_083EC634[] = { {sub_80FF5BC, sub_80FF058}, {sub_81017A0, sub_80FF058}, {sub_81017A0, sub_80FF058}, @@ -1871,16 +1871,16 @@ void sub_80FE948(u8 taskId) gUnknown_020388F5 = gUnknown_020388F2 + gUnknown_020388F4; if (gUnknown_020388F5 == gUnknown_020388D5) { - gUnknown_083EC634[gTasks[taskId].data[11]].func2(taskId); + gUnknown_083EC634[gTasks[taskId].data[11]].noFunc(taskId); } else { - gUnknown_083EC634[gTasks[taskId].data[11]].func1(taskId); + gUnknown_083EC634[gTasks[taskId].data[11]].yesFunc(taskId); } } else if (gMain.newKeys & B_BUTTON) { HandleDestroyMenuCursors(); PlaySE(SE_SELECT); - gUnknown_083EC634[gTasks[taskId].data[11]].func2(taskId); + gUnknown_083EC634[gTasks[taskId].data[11]].noFunc(taskId); } } } diff --git a/src/pokeblock.c b/src/pokeblock.c index 76a06c5ea..7b67eb408 100755 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -5,15 +5,158 @@ #include "global.h" #include "rom4.h" #include "sprite.h" +#include "strings.h" #include "task.h" #include "unknown_task.h" #include "text.h" #include "main.h" #include "menu.h" #include "palette.h" +#include "graphics.h" +#include "decompress.h" #include "menu_helpers.h" +#include "battle.h" +#include "item_menu.h" #include "pokeblock.h" +// rodata + +const s8 gPokeblockFlavorCompatibilityTable[][5] = { + // Cool, Beauty, Cute, Smart, Tough + { 0, 0, 0, 0, 0}, // Hardy + { 1, 0, 0, 0, -1}, // Lonely + { 1, 0, -1, 0, 0}, // Brave + { 1, -1, 0, 0, 0}, // Adamant + { 1, 0, 0, -1, 0}, // Naughty + { -1, 0, 0, 0, 1}, // Bold + { 0, 0, 0, 0, 0}, // Docile + { 0, 0, -1, 0, 1}, // Relaxed + { 0, -1, 0, 0, 1}, // Impish + { 0, 0, 0, -1, 1}, // Lax + { -1, 0, 1, 0, 0}, // Timid + { 0, 0, 1, 0, -1}, // Hasty + { 0, 0, 0, 0, 0}, // Serious + { 0, -1, 1, 0, 0}, // Jolly + { 0, 0, 1, -1, 0}, // Naive + { -1, 1, 0, 0, 0}, // Modest + { 0, 1, 0, 0, -1}, // Mild + { 0, 1, -1, 0, 0}, // Quiet + { 0, 0, 0, 0, 0}, // Bashful + { 0, 1, 0, -1, 0}, // Rash + { -1, 0, 0, 1, 0}, // Calm + { 0, 0, 0, 1, -1}, // Gentle + { 0, 0, -1, 1, 0}, // Sassy + { 0, -1, 0, 1, 0}, // Careful + { 0, 0, 0, 0, 0} // Quirky +}; + +void (*const gUnknown_083F7EA8[])(void) = { + sub_80A5B40, + c2_exit_to_overworld_2_switch, + sub_802E424, + c2_exit_to_overworld_2_switch +}; + +const u8 *const gPokeblockNames[] = { + NULL, + ContestStatsText_RedPokeBlock, + ContestStatsText_BluePokeBlock, + ContestStatsText_PinkPokeBlock, + ContestStatsText_GreenPokeBlock, + ContestStatsText_YellowPokeBlock, + ContestStatsText_PurplePokeBlock, + ContestStatsText_IndigoPokeBlock, + ContestStatsText_BrownPokeBlock, + ContestStatsText_LiteBluePokeBlock, + ContestStatsText_OlivePokeBlock, + ContestStatsText_GrayPokeBlock, + ContestStatsText_BlackPokeBlock, + ContestStatsText_WhitePokeBlock, + ContestStatsText_GoldPokeBlock +}; + +void sub_810C508(u8); +void sub_810C5C0(u8); +void sub_810C748(u8); +void sub_810C788(u8); +void sub_810C854(u8); + +const struct MenuAction2 gUnknown_083F7EF4[] = { + OtherText_Use, sub_810C508, + OtherText_Toss, sub_810C5C0, + gOtherText_CancelNoTerminator, sub_810C748, + OtherText_Use, sub_810C788, + OtherText_Use, sub_810C854, +}; + +const u8 gUnknown_083F7F1C[] = {0, 1, 2}; +const u8 gUnknown_083F7F1F[] = {3, 2}; +const u8 gUnknown_083F7F21[] = {4, 2}; + +void sub_810C610(u8); +void sub_810C668(u8); + +const struct YesNoFuncTable gUnknown_083F7F24[] = {sub_810C610, sub_810C668}; + +const u8 UnreferencedData_083F7F2C[] = {0x16, 0x17, 0x18, 0x21, 0x2f}; + +const struct OamData gOamData_83F7F34 = { + .size = 3, + .priority = 2 +}; + +const union AnimCmd gSpriteAnim_83F7F3C[] = { + ANIMCMD_FRAME(.imageValue = 0, .duration = 0), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_83F7F44[] = { + gSpriteAnim_83F7F3C +}; + +const union AffineAnimCmd gSpriteAffineAnim_83F7F48[] = { + AFFINEANIMCMD_FRAME(0, 0, -2, 2), + AFFINEANIMCMD_FRAME(0, 0, 2, 4), + AFFINEANIMCMD_FRAME(0, 0, -2, 4), + AFFINEANIMCMD_FRAME(0, 0, 2, 2), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83F7F70[] = { + gSpriteAffineAnim_83F7F48 +}; + +const struct CompressedSpriteSheet gUnknown_083F7F74 = { + gMenuPokeblockDevice_Gfx, + 0x800, + 0x39d0 +}; + +const struct CompressedSpritePalette gUnknown_083F7F7C = { + gMenuPokeblockDevice_Pal, + 0x39d0 +}; + +const struct SpriteTemplate gSpriteTemplate_83F7F84 = { + 0x39d0, + 0x39d0, + &gOamData_83F7F34, + gSpriteAnimTable_83F7F44, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +const u8 gUnknown_083F7F9C[][8] = { + { 1, 20, 0, 0, 0, 0, 20, 0}, + { 2, 0, 20, 0, 0, 0, 20, 0}, + { 3, 0, 0, 20, 0, 0, 20, 0}, + { 4, 0, 0, 0, 20, 0, 20, 0}, + { 5, 0, 0, 0, 0, 20, 20, 0} +}; + +// text + static void sub_810B674(void) { AnimateSprites(); @@ -34,7 +177,7 @@ static void sub_810B68C(void) DmaCopy16(3, src, dest, sizeof gBGTilemapBuffers[2]); } -bool8 sub_810B998(void); +static bool8 sub_810B998(void); u8 sub_810BA50(s16, s16, u8); void sub_810BC98(void); void sub_810BD08(void); @@ -168,3 +311,31 @@ void sub_810B96C(void) } } while (sub_80F9344() != TRUE); } + +static bool8 sub_810B998(void) +{ + switch (ewram[0x1ffff]) + { + case 0: + LZDecompressVram(gMenuPokeblock_Gfx, (void *)VRAM + 0x8000); + ewram[0x1ffff]++; + break; + case 1: + sub_800D238(gMenuPokeblock_Tilemap, gBGTilemapBuffers[2]); + ewram[0x1ffff]++; + break; + case 2: + LoadCompressedPalette(gMenuPokeblock_Pal, 0, 0xc0); + ewram[0x1ffff]++; + break; + case 3: + LoadCompressedObjectPic(&gUnknown_083F7F74); + ewram[0x1ffff]++; + break; + case 4: + LoadCompressedObjectPalette(&gUnknown_083F7F7C); + ewram[0x1ffff] = 0; + return TRUE; + } + return FALSE; +} diff --git a/src/pokemon_3.c b/src/pokemon_3.c index cb8eb2a46..9a2a5d8e4 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -70,7 +70,7 @@ extern u32 gTMHMLearnsets[][2]; extern u8 gBattleMonForms[]; extern const u8 BattleText_Wally[]; extern const u16 gHMMoves[]; -extern s8 gUnknown_083F7E28[]; +extern s8 gPokeblockFlavorCompatibilityTable[]; extern u8 gLastUsedAbility; extern const u8 BattleText_PreventedSwitch[]; extern u16 gBattlePartyID[]; @@ -1238,13 +1238,13 @@ bool8 sub_8040A3C(u16 species) s8 sub_8040A54(struct Pokemon *mon, u8 a2) { u8 nature = GetNature(mon); - return gUnknown_083F7E28[nature * 5 + a2]; + return gPokeblockFlavorCompatibilityTable[nature * 5 + a2]; } s8 sub_8040A7C(u32 personality, u8 a2) { u8 nature = GetNatureFromPersonality(personality); - return gUnknown_083F7E28[nature * 5 + a2]; + return gPokeblockFlavorCompatibilityTable[nature * 5 + a2]; } bool8 IsTradedMon(struct Pokemon *mon) |