Up to sub 0x80ce580

This commit is contained in:
DizzyEggg 2018-12-15 23:58:47 +01:00
parent 59a69eb627
commit f1421d94c3
29 changed files with 2776 additions and 7355 deletions

View File

@ -2093,7 +2093,7 @@ _080F6AA6:
adds r0, r1
ldrh r0, [r0]
movs r1, 0
bl mon_icon_convert_unown_species_id
bl GetIconSpecies
lsls r0, 16
lsrs r0, 16
adds r0, r6

File diff suppressed because it is too large Load Diff

View File

@ -409,14 +409,14 @@ _081C73C2:
_081C73C6:
adds r0, r4, 0
adds r1, r5, 0
bl sub_80D2270
bl CheckBoxedMonSanity
cmp r0, 0
beq _081C73EC
lsls r1, r5, 24
lsrs r1, 24
lsrs r0, r6, 24
movs r2, 0x52
bl GetBoxMonDataFromAnyBox
bl GetBoxMonDataAt
cmp r0, 0
beq _081C73EC
_081C73E2:
@ -16376,7 +16376,7 @@ _081CF1F4:
_081CF1FC:
adds r0, r5, 0
adds r1, r4, 0
bl sub_80D2270
bl CheckBoxedMonSanity
cmp r0, 0
beq _081CF23A
ldr r1, =0xffffff00
@ -16392,7 +16392,7 @@ _081CF1FC:
str r0, [sp]
ldr r2, [r6, 0x14]
adds r0, r7, 0
bl GetBoxMonDataFromAnyBox
bl GetBoxMonDataAt
lsls r0, 16
ldr r2, =0x0000ffff
ldr r1, [sp]
@ -17735,7 +17735,7 @@ sub_81CFC40: @ 81CFC40
_081CFC60:
adds r0, r7, 0
adds r1, r6, 0
bl sub_80D2270
bl CheckBoxedMonSanity
cmp r0, 0
beq _081CFCA6
lsls r0, r7, 24
@ -17745,7 +17745,7 @@ _081CFC60:
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x52
bl GetBoxMonDataFromAnyBox
bl GetBoxMonDataAt
adds r3, r0, 0
cmp r3, 0
beq _081CFCA6
@ -17900,14 +17900,14 @@ _081CFD92:
_081CFD96:
adds r0, r5, 0
adds r1, r4, 0
bl sub_80D2270
bl CheckBoxedMonSanity
cmp r0, 0
beq _081CFDBC
lsls r1, r4, 24
lsrs r1, 24
lsrs r0, r6, 24
movs r2, 0x53
bl GetBoxMonDataFromAnyBox
bl GetBoxMonDataAt
cmp r0, 0
beq _081CFDBC
_081CFDB2:
@ -19257,7 +19257,7 @@ sub_81D07D8: @ 81D07D8
beq _081D07FA
ldrb r1, [r1, 0x1]
movs r2, 0x52
bl GetBoxMonDataFromAnyBox
bl GetBoxMonDataAt
b _081D080A
_081D07FA:
ldrb r1, [r1, 0x1]
@ -19302,7 +19302,7 @@ _081D0848:
ldrb r0, [r1]
ldrb r1, [r1, 0x1]
movs r2, 0x53
bl GetBoxMonDataFromAnyBox
bl GetBoxMonDataAt
_081D0852:
mov r12, r0
movs r0, 0
@ -23046,14 +23046,14 @@ _081D2CB0:
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
bl GetAndCopyBoxMonDataFromAnyBox
bl GetAndCopyBoxMonDataAt
b _081D2CCA
_081D2CBE:
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
bl GetBoxMonDataFromAnyBox
bl GetBoxMonDataAt
_081D2CCA:
pop {r1}
bx r1

View File

