.include "macros.inc"

.data

.macro anim_file name
    .balign 4, 0
    .include "assets/anims/\name\().s"
.endm

.macro anim_entry name
    .word (\name - gMarioAnims), (\name\()_end - \name)
.endm

.macro anim_header name, flags, unk02, unk04, unk06, length, numnodes
    \name:
    .hword \flags, \unk02, \unk04, \unk06, \length, \numnodes
    .word \name\()_values  - \name
    .word \name\()_indices - \name
    .word \name\()_end     - \name
.endm

glabel gMarioAnims
.word (anim_table_end - anim_table_start) / 8 # number of entries
.word 0

anim_table_start:
anim_entry anim_00
anim_entry anim_01
anim_entry anim_02
anim_entry anim_03
anim_entry anim_04
anim_entry anim_05
anim_entry anim_06
anim_entry anim_07
anim_entry anim_08
anim_entry anim_09
anim_entry anim_0A
anim_entry anim_0B
anim_entry anim_0C
anim_entry anim_0D
anim_entry anim_0E
anim_entry anim_0F
anim_entry anim_10
anim_entry anim_11
anim_entry anim_12
anim_entry anim_13
anim_entry anim_14
anim_entry anim_15
anim_entry anim_16
anim_entry anim_17
anim_entry anim_18
anim_entry anim_19
anim_entry anim_1A
anim_entry anim_1B
anim_entry anim_1C
anim_entry anim_1D
anim_entry anim_1E
anim_entry anim_1F
anim_entry anim_20
anim_entry anim_21
anim_entry anim_22
anim_entry anim_23
anim_entry anim_24
anim_entry anim_25
anim_entry anim_26
anim_entry anim_27
anim_entry anim_28
anim_entry anim_29
anim_entry anim_2A
anim_entry anim_2B
anim_entry anim_2C
anim_entry anim_2D
anim_entry anim_2E
anim_entry anim_2F
anim_entry anim_30
anim_entry anim_31
anim_entry anim_32
anim_entry anim_33
anim_entry anim_34
anim_entry anim_35
anim_entry anim_36
anim_entry anim_37
anim_entry anim_38
anim_entry anim_39
anim_entry anim_3A
anim_entry anim_3B
anim_entry anim_3C
anim_entry anim_3D
anim_entry anim_3E
anim_entry anim_3F
anim_entry anim_40
anim_entry anim_41
anim_entry anim_42
anim_entry anim_43
anim_entry anim_44
anim_entry anim_45
anim_entry anim_46
anim_entry anim_47
anim_entry anim_48
anim_entry anim_49
anim_entry anim_4A
anim_entry anim_4B
anim_entry anim_4C
anim_entry anim_4D
anim_entry anim_4E
anim_entry anim_4F
anim_entry anim_50
anim_entry anim_51
anim_entry anim_52
anim_entry anim_53
anim_entry anim_54
anim_entry anim_55
anim_entry anim_56
anim_entry anim_57
anim_entry anim_58
anim_entry anim_59
anim_entry anim_5A
anim_entry anim_5B
anim_entry anim_5C
anim_entry anim_5D
anim_entry anim_5E
anim_entry anim_5F
anim_entry anim_60
anim_entry anim_61
anim_entry anim_62
anim_entry anim_63
anim_entry anim_64
anim_entry anim_65
anim_entry anim_66
anim_entry anim_67
anim_entry anim_68
anim_entry anim_69
anim_entry anim_6A
anim_entry anim_6B
anim_entry anim_6C
anim_entry anim_6D
anim_entry anim_6E
anim_entry anim_6F
anim_entry anim_70
anim_entry anim_71
anim_entry anim_72
anim_entry anim_73
anim_entry anim_74
anim_entry anim_75
anim_entry anim_76
anim_entry anim_77
anim_entry anim_78
anim_entry anim_79
anim_entry anim_7A
anim_entry anim_7B
anim_entry anim_7C
anim_entry anim_7D
anim_entry anim_7E
anim_entry anim_7F
anim_entry anim_80
anim_entry anim_81
anim_entry anim_82
anim_entry anim_83
anim_entry anim_84
anim_entry anim_85
anim_entry anim_86
anim_entry anim_87
anim_entry anim_88
anim_entry anim_89
anim_entry anim_8A
anim_entry anim_8B
anim_entry anim_8C
anim_entry anim_8D
anim_entry anim_8E
anim_entry anim_8F
anim_entry anim_90
anim_entry anim_91
anim_entry anim_92
anim_entry anim_93
anim_entry anim_94
anim_entry anim_95
anim_entry anim_96
anim_entry anim_97
anim_entry anim_98
anim_entry anim_99
anim_entry anim_9A
anim_entry anim_9B
anim_entry anim_9C
anim_entry anim_9D
anim_entry anim_9E
anim_entry anim_9F
anim_entry anim_A0
anim_entry anim_A1
anim_entry anim_A2
anim_entry anim_A3
anim_entry anim_A4
anim_entry anim_A5
anim_entry anim_A6
anim_entry anim_A7
anim_entry anim_A8
anim_entry anim_A9
anim_entry anim_AA
anim_entry anim_AB
anim_entry anim_AC
anim_entry anim_AD
anim_entry anim_AE
anim_entry anim_AF
anim_entry anim_B0
anim_entry anim_B1
anim_entry anim_B2
anim_entry anim_B3
anim_entry anim_B4
anim_entry anim_B5
anim_entry anim_B6
anim_entry anim_B7
anim_entry anim_B8
anim_entry anim_B9
anim_entry anim_BA
anim_entry anim_BB
anim_entry anim_BC
anim_entry anim_BD
anim_entry anim_BE
anim_entry anim_BF
anim_entry anim_C0
anim_entry anim_C1
anim_entry anim_C2
anim_entry anim_C3
anim_entry anim_C4
anim_entry anim_C5
anim_entry anim_C6
anim_entry anim_C7
anim_entry anim_C8
anim_entry anim_C9
anim_entry anim_CA
anim_entry anim_CB
anim_entry anim_CC
anim_entry anim_CD
anim_entry anim_CE
anim_entry anim_CF
anim_entry anim_D0
anim_table_end:

