mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Up to sub 0x80ce580
This commit is contained in:
parent
59a69eb627
commit
f1421d94c3
@ -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
@ -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
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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];
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
10
src/menu.c
10
src/menu.c
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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
@ -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;
|
||||
|
@ -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};
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -237,7 +237,7 @@ gUnknown_02039D12: @ 2039D12
|
||||
gUnknown_02039D14: @ 2039D14
|
||||
.space 0x64
|
||||
|
||||
sBoxCursorAction: @ 2039D78
|
||||
sBoxCursorArea: @ 2039D78
|
||||
.space 0x1
|
||||
|
||||
sBoxCursorPosition: @ 2039D79
|
||||
|
Loading…
Reference in New Issue
Block a user