@ -4,441 +4,6 @@
.section .rodata
.align 2
PCGfx_Arrow: @ 8577678
.incbin "graphics/pokemon_storage/arrow.4bpp"
.align 2
gWallpaperPalettes_Zigzagoon:: @ 85776F8
.incbin "graphics/pokemon_storage/friends_frame1.gbapal"
.incbin "graphics/pokemon_storage/zigzagoon_bg.gbapal"
.align 2
gWallpaperTiles_Zigzagoon: @ 8577738
.incbin "graphics/pokemon_storage/zigzagoon.4bpp.lz"
.align 2
gWallpaperTilemap_Zigzagoon: @ 857792C
.incbin "graphics/pokemon_storage/zigzagoon.bin.lz"
.align 2
gWallpaperPalettes_Screen:: @ 8577A44
.incbin "graphics/pokemon_storage/friends_frame1.gbapal"
.incbin "graphics/pokemon_storage/screen_bg.gbapal"
.align 2
gWallpaperTiles_Screen: @ 8577A84
.incbin "graphics/pokemon_storage/screen.4bpp.lz"
.align 2
gWallpaperTilemap_Screen: @ 8577D00
.incbin "graphics/pokemon_storage/screen.bin.lz"
.align 2
gWallpaperPalettes_Diagonal:: @ 8577E2C
.incbin "graphics/pokemon_storage/friends_frame1.gbapal"
.incbin "graphics/pokemon_storage/diagonal_bg.gbapal"
.align 2
gWallpaperTiles_Diagonal: @ 8577E6C
.incbin "graphics/pokemon_storage/diagonal.4bpp.lz"
.align 2
gWallpaperTilemap_Diagonal: @ 8578058
.incbin "graphics/pokemon_storage/diagonal.bin.lz"
.align 2
gWallpaperPalettes_Block:: @ 8578148
.incbin "graphics/pokemon_storage/block_bg.gbapal"
.incbin "graphics/pokemon_storage/block_bg.gbapal"
.align 2
gWallpaperTiles_Block: @ 8578188
.incbin "graphics/pokemon_storage/block.4bpp.lz"
.align 2
gWallpaperTilemap_Block: @ 8578358
.incbin "graphics/pokemon_storage/block.bin.lz"
.align 2
gWallpaperPalettes_Pokecenter2:: @ 8578450
.incbin "graphics/pokemon_storage/pokecenter2_bg.gbapal"
.incbin "graphics/pokemon_storage/pokecenter2_bg.gbapal"
.align 2
gWallpaperTiles_Pokecenter2: @ 8578490
.incbin "graphics/pokemon_storage/pokecenter2.4bpp.lz"
.align 2
gWallpaperTilemap_Pokecenter2: @ 85786D0
.incbin "graphics/pokemon_storage/pokecenter2.bin.lz"
.align 2
gWallpaperPalettes_Frame:: @ 85787E4
.incbin "graphics/pokemon_storage/frame_bg.gbapal"
.incbin "graphics/pokemon_storage/frame_bg.gbapal"
.align 2
gWallpaperTiles_Frame: @ 8578824
.incbin "graphics/pokemon_storage/frame.4bpp.lz"
.align 2
gWallpaperTilemap_Frame: @ 8578A34
.incbin "graphics/pokemon_storage/frame.bin.lz"
.align 2
gWallpaperPalettes_Blank:: @ 8578B48
.incbin "graphics/pokemon_storage/friends_frame1.gbapal"
.incbin "graphics/pokemon_storage/zigzagoon_bg.gbapal"
.align 2
gWallpaperTiles_Blank: @ 8578B88
.incbin "graphics/pokemon_storage/blank.4bpp.lz"
.align 2
gWallpaperTilemap_Blank: @ 8578D34
.incbin "graphics/pokemon_storage/blank.bin.lz"
.align 2
gWallpaperPalettes_Circles:: @ 8578E10
.incbin "graphics/pokemon_storage/friends_frame2.gbapal"
.incbin "graphics/pokemon_storage/circles_bg.gbapal"
.align 2
gWallpaperTiles_Circles: @ 8578E50
.incbin "graphics/pokemon_storage/circles.4bpp.lz"
.align 2
gWallpaperTilemap_Circles: @ 85790A4
.incbin "graphics/pokemon_storage/circles.bin.lz"
.align 2
gWallpaperPalettes_Azumarill:: @ 85791A0
.incbin "graphics/pokemon_storage/friends_frame2.gbapal"
.incbin "graphics/pokemon_storage/azumarill_bg.gbapal"
.align 2
gWallpaperTiles_Azumarill: @ 85791E0
.incbin "graphics/pokemon_storage/azumarill.4bpp.lz"
.align 2
gWallpaperTilemap_Azumarill: @ 85793CC
.incbin "graphics/pokemon_storage/azumarill.bin.lz"
.align 2
gWallpaperPalettes_Pikachu:: @ 85794C4
.incbin "graphics/pokemon_storage/friends_frame2.gbapal"
.incbin "graphics/pokemon_storage/pikachu_bg.gbapal"
.align 2
gWallpaperTiles_Pikachu: @ 8579504
.incbin "graphics/pokemon_storage/pikachu.4bpp.lz"
.align 2
gWallpaperTilemap_Pikachu: @ 8579738
.incbin "graphics/pokemon_storage/pikachu.bin.lz"
.align 2
gWallpaperPalettes_Legendary:: @ 8579860
.incbin "graphics/pokemon_storage/friends_frame2.gbapal"
.incbin "graphics/pokemon_storage/legendary_bg.gbapal"
.align 2
gWallpaperTiles_Legendary: @ 85798A0
.incbin "graphics/pokemon_storage/legendary.4bpp.lz"
.align 2
gWallpaperTilemap_Legendary: @ 8579B80
.incbin "graphics/pokemon_storage/legendary.bin.lz"
.align 2
gWallpaperPalettes_Dusclops:: @ 8579CC4
.incbin "graphics/pokemon_storage/friends_frame2.gbapal"
.incbin "graphics/pokemon_storage/dusclops_bg.gbapal"
.align 2
gWallpaperTiles_Dusclops: @ 8579D04
.incbin "graphics/pokemon_storage/dusclops.4bpp.lz"
.align 2
gWallpaperTilemap_Dusclops: @ 8579F50
.incbin "graphics/pokemon_storage/dusclops.bin.lz"
.align 2
gWallpaperPalettes_Ludicolo:: @ 857A048
.incbin "graphics/pokemon_storage/friends_frame2.gbapal"
.incbin "graphics/pokemon_storage/ludicolo_bg.gbapal"
.align 2
gWallpaperTiles_Ludicolo: @ 857A088
.incbin "graphics/pokemon_storage/ludicolo.4bpp.lz"
.align 2
gWallpaperTilemap_Ludicolo: @ 857A348
.incbin "graphics/pokemon_storage/ludicolo.bin.lz"
.align 2
gWallpaperPalettes_Whiscash:: @ 857A468
.incbin "graphics/pokemon_storage/friends_frame2.gbapal"
.incbin "graphics/pokemon_storage/whiscash_bg.gbapal"
.align 2
gWallpaperTiles_Whiscash: @ 857A4A8
.incbin "graphics/pokemon_storage/whiscash.4bpp.lz"
.align 2
gWallpaperTilemap_Whiscash: @ 857A6F0
.incbin "graphics/pokemon_storage/whiscash.bin.lz"
.align 2
gWallpaperIcon_Aqua: @ 857A81C
.incbin "graphics/pokemon_storage/aqua_icon.4bpp.lz"
.align 2
gWallpaperIcon_Heart: @ 857A860
.incbin "graphics/pokemon_storage/heart_icon.4bpp.lz"
.align 2
gWallpaperIcon_FiveStar: @ 857A89C
.incbin "graphics/pokemon_storage/five_star_icon.4bpp.lz"
.align 2
gWallpaperIcon_Brick: @ 857A8DC
.incbin "graphics/pokemon_storage/brick_icon.4bpp.lz"
.align 2
gWallpaperIcon_FourStar: @ 857A904
.incbin "graphics/pokemon_storage/four_star_icon.4bpp.lz"
.align 2
gWallpaperIcon_Asterisk: @ 857A940
.incbin "graphics/pokemon_storage/asterisk_icon.4bpp.lz"
.align 2
gWallpaperIcon_Dot: @ 857A990
.incbin "graphics/pokemon_storage/dot_icon.4bpp.lz"
.align 2
gWallpaperIcon_LineCircle: @ 857A9C0
.incbin "graphics/pokemon_storage/line_circle_icon.4bpp.lz"
.align 2
gWallpaperIcon_PokeBall: @ 857A9EC
.incbin "graphics/pokemon_storage/pokeball_icon.4bpp.lz"
.align 2
gWallpaperIcon_Maze: @ 857AA38
.incbin "graphics/pokemon_storage/maze_icon.4bpp.lz"
.align 2
gWallpaperIcon_Footprint: @ 857AA7C
.incbin "graphics/pokemon_storage/footprint_icon.4bpp.lz"
.align 2
gWallpaperIcon_BigAsterisk: @ 857AAC4
.incbin "graphics/pokemon_storage/big_asterisk_icon.4bpp.lz"
.align 2
gWallpaperIcon_Circle: @ 857AB08
.incbin "graphics/pokemon_storage/circle_icon.4bpp.lz"
.align 2
gWallpaperIcon_Koffing: @ 857AB48
.incbin "graphics/pokemon_storage/koffing_icon.4bpp.lz"
.align 2
gWallpaperIcon_Ribbon: @ 857AB98
.incbin "graphics/pokemon_storage/ribbon_icon.4bpp.lz"
.align 2
gWallpaperIcon_FourCircles: @ 857AC00
.incbin "graphics/pokemon_storage/four_circles_icon.4bpp.lz"
.align 2
gWallpaperIcon_Lotad: @ 857AC30
.incbin "graphics/pokemon_storage/lotad_icon.4bpp.lz"
.align 2
gWallpaperIcon_Crystal: @ 857AC74
.incbin "graphics/pokemon_storage/crystal_icon.4bpp.lz"
.align 2
gWallpaperIcon_Pichu: @ 857ACBC
.incbin "graphics/pokemon_storage/pichu_icon.4bpp.lz"
.align 2
gWallpaperIcon_Diglett: @ 857ACF4
.incbin "graphics/pokemon_storage/diglett_icon.4bpp.lz"
.align 2
gWallpaperIcon_Luvdisc: @ 857AD44
.incbin "graphics/pokemon_storage/luvdisc_icon.4bpp.lz"
.align 2
gWallpaperIcon_StarInCircle: @ 857AD88
.incbin "graphics/pokemon_storage/star_in_circle_icon.4bpp.lz"
.align 2
gWallpaperIcon_Spinda: @ 857ADCC
.incbin "graphics/pokemon_storage/spinda_icon.4bpp.lz"
.align 2
gWallpaperIcon_Latis: @ 857AE20
.incbin "graphics/pokemon_storage/latis_icon.4bpp.lz"
.align 2
gWallpaperIcon_Minun: @ 857AE64
.incbin "graphics/pokemon_storage/minun_icon.4bpp.lz"
.align 2
gWallpaperIcon_Togepi: @ 857AEAC
.incbin "graphics/pokemon_storage/togepi_icon.4bpp.lz"
.align 2
gWallpaperIcon_Magma: @ 857AF08
.incbin "graphics/pokemon_storage/magma_icon.4bpp.lz"
.align 2
gUnknown_0857AF44:: @ 857AF44
.4byte gWallpaperTiles_Zigzagoon, gWallpaperTilemap_Zigzagoon, gWallpaperPalettes_Zigzagoon
.4byte gWallpaperTiles_Screen, gWallpaperTilemap_Screen, gWallpaperPalettes_Screen
.4byte gWallpaperTiles_Horizontal, gWallpaperTilemap_Horizontal, gWallpaperPalettes_Horizontal
.4byte gWallpaperTiles_Diagonal, gWallpaperTilemap_Diagonal, gWallpaperPalettes_Diagonal
.4byte gWallpaperTiles_Block, gWallpaperTilemap_Block, gWallpaperPalettes_Block
.4byte gWallpaperTiles_Ribbon, gWallpaperTilemap_Ribbon, gWallpaperPalettes_Ribbon
.4byte gWallpaperTiles_Pokecenter2, gWallpaperTilemap_Pokecenter2, gWallpaperPalettes_Pokecenter2
.4byte gWallpaperTiles_Frame, gWallpaperTilemap_Frame, gWallpaperPalettes_Frame
.4byte gWallpaperTiles_Blank, gWallpaperTilemap_Blank, gWallpaperPalettes_Blank
.4byte gWallpaperTiles_Circles, gWallpaperTilemap_Circles, gWallpaperPalettes_Circles
.4byte gWallpaperTiles_Azumarill, gWallpaperTilemap_Azumarill, gWallpaperPalettes_Azumarill
.4byte gWallpaperTiles_Pikachu, gWallpaperTilemap_Pikachu, gWallpaperPalettes_Pikachu
.4byte gWallpaperTiles_Legendary, gWallpaperTilemap_Legendary, gWallpaperPalettes_Legendary
.4byte gWallpaperTiles_Dusclops, gWallpaperTilemap_Dusclops, gWallpaperPalettes_Dusclops
.4byte gWallpaperTiles_Ludicolo, gWallpaperTilemap_Ludicolo, gWallpaperPalettes_Ludicolo
.4byte gWallpaperTiles_Whiscash, gWallpaperTilemap_Whiscash, gWallpaperPalettes_Whiscash
.align 2
gUnknown_0857B004:: @ 857B004
.4byte gWallpaperIcon_Aqua
.4byte gWallpaperIcon_Heart
.4byte gWallpaperIcon_FiveStar
.4byte gWallpaperIcon_Brick
.4byte gWallpaperIcon_FourStar
.4byte gWallpaperIcon_Asterisk
.4byte gWallpaperIcon_Dot
.4byte gWallpaperIcon_Cross
.4byte gWallpaperIcon_LineCircle
.4byte gWallpaperIcon_PokeBall
.4byte gWallpaperIcon_Maze
.4byte gWallpaperIcon_Footprint
.4byte gWallpaperIcon_BigAsterisk
.4byte gWallpaperIcon_Circle
.4byte gWallpaperIcon_Koffing
.4byte gWallpaperIcon_Ribbon
.4byte gWallpaperIcon_Bolt
.4byte gWallpaperIcon_FourCircles
.4byte gWallpaperIcon_Lotad
.4byte gWallpaperIcon_Crystal
.4byte gWallpaperIcon_Pichu
.4byte gWallpaperIcon_Diglett
.4byte gWallpaperIcon_Luvdisc
.4byte gWallpaperIcon_StarInCircle
.4byte gWallpaperIcon_Spinda
.4byte gWallpaperIcon_Latis
.4byte gWallpaperIcon_Plusle
.4byte gWallpaperIcon_Minun
.4byte gWallpaperIcon_Togepi
.4byte gWallpaperIcon_Magma
.align 2
gUnknown_0857B07C:: @ 857B07C
.4byte 0x23BA
.align 2
gUnknown_0857B080:: @ 857B080
obj_tiles PCGfx_Arrow, 128, 0x0006
.align 2
gOamData_857B088:: @ 857B088
.2byte 0x4000
.2byte 0x8000
.2byte 0x0800
.align 2
gSpriteAnim_857B090:: @ 857B090
obj_image_anim_frame 0, 5
obj_image_anim_end
.align 2
gSpriteAnim_857B098:: @ 857B098
obj_image_anim_frame 8, 5
obj_image_anim_end
.align 2
gSpriteAnimTable_857B0A0:: @ 857B0A0
.4byte gSpriteAnim_857B090
.4byte gSpriteAnim_857B098
.align 2
gSpriteTemplate_857B0A8:: @ 857B0A8
spr_template 0x0003, 0xDAC9, gOamData_857B088, gSpriteAnimTable_857B0A0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gOamData_857B0C0:: @ 857B0C0
.2byte 0x8000
.2byte 0x0000
.2byte 0x0800
.align 2
gSpriteAnim_857B0C8:: @ 857B0C8
obj_image_anim_frame 0, 5
obj_image_anim_end
.align 2
gSpriteAnim_857B0D0:: @ 857B0D0
obj_image_anim_frame 2, 5
obj_image_anim_end
.align 2
gSpriteAnimTable_857B0D8:: @ 857B0D8
.4byte gSpriteAnim_857B0C8
.4byte gSpriteAnim_857B0D0
gUnknown_0857B0E0:: @ 857B0E0
spr_template 0x0006, 0xDACA, gOamData_857B0C0, gSpriteAnimTable_857B0D8, NULL, gDummySpriteAffineAnimTable, sub_80CD210
.align 2
HandCursorPalette: @ 857B0F8
.incbin "graphics/pokemon_storage/hand_cursor.gbapal"
.align 2
HandCursorTiles: @ 857B118
.incbin "graphics/pokemon_storage/hand_cursor.4bpp"
.align 2
HandCursorShadowTiles: @ 857B918
.incbin "graphics/pokemon_storage/hand_cursor_shadow.4bpp"
.align 2
gUnknown_0857B998:: @ 857B998
.4byte sub_80CDCCC
.4byte sub_80CDD5C
.4byte sub_80CDDD8
.align 2
gUnknown_0857B9A4:: @ 857B9A4
.byte 0x22, 0x00
.2byte 0x0039
.byte 0x22, 0x00
.2byte 0x0123
.byte 0x10, 0x0a
.2byte 0x0046
.byte 0x10, 0x0a
.2byte 0x00f9
.byte 0x10, 0x0e
.2byte 0x0046
.byte 0x10, 0x0e
.2byte 0x00f9
.align 2
gUnknown_0857B9BC:: @ 857B9BC
@ -450,13 +15,13 @@ gUnknown_0857B9BC:: @ 857B9BC
.align 2
gHandCursorSpriteSheets:: @ 857B9E4
obj_tiles HandCursorTiles, 0x0800, 0x0000
obj_tiles HandCursorShadowTiles, 0x0080, 0x0001
obj_tiles gHandCursorTiles, 0x0800, 0x0000
obj_tiles gHandCursorShadowTiles, 0x0080, 0x0001
null_obj_tiles
.align 2
gHandCursorSpritePalettes:: @ 857B9FC
obj_pal HandCursorPalette, 0xDAC7
obj_pal gHandCursorPalette, 0xDAC7
null_obj_pal
.align 2

