summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/graphics.s40
-rw-r--r--data/rayquaza_scene.s73
-rw-r--r--include/graphics.h13
-rw-r--r--ld_script.txt1
-rw-r--r--src/rayquaza_scene.c362
5 files changed, 413 insertions, 76 deletions
diff --git a/data/graphics.s b/data/graphics.s
index c4ba9f575..a6f7b77c9 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -1031,7 +1031,13 @@ gUnknown_08DA4F70:: @ 8DA4F70
.incbin "baserom.gba", 0xda4f70, 0x1148
gUnknown_08DA60B8:: @ 8DA60B8
- .incbin "baserom.gba", 0xda60b8, 0x904
+ .incbin "baserom.gba", 0xda60b8, 0x388
+
+gUnknown_08DA6440:: @ 8DA6440
+ .incbin "baserom.gba", 0xDA6440, 0x46C
+
+gUnknown_08DA68AC:: @ 8DA68AC
+ .incbin "baserom.gba", 0xDA68AC, 0x110
gUnknown_08DA69BC:: @ 8DA69BC
.incbin "baserom.gba", 0xda69bc, 0xb6c
@@ -1070,7 +1076,37 @@ gUnknown_08DA8D6C:: @ 8DA8D6C
.incbin "baserom.gba", 0xda8d6c, 0x118
gUnknown_08DA8E84:: @ 8DA8E84
- .incbin "baserom.gba", 0xda8e84, 0x1a30
+ .incbin "baserom.gba", 0xda8e84, 0x54
+
+gUnknown_08DA8ED8:: @ 8DA8ED8
+ .incbin "baserom.gba", 0xDA8ED8, 0x798
+
+gUnknown_08DA9670:: @ 8DA9670
+ .incbin "baserom.gba", 0xDA9670, 0x44
+
+gUnknown_08DA96B4:: @ 8DA96B4
+ .incbin "baserom.gba", 0xDA96B4, 0x248
+
+gUnknown_08DA98FC:: @ 8DA98FC
+ .incbin "baserom.gba", 0xDA98FC, 0xCA8
+
+gUnknown_08DAA5A4:: @ 8DAA5A4
+ .incbin "baserom.gba", 0xDAA5A4, 0x1F0
+
+gUnknown_08DAA794:: @ 8DAA794
+ .incbin "baserom.gba", 0xDAA794, 0x98
+
+gUnknown_08DAA82C:: @ 8DAA82C
+ .incbin "baserom.gba", 0xDAA82C, 0x28
+
+gUnknown_08DAA854:: @ 8DAA854
+ .incbin "baserom.gba", 0xDAA854, 0x28
+
+gUnknown_08DAA87C:: @ 8DAA87C
+ .incbin "baserom.gba", 0xDAA87C, 0x28
+
+gUnknown_08DAA8A4:: @ 8DAA8A4
+ .incbin "baserom.gba", 0xDAA8A4, 0x10
gUnknown_08DAA8B4:: @ 8DAA8B4
.incbin "baserom.gba", 0xdaa8b4, 0x270
diff --git a/data/rayquaza_scene.s b/data/rayquaza_scene.s
deleted file mode 100644
index 88e426584..000000000
--- a/data/rayquaza_scene.s
+++ /dev/null
@@ -1,73 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-gUnknown_0862AAFC:: @ 862AAFC
- .incbin "baserom.gba", 0x62aafc, 0x8
-
-gUnknown_0862AB04:: @ 862AB04
- .incbin "baserom.gba", 0x62ab04, 0x8
-
-gUnknown_0862AB0C:: @ 862AB0C
- .incbin "baserom.gba", 0x62ab0c, 0x8
-
-gUnknown_0862AB14:: @ 862AB14
- .incbin "baserom.gba", 0x62ab14, 0x18
-
-gUnknown_0862AB2C:: @ 862AB2C
- .incbin "baserom.gba", 0x62ab2c, 0x18
-
-gUnknown_0862AB44:: @ 862AB44
- .incbin "baserom.gba", 0x62ab44, 0xe4
-
-gUnknown_0862AC28:: @ 862AC28
- .incbin "baserom.gba", 0x62ac28, 0x8
-
-gUnknown_0862AC30:: @ 862AC30
- .incbin "baserom.gba", 0x62ac30, 0x8
-
-gUnknown_0862AC38:: @ 862AC38
- .incbin "baserom.gba", 0x62ac38, 0x8
-
-gUnknown_0862AC40:: @ 862AC40
- .incbin "baserom.gba", 0x62ac40, 0x8
-
-gUnknown_0862AC48:: @ 862AC48
- .incbin "baserom.gba", 0x62ac48, 0x8
-
-gUnknown_0862AC50:: @ 862AC50
- .incbin "baserom.gba", 0x62ac50, 0x8
-
-gUnknown_0862AC58:: @ 862AC58
- .incbin "baserom.gba", 0x62ac58, 0x8
-
-gUnknown_0862AC60:: @ 862AC60
- .incbin "baserom.gba", 0x62ac60, 0x8
-
-gUnknown_0862AC68:: @ 862AC68
- .incbin "baserom.gba", 0x62ac68, 0x8
-
-gUnknown_0862AC70:: @ 862AC70
- .incbin "baserom.gba", 0x62ac70, 0x8
-
-gUnknown_0862AC78:: @ 862AC78
- .incbin "baserom.gba", 0x62ac78, 0x18
-
-gUnknown_0862AC90:: @ 862AC90
- .incbin "baserom.gba", 0x62ac90, 0x18
-
-gUnknown_0862ACA8:: @ 862ACA8
- .incbin "baserom.gba", 0x62aca8, 0x18
-
-gUnknown_0862ACC0:: @ 862ACC0
- .incbin "baserom.gba", 0x62acc0, 0x18
-
-gUnknown_0862ACD8:: @ 862ACD8
- .incbin "baserom.gba", 0x62acd8, 0x18
-
-gUnknown_0862ACF0:: @ 862ACF0
- .incbin "baserom.gba", 0x62acf0, 0x18
-
-gUnknown_0862AD08:: @ 862AD08
- .incbin "baserom.gba", 0x62ad08, 0xc
diff --git a/include/graphics.h b/include/graphics.h
index 3b85b4784..8f58a5f7e 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2661,5 +2661,18 @@ extern const u8 gUnknown_08DA3370[];
extern const u8 gUnknown_08DA3398[];
extern const u8 gUnknown_08DA3BC0[];
extern const u8 gUnknown_08DA3C7C[];
+extern const u8 gUnknown_08DA4DA8[];
+extern const u8 gUnknown_08DA6440[];
+extern const u8 gUnknown_08DA68AC[];
+extern const u8 gUnknown_08DA8ED8[];
+extern const u8 gUnknown_08DA9670[];
+extern const u8 gUnknown_08DA96B4[];
+extern const u8 gUnknown_08DA98FC[];
+extern const u8 gUnknown_08DAA5A4[];
+extern const u8 gUnknown_08DAA794[];
+extern const u8 gUnknown_08DAA82C[];
+extern const u8 gUnknown_08DAA854[];
+extern const u8 gUnknown_08DAA87C[];
+extern const u8 gUnknown_08DAA8A4[];
#endif //GUARD_GRAPHICS_H
diff --git a/ld_script.txt b/ld_script.txt
index 9f227c5b9..6003d4871 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -488,7 +488,6 @@ SECTIONS {
data/pokemon_summary_screen.o(.rodata);
data/pokenav.o(.rodata);
src/rayquaza_scene.o(.rodata);
- data/rayquaza_scene.o(.rodata);
src/walda_phrase.o(.rodata);
data/trainer_rematch.o(.rodata);
data/unk_sprite_file.o(.rodata);
diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c
index 67693eeca..577294f0c 100644
--- a/src/rayquaza_scene.c
+++ b/src/rayquaza_scene.c
@@ -20,6 +20,7 @@ void sub_81D8DB4(u8 taskId);
void sub_81D6800(u8 taskId);
void sub_81D8260(struct Sprite *sprite);
+void sub_81D961C(struct Sprite *sprite);
// const rom data
const TaskFunc gUnknown_0862A6A0[] =
@@ -800,3 +801,364 @@ static const union AnimCmd *const sSpriteAnimTable_862AAF8[] =
sSpriteAnim_862AAEC
};
+const struct CompressedSpriteSheet gUnknown_0862AAFC =
+{
+ gUnknown_08DA6440, 0x1000, 30556
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AB04 =
+{
+ gUnknown_08DA68AC, 0x200, 30557
+};
+
+const struct CompressedSpritePalette gUnknown_0862AB0C =
+{
+ gUnknown_08DA4DA8, 30556
+};
+
+const struct SpriteTemplate gUnknown_0862AB14 =
+{
+ .tileTag = 30556,
+ .paletteTag = 30556,
+ .oam = &sOamData_862A6BC,
+ .anims = sSpriteAnimTable_862AAE8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862AB2C =
+{
+ .tileTag = 30557,
+ .paletteTag = 30556,
+ .oam = &sOamData_862A6E4,
+ .anims = sSpriteAnimTable_862AAF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct BgTemplate gUnknown_0862AB44[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 3,
+ .mapBaseIndex = 28,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ }
+};
+
+static const union AnimCmd sSpriteAnim_862AB54[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862AB5C[] =
+{
+ ANIMCMD_FRAME(0, 48),
+ ANIMCMD_FRAME(64, 32),
+ ANIMCMD_FRAME(0, 48),
+ ANIMCMD_FRAME(128, 32),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AB70[] =
+{
+ sSpriteAnim_862AB54,
+ sSpriteAnim_862AB5C
+};
+
+static const union AnimCmd sSpriteAnim_862AB78[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AB80[] =
+{
+ sSpriteAnim_862AB78,
+};
+
+static const union AnimCmd sSpriteAnim_862AB84[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862AB8C[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862AB94[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AB9C[] =
+{
+ sSpriteAnim_862AB84,
+ sSpriteAnim_862AB8C,
+ sSpriteAnim_862AB94
+};
+
+static const union AnimCmd sSpriteAnim_862ABA8[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABB0[] =
+{
+ ANIMCMD_FRAME(64, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABB8[] =
+{
+ ANIMCMD_FRAME(128, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABC0[] =
+{
+ ANIMCMD_FRAME(192, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862ABC8[] =
+{
+ sSpriteAnim_862ABA8,
+ sSpriteAnim_862ABB0,
+ sSpriteAnim_862ABB8,
+ sSpriteAnim_862ABC0
+};
+
+static const union AnimCmd sSpriteAnim_862ABD8[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABE0[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABE8[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_862ABF0[] =
+{
+ ANIMCMD_FRAME(48, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862ABF8[] =
+{
+ sSpriteAnim_862ABD8,
+ sSpriteAnim_862ABE0,
+ sSpriteAnim_862ABE8,
+ sSpriteAnim_862ABF0
+};
+
+static const union AnimCmd sSpriteAnim_862AC08[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_FRAME(12, 8),
+ ANIMCMD_FRAME(16, 8),
+ ANIMCMD_FRAME(20, 8),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_862AC24[] =
+{
+ sSpriteAnim_862AC08
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC28 =
+{
+ gUnknown_08DA8ED8, 0x1800, 30565
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC30 =
+{
+ gUnknown_08DA9670, 0x80, 30566
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC38 =
+{
+ gUnknown_08DA96B4, 0x600, 30568
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC40 =
+{
+ gUnknown_08DA98FC, 0x2000, 30569
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC48 =
+{
+ gUnknown_08DAA5A4, 0x800, 30570
+};
+
+const struct CompressedSpriteSheet gUnknown_0862AC50 =
+{
+ gUnknown_08DAA794, 0x300, 30571
+};
+
+const struct CompressedSpritePalette gUnknown_0862AC58 =
+{
+ gUnknown_08DAA82C, 30565
+};
+
+const struct CompressedSpritePalette gUnknown_0862AC60 =
+{
+ gUnknown_08DAA854, 30568
+};
+
+const struct CompressedSpritePalette gUnknown_0862AC68 =
+{
+ gUnknown_08DAA87C, 30569
+};
+
+const struct CompressedSpritePalette gUnknown_0862AC70 =
+{
+ gUnknown_08DAA8A4, 30571
+};
+
+const struct SpriteTemplate gUnknown_0862AC78 =
+{
+ .tileTag = 30565,
+ .paletteTag = 30565,
+ .oam = &sOamData_862A6BC,
+ .anims = sSpriteAnimTable_862AB70,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862AC90 =
+{
+ .tileTag = 30566,
+ .paletteTag = 30565,
+ .oam = &sOamData_862A6EC,
+ .anims = sSpriteAnimTable_862AB80,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862ACA8 =
+{
+ .tileTag = 30568,
+ .paletteTag = 30568,
+ .oam = &sOamData_862A6C4,
+ .anims = sSpriteAnimTable_862AB9C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862ACC0 =
+{
+ .tileTag = 30569,
+ .paletteTag = 30569,
+ .oam = &sOamData_862A6BC,
+ .anims = sSpriteAnimTable_862ABC8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81D961C,
+};
+
+const struct SpriteTemplate gUnknown_0862ACD8 =
+{
+ .tileTag = 30570,
+ .paletteTag = 30569,
+ .oam = &sOamData_862A6C4,
+ .anims = sSpriteAnimTable_862ABF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_0862ACF0 =
+{
+ .tileTag = 30571,
+ .paletteTag = 30571,
+ .oam = &sOamData_862A6F4,
+ .anims = sSpriteAnimTable_862AC24,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct BgTemplate gUnknown_0862AD08[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ }
+};
+