anim_file anim_00
anim_file anim_01_02
anim_file anim_03
anim_file anim_04
anim_file anim_05
anim_file anim_06
anim_file anim_07_08
anim_file anim_09
anim_file anim_0A
anim_file anim_0B_0C
anim_file anim_0D
anim_file anim_0E
anim_file anim_0F_10
anim_file anim_11
anim_file anim_12
anim_file anim_13
anim_file anim_14
anim_file anim_15
anim_file anim_16
anim_file anim_17
anim_file anim_18
anim_file anim_19
anim_file anim_1A
anim_file anim_1B
anim_file anim_1C
anim_file anim_1D
anim_file anim_1E
anim_file anim_1F
anim_file anim_20
anim_file anim_21
anim_file anim_22
anim_file anim_23
anim_file anim_24
anim_file anim_25
anim_file anim_26
anim_file anim_27
anim_file anim_28
anim_file anim_29
anim_file anim_2A
anim_file anim_2B
anim_file anim_2C_2D
anim_file anim_2E
anim_file anim_2F
anim_file anim_30
anim_file anim_31
anim_file anim_32
anim_file anim_33
anim_file anim_34
anim_file anim_35
anim_file anim_36
anim_file anim_37
anim_file anim_38
anim_file anim_39
anim_file anim_3A
anim_file anim_3B
anim_file anim_3C_3D
anim_file anim_3E
anim_file anim_3F
anim_file anim_40
anim_file anim_41
anim_file anim_42
anim_file anim_43
anim_file anim_44
anim_file anim_45_46
anim_file anim_47
anim_file anim_48
anim_file anim_49
anim_file anim_4A
anim_file anim_4B
anim_file anim_4C
anim_file anim_4D_4E
anim_file anim_4F
anim_file anim_50
anim_file anim_51
anim_file anim_52
anim_file anim_53
anim_file anim_54
anim_file anim_55
anim_file anim_56_57
anim_file anim_58
anim_file anim_59
anim_file anim_5A
anim_file anim_5B
anim_file anim_5C
anim_file anim_5D
anim_file anim_5E
anim_file anim_5F
anim_file anim_60
anim_file anim_61
anim_file anim_62
anim_file anim_63
anim_file anim_64
anim_file anim_65
anim_file anim_66
anim_file anim_67
anim_file anim_68
anim_file anim_69
anim_file anim_6A
anim_file anim_6B
anim_file anim_6C
anim_file anim_6D
anim_file anim_6E
anim_file anim_6F_70
anim_file anim_71
anim_file anim_72_73
anim_file anim_74
anim_file anim_75
anim_file anim_76
anim_file anim_77
anim_file anim_78
anim_file anim_79
anim_file anim_7A
anim_file anim_7B
anim_file anim_7C
anim_file anim_7D
anim_file anim_7E
anim_file anim_7F
anim_file anim_80
anim_file anim_81
anim_file anim_82
anim_file anim_83
anim_file anim_84
anim_file anim_85
anim_file anim_86
anim_file anim_87
anim_file anim_88_89
anim_file anim_8A
anim_file anim_8B
anim_file anim_8C
anim_file anim_8D
anim_file anim_8E_8F
anim_file anim_90
anim_file anim_91
anim_file anim_92
anim_file anim_93
anim_file anim_94
anim_file anim_95
anim_file anim_96
anim_file anim_97
anim_file anim_98
anim_file anim_99
anim_file anim_9A
anim_file anim_9B
anim_file anim_9C
anim_file anim_9D
anim_file anim_9E
anim_file anim_9F
anim_file anim_A0
anim_file anim_A1
anim_file anim_A2
anim_file anim_A3
anim_file anim_A4
anim_file anim_A5
anim_file anim_A6
anim_file anim_A7
anim_file anim_A8
anim_file anim_A9
anim_file anim_AA
anim_file anim_AB
anim_file anim_AC
anim_file anim_AD
anim_file anim_AE
anim_file anim_AF
anim_file anim_B0
anim_file anim_B1
anim_file anim_B2
anim_file anim_B3
anim_file anim_B4
anim_file anim_B5_B6
anim_file anim_B7
anim_file anim_B8
anim_file anim_B9
anim_file anim_BA
anim_file anim_BB
anim_file anim_BC_BD
anim_file anim_BE
anim_file anim_BF
anim_file anim_C0
anim_file anim_C1
anim_file anim_C2
anim_file anim_C3
anim_file anim_C4
anim_file anim_C5
anim_file anim_C6
anim_file anim_C7
anim_file anim_C8
anim_file anim_C9
anim_file anim_CA
anim_file anim_CB_CC
anim_file anim_CD
anim_file anim_CE
anim_file anim_CF
anim_file anim_D0