View File

@ -587,6 +587,7 @@
// Map Group 33
#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8))
#define MAP_GROUPS_COUNT 34
#define MAP_NONE (0x7F | (0x7F << 8))
#define MAP_UNDEFINED (0xFF | (0xFF << 8))

View File

@ -858,15 +858,15 @@ typedef union // 3b58
struct WaldaPhrase
{
u16 field_0;
u16 field_2;
u16 colors[2]; // Background, foreground.
u8 text[16];
u8 iconId;
u8 patternId;
bool8 patternUnlocked;
};
struct UnkSaveSubstruct_3b98 {
struct UnkSaveSubstruct_3b98
{
u32 trainerId;
u8 trainerName[PLAYER_NAME_LENGTH + 1];
};

View File

@ -4743,6 +4743,15 @@ extern const u16 gPokedexAreaScreenAreaUnknown_Pal[];
// Pokemon Storage System
extern const u32 gPSSMenu_Gfx[];
extern const u16 gPSSMenu_Pal[];
extern const u32 gWallpaperIcon_Plusle[];
extern const u32 gWallpaperIcon_Cross[];
extern const u32 gWallpaperIcon_Bolt[];
extern const u32 gUnknown_08DD36C8[];
extern const u32 gWallpaperTiles_Ribbon[];
extern const u32 gWallpaperTilemap_Ribbon[];
extern const u16 gWallpaperPalettes_Ribbon[][16];
extern const u32 gWallpaperTiles_Horizontal[];
extern const u32 gWallpaperTilemap_Horizontal[];
extern const u16 gWallpaperPalettes_Horizontal[][16];
#endif //GUARD_GRAPHICS_H

View File

@ -48,11 +48,11 @@ s8 Menu_ProcessInput(void);
s8 Menu_ProcessInputNoWrap(void);
void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y);
void reset_temp_tile_data_buffers(void);
void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode);
void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
bool8 free_temp_tile_data_buffers_if_possible(void);
struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock);
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode);
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
s8 Menu_ProcessInputNoWrapClearOnChoose(void);
s8 ProcessMenuInput_other(void);
void do_scheduled_bg_tilemap_copies_to_vram(void);
@ -62,7 +62,7 @@ void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u8 a3);
void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
void sub_8197DF8(u8 windowId, bool8 copyToVram);
u16 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16);
void *malloc_and_decompress(const void *src, int *sizeOut);
void *malloc_and_decompress(const void *src, u32 *sizeOut);
u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress);
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);

