Use more macros

This commit is contained in:
octorock 2021-11-01 16:38:19 +01:00
parent 9c3ac2ecbf
commit 1a0f416bac
31 changed files with 6134 additions and 3407 deletions

File diff suppressed because it is too large Load Diff

52
asm/code_08007CAC.s Normal file
View File

@ -0,0 +1,52 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
gUnk_08007CAC:: @ 08007CAC
.incbin "code_080043E8/gUnk_08007CAC.bin"
.ifdef DEMO_JP
@ TODO only one byte differs
.incbin "code_080043E8/gUnk_08007CAC_1_DEMO_JP.bin"
.else
.ifdef DEMO_USA
@ TODO only one byte differs
.incbin "code_080043E8/gUnk_08007CAC_2_DEMO_USA.bin"
.else
.ifdef JP
@ TODO only one byte differs
.incbin "code_080043E8/gUnk_08007CAC_3_JP.bin"
.else
.ifdef EU
@ TODO only two bytes differ
.incbin "code_080043E8/gUnk_08007CAC_4_EU.bin"
.else
.incbin "code_080043E8/gUnk_08007CAC_5_USA.bin"
.endif
.endif
.endif
.endif
non_word_aligned_thumb_func_start sub_08007DD6
sub_08007DD6: @ 0x08007DD6
push {lr}
bl sub_08007DE0
adds r0, r3, #0
pop {pc}
thumb_func_start sub_08007DE0
sub_08007DE0: @ 0x08007DE0
subs r1, #4
_08007DE2:
adds r1, #4
ldrh r3, [r1]
cmp r3, #0
beq _08007DF2
cmp r0, r3
bne _08007DE2
ldrh r3, [r1, #2]
movs r2, #1
_08007DF2:
bx lr

View File

@ -605,7 +605,7 @@ sub_0801CCB0: @ 0x0801CCB0
cmp r0, r1
beq _0801CCE0
strb r1, [r4, #8]
ldr r0, _0801CD1C @ =gSpriteAnimation_322
ldr r0, _0801CD1C @ =gSpriteAnimations_322
lsls r1, r1, #2
adds r1, r1, r0
ldr r1, [r1]
@ -643,7 +643,7 @@ _0801CCF4:
strb r0, [r3]
b _0801CD4C
.align 2, 0
_0801CD1C: .4byte gSpriteAnimation_322
_0801CD1C: .4byte gSpriteAnimations_322
_0801CD20: .4byte gUnk_0200AF13
_0801CD24: .4byte gSave
_0801CD28:

View File

@ -3424,7 +3424,7 @@ _080A4C42:
orrs r2, r0
ldr r0, _080A4D44 @ =gOamCmd
strh r2, [r0, #8]
ldr r1, _080A4D48 @ =gSpriteAnimation_322
ldr r1, _080A4D48 @ =gSpriteAnimations_322
lsls r0, r3, #2
adds r0, r0, r1
ldr r0, [r0]
@ -3542,7 +3542,7 @@ _080A4D36:
.align 2, 0
_080A4D40: .4byte gQuiverSizes
_080A4D44: .4byte gOamCmd
_080A4D48: .4byte gSpriteAnimation_322
_080A4D48: .4byte gSpriteAnimations_322
_080A4D4C: .4byte 0x00000141
_080A4D50EU: .4byte gChooseFileState
_080A4D54EU: .4byte gUnk_08128B64
@ -3646,7 +3646,7 @@ _080A542E:
orrs r2, r0
ldr r0, _080A5530 @ =gOamCmd
strh r2, [r0, #8]
ldr r1, _080A5534 @ =gSpriteAnimation_322
ldr r1, _080A5534 @ =gSpriteAnimations_322
lsls r0, r3, #2
adds r0, r0, r1
ldr r0, [r0]
@ -3764,7 +3764,7 @@ _080A5522:
.align 2, 0
_080A552C: .4byte gQuiverSizes
_080A5530: .4byte gOamCmd
_080A5534: .4byte gSpriteAnimation_322
_080A5534: .4byte gSpriteAnimations_322
_080A5538: .4byte gMenu
_080A553C: .4byte gUnk_08128B64
_080A5540: .4byte gMain

View File

@ -494,7 +494,7 @@ _080A50E4:
_080A50E8:
strh r0, [r4, #2]
_080A50EA:
ldr r0, _080A5190 @ =gSpriteAnimation_322
ldr r0, _080A5190 @ =gSpriteAnimations_322
lsls r1, r1, #2
adds r1, r1, r0
ldr r0, [r1]
@ -578,7 +578,7 @@ _080A5188:
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080A5190: .4byte gSpriteAnimation_322
_080A5190: .4byte gSpriteAnimations_322
_080A5194: .4byte 0x00000141
_080A5198: .4byte gChooseFileState
_080A519C: .4byte gOamCmd
@ -700,7 +700,7 @@ _080A58D0:
_080A58D4:
strh r0, [r4, #2]
_080A58D6:
ldr r0, _080A5980 @ =gSpriteAnimation_322
ldr r0, _080A5980 @ =gSpriteAnimations_322
lsls r1, r1, #2
adds r1, r1, r0
ldr r0, [r1]
@ -785,7 +785,7 @@ _080A5976:
mov sb, r4
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080A5980: .4byte gSpriteAnimation_322
_080A5980: .4byte gSpriteAnimations_322
_080A5984: .4byte gMenu
_080A5988: .4byte gOamCmd
_080A598C: .4byte gSave
@ -1349,7 +1349,7 @@ _080A558C:
beq _080A55BE
movs r0, #0x18
strh r0, [r5]
ldr r0, _080A56A8 @ =gSpriteAnimation_322
ldr r0, _080A56A8 @ =gSpriteAnimations_322
movs r1, #0xa0
lsls r1, r1, #1
adds r0, r0, r1
@ -1364,7 +1364,7 @@ _080A55BE:
beq _080A55DE
movs r0, #0x2e
strh r0, [r5]
ldr r0, _080A56A8 @ =gSpriteAnimation_322
ldr r0, _080A56A8 @ =gSpriteAnimations_322
movs r1, #0xa4
lsls r1, r1, #1
adds r0, r0, r1
@ -1382,7 +1382,7 @@ _080A55DE:
movs r0, #0xe0
lsls r0, r0, #2
strh r0, [r5, #8]
ldr r0, _080A56A8 @ =gSpriteAnimation_322
ldr r0, _080A56A8 @ =gSpriteAnimations_322
movs r1, #0xa2
lsls r1, r1, #1
adds r0, r0, r1
@ -1469,7 +1469,7 @@ _080A5698EU: .4byte gUnk_08128D3C
_080A569CEU: .4byte gOamCmd
_080A56A0: .4byte gChooseFileState
_080A56A4: .4byte gMain
_080A56A8: .4byte gSpriteAnimation_322
_080A56A8: .4byte gSpriteAnimations_322
_080A56ACEU: .4byte 0x00000143
_080A56B0: .4byte gUnk_02019EE0
_080A56B4: .4byte gScreen
@ -1605,7 +1605,7 @@ _080A5D9A:
beq _080A5DCC
movs r0, #0x18
strh r0, [r5]
ldr r0, _080A5EB4 @ =gSpriteAnimation_322
ldr r0, _080A5EB4 @ =gSpriteAnimations_322
movs r1, #0xa0
lsls r1, r1, #1
adds r0, r0, r1
@ -1621,7 +1621,7 @@ _080A5DCC:
beq _080A5DEE
movs r0, #0x2e
strh r0, [r5]
ldr r0, _080A5EB4 @ =gSpriteAnimation_322
ldr r0, _080A5EB4 @ =gSpriteAnimations_322
movs r1, #0xa4
lsls r1, r1, #1
adds r0, r0, r1
@ -1640,7 +1640,7 @@ _080A5DEE:
movs r0, #0xe0
lsls r0, r0, #2
strh r0, [r5, #8]
ldr r1, _080A5EB4 @ =gSpriteAnimation_322
ldr r1, _080A5EB4 @ =gSpriteAnimations_322
movs r0, #0xa2
lsls r0, r0, #1
adds r1, r1, r0
@ -1725,7 +1725,7 @@ _080A5EA4: .4byte gOamCmd
_080A5EA8: .4byte gMenu
_080A5EAC: .4byte gMain
_080A5EB0: .4byte 0x000001FB
_080A5EB4: .4byte gSpriteAnimation_322
_080A5EB4: .4byte gSpriteAnimations_322
_080A5EB8: .4byte gUnk_02019EE0
_080A5EBC: .4byte gScreen
_080A5EC0:
@ -1822,7 +1822,7 @@ _080A5F5C:
lsls r0, r1, #5
ldr r1, _080A5FA0 @ =0x06010000
adds r5, r0, r1
ldr r1, _080A5FA4 @ =gSpriteAnimation_322
ldr r1, _080A5FA4 @ =gSpriteAnimations_322
lsls r0, r4, #2
adds r0, r0, r1
ldr r0, [r0]
@ -1853,7 +1853,7 @@ _080A5F5C:
.align 2, 0
_080A5F9C: .4byte gSave
_080A5FA0: .4byte 0x06010000
_080A5FA4: .4byte gSpriteAnimation_322
_080A5FA4: .4byte gSpriteAnimations_322
_080A5FA8: .4byte gMoreSpritePtrs
_080A5FAC: .4byte 0x040000D4
_080A5FB0: .4byte 0x84000040

View File

@ -4,3 +4,4 @@
.include "asm/macros/map.inc"
.include "asm/macros/entity.inc"
.include "asm/macros/music_voice.inc"
.include "asm/macros/gfx.inc"

View File

@ -33,4 +33,21 @@
.2byte \first_tile_index
.endm
.macro keyframe frame_index:req, duration=0, bitfield=0, bitfield2=0
.byte \frame_index, \duration, \bitfield, \bitfield2
.endm
.macro fixed_gfx src:req, size=0, compressed=0
.4byte (\src - ptr_gGlobalGfxAndPalettes) + \compressed + (\size/0x200 << 24)
.endm
.macro extra_offset x:req, y:req
.byte \x, \y
.endm
.macro obj x:req, y:req, bitfield=0, bitfield2=0
.byte \x, \y, \bitfield
.2byte \bitfield2
.endm
.endif @ GUARD_ASM_MACROS_GFX_INC

View File

@ -80,4 +80,15 @@
map_data \src_offset, gUnk_02019EE0, \size, \compressed, \terminator
.endm
.macro exit_list_end
.4byte 0xffff, 0,0,0,0
.endm
.macro exit transition:req, x=0, y=0, destX=0, destY=0, screenEdge=0, destArea=0, destRoom=0, unknown=0, unknown2=0, unknown3=0, unknown4=0, padding=0
.2byte \transition, \x, \y, \destX, \destY
.byte \screenEdge, \destArea, \destRoom, \unknown, \unknown2, \unknown3
.2byte \unknown4, \padding
.endm
.endif @ GUARD_ASM_MACROS_MAP_INC

File diff suppressed because it is too large Load Diff

View File

@ -413,11 +413,6 @@
}
}
},
{
"offsets": {
"EU": 1095187
}
},
{
"offsets": {
"EU": 1095188

View File

@ -4,74 +4,74 @@
.section .rodata
.align 2
gUnk_0811073C:: @ 0811073C
.incbin "vaati/gUnk_0811073C.bin"
gSpriteAnimations_Vaati_1_0:: @ 0811073C
.include "animations/gSpriteAnimations_Vaati_1_0.s"
gUnk_08110741:: @ 08110741
.incbin "vaati/gUnk_08110741.bin"
gSpriteAnimations_Vaati_1_1:: @ 08110741
.include "animations/gSpriteAnimations_Vaati_1_1.s"
gUnk_08110746:: @ 08110746
.incbin "vaati/gUnk_08110746.bin"
gSpriteAnimations_Vaati_1_2:: @ 08110746
.include "animations/gSpriteAnimations_Vaati_1_2.s"
gUnk_0811074B:: @ 0811074B
.incbin "vaati/gUnk_0811074B.bin"
gSpriteAnimations_Vaati_1_3:: @ 0811074B
.include "animations/gSpriteAnimations_Vaati_1_3.s"
gUnk_08110750:: @ 08110750
.incbin "vaati/gUnk_08110750.bin"
gSpriteAnimations_Vaati_1_4:: @ 08110750
.include "animations/gSpriteAnimations_Vaati_1_4.s"
gUnk_08110761:: @ 08110761
.incbin "vaati/gUnk_08110761.bin"
gSpriteAnimations_Vaati_1_5:: @ 08110761
.include "animations/gSpriteAnimations_Vaati_1_5.s"
gUnk_08110772:: @ 08110772
.incbin "vaati/gUnk_08110772.bin"
gSpriteAnimations_Vaati_1_6:: @ 08110772
.include "animations/gSpriteAnimations_Vaati_1_6.s"
gUnk_08110783:: @ 08110783
.incbin "vaati/gUnk_08110783.bin"
gSpriteAnimations_Vaati_1_7:: @ 08110783
.include "animations/gSpriteAnimations_Vaati_1_7.s"
gUnk_08110794:: @ 08110794
.incbin "vaati/gUnk_08110794.bin"
gSpriteAnimations_Vaati_1_8:: @ 08110794
.include "animations/gSpriteAnimations_Vaati_1_8.s"
gUnk_08110799:: @ 08110799
.incbin "vaati/gUnk_08110799.bin"
gSpriteAnimations_Vaati_1_12:: @ 08110799
.include "animations/gSpriteAnimations_Vaati_1_12.s"
gUnk_081107AA:: @ 081107AA
.incbin "vaati/gUnk_081107AA.bin"
gSpriteAnimations_Vaati_1_16:: @ 081107AA
.include "animations/gSpriteAnimations_Vaati_1_16.s"
gUnk_081107B3:: @ 081107B3
.incbin "vaati/gUnk_081107B3.bin"
gSpriteAnimations_Vaati_1_20:: @ 081107B3
.include "animations/gSpriteAnimations_Vaati_1_20.s"
gUnk_081107BC:: @ 081107BC
.incbin "vaati/gUnk_081107BC.bin"
gSpriteAnimations_Vaati_1_24:: @ 081107BC
.include "animations/gSpriteAnimations_Vaati_1_24.s"
gSpriteAnimation_Vaati_1:: @ 081107CC
.4byte gUnk_0811073C
.4byte gUnk_08110741
.4byte gUnk_08110746
.4byte gUnk_0811074B
.4byte gUnk_08110750
.4byte gUnk_08110761
.4byte gUnk_08110772
.4byte gUnk_08110783
.4byte gUnk_08110794
.4byte gUnk_08110794
.4byte gUnk_08110794
.4byte gUnk_08110794
.4byte gUnk_08110799
.4byte gUnk_08110799
.4byte gUnk_08110799
.4byte gUnk_08110799
.4byte gUnk_081107AA
.4byte gUnk_081107AA
.4byte gUnk_081107AA
.4byte gUnk_081107AA
.4byte gUnk_081107B3
.4byte gUnk_081107B3
.4byte gUnk_081107B3
.4byte gUnk_081107B3
.4byte gUnk_081107BC
.4byte gUnk_081107BC
.4byte gUnk_081107BC
.4byte gUnk_081107BC
gSpriteAnimations_Vaati_1:: @ 081107CC
.4byte gSpriteAnimations_Vaati_1_0
.4byte gSpriteAnimations_Vaati_1_1
.4byte gSpriteAnimations_Vaati_1_2
.4byte gSpriteAnimations_Vaati_1_3
.4byte gSpriteAnimations_Vaati_1_4
.4byte gSpriteAnimations_Vaati_1_5
.4byte gSpriteAnimations_Vaati_1_6
.4byte gSpriteAnimations_Vaati_1_7
.4byte gSpriteAnimations_Vaati_1_8
.4byte gSpriteAnimations_Vaati_1_8
.4byte gSpriteAnimations_Vaati_1_8
.4byte gSpriteAnimations_Vaati_1_8
.4byte gSpriteAnimations_Vaati_1_12
.4byte gSpriteAnimations_Vaati_1_12
.4byte gSpriteAnimations_Vaati_1_12
.4byte gSpriteAnimations_Vaati_1_12
.4byte gSpriteAnimations_Vaati_1_16
.4byte gSpriteAnimations_Vaati_1_16
.4byte gSpriteAnimations_Vaati_1_16
.4byte gSpriteAnimations_Vaati_1_16
.4byte gSpriteAnimations_Vaati_1_20
.4byte gSpriteAnimations_Vaati_1_20
.4byte gSpriteAnimations_Vaati_1_20
.4byte gSpriteAnimations_Vaati_1_20
.4byte gSpriteAnimations_Vaati_1_24
.4byte gSpriteAnimations_Vaati_1_24
.4byte gSpriteAnimations_Vaati_1_24
.4byte gSpriteAnimations_Vaati_1_24
.4byte 00000000
gSpriteAnimations_Vaati_0:: @ 08110840

View File

@ -4,13 +4,13 @@
.section .rodata
.align 2
gUnk_08121E24:: @ 08121E24
.incbin "fileScreenObjects/gUnk_08121E24.bin"
gSpriteAnimations_FileScreenObjects_0:: @ 08121E24
.include "animations/gSpriteAnimations_FileScreenObjects_0.s"
gUnk_08121E31:: @ 08121E31
.incbin "fileScreenObjects/gUnk_08121E31.bin"
gSpriteAnimations_FileScreenObjects_1:: @ 08121E31
.include "animations/gSpriteAnimations_FileScreenObjects_1.s"
gSpriteAnimation_FileScreenObjects:: @ 08121E50
.4byte gUnk_08121E24
.4byte gUnk_08121E31
gSpriteAnimations_FileScreenObjects:: @ 08121E50
.4byte gSpriteAnimations_FileScreenObjects_0
.4byte gSpriteAnimations_FileScreenObjects_1
.4byte 00000000

View File

@ -5,15 +5,15 @@
.align 2
gUnk_08122B4C:: @ 08122B4C
.incbin "object6A/gUnk_08122B4C.bin"
gSpriteAnimations_Object6A_9_0:: @ 08122B4C
.include "animations/gSpriteAnimations_Object6A_9_0.s"
gUnk_08122B55:: @ 08122B55
.incbin "object6A/gUnk_08122B55.bin"
gSpriteAnimations_Object6A_9_1:: @ 08122B55
.include "animations/gSpriteAnimations_Object6A_9_1.s"
gSpriteAnimation_Object6A_9:: @ 08122B64
.4byte gUnk_08122B4C
.4byte gUnk_08122B55
gSpriteAnimations_Object6A_9:: @ 08122B64
.4byte gSpriteAnimations_Object6A_9_0
.4byte gSpriteAnimations_Object6A_9_1
.4byte 00000000
gSpriteAnimations_Object6A_5_2:: @ 08122B70

View File

@ -5,17 +5,17 @@
@ .align 2
@ TODO might as well be palaceArchway
gUnk_08124712:: @ 08124712
.incbin "objectA2/gUnk_08124712.bin"
gSpriteAnimations_ObjectA2_0:: @ 08124712
.include "animation/gSpriteAnimations_ObjectA2_0.s"
gUnk_08124743:: @ 08124743
.incbin "objectA2/gUnk_08124743.bin"
gSpriteAnimations_ObjectA2_1:: @ 08124743
.include "animation/gSpriteAnimations_ObjectA2_1.s"
gUnk_08124764:: @ 08124764
.incbin "objectA2/gUnk_08124764.bin"
gSpriteAnimations_ObjectA2_2:: @ 08124764
.include "animation/gSpriteAnimations_ObjectA2_2.s"
gSpriteAnimation_ObjectA2:: @ 08124788
.4byte gUnk_08124712
.4byte gUnk_08124743
.4byte gUnk_08124764
gSpriteAnimations_ObjectA2:: @ 08124788
.4byte gSpriteAnimations_ObjectA2_0
.4byte gSpriteAnimations_ObjectA2_1
.4byte gSpriteAnimations_ObjectA2_2
.4byte 00000000

View File

@ -795,392 +795,392 @@ gUnk_080FD964:: @ 080FD964
.incbin "data_080FC8A4/gUnk_080FD964_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gUnk_080FDD14:: @ 080FDD14
.incbin "data_080FC8A4/gUnk_080FDD14.bin"
gSpriteAnimations_322_0:: @ 080FDD14
.include "animations/gSpriteAnimations_322_0.s"
gUnk_080FDD19:: @ 080FDD19
.incbin "data_080FC8A4/gUnk_080FDD19.bin"
gSpriteAnimations_322_1:: @ 080FDD19
.include "animations/gSpriteAnimations_322_1.s"
gUnk_080FDD1E:: @ 080FDD1E
.incbin "data_080FC8A4/gUnk_080FDD1E.bin"
gSpriteAnimations_322_2:: @ 080FDD1E
.include "animations/gSpriteAnimations_322_2.s"
gUnk_080FDD23:: @ 080FDD23
.incbin "data_080FC8A4/gUnk_080FDD23.bin"
gSpriteAnimations_322_3:: @ 080FDD23
.include "animations/gSpriteAnimations_322_3.s"
gUnk_080FDD28:: @ 080FDD28
.incbin "data_080FC8A4/gUnk_080FDD28.bin"
gSpriteAnimations_322_4:: @ 080FDD28
.include "animations/gSpriteAnimations_322_4.s"
gUnk_080FDD2D:: @ 080FDD2D
.incbin "data_080FC8A4/gUnk_080FDD2D.bin"
gSpriteAnimations_322_6:: @ 080FDD2D
.include "animations/gSpriteAnimations_322_6.s"
gUnk_080FDD32:: @ 080FDD32
.incbin "data_080FC8A4/gUnk_080FDD32.bin"
gSpriteAnimations_322_7:: @ 080FDD32
.include "animations/gSpriteAnimations_322_7.s"
gUnk_080FDD37:: @ 080FDD37
.incbin "data_080FC8A4/gUnk_080FDD37.bin"
gSpriteAnimations_322_8:: @ 080FDD37
.include "animations/gSpriteAnimations_322_8.s"
gUnk_080FDD48:: @ 080FDD48
.incbin "data_080FC8A4/gUnk_080FDD48.bin"
gSpriteAnimations_322_9:: @ 080FDD48
.include "animations/gSpriteAnimations_322_9.s"
gUnk_080FDD4D:: @ 080FDD4D
.incbin "data_080FC8A4/gUnk_080FDD4D.bin"
gSpriteAnimations_322_10:: @ 080FDD4D
.include "animations/gSpriteAnimations_322_10.s"
gUnk_080FDD52:: @ 080FDD52
.incbin "data_080FC8A4/gUnk_080FDD52.bin"
gSpriteAnimations_322_11:: @ 080FDD52
.include "animations/gSpriteAnimations_322_11.s"
gUnk_080FDD57:: @ 080FDD57
.incbin "data_080FC8A4/gUnk_080FDD57.bin"
gSpriteAnimations_322_12:: @ 080FDD57
.include "animations/gSpriteAnimations_322_12.s"
gUnk_080FDD5C:: @ 080FDD5C
.incbin "data_080FC8A4/gUnk_080FDD5C.bin"
gSpriteAnimations_322_13:: @ 080FDD5C
.include "animations/gSpriteAnimations_322_13.s"
gUnk_080FDD61:: @ 080FDD61
.incbin "data_080FC8A4/gUnk_080FDD61.bin"
gSpriteAnimations_322_14:: @ 080FDD61
.include "animations/gSpriteAnimations_322_14.s"
gUnk_080FDD92:: @ 080FDD92
.incbin "data_080FC8A4/gUnk_080FDD92.bin"
gSpriteAnimations_322_15:: @ 080FDD92
.include "animations/gSpriteAnimations_322_15.s"
gUnk_080FDD97:: @ 080FDD97
.incbin "data_080FC8A4/gUnk_080FDD97.bin"
gSpriteAnimations_322_5:: @ 080FDD97
.include "animations/gSpriteAnimations_322_5.s"
gUnk_080FDDA8:: @ 080FDDA8
.incbin "data_080FC8A4/gUnk_080FDDA8.bin"
gSpriteAnimations_322_17:: @ 080FDDA8
.include "animations/gSpriteAnimations_322_17.s"
gUnk_080FDDAD:: @ 080FDDAD
.incbin "data_080FC8A4/gUnk_080FDDAD.bin"
gSpriteAnimations_322_18:: @ 080FDDAD
.include "animations/gSpriteAnimations_322_18.s"
gUnk_080FDDB2:: @ 080FDDB2
.incbin "data_080FC8A4/gUnk_080FDDB2.bin"
gSpriteAnimations_322_19:: @ 080FDDB2
.include "animations/gSpriteAnimations_322_19.s"
gUnk_080FDDB7:: @ 080FDDB7
.incbin "data_080FC8A4/gUnk_080FDDB7.bin"
gSpriteAnimations_322_20:: @ 080FDDB7
.include "animations/gSpriteAnimations_322_20.s"
gUnk_080FDDBC:: @ 080FDDBC
.incbin "data_080FC8A4/gUnk_080FDDBC.bin"
gSpriteAnimations_322_21:: @ 080FDDBC
.include "animations/gSpriteAnimations_322_21.s"
gUnk_080FDDC1:: @ 080FDDC1
.incbin "data_080FC8A4/gUnk_080FDDC1.bin"
gSpriteAnimations_322_22:: @ 080FDDC1
.include "animations/gSpriteAnimations_322_22.s"
gUnk_080FDDC6:: @ 080FDDC6
.incbin "data_080FC8A4/gUnk_080FDDC6.bin"
gSpriteAnimations_322_23:: @ 080FDDC6
.include "animations/gSpriteAnimations_322_23.s"
gUnk_080FDDCB:: @ 080FDDCB
.incbin "data_080FC8A4/gUnk_080FDDCB.bin"
gSpriteAnimations_322_28:: @ 080FDDCB
.include "animations/gSpriteAnimations_322_28.s"
gUnk_080FDDD0:: @ 080FDDD0
.incbin "data_080FC8A4/gUnk_080FDDD0.bin"
gSpriteAnimations_322_38:: @ 080FDDD0
.include "animations/gSpriteAnimations_322_38.s"
gUnk_080FDDD5:: @ 080FDDD5
.incbin "data_080FC8A4/gUnk_080FDDD5.bin"
gSpriteAnimations_322_39:: @ 080FDDD5
.include "animations/gSpriteAnimations_322_39.s"
gUnk_080FDDDA:: @ 080FDDDA
.incbin "data_080FC8A4/gUnk_080FDDDA.bin"
gSpriteAnimations_322_34:: @ 080FDDDA
.include "animations/gSpriteAnimations_322_34.s"
gUnk_080FDDDF:: @ 080FDDDF
.incbin "data_080FC8A4/gUnk_080FDDDF.bin"
gSpriteAnimations_322_35:: @ 080FDDDF
.include "animations/gSpriteAnimations_322_35.s"
gUnk_080FDDE4:: @ 080FDDE4
.incbin "data_080FC8A4/gUnk_080FDDE4.bin"
gSpriteAnimations_322_40:: @ 080FDDE4
.include "animations/gSpriteAnimations_322_40.s"
gUnk_080FDDF5:: @ 080FDDF5
.incbin "data_080FC8A4/gUnk_080FDDF5.bin"
gSpriteAnimations_322_41:: @ 080FDDF5
.include "animations/gSpriteAnimations_322_41.s"
gUnk_080FDE0E:: @ 080FDE0E
.incbin "data_080FC8A4/gUnk_080FDE0E.bin"
gSpriteAnimations_322_42:: @ 080FDE0E
.include "animations/gSpriteAnimations_322_42.s"
gUnk_080FDE27:: @ 080FDE27
.incbin "data_080FC8A4/gUnk_080FDE27.bin"
gSpriteAnimations_322_43:: @ 080FDE27
.include "animations/gSpriteAnimations_322_43.s"
gUnk_080FDE40:: @ 080FDE40
.incbin "data_080FC8A4/gUnk_080FDE40.bin"
gSpriteAnimations_322_44:: @ 080FDE40
.include "animations/gSpriteAnimations_322_44.s"
gUnk_080FDE59:: @ 080FDE59
.incbin "data_080FC8A4/gUnk_080FDE59.bin"
gSpriteAnimations_322_45:: @ 080FDE59
.include "animations/gSpriteAnimations_322_45.s"
gUnk_080FDE72:: @ 080FDE72
.incbin "data_080FC8A4/gUnk_080FDE72.bin"
gSpriteAnimations_322_46:: @ 080FDE72
.include "animations/gSpriteAnimations_322_46.s"
gUnk_080FDE8B:: @ 080FDE8B
.incbin "data_080FC8A4/gUnk_080FDE8B.bin"
gSpriteAnimations_322_36:: @ 080FDE8B
.include "animations/gSpriteAnimations_322_36.s"
gUnk_080FDE90:: @ 080FDE90
.incbin "data_080FC8A4/gUnk_080FDE90.bin"
gSpriteAnimations_322_37:: @ 080FDE90
.include "animations/gSpriteAnimations_322_37.s"
gUnk_080FDE95:: @ 080FDE95
.incbin "data_080FC8A4/gUnk_080FDE95.bin"
gSpriteAnimations_322_54:: @ 080FDE95
.include "animations/gSpriteAnimations_322_54.s"
gUnk_080FDE9A:: @ 080FDE9A
.incbin "data_080FC8A4/gUnk_080FDE9A.bin"
gSpriteAnimations_322_33:: @ 080FDE9A
.include "animations/gSpriteAnimations_322_33.s"
gUnk_080FDE9F:: @ 080FDE9F
.incbin "data_080FC8A4/gUnk_080FDE9F.bin"
gSpriteAnimations_322_47:: @ 080FDE9F
.include "animations/gSpriteAnimations_322_47.s"
gUnk_080FDEA4:: @ 080FDEA4
.incbin "data_080FC8A4/gUnk_080FDEA4.bin"
gSpriteAnimations_322_48:: @ 080FDEA4
.include "animations/gSpriteAnimations_322_48.s"
gUnk_080FDEA9:: @ 080FDEA9
.incbin "data_080FC8A4/gUnk_080FDEA9.bin"
gSpriteAnimations_322_49:: @ 080FDEA9
.include "animations/gSpriteAnimations_322_49.s"
gUnk_080FDEAE:: @ 080FDEAE
.incbin "data_080FC8A4/gUnk_080FDEAE.bin"
gSpriteAnimations_322_52:: @ 080FDEAE
.include "animations/gSpriteAnimations_322_52.s"
gUnk_080FDEB3:: @ 080FDEB3
.incbin "data_080FC8A4/gUnk_080FDEB3.bin"
gSpriteAnimations_322_53:: @ 080FDEB3
.include "animations/gSpriteAnimations_322_53.s"
gUnk_080FDEB8:: @ 080FDEB8
.incbin "data_080FC8A4/gUnk_080FDEB8.bin"
gSpriteAnimations_322_24:: @ 080FDEB8
.include "animations/gSpriteAnimations_322_24.s"
gUnk_080FDEBD:: @ 080FDEBD
.incbin "data_080FC8A4/gUnk_080FDEBD.bin"
gSpriteAnimations_322_58:: @ 080FDEBD
.include "animations/gSpriteAnimations_322_58.s"
gUnk_080FDEC2:: @ 080FDEC2
.incbin "data_080FC8A4/gUnk_080FDEC2.bin"
gSpriteAnimations_322_59:: @ 080FDEC2
.include "animations/gSpriteAnimations_322_59.s"
gUnk_080FDEC7:: @ 080FDEC7
.incbin "data_080FC8A4/gUnk_080FDEC7.bin"
gSpriteAnimations_322_25:: @ 080FDEC7
.include "animations/gSpriteAnimations_322_25.s"
gUnk_080FDECC:: @ 080FDECC
.incbin "data_080FC8A4/gUnk_080FDECC.bin"
gSpriteAnimations_322_60:: @ 080FDECC
.include "animations/gSpriteAnimations_322_60.s"
gUnk_080FDED1:: @ 080FDED1
.incbin "data_080FC8A4/gUnk_080FDED1.bin"
gSpriteAnimations_322_55:: @ 080FDED1
.include "animations/gSpriteAnimations_322_55.s"
gUnk_080FDED6:: @ 080FDED6
.incbin "data_080FC8A4/gUnk_080FDED6.bin"
gSpriteAnimations_322_68:: @ 080FDED6
.include "animations/gSpriteAnimations_322_68.s"
gUnk_080FDEDB:: @ 080FDEDB
.incbin "data_080FC8A4/gUnk_080FDEDB.bin"
gSpriteAnimations_322_69:: @ 080FDEDB
.include "animations/gSpriteAnimations_322_69.s"
gUnk_080FDEE0:: @ 080FDEE0
.incbin "data_080FC8A4/gUnk_080FDEE0.bin"
gSpriteAnimations_322_26:: @ 080FDEE0
.include "animations/gSpriteAnimations_322_26.s"
gUnk_080FDEE5:: @ 080FDEE5
.incbin "data_080FC8A4/gUnk_080FDEE5.bin"
gSpriteAnimations_322_64:: @ 080FDEE5
.include "animations/gSpriteAnimations_322_64.s"
gUnk_080FDEEA:: @ 080FDEEA
.incbin "data_080FC8A4/gUnk_080FDEEA.bin"
gSpriteAnimations_322_65:: @ 080FDEEA
.include "animations/gSpriteAnimations_322_65.s"
gUnk_080FDEEF:: @ 080FDEEF
.incbin "data_080FC8A4/gUnk_080FDEEF.bin"
gSpriteAnimations_322_66:: @ 080FDEEF
.include "animations/gSpriteAnimations_322_66.s"
gUnk_080FDEF4:: @ 080FDEF4
.incbin "data_080FC8A4/gUnk_080FDEF4.bin"
gSpriteAnimations_322_67:: @ 080FDEF4
.include "animations/gSpriteAnimations_322_67.s"
gUnk_080FDEF9:: @ 080FDEF9
.incbin "data_080FC8A4/gUnk_080FDEF9.bin"
gSpriteAnimations_322_71:: @ 080FDEF9
.include "animations/gSpriteAnimations_322_71.s"
gUnk_080FDEFE:: @ 080FDEFE
.incbin "data_080FC8A4/gUnk_080FDEFE.bin"
gSpriteAnimations_322_81:: @ 080FDEFE
.include "animations/gSpriteAnimations_322_81.s"
gUnk_080FDF03:: @ 080FDF03
.incbin "data_080FC8A4/gUnk_080FDF03.bin"
gSpriteAnimations_322_82:: @ 080FDF03
.include "animations/gSpriteAnimations_322_82.s"
gUnk_080FDF08:: @ 080FDF08
.incbin "data_080FC8A4/gUnk_080FDF08.bin"
gSpriteAnimations_322_83:: @ 080FDF08
.include "animations/gSpriteAnimations_322_83.s"
gUnk_080FDF0D:: @ 080FDF0D
.incbin "data_080FC8A4/gUnk_080FDF0D.bin"
gSpriteAnimations_322_84:: @ 080FDF0D
.include "animations/gSpriteAnimations_322_84.s"
gUnk_080FDF12:: @ 080FDF12
.incbin "data_080FC8A4/gUnk_080FDF12.bin"
gSpriteAnimations_322_95:: @ 080FDF12
.include "animations/gSpriteAnimations_322_95.s"
gUnk_080FDF17:: @ 080FDF17
.incbin "data_080FC8A4/gUnk_080FDF17.bin"
gSpriteAnimations_322_96:: @ 080FDF17
.include "animations/gSpriteAnimations_322_96.s"
gUnk_080FDF28:: @ 080FDF28
.incbin "data_080FC8A4/gUnk_080FDF28.bin"
gSpriteAnimations_322_98:: @ 080FDF28
.include "animations/gSpriteAnimations_322_98.s"
gUnk_080FDF45:: @ 080FDF45
.incbin "data_080FC8A4/gUnk_080FDF45.bin"
gSpriteAnimations_322_99:: @ 080FDF45
.include "animations/gSpriteAnimations_322_99.s"
gUnk_080FDF4A:: @ 080FDF4A
.incbin "data_080FC8A4/gUnk_080FDF4A.bin"
gSpriteAnimations_322_87:: @ 080FDF4A
.include "animations/gSpriteAnimations_322_87.s"
gUnk_080FDF4F:: @ 080FDF4F
.incbin "data_080FC8A4/gUnk_080FDF4F.bin"
gSpriteAnimations_322_104:: @ 080FDF4F
.include "animations/gSpriteAnimations_322_104.s"
gUnk_080FDF54:: @ 080FDF54
.incbin "data_080FC8A4/gUnk_080FDF54.bin"
gSpriteAnimations_322_105:: @ 080FDF54
.include "animations/gSpriteAnimations_322_105.s"
gUnk_080FDF59:: @ 080FDF59
.incbin "data_080FC8A4/gUnk_080FDF59.bin"
gSpriteAnimations_322_106:: @ 080FDF59
.include "animations/gSpriteAnimations_322_106.s"
gUnk_080FDF5E:: @ 080FDF5E
.incbin "data_080FC8A4/gUnk_080FDF5E.bin"
gSpriteAnimations_322_107:: @ 080FDF5E
.include "animations/gSpriteAnimations_322_107.s"
gUnk_080FDF63:: @ 080FDF63
.incbin "data_080FC8A4/gUnk_080FDF63.bin"
gSpriteAnimations_322_93:: @ 080FDF63
.include "animations/gSpriteAnimations_322_93.s"
gUnk_080FDF68:: @ 080FDF68
.incbin "data_080FC8A4/gUnk_080FDF68.bin"
gSpriteAnimations_322_94:: @ 080FDF68
.include "animations/gSpriteAnimations_322_94.s"
gUnk_080FDF6D:: @ 080FDF6D
.incbin "data_080FC8A4/gUnk_080FDF6D.bin"
gUnk_080FDF72:: @ 080FDF72
.incbin "data_080FC8A4/gUnk_080FDF72.bin"
gUnk_080FDF77:: @ 080FDF77
.incbin "data_080FC8A4/gUnk_080FDF77.bin"
gUnk_080FDF7C:: @ 080FDF7C
.incbin "data_080FC8A4/gUnk_080FDF7C.bin"
gUnk_080FDF81:: @ 080FDF81
.incbin "data_080FC8A4/gUnk_080FDF81.bin"
gUnk_080FDF86:: @ 080FDF86
.incbin "data_080FC8A4/gUnk_080FDF86.bin"
gUnk_080FDF8F:: @ 080FDF8F
.incbin "data_080FC8A4/gUnk_080FDF8F.bin"
gUnk_080FDF94:: @ 080FDF94
.incbin "data_080FC8A4/gUnk_080FDF94.bin"
gUnk_080FDF99:: @ 080FDF99
.incbin "data_080FC8A4/gUnk_080FDF99.bin"
gUnk_080FDF9E:: @ 080FDF9E
.incbin "data_080FC8A4/gUnk_080FDF9E.bin"
gUnk_080FDFA3:: @ 080FDFA3
.incbin "data_080FC8A4/gUnk_080FDFA3.bin"
gUnk_080FDFA8:: @ 080FDFA8
.incbin "data_080FC8A4/gUnk_080FDFA8.bin"
gUnk_080FDFC1:: @ 080FDFC1
.incbin "data_080FC8A4/gUnk_080FDFC1.bin"
gUnk_080FDFC6:: @ 080FDFC6
.incbin "data_080FC8A4/gUnk_080FDFC6.bin"
gUnk_080FDFCB:: @ 080FDFCB
.incbin "data_080FC8A4/gUnk_080FDFCB.bin"
gUnk_080FDFD0:: @ 080FDFD0
.incbin "data_080FC8A4/gUnk_080FDFD0.bin"
gSpriteAnimation_322:: @ 080FDFD8
.4byte gUnk_080FDD14
.4byte gUnk_080FDD19
.4byte gUnk_080FDD1E
.4byte gUnk_080FDD23
.4byte gUnk_080FDD28
.4byte gUnk_080FDD97
.4byte gUnk_080FDD2D
.4byte gUnk_080FDD32
.4byte gUnk_080FDD37
.4byte gUnk_080FDD48
.4byte gUnk_080FDD4D
.4byte gUnk_080FDD52
.4byte gUnk_080FDD57
.4byte gUnk_080FDD5C
.4byte gUnk_080FDD61
.4byte gUnk_080FDD92
.4byte gUnk_080FDD97
.4byte gUnk_080FDDA8
.4byte gUnk_080FDDAD
.4byte gUnk_080FDDB2
.4byte gUnk_080FDDB7
.4byte gUnk_080FDDBC
.4byte gUnk_080FDDC1
.4byte gUnk_080FDDC6
.4byte gUnk_080FDEB8
.4byte gUnk_080FDEC7
.4byte gUnk_080FDEE0
.4byte gUnk_080FDD97
.4byte gUnk_080FDDCB
.4byte gUnk_080FDDCB
.4byte gUnk_080FDDCB
.4byte gUnk_080FDDCB
.4byte gUnk_080FDDCB
.4byte gUnk_080FDE9A
.4byte gUnk_080FDDDA
.4byte gUnk_080FDDDF
.4byte gUnk_080FDE8B
.4byte gUnk_080FDE90
.4byte gUnk_080FDDD0
.4byte gUnk_080FDDD5
.4byte gUnk_080FDDE4
.4byte gUnk_080FDDF5
.4byte gUnk_080FDE0E
.4byte gUnk_080FDE27
.4byte gUnk_080FDE40
.4byte gUnk_080FDE59
.4byte gUnk_080FDE72
.4byte gUnk_080FDE9F
.4byte gUnk_080FDEA4
.4byte gUnk_080FDEA9
.4byte gUnk_080FDD97
.4byte gUnk_080FDD97
.4byte gUnk_080FDEAE
.4byte gUnk_080FDEB3
.4byte gUnk_080FDE95
.4byte gUnk_080FDED1
.4byte gUnk_080FDEC7
.4byte gUnk_080FDEB8
.4byte gUnk_080FDEBD
.4byte gUnk_080FDEC2
.4byte gUnk_080FDECC
.4byte gUnk_080FDFCB
.4byte gUnk_080FDFD0
.4byte gUnk_080FDF6D
.4byte gUnk_080FDEE5
.4byte gUnk_080FDEEA
.4byte gUnk_080FDEEF
.4byte gUnk_080FDEF4
.4byte gUnk_080FDED6
.4byte gUnk_080FDEDB
.4byte gUnk_080FDEE0
.4byte gUnk_080FDEF9
.4byte gUnk_080FDFC1
.4byte gUnk_080FDFC1
.4byte gUnk_080FDFC1
.4byte gUnk_080FDFC1
.4byte gUnk_080FDFC1
.4byte gUnk_080FDFC1
.4byte gUnk_080FDFC1
.4byte gUnk_080FDFC1
.4byte gUnk_080FDEF9
.4byte gUnk_080FDEFE
.4byte gUnk_080FDF03
.4byte gUnk_080FDF08
.4byte gUnk_080FDF0D
.4byte gUnk_080FDF0D
.4byte gUnk_080FDF0D
.4byte gUnk_080FDF4A
.4byte gUnk_080FDF4A
.4byte gUnk_080FDF4A
.4byte gUnk_080FDD97
.4byte gUnk_080FDF86
.4byte gUnk_080FDF8F
.4byte gUnk_080FDF63
.4byte gUnk_080FDF68
.4byte gUnk_080FDF12
.4byte gUnk_080FDF17
.4byte gUnk_080FDFC6
.4byte gUnk_080FDF28
.4byte gUnk_080FDF45
.4byte gUnk_080FDF72
.4byte gUnk_080FDF77
.4byte gUnk_080FDF7C
.4byte gUnk_080FDF81
.4byte gUnk_080FDF4F
.4byte gUnk_080FDF54
.4byte gUnk_080FDF59
.4byte gUnk_080FDF5E
.4byte gUnk_080FDF94
.4byte gUnk_080FDF99
.4byte gUnk_080FDF9E
.4byte gUnk_080FDFA3
.4byte gUnk_080FDFA8
.4byte gUnk_080FDFA8
.4byte gUnk_080FDFA8
.4byte gUnk_080FDD14
.4byte gUnk_080FDD14
.4byte gUnk_080FDD14
gSpriteAnimations_322_63:: @ 080FDF6D
.include "animations/gSpriteAnimations_322_63.s"
gSpriteAnimations_322_100:: @ 080FDF72
.include "animations/gSpriteAnimations_322_100.s"
gSpriteAnimations_322_101:: @ 080FDF77
.include "animations/gSpriteAnimations_322_101.s"
gSpriteAnimations_322_102:: @ 080FDF7C
.include "animations/gSpriteAnimations_322_102.s"
gSpriteAnimations_322_103:: @ 080FDF81
.include "animations/gSpriteAnimations_322_103.s"
gSpriteAnimations_322_91:: @ 080FDF86
.include "animations/gSpriteAnimations_322_91.s"
gSpriteAnimations_322_92:: @ 080FDF8F
.include "animations/gSpriteAnimations_322_92.s"
gSpriteAnimations_322_108:: @ 080FDF94
.include "animations/gSpriteAnimations_322_108.s"
gSpriteAnimations_322_109:: @ 080FDF99
.include "animations/gSpriteAnimations_322_109.s"
gSpriteAnimations_322_110:: @ 080FDF9E
.include "animations/gSpriteAnimations_322_110.s"
gSpriteAnimations_322_111:: @ 080FDFA3
.include "animations/gSpriteAnimations_322_111.s"
gSpriteAnimations_322_112:: @ 080FDFA8
.include "animations/gSpriteAnimations_322_112.s"
gSpriteAnimations_322_72:: @ 080FDFC1
.include "animations/gSpriteAnimations_322_72.s"
gSpriteAnimations_322_97:: @ 080FDFC6
.include "animations/gSpriteAnimations_322_97.s"
gSpriteAnimations_322_61:: @ 080FDFCB
.include "animations/gSpriteAnimations_322_61.s"
gSpriteAnimations_322_62:: @ 080FDFD0
.include "animations/gSpriteAnimations_322_62.s"
gSpriteAnimations_322:: @ 080FDFD8
.4byte gSpriteAnimations_322_0
.4byte gSpriteAnimations_322_1
.4byte gSpriteAnimations_322_2
.4byte gSpriteAnimations_322_3
.4byte gSpriteAnimations_322_4
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_6
.4byte gSpriteAnimations_322_7
.4byte gSpriteAnimations_322_8
.4byte gSpriteAnimations_322_9
.4byte gSpriteAnimations_322_10
.4byte gSpriteAnimations_322_11
.4byte gSpriteAnimations_322_12
.4byte gSpriteAnimations_322_13
.4byte gSpriteAnimations_322_14
.4byte gSpriteAnimations_322_15
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_17
.4byte gSpriteAnimations_322_18
.4byte gSpriteAnimations_322_19
.4byte gSpriteAnimations_322_20
.4byte gSpriteAnimations_322_21
.4byte gSpriteAnimations_322_22
.4byte gSpriteAnimations_322_23
.4byte gSpriteAnimations_322_24
.4byte gSpriteAnimations_322_25
.4byte gSpriteAnimations_322_26
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_33
.4byte gSpriteAnimations_322_34
.4byte gSpriteAnimations_322_35
.4byte gSpriteAnimations_322_36
.4byte gSpriteAnimations_322_37
.4byte gSpriteAnimations_322_38
.4byte gSpriteAnimations_322_39
.4byte gSpriteAnimations_322_40
.4byte gSpriteAnimations_322_41
.4byte gSpriteAnimations_322_42
.4byte gSpriteAnimations_322_43
.4byte gSpriteAnimations_322_44
.4byte gSpriteAnimations_322_45
.4byte gSpriteAnimations_322_46
.4byte gSpriteAnimations_322_47
.4byte gSpriteAnimations_322_48
.4byte gSpriteAnimations_322_49
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_52
.4byte gSpriteAnimations_322_53
.4byte gSpriteAnimations_322_54
.4byte gSpriteAnimations_322_55
.4byte gSpriteAnimations_322_25
.4byte gSpriteAnimations_322_24
.4byte gSpriteAnimations_322_58
.4byte gSpriteAnimations_322_59
.4byte gSpriteAnimations_322_60
.4byte gSpriteAnimations_322_61
.4byte gSpriteAnimations_322_62
.4byte gSpriteAnimations_322_63
.4byte gSpriteAnimations_322_64
.4byte gSpriteAnimations_322_65
.4byte gSpriteAnimations_322_66
.4byte gSpriteAnimations_322_67
.4byte gSpriteAnimations_322_68
.4byte gSpriteAnimations_322_69
.4byte gSpriteAnimations_322_26
.4byte gSpriteAnimations_322_71
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_71
.4byte gSpriteAnimations_322_81
.4byte gSpriteAnimations_322_82
.4byte gSpriteAnimations_322_83
.4byte gSpriteAnimations_322_84
.4byte gSpriteAnimations_322_84
.4byte gSpriteAnimations_322_84
.4byte gSpriteAnimations_322_87
.4byte gSpriteAnimations_322_87
.4byte gSpriteAnimations_322_87
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_91
.4byte gSpriteAnimations_322_92
.4byte gSpriteAnimations_322_93
.4byte gSpriteAnimations_322_94
.4byte gSpriteAnimations_322_95
.4byte gSpriteAnimations_322_96
.4byte gSpriteAnimations_322_97
.4byte gSpriteAnimations_322_98
.4byte gSpriteAnimations_322_99
.4byte gSpriteAnimations_322_100
.4byte gSpriteAnimations_322_101
.4byte gSpriteAnimations_322_102
.4byte gSpriteAnimations_322_103
.4byte gSpriteAnimations_322_104
.4byte gSpriteAnimations_322_105
.4byte gSpriteAnimations_322_106
.4byte gSpriteAnimations_322_107
.4byte gSpriteAnimations_322_108
.4byte gSpriteAnimations_322_109
.4byte gSpriteAnimations_322_110
.4byte gSpriteAnimations_322_111
.4byte gSpriteAnimations_322_112
.4byte gSpriteAnimations_322_112
.4byte gSpriteAnimations_322_112
.4byte gSpriteAnimations_322_0
.4byte gSpriteAnimations_322_0
.4byte gSpriteAnimations_322_0
.4byte 00000000
gUnk_080FE1B4:: @ 080FE1B4

View File

@ -4,9 +4,6 @@
.section .rodata
.align 2
gFixedTypeGfxData:: @ 08132B30
.include "sprites/gFixedTypeGfxData.s"
gUnk_08133368:: @ 08133368
.ifdef EU

File diff suppressed because it is too large Load Diff

539
data/gfx/fixed_type_gfx.s Normal file
View File

@ -0,0 +1,539 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gFixedTypeGfxData:: @ 08132B30
fixed_gfx src=gPalette_0 @ 0
fixed_gfx src=fixedTypeGfx_1, size=0x600 @ 1
fixed_gfx src=fixedTypeGfx_2, size=0x400 @ 2
fixed_gfx src=fixedTypeGfx_3, size=0x800 @ 3
fixed_gfx src=fixedTypeGfx_4, size=0x400 @ 4
fixed_gfx src=fixedTypeGfx_5, size=0x400 @ 5
fixed_gfx src=fixedTypeGfx_6, size=0xc00 @ 6
fixed_gfx src=fixedTypeGfx_7, size=0x200 @ 7
fixed_gfx src=fixedTypeGfx_8, size=0xc00 @ 8
fixed_gfx src=fixedTypeGfx_9, size=0x400 @ 9
fixed_gfx src=fixedTypeGfx_10, size=0x400 @ 10
fixed_gfx src=fixedTypeGfx_11, size=0x200 @ 11
fixed_gfx src=fixedTypeGfx_12, size=0x200 @ 12
fixed_gfx src=fixedTypeGfx_13, size=0x800 @ 13
fixed_gfx src=fixedTypeGfx_14, size=0x600 @ 14
fixed_gfx src=fixedTypeGfx_15, size=0x600 @ 15
fixed_gfx src=fixedTypeGfx_16, size=0x400 @ 16
fixed_gfx src=fixedTypeGfx_17, size=0xc00 @ 17
fixed_gfx src=fixedTypeGfx_18, size=0x400 @ 18
fixed_gfx src=fixedTypeGfx_19, size=0x200 @ 19
fixed_gfx src=fixedTypeGfx_20, size=0x600 @ 20
fixed_gfx src=fixedTypeGfx_21, size=0x400 @ 21
fixed_gfx src=fixedTypeGfx_22, size=0x600 @ 22
fixed_gfx src=fixedTypeGfx_23, size=0x1600 @ 23
fixed_gfx src=fixedTypeGfx_24, size=0x200 @ 24
fixed_gfx src=fixedTypeGfx_25, size=0x400 @ 25
fixed_gfx src=fixedTypeGfx_26, size=0x400 @ 26
fixed_gfx src=fixedTypeGfx_27, size=0x2c00 @ 27
fixed_gfx src=fixedTypeGfx_28, size=0x400 @ 28
fixed_gfx src=fixedTypeGfx_29, size=0x200 @ 29
fixed_gfx src=fixedTypeGfx_30, size=0x400 @ 30
fixed_gfx src=fixedTypeGfx_31, size=0xc00 @ 31
fixed_gfx src=fixedTypeGfx_32, size=0x800 @ 32
fixed_gfx src=fixedTypeGfx_33, size=0x400 @ 33
fixed_gfx src=fixedTypeGfx_34, size=0x600 @ 34
fixed_gfx src=fixedTypeGfx_35, size=0x1000 @ 35
fixed_gfx src=fixedTypeGfx_36, size=0x1400 @ 36
fixed_gfx src=fixedTypeGfx_37, size=0x400 @ 37
fixed_gfx src=fixedTypeGfx_38, size=0x800 @ 38
fixed_gfx src=fixedTypeGfx_39, size=0x600 @ 39
fixed_gfx src=fixedTypeGfx_40, size=0x600 @ 40
fixed_gfx src=fixedTypeGfx_41, size=0x400 @ 41
fixed_gfx src=fixedTypeGfx_42, size=0x400 @ 42
fixed_gfx src=fixedTypeGfx_43, size=0x200 @ 43
fixed_gfx src=fixedTypeGfx_44, size=0x200 @ 44
fixed_gfx src=fixedTypeGfx_45, size=0x200 @ 45
fixed_gfx src=fixedTypeGfx_46, size=0x200 @ 46
fixed_gfx src=fixedTypeGfx_47, size=0x200 @ 47
fixed_gfx src=fixedTypeGfx_48, size=0x200 @ 48
fixed_gfx src=fixedTypeGfx_49, size=0x200 @ 49
fixed_gfx src=fixedTypeGfx_50, size=0x200 @ 50
fixed_gfx src=fixedTypeGfx_51, size=0x200 @ 51
fixed_gfx src=fixedTypeGfx_52, size=0x600 @ 52
fixed_gfx src=fixedTypeGfx_53, size=0x400 @ 53
fixed_gfx src=fixedTypeGfx_54, size=0x400 @ 54
fixed_gfx src=fixedTypeGfx_55, size=0x400 @ 55
fixed_gfx src=fixedTypeGfx_56, size=0x1200 @ 56
fixed_gfx src=fixedTypeGfx_57, size=0x400 @ 57
fixed_gfx src=fixedTypeGfx_58, size=0x600 @ 58
fixed_gfx src=fixedTypeGfx_59, size=0xa00 @ 59
fixed_gfx src=fixedTypeGfx_60, size=0x400 @ 60
fixed_gfx src=fixedTypeGfx_61, size=0xc00 @ 61
fixed_gfx src=fixedTypeGfx_62, size=0x1000 @ 62
fixed_gfx src=fixedTypeGfx_63, size=0x1600 @ 63
fixed_gfx src=fixedTypeGfx_64, size=0x400 @ 64
fixed_gfx src=fixedTypeGfx_65, size=0x400 @ 65
fixed_gfx src=fixedTypeGfx_66, size=0xa00 @ 66
fixed_gfx src=fixedTypeGfx_67, size=0x200 @ 67
fixed_gfx src=fixedTypeGfx_68, size=0x800 @ 68
fixed_gfx src=fixedTypeGfx_69, size=0x400 @ 69
fixed_gfx src=fixedTypeGfx_70, size=0x1000 @ 70
fixed_gfx src=fixedTypeGfx_71, size=0x1000 @ 71
fixed_gfx src=fixedTypeGfx_72, size=0x1000 @ 72
fixed_gfx src=fixedTypeGfx_73, size=0x200 @ 73
fixed_gfx src=fixedTypeGfx_74, size=0x200 @ 74
fixed_gfx src=fixedTypeGfx_75, size=0x200 @ 75
fixed_gfx src=fixedTypeGfx_76, size=0x200 @ 76
fixed_gfx src=fixedTypeGfx_77, size=0x200 @ 77
fixed_gfx src=fixedTypeGfx_78, size=0x200 @ 78
fixed_gfx src=fixedTypeGfx_79, size=0x200 @ 79
fixed_gfx src=fixedTypeGfx_80, size=0x200 @ 80
fixed_gfx src=fixedTypeGfx_81, size=0x200 @ 81
fixed_gfx src=fixedTypeGfx_82, size=0x400 @ 82
fixed_gfx src=fixedTypeGfx_83, size=0x400 @ 83
fixed_gfx src=fixedTypeGfx_84, size=0x400 @ 84
fixed_gfx src=fixedTypeGfx_85, size=0x400 @ 85
fixed_gfx src=fixedTypeGfx_86, size=0x400 @ 86
fixed_gfx src=fixedTypeGfx_87, size=0x400 @ 87
fixed_gfx src=fixedTypeGfx_88, size=0x400 @ 88
fixed_gfx src=fixedTypeGfx_89, size=0x400 @ 89
fixed_gfx src=fixedTypeGfx_90, size=0x400 @ 90
fixed_gfx src=fixedTypeGfx_91, size=0x200 @ 91
fixed_gfx src=fixedTypeGfx_92, size=0x600 @ 92
fixed_gfx src=fixedTypeGfx_93, size=0x200 @ 93
fixed_gfx src=fixedTypeGfx_94, size=0x200 @ 94
fixed_gfx src=fixedTypeGfx_95, size=0x200 @ 95
fixed_gfx src=fixedTypeGfx_96, size=0x200 @ 96
fixed_gfx src=fixedTypeGfx_97, size=0x400 @ 97
fixed_gfx src=fixedTypeGfx_98, size=0x200 @ 98
fixed_gfx src=fixedTypeGfx_99, size=0x200 @ 99
fixed_gfx src=fixedTypeGfx_100, size=0x200 @ 100
fixed_gfx src=fixedTypeGfx_101, size=0x200 @ 101
fixed_gfx src=fixedTypeGfx_102, size=0x200 @ 102
fixed_gfx src=fixedTypeGfx_103, size=0x200 @ 103
fixed_gfx src=fixedTypeGfx_104, size=0x200 @ 104
fixed_gfx src=fixedTypeGfx_105, size=0x200 @ 105
fixed_gfx src=fixedTypeGfx_106, size=0x200 @ 106
fixed_gfx src=fixedTypeGfx_107, size=0x200 @ 107
fixed_gfx src=fixedTypeGfx_108, size=0x200 @ 108
fixed_gfx src=fixedTypeGfx_109, size=0x200 @ 109
fixed_gfx src=fixedTypeGfx_110, size=0x200 @ 110
fixed_gfx src=fixedTypeGfx_111, size=0x200 @ 111
fixed_gfx src=fixedTypeGfx_112, size=0x200 @ 112
fixed_gfx src=fixedTypeGfx_113, size=0x200 @ 113
fixed_gfx src=fixedTypeGfx_114, size=0xc00 @ 114
fixed_gfx src=fixedTypeGfx_115, size=0x800 @ 115
fixed_gfx src=fixedTypeGfx_116, size=0x1200 @ 116
fixed_gfx src=fixedTypeGfx_117, size=0x800 @ 117
fixed_gfx src=fixedTypeGfx_118, size=0x400 @ 118
fixed_gfx src=fixedTypeGfx_119, size=0x200 @ 119
fixed_gfx src=fixedTypeGfx_120, size=0x200 @ 120
fixed_gfx src=fixedTypeGfx_121, size=0x400 @ 121
fixed_gfx src=fixedTypeGfx_122, size=0x600 @ 122
fixed_gfx src=fixedTypeGfx_123, size=0xa00 @ 123
fixed_gfx src=fixedTypeGfx_124, size=0x800 @ 124
fixed_gfx src=fixedTypeGfx_125, size=0xa00 @ 125
fixed_gfx src=fixedTypeGfx_126, size=0x600 @ 126
fixed_gfx src=fixedTypeGfx_127, size=0x200 @ 127
fixed_gfx src=fixedTypeGfx_128, size=0x200 @ 128
fixed_gfx src=fixedTypeGfx_129, size=0x200 @ 129
fixed_gfx src=fixedTypeGfx_130, size=0x600 @ 130
fixed_gfx src=fixedTypeGfx_131, size=0x200 @ 131
fixed_gfx src=fixedTypeGfx_132, size=0x2400 @ 132
fixed_gfx src=fixedTypeGfx_133, size=0x600 @ 133
fixed_gfx src=fixedTypeGfx_134, size=0x1200 @ 134
fixed_gfx src=fixedTypeGfx_135, size=0xc00 @ 135
fixed_gfx src=fixedTypeGfx_136, size=0x200 @ 136
fixed_gfx src=fixedTypeGfx_137, size=0x200 @ 137
fixed_gfx src=fixedTypeGfx_138, size=0x400 @ 138
fixed_gfx src=fixedTypeGfx_139, size=0xc00 @ 139
fixed_gfx src=fixedTypeGfx_140, size=0x400 @ 140
fixed_gfx src=fixedTypeGfx_141, size=0x200 @ 141
fixed_gfx src=fixedTypeGfx_142, size=0x800 @ 142
fixed_gfx src=fixedTypeGfx_143, size=0x400 @ 143
fixed_gfx src=fixedTypeGfx_144, size=0xa00 @ 144
fixed_gfx src=fixedTypeGfx_145, size=0x200 @ 145
fixed_gfx src=fixedTypeGfx_146, size=0x800 @ 146
fixed_gfx src=fixedTypeGfx_147, size=0x200 @ 147
fixed_gfx src=fixedTypeGfx_148, size=0x200 @ 148
fixed_gfx src=fixedTypeGfx_149, size=0x1400 @ 149
fixed_gfx src=fixedTypeGfx_150, size=0x200 @ 150
fixed_gfx src=fixedTypeGfx_151, size=0xa00 @ 151
fixed_gfx src=fixedTypeGfx_152, size=0x600 @ 152
fixed_gfx src=fixedTypeGfx_153, size=0x200 @ 153
fixed_gfx src=fixedTypeGfx_154, size=0x200 @ 154
fixed_gfx src=fixedTypeGfx_155, size=0x200 @ 155
fixed_gfx src=fixedTypeGfx_156, size=0x1600 @ 156
fixed_gfx src=fixedTypeGfx_157, size=0x400 @ 157
fixed_gfx src=fixedTypeGfx_158, size=0x400 @ 158
fixed_gfx src=fixedTypeGfx_159, size=0x400 @ 159
fixed_gfx src=fixedTypeGfx_160, size=0x200 @ 160
fixed_gfx src=fixedTypeGfx_161, size=0x200 @ 161
fixed_gfx src=fixedTypeGfx_162, size=0x400 @ 162
fixed_gfx src=fixedTypeGfx_163, size=0x400 @ 163
fixed_gfx src=fixedTypeGfx_164, size=0x200 @ 164
fixed_gfx src=fixedTypeGfx_165, size=0x200 @ 165
fixed_gfx src=fixedTypeGfx_166, size=0x200 @ 166
fixed_gfx src=fixedTypeGfx_167, size=0x600 @ 167
fixed_gfx src=fixedTypeGfx_168, size=0x200 @ 168
fixed_gfx src=fixedTypeGfx_169, size=0x400 @ 169
fixed_gfx src=fixedTypeGfx_170, size=0x200 @ 170
fixed_gfx src=fixedTypeGfx_171, size=0x400 @ 171
fixed_gfx src=fixedTypeGfx_172, size=0x400 @ 172
fixed_gfx src=fixedTypeGfx_173, size=0x3200 @ 173
fixed_gfx src=fixedTypeGfx_174, size=0x800 @ 174
fixed_gfx src=fixedTypeGfx_175, size=0x600 @ 175
fixed_gfx src=fixedTypeGfx_176, size=0x200 @ 176
fixed_gfx src=fixedTypeGfx_177, size=0x200 @ 177
fixed_gfx src=fixedTypeGfx_178, size=0x400 @ 178
fixed_gfx src=fixedTypeGfx_179, size=0x200 @ 179
fixed_gfx src=fixedTypeGfx_180, size=0xc00 @ 180
fixed_gfx src=fixedTypeGfx_181, size=0x200 @ 181
fixed_gfx src=fixedTypeGfx_182, size=0x200 @ 182
fixed_gfx src=fixedTypeGfx_183, size=0x400 @ 183
fixed_gfx src=fixedTypeGfx_184, size=0x400 @ 184
fixed_gfx src=fixedTypeGfx_185, size=0x400 @ 185
fixed_gfx src=fixedTypeGfx_186, size=0x200 @ 186
fixed_gfx src=fixedTypeGfx_187, size=0x200 @ 187
fixed_gfx src=fixedTypeGfx_188, size=0x200 @ 188
fixed_gfx src=fixedTypeGfx_189, size=0x200 @ 189
fixed_gfx src=fixedTypeGfx_190, size=0x200 @ 190
fixed_gfx src=fixedTypeGfx_191, size=0x200 @ 191
fixed_gfx src=fixedTypeGfx_192, size=0x200 @ 192
fixed_gfx src=fixedTypeGfx_193, size=0x200 @ 193
fixed_gfx src=fixedTypeGfx_194, size=0x400 @ 194
fixed_gfx src=fixedTypeGfx_195, size=0x800 @ 195
fixed_gfx src=fixedTypeGfx_196, size=0x3000 @ 196
fixed_gfx src=fixedTypeGfx_197, size=0x3000 @ 197
fixed_gfx src=fixedTypeGfx_198, size=0x3000 @ 198
fixed_gfx src=fixedTypeGfx_199, size=0x200 @ 199
fixed_gfx src=fixedTypeGfx_200, size=0xa00 @ 200
fixed_gfx src=fixedTypeGfx_201, size=0x400 @ 201
fixed_gfx src=fixedTypeGfx_202, size=0x400 @ 202
fixed_gfx src=fixedTypeGfx_203, size=0x200 @ 203
fixed_gfx src=fixedTypeGfx_204, size=0x400 @ 204
fixed_gfx src=fixedTypeGfx_205, size=0x600 @ 205
fixed_gfx src=fixedTypeGfx_206, size=0x800 @ 206
fixed_gfx src=fixedTypeGfx_207, size=0x200 @ 207
fixed_gfx src=fixedTypeGfx_208, size=0x800 @ 208
fixed_gfx src=fixedTypeGfx_209, size=0x2200 @ 209
fixed_gfx src=fixedTypeGfx_210, size=0x2200 @ 210
fixed_gfx src=fixedTypeGfx_211, size=0x2200 @ 211
fixed_gfx src=fixedTypeGfx_212, size=0x3000 @ 212
fixed_gfx src=fixedTypeGfx_213, size=0x200 @ 213
fixed_gfx src=fixedTypeGfx_214, size=0x400, compressed=1 @ 214
fixed_gfx src=fixedTypeGfx_215, size=0x600 @ 215
fixed_gfx src=fixedTypeGfx_216, size=0x800 @ 216
fixed_gfx src=fixedTypeGfx_217, size=0xa00 @ 217
fixed_gfx src=fixedTypeGfx_218, size=0x200 @ 218
fixed_gfx src=fixedTypeGfx_219, size=0x400 @ 219
fixed_gfx src=fixedTypeGfx_220, size=0x200 @ 220
fixed_gfx src=fixedTypeGfx_221, size=0x200 @ 221
fixed_gfx src=fixedTypeGfx_222, size=0xa00 @ 222
fixed_gfx src=fixedTypeGfx_223, size=0x8000 @ 223
fixed_gfx src=fixedTypeGfx_224, size=0x800 @ 224
fixed_gfx src=fixedTypeGfx_225, size=0xc00 @ 225
fixed_gfx src=fixedTypeGfx_226, size=0xa00 @ 226
fixed_gfx src=fixedTypeGfx_227, size=0x200 @ 227
fixed_gfx src=fixedTypeGfx_228, size=0xe00 @ 228
fixed_gfx src=fixedTypeGfx_229, size=0x2000 @ 229
fixed_gfx src=fixedTypeGfx_230, size=0xc00 @ 230
fixed_gfx src=fixedTypeGfx_231, size=0x1000 @ 231
fixed_gfx src=fixedTypeGfx_232, size=0xa00 @ 232
fixed_gfx src=fixedTypeGfx_233, size=0x200 @ 233
fixed_gfx src=fixedTypeGfx_234, size=0x200 @ 234
fixed_gfx src=fixedTypeGfx_235, size=0x2000 @ 235
fixed_gfx src=fixedTypeGfx_236, size=0x400 @ 236
fixed_gfx src=fixedTypeGfx_237, size=0x800 @ 237
fixed_gfx src=fixedTypeGfx_238, size=0x200 @ 238
fixed_gfx src=fixedTypeGfx_239, size=0x400 @ 239
fixed_gfx src=fixedTypeGfx_240, size=0xa00 @ 240
fixed_gfx src=fixedTypeGfx_241, size=0xe00 @ 241
fixed_gfx src=fixedTypeGfx_242, size=0x400 @ 242
fixed_gfx src=fixedTypeGfx_243, size=0x200 @ 243
fixed_gfx src=fixedTypeGfx_244, size=0x200 @ 244
fixed_gfx src=fixedTypeGfx_245, size=0x200 @ 245
fixed_gfx src=fixedTypeGfx_246, size=0x200 @ 246
fixed_gfx src=fixedTypeGfx_247, size=0x400 @ 247
fixed_gfx src=fixedTypeGfx_248, size=0x400 @ 248
fixed_gfx src=fixedTypeGfx_249, size=0x400 @ 249
fixed_gfx src=fixedTypeGfx_250, size=0x400 @ 250
fixed_gfx src=fixedTypeGfx_251, size=0x400 @ 251
fixed_gfx src=fixedTypeGfx_252, size=0x200 @ 252
fixed_gfx src=fixedTypeGfx_253, size=0x200 @ 253
fixed_gfx src=fixedTypeGfx_254, size=0x600 @ 254
fixed_gfx src=fixedTypeGfx_255, size=0x400 @ 255
fixed_gfx src=fixedTypeGfx_256, size=0x2400 @ 256
fixed_gfx src=fixedTypeGfx_257, size=0x800 @ 257
fixed_gfx src=fixedTypeGfx_258, size=0x400 @ 258
fixed_gfx src=fixedTypeGfx_259, size=0x200 @ 259
fixed_gfx src=fixedTypeGfx_260, size=0x200 @ 260
fixed_gfx src=fixedTypeGfx_261, size=0x1400 @ 261
fixed_gfx src=fixedTypeGfx_262, size=0x600 @ 262
fixed_gfx src=fixedTypeGfx_263, size=0x200 @ 263
fixed_gfx src=fixedTypeGfx_264, size=0x800 @ 264
fixed_gfx src=fixedTypeGfx_265, size=0x800 @ 265
fixed_gfx src=fixedTypeGfx_266, size=0x800 @ 266
fixed_gfx src=fixedTypeGfx_267, size=0x800 @ 267
fixed_gfx src=fixedTypeGfx_268, size=0x200 @ 268
fixed_gfx src=fixedTypeGfx_269, size=0x200 @ 269
fixed_gfx src=fixedTypeGfx_270, size=0x200 @ 270
fixed_gfx src=fixedTypeGfx_271, size=0x200 @ 271
fixed_gfx src=fixedTypeGfx_272, size=0x200 @ 272
fixed_gfx src=fixedTypeGfx_273, size=0xe00 @ 273
fixed_gfx src=fixedTypeGfx_274, size=0x200 @ 274
fixed_gfx src=fixedTypeGfx_275, size=0x200 @ 275
fixed_gfx src=fixedTypeGfx_276, size=0x400 @ 276
fixed_gfx src=fixedTypeGfx_277, size=0x400 @ 277
fixed_gfx src=fixedTypeGfx_278, size=0x200 @ 278
fixed_gfx src=fixedTypeGfx_279, size=0x200 @ 279
fixed_gfx src=fixedTypeGfx_280, size=0x600 @ 280
fixed_gfx src=fixedTypeGfx_281, size=0x400 @ 281
fixed_gfx src=fixedTypeGfx_282, size=0x400 @ 282
fixed_gfx src=fixedTypeGfx_283, size=0x200 @ 283
fixed_gfx src=fixedTypeGfx_284, size=0x200 @ 284
fixed_gfx src=fixedTypeGfx_285, size=0x400 @ 285
fixed_gfx src=fixedTypeGfx_286, size=0x200 @ 286
fixed_gfx src=fixedTypeGfx_287, size=0x200 @ 287
fixed_gfx src=fixedTypeGfx_288, size=0x1200 @ 288
fixed_gfx src=fixedTypeGfx_289, size=0x1400 @ 289
fixed_gfx src=fixedTypeGfx_290, size=0x800 @ 290
fixed_gfx src=fixedTypeGfx_291, size=0x200 @ 291
fixed_gfx src=fixedTypeGfx_292, size=0x600 @ 292
fixed_gfx src=fixedTypeGfx_293, size=0x600 @ 293
fixed_gfx src=fixedTypeGfx_294, size=0x800 @ 294
fixed_gfx src=fixedTypeGfx_295, size=0x800 @ 295
fixed_gfx src=fixedTypeGfx_296, size=0xa00 @ 296
fixed_gfx src=fixedTypeGfx_297, size=0x1400 @ 297
fixed_gfx src=fixedTypeGfx_298, size=0x200 @ 298
fixed_gfx src=fixedTypeGfx_299, size=0x200 @ 299
fixed_gfx src=fixedTypeGfx_300, size=0x200 @ 300
fixed_gfx src=fixedTypeGfx_301, size=0x200 @ 301
fixed_gfx src=fixedTypeGfx_302, size=0x200 @ 302
fixed_gfx src=fixedTypeGfx_303, size=0x200 @ 303
fixed_gfx src=fixedTypeGfx_304, size=0x800 @ 304
fixed_gfx src=fixedTypeGfx_305, size=0x200 @ 305
fixed_gfx src=fixedTypeGfx_306, size=0x200 @ 306
fixed_gfx src=fixedTypeGfx_307, size=0x200 @ 307
fixed_gfx src=fixedTypeGfx_308, size=0x800 @ 308
fixed_gfx src=fixedTypeGfx_309, size=0xa00 @ 309
fixed_gfx src=fixedTypeGfx_310, size=0x200 @ 310
fixed_gfx src=fixedTypeGfx_311, size=0x600 @ 311
fixed_gfx src=fixedTypeGfx_312, size=0x200 @ 312
fixed_gfx src=fixedTypeGfx_313, size=0x400 @ 313
fixed_gfx src=fixedTypeGfx_314, size=0x400 @ 314
fixed_gfx src=fixedTypeGfx_315, size=0xa00 @ 315
fixed_gfx src=fixedTypeGfx_316, size=0x400 @ 316
fixed_gfx src=fixedTypeGfx_317, size=0x400 @ 317
fixed_gfx src=fixedTypeGfx_318, size=0x400 @ 318
fixed_gfx src=fixedTypeGfx_319, size=0x400 @ 319
fixed_gfx src=fixedTypeGfx_320, size=0x400 @ 320
fixed_gfx src=fixedTypeGfx_321, size=0x400 @ 321
fixed_gfx src=fixedTypeGfx_322, size=0x800 @ 322
fixed_gfx src=fixedTypeGfx_323, size=0x200 @ 323
fixed_gfx src=fixedTypeGfx_324, size=0x200 @ 324
fixed_gfx src=fixedTypeGfx_325, size=0x200 @ 325
fixed_gfx src=fixedTypeGfx_326, size=0x2000 @ 326
fixed_gfx src=fixedTypeGfx_327, size=0x600 @ 327
fixed_gfx src=fixedTypeGfx_328, size=0x800 @ 328
fixed_gfx src=fixedTypeGfx_329, size=0x400 @ 329
fixed_gfx src=fixedTypeGfx_330, size=0x600 @ 330
fixed_gfx src=fixedTypeGfx_331, size=0x400 @ 331
fixed_gfx src=fixedTypeGfx_332, size=0x400 @ 332
fixed_gfx src=fixedTypeGfx_333, size=0x400 @ 333
fixed_gfx src=fixedTypeGfx_334, size=0x400 @ 334
fixed_gfx src=fixedTypeGfx_335, size=0x200 @ 335
fixed_gfx src=fixedTypeGfx_336, size=0x600 @ 336
fixed_gfx src=fixedTypeGfx_337, size=0x600 @ 337
fixed_gfx src=fixedTypeGfx_338, size=0x400 @ 338
fixed_gfx src=fixedTypeGfx_339, size=0x400 @ 339
fixed_gfx src=fixedTypeGfx_340, size=0x200 @ 340
fixed_gfx src=fixedTypeGfx_341, size=0x400 @ 341
fixed_gfx src=fixedTypeGfx_342, size=0x600 @ 342
fixed_gfx src=fixedTypeGfx_343, size=0x400 @ 343
fixed_gfx src=fixedTypeGfx_344, size=0x800 @ 344
fixed_gfx src=fixedTypeGfx_345, size=0x400 @ 345
fixed_gfx src=fixedTypeGfx_346, size=0x600 @ 346
fixed_gfx src=fixedTypeGfx_347, size=0x400 @ 347
fixed_gfx src=fixedTypeGfx_348, size=0x200 @ 348
fixed_gfx src=fixedTypeGfx_349, size=0x800 @ 349
fixed_gfx src=fixedTypeGfx_350, size=0x600 @ 350
fixed_gfx src=fixedTypeGfx_351, size=0x400 @ 351
fixed_gfx src=fixedTypeGfx_352, size=0x400 @ 352
fixed_gfx src=fixedTypeGfx_353, size=0x800 @ 353
fixed_gfx src=fixedTypeGfx_354, size=0xc00 @ 354
fixed_gfx src=fixedTypeGfx_355, size=0x1200 @ 355
fixed_gfx src=fixedTypeGfx_356, size=0x400 @ 356
fixed_gfx src=fixedTypeGfx_357, size=0x800 @ 357
fixed_gfx src=fixedTypeGfx_358, size=0x1c00 @ 358
fixed_gfx src=fixedTypeGfx_359, size=0xa00 @ 359
fixed_gfx src=fixedTypeGfx_360, size=0x800 @ 360
fixed_gfx src=fixedTypeGfx_361, size=0xe00 @ 361
fixed_gfx src=fixedTypeGfx_362, size=0xc00 @ 362
fixed_gfx src=fixedTypeGfx_363, size=0xa00 @ 363
fixed_gfx src=fixedTypeGfx_364, size=0x800 @ 364
fixed_gfx src=fixedTypeGfx_365, size=0xc00 @ 365
fixed_gfx src=fixedTypeGfx_366, size=0x400 @ 366
fixed_gfx src=fixedTypeGfx_367, size=0x200 @ 367
fixed_gfx src=fixedTypeGfx_368, size=0x200 @ 368
fixed_gfx src=fixedTypeGfx_369, size=0x600 @ 369
fixed_gfx src=fixedTypeGfx_370, size=0x200 @ 370
fixed_gfx src=fixedTypeGfx_371, size=0x600 @ 371
fixed_gfx src=fixedTypeGfx_372, size=0x200 @ 372
fixed_gfx src=fixedTypeGfx_373, size=0x800 @ 373
fixed_gfx src=fixedTypeGfx_374, size=0x400 @ 374
fixed_gfx src=fixedTypeGfx_375, size=0x400 @ 375
fixed_gfx src=fixedTypeGfx_376, size=0x200 @ 376
fixed_gfx src=fixedTypeGfx_377, size=0x200 @ 377
fixed_gfx src=fixedTypeGfx_378, size=0x400 @ 378
fixed_gfx src=fixedTypeGfx_379, size=0x200 @ 379
fixed_gfx src=fixedTypeGfx_380, size=0x400 @ 380
fixed_gfx src=fixedTypeGfx_381, size=0x600 @ 381
fixed_gfx src=fixedTypeGfx_382, size=0x400 @ 382
fixed_gfx src=fixedTypeGfx_383, size=0x400 @ 383
fixed_gfx src=fixedTypeGfx_384, size=0x400 @ 384
fixed_gfx src=fixedTypeGfx_385, size=0x400 @ 385
fixed_gfx src=fixedTypeGfx_386, size=0x400 @ 386
fixed_gfx src=fixedTypeGfx_387, size=0x400 @ 387
fixed_gfx src=fixedTypeGfx_388, size=0x200 @ 388
fixed_gfx src=fixedTypeGfx_389, size=0x600 @ 389
fixed_gfx src=fixedTypeGfx_390, size=0xc00 @ 390
fixed_gfx src=fixedTypeGfx_391, size=0x400 @ 391
fixed_gfx src=fixedTypeGfx_392, size=0x800 @ 392
fixed_gfx src=fixedTypeGfx_393, size=0x400 @ 393
fixed_gfx src=fixedTypeGfx_394, size=0x200 @ 394
fixed_gfx src=fixedTypeGfx_395, size=0x200 @ 395
fixed_gfx src=fixedTypeGfx_396, size=0x600 @ 396
fixed_gfx src=fixedTypeGfx_397, size=0x600 @ 397
fixed_gfx src=fixedTypeGfx_398, size=0x2000 @ 398
fixed_gfx src=fixedTypeGfx_399, size=0x200 @ 399
fixed_gfx src=fixedTypeGfx_400, size=0x600 @ 400
fixed_gfx src=fixedTypeGfx_401, size=0x400 @ 401
fixed_gfx src=fixedTypeGfx_402, size=0xa00 @ 402
fixed_gfx src=fixedTypeGfx_403, size=0xe00 @ 403
fixed_gfx src=fixedTypeGfx_404, size=0xa00 @ 404
fixed_gfx src=fixedTypeGfx_405, size=0x400 @ 405
fixed_gfx src=fixedTypeGfx_406, size=0xa00 @ 406
fixed_gfx src=fixedTypeGfx_407, size=0x800 @ 407
fixed_gfx src=fixedTypeGfx_408, size=0x400 @ 408
fixed_gfx src=fixedTypeGfx_409, size=0x400 @ 409
fixed_gfx src=fixedTypeGfx_410, size=0x400 @ 410
fixed_gfx src=fixedTypeGfx_411, size=0x400 @ 411
fixed_gfx src=fixedTypeGfx_412, size=0x200 @ 412
fixed_gfx src=fixedTypeGfx_413, size=0x800 @ 413
fixed_gfx src=fixedTypeGfx_414, size=0x400 @ 414
fixed_gfx src=fixedTypeGfx_415, size=0xc00 @ 415
fixed_gfx src=fixedTypeGfx_416, size=0xa00 @ 416
fixed_gfx src=fixedTypeGfx_417, size=0xa00 @ 417
fixed_gfx src=fixedTypeGfx_418, size=0xe00 @ 418
fixed_gfx src=fixedTypeGfx_419, size=0x1000 @ 419
fixed_gfx src=fixedTypeGfx_420, size=0x800 @ 420
fixed_gfx src=fixedTypeGfx_421, size=0x400 @ 421
fixed_gfx src=fixedTypeGfx_422, size=0x400 @ 422
fixed_gfx src=fixedTypeGfx_423, size=0x200 @ 423
fixed_gfx src=fixedTypeGfx_424, size=0x200 @ 424
fixed_gfx src=fixedTypeGfx_425, size=0x400 @ 425
fixed_gfx src=fixedTypeGfx_426, size=0xa00 @ 426
fixed_gfx src=fixedTypeGfx_427, size=0x600 @ 427
fixed_gfx src=fixedTypeGfx_428, size=0x600 @ 428
fixed_gfx src=fixedTypeGfx_429, size=0x600 @ 429
fixed_gfx src=fixedTypeGfx_430, size=0x400 @ 430
fixed_gfx src=fixedTypeGfx_431, size=0x200 @ 431
fixed_gfx src=fixedTypeGfx_432, size=0x200 @ 432
fixed_gfx src=fixedTypeGfx_433, size=0x400 @ 433
fixed_gfx src=fixedTypeGfx_434, size=0x600 @ 434
fixed_gfx src=fixedTypeGfx_435, size=0x1000 @ 435
fixed_gfx src=fixedTypeGfx_436, size=0x400 @ 436
fixed_gfx src=fixedTypeGfx_437, size=0x400 @ 437
fixed_gfx src=fixedTypeGfx_438, size=0x800 @ 438
fixed_gfx src=fixedTypeGfx_439, size=0x600 @ 439
fixed_gfx src=fixedTypeGfx_440, size=0x400 @ 440
fixed_gfx src=fixedTypeGfx_441, size=0x200 @ 441
fixed_gfx src=fixedTypeGfx_442, size=0x400 @ 442
fixed_gfx src=fixedTypeGfx_443, size=0x200 @ 443
fixed_gfx src=fixedTypeGfx_444, size=0x800 @ 444
fixed_gfx src=fixedTypeGfx_445, size=0x400 @ 445
fixed_gfx src=fixedTypeGfx_446, size=0x600 @ 446
fixed_gfx src=fixedTypeGfx_447, size=0x2400 @ 447
fixed_gfx src=fixedTypeGfx_448, size=0x800 @ 448
fixed_gfx src=fixedTypeGfx_449, size=0x800 @ 449
fixed_gfx src=fixedTypeGfx_450, size=0x800 @ 450
fixed_gfx src=fixedTypeGfx_451, size=0x400 @ 451
fixed_gfx src=fixedTypeGfx_452, size=0x800 @ 452
fixed_gfx src=fixedTypeGfx_453, size=0x400 @ 453
fixed_gfx src=fixedTypeGfx_454, size=0x400 @ 454
fixed_gfx src=fixedTypeGfx_455, size=0x400 @ 455
fixed_gfx src=fixedTypeGfx_456, size=0x1800 @ 456
fixed_gfx src=fixedTypeGfx_457, size=0x400 @ 457
fixed_gfx src=fixedTypeGfx_458, size=0x400 @ 458
fixed_gfx src=fixedTypeGfx_459, size=0x400 @ 459
fixed_gfx src=fixedTypeGfx_460, size=0x600 @ 460
fixed_gfx src=fixedTypeGfx_461, size=0x400 @ 461
fixed_gfx src=fixedTypeGfx_462, size=0x200 @ 462
fixed_gfx src=fixedTypeGfx_463, size=0x200 @ 463
fixed_gfx src=fixedTypeGfx_464, size=0x600 @ 464
fixed_gfx src=fixedTypeGfx_465, size=0x800 @ 465
fixed_gfx src=fixedTypeGfx_466, size=0x400 @ 466
fixed_gfx src=fixedTypeGfx_467, size=0x400 @ 467
fixed_gfx src=fixedTypeGfx_468, size=0x400 @ 468
fixed_gfx src=fixedTypeGfx_469, size=0x400 @ 469
fixed_gfx src=fixedTypeGfx_470, size=0x400 @ 470
fixed_gfx src=fixedTypeGfx_471, size=0x400 @ 471
fixed_gfx src=fixedTypeGfx_472, size=0x400 @ 472
fixed_gfx src=fixedTypeGfx_473, size=0x400 @ 473
fixed_gfx src=fixedTypeGfx_474, size=0x800 @ 474
fixed_gfx src=fixedTypeGfx_475, size=0x800 @ 475
fixed_gfx src=fixedTypeGfx_476, size=0x800 @ 476
fixed_gfx src=fixedTypeGfx_477, size=0x800 @ 477
fixed_gfx src=fixedTypeGfx_478, size=0x200 @ 478
fixed_gfx src=fixedTypeGfx_479, size=0x200 @ 479
fixed_gfx src=fixedTypeGfx_480, size=0x200 @ 480
fixed_gfx src=fixedTypeGfx_481, size=0x400 @ 481
fixed_gfx src=fixedTypeGfx_482, size=0x800 @ 482
fixed_gfx src=fixedTypeGfx_483, size=0x400 @ 483
fixed_gfx src=fixedTypeGfx_484, size=0x400 @ 484
fixed_gfx src=fixedTypeGfx_485, size=0xa00 @ 485
fixed_gfx src=fixedTypeGfx_486, size=0x600 @ 486
fixed_gfx src=fixedTypeGfx_487, size=0x400 @ 487
fixed_gfx src=fixedTypeGfx_488, size=0x200 @ 488
fixed_gfx src=fixedTypeGfx_489, size=0x600 @ 489
fixed_gfx src=fixedTypeGfx_490, size=0x600 @ 490
fixed_gfx src=fixedTypeGfx_491, size=0x800 @ 491
fixed_gfx src=fixedTypeGfx_492, size=0x1000 @ 492
fixed_gfx src=fixedTypeGfx_493, size=0x400 @ 493
fixed_gfx src=fixedTypeGfx_494, size=0x600 @ 494
fixed_gfx src=fixedTypeGfx_495, size=0x1a00 @ 495
fixed_gfx src=fixedTypeGfx_496, size=0x200 @ 496
fixed_gfx src=fixedTypeGfx_497, size=0x200 @ 497
fixed_gfx src=fixedTypeGfx_498, size=0x400 @ 498
fixed_gfx src=fixedTypeGfx_499, size=0x800 @ 499
fixed_gfx src=fixedTypeGfx_500, size=0x800 @ 500
fixed_gfx src=fixedTypeGfx_501, size=0x400 @ 501
.ifdef EU
fixed_gfx src=fixedTypeGfx_502, size=0x1e00 @ 502
.else
fixed_gfx src=fixedTypeGfx_502, size=0x1000 @ 502
.endif
fixed_gfx src=fixedTypeGfx_503, size=0x400 @ 503
fixed_gfx src=fixedTypeGfx_504, size=0xc00 @ 504
fixed_gfx src=fixedTypeGfx_505, size=0x200 @ 505
fixed_gfx src=fixedTypeGfx_506, size=0x200 @ 506
fixed_gfx src=fixedTypeGfx_507, size=0x200 @ 507
fixed_gfx src=fixedTypeGfx_508, size=0x400 @ 508
fixed_gfx src=fixedTypeGfx_509, size=0x200 @ 509
fixed_gfx src=fixedTypeGfx_510, size=0x200 @ 510
fixed_gfx src=fixedTypeGfx_511, size=0x1600 @ 511
fixed_gfx src=fixedTypeGfx_512, size=0xa00 @ 512
fixed_gfx src=fixedTypeGfx_513, size=0x200 @ 513
fixed_gfx src=fixedTypeGfx_514, size=0x200 @ 514
fixed_gfx src=fixedTypeGfx_515, size=0x200 @ 515
fixed_gfx src=fixedTypeGfx_516, size=0x600 @ 516
fixed_gfx src=fixedTypeGfx_517, size=0x600 @ 517
fixed_gfx src=fixedTypeGfx_518, size=0x200 @ 518
.ifndef EU
fixed_gfx src=fixedTypeGfx_519, size=0xc00 @ 519
.endif
fixed_gfx src=fixedTypeGfx_520, size=0x200 @ 520
fixed_gfx src=fixedTypeGfx_521, size=0x200 @ 521
fixed_gfx src=fixedTypeGfx_522, size=0x200 @ 522
fixed_gfx src=fixedTypeGfx_523, size=0x200 @ 523
fixed_gfx src=fixedTypeGfx_524, size=0x200 @ 524
fixed_gfx src=fixedTypeGfx_525, size=0x400 @ 525

1593
data/gfx/link_animations.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1616,37 +1616,37 @@ gSpritePtrs:: @ 080029B4
.4byte 00000000
gMoreSpritePtrs:: @ 08003DD4
.4byte gSpriteAnimation_322
.4byte gSpriteAnimations_322
.4byte gSpriteFrames_322
.4byte gSprite_082E68F4
.4byte 00000000
.4byte gSpriteAnimation_322
.4byte gSpriteAnimations_322
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte gSpriteAnimation_322
.4byte gSpriteAnimations_322
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte gSpriteAnimation_FileScreenObjects
.4byte gSpriteAnimations_FileScreenObjects
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte gSpriteAnimation_ObjectA2
.4byte gSpriteAnimations_ObjectA2
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte gSpriteAnimation_Object6A_9
.4byte gSpriteAnimations_Object6A_9
.4byte 00000000
.4byte 00000000
.4byte 00000000
.4byte gSpriteAnimation_Vaati_1
.4byte gSpriteAnimations_Vaati_1
.4byte gSpriteFrames_Vaati_1
.4byte gSprite_082F27F4
.4byte 00000000

View File

@ -3,8 +3,6 @@
.section .rodata
.align 2
gExtraFrameOffsets:: @ 089FB770
.include "sprites/extraFrameOffsets.s"
@ .byte 00, 0x0d, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00

View File

@ -319,9 +319,11 @@ SECTIONS {
asm/code_08000F10.o(.text);
data/data_08000F54.o(.rodata);
asm/code_080011C4.o(.text);
data/data_080029B4.o(.rodata);
data/gfx/sprite_ptrs.o(.rodata);
asm/code_08003FC4.o(.text);
asm/code_080043E8.o(.text);
data/gfx/link_animations.o(.rodata);
asm/code_08007CAC.o(.text);
data/data_08007DF4.o(.rodata);
asm/code_0800857C.o(.text);
/* scripts */
@ -1723,6 +1725,7 @@ SECTIONS {
src/intro.o(.rodata);
data/data_081320FC.o(.rodata);
data/const/playerItem/playerItemGustJar.o(.rodata);
data/gfx/fixed_type_gfx.o(.rodata);
data/data_08132B30.o(.rodata);
data/map/exit_lists.o(.rodata);
data/gfx_0813AA54.o(.rodata);
@ -1731,6 +1734,7 @@ SECTIONS {
data/map/map_data.o(.rodata);
data/gfx/gfx_and_palettes.o(.rodata);
data/strings.o(.rodata);
data/gfx/extra_frame_offsets.o(.rodata);
data/gfx/sprite_table.o(.rodata);
src/gba/m4a.o(.rodata);
data/sound/voicegroups.o(.rodata);

View File

@ -5,14 +5,9 @@ import subprocess
from distutils.util import strtobool
import json
from assets.palette_group import PaletteGroup
from assets.gfx_group import GfxGroup
from assets.fixed_type_gfx import FixedTypeGfx
from assets.frame_obj_lists import FrameObjLists
from assets.extra_frame_offsets import ExtraFrameOffsets
from assets.animation import Animation
from assets.exit_list import ExitList
from assets.entity_list import EntityList
from assets.sprite_frame import SpriteFrame
verbose = False
@ -120,30 +115,15 @@ def extract_assets(variant, assets_folder):
extract_midi(path, baserom_path, start, options)
elif mode == 'aif':
extract_aif(path, options)
elif mode == 'palette_group':
palette_group = PaletteGroup(path, start, size, options)
palette_group.extract_binary(baserom)
elif mode == 'gfx_group':
gfx_group = GfxGroup(path, start, size, options)
gfx_group.extract_binary(baserom)
elif mode == 'fixed_type_gfx':
fixed_type_gfx = FixedTypeGfx(path, start, size, options)
fixed_type_gfx.extract_binary(baserom)
elif mode == 'frame_obj_lists':
frame_obj_lists = FrameObjLists(path, start, size, options)
frame_obj_lists.extract_binary(baserom)
elif mode == 'extra_frame_offsets':
extra_frame_offsets = ExtraFrameOffsets(path, start, size, options)
extra_frame_offsets.extract_binary(baserom)
elif mode == 'animation':
animation = Animation(path, start, size, options)
animation.extract_binary(baserom)
elif mode == 'exit_list':
exit_list = ExitList(path, start, size, options)
exit_list.extract_binary(baserom)
elif mode == 'entity_list':
entity_list = EntityList(path, start, size, options)
entity_list.extract_binary(baserom)
elif mode == 'sprite_frames':
sprite_frames = SpriteFrame(path, start, size, options)
sprite_frames.extract_binary(baserom)

View File

@ -1,4 +1,4 @@
from assets.base import BaseAsset, Reader
from assets.base import BaseAsset, Reader, opt_param
class Animation(BaseAsset):
def __init__(self, path: str, addr: int, size: int, options: any) -> None:
@ -15,7 +15,11 @@ class Animation(BaseAsset):
bitfield2 = reader.read_u8()
end_of_animation = bitfield2 & 0x80 != 0
lines.append(f'\t.byte {frame_index}, {keyframe_duration}, {hex(bitfield)}, {hex(bitfield2)}\n')
line = f'\tkeyframe frame_index={frame_index}'
line += opt_param('duration', '0', str(keyframe_duration))
line += opt_param('bitfield', '0x0', hex(bitfield))
line += opt_param('bitfield2', '0x0', hex(bitfield2))
lines.append(line + '\n')
if not end_of_animation:
lines.append('@ TODO why no terminator?\n')
while reader.cursor < self.size:

View File

@ -1,39 +0,0 @@
from assets.base import BaseAsset, Reader
class EntityList(BaseAsset):
def __init__(self, path: str, addr: int, size: int, options: any) -> None:
super().__init__(path, addr, size, options)
def extract_binary(self, rom: bytearray) -> None:
reader = Reader(rom[self.addr:self.addr+self.size])
lines = []
while reader.cursor + 15 < self.size:
type_and_unknowns = reader.read_u8()
type = type_and_unknowns & 0x0F
unknown_1 = (type_and_unknowns & 0xF0) >> 4
unknowns = reader.read_u8()
unknown_2 = unknowns & 0x0F
unknown_3 = (unknowns & 0xF0) >> 4
subtype = reader.read_u8()
params_a = reader.read_u8()
params_b = reader.read_u32()
params_c = reader.read_u32()
params_d = reader.read_u32()
if type_and_unknowns == 0xff: # End of list
lines.append(f'\t.4byte 0xff, 0, 0, 0 @terminator\n')
break
lines.append(f'\t.byte {type_and_unknowns}, {unknowns}, {subtype}, {params_a}\n')
lines.append(f'\t.4byte {params_b}, {params_c}, {params_d}\n')
# TODO resolve pointers in here
if reader.cursor < self.size:
lines.append(f'@ unaccounted bytes\n')
while reader.cursor < self.size:
lines.append(f'.byte {reader.read_u8()}\n')
assert(self.path.endswith('.bin'))
path = self.path[0:-4] + '.s'
with open(path, 'w') as file:
file.writelines(lines)

View File

@ -1,4 +1,4 @@
from assets.base import BaseAsset, Reader
from assets.base import BaseAsset, Reader, opt_param
class ExitList(BaseAsset):
def __init__(self, path: str, addr: int, size: int, options: any) -> None:
@ -24,16 +24,30 @@ class ExitList(BaseAsset):
unknown_5 = reader.read_u16()
padding_1 = reader.read_u16()
if transition_type == 0xffff:
lines.append(f'\t.4byte 0xffff, 0,0,0,0 @ terminator\n')
lines.append(f'\texit_list_end\n')
break
lines.append(f'\t.2byte {transition_type} @ transition_type\n')
lines.append(f'\t.2byte {x_pos}, {y_pos} @ pos\n')
lines.append(f'\t.2byte {dest_x}, {dest_y} @ dest\n')
lines.append(f'\t.byte {screen_edge} @ screen edge\n')
lines.append(f'\t.byte {dest_area} @ screen edge\n')
lines.append(f'\t.byte {dest_room} @ screen edge\n')
lines.append(f'\t.byte {unknown_2}, {unknown_3}, {unknown_4} @ unknown\n')
lines.append(f'\t.2byte {unknown_5}, {padding_1} @ unknown\n')
# lines.append(f'\t.2byte {transition_type} @ transition_type\n')
# lines.append(f'\t.2byte {x_pos}, {y_pos} @ pos\n')
# lines.append(f'\t.2byte {dest_x}, {dest_y} @ dest\n')
# lines.append(f'\t.byte {screen_edge} @ screen edge\n')
# lines.append(f'\t.byte {dest_area} @ screen edge\n')
# lines.append(f'\t.byte {dest_room} @ screen edge\n')
# lines.append(f'\t.byte {unknown_2}, {unknown_3}, {unknown_4} @ unknown\n')
# lines.append(f'\t.2byte {unknown_5}, {padding_1} @ unknown\n')
line = f'\texit transition={transition_type}'
line += opt_param('x', '0x0', hex(x_pos))
line += opt_param('y', '0x0', hex(y_pos))
line += opt_param('destX', '0x0', hex(dest_x))
line += opt_param('destY', '0x0', hex(dest_y))
line += opt_param('screenEdge', '0x0', hex(screen_edge))
line += opt_param('destArea', '0x0', hex(dest_area))
line += opt_param('destRoom', '0x0', hex(dest_room))
line += opt_param('unknown', '0x0', hex(unknown_2))
line += opt_param('unknown2', '0x0', hex(unknown_3))
line += opt_param('unknown3', '0x0', hex(unknown_4))
line += opt_param('unknown4', '0x0', hex(unknown_5))
line += opt_param('padding', '0x0', hex(padding_1))
lines.append(line + '\n')
assert(self.path.endswith('.bin'))
path = self.path[0:-4] + '.s'

View File

@ -1,76 +0,0 @@
from assets.base import BaseAsset, Reader
class ExtraFrameOffsets(BaseAsset):
def __init__(self, path: str, addr: int, size: int, options: any) -> None:
super().__init__(path, addr, size, options)
def extract_binary(self, rom: bytearray) -> None:
reader = Reader(rom[self.addr:self.addr+self.size])
first_level = []
second_level = []
lines = []
bytes = []
for i in range(0x10):
bytes.append(reader.read_u8())
lines.append('\t.byte ' + ', '.join(str(x) for x in bytes) + '\n')
lines.append('@ First level of offsets\n')
while True:
if reader.cursor in first_level:
#print(f'first_level up to: {reader.cursor}')
break
pointer = reader.read_u16()
first_level.append(pointer)
lines.append(f'\t.2byte {hex(pointer)}\n')
#print(first_level)
#print(first_level)
lines.append('\n@ Second level of offsets\n')
while True:
#print(reader.cursor)
#if reader.cursor >= 24372:
#print(f'>< second_level up to: {reader.cursor}')
#
# break
if reader.cursor >= 0xD00:
#print(f'second_level up to: {reader.cursor}')
break
pointer = reader.read_u8()
second_level.append(pointer)
lines.append(f'\t.byte {hex(pointer)}\n')
obj_lists = []
lines.append('\n@ Extra frame offsets\n')
while True:
#print('WH')
if (reader.cursor-0xD00)/4 not in second_level:
#print(f'{reader.cursor} not in second_level')
break
next = -1
for i in second_level:
if i > reader.cursor:
if next == -1 or i < next:
next = i
diff = next-reader.cursor
print(f'Skipping forward to {next} (+{diff})')
lines.append(f'@ Skipping {diff} bytes\n')
bytes = []
for i in range(diff):
bytes.append(reader.read_u8())
lines.append('\t.byte ' + ', '.join(str(x) for x in bytes) + '\n')
extra_x_off = reader.read_s8()
extra_y_off = reader.read_s8()
lines.append(f'\t.byte {extra_x_off}, {extra_y_off}\n')
extra_x_off = reader.read_s8()
extra_y_off = reader.read_s8()
lines.append(f'\t.byte {extra_x_off}, {extra_y_off}\n')
assert(self.path.endswith('.bin'))
path = self.path[0:-4] + '.s'
with open(path, 'w') as file:
file.writelines(lines)

View File

@ -1,26 +0,0 @@
from assets.base import BaseAsset, Reader
class FixedTypeGfx(BaseAsset):
def __init__(self, path: str, addr: int, size: int, options: any) -> None:
super().__init__(path, addr, size, options)
def extract_binary(self, rom: bytearray) -> None:
reader = Reader(rom[self.addr:self.addr+self.size])
lines = []
index = 0
while reader.cursor < self.size:
pointer = reader.read_u32()
gfx_data_ptr = pointer& 0x00FFFFFC
compressed = pointer& 0x00000001
maybe_size = ((pointer >> 0x10) & 0x7f00) >> 4
gfx_data_len = ((pointer & 0x7F000000)>>24) * 0x200
lines.append(f'\t.4byte {hex(gfx_data_ptr)} + {compressed} + {hex((gfx_data_len//0x200))}<<24 @{index}\n')
index += 1
assert(self.path.endswith('.bin'))
path = self.path[0:-4] + '.s'
with open(path, 'w') as file:
file.writelines(lines)

View File

@ -1,4 +1,4 @@
from assets.base import BaseAsset, Reader
from assets.base import BaseAsset, Reader, opt_param
class FrameObjLists(BaseAsset):
def __init__(self, path: str, addr: int, size: int, options: any) -> None:
@ -59,7 +59,7 @@ class FrameObjLists(BaseAsset):
bytes.append(reader.read_u8())
lines.append('\t.byte ' + ', '.join(str(x) for x in bytes) + '\n')
num_objects = reader.read_u8()
lines.append(f'\t.byte {num_objects}\n')
lines.append(f'\t.byte {num_objects} @ num_objs\n')
if num_objects > 200:
#print(f'num_objects: {num_objects} @{reader.cursor}/{last_second_level}')
break
@ -71,8 +71,8 @@ class FrameObjLists(BaseAsset):
bitfield = reader.read_u8()
bitfield2 = reader.read_u16()
lines.append(f'\t.byte {x_offset}, {y_offset}, {hex(bitfield)}\n')
lines.append(f'\t.2byte {hex(bitfield2)}\n')
# lines.append(f'\t.byte {x_offset}, {y_offset}, {hex(bitfield)}\n')
# lines.append(f'\t.2byte {hex(bitfield2)}\n')
# bitfield
override_entity_palette_index = (bitfield & 0x01) != 0
@ -91,6 +91,10 @@ class FrameObjLists(BaseAsset):
# print(x_offset, y_offset, bitfield, bitfield2)
# print(override_entity_palette_index, h_flip, v_flip, size, shape)
# print(first_gfx_tile_offset, priority, palette_index)
line = f'\tobj x={hex(x_offset)}, y={hex(y_offset)}'
line += opt_param('bitfield', '0x0', hex(bitfield))
line += opt_param('bitfield2', '0x0', hex(bitfield2))
lines.append(line + '\n')
list.append({})
# print()
obj_lists.append(list)

View File

@ -1,31 +0,0 @@
from assets.base import BaseAsset, Reader
class GfxGroup(BaseAsset):
def __init__(self, path: str, addr: int, size: int, options: any) -> None:
super().__init__(path, addr, size, options)
def extract_binary(self, rom: bytearray) -> None:
reader = Reader(rom[self.addr:self.addr+self.size])
gfx_index = 0
lines = []
while reader.cursor < self.size:
unk0 = reader.read_u32()
gfx_offset = unk0 & 0xFFFFFF
dest = reader.read_u32()
unk8 = reader.read_u32()
size = unk8 & 0xFFFFFF
terminator = unk0 & 0x80000000
compressed = unk8 & 0x80000000
uncompressed_size = size
lines.append(f'\t.4byte {hex(gfx_offset)}+{hex(terminator)}+{hex(unk0 & 0xF000000)}, {hex(dest)}, {hex(uncompressed_size)} + {hex(compressed)} @ {gfx_index}\n')
if not terminator:
break
gfx_index += 1
assert(self.path.endswith('.bin'))
path = self.path[0:-4] + '.s'
with open(path, 'w') as file:
file.writelines(lines)

View File

@ -1,36 +0,0 @@
from assets.base import ROM_OFFSET, BaseAsset, Reader
class PaletteGroup(BaseAsset):
def __init__(self, path: str, addr: int, size: int, options: any) -> None:
super().__init__(path, addr, size, options)
def extract_binary(self, rom: bytearray) -> None:
self.extract_palette_group(rom, self.addr, self.size)
#self.extract_palette_groups(rom)
def extract_palette_group(self, rom: bytearray, address: int, size: int) -> tuple[list[str], list[int]]:
lines: list[str] = []
palette_indices: list[int] = []
assert(self.path.endswith('.bin'))
path = self.path[0:-4] + '.s'
reader = Reader(rom[address:address+size])
continue_loading_palette_sets = True
while continue_loading_palette_sets:
global_palette_index = reader.read_u16()
palette_load_offset = reader.read_u8()
bitfield = reader.read_u8()
num_palettes = bitfield & 0x0F
if num_palettes == 0:
num_palettes = 0x10
continue_loading_palette_sets = (bitfield & 0x80 == 0x80)
lines.append(f'\t.2byte {global_palette_index} @ palette index\n')
lines.append(f'\t.byte {palette_load_offset} @ palette offset\n')
lines.append(f'\t.byte {num_palettes if num_palettes < 0x10 else 0} + {continue_loading_palette_sets*0x80} @ num_palettes, continue_loading\n\n')
for i in range(num_palettes):
palette_indices.append(global_palette_index + i)
with open(path, 'w') as file:
file.writelines(lines)