mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 19:54:21 +01:00
Merge branch 'master' of https://github.com/pret/pokeemerald
This commit is contained in:
commit
5ed68a87f8
3903
asm/credits.s
3903
asm/credits.s
File diff suppressed because it is too large
Load Diff
6270
asm/intro.s
6270
asm/intro.s
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2
common_syms/intro.txt
Normal file
2
common_syms/intro.txt
Normal file
@ -0,0 +1,2 @@
|
||||
gIntroFrameCounter
|
||||
gMultibootProgramStruct
|
1577
data/credits.s
1577
data/credits.s
File diff suppressed because it is too large
Load Diff
529
data/intro.s
529
data/intro.s
@ -1,529 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
gIntro1DropsPal:: @ 85DFF90
|
||||
.incbin "graphics/intro/intro1_drops.gbapal"
|
||||
|
||||
.align 2
|
||||
gIntro1GFLogoPal:: @ 85DFFB0
|
||||
.incbin "graphics/intro/intro1_gflogo.gbapal"
|
||||
|
||||
.align 2
|
||||
gIntroTiles:: @ 85DFFD0
|
||||
.incbin "graphics/intro/intro.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gIntro1BGPals:: @ 85E05C4
|
||||
.incbin "graphics/intro/intro1_bgpal.gbapal"
|
||||
|
||||
.align 2
|
||||
gIntro1BG0_Tilemap:: @ 85E07C4
|
||||
.incbin "graphics/intro/intro1_bg0_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gIntro1BG1_Tilemap:: @ 85E0B78
|
||||
.incbin "graphics/intro/intro1_bg1_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gIntro1BG2_Tilemap:: @ 85E0EAC
|
||||
.incbin "graphics/intro/intro1_bg2_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gIntro1BG3_Tilemap:: @ 85E119C
|
||||
.incbin "graphics/intro/intro1_bg3_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gIntro1BGLeavesGfx:: @ 85E13B4
|
||||
.incbin "graphics/intro/introgfx.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gIntro3PokeballPal:: @ 85E3524
|
||||
.incbin "graphics/intro/intro3_pokeball.gbapal"
|
||||
|
||||
.align 2
|
||||
gIntro3Pokeball_Tilemap:: @ 85E3724
|
||||
.incbin "graphics/intro/intro3_pokeball_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gIntro3Pokeball_Gfx:: @ 85E3854
|
||||
.incbin "graphics/intro/intro3_pokeball.8bpp.lz"
|
||||
|
||||
.align 2
|
||||
.incbin "graphics/intro/intro3_streaks.gbapal"
|
||||
|
||||
.align 2
|
||||
.incbin "graphics/intro/intro3_streaks.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
.incbin "graphics/intro/intro3_streaks_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gIntro3Misc1Pal:: @ 85E4570
|
||||
.incbin "graphics/intro/intro3_misc1.gbapal"
|
||||
|
||||
.align 2
|
||||
.incbin "graphics/intro/intro3_misc2.gbapal"
|
||||
|
||||
.align 2
|
||||
gIntro3MiscTiles:: @ 85E45B0
|
||||
.incbin "graphics/intro/intro3_misc.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gIntro1FlygonPal:: @ 85E492C
|
||||
.incbin "graphics/intro/intro1_flygon.gbapal"
|
||||
|
||||
.align 2
|
||||
.incbin "graphics/intro/intro1_eon.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
.byte 0x02, 0x03, 0x04, 0x05, 0x01, 0x01, 0x01, 0x06
|
||||
.byte 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x02, 0x0d
|
||||
.byte 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15
|
||||
.byte 0x16, 0x17, 0x18, 0x19, 0x02, 0x0d, 0x0e, 0x0f
|
||||
.byte 0x10, 0x11, 0x12, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e
|
||||
.byte 0x1f, 0x20, 0x21, 0x02, 0x0d, 0x0e, 0x0f, 0x10
|
||||
.byte 0x11, 0x12, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27
|
||||
.byte 0x28, 0x29, 0x2a, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4A74:: @ 85E4A74
|
||||
obj_tiles gIntro1SparkleGfx, 0x0400, 0x05e1
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4A84:: @ 85E4A84
|
||||
obj_pal gIntro3LightningPal, 0x05e1
|
||||
null_obj_pal
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4A94:: @ 85E4A94
|
||||
.byte 0xa0, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4A9C:: @ 85E4A9C
|
||||
.2byte 0x0000, 0x0002, 0x0004, 0x0002, 0x0008, 0x0002, 0x000c, 0x0002, 0x0010, 0x0002, 0xfffe, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4AB4:: @ 85E4AB4
|
||||
.4byte gUnknown_085E4A9C
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4AB8:: @ 85E4AB8
|
||||
spr_template 0x05e1, 0x05e1, gUnknown_085E4A94, gUnknown_085E4AB4, NULL, gDummySpriteAffineAnimTable, sub_816D338
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4AD0:: @ 85E4AD0
|
||||
.byte 0x7c, 0x28, 0x66, 0x1e, 0x4d, 0x1e, 0x36, 0x0f
|
||||
.byte 0x94, 0x09, 0x3f, 0x1c, 0x5d, 0x28, 0x94, 0x20
|
||||
.byte 0xad, 0x29, 0x5e, 0x14, 0xd0, 0x26, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4AE8:: @ 85E4AE8
|
||||
obj_tiles gIntro2VolbeatGfx, 0x0400, 0x05dc
|
||||
obj_tiles gIntro2TorchicGfx, 0x0c00, 0x05dd
|
||||
obj_tiles gIntro2ManectricGfx, 0x2000, 0x05de
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B08:: @ 85E4B08
|
||||
obj_pal gIntro2VolbeatPal, 0x05dc
|
||||
obj_pal gIntro2TorchicPal, 0x05dd
|
||||
obj_pal gIntro2ManectricPal, 0x05de
|
||||
null_obj_pal
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B28:: @ 85E4B28
|
||||
.byte 0xa0, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B30:: @ 85E4B30
|
||||
.2byte 0x0000, 0x0002, 0x0010, 0x0002, 0xfffe, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B3C:: @ 85E4B3C
|
||||
.4byte gUnknown_085E4B30
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B40:: @ 85E4B40
|
||||
spr_template 0x05dc, 0x05dc, gUnknown_085E4B28, gUnknown_085E4B3C, NULL, gDummySpriteAffineAnimTable, sub_816D81C
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B58:: @ 85E4B58
|
||||
.byte 0xa0, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B60:: @ 85E4B60
|
||||
.2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0010, 0x0005, 0xfffe, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B74:: @ 85E4B74
|
||||
.2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0010, 0x0003, 0xfffe, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B88:: @ 85E4B88
|
||||
.2byte 0x0030, 0x0004, 0x0040, 0x0006, 0x0050, 0x0000, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4B98:: @ 85E4B98
|
||||
.4byte gUnknown_085E4B60
|
||||
.4byte gUnknown_085E4B74
|
||||
.4byte gUnknown_085E4B88
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4BA4:: @ 85E4BA4
|
||||
spr_template 0x05dd, 0x05dd, gUnknown_085E4B58, gUnknown_085E4B98, NULL, gDummySpriteAffineAnimTable, sub_816D9C0
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4BBC:: @ 85E4BBC
|
||||
.byte 0xa0, 0x00, 0x00, 0xc0, 0x00, 0x04, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4BC4:: @ 85E4BC4
|
||||
.2byte 0x0000, 0x0004, 0x0040, 0x0004, 0x0080, 0x0004, 0x00c0, 0x0004, 0xfffe, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4BD8:: @ 85E4BD8
|
||||
.4byte gUnknown_085E4BC4
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4BDC:: @ 85E4BDC
|
||||
spr_template 0x05de, 0x05de, gUnknown_085E4BBC, gUnknown_085E4BD8, NULL, gDummySpriteAffineAnimTable, sub_816DAE8
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4BF4:: @ 85E4BF4
|
||||
obj_tiles gIntro3LightningGfx, 0x0c00, 0x05df
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C04:: @ 85E4C04
|
||||
obj_pal gIntro3LightningPal, 0x05df
|
||||
null_obj_pal
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C14:: @ 85E4C14
|
||||
.byte 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C1C:: @ 85E4C1C
|
||||
.2byte 0x0000, 0x0002, 0x0030, 0x0002, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C28:: @ 85E4C28
|
||||
.2byte 0x0010, 0x0002, 0x0040, 0x0002, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C34:: @ 85E4C34
|
||||
.2byte 0x0020, 0x0002, 0x0050, 0x0002, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C40:: @ 85E4C40
|
||||
.4byte gUnknown_085E4C1C
|
||||
.4byte gUnknown_085E4C28
|
||||
.4byte gUnknown_085E4C34
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C4C:: @ 85E4C4C
|
||||
spr_template 0x05df, 0x05df, gUnknown_085E4C14, gUnknown_085E4C40, NULL, gDummySpriteAffineAnimTable, sub_816EC6C
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C64:: @ 85E4C64
|
||||
.2byte 0x0068, 0x0000, 0x00c0, 0x008e, 0x0003, 0x0280, 0x0053, 0x0001
|
||||
.2byte 0x0180, 0x009b, 0x0000, 0x0080, 0x0038, 0x0002, 0x0200, 0x00ae
|
||||
.2byte 0x0001, 0x0100
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C88:: @ 85E4C88
|
||||
obj_tiles gIntro2BubblesGfx, 0x0600, 0x05e0
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4C98:: @ 85E4C98
|
||||
obj_pal gIntro2BubblesPal, 0x05e0
|
||||
null_obj_pal
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4CA8:: @ 85E4CA8
|
||||
.2byte 0x0042, 0x0040, 0x0001, 0x0060, 0x0060, 0x0008, 0x0080, 0x0040
|
||||
.2byte 0x0001, 0x0090, 0x0030, 0x0008, 0x00a0, 0x0048, 0x0001, 0x00b0
|
||||
.2byte 0x0060, 0x0008, 0x0060, 0x0060, 0x0004, 0x0070, 0x0068, 0x0008
|
||||
.2byte 0x0080, 0x0060, 0x0004, 0x0058, 0x0020, 0x0004, 0x0068, 0x0018
|
||||
.2byte 0x0008, 0x0078, 0x0020, 0x0004
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4CF0:: @ 85E4CF0
|
||||
.byte 0xa0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4CF8:: @ 85E4CF8
|
||||
.2byte 0x0000, 0x0004, 0x0008, 0x0004, 0x0010, 0x0004, 0x0018, 0x0004
|
||||
.2byte 0x0020, 0x0004, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D10:: @ 85E4D10
|
||||
.4byte gUnknown_085E4CF8
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D14:: @ 85E4D14
|
||||
spr_template 0x05e0, 0x05e0, gUnknown_085E4CF0, gUnknown_085E4D10, NULL, gDummySpriteAffineAnimTable, sub_816E7B4
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D2C:: @ 85E4D2C
|
||||
.byte 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D34:: @ 85E4D34
|
||||
.2byte 0x0010, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D3C:: @ 85E4D3C
|
||||
.2byte 0x0018, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D44:: @ 85E4D44
|
||||
.2byte 0x0000, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D4C:: @ 85E4D4C
|
||||
.2byte 0x0030, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D54:: @ 85E4D54
|
||||
.4byte gUnknown_085E4D34
|
||||
.4byte gUnknown_085E4D3C
|
||||
.4byte gUnknown_085E4D44
|
||||
.4byte gUnknown_085E4D4C
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D64:: @ 85E4D64
|
||||
spr_template 0x07d0, 0x07d0, gUnknown_085E4D2C, gUnknown_085E4D54, NULL, gDummySpriteAffineAnimTable, sub_816F454
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D7C:: @ 85E4D7C
|
||||
.byte 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x04, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D84:: @ 85E4D84
|
||||
.2byte 0x0080, 0x0004, 0x00c0, 0x0004, 0xfffe, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4D90:: @ 85E4D90
|
||||
.2byte 0x0000, 0x0008, 0x0040, 0x0008, 0x0080, 0x0008, 0x00c0, 0x0008, 0xfffe, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4DA4:: @ 85E4DA4
|
||||
.2byte 0x0100, 0x0004, 0x0140, 0x0004, 0x0180, 0x0004, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4DB4:: @ 85E4DB4
|
||||
.2byte 0x0180, 0x0010, 0x0140, 0x0010, 0x0100, 0x0010, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4DC4:: @ 85E4DC4
|
||||
.4byte gUnknown_085E4D7C
|
||||
.4byte gUnknown_085E4D90
|
||||
.4byte gUnknown_085E4DA4
|
||||
.4byte gUnknown_085E4DB4
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4DD4:: @ 85E4DD4
|
||||
.2byte 0x03a0, 0x4000, 0x0000, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4DDC:: @ 85E4DDC
|
||||
.2byte 0x00a0, 0x0000, 0x0000, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4DE4:: @ 85E4DE4
|
||||
.2byte 0x87a0, 0xc000, 0x0000, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4DEC:: @ 85E4DEC
|
||||
.2byte 0x0050, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4DF4:: @ 85E4DF4
|
||||
.2byte 0x0054, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4DFC:: @ 85E4DFC
|
||||
.2byte 0x0058, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E04:: @ 85E4E04
|
||||
.2byte 0x005c, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E0C:: @ 85E4E0C
|
||||
.2byte 0x0060, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E14:: @ 85E4E14
|
||||
.2byte 0x0064, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E1C:: @ 85E4E1C
|
||||
.2byte 0x0068, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E24:: @ 85E4E24
|
||||
.2byte 0x0070, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E2C:: @ 85E4E2C
|
||||
.2byte 0x0071, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E34:: @ 85E4E34
|
||||
.2byte 0x0072, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E3C:: @ 85E4E3C
|
||||
.2byte 0x0073, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E44:: @ 85E4E44
|
||||
.2byte 0x0074, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E4C:: @ 85E4E4C
|
||||
.2byte 0x0075, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E54:: @ 85E4E54
|
||||
.2byte 0x0080, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E5C:: @ 85E4E5C
|
||||
.4byte gUnknown_085E4DEC
|
||||
.4byte gUnknown_085E4DF4
|
||||
.4byte gUnknown_085E4DFC
|
||||
.4byte gUnknown_085E4E04
|
||||
.4byte gUnknown_085E4E0C
|
||||
.4byte gUnknown_085E4E14
|
||||
.4byte gUnknown_085E4E1C
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E78:: @ 85E4E78
|
||||
.4byte gUnknown_085E4E24
|
||||
.4byte gUnknown_085E4E2C
|
||||
.4byte gUnknown_085E4E34
|
||||
.4byte gUnknown_085E4E3C
|
||||
.4byte gUnknown_085E4E44
|
||||
.4byte gUnknown_085E4E4C
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E90:: @ 85E4E90
|
||||
.4byte gUnknown_085E4E54
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4E94:: @ 85E4E94
|
||||
.2byte 0x0000, 0xffb8, 0x0001, 0xffc8, 0x0002, 0xffd8, 0x0003, 0xffe8
|
||||
.2byte 0x0004, 0x0008, 0x0005, 0x0018, 0x0003, 0x0028, 0x0001, 0x0038
|
||||
.2byte 0x0006, 0x0048, 0x0000, 0xffe4, 0x0001, 0xffec, 0x0002, 0xfff4
|
||||
.2byte 0x0003, 0xfffc, 0x0002, 0x0004, 0x0004, 0x000c, 0x0005, 0x0014
|
||||
.2byte 0x0003, 0x001c
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4ED8:: @ 85E4ED8
|
||||
.2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4EE8:: @ 85E4EE8
|
||||
.2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0010, 0x0010, 0x1000, 0x0000
|
||||
.2byte 0xfff0, 0xfff0, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4F08:: @ 85E4F08
|
||||
.2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0008, 0x0008, 0x3000, 0x0000
|
||||
.2byte 0x7fff, 0x0000, 0x0000, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4F20:: @ 85E4F20
|
||||
.2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0002, 0x0002, 0x3000, 0x0000
|
||||
.2byte 0x7fff, 0x0000, 0x0000, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4F38:: @ 85E4F38
|
||||
.4byte gUnknown_085E4ED8
|
||||
.4byte gUnknown_085E4EE8
|
||||
.4byte gUnknown_085E4F08
|
||||
.4byte gUnknown_085E4F20
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4F48:: @ 85E4F48
|
||||
.2byte 0x0100, 0x00c0, 0x0080, 0x0040, 0x0000, 0x0040, 0x0080, 0x00c0
|
||||
.2byte 0x0100, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4F5C:: @ 85E4F5C
|
||||
spr_template 0x07d0, 0x07d1, gUnknown_085E4DD4, gUnknown_085E4E5C, NULL, gUnknown_085E4F38, sub_816FB38
|
||||
spr_template 0x07d0, 0x07d1, gUnknown_085E4DDC, gUnknown_085E4E78, NULL, gDummySpriteAffineAnimTable, sub_816FB38
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4F8C:: @ 85E4F8C
|
||||
spr_template 0x07d0, 0x07d1, gUnknown_085E4DE4, gUnknown_085E4E90, NULL, gUnknown_085E4F38, sub_816FD44
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4FA4:: @ 85E4FA4
|
||||
.byte 0x00, 0x17, 0x17, 0x31, 0x3e, 0x24, 0x24, 0x0a, 0x0a, 0x00, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4FB0:: @ 85E4FB0
|
||||
.byte 0xa0, 0x40, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4FB8:: @ 85E4FB8
|
||||
.2byte 0x0000, 0x000a, 0xfffe, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4FC0:: @ 85E4FC0
|
||||
.4byte gUnknown_085E4FB8
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4FC4:: @ 85E4FC4
|
||||
spr_template 0x07d2, 0x07d2, gUnknown_085E4FB0, gUnknown_085E4FC0, NULL, gDummySpriteAffineAnimTable, sub_816FEDC
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4FDC:: @ 85E4FDC
|
||||
obj_tiles gIntroTiles, 0x1400, 0x07d0
|
||||
null_obj_tiles
|
||||
|
||||
gUnknown_085E4FEC:: @ 85E4FEC
|
||||
obj_tiles gIntro1FlygonGfx, 0x0400, 0x07d2
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085E4FFC:: @ 85E4FFC
|
||||
obj_pal gIntro1DropsPal, 0x07d0
|
||||
obj_pal gIntro1GFLogoPal, 0x07d1
|
||||
obj_pal gIntro1FlygonPal, 0x07d2
|
||||
null_obj_pal
|
||||
|
||||
.align 2
|
||||
gUnknown_085E501C:: @ 85E501C
|
||||
.byte 0xa0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_085E5024:: @ 85E5024
|
||||
.2byte 0x0010, 0x0008, 0xffff, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_085E502C:: @ 85E502C
|
||||
.4byte gUnknown_085E5024
|
||||
|
||||
.align 2
|
||||
gUnknown_085E5030:: @ 85E5030
|
||||
spr_template 0x07d3, 0x07d3, gUnknown_085E501C, gUnknown_085E502C, NULL, gDummySpriteAffineAnimTable, sub_8170040
|
||||
|
||||
.align 2
|
||||
gUnknown_085E5048:: @ 85E5048
|
||||
obj_tiles gIntro3MiscTiles, 0x0a00, 0x07d3
|
||||
null_obj_tiles
|
||||
|
||||
gUnknown_085E5058:: @ 85E5058
|
||||
obj_pal gIntro3Misc1Pal, 0x07d3
|
||||
null_obj_pal
|
||||
|
@ -1,459 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
gUnknown_085F06E0:: @ 85F06E0
|
||||
.incbin "graphics/intro/intro2_grass.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F0700:: @ 85F0700
|
||||
.incbin "graphics/intro/intro2_grass_afternoon.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F0720:: @ 85F0720
|
||||
.incbin "graphics/intro/intro2_grass_night.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F0740:: @ 85F0740
|
||||
.incbin "graphics/intro/intro2_grass.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F0BC0:: @ 85F0BC0
|
||||
.incbin "graphics/intro/intro2_grass_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F0CFC:: @ 85F0CFC
|
||||
.incbin "graphics/intro/85F0CFC.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F0D5C:: @ 85F0D5C
|
||||
.incbin "graphics/intro/85F0D5C.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F0DBC:: @ 85F0DBC
|
||||
.incbin "graphics/intro/intro2_bgclouds.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F1398:: @ 85F1398
|
||||
.incbin "graphics/intro/intro2_bgclouds_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F1668:: @ 85F1668
|
||||
.incbin "graphics/intro/intro2_bgclouds.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F1688:: @ 85F1688
|
||||
.incbin "graphics/intro/intro2_bgclouds_afternoon.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F16A8:: @ 85F16A8
|
||||
.incbin "graphics/intro/intro2_bgclouds2.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F17E4:: @ 85F17E4
|
||||
.incbin "graphics/intro/intro2_bgtrees2.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F1804:: @ 85F1804
|
||||
.incbin "graphics/intro/intro2_bgtrees2_afternoon.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F1824:: @ 85F1824
|
||||
.incbin "graphics/intro/intro2_bgtrees.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F1EAC:: @ 85F1EAC
|
||||
.incbin "graphics/intro/intro2_bgtrees_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F21B0:: @ 85F21B0
|
||||
.incbin "graphics/intro/intro2_bgtrees.gbapal"
|
||||
|
||||
.align 2
|
||||
gIntro2TreeGfx:: @ 85F21D0
|
||||
.incbin "graphics/intro/intro2_bgtreessmall.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F231C:: @ 85F231C
|
||||
.incbin "graphics/intro/85F231C.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F235C:: @ 85F235C
|
||||
.incbin "graphics/intro/intro2_bgnight.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F2548:: @ 85F2548
|
||||
.incbin "graphics/intro/intro2_bgnight.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F2568:: @ 85F2568
|
||||
.incbin "graphics/intro/intro2_bgnight_map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gIntro2NightGfx:: @ 85F2814
|
||||
.incbin "graphics/intro/intro2_night.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gIntro2BrendanPal:: @ 85F2898
|
||||
.incbin "graphics/intro/intro2_brendan.gbapal"
|
||||
|
||||
.align 2
|
||||
gIntro2BrendanGfx:: @ 85F28B8
|
||||
.incbin "graphics/intro/intro2_brendan.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gIntro2MayPal:: @ 85F3470
|
||||
.incbin "graphics/intro/intro2_may.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F3490:: @ 85F3490
|
||||
.space 0x1E0
|
||||
|
||||
.align 2
|
||||
gIntro2MayGfx:: @ 85F3670
|
||||
.incbin "graphics/intro/intro2_may.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gIntro2BicycleGfx:: @ 85F4318
|
||||
.incbin "graphics/intro/intro2_bicycle.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gIntro2LatiosPal:: @ 85F4744
|
||||
.incbin "graphics/intro/intro2_latios.gbapal"
|
||||
|
||||
.align 2
|
||||
gIntro2LatiosGfx:: @ 85F4764
|
||||
.incbin "graphics/intro/intro2_latios.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gIntro2LatiasPal:: @ 85F4C08
|
||||
.incbin "graphics/intro/intro2_latias.gbapal"
|
||||
|
||||
.align 2
|
||||
gIntro2LatiasGfx:: @ 85F4C28
|
||||
.incbin "graphics/intro/intro2_latias.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_085F504C:: @ 85F504C
|
||||
spr_template 0x07d0, 0xffff, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817B62C
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5064:: @ 85F5064
|
||||
obj_tiles gUnknown_085F16A8, 0x0400, 0x07d0
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5074:: @ 85F5074
|
||||
obj_image_anim_frame 0, 30
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F507C:: @ 85F507C
|
||||
obj_image_anim_frame 16, 30
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5084:: @ 85F5084
|
||||
obj_image_anim_frame 20, 30
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F508C:: @ 85F508C
|
||||
obj_image_anim_frame 22, 30
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5094:: @ 85F5094
|
||||
.4byte gUnknown_085F5074
|
||||
.4byte gUnknown_085F507C
|
||||
.4byte gUnknown_085F5084
|
||||
.4byte gUnknown_085F508C
|
||||
|
||||
.align 2
|
||||
gUnknown_085F50A4:: @ 85F50A4
|
||||
.byte -128, 72, 32, 100
|
||||
.2byte 0xC00
|
||||
.space 2
|
||||
.byte -128, -98, 32, 100
|
||||
.2byte 0xC00
|
||||
.space 2
|
||||
.byte 65, -64, 40, 101
|
||||
.2byte 0x800
|
||||
.space 2
|
||||
.byte 65, 56, 40, 101
|
||||
.2byte 0x800
|
||||
.space 2
|
||||
.byte 18, 100, 44, 102
|
||||
.2byte 0x400
|
||||
.space 2
|
||||
.byte 18, -104, 44, 102
|
||||
.2byte 0x400
|
||||
.space 2
|
||||
.byte 19, 8, 46, 103
|
||||
.2byte 0x100
|
||||
.space 2
|
||||
.byte 19, 56, 46, 103
|
||||
.2byte 0x100
|
||||
.space 2
|
||||
.byte 19, -16, 46, 103
|
||||
.2byte 0x100
|
||||
.space 2
|
||||
|
||||
.align 2
|
||||
gUnknown_085F50EC:: @ 85F50EC
|
||||
obj_tiles gIntro2TreeGfx, 0x0400, 0x07d0
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F50FC:: @ 85F50FC
|
||||
obj_image_anim_frame 0, 30
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5104:: @ 85F5104
|
||||
obj_image_anim_frame 16, 30
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F510C:: @ 85F510C
|
||||
obj_image_anim_frame 24, 30
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5114:: @ 85F5114
|
||||
.4byte gUnknown_085F50FC
|
||||
.4byte gUnknown_085F5104
|
||||
.4byte gUnknown_085F510C
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5120:: @ 85F5120
|
||||
.byte -128, 16, 88, 100
|
||||
.2byte 0x2000
|
||||
.space 2
|
||||
.byte -128, 80, 88, 100
|
||||
.2byte 0x2000
|
||||
.space 2
|
||||
.byte -128, -112, 88, 100
|
||||
.2byte 0x2000
|
||||
.space 2
|
||||
.byte -128, -48, 88, 100
|
||||
.2byte 0x2000
|
||||
.space 2
|
||||
.byte -95, 40, 88, 101
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
.byte -95, 104, 88, 101
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
.byte -95, -88, 88, 101
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
.byte -95, -24, 88, 101
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
.byte -94, 56, 88, 102
|
||||
.2byte 0x800
|
||||
.space 2
|
||||
.byte -94, 120, 88, 102
|
||||
.2byte 0x800
|
||||
.space 2
|
||||
.byte -94, -72, 88, 102
|
||||
.2byte 0x800
|
||||
.space 2
|
||||
.byte -94, -8, 88, 102
|
||||
.2byte 0x800
|
||||
.space 2
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5180:: @ 85F5180
|
||||
obj_tiles gIntro2NightGfx, 0x0400, 0x07d0
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5190:: @ 85F5190
|
||||
obj_image_anim_frame 0, 30
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5198:: @ 85F5198
|
||||
.4byte gUnknown_085F5190
|
||||
|
||||
.align 2
|
||||
gUnknown_085F519C:: @ 85F519C
|
||||
.byte -128, 24, 88, 100
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
.byte -128, 64, 88, 100
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
.byte -128, 104, 88, 100
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
.byte -128, -112, 88, 100
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
.byte -128, -72, 88, 100
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
.byte -128, -32, 88, 100
|
||||
.2byte 0x1000
|
||||
.space 2
|
||||
|
||||
.align 2
|
||||
gOamData_85F51CC:: @ 85F51CC
|
||||
.2byte 0x00A0
|
||||
.2byte 0xC000
|
||||
.2byte 0x0400
|
||||
|
||||
.align 2
|
||||
gUnknown_085F51D4:: @ 85F51D4
|
||||
obj_image_anim_frame 0, 8
|
||||
obj_image_anim_frame 64, 8
|
||||
obj_image_anim_frame 128, 8
|
||||
obj_image_anim_frame 192, 8
|
||||
obj_image_anim_jump 0
|
||||
|
||||
.align 2
|
||||
gUnknown_085F51E8:: @ 85F51E8
|
||||
.4byte gUnknown_085F51D4
|
||||
|
||||
.align 2
|
||||
gUnknown_085F51EC:: @ 85F51EC
|
||||
spr_template 0x03ea, 0x03ea, gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5204:: @ 85F5204
|
||||
spr_template 0x03eb, 0x03eb, gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
|
||||
|
||||
.align 2
|
||||
gUnknown_085F521C:: @ 85F521C
|
||||
.2byte 0x40A0
|
||||
.2byte 0xC000
|
||||
.2byte 0x0400
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5224:: @ 85F5224
|
||||
obj_image_anim_frame 0, 8
|
||||
obj_image_anim_frame 32, 8
|
||||
obj_image_anim_frame 64, 8
|
||||
obj_image_anim_frame 96, 8
|
||||
obj_image_anim_jump 0
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5238:: @ 85F5238
|
||||
.4byte gUnknown_085F5224
|
||||
|
||||
.align 2
|
||||
gUnknown_085F523C:: @ 85F523C
|
||||
spr_template 0x03e9, 0x03ea, gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5254:: @ 85F5254
|
||||
spr_template 0x03e9, 0x03eb, gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
|
||||
|
||||
.align 2
|
||||
gUnknown_085F526C:: @ 85F526C
|
||||
.2byte 0x00A0
|
||||
.2byte 0xC000
|
||||
.2byte 0x0400
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5274:: @ 85F5274
|
||||
obj_image_anim_frame 0, 16
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F527C:: @ 85F527C
|
||||
obj_image_anim_frame 64, 16
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5284:: @ 85F5284
|
||||
.4byte gUnknown_085F5274
|
||||
.4byte gUnknown_085F527C
|
||||
|
||||
.align 2
|
||||
gUnknown_085F528C:: @ 85F528C
|
||||
spr_template 0x03ec, 0x03ec, gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
|
||||
|
||||
.align 2
|
||||
gUnknown_085F52A4:: @ 85F52A4
|
||||
spr_template 0x03ed, 0x03ed, gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
|
||||
|
||||
.align 2
|
||||
gUnknown_085F52BC:: @ 85F52BC
|
||||
obj_tiles gIntro2BrendanNoTurnGfx, 0x2000, 0x03ea
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F52CC:: @ 85F52CC
|
||||
obj_tiles gIntro2MayNoTurnGfx, 0x2000, 0x03eb
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F52DC:: @ 85F52DC
|
||||
obj_tiles gIntro2BicycleGfx, 0x1000, 0x03e9
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F52EC:: @ 85F52EC
|
||||
obj_tiles gIntro2FlygonGfx, 0x1000, 0x03ec
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F52FC:: @ 85F52FC
|
||||
obj_tiles gIntro2FlygonGfx, 0x1000, 0x03ed
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F530C:: @ 85F530C
|
||||
obj_pal gIntro2BrendanNoTurnPal, 0x03ea
|
||||
obj_pal gIntro2BrendanNoTurnPal, 0x03eb
|
||||
obj_pal gIntro2FlygonPal, 0x03ec
|
||||
obj_pal gIntro2FlygonPal, 0x03ed
|
||||
null_obj_pal
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5334:: @ 85F5334
|
||||
obj_tiles gIntro2BrendanGfx, 0x3800, 0x03ea
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5344:: @ 85F5344
|
||||
obj_tiles gIntro2MayGfx, 0x3800, 0x03eb
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5354:: @ 85F5354
|
||||
obj_tiles gIntro2BicycleGfx, 0x1000, 0x03e9
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5364:: @ 85F5364
|
||||
obj_tiles gIntro2LatiosGfx, 0x1000, 0x03ec
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5374:: @ 85F5374
|
||||
obj_tiles gIntro2LatiasGfx, 0x1000, 0x03ed
|
||||
null_obj_pal
|
||||
|
||||
.align 2
|
||||
gUnknown_085F5384:: @ 85F5384
|
||||
obj_pal gIntro2BrendanPal, 0x03ea
|
||||
obj_pal gIntro2MayPal, 0x03eb
|
||||
obj_pal gIntro2LatiosPal, 0x03ec
|
||||
obj_pal gIntro2LatiasPal, 0x03ed
|
||||
null_obj_pal
|
||||
|
||||
.align 2
|
||||
gUnknown_085F53AC:: @ 85F53AC
|
||||
obj_tiles gIntro2BrendanGfx, 0x2000, 0x03ea
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gUnknown_085F53BC:: @ 85F53BC
|
||||
obj_tiles gIntro2MayGfx, 0x2000, 0x03eb
|
||||
null_obj_tiles
|
11
include/credits.h
Normal file
11
include/credits.h
Normal file
@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_CREDITS_H
|
||||
#define GUARD_CREDITS_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
extern EWRAM_DATA bool8 gHasHallOfFameRecords;
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
#endif //GUARD_CREDITS_H
|
@ -28,7 +28,6 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32
|
||||
void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
|
||||
void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
|
||||
|
||||
extern u8 gDecompressionBuffer[];
|
||||
u32 sub_8034974(const u8 *ptr);
|
||||
|
||||
#endif // GUARD_DECOMPRESS_H
|
||||
|
@ -624,23 +624,6 @@
|
||||
#define TIMER_INTR_ENABLE 0x40
|
||||
#define TIMER_ENABLE 0x80
|
||||
|
||||
// BGCNT
|
||||
#define BGCNT_PRIORITY(n) (n) // Values 0 - 3. Lower priority BGs will be drawn on top of higher priority BGs.
|
||||
#define BGCNT_CHARBASE(n) ((n) << 2) // Values 0 - 3. Base block for tile pixel data.
|
||||
#define BGCNT_MOSAIC 0x0040
|
||||
#define BGCNT_16COLOR 0x0000 // 4 bits per pixel
|
||||
#define BGCNT_256COLOR 0x0080 // 8 bits per pixel
|
||||
#define BGCNT_SCREENBASE(n) ((n) << 8) // Values 0 - 31. Base block for tile map.
|
||||
#define BGCNT_WRAP 0x2000 // Only affects affine BGs. Text BGs wrap by default.
|
||||
#define BGCNT_TXT256x256 0x0000 // Internal screen size size of text mode BG in pixels.
|
||||
#define BGCNT_TXT512x256 0x4000
|
||||
#define BGCNT_TXT256x512 0x8000
|
||||
#define BGCNT_TXT512x512 0xC000
|
||||
#define BGCNT_AFF128x128 0x0000 // Internal screen size size of affine mode BG in pixels.
|
||||
#define BGCNT_AFF256x256 0x4000
|
||||
#define BGCNT_AFF512x512 0x8000
|
||||
#define BGCNT_AFF1024x1024 0xC000
|
||||
|
||||
// serial
|
||||
#define SIO_ID 0x0030 // Communication ID
|
||||
|
||||
|
@ -35,6 +35,12 @@
|
||||
// Converts a number to Q4.12 fixed-point format
|
||||
#define Q_4_12(n) ((s16)((n) * 4096))
|
||||
|
||||
// Converts a Q8.8 fixed-point format number to a regular integer
|
||||
#define Q_8_8_TO_INT(n) ((int)((n) / 256))
|
||||
|
||||
// Converts a Q4.12 fixed-point format number to a regular integer
|
||||
#define Q_4_12_TO_INT(n) ((int)((n) / 4096))
|
||||
|
||||
#define PARTY_SIZE 6
|
||||
|
||||
#define POKEMON_NAME_LENGTH 10
|
||||
|
@ -2725,4 +2725,49 @@ extern const u16 gBagScreenFemale_Pal[];
|
||||
extern const u16 gBagScreenMale_Pal[];
|
||||
extern const u8 gBagMenuHMIcon_Gfx[];
|
||||
|
||||
//intro graphics
|
||||
extern const u8 gIntro1SparkleGfx[];
|
||||
extern const u8 gIntro1FlygonGfx[];
|
||||
extern const u16 gIntro3LightningPal[];
|
||||
extern const u8 gIntroCopyright_Gfx[];
|
||||
extern const u8 gIntroCopyright_Tilemap[];
|
||||
extern const u16 gIntroCopyright_Pal[16];
|
||||
extern const u8 gIntro2VolbeatGfx[];
|
||||
extern const u8 gIntro2TorchicGfx[];
|
||||
extern const u8 gIntro2ManectricGfx[];
|
||||
extern const u16 gIntro2VolbeatPal[];
|
||||
extern const u16 gIntro2TorchicPal[];
|
||||
extern const u16 gIntro2ManectricPal[];
|
||||
extern const u8 gIntro2BubblesGfx[];
|
||||
extern const u16 gIntro2BubblesPal[];
|
||||
extern const u8 gIntro3LightningGfx[];
|
||||
extern const u8 gIntro3GroudonGfx[];
|
||||
extern const u8 gIntro3GroudonTilemap[];
|
||||
extern const u8 gIntro3LegendBgGfx[];
|
||||
extern const u8 gIntro3GroudonBgTilemap[];
|
||||
extern const u8 gIntro3GroudonBgTilemap[];
|
||||
extern const u8 gIntro3BgPal[0x200];
|
||||
extern const u8 gIntro3KyogreGfx[];
|
||||
extern const u8 gIntro3KyogreTilemap[];
|
||||
extern const u8 gIntro3KyogreBgTilemap[];
|
||||
extern const u8 gIntro3CloudsGfx[];
|
||||
extern const u8 gIntro3Clouds1Tilemap[];
|
||||
extern const u8 gIntro3Clouds2Tilemap[];
|
||||
extern const u8 gIntro3Clouds3Tilemap[];
|
||||
extern const u8 gIntro3Clouds4Tilemap[];
|
||||
extern const u8 gIntro3RayquazaTilemap[];
|
||||
extern const u8 gIntro3RayquazaGfx[];
|
||||
extern const u8 gIntro3Clouds2Gfx[];
|
||||
extern const u16 gIntro1GameFreakTextFadePal[];
|
||||
|
||||
//intro/credits graphics
|
||||
extern const u8 gIntro2BrendanNoTurnGfx[];
|
||||
extern const u8 gIntro2MayNoTurnGfx[];
|
||||
extern const u16 gIntro2BrendanNoTurnPal[];
|
||||
extern const u16 gIntro2FlygonPal[];
|
||||
extern const u8 gIntro2FlygonGfx[];
|
||||
|
||||
//credits
|
||||
extern const u8 gCreditsCopyrightEnd_Gfx[];
|
||||
|
||||
#endif //GUARD_GRAPHICS_H
|
||||
|
@ -6,7 +6,7 @@
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void c2_copyright_1(void);
|
||||
void CB2_InitCopyrightScreenAfterBootup(void);
|
||||
void CB2_InitCopyrightScreenAfterBootup(void);
|
||||
void CB2_InitCopyrightScreenAfterTitleScreen(void);
|
||||
void sub_816F2A8(u16, u16, u16, u16);
|
||||
|
30
include/intro_credits_graphics.h
Normal file
30
include/intro_credits_graphics.h
Normal file
@ -0,0 +1,30 @@
|
||||
#ifndef GUARD_INTRO_CREDITS_GRAPHICS_H
|
||||
#define GUARD_INTRO_CREDITS_GRAPHICS_H
|
||||
|
||||
extern u16 gUnknown_0203BD24;
|
||||
extern s16 gUnknown_0203BD26;
|
||||
extern s16 gUnknown_0203BD28;
|
||||
|
||||
extern const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[];
|
||||
extern const struct CompressedSpriteSheet gIntro2MaySpriteSheet[];
|
||||
extern const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[];
|
||||
extern const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[];
|
||||
extern const struct SpritePalette gUnknown_085F530C[];
|
||||
extern const struct CompressedSpriteSheet gUnknown_085F5334[];
|
||||
extern const struct CompressedSpriteSheet gUnknown_085F5344[];
|
||||
extern const struct CompressedSpriteSheet gUnknown_085F5354[];
|
||||
extern const struct CompressedSpriteSheet gUnknown_085F53AC[];
|
||||
extern const struct CompressedSpriteSheet gUnknown_085F53BC[];
|
||||
extern const struct SpritePalette gUnknown_085F5384[];
|
||||
|
||||
void load_intro_part2_graphics(u8 a);
|
||||
void sub_817B150(u8 a);
|
||||
void sub_817B1C8(u8);
|
||||
void sub_817B3A8(u8);
|
||||
u8 sub_817B3DC(u8 a, u16 b, u16 c, u16 d);
|
||||
void sub_817B540(u8);
|
||||
u8 intro_create_brendan_sprite(s16 a, s16 b);
|
||||
u8 intro_create_may_sprite(s16 a, s16 b);
|
||||
u8 intro_create_flygon_sprite(s16 a, s16 b);
|
||||
|
||||
#endif // GUARD_INTRO_CREDITS_GRAPHICS_H
|
17
include/libgcnmultiboot.h
Normal file
17
include/libgcnmultiboot.h
Normal file
@ -0,0 +1,17 @@
|
||||
#ifndef GUARD_LIBGCMMULTIBOOT_H
|
||||
#define GUARD_LIBGCNMULTIBOOT_H
|
||||
|
||||
struct GcmbStruct
|
||||
{
|
||||
u16 gcmb_field_0;
|
||||
vu8 gcmb_field_2;
|
||||
u8 filler3[0x2C - 0x3];
|
||||
};
|
||||
|
||||
void GameCubeMultiBoot_Main(struct GcmbStruct *pStruct);
|
||||
void GameCubeMultiBoot_ExecuteProgram(struct GcmbStruct *pStruct);
|
||||
void GameCubeMultiBoot_Init(struct GcmbStruct *pStruct);
|
||||
void GameCubeMultiBoot_HandleSerialInterrupt(struct GcmbStruct *pStruct);
|
||||
void GameCubeMultiBoot_Quit(void);
|
||||
|
||||
#endif // GUARD_LIBGCNMULTIBOOT_H
|
6
include/multiboot_pokemon_colosseum.h
Normal file
6
include/multiboot_pokemon_colosseum.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_MULTIBOOT_POKEMON_COLOSSEUM_H
|
||||
#define GUARD_MULTIBOOT_POKEMON_COLOSSEUM_H
|
||||
|
||||
extern const u16 gMultiBootProgram_PokemonColosseum_Start[0x14000];
|
||||
|
||||
#endif // GUARD_MULTIBOOT_POKEMON_COLOSSEUM_H
|
@ -17,7 +17,6 @@ enum
|
||||
};
|
||||
|
||||
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
|
||||
u16 GetNationalPokedexCount(u8);
|
||||
u16 GetHoennPokedexCount(u8);
|
||||
u16 sub_80C0E9C(u16, s16, s16, u16);
|
||||
|
||||
#endif // GUARD_POKEDEX_H
|
||||
|
@ -47,19 +47,19 @@ enum
|
||||
// Do save types
|
||||
enum
|
||||
{
|
||||
NORMAL_SAVE,
|
||||
LINK_SAVE,
|
||||
//EREADER_SAVE, // depreciated in Emerald
|
||||
LINK2_SAVE, // unknown 2nd link save
|
||||
HOF_SAVE,
|
||||
DIFFERENT_FILE_SAVE,
|
||||
HOF_DELETE_SAVE // unused
|
||||
SAVE_NORMAL,
|
||||
SAVE_LINK,
|
||||
//EREADER_SAVE, // deprecated in Emerald
|
||||
SAVE_LINK2, // unknown 2nd link save
|
||||
SAVE_HALL_OF_FAME,
|
||||
SAVE_OVERWRITE_DIFFERENT_FILE,
|
||||
SAVE_HALL_OF_FAME_ERASE_BEFORE // unused
|
||||
};
|
||||
|
||||
#define SECTION_ID_RECORDED_BATTLE 31
|
||||
|
||||
void ClearSaveData(void);
|
||||
void ResetSaveCounters(void);
|
||||
void Save_ResetSaveCounters(void);
|
||||
bool32 SetDamagedSectorBits(u8 op, u8 bit);
|
||||
u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location);
|
||||
@ -88,7 +88,7 @@ u8 sub_81533E0(void);
|
||||
u8 sub_8153408(void);
|
||||
u8 sub_8153430(void);
|
||||
bool8 sub_8153474(void);
|
||||
u8 sub_81534D0(u8 a1);
|
||||
u8 Save_LoadGameData(u8 a1);
|
||||
u16 sub_815355C(void);
|
||||
u32 TryCopySpecialSaveSection(u8 sector, u8* dst);
|
||||
u32 sub_8153634(u8 sector, u8* src);
|
||||
|
@ -1,6 +1,11 @@
|
||||
#ifndef GUARD_STARTER_CHOOSE_H
|
||||
#define GUARD_STARTER_CHOOSE_H
|
||||
|
||||
extern const u16 gBirchBagGrassPal[2][16];
|
||||
extern const u8 gBirchBagTilemap[];
|
||||
extern const u8 gBirchGrassTilemap[];
|
||||
extern const u8 gBirchHelpGfx[];
|
||||
|
||||
u16 GetStarterPokemon(u16 chosenStarterId);
|
||||
void CB2_ChooseStarter(void);
|
||||
|
||||
|
@ -218,12 +218,12 @@ SECTIONS {
|
||||
asm/use_pokeblock.o(.text);
|
||||
src/battle_controller_wally.o(.text);
|
||||
asm/player_pc.o(.text);
|
||||
asm/intro.o(.text);
|
||||
src/intro.o(.text);
|
||||
src/reset_save_heap.o(.text);
|
||||
src/field_region_map.o(.text);
|
||||
asm/battle_anim_8170478.o(.text);
|
||||
src/hall_of_fame.o(.text);
|
||||
asm/credits.o(.text);
|
||||
src/credits.o(.text);
|
||||
src/lottery_corner.o(.text);
|
||||
src/diploma.o(.text);
|
||||
src/berry_tag_screen.o(.text);
|
||||
@ -232,7 +232,7 @@ SECTIONS {
|
||||
src/braille_puzzles.o(.text);
|
||||
src/pokeblock_feed.o(.text);
|
||||
src/clear_save_data_screen.o(.text);
|
||||
asm/intro_credits_graphics.o(.text);
|
||||
src/intro_credits_graphics.o(.text);
|
||||
src/evolution_graphics.o(.text);
|
||||
src/bard_music.o(.text);
|
||||
src/fldeff_teleport.o(.text);
|
||||
@ -494,11 +494,11 @@ SECTIONS {
|
||||
data/use_pokeblock.o(.rodata);
|
||||
src/battle_controller_wally.o(.rodata);
|
||||
data/player_pc.o(.rodata);
|
||||
data/intro.o(.rodata);
|
||||
src/intro.o(.rodata);
|
||||
src/field_region_map.o(.rodata);
|
||||
data/battle_anim_8170478.o(.rodata);
|
||||
src/hall_of_fame.o(.rodata);
|
||||
data/credits.o(.rodata);
|
||||
src/credits.o(.rodata);
|
||||
src/lottery_corner.o(.rodata);
|
||||
src/diploma.o(.rodata);
|
||||
data/strings.o(.rodata);
|
||||
@ -508,7 +508,7 @@ SECTIONS {
|
||||
data/braille_puzzles.o(.rodata);
|
||||
src/pokeblock_feed.o(.rodata);
|
||||
src/clear_save_data_screen.o(.rodata);
|
||||
data/intro_credits_graphics.o(.rodata);
|
||||
src/intro_credits_graphics.o(.rodata);
|
||||
src/evolution_graphics.o(.rodata);
|
||||
src/bard_music.o(.rodata);
|
||||
data/battle_link_817C95C.o(.rodata);
|
||||
|
2355
src/credits.c
Normal file
2355
src/credits.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -369,7 +369,7 @@ static const struct HallofFameMon sDummyFameMon =
|
||||
0x3EA03EA, 0, 0, 0, {0}
|
||||
};
|
||||
|
||||
static const u8 sUnused2[6] = {2, 1, 3, 6, 4, 5};
|
||||
static const u8 sUnused2[] = {2, 1, 3, 6, 4, 5, 0, 0};
|
||||
|
||||
// code
|
||||
static void VBlankCB_HallOfFame(void)
|
||||
@ -516,7 +516,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sub_81534D0(3) != TRUE)
|
||||
if (Save_LoadGameData(3) != TRUE)
|
||||
memset(gDecompressionBuffer, 0, 0x2000);
|
||||
}
|
||||
|
||||
@ -885,7 +885,7 @@ void CB2_DoHallOfFamePC(void)
|
||||
static void Task_HofPC_CopySaveData(u8 taskId)
|
||||
{
|
||||
sub_81980F0(0, 0x1E, 0, 0xC, 0x226);
|
||||
if (sub_81534D0(3) != 1)
|
||||
if (Save_LoadGameData(3) != 1)
|
||||
{
|
||||
gTasks[taskId].func = Task_HofPC_PrintDataIsCorrupted;
|
||||
}
|
||||
|
3020
src/intro.c
Normal file
3020
src/intro.c
Normal file
File diff suppressed because it is too large
Load Diff
740
src/intro_credits_graphics.c
Normal file
740
src/intro_credits_graphics.c
Normal file
@ -0,0 +1,740 @@
|
||||
#include "global.h"
|
||||
#include "intro_credits_graphics.h"
|
||||
#include "palette.h"
|
||||
#include "decompress.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "task.h"
|
||||
#include "main.h"
|
||||
#include "graphics.h"
|
||||
|
||||
struct IntroCreditsSpriteMetadata
|
||||
{
|
||||
u8 animNum:4;
|
||||
u8 shape:2;
|
||||
u8 size:2;
|
||||
u8 x;
|
||||
u8 y;
|
||||
u8 subpriority;
|
||||
u16 xOff;
|
||||
};
|
||||
|
||||
static const u16 gUnknown_085F06E0[] = INCBIN_U16("graphics/intro/intro2_grass.gbapal");
|
||||
static const u16 gUnknown_085F0700[] = INCBIN_U16("graphics/intro/intro2_grass_afternoon.gbapal");
|
||||
static const u16 gUnknown_085F0720[] = INCBIN_U16("graphics/intro/intro2_grass_night.gbapal");
|
||||
static const u8 gUnknown_085F0740[] = INCBIN_U8("graphics/intro/intro2_grass.4bpp.lz");
|
||||
static const u8 gUnknown_085F0BC0[] = INCBIN_U8("graphics/intro/intro2_grass_map.bin.lz");
|
||||
static const u16 gUnknown_085F0CFC[] = INCBIN_U16("graphics/intro/85F0CFC.gbapal");
|
||||
static const u16 gUnknown_085F0D5C[] = INCBIN_U16("graphics/intro/85F0D5C.gbapal");
|
||||
static const u8 gUnknown_085F0DBC[] = INCBIN_U8("graphics/intro/intro2_bgclouds.4bpp.lz");
|
||||
static const u8 gUnknown_085F1398[] = INCBIN_U8("graphics/intro/intro2_bgclouds_map.bin.lz");
|
||||
static const u16 gUnknown_085F1668[] = INCBIN_U16("graphics/intro/intro2_bgclouds.gbapal");
|
||||
static const u16 gUnknown_085F1688[] = INCBIN_U16("graphics/intro/intro2_bgclouds_afternoon.gbapal");
|
||||
static const u8 gUnknown_085F16A8[] = INCBIN_U8("graphics/intro/intro2_bgclouds2.4bpp.lz");
|
||||
static const u16 gUnknown_085F17E4[] = INCBIN_U16("graphics/intro/intro2_bgtrees2.gbapal");
|
||||
static const u16 gUnknown_085F1804[] = INCBIN_U16("graphics/intro/intro2_bgtrees2_afternoon.gbapal");
|
||||
static const u8 gUnknown_085F1824[] = INCBIN_U8("graphics/intro/intro2_bgtrees.4bpp.lz");
|
||||
static const u8 gUnknown_085F1EAC[] = INCBIN_U8("graphics/intro/intro2_bgtrees_map.bin.lz");
|
||||
static const u16 gUnknown_085F21B0[] = INCBIN_U16("graphics/intro/intro2_bgtrees.gbapal");
|
||||
static const u8 gIntro2TreeTiles[] = INCBIN_U8("graphics/intro/intro2_bgtreessmall.4bpp.lz");
|
||||
static const u16 gUnknown_085F231C[] = INCBIN_U16("graphics/intro/85F231C.gbapal");
|
||||
static const u8 gUnknown_085F235C[] = INCBIN_U8("graphics/intro/intro2_bgnight.4bpp.lz");
|
||||
static const u16 gUnknown_085F2548[] = INCBIN_U16("graphics/intro/intro2_bgnight.gbapal");
|
||||
static const u8 gUnknown_085F2568[] = INCBIN_U8("graphics/intro/intro2_bgnight_map.bin.lz");
|
||||
static const u8 gIntro2NightTiles[] = INCBIN_U8("graphics/intro/intro2_night.4bpp.lz");
|
||||
static const u16 gIntro2BrendanPalette[] = INCBIN_U16("graphics/intro/intro2_brendan.gbapal");
|
||||
static const u8 gIntro2BrendanTiles[] = INCBIN_U8("graphics/intro/intro2_brendan.4bpp.lz");
|
||||
static const u16 gIntro2MayPalette[] = INCBIN_U16("graphics/intro/intro2_may.gbapal");
|
||||
static const u16 gUnknown_085F3490[0xF0] = {0};
|
||||
static const u8 gIntro2MayTiles[] = INCBIN_U8("graphics/intro/intro2_may.4bpp.lz");
|
||||
static const u8 gIntro2BicycleTiles[] = INCBIN_U8("graphics/intro/intro2_bicycle.4bpp.lz");
|
||||
static const u16 gIntro2LatiosPalette[] = INCBIN_U16("graphics/intro/intro2_latios.gbapal");
|
||||
static const u8 gIntro2LatiosTiles[] = INCBIN_U8("graphics/intro/intro2_latios.4bpp.lz");
|
||||
static const u16 gIntro2LatiasPalette[] = INCBIN_U16("graphics/intro/intro2_latias.gbapal");
|
||||
static const u8 gIntro2LatiasTiles[] = INCBIN_U8("graphics/intro/intro2_latias.4bpp.lz");
|
||||
|
||||
static void sub_817B62C(struct Sprite *sprite);
|
||||
static void nullsub_65(struct Sprite *sprite);
|
||||
static void sub_817B7C4(struct Sprite *sprite);
|
||||
static void nullsub_66(struct Sprite *sprite);
|
||||
|
||||
static const struct SpriteTemplate gUnknown_085F504C = {
|
||||
2000, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817B62C
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_085F5064[] = {
|
||||
{ gUnknown_085F16A8, 0x400, 2000 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F5074[] = {
|
||||
ANIMCMD_FRAME( 0, 30),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F507C[] = {
|
||||
ANIMCMD_FRAME(16, 30),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F5084[] = {
|
||||
ANIMCMD_FRAME(20, 30),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F508C[] = {
|
||||
ANIMCMD_FRAME(22, 30),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gUnknown_085F5094[] = {
|
||||
gUnknown_085F5074,
|
||||
gUnknown_085F507C,
|
||||
gUnknown_085F5084,
|
||||
gUnknown_085F508C
|
||||
};
|
||||
|
||||
static const struct IntroCreditsSpriteMetadata gUnknown_085F50A4[] = {
|
||||
{ 0, ST_OAM_SQUARE, 2, 72, 32, 100, 0xc00 },
|
||||
{ 0, ST_OAM_SQUARE, 2, 158, 32, 100, 0xc00 },
|
||||
{ 1, ST_OAM_SQUARE, 1, 192, 40, 101, 0x800 },
|
||||
{ 1, ST_OAM_SQUARE, 1, 56, 40, 101, 0x800 },
|
||||
{ 2, ST_OAM_H_RECTANGLE, 0, 100, 44, 102, 0x400 },
|
||||
{ 2, ST_OAM_H_RECTANGLE, 0, 152, 44, 102, 0x400 },
|
||||
{ 3, ST_OAM_H_RECTANGLE, 0, 8, 46, 103, 0x100 },
|
||||
{ 3, ST_OAM_H_RECTANGLE, 0, 56, 46, 103, 0x100 },
|
||||
{ 3, ST_OAM_H_RECTANGLE, 0, 240, 46, 103, 0x100 },
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_085F50EC[] = {
|
||||
{ gIntro2TreeTiles, 0x400, 2000 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F50FC[] = {
|
||||
ANIMCMD_FRAME( 0, 30),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F5104[] = {
|
||||
ANIMCMD_FRAME(16, 30),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F510C[] = {
|
||||
ANIMCMD_FRAME(24, 30),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gUnknown_085F5114[] = {
|
||||
gUnknown_085F50FC,
|
||||
gUnknown_085F5104,
|
||||
gUnknown_085F510C
|
||||
};
|
||||
|
||||
static const struct IntroCreditsSpriteMetadata gUnknown_085F5120[] = {
|
||||
{ 0, ST_OAM_SQUARE, 2, 16, 88, 100, 0x2000 },
|
||||
{ 0, ST_OAM_SQUARE, 2, 80, 88, 100, 0x2000 },
|
||||
{ 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x2000 },
|
||||
{ 0, ST_OAM_SQUARE, 2, 208, 88, 100, 0x2000 },
|
||||
{ 1, ST_OAM_V_RECTANGLE, 2, 40, 88, 101, 0x1000 },
|
||||
{ 1, ST_OAM_V_RECTANGLE, 2, 104, 88, 101, 0x1000 },
|
||||
{ 1, ST_OAM_V_RECTANGLE, 2, 168, 88, 101, 0x1000 },
|
||||
{ 1, ST_OAM_V_RECTANGLE, 2, 232, 88, 101, 0x1000 },
|
||||
{ 2, ST_OAM_V_RECTANGLE, 2, 56, 88, 102, 0x800 },
|
||||
{ 2, ST_OAM_V_RECTANGLE, 2, 120, 88, 102, 0x800 },
|
||||
{ 2, ST_OAM_V_RECTANGLE, 2, 184, 88, 102, 0x800 },
|
||||
{ 2, ST_OAM_V_RECTANGLE, 2, 248, 88, 102, 0x800 },
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_085F5180[] = {
|
||||
{ gIntro2NightTiles, 0x400, 2000 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F5190[] = {
|
||||
ANIMCMD_FRAME(0, 30),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gUnknown_085F5198[] = {
|
||||
gUnknown_085F5190
|
||||
};
|
||||
|
||||
static const struct IntroCreditsSpriteMetadata gUnknown_085F519C[] = {
|
||||
{ 0, ST_OAM_SQUARE, 2, 24, 88, 100, 0x1000 },
|
||||
{ 0, ST_OAM_SQUARE, 2, 64, 88, 100, 0x1000 },
|
||||
{ 0, ST_OAM_SQUARE, 2, 104, 88, 100, 0x1000 },
|
||||
{ 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x1000 },
|
||||
{ 0, ST_OAM_SQUARE, 2, 184, 88, 100, 0x1000 },
|
||||
{ 0, ST_OAM_SQUARE, 2, 224, 88, 100, 0x1000 },
|
||||
};
|
||||
|
||||
static const struct OamData gOamData_85F51CC = {
|
||||
.y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F51D4[] = {
|
||||
ANIMCMD_FRAME( 0, 8),
|
||||
ANIMCMD_FRAME( 64, 8),
|
||||
ANIMCMD_FRAME(128, 8),
|
||||
ANIMCMD_FRAME(192, 8),
|
||||
ANIMCMD_JUMP(0)
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gUnknown_085F51E8[] = {
|
||||
gUnknown_085F51D4
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_085F51EC = {
|
||||
1002, 1002, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_085F5204 = {
|
||||
1003, 1003, &gOamData_85F51CC, gUnknown_085F51E8, NULL, gDummySpriteAffineAnimTable, nullsub_65
|
||||
};
|
||||
|
||||
static const struct OamData gUnknown_085F521C = {
|
||||
.y = 160, .shape = ST_OAM_H_RECTANGLE, .size = 3, .priority = 1
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F5224[] = {
|
||||
ANIMCMD_FRAME( 0, 8),
|
||||
ANIMCMD_FRAME( 32, 8),
|
||||
ANIMCMD_FRAME( 64, 8),
|
||||
ANIMCMD_FRAME( 96, 8),
|
||||
ANIMCMD_JUMP(0)
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gUnknown_085F5238[] = {
|
||||
gUnknown_085F5224
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_085F523C = {
|
||||
1001, 1002, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_085F5254 = {
|
||||
1001, 1003, &gUnknown_085F521C, gUnknown_085F5238, NULL, gDummySpriteAffineAnimTable, sub_817B7C4
|
||||
};
|
||||
|
||||
static const struct OamData gUnknown_085F526C = {
|
||||
.y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F5274[] = {
|
||||
ANIMCMD_FRAME( 0, 16),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_085F527C[] = {
|
||||
ANIMCMD_FRAME( 64, 16),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gUnknown_085F5284[] = {
|
||||
gUnknown_085F5274,
|
||||
gUnknown_085F527C
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_085F528C = {
|
||||
1004, 1004, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_085F52A4 = {
|
||||
1005, 1005, &gUnknown_085F526C, gUnknown_085F5284, NULL, gDummySpriteAffineAnimTable, nullsub_66
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[] = {
|
||||
{ gIntro2BrendanNoTurnGfx, 0x2000, 1002 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gIntro2MaySpriteSheet[] = {
|
||||
{ gIntro2MayNoTurnGfx, 0x2000, 1003 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[] = {
|
||||
{ gIntro2BicycleTiles, 0x1000, 1001 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_085F52EC[] = {
|
||||
{ gIntro2FlygonGfx, 0x1000, 1004 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[] = {
|
||||
{ gIntro2FlygonGfx, 0x1000, 1005 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct SpritePalette gUnknown_085F530C[] = {
|
||||
{ gIntro2BrendanNoTurnPal, 1002 },
|
||||
{ gIntro2BrendanNoTurnPal, 1003 },
|
||||
{ gIntro2FlygonPal, 1004 },
|
||||
{ gIntro2FlygonPal, 1005 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_085F5334[] = {
|
||||
{ gIntro2BrendanTiles, 0x3800, 1002 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_085F5344[] = {
|
||||
{ gIntro2MayTiles, 0x3800, 1003 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_085F5354[] = {
|
||||
{ gIntro2BicycleTiles, 0x1000, 1001 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_085F5364[] = {
|
||||
{ gIntro2LatiosTiles, 0x1000, 1004 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_085F5374[] = {
|
||||
{ gIntro2LatiasTiles, 0x1000, 1005 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct SpritePalette gUnknown_085F5384[] = {
|
||||
{ gIntro2BrendanPalette, 1002 },
|
||||
{ gIntro2MayPalette, 1003 },
|
||||
{ gIntro2LatiosPalette, 1004 },
|
||||
{ gIntro2LatiasPalette, 1005 },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_085F53AC[] = {
|
||||
{ gIntro2BrendanTiles, 0x2000, 1002},
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_085F53BC[] = {
|
||||
{ gIntro2MayTiles, 0x2000, 1003},
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
EWRAM_DATA u16 gUnknown_0203BD24 = 0;
|
||||
EWRAM_DATA s16 gUnknown_0203BD26 = 0;
|
||||
EWRAM_DATA s16 gUnknown_0203BD28 = 0;
|
||||
|
||||
static void sub_817B76C(void);
|
||||
static void sub_817B788(void);
|
||||
static void sub_817B7A4(void);
|
||||
static void sub_817B458(u8);
|
||||
|
||||
void load_intro_part2_graphics(u8 a)
|
||||
{
|
||||
LZ77UnCompVram(&gUnknown_085F0740, (void *)(VRAM + 0x4000));
|
||||
LZ77UnCompVram(&gUnknown_085F0BC0, (void *)(VRAM + 0x7800));
|
||||
LoadPalette(&gUnknown_085F06E0, 240, 32);
|
||||
switch (a)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
LZ77UnCompVram(&gUnknown_085F0DBC, (void *)(VRAM));
|
||||
LZ77UnCompVram(&gUnknown_085F1398, (void *)(VRAM + 0x3000));
|
||||
LoadPalette(&gUnknown_085F0CFC, 0, 96);
|
||||
LoadCompressedObjectPic(gUnknown_085F5064);
|
||||
LoadPalette(&gUnknown_085F1668, 256, 32);
|
||||
sub_817B76C();
|
||||
break;
|
||||
case 1:
|
||||
LZ77UnCompVram(&gUnknown_085F1824, (void *)(VRAM));
|
||||
LZ77UnCompVram(&gUnknown_085F1EAC, (void *)(VRAM + 0x3000));
|
||||
LoadPalette(&gUnknown_085F17E4, 0, 32);
|
||||
LoadCompressedObjectPic(gUnknown_085F50EC);
|
||||
LoadPalette(&gUnknown_085F21B0, 256, 32);
|
||||
sub_817B788();
|
||||
break;
|
||||
}
|
||||
gUnknown_0203BD28 = 0;
|
||||
gReservedSpritePaletteCount = 8;
|
||||
}
|
||||
|
||||
void sub_817B150(u8 a)
|
||||
{
|
||||
switch (a)
|
||||
{
|
||||
default:
|
||||
case 0:
|
||||
SetGpuReg(REG_OFFSET_BG3CNT, BGCNT_PRIORITY(3)
|
||||
| BGCNT_CHARBASE(0)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(6)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2)
|
||||
| BGCNT_CHARBASE(0)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(7)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1)
|
||||
| BGCNT_CHARBASE(1)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(15)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0
|
||||
| DISPCNT_OBJ_1D_MAP
|
||||
| DISPCNT_BG1_ON
|
||||
| DISPCNT_BG2_ON
|
||||
| DISPCNT_BG3_ON
|
||||
| DISPCNT_OBJ_ON);
|
||||
break;
|
||||
case 1:
|
||||
SetGpuReg(REG_OFFSET_BG3CNT, BGCNT_PRIORITY(3)
|
||||
| BGCNT_CHARBASE(0)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(6)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2)
|
||||
| BGCNT_CHARBASE(0)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(7)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1)
|
||||
| BGCNT_CHARBASE(1)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(15)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0
|
||||
| DISPCNT_OBJ_1D_MAP
|
||||
| DISPCNT_BG1_ON
|
||||
| DISPCNT_BG2_ON
|
||||
| DISPCNT_BG3_ON
|
||||
| DISPCNT_OBJ_ON);
|
||||
break;
|
||||
case 2:
|
||||
SetGpuReg(REG_OFFSET_BG3CNT, BGCNT_PRIORITY(3)
|
||||
| BGCNT_CHARBASE(0)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(6)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2)
|
||||
| BGCNT_CHARBASE(0)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(7)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1)
|
||||
| BGCNT_CHARBASE(1)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(15)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0
|
||||
| DISPCNT_OBJ_1D_MAP
|
||||
| DISPCNT_BG1_ON
|
||||
| DISPCNT_BG2_ON
|
||||
| DISPCNT_BG3_ON
|
||||
| DISPCNT_OBJ_ON);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_817B1C8(u8 a)
|
||||
{
|
||||
LZ77UnCompVram(&gUnknown_085F0740, (void *)(VRAM + 0x4000));
|
||||
LZ77UnCompVram(&gUnknown_085F0BC0, (void *)(VRAM + 0x7800));
|
||||
switch (a)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
LoadPalette(&gUnknown_085F06E0, 240, 32);
|
||||
LZ77UnCompVram(&gUnknown_085F0DBC, (void *)(VRAM));
|
||||
LZ77UnCompVram(&gUnknown_085F1398, (void *)(VRAM + 0x3000));
|
||||
LoadPalette(&gUnknown_085F0CFC, 0, 96);
|
||||
LoadCompressedObjectPic(gUnknown_085F5064);
|
||||
LZ77UnCompVram(&gUnknown_085F16A8, (void *)(VRAM + 0x10000));
|
||||
LoadPalette(&gUnknown_085F1668, 256, 32);
|
||||
sub_817B76C();
|
||||
break;
|
||||
case 1:
|
||||
LoadPalette(&gUnknown_085F0700, 240, 32);
|
||||
LZ77UnCompVram(&gUnknown_085F0DBC, (void *)(VRAM));
|
||||
LZ77UnCompVram(&gUnknown_085F1398, (void *)(VRAM + 0x3000));
|
||||
LoadPalette(&gUnknown_085F0D5C, 0, 96);
|
||||
LoadCompressedObjectPic(gUnknown_085F5064);
|
||||
LZ77UnCompVram(&gUnknown_085F16A8, (void *)(VRAM + 0x10000));
|
||||
LoadPalette(&gUnknown_085F1688, 256, 32);
|
||||
sub_817B76C();
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
LoadPalette(&gUnknown_085F0700, 240, 32);
|
||||
LZ77UnCompVram(&gUnknown_085F1824, (void *)(VRAM));
|
||||
LZ77UnCompVram(&gUnknown_085F1EAC, (void *)(VRAM + 0x3000));
|
||||
LoadPalette(&gUnknown_085F1804, 0, 32);
|
||||
LoadCompressedObjectPic(gUnknown_085F50EC);
|
||||
LoadPalette(&gUnknown_085F1804, 256, 32);
|
||||
sub_817B788();
|
||||
break;
|
||||
case 4:
|
||||
LoadPalette(&gUnknown_085F0720, 240, 32);
|
||||
LZ77UnCompVram(&gUnknown_085F235C, (void *)(VRAM));
|
||||
LZ77UnCompVram(&gUnknown_085F2568, (void *)(VRAM + 0x3000));
|
||||
LoadPalette(&gUnknown_085F231C, 0, 64);
|
||||
LoadCompressedObjectPic(gUnknown_085F5180);
|
||||
LoadPalette(&gUnknown_085F2548, 256, 32);
|
||||
sub_817B7A4();
|
||||
break;
|
||||
}
|
||||
gReservedSpritePaletteCount = 8;
|
||||
gUnknown_0203BD28 = 0;
|
||||
}
|
||||
|
||||
void sub_817B3A8(u8 a)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BG3CNT, BGCNT_PRIORITY(3)
|
||||
| BGCNT_CHARBASE(0)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(6)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2)
|
||||
| BGCNT_CHARBASE(0)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(7)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1)
|
||||
| BGCNT_CHARBASE(1)
|
||||
| BGCNT_16COLOR
|
||||
| BGCNT_SCREENBASE(15)
|
||||
| BGCNT_TXT256x256);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0
|
||||
| DISPCNT_OBJ_1D_MAP
|
||||
| DISPCNT_BG_ALL_ON
|
||||
| DISPCNT_OBJ_ON);
|
||||
}
|
||||
|
||||
u8 sub_817B3DC(u8 a, u16 b, u16 c, u16 d)
|
||||
{
|
||||
u8 taskId = CreateTask(&sub_817B458, 0);
|
||||
|
||||
gTasks[taskId].data[0] = a;
|
||||
gTasks[taskId].data[1] = b;
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].data[3] = 0;
|
||||
gTasks[taskId].data[4] = c;
|
||||
gTasks[taskId].data[5] = 0;
|
||||
gTasks[taskId].data[6] = 0;
|
||||
gTasks[taskId].data[7] = d;
|
||||
gTasks[taskId].data[8] = 8;
|
||||
gTasks[taskId].data[9] = 0;
|
||||
sub_817B458(taskId);
|
||||
return taskId;
|
||||
}
|
||||
|
||||
static void sub_817B458(u8 taskId)
|
||||
{
|
||||
s16 data1;
|
||||
s16 data4;
|
||||
s16 data7;
|
||||
s32 r2;
|
||||
|
||||
data1 = gTasks[taskId].data[1];
|
||||
if (data1 != 0)
|
||||
{
|
||||
r2 = (gTasks[taskId].data[2] << 16) + (u16)gTasks[taskId].data[3];
|
||||
r2 -= (u16)data1 << 4;
|
||||
gTasks[taskId].data[2] = r2 >> 16;
|
||||
gTasks[taskId].data[3] = r2;
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, gTasks[taskId].data[2]);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, gUnknown_0203BD24 + gUnknown_0203BD26);
|
||||
}
|
||||
|
||||
data4 = gTasks[taskId].data[4];
|
||||
if (data4 != 0)
|
||||
{
|
||||
r2 = (gTasks[taskId].data[5] << 16) + (u16)gTasks[taskId].data[6];
|
||||
r2 -= (u16)data4 << 4;
|
||||
gTasks[taskId].data[5] = r2 >> 16;
|
||||
gTasks[taskId].data[6] = r2;
|
||||
SetGpuReg(REG_OFFSET_BG2HOFS, gTasks[taskId].data[5]);
|
||||
if (gTasks[taskId].data[0] != 0)
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_0203BD24 + gUnknown_0203BD26);
|
||||
else
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_0203BD24);
|
||||
}
|
||||
|
||||
data7 = gTasks[taskId].data[7];
|
||||
if (data7 != 0)
|
||||
{
|
||||
r2 = (gTasks[taskId].data[8] << 16) + (u16)gTasks[taskId].data[9];
|
||||
r2 -= (u16)data7 << 4;
|
||||
gTasks[taskId].data[8] = r2 >> 16;
|
||||
gTasks[taskId].data[9] = r2;
|
||||
SetGpuReg(REG_OFFSET_BG3HOFS, gTasks[taskId].data[8]);
|
||||
SetGpuReg(REG_OFFSET_BG3VOFS, gUnknown_0203BD24);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_817B540(u8 mode)
|
||||
{
|
||||
u16 x;
|
||||
u16 y;
|
||||
switch (mode)
|
||||
{
|
||||
case 0:
|
||||
default:
|
||||
/* stuff */
|
||||
if (gMain.vblankCounter1 & 3 || gPaletteFade.active)
|
||||
break;
|
||||
if (gMain.vblankCounter1 & 4)
|
||||
{
|
||||
x = gPlttBufferUnfaded[9];
|
||||
y = gPlttBufferUnfaded[10];
|
||||
}
|
||||
else
|
||||
{
|
||||
x = gPlttBufferUnfaded[10];
|
||||
y = gPlttBufferUnfaded[9];
|
||||
}
|
||||
LoadPalette(&x, 9, 2);
|
||||
LoadPalette(&y, 10, 2);
|
||||
break;
|
||||
case 2:
|
||||
if (gMain.vblankCounter1 & 3 || gPaletteFade.active)
|
||||
break;
|
||||
if (gMain.vblankCounter1 & 4)
|
||||
{
|
||||
x = 0x3D27;
|
||||
y = 0x295;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = 0x31C;
|
||||
y = 0x3D27;
|
||||
}
|
||||
LoadPalette(&x, 12, 2);
|
||||
LoadPalette(&y, 13, 2);
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_817B62C(struct Sprite *sprite)
|
||||
{
|
||||
s32 var;
|
||||
s16 var2 = gUnknown_0203BD28;
|
||||
|
||||
if (var2 != 2)
|
||||
{
|
||||
switch (var2)
|
||||
{
|
||||
default:
|
||||
DestroySprite(sprite);
|
||||
break;
|
||||
case 0:
|
||||
var = ((sprite->pos1.x << 16) | (u16)sprite->data[2]) + (u16)sprite->data[1];
|
||||
sprite->pos1.x = var >> 16;
|
||||
sprite->data[2] = var;
|
||||
if (sprite->pos1.x > 0xFF)
|
||||
sprite->pos1.x = -0x20;
|
||||
if (sprite->data[0])
|
||||
sprite->pos2.y = -(gUnknown_0203BD24 + gUnknown_0203BD26);
|
||||
else
|
||||
sprite->pos2.y = -gUnknown_0203BD24;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_817B698(u8 a, const struct IntroCreditsSpriteMetadata *b, const union AnimCmd *const *c, u8 d)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for(i = 0; i < d; i++)
|
||||
{
|
||||
u8 sprite = CreateSprite(&gUnknown_085F504C, b[i].x, b[i].y, b[i].subpriority);
|
||||
CalcCenterToCornerVec(&gSprites[sprite], b[i].shape, b[i].size, 0);
|
||||
gSprites[sprite].oam.priority = 3;
|
||||
gSprites[sprite].oam.shape = b[i].shape;
|
||||
gSprites[sprite].oam.size = b[i].size;
|
||||
gSprites[sprite].oam.paletteNum = 0;
|
||||
gSprites[sprite].anims = c;
|
||||
StartSpriteAnim(&gSprites[sprite], b[i].animNum);
|
||||
gSprites[sprite].data[0] = a;
|
||||
gSprites[sprite].data[1] = b[i].xOff;
|
||||
gSprites[sprite].data[2] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_817B76C(void)
|
||||
{
|
||||
sub_817B698(0, gUnknown_085F50A4, gUnknown_085F5094, 9);
|
||||
}
|
||||
|
||||
static void sub_817B788(void)
|
||||
{
|
||||
sub_817B698(1, gUnknown_085F5120, gUnknown_085F5114, 12);
|
||||
}
|
||||
|
||||
static void sub_817B7A4(void)
|
||||
{
|
||||
sub_817B698(1, gUnknown_085F519C, gUnknown_085F5198, 6);
|
||||
}
|
||||
|
||||
static void nullsub_65(struct Sprite *sprite)
|
||||
{
|
||||
}
|
||||
|
||||
static void sub_817B7C4(struct Sprite* sprite)
|
||||
{
|
||||
sprite->invisible = gSprites[sprite->data[0]].invisible;
|
||||
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
|
||||
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y + 8;
|
||||
sprite->pos2.x = gSprites[sprite->data[0]].pos2.x;
|
||||
sprite->pos2.y = gSprites[sprite->data[0]].pos2.y;
|
||||
}
|
||||
|
||||
u8 intro_create_brendan_sprite(s16 a, s16 b)
|
||||
{
|
||||
u8 sprite = CreateSprite(&gUnknown_085F51EC, a, b, 2);
|
||||
u8 brendan = CreateSprite(&gUnknown_085F523C, a, b + 8, 3);
|
||||
gSprites[brendan].data[0] = sprite;
|
||||
return sprite;
|
||||
}
|
||||
|
||||
u8 intro_create_may_sprite(s16 a, s16 b)
|
||||
{
|
||||
u8 sprite = CreateSprite(&gUnknown_085F5204, a, b, 2);
|
||||
u8 may = CreateSprite(&gUnknown_085F5254, a, b + 8, 3);
|
||||
gSprites[may].data[0] = sprite;
|
||||
return sprite;
|
||||
}
|
||||
|
||||
static void nullsub_66(struct Sprite *sprite)
|
||||
{
|
||||
}
|
||||
|
||||
static void sub_817B8E8(struct Sprite* sprite)
|
||||
{
|
||||
sprite->invisible = gSprites[sprite->data[0]].invisible;
|
||||
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
|
||||
sprite->pos2.x = gSprites[sprite->data[0]].pos2.x;
|
||||
sprite->pos2.y = gSprites[sprite->data[0]].pos2.y;
|
||||
}
|
||||
|
||||
static u8 sub_817B948(s16 a, s16 b)
|
||||
{
|
||||
u8 sprite = CreateSprite(&gUnknown_085F528C, a - 32, b, 5);
|
||||
u8 latios = CreateSprite(&gUnknown_085F528C, a + 32, b, 6);
|
||||
gSprites[latios].data[0] = sprite;
|
||||
StartSpriteAnim(&gSprites[latios], 1);
|
||||
gSprites[latios].callback = &sub_817B8E8;
|
||||
return sprite;
|
||||
}
|
||||
|
||||
u8 intro_create_flygon_sprite(s16 a, s16 b)
|
||||
{
|
||||
u8 sprite = CreateSprite(&gUnknown_085F52A4, a - 32, b, 5);
|
||||
u8 flygon = CreateSprite(&gUnknown_085F52A4, a + 32, b, 6);
|
||||
gSprites[flygon].data[0] = sprite;
|
||||
StartSpriteAnim(&gSprites[flygon], 1);
|
||||
gSprites[flygon].callback = &sub_817B8E8;
|
||||
return sprite;
|
||||
}
|
@ -166,7 +166,7 @@ static void InitMainCallbacks(void)
|
||||
gUnknown_0203CF5C = NULL;
|
||||
gMain.vblankCounter2 = 0;
|
||||
gMain.callback1 = NULL;
|
||||
SetMainCallback2(c2_copyright_1);
|
||||
SetMainCallback2(CB2_InitCopyrightScreenAfterBootup);
|
||||
gSaveBlock2Ptr = &gSaveblock2;
|
||||
gPokemonStoragePtr = &gPokemonStorage;
|
||||
}
|
||||
|
@ -241,7 +241,7 @@ static void CB2_MysteryEventMenu(void)
|
||||
u16 unkVal = RunMysteryEventScript(gDecompressionBuffer);
|
||||
CpuFill32(0, gDecompressionBuffer, 0x7D4);
|
||||
if (!GetEventLoadMessage(gStringVar4, unkVal))
|
||||
TrySavingData(NORMAL_SAVE);
|
||||
TrySavingData(SAVE_NORMAL);
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
|
@ -20,8 +20,8 @@ void sub_81700F8(void)
|
||||
gMain.inBattle = FALSE;
|
||||
SetSaveBlocksPointers(sub_815355C());
|
||||
sub_808447C();
|
||||
ResetSaveCounters();
|
||||
sub_81534D0(0);
|
||||
Save_ResetSaveCounters();
|
||||
Save_LoadGameData(0);
|
||||
if (gSaveFileStatus == 0 || gSaveFileStatus == 2)
|
||||
Sav2_ClearSetDefault();
|
||||
SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound);
|
||||
|
19
src/save.c
19
src/save.c
@ -3,6 +3,7 @@
|
||||
#include "save.h"
|
||||
#include "constants/game_stat.h"
|
||||
#include "task.h"
|
||||
#include "decompress.h"
|
||||
|
||||
// for the chunk declarations
|
||||
extern struct SaveBlock2 gSaveblock2;
|
||||
@ -96,7 +97,7 @@ void ClearSaveData(void)
|
||||
}
|
||||
}
|
||||
|
||||
void ResetSaveCounters(void)
|
||||
void Save_ResetSaveCounters(void)
|
||||
{
|
||||
gSaveCounter = 0;
|
||||
gLastWrittenSector = 0;
|
||||
@ -670,25 +671,25 @@ u8 HandleSavingData(u8 saveType)
|
||||
UpdateSaveAddresses();
|
||||
switch (saveType)
|
||||
{
|
||||
case HOF_DELETE_SAVE: // deletes HOF before overwriting HOF completely. unused
|
||||
case SAVE_HALL_OF_FAME_ERASE_BEFORE: // deletes HOF before overwriting HOF completely. unused
|
||||
for (i = 0xE * 2 + 0; i < 32; i++)
|
||||
EraseFlashSector(i);
|
||||
case HOF_SAVE: // hall of fame.
|
||||
case SAVE_HALL_OF_FAME: // hall of fame.
|
||||
if (GetGameStat(GAME_STAT_ENTERED_HOF) < 999)
|
||||
IncrementGameStat(GAME_STAT_ENTERED_HOF);
|
||||
SaveSerializedGame();
|
||||
save_write_to_flash(0xFFFF, gRamSaveSectionLocations);
|
||||
tempAddr = (u8 *)0x201C000; // FIXME: make this a label.
|
||||
tempAddr = gDecompressionBuffer;
|
||||
HandleWriteSectorNBytes(0x1C, tempAddr, 0xF80);
|
||||
HandleWriteSectorNBytes(0x1D, tempAddr + 0xF80, 0xF80);
|
||||
break;
|
||||
case NORMAL_SAVE: // normal save. also called by overwriting your own save.
|
||||
case SAVE_NORMAL: // normal save. also called by overwriting your own save.
|
||||
default:
|
||||
SaveSerializedGame();
|
||||
save_write_to_flash(0xFFFF, gRamSaveSectionLocations);
|
||||
break;
|
||||
case LINK_SAVE: // _081532C4
|
||||
case LINK2_SAVE:
|
||||
case SAVE_LINK: // _081532C4
|
||||
case SAVE_LINK2:
|
||||
SaveSerializedGame();
|
||||
for(i = 0; i < 5; i++)
|
||||
ClearSaveData_2(i, gRamSaveSectionLocations);
|
||||
@ -702,7 +703,7 @@ u8 HandleSavingData(u8 saveType)
|
||||
save_write_to_flash(0, gRamSaveSectionLocations);
|
||||
break;
|
||||
*/
|
||||
case DIFFERENT_FILE_SAVE:
|
||||
case SAVE_OVERWRITE_DIFFERENT_FILE:
|
||||
for (i = (0xE * 2 + 0); i < 32; i++)
|
||||
EraseFlashSector(i); // erase HOF.
|
||||
SaveSerializedGame();
|
||||
@ -799,7 +800,7 @@ bool8 sub_8153474(void)
|
||||
return retVal;
|
||||
}
|
||||
|
||||
u8 sub_81534D0(u8 a1)
|
||||
u8 Save_LoadGameData(u8 a1)
|
||||
{
|
||||
u8 result;
|
||||
|
||||
|
@ -25,12 +25,6 @@
|
||||
#define STARTER_PKMN_POS_X 120
|
||||
#define STARTER_PKMN_POS_Y 64
|
||||
|
||||
// graphics
|
||||
extern const u32 gBirchHelpGfx[];
|
||||
extern const u32 gBirchBagTilemap[];
|
||||
extern const u32 gBirchGrassTilemap[];
|
||||
extern const u16 gBirchBagGrassPal[];
|
||||
|
||||
// text
|
||||
extern const u8 gText_BirchInTrouble[];
|
||||
extern const u8 gText_ConfirmStarterChoice[];
|
||||
|
@ -142,7 +142,7 @@ gCB2_AfterEvolution: @ 30061E8
|
||||
gUnknown_030061EC: @ 30061EC
|
||||
.space 0x4
|
||||
|
||||
.include"save.o"
|
||||
.include "save.o"
|
||||
|
||||
.space 0x8
|
||||
|
||||
@ -155,11 +155,7 @@ gUnknown_03006294: @ 3006294
|
||||
gUnknown_03006298: @ 3006298
|
||||
.space 0x8
|
||||
|
||||
gUnknown_030062A0: @ 30062A0
|
||||
.space 0x10
|
||||
|
||||
gUnknown_030062B0: @ 30062B0
|
||||
.space 0x2C
|
||||
.include "intro.o"
|
||||
|
||||
gUnknown_030062DC: @ 30062DC
|
||||
.space 0x4
|
||||
|
@ -824,34 +824,14 @@ gUnknown_0203BCBC: @ 203BCBC
|
||||
gUnknown_0203BCC4: @ 203BCC4
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203BCC8: @ 203BCC8
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203BCCC: @ 203BCCC
|
||||
.space 0x4
|
||||
|
||||
.include "src/intro.o"
|
||||
.include "src/field_region_map.o"
|
||||
|
||||
gUnknown_0203BCD4: @ 203BCD4
|
||||
.space 0x4
|
||||
|
||||
.include "src/hall_of_fame.o"
|
||||
|
||||
gUnknown_0203BCE0: @ 203BCE0
|
||||
.space 0x2
|
||||
|
||||
gUnknown_0203BCE2: @ 203BCE2
|
||||
.space 0x2
|
||||
|
||||
gHasHallOfFameRecords: @ 203BCE4
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203BCE5: @ 203BCE5
|
||||
.space 0x3
|
||||
|
||||
gUnknown_0203BCE8: @ 203BCE8
|
||||
.space 0x4
|
||||
|
||||
.include "src/credits.o"
|
||||
.include "src/lottery_corner.o"
|
||||
.include "src/diploma.o"
|
||||
.include "src/berry_tag_screen.o"
|
||||
@ -862,16 +842,7 @@ gBraillePuzzleCallbackFlag: @ 203BD14
|
||||
.space 0x4
|
||||
|
||||
.include "src/pokeblock_feed.o"
|
||||
|
||||
gUnknown_0203BD24: @ 203BD24
|
||||
.space 0x2
|
||||
|
||||
gUnknown_0203BD26: @ 203BD26
|
||||
.space 0x2
|
||||
|
||||
gUnknown_0203BD28: @ 203BD28
|
||||
.space 0x4
|
||||
|
||||
.include "src/intro_credits_graphics.o"
|
||||
.include "src/recorded_battle.o"
|
||||
.include "src/battle_dome_cards.o"
|
||||
.include "src/lilycove_lady.o"
|
||||
|
Loading…
Reference in New Issue
Block a user