View File

@ -8,9 +8,9 @@
#define MON_DATA_OT_ID 1
#define MON_DATA_NICKNAME 2
#define MON_DATA_LANGUAGE 3
#define MON_DATA_SANITY_BIT1 4
#define MON_DATA_SANITY_BIT2 5
#define MON_DATA_SANITY_BIT3 6
#define MON_DATA_SANITY_IS_BAD_EGG 4
#define MON_DATA_SANITY_HAS_SPECIES 5
#define MON_DATA_SANITY_IS_EGG 6
#define MON_DATA_OT_NAME 7
#define MON_DATA_MARKINGS 8
#define MON_DATA_CHECKSUM 9

View File

@ -1,9 +1,12 @@
#ifndef GUARD_POKEMON_ICON_H
#define GUARD_POKEMON_ICON_H
extern const u8 gMonIconPaletteIndices[];
const u8 *GetMonIconTiles(u16 species, bool32);
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
u16 GetIconSpecies(u16 species, u32 personality);
u16 GetUnownLetterByPersonality(u32 personality);
u16 sub_80D2E84(u16 speciesId);
void LoadMonIconPalettes(void);

View File

@ -2,7 +2,9 @@
#define GUARD_POKEMON_STORAGE_SYSTEM_H
#define TOTAL_BOXES_COUNT 14
#define IN_BOX_COUNT 30
#define IN_BOX_ROWS 6
#define IN_BOX_COLUMS 5
#define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMS)
#include "pc_screen_effect.h"
#include "mon_markings.h"
@ -69,7 +71,6 @@ struct PokemonStorageSystemData
u8 screenChangeType;
bool8 isReshowingPSS;
u8 taskId;
u8 unk_0005;
struct UnkStruct_2000020 unk_0020;
struct UnkStruct_2000028 unk_0028[8];
u16 field_90[16];
@ -84,26 +85,86 @@ struct PokemonStorageSystemData
bool8 unk_02C9;
s16 newCurrBoxId;
u16 bg2_X;
u8 field_2CE;
u8 field_2CF[1213];
s16 field_2CE;
u16 field_2D0;
u8 field_2D2;
u8 field_2D3;
u8 field_2D4;
u8 field_2D5;
u16 field_2D6;
s16 field_2D8;
u16 field_2DA;
u16 field_2DC;
u16 field_2DE;
u16 field_2E0;
u8 field_2E2;
u8 field_2E3;
u8 field_2E4[20];
u8 field_2F8[1024];
u8 field_6F8;
u8 field_6F9;
u8 field_6FA;
s8 field_6FB;
u16 field_6FC[16];
u16 field_71C;
u16 field_71E;
struct Sprite *field_720[2];
struct Sprite *field_728[2];
struct Sprite *field_730[2];
u32 field_738;
u8 field_73C[80];
u16 field_78C;
s16 wallpaperSetId;
s16 wallpaperId;
u8 wallpaperTilemap[180 * 4];
u16 field_792[360];
u8 wallpaperChangeState;
u8 field_A63;
u8 field_A64;
u8 field_A65;
s8 field_A65;
u8 field_A66;
u8 field_A67;
u8 *wallpaperTilemapPtr;
u8 *wallpaperTiles;
struct Sprite *field_A6C;
struct Sprite *partySprites[PARTY_SIZE];
struct Sprite *boxMonsSprites[IN_BOX_COUNT];
u8 field_B00[8];
struct Sprite **field_B00;
struct Sprite **field_B04;
u16 field_B08[40];
u16 field_B58[40];
u8 field_BA8[308];
u16 boxSpecies[IN_BOX_COUNT];
u32 boxPersonalities[IN_BOX_COUNT];
u8 field_C5C;
u8 field_C5D;
u8 field_C5E;
u8 field_C5F;
u16 field_C60;
s16 field_C62;
s16 field_C64;
u16 field_C66;
u8 field_C68;
s8 field_C69;
u8 field_C6A;
u8 field_C6B;
u8 field_C6C[72];
struct Sprite *field_CB4;
struct Sprite *field_CB8;
s32 field_CBC;
s32 field_CC0;
u32 field_CC4;
u32 field_CC8;
s16 field_CCC;
s16 field_CCE;
u16 field_CD0;
s8 field_CD2;
s8 field_CD3;
u8 field_CD4;
u8 field_CD5;
u8 field_CD6;
u8 field_CD7;
u8 field_CD8;
u8 field_CD9;
u8 field_CDA;
u8 field_CDB;
u32 *field_CDC;
u32 cursorMonPersonality;
u16 cursorMonSpecies;
@ -117,13 +178,26 @@ struct PokemonStorageSystemData
u8 cursorMonNick[36];
u8 cursorMonSpeciesName[36];
u8 cursorMonGenderLvlText[36];
u8 cursorMonItemName[47];
u8 cursorMonItemName[36];
bool8 (*monPlaceChangeFunc)(void);
u8 monPlaceChangeState;
u8 field_D91;
struct Sprite *field_D94;
struct Sprite *field_D98[2];
u16 *field_DA0;
struct PokemonMarkMenu field_DA4;
struct UnkPSSStruct_2002370 field_1E5C;
u8 field_20A4[220];
struct Pokemon field_20A4;
struct Pokemon field_2108;
s8 field_216C;
u8 field_216D;
s8 field_216E;
s8 field_216F;
s8 field_2170;
s8 field_2171;
u16 field_2172;
u16 field_2174;
u16 field_2176[5];
u8 field_2180;
u8 field_2181;
u8 field_2182;
@ -134,10 +208,18 @@ struct PokemonStorageSystemData
u8 field_2187;
u8 field_2188;
struct BoxPokemon *field_218C;
u8 field_2190[80];
u8 field_2190[40];
u8 field_21B8[40];
u8 field_21E0[POKEMON_NAME_LENGTH + 1];
u8 field_21EB[15]; // TODO: ITEM NAME LENGTH + 1
u8 field_21FA[58];
u8 field_21FA;
u8 field_21FB;
u8 field_21FC;
u8 field_21FD;
u8 field_21FE;
u8 field_21FF;
u8 field_2200;
u8 field_2201[51];
u16 movingItem;
u8 field_2236;
u8 field_2237;
@ -149,7 +231,8 @@ struct PokemonStorageSystemData
u16 field_2244[16];
u8 field_2264[96];
u8 field_22C4[0x800];
u8 field_2AC4[12288];
u8 field_2AC4[8192];
u8 field_4AC4[0x1000];
u8 field_5AC4[0x800];
};
@ -160,7 +243,7 @@ u8* GetBoxNamePtr(u8 boxNumber);
struct BoxPokemon *GetBoxedMonPtr(u8, u8);
void SetBoxMonNickFromAnyBox(u8, u8, u8 *);
void CompactPartySlots(void);
u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
u32 GetBoxMonDataAt(u8 boxId, u8 monPosition, u32 request);
bool8 CheckFreePokemonStorageSpace(void);
u8 StorageGetCurrentBox(void);
u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d);

