mirror of
https://github.com/pret/pokeruby.git
synced 2026-10-05 17:02:45 -04:00
Decompile data/rotating_gate.s
This commit is contained in:
@@ -1,311 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
gUnknown_083D2964:: @ 83D2964
|
||||
.byte 12, 0, 5, 0, 3, 0, 0, 0
|
||||
.byte 14, 0, 7, 0, 3, 3, 0, 0
|
||||
.byte 16, 0, 4, 0, 5, 1, 0, 0
|
||||
.byte 15, 0, 14, 0, 1, 0, 0, 0
|
||||
.byte 18, 0, 13, 0, 4, 2, 0, 0
|
||||
.byte 8, 0, 20, 0, 4, 2, 0, 0
|
||||
.byte 16, 0, 20, 0, 7, 1, 0, 0
|
||||
|
||||
.align 2
|
||||
gUnknown_083D299C:: @ 83D299C
|
||||
.byte 13, 0, 3, 0, 4, 3, 0, 0
|
||||
.byte 12, 0, 6, 0, 4, 2, 0, 0
|
||||
.byte 3, 0, 6, 0, 4, 2, 0, 0
|
||||
.byte 3, 0, 9, 0, 5, 3, 0, 0
|
||||
.byte 8, 0, 8, 0, 0, 1, 0, 0
|
||||
.byte 2, 0, 12, 0, 6, 2, 0, 0
|
||||
.byte 9, 0, 13, 0, 1, 0, 0, 0
|
||||
.byte 3, 0, 14, 0, 2, 1, 0, 0
|
||||
.byte 9, 0, 15, 0, 3, 2, 0, 0
|
||||
.byte 3, 0, 18, 0, 5, 2, 0, 0
|
||||
.byte 2, 0, 19, 0, 4, 0, 0, 0
|
||||
.byte 5, 0, 21, 0, 0, 0, 0, 0
|
||||
.byte 9, 0, 19, 0, 3, 3, 0, 0
|
||||
.byte 12, 0, 20, 0, 4, 1, 0, 0
|
||||
|
||||
.align 2
|
||||
RotatingGateTiles_1: @ 83D2A0C
|
||||
.incbin "graphics/rotating_gates/1.4bpp"
|
||||
|
||||
.align 2
|
||||
RotatingGateTiles_2: @ 83D320C
|
||||
.incbin "graphics/rotating_gates/2.4bpp"
|
||||
|
||||
.align 2
|
||||
RotatingGateTiles_3: @ 83D3A0C
|
||||
.incbin "graphics/rotating_gates/3.4bpp"
|
||||
|
||||
.align 2
|
||||
RotatingGateTiles_5: @ 83D420C
|
||||
.incbin "graphics/rotating_gates/5.4bpp"
|
||||
|
||||
.align 2
|
||||
RotatingGateTiles_6: @ 83D4A0C
|
||||
.incbin "graphics/rotating_gates/6.4bpp"
|
||||
|
||||
.align 2
|
||||
RotatingGateTiles_7: @ 83D520C
|
||||
.incbin "graphics/rotating_gates/7.4bpp"
|
||||
|
||||
.align 2
|
||||
RotatingGateTiles_0: @ 83D5A0C
|
||||
.incbin "graphics/rotating_gates/0.4bpp"
|
||||
|
||||
.align 2
|
||||
RotatingGateTiles_4: @ 83D5C0C
|
||||
.incbin "graphics/rotating_gates/4.4bpp"
|
||||
|
||||
.align 2
|
||||
gOamData_83D5E0C:: @ 83D5E0C
|
||||
.2byte 0x0100
|
||||
.2byte 0xC000
|
||||
.2byte 0x5800
|
||||
|
||||
.align 2
|
||||
gOamData_83D5E14:: @ 83D5E14
|
||||
.2byte 0x0100
|
||||
.2byte 0x8000
|
||||
.2byte 0x5800
|
||||
|
||||
.align 2
|
||||
gRotatingGatesGraphicsTable:: @ 83D5E1C
|
||||
obj_tiles RotatingGateTiles_0, 0x200, 0x1300
|
||||
obj_tiles RotatingGateTiles_1, 0x800, 0x1301
|
||||
obj_tiles RotatingGateTiles_2, 0x800, 0x1302
|
||||
obj_tiles RotatingGateTiles_3, 0x800, 0x1303
|
||||
obj_tiles RotatingGateTiles_4, 0x200, 0x1304
|
||||
obj_tiles RotatingGateTiles_5, 0x800, 0x1305
|
||||
obj_tiles RotatingGateTiles_6, 0x800, 0x1306
|
||||
obj_tiles RotatingGateTiles_7, 0x800, 0x1307
|
||||
null_obj_tiles
|
||||
|
||||
.align 2
|
||||
gSpriteAnim_83D5E64:: @ 83D5E64
|
||||
obj_image_anim_frame 0, 0
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAnim_83D5E6C:: @ 83D5E6C
|
||||
obj_image_anim_frame 0, 0
|
||||
obj_image_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAnimTable_83D5E74:: @ 83D5E74
|
||||
.4byte gSpriteAnim_83D5E64
|
||||
|
||||
.align 2
|
||||
gSpriteAnimTable_83D5E78:: @ 83D5E78
|
||||
.4byte gSpriteAnim_83D5E6C
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5E7C:: @ 83D5E7C
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
|
||||
obj_rot_scal_anim_jump 0
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5E8C:: @ 83D5E8C
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
|
||||
obj_rot_scal_anim_jump 0
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5E9C:: @ 83D5E9C
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
|
||||
obj_rot_scal_anim_jump 0
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5EAC:: @ 83D5EAC
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
|
||||
obj_rot_scal_anim_jump 0
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5EBC:: @ 83D5EBC
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5ED4:: @ 83D5ED4
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5EEC:: @ 83D5EEC
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5F04:: @ 83D5F04
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, -4, 16
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5F1C:: @ 83D5F1C
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5F34:: @ 83D5F34
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5F4C:: @ 83D5F4C
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5F64:: @ 83D5F64
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, 4, 16
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5F7C:: @ 83D5F7C
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5F94:: @ 83D5F94
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5FAC:: @ 83D5FAC
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5FC4:: @ 83D5FC4
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, -8, 8
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5FDC:: @ 83D5FDC
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D5FF4:: @ 83D5FF4
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 64, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D600C:: @ 83D600C
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -128, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_83D6024:: @ 83D6024
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, -64, 0
|
||||
obj_rot_scal_anim_frame 0x0, 0x0, 8, 8
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnimTable_83D603C:: @ 83D603C
|
||||
.4byte gSpriteAffineAnim_83D5E7C
|
||||
.4byte gSpriteAffineAnim_83D5E8C
|
||||
.4byte gSpriteAffineAnim_83D5E9C
|
||||
.4byte gSpriteAffineAnim_83D5EAC
|
||||
.4byte gSpriteAffineAnim_83D5F1C
|
||||
.4byte gSpriteAffineAnim_83D5F64
|
||||
.4byte gSpriteAffineAnim_83D5F4C
|
||||
.4byte gSpriteAffineAnim_83D5F34
|
||||
.4byte gSpriteAffineAnim_83D5EBC
|
||||
.4byte gSpriteAffineAnim_83D5ED4
|
||||
.4byte gSpriteAffineAnim_83D5EEC
|
||||
.4byte gSpriteAffineAnim_83D5F04
|
||||
.4byte gSpriteAffineAnim_83D5FDC
|
||||
.4byte gSpriteAffineAnim_83D6024
|
||||
.4byte gSpriteAffineAnim_83D600C
|
||||
.4byte gSpriteAffineAnim_83D5FF4
|
||||
.4byte gSpriteAffineAnim_83D5F7C
|
||||
.4byte gSpriteAffineAnim_83D5F94
|
||||
.4byte gSpriteAffineAnim_83D5FAC
|
||||
.4byte gSpriteAffineAnim_83D5FC4
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_83D608C:: @ 83D608C
|
||||
spr_template 4864, 0xFFFF, gOamData_83D5E0C, gSpriteAnimTable_83D5E74, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_83D60A4:: @ 83D60A4
|
||||
spr_template 4864, 0xFFFF, gOamData_83D5E14, gSpriteAnimTable_83D5E78, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94
|
||||
|
||||
gUnknown_083D60BC:: @ 83D60BC
|
||||
.byte 255, 255, 255, 255
|
||||
.byte 39, 38, 18, 19
|
||||
.byte 255, 255, 255, 255
|
||||
.byte 255, 255, 255, 255
|
||||
|
||||
gUnknown_083D60CC:: @ 83D60CC
|
||||
.byte 255, 255, 255, 255
|
||||
.byte 255, 255, 255, 255
|
||||
.byte 23, 22, 34, 35
|
||||
.byte 255, 255, 255, 255
|
||||
|
||||
gUnknown_083D60DC:: @ 83D60DC
|
||||
.byte 255, 17, 255, 255
|
||||
.byte 255, 16, 255, 255
|
||||
.byte 255, 36, 255, 255
|
||||
.byte 255, 37, 255, 255
|
||||
|
||||
gUnknown_083D60EC:: @ 83D60EC
|
||||
.byte 255, 255, 33, 255
|
||||
.byte 255, 255, 32, 255
|
||||
.byte 255, 255, 20, 255
|
||||
.byte 255, 255, 21, 255
|
||||
|
||||
gUnknown_083D60FC:: @ 83D60FC
|
||||
.byte 0, -1, 0, 0
|
||||
.byte 1, -2, 0, 0
|
||||
.byte 0, 0, 0, 0
|
||||
.byte 1, 0, 0, 0
|
||||
.byte -1, 0, 0, 0
|
||||
.byte -1, 1, 0, 0
|
||||
.byte -1, -1, 0, 0
|
||||
.byte -2, -1, 0, 0
|
||||
|
||||
gUnknown_083D611C:: @ 83D611C
|
||||
.byte -1, -1, 0, 0
|
||||
.byte -1, -2, 0, 0
|
||||
.byte 0, -1, 0, 0
|
||||
.byte 1, -1, 0, 0
|
||||
.byte 0, 0, 0, 0
|
||||
.byte 0, 1, 0, 0
|
||||
.byte -1, 0, 0, 0
|
||||
.byte -2, 0, 0, 0
|
||||
|
||||
.align 2
|
||||
gUnknown_083D613C:: @ 83D613C
|
||||
.byte 1, 0, 1, 0, 0, 0, 0, 0
|
||||
.byte 1, 1, 1, 0, 0, 0, 0, 0
|
||||
.byte 1, 0, 1, 1, 0, 0, 0, 0
|
||||
.byte 1, 1, 1, 1, 0, 0, 0, 0
|
||||
.byte 1, 0, 1, 0, 1, 0, 0, 0
|
||||
.byte 1, 1, 1, 0, 1, 0, 0, 0
|
||||
.byte 1, 0, 1, 1, 1, 0, 0, 0
|
||||
.byte 1, 0, 1, 0, 1, 1, 0, 0
|
||||
.byte 1, 1, 1, 1, 1, 0, 0, 0
|
||||
.byte 1, 1, 1, 0, 1, 1, 0, 0
|
||||
.byte 1, 0, 1, 1, 1, 1, 0, 0
|
||||
.byte 1, 1, 1, 1, 1, 1, 0, 0
|
||||
+1
-1
@@ -417,7 +417,7 @@ SECTIONS {
|
||||
data/fldeff_80C5CD4.o(.rodata);
|
||||
src/field_special_scene.o(.rodata);
|
||||
data/field_special_scene.o(.rodata);
|
||||
data/rotating_gate.o(.rodata);
|
||||
src/rotating_gate.o(.rodata);
|
||||
src/item_use.o(.rodata);
|
||||
data/battle_anim_80CA710.o(.rodata);
|
||||
src/bike.o(.rodata);
|
||||
|
||||
+357
-44
@@ -22,26 +22,339 @@ struct UnknownStruct2
|
||||
u8 d;
|
||||
};
|
||||
|
||||
extern const struct SpriteSheet gRotatingGatesGraphicsTable[];
|
||||
extern /* const */ struct UnknownStruct gUnknown_083D2964[];
|
||||
extern /* const */ struct UnknownStruct gUnknown_083D299C[];
|
||||
extern const struct SpriteTemplate gSpriteTemplate_83D60A4;
|
||||
extern const struct SpriteTemplate gSpriteTemplate_83D608C;
|
||||
static const struct UnknownStruct sUnknown_083D2964[] = {
|
||||
{ { 12, 5 }, 3, 0, 0, 0 },
|
||||
{ { 14, 7 }, 3, 3, 0, 0 },
|
||||
{ { 16, 4 }, 5, 1, 0, 0 },
|
||||
{ { 15, 14 }, 1, 0, 0, 0 },
|
||||
{ { 18, 13 }, 4, 2, 0, 0 },
|
||||
{ { 8, 20 }, 4, 2, 0, 0 },
|
||||
{ { 16, 20 }, 7, 1, 0, 0 },
|
||||
};
|
||||
|
||||
static const struct UnknownStruct sUnknown_083D299C[] = {
|
||||
{ { 13, 3 }, 4, 3, 0, 0 },
|
||||
{ { 12, 6 }, 4, 2, 0, 0 },
|
||||
{ { 3, 6 }, 4, 2, 0, 0 },
|
||||
{ { 3, 9 }, 5, 3, 0, 0 },
|
||||
{ { 8, 8 }, 0, 1, 0, 0 },
|
||||
{ { 2, 12 }, 6, 2, 0, 0 },
|
||||
{ { 9, 13 }, 1, 0, 0, 0 },
|
||||
{ { 3, 14 }, 2, 1, 0, 0 },
|
||||
{ { 9, 15 }, 3, 2, 0, 0 },
|
||||
{ { 3, 18 }, 5, 2, 0, 0 },
|
||||
{ { 2, 19 }, 4, 0, 0, 0 },
|
||||
{ { 5, 21 }, 0, 0, 0, 0 },
|
||||
{ { 9, 19 }, 3, 3, 0, 0 },
|
||||
{ { 12, 20 }, 4, 1, 0, 0 },
|
||||
};
|
||||
|
||||
static const u8 RotatingGateTiles_1[] = INCBIN_U8("graphics/rotating_gates/1.4bpp");
|
||||
static const u8 RotatingGateTiles_2[] = INCBIN_U8("graphics/rotating_gates/2.4bpp");
|
||||
static const u8 RotatingGateTiles_3[] = INCBIN_U8("graphics/rotating_gates/3.4bpp");
|
||||
static const u8 RotatingGateTiles_5[] = INCBIN_U8("graphics/rotating_gates/5.4bpp");
|
||||
static const u8 RotatingGateTiles_6[] = INCBIN_U8("graphics/rotating_gates/6.4bpp");
|
||||
static const u8 RotatingGateTiles_7[] = INCBIN_U8("graphics/rotating_gates/7.4bpp");
|
||||
static const u8 RotatingGateTiles_0[] = INCBIN_U8("graphics/rotating_gates/0.4bpp");
|
||||
static const u8 RotatingGateTiles_4[] = INCBIN_U8("graphics/rotating_gates/4.4bpp");
|
||||
|
||||
static const struct OamData gOamData_83D5E0C = {
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_NORMAL,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = ST_OAM_SQUARE,
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = 3,
|
||||
.tileNum = 0,
|
||||
.priority = 2,
|
||||
.paletteNum = 5,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
// Smaller
|
||||
static const struct OamData gOamData_83D5E14 = {
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_NORMAL,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = ST_OAM_SQUARE,
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = 2,
|
||||
.tileNum = 0,
|
||||
.priority = 2,
|
||||
.paletteNum = 5,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const struct SpriteSheet gRotatingGatesGraphicsTable[] = {
|
||||
{ RotatingGateTiles_0, 0x200, 0x1300 },
|
||||
{ RotatingGateTiles_1, 0x800, 0x1301 },
|
||||
{ RotatingGateTiles_2, 0x800, 0x1302 },
|
||||
{ RotatingGateTiles_3, 0x800, 0x1303 },
|
||||
{ RotatingGateTiles_4, 0x200, 0x1304 },
|
||||
{ RotatingGateTiles_5, 0x800, 0x1305 },
|
||||
{ RotatingGateTiles_6, 0x800, 0x1306 },
|
||||
{ RotatingGateTiles_7, 0x800, 0x1307 },
|
||||
{ NULL },
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_83D5E64[] = {
|
||||
ANIMCMD_FRAME(0, 0), ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_83D5E6C[] = {
|
||||
ANIMCMD_FRAME(0, 0), ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gSpriteAnimTable_83D5E74[] = {
|
||||
gSpriteAnim_83D5E64,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gSpriteAnimTable_83D5E78[] = {
|
||||
gSpriteAnim_83D5E6C,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5E7C[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5E8C[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0), AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5E9C[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0), AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5EAC[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0), AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5EBC[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5ED4[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5EEC[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5F04[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5F1C[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5F34[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5F4C[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5F64[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 16),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5F7C[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5F94[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5FAC[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5FC4[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5FDC[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 8), AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D5FF4[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D600C[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_83D6024[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0),
|
||||
AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 8),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const gSpriteAffineAnimTable_83D603C[] = {
|
||||
gSpriteAffineAnim_83D5E7C,
|
||||
gSpriteAffineAnim_83D5E8C,
|
||||
gSpriteAffineAnim_83D5E9C,
|
||||
gSpriteAffineAnim_83D5EAC,
|
||||
gSpriteAffineAnim_83D5F1C,
|
||||
gSpriteAffineAnim_83D5F64,
|
||||
gSpriteAffineAnim_83D5F4C,
|
||||
gSpriteAffineAnim_83D5F34,
|
||||
gSpriteAffineAnim_83D5EBC,
|
||||
gSpriteAffineAnim_83D5ED4,
|
||||
gSpriteAffineAnim_83D5EEC,
|
||||
gSpriteAffineAnim_83D5F04,
|
||||
gSpriteAffineAnim_83D5FDC,
|
||||
gSpriteAffineAnim_83D6024,
|
||||
gSpriteAffineAnim_83D600C,
|
||||
gSpriteAffineAnim_83D5FF4,
|
||||
gSpriteAffineAnim_83D5F7C,
|
||||
gSpriteAffineAnim_83D5F94,
|
||||
gSpriteAffineAnim_83D5FAC,
|
||||
gSpriteAffineAnim_83D5FC4,
|
||||
};
|
||||
|
||||
void sub_80C7C94(struct Sprite *sprite);
|
||||
|
||||
static const struct SpriteTemplate gSpriteTemplate_83D608C = {
|
||||
.tileTag = 4864,
|
||||
.paletteTag = 0xFFFF,
|
||||
.oam = &gOamData_83D5E0C,
|
||||
.anims = gSpriteAnimTable_83D5E74,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_83D603C,
|
||||
.callback = sub_80C7C94,
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gSpriteTemplate_83D60A4 = {
|
||||
.tileTag = 4864,
|
||||
.paletteTag = 0xFFFF,
|
||||
.oam = &gOamData_83D5E14,
|
||||
.anims = gSpriteAnimTable_83D5E78,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_83D603C,
|
||||
.callback = sub_80C7C94,
|
||||
};
|
||||
|
||||
static const u8 sUnknown_083D60BC[4][4] = {
|
||||
{ 255, 255, 255, 255 }, { 39, 38, 18, 19 }, { 255, 255, 255, 255 }, { 255, 255, 255, 255 },
|
||||
};
|
||||
|
||||
static const u8 sUnknown_083D60CC[4][4] = {
|
||||
{ 255, 255, 255, 255 }, { 255, 255, 255, 255 }, { 23, 22, 34, 35 }, { 255, 255, 255, 255 },
|
||||
};
|
||||
|
||||
static const u8 sUnknown_083D60DC[4][4] = {
|
||||
{ 255, 17, 255, 255 }, { 255, 16, 255, 255 }, { 255, 36, 255, 255 }, { 255, 37, 255, 255 },
|
||||
};
|
||||
|
||||
static const u8 sUnknown_083D60EC[4][4] = {
|
||||
{ 255, 255, 33, 255 }, { 255, 255, 32, 255 }, { 255, 255, 20, 255 }, { 255, 255, 21, 255 },
|
||||
};
|
||||
|
||||
static const struct UnknownStruct2 sUnknown_083D60FC[] = {
|
||||
{ 0, -1, 0, 0 },
|
||||
{ 1, -2, 0, 0 },
|
||||
{ 0, 0, 0, 0 },
|
||||
{ 1, 0, 0, 0 },
|
||||
{ -1, 0, 0, 0 },
|
||||
{ -1, 1, 0, 0 },
|
||||
{ -1, -1, 0, 0 },
|
||||
{ -2, -1, 0, 0 },
|
||||
};
|
||||
|
||||
static const struct UnknownStruct2 sUnknown_083D611C[] = {
|
||||
{ -1, -1, 0, 0 },
|
||||
{ -1, -2, 0, 0 },
|
||||
{ 0, -1, 0, 0 },
|
||||
{ 1, -1, 0, 0 },
|
||||
{ 0, 0, 0, 0 },
|
||||
{ 0, 1, 0, 0 },
|
||||
{ -1, 0, 0, 0 },
|
||||
{ -2, 0, 0, 0 },
|
||||
};
|
||||
|
||||
static const u8 sUnknown_083D613C[12][8] = {
|
||||
{
|
||||
1, 0, 1, 0, 0, 0, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 1, 1, 0, 0, 0, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 0, 1, 1, 0, 0, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 1, 1, 1, 0, 0, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 0, 1, 0, 1, 0, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 1, 1, 0, 1, 0, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 0, 1, 1, 1, 0, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 0, 1, 0, 1, 1, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 1, 1, 1, 1, 0, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 1, 1, 0, 1, 1, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 0, 1, 1, 1, 1, 0, 0,
|
||||
},
|
||||
{
|
||||
1, 1, 1, 1, 1, 1, 0, 0,
|
||||
},
|
||||
};
|
||||
|
||||
extern u8 gUnknown_020387F0[10]; // puzzle oam ID list
|
||||
|
||||
extern struct UnknownStruct *gUnknown_02038800;
|
||||
extern const struct UnknownStruct *gUnknown_02038800;
|
||||
extern u8 gUnknown_02038804; // puzzle count
|
||||
|
||||
extern struct UnknownStruct2 gUnknown_083D611C[5];
|
||||
extern struct UnknownStruct2 gUnknown_083D60FC[5];
|
||||
extern const u8 gUnknown_083D613C[12][8];
|
||||
|
||||
extern const u8 gUnknown_083D60BC[4][4];
|
||||
extern const u8 gUnknown_083D60CC[4][4];
|
||||
extern const u8 gUnknown_083D60DC[4][4];
|
||||
extern const u8 gUnknown_083D60EC[4][4];
|
||||
|
||||
u8 sub_80C7BAC(u8 i, s16 a, s16 b);
|
||||
void sub_8060388(s16 x, s16 y, s16 *outX, s16 *outY);
|
||||
void sub_80C7D14(struct Sprite *sprite);
|
||||
@@ -125,11 +438,11 @@ void sub_80C7A80(void)
|
||||
switch (a)
|
||||
{
|
||||
case 1:
|
||||
gUnknown_02038800 = gUnknown_083D2964;
|
||||
gUnknown_02038800 = sUnknown_083D2964;
|
||||
gUnknown_02038804 = 7;
|
||||
break;
|
||||
case 2:
|
||||
gUnknown_02038800 = gUnknown_083D299C;
|
||||
gUnknown_02038800 = sUnknown_083D299C;
|
||||
gUnknown_02038804 = 0xE;
|
||||
break;
|
||||
case 0:
|
||||
@@ -170,7 +483,7 @@ u8 sub_80C7BAC(u8 i, s16 a, s16 b)
|
||||
{
|
||||
struct Sprite *sprite; // r4
|
||||
struct SpriteTemplate template;
|
||||
struct UnknownStruct *unk;
|
||||
const struct UnknownStruct *unk;
|
||||
u8 id; // r5
|
||||
s16 x, y;
|
||||
|
||||
@@ -312,7 +625,7 @@ void sub_80C7DC0(void)
|
||||
#ifdef NONMATCHING
|
||||
int sub_80C7E8C(u8 a, int puzzleType)
|
||||
{
|
||||
struct UnknownStruct2 *unk1;
|
||||
const struct UnknownStruct2 *unk1;
|
||||
u8 unk2;
|
||||
s16 x;
|
||||
s16 y;
|
||||
@@ -326,9 +639,9 @@ int sub_80C7E8C(u8 a, int puzzleType)
|
||||
int wat;
|
||||
|
||||
if (puzzleType == 1)
|
||||
unk1 = gUnknown_083D611C;
|
||||
unk1 = sUnknown_083D611C;
|
||||
else if (puzzleType == 2)
|
||||
unk1 = gUnknown_083D60FC;
|
||||
unk1 = sUnknown_083D60FC;
|
||||
else
|
||||
return 0;
|
||||
|
||||
@@ -343,7 +656,7 @@ int sub_80C7E8C(u8 a, int puzzleType)
|
||||
j = 0;
|
||||
unk4 = unk2 + i;
|
||||
wat = unk2 + i;
|
||||
unk5 = &gUnknown_083D613C[unk3][i * 2];
|
||||
unk5 = &sUnknown_083D613C[unk3][i * 2];
|
||||
|
||||
for (; j <= 1; j++)
|
||||
{
|
||||
@@ -378,11 +691,11 @@ __attribute__((naked)) int sub_80C7E8C(u8 a, int puzzleType)
|
||||
lsrs r4, r0, 24\n\
|
||||
cmp r1, 0x1\n\
|
||||
bne _080C7EAC\n\
|
||||
ldr r0, _080C7EA8 @ =gUnknown_083D611C\n\
|
||||
ldr r0, _080C7EA8 @ =sUnknown_083D611C\n\
|
||||
mov r10, r0\n\
|
||||
b _080C7EB8\n\
|
||||
.align 2, 0\n\
|
||||
_080C7EA8: .4byte gUnknown_083D611C\n\
|
||||
_080C7EA8: .4byte sUnknown_083D611C\n\
|
||||
_080C7EAC:\n\
|
||||
cmp r1, 0x2\n\
|
||||
beq _080C7EB4\n\
|
||||
@@ -390,7 +703,7 @@ _080C7EB0:\n\
|
||||
movs r0, 0\n\
|
||||
b _080C7F48\n\
|
||||
_080C7EB4:\n\
|
||||
ldr r1, _080C7F58 @ =gUnknown_083D60FC\n\
|
||||
ldr r1, _080C7F58 @ =sUnknown_083D60FC\n\
|
||||
mov r10, r1\n\
|
||||
_080C7EB8:\n\
|
||||
adds r0, r4, 0\n\
|
||||
@@ -424,7 +737,7 @@ _080C7EE8:\n\
|
||||
adds r5, r7, 0\n\
|
||||
ldr r1, [sp, 0x4]\n\
|
||||
adds r0, r1\n\
|
||||
ldr r2, _080C7F60 @ =gUnknown_083D613C\n\
|
||||
ldr r2, _080C7F60 @ =sUnknown_083D613C\n\
|
||||
adds r4, r0, r2\n\
|
||||
_080C7EFA:\n\
|
||||
adds r0, r5, 0\n\
|
||||
@@ -477,9 +790,9 @@ _080C7F48:\n\
|
||||
pop {r1}\n\
|
||||
bx r1\n\
|
||||
.align 2, 0\n\
|
||||
_080C7F58: .4byte gUnknown_083D60FC\n\
|
||||
_080C7F58: .4byte sUnknown_083D60FC\n\
|
||||
_080C7F5C: .4byte gUnknown_02038800\n\
|
||||
_080C7F60: .4byte gUnknown_083D613C\n\
|
||||
_080C7F60: .4byte sUnknown_083D613C\n\
|
||||
.syntax divided\n");
|
||||
}
|
||||
#endif
|
||||
@@ -500,7 +813,7 @@ int sub_80C7F64(u8 a, u8 b)
|
||||
unk7 = unk2 < 0 ? unk2 + 3 : unk2;
|
||||
unk4 = (unk7 - ((unk7 >> 2) << 2));
|
||||
unk6 = gUnknown_02038800[a].e;
|
||||
return gUnknown_083D613C[unk6][(s8)unk4 * 2 + unk1];
|
||||
return sUnknown_083D613C[unk6][(s8)unk4 * 2 + unk1];
|
||||
}
|
||||
#else
|
||||
__attribute__((naked)) int sub_80C7F64(u8 a, u8 b)
|
||||
@@ -533,7 +846,7 @@ _080C7F8A:\n\
|
||||
lsls r1, r6, 3\n\
|
||||
adds r1, r2\n\
|
||||
ldrb r1, [r1, 0x4]\n\
|
||||
ldr r2, _080C7FB4 @ =gUnknown_083D613C\n\
|
||||
ldr r2, _080C7FB4 @ =sUnknown_083D613C\n\
|
||||
lsls r0, 24\n\
|
||||
asrs r0, 23\n\
|
||||
adds r0, r5\n\
|
||||
@@ -546,7 +859,7 @@ _080C7F8A:\n\
|
||||
bx r1\n\
|
||||
.align 2, 0\n\
|
||||
_080C7FB0: .4byte gUnknown_02038800\n\
|
||||
_080C7FB4: .4byte gUnknown_083D613C\n\
|
||||
_080C7FB4: .4byte sUnknown_083D613C\n\
|
||||
.syntax divided\n");
|
||||
}
|
||||
#endif
|
||||
@@ -569,13 +882,13 @@ u8 sub_80C7FEC(u8 a, s16 b, s16 c)
|
||||
register const u8(*ptr)[][4] asm("r3");
|
||||
|
||||
if (a == 2)
|
||||
ptr = &gUnknown_083D60BC;
|
||||
ptr = &sUnknown_083D60BC;
|
||||
else if (a == 1)
|
||||
ptr = &gUnknown_083D60CC;
|
||||
ptr = &sUnknown_083D60CC;
|
||||
else if (a == 3)
|
||||
ptr = &gUnknown_083D60DC;
|
||||
ptr = &sUnknown_083D60DC;
|
||||
else if (a == 4)
|
||||
ptr = &gUnknown_083D60EC;
|
||||
ptr = &sUnknown_083D60EC;
|
||||
else
|
||||
return 0xFF;
|
||||
|
||||
@@ -595,31 +908,31 @@ __attribute__((naked)) u8 sub_80C7FEC(u8 a, s16 b, s16 c)
|
||||
lsrs r2, 16\n\
|
||||
cmp r0, 0x2\n\
|
||||
bne _080C8008\n\
|
||||
ldr r3, _080C8004 @ =gUnknown_083D60BC\n\
|
||||
ldr r3, _080C8004 @ =sUnknown_083D60BC\n\
|
||||
b _080C802A\n\
|
||||
.align 2, 0\n\
|
||||
_080C8004: .4byte gUnknown_083D60BC\n\
|
||||
_080C8004: .4byte sUnknown_083D60BC\n\
|
||||
_080C8008:\n\
|
||||
cmp r0, 0x1\n\
|
||||
bne _080C8014\n\
|
||||
ldr r3, _080C8010 @ =gUnknown_083D60CC\n\
|
||||
ldr r3, _080C8010 @ =sUnknown_083D60CC\n\
|
||||
b _080C802A\n\
|
||||
.align 2, 0\n\
|
||||
_080C8010: .4byte gUnknown_083D60CC\n\
|
||||
_080C8010: .4byte sUnknown_083D60CC\n\
|
||||
_080C8014:\n\
|
||||
cmp r0, 0x3\n\
|
||||
bne _080C8020\n\
|
||||
ldr r3, _080C801C @ =gUnknown_083D60DC\n\
|
||||
ldr r3, _080C801C @ =sUnknown_083D60DC\n\
|
||||
b _080C802A\n\
|
||||
.align 2, 0\n\
|
||||
_080C801C: .4byte gUnknown_083D60DC\n\
|
||||
_080C801C: .4byte sUnknown_083D60DC\n\
|
||||
_080C8020:\n\
|
||||
cmp r3, 0x4\n\
|
||||
beq _080C8028\n\
|
||||
movs r0, 0xFF\n\
|
||||
b _080C8038\n\
|
||||
_080C8028:\n\
|
||||
ldr r3, _080C803C @ =gUnknown_083D60EC\n\
|
||||
ldr r3, _080C803C @ =sUnknown_083D60EC\n\
|
||||
_080C802A:\n\
|
||||
lsls r0, r2, 16\n\
|
||||
lsls r1, 16\n\
|
||||
@@ -632,7 +945,7 @@ _080C8038:\n\
|
||||
pop {r1}\n\
|
||||
bx r1\n\
|
||||
.align 2, 0\n\
|
||||
_080C803C: .4byte gUnknown_083D60EC\n\
|
||||
_080C803C: .4byte sUnknown_083D60EC\n\
|
||||
.syntax divided\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user