diff options
-rw-r--r-- | data/intro.s | 416 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/intro.c | 375 |
3 files changed, 334 insertions, 458 deletions
diff --git a/data/intro.s b/data/intro.s deleted file mode 100644 index 05eb0d0dd..000000000 --- a/data/intro.s +++ /dev/null @@ -1,416 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - - .align 2 -gUnknown_8402260:: @ gbapal - .incbin "graphics/intro/unk_8402260.gbapal" - -gUnknown_8402280:: @ 4bpp.lz - .incbin "graphics/intro/unk_8402280.4bpp.lz" - -gUnknown_84024E4:: @ bin.lz - .incbin "graphics/intro/unk_84024E4.bin.lz" - -gUnknown_8402630:: @ gbapal - .incbin "graphics/intro/unk_8402630.gbapal" - -gUnknown_8402650:: @ 4bpp.lz - .incbin "graphics/intro/unk_8402650.4bpp.lz" - -gUnknown_8402668:: @ bin.lz - .incbin "graphics/intro/unk_8402668.bin.lz" - -gUnknown_840270C:: @ gbapal - .incbin "graphics/intro/unk_840270C.gbapal" - -gUnknown_840272C:: @ 4bpp.lz - .incbin "graphics/intro/unk_840272C.4bpp.lz" - -gUnknown_84028F8:: @ bin.lz - .incbin "graphics/intro/unk_84028F8.bin.lz" - -gUnknown_8402A44:: @ gbapal - .incbin "graphics/intro/unk_8402A64.gbapal" - -gUnknown_8402A64:: @ 4bpp.lz - .incbin "graphics/intro/unk_8402A64.4bpp.lz" - -gUnknown_8402ABC:: @ gbapal - .incbin "graphics/intro/unk_8402ADC.gbapal" - -gUnknown_8402ADC:: @ 4bpp.lz - .incbin "graphics/intro/unk_8402ADC.4bpp.lz" - -gUnknown_8402B2C:: @ 4bpp.lz - .incbin "graphics/intro/unk_8402B2C.4bpp.lz" - -gUnknown_8402CD4:: @ 8402BD4 - .incbin "graphics/intro/unk_8402CD4.4bpp.lz" - -gUnknown_8402D34:: @ gbapal - .incbin "graphics/intro/unk_8402D34.gbapal" - -gUnknown_8402D54:: @ 4bpp.lz - .incbin "graphics/intro/unk_8402D54.4bpp.lz" - -gUnknown_8403FE8:: @ bin.lz - .incbin "graphics/intro/unk_8403FE8.bin.lz" - -gUnknown_84048CC:: @ gbapal - .incbin "graphics/intro/unk_84048CC.gbapal" - -gUnknown_84048EC:: @ 4bpp.lz - .incbin "graphics/intro/unk_84048EC.4bpp.lz" - -gUnknown_8404F7C:: @ bin.lz - .incbin "graphics/intro/unk_8404F7C.bin.lz" - -gUnknown_84053B4:: @ gbapal - .incbin "graphics/intro/unk_84053B4.gbapal" - -gUnknown_8405414:: @ 4bpp.lz - .incbin "graphics/intro/unk_8405414.4bpp.lz" - -gUnknown_8405890:: @ bin.lz - .incbin "graphics/intro/unk_8405890.bin.lz" - -gUnknown_8405B08:: @ 8405B08 - .incbin "graphics/intro/unk_8405B08.gbapal" - -gUnknown_8405B28:: @ 4bpp.lz - .incbin "graphics/intro/unk_8405B28.4bpp.lz" - -gUnknown_8405CDC:: @ bin.lz - .incbin "graphics/intro/unk_8405CDC.bin.lz" - -gUnknown_8405DA4:: @ gbapal - .incbin "graphics/intro/unk_8405DA4.gbapal" - -gUnknown_8405DC4:: @ 4bpp.lz - .incbin "graphics/intro/unk_8405DC4.4bpp.lz" - -gUnknown_840644C:: @ bin.lz - .incbin "graphics/intro/unk_840644C.bin.lz" - -gUnknown_8406634:: @ gbapal - .incbin "graphics/intro/unk_8406634.gbapal" - -gUnknown_8406654:: @ 4bpp.lz - .incbin "graphics/intro/unk_8406654.4bpp.lz" - -gUnknown_84071D0:: @ bin.lz - .incbin "graphics/intro/unk_84071D0.bin.lz" - -gUnknown_8407430:: @ gbapal - .incbin "graphics/intro/unk_8407430.gbapal" - -gUnknown_8407470:: @ 4bpp.lz - .incbin "graphics/intro/unk_8407470.4bpp.lz" - -gUnknown_8407A50:: @ bin.lz - .incbin "graphics/intro/unk_8407A50.bin.lz" - -gUnknown_8407B9C:: @ 4bpp.lz - .incbin "graphics/intro/unk_8407B9C.4bpp.lz" - -gUnknown_8408D98:: @ bin.lz - .incbin "graphics/intro/unk_8408D98.bin.lz" - -gUnknown_840926C:: @ 840926C - .incbin "graphics/intro/unk_840926C.4bpp.lz" - -gUnknown_84096AC:: @ 84096AC - .incbin "graphics/intro/unk_84096AC.gbapal" - -gUnknown_84096CC:: @ 84096CC - .incbin "graphics/intro/unk_84096CC.4bpp.lz" - -gUnknown_8409A1C:: @ 8409A1C - .incbin "graphics/intro/unk_8409A1C.gbapal" - -gUnknown_8409A3C:: @ 8409A3C - .incbin "graphics/intro/unk_8409A3C.4bpp.lz" - -gUnknown_8409D20:: @ 8409D20 - .incbin "graphics/intro/unk_8409D20.4bpp.lz" - -gUnknown_840A3E4:: @ 840A3E4 - .incbin "graphics/intro/unk_840A3E4.4bpp.lz" - -gUnknown_840B834:: @ 840B834 - .incbin "graphics/intro/unk_840B834.gbapal" - -gUnknown_840B854:: - .incbin "graphics/intro/unk_840B854.gbapal" - -gUnknown_840B874:: @ 840B874 - .incbin "graphics/intro/unk_840B874.4bpp.lz" - -gUnknown_840BAE0:: @ 840BAE0 - .incbin "graphics/intro/unk_840BAE0.4bpp.lz" - -gUnknown_840BB80:: - .4byte 0x000031ff @ { 3, 3, 31, 0, 0, 3, 0x000 } - .4byte 0x000421ee @ { 2, 3, 30, 0, 0, 2, 0x010 } - -gUnknown_840BB88:: - .4byte 0x000005c0 @ { 0, 0, 28, 2, 0, 0, 0x000 } - .4byte 0x000005e5 @ { 1, 1, 30, 2, 0, 0, 0x000 } - -gUnknown_840BB90:: - .4byte 0x000035e7 @ { 3, 1, 30, 2, 0, 3, 0x000 } - .4byte 0x000001d0 @ { 0, 0, 29, 0, 0, 0, 0x000 } - .4byte 0x000021be @ { 2, 3, 27, 0, 0, 2, 0x000 } - .4byte 0x000011c9 @ { 1, 2, 28, 0, 0, 1, 0x000 } - -gUnknown_840BBA0:: - .4byte 0x000011d1 @ { 1, 0, 29, 0, 0, 1, 0x000 } - .4byte 0x000005e4 @ { 0, 1, 30, 2, 0, 0, 0x000 } - -gUnknown_840BBA8:: @ 840BBA8 - window_template 2, 6, 4, 18, 9, 0xD, 0x000 - window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 - -gUnknown_840BBB8:: @ 840BBB8 - .byte 0x3f, 0x3f - .byte 0x00, 0x3f - .byte 0x3f, 0x00 - .byte 0x00, 0x00 - -gUnknown_840BBC0:: @ 840BBC0 - obj_tiles gUnknown_8402A64, 0x0080, 0 - obj_tiles gUnknown_8402ADC, 0x0080, 1 - obj_tiles gUnknown_8402B2C, 0x0800, 2 - obj_tiles gUnknown_84028F8, 0x0400, 3 - obj_tiles gUnknown_8402CD4, 0x0100, 4 - -gUnknown_840BBE8:: @ 840BBE8 - obj_pal gUnknown_8402A44, 0 - obj_pal gUnknown_8402ABC, 1 - obj_pal gUnknown_840270C, 3 - obj_pal NULL, 0x0000 - -gUnknown_840BC08:: @ 840BC08 - .short 0x0048, 0x0050 - .short 0x0088, 0x004a - .short 0x00a8, 0x0050 - .short 0x0078, 0x0050 - .short 0x0068, 0x0056 - .short 0x0058, 0x004a - .short 0x00b8, 0x004a - .short 0x0038, 0x0056 - .short 0x0098, 0x0056 - -gOamData_840BC2C:: - .word 0x40000000, 0x00000800 @ { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_1, .tileNum = 0x000, .priority = 2, .paletteNum = 0 } - -gOamData_840BC34:: - .word NULL, 0x00000800 @ { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_0, .tileNum = 0x000, .priority = 2, .paletteNum = 0 } - -gAnimCmd_840BC3C:: - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 2, 4 - obj_image_anim_frame 3, 4 - obj_image_anim_jump 0 - -gAnimCmd_840BC50:: - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 2, 4 - obj_image_anim_frame 3, 4 - obj_image_anim_end - -gAnimCmdTable_840BC64:: - .word gAnimCmd_840BC3C - .word gAnimCmd_840BC50 - -gUnknown_840BC6C:: @ 840BC6C - spr_template 0, 0, gOamData_840BC2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80EE29C - -gUnknown_840BC84:: @ 840BC84 - spr_template 1, 1, gOamData_840BC34, gAnimCmdTable_840BC64, NULL, gDummySpriteAffineAnimTable, sub_80EE350 - -gOamData_840BC9C:: - .word 0x80000000, 0x00000800 @ { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_2, .tileNum = 0x000, .priority = 2, .paletteNum = 0 } - -gAnimCmd_840BCA4:: - obj_image_anim_frame 0, 8 - obj_image_anim_frame 16, 8 - obj_image_anim_frame 32, 8 - obj_image_anim_frame 48, 8 - obj_image_anim_end - -gAnimCmdTable_840BCB8:: - .word gAnimCmd_840BCA4 - -gUnknown_840BCBC:: @ 840BCBC - spr_template 2, 1, gOamData_840BC9C, gAnimCmdTable_840BCB8, NULL, gDummySpriteAffineAnimTable, sub_80EE4DC - -gOamData_840BCD4:: - .word 0xC0008400, 0x00000C00 @ { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_V_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 3, .paletteNum = 0 } - -gUnknown_840BCDC:: @ 840BCDC - spr_template 3, 3, gOamData_840BCD4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gOamData_840BCF4:: - .word 0x40004400, 0x00000C00 @ { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_H_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_1, .tileNum = 0x000, .priority = 3, .paletteNum = 0 } - -gUnknown_840BCFC:: - spr_template 4, 3, gOamData_840BCF4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gOamData_840BD14:: - .word 0xC0000300, 0x00000400 @ { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 } - -gAnimCmd_840BD1C:: - obj_image_anim_frame 0, 1 - obj_image_anim_end - -gAnimCmd_840BD24:: - obj_image_anim_frame 64, 1 - obj_image_anim_end - -gAnimCmd_840BD2C:: - obj_image_anim_frame 128, 1 - obj_image_anim_end - -gAnimCmd_840BD34:: - obj_image_anim_frame 192, 1 - obj_image_anim_end - -gAnimCmd_840BD3C:: - obj_image_anim_frame 256, 1 - obj_image_anim_end - -gAnimCmdTable_840BD44:: - .word gAnimCmd_840BD1C - .word gAnimCmd_840BD24 - .word gAnimCmd_840BD2C - .word gAnimCmd_840BD34 - .word gAnimCmd_840BD3C - -gAffineAnimCmd_840BD58:: - obj_rot_scal_anim_frame 256, 256, 0, 0 - obj_rot_scal_anim_end - -gAffineAnimCmd_840BD68:: - obj_rot_scal_anim_frame 256, 256, 0, 0 - obj_rot_scal_anim_frame 32, 32, 0, 8 - obj_rot_scal_anim_end - -gAffineAnimCmdTable_840BD80:: - .word gAffineAnimCmd_840BD58 - .word gAffineAnimCmd_840BD68 - -gUnknown_840BD88:: @ 840BD88 - spr_template 5, 7, gOamData_840BD14, gAnimCmdTable_840BD44, NULL, gAffineAnimCmdTable_840BD80, SpriteCallbackDummy - -gOamData_840BDA0:: - .4byte 0xC0000000, 0x00000400 @ { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 } - -gUnknown_840BDA8:: @ 840BDA8 - spr_template 7, 7, gOamData_840BDA0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_840BDC0:: @ 840BDC0 - spr_template 6, 6, gOamData_840BDA0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gOamData_840BDD8:: - .4byte 0xC0004000, NULL @ { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_H_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 0, .paletteNum = 0 } - -gAnimCmds_840BDE0:: - obj_image_anim_frame 0, 0 - obj_image_anim_end - -gAnimCmds_840BDE8:: - obj_image_anim_frame 32, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_end - -gAnimCmdTable_840BDF4:: - .4byte gAnimCmds_840BDE0 - .4byte gAnimCmds_840BDE8 - -gUnknown_840BDFC:: @ 840BDFC - spr_template 8, 8, gOamData_840BDD8, gAnimCmdTable_840BDF4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gOamData_840BE14:: - .word 0xC0000300, 0x00000400 @ { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 } - -gAnimCmd_40BE1C:: - obj_image_anim_frame 0, 0 - obj_image_anim_end - -gAnimCmd_40BE24:: - obj_image_anim_frame 64, 0 - obj_image_anim_end - -gAnimCmd_40BE2C:: - obj_image_anim_frame 96, 0 - obj_image_anim_end - -gAnimCmd_40BE34:: - obj_image_anim_frame 160, 0 - obj_image_anim_end - -gAnimCmdTable_840BE3C:: - .word gAnimCmd_40BE1C - .word gAnimCmd_40BE24 - .word gAnimCmd_40BE2C - .word gAnimCmd_40BE34 - -gUnknown_840BE4C:: @ 840BE4C - spr_template 9, 6, gOamData_840BE14, gAnimCmdTable_840BE3C, NULL, gAffineAnimCmdTable_840BD80, SpriteCallbackDummy - -gOamData_840BE64:: - .word 0xC0008000, 0x00000400 @ { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_V_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 } - -gAnimCmd_840BE6C:: - obj_image_anim_frame 0, 8 - obj_image_anim_frame 32, 4 - obj_image_anim_end - -gAnimCmd_840BE78:: - obj_image_anim_frame 64, 8 - obj_image_anim_frame 72, 4 - obj_image_anim_end - -gAnimCmdTable_840BE84:: - .word gAnimCmd_840BE6C - .word gAnimCmd_840BE78 - -gUnknown_840BE8C:: @ 840BE8C - spr_template 10, 10, gOamData_840BE64, gAnimCmdTable_840BE84, NULL, gDummySpriteAffineAnimTable, sub_80EE1C4 - -gOamData_840BEA4:: - .word 0x40000000, 0x00000400 @ { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SHAPE_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_1, .tileNum = 0x000, .priority = 1, .paletteNum = 0 } - -gAnimCmd_840BEAC:: - obj_image_anim_frame 0, 10 - obj_image_anim_frame 4, 10 - obj_image_anim_frame 8, 10 - obj_image_anim_frame 12, 8 - obj_image_anim_end - -gAnimCmdTable_840BEC0:: - .word gAnimCmd_840BEAC - -gUnknown_840BEC4:: @ 840BEC4 - spr_template 11, 11, gOamData_840BEA4, gAnimCmdTable_840BEC0, NULL, gDummySpriteAffineAnimTable, sub_80EE8E4 - -gUnknown_840BEDC:: @ 840BEDC - obj_tiles gUnknown_840926C, 0x0800, 6 - obj_tiles gUnknown_84096CC, 0x0800, 7 - obj_tiles gUnknown_840A3E4, 0x2800, 5 - obj_tiles gUnknown_8409A3C, 0x0800, 8 - obj_tiles gUnknown_8409D20, 0x1800, 9 - obj_tiles gUnknown_840B874, 0x0a00, 10 - obj_tiles gUnknown_840BAE0, 0x0200, 11 - -gUnknown_840BF14:: @ 840BF14 - obj_pal gUnknown_8405DA4, 6 - obj_pal gUnknown_84096AC, 7 - obj_pal gUnknown_8409A1C, 8 - obj_pal gUnknown_840B834, 10 - obj_pal gUnknown_840B854, 11 - diff --git a/ld_script.txt b/ld_script.txt index 762ec2710..2d5b99e6c 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -420,7 +420,6 @@ SECTIONS { src/save.o(.rodata); data/data_83FECCC.o(.rodata); src/intro.o(.rodata); - data/intro.o(.rodata); data/data_83FECCC.o(.rodata.battle_anim_special); data/strings.o(.rodata); data/data_83FECCC.o(.rodata.841EE44); diff --git a/src/intro.c b/src/intro.c index a7ad6c56a..944f661dc 100644 --- a/src/intro.c +++ b/src/intro.c @@ -74,55 +74,348 @@ void sub_80EDC40(void); void sub_80EDDF0(void); void sub_80EDED8(void); struct Sprite * sub_80EDF68(void); +void sub_80EE1C4(struct Sprite * sprite); void sub_80EE200(u8 taskId); +void sub_80EE29C(struct Sprite * sprite); +void sub_80EE350(struct Sprite * sprite); +void sub_80EE4DC(struct Sprite * sprite); void sub_80EE4F8(struct IntroSequenceData * ptr); void sub_80EE528(struct Sprite * sprite, u16 a1, u16 a2, u16 a3); bool32 sub_80EE5C8(struct IntroSequenceData * ptr); +void sub_80EE8E4(struct Sprite * sprite); void sub_80EEBE4(void); extern const u32 gMultiBootProgram_PokemonColosseum_Start[]; -extern const u16 gUnknown_8402260[]; -extern const u8 gUnknown_8402280[]; -extern const u8 gUnknown_84024E4[]; -extern const u16 gUnknown_8402630[]; -extern const u8 gUnknown_8402650[]; -extern const u8 gUnknown_8402668[]; -extern const u16 gUnknown_840270C[]; -extern const u8 gUnknown_840272C[]; -extern const u8 gUnknown_84028F8[]; -extern const u16 gUnknown_8402D34[]; -extern const u8 gUnknown_8402D54[]; -extern const u8 gUnknown_8403FE8[]; -extern const u16 gUnknown_84048CC[]; -extern const u8 gUnknown_84048EC[]; -extern const u8 gUnknown_8404F7C[]; -extern const u16 gUnknown_84053B4[]; -extern const u8 gUnknown_8405414[]; -extern const u8 gUnknown_8405890[]; -extern const u8 gUnknown_8405B28[]; -extern const u8 gUnknown_8405CDC[]; -extern const u16 gUnknown_8405DA4[]; -extern const u8 gUnknown_8405DC4[]; -extern const u8 gUnknown_840644C[]; -extern const u16 gUnknown_8406634[]; -extern const u8 gUnknown_8406654[]; -extern const u8 gUnknown_84071D0[]; -extern const u16 gUnknown_8407430[]; -extern const u8 gUnknown_8407470[]; -extern const u8 gUnknown_8407A50[]; -extern const u8 gUnknown_8407B9C[]; -extern const u8 gUnknown_8408D98[]; - -extern const struct BgTemplate gUnknown_840BB80[2]; -extern const struct BgTemplate gUnknown_840BB88[2]; -extern const struct BgTemplate gUnknown_840BB90[4]; -extern const struct BgTemplate gUnknown_840BBA0[2]; -extern const struct WindowTemplate gUnknown_840BBA8[]; - -extern const struct SpriteTemplate gUnknown_840BDA8; -extern const struct SpriteTemplate gUnknown_840BDC0; -extern const struct SpriteTemplate gUnknown_840BDFC; +const u16 gUnknown_8402260[] = INCBIN_U16("graphics/intro/unk_8402260.gbapal"); +const u8 gUnknown_8402280[] = INCBIN_U8("graphics/intro/unk_8402280.4bpp.lz"); +const u8 gUnknown_84024E4[] = INCBIN_U8("graphics/intro/unk_84024E4.bin.lz"); +const u16 gUnknown_8402630[] = INCBIN_U16("graphics/intro/unk_8402630.gbapal"); +const u8 gUnknown_8402650[] = INCBIN_U8("graphics/intro/unk_8402650.4bpp.lz"); +const u8 gUnknown_8402668[] = INCBIN_U8("graphics/intro/unk_8402668.bin.lz"); +const u16 gUnknown_840270C[] = INCBIN_U16("graphics/intro/unk_840270C.gbapal"); +const u8 gUnknown_840272C[] = INCBIN_U8("graphics/intro/unk_840272C.4bpp.lz"); +const u8 gUnknown_84028F8[] = INCBIN_U8("graphics/intro/unk_84028F8.bin.lz"); +const u16 gUnknown_8402A44[] = INCBIN_U16("graphics/intro/unk_8402A64.gbapal"); +const u8 gUnknown_8402A64[] = INCBIN_U8("graphics/intro/unk_8402A64.4bpp.lz"); +const u16 gUnknown_8402ABC[] = INCBIN_U16("graphics/intro/unk_8402ADC.gbapal"); +const u8 gUnknown_8402ADC[] = INCBIN_U8("graphics/intro/unk_8402ADC.4bpp.lz"); +const u8 gUnknown_8402B2C[] = INCBIN_U8("graphics/intro/unk_8402B2C.4bpp.lz"); +const u8 gUnknown_8402CD4[] = INCBIN_U8("graphics/intro/unk_8402CD4.4bpp.lz"); +const u16 gUnknown_8402D34[] = INCBIN_U16("graphics/intro/unk_8402D34.gbapal"); +const u8 gUnknown_8402D54[] = INCBIN_U8("graphics/intro/unk_8402D54.4bpp.lz"); +const u8 gUnknown_8403FE8[] = INCBIN_U8("graphics/intro/unk_8403FE8.bin.lz"); +const u16 gUnknown_84048CC[] = INCBIN_U16("graphics/intro/unk_84048CC.gbapal"); +const u8 gUnknown_84048EC[] = INCBIN_U8("graphics/intro/unk_84048EC.4bpp.lz"); +const u8 gUnknown_8404F7C[] = INCBIN_U8("graphics/intro/unk_8404F7C.bin.lz"); +const u16 gUnknown_84053B4[] = INCBIN_U16("graphics/intro/unk_84053B4.gbapal"); +const u8 gUnknown_8405414[] = INCBIN_U8("graphics/intro/unk_8405414.4bpp.lz"); +const u8 gUnknown_8405890[] = INCBIN_U8("graphics/intro/unk_8405890.bin.lz"); +const u16 gUnknown_8405B08[] = INCBIN_U16("graphics/intro/unk_8405B08.gbapal"); +const u8 gUnknown_8405B28[] = INCBIN_U8("graphics/intro/unk_8405B28.4bpp.lz"); +const u8 gUnknown_8405CDC[] = INCBIN_U8("graphics/intro/unk_8405CDC.bin.lz"); +const u16 gUnknown_8405DA4[] = INCBIN_U16("graphics/intro/unk_8405DA4.gbapal"); +const u8 gUnknown_8405DC4[] = INCBIN_U8("graphics/intro/unk_8405DC4.4bpp.lz"); +const u8 gUnknown_840644C[] = INCBIN_U8("graphics/intro/unk_840644C.bin.lz"); +const u16 gUnknown_8406634[] = INCBIN_U16("graphics/intro/unk_8406634.gbapal"); +const u8 gUnknown_8406654[] = INCBIN_U8("graphics/intro/unk_8406654.4bpp.lz"); +const u8 gUnknown_84071D0[] = INCBIN_U8("graphics/intro/unk_84071D0.bin.lz"); +const u16 gUnknown_8407430[] = INCBIN_U16("graphics/intro/unk_8407430.gbapal"); +const u8 gUnknown_8407470[] = INCBIN_U8("graphics/intro/unk_8407470.4bpp.lz"); +const u8 gUnknown_8407A50[] = INCBIN_U8("graphics/intro/unk_8407A50.bin.lz"); +const u8 gUnknown_8407B9C[] = INCBIN_U8("graphics/intro/unk_8407B9C.4bpp.lz"); +const u8 gUnknown_8408D98[] = INCBIN_U8("graphics/intro/unk_8408D98.bin.lz"); +const u8 gUnknown_840926C[] = INCBIN_U8("graphics/intro/unk_840926C.4bpp.lz"); +const u16 gUnknown_84096AC[] = INCBIN_U16("graphics/intro/unk_84096AC.gbapal"); +const u8 gUnknown_84096CC[] = INCBIN_U8("graphics/intro/unk_84096CC.4bpp.lz"); +const u16 gUnknown_8409A1C[] = INCBIN_U16("graphics/intro/unk_8409A1C.gbapal"); +const u8 gUnknown_8409A3C[] = INCBIN_U8("graphics/intro/unk_8409A3C.4bpp.lz"); +const u8 gUnknown_8409D20[] = INCBIN_U8("graphics/intro/unk_8409D20.4bpp.lz"); +const u8 gUnknown_840A3E4[] = INCBIN_U8("graphics/intro/unk_840A3E4.4bpp.lz"); +const u16 gUnknown_840B834[] = INCBIN_U16("graphics/intro/unk_840B834.gbapal"); +const u16 gUnknown_840B854[] = INCBIN_U16("graphics/intro/unk_840B854.gbapal"); +const u8 gUnknown_840B874[] = INCBIN_U8("graphics/intro/unk_840B874.4bpp.lz"); +const u8 gUnknown_840BAE0[] = INCBIN_U8("graphics/intro/unk_840BAE0.4bpp.lz"); + +const struct BgTemplate gUnknown_840BB80[] = { + { 3, 3, 31, 0, 0, 3, 0x000 }, + { 2, 3, 30, 0, 0, 2, 0x010 } +}; + +const struct BgTemplate gUnknown_840BB88[] = { + { 0, 0, 28, 2, 0, 0, 0x000 }, + { 1, 1, 30, 2, 0, 0, 0x000 } +}; + +const struct BgTemplate gUnknown_840BB90[] = { + { 3, 1, 30, 2, 0, 3, 0x000 }, + { 0, 0, 29, 0, 0, 0, 0x000 }, + { 2, 3, 27, 0, 0, 2, 0x000 }, + { 1, 2, 28, 0, 0, 1, 0x000 } +}; + +const struct BgTemplate gUnknown_840BBA0[] = { + { 1, 0, 29, 0, 0, 1, 0x000 }, + { 0, 1, 30, 2, 0, 0, 0x000 } +}; + +const struct WindowTemplate gUnknown_840BBA8[] = { + { 2, 6, 4, 18, 9, 0xD, 0x000 }, + DUMMY_WIN_TEMPLATE +}; + +const u8 gUnknown_840BBB8[][2] = { + {0x3f, 0x3f}, + {0x00, 0x3f}, + {0x3f, 0x00}, + {0x00, 0x00} +}; + +const struct CompressedSpriteSheet gUnknown_840BBC0[] = { + {gUnknown_8402A64, 0x0080, 0}, + {gUnknown_8402ADC, 0x0080, 1}, + {gUnknown_8402B2C, 0x0800, 2}, + {gUnknown_84028F8, 0x0400, 3}, + {gUnknown_8402CD4, 0x0100, 4} +}; + +const struct SpritePalette gUnknown_840BBE8[] = { + {gUnknown_8402A44, 0}, + {gUnknown_8402ABC, 1}, + {gUnknown_840270C, 3}, + {0} +}; + +const s16 gUnknown_840BC08[][2] = { + {0x0048, 0x0050}, + {0x0088, 0x004a}, + {0x00a8, 0x0050}, + {0x0078, 0x0050}, + {0x0068, 0x0056}, + {0x0058, 0x004a}, + {0x00b8, 0x004a}, + {0x0038, 0x0056}, + {0x0098, 0x0056} +}; + +const struct OamData gOamData_840BC2C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_1, .tileNum = 0x000, .priority = 2, .paletteNum = 0 }; + +const struct OamData gOamData_840BC34 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_0, .tileNum = 0x000, .priority = 2, .paletteNum = 0 }; + +const union AnimCmd gAnimCmd_840BC3C[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gAnimCmd_840BC50[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gAnimCmdTable_840BC64[] = { + gAnimCmd_840BC3C, + gAnimCmd_840BC50 +}; + +const struct SpriteTemplate gUnknown_840BC6C = {0, 0, &gOamData_840BC2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80EE29C}; + +const struct SpriteTemplate gUnknown_840BC84 = {1, 1, &gOamData_840BC34, gAnimCmdTable_840BC64, NULL, gDummySpriteAffineAnimTable, sub_80EE350}; + +const struct OamData gOamData_840BC9C = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_2, .tileNum = 0x000, .priority = 2, .paletteNum = 0 }; + +const union AnimCmd gAnimCmd_840BCA4[] = { + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(48, 8), + ANIMCMD_END +}; + +const union AnimCmd *const gAnimCmdTable_840BCB8[] = { + gAnimCmd_840BCA4 +}; + +const struct SpriteTemplate gUnknown_840BCBC = {2, 1, &gOamData_840BC9C, gAnimCmdTable_840BCB8, NULL, gDummySpriteAffineAnimTable, sub_80EE4DC}; + +const struct OamData gOamData_840BCD4 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_V_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 3, .paletteNum = 0 }; + +const struct SpriteTemplate gUnknown_840BCDC = {3, 3, &gOamData_840BCD4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct OamData gOamData_840BCF4 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_BLEND, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_H_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_1, .tileNum = 0x000, .priority = 3, .paletteNum = 0 }; + +const struct SpriteTemplate gUnknown_840BCFC = {4, 3, &gOamData_840BCF4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct OamData gOamData_840BD14 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; + +const union AnimCmd gAnimCmd_840BD1C[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd gAnimCmd_840BD24[] = { + ANIMCMD_FRAME(64, 1), + ANIMCMD_END +}; + +const union AnimCmd gAnimCmd_840BD2C[] = { + ANIMCMD_FRAME(128, 1), + ANIMCMD_END +}; + +const union AnimCmd gAnimCmd_840BD34[] = { + ANIMCMD_FRAME(192, 1), + ANIMCMD_END +}; + +const union AnimCmd gAnimCmd_840BD3C[] = { + ANIMCMD_FRAME(256, 1), + ANIMCMD_END +}; + +const union AnimCmd *const gAnimCmdTable_840BD44[] = { + gAnimCmd_840BD1C, + gAnimCmd_840BD24, + gAnimCmd_840BD2C, + gAnimCmd_840BD34, + gAnimCmd_840BD3C +}; + +const union AffineAnimCmd gAffineAnimCmd_840BD58[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gAffineAnimCmd_840BD68[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(32, 32, 0, 8), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gAffineAnimCmdTable_840BD80[] = { + gAffineAnimCmd_840BD58, + gAffineAnimCmd_840BD68 +}; + +const struct SpriteTemplate gUnknown_840BD88 = {5, 7, &gOamData_840BD14, gAnimCmdTable_840BD44, NULL, gAffineAnimCmdTable_840BD80, SpriteCallbackDummy}; + +const struct OamData gOamData_840BDA0 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; + +const struct SpriteTemplate gUnknown_840BDA8 = {7, 7, &gOamData_840BDA0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct SpriteTemplate gUnknown_840BDC0 = {6, 6, &gOamData_840BDA0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct OamData gOamData_840BDD8 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_H_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 0, .paletteNum = 0 }; + +const union AnimCmd gAnimCmds_840BDE0[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +const union AnimCmd gAnimCmds_840BDE8[] = { + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gAnimCmdTable_840BDF4[] = { + gAnimCmds_840BDE0, + gAnimCmds_840BDE8 +}; + +const struct SpriteTemplate gUnknown_840BDFC = {8, 8, &gOamData_840BDD8, gAnimCmdTable_840BDF4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct OamData gOamData_840BE14 = { .affineMode = ST_OAM_AFFINE_DOUBLE, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; + +const union AnimCmd gAnimCmd_840BE1C[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +const union AnimCmd gAnimCmd_840BE24[] = { + ANIMCMD_FRAME(64, 0), + ANIMCMD_END +}; + +const union AnimCmd gAnimCmd_840BE2C[] = { + ANIMCMD_FRAME(96, 0), + ANIMCMD_END +}; + +const union AnimCmd gAnimCmd_840BE34[] = { + ANIMCMD_FRAME(160, 0), + ANIMCMD_END +}; + +const union AnimCmd *const gAnimCmdTable_840BE3C[] = { + gAnimCmd_840BE1C, + gAnimCmd_840BE24, + gAnimCmd_840BE2C, + gAnimCmd_840BE34 +}; + +const struct SpriteTemplate gUnknown_840BE4C = {9, 6, &gOamData_840BE14, gAnimCmdTable_840BE3C, NULL, gAffineAnimCmdTable_840BD80, SpriteCallbackDummy}; + +const struct OamData gOamData_840BE64 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_V_RECTANGLE, .matrixNum = 0, .size = ST_OAM_SIZE_3, .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; + +const union AnimCmd gAnimCmd_840BE6C[] = { + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(32, 4), + ANIMCMD_END +}; + +const union AnimCmd gAnimCmd_840BE78[] = { + ANIMCMD_FRAME(64, 8), + ANIMCMD_FRAME(72, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gAnimCmdTable_840BE84[] = { + gAnimCmd_840BE6C, + gAnimCmd_840BE78 +}; + +const struct SpriteTemplate gUnknown_840BE8C = {10, 10, &gOamData_840BE64, gAnimCmdTable_840BE84, NULL, gDummySpriteAffineAnimTable, sub_80EE1C4}; + +const struct OamData gOamData_840BEA4 = { .affineMode = ST_OAM_AFFINE_OFF, .objMode = ST_OAM_OBJ_NORMAL, .mosaic = FALSE, .bpp = ST_OAM_4BPP, .shape = ST_OAM_SQUARE, .matrixNum = 0, .size = ST_OAM_SIZE_1, .tileNum = 0x000, .priority = 1, .paletteNum = 0 }; + +const union AnimCmd gAnimCmd_840BEAC[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(4, 10), + ANIMCMD_FRAME(8, 10), + ANIMCMD_FRAME(12, 8), + ANIMCMD_END +}; + +const union AnimCmd *const gAnimCmdTable_840BEC0[] = { + gAnimCmd_840BEAC +}; + +const struct SpriteTemplate gUnknown_840BEC4 = {11, 11, &gOamData_840BEA4, gAnimCmdTable_840BEC0, NULL, gDummySpriteAffineAnimTable, sub_80EE8E4}; + +const struct CompressedSpriteSheet gUnknown_840BEDC[] = { + {gUnknown_840926C, 0x0800, 6}, + {gUnknown_84096CC, 0x0800, 7}, + {gUnknown_840A3E4, 0x2800, 5}, + {gUnknown_8409A3C, 0x0800, 8}, + {gUnknown_8409D20, 0x1800, 9}, + {gUnknown_840B874, 0x0a00, 10}, + {gUnknown_840BAE0, 0x0200, 11} +}; + +const struct SpritePalette gUnknown_840BF14[] = { + {gUnknown_8405DA4, 6}, + {gUnknown_84096AC, 7}, + {gUnknown_8409A1C, 8}, + {gUnknown_840B834, 10}, + {gUnknown_840B854, 11}, + // {0} +}; void sub_80EC5A4(void) { |