View File

@ -258,7 +258,7 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c
u16 RenderText(struct TextPrinter *textPrinter);
u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing);
u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32);
u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing);
s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing);
u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str);
u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y);
u8 GetKeypadIconTileOffset(u8 keypadIconId);

View File

@ -1613,7 +1613,7 @@ static void sub_81A8830(void)
static bool8 CanEncounterWildMon(u8 enemyMonLevel)
{
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
{
u8 monAbility = GetMonAbility(&gPlayerParty[0]);
if (monAbility == ABILITY_KEEN_EYE || monAbility == ABILITY_INTIMIDATE)

View File

@ -901,7 +901,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
for (i = 0; i < DAYCARE_MON_COUNT; i++)
{
if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SANITY_BIT2))
if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SANITY_HAS_SPECIES))
daycare->mons[i].steps++, validEggs++;
}
@ -922,7 +922,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
{
if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
continue;
if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1))
if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG))
continue;
steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP);

View File

@ -876,7 +876,7 @@ u8 GetEggStepsToSubtract(void)
u8 count, i;
for (count = CalculatePlayerPartyCount(), i = 0; i < count; i++)
{
if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT3))
if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_EGG))
{
u8 ability = GetMonAbility(&gPlayerParty[i]);
if (ability == ABILITY_MAGMA_ARMOR || ability == ABILITY_FLAME_BODY)

View File

@ -1845,7 +1845,7 @@ static bool8 Fishing6(struct Task *task)
}
else
{
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
{
u8 ability = GetMonAbility(&gPlayerParty[0]);
if (ability == ABILITY_SUCTION_CUPS || ability == ABILITY_STICKY_HOLD)

View File

@ -122,7 +122,7 @@ s32 DoPoisonFieldEffect(void)
u32 numFainted = 0;
for (i = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
{
hp = GetMonData(pokemon, MON_DATA_HP);
if (hp == 0 || --hp == 0)

View File

@ -1266,7 +1266,7 @@ void IsGrassTypeInParty(void)
for (i = 0; i < PARTY_SIZE; i++)
{
pokemon = &gPlayerParty[i];
if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && !GetMonData(pokemon, MON_DATA_IS_EGG))
if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG))
{
species = GetMonData(pokemon, MON_DATA_SPECIES);
if (gBaseStats[species].type1 == TYPE_GRASS || gBaseStats[species].type2 == TYPE_GRASS)
@ -1658,7 +1658,7 @@ bool8 sub_813990C(void)
for (i = 0; i < partyCount; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1) == 1)
if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == 1)
return TRUE;
}

View File

@ -1797,9 +1797,9 @@ bool8 free_temp_tile_data_buffers_if_possible(void)
}
}
void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode)
void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode)
{
int sizeOut;
u32 sizeOut;
if (gUnknown_0203CDA8 < ARRAY_COUNT(gUnknown_0203CDAC))
{
void *ptr = malloc_and_decompress(src, &sizeOut);
@ -1815,9 +1815,9 @@ void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size,
return NULL;
}
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode)
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode)
{
int sizeOut;
u32 sizeOut;
void *ptr = malloc_and_decompress(src, &sizeOut);
if (!size)
size = sizeOut;
@ -1838,7 +1838,7 @@ void task_free_buf_after_copying_tile_data_to_vram(u8 taskId)
}
}
void *malloc_and_decompress(const void *src, int *size)
void *malloc_and_decompress(const void *src, u32 *size)
{
void *ptr;
u8 *sizeAsBytes = (u8 *)size;

View File

@ -1342,7 +1342,7 @@ void UpdateAmbientCry(s16 *state, u16 *delayCounter)
monsCount = CalculatePlayerPartyCount();
for (i = 0; i < monsCount; i++)
{
if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT3)
if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_EGG)
&& GetMonAbility(&gPlayerParty[0]) == ABILITY_SWARM)
{
divBy = 2;

View File

@ -4097,13 +4097,13 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data)
case MON_DATA_LANGUAGE:
retVal = boxMon->language;
break;
case MON_DATA_SANITY_BIT1:
case MON_DATA_SANITY_IS_BAD_EGG:
retVal = boxMon->isBadEgg;
break;
case MON_DATA_SANITY_BIT2:
case MON_DATA_SANITY_HAS_SPECIES:
retVal = boxMon->hasSpecies;
break;
case MON_DATA_SANITY_BIT3:
case MON_DATA_SANITY_IS_EGG:
retVal = boxMon->isEgg;
break;
case MON_DATA_OT_NAME:
@ -4304,7 +4304,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data)
u16 *moves = (u16 *)data;
s32 i = 0;
while (moves[i] != 355)
while (moves[i] != MOVES_COUNT)
{
u16 move = moves[i];
if (substruct1->moves[0] == move
@ -4466,13 +4466,13 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg)
case MON_DATA_LANGUAGE:
SET8(boxMon->language);
break;
case MON_DATA_SANITY_BIT1:
case MON_DATA_SANITY_IS_BAD_EGG:
SET8(boxMon->isBadEgg);
break;
case MON_DATA_SANITY_BIT2:
case MON_DATA_SANITY_HAS_SPECIES:
SET8(boxMon->hasSpecies);
break;
case MON_DATA_SANITY_BIT3:
case MON_DATA_SANITY_IS_EGG:
SET8(boxMon->isEgg);
break;
case MON_DATA_OT_NAME:
@ -4897,7 +4897,7 @@ bool8 IsPokemonStorageFull(void)
for (i = 0; i < 14; i++)
for (j = 0; j < 30; j++)
if (GetBoxMonDataFromAnyBox(i, j, MON_DATA_SPECIES) == SPECIES_NONE)
if (GetBoxMonDataAt(i, j, MON_DATA_SPECIES) == SPECIES_NONE)
return FALSE;
return TRUE;
@ -6859,7 +6859,7 @@ void SetWildMonHeldItem(void)
u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0);
u16 var1 = 45;
u16 var2 = 95;
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3, 0)
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG, 0)
&& GetMonAbility(&gPlayerParty[0]) == ABILITY_COMPOUND_EYES)
{
var1 = 20;

View File

@ -1076,7 +1076,7 @@ u8 sub_80D2D78(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8
return spriteId;
}
u16 mon_icon_convert_unown_species_id(u16 species, u32 personality)
u16 GetIconSpecies(u16 species, u32 personality)
{
u16 result;
@ -1104,7 +1104,8 @@ u16 GetUnownLetterByPersonality(u32 personality)
{
if (!personality)
return 0;
return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C;
else
return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C;
}
u16 sub_80D2E84(u16 species)
@ -1121,19 +1122,17 @@ u16 sub_80D2E84(u16 species)
}
else
{
if(species > (SPECIES_UNOWN_B - 1))
if (species > (SPECIES_UNOWN_B - 1))
species = 260;
return mon_icon_convert_unown_species_id(species, 0);
return GetIconSpecies(species, 0);
}
}
const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 extra)
{
return GetMonIconTiles(mon_icon_convert_unown_species_id(species, personality), extra);
return GetMonIconTiles(GetIconSpecies(species, personality), extra);
}
void sub_80D2EF8(struct Sprite *sprite)
{
sub_80D328C(sprite);

View File

@ -210,7 +210,7 @@ void GiveGiftRibbonToParty(u8 index, u8 ribbonId)
{
struct Pokemon *mon = &gPlayerParty[i];
if (GetMonData(mon, MON_DATA_SPECIES) != 0 && GetMonData(mon, MON_DATA_SANITY_BIT3) == 0)
if (GetMonData(mon, MON_DATA_SPECIES) != 0 && GetMonData(mon, MON_DATA_SANITY_IS_EGG) == 0)
{
SetMonData(mon, array[index], &data);
gotRibbon = TRUE;

File diff suppressed because it is too large Load Diff

View File

@ -1310,7 +1310,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a)
sum->altAbility = GetMonData(a, MON_DATA_ALT_ABILITY);
sum->item = GetMonData(a, MON_DATA_HELD_ITEM);
sum->pid = GetMonData(a, MON_DATA_PERSONALITY);
sum->sanity = GetMonData(a, MON_DATA_SANITY_BIT1);
sum->sanity = GetMonData(a, MON_DATA_SANITY_IS_BAD_EGG);
if (sum->sanity)
sum->isEgg = TRUE;

View File

@ -50,8 +50,8 @@ int GameClear(void)
ribbonCounts[i].partyIndex = i;
ribbonCounts[i].count = 0;
if (GetMonData(mon, MON_DATA_SANITY_BIT2)
&& !GetMonData(mon, MON_DATA_SANITY_BIT3)
if (GetMonData(mon, MON_DATA_SANITY_HAS_SPECIES)
&& !GetMonData(mon, MON_DATA_SANITY_IS_EGG)
&& !GetMonData(mon, MON_DATA_CHAMPION_RIBBON))
{
u8 val[1] = {TRUE};

View File

@ -1858,7 +1858,7 @@ u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32)
return NULL;
}
u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
{
bool8 isJapanese;
int minGlyphWidth;
@ -1868,7 +1868,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
u32 lineWidth;
const u8 *bufferPointer;
int glyphWidth;
u32 width;
s32 width;
isJapanese = 0;
minGlyphWidth = 0;
@ -2028,7 +2028,8 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
if (lineWidth > width)
return lineWidth;
return width;
else
return width;
}
u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)

View File

@ -4802,7 +4802,7 @@ static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon)
rand = Random() % range;
// check ability for max level mon
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
{
u8 ability = GetMonAbility(&gPlayerParty[0]);
if (ability == ABILITY_HUSTLE || ability == ABILITY_VITAL_SPIRIT || ability == ABILITY_PRESSURE)
@ -4883,7 +4883,7 @@ static u8 PickWildMonNature(void)
}
}
// check synchronize for a pokemon with the same ability
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)
if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)
&& GetMonAbility(&gPlayerParty[0]) == ABILITY_SYNCHRONIZE
&& Random() % 2 == 0)
{
@ -4911,7 +4911,7 @@ static void CreateWildMon(u16 species, u8 level)
}
if (checkCuteCharm
&& !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)
&& !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)
&& GetMonAbility(&gPlayerParty[0]) == ABILITY_CUTE_CHARM
&& Random() % 3 != 0)
{
@ -5029,7 +5029,7 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility)
encounterRate = encounterRate * 80 / 100;
ApplyFluteEncounterRateMod(&encounterRate);
ApplyCleanseTagEncounterRateMod(&encounterRate);
if (!ignoreAbility && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
if (!ignoreAbility && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
{
u32 ability = GetMonAbility(&gPlayerParty[0]);
@ -5419,7 +5419,7 @@ static bool8 IsAbilityAllowingEncounter(u8 level)
{
u8 ability;
if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
return TRUE;
ability = GetMonAbility(&gPlayerParty[0]);
@ -5456,7 +5456,7 @@ static bool8 TryGetRandomWildMonIndexByType(const struct WildPokemon *wildMon, u
static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u8 ability, u8 *monIndex)
{
if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
return FALSE;
else if (GetMonAbility(&gPlayerParty[0]) != ability)
return FALSE;

View File

@ -237,7 +237,7 @@ gUnknown_02039D12: @ 2039D12
gUnknown_02039D14: @ 2039D14
.space 0x64
sBoxCursorAction: @ 2039D78
sBoxCursorArea: @ 2039D78
.space 0x1
sBoxCursorPosition: @ 2039D79