diff --git a/.gitmodules b/.gitmodules
index e3836d6d77..9e05766838 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
[submodule "tools/ZAP2"]
path = tools/ZAP2
- url = https://github.com/NEstelami/ZAP2.git
+ url = https://github.com/zeldaret/ZAPD.git
diff --git a/asm/non_matchings/code/z_play/Gameplay_Init.s b/asm/non_matchings/code/z_play/Gameplay_Init.s
index 7ec55a8d8e..6ecce91298 100644
--- a/asm/non_matchings/code/z_play/Gameplay_Init.s
+++ b/asm/non_matchings/code/z_play/Gameplay_Init.s
@@ -139,7 +139,7 @@ glabel Gameplay_Init
/* B33D88 800BCBE8 3C010001 */ lui $at, (0x00010B20 >> 16) # lui $at, 1
/* B33D8C 800BCBEC 34210B20 */ ori $at, (0x00010B20 & 0xFFFF) # ori $at, $at, 0xb20
/* B33D90 800BCBF0 02212021 */ addu $a0, $s1, $at
-/* B33D94 800BCBF4 0C028CBB */ jal SkelAnime_AnimationCtxReset
+/* B33D94 800BCBF4 0C028CBB */ jal AnimationContext_Reset
/* B33D98 800BCBF8 AFA4003C */ sw $a0, 0x3c($sp)
/* B33D9C 800BCBFC 02202025 */ move $a0, $s1
/* B33DA0 800BCC00 0C019143 */ jal func_8006450C
@@ -600,7 +600,7 @@ glabel Gameplay_Init
/* B34440 800BD2A0 0C00B7C6 */ jal func_8002DF18
/* B34444 800BD2A4 8E251C44 */ lw $a1, 0x1c44($s1)
/* B34448 800BD2A8 02202025 */ move $a0, $s1
-/* B3444C 800BD2AC 0C028E43 */ jal func_800A390C
+/* B3444C 800BD2AC 0C028E43 */ jal AnimationContext_Update
/* B34450 800BD2B0 8FA5003C */ lw $a1, 0x3c($sp)
/* B34454 800BD2B4 AE401364 */ sw $zero, 0x1364($s2)
/* B34458 800BD2B8 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016
diff --git a/asm/non_matchings/code/z_play/Gameplay_Update.s b/asm/non_matchings/code/z_play/Gameplay_Update.s
index 6f27b863d7..66651a4360 100644
--- a/asm/non_matchings/code/z_play/Gameplay_Update.s
+++ b/asm/non_matchings/code/z_play/Gameplay_Update.s
@@ -1450,7 +1450,7 @@ glabel L800BE148
/* B3541C 800BE27C 34210B20 */ ori $at, (0x00010B20 & 0xFFFF) # ori $at, $at, 0xb20
/* B35420 800BE280 02012021 */ addu $a0, $s0, $at
/* B35424 800BE284 AFA40034 */ sw $a0, 0x34($sp)
-/* B35428 800BE288 0C028CBB */ jal SkelAnime_AnimationCtxReset
+/* B35428 800BE288 0C028CBB */ jal AnimationContext_Reset
/* B3542C 800BE28C AFA30050 */ sw $v1, 0x50($sp)
/* B35430 800BE290 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* B35434 800BE294 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
@@ -1990,7 +1990,7 @@ glabel L800BE148
/* B35BF0 800BEA50 24050001 */ li $a1, 1
/* B35BF4 800BEA54 02002025 */ move $a0, $s0
.L800BEA58:
-/* B35BF8 800BEA58 0C028E43 */ jal func_800A390C
+/* B35BF8 800BEA58 0C028E43 */ jal AnimationContext_Update
/* B35BFC 800BEA5C 8FA50034 */ lw $a1, 0x34($sp)
/* B35C00 800BEA60 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* B35C04 800BEA64 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086E7D0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086E7D0.s
index 9fc5516514..59f33e1e15 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086E7D0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086E7D0.s
@@ -17,8 +17,8 @@ glabel func_8086E7D0
/* 00014 8086E7E4 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 00018 8086E7E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
-/* 0001C 8086E7EC 3C040500 */ lui $a0, 0x0500 ## $a0 = 05000000
-/* 00020 8086E7F0 248441B0 */ addiu $a0, $a0, 0x41B0 ## $a0 = 050041B0
+/* 0001C 8086E7EC 3C040500 */ lui $a0, %hi(D_050041B0) ## $a0 = 05000000
+/* 00020 8086E7F0 248441B0 */ addiu $a0, $a0, %lo(D_050041B0) ## $a0 = 050041B0
/* 00024 8086E7F4 0C010620 */ jal DynaPolyInfo_Alloc
/* 00028 8086E7F8 27A5001C */ addiu $a1, $sp, 0x001C ## $a1 = FFFFFFF4
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086ED50.s b/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086ED50.s
index 9de75d5300..f96596d485 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086ED50.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086ED50.s
@@ -1,8 +1,8 @@
glabel func_8086ED50
-/* 00580 8086ED50 3C0E0500 */ lui $t6, 0x0500 ## $t6 = 05000000
+/* 00580 8086ED50 3C0E0500 */ lui $t6, %hi(D_05003FC0) ## $t6 = 05000000
/* 00584 8086ED54 3C0F8087 */ lui $t7, %hi(func_8086ED70) ## $t7 = 80870000
/* 00588 8086ED58 AFA50004 */ sw $a1, 0x0004($sp)
-/* 0058C 8086ED5C 25CE3FC0 */ addiu $t6, $t6, 0x3FC0 ## $t6 = 05003FC0
+/* 0058C 8086ED5C 25CE3FC0 */ addiu $t6, $t6, %lo(D_05003FC0) ## $t6 = 05003FC0
/* 00590 8086ED60 25EFED70 */ addiu $t7, $t7, %lo(func_8086ED70) ## $t7 = 8086ED70
/* 00594 8086ED64 AC8E029C */ sw $t6, 0x029C($a0) ## 0000029C
/* 00598 8086ED68 03E00008 */ jr $ra
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EDFC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EDFC.s
index 09d803e2d2..7a28808ed8 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EDFC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EDFC.s
@@ -1,8 +1,8 @@
glabel func_8086EDFC
/* 0062C 8086EDFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00630 8086EE00 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00634 8086EE04 3C0E0500 */ lui $t6, 0x0500 ## $t6 = 05000000
-/* 00638 8086EE08 25CE3FC0 */ addiu $t6, $t6, 0x3FC0 ## $t6 = 05003FC0
+/* 00634 8086EE04 3C0E0500 */ lui $t6, %hi(D_05003FC0) ## $t6 = 05000000
+/* 00638 8086EE08 25CE3FC0 */ addiu $t6, $t6, %lo(D_05003FC0) ## $t6 = 05003FC0
/* 0063C 8086EE0C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00640 8086EE10 AC8E029C */ sw $t6, 0x029C($a0) ## 0000029C
/* 00644 8086EE14 A48F02A0 */ sh $t7, 0x02A0($a0) ## 000002A0
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EE94.s b/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EE94.s
index 0c0192e9df..a138020481 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EE94.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Bombwall/func_8086EE94.s
@@ -1,8 +1,8 @@
glabel func_8086EE94
/* 006C4 8086EE94 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
-/* 006C8 8086EE98 3C0E0500 */ lui $t6, 0x0500 ## $t6 = 05000000
+/* 006C8 8086EE98 3C0E0500 */ lui $t6, %hi(D_05004088) ## $t6 = 05000000
/* 006CC 8086EE9C AFBF0014 */ sw $ra, 0x0014($sp)
-/* 006D0 8086EEA0 25CE4088 */ addiu $t6, $t6, 0x4088 ## $t6 = 05004088
+/* 006D0 8086EEA0 25CE4088 */ addiu $t6, $t6, %lo(D_05004088) ## $t6 = 05004088
/* 006D4 8086EEA4 AC8E029C */ sw $t6, 0x029C($a0) ## 0000029C
/* 006D8 8086EEA8 0C21BAB0 */ jal func_8086EAC0
/* 006DC 8086EEAC AFA40018 */ sw $a0, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_8087328C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_8087328C.s
index fb0e03c046..4c82cabcba 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_8087328C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_8087328C.s
@@ -9,7 +9,7 @@ glabel func_8087328C
/* 00A78 808732A8 15E10015 */ bne $t7, $at, .L80873300
/* 00A7C 808732AC 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00A80 808732B0 3C040601 */ lui $a0, %hi(D_06008698) ## $a0 = 06010000
-/* 00A84 808732B4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00A84 808732B4 0C028800 */ jal Animation_GetLastFrame
/* 00A88 808732B8 24848698 */ addiu $a0, $a0, %lo(D_06008698) ## $a0 = 06008698
/* 00A8C 808732BC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -25,13 +25,13 @@ glabel func_8087328C
/* 00AB4 808732E4 AFB80014 */ sw $t8, 0x0014($sp)
/* 00AB8 808732E8 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00ABC 808732EC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00AC0 808732F0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00AC0 808732F0 0C029468 */ jal Animation_Change
/* 00AC4 808732F4 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 00AC8 808732F8 10000013 */ beq $zero, $zero, .L80873348
/* 00ACC 808732FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80873300:
-/* 00AD0 80873300 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00AD0 80873300 0C028800 */ jal Animation_GetLastFrame
/* 00AD4 80873304 248431C0 */ addiu $a0, $a0, 0x31C0 ## $a0 = 000031C0
/* 00AD8 80873308 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -47,7 +47,7 @@ glabel func_8087328C
/* 00B00 80873330 AFB90014 */ sw $t9, 0x0014($sp)
/* 00B04 80873334 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00B08 80873338 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00B0C 8087333C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B0C 8087333C 0C029468 */ jal Animation_Change
/* 00B10 80873340 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 00B14 80873344 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873380.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873380.s
index f6e068bc19..7f6591f91b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873380.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873380.s
@@ -59,7 +59,7 @@ glabel func_80873380
/* 00C10 80873440 284103E8 */ slti $at, $v0, 0x03E8
/* 00C14 80873444 10200017 */ beq $at, $zero, .L808734A4
/* 00C18 80873448 00000000 */ nop
-/* 00C1C 8087344C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00C1C 8087344C 0C02927F */ jal SkelAnime_Update
/* 00C20 80873450 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 00C24 80873454 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_808734DC.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_808734DC.s
index 5ccb38078d..847ab7f752 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_808734DC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_808734DC.s
@@ -30,7 +30,7 @@ glabel func_808734DC
/* 00D08 80873538 00000000 */ nop
/* 00D0C 8087353C E4B20324 */ swc1 $f18, 0x0324($a1) ## 00000324
.L80873540:
-/* 00D10 80873540 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D10 80873540 0C02927F */ jal SkelAnime_Update
/* 00D14 80873544 AFA50020 */ sw $a1, 0x0020($sp)
/* 00D18 80873548 8FA50020 */ lw $a1, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_8087358C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_8087358C.s
index a973902d18..5685571f25 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_8087358C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_8087358C.s
@@ -15,7 +15,7 @@ glabel func_8087358C
/* 00D90 808735C0 15E10014 */ bne $t7, $at, .L80873614
/* 00D94 808735C4 00000000 */ nop
/* 00D98 808735C8 3C040602 */ lui $a0, %hi(D_0601D514) ## $a0 = 06020000
-/* 00D9C 808735CC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00D9C 808735CC 0C028800 */ jal Animation_GetLastFrame
/* 00DA0 808735D0 2484D514 */ addiu $a0, $a0, %lo(D_0601D514) ## $a0 = 0601D514
/* 00DA4 808735D4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -30,13 +30,13 @@ glabel func_8087358C
/* 00DC8 808735F8 E600032C */ swc1 $f0, 0x032C($s0) ## 0000032C
/* 00DCC 808735FC AFA00014 */ sw $zero, 0x0014($sp)
/* 00DD0 80873600 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 00DD4 80873604 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00DD4 80873604 0C029468 */ jal Animation_Change
/* 00DD8 80873608 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 00DDC 8087360C 10000012 */ beq $zero, $zero, .L80873658
/* 00DE0 80873610 241800DB */ addiu $t8, $zero, 0x00DB ## $t8 = 000000DB
.L80873614:
-/* 00DE4 80873614 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00DE4 80873614 0C028800 */ jal Animation_GetLastFrame
/* 00DE8 80873618 24841DF0 */ addiu $a0, $a0, 0x1DF0 ## $a0 = 00001DF0
/* 00DEC 8087361C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -51,7 +51,7 @@ glabel func_8087358C
/* 00E10 80873640 E600032C */ swc1 $f0, 0x032C($s0) ## 0000032C
/* 00E14 80873644 AFA00014 */ sw $zero, 0x0014($sp)
/* 00E18 80873648 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 00E1C 8087364C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00E1C 8087364C 0C029468 */ jal Animation_Change
/* 00E20 80873650 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 00E24 80873654 241800DB */ addiu $t8, $zero, 0x00DB ## $t8 = 000000DB
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_808736A4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_808736A4.s
index e0ac22e3e7..68ba94a848 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_808736A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_808736A4.s
@@ -30,7 +30,7 @@ glabel func_808736A4
/* 00ED0 80873700 00000000 */ nop
/* 00ED4 80873704 E60A0324 */ swc1 $f10, 0x0324($s0) ## 00000324
.L80873708:
-/* 00ED8 80873708 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00ED8 80873708 0C02927F */ jal SkelAnime_Update
/* 00EDC 8087370C 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 00EE0 80873710 0C042F6F */ jal func_8010BDBC
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873780.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873780.s
index 2b02910a34..6fd0eb7565 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873780.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873780.s
@@ -8,7 +8,7 @@ glabel func_80873780
/* 00F68 80873798 15C10015 */ bne $t6, $at, .L808737F0
/* 00F6C 8087379C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00F70 808737A0 3C040600 */ lui $a0, %hi(D_060069E8) ## $a0 = 06000000
-/* 00F74 808737A4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00F74 808737A4 0C028800 */ jal Animation_GetLastFrame
/* 00F78 808737A8 248469E8 */ addiu $a0, $a0, %lo(D_060069E8) ## $a0 = 060069E8
/* 00F7C 808737AC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -24,13 +24,13 @@ glabel func_80873780
/* 00FA4 808737D4 AFAF0014 */ sw $t7, 0x0014($sp)
/* 00FA8 808737D8 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00FAC 808737DC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00FB0 808737E0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00FB0 808737E0 0C029468 */ jal Animation_Change
/* 00FB4 808737E4 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 00FB8 808737E8 10000013 */ beq $zero, $zero, .L80873838
/* 00FBC 808737EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L808737F0:
-/* 00FC0 808737F0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00FC0 808737F0 0C028800 */ jal Animation_GetLastFrame
/* 00FC4 808737F4 24845810 */ addiu $a0, $a0, 0x5810 ## $a0 = 00005810
/* 00FC8 808737F8 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -46,7 +46,7 @@ glabel func_80873780
/* 00FF0 80873820 AFB80014 */ sw $t8, 0x0014($sp)
/* 00FF4 80873824 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00FF8 80873828 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00FFC 8087382C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00FFC 8087382C 0C029468 */ jal Animation_Change
/* 01000 80873830 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01004 80873834 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873868.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873868.s
index 756512b852..53b03ad4c0 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873868.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873868.s
@@ -32,7 +32,7 @@ glabel func_80873868
.L808738CC:
/* 0109C 808738CC 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 010A0 808738D0 AFA40044 */ sw $a0, 0x0044($sp)
-/* 010A4 808738D4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 010A4 808738D4 0C02927F */ jal SkelAnime_Update
/* 010A8 808738D8 E7AC0058 */ swc1 $f12, 0x0058($sp)
/* 010AC 808738DC C7AC0058 */ lwc1 $f12, 0x0058($sp)
@@ -51,7 +51,7 @@ glabel func_80873868
/* 010E0 80873910 15410014 */ bne $t2, $at, .L80873964
/* 010E4 80873914 00000000 */ nop
/* 010E8 80873918 3C040600 */ lui $a0, %hi(D_06007CA8) ## $a0 = 06000000
-/* 010EC 8087391C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 010EC 8087391C 0C028800 */ jal Animation_GetLastFrame
/* 010F0 80873920 24847CA8 */ addiu $a0, $a0, %lo(D_06007CA8) ## $a0 = 06007CA8
/* 010F4 80873924 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -66,13 +66,13 @@ glabel func_80873868
/* 01118 80873948 AFA00014 */ sw $zero, 0x0014($sp)
/* 0111C 8087394C E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01120 80873950 8FA40044 */ lw $a0, 0x0044($sp)
-/* 01124 80873954 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01124 80873954 0C029468 */ jal Animation_Change
/* 01128 80873958 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 0112C 8087395C 10000012 */ beq $zero, $zero, .L808739A8
/* 01130 80873960 860C02EA */ lh $t4, 0x02EA($s0) ## 000002EA
.L80873964:
-/* 01134 80873964 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01134 80873964 0C028800 */ jal Animation_GetLastFrame
/* 01138 80873968 24844344 */ addiu $a0, $a0, 0x4344 ## $a0 = 00004344
/* 0113C 8087396C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -87,7 +87,7 @@ glabel func_80873868
/* 01160 80873990 AFA00014 */ sw $zero, 0x0014($sp)
/* 01164 80873994 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01168 80873998 8FA40044 */ lw $a0, 0x0044($sp)
-/* 0116C 8087399C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0116C 8087399C 0C029468 */ jal Animation_Change
/* 01170 808739A0 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 01174 808739A4 860C02EA */ lh $t4, 0x02EA($s0) ## 000002EA
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873B3C.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873B3C.s
index fd599b025a..c05d7ba0a2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873B3C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873B3C.s
@@ -20,7 +20,7 @@ glabel func_80873B3C
/* 01354 80873B84 00000000 */ nop
/* 01358 80873B88 E48A0324 */ swc1 $f10, 0x0324($a0) ## 00000324
.L80873B8C:
-/* 0135C 80873B8C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0135C 80873B8C 0C02927F */ jal SkelAnime_Update
/* 01360 80873B90 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 01364 80873B94 0C042F6F */ jal func_8010BDBC
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873C14.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873C14.s
index 1cc126db63..c790ada826 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873C14.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873C14.s
@@ -8,7 +8,7 @@ glabel func_80873C14
/* 013FC 80873C2C 15C10015 */ bne $t6, $at, .L80873C84
/* 01400 80873C30 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 01404 80873C34 3C040600 */ lui $a0, %hi(D_06005E60) ## $a0 = 06000000
-/* 01408 80873C38 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01408 80873C38 0C028800 */ jal Animation_GetLastFrame
/* 0140C 80873C3C 24845E60 */ addiu $a0, $a0, %lo(D_06005E60) ## $a0 = 06005E60
/* 01410 80873C40 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -24,13 +24,13 @@ glabel func_80873C14
/* 01438 80873C68 AFAF0014 */ sw $t7, 0x0014($sp)
/* 0143C 80873C6C E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01440 80873C70 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01444 80873C74 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01444 80873C74 0C029468 */ jal Animation_Change
/* 01448 80873C78 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 0144C 80873C7C 10000013 */ beq $zero, $zero, .L80873CCC
/* 01450 80873C80 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
.L80873C84:
-/* 01454 80873C84 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01454 80873C84 0C028800 */ jal Animation_GetLastFrame
/* 01458 80873C88 2484092C */ addiu $a0, $a0, 0x092C ## $a0 = 0000092C
/* 0145C 80873C8C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -46,7 +46,7 @@ glabel func_80873C14
/* 01484 80873CB4 AFB80014 */ sw $t8, 0x0014($sp)
/* 01488 80873CB8 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 0148C 80873CBC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01490 80873CC0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01490 80873CC0 0C029468 */ jal Animation_Change
/* 01494 80873CC4 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01498 80873CC8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873D14.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873D14.s
index 532baa1d65..7df03b2165 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873D14.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873D14.s
@@ -9,7 +9,7 @@ glabel func_80873D14
/* 014EC 80873D1C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 014F0 80873D20 AFBF001C */ sw $ra, 0x001C($sp)
/* 014F4 80873D24 AFA50024 */ sw $a1, 0x0024($sp)
-/* 014F8 80873D28 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 014F8 80873D28 0C02927F */ jal SkelAnime_Update
/* 014FC 80873D2C 24840150 */ addiu $a0, $a0, 0x0150 ## $a0 = 00000150
/* 01500 80873D30 860E02E8 */ lh $t6, 0x02E8($s0) ## 000002E8
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873EA4.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873EA4.s
index 5619428d48..fc8697abe3 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873EA4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873EA4.s
@@ -29,7 +29,7 @@ glabel func_80873EA4
/* 016E0 80873F10 17210015 */ bne $t9, $at, .L80873F68
/* 016E4 80873F14 00000000 */ nop
/* 016E8 80873F18 3C040601 */ lui $a0, %hi(D_06008698) ## $a0 = 06010000
-/* 016EC 80873F1C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 016EC 80873F1C 0C028800 */ jal Animation_GetLastFrame
/* 016F0 80873F20 24848698 */ addiu $a0, $a0, %lo(D_06008698) ## $a0 = 06008698
/* 016F4 80873F24 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -45,13 +45,13 @@ glabel func_80873EA4
/* 0171C 80873F4C AFA80014 */ sw $t0, 0x0014($sp)
/* 01720 80873F50 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01724 80873F54 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01728 80873F58 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01728 80873F58 0C029468 */ jal Animation_Change
/* 0172C 80873F5C E7A60018 */ swc1 $f6, 0x0018($sp)
/* 01730 80873F60 10000013 */ beq $zero, $zero, .L80873FB0
/* 01734 80873F64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80873F68:
-/* 01738 80873F68 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01738 80873F68 0C028800 */ jal Animation_GetLastFrame
/* 0173C 80873F6C 248431C0 */ addiu $a0, $a0, 0x31C0 ## $a0 = 000031C0
/* 01740 80873F70 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -67,7 +67,7 @@ glabel func_80873EA4
/* 01768 80873F98 AFA90014 */ sw $t1, 0x0014($sp)
/* 0176C 80873F9C E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01770 80873FA0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01774 80873FA4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01774 80873FA4 0C029468 */ jal Animation_Change
/* 01778 80873FA8 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 0177C 80873FAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873FD8.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873FD8.s
index c9794a3041..06c039586b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873FD8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80873FD8.s
@@ -58,7 +58,7 @@ glabel func_80873FD8
/* 01864 80874094 284103E8 */ slti $at, $v0, 0x03E8
/* 01868 80874098 10200015 */ beq $at, $zero, .L808740F0
/* 0186C 8087409C 00000000 */ nop
-/* 01870 808740A0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01870 808740A0 0C02927F */ jal SkelAnime_Update
/* 01874 808740A4 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 01878 808740A8 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
@@ -91,7 +91,7 @@ glabel func_80873FD8
.L80874108:
/* 018D8 80874108 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 018DC 8087410C AFA40030 */ sw $a0, 0x0030($sp)
-/* 018E0 80874110 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 018E0 80874110 0C02927F */ jal SkelAnime_Update
/* 018E4 80874114 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 018E8 80874118 C7A00034 */ lwc1 $f0, 0x0034($sp)
@@ -110,7 +110,7 @@ glabel func_80873FD8
/* 0191C 8087414C 15810014 */ bne $t4, $at, .L808741A0
/* 01920 80874150 00000000 */ nop
/* 01924 80874154 3C040602 */ lui $a0, %hi(D_0601D514) ## $a0 = 06020000
-/* 01928 80874158 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01928 80874158 0C028800 */ jal Animation_GetLastFrame
/* 0192C 8087415C 2484D514 */ addiu $a0, $a0, %lo(D_0601D514) ## $a0 = 0601D514
/* 01930 80874160 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -125,13 +125,13 @@ glabel func_80873FD8
/* 01954 80874184 AFA00014 */ sw $zero, 0x0014($sp)
/* 01958 80874188 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 0195C 8087418C 8FA40030 */ lw $a0, 0x0030($sp)
-/* 01960 80874190 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01960 80874190 0C029468 */ jal Animation_Change
/* 01964 80874194 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 01968 80874198 10000012 */ beq $zero, $zero, .L808741E4
/* 0196C 8087419C 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
.L808741A0:
-/* 01970 808741A0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01970 808741A0 0C028800 */ jal Animation_GetLastFrame
/* 01974 808741A4 24841DF0 */ addiu $a0, $a0, 0x1DF0 ## $a0 = 00001DF0
/* 01978 808741A8 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -146,7 +146,7 @@ glabel func_80873FD8
/* 0199C 808741CC AFA00014 */ sw $zero, 0x0014($sp)
/* 019A0 808741D0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 019A4 808741D4 8FA40030 */ lw $a0, 0x0030($sp)
-/* 019A8 808741D8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 019A8 808741D8 0C029468 */ jal Animation_Change
/* 019AC 808741DC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 019B0 808741E0 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
@@ -174,7 +174,7 @@ glabel func_80873FD8
/* 01A00 80874230 15210015 */ bne $t1, $at, .L80874288
/* 01A04 80874234 00000000 */ nop
/* 01A08 80874238 3C040600 */ lui $a0, %hi(D_060069E8) ## $a0 = 06000000
-/* 01A0C 8087423C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01A0C 8087423C 0C028800 */ jal Animation_GetLastFrame
/* 01A10 80874240 248469E8 */ addiu $a0, $a0, %lo(D_060069E8) ## $a0 = 060069E8
/* 01A14 80874244 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -190,13 +190,13 @@ glabel func_80873FD8
/* 01A3C 8087426C AFAA0014 */ sw $t2, 0x0014($sp)
/* 01A40 80874270 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01A44 80874274 8FA40030 */ lw $a0, 0x0030($sp)
-/* 01A48 80874278 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01A48 80874278 0C029468 */ jal Animation_Change
/* 01A4C 8087427C E7B00018 */ swc1 $f16, 0x0018($sp)
/* 01A50 80874280 10000012 */ beq $zero, $zero, .L808742CC
/* 01A54 80874284 00000000 */ nop
.L80874288:
-/* 01A58 80874288 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01A58 80874288 0C028800 */ jal Animation_GetLastFrame
/* 01A5C 8087428C 24845810 */ addiu $a0, $a0, 0x5810 ## $a0 = 00005810
/* 01A60 80874290 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -212,7 +212,7 @@ glabel func_80873FD8
/* 01A88 808742B8 AFAB0014 */ sw $t3, 0x0014($sp)
/* 01A8C 808742BC E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01A90 808742C0 8FA40030 */ lw $a0, 0x0030($sp)
-/* 01A94 808742C4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01A94 808742C4 0C029468 */ jal Animation_Change
/* 01A98 808742C8 E7A40018 */ swc1 $f4, 0x0018($sp)
.L808742CC:
diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80874304.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80874304.s
index ca50a8cb2a..54744f03b9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80874304.s
+++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80874304.s
@@ -33,7 +33,7 @@ glabel func_80874304
.L8087436C:
/* 01B3C 8087436C 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 01B40 80874370 AFA40040 */ sw $a0, 0x0040($sp)
-/* 01B44 80874374 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01B44 80874374 0C02927F */ jal SkelAnime_Update
/* 01B48 80874378 E7AC005C */ swc1 $f12, 0x005C($sp)
/* 01B4C 8087437C C7AC005C */ lwc1 $f12, 0x005C($sp)
@@ -51,7 +51,7 @@ glabel func_80874304
/* 01B7C 808743AC 17210014 */ bne $t9, $at, .L80874400
/* 01B80 808743B0 00000000 */ nop
/* 01B84 808743B4 3C040600 */ lui $a0, %hi(D_06007CA8) ## $a0 = 06000000
-/* 01B88 808743B8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01B88 808743B8 0C028800 */ jal Animation_GetLastFrame
/* 01B8C 808743BC 24847CA8 */ addiu $a0, $a0, %lo(D_06007CA8) ## $a0 = 06007CA8
/* 01B90 808743C0 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -66,13 +66,13 @@ glabel func_80874304
/* 01BB4 808743E4 AFA00014 */ sw $zero, 0x0014($sp)
/* 01BB8 808743E8 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01BBC 808743EC 8FA40040 */ lw $a0, 0x0040($sp)
-/* 01BC0 808743F0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01BC0 808743F0 0C029468 */ jal Animation_Change
/* 01BC4 808743F4 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 01BC8 808743F8 10000012 */ beq $zero, $zero, .L80874444
/* 01BCC 808743FC 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
.L80874400:
-/* 01BD0 80874400 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01BD0 80874400 0C028800 */ jal Animation_GetLastFrame
/* 01BD4 80874404 24844344 */ addiu $a0, $a0, 0x4344 ## $a0 = 00004344
/* 01BD8 80874408 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -87,7 +87,7 @@ glabel func_80874304
/* 01BFC 8087442C AFA00014 */ sw $zero, 0x0014($sp)
/* 01C00 80874430 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01C04 80874434 8FA40040 */ lw $a0, 0x0040($sp)
-/* 01C08 80874438 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01C08 80874438 0C029468 */ jal Animation_Change
/* 01C0C 8087443C E7A60018 */ swc1 $f6, 0x0018($sp)
/* 01C10 80874440 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/BossDodongo_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/BossDodongo_Init.s
index 82b9f533e1..b748eb1cff 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/BossDodongo_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/BossDodongo_Init.s
@@ -63,7 +63,7 @@ glabel BossDodongo_Init
/* 00874 808C1A04 AFA00018 */ sw $zero, 0x0018($sp)
/* 00878 808C1A08 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 0087C 808C1A0C 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 0087C 808C1A0C 0C0294BE */ jal Animation_PlayLoop
/* 00880 808C1A10 02402825 */ or $a1, $s2, $zero ## $a1 = 0600F0D8
/* 00884 808C1A14 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00888 808C1A18 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C1C80.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C1C80.s
index af372ef578..99ca560724 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C1C80.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C1C80.s
@@ -4,7 +4,7 @@ glabel func_808C1C80
/* 00AF8 808C1C88 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00AFC 808C1C8C 3C040601 */ lui $a0, %hi(D_0600F0D8) ## $a0 = 06010000
/* 00B00 808C1C90 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00B04 808C1C94 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B04 808C1C94 0C028800 */ jal Animation_GetLastFrame
/* 00B08 808C1C98 2484F0D8 */ addiu $a0, $a0, %lo(D_0600F0D8) ## $a0 = 0600F0D8
/* 00B0C 808C1C9C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_808C1C80
/* 00B30 808C1CC0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00B34 808C1CC4 AFA00014 */ sw $zero, 0x0014($sp)
/* 00B38 808C1CC8 2464014C */ addiu $a0, $v1, 0x014C ## $a0 = 0000014C
-/* 00B3C 808C1CCC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B3C 808C1CCC 0C029468 */ jal Animation_Change
/* 00B40 808C1CD0 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00B44 808C1CD4 8FA30028 */ lw $v1, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C1D00.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C1D00.s
index 5701394fb1..c3bcc03c31 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C1D00.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C1D00.s
@@ -321,7 +321,7 @@ glabel L808C1E60
/* 00F7C 808C210C A60C0198 */ sh $t4, 0x0198($s0) ## 00000198
/* 00F80 808C2110 24848EEC */ addiu $a0, $a0, %lo(D_06008EEC) ## $a0 = 06008EEC
/* 00F84 808C2114 E6080204 */ swc1 $f8, 0x0204($s0) ## 00000204
-/* 00F88 808C2118 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00F88 808C2118 0C028800 */ jal Animation_GetLastFrame
/* 00F8C 808C211C E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C
/* 00F90 808C2120 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -336,10 +336,10 @@ glabel L808C1E60
/* 00FB4 808C2144 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00FB8 808C2148 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00FBC 808C214C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00FC0 808C2150 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00FC0 808C2150 0C029468 */ jal Animation_Change
/* 00FC4 808C2154 E7B20018 */ swc1 $f18, 0x0018($sp)
-/* 00FC8 808C2158 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00FC8 808C2158 0C02927F */ jal SkelAnime_Update
/* 00FCC 808C215C 8FA4003C */ lw $a0, 0x003C($sp)
/* 00FD0 808C2160 10000172 */ beq $zero, $zero, .L808C272C
@@ -479,7 +479,7 @@ glabel L808C2190
/* 011C4 808C2354 A609019C */ sh $t1, 0x019C($s0) ## 0000019C
/* 011C8 808C2358 A60A0196 */ sh $t2, 0x0196($s0) ## 00000196
/* 011CC 808C235C A60B0198 */ sh $t3, 0x0198($s0) ## 00000198
-/* 011D0 808C2360 0C028800 */ jal SkelAnime_GetFrameCount
+/* 011D0 808C2360 0C028800 */ jal Animation_GetLastFrame
/* 011D4 808C2364 E6040204 */ swc1 $f4, 0x0204($s0) ## 00000204
/* 011D8 808C2368 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -494,7 +494,7 @@ glabel L808C2190
/* 011FC 808C238C E7A80010 */ swc1 $f8, 0x0010($sp)
/* 01200 808C2390 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01204 808C2394 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01208 808C2398 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01208 808C2398 0C029468 */ jal Animation_Change
/* 0120C 808C239C E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01210 808C23A0 100000E2 */ beq $zero, $zero, .L808C272C
@@ -634,7 +634,7 @@ glabel L808C23A8
/* 013FC 808C258C 86080196 */ lh $t0, 0x0196($s0) ## 00000196
/* 01400 808C2590 5500000D */ bnel $t0, $zero, .L808C25C8
/* 01404 808C2594 86030198 */ lh $v1, 0x0198($s0) ## 00000198
-/* 01408 808C2598 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01408 808C2598 0C02927F */ jal SkelAnime_Update
/* 0140C 808C259C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01410 808C25A0 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C287C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C287C.s
index 1d0851c22d..fb5db65541 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C287C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C287C.s
@@ -8,7 +8,7 @@ glabel func_808C287C
/* 01704 808C2894 106F0016 */ beq $v1, $t7, .L808C28F0
/* 01708 808C2898 3C040600 */ lui $a0, %hi(D_06001074) ## $a0 = 06000000
/* 0170C 808C289C 24841074 */ addiu $a0, $a0, %lo(D_06001074) ## $a0 = 06001074
-/* 01710 808C28A0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01710 808C28A0 0C028800 */ jal Animation_GetLastFrame
/* 01714 808C28A4 AFA30028 */ sw $v1, 0x0028($sp)
/* 01718 808C28A8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -24,7 +24,7 @@ glabel func_808C287C
/* 01740 808C28D0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01744 808C28D4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01748 808C28D8 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 0174C 808C28DC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0174C 808C28DC 0C029468 */ jal Animation_Change
/* 01750 808C28E0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01754 808C28E4 8FA30028 */ lw $v1, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C290C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C290C.s
index e99da35976..0c4891b692 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C290C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C290C.s
@@ -4,7 +4,7 @@ glabel func_808C290C
/* 01784 808C2914 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01788 808C2918 AFBF002C */ sw $ra, 0x002C($sp)
/* 0178C 808C291C 3C040601 */ lui $a0, %hi(D_0600E848) ## $a0 = 06010000
-/* 01790 808C2920 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01790 808C2920 0C028800 */ jal Animation_GetLastFrame
/* 01794 808C2924 2484E848 */ addiu $a0, $a0, %lo(D_0600E848) ## $a0 = 0600E848
/* 01798 808C2928 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_808C290C
/* 017BC 808C294C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 017C0 808C2950 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 017C4 808C2954 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 017C8 808C2958 0C029468 */ jal SkelAnime_ChangeAnim
+/* 017C8 808C2958 0C029468 */ jal Animation_Change
/* 017CC 808C295C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 017D0 808C2960 3C014248 */ lui $at, 0x4248 ## $at = 42480000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C29B0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C29B0.s
index 37a737f900..bddbc4cf21 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C29B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C29B0.s
@@ -4,7 +4,7 @@ glabel func_808C29B0
/* 01828 808C29B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0182C 808C29BC AFBF002C */ sw $ra, 0x002C($sp)
/* 01830 808C29C0 3C040602 */ lui $a0, %hi(D_0601D934) ## $a0 = 06020000
-/* 01834 808C29C4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01834 808C29C4 0C028800 */ jal Animation_GetLastFrame
/* 01838 808C29C8 2484D934 */ addiu $a0, $a0, %lo(D_0601D934) ## $a0 = 0601D934
/* 0183C 808C29CC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_808C29B0
/* 01860 808C29F0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01864 808C29F4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01868 808C29F8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 0186C 808C29FC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0186C 808C29FC 0C029468 */ jal Animation_Change
/* 01870 808C2A00 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 01874 808C2A04 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2A40.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2A40.s
index 1afe99e7bf..32ae0eb303 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2A40.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2A40.s
@@ -14,7 +14,7 @@ glabel func_808C2A40
/* 018E0 808C2A70 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 018E4 808C2A74 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 018E8 808C2A78 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 018EC 808C2A7C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 018EC 808C2A7C 0C029468 */ jal Animation_Change
/* 018F0 808C2A80 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 018F4 808C2A84 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2AB0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2AB0.s
index 44e5eb133d..79e7714b6c 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2AB0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2AB0.s
@@ -7,7 +7,7 @@ glabel func_808C2AB0
/* 01934 808C2AC4 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
/* 01938 808C2AC8 E48001E4 */ swc1 $f0, 0x01E4($a0) ## 000001E4
/* 0193C 808C2ACC 3C040600 */ lui $a0, %hi(D_060061D4) ## $a0 = 06000000
-/* 01940 808C2AD0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01940 808C2AD0 0C028800 */ jal Animation_GetLastFrame
/* 01944 808C2AD4 248461D4 */ addiu $a0, $a0, %lo(D_060061D4) ## $a0 = 060061D4
/* 01948 808C2AD8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -21,7 +21,7 @@ glabel func_808C2AB0
/* 01968 808C2AF8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0196C 808C2AFC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01970 808C2B00 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 01974 808C2B04 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01974 808C2B04 0C029468 */ jal Animation_Change
/* 01978 808C2B08 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0197C 808C2B0C 3C0F808C */ lui $t7, %hi(func_808C30F4) ## $t7 = 808C0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2B38.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2B38.s
index d19e4f2822..2c2b2163ba 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2B38.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2B38.s
@@ -6,7 +6,7 @@ glabel func_808C2B38
/* 019B8 808C2B48 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 019BC 808C2B4C E4840068 */ swc1 $f4, 0x0068($a0) ## 00000068
/* 019C0 808C2B50 3C040601 */ lui $a0, %hi(D_06008EEC) ## $a0 = 06010000
-/* 019C4 808C2B54 0C028800 */ jal SkelAnime_GetFrameCount
+/* 019C4 808C2B54 0C028800 */ jal Animation_GetLastFrame
/* 019C8 808C2B58 24848EEC */ addiu $a0, $a0, %lo(D_06008EEC) ## $a0 = 06008EEC
/* 019CC 808C2B5C 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -21,7 +21,7 @@ glabel func_808C2B38
/* 019F0 808C2B80 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 019F4 808C2B84 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 019F8 808C2B88 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 019FC 808C2B8C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 019FC 808C2B8C 0C029468 */ jal Animation_Change
/* 01A00 808C2B90 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01A04 808C2B94 3C0F808C */ lui $t7, %hi(func_808C3224) ## $t7 = 808C0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2BC8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2BC8.s
index 920b9e4201..b8293fe24e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2BC8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2BC8.s
@@ -9,7 +9,7 @@ glabel func_808C2BC8
/* 01A40 808C2BD0 AFBF001C */ sw $ra, 0x001C($sp)
/* 01A44 808C2BD4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01A48 808C2BD8 AFA5002C */ sw $a1, 0x002C($sp)
-/* 01A4C 808C2BDC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01A4C 808C2BDC 0C02927F */ jal SkelAnime_Update
/* 01A50 808C2BE0 AFA40020 */ sw $a0, 0x0020($sp)
/* 01A54 808C2BE4 3C01808D */ lui $at, %hi(D_808CA6B4) ## $at = 808D0000
@@ -35,14 +35,14 @@ glabel func_808C2BC8
/* 01AA0 808C2C30 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01AA4 808C2C34 3C040600 */ lui $a0, %hi(D_06001074) ## $a0 = 06000000
-/* 01AA8 808C2C38 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01AA8 808C2C38 0C028800 */ jal Animation_GetLastFrame
/* 01AAC 808C2C3C 24841074 */ addiu $a0, $a0, %lo(D_06001074) ## $a0 = 06001074
/* 01AB0 808C2C40 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 01AB4 808C2C44 8FA40020 */ lw $a0, 0x0020($sp)
/* 01AB8 808C2C48 46804220 */ cvt.s.w $f8, $f8
/* 01ABC 808C2C4C 44054000 */ mfc1 $a1, $f8
-/* 01AC0 808C2C50 0C0295B2 */ jal func_800A56C8
+/* 01AC0 808C2C50 0C0295B2 */ jal Animation_OnFrame
/* 01AC4 808C2C54 00000000 */ nop
/* 01AC8 808C2C58 50400004 */ beql $v0, $zero, .L808C2C6C
/* 01ACC 808C2C5C 8FBF001C */ lw $ra, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2C78.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2C78.s
index 272c7ddbda..58b3e40d2a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2C78.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2C78.s
@@ -31,7 +31,7 @@ glabel func_808C2C78
/* 01B48 808C2CD8 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01B4C 808C2CDC 2624014C */ addiu $a0, $s1, 0x014C ## $a0 = 0000014C
-/* 01B50 808C2CE0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01B50 808C2CE0 0C02927F */ jal SkelAnime_Update
/* 01B54 808C2CE4 AFA40070 */ sw $a0, 0x0070($sp)
/* 01B58 808C2CE8 862E01DA */ lh $t6, 0x01DA($s1) ## 000001DA
@@ -107,7 +107,7 @@ glabel func_808C2C78
/* 01C60 808C2DF0 00000000 */ nop
/* 01C64 808C2DF4 3C100600 */ lui $s0, %hi(D_06004E0C) ## $s0 = 06000000
/* 01C68 808C2DF8 26104E0C */ addiu $s0, $s0, %lo(D_06004E0C) ## $s0 = 06004E0C
-/* 01C6C 808C2DFC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01C6C 808C2DFC 0C028800 */ jal Animation_GetLastFrame
/* 01C70 808C2E00 02002025 */ or $a0, $s0, $zero ## $a0 = 06004E0C
/* 01C74 808C2E04 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -121,7 +121,7 @@ glabel func_808C2C78
/* 01C94 808C2E24 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01C98 808C2E28 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01C9C 808C2E2C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01CA0 808C2E30 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01CA0 808C2E30 0C029468 */ jal Animation_Change
/* 01CA4 808C2E34 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 01CA8 808C2E38 3C09808C */ lui $t1, %hi(func_808C2ECC) ## $t1 = 808C0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2ECC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2ECC.s
index cae043c9ba..05e33e6131 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2ECC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2ECC.s
@@ -23,22 +23,22 @@ glabel func_808C2ECC
/* 01D7C 808C2F0C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01D80 808C2F10 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 01D84 808C2F14 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01D84 808C2F14 0C02927F */ jal SkelAnime_Update
/* 01D88 808C2F18 AFA40030 */ sw $a0, 0x0030($sp)
/* 01D8C 808C2F1C 3C040600 */ lui $a0, %hi(D_06004E0C) ## $a0 = 06000000
-/* 01D90 808C2F20 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01D90 808C2F20 0C028800 */ jal Animation_GetLastFrame
/* 01D94 808C2F24 24844E0C */ addiu $a0, $a0, %lo(D_06004E0C) ## $a0 = 06004E0C
/* 01D98 808C2F28 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
/* 01D9C 808C2F2C 8FA40030 */ lw $a0, 0x0030($sp)
/* 01DA0 808C2F30 468031A0 */ cvt.s.w $f6, $f6
/* 01DA4 808C2F34 44053000 */ mfc1 $a1, $f6
-/* 01DA8 808C2F38 0C0295B2 */ jal func_800A56C8
+/* 01DA8 808C2F38 0C0295B2 */ jal Animation_OnFrame
/* 01DAC 808C2F3C 00000000 */ nop
/* 01DB0 808C2F40 10400015 */ beq $v0, $zero, .L808C2F98
/* 01DB4 808C2F44 3C040600 */ lui $a0, %hi(D_060042A8) ## $a0 = 06000000
-/* 01DB8 808C2F48 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01DB8 808C2F48 0C028800 */ jal Animation_GetLastFrame
/* 01DBC 808C2F4C 248442A8 */ addiu $a0, $a0, %lo(D_060042A8) ## $a0 = 060042A8
/* 01DC0 808C2F50 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -52,7 +52,7 @@ glabel func_808C2ECC
/* 01DE0 808C2F70 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01DE4 808C2F74 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 01DE8 808C2F78 AFA00014 */ sw $zero, 0x0014($sp)
-/* 01DEC 808C2F7C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01DEC 808C2F7C 0C029468 */ jal Animation_Change
/* 01DF0 808C2F80 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 01DF4 808C2F84 3C0F808C */ lui $t7, %hi(func_808C2FAC) ## $t7 = 808C0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2FAC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2FAC.s
index bc038343d3..191f0a67dc 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2FAC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C2FAC.s
@@ -35,14 +35,14 @@ glabel func_808C2FAC
/* 01E84 808C3014 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01E88 808C3018 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 01E8C 808C301C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01E8C 808C301C 0C02927F */ jal SkelAnime_Update
/* 01E90 808C3020 AFA40030 */ sw $a0, 0x0030($sp)
/* 01E94 808C3024 860F01DA */ lh $t7, 0x01DA($s0) ## 000001DA
/* 01E98 808C3028 3C040601 */ lui $a0, %hi(D_06009D10) ## $a0 = 06010000
/* 01E9C 808C302C 55E00015 */ bnel $t7, $zero, .L808C3084
/* 01EA0 808C3030 8FBF002C */ lw $ra, 0x002C($sp)
-/* 01EA4 808C3034 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01EA4 808C3034 0C028800 */ jal Animation_GetLastFrame
/* 01EA8 808C3038 24849D10 */ addiu $a0, $a0, %lo(D_06009D10) ## $a0 = 06009D10
/* 01EAC 808C303C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -57,7 +57,7 @@ glabel func_808C2FAC
/* 01ED0 808C3060 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 01ED4 808C3064 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01ED8 808C3068 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01EDC 808C306C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01EDC 808C306C 0C029468 */ jal Animation_Change
/* 01EE0 808C3070 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 01EE4 808C3074 3C19808C */ lui $t9, %hi(func_808C3094) ## $t9 = 808C0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3094.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3094.s
index d85da9b01e..dfb5f87134 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3094.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3094.s
@@ -4,18 +4,18 @@ glabel func_808C3094
/* 01F0C 808C309C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01F10 808C30A0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01F14 808C30A4 AFA50024 */ sw $a1, 0x0024($sp)
-/* 01F18 808C30A8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01F18 808C30A8 0C02927F */ jal SkelAnime_Update
/* 01F1C 808C30AC AFA40018 */ sw $a0, 0x0018($sp)
/* 01F20 808C30B0 3C040601 */ lui $a0, %hi(D_06009D10) ## $a0 = 06010000
-/* 01F24 808C30B4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01F24 808C30B4 0C028800 */ jal Animation_GetLastFrame
/* 01F28 808C30B8 24849D10 */ addiu $a0, $a0, %lo(D_06009D10) ## $a0 = 06009D10
/* 01F2C 808C30BC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 01F30 808C30C0 8FA40018 */ lw $a0, 0x0018($sp)
/* 01F34 808C30C4 46802120 */ cvt.s.w $f4, $f4
/* 01F38 808C30C8 44052000 */ mfc1 $a1, $f4
-/* 01F3C 808C30CC 0C0295B2 */ jal func_800A56C8
+/* 01F3C 808C30CC 0C0295B2 */ jal Animation_OnFrame
/* 01F40 808C30D0 00000000 */ nop
/* 01F44 808C30D4 50400004 */ beql $v0, $zero, .L808C30E8
/* 01F48 808C30D8 8FBF0014 */ lw $ra, 0x0014($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C30F4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C30F4.s
index 3bee0db96a..642e6676aa 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C30F4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C30F4.s
@@ -23,11 +23,11 @@ glabel func_808C30F4
/* 01FB8 808C3148 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01FBC 808C314C AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE8
/* 01FC0 808C3150 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFEC
-/* 01FC4 808C3154 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01FC4 808C3154 0C02927F */ jal SkelAnime_Update
/* 01FC8 808C3158 AFA40028 */ sw $a0, 0x0028($sp)
/* 01FCC 808C315C 8FA40028 */ lw $a0, 0x0028($sp)
-/* 01FD0 808C3160 0C0295B2 */ jal func_800A56C8
+/* 01FD0 808C3160 0C0295B2 */ jal Animation_OnFrame
/* 01FD4 808C3164 3C054140 */ lui $a1, 0x4140 ## $a1 = 41400000
/* 01FD8 808C3168 10400003 */ beq $v0, $zero, .L808C3178
/* 01FDC 808C316C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -36,7 +36,7 @@ glabel func_808C30F4
/* 01FE4 808C3174 24053805 */ addiu $a1, $zero, 0x3805 ## $a1 = 00003805
.L808C3178:
/* 01FE8 808C3178 8FA40028 */ lw $a0, 0x0028($sp)
-/* 01FEC 808C317C 0C0295B2 */ jal func_800A56C8
+/* 01FEC 808C317C 0C0295B2 */ jal Animation_OnFrame
/* 01FF0 808C3180 3C054188 */ lui $a1, 0x4188 ## $a1 = 41880000
/* 01FF4 808C3184 10400003 */ beq $v0, $zero, .L808C3194
/* 01FF8 808C3188 3C014188 */ lui $at, 0x4188 ## $at = 41880000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3224.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3224.s
index 51480d701c..ca39826acb 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3224.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3224.s
@@ -23,7 +23,7 @@ glabel func_808C3224
/* 020E0 808C3270 0C01E0C4 */ jal Math_SmoothStepToF
/* 020E4 808C3274 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 020E8 808C3278 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 020E8 808C3278 0C02927F */ jal SkelAnime_Update
/* 020EC 808C327C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 020F0 808C3280 861801DA */ lh $t8, 0x01DA($s0) ## 000001DA
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C32F4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C32F4.s
index c63f0bd57e..494bdfd965 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C32F4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C32F4.s
@@ -16,12 +16,12 @@ glabel func_808C32F4
/* 0217C 808C330C 15C0000C */ bne $t6, $zero, .L808C3340
/* 02180 808C3310 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02184 808C3314 AFA4003C */ sw $a0, 0x003C($sp)
-/* 02188 808C3318 0C0295B2 */ jal func_800A56C8
+/* 02188 808C3318 0C0295B2 */ jal Animation_OnFrame
/* 0218C 808C331C 3C054160 */ lui $a1, 0x4160 ## $a1 = 41600000
/* 02190 808C3320 10400050 */ beq $v0, $zero, .L808C3464
/* 02194 808C3324 8FA4003C */ lw $a0, 0x003C($sp)
/* 02198 808C3328 3C050602 */ lui $a1, %hi(D_0601CAE0) ## $a1 = 06020000
-/* 0219C 808C332C 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 0219C 808C332C 0C0294BE */ jal Animation_PlayLoop
/* 021A0 808C3330 24A5CAE0 */ addiu $a1, $a1, %lo(D_0601CAE0) ## $a1 = 0601CAE0
/* 021A4 808C3334 24030001 */ addiu $v1, $zero, 0x0001 ## $v1 = 00000001
/* 021A8 808C3338 1000004A */ beq $zero, $zero, .L808C3464
@@ -108,7 +108,7 @@ glabel func_808C32F4
/* 022CC 808C345C 0C02A7DB */ jal func_800A9F6C
/* 022D0 808C3460 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064
.L808C3464:
-/* 022D4 808C3464 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 022D4 808C3464 0C02927F */ jal SkelAnime_Update
/* 022D8 808C3468 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 022DC 808C346C 3C01808D */ lui $at, %hi(D_808CA6C4) ## $at = 808D0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3704.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3704.s
index 6acd1b9e7b..ef4a4dfa0f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3704.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C3704.s
@@ -17,7 +17,7 @@ glabel func_808C3704
/* 0258C 808C371C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02590 808C3720 01C17825 */ or $t7, $t6, $at ## $t7 = 01000000
/* 02594 808C3724 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
-/* 02598 808C3728 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02598 808C3728 0C02927F */ jal SkelAnime_Update
/* 0259C 808C372C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 025A0 808C3730 860201DA */ lh $v0, 0x01DA($s0) ## 000001DA
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C54C0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C54C0.s
index 1c0075fe37..6d868790ad 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C54C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C54C0.s
@@ -7,7 +7,7 @@ glabel func_808C54C0
/* 04344 808C54D4 E4800068 */ swc1 $f0, 0x0068($a0) ## 00000068
/* 04348 808C54D8 E48001E4 */ swc1 $f0, 0x01E4($a0) ## 000001E4
/* 0434C 808C54DC 3C040600 */ lui $a0, %hi(D_06002D0C) ## $a0 = 06000000
-/* 04350 808C54E0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04350 808C54E0 0C028800 */ jal Animation_GetLastFrame
/* 04354 808C54E4 24842D0C */ addiu $a0, $a0, %lo(D_06002D0C) ## $a0 = 06002D0C
/* 04358 808C54E8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -22,7 +22,7 @@ glabel func_808C54C0
/* 0437C 808C550C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 04380 808C5510 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04384 808C5514 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 04388 808C5518 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04388 808C5518 0C029468 */ jal Animation_Change
/* 0438C 808C551C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 04390 808C5520 3C0F808C */ lui $t7, %hi(func_808C5578) ## $t7 = 808C0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C5578.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C5578.s
index db19034e9c..b4dc4d4c6b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C5578.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/func_808C5578.s
@@ -93,7 +93,7 @@ glabel func_808C5578
/* 043FC 808C558C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 04400 808C5590 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 04404 808C5594 AFA4004C */ sw $a0, 0x004C($sp)
-/* 04408 808C5598 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04408 808C5598 0C02927F */ jal SkelAnime_Update
/* 0440C 808C559C AFAF0160 */ sw $t7, 0x0160($sp)
/* 04410 808C55A0 8603019C */ lh $v1, 0x019C($s0) ## 0000019C
@@ -294,18 +294,18 @@ glabel L808C5670
/* 046E0 808C5870 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 046E4 808C5874 3C040600 */ lui $a0, %hi(D_06002D0C) ## $a0 = 06000000
-/* 046E8 808C5878 0C028800 */ jal SkelAnime_GetFrameCount
+/* 046E8 808C5878 0C028800 */ jal Animation_GetLastFrame
/* 046EC 808C587C 24842D0C */ addiu $a0, $a0, %lo(D_06002D0C) ## $a0 = 06002D0C
/* 046F0 808C5880 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
/* 046F4 808C5884 8FA4004C */ lw $a0, 0x004C($sp)
/* 046F8 808C5888 468052A0 */ cvt.s.w $f10, $f10
/* 046FC 808C588C 44055000 */ mfc1 $a1, $f10
-/* 04700 808C5890 0C0295B2 */ jal func_800A56C8
+/* 04700 808C5890 0C0295B2 */ jal Animation_OnFrame
/* 04704 808C5894 00000000 */ nop
/* 04708 808C5898 104004FA */ beq $v0, $zero, .L808C6C84
/* 0470C 808C589C 3C040600 */ lui $a0, %hi(D_06003CF8) ## $a0 = 06000000
-/* 04710 808C58A0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04710 808C58A0 0C028800 */ jal Animation_GetLastFrame
/* 04714 808C58A4 24843CF8 */ addiu $a0, $a0, %lo(D_06003CF8) ## $a0 = 06003CF8
/* 04718 808C58A8 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -320,7 +320,7 @@ glabel L808C5670
/* 0473C 808C58CC E7A40010 */ swc1 $f4, 0x0010($sp)
/* 04740 808C58D0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04744 808C58D4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 04748 808C58D8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04748 808C58D8 0C029468 */ jal Animation_Change
/* 0474C 808C58DC E7A60018 */ swc1 $f6, 0x0018($sp)
/* 04750 808C58E0 24090006 */ addiu $t1, $zero, 0x0006 ## $t1 = 00000006
@@ -384,14 +384,14 @@ glabel L808C5934
/* 04828 808C59B8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0482C 808C59BC 3C040600 */ lui $a0, %hi(D_06003CF8) ## $a0 = 06000000
-/* 04830 808C59C0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04830 808C59C0 0C028800 */ jal Animation_GetLastFrame
/* 04834 808C59C4 24843CF8 */ addiu $a0, $a0, %lo(D_06003CF8) ## $a0 = 06003CF8
/* 04838 808C59C8 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 0483C 808C59CC 8FA4004C */ lw $a0, 0x004C($sp)
/* 04840 808C59D0 46804220 */ cvt.s.w $f8, $f8
/* 04844 808C59D4 44054000 */ mfc1 $a1, $f8
-/* 04848 808C59D8 0C0295B2 */ jal func_800A56C8
+/* 04848 808C59D8 0C0295B2 */ jal Animation_OnFrame
/* 0484C 808C59DC 00000000 */ nop
/* 04850 808C59E0 104004A8 */ beq $v0, $zero, .L808C6C84
/* 04854 808C59E4 8FA4004C */ lw $a0, 0x004C($sp)
@@ -406,7 +406,7 @@ glabel L808C5934
/* 04878 808C5A08 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0487C 808C5A0C 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 04880 808C5A10 E7AA0010 */ swc1 $f10, 0x0010($sp)
-/* 04884 808C5A14 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04884 808C5A14 0C029468 */ jal Animation_Change
/* 04888 808C5A18 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 0488C 808C5A1C 240D0007 */ addiu $t5, $zero, 0x0007 ## $t5 = 00000007
@@ -812,7 +812,7 @@ glabel L808C5FE4
/* 04E5C 808C5FEC 3C040600 */ lui $a0, %hi(D_060042A8) ## $a0 = 06000000
/* 04E60 808C5FF0 54610024 */ bnel $v1, $at, .L808C6084
/* 04E64 808C5FF4 28610356 */ slti $at, $v1, 0x0356
-/* 04E68 808C5FF8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04E68 808C5FF8 0C028800 */ jal Animation_GetLastFrame
/* 04E6C 808C5FFC 248442A8 */ addiu $a0, $a0, %lo(D_060042A8) ## $a0 = 060042A8
/* 04E70 808C6000 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -826,7 +826,7 @@ glabel L808C5FE4
/* 04E90 808C6020 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 04E94 808C6024 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 04E98 808C6028 AFA00014 */ sw $zero, 0x0014($sp)
-/* 04E9C 808C602C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04E9C 808C602C 0C029468 */ jal Animation_Change
/* 04EA0 808C6030 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 04EA4 808C6034 C6060428 */ lwc1 $f6, 0x0428($s0) ## 00000428
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB6A8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB6A8.s
index 5b93ab60f9..d863437282 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB6A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB6A8.s
@@ -6,15 +6,15 @@ glabel func_808CB6A8
/* 008F8 808CB6B8 AFBF001C */ sw $ra, 0x001C($sp)
/* 008FC 808CB6BC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00900 808CB6C0 24A515E4 */ addiu $a1, $a1, 0x15E4 ## $a1 = 060115E4
-/* 00904 808CB6C4 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00904 808CB6C4 0C02947A */ jal Animation_PlayOnce
/* 00908 808CB6C8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0090C 808CB6CC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00910 808CB6D0 24A51524 */ addiu $a1, $a1, 0x1524 ## $a1 = 06011524
-/* 00914 808CB6D4 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00914 808CB6D4 0C02947A */ jal Animation_PlayOnce
/* 00918 808CB6D8 26040190 */ addiu $a0, $s0, 0x0190 ## $a0 = 00000190
/* 0091C 808CB6DC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00920 808CB6E0 24A51464 */ addiu $a1, $a1, 0x1464 ## $a1 = 06011464
-/* 00924 808CB6E4 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00924 808CB6E4 0C02947A */ jal Animation_PlayOnce
/* 00928 808CB6E8 260401D4 */ addiu $a0, $s0, 0x01D4 ## $a0 = 000001D4
/* 0092C 808CB6EC 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 00930 808CB6F0 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB718.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB718.s
index 04ae6af21f..5d7fa1d9d7 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB718.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808CB718.s
@@ -189,13 +189,13 @@ glabel func_808CB718
/* 00998 808CB758 AFA501D4 */ sw $a1, 0x01D4($sp)
/* 0099C 808CB75C A3A001CF */ sb $zero, 0x01CF($sp)
/* 009A0 808CB760 8CB31C44 */ lw $s3, 0x1C44($a1) ## 00001C44
-/* 009A4 808CB764 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 009A4 808CB764 0C02927F */ jal SkelAnime_Update
/* 009A8 808CB768 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 009AC 808CB76C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 009AC 808CB76C 0C02927F */ jal SkelAnime_Update
/* 009B0 808CB770 26C40190 */ addiu $a0, $s6, 0x0190 ## $a0 = 00000190
-/* 009B4 808CB774 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 009B4 808CB774 0C02927F */ jal SkelAnime_Update
/* 009B8 808CB778 26C401D4 */ addiu $a0, $s6, 0x01D4 ## $a0 = 000001D4
/* 009BC 808CB77C C6C402BC */ lwc1 $f4, 0x02BC($s6) ## 000002BC
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08F8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08F8.s
index 3ba1e0402b..ecf0915c70 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08F8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd/func_808D08F8.s
@@ -735,8 +735,8 @@ glabel func_808D08F8
/* 0652C 808D12EC 0C024F61 */ jal func_80093D84
/* 06530 808D12F0 8EC40000 */ lw $a0, 0x0000($s6) ## 00000000
/* 06534 808D12F4 8E8202D0 */ lw $v0, 0x02D0($s4) ## 000002D0
-/* 06538 808D12F8 3C0B0601 */ lui $t3, 0x0601 ## $t3 = 06010000
-/* 0653C 808D12FC 256B9168 */ addiu $t3, $t3, 0x9168 ## $t3 = 06009168
+/* 06538 808D12F8 3C0B0601 */ lui $t3, %hi(D_06009168) ## $t3 = 06010000
+/* 0653C 808D12FC 256B9168 */ addiu $t3, $t3, %lo(D_06009168) ## $t3 = 06009168
/* 06540 808D1300 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 06544 808D1304 AE8802D0 */ sw $t0, 0x02D0($s4) ## 000002D0
/* 06548 808D1308 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Init.s
index 98dd9754ae..8e1ccca1ac 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Init.s
@@ -33,8 +33,8 @@ glabel BossFd2_Init
/* 00490 808D2B00 00000000 */ nop
/* 00494 808D2B04 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
-/* 00498 808D2B08 3C070601 */ lui $a3, 0x0601 ## $a3 = 06010000
-/* 0049C 808D2B0C 24E7C8EC */ addiu $a3, $a3, 0xC8EC ## $a3 = 0600C8EC
+/* 00498 808D2B08 3C070601 */ lui $a3, %hi(D_0600C8EC) ## $a3 = 06010000
+/* 0049C 808D2B0C 24E7C8EC */ addiu $a3, $a3, %lo(D_0600C8EC) ## $a3 = 0600C8EC
/* 004A0 808D2B10 24C61A78 */ addiu $a2, $a2, 0x1A78 ## $a2 = 06011A78
/* 004A4 808D2B14 8FA40044 */ lw $a0, 0x0044($sp)
/* 004A8 808D2B18 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2BD0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2BD0.s
index 08b00b630f..035058bf53 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2BD0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2BD0.s
@@ -26,7 +26,7 @@ glabel func_808D2BD0
/* 00584 808D2BF4 AFAE0024 */ sw $t6, 0x0024($sp)
/* 00588 808D2BF8 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 0058C 808D2BFC 24A5C1D0 */ addiu $a1, $a1, 0xC1D0 ## $a1 = 0600C1D0
-/* 00590 808D2C00 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00590 808D2C00 0C02947A */ jal Animation_PlayOnce
/* 00594 808D2C04 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00598 808D2C08 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 0059C 808D2C0C 3C0F808D */ lui $t7, %hi(func_808D2CE0) ## $t7 = 808D0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2CE0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2CE0.s
index 24e2d620db..4bbea5b719 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2CE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D2CE0.s
@@ -54,7 +54,7 @@ glabel func_808D2CE0
/* 006A8 808D2D18 248462E8 */ addiu $a0, $a0, %lo(D_808D62E8) ## $a0 = 808D62E8
/* 006AC 808D2D1C 2651014C */ addiu $s1, $s2, 0x014C ## $s1 = 0000014C
-/* 006B0 808D2D20 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 006B0 808D2D20 0C02927F */ jal SkelAnime_Update
/* 006B4 808D2D24 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 006B8 808D2D28 3C04808D */ lui $a0, %hi(D_808D62FC) ## $a0 = 808D0000
@@ -192,7 +192,7 @@ glabel func_808D2CE0
/* 00890 808D2F00 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
/* 00894 808D2F04 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 00898 808D2F08 2484C1D0 */ addiu $a0, $a0, 0xC1D0 ## $a0 = 0600C1D0
-/* 0089C 808D2F0C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0089C 808D2F0C 0C028800 */ jal Animation_GetLastFrame
/* 008A0 808D2F10 E6480168 */ swc1 $f8, 0x0168($s2) ## 00000168
/* 008A4 808D2F14 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -284,7 +284,7 @@ glabel func_808D2CE0
.L808D3048:
/* 009D8 808D3048 02202025 */ or $a0, $s1, $zero ## $a0 = 00000001
.L808D304C:
-/* 009DC 808D304C 0C0295B2 */ jal func_800A56C8
+/* 009DC 808D304C 0C0295B2 */ jal Animation_OnFrame
/* 009E0 808D3050 8E4501F0 */ lw $a1, 0x01F0($s2) ## 000001F0
/* 009E4 808D3054 10400003 */ beq $v0, $zero, .L808D3064
/* 009E8 808D3058 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D308C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D308C.s
index 0f30530cd7..d3c7375d43 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D308C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D308C.s
@@ -18,7 +18,7 @@ glabel func_808D308C
/* 00A40 808D30B0 8FA40020 */ lw $a0, 0x0020($sp)
/* 00A44 808D30B4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00A48 808D30B8 24A5AE90 */ addiu $a1, $a1, 0xAE90 ## $a1 = 0600AE90
-/* 00A4C 808D30BC 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00A4C 808D30BC 0C0294BE */ jal Animation_PlayLoop
/* 00A50 808D30C0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00A54 808D30C4 8FA30020 */ lw $v1, 0x0020($sp)
/* 00A58 808D30C8 3C18808D */ lui $t8, %hi(func_808D3140) ## $t8 = 808D0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3140.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3140.s
index 9225c9b926..66da29bada 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3140.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3140.s
@@ -15,7 +15,7 @@ glabel func_808D3140
/* 00ADC 808D314C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00AE0 808D3150 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AE4 808D3154 AFA5003C */ sw $a1, 0x003C($sp)
-/* 00AE8 808D3158 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00AE8 808D3158 0C02927F */ jal SkelAnime_Update
/* 00AEC 808D315C AFA40030 */ sw $a0, 0x0030($sp)
/* 00AF0 808D3160 860E0196 */ lh $t6, 0x0196($s0) ## 00000196
@@ -61,7 +61,7 @@ glabel func_808D3140
/* 00B84 808D31F4 00000000 */ nop
/* 00B88 808D31F8 45020007 */ bc1fl .L808D3218
/* 00B8C 808D31FC 4602603C */ c.lt.s $f12, $f2
-/* 00B90 808D3200 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00B90 808D3200 0C0294D3 */ jal Animation_MorphToLoop
/* 00B94 808D3204 E7A2002C */ swc1 $f2, 0x002C($sp)
/* 00B98 808D3208 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 00B9C 808D320C 44816000 */ mtc1 $at, $f12 ## $f12 = 1000.00
@@ -72,8 +72,8 @@ glabel func_808D3140
/* 00BAC 808D321C 4502000F */ bc1fl .L808D325C
/* 00BB0 808D3220 860801BC */ lh $t0, 0x01BC($s0) ## 000001BC
/* 00BB4 808D3224 86190196 */ lh $t9, 0x0196($s0) ## 00000196
-/* 00BB8 808D3228 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
-/* 00BBC 808D322C 24A5C8EC */ addiu $a1, $a1, 0xC8EC ## $a1 = 0600C8EC
+/* 00BB8 808D3228 3C050601 */ lui $a1, %hi(D_0600C8EC) ## $a1 = 06010000
+/* 00BBC 808D322C 24A5C8EC */ addiu $a1, $a1, %lo(D_0600C8EC) ## $a1 = 0600C8EC
/* 00BC0 808D3230 44994000 */ mtc1 $t9, $f8 ## $f8 = 0.00
/* 00BC4 808D3234 8FA40030 */ lw $a0, 0x0030($sp)
/* 00BC8 808D3238 46804020 */ cvt.s.w $f0, $f8
@@ -82,7 +82,7 @@ glabel func_808D3140
/* 00BD4 808D3244 00000000 */ nop
/* 00BD8 808D3248 45020004 */ bc1fl .L808D325C
/* 00BDC 808D324C 860801BC */ lh $t0, 0x01BC($s0) ## 000001BC
-/* 00BE0 808D3250 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00BE0 808D3250 0C0294D3 */ jal Animation_MorphToLoop
/* 00BE4 808D3254 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00BE8 808D3258 860801BC */ lh $t0, 0x01BC($s0) ## 000001BC
.L808D325C:
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D32B4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D32B4.s
index 07fd55ed79..9633adca5f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D32B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D32B4.s
@@ -9,14 +9,14 @@ glabel func_808D32B4
/* 00C60 808D32D0 AFA70020 */ sw $a3, 0x0020($sp)
/* 00C64 808D32D4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00C68 808D32D8 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 00C6C 808D32DC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00C6C 808D32DC 0C029490 */ jal Animation_MorphToPlayOnce
/* 00C70 808D32E0 AFAE001C */ sw $t6, 0x001C($sp)
/* 00C74 808D32E4 8FA70020 */ lw $a3, 0x0020($sp)
/* 00C78 808D32E8 3C0F808D */ lui $t7, %hi(func_808D3330) ## $t7 = 808D0000
/* 00C7C 808D32EC 25EF3330 */ addiu $t7, $t7, %lo(func_808D3330) ## $t7 = 808D3330
/* 00C80 808D32F0 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 00C84 808D32F4 24849194 */ addiu $a0, $a0, 0x9194 ## $a0 = 06009194
-/* 00C88 808D32F8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00C88 808D32F8 0C028800 */ jal Animation_GetLastFrame
/* 00C8C 808D32FC ACEF0190 */ sw $t7, 0x0190($a3) ## 00000190
/* 00C90 808D3300 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3330.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3330.s
index 7c6cedd0d8..932ab2d8ec 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3330.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3330.s
@@ -9,11 +9,11 @@ glabel func_808D3330
/* 00CDC 808D334C 15C0000D */ bne $t6, $zero, .L808D3384
/* 00CE0 808D3350 3C05C2C8 */ lui $a1, 0xC2C8 ## $a1 = C2C80000
/* 00CE4 808D3354 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00CE8 808D3358 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CE8 808D3358 0C02927F */ jal SkelAnime_Update
/* 00CEC 808D335C AFA40020 */ sw $a0, 0x0020($sp)
/* 00CF0 808D3360 8FA40020 */ lw $a0, 0x0020($sp)
-/* 00CF4 808D3364 0C0295B2 */ jal func_800A56C8
+/* 00CF4 808D3364 0C0295B2 */ jal Animation_OnFrame
/* 00CF8 808D3368 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0
/* 00CFC 808D336C 1040001F */ beq $v0, $zero, .L808D33EC
/* 00D00 808D3370 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3400.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3400.s
index 9921212703..92210037c3 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3400.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3400.s
@@ -6,14 +6,14 @@ glabel func_808D3400
/* 00DA0 808D3410 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00DA4 808D3414 24A573CC */ addiu $a1, $a1, 0x73CC ## $a1 = 060073CC
/* 00DA8 808D3418 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00DAC 808D341C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00DAC 808D341C 0C029490 */ jal Animation_MorphToPlayOnce
/* 00DB0 808D3420 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00DB4 808D3424 8FAF0018 */ lw $t7, 0x0018($sp)
/* 00DB8 808D3428 3C0E808D */ lui $t6, %hi(func_808D3464) ## $t6 = 808D0000
/* 00DBC 808D342C 25CE3464 */ addiu $t6, $t6, %lo(func_808D3464) ## $t6 = 808D3464
/* 00DC0 808D3430 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00DC4 808D3434 248473CC */ addiu $a0, $a0, 0x73CC ## $a0 = 060073CC
-/* 00DC8 808D3438 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00DC8 808D3438 0C028800 */ jal Animation_GetLastFrame
/* 00DCC 808D343C ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190
/* 00DD0 808D3440 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3464.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3464.s
index fdf5cf0d54..9d824aaacc 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3464.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3464.s
@@ -25,11 +25,11 @@ glabel func_808D3464
/* 00E30 808D34A0 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00E34 808D34A4 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 00E38 808D34A8 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 00E3C 808D34AC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00E3C 808D34AC 0C02927F */ jal SkelAnime_Update
/* 00E40 808D34B0 AFAF00A8 */ sw $t7, 0x00A8($sp)
/* 00E44 808D34B4 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 00E48 808D34B8 0C0295B2 */ jal func_800A56C8
+/* 00E48 808D34B8 0C0295B2 */ jal Animation_OnFrame
/* 00E4C 808D34BC 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0
/* 00E50 808D34C0 10400003 */ beq $v0, $zero, .L808D34D0
/* 00E54 808D34C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D39A8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D39A8.s
index 29a0cae164..7873def933 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D39A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D39A8.s
@@ -6,14 +6,14 @@ glabel func_808D39A8
/* 01348 808D39B8 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 0134C 808D39BC 24A5B7A4 */ addiu $a1, $a1, 0xB7A4 ## $a1 = 0600B7A4
/* 01350 808D39C0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01354 808D39C4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01354 808D39C4 0C029490 */ jal Animation_MorphToPlayOnce
/* 01358 808D39C8 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 0135C 808D39CC 8FAF0018 */ lw $t7, 0x0018($sp)
/* 01360 808D39D0 3C0E808D */ lui $t6, %hi(func_808D3A08) ## $t6 = 808D0000
/* 01364 808D39D4 25CE3A08 */ addiu $t6, $t6, %lo(func_808D3A08) ## $t6 = 808D3A08
/* 01368 808D39D8 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 0136C 808D39DC 2484B7A4 */ addiu $a0, $a0, 0xB7A4 ## $a0 = 0600B7A4
-/* 01370 808D39E0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01370 808D39E0 0C028800 */ jal Animation_GetLastFrame
/* 01374 808D39E4 ADEE0190 */ sw $t6, 0x0190($t7) ## 00000190
/* 01378 808D39E8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A08.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A08.s
index 96e30004e2..42af0dc816 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A08.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A08.s
@@ -5,11 +5,11 @@ glabel func_808D3A08
/* 013A4 808D3A14 AFBF001C */ sw $ra, 0x001C($sp)
/* 013A8 808D3A18 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 013AC 808D3A1C AFA5002C */ sw $a1, 0x002C($sp)
-/* 013B0 808D3A20 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 013B0 808D3A20 0C02927F */ jal SkelAnime_Update
/* 013B4 808D3A24 AFA40024 */ sw $a0, 0x0024($sp)
/* 013B8 808D3A28 8FA40024 */ lw $a0, 0x0024($sp)
-/* 013BC 808D3A2C 0C0295B2 */ jal func_800A56C8
+/* 013BC 808D3A2C 0C0295B2 */ jal Animation_OnFrame
/* 013C0 808D3A30 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
/* 013C4 808D3A34 10400006 */ beq $v0, $zero, .L808D3A50
/* 013C8 808D3A38 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -22,7 +22,7 @@ glabel func_808D3A08
/* 013DC 808D3A4C 240538D8 */ addiu $a1, $zero, 0x38D8 ## $a1 = 000038D8
.L808D3A50:
/* 013E0 808D3A50 8FA40024 */ lw $a0, 0x0024($sp)
-/* 013E4 808D3A54 0C0295B2 */ jal func_800A56C8
+/* 013E4 808D3A54 0C0295B2 */ jal Animation_OnFrame
/* 013E8 808D3A58 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0
/* 013EC 808D3A5C 10400003 */ beq $v0, $zero, .L808D3A6C
/* 013F0 808D3A60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A80.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A80.s
index 98ea68fa8c..7e9728ad8e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A80.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3A80.s
@@ -6,10 +6,10 @@ glabel func_808D3A80
/* 01420 808D3A90 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01424 808D3A94 24A5A31C */ addiu $a1, $a1, 0xA31C ## $a1 = 0600A31C
/* 01428 808D3A98 AFA60018 */ sw $a2, 0x0018($sp)
-/* 0142C 808D3A9C 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 0142C 808D3A9C 0C02947A */ jal Animation_PlayOnce
/* 01430 808D3AA0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01434 808D3AA4 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 01438 808D3AA8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01438 808D3AA8 0C028800 */ jal Animation_GetLastFrame
/* 0143C 808D3AAC 2484A31C */ addiu $a0, $a0, 0xA31C ## $a0 = 0600A31C
/* 01440 808D3AB0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3AE0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3AE0.s
index 2fd27ea1f3..7074539a07 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3AE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3AE0.s
@@ -19,7 +19,7 @@ glabel func_808D3AE0
/* 014B4 808D3B24 AC980004 */ sw $t8, 0x0004($a0) ## 00000004
/* 014B8 808D3B28 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 014BC 808D3B2C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
-/* 014C0 808D3B30 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 014C0 808D3B30 0C02927F */ jal SkelAnime_Update
/* 014C4 808D3B34 AFA40060 */ sw $a0, 0x0060($sp)
/* 014C8 808D3B38 86430198 */ lh $v1, 0x0198($s2) ## 00000198
@@ -32,7 +32,7 @@ glabel func_808D3AE0
/* 014E4 808D3B54 1000006D */ beq $zero, $zero, .L808D3D0C
/* 014E8 808D3B58 8FBF0054 */ lw $ra, 0x0054($sp)
.L808D3B5C:
-/* 014EC 808D3B5C 0C0295B2 */ jal func_800A56C8
+/* 014EC 808D3B5C 0C0295B2 */ jal Animation_OnFrame
/* 014F0 808D3B60 3C054150 */ lui $a1, 0x4150 ## $a1 = 41500000
/* 014F4 808D3B64 10400003 */ beq $v0, $zero, .L808D3B74
/* 014F8 808D3B68 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
@@ -46,7 +46,7 @@ glabel func_808D3AE0
/* 01510 808D3B80 8FA40060 */ lw $a0, 0x0060($sp)
/* 01514 808D3B84 46062201 */ sub.s $f8, $f4, $f6
/* 01518 808D3B88 44054000 */ mfc1 $a1, $f8
-/* 0151C 808D3B8C 0C0295B2 */ jal func_800A56C8
+/* 0151C 808D3B8C 0C0295B2 */ jal Animation_OnFrame
/* 01520 808D3B90 00000000 */ nop
/* 01524 808D3B94 10400040 */ beq $v0, $zero, .L808D3C98
/* 01528 808D3B98 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
@@ -124,13 +124,13 @@ glabel func_808D3AE0
/* 01624 808D3C94 24053927 */ addiu $a1, $zero, 0x3927 ## $a1 = 00003927
.L808D3C98:
/* 01628 808D3C98 8FA40060 */ lw $a0, 0x0060($sp)
-/* 0162C 808D3C9C 0C0295B2 */ jal func_800A56C8
+/* 0162C 808D3C9C 0C0295B2 */ jal Animation_OnFrame
/* 01630 808D3CA0 8E4501F0 */ lw $a1, 0x01F0($s2) ## 000001F0
/* 01634 808D3CA4 10400018 */ beq $v0, $zero, .L808D3D08
/* 01638 808D3CA8 8FA40060 */ lw $a0, 0x0060($sp)
/* 0163C 808D3CAC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01640 808D3CB0 24A5A86C */ addiu $a1, $a1, 0xA86C ## $a1 = 0600A86C
-/* 01644 808D3CB4 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01644 808D3CB4 0C0294D3 */ jal Animation_MorphToLoop
/* 01648 808D3CB8 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 0164C 808D3CBC 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 01650 808D3CC0 240A003C */ addiu $t2, $zero, 0x003C ## $t2 = 0000003C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D38.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D38.s
index 78131d3b69..bdecfb3347 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D38.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D38.s
@@ -6,10 +6,10 @@ glabel func_808D3D38
/* 016D8 808D3D48 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 016DC 808D3D4C 24A57850 */ addiu $a1, $a1, 0x7850 ## $a1 = 06007850
/* 016E0 808D3D50 AFA60018 */ sw $a2, 0x0018($sp)
-/* 016E4 808D3D54 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 016E4 808D3D54 0C02947A */ jal Animation_PlayOnce
/* 016E8 808D3D58 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 016EC 808D3D5C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 016F0 808D3D60 0C028800 */ jal SkelAnime_GetFrameCount
+/* 016F0 808D3D60 0C028800 */ jal Animation_GetLastFrame
/* 016F4 808D3D64 24847850 */ addiu $a0, $a0, 0x7850 ## $a0 = 06007850
/* 016F8 808D3D68 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D98.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D98.s
index dbf33aaad1..7a4204a08a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D98.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3D98.s
@@ -8,7 +8,7 @@ glabel func_808D3D98
/* 01740 808D3DB0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01744 808D3DB4 2491014C */ addiu $s1, $a0, 0x014C ## $s1 = 0000014C
/* 01748 808D3DB8 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 0174C 808D3DBC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0174C 808D3DBC 0C02927F */ jal SkelAnime_Update
/* 01750 808D3DC0 AFAE0024 */ sw $t6, 0x0024($sp)
/* 01754 808D3DC4 86030198 */ lh $v1, 0x0198($s0) ## 00000198
@@ -17,15 +17,15 @@ glabel func_808D3D98
/* 01760 808D3DD0 14600012 */ bne $v1, $zero, .L808D3E1C
/* 01764 808D3DD4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01768 808D3DD8 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 0176C 808D3DDC 0C0295B2 */ jal func_800A56C8
+/* 0176C 808D3DDC 0C0295B2 */ jal Animation_OnFrame
/* 01770 808D3DE0 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0
/* 01774 808D3DE4 10400033 */ beq $v0, $zero, .L808D3EB4
/* 01778 808D3DE8 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 0177C 808D3DEC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
-/* 01780 808D3DF0 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 01780 808D3DF0 0C02947A */ jal Animation_PlayOnce
/* 01784 808D3DF4 24A589DC */ addiu $a1, $a1, 0x89DC ## $a1 = 060089DC
/* 01788 808D3DF8 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 0178C 808D3DFC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0178C 808D3DFC 0C028800 */ jal Animation_GetLastFrame
/* 01790 808D3E00 248489DC */ addiu $a0, $a0, 0x89DC ## $a0 = 060089DC
/* 01794 808D3E04 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -38,7 +38,7 @@ glabel func_808D3D98
/* 017AC 808D3E1C 14610018 */ bne $v1, $at, .L808D3E80
/* 017B0 808D3E20 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
/* 017B4 808D3E24 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 017B8 808D3E28 0C0295B2 */ jal func_800A56C8
+/* 017B8 808D3E28 0C0295B2 */ jal Animation_OnFrame
/* 017BC 808D3E2C 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 017C0 808D3E30 10400003 */ beq $v0, $zero, .L808D3E40
/* 017C4 808D3E34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -47,7 +47,7 @@ glabel func_808D3D98
/* 017CC 808D3E3C 240538D6 */ addiu $a1, $zero, 0x38D6 ## $a1 = 000038D6
.L808D3E40:
/* 017D0 808D3E40 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 017D4 808D3E44 0C0295B2 */ jal func_800A56C8
+/* 017D4 808D3E44 0C0295B2 */ jal Animation_OnFrame
/* 017D8 808D3E48 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000
/* 017DC 808D3E4C 10400004 */ beq $v0, $zero, .L808D3E60
/* 017E0 808D3E50 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
@@ -55,7 +55,7 @@ glabel func_808D3D98
/* 017E8 808D3E58 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E
/* 017EC 808D3E5C A5190250 */ sh $t9, 0x0250($t0) ## 00000250
.L808D3E60:
-/* 017F0 808D3E60 0C0295B2 */ jal func_800A56C8
+/* 017F0 808D3E60 0C0295B2 */ jal Animation_OnFrame
/* 017F4 808D3E64 8E0501F0 */ lw $a1, 0x01F0($s0) ## 000001F0
/* 017F8 808D3E68 10400012 */ beq $v0, $zero, .L808D3EB4
/* 017FC 808D3E6C 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3EC8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3EC8.s
index 3fb477795c..1c5232faa9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3EC8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D3EC8.s
@@ -5,7 +5,7 @@ glabel func_808D3EC8
/* 01864 808D3ED4 AFBF002C */ sw $ra, 0x002C($sp)
/* 01868 808D3ED8 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 0186C 808D3EDC AFA50034 */ sw $a1, 0x0034($sp)
-/* 01870 808D3EE0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01870 808D3EE0 0C028800 */ jal Animation_GetLastFrame
/* 01874 808D3EE4 248489DC */ addiu $a0, $a0, 0x89DC ## $a0 = 060089DC
/* 01878 808D3EE8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -21,7 +21,7 @@ glabel func_808D3EC8
/* 018A0 808D3F10 AFAE0014 */ sw $t6, 0x0014($sp)
/* 018A4 808D3F14 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 018A8 808D3F18 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 018AC 808D3F1C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 018AC 808D3F1C 0C029468 */ jal Animation_Change
/* 018B0 808D3F20 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 018B4 808D3F24 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D40C8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D40C8.s
index e96379b553..6683ad4a6d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D40C8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/func_808D40C8.s
@@ -38,7 +38,7 @@ glabel func_808D40C8
/* 01A7C 808D40EC AFAE0060 */ sw $t6, 0x0060($sp)
/* 01A80 808D40F0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01A84 808D40F4 AFA2005C */ sw $v0, 0x005C($sp)
-/* 01A88 808D40F8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01A88 808D40F8 0C02927F */ jal SkelAnime_Update
/* 01A8C 808D40FC AFA40044 */ sw $a0, 0x0044($sp)
/* 01A90 808D4100 960F1390 */ lhu $t7, 0x1390($s0) ## 00001390
@@ -208,7 +208,7 @@ glabel L808D41FC
/* 01CF4 808D4364 44811000 */ mtc1 $at, $f2 ## $f2 = 20.00
/* 01CF8 808D4368 8FA40044 */ lw $a0, 0x0044($sp)
/* 01CFC 808D436C 44051000 */ mfc1 $a1, $f2
-/* 01D00 808D4370 0C0295B2 */ jal func_800A56C8
+/* 01D00 808D4370 0C0295B2 */ jal Animation_OnFrame
/* 01D04 808D4374 00000000 */ nop
/* 01D08 808D4378 10400003 */ beq $v0, $zero, .L808D4388
/* 01D0C 808D437C 8FB90060 */ lw $t9, 0x0060($sp)
@@ -225,13 +225,13 @@ glabel L808D41FC
/* 01D34 808D43A4 100000E0 */ beq $zero, $zero, .L808D4728
/* 01D38 808D43A8 A60A01BC */ sh $t2, 0x01BC($s0) ## 000001BC
.L808D43AC:
-/* 01D3C 808D43AC 0C0295B2 */ jal func_800A56C8
+/* 01D3C 808D43AC 0C0295B2 */ jal Animation_OnFrame
/* 01D40 808D43B0 8FA40044 */ lw $a0, 0x0044($sp)
/* 01D44 808D43B4 104000DC */ beq $v0, $zero, .L808D4728
/* 01D48 808D43B8 8FA40044 */ lw $a0, 0x0044($sp)
/* 01D4C 808D43BC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01D50 808D43C0 24A589DC */ addiu $a1, $a1, 0x89DC ## $a1 = 060089DC
-/* 01D54 808D43C4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01D54 808D43C4 0C029490 */ jal Animation_MorphToPlayOnce
/* 01D58 808D43C8 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 01D5C 808D43CC 100000D7 */ beq $zero, $zero, .L808D472C
/* 01D60 808D43D0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D779C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D779C.s
index e8a3e635ae..42eca85ac6 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D779C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D779C.s
@@ -47,7 +47,7 @@ glabel func_808D779C
/* 00FD0 808D7840 AC2A6FC0 */ sw $t2, %lo(gSegments+0x18)($at)
/* 00FD4 808D7844 24A55FFC */ addiu $a1, $a1, %lo(D_06005FFC) ## $a1 = 06005FFC
/* 00FD8 808D7848 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
-/* 00FDC 808D784C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00FDC 808D784C 0C0294D3 */ jal Animation_MorphToLoop
/* 00FE0 808D7850 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 00FE4 808D7854 10000005 */ beq $zero, $zero, .L808D786C
/* 00FE8 808D7858 8FBF001C */ lw $ra, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D7918.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D7918.s
index 745d770327..dbf688e717 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D7918.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D7918.s
@@ -94,7 +94,7 @@ glabel func_808D7918
/* 01140 808D79B0 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
/* 01144 808D79B4 AC8F0524 */ sw $t7, 0x0524($a0) ## 00000674
/* 01148 808D79B8 AFA50074 */ sw $a1, 0x0074($sp)
-/* 0114C 808D79BC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0114C 808D79BC 0C02927F */ jal SkelAnime_Update
/* 01150 808D79C0 AFA4004C */ sw $a0, 0x004C($sp)
/* 01154 808D79C4 96180678 */ lhu $t8, 0x0678($s0) ## 00000678
@@ -164,7 +164,7 @@ glabel L808D79E8
/* 01250 808D7AC0 E54A002C */ swc1 $f10, 0x002C($t2) ## 0000002C
/* 01254 808D7AC4 A200071A */ sb $zero, 0x071A($s0) ## 0000071A
/* 01258 808D7AC8 8FA4004C */ lw $a0, 0x004C($sp)
-/* 0125C 808D7ACC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0125C 808D7ACC 0C0294D3 */ jal Animation_MorphToLoop
/* 01260 808D7AD0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01264 808D7AD4 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01268 808D7AD8 44818000 */ mtc1 $at, $f16 ## $f16 = 1000.00
@@ -692,7 +692,7 @@ glabel L808D8220
/* 019DC 808D824C 348400FF */ ori $a0, $a0, 0x00FF ## $a0 = 100100FF
/* 019E0 808D8250 3C040600 */ lui $a0, %hi(D_06004F64) ## $a0 = 06000000
-/* 019E4 808D8254 0C028800 */ jal SkelAnime_GetFrameCount
+/* 019E4 808D8254 0C028800 */ jal Animation_GetLastFrame
/* 019E8 808D8258 24844F64 */ addiu $a0, $a0, %lo(D_06004F64) ## $a0 = 06004F64
/* 019EC 808D825C 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -701,20 +701,20 @@ glabel L808D8220
/* 019F8 808D8268 46809120 */ cvt.s.w $f4, $f18
/* 019FC 808D826C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01A00 808D8270 E60401CC */ swc1 $f4, 0x01CC($s0) ## 000001CC
-/* 01A04 808D8274 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01A04 808D8274 0C029490 */ jal Animation_MorphToPlayOnce
/* 01A08 808D8278 8FA4004C */ lw $a0, 0x004C($sp)
/* 01A0C 808D827C 8E030674 */ lw $v1, 0x0674($s0) ## 00000674
/* 01A10 808D8280 2C61001F */ sltiu $at, $v1, 0x001F
.L808D8284:
/* 01A14 808D8284 1420000D */ bne $at, $zero, .L808D82BC
/* 01A18 808D8288 8FA4004C */ lw $a0, 0x004C($sp)
-/* 01A1C 808D828C 0C0295B2 */ jal func_800A56C8
+/* 01A1C 808D828C 0C0295B2 */ jal Animation_OnFrame
/* 01A20 808D8290 8E0501CC */ lw $a1, 0x01CC($s0) ## 000001CC
/* 01A24 808D8294 10400009 */ beq $v0, $zero, .L808D82BC
/* 01A28 808D8298 8FA4004C */ lw $a0, 0x004C($sp)
/* 01A2C 808D829C 3C050600 */ lui $a1, %hi(D_06006AF4) ## $a1 = 06000000
/* 01A30 808D82A0 24A56AF4 */ addiu $a1, $a1, %lo(D_06006AF4) ## $a1 = 06006AF4
-/* 01A34 808D82A4 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01A34 808D82A4 0C0294D3 */ jal Animation_MorphToLoop
/* 01A38 808D82A8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01A3C 808D82AC 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01A40 808D82B0 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00
@@ -794,10 +794,10 @@ glabel L808D83A4
/* 01B54 808D83C4 8FA4004C */ lw $a0, 0x004C($sp)
/* 01B58 808D83C8 3C050600 */ lui $a1, %hi(D_06004304) ## $a1 = 06000000
/* 01B5C 808D83CC 24A54304 */ addiu $a1, $a1, %lo(D_06004304) ## $a1 = 06004304
-/* 01B60 808D83D0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01B60 808D83D0 0C029490 */ jal Animation_MorphToPlayOnce
/* 01B64 808D83D4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01B68 808D83D8 3C040600 */ lui $a0, %hi(D_06004304) ## $a0 = 06000000
-/* 01B6C 808D83DC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01B6C 808D83DC 0C028800 */ jal Animation_GetLastFrame
/* 01B70 808D83E0 24844304 */ addiu $a0, $a0, %lo(D_06004304) ## $a0 = 06004304
/* 01B74 808D83E4 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -806,7 +806,7 @@ glabel L808D83A4
/* 01B80 808D83F0 10000011 */ beq $zero, $zero, .L808D8438
/* 01B84 808D83F4 E61001CC */ swc1 $f16, 0x01CC($s0) ## 000001CC
.L808D83F8:
-/* 01B88 808D83F8 0C0295B2 */ jal func_800A56C8
+/* 01B88 808D83F8 0C0295B2 */ jal Animation_OnFrame
/* 01B8C 808D83FC 8E0501CC */ lw $a1, 0x01CC($s0) ## 000001CC
/* 01B90 808D8400 1040000D */ beq $v0, $zero, .L808D8438
/* 01B94 808D8404 8FA40074 */ lw $a0, 0x0074($sp)
@@ -816,7 +816,7 @@ glabel L808D83A4
/* 01BA4 808D8414 3C050601 */ lui $a1, %hi(D_060089F8) ## $a1 = 06010000
/* 01BA8 808D8418 24A589F8 */ addiu $a1, $a1, %lo(D_060089F8) ## $a1 = 060089F8
/* 01BAC 808D841C 8FA4004C */ lw $a0, 0x004C($sp)
-/* 01BB0 808D8420 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01BB0 808D8420 0C0294D3 */ jal Animation_MorphToLoop
/* 01BB4 808D8424 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01BB8 808D8428 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01BBC 808D842C 44819000 */ mtc1 $at, $f18 ## $f18 = 1000.00
@@ -844,10 +844,10 @@ glabel L808D8468
/* 01C0C 808D847C 3C050600 */ lui $a1, %hi(D_06001F58) ## $a1 = 06000000
/* 01C10 808D8480 24A51F58 */ addiu $a1, $a1, %lo(D_06001F58) ## $a1 = 06001F58
/* 01C14 808D8484 8FA4004C */ lw $a0, 0x004C($sp)
-/* 01C18 808D8488 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01C18 808D8488 0C029490 */ jal Animation_MorphToPlayOnce
/* 01C1C 808D848C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01C20 808D8490 3C040600 */ lui $a0, %hi(D_06001F58) ## $a0 = 06000000
-/* 01C24 808D8494 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01C24 808D8494 0C028800 */ jal Animation_GetLastFrame
/* 01C28 808D8498 24841F58 */ addiu $a0, $a0, %lo(D_06001F58) ## $a0 = 06001F58
/* 01C2C 808D849C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -942,13 +942,13 @@ glabel L808D8598
/* 01D70 808D85E0 E6060688 */ swc1 $f6, 0x0688($s0) ## 00000688
/* 01D74 808D85E4 8FA4004C */ lw $a0, 0x004C($sp)
/* 01D78 808D85E8 44058000 */ mfc1 $a1, $f16
-/* 01D7C 808D85EC 0C0295B2 */ jal func_800A56C8
+/* 01D7C 808D85EC 0C0295B2 */ jal Animation_OnFrame
/* 01D80 808D85F0 00000000 */ nop
/* 01D84 808D85F4 10400009 */ beq $v0, $zero, .L808D861C
/* 01D88 808D85F8 8FA4004C */ lw $a0, 0x004C($sp)
/* 01D8C 808D85FC 3C050600 */ lui $a1, %hi(D_06003018) ## $a1 = 06000000
/* 01D90 808D8600 24A53018 */ addiu $a1, $a1, %lo(D_06003018) ## $a1 = 06003018
-/* 01D94 808D8604 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01D94 808D8604 0C0294D3 */ jal Animation_MorphToLoop
/* 01D98 808D8608 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01D9C 808D860C 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 01DA0 808D8610 44819000 */ mtc1 $at, $f18 ## $f18 = 1000.00
@@ -973,7 +973,7 @@ glabel L808D8598
/* 01DE8 808D8658 3C050600 */ lui $a1, %hi(D_06007268) ## $a1 = 06000000
/* 01DEC 808D865C 24A57268 */ addiu $a1, $a1, %lo(D_06007268) ## $a1 = 06007268
/* 01DF0 808D8660 8FA4004C */ lw $a0, 0x004C($sp)
-/* 01DF4 808D8664 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01DF4 808D8664 0C029490 */ jal Animation_MorphToPlayOnce
/* 01DF8 808D8668 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01DFC 808D866C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 01E00 808D8670 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
@@ -1066,7 +1066,7 @@ glabel L808D86B4
/* 01F3C 808D87AC 8FA4004C */ lw $a0, 0x004C($sp)
/* 01F40 808D87B0 3C050600 */ lui $a1, %hi(D_06007A64) ## $a1 = 06000000
/* 01F44 808D87B4 24A57A64 */ addiu $a1, $a1, %lo(D_06007A64) ## $a1 = 06007A64
-/* 01F48 808D87B8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01F48 808D87B8 0C0294D3 */ jal Animation_MorphToLoop
/* 01F4C 808D87BC 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01F50 808D87C0 8E030674 */ lw $v1, 0x0674($s0) ## 00000674
.L808D87C4:
@@ -1323,9 +1323,9 @@ glabel L808D8A98
/* 022EC 808D8B5C 3C050601 */ lui $a1, %hi(D_06008A88) ## $a1 = 06010000
/* 022F0 808D8B60 24A58A88 */ addiu $a1, $a1, %lo(D_06008A88) ## $a1 = 06008A88
/* 022F4 808D8B64 8FA4004C */ lw $a0, 0x004C($sp)
-/* 022F8 808D8B68 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 022F8 808D8B68 0C029490 */ jal Animation_MorphToPlayOnce
/* 022FC 808D8B6C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 02300 808D8B70 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02300 808D8B70 0C02927F */ jal SkelAnime_Update
/* 02304 808D8B74 8FA4004C */ lw $a0, 0x004C($sp)
/* 02308 808D8B78 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D9018.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D9018.s
index edc3ca3635..d9011bb20f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D9018.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D9018.s
@@ -42,10 +42,10 @@ glabel func_808D9018
/* 02840 808D90B0 AC2B6FC0 */ sw $t3, %lo(gSegments+0x18)($at)
/* 02844 808D90B4 24A5EA00 */ addiu $a1, $a1, %lo(D_0600EA00) ## $a1 = 0600EA00
/* 02848 808D90B8 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
-/* 0284C 808D90BC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0284C 808D90BC 0C029490 */ jal Animation_MorphToPlayOnce
/* 02850 808D90C0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 02854 808D90C4 3C040601 */ lui $a0, %hi(D_0600EA00) ## $a0 = 06010000
-/* 02858 808D90C8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02858 808D90C8 0C028800 */ jal Animation_GetLastFrame
/* 0285C 808D90CC 2484EA00 */ addiu $a0, $a0, %lo(D_0600EA00) ## $a0 = 0600EA00
/* 02860 808D90D0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D90F8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D90F8.s
index 44a31a3218..ae6c670901 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D90F8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D90F8.s
@@ -34,10 +34,10 @@ glabel func_808D90F8
/* 02900 808D9170 AC286FC0 */ sw $t0, %lo(gSegments+0x18)($at)
/* 02904 808D9174 24A5EA00 */ addiu $a1, $a1, %lo(D_0600EA00) ## $a1 = 0600EA00
/* 02908 808D9178 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
-/* 0290C 808D917C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0290C 808D917C 0C029490 */ jal Animation_MorphToPlayOnce
/* 02910 808D9180 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 02914 808D9184 3C040601 */ lui $a0, %hi(D_0600EA00) ## $a0 = 06010000
-/* 02918 808D9188 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02918 808D9188 0C028800 */ jal Animation_GetLastFrame
/* 0291C 808D918C 2484EA00 */ addiu $a0, $a0, %lo(D_0600EA00) ## $a0 = 0600EA00
/* 02920 808D9190 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D933C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D933C.s
index 7620d5523b..20cd8caaed 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D933C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808D933C.s
@@ -133,7 +133,7 @@ glabel func_808D933C
/* 02B20 808D9390 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
/* 02B24 808D9394 AC8C0524 */ sw $t4, 0x0524($a0) ## 00000674
/* 02B28 808D9398 AFA500B4 */ sw $a1, 0x00B4($sp)
-/* 02B2C 808D939C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02B2C 808D939C 0C02927F */ jal SkelAnime_Update
/* 02B30 808D93A0 AFA40054 */ sw $a0, 0x0054($sp)
/* 02B34 808D93A4 86040678 */ lh $a0, 0x0678($s0) ## 00000678
@@ -259,13 +259,13 @@ glabel L808D94C4
/* 02CF8 808D9568 E604068C */ swc1 $f4, 0x068C($s0) ## 0000068C
/* 02CFC 808D956C E6100694 */ swc1 $f16, 0x0694($s0) ## 00000694
/* 02D00 808D9570 8FA40054 */ lw $a0, 0x0054($sp)
-/* 02D04 808D9574 0C0295B2 */ jal func_800A56C8
+/* 02D04 808D9574 0C0295B2 */ jal Animation_OnFrame
/* 02D08 808D9578 8E0501CC */ lw $a1, 0x01CC($s0) ## 000001CC
/* 02D0C 808D957C 10400008 */ beq $v0, $zero, .L808D95A0
/* 02D10 808D9580 8FA40054 */ lw $a0, 0x0054($sp)
/* 02D14 808D9584 3C050601 */ lui $a1, %hi(D_0600F19C) ## $a1 = 06010000
/* 02D18 808D9588 24A5F19C */ addiu $a1, $a1, %lo(D_0600F19C) ## $a1 = 0600F19C
-/* 02D1C 808D958C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 02D1C 808D958C 0C0294D3 */ jal Animation_MorphToLoop
/* 02D20 808D9590 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 02D24 808D9594 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
/* 02D28 808D9598 A60C0678 */ sh $t4, 0x0678($s0) ## 00000678
@@ -379,10 +379,10 @@ glabel L808D9654
/* 02EB8 808D9728 8FA40054 */ lw $a0, 0x0054($sp)
/* 02EBC 808D972C 3C050601 */ lui $a1, %hi(D_0600B668) ## $a1 = 06010000
/* 02EC0 808D9730 24A5B668 */ addiu $a1, $a1, %lo(D_0600B668) ## $a1 = 0600B668
-/* 02EC4 808D9734 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 02EC4 808D9734 0C029490 */ jal Animation_MorphToPlayOnce
/* 02EC8 808D9738 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 02ECC 808D973C 3C040601 */ lui $a0, %hi(D_0600B668) ## $a0 = 06010000
-/* 02ED0 808D9740 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02ED0 808D9740 0C028800 */ jal Animation_GetLastFrame
/* 02ED4 808D9744 2484B668 */ addiu $a0, $a0, %lo(D_0600B668) ## $a0 = 0600B668
/* 02ED8 808D9748 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -402,7 +402,7 @@ glabel L808D9654
/* 02F04 808D9774 8FA40054 */ lw $a0, 0x0054($sp)
/* 02F08 808D9778 46049181 */ sub.s $f6, $f18, $f4
/* 02F0C 808D977C 44053000 */ mfc1 $a1, $f6
-/* 02F10 808D9780 0C0295B2 */ jal func_800A56C8
+/* 02F10 808D9780 0C0295B2 */ jal Animation_OnFrame
/* 02F14 808D9784 00000000 */ nop
/* 02F18 808D9788 10400041 */ beq $v0, $zero, .L808D9890
/* 02F1C 808D978C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
@@ -477,13 +477,13 @@ glabel L808D9654
/* 0301C 808D988C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
.L808D9890:
/* 03020 808D9890 8FA40054 */ lw $a0, 0x0054($sp)
-/* 03024 808D9894 0C0295B2 */ jal func_800A56C8
+/* 03024 808D9894 0C0295B2 */ jal Animation_OnFrame
/* 03028 808D9898 8E0501CC */ lw $a1, 0x01CC($s0) ## 000001CC
/* 0302C 808D989C 10400008 */ beq $v0, $zero, .L808D98C0
/* 03030 808D98A0 8FA40054 */ lw $a0, 0x0054($sp)
/* 03034 808D98A4 3C050601 */ lui $a1, %hi(D_0600BE38) ## $a1 = 06010000
/* 03038 808D98A8 24A5BE38 */ addiu $a1, $a1, %lo(D_0600BE38) ## $a1 = 0600BE38
-/* 0303C 808D98AC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0303C 808D98AC 0C0294D3 */ jal Animation_MorphToLoop
/* 03040 808D98B0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 03044 808D98B4 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004
/* 03048 808D98B8 A60C0678 */ sh $t4, 0x0678($s0) ## 00000678
@@ -523,10 +523,10 @@ glabel L808D9900
/* 030C0 808D9930 3C050601 */ lui $a1, %hi(D_06010298) ## $a1 = 06010000
/* 030C4 808D9934 24A50298 */ addiu $a1, $a1, %lo(D_06010298) ## $a1 = 06010298
/* 030C8 808D9938 8FA40054 */ lw $a0, 0x0054($sp)
-/* 030CC 808D993C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 030CC 808D993C 0C029490 */ jal Animation_MorphToPlayOnce
/* 030D0 808D9940 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 030D4 808D9944 3C040601 */ lui $a0, %hi(D_06010298) ## $a0 = 06010000
-/* 030D8 808D9948 0C028800 */ jal SkelAnime_GetFrameCount
+/* 030D8 808D9948 0C028800 */ jal Animation_GetLastFrame
/* 030DC 808D994C 24840298 */ addiu $a0, $a0, %lo(D_06010298) ## $a0 = 06010298
/* 030E0 808D9950 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -610,13 +610,13 @@ glabel L808D9A54
/* 0320C 808D9A7C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 03210 808D9A80 8FA40054 */ lw $a0, 0x0054($sp)
-/* 03214 808D9A84 0C0295B2 */ jal func_800A56C8
+/* 03214 808D9A84 0C0295B2 */ jal Animation_OnFrame
/* 03218 808D9A88 8E0501CC */ lw $a1, 0x01CC($s0) ## 000001CC
/* 0321C 808D9A8C 10400014 */ beq $v0, $zero, .L808D9AE0
/* 03220 808D9A90 8FA40054 */ lw $a0, 0x0054($sp)
/* 03224 808D9A94 3C050601 */ lui $a1, %hi(D_06010514) ## $a1 = 06010000
/* 03228 808D9A98 24A50514 */ addiu $a1, $a1, %lo(D_06010514) ## $a1 = 06010514
-/* 0322C 808D9A9C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0322C 808D9A9C 0C0294D3 */ jal Animation_MorphToLoop
/* 03230 808D9AA0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 03234 808D9AA4 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 03238 808D9AA8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
@@ -917,10 +917,10 @@ glabel L808D9E8C
/* 03664 808D9ED4 3C050601 */ lui $a1, %hi(D_0600ADDC) ## $a1 = 06010000
/* 03668 808D9ED8 24A5ADDC */ addiu $a1, $a1, %lo(D_0600ADDC) ## $a1 = 0600ADDC
/* 0366C 808D9EDC 8FA40054 */ lw $a0, 0x0054($sp)
-/* 03670 808D9EE0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 03670 808D9EE0 0C029490 */ jal Animation_MorphToPlayOnce
/* 03674 808D9EE4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 03678 808D9EE8 3C040601 */ lui $a0, %hi(D_0600EA00) ## $a0 = 06010000
-/* 0367C 808D9EEC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0367C 808D9EEC 0C028800 */ jal Animation_GetLastFrame
/* 03680 808D9EF0 2484EA00 */ addiu $a0, $a0, %lo(D_0600EA00) ## $a0 = 0600EA00
/* 03684 808D9EF4 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DAD20.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DAD20.s
index 81914effd8..59c5638875 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DAD20.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DAD20.s
@@ -22,7 +22,7 @@ glabel func_808DAD20
/* 044C4 808DAD34 24900150 */ addiu $s0, $a0, 0x0150 ## $s0 = 00000150
/* 044C8 808DAD38 F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 044CC 808DAD3C AFA5008C */ sw $a1, 0x008C($sp)
-/* 044D0 808DAD40 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 044D0 808DAD40 0C02927F */ jal SkelAnime_Update
/* 044D4 808DAD44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000150
/* 044D8 808DAD48 962E01C2 */ lhu $t6, 0x01C2($s1) ## 000001C2
@@ -137,7 +137,7 @@ glabel L808DAD6C
/* 04654 808DAEC4 3C040600 */ lui $a0, %hi(D_06002D2C) ## $a0 = 06000000
/* 04658 808DAEC8 1441000E */ bne $v0, $at, .L808DAF04
/* 0465C 808DAECC 00000000 */ nop
-/* 04660 808DAED0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04660 808DAED0 0C028800 */ jal Animation_GetLastFrame
/* 04664 808DAED4 24842D2C */ addiu $a0, $a0, %lo(D_06002D2C) ## $a0 = 06002D2C
/* 04668 808DAED8 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -146,7 +146,7 @@ glabel L808DAD6C
/* 04674 808DAEE4 46803220 */ cvt.s.w $f8, $f6
/* 04678 808DAEE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000150
/* 0467C 808DAEEC 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 04680 808DAEF0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04680 808DAEF0 0C029490 */ jal Animation_MorphToPlayOnce
/* 04684 808DAEF4 E62801CC */ swc1 $f8, 0x01CC($s1) ## 000001CC
/* 04688 808DAEF8 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
/* 0468C 808DAEFC 862201B6 */ lh $v0, 0x01B6($s1) ## 000001B6
@@ -261,7 +261,7 @@ glabel L808DB080
/* 04818 808DB088 A23801A0 */ sb $t8, 0x01A0($s1) ## 000001A0
/* 0481C 808DB08C 1720004B */ bne $t9, $zero, .L808DB1BC
/* 04820 808DB090 3C040600 */ lui $a0, %hi(D_0600343C) ## $a0 = 06000000
-/* 04824 808DB094 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04824 808DB094 0C028800 */ jal Animation_GetLastFrame
/* 04828 808DB098 2484343C */ addiu $a0, $a0, %lo(D_0600343C) ## $a0 = 0600343C
/* 0482C 808DB09C 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -270,7 +270,7 @@ glabel L808DB080
/* 04838 808DB0A8 468082A0 */ cvt.s.w $f10, $f16
/* 0483C 808DB0AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 04840 808DB0B0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 04844 808DB0B4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04844 808DB0B4 0C029490 */ jal Animation_MorphToPlayOnce
/* 04848 808DB0B8 E62A01CC */ swc1 $f10, 0x01CC($s1) ## 000001CC
/* 0484C 808DB0BC 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00
/* 04850 808DB0C0 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
@@ -294,11 +294,11 @@ glabel L808DB0D8
/* 04890 808DB100 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 04894 808DB104 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
-/* 04898 808DB108 0C0295B2 */ jal func_800A56C8
+/* 04898 808DB108 0C0295B2 */ jal Animation_OnFrame
/* 0489C 808DB10C 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 048A0 808DB110 1040002A */ beq $v0, $zero, .L808DB1BC
/* 048A4 808DB114 3C040601 */ lui $a0, %hi(D_06008A88) ## $a0 = 06010000
-/* 048A8 808DB118 0C028800 */ jal SkelAnime_GetFrameCount
+/* 048A8 808DB118 0C028800 */ jal Animation_GetLastFrame
/* 048AC 808DB11C 24848A88 */ addiu $a0, $a0, %lo(D_06008A88) ## $a0 = 06008A88
/* 048B0 808DB120 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -307,9 +307,9 @@ glabel L808DB0D8
/* 048BC 808DB12C 468021A0 */ cvt.s.w $f6, $f4
/* 048C0 808DB130 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 048C4 808DB134 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 048C8 808DB138 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 048C8 808DB138 0C029490 */ jal Animation_MorphToPlayOnce
/* 048CC 808DB13C E62601CC */ swc1 $f6, 0x01CC($s1) ## 000001CC
-/* 048D0 808DB140 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 048D0 808DB140 0C02927F */ jal SkelAnime_Update
/* 048D4 808DB144 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
/* 048D8 808DB148 3C014190 */ lui $at, 0x4190 ## $at = 41900000
@@ -339,7 +339,7 @@ glabel L808DB174
/* 0492C 808DB19C 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 04930 808DB1A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000001
-/* 04934 808DB1A4 0C0295B2 */ jal func_800A56C8
+/* 04934 808DB1A4 0C0295B2 */ jal Animation_OnFrame
/* 04938 808DB1A8 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 0493C 808DB1AC 10400003 */ beq $v0, $zero, .L808DB1BC
/* 04940 808DB1B0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DB2E8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DB2E8.s
index b3769b2242..f9c1227b77 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DB2E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DB2E8.s
@@ -21,7 +21,7 @@ glabel func_808DB2E8
/* 04A90 808DB300 F7B60038 */ sdc1 $f22, 0x0038($sp)
/* 04A94 808DB304 F7B40030 */ sdc1 $f20, 0x0030($sp)
/* 04A98 808DB308 AFA5009C */ sw $a1, 0x009C($sp)
-/* 04A9C 808DB30C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04A9C 808DB30C 0C02927F */ jal SkelAnime_Update
/* 04AA0 808DB310 AFA4005C */ sw $a0, 0x005C($sp)
/* 04AA4 808DB314 862401A2 */ lh $a0, 0x01A2($s1) ## 000001A2
@@ -97,7 +97,7 @@ glabel L808DB404
/* 04B9C 808DB40C 26101B0C */ addiu $s0, $s0, %lo(D_06001B0C) ## $s0 = 06001B0C
/* 04BA0 808DB410 55E001B1 */ bnel $t7, $zero, .L808DBAD8
/* 04BA4 808DB414 8FBF004C */ lw $ra, 0x004C($sp)
-/* 04BA8 808DB418 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04BA8 808DB418 0C028800 */ jal Animation_GetLastFrame
/* 04BAC 808DB41C 02002025 */ or $a0, $s0, $zero ## $a0 = 06001B0C
/* 04BB0 808DB420 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -105,19 +105,19 @@ glabel L808DB404
/* 04BB8 808DB428 02002825 */ or $a1, $s0, $zero ## $a1 = 06001B0C
/* 04BBC 808DB42C 468042A0 */ cvt.s.w $f10, $f8
/* 04BC0 808DB430 E62A01CC */ swc1 $f10, 0x01CC($s1) ## 000001CC
-/* 04BC4 808DB434 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04BC4 808DB434 0C029490 */ jal Animation_MorphToPlayOnce
/* 04BC8 808DB438 8FA4005C */ lw $a0, 0x005C($sp)
/* 04BCC 808DB43C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 04BD0 808DB440 100001A4 */ beq $zero, $zero, .L808DBAD4
/* 04BD4 808DB444 A63801C2 */ sh $t8, 0x01C2($s1) ## 000001C2
glabel L808DB448
/* 04BD8 808DB448 8FA4005C */ lw $a0, 0x005C($sp)
-/* 04BDC 808DB44C 0C0295B2 */ jal func_800A56C8
+/* 04BDC 808DB44C 0C0295B2 */ jal Animation_OnFrame
/* 04BE0 808DB450 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 04BE4 808DB454 1040019F */ beq $v0, $zero, .L808DBAD4
/* 04BE8 808DB458 3C100600 */ lui $s0, %hi(D_06001FF8) ## $s0 = 06000000
/* 04BEC 808DB45C 26101FF8 */ addiu $s0, $s0, %lo(D_06001FF8) ## $s0 = 06001FF8
-/* 04BF0 808DB460 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04BF0 808DB460 0C028800 */ jal Animation_GetLastFrame
/* 04BF4 808DB464 02002025 */ or $a0, $s0, $zero ## $a0 = 06001FF8
/* 04BF8 808DB468 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -125,7 +125,7 @@ glabel L808DB448
/* 04C00 808DB470 02002825 */ or $a1, $s0, $zero ## $a1 = 06001FF8
/* 04C04 808DB474 468084A0 */ cvt.s.w $f18, $f16
/* 04C08 808DB478 E63201CC */ swc1 $f18, 0x01CC($s1) ## 000001CC
-/* 04C0C 808DB47C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 04C0C 808DB47C 0C0294D3 */ jal Animation_MorphToLoop
/* 04C10 808DB480 8FA4005C */ lw $a0, 0x005C($sp)
/* 04C14 808DB484 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
/* 04C18 808DB488 24080064 */ addiu $t0, $zero, 0x0064 ## $t0 = 00000064
@@ -194,7 +194,7 @@ glabel L808DB498
/* 04CF8 808DB568 262400B6 */ addiu $a0, $s1, 0x00B6 ## $a0 = 000000B6
/* 04CFC 808DB56C 3C100600 */ lui $s0, %hi(D_06000540) ## $s0 = 06000000
/* 04D00 808DB570 26100540 */ addiu $s0, $s0, %lo(D_06000540) ## $s0 = 06000540
-/* 04D04 808DB574 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04D04 808DB574 0C028800 */ jal Animation_GetLastFrame
/* 04D08 808DB578 02002025 */ or $a0, $s0, $zero ## $a0 = 06000540
/* 04D0C 808DB57C 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -202,7 +202,7 @@ glabel L808DB498
/* 04D14 808DB584 02002825 */ or $a1, $s0, $zero ## $a1 = 06000540
/* 04D18 808DB588 46803220 */ cvt.s.w $f8, $f6
/* 04D1C 808DB58C E62801CC */ swc1 $f8, 0x01CC($s1) ## 000001CC
-/* 04D20 808DB590 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04D20 808DB590 0C029490 */ jal Animation_MorphToPlayOnce
/* 04D24 808DB594 8FA4005C */ lw $a0, 0x005C($sp)
/* 04D28 808DB598 240A0003 */ addiu $t2, $zero, 0x0003 ## $t2 = 00000003
/* 04D2C 808DB59C 240B0006 */ addiu $t3, $zero, 0x0006 ## $t3 = 00000006
@@ -479,7 +479,7 @@ glabel L808DB864
/* 050E0 808DB950 26100FE8 */ addiu $s0, $s0, %lo(D_06000FE8) ## $s0 = 06000FE8
/* 050E4 808DB954 55800060 */ bnel $t4, $zero, .L808DBAD8
/* 050E8 808DB958 8FBF004C */ lw $ra, 0x004C($sp)
-/* 050EC 808DB95C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 050EC 808DB95C 0C028800 */ jal Animation_GetLastFrame
/* 050F0 808DB960 02002025 */ or $a0, $s0, $zero ## $a0 = 06000FE8
/* 050F4 808DB964 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -487,7 +487,7 @@ glabel L808DB864
/* 050FC 808DB96C 02002825 */ or $a1, $s0, $zero ## $a1 = 06000FE8
/* 05100 808DB970 468084A0 */ cvt.s.w $f18, $f16
/* 05104 808DB974 E63201CC */ swc1 $f18, 0x01CC($s1) ## 000001CC
-/* 05108 808DB978 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 05108 808DB978 0C0294D3 */ jal Animation_MorphToLoop
/* 0510C 808DB97C 8FA4005C */ lw $a0, 0x005C($sp)
/* 05110 808DB980 240D0004 */ addiu $t5, $zero, 0x0004 ## $t5 = 00000004
/* 05114 808DB984 A62D01C2 */ sh $t5, 0x01C2($s1) ## 000001C2
@@ -500,7 +500,7 @@ glabel L808DB99C
/* 0512C 808DB99C 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 05130 808DB9A0 A22E01A0 */ sb $t6, 0x01A0($s1) ## 000001A0
/* 05134 808DB9A4 8FA4005C */ lw $a0, 0x005C($sp)
-/* 05138 808DB9A8 0C0295B2 */ jal func_800A56C8
+/* 05138 808DB9A8 0C0295B2 */ jal Animation_OnFrame
/* 0513C 808DB9AC 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
/* 05140 808DB9B0 10400021 */ beq $v0, $zero, .L808DBA38
/* 05144 808DB9B4 8FA6009C */ lw $a2, 0x009C($sp)
@@ -542,7 +542,7 @@ glabel L808DB99C
/* 051C4 808DBA34 2405396D */ addiu $a1, $zero, 0x396D ## $a1 = 0000396D
.L808DBA38:
/* 051C8 808DBA38 8FA4005C */ lw $a0, 0x005C($sp)
-/* 051CC 808DBA3C 0C0295B2 */ jal func_800A56C8
+/* 051CC 808DBA3C 0C0295B2 */ jal Animation_OnFrame
/* 051D0 808DBA40 3C054040 */ lui $a1, 0x4040 ## $a1 = 40400000
/* 051D4 808DBA44 10400008 */ beq $v0, $zero, .L808DBA68
/* 051D8 808DBA48 3C0141D0 */ lui $at, 0x41D0 ## $at = 41D00000
@@ -556,12 +556,12 @@ glabel L808DB99C
/* 051F4 808DBA64 E72A16C4 */ swc1 $f10, 0x16C4($t9) ## 809016C4
.L808DBA68:
/* 051F8 808DBA68 8FA4005C */ lw $a0, 0x005C($sp)
-/* 051FC 808DBA6C 0C0295B2 */ jal func_800A56C8
+/* 051FC 808DBA6C 0C0295B2 */ jal Animation_OnFrame
/* 05200 808DBA70 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 05204 808DBA74 10400017 */ beq $v0, $zero, .L808DBAD4
/* 05208 808DBA78 3C100600 */ lui $s0, %hi(D_06001440) ## $s0 = 06000000
/* 0520C 808DBA7C 26101440 */ addiu $s0, $s0, %lo(D_06001440) ## $s0 = 06001440
-/* 05210 808DBA80 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05210 808DBA80 0C028800 */ jal Animation_GetLastFrame
/* 05214 808DBA84 02002025 */ or $a0, $s0, $zero ## $a0 = 06001440
/* 05218 808DBA88 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -569,7 +569,7 @@ glabel L808DB99C
/* 05220 808DBA90 02002825 */ or $a1, $s0, $zero ## $a1 = 06001440
/* 05224 808DBA94 468084A0 */ cvt.s.w $f18, $f16
/* 05228 808DBA98 E63201CC */ swc1 $f18, 0x01CC($s1) ## 000001CC
-/* 0522C 808DBA9C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0522C 808DBA9C 0C0294D3 */ jal Animation_MorphToLoop
/* 05230 808DBAA0 8FA4005C */ lw $a0, 0x005C($sp)
/* 05234 808DBAA4 24080005 */ addiu $t0, $zero, 0x0005 ## $t0 = 00000005
/* 05238 808DBAA8 1000000A */ beq $zero, $zero, .L808DBAD4
@@ -578,7 +578,7 @@ glabel L808DBAB0
/* 05240 808DBAB0 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
/* 05244 808DBAB4 A22901A0 */ sb $t1, 0x01A0($s1) ## 000001A0
/* 05248 808DBAB8 8FA4005C */ lw $a0, 0x005C($sp)
-/* 0524C 808DBABC 0C0295B2 */ jal func_800A56C8
+/* 0524C 808DBABC 0C0295B2 */ jal Animation_OnFrame
/* 05250 808DBAC0 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 05254 808DBAC4 10400003 */ beq $v0, $zero, .L808DBAD4
/* 05258 808DBAC8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBAF0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBAF0.s
index c2a5974f8f..fff0996594 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBAF0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBAF0.s
@@ -8,7 +8,7 @@ glabel func_808DBAF0
/* 05298 808DBB08 3C050601 */ lui $a1, %hi(D_06009A14) ## $a1 = 06010000
/* 0529C 808DBB0C 24A59A14 */ addiu $a1, $a1, %lo(D_06009A14) ## $a1 = 06009A14
/* 052A0 808DBB10 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
-/* 052A4 808DBB14 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 052A4 808DBB14 0C0294D3 */ jal Animation_MorphToLoop
/* 052A8 808DBB18 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 052AC 808DBB1C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 052B0 808DBB20 3C0E808E */ lui $t6, %hi(func_808DBB78) ## $t6 = 808E0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBB78.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBB78.s
index ef1f3f2444..d0e371e8dd 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBB78.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBB78.s
@@ -32,7 +32,7 @@ glabel func_808DBB78
/* 05360 808DBBD0 8C480000 */ lw $t0, 0x0000($v0) ## 808F93C0
/* 05364 808DBBD4 E50616D0 */ swc1 $f6, 0x16D0($t0) ## 000016D0
/* 05368 808DBBD8 AFA50034 */ sw $a1, 0x0034($sp)
-/* 0536C 808DBBDC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0536C 808DBBDC 0C02927F */ jal SkelAnime_Update
/* 05370 808DBBE0 AFA30020 */ sw $v1, 0x0020($sp)
/* 05374 808DBBE4 860901C2 */ lh $t1, 0x01C2($s0) ## 000001C2
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBEC4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBEC4.s
index 6b53378991..61737d8556 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBEC4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBEC4.s
@@ -6,7 +6,7 @@ glabel func_808DBEC4
/* 05664 808DBED4 0C235C4B */ jal func_808D712C
/* 05668 808DBED8 2406017C */ addiu $a2, $zero, 0x017C ## $a2 = 0000017C
/* 0566C 808DBEDC 3C040601 */ lui $a0, %hi(D_0600AA24) ## $a0 = 06010000
-/* 05670 808DBEE0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05670 808DBEE0 0C028800 */ jal Animation_GetLastFrame
/* 05674 808DBEE4 2484AA24 */ addiu $a0, $a0, %lo(D_0600AA24) ## $a0 = 0600AA24
/* 05678 808DBEE8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -15,7 +15,7 @@ glabel func_808DBEC4
/* 05684 808DBEF4 468021A0 */ cvt.s.w $f6, $f4
/* 05688 808DBEF8 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 0568C 808DBEFC 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
-/* 05690 808DBF00 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05690 808DBF00 0C029490 */ jal Animation_MorphToPlayOnce
/* 05694 808DBF04 E60601CC */ swc1 $f6, 0x01CC($s0) ## 000001CC
/* 05698 808DBF08 3C0E808E */ lui $t6, %hi(func_808DBF30) ## $t6 = 808E0000
/* 0569C 808DBF0C 25CEBF30 */ addiu $t6, $t6, %lo(func_808DBF30) ## $t6 = 808DBF30
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBF30.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBF30.s
index 0e704e02c1..b743ea8322 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBF30.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DBF30.s
@@ -15,7 +15,7 @@ glabel func_808DBF30
/* 056C8 808DBF38 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 056CC 808DBF3C AFBF001C */ sw $ra, 0x001C($sp)
/* 056D0 808DBF40 AFA50024 */ sw $a1, 0x0024($sp)
-/* 056D4 808DBF44 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 056D4 808DBF44 0C02927F */ jal SkelAnime_Update
/* 056D8 808DBF48 24840150 */ addiu $a0, $a0, 0x0150 ## $a0 = 00000150
/* 056DC 808DBF4C 3C038090 */ lui $v1, %hi(D_808F93C0) ## $v1 = 80900000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC0E8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC0E8.s
index 53e0d1260c..4f7fb004fd 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC0E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC0E8.s
@@ -5,7 +5,7 @@ glabel func_808DC0E8
/* 05884 808DC0F4 0C235C4B */ jal func_808D712C
/* 05888 808DC0F8 2406017C */ addiu $a2, $zero, 0x017C ## $a2 = 0000017C
/* 0588C 808DC0FC 3C040600 */ lui $a0, %hi(D_0600738C) ## $a0 = 06000000
-/* 05890 808DC100 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05890 808DC100 0C028800 */ jal Animation_GetLastFrame
/* 05894 808DC104 2484738C */ addiu $a0, $a0, %lo(D_0600738C) ## $a0 = 0600738C
/* 05898 808DC108 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -15,7 +15,7 @@ glabel func_808DC0E8
/* 058A8 808DC118 24A5738C */ addiu $a1, $a1, %lo(D_0600738C) ## $a1 = 0600738C
/* 058AC 808DC11C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 058B0 808DC120 24640150 */ addiu $a0, $v1, 0x0150 ## $a0 = 00000150
-/* 058B4 808DC124 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 058B4 808DC124 0C029490 */ jal Animation_MorphToPlayOnce
/* 058B8 808DC128 E46601CC */ swc1 $f6, 0x01CC($v1) ## 000001CC
/* 058BC 808DC12C 8FAF0018 */ lw $t7, 0x0018($sp)
/* 058C0 808DC130 3C0E808E */ lui $t6, %hi(func_808DC14C) ## $t6 = 808E0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC14C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC14C.s
index 65cf2d5853..953db3d2be 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC14C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC14C.s
@@ -10,7 +10,7 @@ glabel func_808DC14C
/* 058E8 808DC158 AFBF003C */ sw $ra, 0x003C($sp)
/* 058EC 808DC15C 24840150 */ addiu $a0, $a0, 0x0150 ## $a0 = 00000150
/* 058F0 808DC160 AFA50054 */ sw $a1, 0x0054($sp)
-/* 058F4 808DC164 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 058F4 808DC164 0C02927F */ jal SkelAnime_Update
/* 058F8 808DC168 AFA40044 */ sw $a0, 0x0044($sp)
/* 058FC 808DC16C 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
@@ -30,7 +30,7 @@ glabel func_808DC14C
.L808DC1A0:
/* 05930 808DC1A0 A20E01A0 */ sb $t6, 0x01A0($s0) ## 000001A0
/* 05934 808DC1A4 8FA40044 */ lw $a0, 0x0044($sp)
-/* 05938 808DC1A8 0C0295B2 */ jal func_800A56C8
+/* 05938 808DC1A8 0C0295B2 */ jal Animation_OnFrame
/* 0593C 808DC1AC 8E0501CC */ lw $a1, 0x01CC($s0) ## 000001CC
/* 05940 808DC1B0 10400007 */ beq $v0, $zero, .L808DC1D0
/* 05944 808DC1B4 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
@@ -38,7 +38,7 @@ glabel func_808DC14C
/* 0594C 808DC1BC 3C050601 */ lui $a1, %hi(D_06009A14) ## $a1 = 06010000
/* 05950 808DC1C0 24A59A14 */ addiu $a1, $a1, %lo(D_06009A14) ## $a1 = 06009A14
/* 05954 808DC1C4 8FA40044 */ lw $a0, 0x0044($sp)
-/* 05958 808DC1C8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 05958 808DC1C8 0C0294D3 */ jal Animation_MorphToLoop
/* 0595C 808DC1CC 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
.L808DC1D0:
/* 05960 808DC1D0 3C014140 */ lui $at, 0x4140 ## $at = 41400000
@@ -61,7 +61,7 @@ glabel func_808DC14C
/* 059A4 808DC214 8E0A0268 */ lw $t2, 0x0268($s0) ## 00000268
/* 059A8 808DC218 AD0A0008 */ sw $t2, 0x0008($t0) ## 8015FD00
.L808DC21C:
-/* 059AC 808DC21C 0C0295B2 */ jal func_800A56C8
+/* 059AC 808DC21C 0C0295B2 */ jal Animation_OnFrame
/* 059B0 808DC220 8FA40044 */ lw $a0, 0x0044($sp)
/* 059B4 808DC224 10400004 */ beq $v0, $zero, .L808DC238
/* 059B8 808DC228 3C054130 */ lui $a1, 0x4130 ## $a1 = 41300000
@@ -69,7 +69,7 @@ glabel func_808DC14C
/* 059C0 808DC230 00000000 */ nop
/* 059C4 808DC234 E6060254 */ swc1 $f6, 0x0254($s0) ## 00000254
.L808DC238:
-/* 059C8 808DC238 0C0295B2 */ jal func_800A56C8
+/* 059C8 808DC238 0C0295B2 */ jal Animation_OnFrame
/* 059CC 808DC23C 8FA40044 */ lw $a0, 0x0044($sp)
/* 059D0 808DC240 10400046 */ beq $v0, $zero, .L808DC35C
/* 059D4 808DC244 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
@@ -120,7 +120,7 @@ glabel func_808DC14C
/* 05A74 808DC2E4 0018C880 */ sll $t9, $t8, 2
/* 05A78 808DC2E8 00992021 */ addu $a0, $a0, $t9
/* 05A7C 808DC2EC 8C844D38 */ lw $a0, %lo(D_808E4D38)($a0)
-/* 05A80 808DC2F0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05A80 808DC2F0 0C028800 */ jal Animation_GetLastFrame
/* 05A84 808DC2F4 A7A2004E */ sh $v0, 0x004E($sp)
/* 05A88 808DC2F8 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -132,7 +132,7 @@ glabel func_808DC14C
/* 05AA0 808DC310 8FA40044 */ lw $a0, 0x0044($sp)
/* 05AA4 808DC314 00084880 */ sll $t1, $t0, 2
/* 05AA8 808DC318 00A92821 */ addu $a1, $a1, $t1
-/* 05AAC 808DC31C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05AAC 808DC31C 0C029490 */ jal Animation_MorphToPlayOnce
/* 05AB0 808DC320 8CA54D38 */ lw $a1, %lo(D_808E4D38)($a1)
/* 05AB4 808DC324 87AA004E */ lh $t2, 0x004E($sp)
/* 05AB8 808DC328 3C0C808E */ lui $t4, %hi(D_808E4D40) ## $t4 = 808E0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC420.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC420.s
index 4f2a789498..1c3e53a85e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC420.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC420.s
@@ -15,7 +15,7 @@ glabel func_808DC420
/* 05BE0 808DC450 0C235C4B */ jal func_808D712C
/* 05BE4 808DC454 AFA20024 */ sw $v0, 0x0024($sp)
/* 05BE8 808DC458 3C040601 */ lui $a0, %hi(D_06009D5C) ## $a0 = 06010000
-/* 05BEC 808DC45C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05BEC 808DC45C 0C028800 */ jal Animation_GetLastFrame
/* 05BF0 808DC460 24849D5C */ addiu $a0, $a0, %lo(D_06009D5C) ## $a0 = 06009D5C
/* 05BF4 808DC464 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -24,7 +24,7 @@ glabel func_808DC420
/* 05C00 808DC470 468021A0 */ cvt.s.w $f6, $f4
/* 05C04 808DC474 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 05C08 808DC478 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 05C0C 808DC47C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05C0C 808DC47C 0C029490 */ jal Animation_MorphToPlayOnce
/* 05C10 808DC480 E60601CC */ swc1 $f6, 0x01CC($s0) ## 000001CC
/* 05C14 808DC484 8FB80024 */ lw $t8, 0x0024($sp)
/* 05C18 808DC488 AE180194 */ sw $t8, 0x0194($s0) ## 00000194
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC4DC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC4DC.s
index 8e77004411..9aef17552d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC4DC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC4DC.s
@@ -8,7 +8,7 @@ glabel func_808DC4DC
/* 05C84 808DC4F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 05C88 808DC4F8 A08E0624 */ sb $t6, 0x0624($a0) ## 00000624
/* 05C8C 808DC4FC 24910150 */ addiu $s1, $a0, 0x0150 ## $s1 = 00000150
-/* 05C90 808DC500 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05C90 808DC500 0C02927F */ jal SkelAnime_Update
/* 05C94 808DC504 02202025 */ or $a0, $s1, $zero ## $a0 = 00000150
/* 05C98 808DC508 3C038090 */ lui $v1, %hi(D_808F93C0) ## $v1 = 80900000
@@ -40,16 +40,16 @@ glabel func_808DC4DC
/* 05D00 808DC570 3C050601 */ lui $a1, %hi(D_0600A598) ## $a1 = 06010000
/* 05D04 808DC574 A60B01C2 */ sh $t3, 0x01C2($s0) ## 000001C2
/* 05D08 808DC578 24A5A598 */ addiu $a1, $a1, %lo(D_0600A598) ## $a1 = 0600A598
-/* 05D0C 808DC57C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05D0C 808DC57C 0C029490 */ jal Animation_MorphToPlayOnce
/* 05D10 808DC580 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 05D14 808DC584 3C040601 */ lui $a0, %hi(D_0600A598) ## $a0 = 06010000
-/* 05D18 808DC588 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05D18 808DC588 0C028800 */ jal Animation_GetLastFrame
/* 05D1C 808DC58C 2484A598 */ addiu $a0, $a0, %lo(D_0600A598) ## $a0 = 0600A598
/* 05D20 808DC590 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
/* 05D24 808DC594 02202025 */ or $a0, $s1, $zero ## $a0 = 00000150
/* 05D28 808DC598 468084A0 */ cvt.s.w $f18, $f16
-/* 05D2C 808DC59C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05D2C 808DC59C 0C02927F */ jal SkelAnime_Update
/* 05D30 808DC5A0 E61201CC */ swc1 $f18, 0x01CC($s0) ## 000001CC
/* 05D34 808DC5A4 3C038090 */ lui $v1, %hi(D_808F93C0) ## $v1 = 80900000
@@ -69,7 +69,7 @@ glabel func_808DC4DC
/* 05D64 808DC5D4 8C6D0000 */ lw $t5, 0x0000($v1) ## 00000000
/* 05D68 808DC5D8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000150
/* 05D6C 808DC5DC E5A616B8 */ swc1 $f6, 0x16B8($t5) ## 000016B8
-/* 05D70 808DC5E0 0C0295B2 */ jal func_800A56C8
+/* 05D70 808DC5E0 0C0295B2 */ jal Animation_OnFrame
/* 05D74 808DC5E4 8E0501CC */ lw $a1, 0x01CC($s0) ## 000001CC
/* 05D78 808DC5E8 10400003 */ beq $v0, $zero, .L808DC5F8
/* 05D7C 808DC5EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC66C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC66C.s
index c9c18fc567..0810d12aba 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC66C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC66C.s
@@ -6,7 +6,7 @@ glabel func_808DC66C
/* 05E0C 808DC67C 0C235C4B */ jal func_808D712C
/* 05E10 808DC680 2406017C */ addiu $a2, $zero, 0x017C ## $a2 = 0000017C
/* 05E14 808DC684 3C040601 */ lui $a0, %hi(D_06008128) ## $a0 = 06010000
-/* 05E18 808DC688 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05E18 808DC688 0C028800 */ jal Animation_GetLastFrame
/* 05E1C 808DC68C 24848128 */ addiu $a0, $a0, %lo(D_06008128) ## $a0 = 06008128
/* 05E20 808DC690 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -15,7 +15,7 @@ glabel func_808DC66C
/* 05E2C 808DC69C 468021A0 */ cvt.s.w $f6, $f4
/* 05E30 808DC6A0 26040150 */ addiu $a0, $s0, 0x0150 ## $a0 = 00000150
/* 05E34 808DC6A4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 05E38 808DC6A8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05E38 808DC6A8 0C029490 */ jal Animation_MorphToPlayOnce
/* 05E3C 808DC6AC E60601CC */ swc1 $f6, 0x01CC($s0) ## 000001CC
/* 05E40 808DC6B0 3C048090 */ lui $a0, %hi(D_808F93C0) ## $a0 = 80900000
/* 05E44 808DC6B4 240E0046 */ addiu $t6, $zero, 0x0046 ## $t6 = 00000046
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC75C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC75C.s
index 4e33ea29aa..d106d5e5ab 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC75C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC75C.s
@@ -10,7 +10,7 @@ glabel func_808DC75C
/* 05F0C 808DC77C AFB0002C */ sw $s0, 0x002C($sp)
/* 05F10 808DC780 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 05F14 808DC784 F7B40018 */ sdc1 $f20, 0x0018($sp)
-/* 05F18 808DC788 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05F18 808DC788 0C02927F */ jal SkelAnime_Update
/* 05F1C 808DC78C AFA40048 */ sw $a0, 0x0048($sp)
/* 05F20 808DC790 866301C2 */ lh $v1, 0x01C2($s3) ## 000001C2
@@ -22,12 +22,12 @@ glabel func_808DC75C
/* 05F38 808DC7A8 0C235AFC */ jal func_808D6BF0
/* 05F3C 808DC7AC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 05F40 808DC7B0 8FA40048 */ lw $a0, 0x0048($sp)
-/* 05F44 808DC7B4 0C0295B2 */ jal func_800A56C8
+/* 05F44 808DC7B4 0C0295B2 */ jal Animation_OnFrame
/* 05F48 808DC7B8 8E6501CC */ lw $a1, 0x01CC($s3) ## 000001CC
/* 05F4C 808DC7BC 10400063 */ beq $v0, $zero, .L808DC94C
/* 05F50 808DC7C0 3C100601 */ lui $s0, %hi(D_06008F44) ## $s0 = 06010000
/* 05F54 808DC7C4 26108F44 */ addiu $s0, $s0, %lo(D_06008F44) ## $s0 = 06008F44
-/* 05F58 808DC7C8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05F58 808DC7C8 0C028800 */ jal Animation_GetLastFrame
/* 05F5C 808DC7CC 02002025 */ or $a0, $s0, $zero ## $a0 = 06008F44
/* 05F60 808DC7D0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -35,7 +35,7 @@ glabel func_808DC75C
/* 05F68 808DC7D8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 05F6C 808DC7DC 468021A0 */ cvt.s.w $f6, $f4
/* 05F70 808DC7E0 E66601CC */ swc1 $f6, 0x01CC($s3) ## 000001CC
-/* 05F74 808DC7E4 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 05F74 808DC7E4 0C0294D3 */ jal Animation_MorphToLoop
/* 05F78 808DC7E8 8FA40048 */ lw $a0, 0x0048($sp)
/* 05F7C 808DC7EC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 05F80 808DC7F0 10000056 */ beq $zero, $zero, .L808DC94C
@@ -52,7 +52,7 @@ glabel func_808DC75C
/* 05FA8 808DC818 26108A88 */ addiu $s0, $s0, %lo(D_06008A88) ## $s0 = 06008A88
/* 05FAC 808DC81C 55E0004C */ bnel $t7, $zero, .L808DC950
/* 05FB0 808DC820 866401A2 */ lh $a0, 0x01A2($s3) ## 000001A2
-/* 05FB4 808DC824 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05FB4 808DC824 0C028800 */ jal Animation_GetLastFrame
/* 05FB8 808DC828 02002025 */ or $a0, $s0, $zero ## $a0 = 06008A88
/* 05FBC 808DC82C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -60,11 +60,11 @@ glabel func_808DC75C
/* 05FC4 808DC834 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 05FC8 808DC838 468042A0 */ cvt.s.w $f10, $f8
/* 05FCC 808DC83C E66A01CC */ swc1 $f10, 0x01CC($s3) ## 000001CC
-/* 05FD0 808DC840 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05FD0 808DC840 0C029490 */ jal Animation_MorphToPlayOnce
/* 05FD4 808DC844 8FA40048 */ lw $a0, 0x0048($sp)
/* 05FD8 808DC848 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
/* 05FDC 808DC84C A67801C2 */ sh $t8, 0x01C2($s3) ## 000001C2
-/* 05FE0 808DC850 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05FE0 808DC850 0C02927F */ jal SkelAnime_Update
/* 05FE4 808DC854 8FA40048 */ lw $a0, 0x0048($sp)
/* 05FE8 808DC858 3C014190 */ lui $at, 0x4190 ## $at = 41900000
@@ -84,7 +84,7 @@ glabel func_808DC75C
/* 06018 808DC888 10000030 */ beq $zero, $zero, .L808DC94C
/* 0601C 808DC88C A66801BA */ sh $t0, 0x01BA($s3) ## 000001BA
.L808DC890:
-/* 06020 808DC890 0C0295B2 */ jal func_800A56C8
+/* 06020 808DC890 0C0295B2 */ jal Animation_OnFrame
/* 06024 808DC894 3C0540E0 */ lui $a1, 0x40E0 ## $a1 = 40E00000
/* 06028 808DC898 10400025 */ beq $v0, $zero, .L808DC930
/* 0602C 808DC89C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
@@ -132,7 +132,7 @@ glabel func_808DC75C
/* 060BC 808DC92C 24050806 */ addiu $a1, $zero, 0x0806 ## $a1 = 00000806
.L808DC930:
/* 060C0 808DC930 8FA40048 */ lw $a0, 0x0048($sp)
-/* 060C4 808DC934 0C0295B2 */ jal func_800A56C8
+/* 060C4 808DC934 0C0295B2 */ jal Animation_OnFrame
/* 060C8 808DC938 8E6501CC */ lw $a1, 0x01CC($s3) ## 000001CC
/* 060CC 808DC93C 10400003 */ beq $v0, $zero, .L808DC94C
/* 060D0 808DC940 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC9B4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC9B4.s
index 3190fe88b3..b341f3af94 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC9B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DC9B4.s
@@ -19,7 +19,7 @@ glabel func_808DC9B4
/* 06188 808DC9F8 AFA20060 */ sw $v0, 0x0060($sp)
/* 0618C 808DC9FC 3C100600 */ lui $s0, %hi(D_06004884) ## $s0 = 06000000
/* 06190 808DCA00 26104884 */ addiu $s0, $s0, %lo(D_06004884) ## $s0 = 06004884
-/* 06194 808DCA04 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06194 808DCA04 0C028800 */ jal Animation_GetLastFrame
/* 06198 808DCA08 02002025 */ or $a0, $s0, $zero ## $a0 = 06004884
/* 0619C 808DCA0C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_808DC9B4
/* 061A8 808DCA18 468021A0 */ cvt.s.w $f6, $f4
/* 061AC 808DCA1C 4406C000 */ mfc1 $a2, $f24
/* 061B0 808DCA20 02002825 */ or $a1, $s0, $zero ## $a1 = 06004884
-/* 061B4 808DCA24 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 061B4 808DCA24 0C029490 */ jal Animation_MorphToPlayOnce
/* 061B8 808DCA28 E62601CC */ swc1 $f6, 0x01CC($s1) ## 000001CC
/* 061BC 808DCA2C 3C028090 */ lui $v0, %hi(D_808F93C0) ## $v0 = 80900000
/* 061C0 808DCA30 244293C0 */ addiu $v0, $v0, %lo(D_808F93C0) ## $v0 = 808F93C0
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DCB7C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DCB7C.s
index 35b9cb64dc..24633c9b0f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DCB7C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DCB7C.s
@@ -30,7 +30,7 @@ glabel func_808DCB7C
/* 0633C 808DCBAC AC980004 */ sw $t8, 0x0004($a0) ## 00000154
/* 06340 808DCBB0 26240150 */ addiu $a0, $s1, 0x0150 ## $a0 = 00000150
.L808DCBB4:
-/* 06344 808DCBB4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06344 808DCBB4 0C02927F */ jal SkelAnime_Update
/* 06348 808DCBB8 AFA40038 */ sw $a0, 0x0038($sp)
/* 0634C 808DCBBC C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028
@@ -93,14 +93,14 @@ glabel func_808DCB7C
/* 06414 808DCC84 00000000 */ nop
glabel L808DCC88
/* 06418 808DCC88 8FA40038 */ lw $a0, 0x0038($sp)
-/* 0641C 808DCC8C 0C0295B2 */ jal func_800A56C8
+/* 0641C 808DCC8C 0C0295B2 */ jal Animation_OnFrame
/* 06420 808DCC90 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 06424 808DCC94 1040010E */ beq $v0, $zero, .L808DD0D0
/* 06428 808DCC98 3C100600 */ lui $s0, %hi(D_06004DA8) ## $s0 = 06000000
/* 0642C 808DCC9C 26104DA8 */ addiu $s0, $s0, %lo(D_06004DA8) ## $s0 = 06004DA8
/* 06430 808DCCA0 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 06434 808DCCA4 A62A01C2 */ sh $t2, 0x01C2($s1) ## 000001C2
-/* 06438 808DCCA8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06438 808DCCA8 0C028800 */ jal Animation_GetLastFrame
/* 0643C 808DCCAC 02002025 */ or $a0, $s0, $zero ## $a0 = 06004DA8
/* 06440 808DCCB0 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -108,20 +108,20 @@ glabel L808DCC88
/* 06448 808DCCB8 02002825 */ or $a1, $s0, $zero ## $a1 = 06004DA8
/* 0644C 808DCCBC 46805420 */ cvt.s.w $f16, $f10
/* 06450 808DCCC0 E63001CC */ swc1 $f16, 0x01CC($s1) ## 000001CC
-/* 06454 808DCCC4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06454 808DCCC4 0C029490 */ jal Animation_MorphToPlayOnce
/* 06458 808DCCC8 8FA40038 */ lw $a0, 0x0038($sp)
/* 0645C 808DCCCC 10000101 */ beq $zero, $zero, .L808DD0D4
/* 06460 808DCCD0 8FBF002C */ lw $ra, 0x002C($sp)
glabel L808DCCD4
/* 06464 808DCCD4 8FA40038 */ lw $a0, 0x0038($sp)
-/* 06468 808DCCD8 0C0295B2 */ jal func_800A56C8
+/* 06468 808DCCD8 0C0295B2 */ jal Animation_OnFrame
/* 0646C 808DCCDC 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 06470 808DCCE0 104000FB */ beq $v0, $zero, .L808DD0D0
/* 06474 808DCCE4 3C100600 */ lui $s0, %hi(D_06003D40) ## $s0 = 06000000
/* 06478 808DCCE8 26103D40 */ addiu $s0, $s0, %lo(D_06003D40) ## $s0 = 06003D40
/* 0647C 808DCCEC 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
/* 06480 808DCCF0 A62B01C2 */ sh $t3, 0x01C2($s1) ## 000001C2
-/* 06484 808DCCF4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06484 808DCCF4 0C028800 */ jal Animation_GetLastFrame
/* 06488 808DCCF8 02002025 */ or $a0, $s0, $zero ## $a0 = 06003D40
/* 0648C 808DCCFC 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -129,7 +129,7 @@ glabel L808DCCD4
/* 06494 808DCD04 02002825 */ or $a1, $s0, $zero ## $a1 = 06003D40
/* 06498 808DCD08 46809120 */ cvt.s.w $f4, $f18
/* 0649C 808DCD0C E62401CC */ swc1 $f4, 0x01CC($s1) ## 000001CC
-/* 064A0 808DCD10 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 064A0 808DCD10 0C029490 */ jal Animation_MorphToPlayOnce
/* 064A4 808DCD14 8FA40038 */ lw $a0, 0x0038($sp)
/* 064A8 808DCD18 100000EE */ beq $zero, $zero, .L808DD0D4
/* 064AC 808DCD1C 8FBF002C */ lw $ra, 0x002C($sp)
@@ -153,7 +153,7 @@ glabel L808DCD20
/* 064F0 808DCD60 E6200028 */ swc1 $f0, 0x0028($s1) ## 00000028
/* 064F4 808DCD64 E6340060 */ swc1 $f20, 0x0060($s1) ## 00000060
/* 064F8 808DCD68 A62D01C2 */ sh $t5, 0x01C2($s1) ## 000001C2
-/* 064FC 808DCD6C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 064FC 808DCD6C 0C028800 */ jal Animation_GetLastFrame
/* 06500 808DCD70 02002025 */ or $a0, $s0, $zero ## $a0 = 060063CC
/* 06504 808DCD74 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -161,7 +161,7 @@ glabel L808DCD20
/* 0650C 808DCD7C 02002825 */ or $a1, $s0, $zero ## $a1 = 060063CC
/* 06510 808DCD80 46809120 */ cvt.s.w $f4, $f18
/* 06514 808DCD84 E62401CC */ swc1 $f4, 0x01CC($s1) ## 000001CC
-/* 06518 808DCD88 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06518 808DCD88 0C029490 */ jal Animation_MorphToPlayOnce
/* 0651C 808DCD8C 8FA40038 */ lw $a0, 0x0038($sp)
/* 06520 808DCD90 8E2F0004 */ lw $t7, 0x0004($s1) ## 00000004
/* 06524 808DCD94 240E0046 */ addiu $t6, $zero, 0x0046 ## $t6 = 00000046
@@ -178,14 +178,14 @@ glabel L808DCDA8
/* 0654C 808DCDBC A228019F */ sb $t0, 0x019F($s1) ## 0000019F
/* 06550 808DCDC0 8FA40038 */ lw $a0, 0x0038($sp)
.L808DCDC4:
-/* 06554 808DCDC4 0C0295B2 */ jal func_800A56C8
+/* 06554 808DCDC4 0C0295B2 */ jal Animation_OnFrame
/* 06558 808DCDC8 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 0655C 808DCDCC 104000C0 */ beq $v0, $zero, .L808DD0D0
/* 06560 808DCDD0 3C100600 */ lui $s0, %hi(D_060069A0) ## $s0 = 06000000
/* 06564 808DCDD4 261069A0 */ addiu $s0, $s0, %lo(D_060069A0) ## $s0 = 060069A0
/* 06568 808DCDD8 24090004 */ addiu $t1, $zero, 0x0004 ## $t1 = 00000004
/* 0656C 808DCDDC A62901C2 */ sh $t1, 0x01C2($s1) ## 000001C2
-/* 06570 808DCDE0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06570 808DCDE0 0C028800 */ jal Animation_GetLastFrame
/* 06574 808DCDE4 02002025 */ or $a0, $s0, $zero ## $a0 = 060069A0
/* 06578 808DCDE8 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -193,13 +193,13 @@ glabel L808DCDA8
/* 06580 808DCDF0 02002825 */ or $a1, $s0, $zero ## $a1 = 060069A0
/* 06584 808DCDF4 46803220 */ cvt.s.w $f8, $f6
/* 06588 808DCDF8 E62801CC */ swc1 $f8, 0x01CC($s1) ## 000001CC
-/* 0658C 808DCDFC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0658C 808DCDFC 0C0294D3 */ jal Animation_MorphToLoop
/* 06590 808DCE00 8FA40038 */ lw $a0, 0x0038($sp)
/* 06594 808DCE04 100000B3 */ beq $zero, $zero, .L808DD0D4
/* 06598 808DCE08 8FBF002C */ lw $ra, 0x002C($sp)
glabel L808DCE0C
/* 0659C 808DCE0C 8FA40038 */ lw $a0, 0x0038($sp)
-/* 065A0 808DCE10 0C0295B2 */ jal func_800A56C8
+/* 065A0 808DCE10 0C0295B2 */ jal Animation_OnFrame
/* 065A4 808DCE14 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
/* 065A8 808DCE18 10400003 */ beq $v0, $zero, .L808DCE28
/* 065AC 808DCE1C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
@@ -213,7 +213,7 @@ glabel L808DCE0C
/* 065C4 808DCE34 154000A6 */ bne $t2, $zero, .L808DD0D0
/* 065C8 808DCE38 240B0005 */ addiu $t3, $zero, 0x0005 ## $t3 = 00000005
/* 065CC 808DCE3C A62B01C2 */ sh $t3, 0x01C2($s1) ## 000001C2
-/* 065D0 808DCE40 0C028800 */ jal SkelAnime_GetFrameCount
+/* 065D0 808DCE40 0C028800 */ jal Animation_GetLastFrame
/* 065D4 808DCE44 02002025 */ or $a0, $s0, $zero ## $a0 = 060058C4
/* 065D8 808DCE48 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -221,7 +221,7 @@ glabel L808DCE0C
/* 065E0 808DCE50 02002825 */ or $a1, $s0, $zero ## $a1 = 060058C4
/* 065E4 808DCE54 46805420 */ cvt.s.w $f16, $f10
/* 065E8 808DCE58 E63001CC */ swc1 $f16, 0x01CC($s1) ## 000001CC
-/* 065EC 808DCE5C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 065EC 808DCE5C 0C029490 */ jal Animation_MorphToPlayOnce
/* 065F0 808DCE60 8FA40038 */ lw $a0, 0x0038($sp)
/* 065F4 808DCE64 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 065F8 808DCE68 240C0050 */ addiu $t4, $zero, 0x0050 ## $t4 = 00000050
@@ -256,14 +256,14 @@ glabel L808DCEC8
/* 06660 808DCED0 0C235AFC */ jal func_808D6BF0
/* 06664 808DCED4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 06668 808DCED8 8FA40038 */ lw $a0, 0x0038($sp)
-/* 0666C 808DCEDC 0C0295B2 */ jal func_800A56C8
+/* 0666C 808DCEDC 0C0295B2 */ jal Animation_OnFrame
/* 06670 808DCEE0 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 06674 808DCEE4 1040007A */ beq $v0, $zero, .L808DD0D0
/* 06678 808DCEE8 3C100600 */ lui $s0, %hi(D_06006028) ## $s0 = 06000000
/* 0667C 808DCEEC 26106028 */ addiu $s0, $s0, %lo(D_06006028) ## $s0 = 06006028
/* 06680 808DCEF0 240A0006 */ addiu $t2, $zero, 0x0006 ## $t2 = 00000006
/* 06684 808DCEF4 A62A01C2 */ sh $t2, 0x01C2($s1) ## 000001C2
-/* 06688 808DCEF8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06688 808DCEF8 0C028800 */ jal Animation_GetLastFrame
/* 0668C 808DCEFC 02002025 */ or $a0, $s0, $zero ## $a0 = 06006028
/* 06690 808DCF00 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -271,7 +271,7 @@ glabel L808DCEC8
/* 06698 808DCF08 02002825 */ or $a1, $s0, $zero ## $a1 = 06006028
/* 0669C 808DCF0C 468021A0 */ cvt.s.w $f6, $f4
/* 066A0 808DCF10 E62601CC */ swc1 $f6, 0x01CC($s1) ## 000001CC
-/* 066A4 808DCF14 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 066A4 808DCF14 0C029490 */ jal Animation_MorphToPlayOnce
/* 066A8 808DCF18 8FA40038 */ lw $a0, 0x0038($sp)
/* 066AC 808DCF1C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 066B0 808DCF20 3C0B8090 */ lui $t3, %hi(D_808F93C0) ## $t3 = 80900000
@@ -291,7 +291,7 @@ glabel L808DCF3C
/* 066E4 808DCF54 3C07447A */ lui $a3, 0x447A ## $a3 = 447A0000
/* 066E8 808DCF58 8FA40038 */ lw $a0, 0x0038($sp)
-/* 066EC 808DCF5C 0C0295B2 */ jal func_800A56C8
+/* 066EC 808DCF5C 0C0295B2 */ jal Animation_OnFrame
/* 066F0 808DCF60 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 066F4 808DCF64 1040005A */ beq $v0, $zero, .L808DD0D0
/* 066F8 808DCF68 240D0007 */ addiu $t5, $zero, 0x0007 ## $t5 = 00000007
@@ -308,7 +308,7 @@ glabel L808DCF74
/* 0671C 808DCF8C 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000
/* 06720 808DCF90 3C100601 */ lui $s0, %hi(D_06008A88) ## $s0 = 06010000
/* 06724 808DCF94 26108A88 */ addiu $s0, $s0, %lo(D_06008A88) ## $s0 = 06008A88
-/* 06728 808DCF98 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06728 808DCF98 0C028800 */ jal Animation_GetLastFrame
/* 0672C 808DCF9C 02002025 */ or $a0, $s0, $zero ## $a0 = 06008A88
/* 06730 808DCFA0 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -316,11 +316,11 @@ glabel L808DCF74
/* 06738 808DCFA8 02002825 */ or $a1, $s0, $zero ## $a1 = 06008A88
/* 0673C 808DCFAC 46805420 */ cvt.s.w $f16, $f10
/* 06740 808DCFB0 E63001CC */ swc1 $f16, 0x01CC($s1) ## 000001CC
-/* 06744 808DCFB4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06744 808DCFB4 0C029490 */ jal Animation_MorphToPlayOnce
/* 06748 808DCFB8 8FA40038 */ lw $a0, 0x0038($sp)
/* 0674C 808DCFBC 240F0008 */ addiu $t7, $zero, 0x0008 ## $t7 = 00000008
/* 06750 808DCFC0 A62F01C2 */ sh $t7, 0x01C2($s1) ## 000001C2
-/* 06754 808DCFC4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06754 808DCFC4 0C02927F */ jal SkelAnime_Update
/* 06758 808DCFC8 8FA40038 */ lw $a0, 0x0038($sp)
/* 0675C 808DCFCC 3C014190 */ lui $at, 0x4190 ## $at = 41900000
@@ -341,7 +341,7 @@ glabel L808DCF74
glabel L808DD000
/* 06790 808DD000 A22001A0 */ sb $zero, 0x01A0($s1) ## 000001A0
/* 06794 808DD004 8FA40038 */ lw $a0, 0x0038($sp)
-/* 06798 808DD008 0C0295B2 */ jal func_800A56C8
+/* 06798 808DD008 0C0295B2 */ jal Animation_OnFrame
/* 0679C 808DD00C 3C0540E0 */ lui $a1, 0x40E0 ## $a1 = 40E00000
/* 067A0 808DD010 10400028 */ beq $v0, $zero, .L808DD0B4
/* 067A4 808DD014 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
@@ -392,7 +392,7 @@ glabel L808DD000
/* 06840 808DD0B0 A62801BC */ sh $t0, 0x01BC($s1) ## 000001BC
.L808DD0B4:
/* 06844 808DD0B4 8FA40038 */ lw $a0, 0x0038($sp)
-/* 06848 808DD0B8 0C0295B2 */ jal func_800A56C8
+/* 06848 808DD0B8 0C0295B2 */ jal Animation_OnFrame
/* 0684C 808DD0BC 8E2501CC */ lw $a1, 0x01CC($s1) ## 000001CC
/* 06850 808DD0C0 10400003 */ beq $v0, $zero, .L808DD0D0
/* 06854 808DD0C4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DD0E8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DD0E8.s
index 106981520d..221a6bdc8d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DD0E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DD0E8.s
@@ -5,7 +5,7 @@ glabel func_808DD0E8
/* 06884 808DD0F4 0C235C4B */ jal func_808D712C
/* 06888 808DD0F8 2406017C */ addiu $a2, $zero, 0x017C ## $a2 = 0000017C
/* 0688C 808DD0FC 3C040601 */ lui $a0, %hi(D_060096B0) ## $a0 = 06010000
-/* 06890 808DD100 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06890 808DD100 0C028800 */ jal Animation_GetLastFrame
/* 06894 808DD104 248496B0 */ addiu $a0, $a0, %lo(D_060096B0) ## $a0 = 060096B0
/* 06898 808DD108 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -15,7 +15,7 @@ glabel func_808DD0E8
/* 068A8 808DD118 24A596B0 */ addiu $a1, $a1, %lo(D_060096B0) ## $a1 = 060096B0
/* 068AC 808DD11C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 068B0 808DD120 24640150 */ addiu $a0, $v1, 0x0150 ## $a0 = 00000150
-/* 068B4 808DD124 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 068B4 808DD124 0C029490 */ jal Animation_MorphToPlayOnce
/* 068B8 808DD128 E46601CC */ swc1 $f6, 0x01CC($v1) ## 000001CC
/* 068BC 808DD12C 8FAF0018 */ lw $t7, 0x0018($sp)
/* 068C0 808DD130 3C0E808E */ lui $t6, %hi(func_808DD14C) ## $t6 = 808E0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DD14C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DD14C.s
index 934a3655e9..bd4d6fa487 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DD14C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/func_808DD14C.s
@@ -8,7 +8,7 @@ glabel func_808DD14C
/* 068F4 808DD164 24840150 */ addiu $a0, $a0, 0x0150 ## $a0 = 00000150
/* 068F8 808DD168 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 068FC 808DD16C AC8FFEB4 */ sw $t7, -0x014C($a0) ## 00000004
-/* 06900 808DD170 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06900 808DD170 0C02927F */ jal SkelAnime_Update
/* 06904 808DD174 AFA40024 */ sw $a0, 0x0024($sp)
/* 06908 808DD178 861801A4 */ lh $t8, 0x01A4($s0) ## 000001A4
@@ -26,7 +26,7 @@ glabel func_808DD14C
/* 06934 808DD1A4 A21902E4 */ sb $t9, 0x02E4($s0) ## 000002E4
.L808DD1A8:
/* 06938 808DD1A8 8FA40024 */ lw $a0, 0x0024($sp)
-/* 0693C 808DD1AC 0C0295B2 */ jal func_800A56C8
+/* 0693C 808DD1AC 0C0295B2 */ jal Animation_OnFrame
/* 06940 808DD1B0 8E0501CC */ lw $a1, 0x01CC($s0) ## 000001CC
/* 06944 808DD1B4 10400010 */ beq $v0, $zero, .L808DD1F8
/* 06948 808DD1B8 3C08808E */ lui $t0, %hi(func_808DCB7C) ## $t0 = 808E0000
@@ -35,7 +35,7 @@ glabel func_808DD14C
/* 06954 808DD1C4 3C040600 */ lui $a0, %hi(D_060069A0) ## $a0 = 06000000
/* 06958 808DD1C8 AE080194 */ sw $t0, 0x0194($s0) ## 00000194
/* 0695C 808DD1CC A60901C2 */ sh $t1, 0x01C2($s0) ## 000001C2
-/* 06960 808DD1D0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06960 808DD1D0 0C028800 */ jal Animation_GetLastFrame
/* 06964 808DD1D4 248469A0 */ addiu $a0, $a0, %lo(D_060069A0) ## $a0 = 060069A0
/* 06968 808DD1D8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -44,7 +44,7 @@ glabel func_808DD14C
/* 06974 808DD1E4 468021A0 */ cvt.s.w $f6, $f4
/* 06978 808DD1E8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 0697C 808DD1EC E60601CC */ swc1 $f6, 0x01CC($s0) ## 000001CC
-/* 06980 808DD1F0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 06980 808DD1F0 0C0294D3 */ jal Animation_MorphToLoop
/* 06984 808DD1F4 8FA40024 */ lw $a0, 0x0024($sp)
.L808DD1F8:
/* 06988 808DD1F8 8FBF001C */ lw $ra, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FD5F4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FD5F4.s
index 2a3a608cc8..3f82cb70c0 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FD5F4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FD5F4.s
@@ -227,7 +227,7 @@ glabel L808FD644
/* 008A4 808FD7E4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 008A8 808FD7E8 A52B00B6 */ sh $t3, 0x00B6($t1) ## 000000B6
/* 008AC 808FD7EC E5260028 */ swc1 $f6, 0x0028($t1) ## 00000028
-/* 008B0 808FD7F0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 008B0 808FD7F0 0C0294D3 */ jal Animation_MorphToLoop
/* 008B4 808FD7F4 E528002C */ swc1 $f8, 0x002C($t1) ## 0000002C
/* 008B8 808FD7F8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 008BC 808FD7FC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
@@ -841,10 +841,10 @@ glabel L808FDF70
/* 011B4 808FE0F4 24A52168 */ addiu $a1, $a1, %lo(D_06002168) ## $a1 = 06002168
/* 011B8 808FE0F8 AFA90088 */ sw $t1, 0x0088($sp)
/* 011BC 808FE0FC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 011C0 808FE100 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 011C0 808FE100 0C029490 */ jal Animation_MorphToPlayOnce
/* 011C4 808FE104 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 011C8 808FE108 3C040600 */ lui $a0, %hi(D_06002168) ## $a0 = 06000000
-/* 011CC 808FE10C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 011CC 808FE10C 0C028800 */ jal Animation_GetLastFrame
/* 011D0 808FE110 24842168 */ addiu $a0, $a0, %lo(D_06002168) ## $a0 = 06002168
/* 011D4 808FE114 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -893,7 +893,7 @@ glabel L808FDF70
glabel L808FE1C0
/* 01280 808FE1C0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01284 808FE1C4 AFA40050 */ sw $a0, 0x0050($sp)
-/* 01288 808FE1C8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01288 808FE1C8 0C02927F */ jal SkelAnime_Update
/* 0128C 808FE1CC AFA90088 */ sw $t1, 0x0088($sp)
/* 01290 808FE1D0 8E030398 */ lw $v1, 0x0398($s0) ## 00000398
@@ -943,7 +943,7 @@ glabel L808FE1C0
.L808FE274:
/* 01334 808FE274 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 01338 808FE278 AFA90088 */ sw $t1, 0x0088($sp)
-/* 0133C 808FE27C 0C0295B2 */ jal func_800A56C8
+/* 0133C 808FE27C 0C0295B2 */ jal Animation_OnFrame
/* 01340 808FE280 8FA40050 */ lw $a0, 0x0050($sp)
/* 01344 808FE284 10400562 */ beq $v0, $zero, .L808FF810
/* 01348 808FE288 8FA90088 */ lw $t1, 0x0088($sp)
@@ -951,7 +951,7 @@ glabel L808FE1C0
/* 01350 808FE290 24A52E6C */ addiu $a1, $a1, %lo(D_06002E6C) ## $a1 = 06002E6C
/* 01354 808FE294 8FA40050 */ lw $a0, 0x0050($sp)
/* 01358 808FE298 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 0135C 808FE29C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0135C 808FE29C 0C0294D3 */ jal Animation_MorphToLoop
/* 01360 808FE2A0 AFA90088 */ sw $t1, 0x0088($sp)
/* 01364 808FE2A4 3C01C348 */ lui $at, 0xC348 ## $at = C3480000
/* 01368 808FE2A8 44810000 */ mtc1 $at, $f0 ## $f0 = -200.00
@@ -976,7 +976,7 @@ glabel L808FE2E0
/* 013AC 808FE2EC AFAE0054 */ sw $t6, 0x0054($sp)
/* 013B0 808FE2F0 AFA80050 */ sw $t0, 0x0050($sp)
/* 013B4 808FE2F4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 013B8 808FE2F8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 013B8 808FE2F8 0C02927F */ jal SkelAnime_Update
/* 013BC 808FE2FC AFA90088 */ sw $t1, 0x0088($sp)
/* 013C0 808FE300 3C0544A1 */ lui $a1, 0x44A1 ## $a1 = 44A10000
@@ -1112,7 +1112,7 @@ glabel L808FE4C0
/* 015B0 808FE4F0 240539D1 */ addiu $a1, $zero, 0x39D1 ## $a1 = 000039D1
/* 015B4 808FE4F4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L808FE4F8:
-/* 015B8 808FE4F8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 015B8 808FE4F8 0C02927F */ jal SkelAnime_Update
/* 015BC 808FE4FC AFA40050 */ sw $a0, 0x0050($sp)
/* 015C0 808FE500 3C01429A */ lui $at, 0x429A ## $at = 429A0000
@@ -1135,10 +1135,10 @@ glabel L808FE4C0
/* 01600 808FE540 8FA40050 */ lw $a0, 0x0050($sp)
/* 01604 808FE544 3C050600 */ lui $a1, %hi(D_06000BFC) ## $a1 = 06000000
/* 01608 808FE548 24A50BFC */ addiu $a1, $a1, %lo(D_06000BFC) ## $a1 = 06000BFC
-/* 0160C 808FE54C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0160C 808FE54C 0C029490 */ jal Animation_MorphToPlayOnce
/* 01610 808FE550 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01614 808FE554 3C040600 */ lui $a0, %hi(D_06000BFC) ## $a0 = 06000000
-/* 01618 808FE558 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01618 808FE558 0C028800 */ jal Animation_GetLastFrame
/* 0161C 808FE55C 24840BFC */ addiu $a0, $a0, %lo(D_06000BFC) ## $a0 = 06000BFC
/* 01620 808FE560 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -1148,13 +1148,13 @@ glabel L808FE4C0
/* 01630 808FE570 E6040194 */ swc1 $f4, 0x0194($s0) ## 00000194
.L808FE574:
/* 01634 808FE574 8FA40050 */ lw $a0, 0x0050($sp)
-/* 01638 808FE578 0C0295B2 */ jal func_800A56C8
+/* 01638 808FE578 0C0295B2 */ jal Animation_OnFrame
/* 0163C 808FE57C 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 01640 808FE580 10400009 */ beq $v0, $zero, .L808FE5A8
/* 01644 808FE584 8FA40050 */ lw $a0, 0x0050($sp)
/* 01648 808FE588 3C050600 */ lui $a1, %hi(D_06003F38) ## $a1 = 06000000
/* 0164C 808FE58C 24A53F38 */ addiu $a1, $a1, %lo(D_06003F38) ## $a1 = 06003F38
-/* 01650 808FE590 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01650 808FE590 0C0294D3 */ jal Animation_MorphToLoop
/* 01654 808FE594 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01658 808FE598 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 0165C 808FE59C 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00
@@ -1182,10 +1182,10 @@ glabel L808FE4C0
/* 016A8 808FE5E8 3C050600 */ lui $a1, %hi(D_06003754) ## $a1 = 06000000
/* 016AC 808FE5EC 24A53754 */ addiu $a1, $a1, %lo(D_06003754) ## $a1 = 06003754
/* 016B0 808FE5F0 8FA40050 */ lw $a0, 0x0050($sp)
-/* 016B4 808FE5F4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 016B4 808FE5F4 0C029490 */ jal Animation_MorphToPlayOnce
/* 016B8 808FE5F8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 016BC 808FE5FC 3C040600 */ lui $a0, %hi(D_06003754) ## $a0 = 06000000
-/* 016C0 808FE600 0C028800 */ jal SkelAnime_GetFrameCount
+/* 016C0 808FE600 0C028800 */ jal Animation_GetLastFrame
/* 016C4 808FE604 24843754 */ addiu $a0, $a0, %lo(D_06003754) ## $a0 = 06003754
/* 016C8 808FE608 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -1247,17 +1247,17 @@ glabel L808FE63C
.L808FE6CC:
/* 0178C 808FE6CC 00000000 */ nop
/* 01790 808FE6D0 E60A01B4 */ swc1 $f10, 0x01B4($s0) ## 000001B4
-/* 01794 808FE6D4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01794 808FE6D4 0C02927F */ jal SkelAnime_Update
/* 01798 808FE6D8 8FA40050 */ lw $a0, 0x0050($sp)
/* 0179C 808FE6DC 8FA40050 */ lw $a0, 0x0050($sp)
-/* 017A0 808FE6E0 0C0295B2 */ jal func_800A56C8
+/* 017A0 808FE6E0 0C0295B2 */ jal Animation_OnFrame
/* 017A4 808FE6E4 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 017A8 808FE6E8 10400009 */ beq $v0, $zero, .L808FE710
/* 017AC 808FE6EC 8FA40050 */ lw $a0, 0x0050($sp)
/* 017B0 808FE6F0 3C050600 */ lui $a1, %hi(D_060028A8) ## $a1 = 06000000
/* 017B4 808FE6F4 24A528A8 */ addiu $a1, $a1, %lo(D_060028A8) ## $a1 = 060028A8
-/* 017B8 808FE6F8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 017B8 808FE6F8 0C029490 */ jal Animation_MorphToPlayOnce
/* 017BC 808FE6FC 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 017C0 808FE700 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 017C4 808FE704 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
@@ -1393,7 +1393,7 @@ glabel L808FE8E4
/* 019A8 808FE8E8 A2180339 */ sb $t8, 0x0339($s0) ## 00000339
/* 019AC 808FE8EC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 019B0 808FE8F0 AFA40050 */ sw $a0, 0x0050($sp)
-/* 019B4 808FE8F4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 019B4 808FE8F4 0C02927F */ jal SkelAnime_Update
/* 019B8 808FE8F8 AFA90088 */ sw $t1, 0x0088($sp)
/* 019BC 808FE8FC 8FA90088 */ lw $t1, 0x0088($sp)
@@ -1434,7 +1434,7 @@ glabel L808FE8E4
/* 01A48 808FE988 E60A03B8 */ swc1 $f10, 0x03B8($s0) ## 000003B8
/* 01A4C 808FE98C A60B039C */ sh $t3, 0x039C($s0) ## 0000039C
/* 01A50 808FE990 AE000398 */ sw $zero, 0x0398($s0) ## 00000398
-/* 01A54 808FE994 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01A54 808FE994 0C029490 */ jal Animation_MorphToPlayOnce
/* 01A58 808FE998 8FA40050 */ lw $a0, 0x0050($sp)
/* 01A5C 808FE99C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
/* 01A60 808FE9A0 44818000 */ mtc1 $at, $f16 ## $f16 = 50.00
@@ -1566,7 +1566,7 @@ glabel L808FEB70
/* 01C34 808FEB74 A20D0339 */ sb $t5, 0x0339($s0) ## 00000339
/* 01C38 808FEB78 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01C3C 808FEB7C AFA40050 */ sw $a0, 0x0050($sp)
-/* 01C40 808FEB80 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01C40 808FEB80 0C02927F */ jal SkelAnime_Update
/* 01C44 808FEB84 AFA90088 */ sw $t1, 0x0088($sp)
/* 01C48 808FEB88 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
@@ -1643,7 +1643,7 @@ glabel L808FEB70
/* 01D64 808FECA4 E60E0420 */ swc1 $f14, 0x0420($s0) ## 00000420
/* 01D68 808FECA8 E6020060 */ swc1 $f2, 0x0060($s0) ## 00000060
/* 01D6C 808FECAC 44061000 */ mfc1 $a2, $f2
-/* 01D70 808FECB0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01D70 808FECB0 0C029490 */ jal Animation_MorphToPlayOnce
/* 01D74 808FECB4 8FA40050 */ lw $a0, 0x0050($sp)
/* 01D78 808FECB8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D7C 808FECBC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
@@ -1660,7 +1660,7 @@ glabel L808FEB70
glabel L808FECE8
/* 01DA8 808FECE8 24180006 */ addiu $t8, $zero, 0x0006 ## $t8 = 00000006
/* 01DAC 808FECEC A2180339 */ sb $t8, 0x0339($s0) ## 00000339
-/* 01DB0 808FECF0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01DB0 808FECF0 0C02927F */ jal SkelAnime_Update
/* 01DB4 808FECF4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01DB8 808FECF8 3C040001 */ lui $a0, 0x0001 ## $a0 = 00010000
@@ -1700,7 +1700,7 @@ glabel L808FED50
/* 01E30 808FED70 3C018091 */ lui $at, %hi(D_8090DB9C) ## $at = 80910000
/* 01E34 808FED74 C430DB9C */ lwc1 $f16, %lo(D_8090DB9C)($at)
/* 01E38 808FED78 E61203BC */ swc1 $f18, 0x03BC($s0) ## 000003BC
-/* 01E3C 808FED7C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01E3C 808FED7C 0C02927F */ jal SkelAnime_Update
/* 01E40 808FED80 E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028
/* 01E44 808FED84 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
@@ -1840,7 +1840,7 @@ glabel L808FED50
/* 02030 808FEF70 3C014080 */ lui $at, 0x4080 ## $at = 40800000
glabel L808FEF74
/* 02034 808FEF74 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 02038 808FEF78 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02038 808FEF78 0C02927F */ jal SkelAnime_Update
/* 0203C 808FEF7C AFA90088 */ sw $t1, 0x0088($sp)
/* 02040 808FEF80 8E030398 */ lw $v1, 0x0398($s0) ## 00000398
@@ -1963,7 +1963,7 @@ glabel L808FEF74
/* 02208 808FF148 100001B1 */ beq $zero, $zero, .L808FF810
/* 0220C 808FF14C A2000339 */ sb $zero, 0x0339($s0) ## 00000339
glabel L808FF150
-/* 02210 808FF150 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02210 808FF150 0C02927F */ jal SkelAnime_Update
/* 02214 808FF154 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02218 808FF158 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000
@@ -2008,7 +2008,7 @@ glabel L808FF150
/* 022B0 808FF1F0 AE000398 */ sw $zero, 0x0398($s0) ## 00000398
glabel L808FF1F4
/* 022B4 808FF1F4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 022B8 808FF1F8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 022B8 808FF1F8 0C02927F */ jal SkelAnime_Update
/* 022BC 808FF1FC AFA90088 */ sw $t1, 0x0088($sp)
/* 022C0 808FF200 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
@@ -2287,10 +2287,10 @@ glabel L808FF51C
/* 026D4 808FF614 AE000398 */ sw $zero, 0x0398($s0) ## 00000398
/* 026D8 808FF618 24A547E0 */ addiu $a1, $a1, %lo(D_060147E0) ## $a1 = 060147E0
/* 026DC 808FF61C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 026E0 808FF620 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 026E0 808FF620 0C029490 */ jal Animation_MorphToPlayOnce
/* 026E4 808FF624 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 026E8 808FF628 3C040601 */ lui $a0, %hi(D_060147E0) ## $a0 = 06010000
-/* 026EC 808FF62C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 026EC 808FF62C 0C028800 */ jal Animation_GetLastFrame
/* 026F0 808FF630 248447E0 */ addiu $a0, $a0, %lo(D_060147E0) ## $a0 = 060147E0
/* 026F4 808FF634 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -2313,7 +2313,7 @@ glabel L808FF51C
glabel L808FF678
/* 02738 808FF678 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0273C 808FF67C AFA40050 */ sw $a0, 0x0050($sp)
-/* 02740 808FF680 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02740 808FF680 0C02927F */ jal SkelAnime_Update
/* 02744 808FF684 AFA90088 */ sw $t1, 0x0088($sp)
/* 02748 808FF688 3C014220 */ lui $at, 0x4220 ## $at = 42200000
@@ -2364,7 +2364,7 @@ glabel L808FF678
/* 027F8 808FF738 2405398F */ addiu $a1, $zero, 0x398F ## $a1 = 0000398F
/* 027FC 808FF73C 8FA40050 */ lw $a0, 0x0050($sp)
.L808FF740:
-/* 02800 808FF740 0C0295B2 */ jal func_800A56C8
+/* 02800 808FF740 0C0295B2 */ jal Animation_OnFrame
/* 02804 808FF744 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 02808 808FF748 10400031 */ beq $v0, $zero, .L808FF810
/* 0280C 808FF74C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFDB0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFDB0.s
index 8697c9ba8f..59e34b1611 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFDB0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFDB0.s
@@ -34,7 +34,7 @@ glabel func_808FFDB0
/* 02EE8 808FFE28 AC296FC0 */ sw $t1, %lo(gSegments+0x18)($at)
/* 02EEC 808FFE2C 24A5FFE4 */ addiu $a1, $a1, %lo(D_0600FFE4) ## $a1 = 0600FFE4
/* 02EF0 808FFE30 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 02EF4 808FFE34 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 02EF4 808FFE34 0C0294D3 */ jal Animation_MorphToLoop
/* 02EF8 808FFE38 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 02EFC 808FFE3C 920B0334 */ lbu $t3, 0x0334($s0) ## 00000334
/* 02F00 808FFE40 3C0A8090 */ lui $t2, %hi(func_808FFEBC) ## $t2 = 80900000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFEBC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFEBC.s
index 78555a7fb4..cc04581230 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFEBC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFEBC.s
@@ -22,7 +22,7 @@ glabel func_808FFEBC
/* 02FC8 808FFF08 A6090390 */ sh $t1, 0x0390($s0) ## 00000390
.L808FFF0C:
-/* 02FCC 808FFF0C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02FCC 808FFF0C 0C02927F */ jal SkelAnime_Update
/* 02FD0 808FFF10 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02FD4 808FFF14 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFF90.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFF90.s
index 0cdfc30946..cf4a3bf5a5 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFF90.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFF90.s
@@ -7,7 +7,7 @@ glabel func_808FFF90
/* 03064 808FFFA4 24A5FFE4 */ addiu $a1, $a1, %lo(D_0600FFE4) ## $a1 = 0600FFE4
/* 03068 808FFFA8 AFA70018 */ sw $a3, 0x0018($sp)
/* 0306C 808FFFAC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 03070 808FFFB0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 03070 808FFFB0 0C0294D3 */ jal Animation_MorphToLoop
/* 03074 808FFFB4 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 03078 808FFFB8 8FA70018 */ lw $a3, 0x0018($sp)
/* 0307C 808FFFBC 3C0E8090 */ lui $t6, %hi(func_808FFFE0) ## $t6 = 80900000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFFE0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFFE0.s
index fb2d13c71c..4b5fb0ee30 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFFE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_808FFFE0.s
@@ -4,7 +4,7 @@ glabel func_808FFFE0
/* 030A8 808FFFE8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 030AC 808FFFEC AFBF001C */ sw $ra, 0x001C($sp)
/* 030B0 808FFFF0 AFA50024 */ sw $a1, 0x0024($sp)
-/* 030B4 808FFFF4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 030B4 808FFFF4 0C02927F */ jal SkelAnime_Update
/* 030B8 808FFFF8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 030BC 808FFFFC 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_809000A0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_809000A0.s
index 25d113ccf5..2f2382a48d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_809000A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_809000A0.s
@@ -7,10 +7,10 @@ glabel func_809000A0
/* 03174 809000B4 24A56510 */ addiu $a1, $a1, %lo(D_06026510) ## $a1 = 06026510
/* 03178 809000B8 AFA70018 */ sw $a3, 0x0018($sp)
/* 0317C 809000BC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 03180 809000C0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 03180 809000C0 0C0294D3 */ jal Animation_MorphToLoop
/* 03184 809000C4 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 03188 809000C8 3C040602 */ lui $a0, %hi(D_06026510) ## $a0 = 06020000
-/* 0318C 809000CC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0318C 809000CC 0C028800 */ jal Animation_GetLastFrame
/* 03190 809000D0 24846510 */ addiu $a0, $a0, %lo(D_06026510) ## $a0 = 06026510
/* 03194 809000D4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900104.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900104.s
index 62fc13028c..33248d3cc0 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900104.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900104.s
@@ -6,7 +6,7 @@ glabel func_80900104
/* 031D4 80900114 2487014C */ addiu $a3, $a0, 0x014C ## $a3 = 0000014C
/* 031D8 80900118 AFA5002C */ sw $a1, 0x002C($sp)
/* 031DC 8090011C 00E02025 */ or $a0, $a3, $zero ## $a0 = 0000014C
-/* 031E0 80900120 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 031E0 80900120 0C02927F */ jal SkelAnime_Update
/* 031E4 80900124 AFA70020 */ sw $a3, 0x0020($sp)
/* 031E8 80900128 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
@@ -27,7 +27,7 @@ glabel func_80900104
/* 03220 80900160 8FBF001C */ lw $ra, 0x001C($sp)
.L80900164:
/* 03224 80900164 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
-/* 03228 80900168 0C0295B2 */ jal func_800A56C8
+/* 03228 80900168 0C0295B2 */ jal Animation_OnFrame
/* 0322C 8090016C AFA70020 */ sw $a3, 0x0020($sp)
/* 03230 80900170 10400022 */ beq $v0, $zero, .L809001FC
/* 03234 80900174 8FA70020 */ lw $a3, 0x0020($sp)
@@ -36,7 +36,7 @@ glabel func_80900104
/* 03240 80900180 A60E01AC */ sh $t6, 0x01AC($s0) ## 000001AC
/* 03244 80900184 24A56AF4 */ addiu $a1, $a1, %lo(D_06026AF4) ## $a1 = 06026AF4
/* 03248 80900188 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
-/* 0324C 8090018C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0324C 8090018C 0C0294D3 */ jal Animation_MorphToLoop
/* 03250 80900190 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 03254 80900194 240F0050 */ addiu $t7, $zero, 0x0050 ## $t7 = 00000050
/* 03258 80900198 10000018 */ beq $zero, $zero, .L809001FC
@@ -49,10 +49,10 @@ glabel func_80900104
/* 03270 809001B0 3C050602 */ lui $a1, %hi(D_06027824) ## $a1 = 06020000
/* 03274 809001B4 A61901AC */ sh $t9, 0x01AC($s0) ## 000001AC
/* 03278 809001B8 24A57824 */ addiu $a1, $a1, %lo(D_06027824) ## $a1 = 06027824
-/* 0327C 809001BC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0327C 809001BC 0C0294D3 */ jal Animation_MorphToLoop
/* 03280 809001C0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 03284 809001C4 3C040602 */ lui $a0, %hi(D_06027824) ## $a0 = 06020000
-/* 03288 809001C8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03288 809001C8 0C028800 */ jal Animation_GetLastFrame
/* 0328C 809001CC 24847824 */ addiu $a0, $a0, %lo(D_06027824) ## $a0 = 06027824
/* 03290 809001D0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -61,7 +61,7 @@ glabel func_80900104
/* 0329C 809001DC 10000007 */ beq $zero, $zero, .L809001FC
/* 032A0 809001E0 E6060194 */ swc1 $f6, 0x0194($s0) ## 00000194
.L809001E4:
-/* 032A4 809001E4 0C0295B2 */ jal func_800A56C8
+/* 032A4 809001E4 0C0295B2 */ jal Animation_OnFrame
/* 032A8 809001E8 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 032AC 809001EC 10400003 */ beq $v0, $zero, .L809001FC
/* 032B0 809001F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900210.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900210.s
index 8e33d9cbf9..c454fddd3b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900210.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900210.s
@@ -6,10 +6,10 @@ glabel func_80900210
/* 032E0 80900220 3C050601 */ lui $a1, %hi(D_0600DFF0) ## $a1 = 06010000
/* 032E4 80900224 24A5DFF0 */ addiu $a1, $a1, %lo(D_0600DFF0) ## $a1 = 0600DFF0
/* 032E8 80900228 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 032EC 8090022C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 032EC 8090022C 0C029490 */ jal Animation_MorphToPlayOnce
/* 032F0 80900230 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 032F4 80900234 3C040601 */ lui $a0, %hi(D_0600DFF0) ## $a0 = 06010000
-/* 032F8 80900238 0C028800 */ jal SkelAnime_GetFrameCount
+/* 032F8 80900238 0C028800 */ jal Animation_GetLastFrame
/* 032FC 8090023C 2484DFF0 */ addiu $a0, $a0, %lo(D_0600DFF0) ## $a0 = 0600DFF0
/* 03300 80900240 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_8090026C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_8090026C.s
index 36848bf994..bc5c6f0620 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_8090026C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_8090026C.s
@@ -4,7 +4,7 @@ glabel func_8090026C
/* 03334 80900274 AFBF0014 */ sw $ra, 0x0014($sp)
/* 03338 80900278 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0333C 8090027C AFA50024 */ sw $a1, 0x0024($sp)
-/* 03340 80900280 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03340 80900280 0C02927F */ jal SkelAnime_Update
/* 03344 80900284 AFA4001C */ sw $a0, 0x001C($sp)
/* 03348 80900288 8FA40020 */ lw $a0, 0x0020($sp)
@@ -15,7 +15,7 @@ glabel func_8090026C
/* 03358 80900298 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
/* 0335C 8090029C 8FAE0020 */ lw $t6, 0x0020($sp)
/* 03360 809002A0 8FA4001C */ lw $a0, 0x001C($sp)
-/* 03364 809002A4 0C0295B2 */ jal func_800A56C8
+/* 03364 809002A4 0C0295B2 */ jal Animation_OnFrame
/* 03368 809002A8 8DC50194 */ lw $a1, 0x0194($t6) ## 00000194
/* 0336C 809002AC 10400003 */ beq $v0, $zero, .L809002BC
/* 03370 809002B0 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_809002CC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_809002CC.s
index becfed0729..81c10d1f9f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_809002CC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_809002CC.s
@@ -7,7 +7,7 @@ glabel func_809002CC
/* 033A0 809002E0 24A5E8EC */ addiu $a1, $a1, %lo(D_0600E8EC) ## $a1 = 0600E8EC
/* 033A4 809002E4 AFA70018 */ sw $a3, 0x0018($sp)
/* 033A8 809002E8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 033AC 809002EC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 033AC 809002EC 0C0294D3 */ jal Animation_MorphToLoop
/* 033B0 809002F0 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 033B4 809002F4 8FA70018 */ lw $a3, 0x0018($sp)
/* 033B8 809002F8 3C0E8090 */ lui $t6, %hi(func_80900344) ## $t6 = 80900000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900344.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900344.s
index b5faba376b..51e680bc49 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900344.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900344.s
@@ -38,7 +38,7 @@ glabel func_80900344
/* 03470 809003B0 3C054150 */ lui $a1, 0x4150 ## $a1 = 41500000
/* 03474 809003B4 11400041 */ beq $t2, $zero, .L809004BC
/* 03478 809003B8 3C014000 */ lui $at, 0x4000 ## $at = 40000000
-/* 0347C 809003BC 0C0295B2 */ jal func_800A56C8
+/* 0347C 809003BC 0C0295B2 */ jal Animation_OnFrame
/* 03480 809003C0 AFA40020 */ sw $a0, 0x0020($sp)
/* 03484 809003C4 10400008 */ beq $v0, $zero, .L809003E8
/* 03488 809003C8 8FA40020 */ lw $a0, 0x0020($sp)
@@ -50,7 +50,7 @@ glabel func_80900344
/* 034A0 809003E0 1000000A */ beq $zero, $zero, .L8090040C
/* 034A4 809003E4 3C014348 */ lui $at, 0x4348 ## $at = 43480000
.L809003E8:
-/* 034A8 809003E8 0C0295B2 */ jal func_800A56C8
+/* 034A8 809003E8 0C0295B2 */ jal Animation_OnFrame
/* 034AC 809003EC 3C0541E0 */ lui $a1, 0x41E0 ## $a1 = 41E00000
/* 034B0 809003F0 10400005 */ beq $v0, $zero, .L80900408
/* 034B4 809003F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -71,7 +71,7 @@ glabel func_80900344
/* 034E8 80900428 45020007 */ bc1fl .L80900448
/* 034EC 8090042C 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00
/* 034F0 80900430 A2000338 */ sb $zero, 0x0338($s0) ## 00000338
-/* 034F4 80900434 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 034F4 80900434 0C0294D3 */ jal Animation_MorphToLoop
/* 034F8 80900438 8FA40020 */ lw $a0, 0x0020($sp)
/* 034FC 8090043C 1000001A */ beq $zero, $zero, .L809004A8
/* 03500 80900440 3C014040 */ lui $at, 0x4040 ## $at = 40400000
@@ -122,12 +122,12 @@ glabel func_80900344
/* 035A4 809004E4 45020006 */ bc1fl .L80900500
/* 035A8 809004E8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 035AC 809004EC A20C0338 */ sb $t4, 0x0338($s0) ## 00000338
-/* 035B0 809004F0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 035B0 809004F0 0C0294D3 */ jal Animation_MorphToLoop
/* 035B4 809004F4 E7A00024 */ swc1 $f0, 0x0024($sp)
/* 035B8 809004F8 C7A00024 */ lwc1 $f0, 0x0024($sp)
/* 035BC 809004FC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80900500:
-/* 035C0 80900500 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 035C0 80900500 0C02927F */ jal SkelAnime_Update
/* 035C4 80900504 E7A00024 */ swc1 $f0, 0x0024($sp)
/* 035C8 80900508 C7A00024 */ lwc1 $f0, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900580.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900580.s
index 198001e4cd..a5a4a7488e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900580.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900580.s
@@ -11,10 +11,10 @@ glabel func_80900580
/* 03664 809005A4 3C050601 */ lui $a1, %hi(D_0600ADD0) ## $a1 = 06010000
/* 03668 809005A8 24A5ADD0 */ addiu $a1, $a1, %lo(D_0600ADD0) ## $a1 = 0600ADD0
/* 0366C 809005AC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 03670 809005B0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 03670 809005B0 0C029490 */ jal Animation_MorphToPlayOnce
/* 03674 809005B4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 03678 809005B8 3C040601 */ lui $a0, %hi(D_0600ADD0) ## $a0 = 06010000
-/* 0367C 809005BC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0367C 809005BC 0C028800 */ jal Animation_GetLastFrame
/* 03680 809005C0 2484ADD0 */ addiu $a0, $a0, %lo(D_0600ADD0) ## $a0 = 0600ADD0
/* 03684 809005C4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -30,10 +30,10 @@ glabel func_80900580
/* 036AC 809005EC E6100198 */ swc1 $f16, 0x0198($s0) ## 00000198
.L809005F0:
/* 036B0 809005F0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 036B4 809005F4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 036B4 809005F4 0C029490 */ jal Animation_MorphToPlayOnce
/* 036B8 809005F8 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 036BC 809005FC 3C040601 */ lui $a0, %hi(D_0600CAF8) ## $a0 = 06010000
-/* 036C0 80900600 0C028800 */ jal SkelAnime_GetFrameCount
+/* 036C0 80900600 0C028800 */ jal Animation_GetLastFrame
/* 036C4 80900604 2484CAF8 */ addiu $a0, $a0, %lo(D_0600CAF8) ## $a0 = 0600CAF8
/* 036C8 80900608 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900650.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900650.s
index 176910a8a1..52a1be8187 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900650.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900650.s
@@ -5,11 +5,11 @@ glabel func_80900650
/* 0371C 8090065C AFBF001C */ sw $ra, 0x001C($sp)
/* 03720 80900660 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03724 80900664 AFA5002C */ sw $a1, 0x002C($sp)
-/* 03728 80900668 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03728 80900668 0C02927F */ jal SkelAnime_Update
/* 0372C 8090066C AFA40024 */ sw $a0, 0x0024($sp)
/* 03730 80900670 8FA40024 */ lw $a0, 0x0024($sp)
-/* 03734 80900674 0C0295B2 */ jal func_800A56C8
+/* 03734 80900674 0C0295B2 */ jal Animation_OnFrame
/* 03738 80900678 8E050198 */ lw $a1, 0x0198($s0) ## 00000198
/* 0373C 8090067C 10400006 */ beq $v0, $zero, .L80900698
/* 03740 80900680 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -69,7 +69,7 @@ glabel func_80900650
/* 03804 80900744 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 03808 80900748 8FA40024 */ lw $a0, 0x0024($sp)
-/* 0380C 8090074C 0C0295B2 */ jal func_800A56C8
+/* 0380C 8090074C 0C0295B2 */ jal Animation_OnFrame
/* 03810 80900750 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 03814 80900754 5040001B */ beql $v0, $zero, .L809007C4
/* 03818 80900758 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900818.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900818.s
index d03fdd8290..1b09ec160e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900818.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900818.s
@@ -7,10 +7,10 @@ glabel func_80900818
/* 038EC 8090082C 3C050603 */ lui $a1, %hi(D_0602A848) ## $a1 = 06030000
/* 038F0 80900830 24A5A848 */ addiu $a1, $a1, %lo(D_0602A848) ## $a1 = 0602A848
/* 038F4 80900834 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 038F8 80900838 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 038F8 80900838 0C029490 */ jal Animation_MorphToPlayOnce
/* 038FC 8090083C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 03900 80900840 3C040603 */ lui $a0, %hi(D_0602A848) ## $a0 = 06030000
-/* 03904 80900844 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03904 80900844 0C028800 */ jal Animation_GetLastFrame
/* 03908 80900848 2484A848 */ addiu $a0, $a0, %lo(D_0602A848) ## $a0 = 0602A848
/* 0390C 8090084C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900890.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900890.s
index 269c52e9dd..d21a9ee301 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900890.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80900890.s
@@ -33,7 +33,7 @@ glabel func_80900890
/* 03978 809008B8 8E2E1C44 */ lw $t6, 0x1C44($s1) ## 00001C44
/* 0397C 809008BC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 03980 809008C0 AFA4002C */ sw $a0, 0x002C($sp)
-/* 03984 809008C4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03984 809008C4 0C02927F */ jal SkelAnime_Update
/* 03988 809008C8 AFAE0048 */ sw $t6, 0x0048($sp)
/* 0398C 809008CC 8E0F0398 */ lw $t7, 0x0398($s0) ## 00000398
@@ -427,13 +427,13 @@ glabel L80900E4C
/* 03F50 80900E90 1000005B */ beq $zero, $zero, .L80901000
/* 03F54 80900E94 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
.L80900E98:
-/* 03F58 80900E98 0C0295B2 */ jal func_800A56C8
+/* 03F58 80900E98 0C0295B2 */ jal Animation_OnFrame
/* 03F5C 80900E9C 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 03F60 80900EA0 10400056 */ beq $v0, $zero, .L80900FFC
/* 03F64 80900EA4 8FA4002C */ lw $a0, 0x002C($sp)
/* 03F68 80900EA8 3C050603 */ lui $a1, %hi(D_06034278) ## $a1 = 06030000
/* 03F6C 80900EAC 24A54278 */ addiu $a1, $a1, %lo(D_06034278) ## $a1 = 06034278
-/* 03F70 80900EB0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 03F70 80900EB0 0C0294D3 */ jal Animation_MorphToLoop
/* 03F74 80900EB4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 03F78 80900EB8 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 03F7C 80900EBC 1000004F */ beq $zero, $zero, .L80900FFC
@@ -477,9 +477,9 @@ glabel L80900E4C
/* 04004 80900F44 00000000 */ nop
/* 04008 80900F48 4502002D */ bc1fl .L80901000
/* 0400C 80900F4C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
-/* 04010 80900F50 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04010 80900F50 0C029490 */ jal Animation_MorphToPlayOnce
/* 04014 80900F54 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 04018 80900F58 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04018 80900F58 0C028800 */ jal Animation_GetLastFrame
/* 0401C 80900F5C 02202025 */ or $a0, $s1, $zero ## $a0 = 060334F8
/* 04020 80900F60 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -512,7 +512,7 @@ glabel L80900E4C
/* 04080 80900FC0 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 04084 80900FC4 8FA4002C */ lw $a0, 0x002C($sp)
-/* 04088 80900FC8 0C0295B2 */ jal func_800A56C8
+/* 04088 80900FC8 0C0295B2 */ jal Animation_OnFrame
/* 0408C 80900FCC 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 04090 80900FD0 1040000A */ beq $v0, $zero, .L80900FFC
/* 04094 80900FD4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80901020.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80901020.s
index 6493201a49..568915c6e9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80901020.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_80901020.s
@@ -7,10 +7,10 @@ glabel func_80901020
/* 040F4 80901034 3C050603 */ lui $a1, %hi(D_0602A848) ## $a1 = 06030000
/* 040F8 80901038 24A5A848 */ addiu $a1, $a1, %lo(D_0602A848) ## $a1 = 0602A848
/* 040FC 8090103C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 04100 80901040 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04100 80901040 0C029490 */ jal Animation_MorphToPlayOnce
/* 04104 80901044 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 04108 80901048 3C040603 */ lui $a0, %hi(D_0602A848) ## $a0 = 06030000
-/* 0410C 8090104C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0410C 8090104C 0C028800 */ jal Animation_GetLastFrame
/* 04110 80901050 2484A848 */ addiu $a0, $a0, %lo(D_0602A848) ## $a0 = 0602A848
/* 04114 80901054 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_8090120C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_8090120C.s
index 50e8fa3af4..d79aea34a2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_8090120C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/func_8090120C.s
@@ -52,7 +52,7 @@ glabel func_8090120C
/* 042EC 8090122C 8C98024C */ lw $t8, 0x024C($a0) ## 00000398
/* 042F0 80901230 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
/* 042F4 80901234 AC99024C */ sw $t9, 0x024C($a0) ## 00000398
-/* 042F8 80901238 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 042F8 80901238 0C02927F */ jal SkelAnime_Update
/* 042FC 8090123C AFA40028 */ sw $a0, 0x0028($sp)
/* 04300 80901240 8603039C */ lh $v1, 0x039C($s0) ## 0000039C
@@ -616,10 +616,10 @@ glabel L80901968
/* 04B18 80901A58 3C050600 */ lui $a1, %hi(D_06003B1C) ## $a1 = 06000000
/* 04B1C 80901A5C 24A53B1C */ addiu $a1, $a1, %lo(D_06003B1C) ## $a1 = 06003B1C
/* 04B20 80901A60 8FA40028 */ lw $a0, 0x0028($sp)
-/* 04B24 80901A64 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04B24 80901A64 0C029490 */ jal Animation_MorphToPlayOnce
/* 04B28 80901A68 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 04B2C 80901A6C 3C040600 */ lui $a0, %hi(D_06003B1C) ## $a0 = 06000000
-/* 04B30 80901A70 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04B30 80901A70 0C028800 */ jal Animation_GetLastFrame
/* 04B34 80901A74 24843B1C */ addiu $a0, $a0, %lo(D_06003B1C) ## $a0 = 06003B1C
/* 04B38 80901A78 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -846,10 +846,10 @@ glabel L80901AB0
/* 04E70 80901DB0 3C050600 */ lui $a1, %hi(D_06007288) ## $a1 = 06000000
/* 04E74 80901DB4 24A57288 */ addiu $a1, $a1, %lo(D_06007288) ## $a1 = 06007288
/* 04E78 80901DB8 8FA40028 */ lw $a0, 0x0028($sp)
-/* 04E7C 80901DBC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04E7C 80901DBC 0C029490 */ jal Animation_MorphToPlayOnce
/* 04E80 80901DC0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 04E84 80901DC4 3C040600 */ lui $a0, %hi(D_06007288) ## $a0 = 06000000
-/* 04E88 80901DC8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04E88 80901DC8 0C028800 */ jal Animation_GetLastFrame
/* 04E8C 80901DCC 24847288 */ addiu $a0, $a0, %lo(D_06007288) ## $a0 = 06007288
/* 04E90 80901DD0 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -914,13 +914,13 @@ glabel L80901E00
/* 04F64 80901EA4 E4320AFC */ swc1 $f18, 0x0AFC($at) ## 00010AFC
.L80901EA8:
/* 04F68 80901EA8 8FA40028 */ lw $a0, 0x0028($sp)
-/* 04F6C 80901EAC 0C0295B2 */ jal func_800A56C8
+/* 04F6C 80901EAC 0C0295B2 */ jal Animation_OnFrame
/* 04F70 80901EB0 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 04F74 80901EB4 10400009 */ beq $v0, $zero, .L80901EDC
/* 04F78 80901EB8 8FA40028 */ lw $a0, 0x0028($sp)
/* 04F7C 80901EBC 3C050601 */ lui $a1, %hi(D_06008EB8) ## $a1 = 06010000
/* 04F80 80901EC0 24A58EB8 */ addiu $a1, $a1, %lo(D_06008EB8) ## $a1 = 06008EB8
-/* 04F84 80901EC4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04F84 80901EC4 0C029490 */ jal Animation_MorphToPlayOnce
/* 04F88 80901EC8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 04F8C 80901ECC 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 04F90 80901ED0 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00
@@ -1209,13 +1209,13 @@ glabel L80902290
/* 0538C 809022CC 1000001A */ beq $zero, $zero, .L80902338
/* 05390 809022D0 8FBF0024 */ lw $ra, 0x0024($sp)
.L809022D4:
-/* 05394 809022D4 0C0295B2 */ jal func_800A56C8
+/* 05394 809022D4 0C0295B2 */ jal Animation_OnFrame
/* 05398 809022D8 8E050194 */ lw $a1, 0x0194($s0) ## 00000194
/* 0539C 809022DC 10400015 */ beq $v0, $zero, .L80902334
/* 053A0 809022E0 8FA40028 */ lw $a0, 0x0028($sp)
/* 053A4 809022E4 3C050603 */ lui $a1, %hi(D_06034278) ## $a1 = 06030000
/* 053A8 809022E8 24A54278 */ addiu $a1, $a1, %lo(D_06034278) ## $a1 = 06034278
-/* 053AC 809022EC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 053AC 809022EC 0C0294D3 */ jal Animation_MorphToLoop
/* 053B0 809022F0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 053B4 809022F4 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 053B8 809022F8 1000000E */ beq $zero, $zero, .L80902334
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80910D80.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80910D80.s
index 13cea689c5..e87e1fdb8d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80910D80.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80910D80.s
@@ -6,7 +6,7 @@ glabel func_80910D80
/* 00750 80910D90 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00754 80910D94 24A519A4 */ addiu $a1, $a1, 0x19A4 ## $a1 = 060019A4
/* 00758 80910D98 AFA60018 */ sw $a2, 0x0018($sp)
-/* 0075C 80910D9C 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 0075C 80910D9C 0C0294BE */ jal Animation_PlayLoop
/* 00760 80910DA0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00764 80910DA4 8FA60018 */ lw $a2, 0x0018($sp)
/* 00768 80910DA8 3C0E8091 */ lui $t6, %hi(func_80910DCC) ## $t6 = 80910000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80910DCC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80910DCC.s
index a0507a3472..99cfe016ce 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80910DCC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80910DCC.s
@@ -22,7 +22,7 @@ glabel func_80910DCC
/* 007B4 80910DF4 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 007B8 80910DF8 2491014C */ addiu $s1, $a0, 0x014C ## $s1 = 0000014C
/* 007BC 80910DFC 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 007C0 80910E00 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 007C0 80910E00 0C02927F */ jal SkelAnime_Update
/* 007C4 80910E04 AFAE0094 */ sw $t6, 0x0094($sp)
/* 007C8 80910E08 8FA60094 */ lw $a2, 0x0094($sp)
@@ -121,12 +121,12 @@ glabel func_80910DCC
.L80910F60:
/* 00920 80910F60 8FA80094 */ lw $t0, 0x0094($sp)
/* 00924 80910F64 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
-/* 00928 80910F68 3C100600 */ lui $s0, 0x0600 ## $s0 = 06000000
+/* 00928 80910F68 3C100600 */ lui $s0, %hi(D_06001144) ## $s0 = 06000000
/* 0092C 80910F6C 9103014C */ lbu $v1, 0x014C($t0) ## 0000014C
-/* 00930 80910F70 26101144 */ addiu $s0, $s0, 0x1144 ## $s0 = 06001144
+/* 00930 80910F70 26101144 */ addiu $s0, $s0, %lo(D_06001144) ## $s0 = 06001144
/* 00934 80910F74 54610014 */ bnel $v1, $at, .L80910FC8
/* 00938 80910F78 24120002 */ addiu $s2, $zero, 0x0002 ## $s2 = 00000002
-/* 0093C 80910F7C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0093C 80910F7C 0C028800 */ jal Animation_GetLastFrame
/* 00940 80910F80 02002025 */ or $a0, $s0, $zero ## $a0 = 06001144
/* 00944 80910F84 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -139,7 +139,7 @@ glabel func_80910DCC
/* 00960 80910FA0 02002825 */ or $a1, $s0, $zero ## $a1 = 06001144
/* 00964 80910FA4 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00968 80910FA8 E7B20010 */ swc1 $f18, 0x0010($sp)
-/* 0096C 80910FAC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0096C 80910FAC 0C029468 */ jal Animation_Change
/* 00970 80910FB0 E7B60018 */ swc1 $f22, 0x0018($sp)
/* 00974 80910FB4 240A0028 */ addiu $t2, $zero, 0x0028 ## $t2 = 00000028
@@ -153,7 +153,7 @@ glabel func_80910DCC
/* 00990 80910FD0 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 00994 80910FD4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00998 80910FD8 24A52684 */ addiu $a1, $a1, 0x2684 ## $a1 = 06002684
-/* 0099C 80910FDC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0099C 80910FDC 0C029490 */ jal Animation_MorphToPlayOnce
/* 009A0 80910FE0 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 009A4 80910FE4 8FAC0094 */ lw $t4, 0x0094($sp)
/* 009A8 80910FE8 9183014C */ lbu $v1, 0x014C($t4) ## 0000014C
@@ -163,7 +163,7 @@ glabel func_80910DCC
/* 009B4 80910FF4 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 009B8 80910FF8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 009BC 80910FFC 24A519A4 */ addiu $a1, $a1, 0x19A4 ## $a1 = 060019A4
-/* 009C0 80911000 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 009C0 80911000 0C0294D3 */ jal Animation_MorphToLoop
/* 009C4 80911004 3C06C150 */ lui $a2, 0xC150 ## $a2 = C1500000
/* 009C8 80911008 8FAD0094 */ lw $t5, 0x0094($sp)
/* 009CC 8091100C 91A3014C */ lbu $v1, 0x014C($t5) ## 0000014C
@@ -173,7 +173,7 @@ glabel func_80910DCC
/* 009D8 80911018 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 009DC 8091101C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 009E0 80911020 24A5D99C */ addiu $a1, $a1, 0xD99C ## $a1 = 0600D99C
-/* 009E4 80911024 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 009E4 80911024 0C029490 */ jal Animation_MorphToPlayOnce
/* 009E8 80911028 3C06C0E0 */ lui $a2, 0xC0E0 ## $a2 = C0E00000
/* 009EC 8091102C C6640200 */ lwc1 $f4, 0x0200($s3) ## 00000200
/* 009F0 80911030 8E70011C */ lw $s0, 0x011C($s3) ## 0000011C
@@ -201,9 +201,9 @@ glabel func_80910DCC
/* 00A40 80911080 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
/* 00A44 80911084 14610005 */ bne $v1, $at, .L8091109C
/* 00A48 80911088 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 00A4C 8091108C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
-/* 00A50 80911090 24A5DF80 */ addiu $a1, $a1, 0xDF80 ## $a1 = 0600DF80
-/* 00A54 80911094 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00A4C 8091108C 3C050601 */ lui $a1, %hi(D_0600DF80) ## $a1 = 06010000
+/* 00A50 80911090 24A5DF80 */ addiu $a1, $a1, %lo(D_0600DF80) ## $a1 = 0600DF80
+/* 00A54 80911094 0C029490 */ jal Animation_MorphToPlayOnce
/* 00A58 80911098 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
.L8091109C:
/* 00A5C 8091109C 866201AA */ lh $v0, 0x01AA($s3) ## 000001AA
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911294.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911294.s
index 178fe95a64..4b9c4d1045 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911294.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911294.s
@@ -5,7 +5,7 @@ glabel func_80911294
/* 00C60 809112A0 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00C64 809112A4 24A53CA4 */ addiu $a1, $a1, 0x3CA4 ## $a1 = 06003CA4
/* 00C68 809112A8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00C6C 809112AC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00C6C 809112AC 0C0294D3 */ jal Animation_MorphToLoop
/* 00C70 809112B0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00C74 809112B4 8FAF0018 */ lw $t7, 0x0018($sp)
/* 00C78 809112B8 3C0E8091 */ lui $t6, %hi(func_809112D4) ## $t6 = 80910000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809112D4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809112D4.s
index e877bd4cd8..aa4f5a3c97 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809112D4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809112D4.s
@@ -34,7 +34,7 @@ glabel func_809112D4
/* 00CB8 809112F8 24845188 */ addiu $a0, $a0, %lo(D_80915188) ## $a0 = 80915188
/* 00CBC 809112FC 2607014C */ addiu $a3, $s0, 0x014C ## $a3 = 0000014C
/* 00CC0 80911300 00E02025 */ or $a0, $a3, $zero ## $a0 = 0000014C
-/* 00CC4 80911304 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CC4 80911304 0C02927F */ jal SkelAnime_Update
/* 00CC8 80911308 AFA70040 */ sw $a3, 0x0040($sp)
/* 00CCC 8091130C 3C048091 */ lui $a0, %hi(D_80915190) ## $a0 = 80910000
@@ -48,7 +48,7 @@ glabel func_809112D4
/* 00CE8 80911328 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00CEC 8091132C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00CF0 80911330 24A5D99C */ addiu $a1, $a1, 0xD99C ## $a1 = 0600D99C
-/* 00CF4 80911334 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00CF4 80911334 0C029490 */ jal Animation_MorphToPlayOnce
/* 00CF8 80911338 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 00CFC 8091133C 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
/* 00D00 80911340 8E18011C */ lw $t8, 0x011C($s0) ## 0000011C
@@ -82,7 +82,7 @@ glabel func_809112D4
/* 00D68 809113A8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00D6C 809113AC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00D70 809113B0 24A53080 */ addiu $a1, $a1, 0x3080 ## $a1 = 06003080
-/* 00D74 809113B4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00D74 809113B4 0C029490 */ jal Animation_MorphToPlayOnce
/* 00D78 809113B8 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 00D7C 809113BC 10000015 */ beq $zero, $zero, .L80911414
/* 00D80 809113C0 00000000 */ nop
@@ -90,9 +90,9 @@ glabel func_809112D4
/* 00D84 809113C4 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00D88 809113C8 14410007 */ bne $v0, $at, .L809113E8
/* 00D8C 809113CC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
-/* 00D90 809113D0 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
-/* 00D94 809113D4 24A5DF80 */ addiu $a1, $a1, 0xDF80 ## $a1 = 0600DF80
-/* 00D98 809113D8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00D90 809113D0 3C050601 */ lui $a1, %hi(D_0600DF80) ## $a1 = 06010000
+/* 00D94 809113D4 24A5DF80 */ addiu $a1, $a1, %lo(D_0600DF80) ## $a1 = 0600DF80
+/* 00D98 809113D8 0C029490 */ jal Animation_MorphToPlayOnce
/* 00D9C 809113DC 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 00DA0 809113E0 1000000C */ beq $zero, $zero, .L80911414
/* 00DA4 809113E4 00000000 */ nop
@@ -102,7 +102,7 @@ glabel func_809112D4
/* 00DB0 809113F0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00DB4 809113F4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00DB8 809113F8 24A53CA4 */ addiu $a1, $a1, 0x3CA4 ## $a1 = 06003CA4
-/* 00DBC 809113FC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00DBC 809113FC 0C0294D3 */ jal Animation_MorphToLoop
/* 00DC0 80911400 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 00DC4 80911404 8E0A0004 */ lw $t2, 0x0004($s0) ## 00000004
/* 00DC8 80911408 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809114E8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809114E8.s
index 3f3f7c18b8..e0df0bb6a9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809114E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809114E8.s
@@ -3,11 +3,11 @@ glabel func_809114E8
/* 00EAC 809114EC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00EB0 809114F0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00EB4 809114F4 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
-/* 00EB8 809114F8 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
+/* 00EB8 809114F8 3C050601 */ lui $a1, %hi(D_06010060) ## $a1 = 06010000
/* 00EBC 809114FC 44066000 */ mfc1 $a2, $f12
-/* 00EC0 80911500 24A50060 */ addiu $a1, $a1, 0x0060 ## $a1 = 06010060
+/* 00EC0 80911500 24A50060 */ addiu $a1, $a1, %lo(D_06010060) ## $a1 = 06010060
/* 00EC4 80911504 AFA70018 */ sw $a3, 0x0018($sp)
-/* 00EC8 80911508 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00EC8 80911508 0C0294D3 */ jal Animation_MorphToLoop
/* 00ECC 8091150C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00ED0 80911510 8FA70018 */ lw $a3, 0x0018($sp)
/* 00ED4 80911514 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_8091156C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_8091156C.s
index 7bbbcda839..fa68f385bb 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_8091156C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_8091156C.s
@@ -31,7 +31,7 @@ glabel func_8091156C
/* 00F44 80911584 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00F48 80911588 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00F4C 8091158C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00F50 80911590 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00F50 80911590 0C02927F */ jal SkelAnime_Update
/* 00F54 80911594 AFAF0078 */ sw $t7, 0x0078($sp)
/* 00F58 80911598 922201C9 */ lbu $v0, 0x01C9($s1) ## 000001C9
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911CB0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911CB0.s
index 41f7f6fd6c..430e13dee0 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911CB0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911CB0.s
@@ -10,7 +10,7 @@ glabel func_80911CB0
/* 0167C 80911CBC AFBF003C */ sw $ra, 0x003C($sp)
/* 01680 80911CC0 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01684 80911CC4 AFA5004C */ sw $a1, 0x004C($sp)
-/* 01688 80911CC8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01688 80911CC8 0C028800 */ jal Animation_GetLastFrame
/* 0168C 80911CCC 2484EC94 */ addiu $a0, $a0, 0xEC94 ## $a0 = 0600EC94
/* 01690 80911CD0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80911CB0
/* 0169C 80911CDC 468021A0 */ cvt.s.w $f6, $f4
/* 016A0 80911CE0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 016A4 80911CE4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 016A8 80911CE8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 016A8 80911CE8 0C029490 */ jal Animation_MorphToPlayOnce
/* 016AC 80911CEC E60601D0 */ swc1 $f6, 0x01D0($s0) ## 000001D0
/* 016B0 80911CF0 3C0E8091 */ lui $t6, %hi(func_80911DD8) ## $t6 = 80910000
/* 016B4 80911CF4 25CE1DD8 */ addiu $t6, $t6, %lo(func_80911DD8) ## $t6 = 80911DD8
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911DD8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911DD8.s
index 9bc7e0a1c5..5c43b099a5 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911DD8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80911DD8.s
@@ -15,7 +15,7 @@ glabel func_80911DD8
/* 017A4 80911DE4 AFBF003C */ sw $ra, 0x003C($sp)
/* 017A8 80911DE8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 017AC 80911DEC AFA50054 */ sw $a1, 0x0054($sp)
-/* 017B0 80911DF0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 017B0 80911DF0 0C02927F */ jal SkelAnime_Update
/* 017B4 80911DF4 AFA40044 */ sw $a0, 0x0044($sp)
/* 017B8 80911DF8 C60401D0 */ lwc1 $f4, 0x01D0($s0) ## 000001D0
@@ -34,7 +34,7 @@ glabel func_80911DD8
/* 017E8 80911E28 860501A4 */ lh $a1, 0x01A4($s0) ## 000001A4
/* 017EC 80911E2C 8FA40044 */ lw $a0, 0x0044($sp)
-/* 017F0 80911E30 0C0295B2 */ jal func_800A56C8
+/* 017F0 80911E30 0C0295B2 */ jal Animation_OnFrame
/* 017F4 80911E34 8E0501D0 */ lw $a1, 0x01D0($s0) ## 000001D0
/* 017F8 80911E38 10400003 */ beq $v0, $zero, .L80911E48
/* 017FC 80911E3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -45,11 +45,11 @@ glabel func_80911DD8
/* 0180C 80911E4C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01810 80911E50 51E00012 */ beql $t7, $zero, .L80911E9C
/* 01814 80911E54 861901A4 */ lh $t9, 0x01A4($s0) ## 000001A4
-/* 01818 80911E58 0C0295B2 */ jal func_800A56C8
+/* 01818 80911E58 0C0295B2 */ jal Animation_OnFrame
/* 0181C 80911E5C 3C0541A8 */ lui $a1, 0x41A8 ## $a1 = 41A80000
/* 01820 80911E60 1040000D */ beq $v0, $zero, .L80911E98
/* 01824 80911E64 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 01828 80911E68 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01828 80911E68 0C028800 */ jal Animation_GetLastFrame
/* 0182C 80911E6C 2484F48C */ addiu $a0, $a0, 0xF48C ## $a0 = 0600F48C
/* 01830 80911E70 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -58,7 +58,7 @@ glabel func_80911DD8
/* 0183C 80911E7C 468042A0 */ cvt.s.w $f10, $f8
/* 01840 80911E80 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01844 80911E84 E60A01D0 */ swc1 $f10, 0x01D0($s0) ## 000001D0
-/* 01848 80911E88 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01848 80911E88 0C029490 */ jal Animation_MorphToPlayOnce
/* 0184C 80911E8C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01850 80911E90 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A
/* 01854 80911E94 A61801A4 */ sh $t8, 0x01A4($s0) ## 000001A4
@@ -70,7 +70,7 @@ glabel func_80911DD8
/* 01864 80911EA4 00000000 */ nop
/* 01868 80911EA8 46808420 */ cvt.s.w $f16, $f16
/* 0186C 80911EAC 44058000 */ mfc1 $a1, $f16
-/* 01870 80911EB0 0C0295B2 */ jal func_800A56C8
+/* 01870 80911EB0 0C0295B2 */ jal Animation_OnFrame
/* 01874 80911EB4 00000000 */ nop
/* 01878 80911EB8 50400011 */ beql $v0, $zero, .L80911F00
/* 0187C 80911EBC 860901A4 */ lh $t1, 0x01A4($s0) ## 000001A4
@@ -101,7 +101,7 @@ glabel func_80911DD8
/* 018C8 80911F08 00000000 */ nop
/* 018CC 80911F0C 468094A0 */ cvt.s.w $f18, $f18
/* 018D0 80911F10 44059000 */ mfc1 $a1, $f18
-/* 018D4 80911F14 0C0295B2 */ jal func_800A56C8
+/* 018D4 80911F14 0C0295B2 */ jal Animation_OnFrame
/* 018D8 80911F18 00000000 */ nop
/* 018DC 80911F1C 50400017 */ beql $v0, $zero, .L80911F7C
/* 018E0 80911F20 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912020.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912020.s
index 3d1c3ddf76..eeb0613099 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912020.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912020.s
@@ -22,7 +22,7 @@ glabel func_80912020
/* 01A18 80912058 0018C880 */ sll $t9, $t8, 2
/* 01A1C 8091205C 00992021 */ addu $a0, $a0, $t9
/* 01A20 80912060 8C8450D0 */ lw $a0, %lo(D_809150D0)($a0)
-/* 01A24 80912064 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01A24 80912064 0C028800 */ jal Animation_GetLastFrame
/* 01A28 80912068 A7A2001E */ sh $v0, 0x001E($sp)
/* 01A2C 8091206C 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -35,7 +35,7 @@ glabel func_80912020
/* 01A48 80912088 87A8001E */ lh $t0, 0x001E($sp)
/* 01A4C 8091208C 00084880 */ sll $t1, $t0, 2
/* 01A50 80912090 00A92821 */ addu $a1, $a1, $t1
-/* 01A54 80912094 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01A54 80912094 0C029490 */ jal Animation_MorphToPlayOnce
/* 01A58 80912098 8CA550D0 */ lw $a1, %lo(D_809150D0)($a1)
/* 01A5C 8091209C 8FAB0020 */ lw $t3, 0x0020($sp)
/* 01A60 809120A0 3C0A8091 */ lui $t2, %hi(func_809120BC) ## $t2 = 80910000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809120BC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809120BC.s
index 79d004b7ef..26c1ccdd40 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809120BC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809120BC.s
@@ -15,11 +15,11 @@ glabel func_809120BC
/* 01A88 809120C8 AFBF001C */ sw $ra, 0x001C($sp)
/* 01A8C 809120CC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01A90 809120D0 AFA5002C */ sw $a1, 0x002C($sp)
-/* 01A94 809120D4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01A94 809120D4 0C02927F */ jal SkelAnime_Update
/* 01A98 809120D8 AFA40020 */ sw $a0, 0x0020($sp)
/* 01A9C 809120DC 8FA40020 */ lw $a0, 0x0020($sp)
-/* 01AA0 809120E0 0C0295B2 */ jal func_800A56C8
+/* 01AA0 809120E0 0C0295B2 */ jal Animation_OnFrame
/* 01AA4 809120E4 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
/* 01AA8 809120E8 10400009 */ beq $v0, $zero, .L80912110
/* 01AAC 809120EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -36,7 +36,7 @@ glabel func_809120BC
/* 01ACC 8091210C 2484522C */ addiu $a0, $a0, %lo(D_8091522C) ## $a0 = 8091522C
.L80912110:
/* 01AD0 80912110 8FA40020 */ lw $a0, 0x0020($sp)
-/* 01AD4 80912114 0C0295B2 */ jal func_800A56C8
+/* 01AD4 80912114 0C0295B2 */ jal Animation_OnFrame
/* 01AD8 80912118 8E0501D0 */ lw $a1, 0x01D0($s0) ## 000001D0
/* 01ADC 8091211C 10400003 */ beq $v0, $zero, .L8091212C
/* 01AE0 80912120 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809121E0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809121E0.s
index 89ed23b0fd..646f11a30c 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809121E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809121E0.s
@@ -12,7 +12,7 @@ glabel func_809121E0
/* 01BC8 80912208 11CF0011 */ beq $t6, $t7, .L80912250
/* 01BCC 8091220C 00000000 */ nop
/* 01BD0 80912210 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 01BD4 80912214 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01BD4 80912214 0C028800 */ jal Animation_GetLastFrame
/* 01BD8 80912218 248408D8 */ addiu $a0, $a0, 0x08D8 ## $a0 = 060108D8
/* 01BDC 8091221C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -21,7 +21,7 @@ glabel func_809121E0
/* 01BE8 80912228 468021A0 */ cvt.s.w $f6, $f4
/* 01BEC 8091222C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01BF0 80912230 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 01BF4 80912234 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01BF4 80912234 0C0294D3 */ jal Animation_MorphToLoop
/* 01BF8 80912238 E60601D0 */ swc1 $f6, 0x01D0($s0) ## 000001D0
/* 01BFC 8091223C 24180032 */ addiu $t8, $zero, 0x0032 ## $t8 = 00000032
/* 01C00 80912240 2419003C */ addiu $t9, $zero, 0x003C ## $t9 = 0000003C
@@ -29,7 +29,7 @@ glabel func_809121E0
/* 01C08 80912248 1000000B */ beq $zero, $zero, .L80912278
/* 01C0C 8091224C A21901C8 */ sb $t9, 0x01C8($s0) ## 000001C8
.L80912250:
-/* 01C10 80912250 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01C10 80912250 0C028800 */ jal Animation_GetLastFrame
/* 01C14 80912254 2484FAC8 */ addiu $a0, $a0, 0xFAC8 ## $a0 = FFFFFAC8
/* 01C18 80912258 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -38,7 +38,7 @@ glabel func_809121E0
/* 01C24 80912264 468042A0 */ cvt.s.w $f10, $f8
/* 01C28 80912268 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01C2C 8091226C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 01C30 80912270 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01C30 80912270 0C0294D3 */ jal Animation_MorphToLoop
/* 01C34 80912274 E60A01D0 */ swc1 $f10, 0x01D0($s0) ## 000001D0
.L80912278:
/* 01C38 80912278 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809122A4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809122A4.s
index 5d628ba410..9ca538d175 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809122A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809122A4.s
@@ -23,7 +23,7 @@ glabel func_809122A4
/* 01C80 809122C0 24845268 */ addiu $a0, $a0, %lo(D_80915268) ## $a0 = 80915268
/* 01C84 809122C4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 01C88 809122C8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01C88 809122C8 0C02927F */ jal SkelAnime_Update
/* 01C8C 809122CC AFA40024 */ sw $a0, 0x0024($sp)
/* 01C90 809122D0 3C018091 */ lui $at, %hi(D_80915440) ## $at = 80910000
@@ -40,7 +40,7 @@ glabel func_809122A4
/* 01CBC 809122FC 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01CC0 80912300 55C0000E */ bnel $t6, $zero, .L8091233C
/* 01CC4 80912304 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 01CC8 80912308 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01CC8 80912308 0C028800 */ jal Animation_GetLastFrame
/* 01CCC 8091230C 24841BCC */ addiu $a0, $a0, 0x1BCC ## $a0 = 06011BCC
/* 01CD0 80912310 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -49,7 +49,7 @@ glabel func_809122A4
/* 01CDC 8091231C 46805420 */ cvt.s.w $f16, $f10
/* 01CE0 80912320 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 01CE4 80912324 E61001D0 */ swc1 $f16, 0x01D0($s0) ## 000001D0
-/* 01CE8 80912328 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01CE8 80912328 0C0294D3 */ jal Animation_MorphToLoop
/* 01CEC 8091232C 8FA40024 */ lw $a0, 0x0024($sp)
/* 01CF0 80912330 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 01CF4 80912334 A60F01A2 */ sh $t7, 0x01A2($s0) ## 000001A2
@@ -58,7 +58,7 @@ glabel func_809122A4
/* 01CFC 8091233C 8E0501D0 */ lw $a1, 0x01D0($s0) ## 000001D0
/* 01D00 80912340 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 01D04 80912344 E600006C */ swc1 $f0, 0x006C($s0) ## 0000006C
-/* 01D08 80912348 0C0295B2 */ jal func_800A56C8
+/* 01D08 80912348 0C0295B2 */ jal Animation_OnFrame
/* 01D0C 8091234C 8FA40024 */ lw $a0, 0x0024($sp)
/* 01D10 80912350 10400003 */ beq $v0, $zero, .L80912360
/* 01D14 80912354 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809123D4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809123D4.s
index 5569ea747e..1b7eb7db47 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809123D4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_809123D4.s
@@ -5,7 +5,7 @@ glabel func_809123D4
/* 01DA0 809123E0 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01DA4 809123E4 AFA5001C */ sw $a1, 0x001C($sp)
/* 01DA8 809123E8 24840344 */ addiu $a0, $a0, 0x0344 ## $a0 = 06010344
-/* 01DAC 809123EC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01DAC 809123EC 0C028800 */ jal Animation_GetLastFrame
/* 01DB0 809123F0 AFA70018 */ sw $a3, 0x0018($sp)
/* 01DB4 809123F4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -15,7 +15,7 @@ glabel func_809123D4
/* 01DC4 80912404 24A50344 */ addiu $a1, $a1, 0x0344 ## $a1 = 06010344
/* 01DC8 80912408 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 01DCC 8091240C 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
-/* 01DD0 80912410 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01DD0 80912410 0C0294D3 */ jal Animation_MorphToLoop
/* 01DD4 80912414 E4E601D0 */ swc1 $f6, 0x01D0($a3) ## 000001D0
/* 01DD8 80912418 8FA40018 */ lw $a0, 0x0018($sp)
/* 01DDC 8091241C 3C0E8091 */ lui $t6, %hi(func_80912448) ## $t6 = 80910000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912448.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912448.s
index f2dd89e92b..03a0b32bb9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912448.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912448.s
@@ -6,7 +6,7 @@ glabel func_80912448
/* 01E18 80912458 AFA50024 */ sw $a1, 0x0024($sp)
/* 01E1C 8091245C 240E0009 */ addiu $t6, $zero, 0x0009 ## $t6 = 00000009
/* 01E20 80912460 A08E04F4 */ sb $t6, 0x04F4($a0) ## 000004F4
-/* 01E24 80912464 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01E24 80912464 0C02927F */ jal SkelAnime_Update
/* 01E28 80912468 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01E2C 8091246C C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912524.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912524.s
index 96045e150f..f84c270978 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912524.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912524.s
@@ -5,7 +5,7 @@ glabel func_80912524
/* 01EF0 80912530 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01EF4 80912534 AFA5001C */ sw $a1, 0x001C($sp)
/* 01EF8 80912538 248429E0 */ addiu $a0, $a0, 0x29E0 ## $a0 = 060129E0
-/* 01EFC 8091253C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01EFC 8091253C 0C028800 */ jal Animation_GetLastFrame
/* 01F00 80912540 AFA70018 */ sw $a3, 0x0018($sp)
/* 01F04 80912544 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -15,7 +15,7 @@ glabel func_80912524
/* 01F14 80912554 24A529E0 */ addiu $a1, $a1, 0x29E0 ## $a1 = 060129E0
/* 01F18 80912558 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 01F1C 8091255C 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
-/* 01F20 80912560 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01F20 80912560 0C0294D3 */ jal Animation_MorphToLoop
/* 01F24 80912564 E4E601D0 */ swc1 $f6, 0x01D0($a3) ## 000001D0
/* 01F28 80912568 8FA70018 */ lw $a3, 0x0018($sp)
/* 01F2C 8091256C 3C0E8091 */ lui $t6, %hi(func_80912594) ## $t6 = 80910000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912594.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912594.s
index 3c20000b20..aff572811b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912594.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912594.s
@@ -47,7 +47,7 @@ glabel func_80912594
/* 01FA4 809125E4 240F0009 */ addiu $t7, $zero, 0x0009 ## $t7 = 00000009
/* 01FA8 809125E8 A08F04F4 */ sb $t7, 0x04F4($a0) ## 000004F4
/* 01FAC 809125EC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01FB0 809125F0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01FB0 809125F0 0C02927F */ jal SkelAnime_Update
/* 01FB4 809125F4 AFA40070 */ sw $a0, 0x0070($sp)
/* 01FB8 809125F8 862301A2 */ lh $v1, 0x01A2($s1) ## 000001A2
@@ -112,7 +112,7 @@ glabel func_80912594
/* 02088 809126C8 A63901A2 */ sh $t9, 0x01A2($s1) ## 000001A2
/* 0208C 809126CC A62801BC */ sh $t0, 0x01BC($s1) ## 000001BC
/* 02090 809126D0 02002025 */ or $a0, $s0, $zero ## $a0 = 06011F44
-/* 02094 809126D4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02094 809126D4 0C028800 */ jal Animation_GetLastFrame
/* 02098 809126D8 E6380068 */ swc1 $f24, 0x0068($s1) ## 00000068
/* 0209C 809126DC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -120,7 +120,7 @@ glabel func_80912594
/* 020A4 809126E4 02002825 */ or $a1, $s0, $zero ## $a1 = 06011F44
/* 020A8 809126E8 468021A0 */ cvt.s.w $f6, $f4
/* 020AC 809126EC E62601D0 */ swc1 $f6, 0x01D0($s1) ## 000001D0
-/* 020B0 809126F0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 020B0 809126F0 0C029490 */ jal Animation_MorphToPlayOnce
/* 020B4 809126F4 8FA40070 */ lw $a0, 0x0070($sp)
.L809126F8:
/* 020B8 809126F8 262400B6 */ addiu $a0, $s1, 0x00B6 ## $a0 = 000000B6
@@ -132,11 +132,11 @@ glabel func_80912594
/* 020CC 8091270C 100000AC */ beq $zero, $zero, .L809129C0
/* 020D0 80912710 C6200028 */ lwc1 $f0, 0x0028($s1) ## 00000028
.L80912714:
-/* 020D4 80912714 0C0295B2 */ jal func_800A56C8
+/* 020D4 80912714 0C0295B2 */ jal Animation_OnFrame
/* 020D8 80912718 8E2501D0 */ lw $a1, 0x01D0($s1) ## 000001D0
/* 020DC 8091271C 1040000E */ beq $v0, $zero, .L80912758
/* 020E0 80912720 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 020E4 80912724 0C028800 */ jal SkelAnime_GetFrameCount
+/* 020E4 80912724 0C028800 */ jal Animation_GetLastFrame
/* 020E8 80912728 2484267C */ addiu $a0, $a0, 0x267C ## $a0 = 0601267C
/* 020EC 8091272C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -146,7 +146,7 @@ glabel func_80912594
/* 020FC 8091273C 4406C000 */ mfc1 $a2, $f24
/* 02100 80912740 24A5267C */ addiu $a1, $a1, 0x267C ## $a1 = 0601267C
/* 02104 80912744 E62A01D0 */ swc1 $f10, 0x01D0($s1) ## 000001D0
-/* 02108 80912748 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 02108 80912748 0C0294D3 */ jal Animation_MorphToLoop
/* 0210C 8091274C 8FA40070 */ lw $a0, 0x0070($sp)
/* 02110 80912750 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
/* 02114 80912754 A62901A2 */ sh $t1, 0x01A2($s1) ## 000001A2
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912C94.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912C94.s
index 6ae572f125..5b2fbef58d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912C94.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912C94.s
@@ -6,10 +6,10 @@ glabel func_80912C94
/* 02664 80912CA4 AFBF001C */ sw $ra, 0x001C($sp)
/* 02668 80912CA8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 0266C 80912CAC 24A5090C */ addiu $a1, $a1, 0x090C ## $a1 = 0600090C
-/* 02670 80912CB0 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02670 80912CB0 0C02947A */ jal Animation_PlayOnce
/* 02674 80912CB4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02678 80912CB8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 0267C 80912CBC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0267C 80912CBC 0C028800 */ jal Animation_GetLastFrame
/* 02680 80912CC0 2484090C */ addiu $a0, $a0, 0x090C ## $a0 = 0600090C
/* 02684 80912CC4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912D2C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912D2C.s
index 146bda50a8..7045c9a5d3 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912D2C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/func_80912D2C.s
@@ -108,7 +108,7 @@ glabel func_80912D2C
/* 02748 80912D88 00000000 */ nop
/* 0274C 80912D8C 2651014C */ addiu $s1, $s2, 0x014C ## $s1 = 0000014C
-/* 02750 80912D90 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02750 80912D90 0C02927F */ jal SkelAnime_Update
/* 02754 80912D94 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 02758 80912D98 864E01B6 */ lh $t6, 0x01B6($s2) ## 000001B6
@@ -268,12 +268,12 @@ glabel L80912FB4
/* 0299C 80912FDC 1000002B */ beq $zero, $zero, .L8091308C
/* 029A0 80912FE0 86450194 */ lh $a1, 0x0194($s2) ## 00000194
.L80912FE4:
-/* 029A4 80912FE4 0C0295B2 */ jal func_800A56C8
+/* 029A4 80912FE4 0C0295B2 */ jal Animation_OnFrame
/* 029A8 80912FE8 8E4501D0 */ lw $a1, 0x01D0($s2) ## 000001D0
/* 029AC 80912FEC 10400026 */ beq $v0, $zero, .L80913088
/* 029B0 80912FF0 3C100601 */ lui $s0, 0x0601 ## $s0 = 06010000
/* 029B4 80912FF4 261008D8 */ addiu $s0, $s0, 0x08D8 ## $s0 = 060108D8
-/* 029B8 80912FF8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 029B8 80912FF8 0C028800 */ jal Animation_GetLastFrame
/* 029BC 80912FFC 02002025 */ or $a0, $s0, $zero ## $a0 = 060108D8
/* 029C0 80913000 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -287,19 +287,19 @@ glabel L80912FB4
/* 029E0 80913020 E64001D0 */ swc1 $f0, 0x01D0($s2) ## 000001D0
/* 029E4 80913024 AFAF0014 */ sw $t7, 0x0014($sp)
/* 029E8 80913028 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 029EC 8091302C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 029EC 8091302C 0C029468 */ jal Animation_Change
/* 029F0 80913030 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 029F4 80913034 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 029F8 80913038 10000013 */ beq $zero, $zero, .L80913088
/* 029FC 8091303C A65801A2 */ sh $t8, 0x01A2($s2) ## 000001A2
.L80913040:
-/* 02A00 80913040 0C0295B2 */ jal func_800A56C8
+/* 02A00 80913040 0C0295B2 */ jal Animation_OnFrame
/* 02A04 80913044 8E4501D0 */ lw $a1, 0x01D0($s2) ## 000001D0
/* 02A08 80913048 1040000D */ beq $v0, $zero, .L80913080
/* 02A0C 8091304C 3C100600 */ lui $s0, 0x0600 ## $s0 = 06000000
/* 02A10 80913050 26100D84 */ addiu $s0, $s0, 0x0D84 ## $s0 = 06000D84
-/* 02A14 80913054 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02A14 80913054 0C028800 */ jal Animation_GetLastFrame
/* 02A18 80913058 02002025 */ or $a0, $s0, $zero ## $a0 = 06000D84
/* 02A1C 8091305C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -307,7 +307,7 @@ glabel L80912FB4
/* 02A24 80913064 02002825 */ or $a1, $s0, $zero ## $a1 = 06000D84
/* 02A28 80913068 468042A0 */ cvt.s.w $f10, $f8
/* 02A2C 8091306C 3C06C1A0 */ lui $a2, 0xC1A0 ## $a2 = C1A00000
-/* 02A30 80913070 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 02A30 80913070 0C0294D3 */ jal Animation_MorphToLoop
/* 02A34 80913074 E64A01D0 */ swc1 $f10, 0x01D0($s2) ## 000001D0
/* 02A38 80913078 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002
/* 02A3C 8091307C A65901A2 */ sh $t9, 0x01A2($s2) ## 000001A2
@@ -542,7 +542,7 @@ glabel L809131C4
/* 02D84 809133C4 A64D035E */ sh $t5, 0x035E($s2) ## 0000035E
/* 02D88 809133C8 A64E01BC */ sh $t6, 0x01BC($s2) ## 000001BC
/* 02D8C 809133CC 24A5189C */ addiu $a1, $a1, 0x189C ## $a1 = 0600189C
-/* 02D90 809133D0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 02D90 809133D0 0C0294D3 */ jal Animation_MorphToLoop
/* 02D94 809133D4 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 02D98 809133D8 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 02D9C 809133DC 44812000 */ mtc1 $at, $f4 ## $f4 = 14.00
@@ -592,11 +592,11 @@ glabel L80913424
/* 02E40 80913480 240A0005 */ addiu $t2, $zero, 0x0005 ## $t2 = 00000005
/* 02E44 80913484 15200095 */ bne $t1, $zero, .L809136DC
/* 02E48 80913488 E6460374 */ swc1 $f6, 0x0374($s2) ## 00000374
-/* 02E4C 8091348C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
+/* 02E4C 8091348C 3C050600 */ lui $a1, %hi(D_06001AB0) ## $a1 = 06000000
/* 02E50 80913490 A64A035E */ sh $t2, 0x035E($s2) ## 0000035E
-/* 02E54 80913494 24A51AB0 */ addiu $a1, $a1, 0x1AB0 ## $a1 = 06001AB0
+/* 02E54 80913494 24A51AB0 */ addiu $a1, $a1, %lo(D_06001AB0) ## $a1 = 06001AB0
/* 02E58 80913498 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 02E5C 8091349C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 02E5C 8091349C 0C029490 */ jal Animation_MorphToPlayOnce
/* 02E60 809134A0 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 02E64 809134A4 240B0028 */ addiu $t3, $zero, 0x0028 ## $t3 = 00000028
/* 02E68 809134A8 A64001AE */ sh $zero, 0x01AE($s2) ## 000001AE
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/BossGoma_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/BossGoma_Init.s
index 278515b4f6..b59df05fe2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/BossGoma_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/BossGoma_Init.s
@@ -30,7 +30,7 @@ glabel BossGoma_Init
/* 00298 80915CA8 AFA00018 */ sw $zero, 0x0018($sp)
/* 0029C 80915CAC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 002A0 80915CB0 24A52678 */ addiu $a1, $a1, 0x2678 ## $a1 = 06012678
-/* 002A4 80915CB4 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 002A4 80915CB4 0C0294BE */ jal Animation_PlayLoop
/* 002A8 80915CB8 8FA40044 */ lw $a0, 0x0044($sp)
/* 002AC 80915CBC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 002B0 80915CC0 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80915F38.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80915F38.s
index e59c3e46eb..02eaa963fc 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80915F38.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80915F38.s
@@ -5,7 +5,7 @@ glabel func_80915F38
/* 00534 80915F44 AFBF002C */ sw $ra, 0x002C($sp)
/* 00538 80915F48 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 0053C 80915F4C AFA50034 */ sw $a1, 0x0034($sp)
-/* 00540 80915F50 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00540 80915F50 0C028800 */ jal Animation_GetLastFrame
/* 00544 80915F54 2484B2FC */ addiu $a0, $a0, 0xB2FC ## $a0 = 0600B2FC
/* 00548 80915F58 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_80915F38
/* 0056C 80915F7C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00570 80915F80 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00574 80915F84 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00578 80915F88 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00578 80915F88 0C029468 */ jal Animation_Change
/* 0057C 80915F8C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00580 80915F90 8E080004 */ lw $t0, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916000.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916000.s
index 80e1f6cdb4..1fc64f7eaa 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916000.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916000.s
@@ -4,7 +4,7 @@ glabel func_80916000
/* 005F8 80916008 AFBF0024 */ sw $ra, 0x0024($sp)
/* 005FC 8091600C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00600 80916010 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00604 80916014 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00604 80916014 0C028800 */ jal Animation_GetLastFrame
/* 00608 80916018 24842360 */ addiu $a0, $a0, 0x2360 ## $a0 = 06002360
/* 0060C 8091601C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80916000
/* 00630 80916040 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00634 80916044 AFA00014 */ sw $zero, 0x0014($sp)
/* 00638 80916048 2464014C */ addiu $a0, $v1, 0x014C ## $a0 = 0000014C
-/* 0063C 8091604C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0063C 8091604C 0C029468 */ jal Animation_Change
/* 00640 80916050 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00644 80916054 8FA2002C */ lw $v0, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809160A4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809160A4.s
index c33e1fb50d..35b9a6a8a0 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809160A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809160A4.s
@@ -3,7 +3,7 @@ glabel func_809160A4
/* 00698 809160A8 AFA40030 */ sw $a0, 0x0030($sp)
/* 0069C 809160AC AFBF0024 */ sw $ra, 0x0024($sp)
/* 006A0 809160B0 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 006A4 809160B4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 006A4 809160B4 0C028800 */ jal Animation_GetLastFrame
/* 006A8 809160B8 24842678 */ addiu $a0, $a0, 0x2678 ## $a0 = 06012678
/* 006AC 809160BC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -25,7 +25,7 @@ glabel func_809160A4
/* 006E8 809160F8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 006EC 809160FC 2464014C */ addiu $a0, $v1, 0x014C ## $a0 = 0000014C
/* 006F0 80916100 E7AA0018 */ swc1 $f10, 0x0018($sp)
-/* 006F4 80916104 0C029468 */ jal SkelAnime_ChangeAnim
+/* 006F4 80916104 0C029468 */ jal Animation_Change
/* 006F8 80916108 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 006FC 8091610C 8FAF0030 */ lw $t7, 0x0030($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091612C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091612C.s
index c1979c6d2d..d2ca16f707 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091612C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091612C.s
@@ -9,7 +9,7 @@ glabel func_8091612C
/* 00734 80916144 8FAE0028 */ lw $t6, 0x0028($sp)
/* 00738 80916148 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 0073C 8091614C 2484193C */ addiu $a0, $a0, 0x193C ## $a0 = 0600193C
-/* 00740 80916150 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00740 80916150 0C028800 */ jal Animation_GetLastFrame
/* 00744 80916154 A5C201D2 */ sh $v0, 0x01D2($t6) ## 000001D2
/* 00748 80916158 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -24,7 +24,7 @@ glabel func_8091612C
/* 0076C 8091617C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00770 80916180 AFA00014 */ sw $zero, 0x0014($sp)
/* 00774 80916184 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00778 80916188 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00778 80916188 0C029468 */ jal Animation_Change
/* 0077C 8091618C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00780 80916190 8FB80028 */ lw $t8, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809161B0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809161B0.s
index 555f5c0927..e95adebe7c 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809161B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809161B0.s
@@ -14,7 +14,7 @@ glabel func_809161B0
/* 007D0 809161E0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 007D4 809161E4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 007D8 809161E8 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 007DC 809161EC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 007DC 809161EC 0C029468 */ jal Animation_Change
/* 007E0 809161F0 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 007E4 809161F4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091622C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091622C.s
index 145f4d03be..9f81f76f6f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091622C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091622C.s
@@ -6,15 +6,15 @@ glabel func_8091622C
/* 0082C 8091623C AFB00028 */ sw $s0, 0x0028($sp)
/* 00830 80916240 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00834 80916244 AFBF002C */ sw $ra, 0x002C($sp)
-/* 00838 80916248 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
+/* 00838 80916248 3C050600 */ lui $a1, %hi(D_060058C0) ## $a1 = 06000000
/* 0083C 8091624C 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 00840 80916250 44070000 */ mfc1 $a3, $f0
/* 00844 80916254 AFAE0014 */ sw $t6, 0x0014($sp)
-/* 00848 80916258 24A558C0 */ addiu $a1, $a1, 0x58C0 ## $a1 = 060058C0
+/* 00848 80916258 24A558C0 */ addiu $a1, $a1, %lo(D_060058C0) ## $a1 = 060058C0
/* 0084C 8091625C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00850 80916260 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00854 80916264 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 00858 80916268 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00858 80916268 0C029468 */ jal Animation_Change
/* 0085C 8091626C E7A40018 */ swc1 $f4, 0x0018($sp)
/* 00860 80916270 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809162A8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809162A8.s
index de3ebc422f..dbfe322994 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809162A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809162A8.s
@@ -3,7 +3,7 @@ glabel func_809162A8
/* 0089C 809162AC AFA40028 */ sw $a0, 0x0028($sp)
/* 008A0 809162B0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 008A4 809162B4 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 008A8 809162B8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 008A8 809162B8 0C028800 */ jal Animation_GetLastFrame
/* 008AC 809162BC 248413BC */ addiu $a0, $a0, 0x13BC ## $a0 = 060113BC
/* 008B0 809162C0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_809162A8
/* 008D4 809162E4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 008D8 809162E8 AFA00014 */ sw $zero, 0x0014($sp)
/* 008DC 809162EC E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 008E0 809162F0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 008E0 809162F0 0C029468 */ jal Animation_Change
/* 008E4 809162F4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 008E8 809162F8 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091631C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091631C.s
index e94498c4a9..d177453f9b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091631C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091631C.s
@@ -3,7 +3,7 @@ glabel func_8091631C
/* 00910 80916320 AFA40028 */ sw $a0, 0x0028($sp)
/* 00914 80916324 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00918 80916328 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 0091C 8091632C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0091C 8091632C 0C028800 */ jal Animation_GetLastFrame
/* 00920 80916330 248429F0 */ addiu $a0, $a0, 0x29F0 ## $a0 = 060029F0
/* 00924 80916334 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_8091631C
/* 00948 80916358 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0094C 8091635C AFA00014 */ sw $zero, 0x0014($sp)
/* 00950 80916360 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00954 80916364 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00954 80916364 0C029468 */ jal Animation_Change
/* 00958 80916368 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0095C 8091636C 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916394.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916394.s
index 8e047cd954..a425fcf237 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916394.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916394.s
@@ -4,7 +4,7 @@ glabel func_80916394
/* 0098C 8091639C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00990 809163A0 AFBF002C */ sw $ra, 0x002C($sp)
/* 00994 809163A4 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00998 809163A8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00998 809163A8 0C028800 */ jal Animation_GetLastFrame
/* 0099C 809163AC 248466DC */ addiu $a0, $a0, 0x66DC ## $a0 = 060066DC
/* 009A0 809163B0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80916394
/* 009C4 809163D4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 009C8 809163D8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 009CC 809163DC AFA00014 */ sw $zero, 0x0014($sp)
-/* 009D0 809163E0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 009D0 809163E0 0C029468 */ jal Animation_Change
/* 009D4 809163E4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 009D8 809163E8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916418.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916418.s
index 9472670b01..baa1ce620e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916418.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916418.s
@@ -4,7 +4,7 @@ glabel func_80916418
/* 00A10 80916420 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A14 80916424 AFBF002C */ sw $ra, 0x002C($sp)
/* 00A18 80916428 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00A1C 8091642C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00A1C 8091642C 0C028800 */ jal Animation_GetLastFrame
/* 00A20 80916430 24842360 */ addiu $a0, $a0, 0x2360 ## $a0 = 06002360
/* 00A24 80916434 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80916418
/* 00A48 80916458 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00A4C 8091645C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00A50 80916460 AFA00014 */ sw $zero, 0x0014($sp)
-/* 00A54 80916464 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00A54 80916464 0C029468 */ jal Animation_Change
/* 00A58 80916468 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00A5C 8091646C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809164AC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809164AC.s
index 5db17b38cc..6b6cf76c76 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809164AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809164AC.s
@@ -3,7 +3,7 @@ glabel func_809164AC
/* 00AA0 809164B0 AFA40028 */ sw $a0, 0x0028($sp)
/* 00AA4 809164B4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00AA8 809164B8 3C040602 */ lui $a0, 0x0602 ## $a0 = 06020000
-/* 00AAC 809164BC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00AAC 809164BC 0C028800 */ jal Animation_GetLastFrame
/* 00AB0 809164C0 2484EB4C */ addiu $a0, $a0, 0xEB4C ## $a0 = 0601EB4C
/* 00AB4 809164C4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_809164AC
/* 00AD8 809164E8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00ADC 809164EC AFA00014 */ sw $zero, 0x0014($sp)
/* 00AE0 809164F0 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00AE4 809164F4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00AE4 809164F4 0C029468 */ jal Animation_Change
/* 00AE8 809164F8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AEC 809164FC 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916530.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916530.s
index 5ab9df3e8b..b608a02245 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916530.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916530.s
@@ -3,7 +3,7 @@ glabel func_80916530
/* 00B24 80916534 AFA40028 */ sw $a0, 0x0028($sp)
/* 00B28 80916538 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00B2C 8091653C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00B30 80916540 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B30 80916540 0C028800 */ jal Animation_GetLastFrame
/* 00B34 80916544 24845F28 */ addiu $a0, $a0, 0x5F28 ## $a0 = 06005F28
/* 00B38 80916548 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80916530
/* 00B60 80916570 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B64 80916574 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00B68 80916578 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00B6C 8091657C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B6C 8091657C 0C029468 */ jal Animation_Change
/* 00B70 80916580 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00B74 80916584 8FB80028 */ lw $t8, 0x0028($sp)
@@ -27,7 +27,7 @@ glabel func_80916530
/* 00B7C 8091658C 25EF90F8 */ addiu $t7, $t7, %lo(func_809190F8) ## $t7 = 809190F8
/* 00B80 80916590 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00B84 80916594 24845F28 */ addiu $a0, $a0, 0x5F28 ## $a0 = 06005F28
-/* 00B88 80916598 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B88 80916598 0C028800 */ jal Animation_GetLastFrame
/* 00B8C 8091659C AF0F0190 */ sw $t7, 0x0190($t8) ## 00000190
/* 00B90 809165A0 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809165C0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809165C0.s
index db9bedc399..36858f2067 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809165C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809165C0.s
@@ -2,39 +2,39 @@ glabel func_809165C0
/* 00BB0 809165C0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00BB4 809165C4 AFA40028 */ sw $a0, 0x0028($sp)
/* 00BB8 809165C8 AFBF0024 */ sw $ra, 0x0024($sp)
-/* 00BBC 809165CC 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00BC0 809165D0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00BBC 809165CC 3C040600 */ lui $a0, %hi(D_060058C0) ## $a0 = 06000000
+/* 00BC0 809165D0 0C028800 */ jal Animation_GetLastFrame
-/* 00BC4 809165D4 248458C0 */ addiu $a0, $a0, 0x58C0 ## $a0 = 060058C0
+/* 00BC4 809165D4 248458C0 */ addiu $a0, $a0, %lo(D_060058C0) ## $a0 = 060058C0
/* 00BC8 809165D8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00BCC 809165DC 3C01C000 */ lui $at, 0xC000 ## $at = C0000000
/* 00BD0 809165E0 44814000 */ mtc1 $at, $f8 ## $f8 = -2.00
/* 00BD4 809165E4 468021A0 */ cvt.s.w $f6, $f4
/* 00BD8 809165E8 8FA40028 */ lw $a0, 0x0028($sp)
-/* 00BDC 809165EC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
+/* 00BDC 809165EC 3C050600 */ lui $a1, %hi(D_060058C0) ## $a1 = 06000000
/* 00BE0 809165F0 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002
/* 00BE4 809165F4 AFAE0014 */ sw $t6, 0x0014($sp)
-/* 00BE8 809165F8 24A558C0 */ addiu $a1, $a1, 0x58C0 ## $a1 = 060058C0
+/* 00BE8 809165F8 24A558C0 */ addiu $a1, $a1, %lo(D_060058C0) ## $a1 = 060058C0
/* 00BEC 809165FC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00BF0 80916600 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00BF4 80916604 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00BF8 80916608 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00BFC 8091660C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00BFC 8091660C 0C029468 */ jal Animation_Change
/* 00C00 80916610 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00C04 80916614 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00C08 80916618 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00C04 80916614 3C040600 */ lui $a0, %hi(D_060058C0) ## $a0 = 06000000
+/* 00C08 80916618 0C028800 */ jal Animation_GetLastFrame
-/* 00C0C 8091661C 248458C0 */ addiu $a0, $a0, 0x58C0 ## $a0 = 060058C0
+/* 00C0C 8091661C 248458C0 */ addiu $a0, $a0, %lo(D_060058C0) ## $a0 = 060058C0
/* 00C10 80916620 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
/* 00C14 80916624 8FA30028 */ lw $v1, 0x0028($sp)
/* 00C18 80916628 3C0F8092 */ lui $t7, %hi(func_80919054) ## $t7 = 80920000
/* 00C1C 8091662C 46805420 */ cvt.s.w $f16, $f10
/* 00C20 80916630 25EF9054 */ addiu $t7, $t7, %lo(func_80919054) ## $t7 = 80919054
-/* 00C24 80916634 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00C28 80916638 248458C0 */ addiu $a0, $a0, 0x58C0 ## $a0 = 060058C0
+/* 00C24 80916634 3C040600 */ lui $a0, %hi(D_060058C0) ## $a0 = 06000000
+/* 00C28 80916638 248458C0 */ addiu $a0, $a0, %lo(D_060058C0) ## $a0 = 060058C0
/* 00C2C 8091663C AC6F0190 */ sw $t7, 0x0190($v1) ## 00000190
-/* 00C30 80916640 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00C30 80916640 0C028800 */ jal Animation_GetLastFrame
/* 00C34 80916644 E470021C */ swc1 $f16, 0x021C($v1) ## 0000021C
/* 00C38 80916648 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916668.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916668.s
index c13c577a3f..493e481844 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916668.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916668.s
@@ -3,7 +3,7 @@ glabel func_80916668
/* 00C5C 8091666C AFA40028 */ sw $a0, 0x0028($sp)
/* 00C60 80916670 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00C64 80916674 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 00C68 80916678 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00C68 80916678 0C028800 */ jal Animation_GetLastFrame
/* 00C6C 8091667C 2484CCD8 */ addiu $a0, $a0, 0xCCD8 ## $a0 = 0600CCD8
/* 00C70 80916680 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80916668
/* 00C94 809166A4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00C98 809166A8 AFA00014 */ sw $zero, 0x0014($sp)
/* 00C9C 809166AC E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00CA0 809166B0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00CA0 809166B0 0C029468 */ jal Animation_Change
/* 00CA4 809166B4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00CA8 809166B8 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809166D8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809166D8.s
index 9900025f49..bf66389728 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809166D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809166D8.s
@@ -3,7 +3,7 @@ glabel func_809166D8
/* 00CCC 809166DC AFA40028 */ sw $a0, 0x0028($sp)
/* 00CD0 809166E0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00CD4 809166E4 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 00CD8 809166E8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00CD8 809166E8 0C028800 */ jal Animation_GetLastFrame
/* 00CDC 809166EC 2484C468 */ addiu $a0, $a0, 0xC468 ## $a0 = 0600C468
/* 00CE0 809166F0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_809166D8
/* 00D08 80916718 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00D0C 8091671C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00D10 80916720 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00D14 80916724 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00D14 80916724 0C029468 */ jal Animation_Change
/* 00D18 80916728 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D1C 8091672C 8FB80028 */ lw $t8, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091674C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091674C.s
index 8e38f91fe0..7a6c583539 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091674C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091674C.s
@@ -2,23 +2,23 @@ glabel func_8091674C
/* 00D3C 8091674C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00D40 80916750 AFA40028 */ sw $a0, 0x0028($sp)
/* 00D44 80916754 AFBF0024 */ sw $ra, 0x0024($sp)
-/* 00D48 80916758 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00D4C 8091675C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00D48 80916758 3C040600 */ lui $a0, %hi(D_06000AE8) ## $a0 = 06000000
+/* 00D4C 8091675C 0C028800 */ jal Animation_GetLastFrame
-/* 00D50 80916760 24840AE8 */ addiu $a0, $a0, 0x0AE8 ## $a0 = 06000AE8
+/* 00D50 80916760 24840AE8 */ addiu $a0, $a0, %lo(D_06000AE8) ## $a0 = 06000AE8
/* 00D54 80916764 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00D58 80916768 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 00D5C 8091676C 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
/* 00D60 80916770 468021A0 */ cvt.s.w $f6, $f4
/* 00D64 80916774 8FA40028 */ lw $a0, 0x0028($sp)
-/* 00D68 80916778 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
-/* 00D6C 8091677C 24A50AE8 */ addiu $a1, $a1, 0x0AE8 ## $a1 = 06000AE8
+/* 00D68 80916778 3C050600 */ lui $a1, %hi(D_06000AE8) ## $a1 = 06000000
+/* 00D6C 8091677C 24A50AE8 */ addiu $a1, $a1, %lo(D_06000AE8) ## $a1 = 06000AE8
/* 00D70 80916780 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00D74 80916784 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00D78 80916788 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00D7C 8091678C AFA00014 */ sw $zero, 0x0014($sp)
/* 00D80 80916790 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00D84 80916794 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00D84 80916794 0C029468 */ jal Animation_Change
/* 00D88 80916798 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D8C 8091679C 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809167C0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809167C0.s
index db953064e1..00f015330e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809167C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809167C0.s
@@ -3,7 +3,7 @@ glabel func_809167C0
/* 00DB4 809167C4 AFA40028 */ sw $a0, 0x0028($sp)
/* 00DB8 809167C8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00DBC 809167CC 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00DC0 809167D0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00DC0 809167D0 0C028800 */ jal Animation_GetLastFrame
/* 00DC4 809167D4 24844318 */ addiu $a0, $a0, 0x4318 ## $a0 = 06004318
/* 00DC8 809167D8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_809167C0
/* 00DF0 80916800 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00DF4 80916804 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00DF8 80916808 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00DFC 8091680C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00DFC 8091680C 0C029468 */ jal Animation_Change
/* 00E00 80916810 2464014C */ addiu $a0, $v1, 0x014C ## $a0 = 0000014C
/* 00E04 80916814 8FA30028 */ lw $v1, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091683C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091683C.s
index a480c49077..227441338b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091683C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091683C.s
@@ -3,7 +3,7 @@ glabel func_8091683C
/* 00E30 80916840 AFA40028 */ sw $a0, 0x0028($sp)
/* 00E34 80916844 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00E38 80916848 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00E3C 8091684C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00E3C 8091684C 0C028800 */ jal Animation_GetLastFrame
/* 00E40 80916850 24846E60 */ addiu $a0, $a0, 0x6E60 ## $a0 = 06006E60
/* 00E44 80916854 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_8091683C
/* 00E6C 8091687C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00E70 80916880 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00E74 80916884 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00E78 80916888 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00E78 80916888 0C029468 */ jal Animation_Change
/* 00E7C 8091688C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00E80 80916890 8FB80028 */ lw $t8, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809168B0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809168B0.s
index 9a717deb0f..d70d664c74 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809168B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809168B0.s
@@ -23,7 +23,7 @@ glabel func_809168B0
/* 00EF4 80916904 F7B60038 */ sdc1 $f22, 0x0038($sp)
/* 00EF8 80916908 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00EFC 8091690C E426B2D4 */ swc1 $f6, %lo(D_8091B2D4)($at)
-/* 00F00 80916910 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00F00 80916910 0C02927F */ jal SkelAnime_Update
/* 00F04 80916914 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
/* 00F08 80916918 4405A000 */ mfc1 $a1, $f20
@@ -51,14 +51,14 @@ glabel func_809168B0
/* 00F54 80916964 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 00F58 80916968 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
.L8091696C:
-/* 00F5C 8091696C 0C0295B2 */ jal func_800A56C8
+/* 00F5C 8091696C 0C0295B2 */ jal Animation_OnFrame
/* 00F60 80916970 3C054110 */ lui $a1, 0x4110 ## $a1 = 41100000
/* 00F64 80916974 10400003 */ beq $v0, $zero, .L80916984
/* 00F68 80916978 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
/* 00F6C 8091697C 10000006 */ beq $zero, $zero, .L80916998
/* 00F70 80916980 27D30278 */ addiu $s3, $s8, 0x0278 ## $s3 = 00000278
.L80916984:
-/* 00F74 80916984 0C0295B2 */ jal func_800A56C8
+/* 00F74 80916984 0C0295B2 */ jal Animation_OnFrame
/* 00F78 80916988 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 00F7C 8091698C 10400002 */ beq $v0, $zero, .L80916998
/* 00F80 80916990 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916AEC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916AEC.s
index f4392be072..9e8836f197 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916AEC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916AEC.s
@@ -35,7 +35,7 @@ glabel func_80916AEC
/* 01160 80916B70 0C0300C5 */ jal Gameplay_ChangeCameraStatus
/* 01164 80916B74 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007
/* 01168 80916B78 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 0116C 80916B7C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0116C 80916B7C 0C028800 */ jal Animation_GetLastFrame
/* 01170 80916B80 24840918 */ addiu $a0, $a0, 0x0918 ## $a0 = 06010918
/* 01174 80916B84 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -49,11 +49,11 @@ glabel func_80916AEC
/* 01194 80916BA4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01198 80916BA8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0119C 80916BAC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 011A0 80916BB0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 011A0 80916BB0 0C029468 */ jal Animation_Change
/* 011A4 80916BB4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 011A8 80916BB8 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 011AC 80916BBC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 011AC 80916BBC 0C028800 */ jal Animation_GetLastFrame
/* 011B0 80916BC0 24840918 */ addiu $a0, $a0, 0x0918 ## $a0 = 06010918
/* 011B4 80916BC4 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916C9C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916C9C.s
index e8006d370c..300caba856 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916C9C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80916C9C.s
@@ -484,7 +484,7 @@ glabel L809171FC
glabel L80917318
/* 01908 80917318 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0190C 8091731C AFA40044 */ sw $a0, 0x0044($sp)
-/* 01910 80917320 0C0295B2 */ jal func_800A56C8
+/* 01910 80917320 0C0295B2 */ jal Animation_OnFrame
/* 01914 80917324 3C054170 */ lui $a1, 0x4170 ## $a1 = 41700000
/* 01918 80917328 10400003 */ beq $v0, $zero, .L80917338
/* 0191C 8091732C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -570,7 +570,7 @@ glabel L80917318
/* 01A38 80917448 28610014 */ slti $at, $v1, 0x0014
/* 01A3C 8091744C 50200247 */ beql $at, $zero, .L80917D6C
/* 01A40 80917450 860501BC */ lh $a1, 0x01BC($s0) ## 000001BC
-/* 01A44 80917454 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01A44 80917454 0C02927F */ jal SkelAnime_Update
/* 01A48 80917458 8FA40044 */ lw $a0, 0x0044($sp)
/* 01A4C 8091745C 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
@@ -590,7 +590,7 @@ glabel L80917318
/* 01A80 80917490 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 01A84 80917494 8FA40044 */ lw $a0, 0x0044($sp)
-/* 01A88 80917498 0C0295B2 */ jal func_800A56C8
+/* 01A88 80917498 0C0295B2 */ jal Animation_OnFrame
/* 01A8C 8091749C 3C054210 */ lui $a1, 0x4210 ## $a1 = 42100000
/* 01A90 809174A0 10400004 */ beq $v0, $zero, .L809174B4
/* 01A94 809174A4 3C018092 */ lui $at, %hi(D_8091B514) ## $at = 80920000
@@ -599,13 +599,13 @@ glabel L80917318
/* 01AA0 809174B0 E6000224 */ swc1 $f0, 0x0224($s0) ## 00000224
.L809174B4:
/* 01AA4 809174B4 8FA40044 */ lw $a0, 0x0044($sp)
-/* 01AA8 809174B8 0C0295B2 */ jal func_800A56C8
+/* 01AA8 809174B8 0C0295B2 */ jal Animation_OnFrame
/* 01AAC 809174BC 8E05021C */ lw $a1, 0x021C($s0) ## 0000021C
/* 01AB0 809174C0 10400229 */ beq $v0, $zero, .L80917D68
/* 01AB4 809174C4 240C0005 */ addiu $t4, $zero, 0x0005 ## $t4 = 00000005
/* 01AB8 809174C8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 01ABC 809174CC A60C01D0 */ sh $t4, 0x01D0($s0) ## 000001D0
-/* 01AC0 809174D0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01AC0 809174D0 0C028800 */ jal Animation_GetLastFrame
/* 01AC4 809174D4 24842360 */ addiu $a0, $a0, 0x2360 ## $a0 = 06002360
/* 01AC8 809174D8 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -619,7 +619,7 @@ glabel L80917318
/* 01AE8 809174F8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01AEC 809174FC E7A80010 */ swc1 $f8, 0x0010($sp)
/* 01AF0 80917500 AFA00014 */ sw $zero, 0x0014($sp)
-/* 01AF4 80917504 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01AF4 80917504 0C029468 */ jal Animation_Change
/* 01AF8 80917508 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01AFC 8091750C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
@@ -696,7 +696,7 @@ glabel L80917520
/* 01C04 80917614 E60602A0 */ swc1 $f6, 0x02A0($s0) ## 000002A0
/* 01C08 80917618 05E10009 */ bgez $t7, .L80917640
/* 01C0C 8091761C E60802A4 */ swc1 $f8, 0x02A4($s0) ## 000002A4
-/* 01C10 80917620 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01C10 80917620 0C02927F */ jal SkelAnime_Update
/* 01C14 80917624 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01C18 80917628 8FA40048 */ lw $a0, 0x0048($sp)
@@ -719,7 +719,7 @@ glabel L80917520
/* 01C50 80917660 2484193C */ addiu $a0, $a0, 0x193C ## $a0 = 0600193C
/* 01C54 80917664 14600011 */ bne $v1, $zero, .L809176AC
/* 01C58 80917668 2618014C */ addiu $t8, $s0, 0x014C ## $t8 = 0000014C
-/* 01C5C 8091766C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01C5C 8091766C 0C028800 */ jal Animation_GetLastFrame
/* 01C60 80917670 AFB80044 */ sw $t8, 0x0044($sp)
/* 01C64 80917674 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -733,7 +733,7 @@ glabel L80917520
/* 01C84 80917694 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01C88 80917698 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 01C8C 8091769C AFA00014 */ sw $zero, 0x0014($sp)
-/* 01C90 809176A0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01C90 809176A0 0C029468 */ jal Animation_Change
/* 01C94 809176A4 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 01C98 809176A8 860301D2 */ lh $v1, 0x01D2($s0) ## 000001D2
@@ -750,7 +750,7 @@ glabel L80917520
/* 01CC0 809176D0 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 01CC4 809176D4 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C
/* 01CC8 809176D8 AFA80044 */ sw $t0, 0x0044($sp)
-/* 01CCC 809176DC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01CCC 809176DC 0C028800 */ jal Animation_GetLastFrame
/* 01CD0 809176E0 2484F70C */ addiu $a0, $a0, 0xF70C ## $a0 = 0600F70C
/* 01CD4 809176E4 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -765,7 +765,7 @@ glabel L80917520
/* 01CF8 80917708 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 01CFC 8091770C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01D00 80917710 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01D04 80917714 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01D04 80917714 0C029468 */ jal Animation_Change
/* 01D08 80917718 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01D0C 8091771C 8FA20060 */ lw $v0, 0x0060($sp)
@@ -838,7 +838,7 @@ glabel L80917738
/* 01E08 80917818 E610029C */ swc1 $f16, 0x029C($s0) ## 0000029C
/* 01E0C 8091781C E61202A0 */ swc1 $f18, 0x02A0($s0) ## 000002A0
/* 01E10 80917820 E60402A4 */ swc1 $f4, 0x02A4($s0) ## 000002A4
-/* 01E14 80917824 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01E14 80917824 0C02927F */ jal SkelAnime_Update
/* 01E18 80917828 AFA40044 */ sw $a0, 0x0044($sp)
/* 01E1C 8091782C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
@@ -866,7 +866,7 @@ glabel L80917738
/* 01E6C 8091787C 2484F70C */ addiu $a0, $a0, 0xF70C ## $a0 = 0600F70C
/* 01E70 80917880 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 01E74 80917884 A60E01D0 */ sh $t6, 0x01D0($s0) ## 000001D0
-/* 01E78 80917888 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01E78 80917888 0C028800 */ jal Animation_GetLastFrame
/* 01E7C 8091788C E6060060 */ swc1 $f6, 0x0060($s0) ## 00000060
/* 01E80 80917890 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -881,11 +881,11 @@ glabel L80917738
/* 01EA4 809178B4 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 01EA8 809178B8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01EAC 809178BC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01EB0 809178C0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01EB0 809178C0 0C029468 */ jal Animation_Change
/* 01EB4 809178C4 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 01EB8 809178C8 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 01EBC 809178CC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01EBC 809178CC 0C028800 */ jal Animation_GetLastFrame
/* 01EC0 809178D0 2484F70C */ addiu $a0, $a0, 0xF70C ## $a0 = 0600F70C
/* 01EC4 809178D4 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -979,7 +979,7 @@ glabel L80917738
/* 02010 80917A20 240707D0 */ addiu $a3, $zero, 0x07D0 ## $a3 = 000007D0
/* 02014 80917A24 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 02018 80917A28 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02018 80917A28 0C02927F */ jal SkelAnime_Update
/* 0201C 80917A2C AFA40044 */ sw $a0, 0x0044($sp)
/* 02020 80917A30 860301D2 */ lh $v1, 0x01D2($s0) ## 000001D2
@@ -1022,7 +1022,7 @@ glabel L80917738
/* 020A8 80917AB8 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
.L80917ABC:
/* 020AC 80917ABC 8FA40044 */ lw $a0, 0x0044($sp)
-/* 020B0 80917AC0 0C0295B2 */ jal func_800A56C8
+/* 020B0 80917AC0 0C0295B2 */ jal Animation_OnFrame
/* 020B4 80917AC4 3C054220 */ lui $a1, 0x4220 ## $a1 = 42200000
/* 020B8 80917AC8 10400026 */ beq $v0, $zero, .L80917B64
/* 020BC 80917ACC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -1069,34 +1069,34 @@ glabel L80917738
/* 02150 80917B60 A42BF542 */ sh $t3, %lo(gSaveContext+0xee2)($at)
.L80917B64:
/* 02154 80917B64 8FA40044 */ lw $a0, 0x0044($sp)
-/* 02158 80917B68 0C0295B2 */ jal func_800A56C8
+/* 02158 80917B68 0C0295B2 */ jal Animation_OnFrame
/* 0215C 80917B6C 8E05021C */ lw $a1, 0x021C($s0) ## 0000021C
/* 02160 80917B70 1040007D */ beq $v0, $zero, .L80917D68
/* 02164 80917B74 240C008C */ addiu $t4, $zero, 0x008C ## $t4 = 0000008C
-/* 02168 80917B78 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
+/* 02168 80917B78 3C040600 */ lui $a0, %hi(D_06000AE8) ## $a0 = 06000000
/* 0216C 80917B7C A60C01D0 */ sh $t4, 0x01D0($s0) ## 000001D0
-/* 02170 80917B80 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02170 80917B80 0C028800 */ jal Animation_GetLastFrame
-/* 02174 80917B84 24840AE8 */ addiu $a0, $a0, 0x0AE8 ## $a0 = 06000AE8
+/* 02174 80917B84 24840AE8 */ addiu $a0, $a0, %lo(D_06000AE8) ## $a0 = 06000AE8
/* 02178 80917B88 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
/* 0217C 80917B8C 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 02180 80917B90 44815000 */ mtc1 $at, $f10 ## $f10 = -10.00
/* 02184 80917B94 46803220 */ cvt.s.w $f8, $f6
-/* 02188 80917B98 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
-/* 0218C 80917B9C 24A50AE8 */ addiu $a1, $a1, 0x0AE8 ## $a1 = 06000AE8
+/* 02188 80917B98 3C050600 */ lui $a1, %hi(D_06000AE8) ## $a1 = 06000000
+/* 0218C 80917B9C 24A50AE8 */ addiu $a1, $a1, %lo(D_06000AE8) ## $a1 = 06000AE8
/* 02190 80917BA0 8FA40044 */ lw $a0, 0x0044($sp)
/* 02194 80917BA4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 02198 80917BA8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 0219C 80917BAC E7A80010 */ swc1 $f8, 0x0010($sp)
/* 021A0 80917BB0 AFA00014 */ sw $zero, 0x0014($sp)
-/* 021A4 80917BB4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 021A4 80917BB4 0C029468 */ jal Animation_Change
/* 021A8 80917BB8 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 021AC 80917BBC 240D0014 */ addiu $t5, $zero, 0x0014 ## $t5 = 00000014
/* 021B0 80917BC0 10000069 */ beq $zero, $zero, .L80917D68
/* 021B4 80917BC4 A60D01D2 */ sh $t5, 0x01D2($s0) ## 000001D2
.L80917BC8:
-/* 021B8 80917BC8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 021B8 80917BC8 0C02927F */ jal SkelAnime_Update
/* 021BC 80917BCC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 021C0 80917BD0 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
@@ -1119,7 +1119,7 @@ glabel L80917738
/* 02200 80917C10 10000056 */ beq $zero, $zero, .L80917D6C
/* 02204 80917C14 860501BC */ lh $a1, 0x01BC($s0) ## 000001BC
.L80917C18:
-/* 02208 80917C18 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02208 80917C18 0C02927F */ jal SkelAnime_Update
/* 0220C 80917C1C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02210 80917C20 3C014316 */ lui $at, 0x4316 ## $at = 43160000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80917D98.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80917D98.s
index 90b61808c8..0b3932b10e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80917D98.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80917D98.s
@@ -101,7 +101,7 @@ glabel func_80917D98
/* 02450 80917E60 2490014C */ addiu $s0, $a0, 0x014C ## $s0 = 0000014C
/* 02454 80917E64 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
/* 02458 80917E68 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
-/* 0245C 80917E6C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0245C 80917E6C 0C02927F */ jal SkelAnime_Update
/* 02460 80917E70 AFAC0068 */ sw $t4, 0x0068($sp)
/* 02464 80917E74 264400B4 */ addiu $a0, $s2, 0x00B4 ## $a0 = 000000B4
@@ -111,7 +111,7 @@ glabel func_80917D98
/* 02474 80917E84 24070BB8 */ addiu $a3, $zero, 0x0BB8 ## $a3 = 00000BB8
/* 02478 80917E88 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
-/* 0247C 80917E8C 0C0295B2 */ jal func_800A56C8
+/* 0247C 80917E8C 0C0295B2 */ jal Animation_OnFrame
/* 02480 80917E90 3C0542D6 */ lui $a1, 0x42D6 ## $a1 = 42D60000
/* 02484 80917E94 1040000A */ beq $v0, $zero, .L80917EC0
/* 02488 80917E98 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918C08.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918C08.s
index 25d96a7645..ac6c524837 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918C08.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918C08.s
@@ -10,7 +10,7 @@ glabel func_80918C08
/* 03204 80918C14 AFBF001C */ sw $ra, 0x001C($sp)
/* 03208 80918C18 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0320C 80918C1C AFA5002C */ sw $a1, 0x002C($sp)
-/* 03210 80918C20 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03210 80918C20 0C02927F */ jal SkelAnime_Update
/* 03214 80918C24 AFA40020 */ sw $a0, 0x0020($sp)
/* 03218 80918C28 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
@@ -43,14 +43,14 @@ glabel func_80918C08
/* 0327C 80918C8C 24070BB8 */ addiu $a3, $zero, 0x0BB8 ## $a3 = 00000BB8
.L80918C90:
/* 03280 80918C90 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 03284 80918C94 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03284 80918C94 0C028800 */ jal Animation_GetLastFrame
/* 03288 80918C98 2484C468 */ addiu $a0, $a0, 0xC468 ## $a0 = 0600C468
/* 0328C 80918C9C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 03290 80918CA0 8FA40020 */ lw $a0, 0x0020($sp)
/* 03294 80918CA4 46804220 */ cvt.s.w $f8, $f8
/* 03298 80918CA8 44054000 */ mfc1 $a1, $f8
-/* 0329C 80918CAC 0C0295B2 */ jal func_800A56C8
+/* 0329C 80918CAC 0C0295B2 */ jal Animation_OnFrame
/* 032A0 80918CB0 00000000 */ nop
/* 032A4 80918CB4 1040000E */ beq $v0, $zero, .L80918CF0
/* 032A8 80918CB8 3C01437A */ lui $at, 0x437A ## $at = 437A0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918D10.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918D10.s
index 96d37fcec6..b7e5d47fa6 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918D10.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918D10.s
@@ -4,7 +4,7 @@ glabel func_80918D10
/* 03308 80918D18 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0330C 80918D1C AFBF001C */ sw $ra, 0x001C($sp)
/* 03310 80918D20 AFA50024 */ sw $a1, 0x0024($sp)
-/* 03314 80918D24 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03314 80918D24 0C02927F */ jal SkelAnime_Update
/* 03318 80918D28 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0331C 80918D2C 860E01D2 */ lh $t6, 0x01D2($s0) ## 000001D2
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918D6C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918D6C.s
index 239d8fbc7e..09a9b5362d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918D6C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918D6C.s
@@ -9,7 +9,7 @@ glabel func_80918D6C
/* 03378 80918D88 01C17825 */ or $t7, $t6, $at ## $t7 = 01000000
/* 0337C 80918D8C AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
/* 03380 80918D90 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 03384 80918D94 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03384 80918D94 0C02927F */ jal SkelAnime_Update
/* 03388 80918D98 AFA40030 */ sw $a0, 0x0030($sp)
/* 0338C 80918D9C 860301D0 */ lh $v1, 0x01D0($s0) ## 000001D0
@@ -47,7 +47,7 @@ glabel func_80918D6C
/* 03400 80918E10 5420FFF5 */ bnel $at, $zero, .L80918DE8
/* 03404 80918E14 0002C180 */ sll $t8, $v0, 6
.L80918E18:
-/* 03408 80918E18 0C0295B2 */ jal func_800A56C8
+/* 03408 80918E18 0C0295B2 */ jal Animation_OnFrame
/* 0340C 80918E1C 8FA40030 */ lw $a0, 0x0030($sp)
/* 03410 80918E20 1040000A */ beq $v0, $zero, .L80918E4C
/* 03414 80918E24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -62,20 +62,20 @@ glabel func_80918D6C
/* 03438 80918E48 2407000F */ addiu $a3, $zero, 0x000F ## $a3 = 0000000F
.L80918E4C:
/* 0343C 80918E4C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 03440 80918E50 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03440 80918E50 0C028800 */ jal Animation_GetLastFrame
/* 03444 80918E54 24844318 */ addiu $a0, $a0, 0x4318 ## $a0 = 06004318
/* 03448 80918E58 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 0344C 80918E5C 8FA40030 */ lw $a0, 0x0030($sp)
/* 03450 80918E60 46802120 */ cvt.s.w $f4, $f4
/* 03454 80918E64 44052000 */ mfc1 $a1, $f4
-/* 03458 80918E68 0C0295B2 */ jal func_800A56C8
+/* 03458 80918E68 0C0295B2 */ jal Animation_OnFrame
/* 0345C 80918E6C 00000000 */ nop
/* 03460 80918E70 1040004A */ beq $v0, $zero, .L80918F9C
/* 03464 80918E74 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 03468 80918E78 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 0346C 80918E7C A60B01D0 */ sh $t3, 0x01D0($s0) ## 000001D0
-/* 03470 80918E80 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03470 80918E80 0C028800 */ jal Animation_GetLastFrame
/* 03474 80918E84 24844A20 */ addiu $a0, $a0, 0x4A20 ## $a0 = 06004A20
/* 03478 80918E88 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -89,7 +89,7 @@ glabel func_80918D6C
/* 03498 80918EA8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 0349C 80918EAC E7A80010 */ swc1 $f8, 0x0010($sp)
/* 034A0 80918EB0 AFA00014 */ sw $zero, 0x0014($sp)
-/* 034A4 80918EB4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 034A4 80918EB4 0C029468 */ jal Animation_Change
/* 034A8 80918EB8 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 034AC 80918EBC 860C01D2 */ lh $t4, 0x01D2($s0) ## 000001D2
@@ -109,7 +109,7 @@ glabel func_80918D6C
/* 034E0 80918EF0 1000002A */ beq $zero, $zero, .L80918F9C
/* 034E4 80918EF4 A61901D4 */ sh $t9, 0x01D4($s0) ## 000001D4
.L80918EF8:
-/* 034E8 80918EF8 0C0295B2 */ jal func_800A56C8
+/* 034E8 80918EF8 0C0295B2 */ jal Animation_OnFrame
/* 034EC 80918EFC 3C054040 */ lui $a1, 0x4040 ## $a1 = 40400000
/* 034F0 80918F00 10400003 */ beq $v0, $zero, .L80918F10
/* 034F4 80918F04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -122,7 +122,7 @@ glabel func_80918D6C
/* 03508 80918F18 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
/* 0350C 80918F1C 1500001F */ bne $t0, $zero, .L80918F9C
/* 03510 80918F20 24845330 */ addiu $a0, $a0, 0x5330 ## $a0 = 06005330
-/* 03514 80918F24 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03514 80918F24 0C028800 */ jal Animation_GetLastFrame
/* 03518 80918F28 A60901D0 */ sh $t1, 0x01D0($s0) ## 000001D0
/* 0351C 80918F2C 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -137,20 +137,20 @@ glabel func_80918D6C
/* 03540 80918F50 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 03544 80918F54 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 03548 80918F58 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 0354C 80918F5C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0354C 80918F5C 0C029468 */ jal Animation_Change
/* 03550 80918F60 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 03554 80918F64 1000000E */ beq $zero, $zero, .L80918FA0
/* 03558 80918F68 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
.L80918F6C:
-/* 0355C 80918F6C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0355C 80918F6C 0C028800 */ jal Animation_GetLastFrame
/* 03560 80918F70 24845330 */ addiu $a0, $a0, 0x5330 ## $a0 = 00005330
/* 03564 80918F74 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
/* 03568 80918F78 8FA40030 */ lw $a0, 0x0030($sp)
/* 0356C 80918F7C 46808420 */ cvt.s.w $f16, $f16
/* 03570 80918F80 44058000 */ mfc1 $a1, $f16
-/* 03574 80918F84 0C0295B2 */ jal func_800A56C8
+/* 03574 80918F84 0C0295B2 */ jal Animation_OnFrame
/* 03578 80918F88 00000000 */ nop
/* 0357C 80918F8C 50400004 */ beql $v0, $zero, .L80918FA0
/* 03580 80918F90 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918FBC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918FBC.s
index 447e26041b..21aab68235 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918FBC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80918FBC.s
@@ -5,18 +5,18 @@ glabel func_80918FBC
/* 035B8 80918FC8 AFBF001C */ sw $ra, 0x001C($sp)
/* 035BC 80918FCC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 035C0 80918FD0 AFA5002C */ sw $a1, 0x002C($sp)
-/* 035C4 80918FD4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 035C4 80918FD4 0C02927F */ jal SkelAnime_Update
/* 035C8 80918FD8 AFA40020 */ sw $a0, 0x0020($sp)
/* 035CC 80918FDC 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 035D0 80918FE0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 035D0 80918FE0 0C028800 */ jal Animation_GetLastFrame
/* 035D4 80918FE4 24846E60 */ addiu $a0, $a0, 0x6E60 ## $a0 = 06006E60
/* 035D8 80918FE8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 035DC 80918FEC 8FA40020 */ lw $a0, 0x0020($sp)
/* 035E0 80918FF0 46802120 */ cvt.s.w $f4, $f4
/* 035E4 80918FF4 44052000 */ mfc1 $a1, $f4
-/* 035E8 80918FF8 0C0295B2 */ jal func_800A56C8
+/* 035E8 80918FF8 0C0295B2 */ jal Animation_OnFrame
/* 035EC 80918FFC 00000000 */ nop
/* 035F0 80919000 50400005 */ beql $v0, $zero, .L80919018
/* 035F4 80919004 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919054.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919054.s
index baa1d5c407..2b9ff26b66 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919054.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919054.s
@@ -5,11 +5,11 @@ glabel func_80919054
/* 03650 80919060 AFBF0034 */ sw $ra, 0x0034($sp)
/* 03654 80919064 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03658 80919068 AFA50044 */ sw $a1, 0x0044($sp)
-/* 0365C 8091906C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0365C 8091906C 0C02927F */ jal SkelAnime_Update
/* 03660 80919070 AFA4003C */ sw $a0, 0x003C($sp)
/* 03664 80919074 8FA4003C */ lw $a0, 0x003C($sp)
-/* 03668 80919078 0C0295B2 */ jal func_800A56C8
+/* 03668 80919078 0C0295B2 */ jal Animation_OnFrame
/* 0366C 8091907C 8E05021C */ lw $a1, 0x021C($s0) ## 0000021C
/* 03670 80919080 50400009 */ beql $v0, $zero, .L809190A8
/* 03674 80919084 3C014100 */ lui $at, 0x4100 ## $at = 41000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809190F8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809190F8.s
index 165a802be3..d79776b0e2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809190F8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809190F8.s
@@ -4,12 +4,12 @@ glabel func_809190F8
/* 036F0 80919100 AFBF0014 */ sw $ra, 0x0014($sp)
/* 036F4 80919104 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 036F8 80919108 AFA50024 */ sw $a1, 0x0024($sp)
-/* 036FC 8091910C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 036FC 8091910C 0C02927F */ jal SkelAnime_Update
/* 03700 80919110 AFA4001C */ sw $a0, 0x001C($sp)
/* 03704 80919114 8FAE0020 */ lw $t6, 0x0020($sp)
/* 03708 80919118 8FA4001C */ lw $a0, 0x001C($sp)
-/* 0370C 8091911C 0C0295B2 */ jal func_800A56C8
+/* 0370C 8091911C 0C0295B2 */ jal Animation_OnFrame
/* 03710 80919120 8DC5021C */ lw $a1, 0x021C($t6) ## 0000021C
/* 03714 80919124 50400007 */ beql $v0, $zero, .L80919144
/* 03718 80919128 8FBF0014 */ lw $ra, 0x0014($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919150.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919150.s
index ed3811b909..412f1e7dff 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919150.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919150.s
@@ -12,7 +12,7 @@ glabel func_80919150
/* 03768 80919178 2405301E */ addiu $a1, $zero, 0x301E ## $a1 = 0000301E
.L8091917C:
-/* 0376C 8091917C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0376C 8091917C 0C02927F */ jal SkelAnime_Update
/* 03770 80919180 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 03774 80919184 860F01D4 */ lh $t7, 0x01D4($s0) ## 000001D4
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919278.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919278.s
index 707381e7b7..46bcb88401 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919278.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919278.s
@@ -4,7 +4,7 @@ glabel func_80919278
/* 03870 80919280 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03874 80919284 AFBF001C */ sw $ra, 0x001C($sp)
/* 03878 80919288 AFA50024 */ sw $a1, 0x0024($sp)
-/* 0387C 8091928C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0387C 8091928C 0C02927F */ jal SkelAnime_Update
/* 03880 80919290 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03884 80919294 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091932C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091932C.s
index dab458c458..58b9615fd0 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091932C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091932C.s
@@ -4,7 +4,7 @@ glabel func_8091932C
/* 03924 80919334 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03928 80919338 AFBF001C */ sw $ra, 0x001C($sp)
/* 0392C 8091933C AFA50024 */ sw $a1, 0x0024($sp)
-/* 03930 80919340 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03930 80919340 0C02927F */ jal SkelAnime_Update
/* 03934 80919344 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03938 80919348 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809193EC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809193EC.s
index c829ca6a11..fceade4b7b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809193EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809193EC.s
@@ -4,7 +4,7 @@ glabel func_809193EC
/* 039E4 809193F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 039E8 809193F8 AFBF001C */ sw $ra, 0x001C($sp)
/* 039EC 809193FC AFA50024 */ sw $a1, 0x0024($sp)
-/* 039F0 80919400 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 039F0 80919400 0C02927F */ jal SkelAnime_Update
/* 039F4 80919404 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 039F8 80919408 860E0194 */ lh $t6, 0x0194($s0) ## 00000194
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919548.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919548.s
index 009fbd0bb5..62b3500cd8 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919548.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919548.s
@@ -5,7 +5,7 @@ glabel func_80919548
/* 03B44 80919554 AFBF0014 */ sw $ra, 0x0014($sp)
/* 03B48 80919558 AFA40018 */ sw $a0, 0x0018($sp)
/* 03B4C 8091955C AFA50018 */ sw $a1, 0x0018($sp)
-/* 03B50 80919560 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03B50 80919560 0C02927F */ jal SkelAnime_Update
/* 03B54 80919564 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03B58 80919568 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809195A4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809195A4.s
index 64044e49da..b6c54e5dfc 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809195A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_809195A4.s
@@ -4,7 +4,7 @@ glabel func_809195A4
/* 03B9C 809195AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03BA0 809195B0 AFBF001C */ sw $ra, 0x001C($sp)
/* 03BA4 809195B4 AFA50024 */ sw $a1, 0x0024($sp)
-/* 03BA8 809195B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03BA8 809195B8 0C02927F */ jal SkelAnime_Update
/* 03BAC 809195BC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03BB0 809195C0 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091960C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091960C.s
index b73f0ed403..c78dd46a8f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091960C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_8091960C.s
@@ -4,7 +4,7 @@ glabel func_8091960C
/* 03C04 80919614 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 03C08 80919618 AFA5001C */ sw $a1, 0x001C($sp)
/* 03C0C 8091961C AFA70018 */ sw $a3, 0x0018($sp)
-/* 03C10 80919620 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03C10 80919620 0C02927F */ jal SkelAnime_Update
/* 03C14 80919624 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03C18 80919628 8FA70018 */ lw $a3, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919704.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919704.s
index 59a3372460..9a9327a8fa 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919704.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919704.s
@@ -5,11 +5,11 @@ glabel func_80919704
/* 03D00 80919710 AFBF001C */ sw $ra, 0x001C($sp)
/* 03D04 80919714 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03D08 80919718 AFA5002C */ sw $a1, 0x002C($sp)
-/* 03D0C 8091971C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03D0C 8091971C 0C02927F */ jal SkelAnime_Update
/* 03D10 80919720 AFA40020 */ sw $a0, 0x0020($sp)
/* 03D14 80919724 8FA40020 */ lw $a0, 0x0020($sp)
-/* 03D18 80919728 0C0295B2 */ jal func_800A56C8
+/* 03D18 80919728 0C0295B2 */ jal Animation_OnFrame
/* 03D1C 8091972C 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 03D20 80919730 10400004 */ beq $v0, $zero, .L80919744
/* 03D24 80919734 8FA40020 */ lw $a0, 0x0020($sp)
@@ -17,7 +17,7 @@ glabel func_80919704
/* 03D2C 8091973C 10000014 */ beq $zero, $zero, .L80919790
/* 03D30 80919740 A60E01B6 */ sh $t6, 0x01B6($s0) ## 000001B6
.L80919744:
-/* 03D34 80919744 0C0295B2 */ jal func_800A56C8
+/* 03D34 80919744 0C0295B2 */ jal Animation_OnFrame
/* 03D38 80919748 3C0541F0 */ lui $a1, 0x41F0 ## $a1 = 41F00000
/* 03D3C 8091974C 10400004 */ beq $v0, $zero, .L80919760
/* 03D40 80919750 8FA40020 */ lw $a0, 0x0020($sp)
@@ -25,7 +25,7 @@ glabel func_80919704
/* 03D48 80919758 1000000D */ beq $zero, $zero, .L80919790
/* 03D4C 8091975C A60F01B6 */ sh $t7, 0x01B6($s0) ## 000001B6
.L80919760:
-/* 03D50 80919760 0C0295B2 */ jal func_800A56C8
+/* 03D50 80919760 0C0295B2 */ jal Animation_OnFrame
/* 03D54 80919764 3C054170 */ lui $a1, 0x4170 ## $a1 = 41700000
/* 03D58 80919768 10400004 */ beq $v0, $zero, .L8091977C
/* 03D5C 8091976C 8FA40020 */ lw $a0, 0x0020($sp)
@@ -33,14 +33,14 @@ glabel func_80919704
/* 03D64 80919774 10000006 */ beq $zero, $zero, .L80919790
/* 03D68 80919778 A61801B6 */ sh $t8, 0x01B6($s0) ## 000001B6
.L8091977C:
-/* 03D6C 8091977C 0C0295B2 */ jal func_800A56C8
+/* 03D6C 8091977C 0C0295B2 */ jal Animation_OnFrame
/* 03D70 80919780 3C054180 */ lui $a1, 0x4180 ## $a1 = 41800000
/* 03D74 80919784 10400002 */ beq $v0, $zero, .L80919790
/* 03D78 80919788 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 03D7C 8091978C A61901B6 */ sh $t9, 0x01B6($s0) ## 000001B6
.L80919790:
/* 03D80 80919790 8FA40020 */ lw $a0, 0x0020($sp)
-/* 03D84 80919794 0C0295B2 */ jal func_800A56C8
+/* 03D84 80919794 0C0295B2 */ jal Animation_OnFrame
/* 03D88 80919798 3C054170 */ lui $a1, 0x4170 ## $a1 = 41700000
/* 03D8C 8091979C 10400008 */ beq $v0, $zero, .L809197C0
/* 03D90 809197A0 8FA40020 */ lw $a0, 0x0020($sp)
@@ -52,7 +52,7 @@ glabel func_80919704
/* 03DA8 809197B8 1000000A */ beq $zero, $zero, .L809197E4
/* 03DAC 809197BC 86080194 */ lh $t0, 0x0194($s0) ## 00000194
.L809197C0:
-/* 03DB0 809197C0 0C0295B2 */ jal func_800A56C8
+/* 03DB0 809197C0 0C0295B2 */ jal Animation_OnFrame
/* 03DB4 809197C4 3C0541F0 */ lui $a1, 0x41F0 ## $a1 = 41F00000
/* 03DB8 809197C8 10400005 */ beq $v0, $zero, .L809197E0
/* 03DBC 809197CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919974.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919974.s
index 55c23b1e89..79b2ef44f2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919974.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/func_80919974.s
@@ -4,7 +4,7 @@ glabel func_80919974
/* 03F6C 8091997C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03F70 80919980 AFBF001C */ sw $ra, 0x001C($sp)
/* 03F74 80919984 AFA50024 */ sw $a1, 0x0024($sp)
-/* 03F78 80919988 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03F78 80919988 0C02927F */ jal SkelAnime_Update
/* 03F7C 8091998C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03F80 80919990 860E0194 */ lh $t6, 0x0194($s0) ## 00000194
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_8091F5A8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_8091F5A8.s
index 7f07b30da0..bc24ec49c5 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_8091F5A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_8091F5A8.s
@@ -909,8 +909,8 @@ glabel L8091FF00
.L80920204:
/* 04704 80920204 14410064 */ bne $v0, $at, .L80920398
/* 04708 80920208 8FA400A4 */ lw $a0, 0x00A4($sp)
-/* 0470C 8092020C 3C020600 */ lui $v0, 0x0600 ## $v0 = 06000000
-/* 04710 80920210 24421010 */ addiu $v0, $v0, 0x1010 ## $v0 = 06001010
+/* 0470C 8092020C 3C020600 */ lui $v0, %hi(D_06001010) ## $v0 = 06000000
+/* 04710 80920210 24421010 */ addiu $v0, $v0, %lo(D_06001010) ## $v0 = 06001010
/* 04714 80920214 00024100 */ sll $t0, $v0, 4
/* 04718 80920218 00084F02 */ srl $t1, $t0, 28
/* 0471C 8092021C 00095080 */ sll $t2, $t1, 2
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80923870.s b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80923870.s
index 55ecdad114..3b0a2145ce 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80923870.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80923870.s
@@ -327,8 +327,8 @@ glabel func_80923870
/* 0819C 80923C9C 12800071 */ beq $s4, $zero, .L80923E64
/* 081A0 80923CA0 00000000 */ nop
/* 081A4 80923CA4 860D017A */ lh $t5, 0x017A($s0) ## 0000017A
-/* 081A8 80923CA8 3C140600 */ lui $s4, 0x0600 ## $s4 = 06000000
-/* 081AC 80923CAC 26940140 */ addiu $s4, $s4, 0x0140 ## $s4 = 06000140
+/* 081A8 80923CA8 3C140600 */ lui $s4, %hi(D_06000140) ## $s4 = 06000000
+/* 081AC 80923CAC 26940140 */ addiu $s4, $s4, %lo(D_06000140) ## $s4 = 06000140
/* 081B0 80923CB0 25AE0026 */ addiu $t6, $t5, 0x0026 ## $t6 = 00000026
/* 081B4 80923CB4 022E082A */ slt $at, $s1, $t6
/* 081B8 80923CB8 1020006A */ beq $at, $zero, .L80923E64
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80924228.s b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80924228.s
index f1da4063f5..f9ae2a7b3a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80924228.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80924228.s
@@ -356,8 +356,8 @@ glabel func_80924228
/* 08BD8 809246D8 0C0346A2 */ jal Matrix_NewMtx
/* 08BDC 809246DC AFA20094 */ sw $v0, 0x0094($sp)
/* 08BE0 809246E0 8FA30094 */ lw $v1, 0x0094($sp)
-/* 08BE4 809246E4 3C040405 */ lui $a0, 0x0405 ## $a0 = 04050000
-/* 08BE8 809246E8 24849210 */ addiu $a0, $a0, 0x9210 ## $a0 = 04049210
+/* 08BE4 809246E4 3C040405 */ lui $a0, %hi(D_04049210) ## $a0 = 04050000
+/* 08BE8 809246E8 24849210 */ addiu $a0, $a0, %lo(D_04049210) ## $a0 = 04049210
/* 08BEC 809246EC AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 08BF0 809246F0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 08BF4 809246F4 00046900 */ sll $t5, $a0, 4
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80925480.s b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80925480.s
index 8fecf32812..c4b1743d38 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80925480.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/func_80925480.s
@@ -66,11 +66,11 @@ glabel func_80925480
/* 09A08 80925508 24130002 */ addiu $s3, $zero, 0x0002 ## $s3 = 00000002
.L8092550C:
/* 09A0C 8092550C 922F0024 */ lbu $t7, 0x0024($s1) ## 00000024
-/* 09A10 80925510 3C120402 */ lui $s2, 0x0402 ## $s2 = 04020000
+/* 09A10 80925510 3C120402 */ lui $s2, %hi(D_040254B0) ## $s2 = 04020000
/* 09A14 80925514 566F0035 */ bnel $s3, $t7, .L809255EC
/* 09A18 80925518 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001
/* 09A1C 8092551C 16C0000B */ bne $s6, $zero, .L8092554C
-/* 09A20 80925520 265254B0 */ addiu $s2, $s2, 0x54B0 ## $s2 = 040254B0
+/* 09A20 80925520 265254B0 */ addiu $s2, $s2, %lo(D_040254B0) ## $s2 = 040254B0
/* 09A24 80925524 0C0252F1 */ jal func_80094BC4
/* 09A28 80925528 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 09A2C 8092552C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
@@ -136,11 +136,11 @@ glabel func_80925480
/* 09B14 80925614 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001
.L80925618:
/* 09B18 80925618 92380024 */ lbu $t8, 0x0024($s1) ## 00000064
-/* 09B1C 8092561C 3C120402 */ lui $s2, 0x0402 ## $s2 = 04020000
+/* 09B1C 8092561C 3C120402 */ lui $s2, %hi(D_0401A0B0) ## $s2 = 04020000
/* 09B20 80925620 56780036 */ bnel $s3, $t8, .L809256FC
/* 09B24 80925624 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001
/* 09B28 80925628 16C0000C */ bne $s6, $zero, .L8092565C
-/* 09B2C 8092562C 2652A0B0 */ addiu $s2, $s2, 0xA0B0 ## $s2 = 0401A0B0
+/* 09B2C 8092562C 2652A0B0 */ addiu $s2, $s2, %lo(D_0401A0B0) ## $s2 = 0401A0B0
/* 09B30 80925630 8FB900F4 */ lw $t9, 0x00F4($sp)
/* 09B34 80925634 0C024F61 */ jal func_80093D84
/* 09B38 80925638 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
@@ -219,8 +219,8 @@ glabel func_80925480
/* 09C4C 8092574C AFA80054 */ sw $t0, 0x0054($sp)
/* 09C50 80925750 16C0002B */ bne $s6, $zero, .L80925800
/* 09C54 80925754 02E1B821 */ addu $s7, $s7, $at
-/* 09C58 80925758 3C020405 */ lui $v0, 0x0405 ## $v0 = 04050000
-/* 09C5C 8092575C 24421DB0 */ addiu $v0, $v0, 0x1DB0 ## $v0 = 04051DB0
+/* 09C58 80925758 3C020405 */ lui $v0, %hi(D_04051DB0) ## $v0 = 04050000
+/* 09C5C 8092575C 24421DB0 */ addiu $v0, $v0, %lo(D_04051DB0) ## $v0 = 04051DB0
/* 09C60 80925760 00024900 */ sll $t1, $v0, 4
/* 09C64 80925764 00095702 */ srl $t2, $t1, 28
/* 09C68 80925768 3C0C8016 */ lui $t4, %hi(gSegments)
@@ -228,8 +228,8 @@ glabel func_80925480
/* 09C70 80925770 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 09C74 80925774 258C6FA8 */ addiu $t4, %lo(gSegments)
/* 09C78 80925778 000A5880 */ sll $t3, $t2, 2
-/* 09C7C 8092577C 3C140600 */ lui $s4, 0x0600 ## $s4 = 06000000
-/* 09C80 80925780 26940F20 */ addiu $s4, $s4, 0x0F20 ## $s4 = 06000F20
+/* 09C7C 8092577C 3C140600 */ lui $s4, %hi(D_06000F20) ## $s4 = 06000000
+/* 09C80 80925780 26940F20 */ addiu $s4, $s4, %lo(D_06000F20) ## $s4 = 06000F20
/* 09C84 80925784 016C9021 */ addu $s2, $t3, $t4
/* 09C88 80925788 00419824 */ and $s3, $v0, $at
/* 09C8C 8092578C 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0
@@ -334,8 +334,8 @@ glabel func_80925480
/* 09E0C 8092590C 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001
/* 09E10 80925910 16C0002A */ bne $s6, $zero, .L809259BC
/* 09E14 80925914 26F70FC8 */ addiu $s7, $s7, 0x0FC8 ## $s7 = 06000FC8
-/* 09E18 80925918 3C020405 */ lui $v0, 0x0405 ## $v0 = 04050000
-/* 09E1C 8092591C 24421DB0 */ addiu $v0, $v0, 0x1DB0 ## $v0 = 04051DB0
+/* 09E18 80925918 3C020405 */ lui $v0, %hi(D_04051DB0) ## $v0 = 04050000
+/* 09E1C 8092591C 24421DB0 */ addiu $v0, $v0, %lo(D_04051DB0) ## $v0 = 04051DB0
/* 09E20 80925920 0002C900 */ sll $t9, $v0, 4
/* 09E24 80925924 00194F02 */ srl $t1, $t9, 28
/* 09E28 80925928 3C0A8016 */ lui $t2, %hi(gSegments)
@@ -343,8 +343,8 @@ glabel func_80925480
/* 09E30 80925930 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 09E34 80925934 254A6FA8 */ addiu $t2, %lo(gSegments)
/* 09E38 80925938 00094080 */ sll $t0, $t1, 2
-/* 09E3C 8092593C 3C140600 */ lui $s4, 0x0600 ## $s4 = 06000000
-/* 09E40 80925940 26940F20 */ addiu $s4, $s4, 0x0F20 ## $s4 = 06000F20
+/* 09E3C 8092593C 3C140600 */ lui $s4, %hi(D_06000F20) ## $s4 = 06000000
+/* 09E40 80925940 26940F20 */ addiu $s4, $s4, %lo(D_06000F20) ## $s4 = 06000F20
/* 09E44 80925944 010A9021 */ addu $s2, $t0, $t2
/* 09E48 80925948 00419824 */ and $s3, $v0, $at
/* 09E4C 8092594C 0C025011 */ jal func_80094044
@@ -445,8 +445,8 @@ glabel func_80925480
/* 09FBC 80925ABC 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 09FC0 80925AC0 166D0039 */ bne $s3, $t5, .L80925BA8
/* 09FC4 80925AC4 8FAE00F4 */ lw $t6, 0x00F4($sp)
-/* 09FC8 80925AC8 3C120600 */ lui $s2, 0x0600 ## $s2 = 06000000
-/* 09FCC 80925ACC 26520140 */ addiu $s2, $s2, 0x0140 ## $s2 = 06000140
+/* 09FC8 80925AC8 3C120600 */ lui $s2, %hi(D_06000140) ## $s2 = 06000000
+/* 09FCC 80925ACC 26520140 */ addiu $s2, $s2, %lo(D_06000140) ## $s2 = 06000140
/* 09FD0 80925AD0 16C0000B */ bne $s6, $zero, .L80925B00
/* 09FD4 80925AD4 01C1B821 */ addu $s7, $t6, $at
/* 09FD8 80925AD8 0C024F46 */ jal func_80093D18
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/BossSst_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/BossSst_Init.s
index ea90c5eb96..ca64aff3fe 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/BossSst_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/BossSst_Init.s
@@ -280,14 +280,14 @@ glabel BossSst_Init
/* 003F4 8092C9C4 1000000D */ beq $zero, $zero, .L8092C9FC
/* 003F8 8092C9C8 00000000 */ nop
.L8092C9CC:
-/* 003FC 8092C9CC 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
+/* 003FC 8092C9CC 3C070600 */ lui $a3, %hi(D_06005860) ## $a3 = 06000000
/* 00400 8092C9D0 260A01A8 */ addiu $t2, $s0, 0x01A8 ## $t2 = 000001A8
/* 00404 8092C9D4 260B02B6 */ addiu $t3, $s0, 0x02B6 ## $t3 = 000002B6
/* 00408 8092C9D8 240C001B */ addiu $t4, $zero, 0x001B ## $t4 = 0000001B
/* 0040C 8092C9DC AFAC0018 */ sw $t4, 0x0018($sp)
/* 00410 8092C9E0 AFAB0014 */ sw $t3, 0x0014($sp)
/* 00414 8092C9E4 AFAA0010 */ sw $t2, 0x0010($sp)
-/* 00418 8092C9E8 24E75860 */ addiu $a3, $a3, 0x5860 ## $a3 = 06005860
+/* 00418 8092C9E8 24E75860 */ addiu $a3, $a3, %lo(D_06005860) ## $a3 = 06005860
/* 0041C 8092C9EC 0C0291BE */ jal SkelAnime_InitFlex
/* 00420 8092C9F0 24C6A350 */ addiu $a2, $a2, 0xA350 ## $a2 = FFFFA350
/* 00424 8092C9F4 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092CC58.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092CC58.s
index ad18b2790b..957e509984 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092CC58.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092CC58.s
@@ -23,7 +23,7 @@ glabel func_8092CC58
.L8092CC88:
/* 006B8 8092CC88 2644014C */ addiu $a0, $s2, 0x014C ## $a0 = 0000014C
/* 006BC 8092CC8C AFA40038 */ sw $a0, 0x0038($sp)
-/* 006C0 8092CC90 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 006C0 8092CC90 0C02927F */ jal SkelAnime_Update
/* 006C4 8092CC94 AFA7004C */ sw $a3, 0x004C($sp)
/* 006C8 8092CC98 10400008 */ beq $v0, $zero, .L8092CCBC
@@ -32,7 +32,7 @@ glabel func_8092CC58
/* 006D4 8092CCA4 24A5DC2C */ addiu $a1, $a1, 0xDC2C ## $a1 = 0600DC2C
/* 006D8 8092CCA8 8FA40038 */ lw $a0, 0x0038($sp)
/* 006DC 8092CCAC 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
-/* 006E0 8092CCB0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 006E0 8092CCB0 0C0294D3 */ jal Animation_MorphToLoop
/* 006E4 8092CCB4 AFA7004C */ sw $a3, 0x004C($sp)
/* 006E8 8092CCB8 8FA7004C */ lw $a3, 0x004C($sp)
.L8092CCBC:
@@ -895,7 +895,7 @@ glabel func_8092CC58
/* 013BC 8092D98C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 013C0 8092D990 24A5C288 */ addiu $a1, $a1, 0xC288 ## $a1 = 0600C288
/* 013C4 8092D994 8FA40038 */ lw $a0, 0x0038($sp)
-/* 013C8 8092D998 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 013C8 8092D998 0C029490 */ jal Animation_MorphToPlayOnce
/* 013CC 8092D99C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 013D0 8092D9A0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 013D4 8092D9A4 0C24CF4B */ jal func_80933D2C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DA6C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DA6C.s
index 7598503ca2..42cc696d3e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DA6C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DA6C.s
@@ -8,7 +8,7 @@ glabel func_8092DA6C
/* 014B4 8092DA84 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 014B8 8092DA88 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 014BC 8092DA8C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 014C0 8092DA90 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 014C0 8092DA90 0C0294D3 */ jal Animation_MorphToLoop
/* 014C4 8092DA94 AFA70018 */ sw $a3, 0x0018($sp)
/* 014C8 8092DA98 8FA70018 */ lw $a3, 0x0018($sp)
.L8092DA9C:
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DAB8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DAB8.s
index 5d9e237d2c..af372cb6ea 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DAB8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DAB8.s
@@ -3,7 +3,7 @@ glabel func_8092DAB8
/* 014EC 8092DABC AFBF0014 */ sw $ra, 0x0014($sp)
/* 014F0 8092DAC0 AFA40018 */ sw $a0, 0x0018($sp)
/* 014F4 8092DAC4 AFA5001C */ sw $a1, 0x001C($sp)
-/* 014F8 8092DAC8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 014F8 8092DAC8 0C02927F */ jal SkelAnime_Update
/* 014FC 8092DACC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01500 8092DAD0 3C038094 */ lui $v1, %hi(D_80938C98) ## $v1 = 80940000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DB4C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DB4C.s
index bb3457e946..f8b403940b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DB4C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DB4C.s
@@ -4,7 +4,7 @@ glabel func_8092DB4C
/* 01584 8092DB54 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01588 8092DB58 AFBF001C */ sw $ra, 0x001C($sp)
/* 0158C 8092DB5C AFA50024 */ sw $a1, 0x0024($sp)
-/* 01590 8092DB60 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01590 8092DB60 0C02927F */ jal SkelAnime_Update
/* 01594 8092DB64 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01598 8092DB68 82030195 */ lb $v1, 0x0195($s0) ## 00000195
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DCEC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DCEC.s
index 5e2710ec41..8dd4d8b611 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DCEC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DCEC.s
@@ -6,7 +6,7 @@ glabel func_8092DCEC
/* 0172C 8092DCFC 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01730 8092DD00 24A5C9BC */ addiu $a1, $a1, 0xC9BC ## $a1 = 0600C9BC
/* 01734 8092DD04 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01738 8092DD08 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01738 8092DD08 0C029490 */ jal Animation_MorphToPlayOnce
/* 0173C 8092DD0C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01740 8092DD10 10000008 */ beq $zero, $zero, .L8092DD34
/* 01744 8092DD14 8FAF0018 */ lw $t7, 0x0018($sp)
@@ -15,7 +15,7 @@ glabel func_8092DCEC
/* 0174C 8092DD1C 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01750 8092DD20 24A5C5B0 */ addiu $a1, $a1, 0xC5B0 ## $a1 = 0600C5B0
/* 01754 8092DD24 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 01758 8092DD28 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01758 8092DD28 0C029490 */ jal Animation_MorphToPlayOnce
/* 0175C 8092DD2C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01760 8092DD30 8FAF0018 */ lw $t7, 0x0018($sp)
.L8092DD34:
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DD50.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DD50.s
index 151f1abed2..b3c1da3386 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DD50.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DD50.s
@@ -5,7 +5,7 @@ glabel func_8092DD50
/* 0178C 8092DD5C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01790 8092DD60 AFA40018 */ sw $a0, 0x0018($sp)
/* 01794 8092DD64 AFA50018 */ sw $a1, 0x0018($sp)
-/* 01798 8092DD68 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01798 8092DD68 0C02927F */ jal SkelAnime_Update
/* 0179C 8092DD6C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 017A0 8092DD70 10400031 */ beq $v0, $zero, .L8092DE38
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DE48.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DE48.s
index 51ea302bef..411e51f9b5 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DE48.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DE48.s
@@ -6,7 +6,7 @@ glabel func_8092DE48
/* 01888 8092DE58 24A5E7B8 */ addiu $a1, $a1, 0xE7B8 ## $a1 = 0600E7B8
/* 0188C 8092DE5C AFA70018 */ sw $a3, 0x0018($sp)
/* 01890 8092DE60 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01894 8092DE64 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01894 8092DE64 0C0294D3 */ jal Animation_MorphToLoop
/* 01898 8092DE68 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 0189C 8092DE6C 8FA70018 */ lw $a3, 0x0018($sp)
/* 018A0 8092DE70 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DEA0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DEA0.s
index dc47ee1d5b..79233b6802 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DEA0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DEA0.s
@@ -3,7 +3,7 @@ glabel func_8092DEA0
/* 018D4 8092DEA4 AFBF001C */ sw $ra, 0x001C($sp)
/* 018D8 8092DEA8 AFA40020 */ sw $a0, 0x0020($sp)
/* 018DC 8092DEAC AFA50024 */ sw $a1, 0x0024($sp)
-/* 018E0 8092DEB0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 018E0 8092DEB0 0C02927F */ jal SkelAnime_Update
/* 018E4 8092DEB4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 018E8 8092DEB8 3C048094 */ lui $a0, %hi(D_80938C98) ## $a0 = 80940000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DF40.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DF40.s
index b7c8a83474..d3686a4c2d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DF40.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DF40.s
@@ -9,7 +9,7 @@ glabel func_8092DF40
/* 01978 8092DF48 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0197C 8092DF4C AFBF002C */ sw $ra, 0x002C($sp)
/* 01980 8092DF50 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 01984 8092DF54 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01984 8092DF54 0C028800 */ jal Animation_GetLastFrame
/* 01988 8092DF58 2484B0D8 */ addiu $a0, $a0, 0xB0D8 ## $a0 = 0600B0D8
/* 0198C 8092DF5C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -24,7 +24,7 @@ glabel func_8092DF40
/* 019B0 8092DF80 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 019B4 8092DF84 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 019B8 8092DF88 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 019BC 8092DF8C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 019BC 8092DF8C 0C029468 */ jal Animation_Change
/* 019C0 8092DF90 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 019C4 8092DF94 3C048094 */ lui $a0, %hi(D_80938C98) ## $a0 = 80940000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DFFC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DFFC.s
index 132bb1ed40..69ba439f17 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DFFC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092DFFC.s
@@ -13,7 +13,7 @@ glabel func_8092DFFC
/* 01A38 8092E008 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01A3C 8092E00C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01A40 8092E010 AFA5003C */ sw $a1, 0x003C($sp)
-/* 01A44 8092E014 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01A44 8092E014 0C02927F */ jal SkelAnime_Update
/* 01A48 8092E018 AFA4002C */ sw $a0, 0x002C($sp)
/* 01A4C 8092E01C AFA20030 */ sw $v0, 0x0030($sp)
@@ -21,7 +21,7 @@ glabel func_8092DFFC
/* 01A54 8092E024 8FA4002C */ lw $a0, 0x002C($sp)
/* 01A58 8092E028 55C0000D */ bnel $t6, $zero, .L8092E060
/* 01A5C 8092E02C 3C014234 */ lui $at, 0x4234 ## $at = 42340000
-/* 01A60 8092E030 0C0295B2 */ jal func_800A56C8
+/* 01A60 8092E030 0C0295B2 */ jal Animation_OnFrame
/* 01A64 8092E034 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 01A68 8092E038 10400008 */ beq $v0, $zero, .L8092E05C
/* 01A6C 8092E03C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E25C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E25C.s
index 34ca391bba..d1ec87e7ba 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E25C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E25C.s
@@ -6,7 +6,7 @@ glabel func_8092E25C
/* 01C9C 8092E26C 24A5DC2C */ addiu $a1, $a1, 0xDC2C ## $a1 = 0600DC2C
/* 01CA0 8092E270 AFA70018 */ sw $a3, 0x0018($sp)
/* 01CA4 8092E274 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01CA8 8092E278 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01CA8 8092E278 0C0294D3 */ jal Animation_MorphToLoop
/* 01CAC 8092E27C 3C06C1A0 */ lui $a2, 0xC1A0 ## $a2 = C1A00000
/* 01CB0 8092E280 3C058093 */ lui $a1, %hi(D_80937340) ## $a1 = 80930000
/* 01CB4 8092E284 8FA40018 */ lw $a0, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E2E0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E2E0.s
index 42ef4c1996..cf8d7f91a2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E2E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E2E0.s
@@ -3,7 +3,7 @@ glabel func_8092E2E0
/* 01D14 8092E2E4 AFBF001C */ sw $ra, 0x001C($sp)
/* 01D18 8092E2E8 AFA40020 */ sw $a0, 0x0020($sp)
/* 01D1C 8092E2EC AFA50024 */ sw $a1, 0x0024($sp)
-/* 01D20 8092E2F0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01D20 8092E2F0 0C02927F */ jal SkelAnime_Update
/* 01D24 8092E2F4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01D28 8092E2F8 8FA30020 */ lw $v1, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E34C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E34C.s
index 02dff9af87..95e4150be9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E34C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E34C.s
@@ -6,7 +6,7 @@ glabel func_8092E34C
/* 01D8C 8092E35C 24A5E7B8 */ addiu $a1, $a1, 0xE7B8 ## $a1 = 0600E7B8
/* 01D90 8092E360 AFA70018 */ sw $a3, 0x0018($sp)
/* 01D94 8092E364 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01D98 8092E368 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01D98 8092E368 0C0294D3 */ jal Animation_MorphToLoop
/* 01D9C 8092E36C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01DA0 8092E370 8FA70018 */ lw $a3, 0x0018($sp)
/* 01DA4 8092E374 3C188093 */ lui $t8, %hi(func_8092E3A0) ## $t8 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E3A0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E3A0.s
index 6181e43783..d0c77f26fe 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E3A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E3A0.s
@@ -5,7 +5,7 @@ glabel func_8092E3A0
/* 01DDC 8092E3AC AFBF0014 */ sw $ra, 0x0014($sp)
/* 01DE0 8092E3B0 AFA40018 */ sw $a0, 0x0018($sp)
/* 01DE4 8092E3B4 AFA50018 */ sw $a1, 0x0018($sp)
-/* 01DE8 8092E3B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01DE8 8092E3B8 0C02927F */ jal SkelAnime_Update
/* 01DEC 8092E3BC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01DF0 8092E3C0 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E3E8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E3E8.s
index 9f0068e1f0..9e72195b23 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E3E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E3E8.s
@@ -6,7 +6,7 @@ glabel func_8092E3E8
/* 01E28 8092E3F8 24A5C288 */ addiu $a1, $a1, 0xC288 ## $a1 = 0600C288
/* 01E2C 8092E3FC AFA70018 */ sw $a3, 0x0018($sp)
/* 01E30 8092E400 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01E34 8092E404 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01E34 8092E404 0C029490 */ jal Animation_MorphToPlayOnce
/* 01E38 8092E408 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01E3C 8092E40C 8FA70018 */ lw $a3, 0x0018($sp)
/* 01E40 8092E410 3C188093 */ lui $t8, %hi(func_8092E438) ## $t8 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E438.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E438.s
index c15dbe465e..4efb798c94 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E438.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E438.s
@@ -3,7 +3,7 @@ glabel func_8092E438
/* 01E6C 8092E43C AFBF0014 */ sw $ra, 0x0014($sp)
/* 01E70 8092E440 AFA40018 */ sw $a0, 0x0018($sp)
/* 01E74 8092E444 AFA5001C */ sw $a1, 0x001C($sp)
-/* 01E78 8092E448 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01E78 8092E448 0C02927F */ jal SkelAnime_Update
/* 01E7C 8092E44C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01E80 8092E450 50400004 */ beql $v0, $zero, .L8092E464
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E470.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E470.s
index 5f799f2419..f057b29179 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E470.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E470.s
@@ -6,10 +6,10 @@ glabel func_8092E470
/* 01EB0 8092E480 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01EB4 8092E484 24A5B6FC */ addiu $a1, $a1, 0xB6FC ## $a1 = 0600B6FC
/* 01EB8 8092E488 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01EBC 8092E48C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01EBC 8092E48C 0C029490 */ jal Animation_MorphToPlayOnce
/* 01EC0 8092E490 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01EC4 8092E494 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 01EC8 8092E498 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01EC8 8092E498 0C028800 */ jal Animation_GetLastFrame
/* 01ECC 8092E49C 2484B6FC */ addiu $a0, $a0, 0xB6FC ## $a0 = 0600B6FC
/* 01ED0 8092E4A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E510.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E510.s
index dfd820fbf5..c9f2f2a696 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E510.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E510.s
@@ -42,7 +42,7 @@ glabel func_8092E510
/* 01FAC 8092E57C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01FB0 8092E580 46062200 */ add.s $f8, $f4, $f6
/* 01FB4 8092E584 E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060
-/* 01FB8 8092E588 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01FB8 8092E588 0C02927F */ jal SkelAnime_Update
/* 01FBC 8092E58C AFA40028 */ sw $a0, 0x0028($sp)
/* 01FC0 8092E590 AFA20030 */ sw $v0, 0x0030($sp)
@@ -122,7 +122,7 @@ glabel func_8092E510
/* 020CC 8092E69C 8FA40028 */ lw $a0, 0x0028($sp)
/* 020D0 8092E6A0 55C00005 */ bnel $t6, $zero, .L8092E6B8
/* 020D4 8092E6A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 020D8 8092E6A8 0C0295B2 */ jal func_800A56C8
+/* 020D8 8092E6A8 0C0295B2 */ jal Animation_OnFrame
/* 020DC 8092E6AC 3C054130 */ lui $a1, 0x4130 ## $a1 = 41300000
/* 020E0 8092E6B0 10400003 */ beq $v0, $zero, .L8092E6C0
/* 020E4 8092E6B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E790.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E790.s
index dd4bd3ad6a..149020f906 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E790.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E790.s
@@ -6,7 +6,7 @@ glabel func_8092E790
/* 021D0 8092E7A0 24A5ACD4 */ addiu $a1, $a1, 0xACD4 ## $a1 = 0600ACD4
/* 021D4 8092E7A4 AFA70018 */ sw $a3, 0x0018($sp)
/* 021D8 8092E7A8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 021DC 8092E7AC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 021DC 8092E7AC 0C0294D3 */ jal Animation_MorphToLoop
/* 021E0 8092E7B0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 021E4 8092E7B4 8FA70018 */ lw $a3, 0x0018($sp)
/* 021E8 8092E7B8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E830.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E830.s
index b19ca14b83..f303a6cd03 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E830.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E830.s
@@ -4,7 +4,7 @@ glabel func_8092E830
/* 02268 8092E838 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0226C 8092E83C AFBF001C */ sw $ra, 0x001C($sp)
/* 02270 8092E840 AFA50024 */ sw $a1, 0x0024($sp)
-/* 02274 8092E844 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02274 8092E844 0C02927F */ jal SkelAnime_Update
/* 02278 8092E848 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0227C 8092E84C 3C048094 */ lui $a0, %hi(D_80938CB0) ## $a0 = 80940000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E930.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E930.s
index 49c26cd2b8..9e1880f3b7 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E930.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092E930.s
@@ -6,10 +6,10 @@ glabel func_8092E930
/* 02370 8092E940 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 02374 8092E944 24A5CC6C */ addiu $a1, $a1, 0xCC6C ## $a1 = 0600CC6C
/* 02378 8092E948 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0237C 8092E94C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0237C 8092E94C 0C029490 */ jal Animation_MorphToPlayOnce
/* 02380 8092E950 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 02384 8092E954 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 02388 8092E958 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02388 8092E958 0C028800 */ jal Animation_GetLastFrame
/* 0238C 8092E95C 2484CC6C */ addiu $a0, $a0, 0xCC6C ## $a0 = 0600CC6C
/* 02390 8092E960 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -19,7 +19,7 @@ glabel func_8092E930
/* 023A0 8092E970 0C00D09B */ jal func_8003426C
/* 023A4 8092E974 AFA20010 */ sw $v0, 0x0010($sp)
/* 023A8 8092E978 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 023AC 8092E97C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 023AC 8092E97C 0C028800 */ jal Animation_GetLastFrame
/* 023B0 8092E980 2484CC6C */ addiu $a0, $a0, 0xCC6C ## $a0 = 0600CC6C
/* 023B4 8092E984 3C048094 */ lui $a0, %hi(D_80938C98) ## $a0 = 80940000
@@ -30,7 +30,7 @@ glabel func_8092E930
/* 023C8 8092E998 0C00D09B */ jal func_8003426C
/* 023CC 8092E99C AFA20010 */ sw $v0, 0x0010($sp)
/* 023D0 8092E9A0 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 023D4 8092E9A4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 023D4 8092E9A4 0C028800 */ jal Animation_GetLastFrame
/* 023D8 8092E9A8 2484CC6C */ addiu $a0, $a0, 0xCC6C ## $a0 = 0600CC6C
/* 023DC 8092E9AC 3C048094 */ lui $a0, %hi(D_80938C9C) ## $a0 = 80940000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EA00.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EA00.s
index 7f6a2f4c70..84f36109bd 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EA00.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EA00.s
@@ -10,7 +10,7 @@ glabel func_8092EA00
/* 02450 8092EA20 A48E0198 */ sh $t6, 0x0198($a0) ## 00000198
.L8092EA24:
/* 02454 8092EA24 24A4014C */ addiu $a0, $a1, 0x014C ## $a0 = 0000014C
-/* 02458 8092EA28 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02458 8092EA28 0C02927F */ jal SkelAnime_Update
/* 0245C 8092EA2C AFA50018 */ sw $a1, 0x0018($sp)
/* 02460 8092EA30 10400003 */ beq $v0, $zero, .L8092EA40
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EA50.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EA50.s
index 570dfe8e01..e256c84b7e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EA50.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EA50.s
@@ -6,7 +6,7 @@ glabel func_8092EA50
/* 02490 8092EA60 24A5D458 */ addiu $a1, $a1, 0xD458 ## $a1 = 0600D458
/* 02494 8092EA64 AFA70018 */ sw $a3, 0x0018($sp)
/* 02498 8092EA68 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0249C 8092EA6C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0249C 8092EA6C 0C029490 */ jal Animation_MorphToPlayOnce
/* 024A0 8092EA70 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 024A4 8092EA74 8FA70018 */ lw $a3, 0x0018($sp)
/* 024A8 8092EA78 3C18FFCF */ lui $t8, 0xFFCF ## $t8 = FFCF0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EAE0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EAE0.s
index 7738b4ec2f..ae974ed9d4 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EAE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EAE0.s
@@ -9,7 +9,7 @@ glabel func_8092EAE0
/* 02518 8092EAE8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0251C 8092EAEC AFBF0024 */ sw $ra, 0x0024($sp)
/* 02520 8092EAF0 AFA5003C */ sw $a1, 0x003C($sp)
-/* 02524 8092EAF4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02524 8092EAF4 0C02927F */ jal SkelAnime_Update
/* 02528 8092EAF8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0252C 8092EAFC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EF28.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EF28.s
index e6a5570208..87557c187e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EF28.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092EF28.s
@@ -10,7 +10,7 @@ glabel func_8092EF28
/* 02978 8092EF48 24A5E7B8 */ addiu $a1, $a1, 0xE7B8 ## $a1 = 0600E7B8
/* 0297C 8092EF4C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02980 8092EF50 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 02984 8092EF54 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 02984 8092EF54 0C0294D3 */ jal Animation_MorphToLoop
/* 02988 8092EF58 AFAE002C */ sw $t6, 0x002C($sp)
/* 0298C 8092EF5C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 02990 8092EF60 0C24CF4B */ jal func_80933D2C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F0BC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F0BC.s
index 3afb4ab16c..ae642a2143 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F0BC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F0BC.s
@@ -10,7 +10,7 @@ glabel func_8092F0BC
/* 02AF8 8092F0C8 AFBF001C */ sw $ra, 0x001C($sp)
/* 02AFC 8092F0CC AFB10018 */ sw $s1, 0x0018($sp)
/* 02B00 8092F0D0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 02B04 8092F0D4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02B04 8092F0D4 0C02927F */ jal SkelAnime_Update
/* 02B08 8092F0D8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02B0C 8092F0DC 86030198 */ lh $v1, 0x0198($s0) ## 00000198
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F30C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F30C.s
index 9c75dd78b2..e4644fbc4f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F30C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F30C.s
@@ -11,7 +11,7 @@ glabel func_8092F30C
/* 02D4C 8092F31C 24A5E7B8 */ addiu $a1, $a1, 0xE7B8 ## $a1 = 0600E7B8
/* 02D50 8092F320 AFA70018 */ sw $a3, 0x0018($sp)
/* 02D54 8092F324 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 02D58 8092F328 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 02D58 8092F328 0C029490 */ jal Animation_MorphToPlayOnce
/* 02D5C 8092F32C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 02D60 8092F330 8FA70018 */ lw $a3, 0x0018($sp)
/* 02D64 8092F334 240E00A0 */ addiu $t6, $zero, 0x00A0 ## $t6 = 000000A0
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F374.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F374.s
index ca51baa69c..479c05a1ff 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F374.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092F374.s
@@ -4,7 +4,7 @@ glabel func_8092F374
/* 02DAC 8092F37C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 02DB0 8092F380 AFA5001C */ sw $a1, 0x001C($sp)
/* 02DB4 8092F384 AFA60018 */ sw $a2, 0x0018($sp)
-/* 02DB8 8092F388 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02DB8 8092F388 0C02927F */ jal SkelAnime_Update
/* 02DBC 8092F38C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02DC0 8092F390 8FA60018 */ lw $a2, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FBE4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FBE4.s
index 7d3c24cbfe..49e5c44103 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FBE4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FBE4.s
@@ -17,7 +17,7 @@ glabel func_8092FBE4
/* 03650 8092FC20 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 03654 8092FC24 00084880 */ sll $t1, $t0, 2
/* 03658 8092FC28 00A92821 */ addu $a1, $a1, $t1
-/* 0365C 8092FC2C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0365C 8092FC2C 0C0294D3 */ jal Animation_MorphToLoop
/* 03660 8092FC30 8CA5784C */ lw $a1, %lo(D_8093784C)($a1)
/* 03664 8092FC34 8FA70018 */ lw $a3, 0x0018($sp)
/* 03668 8092FC38 3C0B8093 */ lui $t3, %hi(func_8092FC60) ## $t3 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FC60.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FC60.s
index 0c3bb503fd..3936bdcc1d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FC60.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FC60.s
@@ -4,7 +4,7 @@ glabel func_8092FC60
/* 03698 8092FC68 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0369C 8092FC6C AFBF001C */ sw $ra, 0x001C($sp)
/* 036A0 8092FC70 AFA50024 */ sw $a1, 0x0024($sp)
-/* 036A4 8092FC74 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 036A4 8092FC74 0C02927F */ jal SkelAnime_Update
/* 036A8 8092FC78 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 036AC 8092FC7C 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FDD0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FDD0.s
index 4a4d7820e8..6d6afc53d3 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FDD0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FDD0.s
@@ -15,7 +15,7 @@ glabel func_8092FDD0
/* 03834 8092FE04 00A82821 */ addu $a1, $a1, $t0
/* 03838 8092FE08 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
/* 0383C 8092FE0C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 03840 8092FE10 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 03840 8092FE10 0C029490 */ jal Animation_MorphToPlayOnce
/* 03844 8092FE14 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 03848 8092FE18 8FA70018 */ lw $a3, 0x0018($sp)
/* 0384C 8092FE1C 3C0A8093 */ lui $t2, %hi(func_8092FE44) ## $t2 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FE44.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FE44.s
index fb922b9fb8..a7caf9d206 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FE44.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FE44.s
@@ -4,7 +4,7 @@ glabel func_8092FE44
/* 0387C 8092FE4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03880 8092FE50 AFBF001C */ sw $ra, 0x001C($sp)
/* 03884 8092FE54 AFA50024 */ sw $a1, 0x0024($sp)
-/* 03888 8092FE58 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03888 8092FE58 0C02927F */ jal SkelAnime_Update
/* 0388C 8092FE5C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03890 8092FE60 8E0E011C */ lw $t6, 0x011C($s0) ## 0000011C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FF94.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FF94.s
index 68d2d3dd23..c8fc77c05a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FF94.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FF94.s
@@ -12,7 +12,7 @@ glabel func_8092FF94
/* 039EC 8092FFBC 0018C880 */ sll $t9, $t8, 2
/* 039F0 8092FFC0 00B92821 */ addu $a1, $a1, $t9
/* 039F4 8092FFC4 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
-/* 039F8 8092FFC8 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 039F8 8092FFC8 0C02947A */ jal Animation_PlayOnce
/* 039FC 8092FFCC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03A00 8092FFD0 8FA60018 */ lw $a2, 0x0018($sp)
/* 03A04 8092FFD4 3C088093 */ lui $t0, %hi(func_8092FFF0) ## $t0 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FFF0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FFF0.s
index 4d9cc14479..318698b3ce 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FFF0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8092FFF0.s
@@ -4,7 +4,7 @@ glabel func_8092FFF0
/* 03A28 8092FFF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03A2C 8092FFFC AFBF0024 */ sw $ra, 0x0024($sp)
/* 03A30 80930000 AFA5002C */ sw $a1, 0x002C($sp)
-/* 03A34 80930004 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03A34 80930004 0C02927F */ jal SkelAnime_Update
/* 03A38 80930008 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03A3C 8093000C 8E0E011C */ lw $t6, 0x011C($s0) ## 0000011C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809300E4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809300E4.s
index 1a71ded1cc..b85079c1fd 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809300E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809300E4.s
@@ -15,7 +15,7 @@ glabel func_809300E4
/* 03B48 80930118 00A82821 */ addu $a1, $a1, $t0
/* 03B4C 8093011C 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
/* 03B50 80930120 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 03B54 80930124 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 03B54 80930124 0C029490 */ jal Animation_MorphToPlayOnce
/* 03B58 80930128 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 03B5C 8093012C 8FA70018 */ lw $a3, 0x0018($sp)
/* 03B60 80930130 3C0A8093 */ lui $t2, %hi(func_80930158) ## $t2 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930158.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930158.s
index 3e2244d21b..722585e195 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930158.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930158.s
@@ -4,7 +4,7 @@ glabel func_80930158
/* 03B90 80930160 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03B94 80930164 AFBF001C */ sw $ra, 0x001C($sp)
/* 03B98 80930168 AFA50024 */ sw $a1, 0x0024($sp)
-/* 03B9C 8093016C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03B9C 8093016C 0C02927F */ jal SkelAnime_Update
/* 03BA0 80930170 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03BA4 80930174 8E0E011C */ lw $t6, 0x011C($s0) ## 0000011C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930238.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930238.s
index 6dc702a9ba..9c8d717a86 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930238.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930238.s
@@ -8,7 +8,7 @@ glabel func_80930238
/* 03C80 80930250 000E7880 */ sll $t7, $t6, 2
/* 03C84 80930254 00AF2821 */ addu $a1, $a1, $t7
/* 03C88 80930258 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
-/* 03C8C 8093025C 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 03C8C 8093025C 0C02947A */ jal Animation_PlayOnce
/* 03C90 80930260 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03C94 80930264 8FA60018 */ lw $a2, 0x0018($sp)
/* 03C98 80930268 3C188093 */ lui $t8, %hi(func_80930284) ## $t8 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930284.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930284.s
index cb61f9dbca..5ff307c1d5 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930284.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930284.s
@@ -4,7 +4,7 @@ glabel func_80930284
/* 03CBC 8093028C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03CC0 80930290 AFBF0024 */ sw $ra, 0x0024($sp)
/* 03CC4 80930294 AFA5002C */ sw $a1, 0x002C($sp)
-/* 03CC8 80930298 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03CC8 80930298 0C02927F */ jal SkelAnime_Update
/* 03CCC 8093029C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03CD0 809302A0 8E0E011C */ lw $t6, 0x011C($s0) ## 0000011C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809303C8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809303C8.s
index f5c1aafced..134214d4a2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809303C8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809303C8.s
@@ -18,7 +18,7 @@ glabel func_809303C8
/* 03E38 80930408 00095080 */ sll $t2, $t1, 2
/* 03E3C 8093040C 00AA2821 */ addu $a1, $a1, $t2
/* 03E40 80930410 8CA5787C */ lw $a1, %lo(D_8093787C)($a1)
-/* 03E44 80930414 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 03E44 80930414 0C029490 */ jal Animation_MorphToPlayOnce
/* 03E48 80930418 3C0640C0 */ lui $a2, 0x40C0 ## $a2 = 40C00000
/* 03E4C 8093041C 8FA70018 */ lw $a3, 0x0018($sp)
/* 03E50 80930420 3C0B8093 */ lui $t3, %hi(func_8093043C) ## $t3 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093043C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093043C.s
index 56137944de..9a112dbfd2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093043C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093043C.s
@@ -3,7 +3,7 @@ glabel func_8093043C
/* 03E70 80930440 AFBF0014 */ sw $ra, 0x0014($sp)
/* 03E74 80930444 AFA40018 */ sw $a0, 0x0018($sp)
/* 03E78 80930448 AFA5001C */ sw $a1, 0x001C($sp)
-/* 03E7C 8093044C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03E7C 8093044C 0C02927F */ jal SkelAnime_Update
/* 03E80 80930450 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03E84 80930454 50400004 */ beql $v0, $zero, .L80930468
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930474.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930474.s
index 3d9ce5b21a..4052c70c6a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930474.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930474.s
@@ -15,7 +15,7 @@ glabel func_80930474
/* 03ED8 809304A8 00A82821 */ addu $a1, $a1, $t0
/* 03EDC 809304AC 8CA57884 */ lw $a1, %lo(D_80937884)($a1)
/* 03EE0 809304B0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 03EE4 809304B4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 03EE4 809304B4 0C029490 */ jal Animation_MorphToPlayOnce
/* 03EE8 809304B8 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 03EEC 809304BC 8FA40018 */ lw $a0, 0x0018($sp)
/* 03EF0 809304C0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093051C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093051C.s
index 01dfce74a1..6faf73059b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093051C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093051C.s
@@ -13,7 +13,7 @@ glabel func_8093051C
/* 03F58 80930528 AFBF0024 */ sw $ra, 0x0024($sp)
/* 03F5C 8093052C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03F60 80930530 AFA50044 */ sw $a1, 0x0044($sp)
-/* 03F64 80930534 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03F64 80930534 0C02927F */ jal SkelAnime_Update
/* 03F68 80930538 AFA4002C */ sw $a0, 0x002C($sp)
/* 03F6C 8093053C 3C014248 */ lui $at, 0x4248 ## $at = 42480000
@@ -99,7 +99,7 @@ glabel func_8093051C
/* 04094 80930664 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 04098 80930668 000FC080 */ sll $t8, $t7, 2
/* 0409C 8093066C 00B82821 */ addu $a1, $a1, $t8
-/* 040A0 80930670 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 040A0 80930670 0C0294D3 */ jal Animation_MorphToLoop
/* 040A4 80930674 8CA5784C */ lw $a1, %lo(D_8093784C)($a1)
/* 040A8 80930678 1000002F */ beq $zero, $zero, .L80930738
/* 040AC 8093067C 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930748.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930748.s
index 3c9d22b565..981f847eea 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930748.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930748.s
@@ -16,7 +16,7 @@ glabel func_80930748
/* 041B0 80930780 00A82821 */ addu $a1, $a1, $t0
/* 041B4 80930784 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
/* 041B8 80930788 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 041BC 8093078C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 041BC 8093078C 0C029490 */ jal Animation_MorphToPlayOnce
/* 041C0 80930790 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 041C4 80930794 8FA70018 */ lw $a3, 0x0018($sp)
/* 041C8 80930798 3C098093 */ lui $t1, %hi(func_809307B4) ## $t1 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809307B4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809307B4.s
index 0012928529..5032756e21 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809307B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809307B4.s
@@ -4,7 +4,7 @@ glabel func_809307B4
/* 041EC 809307BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 041F0 809307C0 AFBF001C */ sw $ra, 0x001C($sp)
/* 041F4 809307C4 AFA5002C */ sw $a1, 0x002C($sp)
-/* 041F8 809307C8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 041F8 809307C8 0C02927F */ jal SkelAnime_Update
/* 041FC 809307CC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 04200 809307D0 86030198 */ lh $v1, 0x0198($s0) ## 00000198
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809308A4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809308A4.s
index 8ae92674c6..5b27ee956c 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809308A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809308A4.s
@@ -18,7 +18,7 @@ glabel func_809308A4
/* 04314 809308E4 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 04318 809308E8 00194080 */ sll $t0, $t9, 2
/* 0431C 809308EC 00A82821 */ addu $a1, $a1, $t0
-/* 04320 809308F0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04320 809308F0 0C029490 */ jal Animation_MorphToPlayOnce
/* 04324 809308F4 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
/* 04328 809308F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0432C 809308FC 0C24CF20 */ jal func_80933C80
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930934.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930934.s
index 0f80eec8f5..fdd3801550 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930934.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930934.s
@@ -4,7 +4,7 @@ glabel func_80930934
/* 0436C 8093093C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 04370 80930940 AFBF0024 */ sw $ra, 0x0024($sp)
/* 04374 80930944 AFA50034 */ sw $a1, 0x0034($sp)
-/* 04378 80930948 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04378 80930948 0C02927F */ jal SkelAnime_Update
/* 0437C 8093094C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 04380 80930950 2604019E */ addiu $a0, $s0, 0x019E ## $a0 = 0000019E
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930B18.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930B18.s
index 06a2a668d4..ecd298bf8e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930B18.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930B18.s
@@ -15,7 +15,7 @@ glabel func_80930B18
/* 0457C 80930B4C 00194080 */ sll $t0, $t9, 2
/* 04580 80930B50 00A82821 */ addu $a1, $a1, $t0
/* 04584 80930B54 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
-/* 04588 80930B58 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04588 80930B58 0C029490 */ jal Animation_MorphToPlayOnce
/* 0458C 80930B5C 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 04590 80930B60 3C058094 */ lui $a1, %hi(D_80938C90) ## $a1 = 80940000
/* 04594 80930B64 8CA58C90 */ lw $a1, %lo(D_80938C90)($a1)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930BC0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930BC0.s
index 463a703c9b..1d5af8eec3 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930BC0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930BC0.s
@@ -5,7 +5,7 @@ glabel func_80930BC0
/* 045FC 80930BCC AFBF0024 */ sw $ra, 0x0024($sp)
/* 04600 80930BD0 AFB10020 */ sw $s1, 0x0020($sp)
/* 04604 80930BD4 AFA5002C */ sw $a1, 0x002C($sp)
-/* 04608 80930BD8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04608 80930BD8 0C02927F */ jal SkelAnime_Update
/* 0460C 80930BDC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 04610 80930BE0 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930CE4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930CE4.s
index c1f47fb6f4..3c40312f69 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930CE4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930CE4.s
@@ -9,7 +9,7 @@ glabel func_80930CE4
/* 04730 80930D00 000E7880 */ sll $t7, $t6, 2
/* 04734 80930D04 00AF2821 */ addu $a1, $a1, $t7
/* 04738 80930D08 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
-/* 0473C 80930D0C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0473C 80930D0C 0C029490 */ jal Animation_MorphToPlayOnce
/* 04740 80930D10 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 04744 80930D14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 04748 80930D18 0C24CF20 */ jal func_80933C80
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930D70.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930D70.s
index 8f3d1c3189..e5b7f3f227 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930D70.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930D70.s
@@ -6,7 +6,7 @@ glabel func_80930D70
/* 047B0 80930D80 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 047B4 80930D84 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 047B8 80930D88 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 047BC 80930D8C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 047BC 80930D8C 0C02927F */ jal SkelAnime_Update
/* 047C0 80930D90 AFAF002C */ sw $t7, 0x002C($sp)
/* 047C4 80930D94 8618019A */ lh $t8, 0x019A($s0) ## 0000019A
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930F80.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930F80.s
index 397b728b29..9bbd5af93e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930F80.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930F80.s
@@ -15,7 +15,7 @@ glabel func_80930F80
/* 049E4 80930FB4 00A82821 */ addu $a1, $a1, $t0
/* 049E8 80930FB8 8CA5787C */ lw $a1, %lo(D_8093787C)($a1)
/* 049EC 80930FBC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 049F0 80930FC0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 049F0 80930FC0 0C029490 */ jal Animation_MorphToPlayOnce
/* 049F4 80930FC4 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 049F8 80930FC8 8FA70018 */ lw $a3, 0x0018($sp)
/* 049FC 80930FCC 3C098093 */ lui $t1, %hi(func_80930FE8) ## $t1 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930FE8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930FE8.s
index ca6381237b..70bf11796a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930FE8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80930FE8.s
@@ -11,7 +11,7 @@ glabel func_80930FE8
/* 04A38 80931008 24060400 */ addiu $a2, $zero, 0x0400 ## $a2 = 00000400
/* 04A3C 8093100C 8FA40020 */ lw $a0, 0x0020($sp)
/* 04A40 80931010 AFA2001C */ sw $v0, 0x001C($sp)
-/* 04A44 80931014 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04A44 80931014 0C02927F */ jal SkelAnime_Update
/* 04A48 80931018 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 04A4C 8093101C 10400005 */ beq $v0, $zero, .L80931034
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931044.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931044.s
index c46d6076a6..2fe3dc77cb 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931044.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931044.s
@@ -12,7 +12,7 @@ glabel func_80931044
/* 04A9C 8093106C 000E7880 */ sll $t7, $t6, 2
/* 04AA0 80931070 00AF2821 */ addu $a1, $a1, $t7
/* 04AA4 80931074 8CA57864 */ lw $a1, %lo(D_80937864)($a1)
-/* 04AA8 80931078 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04AA8 80931078 0C029490 */ jal Animation_MorphToPlayOnce
/* 04AAC 8093107C 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 04AB0 80931080 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 04AB4 80931084 0C24CF3B */ jal func_80933CEC
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809310CC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809310CC.s
index 208e8aa6a3..c03363dbd5 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809310CC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809310CC.s
@@ -4,7 +4,7 @@ glabel func_809310CC
/* 04B04 809310D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 04B08 809310D8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 04B0C 809310DC AFA5002C */ sw $a1, 0x002C($sp)
-/* 04B10 809310E0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04B10 809310E0 0C02927F */ jal SkelAnime_Update
/* 04B14 809310E4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 04B18 809310E8 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00000028
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931210.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931210.s
index 8bdc62339f..f01330850e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931210.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931210.s
@@ -26,7 +26,7 @@ glabel func_80931210
/* 04C9C 8093126C 000B6080 */ sll $t4, $t3, 2
/* 04CA0 80931270 00AC2821 */ addu $a1, $a1, $t4
/* 04CA4 80931274 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
-/* 04CA8 80931278 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04CA8 80931278 0C029490 */ jal Animation_MorphToPlayOnce
/* 04CAC 8093127C 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 04CB0 80931280 3C058094 */ lui $a1, %hi(D_80938C90) ## $a1 = 80940000
/* 04CB4 80931284 8CA58C90 */ lw $a1, %lo(D_80938C90)($a1)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931300.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931300.s
index 5b08037bd1..bb3745c80d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931300.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931300.s
@@ -26,7 +26,7 @@ glabel func_80931300
.L8093135C:
/* 04D8C 8093135C 5700005A */ bnel $t8, $zero, .L809314C8
/* 04D90 80931360 8E0E011C */ lw $t6, 0x011C($s0) ## 0000011C
-/* 04D94 80931364 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04D94 80931364 0C02927F */ jal SkelAnime_Update
/* 04D98 80931368 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 04D9C 8093136C A2020195 */ sb $v0, 0x0195($s0) ## 00000195
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809314F0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809314F0.s
index e617107a6e..f934262b3e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809314F0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809314F0.s
@@ -9,7 +9,7 @@ glabel func_809314F0
/* 04F3C 8093150C 00AF2821 */ addu $a1, $a1, $t7
/* 04F40 80931510 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
/* 04F44 80931514 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 04F48 80931518 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04F48 80931518 0C029490 */ jal Animation_MorphToPlayOnce
/* 04F4C 8093151C 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 04F50 80931520 8FA40018 */ lw $a0, 0x0018($sp)
/* 04F54 80931524 24180240 */ addiu $t8, $zero, 0x0240 ## $t8 = 00000240
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931560.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931560.s
index 5b939a6b1b..37677f52f3 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931560.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931560.s
@@ -6,7 +6,7 @@ glabel func_80931560
/* 04FA0 80931570 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 04FA4 80931574 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 04FA8 80931578 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 04FAC 8093157C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04FAC 8093157C 0C02927F */ jal SkelAnime_Update
/* 04FB0 80931580 AFAF0024 */ sw $t7, 0x0024($sp)
/* 04FB4 80931584 86030198 */ lh $v1, 0x0198($s0) ## 00000198
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931788.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931788.s
index ee789cf05c..2e7905f48a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931788.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931788.s
@@ -14,7 +14,7 @@ glabel func_80931788
/* 051E8 809317B8 00A92821 */ addu $a1, $a1, $t1
/* 051EC 809317BC 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
/* 051F0 809317C0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 051F4 809317C4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 051F4 809317C4 0C029490 */ jal Animation_MorphToPlayOnce
/* 051F8 809317C8 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 051FC 809317CC 8FA70018 */ lw $a3, 0x0018($sp)
/* 05200 809317D0 3C0C8093 */ lui $t4, %hi(func_809317F8) ## $t4 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809317F8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809317F8.s
index cc8dc060fc..d7a41ddbc6 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809317F8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809317F8.s
@@ -4,7 +4,7 @@ glabel func_809317F8
/* 05230 80931800 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 05234 80931804 AFBF001C */ sw $ra, 0x001C($sp)
/* 05238 80931808 AFA50024 */ sw $a1, 0x0024($sp)
-/* 0523C 8093180C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0523C 8093180C 0C02927F */ jal SkelAnime_Update
/* 05240 80931810 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 05244 80931814 260400B8 */ addiu $a0, $s0, 0x00B8 ## $a0 = 000000B8
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809318A0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809318A0.s
index ab7ae67e39..e87d73e607 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809318A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809318A0.s
@@ -15,7 +15,7 @@ glabel func_809318A0
/* 05304 809318D4 00A82821 */ addu $a1, $a1, $t0
/* 05308 809318D8 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
/* 0530C 809318DC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 05310 809318E0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05310 809318E0 0C029490 */ jal Animation_MorphToPlayOnce
/* 05314 809318E4 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 05318 809318E8 8FA70018 */ lw $a3, 0x0018($sp)
/* 0531C 809318EC 3C0B8093 */ lui $t3, %hi(func_80931928) ## $t3 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931928.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931928.s
index 908aafa4e6..a854e1a4e1 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931928.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931928.s
@@ -4,7 +4,7 @@ glabel func_80931928
/* 05360 80931930 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 05364 80931934 AFBF0024 */ sw $ra, 0x0024($sp)
/* 05368 80931938 AFA50034 */ sw $a1, 0x0034($sp)
-/* 0536C 8093193C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0536C 8093193C 0C02927F */ jal SkelAnime_Update
/* 05370 80931940 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 05374 80931944 860501A6 */ lh $a1, 0x01A6($s0) ## 000001A6
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809319D0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809319D0.s
index ada87832fc..f8a97e93d9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809319D0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809319D0.s
@@ -9,7 +9,7 @@ glabel func_809319D0
/* 0541C 809319EC 00AF2821 */ addu $a1, $a1, $t7
/* 05420 809319F0 8CA57864 */ lw $a1, %lo(D_80937864)($a1)
/* 05424 809319F4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 05428 809319F8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05428 809319F8 0C029490 */ jal Animation_MorphToPlayOnce
/* 0542C 809319FC 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 05430 80931A00 8FA40018 */ lw $a0, 0x0018($sp)
/* 05434 80931A04 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931A5C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931A5C.s
index 7fe6162aef..4ff8b63b42 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931A5C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931A5C.s
@@ -60,7 +60,7 @@ glabel func_80931A5C
/* 05550 80931B20 0C01E0C4 */ jal Math_SmoothStepToF
/* 05554 80931B24 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 05558 80931B28 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05558 80931B28 0C02927F */ jal SkelAnime_Update
/* 0555C 80931B2C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 05560 80931B30 50400041 */ beql $v0, $zero, .L80931C38
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931D04.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931D04.s
index b7e670c848..474d3cbe43 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931D04.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931D04.s
@@ -9,7 +9,7 @@ glabel func_80931D04
/* 05750 80931D20 00AF2821 */ addu $a1, $a1, $t7
/* 05754 80931D24 8CA5786C */ lw $a1, %lo(D_8093786C)($a1)
/* 05758 80931D28 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0575C 80931D2C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0575C 80931D2C 0C0294D3 */ jal Animation_MorphToLoop
/* 05760 80931D30 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 05764 80931D34 8FA70018 */ lw $a3, 0x0018($sp)
/* 05768 80931D38 3C198093 */ lui $t9, %hi(func_80931D5C) ## $t9 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931D5C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931D5C.s
index 411661c17f..64074f1b12 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931D5C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931D5C.s
@@ -7,7 +7,7 @@ glabel func_80931D5C
/* 057A0 80931D70 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 057A4 80931D74 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 057A8 80931D78 AFA40020 */ sw $a0, 0x0020($sp)
-/* 057AC 80931D7C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 057AC 80931D7C 0C02927F */ jal SkelAnime_Update
/* 057B0 80931D80 AFA60024 */ sw $a2, 0x0024($sp)
/* 057B4 80931D84 86030198 */ lh $v1, 0x0198($s0) ## 00000198
@@ -63,7 +63,7 @@ glabel func_80931D5C
/* 0586C 80931E3C 00000000 */ nop
/* 05870 80931E40 8FA40020 */ lw $a0, 0x0020($sp)
.L80931E44:
-/* 05874 80931E44 0C0295B2 */ jal func_800A56C8
+/* 05874 80931E44 0C0295B2 */ jal Animation_OnFrame
/* 05878 80931E48 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 0587C 80931E4C 10400003 */ beq $v0, $zero, .L80931E5C
/* 05880 80931E50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931E70.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931E70.s
index feabd23c84..7e3a7b193f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931E70.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931E70.s
@@ -9,7 +9,7 @@ glabel func_80931E70
/* 058BC 80931E8C 00AF2821 */ addu $a1, $a1, $t7
/* 058C0 80931E90 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
/* 058C4 80931E94 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 058C8 80931E98 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 058C8 80931E98 0C029490 */ jal Animation_MorphToPlayOnce
/* 058CC 80931E9C 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 058D0 80931EA0 8FA70018 */ lw $a3, 0x0018($sp)
/* 058D4 80931EA4 3C188093 */ lui $t8, %hi(func_80931EC0) ## $t8 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931EC0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931EC0.s
index 523f771786..5021bf7507 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931EC0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931EC0.s
@@ -3,7 +3,7 @@ glabel func_80931EC0
/* 058F4 80931EC4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 058F8 80931EC8 AFA40018 */ sw $a0, 0x0018($sp)
/* 058FC 80931ECC AFA5001C */ sw $a1, 0x001C($sp)
-/* 05900 80931ED0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05900 80931ED0 0C02927F */ jal SkelAnime_Update
/* 05904 80931ED4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 05908 80931ED8 50400004 */ beql $v0, $zero, .L80931EEC
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931F84.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931F84.s
index 731f282320..0278c6bdef 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931F84.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80931F84.s
@@ -35,7 +35,7 @@ glabel func_80931F84
/* 05A34 80932004 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 05A38 80932008 00194080 */ sll $t0, $t9, 2
/* 05A3C 8093200C 00A82821 */ addu $a1, $a1, $t0
-/* 05A40 80932010 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05A40 80932010 0C029490 */ jal Animation_MorphToPlayOnce
/* 05A44 80932014 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
/* 05A48 80932018 10000016 */ beq $zero, $zero, .L80932074
/* 05A4C 8093201C 860400B4 */ lh $a0, 0x00B4($s0) ## 000000B4
@@ -177,7 +177,7 @@ glabel func_80931F84
/* 05C1C 809321EC 861801A2 */ lh $t8, 0x01A2($s0) ## 000001A2
/* 05C20 809321F0 57000029 */ bnel $t8, $zero, .L80932298
/* 05C24 809321F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 05C28 809321F8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05C28 809321F8 0C02927F */ jal SkelAnime_Update
/* 05C2C 809321FC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 05C30 80932200 50400025 */ beql $v0, $zero, .L80932298
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809322B4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809322B4.s
index e3fff4ad9e..720910a33d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809322B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809322B4.s
@@ -15,7 +15,7 @@ glabel func_809322B4
/* 05D18 809322E8 00194080 */ sll $t0, $t9, 2
/* 05D1C 809322EC 00A82821 */ addu $a1, $a1, $t0
/* 05D20 809322F0 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
-/* 05D24 809322F4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05D24 809322F4 0C029490 */ jal Animation_MorphToPlayOnce
/* 05D28 809322F8 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 05D2C 809322FC 24090024 */ addiu $t1, $zero, 0x0024 ## $t1 = 00000024
/* 05D30 80932300 A6090198 */ sh $t1, 0x0198($s0) ## 00000198
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093234C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093234C.s
index 5072c7718a..09bf2eea4a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093234C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093234C.s
@@ -5,7 +5,7 @@ glabel func_8093234C
/* 05D88 80932358 AFBF001C */ sw $ra, 0x001C($sp)
/* 05D8C 8093235C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 05D90 80932360 AFA5002C */ sw $a1, 0x002C($sp)
-/* 05D94 80932364 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05D94 80932364 0C02927F */ jal SkelAnime_Update
/* 05D98 80932368 AFA40020 */ sw $a0, 0x0020($sp)
/* 05D9C 8093236C 86020198 */ lh $v0, 0x0198($s0) ## 00000198
@@ -36,7 +36,7 @@ glabel func_8093234C
/* 05DF4 809323C4 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 05DF8 809323C8 00194080 */ sll $t0, $t9, 2
/* 05DFC 809323CC 00A82821 */ addu $a1, $a1, $t0
-/* 05E00 809323D0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05E00 809323D0 0C029490 */ jal Animation_MorphToPlayOnce
/* 05E04 809323D4 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
/* 05E08 809323D8 10000009 */ beq $zero, $zero, .L80932400
/* 05E0C 809323DC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
@@ -46,7 +46,7 @@ glabel func_8093234C
/* 05E18 809323E8 3C0640C0 */ lui $a2, 0x40C0 ## $a2 = 40C00000
/* 05E1C 809323EC 00095080 */ sll $t2, $t1, 2
/* 05E20 809323F0 00AA2821 */ addu $a1, $a1, $t2
-/* 05E24 809323F4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05E24 809323F4 0C029490 */ jal Animation_MorphToPlayOnce
/* 05E28 809323F8 8CA57864 */ lw $a1, %lo(D_80937864)($a1)
/* 05E2C 809323FC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
.L80932400:
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809324A4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809324A4.s
index ffb1475641..62d93a4904 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809324A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809324A4.s
@@ -9,7 +9,7 @@ glabel func_809324A4
/* 05EF0 809324C0 00AF2821 */ addu $a1, $a1, $t7
/* 05EF4 809324C4 8CA57874 */ lw $a1, %lo(D_80937874)($a1)
/* 05EF8 809324C8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 05EFC 809324CC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05EFC 809324CC 0C029490 */ jal Animation_MorphToPlayOnce
/* 05F00 809324D0 3C064100 */ lui $a2, 0x4100 ## $a2 = 41000000
/* 05F04 809324D4 8FA70018 */ lw $a3, 0x0018($sp)
/* 05F08 809324D8 3C188093 */ lui $t8, %hi(func_809324F4) ## $t8 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932674.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932674.s
index ce67c588cf..7b59ee9414 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932674.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932674.s
@@ -11,7 +11,7 @@ glabel func_80932674
/* 060AC 8093267C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 060B0 80932680 AFBF001C */ sw $ra, 0x001C($sp)
/* 060B4 80932684 AFA50024 */ sw $a1, 0x0024($sp)
-/* 060B8 80932688 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 060B8 80932688 0C02927F */ jal SkelAnime_Update
/* 060BC 8093268C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 060C0 80932690 86020198 */ lh $v0, 0x0198($s0) ## 00000198
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932808.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932808.s
index cbc9860bab..957213a176 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932808.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932808.s
@@ -9,7 +9,7 @@ glabel func_80932808
/* 06254 80932824 00AF2821 */ addu $a1, $a1, $t7
/* 06258 80932828 8CA57864 */ lw $a1, %lo(D_80937864)($a1)
/* 0625C 8093282C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 06260 80932830 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06260 80932830 0C029490 */ jal Animation_MorphToPlayOnce
/* 06264 80932834 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 06268 80932838 8FA70018 */ lw $a3, 0x0018($sp)
/* 0626C 8093283C 3C188093 */ lui $t8, %hi(func_8093285C) ## $t8 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093285C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093285C.s
index 433cede788..62d2789b17 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093285C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093285C.s
@@ -7,7 +7,7 @@ glabel func_8093285C
/* 062A0 80932870 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 062A4 80932874 55C00038 */ bnel $t6, $zero, .L80932958
/* 062A8 80932878 920903E4 */ lbu $t1, 0x03E4($s0) ## 000003E4
-/* 062AC 8093287C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 062AC 8093287C 0C02927F */ jal SkelAnime_Update
/* 062B0 80932880 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 062B4 80932884 A2020195 */ sb $v0, 0x0195($s0) ## 00000195
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809329D4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809329D4.s
index 8af770f19a..6fda717fdd 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809329D4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809329D4.s
@@ -9,7 +9,7 @@ glabel func_809329D4
/* 06420 809329F0 000E7880 */ sll $t7, $t6, 2
/* 06424 809329F4 00AF2821 */ addu $a1, $a1, $t7
/* 06428 809329F8 8CA5784C */ lw $a1, %lo(D_8093784C)($a1)
-/* 0642C 809329FC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0642C 809329FC 0C029490 */ jal Animation_MorphToPlayOnce
/* 06430 80932A00 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 06434 80932A04 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
/* 06438 80932A08 3C188093 */ lui $t8, %hi(func_80932C38) ## $t8 = 80930000
@@ -27,7 +27,7 @@ glabel func_809329D4
/* 06464 80932A34 0C24CF3B */ jal func_80933CEC
/* 06468 80932A38 A20B03E5 */ sb $t3, 0x03E5($s0) ## 000003E5
/* 0646C 80932A3C 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
-/* 06470 80932A40 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06470 80932A40 0C028800 */ jal Animation_GetLastFrame
/* 06474 80932A44 2484B6FC */ addiu $a0, $a0, 0xB6FC ## $a0 = 0600B6FC
/* 06478 80932A48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932A80.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932A80.s
index 8e8b70f976..b6d92a6892 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932A80.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932A80.s
@@ -5,7 +5,7 @@ glabel func_80932A80
/* 064BC 80932A8C AFBF001C */ sw $ra, 0x001C($sp)
/* 064C0 80932A90 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 064C4 80932A94 AFA5002C */ sw $a1, 0x002C($sp)
-/* 064C8 80932A98 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 064C8 80932A98 0C02927F */ jal SkelAnime_Update
/* 064CC 80932A9C AFA40020 */ sw $a0, 0x0020($sp)
/* 064D0 80932AA0 3C0E8094 */ lui $t6, %hi(D_80938C90) ## $t6 = 80940000
@@ -85,7 +85,7 @@ glabel func_80932A80
/* 065D4 80932BA4 8FA40020 */ lw $a0, 0x0020($sp)
/* 065D8 80932BA8 000B6080 */ sll $t4, $t3, 2
/* 065DC 80932BAC 00AC2821 */ addu $a1, $a1, $t4
-/* 065E0 80932BB0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 065E0 80932BB0 0C029490 */ jal Animation_MorphToPlayOnce
/* 065E4 80932BB4 8CA57874 */ lw $a1, %lo(D_80937874)($a1)
/* 065E8 80932BB8 10000004 */ beq $zero, $zero, .L80932BCC
/* 065EC 80932BBC 8FBF001C */ lw $ra, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932BDC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932BDC.s
index 81582cb463..f7dc88f98e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932BDC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932BDC.s
@@ -10,7 +10,7 @@ glabel func_80932BDC
/* 0662C 80932BFC 00AF2821 */ addu $a1, $a1, $t7
/* 06630 80932C00 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
/* 06634 80932C04 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 06638 80932C08 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06638 80932C08 0C029490 */ jal Animation_MorphToPlayOnce
/* 0663C 80932C0C 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 06640 80932C10 8FA70018 */ lw $a3, 0x0018($sp)
/* 06644 80932C14 3C198093 */ lui $t9, %hi(func_80932C38) ## $t9 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932C38.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932C38.s
index cbf865df33..3381cc75e9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932C38.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932C38.s
@@ -9,7 +9,7 @@ glabel func_80932C38
/* 06684 80932C54 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 06688 80932C58 A48E0198 */ sh $t6, 0x0198($a0) ## 00000198
.L80932C5C:
-/* 0668C 80932C5C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0668C 80932C5C 0C02927F */ jal SkelAnime_Update
/* 06690 80932C60 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 06694 80932C64 860F0198 */ lh $t7, 0x0198($s0) ## 00000198
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932D10.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932D10.s
index ec116181c0..667f3184f6 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932D10.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932D10.s
@@ -15,7 +15,7 @@ glabel func_80932D10
/* 06774 80932D44 00A82821 */ addu $a1, $a1, $t0
/* 06778 80932D48 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
/* 0677C 80932D4C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 06780 80932D50 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06780 80932D50 0C029490 */ jal Animation_MorphToPlayOnce
/* 06784 80932D54 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 06788 80932D58 8FA70018 */ lw $a3, 0x0018($sp)
/* 0678C 80932D5C 240900A0 */ addiu $t1, $zero, 0x00A0 ## $t1 = 000000A0
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932DAC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932DAC.s
index 24e23ae57f..11c0f91783 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932DAC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932DAC.s
@@ -10,7 +10,7 @@ glabel func_80932DAC
/* 067FC 80932DCC A48E0198 */ sh $t6, 0x0198($a0) ## 00000198
.L80932DD0:
/* 06800 80932DD0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 06804 80932DD4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06804 80932DD4 0C02927F */ jal SkelAnime_Update
/* 06808 80932DD8 AFA40020 */ sw $a0, 0x0020($sp)
/* 0680C 80932DDC 3C0F8094 */ lui $t7, %hi(D_80938C90) ## $t7 = 80940000
@@ -64,7 +64,7 @@ glabel func_80932DAC
/* 068B8 80932E88 8FA40020 */ lw $a0, 0x0020($sp)
/* 068BC 80932E8C 00084880 */ sll $t1, $t0, 2
/* 068C0 80932E90 00A92821 */ addu $a1, $a1, $t1
-/* 068C4 80932E94 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 068C4 80932E94 0C029490 */ jal Animation_MorphToPlayOnce
/* 068C8 80932E98 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
/* 068CC 80932E9C 1000000E */ beq $zero, $zero, .L80932ED8
/* 068D0 80932EA0 860D0198 */ lh $t5, 0x0198($s0) ## 00000198
@@ -80,7 +80,7 @@ glabel func_80932DAC
/* 068F0 80932EC0 00AC2821 */ addu $a1, $a1, $t4
/* 068F4 80932EC4 8CA5785C */ lw $a1, %lo(D_8093785C)($a1)
/* 068F8 80932EC8 8FA40020 */ lw $a0, 0x0020($sp)
-/* 068FC 80932ECC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 068FC 80932ECC 0C029490 */ jal Animation_MorphToPlayOnce
/* 06900 80932ED0 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 06904 80932ED4 860D0198 */ lh $t5, 0x0198($s0) ## 00000198
.L80932ED8:
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932FA0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932FA0.s
index 5e2af41a28..db570737e9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932FA0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932FA0.s
@@ -9,7 +9,7 @@ glabel func_80932FA0
/* 069EC 80932FBC 00AF2821 */ addu $a1, $a1, $t7
/* 069F0 80932FC0 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
/* 069F4 80932FC4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 069F8 80932FC8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 069F8 80932FC8 0C029490 */ jal Animation_MorphToPlayOnce
/* 069FC 80932FCC 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 06A00 80932FD0 8FA70018 */ lw $a3, 0x0018($sp)
/* 06A04 80932FD4 3C188093 */ lui $t8, %hi(func_80932FF0) ## $t8 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932FF0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932FF0.s
index d71bff96ce..e781ea0280 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932FF0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80932FF0.s
@@ -4,7 +4,7 @@ glabel func_80932FF0
/* 06A28 80932FF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 06A2C 80932FFC AFBF001C */ sw $ra, 0x001C($sp)
/* 06A30 80933000 AFA50024 */ sw $a1, 0x0024($sp)
-/* 06A34 80933004 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06A34 80933004 0C02927F */ jal SkelAnime_Update
/* 06A38 80933008 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 06A3C 8093300C 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933064.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933064.s
index 93094dd4a4..048ab2aa97 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933064.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933064.s
@@ -9,7 +9,7 @@ glabel func_80933064
/* 06AB0 80933080 00AF2821 */ addu $a1, $a1, $t7
/* 06AB4 80933084 8CA57854 */ lw $a1, %lo(D_80937854)($a1)
/* 06AB8 80933088 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 06ABC 8093308C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06ABC 8093308C 0C029490 */ jal Animation_MorphToPlayOnce
/* 06AC0 80933090 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 06AC4 80933094 8FA70018 */ lw $a3, 0x0018($sp)
/* 06AC8 80933098 3C188093 */ lui $t8, %hi(func_809330B4) ## $t8 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809330B4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809330B4.s
index 6e94f9b64e..9bda0b8166 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809330B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809330B4.s
@@ -3,7 +3,7 @@ glabel func_809330B4
/* 06AE8 809330B8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 06AEC 809330BC AFA40018 */ sw $a0, 0x0018($sp)
/* 06AF0 809330C0 AFA5001C */ sw $a1, 0x001C($sp)
-/* 06AF4 809330C4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06AF4 809330C4 0C02927F */ jal SkelAnime_Update
/* 06AF8 809330C8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 06AFC 809330CC 8FA40018 */ lw $a0, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093323C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093323C.s
index b627f18dfe..bce100af09 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093323C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093323C.s
@@ -9,7 +9,7 @@ glabel func_8093323C
/* 06C88 80933258 00AF2821 */ addu $a1, $a1, $t7
/* 06C8C 8093325C 8CA5787C */ lw $a1, %lo(D_8093787C)($a1)
/* 06C90 80933260 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 06C94 80933264 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06C94 80933264 0C029490 */ jal Animation_MorphToPlayOnce
/* 06C98 80933268 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 06C9C 8093326C 8FA70018 */ lw $a3, 0x0018($sp)
/* 06CA0 80933270 3C188093 */ lui $t8, %hi(func_80933290) ## $t8 = 80930000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933290.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933290.s
index a05652792e..a0836365e2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933290.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933290.s
@@ -14,7 +14,7 @@ glabel func_80933290
/* 06CF0 809332C0 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 06CF4 809332C4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 06CF8 809332C8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06CF8 809332C8 0C02927F */ jal SkelAnime_Update
/* 06CFC 809332CC AFA4002C */ sw $a0, 0x002C($sp)
/* 06D00 809332D0 1040000D */ beq $v0, $zero, .L80933308
@@ -27,7 +27,7 @@ glabel func_80933290
/* 06D1C 809332EC 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 06D20 809332F0 000FC080 */ sll $t8, $t7, 2
/* 06D24 809332F4 00B82821 */ addu $a1, $a1, $t8
-/* 06D28 809332F8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06D28 809332F8 0C029490 */ jal Animation_MorphToPlayOnce
/* 06D2C 809332FC 8CA57884 */ lw $a1, %lo(D_80937884)($a1)
/* 06D30 80933300 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 06D34 80933304 A2190195 */ sb $t9, 0x0195($s0) ## 00000195
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933554.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933554.s
index 46bf4b12ad..31a64940f3 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933554.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933554.s
@@ -15,7 +15,7 @@ glabel func_80933554
/* 06FB8 80933588 00194080 */ sll $t0, $t9, 2
/* 06FBC 8093358C 00A82821 */ addu $a1, $a1, $t0
/* 06FC0 80933590 8CA57864 */ lw $a1, %lo(D_80937864)($a1)
-/* 06FC4 80933594 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06FC4 80933594 0C029490 */ jal Animation_MorphToPlayOnce
/* 06FC8 80933598 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 06FCC 8093359C 92090196 */ lbu $t1, 0x0196($s0) ## 00000196
/* 06FD0 809335A0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933608.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933608.s
index ef8c45c074..2fa60637af 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933608.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_80933608.s
@@ -65,7 +65,7 @@ glabel func_80933608
/* 07114 809336E4 46080402 */ mul.s $f16, $f0, $f8
/* 07118 809336E8 C70603D0 */ lwc1 $f6, 0x03D0($t8) ## 000003D0
/* 0711C 809336EC 46103281 */ sub.s $f10, $f6, $f16
-/* 07120 809336F0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 07120 809336F0 0C02927F */ jal SkelAnime_Update
/* 07124 809336F4 E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C
/* 07128 809336F8 50400006 */ beql $v0, $zero, .L80933714
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093639C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093639C.s
index a1d9dff305..40ef37ae3d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093639C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_8093639C.s
@@ -255,12 +255,12 @@ glabel func_8093639C
/* 0A118 809366E8 26700700 */ addiu $s0, $s3, 0x0700 ## $s0 = 00000700
/* 0A11C 809366EC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0A120 809366F0 11E0003E */ beq $t7, $zero, .L809367EC
-/* 0A124 809366F4 3C150402 */ lui $s5, 0x0402 ## $s5 = 04020000
+/* 0A124 809366F4 3C150402 */ lui $s5, %hi(D_040184B0) ## $s5 = 04020000
/* 0A128 809366F8 C60C0000 */ lwc1 $f12, 0x0000($s0) ## 00000700
/* 0A12C 809366FC C60E0004 */ lwc1 $f14, 0x0004($s0) ## 00000704
/* 0A130 80936700 8E060008 */ lw $a2, 0x0008($s0) ## 00000708
/* 0A134 80936704 0C034261 */ jal Matrix_Translate
-/* 0A138 80936708 26B584B0 */ addiu $s5, $s5, 0x84B0 ## $s5 = 040184B0
+/* 0A138 80936708 26B584B0 */ addiu $s5, $s5, %lo(D_040184B0) ## $s5 = 040184B0
/* 0A13C 8093670C 9618001E */ lhu $t8, 0x001E($s0) ## 0000071E
/* 0A140 80936710 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 0A144 80936714 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/BossTw_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/BossTw_Init.s
index ec824ab0be..5834e50390 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/BossTw_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/BossTw_Init.s
@@ -312,7 +312,7 @@ glabel BossTw_Init
/* 00E54 80939B24 3C050600 */ lui $a1, %hi(D_06006F28) ## $a1 = 06000000
/* 00E58 80939B28 24A56F28 */ addiu $a1, $a1, %lo(D_06006F28) ## $a1 = 06006F28
/* 00E5C 80939B2C 8FA40048 */ lw $a0, 0x0048($sp)
-/* 00E60 80939B30 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00E60 80939B30 0C0294D3 */ jal Animation_MorphToLoop
/* 00E64 80939B34 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00E68 80939B38 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 00E6C 80939B3C 100000BF */ beq $zero, $zero, .L80939E3C
@@ -364,7 +364,7 @@ glabel BossTw_Init
/* 00F14 80939BE4 3C050600 */ lui $a1, %hi(D_06006F28) ## $a1 = 06000000
/* 00F18 80939BE8 24A56F28 */ addiu $a1, $a1, %lo(D_06006F28) ## $a1 = 06006F28
/* 00F1C 80939BEC 8FA40048 */ lw $a0, 0x0048($sp)
-/* 00F20 80939BF0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00F20 80939BF0 0C0294D3 */ jal Animation_MorphToLoop
/* 00F24 80939BF4 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00F28 80939BF8 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 00F2C 80939BFC 1000008F */ beq $zero, $zero, .L80939E3C
@@ -399,7 +399,7 @@ glabel BossTw_Init
/* 00F98 80939C68 3C050602 */ lui $a1, %hi(D_060244B4) ## $a1 = 06020000
/* 00F9C 80939C6C 24A544B4 */ addiu $a1, $a1, %lo(D_060244B4) ## $a1 = 060244B4
/* 00FA0 80939C70 8FA40048 */ lw $a0, 0x0048($sp)
-/* 00FA4 80939C74 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00FA4 80939C74 0C0294D3 */ jal Animation_MorphToLoop
/* 00FA8 80939C78 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00FAC 80939C7C 3C0E8016 */ lui $t6, %hi(gSaveContext+0xee2)
/* 00FB0 80939C80 95CEF542 */ lhu $t6, %lo(gSaveContext+0xee2)($t6)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80939F88.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80939F88.s
index b98af58f40..1981e10a61 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80939F88.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80939F88.s
@@ -6,7 +6,7 @@ glabel func_80939F88
/* 012C8 80939F98 8C8E0118 */ lw $t6, 0x0118($a0) ## 00000118
/* 012CC 80939F9C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 012D0 80939FA0 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 012D4 80939FA4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 012D4 80939FA4 0C02927F */ jal SkelAnime_Update
/* 012D8 80939FA8 AFAE0024 */ sw $t6, 0x0024($sp)
/* 012DC 80939FAC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A0A8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A0A8.s
index 0f01bf83f5..4d3b433982 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A0A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A0A8.s
@@ -24,7 +24,7 @@ glabel func_8093A0A8
/* 0141C 8093A0EC 24A56F28 */ addiu $a1, $a1, %lo(D_06006F28) ## $a1 = 06006F28
/* 01420 8093A0F0 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 01424 8093A0F4 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
-/* 01428 8093A0F8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01428 8093A0F8 0C0294D3 */ jal Animation_MorphToLoop
/* 0142C 8093A0FC E484FF60 */ swc1 $f4, -0x00A0($a0) ## 000004C8
/* 01430 8093A100 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A2AC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A2AC.s
index 6f558cae06..3ae11d830b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A2AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A2AC.s
@@ -20,7 +20,7 @@ glabel func_8093A2AC
/* 01604 8093A2D4 0C01E107 */ jal Math_ApproachF
/* 01608 8093A2D8 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
-/* 0160C 8093A2DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0160C 8093A2DC 0C02927F */ jal SkelAnime_Update
/* 01610 8093A2E0 26040568 */ addiu $a0, $s0, 0x0568 ## $a0 = 00000568
/* 01614 8093A2E4 C60804B4 */ lwc1 $f8, 0x04B4($s0) ## 000004B4
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A4DC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A4DC.s
index 04fa04897a..e3a8d02d53 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A4DC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093A4DC.s
@@ -17,10 +17,10 @@ glabel func_8093A4DC
/* 01834 8093A504 24A57688 */ addiu $a1, $a1, %lo(D_06007688) ## $a1 = 06007688
/* 01838 8093A508 AFA70020 */ sw $a3, 0x0020($sp)
/* 0183C 8093A50C 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 01840 8093A510 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01840 8093A510 0C029490 */ jal Animation_MorphToPlayOnce
/* 01844 8093A514 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01848 8093A518 3C040600 */ lui $a0, %hi(D_06007688) ## $a0 = 06000000
-/* 0184C 8093A51C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0184C 8093A51C 0C028800 */ jal Animation_GetLastFrame
/* 01850 8093A520 24847688 */ addiu $a0, $a0, %lo(D_06007688) ## $a0 = 06007688
/* 01854 8093A524 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093B1AC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093B1AC.s
index 0e9fa110fc..274b640966 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093B1AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093B1AC.s
@@ -53,7 +53,7 @@ glabel func_8093B1AC
/* 02558 8093B228 3C073E80 */ lui $a3, 0x3E80 ## $a3 = 3E800000
/* 0255C 8093B22C 26A40568 */ addiu $a0, $s5, 0x0568 ## $a0 = 00000568
-/* 02560 8093B230 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02560 8093B230 0C02927F */ jal SkelAnime_Update
/* 02564 8093B234 AFA40074 */ sw $a0, 0x0074($sp)
/* 02568 8093B238 3C018095 */ lui $at, %hi(D_8094AEF4) ## $at = 80950000
@@ -326,13 +326,13 @@ glabel func_8093B1AC
/* 02918 8093B5E8 3C074000 */ lui $a3, 0x4000 ## $a3 = 40000000
.L8093B5EC:
/* 0291C 8093B5EC 8FA40074 */ lw $a0, 0x0074($sp)
-/* 02920 8093B5F0 0C0295B2 */ jal func_800A56C8
+/* 02920 8093B5F0 0C0295B2 */ jal Animation_OnFrame
/* 02924 8093B5F4 8EA501A4 */ lw $a1, 0x01A4($s5) ## 000001A4
/* 02928 8093B5F8 10400008 */ beq $v0, $zero, .L8093B61C
/* 0292C 8093B5FC 8FA40074 */ lw $a0, 0x0074($sp)
/* 02930 8093B600 3C050601 */ lui $a1, %hi(D_06009398) ## $a1 = 06010000
/* 02934 8093B604 4406B000 */ mfc1 $a2, $f22
-/* 02938 8093B608 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 02938 8093B608 0C0294D3 */ jal Animation_MorphToLoop
/* 0293C 8093B60C 24A59398 */ addiu $a1, $a1, %lo(D_06009398) ## $a1 = 06009398
/* 02940 8093B610 3C018095 */ lui $at, %hi(D_8094AF00) ## $at = 80950000
/* 02944 8093B614 C42AAF00 */ lwc1 $f10, %lo(D_8094AF00)($at)
@@ -345,9 +345,9 @@ glabel func_8093B1AC
/* 0295C 8093B62C 26103614 */ addiu $s0, $s0, %lo(D_06003614) ## $s0 = 06003614
/* 02960 8093B630 4406B000 */ mfc1 $a2, $f22
/* 02964 8093B634 8FA40074 */ lw $a0, 0x0074($sp)
-/* 02968 8093B638 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 02968 8093B638 0C029490 */ jal Animation_MorphToPlayOnce
/* 0296C 8093B63C 02002825 */ or $a1, $s0, $zero ## $a1 = 06003614
-/* 02970 8093B640 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02970 8093B640 0C028800 */ jal Animation_GetLastFrame
/* 02974 8093B644 02002025 */ or $a0, $s0, $zero ## $a0 = 06003614
/* 02978 8093B648 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -363,7 +363,7 @@ glabel func_8093B1AC
/* 0299C 8093B66C 26B3050C */ addiu $s3, $s5, 0x050C ## $s3 = 0000050C
.L8093B670:
/* 029A0 8093B670 8FA40074 */ lw $a0, 0x0074($sp)
-/* 029A4 8093B674 0C0295B2 */ jal func_800A56C8
+/* 029A4 8093B674 0C0295B2 */ jal Animation_OnFrame
/* 029A8 8093B678 8EA501A4 */ lw $a1, 0x01A4($s5) ## 000001A4
/* 029AC 8093B67C 5040000B */ beql $v0, $zero, .L8093B6AC
/* 029B0 8093B680 C6A801A4 */ lwc1 $f8, 0x01A4($s5) ## 000001A4
@@ -371,7 +371,7 @@ glabel func_8093B1AC
/* 029B8 8093B688 3C050600 */ lui $a1, %hi(D_06003E34) ## $a1 = 06000000
/* 029BC 8093B68C 24A53E34 */ addiu $a1, $a1, %lo(D_06003E34) ## $a1 = 06003E34
/* 029C0 8093B690 4406B000 */ mfc1 $a2, $f22
-/* 029C4 8093B694 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 029C4 8093B694 0C0294D3 */ jal Animation_MorphToLoop
/* 029C8 8093B698 8FA40074 */ lw $a0, 0x0074($sp)
/* 029CC 8093B69C 3C018095 */ lui $at, %hi(D_8094AF04) ## $at = 80950000
/* 029D0 8093B6A0 C424AF04 */ lwc1 $f4, %lo(D_8094AF04)($at)
@@ -382,7 +382,7 @@ glabel func_8093B1AC
/* 029E0 8093B6B0 8FA40074 */ lw $a0, 0x0074($sp)
/* 029E4 8093B6B4 46144281 */ sub.s $f10, $f8, $f20
/* 029E8 8093B6B8 44055000 */ mfc1 $a1, $f10
-/* 029EC 8093B6BC 0C0295B2 */ jal func_800A56C8
+/* 029EC 8093B6BC 0C0295B2 */ jal Animation_OnFrame
/* 029F0 8093B6C0 00000000 */ nop
/* 029F4 8093B6C4 50400007 */ beql $v0, $zero, .L8093B6E4
/* 029F8 8093B6C8 3C014150 */ lui $at, 0x4150 ## $at = 41500000
@@ -398,7 +398,7 @@ glabel func_8093B1AC
/* 02A1C 8093B6EC 8FA40074 */ lw $a0, 0x0074($sp)
/* 02A20 8093B6F0 46123101 */ sub.s $f4, $f6, $f18
/* 02A24 8093B6F4 44052000 */ mfc1 $a1, $f4
-/* 02A28 8093B6F8 0C0295B2 */ jal func_800A56C8
+/* 02A28 8093B6F8 0C0295B2 */ jal Animation_OnFrame
/* 02A2C 8093B6FC 00000000 */ nop
/* 02A30 8093B700 10400006 */ beq $v0, $zero, .L8093B71C
/* 02A34 8093B704 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C164.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C164.s
index 8d60352292..35d250a271 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C164.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C164.s
@@ -10,10 +10,10 @@ glabel func_8093C164
/* 034B4 8093C184 24A54548 */ addiu $a1, $a1, %lo(D_06004548) ## $a1 = 06004548
/* 034B8 8093C188 AFA70018 */ sw $a3, 0x0018($sp)
/* 034BC 8093C18C 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 034C0 8093C190 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 034C0 8093C190 0C029490 */ jal Animation_MorphToPlayOnce
/* 034C4 8093C194 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 034C8 8093C198 3C040600 */ lui $a0, %hi(D_06004548) ## $a0 = 06000000
-/* 034CC 8093C19C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 034CC 8093C19C 0C028800 */ jal Animation_GetLastFrame
/* 034D0 8093C1A0 24844548 */ addiu $a0, $a0, %lo(D_06004548) ## $a0 = 06004548
/* 034D4 8093C1A4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C1C4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C1C4.s
index 6c729f9b21..363e7601aa 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C1C4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C1C4.s
@@ -5,7 +5,7 @@ glabel func_8093C1C4
/* 03500 8093C1D0 AFBF001C */ sw $ra, 0x001C($sp)
/* 03504 8093C1D4 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 03508 8093C1D8 AFA5002C */ sw $a1, 0x002C($sp)
-/* 0350C 8093C1DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0350C 8093C1DC 0C02927F */ jal SkelAnime_Update
/* 03510 8093C1E0 AFA40024 */ sw $a0, 0x0024($sp)
/* 03514 8093C1E4 260404D0 */ addiu $a0, $s0, 0x04D0 ## $a0 = 000004D0
@@ -15,7 +15,7 @@ glabel func_8093C1C4
/* 03524 8093C1F4 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 03528 8093C1F8 8FA40024 */ lw $a0, 0x0024($sp)
-/* 0352C 8093C1FC 0C0295B2 */ jal func_800A56C8
+/* 0352C 8093C1FC 0C0295B2 */ jal Animation_OnFrame
/* 03530 8093C200 8E0501A4 */ lw $a1, 0x01A4($s0) ## 000001A4
/* 03534 8093C204 10400010 */ beq $v0, $zero, .L8093C248
/* 03538 8093C208 3C0E8095 */ lui $t6, %hi(D_8094C84C) ## $t6 = 80950000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C25C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C25C.s
index 628db086e1..3967b51c3b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C25C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C25C.s
@@ -10,7 +10,7 @@ glabel func_8093C25C
/* 035AC 8093C27C 24A5578C */ addiu $a1, $a1, %lo(D_0600578C) ## $a1 = 0600578C
/* 035B0 8093C280 AFA70018 */ sw $a3, 0x0018($sp)
/* 035B4 8093C284 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 035B8 8093C288 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 035B8 8093C288 0C029490 */ jal Animation_MorphToPlayOnce
/* 035BC 8093C28C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 035C0 8093C290 8FA70018 */ lw $a3, 0x0018($sp)
/* 035C4 8093C294 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C2C4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C2C4.s
index 520fdd11a7..1acaafcdd7 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C2C4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C2C4.s
@@ -10,7 +10,7 @@ glabel func_8093C2C4
/* 03600 8093C2D0 AFBF0034 */ sw $ra, 0x0034($sp)
/* 03604 8093C2D4 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 03608 8093C2D8 AFA5006C */ sw $a1, 0x006C($sp)
-/* 0360C 8093C2DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0360C 8093C2DC 0C02927F */ jal SkelAnime_Update
/* 03610 8093C2E0 AFA4003C */ sw $a0, 0x003C($sp)
/* 03614 8093C2E4 860E0150 */ lh $t6, 0x0150($s0) ## 00000150
@@ -176,10 +176,10 @@ glabel func_8093C2C4
/* 03858 8093C528 8FA4003C */ lw $a0, 0x003C($sp)
/* 0385C 8093C52C 1461000A */ bne $v1, $at, .L8093C558
/* 03860 8093C530 00000000 */ nop
-/* 03864 8093C534 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 03864 8093C534 0C029490 */ jal Animation_MorphToPlayOnce
/* 03868 8093C538 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 0386C 8093C53C 3C040600 */ lui $a0, %hi(D_06006530) ## $a0 = 06000000
-/* 03870 8093C540 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03870 8093C540 0C028800 */ jal Animation_GetLastFrame
/* 03874 8093C544 24846530 */ addiu $a0, $a0, %lo(D_06006530) ## $a0 = 06006530
/* 03878 8093C548 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -189,7 +189,7 @@ glabel func_8093C2C4
.L8093C558:
/* 03888 8093C558 14600007 */ bne $v1, $zero, .L8093C578
/* 0388C 8093C55C 8FA4003C */ lw $a0, 0x003C($sp)
-/* 03890 8093C560 0C0295B2 */ jal func_800A56C8
+/* 03890 8093C560 0C0295B2 */ jal Animation_OnFrame
/* 03894 8093C564 8E0501A4 */ lw $a1, 0x01A4($s0) ## 000001A4
/* 03898 8093C568 10400003 */ beq $v0, $zero, .L8093C578
/* 0389C 8093C56C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C58C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C58C.s
index 269a8cacd2..9dfd029783 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C58C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C58C.s
@@ -10,10 +10,10 @@ glabel func_8093C58C
/* 038DC 8093C5AC 24A588C8 */ addiu $a1, $a1, %lo(D_060088C8) ## $a1 = 060088C8
/* 038E0 8093C5B0 AFA70018 */ sw $a3, 0x0018($sp)
/* 038E4 8093C5B4 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 038E8 8093C5B8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 038E8 8093C5B8 0C029490 */ jal Animation_MorphToPlayOnce
/* 038EC 8093C5BC 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 038F0 8093C5C0 3C040601 */ lui $a0, %hi(D_060088C8) ## $a0 = 06010000
-/* 038F4 8093C5C4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 038F4 8093C5C4 0C028800 */ jal Animation_GetLastFrame
/* 038F8 8093C5C8 248488C8 */ addiu $a0, $a0, %lo(D_060088C8) ## $a0 = 060088C8
/* 038FC 8093C5CC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C5F4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C5F4.s
index 95951ae627..a363697cf2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C5F4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C5F4.s
@@ -5,11 +5,11 @@ glabel func_8093C5F4
/* 03930 8093C600 AFBF001C */ sw $ra, 0x001C($sp)
/* 03934 8093C604 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 03938 8093C608 AFA5002C */ sw $a1, 0x002C($sp)
-/* 0393C 8093C60C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0393C 8093C60C 0C02927F */ jal SkelAnime_Update
/* 03940 8093C610 AFA40024 */ sw $a0, 0x0024($sp)
/* 03944 8093C614 8FA40024 */ lw $a0, 0x0024($sp)
-/* 03948 8093C618 0C0295B2 */ jal func_800A56C8
+/* 03948 8093C618 0C0295B2 */ jal Animation_OnFrame
/* 0394C 8093C61C 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000
/* 03950 8093C620 5040000D */ beql $v0, $zero, .L8093C658
/* 03954 8093C624 8FA40024 */ lw $a0, 0x0024($sp)
@@ -29,7 +29,7 @@ glabel func_8093C5F4
/* 03980 8093C650 240539B1 */ addiu $a1, $zero, 0x39B1 ## $a1 = 000039B1
/* 03984 8093C654 8FA40024 */ lw $a0, 0x0024($sp)
.L8093C658:
-/* 03988 8093C658 0C0295B2 */ jal func_800A56C8
+/* 03988 8093C658 0C0295B2 */ jal Animation_OnFrame
/* 0398C 8093C65C 8E0501A4 */ lw $a1, 0x01A4($s0) ## 000001A4
/* 03990 8093C660 10400003 */ beq $v0, $zero, .L8093C670
/* 03994 8093C664 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C684.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C684.s
index f0bd59d394..06d1e05997 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C684.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C684.s
@@ -11,10 +11,10 @@ glabel func_8093C684
/* 039D8 8093C6A8 3C050600 */ lui $a1, %hi(D_06007CA8) ## $a1 = 06000000
/* 039DC 8093C6AC 24A57CA8 */ addiu $a1, $a1, %lo(D_06007CA8) ## $a1 = 06007CA8
/* 039E0 8093C6B0 AFA40024 */ sw $a0, 0x0024($sp)
-/* 039E4 8093C6B4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 039E4 8093C6B4 0C029490 */ jal Animation_MorphToPlayOnce
/* 039E8 8093C6B8 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 039EC 8093C6BC 3C040600 */ lui $a0, %hi(D_06007CA8) ## $a0 = 06000000
-/* 039F0 8093C6C0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 039F0 8093C6C0 0C028800 */ jal Animation_GetLastFrame
/* 039F4 8093C6C4 24847CA8 */ addiu $a0, $a0, %lo(D_06007CA8) ## $a0 = 06007CA8
/* 039F8 8093C6C8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -22,7 +22,7 @@ glabel func_8093C684
/* 03A00 8093C6D0 468021A0 */ cvt.s.w $f6, $f4
/* 03A04 8093C6D4 E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
/* 03A08 8093C6D8 E60601A4 */ swc1 $f6, 0x01A4($s0) ## 000001A4
-/* 03A0C 8093C6DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03A0C 8093C6DC 0C02927F */ jal SkelAnime_Update
/* 03A10 8093C6E0 8FA40024 */ lw $a0, 0x0024($sp)
/* 03A14 8093C6E4 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C700.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C700.s
index 0026be33a6..f5f2ad169f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C700.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C700.s
@@ -21,7 +21,7 @@ glabel func_8093C700
/* 03A78 8093C748 8FBF001C */ lw $ra, 0x001C($sp)
/* 03A7C 8093C74C 26040568 */ addiu $a0, $s0, 0x0568 ## $a0 = 00000568
.L8093C750:
-/* 03A80 8093C750 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03A80 8093C750 0C02927F */ jal SkelAnime_Update
/* 03A84 8093C754 AFA40024 */ sw $a0, 0x0024($sp)
/* 03A88 8093C758 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
@@ -31,7 +31,7 @@ glabel func_8093C700
/* 03A98 8093C768 24072000 */ addiu $a3, $zero, 0x2000 ## $a3 = 00002000
/* 03A9C 8093C76C 8FA40024 */ lw $a0, 0x0024($sp)
-/* 03AA0 8093C770 0C0295B2 */ jal func_800A56C8
+/* 03AA0 8093C770 0C0295B2 */ jal Animation_OnFrame
/* 03AA4 8093C774 8E0501A4 */ lw $a1, 0x01A4($s0) ## 000001A4
/* 03AA8 8093C778 10400003 */ beq $v0, $zero, .L8093C788
/* 03AAC 8093C77C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C79C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C79C.s
index 1199850996..c75ba7e9c2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C79C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C79C.s
@@ -11,7 +11,7 @@ glabel func_8093C79C
/* 03AF0 8093C7C0 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 03AF4 8093C7C4 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 03AF8 8093C7C8 E480FF60 */ swc1 $f0, -0x00A0($a0) ## 000004C8
-/* 03AFC 8093C7CC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 03AFC 8093C7CC 0C0294D3 */ jal Animation_MorphToLoop
/* 03B00 8093C7D0 E480FB00 */ swc1 $f0, -0x0500($a0) ## 00000068
/* 03B04 8093C7D4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 03B08 8093C7D8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C7E4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C7E4.s
index 79372bc1f4..91d0d58827 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C7E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C7E4.s
@@ -10,7 +10,7 @@ glabel func_8093C7E4
/* 03B34 8093C804 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 03B38 8093C808 8FA40018 */ lw $a0, 0x0018($sp)
-/* 03B3C 8093C80C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03B3C 8093C80C 0C02927F */ jal SkelAnime_Update
/* 03B40 8093C810 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 03B44 8093C814 8FBF0014 */ lw $ra, 0x0014($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C910.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C910.s
index f8e3e57519..22a2931d57 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C910.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093C910.s
@@ -522,9 +522,9 @@ glabel func_8093C910
/* 04378 8093D048 26108E2C */ addiu $s0, $s0, %lo(D_06038E2C) ## $s0 = 06038E2C
/* 0437C 8093D04C 4406B000 */ mfc1 $a2, $f22
/* 04380 8093D050 02002825 */ or $a1, $s0, $zero ## $a1 = 06038E2C
-/* 04384 8093D054 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04384 8093D054 0C029490 */ jal Animation_MorphToPlayOnce
/* 04388 8093D058 26240568 */ addiu $a0, $s1, 0x0568 ## $a0 = 00000568
-/* 0438C 8093D05C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0438C 8093D05C 0C028800 */ jal Animation_GetLastFrame
/* 04390 8093D060 02002025 */ or $a0, $s0, $zero ## $a0 = 06038E2C
/* 04394 8093D064 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -563,13 +563,13 @@ glabel func_8093C910
/* 0440C 8093D0DC E5600050 */ swc1 $f0, 0x0050($t3) ## 80950050
.L8093D0E0:
/* 04410 8093D0E0 02002025 */ or $a0, $s0, $zero ## $a0 = 06038E2C
-/* 04414 8093D0E4 0C0295B2 */ jal func_800A56C8
+/* 04414 8093D0E4 0C0295B2 */ jal Animation_OnFrame
/* 04418 8093D0E8 8E2501A4 */ lw $a1, 0x01A4($s1) ## 000001A4
/* 0441C 8093D0EC 10400005 */ beq $v0, $zero, .L8093D104
/* 04420 8093D0F0 02002025 */ or $a0, $s0, $zero ## $a0 = 06038E2C
/* 04424 8093D0F4 3C050603 */ lui $a1, %hi(D_06032BF8) ## $a1 = 06030000
/* 04428 8093D0F8 24A52BF8 */ addiu $a1, $a1, %lo(D_06032BF8) ## $a1 = 06032BF8
-/* 0442C 8093D0FC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0442C 8093D0FC 0C0294D3 */ jal Animation_MorphToLoop
/* 04430 8093D100 3C06C170 */ lui $a2, 0xC170 ## $a2 = C1700000
.L8093D104:
/* 04434 8093D104 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
@@ -589,7 +589,7 @@ glabel func_8093C910
/* 0446C 8093D13C 02412021 */ addu $a0, $s2, $at
.L8093D140:
-/* 04470 8093D140 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04470 8093D140 0C02927F */ jal SkelAnime_Update
/* 04474 8093D144 26240568 */ addiu $a0, $s1, 0x0568 ## $a0 = 00000568
/* 04478 8093D148 3C053BE5 */ lui $a1, 0x3BE5 ## $a1 = 3BE50000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D3D8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D3D8.s
index dc5d04599d..1654a18457 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D3D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D3D8.s
@@ -10,7 +10,7 @@ glabel func_8093D3D8
/* 04728 8093D3F8 24A504A4 */ addiu $a1, $a1, %lo(D_060004A4) ## $a1 = 060004A4
/* 0472C 8093D3FC AFA70018 */ sw $a3, 0x0018($sp)
/* 04730 8093D400 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 04734 8093D404 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 04734 8093D404 0C0294D3 */ jal Animation_MorphToLoop
/* 04738 8093D408 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 0473C 8093D40C 8FAF0018 */ lw $t7, 0x0018($sp)
/* 04740 8093D410 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D444.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D444.s
index a060b75f44..cc9578b1d7 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D444.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D444.s
@@ -8,7 +8,7 @@ glabel func_8093D444
/* 0478C 8093D45C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 04790 8093D460 55C00004 */ bnel $t6, $zero, .L8093D474
/* 04794 8093D464 C60404C8 */ lwc1 $f4, 0x04C8($s0) ## 000004C8
-/* 04798 8093D468 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04798 8093D468 0C02927F */ jal SkelAnime_Update
/* 0479C 8093D46C 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 047A0 8093D470 C60404C8 */ lwc1 $f4, 0x04C8($s0) ## 000004C8
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D5C0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D5C0.s
index 3ad532fdcc..fa404e9777 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D5C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093D5C0.s
@@ -288,7 +288,7 @@ glabel L8093D7EC
/* 04C08 8093D8D8 A1D00564 */ sb $s0, 0x0564($t6) ## 00000564
/* 04C0C 8093D8DC 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
/* 04C10 8093D8E0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 04C14 8093D8E4 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 04C14 8093D8E4 0C0294D3 */ jal Animation_MorphToLoop
/* 04C18 8093D8E8 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 04C1C 8093D8EC 3C014382 */ lui $at, 0x4382 ## $at = 43820000
/* 04C20 8093D8F0 44811000 */ mtc1 $at, $f2 ## $f2 = 260.00
@@ -334,7 +334,7 @@ glabel L8093D988
/* 04CB8 8093D988 3C128095 */ lui $s2, %hi(D_8094C848) ## $s2 = 80950000
/* 04CBC 8093D98C 2652C848 */ addiu $s2, $s2, %lo(D_8094C848) ## $s2 = 8094C848
/* 04CC0 8093D990 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
-/* 04CC4 8093D994 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04CC4 8093D994 0C02927F */ jal SkelAnime_Update
/* 04CC8 8093D998 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 04CCC 8093D99C 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
@@ -413,7 +413,7 @@ glabel L8093DAB8
/* 04DE8 8093DAB8 3C128095 */ lui $s2, %hi(D_8094C848) ## $s2 = 80950000
/* 04DEC 8093DABC 2652C848 */ addiu $s2, $s2, %lo(D_8094C848) ## $s2 = 8094C848
/* 04DF0 8093DAC0 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
-/* 04DF4 8093DAC4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04DF4 8093DAC4 0C02927F */ jal SkelAnime_Update
/* 04DF8 8093DAC8 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 04DFC 8093DACC 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
@@ -506,9 +506,9 @@ glabel L8093DAB8
/* 04F4C 8093DC1C C428AFA0 */ lwc1 $f8, %lo(D_8094AFA0)($at)
/* 04F50 8093DC20 E62806A0 */ swc1 $f8, 0x06A0($s1) ## 000006A0
/* 04F54 8093DC24 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
-/* 04F58 8093DC28 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 04F58 8093DC28 0C029490 */ jal Animation_MorphToPlayOnce
/* 04F5C 8093DC2C 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 04F60 8093DC30 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04F60 8093DC30 0C028800 */ jal Animation_GetLastFrame
/* 04F64 8093DC34 02002025 */ or $a0, $s0, $zero ## $a0 = 06000AAC
/* 04F68 8093DC38 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -522,7 +522,7 @@ glabel L8093DC4C
/* 04F84 8093DC54 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
/* 04F88 8093DC58 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 04F8C 8093DC5C A3A8009F */ sb $t0, 0x009F($sp)
-/* 04F90 8093DC60 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04F90 8093DC60 0C02927F */ jal SkelAnime_Update
/* 04F94 8093DC64 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 04F98 8093DC68 8E490000 */ lw $t1, 0x0000($s2) ## 8094C848
@@ -706,9 +706,9 @@ glabel L8093DC4C
/* 05214 8093DEE4 261088C8 */ addiu $s0, $s0, %lo(D_060088C8) ## $s0 = 060088C8
/* 05218 8093DEE8 02002825 */ or $a1, $s0, $zero ## $a1 = 060088C8
/* 0521C 8093DEEC 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 05220 8093DEF0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 05220 8093DEF0 0C029490 */ jal Animation_MorphToPlayOnce
/* 05224 8093DEF4 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 05228 8093DEF8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05228 8093DEF8 0C028800 */ jal Animation_GetLastFrame
/* 0522C 8093DEFC 02002025 */ or $a0, $s0, $zero ## $a0 = 060088C8
/* 05230 8093DF00 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -725,14 +725,14 @@ glabel L8093DC4C
.L8093DF24:
/* 05254 8093DF24 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
/* 05258 8093DF28 8E2501A4 */ lw $a1, 0x01A4($s1) ## 000001A4
-/* 0525C 8093DF2C 0C0295B2 */ jal func_800A56C8
+/* 0525C 8093DF2C 0C0295B2 */ jal Animation_OnFrame
/* 05260 8093DF30 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 05264 8093DF34 1040000A */ beq $v0, $zero, .L8093DF60
/* 05268 8093DF38 3C050600 */ lui $a1, %hi(D_06006F28) ## $a1 = 06000000
/* 0526C 8093DF3C 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
/* 05270 8093DF40 24A56F28 */ addiu $a1, $a1, %lo(D_06006F28) ## $a1 = 06006F28
/* 05274 8093DF44 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 05278 8093DF48 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 05278 8093DF48 0C0294D3 */ jal Animation_MorphToLoop
/* 0527C 8093DF4C 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 05280 8093DF50 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 05284 8093DF54 44814000 */ mtc1 $at, $f8 ## $f8 = 1000.00
@@ -778,7 +778,7 @@ glabel L8093DC4C
/* 05314 8093DFE4 A1D00564 */ sb $s0, 0x0564($t6) ## 00000564
/* 05318 8093DFE8 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
/* 0531C 8093DFEC 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 05320 8093DFF0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 05320 8093DFF0 0C0294D3 */ jal Animation_MorphToLoop
/* 05324 8093DFF4 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 000005CC
/* 05328 8093DFF8 3C014382 */ lui $at, 0x4382 ## $at = 43820000
/* 0532C 8093DFFC 44811000 */ mtc1 $at, $f2 ## $f2 = 260.00
@@ -851,14 +851,14 @@ glabel L8093DC4C
/* 05420 8093E0F0 A60D00B6 */ sh $t5, 0x00B6($s0) ## 000000B7
/* 05424 8093E0F4 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
/* 05428 8093E0F8 8E2501A4 */ lw $a1, 0x01A4($s1) ## 000001A4
-/* 0542C 8093E0FC 0C0295B2 */ jal func_800A56C8
+/* 0542C 8093E0FC 0C0295B2 */ jal Animation_OnFrame
/* 05430 8093E100 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 05434 8093E104 104002F9 */ beq $v0, $zero, .L8093ECEC
/* 05438 8093E108 3C050600 */ lui $a1, %hi(D_06006F28) ## $a1 = 06000000
/* 0543C 8093E10C 8E440000 */ lw $a0, 0x0000($s2) ## 8094C848
/* 05440 8093E110 24A56F28 */ addiu $a1, $a1, %lo(D_06006F28) ## $a1 = 06006F28
/* 05444 8093E114 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 05448 8093E118 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 05448 8093E118 0C0294D3 */ jal Animation_MorphToLoop
/* 0544C 8093E11C 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 05450 8093E120 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 05454 8093E124 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00
@@ -868,7 +868,7 @@ glabel L8093E130
/* 05460 8093E130 3C138095 */ lui $s3, %hi(D_8094C844) ## $s3 = 80950000
/* 05464 8093E134 2673C844 */ addiu $s3, $s3, %lo(D_8094C844) ## $s3 = 8094C844
/* 05468 8093E138 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
-/* 0546C 8093E13C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0546C 8093E13C 0C02927F */ jal SkelAnime_Update
/* 05470 8093E140 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 05474 8093E144 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
@@ -945,7 +945,7 @@ glabel L8093E258
/* 05588 8093E258 3C138095 */ lui $s3, %hi(D_8094C844) ## $s3 = 80950000
/* 0558C 8093E25C 2673C844 */ addiu $s3, $s3, %lo(D_8094C844) ## $s3 = 8094C844
/* 05590 8093E260 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
-/* 05594 8093E264 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05594 8093E264 0C02927F */ jal SkelAnime_Update
/* 05598 8093E268 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 0559C 8093E26C 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
@@ -1037,9 +1037,9 @@ glabel L8093E258
/* 056E8 8093E3B8 C42AAFBC */ lwc1 $f10, %lo(D_8094AFBC)($at)
/* 056EC 8093E3BC E62A06A0 */ swc1 $f10, 0x06A0($s1) ## 000006A0
/* 056F0 8093E3C0 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
-/* 056F4 8093E3C4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 056F4 8093E3C4 0C029490 */ jal Animation_MorphToPlayOnce
/* 056F8 8093E3C8 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 056FC 8093E3CC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 056FC 8093E3CC 0C028800 */ jal Animation_GetLastFrame
/* 05700 8093E3D0 02002025 */ or $a0, $s0, $zero ## $a0 = 06000AAC
/* 05704 8093E3D4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -1053,7 +1053,7 @@ glabel L8093E3E8
/* 05720 8093E3F0 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
/* 05724 8093E3F4 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 05728 8093E3F8 A3B9009F */ sb $t9, 0x009F($sp)
-/* 0572C 8093E3FC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0572C 8093E3FC 0C02927F */ jal SkelAnime_Update
/* 05730 8093E400 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 05734 8093E404 8E6C0000 */ lw $t4, 0x0000($s3) ## 8094C844
@@ -1234,9 +1234,9 @@ glabel L8093E3E8
/* 059A4 8093E674 261088C8 */ addiu $s0, $s0, %lo(D_060088C8) ## $s0 = 060088C8
/* 059A8 8093E678 02002825 */ or $a1, $s0, $zero ## $a1 = 060088C8
/* 059AC 8093E67C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 059B0 8093E680 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 059B0 8093E680 0C029490 */ jal Animation_MorphToPlayOnce
/* 059B4 8093E684 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 059B8 8093E688 0C028800 */ jal SkelAnime_GetFrameCount
+/* 059B8 8093E688 0C028800 */ jal Animation_GetLastFrame
/* 059BC 8093E68C 02002025 */ or $a0, $s0, $zero ## $a0 = 060088C8
/* 059C0 8093E690 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -1253,14 +1253,14 @@ glabel L8093E3E8
.L8093E6B4:
/* 059E4 8093E6B4 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
/* 059E8 8093E6B8 8E2501A4 */ lw $a1, 0x01A4($s1) ## 000001A4
-/* 059EC 8093E6BC 0C0295B2 */ jal func_800A56C8
+/* 059EC 8093E6BC 0C0295B2 */ jal Animation_OnFrame
/* 059F0 8093E6C0 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 059F4 8093E6C4 1040000A */ beq $v0, $zero, .L8093E6F0
/* 059F8 8093E6C8 3C050600 */ lui $a1, %hi(D_06006F28) ## $a1 = 06000000
/* 059FC 8093E6CC 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
/* 05A00 8093E6D0 24A56F28 */ addiu $a1, $a1, %lo(D_06006F28) ## $a1 = 06006F28
/* 05A04 8093E6D4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 05A08 8093E6D8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 05A08 8093E6D8 0C0294D3 */ jal Animation_MorphToLoop
/* 05A0C 8093E6DC 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 05A10 8093E6E0 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 05A14 8093E6E4 44815000 */ mtc1 $at, $f10 ## $f10 = 1000.00
@@ -1351,14 +1351,14 @@ glabel L8093E3E8
/* 05B44 8093E814 A61800B6 */ sh $t8, 0x00B6($s0) ## 000000B7
/* 05B48 8093E818 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
/* 05B4C 8093E81C 8E2501A4 */ lw $a1, 0x01A4($s1) ## 000001A4
-/* 05B50 8093E820 0C0295B2 */ jal func_800A56C8
+/* 05B50 8093E820 0C0295B2 */ jal Animation_OnFrame
/* 05B54 8093E824 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 05B58 8093E828 10400130 */ beq $v0, $zero, .L8093ECEC
/* 05B5C 8093E82C 3C050600 */ lui $a1, %hi(D_06006F28) ## $a1 = 06000000
/* 05B60 8093E830 8E640000 */ lw $a0, 0x0000($s3) ## 8094C844
/* 05B64 8093E834 24A56F28 */ addiu $a1, $a1, %lo(D_06006F28) ## $a1 = 06006F28
/* 05B68 8093E838 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 05B6C 8093E83C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 05B6C 8093E83C 0C0294D3 */ jal Animation_MorphToLoop
/* 05B70 8093E840 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 05B74 8093E844 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 05B78 8093E848 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F108.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F108.s
index c1f9d86e5e..804815eb67 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F108.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F108.s
@@ -10,7 +10,7 @@ glabel func_8093F108
/* 06458 8093F128 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C
/* 0645C 8093F12C 24A54374 */ addiu $a1, $a1, %lo(D_06024374) ## $a1 = 06024374
/* 06460 8093F130 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 06464 8093F134 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 06464 8093F134 0C0294D3 */ jal Animation_MorphToLoop
/* 06468 8093F138 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 0646C 8093F13C 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
/* 06470 8093F140 A6000440 */ sh $zero, 0x0440($s0) ## 00000440
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F1C4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F1C4.s
index 17e3a4318d..da5a22d50d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F1C4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F1C4.s
@@ -319,7 +319,7 @@ glabel func_8093F1C4
/* 06908 8093F5D8 8C84C844 */ lw $a0, %lo(D_8094C844)($a0)
/* 0690C 8093F5DC 24A5230C */ addiu $a1, $a1, %lo(D_0600230C) ## $a1 = 0600230C
/* 06910 8093F5E0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 06914 8093F5E4 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 06914 8093F5E4 0C0294D3 */ jal Animation_MorphToLoop
/* 06918 8093F5E8 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 80950568
/* 0691C 8093F5EC 10000018 */ beq $zero, $zero, .L8093F650
/* 06920 8093F5F0 93A20036 */ lbu $v0, 0x0036($sp)
@@ -328,7 +328,7 @@ glabel func_8093F1C4
/* 06928 8093F5F8 3C050600 */ lui $a1, %hi(D_06001D10) ## $a1 = 06000000
/* 0692C 8093F5FC 24A51D10 */ addiu $a1, $a1, %lo(D_06001D10) ## $a1 = 06001D10
/* 06930 8093F600 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 06934 8093F604 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 06934 8093F604 0C0294D3 */ jal Animation_MorphToLoop
/* 06938 8093F608 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 0693C 8093F60C 10000010 */ beq $zero, $zero, .L8093F650
/* 06940 8093F610 93A20036 */ lbu $v0, 0x0036($sp)
@@ -337,7 +337,7 @@ glabel func_8093F1C4
/* 06948 8093F618 3C050600 */ lui $a1, %hi(D_060017E0) ## $a1 = 06000000
/* 0694C 8093F61C 24A517E0 */ addiu $a1, $a1, %lo(D_060017E0) ## $a1 = 060017E0
/* 06950 8093F620 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 06954 8093F624 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 06954 8093F624 0C0294D3 */ jal Animation_MorphToLoop
/* 06958 8093F628 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 0695C 8093F62C 10000008 */ beq $zero, $zero, .L8093F650
/* 06960 8093F630 93A20036 */ lbu $v0, 0x0036($sp)
@@ -346,7 +346,7 @@ glabel func_8093F1C4
/* 06968 8093F638 3C050600 */ lui $a1, %hi(D_060012A4) ## $a1 = 06000000
/* 0696C 8093F63C 24A512A4 */ addiu $a1, $a1, %lo(D_060012A4) ## $a1 = 060012A4
/* 06970 8093F640 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 06974 8093F644 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 06974 8093F644 0C0294D3 */ jal Animation_MorphToLoop
/* 06978 8093F648 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 0697C 8093F64C 93A20036 */ lbu $v0, 0x0036($sp)
.L8093F650:
@@ -369,7 +369,7 @@ glabel func_8093F1C4
/* 069BC 8093F68C 8C84C848 */ lw $a0, %lo(D_8094C848)($a0)
/* 069C0 8093F690 24A5230C */ addiu $a1, $a1, %lo(D_0600230C) ## $a1 = 0600230C
/* 069C4 8093F694 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 069C8 8093F698 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 069C8 8093F698 0C0294D3 */ jal Animation_MorphToLoop
/* 069CC 8093F69C 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 80950568
/* 069D0 8093F6A0 10000018 */ beq $zero, $zero, .L8093F704
/* 069D4 8093F6A4 86020152 */ lh $v0, 0x0152($s0) ## 00000152
@@ -378,7 +378,7 @@ glabel func_8093F1C4
/* 069DC 8093F6AC 3C050600 */ lui $a1, %hi(D_06001D10) ## $a1 = 06000000
/* 069E0 8093F6B0 24A51D10 */ addiu $a1, $a1, %lo(D_06001D10) ## $a1 = 06001D10
/* 069E4 8093F6B4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 069E8 8093F6B8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 069E8 8093F6B8 0C0294D3 */ jal Animation_MorphToLoop
/* 069EC 8093F6BC 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 069F0 8093F6C0 10000010 */ beq $zero, $zero, .L8093F704
/* 069F4 8093F6C4 86020152 */ lh $v0, 0x0152($s0) ## 00000152
@@ -387,7 +387,7 @@ glabel func_8093F1C4
/* 069FC 8093F6CC 3C050600 */ lui $a1, %hi(D_060017E0) ## $a1 = 06000000
/* 06A00 8093F6D0 24A517E0 */ addiu $a1, $a1, %lo(D_060017E0) ## $a1 = 060017E0
/* 06A04 8093F6D4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 06A08 8093F6D8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 06A08 8093F6D8 0C0294D3 */ jal Animation_MorphToLoop
/* 06A0C 8093F6DC 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 06A10 8093F6E0 10000008 */ beq $zero, $zero, .L8093F704
/* 06A14 8093F6E4 86020152 */ lh $v0, 0x0152($s0) ## 00000152
@@ -396,7 +396,7 @@ glabel func_8093F1C4
/* 06A1C 8093F6EC 3C050600 */ lui $a1, %hi(D_060012A4) ## $a1 = 06000000
/* 06A20 8093F6F0 24A512A4 */ addiu $a1, $a1, %lo(D_060012A4) ## $a1 = 060012A4
/* 06A24 8093F6F4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
-/* 06A28 8093F6F8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 06A28 8093F6F8 0C0294D3 */ jal Animation_MorphToLoop
/* 06A2C 8093F6FC 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 06A30 8093F700 86020152 */ lh $v0, 0x0152($s0) ## 00000152
.L8093F704:
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F9E4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F9E4.s
index b299b16117..0969b502b0 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F9E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093F9E4.s
@@ -29,7 +29,7 @@ glabel func_8093F9E4
/* 06D48 8093FA18 AFAE00CC */ sw $t6, 0x00CC($sp)
/* 06D4C 8093FA1C 26500568 */ addiu $s0, $s2, 0x0568 ## $s0 = 00000568
/* 06D50 8093FA20 AFA200C8 */ sw $v0, 0x00C8($sp)
-/* 06D54 8093FA24 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06D54 8093FA24 0C02927F */ jal SkelAnime_Update
/* 06D58 8093FA28 02002025 */ or $a0, $s0, $zero ## $a0 = 00000568
/* 06D5C 8093FA2C 864F0160 */ lh $t7, 0x0160($s2) ## 00000160
@@ -64,7 +64,7 @@ glabel func_8093F9E4
/* 06DC4 8093FA94 14410005 */ bne $v0, $at, .L8093FAAC
/* 06DC8 8093FA98 3C050602 */ lui $a1, %hi(D_060216DC) ## $a1 = 06020000
/* 06DCC 8093FA9C 24A516DC */ addiu $a1, $a1, %lo(D_060216DC) ## $a1 = 060216DC
-/* 06DD0 8093FAA0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 06DD0 8093FAA0 0C029490 */ jal Animation_MorphToPlayOnce
/* 06DD4 8093FAA4 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 06DD8 8093FAA8 86420150 */ lh $v0, 0x0150($s2) ## 00000150
.L8093FAAC:
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949530.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949530.s
index d483666391..2d03523c50 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949530.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949530.s
@@ -10,7 +10,7 @@ glabel func_80949530
/* 10880 80949550 24A52BF8 */ addiu $a1, $a1, %lo(D_06032BF8) ## $a1 = 06032BF8
/* 10884 80949554 AFA70018 */ sw $a3, 0x0018($sp)
/* 10888 80949558 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 1088C 8094955C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 1088C 8094955C 0C0294D3 */ jal Animation_MorphToLoop
/* 10890 80949560 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 10894 80949564 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 10898 80949568 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809495A4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809495A4.s
index a879a4f49a..fab9511369 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809495A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809495A4.s
@@ -4,7 +4,7 @@ glabel func_809495A4
/* 108DC 809495AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 108E0 809495B0 AFBF001C */ sw $ra, 0x001C($sp)
/* 108E4 809495B4 AFA50024 */ sw $a1, 0x0024($sp)
-/* 108E8 809495B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 108E8 809495B8 0C02927F */ jal SkelAnime_Update
/* 108EC 809495BC 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 108F0 809495C0 C600005C */ lwc1 $f0, 0x005C($s0) ## 0000005C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809496D0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809496D0.s
index 40f729ba9e..938c47f8b2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809496D0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809496D0.s
@@ -10,10 +10,10 @@ glabel func_809496D0
/* 10A20 809496F0 24A56FBC */ addiu $a1, $a1, %lo(D_06036FBC) ## $a1 = 06036FBC
/* 10A24 809496F4 AFA70018 */ sw $a3, 0x0018($sp)
/* 10A28 809496F8 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 10A2C 809496FC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 10A2C 809496FC 0C029490 */ jal Animation_MorphToPlayOnce
/* 10A30 80949700 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 10A34 80949704 3C040603 */ lui $a0, %hi(D_06036FBC) ## $a0 = 06030000
-/* 10A38 80949708 0C028800 */ jal SkelAnime_GetFrameCount
+/* 10A38 80949708 0C028800 */ jal Animation_GetLastFrame
/* 10A3C 8094970C 24846FBC */ addiu $a0, $a0, %lo(D_06036FBC) ## $a0 = 06036FBC
/* 10A40 80949710 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949734.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949734.s
index 0222f78de5..0ec46dd8b7 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949734.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949734.s
@@ -10,7 +10,7 @@ glabel func_80949734
/* 10A70 80949740 AFBF001C */ sw $ra, 0x001C($sp)
/* 10A74 80949744 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 10A78 80949748 AFA50034 */ sw $a1, 0x0034($sp)
-/* 10A7C 8094974C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 10A7C 8094974C 0C02927F */ jal SkelAnime_Update
/* 10A80 80949750 AFA40024 */ sw $a0, 0x0024($sp)
/* 10A84 80949754 C600005C */ lwc1 $f0, 0x005C($s0) ## 0000005C
@@ -59,7 +59,7 @@ glabel func_80949734
/* 10B24 809497F4 24071000 */ addiu $a3, $zero, 0x1000 ## $a3 = 00001000
/* 10B28 809497F8 8FA40024 */ lw $a0, 0x0024($sp)
-/* 10B2C 809497FC 0C0295B2 */ jal func_800A56C8
+/* 10B2C 809497FC 0C0295B2 */ jal Animation_OnFrame
/* 10B30 80949800 8E0501A4 */ lw $a1, 0x01A4($s0) ## 000001A4
/* 10B34 80949804 50400042 */ beql $v0, $zero, .L80949910
/* 10B38 80949808 8FBF001C */ lw $ra, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949920.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949920.s
index 3f7bd6e649..41c25f50f1 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949920.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949920.s
@@ -15,18 +15,18 @@ glabel func_80949920
/* 10C84 80949954 24A52700 */ addiu $a1, $a1, %lo(D_06022700) ## $a1 = 06022700
/* 10C88 80949958 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 10C8C 8094995C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 10C90 80949960 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 10C90 80949960 0C029490 */ jal Animation_MorphToPlayOnce
/* 10C94 80949964 AFA70018 */ sw $a3, 0x0018($sp)
/* 10C98 80949968 10000005 */ beq $zero, $zero, .L80949980
/* 10C9C 8094996C 00000000 */ nop
.L80949970:
/* 10CA0 80949970 24E40568 */ addiu $a0, $a3, 0x0568 ## $a0 = 00000568
/* 10CA4 80949974 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 10CA8 80949978 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 10CA8 80949978 0C029490 */ jal Animation_MorphToPlayOnce
/* 10CAC 8094997C AFA70018 */ sw $a3, 0x0018($sp)
.L80949980:
/* 10CB0 80949980 3C040602 */ lui $a0, %hi(D_06023750) ## $a0 = 06020000
-/* 10CB4 80949984 0C028800 */ jal SkelAnime_GetFrameCount
+/* 10CB4 80949984 0C028800 */ jal Animation_GetLastFrame
/* 10CB8 80949988 24843750 */ addiu $a0, $a0, %lo(D_06023750) ## $a0 = 06023750
/* 10CBC 8094998C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809499AC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809499AC.s
index d50ee15a07..4cd3fea48b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809499AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_809499AC.s
@@ -13,11 +13,11 @@ glabel func_809499AC
/* 10D08 809499D8 AFB00048 */ sw $s0, 0x0048($sp)
/* 10D0C 809499DC F7B60040 */ sdc1 $f22, 0x0040($sp)
/* 10D10 809499E0 F7B40038 */ sdc1 $f20, 0x0038($sp)
-/* 10D14 809499E4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 10D14 809499E4 0C02927F */ jal SkelAnime_Update
/* 10D18 809499E8 AFA40068 */ sw $a0, 0x0068($sp)
/* 10D1C 809499EC 8FA40068 */ lw $a0, 0x0068($sp)
-/* 10D20 809499F0 0C0295B2 */ jal func_800A56C8
+/* 10D20 809499F0 0C0295B2 */ jal Animation_OnFrame
/* 10D24 809499F4 3C054100 */ lui $a1, 0x4100 ## $a1 = 41000000
/* 10D28 809499F8 10400006 */ beq $v0, $zero, .L80949A14
/* 10D2C 809499FC 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
@@ -30,7 +30,7 @@ glabel func_809499AC
/* 10D40 80949A10 240539B8 */ addiu $a1, $zero, 0x39B8 ## $a1 = 000039B8
.L80949A14:
/* 10D44 80949A14 8FA40068 */ lw $a0, 0x0068($sp)
-/* 10D48 80949A18 0C0295B2 */ jal func_800A56C8
+/* 10D48 80949A18 0C0295B2 */ jal Animation_OnFrame
/* 10D4C 80949A1C 3C054140 */ lui $a1, 0x4140 ## $a1 = 41400000
/* 10D50 80949A20 1040005E */ beq $v0, $zero, .L80949B9C
/* 10D54 80949A24 3C0E8095 */ lui $t6, %hi(D_8094C85C) ## $t6 = 80950000
@@ -138,7 +138,7 @@ glabel func_809499AC
/* 10EC8 80949B98 00000000 */ nop
.L80949B9C:
/* 10ECC 80949B9C 8FA40068 */ lw $a0, 0x0068($sp)
-/* 10ED0 80949BA0 0C0295B2 */ jal func_800A56C8
+/* 10ED0 80949BA0 0C0295B2 */ jal Animation_OnFrame
/* 10ED4 80949BA4 8EC501A4 */ lw $a1, 0x01A4($s6) ## 000001A4
/* 10ED8 80949BA8 10400003 */ beq $v0, $zero, .L80949BB8
/* 10EDC 80949BAC 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949BFC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949BFC.s
index 5291fec172..23651bdfe9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949BFC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949BFC.s
@@ -10,7 +10,7 @@ glabel func_80949BFC
/* 10F4C 80949C1C 24A52BF8 */ addiu $a1, $a1, %lo(D_06032BF8) ## $a1 = 06032BF8
/* 10F50 80949C20 AFA70018 */ sw $a3, 0x0018($sp)
/* 10F54 80949C24 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 10F58 80949C28 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 10F58 80949C28 0C0294D3 */ jal Animation_MorphToLoop
/* 10F5C 80949C2C 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 10F60 80949C30 8FA70018 */ lw $a3, 0x0018($sp)
/* 10F64 80949C34 240F003C */ addiu $t7, $zero, 0x003C ## $t7 = 0000003C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949C4C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949C4C.s
index 281fc79526..b43731d607 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949C4C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949C4C.s
@@ -4,7 +4,7 @@ glabel func_80949C4C
/* 10F84 80949C54 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 10F88 80949C58 AFBF001C */ sw $ra, 0x001C($sp)
/* 10F8C 80949C5C AFA50024 */ sw $a1, 0x0024($sp)
-/* 10F90 80949C60 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 10F90 80949C60 0C02927F */ jal SkelAnime_Update
/* 10F94 80949C64 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 10F98 80949C68 860E017A */ lh $t6, 0x017A($s0) ## 0000017A
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949CE4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949CE4.s
index ef8a104388..2c72446d4c 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949CE4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949CE4.s
@@ -15,7 +15,7 @@ glabel func_80949CE4
/* 11048 80949D18 3C050603 */ lui $a1, %hi(D_060338F0) ## $a1 = 06030000
/* 1104C 80949D1C 24A538F0 */ addiu $a1, $a1, %lo(D_060338F0) ## $a1 = 060338F0
/* 11050 80949D20 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 11054 80949D24 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 11054 80949D24 0C029490 */ jal Animation_MorphToPlayOnce
/* 11058 80949D28 3C06C170 */ lui $a2, 0xC170 ## $a2 = C1700000
/* 1105C 80949D2C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 11060 80949D30 24180096 */ addiu $t8, $zero, 0x0096 ## $t8 = 00000096
@@ -31,10 +31,10 @@ glabel func_80949CE4
/* 11084 80949D54 A609015A */ sh $t1, 0x015A($s0) ## 0000015A
/* 11088 80949D58 24A54374 */ addiu $a1, $a1, %lo(D_06024374) ## $a1 = 06024374
/* 1108C 80949D5C 26040568 */ addiu $a0, $s0, 0x0568 ## $a0 = 00000568
-/* 11090 80949D60 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 11090 80949D60 0C029490 */ jal Animation_MorphToPlayOnce
/* 11094 80949D64 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 11098 80949D68 3C040602 */ lui $a0, %hi(D_06024374) ## $a0 = 06020000
-/* 1109C 80949D6C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 1109C 80949D6C 0C028800 */ jal Animation_GetLastFrame
/* 110A0 80949D70 24844374 */ addiu $a0, $a0, %lo(D_06024374) ## $a0 = 06024374
/* 110A4 80949D74 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949E10.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949E10.s
index 6369a78ca7..13bcdd1853 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949E10.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80949E10.s
@@ -82,7 +82,7 @@ glabel func_80949E10
/* 11254 80949F24 AFA0001C */ sw $zero, 0x001C($sp)
/* 11258 80949F28 26040568 */ addiu $a0, $s0, 0x0568 ## $a0 = 00000568
.L80949F2C:
-/* 1125C 80949F2C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 1125C 80949F2C 0C02927F */ jal SkelAnime_Update
/* 11260 80949F30 AFA40038 */ sw $a0, 0x0038($sp)
/* 11264 80949F34 860E0160 */ lh $t6, 0x0160($s0) ## 00000160
@@ -140,7 +140,7 @@ glabel func_80949E10
/* 11328 80949FF8 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001
/* 1132C 80949FFC 1540001F */ bne $t2, $zero, .L8094A07C
/* 11330 8094A000 248443B4 */ addiu $a0, $a0, %lo(D_060343B4) ## $a0 = 060343B4
-/* 11334 8094A004 0C028800 */ jal SkelAnime_GetFrameCount
+/* 11334 8094A004 0C028800 */ jal Animation_GetLastFrame
/* 11338 8094A008 A60B0440 */ sh $t3, 0x0440($s0) ## 00000440
/* 1133C 8094A00C 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -155,14 +155,14 @@ glabel func_80949E10
/* 11360 8094A030 AFAC0014 */ sw $t4, 0x0014($sp)
/* 11364 8094A034 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 11368 8094A038 8FA40038 */ lw $a0, 0x0038($sp)
-/* 1136C 8094A03C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 1136C 8094A03C 0C029468 */ jal Animation_Change
/* 11370 8094A040 E7A20018 */ swc1 $f2, 0x0018($sp)
/* 11374 8094A044 1000000E */ beq $zero, $zero, .L8094A080
/* 11378 8094A048 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
.L8094A04C:
/* 1137C 8094A04C 8FA40038 */ lw $a0, 0x0038($sp)
-/* 11380 8094A050 0C0295B2 */ jal func_800A56C8
+/* 11380 8094A050 0C0295B2 */ jal Animation_OnFrame
/* 11384 8094A054 8E0501A4 */ lw $a1, 0x01A4($s0) ## 000001A4
/* 11388 8094A058 10400008 */ beq $v0, $zero, .L8094A07C
/* 1138C 8094A05C 3C01447A */ lui $at, 0x447A ## $at = 447A0000
@@ -171,7 +171,7 @@ glabel func_80949E10
/* 11398 8094A068 24A55030 */ addiu $a1, $a1, %lo(D_06035030) ## $a1 = 06035030
/* 1139C 8094A06C E61001A4 */ swc1 $f16, 0x01A4($s0) ## 000001A4
/* 113A0 8094A070 8FA40038 */ lw $a0, 0x0038($sp)
-/* 113A4 8094A074 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 113A4 8094A074 0C0294D3 */ jal Animation_MorphToLoop
/* 113A8 8094A078 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
.L8094A07C:
/* 113AC 8094A07C 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A0C4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A0C4.s
index c5de53cbd9..f5c1ed82e6 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A0C4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A0C4.s
@@ -7,10 +7,10 @@ glabel func_8094A0C4
/* 11408 8094A0D8 24A55988 */ addiu $a1, $a1, %lo(D_06035988) ## $a1 = 06035988
/* 1140C 8094A0DC AFA70018 */ sw $a3, 0x0018($sp)
/* 11410 8094A0E0 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 11414 8094A0E4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 11414 8094A0E4 0C029490 */ jal Animation_MorphToPlayOnce
/* 11418 8094A0E8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 1141C 8094A0EC 3C040603 */ lui $a0, %hi(D_06035988) ## $a0 = 06030000
-/* 11420 8094A0F0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 11420 8094A0F0 0C028800 */ jal Animation_GetLastFrame
/* 11424 8094A0F4 24845988 */ addiu $a0, $a0, %lo(D_06035988) ## $a0 = 06035988
/* 11428 8094A0F8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A12C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A12C.s
index 5602629b69..de11cc7256 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A12C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A12C.s
@@ -5,7 +5,7 @@ glabel func_8094A12C
/* 11468 8094A138 AFBF001C */ sw $ra, 0x001C($sp)
/* 1146C 8094A13C 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 11470 8094A140 AFA5002C */ sw $a1, 0x002C($sp)
-/* 11474 8094A144 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 11474 8094A144 0C02927F */ jal SkelAnime_Update
/* 11478 8094A148 AFA40024 */ sw $a0, 0x0024($sp)
/* 1147C 8094A14C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000
@@ -16,7 +16,7 @@ glabel func_8094A12C
/* 11490 8094A160 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000
/* 11494 8094A164 8FA40024 */ lw $a0, 0x0024($sp)
-/* 11498 8094A168 0C0295B2 */ jal func_800A56C8
+/* 11498 8094A168 0C0295B2 */ jal Animation_OnFrame
/* 1149C 8094A16C 8E0501A4 */ lw $a1, 0x01A4($s0) ## 000001A4
/* 114A0 8094A170 10400008 */ beq $v0, $zero, .L8094A194
/* 114A4 8094A174 3C01447A */ lui $at, 0x447A ## $at = 447A0000
@@ -25,7 +25,7 @@ glabel func_8094A12C
/* 114B0 8094A180 24A52BF8 */ addiu $a1, $a1, %lo(D_06032BF8) ## $a1 = 06032BF8
/* 114B4 8094A184 E60401A4 */ swc1 $f4, 0x01A4($s0) ## 000001A4
/* 114B8 8094A188 8FA40024 */ lw $a0, 0x0024($sp)
-/* 114BC 8094A18C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 114BC 8094A18C 0C0294D3 */ jal Animation_MorphToLoop
/* 114C0 8094A190 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
.L8094A194:
/* 114C4 8094A194 860E0178 */ lh $t6, 0x0178($s0) ## 00000178
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A1C0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A1C0.s
index 931c9c2626..d4c5f68a35 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A1C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A1C0.s
@@ -115,7 +115,7 @@ glabel func_8094A1C0
/* 11684 8094A354 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 11688 8094A358 4600320D */ trunc.w.s $f8, $f6
/* 1168C 8094A35C 440F4000 */ mfc1 $t7, $f8
-/* 11690 8094A360 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 11690 8094A360 0C0294D3 */ jal Animation_MorphToLoop
/* 11694 8094A364 A60F0030 */ sh $t7, 0x0030($s0) ## 00000030
/* 11698 8094A368 8FBF004C */ lw $ra, 0x004C($sp)
/* 1169C 8094A36C D7B40018 */ ldc1 $f20, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A398.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A398.s
index e6178b0066..7fdb098d36 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A398.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A398.s
@@ -14,7 +14,7 @@ glabel func_8094A398
/* 116DC 8094A3AC 0C00BE0A */ jal Audio_PlayActorSound2
/* 116E0 8094A3B0 2405311F */ addiu $a1, $zero, 0x311F ## $a1 = 0000311F
-/* 116E4 8094A3B4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 116E4 8094A3B4 0C02927F */ jal SkelAnime_Update
/* 116E8 8094A3B8 26040568 */ addiu $a0, $s0, 0x0568 ## $a0 = 00000568
/* 116EC 8094A3BC C60804B4 */ lwc1 $f8, 0x04B4($s0) ## 000004B4
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A608.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A608.s
index 178be10019..59fa353a30 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A608.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A608.s
@@ -10,7 +10,7 @@ glabel func_8094A608
/* 11958 8094A628 24A52BF8 */ addiu $a1, $a1, %lo(D_06032BF8) ## $a1 = 06032BF8
/* 1195C 8094A62C AFA70018 */ sw $a3, 0x0018($sp)
/* 11960 8094A630 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 11964 8094A634 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 11964 8094A634 0C0294D3 */ jal Animation_MorphToLoop
/* 11968 8094A638 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 1196C 8094A63C 8FA70018 */ lw $a3, 0x0018($sp)
/* 11970 8094A640 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A660.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A660.s
index fef88995e9..754f4b35b9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A660.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A660.s
@@ -4,7 +4,7 @@ glabel func_8094A660
/* 11998 8094A668 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 1199C 8094A66C AFA5001C */ sw $a1, 0x001C($sp)
/* 119A0 8094A670 AFA60018 */ sw $a2, 0x0018($sp)
-/* 119A4 8094A674 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 119A4 8094A674 0C02927F */ jal SkelAnime_Update
/* 119A8 8094A678 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 119AC 8094A67C 8FA60018 */ lw $a2, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A6D8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A6D8.s
index dbe2155c4e..9b437d1cc0 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A6D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A6D8.s
@@ -10,10 +10,10 @@ glabel func_8094A6D8
/* 11A28 8094A6F8 24A5A2D0 */ addiu $a1, $a1, %lo(D_0603A2D0) ## $a1 = 0603A2D0
/* 11A2C 8094A6FC AFA70018 */ sw $a3, 0x0018($sp)
/* 11A30 8094A700 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
-/* 11A34 8094A704 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 11A34 8094A704 0C029490 */ jal Animation_MorphToPlayOnce
/* 11A38 8094A708 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 11A3C 8094A70C 3C040604 */ lui $a0, %hi(D_0603A2D0) ## $a0 = 06040000
-/* 11A40 8094A710 0C028800 */ jal SkelAnime_GetFrameCount
+/* 11A40 8094A710 0C028800 */ jal Animation_GetLastFrame
/* 11A44 8094A714 2484A2D0 */ addiu $a0, $a0, %lo(D_0603A2D0) ## $a0 = 0603A2D0
/* 11A48 8094A718 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A740.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A740.s
index 749710a0fd..36601bc20f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A740.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8094A740.s
@@ -4,11 +4,11 @@ glabel func_8094A740
/* 11A78 8094A748 AFBF0014 */ sw $ra, 0x0014($sp)
/* 11A7C 8094A74C 24840568 */ addiu $a0, $a0, 0x0568 ## $a0 = 00000568
/* 11A80 8094A750 AFA50024 */ sw $a1, 0x0024($sp)
-/* 11A84 8094A754 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 11A84 8094A754 0C02927F */ jal SkelAnime_Update
/* 11A88 8094A758 AFA4001C */ sw $a0, 0x001C($sp)
/* 11A8C 8094A75C 8FA4001C */ lw $a0, 0x001C($sp)
-/* 11A90 8094A760 0C0295B2 */ jal func_800A56C8
+/* 11A90 8094A760 0C0295B2 */ jal Animation_OnFrame
/* 11A94 8094A764 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000
/* 11A98 8094A768 10400003 */ beq $v0, $zero, .L8094A778
/* 11A9C 8094A76C 8FA40020 */ lw $a0, 0x0020($sp)
@@ -18,7 +18,7 @@ glabel func_8094A740
.L8094A778:
/* 11AA8 8094A778 8FAE0020 */ lw $t6, 0x0020($sp)
/* 11AAC 8094A77C 8FA4001C */ lw $a0, 0x001C($sp)
-/* 11AB0 8094A780 0C0295B2 */ jal func_800A56C8
+/* 11AB0 8094A780 0C0295B2 */ jal Animation_OnFrame
/* 11AB4 8094A784 8DC501A4 */ lw $a1, 0x01A4($t6) ## 000001A4
/* 11AB8 8094A788 10400003 */ beq $v0, $zero, .L8094A798
/* 11ABC 8094A78C 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809506F0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809506F0.s
index 06f5c8c22d..dd4658e517 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809506F0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809506F0.s
@@ -4,7 +4,7 @@ glabel func_809506F0
/* 01438 809506F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0143C 809506FC AFBF002C */ sw $ra, 0x002C($sp)
/* 01440 80950700 3C040600 */ lui $a0, %hi(D_06005184) ## $a0 = 06000000
-/* 01444 80950704 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01444 80950704 0C028800 */ jal Animation_GetLastFrame
/* 01448 80950708 24845184 */ addiu $a0, $a0, %lo(D_06005184) ## $a0 = 06005184
/* 0144C 8095070C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_809506F0
/* 0146C 8095072C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01470 80950730 44070000 */ mfc1 $a3, $f0
/* 01474 80950734 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 01478 80950738 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01478 80950738 0C029468 */ jal Animation_Change
/* 0147C 8095073C E7A60018 */ swc1 $f6, 0x0018($sp)
/* 01480 80950740 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809517A0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809517A0.s
index a30146caf7..ef843a7e18 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809517A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809517A0.s
@@ -4,7 +4,7 @@ glabel func_809517A0
/* 024E8 809517A8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 024EC 809517AC AFBF002C */ sw $ra, 0x002C($sp)
/* 024F0 809517B0 3C040600 */ lui $a0, %hi(D_06005184) ## $a0 = 06000000
-/* 024F4 809517B4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 024F4 809517B4 0C028800 */ jal Animation_GetLastFrame
/* 024F8 809517B8 24845184 */ addiu $a0, $a0, %lo(D_06005184) ## $a0 = 06005184
/* 024FC 809517BC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_809517A0
/* 0251C 809517DC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 02520 809517E0 44070000 */ mfc1 $a3, $f0
/* 02524 809517E4 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 02528 809517E8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02528 809517E8 0C029468 */ jal Animation_Change
/* 0252C 809517EC E7A60018 */ swc1 $f6, 0x0018($sp)
/* 02530 809517F0 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80951844.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80951844.s
index 7ee326a92f..0d698484b9 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80951844.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80951844.s
@@ -79,7 +79,7 @@ glabel func_80951844
/* 02680 80951940 2405393D */ addiu $a1, $zero, 0x393D ## $a1 = 0000393D
.L80951944:
-/* 02684 80951944 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02684 80951944 0C02927F */ jal SkelAnime_Update
/* 02688 80951948 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0268C 8095194C 10400008 */ beq $v0, $zero, .L80951970
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80951C04.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80951C04.s
index abbb00e316..fc8c3b588d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80951C04.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80951C04.s
@@ -240,7 +240,7 @@ glabel func_80951C04
/* 02C78 80951F38 AE0C0004 */ sw $t4, 0x0004($s0) ## 00000004
/* 02C7C 80951F3C E6060068 */ swc1 $f6, 0x0068($s0) ## 00000068
.L80951F40:
-/* 02C80 80951F40 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02C80 80951F40 0C02927F */ jal SkelAnime_Update
/* 02C84 80951F44 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02C88 80951F48 10400007 */ beq $v0, $zero, .L80951F68
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095213C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095213C.s
index db0d1c3906..b218e7499a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095213C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095213C.s
@@ -253,7 +253,7 @@ glabel func_8095213C
/* 031BC 8095247C 0C00B638 */ jal Actor_MoveForward
/* 031C0 80952480 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
-/* 031C4 80952484 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 031C4 80952484 0C02927F */ jal SkelAnime_Update
/* 031C8 80952488 2664014C */ addiu $a0, $s3, 0x014C ## $a0 = 0000014C
/* 031CC 8095248C 10400008 */ beq $v0, $zero, .L809524B0
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80952858.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80952858.s
index b8e5873cc9..2cca440846 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80952858.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80952858.s
@@ -250,7 +250,7 @@ glabel func_80952858
/* 038E8 80952BA8 2449FFFF */ addiu $t1, $v0, 0xFFFF ## $t1 = FFFFFFFF
/* 038EC 80952BAC A609019C */ sh $t1, 0x019C($s0) ## 0000019C
.L80952BB0:
-/* 038F0 80952BB0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 038F0 80952BB0 0C02927F */ jal SkelAnime_Update
/* 038F4 80952BB4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 038F8 80952BB8 8E0A0198 */ lw $t2, 0x0198($s0) ## 00000198
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809533F4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809533F4.s
index 1ed33d2104..ef8f6ac2b4 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809533F4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809533F4.s
@@ -741,7 +741,7 @@ glabel L80953CD8
/* 04B68 80953E28 0C030136 */ jal Gameplay_CameraSetAtEye
/* 04B6C 80953E2C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000
.L80953E30:
-/* 04B70 80953E30 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04B70 80953E30 0C02927F */ jal SkelAnime_Update
/* 04B74 80953E34 2664014C */ addiu $a0, $s3, 0x014C ## $a0 = 0000014C
/* 04B78 80953E38 266400BC */ addiu $a0, $s3, 0x00BC ## $a0 = 000000BC
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80953F4C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80953F4C.s
index 45b7546f3d..dae18b4703 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80953F4C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80953F4C.s
@@ -4,7 +4,7 @@ glabel func_80953F4C
/* 04C94 80953F54 AFBF0024 */ sw $ra, 0x0024($sp)
/* 04C98 80953F58 3C040601 */ lui $a0, %hi(D_060166A8) ## $a0 = 06010000
/* 04C9C 80953F5C AFA5002C */ sw $a1, 0x002C($sp)
-/* 04CA0 80953F60 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04CA0 80953F60 0C028800 */ jal Animation_GetLastFrame
/* 04CA4 80953F64 248466A8 */ addiu $a0, $a0, %lo(D_060166A8) ## $a0 = 060166A8
/* 04CA8 80953F68 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80953F4C
/* 04CCC 80953F8C 24A566A8 */ addiu $a1, $a1, %lo(D_060166A8) ## $a1 = 060166A8
/* 04CD0 80953F90 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 04CD4 80953F94 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 04CD8 80953F98 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04CD8 80953F98 0C029468 */ jal Animation_Change
/* 04CDC 80953F9C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 04CE0 80953FA0 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80953FC4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80953FC4.s
index b9553b4292..67bd7fa72c 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80953FC4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80953FC4.s
@@ -50,7 +50,7 @@ glabel func_80953FC4
/* 04DAC 8095406C 0C253E19 */ jal func_8094F864
/* 04DB0 80954070 E7A60014 */ swc1 $f6, 0x0014($sp)
.L80954074:
-/* 04DB4 80954074 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04DB4 80954074 0C02927F */ jal SkelAnime_Update
/* 04DB8 80954078 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 04DBC 8095407C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809540E4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809540E4.s
index 3b12b3f708..eac6514f1e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809540E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809540E4.s
@@ -4,7 +4,7 @@ glabel func_809540E4
/* 04E2C 809540EC AFBF0024 */ sw $ra, 0x0024($sp)
/* 04E30 809540F0 3C040601 */ lui $a0, %hi(D_060166A8) ## $a0 = 06010000
/* 04E34 809540F4 AFA5002C */ sw $a1, 0x002C($sp)
-/* 04E38 809540F8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04E38 809540F8 0C028800 */ jal Animation_GetLastFrame
/* 04E3C 809540FC 248466A8 */ addiu $a0, $a0, %lo(D_060166A8) ## $a0 = 060166A8
/* 04E40 80954100 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_809540E4
/* 04E60 80954120 AFA00014 */ sw $zero, 0x0014($sp)
/* 04E64 80954124 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 04E68 80954128 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 04E6C 8095412C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04E6C 8095412C 0C029468 */ jal Animation_Change
/* 04E70 80954130 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 04E74 80954134 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954168.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954168.s
index d983612102..4be81394fd 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954168.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954168.s
@@ -33,7 +33,7 @@ glabel func_80954168
/* 04F0C 809541CC 45000013 */ bc1f .L8095421C
/* 04F10 809541D0 00000000 */ nop
/* 04F14 809541D4 3C040601 */ lui $a0, %hi(D_060162AC) ## $a0 = 06010000
-/* 04F18 809541D8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04F18 809541D8 0C028800 */ jal Animation_GetLastFrame
/* 04F1C 809541DC 248462AC */ addiu $a0, $a0, %lo(D_060162AC) ## $a0 = 060162AC
/* 04F20 809541E0 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -47,13 +47,13 @@ glabel func_80954168
/* 04F40 80954200 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 04F44 80954204 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 04F48 80954208 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 04F4C 8095420C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04F4C 8095420C 0C029468 */ jal Animation_Change
/* 04F50 80954210 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 04F54 80954214 10000011 */ beq $zero, $zero, .L8095425C
/* 04F58 80954218 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L8095421C:
-/* 04F5C 8095421C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04F5C 8095421C 0C028800 */ jal Animation_GetLastFrame
/* 04F60 80954220 248464B0 */ addiu $a0, $a0, 0x64B0 ## $a0 = 000065FC
/* 04F64 80954224 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -67,18 +67,18 @@ glabel func_80954168
/* 04F84 80954244 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04F88 80954248 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 04F8C 8095424C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 04F90 80954250 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04F90 80954250 0C029468 */ jal Animation_Change
/* 04F94 80954254 E7B20018 */ swc1 $f18, 0x0018($sp)
.L80954258:
/* 04F98 80954258 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L8095425C:
-/* 04F9C 8095425C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04F9C 8095425C 0C02927F */ jal SkelAnime_Update
/* 04FA0 80954260 AFA40038 */ sw $a0, 0x0038($sp)
/* 04FA4 80954264 1040000F */ beq $v0, $zero, .L809542A4
/* 04FA8 80954268 3C040601 */ lui $a0, %hi(D_060166A8) ## $a0 = 06010000
-/* 04FAC 8095426C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04FAC 8095426C 0C028800 */ jal Animation_GetLastFrame
/* 04FB0 80954270 248466A8 */ addiu $a0, $a0, %lo(D_060166A8) ## $a0 = 060166A8
/* 04FB4 80954274 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -91,7 +91,7 @@ glabel func_80954168
/* 04FD0 80954290 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04FD4 80954294 AFA00014 */ sw $zero, 0x0014($sp)
/* 04FD8 80954298 E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 04FDC 8095429C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04FDC 8095429C 0C029468 */ jal Animation_Change
/* 04FE0 809542A0 E7A00018 */ swc1 $f0, 0x0018($sp)
.L809542A4:
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954454.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954454.s
index ac05b28353..7cfaf0ebee 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954454.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954454.s
@@ -11,7 +11,7 @@ glabel func_80954454
/* 051B8 80954478 3C040601 */ lui $a0, %hi(D_06017694) ## $a0 = 06010000
/* 051BC 8095447C 51E00054 */ beql $t7, $zero, .L809545D0
/* 051C0 80954480 8FAA004C */ lw $t2, 0x004C($sp)
-/* 051C4 80954484 0C028800 */ jal SkelAnime_GetFrameCount
+/* 051C4 80954484 0C028800 */ jal Animation_GetLastFrame
/* 051C8 80954488 24847694 */ addiu $a0, $a0, %lo(D_06017694) ## $a0 = 06017694
/* 051CC 8095448C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -53,7 +53,7 @@ glabel func_80954454
/* 05258 80954518 8FA4003C */ lw $a0, 0x003C($sp)
/* 0525C 8095451C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 05260 80954520 E7B20010 */ swc1 $f18, 0x0010($sp)
-/* 05264 80954524 0C029468 */ jal SkelAnime_ChangeAnim
+/* 05264 80954524 0C029468 */ jal Animation_Change
/* 05268 80954528 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0526C 8095452C 3C018096 */ lui $at, %hi(D_809668D0) ## $at = 80960000
@@ -116,12 +116,12 @@ glabel func_80954454
/* 0533C 809545FC 0C01E1A7 */ jal Math_SmoothStepToS
/* 05340 80954600 240704B0 */ addiu $a3, $zero, 0x04B0 ## $a3 = 000004B0
-/* 05344 80954604 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05344 80954604 0C02927F */ jal SkelAnime_Update
/* 05348 80954608 8FA4003C */ lw $a0, 0x003C($sp)
/* 0534C 8095460C 10400014 */ beq $v0, $zero, .L80954660
/* 05350 80954610 3C040601 */ lui $a0, %hi(D_060177F4) ## $a0 = 06010000
-/* 05354 80954614 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05354 80954614 0C028800 */ jal Animation_GetLastFrame
/* 05358 80954618 248477F4 */ addiu $a0, $a0, %lo(D_060177F4) ## $a0 = 060177F4
/* 0535C 8095461C 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -135,7 +135,7 @@ glabel func_80954454
/* 0537C 8095463C 8FA4003C */ lw $a0, 0x003C($sp)
/* 05380 80954640 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 05384 80954644 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 05388 80954648 0C029468 */ jal SkelAnime_ChangeAnim
+/* 05388 80954648 0C029468 */ jal Animation_Change
/* 0538C 8095464C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 05390 80954650 8E0D0004 */ lw $t5, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954924.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954924.s
index 335b394005..5e0c91756a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954924.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954924.s
@@ -4,7 +4,7 @@ glabel func_80954924
/* 0566C 8095492C AFBF0024 */ sw $ra, 0x0024($sp)
/* 05670 80954930 3C040602 */ lui $a0, %hi(D_06018150) ## $a0 = 06020000
/* 05674 80954934 AFA5002C */ sw $a1, 0x002C($sp)
-/* 05678 80954938 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05678 80954938 0C028800 */ jal Animation_GetLastFrame
/* 0567C 8095493C 24848150 */ addiu $a0, $a0, %lo(D_06018150) ## $a0 = 06018150
/* 05680 80954940 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80954924
/* 056A4 80954964 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 056A8 80954968 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 056AC 8095496C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 056B0 80954970 0C029468 */ jal SkelAnime_ChangeAnim
+/* 056B0 80954970 0C029468 */ jal Animation_Change
/* 056B4 80954974 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 056B8 80954978 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809549A8.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809549A8.s
index 456df888fb..d7c1381e9d 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809549A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809549A8.s
@@ -8,7 +8,7 @@ glabel func_809549A8
/* 056EC 809549AC AFBF0014 */ sw $ra, 0x0014($sp)
/* 056F0 809549B0 AFA40018 */ sw $a0, 0x0018($sp)
/* 056F4 809549B4 AFA5001C */ sw $a1, 0x001C($sp)
-/* 056F8 809549B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 056F8 809549B8 0C02927F */ jal SkelAnime_Update
/* 056FC 809549BC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 05700 809549C0 10400012 */ beq $v0, $zero, .L80954A0C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954A3C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954A3C.s
index 849f8d65f1..3d49a3fa2b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954A3C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954A3C.s
@@ -4,7 +4,7 @@ glabel func_80954A3C
/* 05784 80954A44 AFBF0024 */ sw $ra, 0x0024($sp)
/* 05788 80954A48 3C040602 */ lui $a0, %hi(D_06018D18) ## $a0 = 06020000
/* 0578C 80954A4C AFA5002C */ sw $a1, 0x002C($sp)
-/* 05790 80954A50 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05790 80954A50 0C028800 */ jal Animation_GetLastFrame
/* 05794 80954A54 24848D18 */ addiu $a0, $a0, %lo(D_06018D18) ## $a0 = 06018D18
/* 05798 80954A58 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -23,7 +23,7 @@ glabel func_80954A3C
/* 057CC 80954A8C 44073000 */ mfc1 $a3, $f6
/* 057D0 80954A90 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 057D4 80954A94 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 057D8 80954A98 0C029468 */ jal SkelAnime_ChangeAnim
+/* 057D8 80954A98 0C029468 */ jal Animation_Change
/* 057DC 80954A9C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 057E0 80954AA0 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954AD0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954AD0.s
index cfdad8ccc1..9122c68f88 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954AD0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954AD0.s
@@ -19,7 +19,7 @@ glabel func_80954AD0
/* 05854 80954B14 10000008 */ beq $zero, $zero, .L80954B38
/* 05858 80954B18 860E00B6 */ lh $t6, 0x00B6($s0) ## 000000B6
.L80954B1C:
-/* 0585C 80954B1C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0585C 80954B1C 0C02927F */ jal SkelAnime_Update
/* 05860 80954B20 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 05864 80954B24 10000004 */ beq $zero, $zero, .L80954B38
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954B8C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954B8C.s
index 102b9d7328..d1a06035a7 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954B8C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954B8C.s
@@ -4,7 +4,7 @@ glabel func_80954B8C
/* 058D4 80954B94 AFBF0024 */ sw $ra, 0x0024($sp)
/* 058D8 80954B98 3C040602 */ lui $a0, %hi(D_06018D18) ## $a0 = 06020000
/* 058DC 80954B9C AFA5002C */ sw $a1, 0x002C($sp)
-/* 058E0 80954BA0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 058E0 80954BA0 0C028800 */ jal Animation_GetLastFrame
/* 058E4 80954BA4 24848D18 */ addiu $a0, $a0, %lo(D_06018D18) ## $a0 = 06018D18
/* 058E8 80954BA8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -23,7 +23,7 @@ glabel func_80954B8C
/* 0591C 80954BDC 44073000 */ mfc1 $a3, $f6
/* 05920 80954BE0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 05924 80954BE4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 05928 80954BE8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 05928 80954BE8 0C029468 */ jal Animation_Change
/* 0592C 80954BEC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 05930 80954BF0 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954C20.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954C20.s
index 1c4cd2dd73..6732b13ac4 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954C20.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80954C20.s
@@ -206,7 +206,7 @@ glabel func_80954C20
.L80954EE4:
/* 05C24 80954EE4 A7AF0090 */ sh $t7, 0x0090($sp)
.L80954EE8:
-/* 05C28 80954EE8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05C28 80954EE8 0C02927F */ jal SkelAnime_Update
/* 05C2C 80954EEC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 05C30 80954EF0 0C253CB2 */ jal func_8094F2C8
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955658.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955658.s
index 4f0fd45558..c6f8c0bf33 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955658.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955658.s
@@ -14,7 +14,7 @@ glabel func_80955658
/* 063C4 80955684 45000014 */ bc1f .L809556D8
/* 063C8 80955688 00000000 */ nop
/* 063CC 8095568C 3C040602 */ lui $a0, %hi(D_06018A68) ## $a0 = 06020000
-/* 063D0 80955690 0C028800 */ jal SkelAnime_GetFrameCount
+/* 063D0 80955690 0C028800 */ jal Animation_GetLastFrame
/* 063D4 80955694 24848A68 */ addiu $a0, $a0, %lo(D_06018A68) ## $a0 = 06018A68
/* 063D8 80955698 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -29,13 +29,13 @@ glabel func_80955658
/* 063FC 809556BC E7A80010 */ swc1 $f8, 0x0010($sp)
/* 06400 809556C0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 06404 809556C4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 06408 809556C8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06408 809556C8 0C029468 */ jal Animation_Change
/* 0640C 809556CC E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 06410 809556D0 10000012 */ beq $zero, $zero, .L8095571C
/* 06414 809556D4 2418000C */ addiu $t8, $zero, 0x000C ## $t8 = 0000000C
.L809556D8:
-/* 06418 809556D8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06418 809556D8 0C028800 */ jal Animation_GetLastFrame
/* 0641C 809556DC 24848B90 */ addiu $a0, $a0, 0x8B90 ## $a0 = FFFF8B90
/* 06420 809556E0 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -50,7 +50,7 @@ glabel func_80955658
/* 06444 80955704 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 06448 80955708 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 0644C 8095570C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 06450 80955710 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06450 80955710 0C029468 */ jal Animation_Change
/* 06454 80955714 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 06458 80955718 2418000C */ addiu $t8, $zero, 0x000C ## $t8 = 0000000C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095575C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095575C.s
index 465c40001a..5de2007783 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095575C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095575C.s
@@ -52,7 +52,7 @@ glabel func_8095575C
/* 06550 80955810 0C01E1A7 */ jal Math_SmoothStepToS
/* 06554 80955814 240702EE */ addiu $a3, $zero, 0x02EE ## $a3 = 000002EE
-/* 06558 80955818 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06558 80955818 0C02927F */ jal SkelAnime_Update
/* 0655C 8095581C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 06560 80955820 1040000D */ beq $v0, $zero, .L80955858
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095586C.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095586C.s
index da8f7f936a..11e75e92b5 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095586C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_8095586C.s
@@ -5,7 +5,7 @@ glabel func_8095586C
/* 065B8 80955878 AFBF002C */ sw $ra, 0x002C($sp)
/* 065BC 8095587C 3C040602 */ lui $a0, %hi(D_06018D18) ## $a0 = 06020000
/* 065C0 80955880 AFA50044 */ sw $a1, 0x0044($sp)
-/* 065C4 80955884 0C028800 */ jal SkelAnime_GetFrameCount
+/* 065C4 80955884 0C028800 */ jal Animation_GetLastFrame
/* 065C8 80955888 24848D18 */ addiu $a0, $a0, %lo(D_06018D18) ## $a0 = 06018D18
/* 065CC 8095588C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -35,7 +35,7 @@ glabel func_8095586C
/* 06624 809558E4 24A58D18 */ addiu $a1, $a1, %lo(D_06018D18) ## $a1 = 06018D18
/* 06628 809558E8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0662C 809558EC E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 06630 809558F0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06630 809558F0 0C029468 */ jal Animation_Change
/* 06634 809558F4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 06638 809558F8 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955940.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955940.s
index 675d1e7a10..4ae4beb7b5 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955940.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955940.s
@@ -62,7 +62,7 @@ glabel func_80955940
/* 0674C 80955A0C E7B00010 */ swc1 $f16, 0x0010($sp)
.L80955A10:
-/* 06750 80955A10 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06750 80955A10 0C02927F */ jal SkelAnime_Update
/* 06754 80955A14 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 06758 80955A18 3C0143FA */ lui $at, 0x43FA ## $at = 43FA0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955E64.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955E64.s
index ea87d1fbde..8faed81aff 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955E64.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955E64.s
@@ -4,7 +4,7 @@ glabel func_80955E64
/* 06BAC 80955E6C AFBF0024 */ sw $ra, 0x0024($sp)
/* 06BB0 80955E70 3C040602 */ lui $a0, %hi(D_06018D18) ## $a0 = 06020000
/* 06BB4 80955E74 AFA5002C */ sw $a1, 0x002C($sp)
-/* 06BB8 80955E78 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06BB8 80955E78 0C028800 */ jal Animation_GetLastFrame
/* 06BBC 80955E7C 24848D18 */ addiu $a0, $a0, %lo(D_06018D18) ## $a0 = 06018D18
/* 06BC0 80955E80 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -23,7 +23,7 @@ glabel func_80955E64
/* 06BF4 80955EB4 44073000 */ mfc1 $a3, $f6
/* 06BF8 80955EB8 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 06BFC 80955EBC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 06C00 80955EC0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06C00 80955EC0 0C029468 */ jal Animation_Change
/* 06C04 80955EC4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 06C08 80955EC8 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955EEC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955EEC.s
index c2acd1139a..c1881cab73 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955EEC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80955EEC.s
@@ -23,7 +23,7 @@ glabel func_80955EEC
/* 06C6C 80955F2C C7A40058 */ lwc1 $f4, 0x0058($sp)
/* 06C70 80955F30 AFA20074 */ sw $v0, 0x0074($sp)
/* 06C74 80955F34 46062200 */ add.s $f8, $f4, $f6
-/* 06C78 80955F38 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06C78 80955F38 0C02927F */ jal SkelAnime_Update
/* 06C7C 80955F3C E7A80058 */ swc1 $f8, 0x0058($sp)
/* 06C80 80955F40 0C253CB2 */ jal func_8094F2C8
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80956644.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80956644.s
index 138fe3a627..e89ac8324a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80956644.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80956644.s
@@ -4,7 +4,7 @@ glabel func_80956644
/* 0738C 8095664C AFBF0024 */ sw $ra, 0x0024($sp)
/* 07390 80956650 3C040602 */ lui $a0, %hi(D_06018B90) ## $a0 = 06020000
/* 07394 80956654 AFA5002C */ sw $a1, 0x002C($sp)
-/* 07398 80956658 0C028800 */ jal SkelAnime_GetFrameCount
+/* 07398 80956658 0C028800 */ jal Animation_GetLastFrame
/* 0739C 8095665C 24848B90 */ addiu $a0, $a0, %lo(D_06018B90) ## $a0 = 06018B90
/* 073A0 80956660 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -21,7 +21,7 @@ glabel func_80956644
/* 073CC 8095668C 24A58B90 */ addiu $a1, $a1, %lo(D_06018B90) ## $a1 = 06018B90
/* 073D0 80956690 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 073D4 80956694 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 073D8 80956698 0C029468 */ jal SkelAnime_ChangeAnim
+/* 073D8 80956698 0C029468 */ jal Animation_Change
/* 073DC 8095669C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 073E0 809566A0 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809566C4.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809566C4.s
index 641a354c6d..fac050068f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809566C4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809566C4.s
@@ -4,7 +4,7 @@ glabel func_809566C4
/* 0740C 809566CC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 07410 809566D0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 07414 809566D4 AFA5002C */ sw $a1, 0x002C($sp)
-/* 07418 809566D8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 07418 809566D8 0C02927F */ jal SkelAnime_Update
/* 0741C 809566DC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 07420 809566E0 0C253CB2 */ jal func_8094F2C8
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809567D0.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809567D0.s
index 07ff42db53..58e89af9af 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809567D0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809567D0.s
@@ -5,7 +5,7 @@ glabel func_809567D0
/* 0751C 809567DC AFBF002C */ sw $ra, 0x002C($sp)
/* 07520 809567E0 3C040600 */ lui $a0, %hi(D_06000024) ## $a0 = 06000000
/* 07524 809567E4 AFA50034 */ sw $a1, 0x0034($sp)
-/* 07528 809567E8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 07528 809567E8 0C028800 */ jal Animation_GetLastFrame
/* 0752C 809567EC 24840024 */ addiu $a0, $a0, %lo(D_06000024) ## $a0 = 06000024
/* 07530 809567F0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_809567D0
/* 0754C 8095680C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 07550 80956810 AFA00014 */ sw $zero, 0x0014($sp)
/* 07554 80956814 E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 07558 80956818 0C029468 */ jal SkelAnime_ChangeAnim
+/* 07558 80956818 0C029468 */ jal Animation_Change
/* 0755C 8095681C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 07560 80956820 3C014270 */ lui $at, 0x4270 ## $at = 42700000
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80956E38.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80956E38.s
index ba2ae3a10a..c99c4109f4 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80956E38.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_80956E38.s
@@ -5,7 +5,7 @@ glabel func_80956E38
/* 07B84 80956E44 AFBF002C */ sw $ra, 0x002C($sp)
/* 07B88 80956E48 3C040600 */ lui $a0, %hi(D_06000024) ## $a0 = 06000000
/* 07B8C 80956E4C AFA50034 */ sw $a1, 0x0034($sp)
-/* 07B90 80956E50 0C028800 */ jal SkelAnime_GetFrameCount
+/* 07B90 80956E50 0C028800 */ jal Animation_GetLastFrame
/* 07B94 80956E54 24840024 */ addiu $a0, $a0, %lo(D_06000024) ## $a0 = 06000024
/* 07B98 80956E58 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80956E38
/* 07BB4 80956E74 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 07BB8 80956E78 AFA00014 */ sw $zero, 0x0014($sp)
/* 07BBC 80956E7C E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 07BC0 80956E80 0C029468 */ jal SkelAnime_ChangeAnim
+/* 07BC0 80956E80 0C029468 */ jal Animation_Change
/* 07BC4 80956E84 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 07BC8 80956E88 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809572DC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809572DC.s
index d76dc37845..6c2bef27ad 100644
--- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809572DC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/func_809572DC.s
@@ -5,7 +5,7 @@ glabel func_809572DC
/* 08028 809572E8 AFBF002C */ sw $ra, 0x002C($sp)
/* 0802C 809572EC 3C040600 */ lui $a0, %hi(D_06000024) ## $a0 = 06000000
/* 08030 809572F0 AFA50034 */ sw $a1, 0x0034($sp)
-/* 08034 809572F4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 08034 809572F4 0C028800 */ jal Animation_GetLastFrame
/* 08038 809572F8 24840024 */ addiu $a0, $a0, %lo(D_06000024) ## $a0 = 06000024
/* 0803C 809572FC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_809572DC
/* 08058 80957318 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0805C 8095731C AFA00014 */ sw $zero, 0x0014($sp)
/* 08060 80957320 E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 08064 80957324 0C029468 */ jal SkelAnime_ChangeAnim
+/* 08064 80957324 0C029468 */ jal Animation_Change
/* 08068 80957328 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0806C 8095732C 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969C38.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969C38.s
index fcc25b10fd..0fe9f3236f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969C38.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969C38.s
@@ -1,7 +1,7 @@
glabel func_80969C38
/* 00168 80969C38 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0016C 80969C3C AFBF0014 */ sw $ra, 0x0014($sp)
-/* 00170 80969C40 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00170 80969C40 0C02927F */ jal SkelAnime_Update
/* 00174 80969C44 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00178 80969C48 8FBF0014 */ lw $ra, 0x0014($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969DDC.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969DDC.s
index d8fd138d3c..266ed3082a 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969DDC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969DDC.s
@@ -5,7 +5,7 @@ glabel func_80969DDC
/* 00318 80969DE8 AFA5002C */ sw $a1, 0x002C($sp)
/* 0031C 80969DEC AFA60030 */ sw $a2, 0x0030($sp)
/* 00320 80969DF0 AFA70034 */ sw $a3, 0x0034($sp)
-/* 00324 80969DF4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00324 80969DF4 0C028800 */ jal Animation_GetLastFrame
/* 00328 80969DF8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0032C 80969DFC 8FAE0038 */ lw $t6, 0x0038($sp)
@@ -32,7 +32,7 @@ glabel func_80969DDC
/* 00378 80969E48 44070000 */ mfc1 $a3, $f0
/* 0037C 80969E4C E7A20010 */ swc1 $f2, 0x0010($sp)
/* 00380 80969E50 AFAF0014 */ sw $t7, 0x0014($sp)
-/* 00384 80969E54 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00384 80969E54 0C029468 */ jal Animation_Change
/* 00388 80969E58 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0038C 80969E5C 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A0D8.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A0D8.s
index 6fe3a6625d..0653f017c4 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A0D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A0D8.s
@@ -13,7 +13,7 @@ glabel func_8096A0D8
/* 00634 8096A104 3C040600 */ lui $a0, %hi(D_06000800) ## $a0 = 06000000
/* 00638 8096A108 51E10015 */ beql $t7, $at, .L8096A160
/* 0063C 8096A10C 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 00640 8096A110 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00640 8096A110 0C028800 */ jal Animation_GetLastFrame
/* 00644 8096A114 24840800 */ addiu $a0, $a0, %lo(D_06000800) ## $a0 = 06000800
/* 00648 8096A118 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_8096A0D8
/* 0066C 8096A13C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00670 8096A140 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00674 8096A144 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00678 8096A148 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00678 8096A148 0C029468 */ jal Animation_Change
/* 0067C 8096A14C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00680 8096A150 8FA80028 */ lw $t0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A16C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A16C.s
index 0525a506ea..79ff06fcf6 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A16C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A16C.s
@@ -4,7 +4,7 @@ glabel func_8096A16C
/* 006A4 8096A174 10A00014 */ beq $a1, $zero, .L8096A1C8
/* 006A8 8096A178 AFA40028 */ sw $a0, 0x0028($sp)
/* 006AC 8096A17C 3C040600 */ lui $a0, %hi(D_06000D00) ## $a0 = 06000000
-/* 006B0 8096A180 0C028800 */ jal SkelAnime_GetFrameCount
+/* 006B0 8096A180 0C028800 */ jal Animation_GetLastFrame
/* 006B4 8096A184 24840D00 */ addiu $a0, $a0, %lo(D_06000D00) ## $a0 = 06000D00
/* 006B8 8096A188 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_8096A16C
/* 006D8 8096A1A8 AFA00014 */ sw $zero, 0x0014($sp)
/* 006DC 8096A1AC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 006E0 8096A1B0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 006E4 8096A1B4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 006E4 8096A1B4 0C029468 */ jal Animation_Change
/* 006E8 8096A1B8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 006EC 8096A1BC 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A6E0.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A6E0.s
index 3d429d0d2d..222fe01972 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A6E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A6E0.s
@@ -20,11 +20,11 @@ glabel func_8096A6E0
/* 00C58 8096A728 F7B80038 */ sdc1 $f24, 0x0038($sp)
/* 00C5C 8096A72C F7B60030 */ sdc1 $f22, 0x0030($sp)
/* 00C60 8096A730 F7B40028 */ sdc1 $f20, 0x0028($sp)
-/* 00C64 8096A734 0C0295B2 */ jal func_800A56C8
+/* 00C64 8096A734 0C0295B2 */ jal Animation_OnFrame
/* 00C68 8096A738 AFA40080 */ sw $a0, 0x0080($sp)
/* 00C6C 8096A73C 14400004 */ bne $v0, $zero, .L8096A750
/* 00C70 8096A740 8FA40080 */ lw $a0, 0x0080($sp)
-/* 00C74 8096A744 0C0295B2 */ jal func_800A56C8
+/* 00C74 8096A744 0C0295B2 */ jal Animation_OnFrame
/* 00C78 8096A748 3C054224 */ lui $a1, 0x4224 ## $a1 = 42240000
/* 00C7C 8096A74C 10400077 */ beq $v0, $zero, .L8096A92C
.L8096A750:
@@ -72,7 +72,7 @@ glabel func_8096A6E0
/* 00D20 8096A7F0 4405E000 */ mfc1 $a1, $f28
/* 00D24 8096A7F4 AE4C0000 */ sw $t4, 0x0000($s2) ## FFFFFFCC
/* 00D28 8096A7F8 AE6E0000 */ sw $t6, 0x0000($s3) ## FFFFFFC8
-/* 00D2C 8096A7FC 0C0295B2 */ jal func_800A56C8
+/* 00D2C 8096A7FC 0C0295B2 */ jal Animation_OnFrame
/* 00D30 8096A800 8FA40080 */ lw $a0, 0x0080($sp)
/* 00D34 8096A804 5040000F */ beql $v0, $zero, .L8096A844
/* 00D38 8096A808 C60A0000 */ lwc1 $f10, 0x0000($s0) ## 8096CEE8
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AA5C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AA5C.s
index ef9e1ef94b..89f79795fa 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AA5C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AA5C.s
@@ -13,7 +13,7 @@ glabel func_8096AA5C
/* 00FB8 8096AA88 3C040600 */ lui $a0, %hi(D_0600288C) ## $a0 = 06000000
/* 00FBC 8096AA8C 11E10018 */ beq $t7, $at, .L8096AAF0
/* 00FC0 8096AA90 2484288C */ addiu $a0, $a0, %lo(D_0600288C) ## $a0 = 0600288C
-/* 00FC4 8096AA94 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00FC4 8096AA94 0C028800 */ jal Animation_GetLastFrame
/* 00FC8 8096AA98 AFA5002C */ sw $a1, 0x002C($sp)
/* 00FCC 8096AA9C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_8096AA5C
/* 00FF0 8096AAC0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00FF4 8096AAC4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00FF8 8096AAC8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00FFC 8096AACC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00FFC 8096AACC 0C029468 */ jal Animation_Change
/* 01000 8096AAD0 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01004 8096AAD4 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AB8C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AB8C.s
index ba800b6e3f..b16ba4360c 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AB8C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AB8C.s
@@ -4,7 +4,7 @@ glabel func_8096AB8C
/* 010C4 8096AB94 10A00014 */ beq $a1, $zero, .L8096ABE8
/* 010C8 8096AB98 AFA40028 */ sw $a0, 0x0028($sp)
/* 010CC 8096AB9C 3C040600 */ lui $a0, %hi(D_06006EB0) ## $a0 = 06000000
-/* 010D0 8096ABA0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 010D0 8096ABA0 0C028800 */ jal Animation_GetLastFrame
/* 010D4 8096ABA4 24846EB0 */ addiu $a0, $a0, %lo(D_06006EB0) ## $a0 = 06006EB0
/* 010D8 8096ABA8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_8096AB8C
/* 010F8 8096ABC8 AFA00014 */ sw $zero, 0x0014($sp)
/* 010FC 8096ABCC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01100 8096ABD0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01104 8096ABD4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01104 8096ABD4 0C029468 */ jal Animation_Change
/* 01108 8096ABD8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0110C 8096ABDC 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096ABF8.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096ABF8.s
index 226df4d43d..8c07d460a3 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096ABF8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096ABF8.s
@@ -13,7 +13,7 @@ glabel func_8096ABF8
/* 01154 8096AC24 3C040600 */ lui $a0, %hi(D_06002374) ## $a0 = 06000000
/* 01158 8096AC28 51E10016 */ beql $t7, $at, .L8096AC84
/* 0115C 8096AC2C 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 01160 8096AC30 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01160 8096AC30 0C028800 */ jal Animation_GetLastFrame
/* 01164 8096AC34 24842374 */ addiu $a0, $a0, %lo(D_06002374) ## $a0 = 06002374
/* 01168 8096AC38 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -29,7 +29,7 @@ glabel func_8096ABF8
/* 01190 8096AC60 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01194 8096AC64 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01198 8096AC68 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 0119C 8096AC6C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0119C 8096AC6C 0C029468 */ jal Animation_Change
/* 011A0 8096AC70 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 011A4 8096AC74 8FA80028 */ lw $t0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AC90.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AC90.s
index 38161426c9..35f9da2d1b 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AC90.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AC90.s
@@ -4,7 +4,7 @@ glabel func_8096AC90
/* 011C8 8096AC98 10A00014 */ beq $a1, $zero, .L8096ACEC
/* 011CC 8096AC9C AFA40028 */ sw $a0, 0x0028($sp)
/* 011D0 8096ACA0 3C040600 */ lui $a0, %hi(D_06006EB0) ## $a0 = 06000000
-/* 011D4 8096ACA4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 011D4 8096ACA4 0C028800 */ jal Animation_GetLastFrame
/* 011D8 8096ACA8 24846EB0 */ addiu $a0, $a0, %lo(D_06006EB0) ## $a0 = 06006EB0
/* 011DC 8096ACAC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_8096AC90
/* 011FC 8096ACCC AFA00014 */ sw $zero, 0x0014($sp)
/* 01200 8096ACD0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01204 8096ACD4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01208 8096ACD8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01208 8096ACD8 0C029468 */ jal Animation_Change
/* 0120C 8096ACDC E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01210 8096ACE0 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096ACFC.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096ACFC.s
index 4fa89580f0..b7cb63bcd2 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096ACFC.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096ACFC.s
@@ -13,7 +13,7 @@ glabel func_8096ACFC
/* 01258 8096AD28 3C040600 */ lui $a0, %hi(D_06001D70) ## $a0 = 06000000
/* 0125C 8096AD2C 51E10015 */ beql $t7, $at, .L8096AD84
/* 01260 8096AD30 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 01264 8096AD34 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01264 8096AD34 0C028800 */ jal Animation_GetLastFrame
/* 01268 8096AD38 24841D70 */ addiu $a0, $a0, %lo(D_06001D70) ## $a0 = 06001D70
/* 0126C 8096AD3C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_8096ACFC
/* 01290 8096AD60 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01294 8096AD64 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01298 8096AD68 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0129C 8096AD6C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0129C 8096AD6C 0C029468 */ jal Animation_Change
/* 012A0 8096AD70 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 012A4 8096AD74 8FA80028 */ lw $t0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AD90.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AD90.s
index c5211015a5..bf5bd52020 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AD90.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AD90.s
@@ -4,7 +4,7 @@ glabel func_8096AD90
/* 012C8 8096AD98 10A00015 */ beq $a1, $zero, .L8096ADF0
/* 012CC 8096AD9C AFA40028 */ sw $a0, 0x0028($sp)
/* 012D0 8096ADA0 3C040600 */ lui $a0, %hi(D_06002374) ## $a0 = 06000000
-/* 012D4 8096ADA4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 012D4 8096ADA4 0C028800 */ jal Animation_GetLastFrame
/* 012D8 8096ADA8 24842374 */ addiu $a0, $a0, %lo(D_06002374) ## $a0 = 06002374
/* 012DC 8096ADAC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_8096AD90
/* 01300 8096ADD0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01304 8096ADD4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01308 8096ADD8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0130C 8096ADDC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0130C 8096ADDC 0C029468 */ jal Animation_Change
/* 01310 8096ADE0 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01314 8096ADE4 8FB80028 */ lw $t8, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AE00.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AE00.s
index 8fbf1fb1bb..f451a500f6 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AE00.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AE00.s
@@ -4,7 +4,7 @@ glabel func_8096AE00
/* 01338 8096AE08 10A00014 */ beq $a1, $zero, .L8096AE5C
/* 0133C 8096AE0C AFA40028 */ sw $a0, 0x0028($sp)
/* 01340 8096AE10 3C040600 */ lui $a0, %hi(D_06006EB0) ## $a0 = 06000000
-/* 01344 8096AE14 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01344 8096AE14 0C028800 */ jal Animation_GetLastFrame
/* 01348 8096AE18 24846EB0 */ addiu $a0, $a0, %lo(D_06006EB0) ## $a0 = 06006EB0
/* 0134C 8096AE1C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_8096AE00
/* 0136C 8096AE3C AFA00014 */ sw $zero, 0x0014($sp)
/* 01370 8096AE40 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01374 8096AE44 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01378 8096AE48 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01378 8096AE48 0C029468 */ jal Animation_Change
/* 0137C 8096AE4C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01380 8096AE50 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AE6C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AE6C.s
index 91be135d62..2e3307ad46 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AE6C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AE6C.s
@@ -13,7 +13,7 @@ glabel func_8096AE6C
/* 013C8 8096AE98 3C040600 */ lui $a0, %hi(D_06000800) ## $a0 = 06000000
/* 013CC 8096AE9C 51E10015 */ beql $t7, $at, .L8096AEF4
/* 013D0 8096AEA0 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 013D4 8096AEA4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 013D4 8096AEA4 0C028800 */ jal Animation_GetLastFrame
/* 013D8 8096AEA8 24840800 */ addiu $a0, $a0, %lo(D_06000800) ## $a0 = 06000800
/* 013DC 8096AEAC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_8096AE6C
/* 01400 8096AED0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01404 8096AED4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01408 8096AED8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0140C 8096AEDC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0140C 8096AEDC 0C029468 */ jal Animation_Change
/* 01410 8096AEE0 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01414 8096AEE4 8FA80028 */ lw $t0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AF00.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AF00.s
index 808d3057fb..d9e679d0c6 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AF00.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AF00.s
@@ -4,7 +4,7 @@ glabel func_8096AF00
/* 01438 8096AF08 10A00014 */ beq $a1, $zero, .L8096AF5C
/* 0143C 8096AF0C AFA40028 */ sw $a0, 0x0028($sp)
/* 01440 8096AF10 3C040600 */ lui $a0, %hi(D_06000D00) ## $a0 = 06000000
-/* 01444 8096AF14 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01444 8096AF14 0C028800 */ jal Animation_GetLastFrame
/* 01448 8096AF18 24840D00 */ addiu $a0, $a0, %lo(D_06000D00) ## $a0 = 06000D00
/* 0144C 8096AF1C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_8096AF00
/* 0146C 8096AF3C AFA00014 */ sw $zero, 0x0014($sp)
/* 01470 8096AF40 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01474 8096AF44 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01478 8096AF48 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01478 8096AF48 0C029468 */ jal Animation_Change
/* 0147C 8096AF4C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01480 8096AF50 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AF6C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AF6C.s
index 6631215086..25ec347581 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AF6C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096AF6C.s
@@ -13,7 +13,7 @@ glabel func_8096AF6C
/* 014C8 8096AF98 3C040600 */ lui $a0, %hi(D_06006EB0) ## $a0 = 06000000
/* 014CC 8096AF9C 51E10014 */ beql $t7, $at, .L8096AFF0
/* 014D0 8096AFA0 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 014D4 8096AFA4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 014D4 8096AFA4 0C028800 */ jal Animation_GetLastFrame
/* 014D8 8096AFA8 24846EB0 */ addiu $a0, $a0, %lo(D_06006EB0) ## $a0 = 06006EB0
/* 014DC 8096AFAC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_8096AF6C
/* 014FC 8096AFCC AFA00014 */ sw $zero, 0x0014($sp)
/* 01500 8096AFD0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01504 8096AFD4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01508 8096AFD8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01508 8096AFD8 0C029468 */ jal Animation_Change
/* 0150C 8096AFDC E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01510 8096AFE0 8FB90028 */ lw $t9, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096B3E4.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096B3E4.s
index 0fdc9b3e3b..2602dc57ab 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096B3E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096B3E4.s
@@ -4,7 +4,7 @@ glabel func_8096B3E4
/* 0191C 8096B3EC AFBF0024 */ sw $ra, 0x0024($sp)
/* 01920 8096B3F0 3C040601 */ lui $a0, %hi(D_06012014) ## $a0 = 06010000
/* 01924 8096B3F4 AFA50044 */ sw $a1, 0x0044($sp)
-/* 01928 8096B3F8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01928 8096B3F8 0C028800 */ jal Animation_GetLastFrame
/* 0192C 8096B3FC 24842014 */ addiu $a0, $a0, %lo(D_06012014) ## $a0 = 06012014
/* 01930 8096B400 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -31,7 +31,7 @@ glabel func_8096B3E4
/* 01984 8096B454 8FA4002C */ lw $a0, 0x002C($sp)
/* 01988 8096B458 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0198C 8096B45C E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 01990 8096B460 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01990 8096B460 0C029468 */ jal Animation_Change
/* 01994 8096B464 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01998 8096B468 8FA20040 */ lw $v0, 0x0040($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983354.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983354.s
index 86b974bc5d..04d0b0a09f 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983354.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983354.s
@@ -1,7 +1,7 @@
glabel func_80983354
/* 00054 80983354 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00058 80983358 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 0005C 8098335C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0005C 8098335C 0C02927F */ jal SkelAnime_Update
/* 00060 80983360 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00064 80983364 8FBF0014 */ lw $ra, 0x0014($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_809833D8.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_809833D8.s
index 5b92c87f23..edaf41bb0c 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_809833D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_809833D8.s
@@ -9,7 +9,7 @@ glabel func_809833D8
/* 000F4 809833F4 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 000F8 809833F8 A08F0181 */ sb $t7, 0x0181($a0) ## 00000181
/* 000FC 809833FC 8FA4001C */ lw $a0, 0x001C($sp)
-/* 00100 80983400 0C028D88 */ jal SkelAnime_LoadAnimationType5
+/* 00100 80983400 0C028D88 */ jal AnimationContext_SetMoveActor
/* 00104 80983404 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00108 80983408 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0010C 8098340C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983500.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983500.s
index 51c63a537b..6b8fa4b602 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983500.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983500.s
@@ -15,7 +15,7 @@ glabel func_80983500
/* 00234 80983534 1000002D */ beq $zero, $zero, .L809835EC
/* 00238 80983538 8FBF0024 */ lw $ra, 0x0024($sp)
.L8098353C:
-/* 0023C 8098353C 0C0295B2 */ jal func_800A56C8
+/* 0023C 8098353C 0C0295B2 */ jal Animation_OnFrame
/* 00240 80983540 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
/* 00244 80983544 10400028 */ beq $v0, $zero, .L809835E8
/* 00248 80983548 3C078013 */ lui $a3, %hi(D_801333E0)
@@ -32,7 +32,7 @@ glabel func_80983500
/* 00270 80983570 1000001E */ beq $zero, $zero, .L809835EC
/* 00274 80983574 8FBF0024 */ lw $ra, 0x0024($sp)
.L80983578:
-/* 00278 80983578 0C0295B2 */ jal func_800A56C8
+/* 00278 80983578 0C0295B2 */ jal Animation_OnFrame
/* 0027C 8098357C 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000
/* 00280 80983580 10400019 */ beq $v0, $zero, .L809835E8
/* 00284 80983584 3C078013 */ lui $a3, %hi(D_801333E0)
@@ -49,7 +49,7 @@ glabel func_80983500
/* 002AC 809835AC 1000000F */ beq $zero, $zero, .L809835EC
/* 002B0 809835B0 8FBF0024 */ lw $ra, 0x0024($sp)
.L809835B4:
-/* 002B4 809835B4 0C0295B2 */ jal func_800A56C8
+/* 002B4 809835B4 0C0295B2 */ jal Animation_OnFrame
/* 002B8 809835B8 3C054110 */ lui $a1, 0x4110 ## $a1 = 41100000
/* 002BC 809835BC 1040000A */ beq $v0, $zero, .L809835E8
/* 002C0 809835C0 3C078013 */ lui $a3, %hi(D_801333E0)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983820.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983820.s
index 8d74cb269f..758d0331cf 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983820.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983820.s
@@ -57,7 +57,7 @@ glabel func_80983820
/* 005E8 809838E8 0C02915F */ jal SkelAnime_Init
/* 005EC 809838EC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
-/* 005F0 809838F0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 005F0 809838F0 0C028800 */ jal Animation_GetLastFrame
/* 005F4 809838F4 02202025 */ or $a0, $s1, $zero ## $a0 = 0600035C
/* 005F8 809838F8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -70,7 +70,7 @@ glabel func_80983820
/* 00614 80983914 02202825 */ or $a1, $s1, $zero ## $a1 = 0600035C
/* 00618 80983918 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0061C 8098391C E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 00620 80983920 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00620 80983920 0C029468 */ jal Animation_Change
/* 00624 80983924 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00628 80983928 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983E28.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983E28.s
index d8507009de..daee44aafa 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983E28.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983E28.s
@@ -48,7 +48,7 @@ glabel func_80983E28
/* 00BCC 80983ECC AFA50034 */ sw $a1, 0x0034($sp)
/* 00BD0 80983ED0 0C0291BE */ jal SkelAnime_InitFlex
/* 00BD4 80983ED4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
-/* 00BD8 80983ED8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00BD8 80983ED8 0C028800 */ jal Animation_GetLastFrame
/* 00BDC 80983EDC 02002025 */ or $a0, $s0, $zero ## $a0 = 060008DC
/* 00BE0 80983EE0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -61,7 +61,7 @@ glabel func_80983E28
/* 00BFC 80983EFC 02002825 */ or $a1, $s0, $zero ## $a1 = 060008DC
/* 00C00 80983F00 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00C04 80983F04 E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 00C08 80983F08 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00C08 80983F08 0C029468 */ jal Animation_Change
/* 00C0C 80983F0C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00C10 80983F10 24080003 */ addiu $t0, $zero, 0x0003 ## $t0 = 00000003
diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983F30.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983F30.s
index 8ac85e76ee..566412d86e 100644
--- a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983F30.s
+++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983F30.s
@@ -4,7 +4,7 @@ glabel func_80983F30
/* 00C38 80983F38 AFBF001C */ sw $ra, 0x001C($sp)
/* 00C3C 80983F3C AFA40020 */ sw $a0, 0x0020($sp)
/* 00C40 80983F40 44056000 */ mfc1 $a1, $f12
-/* 00C44 80983F44 0C0295B2 */ jal func_800A56C8
+/* 00C44 80983F44 0C0295B2 */ jal Animation_OnFrame
/* 00C48 80983F48 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00C4C 80983F4C 1040000B */ beq $v0, $zero, .L80983F7C
/* 00C50 80983F50 3C078013 */ lui $a3, %hi(D_801333E0)
diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998C90.s b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998C90.s
index a4ce9f67d8..09892d1b03 100644
--- a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998C90.s
+++ b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998C90.s
@@ -35,7 +35,7 @@ glabel func_80998C90
/* 0057C 80998CFC 24A51374 */ addiu $a1, $a1, %lo(D_06001374) ## $a1 = 06001374
/* 00580 80998D00 8FA40034 */ lw $a0, 0x0034($sp)
/* 00584 80998D04 E7A20010 */ swc1 $f2, 0x0010($sp)
-/* 00588 80998D08 0C0293F9 */ jal SkelAnime_ChangeAnimImpl
+/* 00588 80998D08 0C0293F9 */ jal Animation_ChangeImpl
/* 0058C 80998D0C E7A40018 */ swc1 $f4, 0x0018($sp)
/* 00590 80998D10 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00594 80998D14 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998E5C.s b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998E5C.s
index 11c6ebd1a4..a73e8c96ea 100644
--- a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998E5C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998E5C.s
@@ -23,12 +23,12 @@ glabel func_80998E5C
/* 0071C 80998E9C AFA00018 */ sw $zero, 0x0018($sp)
/* 00720 80998EA0 3C040600 */ lui $a0, %hi(D_06001374) ## $a0 = 06000000
-/* 00724 80998EA4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00724 80998EA4 0C028800 */ jal Animation_GetLastFrame
/* 00728 80998EA8 24841374 */ addiu $a0, $a0, %lo(D_06001374) ## $a0 = 06001374
/* 0072C 80998EAC 3C040600 */ lui $a0, %hi(D_06001374) ## $a0 = 06000000
/* 00730 80998EB0 24841374 */ addiu $a0, $a0, %lo(D_06001374) ## $a0 = 06001374
-/* 00734 80998EB4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00734 80998EB4 0C028800 */ jal Animation_GetLastFrame
/* 00738 80998EB8 A7A2003A */ sh $v0, 0x003A($sp)
/* 0073C 80998EBC 87AE003A */ lh $t6, 0x003A($sp)
@@ -47,10 +47,10 @@ glabel func_80998E5C
/* 00770 80998EF0 8FA40034 */ lw $a0, 0x0034($sp)
/* 00774 80998EF4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 00778 80998EF8 44072000 */ mfc1 $a3, $f4
-/* 0077C 80998EFC 0C0293F9 */ jal SkelAnime_ChangeAnimImpl
+/* 0077C 80998EFC 0C0293F9 */ jal Animation_ChangeImpl
/* 00780 80998F00 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00784 80998F04 3C040600 */ lui $a0, %hi(D_06001374) ## $a0 = 06000000
-/* 00788 80998F08 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00788 80998F08 0C028800 */ jal Animation_GetLastFrame
/* 0078C 80998F0C 24841374 */ addiu $a0, $a0, %lo(D_06001374) ## $a0 = 06001374
/* 00790 80998F10 3C01809A */ lui $at, %hi(D_8099C728) ## $at = 809A0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998FF4.s b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998FF4.s
index 897f8965b7..7cc7f07216 100644
--- a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998FF4.s
+++ b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_80998FF4.s
@@ -31,12 +31,12 @@ glabel func_80998FF4
/* 008B0 80999030 AFA00018 */ sw $zero, 0x0018($sp)
/* 008B4 80999034 3C040600 */ lui $a0, %hi(D_06001374) ## $a0 = 06000000
-/* 008B8 80999038 0C028800 */ jal SkelAnime_GetFrameCount
+/* 008B8 80999038 0C028800 */ jal Animation_GetLastFrame
/* 008BC 8099903C 24841374 */ addiu $a0, $a0, %lo(D_06001374) ## $a0 = 06001374
/* 008C0 80999040 3C040600 */ lui $a0, %hi(D_06001374) ## $a0 = 06000000
/* 008C4 80999044 24841374 */ addiu $a0, $a0, %lo(D_06001374) ## $a0 = 06001374
-/* 008C8 80999048 0C028800 */ jal SkelAnime_GetFrameCount
+/* 008C8 80999048 0C028800 */ jal Animation_GetLastFrame
/* 008CC 8099904C A7A2003C */ sh $v0, 0x003C($sp)
/* 008D0 80999050 87AE003C */ lh $t6, 0x003C($sp)
@@ -55,10 +55,10 @@ glabel func_80998FF4
/* 00904 80999084 8FA40034 */ lw $a0, 0x0034($sp)
/* 00908 80999088 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 0090C 8099908C 44072000 */ mfc1 $a3, $f4
-/* 00910 80999090 0C0293F9 */ jal SkelAnime_ChangeAnimImpl
+/* 00910 80999090 0C0293F9 */ jal Animation_ChangeImpl
/* 00914 80999094 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00918 80999098 3C040600 */ lui $a0, %hi(D_06001374) ## $a0 = 06000000
-/* 0091C 8099909C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0091C 8099909C 0C028800 */ jal Animation_GetLastFrame
/* 00920 809990A0 24841374 */ addiu $a0, $a0, %lo(D_06001374) ## $a0 = 06001374
/* 00924 809990A4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099A508.s b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099A508.s
index 33895936b7..1aaef1435c 100644
--- a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099A508.s
+++ b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099A508.s
@@ -22,12 +22,12 @@ glabel func_8099A508
/* 01DD4 8099A554 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 01DD8 8099A558 3C040600 */ lui $a0, %hi(D_06001374) ## $a0 = 06000000
-/* 01DDC 8099A55C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01DDC 8099A55C 0C028800 */ jal Animation_GetLastFrame
/* 01DE0 8099A560 24841374 */ addiu $a0, $a0, %lo(D_06001374) ## $a0 = 06001374
/* 01DE4 8099A564 3C040600 */ lui $a0, %hi(D_06001374) ## $a0 = 06000000
/* 01DE8 8099A568 24841374 */ addiu $a0, $a0, %lo(D_06001374) ## $a0 = 06001374
-/* 01DEC 8099A56C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01DEC 8099A56C 0C028800 */ jal Animation_GetLastFrame
/* 01DF0 8099A570 A7A20030 */ sh $v0, 0x0030($sp)
/* 01DF4 8099A574 87B80030 */ lh $t8, 0x0030($sp)
@@ -47,7 +47,7 @@ glabel func_8099A508
/* 01E2C 8099A5AC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01E30 8099A5B0 44072000 */ mfc1 $a3, $f4
/* 01E34 8099A5B4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 01E38 8099A5B8 0C0293F9 */ jal SkelAnime_ChangeAnimImpl
+/* 01E38 8099A5B8 0C0293F9 */ jal Animation_ChangeImpl
/* 01E3C 8099A5BC E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01E40 8099A5C0 24090032 */ addiu $t1, $zero, 0x0032 ## $t1 = 00000032
/* 01E44 8099A5C4 3C05809A */ lui $a1, %hi(func_8099A5EC) ## $a1 = 809A0000
diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099B140.s b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099B140.s
index b330475392..68ad6914fb 100644
--- a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099B140.s
+++ b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099B140.s
@@ -135,7 +135,7 @@ glabel func_8099B140
/* 02B94 8099B314 24070832 */ addiu $a3, $zero, 0x0832 ## $a3 = 00000832
/* 02B98 8099B318 0C031AD5 */ jal Graph_CloseDisps
/* 02B9C 8099B31C 8D650000 */ lw $a1, 0x0000($t3) ## 00000000
-/* 02BA0 8099B320 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02BA0 8099B320 0C02927F */ jal SkelAnime_Update
/* 02BA4 8099B324 2624014C */ addiu $a0, $s1, 0x014C ## $a0 = 0000014C
/* 02BA8 8099B328 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099B33C.s b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099B33C.s
index d84ef68335..46ec86caa4 100644
--- a/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099B33C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Door_Warp1/func_8099B33C.s
@@ -182,7 +182,7 @@ glabel func_8099B33C
/* 02E40 8099B5C0 27A40048 */ addiu $a0, $sp, 0x0048 ## $a0 = FFFFFFD8
/* 02E44 8099B5C4 0C031AD5 */ jal Graph_CloseDisps
/* 02E48 8099B5C8 24070868 */ addiu $a3, $zero, 0x0868 ## $a3 = 00000868
-/* 02E4C 8099B5CC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02E4C 8099B5CC 0C02927F */ jal SkelAnime_Update
/* 02E50 8099B5D0 2644014C */ addiu $a0, $s2, 0x014C ## $a0 = 0000014C
/* 02E54 8099B5D4 8FBF0034 */ lw $ra, 0x0034($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE40C.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE40C.s
index 825805d8c8..32d1d374da 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE40C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE40C.s
@@ -4,7 +4,7 @@ glabel func_809AE40C
/* 004F4 809AE414 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 004F8 809AE418 AFBF002C */ sw $ra, 0x002C($sp)
/* 004FC 809AE41C 3C040600 */ lui $a0, %hi(D_0600033C) ## $a0 = 06000000
-/* 00500 809AE420 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00500 809AE420 0C028800 */ jal Animation_GetLastFrame
/* 00504 809AE424 2484033C */ addiu $a0, $a0, %lo(D_0600033C) ## $a0 = 0600033C
/* 00508 809AE428 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -17,7 +17,7 @@ glabel func_809AE40C
/* 00524 809AE444 AFA00014 */ sw $zero, 0x0014($sp)
/* 00528 809AE448 E7A20018 */ swc1 $f2, 0x0018($sp)
/* 0052C 809AE44C 44070000 */ mfc1 $a3, $f0
-/* 00530 809AE450 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00530 809AE450 0C029468 */ jal Animation_Change
/* 00534 809AE454 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00538 809AE458 920F0266 */ lbu $t7, 0x0266($s0) ## 00000266
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE4A8.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE4A8.s
index a6f23a88d2..686c4d4d6e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE4A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE4A8.s
@@ -4,7 +4,7 @@ glabel func_809AE4A8
/* 00590 809AE4B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00594 809AE4B4 AFBF002C */ sw $ra, 0x002C($sp)
/* 00598 809AE4B8 3C040600 */ lui $a0, %hi(D_0600033C) ## $a0 = 06000000
-/* 0059C 809AE4BC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0059C 809AE4BC 0C028800 */ jal Animation_GetLastFrame
/* 005A0 809AE4C0 2484033C */ addiu $a0, $a0, %lo(D_0600033C) ## $a0 = 0600033C
/* 005A4 809AE4C4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -17,7 +17,7 @@ glabel func_809AE4A8
/* 005C0 809AE4E0 AFA00014 */ sw $zero, 0x0014($sp)
/* 005C4 809AE4E4 E7A20018 */ swc1 $f2, 0x0018($sp)
/* 005C8 809AE4E8 44070000 */ mfc1 $a3, $f0
-/* 005CC 809AE4EC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 005CC 809AE4EC 0C029468 */ jal Animation_Change
/* 005D0 809AE4F0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 005D4 809AE4F4 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE538.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE538.s
index e94cea5dd1..8c0a89b127 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE538.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE538.s
@@ -6,7 +6,7 @@ glabel func_809AE538
/* 00628 809AE548 24A50238 */ addiu $a1, $a1, %lo(D_06000238) ## $a1 = 06000238
/* 0062C 809AE54C AFA70018 */ sw $a3, 0x0018($sp)
/* 00630 809AE550 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00634 809AE554 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00634 809AE554 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00638 809AE558 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 0063C 809AE55C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00640 809AE560 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE59C.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE59C.s
index 7ecf77b75a..69084c9888 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE59C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE59C.s
@@ -6,7 +6,7 @@ glabel func_809AE59C
/* 0068C 809AE5AC 24A50238 */ addiu $a1, $a1, %lo(D_06000238) ## $a1 = 06000238
/* 00690 809AE5B0 AFA70018 */ sw $a3, 0x0018($sp)
/* 00694 809AE5B4 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00698 809AE5B8 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00698 809AE5B8 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 0069C 809AE5BC 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 006A0 809AE5C0 8FA40018 */ lw $a0, 0x0018($sp)
/* 006A4 809AE5C4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE608.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE608.s
index cfdb60a8c7..a6d756dd96 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE608.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE608.s
@@ -6,7 +6,7 @@ glabel func_809AE608
/* 006F8 809AE618 24A50238 */ addiu $a1, $a1, %lo(D_06000238) ## $a1 = 06000238
/* 006FC 809AE61C AFA70018 */ sw $a3, 0x0018($sp)
/* 00700 809AE620 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00704 809AE624 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00704 809AE624 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00708 809AE628 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 0070C 809AE62C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00710 809AE630 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE664.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE664.s
index 968b29ae29..f89efb41f4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE664.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE664.s
@@ -6,7 +6,7 @@ glabel func_809AE664
/* 00754 809AE674 24A50238 */ addiu $a1, $a1, %lo(D_06000238) ## $a1 = 06000238
/* 00758 809AE678 AFA70018 */ sw $a3, 0x0018($sp)
/* 0075C 809AE67C 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00760 809AE680 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00760 809AE680 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00764 809AE684 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 00768 809AE688 8FA40018 */ lw $a0, 0x0018($sp)
/* 0076C 809AE68C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE6C0.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE6C0.s
index dba08bdb6c..797a203c93 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE6C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE6C0.s
@@ -6,7 +6,7 @@ glabel func_809AE6C0
/* 007B0 809AE6D0 24A50238 */ addiu $a1, $a1, %lo(D_06000238) ## $a1 = 06000238
/* 007B4 809AE6D4 AFA70018 */ sw $a3, 0x0018($sp)
/* 007B8 809AE6D8 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 007BC 809AE6DC 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 007BC 809AE6DC 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 007C0 809AE6E0 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 007C4 809AE6E4 8FA40018 */ lw $a0, 0x0018($sp)
/* 007C8 809AE6E8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE71C.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE71C.s
index 52190e66c6..ff71953db7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE71C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE71C.s
@@ -5,7 +5,7 @@ glabel func_809AE71C
/* 00808 809AE728 AFBF002C */ sw $ra, 0x002C($sp)
/* 0080C 809AE72C 3C040600 */ lui $a0, %hi(D_06005B3C) ## $a0 = 06000000
/* 00810 809AE730 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00814 809AE734 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00814 809AE734 0C028800 */ jal Animation_GetLastFrame
/* 00818 809AE738 24845B3C */ addiu $a0, $a0, %lo(D_06005B3C) ## $a0 = 06005B3C
/* 0081C 809AE73C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -22,7 +22,7 @@ glabel func_809AE71C
/* 00848 809AE768 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0084C 809AE76C 3C074080 */ lui $a3, 0x4080 ## $a3 = 40800000
/* 00850 809AE770 E7AA0010 */ swc1 $f10, 0x0010($sp)
-/* 00854 809AE774 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00854 809AE774 0C029468 */ jal Animation_Change
/* 00858 809AE778 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 0085C 809AE77C 8618008A */ lh $t8, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE7F4.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE7F4.s
index 735d663993..d46f530085 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE7F4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AE7F4.s
@@ -15,7 +15,7 @@ glabel func_809AE7F4
/* 00908 809AE828 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
/* 0090C 809AE82C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00910 809AE830 E7A00018 */ swc1 $f0, 0x0018($sp)
-/* 00914 809AE834 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00914 809AE834 0C029468 */ jal Animation_Change
/* 00918 809AE838 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 0091C 809AE83C 860F008A */ lh $t7, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEB14.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEB14.s
index bf63b1d311..3ee43274d1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEB14.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEB14.s
@@ -57,7 +57,7 @@ glabel func_809AEB14
/* 00CBC 809AEBDC E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060
/* 00CC0 809AEBE0 E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028
.L809AEBE4:
-/* 00CC4 809AEBE4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CC4 809AEBE4 0C02927F */ jal SkelAnime_Update
/* 00CC8 809AEBE8 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 00CCC 809AEBEC 86080258 */ lh $t0, 0x0258($s0) ## 00000258
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEC1C.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEC1C.s
index 9f480295f1..a3aefa0ac2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEC1C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEC1C.s
@@ -87,7 +87,7 @@ glabel func_809AEC1C
/* 00E30 809AED50 E7B20010 */ swc1 $f18, 0x0010($sp)
.L809AED54:
-/* 00E34 809AED54 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00E34 809AED54 0C02927F */ jal SkelAnime_Update
/* 00E38 809AED58 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 00E3C 809AED5C 860B0258 */ lh $t3, 0x0258($s0) ## 00000258
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AED8C.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AED8C.s
index 09adf30460..26ea0e76dd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AED8C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AED8C.s
@@ -92,7 +92,7 @@ glabel func_809AED8C
/* 00FB8 809AEED8 A60C0032 */ sh $t4, 0x0032($s0) ## 00000032
.L809AEEDC:
-/* 00FBC 809AEEDC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00FBC 809AEEDC 0C02927F */ jal SkelAnime_Update
/* 00FC0 809AEEE0 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 00FC4 809AEEE4 860D0032 */ lh $t5, 0x0032($s0) ## 00000032
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEF00.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEF00.s
index 2a473c1c59..d619d56f49 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEF00.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEF00.s
@@ -28,7 +28,7 @@ glabel func_809AEF00
/* 01044 809AEF64 00000000 */ nop
/* 01048 809AEF68 E6020068 */ swc1 $f2, 0x0068($s0) ## 00000068
.L809AEF6C:
-/* 0104C 809AEF6C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0104C 809AEF6C 0C02927F */ jal SkelAnime_Update
/* 01050 809AEF70 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 01054 809AEF74 50400007 */ beql $v0, $zero, .L809AEF94
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEFA4.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEFA4.s
index 2b83781a66..658a66f8e7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEFA4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AEFA4.s
@@ -67,7 +67,7 @@ glabel func_809AEFA4
/* 01170 809AF090 0C26B89C */ jal func_809AE270
/* 01174 809AF094 E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028
.L809AF098:
-/* 01178 809AF098 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01178 809AF098 0C02927F */ jal SkelAnime_Update
/* 0117C 809AF09C 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 01180 809AF0A0 860A0258 */ lh $t2, 0x0258($s0) ## 00000258
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF0DC.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF0DC.s
index b90f377f69..a01539fedc 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF0DC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF0DC.s
@@ -120,7 +120,7 @@ glabel func_809AF0DC
/* 0136C 809AF28C 316CFFF7 */ andi $t4, $t3, 0xFFF7 ## $t4 = 00000000
/* 01370 809AF290 A60C0088 */ sh $t4, 0x0088($s0) ## 00000088
.L809AF294:
-/* 01374 809AF294 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01374 809AF294 0C02927F */ jal SkelAnime_Update
/* 01378 809AF298 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 0137C 809AF29C 860D0258 */ lh $t5, 0x0258($s0) ## 00000258
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF558.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF558.s
index e2164c14a7..4c334f2907 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF558.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF558.s
@@ -5,7 +5,7 @@ glabel func_809AF558
/* 01644 809AF564 AFBF002C */ sw $ra, 0x002C($sp)
/* 01648 809AF568 3C040600 */ lui $a0, %hi(D_06005B3C) ## $a0 = 06000000
/* 0164C 809AF56C AFA50034 */ sw $a1, 0x0034($sp)
-/* 01650 809AF570 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01650 809AF570 0C028800 */ jal Animation_GetLastFrame
/* 01654 809AF574 24845B3C */ addiu $a0, $a0, %lo(D_06005B3C) ## $a0 = 06005B3C
/* 01658 809AF578 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_809AF558
/* 01678 809AF598 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 0167C 809AF59C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01680 809AF5A0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 01684 809AF5A4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01684 809AF5A4 0C029468 */ jal Animation_Change
/* 01688 809AF5A8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0168C 809AF5AC 860F008A */ lh $t7, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF718.s b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF718.s
index 0a285bc7f4..c7fad34598 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF718.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Am/func_809AF718.s
@@ -34,7 +34,7 @@ glabel func_809AF718
/* 01874 809AF794 00000000 */ nop
/* 01878 809AF798 E6020068 */ swc1 $f2, 0x0068($s0) ## 00000068
.L809AF79C:
-/* 0187C 809AF79C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0187C 809AF79C 0C02927F */ jal SkelAnime_Update
/* 01880 809AF7A0 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 01884 809AF7A4 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1524.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1524.s
index 7aa497084f..83b8de8624 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1524.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1524.s
@@ -5,7 +5,7 @@ glabel func_809B1524
/* 00410 809B1530 AFBF002C */ sw $ra, 0x002C($sp)
/* 00414 809B1534 3C040600 */ lui $a0, %hi(D_06000F74) ## $a0 = 06000000
/* 00418 809B1538 AFA50034 */ sw $a1, 0x0034($sp)
-/* 0041C 809B153C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0041C 809B153C 0C028800 */ jal Animation_GetLastFrame
/* 00420 809B1540 24840F74 */ addiu $a0, $a0, %lo(D_06000F74) ## $a0 = 06000F74
/* 00424 809B1544 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_809B1524
/* 00468 809B1588 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 0046C 809B158C 00000000 */ nop
/* 00470 809B1590 46805420 */ cvt.s.w $f16, $f10
-/* 00474 809B1594 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00474 809B1594 0C029468 */ jal Animation_Change
/* 00478 809B1598 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 0047C 809B159C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B15CC.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B15CC.s
index d9213958a1..b217333523 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B15CC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B15CC.s
@@ -5,7 +5,7 @@ glabel func_809B15CC
/* 004B8 809B15D8 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 004BC 809B15DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 004C0 809B15E0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 004C4 809B15E4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 004C4 809B15E4 0C02927F */ jal SkelAnime_Update
/* 004C8 809B15E8 AFAE002C */ sw $t6, 0x002C($sp)
/* 004CC 809B15EC 260400BC */ addiu $a0, $s0, 0x00BC ## $a0 = 000000BC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B16AC.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B16AC.s
index 7a50fdd329..e342bd45a8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B16AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B16AC.s
@@ -11,7 +11,7 @@ glabel func_809B16AC
/* 00594 809B16B4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00598 809B16B8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0059C 809B16BC AFA50054 */ sw $a1, 0x0054($sp)
-/* 005A0 809B16C0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 005A0 809B16C0 0C02927F */ jal SkelAnime_Update
/* 005A4 809B16C4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 005A8 809B16C8 3C05C584 */ lui $a1, 0xC584 ## $a1 = C5840000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B17FC.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B17FC.s
index 63631a1f25..505825550a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B17FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B17FC.s
@@ -5,7 +5,7 @@ glabel func_809B17FC
/* 006E8 809B1808 AFBF002C */ sw $ra, 0x002C($sp)
/* 006EC 809B180C 3C040600 */ lui $a0, %hi(D_0600078C) ## $a0 = 06000000
/* 006F0 809B1810 AFA50034 */ sw $a1, 0x0034($sp)
-/* 006F4 809B1814 0C028800 */ jal SkelAnime_GetFrameCount
+/* 006F4 809B1814 0C028800 */ jal Animation_GetLastFrame
/* 006F8 809B1818 2484078C */ addiu $a0, $a0, %lo(D_0600078C) ## $a0 = 0600078C
/* 006FC 809B181C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -21,7 +21,7 @@ glabel func_809B17FC
/* 00724 809B1844 AFAE0014 */ sw $t6, 0x0014($sp)
/* 00728 809B1848 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 0072C 809B184C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00730 809B1850 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00730 809B1850 0C029468 */ jal Animation_Change
/* 00734 809B1854 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 00738 809B1858 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1884.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1884.s
index 798b4f33f5..64cc4a46c6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1884.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1884.s
@@ -6,7 +6,7 @@ glabel func_809B1884
/* 00774 809B1894 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
/* 00778 809B1898 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0077C 809B189C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00780 809B18A0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00780 809B18A0 0C02927F */ jal SkelAnime_Update
/* 00784 809B18A4 E7A4003C */ swc1 $f4, 0x003C($sp)
/* 00788 809B18A8 860E0262 */ lh $t6, 0x0262($s0) ## 00000262
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1984.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1984.s
index 21ee942dd4..71f293216b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1984.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1984.s
@@ -5,7 +5,7 @@ glabel func_809B1984
/* 00870 809B1990 AFBF002C */ sw $ra, 0x002C($sp)
/* 00874 809B1994 3C040600 */ lui $a0, %hi(D_06000348) ## $a0 = 06000000
/* 00878 809B1998 AFA50034 */ sw $a1, 0x0034($sp)
-/* 0087C 809B199C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0087C 809B199C 0C028800 */ jal Animation_GetLastFrame
/* 00880 809B19A0 24840348 */ addiu $a0, $a0, %lo(D_06000348) ## $a0 = 06000348
/* 00884 809B19A4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -21,7 +21,7 @@ glabel func_809B1984
/* 008AC 809B19CC AFAE0014 */ sw $t6, 0x0014($sp)
/* 008B0 809B19D0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 008B4 809B19D4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 008B8 809B19D8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 008B8 809B19D8 0C029468 */ jal Animation_Change
/* 008BC 809B19DC E7A60018 */ swc1 $f6, 0x0018($sp)
/* 008C0 809B19E0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1A54.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1A54.s
index b282f66afd..f09045e819 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1A54.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1A54.s
@@ -33,7 +33,7 @@ glabel func_809B1A54
/* 00984 809B1AA4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00988 809B1AA8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0098C 809B1AAC AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE4
-/* 00990 809B1AB0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00990 809B1AB0 0C02927F */ jal SkelAnime_Update
/* 00994 809B1AB4 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFE8
/* 00998 809B1AB8 3C053ECC */ lui $a1, 0x3ECC ## $a1 = 3ECC0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3CEC.s b/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3CEC.s
index 51a2182677..dd181f2330 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3CEC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3CEC.s
@@ -19,7 +19,7 @@ glabel func_809B3CEC
/* 003EC 809B3D0C 24A54640 */ addiu $a1, $a1, %lo(func_809B4640) ## $a1 = 809B4640
/* 003F0 809B3D10 3C050400 */ lui $a1, %hi(D_04004310) ## $a1 = 04000000
/* 003F4 809B3D14 24A54310 */ addiu $a1, $a1, %lo(D_04004310) ## $a1 = 04004310
-/* 003F8 809B3D18 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 003F8 809B3D18 0C02947A */ jal Animation_PlayOnce
/* 003FC 809B3D1C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00400 809B3D20 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3FDC.s b/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3FDC.s
index 31af4d0ad1..e774497de2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3FDC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B3FDC.s
@@ -228,7 +228,7 @@ glabel func_809B3FDC
/* 009DC 809B42FC 24A545E0 */ addiu $a1, $a1, %lo(func_809B45E0) ## $a1 = 809B45E0
/* 009E0 809B4300 3C050400 */ lui $a1, %hi(D_0400436C) ## $a1 = 04000000
/* 009E4 809B4304 24A5436C */ addiu $a1, $a1, %lo(D_0400436C) ## $a1 = 0400436C
-/* 009E8 809B4308 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 009E8 809B4308 0C02947A */ jal Animation_PlayOnce
/* 009EC 809B430C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 009F0 809B4310 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
/* 009F4 809B4314 240A003C */ addiu $t2, $zero, 0x003C ## $t2 = 0000003C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B45E0.s b/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B45E0.s
index 704737f8f1..14c4f731a0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B45E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B45E0.s
@@ -5,7 +5,7 @@ glabel func_809B45E0
/* 00CCC 809B45EC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00CD0 809B45F0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00CD4 809B45F4 AFA50018 */ sw $a1, 0x0018($sp)
-/* 00CD8 809B45F8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CD8 809B45F8 0C02927F */ jal SkelAnime_Update
/* 00CDC 809B45FC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00CE0 809B4600 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B4640.s b/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B4640.s
index 2c5e0f5d83..2367389cb3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B4640.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Arrow/func_809B4640.s
@@ -5,7 +5,7 @@ glabel func_809B4640
/* 00D2C 809B464C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D30 809B4650 AFA40018 */ sw $a0, 0x0018($sp)
/* 00D34 809B4654 AFA50018 */ sw $a1, 0x0018($sp)
-/* 00D38 809B4658 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D38 809B4658 0C02927F */ jal SkelAnime_Update
/* 00D3C 809B465C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D40 809B4660 0C00B638 */ jal Actor_MoveForward
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD318.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD318.s
index 2ee9fa024c..4a00a20597 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD318.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD318.s
@@ -10,7 +10,7 @@ glabel func_809BD318
/* 006C4 809BD324 3C050600 */ lui $a1, %hi(D_060014B8) ## $a1 = 06000000
/* 006C8 809BD328 24A514B8 */ addiu $a1, $a1, %lo(D_060014B8) ## $a1 = 060014B8
/* 006CC 809BD32C AFA60018 */ sw $a2, 0x0018($sp)
-/* 006D0 809BD330 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 006D0 809BD330 0C0294BE */ jal Animation_PlayLoop
/* 006D4 809BD334 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 006D8 809BD338 8FA60018 */ lw $a2, 0x0018($sp)
/* 006DC 809BD33C 3C01809C */ lui $at, %hi(D_809BF534) ## $at = 809C0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD3F8.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD3F8.s
index 9294257ce2..baffb707a8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD3F8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD3F8.s
@@ -6,7 +6,7 @@ glabel func_809BD3F8
/* 007A8 809BD408 24A51CA4 */ addiu $a1, $a1, %lo(D_06001CA4) ## $a1 = 06001CA4
/* 007AC 809BD40C AFA70018 */ sw $a3, 0x0018($sp)
/* 007B0 809BD410 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 007B4 809BD414 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 007B4 809BD414 0C0294D3 */ jal Animation_MorphToLoop
/* 007B8 809BD418 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 007BC 809BD41C 8FA40018 */ lw $a0, 0x0018($sp)
/* 007C0 809BD420 240E015E */ addiu $t6, $zero, 0x015E ## $t6 = 0000015E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD4A4.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD4A4.s
index 11cb5efb00..b9baa8e643 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD4A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD4A4.s
@@ -6,7 +6,7 @@ glabel func_809BD4A4
/* 00854 809BD4B4 24A514B8 */ addiu $a1, $a1, %lo(D_060014B8) ## $a1 = 060014B8
/* 00858 809BD4B8 AFA70018 */ sw $a3, 0x0018($sp)
/* 0085C 809BD4BC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00860 809BD4C0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00860 809BD4C0 0C0294D3 */ jal Animation_MorphToLoop
/* 00864 809BD4C4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00868 809BD4C8 8FA70018 */ lw $a3, 0x0018($sp)
/* 0086C 809BD4CC 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD524.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD524.s
index f05b8a349c..06ec3ae6ca 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD524.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD524.s
@@ -6,7 +6,7 @@ glabel func_809BD524
/* 008D4 809BD534 3C050600 */ lui $a1, %hi(D_06000D1C) ## $a1 = 06000000
/* 008D8 809BD538 24A50D1C */ addiu $a1, $a1, %lo(D_06000D1C) ## $a1 = 06000D1C
/* 008DC 809BD53C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 008E0 809BD540 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 008E0 809BD540 0C029490 */ jal Animation_MorphToPlayOnce
/* 008E4 809BD544 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 008E8 809BD548 920F02FC */ lbu $t7, 0x02FC($s0) ## 000002FC
/* 008EC 809BD54C 240E0050 */ addiu $t6, $zero, 0x0050 ## $t6 = 00000050
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD5E0.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD5E0.s
index 0cd95323e7..6694437f75 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD5E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD5E0.s
@@ -6,7 +6,7 @@ glabel func_809BD5E0
/* 00990 809BD5F0 3C050600 */ lui $a1, %hi(D_06000444) ## $a1 = 06000000
/* 00994 809BD5F4 24A50444 */ addiu $a1, $a1, %lo(D_06000444) ## $a1 = 06000444
/* 00998 809BD5F8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0099C 809BD5FC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0099C 809BD5FC 0C029490 */ jal Animation_MorphToPlayOnce
/* 009A0 809BD600 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 009A4 809BD604 920F02FC */ lbu $t7, 0x02FC($s0) ## 000002FC
/* 009A8 809BD608 240E0018 */ addiu $t6, $zero, 0x0018 ## $t6 = 00000018
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD658.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD658.s
index a457d715b5..473b5e75eb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD658.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD658.s
@@ -6,7 +6,7 @@ glabel func_809BD658
/* 00A08 809BD668 24A50A74 */ addiu $a1, $a1, %lo(D_06000A74) ## $a1 = 06000A74
/* 00A0C 809BD66C AFA70018 */ sw $a3, 0x0018($sp)
/* 00A10 809BD670 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00A14 809BD674 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00A14 809BD674 0C029490 */ jal Animation_MorphToPlayOnce
/* 00A18 809BD678 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00A1C 809BD67C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00A20 809BD680 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD84C.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD84C.s
index 9807d5f372..2f065867d9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD84C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BD84C.s
@@ -4,7 +4,7 @@ glabel func_809BD84C
/* 00BF4 809BD854 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00BF8 809BD858 AFBF001C */ sw $ra, 0x001C($sp)
/* 00BFC 809BD85C AFA50024 */ sw $a1, 0x0024($sp)
-/* 00C00 809BD860 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00C00 809BD860 0C02927F */ jal SkelAnime_Update
/* 00C04 809BD864 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00C08 809BD868 860E0196 */ lh $t6, 0x0196($s0) ## 00000196
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDB90.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDB90.s
index 030b2d585b..2457ad2e4a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDB90.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDB90.s
@@ -5,7 +5,7 @@ glabel func_809BDB90
/* 00F3C 809BDB9C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00F40 809BDBA0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00F44 809BDBA4 AFA50018 */ sw $a1, 0x0018($sp)
-/* 00F48 809BDBA8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00F48 809BDBA8 0C02927F */ jal SkelAnime_Update
/* 00F4C 809BDBAC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00F50 809BDBB0 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDC08.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDC08.s
index 6ed668c30a..03960b0136 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDC08.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDC08.s
@@ -19,11 +19,11 @@ glabel func_809BDC08
/* 00FBC 809BDC1C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00FC0 809BDC20 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00FC4 809BDC24 AFA40024 */ sw $a0, 0x0024($sp)
-/* 00FC8 809BDC28 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00FC8 809BDC28 0C02927F */ jal SkelAnime_Update
/* 00FCC 809BDC2C AFAF003C */ sw $t7, 0x003C($sp)
/* 00FD0 809BDC30 8FA40024 */ lw $a0, 0x0024($sp)
-/* 00FD4 809BDC34 0C0295B2 */ jal func_800A56C8
+/* 00FD4 809BDC34 0C0295B2 */ jal Animation_OnFrame
/* 00FD8 809BDC38 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00FDC 809BDC3C 10400003 */ beq $v0, $zero, .L809BDC4C
/* 00FE0 809BDC40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDF34.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDF34.s
index 322496cfa8..7bd81886af 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDF34.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDF34.s
@@ -9,7 +9,7 @@ glabel func_809BDF34
/* 012DC 809BDF3C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 012E0 809BDF40 AFBF001C */ sw $ra, 0x001C($sp)
/* 012E4 809BDF44 AFA50024 */ sw $a1, 0x0024($sp)
-/* 012E8 809BDF48 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 012E8 809BDF48 0C02927F */ jal SkelAnime_Update
/* 012EC 809BDF4C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 012F0 809BDF50 86020196 */ lh $v0, 0x0196($s0) ## 00000196
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDFC8.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDFC8.s
index 8aa9af64b2..f60acd3102 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDFC8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BDFC8.s
@@ -4,7 +4,7 @@ glabel func_809BDFC8
/* 01370 809BDFD0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01374 809BDFD4 AFBF001C */ sw $ra, 0x001C($sp)
/* 01378 809BDFD8 AFA50024 */ sw $a1, 0x0024($sp)
-/* 0137C 809BDFDC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0137C 809BDFDC 0C02927F */ jal SkelAnime_Update
/* 01380 809BDFE0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01384 809BDFE4 86030196 */ lh $v1, 0x0196($s0) ## 00000196
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE058.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE058.s
index 775450c5da..630e113221 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE058.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE058.s
@@ -10,7 +10,7 @@ glabel func_809BE058
/* 01418 809BE078 A48E0196 */ sh $t6, 0x0196($a0) ## 00000196
.L809BE07C:
/* 0141C 809BE07C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 01420 809BE080 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01420 809BE080 0C02927F */ jal SkelAnime_Update
/* 01424 809BE084 AFA30024 */ sw $v1, 0x0024($sp)
/* 01428 809BE088 9202029E */ lbu $v0, 0x029E($s0) ## 0000029E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE180.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE180.s
index cf1236b62e..fa76ff7975 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE180.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE180.s
@@ -9,7 +9,7 @@ glabel func_809BE180
/* 01528 809BE188 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0152C 809BE18C AFBF001C */ sw $ra, 0x001C($sp)
/* 01530 809BE190 AFA50024 */ sw $a1, 0x0024($sp)
-/* 01534 809BE194 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01534 809BE194 0C02927F */ jal SkelAnime_Update
/* 01538 809BE198 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0153C 809BE19C 86020196 */ lh $v0, 0x0196($s0) ## 00000196
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE26C.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE26C.s
index 2111e16437..87d9f56392 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE26C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE26C.s
@@ -20,8 +20,8 @@ glabel func_809BE26C
/* 01650 809BE2B0 10000047 */ beq $zero, $zero, .L809BE3D0
/* 01654 809BE2B4 A61800B6 */ sh $t8, 0x00B6($s0) ## 000000B6
.L809BE2B8:
-/* 01658 809BE2B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
-
+/* 01658 809BE2B8 0C02927F */ jal SkelAnime_Update
+
/* 0165C 809BE2BC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01660 809BE2C0 10400043 */ beq $v0, $zero, .L809BE3D0
/* 01664 809BE2C4 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE3E4.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE3E4.s
index 4321064ea4..6e06bfb61e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE3E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/func_809BE3E4.s
@@ -4,7 +4,7 @@ glabel func_809BE3E4
/* 0178C 809BE3EC 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 01790 809BE3F0 AFA5001C */ sw $a1, 0x001C($sp)
/* 01794 809BE3F4 AFA60018 */ sw $a2, 0x0018($sp)
-/* 01798 809BE3F8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01798 809BE3F8 0C02927F */ jal SkelAnime_Update
/* 0179C 809BE3FC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 017A0 809BE400 8FA60018 */ lw $a2, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/EnBili_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/EnBili_Update.s
index 013de8a2ee..4cfcaf322f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/EnBili_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/EnBili_Update.s
@@ -28,7 +28,7 @@ glabel EnBili_Update
/* 013FC 809C0C9C 0C26FFDB */ jal func_809BFF6C
/* 01400 809C0CA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01404 809C0CA4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 01408 809C0CA8 0C0295B2 */ jal func_800A56C8
+/* 01408 809C0CA8 0C0295B2 */ jal Animation_OnFrame
/* 0140C 809C0CAC 3C054110 */ lui $a1, 0x4110 ## $a1 = 41100000
/* 01410 809C0CB0 5040001A */ beql $v0, $zero, .L809C0D1C
/* 01414 809C0CB4 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFA14.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFA14.s
index eca5fda376..4775feaccb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFA14.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFA14.s
@@ -10,7 +10,7 @@ glabel func_809BFA14
/* 00180 809BFA20 3C050600 */ lui $a1, %hi(D_060000A4) ## $a1 = 06000000
/* 00184 809BFA24 24A500A4 */ addiu $a1, $a1, %lo(D_060000A4) ## $a1 = 060000A4
/* 00188 809BFA28 AFA60018 */ sw $a2, 0x0018($sp)
-/* 0018C 809BFA2C 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 0018C 809BFA2C 0C0294BE */ jal Animation_PlayLoop
/* 00190 809BFA30 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00194 809BFA34 8FA60018 */ lw $a2, 0x0018($sp)
/* 00198 809BFA38 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFA8C.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFA8C.s
index 62bb2fa589..bb3a8c31bc 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFA8C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFA8C.s
@@ -5,7 +5,7 @@ glabel func_809BFA8C
/* 001F8 809BFA98 3C050600 */ lui $a1, %hi(D_06000024) ## $a1 = 06000000
/* 001FC 809BFA9C 24A50024 */ addiu $a1, $a1, %lo(D_06000024) ## $a1 = 06000024
/* 00200 809BFAA0 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00204 809BFAA4 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00204 809BFAA4 0C0294BE */ jal Animation_PlayLoop
/* 00208 809BFAA8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0020C 809BFAAC 8FA60018 */ lw $a2, 0x0018($sp)
/* 00210 809BFAB0 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFAE8.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFAE8.s
index f45fc95ed9..6c41dffbc9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFAE8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFAE8.s
@@ -5,7 +5,7 @@ glabel func_809BFAE8
/* 00254 809BFAF4 3C050600 */ lui $a1, %hi(D_06000064) ## $a1 = 06000000
/* 00258 809BFAF8 24A50064 */ addiu $a1, $a1, %lo(D_06000064) ## $a1 = 06000064
/* 0025C 809BFAFC AFA60018 */ sw $a2, 0x0018($sp)
-/* 00260 809BFB00 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00260 809BFB00 0C02947A */ jal Animation_PlayOnce
/* 00264 809BFB04 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00268 809BFB08 8FA60018 */ lw $a2, 0x0018($sp)
/* 0026C 809BFB0C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFB5C.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFB5C.s
index f3067ff7b0..bbf8d9a577 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFB5C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFB5C.s
@@ -10,7 +10,7 @@ glabel func_809BFB5C
/* 002C8 809BFB68 3C050600 */ lui $a1, %hi(D_060000A4) ## $a1 = 06000000
/* 002CC 809BFB6C 24A500A4 */ addiu $a1, $a1, %lo(D_060000A4) ## $a1 = 060000A4
/* 002D0 809BFB70 AFA60018 */ sw $a2, 0x0018($sp)
-/* 002D4 809BFB74 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 002D4 809BFB74 0C0294BE */ jal Animation_PlayLoop
/* 002D8 809BFB78 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 002DC 809BFB7C 8FA60018 */ lw $a2, 0x0018($sp)
/* 002E0 809BFB80 240E0060 */ addiu $t6, $zero, 0x0060 ## $t6 = 00000060
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFBC4.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFBC4.s
index c6b17a7e77..338471e990 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFBC4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFBC4.s
@@ -7,7 +7,7 @@ glabel func_809BFBC4
/* 00338 809BFBD8 24A500A4 */ addiu $a1, $a1, %lo(D_060000A4) ## $a1 = 060000A4
/* 0033C 809BFBDC 10AE0003 */ beq $a1, $t6, .L809BFBEC
/* 00340 809BFBE0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00344 809BFBE4 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00344 809BFBE4 0C0294BE */ jal Animation_PlayLoop
/* 00348 809BFBE8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
.L809BFBEC:
/* 0034C 809BFBEC 8E0501DC */ lw $a1, 0x01DC($s0) ## 000001DC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFC48.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFC48.s
index 0379ca6aec..2744f49c86 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFC48.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809BFC48.s
@@ -9,7 +9,7 @@ glabel func_809BFC48
/* 003C4 809BFC64 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003C8 809BFC68 3C050600 */ lui $a1, %hi(D_060000A4) ## $a1 = 06000000
/* 003CC 809BFC6C 24A500A4 */ addiu $a1, $a1, %lo(D_060000A4) ## $a1 = 060000A4
-/* 003D0 809BFC70 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 003D0 809BFC70 0C0294BE */ jal Animation_PlayLoop
/* 003D4 809BFC74 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
.L809BFC78:
/* 003D8 809BFC78 921901E4 */ lbu $t9, 0x01E4($s0) ## 000001E4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0174.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0174.s
index 24ff2c19b1..fe7ffe0d25 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0174.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0174.s
@@ -9,7 +9,7 @@ glabel func_809C0174
/* 008DC 809C017C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 008E0 809C0180 AFBF001C */ sw $ra, 0x001C($sp)
/* 008E4 809C0184 AFA50024 */ sw $a1, 0x0024($sp)
-/* 008E8 809C0188 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 008E8 809C0188 0C02927F */ jal SkelAnime_Update
/* 008EC 809C018C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 008F0 809C0190 86020196 */ lh $v0, 0x0196($s0) ## 00000196
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0260.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0260.s
index da95a29ba4..d6789afa9c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0260.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0260.s
@@ -5,7 +5,7 @@ glabel func_809C0260
/* 009CC 809C026C AFBF0014 */ sw $ra, 0x0014($sp)
/* 009D0 809C0270 AFA40018 */ sw $a0, 0x0018($sp)
/* 009D4 809C0274 AFA50018 */ sw $a1, 0x0018($sp)
-/* 009D8 809C0278 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 009D8 809C0278 0C02927F */ jal SkelAnime_Update
/* 009DC 809C027C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 009E0 809C0280 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C02B8.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C02B8.s
index e22c4f61dd..6f4297d715 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C02B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C02B8.s
@@ -87,7 +87,7 @@ glabel func_809C02B8
/* 00B50 809C03F0 561EFFCF */ bnel $s0, $s8, .L809C0330
/* 00B54 809C03F4 866E0196 */ lh $t6, 0x0196($s3) ## 00000196
/* 00B58 809C03F8 2670014C */ addiu $s0, $s3, 0x014C ## $s0 = 0000014C
-/* 00B5C 809C03FC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00B5C 809C03FC 0C02927F */ jal SkelAnime_Update
/* 00B60 809C0400 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
/* 00B64 809C0404 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
@@ -106,7 +106,7 @@ glabel func_809C02B8
/* 00B94 809C0434 46105482 */ mul.s $f18, $f10, $f16
/* 00B98 809C0438 1440000F */ bne $v0, $zero, .L809C0478
/* 00B9C 809C043C E6720060 */ swc1 $f18, 0x0060($s3) ## 00000060
-/* 00BA0 809C0440 0C0295B2 */ jal func_800A56C8
+/* 00BA0 809C0440 0C0295B2 */ jal Animation_OnFrame
/* 00BA4 809C0444 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00BA8 809C0448 5040000C */ beql $v0, $zero, .L809C047C
/* 00BAC 809C044C 8FBF0064 */ lw $ra, 0x0064($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C04B4.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C04B4.s
index 047e944355..102e7c7d50 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C04B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C04B4.s
@@ -5,14 +5,14 @@ glabel func_809C04B4
/* 00C20 809C04C0 AFBF001C */ sw $ra, 0x001C($sp)
/* 00C24 809C04C4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00C28 809C04C8 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00C2C 809C04CC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00C2C 809C04CC 0C02927F */ jal SkelAnime_Update
/* 00C30 809C04D0 AFA40024 */ sw $a0, 0x0024($sp)
/* 00C34 809C04D4 AFA2002C */ sw $v0, 0x002C($sp)
/* 00C38 809C04D8 C6040164 */ lwc1 $f4, 0x0164($s0) ## 00000164
/* 00C3C 809C04DC 8FA40024 */ lw $a0, 0x0024($sp)
/* 00C40 809C04E0 3C054110 */ lui $a1, 0x4110 ## $a1 = 41100000
-/* 00C44 809C04E4 0C0295B2 */ jal func_800A56C8
+/* 00C44 809C04E4 0C0295B2 */ jal Animation_OnFrame
/* 00C48 809C04E8 E7A40028 */ swc1 $f4, 0x0028($sp)
/* 00C4C 809C04EC 10400003 */ beq $v0, $zero, .L809C04FC
/* 00C50 809C04F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0570.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0570.s
index 9625bfb185..aa37652251 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0570.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0570.s
@@ -4,7 +4,7 @@ glabel func_809C0570
/* 00CD8 809C0578 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00CDC 809C057C AFBF001C */ sw $ra, 0x001C($sp)
/* 00CE0 809C0580 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00CE4 809C0584 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CE4 809C0584 0C02927F */ jal SkelAnime_Update
/* 00CE8 809C0588 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00CEC 809C058C 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0600.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0600.s
index 3ce982ea48..861b3fc9bc 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0600.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C0600.s
@@ -4,7 +4,7 @@ glabel func_809C0600
/* 00D68 809C0608 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D6C 809C060C AFBF001C */ sw $ra, 0x001C($sp)
/* 00D70 809C0610 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00D74 809C0614 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D74 809C0614 0C02927F */ jal SkelAnime_Update
/* 00D78 809C0618 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D7C 809C061C 86020196 */ lh $v0, 0x0196($s0) ## 00000196
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C067C.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C067C.s
index d0cb7ab6dc..bd78ab972a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C067C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C067C.s
@@ -4,7 +4,7 @@ glabel func_809C067C
/* 00DE4 809C0684 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00DE8 809C0688 AFA5001C */ sw $a1, 0x001C($sp)
/* 00DEC 809C068C AFA70018 */ sw $a3, 0x0018($sp)
-/* 00DF0 809C0690 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00DF0 809C0690 0C02927F */ jal SkelAnime_Update
/* 00DF4 809C0694 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00DF8 809C0698 8FA70018 */ lw $a3, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C06E0.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C06E0.s
index d6d8ce9a25..0eff4103a2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C06E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/func_809C06E0.s
@@ -5,7 +5,7 @@ glabel func_809C06E0
/* 00E4C 809C06EC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00E50 809C06F0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00E54 809C06F4 AFA50018 */ sw $a1, 0x0018($sp)
-/* 00E58 809C06F8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00E58 809C06F8 0C02927F */ jal SkelAnime_Update
/* 00E5C 809C06FC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00E60 809C0700 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAE44.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAE44.s
index 8674f832e5..f32a635f54 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAE44.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAE44.s
@@ -5,7 +5,7 @@ glabel func_809CAE44
/* 00340 809CAE50 AFA40018 */ sw $a0, 0x0018($sp)
/* 00344 809CAE54 3C050600 */ lui $a1, %hi(D_06001750) ## $a1 = 06000000
/* 00348 809CAE58 24A51750 */ addiu $a1, $a1, %lo(D_06001750) ## $a1 = 06001750
-/* 0034C 809CAE5C 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 0034C 809CAE5C 0C02947A */ jal Animation_PlayOnce
/* 00350 809CAE60 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
/* 00354 809CAE64 8FA4001C */ lw $a0, 0x001C($sp)
/* 00358 809CAE68 8FAE0018 */ lw $t6, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEA0.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEA0.s
index 3a5659394d..f9188f6e40 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEA0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEA0.s
@@ -6,7 +6,7 @@ glabel func_809CAEA0
/* 003A0 809CAEB0 24A51958 */ addiu $a1, $a1, %lo(D_06001958) ## $a1 = 06001958
/* 003A4 809CAEB4 AFA70018 */ sw $a3, 0x0018($sp)
/* 003A8 809CAEB8 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 003AC 809CAEBC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 003AC 809CAEBC 0C0294D3 */ jal Animation_MorphToLoop
/* 003B0 809CAEC0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 003B4 809CAEC4 8FA70018 */ lw $a3, 0x0018($sp)
/* 003B8 809CAEC8 3C18809D */ lui $t8, %hi(func_809CB218) ## $t8 = 809D0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEF4.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEF4.s
index ec433fa6ce..396e53d693 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEF4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAEF4.s
@@ -6,7 +6,7 @@ glabel func_809CAEF4
/* 003F4 809CAF04 3C050600 */ lui $a1, %hi(D_06000290) ## $a1 = 06000000
/* 003F8 809CAF08 24A50290 */ addiu $a1, $a1, %lo(D_06000290) ## $a1 = 06000290
/* 003FC 809CAF0C 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00400 809CAF10 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00400 809CAF10 0C029490 */ jal Animation_MorphToPlayOnce
/* 00404 809CAF14 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00408 809CAF18 860E01AE */ lh $t6, 0x01AE($s0) ## 000001AE
/* 0040C 809CAF1C 3C0142FA */ lui $at, 0x42FA ## $at = 42FA0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAF88.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAF88.s
index fc0f5371d6..161ec69665 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAF88.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CAF88.s
@@ -3,7 +3,7 @@ glabel func_809CAF88
/* 0047C 809CAF8C AFA40028 */ sw $a0, 0x0028($sp)
/* 00480 809CAF90 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00484 809CAF94 3C040600 */ lui $a0, %hi(D_06001750) ## $a0 = 06000000
-/* 00488 809CAF98 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00488 809CAF98 0C028800 */ jal Animation_GetLastFrame
/* 0048C 809CAF9C 24841750 */ addiu $a0, $a0, %lo(D_06001750) ## $a0 = 06001750
/* 00490 809CAFA0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_809CAF88
/* 004BC 809CAFCC 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 004C0 809CAFD0 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 004C4 809CAFD4 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 004C8 809CAFD8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 004C8 809CAFD8 0C029468 */ jal Animation_Change
/* 004CC 809CAFDC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 004D0 809CAFE0 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB008.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB008.s
index 1f41230e89..1970efd2f3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB008.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB008.s
@@ -6,7 +6,7 @@ glabel func_809CB008
/* 00508 809CB018 24A51678 */ addiu $a1, $a1, %lo(D_06001678) ## $a1 = 06001678
/* 0050C 809CB01C AFA70018 */ sw $a3, 0x0018($sp)
/* 00510 809CB020 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00514 809CB024 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00514 809CB024 0C0294D3 */ jal Animation_MorphToLoop
/* 00518 809CB028 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 0051C 809CB02C 8FA70018 */ lw $a3, 0x0018($sp)
/* 00520 809CB030 3C0F809D */ lui $t7, %hi(func_809CB458) ## $t7 = 809D0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB114.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB114.s
index c6908b1d96..9471eda9c9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB114.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB114.s
@@ -5,7 +5,7 @@ glabel func_809CB114
/* 00610 809CB120 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00614 809CB124 AFA40018 */ sw $a0, 0x0018($sp)
/* 00618 809CB128 AFA50018 */ sw $a1, 0x0018($sp)
-/* 0061C 809CB12C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0061C 809CB12C 0C02927F */ jal SkelAnime_Update
/* 00620 809CB130 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
/* 00624 809CB134 10400005 */ beq $v0, $zero, .L809CB14C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB218.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB218.s
index 36d682b60c..7f79a7098a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB218.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB218.s
@@ -5,15 +5,15 @@ glabel func_809CB218
/* 00714 809CB224 AFBF001C */ sw $ra, 0x001C($sp)
/* 00718 809CB228 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
/* 0071C 809CB22C AFA5002C */ sw $a1, 0x002C($sp)
-/* 00720 809CB230 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00720 809CB230 0C02927F */ jal SkelAnime_Update
/* 00724 809CB234 AFA40024 */ sw $a0, 0x0024($sp)
/* 00728 809CB238 8FA40024 */ lw $a0, 0x0024($sp)
-/* 0072C 809CB23C 0C0295B2 */ jal func_800A56C8
+/* 0072C 809CB23C 0C0295B2 */ jal Animation_OnFrame
/* 00730 809CB240 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 00734 809CB244 14400004 */ bne $v0, $zero, .L809CB258
/* 00738 809CB248 8FA40024 */ lw $a0, 0x0024($sp)
-/* 0073C 809CB24C 0C0295B2 */ jal func_800A56C8
+/* 0073C 809CB24C 0C0295B2 */ jal Animation_OnFrame
/* 00740 809CB250 3C054170 */ lui $a1, 0x4170 ## $a1 = 41700000
/* 00744 809CB254 10400003 */ beq $v0, $zero, .L809CB264
.L809CB258:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB2B8.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB2B8.s
index 4c2aa880b8..0a5e3125f3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB2B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB2B8.s
@@ -9,7 +9,7 @@ glabel func_809CB2B8
/* 007B0 809CB2C0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 007B4 809CB2C4 AFA5001C */ sw $a1, 0x001C($sp)
/* 007B8 809CB2C8 AFA60018 */ sw $a2, 0x0018($sp)
-/* 007BC 809CB2CC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 007BC 809CB2CC 0C02927F */ jal SkelAnime_Update
/* 007C0 809CB2D0 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
/* 007C4 809CB2D4 10400007 */ beq $v0, $zero, .L809CB2F4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB354.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB354.s
index bcb1cd190b..ad1bcd3987 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB354.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB354.s
@@ -4,7 +4,7 @@ glabel func_809CB354
/* 0084C 809CB35C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00850 809CB360 AFA5001C */ sw $a1, 0x001C($sp)
/* 00854 809CB364 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00858 809CB368 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00858 809CB368 0C02927F */ jal SkelAnime_Update
/* 0085C 809CB36C 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
/* 00860 809CB370 10400006 */ beq $v0, $zero, .L809CB38C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB458.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB458.s
index 112175461c..6750a55d93 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB458.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/func_809CB458.s
@@ -26,11 +26,11 @@ glabel func_809CB458
/* 00984 809CB494 F7B80038 */ sdc1 $f24, 0x0038($sp)
/* 00988 809CB498 F7B60030 */ sdc1 $f22, 0x0030($sp)
/* 0098C 809CB49C F7B40028 */ sdc1 $f20, 0x0028($sp)
-/* 00990 809CB4A0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00990 809CB4A0 0C02927F */ jal SkelAnime_Update
/* 00994 809CB4A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000164
/* 00998 809CB4A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000164
-/* 0099C 809CB4AC 0C0295B2 */ jal func_800A56C8
+/* 0099C 809CB4AC 0C0295B2 */ jal Animation_OnFrame
/* 009A0 809CB4B0 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 009A4 809CB4B4 10400005 */ beq $v0, $zero, .L809CB4CC
/* 009A8 809CB4B8 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Init.s
index b8f288ae79..194b9d50af 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Init.s
@@ -62,7 +62,7 @@ glabel EnCs_Init
/* 001FC 809E1AAC E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00200 809E1AB0 3C03809E */ lui $v1, %hi(D_809E2918) ## $v1 = 809E0000
/* 00204 809E1AB4 24632918 */ addiu $v1, $v1, %lo(D_809E2918) ## $v1 = 809E2918
-/* 00208 809E1AB8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00208 809E1AB8 0C028800 */ jal Animation_GetLastFrame
/* 0020C 809E1ABC 8C640000 */ lw $a0, 0x0000($v1) ## 809E2918
/* 00210 809E1AC0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -77,7 +77,7 @@ glabel EnCs_Init
/* 00234 809E1AE4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00238 809E1AE8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 0023C 809E1AEC AFA90014 */ sw $t1, 0x0014($sp)
-/* 00240 809E1AF0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00240 809E1AF0 0C029468 */ jal Animation_Change
/* 00244 809E1AF4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00248 809E1AF8 860B001C */ lh $t3, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E18B0.s b/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E18B0.s
index 57c8304941..4cb998e5b8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E18B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E18B0.s
@@ -29,7 +29,7 @@ glabel func_809E18B0
/* 00060 809E1910 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 00064 809E1914 AFA3002C */ sw $v1, 0x002C($sp)
/* 00068 809E1918 AFA5003C */ sw $a1, 0x003C($sp)
-/* 0006C 809E191C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0006C 809E191C 0C028800 */ jal Animation_GetLastFrame
/* 00070 809E1920 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 00074 809E1924 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -44,7 +44,7 @@ glabel func_809E18B0
/* 00098 809E1948 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0009C 809E194C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000A0 809E1950 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 000A4 809E1954 0C029468 */ jal SkelAnime_ChangeAnim
+/* 000A4 809E1954 0C029468 */ jal Animation_Change
/* 000A8 809E1958 AFA90014 */ sw $t1, 0x0014($sp)
/* 000AC 809E195C 10000016 */ beq $zero, $zero, .L809E19B8
@@ -53,7 +53,7 @@ glabel func_809E18B0
.L809E1968:
/* 000B8 809E1968 AFA3002C */ sw $v1, 0x002C($sp)
/* 000BC 809E196C AFA5003C */ sw $a1, 0x003C($sp)
-/* 000C0 809E1970 0C028800 */ jal SkelAnime_GetFrameCount
+/* 000C0 809E1970 0C028800 */ jal Animation_GetLastFrame
/* 000C4 809E1974 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 000C8 809E1978 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -69,7 +69,7 @@ glabel func_809E18B0
/* 000F0 809E19A0 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000F4 809E19A4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 000F8 809E19A8 AFAA0014 */ sw $t2, 0x0014($sp)
-/* 000FC 809E19AC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 000FC 809E19AC 0C029468 */ jal Animation_Change
/* 00100 809E19B0 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00104 809E19B4 8FAB003C */ lw $t3, 0x003C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2134.s b/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2134.s
index 4d5a7f79bd..76996f7044 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2134.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2134.s
@@ -11,7 +11,7 @@ glabel func_809E2134
/* 008A8 809E2158 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
.L809E215C:
/* 008AC 809E215C 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
-/* 008B0 809E2160 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 008B0 809E2160 0C02927F */ jal SkelAnime_Update
/* 008B4 809E2164 AFA70018 */ sw $a3, 0x0018($sp)
/* 008B8 809E2168 1040003B */ beq $v0, $zero, .L809E2258
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E22D4.s b/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E22D4.s
index c97a04f27b..a53a281e4c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E22D4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E22D4.s
@@ -11,7 +11,7 @@ glabel func_809E22D4
/* 00A48 809E22F8 AC8F0190 */ sw $t7, 0x0190($a0) ## 00000190
.L809E22FC:
/* 00A4C 809E22FC 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
-/* 00A50 809E2300 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00A50 809E2300 0C02927F */ jal SkelAnime_Update
/* 00A54 809E2304 AFA70018 */ sw $a3, 0x0018($sp)
/* 00A58 809E2308 10400011 */ beq $v0, $zero, .L809E2350
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2360.s b/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2360.s
index 141dc82c1a..417026b3f0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2360.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Cs/func_809E2360.s
@@ -5,7 +5,7 @@ glabel func_809E2360
/* 00ABC 809E236C 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
/* 00AC0 809E2370 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00AC4 809E2374 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00AC8 809E2378 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00AC8 809E2378 0C02927F */ jal SkelAnime_Update
/* 00ACC 809E237C AFA30024 */ sw $v1, 0x0024($sp)
/* 00AD0 809E2380 10400007 */ beq $v0, $zero, .L809E23A0
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Init.s
index 6798fb3832..39e6be0370 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Init.s
@@ -112,7 +112,7 @@ glabel EnDaikuKakariko_Init
/* 00238 809E4558 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 0023C 809E455C 3C03809E */ lui $v1, %hi(D_809E5508) ## $v1 = 809E0000
/* 00240 809E4560 24635508 */ addiu $v1, $v1, %lo(D_809E5508) ## $v1 = 809E5508
-/* 00244 809E4564 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00244 809E4564 0C028800 */ jal Animation_GetLastFrame
/* 00248 809E4568 8C640000 */ lw $a0, 0x0000($v1) ## 809E5508
/* 0024C 809E456C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -127,7 +127,7 @@ glabel EnDaikuKakariko_Init
/* 00270 809E4590 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00274 809E4594 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00278 809E4598 AFA80014 */ sw $t0, 0x0014($sp)
-/* 0027C 809E459C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0027C 809E459C 0C029468 */ jal Animation_Change
/* 00280 809E45A0 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00284 809E45A4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4320.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4320.s
index 2346bae8e3..4862aef21f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4320.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4320.s
@@ -23,7 +23,7 @@ glabel func_809E4320
/* 00048 809E4368 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 0004C 809E436C AFA3002C */ sw $v1, 0x002C($sp)
/* 00050 809E4370 AFA5003C */ sw $a1, 0x003C($sp)
-/* 00054 809E4374 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00054 809E4374 0C028800 */ jal Animation_GetLastFrame
/* 00058 809E4378 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 0005C 809E437C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -38,7 +38,7 @@ glabel func_809E4320
/* 00080 809E43A0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00084 809E43A4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00088 809E43A8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0008C 809E43AC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0008C 809E43AC 0C029468 */ jal Animation_Change
/* 00090 809E43B0 AFA90014 */ sw $t1, 0x0014($sp)
/* 00094 809E43B4 8FAA003C */ lw $t2, 0x003C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E49A8.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E49A8.s
index 915b225298..577076a4b6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E49A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E49A8.s
@@ -4,7 +4,7 @@ glabel func_809E49A8
/* 00690 809E49B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00694 809E49B4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00698 809E49B8 AFA50024 */ sw $a1, 0x0024($sp)
-/* 0069C 809E49BC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0069C 809E49BC 0C02927F */ jal SkelAnime_Update
/* 006A0 809E49C0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 006A4 809E49C4 10400004 */ beq $v0, $zero, .L809E49D8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4A7C.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4A7C.s
index 3bff57f0c3..aa52ee26ff 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4A7C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4A7C.s
@@ -4,7 +4,7 @@ glabel func_809E4A7C
/* 00764 809E4A84 AFB00018 */ sw $s0, 0x0018($sp)
/* 00768 809E4A88 0C2791FB */ jal func_809E47EC
/* 0076C 809E4A8C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 00770 809E4A90 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00770 809E4A90 0C02927F */ jal SkelAnime_Update
/* 00774 809E4A94 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00778 809E4A98 10400004 */ beq $v0, $zero, .L809E4AAC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4B14.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4B14.s
index bbc9db8325..4ab3697c11 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4B14.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4B14.s
@@ -4,7 +4,7 @@ glabel func_809E4B14
/* 007FC 809E4B1C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00800 809E4B20 AFBF001C */ sw $ra, 0x001C($sp)
/* 00804 809E4B24 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00808 809E4B28 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00808 809E4B28 0C02927F */ jal SkelAnime_Update
/* 0080C 809E4B2C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00810 809E4B30 50400010 */ beql $v0, $zero, .L809E4B74
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4BC4.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4BC4.s
index b52f3f216a..866d39163e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4BC4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4BC4.s
@@ -215,7 +215,7 @@ glabel func_809E4BC4
/* 00BAC 809E4ECC 332EFFFE */ andi $t6, $t9, 0xFFFE ## $t6 = 00000000
/* 00BB0 809E4ED0 A60E0202 */ sh $t6, 0x0202($s0) ## 00000202
.L809E4ED4:
-/* 00BB4 809E4ED4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00BB4 809E4ED4 0C02927F */ jal SkelAnime_Update
/* 00BB8 809E4ED8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00BBC 809E4EDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5D28.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5D28.s
index 5831d598fc..956c8f3a21 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5D28.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5D28.s
@@ -9,12 +9,12 @@ glabel func_809E5D28
/* 00560 809E5D30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00564 809E5D34 AFBF002C */ sw $ra, 0x002C($sp)
/* 00568 809E5D38 3C040600 */ lui $a0, %hi(D_060002B8) ## $a0 = 06000000
-/* 0056C 809E5D3C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0056C 809E5D3C 0C028800 */ jal Animation_GetLastFrame
/* 00570 809E5D40 248402B8 */ addiu $a0, $a0, %lo(D_060002B8) ## $a0 = 060002B8
/* 00574 809E5D44 3C040600 */ lui $a0, %hi(D_060002B8) ## $a0 = 06000000
/* 00578 809E5D48 248402B8 */ addiu $a0, $a0, %lo(D_060002B8) ## $a0 = 060002B8
-/* 0057C 809E5D4C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0057C 809E5D4C 0C028800 */ jal Animation_GetLastFrame
/* 00580 809E5D50 A7A20030 */ sh $v0, 0x0030($sp)
/* 00584 809E5D54 87AE0030 */ lh $t6, 0x0030($sp)
@@ -35,7 +35,7 @@ glabel func_809E5D28
/* 005C0 809E5D90 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 005C4 809E5D94 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 005C8 809E5D98 44065000 */ mfc1 $a2, $f10
-/* 005CC 809E5D9C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 005CC 809E5D9C 0C029468 */ jal Animation_Change
/* 005D0 809E5DA0 00000000 */ nop
/* 005D4 809E5DA4 8E020254 */ lw $v0, 0x0254($s0) ## 00000254
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5E58.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5E58.s
index 3df9c71474..00caedf90c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5E58.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5E58.s
@@ -4,7 +4,7 @@ glabel func_809E5E58
/* 00690 809E5E60 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00694 809E5E64 AFBF002C */ sw $ra, 0x002C($sp)
/* 00698 809E5E68 3C040600 */ lui $a0, %hi(D_060002B8) ## $a0 = 06000000
-/* 0069C 809E5E6C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0069C 809E5E6C 0C028800 */ jal Animation_GetLastFrame
/* 006A0 809E5E70 248402B8 */ addiu $a0, $a0, %lo(D_060002B8) ## $a0 = 060002B8
/* 006A4 809E5E74 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_809E5E58
/* 006CC 809E5E9C 2604017C */ addiu $a0, $s0, 0x017C ## $a0 = 0000017C
/* 006D0 809E5EA0 3C06BFC0 */ lui $a2, 0xBFC0 ## $a2 = BFC00000
/* 006D4 809E5EA4 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 006D8 809E5EA8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 006D8 809E5EA8 0C029468 */ jal Animation_Change
/* 006DC 809E5EAC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 006E0 809E5EB0 8E020254 */ lw $v0, 0x0254($s0) ## 00000254
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5F44.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5F44.s
index bc8b7fd41b..b36b27bb34 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5F44.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5F44.s
@@ -3,7 +3,7 @@ glabel func_809E5F44
/* 00778 809E5F48 AFA40018 */ sw $a0, 0x0018($sp)
/* 0077C 809E5F4C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00780 809E5F50 3C040600 */ lui $a0, %hi(D_060002B8) ## $a0 = 06000000
-/* 00784 809E5F54 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00784 809E5F54 0C028800 */ jal Animation_GetLastFrame
/* 00788 809E5F58 248402B8 */ addiu $a0, $a0, %lo(D_060002B8) ## $a0 = 060002B8
/* 0078C 809E5F5C 8FA30018 */ lw $v1, 0x0018($sp)
@@ -12,7 +12,7 @@ glabel func_809E5F44
/* 00798 809E5F68 24A502B8 */ addiu $a1, $a1, %lo(D_060002B8) ## $a1 = 060002B8
/* 0079C 809E5F6C 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 007A0 809E5F70 A46E01C6 */ sh $t6, 0x01C6($v1) ## 000001C6
-/* 007A4 809E5F74 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 007A4 809E5F74 0C0294D3 */ jal Animation_MorphToLoop
/* 007A8 809E5F78 2464017C */ addiu $a0, $v1, 0x017C ## $a0 = 0000017C
/* 007AC 809E5F7C 8FB80018 */ lw $t8, 0x0018($sp)
/* 007B0 809E5F80 3C0F809E */ lui $t7, %hi(func_809E6ED4) ## $t7 = 809E0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5FBC.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5FBC.s
index 7f5b366ef0..ddc3fdc087 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5FBC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E5FBC.s
@@ -5,7 +5,7 @@ glabel func_809E5FBC
/* 007F8 809E5FC8 3C050600 */ lui $a1, %hi(D_06000208) ## $a1 = 06000000
/* 007FC 809E5FCC 24A50208 */ addiu $a1, $a1, %lo(D_06000208) ## $a1 = 06000208
/* 00800 809E5FD0 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00804 809E5FD4 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00804 809E5FD4 0C02947A */ jal Animation_PlayOnce
/* 00808 809E5FD8 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
/* 0080C 809E5FDC 8FA60018 */ lw $a2, 0x0018($sp)
/* 00810 809E5FE0 3C0E809E */ lui $t6, %hi(func_809E7104) ## $t6 = 809E0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6000.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6000.s
index 300756c7dc..4ed1a11658 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6000.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6000.s
@@ -3,7 +3,7 @@ glabel func_809E6000
/* 00834 809E6004 AFA40028 */ sw $a0, 0x0028($sp)
/* 00838 809E6008 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0083C 809E600C 3C040600 */ lui $a0, %hi(D_06000208) ## $a0 = 06000000
-/* 00840 809E6010 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00840 809E6010 0C028800 */ jal Animation_GetLastFrame
/* 00844 809E6014 24840208 */ addiu $a0, $a0, %lo(D_06000208) ## $a0 = 06000208
/* 00848 809E6018 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_809E6000
/* 00870 809E6040 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00874 809E6044 3C074170 */ lui $a3, 0x4170 ## $a3 = 41700000
/* 00878 809E6048 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 0087C 809E604C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0087C 809E604C 0C029468 */ jal Animation_Change
/* 00880 809E6050 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
/* 00884 809E6054 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E60A8.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E60A8.s
index 79834c59d1..76f7507fa1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E60A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E60A8.s
@@ -12,7 +12,7 @@ glabel func_809E60A8
/* 008EC 809E60BC 3C050600 */ lui $a1, %hi(D_06000208) ## $a1 = 06000000
/* 008F0 809E60C0 24A50208 */ addiu $a1, $a1, %lo(D_06000208) ## $a1 = 06000208
/* 008F4 809E60C4 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
-/* 008F8 809E60C8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 008F8 809E60C8 0C029490 */ jal Animation_MorphToPlayOnce
/* 008FC 809E60CC 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00900 809E60D0 920F0249 */ lbu $t7, 0x0249($s0) ## 00000249
/* 00904 809E60D4 8FAE002C */ lw $t6, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E61E0.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E61E0.s
index 78ada67cd0..269277154f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E61E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E61E0.s
@@ -3,7 +3,7 @@ glabel func_809E61E0
/* 00A14 809E61E4 AFA40028 */ sw $a0, 0x0028($sp)
/* 00A18 809E61E8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00A1C 809E61EC 3C040600 */ lui $a0, %hi(D_060002B8) ## $a0 = 06000000
-/* 00A20 809E61F0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00A20 809E61F0 0C028800 */ jal Animation_GetLastFrame
/* 00A24 809E61F4 248402B8 */ addiu $a0, $a0, %lo(D_060002B8) ## $a0 = 060002B8
/* 00A28 809E61F8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_809E61E0
/* 00A54 809E6224 3C06BFC0 */ lui $a2, 0xBFC0 ## $a2 = BFC00000
/* 00A58 809E6228 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00A5C 809E622C 2464017C */ addiu $a0, $v1, 0x017C ## $a0 = 0000017C
-/* 00A60 809E6230 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00A60 809E6230 0C029468 */ jal Animation_Change
/* 00A64 809E6234 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00A68 809E6238 8FA30028 */ lw $v1, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6264.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6264.s
index 412532b391..483ca10d1f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6264.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6264.s
@@ -41,7 +41,7 @@ glabel func_809E6264
/* 00B30 809E6300 15410015 */ bne $t2, $at, .L809E6358
/* 00B34 809E6304 00000000 */ nop
/* 00B38 809E6308 3C040600 */ lui $a0, %hi(D_060002B8) ## $a0 = 06000000
-/* 00B3C 809E630C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B3C 809E630C 0C028800 */ jal Animation_GetLastFrame
/* 00B40 809E6310 248402B8 */ addiu $a0, $a0, %lo(D_060002B8) ## $a0 = 060002B8
/* 00B44 809E6314 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -56,14 +56,14 @@ glabel func_809E6264
/* 00B68 809E6338 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00B6C 809E633C 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 00B70 809E6340 AFA00014 */ sw $zero, 0x0014($sp)
-/* 00B74 809E6344 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B74 809E6344 0C029468 */ jal Animation_Change
/* 00B78 809E6348 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00B7C 809E634C 240B0028 */ addiu $t3, $zero, 0x0028 ## $t3 = 00000028
/* 00B80 809E6350 10000013 */ beq $zero, $zero, .L809E63A0
/* 00B84 809E6354 A60B01C6 */ sh $t3, 0x01C6($s0) ## 000001C6
.L809E6358:
-/* 00B88 809E6358 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B88 809E6358 0C028800 */ jal Animation_GetLastFrame
/* 00B8C 809E635C 248402B8 */ addiu $a0, $a0, 0x02B8 ## $a0 = 000002B8
/* 00B90 809E6360 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -78,7 +78,7 @@ glabel func_809E6264
/* 00BB4 809E6384 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00BB8 809E6388 2604017C */ addiu $a0, $s0, 0x017C ## $a0 = 0000017C
/* 00BBC 809E638C AFA00014 */ sw $zero, 0x0014($sp)
-/* 00BC0 809E6390 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00BC0 809E6390 0C029468 */ jal Animation_Change
/* 00BC4 809E6394 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 00BC8 809E6398 240C003C */ addiu $t4, $zero, 0x003C ## $t4 = 0000003C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E65A0.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E65A0.s
index 4602648ec3..597ee93069 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E65A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E65A0.s
@@ -24,7 +24,7 @@ glabel func_809E65A0
/* 00DF4 809E65C4 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 00DF8 809E65C8 A49801C6 */ sh $t8, 0x01C6($a0) ## 000001C6
.L809E65CC:
-/* 00DFC 809E65CC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00DFC 809E65CC 0C02927F */ jal SkelAnime_Update
/* 00E00 809E65D0 2604017C */ addiu $a0, $s0, 0x017C ## $a0 = 0000017C
/* 00E04 809E65D4 861901C6 */ lh $t9, 0x01C6($s0) ## 000001C6
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6A04.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6A04.s
index 82c4e52449..fa04e6a125 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6A04.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6A04.s
@@ -24,7 +24,7 @@ glabel func_809E6A04
/* 01250 809E6A20 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 01254 809E6A24 A48E01C6 */ sh $t6, 0x01C6($a0) ## 000001C6
.L809E6A28:
-/* 01258 809E6A28 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01258 809E6A28 0C02927F */ jal SkelAnime_Update
/* 0125C 809E6A2C 2604017C */ addiu $a0, $s0, 0x017C ## $a0 = 0000017C
/* 01260 809E6A30 860F01C6 */ lh $t7, 0x01C6($s0) ## 000001C6
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6ED4.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6ED4.s
index b7781f8779..61fbc1b915 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6ED4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E6ED4.s
@@ -6,15 +6,15 @@ glabel func_809E6ED4
/* 01714 809E6EE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01718 809E6EE8 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
/* 0171C 809E6EEC AFA4002C */ sw $a0, 0x002C($sp)
-/* 01720 809E6EF0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01720 809E6EF0 0C02927F */ jal SkelAnime_Update
/* 01724 809E6EF4 AFAE0034 */ sw $t6, 0x0034($sp)
/* 01728 809E6EF8 8FA4002C */ lw $a0, 0x002C($sp)
-/* 0172C 809E6EFC 0C0295B2 */ jal func_800A56C8
+/* 0172C 809E6EFC 0C0295B2 */ jal Animation_OnFrame
/* 01730 809E6F00 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01734 809E6F04 14400005 */ bne $v0, $zero, .L809E6F1C
/* 01738 809E6F08 8FA4002C */ lw $a0, 0x002C($sp)
-/* 0173C 809E6F0C 0C0295B2 */ jal func_800A56C8
+/* 0173C 809E6F0C 0C0295B2 */ jal Animation_OnFrame
/* 01740 809E6F10 3C054140 */ lui $a1, 0x4140 ## $a1 = 41400000
/* 01744 809E6F14 5040000D */ beql $v0, $zero, .L809E6F4C
/* 01748 809E6F18 860201C6 */ lh $v0, 0x01C6($s0) ## 000001C6
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7104.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7104.s
index 4e5c48bf3b..83d4636a6e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7104.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7104.s
@@ -5,14 +5,14 @@ glabel func_809E7104
/* 01940 809E7110 AFBF002C */ sw $ra, 0x002C($sp)
/* 01944 809E7114 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
/* 01948 809E7118 AFA50054 */ sw $a1, 0x0054($sp)
-/* 0194C 809E711C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0194C 809E711C 0C02927F */ jal SkelAnime_Update
/* 01950 809E7120 AFA40034 */ sw $a0, 0x0034($sp)
/* 01954 809E7124 860301C6 */ lh $v1, 0x01C6($s0) ## 000001C6
/* 01958 809E7128 8FA40034 */ lw $a0, 0x0034($sp)
/* 0195C 809E712C 14600068 */ bne $v1, $zero, .L809E72D0
/* 01960 809E7130 2861000B */ slti $at, $v1, 0x000B
-/* 01964 809E7134 0C0295B2 */ jal func_800A56C8
+/* 01964 809E7134 0C0295B2 */ jal Animation_OnFrame
/* 01968 809E7138 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 0196C 809E713C 5040000D */ beql $v0, $zero, .L809E7174
/* 01970 809E7140 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
@@ -80,7 +80,7 @@ glabel func_809E7104
/* 01A48 809E7218 00621824 */ and $v1, $v1, $v0
/* 01A4C 809E721C 10600054 */ beq $v1, $zero, .L809E7370
/* 01A50 809E7220 8FA40034 */ lw $a0, 0x0034($sp)
-/* 01A54 809E7224 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 01A54 809E7224 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 01A58 809E7228 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 01A5C 809E722C 0C01DE1C */ jal Math_SinS
## sins?
@@ -151,11 +151,11 @@ glabel func_809E7104
.L809E7320:
/* 01B50 809E7320 8FA40034 */ lw $a0, 0x0034($sp)
.L809E7324:
-/* 01B54 809E7324 0C0295B2 */ jal func_800A56C8
+/* 01B54 809E7324 0C0295B2 */ jal Animation_OnFrame
/* 01B58 809E7328 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01B5C 809E732C 14400005 */ bne $v0, $zero, .L809E7344
/* 01B60 809E7330 8FA40034 */ lw $a0, 0x0034($sp)
-/* 01B64 809E7334 0C0295B2 */ jal func_800A56C8
+/* 01B64 809E7334 0C0295B2 */ jal Animation_OnFrame
/* 01B68 809E7338 3C054140 */ lui $a1, 0x4140 ## $a1 = 41400000
/* 01B6C 809E733C 1040000C */ beq $v0, $zero, .L809E7370
/* 01B70 809E7340 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7458.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7458.s
index 188395158c..563d8e9c0b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7458.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7458.s
@@ -5,7 +5,7 @@ glabel func_809E7458
/* 01C94 809E7464 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01C98 809E7468 AFB0001C */ sw $s0, 0x001C($sp)
/* 01C9C 809E746C AFA5004C */ sw $a1, 0x004C($sp)
-/* 01CA0 809E7470 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01CA0 809E7470 0C02927F */ jal SkelAnime_Update
/* 01CA4 809E7474 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
/* 01CA8 809E7478 862301C6 */ lh $v1, 0x01C6($s1) ## 000001C6
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E77E4.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E77E4.s
index 4add381e1e..c4d7947af4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E77E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E77E4.s
@@ -5,7 +5,7 @@ glabel func_809E77E4
/* 02020 809E77F0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 02024 809E77F4 AFB0001C */ sw $s0, 0x001C($sp)
/* 02028 809E77F8 AFA5002C */ sw $a1, 0x002C($sp)
-/* 0202C 809E77FC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0202C 809E77FC 0C02927F */ jal SkelAnime_Update
/* 02030 809E7800 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
/* 02034 809E7804 862301C6 */ lh $v1, 0x01C6($s1) ## 000001C6
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E78DC.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E78DC.s
index 683ee97010..ccd576e7a0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E78DC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E78DC.s
@@ -5,7 +5,7 @@ glabel func_809E78DC
/* 02118 809E78E8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0211C 809E78EC AFB00014 */ sw $s0, 0x0014($sp)
/* 02120 809E78F0 AFA50024 */ sw $a1, 0x0024($sp)
-/* 02124 809E78F4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02124 809E78F4 0C02927F */ jal SkelAnime_Update
/* 02128 809E78F8 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
/* 0212C 809E78FC 262400B4 */ addiu $a0, $s1, 0x00B4 ## $a0 = 000000B4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E79EC.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E79EC.s
index dcb8ab2ced..2d20035e64 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E79EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E79EC.s
@@ -5,7 +5,7 @@ glabel func_809E79EC
/* 02228 809E79F8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0222C 809E79FC AFA40018 */ sw $a0, 0x0018($sp)
/* 02230 809E7A00 AFA50018 */ sw $a1, 0x0018($sp)
-/* 02234 809E7A04 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02234 809E7A04 0C02927F */ jal SkelAnime_Update
/* 02238 809E7A08 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
/* 0223C 809E7A0C 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7A88.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7A88.s
index 92348659a9..e594016162 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7A88.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/func_809E7A88.s
@@ -9,7 +9,7 @@ glabel func_809E7A88
/* 022C0 809E7A90 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 022C4 809E7A94 AFBF001C */ sw $ra, 0x001C($sp)
/* 022C8 809E7A98 AFA50024 */ sw $a1, 0x0024($sp)
-/* 022CC 809E7A9C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 022CC 809E7A9C 0C02927F */ jal SkelAnime_Update
/* 022D0 809E7AA0 2484017C */ addiu $a0, $a0, 0x017C ## $a0 = 0000017C
/* 022D4 809E7AA4 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Update.s
index 67ed04cb05..e410fde47c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Update.s
@@ -71,7 +71,7 @@ glabel EnDekunuts_Update
/* 013C4 809EA924 15830012 */ bne $t4, $v1, .L809EA970
/* 013C8 809EA928 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013CC 809EA92C 3C040600 */ lui $a0, %hi(D_060004D8) ## $a0 = 06000000
-/* 013D0 809EA930 0C028800 */ jal SkelAnime_GetFrameCount
+/* 013D0 809EA930 0C028800 */ jal Animation_GetLastFrame
/* 013D4 809EA934 248404D8 */ addiu $a0, $a0, %lo(D_060004D8) ## $a0 = 060004D8
/* 013D8 809EA938 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E96FC.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E96FC.s
index 38ddc66b0f..aa7bfe562d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E96FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E96FC.s
@@ -6,7 +6,7 @@ glabel func_809E96FC
/* 001AC 809E970C 3C050600 */ lui $a1, %hi(D_06000D1C) ## $a1 = 06000000
/* 001B0 809E9710 24A50D1C */ addiu $a1, $a1, %lo(D_06000D1C) ## $a1 = 06000D1C
/* 001B4 809E9714 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 001B8 809E9718 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 001B8 809E9718 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 001BC 809E971C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 001C0 809E9720 24040064 */ addiu $a0, $zero, 0x0064 ## $a0 = 00000064
/* 001C4 809E9724 0C01DF64 */ jal Rand_S16Offset
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9770.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9770.s
index 403f541a66..10d86f0c78 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9770.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9770.s
@@ -5,7 +5,7 @@ glabel func_809E9770
/* 0021C 809E977C 3C050600 */ lui $a1, %hi(D_06000AF0) ## $a1 = 06000000
/* 00220 809E9780 24A50AF0 */ addiu $a1, $a1, %lo(D_06000AF0) ## $a1 = 06000AF0
/* 00224 809E9784 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00228 809E9788 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00228 809E9788 0C0294BE */ jal Animation_PlayLoop
/* 0022C 809E978C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00230 809E9790 8FA60018 */ lw $a2, 0x0018($sp)
/* 00234 809E9794 3C0F809F */ lui $t7, %hi(func_809E9DFC) ## $t7 = 809F0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E97B8.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E97B8.s
index cac63b014a..72b4ad68cd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E97B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E97B8.s
@@ -5,7 +5,7 @@ glabel func_809E97B8
/* 00264 809E97C4 3C050600 */ lui $a1, %hi(D_060001C4) ## $a1 = 06000000
/* 00268 809E97C8 24A501C4 */ addiu $a1, $a1, %lo(D_060001C4) ## $a1 = 060001C4
/* 0026C 809E97CC AFA60018 */ sw $a2, 0x0018($sp)
-/* 00270 809E97D0 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00270 809E97D0 0C02947A */ jal Animation_PlayOnce
/* 00274 809E97D4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00278 809E97D8 8FA60018 */ lw $a2, 0x0018($sp)
/* 0027C 809E97DC 3C0F809F */ lui $t7, %hi(func_809E9F6C) ## $t7 = 809F0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9800.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9800.s
index 7d3a9061b7..f8ba791754 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9800.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9800.s
@@ -6,7 +6,7 @@ glabel func_809E9800
/* 002B0 809E9810 24A50E6C */ addiu $a1, $a1, %lo(D_06000E6C) ## $a1 = 06000E6C
/* 002B4 809E9814 AFA70018 */ sw $a3, 0x0018($sp)
/* 002B8 809E9818 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 002BC 809E981C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 002BC 809E981C 0C0294D3 */ jal Animation_MorphToLoop
/* 002C0 809E9820 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 002C4 809E9824 8FA70018 */ lw $a3, 0x0018($sp)
/* 002C8 809E9828 3C0E809F */ lui $t6, %hi(func_809E9F6C) ## $t6 = 809F0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9868.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9868.s
index b05f12d6bc..c0c9fd10ea 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9868.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9868.s
@@ -5,7 +5,7 @@ glabel func_809E9868
/* 00314 809E9874 3C050600 */ lui $a1, %hi(D_060004D8) ## $a1 = 06000000
/* 00318 809E9878 24A504D8 */ addiu $a1, $a1, %lo(D_060004D8) ## $a1 = 060004D8
/* 0031C 809E987C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00320 809E9880 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00320 809E9880 0C029490 */ jal Animation_MorphToPlayOnce
/* 00324 809E9884 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00328 809E9888 8FA40018 */ lw $a0, 0x0018($sp)
/* 0032C 809E988C 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E98B4.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E98B4.s
index 3ee590ee4a..b827c514e0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E98B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E98B4.s
@@ -6,7 +6,7 @@ glabel func_809E98B4
/* 00364 809E98C4 24A508C4 */ addiu $a1, $a1, %lo(D_060008C4) ## $a1 = 060008C4
/* 00368 809E98C8 AFA70018 */ sw $a3, 0x0018($sp)
/* 0036C 809E98CC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00370 809E98D0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00370 809E98D0 0C029490 */ jal Animation_MorphToPlayOnce
/* 00374 809E98D4 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00378 809E98D8 8FA40018 */ lw $a0, 0x0018($sp)
/* 0037C 809E98DC 240E0025 */ addiu $t6, $zero, 0x0025 ## $t6 = 00000025
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9920.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9920.s
index 81a80b2fda..22b9ffb388 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9920.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9920.s
@@ -5,7 +5,7 @@ glabel func_809E9920
/* 003CC 809E992C 3C050600 */ lui $a1, %hi(D_06003650) ## $a1 = 06000000
/* 003D0 809E9930 24A53650 */ addiu $a1, $a1, %lo(D_06003650) ## $a1 = 06003650
/* 003D4 809E9934 AFA60018 */ sw $a2, 0x0018($sp)
-/* 003D8 809E9938 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 003D8 809E9938 0C0294BE */ jal Animation_PlayLoop
/* 003DC 809E993C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 003E0 809E9940 8FA60018 */ lw $a2, 0x0018($sp)
/* 003E4 809E9944 3C19809F */ lui $t9, %hi(func_809EA240) ## $t9 = 809F0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9978.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9978.s
index 955d2cf4eb..009b02dc63 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9978.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9978.s
@@ -5,7 +5,7 @@ glabel func_809E9978
/* 00424 809E9984 3C050600 */ lui $a1, %hi(D_06001024) ## $a1 = 06000000
/* 00428 809E9988 24A51024 */ addiu $a1, $a1, %lo(D_06001024) ## $a1 = 06001024
/* 0042C 809E998C AFA60018 */ sw $a2, 0x0018($sp)
-/* 00430 809E9990 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00430 809E9990 0C0294BE */ jal Animation_PlayLoop
/* 00434 809E9994 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00438 809E9998 8FA60018 */ lw $a2, 0x0018($sp)
/* 0043C 809E999C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E99D8.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E99D8.s
index 55361e01ed..dca6af31ec 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E99D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E99D8.s
@@ -6,7 +6,7 @@ glabel func_809E99D8
/* 00488 809E99E8 3C050600 */ lui $a1, %hi(D_06000368) ## $a1 = 06000000
/* 0048C 809E99EC 24A50368 */ addiu $a1, $a1, %lo(D_06000368) ## $a1 = 06000368
/* 00490 809E99F0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00494 809E99F4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00494 809E99F4 0C029490 */ jal Animation_MorphToPlayOnce
/* 00498 809E99F8 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 0049C 809E99FC 8E0E0304 */ lw $t6, 0x0304($s0) ## 00000304
/* 004A0 809E9A00 3C010001 */ lui $at, 0x0001 ## $at = 00010000
@@ -45,7 +45,7 @@ glabel func_809E99D8
/* 00518 809E9A78 2405393B */ addiu $a1, $zero, 0x393B ## $a1 = 0000393B
/* 0051C 809E9A7C 3C040600 */ lui $a0, %hi(D_06000368) ## $a0 = 06000000
-/* 00520 809E9A80 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00520 809E9A80 0C028800 */ jal Animation_GetLastFrame
/* 00524 809E9A84 24840368 */ addiu $a0, $a0, %lo(D_06000368) ## $a0 = 06000368
/* 00528 809E9A88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9AB4.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9AB4.s
index de140ed9cb..25fbbfac16 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9AB4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9AB4.s
@@ -6,7 +6,7 @@ glabel func_809E9AB4
/* 00564 809E9AC4 3C050600 */ lui $a1, %hi(D_06000368) ## $a1 = 06000000
/* 00568 809E9AC8 24A50368 */ addiu $a1, $a1, %lo(D_06000368) ## $a1 = 06000368
/* 0056C 809E9ACC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00570 809E9AD0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00570 809E9AD0 0C0294D3 */ jal Animation_MorphToLoop
/* 00574 809E9AD4 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00578 809E9AD8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 0057C 809E9ADC 3C0F809F */ lui $t7, %hi(func_809EA534) ## $t7 = 809F0000
@@ -20,7 +20,7 @@ glabel func_809E9AB4
/* 0059C 809E9AFC E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 005A0 809E9B00 3C040600 */ lui $a0, %hi(D_06000368) ## $a0 = 06000000
-/* 005A4 809E9B04 0C028800 */ jal SkelAnime_GetFrameCount
+/* 005A4 809E9B04 0C028800 */ jal Animation_GetLastFrame
/* 005A8 809E9B08 24840368 */ addiu $a0, $a0, %lo(D_06000368) ## $a0 = 06000368
/* 005AC 809E9B0C 86180196 */ lh $t8, 0x0196($s0) ## 00000196
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B48.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B48.s
index f76fb732aa..4f04af1fb2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B48.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B48.s
@@ -5,7 +5,7 @@ glabel func_809E9B48
/* 005F4 809E9B54 3C050600 */ lui $a1, %hi(D_060006B0) ## $a1 = 06000000
/* 005F8 809E9B58 24A506B0 */ addiu $a1, $a1, %lo(D_060006B0) ## $a1 = 060006B0
/* 005FC 809E9B5C AFA60018 */ sw $a2, 0x0018($sp)
-/* 00600 809E9B60 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00600 809E9B60 0C02947A */ jal Animation_PlayOnce
/* 00604 809E9B64 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00608 809E9B68 8FA40018 */ lw $a0, 0x0018($sp)
/* 0060C 809E9B6C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B98.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B98.s
index a0986db909..e0e8d6228c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B98.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9B98.s
@@ -24,7 +24,7 @@ glabel func_809E9B98
.L809E9BEC:
/* 0068C 809E9BEC AFA3002C */ sw $v1, 0x002C($sp)
.L809E9BF0:
-/* 00690 809E9BF0 0C0295B2 */ jal func_800A56C8
+/* 00690 809E9BF0 0C0295B2 */ jal Animation_OnFrame
/* 00694 809E9BF4 AFA40020 */ sw $a0, 0x0020($sp)
/* 00698 809E9BF8 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 0069C 809E9BFC 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00
@@ -35,7 +35,7 @@ glabel func_809E9B98
/* 006B0 809E9C10 1000000C */ beq $zero, $zero, .L809E9C44
/* 006B4 809E9C14 A21802D9 */ sb $t8, 0x02D9($s0) ## 000002D9
.L809E9C18:
-/* 006B8 809E9C18 0C0295B2 */ jal func_800A56C8
+/* 006B8 809E9C18 0C0295B2 */ jal Animation_OnFrame
/* 006BC 809E9C1C 3C054100 */ lui $a1, 0x4100 ## $a1 = 41000000
/* 006C0 809E9C20 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 006C4 809E9C24 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00
@@ -94,7 +94,7 @@ glabel func_809E9B98
/* 00784 809E9CE4 10000021 */ beq $zero, $zero, .L809E9D6C
/* 00788 809E9CE8 8FAB002C */ lw $t3, 0x002C($sp)
.L809E9CEC:
-/* 0078C 809E9CEC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0078C 809E9CEC 0C02927F */ jal SkelAnime_Update
/* 00790 809E9CF0 8FA40020 */ lw $a0, 0x0020($sp)
/* 00794 809E9CF4 1040001C */ beq $v0, $zero, .L809E9D68
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9DFC.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9DFC.s
index 56222333dc..3003738c29 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9DFC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9DFC.s
@@ -5,11 +5,11 @@ glabel func_809E9DFC
/* 008A8 809E9E08 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 008AC 809E9E0C AFA50024 */ sw $a1, 0x0024($sp)
/* 008B0 809E9E10 AFA4001C */ sw $a0, 0x001C($sp)
-/* 008B4 809E9E14 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 008B4 809E9E14 0C02927F */ jal SkelAnime_Update
/* 008B8 809E9E18 AFA60020 */ sw $a2, 0x0020($sp)
/* 008BC 809E9E1C 8FA4001C */ lw $a0, 0x001C($sp)
-/* 008C0 809E9E20 0C0295B2 */ jal func_800A56C8
+/* 008C0 809E9E20 0C0295B2 */ jal Animation_OnFrame
/* 008C4 809E9E24 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 008C8 809E9E28 10400005 */ beq $v0, $zero, .L809E9E40
/* 008CC 809E9E2C 8FA60020 */ lw $a2, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9E80.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9E80.s
index 0e2f619587..46041fab94 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9E80.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9E80.s
@@ -5,11 +5,11 @@ glabel func_809E9E80
/* 0092C 809E9E8C AFBF001C */ sw $ra, 0x001C($sp)
/* 00930 809E9E90 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00934 809E9E94 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00938 809E9E98 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00938 809E9E98 0C02927F */ jal SkelAnime_Update
/* 0093C 809E9E9C AFA40024 */ sw $a0, 0x0024($sp)
/* 00940 809E9EA0 8FA40024 */ lw $a0, 0x0024($sp)
-/* 00944 809E9EA4 0C0295B2 */ jal func_800A56C8
+/* 00944 809E9EA4 0C0295B2 */ jal Animation_OnFrame
/* 00948 809E9EA8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 0094C 809E9EAC 10400005 */ beq $v0, $zero, .L809E9EC4
/* 00950 809E9EB0 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9F6C.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9F6C.s
index 845c1bee12..22d0afbed5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9F6C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809E9F6C.s
@@ -11,7 +11,7 @@ glabel func_809E9F6C
/* 00A30 809E9F90 24070E38 */ addiu $a3, $zero, 0x0E38 ## $a3 = 00000E38
/* 00A34 809E9F94 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 00A38 809E9F98 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00A38 809E9F98 0C02927F */ jal SkelAnime_Update
/* 00A3C 809E9F9C AFA40038 */ sw $a0, 0x0038($sp)
/* 00A40 809E9FA0 10400005 */ beq $v0, $zero, .L809E9FB8
@@ -21,7 +21,7 @@ glabel func_809E9F6C
/* 00A50 809E9FB0 10000040 */ beq $zero, $zero, .L809EA0B4
/* 00A54 809E9FB4 8FBF0034 */ lw $ra, 0x0034($sp)
.L809E9FB8:
-/* 00A58 809E9FB8 0C0295B2 */ jal func_800A56C8
+/* 00A58 809E9FB8 0C0295B2 */ jal Animation_OnFrame
/* 00A5C 809E9FBC 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 00A60 809E9FC0 5040002B */ beql $v0, $zero, .L809EA070
/* 00A64 809E9FC4 86190196 */ lh $t9, 0x0196($s0) ## 00000196
@@ -76,13 +76,13 @@ glabel func_809E9F6C
/* 00B14 809EA074 2B210002 */ slti $at, $t9, 0x0002
/* 00B18 809EA078 5420000E */ bnel $at, $zero, .L809EA0B4
/* 00B1C 809EA07C 8FBF0034 */ lw $ra, 0x0034($sp)
-/* 00B20 809EA080 0C0295B2 */ jal func_800A56C8
+/* 00B20 809EA080 0C0295B2 */ jal Animation_OnFrame
/* 00B24 809EA084 3C054140 */ lui $a1, 0x4140 ## $a1 = 41400000
/* 00B28 809EA088 10400009 */ beq $v0, $zero, .L809EA0B0
/* 00B2C 809EA08C 8FA40038 */ lw $a0, 0x0038($sp)
/* 00B30 809EA090 3C050600 */ lui $a1, %hi(D_060001C4) ## $a1 = 06000000
/* 00B34 809EA094 24A501C4 */ addiu $a1, $a1, %lo(D_060001C4) ## $a1 = 060001C4
-/* 00B38 809EA098 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00B38 809EA098 0C029490 */ jal Animation_MorphToPlayOnce
/* 00B3C 809EA09C 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00B40 809EA0A0 86020196 */ lh $v0, 0x0196($s0) ## 00000196
/* 00B44 809EA0A4 10400002 */ beq $v0, $zero, .L809EA0B0
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA0C4.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA0C4.s
index 777a24c6bc..2824d2777c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA0C4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA0C4.s
@@ -5,7 +5,7 @@ glabel func_809EA0C4
/* 00B70 809EA0D0 AFBF001C */ sw $ra, 0x001C($sp)
/* 00B74 809EA0D4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00B78 809EA0D8 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00B7C 809EA0DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00B7C 809EA0DC 0C02927F */ jal SkelAnime_Update
/* 00B80 809EA0E0 AFA40024 */ sw $a0, 0x0024($sp)
/* 00B84 809EA0E4 10400005 */ beq $v0, $zero, .L809EA0FC
@@ -53,7 +53,7 @@ glabel func_809EA0C4
/* 00C1C 809EA17C A60F030A */ sh $t7, 0x030A($s0) ## 0000030A
/* 00C20 809EA180 8FA40024 */ lw $a0, 0x0024($sp)
.L809EA184:
-/* 00C24 809EA184 0C0295B2 */ jal func_800A56C8
+/* 00C24 809EA184 0C0295B2 */ jal Animation_OnFrame
/* 00C28 809EA188 3C054080 */ lui $a1, 0x4080 ## $a1 = 40800000
/* 00C2C 809EA18C 10400004 */ beq $v0, $zero, .L809EA1A0
/* 00C30 809EA190 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA1D8.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA1D8.s
index 65d0acb4a4..117e085686 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA1D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA1D8.s
@@ -4,7 +4,7 @@ glabel func_809EA1D8
/* 00C80 809EA1E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00C84 809EA1E4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00C88 809EA1E8 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00C8C 809EA1EC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00C8C 809EA1EC 0C02927F */ jal SkelAnime_Update
/* 00C90 809EA1F0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00C94 809EA1F4 10400008 */ beq $v0, $zero, .L809EA218
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA240.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA240.s
index dad5e5dcea..1bac1b0133 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA240.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA240.s
@@ -5,11 +5,11 @@ glabel func_809EA240
/* 00CEC 809EA24C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00CF0 809EA250 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00CF4 809EA254 AFA5003C */ sw $a1, 0x003C($sp)
-/* 00CF8 809EA258 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CF8 809EA258 0C02927F */ jal SkelAnime_Update
/* 00CFC 809EA25C AFA40028 */ sw $a0, 0x0028($sp)
/* 00D00 809EA260 8FA40028 */ lw $a0, 0x0028($sp)
-/* 00D04 809EA264 0C0295B2 */ jal func_800A56C8
+/* 00D04 809EA264 0C0295B2 */ jal Animation_OnFrame
/* 00D08 809EA268 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00D0C 809EA26C 10400005 */ beq $v0, $zero, .L809EA284
/* 00D10 809EA270 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA480.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA480.s
index 3af5ae7c12..2db9927b3a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA480.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA480.s
@@ -5,11 +5,11 @@ glabel func_809EA480
/* 00F2C 809EA48C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00F30 809EA490 AFA50024 */ sw $a1, 0x0024($sp)
/* 00F34 809EA494 AFA4001C */ sw $a0, 0x001C($sp)
-/* 00F38 809EA498 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00F38 809EA498 0C02927F */ jal SkelAnime_Update
/* 00F3C 809EA49C AFA60020 */ sw $a2, 0x0020($sp)
/* 00F40 809EA4A0 8FA4001C */ lw $a0, 0x001C($sp)
-/* 00F44 809EA4A4 0C0295B2 */ jal func_800A56C8
+/* 00F44 809EA4A4 0C0295B2 */ jal Animation_OnFrame
/* 00F48 809EA4A8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00F4C 809EA4AC 10400005 */ beq $v0, $zero, .L809EA4C4
/* 00F50 809EA4B0 8FA60020 */ lw $a2, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA4E8.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA4E8.s
index 01c94f284d..509747985a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA4E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA4E8.s
@@ -9,7 +9,7 @@ glabel func_809EA4E8
/* 00FA4 809EA504 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00FA8 809EA508 8FA40018 */ lw $a0, 0x0018($sp)
-/* 00FAC 809EA50C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00FAC 809EA50C 0C02927F */ jal SkelAnime_Update
/* 00FB0 809EA510 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00FB4 809EA514 50400004 */ beql $v0, $zero, .L809EA528
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA534.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA534.s
index 64b40bd743..eeab49e183 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA534.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA534.s
@@ -5,11 +5,11 @@ glabel func_809EA534
/* 00FE0 809EA540 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00FE4 809EA544 AFA50024 */ sw $a1, 0x0024($sp)
/* 00FE8 809EA548 AFA4001C */ sw $a0, 0x001C($sp)
-/* 00FEC 809EA54C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00FEC 809EA54C 0C02927F */ jal SkelAnime_Update
/* 00FF0 809EA550 AFA60020 */ sw $a2, 0x0020($sp)
/* 00FF4 809EA554 8FA4001C */ lw $a0, 0x001C($sp)
-/* 00FF8 809EA558 0C0295B2 */ jal func_800A56C8
+/* 00FF8 809EA558 0C0295B2 */ jal Animation_OnFrame
/* 00FFC 809EA55C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01000 809EA560 1040000F */ beq $v0, $zero, .L809EA5A0
/* 01004 809EA564 8FA60020 */ lw $a2, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA5B0.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA5B0.s
index d47733556e..096d15ddfc 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA5B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/func_809EA5B0.s
@@ -5,7 +5,7 @@ glabel func_809EA5B0
/* 0105C 809EA5BC AFBF004C */ sw $ra, 0x004C($sp)
/* 01060 809EA5C0 AFB10048 */ sw $s1, 0x0048($sp)
/* 01064 809EA5C4 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 01068 809EA5C8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01068 809EA5C8 0C02927F */ jal SkelAnime_Update
/* 0106C 809EA5CC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01070 809EA5D0 10400049 */ beq $v0, $zero, .L809EA6F8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDCB0.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDCB0.s
index 94d5d1f0a7..65ddcab283 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDCB0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDCB0.s
@@ -4,7 +4,7 @@ glabel func_809EDCB0
/* 00448 809EDCB8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0044C 809EDCBC 3C040600 */ lui $a0, %hi(D_06002FE8) ## $a0 = 06000000
/* 00450 809EDCC0 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00454 809EDCC4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00454 809EDCC4 0C028800 */ jal Animation_GetLastFrame
/* 00458 809EDCC8 24842FE8 */ addiu $a0, $a0, %lo(D_06002FE8) ## $a0 = 06002FE8
/* 0045C 809EDCCC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809EDCB0
/* 004A0 809EDD10 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 004A4 809EDD14 00000000 */ nop
/* 004A8 809EDD18 46805420 */ cvt.s.w $f16, $f10
-/* 004AC 809EDD1C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 004AC 809EDD1C 0C029468 */ jal Animation_Change
/* 004B0 809EDD20 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 004B4 809EDD24 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDD4C.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDD4C.s
index 5aa74026e9..742aaf68b2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDD4C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDD4C.s
@@ -4,7 +4,7 @@ glabel func_809EDD4C
/* 004E4 809EDD54 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 004E8 809EDD58 AFBF001C */ sw $ra, 0x001C($sp)
/* 004EC 809EDD5C AFA50024 */ sw $a1, 0x0024($sp)
-/* 004F0 809EDD60 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 004F0 809EDD60 0C02927F */ jal SkelAnime_Update
/* 004F4 809EDD64 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 004F8 809EDD68 860E02A8 */ lh $t6, 0x02A8($s0) ## 000002A8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDEDC.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDEDC.s
index 1c4e7af17d..122e22e6ff 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDEDC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EDEDC.s
@@ -4,7 +4,7 @@ glabel func_809EDEDC
/* 00674 809EDEE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00678 809EDEE8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0067C 809EDEEC AFA50024 */ sw $a1, 0x0024($sp)
-/* 00680 809EDEF0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00680 809EDEF0 0C02927F */ jal SkelAnime_Update
/* 00684 809EDEF4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00688 809EDEF8 8FA40024 */ lw $a0, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE048.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE048.s
index fb1cb98c26..13da762973 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE048.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE048.s
@@ -5,7 +5,7 @@ glabel func_809EE048
/* 007E4 809EE054 AFBF001C */ sw $ra, 0x001C($sp)
/* 007E8 809EE058 AFB00014 */ sw $s0, 0x0014($sp)
/* 007EC 809EE05C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
-/* 007F0 809EE060 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 007F0 809EE060 0C02927F */ jal SkelAnime_Update
/* 007F4 809EE064 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 007F8 809EE068 0C042F6F */ jal func_8010BDBC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE0FC.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE0FC.s
index 0b32c7e3c6..d2ba6e3be5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE0FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE0FC.s
@@ -4,7 +4,7 @@ glabel func_809EE0FC
/* 00894 809EE104 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00898 809EE108 3C040600 */ lui $a0, %hi(D_0600219C) ## $a0 = 06000000
/* 0089C 809EE10C AFA5002C */ sw $a1, 0x002C($sp)
-/* 008A0 809EE110 0C028800 */ jal SkelAnime_GetFrameCount
+/* 008A0 809EE110 0C028800 */ jal Animation_GetLastFrame
/* 008A4 809EE114 2484219C */ addiu $a0, $a0, %lo(D_0600219C) ## $a0 = 0600219C
/* 008A8 809EE118 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809EE0FC
/* 008EC 809EE15C 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 008F0 809EE160 00000000 */ nop
/* 008F4 809EE164 46805420 */ cvt.s.w $f16, $f10
-/* 008F8 809EE168 0C029468 */ jal SkelAnime_ChangeAnim
+/* 008F8 809EE168 0C029468 */ jal Animation_Change
/* 008FC 809EE16C E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00900 809EE170 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE194.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE194.s
index 704d503bd2..bf53797742 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE194.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE194.s
@@ -7,7 +7,7 @@ glabel func_809EE194
/* 00938 809EE1A8 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 0093C 809EE1AC AFA50020 */ sw $a1, 0x0020($sp)
/* 00940 809EE1B0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00944 809EE1B4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00944 809EE1B4 0C02927F */ jal SkelAnime_Update
/* 00948 809EE1B8 E7A4001C */ swc1 $f4, 0x001C($sp)
/* 0094C 809EE1BC 3C014170 */ lui $at, 0x4170 ## $at = 41700000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE1F4.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE1F4.s
index fd837d7cb1..d4e4369427 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE1F4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE1F4.s
@@ -13,7 +13,7 @@ glabel func_809EE1F4
/* 00990 809EE200 AFBF001C */ sw $ra, 0x001C($sp)
/* 00994 809EE204 AFB10018 */ sw $s1, 0x0018($sp)
/* 00998 809EE208 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 0099C 809EE20C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0099C 809EE20C 0C02927F */ jal SkelAnime_Update
/* 009A0 809EE210 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 009A4 809EE214 0C03008C */ jal Gameplay_CreateSubCamera
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE408.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE408.s
index a324ec5dbf..a9360f14a4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE408.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE408.s
@@ -4,7 +4,7 @@ glabel func_809EE408
/* 00BA0 809EE410 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00BA4 809EE414 AFBF001C */ sw $ra, 0x001C($sp)
/* 00BA8 809EE418 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00BAC 809EE41C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00BAC 809EE41C 0C02927F */ jal SkelAnime_Update
/* 00BB0 809EE420 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00BB4 809EE424 8FA40024 */ lw $a0, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE6C8.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE6C8.s
index 2d3698e651..6a7d3267e8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE6C8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE6C8.s
@@ -5,7 +5,7 @@ glabel func_809EE6C8
/* 00E64 809EE6D4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00E68 809EE6D8 AFA40018 */ sw $a0, 0x0018($sp)
/* 00E6C 809EE6DC AFA50018 */ sw $a1, 0x0018($sp)
-/* 00E70 809EE6E0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00E70 809EE6E0 0C02927F */ jal SkelAnime_Update
/* 00E74 809EE6E4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00E78 809EE6E8 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE780.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE780.s
index 557db281fe..a3a796d5b1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE780.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE780.s
@@ -4,7 +4,7 @@ glabel func_809EE780
/* 00F18 809EE788 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00F1C 809EE78C AFBF001C */ sw $ra, 0x001C($sp)
/* 00F20 809EE790 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00F24 809EE794 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00F24 809EE794 0C02927F */ jal SkelAnime_Update
/* 00F28 809EE798 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00F2C 809EE79C 860E0294 */ lh $t6, 0x0294($s0) ## 00000294
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE800.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE800.s
index 8b1ec96cef..eb4938c3e6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE800.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE800.s
@@ -4,7 +4,7 @@ glabel func_809EE800
/* 00F98 809EE808 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00F9C 809EE80C AFBF001C */ sw $ra, 0x001C($sp)
/* 00FA0 809EE810 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00FA4 809EE814 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00FA4 809EE814 0C02927F */ jal SkelAnime_Update
/* 00FA8 809EE818 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00FAC 809EE81C 8FA40024 */ lw $a0, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE8F0.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE8F0.s
index 1bfa8b49ee..2f415e61dd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE8F0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE8F0.s
@@ -3,7 +3,7 @@ glabel func_809EE8F0
/* 01084 809EE8F4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01088 809EE8F8 AFA40018 */ sw $a0, 0x0018($sp)
/* 0108C 809EE8FC AFA5001C */ sw $a1, 0x001C($sp)
-/* 01090 809EE900 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01090 809EE900 0C02927F */ jal SkelAnime_Update
/* 01094 809EE904 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01098 809EE908 8FA4001C */ lw $a0, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE96C.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE96C.s
index 6ddae7c7fc..d932d5100b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE96C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EE96C.s
@@ -4,7 +4,7 @@ glabel func_809EE96C
/* 01104 809EE974 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01108 809EE978 AFBF001C */ sw $ra, 0x001C($sp)
/* 0110C 809EE97C AFA50024 */ sw $a1, 0x0024($sp)
-/* 01110 809EE980 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01110 809EE980 0C02927F */ jal SkelAnime_Update
/* 01114 809EE984 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01118 809EE988 8FA40024 */ lw $a0, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEA00.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEA00.s
index 29b40847a5..e6be2da003 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEA00.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEA00.s
@@ -4,7 +4,7 @@ glabel func_809EEA00
/* 01198 809EEA08 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0119C 809EEA0C AFBF0024 */ sw $ra, 0x0024($sp)
/* 011A0 809EEA10 AFA5002C */ sw $a1, 0x002C($sp)
-/* 011A4 809EEA14 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 011A4 809EEA14 0C02927F */ jal SkelAnime_Update
/* 011A8 809EEA18 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 011AC 809EEA1C 8FA4002C */ lw $a0, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEA90.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEA90.s
index b56ffd5561..2352c8e2a7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEA90.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEA90.s
@@ -3,7 +3,7 @@ glabel func_809EEA90
/* 01224 809EEA94 AFBF001C */ sw $ra, 0x001C($sp)
/* 01228 809EEA98 AFA40020 */ sw $a0, 0x0020($sp)
/* 0122C 809EEA9C AFA50024 */ sw $a1, 0x0024($sp)
-/* 01230 809EEAA0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01230 809EEAA0 0C02927F */ jal SkelAnime_Update
/* 01234 809EEAA4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01238 809EEAA8 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEAF8.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEAF8.s
index b72abbc7a3..ca94a01192 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEAF8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/func_809EEAF8.s
@@ -12,7 +12,7 @@ glabel func_809EEAF8
/* 01290 809EEB00 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01294 809EEB04 AFBF001C */ sw $ra, 0x001C($sp)
/* 01298 809EEB08 AFA50024 */ sw $a1, 0x0024($sp)
-/* 0129C 809EEB0C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0129C 809EEB0C 0C02927F */ jal SkelAnime_Update
/* 012A0 809EEB10 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 012A4 809EEB14 8FA40024 */ lw $a0, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1C44.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1C44.s
index b00a9196bd..62a4f44634 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1C44.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1C44.s
@@ -5,7 +5,7 @@ glabel func_809F1C44
/* 00170 809F1C50 AFBF002C */ sw $ra, 0x002C($sp)
/* 00174 809F1C54 3C040600 */ lui $a0, %hi(D_06000560) ## $a0 = 06000000
/* 00178 809F1C58 AFA50034 */ sw $a1, 0x0034($sp)
-/* 0017C 809F1C5C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0017C 809F1C5C 0C028800 */ jal Animation_GetLastFrame
/* 00180 809F1C60 24840560 */ addiu $a0, $a0, %lo(D_06000560) ## $a0 = 06000560
/* 00184 809F1C64 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_809F1C44
/* 001C8 809F1CA8 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 001CC 809F1CAC 00000000 */ nop
/* 001D0 809F1CB0 46805420 */ cvt.s.w $f16, $f10
-/* 001D4 809F1CB4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 001D4 809F1CB4 0C029468 */ jal Animation_Change
/* 001D8 809F1CB8 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 001DC 809F1CBC 3C014100 */ lui $at, 0x4100 ## $at = 41000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1CF4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1CF4.s
index 48102a478e..bcd5c0b198 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1CF4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1CF4.s
@@ -6,7 +6,7 @@ glabel func_809F1CF4
/* 00224 809F1D04 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00228 809F1D08 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0022C 809F1D0C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00230 809F1D10 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00230 809F1D10 0C02927F */ jal SkelAnime_Update
/* 00234 809F1D14 AFAF002C */ sw $t7, 0x002C($sp)
/* 00238 809F1D18 86180240 */ lh $t8, 0x0240($s0) ## 00000240
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1DA8.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1DA8.s
index 26b16baf4c..1790690d90 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1DA8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1DA8.s
@@ -5,7 +5,7 @@ glabel func_809F1DA8
/* 002D4 809F1DB4 AFBF0034 */ sw $ra, 0x0034($sp)
/* 002D8 809F1DB8 3C040600 */ lui $a0, %hi(D_060012B0) ## $a0 = 06000000
/* 002DC 809F1DBC AFA5003C */ sw $a1, 0x003C($sp)
-/* 002E0 809F1DC0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 002E0 809F1DC0 0C028800 */ jal Animation_GetLastFrame
/* 002E4 809F1DC4 248412B0 */ addiu $a0, $a0, %lo(D_060012B0) ## $a0 = 060012B0
/* 002E8 809F1DC8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_809F1DA8
/* 0032C 809F1E0C 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 00330 809F1E10 00000000 */ nop
/* 00334 809F1E14 46805420 */ cvt.s.w $f16, $f10
-/* 00338 809F1E18 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00338 809F1E18 0C029468 */ jal Animation_Change
/* 0033C 809F1E1C E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00340 809F1E20 2408000F */ addiu $t0, $zero, 0x000F ## $t0 = 0000000F
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1E8C.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1E8C.s
index be125e4d03..ac86446782 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1E8C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1E8C.s
@@ -4,7 +4,7 @@ glabel func_809F1E8C
/* 003B4 809F1E94 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003B8 809F1E98 AFBF0024 */ sw $ra, 0x0024($sp)
/* 003BC 809F1E9C AFA5002C */ sw $a1, 0x002C($sp)
-/* 003C0 809F1EA0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 003C0 809F1EA0 0C02927F */ jal SkelAnime_Update
/* 003C4 809F1EA4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 003C8 809F1EA8 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1EFC.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1EFC.s
index 6f645488db..3a34228129 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1EFC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1EFC.s
@@ -5,7 +5,7 @@ glabel func_809F1EFC
/* 00428 809F1F08 AFBF0034 */ sw $ra, 0x0034($sp)
/* 0042C 809F1F0C 3C040600 */ lui $a0, %hi(D_06000DF8) ## $a0 = 06000000
/* 00430 809F1F10 AFA5003C */ sw $a1, 0x003C($sp)
-/* 00434 809F1F14 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00434 809F1F14 0C028800 */ jal Animation_GetLastFrame
/* 00438 809F1F18 24840DF8 */ addiu $a0, $a0, %lo(D_06000DF8) ## $a0 = 06000DF8
/* 0043C 809F1F1C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_809F1EFC
/* 00480 809F1F60 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 00484 809F1F64 00000000 */ nop
/* 00488 809F1F68 46805420 */ cvt.s.w $f16, $f10
-/* 0048C 809F1F6C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0048C 809F1F6C 0C029468 */ jal Animation_Change
/* 00490 809F1F70 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00494 809F1F74 2408000F */ addiu $t0, $zero, 0x000F ## $t0 = 0000000F
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1FE0.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1FE0.s
index db6de4efac..2e5225add9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1FE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F1FE0.s
@@ -7,7 +7,7 @@ glabel func_809F1FE0
/* 00514 809F1FF4 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 00518 809F1FF8 AFA50020 */ sw $a1, 0x0020($sp)
/* 0051C 809F1FFC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00520 809F2000 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00520 809F2000 0C02927F */ jal SkelAnime_Update
/* 00524 809F2004 E7A4001C */ swc1 $f4, 0x001C($sp)
/* 00528 809F2008 8FA50020 */ lw $a1, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2068.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2068.s
index caccbece49..788e0dc755 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2068.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2068.s
@@ -5,7 +5,7 @@ glabel func_809F2068
/* 00594 809F2074 AFBF002C */ sw $ra, 0x002C($sp)
/* 00598 809F2078 3C040600 */ lui $a0, %hi(D_060037C0) ## $a0 = 06000000
/* 0059C 809F207C AFA50034 */ sw $a1, 0x0034($sp)
-/* 005A0 809F2080 0C028800 */ jal SkelAnime_GetFrameCount
+/* 005A0 809F2080 0C028800 */ jal Animation_GetLastFrame
/* 005A4 809F2084 248437C0 */ addiu $a0, $a0, %lo(D_060037C0) ## $a0 = 060037C0
/* 005A8 809F2088 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809F2068
/* 005E8 809F20C8 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 005EC 809F20CC 00000000 */ nop
/* 005F0 809F20D0 46805420 */ cvt.s.w $f16, $f10
-/* 005F4 809F20D4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 005F4 809F20D4 0C029468 */ jal Animation_Change
/* 005F8 809F20D8 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 005FC 809F20DC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2118.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2118.s
index 55070f6b57..22d2a244cb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2118.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2118.s
@@ -4,7 +4,7 @@ glabel func_809F2118
/* 00640 809F2120 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00644 809F2124 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00648 809F2128 AFA5002C */ sw $a1, 0x002C($sp)
-/* 0064C 809F212C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0064C 809F212C 0C02927F */ jal SkelAnime_Update
/* 00650 809F2130 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00654 809F2134 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2254.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2254.s
index d71d42f4ef..74a60f6935 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2254.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2254.s
@@ -5,7 +5,7 @@ glabel func_809F2254
/* 00780 809F2260 AFBF0034 */ sw $ra, 0x0034($sp)
/* 00784 809F2264 3C040600 */ lui $a0, %hi(D_06000560) ## $a0 = 06000000
/* 00788 809F2268 AFA5003C */ sw $a1, 0x003C($sp)
-/* 0078C 809F226C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0078C 809F226C 0C028800 */ jal Animation_GetLastFrame
/* 00790 809F2270 24840560 */ addiu $a0, $a0, %lo(D_06000560) ## $a0 = 06000560
/* 00794 809F2274 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_809F2254
/* 007D8 809F22B8 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 007DC 809F22BC 00000000 */ nop
/* 007E0 809F22C0 46805420 */ cvt.s.w $f16, $f10
-/* 007E4 809F22C4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 007E4 809F22C4 0C029468 */ jal Animation_Change
/* 007E8 809F22C8 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 007EC 809F22CC 2408000F */ addiu $t0, $zero, 0x000F ## $t0 = 0000000F
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2344.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2344.s
index 571cd8e6f2..bdfd62b92e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2344.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2344.s
@@ -3,7 +3,7 @@ glabel func_809F2344
/* 00868 809F2348 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0086C 809F234C AFA40018 */ sw $a0, 0x0018($sp)
/* 00870 809F2350 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00874 809F2354 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00874 809F2354 0C02927F */ jal SkelAnime_Update
/* 00878 809F2358 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0087C 809F235C 8FBF0014 */ lw $ra, 0x0014($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F236C.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F236C.s
index 28c6302927..564b12b109 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F236C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F236C.s
@@ -5,7 +5,7 @@ glabel func_809F236C
/* 00898 809F2378 AFBF0034 */ sw $ra, 0x0034($sp)
/* 0089C 809F237C 3C040600 */ lui $a0, %hi(D_06000944) ## $a0 = 06000000
/* 008A0 809F2380 AFA5003C */ sw $a1, 0x003C($sp)
-/* 008A4 809F2384 0C028800 */ jal SkelAnime_GetFrameCount
+/* 008A4 809F2384 0C028800 */ jal Animation_GetLastFrame
/* 008A8 809F2388 24840944 */ addiu $a0, $a0, %lo(D_06000944) ## $a0 = 06000944
/* 008AC 809F238C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_809F236C
/* 008F0 809F23D0 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 008F4 809F23D4 00000000 */ nop
/* 008F8 809F23D8 46805420 */ cvt.s.w $f16, $f10
-/* 008FC 809F23DC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 008FC 809F23DC 0C029468 */ jal Animation_Change
/* 00900 809F23E0 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00904 809F23E4 24080009 */ addiu $t0, $zero, 0x0009 ## $t0 = 00000009
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F24AC.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F24AC.s
index be87ec3e15..1baa022d75 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F24AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F24AC.s
@@ -6,7 +6,7 @@ glabel func_809F24AC
/* 009DC 809F24BC C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
/* 009E0 809F24C0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 009E4 809F24C4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 009E8 809F24C8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 009E8 809F24C8 0C02927F */ jal SkelAnime_Update
/* 009EC 809F24CC E7A4002C */ swc1 $f4, 0x002C($sp)
/* 009F0 809F24D0 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2550.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2550.s
index cea0f98150..74252faf91 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2550.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2550.s
@@ -4,7 +4,7 @@ glabel func_809F2550
/* 00A78 809F2558 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00A7C 809F255C 3C040600 */ lui $a0, %hi(D_06000BD0) ## $a0 = 06000000
/* 00A80 809F2560 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00A84 809F2564 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00A84 809F2564 0C028800 */ jal Animation_GetLastFrame
/* 00A88 809F2568 24840BD0 */ addiu $a0, $a0, %lo(D_06000BD0) ## $a0 = 06000BD0
/* 00A8C 809F256C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809F2550
/* 00AD0 809F25B0 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 00AD4 809F25B4 00000000 */ nop
/* 00AD8 809F25B8 46805420 */ cvt.s.w $f16, $f10
-/* 00ADC 809F25BC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00ADC 809F25BC 0C029468 */ jal Animation_Change
/* 00AE0 809F25C0 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00AE4 809F25C4 8FA30028 */ lw $v1, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F25E4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F25E4.s
index 4e05d2052f..d3f2d78ce4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F25E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F25E4.s
@@ -5,7 +5,7 @@ glabel func_809F25E4
/* 00B10 809F25F0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00B14 809F25F4 AFB10020 */ sw $s1, 0x0020($sp)
/* 00B18 809F25F8 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
-/* 00B1C 809F25FC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00B1C 809F25FC 0C02927F */ jal SkelAnime_Update
/* 00B20 809F2600 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00B24 809F2604 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F26B0.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F26B0.s
index feb8e6e1d7..e9b5ff58e0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F26B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F26B0.s
@@ -4,7 +4,7 @@ glabel func_809F26B0
/* 00BD8 809F26B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00BDC 809F26BC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00BE0 809F26C0 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00BE4 809F26C4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00BE4 809F26C4 0C02927F */ jal SkelAnime_Update
/* 00BE8 809F26C8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00BEC 809F26CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2720.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2720.s
index b15d4d039b..931d28cd79 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2720.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2720.s
@@ -49,7 +49,7 @@ glabel func_809F2720
/* 00C48 809F2728 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00C4C 809F272C AFBF001C */ sw $ra, 0x001C($sp)
/* 00C50 809F2730 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00C54 809F2734 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00C54 809F2734 0C02927F */ jal SkelAnime_Update
/* 00C58 809F2738 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00C5C 809F273C 8FA40024 */ lw $a0, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F28DC.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F28DC.s
index 2d5fae9a96..ada1d7d77a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F28DC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F28DC.s
@@ -4,7 +4,7 @@ glabel func_809F28DC
/* 00E04 809F28E4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00E08 809F28E8 3C040600 */ lui $a0, %hi(D_06000A70) ## $a0 = 06000000
/* 00E0C 809F28EC AFA5002C */ sw $a1, 0x002C($sp)
-/* 00E10 809F28F0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00E10 809F28F0 0C028800 */ jal Animation_GetLastFrame
/* 00E14 809F28F4 24840A70 */ addiu $a0, $a0, %lo(D_06000A70) ## $a0 = 06000A70
/* 00E18 809F28F8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_809F28DC
/* 00E60 809F2940 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 00E64 809F2944 00000000 */ nop
/* 00E68 809F2948 46805420 */ cvt.s.w $f16, $f10
-/* 00E6C 809F294C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00E6C 809F294C 0C029468 */ jal Animation_Change
/* 00E70 809F2950 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00E74 809F2954 8FA30028 */ lw $v1, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2974.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2974.s
index b43a847520..86fe2cdf2a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2974.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2974.s
@@ -7,7 +7,7 @@ glabel func_809F2974
/* 00EA8 809F2988 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 00EAC 809F298C AFA50020 */ sw $a1, 0x0020($sp)
/* 00EB0 809F2990 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00EB4 809F2994 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00EB4 809F2994 0C02927F */ jal SkelAnime_Update
/* 00EB8 809F2998 E7A4001C */ swc1 $f4, 0x001C($sp)
/* 00EBC 809F299C 8FA50020 */ lw $a1, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F29E0.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F29E0.s
index 26878dbe99..c029896fa4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F29E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F29E0.s
@@ -5,7 +5,7 @@ glabel func_809F29E0
/* 00F0C 809F29EC AFBF002C */ sw $ra, 0x002C($sp)
/* 00F10 809F29F0 3C040600 */ lui $a0, %hi(D_060037C0) ## $a0 = 06000000
/* 00F14 809F29F4 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00F18 809F29F8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00F18 809F29F8 0C028800 */ jal Animation_GetLastFrame
/* 00F1C 809F29FC 248437C0 */ addiu $a0, $a0, %lo(D_060037C0) ## $a0 = 060037C0
/* 00F20 809F2A00 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809F29E0
/* 00F60 809F2A40 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 00F64 809F2A44 00000000 */ nop
/* 00F68 809F2A48 46805420 */ cvt.s.w $f16, $f10
-/* 00F6C 809F2A4C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00F6C 809F2A4C 0C029468 */ jal Animation_Change
/* 00F70 809F2A50 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00F74 809F2A54 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2A90.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2A90.s
index 13943c1ccc..e6c2b61c2e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2A90.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/func_809F2A90.s
@@ -9,7 +9,7 @@ glabel func_809F2A90
/* 00FB8 809F2A98 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00FBC 809F2A9C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00FC0 809F2AA0 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00FC4 809F2AA4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00FC4 809F2AA4 0C02927F */ jal SkelAnime_Update
/* 00FC8 809F2AA8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00FCC 809F2AAC C6040230 */ lwc1 $f4, 0x0230($s0) ## 00000230
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3624.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3624.s
index 99a40691a5..4a61c3fad2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3624.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3624.s
@@ -5,7 +5,7 @@ glabel func_809F3624
/* 00370 809F3630 AFBF002C */ sw $ra, 0x002C($sp)
/* 00374 809F3634 3C040600 */ lui $a0, %hi(D_060024CC) ## $a0 = 06000000
/* 00378 809F3638 AFA50034 */ sw $a1, 0x0034($sp)
-/* 0037C 809F363C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0037C 809F363C 0C028800 */ jal Animation_GetLastFrame
/* 00380 809F3640 248424CC */ addiu $a0, $a0, %lo(D_060024CC) ## $a0 = 060024CC
/* 00384 809F3644 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -29,7 +29,7 @@ glabel func_809F3624
/* 003CC 809F368C 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 003D0 809F3690 00000000 */ nop
/* 003D4 809F3694 46805420 */ cvt.s.w $f16, $f10
-/* 003D8 809F3698 0C029468 */ jal SkelAnime_ChangeAnim
+/* 003D8 809F3698 0C029468 */ jal Animation_Change
/* 003DC 809F369C E7B00010 */ swc1 $f16, 0x0010($sp)
/* 003E0 809F36A0 3C014100 */ lui $at, 0x4100 ## $at = 41000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F36CC.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F36CC.s
index 880d1e2c76..f31c8293d1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F36CC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F36CC.s
@@ -61,7 +61,7 @@ glabel func_809F36CC
/* 004C8 809F3788 E48E0104 */ swc1 $f14, 0x0104($a0) ## 00000250
/* 004CC 809F378C E49000E8 */ swc1 $f16, 0x00E8($a0) ## 00000234
/* 004D0 809F3790 E49000F4 */ swc1 $f16, 0x00F4($a0) ## 00000240
-/* 004D4 809F3794 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 004D4 809F3794 0C02927F */ jal SkelAnime_Update
/* 004D8 809F3798 E4900100 */ swc1 $f16, 0x0100($a0) ## 0000024C
/* 004DC 809F379C 920202A5 */ lbu $v0, 0x02A5($s0) ## 000002A5
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F39B8.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F39B8.s
index a24d08228f..dde57ce606 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F39B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F39B8.s
@@ -8,7 +8,7 @@ glabel func_809F39B8
/* 00710 809F39D0 3C040600 */ lui $a0, %hi(D_060026C4) ## $a0 = 06000000
/* 00714 809F39D4 55C0003B */ bnel $t6, $zero, .L809F3AC4
/* 00718 809F39D8 8FBF0034 */ lw $ra, 0x0034($sp)
-/* 0071C 809F39DC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0071C 809F39DC 0C028800 */ jal Animation_GetLastFrame
/* 00720 809F39E0 248426C4 */ addiu $a0, $a0, %lo(D_060026C4) ## $a0 = 060026C4
/* 00724 809F39E4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -31,7 +31,7 @@ glabel func_809F39B8
/* 00768 809F3A28 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 0076C 809F3A2C 00000000 */ nop
/* 00770 809F3A30 46805420 */ cvt.s.w $f16, $f10
-/* 00774 809F3A34 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00774 809F3A34 0C029468 */ jal Animation_Change
/* 00778 809F3A38 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 0077C 809F3A3C 8E0A0024 */ lw $t2, 0x0024($s0) ## 00000024
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3AD4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3AD4.s
index 9953e5b39c..64c2f4f098 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3AD4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3AD4.s
@@ -7,7 +7,7 @@ glabel func_809F3AD4
/* 00828 809F3AE8 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 0082C 809F3AEC AFA50020 */ sw $a1, 0x0020($sp)
/* 00830 809F3AF0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00834 809F3AF4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00834 809F3AF4 0C02927F */ jal SkelAnime_Update
/* 00838 809F3AF8 E7A4001C */ swc1 $f4, 0x001C($sp)
/* 0083C 809F3AFC 8FA50020 */ lw $a1, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3B40.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3B40.s
index 36c42679df..083e723e52 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3B40.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3B40.s
@@ -5,7 +5,7 @@ glabel func_809F3B40
/* 0088C 809F3B4C AFBF002C */ sw $ra, 0x002C($sp)
/* 00890 809F3B50 3C040600 */ lui $a0, %hi(D_06003128) ## $a0 = 06000000
/* 00894 809F3B54 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00898 809F3B58 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00898 809F3B58 0C028800 */ jal Animation_GetLastFrame
/* 0089C 809F3B5C 24843128 */ addiu $a0, $a0, %lo(D_06003128) ## $a0 = 06003128
/* 008A0 809F3B60 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809F3B40
/* 008E0 809F3BA0 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 008E4 809F3BA4 00000000 */ nop
/* 008E8 809F3BA8 46805420 */ cvt.s.w $f16, $f10
-/* 008EC 809F3BAC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 008EC 809F3BAC 0C029468 */ jal Animation_Change
/* 008F0 809F3BB0 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 008F4 809F3BB4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3BE4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3BE4.s
index e236d08ba3..53da93e6b5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3BE4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3BE4.s
@@ -12,7 +12,7 @@ glabel func_809F3BE4
/* 00930 809F3BF0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00934 809F3BF4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00938 809F3BF8 AFA5003C */ sw $a1, 0x003C($sp)
-/* 0093C 809F3BFC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0093C 809F3BFC 0C02927F */ jal SkelAnime_Update
/* 00940 809F3C00 AFA40028 */ sw $a0, 0x0028($sp)
/* 00944 809F3C04 3C01809F */ lui $at, %hi(D_809F603C) ## $at = 809F0000
@@ -40,11 +40,11 @@ glabel func_809F3BE4
/* 00998 809F3C58 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6
/* 0099C 809F3C5C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 009A0 809F3C60 A60F0032 */ sh $t7, 0x0032($s0) ## 00000032
-/* 009A4 809F3C64 0C0295B2 */ jal func_800A56C8
+/* 009A4 809F3C64 0C0295B2 */ jal Animation_OnFrame
/* 009A8 809F3C68 8FA40028 */ lw $a0, 0x0028($sp)
/* 009AC 809F3C6C 14400004 */ bne $v0, $zero, .L809F3C80
/* 009B0 809F3C70 8FA40028 */ lw $a0, 0x0028($sp)
-/* 009B4 809F3C74 0C0295B2 */ jal func_800A56C8
+/* 009B4 809F3C74 0C0295B2 */ jal Animation_OnFrame
/* 009B8 809F3C78 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 009BC 809F3C7C 10400003 */ beq $v0, $zero, .L809F3C8C
.L809F3C80:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3CD0.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3CD0.s
index 49fa64f9e5..6dc5d2dffb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3CD0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3CD0.s
@@ -5,7 +5,7 @@ glabel func_809F3CD0
/* 00A1C 809F3CDC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00A20 809F3CE0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00A24 809F3CE4 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00A28 809F3CE8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00A28 809F3CE8 0C02927F */ jal SkelAnime_Update
/* 00A2C 809F3CEC AFA4002C */ sw $a0, 0x002C($sp)
/* 00A30 809F3CF0 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
@@ -16,11 +16,11 @@ glabel func_809F3CD0
/* 00A44 809F3D04 24071388 */ addiu $a3, $zero, 0x1388 ## $a3 = 00001388
/* 00A48 809F3D08 8FA4002C */ lw $a0, 0x002C($sp)
-/* 00A4C 809F3D0C 0C0295B2 */ jal func_800A56C8
+/* 00A4C 809F3D0C 0C0295B2 */ jal Animation_OnFrame
/* 00A50 809F3D10 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00A54 809F3D14 14400004 */ bne $v0, $zero, .L809F3D28
/* 00A58 809F3D18 8FA4002C */ lw $a0, 0x002C($sp)
-/* 00A5C 809F3D1C 0C0295B2 */ jal func_800A56C8
+/* 00A5C 809F3D1C 0C0295B2 */ jal Animation_OnFrame
/* 00A60 809F3D20 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 00A64 809F3D24 10400003 */ beq $v0, $zero, .L809F3D34
.L809F3D28:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3D84.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3D84.s
index dcd4faafd4..f888e0b290 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3D84.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3D84.s
@@ -5,7 +5,7 @@ glabel func_809F3D84
/* 00AD0 809F3D90 AFBF002C */ sw $ra, 0x002C($sp)
/* 00AD4 809F3D94 3C040600 */ lui $a0, %hi(D_06002E84) ## $a0 = 06000000
/* 00AD8 809F3D98 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00ADC 809F3D9C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00ADC 809F3D9C 0C028800 */ jal Animation_GetLastFrame
/* 00AE0 809F3DA0 24842E84 */ addiu $a0, $a0, %lo(D_06002E84) ## $a0 = 06002E84
/* 00AE4 809F3DA4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809F3D84
/* 00B24 809F3DE4 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 00B28 809F3DE8 00000000 */ nop
/* 00B2C 809F3DEC 46805420 */ cvt.s.w $f16, $f10
-/* 00B30 809F3DF0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B30 809F3DF0 0C029468 */ jal Animation_Change
/* 00B34 809F3DF4 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00B38 809F3DF8 241910AF */ addiu $t9, $zero, 0x10AF ## $t9 = 000010AF
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3E30.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3E30.s
index bd559cfc64..ba5730b446 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3E30.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3E30.s
@@ -4,7 +4,7 @@ glabel func_809F3E30
/* 00B78 809F3E38 AFB00018 */ sw $s0, 0x0018($sp)
/* 00B7C 809F3E3C AFA40020 */ sw $a0, 0x0020($sp)
/* 00B80 809F3E40 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
-/* 00B84 809F3E44 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00B84 809F3E44 0C02927F */ jal SkelAnime_Update
/* 00B88 809F3E48 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00B8C 809F3E4C 0C042F6F */ jal func_8010BDBC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3ED4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3ED4.s
index b27714803c..87d20a93d9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3ED4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3ED4.s
@@ -4,7 +4,7 @@ glabel func_809F3ED4
/* 00C1C 809F3EDC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00C20 809F3EE0 3C040600 */ lui $a0, %hi(D_06000168) ## $a0 = 06000000
/* 00C24 809F3EE4 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00C28 809F3EE8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00C28 809F3EE8 0C028800 */ jal Animation_GetLastFrame
/* 00C2C 809F3EEC 24840168 */ addiu $a0, $a0, %lo(D_06000168) ## $a0 = 06000168
/* 00C30 809F3EF0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_809F3ED4
/* 00C78 809F3F38 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 00C7C 809F3F3C 00000000 */ nop
/* 00C80 809F3F40 46805420 */ cvt.s.w $f16, $f10
-/* 00C84 809F3F44 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00C84 809F3F44 0C029468 */ jal Animation_Change
/* 00C88 809F3F48 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 00C8C 809F3F4C 8FA30028 */ lw $v1, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3F6C.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3F6C.s
index 4ecb1c7846..7d15064c8c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3F6C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F3F6C.s
@@ -7,7 +7,7 @@ glabel func_809F3F6C
/* 00CC0 809F3F80 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00CC4 809F3F84 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00CC8 809F3F88 AFA40044 */ sw $a0, 0x0044($sp)
-/* 00CCC 809F3F8C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CCC 809F3F8C 0C02927F */ jal SkelAnime_Update
/* 00CD0 809F3F90 E7A40054 */ swc1 $f4, 0x0054($sp)
/* 00CD4 809F3F94 3C014100 */ lui $at, 0x4100 ## $at = 41000000
@@ -66,7 +66,7 @@ glabel func_809F3F6C
/* 00D90 809F4050 00000000 */ nop
/* 00D94 809F4054 4502001B */ bc1fl .L809F40C4
/* 00D98 809F4058 8FBF003C */ lw $ra, 0x003C($sp)
-/* 00D9C 809F405C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00D9C 809F405C 0C028800 */ jal Animation_GetLastFrame
/* 00DA0 809F4060 24843128 */ addiu $a0, $a0, %lo(D_06003128) ## $a0 = 06003128
/* 00DA4 809F4064 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -87,7 +87,7 @@ glabel func_809F3F6C
/* 00DE0 809F40A0 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00
/* 00DE4 809F40A4 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 00DE8 809F40A8 468024A0 */ cvt.s.w $f18, $f4
-/* 00DEC 809F40AC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00DEC 809F40AC 0C029468 */ jal Animation_Change
/* 00DF0 809F40B0 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00DF4 809F40B4 3C0B809F */ lui $t3, %hi(func_809F40D4) ## $t3 = 809F0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F40D4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F40D4.s
index 9b060001c0..d9354278eb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F40D4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F40D4.s
@@ -13,7 +13,7 @@ glabel func_809F40D4
/* 00E24 809F40E4 AFBF002C */ sw $ra, 0x002C($sp)
/* 00E28 809F40E8 2491014C */ addiu $s1, $a0, 0x014C ## $s1 = 0000014C
/* 00E2C 809F40EC AFA5003C */ sw $a1, 0x003C($sp)
-/* 00E30 809F40F0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00E30 809F40F0 0C02927F */ jal SkelAnime_Update
/* 00E34 809F40F4 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 00E38 809F40F8 3C01C334 */ lui $at, 0xC334 ## $at = C3340000
@@ -69,11 +69,11 @@ glabel func_809F40D4
/* 00EFC 809F41BC 00000000 */ nop
/* 00F00 809F41C0 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
.L809F41C4:
-/* 00F04 809F41C4 0C0295B2 */ jal func_800A56C8
+/* 00F04 809F41C4 0C0295B2 */ jal Animation_OnFrame
/* 00F08 809F41C8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00F0C 809F41CC 14400004 */ bne $v0, $zero, .L809F41E0
/* 00F10 809F41D0 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
-/* 00F14 809F41D4 0C0295B2 */ jal func_800A56C8
+/* 00F14 809F41D4 0C0295B2 */ jal Animation_OnFrame
/* 00F18 809F41D8 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 00F1C 809F41DC 10400003 */ beq $v0, $zero, .L809F41EC
.L809F41E0:
@@ -91,7 +91,7 @@ glabel func_809F40D4
/* 00F44 809F4204 A60B0032 */ sh $t3, 0x0032($s0) ## 00000032
/* 00F48 809F4208 45020022 */ bc1fl .L809F4294
/* 00F4C 809F420C 8FBF002C */ lw $ra, 0x002C($sp)
-/* 00F50 809F4210 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00F50 809F4210 0C028800 */ jal Animation_GetLastFrame
/* 00F54 809F4214 248424CC */ addiu $a0, $a0, %lo(D_060024CC) ## $a0 = 060024CC
/* 00F58 809F4218 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -114,7 +114,7 @@ glabel func_809F40D4
/* 00F9C 809F425C 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00
/* 00FA0 809F4260 00000000 */ nop
/* 00FA4 809F4264 468021A0 */ cvt.s.w $f6, $f4
-/* 00FA8 809F4268 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00FA8 809F4268 0C029468 */ jal Animation_Change
/* 00FAC 809F426C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00FB0 809F4270 3C01C32D */ lui $at, 0xC32D ## $at = C32D0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F42A4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F42A4.s
index a1a41f0c0f..dcf9f0d8f0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F42A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F42A4.s
@@ -7,7 +7,7 @@ glabel func_809F42A4
/* 00FF8 809F42B8 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 00FFC 809F42BC AFA50020 */ sw $a1, 0x0020($sp)
/* 01000 809F42C0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01004 809F42C4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01004 809F42C4 0C02927F */ jal SkelAnime_Update
/* 01008 809F42C8 E7A4001C */ swc1 $f4, 0x001C($sp)
/* 0100C 809F42CC 8FA50020 */ lw $a1, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4310.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4310.s
index 653768078d..726791376a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4310.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4310.s
@@ -8,7 +8,7 @@ glabel func_809F4310
/* 01068 809F4328 3C040600 */ lui $a0, %hi(D_06000430) ## $a0 = 06000000
/* 0106C 809F432C 55C00022 */ bnel $t6, $zero, .L809F43B8
/* 01070 809F4330 8FBF002C */ lw $ra, 0x002C($sp)
-/* 01074 809F4334 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01074 809F4334 0C028800 */ jal Animation_GetLastFrame
/* 01078 809F4338 24840430 */ addiu $a0, $a0, %lo(D_06000430) ## $a0 = 06000430
/* 0107C 809F433C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -32,7 +32,7 @@ glabel func_809F4310
/* 010C4 809F4384 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 010C8 809F4388 00000000 */ nop
/* 010CC 809F438C 46805420 */ cvt.s.w $f16, $f10
-/* 010D0 809F4390 0C029468 */ jal SkelAnime_ChangeAnim
+/* 010D0 809F4390 0C029468 */ jal Animation_Change
/* 010D4 809F4394 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 010D8 809F4398 3C014100 */ lui $at, 0x4100 ## $at = 41000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F43C8.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F43C8.s
index 2d4af23734..30fdaddcb5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F43C8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F43C8.s
@@ -3,7 +3,7 @@ glabel func_809F43C8
/* 0110C 809F43CC AFBF0014 */ sw $ra, 0x0014($sp)
/* 01110 809F43D0 AFA40018 */ sw $a0, 0x0018($sp)
/* 01114 809F43D4 AFA5001C */ sw $a1, 0x001C($sp)
-/* 01118 809F43D8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01118 809F43D8 0C02927F */ jal SkelAnime_Update
/* 0111C 809F43DC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01120 809F43E0 8FBF0014 */ lw $ra, 0x0014($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F43F0.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F43F0.s
index 7d77c2b66b..ef48ad9993 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F43F0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F43F0.s
@@ -8,7 +8,7 @@ glabel func_809F43F0
/* 01148 809F4408 3C040600 */ lui $a0, %hi(D_06000B70) ## $a0 = 06000000
/* 0114C 809F440C 55C00037 */ bnel $t6, $zero, .L809F44EC
/* 01150 809F4410 8FBF0034 */ lw $ra, 0x0034($sp)
-/* 01154 809F4414 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01154 809F4414 0C028800 */ jal Animation_GetLastFrame
/* 01158 809F4418 24840B70 */ addiu $a0, $a0, %lo(D_06000B70) ## $a0 = 06000B70
/* 0115C 809F441C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -31,7 +31,7 @@ glabel func_809F43F0
/* 011A0 809F4460 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 011A4 809F4464 00000000 */ nop
/* 011A8 809F4468 46805420 */ cvt.s.w $f16, $f10
-/* 011AC 809F446C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 011AC 809F446C 0C029468 */ jal Animation_Change
/* 011B0 809F4470 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 011B4 809F4474 86090274 */ lh $t1, 0x0274($s0) ## 00000274
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F44FC.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F44FC.s
index 9284ed5b01..81a4dc4407 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F44FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F44FC.s
@@ -11,7 +11,7 @@ glabel func_809F44FC
/* 0124C 809F450C C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
/* 01250 809F4510 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01254 809F4514 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01258 809F4518 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01258 809F4518 0C02927F */ jal SkelAnime_Update
/* 0125C 809F451C E7A40030 */ swc1 $f4, 0x0030($sp)
/* 01260 809F4520 860E026E */ lh $t6, 0x026E($s0) ## 0000026E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4730.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4730.s
index d21382e13d..ebd73ff6fe 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4730.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4730.s
@@ -8,7 +8,7 @@ glabel func_809F4730
/* 01488 809F4748 3C040600 */ lui $a0, %hi(D_06000894) ## $a0 = 06000000
/* 0148C 809F474C 55C00031 */ bnel $t6, $zero, .L809F4814
/* 01490 809F4750 8FBF0034 */ lw $ra, 0x0034($sp)
-/* 01494 809F4754 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01494 809F4754 0C028800 */ jal Animation_GetLastFrame
/* 01498 809F4758 24840894 */ addiu $a0, $a0, %lo(D_06000894) ## $a0 = 06000894
/* 0149C 809F475C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -31,7 +31,7 @@ glabel func_809F4730
/* 014E0 809F47A0 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 014E4 809F47A4 00000000 */ nop
/* 014E8 809F47A8 46805420 */ cvt.s.w $f16, $f10
-/* 014EC 809F47AC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 014EC 809F47AC 0C029468 */ jal Animation_Change
/* 014F0 809F47B0 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 014F4 809F47B4 A2000218 */ sb $zero, 0x0218($s0) ## 00000218
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4824.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4824.s
index d4d98e9555..1f610a1594 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4824.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4824.s
@@ -7,7 +7,7 @@ glabel func_809F4824
/* 01578 809F4838 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 0157C 809F483C AFA50020 */ sw $a1, 0x0020($sp)
/* 01580 809F4840 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01584 809F4844 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01584 809F4844 0C02927F */ jal SkelAnime_Update
/* 01588 809F4848 E7A4001C */ swc1 $f4, 0x001C($sp)
/* 0158C 809F484C 8FA50020 */ lw $a1, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F48FC.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F48FC.s
index 481383b0b7..499f321ae8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F48FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F48FC.s
@@ -5,7 +5,7 @@ glabel func_809F48FC
/* 01648 809F4908 AFBF002C */ sw $ra, 0x002C($sp)
/* 0164C 809F490C 3C040600 */ lui $a0, %hi(D_06002E1C) ## $a0 = 06000000
/* 01650 809F4910 AFA50034 */ sw $a1, 0x0034($sp)
-/* 01654 809F4914 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01654 809F4914 0C028800 */ jal Animation_GetLastFrame
/* 01658 809F4918 24842E1C */ addiu $a0, $a0, %lo(D_06002E1C) ## $a0 = 06002E1C
/* 0165C 809F491C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809F48FC
/* 0169C 809F495C 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 016A0 809F4960 00000000 */ nop
/* 016A4 809F4964 46805420 */ cvt.s.w $f16, $f10
-/* 016A8 809F4968 0C029468 */ jal SkelAnime_ChangeAnim
+/* 016A8 809F4968 0C029468 */ jal Animation_Change
/* 016AC 809F496C E7B00010 */ swc1 $f16, 0x0010($sp)
/* 016B0 809F4970 3C014040 */ lui $at, 0x4040 ## $at = 40400000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F49A4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F49A4.s
index 4a3423dc46..ec4ba14cd6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F49A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F49A4.s
@@ -9,7 +9,7 @@ glabel func_809F49A4
/* 016EC 809F49AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 016F0 809F49B0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 016F4 809F49B4 AFA50034 */ sw $a1, 0x0034($sp)
-/* 016F8 809F49B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 016F8 809F49B8 0C02927F */ jal SkelAnime_Update
/* 016FC 809F49BC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01700 809F49C0 86030258 */ lh $v1, 0x0258($s0) ## 00000258
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4BA4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4BA4.s
index 42db7b4993..ed56d48a98 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4BA4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4BA4.s
@@ -10,7 +10,7 @@ glabel func_809F4BA4
/* 018F0 809F4BB0 AFBF002C */ sw $ra, 0x002C($sp)
/* 018F4 809F4BB4 3C040600 */ lui $a0, %hi(D_060006CC) ## $a0 = 06000000
/* 018F8 809F4BB8 AFA50034 */ sw $a1, 0x0034($sp)
-/* 018FC 809F4BBC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 018FC 809F4BBC 0C028800 */ jal Animation_GetLastFrame
/* 01900 809F4BC0 248406CC */ addiu $a0, $a0, %lo(D_060006CC) ## $a0 = 060006CC
/* 01904 809F4BC4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -32,7 +32,7 @@ glabel func_809F4BA4
/* 01944 809F4C04 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 01948 809F4C08 00000000 */ nop
/* 0194C 809F4C0C 46805420 */ cvt.s.w $f16, $f10
-/* 01950 809F4C10 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01950 809F4C10 0C029468 */ jal Animation_Change
/* 01954 809F4C14 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 01958 809F4C18 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4CB4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4CB4.s
index e05f07bb75..9d044ee390 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4CB4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4CB4.s
@@ -4,7 +4,7 @@ glabel func_809F4CB4
/* 019FC 809F4CBC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01A00 809F4CC0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01A04 809F4CC4 AFA5002C */ sw $a1, 0x002C($sp)
-/* 01A08 809F4CC8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01A08 809F4CC8 0C02927F */ jal SkelAnime_Update
/* 01A0C 809F4CCC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01A10 809F4CD0 860E025A */ lh $t6, 0x025A($s0) ## 0000025A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4E18.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4E18.s
index 2cd12613eb..9f7e45878d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4E18.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4E18.s
@@ -19,7 +19,7 @@ glabel func_809F4E18
/* 01B9C 809F4E5C 8FBF002C */ lw $ra, 0x002C($sp)
.L809F4E60:
/* 01BA0 809F4E60 3C040600 */ lui $a0, %hi(D_06000430) ## $a0 = 06000000
-/* 01BA4 809F4E64 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01BA4 809F4E64 0C028800 */ jal Animation_GetLastFrame
/* 01BA8 809F4E68 24840430 */ addiu $a0, $a0, %lo(D_06000430) ## $a0 = 06000430
/* 01BAC 809F4E6C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -42,7 +42,7 @@ glabel func_809F4E18
/* 01BF0 809F4EB0 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 01BF4 809F4EB4 00000000 */ nop
/* 01BF8 809F4EB8 46805420 */ cvt.s.w $f16, $f10
-/* 01BFC 809F4EBC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01BFC 809F4EBC 0C029468 */ jal Animation_Change
/* 01C00 809F4EC0 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 01C04 809F4EC4 A2000218 */ sb $zero, 0x0218($s0) ## 00000218
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4EF4.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4EF4.s
index d3e83a9812..bd6f8e2e87 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4EF4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F4EF4.s
@@ -11,7 +11,7 @@ glabel func_809F4EF4
/* 01C44 809F4F04 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164
/* 01C48 809F4F08 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01C4C 809F4F0C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01C50 809F4F10 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01C50 809F4F10 0C02927F */ jal SkelAnime_Update
/* 01C54 809F4F14 E7A40040 */ swc1 $f4, 0x0040($sp)
/* 01C58 809F4F18 860E026E */ lh $t6, 0x026E($s0) ## 0000026E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F50EC.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F50EC.s
index 571841f578..c491ae7d83 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F50EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F50EC.s
@@ -8,7 +8,7 @@ glabel func_809F50EC
/* 01E44 809F5104 3C040600 */ lui $a0, %hi(D_0600031C) ## $a0 = 06000000
/* 01E48 809F5108 55C00027 */ bnel $t6, $zero, .L809F51A8
/* 01E4C 809F510C 8FBF002C */ lw $ra, 0x002C($sp)
-/* 01E50 809F5110 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01E50 809F5110 0C028800 */ jal Animation_GetLastFrame
/* 01E54 809F5114 2484031C */ addiu $a0, $a0, %lo(D_0600031C) ## $a0 = 0600031C
/* 01E58 809F5118 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -31,7 +31,7 @@ glabel func_809F50EC
/* 01E9C 809F515C 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00
/* 01EA0 809F5160 00000000 */ nop
/* 01EA4 809F5164 46805420 */ cvt.s.w $f16, $f10
-/* 01EA8 809F5168 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01EA8 809F5168 0C029468 */ jal Animation_Change
/* 01EAC 809F516C E7B00010 */ swc1 $f16, 0x0010($sp)
/* 01EB0 809F5170 8FA40034 */ lw $a0, 0x0034($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F51B8.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F51B8.s
index a7217cb9a0..580496fe39 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F51B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F51B8.s
@@ -18,7 +18,7 @@ glabel func_809F51B8
/* 01F10 809F51D0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01F14 809F51D4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01F18 809F51D8 AFA3007C */ sw $v1, 0x007C($sp)
-/* 01F1C 809F51DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01F1C 809F51DC 0C02927F */ jal SkelAnime_Update
/* 01F20 809F51E0 E7A40074 */ swc1 $f4, 0x0074($sp)
/* 01F24 809F51E4 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5478.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5478.s
index 734a67fde8..bc69847047 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5478.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5478.s
@@ -5,7 +5,7 @@ glabel func_809F5478
/* 021C4 809F5484 AFBF002C */ sw $ra, 0x002C($sp)
/* 021C8 809F5488 3C040600 */ lui $a0, %hi(D_06002E1C) ## $a0 = 06000000
/* 021CC 809F548C AFA50034 */ sw $a1, 0x0034($sp)
-/* 021D0 809F5490 0C028800 */ jal SkelAnime_GetFrameCount
+/* 021D0 809F5490 0C028800 */ jal Animation_GetLastFrame
/* 021D4 809F5494 24842E1C */ addiu $a0, $a0, %lo(D_06002E1C) ## $a0 = 06002E1C
/* 021D8 809F5498 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809F5478
/* 02218 809F54D8 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00
/* 0221C 809F54DC 00000000 */ nop
/* 02220 809F54E0 46805420 */ cvt.s.w $f16, $f10
-/* 02224 809F54E4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02224 809F54E4 0C029468 */ jal Animation_Change
/* 02228 809F54E8 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 0222C 809F54EC 3C014080 */ lui $at, 0x4080 ## $at = 40800000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F551C.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F551C.s
index 408b11ed13..d6293c587a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F551C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F551C.s
@@ -9,7 +9,7 @@ glabel func_809F551C
/* 02264 809F5524 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02268 809F5528 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0226C 809F552C AFA50034 */ sw $a1, 0x0034($sp)
-/* 02270 809F5530 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02270 809F5530 0C02927F */ jal SkelAnime_Update
/* 02274 809F5534 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02278 809F5538 C604021C */ lwc1 $f4, 0x021C($s0) ## 0000021C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/EnDodojr_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/EnDodojr_Update.s
index 6c4f7868d8..1f22008a8d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/EnDodojr_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/EnDodojr_Update.s
@@ -4,7 +4,7 @@ glabel EnDodojr_Update
/* 018D8 809F7C98 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 018DC 809F7C9C AFBF0024 */ sw $ra, 0x0024($sp)
/* 018E0 809F7CA0 AFA5002C */ sw $a1, 0x002C($sp)
-/* 018E4 809F7CA4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 018E4 809F7CA4 0C02927F */ jal SkelAnime_Update
/* 018E8 809F7CA8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 018EC 809F7CAC 0C00B638 */ jal Actor_MoveForward
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6994.s b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6994.s
index 279f6ac75c..566a115da0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6994.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6994.s
@@ -10,7 +10,7 @@ glabel func_809F6994
/* 005D8 809F6998 AFA40028 */ sw $a0, 0x0028($sp)
/* 005DC 809F699C AFBF0024 */ sw $ra, 0x0024($sp)
/* 005E0 809F69A0 3C040600 */ lui $a0, %hi(D_06000860) ## $a0 = 06000000
-/* 005E4 809F69A4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 005E4 809F69A4 0C028800 */ jal Animation_GetLastFrame
/* 005E8 809F69A8 24840860 */ addiu $a0, $a0, %lo(D_06000860) ## $a0 = 06000860
/* 005EC 809F69AC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_809F6994
/* 00618 809F69D8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0061C 809F69DC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00620 809F69E0 2464014C */ addiu $a0, $v1, 0x014C ## $a0 = 0000014C
-/* 00624 809F69E4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00624 809F69E4 0C029468 */ jal Animation_Change
/* 00628 809F69E8 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0062C 809F69EC 8FA30028 */ lw $v1, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6A20.s b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6A20.s
index c88f796161..eba32065ce 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6A20.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6A20.s
@@ -9,7 +9,7 @@ glabel func_809F6A20
/* 00668 809F6A28 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0066C 809F6A2C AFBF002C */ sw $ra, 0x002C($sp)
/* 00670 809F6A30 3C040600 */ lui $a0, %hi(D_060004A0) ## $a0 = 06000000
-/* 00674 809F6A34 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00674 809F6A34 0C028800 */ jal Animation_GetLastFrame
/* 00678 809F6A38 248404A0 */ addiu $a0, $a0, %lo(D_060004A0) ## $a0 = 060004A0
/* 0067C 809F6A3C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -25,7 +25,7 @@ glabel func_809F6A20
/* 006A4 809F6A64 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 006A8 809F6A68 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 006AC 809F6A6C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 006B0 809F6A70 0C029468 */ jal SkelAnime_ChangeAnim
+/* 006B0 809F6A70 0C029468 */ jal Animation_Change
/* 006B4 809F6A74 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 006B8 809F6A78 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6AC4.s b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6AC4.s
index 340ecbfad5..2829bcaae2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6AC4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6AC4.s
@@ -8,7 +8,7 @@ glabel func_809F6AC4
/* 00708 809F6AC8 AFA40028 */ sw $a0, 0x0028($sp)
/* 0070C 809F6ACC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00710 809F6AD0 3C040600 */ lui $a0, %hi(D_060005F0) ## $a0 = 06000000
-/* 00714 809F6AD4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00714 809F6AD4 0C028800 */ jal Animation_GetLastFrame
/* 00718 809F6AD8 248405F0 */ addiu $a0, $a0, %lo(D_060005F0) ## $a0 = 060005F0
/* 0071C 809F6ADC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -22,7 +22,7 @@ glabel func_809F6AC4
/* 0073C 809F6AFC AFA00014 */ sw $zero, 0x0014($sp)
/* 00740 809F6B00 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00744 809F6B04 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00748 809F6B08 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00748 809F6B08 0C029468 */ jal Animation_Change
/* 0074C 809F6B0C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00750 809F6B10 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6B38.s b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6B38.s
index a29857e0e3..bfefe9cde2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6B38.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6B38.s
@@ -8,7 +8,7 @@ glabel func_809F6B38
/* 0077C 809F6B3C AFA40028 */ sw $a0, 0x0028($sp)
/* 00780 809F6B40 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00784 809F6B44 3C040600 */ lui $a0, %hi(D_06000724) ## $a0 = 06000000
-/* 00788 809F6B48 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00788 809F6B48 0C028800 */ jal Animation_GetLastFrame
/* 0078C 809F6B4C 24840724 */ addiu $a0, $a0, %lo(D_06000724) ## $a0 = 06000724
/* 00790 809F6B50 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -23,7 +23,7 @@ glabel func_809F6B38
/* 007B4 809F6B74 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 007B8 809F6B78 AFA00014 */ sw $zero, 0x0014($sp)
/* 007BC 809F6B7C 2464014C */ addiu $a0, $v1, 0x014C ## $a0 = 0000014C
-/* 007C0 809F6B80 0C029468 */ jal SkelAnime_ChangeAnim
+/* 007C0 809F6B80 0C029468 */ jal Animation_Change
/* 007C4 809F6B84 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 007C8 809F6B88 3C01809F */ lui $at, %hi(D_809F7F80) ## $at = 809F0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6C24.s b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6C24.s
index 8050370af3..39276efc10 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6C24.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F6C24.s
@@ -19,7 +19,7 @@ glabel func_809F6C24
/* 00894 809F6C54 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00898 809F6C58 3C074100 */ lui $a3, 0x4100 ## $a3 = 41000000
/* 0089C 809F6C5C E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 008A0 809F6C60 0C029468 */ jal SkelAnime_ChangeAnim
+/* 008A0 809F6C60 0C029468 */ jal Animation_Change
/* 008A4 809F6C64 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 008A8 809F6C68 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F73AC.s b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F73AC.s
index 995c2b8317..1d8cd1315d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F73AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/func_809F73AC.s
@@ -5,7 +5,7 @@ glabel func_809F73AC
/* 00FF8 809F73B8 AFBF002C */ sw $ra, 0x002C($sp)
/* 00FFC 809F73BC 3C040600 */ lui $a0, %hi(D_06000860) ## $a0 = 06000000
/* 01000 809F73C0 AFA50034 */ sw $a1, 0x0034($sp)
-/* 01004 809F73C4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01004 809F73C4 0C028800 */ jal Animation_GetLastFrame
/* 01008 809F73C8 24840860 */ addiu $a0, $a0, %lo(D_06000860) ## $a0 = 06000860
/* 0100C 809F73CC 3C0143A0 */ lui $at, 0x43A0 ## $at = 43A00000
@@ -36,7 +36,7 @@ glabel func_809F73AC
/* 01070 809F7430 44812000 */ mtc1 $at, $f4 ## $f4 = -10.00
/* 01074 809F7434 E7A20010 */ swc1 $f2, 0x0010($sp)
/* 01078 809F7438 AFAF0014 */ sw $t7, 0x0014($sp)
-/* 0107C 809F743C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0107C 809F743C 0C029468 */ jal Animation_Change
/* 01080 809F7440 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 01084 809F7444 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Du/EnDu_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Du/EnDu_Update.s
index 30859e2a38..c3aafbe926 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Du/EnDu_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Du/EnDu_Update.s
@@ -23,7 +23,7 @@ glabel EnDu_Update
/* 01138 809FED68 15CF000A */ bne $t6, $t7, .L809FED94
/* 0113C 809FED6C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01140 809FED70 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 01144 809FED74 0C0295B2 */ jal func_800A56C8
+/* 01144 809FED74 0C0295B2 */ jal Animation_OnFrame
/* 01148 809FED78 AFA4002C */ sw $a0, 0x002C($sp)
/* 0114C 809FED7C 10400005 */ beq $v0, $zero, .L809FED94
/* 01150 809FED80 8FA4002C */ lw $a0, 0x002C($sp)
@@ -32,7 +32,7 @@ glabel EnDu_Update
/* 0115C 809FED8C 0C00D3B0 */ jal func_80034EC0
/* 01160 809FED90 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
.L809FED94:
-/* 01164 809FED94 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01164 809FED94 0C02927F */ jal SkelAnime_Update
/* 01168 809FED98 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0116C 809FED9C 0C27F7A7 */ jal func_809FDE9C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Du/func_809FE040.s b/asm/non_matchings/overlays/actors/ovl_En_Du/func_809FE040.s
index 405e7253f5..bcdb8bab14 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Du/func_809FE040.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Du/func_809FE040.s
@@ -24,7 +24,7 @@ glabel func_809FE040
/* 00468 809FE098 ADD90018 */ sw $t9, 0x0018($t6) ## FFFFFFF8
/* 0046C 809FE09C 8CC5015C */ lw $a1, 0x015C($a2) ## 0000015C
/* 00470 809FE0A0 AFA60040 */ sw $a2, 0x0040($sp)
-/* 00474 809FE0A4 0C0295B2 */ jal func_800A56C8
+/* 00474 809FE0A4 0C0295B2 */ jal Animation_OnFrame
/* 00478 809FE0A8 AFA4001C */ sw $a0, 0x001C($sp)
/* 0047C 809FE0AC 8FA4001C */ lw $a0, 0x001C($sp)
/* 00480 809FE0B0 10400010 */ beq $v0, $zero, .L809FE0F4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Du/func_809FE104.s b/asm/non_matchings/overlays/actors/ovl_En_Du/func_809FE104.s
index 09ffff1946..87a35faf10 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Du/func_809FE104.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Du/func_809FE104.s
@@ -20,7 +20,7 @@ glabel func_809FE104
/* 0051C 809FE14C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00520 809FE150 8CC5015C */ lw $a1, 0x015C($a2) ## 0000015C
/* 00524 809FE154 AFA60030 */ sw $a2, 0x0030($sp)
-/* 00528 809FE158 0C0295B2 */ jal func_800A56C8
+/* 00528 809FE158 0C0295B2 */ jal Animation_OnFrame
/* 0052C 809FE15C AFA40018 */ sw $a0, 0x0018($sp)
/* 00530 809FE160 8FA40018 */ lw $a0, 0x0018($sp)
/* 00534 809FE164 1040000D */ beq $v0, $zero, .L809FE19C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00218.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00218.s
index ccbfbcb0ef..5da5ad8ce2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00218.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00218.s
@@ -7,7 +7,7 @@ glabel func_80A00218
/* 0028C 80A0022C 3C050600 */ lui $a1, %hi(D_060012AC) ## $a1 = 06000000
/* 00290 80A00230 AC8E02A8 */ sw $t6, 0x02A8($a0) ## 000002A8
/* 00294 80A00234 24A512AC */ addiu $a1, $a1, %lo(D_060012AC) ## $a1 = 060012AC
-/* 00298 80A00238 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00298 80A00238 0C0294BE */ jal Animation_PlayLoop
/* 0029C 80A0023C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 002A0 80A00240 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 002A4 80A00244 C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000008
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A003DC.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A003DC.s
index 244f14d328..999ff787c5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A003DC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A003DC.s
@@ -8,7 +8,7 @@ glabel func_80A003DC
/* 00454 80A003F4 3C050600 */ lui $a1, %hi(D_06000704) ## $a1 = 06000000
/* 00458 80A003F8 24A50704 */ addiu $a1, $a1, %lo(D_06000704) ## $a1 = 06000704
/* 0045C 80A003FC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00460 80A00400 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00460 80A00400 0C02947A */ jal Animation_PlayOnce
/* 00464 80A00404 E484FF1C */ swc1 $f4, -0x00E4($a0) ## 00000068
/* 00468 80A00408 3C0EFFCF */ lui $t6, 0xFFCF ## $t6 = FFCF0000
/* 0046C 80A0040C 35CEFFFF */ ori $t6, $t6, 0xFFFF ## $t6 = FFCFFFFF
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A004BC.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A004BC.s
index a090ae68d1..1c2242ce19 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A004BC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A004BC.s
@@ -23,7 +23,7 @@ glabel func_80A004BC
/* 00558 80A004F8 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 0055C 80A004FC 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
/* 00560 80A00500 46083280 */ add.s $f10, $f6, $f8
-/* 00564 80A00504 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00564 80A00504 0C0294D3 */ jal Animation_MorphToLoop
/* 00568 80A00508 E4EA0280 */ swc1 $f10, 0x0280($a3) ## 00000280
/* 0056C 80A0050C 8FA70018 */ lw $a3, 0x0018($sp)
/* 00570 80A00510 3C1880A0 */ lui $t8, %hi(func_80A00C70) ## $t8 = 80A00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00588.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00588.s
index cb8af8f962..12201fbec6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00588.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00588.s
@@ -6,7 +6,7 @@ glabel func_80A00588
/* 005F8 80A00598 24A504C4 */ addiu $a1, $a1, %lo(D_060004C4) ## $a1 = 060004C4
/* 005FC 80A0059C AFA70018 */ sw $a3, 0x0018($sp)
/* 00600 80A005A0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00604 80A005A4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00604 80A005A4 0C029490 */ jal Animation_MorphToPlayOnce
/* 00608 80A005A8 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 0060C 80A005AC 8FA70018 */ lw $a3, 0x0018($sp)
/* 00610 80A005B0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00600.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00600.s
index 27bdc6496c..22f8b8bb51 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00600.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00600.s
@@ -15,7 +15,7 @@ glabel func_80A00600
/* 00694 80A00634 AFA00014 */ sw $zero, 0x0014($sp)
/* 00698 80A00638 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 0069C 80A0063C E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 006A0 80A00640 0C029468 */ jal SkelAnime_ChangeAnim
+/* 006A0 80A00640 0C029468 */ jal Animation_Change
/* 006A4 80A00644 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 006A8 80A00648 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A006B0.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A006B0.s
index db8c5ec298..58ed80fd00 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A006B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A006B0.s
@@ -20,7 +20,7 @@ glabel func_80A006B0
/* 00758 80A006F8 44812000 */ mtc1 $at, $f4 ## $f4 = 6.00
/* 0075C 80A006FC 24A50FC0 */ addiu $a1, $a1, %lo(D_06000FC0) ## $a1 = 06000FC0
/* 00760 80A00700 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
-/* 00764 80A00704 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00764 80A00704 0C0294D3 */ jal Animation_MorphToLoop
/* 00768 80A00708 E6040068 */ swc1 $f4, 0x0068($s0) ## 00000068
/* 0076C 80A0070C 10000007 */ beq $zero, $zero, .L80A0072C
/* 00770 80A00710 92080298 */ lbu $t0, 0x0298($s0) ## 00000298
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00794.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00794.s
index b9a0b9dc1f..49082da71b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00794.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00794.s
@@ -13,7 +13,7 @@ glabel func_80A00794
/* 00820 80A007C0 AFA00014 */ sw $zero, 0x0014($sp)
/* 00824 80A007C4 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 00828 80A007C8 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 0082C 80A007CC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0082C 80A007CC 0C029468 */ jal Animation_Change
/* 00830 80A007D0 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 00834 80A007D4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00858.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00858.s
index 8c9371e19e..1801bcf43a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00858.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00858.s
@@ -3,7 +3,7 @@ glabel func_80A00858
/* 008BC 80A0085C AFBF0014 */ sw $ra, 0x0014($sp)
/* 008C0 80A00860 AFA40018 */ sw $a0, 0x0018($sp)
/* 008C4 80A00864 AFA5001C */ sw $a1, 0x001C($sp)
-/* 008C8 80A00868 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 008C8 80A00868 0C02927F */ jal SkelAnime_Update
/* 008CC 80A0086C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 008D0 80A00870 8FA30018 */ lw $v1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A008D4.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A008D4.s
index cba1ea0bb5..c735b4d6b2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A008D4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A008D4.s
@@ -4,7 +4,7 @@ glabel func_80A008D4
/* 0093C 80A008DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00940 80A008E0 AFBF001C */ sw $ra, 0x001C($sp)
/* 00944 80A008E4 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00948 80A008E8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00948 80A008E8 0C02927F */ jal SkelAnime_Update
/* 0094C 80A008EC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00950 80A008F0 860E0032 */ lh $t6, 0x0032($s0) ## 00000032
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00950.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00950.s
index e078659c60..5da515bd79 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00950.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00950.s
@@ -9,7 +9,7 @@ glabel func_80A00950
/* 009B8 80A00958 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 009BC 80A0095C AFBF001C */ sw $ra, 0x001C($sp)
/* 009C0 80A00960 AFA5002C */ sw $a1, 0x002C($sp)
-/* 009C4 80A00964 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 009C4 80A00964 0C02927F */ jal SkelAnime_Update
/* 009C8 80A00968 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 009CC 80A0096C 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00B18.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00B18.s
index f675d19232..71a6f671ad 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00B18.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00B18.s
@@ -11,7 +11,7 @@ glabel func_80A00B18
/* 00B80 80A00B20 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00B84 80A00B24 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00B88 80A00B28 AFA50044 */ sw $a1, 0x0044($sp)
-/* 00B8C 80A00B2C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00B8C 80A00B2C 0C02927F */ jal SkelAnime_Update
/* 00B90 80A00B30 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00B94 80A00B34 AFA2003C */ sw $v0, 0x003C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00C70.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00C70.s
index 481611a9d3..0445e8b54a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00C70.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00C70.s
@@ -11,7 +11,7 @@ glabel func_80A00C70
/* 00CD8 80A00C78 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00CDC 80A00C7C AFBF001C */ sw $ra, 0x001C($sp)
/* 00CE0 80A00C80 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00CE4 80A00C84 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CE4 80A00C84 0C02927F */ jal SkelAnime_Update
/* 00CE8 80A00C88 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00CEC 80A00C8C 86030194 */ lh $v1, 0x0194($s0) ## 00000194
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00E8C.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00E8C.s
index 53c0b9ae6c..9c8da318be 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00E8C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00E8C.s
@@ -6,7 +6,7 @@ glabel func_80A00E8C
/* 00EFC 80A00E9C 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
/* 00F00 80A00EA0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00F04 80A00EA4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00F08 80A00EA8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00F08 80A00EA8 0C02927F */ jal SkelAnime_Update
/* 00F0C 80A00EAC AFA30034 */ sw $v1, 0x0034($sp)
/* 00F10 80A00EB0 860400B4 */ lh $a0, 0x00B4($s0) ## 000000B4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00F84.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00F84.s
index 0a0dccfbbc..f35cffc948 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00F84.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A00F84.s
@@ -9,7 +9,7 @@ glabel func_80A00F84
/* 00FEC 80A00F8C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00FF0 80A00F90 AFA5001C */ sw $a1, 0x001C($sp)
/* 00FF4 80A00F94 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00FF8 80A00F98 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00FF8 80A00F98 0C02927F */ jal SkelAnime_Update
/* 00FFC 80A00F9C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01000 80A00FA0 8FA60018 */ lw $a2, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01010.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01010.s
index 2a9c8fc5ab..d623bad06b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01010.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01010.s
@@ -4,7 +4,7 @@ glabel func_80A01010
/* 01078 80A01018 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0107C 80A0101C AFBF0024 */ sw $ra, 0x0024($sp)
/* 01080 80A01020 AFA50034 */ sw $a1, 0x0034($sp)
-/* 01084 80A01024 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01084 80A01024 0C02927F */ jal SkelAnime_Update
/* 01088 80A01028 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0108C 80A0102C 26040030 */ addiu $a0, $s0, 0x0030 ## $a0 = 00000030
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01104.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01104.s
index 27213ca6a9..78ca068567 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01104.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01104.s
@@ -9,7 +9,7 @@ glabel func_80A01104
/* 0116C 80A0110C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01170 80A01110 AFBF001C */ sw $ra, 0x001C($sp)
/* 01174 80A01114 AFA50024 */ sw $a1, 0x0024($sp)
-/* 01178 80A01118 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01178 80A01118 0C02927F */ jal SkelAnime_Update
/* 0117C 80A0111C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01180 80A01120 86020194 */ lh $v0, 0x0194($s0) ## 00000194
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01240.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01240.s
index 49b8d02b7d..64ca131d82 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01240.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01240.s
@@ -4,7 +4,7 @@ glabel func_80A01240
/* 012A8 80A01248 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 012AC 80A0124C AFBF001C */ sw $ra, 0x001C($sp)
/* 012B0 80A01250 AFA50024 */ sw $a1, 0x0024($sp)
-/* 012B4 80A01254 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 012B4 80A01254 0C02927F */ jal SkelAnime_Update
/* 012B8 80A01258 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 012BC 80A0125C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01374.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01374.s
index 7af01dd5a8..2c92441b8a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01374.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/func_80A01374.s
@@ -15,11 +15,11 @@ glabel func_80A01374
/* 01404 80A013A4 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 01408 80A013A8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 0140C 80A013AC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0140C 80A013AC 0C02927F */ jal SkelAnime_Update
/* 01410 80A013B0 AFA40024 */ sw $a0, 0x0024($sp)
/* 01414 80A013B4 8FA40024 */ lw $a0, 0x0024($sp)
-/* 01418 80A013B8 0C0295B2 */ jal func_800A56C8
+/* 01418 80A013B8 0C0295B2 */ jal Animation_OnFrame
/* 0141C 80A013BC 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01420 80A013C0 10400003 */ beq $v0, $zero, .L80A013D0
/* 01424 80A013C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A152AC.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A152AC.s
index ba2c15a596..72c930a26e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A152AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A152AC.s
@@ -3,7 +3,7 @@ glabel func_80A152AC
/* 00030 80A152B0 AFA40028 */ sw $a0, 0x0028($sp)
/* 00034 80A152B4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00038 80A152B8 3C040402 */ lui $a0, %hi(D_0401909C) ## $a0 = 04020000
-/* 0003C 80A152BC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0003C 80A152BC 0C028800 */ jal Animation_GetLastFrame
/* 00040 80A152C0 2484909C */ addiu $a0, $a0, %lo(D_0401909C) ## $a0 = 0401909C
/* 00044 80A152C4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80A152AC
/* 0006C 80A152EC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00070 80A152F0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00074 80A152F4 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00078 80A152F8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00078 80A152F8 0C029468 */ jal Animation_Change
/* 0007C 80A152FC 248401AC */ addiu $a0, $a0, 0x01AC ## $a0 = 000001AC
/* 00080 80A15300 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15310.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15310.s
index 02760ec7fb..c1124f5a98 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15310.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15310.s
@@ -3,7 +3,7 @@ glabel func_80A15310
/* 00094 80A15314 AFA40028 */ sw $a0, 0x0028($sp)
/* 00098 80A15318 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0009C 80A1531C 3C040402 */ lui $a0, %hi(D_040185FC) ## $a0 = 04020000
-/* 000A0 80A15320 0C028800 */ jal SkelAnime_GetFrameCount
+/* 000A0 80A15320 0C028800 */ jal Animation_GetLastFrame
/* 000A4 80A15324 248485FC */ addiu $a0, $a0, %lo(D_040185FC) ## $a0 = 040185FC
/* 000A8 80A15328 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80A15310
/* 000D0 80A15350 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 000D4 80A15354 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 000D8 80A15358 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 000DC 80A1535C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 000DC 80A1535C 0C029468 */ jal Animation_Change
/* 000E0 80A15360 248401AC */ addiu $a0, $a0, 0x01AC ## $a0 = 000001AC
/* 000E4 80A15364 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A157FC.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A157FC.s
index e7f3d5fb2b..3d67948679 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A157FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A157FC.s
@@ -40,7 +40,7 @@ glabel func_80A157FC
/* 005F0 80A15870 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
/* 005F4 80A15874 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
.L80A15878:
-/* 005F8 80A15878 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 005F8 80A15878 0C02927F */ jal SkelAnime_Update
/* 005FC 80A1587C 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 00600 80A15880 860F0248 */ lh $t7, 0x0248($s0) ## 00000248
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15944.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15944.s
index 3e1b4315ef..862606eb37 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15944.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15944.s
@@ -83,7 +83,7 @@ glabel func_80A15944
/* 007DC 80A15A5C E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
/* 007E0 80A15A60 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
.L80A15A64:
-/* 007E4 80A15A64 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 007E4 80A15A64 0C02927F */ jal SkelAnime_Update
/* 007E8 80A15A68 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 007EC 80A15A6C 86180248 */ lh $t8, 0x0248($s0) ## 00000248
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15B2C.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15B2C.s
index 3d32d53443..fa63d160e1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15B2C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15B2C.s
@@ -116,7 +116,7 @@ glabel func_80A15B2C
/* 00A38 80A15CB8 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
/* 00A3C 80A15CBC E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
.L80A15CC0:
-/* 00A40 80A15CC0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00A40 80A15CC0 0C02927F */ jal SkelAnime_Update
/* 00A44 80A15CC4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 00A48 80A15CC8 86090248 */ lh $t1, 0x0248($s0) ## 00000248
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15D68.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15D68.s
index 3d1f9ffb1c..7e2c0e5af3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15D68.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15D68.s
@@ -113,7 +113,7 @@ glabel func_80A15D68
/* 00C6C 80A15EEC E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
/* 00C70 80A15EF0 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
.L80A15EF4:
-/* 00C74 80A15EF4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00C74 80A15EF4 0C02927F */ jal SkelAnime_Update
/* 00C78 80A15EF8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 00C7C 80A15EFC 860B0248 */ lh $t3, 0x0248($s0) ## 00000248
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15F84.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15F84.s
index 5c4df04174..d1709470fc 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15F84.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A15F84.s
@@ -52,7 +52,7 @@ glabel func_80A15F84
/* 00D68 80A15FE8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 00D6C 80A15FEC A60E00B4 */ sh $t6, 0x00B4($s0) ## 000000B4
/* 00D70 80A15FF0 A60F00B6 */ sh $t7, 0x00B6($s0) ## 000000B6
-/* 00D74 80A15FF4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D74 80A15FF4 0C02927F */ jal SkelAnime_Update
/* 00D78 80A15FF8 A61800B8 */ sh $t8, 0x00B8($s0) ## 000000B8
/* 00D7C 80A15FFC 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16200.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16200.s
index 0af3dd24a0..93c0f2d996 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16200.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16200.s
@@ -100,7 +100,7 @@ glabel func_80A16200
/* 010C4 80A16344 AA0B00B4 */ swl $t3, 0x00B4($s0) ## 000000B4
/* 010C8 80A16348 BA0B00B7 */ swr $t3, 0x00B7($s0) ## 000000B7
/* 010CC 80A1634C 952B0004 */ lhu $t3, 0x0004($t1) ## 00000004
-/* 010D0 80A16350 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 010D0 80A16350 0C02927F */ jal SkelAnime_Update
/* 010D4 80A16354 A60B00B8 */ sh $t3, 0x00B8($s0) ## 000000B8
/* 010D8 80A16358 86020248 */ lh $v0, 0x0248($s0) ## 00000248
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16450.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16450.s
index 5b759a7c89..09053a3c2f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16450.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16450.s
@@ -117,7 +117,7 @@ glabel func_80A16450
/* 01360 80A165E0 E60401C8 */ swc1 $f4, 0x01C8($s0) ## 000001C8
/* 01364 80A165E4 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
.L80A165E8:
-/* 01368 80A165E8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01368 80A165E8 0C02927F */ jal SkelAnime_Update
/* 0136C 80A165EC 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 01370 80A165F0 860C0248 */ lh $t4, 0x0248($s0) ## 00000248
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16670.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16670.s
index 443ff3a82e..f14a4b9364 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16670.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16670.s
@@ -143,7 +143,7 @@ glabel func_80A16670
/* 015D8 80A16858 46201420 */ cvt.s.d $f16, $f2
/* 015DC 80A1685C E61001C8 */ swc1 $f16, 0x01C8($s0) ## 000001C8
.L80A16860:
-/* 015E0 80A16860 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 015E0 80A16860 0C02927F */ jal SkelAnime_Update
/* 015E4 80A16864 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 015E8 80A16868 86090248 */ lh $t1, 0x0248($s0) ## 00000248
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16898.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16898.s
index 982d79cd65..439d682e36 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16898.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A16898.s
@@ -85,7 +85,7 @@ glabel func_80A16898
/* 01720 80A169A0 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 01724 80A169A4 46083282 */ mul.s $f10, $f6, $f8
/* 01728 80A169A8 46105480 */ add.s $f18, $f10, $f16
-/* 0172C 80A169AC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0172C 80A169AC 0C02927F */ jal SkelAnime_Update
/* 01730 80A169B0 E61201C8 */ swc1 $f18, 0x01C8($s0) ## 000001C8
/* 01734 80A169B4 8FBF001C */ lw $ra, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A169C8.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A169C8.s
index cb017c67b7..f6726aef05 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A169C8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/func_80A169C8.s
@@ -34,7 +34,7 @@ glabel func_80A169C8
/* 017BC 80A16A3C 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 017C0 80A16A40 460A4402 */ mul.s $f16, $f8, $f10
/* 017C4 80A16A44 46128100 */ add.s $f4, $f16, $f18
-/* 017C8 80A16A48 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 017C8 80A16A48 0C02927F */ jal SkelAnime_Update
/* 017CC 80A16A4C E60401C8 */ swc1 $f4, 0x01C8($s0) ## 000001C8
/* 017D0 80A16A50 8FBF001C */ lw $ra, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fr/EnFr_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Fr/EnFr_Update.s
index 8471cd2307..832275af58 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fr/EnFr_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fr/EnFr_Update.s
@@ -35,29 +35,29 @@ glabel EnFr_Update
/* 00308 80A1ACA8 0C01E037 */ jal Actor_ProcessInitChain
/* 0030C 80A1ACAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 00310 80A1ACB0 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
-/* 00314 80A1ACB4 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
+/* 00310 80A1ACB0 3C060601 */ lui $a2, %hi(D_0600B498) ## $a2 = 06010000
+/* 00314 80A1ACB4 3C070600 */ lui $a3, %hi(D_06001534) ## $a3 = 06000000
/* 00318 80A1ACB8 26190190 */ addiu $t9, $s0, 0x0190 ## $t9 = 00000190
/* 0031C 80A1ACBC 26080220 */ addiu $t0, $s0, 0x0220 ## $t0 = 00000220
/* 00320 80A1ACC0 24090018 */ addiu $t1, $zero, 0x0018 ## $t1 = 00000018
/* 00324 80A1ACC4 AFA90018 */ sw $t1, 0x0018($sp)
/* 00328 80A1ACC8 AFA80014 */ sw $t0, 0x0014($sp)
/* 0032C 80A1ACCC AFB90010 */ sw $t9, 0x0010($sp)
-/* 00330 80A1ACD0 24E71534 */ addiu $a3, $a3, 0x1534 ## $a3 = 06001534
-/* 00334 80A1ACD4 24C6B498 */ addiu $a2, $a2, 0xB498 ## $a2 = 0600B498
+/* 00330 80A1ACD0 24E71534 */ addiu $a3, $a3, %lo(D_06001534) ## $a3 = 06001534
+/* 00334 80A1ACD4 24C6B498 */ addiu $a2, $a2, %lo(D_0600B498) ## $a2 = 0600B498
/* 00338 80A1ACD8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 0033C 80A1ACDC 0C0291BE */ jal SkelAnime_InitFlex
/* 00340 80A1ACE0 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
-/* 00344 80A1ACE4 3C060500 */ lui $a2, 0x0500 ## $a2 = 05000000
-/* 00348 80A1ACE8 3C070500 */ lui $a3, 0x0500 ## $a3 = 05000000
+/* 00344 80A1ACE4 3C060500 */ lui $a2, %hi(D_050036F0) ## $a2 = 05000000
+/* 00348 80A1ACE8 3C070500 */ lui $a3, %hi(D_05002470) ## $a3 = 05000000
/* 0034C 80A1ACEC 260A02F4 */ addiu $t2, $s0, 0x02F4 ## $t2 = 000002F4
/* 00350 80A1ACF0 260B0324 */ addiu $t3, $s0, 0x0324 ## $t3 = 00000324
/* 00354 80A1ACF4 240C0008 */ addiu $t4, $zero, 0x0008 ## $t4 = 00000008
/* 00358 80A1ACF8 AFAC0018 */ sw $t4, 0x0018($sp)
/* 0035C 80A1ACFC AFAB0014 */ sw $t3, 0x0014($sp)
/* 00360 80A1AD00 AFAA0010 */ sw $t2, 0x0010($sp)
-/* 00364 80A1AD04 24E72470 */ addiu $a3, $a3, 0x2470 ## $a3 = 05002470
-/* 00368 80A1AD08 24C636F0 */ addiu $a2, $a2, 0x36F0 ## $a2 = 050036F0
+/* 00364 80A1AD04 24E72470 */ addiu $a3, $a3, %lo(D_05002470) ## $a3 = 05002470
+/* 00368 80A1AD08 24C636F0 */ addiu $a2, $a2, %lo(D_050036F0) ## $a2 = 050036F0
/* 0036C 80A1AD0C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00370 80A1AD10 0C02915F */ jal SkelAnime_Init
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B22C.s b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B22C.s
index e1b3977582..791c872397 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B22C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B22C.s
@@ -9,25 +9,25 @@ glabel func_80A1B22C
/* 008A8 80A1B248 0338C821 */ addu $t9, $t9, $t8
/* 008AC 80A1B24C 9339D0C3 */ lbu $t9, %lo(D_80A1D0C3)($t9)
/* 008B0 80A1B250 91CECFF0 */ lbu $t6, %lo(D_80A1CFF0)($t6)
-/* 008B4 80A1B254 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
+/* 008B4 80A1B254 3C040600 */ lui $a0, %hi(D_060007BC) ## $a0 = 06000000
/* 008B8 80A1B258 55D90018 */ bnel $t6, $t9, .L80A1B2BC
/* 008BC 80A1B25C 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 008C0 80A1B260 0C028800 */ jal SkelAnime_GetFrameCount
+/* 008C0 80A1B260 0C028800 */ jal Animation_GetLastFrame
-/* 008C4 80A1B264 248407BC */ addiu $a0, $a0, 0x07BC ## $a0 = 060007BC
+/* 008C4 80A1B264 248407BC */ addiu $a0, $a0, %lo(D_060007BC) ## $a0 = 060007BC
/* 008C8 80A1B268 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 008CC 80A1B26C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 008D0 80A1B270 8FA40028 */ lw $a0, 0x0028($sp)
/* 008D4 80A1B274 468021A0 */ cvt.s.w $f6, $f4
-/* 008D8 80A1B278 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
+/* 008D8 80A1B278 3C050600 */ lui $a1, %hi(D_060007BC) ## $a1 = 06000000
/* 008DC 80A1B27C 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
/* 008E0 80A1B280 44070000 */ mfc1 $a3, $f0
/* 008E4 80A1B284 AFA80014 */ sw $t0, 0x0014($sp)
-/* 008E8 80A1B288 24A507BC */ addiu $a1, $a1, 0x07BC ## $a1 = 060007BC
+/* 008E8 80A1B288 24A507BC */ addiu $a1, $a1, %lo(D_060007BC) ## $a1 = 060007BC
/* 008EC 80A1B28C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 008F0 80A1B290 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 008F4 80A1B294 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 008F8 80A1B298 0C029468 */ jal SkelAnime_ChangeAnim
+/* 008F8 80A1B298 0C029468 */ jal Animation_Change
/* 008FC 80A1B29C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00900 80A1B2A0 0C286B0D */ jal func_80A1AC34
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B464.s b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B464.s
index 96964f143b..18e806eee3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B464.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B464.s
@@ -25,24 +25,24 @@ glabel func_80A1B464
/* 00B1C 80A1B4BC 45020015 */ bc1fl .L80A1B514
/* 00B20 80A1B4C0 8FBF002C */ lw $ra, 0x002C($sp)
/* 00B24 80A1B4C4 90580000 */ lbu $t8, 0x0000($v0) ## 80A1CFF0
-/* 00B28 80A1B4C8 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00B2C 80A1B4CC 24841534 */ addiu $a0, $a0, 0x1534 ## $a0 = 06001534
+/* 00B28 80A1B4C8 3C040600 */ lui $a0, %hi(D_06001534) ## $a0 = 06000000
+/* 00B2C 80A1B4CC 24841534 */ addiu $a0, $a0, %lo(D_06001534) ## $a0 = 06001534
/* 00B30 80A1B4D0 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
/* 00B34 80A1B4D4 A0590000 */ sb $t9, 0x0000($v0) ## 80A1CFF0
-/* 00B38 80A1B4D8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B38 80A1B4D8 0C028800 */ jal Animation_GetLastFrame
/* 00B3C 80A1B4DC AE080354 */ sw $t0, 0x0354($s0) ## 00000354
/* 00B40 80A1B4E0 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
/* 00B44 80A1B4E4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 00B48 80A1B4E8 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
+/* 00B48 80A1B4E8 3C050600 */ lui $a1, %hi(D_06001534) ## $a1 = 06000000
/* 00B4C 80A1B4EC 468042A0 */ cvt.s.w $f10, $f8
/* 00B50 80A1B4F0 44070000 */ mfc1 $a3, $f0
-/* 00B54 80A1B4F4 24A51534 */ addiu $a1, $a1, 0x1534 ## $a1 = 06001534
+/* 00B54 80A1B4F4 24A51534 */ addiu $a1, $a1, %lo(D_06001534) ## $a1 = 06001534
/* 00B58 80A1B4F8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00B5C 80A1B4FC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B60 80A1B500 AFA00014 */ sw $zero, 0x0014($sp)
/* 00B64 80A1B504 E7AA0010 */ swc1 $f10, 0x0010($sp)
-/* 00B68 80A1B508 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B68 80A1B508 0C029468 */ jal Animation_Change
/* 00B6C 80A1B50C E7A00018 */ swc1 $f0, 0x0018($sp)
.L80A1B510:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B524.s b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B524.s
index 665a1c2322..f4734fbd63 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B524.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B524.s
@@ -26,22 +26,22 @@ glabel func_80A1B524
/* 00BD0 80A1B570 44085000 */ mfc1 $t0, $f10
/* 00BD4 80A1B574 00000000 */ nop
/* 00BD8 80A1B578 A4880032 */ sh $t0, 0x0032($a0) ## 00000032
-/* 00BDC 80A1B57C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
-/* 00BE0 80A1B580 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00BDC 80A1B57C 3C040600 */ lui $a0, %hi(D_060007BC) ## $a0 = 06000000
+/* 00BE0 80A1B580 0C028800 */ jal Animation_GetLastFrame
-/* 00BE4 80A1B584 248407BC */ addiu $a0, $a0, 0x07BC ## $a0 = 060007BC
+/* 00BE4 80A1B584 248407BC */ addiu $a0, $a0, %lo(D_060007BC) ## $a0 = 060007BC
/* 00BE8 80A1B588 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
/* 00BEC 80A1B58C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 00BF0 80A1B590 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
+/* 00BF0 80A1B590 3C050600 */ lui $a1, %hi(D_060007BC) ## $a1 = 06000000
/* 00BF4 80A1B594 468084A0 */ cvt.s.w $f18, $f16
/* 00BF8 80A1B598 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
/* 00BFC 80A1B59C 44070000 */ mfc1 $a3, $f0
/* 00C00 80A1B5A0 AFA90014 */ sw $t1, 0x0014($sp)
-/* 00C04 80A1B5A4 24A507BC */ addiu $a1, $a1, 0x07BC ## $a1 = 060007BC
+/* 00C04 80A1B5A4 24A507BC */ addiu $a1, $a1, %lo(D_060007BC) ## $a1 = 060007BC
/* 00C08 80A1B5A8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00C0C 80A1B5AC E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00C10 80A1B5B0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 00C14 80A1B5B4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00C14 80A1B5B4 0C029468 */ jal Animation_Change
/* 00C18 80A1B5B8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00C1C 80A1B5BC 3C0A80A2 */ lui $t2, %hi(func_80A1B778) ## $t2 = 80A20000
@@ -50,24 +50,24 @@ glabel func_80A1B524
/* 00C28 80A1B5C8 AE0A0354 */ sw $t2, 0x0354($s0) ## 00000354
.L80A1B5CC:
/* 00C2C 80A1B5CC 920B0379 */ lbu $t3, 0x0379($s0) ## 00000379
-/* 00C30 80A1B5D0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
+/* 00C30 80A1B5D0 3C040600 */ lui $a0, %hi(D_060007BC) ## $a0 = 06000000
/* 00C34 80A1B5D4 51600014 */ beql $t3, $zero, .L80A1B628
/* 00C38 80A1B5D8 8FBF002C */ lw $ra, 0x002C($sp)
-/* 00C3C 80A1B5DC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00C3C 80A1B5DC 0C028800 */ jal Animation_GetLastFrame
-/* 00C40 80A1B5E0 248407BC */ addiu $a0, $a0, 0x07BC ## $a0 = 060007BC
+/* 00C40 80A1B5E0 248407BC */ addiu $a0, $a0, %lo(D_060007BC) ## $a0 = 060007BC
/* 00C44 80A1B5E4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00C48 80A1B5E8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 00C4C 80A1B5EC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
+/* 00C4C 80A1B5EC 3C050600 */ lui $a1, %hi(D_060007BC) ## $a1 = 06000000
/* 00C50 80A1B5F0 468021A0 */ cvt.s.w $f6, $f4
/* 00C54 80A1B5F4 240C0002 */ addiu $t4, $zero, 0x0002 ## $t4 = 00000002
/* 00C58 80A1B5F8 44070000 */ mfc1 $a3, $f0
/* 00C5C 80A1B5FC AFAC0014 */ sw $t4, 0x0014($sp)
-/* 00C60 80A1B600 24A507BC */ addiu $a1, $a1, 0x07BC ## $a1 = 060007BC
+/* 00C60 80A1B600 24A507BC */ addiu $a1, $a1, %lo(D_060007BC) ## $a1 = 060007BC
/* 00C64 80A1B604 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00C68 80A1B608 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00C6C 80A1B60C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 00C70 80A1B610 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00C70 80A1B610 0C029468 */ jal Animation_Change
/* 00C74 80A1B614 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00C78 80A1B618 3C0D80A2 */ lui $t5, %hi(func_80A1B638) ## $t5 = 80A20000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B638.s b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B638.s
index 935f05ccd7..bbb4d65014 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B638.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B638.s
@@ -41,23 +41,23 @@ glabel func_80A1B638
/* 00D24 80A1B6C4 27A5003C */ addiu $a1, $sp, 0x003C ## $a1 = FFFFFFFC
/* 00D28 80A1B6C8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00D2C 80A1B6CC 10400015 */ beq $v0, $zero, .L80A1B724
-/* 00D30 80A1B6D0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
+/* 00D30 80A1B6D0 3C040600 */ lui $a0, %hi(D_060011C0) ## $a0 = 06000000
/* 00D34 80A1B6D4 A2000379 */ sb $zero, 0x0379($s0) ## 00000379
/* 00D38 80A1B6D8 E600006C */ swc1 $f0, 0x006C($s0) ## 0000006C
-/* 00D3C 80A1B6DC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00D3C 80A1B6DC 0C028800 */ jal Animation_GetLastFrame
-/* 00D40 80A1B6E0 248411C0 */ addiu $a0, $a0, 0x11C0 ## $a0 = 060011C0
+/* 00D40 80A1B6E0 248411C0 */ addiu $a0, $a0, %lo(D_060011C0) ## $a0 = 060011C0
/* 00D44 80A1B6E4 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
/* 00D48 80A1B6E8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 00D4C 80A1B6EC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
+/* 00D4C 80A1B6EC 3C050600 */ lui $a1, %hi(D_060011C0) ## $a1 = 06000000
/* 00D50 80A1B6F0 46809120 */ cvt.s.w $f4, $f18
/* 00D54 80A1B6F4 44070000 */ mfc1 $a3, $f0
-/* 00D58 80A1B6F8 24A511C0 */ addiu $a1, $a1, 0x11C0 ## $a1 = 060011C0
+/* 00D58 80A1B6F8 24A511C0 */ addiu $a1, $a1, %lo(D_060011C0) ## $a1 = 060011C0
/* 00D5C 80A1B6FC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00D60 80A1B700 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00D64 80A1B704 AFA00014 */ sw $zero, 0x0014($sp)
/* 00D68 80A1B708 E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 00D6C 80A1B70C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00D6C 80A1B70C 0C029468 */ jal Animation_Change
/* 00D70 80A1B710 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00D74 80A1B714 3C0F80A2 */ lui $t7, %hi(func_80A1B524) ## $t7 = 80A20000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B778.s b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B778.s
index 04e35daf56..6e7d8f9a92 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B778.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1B778.s
@@ -56,25 +56,25 @@ glabel func_80A1B778
/* 00EA0 80A1B840 4502001F */ bc1fl .L80A1B8C0
/* 00EA4 80A1B844 8FBF002C */ lw $ra, 0x002C($sp)
/* 00EA8 80A1B848 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
-/* 00EAC 80A1B84C 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
+/* 00EAC 80A1B84C 3C040600 */ lui $a0, %hi(D_06001534) ## $a0 = 06000000
/* 00EB0 80A1B850 4608303C */ c.lt.s $f6, $f8
/* 00EB4 80A1B854 00000000 */ nop
/* 00EB8 80A1B858 45020019 */ bc1fl .L80A1B8C0
/* 00EBC 80A1B85C 8FBF002C */ lw $ra, 0x002C($sp)
-/* 00EC0 80A1B860 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00EC0 80A1B860 0C028800 */ jal Animation_GetLastFrame
-/* 00EC4 80A1B864 24841534 */ addiu $a0, $a0, 0x1534 ## $a0 = 06001534
+/* 00EC4 80A1B864 24841534 */ addiu $a0, $a0, %lo(D_06001534) ## $a0 = 06001534
/* 00EC8 80A1B868 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
/* 00ECC 80A1B86C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
-/* 00ED0 80A1B870 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
+/* 00ED0 80A1B870 3C050600 */ lui $a1, %hi(D_06001534) ## $a1 = 06000000
/* 00ED4 80A1B874 46805420 */ cvt.s.w $f16, $f10
/* 00ED8 80A1B878 44070000 */ mfc1 $a3, $f0
-/* 00EDC 80A1B87C 24A51534 */ addiu $a1, $a1, 0x1534 ## $a1 = 06001534
+/* 00EDC 80A1B87C 24A51534 */ addiu $a1, $a1, %lo(D_06001534) ## $a1 = 06001534
/* 00EE0 80A1B880 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00EE4 80A1B884 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00EE8 80A1B888 AFA00014 */ sw $zero, 0x0014($sp)
/* 00EEC 80A1B88C E7B00010 */ swc1 $f16, 0x0010($sp)
-/* 00EF0 80A1B890 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00EF0 80A1B890 0C029468 */ jal Animation_Change
/* 00EF4 80A1B894 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00EF8 80A1B898 3C1980A2 */ lui $t9, %hi(func_80A1B22C) ## $t9 = 80A20000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1BB34.s b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1BB34.s
index be64974371..6419a95764 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1BB34.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1BB34.s
@@ -49,10 +49,10 @@ glabel func_80A1BB34
/* 01230 80A1BBD0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01234 80A1BBD4 0C286BFC */ jal func_80A1AFF0
/* 01238 80A1BBD8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
-/* 0123C 80A1BBDC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0123C 80A1BBDC 0C02927F */ jal SkelAnime_Update
/* 01240 80A1BBE0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 01244 80A1BBE4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01244 80A1BBE4 0C02927F */ jal SkelAnime_Update
/* 01248 80A1BBE8 260402B0 */ addiu $a0, $s0, 0x02B0 ## $a0 = 000002B0
/* 0124C 80A1BBEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fz/func_80A218A8.s b/asm/non_matchings/overlays/actors/ovl_En_Fz/func_80A218A8.s
index 567d91f42a..791c62d1b7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Fz/func_80A218A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Fz/func_80A218A8.s
@@ -49,8 +49,8 @@ glabel func_80A218A8
/* 01B68 80A21928 1B000078 */ blez $t8, .L80A21B0C
/* 01B6C 80A2192C 8FB400C4 */ lw $s4, 0x00C4($sp)
/* 01B70 80A21930 0281A021 */ addu $s4, $s4, $at
-/* 01B74 80A21934 3C020600 */ lui $v0, 0x0600 ## $v0 = 06000000
-/* 01B78 80A21938 24423158 */ addiu $v0, $v0, 0x3158 ## $v0 = 06003158
+/* 01B74 80A21934 3C020600 */ lui $v0, %hi(D_06003158) ## $v0 = 06000000
+/* 01B78 80A21938 24423158 */ addiu $v0, $v0, %lo(D_06003158) ## $v0 = 06003158
/* 01B7C 80A2193C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 01B80 80A21940 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 01B84 80A21944 0041B824 */ and $s7, $v0, $at
@@ -67,8 +67,8 @@ glabel func_80A218A8
/* 01BB0 80A21970 AC4D0000 */ sw $t5, 0x0000($v0) ## 06003158
/* 01BB4 80A21974 16A00017 */ bne $s5, $zero, .L80A219D4
/* 01BB8 80A21978 AC400004 */ sw $zero, 0x0004($v0) ## 0600315C
-/* 01BBC 80A2197C 3C020600 */ lui $v0, 0x0600 ## $v0 = 06000000
-/* 01BC0 80A21980 244230A0 */ addiu $v0, $v0, 0x30A0 ## $v0 = 060030A0
+/* 01BBC 80A2197C 3C020600 */ lui $v0, %hi(D_060030A0) ## $v0 = 06000000
+/* 01BC0 80A21980 244230A0 */ addiu $v0, $v0, %lo(D_060030A0) ## $v0 = 060030A0
/* 01BC4 80A21984 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 01BC8 80A21988 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 01BCC 80A2198C 00412824 */ and $a1, $v0, $at
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Update.s
index 3d7a7a1a9a..da0a61102c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Update.s
@@ -12,7 +12,7 @@ glabel EnGb_Update
/* 00C1C 80A2FD9C 00A09825 */ or $s3, $a1, $zero ## $s3 = 00000000
/* 00C20 80A2FDA0 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
/* 00C24 80A2FDA4 A48F0380 */ sh $t7, 0x0380($a0) ## 00000380
-/* 00C28 80A2FDA8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00C28 80A2FDA8 0C02927F */ jal SkelAnime_Update
/* 00C2C 80A2FDAC 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
/* 00C30 80A2FDB0 8E590238 */ lw $t9, 0x0238($s2) ## 00000238
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F7C0.s b/asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F7C0.s
index e0e1e1b9f2..7bb3338b0a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F7C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2F7C0.s
@@ -3,7 +3,7 @@ glabel func_80A2F7C0
/* 00644 80A2F7C4 AFA40028 */ sw $a0, 0x0028($sp)
/* 00648 80A2F7C8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0064C 80A2F7CC 3C040601 */ lui $a0, %hi(D_0600C8EC) ## $a0 = 06010000
-/* 00650 80A2F7D0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00650 80A2F7D0 0C028800 */ jal Animation_GetLastFrame
/* 00654 80A2F7D4 2484C8EC */ addiu $a0, $a0, %lo(D_0600C8EC) ## $a0 = 0600C8EC
/* 00658 80A2F7D8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80A2F7C0
/* 0067C 80A2F7FC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00680 80A2F800 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00684 80A2F804 24840164 */ addiu $a0, $a0, 0x0164 ## $a0 = 00000164
-/* 00688 80A2F808 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00688 80A2F808 0C029468 */ jal Animation_Change
/* 0068C 80A2F80C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00690 80A2F810 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FC70.s b/asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FC70.s
index e3a7698b0c..89619dbfd9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FC70.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Gb/func_80A2FC70.s
@@ -5,7 +5,7 @@ glabel func_80A2FC70
/* 00AFC 80A2FC7C AFBF002C */ sw $ra, 0x002C($sp)
/* 00B00 80A2FC80 3C040601 */ lui $a0, %hi(D_0600C8EC) ## $a0 = 06010000
/* 00B04 80A2FC84 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00B08 80A2FC88 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B08 80A2FC88 0C028800 */ jal Animation_GetLastFrame
/* 00B0C 80A2FC8C 2484C8EC */ addiu $a0, $a0, %lo(D_0600C8EC) ## $a0 = 0600C8EC
/* 00B10 80A2FC90 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -17,7 +17,7 @@ glabel func_80A2FC70
/* 00B28 80A2FCA8 00000000 */ nop
/* 00B2C 80A2FCAC 45020014 */ bc1fl .L80A2FD00
/* 00B30 80A2FCB0 44818000 */ mtc1 $at, $f16 ## $f16 = 18.00
-/* 00B34 80A2FCB4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B34 80A2FCB4 0C028800 */ jal Animation_GetLastFrame
/* 00B38 80A2FCB8 2484049C */ addiu $a0, $a0, %lo(D_0600049C) ## $a0 = 0600049C
/* 00B3C 80A2FCBC 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -30,7 +30,7 @@ glabel func_80A2FC70
/* 00B58 80A2FCD8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B5C 80A2FCDC AFA00014 */ sw $zero, 0x0014($sp)
/* 00B60 80A2FCE0 E7AA0010 */ swc1 $f10, 0x0010($sp)
-/* 00B64 80A2FCE4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B64 80A2FCE4 0C029468 */ jal Animation_Change
/* 00B68 80A2FCE8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00B6C 80A2FCEC 3C0E80A3 */ lui $t6, %hi(func_80A2F83C) ## $t6 = 80A30000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Init.s
index 5cb6a57d94..d6abfc7f9c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Init.s
@@ -37,7 +37,7 @@ glabel EnGe1_Init
/* 00060 80A309D0 8FA40044 */ lw $a0, 0x0044($sp)
/* 00064 80A309D4 3C050600 */ lui $a1, %hi(D_06000228) ## $a1 = 06000000
/* 00068 80A309D8 24A50228 */ addiu $a1, $a1, %lo(D_06000228) ## $a1 = 06000228
-/* 0006C 80A309DC 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 0006C 80A309DC 0C02947A */ jal Animation_PlayOnce
/* 00070 80A309E0 8FA40030 */ lw $a0, 0x0030($sp)
/* 00074 80A309E4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00078 80A309E8 AFA50030 */ sw $a1, 0x0030($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30C70.s b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30C70.s
index 5e0a1260d9..96c860ed5d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30C70.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30C70.s
@@ -19,7 +19,7 @@ glabel func_80A30C70
/* 00344 80A30CB4 AE0F02B8 */ sw $t7, 0x02B8($s0) ## 000002B8
/* 00348 80A30CB8 A61902AC */ sh $t9, 0x02AC($s0) ## 000002AC
/* 0034C 80A30CBC AE0402B0 */ sw $a0, 0x02B0($s0) ## 000002B0
-/* 00350 80A30CC0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00350 80A30CC0 0C028800 */ jal Animation_GetLastFrame
/* 00354 80A30CC4 AE0E02B4 */ sw $t6, 0x02B4($s0) ## 000002B4
/* 00358 80A30CC8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -34,7 +34,7 @@ glabel func_80A30C70
/* 0037C 80A30CEC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00380 80A30CF0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00384 80A30CF4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00388 80A30CF8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00388 80A30CF8 0C029468 */ jal Animation_Change
/* 0038C 80A30CFC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00390 80A30D00 1000000C */ beq $zero, $zero, .L80A30D34
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30D48.s b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30D48.s
index f97e0d86cc..e156c45d99 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30D48.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A30D48.s
@@ -3,7 +3,7 @@ glabel func_80A30D48
/* 003DC 80A30D4C AFA40028 */ sw $a0, 0x0028($sp)
/* 003E0 80A30D50 AFBF0024 */ sw $ra, 0x0024($sp)
/* 003E4 80A30D54 3C040600 */ lui $a0, %hi(D_06000228) ## $a0 = 06000000
-/* 003E8 80A30D58 0C028800 */ jal SkelAnime_GetFrameCount
+/* 003E8 80A30D58 0C028800 */ jal Animation_GetLastFrame
/* 003EC 80A30D5C 24840228 */ addiu $a0, $a0, %lo(D_06000228) ## $a0 = 06000228
/* 003F0 80A30D60 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_80A30D48
/* 0041C 80A30D8C 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 00420 80A30D90 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00424 80A30D94 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
-/* 00428 80A30D98 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00428 80A30D98 0C029468 */ jal Animation_Change
/* 0042C 80A30D9C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00430 80A30DA0 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A312E4.s b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A312E4.s
index b1af15cf5f..b4412af5d7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A312E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A312E4.s
@@ -16,7 +16,7 @@ glabel func_80A312E4
/* 009AC 80A3131C 25CE1234 */ addiu $t6, $t6, %lo(func_80A31234) ## $t6 = 80A31234
/* 009B0 80A31320 3C040601 */ lui $a0, %hi(D_0600A048) ## $a0 = 06010000
/* 009B4 80A31324 AE0E02B4 */ sw $t6, 0x02B4($s0) ## 000002B4
-/* 009B8 80A31328 0C028800 */ jal SkelAnime_GetFrameCount
+/* 009B8 80A31328 0C028800 */ jal Animation_GetLastFrame
/* 009BC 80A3132C 2484A048 */ addiu $a0, $a0, %lo(D_0600A048) ## $a0 = 0600A048
/* 009C0 80A31330 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -31,7 +31,7 @@ glabel func_80A312E4
/* 009E4 80A31354 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 009E8 80A31358 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 009EC 80A3135C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 009F0 80A31360 0C029468 */ jal SkelAnime_ChangeAnim
+/* 009F0 80A31360 0C029468 */ jal Animation_Change
/* 009F4 80A31364 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 009F8 80A31368 960802AC */ lhu $t0, 0x02AC($s0) ## 000002AC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A316F4.s b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A316F4.s
index 1d0ab9d980..2f21b2349e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A316F4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A316F4.s
@@ -20,7 +20,7 @@ glabel func_80A316F4
/* 00DCC 80A3173C 27181644 */ addiu $t8, $t8, %lo(func_80A31644) ## $t8 = 80A31644
/* 00DD0 80A31740 3C040601 */ lui $a0, %hi(D_0600A048) ## $a0 = 06010000
/* 00DD4 80A31744 AE1802B4 */ sw $t8, 0x02B4($s0) ## 000002B4
-/* 00DD8 80A31748 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00DD8 80A31748 0C028800 */ jal Animation_GetLastFrame
/* 00DDC 80A3174C 2484A048 */ addiu $a0, $a0, %lo(D_0600A048) ## $a0 = 0600A048
/* 00DE0 80A31750 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -35,7 +35,7 @@ glabel func_80A316F4
/* 00E04 80A31774 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00E08 80A31778 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00E0C 80A3177C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00E10 80A31780 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00E10 80A31780 0C029468 */ jal Animation_Change
/* 00E14 80A31784 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00E18 80A31788 960A02AC */ lhu $t2, 0x02AC($s0) ## 000002AC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31880.s b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31880.s
index afb1cfdaf0..777cdb1420 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31880.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A31880.s
@@ -24,7 +24,7 @@ glabel func_80A31880
/* 00F64 80A318D4 2484A498 */ addiu $a0, $a0, %lo(D_0600A498) ## $a0 = 0600A498
/* 00F68 80A318D8 25EF23B0 */ addiu $t7, $t7, %lo(func_80A323B0) ## $t7 = 80A323B0
/* 00F6C 80A318DC AC4F02B8 */ sw $t7, 0x02B8($v0) ## 000002B8
-/* 00F70 80A318E0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00F70 80A318E0 0C028800 */ jal Animation_GetLastFrame
/* 00F74 80A318E4 AC4402B0 */ sw $a0, 0x02B0($v0) ## 000002B0
/* 00F78 80A318E8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -40,7 +40,7 @@ glabel func_80A31880
/* 00FA0 80A31910 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00FA4 80A31914 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00FA8 80A31918 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00FAC 80A3191C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00FAC 80A3191C 0C029468 */ jal Animation_Change
/* 00FB0 80A31920 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
.L80A31924:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323B0.s b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323B0.s
index b37ba19c47..c5d09f6d42 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323B0.s
@@ -3,13 +3,13 @@ glabel func_80A323B0
/* 01A44 80A323B4 AFA40020 */ sw $a0, 0x0020($sp)
/* 01A48 80A323B8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01A4C 80A323BC 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
-/* 01A50 80A323C0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01A50 80A323C0 0C02927F */ jal SkelAnime_Update
/* 01A54 80A323C4 AFA4001C */ sw $a0, 0x001C($sp)
/* 01A58 80A323C8 10400004 */ beq $v0, $zero, .L80A323DC
/* 01A5C 80A323CC 8FA4001C */ lw $a0, 0x001C($sp)
/* 01A60 80A323D0 8FAE0020 */ lw $t6, 0x0020($sp)
-/* 01A64 80A323D4 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 01A64 80A323D4 0C02947A */ jal Animation_PlayOnce
/* 01A68 80A323D8 8DC502B0 */ lw $a1, 0x02B0($t6) ## 000002B0
.L80A323DC:
/* 01A6C 80A323DC 8FBF0014 */ lw $ra, 0x0014($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323EC.s b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323EC.s
index caa24113af..119057d2ce 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge1/func_80A323EC.s
@@ -7,7 +7,7 @@ glabel func_80A323EC
/* 01A90 80A32400 31CF0004 */ andi $t7, $t6, 0x0004 ## $t7 = 00000000
/* 01A94 80A32404 55E0000C */ bnel $t7, $zero, .L80A32438
/* 01A98 80A32408 8FBF0014 */ lw $ra, 0x0014($sp)
-/* 01A9C 80A3240C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01A9C 80A3240C 0C02927F */ jal SkelAnime_Update
/* 01AA0 80A32410 AFA50018 */ sw $a1, 0x0018($sp)
/* 01AA4 80A32414 10400004 */ beq $v0, $zero, .L80A32428
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Init.s
index 2501a80de1..7c0b1fd0fb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Init.s
@@ -36,7 +36,7 @@ glabel EnGe2_Init
/* 00100 80A32CD0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00104 80A32CD4 3C050601 */ lui $a1, %hi(D_06009ED4) ## $a1 = 06010000
/* 00108 80A32CD8 24A59ED4 */ addiu $a1, $a1, %lo(D_06009ED4) ## $a1 = 06009ED4
-/* 0010C 80A32CDC 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 0010C 80A32CDC 0C0294BE */ jal Animation_PlayLoop
/* 00110 80A32CE0 8FA40030 */ lw $a0, 0x0030($sp)
/* 00114 80A32CE4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00118 80A32CE8 AFA50030 */ sw $a1, 0x0030($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A32BD0.s b/asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A32BD0.s
index 70fd7dbbbd..8ff08750e1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A32BD0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A32BD0.s
@@ -12,7 +12,7 @@ glabel func_80A32BD0
/* 00028 80A32BF8 00581821 */ addu $v1, $v0, $t8
/* 0002C 80A32BFC AC8E0308 */ sw $t6, 0x0308($a0) ## 00000308
/* 00030 80A32C00 AFA30028 */ sw $v1, 0x0028($sp)
-/* 00034 80A32C04 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00034 80A32C04 0C028800 */ jal Animation_GetLastFrame
/* 00038 80A32C08 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 0003C 80A32C0C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -31,7 +31,7 @@ glabel func_80A32BD0
/* 00070 80A32C40 AFA80014 */ sw $t0, 0x0014($sp)
/* 00074 80A32C44 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 00078 80A32C48 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 0007C 80A32C4C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0007C 80A32C4C 0C029468 */ jal Animation_Change
/* 00080 80A32C50 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
/* 00084 80A32C54 8FA20030 */ lw $v0, 0x0030($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33BE8.s b/asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33BE8.s
index 635080b80e..f05ba08d6b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33BE8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge2/func_80A33BE8.s
@@ -30,7 +30,7 @@ glabel func_80A33BE8
/* 01080 80A33C50 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 01084 80A33C54 57000009 */ bnel $t8, $zero, .L80A33C7C
/* 01088 80A33C58 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 0108C 80A33C5C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0108C 80A33C5C 0C02927F */ jal SkelAnime_Update
/* 01090 80A33C60 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 01094 80A33C64 50400005 */ beql $v0, $zero, .L80A33C7C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge3/EnGe3_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Ge3/EnGe3_Init.s
index 6ea835f675..d417ffab9b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge3/EnGe3_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge3/EnGe3_Init.s
@@ -26,7 +26,7 @@ glabel EnGe3_Init
/* 00100 80A34720 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00104 80A34724 3C050601 */ lui $a1, %hi(D_0600B07C) ## $a1 = 06010000
/* 00108 80A34728 24A5B07C */ addiu $a1, $a1, %lo(D_0600B07C) ## $a1 = 0600B07C
-/* 0010C 80A3472C 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 0010C 80A3472C 0C0294BE */ jal Animation_PlayLoop
/* 00110 80A34730 8FA40034 */ lw $a0, 0x0034($sp)
/* 00114 80A34734 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00118 80A34738 AFA50034 */ sw $a1, 0x0034($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge3/func_80A34620.s b/asm/non_matchings/overlays/actors/ovl_En_Ge3/func_80A34620.s
index f054af6e08..1ef02f2cb7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge3/func_80A34620.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge3/func_80A34620.s
@@ -12,7 +12,7 @@ glabel func_80A34620
/* 00028 80A34648 00581821 */ addu $v1, $v0, $t8
/* 0002C 80A3464C AC8E0310 */ sw $t6, 0x0310($a0) ## 00000310
/* 00030 80A34650 AFA30028 */ sw $v1, 0x0028($sp)
-/* 00034 80A34654 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00034 80A34654 0C028800 */ jal Animation_GetLastFrame
/* 00038 80A34658 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 0003C 80A3465C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -31,7 +31,7 @@ glabel func_80A34620
/* 00070 80A34690 AFA80014 */ sw $t0, 0x0014($sp)
/* 00074 80A34694 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 00078 80A34698 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 0007C 80A3469C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0007C 80A3469C 0C029468 */ jal Animation_Change
/* 00080 80A346A0 24840198 */ addiu $a0, $a0, 0x0198 ## $a0 = 00000198
/* 00084 80A346A4 8FA20030 */ lw $v0, 0x0030($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge3/func_80A34C40.s b/asm/non_matchings/overlays/actors/ovl_En_Ge3/func_80A34C40.s
index 083167afdb..b20c1c9c8e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ge3/func_80A34C40.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ge3/func_80A34C40.s
@@ -30,7 +30,7 @@ glabel func_80A34C40
/* 00688 80A34CA8 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 0068C 80A34CAC 57000009 */ bnel $t8, $zero, .L80A34CD4
/* 00690 80A34CB0 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 00694 80A34CB4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00694 80A34CB4 0C02927F */ jal SkelAnime_Update
/* 00698 80A34CB8 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 0069C 80A34CBC 50400005 */ beql $v0, $zero, .L80A34CD4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Init.s
index 2b3c8bd855..da774f83b5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Init.s
@@ -149,7 +149,7 @@ glabel L80A3FCC8
/* 017DC 80A3FD4C 8FBF002C */ lw $ra, 0x002C($sp)
glabel L80A3FD50
/* 017E0 80A3FD50 3C040600 */ lui $a0, %hi(D_06004930) ## $a0 = 06000000
-/* 017E4 80A3FD54 0C028800 */ jal SkelAnime_GetFrameCount
+/* 017E4 80A3FD54 0C028800 */ jal Animation_GetLastFrame
/* 017E8 80A3FD58 24844930 */ addiu $a0, $a0, %lo(D_06004930) ## $a0 = 06004930
/* 017EC 80A3FD5C 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Update.s
index 30dc24e402..586638a4ba 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Update.s
@@ -17,7 +17,7 @@ glabel EnGo_Update
/* 02914 80A40E84 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 02918 80A40E88 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 0291C 80A40E8C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0291C 80A40E8C 0C02927F */ jal SkelAnime_Update
/* 02920 80A40E90 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02924 80A40E94 8E020190 */ lw $v0, 0x0190($s0) ## 00000190
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A3EDE0.s b/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A3EDE0.s
index fc884415db..333a756588 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A3EDE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A3EDE0.s
@@ -21,7 +21,7 @@ glabel func_80A3EDE0
/* 008B4 80A3EE24 03281821 */ addu $v1, $t9, $t0
/* 008B8 80A3EE28 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 008BC 80A3EE2C AFA3002C */ sw $v1, 0x002C($sp)
-/* 008C0 80A3EE30 0C028800 */ jal SkelAnime_GetFrameCount
+/* 008C0 80A3EE30 0C028800 */ jal Animation_GetLastFrame
/* 008C4 80A3EE34 E7A00030 */ swc1 $f0, 0x0030($sp)
/* 008C8 80A3EE38 8FA3002C */ lw $v1, 0x002C($sp)
@@ -39,7 +39,7 @@ glabel func_80A3EDE0
/* 008F8 80A3EE68 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 008FC 80A3EE6C 44063000 */ mfc1 $a2, $f6
/* 00900 80A3EE70 AFA90014 */ sw $t1, 0x0014($sp)
-/* 00904 80A3EE74 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00904 80A3EE74 0C029468 */ jal Animation_Change
/* 00908 80A3EE78 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 0090C 80A3EE7C 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A405CC.s b/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A405CC.s
index b07e31a477..0fd21ab91b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A405CC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A405CC.s
@@ -5,7 +5,7 @@ glabel func_80A405CC
/* 02068 80A405D8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0206C 80A405DC 3C040600 */ lui $a0, %hi(D_06004930) ## $a0 = 06000000
/* 02070 80A405E0 AFA50034 */ sw $a1, 0x0034($sp)
-/* 02074 80A405E4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02074 80A405E4 0C028800 */ jal Animation_GetLastFrame
/* 02078 80A405E8 24844930 */ addiu $a0, $a0, %lo(D_06004930) ## $a0 = 06004930
/* 0207C 80A405EC 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A40A54.s b/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A40A54.s
index 1ea1068f2b..c05a9027c6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A40A54.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A40A54.s
@@ -5,7 +5,7 @@ glabel func_80A40A54
/* 024F0 80A40A60 AFBF001C */ sw $ra, 0x001C($sp)
/* 024F4 80A40A64 3C040601 */ lui $a0, %hi(D_06010590) ## $a0 = 06010000
/* 024F8 80A40A68 AFA50024 */ sw $a1, 0x0024($sp)
-/* 024FC 80A40A6C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 024FC 80A40A6C 0C028800 */ jal Animation_GetLastFrame
/* 02500 80A40A70 24840590 */ addiu $a0, $a0, %lo(D_06010590) ## $a0 = 06010590
/* 02504 80A40A74 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -35,7 +35,7 @@ glabel func_80A40A54
/* 02560 80A40AD0 0C28FB78 */ jal func_80A3EDE0
/* 02564 80A40AD4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 02568 80A40AD8 3C040600 */ lui $a0, %hi(D_06004930) ## $a0 = 06000000
-/* 0256C 80A40ADC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0256C 80A40ADC 0C028800 */ jal Animation_GetLastFrame
/* 02570 80A40AE0 24844930 */ addiu $a0, $a0, %lo(D_06004930) ## $a0 = 06004930
/* 02574 80A40AE4 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A40DCC.s b/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A40DCC.s
index fcf4bbc7d0..0baac01a32 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A40DCC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go/func_80A40DCC.s
@@ -11,7 +11,7 @@ glabel func_80A40DCC
/* 02880 80A40DF0 0C28FB78 */ jal func_80A3EDE0
/* 02884 80A40DF4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 02888 80A40DF8 3C040600 */ lui $a0, %hi(D_06004930) ## $a0 = 06000000
-/* 0288C 80A40DFC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0288C 80A40DFC 0C028800 */ jal Animation_GetLastFrame
/* 02890 80A40E00 24844930 */ addiu $a0, $a0, %lo(D_06004930) ## $a0 = 06004930
/* 02894 80A40E04 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Update.s
index 1792116d1e..081b843f76 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Update.s
@@ -14,7 +14,7 @@ glabel EnGo2_Update
/* 04B8C 80A478BC 26050220 */ addiu $a1, $s0, 0x0220 ## $a1 = 00000220
/* 04B90 80A478C0 0C291680 */ jal func_80A45A00
/* 04B94 80A478C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 04B98 80A478C8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04B98 80A478C8 0C02927F */ jal SkelAnime_Update
/* 04B9C 80A478CC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 04BA0 80A478D0 0C29151B */ jal func_80A4546C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A4696C.s b/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A4696C.s
index 2b0cf33b50..45bcd6fba9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A4696C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A4696C.s
@@ -19,7 +19,7 @@ glabel func_80A4696C
/* 03C54 80A46984 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03C58 80A46988 31CF001F */ andi $t7, $t6, 0x001F ## $t7 = 00000000
/* 03C5C 80A4698C A3AF0037 */ sb $t7, 0x0037($sp)
-/* 03C60 80A46990 0C0295B2 */ jal func_800A56C8
+/* 03C60 80A46990 0C0295B2 */ jal Animation_OnFrame
/* 03C64 80A46994 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
/* 03C68 80A46998 50400024 */ beql $v0, $zero, .L80A46A2C
/* 03C6C 80A4699C C6020164 */ lwc1 $f2, 0x0164($s0) ## 00000164
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A46B40.s b/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A46B40.s
index b1614b8274..4b8d321e93 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A46B40.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A46B40.s
@@ -43,7 +43,7 @@ glabel func_80A46B40
.L80A46BC4:
/* 03E94 80A46BC4 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
/* 03E98 80A46BC8 A3A30027 */ sb $v1, 0x0027($sp)
-/* 03E9C 80A46BCC 0C0295B2 */ jal func_800A56C8
+/* 03E9C 80A46BCC 0C0295B2 */ jal Animation_OnFrame
/* 03EA0 80A46BD0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 03EA4 80A46BD4 10400017 */ beq $v0, $zero, .L80A46C34
/* 03EA8 80A46BD8 93A30027 */ lbu $v1, 0x0027($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A46D5C.s b/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A46D5C.s
index 48d9d4a33b..5939725b58 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A46D5C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A46D5C.s
@@ -5,7 +5,7 @@ glabel func_80A46D5C
/* 04038 80A46D68 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0403C 80A46D6C 8CC5015C */ lw $a1, 0x015C($a2) ## 0000015C
/* 04040 80A46D70 AFA60018 */ sw $a2, 0x0018($sp)
-/* 04044 80A46D74 0C0295B2 */ jal func_800A56C8
+/* 04044 80A46D74 0C0295B2 */ jal Animation_OnFrame
/* 04048 80A46D78 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0404C 80A46D7C 1040000B */ beq $v0, $zero, .L80A46DAC
/* 04050 80A46D80 8FA60018 */ lw $a2, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A4725C.s b/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A4725C.s
index 80633581c9..6c54ea56e3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A4725C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Go2/func_80A4725C.s
@@ -110,7 +110,7 @@ glabel func_80A4725C
/* 046C4 80A473F4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A473F8:
/* 046C8 80A473F8 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 046CC 80A473FC 0C0295B2 */ jal func_800A56C8
+/* 046CC 80A473FC 0C0295B2 */ jal Animation_OnFrame
/* 046D0 80A47400 AFA40028 */ sw $a0, 0x0028($sp)
/* 046D4 80A47404 50400003 */ beql $v0, $zero, .L80A47414
/* 046D8 80A47408 8FA40034 */ lw $a0, 0x0034($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/EnGoma_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/EnGoma_Init.s
index 4467907384..1732fc81a7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/EnGoma_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/EnGoma_Init.s
@@ -183,7 +183,7 @@ glabel EnGoma_Init
/* 00220 80A490E0 8FA40044 */ lw $a0, 0x0044($sp)
/* 00224 80A490E4 3C050600 */ lui $a1, %hi(D_06001548) ## $a1 = 06000000
/* 00228 80A490E8 24A51548 */ addiu $a1, $a1, %lo(D_06001548) ## $a1 = 06001548
-/* 0022C 80A490EC 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 0022C 80A490EC 0C0294BE */ jal Animation_PlayLoop
/* 00230 80A490F0 8FA40034 */ lw $a0, 0x0034($sp)
/* 00234 80A490F4 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00238 80A490F8 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49294.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49294.s
index ac52fa9ddc..86f35eb2eb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49294.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49294.s
@@ -4,7 +4,7 @@ glabel func_80A49294
/* 003DC 80A4929C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 003E0 80A492A0 AFBF002C */ sw $ra, 0x002C($sp)
/* 003E4 80A492A4 3C040600 */ lui $a0, %hi(D_06003D78) ## $a0 = 06000000
-/* 003E8 80A492A8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 003E8 80A492A8 0C028800 */ jal Animation_GetLastFrame
/* 003EC 80A492AC 24843D78 */ addiu $a0, $a0, %lo(D_06003D78) ## $a0 = 06003D78
/* 003F0 80A492B0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80A49294
/* 00410 80A492D0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00414 80A492D4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00418 80A492D8 AFA00014 */ sw $zero, 0x0014($sp)
-/* 0041C 80A492DC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0041C 80A492DC 0C029468 */ jal Animation_Change
/* 00420 80A492E0 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00424 80A492E4 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49338.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49338.s
index 6527cd5900..7fdc275f3e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49338.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49338.s
@@ -4,7 +4,7 @@ glabel func_80A49338
/* 00480 80A49340 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00484 80A49344 AFBF001C */ sw $ra, 0x001C($sp)
/* 00488 80A49348 AFA50024 */ sw $a1, 0x0024($sp)
-/* 0048C 80A4934C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0048C 80A4934C 0C02927F */ jal SkelAnime_Update
/* 00490 80A49350 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00494 80A49354 3C0540D5 */ lui $a1, 0x40D5 ## $a1 = 40D50000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A498A8.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A498A8.s
index 31310f6e6d..48ceb78dad 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A498A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A498A8.s
@@ -5,7 +5,7 @@ glabel func_80A498A8
/* 009F4 80A498B4 AFBF002C */ sw $ra, 0x002C($sp)
/* 009F8 80A498B8 3C040600 */ lui $a0, %hi(D_06000544) ## $a0 = 06000000
/* 009FC 80A498BC AFA50034 */ sw $a1, 0x0034($sp)
-/* 00A00 80A498C0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00A00 80A498C0 0C028800 */ jal Animation_GetLastFrame
/* 00A04 80A498C4 24840544 */ addiu $a0, $a0, %lo(D_06000544) ## $a0 = 06000544
/* 00A08 80A498C8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80A498A8
/* 00A28 80A498E8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00A2C 80A498EC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00A30 80A498F0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 00A34 80A498F4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00A34 80A498F4 0C029468 */ jal Animation_Change
/* 00A38 80A498F8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00A3C 80A498FC 3C0F80A5 */ lui $t7, %hi(func_80A49974) ## $t7 = 80A50000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49974.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49974.s
index 092c42547d..7faa906629 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49974.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49974.s
@@ -5,7 +5,7 @@ glabel func_80A49974
/* 00AC0 80A49980 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00AC4 80A49984 AFA40018 */ sw $a0, 0x0018($sp)
/* 00AC8 80A49988 AFA50018 */ sw $a1, 0x0018($sp)
-/* 00ACC 80A4998C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00ACC 80A4998C 0C02927F */ jal SkelAnime_Update
/* 00AD0 80A49990 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AD4 80A49994 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A499BC.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A499BC.s
index ba465c60a3..55fac25351 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A499BC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A499BC.s
@@ -5,7 +5,7 @@ glabel func_80A499BC
/* 00B08 80A499C8 AFBF002C */ sw $ra, 0x002C($sp)
/* 00B0C 80A499CC 3C040600 */ lui $a0, %hi(D_06000838) ## $a0 = 06000000
/* 00B10 80A499D0 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00B14 80A499D4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B14 80A499D4 0C028800 */ jal Animation_GetLastFrame
/* 00B18 80A499D8 24840838 */ addiu $a0, $a0, %lo(D_06000838) ## $a0 = 06000838
/* 00B1C 80A499DC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_80A499BC
/* 00B40 80A49A00 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00B44 80A49A04 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B48 80A49A08 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00B4C 80A49A0C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B4C 80A49A0C 0C029468 */ jal Animation_Change
/* 00B50 80A49A10 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00B54 80A49A14 821800AF */ lb $t8, 0x00AF($s0) ## 000000AF
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49AA8.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49AA8.s
index eca9ce234a..28e5955f2b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49AA8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49AA8.s
@@ -4,7 +4,7 @@ glabel func_80A49AA8
/* 00BF0 80A49AB0 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00BF4 80A49AB4 AFA5001C */ sw $a1, 0x001C($sp)
/* 00BF8 80A49AB8 AFA70018 */ sw $a3, 0x0018($sp)
-/* 00BFC 80A49ABC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00BFC 80A49ABC 0C02927F */ jal SkelAnime_Update
/* 00C00 80A49AC0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00C04 80A49AC4 8FA70018 */ lw $a3, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49B30.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49B30.s
index ab7d25dd01..d61dcaf2ea 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49B30.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49B30.s
@@ -4,7 +4,7 @@ glabel func_80A49B30
/* 00C78 80A49B38 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00C7C 80A49B3C AFBF002C */ sw $ra, 0x002C($sp)
/* 00C80 80A49B40 3C040600 */ lui $a0, %hi(D_06000B78) ## $a0 = 06000000
-/* 00C84 80A49B44 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00C84 80A49B44 0C028800 */ jal Animation_GetLastFrame
/* 00C88 80A49B48 24840B78 */ addiu $a0, $a0, %lo(D_06000B78) ## $a0 = 06000B78
/* 00C8C 80A49B4C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80A49B30
/* 00CB0 80A49B70 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00CB4 80A49B74 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00CB8 80A49B78 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00CBC 80A49B7C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00CBC 80A49B7C 0C029468 */ jal Animation_Change
/* 00CC0 80A49B80 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00CC4 80A49B84 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49BF0.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49BF0.s
index 70d31147a2..379ebb7b21 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49BF0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49BF0.s
@@ -4,7 +4,7 @@ glabel func_80A49BF0
/* 00D38 80A49BF8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D3C 80A49BFC AFBF001C */ sw $ra, 0x001C($sp)
/* 00D40 80A49C00 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00D44 80A49C04 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D44 80A49C04 0C02927F */ jal SkelAnime_Update
/* 00D48 80A49C08 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D4C 80A49C0C 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49C94.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49C94.s
index e5b925104c..69e5932fe1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49C94.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49C94.s
@@ -3,7 +3,7 @@ glabel func_80A49C94
/* 00DD8 80A49C98 AFA40028 */ sw $a0, 0x0028($sp)
/* 00DDC 80A49C9C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00DE0 80A49CA0 3C040600 */ lui $a0, %hi(D_06000334) ## $a0 = 06000000
-/* 00DE4 80A49CA4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00DE4 80A49CA4 0C028800 */ jal Animation_GetLastFrame
/* 00DE8 80A49CA8 24840334 */ addiu $a0, $a0, %lo(D_06000334) ## $a0 = 06000334
/* 00DEC 80A49CAC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80A49C94
/* 00E10 80A49CD0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00E14 80A49CD4 AFA00014 */ sw $zero, 0x0014($sp)
/* 00E18 80A49CD8 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00E1C 80A49CDC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00E1C 80A49CDC 0C029468 */ jal Animation_Change
/* 00E20 80A49CE0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00E24 80A49CE4 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49D0C.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49D0C.s
index c3676561d5..17a040fe3f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49D0C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49D0C.s
@@ -15,7 +15,7 @@ glabel func_80A49D0C
/* 00E54 80A49D14 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00E58 80A49D18 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00E5C 80A49D1C AFA5004C */ sw $a1, 0x004C($sp)
-/* 00E60 80A49D20 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00E60 80A49D20 0C02927F */ jal SkelAnime_Update
/* 00E64 80A49D24 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00E68 80A49D28 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49E80.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49E80.s
index 36e5a6f123..fb40aefdbf 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49E80.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49E80.s
@@ -3,7 +3,7 @@ glabel func_80A49E80
/* 00FC4 80A49E84 AFA40030 */ sw $a0, 0x0030($sp)
/* 00FC8 80A49E88 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00FCC 80A49E8C 3C040600 */ lui $a0, %hi(D_06001548) ## $a0 = 06000000
-/* 00FD0 80A49E90 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00FD0 80A49E90 0C028800 */ jal Animation_GetLastFrame
/* 00FD4 80A49E94 24841548 */ addiu $a0, $a0, %lo(D_06001548) ## $a0 = 06001548
/* 00FD8 80A49E98 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -25,7 +25,7 @@ glabel func_80A49E80
/* 01014 80A49ED4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01018 80A49ED8 2464014C */ addiu $a0, $v1, 0x014C ## $a0 = 0000014C
/* 0101C 80A49EDC E7AA0018 */ swc1 $f10, 0x0018($sp)
-/* 01020 80A49EE0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01020 80A49EE0 0C029468 */ jal Animation_Change
/* 01024 80A49EE4 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 01028 80A49EE8 8FAF0030 */ lw $t7, 0x0030($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49F10.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49F10.s
index 16cf9b7799..908debd51b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49F10.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49F10.s
@@ -3,7 +3,7 @@ glabel func_80A49F10
/* 01054 80A49F14 AFA40028 */ sw $a0, 0x0028($sp)
/* 01058 80A49F18 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0105C 80A49F1C 3C040600 */ lui $a0, %hi(D_06003D78) ## $a0 = 06000000
-/* 01060 80A49F20 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01060 80A49F20 0C028800 */ jal Animation_GetLastFrame
/* 01064 80A49F24 24843D78 */ addiu $a0, $a0, %lo(D_06003D78) ## $a0 = 06003D78
/* 01068 80A49F28 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80A49F10
/* 0108C 80A49F4C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01090 80A49F50 AFA00014 */ sw $zero, 0x0014($sp)
/* 01094 80A49F54 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 01098 80A49F58 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01098 80A49F58 0C029468 */ jal Animation_Change
/* 0109C 80A49F5C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 010A0 80A49F60 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49F94.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49F94.s
index d1115b919c..62f2db8101 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49F94.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A49F94.s
@@ -3,7 +3,7 @@ glabel func_80A49F94
/* 010D8 80A49F98 AFA40028 */ sw $a0, 0x0028($sp)
/* 010DC 80A49F9C AFBF0024 */ sw $ra, 0x0024($sp)
/* 010E0 80A49FA0 3C040600 */ lui $a0, %hi(D_06000E4C) ## $a0 = 06000000
-/* 010E4 80A49FA4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 010E4 80A49FA4 0C028800 */ jal Animation_GetLastFrame
/* 010E8 80A49FA8 24840E4C */ addiu $a0, $a0, %lo(D_06000E4C) ## $a0 = 06000E4C
/* 010EC 80A49FAC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80A49F94
/* 01114 80A49FD4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01118 80A49FD8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 0111C 80A49FDC E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 01120 80A49FE0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01120 80A49FE0 0C029468 */ jal Animation_Change
/* 01124 80A49FE4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01128 80A49FE8 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A010.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A010.s
index 01591e11fa..ad495350fa 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A010.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A010.s
@@ -4,7 +4,7 @@ glabel func_80A4A010
/* 01158 80A4A018 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0115C 80A4A01C AFBF001C */ sw $ra, 0x001C($sp)
/* 01160 80A4A020 AFA5002C */ sw $a1, 0x002C($sp)
-/* 01164 80A4A024 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01164 80A4A024 0C02927F */ jal SkelAnime_Update
/* 01168 80A4A028 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0116C 80A4A02C 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A0A8.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A0A8.s
index 9aa00b9a77..2bea618eb6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A0A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A0A8.s
@@ -3,7 +3,7 @@ glabel func_80A4A0A8
/* 011EC 80A4A0AC AFA40028 */ sw $a0, 0x0028($sp)
/* 011F0 80A4A0B0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 011F4 80A4A0B4 3C040600 */ lui $a0, %hi(D_0600017C) ## $a0 = 06000000
-/* 011F8 80A4A0B8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 011F8 80A4A0B8 0C028800 */ jal Animation_GetLastFrame
/* 011FC 80A4A0BC 2484017C */ addiu $a0, $a0, %lo(D_0600017C) ## $a0 = 0600017C
/* 01200 80A4A0C0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80A4A0A8
/* 01224 80A4A0E4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01228 80A4A0E8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0122C 80A4A0EC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01230 80A4A0F0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01230 80A4A0F0 0C029468 */ jal Animation_Change
/* 01234 80A4A0F4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01238 80A4A0F8 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A120.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A120.s
index d84f8cb7fe..db541c45a3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A120.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A120.s
@@ -4,7 +4,7 @@ glabel func_80A4A120
/* 01268 80A4A128 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 0126C 80A4A12C AFA5001C */ sw $a1, 0x001C($sp)
/* 01270 80A4A130 AFA70018 */ sw $a3, 0x0018($sp)
-/* 01274 80A4A134 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01274 80A4A134 0C02927F */ jal SkelAnime_Update
/* 01278 80A4A138 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0127C 80A4A13C 8FA70018 */ lw $a3, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A18C.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A18C.s
index 013400ca86..d837e7690c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A18C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A18C.s
@@ -4,7 +4,7 @@ glabel func_80A4A18C
/* 012D4 80A4A194 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 012D8 80A4A198 AFBF002C */ sw $ra, 0x002C($sp)
/* 012DC 80A4A19C 3C040600 */ lui $a0, %hi(D_06000544) ## $a0 = 06000000
-/* 012E0 80A4A1A0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 012E0 80A4A1A0 0C028800 */ jal Animation_GetLastFrame
/* 012E4 80A4A1A4 24840544 */ addiu $a0, $a0, %lo(D_06000544) ## $a0 = 06000544
/* 012E8 80A4A1A8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80A4A18C
/* 01308 80A4A1C8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0130C 80A4A1CC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01310 80A4A1D0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 01314 80A4A1D4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01314 80A4A1D4 0C029468 */ jal Animation_Change
/* 01318 80A4A1D8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0131C 80A4A1DC 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A234.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A234.s
index 3a485ed7c8..ab3d06f001 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A234.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A234.s
@@ -8,7 +8,7 @@ glabel func_80A4A234
/* 0138C 80A4A24C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01390 80A4A250 01C17825 */ or $t7, $t6, $at ## $t7 = 01000000
/* 01394 80A4A254 AC8F0004 */ sw $t7, 0x0004($a0) ## 00000004
-/* 01398 80A4A258 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01398 80A4A258 0C02927F */ jal SkelAnime_Update
/* 0139C 80A4A25C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 013A0 80A4A260 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A2EC.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A2EC.s
index 30727f3e66..381e0307c0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A2EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A2EC.s
@@ -4,7 +4,7 @@ glabel func_80A4A2EC
/* 01434 80A4A2F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01438 80A4A2F8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0143C 80A4A2FC AFA50024 */ sw $a1, 0x0024($sp)
-/* 01440 80A4A300 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01440 80A4A300 0C02927F */ jal SkelAnime_Update
/* 01444 80A4A304 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01448 80A4A308 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A368.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A368.s
index 30c71cf19a..5375488fed 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A368.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A368.s
@@ -5,15 +5,15 @@ glabel func_80A4A368
/* 014B4 80A4A374 AFBF001C */ sw $ra, 0x001C($sp)
/* 014B8 80A4A378 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 014BC 80A4A37C AFA5002C */ sw $a1, 0x002C($sp)
-/* 014C0 80A4A380 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 014C0 80A4A380 0C02927F */ jal SkelAnime_Update
/* 014C4 80A4A384 AFA40024 */ sw $a0, 0x0024($sp)
/* 014C8 80A4A388 8FA40024 */ lw $a0, 0x0024($sp)
-/* 014CC 80A4A38C 0C0295B2 */ jal func_800A56C8
+/* 014CC 80A4A38C 0C0295B2 */ jal Animation_OnFrame
/* 014D0 80A4A390 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 014D4 80A4A394 14400005 */ bne $v0, $zero, .L80A4A3AC
/* 014D8 80A4A398 8FA40024 */ lw $a0, 0x0024($sp)
-/* 014DC 80A4A39C 0C0295B2 */ jal func_800A56C8
+/* 014DC 80A4A39C 0C0295B2 */ jal Animation_OnFrame
/* 014E0 80A4A3A0 3C0540A0 */ lui $a1, 0x40A0 ## $a1 = 40A00000
/* 014E4 80A4A3A4 5040000E */ beql $v0, $zero, .L80A4A3E0
/* 014E8 80A4A3A8 3C054055 */ lui $a1, 0x4055 ## $a1 = 40550000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A470.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A470.s
index 0ea5750f8c..d35a322703 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A470.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A470.s
@@ -12,7 +12,7 @@ glabel func_80A4A470
/* 015D8 80A4A498 24A51548 */ addiu $a1, $a1, %lo(D_06001548) ## $a1 = 06001548
/* 015DC 80A4A49C AFA70018 */ sw $a3, 0x0018($sp)
/* 015E0 80A4A4A0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 015E4 80A4A4A4 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 015E4 80A4A4A4 0C0294D3 */ jal Animation_MorphToLoop
/* 015E8 80A4A4A8 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 015EC 80A4A4AC 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 015F0 80A4A4B0 44816000 */ mtc1 $at, $f12 ## $f12 = 15.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A50C.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A50C.s
index 4f309269b2..b35c2c2e9c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A50C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/func_80A4A50C.s
@@ -15,7 +15,7 @@ glabel func_80A4A50C
/* 01680 80A4A540 A60F02C4 */ sh $t7, 0x02C4($s0) ## 000002C4
/* 01684 80A4A544 53000004 */ beql $t8, $zero, .L80A4A558
/* 01688 80A4A548 96190088 */ lhu $t9, 0x0088($s0) ## 00000088
-/* 0168C 80A4A54C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0168C 80A4A54C 0C02927F */ jal SkelAnime_Update
/* 01690 80A4A550 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01694 80A4A554 96190088 */ lhu $t9, 0x0088($s0) ## 00000088
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/EnHorse_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/EnHorse_Init.s
index 12c4a44f49..a06cd3f8b7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/EnHorse_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/EnHorse_Init.s
@@ -398,7 +398,7 @@ glabel EnHorse_Init
/* 01318 80A5C608 01194021 */ addu $t0, $t0, $t9
/* 0131C 80A5C60C 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
/* 01320 80A5C610 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
-/* 01324 80A5C614 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 01324 80A5C614 0C02947A */ jal Animation_PlayOnce
/* 01328 80A5C618 8D050000 */ lw $a1, 0x0000($t0) ## 80A60000
/* 0132C 80A5C61C 24090006 */ addiu $t1, $zero, 0x0006 ## $t1 = 00000006
/* 01330 80A5C620 A2090238 */ sb $t1, 0x0238($s0) ## 00000238
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5CF64.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5CF64.s
index 5ddf54ca71..c6ac7d2492 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5CF64.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5CF64.s
@@ -55,7 +55,7 @@ glabel func_80A5CF64
/* 01D34 80A5D024 8D295E58 */ lw $t1, %lo(D_80A65E58)($t1)
/* 01D38 80A5D028 000A5880 */ sll $t3, $t2, 2
/* 01D3C 80A5D02C 012B6021 */ addu $t4, $t1, $t3
-/* 01D40 80A5D030 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01D40 80A5D030 0C028800 */ jal Animation_GetLastFrame
/* 01D44 80A5D034 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
/* 01D48 80A5D038 8E0D0158 */ lw $t5, 0x0158($s0) ## 00000158
@@ -77,7 +77,7 @@ glabel func_80A5CF64
/* 01D88 80A5D078 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 01D8C 80A5D07C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01D90 80A5D080 8FA70034 */ lw $a3, 0x0034($sp)
-/* 01D94 80A5D084 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01D94 80A5D084 0C029468 */ jal Animation_Change
/* 01D98 80A5D088 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 01D9C 80A5D08C 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D0A0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D0A0.s
index d6e325f735..4b3fba3e97 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D0A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D0A0.s
@@ -62,7 +62,7 @@ glabel func_80A5D0A0
/* 01E7C 80A5D16C 0C29758A */ jal func_80A5D628
/* 01E80 80A5D170 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A5D174:
-/* 01E84 80A5D174 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01E84 80A5D174 0C02927F */ jal SkelAnime_Update
/* 01E88 80A5D178 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 01E8C 80A5D17C 50400004 */ beql $v0, $zero, .L80A5D190
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D1C4.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D1C4.s
index 4686c357ff..b1279f1448 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D1C4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D1C4.s
@@ -14,7 +14,7 @@ glabel func_80A5D1C4
/* 01F04 80A5D1F4 0018C880 */ sll $t9, $t8, 2
/* 01F08 80A5D1F8 01194021 */ addu $t0, $t0, $t9
/* 01F0C 80A5D1FC 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
-/* 01F10 80A5D200 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01F10 80A5D200 0C028800 */ jal Animation_GetLastFrame
/* 01F14 80A5D204 8D040004 */ lw $a0, 0x0004($t0) ## 80A60004
/* 01F18 80A5D208 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -36,7 +36,7 @@ glabel func_80A5D1C4
/* 01F58 80A5D248 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 01F5C 80A5D24C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01F60 80A5D250 8FA70034 */ lw $a3, 0x0034($sp)
-/* 01F64 80A5D254 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01F64 80A5D254 0C029468 */ jal Animation_Change
/* 01F68 80A5D258 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01F6C 80A5D25C 8E190228 */ lw $t9, 0x0228($s0) ## 00000228
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D2C0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D2C0.s
index d79262e9f5..8ef01f914d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D2C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D2C0.s
@@ -62,7 +62,7 @@ glabel func_80A5D2C0
/* 0209C 80A5D38C 0C29758A */ jal func_80A5D628
/* 020A0 80A5D390 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A5D394:
-/* 020A4 80A5D394 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 020A4 80A5D394 0C02927F */ jal SkelAnime_Update
/* 020A8 80A5D398 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 020AC 80A5D39C 50400004 */ beql $v0, $zero, .L80A5D3B0
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D3C0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D3C0.s
index 7f30e9c76f..48b457be27 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D3C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D3C0.s
@@ -13,7 +13,7 @@ glabel func_80A5D3C0
/* 020FC 80A5D3EC 01194021 */ addu $t0, $t0, $t9
/* 02100 80A5D3F0 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
/* 02104 80A5D3F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 02108 80A5D3F8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02108 80A5D3F8 0C028800 */ jal Animation_GetLastFrame
/* 0210C 80A5D3FC 8D040010 */ lw $a0, 0x0010($t0) ## 80A60010
/* 02110 80A5D400 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -35,7 +35,7 @@ glabel func_80A5D3C0
/* 02150 80A5D440 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 02154 80A5D444 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 02158 80A5D448 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 0215C 80A5D44C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0215C 80A5D44C 0C029468 */ jal Animation_Change
/* 02160 80A5D450 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 02164 80A5D454 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D468.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D468.s
index a7cca9f5cd..ff2365a172 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D468.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D468.s
@@ -103,7 +103,7 @@ glabel func_80A5D468
/* 022D0 80A5D5C0 0C29759E */ jal func_80A5D678
/* 022D4 80A5D5C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A5D5C8:
-/* 022D8 80A5D5C8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 022D8 80A5D5C8 0C02927F */ jal SkelAnime_Update
/* 022DC 80A5D5CC 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 022E0 80A5D5D0 50400011 */ beql $v0, $zero, .L80A5D618
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D69C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D69C.s
index 0d2a931b38..831db5a7b4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D69C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D69C.s
@@ -14,7 +14,7 @@ glabel func_80A5D69C
/* 023DC 80A5D6CC 01194021 */ addu $t0, $t0, $t9
/* 023E0 80A5D6D0 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
/* 023E4 80A5D6D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 023E8 80A5D6D8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 023E8 80A5D6D8 0C028800 */ jal Animation_GetLastFrame
/* 023EC 80A5D6DC 8D040010 */ lw $a0, 0x0010($t0) ## 80A60010
/* 023F0 80A5D6E0 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -36,7 +36,7 @@ glabel func_80A5D69C
/* 02430 80A5D720 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 02434 80A5D724 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 02438 80A5D728 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 0243C 80A5D72C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0243C 80A5D72C 0C029468 */ jal Animation_Change
/* 02440 80A5D730 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 02444 80A5D734 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D748.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D748.s
index dcae92920e..05b6e32e54 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D748.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D748.s
@@ -14,7 +14,7 @@ glabel func_80A5D748
/* 02488 80A5D778 0018C880 */ sll $t9, $t8, 2
/* 0248C 80A5D77C 01194021 */ addu $t0, $t0, $t9
/* 02490 80A5D780 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
-/* 02494 80A5D784 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02494 80A5D784 0C02947A */ jal Animation_PlayOnce
/* 02498 80A5D788 8D050010 */ lw $a1, 0x0010($t0) ## 80A60010
/* 0249C 80A5D78C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 024A0 80A5D790 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D79C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D79C.s
index 957fa578d9..96b1b1853d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D79C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5D79C.s
@@ -128,7 +128,7 @@ glabel func_80A5D79C
/* 02670 80A5D960 AE0E01F0 */ sw $t6, 0x01F0($s0) ## 000001F0
/* 02674 80A5D964 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 02678 80A5D968 46083282 */ mul.s $f10, $f6, $f8
-/* 0267C 80A5D96C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0267C 80A5D96C 0C02927F */ jal SkelAnime_Update
/* 02680 80A5D970 E60A01C8 */ swc1 $f10, 0x01C8($s0) ## 000001C8
/* 02684 80A5D974 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DA68.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DA68.s
index 623edc0872..08884ae0a6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DA68.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DA68.s
@@ -12,7 +12,7 @@ glabel func_80A5DA68
/* 027A0 80A5DA90 01194021 */ addu $t0, $t0, $t9
/* 027A4 80A5DA94 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
/* 027A8 80A5DA98 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 027AC 80A5DA9C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 027AC 80A5DA9C 0C028800 */ jal Animation_GetLastFrame
/* 027B0 80A5DAA0 8D040014 */ lw $a0, 0x0014($t0) ## 80A60014
/* 027B4 80A5DAA4 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -34,7 +34,7 @@ glabel func_80A5DA68
/* 027F4 80A5DAE4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 027F8 80A5DAE8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 027FC 80A5DAEC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 02800 80A5DAF0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02800 80A5DAF0 0C029468 */ jal Animation_Change
/* 02804 80A5DAF4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 02808 80A5DAF8 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DB0C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DB0C.s
index bf2953b166..3d887ab77c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DB0C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DB0C.s
@@ -12,7 +12,7 @@ glabel func_80A5DB0C
/* 02844 80A5DB34 0018C880 */ sll $t9, $t8, 2
/* 02848 80A5DB38 01194021 */ addu $t0, $t0, $t9
/* 0284C 80A5DB3C 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
-/* 02850 80A5DB40 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02850 80A5DB40 0C02947A */ jal Animation_PlayOnce
/* 02854 80A5DB44 8D050014 */ lw $a1, 0x0014($t0) ## 80A60014
/* 02858 80A5DB48 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0285C 80A5DB4C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DB58.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DB58.s
index 6ff49f030e..b118712b88 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DB58.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DB58.s
@@ -42,7 +42,7 @@ glabel func_80A5DB58
/* 028F0 80A5DBE0 44818000 */ mtc1 $at, $f16 ## $f16 = 0.38
/* 028F4 80A5DBE4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 028F8 80A5DBE8 46100482 */ mul.s $f18, $f0, $f16
-/* 028FC 80A5DBEC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 028FC 80A5DBEC 0C02927F */ jal SkelAnime_Update
/* 02900 80A5DBF0 E61201C8 */ swc1 $f18, 0x01C8($s0) ## 000001C8
/* 02904 80A5DBF4 50400021 */ beql $v0, $zero, .L80A5DC7C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DCB0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DCB0.s
index dbb5fa5e1c..d11412b8a4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DCB0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DCB0.s
@@ -13,7 +13,7 @@ glabel func_80A5DCB0
/* 029EC 80A5DCDC 01194021 */ addu $t0, $t0, $t9
/* 029F0 80A5DCE0 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
/* 029F4 80A5DCE4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 029F8 80A5DCE8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 029F8 80A5DCE8 0C028800 */ jal Animation_GetLastFrame
/* 029FC 80A5DCEC 8D040018 */ lw $a0, 0x0018($t0) ## 80A60018
/* 02A00 80A5DCF0 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -35,7 +35,7 @@ glabel func_80A5DCB0
/* 02A40 80A5DD30 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 02A44 80A5DD34 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 02A48 80A5DD38 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 02A4C 80A5DD3C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02A4C 80A5DD3C 0C029468 */ jal Animation_Change
/* 02A50 80A5DD40 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 02A54 80A5DD44 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DD58.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DD58.s
index 5c1f279225..42d47aa4b8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DD58.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DD58.s
@@ -15,7 +15,7 @@ glabel func_80A5DD58
/* 02A9C 80A5DD8C 0018C880 */ sll $t9, $t8, 2
/* 02AA0 80A5DD90 01194021 */ addu $t0, $t0, $t9
/* 02AA4 80A5DD94 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
-/* 02AA8 80A5DD98 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02AA8 80A5DD98 0C02947A */ jal Animation_PlayOnce
/* 02AAC 80A5DD9C 8D050018 */ lw $a1, 0x0018($t0) ## 80A60018
/* 02AB0 80A5DDA0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 02AB4 80A5DDA4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DDB0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DDB0.s
index d341199f6e..8f29909a2b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DDB0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DDB0.s
@@ -19,7 +19,7 @@ glabel func_80A5DDB0
/* 02AF0 80A5DDE0 01194021 */ addu $t0, $t0, $t9
/* 02AF4 80A5DDE4 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
/* 02AF8 80A5DDE8 8D050018 */ lw $a1, 0x0018($t0) ## 80A60018
-/* 02AFC 80A5DDEC 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02AFC 80A5DDEC 0C02947A */ jal Animation_PlayOnce
/* 02B00 80A5DDF0 AFA60018 */ sw $a2, 0x0018($sp)
/* 02B04 80A5DDF4 8FA60018 */ lw $a2, 0x0018($sp)
/* 02B08 80A5DDF8 3C0180A6 */ lui $at, %hi(D_80A668C0) ## $at = 80A60000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DE38.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DE38.s
index 25fb7a8957..290d31a2e1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DE38.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5DE38.s
@@ -67,7 +67,7 @@ glabel func_80A5DE38
/* 02C24 80A5DF14 C42468C8 */ lwc1 $f4, %lo(D_80A668C8)($at)
/* 02C28 80A5DF18 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 02C2C 80A5DF1C 46040182 */ mul.s $f6, $f0, $f4
-/* 02C30 80A5DF20 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02C30 80A5DF20 0C02927F */ jal SkelAnime_Update
/* 02C34 80A5DF24 E60601C8 */ swc1 $f6, 0x01C8($s0) ## 000001C8
/* 02C38 80A5DF28 50400034 */ beql $v0, $zero, .L80A5DFFC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E00C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E00C.s
index 6313037883..15e09c5da3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E00C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E00C.s
@@ -45,7 +45,7 @@ glabel func_80A5E00C
/* 02DC0 80A5E0B0 8DEF5E58 */ lw $t7, %lo(D_80A65E58)($t7)
/* 02DC4 80A5E0B4 0018C880 */ sll $t9, $t8, 2
/* 02DC8 80A5E0B8 01F94021 */ addu $t0, $t7, $t9
-/* 02DCC 80A5E0BC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02DCC 80A5E0BC 0C028800 */ jal Animation_GetLastFrame
/* 02DD0 80A5E0C0 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
/* 02DD4 80A5E0C4 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -67,7 +67,7 @@ glabel func_80A5E00C
/* 02E14 80A5E104 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 02E18 80A5E108 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 02E1C 80A5E10C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 02E20 80A5E110 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02E20 80A5E110 0C029468 */ jal Animation_Change
/* 02E24 80A5E114 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 02E28 80A5E118 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E12C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E12C.s
index 4334f31ced..eff9ec226f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E12C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E12C.s
@@ -39,7 +39,7 @@ glabel func_80A5E12C
/* 02EC4 80A5E1B4 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFFC
/* 02EC8 80A5E1B8 0C298C52 */ jal func_80A63148
/* 02ECC 80A5E1BC 27A60032 */ addiu $a2, $sp, 0x0032 ## $a2 = FFFFFFFA
-/* 02ED0 80A5E1C0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02ED0 80A5E1C0 0C02927F */ jal SkelAnime_Update
/* 02ED4 80A5E1C4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 02ED8 80A5E1C8 10400032 */ beq $v0, $zero, .L80A5E294
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E2A8.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E2A8.s
index cee7a232a4..3ccfe7696a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E2A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E2A8.s
@@ -27,7 +27,7 @@ glabel func_80A5E2A8
/* 03018 80A5E308 8D295E58 */ lw $t1, %lo(D_80A65E58)($t1)
/* 0301C 80A5E30C 000A5880 */ sll $t3, $t2, 2
/* 03020 80A5E310 012B6021 */ addu $t4, $t1, $t3
-/* 03024 80A5E314 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03024 80A5E314 0C028800 */ jal Animation_GetLastFrame
/* 03028 80A5E318 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
/* 0302C 80A5E31C 8E0D0158 */ lw $t5, 0x0158($s0) ## 00000158
@@ -49,7 +49,7 @@ glabel func_80A5E2A8
/* 0306C 80A5E35C 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 03070 80A5E360 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 03074 80A5E364 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 03078 80A5E368 0C029468 */ jal SkelAnime_ChangeAnim
+/* 03078 80A5E368 0C029468 */ jal Animation_Change
/* 0307C 80A5E36C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 03080 80A5E370 8E0901F0 */ lw $t1, 0x01F0($s0) ## 000001F0
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E39C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E39C.s
index b510ae0c10..87c8f57038 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E39C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E39C.s
@@ -111,7 +111,7 @@ glabel func_80A5E39C
/* 0322C 80A5E51C 00000000 */ nop
/* 03230 80A5E520 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
.L80A5E524:
-/* 03234 80A5E524 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03234 80A5E524 0C02927F */ jal SkelAnime_Update
/* 03238 80A5E528 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 0323C 80A5E52C 50400012 */ beql $v0, $zero, .L80A5E578
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E5AC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E5AC.s
index 03ae755769..eb57057bbb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E5AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E5AC.s
@@ -13,7 +13,7 @@ glabel func_80A5E5AC
/* 032E8 80A5E5D8 01194021 */ addu $t0, $t0, $t9
/* 032EC 80A5E5DC 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
/* 032F0 80A5E5E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 032F4 80A5E5E4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 032F4 80A5E5E4 0C028800 */ jal Animation_GetLastFrame
/* 032F8 80A5E5E8 8D040010 */ lw $a0, 0x0010($t0) ## 80A60010
/* 032FC 80A5E5EC 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -34,7 +34,7 @@ glabel func_80A5E5AC
/* 03338 80A5E628 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 0333C 80A5E62C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 03340 80A5E630 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 03344 80A5E634 0C029468 */ jal SkelAnime_ChangeAnim
+/* 03344 80A5E634 0C029468 */ jal Animation_Change
/* 03348 80A5E638 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0334C 80A5E63C 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E650.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E650.s
index 7700f8e03b..f1b1809580 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E650.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5E650.s
@@ -189,7 +189,7 @@ glabel func_80A5E650
/* 03614 80A5E904 46105482 */ mul.s $f18, $f10, $f16
/* 03618 80A5E908 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 0361C 80A5E90C 46049182 */ mul.s $f6, $f18, $f4
-/* 03620 80A5E910 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03620 80A5E910 0C02927F */ jal SkelAnime_Update
/* 03624 80A5E914 E60601C8 */ swc1 $f6, 0x01C8($s0) ## 000001C8
/* 03628 80A5E918 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EA1C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EA1C.s
index 1cedb75add..6f7344ce58 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EA1C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EA1C.s
@@ -20,7 +20,7 @@ glabel func_80A5EA1C
/* 03760 80A5EA50 0018C880 */ sll $t9, $t8, 2
/* 03764 80A5EA54 01194021 */ addu $t0, $t0, $t9
/* 03768 80A5EA58 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
-/* 0376C 80A5EA5C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0376C 80A5EA5C 0C028800 */ jal Animation_GetLastFrame
/* 03770 80A5EA60 8D04001C */ lw $a0, 0x001C($t0) ## 80A6001C
/* 03774 80A5EA64 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -42,7 +42,7 @@ glabel func_80A5EA1C
/* 037B4 80A5EAA4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 037B8 80A5EAA8 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 037BC 80A5EAAC 8FA70034 */ lw $a3, 0x0034($sp)
-/* 037C0 80A5EAB0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 037C0 80A5EAB0 0C029468 */ jal Animation_Change
/* 037C4 80A5EAB4 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 037C8 80A5EAB8 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EB54.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EB54.s
index c86074b004..98290b3a3f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EB54.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EB54.s
@@ -64,7 +64,7 @@ glabel func_80A5EB54
/* 0393C 80A5EC2C E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
.L80A5EC30:
/* 03940 80A5EC30 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
-/* 03944 80A5EC34 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03944 80A5EC34 0C02927F */ jal SkelAnime_Update
/* 03948 80A5EC38 E7A2002C */ swc1 $f2, 0x002C($sp)
/* 0394C 80A5EC3C 14400012 */ bne $v0, $zero, .L80A5EC88
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5ED3C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5ED3C.s
index a9db0a2c54..dd2b9400ef 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5ED3C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5ED3C.s
@@ -20,7 +20,7 @@ glabel func_80A5ED3C
/* 03A80 80A5ED70 0018C880 */ sll $t9, $t8, 2
/* 03A84 80A5ED74 01194021 */ addu $t0, $t0, $t9
/* 03A88 80A5ED78 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
-/* 03A8C 80A5ED7C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03A8C 80A5ED7C 0C028800 */ jal Animation_GetLastFrame
/* 03A90 80A5ED80 8D040020 */ lw $a0, 0x0020($t0) ## 80A60020
/* 03A94 80A5ED84 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -42,7 +42,7 @@ glabel func_80A5ED3C
/* 03AD4 80A5EDC4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 03AD8 80A5EDC8 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 03ADC 80A5EDCC 8FA70034 */ lw $a3, 0x0034($sp)
-/* 03AE0 80A5EDD0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 03AE0 80A5EDD0 0C029468 */ jal Animation_Change
/* 03AE4 80A5EDD4 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 03AE8 80A5EDD8 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EE80.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EE80.s
index 28499b02a5..8a1b49271b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EE80.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5EE80.s
@@ -64,7 +64,7 @@ glabel func_80A5EE80
/* 03C68 80A5EF58 E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
.L80A5EF5C:
/* 03C6C 80A5EF5C 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
-/* 03C70 80A5EF60 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03C70 80A5EF60 0C02927F */ jal SkelAnime_Update
/* 03C74 80A5EF64 E7A2002C */ swc1 $f2, 0x002C($sp)
/* 03C78 80A5EF68 14400012 */ bne $v0, $zero, .L80A5EFB4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F1B0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F1B0.s
index a1bcd50248..0e52515614 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F1B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F1B0.s
@@ -98,7 +98,7 @@ glabel func_80A5F1B0
/* 04018 80A5F308 01495021 */ addu $t2, $t2, $t1
/* 0401C 80A5F30C 8D4A5E58 */ lw $t2, %lo(D_80A65E58)($t2)
/* 04020 80A5F310 014B6021 */ addu $t4, $t2, $t3
-/* 04024 80A5F314 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04024 80A5F314 0C028800 */ jal Animation_GetLastFrame
/* 04028 80A5F318 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
/* 0402C 80A5F31C 8E0D0158 */ lw $t5, 0x0158($s0) ## 00000158
@@ -119,7 +119,7 @@ glabel func_80A5F1B0
/* 04068 80A5F358 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 0406C 80A5F35C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04070 80A5F360 8FA7003C */ lw $a3, 0x003C($sp)
-/* 04074 80A5F364 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04074 80A5F364 0C029468 */ jal Animation_Change
/* 04078 80A5F368 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 0407C 80A5F36C 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F414.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F414.s
index 0a4aa0384d..d9f2246741 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F414.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F414.s
@@ -82,7 +82,7 @@ glabel func_80A5F414
/* 04254 80A5F544 0C297D7E */ jal func_80A5F5F8
/* 04258 80A5F548 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
.L80A5F54C:
-/* 0425C 80A5F54C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0425C 80A5F54C 0C02927F */ jal SkelAnime_Update
/* 04260 80A5F550 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 04264 80A5F554 50400024 */ beql $v0, $zero, .L80A5F5E8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F5F8.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F5F8.s
index 374ba8bfb5..7745d586b5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F5F8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F5F8.s
@@ -33,7 +33,7 @@ glabel func_80A5F5F8
/* 0437C 80A5F66C 8D295E58 */ lw $t1, %lo(D_80A65E58)($t1)
/* 04380 80A5F670 00055080 */ sll $t2, $a1, 2
/* 04384 80A5F674 012A5821 */ addu $t3, $t1, $t2
-/* 04388 80A5F678 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04388 80A5F678 0C028800 */ jal Animation_GetLastFrame
/* 0438C 80A5F67C 8D640000 */ lw $a0, 0x0000($t3) ## 00000000
/* 04390 80A5F680 8E0C0158 */ lw $t4, 0x0158($s0) ## 00000158
@@ -54,7 +54,7 @@ glabel func_80A5F5F8
/* 043CC 80A5F6BC 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 043D0 80A5F6C0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 043D4 80A5F6C4 8FA7003C */ lw $a3, 0x003C($sp)
-/* 043D8 80A5F6C8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 043D8 80A5F6C8 0C029468 */ jal Animation_Change
/* 043DC 80A5F6CC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 043E0 80A5F6D0 1000001F */ beq $zero, $zero, .L80A5F750
@@ -67,7 +67,7 @@ glabel func_80A5F5F8
/* 043F8 80A5F6E8 016A5821 */ addu $t3, $t3, $t2
/* 043FC 80A5F6EC 8D6B5E58 */ lw $t3, %lo(D_80A65E58)($t3)
/* 04400 80A5F6F0 016C6821 */ addu $t5, $t3, $t4
-/* 04404 80A5F6F4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04404 80A5F6F4 0C028800 */ jal Animation_GetLastFrame
/* 04408 80A5F6F8 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000
/* 0440C 80A5F6FC 8E0F0158 */ lw $t7, 0x0158($s0) ## 00000158
@@ -88,7 +88,7 @@ glabel func_80A5F5F8
/* 04448 80A5F738 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 0444C 80A5F73C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04450 80A5F740 8FA7003C */ lw $a3, 0x003C($sp)
-/* 04454 80A5F744 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04454 80A5F744 0C029468 */ jal Animation_Change
/* 04458 80A5F748 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 0445C 80A5F74C 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F890.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F890.s
index 1a90e89210..2ad44ae885 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F890.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5F890.s
@@ -87,7 +87,7 @@ glabel func_80A5F890
/* 046B0 80A5F9A0 000FC080 */ sll $t8, $t7, 2
/* 046B4 80A5F9A4 01D8C821 */ addu $t9, $t6, $t8
/* 046B8 80A5F9A8 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
-/* 046BC 80A5F9AC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 046BC 80A5F9AC 0C028800 */ jal Animation_GetLastFrame
/* 046C0 80A5F9B0 E7A00038 */ swc1 $f0, 0x0038($sp)
/* 046C4 80A5F9B4 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -108,7 +108,7 @@ glabel func_80A5F890
/* 04700 80A5F9F0 8D8C5E58 */ lw $t4, %lo(D_80A65E58)($t4)
/* 04704 80A5F9F4 018F7021 */ addu $t6, $t4, $t7
/* 04708 80A5F9F8 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
-/* 0470C 80A5F9FC 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 0470C 80A5F9FC 0C02947A */ jal Animation_PlayOnce
/* 04710 80A5FA00 AFA40030 */ sw $a0, 0x0030($sp)
/* 04714 80A5FA04 8E090228 */ lw $t1, 0x0228($s0) ## 00000228
/* 04718 80A5FA08 8E1801F0 */ lw $t8, 0x01F0($s0) ## 000001F0
@@ -251,7 +251,7 @@ glabel func_80A5F890
/* 04914 80A5FC04 AFAC0014 */ sw $t4, 0x0014($sp)
.L80A5FC08:
-/* 04918 80A5FC08 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04918 80A5FC08 0C02927F */ jal SkelAnime_Update
/* 0491C 80A5FC0C 8FA40030 */ lw $a0, 0x0030($sp)
/* 04920 80A5FC10 50400022 */ beql $v0, $zero, .L80A5FC9C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5FDD4.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5FDD4.s
index 5b79ef7104..2e74f013a7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5FDD4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5FDD4.s
@@ -138,7 +138,7 @@ glabel func_80A5FDD4
/* 04CBC 80A5FFAC 01CD7021 */ addu $t6, $t6, $t5
/* 04CC0 80A5FFB0 8DCE5E58 */ lw $t6, %lo(D_80A65E58)($t6)
/* 04CC4 80A5FFB4 01CFC021 */ addu $t8, $t6, $t7
-/* 04CC8 80A5FFB8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04CC8 80A5FFB8 0C028800 */ jal Animation_GetLastFrame
/* 04CCC 80A5FFBC 8F040000 */ lw $a0, 0x0000($t8) ## 00000000
/* 04CD0 80A5FFC0 8E030210 */ lw $v1, 0x0210($s0) ## 00000210
@@ -169,7 +169,7 @@ glabel func_80A5FDD4
/* 04D34 80A60024 AFAB0014 */ sw $t3, 0x0014($sp)
/* 04D38 80A60028 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 04D3C 80A6002C E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 04D40 80A60030 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04D40 80A60030 0C029468 */ jal Animation_Change
/* 04D44 80A60034 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 04D48 80A60038 10000027 */ beq $zero, $zero, .L80A600D8
@@ -182,7 +182,7 @@ glabel func_80A5FDD4
/* 04D60 80A60050 01CD7021 */ addu $t6, $t6, $t5
/* 04D64 80A60054 8DCE5E58 */ lw $t6, %lo(D_80A65E58)($t6)
/* 04D68 80A60058 01CFC021 */ addu $t8, $t6, $t7
-/* 04D6C 80A6005C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04D6C 80A6005C 0C028800 */ jal Animation_GetLastFrame
/* 04D70 80A60060 8F040000 */ lw $a0, 0x0000($t8) ## 00000000
/* 04D74 80A60064 8E030210 */ lw $v1, 0x0210($s0) ## 00000210
@@ -211,7 +211,7 @@ glabel func_80A5FDD4
/* 04DD0 80A600C0 AFAB0014 */ sw $t3, 0x0014($sp)
/* 04DD4 80A600C4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 04DD8 80A600C8 E7A00018 */ swc1 $f0, 0x0018($sp)
-/* 04DDC 80A600CC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04DDC 80A600CC 0C029468 */ jal Animation_Change
/* 04DE0 80A600D0 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 04DE4 80A600D4 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A600E8.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A600E8.s
index 35ac6f2142..a1720b950b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A600E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A600E8.s
@@ -79,7 +79,7 @@ glabel func_80A600E8
/* 04EFC 80A601EC 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 04F00 80A601F0 00000000 */ nop
.L80A601F4:
-/* 04F04 80A601F4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04F04 80A601F4 0C02927F */ jal SkelAnime_Update
/* 04F08 80A601F8 E60001C8 */ swc1 $f0, 0x01C8($s0) ## 000001C8
/* 04F0C 80A601FC 1440000A */ bne $v0, $zero, .L80A60228
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60294.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60294.s
index d9481a6d48..140293c485 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60294.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60294.s
@@ -25,7 +25,7 @@ glabel func_80A60294
/* 04FEC 80A602DC 248401AC */ addiu $a0, $a0, 0x01AC ## $a0 = 000001AC
/* 04FF0 80A602E0 8D050018 */ lw $a1, 0x0018($t0) ## 80A60018
/* 04FF4 80A602E4 44064000 */ mfc1 $a2, $f8
-/* 04FF8 80A602E8 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 04FF8 80A602E8 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 04FFC 80A602EC 00000000 */ nop
/* 05000 80A602F0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 05004 80A602F4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60300.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60300.s
index 11094ad545..22a2b52e9d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60300.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60300.s
@@ -60,7 +60,7 @@ glabel func_80A60300
/* 050D4 80A603C4 E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
.L80A603C8:
/* 050D8 80A603C8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
-/* 050DC 80A603CC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 050DC 80A603CC 0C02927F */ jal SkelAnime_Update
/* 050E0 80A603D0 AFA40024 */ sw $a0, 0x0024($sp)
/* 050E4 80A603D4 50400019 */ beql $v0, $zero, .L80A6043C
@@ -86,7 +86,7 @@ glabel func_80A60300
/* 05134 80A60424 8FA40024 */ lw $a0, 0x0024($sp)
/* 05138 80A60428 44069000 */ mfc1 $a2, $f18
/* 0513C 80A6042C 016D7021 */ addu $t6, $t3, $t5
-/* 05140 80A60430 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 05140 80A60430 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 05144 80A60434 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
/* 05148 80A60438 8FBF001C */ lw $ra, 0x001C($sp)
.L80A6043C:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60470.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60470.s
index b3bd2f7795..e681b9f8e5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60470.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60470.s
@@ -18,7 +18,7 @@ glabel func_80A60470
/* 051AC 80A6049C 000FC080 */ sll $t8, $t7, 2
/* 051B0 80A604A0 0338C821 */ addu $t9, $t9, $t8
/* 051B4 80A604A4 8F395E58 */ lw $t9, %lo(D_80A65E58)($t9)
-/* 051B8 80A604A8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 051B8 80A604A8 0C028800 */ jal Animation_GetLastFrame
/* 051BC 80A604AC 8F240020 */ lw $a0, 0x0020($t9) ## 80A60020
/* 051C0 80A604B0 8E080158 */ lw $t0, 0x0158($s0) ## 00000158
@@ -40,7 +40,7 @@ glabel func_80A60470
/* 05200 80A604F0 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 05204 80A604F4 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 05208 80A604F8 8FA70034 */ lw $a3, 0x0034($sp)
-/* 0520C 80A604FC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0520C 80A604FC 0C029468 */ jal Animation_Change
/* 05210 80A60500 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 05214 80A60504 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A605E0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A605E0.s
index 58126b190e..be741bd5d5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A605E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A605E0.s
@@ -78,7 +78,7 @@ glabel func_80A605E0
/* 053F0 80A606E0 E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028
.L80A606E4:
/* 053F4 80A606E4 AFA40028 */ sw $a0, 0x0028($sp)
-/* 053F8 80A606E8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 053F8 80A606E8 0C02927F */ jal SkelAnime_Update
/* 053FC 80A606EC E7A2003C */ swc1 $f2, 0x003C($sp)
/* 05400 80A606F0 14400013 */ bne $v0, $zero, .L80A60740
@@ -146,7 +146,7 @@ glabel func_80A605E0
/* 054F0 80A607E0 3C0680A6 */ lui $a2, %hi(D_80A65E78) ## $a2 = 80A60000
/* 054F4 80A607E4 8CC65E78 */ lw $a2, %lo(D_80A65E78)($a2)
/* 054F8 80A607E8 8FA40028 */ lw $a0, 0x0028($sp)
-/* 054FC 80A607EC 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 054FC 80A607EC 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 05500 80A607F0 8F250018 */ lw $a1, 0x0018($t9) ## 80A60018
/* 05504 80A607F4 8E0201CC */ lw $v0, 0x01CC($s0) ## 000001CC
/* 05508 80A607F8 3C0180A6 */ lui $at, %hi(D_80A66910) ## $at = 80A60000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60838.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60838.s
index d0b7d56dc9..94d518a921 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60838.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60838.s
@@ -44,7 +44,7 @@ glabel func_80A60838
/* 055E8 80A608D8 8DEF5E58 */ lw $t7, %lo(D_80A65E58)($t7)
/* 055EC 80A608DC 0018C880 */ sll $t9, $t8, 2
/* 055F0 80A608E0 01F94021 */ addu $t0, $t7, $t9
-/* 055F4 80A608E4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 055F4 80A608E4 0C028800 */ jal Animation_GetLastFrame
/* 055F8 80A608E8 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
/* 055FC 80A608EC 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -66,7 +66,7 @@ glabel func_80A60838
/* 0563C 80A6092C 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 05640 80A60930 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 05644 80A60934 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 05648 80A60938 0C029468 */ jal SkelAnime_ChangeAnim
+/* 05648 80A60938 0C029468 */ jal Animation_Change
/* 0564C 80A6093C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 05650 80A60940 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60954.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60954.s
index 2ab646d779..07e0246e43 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60954.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60954.s
@@ -32,7 +32,7 @@ glabel func_80A60954
.L80A609C8:
/* 056D8 80A609C8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
.L80A609CC:
-/* 056DC 80A609CC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 056DC 80A609CC 0C02927F */ jal SkelAnime_Update
/* 056E0 80A609D0 AFA40030 */ sw $a0, 0x0030($sp)
/* 056E4 80A609D4 50400045 */ beql $v0, $zero, .L80A60AEC
@@ -50,7 +50,7 @@ glabel func_80A60954
/* 05714 80A60A04 8D6B5E58 */ lw $t3, %lo(D_80A65E58)($t3)
/* 05718 80A60A08 00006880 */ sll $t5, $zero, 2
/* 0571C 80A60A0C 016D7021 */ addu $t6, $t3, $t5
-/* 05720 80A60A10 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05720 80A60A10 0C028800 */ jal Animation_GetLastFrame
/* 05724 80A60A14 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000
/* 05728 80A60A18 8E0F0158 */ lw $t7, 0x0158($s0) ## 00000158
@@ -72,7 +72,7 @@ glabel func_80A60954
/* 05768 80A60A58 8FA40030 */ lw $a0, 0x0030($sp)
/* 0576C 80A60A5C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 05770 80A60A60 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 05774 80A60A64 0C029468 */ jal SkelAnime_ChangeAnim
+/* 05774 80A60A64 0C029468 */ jal Animation_Change
/* 05778 80A60A68 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 0577C 80A60A6C 1000001F */ beq $zero, $zero, .L80A60AEC
@@ -86,7 +86,7 @@ glabel func_80A60954
/* 05798 80A60A88 8DCE5E58 */ lw $t6, %lo(D_80A65E58)($t6)
/* 0579C 80A60A8C 000FC080 */ sll $t8, $t7, 2
/* 057A0 80A60A90 01D84021 */ addu $t0, $t6, $t8
-/* 057A4 80A60A94 0C028800 */ jal SkelAnime_GetFrameCount
+/* 057A4 80A60A94 0C028800 */ jal Animation_GetLastFrame
/* 057A8 80A60A98 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
/* 057AC 80A60A9C 8E190158 */ lw $t9, 0x0158($s0) ## 00000158
@@ -106,7 +106,7 @@ glabel func_80A60954
/* 057E4 80A60AD4 8FA40030 */ lw $a0, 0x0030($sp)
/* 057E8 80A60AD8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 057EC 80A60ADC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 057F0 80A60AE0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 057F0 80A60AE0 0C029468 */ jal Animation_Change
/* 057F4 80A60AE4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 057F8 80A60AE8 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60AFC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60AFC.s
index 2b3788a6b7..f0930e66bc 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60AFC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60AFC.s
@@ -54,7 +54,7 @@ glabel func_80A60AFC
/* 058C8 80A60BB8 8D4A5E58 */ lw $t2, %lo(D_80A65E58)($t2)
/* 058CC 80A60BBC 8D450018 */ lw $a1, 0x0018($t2) ## 80A60018
/* 058D0 80A60BC0 44064000 */ mfc1 $a2, $f8
-/* 058D4 80A60BC4 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 058D4 80A60BC4 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 058D8 80A60BC8 00000000 */ nop
/* 058DC 80A60BCC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 058E0 80A60BD0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60BDC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60BDC.s
index 3ad79bc4ec..f93b916347 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60BDC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60BDC.s
@@ -60,7 +60,7 @@ glabel func_80A60BDC
/* 059B0 80A60CA0 E6080068 */ swc1 $f8, 0x0068($s0) ## 00000068
.L80A60CA4:
/* 059B4 80A60CA4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
-/* 059B8 80A60CA8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 059B8 80A60CA8 0C02927F */ jal SkelAnime_Update
/* 059BC 80A60CAC AFA40024 */ sw $a0, 0x0024($sp)
/* 059C0 80A60CB0 50400019 */ beql $v0, $zero, .L80A60D18
@@ -86,7 +86,7 @@ glabel func_80A60BDC
/* 05A10 80A60D00 8FA40024 */ lw $a0, 0x0024($sp)
/* 05A14 80A60D04 44069000 */ mfc1 $a2, $f18
/* 05A18 80A60D08 016D7021 */ addu $t6, $t3, $t5
-/* 05A1C 80A60D0C 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 05A1C 80A60D0C 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 05A20 80A60D10 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000
/* 05A24 80A60D14 8FBF001C */ lw $ra, 0x001C($sp)
.L80A60D18:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60D28.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60D28.s
index 9f0cd05867..e4ec4c4ec9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60D28.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60D28.s
@@ -71,7 +71,7 @@ glabel func_80A60D28
/* 05B44 80A60E34 8DEF5E58 */ lw $t7, %lo(D_80A65E58)($t7)
/* 05B48 80A60E38 0018C880 */ sll $t9, $t8, 2
/* 05B4C 80A60E3C 01F94021 */ addu $t0, $t7, $t9
-/* 05B50 80A60E40 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05B50 80A60E40 0C028800 */ jal Animation_GetLastFrame
/* 05B54 80A60E44 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
/* 05B58 80A60E48 8E090158 */ lw $t1, 0x0158($s0) ## 00000158
@@ -93,7 +93,7 @@ glabel func_80A60D28
/* 05B98 80A60E88 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 05B9C 80A60E8C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 05BA0 80A60E90 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 05BA4 80A60E94 0C029468 */ jal SkelAnime_ChangeAnim
+/* 05BA4 80A60E94 0C029468 */ jal Animation_Change
/* 05BA8 80A60E98 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 05BAC 80A60E9C 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60EB0.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60EB0.s
index 185c676ad5..02499922da 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60EB0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A60EB0.s
@@ -32,7 +32,7 @@ glabel func_80A60EB0
.L80A60F24:
/* 05C34 80A60F24 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
.L80A60F28:
-/* 05C38 80A60F28 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 05C38 80A60F28 0C02927F */ jal SkelAnime_Update
/* 05C3C 80A60F2C AFA40030 */ sw $a0, 0x0030($sp)
/* 05C40 80A60F30 50400045 */ beql $v0, $zero, .L80A61048
@@ -50,7 +50,7 @@ glabel func_80A60EB0
/* 05C70 80A60F60 8D6B5E58 */ lw $t3, %lo(D_80A65E58)($t3)
/* 05C74 80A60F64 00006880 */ sll $t5, $zero, 2
/* 05C78 80A60F68 016D7021 */ addu $t6, $t3, $t5
-/* 05C7C 80A60F6C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05C7C 80A60F6C 0C028800 */ jal Animation_GetLastFrame
/* 05C80 80A60F70 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000
/* 05C84 80A60F74 8E0F0158 */ lw $t7, 0x0158($s0) ## 00000158
@@ -72,7 +72,7 @@ glabel func_80A60EB0
/* 05CC4 80A60FB4 8FA40030 */ lw $a0, 0x0030($sp)
/* 05CC8 80A60FB8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 05CCC 80A60FBC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 05CD0 80A60FC0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 05CD0 80A60FC0 0C029468 */ jal Animation_Change
/* 05CD4 80A60FC4 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 05CD8 80A60FC8 1000001F */ beq $zero, $zero, .L80A61048
@@ -86,7 +86,7 @@ glabel func_80A60EB0
/* 05CF4 80A60FE4 8DCE5E58 */ lw $t6, %lo(D_80A65E58)($t6)
/* 05CF8 80A60FE8 000FC080 */ sll $t8, $t7, 2
/* 05CFC 80A60FEC 01D84021 */ addu $t0, $t6, $t8
-/* 05D00 80A60FF0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 05D00 80A60FF0 0C028800 */ jal Animation_GetLastFrame
/* 05D04 80A60FF4 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
/* 05D08 80A60FF8 8E190158 */ lw $t9, 0x0158($s0) ## 00000158
@@ -106,7 +106,7 @@ glabel func_80A60EB0
/* 05D40 80A61030 8FA40030 */ lw $a0, 0x0030($sp)
/* 05D44 80A61034 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 05D48 80A61038 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 05D4C 80A6103C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 05D4C 80A6103C 0C029468 */ jal Animation_Change
/* 05D50 80A61040 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 05D54 80A61044 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61440.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61440.s
index 3fd5dbe407..001c7c309f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61440.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61440.s
@@ -147,7 +147,7 @@ glabel func_80A61440
/* 0634C 80A6163C 01AC6821 */ addu $t5, $t5, $t4
/* 06350 80A61640 8DAD5E58 */ lw $t5, %lo(D_80A65E58)($t5)
/* 06354 80A61644 01AE7821 */ addu $t7, $t5, $t6
-/* 06358 80A61648 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06358 80A61648 0C028800 */ jal Animation_GetLastFrame
/* 0635C 80A6164C 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 06360 80A61650 8E030210 */ lw $v1, 0x0210($s0) ## 00000210
@@ -178,7 +178,7 @@ glabel func_80A61440
/* 063C4 80A616B4 AFAA0014 */ sw $t2, 0x0014($sp)
/* 063C8 80A616B8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 063CC 80A616BC E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 063D0 80A616C0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 063D0 80A616C0 0C029468 */ jal Animation_Change
/* 063D4 80A616C4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 063D8 80A616C8 10000027 */ beq $zero, $zero, .L80A61768
@@ -191,7 +191,7 @@ glabel func_80A61440
/* 063F0 80A616E0 01AC6821 */ addu $t5, $t5, $t4
/* 063F4 80A616E4 8DAD5E58 */ lw $t5, %lo(D_80A65E58)($t5)
/* 063F8 80A616E8 01AE7821 */ addu $t7, $t5, $t6
-/* 063FC 80A616EC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 063FC 80A616EC 0C028800 */ jal Animation_GetLastFrame
/* 06400 80A616F0 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 06404 80A616F4 8E030210 */ lw $v1, 0x0210($s0) ## 00000210
@@ -220,7 +220,7 @@ glabel func_80A61440
/* 06460 80A61750 AFAA0014 */ sw $t2, 0x0014($sp)
/* 06464 80A61754 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 06468 80A61758 E7A00018 */ swc1 $f0, 0x0018($sp)
-/* 0646C 80A6175C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0646C 80A6175C 0C029468 */ jal Animation_Change
/* 06470 80A61760 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 06474 80A61764 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61778.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61778.s
index 75f50598c3..dab62ab48b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61778.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61778.s
@@ -163,7 +163,7 @@ glabel func_80A61778
/* 066C0 80A619B0 00000000 */ nop
/* 066C4 80A619B4 E4E001C8 */ swc1 $f0, 0x01C8($a3) ## 000001C8
.L80A619B8:
-/* 066C8 80A619B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 066C8 80A619B8 0C02927F */ jal SkelAnime_Update
/* 066CC 80A619BC AFA70028 */ sw $a3, 0x0028($sp)
/* 066D0 80A619C0 1440000A */ bne $v0, $zero, .L80A619EC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61A28.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61A28.s
index 430447db07..366d15de92 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61A28.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A61A28.s
@@ -279,7 +279,7 @@ glabel func_80A61A28
/* 06AE8 80A61DD8 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
.L80A61DDC:
/* 06AEC 80A61DDC AFA40034 */ sw $a0, 0x0034($sp)
-/* 06AF0 80A61DE0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 06AF0 80A61DE0 0C02927F */ jal SkelAnime_Update
/* 06AF4 80A61DE4 AFA6004C */ sw $a2, 0x004C($sp)
/* 06AF8 80A61DE8 8E030210 */ lw $v1, 0x0210($s0) ## 00000210
@@ -305,7 +305,7 @@ glabel func_80A61A28
/* 06B40 80A61E30 8D085E58 */ lw $t0, %lo(D_80A65E58)($t0)
/* 06B44 80A61E34 00064880 */ sll $t1, $a2, 2
/* 06B48 80A61E38 01095021 */ addu $t2, $t0, $t1
-/* 06B4C 80A61E3C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06B4C 80A61E3C 0C028800 */ jal Animation_GetLastFrame
/* 06B50 80A61E40 8D440000 */ lw $a0, 0x0000($t2) ## 00000000
/* 06B54 80A61E44 8E0B0158 */ lw $t3, 0x0158($s0) ## 00000158
@@ -327,7 +327,7 @@ glabel func_80A61A28
/* 06B94 80A61E84 8FA40034 */ lw $a0, 0x0034($sp)
/* 06B98 80A61E88 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 06B9C 80A61E8C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 06BA0 80A61E90 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06BA0 80A61E90 0C029468 */ jal Animation_Change
/* 06BA4 80A61E94 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 06BA8 80A61E98 8E030210 */ lw $v1, 0x0210($s0) ## 00000210
@@ -381,7 +381,7 @@ glabel func_80A61A28
/* 06C54 80A61F44 8D4A5E58 */ lw $t2, %lo(D_80A65E58)($t2)
/* 06C58 80A61F48 00065880 */ sll $t3, $a2, 2
/* 06C5C 80A61F4C 014B6021 */ addu $t4, $t2, $t3
-/* 06C60 80A61F50 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06C60 80A61F50 0C028800 */ jal Animation_GetLastFrame
/* 06C64 80A61F54 8D840000 */ lw $a0, 0x0000($t4) ## 00000000
/* 06C68 80A61F58 8E0E0158 */ lw $t6, 0x0158($s0) ## 00000158
@@ -403,7 +403,7 @@ glabel func_80A61A28
/* 06CA8 80A61F98 8FA40034 */ lw $a0, 0x0034($sp)
/* 06CAC 80A61F9C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 06CB0 80A61FA0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 06CB4 80A61FA4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06CB4 80A61FA4 0C029468 */ jal Animation_Change
/* 06CB8 80A61FA8 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 06CBC 80A61FAC 100000AE */ beq $zero, $zero, .L80A62268
@@ -458,7 +458,7 @@ glabel func_80A61A28
/* 06D68 80A62058 8D6B5E58 */ lw $t3, %lo(D_80A65E58)($t3)
/* 06D6C 80A6205C 000C7080 */ sll $t6, $t4, 2
/* 06D70 80A62060 016E6821 */ addu $t5, $t3, $t6
-/* 06D74 80A62064 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06D74 80A62064 0C028800 */ jal Animation_GetLastFrame
/* 06D78 80A62068 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000
/* 06D7C 80A6206C 8E180158 */ lw $t8, 0x0158($s0) ## 00000158
@@ -480,7 +480,7 @@ glabel func_80A61A28
/* 06DBC 80A620AC 8FA40034 */ lw $a0, 0x0034($sp)
/* 06DC0 80A620B0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 06DC4 80A620B4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 06DC8 80A620B8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06DC8 80A620B8 0C029468 */ jal Animation_Change
/* 06DCC 80A620BC E7B00018 */ swc1 $f16, 0x0018($sp)
/* 06DD0 80A620C0 10000069 */ beq $zero, $zero, .L80A62268
@@ -496,7 +496,7 @@ glabel func_80A61A28
/* 06DF4 80A620E4 8DAD5E58 */ lw $t5, %lo(D_80A65E58)($t5)
/* 06DF8 80A620E8 0006C080 */ sll $t8, $a2, 2
/* 06DFC 80A620EC 01B87821 */ addu $t7, $t5, $t8
-/* 06E00 80A620F0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06E00 80A620F0 0C028800 */ jal Animation_GetLastFrame
/* 06E04 80A620F4 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 06E08 80A620F8 8E080158 */ lw $t0, 0x0158($s0) ## 00000158
@@ -518,7 +518,7 @@ glabel func_80A61A28
/* 06E48 80A62138 8FA40034 */ lw $a0, 0x0034($sp)
/* 06E4C 80A6213C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 06E50 80A62140 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 06E54 80A62144 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06E54 80A62144 0C029468 */ jal Animation_Change
/* 06E58 80A62148 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 06E5C 80A6214C 10000046 */ beq $zero, $zero, .L80A62268
@@ -531,7 +531,7 @@ glabel func_80A61A28
/* 06E74 80A62164 01F87821 */ addu $t7, $t7, $t8
/* 06E78 80A62168 8DEF5E58 */ lw $t7, %lo(D_80A65E58)($t7)
/* 06E7C 80A6216C 01E8C821 */ addu $t9, $t7, $t0
-/* 06E80 80A62170 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06E80 80A62170 0C028800 */ jal Animation_GetLastFrame
/* 06E84 80A62174 8F240000 */ lw $a0, 0x0000($t9) ## 00000000
/* 06E88 80A62178 8E0A0158 */ lw $t2, 0x0158($s0) ## 00000158
@@ -552,7 +552,7 @@ glabel func_80A61A28
/* 06EC4 80A621B4 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 06EC8 80A621B8 8FA40034 */ lw $a0, 0x0034($sp)
/* 06ECC 80A621BC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 06ED0 80A621C0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06ED0 80A621C0 0C029468 */ jal Animation_Change
/* 06ED4 80A621C4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 06ED8 80A621C8 10000027 */ beq $zero, $zero, .L80A62268
@@ -573,7 +573,7 @@ glabel func_80A61A28
/* 06F0C 80A621FC 8F395E58 */ lw $t9, %lo(D_80A65E58)($t9)
/* 06F10 80A62200 00065080 */ sll $t2, $a2, 2
/* 06F14 80A62204 032A4821 */ addu $t1, $t9, $t2
-/* 06F18 80A62208 0C028800 */ jal SkelAnime_GetFrameCount
+/* 06F18 80A62208 0C028800 */ jal Animation_GetLastFrame
/* 06F1C 80A6220C 8D240000 */ lw $a0, 0x0000($t1) ## 00000000
/* 06F20 80A62210 8E0B0158 */ lw $t3, 0x0158($s0) ## 00000158
@@ -595,7 +595,7 @@ glabel func_80A61A28
/* 06F60 80A62250 8FA40034 */ lw $a0, 0x0034($sp)
/* 06F64 80A62254 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 06F68 80A62258 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 06F6C 80A6225C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 06F6C 80A6225C 0C029468 */ jal Animation_Change
/* 06F70 80A62260 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 06F74 80A62264 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A62278.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A62278.s
index 268f6ac076..afd7aa7aec 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A62278.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A62278.s
@@ -84,7 +84,7 @@ glabel func_80A62278
/* 070B0 80A623A0 E6120068 */ swc1 $f18, 0x0068($s0) ## 00000068
/* 070B4 80A623A4 8DAD5E58 */ lw $t5, %lo(D_80A65E58)($t5)
/* 070B8 80A623A8 01AFC021 */ addu $t8, $t5, $t7
-/* 070BC 80A623AC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 070BC 80A623AC 0C028800 */ jal Animation_GetLastFrame
/* 070C0 80A623B0 8F040000 */ lw $a0, 0x0000($t8) ## 00000004
/* 070C4 80A623B4 8E190158 */ lw $t9, 0x0158($s0) ## 00000158
@@ -106,7 +106,7 @@ glabel func_80A62278
/* 07104 80A623F4 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 07108 80A623F8 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 0710C 80A623FC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 07110 80A62400 0C029468 */ jal SkelAnime_ChangeAnim
+/* 07110 80A62400 0C029468 */ jal Animation_Change
/* 07114 80A62404 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 07118 80A62408 8E0F0228 */ lw $t7, 0x0228($s0) ## 00000228
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A6255C.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A6255C.s
index 9513dafcc0..e8940f79f5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A6255C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A6255C.s
@@ -76,7 +76,7 @@ glabel func_80A6255C
/* 07380 80A62670 00063403 */ sra $a2, $a2, 16
/* 07384 80A62674 A486FF0A */ sh $a2, -0x00F6($a0) ## 000000B6
/* 07388 80A62678 A486FE86 */ sh $a2, -0x017A($a0) ## 00000032
-/* 0738C 80A6267C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0738C 80A6267C 0C02927F */ jal SkelAnime_Update
/* 07390 80A62680 AFA50018 */ sw $a1, 0x0018($sp)
/* 07394 80A62684 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A626B8.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A626B8.s
index 1664312e72..19b00b7715 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A626B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A626B8.s
@@ -10,7 +10,7 @@ glabel func_80A626B8
/* 073E8 80A626D8 AFA5002C */ sw $a1, 0x002C($sp)
/* 073EC 80A626DC 248401AC */ addiu $a0, $a0, 0x01AC ## $a0 = 000001AC
/* 073F0 80A626E0 E484FEBC */ swc1 $f4, -0x0144($a0) ## 00000068
-/* 073F4 80A626E4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 073F4 80A626E4 0C02927F */ jal SkelAnime_Update
/* 073F8 80A626E8 E486001C */ swc1 $f6, 0x001C($a0) ## 000001C8
/* 073FC 80A626EC 10400028 */ beq $v0, $zero, .L80A62790
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Hy/EnHy_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Hy/EnHy_Update.s
index 98a0c09dba..02411a581e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Hy/EnHy_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Hy/EnHy_Update.s
@@ -21,7 +21,7 @@ glabel EnHy_Update
/* 02078 80A71628 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0207C 80A7162C 01014821 */ addu $t1, $t0, $at
/* 02080 80A71630 3C018016 */ lui $at, %hi(gSegments+0x18)
-/* 02084 80A71634 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02084 80A71634 0C02927F */ jal SkelAnime_Update
/* 02088 80A71638 AC296FC0 */ sw $t1, %lo(gSegments+0x18)($at)
/* 0208C 80A7163C 0C29C169 */ jal func_80A705A4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_In/EnIn_Update.s b/asm/non_matchings/overlays/actors/ovl_En_In/EnIn_Update.s
index 3b59d6f58f..1ddb7e0ab1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_In/EnIn_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_In/EnIn_Update.s
@@ -34,7 +34,7 @@ glabel EnIn_Update
/* 021D4 80A7B184 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 021D8 80A7B188 11F8001A */ beq $t7, $t8, .L80A7B1F4
/* 021DC 80A7B18C 00000000 */ nop
-/* 021E0 80A7B190 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 021E0 80A7B190 0C02927F */ jal SkelAnime_Update
/* 021E4 80A7B194 AFA4002C */ sw $a0, 0x002C($sp)
/* 021E8 80A7B198 8E080154 */ lw $t0, 0x0154($s0) ## 00000154
diff --git a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A79690.s b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A79690.s
index 019a8abda4..1024c0062b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A79690.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A79690.s
@@ -15,7 +15,7 @@ glabel func_80A79690
/* 00714 80A796C4 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00718 80A796C8 37280003 */ ori $t0, $t9, 0x0003 ## $t0 = 00000003
/* 0071C 80A796CC A0880035 */ sb $t0, 0x0035($a0) ## 00000035
-/* 00720 80A796D0 0C028D88 */ jal SkelAnime_LoadAnimationType5
+/* 00720 80A796D0 0C028D88 */ jal AnimationContext_SetMoveActor
/* 00724 80A796D4 8FA40028 */ lw $a0, 0x0028($sp)
/* 00728 80A796D8 8FBF001C */ lw $ra, 0x001C($sp)
.L80A796DC:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A796EC.s b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A796EC.s
index 89538536e3..2e66ffccf1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A796EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A796EC.s
@@ -7,7 +7,7 @@ glabel func_80A796EC
/* 00750 80A79700 AFA40030 */ sw $a0, 0x0030($sp)
/* 00754 80A79704 01CF1821 */ addu $v1, $t6, $t7
/* 00758 80A79708 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
-/* 0075C 80A7970C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0075C 80A7970C 0C028800 */ jal Animation_GetLastFrame
/* 00760 80A79710 AFA30028 */ sw $v1, 0x0028($sp)
/* 00764 80A79714 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -22,7 +22,7 @@ glabel func_80A796EC
/* 00788 80A79738 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0078C 80A7973C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00790 80A79740 AFB80014 */ sw $t8, 0x0014($sp)
-/* 00794 80A79744 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00794 80A79744 0C029468 */ jal Animation_Change
/* 00798 80A79748 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0079C 80A7974C 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A7975C.s b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A7975C.s
index d8316423ac..420aa6377f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A7975C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A7975C.s
@@ -27,7 +27,7 @@ glabel func_80A7975C
/* 00808 80A797B8 00095080 */ sll $t2, $t1, 2
/* 0080C 80A797BC A20801A6 */ sb $t0, 0x01A6($s0) ## 000001A6
/* 00810 80A797C0 008A2021 */ addu $a0, $a0, $t2
-/* 00814 80A797C4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00814 80A797C4 0C028800 */ jal Animation_GetLastFrame
/* 00818 80A797C8 8C84B918 */ lw $a0, %lo(D_80A7B918)($a0)
/* 0081C 80A797CC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -44,7 +44,7 @@ glabel func_80A7975C
/* 00848 80A797F8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0084C 80A797FC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00850 80A79800 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 00854 80A79804 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00854 80A79804 0C029468 */ jal Animation_Change
/* 00858 80A79808 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0085C 80A7980C 3C0E80A8 */ lui $t6, %hi(func_80A7A304) ## $t6 = 80A80000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A7A304.s b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A7A304.s
index 81777b7ca1..c746675b09 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A7A304.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A7A304.s
@@ -47,7 +47,7 @@ glabel func_80A7A304
.L80A7A398:
/* 013E8 80A7A398 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80A7A39C:
-/* 013EC 80A7A39C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 013EC 80A7A39C 0C02927F */ jal SkelAnime_Update
/* 013F0 80A7A3A0 AFA40034 */ sw $a0, 0x0034($sp)
/* 013F4 80A7A3A4 50400041 */ beql $v0, $zero, .L80A7A4AC
@@ -102,7 +102,7 @@ glabel func_80A7A304
/* 014A0 80A7A450 3C0480A8 */ lui $a0, %hi(D_80A7B918) ## $a0 = 80A80000
/* 014A4 80A7A454 000B6080 */ sll $t4, $t3, 2
/* 014A8 80A7A458 008C2021 */ addu $a0, $a0, $t4
-/* 014AC 80A7A45C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 014AC 80A7A45C 0C028800 */ jal Animation_GetLastFrame
/* 014B0 80A7A460 8C84B918 */ lw $a0, %lo(D_80A7B918)($a0)
/* 014B4 80A7A464 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -120,7 +120,7 @@ glabel func_80A7A304
/* 014E4 80A7A494 8FA40034 */ lw $a0, 0x0034($sp)
/* 014E8 80A7A498 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 014EC 80A7A49C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 014F0 80A7A4A0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 014F0 80A7A4A0 0C029468 */ jal Animation_Change
/* 014F4 80A7A4A4 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 014F8 80A7A4A8 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Init.s
index f5412126c5..bdbb0ca3a4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Init.s
@@ -45,7 +45,7 @@ glabel EnJj_Init
/* 000A8 80A878A8 AFA50044 */ sw $a1, 0x0044($sp)
/* 000AC 80A878AC 3C050600 */ lui $a1, %hi(D_06001F4C) ## $a1 = 06000000
/* 000B0 80A878B0 24A51F4C */ addiu $a1, $a1, %lo(D_06001F4C) ## $a1 = 06001F4C
-/* 000B4 80A878B4 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 000B4 80A878B4 0C0294BE */ jal Animation_PlayLoop
/* 000B8 80A878B8 8FA40044 */ lw $a0, 0x0044($sp)
/* 000BC 80A878BC A600030A */ sh $zero, 0x030A($s0) ## 0000030A
/* 000C0 80A878C0 A200030E */ sb $zero, 0x030E($s0) ## 0000030E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Update.s
index 669939ca8a..efab5774b5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Update.s
@@ -32,7 +32,7 @@ glabel EnJj_Update
.L80A87FC0:
/* 007C0 80A87FC0 0C2A1EC7 */ jal func_80A87B1C
/* 007C4 80A87FC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
-/* 007C8 80A87FC8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 007C8 80A87FC8 0C02927F */ jal SkelAnime_Update
/* 007CC 80A87FCC 26040164 */ addiu $a0, $s0, 0x0164 ## $a0 = 00000164
/* 007D0 80A87FD0 3C053DB2 */ lui $a1, 0x3DB2 ## $a1 = 3DB20000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ko/EnKo_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Ko/EnKo_Update.s
index 5e6cf1fc04..7e8b4b6e44 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ko/EnKo_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ko/EnKo_Update.s
@@ -27,7 +27,7 @@ glabel EnKo_Update
/* 029B8 80A99768 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 029BC 80A9976C 01616021 */ addu $t4, $t3, $at
/* 029C0 80A99770 3C018016 */ lui $at, %hi(gSegments+0x18)
-/* 029C4 80A99774 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 029C4 80A99774 0C02927F */ jal SkelAnime_Update
/* 029C8 80A99778 AC2C6FC0 */ sw $t4, %lo(gSegments+0x18)($at)
/* 029CC 80A9977C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ko/func_80A98174.s b/asm/non_matchings/overlays/actors/ovl_En_Ko/func_80A98174.s
index 1a900bf131..6296e97fa8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ko/func_80A98174.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ko/func_80A98174.s
@@ -8,7 +8,7 @@ glabel func_80A98174
/* 013DC 80A9818C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 013E0 80A98190 11C0000A */ beq $t6, $zero, .L80A981BC
/* 013E4 80A98194 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
-/* 013E8 80A98198 0C0295B2 */ jal func_800A56C8
+/* 013E8 80A98198 0C0295B2 */ jal Animation_OnFrame
/* 013EC 80A9819C 3C054190 */ lui $a1, 0x4190 ## $a1 = 41900000
/* 013F0 80A981A0 10400004 */ beq $v0, $zero, .L80A981B4
/* 013F4 80A981A4 00000000 */ nop
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Init.s
index 7a9eaaa471..e58e699dad 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Init.s
@@ -33,7 +33,7 @@ glabel EnMk_Init
/* 00078 80AAC978 8FA40044 */ lw $a0, 0x0044($sp)
/* 0007C 80AAC97C 3C050600 */ lui $a1, %hi(D_06000D88) ## $a1 = 06000000
/* 00080 80AAC980 24A50D88 */ addiu $a1, $a1, %lo(D_06000D88) ## $a1 = 06000D88
-/* 00084 80AAC984 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00084 80AAC984 0C0294BE */ jal Animation_PlayLoop
/* 00088 80AAC988 8FA40034 */ lw $a0, 0x0034($sp)
/* 0008C 80AAC98C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00090 80AAC990 AFA50034 */ sw $a1, 0x0034($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Update.s
index 22ec3315cb..54b7bd7ecd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Update.s
@@ -37,7 +37,7 @@ glabel EnMk_Update
/* 00A3C 80AAD33C 31F80002 */ andi $t8, $t7, 0x0002 ## $t8 = 00000000
/* 00A40 80AAD340 57000009 */ bnel $t8, $zero, .L80AAD368
/* 00A44 80AAD344 8E190284 */ lw $t9, 0x0284($s0) ## 00000284
-/* 00A48 80AAD348 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00A48 80AAD348 0C02927F */ jal SkelAnime_Update
/* 00A4C 80AAD34C 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 00A50 80AAD350 50400005 */ beql $v0, $zero, .L80AAD368
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACC04.s b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACC04.s
index 252ad121e5..1b8157a36c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACC04.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACC04.s
@@ -16,7 +16,7 @@ glabel func_80AACC04
/* 00338 80AACC38 3C040600 */ lui $a0, %hi(D_06000D88) ## $a0 = 06000000
/* 0033C 80AACC3C A60F0282 */ sh $t7, 0x0282($s0) ## 00000282
/* 00340 80AACC40 AE180284 */ sw $t8, 0x0284($s0) ## 00000284
-/* 00344 80AACC44 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00344 80AACC44 0C028800 */ jal Animation_GetLastFrame
/* 00348 80AACC48 24840D88 */ addiu $a0, $a0, %lo(D_06000D88) ## $a0 = 06000D88
/* 0034C 80AACC4C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -30,7 +30,7 @@ glabel func_80AACC04
/* 0036C 80AACC6C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00370 80AACC70 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00374 80AACC74 AFA00014 */ sw $zero, 0x0014($sp)
-/* 00378 80AACC78 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00378 80AACC78 0C029468 */ jal Animation_Change
/* 0037C 80AACC7C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00380 80AACC80 9619027E */ lhu $t9, 0x027E($s0) ## 0000027E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACCA0.s b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACCA0.s
index 5d2392cabe..14178c0cbc 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACCA0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACCA0.s
@@ -19,7 +19,7 @@ glabel func_80AACCA0
/* 003E0 80AACCE0 3C040600 */ lui $a0, %hi(D_06000724) ## $a0 = 06000000
/* 003E4 80AACCE4 A6190282 */ sh $t9, 0x0282($s0) ## 00000282
/* 003E8 80AACCE8 AE080284 */ sw $t0, 0x0284($s0) ## 00000284
-/* 003EC 80AACCEC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 003EC 80AACCEC 0C028800 */ jal Animation_GetLastFrame
/* 003F0 80AACCF0 24840724 */ addiu $a0, $a0, %lo(D_06000724) ## $a0 = 06000724
/* 003F4 80AACCF4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -33,7 +33,7 @@ glabel func_80AACCA0
/* 00414 80AACD14 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00418 80AACD18 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0041C 80AACD1C AFA00014 */ sw $zero, 0x0014($sp)
-/* 00420 80AACD20 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00420 80AACD20 0C029468 */ jal Animation_Change
/* 00424 80AACD24 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00428 80AACD28 9609027E */ lhu $t1, 0x027E($s0) ## 0000027E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACD48.s b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACD48.s
index 9e675b2a80..1be3cbace2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACD48.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACD48.s
@@ -30,7 +30,7 @@ glabel func_80AACD48
/* 004B8 80AACDB8 3C040600 */ lui $a0, %hi(D_06000D88) ## $a0 = 06000000
/* 004BC 80AACDBC A3200693 */ sb $zero, 0x0693($t9) ## 00000693
/* 004C0 80AACDC0 A6080282 */ sh $t0, 0x0282($s0) ## 00000282
-/* 004C4 80AACDC4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 004C4 80AACDC4 0C028800 */ jal Animation_GetLastFrame
/* 004C8 80AACDC8 24840D88 */ addiu $a0, $a0, %lo(D_06000D88) ## $a0 = 06000D88
/* 004CC 80AACDCC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -44,7 +44,7 @@ glabel func_80AACD48
/* 004EC 80AACDEC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 004F0 80AACDF0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 004F4 80AACDF4 AFA00014 */ sw $zero, 0x0014($sp)
-/* 004F8 80AACDF8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 004F8 80AACDF8 0C029468 */ jal Animation_Change
/* 004FC 80AACDFC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00500 80AACE00 9609027E */ lhu $t1, 0x027E($s0) ## 0000027E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACE2C.s b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACE2C.s
index d26874e0a3..e0265bdd1e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACE2C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACE2C.s
@@ -16,7 +16,7 @@ glabel func_80AACE2C
/* 00564 80AACE64 0C042DC8 */ jal func_8010B720
/* 00568 80AACE68 24054001 */ addiu $a1, $zero, 0x4001 ## $a1 = 00004001
/* 0056C 80AACE6C 3C040600 */ lui $a0, %hi(D_06000AC0) ## $a0 = 06000000
-/* 00570 80AACE70 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00570 80AACE70 0C028800 */ jal Animation_GetLastFrame
/* 00574 80AACE74 24840AC0 */ addiu $a0, $a0, %lo(D_06000AC0) ## $a0 = 06000AC0
/* 00578 80AACE78 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -31,7 +31,7 @@ glabel func_80AACE2C
/* 0059C 80AACE9C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 005A0 80AACEA0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 005A4 80AACEA4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 005A8 80AACEA8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 005A8 80AACEA8 0C029468 */ jal Animation_Change
/* 005AC 80AACEAC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 005B0 80AACEB0 960F027E */ lhu $t7, 0x027E($s0) ## 0000027E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACEE8.s b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACEE8.s
index 48e74c7c31..9873f6612b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACEE8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AACEE8.s
@@ -16,7 +16,7 @@ glabel func_80AACEE8
/* 00620 80AACF20 0C042DC8 */ jal func_8010B720
/* 00624 80AACF24 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000
/* 00628 80AACF28 3C040600 */ lui $a0, %hi(D_06000AC0) ## $a0 = 06000000
-/* 0062C 80AACF2C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0062C 80AACF2C 0C028800 */ jal Animation_GetLastFrame
/* 00630 80AACF30 24840AC0 */ addiu $a0, $a0, %lo(D_06000AC0) ## $a0 = 06000AC0
/* 00634 80AACF34 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -30,7 +30,7 @@ glabel func_80AACEE8
/* 00654 80AACF54 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00658 80AACF58 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0065C 80AACF5C AFA00014 */ sw $zero, 0x0014($sp)
-/* 00660 80AACF60 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00660 80AACF60 0C029468 */ jal Animation_Change
/* 00664 80AACF64 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00668 80AACF68 960E027E */ lhu $t6, 0x027E($s0) ## 0000027E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AAD080.s b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AAD080.s
index c15d43fe2c..cf4692c939 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AAD080.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mk/func_80AAD080.s
@@ -90,7 +90,7 @@ glabel func_80AAD080
/* 008C4 80AAD1C4 25ADCEE8 */ addiu $t5, $t5, %lo(func_80AACEE8) ## $t5 = 80AACEE8
/* 008C8 80AAD1C8 3C040600 */ lui $a0, %hi(D_06000368) ## $a0 = 06000000
/* 008CC 80AAD1CC AE0D0284 */ sw $t5, 0x0284($s0) ## 00000284
-/* 008D0 80AAD1D0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 008D0 80AAD1D0 0C028800 */ jal Animation_GetLastFrame
/* 008D4 80AAD1D4 24840368 */ addiu $a0, $a0, %lo(D_06000368) ## $a0 = 06000368
/* 008D8 80AAD1D8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -105,7 +105,7 @@ glabel func_80AAD080
/* 008FC 80AAD1FC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00900 80AAD200 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00904 80AAD204 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00908 80AAD208 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00908 80AAD208 0C029468 */ jal Animation_Change
/* 0090C 80AAD20C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00910 80AAD210 960F027E */ lhu $t7, 0x027E($s0) ## 0000027E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Init.s
index 62ff65a474..d867800cab 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Init.s
@@ -57,7 +57,7 @@ glabel EnMm_Init
/* 001EC 80AAD95C E7A00010 */ swc1 $f0, 0x0010($sp)
/* 001F0 80AAD960 3C0380AB */ lui $v1, %hi(D_80AAEB38) ## $v1 = 80AB0000
/* 001F4 80AAD964 2463EB38 */ addiu $v1, $v1, %lo(D_80AAEB38) ## $v1 = 80AAEB38
-/* 001F8 80AAD968 0C028800 */ jal SkelAnime_GetFrameCount
+/* 001F8 80AAD968 0C028800 */ jal Animation_GetLastFrame
/* 001FC 80AAD96C 8C640000 */ lw $a0, 0x0000($v1) ## 80AAEB38
/* 00200 80AAD970 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -72,7 +72,7 @@ glabel EnMm_Init
/* 00224 80AAD994 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00228 80AAD998 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 0022C 80AAD99C AFA80014 */ sw $t0, 0x0014($sp)
-/* 00230 80AAD9A0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00230 80AAD9A0 0C029468 */ jal Animation_Change
/* 00234 80AAD9A4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00238 80AAD9A8 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAD770.s b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAD770.s
index fb7bc1ef88..7280e6f66d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAD770.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAD770.s
@@ -29,7 +29,7 @@ glabel func_80AAD770
/* 00060 80AAD7D0 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 00064 80AAD7D4 AFA3002C */ sw $v1, 0x002C($sp)
/* 00068 80AAD7D8 AFA5003C */ sw $a1, 0x003C($sp)
-/* 0006C 80AAD7DC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0006C 80AAD7DC 0C028800 */ jal Animation_GetLastFrame
/* 00070 80AAD7E0 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 00074 80AAD7E4 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -44,7 +44,7 @@ glabel func_80AAD770
/* 00098 80AAD808 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0009C 80AAD80C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000A0 80AAD810 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 000A4 80AAD814 0C029468 */ jal SkelAnime_ChangeAnim
+/* 000A4 80AAD814 0C029468 */ jal Animation_Change
/* 000A8 80AAD818 AFA90014 */ sw $t1, 0x0014($sp)
/* 000AC 80AAD81C 10000016 */ beq $zero, $zero, .L80AAD878
@@ -53,7 +53,7 @@ glabel func_80AAD770
.L80AAD828:
/* 000B8 80AAD828 AFA3002C */ sw $v1, 0x002C($sp)
/* 000BC 80AAD82C AFA5003C */ sw $a1, 0x003C($sp)
-/* 000C0 80AAD830 0C028800 */ jal SkelAnime_GetFrameCount
+/* 000C0 80AAD830 0C028800 */ jal Animation_GetLastFrame
/* 000C4 80AAD834 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 000C8 80AAD838 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -69,7 +69,7 @@ glabel func_80AAD770
/* 000F0 80AAD860 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000F4 80AAD864 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 000F8 80AAD868 AFAA0014 */ sw $t2, 0x0014($sp)
-/* 000FC 80AAD86C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 000FC 80AAD86C 0C029468 */ jal Animation_Change
/* 00100 80AAD870 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00104 80AAD874 8FAB003C */ lw $t3, 0x003C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE224.s b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE224.s
index ee0eab693a..d294063315 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE224.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE224.s
@@ -4,7 +4,7 @@ glabel func_80AAE224
/* 00ABC 80AAE22C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00AC0 80AAE230 AFA5001C */ sw $a1, 0x001C($sp)
/* 00AC4 80AAE234 AFA70018 */ sw $a3, 0x0018($sp)
-/* 00AC8 80AAE238 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00AC8 80AAE238 0C02927F */ jal SkelAnime_Update
/* 00ACC 80AAE23C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AD0 80AAE240 10400010 */ beq $v0, $zero, .L80AAE284
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE294.s b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE294.s
index e1f950cee0..728bc16a06 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE294.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE294.s
@@ -17,7 +17,7 @@ glabel func_80AAE294
/* 00B3C 80AAE2AC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00B40 80AAE2B0 54400092 */ bnel $v0, $zero, .L80AAE4FC
/* 00B44 80AAE2B4 8FBF002C */ lw $ra, 0x002C($sp)
-/* 00B48 80AAE2B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00B48 80AAE2B8 0C02927F */ jal SkelAnime_Update
/* 00B4C 80AAE2BC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00B50 80AAE2C0 8E030258 */ lw $v1, 0x0258($s0) ## 00000258
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE50C.s b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE50C.s
index 8d0b5447dc..2977446735 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE50C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE50C.s
@@ -4,7 +4,7 @@ glabel func_80AAE50C
/* 00DA4 80AAE514 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00DA8 80AAE518 AFBF001C */ sw $ra, 0x001C($sp)
/* 00DAC 80AAE51C AFA50024 */ sw $a1, 0x0024($sp)
-/* 00DB0 80AAE520 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00DB0 80AAE520 0C02927F */ jal SkelAnime_Update
/* 00DB4 80AAE524 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00DB8 80AAE528 10400016 */ beq $v0, $zero, .L80AAE584
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE598.s b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE598.s
index 37dbb0cdf1..4846355698 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE598.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm/func_80AAE598.s
@@ -15,7 +15,7 @@ glabel func_80AAE598
/* 00E5C 80AAE5CC 8E0F0040 */ lw $t7, 0x0040($s0) ## 00000040
/* 00E60 80AAE5D0 0C00E0A4 */ jal func_80038290
/* 00E64 80AAE5D4 AFAF0018 */ sw $t7, 0x0018($sp)
-/* 00E68 80AAE5D8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00E68 80AAE5D8 0C02927F */ jal SkelAnime_Update
/* 00E6C 80AAE5DC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00E70 80AAE5E0 0C2AB69C */ jal func_80AADA70
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Init.s
index ebfb7a8158..b72e51edb6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Init.s
@@ -36,7 +36,7 @@ glabel EnMm2_Init
/* 00254 80AAF0A4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00258 80AAF0A8 3C0380AB */ lui $v1, %hi(D_80AAFAEC) ## $v1 = 80AB0000
/* 0025C 80AAF0AC 2463FAEC */ addiu $v1, $v1, %lo(D_80AAFAEC) ## $v1 = 80AAFAEC
-/* 00260 80AAF0B0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00260 80AAF0B0 0C028800 */ jal Animation_GetLastFrame
/* 00264 80AAF0B4 8C640020 */ lw $a0, 0x0020($v1) ## 80AAFB0C
/* 00268 80AAF0B8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -51,7 +51,7 @@ glabel EnMm2_Init
/* 0028C 80AAF0DC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00290 80AAF0E0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00294 80AAF0E4 AFB90014 */ sw $t9, 0x0014($sp)
-/* 00298 80AAF0E8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00298 80AAF0E8 0C029468 */ jal Animation_Change
/* 0029C 80AAF0EC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 002A0 80AAF0F0 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAEE50.s b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAEE50.s
index e760a78182..aab74178fd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAEE50.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAEE50.s
@@ -29,7 +29,7 @@ glabel func_80AAEE50
/* 00060 80AAEEB0 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
/* 00064 80AAEEB4 AFA3002C */ sw $v1, 0x002C($sp)
/* 00068 80AAEEB8 AFA5003C */ sw $a1, 0x003C($sp)
-/* 0006C 80AAEEBC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0006C 80AAEEBC 0C028800 */ jal Animation_GetLastFrame
/* 00070 80AAEEC0 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 00074 80AAEEC4 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -44,7 +44,7 @@ glabel func_80AAEE50
/* 00098 80AAEEE8 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0009C 80AAEEEC E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000A0 80AAEEF0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 000A4 80AAEEF4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 000A4 80AAEEF4 0C029468 */ jal Animation_Change
/* 000A8 80AAEEF8 AFA90014 */ sw $t1, 0x0014($sp)
/* 000AC 80AAEEFC 10000016 */ beq $zero, $zero, .L80AAEF58
@@ -53,7 +53,7 @@ glabel func_80AAEE50
.L80AAEF08:
/* 000B8 80AAEF08 AFA3002C */ sw $v1, 0x002C($sp)
/* 000BC 80AAEF0C AFA5003C */ sw $a1, 0x003C($sp)
-/* 000C0 80AAEF10 0C028800 */ jal SkelAnime_GetFrameCount
+/* 000C0 80AAEF10 0C028800 */ jal Animation_GetLastFrame
/* 000C4 80AAEF14 E7A00034 */ swc1 $f0, 0x0034($sp)
/* 000C8 80AAEF18 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -69,7 +69,7 @@ glabel func_80AAEE50
/* 000F0 80AAEF40 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 000F4 80AAEF44 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 000F8 80AAEF48 AFAA0014 */ sw $t2, 0x0014($sp)
-/* 000FC 80AAEF4C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 000FC 80AAEF4C 0C029468 */ jal Animation_Change
/* 00100 80AAEF50 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 00104 80AAEF54 8FAB003C */ lw $t3, 0x003C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF2BC.s b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF2BC.s
index 4265c2d534..a1ad2cdeb5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF2BC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF2BC.s
@@ -12,7 +12,7 @@ glabel func_80AAF2BC
/* 00494 80AAF2E4 00000000 */ nop
.L80AAF2E8:
-/* 00498 80AAF2E8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00498 80AAF2E8 0C02927F */ jal SkelAnime_Update
/* 0049C 80AAF2EC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 004A0 80AAF2F0 860F01F6 */ lh $t7, 0x01F6($s0) ## 000001F6
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF330.s b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF330.s
index adc24ae427..8ffb895837 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF330.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF330.s
@@ -4,7 +4,7 @@ glabel func_80AAF330
/* 004E8 80AAF338 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 004EC 80AAF33C AFA5001C */ sw $a1, 0x001C($sp)
/* 004F0 80AAF340 AFA70018 */ sw $a3, 0x0018($sp)
-/* 004F4 80AAF344 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 004F4 80AAF344 0C02927F */ jal SkelAnime_Update
/* 004F8 80AAF348 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 004FC 80AAF34C 10400018 */ beq $v0, $zero, .L80AAF3B0
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF3C0.s b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF3C0.s
index 4260d4176d..9708da7b68 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF3C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF3C0.s
@@ -4,7 +4,7 @@ glabel func_80AAF3C0
/* 00578 80AAF3C8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0057C 80AAF3CC AFBF001C */ sw $ra, 0x001C($sp)
/* 00580 80AAF3D0 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00584 80AAF3D4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00584 80AAF3D4 0C02927F */ jal SkelAnime_Update
/* 00588 80AAF3D8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0058C 80AAF3DC 9603010E */ lhu $v1, 0x010E($s0) ## 0000010E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF57C.s b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF57C.s
index 54536bdb47..9e9f3ad178 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF57C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF57C.s
@@ -3,7 +3,7 @@ glabel func_80AAF57C
/* 00730 80AAF580 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00734 80AAF584 AFA40018 */ sw $a0, 0x0018($sp)
/* 00738 80AAF588 AFA5001C */ sw $a1, 0x001C($sp)
-/* 0073C 80AAF58C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0073C 80AAF58C 0C02927F */ jal SkelAnime_Update
/* 00740 80AAF590 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00744 80AAF594 8FA40018 */ lw $a0, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF5EC.s b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF5EC.s
index 569ca511e5..64e55acbf5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF5EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF5EC.s
@@ -4,7 +4,7 @@ glabel func_80AAF5EC
/* 007A4 80AAF5F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 007A8 80AAF5F8 AFBF001C */ sw $ra, 0x001C($sp)
/* 007AC 80AAF5FC AFA50024 */ sw $a1, 0x0024($sp)
-/* 007B0 80AAF600 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 007B0 80AAF600 0C02927F */ jal SkelAnime_Update
/* 007B4 80AAF604 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 007B8 80AAF608 8FA40024 */ lw $a0, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF668.s b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF668.s
index 17522cbc5a..fd0aa889c0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF668.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mm2/func_80AAF668.s
@@ -18,7 +18,7 @@ glabel func_80AAF668
/* 00830 80AAF680 848F0032 */ lh $t7, 0x0032($a0) ## 00000032
/* 00834 80AAF684 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00838 80AAF688 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0083C 80AAF68C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0083C 80AAF68C 0C02927F */ jal SkelAnime_Update
/* 00840 80AAF690 A48FFF6A */ sh $t7, -0x0096($a0) ## 000000B6
/* 00844 80AAF694 3C078016 */ lui $a3, %hi(gSaveContext)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Update.s
index 272846dae6..535b3cb6d2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Update.s
@@ -32,7 +32,7 @@ glabel EnMu_Update
/* 003B4 80AB07D4 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 003B8 80AB07D8 00A12821 */ addu $a1, $a1, $at
-/* 003BC 80AB07DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 003BC 80AB07DC 0C02927F */ jal SkelAnime_Update
/* 003C0 80AB07E0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 003C4 80AB07E4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6B3C.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6B3C.s
index 1b9092cd33..c8be793795 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6B3C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6B3C.s
@@ -28,7 +28,7 @@ glabel func_80AC6B3C
/* 03F04 80AC6BA4 01014821 */ addu $t1, $t0, $at
/* 03F08 80AC6BA8 3C018016 */ lui $at, %hi(gSegments+0x18)
/* 03F0C 80AC6BAC AC296FC0 */ sw $t1, %lo(gSegments+0x18)($at)
-/* 03F10 80AC6BB0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03F10 80AC6BB0 0C028800 */ jal Animation_GetLastFrame
/* 03F14 80AC6BB4 248404A8 */ addiu $a0, $a0, %lo(D_060004A8) ## $a0 = 060004A8
/* 03F18 80AC6BB8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -41,7 +41,7 @@ glabel func_80AC6B3C
/* 03F34 80AC6BD4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 03F38 80AC6BD8 AFA00014 */ sw $zero, 0x0014($sp)
/* 03F3C 80AC6BDC E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 03F40 80AC6BE0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 03F40 80AC6BE0 0C029468 */ jal Animation_Change
/* 03F44 80AC6BE4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 03F48 80AC6BE8 8FA6004C */ lw $a2, 0x004C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6C54.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6C54.s
index dc9e1c49ab..ba8dc712cf 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6C54.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6C54.s
@@ -29,7 +29,7 @@ glabel func_80AC6C54
/* 04020 80AC6CC0 248400FC */ addiu $a0, $a0, %lo(D_060000FC) ## $a0 = 060000FC
/* 04024 80AC6CC4 01215021 */ addu $t2, $t1, $at
/* 04028 80AC6CC8 3C018016 */ lui $at, %hi(gSegments+0x18)
-/* 0402C 80AC6CCC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0402C 80AC6CCC 0C028800 */ jal Animation_GetLastFrame
/* 04030 80AC6CD0 AC2A6FC0 */ sw $t2, %lo(gSegments+0x18)($at)
/* 04034 80AC6CD4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -42,7 +42,7 @@ glabel func_80AC6C54
/* 04050 80AC6CF0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04054 80AC6CF4 AFA00014 */ sw $zero, 0x0014($sp)
/* 04058 80AC6CF8 E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 0405C 80AC6CFC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0405C 80AC6CFC 0C029468 */ jal Animation_Change
/* 04060 80AC6D00 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 04064 80AC6D04 8FA20030 */ lw $v0, 0x0030($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6D30.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6D30.s
index 2ade278378..d96acdbdb1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6D30.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6D30.s
@@ -29,7 +29,7 @@ glabel func_80AC6D30
/* 040FC 80AC6D9C 2484078C */ addiu $a0, $a0, %lo(D_0600078C) ## $a0 = 0600078C
/* 04100 80AC6DA0 01215021 */ addu $t2, $t1, $at
/* 04104 80AC6DA4 3C018016 */ lui $at, %hi(gSegments+0x18)
-/* 04108 80AC6DA8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04108 80AC6DA8 0C028800 */ jal Animation_GetLastFrame
/* 0410C 80AC6DAC AC2A6FC0 */ sw $t2, %lo(gSegments+0x18)($at)
/* 04110 80AC6DB0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -42,7 +42,7 @@ glabel func_80AC6D30
/* 0412C 80AC6DCC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04130 80AC6DD0 AFA00014 */ sw $zero, 0x0014($sp)
/* 04134 80AC6DD4 E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 04138 80AC6DD8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04138 80AC6DD8 0C029468 */ jal Animation_Change
/* 0413C 80AC6DDC E7A00018 */ swc1 $f0, 0x0018($sp)
/* 04140 80AC6DE0 8FA20030 */ lw $v0, 0x0030($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC73B4.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC73B4.s
index a121d23ab0..169cc63bb7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC73B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC73B4.s
@@ -67,7 +67,7 @@ glabel func_80AC73B4
/* 04804 80AC74A4 0040F809 */ jalr $ra, $v0
/* 04808 80AC74A8 8FA50034 */ lw $a1, 0x0034($sp)
.L80AC74AC:
-/* 0480C 80AC74AC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0480C 80AC74AC 0C02927F */ jal SkelAnime_Update
/* 04810 80AC74B0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 04814 80AC74B4 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC390.s b/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC390.s
index 82727f99af..e01b789576 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC390.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC390.s
@@ -3,7 +3,7 @@ glabel func_80ACC390
/* 02474 80ACC394 AFB00028 */ sw $s0, 0x0028($sp)
/* 02478 80ACC398 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0247C 80ACC39C AFBF002C */ sw $ra, 0x002C($sp)
-/* 02480 80ACC3A0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02480 80ACC3A0 0C02927F */ jal SkelAnime_Update
/* 02484 80ACC3A4 8C8403DC */ lw $a0, 0x03DC($a0) ## 000003DC
/* 02488 80ACC3A8 960303FE */ lhu $v1, 0x03FE($s0) ## 000003FE
@@ -33,7 +33,7 @@ glabel func_80ACC390
/* 024E0 80ACC400 3C040600 */ lui $a0, %hi(D_060015CC) ## $a0 = 06000000
/* 024E4 80ACC404 AE190410 */ sw $t9, 0x0410($s0) ## 00000410
/* 024E8 80ACC408 A60803FE */ sh $t0, 0x03FE($s0) ## 000003FE
-/* 024EC 80ACC40C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 024EC 80ACC40C 0C028800 */ jal Animation_GetLastFrame
/* 024F0 80ACC410 248415CC */ addiu $a0, $a0, %lo(D_060015CC) ## $a0 = 060015CC
/* 024F4 80ACC414 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -48,7 +48,7 @@ glabel func_80ACC390
/* 02518 80ACC438 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 0251C 80ACC43C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 02520 80ACC440 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 02524 80ACC444 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02524 80ACC444 0C029468 */ jal Animation_Change
/* 02528 80ACC448 E7B20018 */ swc1 $f18, 0x0018($sp)
.L80ACC44C:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC460.s b/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC460.s
index a5fdbc0913..1dfbed2b8d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC460.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC460.s
@@ -3,7 +3,7 @@ glabel func_80ACC460
/* 02544 80ACC464 AFB00028 */ sw $s0, 0x0028($sp)
/* 02548 80ACC468 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0254C 80ACC46C AFBF002C */ sw $ra, 0x002C($sp)
-/* 02550 80ACC470 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02550 80ACC470 0C02927F */ jal SkelAnime_Update
/* 02554 80ACC474 8C8403DC */ lw $a0, 0x03DC($a0) ## 000003DC
/* 02558 80ACC478 5040002D */ beql $v0, $zero, .L80ACC530
@@ -16,7 +16,7 @@ glabel func_80ACC460
/* 02574 80ACC494 8E0F03DC */ lw $t7, 0x03DC($s0) ## 000003DC
/* 02578 80ACC498 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 0257C 80ACC49C A60E03FE */ sh $t6, 0x03FE($s0) ## 000003FE
-/* 02580 80ACC4A0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02580 80ACC4A0 0C028800 */ jal Animation_GetLastFrame
/* 02584 80ACC4A4 8DE40008 */ lw $a0, 0x0008($t7) ## 00000008
/* 02588 80ACC4A8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -29,7 +29,7 @@ glabel func_80ACC460
/* 025A4 80ACC4C4 AFB80014 */ sw $t8, 0x0014($sp)
/* 025A8 80ACC4C8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 025AC 80ACC4CC E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 025B0 80ACC4D0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 025B0 80ACC4D0 0C029468 */ jal Animation_Change
/* 025B4 80ACC4D4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 025B8 80ACC4D8 10000015 */ beq $zero, $zero, .L80ACC530
@@ -38,7 +38,7 @@ glabel func_80ACC460
/* 025C0 80ACC4E0 3C040601 */ lui $a0, %hi(D_0600C1C4) ## $a0 = 06010000
/* 025C4 80ACC4E4 A61903FE */ sh $t9, 0x03FE($s0) ## 000003FE
/* 025C8 80ACC4E8 AE080410 */ sw $t0, 0x0410($s0) ## 00000410
-/* 025CC 80ACC4EC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 025CC 80ACC4EC 0C028800 */ jal Animation_GetLastFrame
/* 025D0 80ACC4F0 2484C1C4 */ addiu $a0, $a0, %lo(D_0600C1C4) ## $a0 = 0600C1C4
/* 025D4 80ACC4F4 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -53,7 +53,7 @@ glabel func_80ACC460
/* 025F8 80ACC518 AFA00014 */ sw $zero, 0x0014($sp)
/* 025FC 80ACC51C E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 02600 80ACC520 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 02604 80ACC524 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02604 80ACC524 0C029468 */ jal Animation_Change
/* 02608 80ACC528 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 0260C 80ACC52C 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC540.s b/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC540.s
index b2f81f8b22..529ed6148a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC540.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACC540.s
@@ -3,13 +3,13 @@ glabel func_80ACC540
/* 02624 80ACC544 AFB00028 */ sw $s0, 0x0028($sp)
/* 02628 80ACC548 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0262C 80ACC54C AFBF002C */ sw $ra, 0x002C($sp)
-/* 02630 80ACC550 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02630 80ACC550 0C02927F */ jal SkelAnime_Update
/* 02634 80ACC554 8C8403DC */ lw $a0, 0x03DC($a0) ## 000003DC
/* 02638 80ACC558 50400015 */ beql $v0, $zero, .L80ACC5B0
/* 0263C 80ACC55C 960803FC */ lhu $t0, 0x03FC($s0) ## 000003FC
/* 02640 80ACC560 8E0E03DC */ lw $t6, 0x03DC($s0) ## 000003DC
-/* 02644 80ACC564 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02644 80ACC564 0C028800 */ jal Animation_GetLastFrame
/* 02648 80ACC568 8DC40008 */ lw $a0, 0x0008($t6) ## 00000008
/* 0264C 80ACC56C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -22,7 +22,7 @@ glabel func_80ACC540
/* 02668 80ACC588 AFAF0014 */ sw $t7, 0x0014($sp)
/* 0266C 80ACC58C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 02670 80ACC590 E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 02674 80ACC594 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02674 80ACC594 0C029468 */ jal Animation_Change
/* 02678 80ACC598 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0267C 80ACC59C 961803FC */ lhu $t8, 0x03FC($s0) ## 000003FC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACD0B8.s b/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACD0B8.s
index 48e4b946db..45f0ca74ff 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACD0B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Owl/func_80ACD0B8.s
@@ -5,7 +5,7 @@ glabel func_80ACD0B8
/* 031A4 80ACD0C4 AFA5002C */ sw $a1, 0x002C($sp)
/* 031A8 80ACD0C8 AFA60030 */ sw $a2, 0x0030($sp)
/* 031AC 80ACD0CC AC8703DC */ sw $a3, 0x03DC($a0) ## 000003DC
-/* 031B0 80ACD0D0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 031B0 80ACD0D0 0C028800 */ jal Animation_GetLastFrame
/* 031B4 80ACD0D4 8FA40038 */ lw $a0, 0x0038($sp)
/* 031B8 80ACD0D8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80ACD0B8
/* 031D8 80ACD0F8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 031DC 80ACD0FC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 031E0 80ACD100 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 031E4 80ACD104 0C029468 */ jal SkelAnime_ChangeAnim
+/* 031E4 80ACD104 0C029468 */ jal Animation_Change
/* 031E8 80ACD108 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 031EC 80ACD10C 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFB34.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFB34.s
index cba3ad303f..3905e652c0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFB34.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFB34.s
@@ -4,7 +4,7 @@ glabel func_80ACFB34
/* 0069C 80ACFB3C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 006A0 80ACFB40 AFBF002C */ sw $ra, 0x002C($sp)
/* 006A4 80ACFB44 3C040600 */ lui $a0, %hi(D_060009C4) ## $a0 = 06000000
-/* 006A8 80ACFB48 0C028800 */ jal SkelAnime_GetFrameCount
+/* 006A8 80ACFB48 0C028800 */ jal Animation_GetLastFrame
/* 006AC 80ACFB4C 248409C4 */ addiu $a0, $a0, %lo(D_060009C4) ## $a0 = 060009C4
/* 006B0 80ACFB50 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80ACFB34
/* 006D0 80ACFB70 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 006D4 80ACFB74 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 006D8 80ACFB78 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
-/* 006DC 80ACFB7C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 006DC 80ACFB7C 0C029468 */ jal Animation_Change
/* 006E0 80ACFB80 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 006E4 80ACFB84 92190311 */ lbu $t9, 0x0311($s0) ## 00000311
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFD20.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFD20.s
index fcf34f84fe..0a421d444d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFD20.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFD20.s
@@ -4,7 +4,7 @@ glabel func_80ACFD20
/* 00888 80ACFD28 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0088C 80ACFD2C AFBF002C */ sw $ra, 0x002C($sp)
/* 00890 80ACFD30 3C040600 */ lui $a0, %hi(D_060009C4) ## $a0 = 06000000
-/* 00894 80ACFD34 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00894 80ACFD34 0C028800 */ jal Animation_GetLastFrame
/* 00898 80ACFD38 248409C4 */ addiu $a0, $a0, %lo(D_060009C4) ## $a0 = 060009C4
/* 0089C 80ACFD3C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80ACFD20
/* 008BC 80ACFD5C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 008C0 80ACFD60 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 008C4 80ACFD64 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
-/* 008C8 80ACFD68 0C029468 */ jal SkelAnime_ChangeAnim
+/* 008C8 80ACFD68 0C029468 */ jal Animation_Change
/* 008CC 80ACFD6C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 008D0 80ACFD70 240F0190 */ addiu $t7, $zero, 0x0190 ## $t7 = 00000190
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFEB0.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFEB0.s
index 044b6e692b..1e952e1b47 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFEB0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFEB0.s
@@ -5,7 +5,7 @@ glabel func_80ACFEB0
/* 00A1C 80ACFEBC 3C050600 */ lui $a1, %hi(D_060005C4) ## $a1 = 06000000
/* 00A20 80ACFEC0 24A505C4 */ addiu $a1, $a1, %lo(D_060005C4) ## $a1 = 060005C4
/* 00A24 80ACFEC4 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00A28 80ACFEC8 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00A28 80ACFEC8 0C0294BE */ jal Animation_PlayLoop
/* 00A2C 80ACFECC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00A30 80ACFED0 8FA40018 */ lw $a0, 0x0018($sp)
/* 00A34 80ACFED4 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFEF8.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFEF8.s
index 3dfa7c4268..13af93cbd1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFEF8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80ACFEF8.s
@@ -12,7 +12,7 @@ glabel func_80ACFEF8
/* 00A6C 80ACFF0C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00A70 80ACFF10 24053155 */ addiu $a1, $zero, 0x3155 ## $a1 = 00003155
-/* 00A74 80ACFF14 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00A74 80ACFF14 0C02927F */ jal SkelAnime_Update
/* 00A78 80ACFF18 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00A7C 80ACFF1C 3C0E8016 */ lui $t6, %hi(gSaveContext+0x10)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0070.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0070.s
index d998489e51..4762b57484 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0070.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0070.s
@@ -4,7 +4,7 @@ glabel func_80AD0070
/* 00BD8 80AD0078 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00BDC 80AD007C AFBF002C */ sw $ra, 0x002C($sp)
/* 00BE0 80AD0080 3C040600 */ lui $a0, %hi(D_060009C4) ## $a0 = 06000000
-/* 00BE4 80AD0084 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00BE4 80AD0084 0C028800 */ jal Animation_GetLastFrame
/* 00BE8 80AD0088 248409C4 */ addiu $a0, $a0, %lo(D_060009C4) ## $a0 = 060009C4
/* 00BEC 80AD008C 8E0E02B0 */ lw $t6, 0x02B0($s0) ## 000002B0
@@ -22,7 +22,7 @@ glabel func_80AD0070
/* 00C1C 80AD00BC 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
/* 00C20 80AD00C0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00C24 80AD00C4 E7A00034 */ swc1 $f0, 0x0034($sp)
-/* 00C28 80AD00C8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00C28 80AD00C8 0C029468 */ jal Animation_Change
/* 00C2C 80AD00CC E7A20018 */ swc1 $f2, 0x0018($sp)
/* 00C30 80AD00D0 C7A00034 */ lwc1 $f0, 0x0034($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0118.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0118.s
index 4343f8aad8..92f6985521 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0118.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0118.s
@@ -46,7 +46,7 @@ glabel func_80AD0118
/* 00D0C 80AD01AC A61802FC */ sh $t8, 0x02FC($s0) ## 000002FC
/* 00D10 80AD01B0 E6080168 */ swc1 $f8, 0x0168($s0) ## 00000168
.L80AD01B4:
-/* 00D14 80AD01B4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D14 80AD01B4 0C02927F */ jal SkelAnime_Update
/* 00D18 80AD01B8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00D1C 80AD01BC 14400005 */ bne $v0, $zero, .L80AD01D4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD02E4.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD02E4.s
index 9f481361df..428d49500c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD02E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD02E4.s
@@ -4,7 +4,7 @@ glabel func_80AD02E4
/* 00E4C 80AD02EC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00E50 80AD02F0 AFBF002C */ sw $ra, 0x002C($sp)
/* 00E54 80AD02F4 3C040600 */ lui $a0, %hi(D_060009C4) ## $a0 = 06000000
-/* 00E58 80AD02F8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00E58 80AD02F8 0C028800 */ jal Animation_GetLastFrame
/* 00E5C 80AD02FC 248409C4 */ addiu $a0, $a0, %lo(D_060009C4) ## $a0 = 060009C4
/* 00E60 80AD0300 8E0E02B0 */ lw $t6, 0x02B0($s0) ## 000002B0
@@ -22,7 +22,7 @@ glabel func_80AD02E4
/* 00E90 80AD0330 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
/* 00E94 80AD0334 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00E98 80AD0338 E7A00034 */ swc1 $f0, 0x0034($sp)
-/* 00E9C 80AD033C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00E9C 80AD033C 0C029468 */ jal Animation_Change
/* 00EA0 80AD0340 E7A20018 */ swc1 $f2, 0x0018($sp)
/* 00EA4 80AD0344 C7A00034 */ lwc1 $f0, 0x0034($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD038C.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD038C.s
index 1229f58d02..68a090114d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD038C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD038C.s
@@ -46,7 +46,7 @@ glabel func_80AD038C
/* 00F80 80AD0420 A61802FC */ sh $t8, 0x02FC($s0) ## 000002FC
/* 00F84 80AD0424 E6080168 */ swc1 $f8, 0x0168($s0) ## 00000168
.L80AD0428:
-/* 00F88 80AD0428 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00F88 80AD0428 0C02927F */ jal SkelAnime_Update
/* 00F8C 80AD042C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00F90 80AD0430 14400005 */ bne $v0, $zero, .L80AD0448
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0558.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0558.s
index 690299cb5b..5c95898d4a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0558.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0558.s
@@ -5,7 +5,7 @@ glabel func_80AD0558
/* 010C4 80AD0564 3C050600 */ lui $a1, %hi(D_060005C4) ## $a1 = 06000000
/* 010C8 80AD0568 24A505C4 */ addiu $a1, $a1, %lo(D_060005C4) ## $a1 = 060005C4
/* 010CC 80AD056C AFA60018 */ sw $a2, 0x0018($sp)
-/* 010D0 80AD0570 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 010D0 80AD0570 0C0294BE */ jal Animation_PlayLoop
/* 010D4 80AD0574 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 010D8 80AD0578 8FA40018 */ lw $a0, 0x0018($sp)
/* 010DC 80AD057C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD05A8.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD05A8.s
index 1453500c37..c7b37c62e7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD05A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD05A8.s
@@ -73,7 +73,7 @@ glabel func_80AD05A8
/* 01204 80AD06A4 0C2B4488 */ jal func_80AD1220
/* 01208 80AD06A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80AD06AC:
-/* 0120C 80AD06AC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0120C 80AD06AC 0C02927F */ jal SkelAnime_Update
/* 01210 80AD06B0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01214 80AD06B4 260402F0 */ addiu $a0, $s0, 0x02F0 ## $a0 = 000002F0
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0720.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0720.s
index 201a0eb09a..6ad08e010d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0720.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0720.s
@@ -5,7 +5,7 @@ glabel func_80AD0720
/* 0128C 80AD072C 3C050600 */ lui $a1, %hi(D_060005C4) ## $a1 = 06000000
/* 01290 80AD0730 24A505C4 */ addiu $a1, $a1, %lo(D_060005C4) ## $a1 = 060005C4
/* 01294 80AD0734 AFA60018 */ sw $a2, 0x0018($sp)
-/* 01298 80AD0738 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 01298 80AD0738 0C0294BE */ jal Animation_PlayLoop
/* 0129C 80AD073C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 012A0 80AD0740 8FA40018 */ lw $a0, 0x0018($sp)
/* 012A4 80AD0744 240E000E */ addiu $t6, $zero, 0x000E ## $t6 = 0000000E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD076C.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD076C.s
index dd4b411984..f1d9ae741a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD076C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD076C.s
@@ -88,7 +88,7 @@ glabel func_80AD076C
.L80AD0884:
/* 013E4 80AD0884 2644014C */ addiu $a0, $s2, 0x014C ## $a0 = 0000014C
/* 013E8 80AD0888 2719015E */ addiu $t9, $t8, 0x015E ## $t9 = 0000015E
-/* 013EC 80AD088C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 013EC 80AD088C 0C02927F */ jal SkelAnime_Update
/* 013F0 80AD0890 A65900B6 */ sh $t9, 0x00B6($s2) ## 000000B6
/* 013F4 80AD0894 264402F0 */ addiu $a0, $s2, 0x02F0 ## $a0 = 000002F0
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0B3C.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0B3C.s
index a5b943e8f4..85f5b6654b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0B3C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0B3C.s
@@ -7,7 +7,7 @@ glabel func_80AD0B3C
/* 016B0 80AD0B50 3C050600 */ lui $a1, %hi(D_06000350) ## $a1 = 06000000
/* 016B4 80AD0B54 24A50350 */ addiu $a1, $a1, %lo(D_06000350) ## $a1 = 06000350
/* 016B8 80AD0B58 AFA60018 */ sw $a2, 0x0018($sp)
-/* 016BC 80AD0B5C 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 016BC 80AD0B5C 0C02947A */ jal Animation_PlayOnce
/* 016C0 80AD0B60 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 016C4 80AD0B64 3C0580AD */ lui $a1, %hi(func_80AD0B84) ## $a1 = 80AD0000
/* 016C8 80AD0B68 8FA40018 */ lw $a0, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0B84.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0B84.s
index 69f2695996..57001f38e7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0B84.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0B84.s
@@ -34,7 +34,7 @@ glabel func_80AD0B84
/* 01748 80AD0BE8 0C01E1A7 */ jal Math_SmoothStepToS
/* 0174C 80AD0BEC AFA00010 */ sw $zero, 0x0010($sp)
-/* 01750 80AD0BF0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01750 80AD0BF0 0C02927F */ jal SkelAnime_Update
/* 01754 80AD0BF4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01758 80AD0BF8 5040000B */ beql $v0, $zero, .L80AD0C28
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0D3C.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0D3C.s
index e2b57e38fa..21328d01fa 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0D3C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0D3C.s
@@ -5,7 +5,7 @@ glabel func_80AD0D3C
/* 018A8 80AD0D48 3C050600 */ lui $a1, %hi(D_06000350) ## $a1 = 06000000
/* 018AC 80AD0D4C 24A50350 */ addiu $a1, $a1, %lo(D_06000350) ## $a1 = 06000350
/* 018B0 80AD0D50 AFA60018 */ sw $a2, 0x0018($sp)
-/* 018B4 80AD0D54 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 018B4 80AD0D54 0C02947A */ jal Animation_PlayOnce
/* 018B8 80AD0D58 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 018BC 80AD0D5C 8FA40018 */ lw $a0, 0x0018($sp)
/* 018C0 80AD0D60 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0D84.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0D84.s
index f77e01303e..e2f2048cb1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0D84.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0D84.s
@@ -34,7 +34,7 @@ glabel func_80AD0D84
/* 01948 80AD0DE8 0C01E1A7 */ jal Math_SmoothStepToS
/* 0194C 80AD0DEC AFA00010 */ sw $zero, 0x0010($sp)
-/* 01950 80AD0DF0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01950 80AD0DF0 0C02927F */ jal SkelAnime_Update
/* 01954 80AD0DF4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01958 80AD0DF8 5040000A */ beql $v0, $zero, .L80AD0E24
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0F38.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0F38.s
index d2430e54ac..8085b9180a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0F38.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0F38.s
@@ -5,7 +5,7 @@ glabel func_80AD0F38
/* 01AA4 80AD0F44 AFBF001C */ sw $ra, 0x001C($sp)
/* 01AA8 80AD0F48 3C050600 */ lui $a1, %hi(D_060005C4) ## $a1 = 06000000
/* 01AAC 80AD0F4C 24A505C4 */ addiu $a1, $a1, %lo(D_060005C4) ## $a1 = 060005C4
-/* 01AB0 80AD0F50 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 01AB0 80AD0F50 0C0294BE */ jal Animation_PlayLoop
/* 01AB4 80AD0F54 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01AB8 80AD0F58 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0FC8.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0FC8.s
index e00037a458..925e223330 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0FC8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD0FC8.s
@@ -95,7 +95,7 @@ glabel func_80AD0FC8
/* 01C60 80AD1100 00000000 */ nop
/* 01C64 80AD1104 A60C02F4 */ sh $t4, 0x02F4($s0) ## 000002F4
.L80AD1108:
-/* 01C68 80AD1108 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01C68 80AD1108 0C02927F */ jal SkelAnime_Update
/* 01C6C 80AD110C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01C70 80AD1110 860D0032 */ lh $t5, 0x0032($s0) ## 00000032
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD1440.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD1440.s
index 9f770a3ed8..e472c6ef1c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD1440.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD1440.s
@@ -6,7 +6,7 @@ glabel func_80AD1440
/* 01FB0 80AD1450 24A50844 */ addiu $a1, $a1, %lo(D_06000844) ## $a1 = 06000844
/* 01FB4 80AD1454 AFA70018 */ sw $a3, 0x0018($sp)
/* 01FB8 80AD1458 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01FBC 80AD145C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01FBC 80AD145C 0C029490 */ jal Animation_MorphToPlayOnce
/* 01FC0 80AD1460 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 01FC4 80AD1464 8FA40018 */ lw $a0, 0x0018($sp)
/* 01FC8 80AD1468 3C01C110 */ lui $at, 0xC110 ## $at = C1100000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD14A0.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD14A0.s
index 7fe8d84086..424500334d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD14A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD14A0.s
@@ -14,7 +14,7 @@ glabel func_80AD14A0
/* 02030 80AD14D0 00A0A025 */ or $s4, $a1, $zero ## $s4 = 00000000
/* 02034 80AD14D4 01CFC021 */ addu $t8, $t6, $t7
/* 02038 80AD14D8 A49802F2 */ sh $t8, 0x02F2($a0) ## 000002F2
-/* 0203C 80AD14DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0203C 80AD14DC 0C02927F */ jal SkelAnime_Update
/* 02040 80AD14E0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02044 80AD14E4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD17E8.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD17E8.s
index b7715558e1..21c6b419a5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD17E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD17E8.s
@@ -25,7 +25,7 @@ glabel func_80AD17E8
/* 02384 80AD1824 15000011 */ bne $t0, $zero, .L80AD186C
.L80AD1828:
/* 02388 80AD1828 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 0238C 80AD182C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0238C 80AD182C 0C029490 */ jal Animation_MorphToPlayOnce
/* 02390 80AD1830 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 02394 80AD1834 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000
/* 02398 80AD1838 A60000B4 */ sh $zero, 0x00B4($s0) ## 000000B4
@@ -70,7 +70,7 @@ glabel func_80AD17E8
/* 02424 80AD18C4 10000074 */ beq $zero, $zero, .L80AD1A98
/* 02428 80AD18C8 8FBF002C */ lw $ra, 0x002C($sp)
.L80AD18CC:
-/* 0242C 80AD18CC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0242C 80AD18CC 0C02927F */ jal SkelAnime_Update
/* 02430 80AD18D0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02434 80AD18D4 860E02F2 */ lh $t6, 0x02F2($s0) ## 000002F2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD1AA8.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD1AA8.s
index 530eff8ba6..ec76ffa869 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD1AA8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/func_80AD1AA8.s
@@ -5,7 +5,7 @@ glabel func_80AD1AA8
/* 02614 80AD1AB4 3C050600 */ lui $a1, %hi(D_060005C4) ## $a1 = 06000000
/* 02618 80AD1AB8 24A505C4 */ addiu $a1, $a1, %lo(D_060005C4) ## $a1 = 060005C4
/* 0261C 80AD1ABC AFA60018 */ sw $a2, 0x0018($sp)
-/* 02620 80AD1AC0 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 02620 80AD1AC0 0C0294BE */ jal Animation_PlayLoop
/* 02624 80AD1AC4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02628 80AD1AC8 8FA40018 */ lw $a0, 0x0018($sp)
/* 0262C 80AD1ACC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/EnSa_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/EnSa_Update.s
index e7ecf03f9b..b8e3e9dff6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/EnSa_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/EnSa_Update.s
@@ -17,7 +17,7 @@ glabel EnSa_Update
/* 016B8 80AF6C18 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 016BC 80AF6C1C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
-/* 016C0 80AF6C20 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 016C0 80AF6C20 0C02927F */ jal SkelAnime_Update
/* 016C4 80AF6C24 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 016C8 80AF6C28 8E0E0154 */ lw $t6, 0x0154($s0) ## 00000154
@@ -25,7 +25,7 @@ glabel EnSa_Update
/* 016D0 80AF6C30 24841D50 */ addiu $a0, $a0, %lo(D_06001D50) ## $a0 = 06001D50
/* 016D4 80AF6C34 548E000E */ bnel $a0, $t6, .L80AF6C70
/* 016D8 80AF6C38 8E0F0190 */ lw $t7, 0x0190($s0) ## 00000190
-/* 016DC 80AF6C3C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 016DC 80AF6C3C 0C028800 */ jal Animation_GetLastFrame
/* 016E0 80AF6C40 00000000 */ nop
/* 016E4 80AF6C44 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF58B8.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF58B8.s
index fdc458153a..8ffcaf0f91 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF58B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF58B8.s
@@ -22,7 +22,7 @@ glabel func_80AF58B8
/* 003A4 80AF5904 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80AF5908:
/* 003A8 80AF5908 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 003AC 80AF590C 0C0295B2 */ jal func_800A56C8
+/* 003AC 80AF590C 0C0295B2 */ jal Animation_OnFrame
/* 003B0 80AF5910 AFA40020 */ sw $a0, 0x0020($sp)
/* 003B4 80AF5914 10400008 */ beq $v0, $zero, .L80AF5938
/* 003B8 80AF5918 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF594C.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF594C.s
index fa6c6fdf03..84ed09a968 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF594C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF594C.s
@@ -22,7 +22,7 @@ glabel func_80AF594C
/* 00438 80AF5998 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80AF599C:
/* 0043C 80AF599C 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 00440 80AF59A0 0C0295B2 */ jal func_800A56C8
+/* 00440 80AF59A0 0C0295B2 */ jal Animation_OnFrame
/* 00444 80AF59A4 AFA40020 */ sw $a0, 0x0020($sp)
/* 00448 80AF59A8 10400008 */ beq $v0, $zero, .L80AF59CC
/* 0044C 80AF59AC 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF59E0.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF59E0.s
index 0c111f7881..a8f5d83315 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF59E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF59E0.s
@@ -22,7 +22,7 @@ glabel func_80AF59E0
/* 004CC 80AF5A2C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80AF5A30:
/* 004D0 80AF5A30 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 004D4 80AF5A34 0C0295B2 */ jal func_800A56C8
+/* 004D4 80AF5A34 0C0295B2 */ jal Animation_OnFrame
/* 004D8 80AF5A38 AFA40020 */ sw $a0, 0x0020($sp)
/* 004DC 80AF5A3C 10400008 */ beq $v0, $zero, .L80AF5A60
/* 004E0 80AF5A40 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5A74.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5A74.s
index 5569221bad..276501f74b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5A74.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5A74.s
@@ -24,7 +24,7 @@ glabel func_80AF5A74
/* 00568 80AF5AC8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80AF5ACC:
/* 0056C 80AF5ACC 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 00570 80AF5AD0 0C0295B2 */ jal func_800A56C8
+/* 00570 80AF5AD0 0C0295B2 */ jal Animation_OnFrame
/* 00574 80AF5AD4 AFA40020 */ sw $a0, 0x0020($sp)
/* 00578 80AF5AD8 10400008 */ beq $v0, $zero, .L80AF5AFC
/* 0057C 80AF5ADC 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5B10.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5B10.s
index 9d4929cc21..ef7514791d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5B10.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5B10.s
@@ -22,7 +22,7 @@ glabel func_80AF5B10
/* 005FC 80AF5B5C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80AF5B60:
/* 00600 80AF5B60 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 00604 80AF5B64 0C0295B2 */ jal func_800A56C8
+/* 00604 80AF5B64 0C0295B2 */ jal Animation_OnFrame
/* 00608 80AF5B68 AFA40020 */ sw $a0, 0x0020($sp)
/* 0060C 80AF5B6C 10400008 */ beq $v0, $zero, .L80AF5B90
/* 00610 80AF5B70 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5BA4.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5BA4.s
index 1bff6d46ab..86f12c81c3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5BA4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5BA4.s
@@ -24,7 +24,7 @@ glabel func_80AF5BA4
/* 00698 80AF5BF8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80AF5BFC:
/* 0069C 80AF5BFC 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 006A0 80AF5C00 0C0295B2 */ jal func_800A56C8
+/* 006A0 80AF5C00 0C0295B2 */ jal Animation_OnFrame
/* 006A4 80AF5C04 AFA40020 */ sw $a0, 0x0020($sp)
/* 006A8 80AF5C08 10400008 */ beq $v0, $zero, .L80AF5C2C
/* 006AC 80AF5C0C 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5C40.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5C40.s
index 392406a77f..f468843284 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5C40.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5C40.s
@@ -22,7 +22,7 @@ glabel func_80AF5C40
/* 0072C 80AF5C8C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80AF5C90:
/* 00730 80AF5C90 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 00734 80AF5C94 0C0295B2 */ jal func_800A56C8
+/* 00734 80AF5C94 0C0295B2 */ jal Animation_OnFrame
/* 00738 80AF5C98 AFA40020 */ sw $a0, 0x0020($sp)
/* 0073C 80AF5C9C 10400008 */ beq $v0, $zero, .L80AF5CC0
/* 00740 80AF5CA0 8FA40020 */ lw $a0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5D8C.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5D8C.s
index 89bbeecda1..b3109502ae 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5D8C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF5D8C.s
@@ -7,7 +7,7 @@ glabel func_80AF5D8C
/* 00840 80AF5DA0 AFA40030 */ sw $a0, 0x0030($sp)
/* 00844 80AF5DA4 01CF1821 */ addu $v1, $t6, $t7
/* 00848 80AF5DA8 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
-/* 0084C 80AF5DAC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0084C 80AF5DAC 0C028800 */ jal Animation_GetLastFrame
/* 00850 80AF5DB0 AFA30028 */ sw $v1, 0x0028($sp)
/* 00854 80AF5DB4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -22,7 +22,7 @@ glabel func_80AF5D8C
/* 00878 80AF5DD8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0087C 80AF5DDC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00880 80AF5DE0 AFB80014 */ sw $t8, 0x0014($sp)
-/* 00884 80AF5DE4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00884 80AF5DE4 0C029468 */ jal Animation_Change
/* 00888 80AF5DE8 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0088C 80AF5DEC 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF6448.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF6448.s
index e8c650fa68..e7588ad988 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF6448.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF6448.s
@@ -232,7 +232,7 @@ glabel func_80AF6448
/* 0123C 80AF679C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01240 80AF67A0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01244 80AF67A4 E7AA0010 */ swc1 $f10, 0x0010($sp)
-/* 01248 80AF67A8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01248 80AF67A8 0C029468 */ jal Animation_Change
/* 0124C 80AF67AC E7B00018 */ swc1 $f16, 0x0018($sp)
/* 01250 80AF67B0 3C0B80AF */ lui $t3, %hi(func_80AF67D0) ## $t3 = 80AF0000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF67D0.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF67D0.s
index b346bcd82f..3bf8a2a21b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF67D0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/func_80AF67D0.s
@@ -16,7 +16,7 @@ glabel func_80AF67D0
/* 012A8 80AF6808 AFB80014 */ sw $t8, 0x0014($sp)
/* 012AC 80AF680C 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 012B0 80AF6810 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 012B4 80AF6814 0C029468 */ jal SkelAnime_ChangeAnim
+/* 012B4 80AF6814 0C029468 */ jal Animation_Change
/* 012B8 80AF6818 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 012BC 80AF681C 8FA80028 */ lw $t0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Update.s
index 21ac41d684..135777ff1a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Update.s
@@ -59,7 +59,7 @@ glabel EnShopnuts_Update
/* 00AD4 80AFB1F4 15630012 */ bne $t3, $v1, .L80AFB240
/* 00AD8 80AFB1F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00ADC 80AFB1FC 3C040600 */ lui $a0, %hi(D_0600039C) ## $a0 = 06000000
-/* 00AE0 80AFB200 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00AE0 80AFB200 0C028800 */ jal Animation_GetLastFrame
/* 00AE4 80AFB204 2484039C */ addiu $a0, $a0, %lo(D_0600039C) ## $a0 = 0600039C
/* 00AE8 80AFB208 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA880.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA880.s
index 4141950d2d..78c96d0897 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA880.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA880.s
@@ -6,7 +6,7 @@ glabel func_80AFA880
/* 00170 80AFA890 24A5139C */ addiu $a1, $a1, %lo(D_0600139C) ## $a1 = 0600139C
/* 00174 80AFA894 AFA70018 */ sw $a3, 0x0018($sp)
/* 00178 80AFA898 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0017C 80AFA89C 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 0017C 80AFA89C 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 00180 80AFA8A0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 00184 80AFA8A4 24040064 */ addiu $a0, $zero, 0x0064 ## $a0 = 00000064
/* 00188 80AFA8A8 0C01DF64 */ jal Rand_S16Offset
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA8E8.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA8E8.s
index e02a9ee5ac..56c2f947ef 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA8E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA8E8.s
@@ -5,7 +5,7 @@ glabel func_80AFA8E8
/* 001D4 80AFA8F4 3C050600 */ lui $a1, %hi(D_06000BA0) ## $a1 = 06000000
/* 001D8 80AFA8F8 24A50BA0 */ addiu $a1, $a1, %lo(D_06000BA0) ## $a1 = 06000BA0
/* 001DC 80AFA8FC AFA60018 */ sw $a2, 0x0018($sp)
-/* 001E0 80AFA900 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 001E0 80AFA900 0C0294BE */ jal Animation_PlayLoop
/* 001E4 80AFA904 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 001E8 80AFA908 8FA60018 */ lw $a2, 0x0018($sp)
/* 001EC 80AFA90C 3C0F80B0 */ lui $t7, %hi(func_80AFACE0) ## $t7 = 80B00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA930.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA930.s
index e5ffbf47aa..24b63f8494 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA930.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA930.s
@@ -4,7 +4,7 @@ glabel func_80AFA930
/* 00218 80AFA938 AFA40018 */ sw $a0, 0x0018($sp)
/* 0021C 80AFA93C 3C050600 */ lui $a1, %hi(D_060001EC) ## $a1 = 06000000
/* 00220 80AFA940 24A501EC */ addiu $a1, $a1, %lo(D_060001EC) ## $a1 = 060001EC
-/* 00224 80AFA944 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00224 80AFA944 0C02947A */ jal Animation_PlayOnce
/* 00228 80AFA948 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0022C 80AFA94C 8FAF0018 */ lw $t7, 0x0018($sp)
/* 00230 80AFA950 3C0E80B0 */ lui $t6, %hi(func_80AFAE28) ## $t6 = 80B00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA96C.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA96C.s
index 7db897312f..f754768749 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA96C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA96C.s
@@ -6,7 +6,7 @@ glabel func_80AFA96C
/* 0025C 80AFA97C 24A54574 */ addiu $a1, $a1, %lo(D_06004574) ## $a1 = 06004574
/* 00260 80AFA980 AFA70018 */ sw $a3, 0x0018($sp)
/* 00264 80AFA984 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00268 80AFA988 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00268 80AFA988 0C0294D3 */ jal Animation_MorphToLoop
/* 0026C 80AFA98C 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00270 80AFA990 8FA70018 */ lw $a3, 0x0018($sp)
/* 00274 80AFA994 3C0E80B0 */ lui $t6, %hi(func_80AFAE28) ## $t6 = 80B00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA9D4.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA9D4.s
index fb2c66b2c7..43b6a0c1b7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA9D4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFA9D4.s
@@ -5,7 +5,7 @@ glabel func_80AFA9D4
/* 002C0 80AFA9E0 3C050600 */ lui $a1, %hi(D_0600039C) ## $a1 = 06000000
/* 002C4 80AFA9E4 24A5039C */ addiu $a1, $a1, %lo(D_0600039C) ## $a1 = 0600039C
/* 002C8 80AFA9E8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 002CC 80AFA9EC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 002CC 80AFA9EC 0C029490 */ jal Animation_MorphToPlayOnce
/* 002D0 80AFA9F0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 002D4 80AFA9F4 8FA40018 */ lw $a0, 0x0018($sp)
/* 002D8 80AFA9F8 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA20.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA20.s
index 53ea442e80..65e56468dd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA20.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA20.s
@@ -6,7 +6,7 @@ glabel func_80AFAA20
/* 00310 80AFAA30 24A50764 */ addiu $a1, $a1, %lo(D_06000764) ## $a1 = 06000764
/* 00314 80AFAA34 AFA70018 */ sw $a3, 0x0018($sp)
/* 00318 80AFAA38 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 0031C 80AFAA3C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0031C 80AFAA3C 0C029490 */ jal Animation_MorphToPlayOnce
/* 00320 80AFAA40 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00324 80AFAA44 8FA40018 */ lw $a0, 0x0018($sp)
/* 00328 80AFAA48 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA7C.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA7C.s
index a31f666b62..91a3aaabea 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA7C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAA7C.s
@@ -24,7 +24,7 @@ glabel func_80AFAA7C
.L80AFAAD0:
/* 003B0 80AFAAD0 AFA3002C */ sw $v1, 0x002C($sp)
.L80AFAAD4:
-/* 003B4 80AFAAD4 0C0295B2 */ jal func_800A56C8
+/* 003B4 80AFAAD4 0C0295B2 */ jal Animation_OnFrame
/* 003B8 80AFAAD8 AFA40020 */ sw $a0, 0x0020($sp)
/* 003BC 80AFAADC 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 003C0 80AFAAE0 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00
@@ -35,7 +35,7 @@ glabel func_80AFAA7C
/* 003D4 80AFAAF4 1000000C */ beq $zero, $zero, .L80AFAB28
/* 003D8 80AFAAF8 A2180281 */ sb $t8, 0x0281($s0) ## 00000281
.L80AFAAFC:
-/* 003DC 80AFAAFC 0C0295B2 */ jal func_800A56C8
+/* 003DC 80AFAAFC 0C0295B2 */ jal Animation_OnFrame
/* 003E0 80AFAB00 3C054100 */ lui $a1, 0x4100 ## $a1 = 41000000
/* 003E4 80AFAB04 3C014110 */ lui $at, 0x4110 ## $at = 41100000
/* 003E8 80AFAB08 44816000 */ mtc1 $at, $f12 ## $f12 = 9.00
@@ -94,7 +94,7 @@ glabel func_80AFAA7C
/* 004A8 80AFABC8 10000021 */ beq $zero, $zero, .L80AFAC50
/* 004AC 80AFABCC 8FAB002C */ lw $t3, 0x002C($sp)
.L80AFABD0:
-/* 004B0 80AFABD0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 004B0 80AFABD0 0C02927F */ jal SkelAnime_Update
/* 004B4 80AFABD4 8FA40020 */ lw $a0, 0x0020($sp)
/* 004B8 80AFABD8 1040001C */ beq $v0, $zero, .L80AFAC4C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFACE0.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFACE0.s
index 3c094c53ac..02ebc269ed 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFACE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFACE0.s
@@ -5,11 +5,11 @@ glabel func_80AFACE0
/* 005CC 80AFACEC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 005D0 80AFACF0 AFA50024 */ sw $a1, 0x0024($sp)
/* 005D4 80AFACF4 AFA4001C */ sw $a0, 0x001C($sp)
-/* 005D8 80AFACF8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 005D8 80AFACF8 0C02927F */ jal SkelAnime_Update
/* 005DC 80AFACFC AFA60020 */ sw $a2, 0x0020($sp)
/* 005E0 80AFAD00 8FA4001C */ lw $a0, 0x001C($sp)
-/* 005E4 80AFAD04 0C0295B2 */ jal func_800A56C8
+/* 005E4 80AFAD04 0C0295B2 */ jal Animation_OnFrame
/* 005E8 80AFAD08 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 005EC 80AFAD0C 10400005 */ beq $v0, $zero, .L80AFAD24
/* 005F0 80AFAD10 8FA60020 */ lw $a2, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAD64.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAD64.s
index 9f3778dd0b..8ef68a20f4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAD64.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAD64.s
@@ -5,11 +5,11 @@ glabel func_80AFAD64
/* 00650 80AFAD70 AFBF001C */ sw $ra, 0x001C($sp)
/* 00654 80AFAD74 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00658 80AFAD78 AFA5002C */ sw $a1, 0x002C($sp)
-/* 0065C 80AFAD7C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0065C 80AFAD7C 0C02927F */ jal SkelAnime_Update
/* 00660 80AFAD80 AFA40024 */ sw $a0, 0x0024($sp)
/* 00664 80AFAD84 8FA40024 */ lw $a0, 0x0024($sp)
-/* 00668 80AFAD88 0C0295B2 */ jal func_800A56C8
+/* 00668 80AFAD88 0C0295B2 */ jal Animation_OnFrame
/* 0066C 80AFAD8C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00670 80AFAD90 10400005 */ beq $v0, $zero, .L80AFADA8
/* 00674 80AFAD94 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAE28.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAE28.s
index 6ed33c8418..3531bd3841 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAE28.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAE28.s
@@ -23,7 +23,7 @@ glabel func_80AFAE28
/* 00758 80AFAE78 10000036 */ beq $zero, $zero, .L80AFAF54
/* 0075C 80AFAE7C 8FBF0034 */ lw $ra, 0x0034($sp)
.L80AFAE80:
-/* 00760 80AFAE80 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00760 80AFAE80 0C02927F */ jal SkelAnime_Update
/* 00764 80AFAE84 AFA40038 */ sw $a0, 0x0038($sp)
/* 00768 80AFAE88 10400005 */ beq $v0, $zero, .L80AFAEA0
@@ -33,7 +33,7 @@ glabel func_80AFAE28
/* 00778 80AFAE98 1000002E */ beq $zero, $zero, .L80AFAF54
/* 0077C 80AFAE9C 8FBF0034 */ lw $ra, 0x0034($sp)
.L80AFAEA0:
-/* 00780 80AFAEA0 0C0295B2 */ jal func_800A56C8
+/* 00780 80AFAEA0 0C0295B2 */ jal Animation_OnFrame
/* 00784 80AFAEA4 3C0540C0 */ lui $a1, 0x40C0 ## $a1 = 40C00000
/* 00788 80AFAEA8 5040002A */ beql $v0, $zero, .L80AFAF54
/* 0078C 80AFAEAC 8FBF0034 */ lw $ra, 0x0034($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAF64.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAF64.s
index 8212350c2b..597c69482e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAF64.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFAF64.s
@@ -5,7 +5,7 @@ glabel func_80AFAF64
/* 00850 80AFAF70 AFBF001C */ sw $ra, 0x001C($sp)
/* 00854 80AFAF74 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00858 80AFAF78 AFA5002C */ sw $a1, 0x002C($sp)
-/* 0085C 80AFAF7C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0085C 80AFAF7C 0C02927F */ jal SkelAnime_Update
/* 00860 80AFAF80 AFA40020 */ sw $a0, 0x0020($sp)
/* 00864 80AFAF84 10400007 */ beq $v0, $zero, .L80AFAFA4
@@ -40,7 +40,7 @@ glabel func_80AFAF64
/* 008D0 80AFAFF0 A60F02B2 */ sh $t7, 0x02B2($s0) ## 000002B2
/* 008D4 80AFAFF4 44056000 */ mfc1 $a1, $f12
.L80AFAFF8:
-/* 008D8 80AFAFF8 0C0295B2 */ jal func_800A56C8
+/* 008D8 80AFAFF8 0C0295B2 */ jal Animation_OnFrame
/* 008DC 80AFAFFC 8FA40020 */ lw $a0, 0x0020($sp)
/* 008E0 80AFB000 50400005 */ beql $v0, $zero, .L80AFB018
/* 008E4 80AFB004 8FBF001C */ lw $ra, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB028.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB028.s
index 67ad7af994..24ea2af438 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB028.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/func_80AFB028.s
@@ -4,7 +4,7 @@ glabel func_80AFB028
/* 00910 80AFB030 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00914 80AFB034 AFBF0034 */ sw $ra, 0x0034($sp)
/* 00918 80AFB038 AFA5003C */ sw $a1, 0x003C($sp)
-/* 0091C 80AFB03C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0091C 80AFB03C 0C02927F */ jal SkelAnime_Update
/* 00920 80AFB040 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00924 80AFB044 10400015 */ beq $v0, $zero, .L80AFB09C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCDF8.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCDF8.s
index d9de0b748f..0da8291aa0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCDF8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCDF8.s
@@ -6,7 +6,7 @@ glabel func_80AFCDF8
/* 00468 80AFCE08 24A51854 */ addiu $a1, $a1, %lo(D_06001854) ## $a1 = 06001854
/* 0046C 80AFCE0C AFA70018 */ sw $a3, 0x0018($sp)
/* 00470 80AFCE10 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00474 80AFCE14 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 00474 80AFCE14 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 00478 80AFCE18 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0047C 80AFCE1C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00480 80AFCE20 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCE5C.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCE5C.s
index cfe017c2c2..aa43166c0d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCE5C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCE5C.s
@@ -46,7 +46,7 @@ glabel func_80AFCE5C
/* 0055C 80AFCEFC 0C2BF26A */ jal func_80AFC9A8
/* 00560 80AFCF00 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024
.L80AFCF04:
-/* 00564 80AFCF04 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00564 80AFCF04 0C02927F */ jal SkelAnime_Update
/* 00568 80AFCF08 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0056C 80AFCF0C 5040000A */ beql $v0, $zero, .L80AFCF38
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCF48.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCF48.s
index bb3facf573..ae63fbf601 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCF48.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCF48.s
@@ -4,7 +4,7 @@ glabel func_80AFCF48
/* 005B0 80AFCF50 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 005B4 80AFCF54 AFBF002C */ sw $ra, 0x002C($sp)
/* 005B8 80AFCF58 3C040600 */ lui $a0, %hi(D_06001854) ## $a0 = 06000000
-/* 005BC 80AFCF5C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 005BC 80AFCF5C 0C028800 */ jal Animation_GetLastFrame
/* 005C0 80AFCF60 24841854 */ addiu $a0, $a0, %lo(D_06001854) ## $a0 = 06001854
/* 005C4 80AFCF64 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_80AFCF48
/* 005EC 80AFCF8C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 005F0 80AFCF90 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 005F4 80AFCF94 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 005F8 80AFCF98 0C029468 */ jal SkelAnime_ChangeAnim
+/* 005F8 80AFCF98 0C029468 */ jal Animation_Change
/* 005FC 80AFCF9C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00600 80AFCFA0 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCFF0.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCFF0.s
index e9583f117e..9318bd0fc1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCFF0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFCFF0.s
@@ -36,7 +36,7 @@ glabel func_80AFCFF0
/* 006D0 80AFD070 0C01E0C4 */ jal Math_SmoothStepToF
/* 006D4 80AFD074 E7A20010 */ swc1 $f2, 0x0010($sp)
-/* 006D8 80AFD078 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 006D8 80AFD078 0C02927F */ jal SkelAnime_Update
/* 006DC 80AFD07C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 006E0 80AFD080 50400004 */ beql $v0, $zero, .L80AFD094
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD0A4.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD0A4.s
index 5f3482e969..99a2840e04 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD0A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD0A4.s
@@ -4,7 +4,7 @@ glabel func_80AFD0A4
/* 0070C 80AFD0AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00710 80AFD0B0 AFBF002C */ sw $ra, 0x002C($sp)
/* 00714 80AFD0B4 3C040600 */ lui $a0, %hi(D_060047E0) ## $a0 = 06000000
-/* 00718 80AFD0B8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00718 80AFD0B8 0C028800 */ jal Animation_GetLastFrame
/* 0071C 80AFD0BC 248447E0 */ addiu $a0, $a0, %lo(D_060047E0) ## $a0 = 060047E0
/* 00720 80AFD0C0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80AFD0A4
/* 00744 80AFD0E4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00748 80AFD0E8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 0074C 80AFD0EC AFA00014 */ sw $zero, 0x0014($sp)
-/* 00750 80AFD0F0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00750 80AFD0F0 0C029468 */ jal Animation_Change
/* 00754 80AFD0F4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00758 80AFD0F8 3C014320 */ lui $at, 0x4320 ## $at = 43200000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD13C.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD13C.s
index ef40f90e01..de4f2d8ee3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD13C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD13C.s
@@ -45,7 +45,7 @@ glabel func_80AFD13C
/* 00828 80AFD1C8 4600320D */ trunc.w.s $f8, $f6
/* 0082C 80AFD1CC A60C0032 */ sh $t4, 0x0032($s0) ## 00000032
/* 00830 80AFD1D0 44034000 */ mfc1 $v1, $f8
-/* 00834 80AFD1D4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00834 80AFD1D4 0C02927F */ jal SkelAnime_Update
/* 00838 80AFD1D8 AFA30034 */ sw $v1, 0x0034($sp)
/* 0083C 80AFD1DC 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD33C.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD33C.s
index 4187a959e2..f633794c03 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD33C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD33C.s
@@ -4,7 +4,7 @@ glabel func_80AFD33C
/* 009A4 80AFD344 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 009A8 80AFD348 AFBF002C */ sw $ra, 0x002C($sp)
/* 009AC 80AFD34C 3C040600 */ lui $a0, %hi(D_06000460) ## $a0 = 06000000
-/* 009B0 80AFD350 0C028800 */ jal SkelAnime_GetFrameCount
+/* 009B0 80AFD350 0C028800 */ jal Animation_GetLastFrame
/* 009B4 80AFD354 24840460 */ addiu $a0, $a0, %lo(D_06000460) ## $a0 = 06000460
/* 009B8 80AFD358 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_80AFD33C
/* 009E0 80AFD380 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 009E4 80AFD384 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 009E8 80AFD388 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 009EC 80AFD38C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 009EC 80AFD38C 0C029468 */ jal Animation_Change
/* 009F0 80AFD390 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 009F4 80AFD394 920F02B4 */ lbu $t7, 0x02B4($s0) ## 000002B4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD3D4.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD3D4.s
index 005e660d57..7069d84aec 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD3D4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD3D4.s
@@ -36,7 +36,7 @@ glabel func_80AFD3D4
/* 00AAC 80AFD44C 10000008 */ beq $zero, $zero, .L80AFD470
/* 00AB0 80AFD450 8FBF0014 */ lw $ra, 0x0014($sp)
.L80AFD454:
-/* 00AB4 80AFD454 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00AB4 80AFD454 0C02927F */ jal SkelAnime_Update
/* 00AB8 80AFD458 AFA60018 */ sw $a2, 0x0018($sp)
/* 00ABC 80AFD45C 10400003 */ beq $v0, $zero, .L80AFD46C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD47C.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD47C.s
index 9b3c6beadb..871202803b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD47C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD47C.s
@@ -17,7 +17,7 @@ glabel func_80AFD47C
/* 00B18 80AFD4B8 24A50460 */ addiu $a1, $a1, %lo(D_06000460) ## $a1 = 06000460
/* 00B1C 80AFD4BC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00B20 80AFD4C0 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 00B24 80AFD4C4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B24 80AFD4C4 0C029468 */ jal Animation_Change
/* 00B28 80AFD4C8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00B2C 80AFD4CC 920F02B4 */ lbu $t7, 0x02B4($s0) ## 000002B4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD508.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD508.s
index 5fd5405729..e700972ff2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD508.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD508.s
@@ -3,7 +3,7 @@ glabel func_80AFD508
/* 00B6C 80AFD50C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00B70 80AFD510 AFA40018 */ sw $a0, 0x0018($sp)
/* 00B74 80AFD514 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00B78 80AFD518 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00B78 80AFD518 0C02927F */ jal SkelAnime_Update
/* 00B7C 80AFD51C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00B80 80AFD520 50400004 */ beql $v0, $zero, .L80AFD534
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD644.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD644.s
index 03c60bb554..5437f6460c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD644.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD644.s
@@ -6,7 +6,7 @@ glabel func_80AFD644
/* 00CB4 80AFD654 24A50D98 */ addiu $a1, $a1, %lo(D_06000D98) ## $a1 = 06000D98
/* 00CB8 80AFD658 AFA70018 */ sw $a3, 0x0018($sp)
/* 00CBC 80AFD65C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00CC0 80AFD660 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00CC0 80AFD660 0C029490 */ jal Animation_MorphToPlayOnce
/* 00CC4 80AFD664 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 00CC8 80AFD668 8FA70018 */ lw $a3, 0x0018($sp)
/* 00CCC 80AFD66C 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD6CC.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD6CC.s
index 8a63c62ad0..09c9ed8fd7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD6CC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD6CC.s
@@ -52,7 +52,7 @@ glabel func_80AFD6CC
/* 00DD0 80AFD770 0C01E1A7 */ jal Math_SmoothStepToS
/* 00DD4 80AFD774 AFA00010 */ sw $zero, 0x0010($sp)
-/* 00DD8 80AFD778 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00DD8 80AFD778 0C02927F */ jal SkelAnime_Update
/* 00DDC 80AFD77C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00DE0 80AFD780 50400008 */ beql $v0, $zero, .L80AFD7A4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD7B4.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD7B4.s
index c86f75624b..b3a2ee03f8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD7B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/func_80AFD7B4.s
@@ -7,7 +7,7 @@ glabel func_80AFD7B4
/* 00E28 80AFD7C8 3C050600 */ lui $a1, %hi(D_060009DC) ## $a1 = 06000000
/* 00E2C 80AFD7CC 24A509DC */ addiu $a1, $a1, %lo(D_060009DC) ## $a1 = 060009DC
/* 00E30 80AFD7D0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00E34 80AFD7D4 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00E34 80AFD7D4 0C029490 */ jal Animation_MorphToPlayOnce
/* 00E38 80AFD7D8 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 00E3C 80AFD7DC 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
/* 00E40 80AFD7E0 8602008A */ lh $v0, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Update.s
index 6c7e362fba..b2ee62f545 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Update.s
@@ -115,7 +115,7 @@ glabel EnSkj_Update
/* 02660 80B00910 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 02664 80B00914 8FA6002C */ lw $a2, 0x002C($sp)
-/* 02668 80B00918 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02668 80B00918 0C02927F */ jal SkelAnime_Update
/* 0266C 80B0091C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02670 80B00920 0C00B638 */ jal Actor_MoveForward
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFE2B0.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFE2B0.s
index 2081f1ecaa..d880599fd8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFE2B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFE2B0.s
@@ -11,7 +11,7 @@ glabel func_80AFE2B0
/* 00024 80AFE2D4 AFA40030 */ sw $a0, 0x0030($sp)
/* 00028 80AFE2D8 01F81821 */ addu $v1, $t7, $t8
/* 0002C 80AFE2DC 8C640000 */ lw $a0, 0x0000($v1) ## 00000000
-/* 00030 80AFE2E0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00030 80AFE2E0 0C028800 */ jal Animation_GetLastFrame
/* 00034 80AFE2E4 AFA30028 */ sw $v1, 0x0028($sp)
/* 00038 80AFE2E8 8FA80030 */ lw $t0, 0x0030($sp)
@@ -28,7 +28,7 @@ glabel func_80AFE2B0
/* 00064 80AFE314 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00068 80AFE318 8C650000 */ lw $a1, 0x0000($v1) ## 00000000
/* 0006C 80AFE31C E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00070 80AFE320 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00070 80AFE320 0C029468 */ jal Animation_Change
/* 00074 80AFE324 AFA90014 */ sw $t1, 0x0014($sp)
/* 00078 80AFE328 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFEF98.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFEF98.s
index dd9b3d81dc..e1ec9a0b07 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFEF98.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFEF98.s
@@ -5,7 +5,7 @@ glabel func_80AFEF98
/* 00CF4 80AFEFA4 3C040600 */ lui $a0, %hi(D_060007A4) ## $a0 = 06000000
/* 00CF8 80AFEFA8 AFA50024 */ sw $a1, 0x0024($sp)
/* 00CFC 80AFEFAC 248407A4 */ addiu $a0, $a0, %lo(D_060007A4) ## $a0 = 060007A4
-/* 00D00 80AFEFB0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00D00 80AFEFB0 0C028800 */ jal Animation_GetLastFrame
/* 00D04 80AFEFB4 AFA60020 */ sw $a2, 0x0020($sp)
/* 00D08 80AFEFB8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF19C.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF19C.s
index 1dd75fc695..d367609667 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF19C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF19C.s
@@ -4,7 +4,7 @@ glabel func_80AFF19C
/* 00EF4 80AFF1A4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00EF8 80AFF1A8 3C040600 */ lui $a0, %hi(D_06006A98) ## $a0 = 06000000
/* 00EFC 80AFF1AC AFA5001C */ sw $a1, 0x001C($sp)
-/* 00F00 80AFF1B0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00F00 80AFF1B0 0C028800 */ jal Animation_GetLastFrame
/* 00F04 80AFF1B4 24846A98 */ addiu $a0, $a0, %lo(D_06006A98) ## $a0 = 06006A98
/* 00F08 80AFF1B8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF220.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF220.s
index 8ce18013f6..36c02e07ff 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF220.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF220.s
@@ -6,7 +6,7 @@ glabel func_80AFF220
/* 00F80 80AFF230 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00F84 80AFF234 3C040600 */ lui $a0, %hi(D_06006D84) ## $a0 = 06000000
/* 00F88 80AFF238 24846D84 */ addiu $a0, $a0, %lo(D_06006D84) ## $a0 = 06006D84
-/* 00F8C 80AFF23C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00F8C 80AFF23C 0C028800 */ jal Animation_GetLastFrame
/* 00F90 80AFF240 AFA50018 */ sw $a1, 0x0018($sp)
/* 00F94 80AFF244 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF2E0.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF2E0.s
index e8dc8514be..06c8c2e884 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF2E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF2E0.s
@@ -4,7 +4,7 @@ glabel func_80AFF2E0
/* 01038 80AFF2E8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0103C 80AFF2EC 3C040600 */ lui $a0, %hi(D_06007128) ## $a0 = 06000000
/* 01040 80AFF2F0 AFA5001C */ sw $a1, 0x001C($sp)
-/* 01044 80AFF2F4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01044 80AFF2F4 0C028800 */ jal Animation_GetLastFrame
/* 01048 80AFF2F8 24847128 */ addiu $a0, $a0, %lo(D_06007128) ## $a0 = 06007128
/* 0104C 80AFF2FC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF5F0.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF5F0.s
index ab808ca40f..9a4ba20bf3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF5F0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFF5F0.s
@@ -2,7 +2,7 @@ glabel func_80AFF5F0
/* 01340 80AFF5F0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01344 80AFF5F4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01348 80AFF5F8 AFA40018 */ sw $a0, 0x0018($sp)
-/* 0134C 80AFF5FC 0C029502 */ jal SkelAnime_AnimReverse
+/* 0134C 80AFF5FC 0C029502 */ jal Animation_Reverse
/* 01350 80AFF600 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01354 80AFF604 8FA40018 */ lw $a0, 0x0018($sp)
/* 01358 80AFF608 0C2BF8CE */ jal func_80AFE338
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFFFBC.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFFFBC.s
index 33e8c1d20c..f730dcbae0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFFFBC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80AFFFBC.s
@@ -11,7 +11,7 @@ glabel func_80AFFFBC
/* 01D30 80AFFFE0 0C2BF8AC */ jal func_80AFE2B0
/* 01D34 80AFFFE4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01D38 80AFFFE8 8FA60018 */ lw $a2, 0x0018($sp)
-/* 01D3C 80AFFFEC 0C029502 */ jal SkelAnime_AnimReverse
+/* 01D3C 80AFFFEC 0C029502 */ jal Animation_Reverse
/* 01D40 80AFFFF0 24C4014C */ addiu $a0, $a2, 0x014C ## $a0 = 0000014C
/* 01D44 80AFFFF4 8FA40018 */ lw $a0, 0x0018($sp)
/* 01D48 80AFFFF8 24050011 */ addiu $a1, $zero, 0x0011 ## $a1 = 00000011
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80B00098.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80B00098.s
index 854f2963e4..2dfee00c91 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80B00098.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/func_80B00098.s
@@ -4,7 +4,7 @@ glabel func_80B00098
/* 01DF0 80B000A0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01DF4 80B000A4 3C040600 */ lui $a0, %hi(D_06007128) ## $a0 = 06000000
/* 01DF8 80B000A8 AFA5001C */ sw $a1, 0x001C($sp)
-/* 01DFC 80B000AC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01DFC 80B000AC 0C028800 */ jal Animation_GetLastFrame
/* 01E00 80B000B0 24847128 */ addiu $a0, $a0, %lo(D_06007128) ## $a0 = 06007128
/* 01E04 80B000B4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B07734.s b/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B07734.s
index e3f82bd82f..523aa955bd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B07734.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B07734.s
@@ -38,7 +38,7 @@ glabel func_80B07734
/* 00284 80B077C4 8FA40034 */ lw $a0, 0x0034($sp)
/* 00288 80B077C8 000E7880 */ sll $t7, $t6, 2
/* 0028C 80B077CC 00AF2821 */ addu $a1, $a1, $t7
-/* 00290 80B077D0 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00290 80B077D0 0C0294BE */ jal Animation_PlayLoop
/* 00294 80B077D4 8CA5B454 */ lw $a1, %lo(D_80B0B454)($a1)
/* 00298 80B077D8 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
/* 0029C 80B077DC 3C0880B1 */ lui $t0, %hi(D_80B0B484) ## $t0 = 80B10000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B07EE0.s b/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B07EE0.s
index 73ac3f4886..e320f656ad 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B07EE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B07EE0.s
@@ -28,7 +28,7 @@ glabel func_80B07EE0
/* 009FC 80B07F3C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00A00 80B07F40 0C00B92D */ jal func_8002E4B4
/* 00A04 80B07F44 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 00A08 80B07F48 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00A08 80B07F48 0C02927F */ jal SkelAnime_Update
/* 00A0C 80B07F4C 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
/* 00A10 80B07F50 50400005 */ beql $v0, $zero, .L80B07F68
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sw/EnSw_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Sw/EnSw_Update.s
index 25ca3a5a4d..ae08fd4844 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sw/EnSw_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sw/EnSw_Update.s
@@ -4,7 +4,7 @@ glabel EnSw_Update
/* 02CC0 80B0EA70 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02CC4 80B0EA74 AFBF001C */ sw $ra, 0x001C($sp)
/* 02CC8 80B0EA78 AFA50024 */ sw $a1, 0x0024($sp)
-/* 02CCC 80B0EA7C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02CCC 80B0EA7C 0C02927F */ jal SkelAnime_Update
/* 02CD0 80B0EA80 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02CD4 80B0EA84 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0D590.s b/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0D590.s
index 880e362da6..0ed5c18e37 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0D590.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0D590.s
@@ -179,7 +179,7 @@ glabel func_80B0D590
/* 01A2C 80B0D7DC 10000021 */ beq $zero, $zero, .L80B0D864
/* 01A30 80B0D7E0 E6080168 */ swc1 $f8, 0x0168($s0) ## 00000168
.L80B0D7E4:
-/* 01A34 80B0D7E4 0C0295B2 */ jal func_800A56C8
+/* 01A34 80B0D7E4 0C0295B2 */ jal Animation_OnFrame
/* 01A38 80B0D7E8 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
/* 01A3C 80B0D7EC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01A40 80B0D7F0 14410002 */ bne $v0, $at, .L80B0D7FC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0D878.s b/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0D878.s
index 543047f7f2..efdb910012 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0D878.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0D878.s
@@ -14,7 +14,7 @@ glabel func_80B0D878
/* 01AF8 80B0D8A8 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFE8
/* 01AFC 80B0D8AC ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFEC
/* 01B00 80B0D8B0 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
-/* 01B04 80B0D8B4 0C0295B2 */ jal func_800A56C8
+/* 01B04 80B0D8B4 0C0295B2 */ jal Animation_OnFrame
/* 01B08 80B0D8B8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01B0C 80B0D8BC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01B10 80B0D8C0 14410003 */ bne $v0, $at, .L80B0D8D0
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0E430.s b/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0E430.s
index 6df5b1d164..4702a99a4b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0E430.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Sw/func_80B0E430.s
@@ -15,7 +15,7 @@ glabel func_80B0E430
/* 02694 80B0E444 AFA50034 */ sw $a1, 0x0034($sp)
/* 02698 80B0E448 AFA60038 */ sw $a2, 0x0038($sp)
/* 0269C 80B0E44C AFA7003C */ sw $a3, 0x003C($sp)
-/* 026A0 80B0E450 0C028800 */ jal SkelAnime_GetFrameCount
+/* 026A0 80B0E450 0C028800 */ jal Animation_GetLastFrame
/* 026A4 80B0E454 24840304 */ addiu $a0, $a0, %lo(D_06000304) ## $a0 = 06000304
/* 026A8 80B0E458 86030388 */ lh $v1, 0x0388($s0) ## 00000388
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/EnTest_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Test/EnTest_Update.s
index 0d4a6fa6d6..ee19398edc 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/EnTest_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/EnTest_Update.s
@@ -97,7 +97,7 @@ glabel EnTest_Update
/* 04180 808637D0 8FBF002C */ lw $ra, 0x002C($sp)
glabel L808637D4
/* 04184 808637D4 3C040600 */ lui $a0, %hi(D_06001C20) ## $a0 = 06000000
-/* 04188 808637D8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04188 808637D8 0C028800 */ jal Animation_GetLastFrame
/* 0418C 808637DC 24841C20 */ addiu $a0, $a0, %lo(D_06001C20) ## $a0 = 06001C20
/* 04190 808637E0 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -112,7 +112,7 @@ glabel L808637D4
/* 041B4 80863804 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 041B8 80863808 260404A8 */ addiu $a0, $s0, 0x04A8 ## $a0 = 000004A8
/* 041BC 8086380C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 041C0 80863810 0C029468 */ jal SkelAnime_ChangeAnim
+/* 041C0 80863810 0C029468 */ jal Animation_Change
/* 041C4 80863814 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 041C8 80863818 3C0C8086 */ lui $t4, %hi(D_80864510) ## $t4 = 80860000
@@ -121,21 +121,21 @@ glabel L808637D4
/* 041D4 80863824 8E0601A8 */ lw $a2, 0x01A8($s0) ## 000001A8
/* 041D8 80863828 8E0704C8 */ lw $a3, 0x04C8($s0) ## 000004C8
/* 041DC 8086382C AFAC0010 */ sw $t4, 0x0010($sp)
-/* 041E0 80863830 0C028D52 */ jal SkelAnime_LoadAnimationType3
+/* 041E0 80863830 0C028D52 */ jal AnimationContext_SetCopyTrue
/* 041E4 80863834 8FA40054 */ lw $a0, 0x0054($sp)
/* 041E8 80863838 920D07DE */ lbu $t5, 0x07DE($s0) ## 000007DE
/* 041EC 8086383C 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
/* 041F0 80863840 1000002C */ beq $zero, $zero, .L808638F4
/* 041F4 80863844 A20E07DE */ sb $t6, 0x07DE($s0) ## 000007DE
glabel L80863848
-/* 041F8 80863848 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 041F8 80863848 0C02927F */ jal SkelAnime_Update
/* 041FC 8086384C 260404A8 */ addiu $a0, $s0, 0x04A8 ## $a0 = 000004A8
/* 04200 80863850 3C078086 */ lui $a3, %hi(D_80864510) ## $a3 = 80860000
/* 04204 80863854 24E74510 */ addiu $a3, $a3, %lo(D_80864510) ## $a3 = 80864510
/* 04208 80863858 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 0420C 8086385C 8E0501A8 */ lw $a1, 0x01A8($s0) ## 000001A8
-/* 04210 80863860 0C02950A */ jal func_800A5428
+/* 04210 80863860 0C02950A */ jal SkelAnime_CopyVec3sTrue
/* 04214 80863864 8E0604C8 */ lw $a2, 0x04C8($s0) ## 000004C8
/* 04218 80863868 10000023 */ beq $zero, $zero, .L808638F8
/* 0421C 8086386C 92180114 */ lbu $t8, 0x0114($s0) ## 00000114
@@ -167,13 +167,13 @@ glabel L80863884
/* 04278 808638C8 8E0701A8 */ lw $a3, 0x01A8($s0) ## 000001A8
/* 0427C 808638CC 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 04280 808638D0 46086281 */ sub.s $f10, $f12, $f8
-/* 04284 808638D4 0C028B9C */ jal SkelAnime_InterpolateVec3s
+/* 04284 808638D4 0C028B9C */ jal SkelAnime_InterpVec3s
/* 04288 808638D8 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0428C 808638DC 3C078086 */ lui $a3, %hi(D_80864510) ## $a3 = 80860000
/* 04290 808638E0 24E74510 */ addiu $a3, $a3, %lo(D_80864510) ## $a3 = 80864510
/* 04294 808638E4 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 04298 808638E8 8E0501A8 */ lw $a1, 0x01A8($s0) ## 000001A8
-/* 0429C 808638EC 0C02950A */ jal func_800A5428
+/* 0429C 808638EC 0C02950A */ jal SkelAnime_CopyVec3sTrue
/* 042A0 808638F0 8E0604C8 */ lw $a2, 0x04C8($s0) ## 000004C8
glabel L808638F4
.L808638F4:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FDD0.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FDD0.s
index b037d3c7c2..092e314c18 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FDD0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FDD0.s
@@ -5,7 +5,7 @@ glabel func_8085FDD0
/* 0078C 8085FDDC 3C050600 */ lui $a1, %hi(D_0600316C) ## $a1 = 06000000
/* 00790 8085FDE0 24A5316C */ addiu $a1, $a1, %lo(D_0600316C) ## $a1 = 0600316C
/* 00794 8085FDE4 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00798 8085FDE8 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00798 8085FDE8 0C0294BE */ jal Animation_PlayLoop
/* 0079C 8085FDEC 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 007A0 8085FDF0 8FA40018 */ lw $a0, 0x0018($sp)
/* 007A4 8085FDF4 3C014060 */ lui $at, 0x4060 ## $at = 40600000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FE48.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FE48.s
index 96a1bba2f2..6ffc1f86d0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FE48.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FE48.s
@@ -4,7 +4,7 @@ glabel func_8085FE48
/* 00800 8085FE50 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00804 8085FE54 AFA5001C */ sw $a1, 0x001C($sp)
/* 00808 8085FE58 AFA60018 */ sw $a2, 0x0018($sp)
-/* 0080C 8085FE5C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0080C 8085FE5C 0C02927F */ jal SkelAnime_Update
/* 00810 8085FE60 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 00814 8085FE64 8FA60018 */ lw $a2, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FF28.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FF28.s
index 7500d4354e..c3720aeea4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FF28.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FF28.s
@@ -5,7 +5,7 @@ glabel func_8085FF28
/* 008E4 8085FF34 3C050600 */ lui $a1, %hi(D_0600316C) ## $a1 = 06000000
/* 008E8 8085FF38 24A5316C */ addiu $a1, $a1, %lo(D_0600316C) ## $a1 = 0600316C
/* 008EC 8085FF3C AFA60018 */ sw $a2, 0x0018($sp)
-/* 008F0 8085FF40 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 008F0 8085FF40 0C0294BE */ jal Animation_PlayLoop
/* 008F4 8085FF44 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 008F8 8085FF48 8FA40018 */ lw $a0, 0x0018($sp)
/* 008FC 8085FF4C 3C014316 */ lui $at, 0x4316 ## $at = 43160000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FF9C.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FF9C.s
index ffea0ff989..0da89cd4f4 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FF9C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8085FF9C.s
@@ -4,7 +4,7 @@ glabel func_8085FF9C
/* 00954 8085FFA4 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00958 8085FFA8 AFA5001C */ sw $a1, 0x001C($sp)
/* 0095C 8085FFAC AFA60018 */ sw $a2, 0x0018($sp)
-/* 00960 8085FFB0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00960 8085FFB0 0C02927F */ jal SkelAnime_Update
/* 00964 8085FFB4 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 00968 8085FFB8 8FA60018 */ lw $a2, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860068.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860068.s
index 7fbabba5e0..8933fc2128 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860068.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860068.s
@@ -5,7 +5,7 @@ glabel func_80860068
/* 00A24 80860074 3C050600 */ lui $a1, %hi(D_0600316C) ## $a1 = 06000000
/* 00A28 80860078 24A5316C */ addiu $a1, $a1, %lo(D_0600316C) ## $a1 = 0600316C
/* 00A2C 8086007C AFA60018 */ sw $a2, 0x0018($sp)
-/* 00A30 80860080 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00A30 80860080 0C0294BE */ jal Animation_PlayLoop
/* 00A34 80860084 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 00A38 80860088 8FA60018 */ lw $a2, 0x0018($sp)
/* 00A3C 8086008C 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808600EC.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808600EC.s
index 631b42095a..ce2ab7ac16 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808600EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808600EC.s
@@ -18,7 +18,7 @@ glabel func_808600EC
/* 00AAC 808600FC 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00AB0 80860100 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00AB4 80860104 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 00AB8 80860108 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00AB8 80860108 0C02927F */ jal SkelAnime_Update
/* 00ABC 8086010C AFAF0024 */ sw $t7, 0x0024($sp)
/* 00AC0 80860110 8FA4002C */ lw $a0, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860318.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860318.s
index ba495d2a91..ea47f576f2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860318.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860318.s
@@ -13,9 +13,9 @@ glabel func_80860318
/* 00CE0 80860330 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 00CE4 80860334 AFA40024 */ sw $a0, 0x0024($sp)
/* 00CE8 80860338 24A5C438 */ addiu $a1, $a1, %lo(D_0600C438) ## $a1 = 0600C438
-/* 00CEC 8086033C 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 00CEC 8086033C 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 00CF0 80860340 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 00CF4 80860344 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CF4 80860344 0C02927F */ jal SkelAnime_Update
/* 00CF8 80860348 8FA40024 */ lw $a0, 0x0024($sp)
/* 00CFC 8086034C C6040080 */ lwc1 $f4, 0x0080($s0) ## 00000080
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808603CC.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808603CC.s
index 3df4150791..eaee03c6d5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808603CC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808603CC.s
@@ -3,7 +3,7 @@ glabel func_808603CC
/* 00D80 808603D0 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D84 808603D4 AFA40018 */ sw $a0, 0x0018($sp)
/* 00D88 808603D8 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00D8C 808603DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D8C 808603DC 0C02927F */ jal SkelAnime_Update
/* 00D90 808603E0 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 00D94 808603E4 50400011 */ beql $v0, $zero, .L8086042C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860438.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860438.s
index 9826405026..7b2cdc4e92 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860438.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860438.s
@@ -4,7 +4,7 @@ glabel func_80860438
/* 00DF0 80860440 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00DF4 80860444 AFBF002C */ sw $ra, 0x002C($sp)
/* 00DF8 80860448 3C040600 */ lui $a0, %hi(D_06001C20) ## $a0 = 06000000
-/* 00DFC 8086044C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00DFC 8086044C 0C028800 */ jal Animation_GetLastFrame
/* 00E00 80860450 24841C20 */ addiu $a0, $a0, %lo(D_06001C20) ## $a0 = 06001C20
/* 00E04 80860454 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,12 +19,12 @@ glabel func_80860438
/* 00E28 80860478 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00E2C 8086047C 260404A8 */ addiu $a0, $s0, 0x04A8 ## $a0 = 000004A8
/* 00E30 80860480 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00E34 80860484 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00E34 80860484 0C029468 */ jal Animation_Change
/* 00E38 80860488 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 00E3C 8086048C 3C050601 */ lui $a1, %hi(D_060081B4) ## $a1 = 06010000
/* 00E40 80860490 24A581B4 */ addiu $a1, $a1, %lo(D_060081B4) ## $a1 = 060081B4
-/* 00E44 80860494 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00E44 80860494 0C0294BE */ jal Animation_PlayLoop
/* 00E48 80860498 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 00E4C 8086049C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808604FC.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808604FC.s
index 3983a1c308..87ad1fa4af 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808604FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808604FC.s
@@ -137,7 +137,7 @@ glabel func_808604FC
/* 01060 808606B0 45000019 */ bc1f .L80860718
/* 01064 808606B4 00000000 */ nop
/* 01068 808606B8 3C040601 */ lui $a0, %hi(D_060081B4) ## $a0 = 06010000
-/* 0106C 808606BC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0106C 808606BC 0C028800 */ jal Animation_GetLastFrame
/* 01070 808606C0 248481B4 */ addiu $a0, $a0, %lo(D_060081B4) ## $a0 = 060081B4
/* 01074 808606C4 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -152,7 +152,7 @@ glabel func_808604FC
/* 01098 808606E8 E7B00010 */ swc1 $f16, 0x0010($sp)
/* 0109C 808606EC AFA00014 */ sw $zero, 0x0014($sp)
/* 010A0 808606F0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 010A4 808606F4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 010A4 808606F4 0C029468 */ jal Animation_Change
/* 010A8 808606F8 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 010AC 808606FC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
@@ -163,7 +163,7 @@ glabel func_808604FC
/* 010C0 80860710 1000001B */ beq $zero, $zero, .L80860780
/* 010C4 80860714 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
.L80860718:
-/* 010C8 80860718 0C028800 */ jal SkelAnime_GetFrameCount
+/* 010C8 80860718 0C028800 */ jal Animation_GetLastFrame
/* 010CC 8086071C 248426D4 */ addiu $a0, $a0, 0x26D4 ## $a0 = 000026D4
/* 010D0 80860720 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -178,7 +178,7 @@ glabel func_808604FC
/* 010F4 80860744 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 010F8 80860748 AFA00014 */ sw $zero, 0x0014($sp)
/* 010FC 8086074C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 01100 80860750 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01100 80860750 0C029468 */ jal Animation_Change
/* 01104 80860754 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01108 80860758 3C014120 */ lui $at, 0x4120 ## $at = 41200000
@@ -274,7 +274,7 @@ glabel func_808604FC
.L8086089C:
/* 0124C 8086089C 4600910D */ trunc.w.s $f4, $f18
/* 01250 808608A0 44032000 */ mfc1 $v1, $f4
-/* 01254 808608A4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01254 808608A4 0C02927F */ jal SkelAnime_Update
/* 01258 808608A8 AFA30060 */ sw $v1, 0x0060($sp)
/* 0125C 808608AC C60001A4 */ lwc1 $f0, 0x01A4($s0) ## 000001A4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860BDC.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860BDC.s
index 81989af1c4..5fa8630760 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860BDC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860BDC.s
@@ -5,7 +5,7 @@ glabel func_80860BDC
/* 01598 80860BE8 3C050601 */ lui $a1, %hi(D_0600E2B0) ## $a1 = 06010000
/* 0159C 80860BEC 24A5E2B0 */ addiu $a1, $a1, %lo(D_0600E2B0) ## $a1 = 0600E2B0
/* 015A0 80860BF0 AFA60018 */ sw $a2, 0x0018($sp)
-/* 015A4 80860BF4 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 015A4 80860BF4 0C0294BE */ jal Animation_PlayLoop
/* 015A8 80860BF8 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 015AC 80860BFC 8FA40018 */ lw $a0, 0x0018($sp)
/* 015B0 80860C00 240E000E */ addiu $t6, $zero, 0x000E ## $t6 = 0000000E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860C24.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860C24.s
index f972bbd5ad..ace3f319f0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860C24.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860C24.s
@@ -100,7 +100,7 @@ glabel func_80860C24
/* 0171C 80860D6C 24C40188 */ addiu $a0, $a2, 0x0188 ## $a0 = 00000188
/* 01720 80860D70 4600428D */ trunc.w.s $f10, $f8
/* 01724 80860D74 44035000 */ mfc1 $v1, $f10
-/* 01728 80860D78 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01728 80860D78 0C02927F */ jal SkelAnime_Update
/* 0172C 80860D7C AFA3001C */ sw $v1, 0x001C($sp)
/* 01730 80860D80 8FA60028 */ lw $a2, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860EC0.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860EC0.s
index 259e1e0252..27106b7a4f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860EC0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860EC0.s
@@ -5,7 +5,7 @@ glabel func_80860EC0
/* 0187C 80860ECC AFBF001C */ sw $ra, 0x001C($sp)
/* 01880 80860ED0 3C050601 */ lui $a1, %hi(D_0600E2B0) ## $a1 = 06010000
/* 01884 80860ED4 24A5E2B0 */ addiu $a1, $a1, %lo(D_0600E2B0) ## $a1 = 0600E2B0
-/* 01888 80860ED8 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 01888 80860ED8 0C0294BE */ jal Animation_PlayLoop
/* 0188C 80860EDC 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 01890 80860EE0 240E000F */ addiu $t6, $zero, 0x000F ## $t6 = 0000000F
/* 01894 80860EE4 0C03F66B */ jal Rand_ZeroOne
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860F84.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860F84.s
index 1e6f52a637..e11bfff061 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860F84.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80860F84.s
@@ -242,7 +242,7 @@ glabel func_80860F84
/* 01C7C 808612CC 4600448D */ trunc.w.s $f18, $f8
/* 01C80 808612D0 44039000 */ mfc1 $v1, $f18
/* 01C84 808612D4 E60A01A4 */ swc1 $f10, 0x01A4($s0) ## 000001A4
-/* 01C88 808612D8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01C88 808612D8 0C02927F */ jal SkelAnime_Update
/* 01C8C 808612DC AFA3003C */ sw $v1, 0x003C($sp)
/* 01C90 808612E0 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861418.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861418.s
index 21d10b2894..b1969424bd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861418.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861418.s
@@ -5,7 +5,7 @@ glabel func_80861418
/* 01DD4 80861424 AFBF001C */ sw $ra, 0x001C($sp)
/* 01DD8 80861428 3C050601 */ lui $a1, %hi(D_0600B00C) ## $a1 = 06010000
/* 01DDC 8086142C 24A5B00C */ addiu $a1, $a1, %lo(D_0600B00C) ## $a1 = 0600B00C
-/* 01DE0 80861430 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 01DE0 80861430 0C02947A */ jal Animation_PlayOnce
/* 01DE4 80861434 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 01DE8 80861438 260400E4 */ addiu $a0, $s0, 0x00E4 ## $a0 = 000000E4
/* 01DEC 8086143C 0C03E291 */ jal func_800F8A44
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086149C.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086149C.s
index 1e450bc763..6ce9de647c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086149C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086149C.s
@@ -49,7 +49,7 @@ glabel func_8086149C
/* 01EF8 80861548 A2180808 */ sb $t8, 0x0808($s0) ## 00000808
/* 01EFC 8086154C A2000808 */ sb $zero, 0x0808($s0) ## 00000808
.L80861550:
-/* 01F00 80861550 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01F00 80861550 0C02927F */ jal SkelAnime_Update
/* 01F04 80861554 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 01F08 80861558 1040000D */ beq $v0, $zero, .L80861590
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808615A4.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808615A4.s
index 1ab96f0582..00050ef2c0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808615A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808615A4.s
@@ -5,7 +5,7 @@ glabel func_808615A4
/* 01F60 808615B0 3C050601 */ lui $a1, %hi(D_0600B4E4) ## $a1 = 06010000
/* 01F64 808615B4 24A5B4E4 */ addiu $a1, $a1, %lo(D_0600B4E4) ## $a1 = 0600B4E4
/* 01F68 808615B8 AFA60018 */ sw $a2, 0x0018($sp)
-/* 01F6C 808615BC 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 01F6C 808615BC 0C02947A */ jal Animation_PlayOnce
/* 01F70 808615C0 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 01F74 808615C4 8FA40018 */ lw $a0, 0x0018($sp)
/* 01F78 808615C8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808615F4.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808615F4.s
index 8fb803c78f..dba77a6e4d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808615F4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808615F4.s
@@ -13,7 +13,7 @@ glabel func_808615F4
/* 01FB4 80861604 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 01FB8 80861608 AFA60020 */ sw $a2, 0x0020($sp)
/* 01FBC 8086160C 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 01FC0 80861610 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01FC0 80861610 0C02927F */ jal SkelAnime_Update
/* 01FC4 80861614 AFAF001C */ sw $t7, 0x001C($sp)
/* 01FC8 80861618 1040007C */ beq $v0, $zero, .L8086180C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086181C.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086181C.s
index b73f5d8923..a2c38a2845 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086181C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086181C.s
@@ -5,7 +5,7 @@ glabel func_8086181C
/* 021D8 80861828 3C050601 */ lui $a1, %hi(D_0600BE4C) ## $a1 = 06010000
/* 021DC 8086182C 24A5BE4C */ addiu $a1, $a1, %lo(D_0600BE4C) ## $a1 = 0600BE4C
/* 021E0 80861830 AFA60018 */ sw $a2, 0x0018($sp)
-/* 021E4 80861834 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 021E4 80861834 0C02947A */ jal Animation_PlayOnce
/* 021E8 80861838 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 021EC 8086183C 8FA40018 */ lw $a0, 0x0018($sp)
/* 021F0 80861840 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861898.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861898.s
index da705357cf..8bc3688fca 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861898.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861898.s
@@ -37,7 +37,7 @@ glabel func_80861898
/* 022CC 8086191C A0D80808 */ sb $t8, 0x0808($a2) ## 00000808
/* 022D0 80861920 A0C00808 */ sb $zero, 0x0808($a2) ## 00000808
.L80861924:
-/* 022D4 80861924 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 022D4 80861924 0C02927F */ jal SkelAnime_Update
/* 022D8 80861928 AFA60018 */ sw $a2, 0x0018($sp)
/* 022DC 8086192C 10400003 */ beq $v0, $zero, .L8086193C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086194C.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086194C.s
index c26937589b..9d99e55907 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086194C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086194C.s
@@ -5,7 +5,7 @@ glabel func_8086194C
/* 02308 80861958 AFBF001C */ sw $ra, 0x001C($sp)
/* 0230C 8086195C 3C050600 */ lui $a1, %hi(D_06001978) ## $a1 = 06000000
/* 02310 80861960 24A51978 */ addiu $a1, $a1, %lo(D_06001978) ## $a1 = 06001978
-/* 02314 80861964 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02314 80861964 0C02947A */ jal Animation_PlayOnce
/* 02318 80861968 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 0231C 8086196C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02320 80861970 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808619EC.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808619EC.s
index 264334cdb8..73929b4886 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808619EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808619EC.s
@@ -24,7 +24,7 @@ glabel func_808619EC
.L80861A3C:
/* 023EC 80861A3C AE0F07E8 */ sw $t7, 0x07E8($s0) ## 000007E8
.L80861A40:
-/* 023F0 80861A40 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 023F0 80861A40 0C02927F */ jal SkelAnime_Update
/* 023F4 80861A44 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 023F8 80861A48 10400042 */ beq $v0, $zero, .L80861B54
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861B94.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861B94.s
index 972ff6b358..f5c9220e54 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861B94.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861B94.s
@@ -5,7 +5,7 @@ glabel func_80861B94
/* 02550 80861BA0 AFBF001C */ sw $ra, 0x001C($sp)
/* 02554 80861BA4 3C050601 */ lui $a1, %hi(D_0600A324) ## $a1 = 06010000
/* 02558 80861BA8 24A5A324 */ addiu $a1, $a1, %lo(D_0600A324) ## $a1 = 0600A324
-/* 0255C 80861BAC 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 0255C 80861BAC 0C02947A */ jal Animation_PlayOnce
/* 02560 80861BB0 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 02564 80861BB4 260400E4 */ addiu $a0, $s0, 0x00E4 ## $a0 = 000000E4
/* 02568 80861BB8 0C03E291 */ jal func_800F8A44
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861C40.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861C40.s
index cea17d4acc..88c197e3fd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861C40.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861C40.s
@@ -5,7 +5,7 @@ glabel func_80861C40
/* 025FC 80861C4C AFBF001C */ sw $ra, 0x001C($sp)
/* 02600 80861C50 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 02604 80861C54 AFA5002C */ sw $a1, 0x002C($sp)
-/* 02608 80861C58 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02608 80861C58 0C02927F */ jal SkelAnime_Update
/* 0260C 80861C5C AFA40024 */ sw $a0, 0x0024($sp)
/* 02610 80861C60 10400016 */ beq $v0, $zero, .L80861CBC
@@ -14,7 +14,7 @@ glabel func_80861C40
/* 0261C 80861C6C 3C050601 */ lui $a1, %hi(D_0600A99C) ## $a1 = 06010000
/* 02620 80861C70 55C0000F */ bnel $t6, $zero, .L80861CB0
/* 02624 80861C74 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
-/* 02628 80861C78 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02628 80861C78 0C02947A */ jal Animation_PlayOnce
/* 0262C 80861C7C 24A5A99C */ addiu $a1, $a1, %lo(D_0600A99C) ## $a1 = 0600A99C
/* 02630 80861C80 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 02634 80861C84 AE0207E8 */ sw $v0, 0x07E8($s0) ## 000007E8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861D50.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861D50.s
index 821df19cf3..df2a55d76d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861D50.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861D50.s
@@ -5,7 +5,7 @@ glabel func_80861D50
/* 0270C 80861D5C 3C050601 */ lui $a1, %hi(D_0600A324) ## $a1 = 06010000
/* 02710 80861D60 24A5A324 */ addiu $a1, $a1, %lo(D_0600A324) ## $a1 = 0600A324
/* 02714 80861D64 AFA60018 */ sw $a2, 0x0018($sp)
-/* 02718 80861D68 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02718 80861D68 0C02947A */ jal Animation_PlayOnce
/* 0271C 80861D6C 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 02720 80861D70 8FA40018 */ lw $a0, 0x0018($sp)
/* 02724 80861D74 3C014160 */ lui $at, 0x4160 ## $at = 41600000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861DC8.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861DC8.s
index ff68af04ac..fb82041712 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861DC8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861DC8.s
@@ -13,7 +13,7 @@ glabel func_80861DC8
/* 027A4 80861DF4 24070FA0 */ addiu $a3, $zero, 0x0FA0 ## $a3 = 00000FA0
/* 027A8 80861DF8 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
-/* 027AC 80861DFC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 027AC 80861DFC 0C02927F */ jal SkelAnime_Update
/* 027B0 80861E00 AFA40034 */ sw $a0, 0x0034($sp)
/* 027B4 80861E04 C6040080 */ lwc1 $f4, 0x0080($s0) ## 00000080
@@ -54,7 +54,7 @@ glabel func_80861DC8
/* 02838 80861E88 24A5C438 */ addiu $a1, $a1, %lo(D_0600C438) ## $a1 = 0600C438
/* 0283C 80861E8C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 02840 80861E90 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 02844 80861E94 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02844 80861E94 0C029468 */ jal Animation_Change
/* 02848 80861E98 8FA40034 */ lw $a0, 0x0034($sp)
/* 0284C 80861E9C 3C058086 */ lui $a1, %hi(func_808603CC) ## $a1 = 80860000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861EC0.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861EC0.s
index 7cf16175da..4a3a8097d7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861EC0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861EC0.s
@@ -4,7 +4,7 @@ glabel func_80861EC0
/* 02878 80861EC8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0287C 80861ECC AFBF002C */ sw $ra, 0x002C($sp)
/* 02880 80861ED0 3C040600 */ lui $a0, %hi(D_06001C20) ## $a0 = 06000000
-/* 02884 80861ED4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02884 80861ED4 0C028800 */ jal Animation_GetLastFrame
/* 02888 80861ED8 24841C20 */ addiu $a0, $a0, %lo(D_06001C20) ## $a0 = 06001C20
/* 0288C 80861EDC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80861EC0
/* 028B0 80861F00 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 028B4 80861F04 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 028B8 80861F08 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 028BC 80861F0C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 028BC 80861F0C 0C029468 */ jal Animation_Change
/* 028C0 80861F10 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 028C4 80861F14 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861F80.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861F80.s
index bf386d9050..a3671e754b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861F80.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80861F80.s
@@ -12,7 +12,7 @@ glabel func_80861F80
/* 02958 80861FA8 0C01E0C4 */ jal Math_SmoothStepToF
/* 0295C 80861FAC E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 02960 80861FB0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02960 80861FB0 0C02927F */ jal SkelAnime_Update
/* 02964 80861FB4 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 02968 80861FB8 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862050.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862050.s
index 58f2507899..4c6b427efe 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862050.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862050.s
@@ -6,7 +6,7 @@ glabel func_80862050
/* 02A10 80862060 24A5316C */ addiu $a1, $a1, %lo(D_0600316C) ## $a1 = 0600316C
/* 02A14 80862064 AFA70018 */ sw $a3, 0x0018($sp)
/* 02A18 80862068 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 02A1C 8086206C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 02A1C 8086206C 0C0294D3 */ jal Animation_MorphToLoop
/* 02A20 80862070 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 02A24 80862074 8FA40018 */ lw $a0, 0x0018($sp)
/* 02A28 80862078 240E0016 */ addiu $t6, $zero, 0x0016 ## $t6 = 00000016
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086209C.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086209C.s
index 8c8c703622..3f5a934a61 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086209C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086209C.s
@@ -12,7 +12,7 @@ glabel func_8086209C
/* 02A74 808620C4 0C01E0C4 */ jal Math_SmoothStepToF
/* 02A78 808620C8 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 02A7C 808620CC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02A7C 808620CC 0C02927F */ jal SkelAnime_Update
/* 02A80 808620D0 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 02A84 808620D4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862154.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862154.s
index a815eddd8e..61b3e3eaf6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862154.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862154.s
@@ -5,7 +5,7 @@ glabel func_80862154
/* 02B10 80862160 AFBF0024 */ sw $ra, 0x0024($sp)
/* 02B14 80862164 3C050601 */ lui $a1, %hi(D_06008604) ## $a1 = 06010000
/* 02B18 80862168 24A58604 */ addiu $a1, $a1, %lo(D_06008604) ## $a1 = 06008604
-/* 02B1C 8086216C 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02B1C 8086216C 0C02947A */ jal Animation_PlayOnce
/* 02B20 80862170 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 02B24 80862174 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02B28 80862178 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808621D4.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808621D4.s
index 735c831819..5b8989ed91 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808621D4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808621D4.s
@@ -20,7 +20,7 @@ glabel func_808621D4
/* 02BB8 80862208 0C01E0C4 */ jal Math_SmoothStepToF
/* 02BBC 8086220C AFAF002C */ sw $t7, 0x002C($sp)
-/* 02BC0 80862210 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02BC0 80862210 0C02927F */ jal SkelAnime_Update
/* 02BC4 80862214 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 02BC8 80862218 50400024 */ beql $v0, $zero, .L808622AC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862398.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862398.s
index 30e58bcd79..97a83df3b8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862398.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862398.s
@@ -5,7 +5,7 @@ glabel func_80862398
/* 02D54 808623A4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 02D58 808623A8 3C050600 */ lui $a1, %hi(D_06000444) ## $a1 = 06000000
/* 02D5C 808623AC 24A50444 */ addiu $a1, $a1, %lo(D_06000444) ## $a1 = 06000444
-/* 02D60 808623B0 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 02D60 808623B0 0C02947A */ jal Animation_PlayOnce
/* 02D64 808623B4 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 02D68 808623B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02D6C 808623BC 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862418.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862418.s
index 0904021aac..c52bebc405 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862418.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862418.s
@@ -20,7 +20,7 @@ glabel func_80862418
/* 02DFC 8086244C 0C01E0C4 */ jal Math_SmoothStepToF
/* 02E00 80862450 AFAF002C */ sw $t7, 0x002C($sp)
-/* 02E04 80862454 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02E04 80862454 0C02927F */ jal SkelAnime_Update
/* 02E08 80862458 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 02E0C 8086245C 5040000B */ beql $v0, $zero, .L8086248C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862578.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862578.s
index 60187aa438..df332ba7ed 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862578.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862578.s
@@ -41,7 +41,7 @@ glabel func_80862578
/* 02FC0 80862610 A60907E0 */ sh $t1, 0x07E0($s0) ## 000007E0
.L80862614:
/* 02FC4 80862614 24A58604 */ addiu $a1, $a1, %lo(D_06008604) ## $a1 = 06008604
-/* 02FC8 80862618 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 02FC8 80862618 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 02FCC 8086261C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
.L80862620:
/* 02FD0 80862620 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808627C4.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808627C4.s
index ed6810b67b..7223432d20 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808627C4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808627C4.s
@@ -16,7 +16,7 @@ glabel func_808627C4
.L808627FC:
/* 031AC 808627FC 3C050601 */ lui $a1, %hi(D_0600E2B0) ## $a1 = 06010000
/* 031B0 80862800 24A5E2B0 */ addiu $a1, $a1, %lo(D_0600E2B0) ## $a1 = 0600E2B0
-/* 031B4 80862804 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 031B4 80862804 0C0294D3 */ jal Animation_MorphToLoop
/* 031B8 80862808 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 031BC 8086280C 8605008A */ lh $a1, 0x008A($s0) ## 0000008A
/* 031C0 80862810 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808628C8.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808628C8.s
index 1e593251de..bddbb08b3a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808628C8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808628C8.s
@@ -241,7 +241,7 @@ glabel func_808628C8
/* 035B8 80862C08 4600448D */ trunc.w.s $f18, $f8
/* 035BC 80862C0C 440D9000 */ mfc1 $t5, $f18
/* 035C0 80862C10 E60A01A4 */ swc1 $f10, 0x01A4($s0) ## 000001A4
-/* 035C4 80862C14 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 035C4 80862C14 0C02927F */ jal SkelAnime_Update
/* 035C8 80862C18 AFAD0040 */ sw $t5, 0x0040($sp)
/* 035CC 80862C1C 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862FA8.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862FA8.s
index e26038cd7d..61ad94f76a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862FA8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80862FA8.s
@@ -6,7 +6,7 @@ glabel func_80862FA8
/* 03968 80862FB8 3C050600 */ lui $a1, %hi(D_06001420) ## $a1 = 06000000
/* 0396C 80862FBC 24A51420 */ addiu $a1, $a1, %lo(D_06001420) ## $a1 = 06001420
/* 03970 80862FC0 AFA60018 */ sw $a2, 0x0018($sp)
-/* 03974 80862FC4 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 03974 80862FC4 0C02947A */ jal Animation_PlayOnce
/* 03978 80862FC8 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 0397C 80862FCC 8FA40018 */ lw $a0, 0x0018($sp)
/* 03980 80862FD0 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863044.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863044.s
index 87ff54d225..4d6ecfff50 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863044.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863044.s
@@ -4,7 +4,7 @@ glabel func_80863044
/* 039FC 8086304C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03A00 80863050 AFBF001C */ sw $ra, 0x001C($sp)
/* 03A04 80863054 AFA50024 */ sw $a1, 0x0024($sp)
-/* 03A08 80863058 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03A08 80863058 0C02927F */ jal SkelAnime_Update
/* 03A0C 8086305C 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 03A10 80863060 50400015 */ beql $v0, $zero, .L808630B8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808630F0.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808630F0.s
index aec303d82c..1c833d8f80 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_808630F0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_808630F0.s
@@ -6,7 +6,7 @@ glabel func_808630F0
/* 03AB0 80863100 3C050601 */ lui $a1, %hi(D_06009A90) ## $a1 = 06010000
/* 03AB4 80863104 24A59A90 */ addiu $a1, $a1, %lo(D_06009A90) ## $a1 = 06009A90
/* 03AB8 80863108 AFA60018 */ sw $a2, 0x0018($sp)
-/* 03ABC 8086310C 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 03ABC 8086310C 0C02947A */ jal Animation_PlayOnce
/* 03AC0 80863110 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 03AC4 80863114 8FA40018 */ lw $a0, 0x0018($sp)
/* 03AC8 80863118 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086318C.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086318C.s
index b02c10729b..06645ab07a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086318C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_8086318C.s
@@ -4,7 +4,7 @@ glabel func_8086318C
/* 03B44 80863194 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03B48 80863198 AFBF001C */ sw $ra, 0x001C($sp)
/* 03B4C 8086319C AFA50024 */ sw $a1, 0x0024($sp)
-/* 03B50 808631A0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03B50 808631A0 0C02927F */ jal SkelAnime_Update
/* 03B54 808631A4 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 03B58 808631A8 50400015 */ beql $v0, $zero, .L80863200
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863294.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863294.s
index 97ff1a4462..f4a06a1f95 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863294.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863294.s
@@ -9,7 +9,7 @@ glabel func_80863294
/* 03C4C 8086329C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03C50 808632A0 AFBF001C */ sw $ra, 0x001C($sp)
/* 03C54 808632A4 AFA50024 */ sw $a1, 0x0024($sp)
-/* 03C58 808632A8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03C58 808632A8 0C02927F */ jal SkelAnime_Update
/* 03C5C 808632AC 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 03C60 808632B0 50400027 */ beql $v0, $zero, .L80863350
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863360.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863360.s
index 4674d2e096..04ba6260a7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863360.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80863360.s
@@ -12,7 +12,7 @@ glabel func_80863360
/* 03D1C 8086336C AFBF0014 */ sw $ra, 0x0014($sp)
/* 03D20 80863370 AFA40018 */ sw $a0, 0x0018($sp)
/* 03D24 80863374 AFA50018 */ sw $a1, 0x0018($sp)
-/* 03D28 80863378 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03D28 80863378 0C02927F */ jal SkelAnime_Update
/* 03D2C 8086337C 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 03D30 80863380 8FA50018 */ lw $a1, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80864158.s b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80864158.s
index 8df5494741..55c4e3aeab 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Test/func_80864158.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Test/func_80864158.s
@@ -7,7 +7,7 @@ glabel func_80864158
/* 04B1C 8086416C 24A5E2B0 */ addiu $a1, $a1, %lo(D_0600E2B0) ## $a1 = 0600E2B0
/* 04B20 80864170 AFA70018 */ sw $a3, 0x0018($sp)
/* 04B24 80864174 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 04B28 80864178 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 04B28 80864178 0C0294D3 */ jal Animation_MorphToLoop
/* 04B2C 8086417C 3C06C000 */ lui $a2, 0xC000 ## $a2 = C0000000
/* 04B30 80864180 8FA70018 */ lw $a3, 0x0018($sp)
/* 04B34 80864184 C7A4001C */ lwc1 $f4, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Update.s
index 00a4a082d0..f1df79430f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Update.s
@@ -33,7 +33,7 @@ glabel EnTg_Update
/* 00300 80B18660 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOT
/* 00304 80B18664 00A12821 */ addu $a1, $a1, $at
-/* 00308 80B18668 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00308 80B18668 0C02927F */ jal SkelAnime_Update
/* 0030C 80B1866C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00310 80B18670 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18C5C.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18C5C.s
index 2bed6fd1f5..7eba9f2820 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18C5C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18C5C.s
@@ -6,7 +6,7 @@ glabel func_80B18C5C
/* 001EC 80B18C6C 24A512E4 */ addiu $a1, $a1, %lo(D_060012E4) ## $a1 = 060012E4
/* 001F0 80B18C70 AFA70018 */ sw $a3, 0x0018($sp)
/* 001F4 80B18C74 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 001F8 80B18C78 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 001F8 80B18C78 0C0294D3 */ jal Animation_MorphToLoop
/* 001FC 80B18C7C 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 00200 80B18C80 8FA70018 */ lw $a3, 0x0018($sp)
/* 00204 80B18C84 240E0006 */ addiu $t6, $zero, 0x0006 ## $t6 = 00000006
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18CC4.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18CC4.s
index 6498f14951..6eba1bf884 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18CC4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18CC4.s
@@ -5,7 +5,7 @@ glabel func_80B18CC4
/* 00250 80B18CD0 AFBF002C */ sw $ra, 0x002C($sp)
/* 00254 80B18CD4 F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 00258 80B18CD8 AFA50034 */ sw $a1, 0x0034($sp)
-/* 0025C 80B18CDC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0025C 80B18CDC 0C02927F */ jal SkelAnime_Update
/* 00260 80B18CE0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00264 80B18CE4 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18E08.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18E08.s
index 542695e858..5d846f77dd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18E08.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18E08.s
@@ -5,7 +5,7 @@ glabel func_80B18E08
/* 00394 80B18E14 3C050600 */ lui $a1, %hi(D_0600083C) ## $a1 = 06000000
/* 00398 80B18E18 24A5083C */ addiu $a1, $a1, %lo(D_0600083C) ## $a1 = 0600083C
/* 0039C 80B18E1C AFA60018 */ sw $a2, 0x0018($sp)
-/* 003A0 80B18E20 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 003A0 80B18E20 0C02947A */ jal Animation_PlayOnce
/* 003A4 80B18E24 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 003A8 80B18E28 8FA60018 */ lw $a2, 0x0018($sp)
/* 003AC 80B18E2C 240E0009 */ addiu $t6, $zero, 0x0009 ## $t6 = 00000009
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18E7C.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18E7C.s
index 5ce96227c0..9758f34ec9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18E7C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B18E7C.s
@@ -5,7 +5,7 @@ glabel func_80B18E7C
/* 00408 80B18E88 AFBF002C */ sw $ra, 0x002C($sp)
/* 0040C 80B18E8C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00410 80B18E90 AFA5005C */ sw $a1, 0x005C($sp)
-/* 00414 80B18E94 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00414 80B18E94 0C02927F */ jal SkelAnime_Update
/* 00418 80B18E98 AFA40038 */ sw $a0, 0x0038($sp)
/* 0041C 80B18E9C 504000AA */ beql $v0, $zero, .L80B19148
@@ -198,7 +198,7 @@ glabel func_80B18E7C
/* 006B0 80B19130 13230004 */ beq $t9, $v1, .L80B19144
/* 006B4 80B19134 3C0580B2 */ lui $a1, %hi(D_80B1B634) ## $a1 = 80B20000
/* 006B8 80B19138 00A82821 */ addu $a1, $a1, $t0
-/* 006BC 80B1913C 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 006BC 80B1913C 0C02947A */ jal Animation_PlayOnce
/* 006C0 80B19140 8CA5B634 */ lw $a1, %lo(D_80B1B634)($a1)
.L80B19144:
/* 006C4 80B19144 860202E0 */ lh $v0, 0x02E0($s0) ## 000002E0
@@ -308,7 +308,7 @@ glabel func_80B18E7C
/* 0083C 80B192BC 8FA40038 */ lw $a0, 0x0038($sp)
/* 00840 80B192C0 24A512E4 */ addiu $a1, $a1, 0x12E4 ## $a1 = 000012E4
/* 00844 80B192C4 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
-/* 00848 80B192C8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00848 80B192C8 0C0294D3 */ jal Animation_MorphToLoop
/* 0084C 80B192CC AFA70040 */ sw $a3, 0x0040($sp)
/* 00850 80B192D0 8FA70040 */ lw $a3, 0x0040($sp)
/* 00854 80B192D4 8E0A02EC */ lw $t2, 0x02EC($s0) ## 000002EC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19524.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19524.s
index d99b5e7280..eb06ed1c05 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19524.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19524.s
@@ -5,7 +5,7 @@ glabel func_80B19524
/* 00AB0 80B19530 3C050600 */ lui $a1, %hi(D_06000A14) ## $a1 = 06000000
/* 00AB4 80B19534 24A50A14 */ addiu $a1, $a1, %lo(D_06000A14) ## $a1 = 06000A14
/* 00AB8 80B19538 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00ABC 80B1953C 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00ABC 80B1953C 0C0294BE */ jal Animation_PlayLoop
/* 00AC0 80B19540 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AC4 80B19544 8FA60018 */ lw $a2, 0x0018($sp)
/* 00AC8 80B19548 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B195C0.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B195C0.s
index 6e37ebda90..1869678439 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B195C0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B195C0.s
@@ -108,7 +108,7 @@ glabel func_80B195C0
/* 00CB0 80B19730 46049182 */ mul.s $f6, $f18, $f4
/* 00CB4 80B19734 E6060168 */ swc1 $f6, 0x0168($s0) ## 00000168
.L80B19738:
-/* 00CB8 80B19738 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00CB8 80B19738 0C02927F */ jal SkelAnime_Update
/* 00CBC 80B1973C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00CC0 80B19740 C6080164 */ lwc1 $f8, 0x0164($s0) ## 00000164
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1985C.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1985C.s
index c718c0c0ab..88b9120311 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1985C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1985C.s
@@ -5,7 +5,7 @@ glabel func_80B1985C
/* 00DE8 80B19868 AFBF001C */ sw $ra, 0x001C($sp)
/* 00DEC 80B1986C 3C050600 */ lui $a1, %hi(D_06000C70) ## $a1 = 06000000
/* 00DF0 80B19870 24A50C70 */ addiu $a1, $a1, %lo(D_06000C70) ## $a1 = 06000C70
-/* 00DF4 80B19874 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00DF4 80B19874 0C0294BE */ jal Animation_PlayLoop
/* 00DF8 80B19878 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00DFC 80B1987C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00E00 80B19880 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19918.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19918.s
index 14633b71aa..6bb28a5f1c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19918.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19918.s
@@ -13,7 +13,7 @@ glabel func_80B19918
/* 00EC4 80B19944 0C01E0C4 */ jal Math_SmoothStepToF
/* 00EC8 80B19948 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 00ECC 80B1994C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00ECC 80B1994C 0C02927F */ jal SkelAnime_Update
/* 00ED0 80B19950 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00ED4 80B19954 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19E28.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19E28.s
index 506c9734c2..9cfe3cd749 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19E28.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19E28.s
@@ -8,7 +8,7 @@ glabel func_80B19E28
/* 013C0 80B19E40 24A512E4 */ addiu $a1, $a1, %lo(D_060012E4) ## $a1 = 060012E4
/* 013C4 80B19E44 AFA70018 */ sw $a3, 0x0018($sp)
/* 013C8 80B19E48 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 013CC 80B19E4C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 013CC 80B19E4C 0C0294D3 */ jal Animation_MorphToLoop
/* 013D0 80B19E50 3C064080 */ lui $a2, 0x4080 ## $a2 = 40800000
/* 013D4 80B19E54 8FA40018 */ lw $a0, 0x0018($sp)
/* 013D8 80B19E58 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19E94.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19E94.s
index e6c1e9525a..664344d345 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19E94.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B19E94.s
@@ -224,7 +224,7 @@ glabel func_80B19E94
/* 01748 80B1A1C8 0C2C6617 */ jal func_80B1985C
/* 0174C 80B1A1CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B1A1D0:
-/* 01750 80B1A1D0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01750 80B1A1D0 0C02927F */ jal SkelAnime_Update
/* 01754 80B1A1D4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01758 80B1A1D8 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A1EC.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A1EC.s
index e235a8da64..74ebaf9468 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A1EC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A1EC.s
@@ -4,7 +4,7 @@ glabel func_80B1A1EC
/* 01774 80B1A1F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01778 80B1A1F8 AFBF002C */ sw $ra, 0x002C($sp)
/* 0177C 80B1A1FC 3C040600 */ lui $a0, %hi(D_060012E4) ## $a0 = 06000000
-/* 01780 80B1A200 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01780 80B1A200 0C028800 */ jal Animation_GetLastFrame
/* 01784 80B1A204 248412E4 */ addiu $a0, $a0, %lo(D_060012E4) ## $a0 = 060012E4
/* 01788 80B1A208 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B1A1EC
/* 017AC 80B1A22C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 017B0 80B1A230 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 017B4 80B1A234 AFA00014 */ sw $zero, 0x0014($sp)
-/* 017B8 80B1A238 0C029468 */ jal SkelAnime_ChangeAnim
+/* 017B8 80B1A238 0C029468 */ jal Animation_Change
/* 017BC 80B1A23C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 017C0 80B1A240 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A2A0.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A2A0.s
index d93b3a384f..d63cae4393 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A2A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A2A0.s
@@ -243,7 +243,7 @@ glabel func_80B1A2A0
/* 01B98 80B1A618 0C2C6617 */ jal func_80B1985C
/* 01B9C 80B1A61C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B1A620:
-/* 01BA0 80B1A620 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01BA0 80B1A620 0C02927F */ jal SkelAnime_Update
/* 01BA4 80B1A624 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01BA8 80B1A628 8FBF002C */ lw $ra, 0x002C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A76C.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A76C.s
index c255b401c9..fb3431d8ed 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A76C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A76C.s
@@ -6,7 +6,7 @@ glabel func_80B1A76C
/* 01CFC 80B1A77C 3C050600 */ lui $a1, %hi(D_06000A14) ## $a1 = 06000000
/* 01D00 80B1A780 24A50A14 */ addiu $a1, $a1, %lo(D_06000A14) ## $a1 = 06000A14
/* 01D04 80B1A784 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01D08 80B1A788 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 01D08 80B1A788 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 01D0C 80B1A78C 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 01D10 80B1A790 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01D14 80B1A794 0C00BE0A */ jal Audio_PlayActorSound2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A888.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A888.s
index 9a9e7f123d..c7e4269eae 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A888.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1A888.s
@@ -67,7 +67,7 @@ glabel func_80B1A888
/* 01EF4 80B1A974 460A0402 */ mul.s $f16, $f0, $f10
/* 01EF8 80B1A978 E6100164 */ swc1 $f16, 0x0164($s0) ## 00000164
.L80B1A97C:
-/* 01EFC 80B1A97C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01EFC 80B1A97C 0C02927F */ jal SkelAnime_Update
/* 01F00 80B1A980 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01F04 80B1A984 96020088 */ lhu $v0, 0x0088($s0) ## 00000088
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1AA94.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1AA94.s
index dc1f3a0228..abd5f73fd1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1AA94.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/func_80B1AA94.s
@@ -11,7 +11,7 @@ glabel func_80B1AA94
/* 02038 80B1AAB8 0C01E1A7 */ jal Math_SmoothStepToS
/* 0203C 80B1AABC 24070FA0 */ addiu $a3, $zero, 0x0FA0 ## $a3 = 00000FA0
-/* 02040 80B1AAC0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02040 80B1AAC0 0C02927F */ jal SkelAnime_Update
/* 02044 80B1AAC4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02048 80B1AAC8 960E0088 */ lhu $t6, 0x0088($s0) ## 00000088
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s
index 62774a1b68..cdbbbab471 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s
@@ -551,7 +551,7 @@ glabel EnTorch2_Update
/* 00C0C 80B1E58C E5E601CC */ swc1 $f6, 0x01CC($t7) ## 000001D0
/* 00C10 80B1E590 8FA50078 */ lw $a1, 0x0078($sp)
/* 00C14 80B1E594 8FA40084 */ lw $a0, 0x0084($sp)
-/* 00C18 80B1E598 0C028EF0 */ jal func_800A3BC0
+/* 00C18 80B1E598 0C028EF0 */ jal LinkAnimation_Update
/* 00C1C 80B1E59C 24A501B4 */ addiu $a1, $a1, 0x01B4 ## $a1 = 000001B4
/* 00C20 80B1E5A0 3C0180B2 */ lui $at, %hi(sHoldShieldTimer) ## $at = 80B20000
/* 00C24 80B1E5A4 AC20F9FC */ sw $zero, %lo(sHoldShieldTimer)($at)
@@ -1681,7 +1681,7 @@ glabel EnTorch2_Update
/* 01C3C 80B1F5BC E61001D0 */ swc1 $f16, 0x01D0($s0) ## 000001D0
/* 01C40 80B1F5C0 AFAE0030 */ sw $t6, 0x0030($sp)
/* 01C44 80B1F5C4 AFB90038 */ sw $t9, 0x0038($sp)
-/* 01C48 80B1F5C8 0C028EF0 */ jal func_800A3BC0
+/* 01C48 80B1F5C8 0C028EF0 */ jal LinkAnimation_Update
/* 01C4C 80B1F5CC 8FA40084 */ lw $a0, 0x0084($sp)
/* 01C50 80B1F5D0 8FA40084 */ lw $a0, 0x0084($sp)
/* 01C54 80B1F5D4 0C017458 */ jal Collider_QuadSetAT
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Init.s
index e17e482ff4..620d8b415e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Init.s
@@ -126,7 +126,7 @@ glabel EnToryo_Init
/* 001C0 80B20330 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 001C4 80B20334 3C0380B2 */ lui $v1, %hi(D_80B20C58) ## $v1 = 80B20000
/* 001C8 80B20338 24630C58 */ addiu $v1, $v1, %lo(D_80B20C58) ## $v1 = 80B20C58
-/* 001CC 80B2033C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 001CC 80B2033C 0C028800 */ jal Animation_GetLastFrame
/* 001D0 80B20340 8C640000 */ lw $a0, 0x0000($v1) ## 80B20C58
/* 001D4 80B20344 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -141,7 +141,7 @@ glabel EnToryo_Init
/* 001F8 80B20368 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 001FC 80B2036C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00200 80B20370 AFAC0014 */ sw $t4, 0x0014($sp)
-/* 00204 80B20374 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00204 80B20374 0C029468 */ jal Animation_Change
/* 00208 80B20378 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0020C 80B2037C 960D01E8 */ lhu $t5, 0x01E8($s0) ## 000001E8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B20914.s b/asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B20914.s
index 118b285018..16338b75a9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B20914.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Toryo/func_80B20914.s
@@ -4,7 +4,7 @@ glabel func_80B20914
/* 007AC 80B2091C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 007B0 80B20920 AFA5001C */ sw $a1, 0x001C($sp)
/* 007B4 80B20924 AFA60018 */ sw $a2, 0x0018($sp)
-/* 007B8 80B20928 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 007B8 80B20928 0C02927F */ jal SkelAnime_Update
/* 007BC 80B2092C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 007C0 80B20930 8FA40018 */ lw $a0, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Init.s
index bcbca80901..816a8da3f0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Init.s
@@ -57,7 +57,7 @@ glabel EnTr_Init
/* 000B0 80B22DA0 24C61688 */ addiu $a2, $a2, %lo(D_06011688) ## $a2 = 06011688
/* 000B4 80B22DA4 3C050600 */ lui $a1, %hi(D_06003FC8) ## $a1 = 06000000
/* 000B8 80B22DA8 24A53FC8 */ addiu $a1, $a1, %lo(D_06003FC8) ## $a1 = 06003FC8
-/* 000BC 80B22DAC 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 000BC 80B22DAC 0C02947A */ jal Animation_PlayOnce
/* 000C0 80B22DB0 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 000C4 80B22DB4 3C0580B2 */ lui $a1, %hi(func_80B23A88) ## $a1 = 80B20000
/* 000C8 80B22DB8 AE0002E4 */ sw $zero, 0x02E4($s0) ## 000002E4
@@ -83,7 +83,7 @@ glabel EnTr_Init
/* 00114 80B22E04 02202825 */ or $a1, $s1, $zero ## $a1 = 0000014C
/* 00118 80B22E08 3C050600 */ lui $a1, %hi(D_06001CDC) ## $a1 = 06000000
/* 0011C 80B22E0C 24A51CDC */ addiu $a1, $a1, %lo(D_06001CDC) ## $a1 = 06001CDC
-/* 00120 80B22E10 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00120 80B22E10 0C02947A */ jal Animation_PlayOnce
/* 00124 80B22E14 02202025 */ or $a0, $s1, $zero ## $a0 = 0000014C
/* 00128 80B22E18 3C0580B2 */ lui $a1, %hi(func_80B23A88) ## $a1 = 80B20000
/* 0012C 80B22E1C AE0002E4 */ sw $zero, 0x02E4($s0) ## 000002E4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Update.s
index ad7e13d81e..dfca7139c5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Update.s
@@ -19,7 +19,7 @@ glabel EnTr_Update
/* 00F10 80B23C00 0320F809 */ jalr $ra, $t9
/* 00F14 80B23C04 00000000 */ nop
/* 00F18 80B23C08 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 00F1C 80B23C0C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00F1C 80B23C0C 0C02927F */ jal SkelAnime_Update
/* 00F20 80B23C10 AFA40034 */ sw $a0, 0x0034($sp)
/* 00F24 80B23C14 5040003B */ beql $v0, $zero, .L80B23D04
@@ -51,7 +51,7 @@ glabel EnTr_Update
/* 00F7C 80B23C6C 240539B0 */ addiu $a1, $zero, 0x39B0 ## $a1 = 000039B0
/* 00F80 80B23C70 8FA40034 */ lw $a0, 0x0034($sp)
.L80B23C74:
-/* 00F84 80B23C74 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00F84 80B23C74 0C0294BE */ jal Animation_PlayLoop
/* 00F88 80B23C78 8E0502E4 */ lw $a1, 0x02E4($s0) ## 000002E4
/* 00F8C 80B23C7C 1000001B */ beq $zero, $zero, .L80B23CEC
/* 00F90 80B23C80 00000000 */ nop
@@ -63,7 +63,7 @@ glabel EnTr_Update
/* 00FA4 80B23C94 0C2C8B3C */ jal func_80B22CF0
/* 00FA8 80B23C98 24A52F28 */ addiu $a1, $a1, %lo(func_80B22F28) ## $a1 = 80B22F28
/* 00FAC 80B23C9C 3C040600 */ lui $a0, %hi(D_060049C8) ## $a0 = 06000000
-/* 00FB0 80B23CA0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00FB0 80B23CA0 0C028800 */ jal Animation_GetLastFrame
/* 00FB4 80B23CA4 248449C8 */ addiu $a0, $a0, %lo(D_060049C8) ## $a0 = 060049C8
/* 00FB8 80B23CA8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -77,13 +77,13 @@ glabel EnTr_Update
/* 00FD8 80B23CC8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00FDC 80B23CCC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00FE0 80B23CD0 AFA00014 */ sw $zero, 0x0014($sp)
-/* 00FE4 80B23CD4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00FE4 80B23CD4 0C029468 */ jal Animation_Change
/* 00FE8 80B23CD8 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00FEC 80B23CDC 10000003 */ beq $zero, $zero, .L80B23CEC
/* 00FF0 80B23CE0 00000000 */ nop
.L80B23CE4:
-/* 00FF4 80B23CE4 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00FF4 80B23CE4 0C0294BE */ jal Animation_PlayLoop
/* 00FF8 80B23CE8 8FA40034 */ lw $a0, 0x0034($sp)
.L80B23CEC:
/* 00FFC 80B23CEC 10000004 */ beq $zero, $zero, .L80B23D00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B22F28.s b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B22F28.s
index ef5e8451dd..d4331558a2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B22F28.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B22F28.s
@@ -45,7 +45,7 @@ glabel func_80B22F28
/* 002D4 80B22FC4 3C0480B2 */ lui $a0, %hi(D_80B24380) ## $a0 = 80B20000
/* 002D8 80B22FC8 00084880 */ sll $t1, $t0, 2
/* 002DC 80B22FCC 00892021 */ addu $a0, $a0, $t1
-/* 002E0 80B22FD0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 002E0 80B22FD0 0C028800 */ jal Animation_GetLastFrame
/* 002E4 80B22FD4 8C844380 */ lw $a0, %lo(D_80B24380)($a0)
/* 002E8 80B22FD8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -63,7 +63,7 @@ glabel func_80B22F28
/* 00318 80B23008 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0031C 80B2300C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00320 80B23010 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00324 80B23014 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00324 80B23014 0C029468 */ jal Animation_Change
/* 00328 80B23018 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 0032C 80B2301C 3C0580B2 */ lui $a1, %hi(func_80B22E6C) ## $a1 = 80B20000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B23820.s b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B23820.s
index 6697073946..50d0afe6c2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B23820.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B23820.s
@@ -37,7 +37,7 @@ glabel func_80B23820
/* 00BB4 80B238A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BB8 80B238A8 3C050600 */ lui $a1, %hi(D_060049C8) ## $a1 = 06000000
/* 00BBC 80B238AC 24A549C8 */ addiu $a1, $a1, %lo(D_060049C8) ## $a1 = 060049C8
-/* 00BC0 80B238B0 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00BC0 80B238B0 0C0294BE */ jal Animation_PlayLoop
/* 00BC4 80B238B4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00BC8 80B238B8 3C053B44 */ lui $a1, 0x3B44 ## $a1 = 3B440000
/* 00BCC 80B238BC AE0002E4 */ sw $zero, 0x02E4($s0) ## 000002E4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B238E0.s b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B238E0.s
index 0994372f89..58a370f9a3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B238E0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B238E0.s
@@ -8,7 +8,7 @@ glabel func_80B238E0
/* 00C08 80B238F8 3C0480B2 */ lui $a0, %hi(D_80B24378) ## $a0 = 80B20000
/* 00C0C 80B238FC 000E7880 */ sll $t7, $t6, 2
/* 00C10 80B23900 008F2021 */ addu $a0, $a0, $t7
-/* 00C14 80B23904 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00C14 80B23904 0C028800 */ jal Animation_GetLastFrame
/* 00C18 80B23908 8C844378 */ lw $a0, %lo(D_80B24378)($a0)
/* 00C1C 80B2390C 8FA30034 */ lw $v1, 0x0034($sp)
@@ -38,7 +38,7 @@ glabel func_80B238E0
/* 00C7C 80B2396C E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00C80 80B23970 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00C84 80B23974 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00C88 80B23978 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00C88 80B23978 0C029468 */ jal Animation_Change
/* 00C8C 80B2397C E7A60018 */ swc1 $f6, 0x0018($sp)
/* 00C90 80B23980 3C0580B2 */ lui $a1, %hi(func_80B22F28) ## $a1 = 80B20000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B239A8.s b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B239A8.s
index f98fdce854..ae73cec546 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B239A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B239A8.s
@@ -8,7 +8,7 @@ glabel func_80B239A8
/* 00CD0 80B239C0 3C0480B2 */ lui $a0, %hi(D_80B24368) ## $a0 = 80B20000
/* 00CD4 80B239C4 000E7880 */ sll $t7, $t6, 2
/* 00CD8 80B239C8 008F2021 */ addu $a0, $a0, $t7
-/* 00CDC 80B239CC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00CDC 80B239CC 0C028800 */ jal Animation_GetLastFrame
/* 00CE0 80B239D0 8C844368 */ lw $a0, %lo(D_80B24368)($a0)
/* 00CE4 80B239D4 8FA30034 */ lw $v1, 0x0034($sp)
@@ -39,7 +39,7 @@ glabel func_80B239A8
/* 00D48 80B23A38 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00D4C 80B23A3C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00D50 80B23A40 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00D54 80B23A44 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00D54 80B23A44 0C029468 */ jal Animation_Change
/* 00D58 80B23A48 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 00D5C 80B23A4C 860E001C */ lh $t6, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B23A88.s b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B23A88.s
index 72e9a35c62..2ee9c42d1a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B23A88.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Tr/func_80B23A88.s
@@ -45,7 +45,7 @@ glabel func_80B23A88
/* 00E3C 80B23B2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00E40 80B23B30 3C050600 */ lui $a1, %hi(D_060049C8) ## $a1 = 06000000
/* 00E44 80B23B34 24A549C8 */ addiu $a1, $a1, %lo(D_060049C8) ## $a1 = 060049C8
-/* 00E48 80B23B38 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00E48 80B23B38 0C0294BE */ jal Animation_PlayLoop
/* 00E4C 80B23B3C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00E50 80B23B40 10000019 */ beq $zero, $zero, .L80B23BA8
/* 00E54 80B23B44 AE0002E4 */ sw $zero, 0x02E4($s0) ## 000002E4
@@ -62,7 +62,7 @@ glabel func_80B23A88
/* 00E78 80B23B68 AFA70024 */ sw $a3, 0x0024($sp)
/* 00E7C 80B23B6C 3C050600 */ lui $a1, %hi(D_060049C8) ## $a1 = 06000000
/* 00E80 80B23B70 24A549C8 */ addiu $a1, $a1, %lo(D_060049C8) ## $a1 = 060049C8
-/* 00E84 80B23B74 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00E84 80B23B74 0C0294BE */ jal Animation_PlayLoop
/* 00E88 80B23B78 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00E8C 80B23B7C 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
/* 00E90 80B23B80 8FA70024 */ lw $a3, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26878.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26878.s
index 69cc19d956..fab9a2071a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26878.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26878.s
@@ -5,7 +5,7 @@ glabel func_80B26878
/* 001D4 80B26884 3C050600 */ lui $a1, %hi(D_060014AC) ## $a1 = 06000000
/* 001D8 80B26888 24A514AC */ addiu $a1, $a1, %lo(D_060014AC) ## $a1 = 060014AC
/* 001DC 80B2688C AFA60018 */ sw $a2, 0x0018($sp)
-/* 001E0 80B26890 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 001E0 80B26890 0C0294BE */ jal Animation_PlayLoop
/* 001E4 80B26894 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 001E8 80B26898 8FA60018 */ lw $a2, 0x0018($sp)
/* 001EC 80B2689C 3C1880B2 */ lui $t8, %hi(func_80B27098) ## $t8 = 80B20000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B268FC.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B268FC.s
index f8c6c683fd..fd80fcdcd1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B268FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B268FC.s
@@ -6,7 +6,7 @@ glabel func_80B268FC
/* 0025C 80B2690C 24A50710 */ addiu $a1, $a1, %lo(D_06000710) ## $a1 = 06000710
/* 00260 80B26910 AFA70090 */ sw $a3, 0x0090($sp)
/* 00264 80B26914 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00268 80B26918 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00268 80B26918 0C0294D3 */ jal Animation_MorphToLoop
/* 0026C 80B2691C 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 00270 80B26920 8FA70090 */ lw $a3, 0x0090($sp)
/* 00274 80B26924 27A2003C */ addiu $v0, $sp, 0x003C ## $v0 = FFFFFFAC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26B4C.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26B4C.s
index 5ad801d725..26f8fca2ee 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26B4C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26B4C.s
@@ -6,7 +6,7 @@ glabel func_80B26B4C
/* 004AC 80B26B5C 3C050600 */ lui $a1, %hi(D_06000854) ## $a1 = 06000000
/* 004B0 80B26B60 24A50854 */ addiu $a1, $a1, %lo(D_06000854) ## $a1 = 06000854
/* 004B4 80B26B64 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 004B8 80B26B68 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 004B8 80B26B68 0C029490 */ jal Animation_MorphToPlayOnce
/* 004BC 80B26B6C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 004C0 80B26B70 240E001E */ addiu $t6, $zero, 0x001E ## $t6 = 0000001E
/* 004C4 80B26B74 AFAE0010 */ sw $t6, 0x0010($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26BBC.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26BBC.s
index 0cb2eb3458..2228284723 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26BBC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26BBC.s
@@ -4,7 +4,7 @@ glabel func_80B26BBC
/* 00514 80B26BC4 AFA40018 */ sw $a0, 0x0018($sp)
/* 00518 80B26BC8 3C050600 */ lui $a1, %hi(D_06000B34) ## $a1 = 06000000
/* 0051C 80B26BCC 24A50B34 */ addiu $a1, $a1, %lo(D_06000B34) ## $a1 = 06000B34
-/* 00520 80B26BD0 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 00520 80B26BD0 0C02947A */ jal Animation_PlayOnce
/* 00524 80B26BD4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00528 80B26BD8 8FAF0018 */ lw $t7, 0x0018($sp)
/* 0052C 80B26BDC 3C0E80B2 */ lui $t6, %hi(func_80B2742C) ## $t6 = 80B20000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26D54.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26D54.s
index d4ce29da58..c220270941 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26D54.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26D54.s
@@ -6,7 +6,7 @@ glabel func_80B26D54
/* 006B4 80B26D64 3C050600 */ lui $a1, %hi(D_06000710) ## $a1 = 06000000
/* 006B8 80B26D68 24A50710 */ addiu $a1, $a1, %lo(D_06000710) ## $a1 = 06000710
/* 006BC 80B26D6C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 006C0 80B26D70 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 006C0 80B26D70 0C029490 */ jal Animation_MorphToPlayOnce
/* 006C4 80B26D74 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 006C8 80B26D78 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 006CC 80B26D7C 240E0050 */ addiu $t6, $zero, 0x0050 ## $t6 = 00000050
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26E40.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26E40.s
index 975e288426..e519534b42 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26E40.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B26E40.s
@@ -6,7 +6,7 @@ glabel func_80B26E40
/* 007A0 80B26E50 24A514AC */ addiu $a1, $a1, %lo(D_060014AC) ## $a1 = 060014AC
/* 007A4 80B26E54 AFA70018 */ sw $a3, 0x0018($sp)
/* 007A8 80B26E58 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 007AC 80B26E5C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 007AC 80B26E5C 0C029490 */ jal Animation_MorphToPlayOnce
/* 007B0 80B26E60 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000
/* 007B4 80B26E64 8FA70018 */ lw $a3, 0x0018($sp)
/* 007B8 80B26E68 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B270D8.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B270D8.s
index daf820c17c..1e63f20e92 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B270D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B270D8.s
@@ -4,7 +4,7 @@ glabel func_80B270D8
/* 00A30 80B270E0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A34 80B270E4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00A38 80B270E8 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00A3C 80B270EC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00A3C 80B270EC 0C02927F */ jal SkelAnime_Update
/* 00A40 80B270F0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00A44 80B270F4 3C014220 */ lui $at, 0x4220 ## $at = 42200000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2716C.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2716C.s
index e98ac1c15c..c6f2896b8d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2716C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2716C.s
@@ -17,7 +17,7 @@ glabel func_80B2716C
/* 00AC4 80B27174 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00AC8 80B27178 AFBF001C */ sw $ra, 0x001C($sp)
/* 00ACC 80B2717C AFA5002C */ sw $a1, 0x002C($sp)
-/* 00AD0 80B27180 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00AD0 80B27180 0C02927F */ jal SkelAnime_Update
/* 00AD4 80B27184 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AD8 80B27188 92020195 */ lbu $v0, 0x0195($s0) ## 00000195
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B273D0.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B273D0.s
index 227b40773f..ca5ebb132c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B273D0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B273D0.s
@@ -4,7 +4,7 @@ glabel func_80B273D0
/* 00D28 80B273D8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00D2C 80B273DC AFA5001C */ sw $a1, 0x001C($sp)
/* 00D30 80B273E0 AFA60018 */ sw $a2, 0x0018($sp)
-/* 00D34 80B273E4 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D34 80B273E4 0C02927F */ jal SkelAnime_Update
/* 00D38 80B273E8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D3C 80B273EC 1040000B */ beq $v0, $zero, .L80B2741C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2742C.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2742C.s
index 3f34d5b089..465af6a57f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2742C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B2742C.s
@@ -3,7 +3,7 @@ glabel func_80B2742C
/* 00D80 80B27430 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D84 80B27434 AFA40018 */ sw $a0, 0x0018($sp)
/* 00D88 80B27438 AFA5001C */ sw $a1, 0x001C($sp)
-/* 00D8C 80B2743C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D8C 80B2743C 0C02927F */ jal SkelAnime_Update
/* 00D90 80B27440 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D94 80B27444 50400004 */ beql $v0, $zero, .L80B27458
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27654.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27654.s
index ac3876c991..dbad6789c5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27654.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B27654.s
@@ -4,7 +4,7 @@ glabel func_80B27654
/* 00FAC 80B2765C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00FB0 80B27660 AFBF001C */ sw $ra, 0x001C($sp)
/* 00FB4 80B27664 AFA50024 */ sw $a1, 0x0024($sp)
-/* 00FB8 80B27668 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00FB8 80B27668 0C02927F */ jal SkelAnime_Update
/* 00FBC 80B2766C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00FC0 80B27670 86030196 */ lh $v1, 0x0196($s0) ## 00000196
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B278A0.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B278A0.s
index 29df662cf7..a997102fcd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B278A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/func_80B278A0.s
@@ -11,7 +11,7 @@ glabel func_80B278A0
/* 011F4 80B278A4 AFBF001C */ sw $ra, 0x001C($sp)
/* 011F8 80B278A8 AFA40020 */ sw $a0, 0x0020($sp)
/* 011FC 80B278AC AFA50024 */ sw $a1, 0x0024($sp)
-/* 01200 80B278B0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01200 80B278B0 0C02927F */ jal SkelAnime_Update
/* 01204 80B278B4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01208 80B278B8 8FA20020 */ lw $v0, 0x0020($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Draw.s
index 166cdc5d29..de187fe0be 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Draw.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Vb_Ball/EnVbBall_Draw.s
@@ -136,8 +136,8 @@ glabel EnVbBall_Draw
/* 00FAC 80B29F4C 0C0346A2 */ jal Matrix_NewMtx
/* 00FB0 80B29F50 AFA20028 */ sw $v0, 0x0028($sp)
/* 00FB4 80B29F54 8FA30028 */ lw $v1, 0x0028($sp)
-/* 00FB8 80B29F58 3C040405 */ lui $a0, 0x0405 ## $a0 = 04050000
-/* 00FBC 80B29F5C 24849210 */ addiu $a0, $a0, 0x9210 ## $a0 = 04049210
+/* 00FB8 80B29F58 3C040405 */ lui $a0, %hi(D_04049210) ## $a0 = 04050000
+/* 00FBC 80B29F5C 24849210 */ addiu $a0, $a0, %lo(D_04049210) ## $a0 = 04049210
/* 00FC0 80B29F60 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00FC4 80B29F64 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00FC8 80B29F68 00046900 */ sll $t5, $a0, 4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A300.s b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A300.s
index 3e487bd64b..2f84d680cd 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A300.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A300.s
@@ -74,13 +74,13 @@ glabel func_80B2A300
/* 00210 80B2A410 14410005 */ bne $v0, $at, .L80B2A428
/* 00214 80B2A414 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
.L80B2A418:
-/* 00218 80B2A418 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00218 80B2A418 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 0021C 80B2A41C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00220 80B2A420 10000005 */ beq $zero, $zero, .L80B2A438
/* 00224 80B2A424 8FBF002C */ lw $ra, 0x002C($sp)
.L80B2A428:
/* 00228 80B2A428 02002025 */ or $a0, $s0, $zero ## $a0 = 00000330
-/* 0022C 80B2A42C 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 0022C 80B2A42C 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00230 80B2A430 8FA50044 */ lw $a1, 0x0044($sp)
/* 00234 80B2A434 8FBF002C */ lw $ra, 0x002C($sp)
.L80B2A438:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A448.s b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A448.s
index 780181acda..d02e06f69f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A448.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A448.s
@@ -29,7 +29,7 @@ glabel func_80B2A448
/* 002B4 80B2A4B4 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 002B8 80B2A4B8 01215021 */ addu $t2, $t1, $at
/* 002BC 80B2A4BC 3C018016 */ lui $at, %hi(gSegments+0x18)
-/* 002C0 80B2A4C0 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 002C0 80B2A4C0 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 002C4 80B2A4C4 AC2A6FC0 */ sw $t2, %lo(gSegments+0x18)($at)
/* 002C8 80B2A4C8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 002CC 80B2A4CC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A4D8.s b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A4D8.s
index 5e936c9d3d..8da0a1ac22 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A4D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A4D8.s
@@ -27,12 +27,12 @@ glabel func_80B2A4D8
/* 0033C 80B2A53C 10610006 */ beq $v1, $at, .L80B2A558
/* 00340 80B2A540 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 00344 80B2A544 25040198 */ addiu $a0, $t0, 0x0198 ## $a0 = 00000198
-/* 00348 80B2A548 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00348 80B2A548 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 0034C 80B2A54C 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 00350 80B2A550 10000004 */ beq $zero, $zero, .L80B2A564
/* 00354 80B2A554 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B2A558:
-/* 00358 80B2A558 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 00358 80B2A558 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 0035C 80B2A55C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00360 80B2A560 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B2A564:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A75C.s b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A75C.s
index aaadf7c279..9c3e335d29 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A75C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2A75C.s
@@ -271,7 +271,7 @@ glabel func_80B2A75C
/* 008C0 80B2AAC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 008C4 80B2AAC4 26040198 */ addiu $a0, $s0, 0x0198 ## $a0 = 00000198
-/* 008C8 80B2AAC8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 008C8 80B2AAC8 0C02927F */ jal SkelAnime_Update
/* 008CC 80B2AACC AFA40040 */ sw $a0, 0x0040($sp)
/* 008D0 80B2AAD0 8FB90044 */ lw $t9, 0x0044($sp)
@@ -306,7 +306,7 @@ glabel func_80B2A75C
/* 00940 80B2AB40 24A52928 */ addiu $a1, $a1, %lo(D_06002928) ## $a1 = 06002928
/* 00944 80B2AB44 10AD01D1 */ beq $a1, $t5, .L80B2B28C
/* 00948 80B2AB48 8FA40040 */ lw $a0, 0x0040($sp)
-/* 0094C 80B2AB4C 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 0094C 80B2AB4C 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00950 80B2AB50 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00954 80B2AB54 100001CE */ beq $zero, $zero, .L80B2B290
/* 00958 80B2AB58 8FBF003C */ lw $ra, 0x003C($sp)
@@ -316,7 +316,7 @@ glabel func_80B2A75C
/* 00964 80B2AB64 24A54AA4 */ addiu $a1, $a1, %lo(D_06004AA4) ## $a1 = 06004AA4
/* 00968 80B2AB68 10AE01C8 */ beq $a1, $t6, .L80B2B28C
/* 0096C 80B2AB6C 8FA40040 */ lw $a0, 0x0040($sp)
-/* 00970 80B2AB70 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00970 80B2AB70 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00974 80B2AB74 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00978 80B2AB78 100001C5 */ beq $zero, $zero, .L80B2B290
/* 0097C 80B2AB7C 8FBF003C */ lw $ra, 0x003C($sp)
@@ -333,7 +333,7 @@ glabel func_80B2A75C
/* 009A4 80B2ABA4 24A51D28 */ addiu $a1, $a1, %lo(D_06001D28) ## $a1 = 06001D28
/* 009A8 80B2ABA8 10B901B8 */ beq $a1, $t9, .L80B2B28C
/* 009AC 80B2ABAC 8FA40040 */ lw $a0, 0x0040($sp)
-/* 009B0 80B2ABB0 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 009B0 80B2ABB0 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 009B4 80B2ABB4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 009B8 80B2ABB8 100001B5 */ beq $zero, $zero, .L80B2B290
/* 009BC 80B2ABBC 8FBF003C */ lw $ra, 0x003C($sp)
@@ -343,7 +343,7 @@ glabel func_80B2A75C
/* 009C8 80B2ABC8 24A53858 */ addiu $a1, $a1, %lo(D_06003858) ## $a1 = 06003858
/* 009CC 80B2ABCC 10AA01AF */ beq $a1, $t2, .L80B2B28C
/* 009D0 80B2ABD0 8FA40040 */ lw $a0, 0x0040($sp)
-/* 009D4 80B2ABD4 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 009D4 80B2ABD4 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 009D8 80B2ABD8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 009DC 80B2ABDC 100001AC */ beq $zero, $zero, .L80B2B290
/* 009E0 80B2ABE0 8FBF003C */ lw $ra, 0x003C($sp)
@@ -364,7 +364,7 @@ glabel L80B2AC10
/* 00A14 80B2AC14 3C050600 */ lui $a1, %hi(D_06000F54) ## $a1 = 06000000
/* 00A18 80B2AC18 8FA40040 */ lw $a0, 0x0040($sp)
/* 00A1C 80B2AC1C 24A50F54 */ addiu $a1, $a1, %lo(D_06000F54) ## $a1 = 06000F54
-/* 00A20 80B2AC20 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00A20 80B2AC20 0C029490 */ jal Animation_MorphToPlayOnce
/* 00A24 80B2AC24 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00A28 80B2AC28 920D01E5 */ lbu $t5, 0x01E5($s0) ## 000001E5
/* 00A2C 80B2AC2C 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
@@ -375,7 +375,7 @@ glabel L80B2AC38
/* 00A3C 80B2AC3C 8FA40040 */ lw $a0, 0x0040($sp)
/* 00A40 80B2AC40 3C050600 */ lui $a1, %hi(D_060014F4) ## $a1 = 06000000
/* 00A44 80B2AC44 24A514F4 */ addiu $a1, $a1, %lo(D_060014F4) ## $a1 = 060014F4
-/* 00A48 80B2AC48 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00A48 80B2AC48 0C0294D3 */ jal Animation_MorphToLoop
/* 00A4C 80B2AC4C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00A50 80B2AC50 920F01E5 */ lbu $t7, 0x01E5($s0) ## 000001E5
/* 00A54 80B2AC54 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
@@ -387,7 +387,7 @@ glabel L80B2AC60
/* 00A68 80B2AC68 3C050600 */ lui $a1, %hi(D_060008A0) ## $a1 = 06000000
/* 00A6C 80B2AC6C 8FA40040 */ lw $a0, 0x0040($sp)
/* 00A70 80B2AC70 24A508A0 */ addiu $a1, $a1, %lo(D_060008A0) ## $a1 = 060008A0
-/* 00A74 80B2AC74 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00A74 80B2AC74 0C029490 */ jal Animation_MorphToPlayOnce
/* 00A78 80B2AC78 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00A7C 80B2AC7C 921901E5 */ lbu $t9, 0x01E5($s0) ## 000001E5
/* 00A80 80B2AC80 272A0001 */ addiu $t2, $t9, 0x0001 ## $t2 = 00000001
@@ -398,7 +398,7 @@ glabel L80B2AC8C
/* 00A90 80B2AC90 8FA40040 */ lw $a0, 0x0040($sp)
/* 00A94 80B2AC94 3C050600 */ lui $a1, %hi(D_06000BC8) ## $a1 = 06000000
/* 00A98 80B2AC98 24A50BC8 */ addiu $a1, $a1, %lo(D_06000BC8) ## $a1 = 06000BC8
-/* 00A9C 80B2AC9C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00A9C 80B2AC9C 0C0294D3 */ jal Animation_MorphToLoop
/* 00AA0 80B2ACA0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00AA4 80B2ACA4 920B01E5 */ lbu $t3, 0x01E5($s0) ## 000001E5
/* 00AA8 80B2ACA8 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
@@ -410,7 +410,7 @@ glabel L80B2ACB4
/* 00ABC 80B2ACBC 3C050600 */ lui $a1, %hi(D_060014F4) ## $a1 = 06000000
/* 00AC0 80B2ACC0 8FA40040 */ lw $a0, 0x0040($sp)
/* 00AC4 80B2ACC4 24A514F4 */ addiu $a1, $a1, %lo(D_060014F4) ## $a1 = 060014F4
-/* 00AC8 80B2ACC8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00AC8 80B2ACC8 0C0294D3 */ jal Animation_MorphToLoop
/* 00ACC 80B2ACCC 3C06C1A0 */ lui $a2, 0xC1A0 ## $a2 = C1A00000
/* 00AD0 80B2ACD0 920D01E5 */ lbu $t5, 0x01E5($s0) ## 000001E5
/* 00AD4 80B2ACD4 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
@@ -422,7 +422,7 @@ glabel L80B2ACE0
/* 00AE8 80B2ACE8 3C050600 */ lui $a1, %hi(D_06002928) ## $a1 = 06000000
/* 00AEC 80B2ACEC 24A52928 */ addiu $a1, $a1, %lo(D_06002928) ## $a1 = 06002928
/* 00AF0 80B2ACF0 8FA40040 */ lw $a0, 0x0040($sp)
-/* 00AF4 80B2ACF4 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00AF4 80B2ACF4 0C0294D3 */ jal Animation_MorphToLoop
/* 00AF8 80B2ACF8 3C06C170 */ lui $a2, 0xC170 ## $a2 = C1700000
/* 00AFC 80B2ACFC 920F01E5 */ lbu $t7, 0x01E5($s0) ## 000001E5
/* 00B00 80B2AD00 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
@@ -438,7 +438,7 @@ glabel L80B2AD0C
/* 00B20 80B2AD20 3C050600 */ lui $a1, %hi(D_060005B4) ## $a1 = 06000000
/* 00B24 80B2AD24 24A505B4 */ addiu $a1, $a1, %lo(D_060005B4) ## $a1 = 060005B4
/* 00B28 80B2AD28 8FA40040 */ lw $a0, 0x0040($sp)
-/* 00B2C 80B2AD2C 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00B2C 80B2AD2C 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00B30 80B2AD30 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 00B34 80B2AD34 921901E5 */ lbu $t9, 0x01E5($s0) ## 000001E5
/* 00B38 80B2AD38 272A0001 */ addiu $t2, $t9, 0x0001 ## $t2 = 00000001
@@ -455,7 +455,7 @@ glabel L80B2AD44
/* 00B5C 80B2AD5C 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C
/* 00B60 80B2AD60 1481014A */ bne $a0, $at, .L80B2B28C
/* 00B64 80B2AD64 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
-/* 00B68 80B2AD68 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00B68 80B2AD68 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00B6C 80B2AD6C 8FA40040 */ lw $a0, 0x0040($sp)
/* 00B70 80B2AD70 10000147 */ beq $zero, $zero, .L80B2B290
/* 00B74 80B2AD74 8FBF003C */ lw $ra, 0x003C($sp)
@@ -542,7 +542,7 @@ glabel L80B2AD44
/* 00CA0 80B2AEA0 24A52574 */ addiu $a1, $a1, %lo(D_06002574) ## $a1 = 06002574
/* 00CA4 80B2AEA4 10AA00F9 */ beq $a1, $t2, .L80B2B28C
/* 00CA8 80B2AEA8 8FA40040 */ lw $a0, 0x0040($sp)
-/* 00CAC 80B2AEAC 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00CAC 80B2AEAC 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00CB0 80B2AEB0 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 00CB4 80B2AEB4 920B01E5 */ lbu $t3, 0x01E5($s0) ## 000001E5
/* 00CB8 80B2AEB8 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
@@ -564,7 +564,7 @@ glabel L80B2AD44
/* 00CF4 80B2AEF4 24A529CC */ addiu $a1, $a1, %lo(D_060029CC) ## $a1 = 060029CC
/* 00CF8 80B2AEF8 10AF00E4 */ beq $a1, $t7, .L80B2B28C
/* 00CFC 80B2AEFC 8FA40040 */ lw $a0, 0x0040($sp)
-/* 00D00 80B2AF00 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00D00 80B2AF00 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00D04 80B2AF04 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 00D08 80B2AF08 921801E5 */ lbu $t8, 0x01E5($s0) ## 000001E5
/* 00D0C 80B2AF0C 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
@@ -601,7 +601,7 @@ glabel L80B2AD44
/* 00D80 80B2AF80 24A51410 */ addiu $a1, $a1, %lo(D_06001410) ## $a1 = 06001410
/* 00D84 80B2AF84 10AE00C1 */ beq $a1, $t6, .L80B2B28C
/* 00D88 80B2AF88 8FA40040 */ lw $a0, 0x0040($sp)
-/* 00D8C 80B2AF8C 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00D8C 80B2AF8C 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00D90 80B2AF90 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 00D94 80B2AF94 920F01E5 */ lbu $t7, 0x01E5($s0) ## 000001E5
/* 00D98 80B2AF98 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
@@ -623,7 +623,7 @@ glabel L80B2AD44
/* 00DD4 80B2AFD4 24A50450 */ addiu $a1, $a1, %lo(D_06000450) ## $a1 = 06000450
/* 00DD8 80B2AFD8 10AB00AC */ beq $a1, $t3, .L80B2B28C
/* 00DDC 80B2AFDC 8FA40040 */ lw $a0, 0x0040($sp)
-/* 00DE0 80B2AFE0 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00DE0 80B2AFE0 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00DE4 80B2AFE4 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 00DE8 80B2AFE8 920C01E5 */ lbu $t4, 0x01E5($s0) ## 000001E5
/* 00DEC 80B2AFEC 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
@@ -649,7 +649,7 @@ glabel L80B2AD44
/* 00E34 80B2B034 3C050600 */ lui $a1, %hi(D_0600504C) ## $a1 = 06000000
/* 00E38 80B2B038 24A5504C */ addiu $a1, $a1, %lo(D_0600504C) ## $a1 = 0600504C
/* 00E3C 80B2B03C 8FA40040 */ lw $a0, 0x0040($sp)
-/* 00E40 80B2B040 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00E40 80B2B040 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00E44 80B2B044 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00E48 80B2B048 920E01E5 */ lbu $t6, 0x01E5($s0) ## 000001E5
/* 00E4C 80B2B04C 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001
@@ -664,7 +664,7 @@ glabel L80B2AD44
/* 00E6C 80B2B06C 8FA40040 */ lw $a0, 0x0040($sp)
/* 00E70 80B2B070 57210087 */ bnel $t9, $at, .L80B2B290
/* 00E74 80B2B074 8FBF003C */ lw $ra, 0x003C($sp)
-/* 00E78 80B2B078 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00E78 80B2B078 0C029490 */ jal Animation_MorphToPlayOnce
/* 00E7C 80B2B07C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00E80 80B2B080 920A01E5 */ lbu $t2, 0x01E5($s0) ## 000001E5
/* 00E84 80B2B084 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001
@@ -675,7 +675,7 @@ glabel L80B2AD44
/* 00E94 80B2B094 8FA40040 */ lw $a0, 0x0040($sp)
/* 00E98 80B2B098 3C050600 */ lui $a1, %hi(D_060048FC) ## $a1 = 06000000
/* 00E9C 80B2B09C 24A548FC */ addiu $a1, $a1, %lo(D_060048FC) ## $a1 = 060048FC
-/* 00EA0 80B2B0A0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00EA0 80B2B0A0 0C0294D3 */ jal Animation_MorphToLoop
/* 00EA4 80B2B0A4 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00EA8 80B2B0A8 920C01E5 */ lbu $t4, 0x01E5($s0) ## 000001E5
/* 00EAC 80B2B0AC 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
@@ -716,7 +716,7 @@ glabel L80B2AD44
/* 00F2C 80B2B12C 3C050600 */ lui $a1, %hi(D_06004534) ## $a1 = 06000000
/* 00F30 80B2B130 24A54534 */ addiu $a1, $a1, %lo(D_06004534) ## $a1 = 06004534
/* 00F34 80B2B134 8FA40040 */ lw $a0, 0x0040($sp)
-/* 00F38 80B2B138 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00F38 80B2B138 0C029490 */ jal Animation_MorphToPlayOnce
/* 00F3C 80B2B13C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00F40 80B2B140 920A01E5 */ lbu $t2, 0x01E5($s0) ## 000001E5
/* 00F44 80B2B144 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001
@@ -727,7 +727,7 @@ glabel L80B2AD44
/* 00F54 80B2B154 8FA40040 */ lw $a0, 0x0040($sp)
/* 00F58 80B2B158 3C050600 */ lui $a1, %hi(D_060048B0) ## $a1 = 06000000
/* 00F5C 80B2B15C 24A548B0 */ addiu $a1, $a1, %lo(D_060048B0) ## $a1 = 060048B0
-/* 00F60 80B2B160 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00F60 80B2B160 0C0294D3 */ jal Animation_MorphToLoop
/* 00F64 80B2B164 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00F68 80B2B168 920C01E5 */ lbu $t4, 0x01E5($s0) ## 000001E5
/* 00F6C 80B2B16C 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
@@ -762,7 +762,7 @@ glabel L80B2AD44
/* 00FD8 80B2B1D8 1701002C */ bne $t8, $at, .L80B2B28C
/* 00FDC 80B2B1DC 3C050600 */ lui $a1, %hi(D_060050A8) ## $a1 = 06000000
/* 00FE0 80B2B1E0 24A550A8 */ addiu $a1, $a1, %lo(D_060050A8) ## $a1 = 060050A8
-/* 00FE4 80B2B1E4 0C0294E1 */ jal SkelAnime_ChangeAnimPlaybackRepeat
+/* 00FE4 80B2B1E4 0C0294E1 */ jal Animation_PlayLoopSetSpeed
/* 00FE8 80B2B1E8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00FEC 80B2B1EC 921901E5 */ lbu $t9, 0x01E5($s0) ## 000001E5
/* 00FF0 80B2B1F0 272A0001 */ addiu $t2, $t9, 0x0001 ## $t2 = 00000001
@@ -777,7 +777,7 @@ glabel L80B2AD44
/* 01010 80B2B210 8FA40040 */ lw $a0, 0x0040($sp)
/* 01014 80B2B214 5581001E */ bnel $t4, $at, .L80B2B290
/* 01018 80B2B218 8FBF003C */ lw $ra, 0x003C($sp)
-/* 0101C 80B2B21C 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 0101C 80B2B21C 0C029490 */ jal Animation_MorphToPlayOnce
/* 01020 80B2B220 3C06C120 */ lui $a2, 0xC120 ## $a2 = C1200000
/* 01024 80B2B224 920D01E5 */ lbu $t5, 0x01E5($s0) ## 000001E5
/* 01028 80B2B228 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001
@@ -788,7 +788,7 @@ glabel L80B2AD44
/* 01038 80B2B238 8FA40040 */ lw $a0, 0x0040($sp)
/* 0103C 80B2B23C 3C050600 */ lui $a1, %hi(D_06003D84) ## $a1 = 06000000
/* 01040 80B2B240 24A53D84 */ addiu $a1, $a1, %lo(D_06003D84) ## $a1 = 06003D84
-/* 01044 80B2B244 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01044 80B2B244 0C0294D3 */ jal Animation_MorphToLoop
/* 01048 80B2B248 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 0104C 80B2B24C 920F01E5 */ lbu $t7, 0x01E5($s0) ## 000001E5
/* 01050 80B2B250 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
@@ -802,7 +802,7 @@ glabel L80B2AD44
/* 0106C 80B2B26C 8FA40040 */ lw $a0, 0x0040($sp)
/* 01070 80B2B270 552A0007 */ bnel $t1, $t2, .L80B2B290
/* 01074 80B2B274 8FBF003C */ lw $ra, 0x003C($sp)
-/* 01078 80B2B278 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01078 80B2B278 0C029490 */ jal Animation_MorphToPlayOnce
/* 0107C 80B2B27C 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 01080 80B2B280 920B01E5 */ lbu $t3, 0x01E5($s0) ## 000001E5
/* 01084 80B2B284 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32384.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32384.s
index b7a56763f8..8605dc5b9d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32384.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32384.s
@@ -23,7 +23,7 @@ glabel func_80B32384
/* 00130 80B323C0 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 00134 80B323C4 24E4014C */ addiu $a0, $a3, 0x014C ## $a0 = 0000014C
/* 00138 80B323C8 46083280 */ add.s $f10, $f6, $f8
-/* 0013C 80B323CC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0013C 80B323CC 0C0294D3 */ jal Animation_MorphToLoop
/* 00140 80B323D0 E4EA027C */ swc1 $f10, 0x027C($a3) ## 0000027C
/* 00144 80B323D4 8FA70018 */ lw $a3, 0x0018($sp)
/* 00148 80B323D8 3C014020 */ lui $at, 0x4020 ## $at = 40200000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32434.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32434.s
index d14cb86762..5ec1a82117 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32434.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32434.s
@@ -6,7 +6,7 @@ glabel func_80B32434
/* 001B4 80B32444 24A50FC0 */ addiu $a1, $a1, %lo(D_06000FC0) ## $a1 = 06000FC0
/* 001B8 80B32448 AFA70018 */ sw $a3, 0x0018($sp)
/* 001BC 80B3244C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 001C0 80B32450 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 001C0 80B32450 0C0294D3 */ jal Animation_MorphToLoop
/* 001C4 80B32454 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 001C8 80B32458 8FA70018 */ lw $a3, 0x0018($sp)
/* 001CC 80B3245C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32494.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32494.s
index ba9cbdd8c4..2ade78ce2f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32494.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32494.s
@@ -13,7 +13,7 @@ glabel func_80B32494
/* 00230 80B324C0 AFA00014 */ sw $zero, 0x0014($sp)
/* 00234 80B324C4 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 00238 80B324C8 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 0023C 80B324CC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0023C 80B324CC 0C029468 */ jal Animation_Change
/* 00240 80B324D0 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 00244 80B324D4 920F0294 */ lbu $t7, 0x0294($s0) ## 00000294
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B325A0.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B325A0.s
index f9e1fddb48..db32dda478 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B325A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B325A0.s
@@ -13,7 +13,7 @@ glabel func_80B325A0
/* 0033C 80B325CC AFA00014 */ sw $zero, 0x0014($sp)
/* 00340 80B325D0 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 00344 80B325D4 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 00348 80B325D8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00348 80B325D8 0C029468 */ jal Animation_Change
/* 0034C 80B325DC E7A40018 */ swc1 $f4, 0x0018($sp)
/* 00350 80B325E0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32660.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32660.s
index 996b1d9087..b393847fd8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32660.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32660.s
@@ -13,7 +13,7 @@ glabel func_80B32660
/* 003FC 80B3268C AFA00014 */ sw $zero, 0x0014($sp)
/* 00400 80B32690 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 00404 80B32694 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 00408 80B32698 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00408 80B32698 0C029468 */ jal Animation_Change
/* 0040C 80B3269C E7A40018 */ swc1 $f4, 0x0018($sp)
/* 00410 80B326A0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32724.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32724.s
index 6bdac6ec60..30e04c476c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32724.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32724.s
@@ -6,7 +6,7 @@ glabel func_80B32724
/* 004A4 80B32734 3C050600 */ lui $a1, %hi(D_06000FC0) ## $a1 = 06000000
/* 004A8 80B32738 24A50FC0 */ addiu $a1, $a1, %lo(D_06000FC0) ## $a1 = 06000FC0
/* 004AC 80B3273C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 004B0 80B32740 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 004B0 80B32740 0C0294D3 */ jal Animation_MorphToLoop
/* 004B4 80B32744 3C06C0A0 */ lui $a2, 0xC0A0 ## $a2 = C0A00000
/* 004B8 80B32748 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014
/* 004BC 80B3274C A60E0194 */ sh $t6, 0x0194($s0) ## 00000194
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B328E8.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B328E8.s
index daf4616c28..a2101bcf2b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B328E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B328E8.s
@@ -14,7 +14,7 @@ glabel func_80B328E8
/* 00664 80B328F4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00668 80B328F8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0066C 80B328FC AFA5003C */ sw $a1, 0x003C($sp)
-/* 00670 80B32900 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00670 80B32900 0C02927F */ jal SkelAnime_Update
/* 00674 80B32904 AFA40020 */ sw $a0, 0x0020($sp)
/* 00678 80B32908 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
@@ -23,7 +23,7 @@ glabel func_80B328E8
/* 00684 80B32914 24060800 */ addiu $a2, $zero, 0x0800 ## $a2 = 00000800
/* 00688 80B32918 8FA40020 */ lw $a0, 0x0020($sp)
-/* 0068C 80B3291C 0C0295B2 */ jal func_800A56C8
+/* 0068C 80B3291C 0C0295B2 */ jal Animation_OnFrame
/* 00690 80B32920 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00694 80B32924 AFA20034 */ sw $v0, 0x0034($sp)
/* 00698 80B32928 C6040164 */ lwc1 $f4, 0x0164($s0) ## 00000164
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32C2C.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32C2C.s
index 6b7426047d..3dac11b56c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32C2C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32C2C.s
@@ -4,7 +4,7 @@ glabel func_80B32C2C
/* 009A4 80B32C34 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 009A8 80B32C38 AFBF0024 */ sw $ra, 0x0024($sp)
/* 009AC 80B32C3C AFA5002C */ sw $a1, 0x002C($sp)
-/* 009B0 80B32C40 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 009B0 80B32C40 0C02927F */ jal SkelAnime_Update
/* 009B4 80B32C44 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 009B8 80B32C48 860E0194 */ lh $t6, 0x0194($s0) ## 00000194
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32D30.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32D30.s
index 9e604afc31..d7f9ef0a2e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32D30.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32D30.s
@@ -5,11 +5,11 @@ glabel func_80B32D30
/* 00AAC 80B32D3C AFBF001C */ sw $ra, 0x001C($sp)
/* 00AB0 80B32D40 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00AB4 80B32D44 AFA5002C */ sw $a1, 0x002C($sp)
-/* 00AB8 80B32D48 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00AB8 80B32D48 0C02927F */ jal SkelAnime_Update
/* 00ABC 80B32D4C AFA40024 */ sw $a0, 0x0024($sp)
/* 00AC0 80B32D50 8FA40024 */ lw $a0, 0x0024($sp)
-/* 00AC4 80B32D54 0C0295B2 */ jal func_800A56C8
+/* 00AC4 80B32D54 0C0295B2 */ jal Animation_OnFrame
/* 00AC8 80B32D58 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00ACC 80B32D5C 10400003 */ beq $v0, $zero, .L80B32D6C
/* 00AD0 80B32D60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32E34.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32E34.s
index 620cf5f736..53b44e7ae3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32E34.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B32E34.s
@@ -6,7 +6,7 @@ glabel func_80B32E34
/* 00BB4 80B32E44 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00BB8 80B32E48 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00BBC 80B32E4C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00BC0 80B32E50 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00BC0 80B32E50 0C02927F */ jal SkelAnime_Update
/* 00BC4 80B32E54 AFAF002C */ sw $t7, 0x002C($sp)
/* 00BC8 80B32E58 86030194 */ lh $v1, 0x0194($s0) ## 00000194
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B33018.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B33018.s
index a2fda89cb6..8b10594971 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B33018.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B33018.s
@@ -9,7 +9,7 @@ glabel func_80B33018
/* 00D90 80B33020 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00D94 80B33024 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00D98 80B33028 AFA50034 */ sw $a1, 0x0034($sp)
-/* 00D9C 80B3302C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00D9C 80B3302C 0C02927F */ jal SkelAnime_Update
/* 00DA0 80B33030 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00DA4 80B33034 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B331CC.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B331CC.s
index 6bd78fbfd3..4dbf2f4fe6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B331CC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B331CC.s
@@ -9,7 +9,7 @@ glabel func_80B331CC
/* 00F44 80B331D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00F48 80B331D8 AFBF001C */ sw $ra, 0x001C($sp)
/* 00F4C 80B331DC AFA50024 */ sw $a1, 0x0024($sp)
-/* 00F50 80B331E0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00F50 80B331E0 0C02927F */ jal SkelAnime_Update
/* 00F54 80B331E4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00F58 80B331E8 86020194 */ lh $v0, 0x0194($s0) ## 00000194
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B332B4.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B332B4.s
index 1082faa701..5479b565d0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B332B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B332B4.s
@@ -4,7 +4,7 @@ glabel func_80B332B4
/* 0102C 80B332BC 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 01030 80B332C0 AFA5001C */ sw $a1, 0x001C($sp)
/* 01034 80B332C4 AFA70018 */ sw $a3, 0x0018($sp)
-/* 01038 80B332C8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01038 80B332C8 0C02927F */ jal SkelAnime_Update
/* 0103C 80B332CC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01040 80B332D0 8FA70018 */ lw $a3, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B333B8.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B333B8.s
index 056b9d0267..a93ccffc5b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B333B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B333B8.s
@@ -20,7 +20,7 @@ glabel func_80B333B8
/* 01168 80B333F8 24060200 */ addiu $a2, $zero, 0x0200 ## $a2 = 00000200
/* 0116C 80B333FC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 01170 80B33400 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01170 80B33400 0C02927F */ jal SkelAnime_Update
/* 01174 80B33404 AFA40024 */ sw $a0, 0x0024($sp)
/* 01178 80B33408 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
@@ -30,7 +30,7 @@ glabel func_80B333B8
/* 01188 80B33418 00000000 */ nop
/* 0118C 80B3341C 4502000F */ bc1fl .L80B3345C
/* 01190 80B33420 86190194 */ lh $t9, 0x0194($s0) ## 00000194
-/* 01194 80B33424 0C0295B2 */ jal func_800A56C8
+/* 01194 80B33424 0C0295B2 */ jal Animation_OnFrame
/* 01198 80B33428 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 0119C 80B3342C 10400003 */ beq $v0, $zero, .L80B3343C
/* 011A0 80B33430 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B3349C.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B3349C.s
index 720ec976a6..4a0119c4ed 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B3349C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/func_80B3349C.s
@@ -6,7 +6,7 @@ glabel func_80B3349C
/* 0121C 80B334AC 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 01220 80B334B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01224 80B334B4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01228 80B334B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01228 80B334B8 0C02927F */ jal SkelAnime_Update
/* 0122C 80B334BC AFAF002C */ sw $t7, 0x002C($sp)
/* 01230 80B334C0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34380.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34380.s
index 29df1b4d02..407edf363f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34380.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34380.s
@@ -14,7 +14,7 @@ glabel func_80B34380
/* 00700 80B343B0 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 00704 80B343B4 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00708 80B343B8 E7A00018 */ swc1 $f0, 0x0018($sp)
-/* 0070C 80B343BC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0070C 80B343BC 0C029468 */ jal Animation_Change
/* 00710 80B343C0 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00714 80B343C4 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34428.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34428.s
index 8fc69184a7..fa14925522 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34428.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34428.s
@@ -70,7 +70,7 @@ glabel func_80B34428
/* 00868 80B34518 1000000C */ beq $zero, $zero, .L80B3454C
/* 0086C 80B3451C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B34520:
-/* 00870 80B34520 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00870 80B34520 0C02927F */ jal SkelAnime_Update
/* 00874 80B34524 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 00878 80B34528 10400007 */ beq $v0, $zero, .L80B34548
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3455C.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3455C.s
index e4b6818d48..d6019b17da 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3455C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3455C.s
@@ -6,7 +6,7 @@ glabel func_80B3455C
/* 008BC 80B3456C 24A5A4AC */ addiu $a1, $a1, %lo(D_0600A4AC) ## $a1 = 0600A4AC
/* 008C0 80B34570 AFA70018 */ sw $a3, 0x0018($sp)
/* 008C4 80B34574 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 008C8 80B34578 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 008C8 80B34578 0C0294D3 */ jal Animation_MorphToLoop
/* 008CC 80B3457C 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 008D0 80B34580 8FA70018 */ lw $a3, 0x0018($sp)
/* 008D4 80B34584 240E0006 */ addiu $t6, $zero, 0x0006 ## $t6 = 00000006
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B345E4.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B345E4.s
index a57f1868f8..a699123b7c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B345E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B345E4.s
@@ -11,7 +11,7 @@ glabel func_80B345E4
/* 00944 80B345F4 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 00948 80B345F8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0094C 80B345FC 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 00950 80B34600 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00950 80B34600 0C02927F */ jal SkelAnime_Update
/* 00954 80B34604 AFAF002C */ sw $t7, 0x002C($sp)
/* 00958 80B34608 860402E2 */ lh $a0, 0x02E2($s0) ## 000002E2
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B347FC.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B347FC.s
index b8909bd0a9..4ccf72cc0e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B347FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B347FC.s
@@ -4,7 +4,7 @@ glabel func_80B347FC
/* 00B54 80B34804 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00B58 80B34808 3C040600 */ lui $a0, %hi(D_060057A0) ## $a0 = 06000000
/* 00B5C 80B3480C AFA5002C */ sw $a1, 0x002C($sp)
-/* 00B60 80B34810 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00B60 80B34810 0C028800 */ jal Animation_GetLastFrame
/* 00B64 80B34814 248457A0 */ addiu $a0, $a0, %lo(D_060057A0) ## $a0 = 060057A0
/* 00B68 80B34818 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_80B347FC
/* 00B90 80B34840 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00B94 80B34844 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00B98 80B34848 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 00B9C 80B3484C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00B9C 80B3484C 0C029468 */ jal Animation_Change
/* 00BA0 80B34850 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 00BA4 80B34854 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3487C.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3487C.s
index 6dbb6ec29f..82d64542b8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3487C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3487C.s
@@ -140,7 +140,7 @@ glabel func_80B3487C
/* 00DA0 80B34A50 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 00DA4 80B34A54 4600810D */ trunc.w.s $f4, $f16
/* 00DA8 80B34A58 440C2000 */ mfc1 $t4, $f4
-/* 00DAC 80B34A5C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 00DAC 80B34A5C 0C02927F */ jal SkelAnime_Update
/* 00DB0 80B34A60 AFAC005C */ sw $t4, 0x005C($sp)
/* 00DB4 80B34A64 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34CFC.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34CFC.s
index 5576218acc..667837d915 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34CFC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34CFC.s
@@ -6,7 +6,7 @@ glabel func_80B34CFC
/* 0105C 80B34D0C 24A598C8 */ addiu $a1, $a1, %lo(D_060098C8) ## $a1 = 060098C8
/* 01060 80B34D10 AFA70018 */ sw $a3, 0x0018($sp)
/* 01064 80B34D14 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 01068 80B34D18 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01068 80B34D18 0C0294D3 */ jal Animation_MorphToLoop
/* 0106C 80B34D1C 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 01070 80B34D20 8FA40018 */ lw $a0, 0x0018($sp)
/* 01074 80B34D24 240E000A */ addiu $t6, $zero, 0x000A ## $t6 = 0000000A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34D48.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34D48.s
index 40a87c3ce2..6a9a6b1137 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34D48.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34D48.s
@@ -92,7 +92,7 @@ glabel func_80B34D48
.L80B34E90:
/* 011E0 80B34E90 46001207 */ neg.s $f8, $f2
.L80B34E94:
-/* 011E4 80B34E94 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 011E4 80B34E94 0C02927F */ jal SkelAnime_Update
/* 011E8 80B34E98 E60801A4 */ swc1 $f8, 0x01A4($s0) ## 000001A4
/* 011EC 80B34E9C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34F28.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34F28.s
index 0bf2b3a255..6bb7979414 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34F28.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B34F28.s
@@ -9,7 +9,7 @@ glabel func_80B34F28
/* 01280 80B34F30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01284 80B34F34 AFBF002C */ sw $ra, 0x002C($sp)
/* 01288 80B34F38 3C040600 */ lui $a0, %hi(D_060057A0) ## $a0 = 06000000
-/* 0128C 80B34F3C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0128C 80B34F3C 0C028800 */ jal Animation_GetLastFrame
/* 01290 80B34F40 248457A0 */ addiu $a0, $a0, %lo(D_060057A0) ## $a0 = 060057A0
/* 01294 80B34F44 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -24,7 +24,7 @@ glabel func_80B34F28
/* 012B8 80B34F68 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 012BC 80B34F6C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 012C0 80B34F70 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 012C4 80B34F74 0C029468 */ jal SkelAnime_ChangeAnim
+/* 012C4 80B34F74 0C029468 */ jal Animation_Change
/* 012C8 80B34F78 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 012CC 80B34F7C 0C03F66B */ jal Rand_ZeroOne
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35024.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35024.s
index 8150122016..85b12892b6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35024.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35024.s
@@ -226,7 +226,7 @@ glabel func_80B35024
/* 01678 80B35328 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 0167C 80B3532C 4600320D */ trunc.w.s $f8, $f6
/* 01680 80B35330 44034000 */ mfc1 $v1, $f8
-/* 01684 80B35334 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01684 80B35334 0C02927F */ jal SkelAnime_Update
/* 01688 80B35338 AFA30048 */ sw $v1, 0x0048($sp)
/* 0168C 80B3533C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35540.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35540.s
index 4d53e94598..388ec07e53 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35540.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35540.s
@@ -5,7 +5,7 @@ glabel func_80B35540
/* 0189C 80B3554C 3C050600 */ lui $a1, %hi(D_06004638) ## $a1 = 06000000
/* 018A0 80B35550 24A54638 */ addiu $a1, $a1, %lo(D_06004638) ## $a1 = 06004638
/* 018A4 80B35554 AFA60018 */ sw $a2, 0x0018($sp)
-/* 018A8 80B35558 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 018A8 80B35558 0C02947A */ jal Animation_PlayOnce
/* 018AC 80B3555C 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 018B0 80B35560 8FA40018 */ lw $a0, 0x0018($sp)
/* 018B4 80B35564 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B355BC.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B355BC.s
index c58174b8af..15c85b6d03 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B355BC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B355BC.s
@@ -92,7 +92,7 @@ glabel func_80B355BC
/* 01A20 80B356D0 45010005 */ bc1t .L80B356E8
.L80B356D4:
/* 01A24 80B356D4 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
-/* 01A28 80B356D8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01A28 80B356D8 0C02927F */ jal SkelAnime_Update
/* 01A2C 80B356DC AFA6003C */ sw $a2, 0x003C($sp)
/* 01A30 80B356E0 10400085 */ beq $v0, $zero, .L80B358F8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3590C.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3590C.s
index 7b1812c9ff..9ad465d0a3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3590C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B3590C.s
@@ -25,7 +25,7 @@ glabel func_80B3590C
/* 01CB4 80B35964 AFB80014 */ sw $t8, 0x0014($sp)
/* 01CB8 80B35968 44073000 */ mfc1 $a3, $f6
/* 01CBC 80B3596C E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 01CC0 80B35970 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01CC0 80B35970 0C029468 */ jal Animation_Change
/* 01CC4 80B35974 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 01CC8 80B35978 2419000C */ addiu $t9, $zero, 0x000C ## $t9 = 0000000C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B359A8.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B359A8.s
index c7f39ade8a..131b3bc8c3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B359A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B359A8.s
@@ -34,7 +34,7 @@ glabel func_80B359A8
/* 01D54 80B35A04 00073C03 */ sra $a3, $a3, 16
.L80B35A08:
/* 01D58 80B35A08 A7A60022 */ sh $a2, 0x0022($sp)
-/* 01D5C 80B35A0C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01D5C 80B35A0C 0C02927F */ jal SkelAnime_Update
/* 01D60 80B35A10 A7A70020 */ sh $a3, 0x0020($sp)
/* 01D64 80B35A14 1040005A */ beq $v0, $zero, .L80B35B80
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35B94.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35B94.s
index 87f331adea..a37ea77ca1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35B94.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35B94.s
@@ -6,7 +6,7 @@ glabel func_80B35B94
/* 01EF4 80B35BA4 24A54AD0 */ addiu $a1, $a1, %lo(D_06004AD0) ## $a1 = 06004AD0
/* 01EF8 80B35BA8 AFA70018 */ sw $a3, 0x0018($sp)
/* 01EFC 80B35BAC 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 01F00 80B35BB0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01F00 80B35BB0 0C029490 */ jal Animation_MorphToPlayOnce
/* 01F04 80B35BB4 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 01F08 80B35BB8 8FA40018 */ lw $a0, 0x0018($sp)
/* 01F0C 80B35BBC 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35C10.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35C10.s
index 1764f604ec..9e5e559bb6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35C10.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35C10.s
@@ -9,7 +9,7 @@ glabel func_80B35C10
/* 01F68 80B35C18 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01F6C 80B35C1C AFBF001C */ sw $ra, 0x001C($sp)
/* 01F70 80B35C20 AFA50024 */ sw $a1, 0x0024($sp)
-/* 01F74 80B35C24 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01F74 80B35C24 0C02927F */ jal SkelAnime_Update
/* 01F78 80B35C28 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
/* 01F7C 80B35C2C 1040002D */ beq $v0, $zero, .L80B35CE4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35D18.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35D18.s
index 87f2151d00..e3b84df8c1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35D18.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35D18.s
@@ -19,7 +19,7 @@ glabel func_80B35D18
/* 020A4 80B35D54 3C050601 */ lui $a1, %hi(D_06009B20) ## $a1 = 06010000
/* 020A8 80B35D58 24A59B20 */ addiu $a1, $a1, %lo(D_06009B20) ## $a1 = 06009B20
/* 020AC 80B35D5C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
-/* 020B0 80B35D60 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 020B0 80B35D60 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 020B4 80B35D64 24E40188 */ addiu $a0, $a3, 0x0188 ## $a0 = 00000188
/* 020B8 80B35D68 8FA40018 */ lw $a0, 0x0018($sp)
/* 020BC 80B35D6C 2418000F */ addiu $t8, $zero, 0x000F ## $t8 = 0000000F
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35E4C.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35E4C.s
index abce88f882..86309b3bed 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35E4C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35E4C.s
@@ -6,7 +6,7 @@ glabel func_80B35E4C
/* 021AC 80B35E5C 24A59B20 */ addiu $a1, $a1, %lo(D_06009B20) ## $a1 = 06009B20
/* 021B0 80B35E60 AFA70018 */ sw $a3, 0x0018($sp)
/* 021B4 80B35E64 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 021B8 80B35E68 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 021B8 80B35E68 0C029490 */ jal Animation_MorphToPlayOnce
/* 021BC 80B35E6C 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 021C0 80B35E70 8FA70018 */ lw $a3, 0x0018($sp)
/* 021C4 80B35E74 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35EE4.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35EE4.s
index 6b0c9c5d04..a0ab792ab0 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35EE4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B35EE4.s
@@ -43,7 +43,7 @@ glabel func_80B35EE4
/* 022B8 80B35F68 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 022BC 80B35F6C 5440005A */ bnel $v0, $zero, .L80B360D8
/* 022C0 80B35F70 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 022C4 80B35F74 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 022C4 80B35F74 0C02927F */ jal SkelAnime_Update
/* 022C8 80B35F78 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 022CC 80B35F7C 50400056 */ beql $v0, $zero, .L80B360D8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B360E8.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B360E8.s
index 8881399d70..6f583d8555 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B360E8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B360E8.s
@@ -4,7 +4,7 @@ glabel func_80B360E8
/* 02440 80B360F0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02444 80B360F4 AFBF002C */ sw $ra, 0x002C($sp)
/* 02448 80B360F8 3C040600 */ lui $a0, %hi(D_06004AD0) ## $a0 = 06000000
-/* 0244C 80B360FC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 0244C 80B360FC 0C028800 */ jal Animation_GetLastFrame
/* 02450 80B36100 24844AD0 */ addiu $a0, $a0, %lo(D_06004AD0) ## $a0 = 06004AD0
/* 02454 80B36104 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -20,7 +20,7 @@ glabel func_80B360E8
/* 0247C 80B3612C 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 02480 80B36130 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 02484 80B36134 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 02488 80B36138 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02488 80B36138 0C029468 */ jal Animation_Change
/* 0248C 80B3613C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 02490 80B36140 3C0140D0 */ lui $at, 0x40D0 ## $at = 40D00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B361A0.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B361A0.s
index 0048f54d11..583d5738be 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B361A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B361A0.s
@@ -26,7 +26,7 @@ glabel func_80B361A0
/* 0254C 80B361FC 0C00D56E */ jal func_800355B8
/* 02550 80B36200 260504BC */ addiu $a1, $s0, 0x04BC ## $a1 = 000004BC
.L80B36204:
-/* 02554 80B36204 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02554 80B36204 0C02927F */ jal SkelAnime_Update
/* 02558 80B36208 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 0255C 80B3620C 5040001A */ beql $v0, $zero, .L80B36278
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36288.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36288.s
index 528a22805c..3b4958ff29 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36288.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36288.s
@@ -4,7 +4,7 @@ glabel func_80B36288
/* 025E0 80B36290 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 025E4 80B36294 AFBF002C */ sw $ra, 0x002C($sp)
/* 025E8 80B36298 3C040600 */ lui $a0, %hi(D_06004CA4) ## $a0 = 06000000
-/* 025EC 80B3629C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 025EC 80B3629C 0C028800 */ jal Animation_GetLastFrame
/* 025F0 80B362A0 24844CA4 */ addiu $a0, $a0, %lo(D_06004CA4) ## $a0 = 06004CA4
/* 025F4 80B362A4 860E02F8 */ lh $t6, 0x02F8($s0) ## 000002F8
@@ -30,7 +30,7 @@ glabel func_80B36288
/* 02640 80B362F0 24A54CA4 */ addiu $a1, $a1, %lo(D_06004CA4) ## $a1 = 06004CA4
/* 02644 80B362F4 E7A20010 */ swc1 $f2, 0x0010($sp)
/* 02648 80B362F8 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
-/* 0264C 80B362FC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0264C 80B362FC 0C029468 */ jal Animation_Change
/* 02650 80B36300 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 02654 80B36304 3C0580B3 */ lui $a1, %hi(func_80B36328) ## $a1 = 80B30000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36328.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36328.s
index 885dd95f68..fdab614f98 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36328.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36328.s
@@ -17,7 +17,7 @@ glabel func_80B36328
/* 026B0 80B36360 E60401A4 */ swc1 $f4, 0x01A4($s0) ## 000001A4
.L80B36364:
/* 026B4 80B36364 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
-/* 026B8 80B36368 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 026B8 80B36368 0C02927F */ jal SkelAnime_Update
/* 026BC 80B3636C AFA90034 */ sw $t1, 0x0034($sp)
/* 026C0 80B36370 10400066 */ beq $v0, $zero, .L80B3650C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B365A8.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B365A8.s
index be06ae45f3..7bf78ea672 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B365A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B365A8.s
@@ -10,7 +10,7 @@ glabel func_80B365A8
/* 02904 80B365B4 AFBF002C */ sw $ra, 0x002C($sp)
/* 02908 80B365B8 3C040600 */ lui $a0, %hi(D_060057A0) ## $a0 = 06000000
/* 0290C 80B365BC AFA5003C */ sw $a1, 0x003C($sp)
-/* 02910 80B365C0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02910 80B365C0 0C028800 */ jal Animation_GetLastFrame
/* 02914 80B365C4 248457A0 */ addiu $a0, $a0, %lo(D_060057A0) ## $a0 = 060057A0
/* 02918 80B365C8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -25,7 +25,7 @@ glabel func_80B365A8
/* 0293C 80B365EC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 02940 80B365F0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 02944 80B365F4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 02948 80B365F8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02948 80B365F8 0C029468 */ jal Animation_Change
/* 0294C 80B365FC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 02950 80B36600 8FAF003C */ lw $t7, 0x003C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36740.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36740.s
index 6b243f6e49..fe911c5b5a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36740.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36740.s
@@ -208,7 +208,7 @@ glabel func_80B36740
/* 02D54 80B36A04 26040188 */ addiu $a0, $s0, 0x0188 ## $a0 = 00000188
/* 02D58 80B36A08 4600320D */ trunc.w.s $f8, $f6
/* 02D5C 80B36A0C 44194000 */ mfc1 $t9, $f8
-/* 02D60 80B36A10 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02D60 80B36A10 0C02927F */ jal SkelAnime_Update
/* 02D64 80B36A14 AFB90064 */ sw $t9, 0x0064($sp)
/* 02D68 80B36A18 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36C8C.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36C8C.s
index d0e84274c6..fc3f1ecd90 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36C8C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36C8C.s
@@ -6,7 +6,7 @@ glabel func_80B36C8C
/* 02FEC 80B36C9C 24A55430 */ addiu $a1, $a1, %lo(D_06005430) ## $a1 = 06005430
/* 02FF0 80B36CA0 AFA70018 */ sw $a3, 0x0018($sp)
/* 02FF4 80B36CA4 24840188 */ addiu $a0, $a0, 0x0188 ## $a0 = 00000188
-/* 02FF8 80B36CA8 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 02FF8 80B36CA8 0C029490 */ jal Animation_MorphToPlayOnce
/* 02FFC 80B36CAC 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 03000 80B36CB0 8FA70018 */ lw $a3, 0x0018($sp)
/* 03004 80B36CB4 3C01C0C0 */ lui $at, 0xC0C0 ## $at = C0C00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36D3C.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36D3C.s
index 192a1cb0f9..aaf4c20fc6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36D3C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/func_80B36D3C.s
@@ -30,7 +30,7 @@ glabel func_80B36D3C
/* 030F4 80B36DA4 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 030F8 80B36DA8 A6200300 */ sh $zero, 0x0300($s1) ## 00000300
.L80B36DAC:
-/* 030FC 80B36DAC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 030FC 80B36DAC 0C02927F */ jal SkelAnime_Update
/* 03100 80B36DB0 26240188 */ addiu $a0, $s1, 0x0188 ## $a0 = 00000188
/* 03104 80B36DB4 10400010 */ beq $v0, $zero, .L80B36DF8
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C4B0.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C4B0.s
index 075cb9fef8..91d8ba6626 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C4B0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C4B0.s
@@ -1,7 +1,7 @@
glabel func_80B3C4B0
/* 002D0 80B3C4B0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 002D4 80B3C4B4 AFBF0014 */ sw $ra, 0x0014($sp)
-/* 002D8 80B3C4B8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 002D8 80B3C4B8 0C02927F */ jal SkelAnime_Update
/* 002DC 80B3C4BC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 002E0 80B3C4C0 8FBF0014 */ lw $ra, 0x0014($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C700.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C700.s
index f39b8d036b..ce333e6fd7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C700.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C700.s
@@ -16,7 +16,7 @@ glabel func_80B3C700
/* 00558 80B3C738 00812021 */ addu $a0, $a0, $at
/* 0055C 80B3C73C AFA60040 */ sw $a2, 0x0040($sp)
/* 00560 80B3C740 AFA70044 */ sw $a3, 0x0044($sp)
-/* 00564 80B3C744 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00564 80B3C744 0C028800 */ jal Animation_GetLastFrame
/* 00568 80B3C748 AFA4002C */ sw $a0, 0x002C($sp)
/* 0056C 80B3C74C 8FA90048 */ lw $t1, 0x0048($sp)
@@ -43,7 +43,7 @@ glabel func_80B3C700
/* 005B8 80B3C798 44070000 */ mfc1 $a3, $f0
/* 005BC 80B3C79C E7A20010 */ swc1 $f2, 0x0010($sp)
/* 005C0 80B3C7A0 AFAA0014 */ sw $t2, 0x0014($sp)
-/* 005C4 80B3C7A4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 005C4 80B3C7A4 0C029468 */ jal Animation_Change
/* 005C8 80B3C7A8 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 005CC 80B3C7AC 8FBF0024 */ lw $ra, 0x0024($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C820.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C820.s
index 32f6761b8a..cb069f3b72 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C820.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C820.s
@@ -3,7 +3,7 @@ glabel func_80B3C820
/* 00644 80B3C824 AFA40028 */ sw $a0, 0x0028($sp)
/* 00648 80B3C828 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0064C 80B3C82C 3C040600 */ lui $a0, %hi(D_06004828) ## $a0 = 06000000
-/* 00650 80B3C830 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00650 80B3C830 0C028800 */ jal Animation_GetLastFrame
/* 00654 80B3C834 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 00658 80B3C838 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -17,7 +17,7 @@ glabel func_80B3C820
/* 00678 80B3C858 AFA00014 */ sw $zero, 0x0014($sp)
/* 0067C 80B3C85C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00680 80B3C860 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 00684 80B3C864 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00684 80B3C864 0C029468 */ jal Animation_Change
/* 00688 80B3C868 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0068C 80B3C86C 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C8CC.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C8CC.s
index 391fc427ff..aa005ba3df 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C8CC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C8CC.s
@@ -15,7 +15,7 @@ glabel func_80B3C8CC
/* 00720 80B3C900 35090003 */ ori $t1, $t0, 0x0003 ## $t1 = 00000003
/* 00724 80B3C904 A0C90035 */ sb $t1, 0x0035($a2) ## 00000181
/* 00728 80B3C908 8FA50018 */ lw $a1, 0x0018($sp)
-/* 0072C 80B3C90C 0C028D88 */ jal SkelAnime_LoadAnimationType5
+/* 0072C 80B3C90C 0C028D88 */ jal AnimationContext_SetMoveActor
/* 00730 80B3C910 8FA4001C */ lw $a0, 0x001C($sp)
/* 00734 80B3C914 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B3C918:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C924.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C924.s
index 8bdea75f7c..07503c94ea 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C924.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C924.s
@@ -9,7 +9,7 @@ glabel func_80B3C924
/* 00760 80B3C940 35CF0003 */ ori $t7, $t6, 0x0003 ## $t7 = 00000003
/* 00764 80B3C944 A08F0181 */ sb $t7, 0x0181($a0) ## 00000181
/* 00768 80B3C948 8FA4001C */ lw $a0, 0x001C($sp)
-/* 0076C 80B3C94C 0C028D88 */ jal SkelAnime_LoadAnimationType5
+/* 0076C 80B3C94C 0C028D88 */ jal AnimationContext_SetMoveActor
/* 00770 80B3C950 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00774 80B3C954 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00778 80B3C958 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C964.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C964.s
index 282c496b0f..a50d732d68 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C964.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3C964.s
@@ -23,7 +23,7 @@ glabel func_80B3C964
/* 007D8 80B3C9B8 97290004 */ lhu $t1, 0x0004($t9) ## 00000004
/* 007DC 80B3C9BC A08B0181 */ sb $t3, 0x0181($a0) ## 00000181
/* 007E0 80B3C9C0 A4890188 */ sh $t1, 0x0188($a0) ## 00000188
-/* 007E4 80B3C9C4 0C028D88 */ jal SkelAnime_LoadAnimationType5
+/* 007E4 80B3C9C4 0C028D88 */ jal AnimationContext_SetMoveActor
/* 007E8 80B3C9C8 8FA4001C */ lw $a0, 0x001C($sp)
/* 007EC 80B3C9CC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 007F0 80B3C9D0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CE84.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CE84.s
index b2df86c73a..734e7fa7d9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CE84.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CE84.s
@@ -6,11 +6,11 @@ glabel func_80B3CE84
/* 00CB4 80B3CE94 AFA5003C */ sw $a1, 0x003C($sp)
/* 00CB8 80B3CE98 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00CBC 80B3CE9C AFA40020 */ sw $a0, 0x0020($sp)
-/* 00CC0 80B3CEA0 0C0295B2 */ jal func_800A56C8
+/* 00CC0 80B3CEA0 0C0295B2 */ jal Animation_OnFrame
/* 00CC4 80B3CEA4 3C054130 */ lui $a1, 0x4130 ## $a1 = 41300000
/* 00CC8 80B3CEA8 14400005 */ bne $v0, $zero, .L80B3CEC0
/* 00CCC 80B3CEAC 8FA40020 */ lw $a0, 0x0020($sp)
-/* 00CD0 80B3CEB0 0C0295B2 */ jal func_800A56C8
+/* 00CD0 80B3CEB0 0C0295B2 */ jal Animation_OnFrame
/* 00CD4 80B3CEB4 3C0541B8 */ lui $a1, 0x41B8 ## $a1 = 41B80000
/* 00CD8 80B3CEB8 5040000E */ beql $v0, $zero, .L80B3CEF4
/* 00CDC 80B3CEBC 8FBF001C */ lw $ra, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CF04.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CF04.s
index 2e7bf5b0ab..55c291dc09 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CF04.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CF04.s
@@ -6,7 +6,7 @@ glabel func_80B3CF04
/* 00D34 80B3CF14 AFA5003C */ sw $a1, 0x003C($sp)
/* 00D38 80B3CF18 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00D3C 80B3CF1C AFA40020 */ sw $a0, 0x0020($sp)
-/* 00D40 80B3CF20 0C0295B2 */ jal func_800A56C8
+/* 00D40 80B3CF20 0C0295B2 */ jal Animation_OnFrame
/* 00D44 80B3CF24 3C0540E0 */ lui $a1, 0x40E0 ## $a1 = 40E00000
/* 00D48 80B3CF28 5040000E */ beql $v0, $zero, .L80B3CF64
/* 00D4C 80B3CF2C 8FA40020 */ lw $a0, 0x0020($sp)
@@ -25,7 +25,7 @@ glabel func_80B3CF04
.L80B3CF60:
/* 00D80 80B3CF60 8FA40020 */ lw $a0, 0x0020($sp)
.L80B3CF64:
-/* 00D84 80B3CF64 0C0295B2 */ jal func_800A56C8
+/* 00D84 80B3CF64 0C0295B2 */ jal Animation_OnFrame
/* 00D88 80B3CF68 3C0541A0 */ lui $a1, 0x41A0 ## $a1 = 41A00000
/* 00D8C 80B3CF6C 10400003 */ beq $v0, $zero, .L80B3CF7C
/* 00D90 80B3CF70 260400E4 */ addiu $a0, $s0, 0x00E4 ## $a0 = 000000E4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CF90.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CF90.s
index b476c464cb..5a6e4e3200 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CF90.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3CF90.s
@@ -15,7 +15,7 @@ glabel func_80B3CF90
/* 00DE0 80B3CFC0 8FA40018 */ lw $a0, 0x0018($sp)
/* 00DE4 80B3CFC4 3C054130 */ lui $a1, 0x4130 ## $a1 = 41300000
/* 00DE8 80B3CFC8 AFA7001C */ sw $a3, 0x001C($sp)
-/* 00DEC 80B3CFCC 0C0295B2 */ jal func_800A56C8
+/* 00DEC 80B3CFCC 0C0295B2 */ jal Animation_OnFrame
/* 00DF0 80B3CFD0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00DF4 80B3CFD4 1040000B */ beq $v0, $zero, .L80B3D004
/* 00DF8 80B3CFD8 8FA7001C */ lw $a3, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D794.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D794.s
index adf4e8b815..341e347bf6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D794.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D794.s
@@ -16,7 +16,7 @@ glabel func_80B3D794
/* 015EC 80B3D7CC 3C040602 */ lui $a0, %hi(D_0601C0E8) ## $a0 = 06020000
/* 015F0 80B3D7D0 15E1002F */ bne $t7, $at, .L80B3D890
/* 015F4 80B3D7D4 2484C0E8 */ addiu $a0, $a0, %lo(D_0601C0E8) ## $a0 = 0601C0E8
-/* 015F8 80B3D7D8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 015F8 80B3D7D8 0C028800 */ jal Animation_GetLastFrame
/* 015FC 80B3D7DC AFA60044 */ sw $a2, 0x0044($sp)
/* 01600 80B3D7E0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -59,7 +59,7 @@ glabel func_80B3D794
/* 01694 80B3D874 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01698 80B3D878 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0169C 80B3D87C E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 016A0 80B3D880 0C029468 */ jal SkelAnime_ChangeAnim
+/* 016A0 80B3D880 0C029468 */ jal Animation_Change
/* 016A4 80B3D884 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 016A8 80B3D888 0C2CF446 */ jal func_80B3D118
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D8A4.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D8A4.s
index 611f439615..cfd2ab8936 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D8A4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D8A4.s
@@ -10,7 +10,7 @@ glabel func_80B3D8A4
/* 016D0 80B3D8B0 10C00030 */ beq $a2, $zero, .L80B3D974
/* 016D4 80B3D8B4 AFBF002C */ sw $ra, 0x002C($sp)
/* 016D8 80B3D8B8 3C040601 */ lui $a0, %hi(D_06012FD0) ## $a0 = 06010000
-/* 016DC 80B3D8BC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 016DC 80B3D8BC 0C028800 */ jal Animation_GetLastFrame
/* 016E0 80B3D8C0 24842FD0 */ addiu $a0, $a0, %lo(D_06012FD0) ## $a0 = 06012FD0
/* 016E4 80B3D8C4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -24,7 +24,7 @@ glabel func_80B3D8A4
/* 01704 80B3D8E4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01708 80B3D8E8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0170C 80B3D8EC AFA00014 */ sw $zero, 0x0014($sp)
-/* 01710 80B3D8F0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01710 80B3D8F0 0C029468 */ jal Animation_Change
/* 01714 80B3D8F4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 01718 80B3D8F8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DA00.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DA00.s
index 107f5a2f96..0fa1838f76 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DA00.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DA00.s
@@ -16,7 +16,7 @@ glabel func_80B3DA00
/* 01858 80B3DA38 00000000 */ nop
/* 0185C 80B3DA3C 45020017 */ bc1fl .L80B3DA9C
/* 01860 80B3DA40 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 01864 80B3DA44 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01864 80B3DA44 0C028800 */ jal Animation_GetLastFrame
/* 01868 80B3DA48 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 0186C 80B3DA4C 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -31,7 +31,7 @@ glabel func_80B3DA00
/* 01890 80B3DA70 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 01894 80B3DA74 AFA00014 */ sw $zero, 0x0014($sp)
/* 01898 80B3DA78 E7A40018 */ swc1 $f4, 0x0018($sp)
-/* 0189C 80B3DA7C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0189C 80B3DA7C 0C029468 */ jal Animation_Change
/* 018A0 80B3DA80 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 018A4 80B3DA84 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DAF0.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DAF0.s
index 1aa7f62362..d7b196f5b5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DAF0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DAF0.s
@@ -20,7 +20,7 @@ glabel func_80B3DAF0
/* 01958 80B3DB38 14810018 */ bne $a0, $at, .L80B3DB9C
.L80B3DB3C:
/* 0195C 80B3DB3C 3C040602 */ lui $a0, %hi(D_0601B19C) ## $a0 = 06020000
-/* 01960 80B3DB40 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01960 80B3DB40 0C028800 */ jal Animation_GetLastFrame
/* 01964 80B3DB44 2484B19C */ addiu $a0, $a0, %lo(D_0601B19C) ## $a0 = 0601B19C
/* 01968 80B3DB48 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -36,7 +36,7 @@ glabel func_80B3DAF0
/* 01990 80B3DB70 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01994 80B3DB74 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01998 80B3DB78 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 0199C 80B3DB7C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0199C 80B3DB7C 0C029468 */ jal Animation_Change
/* 019A0 80B3DB80 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 019A4 80B3DB84 8FB80028 */ lw $t8, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DBAC.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DBAC.s
index c5f0ff4b2a..7292dfe49f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DBAC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DBAC.s
@@ -4,7 +4,7 @@ glabel func_80B3DBAC
/* 019D4 80B3DBB4 10A00017 */ beq $a1, $zero, .L80B3DC14
/* 019D8 80B3DBB8 AFA40028 */ sw $a0, 0x0028($sp)
/* 019DC 80B3DBBC 3C040601 */ lui $a0, %hi(D_06017C54) ## $a0 = 06010000
-/* 019E0 80B3DBC0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 019E0 80B3DBC0 0C028800 */ jal Animation_GetLastFrame
/* 019E4 80B3DBC4 24847C54 */ addiu $a0, $a0, %lo(D_06017C54) ## $a0 = 06017C54
/* 019E8 80B3DBC8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B3DBAC
/* 01A0C 80B3DBEC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01A10 80B3DBF0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01A14 80B3DBF4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01A18 80B3DBF8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01A18 80B3DBF8 0C029468 */ jal Animation_Change
/* 01A1C 80B3DBFC E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01A20 80B3DC00 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DC24.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DC24.s
index b8584113db..805bad23be 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DC24.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DC24.s
@@ -7,7 +7,7 @@ glabel func_80B3DC24
/* 01A58 80B3DC38 0C2CF536 */ jal func_80B3D4D8
/* 01A5C 80B3DC3C 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
/* 01A60 80B3DC40 AFA2002C */ sw $v0, 0x002C($sp)
-/* 01A64 80B3DC44 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01A64 80B3DC44 0C028800 */ jal Animation_GetLastFrame
/* 01A68 80B3DC48 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 01A6C 80B3DC4C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -21,7 +21,7 @@ glabel func_80B3DC24
/* 01A8C 80B3DC6C AFA00014 */ sw $zero, 0x0014($sp)
/* 01A90 80B3DC70 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01A94 80B3DC74 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 01A98 80B3DC78 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01A98 80B3DC78 0C029468 */ jal Animation_Change
/* 01A9C 80B3DC7C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01AA0 80B3DC80 8FAF0038 */ lw $t7, 0x0038($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DCA8.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DCA8.s
index 9e8d290ae1..9b73989936 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DCA8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DCA8.s
@@ -13,7 +13,7 @@ glabel func_80B3DCA8
/* 01AF4 80B3DCD4 3C040601 */ lui $a0, %hi(D_06017C54) ## $a0 = 06010000
/* 01AF8 80B3DCD8 55E10015 */ bnel $t7, $at, .L80B3DD30
/* 01AFC 80B3DCDC 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 01B00 80B3DCE0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01B00 80B3DCE0 0C028800 */ jal Animation_GetLastFrame
/* 01B04 80B3DCE4 24847C54 */ addiu $a0, $a0, %lo(D_06017C54) ## $a0 = 06017C54
/* 01B08 80B3DCE8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -28,7 +28,7 @@ glabel func_80B3DCA8
/* 01B2C 80B3DD0C 44070000 */ mfc1 $a3, $f0
/* 01B30 80B3DD10 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01B34 80B3DD14 E7A60018 */ swc1 $f6, 0x0018($sp)
-/* 01B38 80B3DD18 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01B38 80B3DD18 0C029468 */ jal Animation_Change
/* 01B3C 80B3DD1C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01B40 80B3DD20 8FB90028 */ lw $t9, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DD3C.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DD3C.s
index c66c35c155..39dda9cd56 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DD3C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DD3C.s
@@ -16,7 +16,7 @@ glabel func_80B3DD3C
/* 01B94 80B3DD74 00000000 */ nop
/* 01B98 80B3DD78 4502001D */ bc1fl .L80B3DDF0
/* 01B9C 80B3DD7C 8FBF002C */ lw $ra, 0x002C($sp)
-/* 01BA0 80B3DD80 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01BA0 80B3DD80 0C028800 */ jal Animation_GetLastFrame
/* 01BA4 80B3DD84 24847C54 */ addiu $a0, $a0, %lo(D_06017C54) ## $a0 = 06017C54
/* 01BA8 80B3DD88 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -30,7 +30,7 @@ glabel func_80B3DD3C
/* 01BC8 80B3DDA8 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 01BCC 80B3DDAC 44072000 */ mfc1 $a3, $f4
/* 01BD0 80B3DDB0 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 01BD4 80B3DDB4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01BD4 80B3DDB4 0C029468 */ jal Animation_Change
/* 01BD8 80B3DDB8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01BDC 80B3DDBC 240F000B */ addiu $t7, $zero, 0x000B ## $t7 = 0000000B
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DE00.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DE00.s
index c6ec873fb0..a3ef42afeb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DE00.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DE00.s
@@ -4,7 +4,7 @@ glabel func_80B3DE00
/* 01C28 80B3DE08 10A00017 */ beq $a1, $zero, .L80B3DE68
/* 01C2C 80B3DE0C AFA40028 */ sw $a0, 0x0028($sp)
/* 01C30 80B3DE10 3C040602 */ lui $a0, %hi(D_0601B19C) ## $a0 = 06020000
-/* 01C34 80B3DE14 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01C34 80B3DE14 0C028800 */ jal Animation_GetLastFrame
/* 01C38 80B3DE18 2484B19C */ addiu $a0, $a0, %lo(D_0601B19C) ## $a0 = 0601B19C
/* 01C3C 80B3DE1C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B3DE00
/* 01C60 80B3DE40 44072000 */ mfc1 $a3, $f4
/* 01C64 80B3DE44 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01C68 80B3DE48 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 01C6C 80B3DE4C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01C6C 80B3DE4C 0C029468 */ jal Animation_Change
/* 01C70 80B3DE50 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01C74 80B3DE54 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DE78.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DE78.s
index 1cb45595a1..4e1d552129 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DE78.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DE78.s
@@ -4,7 +4,7 @@ glabel func_80B3DE78
/* 01CA0 80B3DE80 10A00018 */ beq $a1, $zero, .L80B3DEE4
/* 01CA4 80B3DE84 AFA40028 */ sw $a0, 0x0028($sp)
/* 01CA8 80B3DE88 3C040600 */ lui $a0, %hi(D_06004828) ## $a0 = 06000000
-/* 01CAC 80B3DE8C 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01CAC 80B3DE8C 0C028800 */ jal Animation_GetLastFrame
/* 01CB0 80B3DE90 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 01CB4 80B3DE94 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80B3DE78
/* 01CD4 80B3DEB4 AFA00014 */ sw $zero, 0x0014($sp)
/* 01CD8 80B3DEB8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01CDC 80B3DEBC 2464014C */ addiu $a0, $v1, 0x014C ## $a0 = 0000014C
-/* 01CE0 80B3DEC0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01CE0 80B3DEC0 0C029468 */ jal Animation_Change
/* 01CE4 80B3DEC4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01CE8 80B3DEC8 8FA30028 */ lw $v1, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DEF4.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DEF4.s
index 090a66b73c..40f0ac8b41 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DEF4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3DEF4.s
@@ -14,7 +14,7 @@ glabel func_80B3DEF4
/* 01D44 80B3DF24 3C040601 */ lui $a0, %hi(D_06012FD0) ## $a0 = 06010000
/* 01D48 80B3DF28 55E1001A */ bnel $t7, $at, .L80B3DF94
/* 01D4C 80B3DF2C 8FBF002C */ lw $ra, 0x002C($sp)
-/* 01D50 80B3DF30 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01D50 80B3DF30 0C028800 */ jal Animation_GetLastFrame
/* 01D54 80B3DF34 24842FD0 */ addiu $a0, $a0, %lo(D_06012FD0) ## $a0 = 06012FD0
/* 01D58 80B3DF38 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -29,7 +29,7 @@ glabel func_80B3DEF4
/* 01D7C 80B3DF5C 44072000 */ mfc1 $a3, $f4
/* 01D80 80B3DF60 AFA00014 */ sw $zero, 0x0014($sp)
/* 01D84 80B3DF64 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 01D88 80B3DF68 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01D88 80B3DF68 0C029468 */ jal Animation_Change
/* 01D8C 80B3DF6C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01D90 80B3DF70 86190032 */ lh $t9, 0x0032($s0) ## 00000032
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E014.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E014.s
index 0bed4a84c7..15ca2d6a6e 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E014.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E014.s
@@ -16,7 +16,7 @@ glabel func_80B3E014
/* 01E6C 80B3E04C 00000000 */ nop
/* 01E70 80B3E050 45020017 */ bc1fl .L80B3E0B0
/* 01E74 80B3E054 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 01E78 80B3E058 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01E78 80B3E058 0C028800 */ jal Animation_GetLastFrame
/* 01E7C 80B3E05C 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 01E80 80B3E060 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -31,7 +31,7 @@ glabel func_80B3E014
/* 01EA4 80B3E084 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 01EA8 80B3E088 AFA00014 */ sw $zero, 0x0014($sp)
/* 01EAC 80B3E08C E7A40018 */ swc1 $f4, 0x0018($sp)
-/* 01EB0 80B3E090 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01EB0 80B3E090 0C029468 */ jal Animation_Change
/* 01EB4 80B3E094 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 01EB8 80B3E098 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E0BC.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E0BC.s
index 6efb000c4f..2c0eae5df2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E0BC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E0BC.s
@@ -16,7 +16,7 @@ glabel func_80B3E0BC
/* 01F14 80B3E0F4 00000000 */ nop
/* 01F18 80B3E0F8 45020016 */ bc1fl .L80B3E154
/* 01F1C 80B3E0FC 8FBF002C */ lw $ra, 0x002C($sp)
-/* 01F20 80B3E100 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01F20 80B3E100 0C028800 */ jal Animation_GetLastFrame
/* 01F24 80B3E104 24849598 */ addiu $a0, $a0, %lo(D_06019598) ## $a0 = 06019598
/* 01F28 80B3E108 44829000 */ mtc1 $v0, $f18 ## $f18 = 0.00
@@ -30,7 +30,7 @@ glabel func_80B3E0BC
/* 01F48 80B3E128 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01F4C 80B3E12C E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01F50 80B3E130 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 01F54 80B3E134 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01F54 80B3E134 0C029468 */ jal Animation_Change
/* 01F58 80B3E138 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 01F5C 80B3E13C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3F010.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3F010.s
index fd79924e5d..72f2d9584c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3F010.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3F010.s
@@ -16,7 +16,7 @@ glabel func_80B3F010
/* 02E68 80B3F048 00000000 */ nop
/* 02E6C 80B3F04C 45020017 */ bc1fl .L80B3F0AC
/* 02E70 80B3F050 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 02E74 80B3F054 0C028800 */ jal SkelAnime_GetFrameCount
+/* 02E74 80B3F054 0C028800 */ jal Animation_GetLastFrame
/* 02E78 80B3F058 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 02E7C 80B3F05C 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -31,7 +31,7 @@ glabel func_80B3F010
/* 02EA0 80B3F080 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 02EA4 80B3F084 AFA00014 */ sw $zero, 0x0014($sp)
/* 02EA8 80B3F088 E7A40018 */ swc1 $f4, 0x0018($sp)
-/* 02EAC 80B3F08C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02EAC 80B3F08C 0C029468 */ jal Animation_Change
/* 02EB0 80B3F090 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02EB4 80B3F094 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FAE0.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FAE0.s
index 9ad4a2f9ad..8cc554d654 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FAE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FAE0.s
@@ -3,7 +3,7 @@ glabel func_80B3FAE0
/* 03904 80B3FAE4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 03908 80B3FAE8 AFA40018 */ sw $a0, 0x0018($sp)
/* 0390C 80B3FAEC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 03910 80B3FAF0 0C0295B2 */ jal func_800A56C8
+/* 03910 80B3FAF0 0C0295B2 */ jal Animation_OnFrame
/* 03914 80B3FAF4 3C054218 */ lui $a1, 0x4218 ## $a1 = 42180000
/* 03918 80B3FAF8 10400006 */ beq $v0, $zero, .L80B3FB14
/* 0391C 80B3FAFC 8FA40018 */ lw $a0, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FFB4.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FFB4.s
index 775c7108dd..8cb48b46c5 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FFB4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FFB4.s
@@ -7,7 +7,7 @@ glabel func_80B3FFB4
/* 03DE8 80B3FFC8 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004
/* 03DEC 80B3FFCC 10400018 */ beq $v0, $zero, .L80B40030
/* 03DF0 80B3FFD0 3C040600 */ lui $a0, %hi(D_06001A08) ## $a0 = 06000000
-/* 03DF4 80B3FFD4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03DF4 80B3FFD4 0C028800 */ jal Animation_GetLastFrame
/* 03DF8 80B3FFD8 24841A08 */ addiu $a0, $a0, %lo(D_06001A08) ## $a0 = 06001A08
/* 03DFC 80B3FFDC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -23,7 +23,7 @@ glabel func_80B3FFB4
/* 03E24 80B40004 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 03E28 80B40008 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 03E2C 80B4000C E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 03E30 80B40010 0C029468 */ jal SkelAnime_ChangeAnim
+/* 03E30 80B40010 0C029468 */ jal Animation_Change
/* 03E34 80B40014 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03E38 80B40018 8FB80028 */ lw $t8, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40040.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40040.s
index 7a722f6242..2572ff2cac 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40040.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40040.s
@@ -4,7 +4,7 @@ glabel func_80B40040
/* 03E68 80B40048 10A00014 */ beq $a1, $zero, .L80B4009C
/* 03E6C 80B4004C AFA40028 */ sw $a0, 0x0028($sp)
/* 03E70 80B40050 3C040600 */ lui $a0, %hi(D_06001D14) ## $a0 = 06000000
-/* 03E74 80B40054 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03E74 80B40054 0C028800 */ jal Animation_GetLastFrame
/* 03E78 80B40058 24841D14 */ addiu $a0, $a0, %lo(D_06001D14) ## $a0 = 06001D14
/* 03E7C 80B4005C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -18,7 +18,7 @@ glabel func_80B40040
/* 03E9C 80B4007C AFA00014 */ sw $zero, 0x0014($sp)
/* 03EA0 80B40080 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 03EA4 80B40084 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 03EA8 80B40088 0C029468 */ jal SkelAnime_ChangeAnim
+/* 03EA8 80B40088 0C029468 */ jal Animation_Change
/* 03EAC 80B4008C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 03EB0 80B40090 8FAF0028 */ lw $t7, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B405A8.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B405A8.s
index d89bb29262..2136aefc19 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B405A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B405A8.s
@@ -6,7 +6,7 @@ glabel func_80B405A8
/* 043D8 80B405B8 AFBF001C */ sw $ra, 0x001C($sp)
/* 043DC 80B405BC 2490014C */ addiu $s0, $a0, 0x014C ## $s0 = 0000014C
/* 043E0 80B405C0 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
-/* 043E4 80B405C4 0C0295B2 */ jal func_800A56C8
+/* 043E4 80B405C4 0C0295B2 */ jal Animation_OnFrame
/* 043E8 80B405C8 3C054110 */ lui $a1, 0x4110 ## $a1 = 41100000
/* 043EC 80B405CC 1040000A */ beq $v0, $zero, .L80B405F8
/* 043F0 80B405D0 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
@@ -20,7 +20,7 @@ glabel func_80B405A8
/* 04410 80B405F0 1000001A */ beq $zero, $zero, .L80B4065C
/* 04414 80B405F4 8FBF001C */ lw $ra, 0x001C($sp)
.L80B405F8:
-/* 04418 80B405F8 0C0295B2 */ jal func_800A56C8
+/* 04418 80B405F8 0C0295B2 */ jal Animation_OnFrame
/* 0441C 80B405FC 3C0541D0 */ lui $a1, 0x41D0 ## $a1 = 41D00000
/* 04420 80B40600 10400006 */ beq $v0, $zero, .L80B4061C
/* 04424 80B40604 02002025 */ or $a0, $s0, $zero ## $a0 = 000000E4
@@ -30,7 +30,7 @@ glabel func_80B405A8
/* 04434 80B40614 10000011 */ beq $zero, $zero, .L80B4065C
/* 04438 80B40618 8FBF001C */ lw $ra, 0x001C($sp)
.L80B4061C:
-/* 0443C 80B4061C 0C0295B2 */ jal func_800A56C8
+/* 0443C 80B4061C 0C0295B2 */ jal Animation_OnFrame
/* 04440 80B40620 3C0541E0 */ lui $a1, 0x41E0 ## $a1 = 41E00000
/* 04444 80B40624 10400006 */ beq $v0, $zero, .L80B40640
/* 04448 80B40628 02002025 */ or $a0, $s0, $zero ## $a0 = 000000E4
@@ -40,7 +40,7 @@ glabel func_80B405A8
/* 04458 80B40638 10000008 */ beq $zero, $zero, .L80B4065C
/* 0445C 80B4063C 8FBF001C */ lw $ra, 0x001C($sp)
.L80B40640:
-/* 04460 80B40640 0C0295B2 */ jal func_800A56C8
+/* 04460 80B40640 0C0295B2 */ jal Animation_OnFrame
/* 04464 80B40644 3C054208 */ lui $a1, 0x4208 ## $a1 = 42080000
/* 04468 80B40648 10400003 */ beq $v0, $zero, .L80B40658
/* 0446C 80B4064C 262400E4 */ addiu $a0, $s1, 0x00E4 ## $a0 = 000000E4
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B4070C.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B4070C.s
index b037d4b98c..ba5c19e048 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B4070C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B4070C.s
@@ -5,7 +5,7 @@ glabel func_80B4070C
/* 04538 80B40718 AFBF002C */ sw $ra, 0x002C($sp)
/* 0453C 80B4071C 3C040600 */ lui $a0, %hi(D_06004828) ## $a0 = 06000000
/* 04540 80B40720 AFA50044 */ sw $a1, 0x0044($sp)
-/* 04544 80B40724 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04544 80B40724 0C028800 */ jal Animation_GetLastFrame
/* 04548 80B40728 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 0454C 80B4072C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -26,7 +26,7 @@ glabel func_80B4070C
/* 04588 80B40768 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0458C 80B4076C AFA00014 */ sw $zero, 0x0014($sp)
/* 04590 80B40770 E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 04594 80B40774 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04594 80B40774 0C029468 */ jal Animation_Change
/* 04598 80B40778 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0459C 80B4077C 240E003A */ addiu $t6, $zero, 0x003A ## $t6 = 0000003A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B407A8.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B407A8.s
index a9d681f7e2..6366f5e64d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B407A8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B407A8.s
@@ -3,7 +3,7 @@ glabel func_80B407A8
/* 045CC 80B407AC AFA40028 */ sw $a0, 0x0028($sp)
/* 045D0 80B407B0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 045D4 80B407B4 3C040602 */ lui $a0, %hi(D_06018B00) ## $a0 = 06020000
-/* 045D8 80B407B8 0C028800 */ jal SkelAnime_GetFrameCount
+/* 045D8 80B407B8 0C028800 */ jal Animation_GetLastFrame
/* 045DC 80B407BC 24848B00 */ addiu $a0, $a0, %lo(D_06018B00) ## $a0 = 06018B00
/* 045E0 80B407C0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B407A8
/* 04608 80B407E8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0460C 80B407EC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 04610 80B407F0 E7A80018 */ swc1 $f8, 0x0018($sp)
-/* 04614 80B407F4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04614 80B407F4 0C029468 */ jal Animation_Change
/* 04618 80B407F8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 0461C 80B407FC 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40820.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40820.s
index 84d2723fa2..ff88e8001a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40820.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40820.s
@@ -5,7 +5,7 @@ glabel func_80B40820
/* 0464C 80B4082C AFBF002C */ sw $ra, 0x002C($sp)
/* 04650 80B40830 3C040600 */ lui $a0, %hi(D_06004828) ## $a0 = 06000000
/* 04654 80B40834 AFA5004C */ sw $a1, 0x004C($sp)
-/* 04658 80B40838 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04658 80B40838 0C028800 */ jal Animation_GetLastFrame
/* 0465C 80B4083C 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 04660 80B40840 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B40820
/* 04680 80B40860 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04684 80B40864 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 04688 80B40868 AFA00014 */ sw $zero, 0x0014($sp)
-/* 0468C 80B4086C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0468C 80B4086C 0C029468 */ jal Animation_Change
/* 04690 80B40870 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 04694 80B40874 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -30,7 +30,7 @@ glabel func_80B40820
/* 046A8 80B40888 0C2CF259 */ jal func_80B3C964
/* 046AC 80B4088C 8FA5004C */ lw $a1, 0x004C($sp)
/* 046B0 80B40890 3C040601 */ lui $a0, %hi(D_060169E8) ## $a0 = 06010000
-/* 046B4 80B40894 0C028800 */ jal SkelAnime_GetFrameCount
+/* 046B4 80B40894 0C028800 */ jal Animation_GetLastFrame
/* 046B8 80B40898 248469E8 */ addiu $a0, $a0, %lo(D_060169E8) ## $a0 = 060169E8
/* 046BC 80B4089C 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -44,7 +44,7 @@ glabel func_80B40820
/* 046DC 80B408BC 8FA40034 */ lw $a0, 0x0034($sp)
/* 046E0 80B408C0 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 046E4 80B408C4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 046E8 80B408C8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 046E8 80B408C8 0C029468 */ jal Animation_Change
/* 046EC 80B408CC E7A00018 */ swc1 $f0, 0x0018($sp)
/* 046F0 80B408D0 240F003C */ addiu $t7, $zero, 0x003C ## $t7 = 0000003C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B408FC.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B408FC.s
index 1ad73780ab..b9a7ec4e27 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B408FC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B408FC.s
@@ -5,7 +5,7 @@ glabel func_80B408FC
/* 04728 80B40908 AFBF002C */ sw $ra, 0x002C($sp)
/* 0472C 80B4090C 3C040600 */ lui $a0, %hi(D_06004828) ## $a0 = 06000000
/* 04730 80B40910 AFA5004C */ sw $a1, 0x004C($sp)
-/* 04734 80B40914 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04734 80B40914 0C028800 */ jal Animation_GetLastFrame
/* 04738 80B40918 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 0473C 80B4091C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B408FC
/* 0475C 80B4093C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04760 80B40940 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 04764 80B40944 AFA00014 */ sw $zero, 0x0014($sp)
-/* 04768 80B40948 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04768 80B40948 0C029468 */ jal Animation_Change
/* 0476C 80B4094C E7A00018 */ swc1 $f0, 0x0018($sp)
/* 04770 80B40950 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
@@ -30,7 +30,7 @@ glabel func_80B408FC
/* 04784 80B40964 0C2CF259 */ jal func_80B3C964
/* 04788 80B40968 8FA5004C */ lw $a1, 0x004C($sp)
/* 0478C 80B4096C 3C040601 */ lui $a0, %hi(D_060149E4) ## $a0 = 06010000
-/* 04790 80B40970 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04790 80B40970 0C028800 */ jal Animation_GetLastFrame
/* 04794 80B40974 248449E4 */ addiu $a0, $a0, %lo(D_060149E4) ## $a0 = 060149E4
/* 04798 80B40978 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00
@@ -44,7 +44,7 @@ glabel func_80B408FC
/* 047B8 80B40998 8FA40034 */ lw $a0, 0x0034($sp)
/* 047BC 80B4099C E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 047C0 80B409A0 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
-/* 047C4 80B409A4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 047C4 80B409A4 0C029468 */ jal Animation_Change
/* 047C8 80B409A8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 047CC 80B409AC 240F003D */ addiu $t7, $zero, 0x003D ## $t7 = 0000003D
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B409D8.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B409D8.s
index 98978adc84..8ebc16b9f8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B409D8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B409D8.s
@@ -5,7 +5,7 @@ glabel func_80B409D8
/* 04804 80B409E4 AFBF002C */ sw $ra, 0x002C($sp)
/* 04808 80B409E8 3C040602 */ lui $a0, %hi(D_06019F78) ## $a0 = 06020000
/* 0480C 80B409EC AFA50044 */ sw $a1, 0x0044($sp)
-/* 04810 80B409F0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04810 80B409F0 0C028800 */ jal Animation_GetLastFrame
/* 04814 80B409F4 24849F78 */ addiu $a0, $a0, %lo(D_06019F78) ## $a0 = 06019F78
/* 04818 80B409F8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_80B409D8
/* 04858 80B40A38 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0485C 80B40A3C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04860 80B40A40 E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 04864 80B40A44 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04864 80B40A44 0C029468 */ jal Animation_Change
/* 04868 80B40A48 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0486C 80B40A4C 240F003E */ addiu $t7, $zero, 0x003E ## $t7 = 0000003E
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40A78.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40A78.s
index 5166ca151c..d1b82ca904 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40A78.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40A78.s
@@ -5,7 +5,7 @@ glabel func_80B40A78
/* 048A4 80B40A84 AFBF002C */ sw $ra, 0x002C($sp)
/* 048A8 80B40A88 3C040602 */ lui $a0, %hi(D_06019F78) ## $a0 = 06020000
/* 048AC 80B40A8C AFA50044 */ sw $a1, 0x0044($sp)
-/* 048B0 80B40A90 0C028800 */ jal SkelAnime_GetFrameCount
+/* 048B0 80B40A90 0C028800 */ jal Animation_GetLastFrame
/* 048B4 80B40A94 24849F78 */ addiu $a0, $a0, %lo(D_06019F78) ## $a0 = 06019F78
/* 048B8 80B40A98 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -27,7 +27,7 @@ glabel func_80B40A78
/* 048F8 80B40AD8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 048FC 80B40ADC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04900 80B40AE0 E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 04904 80B40AE4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04904 80B40AE4 0C029468 */ jal Animation_Change
/* 04908 80B40AE8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 0490C 80B40AEC 240F003F */ addiu $t7, $zero, 0x003F ## $t7 = 0000003F
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40B18.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40B18.s
index ed9be7c336..262251ced3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40B18.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40B18.s
@@ -5,7 +5,7 @@ glabel func_80B40B18
/* 04944 80B40B24 AFBF002C */ sw $ra, 0x002C($sp)
/* 04948 80B40B28 3C040602 */ lui $a0, %hi(D_06019C30) ## $a0 = 06020000
/* 0494C 80B40B2C AFA50044 */ sw $a1, 0x0044($sp)
-/* 04950 80B40B30 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04950 80B40B30 0C028800 */ jal Animation_GetLastFrame
/* 04954 80B40B34 24849C30 */ addiu $a0, $a0, %lo(D_06019C30) ## $a0 = 06019C30
/* 04958 80B40B38 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -26,7 +26,7 @@ glabel func_80B40B18
/* 04994 80B40B74 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04998 80B40B78 AFA00014 */ sw $zero, 0x0014($sp)
/* 0499C 80B40B7C E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 049A0 80B40B80 0C029468 */ jal SkelAnime_ChangeAnim
+/* 049A0 80B40B80 0C029468 */ jal Animation_Change
/* 049A4 80B40B84 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 049A8 80B40B88 240E0040 */ addiu $t6, $zero, 0x0040 ## $t6 = 00000040
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40BB4.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40BB4.s
index d3676bfcf2..369cb7d07b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40BB4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40BB4.s
@@ -5,7 +5,7 @@ glabel func_80B40BB4
/* 049E0 80B40BC0 AFBF002C */ sw $ra, 0x002C($sp)
/* 049E4 80B40BC4 3C040600 */ lui $a0, %hi(D_06004828) ## $a0 = 06000000
/* 049E8 80B40BC8 AFA50044 */ sw $a1, 0x0044($sp)
-/* 049EC 80B40BCC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 049EC 80B40BCC 0C028800 */ jal Animation_GetLastFrame
/* 049F0 80B40BD0 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 049F4 80B40BD4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -26,7 +26,7 @@ glabel func_80B40BB4
/* 04A30 80B40C10 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 04A34 80B40C14 AFA00014 */ sw $zero, 0x0014($sp)
/* 04A38 80B40C18 E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 04A3C 80B40C1C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04A3C 80B40C1C 0C029468 */ jal Animation_Change
/* 04A40 80B40C20 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 04A44 80B40C24 240E0041 */ addiu $t6, $zero, 0x0041 ## $t6 = 00000041
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40D98.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40D98.s
index 78a8dc3197..69a94ada6d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40D98.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B40D98.s
@@ -16,7 +16,7 @@ glabel func_80B40D98
/* 04BF0 80B40DD0 00000000 */ nop
/* 04BF4 80B40DD4 45020017 */ bc1fl .L80B40E34
/* 04BF8 80B40DD8 8FBF0024 */ lw $ra, 0x0024($sp)
-/* 04BFC 80B40DDC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04BFC 80B40DDC 0C028800 */ jal Animation_GetLastFrame
/* 04C00 80B40DE0 24844828 */ addiu $a0, $a0, %lo(D_06004828) ## $a0 = 06004828
/* 04C04 80B40DE4 44828000 */ mtc1 $v0, $f16 ## $f16 = 0.00
@@ -31,7 +31,7 @@ glabel func_80B40D98
/* 04C28 80B40E08 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 04C2C 80B40E0C AFA00014 */ sw $zero, 0x0014($sp)
/* 04C30 80B40E10 E7A40018 */ swc1 $f4, 0x0018($sp)
-/* 04C34 80B40E14 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04C34 80B40E14 0C029468 */ jal Animation_Change
/* 04C38 80B40E18 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 04C3C 80B40E1C 8FA20028 */ lw $v0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B450AC.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B450AC.s
index 6d98b3cd10..681a83e568 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B450AC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B450AC.s
@@ -4,7 +4,7 @@ glabel func_80B450AC
/* 01064 80B450B4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01068 80B450B8 AFBF002C */ sw $ra, 0x002C($sp)
/* 0106C 80B450BC 3C040601 */ lui $a0, %hi(D_06009530) ## $a0 = 06010000
-/* 01070 80B450C0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01070 80B450C0 0C028800 */ jal Animation_GetLastFrame
/* 01074 80B450C4 24849530 */ addiu $a0, $a0, %lo(D_06009530) ## $a0 = 06009530
/* 01078 80B450C8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -17,7 +17,7 @@ glabel func_80B450AC
/* 01094 80B450E4 3C074110 */ lui $a3, 0x4110 ## $a3 = 41100000
/* 01098 80B450E8 AFA00014 */ sw $zero, 0x0014($sp)
/* 0109C 80B450EC E7A60010 */ swc1 $f6, 0x0010($sp)
-/* 010A0 80B450F0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 010A0 80B450F0 0C029468 */ jal Animation_Change
/* 010A4 80B450F4 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 010A8 80B450F8 3C014396 */ lui $at, 0x4396 ## $at = 43960000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45174.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45174.s
index 5c707daa5c..8d72fb515f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45174.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45174.s
@@ -83,7 +83,7 @@ glabel func_80B45174
/* 01240 80B45290 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01244 80B45294 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01248 80B45298 E7A00018 */ swc1 $f0, 0x0018($sp)
-/* 0124C 80B4529C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0124C 80B4529C 0C029468 */ jal Animation_Change
/* 01250 80B452A0 E7B20010 */ swc1 $f18, 0x0010($sp)
/* 01254 80B452A4 96190088 */ lhu $t9, 0x0088($s0) ## 00000088
@@ -121,7 +121,7 @@ glabel func_80B45174
/* 012D4 80B45324 0C00CC98 */ jal func_80033260
/* 012D8 80B45328 E7AA0014 */ swc1 $f10, 0x0014($sp)
.L80B4532C:
-/* 012DC 80B4532C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 012DC 80B4532C 0C02927F */ jal SkelAnime_Update
/* 012E0 80B45330 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 012E4 80B45334 5040000D */ beql $v0, $zero, .L80B4536C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45384.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45384.s
index 160e2778fb..9fb427dadc 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45384.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45384.s
@@ -4,7 +4,7 @@ glabel func_80B45384
/* 0133C 80B4538C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01340 80B45390 AFBF002C */ sw $ra, 0x002C($sp)
/* 01344 80B45394 3C040601 */ lui $a0, %hi(D_0600B10C) ## $a0 = 06010000
-/* 01348 80B45398 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01348 80B45398 0C028800 */ jal Animation_GetLastFrame
/* 0134C 80B4539C 2484B10C */ addiu $a0, $a0, %lo(D_0600B10C) ## $a0 = 0600B10C
/* 01350 80B453A0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B45384
/* 01374 80B453C4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 01378 80B453C8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0137C 80B453CC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01380 80B453D0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01380 80B453D0 0C029468 */ jal Animation_Change
/* 01384 80B453D4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 01388 80B453D8 240F0003 */ addiu $t7, $zero, 0x0003 ## $t7 = 00000003
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4543C.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4543C.s
index 00cfa770a6..9710eeff63 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4543C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4543C.s
@@ -28,7 +28,7 @@ glabel func_80B4543C
/* 01434 80B45484 00031C00 */ sll $v1, $v1, 16
/* 01438 80B45488 00031C03 */ sra $v1, $v1, 16
.L80B4548C:
-/* 0143C 80B4548C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0143C 80B4548C 0C02927F */ jal SkelAnime_Update
/* 01440 80B45490 A7A30026 */ sh $v1, 0x0026($sp)
/* 01444 80B45494 8FA40034 */ lw $a0, 0x0034($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B456B4.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B456B4.s
index 80123e8726..a7ce91f02f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B456B4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B456B4.s
@@ -7,7 +7,7 @@ glabel func_80B456B4
/* 01678 80B456C8 3C050601 */ lui $a1, %hi(D_06008138) ## $a1 = 06010000
/* 0167C 80B456CC 24A58138 */ addiu $a1, $a1, %lo(D_06008138) ## $a1 = 06008138
/* 01680 80B456D0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 01684 80B456D4 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01684 80B456D4 0C0294D3 */ jal Animation_MorphToLoop
/* 01688 80B456D8 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 0168C 80B456DC 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
/* 01690 80B456E0 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45748.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45748.s
index 35f42ba919..1253125e2c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45748.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45748.s
@@ -272,7 +272,7 @@ glabel func_80B45748
/* 01AA0 80B45AF0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 01AA4 80B45AF4 4600910D */ trunc.w.s $f4, $f18
/* 01AA8 80B45AF8 44192000 */ mfc1 $t9, $f4
-/* 01AAC 80B45AFC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01AAC 80B45AFC 0C02927F */ jal SkelAnime_Update
/* 01AB0 80B45B00 AFB90054 */ sw $t9, 0x0054($sp)
/* 01AB4 80B45B04 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45E30.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45E30.s
index b333034d03..fa16f29068 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45E30.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45E30.s
@@ -15,7 +15,7 @@ glabel func_80B45E30
/* 01E14 80B45E64 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01E18 80B45E68 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 01E1C 80B45E6C E7A40010 */ swc1 $f4, 0x0010($sp)
-/* 01E20 80B45E70 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01E20 80B45E70 0C029468 */ jal Animation_Change
/* 01E24 80B45E74 E7A60018 */ swc1 $f6, 0x0018($sp)
/* 01E28 80B45E78 8618001C */ lh $t8, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45EF0.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45EF0.s
index b9bc8b7764..40124b01cf 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45EF0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B45EF0.s
@@ -21,7 +21,7 @@ glabel func_80B45EF0
/* 01EEC 80B45F3C E4880068 */ swc1 $f8, 0x0068($a0) ## 000001B4
/* 01EF0 80B45F40 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80B45F44:
-/* 01EF4 80B45F44 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01EF4 80B45F44 0C02927F */ jal SkelAnime_Update
/* 01EF8 80B45F48 AFA40034 */ sw $a0, 0x0034($sp)
/* 01EFC 80B45F4C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
@@ -40,7 +40,7 @@ glabel func_80B45EF0
/* 01F30 80B45F80 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002
/* 01F34 80B45F84 AFB80014 */ sw $t8, 0x0014($sp)
/* 01F38 80B45F88 E7AA0010 */ swc1 $f10, 0x0010($sp)
-/* 01F3C 80B45F8C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01F3C 80B45F8C 0C029468 */ jal Animation_Change
/* 01F40 80B45F90 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 01F44 80B45F94 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4604C.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4604C.s
index f45459f9bc..cc053ab386 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4604C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4604C.s
@@ -6,7 +6,7 @@ glabel func_80B4604C
/* 0200C 80B4605C 24A58138 */ addiu $a1, $a1, %lo(D_06008138) ## $a1 = 06008138
/* 02010 80B46060 AFA70018 */ sw $a3, 0x0018($sp)
/* 02014 80B46064 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 02018 80B46068 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 02018 80B46068 0C0294D3 */ jal Animation_MorphToLoop
/* 0201C 80B4606C 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 02020 80B46070 8FA40018 */ lw $a0, 0x0018($sp)
/* 02024 80B46074 240E0006 */ addiu $t6, $zero, 0x0006 ## $t6 = 00000006
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46098.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46098.s
index b0d94f543e..d68f2233c1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46098.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46098.s
@@ -100,7 +100,7 @@ glabel func_80B46098
.L80B461FC:
/* 021AC 80B461FC 46001207 */ neg.s $f8, $f2
.L80B46200:
-/* 021B0 80B46200 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 021B0 80B46200 0C02927F */ jal SkelAnime_Update
/* 021B4 80B46204 E6080168 */ swc1 $f8, 0x0168($s0) ## 00000168
/* 021B8 80B46208 860B001C */ lh $t3, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B462E4.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B462E4.s
index 1c5660fd69..f74c0058f8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B462E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B462E4.s
@@ -27,7 +27,7 @@ glabel func_80B462E4
.L80B46348:
/* 022F8 80B46348 3C050601 */ lui $a1, %hi(D_06016388) ## $a1 = 06010000
/* 022FC 80B4634C 24A56388 */ addiu $a1, $a1, %lo(D_06016388) ## $a1 = 06016388
-/* 02300 80B46350 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 02300 80B46350 0C0294BE */ jal Animation_PlayLoop
/* 02304 80B46354 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02308 80B46358 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 0230C 80B4635C 44816000 */ mtc1 $at, $f12 ## $f12 = 12.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B463E4.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B463E4.s
index 5334c27c78..f963d43621 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B463E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B463E4.s
@@ -334,7 +334,7 @@ glabel func_80B463E4
/* 02818 80B46868 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0281C 80B4686C 4600448D */ trunc.w.s $f18, $f8
/* 02820 80B46870 44039000 */ mfc1 $v1, $f18
-/* 02824 80B46874 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02824 80B46874 0C02927F */ jal SkelAnime_Update
/* 02828 80B46878 AFA3004C */ sw $v1, 0x004C($sp)
/* 0282C 80B4687C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46A24.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46A24.s
index c9081d2725..1ca6415b7b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46A24.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46A24.s
@@ -4,7 +4,7 @@ glabel func_80B46A24
/* 029DC 80B46A2C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 029E0 80B46A30 AFBF002C */ sw $ra, 0x002C($sp)
/* 029E4 80B46A34 3C040601 */ lui $a0, %hi(D_0600A3D4) ## $a0 = 06010000
-/* 029E8 80B46A38 0C028800 */ jal SkelAnime_GetFrameCount
+/* 029E8 80B46A38 0C028800 */ jal Animation_GetLastFrame
/* 029EC 80B46A3C 2484A3D4 */ addiu $a0, $a0, %lo(D_0600A3D4) ## $a0 = 0600A3D4
/* 029F0 80B46A40 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B46A24
/* 02A14 80B46A64 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 02A18 80B46A68 3C063FA0 */ lui $a2, 0x3FA0 ## $a2 = 3FA00000
/* 02A1C 80B46A6C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 02A20 80B46A70 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02A20 80B46A70 0C029468 */ jal Animation_Change
/* 02A24 80B46A74 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 02A28 80B46A78 860F001C */ lh $t7, 0x001C($s0) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46AE0.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46AE0.s
index f193e795a0..ed5e92af57 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46AE0.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46AE0.s
@@ -27,7 +27,7 @@ glabel func_80B46AE0
/* 02AD4 80B46B24 2405382A */ addiu $a1, $zero, 0x382A ## $a1 = 0000382A
.L80B46B28:
-/* 02AD8 80B46B28 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02AD8 80B46B28 0C02927F */ jal SkelAnime_Update
/* 02ADC 80B46B2C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 02AE0 80B46B30 50400088 */ beql $v0, $zero, .L80B46D54
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46D64.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46D64.s
index 9ddd91386e..2140f105b7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46D64.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46D64.s
@@ -15,7 +15,7 @@ glabel func_80B46D64
/* 02D48 80B46D98 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02D4C 80B46D9C 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 02D50 80B46DA0 E7A20010 */ swc1 $f2, 0x0010($sp)
-/* 02D54 80B46DA4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02D54 80B46DA4 0C029468 */ jal Animation_Change
/* 02D58 80B46DA8 E7A20018 */ swc1 $f2, 0x0018($sp)
/* 02D5C 80B46DAC 8FA40028 */ lw $a0, 0x0028($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46DD4.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46DD4.s
index 17c4767e3c..5aab71ea17 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46DD4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46DD4.s
@@ -12,7 +12,7 @@ glabel func_80B46DD4
/* 02D8C 80B46DDC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 02D90 80B46DE0 AFBF001C */ sw $ra, 0x001C($sp)
/* 02D94 80B46DE4 AFA50024 */ sw $a1, 0x0024($sp)
-/* 02D98 80B46DE8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02D98 80B46DE8 0C02927F */ jal SkelAnime_Update
/* 02D9C 80B46DEC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 02DA0 80B46DF0 50400022 */ beql $v0, $zero, .L80B46E7C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46E8C.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46E8C.s
index 0e53b3b7c3..dfd9fde8f1 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46E8C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46E8C.s
@@ -14,7 +14,7 @@ glabel func_80B46E8C
/* 02E6C 80B46EBC 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 02E70 80B46EC0 3C074040 */ lui $a3, 0x4040 ## $a3 = 40400000
/* 02E74 80B46EC4 E7A60018 */ swc1 $f6, 0x0018($sp)
-/* 02E78 80B46EC8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02E78 80B46EC8 0C029468 */ jal Animation_Change
/* 02E7C 80B46ECC E7A40010 */ swc1 $f4, 0x0010($sp)
/* 02E80 80B46ED0 3C014170 */ lui $at, 0x4170 ## $at = 41700000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46F2C.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46F2C.s
index 3dd237f241..b11f0c8f6b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46F2C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B46F2C.s
@@ -21,7 +21,7 @@ glabel func_80B46F2C
/* 02F28 80B46F78 E4880068 */ swc1 $f8, 0x0068($a0) ## 000001B4
/* 02F2C 80B46F7C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80B46F80:
-/* 02F30 80B46F80 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02F30 80B46F80 0C02927F */ jal SkelAnime_Update
/* 02F34 80B46F84 AFA40034 */ sw $a0, 0x0034($sp)
/* 02F38 80B46F88 10400024 */ beq $v0, $zero, .L80B4701C
@@ -42,7 +42,7 @@ glabel func_80B46F2C
/* 02F74 80B46FC4 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000
/* 02F78 80B46FC8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 02F7C 80B46FCC E7AA0010 */ swc1 $f10, 0x0010($sp)
-/* 02F80 80B46FD0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 02F80 80B46FD0 0C029468 */ jal Animation_Change
/* 02F84 80B46FD4 E7B00018 */ swc1 $f16, 0x0018($sp)
/* 02F88 80B46FD8 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47050.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47050.s
index 8f0b6e4d2d..5719b98ac8 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47050.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47050.s
@@ -39,7 +39,7 @@ glabel func_80B47050
/* 03084 80B470D4 A4E803F6 */ sh $t0, 0x03F6($a3) ## 000003F6
.L80B470D8:
/* 03088 80B470D8 44061000 */ mfc1 $a2, $f2
-/* 0308C 80B470DC 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 0308C 80B470DC 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 03090 80B470E0 AFA70018 */ sw $a3, 0x0018($sp)
/* 03094 80B470E4 8FA70018 */ lw $a3, 0x0018($sp)
.L80B470E8:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47360.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47360.s
index fa4e3e93ea..1d5d69f8b3 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47360.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47360.s
@@ -7,7 +7,7 @@ glabel func_80B47360
/* 03324 80B47374 3C040601 */ lui $a0, %hi(D_060119F4) ## $a0 = 06010000
/* 03328 80B47378 AFA50044 */ sw $a1, 0x0044($sp)
/* 0332C 80B4737C 248419F4 */ addiu $a0, $a0, %lo(D_060119F4) ## $a0 = 060119F4
-/* 03330 80B47380 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03330 80B47380 0C028800 */ jal Animation_GetLastFrame
/* 03334 80B47384 E7A0003C */ swc1 $f0, 0x003C($sp)
/* 03338 80B47388 8E0E03DC */ lw $t6, 0x03DC($s0) ## 000003DC
@@ -28,7 +28,7 @@ glabel func_80B47360
/* 03370 80B473C0 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000
/* 03374 80B473C4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 03378 80B473C8 E7A20010 */ swc1 $f2, 0x0010($sp)
-/* 0337C 80B473CC 0C029468 */ jal SkelAnime_ChangeAnim
+/* 0337C 80B473CC 0C029468 */ jal Animation_Change
/* 03380 80B473D0 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 03384 80B473D4 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4743C.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4743C.s
index 3596f93575..1ac6f2f481 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4743C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4743C.s
@@ -25,7 +25,7 @@ glabel func_80B4743C
/* 03444 80B47494 AFA00010 */ sw $zero, 0x0010($sp)
/* 03448 80B47498 86190032 */ lh $t9, 0x0032($s0) ## 00000032
/* 0344C 80B4749C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
-/* 03450 80B474A0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03450 80B474A0 0C02927F */ jal SkelAnime_Update
/* 03454 80B474A4 A61900B6 */ sh $t9, 0x00B6($s0) ## 000000B6
/* 03458 80B474A8 10400009 */ beq $v0, $zero, .L80B474D0
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B474E4.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B474E4.s
index 2a9faaea43..bac885c349 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B474E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B474E4.s
@@ -7,7 +7,7 @@ glabel func_80B474E4
/* 034A8 80B474F8 8CA5A280 */ lw $a1, %lo(D_80B4A280)($a1)
/* 034AC 80B474FC AFA70018 */ sw $a3, 0x0018($sp)
/* 034B0 80B47500 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 034B4 80B47504 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 034B4 80B47504 0C029490 */ jal Animation_MorphToPlayOnce
/* 034B8 80B47508 3C06C080 */ lui $a2, 0xC080 ## $a2 = C0800000
/* 034BC 80B4750C 8FA40018 */ lw $a0, 0x0018($sp)
/* 034C0 80B47510 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47544.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47544.s
index 19e829e0e8..2e099c06a2 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47544.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47544.s
@@ -65,7 +65,7 @@ glabel func_80B47544
/* 035E0 80B47630 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 035E4 80B47634 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80B47638:
-/* 035E8 80B47638 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 035E8 80B47638 0C02927F */ jal SkelAnime_Update
/* 035EC 80B4763C AFA40034 */ sw $a0, 0x0034($sp)
/* 035F0 80B47640 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
@@ -96,7 +96,7 @@ glabel func_80B47544
/* 03648 80B47698 3C0480B5 */ lui $a0, %hi(D_80B4A280) ## $a0 = 80B50000
/* 0364C 80B4769C 000B6080 */ sll $t4, $t3, 2
/* 03650 80B476A0 008C2021 */ addu $a0, $a0, $t4
-/* 03654 80B476A4 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03654 80B476A4 0C028800 */ jal Animation_GetLastFrame
/* 03658 80B476A8 8C84A280 */ lw $a0, %lo(D_80B4A280)($a0)
/* 0365C 80B476AC 8E0303E4 */ lw $v1, 0x03E4($s0) ## 000003E4
@@ -147,7 +147,7 @@ glabel func_80B47544
/* 036FC 80B4774C 8FA40034 */ lw $a0, 0x0034($sp)
/* 03700 80B47750 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 03704 80B47754 E7A00010 */ swc1 $f0, 0x0010($sp)
-/* 03708 80B47758 0C029468 */ jal SkelAnime_ChangeAnim
+/* 03708 80B47758 0C029468 */ jal Animation_Change
/* 0370C 80B4775C E7A20018 */ swc1 $f2, 0x0018($sp)
/* 03710 80B47760 8FAF004C */ lw $t7, 0x004C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4779C.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4779C.s
index 27a2d43bd2..8a2c6dc838 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4779C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4779C.s
@@ -7,7 +7,7 @@ glabel func_80B4779C
/* 03760 80B477B0 AC8003E4 */ sw $zero, 0x03E4($a0) ## 000003E4
/* 03764 80B477B4 3C0580B5 */ lui $a1, %hi(D_80B4A280) ## $a1 = 80B50000
/* 03768 80B477B8 8CA5A280 */ lw $a1, %lo(D_80B4A280)($a1)
-/* 0376C 80B477BC 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 0376C 80B477BC 0C02947A */ jal Animation_PlayOnce
/* 03770 80B477C0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03774 80B477C4 240E0013 */ addiu $t6, $zero, 0x0013 ## $t6 = 00000013
/* 03778 80B477C8 AE0E03DC */ sw $t6, 0x03DC($s0) ## 000003DC
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4781C.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4781C.s
index c81759c45e..43d79d02ae 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4781C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B4781C.s
@@ -296,10 +296,10 @@ glabel func_80B4781C
/* 03BE0 80B47C30 3C0580B5 */ lui $a1, %hi(D_80B4A280) ## $a1 = 80B50000
/* 03BE4 80B47C34 00AC2821 */ addu $a1, $a1, $t4
/* 03BE8 80B47C38 8CA5A280 */ lw $a1, %lo(D_80B4A280)($a1)
-/* 03BEC 80B47C3C 0C0294A7 */ jal SkelAnime_ChangeAnimPlaybackStop
+/* 03BEC 80B47C3C 0C0294A7 */ jal Animation_PlayOnceSetSpeed
/* 03BF0 80B47C40 8FA60070 */ lw $a2, 0x0070($sp)
.L80B47C44:
-/* 03BF4 80B47C44 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03BF4 80B47C44 0C02927F */ jal SkelAnime_Update
/* 03BF8 80B47C48 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 03BFC 80B47C4C 8FBF003C */ lw $ra, 0x003C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47C64.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47C64.s
index c5a5083f46..c595489d6c 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47C64.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47C64.s
@@ -6,7 +6,7 @@ glabel func_80B47C64
/* 03C24 80B47C74 AFBF001C */ sw $ra, 0x001C($sp)
/* 03C28 80B47C78 3C050601 */ lui $a1, %hi(D_0601366C) ## $a1 = 06010000
/* 03C2C 80B47C7C 24A5366C */ addiu $a1, $a1, %lo(D_0601366C) ## $a1 = 0601366C
-/* 03C30 80B47C80 0C02947A */ jal SkelAnime_ChangeAnimDefaultStop
+/* 03C30 80B47C80 0C02947A */ jal Animation_PlayOnce
/* 03C34 80B47C84 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 03C38 80B47C88 860E0032 */ lh $t6, 0x0032($s0) ## 00000032
/* 03C3C 80B47C8C 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47CF8.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47CF8.s
index 840ed47f34..83bbecc5f9 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47CF8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47CF8.s
@@ -20,7 +20,7 @@ glabel func_80B47CF8
/* 03CF0 80B47D40 AFA00010 */ sw $zero, 0x0010($sp)
.L80B47D44:
-/* 03CF4 80B47D44 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03CF4 80B47D44 0C02927F */ jal SkelAnime_Update
/* 03CF8 80B47D48 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 03CFC 80B47D4C 10400009 */ beq $v0, $zero, .L80B47D74
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47DA8.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47DA8.s
index 3d1b8e7e4c..8ac2eef0e6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47DA8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47DA8.s
@@ -4,7 +4,7 @@ glabel func_80B47DA8
/* 03D60 80B47DB0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 03D64 80B47DB4 AFBF002C */ sw $ra, 0x002C($sp)
/* 03D68 80B47DB8 3C040601 */ lui $a0, %hi(D_060157F8) ## $a0 = 06010000
-/* 03D6C 80B47DBC 0C028800 */ jal SkelAnime_GetFrameCount
+/* 03D6C 80B47DBC 0C028800 */ jal Animation_GetLastFrame
/* 03D70 80B47DC0 248457F8 */ addiu $a0, $a0, %lo(D_060157F8) ## $a0 = 060157F8
/* 03D74 80B47DC4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B47DA8
/* 03D98 80B47DE8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 03D9C 80B47DEC 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 03DA0 80B47DF0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 03DA4 80B47DF4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 03DA4 80B47DF4 0C029468 */ jal Animation_Change
/* 03DA8 80B47DF8 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 03DAC 80B47DFC 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47EB4.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47EB4.s
index 64fb4479ea..eb9282ffd7 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47EB4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B47EB4.s
@@ -47,7 +47,7 @@ glabel func_80B47EB4
/* 03EF8 80B47F48 544000AD */ bnel $v0, $zero, .L80B48200
/* 03EFC 80B47F4C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B47F50:
-/* 03F00 80B47F50 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 03F00 80B47F50 0C02927F */ jal SkelAnime_Update
/* 03F04 80B47F54 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 03F08 80B47F58 504000A9 */ beql $v0, $zero, .L80B48200
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48210.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48210.s
index 8b7ae9a2cb..b90e6975fb 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48210.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48210.s
@@ -14,7 +14,7 @@ glabel func_80B48210
/* 041F0 80B48240 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 041F4 80B48244 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 041F8 80B48248 E7A00018 */ swc1 $f0, 0x0018($sp)
-/* 041FC 80B4824C 0C029468 */ jal SkelAnime_ChangeAnim
+/* 041FC 80B4824C 0C029468 */ jal Animation_Change
/* 04200 80B48250 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 04204 80B48254 3C0141B0 */ lui $at, 0x41B0 ## $at = 41B00000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B482B8.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B482B8.s
index efc1e2981b..4888cc1d01 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B482B8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B482B8.s
@@ -27,7 +27,7 @@ glabel func_80B482B8
/* 042C8 80B48318 260504E4 */ addiu $a1, $s0, 0x04E4 ## $a1 = 000004E4
/* 042CC 80B4831C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
.L80B48320:
-/* 042D0 80B48320 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 042D0 80B48320 0C02927F */ jal SkelAnime_Update
/* 042D4 80B48324 AFA40030 */ sw $a0, 0x0030($sp)
/* 042D8 80B48328 10400029 */ beq $v0, $zero, .L80B483D0
@@ -46,7 +46,7 @@ glabel func_80B482B8
/* 0430C 80B4835C 44070000 */ mfc1 $a3, $f0
/* 04310 80B48360 AFB80014 */ sw $t8, 0x0014($sp)
/* 04314 80B48364 E7A80010 */ swc1 $f8, 0x0010($sp)
-/* 04318 80B48368 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04318 80B48368 0C029468 */ jal Animation_Change
/* 0431C 80B4836C E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 04320 80B48370 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B483E4.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B483E4.s
index bb402e1f09..e00db6a9af 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B483E4.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B483E4.s
@@ -27,7 +27,7 @@ glabel func_80B483E4
.L80B48448:
/* 043F8 80B48448 3C050601 */ lui $a1, %hi(D_06016388) ## $a1 = 06010000
/* 043FC 80B4844C 24A56388 */ addiu $a1, $a1, %lo(D_06016388) ## $a1 = 06016388
-/* 04400 80B48450 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 04400 80B48450 0C0294BE */ jal Animation_PlayLoop
/* 04404 80B48454 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 04408 80B48458 8FAF0034 */ lw $t7, 0x0034($sp)
/* 0440C 80B4845C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48578.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48578.s
index 008bca0be7..f618800a19 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48578.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48578.s
@@ -287,7 +287,7 @@ glabel func_80B48578
/* 04904 80B48954 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 04908 80B48958 4600328D */ trunc.w.s $f10, $f6
/* 0490C 80B4895C 44185000 */ mfc1 $t8, $f10
-/* 04910 80B48960 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04910 80B48960 0C02927F */ jal SkelAnime_Update
/* 04914 80B48964 AFB8004C */ sw $t8, 0x004C($sp)
/* 04918 80B48968 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48CEC.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48CEC.s
index c77e1ce1fa..368755194f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48CEC.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48CEC.s
@@ -4,7 +4,7 @@ glabel func_80B48CEC
/* 04CA4 80B48CF4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 04CA8 80B48CF8 AFBF002C */ sw $ra, 0x002C($sp)
/* 04CAC 80B48CFC 3C040601 */ lui $a0, %hi(D_06014E60) ## $a0 = 06010000
-/* 04CB0 80B48D00 0C028800 */ jal SkelAnime_GetFrameCount
+/* 04CB0 80B48D00 0C028800 */ jal Animation_GetLastFrame
/* 04CB4 80B48D04 24844E60 */ addiu $a0, $a0, %lo(D_06014E60) ## $a0 = 06014E60
/* 04CB8 80B48D08 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -19,7 +19,7 @@ glabel func_80B48CEC
/* 04CDC 80B48D2C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 04CE0 80B48D30 3C063FC0 */ lui $a2, 0x3FC0 ## $a2 = 3FC00000
/* 04CE4 80B48D34 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 04CE8 80B48D38 0C029468 */ jal SkelAnime_ChangeAnim
+/* 04CE8 80B48D38 0C029468 */ jal Animation_Change
/* 04CEC 80B48D3C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 04CF0 80B48D40 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48E50.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48E50.s
index fa67013c11..66f0c47043 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48E50.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B48E50.s
@@ -24,7 +24,7 @@ glabel func_80B48E50
/* 04E50 80B48EA0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 04E54 80B48EA4 AE0003E4 */ sw $zero, 0x03E4($s0) ## 000003E4
.L80B48EA8:
-/* 04E58 80B48EA8 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 04E58 80B48EA8 0C02927F */ jal SkelAnime_Update
/* 04E5C 80B48EAC 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 04E60 80B48EB0 50400027 */ beql $v0, $zero, .L80B48F50
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B49B60.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B49B60.s
index 6cfe44939c..87551524f6 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B49B60.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/func_80B49B60.s
@@ -7,7 +7,7 @@ glabel func_80B49B60
/* 05B24 80B49B74 24A56388 */ addiu $a1, $a1, %lo(D_06016388) ## $a1 = 06016388
/* 05B28 80B49B78 AFA70018 */ sw $a3, 0x0018($sp)
/* 05B2C 80B49B7C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 05B30 80B49B80 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 05B30 80B49B80 0C0294D3 */ jal Animation_MorphToLoop
/* 05B34 80B49B84 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 05B38 80B49B88 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Update.s
index 88eaead1de..57c2d8de6d 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Update.s
@@ -8,7 +8,7 @@ glabel EnZl4_Update
/* 02B20 80B5E2D0 25CEE108 */ addiu $t6, $t6, %lo(func_80B5E108) ## $t6 = 80B5E108
/* 02B24 80B5E2D4 11CF0003 */ beq $t6, $t7, .L80B5E2E4
/* 02B28 80B5E2D8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
-/* 02B2C 80B5E2DC 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02B2C 80B5E2DC 0C02927F */ jal SkelAnime_Update
/* 02B30 80B5E2E0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
.L80B5E2E4:
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5BB38.s b/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5BB38.s
index 2fc66b6130..cc95f99a3f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5BB38.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5BB38.s
@@ -9,7 +9,7 @@ glabel func_80B5BB38
/* 003A4 80B5BB54 35CF0001 */ ori $t7, $t6, 0x0001 ## $t7 = 00000001
/* 003A8 80B5BB58 A08F0181 */ sb $t7, 0x0181($a0) ## 00000181
/* 003AC 80B5BB5C 8FA4001C */ lw $a0, 0x001C($sp)
-/* 003B0 80B5BB60 0C028D88 */ jal SkelAnime_LoadAnimationType5
+/* 003B0 80B5BB60 0C028D88 */ jal AnimationContext_SetMoveActor
/* 003B4 80B5BB64 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 003B8 80B5BB68 8FBF0014 */ lw $ra, 0x0014($sp)
/* 003BC 80B5BB6C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5BF90.s b/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5BF90.s
index 1e9f7e92cb..91d5efbe2f 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5BF90.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5BF90.s
@@ -5,7 +5,7 @@ glabel func_80B5BF90
/* 007EC 80B5BF9C AFA50024 */ sw $a1, 0x0024($sp)
/* 007F0 80B5BFA0 8CC5015C */ lw $a1, 0x015C($a2) ## 0000015C
/* 007F4 80B5BFA4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
-/* 007F8 80B5BFA8 0C0295B2 */ jal func_800A56C8
+/* 007F8 80B5BFA8 0C0295B2 */ jal Animation_OnFrame
/* 007FC 80B5BFAC AFA4001C */ sw $a0, 0x001C($sp)
/* 00800 80B5BFB0 14400003 */ bne $v0, $zero, .L80B5BFC0
/* 00804 80B5BFB4 8FA4001C */ lw $a0, 0x001C($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5E108.s b/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5E108.s
index 681ed276c7..cc074b6cfa 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5E108.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_Zl4/func_80B5E108.s
@@ -21,7 +21,7 @@ glabel func_80B5E108
/* 029A0 80B5E150 8DF90000 */ lw $t9, 0x0000($t7) ## 80B5FB20
/* 029A4 80B5E154 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 029A8 80B5E158 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFE4
-/* 029AC 80B5E15C 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 029AC 80B5E15C 0C02927F */ jal SkelAnime_Update
/* 029B0 80B5E160 AFA40028 */ sw $a0, 0x0028($sp)
/* 029B4 80B5E164 1040000A */ beq $v0, $zero, .L80B5E190
diff --git a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B04.s b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B04.s
index de291f6cc9..242ad4321b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B04.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B04.s
@@ -11,7 +11,7 @@ glabel func_80B62B04
/* 00154 80B62B14 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00158 80B62B18 24A5E8A0 */ addiu $a1, $a1, 0xE8A0 ## $a1 = 0600E8A0
/* 0015C 80B62B1C AFA60018 */ sw $a2, 0x0018($sp)
-/* 00160 80B62B20 0C0294BE */ jal SkelAnime_ChangeAnimDefaultRepeat
+/* 00160 80B62B20 0C0294BE */ jal Animation_PlayLoop
/* 00164 80B62B24 24840250 */ addiu $a0, $a0, 0x0250 ## $a0 = 00000250
/* 00168 80B62B28 3C014160 */ lui $at, 0x4160 ## $at = 41600000
/* 0016C 80B62B2C 8FA60018 */ lw $a2, 0x0018($sp)
diff --git a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B6C.s b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B6C.s
index d6efd8c507..8b7fcb000b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B6C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B62B6C.s
@@ -75,7 +75,7 @@ glabel func_80B62B6C
/* 001D4 80B62B94 50610007 */ beql $v1, $at, .L80B62BB4
/* 001D8 80B62B98 2C610010 */ sltiu $at, $v1, 0x0010
/* 001DC 80B62B9C 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
-/* 001E0 80B62BA0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 001E0 80B62BA0 0C02927F */ jal SkelAnime_Update
/* 001E4 80B62BA4 AFA70060 */ sw $a3, 0x0060($sp)
/* 001E8 80B62BA8 8FA70060 */ lw $a3, 0x0060($sp)
@@ -667,7 +667,7 @@ glabel L80B632DC
/* 00A44 80B63404 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 00A48 80B63408 24A5DDB8 */ addiu $a1, $a1, 0xDDB8 ## $a1 = 0600DDB8
/* 00A4C 80B6340C 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
-/* 00A50 80B63410 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 00A50 80B63410 0C029490 */ jal Animation_MorphToPlayOnce
/* 00A54 80B63414 3C06C100 */ lui $a2, 0xC100 ## $a2 = C1000000
/* 00A58 80B63418 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002
/* 00A5C 80B6341C A20F014C */ sb $t7, 0x014C($s0) ## 0000014C
@@ -715,7 +715,7 @@ glabel L80B632DC
/* 00AE8 80B634A8 8FA40044 */ lw $a0, 0x0044($sp)
/* 00AEC 80B634AC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00AF0 80B634B0 E7B20010 */ swc1 $f18, 0x0010($sp)
-/* 00AF4 80B634B4 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00AF4 80B634B4 0C029468 */ jal Animation_Change
/* 00AF8 80B634B8 E7A40018 */ swc1 $f4, 0x0018($sp)
/* 00AFC 80B634BC 860301D4 */ lh $v1, 0x01D4($s0) ## 000001D4
@@ -845,7 +845,7 @@ glabel L80B63670
/* 00CBC 80B6367C 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 00CC0 80B63680 260C0250 */ addiu $t4, $s0, 0x0250 ## $t4 = 00000250
/* 00CC4 80B63684 AFAC0044 */ sw $t4, 0x0044($sp)
-/* 00CC8 80B63688 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00CC8 80B63688 0C028800 */ jal Animation_GetLastFrame
/* 00CCC 80B6368C 2484E8A0 */ addiu $a0, $a0, 0xE8A0 ## $a0 = 0600E8A0
/* 00CD0 80B63690 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00
@@ -860,7 +860,7 @@ glabel L80B63670
/* 00CF4 80B636B4 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 00CF8 80B636B8 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 00CFC 80B636BC 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00D00 80B636C0 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00D00 80B636C0 0C029468 */ jal Animation_Change
/* 00D04 80B636C4 E7B20018 */ swc1 $f18, 0x0018($sp)
.L80B636C8:
@@ -1026,7 +1026,7 @@ glabel L80B63670
/* 00F54 80B63914 26180250 */ addiu $t8, $s0, 0x0250 ## $t8 = 00000250
/* 00F58 80B63918 E61201A8 */ swc1 $f18, 0x01A8($s0) ## 000001A8
/* 00F5C 80B6391C AFB80044 */ sw $t8, 0x0044($sp)
-/* 00F60 80B63920 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00F60 80B63920 0C028800 */ jal Animation_GetLastFrame
/* 00F64 80B63924 2484C65C */ addiu $a0, $a0, 0xC65C ## $a0 = 0600C65C
/* 00F68 80B63928 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -1041,7 +1041,7 @@ glabel L80B63670
/* 00F8C 80B6394C E7A80010 */ swc1 $f8, 0x0010($sp)
/* 00F90 80B63950 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00F94 80B63954 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 00F98 80B63958 0C029468 */ jal SkelAnime_ChangeAnim
+/* 00F98 80B63958 0C029468 */ jal Animation_Change
/* 00F9C 80B6395C E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 00FA0 80B63960 2408000A */ addiu $t0, $zero, 0x000A ## $t0 = 0000000A
@@ -1063,7 +1063,7 @@ glabel L80B63988
/* 00FD4 80B63994 15210014 */ bne $t1, $at, .L80B639E8
/* 00FD8 80B63998 2484CB1C */ addiu $a0, $a0, 0xCB1C ## $a0 = 0600CB1C
/* 00FDC 80B6399C 260A0250 */ addiu $t2, $s0, 0x0250 ## $t2 = 00000250
-/* 00FE0 80B639A0 0C028800 */ jal SkelAnime_GetFrameCount
+/* 00FE0 80B639A0 0C028800 */ jal Animation_GetLastFrame
/* 00FE4 80B639A4 AFAA0044 */ sw $t2, 0x0044($sp)
/* 00FE8 80B639A8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
@@ -1078,7 +1078,7 @@ glabel L80B63988
/* 0100C 80B639CC E7B20010 */ swc1 $f18, 0x0010($sp)
/* 01010 80B639D0 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000
/* 01014 80B639D4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01018 80B639D8 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01018 80B639D8 0C029468 */ jal Animation_Change
/* 0101C 80B639DC E7A60018 */ swc1 $f6, 0x0018($sp)
/* 01020 80B639E0 240C000B */ addiu $t4, $zero, 0x000B ## $t4 = 0000000B
@@ -1224,7 +1224,7 @@ glabel L80B63988
/* 0121C 80B63BDC 3C06C040 */ lui $a2, 0xC040 ## $a2 = C0400000
/* 01220 80B63BE0 002C0821 */ addu $at, $at, $t4
/* 01224 80B63BE4 A42B0AFA */ sh $t3, 0x0AFA($at) ## 00010AFA
-/* 01228 80B63BE8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01228 80B63BE8 0C0294D3 */ jal Animation_MorphToLoop
/* 0122C 80B63BEC A60D01CA */ sh $t5, 0x01CA($s0) ## 000001CA
/* 01230 80B63BF0 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF
/* 01234 80B63BF4 240F004B */ addiu $t7, $zero, 0x004B ## $t7 = 0000004B
diff --git a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B63D84.s b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B63D84.s
index cdb5190937..9371748192 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B63D84.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B63D84.s
@@ -55,7 +55,7 @@ glabel func_80B63D84
/* 01400 80B63DC0 24840250 */ addiu $a0, $a0, 0x0250 ## $a0 = 00000250
/* 01404 80B63DC4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01408 80B63DC8 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
-/* 0140C 80B63DCC 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0140C 80B63DCC 0C0294D3 */ jal Animation_MorphToLoop
/* 01410 80B63DD0 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 01414 80B63DD4 3C0880B6 */ lui $t0, %hi(func_80B6404C) ## $t0 = 80B60000
/* 01418 80B63DD8 2508404C */ addiu $t0, $t0, %lo(func_80B6404C) ## $t0 = 80B6404C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6404C.s b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6404C.s
index 048c512d4b..866beab3ae 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6404C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6404C.s
@@ -68,7 +68,7 @@ glabel func_80B6404C
/* 01740 80B64100 24052804 */ addiu $a1, $zero, 0x2804 ## $a1 = 00002804
.L80B64104:
/* 01744 80B64104 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
-/* 01748 80B64108 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01748 80B64108 0C02927F */ jal SkelAnime_Update
/* 0174C 80B6410C AFA40044 */ sw $a0, 0x0044($sp)
/* 01750 80B64110 3C053C3C */ lui $a1, 0x3C3C ## $a1 = 3C3C0000
@@ -115,7 +115,7 @@ glabel func_80B6404C
/* 017E4 80B641A4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 017E8 80B641A8 24A5B4C8 */ addiu $a1, $a1, 0xB4C8 ## $a1 = 0600B4C8
/* 017EC 80B641AC 8FA40044 */ lw $a0, 0x0044($sp)
-/* 017F0 80B641B0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 017F0 80B641B0 0C0294D3 */ jal Animation_MorphToLoop
/* 017F4 80B641B4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 017F8 80B641B8 240B8000 */ addiu $t3, $zero, 0x8000 ## $t3 = FFFF8000
/* 017FC 80B641BC 1000001E */ beq $zero, $zero, .L80B64238
diff --git a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6424C.s b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6424C.s
index 9c1d70020b..7e707dc141 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6424C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6424C.s
@@ -32,7 +32,7 @@ glabel func_80B6424C
/* 018A8 80B64268 248452EC */ addiu $a0, $a0, %lo(D_80B652EC) ## $a0 = 80B652EC
/* 018AC 80B6426C A200014D */ sb $zero, 0x014D($s0) ## 0000014D
/* 018B0 80B64270 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
-/* 018B4 80B64274 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 018B4 80B64274 0C02927F */ jal SkelAnime_Update
/* 018B8 80B64278 AFA40044 */ sw $a0, 0x0044($sp)
/* 018BC 80B6427C 860E01D4 */ lh $t6, 0x01D4($s0) ## 000001D4
@@ -57,7 +57,7 @@ glabel func_80B6424C
/* 01904 80B642C4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01908 80B642C8 24A5C65C */ addiu $a1, $a1, 0xC65C ## $a1 = 0600C65C
/* 0190C 80B642CC 8FA40044 */ lw $a0, 0x0044($sp)
-/* 01910 80B642D0 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01910 80B642D0 0C029490 */ jal Animation_MorphToPlayOnce
/* 01914 80B642D4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
.L80B642D8:
/* 01918 80B642D8 260401E8 */ addiu $a0, $s0, 0x01E8 ## $a0 = 000001E8
@@ -189,7 +189,7 @@ glabel func_80B6424C
/* 01ACC 80B6448C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01AD0 80B64490 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01AD4 80B64494 24A5B9D0 */ addiu $a1, $a1, 0xB9D0 ## $a1 = 0600B9D0
-/* 01AD8 80B64498 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01AD8 80B64498 0C0294D3 */ jal Animation_MorphToLoop
/* 01ADC 80B6449C 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01AE0 80B644A0 860301D6 */ lh $v1, 0x01D6($s0) ## 000001D6
.L80B644A4:
@@ -204,7 +204,7 @@ glabel func_80B6424C
/* 01B00 80B644C0 8FA40044 */ lw $a0, 0x0044($sp)
/* 01B04 80B644C4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000
/* 01B08 80B644C8 24A5CB1C */ addiu $a1, $a1, 0xCB1C ## $a1 = 0600CB1C
-/* 01B0C 80B644CC 0C029490 */ jal SkelAnime_ChangeAnimTransitionStop
+/* 01B0C 80B644CC 0C029490 */ jal Animation_MorphToPlayOnce
/* 01B10 80B644D0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01B14 80B644D4 24090004 */ addiu $t1, $zero, 0x0004 ## $t1 = 00000004
/* 01B18 80B644D8 A209014C */ sb $t1, 0x014C($s0) ## 0000014C
@@ -246,7 +246,7 @@ glabel func_80B6424C
/* 01B8C 80B6454C 3C040601 */ lui $a0, 0x0601 ## $a0 = 06010000
/* 01B90 80B64550 AE0B01FC */ sw $t3, 0x01FC($s0) ## 000001FC
/* 01B94 80B64554 A60001C8 */ sh $zero, 0x01C8($s0) ## 000001C8
-/* 01B98 80B64558 0C028800 */ jal SkelAnime_GetFrameCount
+/* 01B98 80B64558 0C028800 */ jal Animation_GetLastFrame
/* 01B9C 80B6455C 2484CB1C */ addiu $a0, $a0, 0xCB1C ## $a0 = 0600CB1C
/* 01BA0 80B64560 44823000 */ mtc1 $v0, $f6 ## $f6 = 0.00
@@ -261,7 +261,7 @@ glabel func_80B6424C
/* 01BC4 80B64584 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 01BC8 80B64588 3C06BF80 */ lui $a2, 0xBF80 ## $a2 = BF800000
/* 01BCC 80B6458C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
-/* 01BD0 80B64590 0C029468 */ jal SkelAnime_ChangeAnim
+/* 01BD0 80B64590 0C029468 */ jal Animation_Change
/* 01BD4 80B64594 E7AA0018 */ swc1 $f10, 0x0018($sp)
/* 01BD8 80B64598 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
@@ -381,7 +381,7 @@ glabel func_80B6424C
/* 01D7C 80B6473C A60B01D4 */ sh $t3, 0x01D4($s0) ## 000001D4
/* 01D80 80B64740 AE0C01FC */ sw $t4, 0x01FC($s0) ## 000001FC
/* 01D84 80B64744 44060000 */ mfc1 $a2, $f0
-/* 01D88 80B64748 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01D88 80B64748 0C0294D3 */ jal Animation_MorphToLoop
/* 01D8C 80B6474C 8FA40044 */ lw $a0, 0x0044($sp)
/* 01D90 80B64750 240D0005 */ addiu $t5, $zero, 0x0005 ## $t5 = 00000005
/* 01D94 80B64754 A20D014C */ sb $t5, 0x014C($s0) ## 0000014C
diff --git a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6476C.s b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6476C.s
index 57e439e80f..e47d64f74a 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6476C.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B6476C.s
@@ -23,7 +23,7 @@ glabel func_80B6476C
/* 01DCC 80B6478C 24845324 */ addiu $a0, $a0, %lo(D_80B65324) ## $a0 = 80B65324
/* 01DD0 80B64790 26040250 */ addiu $a0, $s0, 0x0250 ## $a0 = 00000250
-/* 01DD4 80B64794 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01DD4 80B64794 0C02927F */ jal SkelAnime_Update
/* 01DD8 80B64798 AFA4004C */ sw $a0, 0x004C($sp)
/* 01DDC 80B6479C 8FAE0064 */ lw $t6, 0x0064($sp)
@@ -220,7 +220,7 @@ glabel func_80B6476C
/* 02090 80B64A50 AE0D01FC */ sw $t5, 0x01FC($s0) ## 000001FC
/* 02094 80B64A54 44060000 */ mfc1 $a2, $f0
/* 02098 80B64A58 8FA4004C */ lw $a0, 0x004C($sp)
-/* 0209C 80B64A5C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0209C 80B64A5C 0C0294D3 */ jal Animation_MorphToLoop
/* 020A0 80B64A60 AFA20050 */ sw $v0, 0x0050($sp)
/* 020A4 80B64A64 8FA20050 */ lw $v0, 0x0050($sp)
/* 020A8 80B64A68 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005
diff --git a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B64AA8.s b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B64AA8.s
index 0f22990b89..afb3f2681b 100644
--- a/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B64AA8.s
+++ b/asm/non_matchings/overlays/actors/ovl_En_fHG/func_80B64AA8.s
@@ -60,7 +60,7 @@ glabel func_80B64AA8
/* 02180 80B64B40 0C01E245 */ jal func_80078914
/* 02184 80B64B44 24052804 */ addiu $a1, $zero, 0x2804 ## $a1 = 00002804
.L80B64B48:
-/* 02188 80B64B48 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 02188 80B64B48 0C02927F */ jal SkelAnime_Update
/* 0218C 80B64B4C 26240250 */ addiu $a0, $s1, 0x0250 ## $a0 = 00000250
/* 02190 80B64B50 3C0180B6 */ lui $at, %hi(D_80B6544C) ## $at = 80B60000
diff --git a/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Init.s b/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Init.s
index f9b790d979..3a951b0372 100644
--- a/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Init.s
+++ b/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Init.s
@@ -102,7 +102,7 @@ glabel Fishing_Init
/* 00CB8 80B6A658 3C050600 */ lui $a1, %hi(D_0600453C) ## $a1 = 06000000
/* 00CBC 80B6A65C 24A5453C */ addiu $a1, $a1, %lo(D_0600453C) ## $a1 = 0600453C
/* 00CC0 80B6A660 02002025 */ or $a0, $s0, $zero ## $a0 = 000001D8
-/* 00CC4 80B6A664 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 00CC4 80B6A664 0C0294D3 */ jal Animation_MorphToLoop
/* 00CC8 80B6A668 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 00CCC 80B6A66C 3C014320 */ lui $at, 0x4320 ## $at = 43200000
/* 00CD0 80B6A670 44812000 */ mtc1 $at, $f4 ## $f4 = 160.00
@@ -553,7 +553,7 @@ glabel Fishing_Init
/* 0131C 80B6ACBC AFA00018 */ sw $zero, 0x0018($sp)
/* 01320 80B6ACC0 02002025 */ or $a0, $s0, $zero ## $a0 = 000001D8
/* 01324 80B6ACC4 02202825 */ or $a1, $s1, $zero ## $a1 = 0600007C
-/* 01328 80B6ACC8 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 01328 80B6ACC8 0C0294D3 */ jal Animation_MorphToLoop
/* 0132C 80B6ACCC 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 01330 80B6ACD0 10000010 */ beq $zero, $zero, .L80B6AD14
/* 01334 80B6ACD4 00000000 */ nop
@@ -571,10 +571,10 @@ glabel Fishing_Init
/* 01360 80B6AD00 AFA00018 */ sw $zero, 0x0018($sp)
/* 01364 80B6AD04 02002025 */ or $a0, $s0, $zero ## $a0 = 000001D8
/* 01368 80B6AD08 02202825 */ or $a1, $s1, $zero ## $a1 = 0600CFE0
-/* 0136C 80B6AD0C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0136C 80B6AD0C 0C0294D3 */ jal Animation_MorphToLoop
/* 01370 80B6AD10 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
.L80B6AD14:
-/* 01374 80B6AD14 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 01374 80B6AD14 0C02927F */ jal SkelAnime_Update
/* 01378 80B6AD18 02002025 */ or $a0, $s0, $zero ## $a0 = 000001D8
/* 0137C 80B6AD1C 8658001C */ lh $t8, 0x001C($s2) ## 0000001C
diff --git a/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Update.s b/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Update.s
index cd33178bcd..d2ec0774e5 100644
--- a/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Update.s
+++ b/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Update.s
@@ -4402,7 +4402,7 @@ glabel L80B748A0
/* 0B5B0 80B74F50 3C050600 */ lui $a1, %hi(D_0600007C) ## $a1 = 06000000
/* 0B5B4 80B74F54 24A5007C */ addiu $a1, $a1, %lo(D_0600007C) ## $a1 = 0600007C
/* 0B5B8 80B74F58 8FA4004C */ lw $a0, 0x004C($sp)
-/* 0B5BC 80B74F5C 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0B5BC 80B74F5C 0C0294D3 */ jal Animation_MorphToLoop
/* 0B5C0 80B74F60 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 0B5C4 80B74F64 10000011 */ beq $zero, $zero, .L80B74FAC
/* 0B5C8 80B74F68 3C014402 */ lui $at, 0x4402 ## $at = 44020000
@@ -4420,7 +4420,7 @@ glabel L80B748A0
/* 0B5F4 80B74F94 3C050601 */ lui $a1, %hi(D_0600CFE0) ## $a1 = 06010000
/* 0B5F8 80B74F98 24A5CFE0 */ addiu $a1, $a1, %lo(D_0600CFE0) ## $a1 = 0600CFE0
/* 0B5FC 80B74F9C 8FA4004C */ lw $a0, 0x004C($sp)
-/* 0B600 80B74FA0 0C0294D3 */ jal SkelAnime_ChangeAnimTransitionRepeat
+/* 0B600 80B74FA0 0C0294D3 */ jal Animation_MorphToLoop
/* 0B604 80B74FA4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 0B608 80B74FA8 3C014402 */ lui $at, 0x4402 ## $at = 44020000
.L80B74FAC:
diff --git a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7825C.s b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7825C.s
index d8b2073b53..2bf9e82613 100644
--- a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7825C.s
+++ b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7825C.s
@@ -172,7 +172,7 @@ glabel func_80B7825C
/* 0E944 80B782E4 8FB800E4 */ lw $t8, 0x00E4($sp)
/* 0E948 80B782E8 A30F00C8 */ sb $t7, 0x00C8($t8) ## 000000C8
/* 0E94C 80B782EC 8FA40128 */ lw $a0, 0x0128($sp)
-/* 0E950 80B782F0 0C02927F */ jal SkelAnime_FrameUpdateMatrix
+/* 0E950 80B782F0 0C02927F */ jal SkelAnime_Update
/* 0E954 80B782F4 248401D8 */ addiu $a0, $a0, 0x01D8 ## $a0 = 000001D8
/* 0E958 80B782F8 3C1980B8 */ lui $t9, %hi(D_80B7A684) ## $t9 = 80B80000
diff --git a/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_80813820.s b/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_80813820.s
index 070e409c1e..b41febfcca 100644
--- a/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_80813820.s
+++ b/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_80813820.s
@@ -2368,9 +2368,9 @@ glabel func_80813820
/* 02238 80815A58 3C120001 */ lui $s2, 0x0001 ## $s2 = 00010000
/* 0223C 80815A5C 3C1FF588 */ lui $ra, 0xF588 ## $ra = F5880000
/* 02240 80815A60 3C0D0703 */ lui $t5, 0x0703 ## $t5 = 07030000
-/* 02244 80815A64 3C0B0200 */ lui $t3, 0x0200 ## $t3 = 02000000
+/* 02244 80815A64 3C0B0200 */ lui $t3, %hi(D_02003040) ## $t3 = 02000000
/* 02248 80815A68 25EE0A40 */ addiu $t6, $t7, 0x0A40 ## $t6 = 00000A48
-/* 0224C 80815A6C 256B3040 */ addiu $t3, $t3, 0x3040 ## $t3 = 02003040
+/* 0224C 80815A6C 256B3040 */ addiu $t3, $t3, %lo(D_02003040) ## $t3 = 02003040
/* 02250 80815A70 35ADF800 */ ori $t5, $t5, 0xF800 ## $t5 = 0703F800
/* 02254 80815A74 37FF0200 */ ori $ra, $ra, 0x0200 ## $ra = F5880200
/* 02258 80815A78 3652C03C */ ori $s2, $s2, 0xC03C ## $s2 = 0001C03C
diff --git a/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_80815FD4.s b/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_80815FD4.s
index eda847ae86..d2ef558561 100644
--- a/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_80815FD4.s
+++ b/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_80815FD4.s
@@ -28,12 +28,12 @@ glabel func_80815FD4
/* 027F0 80816010 8FA60064 */ lw $a2, 0x0064($sp)
/* 027F4 80816014 8C6202C0 */ lw $v0, 0x02C0($v1) ## 000002C0
/* 027F8 80816018 3C18FD90 */ lui $t8, 0xFD90 ## $t8 = FD900000
-/* 027FC 8081601C 3C090200 */ lui $t1, 0x0200 ## $t1 = 02000000
+/* 027FC 8081601C 3C090200 */ lui $t1, %hi(D_02003040) ## $t1 = 02000000
/* 02800 80816020 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 02804 80816024 AC6F02C0 */ sw $t7, 0x02C0($v1) ## 000002C0
/* 02808 80816028 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 0280C 8081602C 8FB9005C */ lw $t9, 0x005C($sp)
-/* 02810 80816030 25293040 */ addiu $t1, $t1, 0x3040 ## $t1 = 02003040
+/* 02810 80816030 25293040 */ addiu $t1, $t1, %lo(D_02003040) ## $t1 = 02003040
/* 02814 80816034 3C0D0708 */ lui $t5, 0x0708 ## $t5 = 07080000
/* 02818 80816038 001941C0 */ sll $t0, $t9, 7
/* 0281C 8081603C 01095021 */ addu $t2, $t0, $t1
diff --git a/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_808198A0.s b/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_808198A0.s
index eb78e0791d..1944d55dcb 100644
--- a/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_808198A0.s
+++ b/asm/non_matchings/overlays/actors/ovl_kaleido_scope/func_808198A0.s
@@ -232,8 +232,8 @@ glabel func_808198A0
/* 063B4 80819BD4 272F06C0 */ addiu $t7, $t9, 0x06C0 ## $t7 = 78FF06C8
/* 063B8 80819BD8 AC4F0004 */ sw $t7, 0x0004($v0) ## 80127200
/* 063BC 80819BDC 8CA202C0 */ lw $v0, 0x02C0($a1) ## 000002C0
-/* 063C0 80819BE0 3C0F0200 */ lui $t7, 0x0200 ## $t7 = 02000000
-/* 063C4 80819BE4 25EF35C0 */ addiu $t7, $t7, 0x35C0 ## $t7 = 020035C0
+/* 063C0 80819BE0 3C0F0200 */ lui $t7, %hi(D_020035C0) ## $t7 = 02000000
+/* 063C4 80819BE4 25EF35C0 */ addiu $t7, $t7, %lo(D_020035C0) ## $t7 = 020035C0
/* 063C8 80819BE8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 80127204
/* 063CC 80819BEC ACB802C0 */ sw $t8, 0x02C0($a1) ## 000002C0
/* 063D0 80819BF0 0003C980 */ sll $t9, $v1, 6
@@ -309,8 +309,8 @@ glabel func_808198A0
/* 064E4 80819D04 25D90700 */ addiu $t9, $t6, 0x0700 ## $t9 = 01004708
/* 064E8 80819D08 AC590004 */ sw $t9, 0x0004($v0) ## 80127200
/* 064EC 80819D0C 8CA202C0 */ lw $v0, 0x02C0($a1) ## 000002C0
-/* 064F0 80819D10 3C190200 */ lui $t9, 0x0200 ## $t9 = 02000000
-/* 064F4 80819D14 273935C0 */ addiu $t9, $t9, 0x35C0 ## $t9 = 020035C0
+/* 064F0 80819D10 3C190200 */ lui $t9, %hi(D_020035C0) ## $t9 = 02000000
+/* 064F4 80819D14 273935C0 */ addiu $t9, $t9, %lo(D_020035C0) ## $t9 = 020035C0
/* 064F8 80819D18 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 80127204
/* 064FC 80819D1C ACAF02C0 */ sw $t7, 0x02C0($a1) ## 000002C0
/* 06500 80819D20 00067180 */ sll $t6, $a2, 6
diff --git a/assets/xml/objects/object_sk2.xml b/assets/xml/objects/object_sk2.xml
index 1e44ac391b..df672de691 100644
--- a/assets/xml/objects/object_sk2.xml
+++ b/assets/xml/objects/object_sk2.xml
@@ -29,27 +29,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/include/functions.h b/include/functions.h
index b033cfb0c1..a1a68a2561 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -1160,7 +1160,7 @@ s32 Player_ActionToExplosive(Player* player, s32 actionParam);
s32 Player_GetExplosiveHeld(Player* player);
s32 func_8008F2BC(Player* player, s32 actionParam);
s32 func_8008F2F8(GlobalContext* globalCtx);
-void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount, s32 lod, s32 tunic,
+void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic,
s32 boots, s32 face, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* this);
s32 func_8008FCC8(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data);
s32 func_80090014(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data);
@@ -1261,84 +1261,87 @@ s32 Scene_ExecuteCommands(GlobalContext* globalCtx, SceneCmd* sceneCmd);
void func_80098CBC(GlobalContext* globalCtx, u8* nbTransitionActors);
void func_800994A0(GlobalContext* globalCtx);
void Scene_Draw(GlobalContext* globalCtx);
-void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable,
+void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 dListIndex);
-void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount,
+void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg,
s32 dListIndex);
-void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable,
+void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg);
-void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount,
+void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg);
-s16 SkelAnime_GetTotalFrames(void* animationSeg);
-s16 SkelAnime_GetFrameCount(void* animationSeg);
-s16 func_800A2DBC(void* animationSeg);
-s16 SkelAnime_GetTotalFrames2(void* animationSeg);
-s16 SkelAnime_GetFrameCount2(void* animationSeg);
-Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, OverrideLimbDraw overrideLimbDraw,
+s16 Animation_GetLength(void* animation);
+s16 Animation_GetLastFrame(void* animation);
+s16 Animation_GetLimbCount2(AnimationHeader2* animation);
+s16 Animation_GetLength2(AnimationHeader2* animation);
+s16 Animation_GetLastFrame2(AnimationHeader2* animation);
+Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, OverrideLimbDraw overrideLimbDraw,
PostLimbDraw postLimbDraw, void* arg, Gfx* gfx);
-Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount,
+Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* arg, Gfx* gfx);
-void SkelAnime_InterpolateVec3s(s32, Vec3s*, Vec3s*, Vec3s*, f32);
-void SkelAnime_AnimationCtxReset(AnimationContext* animationCtx);
-void func_800A32F4(GlobalContext* globalCtx);
-void func_800A3310(GlobalContext* globalCtx);
-void SkelAnime_LoadLinkAnimation(GlobalContext* globalCtx, LinkAnimationHeader* animation, s32 frame, s32 limbCount,
- Vec3s* drawTbl);
-void SkelAnime_LoadAnimationType1(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src);
-void SkelAnime_LoadAnimationType2(GlobalContext* globalCtx, s32 limbCount, Vec3s* arg2, Vec3s* arg3, f32 arg4);
-void SkelAnime_LoadAnimationType3(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* index);
-void SkelAnime_LoadAnimationType4(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* index);
-void SkelAnime_LoadAnimationType5(GlobalContext* globalCtx, Actor* actor, SkelAnime* skelAnime, f32 arg3);
-void func_800A390C(GlobalContext* globalCtx, AnimationContext* animationCtx);
-void SkelAnime_InitLinkAnimation(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
- LinkAnimationHeader* segment, s32 flags, Vec3s* limbDrawTable,
- Vec3s* transitionDrawTbl, s32 limbBufCount);
-void func_800A3B8C(SkelAnime* skelAnime);
-s32 func_800A3BC0(GlobalContext* globalCtx, SkelAnime* skelAnime);
-void func_800A3C9C(GlobalContext* globalCtx, SkelAnime* skelAnime);
-void SkelAnime_SetTransition(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 transitionRate);
-void SkelAnime_ChangeLinkAnim(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
- f32 playbackSpeed, f32 frame, f32 frameCount, u8 arg6, f32 transitionRate);
-void SkelAnime_ChangeLinkAnimDefaultStop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment);
-void SkelAnime_ChangeLinkAnimPlaybackStop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
- f32 playbackSpeed);
-void SkelAnime_ChangeLinkAnimDefaultRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime,
- LinkAnimationHeader* segment);
-void SkelAnime_ChangeLinkAnimPlaybackRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime,
- LinkAnimationHeader* segment, f32 playbackSpeed);
-void func_800A41FC(GlobalContext* globalCtx, SkelAnime* skelAnime);
-void func_800A422C(GlobalContext* globalCtx, SkelAnime* skelAnime);
-void func_800A425C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 frame);
-void func_800A42A0(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 frame);
-void func_800A42E4(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 frame);
-void func_800A431C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 transitionFrame,
- LinkAnimationHeader* linkAnimSeg2, f32 frame, f32 transitionRate, Vec3s* limbDrawTable);
-void func_800A43B8(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 transitionFrame,
- LinkAnimationHeader* linkAnimSeg2, f32 frame, f32 transitionRate, Vec3s* arg7);
-s32 func_800A4530(SkelAnime* skelAnime, f32 arg1);
+void SkelAnime_InterpVec3s(s32 limbCount, Vec3s* dst, Vec3s* start, Vec3s* target, f32 weight);
+void AnimationContext_Reset(AnimationContext* animationCtx);
+void AnimationContext_SetNextQueue(GlobalContext* globalCtx);
+void AnimationContext_DisableQueue(GlobalContext* globalCtx);
+void AnimationContext_SetLoadFrame(GlobalContext* globalCtx, LinkAnimationHeader* animation, s32 frame, s32 limbCount,
+ Vec3s* frameTable);
+void AnimationContext_SetCopyAll(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src);
+void AnimationContext_SetInterp(GlobalContext* globalCtx, s32 vecCount, Vec3s* base, Vec3s* mod, f32 weight);
+void AnimationContext_SetCopyTrue(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* copyFlag);
+void AnimationContext_SetCopyFalse(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* copyFlag);
+void AnimationContext_SetMoveActor(GlobalContext* globalCtx, Actor* actor, SkelAnime* skelAnime, f32 arg3);
+void AnimationContext_Update(GlobalContext* globalCtx, AnimationContext* animationCtx);
+void SkelAnime_InitLink(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
+ LinkAnimationHeader* segment, s32 initFlags, Vec3s* jointTable, Vec3s* morphTable,
+ s32 limbCount);
+void LinkAnimation_SetUpdateFunction(SkelAnime* skelAnime);
+s32 LinkAnimation_Update(GlobalContext* globalCtx, SkelAnime* skelAnime);
+void LinkAnimation_AnimateFrame(GlobalContext* globalCtx, SkelAnime* skelAnime);
+void Animation_SetMorph(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 morphFrames);
+void LinkAnimation_Change(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 playSpeed,
+ f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames);
+void LinkAnimation_PlayOnce(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment);
+void LinkAnimation_PlayOnceSetSpeed(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
+ f32 playSpeed);
+void LinkAnimation_PlayLoop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment);
+void LinkAnimation_PlayLoopSetSpeed(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
+ f32 playSpeed);
+void LinkAnimation_CopyJointToMorph(GlobalContext* globalCtx, SkelAnime* skelAnime);
+void LinkAnimation_CopyMorphToJoint(GlobalContext* globalCtx, SkelAnime* skelAnime);
+void LinkAnimation_LoadToMorph(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 frame);
+void LinkAnimation_LoadToJoint(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 frame);
+void LinkAnimation_InterpJointMorph(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 frame);
+void LinkAnimation_BlendToJoint(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment1,
+ f32 frame1, LinkAnimationHeader* segment2, f32 frame2, f32 weight, Vec3s* blendTable);
+void LinkAnimation_BlendToMorph(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment1,
+ f32 frame1, LinkAnimationHeader* segment2, f32 frame2, f32 weight, Vec3s* blendTable);
+void LinkAnimation_EndLoop(SkelAnime* skelAnime);
+s32 LinkAnimation_OnFrame(SkelAnime* skelAnime, f32 frame);
s32 SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg,
- AnimationHeader* animationseg, Vec3s* limbDrawTable, Vec3s* arg5, s32 limbCount);
+ AnimationHeader* animation, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount);
s32 SkelAnime_InitFlex(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
- AnimationHeader* animationseg, Vec3s* limbDrawTable, Vec3s* arg5, s32 limbCount);
-void SkelAnime_InitSkin(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg,
- AnimationHeader* animationseg);
-s32 SkelAnime_FrameUpdateMatrix(SkelAnime* skelAnime);
-void SkelAnime_ChangeAnimImpl(SkelAnime* skelAnime, AnimationHeader* animationseg, f32 playbackSpeed, f32 frame,
- f32 frameCount, u8 unk1, f32 transitionRate, s8 unk2);
-void SkelAnime_ChangeAnim(SkelAnime* skelAnime, AnimationHeader* animationseg, f32 playbackSpeed, f32 frame,
- f32 frameCount, u8 mode, f32 transitionRate);
-void SkelAnime_ChangeAnimDefaultStop(SkelAnime* skelAnime, AnimationHeader* animationseg);
-void SkelAnime_ChangeAnimTransitionStop(SkelAnime* skelAnime, AnimationHeader* animationseg, f32 transitionRate);
-void SkelAnime_ChangeAnimPlaybackStop(SkelAnime* skelAnime, AnimationHeader* animationseg, f32 playbackSpeed);
-void SkelAnime_ChangeAnimDefaultRepeat(SkelAnime* skelAnime, AnimationHeader* animationseg);
-void SkelAnime_ChangeAnimTransitionRepeat(SkelAnime* skelAnime, AnimationHeader* animationseg, f32 transitionRate);
-void SkelAnime_ChangeAnimPlaybackRepeat(SkelAnime* skelAnime, AnimationHeader* animationseg, f32 playbackSpeed);
-void SkelAnime_AnimReverse(SkelAnime* skelAnime);
-void func_800A5428(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* index);
-void func_800A54FC(SkelAnime* skelAnime, Vec3f* pos, s16 angle);
-s32 func_800A56C8(SkelAnime* skelAnime, f32 arg1);
+ AnimationHeader* animation, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount);
+s32 SkelAnime_InitSkin(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg,
+ AnimationHeader* animation);
+s32 SkelAnime_Update(SkelAnime* skelAnime);
+void Animation_ChangeImpl(SkelAnime* skelAnime, AnimationHeader* animation, f32 playSpeed, f32 startFrame, f32 endFrame,
+ u8 mode, f32 morphFrames, s8 taper);
+void Animation_Change(SkelAnime* skelAnime, AnimationHeader* animation, f32 playSpeed, f32 startFrame, f32 endFrame,
+ u8 mode, f32 morphFrames);
+void Animation_PlayOnce(SkelAnime* skelAnime, AnimationHeader* animation);
+void Animation_MorphToPlayOnce(SkelAnime* skelAnime, AnimationHeader* animation, f32 morphFrames);
+void Animation_PlayOnceSetSpeed(SkelAnime* skelAnime, AnimationHeader* animation, f32 playSpeed);
+void Animation_PlayLoop(SkelAnime* skelAnime, AnimationHeader* animation);
+void Animation_MorphToLoop(SkelAnime* skelAnime, AnimationHeader* animation, f32 morphFrames);
+void Animation_PlayLoopSetSpeed(SkelAnime* skelAnime, AnimationHeader* animation, f32 playSpeed);
+void Animation_EndLoop(SkelAnime* skelAnime);
+void Animation_Reverse(SkelAnime* skelAnime);
+void SkelAnime_CopyVec3sTrue(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* copyFlags);
+void SkelAnime_CopyVec3sFalse(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* copyFlag);
+void SkelAnime_UpdateTranslation(SkelAnime* skelAnime, Vec3f* pos, s16 angle);
+s32 Animation_OnFrame(SkelAnime* skelAnime, f32 frame);
void SkelAnime_Free(SkelAnime* skelAnime, GlobalContext* globalCtx);
+void SkelAnime_CopyVec3s(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src);
void func_800A57C0(MtxF* mtx, Struct_800A57C0* arg1, Struct_800A598C* arg2, Vtx* arg3, Vec3f* arg4);
void func_800A598C(GraphicsContext* gfxCtx, PSkinAwb* skin, s32 limbIndex, s32 arg3);
void func_800A5E28(GraphicsContext* gfxCtx, PSkinAwb* skin, s32 limbIndex, s32 arg3, s32 arg4);
diff --git a/include/z64animation.h b/include/z64animation.h
index a5c8c5dfba..a5e5e2b819 100755
--- a/include/z64animation.h
+++ b/include/z64animation.h
@@ -14,8 +14,23 @@ struct SkelAnime;
(((u32)&_link_animetionSegmentRomStart) + ((u32)addr) - ((u32)&link_animetion_segment) + ((u32)offset))
#define LIMB_DONE 0xFF
#define ANIMATION_ENTRY_MAX 50
-#define ANIM_FLAG_UPDATEXZ (1 << 1)
-#define ANIM_FLAG_UPDATEY (1 << 4)
+#define ANIM_FLAG_UPDATEY (1 << 1)
+#define ANIM_FLAG_NOMOVE (1 << 4)
+
+typedef enum {
+ /* 0 */ ANIMMODE_LOOP,
+ /* 1 */ ANIMMODE_LOOP_INTERP,
+ /* 2 */ ANIMMODE_ONCE,
+ /* 3 */ ANIMMODE_ONCE_INTERP,
+ /* 4 */ ANIMMODE_LOOP_PARTIAL,
+ /* 5 */ ANIMMODE_LOOP_PARTIAL_INTERP
+} AnimationModes;
+
+typedef enum {
+ /* -1 */ ANIMTAPER_DECEL = -1,
+ /* 0 */ ANIMTAPER_NONE,
+ /* 1 */ ANIMTAPER_ACCEL
+} AnimationTapers;
typedef struct {
/* 0x00 */ Vec3s jointPos; // Root is position in model space, children are relative to parent
@@ -51,22 +66,46 @@ typedef struct {
/* 0x08 */ u8 dListCount;
} FlexSkeletonHeader; // size = 0xC
+// Index into the frame data table.
typedef struct {
- s16 frameCount;
- s16 unk_02;
-} GenericAnimationHeader; // size = 0x4
+ /* 0x00 */ u16 x;
+ /* 0x02 */ u16 y;
+ /* 0x04 */ u16 z;
+} JointIndex; // size = 0x06
typedef struct {
- /* 0x00 */ GenericAnimationHeader genericHeader;
- /* 0x04 */ u32 rotationValueSeg; // "tbl"
- /* 0x08 */ u32 rotationIndexSeg; // "ref_tbl"
- /* 0x0C */ u16 limit;
+ /* 0x00 */ s16 frameCount;
+} AnimationHeaderCommon;
+
+typedef struct {
+ /* 0x00 */ AnimationHeaderCommon common;
+ /* 0x04 */ u32 segment;
+} LinkAnimationHeader; // size = 0x8
+
+typedef struct {
+ /* 0x00 */ AnimationHeaderCommon common;
+ /* 0x04 */ s16* frameData; // "tbl"
+ /* 0x08 */ JointIndex* jointIndices; // "ref_tbl"
+ /* 0x0C */ u16 staticIndexMax;
} AnimationHeader; // size = 0x10
+// Unused
typedef struct {
- GenericAnimationHeader genericHeader;
- u32 segment;
-} LinkAnimationHeader; // size = 0x8
+ /* 0x00 */ s16 xMax;
+ /* 0x02 */ s16 x;
+ /* 0x04 */ s16 yMax;
+ /* 0x06 */ s16 y;
+ /* 0x08 */ s16 zMax;
+ /* 0x10 */ s16 z;
+} JointKey; // size = 0x12
+
+// Unused
+typedef struct {
+ /* 0x00 */ s16 frameCount;
+ /* 0x02 */ s16 limbCount;
+ /* 0x04 */ s16* frameData;
+ /* 0x08 */ JointKey* jointKey;
+} AnimationHeader2; // size = 0xC
typedef s32 (*OverrideLimbDrawOpa)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void*);
@@ -76,96 +115,78 @@ typedef void (*PostLimbDrawOpa)(struct GlobalContext* globalCtx, s32 limbIndex,
typedef s32 (*OverrideLimbDraw)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void*, Gfx** gfx);
-typedef void (*PostLimbDraw)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void*,
- Gfx** gfx);
-
-typedef s16 AnimationRotationValue;
-
-typedef struct {
- /* 0x00 */ u16 x;
- /* 0x02 */ u16 y;
- /* 0x04 */ u16 z;
-} AnimationRotationIndex; // size = 0x06
+typedef void (*PostLimbDraw)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void*, Gfx** gfx);
typedef enum {
- ANIMATION_LINK,
- ANIMATION_TYPE1,
- ANIMATION_TYPE2,
- ANIMATION_TYPE3,
- ANIMATION_TYPE4,
- ANIMATION_TYPE5
+ ANIMENTRY_LOADFRAME,
+ ANIMENTRY_COPYALL,
+ ANIMENTRY_INTERP,
+ ANIMENTRY_COPYTRUE,
+ ANIMENTRY_COPYFALSE,
+ ANIMENTRY_MOVEACTOR
} AnimationType;
typedef struct {
/* 0x000 */ DmaRequest req;
/* 0x020 */ OSMesgQueue msgQueue;
/* 0x038 */ OSMesg msg;
-} AnimationEntryType0;
+} AnimEntryLoadFrame; // size = 0x3C
typedef struct {
- /* 0x000 */ u8 unk_00;
+ /* 0x000 */ u8 queueFlag;
/* 0x001 */ u8 vecCount;
/* 0x004 */ Vec3s* dst;
/* 0x008 */ Vec3s* src;
-} AnimationEntryType1;
+} AnimEntryCopyAll; // size = 0xC
typedef struct {
- /* 0x000 */ u8 unk_00;
- /* 0x001 */ u8 limbCount;
- /* 0x004 */ Vec3s* unk_04;
- /* 0x008 */ Vec3s* unk_08;
- /* 0x00C */ f32 unk_0C;
-} AnimationEntryType2;
+ /* 0x000 */ u8 queueFlag;
+ /* 0x001 */ u8 vecCount;
+ /* 0x004 */ Vec3s* base;
+ /* 0x008 */ Vec3s* mod;
+ /* 0x00C */ f32 weight;
+} AnimEntryInterp; // size = 0x10
typedef struct {
- /* 0x000 */ u8 unk_00;
+ /* 0x000 */ u8 queueFlag;
/* 0x001 */ u8 vecCount;
/* 0x004 */ Vec3s* dst;
/* 0x008 */ Vec3s* src;
- /* 0x00C */ u8* index;
-} AnimationEntryType3;
+ /* 0x00C */ u8* copyFlag;
+} AnimEntryCopyTrue; // size = 0x10
typedef struct {
- /* 0x000 */ u8 unk_00;
+ /* 0x000 */ u8 queueFlag;
/* 0x001 */ u8 vecCount;
- /* 0x002 */ char unk_02[0x2];
/* 0x004 */ Vec3s* dst;
/* 0x008 */ Vec3s* src;
- /* 0x00C */ u8* index;
-} AnimationEntryType4;
+ /* 0x00C */ u8* copyFlag;
+} AnimEntryCopyFalse; // size = 0x10
typedef struct {
/* 0x000 */ struct Actor* actor;
/* 0x004 */ struct SkelAnime* skelAnime;
/* 0x008 */ f32 unk_08;
-} AnimationEntryType5;
-
-typedef struct {
- /* 0x004 */ char raw[0x3C];
-} AnimationEntryRaw;
+} AnimEntryMoveActor; // size = 0xC
typedef union {
- AnimationEntryRaw data;
- AnimationEntryType0 type0;
- AnimationEntryType1 type1;
- AnimationEntryType2 type2;
- AnimationEntryType3 type3;
- AnimationEntryType4 type4;
- AnimationEntryType5 type5;
-} AnimationEntryData;
+ AnimEntryLoadFrame load;
+ AnimEntryCopyAll copy;
+ AnimEntryInterp interp;
+ AnimEntryCopyTrue copy1;
+ AnimEntryCopyFalse copy0;
+ AnimEntryMoveActor move;
+} AnimationEntryData; // size = 0x3C
typedef struct {
/* 0x00 */ u8 type;
- /* 0x01 */ u8 unk_01;
- /* 0x02 */ char unk_02[2];
/* 0x04 */ AnimationEntryData data;
} AnimationEntry; // size = 0x40
typedef struct AnimationContext {
s16 animationCount;
- char unk_02[2];
AnimationEntry entries[ANIMATION_ENTRY_MAX];
-} AnimationContext;
+} AnimationContext; // size = 0xC84
typedef void (*AnimationEntryCallback)(struct GlobalContext* globalCtx, AnimationEntryData* data);
@@ -217,30 +238,30 @@ typedef struct {
typedef s32 (*OverrideCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, s32 limbIndex, void*);
typedef void (*PostCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, s32 limbIndex, void*);
-typedef s32 (*AnimationUpdateFunc)();
+typedef s32 (*AnimUpdateFunc)();
typedef struct SkelAnime {
- /* 0x00 */ u8 limbCount; // "joint_Num"
- /* 0x01 */ u8 mode; // 0/1 repeat animation, 2/3 stop animation, >= 4 starts on frame 0 and plays once
- /* 0x02 */ u8 dListCount;
- /* 0x03 */ s8 unk_03;
- /* 0x04 */ void** skeleton; // An array of pointers to limbs. Can be StandardLimb, LodLimb or SkinLimb.
- /* 0x08 */ void* animation; // Can be an AnimationHeader or LinkAnimationHeader.
- /* 0x0C */ f32 initialFrame;
- /* 0x10 */ f32 animFrameCount;
- /* 0x14 */ f32 totalFrames;
- /* 0x18 */ f32 animCurrentFrame;
- /* 0x1C */ f32 animPlaybackSpeed;
- /* 0x20 */ Vec3s* limbDrawTbl; // "now_joint"
- /* 0x24 */ Vec3s* transitionDrawTbl; // "morf_joint"
- /* 0x28 */ f32 transCurrentFrame;
- /* 0x2C */ f32 transitionStep;
- /* 0x30 */ AnimationUpdateFunc update;
- /* 0x34 */ s8 initFlags;
- /* 0x35 */ u8 flags;
- /* 0x36 */ s16 prevFrameRot;
- /* 0x38 */ Vec3s prevFramePos;
- /* 0x3E */ Vec3s unk_3E;
+ /* 0x00 */ u8 limbCount; // Number of limbs in the skeleton
+ /* 0x01 */ u8 mode; // 0: loop, 2: play once, 4: partial loop. +1 to interpolate between frames.
+ /* 0x02 */ u8 dListCount; // Number of display lists in a flexible skeleton
+ /* 0x03 */ s8 taper; // Tapering to use when morphing between animations. Only used by Door_Warp1.
+ /* 0x04 */ void** skeleton; // An array of pointers to limbs. Can be StandardLimb, LodLimb, or SkinLimb.
+ /* 0x08 */ void* animation; // Can be an AnimationHeader or LinkAnimationHeader.
+ /* 0x0C */ f32 startFrame; // In mode 4, start of partial loop.
+ /* 0x10 */ f32 endFrame; // In mode 2, Update returns true when curFrame is equal to this. In mode 4, end of partial loop.
+ /* 0x14 */ f32 animLength; // Total number of frames in the current animation's file.
+ /* 0x18 */ f32 curFrame; // Current frame in the animation
+ /* 0x1C */ f32 playSpeed; // Multiplied by R_UPDATE_RATE / 3 to get the animation's frame rate.
+ /* 0x20 */ Vec3s* jointTable; // Current translation of model and rotations of all limbs
+ /* 0x24 */ Vec3s* morphTable; // Table of values used to morph between animations
+ /* 0x28 */ f32 morphWeight; // Weight of the current animation morph as a fraction in [0,1]
+ /* 0x2C */ f32 morphRate; // Reciprocal of the number of frames in the morph
+ /* 0x30 */ s32 (*update)(); // Can be Loop, Partial loop, Play once, Morph, or Tapered morph. Link only has Loop, Play once, and Morph
+ /* 0x34 */ s8 initFlags; // Flags used when initializing Link's skeleton
+ /* 0x35 */ u8 moveFlags; // Flags used for animations that move the actor in worldspace.
+ /* 0x36 */ s16 prevRot; // Previous rotation in worldspace.
+ /* 0x38 */ Vec3s prevTransl; // Previous modelspace translation.
+ /* 0x3E */ Vec3s baseTransl; // Base modelspace translation.
} SkelAnime; // size = 0x44
typedef struct {
diff --git a/include/z64player.h b/include/z64player.h
index 50fc6cced1..a6106f47c4 100644
--- a/include/z64player.h
+++ b/include/z64player.h
@@ -227,9 +227,9 @@ typedef struct Player {
/* 0x01AC */ OSMesg giObjectLoadMsg;
/* 0x01B0 */ void* giObjectSegment; // also used for title card textures
/* 0x01B4 */ SkelAnime skelAnime;
- /* 0x01F8 */ Vec3s limbDrawTable[PLAYER_LIMB_BUF_COUNT];
- /* 0x0288 */ Vec3s transitionDrawTable[PLAYER_LIMB_BUF_COUNT];
- /* 0x0318 */ Vec3s unk_318[PLAYER_LIMB_BUF_COUNT];
+ /* 0x01F8 */ Vec3s jointTable[PLAYER_LIMB_BUF_COUNT];
+ /* 0x0288 */ Vec3s morphTable[PLAYER_LIMB_BUF_COUNT];
+ /* 0x0318 */ Vec3s blendTable[PLAYER_LIMB_BUF_COUNT];
/* 0x03A8 */ s16 unk_3A8[2];
/* 0x03AC */ Actor* heldActor;
/* 0x03B0 */ Vec3f leftHandPos;
@@ -296,8 +296,8 @@ typedef struct Player {
/* 0x06C2 */ s16 unk_6C2;
/* 0x06C4 */ f32 unk_6C4;
/* 0x06C8 */ SkelAnime skelAnime2;
- /* 0x070C */ Vec3s limbDrawTable2[PLAYER_LIMB_BUF_COUNT];
- /* 0x079C */ Vec3s transitionDrawTable2[PLAYER_LIMB_BUF_COUNT];
+ /* 0x070C */ Vec3s jointTable2[PLAYER_LIMB_BUF_COUNT];
+ /* 0x079C */ Vec3s morphTable2[PLAYER_LIMB_BUF_COUNT];
/* 0x082C */ PlayerFunc82C func_82C;
/* 0x0830 */ f32 unk_830;
/* 0x0834 */ s16 unk_834;
diff --git a/src/code/z_actor.c b/src/code/z_actor.c
index b5a27fd78a..70e572b6b4 100644
--- a/src/code/z_actor.c
+++ b/src/code/z_actor.c
@@ -887,7 +887,7 @@ void func_8002D9A4(Actor* actor, f32 arg1) {
void func_8002D9F8(Actor* actor, SkelAnime* skelAnime) {
Vec3f sp1C;
- func_800A54FC(skelAnime, &sp1C, actor->shape.rot.y);
+ SkelAnime_UpdateTranslation(skelAnime, &sp1C, actor->shape.rot.y);
actor->posRot.pos.x += sp1C.x * actor->scale.x;
actor->posRot.pos.y += sp1C.y * actor->scale.y;
actor->posRot.pos.z += sp1C.z * actor->scale.z;
@@ -3806,7 +3806,7 @@ void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbD
gDPPipeSync(POLY_OPA_DISP++);
gSPSegment(POLY_OPA_DISP++, 0x0C, func_80034B28(globalCtx->state.gfxCtx));
- POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8860);
@@ -3822,7 +3822,7 @@ void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbD
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, func_80034B54(globalCtx->state.gfxCtx));
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8904);
@@ -3857,11 +3857,11 @@ void func_80034EC0(SkelAnime* skelAnime, struct_80034EC0_Entry* arg1, s32 arg2)
if (arg1->frameCount > 0.0f) {
frameCount = arg1->frameCount;
} else {
- frameCount = SkelAnime_GetFrameCount(arg1->animation);
+ frameCount = Animation_GetLastFrame(arg1->animation);
}
- SkelAnime_ChangeAnim(skelAnime, arg1->animation, arg1->playbackSpeed, arg1->unk_08, frameCount, arg1->unk_10,
- arg1->transitionRate);
+ Animation_Change(skelAnime, arg1->animation, arg1->playbackSpeed, arg1->unk_08, frameCount, arg1->unk_10,
+ arg1->transitionRate);
}
void func_80034F54(GlobalContext* globalCtx, s16* arg1, s16* arg2, s32 arg3) {
diff --git a/src/code/z_fcurve_data_skelanime.c b/src/code/z_fcurve_data_skelanime.c
index 24c31d92dc..e01e0517ef 100644
--- a/src/code/z_fcurve_data_skelanime.c
+++ b/src/code/z_fcurve_data_skelanime.c
@@ -115,9 +115,9 @@ void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve*
Vec3s* transform;
transform = &skelCurve->transforms[limbIndex];
- scale.x = transform->x * (1.0f / 1024.0f);
- scale.y = transform->y * (1.0f / 1024.0f);
- scale.z = transform->z * (1.0f / 1024.0f);
+ scale.x = transform->x / 1024.0f;
+ scale.y = transform->y / 1024.0f;
+ scale.z = transform->z / 1024.0f;
transform++;
rot.x = transform->x;
rot.y = transform->y;
diff --git a/src/code/z_play.c b/src/code/z_play.c
index 4d27f4d139..ecce97a8e9 100644
--- a/src/code/z_play.c
+++ b/src/code/z_play.c
@@ -243,7 +243,7 @@ void Gameplay_Init(GameState* thisx) {
Effect_InitContext(globalCtx);
EffectSs_InitInfo(globalCtx, 0x55);
func_8005D3BC(globalCtx, &globalCtx->colChkCtx);
- SkelAnime_AnimationCtxReset(&globalCtx->animationCtx);
+ AnimationContext_Reset(&globalCtx->animationCtx);
func_8006450C(globalCtx, &globalCtx->csCtx);
if (gSaveContext.nextCutsceneIndex != 0xFFEF) {
@@ -407,7 +407,7 @@ void Gameplay_Init(GameState* thisx) {
gSaveContext.seqIndex = globalCtx->soundCtx.seqIndex;
gSaveContext.nightSeqIndex = globalCtx->soundCtx.nightSeqIndex;
func_8002DF18(globalCtx, PLAYER);
- func_800A390C(globalCtx, &globalCtx->animationCtx);
+ AnimationContext_Update(globalCtx, &globalCtx->animationCtx);
gSaveContext.respawnFlag = 0;
if (dREG(95) != 0) {
@@ -803,7 +803,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
LOG_NUM("1", 1, "../z_play.c", 3555);
}
- SkelAnime_AnimationCtxReset(&globalCtx->animationCtx);
+ AnimationContext_Reset(&globalCtx->animationCtx);
if (1 && HREG(63)) {
LOG_NUM("1", 1, "../z_play.c", 3561);
@@ -981,7 +981,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
LOG_NUM("1", 1, "../z_play.c", 3765);
}
- func_800A390C(globalCtx, &globalCtx->animationCtx);
+ AnimationContext_Update(globalCtx, &globalCtx->animationCtx);
if (1 && HREG(63)) {
LOG_NUM("1", 1, "../z_play.c", 3771);
diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c
index 6d1d6204a2..1942a8b330 100644
--- a/src/code/z_player_lib.c
+++ b/src/code/z_player_lib.c
@@ -625,12 +625,12 @@ Gfx* sBootDListGroups[][2] = {
{ 0x06025BA8, 0x06025DB0 },
};
-void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount, s32 lod, s32 tunic,
+void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic,
s32 boots, s32 face, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw,
void* data) {
Color_RGB8* color;
- s32 eyeIndex = (limbDrawTable[22].x & 0xF) - 1;
- s32 mouthIndex = (limbDrawTable[22].x >> 4) - 1;
+ s32 eyeIndex = (jointTable[22].x & 0xF) - 1;
+ s32 mouthIndex = (jointTable[22].x >> 4) - 1;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 1721);
@@ -651,7 +651,7 @@ void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTab
sDListsLodOffset = lod * 2;
- SkelAnime_DrawFlexLod(globalCtx, skeleton, limbDrawTable, dListCount, overrideLimbDraw, postLimbDraw, data, lod);
+ SkelAnime_DrawFlexLod(globalCtx, skeleton, jointTable, dListCount, overrideLimbDraw, postLimbDraw, data, lod);
if ((overrideLimbDraw != func_800902F0) && (overrideLimbDraw != func_80090440) && (gSaveContext.gameMode != 3)) {
if (LINK_IS_ADULT) {
@@ -733,7 +733,7 @@ void func_8008F87C(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime,
Matrix_Push();
Matrix_JointPosition(pos, rot);
Matrix_MultVec3f(&D_8012602C, &spA4);
- Matrix_JointPosition(&D_80126038[(void)0, gSaveContext.linkAge], &skelAnime->limbDrawTbl[shinLimbIndex]);
+ Matrix_JointPosition(&D_80126038[(void)0, gSaveContext.linkAge], &skelAnime->jointTable[shinLimbIndex]);
Matrix_Translate(D_80126050[(void)0, gSaveContext.linkAge], 0.0f, 0.0f, MTXMODE_APPLY);
Matrix_MultVec3f(&D_8012602C, &sp98);
Matrix_MultVec3f(&D_80126070, &footprintPos);
@@ -768,19 +768,18 @@ void func_8008F87C(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime,
sp50 = Math_FAtan2F(sp58, sp60);
temp1 = (M_PI - (Math_FAtan2F(sp5C, sp58) + ((M_PI / 2) - sp50))) * 10430.378f;
- temp1 = temp1 - skelAnime->limbDrawTbl[shinLimbIndex].z;
+ temp1 = temp1 - skelAnime->jointTable[shinLimbIndex].z;
- if ((s16)(ABS(skelAnime->limbDrawTbl[shinLimbIndex].x) + ABS(skelAnime->limbDrawTbl[shinLimbIndex].y)) <
- 0) {
+ if ((s16)(ABS(skelAnime->jointTable[shinLimbIndex].x) + ABS(skelAnime->jointTable[shinLimbIndex].y)) < 0) {
temp1 += 0x8000;
}
temp2 = (sp50 - sp54) * 10430.378f;
rot->z -= temp2;
- skelAnime->limbDrawTbl[thighLimbIndex].z = skelAnime->limbDrawTbl[thighLimbIndex].z - temp2;
- skelAnime->limbDrawTbl[shinLimbIndex].z = skelAnime->limbDrawTbl[shinLimbIndex].z + temp1;
- skelAnime->limbDrawTbl[footLimbIndex].z = skelAnime->limbDrawTbl[footLimbIndex].z + temp2 - temp1;
+ skelAnime->jointTable[thighLimbIndex].z = skelAnime->jointTable[thighLimbIndex].z - temp2;
+ skelAnime->jointTable[shinLimbIndex].z = skelAnime->jointTable[shinLimbIndex].z + temp1;
+ skelAnime->jointTable[footLimbIndex].z = skelAnime->jointTable[footLimbIndex].z + temp2 - temp1;
temp3 = func_80041D4C(&globalCtx->colCtx, sp88, sp84);
@@ -801,12 +800,12 @@ s32 func_8008FCC8(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
D_80160000 = &this->swordInfo[2].base;
if (LINK_IS_CHILD) {
- if (!(this->skelAnime.flags & 4) || (this->skelAnime.flags & 1)) {
+ if (!(this->skelAnime.moveFlags & 4) || (this->skelAnime.moveFlags & 1)) {
pos->x *= 0.64f;
pos->z *= 0.64f;
}
- if (!(this->skelAnime.flags & 4) || (this->skelAnime.flags & 2)) {
+ if (!(this->skelAnime.moveFlags & 4) || (this->skelAnime.moveFlags & 2)) {
pos->y *= 0.64f;
}
}
@@ -849,13 +848,13 @@ s32 func_8008FCC8(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
} else if (limbIndex == PLAYER_LIMB_R_THIGH) {
func_8008F87C(globalCtx, this, &this->skelAnime, pos, rot, PLAYER_LIMB_R_THIGH, PLAYER_LIMB_R_SHIN,
PLAYER_LIMB_R_FOOT);
- return 0;
+ return false;
} else {
- return 0;
+ return false;
}
}
- return 0;
+ return false;
}
s32 func_80090014(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
@@ -907,7 +906,7 @@ s32 func_80090014(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
}
}
- return 0;
+ return false;
}
s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
@@ -931,7 +930,7 @@ s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
}
}
- return 0;
+ return false;
}
s32 func_80090440(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
@@ -939,7 +938,7 @@ s32 func_80090440(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
*dList = NULL;
}
- return 0;
+ return false;
}
u8 func_80090480(GlobalContext* globalCtx, ColliderQuad* collider, WeaponInfo* weaponInfo, Vec3f* newTip,
@@ -1367,8 +1366,8 @@ u32 func_80091738(GlobalContext* globalCtx, u8* segment, SkelAnime* skelAnime) {
gSegments[4] = VIRTUAL_TO_PHYSICAL(segment + 0x3800);
gSegments[6] = VIRTUAL_TO_PHYSICAL(segment + 0x8800);
- SkelAnime_InitLinkAnimation(globalCtx, skelAnime, gPlayerSkelHeaders[(void)0, gSaveContext.linkAge], &D_04003238, 9,
- ptr, ptr, PLAYER_LIMB_MAX);
+ SkelAnime_InitLink(globalCtx, skelAnime, gPlayerSkelHeaders[(void)0, gSaveContext.linkAge], &D_04003238, 9, ptr,
+ ptr, PLAYER_LIMB_MAX);
return size + 0x8890;
}
@@ -1509,7 +1508,7 @@ void func_80091A24(GlobalContext* globalCtx, void* seg04, void* seg06, SkelAnime
gSPSegment(POLY_OPA_DISP++, 0x0C, gCullBackDList);
- func_8008F470(globalCtx, arg3->skeleton, arg3->limbDrawTbl, arg3->dListCount, 0, tunic, boots, 0, func_80091880,
+ func_8008F470(globalCtx, arg3->skeleton, arg3->jointTable, arg3->dListCount, 0, tunic, boots, 0, func_80091880,
NULL, &sp12C);
gSPEndDisplayList(POLY_OPA_DISP++);
@@ -1549,7 +1548,7 @@ void func_8009214C(GlobalContext* globalCtx, u8* segment, SkelAnime* arg2, Vec3f
}
srcTable = SEGMENTED_TO_VIRTUAL(srcTable);
- destTable = arg2->limbDrawTbl;
+ destTable = arg2->jointTable;
for (i = 0; i < arg2->limbCount; i++) {
*destTable++ = *srcTable++;
}
diff --git a/src/code/z_skelanime.c b/src/code/z_skelanime.c
index 2ab52c9e24..0d3e5dc874 100644
--- a/src/code/z_skelanime.c
+++ b/src/code/z_skelanime.c
@@ -1,22 +1,24 @@
#include "global.h"
#include "vt.h"
-s32 func_800A3D70(GlobalContext* globalCtx, SkelAnime* skelAnime);
-s32 func_800A3E0C(GlobalContext* globalCtx, SkelAnime* skelAnime);
-s32 func_800A4D9C(SkelAnime* skelAnime);
-s32 func_800A4EE0(SkelAnime* skelAnime);
-s32 func_800A4E38(SkelAnime* skelAnime);
+#define ANIM_INTERP 1
+
+s32 LinkAnimation_Loop(GlobalContext* globalCtx, SkelAnime* skelAnime);
+s32 LinkAnimation_Once(GlobalContext* globalCtx, SkelAnime* skelAnime);
+s32 SkelAnime_LoopFull(SkelAnime* skelAnime);
+s32 SkelAnime_Once(SkelAnime* skelAnime);
+s32 SkelAnime_LoopPartial(SkelAnime* skelAnime);
void SkelAnime_CopyVec3s(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src);
-static u32 D_8012A480 = 0;
-static u32 D_801600B0;
+static u32 sDisableAnimQueueFlags = 0;
+static u32 sAnimQueueFlags;
-/*
+/**
* Draw a limb of type `LodLimb`
* Near or far display list is specified via `lod`
*/
-void SkelAnime_DrawLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable,
+void SkelAnime_DrawLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod) {
LodLimb* limb;
Gfx* dList;
@@ -28,7 +30,7 @@ void SkelAnime_DrawLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skele
Matrix_Push();
limb = (LodLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]);
limbIndex++;
- rot = limbDrawTable[limbIndex];
+ rot = jointTable[limbIndex];
pos.x = limb->jointPos.x;
pos.y = limb->jointPos.y;
@@ -51,25 +53,23 @@ void SkelAnime_DrawLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skele
}
if (limb->child != LIMB_DONE) {
- SkelAnime_DrawLimbLod(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg,
- lod);
+ SkelAnime_DrawLimbLod(globalCtx, limb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg, lod);
}
Matrix_Pull();
if (limb->sibling != LIMB_DONE) {
- SkelAnime_DrawLimbLod(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg,
- lod);
+ SkelAnime_DrawLimbLod(globalCtx, limb->sibling, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg, lod);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 821);
}
-/*
+/**
* Draw all limbs of type `LodLimb` in a given skeleton
* Near or far display list is specified via `lod`
*/
-void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable,
+void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod) {
LodLimb* rootLimb;
s32 pad;
@@ -89,11 +89,11 @@ void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDra
Matrix_Push();
rootLimb = (LodLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]);
- pos.x = limbDrawTable[0].x;
- pos.y = limbDrawTable[0].y;
- pos.z = limbDrawTable[0].z;
+ pos.x = jointTable[0].x;
+ pos.y = jointTable[0].y;
+ pos.z = jointTable[0].z;
- rot = limbDrawTable[1];
+ rot = jointTable[1];
dList = rootLimb->dLists[lod];
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, arg)) {
@@ -108,7 +108,7 @@ void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDra
}
if (rootLimb->child != LIMB_DONE) {
- SkelAnime_DrawLimbLod(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg,
+ SkelAnime_DrawLimbLod(globalCtx, rootLimb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
lod);
}
@@ -117,11 +117,11 @@ void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDra
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 894);
}
-/*
+/**
* Draw a limb of type `LodLimb` contained within a flexible skeleton
* Near or far display list is specified via `lod`
*/
-void SkelAnime_DrawFlexLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable,
+void SkelAnime_DrawFlexLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod,
Mtx** mtx) {
LodLimb* limb;
@@ -135,7 +135,7 @@ void SkelAnime_DrawFlexLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** s
limb = (LodLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]);
limbIndex++;
- rot = limbDrawTable[limbIndex];
+ rot = jointTable[limbIndex];
pos.x = limb->jointPos.x;
pos.y = limb->jointPos.y;
@@ -163,24 +163,24 @@ void SkelAnime_DrawFlexLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** s
postLimbDraw(globalCtx, limbIndex, &limbDList, &rot, arg);
}
if (limb->child != LIMB_DONE) {
- SkelAnime_DrawFlexLimbLod(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg,
+ SkelAnime_DrawFlexLimbLod(globalCtx, limb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
lod, mtx);
}
Matrix_Pull();
if (limb->sibling != LIMB_DONE) {
- SkelAnime_DrawFlexLimbLod(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw,
- arg, lod, mtx);
+ SkelAnime_DrawFlexLimbLod(globalCtx, limb->sibling, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
+ lod, mtx);
}
}
-/*
+/**
* Draws all limbs of type `LodLimb` in a given flexible skeleton
* Limbs in a flexible skeleton have meshes that can stretch to line up with other limbs.
* An array of matrices is dynamically allocated so each limb can access any transform to ensure its meshes line up.
*/
-void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount,
+void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod) {
LodLimb* rootLimb;
s32 pad;
@@ -205,11 +205,11 @@ void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* lim
Matrix_Push();
rootLimb = (LodLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]);
- pos.x = limbDrawTable[0].x;
- pos.y = limbDrawTable[0].y;
- pos.z = limbDrawTable[0].z;
+ pos.x = jointTable[0].x;
+ pos.y = jointTable[0].y;
+ pos.z = jointTable[0].z;
- rot = limbDrawTable[1];
+ rot = jointTable[1];
newDList = limbDList = rootLimb->dLists[lod];
@@ -230,8 +230,8 @@ void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* lim
postLimbDraw(globalCtx, 1, &limbDList, &rot, arg);
}
if (rootLimb->child != LIMB_DONE) {
- SkelAnime_DrawFlexLimbLod(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw,
- arg, lod, &mtx);
+ SkelAnime_DrawFlexLimbLod(globalCtx, rootLimb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
+ lod, &mtx);
}
Matrix_Pull();
@@ -239,10 +239,10 @@ void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* lim
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1053);
}
-/*
+/**
* Draw a limb of type `StandardLimb` to the polyOpa buffer
*/
-void SkelAnime_DrawLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable,
+void SkelAnime_DrawLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg) {
StandardLimb* limb;
Gfx* dList;
@@ -254,7 +254,7 @@ void SkelAnime_DrawLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skele
limb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]);
limbIndex++;
- rot = limbDrawTable[limbIndex];
+ rot = jointTable[limbIndex];
pos.x = limb->jointPos.x;
pos.y = limb->jointPos.y;
pos.z = limb->jointPos.z;
@@ -275,21 +275,21 @@ void SkelAnime_DrawLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skele
}
if (limb->child != LIMB_DONE) {
- SkelAnime_DrawLimbOpa(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg);
+ SkelAnime_DrawLimbOpa(globalCtx, limb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg);
}
Matrix_Pull();
if (limb->sibling != LIMB_DONE) {
- SkelAnime_DrawLimbOpa(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg);
+ SkelAnime_DrawLimbOpa(globalCtx, limb->sibling, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1121);
}
-/*
+/**
* Draw all limbs of type `StandardLimb` in a given skeleton to the polyOpa buffer
*/
-void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable,
+void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg) {
StandardLimb* rootLimb;
s32 pad;
@@ -309,11 +309,11 @@ void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDra
Matrix_Push();
rootLimb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]);
- pos.x = limbDrawTable[0].x;
- pos.y = limbDrawTable[0].y;
- pos.z = limbDrawTable[0].z;
+ pos.x = jointTable[0].x;
+ pos.y = jointTable[0].y;
+ pos.z = jointTable[0].z;
- rot = limbDrawTable[1];
+ rot = jointTable[1];
dList = rootLimb->dList;
if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, arg)) {
@@ -329,7 +329,7 @@ void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDra
}
if (rootLimb->child != LIMB_DONE) {
- SkelAnime_DrawLimbOpa(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg);
+ SkelAnime_DrawLimbOpa(globalCtx, rootLimb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg);
}
Matrix_Pull();
@@ -337,10 +337,10 @@ void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDra
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1190);
}
-/*
+/**
* Draw a limb of type `StandardLimb` contained within a flexible skeleton to the polyOpa buffer
*/
-void SkelAnime_DrawFlexLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable,
+void SkelAnime_DrawFlexLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg,
Mtx** limbMatricies) {
StandardLimb* limb;
@@ -355,7 +355,7 @@ void SkelAnime_DrawFlexLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** s
limb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]);
limbIndex++;
- rot = limbDrawTable[limbIndex];
+ rot = jointTable[limbIndex];
pos.x = limb->jointPos.x;
pos.y = limb->jointPos.y;
@@ -381,25 +381,25 @@ void SkelAnime_DrawFlexLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** s
}
if (limb->child != LIMB_DONE) {
- SkelAnime_DrawFlexLimbOpa(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg,
+ SkelAnime_DrawFlexLimbOpa(globalCtx, limb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
limbMatricies);
}
Matrix_Pull();
if (limb->sibling != LIMB_DONE) {
- SkelAnime_DrawFlexLimbOpa(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw,
- arg, limbMatricies);
+ SkelAnime_DrawFlexLimbOpa(globalCtx, limb->sibling, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
+ limbMatricies);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1265);
}
-/*
+/**
* Draw all limbs of type `StandardLimb` in a given flexible skeleton to the polyOpa buffer
* Limbs in a flexible skeleton have meshes that can stretch to line up with other limbs.
* An array of matrices is dynamically allocated so each limb can access any transform to ensure its meshes line up.
*/
-void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount,
+void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg) {
StandardLimb* rootLimb;
s32 pad;
@@ -426,11 +426,11 @@ void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* lim
rootLimb = SEGMENTED_TO_VIRTUAL(skeleton[0]);
- pos.x = limbDrawTable[0].x;
- pos.y = limbDrawTable[0].y;
- pos.z = limbDrawTable[0].z;
+ pos.x = jointTable[0].x;
+ pos.y = jointTable[0].y;
+ pos.z = jointTable[0].z;
- rot = limbDrawTable[1];
+ rot = jointTable[1];
newDList = limbDList = rootLimb->dList;
@@ -452,57 +452,61 @@ void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* lim
}
if (rootLimb->child != LIMB_DONE) {
- SkelAnime_DrawFlexLimbOpa(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw,
- arg, &mtx);
+ SkelAnime_DrawFlexLimbOpa(globalCtx, rootLimb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
+ &mtx);
}
Matrix_Pull();
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1347);
}
-/*
- * Copies the rotation values from the rotation value table, indexed by the rotation index table
- * When a rotation index is >= the animation limit, the output rotation value is copied from the frame's
- * rotation value list, otherwise it is copied from the initial rotation value list
+/**
+ * Copies frame data from the frame data table, indexed by the joint index table.
+ * Indices below limit are copied from that entry in the static frame data table.
+ * Indices above limit are offsets to a frame data array indexed by the frame.
*/
-void SkelAnime_AnimateFrame(AnimationHeader* animationSeg, s32 currentFrame, s32 limbCount, Vec3s* dst) {
- AnimationHeader* animHeader = SEGMENTED_TO_VIRTUAL(animationSeg);
- AnimationRotationIndex* index = SEGMENTED_TO_VIRTUAL(animHeader->rotationIndexSeg);
- AnimationRotationValue* rotationValueTable = SEGMENTED_TO_VIRTUAL(animHeader->rotationValueSeg);
- AnimationRotationValue* frameRotationValueTable = &rotationValueTable[currentFrame];
- u16 limit = animHeader->limit;
+void SkelAnime_GetFrameData(AnimationHeader* animation, s32 frame, s32 limbCount, Vec3s* frameTable) {
+ AnimationHeader* animHeader = SEGMENTED_TO_VIRTUAL(animation);
+ JointIndex* jointIndices = SEGMENTED_TO_VIRTUAL(animHeader->jointIndices);
+ s16* frameData = SEGMENTED_TO_VIRTUAL(animHeader->frameData);
+ s16* staticData = &frameData[0];
+ s16* dynamicData = &frameData[frame];
+ u16 staticIndexMax = animHeader->staticIndexMax;
s32 i;
- for (i = 0; i < limbCount; i++, dst++, index++) {
- if ((dst == NULL) || (index == NULL) || (frameRotationValueTable == NULL) || (rotationValueTable == NULL)) {
- LOG_ADDRESS("out", dst, "../z_skelanime.c", 1392);
- LOG_ADDRESS("ref_tbl", index, "../z_skelanime.c", 1393);
- LOG_ADDRESS("frame_tbl", frameRotationValueTable, "../z_skelanime.c", 1394);
- LOG_ADDRESS("tbl", rotationValueTable, "../z_skelanime.c", 1395);
+ for (i = 0; i < limbCount; i++, frameTable++, jointIndices++) {
+ if ((frameTable == NULL) || (jointIndices == NULL) || (dynamicData == NULL) || (staticData == NULL)) {
+ LOG_ADDRESS("out", frameTable, "../z_skelanime.c", 1392);
+ LOG_ADDRESS("ref_tbl", jointIndices, "../z_skelanime.c", 1393);
+ LOG_ADDRESS("frame_tbl", dynamicData, "../z_skelanime.c", 1394);
+ LOG_ADDRESS("tbl", staticData, "../z_skelanime.c", 1395);
}
- dst->x = (index->x >= limit) ? frameRotationValueTable[index->x] : rotationValueTable[index->x];
- dst->y = (index->y >= limit) ? frameRotationValueTable[index->y] : rotationValueTable[index->y];
- dst->z = (index->z >= limit) ? frameRotationValueTable[index->z] : rotationValueTable[index->z];
+ frameTable->x =
+ (jointIndices->x >= staticIndexMax) ? dynamicData[jointIndices->x] : staticData[jointIndices->x];
+ frameTable->y =
+ (jointIndices->y >= staticIndexMax) ? dynamicData[jointIndices->y] : staticData[jointIndices->y];
+ frameTable->z =
+ (jointIndices->z >= staticIndexMax) ? dynamicData[jointIndices->z] : staticData[jointIndices->z];
}
}
-s16 SkelAnime_GetTotalFrames(void* animationSeg) {
- GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg);
+s16 Animation_GetLength(void* animation) {
+ AnimationHeaderCommon* common = SEGMENTED_TO_VIRTUAL(animation);
- return animation->frameCount;
+ return common->frameCount;
}
-s16 SkelAnime_GetFrameCount(void* animationSeg) {
- GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg);
+s16 Animation_GetLastFrame(void* animation) {
+ AnimationHeaderCommon* common = SEGMENTED_TO_VIRTUAL(animation);
// Loads an unsigned half for some reason.
- return (u16)animation->frameCount - 1;
+ return (u16)common->frameCount - 1;
}
-/*
+/**
* Draw a limb of type `StandardLimb` to the specified display buffer
*/
-Gfx* SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable,
+Gfx* SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* arg, Gfx* gfx) {
StandardLimb* limb;
Gfx* dList;
@@ -514,7 +518,7 @@ Gfx* SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton
limb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]);
limbIndex++;
- rot = limbDrawTable[limbIndex];
+ rot = jointTable[limbIndex];
pos.x = limb->jointPos.x;
pos.y = limb->jointPos.y;
@@ -535,24 +539,24 @@ Gfx* SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton
}
if (limb->child != LIMB_DONE) {
- gfx = SkelAnime_DrawLimb(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg,
- gfx);
+ gfx =
+ SkelAnime_DrawLimb(globalCtx, limb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg, gfx);
}
Matrix_Pull();
if (limb->sibling != LIMB_DONE) {
- gfx = SkelAnime_DrawLimb(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg,
+ gfx = SkelAnime_DrawLimb(globalCtx, limb->sibling, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
gfx);
}
return gfx;
}
-/*
+/**
* Draw all limbs of type `StandardLimb` in a given skeleton to the specified display buffer
*/
-Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, OverrideLimbDraw overrideLimbDraw,
+Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, OverrideLimbDraw overrideLimbDraw,
PostLimbDraw postLimbDraw, void* arg, Gfx* gfx) {
StandardLimb* rootLimb;
s32 pad;
@@ -571,11 +575,11 @@ Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTa
rootLimb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]);
- pos.x = limbDrawTable[0].x;
- pos.y = limbDrawTable[0].y;
- pos.z = limbDrawTable[0].z;
+ pos.x = jointTable[0].x;
+ pos.y = jointTable[0].y;
+ pos.z = jointTable[0].z;
- rot = limbDrawTable[1];
+ rot = jointTable[1];
dList = rootLimb->dList;
@@ -592,8 +596,8 @@ Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTa
}
if (rootLimb->child != LIMB_DONE) {
- gfx = SkelAnime_DrawLimb(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw,
- arg, gfx);
+ gfx = SkelAnime_DrawLimb(globalCtx, rootLimb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
+ gfx);
}
Matrix_Pull();
@@ -601,10 +605,10 @@ Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTa
return gfx;
}
-/*
+/**
* Draw a limb of type `StandardLimb` contained within a flexible skeleton to the specified display buffer
*/
-Gfx* SkelAnime_DrawFlexLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable,
+Gfx* SkelAnime_DrawFlexLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* arg, Mtx** mtx,
Gfx* gfx) {
StandardLimb* limb;
@@ -617,7 +621,7 @@ Gfx* SkelAnime_DrawFlexLimb(GlobalContext* globalCtx, s32 limbIndex, void** skel
limb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]);
limbIndex++;
- rot = limbDrawTable[limbIndex];
+ rot = jointTable[limbIndex];
pos.x = limb->jointPos.x;
pos.y = limb->jointPos.y;
@@ -640,26 +644,26 @@ Gfx* SkelAnime_DrawFlexLimb(GlobalContext* globalCtx, s32 limbIndex, void** skel
postLimbDraw(globalCtx, limbIndex, &limbDList, &rot, arg, &gfx);
}
if (limb->child != LIMB_DONE) {
- gfx = SkelAnime_DrawFlexLimb(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw,
- arg, mtx, gfx);
+ gfx = SkelAnime_DrawFlexLimb(globalCtx, limb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw, arg,
+ mtx, gfx);
}
Matrix_Pull();
if (limb->sibling != LIMB_DONE) {
- gfx = SkelAnime_DrawFlexLimb(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw,
+ gfx = SkelAnime_DrawFlexLimb(globalCtx, limb->sibling, skeleton, jointTable, overrideLimbDraw, postLimbDraw,
arg, mtx, gfx);
}
return gfx;
}
-/*
+/**
* Draw all limbs of type `StandardLimb` in a given flexible skeleton to the specified display buffer
* Limbs in a flexible skeleton have meshes that can stretch to line up with other limbs.
* An array of matrices is dynamically allocated so each limb can access any transform to ensure its meshes line up.
*/
-Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount,
+Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* arg, Gfx* gfx) {
StandardLimb* rootLimb;
s32 pad;
@@ -682,11 +686,11 @@ Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDr
Matrix_Push();
rootLimb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]);
- pos.x = limbDrawTable[0].x;
- pos.y = limbDrawTable[0].y;
- pos.z = limbDrawTable[0].z;
+ pos.x = jointTable[0].x;
+ pos.y = jointTable[0].y;
+ pos.z = jointTable[0].z;
- rot = limbDrawTable[1];
+ rot = jointTable[1];
newDList = limbDList = rootLimb->dList;
@@ -706,8 +710,8 @@ Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDr
postLimbDraw(globalCtx, 1, &limbDList, &rot, arg, &gfx);
}
if (rootLimb->child != LIMB_DONE) {
- gfx = SkelAnime_DrawFlexLimb(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw,
- postLimbDraw, arg, &mtx, gfx);
+ gfx = SkelAnime_DrawFlexLimb(globalCtx, rootLimb->child, skeleton, jointTable, overrideLimbDraw, postLimbDraw,
+ arg, &mtx, gfx);
}
Matrix_Pull();
@@ -716,119 +720,134 @@ Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDr
}
// unused
-s32 func_800A29BC(s32 arg0, s32 arg1, Vec3s* arg2) {
- AnimationHeader* temp_v0 = SEGMENTED_TO_VIRTUAL(arg0);
- s32 t = temp_v0->genericHeader.unk_02;
- s16* temp_a3 = SEGMENTED_TO_VIRTUAL(temp_v0->rotationIndexSeg);
- s16* temp_t1 = SEGMENTED_TO_VIRTUAL(temp_v0->rotationValueSeg);
- s32 phi_v0;
+s32 SkelAnime_GetFrameData2(AnimationHeader2* animation, s32 frame, Vec3s* frameTable) {
+ AnimationHeader2* animHeader = SEGMENTED_TO_VIRTUAL(animation);
+ s32 limbCount = animHeader->limbCount;
+ JointKey* key = SEGMENTED_TO_VIRTUAL(animHeader->jointKey);
+ s16* frameData = SEGMENTED_TO_VIRTUAL(animHeader->frameData);
+ s16* staticData = &frameData[0];
+ s16* dynamicData = &frameData[frame];
+ s32 i;
- arg2->x = arg1 < temp_a3[0] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[1]] : temp_t1[temp_a3[1]];
- arg2->y = arg1 < temp_a3[2] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[3]] : temp_t1[temp_a3[3]];
- arg2->z = arg1 < temp_a3[4] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[5]] : temp_t1[temp_a3[5]];
+ /**
+ *Equivalent to the following, but the compiler optimizes the loop in a way I can't replicate
+ */
- phi_v0 = 1;
- arg2++;
- temp_a3 += 6;
+ // for(i = 0, dst++, key++; i < limbCount + 1; i++, key++, dst++) {
+ // dst->x = frame < key->xMax ? dynamicData[key->x] : staticData[key->x];
+ // dst->y = frame < key->yMax ? dynamicData[key->y] : staticData[key->y];
+ // dst->z = frame < key->zMax ? dynamicData[key->z] : staticData[key->z];
+ // }
- if (t & 1) {}
+ frameTable->x = frame < key->xMax ? dynamicData[key->x] : staticData[key->x];
+ frameTable->y = frame < key->yMax ? dynamicData[key->y] : staticData[key->y];
+ frameTable->z = frame < key->zMax ? dynamicData[key->z] : staticData[key->z];
- if (t > 0) {
- if (t & 1) {
- phi_v0++;
- arg2->x = arg1 < temp_a3[0] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[1]] : temp_t1[temp_a3[1]];
- arg2->y = arg1 < temp_a3[2] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[3]] : temp_t1[temp_a3[3]];
- arg2->z = arg1 < temp_a3[4] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[5]] : temp_t1[temp_a3[5]];
- temp_a3 += 6;
- arg2++;
- if (t + 1 == phi_v0) {
+ i = 1;
+ frameTable++;
+ key++;
+
+ if (limbCount & 1) {}
+
+ if (limbCount > 0) {
+ if (limbCount & 1) {
+ i++;
+ frameTable->x = frame < key->xMax ? dynamicData[key->x] : staticData[key->x];
+ frameTable->y = frame < key->yMax ? dynamicData[key->y] : staticData[key->y];
+ frameTable->z = frame < key->zMax ? dynamicData[key->z] : staticData[key->z];
+ key++;
+ frameTable++;
+ if (limbCount + 1 == i) {
goto ret;
}
}
do {
- phi_v0 += 2;
- arg2->x = arg1 < temp_a3[0] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[1]] : temp_t1[temp_a3[1]];
- arg2->y = arg1 < temp_a3[2] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[3]] : temp_t1[temp_a3[3]];
- arg2->z = arg1 < temp_a3[4] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[5]] : temp_t1[temp_a3[5]];
- temp_a3 += 6;
- arg2++;
- arg2->x = arg1 < temp_a3[0] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[1]] : temp_t1[temp_a3[1]];
- arg2->y = arg1 < temp_a3[2] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[3]] : temp_t1[temp_a3[3]];
- arg2->z = arg1 < temp_a3[4] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[5]] : temp_t1[temp_a3[5]];
- temp_a3 += 6;
- arg2++;
- } while (phi_v0 != t + 1);
+ i += 2;
+ frameTable->x = frame < key->xMax ? dynamicData[key->x] : staticData[key->x];
+ frameTable->y = frame < key->yMax ? dynamicData[key->y] : staticData[key->y];
+ frameTable->z = frame < key->zMax ? dynamicData[key->z] : staticData[key->z];
+ key++;
+ frameTable++;
+ frameTable->x = frame < key->xMax ? dynamicData[key->x] : staticData[key->x];
+ frameTable->y = frame < key->yMax ? dynamicData[key->y] : staticData[key->y];
+ frameTable->z = frame < key->zMax ? dynamicData[key->z] : staticData[key->z];
+ key++;
+ frameTable++;
+ } while (i != limbCount + 1);
}
ret:
- return t;
+ return limbCount;
}
-// unused
-s16 func_800A2DBC(void* animationSeg) {
- GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg);
-
- return animation->unk_02;
-}
-
-/*
- * Appears to be unused anywhere in the game. Appears to be a clone of
- * SkelAnime_GetTotalFrames
+/**
+ * Used by legacy animation format
*/
-s16 SkelAnime_GetTotalFrames2(void* animationSeg) {
- GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg);
+s16 Animation_GetLimbCount2(AnimationHeader2* animation) {
+ AnimationHeader2* animHeader = SEGMENTED_TO_VIRTUAL(animation);
- return animation->frameCount;
+ return animHeader->limbCount;
}
-/*
- * Appears to be unused anywhere in the game. Appears to be a clone of
- * SkelAnime_GetFrameCount
+/**
+ * Used by legacy animation format
*/
-s16 SkelAnime_GetFrameCount2(void* animationSeg) {
- GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg);
+s16 Animation_GetLength2(AnimationHeader2* animation) {
+ AnimationHeader2* animHeader = SEGMENTED_TO_VIRTUAL(animation);
- return animation->frameCount - 1;
+ return animHeader->frameCount;
}
-void SkelAnime_InterpolateVec3s(s32 limbCount, Vec3s* dst, Vec3s* vec2, Vec3s* vec3, f32 unkf) {
+/**
+ * Used by legacy animation format
+ */
+s16 Animation_GetLastFrame2(AnimationHeader2* animation) {
+ AnimationHeader2* animHeader = SEGMENTED_TO_VIRTUAL(animation);
+
+ return animHeader->frameCount - 1;
+}
+
+/**
+ * Linearly interpolates between vector arrays start and target at the given weight.
+ */
+void SkelAnime_InterpVec3s(s32 limbCount, Vec3s* dst, Vec3s* start, Vec3s* target, f32 weight) {
s32 i;
- s16 dist;
- s16 temp2;
+ s16 diff;
+ s16 base;
- if (unkf < 1.0f) {
- for (i = 0; i < limbCount; i++, dst++, vec2++, vec3++) {
- temp2 = vec2->x;
- dist = vec3->x - temp2;
- dst->x = (s16)(dist * unkf) + temp2;
- temp2 = vec2->y;
- dist = vec3->y - temp2;
- dst->y = (s16)(dist * unkf) + temp2;
- temp2 = vec2->z;
- dist = vec3->z - temp2;
- dst->z = (s16)(dist * unkf) + temp2;
+ if (weight < 1.0f) {
+ for (i = 0; i < limbCount; i++, dst++, start++, target++) {
+ base = start->x;
+ diff = target->x - base;
+ dst->x = (s16)(diff * weight) + base;
+ base = start->y;
+ diff = target->y - base;
+ dst->y = (s16)(diff * weight) + base;
+ base = start->z;
+ diff = target->z - base;
+ dst->z = (s16)(diff * weight) + base;
}
} else {
- for (i = 0; i < limbCount; i++, dst++, vec3++) {
- dst->x = vec3->x;
- dst->y = vec3->y;
- dst->z = vec3->z;
+ for (i = 0; i < limbCount; i++, dst++, target++) {
+ dst->x = target->x;
+ dst->y = target->y;
+ dst->z = target->z;
}
}
}
-void SkelAnime_AnimationCtxReset(AnimationContext* animationCtx) {
+void AnimationContext_Reset(AnimationContext* animationCtx) {
animationCtx->animationCount = 0;
}
-void func_800A32F4(GlobalContext* globalCtx) {
- D_801600B0 <<= 1;
+void AnimationContext_SetNextQueue(GlobalContext* globalCtx) {
+ sAnimQueueFlags <<= 1;
}
-void func_800A3310(GlobalContext* globalCtx) {
- D_8012A480 |= D_801600B0;
+void AnimationContext_DisableQueue(GlobalContext* globalCtx) {
+ sDisableAnimQueueFlags |= sAnimQueueFlags;
}
-AnimationEntry* SkelAnime_AddEntry(AnimationContext* animationCtx, AnimationType type) {
+AnimationEntry* AnimationContext_AddEntry(AnimationContext* animationCtx, AnimationType type) {
AnimationEntry* entry;
s16 index = animationCtx->animationCount;
@@ -841,93 +860,113 @@ AnimationEntry* SkelAnime_AddEntry(AnimationContext* animationCtx, AnimationType
return entry;
}
-// The next 6 functions are coordinate with the AnimationType enum
-
-void SkelAnime_LoadLinkAnimation(GlobalContext* globalCtx, LinkAnimationHeader* segment, s32 frame, s32 limbCount,
- Vec3s* drawTbl) {
- AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_LINK);
+/**
+ * Requests loading frame data from the Link animation at segment into frameTable
+ */
+void AnimationContext_SetLoadFrame(GlobalContext* globalCtx, LinkAnimationHeader* segment, s32 frame, s32 limbCount,
+ Vec3s* frameTable) {
+ AnimationEntry* entry = AnimationContext_AddEntry(&globalCtx->animationCtx, ANIMENTRY_LOADFRAME);
if (entry != NULL) {
LinkAnimationHeader* linkAnimHeader = SEGMENTED_TO_VIRTUAL(segment);
- u32 ram = drawTbl;
+ u32 ram = frameTable;
- osCreateMesgQueue(&entry->data.type0.msgQueue, &entry->data.type0.msg, 1);
- DmaMgr_SendRequest2(&entry->data.type0.req, ram,
+ osCreateMesgQueue(&entry->data.load.msgQueue, &entry->data.load.msg, 1);
+ DmaMgr_SendRequest2(&entry->data.load.req, ram,
LINK_ANIMATION_OFFSET(linkAnimHeader->segment, ((sizeof(Vec3s) * limbCount + 2) * frame)),
- sizeof(Vec3s) * limbCount + 2, 0, &entry->data.type0.msgQueue, NULL, "../z_skelanime.c",
+ sizeof(Vec3s) * limbCount + 2, 0, &entry->data.load.msgQueue, NULL, "../z_skelanime.c",
2004);
}
}
-void SkelAnime_LoadAnimationType1(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src) {
- AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE1);
+/**
+ * Requests copying all vectors from src into dst
+ */
+void AnimationContext_SetCopyAll(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src) {
+ AnimationEntry* entry = AnimationContext_AddEntry(&globalCtx->animationCtx, ANIMENTRY_COPYALL);
if (entry != NULL) {
- entry->data.type1.unk_00 = D_801600B0;
- entry->data.type1.vecCount = vecCount;
- entry->data.type1.dst = dst;
- entry->data.type1.src = src;
+ entry->data.copy.queueFlag = sAnimQueueFlags;
+ entry->data.copy.vecCount = vecCount;
+ entry->data.copy.dst = dst;
+ entry->data.copy.src = src;
}
}
-void SkelAnime_LoadAnimationType2(GlobalContext* globalCtx, s32 limbCount, Vec3s* arg2, Vec3s* arg3, f32 arg4) {
- AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE2);
+/**
+ * Requests interpolating between base and mod with the given weight, placing the result in base
+ */
+void AnimationContext_SetInterp(GlobalContext* globalCtx, s32 vecCount, Vec3s* base, Vec3s* mod, f32 weight) {
+ AnimationEntry* entry = AnimationContext_AddEntry(&globalCtx->animationCtx, ANIMENTRY_INTERP);
if (entry != NULL) {
- entry->data.type2.unk_00 = D_801600B0;
- entry->data.type2.limbCount = limbCount;
- entry->data.type2.unk_04 = arg2;
- entry->data.type2.unk_08 = arg3;
- entry->data.type2.unk_0C = arg4;
+ entry->data.interp.queueFlag = sAnimQueueFlags;
+ entry->data.interp.vecCount = vecCount;
+ entry->data.interp.base = base;
+ entry->data.interp.mod = mod;
+ entry->data.interp.weight = weight;
}
}
-void SkelAnime_LoadAnimationType3(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* index) {
- AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE3);
+/**
+ * Requests copying vectors from src to dst whose copy flag is true
+ */
+void AnimationContext_SetCopyTrue(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* copyFlag) {
+ AnimationEntry* entry = AnimationContext_AddEntry(&globalCtx->animationCtx, ANIMENTRY_COPYTRUE);
if (entry != NULL) {
- entry->data.type3.unk_00 = D_801600B0;
- entry->data.type3.vecCount = vecCount;
- entry->data.type3.dst = dst;
- entry->data.type3.src = src;
- entry->data.type3.index = index;
+ entry->data.copy1.queueFlag = sAnimQueueFlags;
+ entry->data.copy1.vecCount = vecCount;
+ entry->data.copy1.dst = dst;
+ entry->data.copy1.src = src;
+ entry->data.copy1.copyFlag = copyFlag;
}
}
-void SkelAnime_LoadAnimationType4(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* index) {
- AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE4);
+/**
+ * Requests copying vectors from src to dst whose copy flag is false
+ */
+void AnimationContext_SetCopyFalse(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* copyFlag) {
+ AnimationEntry* entry = AnimationContext_AddEntry(&globalCtx->animationCtx, ANIMENTRY_COPYFALSE);
if (entry != NULL) {
- entry->data.type4.unk_00 = D_801600B0;
- entry->data.type4.vecCount = vecCount;
- entry->data.type4.dst = dst;
- entry->data.type4.src = src;
- entry->data.type4.index = index;
+ entry->data.copy0.queueFlag = sAnimQueueFlags;
+ entry->data.copy0.vecCount = vecCount;
+ entry->data.copy0.dst = dst;
+ entry->data.copy0.src = src;
+ entry->data.copy0.copyFlag = copyFlag;
}
}
-void SkelAnime_LoadAnimationType5(GlobalContext* globalCtx, Actor* actor, SkelAnime* skelAnime, f32 arg3) {
- AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE5);
+/**
+ * Requests moving an actor according to the translation of its root limb
+ */
+void AnimationContext_SetMoveActor(GlobalContext* globalCtx, Actor* actor, SkelAnime* skelAnime, f32 arg3) {
+ AnimationEntry* entry = AnimationContext_AddEntry(&globalCtx->animationCtx, ANIMENTRY_MOVEACTOR);
if (entry != NULL) {
- entry->data.type5.actor = actor;
- entry->data.type5.skelAnime = skelAnime;
- entry->data.type5.unk_08 = arg3;
+ entry->data.move.actor = actor;
+ entry->data.move.skelAnime = skelAnime;
+ entry->data.move.unk_08 = arg3;
}
}
-// The next functions are callbacks to loading animations
-
-void SkelAnime_LinkAnimationLoaded(GlobalContext* globalCtx, AnimationEntryData* data) {
- AnimationEntryType0* entry = &data->type0;
+/**
+ * Receives the request for Link's animation frame data
+ */
+void AnimationContext_LoadFrame(GlobalContext* globalCtx, AnimationEntryData* data) {
+ AnimEntryLoadFrame* entry = &data->load;
osRecvMesg(&entry->msgQueue, NULL, OS_MESG_BLOCK);
}
-void SkelAnime_AnimationType1Loaded(GlobalContext* globalCtx, AnimationEntryData* data) {
- AnimationEntryType1* entry = &data->type1;
+/**
+ * If the entry's queue is enabled, copies all vectors from src to dst
+ */
+void AnimationContext_CopyAll(GlobalContext* globalCtx, AnimationEntryData* data) {
+ AnimEntryCopyAll* entry = &data->copy;
- if (!(entry->unk_00 & D_8012A480)) {
+ if (!(entry->queueFlag & sDisableAnimQueueFlags)) {
Vec3s* dst = entry->dst;
Vec3s* src = entry->src;
s32 i;
@@ -938,77 +977,92 @@ void SkelAnime_AnimationType1Loaded(GlobalContext* globalCtx, AnimationEntryData
}
}
-void SkelAnime_AnimationType2Loaded(GlobalContext* globalCtx, AnimationEntryData* data) {
- AnimationEntryType2* entry = &data->type2;
+/**
+ * If the entry's queue is enabled, interpolates between base and mod, placing the result in base
+ */
+void AnimationContext_Interp(GlobalContext* globalCtx, AnimationEntryData* data) {
+ AnimEntryInterp* entry = &data->interp;
- if (!(entry->unk_00 & D_8012A480)) {
- SkelAnime_InterpolateVec3s(entry->limbCount, entry->unk_04, entry->unk_04, entry->unk_08, entry->unk_0C);
+ if (!(entry->queueFlag & sDisableAnimQueueFlags)) {
+ SkelAnime_InterpVec3s(entry->vecCount, entry->base, entry->base, entry->mod, entry->weight);
}
}
-void SkelAnime_AnimationType3Loaded(GlobalContext* globalCtx, AnimationEntryData* data) {
- AnimationEntryType3* entry = &data->type3;
+/**
+ * If the entry's queue is enabled, copies all vectors from src to dst whose copy flag is true
+ */
+void AnimationContext_CopyTrue(GlobalContext* globalCtx, AnimationEntryData* data) {
+ AnimEntryCopyTrue* entry = &data->copy1;
- if (!(entry->unk_00 & D_8012A480)) {
+ if (!(entry->queueFlag & sDisableAnimQueueFlags)) {
Vec3s* dst = entry->dst;
Vec3s* src = entry->src;
- u8* index = entry->index;
+ u8* copyFlag = entry->copyFlag;
s32 i;
for (i = 0; i < entry->vecCount; i++, dst++, src++) {
- if (*index++) {
+ if (*copyFlag++) {
*dst = *src;
}
}
}
}
-void SkelAnime_AnimationType4Loaded(GlobalContext* globalCtx, AnimationEntryData* data) {
- AnimationEntryType4* entry = &data->type4;
+/**
+ * If the entry's queue is enabled, copies all vectors from src to dst whose copy flag is false
+ */
+void AnimationContext_CopyFalse(GlobalContext* globalCtx, AnimationEntryData* data) {
+ AnimEntryCopyFalse* entry = &data->copy0;
- if (!(entry->unk_00 & D_8012A480)) {
+ if (!(entry->queueFlag & sDisableAnimQueueFlags)) {
Vec3s* dst = entry->dst;
Vec3s* src = entry->src;
- u8* index = entry->index;
+ u8* copyFlag = entry->copyFlag;
s32 i;
for (i = 0; i < entry->vecCount; i++, dst++, src++) {
- if (!(*index++)) {
+ if (!(*copyFlag++)) {
*dst = *src;
}
}
}
}
-void SkelAnime_AnimationType5Loaded(GlobalContext* globalCtx, AnimationEntryData* data) {
- AnimationEntryType5* entry = &data->type5;
+/**
+ * Moves an actor according to the translation of its root limb
+ */
+void AnimationContext_MoveActor(GlobalContext* globalCtx, AnimationEntryData* data) {
+ AnimEntryMoveActor* entry = &data->move;
Actor* actor = entry->actor;
- Vec3f pos;
+ Vec3f diff;
- func_800A54FC(entry->skelAnime, &pos, actor->shape.rot.y);
- actor->posRot.pos.x += pos.x * actor->scale.x;
- actor->posRot.pos.y += pos.y * actor->scale.y * entry->unk_08;
- actor->posRot.pos.z += pos.z * actor->scale.z;
+ SkelAnime_UpdateTranslation(entry->skelAnime, &diff, actor->shape.rot.y);
+ actor->posRot.pos.x += diff.x * actor->scale.x;
+ actor->posRot.pos.y += diff.y * actor->scale.y * entry->unk_08;
+ actor->posRot.pos.z += diff.z * actor->scale.z;
}
-void func_800A390C(GlobalContext* globalCtx, AnimationContext* animationCtx) {
- static AnimationEntryCallback sAnimationLoadDone[] = {
- SkelAnime_LinkAnimationLoaded, SkelAnime_AnimationType1Loaded, SkelAnime_AnimationType2Loaded,
- SkelAnime_AnimationType3Loaded, SkelAnime_AnimationType4Loaded, SkelAnime_AnimationType5Loaded,
+/**
+ * Performs all requests in the animation queue, then resets the queue flags.
+ */
+void AnimationContext_Update(GlobalContext* globalCtx, AnimationContext* animationCtx) {
+ static AnimationEntryCallback animFuncs[] = {
+ AnimationContext_LoadFrame, AnimationContext_CopyAll, AnimationContext_Interp,
+ AnimationContext_CopyTrue, AnimationContext_CopyFalse, AnimationContext_MoveActor,
};
AnimationEntry* entry;
for (entry = animationCtx->entries; animationCtx->animationCount != 0; entry++, animationCtx->animationCount--) {
- sAnimationLoadDone[entry->type](globalCtx, &entry->data);
+ animFuncs[entry->type](globalCtx, &entry->data);
}
- D_801600B0 = 1;
- D_8012A480 = 0;
+ sAnimQueueFlags = 1;
+ sDisableAnimQueueFlags = 0;
}
-void SkelAnime_InitLinkAnimation(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
- LinkAnimationHeader* segment, s32 flags, Vec3s* limbDrawTbl, Vec3s* transitionDrawTbl,
- s32 limbBufCount) {
+void SkelAnime_InitLink(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
+ LinkAnimationHeader* segment, s32 flags, Vec3s* jointTable, Vec3s* morphTable,
+ s32 limbBufCount) {
FlexSkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg);
s32 headerJointCount = skeletonHeader->sh.limbCount;
s32 limbCount;
@@ -1034,634 +1088,657 @@ void SkelAnime_InitLinkAnimation(GlobalContext* globalCtx, SkelAnime* skelAnime,
allocSize += 2;
}
- if (limbDrawTbl == NULL) {
- skelAnime->limbDrawTbl = ZeldaArena_MallocDebug(allocSize, "../z_skelanime.c", 2364);
- skelAnime->transitionDrawTbl = ZeldaArena_MallocDebug(allocSize, "../z_skelanime.c", 2365);
+ if (jointTable == NULL) {
+ skelAnime->jointTable = ZeldaArena_MallocDebug(allocSize, "../z_skelanime.c", 2364);
+ skelAnime->morphTable = ZeldaArena_MallocDebug(allocSize, "../z_skelanime.c", 2365);
} else {
if (limbBufCount != limbCount) {
__assert("joint_buff_num == joint_num", "../z_skelanime.c", 2369);
}
- skelAnime->limbDrawTbl = (Vec3s*)ALIGN16((u32)limbDrawTbl);
- skelAnime->transitionDrawTbl = (Vec3s*)ALIGN16((u32)transitionDrawTbl);
+ skelAnime->jointTable = (Vec3s*)ALIGN16((u32)jointTable);
+ skelAnime->morphTable = (Vec3s*)ALIGN16((u32)morphTable);
}
- if ((skelAnime->limbDrawTbl == NULL) || (skelAnime->transitionDrawTbl == NULL)) {
+ if ((skelAnime->jointTable == NULL) || (skelAnime->morphTable == NULL)) {
osSyncPrintf(VT_FGCOL(RED));
osSyncPrintf(
"Skeleton_Info_Rom_SV_ct メモリアロケーションエラー\n"); // Skeleton_Info_Rom_SV_ct Memory allocation error
osSyncPrintf(VT_RST);
}
- SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, segment, 1.0f, 0.0f, 0.0f, 0, 0.0f);
+ LinkAnimation_Change(globalCtx, skelAnime, segment, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f);
}
-void func_800A3B8C(SkelAnime* skelAnime) {
- if (skelAnime->mode < 2) {
- skelAnime->update = func_800A3D70;
+void LinkAnimation_SetUpdateFunction(SkelAnime* skelAnime) {
+ if (skelAnime->mode <= ANIMMODE_LOOP_INTERP) {
+ skelAnime->update = LinkAnimation_Loop;
} else {
- skelAnime->update = func_800A3E0C;
+ skelAnime->update = LinkAnimation_Once;
}
- skelAnime->transCurrentFrame = 0.0f;
+ skelAnime->morphWeight = 0.0f;
}
-s32 func_800A3BC0(GlobalContext* globalCtx, SkelAnime* skelAnime) {
+s32 LinkAnimation_Update(GlobalContext* globalCtx, SkelAnime* skelAnime) {
return skelAnime->update(globalCtx, skelAnime);
}
-s32 func_800A3BE4(GlobalContext* globalCtx, SkelAnime* skelAnime) {
- f32 transPrevFRame = skelAnime->transCurrentFrame;
+s32 LinkAnimation_Morph(GlobalContext* globalCtx, SkelAnime* skelAnime) {
+ f32 prevMorphWeight = skelAnime->morphWeight;
f32 updateRate = R_UPDATE_RATE * 0.5f;
- skelAnime->transCurrentFrame -= skelAnime->transitionStep * updateRate;
+ skelAnime->morphWeight -= skelAnime->morphRate * updateRate;
- if (skelAnime->transCurrentFrame <= 0.0f) {
- func_800A3B8C(skelAnime);
+ if (skelAnime->morphWeight <= 0.0f) {
+ LinkAnimation_SetUpdateFunction(skelAnime);
}
- SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->transitionDrawTbl,
- 1.0f - (skelAnime->transCurrentFrame / transPrevFRame));
+ AnimationContext_SetInterp(globalCtx, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable,
+ 1.0f - (skelAnime->morphWeight / prevMorphWeight));
return 0;
}
-void func_800A3C9C(GlobalContext* globalCtx, SkelAnime* skelAnime) {
- SkelAnime_LoadLinkAnimation(globalCtx, skelAnime->animation, skelAnime->animCurrentFrame, skelAnime->limbCount,
- skelAnime->limbDrawTbl);
- if (skelAnime->transCurrentFrame != 0) {
+void LinkAnimation_AnimateFrame(GlobalContext* globalCtx, SkelAnime* skelAnime) {
+ AnimationContext_SetLoadFrame(globalCtx, skelAnime->animation, skelAnime->curFrame, skelAnime->limbCount,
+ skelAnime->jointTable);
+ if (skelAnime->morphWeight != 0) {
f32 updateRate = R_UPDATE_RATE * 0.5f;
- skelAnime->transCurrentFrame -= skelAnime->transitionStep * updateRate;
- if (skelAnime->transCurrentFrame <= 0.0f) {
- skelAnime->transCurrentFrame = 0.0f;
+ skelAnime->morphWeight -= skelAnime->morphRate * updateRate;
+ if (skelAnime->morphWeight <= 0.0f) {
+ skelAnime->morphWeight = 0.0f;
} else {
- SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl,
- skelAnime->transitionDrawTbl, skelAnime->transCurrentFrame);
+ AnimationContext_SetInterp(globalCtx, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable,
+ skelAnime->morphWeight);
}
}
}
-s32 func_800A3D70(GlobalContext* globalCtx, SkelAnime* skelAnime) {
+s32 LinkAnimation_Loop(GlobalContext* globalCtx, SkelAnime* skelAnime) {
f32 updateRate = R_UPDATE_RATE * 0.5f;
- skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate;
- if (skelAnime->animCurrentFrame < 0.0f) {
- skelAnime->animCurrentFrame += skelAnime->totalFrames;
- } else if (skelAnime->totalFrames <= skelAnime->animCurrentFrame) {
- skelAnime->animCurrentFrame -= skelAnime->totalFrames;
+ skelAnime->curFrame += skelAnime->playSpeed * updateRate;
+ if (skelAnime->curFrame < 0.0f) {
+ skelAnime->curFrame += skelAnime->animLength;
+ } else if (skelAnime->animLength <= skelAnime->curFrame) {
+ skelAnime->curFrame -= skelAnime->animLength;
}
- func_800A3C9C(globalCtx, skelAnime);
+ LinkAnimation_AnimateFrame(globalCtx, skelAnime);
return 0;
}
-s32 func_800A3E0C(GlobalContext* globalCtx, SkelAnime* skelAnime) {
+s32 LinkAnimation_Once(GlobalContext* globalCtx, SkelAnime* skelAnime) {
f32 updateRate = R_UPDATE_RATE * 0.5f;
- if (skelAnime->animCurrentFrame == skelAnime->animFrameCount) {
- func_800A3C9C(globalCtx, skelAnime);
+ if (skelAnime->curFrame == skelAnime->endFrame) {
+ LinkAnimation_AnimateFrame(globalCtx, skelAnime);
return 1;
}
- skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate;
- if ((skelAnime->animCurrentFrame - skelAnime->animFrameCount) * skelAnime->animPlaybackSpeed > 0.0f) {
- skelAnime->animCurrentFrame = skelAnime->animFrameCount;
- } else if (skelAnime->animCurrentFrame < 0.0f) {
- skelAnime->animCurrentFrame += skelAnime->totalFrames;
- } else if (skelAnime->totalFrames <= skelAnime->animCurrentFrame) {
- skelAnime->animCurrentFrame -= skelAnime->totalFrames;
+ skelAnime->curFrame += skelAnime->playSpeed * updateRate;
+ if ((skelAnime->curFrame - skelAnime->endFrame) * skelAnime->playSpeed > 0.0f) {
+ skelAnime->curFrame = skelAnime->endFrame;
+ } else if (skelAnime->curFrame < 0.0f) {
+ skelAnime->curFrame += skelAnime->animLength;
+ } else if (skelAnime->animLength <= skelAnime->curFrame) {
+ skelAnime->curFrame -= skelAnime->animLength;
}
- func_800A3C9C(globalCtx, skelAnime);
+ LinkAnimation_AnimateFrame(globalCtx, skelAnime);
return 0;
}
-void SkelAnime_SetTransition(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 transitionRate) {
- skelAnime->transCurrentFrame = 1.0f;
- skelAnime->transitionStep = 1.0f / transitionRate;
+void Animation_SetMorph(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 morphFrames) {
+ skelAnime->morphWeight = 1.0f;
+ skelAnime->morphRate = 1.0f / morphFrames;
}
-void SkelAnime_ChangeLinkAnim(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
- f32 playbackSpeed, f32 frame, f32 frameCount, u8 animationMode, f32 transitionRate) {
- skelAnime->mode = animationMode;
- if ((transitionRate != 0.0f) && ((segment != skelAnime->animation) || (frame != skelAnime->animCurrentFrame))) {
- if (transitionRate < 0) {
- func_800A3B8C(skelAnime);
- SkelAnime_CopyVec3s(skelAnime, skelAnime->transitionDrawTbl, skelAnime->limbDrawTbl);
- transitionRate = -transitionRate;
+void LinkAnimation_Change(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 playSpeed,
+ f32 startFrame, f32 endFrame, u8 mode, f32 morphFrames) {
+ skelAnime->mode = mode;
+ if ((morphFrames != 0.0f) && ((segment != skelAnime->animation) || (startFrame != skelAnime->curFrame))) {
+ if (morphFrames < 0) {
+ LinkAnimation_SetUpdateFunction(skelAnime);
+ SkelAnime_CopyVec3s(skelAnime, skelAnime->morphTable, skelAnime->jointTable);
+ morphFrames = -morphFrames;
} else {
- skelAnime->update = func_800A3BE4;
- SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)frame, skelAnime->limbCount,
- skelAnime->transitionDrawTbl);
+ skelAnime->update = LinkAnimation_Morph;
+ AnimationContext_SetLoadFrame(globalCtx, segment, (s32)startFrame, skelAnime->limbCount,
+ skelAnime->morphTable);
}
- skelAnime->transCurrentFrame = 1.0f;
- skelAnime->transitionStep = 1.0f / transitionRate;
+ skelAnime->morphWeight = 1.0f;
+ skelAnime->morphRate = 1.0f / morphFrames;
} else {
- func_800A3B8C(skelAnime);
- SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)frame, skelAnime->limbCount, skelAnime->limbDrawTbl);
- skelAnime->transCurrentFrame = 0.0f;
+ LinkAnimation_SetUpdateFunction(skelAnime);
+ AnimationContext_SetLoadFrame(globalCtx, segment, (s32)startFrame, skelAnime->limbCount, skelAnime->jointTable);
+ skelAnime->morphWeight = 0.0f;
}
skelAnime->animation = segment;
- skelAnime->animCurrentFrame = 0.0f;
- skelAnime->initialFrame = frame;
- skelAnime->animCurrentFrame = frame;
- skelAnime->animFrameCount = frameCount;
- skelAnime->totalFrames = SkelAnime_GetTotalFrames(segment);
- skelAnime->animPlaybackSpeed = playbackSpeed;
+ skelAnime->curFrame = 0.0f;
+ skelAnime->startFrame = startFrame;
+ skelAnime->curFrame = startFrame;
+ skelAnime->endFrame = endFrame;
+ skelAnime->animLength = Animation_GetLength(segment);
+ skelAnime->playSpeed = playSpeed;
}
-void SkelAnime_ChangeLinkAnimDefaultStop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment) {
- SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, segment, 1.0f, 0.0f, SkelAnime_GetFrameCount(segment), 2, 0.0f);
+void LinkAnimation_PlayOnce(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment) {
+ LinkAnimation_Change(globalCtx, skelAnime, segment, 1.0f, 0.0f, Animation_GetLastFrame(segment), ANIMMODE_ONCE,
+ 0.0f);
}
-void SkelAnime_ChangeLinkAnimPlaybackStop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
- f32 playbackSpeed) {
- SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, segment, playbackSpeed, 0.0f, SkelAnime_GetFrameCount(segment), 2,
- 0.0f);
+void LinkAnimation_PlayOnceSetSpeed(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
+ f32 playSpeed) {
+ LinkAnimation_Change(globalCtx, skelAnime, segment, playSpeed, 0.0f, Animation_GetLastFrame(segment), ANIMMODE_ONCE,
+ 0.0f);
}
-void SkelAnime_ChangeLinkAnimDefaultRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime,
- LinkAnimationHeader* segment) {
- SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, segment, 1.0f, 0.0f, SkelAnime_GetFrameCount(segment), 0, 0.0f);
+void LinkAnimation_PlayLoop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment) {
+ LinkAnimation_Change(globalCtx, skelAnime, segment, 1.0f, 0.0f, Animation_GetLastFrame(segment), ANIMMODE_LOOP,
+ 0.0f);
}
-void SkelAnime_ChangeLinkAnimPlaybackRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime,
- LinkAnimationHeader* segment, f32 playbackSpeed) {
- SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, segment, playbackSpeed, 0.0f, SkelAnime_GetFrameCount(segment), 0,
- 0.0f);
+void LinkAnimation_PlayLoopSetSpeed(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
+ f32 playSpeed) {
+ LinkAnimation_Change(globalCtx, skelAnime, segment, playSpeed, 0.0f, Animation_GetLastFrame(segment), ANIMMODE_LOOP,
+ 0.0f);
}
-void func_800A41FC(GlobalContext* globalCtx, SkelAnime* skelAnime) {
- SkelAnime_LoadAnimationType1(globalCtx, skelAnime->limbCount, skelAnime->transitionDrawTbl, skelAnime->limbDrawTbl);
+/**
+ * Requests copying jointTable to morphTable
+ */
+void LinkAnimation_CopyJointToMorph(GlobalContext* globalCtx, SkelAnime* skelAnime) {
+ AnimationContext_SetCopyAll(globalCtx, skelAnime->limbCount, skelAnime->morphTable, skelAnime->jointTable);
}
-// Unused
-void func_800A422C(GlobalContext* globalCtx, SkelAnime* skelAnime) {
- SkelAnime_LoadAnimationType1(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->transitionDrawTbl);
+/**
+ * Requests copying morphTable to jointTable
+ * unused
+ */
+void LinkAnimation_CopyMorphToJoint(GlobalContext* globalCtx, SkelAnime* skelAnime) {
+ AnimationContext_SetCopyAll(globalCtx, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable);
}
-void func_800A425C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 frame) {
- SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)frame, skelAnime->limbCount, skelAnime->transitionDrawTbl);
+/**
+ * Requests loading frame data from the Link animation at segment into morphTable
+ */
+void LinkAnimation_LoadToMorph(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
+ f32 frame) {
+ AnimationContext_SetLoadFrame(globalCtx, segment, (s32)frame, skelAnime->limbCount, skelAnime->morphTable);
}
-void func_800A42A0(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 frame) {
- SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)frame, skelAnime->limbCount, skelAnime->limbDrawTbl);
+/**
+ * Requests loading frame data from the Link animation at segment into jointTable
+ */
+void LinkAnimation_LoadToJoint(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment,
+ f32 frame) {
+ AnimationContext_SetLoadFrame(globalCtx, segment, (s32)frame, skelAnime->limbCount, skelAnime->jointTable);
}
-void func_800A42E4(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 frame) {
- SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->transitionDrawTbl,
- frame);
+/**
+ * Requests interpolating between jointTable and morphTable, placing the result in jointTable
+ */
+void LinkAnimation_InterpJointMorph(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 weight) {
+ AnimationContext_SetInterp(globalCtx, skelAnime->limbCount, skelAnime->jointTable, skelAnime->morphTable, weight);
}
-void func_800A431C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 transitionFrame,
- LinkAnimationHeader* linkAnimSeg2, f32 frame, f32 transitionRate, Vec3s* limbDrawTbl) {
- Vec3s* alignedLimbDrawTbl;
+/**
+ * Requests loading frame data from the Link animation segments and blending them, placing the result in jointTable
+ */
+void LinkAnimation_BlendToJoint(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* animation1,
+ f32 frame1, LinkAnimationHeader* animation2, f32 frame2, f32 blendWeight,
+ Vec3s* blendTable) {
+ Vec3s* alignedBlendTable;
- SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)transitionFrame, skelAnime->limbCount, skelAnime->limbDrawTbl);
+ AnimationContext_SetLoadFrame(globalCtx, animation1, (s32)frame1, skelAnime->limbCount, skelAnime->jointTable);
- alignedLimbDrawTbl = (Vec3s*)ALIGN16((u32)limbDrawTbl);
+ alignedBlendTable = (Vec3s*)ALIGN16((u32)blendTable);
- SkelAnime_LoadLinkAnimation(globalCtx, linkAnimSeg2, (s32)frame, skelAnime->limbCount, alignedLimbDrawTbl);
- SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl, alignedLimbDrawTbl,
- transitionRate);
+ AnimationContext_SetLoadFrame(globalCtx, animation2, (s32)frame2, skelAnime->limbCount, alignedBlendTable);
+ AnimationContext_SetInterp(globalCtx, skelAnime->limbCount, skelAnime->jointTable, alignedBlendTable, blendWeight);
}
-void func_800A43B8(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 transitionFrame,
- LinkAnimationHeader* linkAnimSeg2, f32 frame, f32 transitionRate, Vec3s* limbDrawTbl) {
- Vec3s* alignedLimbDrawTbl;
+/**
+ * Requests loading frame data from the Link animation segments and blending them, placing the result in morphTable
+ */
+void LinkAnimation_BlendToMorph(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* animation1,
+ f32 frame1, LinkAnimationHeader* animation2, f32 frame2, f32 blendWeight,
+ Vec3s* blendTable) {
+ Vec3s* alignedBlendTable;
- SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)transitionFrame, skelAnime->limbCount,
- skelAnime->transitionDrawTbl);
+ AnimationContext_SetLoadFrame(globalCtx, animation1, (s32)frame1, skelAnime->limbCount, skelAnime->morphTable);
- alignedLimbDrawTbl = (Vec3s*)ALIGN16((u32)limbDrawTbl);
+ alignedBlendTable = (Vec3s*)ALIGN16((u32)blendTable);
- SkelAnime_LoadLinkAnimation(globalCtx, linkAnimSeg2, (s32)frame, skelAnime->limbCount, alignedLimbDrawTbl);
- SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->transitionDrawTbl, alignedLimbDrawTbl,
- transitionRate);
+ AnimationContext_SetLoadFrame(globalCtx, animation2, (s32)frame2, skelAnime->limbCount, alignedBlendTable);
+ AnimationContext_SetInterp(globalCtx, skelAnime->limbCount, skelAnime->morphTable, alignedBlendTable, blendWeight);
}
// unused
-void SkelAnime_SetModeStop(SkelAnime* skelAnime) {
- skelAnime->mode = 2;
- func_800A3B8C(skelAnime);
+void LinkAnimation_EndLoop(SkelAnime* skelAnime) {
+ skelAnime->mode = ANIMMODE_ONCE;
+ LinkAnimation_SetUpdateFunction(skelAnime);
}
-s32 func_800A4478(SkelAnime* skelAnime, f32 arg1, f32 updateRate) {
- f32 updateSpeed = skelAnime->animPlaybackSpeed * updateRate;
- f32 nextFrame = skelAnime->animCurrentFrame - updateSpeed;
- f32 temp_f12;
+s32 Animation_OnFrameImpl(SkelAnime* skelAnime, f32 frame, f32 updateRate) {
+ f32 updateSpeed = skelAnime->playSpeed * updateRate;
+ f32 prevFrame = skelAnime->curFrame - updateSpeed;
+ f32 curFrameDiff;
+ f32 prevFrameDiff;
- if (nextFrame < 0.0f) {
- nextFrame += skelAnime->totalFrames;
- } else if (skelAnime->totalFrames <= nextFrame) {
- nextFrame -= skelAnime->totalFrames;
+ if (prevFrame < 0.0f) {
+ prevFrame += skelAnime->animLength;
+ } else if (prevFrame >= skelAnime->animLength) {
+ prevFrame -= skelAnime->animLength;
}
- if ((arg1 == 0.0f) && (updateSpeed > 0.0f)) {
- arg1 = skelAnime->totalFrames;
+ if ((frame == 0.0f) && (updateSpeed > 0.0f)) {
+ frame = skelAnime->animLength;
}
- temp_f12 = nextFrame + updateSpeed - arg1;
- if ((temp_f12 * updateSpeed >= 0.0f) && (((temp_f12 - updateSpeed) * updateSpeed) < 0.0f)) {
- return 1;
+ curFrameDiff = prevFrame + updateSpeed - frame;
+ prevFrameDiff = curFrameDiff - updateSpeed;
+ if ((curFrameDiff * updateSpeed >= 0.0f) && (prevFrameDiff * updateSpeed < 0.0f)) {
+ return true;
}
- return 0;
+ return false;
}
-s32 func_800A4530(SkelAnime* skelAnime, f32 arg1) {
+s32 LinkAnimation_OnFrame(SkelAnime* skelAnime, f32 frame) {
f32 updateRate = R_UPDATE_RATE * 0.5f;
- return func_800A4478(skelAnime, arg1, updateRate);
+ return Animation_OnFrameImpl(skelAnime, frame, updateRate);
}
s32 SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg,
- AnimationHeader* animationSeg, Vec3s* limbDrawTbl, Vec3s* transitionDrawTable, s32 limbCount) {
+ AnimationHeader* animation, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount) {
SkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg);
skelAnime->limbCount = skeletonHeader->limbCount + 1;
skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->segment);
- if (limbDrawTbl == NULL) {
- skelAnime->limbDrawTbl =
- ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->limbDrawTbl), "../z_skelanime.c", 2968);
- skelAnime->transitionDrawTbl = ZeldaArena_MallocDebug(
- skelAnime->limbCount * sizeof(*skelAnime->transitionDrawTbl), "../z_skelanime.c", 2969);
+ if (jointTable == NULL) {
+ skelAnime->jointTable =
+ ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->jointTable), "../z_skelanime.c", 2968);
+ skelAnime->morphTable =
+ ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 2969);
} else {
if (limbCount != skelAnime->limbCount) {
__assert("joint_buff_num == this->joint_num", "../z_skelanime.c", 2973);
}
- skelAnime->limbDrawTbl = limbDrawTbl;
- skelAnime->transitionDrawTbl = transitionDrawTable;
+ skelAnime->jointTable = jointTable;
+ skelAnime->morphTable = morphTable;
}
- if ((skelAnime->limbDrawTbl == NULL) || (skelAnime->transitionDrawTbl == NULL)) {
+ if ((skelAnime->jointTable == NULL) || (skelAnime->morphTable == NULL)) {
osSyncPrintf(VT_FGCOL(RED));
osSyncPrintf("Skeleton_Info2_ct メモリアロケーションエラー\n"); // Skeleton_Info2_ct memory allocation error
osSyncPrintf(VT_RST);
}
- if (animationSeg != NULL) {
- SkelAnime_ChangeAnimDefaultRepeat(skelAnime, animationSeg);
+ if (animation != NULL) {
+ Animation_PlayLoop(skelAnime, animation);
}
}
s32 SkelAnime_InitFlex(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
- AnimationHeader* animationSeg, Vec3s* limbDrawTbl, Vec3s* transitionDrawTable, s32 limbCount) {
+ AnimationHeader* animation, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount) {
FlexSkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg);
skelAnime->limbCount = skeletonHeader->sh.limbCount + 1;
skelAnime->dListCount = skeletonHeader->dListCount;
skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->sh.segment);
- if (limbDrawTbl == NULL) {
- skelAnime->limbDrawTbl =
- ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->limbDrawTbl), "../z_skelanime.c", 3047);
+ if (jointTable == NULL) {
+ skelAnime->jointTable =
+ ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->jointTable), "../z_skelanime.c", 3047);
- skelAnime->transitionDrawTbl = ZeldaArena_MallocDebug(
- skelAnime->limbCount * sizeof(*skelAnime->transitionDrawTbl), "../z_skelanime.c", 3048);
+ skelAnime->morphTable =
+ ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 3048);
} else {
if (limbCount != skelAnime->limbCount) {
__assert("joint_buff_num == this->joint_num", "../z_skelanime.c", 3052);
}
- skelAnime->limbDrawTbl = limbDrawTbl;
- skelAnime->transitionDrawTbl = transitionDrawTable;
+ skelAnime->jointTable = jointTable;
+ skelAnime->morphTable = morphTable;
}
- if ((skelAnime->limbDrawTbl == NULL) || (skelAnime->transitionDrawTbl == NULL)) {
+ if ((skelAnime->jointTable == NULL) || (skelAnime->morphTable == NULL)) {
osSyncPrintf(VT_FGCOL(RED));
osSyncPrintf(
"Skeleton_Info_Rom_SV_ct メモリアロケーションエラー\n"); // Skeleton_Info_Rom_SV_ct Memory allocation error
osSyncPrintf(VT_RST);
}
- if (animationSeg != NULL) {
- SkelAnime_ChangeAnimDefaultRepeat(skelAnime, animationSeg);
+ if (animation != NULL) {
+ Animation_PlayLoop(skelAnime, animation);
}
}
-void SkelAnime_InitSkin(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg,
- AnimationHeader* animationSeg) {
+s32 SkelAnime_InitSkin(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg,
+ AnimationHeader* animation) {
SkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg);
skelAnime->limbCount = skeletonHeader->limbCount + 1;
skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->segment);
- skelAnime->limbDrawTbl =
- ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->limbDrawTbl), "../z_skelanime.c", 3120);
- skelAnime->transitionDrawTbl =
- ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->transitionDrawTbl), "../z_skelanime.c", 3121);
- if ((skelAnime->limbDrawTbl == NULL) || (skelAnime->transitionDrawTbl == NULL)) {
+ skelAnime->jointTable =
+ ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->jointTable), "../z_skelanime.c", 3120);
+ skelAnime->morphTable =
+ ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 3121);
+ if ((skelAnime->jointTable == NULL) || (skelAnime->morphTable == NULL)) {
osSyncPrintf(VT_FGCOL(RED));
osSyncPrintf(
"Skeleton_Info2_skin2_ct メモリアロケーションエラー\n"); // Skeleton_Info2_skin2_ct Memory allocation error
osSyncPrintf(VT_RST);
}
- if (animationSeg != NULL) {
- SkelAnime_ChangeAnimDefaultRepeat(skelAnime, animationSeg);
+ if (animation != NULL) {
+ Animation_PlayLoop(skelAnime, animation);
}
}
-void func_800A49B0(SkelAnime* skelAnime) {
- if (skelAnime->mode < 2) {
- skelAnime->update = func_800A4D9C;
- } else if (skelAnime->mode < 4) {
- skelAnime->update = func_800A4EE0;
+void SkelAnime_SetUpdate(SkelAnime* skelAnime) {
+ if (skelAnime->mode <= ANIMMODE_LOOP_INTERP) {
+ skelAnime->update = SkelAnime_LoopFull;
+ } else if (skelAnime->mode <= ANIMMODE_ONCE_INTERP) {
+ skelAnime->update = SkelAnime_Once;
} else {
- skelAnime->update = func_800A4E38;
+ skelAnime->update = SkelAnime_LoopPartial;
}
}
-s32 SkelAnime_FrameUpdateMatrix(SkelAnime* skelAnime) {
+s32 SkelAnime_Update(SkelAnime* skelAnime) {
return skelAnime->update(skelAnime);
}
-s32 func_800A4A20(SkelAnime* skelAnime) {
- f32 transPrevFrame = skelAnime->transCurrentFrame;
+s32 SkelAnime_Morph(SkelAnime* skelAnime) {
+ f32 prevMorphWeight = skelAnime->morphWeight;
f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f);
- skelAnime->transCurrentFrame -= skelAnime->transitionStep * updateRate;
- if (skelAnime->transCurrentFrame <= 0.0f) {
- func_800A49B0(skelAnime);
- skelAnime->transCurrentFrame = 0.0f;
+ skelAnime->morphWeight -= skelAnime->morphRate * updateRate;
+ if (skelAnime->morphWeight <= 0.0f) {
+ SkelAnime_SetUpdate(skelAnime);
+ skelAnime->morphWeight = 0.0f;
}
- SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->limbDrawTbl,
- skelAnime->transitionDrawTbl, 1.0f - (skelAnime->transCurrentFrame / transPrevFrame));
+ SkelAnime_InterpVec3s(skelAnime->limbCount, skelAnime->jointTable, skelAnime->jointTable, skelAnime->morphTable,
+ 1.0f - (skelAnime->morphWeight / prevMorphWeight));
return 0;
}
-s32 func_800A4AD8(SkelAnime* skelAnime) {
- s16 temp_a2 = skelAnime->transCurrentFrame * 0x4000;
- s16 temp_a1;
- f32 sp28;
- f32 phi_f2;
+s32 SkelAnime_MorphTaper(SkelAnime* skelAnime) {
+ s16 prevPhase = skelAnime->morphWeight * 0x4000;
+ s16 curPhase;
+ f32 prevWeight;
+ f32 curWeight;
f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f);
- skelAnime->transCurrentFrame -= skelAnime->transitionStep * updateRate;
- if (skelAnime->transCurrentFrame <= 0.0f) {
- func_800A49B0(skelAnime);
- skelAnime->transCurrentFrame = 0.0f;
+ skelAnime->morphWeight -= skelAnime->morphRate * updateRate;
+ if (skelAnime->morphWeight <= 0.0f) {
+ SkelAnime_SetUpdate(skelAnime);
+ skelAnime->morphWeight = 0.0f;
}
- temp_a1 = skelAnime->transCurrentFrame * 0x4000;
- if (skelAnime->unk_03 < 0) {
- sp28 = 1.0f - Math_CosS(temp_a2);
- phi_f2 = 1.0f - Math_CosS(temp_a1);
+ curPhase = skelAnime->morphWeight * 0x4000;
+ if (skelAnime->taper <= ANIMTAPER_DECEL) {
+ prevWeight = 1.0f - Math_CosS(prevPhase);
+ curWeight = 1.0f - Math_CosS(curPhase);
} else {
- sp28 = Math_SinS(temp_a2);
- phi_f2 = Math_SinS(temp_a1);
+ prevWeight = Math_SinS(prevPhase);
+ curWeight = Math_SinS(curPhase);
}
- if (phi_f2 != 0.0f) {
- phi_f2 /= sp28;
+ if (curWeight != 0.0f) {
+ curWeight /= prevWeight;
} else {
- phi_f2 = 0.0f;
+ curWeight = 0.0f;
}
- SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->limbDrawTbl,
- skelAnime->transitionDrawTbl, 1.0f - phi_f2);
+ SkelAnime_InterpVec3s(skelAnime->limbCount, skelAnime->jointTable, skelAnime->jointTable, skelAnime->morphTable,
+ 1.0f - curWeight);
return 0;
}
-void func_800A4C58(SkelAnime* skelAnime) {
- Vec3s sp38[100];
+void SkelAnime_AnimateFrame(SkelAnime* skelAnime) {
+ Vec3s nextjointTable[100];
- SkelAnime_AnimateFrame(skelAnime->animation, skelAnime->animCurrentFrame, skelAnime->limbCount,
- skelAnime->limbDrawTbl);
- if (skelAnime->mode & 1) {
- s32 t = skelAnime->animCurrentFrame;
- f32 sp30 = skelAnime->animCurrentFrame - t;
+ SkelAnime_GetFrameData(skelAnime->animation, skelAnime->curFrame, skelAnime->limbCount, skelAnime->jointTable);
+ if (skelAnime->mode & ANIM_INTERP) {
+ s32 frame = skelAnime->curFrame;
+ f32 partialFrame = skelAnime->curFrame - frame;
- if (++t >= (s32)skelAnime->totalFrames) {
- t = 0;
+ if (++frame >= (s32)skelAnime->animLength) {
+ frame = 0;
}
- SkelAnime_AnimateFrame(skelAnime->animation, t, skelAnime->limbCount, sp38);
- SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->limbDrawTbl, sp38, sp30);
+ SkelAnime_GetFrameData(skelAnime->animation, frame, skelAnime->limbCount, nextjointTable);
+ SkelAnime_InterpVec3s(skelAnime->limbCount, skelAnime->jointTable, skelAnime->jointTable, nextjointTable,
+ partialFrame);
}
- if (skelAnime->transCurrentFrame != 0) {
+ if (skelAnime->morphWeight != 0) {
f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f);
- skelAnime->transCurrentFrame -= skelAnime->transitionStep * updateRate;
- if (skelAnime->transCurrentFrame <= 0.0f) {
- skelAnime->transCurrentFrame = 0.0f;
+ skelAnime->morphWeight -= skelAnime->morphRate * updateRate;
+ if (skelAnime->morphWeight <= 0.0f) {
+ skelAnime->morphWeight = 0.0f;
} else {
- SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->limbDrawTbl,
- skelAnime->transitionDrawTbl, skelAnime->transCurrentFrame);
+ SkelAnime_InterpVec3s(skelAnime->limbCount, skelAnime->jointTable, skelAnime->jointTable,
+ skelAnime->morphTable, skelAnime->morphWeight);
}
}
}
-s32 func_800A4D9C(SkelAnime* skelAnime) {
+s32 SkelAnime_LoopFull(SkelAnime* skelAnime) {
f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f);
- skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate;
- if (skelAnime->animCurrentFrame < 0.0f) {
- skelAnime->animCurrentFrame += skelAnime->totalFrames;
- } else if (skelAnime->totalFrames <= skelAnime->animCurrentFrame) {
- skelAnime->animCurrentFrame -= skelAnime->totalFrames;
+ skelAnime->curFrame += skelAnime->playSpeed * updateRate;
+ if (skelAnime->curFrame < 0.0f) {
+ skelAnime->curFrame += skelAnime->animLength;
+ } else if (skelAnime->animLength <= skelAnime->curFrame) {
+ skelAnime->curFrame -= skelAnime->animLength;
}
- func_800A4C58(skelAnime);
+ SkelAnime_AnimateFrame(skelAnime);
return 0;
}
-s32 func_800A4E38(SkelAnime* skelAnime) {
+s32 SkelAnime_LoopPartial(SkelAnime* skelAnime) {
f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f);
- skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate;
- if (skelAnime->animCurrentFrame < skelAnime->initialFrame) {
- skelAnime->animCurrentFrame =
- (skelAnime->animCurrentFrame - skelAnime->initialFrame) + skelAnime->animFrameCount;
- } else if (skelAnime->animFrameCount <= skelAnime->animCurrentFrame) {
- skelAnime->animCurrentFrame =
- (skelAnime->animCurrentFrame - skelAnime->animFrameCount) + skelAnime->initialFrame;
+ skelAnime->curFrame += skelAnime->playSpeed * updateRate;
+ if (skelAnime->curFrame < skelAnime->startFrame) {
+ skelAnime->curFrame = (skelAnime->curFrame - skelAnime->startFrame) + skelAnime->endFrame;
+ } else if (skelAnime->endFrame <= skelAnime->curFrame) {
+ skelAnime->curFrame = (skelAnime->curFrame - skelAnime->endFrame) + skelAnime->startFrame;
}
- func_800A4C58(skelAnime);
+ SkelAnime_AnimateFrame(skelAnime);
return 0;
}
-s32 func_800A4EE0(SkelAnime* skelAnime) {
+s32 SkelAnime_Once(SkelAnime* skelAnime) {
f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f);
- if (skelAnime->animCurrentFrame == skelAnime->animFrameCount) {
- SkelAnime_AnimateFrame(skelAnime->animation, (s32)skelAnime->animCurrentFrame, skelAnime->limbCount,
- skelAnime->limbDrawTbl);
- func_800A4C58(skelAnime);
+ if (skelAnime->curFrame == skelAnime->endFrame) {
+ SkelAnime_GetFrameData(skelAnime->animation, (s32)skelAnime->curFrame, skelAnime->limbCount,
+ skelAnime->jointTable);
+ SkelAnime_AnimateFrame(skelAnime);
return 1;
}
- skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate;
+ skelAnime->curFrame += skelAnime->playSpeed * updateRate;
- if ((skelAnime->animCurrentFrame - skelAnime->animFrameCount) * skelAnime->animPlaybackSpeed > 0.0f) {
- skelAnime->animCurrentFrame = skelAnime->animFrameCount;
- } else if (skelAnime->animCurrentFrame < 0.0f) {
- skelAnime->animCurrentFrame += skelAnime->totalFrames;
- } else if (skelAnime->totalFrames <= skelAnime->animCurrentFrame) {
- skelAnime->animCurrentFrame -= skelAnime->totalFrames;
+ if ((skelAnime->curFrame - skelAnime->endFrame) * skelAnime->playSpeed > 0.0f) {
+ skelAnime->curFrame = skelAnime->endFrame;
+ } else if (skelAnime->curFrame < 0.0f) {
+ skelAnime->curFrame += skelAnime->animLength;
+ } else if (skelAnime->animLength <= skelAnime->curFrame) {
+ skelAnime->curFrame -= skelAnime->animLength;
}
- func_800A4C58(skelAnime);
+ SkelAnime_AnimateFrame(skelAnime);
return 0;
}
-void SkelAnime_ChangeAnimImpl(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 playbackSpeed, f32 frame,
- f32 frameCount, u8 animationType, f32 transitionRate, s8 unk2) {
- skelAnime->mode = animationType;
- if ((transitionRate != 0.0f) &&
- ((animationSeg != skelAnime->animation) || (frame != skelAnime->animCurrentFrame))) {
- if (transitionRate < 0) {
- func_800A49B0(skelAnime);
- SkelAnime_CopyVec3s(skelAnime, skelAnime->transitionDrawTbl, skelAnime->limbDrawTbl);
- transitionRate = -transitionRate;
+void Animation_ChangeImpl(SkelAnime* skelAnime, AnimationHeader* animation, f32 playSpeed, f32 startFrame, f32 endFrame,
+ u8 mode, f32 morphFrames, s8 taper) {
+ skelAnime->mode = mode;
+ if ((morphFrames != 0.0f) && ((animation != skelAnime->animation) || (startFrame != skelAnime->curFrame))) {
+ if (morphFrames < 0) {
+ SkelAnime_SetUpdate(skelAnime);
+ SkelAnime_CopyVec3s(skelAnime, skelAnime->morphTable, skelAnime->jointTable);
+ morphFrames = -morphFrames;
} else {
- if (unk2 != 0) {
- skelAnime->update = func_800A4AD8;
- skelAnime->unk_03 = unk2;
+ if (taper != ANIMTAPER_NONE) {
+ skelAnime->update = SkelAnime_MorphTaper;
+ skelAnime->taper = taper;
} else {
- skelAnime->update = func_800A4A20;
+ skelAnime->update = SkelAnime_Morph;
}
- SkelAnime_AnimateFrame(animationSeg, frame, skelAnime->limbCount, skelAnime->transitionDrawTbl);
+ SkelAnime_GetFrameData(animation, startFrame, skelAnime->limbCount, skelAnime->morphTable);
}
- skelAnime->transCurrentFrame = 1.0f;
- skelAnime->transitionStep = 1.0f / transitionRate;
+ skelAnime->morphWeight = 1.0f;
+ skelAnime->morphRate = 1.0f / morphFrames;
} else {
- func_800A49B0(skelAnime);
- SkelAnime_AnimateFrame(animationSeg, frame, skelAnime->limbCount, skelAnime->limbDrawTbl);
- skelAnime->transCurrentFrame = 0.0f;
+ SkelAnime_SetUpdate(skelAnime);
+ SkelAnime_GetFrameData(animation, startFrame, skelAnime->limbCount, skelAnime->jointTable);
+ skelAnime->morphWeight = 0.0f;
}
- skelAnime->animation = animationSeg;
- skelAnime->initialFrame = frame;
- skelAnime->animFrameCount = frameCount;
- skelAnime->totalFrames = SkelAnime_GetTotalFrames(animationSeg);
- if (skelAnime->mode >= 4) {
- skelAnime->animCurrentFrame = 0.0f;
+ skelAnime->animation = animation;
+ skelAnime->startFrame = startFrame;
+ skelAnime->endFrame = endFrame;
+ skelAnime->animLength = Animation_GetLength(animation);
+ if (skelAnime->mode >= ANIMMODE_LOOP_PARTIAL) {
+ skelAnime->curFrame = 0.0f;
} else {
- skelAnime->animCurrentFrame = frame;
- if (skelAnime->mode <= 1) {
- skelAnime->animFrameCount = skelAnime->totalFrames - 1.0f;
+ skelAnime->curFrame = startFrame;
+ if (skelAnime->mode <= ANIMMODE_LOOP_INTERP) {
+ skelAnime->endFrame = skelAnime->animLength - 1.0f;
}
}
- skelAnime->animPlaybackSpeed = playbackSpeed;
+ skelAnime->playSpeed = playSpeed;
}
-void SkelAnime_ChangeAnim(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 playbackSpeed, f32 frame,
- f32 frameCount, u8 mode, f32 transitionRate) {
- SkelAnime_ChangeAnimImpl(skelAnime, animationSeg, playbackSpeed, frame, frameCount, mode, transitionRate, 0);
+void Animation_Change(SkelAnime* skelAnime, AnimationHeader* animation, f32 playSpeed, f32 startFrame, f32 endFrame,
+ u8 mode, f32 morphFrames) {
+ Animation_ChangeImpl(skelAnime, animation, playSpeed, startFrame, endFrame, mode, morphFrames, ANIMTAPER_NONE);
}
-void SkelAnime_ChangeAnimDefaultStop(SkelAnime* skelAnime, AnimationHeader* animationSeg) {
- SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0.0f, SkelAnime_GetFrameCount(animationSeg), 2, 0.0f);
+void Animation_PlayOnce(SkelAnime* skelAnime, AnimationHeader* animation) {
+ Animation_Change(skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), ANIMMODE_ONCE, 0.0f);
}
-void SkelAnime_ChangeAnimTransitionStop(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 transitionRate) {
- SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0, SkelAnime_GetFrameCount(animationSeg), 2, transitionRate);
+void Animation_MorphToPlayOnce(SkelAnime* skelAnime, AnimationHeader* animation, f32 morphFrames) {
+ Animation_Change(skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), ANIMMODE_ONCE, morphFrames);
}
-void SkelAnime_ChangeAnimPlaybackStop(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 playbackSpeed) {
- SkelAnime_ChangeAnim(skelAnime, animationSeg, playbackSpeed, 0.0f, SkelAnime_GetFrameCount(animationSeg), 2, 0.0f);
+void Animation_PlayOnceSetSpeed(SkelAnime* skelAnime, AnimationHeader* animation, f32 playSpeed) {
+ Animation_Change(skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(animation), ANIMMODE_ONCE, 0.0f);
}
-void SkelAnime_ChangeAnimDefaultRepeat(SkelAnime* skelAnime, AnimationHeader* animationSeg) {
- SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0.0f, SkelAnime_GetFrameCount(animationSeg), 0, 0.0f);
+void Animation_PlayLoop(SkelAnime* skelAnime, AnimationHeader* animation) {
+ Animation_Change(skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), ANIMMODE_LOOP, 0.0f);
}
-void SkelAnime_ChangeAnimTransitionRepeat(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 transitionRate) {
- SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0.0f, 0.0f, 0, transitionRate);
+void Animation_MorphToLoop(SkelAnime* skelAnime, AnimationHeader* animation, f32 morphFrames) {
+ Animation_Change(skelAnime, animation, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, morphFrames);
}
-void SkelAnime_ChangeAnimPlaybackRepeat(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 playbackSpeed) {
- SkelAnime_ChangeAnim(skelAnime, animationSeg, playbackSpeed, 0.0f, SkelAnime_GetFrameCount(animationSeg), 0, 0.0f);
+void Animation_PlayLoopSetSpeed(SkelAnime* skelAnime, AnimationHeader* animation, f32 playSpeed) {
+ Animation_Change(skelAnime, animation, playSpeed, 0.0f, Animation_GetLastFrame(animation), ANIMMODE_LOOP, 0.0f);
}
// unused
-void SkelAnime_AnimSetStop(SkelAnime* skelAnime) {
- skelAnime->mode = 2;
- skelAnime->animFrameCount = skelAnime->totalFrames;
- func_800A49B0(skelAnime);
+void Animation_EndLoop(SkelAnime* skelAnime) {
+ skelAnime->mode = ANIMMODE_ONCE;
+ skelAnime->endFrame = skelAnime->animLength;
+ SkelAnime_SetUpdate(skelAnime);
}
-void SkelAnime_AnimReverse(SkelAnime* skelAnime) {
- f32 initialFrame = skelAnime->initialFrame;
+void Animation_Reverse(SkelAnime* skelAnime) {
+ f32 startFrame = skelAnime->startFrame;
- skelAnime->initialFrame = skelAnime->animFrameCount;
- skelAnime->animPlaybackSpeed = -skelAnime->animPlaybackSpeed;
- skelAnime->animFrameCount = initialFrame;
+ skelAnime->startFrame = skelAnime->endFrame;
+ skelAnime->playSpeed = -skelAnime->playSpeed;
+ skelAnime->endFrame = startFrame;
}
-void func_800A5428(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* index) {
+void SkelAnime_CopyVec3sTrue(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* copyFlag) {
s32 i;
for (i = 0; i < skelAnime->limbCount; i++, dst++, src++) {
- if (*index++) {
+ if (*copyFlag++) {
*dst = *src;
}
}
}
// unused
-void func_800A5490(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* arg3) {
+void SkelAnime_CopyVec3sFalse(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* copyFlag) {
s32 i;
for (i = 0; i < skelAnime->limbCount; i++, dst++, src++) {
- if (*arg3++ < 1U) {
+ if (!*copyFlag++) {
*dst = *src;
}
}
}
-/*
- * Moves `pos` backwards on the xz plane from `angle`
+/**
+ * Updates translation of the root limb and calculates `pos`, the difference between
+ * the old and new positions of the root limb as rotated by `angle`. Used to allow
+ * animations to change an actor's position.
*/
-void func_800A54FC(SkelAnime* skelAnime, Vec3f* pos, s16 angle) {
+void SkelAnime_UpdateTranslation(SkelAnime* skelAnime, Vec3f* diff, s16 angle) {
f32 x;
f32 z;
f32 sin;
f32 cos;
- if (skelAnime->flags & 0x10) {
- pos->x = pos->z = 0.0f;
+ if (skelAnime->moveFlags & ANIM_FLAG_NOMOVE) {
+ diff->x = diff->z = 0.0f;
} else {
// `angle` rotation around y axis.
- x = skelAnime->limbDrawTbl[0].x;
- z = skelAnime->limbDrawTbl[0].z;
+ x = skelAnime->jointTable[0].x;
+ z = skelAnime->jointTable[0].z;
sin = Math_SinS(angle);
cos = Math_CosS(angle);
- pos->x = x * cos + z * sin;
- pos->z = z * cos - x * sin;
- x = skelAnime->prevFramePos.x;
- z = skelAnime->prevFramePos.z;
- // `prevFrameRot` rotation around y axis.
- sin = Math_SinS(skelAnime->prevFrameRot);
- cos = Math_CosS(skelAnime->prevFrameRot);
- pos->x -= x * cos + z * sin;
- pos->z -= z * cos - x * sin;
+ diff->x = x * cos + z * sin;
+ diff->z = z * cos - x * sin;
+ x = skelAnime->prevTransl.x;
+ z = skelAnime->prevTransl.z;
+ // `prevRot` rotation around y axis.
+ sin = Math_SinS(skelAnime->prevRot);
+ cos = Math_CosS(skelAnime->prevRot);
+ diff->x -= x * cos + z * sin;
+ diff->z -= z * cos - x * sin;
}
- skelAnime->prevFrameRot = angle;
- skelAnime->prevFramePos.x = skelAnime->limbDrawTbl[0].x;
- skelAnime->limbDrawTbl[0].x = skelAnime->unk_3E.x;
- skelAnime->prevFramePos.z = skelAnime->limbDrawTbl[0].z;
- skelAnime->limbDrawTbl[0].z = skelAnime->unk_3E.z;
- if (skelAnime->flags & ANIM_FLAG_UPDATEXZ) {
- if (skelAnime->flags & ANIM_FLAG_UPDATEY) {
- pos->y = 0.0f;
+ skelAnime->prevRot = angle;
+ skelAnime->prevTransl.x = skelAnime->jointTable[0].x;
+ skelAnime->jointTable[0].x = skelAnime->baseTransl.x;
+ skelAnime->prevTransl.z = skelAnime->jointTable[0].z;
+ skelAnime->jointTable[0].z = skelAnime->baseTransl.z;
+ if (skelAnime->moveFlags & ANIM_FLAG_UPDATEY) {
+ if (skelAnime->moveFlags & ANIM_FLAG_NOMOVE) {
+ diff->y = 0.0f;
} else {
- pos->y = skelAnime->limbDrawTbl[0].y - skelAnime->prevFramePos.y;
+ diff->y = skelAnime->jointTable[0].y - skelAnime->prevTransl.y;
}
- skelAnime->prevFramePos.y = skelAnime->limbDrawTbl[0].y;
- skelAnime->limbDrawTbl[0].y = skelAnime->unk_3E.y;
+ skelAnime->prevTransl.y = skelAnime->jointTable[0].y;
+ skelAnime->jointTable[0].y = skelAnime->baseTransl.y;
} else {
- pos->y = 0.0f;
- skelAnime->prevFramePos.y = skelAnime->limbDrawTbl[0].y;
+ diff->y = 0.0f;
+ skelAnime->prevTransl.y = skelAnime->jointTable[0].y;
}
- skelAnime->flags &= ~ANIM_FLAG_UPDATEY;
+ skelAnime->moveFlags &= ~ANIM_FLAG_NOMOVE;
}
-s32 func_800A56C8(SkelAnime* skelAnime, f32 arg1) {
- return func_800A4478(skelAnime, arg1, 1.0f);
+s32 Animation_OnFrame(SkelAnime* skelAnime, f32 frame) {
+ return Animation_OnFrameImpl(skelAnime, frame, 1.0f);
}
void SkelAnime_Free(SkelAnime* skelAnime, GlobalContext* globalCtx) {
- if (skelAnime->limbDrawTbl != NULL) {
- ZeldaArena_FreeDebug(skelAnime->limbDrawTbl, "../z_skelanime.c", 3729);
+ if (skelAnime->jointTable != NULL) {
+ ZeldaArena_FreeDebug(skelAnime->jointTable, "../z_skelanime.c", 3729);
} else {
- osSyncPrintf("now_joint あきまへん!!\n"); // now_joint Akimane! !
+ osSyncPrintf("now_joint あきまへん!!\n"); // now_joint is freed! !
}
- if (skelAnime->transitionDrawTbl != NULL) {
- ZeldaArena_FreeDebug(skelAnime->transitionDrawTbl, "../z_skelanime.c", 3731);
+ if (skelAnime->morphTable != NULL) {
+ ZeldaArena_FreeDebug(skelAnime->morphTable, "../z_skelanime.c", 3731);
} else {
- osSyncPrintf("morf_joint あきまへん!!\n"); // "morf_joint Akimane !!"
+ osSyncPrintf("morf_joint あきまへん!!\n"); // "morf_joint is freed !!"
}
}
diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c
index ca8e3475c8..54bfe1e424 100644
--- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c
+++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c
@@ -49,7 +49,7 @@ void ArrowFire_Init(Actor* thisx, GlobalContext* globalCtx) {
this->radius = 0;
this->unk_158 = 1.0f;
ArrowFire_SetupAction(&this->actor, ArrowFire_Charge);
- Actor_SetScale(this, 0.01f);
+ Actor_SetScale(&this->actor, 0.01f);
this->alpha = 160;
this->timer = 0;
this->unk_15C = 0.0f;
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c
index 7d99a576ad..dc53b7a136 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c
+++ b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c
@@ -84,7 +84,7 @@ void BgHidanRsekizou_Init(Actor* thisx, GlobalContext* globalCtx) {
this->collider.list[i].dim.worldSphere.radius = this->collider.list[i].dim.modelSphere.radius;
}
this->burnFrame = 0;
- this->blastFrame = 0;
+ this->bendFrame = 0;
}
void BgHidanRsekizou_Destroy(Actor* thisx, GlobalContext* globalCtx) {
@@ -104,12 +104,12 @@ void BgHidanRsekizou_Update(Actor* thisx, GlobalContext* globalCtx) {
this->burnFrame = (this->burnFrame + 1) % 8;
- if (this->blastFrame != 0) {
- this->blastFrame--;
+ if (this->bendFrame != 0) {
+ this->bendFrame--;
}
- if (this->blastFrame == 0) {
- this->blastFrame = 3;
+ if (this->bendFrame == 0) {
+ this->bendFrame = 3;
}
this->dyna.actor.shape.rot.y += 0x180; // Approximately 2 Degrees per Frame
@@ -143,7 +143,7 @@ Gfx* BgHidanRsekizou_DrawFireball(GlobalContext* globalCtx, BgHidanRsekizou* thi
gSPSegment(displayList++, 0x09, SEGMENTED_TO_VIRTUAL(D_8088CD74[temp]));
frame++;
- fVar6 = (frame != 4) ? frame + ((3 - this->blastFrame) * 0.33333334f) : frame;
+ fVar6 = (frame != 4) ? frame + ((3 - this->bendFrame) * 0.33333334f) : frame;
gDPSetPrimColor(displayList++, 0, 1, 255, 255, 0, 150);
gDPSetEnvColor(displayList++, 255, 0, 0, 255);
diff --git a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.h b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.h
index fd44d68ef9..5a4f80a575 100644
--- a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.h
+++ b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.h
@@ -8,7 +8,7 @@ struct BgHidanRsekizou;
typedef struct BgHidanRsekizou {
/* 0x0000 */ DynaPolyActor dyna;
- /* 0x0164 */ s16 blastFrame;
+ /* 0x0164 */ s16 bendFrame;
/* 0x0166 */ s16 burnFrame;
/* 0x0168 */ ColliderJntSph collider;
/* 0x0188 */ ColliderJntSphItem colliderItems[6];
diff --git a/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c b/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c
index 870c6327ca..d8004c5113 100644
--- a/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c
+++ b/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c
@@ -173,7 +173,7 @@ void DemoEc_Init(Actor* thisx, GlobalContext* globalCtx) {
}
s32 DemoEc_UpdateSkelAnime(DemoEc* this) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
void DemoEc_UpdateBgFlags(DemoEc* this, GlobalContext* globalCtx) {
@@ -181,20 +181,20 @@ void DemoEc_UpdateBgFlags(DemoEc* this, GlobalContext* globalCtx) {
}
void func_8096D594(DemoEc* this, GlobalContext* globalCtx) {
- this->skelAnime.flags |= 3;
- SkelAnime_LoadAnimationType5(globalCtx, &this->actor, &this->skelAnime, 1.0f);
+ this->skelAnime.moveFlags |= 3;
+ AnimationContext_SetMoveActor(globalCtx, &this->actor, &this->skelAnime, 1.0f);
}
void func_8096D5D4(DemoEc* this, GlobalContext* globalCtx) {
- this->skelAnime.unk_3E = this->skelAnime.limbDrawTbl[0];
- this->skelAnime.prevFramePos = this->skelAnime.limbDrawTbl[0];
- this->skelAnime.flags |= 3;
- SkelAnime_LoadAnimationType5(globalCtx, &this->actor, &this->skelAnime, 1.0f);
+ this->skelAnime.baseTransl = this->skelAnime.jointTable[0];
+ this->skelAnime.prevTransl = this->skelAnime.jointTable[0];
+ this->skelAnime.moveFlags |= 3;
+ AnimationContext_SetMoveActor(globalCtx, &this->actor, &this->skelAnime, 1.0f);
}
void func_8096D64C(DemoEc* this, GlobalContext* globalCtx) {
- this->skelAnime.flags |= 3;
- SkelAnime_LoadAnimationType5(globalCtx, &this->actor, &this->skelAnime, 1.0f);
+ this->skelAnime.moveFlags |= 3;
+ AnimationContext_SetMoveActor(globalCtx, &this->actor, &this->skelAnime, 1.0f);
}
void DemoEc_UpdateEyes(DemoEc* this) {
@@ -229,7 +229,7 @@ void DemoEc_ChangeAnimation(DemoEc* this, AnimationHeader* animation, u8 mode, f
s16 frameCountS;
anim = SEGMENTED_TO_VIRTUAL(animation);
- frameCountS = SkelAnime_GetFrameCount(anim);
+ frameCountS = Animation_GetLastFrame(anim);
if (!reverse) {
startFrame = 0.0f;
@@ -241,7 +241,7 @@ void DemoEc_ChangeAnimation(DemoEc* this, AnimationHeader* animation, u8 mode, f
playbackSpeed = -1.0f;
}
- SkelAnime_ChangeAnim(&this->skelAnime, anim, playbackSpeed, startFrame, frameCount, mode, transitionRate);
+ Animation_Change(&this->skelAnime, anim, playbackSpeed, startFrame, frameCount, mode, transitionRate);
}
Gfx* DemoEc_AllocColorDList(GraphicsContext* gfxCtx, u8* color) {
@@ -275,7 +275,7 @@ void DemoEc_DrawSkeleton(DemoEc* this, GlobalContext* globalCtx, void* eyeTextur
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, &this->actor, POLY_OPA_DISP);
CLOSE_DISPS(gfxCtx, "../z_demo_ec.c", 595);
}
@@ -311,7 +311,7 @@ void DemoEc_DrawSkeletonCustomColor(DemoEc* this, GlobalContext* globalCtx, Gfx*
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, &this->actor, POLY_OPA_DISP);
CLOSE_DISPS(gfxCtx, "../z_demo_ec.c", 646);
@@ -664,7 +664,7 @@ s32 DemoEc_CarpenterOverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gf
}
}
- return 0;
+ return false;
}
Gfx* DemoEc_GetCarpenterPostLimbDList(DemoEc* this) {
@@ -788,7 +788,7 @@ void DemoEc_InitKingZora(DemoEc* this, GlobalContext* globalCtx) {
}
void func_8096F1D4(DemoEc* this) {
- f32 currentFrame = this->skelAnime.animCurrentFrame;
+ f32 currentFrame = this->skelAnime.curFrame;
if (currentFrame <= 32.0f) {
DemoEc_SetEyeTexIndex(this, 3);
diff --git a/src/overlays/actors/ovl_Demo_Go/z_demo_go.c b/src/overlays/actors/ovl_Demo_Go/z_demo_go.c
index cfec64f4f4..2fd376c239 100644
--- a/src/overlays/actors/ovl_Demo_Go/z_demo_go.c
+++ b/src/overlays/actors/ovl_Demo_Go/z_demo_go.c
@@ -112,7 +112,7 @@ void func_8097C9B8(DemoGo* this) {
void func_8097C9DC(DemoGo* this) {
s32 pad[2];
- if (func_800A56C8(&this->skelAnime, 12.0f) || func_800A56C8(&this->skelAnime, 25.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 12.0f) || Animation_OnFrame(&this->skelAnime, 25.0f)) {
func_80078914(&this->actor.projectedPos, NA_SE_EN_MORIBLIN_WALK);
}
}
@@ -196,7 +196,7 @@ void func_8097CCE0(DemoGo* this, GlobalContext* globalCtx) {
}
UNK_TYPE DemoGo_FrameUpdateMatrix(DemoGo* this) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
s32 func_8097CDB0(DemoGo* this, GlobalContext* globalCtx, u16 npcAction) {
@@ -245,7 +245,7 @@ void func_8097CEEC(DemoGo* this, GlobalContext* globalCtx) {
void func_8097CF20(DemoGo* this, GlobalContext* globalCtx, UNK_TYPE arg2) {
AnimationHeader* animation = &D_060029A8;
if (arg2 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 0, -8.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 0, -8.0f);
this->action = 5;
this->unk_19C = 0.0f;
}
@@ -319,7 +319,7 @@ void DemoGo_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600FEF0, NULL, NULL, NULL, 0);
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 2, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 2, 0.0f);
this->action = 0;
}
@@ -339,7 +339,7 @@ void func_8097D29C(DemoGo* this, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(srcSegment8));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(srcSegment9));
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_go.c", 746);
diff --git a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c
index 13e6c729de..ab4cb6d51a 100644
--- a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c
+++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c
@@ -217,7 +217,7 @@ void func_80985018(DemoIm* this, GlobalContext* globalCtx) {
}
s32 func_80985060(DemoIm* this) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
s32 func_80985080(GlobalContext* globalCtx) {
@@ -282,7 +282,7 @@ void func_80985200(DemoIm* this, GlobalContext* globalCtx, s32 actionIdx) {
}
void func_80985280(DemoIm* this, AnimationHeader* animHeaderSeg, u8 arg2, f32 transitionRate, s32 arg4) {
- f32 frameCount = SkelAnime_GetFrameCount(animHeaderSeg);
+ f32 frameCount = Animation_GetLastFrame(animHeaderSeg);
f32 playbackSpeed;
f32 unk0;
f32 fc;
@@ -297,7 +297,7 @@ void func_80985280(DemoIm* this, AnimationHeader* animHeaderSeg, u8 arg2, f32 tr
playbackSpeed = -1.0f;
}
- SkelAnime_ChangeAnim(&this->skelAnime, animHeaderSeg, playbackSpeed, unk0, fc, arg2, transitionRate);
+ Animation_Change(&this->skelAnime, animHeaderSeg, playbackSpeed, unk0, fc, arg2, transitionRate);
}
void func_80985310(DemoIm* this, GlobalContext* globalCtx) {
@@ -345,7 +345,7 @@ void func_8098544C(DemoIm* this, GlobalContext* globalCtx) {
void func_809854DC(DemoIm* this, GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[5] != NULL) &&
(globalCtx->csCtx.npcActions[5]->action == 2)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06001868, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06001868), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06001868, 1.0f, 0.0f, Animation_GetLastFrame(&D_06001868), 0, 0.0f);
this->action = 2;
this->drawConfig = 1;
func_80985358(this, globalCtx);
@@ -362,14 +362,14 @@ void func_8098557C(DemoIm* this) {
void func_809855A8(DemoIm* this, GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[5] != NULL) &&
(globalCtx->csCtx.npcActions[5]->action == 3)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000710, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000710), 2, 4.0f);
+ Animation_Change(&this->skelAnime, &D_06000710, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000710), 2, 4.0f);
this->action = 4;
}
}
void func_80985640(DemoIm* this, s32 arg1) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000AFC, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000AFC), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000AFC, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000AFC), 0, 0.0f);
this->action = 5;
}
}
@@ -443,7 +443,7 @@ void func_809858C8(DemoIm* this, GlobalContext* globalCtx) {
void func_80985948(DemoIm* this, GlobalContext* globalCtx) {
if (func_809850E8(this, globalCtx, 4, 5)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06011C08, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06011C08), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06011C08, 1.0f, 0.0f, Animation_GetLastFrame(&D_06011C08), 2, 0.0f);
this->action = 8;
this->drawConfig = 2;
this->unk_26C = 0;
@@ -482,7 +482,7 @@ void func_809859E0(DemoIm* this, GlobalContext* globalCtx) {
void func_80985B34(DemoIm* this, GlobalContext* globalCtx) {
if (func_80985134(this, globalCtx, 4, 5)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06012218, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06012218), 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06012218, 1.0f, 0.0f, Animation_GetLastFrame(&D_06012218), 2, -8.0f);
this->action = 8;
this->drawConfig = 2;
this->unk_268 = kREG(5) + 10.0f;
@@ -531,7 +531,7 @@ void func_80985CE8(DemoIm* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_26C);
gSPSegment(POLY_XLU_DISP++, 0x0C, &D_80116280[0]);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
NULL, NULL, NULL, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 308);
@@ -552,7 +552,7 @@ void func_80985EAC(DemoIm* this, GlobalContext* globalCtx) {
}
void func_80985EF4(DemoIm* this) {
- if (!func_800A56C8(&this->skelAnime, SkelAnime_GetFrameCount(&D_0601182C) - 1.0f)) {
+ if (!Animation_OnFrame(&this->skelAnime, Animation_GetLastFrame(&D_0601182C) - 1.0f)) {
func_80985060(this);
}
}
@@ -563,7 +563,7 @@ void func_80985F54(DemoIm* this) {
}
void func_80985F64(DemoIm* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06001868, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06001868), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06001868, 1.0f, 0.0f, Animation_GetLastFrame(&D_06001868), 0, 0.0f);
func_80985180(this, globalCtx, 5);
this->action = 11;
this->drawConfig = 1;
@@ -571,14 +571,14 @@ void func_80985F64(DemoIm* this, GlobalContext* globalCtx) {
void func_80985FE8(DemoIm* this, s32 arg1) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0601182C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0601182C), 0, -8.0f);
+ Animation_Change(&this->skelAnime, &D_0601182C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0601182C), 0, -8.0f);
}
}
void func_8098604C(DemoIm* this) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06010EE0);
+ f32 frameCount = Animation_GetLastFrame(&D_06010EE0);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06010EE0, 1.0f, 0.0f, frameCount, 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06010EE0, 1.0f, 0.0f, frameCount, 2, -8.0f);
this->action = 12;
this->drawConfig = 1;
this->unk_2D0 = 1;
@@ -591,13 +591,13 @@ void func_809860C8(DemoIm* this) {
void func_809860DC(DemoIm* this, s32 arg1) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06001868, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06001868), 0, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06001868, 1.0f, 0.0f, Animation_GetLastFrame(&D_06001868), 0, -8.0f);
this->unk_2D0 = 0;
}
}
void func_80986148(DemoIm* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06010EE0, -1.0f, SkelAnime_GetFrameCount(&D_06010EE0), 0.0f, 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06010EE0, -1.0f, Animation_GetLastFrame(&D_06010EE0), 0.0f, 2, -8.0f);
this->action = 14;
this->drawConfig = 1;
}
@@ -615,8 +615,8 @@ void func_809861C4(DemoIm* this, GlobalContext* globalCtx) {
func_80986148(this);
break;
case 7:
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0601182C, 1.0f, 0.0f,
- SkelAnime_GetFrameCount(&D_0601182C), 0, -8.0f);
+ Animation_Change(&this->skelAnime, &D_0601182C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0601182C), 0,
+ -8.0f);
this->action = 12;
break;
default:
@@ -712,7 +712,7 @@ void func_8098652C(DemoIm* this, GlobalContext* globalCtx) {
}
void func_80986570(DemoIm* this, GlobalContext* globalCtx) {
- if ((func_800A56C8(&this->skelAnime, 7.0f)) && (this->actor.bgCheckFlags & 1)) {
+ if ((Animation_OnFrame(&this->skelAnime, 7.0f)) && (this->actor.bgCheckFlags & 1)) {
u32 sfxId = SFX_FLAG;
sfxId += func_80041F34(&globalCtx->colCtx, this->actor.floorPoly, this->actor.floorPolySource);
@@ -750,14 +750,14 @@ void func_80986700(DemoIm* this) {
}
void func_80986710(DemoIm* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06001868, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06001868), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06001868, 1.0f, 0.0f, Animation_GetLastFrame(&D_06001868), 0, 0.0f);
func_80985180(this, globalCtx, 5);
this->action = 16;
this->drawConfig = 1;
}
void func_80986794(DemoIm* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060014E4, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060014E4), 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_060014E4, 1.0f, 0.0f, Animation_GetLastFrame(&D_060014E4), 2, -8.0f);
this->action = 17;
this->drawConfig = 1;
}
@@ -1095,8 +1095,7 @@ void DemoIm_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
func_80984D00(thisx, globalCtx);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600F788, NULL, this->limbDrawTable, this->transitionDrawTable,
- 17);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600F788, NULL, this->jointTable, this->morphTable, 17);
thisx->flags &= ~1;
switch (this->actor.params) {
@@ -1187,7 +1186,7 @@ void func_80987658(DemoIm* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, func_80987514,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, func_80987514,
func_809875C0, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_im.c", 925);
diff --git a/src/overlays/actors/ovl_Demo_Im/z_demo_im.h b/src/overlays/actors/ovl_Demo_Im/z_demo_im.h
index 4a3308f796..3d736eed1c 100644
--- a/src/overlays/actors/ovl_Demo_Im/z_demo_im.h
+++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im.h
@@ -12,8 +12,8 @@ typedef void (*DemoImDrawFunc)(struct DemoIm*, GlobalContext*);
typedef struct DemoIm {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[17];
- /* 0x01F6 */ Vec3s transitionDrawTable[17];
+ /* 0x0190 */ Vec3s jointTable[17];
+ /* 0x01F6 */ Vec3s morphTable[17];
/* 0x025C */ s16 unk_25C;
/* 0x025E */ s16 unk_25E;
/* 0x0260 */ s32 action;
diff --git a/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c b/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c
index 000b76b7e8..7405421c35 100644
--- a/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c
+++ b/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c
@@ -152,7 +152,7 @@ void func_8098E5C8(DemoSa* this, GlobalContext* globalCtx) {
}
s32 DemoSa_FrameUpdateMatrix(DemoSa* this) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
CsCmdActorAction* DemoSa_GetNpcAction(GlobalContext* globalCtx, s32 idx) {
@@ -193,7 +193,7 @@ void func_8098E6EC(DemoSa* this, GlobalContext* globalCtx, s32 actionIdx) {
void func_8098E76C(DemoSa* this, AnimationHeader* animHeaderSeg, u8 arg2, f32 transitionRate, s32 arg4) {
s32 pad[2];
- f32 frameCount = SkelAnime_GetFrameCount(animHeaderSeg);
+ f32 frameCount = Animation_GetLastFrame(animHeaderSeg);
f32 playbackSpeed;
f32 unk0;
f32 fc;
@@ -208,7 +208,7 @@ void func_8098E76C(DemoSa* this, AnimationHeader* animHeaderSeg, u8 arg2, f32 tr
playbackSpeed = -1.0f;
}
- SkelAnime_ChangeAnim(&this->skelAnime, animHeaderSeg, playbackSpeed, unk0, fc, arg2, transitionRate);
+ Animation_Change(&this->skelAnime, animHeaderSeg, playbackSpeed, unk0, fc, arg2, transitionRate);
}
void func_8098E7FC(DemoSa* this, GlobalContext* globalCtx) {
@@ -282,8 +282,7 @@ void func_8098EA68(DemoSa* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
npcAction = globalCtx->csCtx.npcActions[4];
if ((npcAction != NULL) && (npcAction->action == 3)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600DF80, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600DF80), 2,
- -4.0f);
+ Animation_Change(&this->skelAnime, &D_0600DF80, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600DF80), 2, -4.0f);
this->action = 4;
}
}
@@ -291,7 +290,7 @@ void func_8098EA68(DemoSa* this, GlobalContext* globalCtx) {
void func_8098EB00(DemoSa* this, s32 arg1) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600E500, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600E500), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600E500, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600E500), 0, 0.0f);
this->action = 5;
}
}
@@ -347,10 +346,10 @@ void func_8098ECCC(DemoSa* this, GlobalContext* globalCtx) {
void func_8098ECF4(DemoSa* this, GlobalContext* globalCtx) {
s32 pad[2];
SkelAnime* skelAnime = &this->skelAnime;
- f32 frameCount = SkelAnime_GetFrameCount(&D_06001334);
+ f32 frameCount = Animation_GetLastFrame(&D_06001334);
SkelAnime_InitFlex(globalCtx, skelAnime, &D_0600B1A0, NULL, NULL, NULL, 0);
- SkelAnime_ChangeAnim(skelAnime, &D_06001334, 1.0f, 0.0f, frameCount, 2, 0.0f);
+ Animation_Change(skelAnime, &D_06001334, 1.0f, 0.0f, frameCount, 2, 0.0f);
this->action = 7;
this->actor.shape.unk_14 = 0;
func_8098E508(this, 2);
@@ -358,9 +357,9 @@ void func_8098ECF4(DemoSa* this, GlobalContext* globalCtx) {
}
void func_8098EDB0(DemoSa* this) {
- f32 animCurrentFrame = this->skelAnime.animCurrentFrame;
+ f32 curFrame = this->skelAnime.curFrame;
- if ((this->skelAnime.mode == 2) && (animCurrentFrame >= 32.0f)) {
+ if ((this->skelAnime.mode == 2) && (curFrame >= 32.0f)) {
func_8098E508(this, 1);
func_8098E51C(this, 0);
}
@@ -468,7 +467,7 @@ void func_8098F1C0(DemoSa* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
NULL, NULL, NULL, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 325);
@@ -781,7 +780,7 @@ s32 DemoSa_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
if ((limbIndex == 15) && (this->unk_1B0 != 0)) {
*dList = &D_06007B80;
}
- return 0;
+ return false;
}
void func_8098FEA8(DemoSa* this, GlobalContext* globalCtx) {
@@ -806,7 +805,7 @@ void func_8098FEB4(DemoSa* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
DemoSa_OverrideLimbDraw, NULL, &this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa.c", 626);
diff --git a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c
index d84579a224..17d8bb1e8f 100644
--- a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c
+++ b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c
@@ -79,8 +79,8 @@ void func_80993754(DemoTreLgt* this) {
void func_8099375C(DemoTreLgt* this, GlobalContext* globalCtx) {
EnBox* treasureChest = (EnBox*)this->actor.parent;
- if (treasureChest != NULL && func_800A56C8(&treasureChest->skelanime, 10.0f)) {
- func_809937B4(this, globalCtx, treasureChest->skelanime.animCurrentFrame);
+ if (treasureChest != NULL && Animation_OnFrame(&treasureChest->skelanime, 10.0f)) {
+ func_809937B4(this, globalCtx, treasureChest->skelanime.curFrame);
}
}
diff --git a/src/overlays/actors/ovl_En_Ani/z_en_ani.c b/src/overlays/actors/ovl_En_Ani/z_en_ani.c
index 73f982f7ac..e1f89c3dc8 100644
--- a/src/overlays/actors/ovl_En_Ani/z_en_ani.c
+++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.c
@@ -73,9 +73,8 @@ void EnAni_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, -2800.0f, ActorShadow_DrawFunc_Circle, 36.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, &D_060076EC, this->limbDrawTable,
- this->transitionDrawTable, 0x10);
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_060076EC);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, &D_060076EC, this->jointTable, this->morphTable, 0x10);
+ Animation_PlayOnce(&this->skelAnime, &D_060076EC);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = 0xFF;
@@ -209,24 +208,24 @@ void func_809B0988(EnAni* this, GlobalContext* globalCtx) {
void func_809B0994(EnAni* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.npcActions[0]->action == 4) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060070F0, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060070F0), 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_060070F0, 1.0f, 0.0f, Animation_GetLastFrame(&D_060070F0), 2, -4.0f);
this->unk_2AA++;
this->actor.shape.shadowDrawFunc = ActorShadow_DrawFunc_Circle;
}
}
void func_809B0A28(EnAni* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->unk_2AA++;
}
}
void func_809B0A6C(EnAni* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
- this->skelAnime.animCurrentFrame = 0.0f;
+ if (SkelAnime_Update(&this->skelAnime)) {
+ this->skelAnime.curFrame = 0.0f;
}
if (globalCtx->csCtx.npcActions[0]->action == 2) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060067B8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060067B8), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_060067B8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060067B8), 2, 0.0f);
this->actor.shape.shadowDrawFunc = NULL;
this->unk_2AA++;
}
@@ -263,8 +262,8 @@ void EnAni_Update(Actor* thisx, GlobalContext* globalCtx) {
func_800788CC(NA_SE_IT_EARTHQUAKE);
}
} else {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
- this->skelAnime.animCurrentFrame = 0.0f;
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
+ this->skelAnime.curFrame = 0.0f;
}
this->actionFunc(this, globalCtx);
}
@@ -297,7 +296,7 @@ s32 EnAni_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->x += this->unk_29C.y;
rot->z += this->unk_29C.x;
}
- return 0;
+ return false;
}
void EnAni_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -318,7 +317,7 @@ void EnAni_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_809B0F80[this->unk_2AC]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnAni_OverrideLimbDraw, EnAni_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ani.c", 736);
diff --git a/src/overlays/actors/ovl_En_Ani/z_en_ani.h b/src/overlays/actors/ovl_En_Ani/z_en_ani.h
index 10a8930a5d..856d3fe1e4 100644
--- a/src/overlays/actors/ovl_En_Ani/z_en_ani.h
+++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.h
@@ -12,8 +12,8 @@ typedef struct EnAni {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
- /* 0x01DC */ Vec3s limbDrawTable[16];
- /* 0x023C */ Vec3s transitionDrawTable[16];
+ /* 0x01DC */ Vec3s jointTable[16];
+ /* 0x023C */ Vec3s morphTable[16];
/* 0x029C */ Vec3s unk_29C;
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ u16 unk_2A8;
diff --git a/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c b/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c
index 27a8d64163..7573ba9434 100644
--- a/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c
+++ b/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c
@@ -70,12 +70,12 @@ void EnAnubiceTag_ManageAnubis(EnAnubiceTag* this, GlobalContext* globalCtx) {
return;
}
} else {
- Actor_Kill(this);
+ Actor_Kill(&this->actor);
return;
}
if (anubis->unk_25A != 0) {
- Actor_Kill(this);
+ Actor_Kill(&this->actor);
return;
}
diff --git a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c
index f816091a6e..44951d0fe9 100644
--- a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c
+++ b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c
@@ -47,8 +47,7 @@ void EnAttackNiw_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 25.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable,
- this->transitionDrawTable, 16);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->jointTable, this->morphTable, 16);
if (this->actor.params < 0) {
this->actor.params = 0;
}
@@ -403,6 +402,6 @@ void EnAttackNiw_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnAttackNiw* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
func_809B5F98, NULL, this);
}
diff --git a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h
index 91346e15a0..788cc82615 100644
--- a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h
+++ b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h
@@ -11,8 +11,8 @@ typedef void (*EnAttackNiwActionFunc)(struct EnAttackNiw*, GlobalContext*);
typedef struct EnAttackNiw {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[16];
- /* 0x01F0 */ Vec3s transitionDrawTable[16];
+ /* 0x0190 */ Vec3s jointTable[16];
+ /* 0x01F0 */ Vec3s morphTable[16];
/* 0x0250 */ EnAttackNiwActionFunc actionFunc;
/* 0x0254 */ s16 unk_254;
/* 0x0256 */ s16 unk_256;
diff --git a/src/overlays/actors/ovl_En_Bb/z_en_bb.c b/src/overlays/actors/ovl_En_Bb/z_en_bb.c
index 28a247f0a5..b0c384e79b 100644
--- a/src/overlays/actors/ovl_En_Bb/z_en_bb.c
+++ b/src/overlays/actors/ovl_En_Bb/z_en_bb.c
@@ -427,7 +427,7 @@ void EnBb_Damage(EnBb* this, GlobalContext* globalCtx) {
}
void EnBb_SetupBlue(EnBb* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000444);
+ Animation_PlayLoop(&this->skelAnime, &D_06000444);
this->actor.speedXZ = (Rand_ZeroOne() * 0.5f) + 0.5f;
this->timer = (Rand_ZeroOne() * 20.0f) + 40.0f;
this->unk_264 = (Rand_ZeroOne() * 30.0f) + 180.0f;
@@ -448,7 +448,7 @@ void EnBb_Blue(EnBb* this, GlobalContext* globalCtx) {
Math_SmoothStepToF(&this->actor.posRot.pos.y, this->actor.groundY + 50.0f + this->flyHeightMod, 1.0f, 0.5f,
0.0f);
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (Math_CosF(this->bobPhase) == 0.0f) {
if (this->charge) {
this->bobSpeedMod = Rand_ZeroOne() * 2.0f;
@@ -472,14 +472,14 @@ void EnBb_Blue(EnBb* this, GlobalContext* globalCtx) {
if (this->charge && (this->targetActor == NULL)) {
this->vMoveAngleY = this->actor.posRot.rot.y;
if (this->actor.xzDistFromLink < 200.0f) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000184);
+ Animation_PlayLoop(&this->skelAnime, &D_06000184);
this->vMoveAngleY = this->actor.yawTowardsLink;
}
this->maxSpeed = (Rand_ZeroOne() * 1.5f) + 6.0f;
this->timer = (Rand_ZeroOne() * 5.0f) + 20.0f;
this->actionState = BBBLUE_NORMAL;
} else {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000444);
+ Animation_PlayLoop(&this->skelAnime, &D_06000444);
this->maxSpeed = (Rand_ZeroOne() * 1.5f) + 1.0f;
this->timer = (Rand_ZeroOne() * 20.0f) + 40.0f;
this->vMoveAngleY = Math_SinF(this->bobPhase) * 65535.0f;
@@ -487,7 +487,7 @@ void EnBb_Blue(EnBb* this, GlobalContext* globalCtx) {
}
if ((this->actor.xzDistFromLink < 150.0f) && (this->actionState != BBBLUE_NORMAL)) {
if (!this->charge) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000184);
+ Animation_PlayLoop(&this->skelAnime, &D_06000184);
this->maxSpeed = (Rand_ZeroOne() * 1.5f) + 6.0f;
this->timer = (Rand_ZeroOne() * 5.0f) + 20.0f;
this->vMoveAngleY = this->actor.yawTowardsLink;
@@ -548,24 +548,24 @@ void EnBb_Blue(EnBb* this, GlobalContext* globalCtx) {
}
if (this->maxSpeed >= 6.0f) {
- if ((s32)this->skelAnime.animCurrentFrame == 0 || (s32)this->skelAnime.animCurrentFrame == 5) {
+ if ((s32)this->skelAnime.curFrame == 0 || (s32)this->skelAnime.curFrame == 5) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_MOUTH);
- } else if ((s32)this->skelAnime.animCurrentFrame == 2 || (s32)this->skelAnime.animCurrentFrame == 7) {
+ } else if ((s32)this->skelAnime.curFrame == 2 || (s32)this->skelAnime.curFrame == 7) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_WING);
}
} else {
- if ((s32)this->skelAnime.animCurrentFrame == 5) {
+ if ((s32)this->skelAnime.curFrame == 5) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_WING);
}
}
- if (((s32)this->skelAnime.animCurrentFrame == 0) && (Rand_ZeroOne() < 0.1f)) {
+ if (((s32)this->skelAnime.curFrame == 0) && (Rand_ZeroOne() < 0.1f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_LAUGH);
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
}
void EnBb_SetupDown(EnBb* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000444);
+ Animation_PlayLoop(&this->skelAnime, &D_06000444);
this->action = BB_DOWN;
this->timer = 200;
this->actor.dmgEffectTimer = 0;
@@ -581,7 +581,7 @@ void EnBb_SetupDown(EnBb* this) {
void EnBb_Down(EnBb* this, GlobalContext* globalCtx) {
s16 yawDiff = this->actor.posRot.rot.y - this->actor.wallPolyRot;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.bgCheckFlags & 8) {
if (ABS(yawDiff) > 0x4000) {
this->actor.posRot.rot.y =
@@ -614,7 +614,7 @@ void EnBb_Down(EnBb* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.posRot.rot.y, -this->actor.yawTowardsLink, 1, 0xBB8, 0);
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
- if ((s32)this->skelAnime.animCurrentFrame == 5) {
+ if ((s32)this->skelAnime.curFrame == 5) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_WING);
}
if (this->timer == 0) {
@@ -644,7 +644,7 @@ void EnBb_Down(EnBb* this, GlobalContext* globalCtx) {
}
void EnBb_SetupRed(GlobalContext* globalCtx, EnBb* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000184);
+ Animation_PlayLoop(&this->skelAnime, &D_06000184);
if (this->action == BB_DOWN) {
this->actor.speedXZ = 5.0f;
this->actor.gravity = -1.0f;
@@ -673,7 +673,7 @@ void EnBb_Red(EnBb* this, GlobalContext* globalCtx) {
s32 floorType;
s16 yawDiff;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
@@ -744,7 +744,7 @@ void EnBb_Red(EnBb* this, GlobalContext* globalCtx) {
break;
}
if (this->actionState != BBRED_WAIT) {
- if (((s32)this->skelAnime.animCurrentFrame == 0) || ((s32)this->skelAnime.animCurrentFrame == 5)) {
+ if (((s32)this->skelAnime.curFrame == 0) || ((s32)this->skelAnime.curFrame == 5)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_MOUTH);
}
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLEFALL_FIRE - SFX_FLAG);
@@ -771,7 +771,7 @@ void EnBb_SetWaypoint(EnBb* this, GlobalContext* globalCtx) {
}
void EnBb_SetupWhite(GlobalContext* globalCtx, EnBb* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000444);
+ Animation_PlayLoop(&this->skelAnime, &D_06000444);
this->actor.speedXZ = 0.0f;
this->actor.posRot.pos.y += 60.0f;
this->flameScaleX = 100.0f;
@@ -802,11 +802,11 @@ void EnBb_White(EnBb* this, GlobalContext* globalCtx) {
if (this->timer == 0) {
EnBb_SetWaypoint(this, globalCtx);
EnBb_FaceWaypoint(this);
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000184);
+ Animation_PlayLoop(&this->skelAnime, &D_06000184);
this->timer = Rand_ZeroOne() * 30.0f + 40.0f;
} else {
if (this->moveMode != BBMOVE_NORMAL) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000444);
+ Animation_PlayLoop(&this->skelAnime, &D_06000444);
}
this->actor.posRot.rot.y += 0x1F40;
}
@@ -824,15 +824,15 @@ void EnBb_White(EnBb* this, GlobalContext* globalCtx) {
} else if (Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 1.0f, 0.5f, 0.0f) == 0.0f) {
EnBb_FaceWaypoint(this);
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (((s32)this->skelAnime.animCurrentFrame == 0) && (Rand_ZeroOne() <= 0.1f)) {
+ SkelAnime_Update(&this->skelAnime);
+ if (((s32)this->skelAnime.curFrame == 0) && (Rand_ZeroOne() <= 0.1f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_LAUGH);
}
if ((this->maxSpeed != 0.0f) &&
- (((s32)this->skelAnime.animCurrentFrame == 0) || ((s32)this->skelAnime.animCurrentFrame == 5))) {
+ (((s32)this->skelAnime.curFrame == 0) || ((s32)this->skelAnime.curFrame == 5))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_MOUTH);
- } else if (((s32)this->skelAnime.animCurrentFrame == 2) || ((s32)this->skelAnime.animCurrentFrame == 7)) {
+ } else if (((s32)this->skelAnime.curFrame == 2) || ((s32)this->skelAnime.curFrame == 7)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_WING);
}
}
@@ -840,7 +840,7 @@ void EnBb_White(EnBb* this, GlobalContext* globalCtx) {
void EnBb_InitGreen(EnBb* this, GlobalContext* globalCtx) {
Vec3f bobOffset = { 0.0f, 0.0f, 0.0f };
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000444);
+ Animation_PlayLoop(&this->skelAnime, &D_06000444);
this->moveMode = BBMOVE_NOCLIP;
this->actionState = BBGREEN_FLAME_ON;
this->bobPhase = Rand_ZeroOne();
@@ -864,7 +864,7 @@ void EnBb_InitGreen(EnBb* this, GlobalContext* globalCtx) {
}
void EnBb_SetupGreen(EnBb* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000444);
+ Animation_PlayLoop(&this->skelAnime, &D_06000444);
this->moveMode = BBMOVE_NOCLIP;
this->actionState = BBGREEN_FLAME_ON;
this->targetActor = NULL;
@@ -924,7 +924,7 @@ void EnBb_Green(EnBb* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0xFA0, 0);
Math_SmoothStepToS(&this->actor.shape.rot.x, Math_Vec3f_Pitch(&this->actor.posRot.pos, &nextPos), 1, 0xFA0, 0);
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (Math_CosF(this->bobPhase) <= 0.002f) {
this->bobSpeedMod = Rand_ZeroOne() * 0.05f;
}
@@ -959,10 +959,10 @@ void EnBb_Green(EnBb* this, GlobalContext* globalCtx) {
Math_SmoothStepToF(&this->flameScaleY, 80.0f, 1.0f, 10.0f, 0.0f);
Math_SmoothStepToF(&this->flameScaleX, 100.0f, 1.0f, 10.0f, 0.0f);
}
- if ((s32)this->skelAnime.animCurrentFrame == 5) {
+ if ((s32)this->skelAnime.curFrame == 5) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_WING);
}
- if (((s32)this->skelAnime.animCurrentFrame == 0) && (Rand_ZeroOne() < 0.1f)) {
+ if (((s32)this->skelAnime.curFrame == 0) && (Rand_ZeroOne() < 0.1f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BUBLE_LAUGH);
}
}
@@ -1189,7 +1189,7 @@ void EnBb_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (this->moveMode != BBMOVE_HIDDEN) {
if (this->actor.params <= ENBB_BLUE) {
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, EnBb_PostLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, EnBb_PostLimbDraw,
this);
if (this->fireIceTimer != 0) {
diff --git a/src/overlays/actors/ovl_En_Bird/z_en_bird.c b/src/overlays/actors/ovl_En_Bird/z_en_bird.c
index 35dd91799e..ed72540574 100644
--- a/src/overlays/actors/ovl_En_Bird/z_en_bird.c
+++ b/src/overlays/actors/ovl_En_Bird/z_en_bird.c
@@ -48,7 +48,7 @@ void EnBird_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
Actor_SetScale(&this->actor, 0.01);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_06002190, &D_0600006C, 0, 0, 0);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_06002190, &D_0600006C, NULL, NULL, 0);
ActorShape_Init(&this->actor.shape, 5500, ActorShadow_DrawFunc_Circle, 4);
this->unk_194 = 0;
this->unk_198 = 0;
@@ -68,12 +68,12 @@ void EnBird_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void func_809C1CAC(EnBird* this, s16 params) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_0600006C);
+ f32 frameCount = Animation_GetLastFrame(&D_0600006C);
f32 playbackSpeed = this->unk_19C ? 0.0f : 1.0f;
AnimationHeader* anim = &D_0600006C;
this->unk_198 = Rand_S16Offset(5, 0x23);
- SkelAnime_ChangeAnim(&this->skelAnime, anim, playbackSpeed, 0.0f, frameCount, 0, 0.0f);
+ Animation_Change(&this->skelAnime, anim, playbackSpeed, 0.0f, frameCount, 0, 0.0f);
EnBird_SetupAction(this, func_809C1D60);
}
@@ -84,10 +84,10 @@ void func_809C1D60(EnBird* this, GlobalContext* globalCtx) {
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 0.1f, 0.5f, 0.0f);
if (this->unk_19C != 0) {
- this->skelAnime.animPlaybackSpeed = this->actor.speedXZ + this->actor.speedXZ;
+ this->skelAnime.playSpeed = this->actor.speedXZ + this->actor.speedXZ;
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->unk_198 -= 1;
if (this->unk_198 <= 0) {
@@ -114,7 +114,7 @@ void func_809C1E40(EnBird* this, GlobalContext* globalCtx) {
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->unk_198 -= 1;
if (this->unk_198 < 0) {
func_809C1CAC(this, this->actor.params);
@@ -131,5 +131,5 @@ void EnBird_Update(Actor* thisx, GlobalContext* globalCtx) {
void EnBird_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnBird* this = THIS;
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL);
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, NULL);
}
diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c
index 40e9a60c51..23e256230d 100644
--- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c
+++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c
@@ -61,8 +61,7 @@ void EnBomBowlMan_Init(Actor* thisx, GlobalContext* globalCtx) {
GlobalContext* globalCtx2 = globalCtx;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
- SkelAnime_InitFlex(globalCtx2, &this->skelAnime, &D_06006EB0, &D_06000710, this->limbDrawTable,
- this->transitionDrawTable, 11);
+ SkelAnime_InitFlex(globalCtx2, &this->skelAnime, &D_06006EB0, &D_06000710, this->jointTable, this->morphTable, 11);
// ☆ Man, my shoulders hurt~ ☆
osSyncPrintf(VT_FGCOL(GREEN) "☆ もー 肩こっちゃうよねぇ〜 \t\t ☆ \n" VT_RST);
// ☆ Isn't there some sort of job that will pay better and be more relaxing? ☆ %d
@@ -91,8 +90,8 @@ void EnBomBowlMan_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnBomBowMan_SetupWaitAsleep(EnBomBowlMan* this, GlobalContext* globalCtx) {
- this->frameCount = (f32)SkelAnime_GetFrameCount(&D_06000710);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000710, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
+ this->frameCount = (f32)Animation_GetLastFrame(&D_06000710);
+ Animation_Change(&this->skelAnime, &D_06000710, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->actor.textId = 0xC0;
this->dialogState = 5;
this->actionFunc = EnBomBowMan_WaitAsleep;
@@ -101,7 +100,7 @@ void EnBomBowMan_SetupWaitAsleep(EnBomBowlMan* this, GlobalContext* globalCtx) {
void EnBomBowMan_WaitAsleep(EnBomBowlMan* this, GlobalContext* globalCtx) {
s16 yawDiff;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = EnBomBowMan_TalkAsleep;
@@ -115,7 +114,7 @@ void EnBomBowMan_WaitAsleep(EnBomBowlMan* this, GlobalContext* globalCtx) {
}
void EnBomBowMan_TalkAsleep(EnBomBowlMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == this->dialogState) && (func_80106BC8(globalCtx) != 0)) {
globalCtx->msgCtx.msgMode = 0x37;
@@ -124,16 +123,16 @@ void EnBomBowMan_TalkAsleep(EnBomBowlMan* this, GlobalContext* globalCtx) {
}
void EnBomBowMan_WakeUp(EnBomBowlMan* this, GlobalContext* globalCtx) {
- this->frameCount = (f32)SkelAnime_GetFrameCount(&D_06000080);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000080, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
+ this->frameCount = (f32)Animation_GetLastFrame(&D_06000080);
+ Animation_Change(&this->skelAnime, &D_06000080, 1.0f, 0.0f, this->frameCount, 2, -10.0f);
this->eyeMode = CHU_GIRL_EYES_OPEN_SLOWLY;
this->actionFunc = EnBomBowMan_BlinkAwake;
}
void EnBomBowMan_BlinkAwake(EnBomBowlMan* this, GlobalContext* globalCtx) {
- f32 frameCount = this->skelAnime.animCurrentFrame;
+ f32 frameCount = this->skelAnime.curFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (frameCount == 30.0f) {
this->dialogState = 5;
// Check for beaten Dodongo's Cavern
@@ -156,12 +155,12 @@ void EnBomBowMan_BlinkAwake(EnBomBowlMan* this, GlobalContext* globalCtx) {
}
void EnBomBowMan_CheckBeatenDC(EnBomBowlMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == this->dialogState) && (func_80106BC8(globalCtx) != 0)) {
func_80106CCC(globalCtx);
- this->frameCount = (f32)SkelAnime_GetFrameCount(&D_060072AC);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060072AC, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
+ this->frameCount = (f32)Animation_GetLastFrame(&D_060072AC);
+ Animation_Change(&this->skelAnime, &D_060072AC, 1.0f, 0.0f, this->frameCount, 0, -10.0f);
this->eyeMode = CHU_GIRL_EYES_AWAKE;
this->blinkTimer = (s16)Rand_ZeroFloat(60.0f) + 20;
// Check for beaten Dodongo's Cavern
@@ -177,7 +176,7 @@ void EnBomBowMan_CheckBeatenDC(EnBomBowlMan* this, GlobalContext* globalCtx) {
}
void EnBomBowMan_WaitNotBeatenDC(EnBomBowlMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = EnBomBowMan_TalkNotBeatenDC;
@@ -187,7 +186,7 @@ void EnBomBowMan_WaitNotBeatenDC(EnBomBowlMan* this, GlobalContext* globalCtx) {
}
void EnBomBowMan_TalkNotBeatenDC(EnBomBowlMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == this->dialogState) && (func_80106BC8(globalCtx) != 0)) {
func_80106CCC(globalCtx);
@@ -196,7 +195,7 @@ void EnBomBowMan_TalkNotBeatenDC(EnBomBowlMan* this, GlobalContext* globalCtx) {
}
void EnBomBowMan_SetupRunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->minigamePlayStatus == 0) {
if (!this->startedPlaying) {
@@ -215,7 +214,7 @@ void EnBomBowMan_SetupRunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
void EnBomBowMan_RunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
s16 yawDiff;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (BREG(3)) {
osSyncPrintf(VT_FGCOL(RED) "☆ game_play->bomchu_game_flag ☆ %d\n" VT_RST, globalCtx->bombchuBowlingStatus);
@@ -278,7 +277,7 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
}
void EnBomBowlMan_HandlePlayChoice(EnBomBowlMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == this->dialogState) && (func_80106BC8(globalCtx) != 0)) {
func_80106CCC(globalCtx);
@@ -323,7 +322,7 @@ void EnBomBowlMan_HandlePlayChoice(EnBomBowlMan* this, GlobalContext* globalCtx)
}
void func_809C41FC(EnBomBowlMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == this->dialogState) && (func_80106BC8(globalCtx) != 0)) {
func_80106CCC(globalCtx);
if ((this->actor.textId == 0x2D) || (this->actor.textId == 0x85)) {
@@ -352,7 +351,7 @@ void EnBomBowMan_SetupChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalC
Vec3f velocity = { 0.0f, 0.0f, 0.0f };
Vec3f pos;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == this->dialogState) && (func_80106BC8(globalCtx) != 0)) {
pos.x = 148.0f;
@@ -375,7 +374,7 @@ void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalCtx) {
s16 prizeTemp;
s32 pad;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->prizeRevealTimer == 0) {
switch (this->prizeSelect) {
@@ -433,7 +432,7 @@ void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalCtx) {
}
void EnBomBowlMan_BeginPlayGame(EnBomBowlMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == this->dialogState) && (func_80106BC8(globalCtx) != 0)) {
func_80106CCC(globalCtx);
@@ -501,7 +500,7 @@ s32 EnBomBowlMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx**
rot->z += this->unk_218.z;
}
- return 0;
+ return false;
}
void EnBomBowlMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -512,7 +511,7 @@ void EnBomBowlMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTextureIndex]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnBomBowlMan_OverrideLimbDraw, NULL, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_bom_bowl_man.c", 923);
diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h
index 602a5fff3d..136cda0ea6 100644
--- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h
+++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h
@@ -13,8 +13,8 @@ typedef void (*EnBomBowlManActionFunc)(struct EnBomBowlMan*, GlobalContext*);
typedef struct EnBomBowlMan {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[11];
- /* 0x01D2 */ Vec3s transitionDrawTable[11];
+ /* 0x0190 */ Vec3s jointTable[11];
+ /* 0x01D2 */ Vec3s morphTable[11];
/* 0x0214 */ EnBomBowlManActionFunc actionFunc;
/* 0x0218 */ Vec3s unk_218;
/* 0x021E */ char unk_21E[0x6];
diff --git a/src/overlays/actors/ovl_En_Box/z_en_box.c b/src/overlays/actors/ovl_En_Box/z_en_box.c
index 5df7de0cce..d2355f26e0 100644
--- a/src/overlays/actors/ovl_En_Box/z_en_box.c
+++ b/src/overlays/actors/ovl_En_Box/z_en_box.c
@@ -104,12 +104,12 @@ void EnBox_Init(Actor* thisx, GlobalContext* globalCtx) {
AnimationHeader* anim;
s32 dynaUnk;
f32 animFrameStart;
- f32 animFrameCount;
+ f32 endFrame;
animFrameStart = 0.0f;
anim = D_809CA800[((void)0, gSaveContext.linkAge)];
dynaUnk = 0;
- animFrameCount = SkelAnime_GetFrameCount(anim);
+ endFrame = Animation_GetLastFrame(anim);
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
DynaPolyInfo_SetActorMove(&this->dyna, 0);
@@ -133,7 +133,7 @@ void EnBox_Init(Actor* thisx, GlobalContext* globalCtx) {
this->iceSmokeTimer = 100;
EnBox_SetupAction(this, EnBox_Open);
this->movementFlags |= ENBOX_MOVE_STICK_TO_GROUND;
- animFrameStart = animFrameCount;
+ animFrameStart = endFrame;
} else if ((this->type == ENBOX_TYPE_SWITCH_FLAG_FALL_BIG || this->type == ENBOX_TYPE_SWITCH_FLAG_FALL_SMALL) &&
!Flags_GetSwitch(globalCtx2, this->switchFlag)) {
func_8003EBF8(globalCtx2, &globalCtx2->colCtx.dyna, this->dyna.dynaPolyId);
@@ -180,8 +180,8 @@ void EnBox_Init(Actor* thisx, GlobalContext* globalCtx) {
this->dyna.actor.posRot.rot.y += 0x8000;
this->dyna.actor.initPosRot.rot.z = this->dyna.actor.posRot.rot.z = this->dyna.actor.shape.rot.z = 0;
- SkelAnime_Init(globalCtx2, &this->skelanime, &D_060047D8, anim, this->limbDrawTable, this->transitionDrawTable, 5);
- SkelAnime_ChangeAnim(&this->skelanime, anim, 1.5f, animFrameStart, animFrameCount, 2, 0.0f);
+ SkelAnime_Init(globalCtx2, &this->skelanime, &D_060047D8, anim, this->jointTable, this->morphTable, 5);
+ Animation_Change(&this->skelanime, anim, 1.5f, animFrameStart, endFrame, 2, 0.0f);
switch (this->type) {
case ENBOX_TYPE_SMALL:
@@ -409,8 +409,8 @@ void EnBox_WaitOpen(EnBox* this, GlobalContext* globalCtx) {
if (this->unk_1F4 != 0) { // unk_1F4 is modified by player code
linkAge = gSaveContext.linkAge;
anim = D_809CA800[(this->unk_1F4 < 0 ? 2 : 0) + linkAge];
- frameCount = SkelAnime_GetFrameCount(anim);
- SkelAnime_ChangeAnim(&this->skelanime, anim, 1.5f, 0, frameCount, 2, 0.0f);
+ frameCount = Animation_GetLastFrame(anim);
+ Animation_Change(&this->skelanime, anim, 1.5f, 0, frameCount, 2, 0.0f);
EnBox_SetupAction(this, EnBox_Open);
if (this->unk_1F4 > 0) {
switch (this->type) {
@@ -450,7 +450,7 @@ void EnBox_Open(EnBox* this, GlobalContext* globalCtx) {
this->dyna.actor.flags &= ~0x80;
- if (SkelAnime_FrameUpdateMatrix(&this->skelanime)) {
+ if (SkelAnime_Update(&this->skelanime)) {
if (this->unk_1F4 > 0) {
if (this->unk_1F4 < 120) {
this->unk_1F4++;
@@ -467,9 +467,9 @@ void EnBox_Open(EnBox* this, GlobalContext* globalCtx) {
} else {
sfxId = 0;
- if (func_800A56C8(&this->skelanime, 30.0f)) {
+ if (Animation_OnFrame(&this->skelanime, 30.0f)) {
sfxId = NA_SE_EV_TBOX_UNLOCK;
- } else if (func_800A56C8(&this->skelanime, 90.0f)) {
+ } else if (Animation_OnFrame(&this->skelanime, 90.0f)) {
sfxId = NA_SE_EV_TBOX_OPEN;
}
@@ -477,8 +477,8 @@ void EnBox_Open(EnBox* this, GlobalContext* globalCtx) {
Audio_PlaySoundGeneral(sfxId, &this->dyna.actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
- if (this->skelanime.limbDrawTbl[3].z > 0) {
- this->unk_1B0 = (0x7D00 - this->skelanime.limbDrawTbl[3].z) * 0.00006f;
+ if (this->skelanime.jointTable[3].z > 0) {
+ this->unk_1B0 = (0x7D00 - this->skelanime.jointTable[3].z) * 0.00006f;
if (this->unk_1B0 < 0.0f) {
this->unk_1B0 = 0.0f;
} else if (this->unk_1B0 > 1.0f) {
@@ -546,7 +546,7 @@ void EnBox_Update(Actor* thisx, GlobalContext* globalCtx) {
}
if ((this->dyna.actor.params >> 5 & 0x7F) == 0x7C && this->actionFunc == EnBox_Open &&
- this->skelanime.animCurrentFrame > 45 && this->iceSmokeTimer < 100) {
+ this->skelanime.curFrame > 45 && this->iceSmokeTimer < 100) {
EnBox_SpawnIceSmoke(this, globalCtx);
}
}
@@ -644,7 +644,7 @@ void EnBox_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x08, EnBox_EmptyDList(globalCtx->state.gfxCtx));
func_80093D18(globalCtx->state.gfxCtx);
- POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL,
+ POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelanime.skeleton, this->skelanime.jointTable, NULL,
EnBox_PostLimbDraw, this, POLY_OPA_DISP);
} else if (this->alpha != 0) {
gDPPipeSync(POLY_XLU_DISP++);
@@ -655,7 +655,7 @@ void EnBox_Draw(Actor* thisx, GlobalContext* globalCtx) {
} else {
gSPSegment(POLY_XLU_DISP++, 0x08, func_809CA4A0(globalCtx->state.gfxCtx));
}
- POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL,
+ POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelanime.skeleton, this->skelanime.jointTable, NULL,
EnBox_PostLimbDraw, this, POLY_XLU_DISP);
}
diff --git a/src/overlays/actors/ovl_En_Box/z_en_box.h b/src/overlays/actors/ovl_En_Box/z_en_box.h
index 92da08385c..428b55de15 100644
--- a/src/overlays/actors/ovl_En_Box/z_en_box.h
+++ b/src/overlays/actors/ovl_En_Box/z_en_box.h
@@ -36,8 +36,8 @@ typedef struct EnBox {
/* 0x01AC */ s32 unk_1AC;
/* 0x01B0 */ f32 unk_1B0; // 0-1, rotation-related, apparently unused (in z_en_box.c at least)
/* 0x01B4 */ EnBoxActionFunc actionFunc;
- /* 0x01B8 */ Vec3s limbDrawTable[5];
- /* 0x01D6 */ Vec3s transitionDrawTable[5];
+ /* 0x01B8 */ Vec3s jointTable[5];
+ /* 0x01D6 */ Vec3s morphTable[5];
/* 0x01F4 */ s16 unk_1F4; // probably a frame count? set by player code
/* 0x01F6 */ u8 movementFlags;
/* 0x01F7 */ u8 alpha;
diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.c b/src/overlays/actors/ovl_En_Butte/z_en_butte.c
index 142d121d5e..e5737460c0 100644
--- a/src/overlays/actors/ovl_En_Butte/z_en_butte.c
+++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.c
@@ -148,15 +148,14 @@ void EnButte_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.uncullZoneScale = 200.0f;
}
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_050036F0, &D_05002470, this->limbDrawTable,
- this->transitionDrawTable, 8);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_050036F0, &D_05002470, this->jointTable, this->morphTable, 8);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sColliderInit, this->colliderItems);
this->actor.colChkInfo.mass = 0;
this->unk_25C = Rand_ZeroOne() * 0xFFFF;
this->unk_25E = Rand_ZeroOne() * 0xFFFF;
this->unk_260 = Rand_ZeroOne() * 0xFFFF;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_05002470, 1.0f, 0.0f, 0.0f, 1, 0.0f);
+ Animation_Change(&this->skelAnime, &D_05002470, 1.0f, 0.0f, 0.0f, 1, 0.0f);
EnButte_SetupFlyAround(this);
this->actor.shape.rot.x -= 0x2320;
this->drawSkelAnime = true;
@@ -252,8 +251,8 @@ void EnButte_FlyAround(EnButte* this, GlobalContext* globalCtx) {
animSpeed = this->actor.speedXZ / 2.0f + Rand_ZeroOne() * 0.2f + (1.0f - Math_SinS(this->unk_260)) * 0.15f +
(1.0f - Math_SinS(this->unk_25E)) * 0.3f + minAnimSpeed;
- this->skelAnime.animPlaybackSpeed = CLAMP(animSpeed, 0.2f, 1.5f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ this->skelAnime.playSpeed = CLAMP(animSpeed, 0.2f, 1.5f);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer <= 0) {
EnButte_SelectFlightParams(this, &sFlyAroundParams[this->flightParamsIdx]);
@@ -314,8 +313,8 @@ void EnButte_FollowLink(EnButte* this, GlobalContext* globalCtx) {
animSpeed = this->actor.speedXZ / 2.0f + Rand_ZeroOne() * 0.2f + (1.0f - Math_SinS(this->unk_260)) * 0.15f +
(1.0f - Math_SinS(this->unk_25E)) * 0.3f + minAnimSpeed;
- this->skelAnime.animPlaybackSpeed = CLAMP(animSpeed, 0.2f, 1.5f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ this->skelAnime.playSpeed = CLAMP(animSpeed, 0.2f, 1.5f);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer <= 0) {
EnButte_SelectFlightParams(this, &sFollowLinkParams[this->flightParamsIdx]);
@@ -339,13 +338,13 @@ void EnButte_FollowLink(EnButte* this, GlobalContext* globalCtx) {
void EnButte_SetupTransformIntoFairy(EnButte* this) {
this->timer = 9;
this->actor.flags |= 0x10;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
EnButte_ResetTransformationEffect();
this->actionFunc = EnButte_TransformIntoFairy;
}
void EnButte_TransformIntoFairy(EnButte* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
EnButte_UpdateTransformationEffect();
if (this->timer == 5) {
@@ -413,7 +412,7 @@ void EnButte_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (this->drawSkelAnime) {
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL);
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, NULL);
func_800628A4(0, &this->collider);
}
diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.h b/src/overlays/actors/ovl_En_Butte/z_en_butte.h
index 8e3357f1f6..c4bc6e7384 100644
--- a/src/overlays/actors/ovl_En_Butte/z_en_butte.h
+++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.h
@@ -13,8 +13,8 @@ typedef struct EnButte {
/* 0x014C */ ColliderJntSph collider;
/* 0x016C */ ColliderJntSphItem colliderItems[1];
/* 0x01AC */ SkelAnime skelAnime;
- /* 0x01F0 */ Vec3s limbDrawTable[8];
- /* 0x0220 */ Vec3s transitionDrawTable[8];
+ /* 0x01F0 */ Vec3s jointTable[8];
+ /* 0x0220 */ Vec3s morphTable[8];
/* 0x0250 */ EnButteActionFunc actionFunc;
/* 0x0254 */ s16 timer;
/* 0x0256 */ u8 flightParamsIdx;
diff --git a/src/overlays/actors/ovl_En_Bw/z_en_bw.c b/src/overlays/actors/ovl_En_Bw/z_en_bw.c
index 2ab3a9b320..3b996747fc 100644
--- a/src/overlays/actors/ovl_En_Bw/z_en_bw.c
+++ b/src/overlays/actors/ovl_En_Bw/z_en_bw.c
@@ -80,7 +80,7 @@ void EnBw_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_SetScale(&this->actor, 0.012999999f);
this->actor.naviEnemyId = 0x23;
this->actor.gravity = -2.0f;
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_060020F0, &D_06000228, this->limbDrawTbl, this->transitionDrawTbl,
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_060020F0, &D_06000228, this->jointTable, this->morphTable,
12);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 40.0f);
this->actor.colChkInfo.damageTable = &sDamageTable;
@@ -122,7 +122,7 @@ void func_809CE884(EnBw* this, GlobalContext* globalCtx) {
}
void func_809CE9A8(EnBw* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000228, -2.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000228, -2.0f);
this->unk_220 = 2;
this->unk_222 = Rand_ZeroOne() * 200.0f + 200.0f;
this->unk_232 = 0;
@@ -141,7 +141,7 @@ void func_809CEA24(EnBw* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
Player* player2 = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->unk_244 = this->unk_250 + 0.1f;
sp58 = Math_CosF(this->unk_240);
this->unk_240 += this->unk_244;
@@ -336,7 +336,7 @@ void func_809CEA24(EnBw* this, GlobalContext* globalCtx) {
}
void func_809CF72C(EnBw* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060021A0, -2.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060021A0, -2.0f);
this->unk_220 = 3;
this->unk_221 = 0;
this->unk_250 = 0.6f;
@@ -348,7 +348,7 @@ void func_809CF72C(EnBw* this) {
}
void func_809CF7AC(EnBw* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->unk_222 > 0) {
this->unk_222--;
} else {
@@ -368,7 +368,7 @@ void func_809CF7AC(EnBw* this, GlobalContext* globalCtx) {
}
void func_809CF8F0(EnBw* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06002250, -1.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06002250, -1.0f);
this->actor.speedXZ = 7.0f;
this->actor.posRot.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsLink;
this->unk_220 = 4;
@@ -396,7 +396,7 @@ void func_809CF984(EnBw* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&player->actor, NA_SE_PL_BODY_HIT);
}
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.bgCheckFlags & 3) {
floorPolyType = func_80041D4C(&globalCtx->colCtx, this->actor.floorPoly, this->actor.floorPolySource);
if ((floorPolyType == 2) || (floorPolyType == 3) || (floorPolyType == 9)) {
@@ -413,7 +413,7 @@ void func_809CF984(EnBw* this, GlobalContext* globalCtx) {
}
void func_809CFBA8(EnBw* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06002250, -1.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06002250, -1.0f);
this->unk_220 = 5;
this->unk_222 = 1000;
this->unk_260 = 0.0f;
@@ -428,7 +428,7 @@ void func_809CFBA8(EnBw* this) {
void func_809CFC4C(EnBw* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.shape.rot.z, 0x7FFF, 1, 0xFA0, 0);
Math_SmoothStepToF(&this->unk_248, 0.0f, 1.0f, 0.05f, 0.0f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.bgCheckFlags & 3) {
if ((globalCtx->gameplayFrames % 0x80) == 0) {
this->unk_25C = (Rand_ZeroOne() * 0.25f) + 0.7f;
@@ -471,7 +471,7 @@ void func_809CFC4C(EnBw* this, GlobalContext* globalCtx) {
}
void func_809CFF10(EnBw* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06002250, -1.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06002250, -1.0f);
this->unk_220 = 6;
this->unk_222 = 1000;
this->unk_221 = 3;
@@ -485,7 +485,7 @@ void func_809CFF10(EnBw* this) {
void func_809CFF98(EnBw* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.shape.rot.z, 0, 1, 0xFA0, 0);
Math_SmoothStepToF(&this->unk_248, 0.6f, 1.0f, 0.05f, 0.0f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.bgCheckFlags & 3) {
func_80033260(globalCtx, &this->actor, &this->actor.posRot.pos, 30.0f, 0xB, 4.0f, 0, 0, 0);
this->unk_222 = 0xBB8;
@@ -796,7 +796,7 @@ void EnBw_Draw(Actor* thisx, GlobalContext* globalCtx2) {
func_80093D18(globalCtx->state.gfxCtx);
gDPSetEnvColor(POLY_OPA_DISP++, this->color1.r, this->color1.g, this->color1.b, this->color1.a);
gSPSegment(POLY_OPA_DISP++, 0x08, &D_80116280[2]);
- POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnBw_OverrideLimbDraw, NULL, this, POLY_OPA_DISP);
} else {
func_80093D84(globalCtx->state.gfxCtx);
@@ -804,7 +804,7 @@ void EnBw_Draw(Actor* thisx, GlobalContext* globalCtx2) {
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 0, 0, 0, this->color1.a);
gDPSetEnvColor(POLY_XLU_DISP++, this->color1.r, this->color1.g, this->color1.b, this->color1.a);
gSPSegment(POLY_XLU_DISP++, 0x08, &D_80116280[0]);
- POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnBw_OverrideLimbDraw, NULL, this, POLY_XLU_DISP);
}
diff --git a/src/overlays/actors/ovl_En_Bw/z_en_bw.h b/src/overlays/actors/ovl_En_Bw/z_en_bw.h
index 958dfd4a3e..44a4bcaee7 100644
--- a/src/overlays/actors/ovl_En_Bw/z_en_bw.h
+++ b/src/overlays/actors/ovl_En_Bw/z_en_bw.h
@@ -10,8 +10,8 @@ typedef void (*EnBwActionFunc)(struct EnBw*, GlobalContext*);
typedef struct EnBw {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTbl[12];
- /* 0x01D8 */ Vec3s transitionDrawTbl[12];
+ /* 0x0190 */ Vec3s jointTable[12];
+ /* 0x01D8 */ Vec3s morphTable[12];
/* 0x0220 */ u8 unk_220;
/* 0x0221 */ u8 unk_221;
/* 0x0222 */ s16 unk_222;
diff --git a/src/overlays/actors/ovl_En_Cow/z_en_cow.c b/src/overlays/actors/ovl_En_Cow/z_en_cow.c
index 5e295b866d..cdf0a66aca 100644
--- a/src/overlays/actors/ovl_En_Cow/z_en_cow.c
+++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.c
@@ -102,9 +102,8 @@ void EnCow_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 72.0f);
switch (this->actor.params) {
case 0:
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004010, NULL, this->limbDrawTable,
- this->transitionDrawTable, 6);
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060001CC);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004010, NULL, this->jointTable, this->morphTable, 6);
+ Animation_PlayLoop(&this->skelAnime, &D_060001CC);
Collider_InitCylinder(globalCtx, &this->colliders[0]);
Collider_SetCylinder(globalCtx, &this->colliders[0], &this->actor, &sCylinderInit);
Collider_InitCylinder(globalCtx, &this->colliders[1]);
@@ -129,9 +128,8 @@ void EnCow_Init(Actor* thisx, GlobalContext* globalCtx) {
DREG(53) = 0;
break;
case 1:
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004C30, NULL, this->limbDrawTable,
- this->transitionDrawTable, 6);
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06004348);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004C30, NULL, this->jointTable, this->morphTable, 6);
+ Animation_PlayLoop(&this->skelAnime, &D_06004348);
this->actor.update = func_809DFE98;
this->actor.draw = func_809E0070;
this->actionFunc = func_809DFA84;
@@ -159,8 +157,8 @@ void func_809DF494(EnCow* this, GlobalContext* globalCtx) {
this->unk_278 -= 1;
} else {
this->unk_278 = Rand_ZeroFloat(500.0f) + 40.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060001CC, 1.0f, this->skelAnime.animCurrentFrame,
- SkelAnime_GetFrameCount(&D_060001CC), 2, 1.0f);
+ Animation_Change(&this->skelAnime, &D_060001CC, 1.0f, this->skelAnime.curFrame,
+ Animation_GetLastFrame(&D_060001CC), 2, 1.0f);
}
if ((this->actor.xzDistFromLink < 150.0f) && (!(this->unk_276 & 2))) {
@@ -275,8 +273,8 @@ void func_809DFA84(EnCow* this, GlobalContext* globalCtx) {
this->unk_278--;
} else {
this->unk_278 = Rand_ZeroFloat(200.0f) + 40.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004348, 1.0f, this->skelAnime.animCurrentFrame,
- SkelAnime_GetFrameCount(&D_06004348), 2, 1.0f);
+ Animation_Change(&this->skelAnime, &D_06004348, 1.0f, this->skelAnime.curFrame,
+ Animation_GetLastFrame(&D_06004348), 2, 1.0f);
}
if ((this->actor.xzDistFromLink < 150.0f) &&
@@ -300,14 +298,12 @@ void EnCow_Update(Actor* thisx, GlobalContext* globalCtx) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliders[1].base);
Actor_MoveForward(thisx);
func_8002E4B4(globalCtx, thisx, 0.0f, 0.0f, 0.0f, 4);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->skelAnime.animation == &D_060001CC) {
Audio_PlayActorSound2(thisx, NA_SE_EV_COW_CRY);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004264, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06004264), 2,
- 1.0f);
+ Animation_Change(&this->skelAnime, &D_06004264, 1.0f, 0.0f, Animation_GetLastFrame(&D_06004264), 2, 1.0f);
} else {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060001CC, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060001CC), 0,
- 1.0f);
+ Animation_Change(&this->skelAnime, &D_060001CC, 1.0f, 0.0f, Animation_GetLastFrame(&D_060001CC), 0, 1.0f);
}
}
this->actionFunc(this, globalCtx);
@@ -340,13 +336,11 @@ void func_809DFE98(Actor* thisx, GlobalContext* globalCtx) {
EnCow* this = THIS;
s32 pad;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->skelAnime.animation == &D_06004348) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004E98, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06004E98), 2,
- 1.0f);
+ Animation_Change(&this->skelAnime, &D_06004E98, 1.0f, 0.0f, Animation_GetLastFrame(&D_06004E98), 2, 1.0f);
} else {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004348, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06004348), 0,
- 1.0f);
+ Animation_Change(&this->skelAnime, &D_06004348, 1.0f, 0.0f, Animation_GetLastFrame(&D_06004348), 0, 1.0f);
}
}
this->actionFunc(this, globalCtx);
@@ -362,7 +356,7 @@ s32 EnCow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
if (limbIndex == 5) {
*dList = NULL;
}
- return 0;
+ return false;
}
void EnCow_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -377,7 +371,7 @@ void EnCow_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnCow* this = THIS;
func_800943C8(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnCow_OverrideLimbDraw, EnCow_PostLimbDraw, this);
}
@@ -385,6 +379,6 @@ void func_809E0070(Actor* thisx, GlobalContext* globalCtx) {
EnCow* this = THIS;
func_800943C8(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, NULL, this);
}
diff --git a/src/overlays/actors/ovl_En_Cow/z_en_cow.h b/src/overlays/actors/ovl_En_Cow/z_en_cow.h
index d8db141e6d..3e6e51797b 100644
--- a/src/overlays/actors/ovl_En_Cow/z_en_cow.h
+++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.h
@@ -12,8 +12,8 @@ typedef struct EnCow {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder colliders[2];
/* 0x01E4 */ SkelAnime skelAnime;
- /* 0x0228 */ Vec3s limbDrawTable[6];
- /* 0x024C */ Vec3s transitionDrawTable[6];
+ /* 0x0228 */ Vec3s jointTable[6];
+ /* 0x024C */ Vec3s morphTable[6];
/* 0x0270 */ Vec3s someRot;
/* 0x0276 */ u16 unk_276;
/* 0x0278 */ u16 unk_278;
diff --git a/src/overlays/actors/ovl_En_Crow/z_en_crow.c b/src/overlays/actors/ovl_En_Crow/z_en_crow.c
index ca9c8b0b38..6362152a86 100644
--- a/src/overlays/actors/ovl_En_Crow/z_en_crow.c
+++ b/src/overlays/actors/ovl_En_Crow/z_en_crow.c
@@ -67,8 +67,7 @@ void EnCrow_Init(Actor* thisx, GlobalContext* globalCtx) {
EnCrow* this = THIS;
Actor_ProcessInitChain(&this->actor, sInitChain);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060010C0, &D_060000F0, &this->limbDrawTable,
- &this->transitionDrawTable, 9);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060010C0, &D_060000F0, this->jointTable, this->morphTable, 9);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, &this->colliderItems);
this->collider.list[0].dim.worldSphere.radius = sJntSphInit.list->dim.modelSphere.radius;
@@ -88,13 +87,13 @@ void EnCrow_SetupWait(EnCrow* this) {
this->timer = 100;
this->collider.base.acFlags |= 1;
this->actionFunc = EnCrow_Wait;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
}
void func_809E0384(EnCrow* this) {
this->timer = 300;
this->actor.speedXZ = 4.0f;
- this->skelAnime.animPlaybackSpeed = 2.0f;
+ this->skelAnime.playSpeed = 2.0f;
this->actionFunc = func_809E0C8C;
}
@@ -105,7 +104,7 @@ void func_809E03B4(EnCrow* this, GlobalContext* globalCtx) {
this->actor.speedXZ *= Math_CosS(this->actor.posRot.rot.x);
this->actor.velocity.y = 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060000F0, 0.4f, 0.0f, 0.0f, 1, -3.0f);
+ Animation_Change(&this->skelAnime, &D_060000F0, 0.4f, 0.0f, 0.0f, 1, -3.0f);
scale = this->actor.scale.x * 100.0f;
this->actor.posRot.pos.y += 20.0f * scale;
this->actor.bgCheckFlags &= ~1;
@@ -152,7 +151,7 @@ void func_809E06E8(EnCrow* this) {
this->actor.speedXZ = 3.5f;
this->aimRotX = -0x1000;
this->aimRotY = this->actor.yawTowardsLink + 0x8000;
- this->skelAnime.animPlaybackSpeed = 2.0f;
+ this->skelAnime.playSpeed = 2.0f;
func_8003426C(&this->actor, 0, 255, 0, 5);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
this->actionFunc = func_809E1004;
@@ -168,7 +167,7 @@ void func_809E0770(EnCrow* this) {
this->collider.list[0].dim.worldSphere.radius = sJntSphInit.list->dim.modelSphere.radius;
}
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060000F0);
+ Animation_PlayLoop(&this->skelAnime, &D_060000F0);
Math_Vec3f_Copy(&this->actor.posRot, &this->actor.initPosRot);
this->actor.shape.rot.x = 0;
this->actor.shape.rot.z = 0;
@@ -184,8 +183,8 @@ void EnCrow_Wait(EnCrow* this, GlobalContext* globalCtx) {
s32 skelanimeUpdated;
s16 var;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- skelanimeUpdated = func_800A56C8(&this->skelAnime, 0.0f);
+ SkelAnime_Update(&this->skelAnime);
+ skelanimeUpdated = Animation_OnFrame(&this->skelAnime, 0.0f);
this->actor.speedXZ = (Rand_ZeroOne() * 1.5f) + 3.0f;
if (this->actor.bgCheckFlags & 8) {
@@ -242,7 +241,7 @@ void func_809E0C8C(EnCrow* this, GlobalContext* globalCtx) {
Vec3f pos;
s16 target;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
@@ -317,7 +316,7 @@ void EnCrow_Die(EnCrow* this, GlobalContext* globalCtx) {
}
void func_809E1004(EnCrow* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.bgCheckFlags & 8) {
this->aimRotY = this->actor.wallPolyRot;
@@ -344,7 +343,7 @@ void func_809E10A8(EnCrow* this, GlobalContext* globalCtx) {
}
if (this->timer == 0) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->actor.draw = EnCrow_Draw;
if (this->actor.params != 0) {
target = 0.03f;
@@ -421,7 +420,7 @@ void EnCrow_Update(Actor* thisx, GlobalContext* globalCtx) {
Actor_SetHeight(&this->actor, height);
- if (this->actor.colChkInfo.health != 0 && func_800A56C8(&this->skelAnime, 3.0f)) {
+ if (this->actor.colChkInfo.health != 0 && Animation_OnFrame(&this->skelAnime, 3.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_KAICHO_FLUTTER);
}
}
@@ -431,9 +430,9 @@ s32 EnCrow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
if (this->actor.colChkInfo.health != 0) {
if (limbIndex == 7) {
- rot->y += 0xC00 * sinf(this->skelAnime.animCurrentFrame * (M_PI / 4));
+ rot->y += 0xC00 * sinf(this->skelAnime.curFrame * (M_PI / 4));
} else if (limbIndex == 8) {
- rot->y += 0x1400 * sinf((this->skelAnime.animCurrentFrame + 2.5f) * (M_PI / 4));
+ rot->y += 0x1400 * sinf((this->skelAnime.curFrame + 2.5f) * (M_PI / 4));
}
}
return false;
@@ -457,6 +456,6 @@ void EnCrow_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnCrow* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnCrow_OverrideLimbDraw, EnCrow_PostLimbDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_Crow/z_en_crow.h b/src/overlays/actors/ovl_En_Crow/z_en_crow.h
index 3830bab394..75709dd846 100644
--- a/src/overlays/actors/ovl_En_Crow/z_en_crow.h
+++ b/src/overlays/actors/ovl_En_Crow/z_en_crow.h
@@ -16,8 +16,8 @@ typedef struct EnCrow {
/* 0x01C4 */ s16 timer;
/* 0x01C6 */ s16 aimRotX;
/* 0x01C8 */ s16 aimRotY;
- /* 0x01CA */ Vec3s limbDrawTable[9];
- /* 0x0200 */ Vec3s transitionDrawTable[9];
+ /* 0x01CA */ Vec3s jointTable[9];
+ /* 0x0200 */ Vec3s morphTable[9];
/* 0x0238 */ ColliderJntSph collider;
/* 0x0258 */ ColliderJntSphItem colliderItems[1];
} EnCrow; // size = 0x0298
diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c
index 9a402f1ac5..bdf11791b2 100644
--- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c
+++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c
@@ -93,7 +93,7 @@ static EnDaikuEscapeSubCamParam sEscapeSubCamParams[] = {
{ { -40, 60, 60 }, 120 },
};
-void EnDaiku_ChangeAnim(EnDaiku* this, s32 animIndex, s32* currentAnimIndex) {
+void EnDaiku_Change(EnDaiku* this, s32 animIndex, s32* currentAnimIndex) {
f32 transitionRate;
if (*currentAnimIndex < 0 || *currentAnimIndex == animIndex) {
@@ -102,9 +102,8 @@ void EnDaiku_ChangeAnim(EnDaiku* this, s32 animIndex, s32* currentAnimIndex) {
transitionRate = sAnimations[animIndex].transitionRate;
}
- SkelAnime_ChangeAnim(&this->skelAnime, sAnimations[animIndex].anim, 1.0f, 0.0f,
- SkelAnime_GetFrameCount(sAnimations[animIndex].anim), sAnimations[animIndex].mode,
- transitionRate);
+ Animation_Change(&this->skelAnime, sAnimations[animIndex].anim, 1.0f, 0.0f,
+ Animation_GetLastFrame(sAnimations[animIndex].anim), sAnimations[animIndex].mode, transitionRate);
*currentAnimIndex = animIndex;
}
@@ -135,8 +134,7 @@ void EnDaiku_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.shape.rot.z = 0;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 40.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007958, NULL, this->limbDrawTable, this->transitionDrawTable,
- 17);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007958, NULL, this->jointTable, this->morphTable, 17);
if (!noKill) {
Actor_Kill(&this->actor);
@@ -147,9 +145,8 @@ void EnDaiku_Init(Actor* thisx, GlobalContext* globalCtx) {
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
func_80061EFC(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit2);
- SkelAnime_ChangeAnim(&this->skelAnime, sAnimations[0].anim, 1.0f, 0.0f,
- SkelAnime_GetFrameCount(sAnimations[0].anim), sAnimations[0].mode,
- sAnimations[0].transitionRate);
+ Animation_Change(&this->skelAnime, sAnimations[0].anim, 1.0f, 0.0f, Animation_GetLastFrame(sAnimations[0].anim),
+ sAnimations[0].mode, sAnimations[0].transitionRate);
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
@@ -160,19 +157,19 @@ void EnDaiku_Init(Actor* thisx, GlobalContext* globalCtx) {
this->initPos = this->actor.posRot.pos;
if (globalCtx->sceneNum == SCENE_GERUDOWAY) {
- EnDaiku_ChangeAnim(this, ENDAIKU_ANIM_STAND, &this->currentAnimIndex);
+ EnDaiku_Change(this, ENDAIKU_ANIM_STAND, &this->currentAnimIndex);
this->stateFlags |= ENDAIKU_STATEFLAG_1 | ENDAIKU_STATEFLAG_2;
this->actionFunc = EnDaiku_Jailed;
} else {
if ((this->actor.params & 3) == 1 || (this->actor.params & 3) == 3) {
- EnDaiku_ChangeAnim(this, ENDAIKU_ANIM_SIT, &this->currentAnimIndex);
+ EnDaiku_Change(this, ENDAIKU_ANIM_SIT, &this->currentAnimIndex);
this->stateFlags |= ENDAIKU_STATEFLAG_1;
} else {
- EnDaiku_ChangeAnim(this, ENDAIKU_ANIM_SHOUT, &this->currentAnimIndex);
+ EnDaiku_Change(this, ENDAIKU_ANIM_SHOUT, &this->currentAnimIndex);
this->stateFlags |= ENDAIKU_STATEFLAG_1 | ENDAIKU_STATEFLAG_2;
}
- this->skelAnime.animCurrentFrame = (s32)(Rand_ZeroOne() * this->skelAnime.animFrameCount);
+ this->skelAnime.curFrame = (s32)(Rand_ZeroOne() * this->skelAnime.endFrame);
this->actionFunc = EnDaiku_TentIdle;
}
}
@@ -322,7 +319,7 @@ void EnDaiku_UpdateText(EnDaiku* this, GlobalContext* globalCtx);
* The carpenter is idling in the tent.
*/
void EnDaiku_TentIdle(EnDaiku* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
EnDaiku_UpdateText(this, globalCtx);
}
@@ -337,13 +334,13 @@ void EnDaiku_Jailed(EnDaiku* this, GlobalContext* globalCtx) {
if (!(this->stateFlags & ENDAIKU_STATEFLAG_GERUDOFIGHTING)) {
EnDaiku_UpdateText(this, globalCtx);
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
gerudo = (EnGeldB*)Actor_Find(&globalCtx->actorCtx, ACTOR_EN_GELDB, ACTORTYPE_ENEMY);
if (gerudo == NULL) {
this->stateFlags |= ENDAIKU_STATEFLAG_GERUDODEFEATED;
this->stateFlags &= ~ENDAIKU_STATEFLAG_GERUDOFIGHTING;
- EnDaiku_ChangeAnim(this, ENDAIKU_ANIM_CELEBRATE, &this->currentAnimIndex);
+ EnDaiku_Change(this, ENDAIKU_ANIM_CELEBRATE, &this->currentAnimIndex);
this->actionFunc = EnDaiku_WaitFreedom;
} else if (!(this->stateFlags & ENDAIKU_STATEFLAG_GERUDOFIGHTING) && !gerudo->invisible) {
this->stateFlags |= ENDAIKU_STATEFLAG_GERUDOFIGHTING;
@@ -356,7 +353,7 @@ void EnDaiku_Jailed(EnDaiku* this, GlobalContext* globalCtx) {
* to then talk to him
*/
void EnDaiku_WaitFreedom(EnDaiku* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (Flags_GetSwitch(globalCtx, this->actor.params >> 8 & 0x3F)) {
this->actor.flags |= 9;
@@ -376,7 +373,7 @@ void EnDaiku_InitEscape(EnDaiku* this, GlobalContext* globalCtx) {
s32 exitLoop;
func_800F5C64(0x51);
- EnDaiku_ChangeAnim(this, ENDAIKU_ANIM_RUN, &this->currentAnimIndex);
+ EnDaiku_Change(this, ENDAIKU_ANIM_RUN, &this->currentAnimIndex);
this->stateFlags &= ~(ENDAIKU_STATEFLAG_1 | ENDAIKU_STATEFLAG_2);
gSaveContext.eventChkInf[9] |= 1 << (this->actor.params & 3);
@@ -410,7 +407,7 @@ void EnDaiku_EscapeRotate(EnDaiku* this, GlobalContext* globalCtx) {
s16 diff;
diff = Math_SmoothStepToS(&this->actor.shape.rot.y, this->rotYtowardsPath, 1, 0x1388, 0);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (diff == 0) {
this->actionFunc = EnDaiku_EscapeRun;
this->actionFunc(this, globalCtx);
@@ -532,7 +529,7 @@ void EnDaiku_EscapeRun(EnDaiku* this, GlobalContext* globalCtx) {
}
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
void EnDaiku_Update(Actor* thisx, GlobalContext* globalCtx) {
@@ -541,7 +538,7 @@ void EnDaiku_Update(Actor* thisx, GlobalContext* globalCtx) {
Player* player = PLAYER;
if (this->currentAnimIndex == ENDAIKU_ANIM_RUN) {
- curFrame = this->skelAnime.animCurrentFrame;
+ curFrame = this->skelAnime.curFrame;
if (curFrame == 6 || curFrame == 15) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_WALK);
}
@@ -582,7 +579,7 @@ void EnDaiku_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 200, 0, 150, 255);
}
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnDaiku_OverrideLimbDraw, EnDaiku_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_daiku.c", 1255);
@@ -602,7 +599,7 @@ s32 EnDaiku_OverrideLimbDraw(GlobalContext* globalCtx, s32 limb, Gfx** dList, Ve
break;
}
- return 0;
+ return false;
}
void EnDaiku_PostLimbDraw(GlobalContext* globalCtx, s32 limb, Gfx** dList, Vec3s* rot, void* thisx) {
diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h
index 68a14ede5e..6a728059cc 100644
--- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h
+++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h
@@ -31,8 +31,8 @@ typedef struct EnDaiku {
/* 0x023C */ s32 stateFlags;
/* 0x0240 */ s32 startFightSwitchFlag;
/* 0x0244 */ struct_80034A14_arg1 unk_244; // probably related to animating torso and head towards the player
- /* 0x026C */ Vec3s limbDrawTable[17];
- /* 0x02D2 */ Vec3s transitionDrawTable[17];
+ /* 0x026C */ Vec3s jointTable[17];
+ /* 0x02D2 */ Vec3s morphTable[17];
/* 0x0338 */ Vec3s initRot;
/* 0x0340 */ Vec3f initPos;
} EnDaiku; // size = 0x034C
diff --git a/src/overlays/actors/ovl_En_Dh/z_en_dh.c b/src/overlays/actors/ovl_En_Dh/z_en_dh.c
index b7b3bc0d43..7daf2633b4 100644
--- a/src/overlays/actors/ovl_En_Dh/z_en_dh.c
+++ b/src/overlays/actors/ovl_En_Dh/z_en_dh.c
@@ -95,8 +95,7 @@ void EnDh_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
this->actor.colChkInfo.damageTable = &D_809EC620;
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007E88, &D_06005880, this->limbDrawTable, this->limbRotTable,
- 16);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007E88, &D_06005880, this->jointTable, this->limbRotTable, 16);
ActorShape_Init(&this->actor.shape, 0.0f, &ActorShadow_DrawFunc_Circle, 64.0f);
this->actor.params = ENDH_WAIT_UNDERGROUND;
this->actor.colChkInfo.mass = 0xFE;
@@ -139,7 +138,7 @@ void EnDh_SpawnDebris(GlobalContext* globalCtx, EnDh* this, Vec3f* spawnPos, f32
}
void EnDh_SetupWait(EnDh* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06003A8C);
+ Animation_PlayLoop(&this->skelAnime, &D_06003A8C);
this->curAction = DH_WAIT;
this->actor.posRot.pos.x = Rand_CenteredFloat(600.0f) + this->actor.initPosRot.pos.x;
this->actor.posRot.pos.z = Rand_CenteredFloat(600.0f) + this->actor.initPosRot.pos.z;
@@ -152,7 +151,7 @@ void EnDh_SetupWait(EnDh* this) {
}
void EnDh_Wait(EnDh* this, GlobalContext* globalCtx) {
- if ((s32)this->skelAnime.animCurrentFrame == 5) {
+ if ((s32)this->skelAnime.curFrame == 5) {
func_800F5ACC(0x38);
}
if (Actor_GetCollidedExplosive(globalCtx, &this->collider1.base)) {
@@ -185,7 +184,7 @@ void EnDh_Wait(EnDh* this, GlobalContext* globalCtx) {
break;
}
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0x7D0, 0);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.params != ENDH_START_ATTACK_BOMB) {
func_8008EEAC(globalCtx, &this->actor);
}
@@ -193,8 +192,7 @@ void EnDh_Wait(EnDh* this, GlobalContext* globalCtx) {
}
void EnDh_SetupWalk(EnDh* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06003A8C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06003A8C) - 3.0f, 0,
- -6.0f);
+ Animation_Change(&this->skelAnime, &D_06003A8C, 1.0f, 0.0f, Animation_GetLastFrame(&D_06003A8C) - 3.0f, 0, -6.0f);
this->curAction = DH_WALK;
this->timer = 300;
this->actor.speedXZ = 1.0f;
@@ -204,8 +202,8 @@ void EnDh_SetupWalk(EnDh* this) {
void EnDh_Walk(EnDh* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0xFA, 0);
this->actor.posRot.rot.y = this->actor.shape.rot.y;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (((s32)this->skelAnime.animCurrentFrame % 8) == 0) {
+ SkelAnime_Update(&this->skelAnime);
+ if (((s32)this->skelAnime.curFrame % 8) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_WALK);
}
if ((globalCtx->gameplayFrames & 0x5F) == 0) {
@@ -222,7 +220,7 @@ void EnDh_Walk(EnDh* this, GlobalContext* globalCtx) {
}
void EnDh_SetupRetreat(EnDh* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06005880, -4.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06005880, -4.0f);
this->curAction = DH_RETREAT;
this->timer = 70;
this->actor.speedXZ = 1.0f;
@@ -238,11 +236,11 @@ void EnDh_Retreat(EnDh* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.shape.rot.y, (s16)(this->actor.yawTowardsLink + 0x8000), 1, 0xBB8, 0);
}
this->actor.posRot.rot.y = this->actor.shape.rot.y;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
void EnDh_SetupAttack(EnDh* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06004658, -6.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06004658, -6.0f);
this->timer = this->actionState = 0;
this->curAction = DH_ATTACK;
this->actor.speedXZ = 0.0f;
@@ -252,24 +250,24 @@ void EnDh_SetupAttack(EnDh* this) {
void EnDh_Attack(EnDh* this, GlobalContext* globalCtx) {
s32 pad;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->actionState++;
} else if ((this->actor.xzDistFromLink > 100.0f) || !func_8002E084(&this->actor, 60 * 0x10000 / 360)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004658, -1.0f, this->skelAnime.animCurrentFrame, 0.0f, 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06004658, -1.0f, this->skelAnime.curFrame, 0.0f, 2, -4.0f);
this->actionState = 4;
this->collider2.base.atFlags = this->collider2.list[0].body.toucherFlags = 0;
this->collider2.list[0].body.toucher.flags = this->collider2.list[0].body.toucher.damage = 0;
}
switch (this->actionState) {
case 1:
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06001A3C);
+ Animation_PlayOnce(&this->skelAnime, &D_06001A3C);
this->actionState++;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEADHAND_BITE);
case 0:
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0x5DC, 0);
break;
case 2:
- if (this->skelAnime.animCurrentFrame >= 4.0f) {
+ if (this->skelAnime.curFrame >= 4.0f) {
this->collider2.base.atFlags = this->collider2.list[0].body.toucherFlags = 0x11;
this->collider2.list[0].body.toucher.flags = 0xFFCFFFFF;
this->collider2.list->body.toucher.damage = 8;
@@ -286,12 +284,12 @@ void EnDh_Attack(EnDh* this, GlobalContext* globalCtx) {
break;
case 3:
if ((this->actor.xzDistFromLink <= 100.0f) && (func_8002E084(&this->actor, 60 * 0x10000 / 360) != 0)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004658, 1.0f, 20.0f, SkelAnime_GetFrameCount(&D_06004658),
- 2, -6.0f);
+ Animation_Change(&this->skelAnime, &D_06004658, 1.0f, 20.0f, Animation_GetLastFrame(&D_06004658), 2,
+ -6.0f);
this->actionState = 0;
} else {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004658, -1.0f, SkelAnime_GetFrameCount(&D_06004658), 0.0f,
- 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06004658, -1.0f, Animation_GetLastFrame(&D_06004658), 0.0f, 2,
+ -4.0f);
this->actionState++;
this->collider2.base.atFlags = this->collider2.list[0].body.toucherFlags = 0;
this->collider2.list[0].body.toucher.flags = this->collider2.list[0].body.toucher.damage = 0;
@@ -307,7 +305,7 @@ void EnDh_Attack(EnDh* this, GlobalContext* globalCtx) {
}
void EnDh_SetupBurrow(EnDh* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06002148, -6.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06002148, -6.0f);
this->curAction = DH_BURROW;
this->dirtWaveSpread = this->actor.speedXZ = 0.0f;
this->actor.posRot.rot.y = this->actor.shape.rot.y;
@@ -333,7 +331,7 @@ void EnDh_Burrow(EnDh* this, GlobalContext* globalCtx) {
this->dirtWaveAlpha = (s16)(Math_SinS(this->dirtWavePhase) * 255.0f);
EnDh_SpawnDebris(globalCtx, this, &this->actor.posRot.pos, this->dirtWaveSpread, 4, 2.05f, 1.2f);
this->collider1.dim.radius = this->dirtWaveSpread * 0.6f;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->actionState++;
}
break;
@@ -348,7 +346,7 @@ void EnDh_Burrow(EnDh* this, GlobalContext* globalCtx) {
}
void EnDh_SetupDamage(EnDh* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06003D6C, -6.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06003D6C, -6.0f);
if (this->actor.bgCheckFlags & 1) {
this->actor.speedXZ = -1.0f;
}
@@ -362,15 +360,15 @@ void EnDh_Damage(EnDh* this, GlobalContext* globalCtx) {
this->actor.speedXZ += 0.15f;
}
this->actor.posRot.rot.y = this->actor.yawTowardsLink;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->actor.posRot.rot.y = this->actor.shape.rot.y;
if (this->retreat) {
EnDh_SetupRetreat(this, globalCtx);
} else if ((this->actor.xzDistFromLink <= 105.0f) && func_8002E084(&this->actor, 60 * 0x10000 / 360)) {
- f32 frames = SkelAnime_GetFrameCount(&D_06004658);
+ f32 frames = Animation_GetLastFrame(&D_06004658);
EnDh_SetupAttack(this);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004658, 1.0f, 20.0f, frames, 2, -6.0f);
+ Animation_Change(&this->skelAnime, &D_06004658, 1.0f, 20.0f, frames, 2, -6.0f);
} else {
EnDh_SetupWalk(this);
}
@@ -379,7 +377,7 @@ void EnDh_Damage(EnDh* this, GlobalContext* globalCtx) {
}
void EnDh_SetupDeath(EnDh* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060032BC, -1.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060032BC, -1.0f);
this->curAction = DH_DEATH;
this->timer = 300;
this->actor.flags &= ~1;
@@ -391,9 +389,9 @@ void EnDh_SetupDeath(EnDh* this) {
}
void EnDh_Death(EnDh* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) || (this->timer != 300)) {
+ if (SkelAnime_Update(&this->skelAnime) || (this->timer != 300)) {
if (this->timer == 300) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_0600375C);
+ Animation_PlayLoop(&this->skelAnime, &D_0600375C);
}
this->timer--;
if (this->timer < 150) {
@@ -406,11 +404,11 @@ void EnDh_Death(EnDh* this, GlobalContext* globalCtx) {
}
}
} else {
- if (((s32)this->skelAnime.animCurrentFrame == 53) || ((s32)this->skelAnime.animCurrentFrame == 56) ||
- ((s32)this->skelAnime.animCurrentFrame == 61)) {
+ if (((s32)this->skelAnime.curFrame == 53) || ((s32)this->skelAnime.curFrame == 56) ||
+ ((s32)this->skelAnime.curFrame == 61)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
}
- if ((s32)this->skelAnime.animCurrentFrame == 61) {
+ if ((s32)this->skelAnime.curFrame == 61) {
Actor_ChangeType(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORTYPE_PROP);
}
}
@@ -501,13 +499,13 @@ void EnDh_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_OPA_DISP++, 0x08, &D_80116280[2]);
POLY_OPA_DISP =
- SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, NULL, EnDh_PostLimbDraw, &this->actor, POLY_OPA_DISP);
} else {
func_80093D84(globalCtx->state.gfxCtx);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x08, &D_80116280[0]);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, NULL, NULL, &this->actor, POLY_XLU_DISP);
}
if (this->drawDirtWave) {
diff --git a/src/overlays/actors/ovl_En_Dh/z_en_dh.h b/src/overlays/actors/ovl_En_Dh/z_en_dh.h
index 14282ae948..587de29040 100644
--- a/src/overlays/actors/ovl_En_Dh/z_en_dh.h
+++ b/src/overlays/actors/ovl_En_Dh/z_en_dh.h
@@ -11,7 +11,7 @@ typedef void (*EnDhActionFunc)(struct EnDh*, GlobalContext*);
typedef struct EnDh {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0170 */ Vec3s limbDrawTable[16];
+ /* 0x0170 */ Vec3s jointTable[16];
/* 0x01F0 */ Vec3s limbRotTable[16];
/* 0x0250 */ u8 actionState;
/* 0x0251 */ u8 retreat;
diff --git a/src/overlays/actors/ovl_En_Dha/z_en_dha.c b/src/overlays/actors/ovl_En_Dha/z_en_dha.c
index bddfde8946..73a7c551b0 100644
--- a/src/overlays/actors/ovl_En_Dha/z_en_dha.c
+++ b/src/overlays/actors/ovl_En_Dha/z_en_dha.c
@@ -88,8 +88,7 @@ void EnDha_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
this->actor.colChkInfo.damageTable = &sDamageTable;
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06000BD8, &D_060015B0, this->limbDrawTable,
- this->transitionDrawTable, 4);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06000BD8, &D_060015B0, this->jointTable, this->morphTable, 4);
ActorShape_Init(&this->actor.shape, 0, ActorShadow_DrawFunc_Teardrop, 90.0f);
this->actor.posRot2.pos = this->actor.posRot.pos;
this->actor.posRot2.pos.y += 50.0f;
@@ -110,7 +109,7 @@ void EnDha_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void func_809EC9C8(EnDha* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060015B0);
+ Animation_PlayLoop(&this->skelAnime, &D_060015B0);
this->unk_1C0 = 0;
this->unk_1C8 = ((Rand_ZeroOne() * 10.0f) + 5.0f);
this->actor.speedXZ = 0.0f;
@@ -208,7 +207,7 @@ void func_809ECA50(EnDha* this, GlobalContext* globalCtx) {
this->actor.initPosRot.rot.z = 1;
Math_SmoothStepToS(&this->unk_1D0.x, 0, 1, 0x3E8, 0);
Math_SmoothStepToS(&this->unk_1CE, -0x4000, 1, 0x3E8, 0);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
}
@@ -228,7 +227,7 @@ void func_809ECF8C(EnDha* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->unk_1D0.x, 0, 1, 2000, 0);
Math_SmoothStepToS(&this->unk_1D0.y, 0, 1, 600, 0);
Math_SmoothStepToS(&this->unk_1CE, -0x4000, 1, 2000, 0);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->unk_1C8--;
if (this->unk_1C8 == 0) {
func_809EC9C8(this);
@@ -262,7 +261,7 @@ void EnDha_Die(EnDha* this, GlobalContext* globalCtx) {
}
Math_SmoothStepToS(&this->unk_1D0.x, 0, 1, 0x7D0, 0);
result = Math_SmoothStepToS(&this->unk_1CE, -0x4000, 1, 0x7D0, 0);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (result == 0) {
vector = this->actor.posRot.pos;
@@ -336,7 +335,7 @@ s32 EnDha_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->y = -this->unk_1D6.x;
rot->z = -this->unk_1D0.z;
}
- return 0;
+ return false;
}
void EnDha_OverridePostDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -370,6 +369,6 @@ void EnDha_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnDha* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnDha_OverrideLimbDraw, EnDha_OverridePostDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_Dha/z_en_dha.h b/src/overlays/actors/ovl_En_Dha/z_en_dha.h
index e4eabe4f0b..3b14252b9d 100644
--- a/src/overlays/actors/ovl_En_Dha/z_en_dha.h
+++ b/src/overlays/actors/ovl_En_Dha/z_en_dha.h
@@ -11,8 +11,8 @@ typedef void (*EnDhaActionFunc)(struct EnDha*, GlobalContext*);
typedef struct EnDha {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[4];
- /* 0x01A8 */ Vec3s transitionDrawTable[4];
+ /* 0x0190 */ Vec3s jointTable[4];
+ /* 0x01A8 */ Vec3s morphTable[4];
/* 0x01C0 */ u8 unk_1C0;
/* 0x01C4 */ EnDhaActionFunc actionFunc;
/* 0x01C8 */ s16 unk_1C8;
diff --git a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.h b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.h
index 3100df5ea6..a868a18d7a 100644
--- a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.h
+++ b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.h
@@ -11,8 +11,8 @@ typedef void (*EnDivingGameActionFunc)(struct EnDivingGame*, GlobalContext*);
typedef struct EnDivingGame {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[20];
- /* 0x0208 */ Vec3s transitionDrawTable[20];
+ /* 0x0190 */ Vec3s jointTable[20];
+ /* 0x0208 */ Vec3s morphTable[20];
/* 0x0280 */ EnDivingGameActionFunc actionFunc;
/* 0x0284 */ Vec3s vec_284;
/* 0x028A */ Vec3s vec_28A;
diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/src/overlays/actors/ovl_En_Dns/z_en_dns.c
index c7152ebdd4..bfd3f23269 100644
--- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c
+++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c
@@ -141,8 +141,7 @@ void EnDns_Init(Actor* thisx, GlobalContext* globalCtx) {
osSyncPrintf(VT_FGCOL(GREEN) "◆◆◆ 売りナッツ『%s』 ◆◆◆" VT_RST "\n", D_809F0424[this->actor.params],
this->actor.params);
Actor_ProcessInitChain(&this->actor, sInitChain);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060041A8, &D_060009A0, this->limbDrawTable,
- this->transitionDrawTable, 18);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060041A8, &D_060009A0, this->jointTable, this->morphTable, 18);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder_Set3(globalCtx, &this->collider, &this->actor, &sCylinderInit);
ActorShape_Init(&this->actor.shape, 0.0f, &ActorShadow_DrawFunc_Circle, 35.0f);
@@ -165,13 +164,13 @@ void EnDns_Destroy(Actor* thisx, GlobalContext* globalCtx) {
Collider_DestroyCylinder(globalCtx, &this->collider);
}
-void EnDns_ChangeAnim(EnDns* this, u8 arg1) {
+void EnDns_Change(EnDns* this, u8 arg1) {
s16 frameCount;
- frameCount = SkelAnime_GetFrameCount(D_809F0538[arg1].anim);
+ frameCount = Animation_GetLastFrame(D_809F0538[arg1].anim);
this->unk_2BA = arg1; // Not used anywhere else?
- SkelAnime_ChangeAnim(&this->skelAnime, D_809F0538[arg1].anim, 1.0f, 0.0f, (f32)frameCount, D_809F0538[arg1].mode,
- D_809F0538[arg1].transitionRate);
+ Animation_Change(&this->skelAnime, D_809F0538[arg1].anim, 1.0f, 0.0f, (f32)frameCount, D_809F0538[arg1].mode,
+ D_809F0538[arg1].transitionRate);
}
/* Item give checking functions */
@@ -305,9 +304,9 @@ void func_809EFB40(EnDns* this) {
}
void EnDns_SetupWait(EnDns* this, GlobalContext* globalCtx) {
- if (this->skelAnime.animCurrentFrame == this->skelAnime.animFrameCount) {
+ if (this->skelAnime.curFrame == this->skelAnime.endFrame) {
this->actionFunc = EnDns_Wait;
- EnDns_ChangeAnim(this, 0);
+ EnDns_Change(this, 0);
}
}
@@ -403,7 +402,7 @@ void func_809EFF98(EnDns* this, GlobalContext* globalCtx) {
this->dropCollectible = 1;
this->maintainCollider = 0;
this->actor.flags &= ~1;
- EnDns_ChangeAnim(this, 1);
+ EnDns_Change(this, 1);
this->actionFunc = EnDns_SetupBurrow;
}
} else {
@@ -411,7 +410,7 @@ void func_809EFF98(EnDns* this, GlobalContext* globalCtx) {
this->dropCollectible = 1;
this->maintainCollider = 0;
this->actor.flags &= ~1;
- EnDns_ChangeAnim(this, 1);
+ EnDns_Change(this, 1);
this->actionFunc = EnDns_SetupBurrow;
}
}
@@ -420,15 +419,15 @@ void func_809F008C(EnDns* this, GlobalContext* globalCtx) {
if ((func_8010BDBC(&globalCtx->msgCtx) == 6) && (func_80106BC8(globalCtx) != 0)) {
this->maintainCollider = 0;
this->actor.flags &= ~1;
- EnDns_ChangeAnim(this, 1);
+ EnDns_Change(this, 1);
this->actionFunc = EnDns_SetupBurrow;
}
}
void EnDns_SetupBurrow(EnDns* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06004404);
+ f32 frameCount = Animation_GetLastFrame(&D_06004404);
- if (this->skelAnime.animCurrentFrame == frameCount) {
+ if (this->skelAnime.curFrame == frameCount) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_AKINDONUTS_HIDE);
this->actionFunc = EnDns_Burrow;
this->standOnGround = 0;
@@ -471,7 +470,7 @@ void EnDns_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actor.textId = D_809F040C[this->actor.params];
Actor_SetHeight(&this->actor, 60.0f);
Actor_SetScale(&this->actor, 0.01f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Actor_MoveForward(&this->actor);
this->actionFunc(this, globalCtx);
if (this->standOnGround) {
@@ -487,6 +486,6 @@ void EnDns_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnDns* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, NULL, &this->actor);
}
diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.h b/src/overlays/actors/ovl_En_Dns/z_en_dns.h
index abebbb44e0..4a6b670b4a 100644
--- a/src/overlays/actors/ovl_En_Dns/z_en_dns.h
+++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.h
@@ -21,8 +21,8 @@ typedef struct {
typedef struct EnDns {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[18];
- /* 0x01FC */ Vec3s transitionDrawTable[18];
+ /* 0x0190 */ Vec3s jointTable[18];
+ /* 0x01FC */ Vec3s morphTable[18];
/* 0x0268 */ EnDnsActionFunc actionFunc;
/* 0x026C */ ColliderCylinder collider;
/* 0x02B8 */ s16 dustTimer;
diff --git a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c
index a14d240423..d6ed5d1d92 100644
--- a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c
+++ b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c
@@ -206,8 +206,7 @@ void EnDodongo_Init(Actor* thisx, GlobalContext* globalCtx) {
this->bodyScale.x = this->bodyScale.y = this->bodyScale.z = 1.0f;
ActorShape_Init(&this->actor.shape, 0.0f, &ActorShadow_DrawFunc_Circle, 48.0f);
Actor_SetScale(&this->actor, 0.01875f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_06008318, &D_06004C20, this->limbDrawTable,
- this->transitionDrawTable, 31);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_06008318, &D_06004C20, this->jointTable, this->morphTable, 31);
this->actor.colChkInfo.health = 4;
this->actor.colChkInfo.mass = 0xFE;
this->actor.colChkInfo.damageTable = &sDamageTable;
@@ -245,7 +244,7 @@ void EnDodongo_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnDodongo_SetupIdle(EnDodongo* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06004C20, -4.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06004C20, -4.0f);
this->actor.speedXZ = 0.0f;
this->timer = Rand_S16Offset(30, 50);
this->actionState = DODONGO_IDLE;
@@ -253,9 +252,9 @@ void EnDodongo_SetupIdle(EnDodongo* this) {
}
void EnDodongo_SetupWalk(EnDodongo* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_06008B1C);
+ f32 frames = Animation_GetLastFrame(&D_06008B1C);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06008B1C, 0.0f, 0.0f, frames, 0, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06008B1C, 0.0f, 0.0f, frames, 0, -4.0f);
this->actor.speedXZ = 1.5f;
this->timer = Rand_S16Offset(50, 70);
this->rightFootStep = true;
@@ -264,21 +263,21 @@ void EnDodongo_SetupWalk(EnDodongo* this) {
}
void EnDodongo_SetupBreatheFire(EnDodongo* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060028F0, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060028F0, -4.0f);
this->actionState = DODONGO_BREATHE_FIRE;
this->actor.speedXZ = 0.0f;
EnDodongo_SetupAction(this, EnDodongo_BreatheFire);
}
void EnDodongo_SetupEndBreatheFire(EnDodongo* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06003088);
+ Animation_PlayOnce(&this->skelAnime, &D_06003088);
this->actionState = DODONGO_END_BREATHE_FIRE;
this->actor.speedXZ = 0.0f;
EnDodongo_SetupAction(this, EnDodongo_EndBreatheFire);
}
void EnDodongo_SetupSwallowBomb(EnDodongo* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060028F0, -1.0f, 35.0f, 0.0f, 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_060028F0, -1.0f, 35.0f, 0.0f, 2, -4.0f);
this->actionState = DODONGO_SWALLOW_BOMB;
this->timer = 25;
this->actor.speedXZ = 0.0f;
@@ -286,7 +285,7 @@ void EnDodongo_SetupSwallowBomb(EnDodongo* this) {
}
void EnDodongo_SetupStunned(EnDodongo* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060028F0, 0.0f, 25.0f, 0.0f, 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_060028F0, 0.0f, 25.0f, 0.0f, 2, -4.0f);
this->actionState = DODONGO_STUNNED;
this->actor.speedXZ = 0.0f;
if (this->damageEffect == 0xF) {
@@ -297,14 +296,14 @@ void EnDodongo_SetupStunned(EnDodongo* this) {
}
void EnDodongo_Idle(EnDodongo* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if ((DECR(this->timer) == 0) && func_800A56C8(&this->skelAnime, 0.0f)) {
+ SkelAnime_Update(&this->skelAnime);
+ if ((DECR(this->timer) == 0) && Animation_OnFrame(&this->skelAnime, 0.0f)) {
EnDodongo_SetupWalk(this);
}
}
void EnDodongo_EndBreatheFire(EnDodongo* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
EnDodongo_SetupIdle(this);
this->timer = Rand_S16Offset(10, 20);
}
@@ -318,21 +317,21 @@ void EnDodongo_BreatheFire(EnDodongo* this, GlobalContext* globalCtx) {
s16 pad2;
s16 fireFrame;
- if ((s32)this->skelAnime.animCurrentFrame == 24) {
+ if ((s32)this->skelAnime.curFrame == 24) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_CRY);
}
- if ((29.0f <= this->skelAnime.animCurrentFrame) && (this->skelAnime.animCurrentFrame <= 43.0f)) {
+ if ((29.0f <= this->skelAnime.curFrame) && (this->skelAnime.curFrame <= 43.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_FIRE - SFX_FLAG);
- fireFrame = this->skelAnime.animCurrentFrame - 29.0f;
+ fireFrame = this->skelAnime.curFrame - 29.0f;
pos = this->actor.posRot.pos;
pos.y += 35.0f;
EnDodongo_ShiftVecRadial(this->actor.posRot.rot.y, 30.0f, &pos);
EnDodongo_ShiftVecRadial(this->actor.posRot.rot.y, 2.5f, &accel);
EffectSsDFire_SpawnFixedScale(globalCtx, &pos, &velocity, &accel, 255 - (fireFrame * 10), fireFrame + 3);
- } else if ((2.0f <= this->skelAnime.animCurrentFrame) && (this->skelAnime.animCurrentFrame <= 20.0f)) {
+ } else if ((2.0f <= this->skelAnime.curFrame) && (this->skelAnime.curFrame <= 20.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_BREATH - SFX_FLAG);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
EnDodongo_SetupEndBreatheFire(this);
}
}
@@ -358,7 +357,7 @@ void EnDodongo_SwallowBomb(EnDodongo* this, GlobalContext* globalCtx) {
//! the next arena node. When this value is written to, massive memory corruption occurs.
}
- if ((s32)this->skelAnime.animCurrentFrame == 28) {
+ if ((s32)this->skelAnime.curFrame == 28) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_EAT);
if (this->actor.child != NULL) {
Actor_Kill(this->actor.child);
@@ -367,10 +366,10 @@ void EnDodongo_SwallowBomb(EnDodongo* this, GlobalContext* globalCtx) {
Actor_Kill(this->actor.parent);
this->actor.parent = NULL;
}
- } else if ((s32)this->skelAnime.animCurrentFrame == 24) {
+ } else if ((s32)this->skelAnime.curFrame == 24) {
this->timer--;
if (this->timer != 0) {
- this->skelAnime.animCurrentFrame++;
+ this->skelAnime.curFrame++;
if (this->timer == 10) {
for (i = 10; i >= 0; i--) {
deathFireVel.x = Rand_CenteredFloat(10.0f);
@@ -390,8 +389,8 @@ void EnDodongo_SwallowBomb(EnDodongo* this, GlobalContext* globalCtx) {
}
}
}
- if ((s32)this->skelAnime.animCurrentFrame < 28) {
- if (((s32)this->skelAnime.animCurrentFrame < 26) && (this->timer <= 10)) {
+ if ((s32)this->skelAnime.curFrame < 28) {
+ if (((s32)this->skelAnime.curFrame < 26) && (this->timer <= 10)) {
EnDodongo_SpawnBombSmoke(this, globalCtx);
} else {
pos = this->headPos;
@@ -407,7 +406,7 @@ void EnDodongo_SwallowBomb(EnDodongo* this, GlobalContext* globalCtx) {
this->bodyScale.y = this->bodyScale.z = (Math_SinS(this->actor.dmgEffectTimer * 0x1000) * 0.5f) + 1.0f;
this->bodyScale.x = Math_SinS(this->actor.dmgEffectTimer * 0x1000) + 1.0f;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer == 0) {
EnDodongo_SetupDeath(this, globalCtx);
}
@@ -433,10 +432,10 @@ void EnDodongo_Walk(EnDodongo* this, GlobalContext* globalCtx) {
playbackSpeed = -3.0f / 2;
}
}
- this->skelAnime.animPlaybackSpeed = playbackSpeed;
+ this->skelAnime.playSpeed = playbackSpeed;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if ((s32)this->skelAnime.animCurrentFrame < 21) {
+ SkelAnime_Update(&this->skelAnime);
+ if ((s32)this->skelAnime.curFrame < 21) {
if (!this->rightFootStep) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_WALK);
func_80033260(globalCtx, &this->actor, &this->leftFootPos, 10.0f, 3, 2.0f, 0xC8, 0xF, 0);
@@ -482,7 +481,7 @@ void EnDodongo_Walk(EnDodongo* this, GlobalContext* globalCtx) {
}
void EnDodongo_SetupSweepTail(EnDodongo* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06001A44, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06001A44, -4.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_DAMAGE);
this->actionState = DODONGO_SWEEP_TAIL;
this->timer = 0;
@@ -493,7 +492,7 @@ void EnDodongo_SetupSweepTail(EnDodongo* this) {
void EnDodongo_SweepTail(EnDodongo* this, GlobalContext* globalCtx) {
s16 yawDiff1 = this->actor.yawTowardsLink - this->actor.shape.rot.y;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if ((this->timer != 0) || (ABS(yawDiff1) < 0x4000)) {
this->sphElements[2].body.toucherFlags = 0;
this->sphElements[1].body.toucherFlags = 0;
@@ -516,7 +515,7 @@ void EnDodongo_SweepTail(EnDodongo* this, GlobalContext* globalCtx) {
animation = &D_06003B14;
}
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_TAIL);
- SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, animation, 2.0f);
+ Animation_PlayOnceSetSpeed(&this->skelAnime, animation, 2.0f);
this->timer = 18;
this->colliderBody.base.atFlags = this->sphElements[1].body.toucherFlags =
this->sphElements[2].body.toucherFlags = 0x11;
@@ -549,7 +548,7 @@ void EnDodongo_SweepTail(EnDodongo* this, GlobalContext* globalCtx) {
}
void EnDodongo_SetupDeath(EnDodongo* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060013C4, -8.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060013C4, -8.0f);
this->timer = 0;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_J_DEAD);
this->actionState = DODONGO_DEATH;
@@ -561,14 +560,14 @@ void EnDodongo_SetupDeath(EnDodongo* this, GlobalContext* globalCtx) {
void EnDodongo_Death(EnDodongo* this, GlobalContext* globalCtx) {
EnBom* bomb;
- if (this->skelAnime.animCurrentFrame < 35.0f) {
+ if (this->skelAnime.curFrame < 35.0f) {
if (this->actor.params == EN_DODONGO_SMOKE_DEATH) {
EnDodongo_SpawnBombSmoke(this, globalCtx);
}
} else if (this->actor.dmgEffectTimer == 0) {
func_8003426C(&this->actor, 0x4000, 0x78, 0, 4);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->timer == 0) {
bomb = (EnBom*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOM, this->actor.posRot.pos.x,
this->actor.posRot.pos.y, this->actor.posRot.pos.z, 0, 0, 6, BOMB_BODY);
@@ -577,7 +576,7 @@ void EnDodongo_Death(EnDodongo* this, GlobalContext* globalCtx) {
this->timer = 8;
}
}
- } else if ((s32)this->skelAnime.animCurrentFrame == 52) {
+ } else if ((s32)this->skelAnime.curFrame == 52) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
}
if (this->timer != 0) {
@@ -590,7 +589,7 @@ void EnDodongo_Death(EnDodongo* this, GlobalContext* globalCtx) {
}
void EnDodongo_Stunned(EnDodongo* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.dmgEffectTimer == 0) {
if (this->actor.colChkInfo.health == 0) {
EnDodongo_SetupDeath(this, globalCtx);
@@ -637,7 +636,7 @@ void EnDodongo_UpdateQuad(EnDodongo* this, GlobalContext* globalCtx) {
s32 b = 1; // These indices are needed to match.
s32 c = 2; // Might be a way to quickly test vertex arrangements
s32 d = 3;
- f32 xMod = Math_SinF((this->skelAnime.animCurrentFrame - 28.0f) * 0.08f) * 5500.0f;
+ f32 xMod = Math_SinF((this->skelAnime.curFrame - 28.0f) * 0.08f) * 5500.0f;
sp7C.x -= xMod;
sp94.x -= xMod;
@@ -676,7 +675,7 @@ void EnDodongo_Update(Actor* thisx, GlobalContext* globalCtx) {
EnDodongo_SetupSwallowBomb(this);
}
if (this->actionState == DODONGO_BREATHE_FIRE) {
- if ((29.0f < this->skelAnime.animCurrentFrame) && (this->skelAnime.animCurrentFrame < 43.0f)) {
+ if ((29.0f < this->skelAnime.curFrame) && (this->skelAnime.curFrame < 43.0f)) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->colliderAT.base);
}
}
@@ -692,7 +691,7 @@ s32 EnDodongo_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
if ((limbIndex == 15) || (limbIndex == 16)) {
Matrix_Scale(this->bodyScale.x, this->bodyScale.y, this->bodyScale.z, MTXMODE_APPLY);
}
- return 0;
+ return false;
}
void EnDodongo_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -732,8 +731,8 @@ void EnDodongo_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
switch (limbIndex) {
case 2:
- if ((this->actionState == DODONGO_BREATHE_FIRE) && (29.0f < this->skelAnime.animCurrentFrame) &&
- (this->skelAnime.animCurrentFrame < 43.0f)) {
+ if ((this->actionState == DODONGO_BREATHE_FIRE) && (29.0f < this->skelAnime.curFrame) &&
+ (this->skelAnime.curFrame < 43.0f)) {
EnDodongo_UpdateQuad(this, globalCtx);
}
break;
@@ -809,7 +808,7 @@ void EnDodongo_Draw(Actor* thisx, GlobalContext* globalCtx2) {
s32 index;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnDodongo_OverrideLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnDodongo_OverrideLimbDraw,
EnDodongo_PostLimbDraw, this);
if (this->iceTimer != 0) {
diff --git a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.h b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.h
index bffdd4a3d0..b7ea2e6a3c 100644
--- a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.h
+++ b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.h
@@ -11,8 +11,8 @@ typedef void (*EnDodongoActionFunc)(struct EnDodongo*, GlobalContext*);
typedef struct EnDodongo {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[31];
- /* 0x024A */ Vec3s transitionDrawTable[31];
+ /* 0x0190 */ Vec3s jointTable[31];
+ /* 0x024A */ Vec3s morphTable[31];
/* 0x0304 */ s32 actionState;
/* 0x0308 */ EnDodongoActionFunc actionFunc;
/* 0x030C */ s16 timer;
diff --git a/src/overlays/actors/ovl_En_Dog/z_en_dog.c b/src/overlays/actors/ovl_En_Dog/z_en_dog.c
index 84b21f5aa3..8fc6c6a8a7 100644
--- a/src/overlays/actors/ovl_En_Dog/z_en_dog.c
+++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.c
@@ -73,7 +73,7 @@ extern AnimationHeader D_06000278;
void EnDog_PlayWalkSFX(EnDog* this) {
AnimationHeader* walk = &D_06001368;
if (this->skelAnime.animation == walk) {
- if ((this->skelAnime.animCurrentFrame == 1.0f) || (this->skelAnime.animCurrentFrame == 7.0f)) {
+ if ((this->skelAnime.curFrame == 1.0f) || (this->skelAnime.curFrame == 7.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHIBI_WALK);
}
}
@@ -82,7 +82,7 @@ void EnDog_PlayWalkSFX(EnDog* this) {
void EnDog_PlayRunSFX(EnDog* this) {
AnimationHeader* run = &D_06000D78;
if (this->skelAnime.animation == run) {
- if ((this->skelAnime.animCurrentFrame == 2.0f) || (this->skelAnime.animCurrentFrame == 4.0f)) {
+ if ((this->skelAnime.curFrame == 2.0f) || (this->skelAnime.curFrame == 4.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHIBI_WALK);
}
}
@@ -91,7 +91,7 @@ void EnDog_PlayRunSFX(EnDog* this) {
void EnDog_PlayBarkSFX(EnDog* this) {
AnimationHeader* bark = &D_06000278;
if (this->skelAnime.animation == bark) {
- if ((this->skelAnime.animCurrentFrame == 13.0f) || (this->skelAnime.animCurrentFrame == 19.0f)) {
+ if ((this->skelAnime.curFrame == 13.0f) || (this->skelAnime.curFrame == 19.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
}
}
@@ -131,13 +131,13 @@ s32 EnDog_PlayAnimAndSFX(EnDog* this) {
switch (this->behavior) {
case DOG_SIT:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame) != 0) {
func_80034EC0(&this->skelAnime, sAnimations, 5);
this->behavior = this->nextBehavior = DOG_SIT_2;
}
break;
case DOG_BOW:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame) != 0) {
func_80034EC0(&this->skelAnime, sAnimations, 7);
this->behavior = this->nextBehavior = DOG_BOW_2;
}
@@ -226,7 +226,7 @@ void EnDog_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 24.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007290, NULL, &this->unk_1F4, &this->unk_242, 13);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007290, NULL, this->jointTable, this->morphTable, 13);
func_80034EC0(&this->skelAnime, sAnimations, 0);
if ((this->actor.params & 0x8000) == 0) {
@@ -433,7 +433,7 @@ void EnDog_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnDog_PlayAnimAndSFX(this);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
func_8002E4B4(globalCtx, &this->actor, this->collider.dim.radius, this->collider.dim.height * 0.5f, 0.0f, 5);
Actor_MoveForward(&this->actor);
this->actionFunc(this, globalCtx);
@@ -442,7 +442,7 @@ void EnDog_Update(Actor* thisx, GlobalContext* globalCtx) {
}
s32 EnDog_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
- return 0;
+ return false;
}
void EnDog_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -460,7 +460,7 @@ void EnDog_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, colors[this->actor.params & 0xF].r, colors[this->actor.params & 0xF].g,
colors[this->actor.params & 0xF].b, colors[this->actor.params & 0xF].a);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnDog_OverrideLimbDraw, EnDog_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_dog.c", 994);
diff --git a/src/overlays/actors/ovl_En_Dog/z_en_dog.h b/src/overlays/actors/ovl_En_Dog/z_en_dog.h
index a6f20e7f9f..c902eefef8 100644
--- a/src/overlays/actors/ovl_En_Dog/z_en_dog.h
+++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.h
@@ -22,10 +22,8 @@ typedef struct EnDog {
/* 0x01EE */ s16 pad2;
/* 0x01F0 */ s16 nextBehavior;
/* 0x01F2 */ s16 behavior;
- /* 0x01F4 */ u8 unk_1F4; // I believe this and the rest below belong to something skelanime
- /* 0x01F5 */ char unk_1F5[0x4D];
- /* 0x0242 */ u8 unk_242;
- /* 0x0243 */ char unk_243[0x4D];
+ /* 0x01F4 */ Vec3s jointTable[13];
+ /* 0x0242 */ Vec3s morphTable[13];
} EnDog; // size = 0x0290
extern const ActorInit En_Dog_InitVars;
diff --git a/src/overlays/actors/ovl_En_Door/z_en_door.c b/src/overlays/actors/ovl_En_Door/z_en_door.c
index d350c10940..23b4d73844 100644
--- a/src/overlays/actors/ovl_En_Door/z_en_door.c
+++ b/src/overlays/actors/ovl_En_Door/z_en_door.c
@@ -87,8 +87,7 @@ void EnDoor_Init(Actor* thisx, GlobalContext* globalCtx2) {
objectInfo = &sDoorInfo[0];
Actor_ProcessInitChain(&this->actor, sInitChain);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_0400FF78, &D_0400E758, this->limbDrawTable,
- this->transitionDrawTable, 5);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_0400FF78, &D_0400E758, this->jointTable, this->morphTable, 5);
for (i = 0; i < ARRAY_COUNT(sDoorInfo) - 2; i++, objectInfo++) {
if (globalCtx->sceneNum == objectInfo->sceneNum) {
break;
@@ -192,8 +191,8 @@ void EnDoor_Idle(EnDoor* this, GlobalContext* globalCtx) {
func_8002DBD0(&this->actor, &sp2C, &player->actor.posRot.pos);
if (this->unk_191 != 0) {
this->actionFunc = EnDoor_Open;
- SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, D_809FCECC[this->unk_190],
- (player->stateFlags1 & 0x8000000) ? 0.75f : 1.5f);
+ Animation_PlayOnceSetSpeed(&this->skelAnime, D_809FCECC[this->unk_190],
+ (player->stateFlags1 & 0x8000000) ? 0.75f : 1.5f);
if (this->lockTimer != 0) {
gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex]--;
Flags_SetSwitch(globalCtx, this->actor.params & 0x3F);
@@ -265,22 +264,22 @@ void EnDoor_Open(EnDoor* this, GlobalContext* globalCtx) {
s32 numEffects;
if (DECR(this->lockTimer) == 0) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->actionFunc = EnDoor_Idle;
this->unk_191 = 0;
- } else if (func_800A56C8(&this->skelAnime, sDoorAnimOpenFrames[this->unk_190])) {
+ } else if (Animation_OnFrame(&this->skelAnime, sDoorAnimOpenFrames[this->unk_190])) {
Audio_PlayActorSound2(&this->actor,
(globalCtx->sceneNum == SCENE_HAKADAN || globalCtx->sceneNum == SCENE_HAKADANCH ||
globalCtx->sceneNum == SCENE_HIDAN)
? NA_SE_EV_IRON_DOOR_OPEN
: NA_SE_OC_DOOR_OPEN);
- if (this->skelAnime.animPlaybackSpeed < 1.5f) {
+ if (this->skelAnime.playSpeed < 1.5f) {
numEffects = (s32)(Rand_ZeroOne() * 30.0f) + 50;
for (i = 0; i < numEffects; i++) {
EffectSsBubble_Spawn(globalCtx, &this->actor.posRot.pos, 60.0f, 100.0f, 50.0f, 0.15f);
}
}
- } else if (func_800A56C8(&this->skelAnime, sDoorAnimCloseFrames[this->unk_190])) {
+ } else if (Animation_OnFrame(&this->skelAnime, sDoorAnimCloseFrames[this->unk_190])) {
Audio_PlayActorSound2(&this->actor,
(globalCtx->sceneNum == SCENE_HAKADAN || globalCtx->sceneNum == SCENE_HAKADANCH ||
globalCtx->sceneNum == SCENE_HIDAN)
@@ -310,7 +309,7 @@ s32 EnDoor_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
rot->z += this->actor.posRot.rot.y;
if ((globalCtx->roomCtx.prevRoom.num >= 0) ||
(transitionEntry->sides[0].room == transitionEntry->sides[1].room)) {
- phi_v0_2 = ((this->actor.shape.rot.y + this->skelAnime.limbDrawTbl[3].z) + rot->z) -
+ phi_v0_2 = ((this->actor.shape.rot.y + this->skelAnime.jointTable[3].z) + rot->z) -
Math_Vec3f_Yaw(&globalCtx->view.eye, &this->actor.posRot.pos);
*dList = (ABS(phi_v0_2) < 0x4000) ? temp_a2[0] : temp_a2[1];
} else {
@@ -321,7 +320,7 @@ s32 EnDoor_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
*dList = temp_a2[phi_v0];
}
}
- return 0;
+ return false;
}
void EnDoor_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -331,7 +330,7 @@ void EnDoor_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_door.c", 910);
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnDoor_OverrideLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnDoor_OverrideLimbDraw,
NULL, &this->actor);
if (this->actor.posRot.rot.y != 0) {
if (1) {}
diff --git a/src/overlays/actors/ovl_En_Door/z_en_door.h b/src/overlays/actors/ovl_En_Door/z_en_door.h
index 695ddb13d8..59e6a51803 100644
--- a/src/overlays/actors/ovl_En_Door/z_en_door.h
+++ b/src/overlays/actors/ovl_En_Door/z_en_door.h
@@ -52,8 +52,8 @@ typedef struct EnDoor {
/* 0x0193 */ s8 requiredObjBankIndex;
/* 0x0194 */ s8 dListIndex;
/* 0x0196 */ s16 lockTimer;
- /* 0x0198 */ Vec3s limbDrawTable[5];
- /* 0x01B6 */ Vec3s transitionDrawTable[5];
+ /* 0x0198 */ Vec3s jointTable[5];
+ /* 0x01B6 */ Vec3s morphTable[5];
/* 0x01D4 */ EnDoorActionFunc actionFunc;
} EnDoor; // size = 0x01D8
diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c
index 659449d493..bccf61c473 100644
--- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c
+++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c
@@ -36,12 +36,12 @@ void EnDs_Init(Actor* thisx, GlobalContext* globalCtx) {
EnDs* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004768, &D_0600039C, &this->limbDrawTable, &this->unk_1B4, 6);
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600039C);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004768, &D_0600039C, this->jointTable, this->morphTable, 6);
+ Animation_PlayOnce(&this->skelAnime, &D_0600039C);
this->actor.colChkInfo.mass = 0xFF;
- Actor_SetScale(this, 0.013f);
+ Actor_SetScale(&this->actor, 0.013f);
this->actionFunc = EnDs_Wait;
this->actor.unk_1F = 1;
@@ -238,8 +238,8 @@ void EnDs_Wait(EnDs* this, GlobalContext* globalCtx) {
void EnDs_Update(Actor* thisx, GlobalContext* globalCtx) {
EnDs* this = THIS;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
- this->skelAnime.animCurrentFrame = 0.0f;
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
+ this->skelAnime.curFrame = 0.0f;
}
this->actionFunc(this, globalCtx);
@@ -261,7 +261,7 @@ s32 EnDs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->x += this->unk_1D8.y;
rot->z += this->unk_1D8.x;
}
- return 0;
+ return false;
}
void EnDs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -277,6 +277,6 @@ void EnDs_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnDs* this = THIS;
func_800943C8(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnDs_OverrideLimbDraw, EnDs_PostLimbDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.h b/src/overlays/actors/ovl_En_Ds/z_en_ds.h
index 46d3e2ee21..36a3624d43 100644
--- a/src/overlays/actors/ovl_En_Ds/z_en_ds.h
+++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.h
@@ -11,10 +11,8 @@ typedef void (*EnDsActionFunc)(struct EnDs*, GlobalContext*);
typedef struct EnDs {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable;
- /* 0x0196 */ char unk_194[0x1E];
- /* 0x01B4 */ Vec3s unk_1B4;
- /* 0x01BA */ char unk_1B8[0x1E];
+ /* 0x0190 */ Vec3s jointTable[6];
+ /* 0x01B4 */ Vec3s morphTable[6];
/* 0x01D8 */ Vec3s unk_1D8;
/* 0x01DE */ Vec3s unk_1DE;
/* 0x01E4 */ f32 unk_1E4;
diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.c b/src/overlays/actors/ovl_En_Elf/z_en_elf.c
index 3a9c2810f5..cfb34c499f 100644
--- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c
+++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c
@@ -108,7 +108,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->unk_2C0 = 100;
this->unk_2B4 = 5.0f;
this->unk_2B8 = 20.0f;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
break;
case 12:
this->unk_2AE = 0x400;
@@ -117,7 +117,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->unk_2C0 = 100;
this->unk_2B4 = 1.0f;
this->unk_2B8 = 5.0f;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
break;
case 10:
this->unk_2AE = 0x400;
@@ -125,7 +125,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B8 = 0.0f;
this->unk_2B4 = 5.0f;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
break;
case 9:
this->unk_2AE = 0x1000;
@@ -133,7 +133,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B4 = 3.0f;
this->unk_2B8 = 10.0f;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
break;
case 7:
this->func_2C8 = func_80A02A20;
@@ -141,7 +141,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->unk_2C0 = 1;
this->unk_2B4 = 0.0f;
this->unk_2B8 = 0.0f;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
break;
case 8:
this->unk_2AE = 0x1000;
@@ -149,7 +149,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B4 = 0.0f;
this->unk_2B8 = 0.0f;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
break;
case 1:
this->unk_2AE = 0x1000;
@@ -157,7 +157,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B4 = 5.0f;
this->unk_2B8 = 7.5f;
- this->skelAnime.animPlaybackSpeed = 2.0f;
+ this->skelAnime.playSpeed = 2.0f;
break;
case 2:
this->unk_2AE = 0x400;
@@ -165,28 +165,28 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02AA4;
this->unk_2B4 = 10.0f;
this->unk_2B8 = 20.0f;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
break;
case 3:
this->unk_2B0 = 0x600;
this->func_2C8 = func_80A02B38;
this->unk_2B8 = 1.0f;
this->unk_2B4 = 1.0f;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
break;
case 4:
this->unk_2B0 = 0x800;
this->func_2C8 = func_80A02B38;
this->unk_2B4 = 20.0f;
this->unk_2B8 = 10.0;
- this->skelAnime.animPlaybackSpeed = 2.0f;
+ this->skelAnime.playSpeed = 2.0f;
break;
case 5:
this->unk_2B0 = 0x200;
this->func_2C8 = func_80A02B38;
this->unk_2B4 = 10.0f;
this->unk_2B8 = 10.0f;
- this->skelAnime.animPlaybackSpeed = 0.5f;
+ this->skelAnime.playSpeed = 0.5f;
break;
case 6:
this->unk_2AE = 0x1000;
@@ -194,7 +194,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->func_2C8 = func_80A02A20;
this->unk_2B4 = 60.0f;
this->unk_2B8 = 20.0f;
- this->skelAnime.animPlaybackSpeed = 2.0f;
+ this->skelAnime.playSpeed = 2.0f;
break;
case 11:
this->unk_2AE = 0x400;
@@ -203,7 +203,7 @@ void func_80A01C38(EnElf* this, s32 arg1) {
this->unk_2C0 = 42;
this->unk_2B4 = 5.0f;
this->unk_2B8 = 1.0f;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
break;
}
}
@@ -323,8 +323,7 @@ void EnElf_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 i;
Actor_ProcessInitChain(thisx, sInitChain);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_04016A48, &D_04014BA4, this->limbDrawTable,
- this->transitionDrawTable, 15);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_04016A48, &D_04014BA4, this->jointTable, this->morphTable, 15);
ActorShape_Init(&thisx->shape, 0.0f, NULL, 15.0f);
thisx->shape.unk_14 = 0xFF;
@@ -606,7 +605,7 @@ void func_80A0329C(EnElf* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
f32 heightDiff;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (Rand_ZeroOne() < 0.05f) {
this->unk_2B4 = Rand_ZeroFloat(10.0f) + 10.0f;
@@ -672,7 +671,7 @@ void func_80A0353C(EnElf* this, GlobalContext* globalCtx) {
Vec3f parentPos;
Actor* parent;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
func_80A02A20(this, globalCtx);
parent = this->actor.parent;
@@ -693,7 +692,7 @@ void func_80A03604(EnElf* this, GlobalContext* globalCtx) {
void func_80A03610(EnElf* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_SmoothStepToF(&this->unk_2B8, 30.0f, 0.1f, 4.0f, 1.0f);
this->unk_28C.x = Math_CosS(this->unk_2AC) * this->unk_2B8;
@@ -736,7 +735,7 @@ void func_80A03610(EnElf* this, GlobalContext* globalCtx) {
void func_80A03814(EnElf* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_28C.y > 200.0f) {
Actor_Kill(&this->actor);
@@ -771,7 +770,7 @@ void func_80A03814(EnElf* this, GlobalContext* globalCtx) {
void func_80A03990(EnElf* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->unk_28C.z = 0.0f;
this->unk_28C.x = 0.0f;
@@ -798,7 +797,7 @@ void func_80A03AB0(EnElf* this, GlobalContext* globalCtx) {
func_80A04414(this, globalCtx);
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->func_2C8 == NULL) {
__assert("0", "../z_en_elf.c", 1725);
@@ -1490,7 +1489,7 @@ s32 EnElf_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
}
}
- return 0;
+ return false;
}
void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -1529,7 +1528,7 @@ void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPEndDisplayList(dListHead++);
gDPSetEnvColor(POLY_XLU_DISP++, (u8)this->outerColor.r, (u8)this->outerColor.g, (u8)this->outerColor.b,
(u8)(envAlpha * alphaScale));
- POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnElf_OverrideLimbDraw, NULL, this, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_elf.c", 2793);
diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.h b/src/overlays/actors/ovl_En_Elf/z_en_elf.h
index 3cca53ff25..730838137a 100644
--- a/src/overlays/actors/ovl_En_Elf/z_en_elf.h
+++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.h
@@ -13,8 +13,8 @@ typedef void (*EnElfUnkFunc)(struct EnElf*, GlobalContext*);
typedef struct EnElf {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[15];
- /* 0x01EA */ Vec3s transitionDrawTable[15];
+ /* 0x0190 */ Vec3s jointTable[15];
+ /* 0x01EA */ Vec3s morphTable[15];
/* 0x0244 */ Color_RGBAf innerColor;
/* 0x0254 */ Color_RGBAf outerColor;
/* 0x0264 */ LightInfo lightInfoGlow;
diff --git a/src/overlays/actors/ovl_En_Fd/z_en_fd.c b/src/overlays/actors/ovl_En_Fd/z_en_fd.c
index e45bd38c58..be47fa5d14 100644
--- a/src/overlays/actors/ovl_En_Fd/z_en_fd.c
+++ b/src/overlays/actors/ovl_En_Fd/z_en_fd.c
@@ -217,7 +217,7 @@ s32 EnFd_ColliderCheck(EnFd* this, GlobalContext* globalCtx) {
* towards `actor`, and there must not be a collision poly between `this` and `actor`
*/
s32 EnFd_CanSeeActor(EnFd* this, Actor* actor, GlobalContext* globalCtx) {
- CollisionPoly** colPoly;
+ CollisionPoly* colPoly;
u32 bgId;
Vec3f colPoint;
s16 angle;
@@ -349,8 +349,7 @@ void EnFd_Fade(EnFd* this, GlobalContext* globalCtx) {
void EnFd_Init(Actor* thisx, GlobalContext* globalCtx) {
EnFd* this = THIS;
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06005810, NULL, this->limbDrawTable, this->transitionDrawTable,
- 27);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06005810, NULL, this->jointTable, this->morphTable, 27);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 32.0f);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colSphs);
@@ -384,7 +383,7 @@ void EnFd_Reappear(EnFd* this, GlobalContext* globalCtx) {
}
void EnFd_SpinAndGrow(EnFd* this, GlobalContext* globalCtx) {
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
this->actor.velocity.y = 6.0f;
this->actor.scale.y = 0.01f;
this->actor.posRot.rot.y ^= 0x8000;
@@ -393,7 +392,7 @@ void EnFd_SpinAndGrow(EnFd* this, GlobalContext* globalCtx) {
func_80034EC0(&this->skelAnime, sAnimations, 1);
this->actionFunc = EnFd_JumpToGround;
} else {
- this->actor.scale.y = this->skelAnime.animCurrentFrame * (0.01f / this->skelAnime.totalFrames);
+ this->actor.scale.y = this->skelAnime.curFrame * (0.01f / this->skelAnime.animLength);
this->actor.shape.rot.y += 0x2000;
this->actor.posRot.rot.y = this->actor.shape.rot.y;
}
@@ -412,8 +411,8 @@ void EnFd_JumpToGround(EnFd* this, GlobalContext* globalCtx) {
void EnFd_Land(EnFd* this, GlobalContext* globalCtx) {
Vec3f adjPos;
- Math_SmoothStepToF(&this->skelAnime.animPlaybackSpeed, 1.0f, 0.1f, 1.0f, 0.0f);
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ Math_SmoothStepToF(&this->skelAnime.playSpeed, 1.0f, 0.1f, 1.0f, 0.0f);
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
this->spinTimer = Rand_S16Offset(60, 90);
this->runRadius = Math_Vec3f_DistXYZ(&this->actor.posRot.pos, &this->actor.initPosRot.pos);
EnFd_GetPosAdjAroundCircle(&adjPos, this, this->runRadius, this->runDir);
@@ -521,8 +520,7 @@ void EnFd_Run(EnFd* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.shape.rot.y, Math_FAtan2F(adjPos.x, adjPos.z) * (0x8000 / M_PI), 4, 0xFA0, 1);
this->actor.posRot.rot = this->actor.shape.rot;
func_8002F974(&this->actor, NA_SE_EN_FLAME_RUN - SFX_FLAG);
- if (this->skelAnime.animCurrentFrame == 6.0f || this->skelAnime.animCurrentFrame == 13.0f ||
- this->skelAnime.animCurrentFrame == 28.0f) {
+ if (this->skelAnime.curFrame == 6.0f || this->skelAnime.curFrame == 13.0f || this->skelAnime.curFrame == 28.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FLAME_KICK);
}
Math_SmoothStepToF(&this->actor.speedXZ, 8.0f, 0.1f, 1.0f, 0.0f);
@@ -557,7 +555,7 @@ void EnFd_Update(Actor* thisx, GlobalContext* globalCtx) {
}
if (this->actionFunc != EnFd_Reappear) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
EnFd_SpawnDot(this, globalCtx);
}
@@ -606,7 +604,7 @@ s32 EnFd_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
}
}
- return 0;
+ return false;
}
void EnFd_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfxP) {
@@ -685,7 +683,7 @@ void EnFd_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPPipeSync(POLY_XLU_DISP++);
gSPSegment(POLY_XLU_DISP++, 0x9, D_80116280);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnFd_OverrideLimbDraw, EnFd_PostLimbDraw, this,
POLY_XLU_DISP);
}
diff --git a/src/overlays/actors/ovl_En_Fd/z_en_fd.h b/src/overlays/actors/ovl_En_Fd/z_en_fd.h
index 142baa52bb..05203b5dcb 100644
--- a/src/overlays/actors/ovl_En_Fd/z_en_fd.h
+++ b/src/overlays/actors/ovl_En_Fd/z_en_fd.h
@@ -45,8 +45,8 @@ typedef struct EnFd {
/* 0x04C8 */ f32 runRadius;
/* 0x04CC */ f32 fadeAlpha;
/* 0x04D0 */ Vec3f corePos;
- /* 0x04DC */ Vec3s limbDrawTable[27];
- /* 0x057E */ Vec3s transitionDrawTable[27];
+ /* 0x04DC */ Vec3s jointTable[27];
+ /* 0x057E */ Vec3s morphTable[27];
/* 0x0620 */ EnFdEffect effects[200];
} EnFd; // size = 0x31E0
diff --git a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c
index f4fd7dab07..99cc4ebbbf 100644
--- a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c
+++ b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c
@@ -94,8 +94,7 @@ void EnFirefly_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 25.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_060018B8, &D_0600017C, this->limbDrawTable,
- this->transitionDrawTable, 28);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_060018B8, &D_0600017C, this->jointTable, this->morphTable, 28);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
func_80061ED4(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
@@ -158,14 +157,14 @@ void EnFirefly_SetupWait(EnFirefly* this) {
this->actor.speedXZ = (Rand_ZeroOne() * 1.5f) + 1.5f;
Math_ScaledStepToS(&this->actor.shape.rot.y, func_8002DAC0(&this->actor, &this->actor.initPosRot.pos), 0x300);
this->targetPitch = ((this->maxAltitude < this->actor.posRot.pos.y) ? 0xC00 : -0xC00) + 0x1554;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
this->actionFunc = EnFirefly_FlyIdle;
}
void EnFirefly_SetupFall(EnFirefly* this) {
this->timer = 40;
this->actor.velocity.y = 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600017C, 0.5f, 0.0f, 0.0f, 1, -3.0f);
+ Animation_Change(&this->skelAnime, &D_0600017C, 0.5f, 0.0f, 0.0f, 1, -3.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FFLY_DEAD);
this->actor.flags |= 0x10;
func_8003426C(&this->actor, 0x4000, 0xFF, 0, 40);
@@ -181,21 +180,21 @@ void EnFirefly_SetupDie(EnFirefly* this) {
void EnFirefly_SetupRebound(EnFirefly* this) {
this->actor.posRot.rot.x = 0x7000;
this->timer = 18;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
this->actor.speedXZ = 2.5f;
this->actionFunc = EnFirefly_Rebound;
}
void EnFirefly_SetupDiveAttack(EnFirefly* this) {
this->timer = Rand_S16Offset(70, 100);
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
this->targetPitch = ((this->actor.yDistFromLink > 0.0f) ? -0xC00 : 0xC00) + 0x1554;
this->actionFunc = EnFirefly_DiveAttack;
}
void EnFirefly_SetupFlyAway(EnFirefly* this) {
this->timer = 150;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
this->targetPitch = 0x954;
this->actionFunc = EnFirefly_FlyAway;
}
@@ -205,7 +204,7 @@ void EnFirefly_SetupStunned(EnFirefly* this) {
func_8003426C(&this->actor, 0, 0xFF, 0, 80);
this->auraType = KEESE_AURA_NONE;
this->actor.velocity.y = 0.0f;
- this->skelAnime.animPlaybackSpeed = 3.0f;
+ this->skelAnime.playSpeed = 3.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
this->actionFunc = EnFirefly_Stunned;
}
@@ -238,7 +237,7 @@ void EnFirefly_SetupPerch(EnFirefly* this) {
}
void EnFirefly_SetupDisturbDiveAttack(EnFirefly* this) {
- this->skelAnime.animPlaybackSpeed = 3.0f;
+ this->skelAnime.playSpeed = 3.0f;
this->actor.shape.rot.x = 0x1554;
this->actor.shape.rot.y = this->actor.yawTowardsLink;
this->actor.speedXZ = 3.0f;
@@ -319,11 +318,11 @@ void EnFirefly_FlyIdle(EnFirefly* this, GlobalContext* globalCtx) {
s32 skelanimeUpdated;
f32 rand;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
- skelanimeUpdated = func_800A56C8(&this->skelAnime, 0.0f);
+ skelanimeUpdated = Animation_OnFrame(&this->skelAnime, 0.0f);
this->actor.speedXZ = (Rand_ZeroOne() * 1.5f) + 1.5f;
if (this->onFire || (this->actor.params == KEESE_ICE_FLY) ||
((EnFirefly_ReturnToPerch(this, globalCtx) == 0) && (EnFirefly_SeekTorch(this, globalCtx) == 0))) {
@@ -367,11 +366,11 @@ void EnFirefly_FlyIdle(EnFirefly* this, GlobalContext* globalCtx) {
// Fall to the ground after being hit
void EnFirefly_Fall(EnFirefly* this, GlobalContext* globalCtx) {
- if (func_800A56C8(&this->skelAnime, 6.0f)) {
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ if (Animation_OnFrame(&this->skelAnime, 6.0f)) {
+ this->skelAnime.playSpeed = 0.0f;
}
this->actor.dmgEffectTimer = 40;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_StepToF(&this->actor.speedXZ, 0.0f, 0.5f);
if (this->actor.flags & 0x8000) {
this->actor.dmgEffectTimer = 40;
@@ -405,7 +404,7 @@ void EnFirefly_DiveAttack(EnFirefly* this, GlobalContext* globalCtx) {
Vec3f preyPos;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
@@ -414,9 +413,9 @@ void EnFirefly_DiveAttack(EnFirefly* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.wallPolyRot, 2, 0xC00, 0x300);
Math_ScaledStepToS(&this->actor.shape.rot.x, this->targetPitch, 0x100);
} else if (func_8002E084(&this->actor, 0x2800)) {
- if (func_800A56C8(&this->skelAnime, 4.0f)) {
- this->skelAnime.animPlaybackSpeed = 0.0f;
- this->skelAnime.animCurrentFrame = 4.0f;
+ if (Animation_OnFrame(&this->skelAnime, 4.0f)) {
+ this->skelAnime.playSpeed = 0.0f;
+ this->skelAnime.curFrame = 4.0f;
}
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xC00, 0x300);
preyPos.x = player->actor.posRot.pos.x;
@@ -424,7 +423,7 @@ void EnFirefly_DiveAttack(EnFirefly* this, GlobalContext* globalCtx) {
preyPos.z = player->actor.posRot.pos.z;
Math_SmoothStepToS(&this->actor.shape.rot.x, func_8002DB28(&this->actor, &preyPos) + 0x1554, 2, 0x400, 0x100);
} else {
- this->skelAnime.animPlaybackSpeed = 1.5f;
+ this->skelAnime.playSpeed = 1.5f;
if (this->actor.xzDistFromLink > 80.0f) {
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xC00, 0x300);
}
@@ -445,7 +444,7 @@ void EnFirefly_DiveAttack(EnFirefly* this, GlobalContext* globalCtx) {
// Knockback after hitting player
void EnFirefly_Rebound(EnFirefly* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_ScaledStepToS(&this->actor.shape.rot.x, 0, 0x100);
Math_StepToF(&this->actor.velocity.y, 0.0f, 0.4f);
if (Math_StepToF(&this->actor.speedXZ, 0.0f, 0.15f)) {
@@ -459,7 +458,7 @@ void EnFirefly_Rebound(EnFirefly* this, GlobalContext* globalCtx) {
}
void EnFirefly_FlyAway(EnFirefly* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
@@ -486,7 +485,7 @@ void EnFirefly_FlyAway(EnFirefly* this, GlobalContext* globalCtx) {
}
void EnFirefly_Stunned(EnFirefly* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_StepToF(&this->actor.speedXZ, 0.0f, 0.5f);
Math_ScaledStepToS(&this->actor.shape.rot.x, 0x1554, 0x100);
if (this->timer != 0) {
@@ -516,8 +515,8 @@ void EnFirefly_Perch(EnFirefly* this, GlobalContext* globalCtx) {
Math_ScaledStepToS(&this->actor.shape.rot.x, 0, 0x100);
if (this->timer != 0) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 6.0f)) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 6.0f)) {
this->timer--;
}
} else if (Rand_ZeroOne() < 0.02f) {
@@ -532,7 +531,7 @@ void EnFirefly_Perch(EnFirefly* this, GlobalContext* globalCtx) {
void EnFirefly_DisturbDiveAttack(EnFirefly* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
Vec3f preyPos;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
@@ -652,7 +651,7 @@ void EnFirefly_Update(Actor* thisx, GlobalContext* globalCtx2) {
if (this->actor.colChkInfo.health != 0) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
this->actor.posRot.rot.y = this->actor.shape.rot.y;
- if (func_800A56C8(&this->skelAnime, 5.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 5.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FFLY_FLY);
}
}
@@ -674,7 +673,7 @@ s32 EnFirefly_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
} else if (limbIndex == 1) {
pos->y += 2300.0f;
}
- return 0;
+ return false;
}
void EnFirefly_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
@@ -759,7 +758,7 @@ void EnFirefly_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
}
- POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnFirefly_OverrideLimbDraw, EnFirefly_PostLimbDraw, &this->actor, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_firefly.c", 1763);
}
@@ -776,7 +775,7 @@ void EnFirefly_DrawInvisible(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, 255);
}
- POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnFirefly_OverrideLimbDraw, EnFirefly_PostLimbDraw, this, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_firefly.c", 1805);
}
diff --git a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.h b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.h
index 24d25a9d2d..0c48ba0990 100644
--- a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.h
+++ b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.h
@@ -17,8 +17,8 @@ typedef struct EnFirefly {
/* 0x01B9 */ u8 onFire;
/* 0x01BA */ s16 timer;
/* 0x01BC */ s16 targetPitch;
- /* 0x01BE */ Vec3s limbDrawTable[28];
- /* 0x0266 */ Vec3s transitionDrawTable[28];
+ /* 0x01BE */ Vec3s jointTable[28];
+ /* 0x0266 */ Vec3s morphTable[28];
/* 0x0310 */ f32 maxAltitude;
/* 0x0314 */ ColliderJntSph collider;
/* 0x0344 */ ColliderJntSphItem colliderItems[1];
diff --git a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c
index cd3b847c31..bec09f8c3b 100644
--- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c
+++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c
@@ -99,8 +99,7 @@ void EnFloormas_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 50.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, &this->limbDrawTable,
- &this->transitionDrawTable, 25);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, this->jointTable, this->morphTable, 25);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
func_80061ED4(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
@@ -165,21 +164,21 @@ void EnFloormas_MakeVulnerable(EnFloormas* this) {
}
void EnFloormas_SetupBigDecideAction(EnFloormas* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06009DB0);
+ Animation_PlayOnce(&this->skelAnime, &D_06009DB0);
this->actionFunc = EnFloormas_BigDecideAction;
this->actor.speedXZ = 0.0f;
}
void EnFloormas_SetupStand(EnFloormas* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_0600A054, -3.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_0600A054, -3.0f);
this->actionFunc = EnFloormas_Stand;
}
void EnFloormas_SetupBigWalk(EnFloormas* this) {
if (this->actionFunc != EnFloormas_Run) {
- SkelAnime_ChangeAnimPlaybackRepeat(&this->skelAnime, &D_060041F4, 1.5f);
+ Animation_PlayLoopSetSpeed(&this->skelAnime, &D_060041F4, 1.5f);
} else {
- this->skelAnime.animPlaybackSpeed = 1.5f;
+ this->skelAnime.playSpeed = 1.5f;
}
this->actionTimer = Rand_S16Offset(2, 4);
@@ -188,7 +187,7 @@ void EnFloormas_SetupBigWalk(EnFloormas* this) {
}
void EnFloormas_SetupBigStopWalk(EnFloormas* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06009244);
+ Animation_PlayOnce(&this->skelAnime, &D_06009244);
this->actionFunc = EnFloormas_BigStopWalk;
this->actor.speedXZ = 0.0f;
}
@@ -197,30 +196,29 @@ void EnFloormas_SetupRun(EnFloormas* this) {
this->actionTimer = 0;
this->actionFunc = EnFloormas_Run;
this->actor.speedXZ = 5.0f;
- this->skelAnime.animPlaybackSpeed = 3.0f;
+ this->skelAnime.playSpeed = 3.0f;
}
void EnFloormas_SetupTurn(EnFloormas* this) {
s16 rotDelta = this->actionTarget - this->actor.shape.rot.y;
this->actor.speedXZ = 0.0f;
if (rotDelta > 0) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06002158, -3.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06002158, -3.0f);
} else {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06002158, -1.0f, SkelAnime_GetFrameCount(&D_06002158), 0.0f, 2,
- -3.0f);
+ Animation_Change(&this->skelAnime, &D_06002158, -1.0f, Animation_GetLastFrame(&D_06002158), 0.0f, 2, -3.0f);
}
if (this->actor.scale.x > 0.004f) {
this->actionTarget = (rotDelta * (2.0f / 30.0f));
} else {
- this->skelAnime.animPlaybackSpeed = this->skelAnime.animPlaybackSpeed + this->skelAnime.animPlaybackSpeed;
+ this->skelAnime.playSpeed = this->skelAnime.playSpeed + this->skelAnime.playSpeed;
this->actionTarget = rotDelta * (2.0f / 15.0f);
}
this->actionFunc = EnFloormas_Turn;
}
void EnFloormas_SetupHover(EnFloormas* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06009520, 3.0f, 0, SkelAnime_GetFrameCount(&D_06009520), 2, -3.0f);
+ Animation_Change(&this->skelAnime, &D_06009520, 3.0f, 0, Animation_GetLastFrame(&D_06009520), 2, -3.0f);
this->actor.speedXZ = 0.0f;
this->actor.gravity = 0.0f;
EnFloormas_MakeInvulnerable(this);
@@ -237,7 +235,7 @@ void EnFloormas_SetupCharge(EnFloormas* this) {
}
void EnFloormas_SetupLand(EnFloormas* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060019CC, 1.0f, 41.0f, 42.0f, 2, 5.0f);
+ Animation_Change(&this->skelAnime, &D_060019CC, 1.0f, 41.0f, 42.0f, 2, 5.0f);
if ((this->actor.speedXZ < 0.0f) || (this->actionFunc != EnFloormas_Charge)) {
this->actionTimer = 30;
} else {
@@ -259,7 +257,7 @@ void EnFloormas_SetupSplit(EnFloormas* this) {
this->actor.shape.rot.y = this->actor.parent->shape.rot.y + 0x5555;
this->actor.posRot.pos = this->actor.parent->posRot.pos;
this->actor.params = 0x10;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060019CC, 1.0f, 41.0f, SkelAnime_GetFrameCount(&D_060019CC), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_060019CC, 1.0f, 41.0f, Animation_GetLastFrame(&D_060019CC), 2, 0.0f);
this->collider.dim.radius = sCylinderInit.dim.radius * 0.6f;
this->collider.dim.height = sCylinderInit.dim.height * 0.6f;
this->collider.body.bumperFlags &= ~4;
@@ -271,14 +269,14 @@ void EnFloormas_SetupSplit(EnFloormas* this) {
}
void EnFloormas_SetupSmWalk(EnFloormas* this) {
- SkelAnime_ChangeAnimPlaybackRepeat(&this->skelAnime, &D_060041F4, 4.5f);
+ Animation_PlayLoopSetSpeed(&this->skelAnime, &D_060041F4, 4.5f);
this->actionFunc = EnFloormas_SmWalk;
this->actor.speedXZ = 5.0f;
}
void EnFloormas_SetupSmDecideAction(EnFloormas* this) {
if (this->actionFunc != EnFloormas_SmWalk) {
- SkelAnime_ChangeAnimPlaybackRepeat(&this->skelAnime, &D_060041F4, 4.5f);
+ Animation_PlayLoopSetSpeed(&this->skelAnime, &D_060041F4, 4.5f);
}
this->actionFunc = EnFloormas_SmDecideAction;
this->actor.speedXZ = 5.0f;
@@ -299,13 +297,13 @@ void EnFloormas_SetupSmShrink(EnFloormas* this, GlobalContext* globalCtx) {
}
void EnFloormas_SetupSlaveJumpAtMaster(EnFloormas* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060019CC, 2.0f, 0.0f, 41.0f, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_060019CC, 2.0f, 0.0f, 41.0f, 2, 0.0f);
this->actionFunc = EnFloormas_SmSlaveJumpAtMaster;
this->actor.speedXZ = 0.0f;
}
void EnFloormas_SetupJumpAtLink(EnFloormas* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060019CC, 2.0f, 0.0f, 41.0f, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_060019CC, 2.0f, 0.0f, 41.0f, 2, 0.0f);
this->actionFunc = EnFloormas_JumpAtLink;
this->actor.speedXZ = 0.0f;
}
@@ -314,7 +312,7 @@ void EnFloormas_SetupGrabLink(EnFloormas* this, Player* player) {
f32 yDelta;
f32 xzDelta;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060019CC, 1.0f, 36.0f, 45.0f, 2, -3.0f);
+ Animation_Change(&this->skelAnime, &D_060019CC, 1.0f, 36.0f, 45.0f, 2, -3.0f);
this->actor.flags &= ~1;
this->actor.speedXZ = 0.0f;
this->actor.velocity.y = 0.0f;
@@ -334,7 +332,7 @@ void EnFloormas_SetupGrabLink(EnFloormas* this, Player* player) {
}
void EnFloormas_SetupMerge(EnFloormas* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06009DB0);
+ Animation_PlayOnce(&this->skelAnime, &D_06009DB0);
this->actionTimer = 0;
this->smActionTimer += 1500;
EnFloormas_MakeInvulnerable(this);
@@ -358,7 +356,7 @@ void EnFloormas_SetupSmWait(EnFloormas* this) {
}
void EnFloormas_SetupTakeDamage(EnFloormas* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06000590, -3.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06000590, -3.0f);
if ((this->collider.body.acHitItem->toucher.flags & 0x1F824) != 0) {
this->actor.posRot.rot.y = this->collider.base.ac->posRot.rot.y;
} else {
@@ -371,14 +369,14 @@ void EnFloormas_SetupTakeDamage(EnFloormas* this) {
}
void EnFloormas_SetupRecover(EnFloormas* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06000EA4);
+ Animation_PlayOnce(&this->skelAnime, &D_06000EA4);
this->actor.velocity.y = this->actor.speedXZ = 0.0f;
this->actor.posRot.rot.y = this->actor.shape.rot.y;
this->actionFunc = EnFloormas_Recover;
}
void EnFloormas_SetupFreeze(EnFloormas* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060019CC, 1.5f, 0, 20.0f, 2, -3.0f);
+ Animation_Change(&this->skelAnime, &D_060019CC, 1.5f, 0, 20.0f, 2, -3.0f);
this->actor.speedXZ = 0.0f;
if (this->actor.colChkInfo.damageEffect == 4) {
func_8003426C(&this->actor, -0x8000, 0xFF, 0, 0x50);
@@ -410,7 +408,7 @@ void EnFloormas_Die(EnFloormas* this, GlobalContext* globalCtx) {
}
void EnFloormas_BigDecideAction(EnFloormas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
// within 400 units of link and within 90 degrees rotation of him
if (this->actor.xzDistFromLink < 400.0f && !func_8002E084(&this->actor, 0x4000)) {
this->actionTarget = this->actor.yawTowardsLink;
@@ -425,7 +423,7 @@ void EnFloormas_BigDecideAction(EnFloormas* this, GlobalContext* globalCtx) {
}
void EnFloormas_Stand(EnFloormas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->actor.scale.x > 0.004f) {
EnFloormas_SetupBigWalk(this);
} else if (this->actor.params == MERGE_SLAVE) {
@@ -438,16 +436,16 @@ void EnFloormas_Stand(EnFloormas* this, GlobalContext* globalCtx) {
void EnFloormas_BigWalk(EnFloormas* this, GlobalContext* globalCtx) {
s32 animPastFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- animPastFrame = func_800A56C8(&this->skelAnime, 0.0f);
+ SkelAnime_Update(&this->skelAnime);
+ animPastFrame = Animation_OnFrame(&this->skelAnime, 0.0f);
if (animPastFrame) {
if (this->actionTimer != 0) {
this->actionTimer--;
}
}
- if (((animPastFrame || (func_800A56C8(&this->skelAnime, 12.0f))) ||
- (func_800A56C8(&this->skelAnime, 24.0f) != 0)) ||
- (func_800A56C8(&this->skelAnime, 36.0f) != 0)) {
+ if (((animPastFrame || (Animation_OnFrame(&this->skelAnime, 12.0f))) ||
+ (Animation_OnFrame(&this->skelAnime, 24.0f) != 0)) ||
+ (Animation_OnFrame(&this->skelAnime, 36.0f) != 0)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_WALK);
}
@@ -467,16 +465,16 @@ void EnFloormas_BigWalk(EnFloormas* this, GlobalContext* globalCtx) {
}
void EnFloormas_BigStopWalk(EnFloormas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
EnFloormas_SetupBigDecideAction(this);
}
}
void EnFloormas_Run(EnFloormas* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if ((((func_800A56C8(&this->skelAnime, 0.0f)) || (func_800A56C8(&this->skelAnime, 12.0f))) ||
- (func_800A56C8(&this->skelAnime, 24.0f))) ||
- (func_800A56C8(&this->skelAnime, 36.0f))) {
+ SkelAnime_Update(&this->skelAnime);
+ if ((((Animation_OnFrame(&this->skelAnime, 0.0f)) || (Animation_OnFrame(&this->skelAnime, 12.0f))) ||
+ (Animation_OnFrame(&this->skelAnime, 24.0f))) ||
+ (Animation_OnFrame(&this->skelAnime, 36.0f))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_WALK);
}
@@ -495,12 +493,12 @@ void EnFloormas_Turn(EnFloormas* this, GlobalContext* globalCtx) {
f32 sp30;
f32 sp2C;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
EnFloormas_SetupStand(this);
}
- if (((this->skelAnime.animPlaybackSpeed > 0.0f) && func_800A56C8(&this->skelAnime, 21.0f)) ||
- ((this->skelAnime.animPlaybackSpeed < 0.0f) && func_800A56C8(&this->skelAnime, 6.0f))) {
+ if (((this->skelAnime.playSpeed > 0.0f) && Animation_OnFrame(&this->skelAnime, 21.0f)) ||
+ ((this->skelAnime.playSpeed < 0.0f) && Animation_OnFrame(&this->skelAnime, 6.0f))) {
if (this->actor.scale.x > 0.004f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_WALK);
} else {
@@ -508,8 +506,8 @@ void EnFloormas_Turn(EnFloormas* this, GlobalContext* globalCtx) {
}
}
// Needed to match
- if (!this->skelAnime.animCurrentFrame) {}
- if (this->skelAnime.animCurrentFrame >= 7.0f && this->skelAnime.animCurrentFrame < 22.0f) {
+ if (!this->skelAnime.curFrame) {}
+ if (this->skelAnime.curFrame >= 7.0f && this->skelAnime.curFrame < 22.0f) {
sp30 = Math_SinS(this->actor.shape.rot.y + 0x4268);
sp2C = Math_CosS(this->actor.shape.rot.y + 0x4268);
this->actor.shape.rot.y += this->actionTarget;
@@ -521,7 +519,7 @@ void EnFloormas_Turn(EnFloormas* this, GlobalContext* globalCtx) {
}
void EnFloormas_Hover(EnFloormas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
EnFloormas_SetupCharge(this);
}
this->actor.shape.rot.x += 0x140;
@@ -608,14 +606,14 @@ void EnFloormas_Land(EnFloormas* this, GlobalContext* globalCtx) {
EnFloormas_Slide(this, globalCtx);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->actionTimer != 0) {
this->actionTimer--;
}
if (this->actionTimer == 0 && isOnGround) {
- if (this->skelAnime.animFrameCount < 45.0f) {
- this->skelAnime.animFrameCount = SkelAnime_GetFrameCount(&D_060019CC);
+ if (this->skelAnime.endFrame < 45.0f) {
+ this->skelAnime.endFrame = Animation_GetLastFrame(&D_060019CC);
} else if (this->actor.params == MERGE_MASTER) {
EnFloormas_SetupMerge(this);
} else {
@@ -631,7 +629,7 @@ void EnFloormas_Land(EnFloormas* this, GlobalContext* globalCtx) {
void EnFloormas_Split(EnFloormas* this, GlobalContext* globalCtx) {
if (this->actor.bgCheckFlags & 1) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->actor.flags |= 1;
this->smActionTimer = 50;
EnFloormas_SetupStand(this);
@@ -645,10 +643,10 @@ void EnFloormas_Split(EnFloormas* this, GlobalContext* globalCtx) {
}
void EnFloormas_SmWalk(EnFloormas* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
DECR(this->smActionTimer);
- if ((func_800A56C8(&this->skelAnime, 0.0f)) || (func_800A56C8(&this->skelAnime, 18.0f))) {
+ if ((Animation_OnFrame(&this->skelAnime, 0.0f)) || (Animation_OnFrame(&this->skelAnime, 18.0f))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FLOORMASTER_SM_WALK);
}
@@ -666,8 +664,8 @@ void EnFloormas_SmDecideAction(EnFloormas* this, GlobalContext* globalCtx) {
Actor* primaryFloormas;
s32 isAgainstWall;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if ((func_800A56C8(&this->skelAnime, 0.0f)) || (func_800A56C8(&this->skelAnime, 18.0f))) {
+ SkelAnime_Update(&this->skelAnime);
+ if ((Animation_OnFrame(&this->skelAnime, 0.0f)) || (Animation_OnFrame(&this->skelAnime, 18.0f))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FLOORMASTER_SM_WALK);
}
isAgainstWall = this->actor.bgCheckFlags & 8;
@@ -710,10 +708,10 @@ void EnFloormas_SmShrink(EnFloormas* this, GlobalContext* globalCtx) {
void EnFloormas_JumpAtLink(EnFloormas* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (this->skelAnime.animCurrentFrame < 20.0f) {
+ SkelAnime_Update(&this->skelAnime);
+ if (this->skelAnime.curFrame < 20.0f) {
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xE38);
- } else if (func_800A56C8(&this->skelAnime, 20.0f)) {
+ } else if (Animation_OnFrame(&this->skelAnime, 20.0f)) {
this->actor.speedXZ = 5.0f;
this->actor.velocity.y = 7.0f;
} else if (this->actor.bgCheckFlags & 2) {
@@ -735,15 +733,15 @@ void EnFloormas_GrabLink(EnFloormas* this, GlobalContext* globalCtx) {
f32 yDelta;
f32 xzDelta;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
- if (this->skelAnime.animPlaybackSpeed > 0.0f) {
- this->skelAnime.animPlaybackSpeed = -1.0f;
- this->skelAnime.animFrameCount = 36.0f;
- this->skelAnime.initialFrame = 45.0f;
+ if (SkelAnime_Update(&this->skelAnime)) {
+ if (this->skelAnime.playSpeed > 0.0f) {
+ this->skelAnime.playSpeed = -1.0f;
+ this->skelAnime.endFrame = 36.0f;
+ this->skelAnime.startFrame = 45.0f;
} else {
- this->skelAnime.animPlaybackSpeed = 1.0f;
- this->skelAnime.animFrameCount = 45.0f;
- this->skelAnime.initialFrame = 36.0f;
+ this->skelAnime.playSpeed = 1.0f;
+ this->skelAnime.endFrame = 45.0f;
+ this->skelAnime.startFrame = 36.0f;
}
}
@@ -795,7 +793,7 @@ void EnFloormas_GrabLink(EnFloormas* this, GlobalContext* globalCtx) {
void EnFloormas_SmSlaveJumpAtMaster(EnFloormas* this, GlobalContext* globalCtx) {
Actor* primFloormas;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.parent->params == MERGE_MASTER) {
primFloormas = this->actor.parent;
} else if (this->actor.child->params == MERGE_MASTER) {
@@ -807,10 +805,10 @@ void EnFloormas_SmSlaveJumpAtMaster(EnFloormas* this, GlobalContext* globalCtx)
}
return;
}
- if (func_800A56C8(&this->skelAnime, 20.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 20.0f)) {
this->actor.speedXZ = 5.0f;
this->actor.velocity.y = 7.0f;
- } else if (this->skelAnime.animCurrentFrame < 20.0f) {
+ } else if (this->skelAnime.curFrame < 20.0f) {
Math_ApproachS(&this->actor.shape.rot.y, func_8002DA78(&this->actor, primFloormas), 2, 0xE38);
} else if ((((primFloormas->posRot.pos.y - this->actor.posRot.pos.y) < -10.0f) &&
(fabsf(this->actor.posRot.pos.x - primFloormas->posRot.pos.x) < 10.0f)) &&
@@ -879,7 +877,7 @@ void EnFloormas_Merge(EnFloormas* this, GlobalContext* globalCtx) {
this->collider.dim.radius = (sCylinderInit.dim.radius * 100.0f) * this->actor.scale.x;
this->collider.dim.height = (sCylinderInit.dim.height * 100.0f) * this->actor.scale.x;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->actor.scale.x >= 0.01f) {
this->actor.flags &= ~0x10;
EnFloormas_MakeVulnerable(this);
@@ -889,10 +887,10 @@ void EnFloormas_Merge(EnFloormas* this, GlobalContext* globalCtx) {
EnFloormas_SetupStand(this);
} else {
if (this->actionTimer == 0) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_060039B0);
+ Animation_PlayOnce(&this->skelAnime, &D_060039B0);
this->actionTimer = 1;
} else {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06009DB0);
+ Animation_PlayOnce(&this->skelAnime, &D_06009DB0);
this->actionTimer = 0;
}
}
@@ -904,7 +902,7 @@ void EnFloormas_SmWait(EnFloormas* this, GlobalContext* globalCtx) {
}
void EnFloormas_TakeDamage(EnFloormas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->actor.colChkInfo.health == 0) {
EnFloormas_Die(this, globalCtx);
} else {
@@ -912,7 +910,7 @@ void EnFloormas_TakeDamage(EnFloormas* this, GlobalContext* globalCtx) {
}
}
- if (func_800A56C8(&this->skelAnime, 13.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 13.0f)) {
if (this->actor.scale.x > 0.004f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_M_GND);
} else {
@@ -923,13 +921,13 @@ void EnFloormas_TakeDamage(EnFloormas* this, GlobalContext* globalCtx) {
}
void EnFloormas_Recover(EnFloormas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
EnFloormas_SetupStand(this);
}
}
void EnFloormas_Freeze(EnFloormas* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actionTimer != 0) {
this->actionTimer--;
}
@@ -1029,7 +1027,7 @@ void EnFloormas_Update(Actor* thisx, GlobalContext* globalCtx) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider);
}
- if ((this->actionFunc != EnFloormas_SmSlaveJumpAtMaster) || (this->skelAnime.animCurrentFrame < 20.0f)) {
+ if ((this->actionFunc != EnFloormas_SmSlaveJumpAtMaster) || (this->skelAnime.curFrame < 20.0f)) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
}
}
@@ -1054,7 +1052,7 @@ s32 EnFloormas_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** d
if (limbIndex == 1) {
pos->z += this->zOffset;
}
- return 0;
+ return false;
}
void EnFloormas_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
@@ -1083,7 +1081,7 @@ void EnFloormas_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
POLY_OPA_DISP =
- SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnFloormas_OverrideLimbDraw, EnFloormas_PostLimbDraw, this, POLY_OPA_DISP);
if (this->collider.base.type == COLTYPE_UNK12) {
func_80026608(globalCtx);
@@ -1102,7 +1100,7 @@ void EnFloormas_DrawHighlighted(Actor* thisx, GlobalContext* globalCtx) {
func_80026690(globalCtx, &sMergeColor, this->actionTarget % 0x28, 0x28);
}
POLY_XLU_DISP =
- SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnFloormas_OverrideLimbDraw, EnFloormas_PostLimbDraw, this, POLY_XLU_DISP);
if (this->collider.base.type == COLTYPE_UNK12) {
func_80026A6C(globalCtx);
diff --git a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.h b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.h
index 23e3cbd8ee..ed9920a1a9 100644
--- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.h
+++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.h
@@ -16,8 +16,8 @@ struct EnFloormas{
/* 0x0196 */ s16 actionTarget;
/* 0x0198 */ s16 zOffset;
/* 0x019A */ s16 smActionTimer;
- /* 0x019C */ Vec3s limbDrawTable[25];
- /* 0x0232 */ Vec3s transitionDrawTable[25];
+ /* 0x019C */ Vec3s jointTable[25];
+ /* 0x0232 */ Vec3s morphTable[25];
/* 0x02C8 */ ColliderCylinder collider;
}; // size = 0x0314
diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
index 117f8970b2..d20251b15d 100644
--- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c
+++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
@@ -77,9 +77,8 @@ void EnFu_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_06006C90, &D_06000B04, this->limbDrawTable,
- this->transitionDrawTable, 16);
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelanime, &D_06000B04);
+ SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_06006C90, &D_06000B04, this->jointTable, this->morphTable, 16);
+ Animation_PlayLoop(&this->skelanime, &D_06000B04);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = 0xFF;
@@ -90,7 +89,7 @@ void EnFu_Init(Actor* thisx, GlobalContext* globalCtx) {
} else {
this->actionFunc = EnFu_WaitAdult;
this->facialExpression = FU_FACE_MAD;
- this->skelanime.animPlaybackSpeed = 2.0f;
+ this->skelanime.playSpeed = 2.0f;
}
this->behaviorFlags = 0;
this->actor.unk_1F = 6;
@@ -126,8 +125,7 @@ void func_80A1DA04(EnFu* this, GlobalContext* globalCtx) {
this->actionFunc = EnFu_WaitChild;
if (this->skelanime.animation == &D_0600057C) {
- SkelAnime_ChangeAnim(&this->skelanime, &D_06000B04, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000B04), 2,
- -4.0f);
+ Animation_Change(&this->skelanime, &D_06000B04, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000B04), 2, -4.0f);
}
}
}
@@ -146,8 +144,7 @@ void EnFu_WaitChild(EnFu* this, GlobalContext* globalCtx) {
// if func_80A1D94C returns 1, actionFunc is set to func_80A1DA04
if (func_80A1D94C(this, globalCtx, textID, func_80A1DA04)) {
if (textID == 0x5033) {
- SkelAnime_ChangeAnim(&this->skelanime, &D_0600057C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600057C), 2,
- -4.0f);
+ Animation_Change(&this->skelanime, &D_0600057C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600057C), 2, -4.0f);
}
}
}
@@ -244,9 +241,9 @@ void EnFu_Update(Actor* thisx, GlobalContext* globalCtx) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
- if ((!(this->behaviorFlags & FU_WAIT)) && (SkelAnime_FrameUpdateMatrix(&this->skelanime) != 0)) {
- SkelAnime_ChangeAnim(&this->skelanime, this->skelanime.animation, 1.0f, 0.0f,
- SkelAnime_GetFrameCount(this->skelanime.animation), 2, 0.0f);
+ if ((!(this->behaviorFlags & FU_WAIT)) && (SkelAnime_Update(&this->skelanime) != 0)) {
+ Animation_Change(&this->skelanime, this->skelanime.animation, 1.0f, 0.0f,
+ Animation_GetLastFrame(this->skelanime.animation), 2, 0.0f);
}
this->actionFunc(this, globalCtx);
if ((this->behaviorFlags & FU_RESET_LOOK_ANGLE)) {
@@ -265,7 +262,7 @@ s32 EnFu_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
s32 pad1;
if (limbIndex == 10) {
- return 0;
+ return false;
}
switch (limbIndex) {
case 14:
@@ -277,14 +274,14 @@ s32 EnFu_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
}
if (!(this->behaviorFlags & FU_WAIT)) {
- return 0;
+ return false;
}
if (limbIndex == 8) {
rot->y += (Math_SinS((globalCtx->state.frames * (limbIndex * 50 + 0x814))) * 200.0f);
rot->z += (Math_CosS((globalCtx->state.frames * (limbIndex * 50 + 0x940))) * 200.0f);
}
- return 0;
+ return false;
}
void EnFu_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -304,7 +301,7 @@ void EnFu_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_800943C8(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->facialExpression]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthSegments[this->facialExpression]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.jointTable, this->skelanime.dListCount,
EnFu_OverrideLimbDraw, EnFu_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_fu.c", 791);
diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.h b/src/overlays/actors/ovl_En_Fu/z_en_fu.h
index a4b65ba031..2efb871cc3 100644
--- a/src/overlays/actors/ovl_En_Fu/z_en_fu.h
+++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.h
@@ -12,8 +12,8 @@ typedef struct EnFu {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelanime;
- /* 0x01DC */ Vec3s limbDrawTable[16];
- /* 0x023C */ Vec3s transitionDrawTable[16];
+ /* 0x01DC */ Vec3s jointTable[16];
+ /* 0x023C */ Vec3s morphTable[16];
/* 0x029C */ Vec3s lookAngleOffset; // offset applied to neck rotation to look at link when he is close
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ u16 behaviorFlags;
diff --git a/src/overlays/actors/ovl_En_Fw/z_en_fw.c b/src/overlays/actors/ovl_En_Fw/z_en_fw.c
index 9ce72d5cef..d4df1d1b36 100644
--- a/src/overlays/actors/ovl_En_Fw/z_en_fw.c
+++ b/src/overlays/actors/ovl_En_Fw/z_en_fw.c
@@ -169,8 +169,7 @@ s32 EnFw_SpawnDust(EnFw* this, u8 timer, f32 scale, f32 scaleStep, s32 dustCnt,
void EnFw_Init(Actor* thisx, GlobalContext* globalCtx) {
EnFw* this = THIS;
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007C30, NULL, this->limbDrawTable, this->transitionDrawTable,
- 11);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007C30, NULL, this->jointTable, this->morphTable, 11);
func_80034EC0(&this->skelAnime, D_80A1FBA0, 0);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 20.0f);
Collider_InitJntSph(globalCtx, &this->collider);
@@ -201,9 +200,9 @@ void EnFw_Run(EnFw* this, GlobalContext* globalCtx) {
EnBom* bomb;
Actor* flareDancer;
- Math_SmoothStepToF(&this->skelAnime.animPlaybackSpeed, 1.0f, 0.1f, 1.0f, 0.0f);
+ Math_SmoothStepToF(&this->skelAnime.playSpeed, 1.0f, 0.1f, 1.0f, 0.0f);
if (this->skelAnime.animation == &D_06006CF8) {
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount) == 0) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame) == 0) {
this->runRadius = Math_Vec3f_DistXYZ(&this->actor.posRot.pos, &this->actor.parent->posRot.pos);
func_80034EC0(&this->skelAnime, D_80A1FBA0, 2);
}
@@ -225,7 +224,7 @@ void EnFw_Run(EnFw* this, GlobalContext* globalCtx) {
}
if (this->explosionTimer != 0) {
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ this->skelAnime.playSpeed = 0.0f;
Math_SmoothStepToF(&this->actor.scale.x, 0.024999999f, 0.08f, 0.6f, 0.0f);
Actor_SetScale(&this->actor, this->actor.scale.x);
if (this->actor.dmgEffectTimer == 0) {
@@ -292,7 +291,7 @@ void EnFw_Run(EnFw* this, GlobalContext* globalCtx) {
this->slideSfxTimer = 4;
}
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 0.1f, 1.0f, 0.0f);
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ this->skelAnime.playSpeed = 0.0f;
EnFw_SpawnDust(this, 8, 0.16f, 0.2f, 3, 8.0f, 20.0f, ((Rand_ZeroOne() - 0.5f) * 0.2f) + 0.3f);
this->slideTimer--;
if (this->slideTimer == 0) {
@@ -301,7 +300,7 @@ void EnFw_Run(EnFw* this, GlobalContext* globalCtx) {
}
} else {
Math_SmoothStepToF(&this->actor.speedXZ, 6.0f, 0.1f, 1.0f, 0.0f);
- phi_v0 = this->skelAnime.animCurrentFrame;
+ phi_v0 = this->skelAnime.curFrame;
if (phi_v0 == 1 || phi_v0 == 4) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FLAME_MAN_RUN);
EnFw_SpawnDust(this, 8, 0.16f, 0.1f, 1, 0.0f, 20.0f, 0.0f);
@@ -338,7 +337,7 @@ void EnFw_JumpToParentInitPos(EnFw* this, GlobalContext* globalCtx) {
void EnFw_Update(Actor* thisx, GlobalContext* globalCtx) {
EnFw* this = THIS;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((this->actor.flags & 0x2000) != 0x2000) {
// not attached to hookshot.
Actor_MoveForward(&this->actor);
@@ -353,7 +352,7 @@ void EnFw_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 EnFw_OverrideLimbDraw(GlobalContext* globalContext, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void* thisx) {
- return 0;
+ return false;
}
void EnFw_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -381,7 +380,7 @@ void EnFw_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnFw_DrawDust(this, globalCtx);
Matrix_Pull();
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnFw_OverrideLimbDraw, EnFw_PostLimbDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_Fw/z_en_fw.h b/src/overlays/actors/ovl_En_Fw/z_en_fw.h
index 64d4cd1001..5e0627b27d 100644
--- a/src/overlays/actors/ovl_En_Fw/z_en_fw.h
+++ b/src/overlays/actors/ovl_En_Fw/z_en_fw.h
@@ -40,8 +40,8 @@ typedef struct EnFw {
/* 0x0212 */ s16 returnToParentTimer;
/* 0x0214 */ s16 turnAround;
/* 0x0218 */ f32 runRadius;
- /* 0x021C */ Vec3s limbDrawTable[11];
- /* 0x025E */ Vec3s transitionDrawTable[11];
+ /* 0x021C */ Vec3s jointTable[11];
+ /* 0x025E */ Vec3s morphTable[11];
/* 0x02A0 */ EnFwEffect effects[20];
} EnFw; // size = 0x0700
diff --git a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
index d81a67ac56..9c12e6c4a5 100644
--- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
+++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
@@ -161,8 +161,7 @@ void EnGeldB_Init(Actor* thisx, GlobalContext* globalCtx) {
thisx->params &= 0xFF;
this->blinkState = 0;
this->unkFloat = 10.0f;
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600A458, &D_0600B6D4, this->limbDrawTbl,
- this->transitionDrawTbl, 24);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600A458, &D_0600B6D4, this->jointTable, this->morphTable, 24);
Collider_InitCylinder(globalCtx, &this->bodyCollider);
Collider_SetCylinder(globalCtx, &this->bodyCollider, thisx, &sBodyCylInit);
Collider_InitTris(globalCtx, &this->blockCollider);
@@ -270,7 +269,7 @@ s32 EnGeldB_ReactToPlayer(GlobalContext* globalCtx, EnGeldB* this, s16 arg2) {
}
void EnGeldB_SetupWait(EnGeldB* this) {
- SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, &D_0600ADF8, 0.0f);
+ Animation_PlayOnceSetSpeed(&this->skelAnime, &D_0600ADF8, 0.0f);
this->actor.posRot.pos.y = this->actor.initPosRot.pos.y + 120.0f;
this->timer = 10;
this->invisible = true;
@@ -293,7 +292,7 @@ void EnGeldB_Wait(EnGeldB* this, GlobalContext* globalCtx) {
}
if (this->actor.bgCheckFlags & 2) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
this->actor.posRot.pos.y = this->actor.groundY;
this->actor.flags |= 1;
this->actor.posRot2.pos = this->actor.posRot.pos;
@@ -302,13 +301,13 @@ void EnGeldB_Wait(EnGeldB* this, GlobalContext* globalCtx) {
func_80033260(globalCtx, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
func_80033260(globalCtx, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
EnGeldB_SetupReady(this);
}
}
void EnGeldB_SetupFlee(EnGeldB* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600ADF8, -2.0f, SkelAnime_GetFrameCount(&D_0600ADF8), 0.0f, 3, -4.0f);
+ Animation_Change(&this->skelAnime, &D_0600ADF8, -2.0f, Animation_GetLastFrame(&D_0600ADF8), 0.0f, 3, -4.0f);
this->timer = 20;
this->invisible = false;
this->actionState = GELDB_WAIT;
@@ -317,15 +316,15 @@ void EnGeldB_SetupFlee(EnGeldB* this) {
}
void EnGeldB_Flee(EnGeldB* this, GlobalContext* globalCtx) {
- if (this->skelAnime.animCurrentFrame == 10.0f) {
+ if (this->skelAnime.curFrame == 10.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL_JUMP);
}
- if (this->skelAnime.animCurrentFrame == 2.0f) {
+ if (this->skelAnime.curFrame == 2.0f) {
this->actor.gravity = 0.0f;
func_80033260(globalCtx, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
func_80033260(globalCtx, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
Math_SmoothStepToF(&this->actor.posRot.pos.y, this->actor.groundY + 300.0f, 1.0f, 20.5f, 0.0f);
this->timer--;
if (this->timer == 0) {
@@ -335,7 +334,7 @@ void EnGeldB_Flee(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupReady(EnGeldB* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_0600B6D4, -4.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_0600B6D4, -4.0f);
this->actionState = GELDB_READY;
this->timer = Rand_ZeroOne() * 10.0f + 5.0f;
this->actor.speedXZ = 0.0f;
@@ -348,7 +347,7 @@ void EnGeldB_Ready(EnGeldB* this, GlobalContext* globalCtx) {
s32 pad;
s16 angleToLink;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->lookTimer != 0) {
angleToLink = this->actor.yawTowardsLink - this->actor.shape.rot.y - this->headRot.y;
if (ABS(angleToLink) > 0x2000) {
@@ -399,7 +398,7 @@ void EnGeldB_Ready(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupAdvance(EnGeldB* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060024E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060024E8), 1, -4.0f);
+ Animation_Change(&this->skelAnime, &D_060024E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060024E8), 1, -4.0f);
this->actionState = GELDB_ADVANCE;
EnGeldB_SetupAction(this, EnGeldB_Advance);
}
@@ -424,7 +423,7 @@ void EnGeldB_Advance(EnGeldB* this, GlobalContext* globalCtx) {
} else {
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 1.0f, 6.65f, 0.0f);
}
- this->skelAnime.animPlaybackSpeed = this->actor.speedXZ * 0.125f;
+ this->skelAnime.playSpeed = this->actor.speedXZ * 0.125f;
facingAngletoLink = player->actor.shape.rot.y - this->actor.shape.rot.y;
facingAngletoLink = ABS(facingAngletoLink);
if ((this->actor.xzDistFromLink < 150.0f) && (player->swordState != 0) && (facingAngletoLink >= 0x1F40)) {
@@ -434,11 +433,11 @@ void EnGeldB_Advance(EnGeldB* this, GlobalContext* globalCtx) {
return;
}
}
- thisKeyFrame = (s32)this->skelAnime.animCurrentFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- playSpeed = ABS(this->skelAnime.animPlaybackSpeed);
- prevKeyFrame = (s32)(this->skelAnime.animCurrentFrame - playSpeed);
- playSpeed = ABS(this->skelAnime.animPlaybackSpeed); // yes it does this twice.
+ thisKeyFrame = (s32)this->skelAnime.curFrame;
+ SkelAnime_Update(&this->skelAnime);
+ playSpeed = ABS(this->skelAnime.playSpeed);
+ prevKeyFrame = (s32)(this->skelAnime.curFrame - playSpeed);
+ playSpeed = ABS(this->skelAnime.playSpeed); // yes it does this twice.
if (!func_8002E084(&this->actor, 0x11C7)) {
if (Rand_ZeroOne() > 0.5f) {
EnGeldB_SetupCircle(this);
@@ -472,7 +471,7 @@ void EnGeldB_Advance(EnGeldB* this, GlobalContext* globalCtx) {
if ((globalCtx->gameplayFrames & 0x5F) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_BREATH);
}
- if ((thisKeyFrame != (s32)this->skelAnime.animCurrentFrame) &&
+ if ((thisKeyFrame != (s32)this->skelAnime.curFrame) &&
((prevKeyFrame < 0 && (s32)playSpeed + thisKeyFrame > 0) ||
(prevKeyFrame < 4 && (s32)playSpeed + thisKeyFrame > 4))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_LAND);
@@ -482,7 +481,7 @@ void EnGeldB_Advance(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupRollForward(EnGeldB* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06001390, -1.0f, SkelAnime_GetFrameCount(&D_06001390), 0.0f, 2, -3.0f);
+ Animation_Change(&this->skelAnime, &D_06001390, -1.0f, Animation_GetLastFrame(&D_06001390), 0.0f, 2, -3.0f);
this->timer = 0;
this->invisible = true;
this->actionState = GELDB_ROLL_FORWARD;
@@ -496,7 +495,7 @@ void EnGeldB_RollForward(EnGeldB* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s16 facingAngleToLink = player->actor.shape.rot.y - this->actor.shape.rot.y;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->invisible = false;
this->actor.speedXZ = 0.0f;
if (!func_8002E084(&this->actor, 0x1554)) {
@@ -518,7 +517,7 @@ void EnGeldB_RollForward(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupPivot(EnGeldB* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_0600A814, -4.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_0600A814, -4.0f);
this->actionState = GELDB_PIVOT;
EnGeldB_SetupAction(this, EnGeldB_Pivot);
}
@@ -539,8 +538,8 @@ void EnGeldB_Pivot(EnGeldB* this, GlobalContext* globalCtx) {
playSpeed = turnRate * 0.5f;
playSpeed = CLAMP_MIN(playSpeed, -1.0f);
}
- this->skelAnime.animPlaybackSpeed = -playSpeed;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ this->skelAnime.playSpeed = -playSpeed;
+ SkelAnime_Update(&this->skelAnime);
if (func_8002E084(&this->actor, 30 * 0x10000 / 360)) {
if (Rand_ZeroOne() > 0.8f) {
EnGeldB_SetupCircle(this);
@@ -555,10 +554,10 @@ void EnGeldB_Pivot(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupCircle(EnGeldB* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600A814, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600A814), 1, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600A814, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600A814), 1, 0.0f);
this->actor.speedXZ = Rand_CenteredFloat(12.0f);
this->actor.posRot.rot.y = this->actor.shape.rot.y;
- this->skelAnime.animPlaybackSpeed = -this->actor.speedXZ * 0.5f;
+ this->skelAnime.playSpeed = -this->actor.speedXZ * 0.5f;
this->timer = Rand_ZeroOne() * 30.0f + 30.0f;
this->actionState = GELDB_CIRCLE;
this->approachRate = 0.0f;
@@ -623,18 +622,18 @@ void EnGeldB_Circle(EnGeldB* this, GlobalContext* globalCtx) {
this->actor.posRot.pos.z += Math_CosS(this->actor.shape.rot.y) * this->approachRate;
}
if (ABS(this->approachRate) < ABS(this->actor.speedXZ)) {
- this->skelAnime.animPlaybackSpeed = -this->actor.speedXZ * 0.5f;
+ this->skelAnime.playSpeed = -this->actor.speedXZ * 0.5f;
} else {
- this->skelAnime.animPlaybackSpeed = -this->approachRate * 0.5f;
+ this->skelAnime.playSpeed = -this->approachRate * 0.5f;
}
- this->skelAnime.animPlaybackSpeed = CLAMP(this->skelAnime.animPlaybackSpeed, -3.0f, 3.0f);
+ this->skelAnime.playSpeed = CLAMP(this->skelAnime.playSpeed, -3.0f, 3.0f);
- thisKeyFrame = this->skelAnime.animCurrentFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ thisKeyFrame = this->skelAnime.curFrame;
+ SkelAnime_Update(&this->skelAnime);
- prevKeyFrame = this->skelAnime.animCurrentFrame - ABS(this->skelAnime.animPlaybackSpeed);
- nextKeyFrame = (s32)ABS(this->skelAnime.animPlaybackSpeed) + thisKeyFrame;
- if ((thisKeyFrame != (s32)this->skelAnime.animCurrentFrame) &&
+ prevKeyFrame = this->skelAnime.curFrame - ABS(this->skelAnime.playSpeed);
+ nextKeyFrame = (s32)ABS(this->skelAnime.playSpeed) + thisKeyFrame;
+ if ((thisKeyFrame != (s32)this->skelAnime.curFrame) &&
((prevKeyFrame < 0 && 0 < nextKeyFrame) || (prevKeyFrame < 5 && 5 < nextKeyFrame))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_LAND);
}
@@ -658,7 +657,7 @@ void EnGeldB_SetupSpinDodge(EnGeldB* this, GlobalContext* globalCtx) {
s16 sp3E;
Player* player = PLAYER;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600A814, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600A814), 1, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600A814, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600A814), 1, 0.0f);
sp3E = player->actor.shape.rot.y;
if (Math_SinS(sp3E - this->actor.shape.rot.y) > 0.0f) {
this->actor.speedXZ = -10.0f;
@@ -669,7 +668,7 @@ void EnGeldB_SetupSpinDodge(EnGeldB* this, GlobalContext* globalCtx) {
} else {
this->actor.speedXZ = -10.0f;
}
- this->skelAnime.animPlaybackSpeed = -this->actor.speedXZ * 0.5f;
+ this->skelAnime.playSpeed = -this->actor.speedXZ * 0.5f;
this->actor.posRot.rot.y = this->actor.shape.rot.y;
this->timer = 6;
this->approachRate = 0.0f;
@@ -717,16 +716,16 @@ void EnGeldB_SpinDodge(EnGeldB* this, GlobalContext* globalCtx) {
this->actor.posRot.pos.z += Math_CosS(this->actor.yawTowardsLink) * this->approachRate;
}
if (ABS(this->approachRate) < ABS(this->actor.speedXZ)) {
- this->skelAnime.animPlaybackSpeed = -this->actor.speedXZ * 0.5f;
+ this->skelAnime.playSpeed = -this->actor.speedXZ * 0.5f;
} else {
- this->skelAnime.animPlaybackSpeed = -this->approachRate * 0.5f;
+ this->skelAnime.playSpeed = -this->approachRate * 0.5f;
}
- this->skelAnime.animPlaybackSpeed = CLAMP(this->skelAnime.animPlaybackSpeed, -3.0f, 3.0f);
- thisKeyFrame = this->skelAnime.animCurrentFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- lastKeyFrame = this->skelAnime.animCurrentFrame - ABS(this->skelAnime.animPlaybackSpeed);
- nextKeyFrame = (s32)ABS(this->skelAnime.animPlaybackSpeed) + thisKeyFrame;
- if ((thisKeyFrame != (s32)this->skelAnime.animCurrentFrame) &&
+ this->skelAnime.playSpeed = CLAMP(this->skelAnime.playSpeed, -3.0f, 3.0f);
+ thisKeyFrame = this->skelAnime.curFrame;
+ SkelAnime_Update(&this->skelAnime);
+ lastKeyFrame = this->skelAnime.curFrame - ABS(this->skelAnime.playSpeed);
+ nextKeyFrame = (s32)ABS(this->skelAnime.playSpeed) + thisKeyFrame;
+ if ((thisKeyFrame != (s32)this->skelAnime.curFrame) &&
((lastKeyFrame < 0 && 0 < nextKeyFrame) || (lastKeyFrame < 5 && 5 < nextKeyFrame))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_LAND);
}
@@ -753,7 +752,7 @@ void EnGeldB_SpinDodge(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupSlash(EnGeldB* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_060003CC);
+ Animation_PlayOnce(&this->skelAnime, &D_060003CC);
this->swordCollider.base.atFlags &= ~4;
this->actionState = GELDB_SLASH;
this->spinAttackState = 0;
@@ -771,17 +770,17 @@ void EnGeldB_Slash(EnGeldB* this, GlobalContext* globalCtx) {
angleToLink = ABS(angleToLink);
this->actor.speedXZ = 0.0f;
- if ((s32)this->skelAnime.animCurrentFrame == 1) {
+ if ((s32)this->skelAnime.curFrame == 1) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_ATTACK);
this->swordState = 1;
- } else if ((s32)this->skelAnime.animCurrentFrame == 6) {
+ } else if ((s32)this->skelAnime.curFrame == 6) {
this->swordState = -1;
}
if (this->swordCollider.base.atFlags & 4) {
this->swordState = -1;
this->swordCollider.base.atFlags &= ~6;
EnGeldB_SetupRollBack(this);
- } else if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ } else if (SkelAnime_Update(&this->skelAnime)) {
if (!func_8002E084(&this->actor, 0x1554)) {
EnGeldB_SetupReady(this);
this->timer = (Rand_ZeroOne() * 5.0f) + 5.0f;
@@ -810,7 +809,7 @@ void EnGeldB_Slash(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupSpinAttack(EnGeldB* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000F5C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000F5C), 3, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000F5C, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000F5C), 3, 0.0f);
this->swordCollider.base.atFlags &= ~6;
this->actionState = GELDB_SPIN_ATTACK;
this->spinAttackState = 0;
@@ -827,7 +826,7 @@ void EnGeldB_SpinAttack(EnGeldB* this, GlobalContext* globalCtx) {
if (this->swordCollider.base.atFlags & 4) {
this->swordCollider.base.atFlags &= ~6;
this->spinAttackState = 1;
- this->skelAnime.animPlaybackSpeed = 1.5f;
+ this->skelAnime.playSpeed = 1.5f;
} else if (this->swordCollider.base.atFlags & 2) {
this->swordCollider.base.atFlags &= ~2;
if (&player->actor == this->swordCollider.base.at) {
@@ -842,20 +841,20 @@ void EnGeldB_SpinAttack(EnGeldB* this, GlobalContext* globalCtx) {
}
}
}
- if ((s32)this->skelAnime.animCurrentFrame < 9) {
+ if ((s32)this->skelAnime.curFrame < 9) {
this->actor.shape.rot.y = this->actor.posRot.rot.y = this->actor.yawTowardsLink;
- } else if ((s32)this->skelAnime.animCurrentFrame == 13) {
+ } else if ((s32)this->skelAnime.curFrame == 13) {
func_80033260(globalCtx, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
func_80033260(globalCtx, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
this->swordState = 1;
this->actor.speedXZ = 10.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_ATTACK);
- } else if ((s32)this->skelAnime.animCurrentFrame == 21) {
+ } else if ((s32)this->skelAnime.curFrame == 21) {
this->actor.speedXZ = 0.0f;
- } else if ((s32)this->skelAnime.animCurrentFrame == 24) {
+ } else if ((s32)this->skelAnime.curFrame == 24) {
this->swordState = -1;
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) && (this->spinAttackState < 2)) {
+ if (SkelAnime_Update(&this->skelAnime) && (this->spinAttackState < 2)) {
if (!func_8002E084(&this->actor, 0x1554)) {
EnGeldB_SetupReady(this);
this->timer = (Rand_ZeroOne() * 5.0f) + 5.0f;
@@ -890,7 +889,7 @@ void EnGeldB_SpinAttack(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupRollBack(EnGeldB* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06001390, -3.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06001390, -3.0f);
this->timer = 0;
this->invisible = true;
this->actionState = GELDB_ROLL_BACK;
@@ -901,7 +900,7 @@ void EnGeldB_SetupRollBack(EnGeldB* this) {
}
void EnGeldB_RollBack(EnGeldB* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (!func_80033AB8(globalCtx, &this->actor) && (this->actor.xzDistFromLink < 170.0f) &&
(this->actor.xzDistFromLink > 140.0f) && (Rand_ZeroOne() < 0.2f)) {
EnGeldB_SetupSpinAttack(this);
@@ -921,7 +920,7 @@ void EnGeldB_SetupStunned(EnGeldB* this) {
this->actor.speedXZ = 0.0f;
}
if ((this->damageEffect != GELDB_DAMAGE_FREEZE) || (this->actionState == GELDB_SPIN_ATTACK)) {
- SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, &D_06002280, 0.0f);
+ Animation_PlayOnceSetSpeed(&this->skelAnime, &D_06002280, 0.0f);
}
if (this->damageEffect == GELDB_DAMAGE_FREEZE) {
this->iceTimer = 36;
@@ -951,7 +950,7 @@ void EnGeldB_Stunned(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupDamaged(EnGeldB* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06002280, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06002280, -4.0f);
if (this->actor.bgCheckFlags & 1) {
this->invisible = false;
this->actor.speedXZ = -4.0f;
@@ -979,7 +978,7 @@ void EnGeldB_Damaged(EnGeldB* this, GlobalContext* globalCtx) {
}
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0x1194, 0);
if (!EnGeldB_DodgeRanged(globalCtx, this) && !EnGeldB_ReactToPlayer(globalCtx, this, 0) &&
- SkelAnime_FrameUpdateMatrix(&this->skelAnime) && (this->actor.bgCheckFlags & 1)) {
+ SkelAnime_Update(&this->skelAnime) && (this->actor.bgCheckFlags & 1)) {
angleToWall = this->actor.wallPolyRot - this->actor.shape.rot.y;
if ((this->actor.bgCheckFlags & 8) && (ABS(angleToWall) < 0x2EE0) && (this->actor.xzDistFromLink < 90.0f)) {
EnGeldB_SetupJump(this);
@@ -995,7 +994,7 @@ void EnGeldB_Damaged(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupJump(EnGeldB* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06001390, -1.0f, SkelAnime_GetFrameCount(&D_06001390), 0.0f, 2, -3.0f);
+ Animation_Change(&this->skelAnime, &D_06001390, -1.0f, Animation_GetLastFrame(&D_06001390), 0.0f, 2, -3.0f);
this->timer = 0;
this->invisible = false;
this->actionState = GELDB_JUMP;
@@ -1012,7 +1011,7 @@ void EnGeldB_Jump(EnGeldB* this, GlobalContext* globalCtx) {
func_800355B8(globalCtx, &this->rightFootPos);
func_800355B8(globalCtx, &this->leftFootPos);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) && (this->actor.bgCheckFlags & 3)) {
+ if (SkelAnime_Update(&this->skelAnime) && (this->actor.bgCheckFlags & 3)) {
this->actor.posRot.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsLink;
this->actor.shape.rot.x = 0;
this->actor.speedXZ = 0.0f;
@@ -1029,14 +1028,14 @@ void EnGeldB_Jump(EnGeldB* this, GlobalContext* globalCtx) {
void EnGeldB_SetupBlock(EnGeldB* this) {
f32 lastFrame;
- lastFrame = SkelAnime_GetFrameCount(&D_06001578);
+ lastFrame = Animation_GetLastFrame(&D_06001578);
if (this->swordState != 0) {
this->swordState = -1;
}
this->actor.speedXZ = 0.0f;
this->actionState = GELDB_BLOCK;
this->timer = (s32)Rand_CenteredFloat(10.0f) + 10;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06001578, 0.0f, 0.0f, lastFrame, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06001578, 0.0f, 0.0f, lastFrame, 2, 0.0f);
EnGeldB_SetupAction(this, EnGeldB_Block);
}
@@ -1049,9 +1048,9 @@ void EnGeldB_Block(EnGeldB* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
} else {
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
angleToLink = this->actor.yawTowardsLink - this->actor.shape.rot.y;
if ((ABS(angleToLink) <= 0x4000) && (this->actor.xzDistFromLink < 40.0f) &&
(ABS(this->actor.yDistFromLink) < 50.0f)) {
@@ -1097,7 +1096,7 @@ void EnGeldB_SetupSidestep(EnGeldB* this, GlobalContext* globalCtx) {
s16 linkAngle;
Player* player;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600A814, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600A814), 1, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600A814, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600A814), 1, 0.0f);
player = PLAYER;
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0xFA0, 1);
linkAngle = player->actor.shape.rot.y;
@@ -1108,7 +1107,7 @@ void EnGeldB_SetupSidestep(EnGeldB* this, GlobalContext* globalCtx) {
} else {
this->actor.speedXZ = Rand_CenteredFloat(12.0f);
}
- this->skelAnime.animPlaybackSpeed = -this->actor.speedXZ * 0.5f;
+ this->skelAnime.playSpeed = -this->actor.speedXZ * 0.5f;
this->approachRate = 0.0f;
this->actor.posRot.rot.y = this->actor.shape.rot.y + 0x3FFF;
this->timer = Rand_ZeroOne() * 10.0f + 5.0f;
@@ -1171,16 +1170,16 @@ void EnGeldB_Sidestep(EnGeldB* this, GlobalContext* globalCtx) {
this->actor.posRot.pos.z += Math_CosS(this->actor.shape.rot.y) * this->approachRate;
}
if (ABS(this->approachRate) < ABS(this->actor.speedXZ)) {
- this->skelAnime.animPlaybackSpeed = -this->actor.speedXZ * 0.5f;
+ this->skelAnime.playSpeed = -this->actor.speedXZ * 0.5f;
} else {
- this->skelAnime.animPlaybackSpeed = -this->approachRate * 0.5f;
+ this->skelAnime.playSpeed = -this->approachRate * 0.5f;
}
- this->skelAnime.animPlaybackSpeed = CLAMP(this->skelAnime.animPlaybackSpeed, -3.0f, 3.0f);
- thisKeyFrame = this->skelAnime.animCurrentFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- prevKeyFrame = this->skelAnime.animCurrentFrame - ABS(this->skelAnime.animPlaybackSpeed);
+ this->skelAnime.playSpeed = CLAMP(this->skelAnime.playSpeed, -3.0f, 3.0f);
+ thisKeyFrame = this->skelAnime.curFrame;
+ SkelAnime_Update(&this->skelAnime);
+ prevKeyFrame = this->skelAnime.curFrame - ABS(this->skelAnime.playSpeed);
- playSpeed = ((void) 0, ABS(this->skelAnime.animPlaybackSpeed)); // Needed to match for some reason
+ playSpeed = ((void)0, ABS(this->skelAnime.playSpeed)); // Needed to match for some reason
if (!EnGeldB_DodgeRanged(globalCtx, this) && !EnGeldB_ReactToPlayer(globalCtx, this, 0)) {
if (--this->timer == 0) {
@@ -1211,7 +1210,7 @@ void EnGeldB_Sidestep(EnGeldB* this, GlobalContext* globalCtx) {
}
}
}
- if ((thisKeyFrame != (s32)this->skelAnime.animCurrentFrame) &&
+ if ((thisKeyFrame != (s32)this->skelAnime.curFrame) &&
(((prevKeyFrame < 0) && (((s32)playSpeed + thisKeyFrame) > 0)) ||
((prevKeyFrame < 5) && (((s32)playSpeed + thisKeyFrame) > 5)))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_LAND);
@@ -1223,7 +1222,7 @@ void EnGeldB_Sidestep(EnGeldB* this, GlobalContext* globalCtx) {
}
void EnGeldB_SetupDefeated(EnGeldB* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06001E10, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06001E10, -4.0f);
this->actor.posRot.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsLink;
if (this->actor.bgCheckFlags & 1) {
this->invisible = false;
@@ -1245,9 +1244,9 @@ void EnGeldB_Defeated(EnGeldB* this, GlobalContext* globalCtx) {
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 1.0f, 0.5f, 0.0f);
this->invisible = false;
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
EnGeldB_SetupFlee(this);
- } else if ((s32)this->skelAnime.animCurrentFrame == 10) {
+ } else if ((s32)this->skelAnime.curFrame == 10) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
func_800F5B58();
}
@@ -1330,7 +1329,7 @@ void EnGeldB_Update(Actor* thisx, GlobalContext* globalCtx) {
((this->actor.dmgEffectTimer == 0) || !(this->actor.dmgEffectParams & 0x4000))) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->bodyCollider.base);
}
- if ((this->actionState == GELDB_BLOCK) && (this->skelAnime.animCurrentFrame == 0.0f)) {
+ if ((this->actionState == GELDB_BLOCK) && (this->skelAnime.curFrame == 0.0f)) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->blockCollider.base);
}
if (this->swordState > 0) {
@@ -1366,7 +1365,7 @@ s32 EnGeldB_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLis
gDPSetEnvColor(POLY_OPA_DISP++, 140, 0, 0, 255);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_geldB.c", 2529);
- return 0;
+ return false;
}
void EnGeldB_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -1469,9 +1468,9 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_geldB.c", 2672);
if (1) {}
- if ((this->spinAttackState >= 2) && SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if ((this->spinAttackState >= 2) && SkelAnime_Update(&this->skelAnime)) {
if (this->spinAttackState == 2) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000F5C, 0.5f, 0.0f, 12.0f, 3, 4.0f);
+ Animation_Change(&this->skelAnime, &D_06000F5C, 0.5f, 0.0f, 12.0f, 3, 4.0f);
this->spinAttackState++;
thisx->posRot.rot.y = thisx->shape.rot.y = thisx->yawTowardsLink;
} else {
@@ -1493,7 +1492,7 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) {
if ((this->actionState != GELDB_WAIT) || !this->invisible) {
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeDLists[this->blinkState]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnGeldB_OverrideLimbDraw, EnGeldB_PostLimbDraw, this);
if (this->actionState == GELDB_BLOCK) {
s32 i;
diff --git a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h
index 99392d0636..9e4fca5866 100644
--- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h
+++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.h
@@ -12,8 +12,8 @@ typedef struct EnGeldB {
/* 0x0000 */ Actor actor;
/* 0x014C */ Vec3s bodyPartsPos[10];
/* 0x0188 */ SkelAnime skelAnime;
- /* 0x01CC */ Vec3s limbDrawTbl[24];
- /* 0x025C */ Vec3s transitionDrawTbl[24];
+ /* 0x01CC */ Vec3s jointTable[24];
+ /* 0x025C */ Vec3s morphTable[24];
/* 0x02EC */ s32 actionState;
/* 0x02F0 */ char unk_2F0[4];
/* 0x02F4 */ EnGeldBActionFunc actionFunc;
diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/src/overlays/actors/ovl_En_Gm/z_en_gm.c
index 43946aab05..47dbc3fff8 100644
--- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c
+++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c
@@ -95,10 +95,9 @@ s32 func_80A3D7C8(void) {
void func_80A3D838(EnGm* this, GlobalContext* globalCtx) {
if (Object_IsLoaded(&globalCtx->objectCtx, this->objGmBankIndex)) {
this->actor.flags &= ~0x10;
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600FEF0, NULL, this->limbDrawTable,
- this->transitionDrawTable, 18);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600FEF0, NULL, this->jointTable, this->morphTable, 18);
gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->objGmBankIndex].segment);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060002B8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060002B8), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_060002B8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060002B8), 0, 0.0f);
this->actor.draw = EnGm_Draw;
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder_Set3(globalCtx, &this->collider, &this->actor, &sCylinderInit);
@@ -269,7 +268,7 @@ void func_80A3DFBC(EnGm* this, GlobalContext* globalCtx) {
this->actor.posRot2.rot.y = this->actor.posRot.rot.y;
this->actor.posRot2.rot.z = this->actor.posRot.rot.z;
EnGm_UpdateEye(this);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
@@ -315,7 +314,7 @@ void EnGm_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(D_0600DE80));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, NULL, &this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_gm.c", 629);
diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.h b/src/overlays/actors/ovl_En_Gm/z_en_gm.h
index 1701fa0e71..f017c363b9 100644
--- a/src/overlays/actors/ovl_En_Gm/z_en_gm.h
+++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.h
@@ -12,8 +12,8 @@ typedef void (*EnGmActionFunc)(struct EnGm*, GlobalContext*);
typedef struct EnGm {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[18];
- /* 0x01FC */ Vec3s transitionDrawTable[18];
+ /* 0x0190 */ Vec3s jointTable[18];
+ /* 0x01FC */ Vec3s morphTable[18];
/* 0x0268 */ EnGmUpdateFunc updateFunc;
/* 0x026C */ EnGmActionFunc actionFunc;
/* 0x0270 */ ColliderCylinder collider;
diff --git a/src/overlays/actors/ovl_En_Guest/z_en_guest.c b/src/overlays/actors/ovl_En_Guest/z_en_guest.c
index e1e6b238f4..2450d38157 100644
--- a/src/overlays/actors/ovl_En_Guest/z_en_guest.c
+++ b/src/overlays/actors/ovl_En_Guest/z_en_guest.c
@@ -84,10 +84,9 @@ void EnGuest_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actor.flags &= ~0x10;
Actor_ProcessInitChain(&this->actor, sInitChain);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->limbDrawTable,
- this->transitionDrawTable, 16);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->jointTable, this->morphTable, 16);
gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->osAnimeBankIndex].segment);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060042AC, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060042AC), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_060042AC, 1.0f, 0.0f, Animation_GetLastFrame(&D_060042AC), 0, 0.0f);
this->actor.draw = EnGuest_Draw;
this->actor.update = func_80A505CC;
@@ -167,7 +166,7 @@ void func_80A505CC(Actor* thisx, GlobalContext* globalCtx) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->osAnimeBankIndex].segment);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Actor_SetHeight(&this->actor, 60.0f);
Collider_CylinderUpdate(&this->actor, &this->collider);
@@ -213,7 +212,7 @@ s32 EnGuest_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLis
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_guest.c", 388);
- return 0;
+ return false;
}
void EnGuest_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -228,7 +227,7 @@ void EnGuest_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x09, func_80A50708(globalCtx->state.gfxCtx, 0xA0, 0x3C, 0xDC, 0xFF));
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(D_80A50BA4[this->unk_30E]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnGuest_OverrideLimbDraw, NULL, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_guest.c", 421);
diff --git a/src/overlays/actors/ovl_En_Guest/z_en_guest.h b/src/overlays/actors/ovl_En_Guest/z_en_guest.h
index 15e5f0df16..ce13a2c5a0 100644
--- a/src/overlays/actors/ovl_En_Guest/z_en_guest.h
+++ b/src/overlays/actors/ovl_En_Guest/z_en_guest.h
@@ -11,8 +11,8 @@ typedef void (*EnGuestActionFunc)(struct EnGuest* this, GlobalContext* globalCtx
typedef struct EnGuest {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[16];
- /* 0x01F0 */ Vec3s transitionDrawTable[16];
+ /* 0x0190 */ Vec3s jointTable[16];
+ /* 0x01F0 */ Vec3s morphTable[16];
/* 0x0250 */ EnGuestActionFunc actionFunc;
/* 0x0254 */ ColliderCylinder collider;
/* 0x02A0 */ struct_80034A14_arg1 unk_2A0;
diff --git a/src/overlays/actors/ovl_En_Hata/z_en_hata.c b/src/overlays/actors/ovl_En_Hata/z_en_hata.c
index e1e85c6e6d..e7ff15be83 100644
--- a/src/overlays/actors/ovl_En_Hata/z_en_hata.c
+++ b/src/overlays/actors/ovl_En_Hata/z_en_hata.c
@@ -45,10 +45,10 @@ void EnHata_Init(Actor* thisx, GlobalContext* globalCtx) {
f32 frameCount;
temp = 0;
- frameCount = SkelAnime_GetFrameCount(&D_06000444);
+ frameCount = Animation_GetLastFrame(&D_06000444);
Actor_SetScale(&this->dyna.actor, 1.0f / 75.0f);
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06002FD0, &D_06000444, NULL, NULL, 0);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000444, 1.0f, 0.0f, frameCount, 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000444, 1.0f, 0.0f, frameCount, 0, 0.0f);
DynaPolyInfo_SetActorMove(&this->dyna, DPM_UNK);
DynaPolyInfo_Alloc(&D_060000C0, &temp);
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, temp);
@@ -75,7 +75,7 @@ void EnHata_Update(Actor* thisx, GlobalContext* globalCtx2) {
Vec3f sp3C;
f32 sin;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->limbs[3].y = this->limbs[12].y = -0x4000;
sp3C.x = globalCtx->envCtx.unk_A8;
sp3C.y = globalCtx->envCtx.unk_AA;
@@ -98,7 +98,7 @@ void EnHata_Update(Actor* thisx, GlobalContext* globalCtx2) {
this->limbs[13].y = this->limbs[4].y;
this->limbs[4].z = -Math_Vec3f_Yaw(&sp48, &sp3C);
this->limbs[13].z = this->limbs[4].z;
- this->skelAnime.animPlaybackSpeed = (Rand_ZeroFloat(1.25f) + 2.75f) * (globalCtx->envCtx.unk_B0 / 255.0f);
+ this->skelAnime.playSpeed = (Rand_ZeroFloat(1.25f) + 2.75f) * (globalCtx->envCtx.unk_B0 / 255.0f);
}
s32 EnHata_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
@@ -111,7 +111,7 @@ s32 EnHata_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
rot->y += limbs[limbIndex].y;
rot->z += limbs[limbIndex].z;
}
- return 0;
+ return false;
}
void EnHata_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -121,6 +121,6 @@ void EnHata_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnHata* this = THIS;
func_800943C8(globalCtx->state.gfxCtx);
Matrix_Scale(1.0f, 1.1f, 1.0f, MTXMODE_APPLY);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHata_OverrideLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHata_OverrideLimbDraw,
EnHata_PostLimbDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c b/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c
index 2f113f510f..372c881529 100644
--- a/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c
+++ b/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c
@@ -76,8 +76,7 @@ void EnHeishi1_Init(Actor* thisx, GlobalContext* globalCtx) {
u16 time;
Actor_SetScale(&this->actor, 0.01f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_06005C30, this->limbDrawTable,
- this->transitionDrawTable, 17);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_06005C30, this->jointTable, this->morphTable, 17);
this->type = (this->actor.params >> 8) & 0xFF;
this->path = this->actor.params & 0xFF;
@@ -140,10 +139,9 @@ void EnHeishi1_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnHeishi1_SetupWalk(EnHeishi1* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005880);
+ f32 frameCount = Animation_GetLastFrame(&D_06005880);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005880, this->animSpeed, 0.0f, (s16)frameCount, 0,
- this->transitionRate);
+ Animation_Change(&this->skelAnime, &D_06005880, this->animSpeed, 0.0f, (s16)frameCount, 0, this->transitionRate);
this->bodyTurnSpeed = 0.0f;
this->moveSpeed = 0.0f;
this->headDirection = Rand_ZeroFloat(1.99f);
@@ -157,9 +155,9 @@ void EnHeishi1_Walk(EnHeishi1* this, GlobalContext* globalCtx) {
f32 pathDiffZ;
s16 randOffset;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 1.0f) || func_800A56C8(&this->skelAnime, 17.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 1.0f) || Animation_OnFrame(&this->skelAnime, 17.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_KNIGHT_WALK);
}
@@ -224,9 +222,9 @@ void EnHeishi1_Walk(EnHeishi1* this, GlobalContext* globalCtx) {
}
void EnHeishi1_SetupMoveToLink(EnHeishi1* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005880);
+ f32 frameCount = Animation_GetLastFrame(&D_06005880);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005880, 3.0f, 0.0f, (s16)frameCount, 0, -3.0f);
+ Animation_Change(&this->skelAnime, &D_06005880, 3.0f, 0.0f, (s16)frameCount, 0, -3.0f);
this->bodyTurnSpeed = 0.0f;
this->moveSpeed = 0.0f;
func_8010B680(globalCtx, 0x702D, &this->actor);
@@ -237,7 +235,7 @@ void EnHeishi1_SetupMoveToLink(EnHeishi1* this, GlobalContext* globalCtx) {
void EnHeishi1_MoveToLink(EnHeishi1* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_ApproachF(&this->actor.posRot.pos.x, player->actor.posRot.pos.x, 1.0f, this->moveSpeed);
Math_ApproachF(&this->actor.posRot.pos.z, player->actor.posRot.pos.z, 1.0f, this->moveSpeed);
Math_ApproachF(&this->moveSpeed, 6.0f, 1.0f, 0.4f);
@@ -252,10 +250,9 @@ void EnHeishi1_MoveToLink(EnHeishi1* this, GlobalContext* globalCtx) {
void EnHeishi1_SetupWait(EnHeishi1* this, GlobalContext* globalCtx) {
s16 rand;
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, this->animSpeed, 0.0f, (s16)frameCount, 0,
- this->transitionRate);
+ Animation_Change(&this->skelAnime, &D_06005C30, this->animSpeed, 0.0f, (s16)frameCount, 0, this->transitionRate);
this->headBehaviorDecided = false;
this->headDirection = Rand_ZeroFloat(1.99f);
rand = Rand_ZeroFloat(50.0f);
@@ -267,7 +264,7 @@ void EnHeishi1_Wait(EnHeishi1* this, GlobalContext* globalCtx) {
s16 randOffset;
s32 i;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (!sPlayerIsCaught) {
switch (this->headBehaviorDecided) {
case false:
@@ -322,15 +319,15 @@ void EnHeishi1_Wait(EnHeishi1* this, GlobalContext* globalCtx) {
}
void EnHeishi1_SetupTurnTowardLink(EnHeishi1* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->kickTimer = 30;
this->actionFunc = EnHeishi1_TurnTowardLink;
}
void EnHeishi1_TurnTowardLink(EnHeishi1* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->type != 5) {
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 3, this->bodyTurnSpeed, 0);
@@ -344,14 +341,14 @@ void EnHeishi1_TurnTowardLink(EnHeishi1* this, GlobalContext* globalCtx) {
}
void EnHeishi1_SetupKick(EnHeishi1* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->actionFunc = EnHeishi1_Kick;
}
void EnHeishi1_Kick(EnHeishi1* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (!this->loadStarted) {
// if dialog state is 5 and textbox has been advanced, kick player out
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx))) {
@@ -370,14 +367,14 @@ void EnHeishi1_Kick(EnHeishi1* this, GlobalContext* globalCtx) {
}
void EnHeishi1_SetupWaitNight(EnHeishi1* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->actionFunc = EnHeishi1_WaitNight;
}
void EnHeishi1_WaitNight(EnHeishi1* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.xzDistFromLink < 100.0f) {
func_8010B680(globalCtx, 0x702D, &this->actor);
@@ -490,7 +487,7 @@ s32 EnHeishi1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
rot->x += (s16)this->headAngle;
}
- return 0;
+ return false;
}
void EnHeishi1_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -499,8 +496,8 @@ void EnHeishi1_Draw(Actor* thisx, GlobalContext* globalCtx) {
Vec3f matrixScale = { 0.3f, 0.3f, 0.3f };
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi1_OverrideLimbDraw,
- NULL, this);
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHeishi1_OverrideLimbDraw, NULL,
+ this);
func_80033C30(&this->actor.posRot.pos, &matrixScale, 0xFF, globalCtx);
if ((this->path == BREG(1)) && (BREG(0) != 0)) {
diff --git a/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.h b/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.h
index b31c1026e1..503634f26b 100644
--- a/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.h
+++ b/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.h
@@ -11,8 +11,8 @@ typedef void (*EnHeishi1ActionFunc)(struct EnHeishi1*, GlobalContext*);
typedef struct EnHeishi1 {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[17];
- /* 0x01F6 */ Vec3s transitionDrawTable[17];
+ /* 0x0190 */ Vec3s jointTable[17];
+ /* 0x01F6 */ Vec3s morphTable[17];
/* 0x025C */ EnHeishi1ActionFunc actionFunc;
/* 0x0260 */ s16 activeTimer;
/* 0x0262 */ s16 headDirection;
diff --git a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
index 8894560524..184355d2d8 100644
--- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
+++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
@@ -110,8 +110,7 @@ void EnHeishi2_Init(Actor* thisx, GlobalContext* globalCtx) {
} else {
this->unk_2E0 = 60.0f;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_06005C30, this->limbDrawTable,
- this->transitionDrawTable, 17);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_06005C30, this->jointTable, this->morphTable, 17);
collider = &this->collider;
Collider_InitCylinder(globalCtx, collider);
Collider_SetCylinder(globalCtx, collider, &this->actor, &sCylinderInit);
@@ -166,9 +165,9 @@ void func_80A531D8(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A531E4(EnHeishi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->actionFunc = func_80A53278;
}
@@ -224,7 +223,7 @@ void func_80A53278(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A5344C(EnHeishi2* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) {
this->unk_300 = 5;
switch (globalCtx->msgCtx.choiceIndex) {
@@ -253,7 +252,7 @@ void func_80A5344C(EnHeishi2* this, GlobalContext* globalCtx) {
void func_80A53538(EnHeishi2* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_300 == func_8010BDBC(&globalCtx->msgCtx)) {
if (func_80106BC8(globalCtx) != 0) {
func_8002DF54(globalCtx, NULL, 8);
@@ -264,10 +263,10 @@ void func_80A53538(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A535BC(EnHeishi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005500);
+ f32 frameCount = Animation_GetLastFrame(&D_06005500);
this->unk_2EC = frameCount;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005500, 1.0f, 0.0f, frameCount, 2, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005500, 1.0f, 0.0f, frameCount, 2, -10.0f);
this->actionFunc = func_80A53638;
}
@@ -276,10 +275,10 @@ void func_80A53638(EnHeishi2* this, GlobalContext* globalCtx) {
f32 frameCount;
BgSpot15Saku* actor;
- frameCount = this->skelAnime.animCurrentFrame;
+ frameCount = this->skelAnime.curFrame;
thisx = &this->actor;
actor = globalCtx->actorCtx.actorList[ACTORTYPE_ITEMACTION].first;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((frameCount >= 12.0f) && (!this->audioFlag)) {
Audio_PlayActorSound2(thisx, NA_SE_EV_SPEAR_HIT);
this->audioFlag = 1;
@@ -301,9 +300,9 @@ void func_80A53638(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A5372C(EnHeishi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->unk_2F2[0] = 200;
this->cameraId = Gameplay_CreateSubCamera(globalCtx);
Gameplay_ChangeCameraStatus(globalCtx, 0, 1);
@@ -323,7 +322,7 @@ void func_80A5372C(EnHeishi2* this, GlobalContext* globalCtx) {
void func_80A53850(EnHeishi2* this, GlobalContext* globalCtx) {
BgSpot15Saku* gate;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Gameplay_CameraSetAtEye(globalCtx, this->cameraId, &this->unk_280, &this->unk_28C);
gate = (BgSpot15Saku*)this->gate;
if ((this->unk_2F2[0] == 0) || (gate->unk_168 == 0)) {
@@ -337,9 +336,9 @@ void func_80A53850(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A53908(EnHeishi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->actionFunc = func_80A5399C;
}
@@ -392,7 +391,7 @@ void func_80A53AD4(EnHeishi2* this, GlobalContext* globalCtx) {
s16 yawDiffTemp;
s16 yawDiff;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (Text_GetFaceReaction(globalCtx, 5) != 0) {
this->actor.textId = Text_GetFaceReaction(globalCtx, 5);
} else {
@@ -419,7 +418,7 @@ void func_80A53AD4(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A53C0C(EnHeishi2* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_300 == func_8010BDBC(&globalCtx->msgCtx)) {
if (func_80106BC8(globalCtx) != 0) {
func_8002DF54(globalCtx, 0, 8);
@@ -430,10 +429,10 @@ void func_80A53C0C(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A53C90(EnHeishi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005500);
+ f32 frameCount = Animation_GetLastFrame(&D_06005500);
this->unk_2EC = frameCount;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005500, 1.0f, 0.0f, frameCount, 2, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005500, 1.0f, 0.0f, frameCount, 2, -10.0f);
this->actionFunc = func_80A53D0C;
}
@@ -442,9 +441,9 @@ void func_80A53D0C(EnHeishi2* this, GlobalContext* globalCtx) {
f32 frameCount;
BgGateShutter* gate;
- frameCount = this->skelAnime.animCurrentFrame;
+ frameCount = this->skelAnime.curFrame;
gate = (BgGateShutter*)globalCtx->actorCtx.actorList[ACTORTYPE_ITEMACTION].first;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (12.0f <= frameCount) {
if (this->audioFlag == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SPEAR_HIT);
@@ -468,9 +467,9 @@ void func_80A53D0C(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A53DF8(EnHeishi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->unk_2F2[0] = 200;
this->cameraId = Gameplay_CreateSubCamera(globalCtx);
Gameplay_ChangeCameraStatus(globalCtx, 0, 1);
@@ -494,7 +493,7 @@ void func_80A53DF8(EnHeishi2* this, GlobalContext* globalCtx) {
void func_80A53F30(EnHeishi2* this, GlobalContext* globalCtx) {
BgGateShutter* gate;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Gameplay_CameraSetAtEye(globalCtx, this->cameraId, &this->unk_280, &this->unk_28C);
gate = (BgGateShutter*)this->gate;
if ((this->unk_2F2[0] == 0) || (gate->openingState == 0)) {
@@ -521,7 +520,7 @@ void func_80A53F30(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A54038(EnHeishi2* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (func_8010BDBC(&globalCtx->msgCtx) == 5) {
if (func_80106BC8(globalCtx) != 0) {
gSaveContext.infTable[7] |= 0x40;
@@ -533,7 +532,7 @@ void func_80A54038(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A540C0(EnHeishi2* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) {
switch (globalCtx->msgCtx.choiceIndex) {
case 0:
@@ -567,7 +566,7 @@ void func_80A540C0(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A541FC(EnHeishi2* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) {
this->actor.textId = 0x2021; // "You sold the 10-Rupee mask for 15 Rupees. You earned a little profit. Let's
// go to the Mask Shop..."
@@ -578,7 +577,7 @@ void func_80A541FC(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A5427C(EnHeishi2* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) {
if (this->unk_30E == 0) {
this->unk_30E = 0;
@@ -593,10 +592,10 @@ void func_80A5427C(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A54320(EnHeishi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005500);
+ f32 frameCount = Animation_GetLastFrame(&D_06005500);
this->unk_2EC = frameCount;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005500, 1.0f, 0.0f, frameCount, 2, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005500, 1.0f, 0.0f, frameCount, 2, -10.0f);
this->audioFlag = 0;
this->actionFunc = func_80A543A0;
}
@@ -606,10 +605,10 @@ void func_80A543A0(EnHeishi2* this, GlobalContext* globalCtx) {
f32 frameCount;
BgGateShutter* gate;
- frameCount = this->skelAnime.animCurrentFrame;
+ frameCount = this->skelAnime.curFrame;
thisx = &this->actor;
gate = (BgGateShutter*)(globalCtx->actorCtx.actorList[ACTORTYPE_ITEMACTION].first);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((frameCount >= 12.0f) && (!this->audioFlag)) {
Audio_PlayActorSound2(thisx, NA_SE_EV_SPEAR_HIT);
this->audioFlag = 1;
@@ -685,7 +684,7 @@ void func_80A546DC(EnHeishi2* this, GlobalContext* globalCtx) {
void func_80A5475C(EnHeishi2* this, GlobalContext* globalCtx) {
s16 yawDiff;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (Text_GetFaceReaction(globalCtx, 5) != 0) {
if (this->unk_30B == 0) {
@@ -745,14 +744,14 @@ void func_80A5475C(EnHeishi2* this, GlobalContext* globalCtx) {
}
void func_80A54954(EnHeishi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->actionFunc = func_80A549E8;
}
void func_80A549E8(EnHeishi2* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_300 == func_8010BDBC(&globalCtx->msgCtx)) {
if (func_80106BC8(globalCtx) != 0) {
func_80106CCC(globalCtx);
@@ -819,7 +818,7 @@ s32 EnHeishi2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
}
}
- return 0;
+ return false;
}
void EnHeishi2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -848,7 +847,7 @@ void EnHeishi2_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi2_OverrideLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHeishi2_OverrideLimbDraw,
EnHeishi2_PostLimbDraw, this);
if ((this->initParams == 5) && (gSaveContext.infTable[7] & 0x80)) {
linkObjBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_LINK_CHILD);
diff --git a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.h b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.h
index 11bba414db..4a79433770 100644
--- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.h
+++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.h
@@ -12,8 +12,8 @@ typedef void (*EnHeishi2ActionFunc)(struct EnHeishi2*, GlobalContext*);
typedef struct EnHeishi2 {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[17];
- /* 0x01F6 */ Vec3s transitionDrawTable[17];
+ /* 0x0190 */ Vec3s jointTable[17];
+ /* 0x01F6 */ Vec3s morphTable[17];
/* 0x025C */ EnHeishi2ActionFunc actionFunc;
/* 0x0260 */ Vec3s unk_260;
/* 0x0266 */ char unk_266[0x06];
diff --git a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c
index 2c92680668..ef9bc3425e 100644
--- a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c
+++ b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c
@@ -62,8 +62,7 @@ void EnHeishi3_Init(Actor* thisx, GlobalContext* globalCtx) {
}
Actor_SetScale(&this->actor, 0.01f);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_06005C30, this->limbDrawTable,
- this->transitionDrawTable, 17);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_06005C30, this->jointTable, this->morphTable, 17);
this->actor.colChkInfo.mass = 0xFF;
this->actor.unk_1F = 6;
Collider_InitCylinder(globalCtx, &this->collider);
@@ -83,9 +82,9 @@ void EnHeishi3_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnHeishi3_SetupGuardType(EnHeishi3* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
if (this->unk_278 == 0) {
this->actionFunc = EnHeishi3_StandSentinelInGrounds;
} else {
@@ -103,7 +102,7 @@ void EnHeishi3_StandSentinelInGrounds(EnHeishi3* this, GlobalContext* globalCtx)
f32 sightRange;
player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
yawDiff = this->actor.yawTowardsLink - this->actor.shape.rot.y;
yawDiffNew = ABS(yawDiff);
if (yawDiffNew < 0x4300) {
@@ -136,7 +135,7 @@ void EnHeishi3_StandSentinelInGrounds(EnHeishi3* this, GlobalContext* globalCtx)
void EnHeishi3_StandSentinelInCastle(EnHeishi3* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((player->actor.posRot.pos.x < -190.0f) && (player->actor.posRot.pos.x > -380.0f) &&
(fabsf(player->actor.posRot.pos.y - this->actor.posRot.pos.y) < 100.0f) &&
(player->actor.posRot.pos.z < 1020.0f) && (player->actor.posRot.pos.z > 700.0f) && (sPlayerCaught == 0)) {
@@ -159,9 +158,9 @@ void EnHeishi3_StandSentinelInCastle(EnHeishi3* this, GlobalContext* globalCtx)
}
void EnHeishi3_CatchStart(EnHeishi3* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005880);
+ f32 frameCount = Animation_GetLastFrame(&D_06005880);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005880, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005880, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->caughtTimer = 20;
this->actionFunc = func_80A55BD4;
this->actor.speedXZ = 2.5f;
@@ -169,8 +168,8 @@ void EnHeishi3_CatchStart(EnHeishi3* this, GlobalContext* globalCtx) {
void func_80A55BD4(EnHeishi3* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if ((func_800A56C8(&this->skelAnime, 1.0f) != 0) || (func_800A56C8(&this->skelAnime, 17.0f) != 0)) {
+ SkelAnime_Update(&this->skelAnime);
+ if ((Animation_OnFrame(&this->skelAnime, 1.0f) != 0) || (Animation_OnFrame(&this->skelAnime, 17.0f) != 0)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_KNIGHT_WALK);
}
if (this->caughtTimer == 0) {
@@ -182,15 +181,15 @@ void func_80A55BD4(EnHeishi3* this, GlobalContext* globalCtx) {
}
void EnHeishi3_ResetAnimationToIdle(EnHeishi3* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frameCount = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->actionFunc = func_80A55D00;
}
// This function initiates the respawn after the player gets caught.
void func_80A55D00(EnHeishi3* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0) && (this->respawnFlag == 0)) {
gSaveContext.eventChkInf[4] |= 0x4000;
globalCtx->nextEntranceIndex = 0x47E; // Hyrule Castle from Guard Capture (outside)
@@ -231,13 +230,13 @@ s32 EnHeishi3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
rot->z += this->unk_264;
}
- return 0;
+ return false;
}
void EnHeishi3_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnHeishi3* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi3_OverrideLimbDraw,
- NULL, this);
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHeishi3_OverrideLimbDraw, NULL,
+ this);
}
diff --git a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.h b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.h
index 56cbd41dd1..fc591aa948 100644
--- a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.h
+++ b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.h
@@ -11,8 +11,8 @@ typedef void (*EnHeishi3ActionFunc)(struct EnHeishi3*, GlobalContext*);
typedef struct EnHeishi3 {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[17];
- /* 0x01F6 */ Vec3s transitionDrawTable[17];
+ /* 0x0190 */ Vec3s jointTable[17];
+ /* 0x01F6 */ Vec3s morphTable[17];
/* 0x025C */ EnHeishi3ActionFunc actionFunc;
/* 0x0260 */ char unk_260[0x2];
/* 0x0262 */ s16 unk_262;
diff --git a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
index 427ad1fac3..fc943108c8 100644
--- a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
+++ b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
@@ -59,13 +59,11 @@ void EnHeishi4_Init(Actor* thisx, GlobalContext* globalCtx) {
if (this->type == HEISHI4_AT_MARKET_DYING) {
this->height = 30.0f;
ActorShape_Init(&thisx->shape, 0.0f, NULL, 30.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_0600C444, &this->limbDrawTable,
- &this->transitionDrawTable, 17);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_0600C444, this->jointTable, this->morphTable, 17);
} else {
this->height = 60.0f;
ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_06005C30, &this->limbDrawTable,
- &this->transitionDrawTable, 17);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_0600BAC8, &D_06005C30, this->jointTable, this->morphTable, 17);
}
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, thisx, &sCylinderInit);
@@ -101,9 +99,9 @@ void EnHeishi4_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void func_80A56328(EnHeishi4* this, GlobalContext* globalCtx) {
- f32 frames = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frames = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frames, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frames, 0, -10.0f);
this->actionFunc = func_80A563BC;
}
@@ -156,9 +154,9 @@ void func_80A563BC(EnHeishi4* this, GlobalContext* globalCtx) {
}
void func_80A56544(EnHeishi4* this, GlobalContext* globalCtx) {
- f32 frames = SkelAnime_GetFrameCount(&D_06005C30);
+ f32 frames = Animation_GetLastFrame(&D_06005C30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frames, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frames, 0, -10.0f);
if (LINK_AGE_IN_YEARS != YEARS_CHILD) {
osSyncPrintf(VT_FGCOL(GREEN) " ☆☆☆☆☆ ぎゃぁ!オトナだー ☆☆☆☆☆ \n" VT_RST);
Actor_Kill(&this->actor);
@@ -212,8 +210,8 @@ void func_80A5673C(EnHeishi4* this, GlobalContext* globalCtx) {
this->unk_284 = 0;
if (gSaveContext.eventChkInf[8] & 1) {
if (!(gSaveContext.infTable[6] & 0x1000)) {
- f32 frames = SkelAnime_GetFrameCount(&D_0600C444);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C444, 1.0f, 0.0f, (s16)frames, 0, -10.0f);
+ f32 frames = Animation_GetLastFrame(&D_0600C444);
+ Animation_Change(&this->skelAnime, &D_0600C444, 1.0f, 0.0f, (s16)frames, 0, -10.0f);
this->actor.textId = 0x7007;
this->unk_282 = 5;
this->unk_284 = 1;
@@ -231,7 +229,7 @@ void func_80A5673C(EnHeishi4* this, GlobalContext* globalCtx) {
void func_80A56874(EnHeishi4* this, GlobalContext* globalCtx) {
if (this->unk_284 != 0) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
if (func_8002F194(&this->actor, globalCtx) != 0) {
if (this->unk_284 == 0) {
@@ -246,14 +244,14 @@ void func_80A56874(EnHeishi4* this, GlobalContext* globalCtx) {
}
void func_80A56900(EnHeishi4* this, GlobalContext* globalCtx) {
- f32 frames = SkelAnime_GetFrameCount(&D_0600C6C8);
+ f32 frames = Animation_GetLastFrame(&D_0600C6C8);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C6C8, 1.0f, 0.0f, (s16)frames, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_0600C6C8, 1.0f, 0.0f, (s16)frames, 0, -10.0f);
this->actionFunc = func_80A56994;
}
void func_80A56994(EnHeishi4* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
func_80038290(globalCtx, &this->actor, &this->unk_260.x, &this->unk_266.x, this->actor.posRot2.pos);
if (this->unk_282 == func_8010BDBC(&globalCtx->msgCtx)) {
if (func_80106BC8(globalCtx) != 0) {
@@ -266,16 +264,16 @@ void func_80A56994(EnHeishi4* this, GlobalContext* globalCtx) {
}
void func_80A56A50(EnHeishi4* this, GlobalContext* globalCtx) {
- f32 frames = SkelAnime_GetFrameCount(&D_0600C374);
+ f32 frames = Animation_GetLastFrame(&D_0600C374);
this->unk_288 = frames;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C374, 1.0f, 0.0f, frames, 2, -10.0f);
+ Animation_Change(&this->skelAnime, &D_0600C374, 1.0f, 0.0f, frames, 2, -10.0f);
this->actionFunc = func_80A56ACC;
}
void func_80A56ACC(EnHeishi4* this, GlobalContext* globalCtx) {
- f32 currentFrame = this->skelAnime.animCurrentFrame;
+ f32 currentFrame = this->skelAnime.curFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_288 <= currentFrame) {
func_8002DF54(globalCtx, NULL, 7);
this->actionFunc = func_80A5673C;
@@ -285,7 +283,7 @@ void func_80A56ACC(EnHeishi4* this, GlobalContext* globalCtx) {
void func_80A56B40(EnHeishi4* this, GlobalContext* globalCtx) {
s16 reactionOffset;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
reactionOffset = (this->type - 4);
if (reactionOffset < 0) {
reactionOffset = 0;
@@ -367,13 +365,13 @@ s32 EnHeishi_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLi
rot->x += this->unk_260.y;
rot->z += this->unk_260.z;
}
- return 0;
+ return false;
}
void EnHeishi4_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnHeishi4* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi_OverrideLimbDraw, NULL,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHeishi_OverrideLimbDraw, NULL,
this);
}
diff --git a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.h b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.h
index 74a6bd595c..85e8da7cd1 100644
--- a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.h
+++ b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.h
@@ -18,8 +18,8 @@ typedef void (*EnHeishi4ActionFunc)(struct EnHeishi4*, GlobalContext*);
typedef struct EnHeishi4 {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[17];
- /* 0x01F6 */ Vec3s transitionDrawTable[17];
+ /* 0x0190 */ Vec3s jointTable[17];
+ /* 0x01F6 */ Vec3s morphTable[17];
/* 0x025C */ EnHeishi4ActionFunc actionFunc;
/* 0x0260 */ Vec3s unk_260;
/* 0x0266 */ Vec3s unk_266;
diff --git a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c
index fe33fd47e5..b4171abc31 100644
--- a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c
+++ b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c
@@ -82,8 +82,7 @@ void EnHintnuts_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.flags &= ~5;
} else {
ActorShape_Init(&this->actor.shape, 0x0, ActorShadow_DrawFunc_Circle, 35.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_060023B8, &D_06002F7C, this->limbDrawTable,
- this->transitionDrawTable, 10);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_060023B8, &D_06002F7C, this->jointTable, this->morphTable, 10);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
func_80061ED4(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
@@ -120,7 +119,7 @@ void EnHintnuts_HitByScrubProjectile1(EnHintnuts* this, GlobalContext* globalCtx
}
void EnHintnuts_SetupWait(EnHintnuts* this) {
- SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, &D_06002B90, 0.0f);
+ Animation_PlayOnceSetSpeed(&this->skelAnime, &D_06002B90, 0.0f);
this->animFlagAndTimer = Rand_S16Offset(100, 50);
this->collider.dim.height = 5;
this->actor.posRot.pos = this->actor.initPosRot.pos;
@@ -129,18 +128,18 @@ void EnHintnuts_SetupWait(EnHintnuts* this) {
}
void EnHintnuts_SetupLookAround(EnHintnuts* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06002894);
+ Animation_PlayLoop(&this->skelAnime, &D_06002894);
this->animFlagAndTimer = 2;
this->actionFunc = EnHintnuts_LookAround;
}
void EnHintnuts_SetupThrowScrubProjectile(EnHintnuts* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06000168);
+ Animation_PlayOnce(&this->skelAnime, &D_06000168);
this->actionFunc = EnHintnuts_ThrowNut;
}
void EnHintnuts_SetupStand(EnHintnuts* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06002F7C, -3.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06002F7C, -3.0f);
if (this->actionFunc == EnHintnuts_ThrowNut) {
this->animFlagAndTimer = 2 | 0x1000; // sets timer and flag
} else {
@@ -150,13 +149,13 @@ void EnHintnuts_SetupStand(EnHintnuts* this) {
}
void EnHintnuts_SetupBurrow(EnHintnuts* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060024CC, -5.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060024CC, -5.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DOWN);
this->actionFunc = EnHintnuts_Burrow;
}
void EnHintnuts_HitByScrubProjectile2(EnHintnuts* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060026C4, -3.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060026C4, -3.0f);
this->collider.dim.height = 0x25;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DAMAGE);
this->collider.base.acFlags &= ~1;
@@ -181,19 +180,19 @@ void EnHintnuts_HitByScrubProjectile2(EnHintnuts* this) {
}
void EnHintnuts_SetupRun(EnHintnuts* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06003128);
+ Animation_PlayLoop(&this->skelAnime, &D_06003128);
this->animFlagAndTimer = 5;
this->actionFunc = EnHintnuts_Run;
}
void EnHintnuts_SetupTalk(EnHintnuts* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06002E84, -5.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06002E84, -5.0f);
this->actionFunc = EnHintnuts_Talk;
this->actor.speedXZ = 0.0f;
}
void EnHintnuts_SetupLeave(EnHintnuts* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06003128, -5.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06003128, -5.0f);
this->actor.speedXZ = 3.0f;
this->animFlagAndTimer = 100;
this->actor.posRot.rot.y = this->actor.shape.rot.y;
@@ -206,7 +205,7 @@ void EnHintnuts_SetupLeave(EnHintnuts* this, GlobalContext* globalCtx) {
}
void EnHintnuts_SetupFreeze(EnHintnuts* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060029BC);
+ Animation_PlayLoop(&this->skelAnime, &D_060029BC);
this->actor.flags &= ~1;
func_8003426C(&this->actor, 0, 0xFF, 0, 100);
this->actor.dmgEffectTimer = 1;
@@ -225,31 +224,31 @@ void EnHintnuts_Wait(EnHintnuts* this, GlobalContext* globalCtx) {
f32 boundedCurrentFrameTemp;
hasSlowPlaybackSpeed = 0;
- if (this->skelAnime.animPlaybackSpeed < 0.5f) {
+ if (this->skelAnime.playSpeed < 0.5f) {
hasSlowPlaybackSpeed = 1;
}
if (hasSlowPlaybackSpeed && this->animFlagAndTimer != 0) {
this->animFlagAndTimer--;
}
- if (func_800A56C8(&this->skelAnime, 9.0f) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, 9.0f) != 0) {
this->collider.base.acFlags |= 1;
- } else if (func_800A56C8(&this->skelAnime, 8.0f) != 0) {
+ } else if (Animation_OnFrame(&this->skelAnime, 8.0f) != 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_UP);
}
- if (this->skelAnime.animCurrentFrame < 9.0f) {
+ if (this->skelAnime.curFrame < 9.0f) {
boundedCurrentFrame = 9.0f;
} else {
- if (this->skelAnime.animCurrentFrame > 12.0f) {
+ if (this->skelAnime.curFrame > 12.0f) {
boundedCurrentFrameTemp = 12.0f;
} else {
- boundedCurrentFrameTemp = this->skelAnime.animCurrentFrame;
+ boundedCurrentFrameTemp = this->skelAnime.curFrame;
}
boundedCurrentFrame = boundedCurrentFrameTemp;
}
this->collider.dim.height = (((boundedCurrentFrame - 9.0f) * 9.0f) + 5.0f);
if (!hasSlowPlaybackSpeed && (this->actor.xzDistFromLink < 120.0f)) {
EnHintnuts_SetupBurrow(this);
- } else if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ } else if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->actor.xzDistFromLink < 120.0f) {
EnHintnuts_SetupBurrow(this);
} else if ((this->animFlagAndTimer == 0) && (320.0f < this->actor.xzDistFromLink)) {
@@ -260,13 +259,13 @@ void EnHintnuts_Wait(EnHintnuts* this, GlobalContext* globalCtx) {
}
if (hasSlowPlaybackSpeed && 160.0f < this->actor.xzDistFromLink && fabsf(this->actor.yDistFromLink) < 120.0f &&
((this->animFlagAndTimer == 0) || (this->actor.xzDistFromLink < 480.0f))) {
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
}
}
void EnHintnuts_LookAround(EnHintnuts* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 0.0f) != 0 && this->animFlagAndTimer != 0) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) != 0 && this->animFlagAndTimer != 0) {
this->animFlagAndTimer--;
}
if ((this->actor.xzDistFromLink < 120.0f) || (this->animFlagAndTimer == 0)) {
@@ -275,8 +274,8 @@ void EnHintnuts_LookAround(EnHintnuts* this, GlobalContext* globalCtx) {
}
void EnHintnuts_Stand(EnHintnuts* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 0.0f) != 0 && this->animFlagAndTimer != 0) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) != 0 && this->animFlagAndTimer != 0) {
this->animFlagAndTimer--;
}
if (!(this->animFlagAndTimer & 0x1000)) {
@@ -295,9 +294,9 @@ void EnHintnuts_ThrowNut(EnHintnuts* this, GlobalContext* globalCtx) {
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 2, 0xE38);
if (this->actor.xzDistFromLink < 120.0f) {
EnHintnuts_SetupBurrow(this);
- } else if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ } else if (SkelAnime_Update(&this->skelAnime) != 0) {
EnHintnuts_SetupStand(this);
- } else if (func_800A56C8(&this->skelAnime, 6.0f) != 0) {
+ } else if (Animation_OnFrame(&this->skelAnime, 6.0f) != 0) {
nutPos.x = (Math_SinS(this->actor.shape.rot.y) * 23.0f) + this->actor.posRot.pos.x;
nutPos.y = this->actor.posRot.pos.y + 12.0f;
nutPos.z = (Math_CosS(this->actor.shape.rot.y) * 23.0f) + this->actor.posRot.pos.z;
@@ -311,15 +310,14 @@ void EnHintnuts_ThrowNut(EnHintnuts* this, GlobalContext* globalCtx) {
void EnHintnuts_Burrow(EnHintnuts* this, GlobalContext* globalCtx) {
f32 boundedCurrentFrame;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
EnHintnuts_SetupWait(this);
} else {
- boundedCurrentFrame = this->skelAnime.animCurrentFrame < 1.0f
- ? 1.0f
- : this->skelAnime.animCurrentFrame > 3.0f ? 3.0f : this->skelAnime.animCurrentFrame;
+ boundedCurrentFrame =
+ this->skelAnime.curFrame < 1.0f ? 1.0f : this->skelAnime.curFrame > 3.0f ? 3.0f : this->skelAnime.curFrame;
this->collider.dim.height = (((3.0f - boundedCurrentFrame) * 12.0f) + 5.0f);
}
- if (func_800A56C8(&this->skelAnime, 4.0f) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, 4.0f) != 0) {
this->collider.base.acFlags &= ~1;
}
@@ -328,7 +326,7 @@ void EnHintnuts_Burrow(EnHintnuts* this, GlobalContext* globalCtx) {
}
void EnHintnuts_BeginRun(EnHintnuts* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
this->unk_196 = this->actor.yawTowardsLink + 0x8000;
EnHintnuts_SetupRun(this);
}
@@ -336,7 +334,7 @@ void EnHintnuts_BeginRun(EnHintnuts* this, GlobalContext* globalCtx) {
}
void EnHintnuts_BeginFreeze(EnHintnuts* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
EnHintnuts_SetupFreeze(this);
}
}
@@ -361,12 +359,12 @@ void EnHintnuts_Run(EnHintnuts* this, GlobalContext* globalCtx) {
s16 diffRot;
f32 phi_f0;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- temp_ret = func_800A56C8(&this->skelAnime, 0.0f);
+ SkelAnime_Update(&this->skelAnime);
+ temp_ret = Animation_OnFrame(&this->skelAnime, 0.0f);
if (temp_ret != 0 && this->animFlagAndTimer != 0) {
this->animFlagAndTimer--;
}
- if ((temp_ret != 0) || (func_800A56C8(&this->skelAnime, 6.0f) != 0)) {
+ if ((temp_ret != 0) || (Animation_OnFrame(&this->skelAnime, 6.0f) != 0)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_WALK);
}
@@ -408,7 +406,7 @@ void EnHintnuts_Run(EnHintnuts* this, GlobalContext* globalCtx) {
}
void EnHintnuts_Talk(EnHintnuts* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 0x3, 0x400, 0x100);
if (func_8010BDBC(&globalCtx->msgCtx) == 5) {
EnHintnuts_SetupLeave(this, globalCtx);
@@ -418,11 +416,11 @@ void EnHintnuts_Talk(EnHintnuts* this, GlobalContext* globalCtx) {
void EnHintnuts_Leave(EnHintnuts* this, GlobalContext* globalCtx) {
s16 temp_a1;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->animFlagAndTimer != 0) {
this->animFlagAndTimer--;
}
- if ((func_800A56C8(&this->skelAnime, 0.0f) != 0) || (func_800A56C8(&this->skelAnime, 6.0f) != 0)) {
+ if ((Animation_OnFrame(&this->skelAnime, 0.0f) != 0) || (Animation_OnFrame(&this->skelAnime, 6.0f) != 0)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_WALK);
}
if (this->actor.bgCheckFlags & 8) {
@@ -453,8 +451,8 @@ void EnHintnuts_Leave(EnHintnuts* this, GlobalContext* globalCtx) {
void EnHintnuts_Freeze(EnHintnuts* this, GlobalContext* globalCtx) {
this->actor.dmgEffectTimer = 1;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 0.0f) != 0) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) != 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_FAINT);
}
if (this->animFlagAndTimer == 0) {
@@ -512,10 +510,10 @@ void EnHintnuts_Update(Actor* thisx, GlobalContext* globalCtx) {
}
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
if (this->actionFunc == EnHintnuts_Wait) {
- Actor_SetHeight(&this->actor, this->skelAnime.animCurrentFrame);
+ Actor_SetHeight(&this->actor, this->skelAnime.curFrame);
} else if (this->actionFunc == EnHintnuts_Burrow) {
- Actor_SetHeight(&this->actor, 20.0f - ((this->skelAnime.animCurrentFrame * 20.0f) /
- SkelAnime_GetFrameCount(&D_060024CC)));
+ Actor_SetHeight(&this->actor,
+ 20.0f - ((this->skelAnime.curFrame * 20.0f) / Animation_GetLastFrame(&D_060024CC)));
} else {
Actor_SetHeight(&this->actor, 20.0f);
}
@@ -525,30 +523,30 @@ void EnHintnuts_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 EnHintnuts_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void* thisx) {
Vec3f vec;
- f32 animCurrentFrame;
+ f32 curFrame;
EnHintnuts* this = THIS;
if (limbIndex == 5 && this->actionFunc == EnHintnuts_ThrowNut) {
- animCurrentFrame = this->skelAnime.animCurrentFrame;
- if (animCurrentFrame <= 6.0f) {
- vec.y = 1.0f - (animCurrentFrame * 0.0833f);
- vec.z = 1.0f + (animCurrentFrame * 0.1167f);
- vec.x = 1.0f + (animCurrentFrame * 0.1167f);
- } else if (animCurrentFrame <= 7.0f) {
- animCurrentFrame -= 6.0f;
- vec.y = 0.5f + animCurrentFrame;
- vec.z = 1.7f - (animCurrentFrame * 0.7f);
- vec.x = 1.7f - (animCurrentFrame * 0.7f);
- } else if (animCurrentFrame <= 10.0f) {
- vec.y = 1.5f - ((animCurrentFrame - 7.0f) * 0.1667f);
+ curFrame = this->skelAnime.curFrame;
+ if (curFrame <= 6.0f) {
+ vec.y = 1.0f - (curFrame * 0.0833f);
+ vec.z = 1.0f + (curFrame * 0.1167f);
+ vec.x = 1.0f + (curFrame * 0.1167f);
+ } else if (curFrame <= 7.0f) {
+ curFrame -= 6.0f;
+ vec.y = 0.5f + curFrame;
+ vec.z = 1.7f - (curFrame * 0.7f);
+ vec.x = 1.7f - (curFrame * 0.7f);
+ } else if (curFrame <= 10.0f) {
+ vec.y = 1.5f - ((curFrame - 7.0f) * 0.1667f);
vec.z = 1.0f;
vec.x = 1.0f;
} else {
- return 0;
+ return false;
}
Matrix_Scale(vec.x, vec.y, vec.z, MTXMODE_APPLY);
}
- return 0;
+ return false;
}
void EnHintnuts_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -556,7 +554,7 @@ void EnHintnuts_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (this->actor.params == 0xA) {
Gfx_DrawDListOpa(globalCtx, D_060014E0);
} else {
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHintnuts_OverrideLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHintnuts_OverrideLimbDraw,
NULL, this);
}
}
diff --git a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.h b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.h
index 341d6f5738..0993ccc20b 100644
--- a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.h
+++ b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.h
@@ -15,8 +15,8 @@ typedef struct EnHintnuts {
/* 0x0194 */ s16 animFlagAndTimer; // 0x1000 bit denotes which animation
/* 0x0196 */ s16 unk_196;
/* 0x0198 */ u16 textIdCopy;
- /* 0x019A */ Vec3s limbDrawTable[10];
- /* 0x01D6 */ Vec3s transitionDrawTable[10];
+ /* 0x019A */ Vec3s jointTable[10];
+ /* 0x01D6 */ Vec3s morphTable[10];
/* 0x0214 */ ColliderCylinder collider;
} EnHintnuts; // size = 0x0260
diff --git a/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c b/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c
index 818a442e44..c6bcc823e7 100644
--- a/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c
+++ b/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c
@@ -38,7 +38,7 @@ const ActorInit En_Horse_Ganon_InitVars = {
static AnimationHeader* D_80A691B0[] = { 0x06004AA4, 0x06005264, 0x06005B78, 0x06002CE4, 0x06002650, 0x06003858 };
-static f32 sAnimPlaybackSpeeds[] = { 0.66666666f, 0.66666666f, 1.0f, 1.0f, 1.0f, 0.66666666f };
+static f32 splaySpeeds[] = { 0.66666666f, 0.66666666f, 1.0f, 1.0f, 1.0f, 0.66666666f };
static ColliderCylinderInit sCylinderInit = {
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, 0x12, COLSHAPE_CYLINDER },
@@ -130,8 +130,8 @@ void func_80A686A8(EnHorseGanon* this, GlobalContext* globalCtx) {
}
void func_80A68870(EnHorseGanon* this) {
- if ((this->skin.skelAnime.animCurrentFrame > D_80A692B8[this->soundCount]) &&
- (this->soundCount != 0 || !(this->skin.skelAnime.animCurrentFrame > D_80A692B8[1]))) {
+ if ((this->skin.skelAnime.curFrame > D_80A692B8[this->soundCount]) &&
+ (this->soundCount != 0 || !(this->skin.skelAnime.curFrame > D_80A692B8[1]))) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_WALK, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
@@ -157,7 +157,7 @@ void EnHorseGanon_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.posRot2.pos.y += 70.0f;
func_800A663C(globalCtx, &this->skin, &D_06008668, &D_06004AA4);
this->currentAnimation = 0;
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, D_80A691B0[0]);
+ Animation_PlayOnce(&this->skin.skelAnime, D_80A691B0[0]);
Collider_InitCylinder(globalCtx, &this->colliderCylinder);
Collider_SetCylinder(globalCtx, &this->colliderCylinder, &this->actor, &sCylinderInit);
@@ -178,12 +178,12 @@ void EnHorseGanon_Destroy(Actor* thisx, GlobalContext* globalCtx) {
void func_80A68AC4(EnHorseGanon* this) {
this->action = 0;
- SkelAnime_ChangeAnimDefaultRepeat(&this->skin.skelAnime, D_80A691B0[4]);
+ Animation_PlayLoop(&this->skin.skelAnime, D_80A691B0[4]);
}
void func_80A68AF0(EnHorseGanon* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0f;
- SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime);
+ SkelAnime_Update(&this->skin.skelAnime);
}
void func_80A68B20(EnHorseGanon* this) {
@@ -222,13 +222,13 @@ void func_80A68B20(EnHorseGanon* this) {
}
if (animationChanged == 1) {
- SkelAnime_ChangeAnim(&this->skin.skelAnime, D_80A691B0[this->currentAnimation],
- sAnimPlaybackSpeeds[this->currentAnimation] * sp30 * 1.5f, 0.0f,
- SkelAnime_GetFrameCount(D_80A691B0[this->currentAnimation]), 2, -3.0f);
+ Animation_Change(&this->skin.skelAnime, D_80A691B0[this->currentAnimation],
+ splaySpeeds[this->currentAnimation] * sp30 * 1.5f, 0.0f,
+ Animation_GetLastFrame(D_80A691B0[this->currentAnimation]), 2, -3.0f);
} else {
- SkelAnime_ChangeAnim(&this->skin.skelAnime, D_80A691B0[this->currentAnimation],
- sAnimPlaybackSpeeds[this->currentAnimation] * sp30 * 1.5f, 0.0f,
- SkelAnime_GetFrameCount(D_80A691B0[this->currentAnimation]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, D_80A691B0[this->currentAnimation],
+ splaySpeeds[this->currentAnimation] * sp30 * 1.5f, 0.0f,
+ Animation_GetLastFrame(D_80A691B0[this->currentAnimation]), 2, 0.0f);
}
}
@@ -239,7 +239,7 @@ void func_80A68DB0(EnHorseGanon* this, GlobalContext* globalCtx) {
func_80A686A8(this, globalCtx);
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skin.skelAnime) != 0) {
func_80A68B20(this);
}
}
diff --git a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c
index c670a7fcdf..00cd05ddf3 100644
--- a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c
+++ b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c
@@ -53,8 +53,8 @@ extern SkeletonHeader D_06007B20;
void func_80A693D0(EnHorseLinkChild* this) {
static s32 D_80A6AF5C[] = { 1, 19 };
- if ((this->skin.skelAnime.animCurrentFrame > D_80A6AF5C[this->unk_1F0]) &&
- !((this->unk_1F0 == 0) && (this->skin.skelAnime.animCurrentFrame > D_80A6AF5C[1]))) {
+ if ((this->skin.skelAnime.curFrame > D_80A6AF5C[this->unk_1F0]) &&
+ !((this->unk_1F0 == 0) && (this->skin.skelAnime.curFrame > D_80A6AF5C[1]))) {
Audio_PlaySoundGeneral(NA_SE_EV_KID_HORSE_WALK, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
this->unk_1F0++;
@@ -67,7 +67,7 @@ void func_80A693D0(EnHorseLinkChild* this) {
void func_80A6948C(EnHorseLinkChild* this) {
if (this->animationIdx == 2) {
func_80A693D0(this);
- } else if (this->skin.skelAnime.animCurrentFrame == 0.0f) {
+ } else if (this->skin.skelAnime.curFrame == 0.0f) {
if ((this->animationIdx == 3) || (this->animationIdx == 4)) {
Audio_PlaySoundGeneral(NA_SE_EV_KID_HORSE_RUN, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
@@ -119,7 +119,7 @@ void EnHorseLinkChild_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.posRot2.pos.y += 70.0f;
func_800A663C(globalCtx, &this->skin, &D_06007B20, &D_06002F98);
this->animationIdx = 0;
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[0]);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimations[0]);
Collider_InitCylinder(globalCtx, &this->bodyCollider);
Collider_SetCylinder_Set3(globalCtx, &this->bodyCollider, &this->actor, &sCylinderInit);
Collider_InitJntSph(globalCtx, &this->headCollider);
@@ -159,13 +159,13 @@ void func_80A6988C(EnHorseLinkChild* this) {
this->animationIdx = 0;
}
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
- this->skin.skelAnime.animPlaybackSpeed = func_80A695A4(this);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimations[this->animationIdx]);
+ this->skin.skelAnime.playSpeed = func_80A695A4(this);
}
void func_80A698F4(EnHorseLinkChild* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0f;
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
func_80A6988C(this);
}
}
@@ -180,8 +180,8 @@ void func_80A6993C(EnHorseLinkChild* this, s32 newAnimationIdx) {
if (this->animationIdx != newAnimationIdx) {
this->animationIdx = newAnimationIdx;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -5.0f);
}
}
@@ -191,18 +191,18 @@ void func_80A699FC(EnHorseLinkChild* this, GlobalContext* globalCtx) {
distFromLink = func_8002DB8C(&this->actor, &PLAYER->actor);
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
if ((distFromLink < 1000.0f) && (distFromLink > 70.0f)) {
func_80A69B7C(this);
} else {
newAnimationIdx = this->animationIdx == 1 ? 0 : 1;
if (this->animationIdx != newAnimationIdx) {
this->animationIdx = newAnimationIdx;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -5.0f);
} else {
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0);
}
}
}
@@ -212,8 +212,8 @@ void func_80A69B7C(EnHorseLinkChild* this) {
this->action = 1;
this->animationIdx = 0;
this->actor.speedXZ = 0.0f;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -5.0f);
}
void func_80A69C18(EnHorseLinkChild* this, GlobalContext* globalCtx) {
@@ -235,7 +235,7 @@ void func_80A69C18(EnHorseLinkChild* this, GlobalContext* globalCtx) {
this->actor.shape.rot.y = this->actor.posRot.rot.y;
}
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
distFromLink = func_8002DB8C(&this->actor, &PLAYER->actor);
if (distFromLink > 1000.0f) {
@@ -258,11 +258,11 @@ void func_80A69C18(EnHorseLinkChild* this, GlobalContext* globalCtx) {
if (this->animationIdx != newAnimationIdx) {
this->animationIdx = newAnimationIdx;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -5.0f);
} else {
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
}
}
}
@@ -271,8 +271,8 @@ void func_80A69EC0(EnHorseLinkChild* this) {
this->action = 3;
this->animationIdx = 0;
this->actor.speedXZ = 0.0f;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -5.0f);
}
void func_80A69F5C(EnHorseLinkChild* this, GlobalContext* globalCtx) {
@@ -332,7 +332,7 @@ void func_80A6A068(EnHorseLinkChild* this, GlobalContext* globalCtx) {
}
newAnimationIdx = this->animationIdx;
- animationEnded = SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime);
+ animationEnded = SkelAnime_Update(&this->skin.skelAnime);
if (animationEnded || (this->animationIdx == 1) || (this->animationIdx == 0)) {
if (gSaveContext.eventChkInf[1] & 0x20) {
distFromHome = Math3D_Vec3f_DistXYZ(&this->actor.posRot.pos, &this->actor.initPosRot.pos);
@@ -388,12 +388,12 @@ void func_80A6A068(EnHorseLinkChild* this, GlobalContext* globalCtx) {
if ((this->animationIdx != newAnimationIdx) || (animationEnded == true)) {
this->animationIdx = newAnimationIdx;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -5.0f);
} else {
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this),
- this->skin.skelAnime.animCurrentFrame,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this),
+ this->skin.skelAnime.curFrame, Animation_GetLastFrame(sAnimations[this->animationIdx]), 2,
+ 0.0f);
}
}
@@ -401,8 +401,8 @@ void func_80A6A4DC(EnHorseLinkChild* this) {
this->action = 5;
this->animationIdx = Rand_ZeroOne() > 0.5f ? 0 : 1;
DREG(53) = 0;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
}
void func_80A6A5A4(EnHorseLinkChild* this, GlobalContext* globalCtx) {
@@ -421,12 +421,11 @@ void func_80A6A5A4(EnHorseLinkChild* this, GlobalContext* globalCtx) {
func_8006DD9C(&this->actor, &PLAYER->actor.posRot.pos, 300);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
if (Math_CosS(yawDiff) < 0.0f) {
this->animationIdx = 2;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx],
- D_80A6AF64[this->animationIdx], 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], D_80A6AF64[this->animationIdx],
+ 0.0f, Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -5.0f);
} else {
func_80A6A4DC(this);
}
@@ -440,8 +439,8 @@ void func_80A6A724(EnHorseLinkChild* this) {
this->animationIdx = 2;
this->unk_1E8 = false;
this->actor.speedXZ = 2.0f;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -5.0f);
}
void func_80A6A7D0(EnHorseLinkChild* this, GlobalContext* globalCtx) {
@@ -462,7 +461,7 @@ void func_80A6A7D0(EnHorseLinkChild* this, GlobalContext* globalCtx) {
}
}
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
if (!this->unk_1E8) {
dist = func_8002DB8C(&this->actor, &PLAYER->actor);
} else {
@@ -500,11 +499,11 @@ void func_80A6A7D0(EnHorseLinkChild* this, GlobalContext* globalCtx) {
if (this->animationIdx != newAnimationIdx) {
this->animationIdx = newAnimationIdx;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -5.0f);
} else {
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A695A4(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
}
}
}
diff --git a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c
index 234d200d00..86b415ddf8 100644
--- a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c
+++ b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c
@@ -116,8 +116,8 @@ static EnHorseNormalUnkStruct2 D_80A6D4B8 = { ARRAY_COUNT(D_80A6D470), D_80A6D47
void func_80A6B250(EnHorseNormal* this) {
static s32 D_80A6D4C0[] = { 0, 16 };
- if (D_80A6D4C0[this->unk_200] < this->skin.skelAnime.animCurrentFrame &&
- ((this->unk_200 != 0) || !(D_80A6D4C0[1] < this->skin.skelAnime.animCurrentFrame))) {
+ if (D_80A6D4C0[this->unk_200] < this->skin.skelAnime.curFrame &&
+ ((this->unk_200 != 0) || !(D_80A6D4C0[1] < this->skin.skelAnime.curFrame))) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_WALK, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
this->unk_200++;
@@ -195,7 +195,7 @@ void EnHorseNormal_Init(Actor* thisx, GlobalContext* globalCtx) {
}
this->actor.initPosRot.rot.z = this->actor.posRot.rot.z = this->actor.shape.rot.z = 0;
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimations[this->animationIdx]);
if ((this->actor.posRot.pos.x == -730.0f && this->actor.posRot.pos.y == 0.0f &&
this->actor.posRot.pos.z == -1100.0f) ||
(this->actor.posRot.pos.x == 880.0f && this->actor.posRot.pos.y == 0.0f &&
@@ -209,7 +209,7 @@ void EnHorseNormal_Init(Actor* thisx, GlobalContext* globalCtx) {
return;
} else {
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimations[this->animationIdx]);
func_80A6C6B0(this);
return;
}
@@ -217,15 +217,15 @@ void EnHorseNormal_Init(Actor* thisx, GlobalContext* globalCtx) {
if (this->actor.posRot.pos.x == 3707.0f && this->actor.posRot.pos.y == 1413.0f &&
this->actor.posRot.pos.z == -665.0f) {
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimations[this->animationIdx]);
func_80A6C4CC(this);
return;
}
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimations[this->animationIdx]);
} else {
func_800A663C(globalCtx, &this->skin, &D_06009FAC, &D_06004580);
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimations[this->animationIdx]);
}
if ((this->actor.params & 0xF0) == 0x10 && (this->actor.params & 0xF) != 0xF) {
func_80A6B91C(this, globalCtx);
@@ -249,8 +249,8 @@ void func_80A6B91C(EnHorseNormal* this, GlobalContext* globalCtx) {
this->animationIdx = 6;
this->waypoint = 0;
this->actor.speedXZ = 7.0f;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
}
void EnHorseNormal_FollowPath(EnHorseNormal* this, GlobalContext* globalCtx) {
@@ -271,10 +271,10 @@ void EnHorseNormal_FollowPath(EnHorseNormal* this, GlobalContext* globalCtx) {
this->waypoint = 0;
}
}
- this->skin.skelAnime.animPlaybackSpeed = func_80A6B30C(this);
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ this->skin.skelAnime.playSpeed = func_80A6B30C(this);
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
func_80A6BCEC(this);
}
}
@@ -287,13 +287,13 @@ void EnHorseNormal_NextAnimation(EnHorseNormal* this) {
this->animationIdx = 0;
}
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimations[this->animationIdx]);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimations[this->animationIdx]);
}
void EnHorseNormal_CycleAnimations(EnHorseNormal* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0f;
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
EnHorseNormal_NextAnimation(this);
}
}
@@ -305,8 +305,8 @@ void func_80A6BC48(EnHorseNormal* this) {
this->unk_21E = 0;
this->actor.speedXZ = 0.0f;
this->unk_218 = 0.0f;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
}
void func_80A6BCEC(EnHorseNormal* this) {
@@ -318,7 +318,7 @@ void func_80A6BCEC(EnHorseNormal* this) {
}
void func_80A6BD7C(EnHorseNormal* this) {
- f32 frame = this->skin.skelAnime.animCurrentFrame;
+ f32 frame = this->skin.skelAnime.curFrame;
if (this->animationIdx == 0 && frame > 28.0f && !(this->unk_1E4 & 1)) {
this->unk_1E4 |= 1;
@@ -390,7 +390,7 @@ void EnHorseNormal_Wander(EnHorseNormal* this, GlobalContext* globalCtx) {
break;
}
- if (phi_t0 != this->animationIdx || SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (phi_t0 != this->animationIdx || SkelAnime_Update(&this->skin.skelAnime)) {
if (phi_t0 != this->animationIdx) {
this->animationIdx = phi_t0;
this->unk_1E4 &= ~1;
@@ -402,8 +402,8 @@ void EnHorseNormal_Wander(EnHorseNormal* this, GlobalContext* globalCtx) {
} else {
func_80A6BCEC(this);
}
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -3.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -3.0f);
} else {
switch (D_80A6D510[this->animationIdx]) {
case 0:
@@ -433,11 +433,11 @@ void EnHorseNormal_Wander(EnHorseNormal* this, GlobalContext* globalCtx) {
}
if (phi_t0 != this->animationIdx) {
this->animationIdx = phi_t0;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -3.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, -3.0f);
} else {
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
}
}
}
@@ -450,12 +450,12 @@ void func_80A6C4CC(EnHorseNormal* this) {
this->unk_21E = 0;
this->actor.speedXZ = 0.0f;
this->unk_218 = 0.0f;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
}
void EnHorseNormal_Wait(EnHorseNormal* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
f32 rand = Rand_ZeroOne();
if (rand < 0.4f) {
@@ -468,8 +468,8 @@ void EnHorseNormal_Wait(EnHorseNormal* this, GlobalContext* globalCtx) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
}
}
@@ -481,14 +481,14 @@ void func_80A6C6B0(EnHorseNormal* this) {
this->actor.flags |= 0x30;
this->actor.speedXZ = 0.0f;
this->unk_218 = 0.0f;
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
}
void EnHorseNormal_WaitClone(EnHorseNormal* this, GlobalContext* globalCtx) {
func_80A6BD7C(this);
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
f32 rand = Rand_ZeroOne();
if (rand < 0.4f) {
@@ -503,8 +503,8 @@ void EnHorseNormal_WaitClone(EnHorseNormal* this, GlobalContext* globalCtx) {
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_NEIGH, &this->unk_204, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
- SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f,
+ Animation_GetLastFrame(sAnimations[this->animationIdx]), 2, 0.0f);
this->unk_1E4 &= ~1;
this->unk_1E4 &= ~2;
@@ -577,17 +577,17 @@ void func_80A6CAFC(Actor* thisx, GlobalContext* globalCtx, PSkinAwb* skin) {
}
void func_80A6CC88(GlobalContext* globalCtx, EnHorseNormal* this, Vec3f* arg2) {
- f32 animCurrentFrame = this->skin.skelAnime.animCurrentFrame;
+ f32 curFrame = this->skin.skelAnime.curFrame;
f32 wDest;
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, arg2, &this->unk_1E8, &wDest);
this->unk_1F4 = this->unk_1E8;
this->unk_1F4.y += 120.0f;
- if (this->animationIdx == 0 && animCurrentFrame > 28.0f && !(this->unk_1E4 & 8)) {
+ if (this->animationIdx == 0 && curFrame > 28.0f && !(this->unk_1E4 & 8)) {
this->unk_1E4 |= 8;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_SANDDUST, &this->unk_1E8, 4, &D_801333E0, &D_801333E0, &D_801333E8);
- } else if (this->animationIdx == 3 && animCurrentFrame > 25.0f && !(this->unk_1E4 & 0x10)) {
+ } else if (this->animationIdx == 3 && curFrame > 25.0f && !(this->unk_1E4 & 0x10)) {
this->unk_1E4 |= 0x10;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_LAND2, &this->unk_1E8, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else if (this->animationIdx == 3 && this->unk_1E4 & 0x20) {
diff --git a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c
index 3a1f7f8293..b0c85d36f5 100644
--- a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c
+++ b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c
@@ -33,7 +33,7 @@ const ActorInit En_Horse_Zelda_InitVars = {
static AnimationHeader* sAnimationHeaders[] = { 0x06007148 };
-static f32 sAnimPlaybackSpeeds[] = { 0.66666666f };
+static f32 splaySpeeds[] = { 0.66666666f };
static ColliderCylinderInit_Set3 sCylinderInit = {
{ COLTYPE_UNK10, 0x00, 0x00, 0x39, COLSHAPE_CYLINDER },
@@ -136,7 +136,7 @@ void EnHorseZelda_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.posRot2.pos.y += 70.0f;
func_800A663C(globalCtx, &this->skin, &D_06006B2C, &D_06007148);
this->animationIndex = 0;
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimationHeaders[0]);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimationHeaders[0]);
Collider_InitCylinder(globalCtx, &this->colliderCylinder);
Collider_SetCylinder_Set3(globalCtx, &this->colliderCylinder, &this->actor, &sCylinderInit);
Collider_InitJntSph(globalCtx, &this->colliderSphere);
@@ -160,12 +160,12 @@ void func_80A6DC7C(EnHorseZelda* this) {
if (this->animationIndex > 0) {
this->animationIndex = 0;
}
- SkelAnime_ChangeAnimDefaultStop(&this->skin.skelAnime, sAnimationHeaders[this->animationIndex]);
+ Animation_PlayOnce(&this->skin.skelAnime, sAnimationHeaders[this->animationIndex]);
}
void func_80A6DCCC(EnHorseZelda* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0f;
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
func_80A6DC7C(this);
}
}
@@ -177,14 +177,14 @@ void func_80A6DD14(EnHorseZelda* this) {
this->animationIndex = 0;
sp34 = this->actor.speedXZ / 6.0f;
Audio_PlaySoundGeneral(NA_SE_EV_HORSE_RUN, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
- SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimationHeaders[this->animationIndex],
- sAnimPlaybackSpeeds[this->animationIndex] * sp34 * 1.5f, 0.0f,
- SkelAnime_GetFrameCount(sAnimationHeaders[this->animationIndex]), 2, 0.0f);
+ Animation_Change(&this->skin.skelAnime, sAnimationHeaders[this->animationIndex],
+ splaySpeeds[this->animationIndex] * sp34 * 1.5f, 0.0f,
+ Animation_GetLastFrame(sAnimationHeaders[this->animationIndex]), 2, 0.0f);
}
void func_80A6DDFC(EnHorseZelda* this, GlobalContext* globalCtx) {
func_80A6D918(this, globalCtx);
- if (SkelAnime_FrameUpdateMatrix(&this->skin.skelAnime)) {
+ if (SkelAnime_Update(&this->skin.skelAnime)) {
func_80A6DD14(this);
}
}
diff --git a/src/overlays/actors/ovl_En_Hs/z_en_hs.c b/src/overlays/actors/ovl_En_Hs/z_en_hs.c
index d862cecfd1..479355d4cd 100644
--- a/src/overlays/actors/ovl_En_Hs/z_en_hs.c
+++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.c
@@ -51,9 +51,8 @@ void EnHs_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06006260, &D_060005C0, this->limbDrawTable,
- this->transitionDrawTable, 16);
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060005C0);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06006260, &D_060005C0, this->jointTable, this->morphTable, 16);
+ Animation_PlayLoop(&this->skelAnime, &D_060005C0);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = 0xFF;
@@ -166,7 +165,7 @@ void func_80A6E7BC(EnHs* this, GlobalContext* globalCtx) {
break;
}
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060005C0, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060005C0), 0, 8.0f);
+ Animation_Change(&this->skelAnime, &D_060005C0, 1.0f, 0.0f, Animation_GetLastFrame(&D_060005C0), 0, 8.0f);
}
this->unk_2A8 |= 1;
@@ -178,7 +177,7 @@ void func_80A6E8CC(EnHs* this, GlobalContext* globalCtx) {
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && func_80106BC8(globalCtx)) {
func_8010B720(globalCtx, 0x10B3);
func_80A6E3A0(this, func_80A6E7BC);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000528, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000528), 0, 8.0f);
+ Animation_Change(&this->skelAnime, &D_06000528, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000528), 0, 8.0f);
}
if (this->unk_2AA > 0) {
@@ -199,8 +198,7 @@ void func_80A6E9AC(EnHs* this, GlobalContext* globalCtx) {
if (func_8002F368(globalCtx) == 7) {
player->actor.textId = 0x10B2;
func_80A6E3A0(this, func_80A6E8CC);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000304, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000304), 0,
- 8.0f);
+ Animation_Change(&this->skelAnime, &D_06000304, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000304), 0, 8.0f);
this->unk_2AA = 40;
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
} else {
@@ -224,8 +222,8 @@ void EnHs_Update(Actor* thisx, GlobalContext* globalCtx) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
- this->skelAnime.animCurrentFrame = 0.0f;
+ if (SkelAnime_Update(&this->skelAnime)) {
+ this->skelAnime.curFrame = 0.0f;
}
this->actionFunc(this, globalCtx);
@@ -251,25 +249,24 @@ s32 EnHs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
break;
case 10:
*dList = NULL;
- return 0;
+ return false;
case 11:
*dList = NULL;
- return 0;
+ return false;
case 12:
if (this->actor.params == 1) {
*dList = NULL;
- return 0;
+ return false;
}
break;
case 13:
if (this->actor.params == 1) {
*dList = NULL;
- return 0;
+ return false;
}
break;
}
-
- return 0;
+ return false;
}
void EnHs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -285,6 +282,6 @@ void EnHs_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnHs* this = THIS;
func_800943C8(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnHs_OverrideLimbDraw, EnHs_PostLimbDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_Hs/z_en_hs.h b/src/overlays/actors/ovl_En_Hs/z_en_hs.h
index b1311861ff..a7d4084e6e 100644
--- a/src/overlays/actors/ovl_En_Hs/z_en_hs.h
+++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.h
@@ -12,8 +12,8 @@ typedef struct EnHs {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
- /* 0x01DC */ Vec3s limbDrawTable[16];
- /* 0x023C */ Vec3s transitionDrawTable[16];
+ /* 0x01DC */ Vec3s jointTable[16];
+ /* 0x023C */ Vec3s morphTable[16];
/* 0x029C */ Vec3s unk_29C;
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ u16 unk_2A8;
diff --git a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
index d5c2bd623b..4579f446bb 100644
--- a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
+++ b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
@@ -43,9 +43,8 @@ void EnHs2_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06006260, &D_060005C0, this->limbDrawTable,
- this->transitionDrawTable, 16);
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060005C0);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06006260, &D_060005C0, this->jointTable, this->morphTable, 16);
+ Animation_PlayLoop(&this->skelAnime, &D_060005C0);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = 0xFF;
@@ -103,8 +102,8 @@ void EnHs2_Update(Actor* thisx, GlobalContext* globalCtx) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
- this->skelAnime.animCurrentFrame = 0.0f;
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
+ this->skelAnime.curFrame = 0.0f;
}
this->actionFunc(this, globalCtx);
if (this->unk_2A8 & 0x1) {
@@ -125,19 +124,19 @@ s32 EnHs2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
case 12:
case 13:
*dList = NULL;
- return 0;
+ return false;
case 9:
rot->x += this->unk_29C.y;
rot->z += this->unk_29C.x;
break;
case 10:
*dList = NULL;
- return 0;
+ return false;
case 11:
*dList = NULL;
- return 0;
+ return false;
}
- return 0;
+ return false;
}
void EnHs2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -153,6 +152,6 @@ void EnHs2_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnHs2* this = THIS;
func_800943C8(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnHs2_OverrideLimbDraw, EnHs2_PostLimbDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.h b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.h
index 8684127d67..527652235c 100644
--- a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.h
+++ b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.h
@@ -12,8 +12,8 @@ typedef struct EnHs2 {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
- /* 0x01DC */ Vec3s limbDrawTable[16];
- /* 0x023C */ Vec3s transitionDrawTable[16];
+ /* 0x01DC */ Vec3s jointTable[16];
+ /* 0x023C */ Vec3s morphTable[16];
/* 0x029C */ Vec3s unk_29C;
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ u16 unk_2A8;
diff --git a/src/overlays/actors/ovl_En_Ik/z_en_ik.c b/src/overlays/actors/ovl_En_Ik/z_en_ik.c
index 8c8177ab04..5dbaccd5e7 100644
--- a/src/overlays/actors/ovl_En_Ik/z_en_ik.c
+++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.c
@@ -217,7 +217,7 @@ Actor* func_80A74674(GlobalContext* globalCtx, Actor* actor) {
}
void func_80A74714(EnIk* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_0600CD70);
+ f32 frames = Animation_GetLastFrame(&D_0600CD70);
f32 frame;
if (this->actor.params >= 2) {
@@ -226,7 +226,7 @@ void func_80A74714(EnIk* this) {
frame = 0.0f;
}
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600CD70, 0.0f, frame, frames, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600CD70, 0.0f, frame, frames, 2, 0.0f);
this->unk_2F8 = 3;
this->actor.speedXZ = 0.0f;
EnIk_SetupAction(this, func_80A747C0);
@@ -240,25 +240,25 @@ void func_80A747C0(EnIk* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_ARMOR_HIT);
sp24.y += 30.0f;
func_8003424C(globalCtx, &sp24);
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
func_800F5ACC(0x38);
}
- if (this->skelAnime.animCurrentFrame == 5.0f) {
+ if (this->skelAnime.curFrame == 5.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_WAKEUP);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->actor.flags |= 5;
func_80A74AAC(this);
}
}
void func_80A7489C(EnIk* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_0600DD50);
+ f32 frames = Animation_GetLastFrame(&D_0600DD50);
this->actor.flags |= 5;
this->unk_2F8 = 4;
this->actor.speedXZ = 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600DD50, 0.0f, 0.0f, frames, 0, 4.0f);
+ Animation_Change(&this->skelAnime, &D_0600DD50, 0.0f, 0.0f, frames, 0, 4.0f);
EnIk_SetupAction(this, func_80A7492C);
}
@@ -279,16 +279,16 @@ void func_80A7492C(EnIk* this, GlobalContext* globalCtx) {
func_80A74AAC(this);
}
func_80A745E4(this, globalCtx);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
void func_80A74AAC(EnIk* this) {
this->unk_2F8 = 5;
if (this->unk_2FB == 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600ED24, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600ED24), 0, -4.0f);
+ Animation_Change(&this->skelAnime, &D_0600ED24, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600ED24), 0, -4.0f);
this->actor.speedXZ = 0.9f;
} else {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06006734, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06006734), 0, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06006734, 1.0f, 0.0f, Animation_GetLastFrame(&D_06006734), 0, -4.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_DASH);
this->actor.speedXZ = 2.5f;
}
@@ -349,28 +349,28 @@ void func_80A74BA4(EnIk* this, GlobalContext* globalCtx) {
}
}
func_80A745E4(this, globalCtx);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if ((sp30 == (s16)this->skelAnime.animCurrentFrame) || (sp2E == (s16)this->skelAnime.animCurrentFrame)) {
+ SkelAnime_Update(&this->skelAnime);
+ if ((sp30 == (s16)this->skelAnime.curFrame) || (sp2E == (s16)this->skelAnime.curFrame)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_WALK);
}
}
void func_80A74E2C(EnIk* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_06001C28);
+ f32 frames = Animation_GetLastFrame(&D_06001C28);
this->unk_2FF = 1;
this->unk_2F8 = 6;
this->actor.speedXZ = 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06001C28, 1.5f, 0.0f, frames, 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06001C28, 1.5f, 0.0f, frames, 2, -4.0f);
EnIk_SetupAction(this, func_80A74EBC);
}
void func_80A74EBC(EnIk* this, GlobalContext* globalCtx) {
Vec3f sp2C;
- if (this->skelAnime.animCurrentFrame == 15.0f) {
+ if (this->skelAnime.curFrame == 15.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_SWING_AXE);
- } else if (this->skelAnime.animCurrentFrame == 21.0f) {
+ } else if (this->skelAnime.curFrame == 21.0f) {
sp2C.x = this->actor.posRot.pos.x + Math_SinS(this->actor.shape.rot.y + 0x6A4) * 70.0f;
sp2C.z = this->actor.posRot.pos.z + Math_CosS(this->actor.shape.rot.y + 0x6A4) * 70.0f;
sp2C.y = this->actor.posRot.pos.y;
@@ -380,29 +380,29 @@ void func_80A74EBC(EnIk* this, GlobalContext* globalCtx) {
func_80062CD4(globalCtx, &sp2C);
}
- if ((this->skelAnime.animCurrentFrame > 17.0f) && (this->skelAnime.animCurrentFrame < 23.0f)) {
+ if ((this->skelAnime.curFrame > 17.0f) && (this->skelAnime.curFrame < 23.0f)) {
this->unk_2FE = 1;
} else {
- if ((this->unk_2FB != 0) && (this->skelAnime.animCurrentFrame < 10.0f)) {
+ if ((this->unk_2FB != 0) && (this->skelAnime.curFrame < 10.0f)) {
Math_SmoothStepToS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink, 1, 0x5DC, 0);
this->actor.shape.rot.y = this->actor.posRot.rot.y;
}
this->unk_2FE = 0;
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
func_80A7506C(this);
}
}
void func_80A7506C(EnIk* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_060029FC);
+ f32 frames = Animation_GetLastFrame(&D_060029FC);
this->unk_2FE = 0;
this->unk_2F9 = (s8)frames;
this->unk_2F8 = 7;
this->unk_2FF = this->unk_2FE;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060029FC, 1.0f, 0.0f, frames, 0, -4.0f);
+ Animation_Change(&this->skelAnime, &D_060029FC, 1.0f, 0.0f, frames, 0, -4.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_PULLOUT);
EnIk_SetupAction(this, func_80A7510C);
}
@@ -410,25 +410,25 @@ void func_80A7506C(EnIk* this) {
void func_80A7510C(EnIk* this, GlobalContext* globalCtx) {
f32 frames;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) || (--this->unk_2F9 == 0)) {
+ if (SkelAnime_Update(&this->skelAnime) || (--this->unk_2F9 == 0)) {
if (this->unk_2F8 == 8) {
func_80A7489C(this);
} else {
- frames = SkelAnime_GetFrameCount(&D_06002538);
+ frames = Animation_GetLastFrame(&D_06002538);
this->unk_2F8 = 8;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06002538, 1.5f, 0.0f, frames, 3, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06002538, 1.5f, 0.0f, frames, 3, -4.0f);
}
}
}
void func_80A751C8(EnIk* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_060033C4);
+ f32 frames = Animation_GetLastFrame(&D_060033C4);
this->unk_2FF = 2;
this->unk_300 = 0;
this->unk_2F8 = 6;
this->actor.speedXZ = 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060033C4, 0.0f, 0.0f, frames, 3, -6.0f);
+ Animation_Change(&this->skelAnime, &D_060033C4, 0.0f, 0.0f, frames, 3, -6.0f);
this->unk_2FC = 0;
EnIk_SetupAction(this, func_80A75260);
}
@@ -438,14 +438,14 @@ void func_80A75260(EnIk* this, GlobalContext* globalCtx) {
this->unk_300 += 0x1C2;
temp_f0 = Math_SinS(this->unk_300);
- this->skelAnime.animPlaybackSpeed = ABS(temp_f0);
+ this->skelAnime.playSpeed = ABS(temp_f0);
- if (this->skelAnime.animCurrentFrame > 11.0f) {
+ if (this->skelAnime.curFrame > 11.0f) {
this->unk_2FF = 3;
}
- if (((this->skelAnime.animCurrentFrame > 1.0f) && (this->skelAnime.animCurrentFrame < 9.0f)) ||
- ((this->skelAnime.animCurrentFrame > 13.0f) && (this->skelAnime.animCurrentFrame < 18.0f))) {
- if ((this->unk_2FC == 0) && (this->unk_2FB != 0) && (this->skelAnime.animCurrentFrame < 10.0f)) {
+ if (((this->skelAnime.curFrame > 1.0f) && (this->skelAnime.curFrame < 9.0f)) ||
+ ((this->skelAnime.curFrame > 13.0f) && (this->skelAnime.curFrame < 18.0f))) {
+ if ((this->unk_2FC == 0) && (this->unk_2FB != 0) && (this->skelAnime.curFrame < 10.0f)) {
Math_SmoothStepToS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink, 1, 0x5DC, 0);
this->actor.shape.rot.y = this->actor.posRot.rot.y;
}
@@ -456,41 +456,41 @@ void func_80A75260(EnIk* this, GlobalContext* globalCtx) {
} else {
this->unk_2FE = 0;
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
func_80A753D0(this);
}
}
void func_80A753D0(EnIk* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_06003DBC);
+ f32 frames = Animation_GetLastFrame(&D_06003DBC);
this->unk_2FF = this->unk_2FE = 0;
this->unk_2F8 = 8;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06003DBC, 1.5f, 0.0f, frames, 3, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06003DBC, 1.5f, 0.0f, frames, 3, -4.0f);
EnIk_SetupAction(this, func_80A7545C);
}
void func_80A7545C(EnIk* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
func_80A7489C(this);
func_80A745E4(this, globalCtx);
}
}
void func_80A754A0(EnIk* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_060033C4);
+ f32 frames = Animation_GetLastFrame(&D_060033C4);
this->unk_2F8 = 1;
this->unk_2FF = 3;
this->actor.speedXZ = 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060033C4, 0.5f, 13.0f, frames, 3, -4.0f);
+ Animation_Change(&this->skelAnime, &D_060033C4, 0.5f, 13.0f, frames, 3, -4.0f);
EnIk_SetupAction(this, func_80A75530);
}
void func_80A75530(EnIk* this, GlobalContext* globalCtx) {
Math_StepUntilS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink, 0x7D0);
this->actor.shape.rot.y = this->actor.posRot.rot.y;
- if ((this->skelAnime.animCurrentFrame > 13.0f) && (this->skelAnime.animCurrentFrame < 18.0f)) {
+ if ((this->skelAnime.curFrame > 13.0f) && (this->skelAnime.curFrame < 18.0f)) {
if (this->unk_2FE < 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_SWING_AXE);
}
@@ -498,25 +498,25 @@ void func_80A75530(EnIk* this, GlobalContext* globalCtx) {
} else {
this->unk_2FE = 0;
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
func_80A753D0(this);
func_80A745E4(this, globalCtx);
}
}
void func_80A755F0(EnIk* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_0600485C);
+ f32 frames = Animation_GetLastFrame(&D_0600485C);
this->unk_2FE = 0;
this->unk_2F8 = 9;
this->actor.speedXZ = 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600485C, 1.0f, 0.0f, frames, 3, -4.0f);
+ Animation_Change(&this->skelAnime, &D_0600485C, 1.0f, 0.0f, frames, 3, -4.0f);
EnIk_SetupAction(this, func_80A7567C);
}
void func_80A7567C(EnIk* this, GlobalContext* globalCtx) {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->shieldCollider.base);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if ((ABS((s16)(this->actor.yawTowardsLink - this->actor.shape.rot.y)) <= 0x4000) &&
(this->actor.xzDistFromLink < 100.0f) && (ABS(this->actor.yDistFromLink) < 150.0f)) {
if ((globalCtx->gameplayFrames & 1)) {
@@ -538,10 +538,10 @@ void func_80A75790(EnIk* this) {
this->unk_2F8 = 0;
yawDiff = yaw - this->actor.shape.rot.y;
if (ABS(yawDiff) <= 0x4000) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06006194, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06006194), 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06006194, 1.0f, 0.0f, Animation_GetLastFrame(&D_06006194), 2, -4.0f);
this->actor.speedXZ = -6.0f;
} else {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060045BC, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060045BC), 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_060045BC, 1.0f, 0.0f, Animation_GetLastFrame(&D_060045BC), 2, -4.0f);
this->actor.speedXZ = 6.0f;
}
this->unk_2FE = 0;
@@ -553,7 +553,7 @@ void func_80A758B0(EnIk* this, GlobalContext* globalCtx) {
if (func_8003305C(&this->actor, &this->unk_308, globalCtx, this->actor.params + 4)) {
this->unk_308.unk_10 = 0;
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (ABS((s16)(this->actor.yawTowardsLink - this->actor.shape.rot.y)) <= 0x4000) {
func_80A7489C(this);
func_80A745E4(this, globalCtx);
@@ -564,12 +564,12 @@ void func_80A758B0(EnIk* this, GlobalContext* globalCtx) {
}
void func_80A7598C(EnIk* this) {
- f32 frames = SkelAnime_GetFrameCount(&D_06005944);
+ f32 frames = Animation_GetLastFrame(&D_06005944);
this->unk_2FE = 0;
this->unk_2F8 = 2;
this->actor.speedXZ = 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06005944, 1.0f, 0.0f, frames, 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06005944, 1.0f, 0.0f, frames, 2, -4.0f);
this->unk_2F9 = 0x18;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_DEAD);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_CUTBODY);
@@ -577,7 +577,7 @@ void func_80A7598C(EnIk* this) {
}
void func_80A75A38(EnIk* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if ((this->actor.colChkInfo.health == 0) && (this->unk_2F9 != 0)) {
s32 i;
Vec3f pos;
@@ -599,7 +599,7 @@ void func_80A75A38(EnIk* this, GlobalContext* globalCtx) {
Actor_Kill(&this->actor);
}
}
- } else if (this->skelAnime.animCurrentFrame == 23.0f) {
+ } else if (this->skelAnime.curFrame == 23.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_WALK);
}
}
@@ -616,9 +616,9 @@ void func_80A75C38(EnIk* this, GlobalContext* globalCtx) {
return;
}
if (this->shieldCollider.base.acFlags & 0x80) {
- temp_f0 = SkelAnime_GetFrameCount(&D_0600485C) - 2.0f;
- if (this->skelAnime.animCurrentFrame < temp_f0) {
- this->skelAnime.animCurrentFrame = temp_f0;
+ temp_f0 = Animation_GetLastFrame(&D_0600485C) - 2.0f;
+ if (this->skelAnime.curFrame < temp_f0) {
+ this->skelAnime.curFrame = temp_f0;
}
this->shieldCollider.base.acFlags &= ~0x80;
this->bodyCollider.base.acFlags &= ~0x2;
@@ -769,7 +769,7 @@ s32 EnIk_OverrideLimbDraw3(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
*dList = NULL;
}
}
- return 0;
+ return false;
}
// unused
@@ -897,7 +897,7 @@ void func_80A76798(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x09, func_80A761B0(globalCtx->state.gfxCtx, 225, 205, 115, 25, 20, 0));
gSPSegment(POLY_OPA_DISP++, 0x0A, func_80A761B0(globalCtx->state.gfxCtx, 225, 205, 115, 25, 20, 0));
}
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnIk_OverrideLimbDraw3, EnIk_PostLimbDraw3, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ik_inFight.c", 1351);
@@ -908,22 +908,22 @@ void EnIk_StartMusic(void) {
}
void func_80A76C14(EnIk* this) {
- if (func_800A56C8(&this->skelAnime, 1.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 1.0f)) {
Audio_PlaySoundGeneral(NA_SE_EN_IRONNACK_WAKEUP, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
- } else if (func_800A56C8(&this->skelAnime, 33.0f)) {
+ } else if (Animation_OnFrame(&this->skelAnime, 33.0f)) {
Audio_PlaySoundGeneral(NA_SE_EN_IRONNACK_WALK, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
- } else if (func_800A56C8(&this->skelAnime, 68.0f) || func_800A56C8(&this->skelAnime, 80.0f)) {
+ } else if (Animation_OnFrame(&this->skelAnime, 68.0f) || Animation_OnFrame(&this->skelAnime, 80.0f)) {
Audio_PlaySoundGeneral(NA_SE_EN_IRONNACK_ARMOR_DEMO, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
- } else if (func_800A56C8(&this->skelAnime, 107.0f)) {
+ } else if (Animation_OnFrame(&this->skelAnime, 107.0f)) {
Audio_PlaySoundGeneral(NA_SE_EN_IRONNACK_FINGER_DEMO, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
- } else if (func_800A56C8(&this->skelAnime, 156.0f)) {
+ } else if (Animation_OnFrame(&this->skelAnime, 156.0f)) {
Audio_PlaySoundGeneral(NA_SE_EN_IRONNACK_ARMOR_DEMO, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
- } else if (func_800A56C8(&this->skelAnime, 188.0f)) {
+ } else if (Animation_OnFrame(&this->skelAnime, 188.0f)) {
Audio_PlaySoundGeneral(NA_SE_EN_IRONNACK_WAVE_DEMO, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
}
@@ -979,7 +979,7 @@ void func_80A77034(EnIk* this, GlobalContext* globalCtx) {
}
s32 func_80A7707C(EnIk* this) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
CsCmdActorAction* EnIk_GetNpcAction(GlobalContext* globalCtx, s32 actionIdx) {
@@ -1001,10 +1001,10 @@ void func_80A770C0(EnIk* this, GlobalContext* globalCtx, s32 actionIdx) {
}
}
-f32 EnIk_AnimCurrentFrame(Actor* thisx) {
+f32 EnIk_curFrame(Actor* thisx) {
EnIk* this = THIS;
- return this->skelAnime.animCurrentFrame;
+ return this->skelAnime.curFrame;
}
void func_80A77148(EnIk* this) {
@@ -1014,7 +1014,7 @@ void func_80A77148(EnIk* this) {
}
void func_80A77158(EnIk* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C114, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600C114), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600C114, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600C114), 2, 0.0f);
func_80A770C0(this, globalCtx, 4);
this->action = 1;
this->drawMode = 1;
@@ -1022,7 +1022,7 @@ void func_80A77158(EnIk* this, GlobalContext* globalCtx) {
}
void func_80A771E4(EnIk* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C114, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600C114), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600C114, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600C114), 2, 0.0f);
this->action = 2;
this->drawMode = 1;
this->unk_4D4 = 0;
@@ -1051,11 +1051,10 @@ void func_80A772EC(EnIk* this, GlobalContext* globalCtx) {
void func_80A7735C(EnIk* this, GlobalContext* globalCtx) {
s32 pad[3];
- f32 frames = SkelAnime_GetFrameCount(&D_060203D8);
+ f32 frames = Animation_GetLastFrame(&D_060203D8);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060205C0, NULL, this->limbDrawTable, this->transitionDrawTable,
- 30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060203D8, 1.0f, 0.0f, frames, 2, 0.0f);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060205C0, NULL, this->jointTable, this->morphTable, 30);
+ Animation_Change(&this->skelAnime, &D_060203D8, 1.0f, 0.0f, frames, 2, 0.0f);
this->action = 3;
this->drawMode = 2;
func_80A770C0(this, globalCtx, 4);
@@ -1097,7 +1096,7 @@ s32 EnIk_OverrideLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
EnIk* this = THIS;
if ((limbIndex == 13) || (limbIndex == 26) || (limbIndex == 27)) {
- if (EnIk_AnimCurrentFrame(&this->actor) >= 30.0f) {
+ if (EnIk_curFrame(&this->actor) >= 30.0f) {
*dList = NULL;
}
}
@@ -1113,7 +1112,7 @@ void EnIk_PostLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
switch (limbIndex) {
case 13: {
EnIk* this = THIS;
- if (EnIk_AnimCurrentFrame(&this->actor) < 30.0f) {
+ if (EnIk_curFrame(&this->actor) < 30.0f) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 267),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06016D88);
@@ -1131,7 +1130,7 @@ void EnIk_PostLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
break;
case 26: {
EnIk* this = THIS;
- if (EnIk_AnimCurrentFrame(&this->actor) < 30.0f) {
+ if (EnIk_curFrame(&this->actor) < 30.0f) {
// s32 pad;
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 288),
@@ -1141,7 +1140,7 @@ void EnIk_PostLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
} break;
case 27: {
EnIk* this = THIS;
- if (EnIk_AnimCurrentFrame(&this->actor) < 30.0f) {
+ if (EnIk_curFrame(&this->actor) < 30.0f) {
// s32 pad;
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 297),
@@ -1166,7 +1165,7 @@ void func_80A77844(EnIk* this, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, func_80A761B0(gfxCtx, 245, 225, 155, 30, 30, 0));
gSPSegment(POLY_OPA_DISP++, 0x09, func_80A761B0(gfxCtx, 255, 40, 0, 40, 0, 0));
gSPSegment(POLY_OPA_DISP++, 0x0A, func_80A761B0(gfxCtx, 255, 255, 255, 20, 40, 30));
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
EnIk_OverrideLimbDraw2, EnIk_PostLimbDraw2, this);
CLOSE_DISPS(gfxCtx, "../z_en_ik_inAwake.c", 345);
@@ -1248,12 +1247,12 @@ void EnIk_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 EnIk_OverrideLimbDraw1(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
EnIk* this = THIS;
- f32 animCurrentFrame;
+ f32 curFrame;
switch (limbIndex) {
case 17:
- animCurrentFrame = this->skelAnime.animCurrentFrame;
- if (animCurrentFrame < 120.0f) {
+ curFrame = this->skelAnime.curFrame;
+ if (curFrame < 120.0f) {
*dList = NULL;
} else {
func_80A76E2C(this, globalCtx, pos);
@@ -1320,7 +1319,7 @@ void func_80A77EDC(EnIk* this, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, func_80A761B0(gfxCtx, 245, 225, 155, 30, 30, 0));
gSPSegment(POLY_OPA_DISP++, 0x09, func_80A761B0(gfxCtx, 255, 40, 0, 40, 0, 0));
gSPSegment(POLY_OPA_DISP++, 0x0A, func_80A761B0(gfxCtx, 255, 255, 255, 20, 40, 30));
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
EnIk_OverrideLimbDraw1, EnIk_PostLimbDraw1, this);
CLOSE_DISPS(gfxCtx, "../z_en_ik_inConfrontion.c", 653);
@@ -1385,8 +1384,8 @@ void EnIk_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_Kill(&this->actor);
} else {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0601E178, &D_0600C114, this->limbDrawTable,
- this->transitionDrawTable, 30);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0601E178, &D_0600C114, this->jointTable, this->morphTable,
+ 30);
func_80A74398(&this->actor, globalCtx);
func_80A780D0(this, globalCtx);
}
diff --git a/src/overlays/actors/ovl_En_Ik/z_en_ik.h b/src/overlays/actors/ovl_En_Ik/z_en_ik.h
index d60cf9058a..082ec8d1bd 100644
--- a/src/overlays/actors/ovl_En_Ik/z_en_ik.h
+++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.h
@@ -11,8 +11,8 @@ typedef void (*EnIkActionFunc)(struct EnIk*, GlobalContext*);
typedef struct EnIk {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[30];
- /* 0x0244 */ Vec3s transitionDrawTable[30];
+ /* 0x0190 */ Vec3s jointTable[30];
+ /* 0x0244 */ Vec3s morphTable[30];
/* 0x02F8 */ u8 unk_2F8;
/* 0x02F9 */ u8 unk_2F9;
/* 0x02FA */ u8 unk_2FA;
diff --git a/src/overlays/actors/ovl_En_Insect/z_en_insect.c b/src/overlays/actors/ovl_En_Insect/z_en_insect.c
index d3c9633a99..7b78e6d542 100644
--- a/src/overlays/actors/ovl_En_Insect/z_en_insect.c
+++ b/src/overlays/actors/ovl_En_Insect/z_en_insect.c
@@ -94,7 +94,7 @@ s32 func_80A7BE6C(EnInsect* this, GlobalContext* globalCtx) {
}
void func_80A7BF58(EnInsect* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_040341FC, 1.0f, 0.0f, 0.0f, 1, 0.0f);
+ Animation_Change(&this->skelAnime, &D_040341FC, 1.0f, 0.0f, 0.0f, 1, 0.0f);
}
/**
@@ -137,7 +137,7 @@ void func_80A7C058(EnInsect* this) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_WALK);
- this->unk_31E = 3.0f / CLAMP_MIN(this->skelAnime.animPlaybackSpeed, 0.1f);
+ this->unk_31E = 3.0f / CLAMP_MIN(this->skelAnime.playSpeed, 0.1f);
if (this->unk_31E < 2) {
this->unk_31E = 2;
}
@@ -154,8 +154,7 @@ void EnInsect_Init(Actor* thisx, GlobalContext* globalCtx) {
temp_s2 = this->actor.params & 3;
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_04035590, &D_040341FC, this->limbDrawTable,
- this->transitionDrawTable, 24);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_04035590, &D_040341FC, this->jointTable, this->morphTable, 24);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sColliderInit, &this->colliderItem);
@@ -229,16 +228,16 @@ void func_80A7C3A0(EnInsect* this) {
void func_80A7C3F4(EnInsect* this, GlobalContext* globalCtx) {
s32 pad[2];
s16 sp2E;
- f32 animPlaybackSpeed;
+ f32 playSpeed;
sp2E = this->actor.params & 3;
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 0.1f, 0.5f, 0.0f);
- animPlaybackSpeed = (Rand_ZeroOne() * 0.8f) + (this->actor.speedXZ * 1.2f);
- this->skelAnime.animPlaybackSpeed = CLAMP(animPlaybackSpeed, 0.0f, 1.9f);
+ playSpeed = (Rand_ZeroOne() * 0.8f) + (this->actor.speedXZ * 1.2f);
+ this->skelAnime.playSpeed = CLAMP(playSpeed, 0.0f, 1.9f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->actor.shape.rot.y = this->actor.posRot.rot.y;
if (this->unk_31A <= 0) {
func_80A7C598(this);
@@ -279,9 +278,9 @@ void func_80A7C5EC(EnInsect* this, GlobalContext* globalCtx) {
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
- this->skelAnime.animPlaybackSpeed = CLAMP(this->actor.speedXZ * 1.4f, 0.7f, 1.9f);
+ this->skelAnime.playSpeed = CLAMP(this->actor.speedXZ * 1.4f, 0.7f, 1.9f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_31A <= 0) {
func_80A7C3A0(this);
@@ -335,8 +334,8 @@ void func_80A7C86C(EnInsect* this, GlobalContext* globalCtx) {
Math_ScaledStepToS(&this->actor.posRot.rot.y, yaw, 2000);
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
- this->skelAnime.animPlaybackSpeed = CLAMP(this->actor.speedXZ * 1.6f, 0.8f, 1.9f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ this->skelAnime.playSpeed = CLAMP(this->actor.speedXZ * 1.6f, 0.8f, 1.9f);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_31A <= 0 || !sp38) {
func_80A7C3A0(this);
@@ -355,7 +354,7 @@ void func_80A7CA64(EnInsect* this) {
func_80A7BF58(this);
- this->skelAnime.animPlaybackSpeed = 0.3f;
+ this->skelAnime.playSpeed = 0.3f;
this->actionFunc = func_80A7CAD0;
this->unk_314 &= ~0x100;
}
@@ -372,14 +371,14 @@ void func_80A7CAD0(EnInsect* this, GlobalContext* globalCtx) {
}
} else if (this->unk_31A < 20) {
Actor_SetScale(&this->actor, CLAMP_MAX(this->actor.scale.x + 0.001f, 0.01f));
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
}
void func_80A7CBC8(EnInsect* this) {
this->unk_31A = 60;
func_80A7BF58(this);
- this->skelAnime.animPlaybackSpeed = 1.9f;
+ this->skelAnime.playSpeed = 1.9f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_SINK);
Math_Vec3f_Copy(&this->actor.initPosRot.pos, &this->actor.posRot.pos);
this->actionFunc = func_80A7CC3C;
@@ -402,7 +401,7 @@ void func_80A7CC3C(EnInsect* this, GlobalContext* globalCtx) {
this->actor.posRot.pos.x = Rand_ZeroOne() + this->actor.initPosRot.pos.x - 0.5f;
this->actor.posRot.pos.z = Rand_ZeroOne() + this->actor.initPosRot.pos.z - 0.5f;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_31A > 20 && Rand_ZeroOne() < 0.1f) {
velocity.x = Math_SinS(this->actor.shape.rot.y) * -0.6f;
@@ -447,16 +446,16 @@ void func_80A7CEC0(EnInsect* this, GlobalContext* globalCtx) {
}
this->actor.velocity.y = 0.0f;
this->actor.posRot.pos.y += this->actor.waterY;
- this->skelAnime.animPlaybackSpeed = CLAMP(this->unk_31A * 0.018f, 0.1f, 1.9f);
+ this->skelAnime.playSpeed = CLAMP(this->unk_31A * 0.018f, 0.1f, 1.9f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_31A >= 81) {
this->unk_316 += Rand_S16Offset(-50, 100);
this->unk_318 += Rand_S16Offset(-300, 600);
}
- temp_v1 = this->skelAnime.animPlaybackSpeed * 200.0f;
+ temp_v1 = this->skelAnime.playSpeed * 200.0f;
if (this->unk_316 < -temp_v1) {
this->unk_316 = -temp_v1;
@@ -470,7 +469,7 @@ void func_80A7CEC0(EnInsect* this, GlobalContext* globalCtx) {
}
this->actor.posRot.rot.y += this->unk_316;
- temp_v1 = this->skelAnime.animPlaybackSpeed * 1000.0f;
+ temp_v1 = this->skelAnime.playSpeed * 1000.0f;
if (this->unk_318 < -temp_v1) {
this->unk_318 = -temp_v1;
} else {
@@ -640,17 +639,17 @@ void func_80A7D460(EnInsect* this, GlobalContext* globalCtx) {
phi_f2 = Rand_ZeroOne() * 0.5f + this->actor.speedXZ * 1.3f;
if (phi_f2 < 0.0f) {
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ this->skelAnime.playSpeed = 0.0f;
} else {
if (phi_f2 > 1.9f) {
phi_f0 = 1.9f;
} else {
phi_f0 = phi_f2;
}
- this->skelAnime.animPlaybackSpeed = phi_f0;
+ this->skelAnime.playSpeed = phi_f0;
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (!(this->unk_314 & 0x40) && (this->unk_314 & 1) && (this->actor.bgCheckFlags & 1)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MUSI_LAND);
this->unk_314 |= 0x40;
@@ -779,7 +778,7 @@ void EnInsect_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnInsect* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL);
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, NULL);
func_800628A4(0, &this->collider);
D_80A7DEB4 = 0;
}
diff --git a/src/overlays/actors/ovl_En_Insect/z_en_insect.h b/src/overlays/actors/ovl_En_Insect/z_en_insect.h
index 44a524419c..2d43a0e5d7 100644
--- a/src/overlays/actors/ovl_En_Insect/z_en_insect.h
+++ b/src/overlays/actors/ovl_En_Insect/z_en_insect.h
@@ -14,8 +14,8 @@ typedef struct EnInsect {
/* 0x014C */ ColliderJntSph collider;
/* 0x016C */ ColliderJntSphItem colliderItem;
/* 0x01AC */ SkelAnime skelAnime;
- /* 0x01F0 */ Vec3s limbDrawTable[24];
- /* 0x0280 */ Vec3s transitionDrawTable[24];
+ /* 0x01F0 */ Vec3s jointTable[24];
+ /* 0x0280 */ Vec3s morphTable[24];
/* 0x0310 */ EnInsectActionFunc actionFunc;
/* 0x0314 */ u16 unk_314;
/* 0x0316 */ s16 unk_316;
diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.c b/src/overlays/actors/ovl_En_Js/z_en_js.c
index dcd6a3b194..28cd4285d1 100644
--- a/src/overlays/actors/ovl_En_Js/z_en_js.c
+++ b/src/overlays/actors/ovl_En_Js/z_en_js.c
@@ -48,9 +48,8 @@ void EnJs_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 36.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06005EA0, &D_0600045C, this->limbDrawTable,
- this->transitionDrawTable, 13);
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600045C);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06005EA0, &D_0600045C, this->jointTable, this->morphTable, 13);
+ Animation_PlayOnce(&this->skelAnime, &D_0600045C);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = 0xFF;
@@ -87,7 +86,7 @@ u8 func_80A88F64(EnJs* this, GlobalContext* globalCtx, u16 textId) {
void func_80A89008(EnJs* this) {
En_Js_SetupAction(this, func_80A89304);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600045C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600045C), 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_0600045C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600045C), 2, -4.0f);
}
void func_80A89078(EnJs* this, GlobalContext* globalCtx) {
@@ -143,7 +142,7 @@ void func_80A891C4(EnJs* this, GlobalContext* globalCtx) {
void func_80A89294(EnJs* this) {
En_Js_SetupAction(this, func_80A891C4);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600018C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600018C), 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_0600018C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600018C), 2, -4.0f);
}
void func_80A89304(EnJs* this, GlobalContext* globalCtx) {
@@ -169,8 +168,8 @@ void EnJs_Update(Actor* thisx, GlobalContext* globalCtx) {
} else {
Math_ApproachZeroF(&this->actor.shape.unk_08, 1.0f, (sREG(81) / 10.0f) + 50.0f);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
- this->skelAnime.animCurrentFrame = 0.0f;
+ if (SkelAnime_Update(&this->skelAnime)) {
+ this->skelAnime.curFrame = 0.0f;
}
this->actionFunc(this, globalCtx);
if (this->unk_284 & 1) {
@@ -200,7 +199,7 @@ s32 EnJs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
if (limbIndex == 12) {
rot->y -= this->unk_278.y;
}
- return 0;
+ return false;
}
void EnJs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -215,6 +214,6 @@ void EnJs_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnJs* this = THIS;
func_800943C8(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnJs_OverrideLimbDraw, EnJs_PostLimbDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.h b/src/overlays/actors/ovl_En_Js/z_en_js.h
index d216d6c495..7faed90336 100644
--- a/src/overlays/actors/ovl_En_Js/z_en_js.h
+++ b/src/overlays/actors/ovl_En_Js/z_en_js.h
@@ -12,8 +12,8 @@ typedef struct EnJs {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
- /* 0x01DC */ Vec3s limbDrawTable[13];
- /* 0x022A */ Vec3s transitionDrawTable[13];
+ /* 0x01DC */ Vec3s jointTable[13];
+ /* 0x022A */ Vec3s morphTable[13];
/* 0x0278 */ Vec3s unk_278;
/* 0x027E */ Vec3s unk_27E;
/* 0x0284 */ u16 unk_284;
diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
index bbff6a4e08..88cf36806d 100644
--- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
+++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
@@ -48,7 +48,7 @@ void EnKakasi_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnKakasi* this = THIS;
Collider_DestroyCylinder(globalCtx, &this->collider);
- //! @bug Skelanime_Free is not called
+ //! @bug SkelAnime_Free is not called
}
void EnKakasi_Init(Actor* thisx, GlobalContext* globalCtx) {
@@ -72,10 +72,10 @@ void EnKakasi_Init(Actor* thisx, GlobalContext* globalCtx) {
void func_80A8F28C(EnKakasi* this) {
this->unk_1A4 = 0;
- this->skelanime.animPlaybackSpeed = 0.0f;
+ this->skelanime.playSpeed = 0.0f;
this->unk_1A8 = this->unk_1AC = 0;
- Math_ApproachZeroF(&this->skelanime.animCurrentFrame, 0.5f, 1.0f);
+ Math_ApproachZeroF(&this->skelanime.curFrame, 0.5f, 1.0f);
Math_SmoothStepToS(&this->actor.shape.rot.x, this->rot.x, 5, 0x2710, 0);
Math_SmoothStepToS(&this->actor.shape.rot.y, this->rot.y, 5, 0x2710, 0);
Math_SmoothStepToS(&this->actor.shape.rot.z, this->rot.z, 5, 0x2710, 0);
@@ -135,7 +135,7 @@ void func_80A8F320(EnKakasi* this, GlobalContext* globalCtx, s16 arg) {
this->actor.velocity.y = 3.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_IT_KAKASHI_JUMP);
}
- Math_ApproachF(&this->skelanime.animPlaybackSpeed, this->unk_1B8, 0.1f, 0.2f);
+ Math_ApproachF(&this->skelanime.playSpeed, this->unk_1B8, 0.1f, 0.2f);
Math_SmoothStepToS(&this->actor.shape.rot.x, this->unk_1A8, 5, 0x3E8, 0);
Math_SmoothStepToS(&this->actor.shape.rot.z, this->unk_1AC, 5, 0x3E8, 0);
@@ -152,18 +152,18 @@ void func_80A8F320(EnKakasi* this, GlobalContext* globalCtx, s16 arg) {
this->unk_1A4 = 0;
}
}
- currentFrame = this->skelanime.animCurrentFrame;
+ currentFrame = this->skelanime.curFrame;
if (currentFrame == 11 || currentFrame == 17) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_KAKASHI_SWING);
}
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
}
}
void func_80A8F660(EnKakasi* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06000214);
+ f32 frameCount = Animation_GetLastFrame(&D_06000214);
- SkelAnime_ChangeAnim(&this->skelanime, &D_06000214, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelanime, &D_06000214, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->actor.textId = 0x4076;
this->unk_196 = 6;
@@ -189,7 +189,7 @@ void func_80A8F75C(EnKakasi* this, GlobalContext* globalCtx) {
s16 absyawTowardsLink;
func_80A8F28C(this);
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
this->camId = -1;
if (func_8002F194(&this->actor, globalCtx)) {
if (this->unk_196 == 5) {
@@ -251,7 +251,7 @@ void func_80A8F8D0(EnKakasi* this, GlobalContext* globalCtx) {
void func_80A8F9C8(EnKakasi* this, GlobalContext* globalCtx) {
func_80A8F28C(this);
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
func_8002DF54(globalCtx, NULL, 8);
if (this->unk_196 == func_8010BDBC(&globalCtx->msgCtx) && (func_80106BC8(globalCtx) != 0)) {
@@ -295,7 +295,7 @@ void func_80A8FAA4(EnKakasi* this, GlobalContext* globalCtx) {
void func_80A8FBB8(EnKakasi* this, GlobalContext* globalCtx) {
func_80A8F28C(this);
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
if (this->unk_196 == func_8010BDBC(&globalCtx->msgCtx)) {
if (func_80106BC8(globalCtx) != 0) {
@@ -338,6 +338,6 @@ void EnKakasi_Draw(Actor* thisx, GlobalContext* globalCtx) {
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n" VT_RST, gSaveContext.scarecrowCustomSongSet);
}
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.jointTable, this->skelanime.dListCount,
NULL, NULL, this);
}
diff --git a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
index c1be73b424..69cfcfbbe3 100644
--- a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
+++ b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
@@ -98,7 +98,7 @@ void EnKakasi2_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnKakasi2* this = THIS;
Collider_DestroyCylinder(globalCtx, &this->collider);
- //! @bug Skelanime_Free is not called
+ //! @bug SkelAnime_Free is not called
}
void func_80A90264(EnKakasi2* this, GlobalContext* globalCtx) {
@@ -148,9 +148,9 @@ void func_80A90264(EnKakasi2* this, GlobalContext* globalCtx) {
}
void func_80A904D8(EnKakasi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06000214);
+ f32 frameCount = Animation_GetLastFrame(&D_06000214);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000214, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06000214, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_COME_UP_DEKU_JR);
this->actionFunc = func_80A90578;
}
@@ -158,9 +158,9 @@ void func_80A904D8(EnKakasi2* this, GlobalContext* globalCtx) {
void func_80A90578(EnKakasi2* this, GlobalContext* globalCtx) {
s16 currentFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
- currentFrame = this->skelAnime.animCurrentFrame;
+ currentFrame = this->skelAnime.curFrame;
if (currentFrame == 11 || currentFrame == 17) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_KAKASHI_SWING);
}
@@ -175,18 +175,18 @@ void func_80A90578(EnKakasi2* this, GlobalContext* globalCtx) {
}
void func_80A9062C(EnKakasi2* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06000214);
+ f32 frameCount = Animation_GetLastFrame(&D_06000214);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000214, 0.0f, 0.0f, (s16)frameCount, 2, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06000214, 0.0f, 0.0f, (s16)frameCount, 2, -10.0f);
this->actionFunc = func_80A906C4;
}
void func_80A906C4(EnKakasi2* this, GlobalContext* globalCtx) {
- if (this->skelAnime.animCurrentFrame != 0) {
- Math_ApproachZeroF(&this->skelAnime.animCurrentFrame, 0.5f, 1.0f);
+ if (this->skelAnime.curFrame != 0) {
+ Math_ApproachZeroF(&this->skelAnime.curFrame, 0.5f, 1.0f);
}
Math_SmoothStepToS(&this->actor.shape.rot.y, this->unk_198, 5, 0xBB8, 0);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
void EnKakasi2_Update(Actor* thisx, GlobalContext* globalCtx) {
@@ -230,6 +230,6 @@ void func_80A90948(Actor* thisx, GlobalContext* globalCtx) {
EnKakasi2* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, NULL, this);
}
diff --git a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
index f15645034b..f646a3d18d 100644
--- a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
+++ b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
@@ -52,7 +52,7 @@ void EnKakasi3_Destroy(Actor* thisx, GlobalContext* globalCtx) {
EnKakasi3* this = THIS;
Collider_DestroyCylinder(globalCtx, &this->collider);
- //! @bug Skelanime_Free is not called
+ //! @bug SkelAnime_Free is not called
}
void EnKakasi3_Init(Actor* thisx, GlobalContext* globalCtx) {
@@ -75,10 +75,10 @@ void EnKakasi3_Init(Actor* thisx, GlobalContext* globalCtx) {
void func_80A90E28(EnKakasi3* this) {
this->unk_1A4 = 0;
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ this->skelAnime.playSpeed = 0.0f;
this->unk_1AA = this->unk_1AE = 0x0;
- Math_ApproachZeroF(&this->skelAnime.animCurrentFrame, 0.5f, 1.0f);
+ Math_ApproachZeroF(&this->skelAnime.curFrame, 0.5f, 1.0f);
Math_SmoothStepToS(&this->actor.shape.rot.x, this->rot.x, 5, 0x2710, 0);
Math_SmoothStepToS(&this->actor.shape.rot.y, this->rot.y, 5, 0x2710, 0);
Math_SmoothStepToS(&this->actor.shape.rot.z, this->rot.z, 5, 0x2710, 0);
@@ -138,7 +138,7 @@ void func_80A90EBC(EnKakasi3* this, GlobalContext* globalCtx, s32 arg) {
this->actor.velocity.y = 3.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_IT_KAKASHI_JUMP);
}
- Math_ApproachF(&this->skelAnime.animPlaybackSpeed, this->unk_1B8, 0.1f, 0.2f);
+ Math_ApproachF(&this->skelAnime.playSpeed, this->unk_1B8, 0.1f, 0.2f);
Math_SmoothStepToS(&this->actor.shape.rot.x, this->unk_1AA, 0x5, 0x3E8, 0);
Math_SmoothStepToS(&this->actor.shape.rot.z, this->unk_1AE, 0x5, 0x3E8, 0);
@@ -155,23 +155,23 @@ void func_80A90EBC(EnKakasi3* this, GlobalContext* globalCtx, s32 arg) {
this->unk_1A4 = 0;
}
}
- currentFrame = this->skelAnime.animCurrentFrame;
+ currentFrame = this->skelAnime.curFrame;
if (currentFrame == 11 || currentFrame == 17) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_KAKASHI_SWING);
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
}
void func_80A911F0(EnKakasi3* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06000214);
+ f32 frameCount = Animation_GetLastFrame(&D_06000214);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000214, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06000214, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
this->actionFunc = func_80A91284;
}
void func_80A91284(EnKakasi3* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->actor.textId = 0x40A1;
this->dialogState = 6;
@@ -203,7 +203,7 @@ void func_80A91348(EnKakasi3* this, GlobalContext* globalCtx) {
s16 absAngleTowardsLink;
func_80A90E28(this);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->camId = -1;
if (func_8002F194(&this->actor, globalCtx)) {
if (!this->unk_194) {
@@ -302,7 +302,7 @@ void func_80A91620(EnKakasi3* this, GlobalContext* globalCtx) {
void func_80A91760(EnKakasi3* this, GlobalContext* globalCtx) {
func_80A90E28(this);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->dialogState == func_8010BDBC(&globalCtx->msgCtx) && func_80106BC8(globalCtx)) {
globalCtx->msgCtx.msgMode = 0x37;
func_8010BD58(globalCtx, 0x2D);
@@ -375,7 +375,7 @@ void func_80A918E4(EnKakasi3* this, GlobalContext* globalCtx) {
void func_80A91A90(EnKakasi3* this, GlobalContext* globalCtx) {
func_80A90E28(this);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
func_8002DF54(globalCtx, NULL, 8);
if (this->dialogState == func_8010BDBC(&globalCtx->msgCtx) && func_80106BC8(globalCtx)) {
@@ -428,6 +428,6 @@ void EnKakasi3_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnKakasi3* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, NULL, this);
}
diff --git a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c
index 58a1ff9f45..83a7846515 100644
--- a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c
+++ b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c
@@ -74,8 +74,7 @@ void EnKarebaba_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 22.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_06002A40, &D_060002B8, this->limbDrawTable,
- this->transitionDrawTable, 8);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_06002A40, &D_060002B8, this->jointTable, this->morphTable, 8);
Collider_InitCylinder(globalCtx, &this->bodyCollider);
Collider_SetCylinder(globalCtx, &this->bodyCollider, &this->actor, &sBodyColliderInit);
Collider_CylinderUpdate(&this->actor, &this->bodyCollider);
@@ -124,7 +123,7 @@ void EnKarebaba_SetupIdle(EnKarebaba* this) {
}
void EnKarebaba_SetupAwaken(EnKarebaba* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060002B8, 4.0f, 0.0f, SkelAnime_GetFrameCount(&D_060002B8), 0, -3.0f);
+ Animation_Change(&this->skelAnime, &D_060002B8, 4.0f, 0.0f, Animation_GetLastFrame(&D_060002B8), 0, -3.0f);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DUMMY482);
this->actionFunc = EnKarebaba_Awaken;
}
@@ -174,13 +173,13 @@ void EnKarebaba_SetupDeadItemDrop(EnKarebaba* this, GlobalContext* globalCtx) {
}
void EnKarebaba_SetupRetract(EnKarebaba* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060002B8, -3.0f, SkelAnime_GetFrameCount(&D_060002B8), 0.0f, 2, -3.0f);
+ Animation_Change(&this->skelAnime, &D_060002B8, -3.0f, Animation_GetLastFrame(&D_060002B8), 0.0f, 2, -3.0f);
EnKarebaba_ResetCollider(this);
this->actionFunc = EnKarebaba_Retract;
}
void EnKarebaba_SetupDead(EnKarebaba* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060002B8, 0.0f, 0.0f, 0.0f, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_060002B8, 0.0f, 0.0f, 0.0f, 2, 0.0f);
EnKarebaba_ResetCollider(this);
this->actor.shape.rot.x = -0x4000;
this->actor.params = 200;
@@ -217,7 +216,7 @@ void EnKarebaba_Idle(EnKarebaba* this, GlobalContext* globalCtx) {
}
void EnKarebaba_Awaken(EnKarebaba* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_StepToF(&this->actor.scale.x, 0.01f, 0.0005f);
this->actor.scale.y = this->actor.scale.z = this->actor.scale.x;
if (Math_StepToF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y + 60.0f, 5.0f)) {
@@ -230,13 +229,13 @@ void EnKarebaba_Awaken(EnKarebaba* this, GlobalContext* globalCtx) {
void EnKarebaba_Upright(EnKarebaba* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.params != 0) {
this->actor.params--;
}
- if (func_800A56C8(&this->skelAnime, 0.0f) || func_800A56C8(&this->skelAnime, 12.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 12.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKU_JR_MOUTH);
}
@@ -258,9 +257,9 @@ void EnKarebaba_Spin(EnKarebaba* this, GlobalContext* globalCtx) {
this->actor.params--;
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 0.0f) || func_800A56C8(&this->skelAnime, 12.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 12.0f)) {
if (1) {} // Here for matching purposes only.
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKU_JR_MOUTH);
@@ -346,7 +345,7 @@ void EnKarebaba_DeadItemDrop(EnKarebaba* this, GlobalContext* globalCtx) {
}
void EnKarebaba_Retract(EnKarebaba* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_StepToF(&this->actor.scale.x, 0.005f, 0.0005f);
this->actor.scale.y = this->actor.scale.z = this->actor.scale.x;
@@ -359,7 +358,7 @@ void EnKarebaba_Retract(EnKarebaba* this, GlobalContext* globalCtx) {
}
void EnKarebaba_Dead(EnKarebaba* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.params != 0) {
this->actor.params--;
@@ -458,7 +457,7 @@ void EnKarebaba_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
} else if (this->actionFunc != EnKarebaba_Dead) {
func_80026230(globalCtx, &black, 1, 2);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL);
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, NULL);
Matrix_Translate(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, MTXMODE_NEW);
if ((this->actionFunc == EnKarebaba_Regrow) || (this->actionFunc == EnKarebaba_Grow)) {
diff --git a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.h b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.h
index 932d7e3f11..45307b69ec 100644
--- a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.h
+++ b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.h
@@ -14,8 +14,8 @@ typedef struct EnKarebaba {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnKarebabaActionFunc actionFunc;
- /* 0x0194 */ Vec3s limbDrawTable[8];
- /* 0x01C4 */ Vec3s transitionDrawTable[8];
+ /* 0x0194 */ Vec3s jointTable[8];
+ /* 0x01C4 */ Vec3s morphTable[8];
/* 0x01F4 */ CollisionPoly* boundFloor;
/* 0x01F8 */ ColliderCylinder headCollider;
/* 0x0244 */ ColliderCylinder bodyCollider;
diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/src/overlays/actors/ovl_En_Kz/z_en_kz.c
index aba848764e..7b74fd218d 100644
--- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c
+++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c
@@ -304,8 +304,7 @@ void EnKz_Init(Actor* thisx, GlobalContext* globalCtx) {
EnKz* this = THIS;
s32 pad;
- SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_060086D0, NULL, &this->limbDrawTable, &this->transitionDrawTable,
- 12);
+ SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_060086D0, NULL, this->jointTable, this->morphTable, 12);
ActorShape_Init(&this->actor.shape, 0.0, NULL, 0.0);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
@@ -386,7 +385,7 @@ void EnKz_Mweep(EnKz* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0;
this->actionFunc = EnKz_StopMweep;
}
- if (this->skelanime.animCurrentFrame == 13.0f) {
+ if (this->skelanime.curFrame == 13.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_VO_KZ_MOVE);
}
}
@@ -444,7 +443,7 @@ void EnKz_Update(Actor* thisx, GlobalContext* globalCtx) {
}
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
EnKz_UpdateEyes(this);
Actor_MoveForward(&this->actor);
if (this->actionFunc != EnKz_StartTimer) {
@@ -461,7 +460,7 @@ s32 EnKz_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->z += Math_CosS(this->unk_2BE[limbIndex]) * 200.0f;
}
if (limbIndex) {}
- return 0;
+ return false;
}
void EnKz_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -485,7 +484,7 @@ void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx]));
func_800943C8(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.jointTable, this->skelanime.dListCount,
EnKz_OverrideLimbDraw, EnKz_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_kz.c", 1281);
diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.h b/src/overlays/actors/ovl_En_Kz/z_en_kz.h
index d9061da5e5..5f6b576425 100644
--- a/src/overlays/actors/ovl_En_Kz/z_en_kz.h
+++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.h
@@ -18,12 +18,12 @@ typedef struct EnKz {
/* 0x0209 */ u8 isTrading;
/* 0x020A */ s16 waypoint;
/* 0x020C */ s16 blinkTimer;
- /* 0x020E */ char unk_20E[0x2];
+ /* 0x020E */ char unk_20E[2];
/* 0x0210 */ s16 eyeIdx;
/* 0x0212 */ s16 cutsceneCamera;
/* 0x0214 */ s16 gameplayCamera;
- /* 0x0216 */ Vec3s limbDrawTable[12];
- /* 0x025E */ Vec3s transitionDrawTable[12];
+ /* 0x0216 */ Vec3s jointTable[12];
+ /* 0x025E */ Vec3s morphTable[12];
/* 0x02A6 */ s16 unk_2A6[12];
/* 0x02BE */ s16 unk_2BE[12];
} EnKz; // size = 0x02D8
diff --git a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
index 53785b4ac0..b53073c082 100644
--- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
+++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
@@ -206,10 +206,10 @@ void func_80AA0A0C(EnMa1* this) {
}
void func_80AA0A84(EnMa1* this, UNK_TYPE idx) {
- f32 frameCount = SkelAnime_GetFrameCount(D_80AA1678[idx].animation);
+ f32 frameCount = Animation_GetLastFrame(D_80AA1678[idx].animation);
- SkelAnime_ChangeAnim(&this->skelAnime, D_80AA1678[idx].animation, 1.0f, 0.0f, frameCount, D_80AA1678[idx].unk_08,
- D_80AA1678[idx].transitionRate);
+ Animation_Change(&this->skelAnime, D_80AA1678[idx].animation, 1.0f, 0.0f, frameCount, D_80AA1678[idx].unk_08,
+ D_80AA1678[idx].transitionRate);
}
void func_80AA0AF4(EnMa1* this, GlobalContext* globalCtx) {
@@ -386,7 +386,7 @@ void EnMa1_Update(Actor* thisx, GlobalContext* globalCtx) {
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
func_80AA0A0C(this);
this->actionFunc(this, globalCtx);
if (this->actionFunc != func_80AA11C8) {
@@ -416,7 +416,7 @@ s32 EnMa1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
Matrix_RotateX((-vec.y / 32768.0f) * M_PI, MTXMODE_APPLY);
Matrix_RotateZ((-vec.x / 32768.0f) * M_PI, MTXMODE_APPLY);
}
- return 0;
+ return false;
}
void EnMa1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -444,7 +444,7 @@ void EnMa1_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA16C4[this->unk_1E6]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA16D0[this->unk_1E4]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnMa1_OverrideLimbDraw, EnMa1_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ma1.c", 1261);
diff --git a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
index 1fc4ba59a9..8168c142f8 100644
--- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
+++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
@@ -185,10 +185,10 @@ void func_80AA1CC0(EnMa2* this) {
}
void func_80AA1D44(EnMa2* this, s32 idx) {
- f32 frameCount = SkelAnime_GetFrameCount(D_80AA2858[idx].animation);
+ f32 frameCount = Animation_GetLastFrame(D_80AA2858[idx].animation);
- SkelAnime_ChangeAnim(&this->skelAnime, D_80AA2858[idx].animation, 1.0f, 0.0f, frameCount, D_80AA2858[idx].unk_08,
- D_80AA2858[idx].transitionRate);
+ Animation_Change(&this->skelAnime, D_80AA2858[idx].animation, 1.0f, 0.0f, frameCount, D_80AA2858[idx].unk_08,
+ D_80AA2858[idx].transitionRate);
}
void func_80AA1DB4(EnMa2* this, GlobalContext* globalCtx) {
@@ -311,7 +311,7 @@ void EnMa2_Update(Actor* thisx, GlobalContext* globalCtx) {
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
func_80AA1CC0(this);
this->actionFunc(this, globalCtx);
func_80AA1DB4(this, globalCtx);
@@ -345,7 +345,7 @@ s32 EnMa2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->y += Math_SinS(this->unk_212[limbIndex].y) * 200.0f;
rot->z += Math_CosS(this->unk_212[limbIndex].z) * 200.0f;
}
- return 0;
+ return false;
}
void EnMa2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -380,7 +380,7 @@ void EnMa2_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA28B4[this->unk_210]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA28C0[this->unk_20E]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnMa2_OverrideLimbDraw, EnMa2_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ma2.c", 990);
diff --git a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c
index ab25ac402f..9edfd569a3 100644
--- a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c
+++ b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c
@@ -230,10 +230,10 @@ void func_80AA2F80(EnMa3* this) {
}
void func_80AA3004(EnMa3* this, s32 idx) {
- f32 frameCount = SkelAnime_GetFrameCount(D_80AA3848[idx].animation);
+ f32 frameCount = Animation_GetLastFrame(D_80AA3848[idx].animation);
- SkelAnime_ChangeAnim(&this->skelAnime, D_80AA3848[idx].animation, 1.0f, 0.0f, frameCount, D_80AA3848[idx].unk_08,
- D_80AA3848[idx].transitionRate);
+ Animation_Change(&this->skelAnime, D_80AA3848[idx].animation, 1.0f, 0.0f, frameCount, D_80AA3848[idx].unk_08,
+ D_80AA3848[idx].transitionRate);
}
void EnMa3_Init(Actor* thisx, GlobalContext* globalCtx) {
@@ -241,7 +241,7 @@ void EnMa3_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 18.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008D90, NULL, 0, 0, 0);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008D90, NULL, NULL, NULL, 0);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
func_80061EFC(&this->actor.colChkInfo, DamageTable_Get(0x16), &sColChkInfoInit);
@@ -285,7 +285,7 @@ void EnMa3_Update(Actor* thisx, GlobalContext* globalCtx) {
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
func_80AA2F80(this);
this->actionFunc(this, globalCtx);
func_80AA2E54(this, globalCtx);
@@ -325,7 +325,7 @@ s32 EnMa3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->y += Math_SinS(this->unk_212[limbIndex].y) * 200.0f;
rot->z += Math_CosS(this->unk_212[limbIndex].z) * 200.0f;
}
- return 0;
+ return false;
}
void EnMa3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -360,7 +360,7 @@ void EnMa3_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(D_80AA38A4[this->unk_210]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AA38B0[this->unk_20E]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnMa3_OverrideLimbDraw, EnMa3_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ma3.c", 1013);
diff --git a/src/overlays/actors/ovl_En_Mb/z_en_mb.c b/src/overlays/actors/ovl_En_Mb/z_en_mb.c
index f60b018a94..19ac62c1d1 100644
--- a/src/overlays/actors/ovl_En_Mb/z_en_mb.c
+++ b/src/overlays/actors/ovl_En_Mb/z_en_mb.c
@@ -133,8 +133,8 @@ void EnMb_Init(Actor* thisx, GlobalContext* globalCtx) {
switch (this->actor.params) {
case -1:
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008F38, &D_060028E0, this->limbDrawTable,
- this->transitionDrawTable, 28);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008F38, &D_060028E0, this->jointTable,
+ this->morphTable, 28);
this->actor.colChkInfo.health = 2;
this->actor.colChkInfo.mass = 0xFE;
this->unk_360 = 1000.0f;
@@ -142,8 +142,8 @@ void EnMb_Init(Actor* thisx, GlobalContext* globalCtx) {
func_80AA6830(this);
break;
case 0:
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06014190, &D_0600EBE4, this->limbDrawTable,
- this->transitionDrawTable, 28);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06014190, &D_0600EBE4, this->jointTable,
+ this->morphTable, 28);
this->actor.colChkInfo.health = 6;
this->actor.colChkInfo.mass = 0xFF;
this->actor.colChkInfo.damageTable = &sBigMoblinDamageTable;
@@ -168,8 +168,8 @@ void EnMb_Init(Actor* thisx, GlobalContext* globalCtx) {
func_80AA6898(this);
break;
default:
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008F38, &D_060028E0, this->limbDrawTable,
- this->transitionDrawTable, 28);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008F38, &D_060028E0, this->jointTable,
+ this->morphTable, 28);
Actor_SetScale(&this->actor, 0.014f);
this->path = (thisx->params & 0xFF00) >> 8;
this->actor.params = 1;
@@ -291,7 +291,7 @@ void func_80AA66A0(EnMb* this, GlobalContext* globalCtx) {
}
void func_80AA6830(EnMb* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_060041A8, -4.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_060041A8, -4.0f);
this->actor.speedXZ = 0.0f;
this->unk_32A = Rand_S16Offset(30, 50);
this->unk_320 = 6;
@@ -299,7 +299,7 @@ void func_80AA6830(EnMb* this) {
}
void func_80AA6898(EnMb* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_0600EBE4);
+ Animation_PlayLoop(&this->skelAnime, &D_0600EBE4);
this->actor.speedXZ = 0.0f;
this->unk_32A = Rand_S16Offset(30, 50);
this->unk_320 = 6;
@@ -307,7 +307,7 @@ void func_80AA6898(EnMb* this) {
}
void func_80AA68FC(EnMb* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_060041A8, -4.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_060041A8, -4.0f);
this->actor.speedXZ = 0.0f;
this->unk_32A = Rand_S16Offset(40, 80);
this->unk_320 = 6;
@@ -316,7 +316,7 @@ void func_80AA68FC(EnMb* this, GlobalContext* globalCtx) {
}
void func_80AA6974(EnMb* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06009FC0, 0.0f, 0.0f, SkelAnime_GetFrameCount(&D_06009FC0), 0, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06009FC0, 0.0f, 0.0f, Animation_GetLastFrame(&D_06009FC0), 0, -4.0f);
this->actor.speedXZ = 0.59999996f;
this->unk_32A = Rand_S16Offset(50, 70);
this->unk_332 = 1;
@@ -327,20 +327,20 @@ void func_80AA6974(EnMb* this) {
void func_80AA6A18(EnMb* this) {
f32 frameCount;
- frameCount = SkelAnime_GetFrameCount(&D_06009FC0);
+ frameCount = Animation_GetLastFrame(&D_06009FC0);
this->actor.speedXZ = 0.59999996f;
this->unk_32A = Rand_S16Offset(50, 70);
this->unk_332 = 1;
this->unk_320 = 9;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06009FC0, 0.0f, 0.0f, frameCount, 1, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06009FC0, 0.0f, 0.0f, frameCount, 1, -4.0f);
EnMb_SetupAction(this, func_80AA8AEC);
}
void func_80AA6AC8(EnMb* this) {
f32 frameCount;
- frameCount = SkelAnime_GetFrameCount(&D_06002C10);
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06002C10, -4.0f);
+ frameCount = Animation_GetLastFrame(&D_06002C10);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06002C10, -4.0f);
this->unk_320 = 10;
this->actor.speedXZ = 0.0f;
this->unk_32E = (s16)frameCount + 6;
@@ -353,7 +353,7 @@ void func_80AA6AC8(EnMb* this) {
}
void func_80AA6B80(EnMb* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06002F10);
+ Animation_PlayLoop(&this->skelAnime, &D_06002F10);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_ATTACK);
this->attackParams = 1;
this->unk_320 = 10;
@@ -367,9 +367,9 @@ void func_80AA6BF0(EnMb* this) {
s16 yawDiff;
s32 yawDiffABS;
- frames = SkelAnime_GetFrameCount(&D_0600B4BC);
+ frames = Animation_GetLastFrame(&D_0600B4BC);
this->unk_320 = 10;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600B4BC, 3.0f, 0.0f, frames, 3, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600B4BC, 3.0f, 0.0f, frames, 3, 0.0f);
this->unk_32E = 1;
yawDiff = (this->actor.posRot.rot.y - this->actor.yawTowardsLink);
@@ -391,7 +391,7 @@ void func_80AA6BF0(EnMb* this) {
}
void func_80AA6CC0(EnMb* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06009280);
+ Animation_PlayOnce(&this->skelAnime, &D_06009280);
this->unk_320 = 11;
this->unk_32A = 0;
this->unk_32E = 5;
@@ -400,7 +400,7 @@ void func_80AA6CC0(EnMb* this) {
}
void func_80AA6D20(EnMb* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06009280);
+ Animation_PlayOnce(&this->skelAnime, &D_06009280);
this->unk_320 = 0xB;
this->actor.bgCheckFlags &= ~1;
this->unk_32A = 0;
@@ -414,14 +414,14 @@ void func_80AA6D20(EnMb* this) {
void func_80AA6DA4(EnMb* this) {
f32 frameCount;
- frameCount = SkelAnime_GetFrameCount(&D_0600EBE4);
+ frameCount = Animation_GetLastFrame(&D_0600EBE4);
this->unk_320 = 11;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600EBE4, 5.0f, 0.0f, frameCount, 3, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600EBE4, 5.0f, 0.0f, frameCount, 3, 0.0f);
EnMb_SetupAction(this, func_80AA7478);
}
void func_80AA6E1C(EnMb* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600C44C);
+ Animation_PlayOnce(&this->skelAnime, &D_0600C44C);
this->unk_320 = 3;
this->unk_32A = 0;
this->unk_32E = 20;
@@ -432,16 +432,16 @@ void func_80AA6E1C(EnMb* this) {
void func_80AA6E7C(EnMb* this) {
f32 frames;
- frames = SkelAnime_GetFrameCount(&D_0600D5D4);
+ frames = Animation_GetLastFrame(&D_0600D5D4);
this->unk_320 = 2;
this->unk_32A = 0;
this->unk_32E = 6;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600D5D4, 1.0f, 4.0f, frames, 3, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600D5D4, 1.0f, 4.0f, frames, 3, 0.0f);
EnMb_SetupAction(this, func_80AA840C);
}
void func_80AA6F04(EnMb* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_0600BE58, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_0600BE58, -4.0f);
this->unk_320 = 1;
this->actor.flags &= ~1;
this->collider1.dim.height = 80;
@@ -460,7 +460,7 @@ void func_80AA6F8C(EnMb* this) {
this->unk_328 = 40;
} else {
if (this->actor.params != 0) {
- SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, &D_06001950, 0.0f);
+ Animation_PlayOnceSetSpeed(&this->skelAnime, &D_06001950, 0.0f);
}
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
}
@@ -497,7 +497,7 @@ void func_80AA702C(EnMb* this, GlobalContext* globalCtx) {
void func_80AA7134(EnMb* this, GlobalContext* globalCtx) {
s16 phi_v0;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_32A == 0) {
phi_v0 = 0;
} else {
@@ -505,7 +505,7 @@ void func_80AA7134(EnMb* this, GlobalContext* globalCtx) {
phi_v0 = this->unk_32A;
}
if (phi_v0 == 0) {
- if (func_800A56C8(&this->skelAnime, 0.0f) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) != 0) {
func_80AA6974(this);
}
}
@@ -517,7 +517,7 @@ void func_80AA71AC(EnMb* this, GlobalContext* globalCtx) {
f32 yDistAbs;
s32 yawDiffAbs;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_32A == 0) {
this->unk_330 = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->waypointPos);
if (Math_SmoothStepToS(&this->actor.shape.rot.y, this->unk_330, 1, 0x3E8, 0) == 0) {
@@ -548,12 +548,12 @@ void func_80AA7310(EnMb* this, GlobalContext* globalCtx) {
if (this->actor.speedXZ > 1.0f) {
func_80033260(globalCtx, &this->actor, &this->actor.posRot.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->unk_32A == 0) {
this->unk_32E--;
if (this->unk_32E == 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06002C10, -1.0f, SkelAnime_GetFrameCount(&D_06002C10), 0.0f,
- 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06002C10, -1.0f, Animation_GetLastFrame(&D_06002C10), 0.0f, 2,
+ 0.0f);
this->unk_32A = 1;
this->actor.speedXZ = 0.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_SPEAR_NORM);
@@ -571,14 +571,14 @@ void func_80AA7310(EnMb* this, GlobalContext* globalCtx) {
void func_80AA7478(EnMb* this, GlobalContext* globalCtx) {
this->attackParams = 0;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
func_80AA6898(this);
}
}
void func_80AA74BC(EnMb* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- f32 lastFrame;
+ f32 endFrame;
s16 yawDiff;
if ((player->stateFlags2 & 0x80) && (&this->actor == player->actor.parent)) {
@@ -601,8 +601,8 @@ void func_80AA74BC(EnMb* this, GlobalContext* globalCtx) {
(ABS(yawDiff) <= 0x4000) && (this->actor.xzDistFromLink <= 200.0f)) {
func_80AA6AC8(this);
} else {
- lastFrame = SkelAnime_GetFrameCount(&D_06002C10);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06002C10, -1.0f, lastFrame, 0.0f, 2, 0.0f);
+ endFrame = Animation_GetLastFrame(&D_06002C10);
+ Animation_Change(&this->skelAnime, &D_06002C10, -1.0f, endFrame, 0.0f, 2, 0.0f);
this->actor.speedXZ = 0.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_SPEAR_NORM);
}
@@ -613,13 +613,13 @@ void func_80AA74BC(EnMb* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 0.0f;
}
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->unk_32A == 0) {
- lastFrame = SkelAnime_GetFrameCount(&D_06002F10);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06002F10, 0.5f, 0.0f, lastFrame, 1, 0.0f);
+ endFrame = Animation_GetLastFrame(&D_06002F10);
+ Animation_Change(&this->skelAnime, &D_06002F10, 0.5f, 0.0f, endFrame, 1, 0.0f);
this->unk_32A = 1;
} else {
- yawDiff = (Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->waypointPos) - this->actor.yawTowardsLink);
+ yawDiff = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->waypointPos) - this->actor.yawTowardsLink;
if (ABS(yawDiff) <= 0x4000) {
func_80AA68FC(this, globalCtx);
@@ -641,10 +641,10 @@ void func_80AA77D0(EnMb* this, GlobalContext* globalCtx) {
yawDiff = -yawDiff;
}
- currentFrame = this->skelAnime.animCurrentFrame;
+ currentFrame = this->skelAnime.curFrame;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06002F10);
+ if (SkelAnime_Update(&this->skelAnime)) {
+ Animation_PlayLoop(&this->skelAnime, &D_06002F10);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_ATTACK);
}
@@ -655,8 +655,8 @@ void func_80AA77D0(EnMb* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 10.0f;
this->attackParams = 1;
func_80033260(globalCtx, &this->actor, &this->actor.posRot.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
- if ((currentFrame != (s32)this->skelAnime.animCurrentFrame) &&
- (((s32)this->skelAnime.animCurrentFrame == 2) || ((s32)this->skelAnime.animCurrentFrame == 6))) {
+ if ((currentFrame != (s32)this->skelAnime.curFrame) &&
+ (((s32)this->skelAnime.curFrame == 2) || ((s32)this->skelAnime.curFrame == 6))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_DASH);
}
}
@@ -698,12 +698,12 @@ void func_80AA7938(EnMb* this, GlobalContext* globalCtx) {
player->invincibilityTimer = oldInvincibilityTimer;
}
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->unk_32E != 0) {
this->unk_32E--;
if (this->unk_32E == 0) {
- f32 pad1 = SkelAnime_GetFrameCount(&D_0600ABE0);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600ABE0, 1.5f, 0.0f, pad1, 3, 0.0f);
+ f32 pad1 = Animation_GetLastFrame(&D_0600ABE0);
+ Animation_Change(&this->skelAnime, &D_0600ABE0, 1.5f, 0.0f, pad1, 3, 0.0f);
}
} else {
sp74 = this->effSpawnPos;
@@ -717,10 +717,10 @@ void func_80AA7938(EnMb* this, GlobalContext* globalCtx) {
func_80AA6DA4(this);
}
} else {
- if ((this->unk_32E != 0) && (this->skelAnime.animCurrentFrame == 6.0f)) {
+ if ((this->unk_32E != 0) && (this->skelAnime.curFrame == 6.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MONBLIN_HAM_UP);
- } else if ((this->unk_32E == 0) && (this->skelAnime.animCurrentFrame == 3.0f)) {
+ } else if ((this->unk_32E == 0) && (this->skelAnime.curFrame == 3.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MONBLIN_HAM_DOWN);
}
}
@@ -735,9 +735,9 @@ void func_80AA7CAC(EnMb* this, GlobalContext* globalCtx) {
player = PLAYER;
sp4C = 0;
sp48 = !func_800339B8(&this->actor, globalCtx, 110.0f, this->actor.posRot.rot.y);
- currentFrame = (s32)this->skelAnime.animCurrentFrame;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06002F10);
+ currentFrame = (s32)this->skelAnime.curFrame;
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
+ Animation_PlayLoop(&this->skelAnime, &D_06002F10);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_ATTACK);
}
if (this->unk_32E != 0) {
@@ -748,8 +748,8 @@ void func_80AA7CAC(EnMb* this, GlobalContext* globalCtx) {
this->actor.speedXZ = 10.0f;
this->attackParams = 1;
func_80033260(globalCtx, &this->actor, &this->actor.posRot.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
- if (currentFrame != (s32)this->skelAnime.animCurrentFrame) {
- if (((s32)this->skelAnime.animCurrentFrame == 2 || (s32)this->skelAnime.animCurrentFrame == 6)) {
+ if (currentFrame != (s32)this->skelAnime.curFrame) {
+ if (((s32)this->skelAnime.curFrame == 2 || (s32)this->skelAnime.curFrame == 6)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_DASH);
}
}
@@ -812,11 +812,11 @@ void func_80AA800C(EnMb* this, GlobalContext* globalCtx) {
player = PLAYER;
sp54 = 0;
sp50 = !func_800339B8(&this->actor, globalCtx, 110.0f, this->actor.posRot.rot.y);
- currentFrame = (s32)this->skelAnime.animCurrentFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ currentFrame = (s32)this->skelAnime.curFrame;
+ SkelAnime_Update(&this->skelAnime);
func_80033260(globalCtx, &this->actor, &this->actor.posRot.pos, 5.0f, 3, 4.0f, 0x64, 0xF, 0);
- if (currentFrame != (s32)this->skelAnime.animCurrentFrame) {
- if (((s32)this->skelAnime.animCurrentFrame == 2) || ((s32)this->skelAnime.animCurrentFrame == 6)) {
+ if (currentFrame != (s32)this->skelAnime.curFrame) {
+ if (((s32)this->skelAnime.curFrame == 2) || ((s32)this->skelAnime.curFrame == 6)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_DASH);
}
}
@@ -880,9 +880,9 @@ void func_80AA800C(EnMb* this, GlobalContext* globalCtx) {
}
void func_80AA8378(EnMb* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->unk_32E != 0) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600E18C);
+ Animation_PlayOnce(&this->skelAnime, &D_0600E18C);
this->unk_32E = 0;
func_800AA000(this->actor.xzDistFromLink, 0xFF, 0x14, 0x96);
Camera_AddQuake(&globalCtx->mainCamera, 2, 25, 5);
@@ -895,18 +895,18 @@ void func_80AA8378(EnMb* this, GlobalContext* globalCtx) {
void func_80AA840C(EnMb* this, GlobalContext* globalCtx) {
s32 pad;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->unk_32E != 0) {
this->unk_32E--;
if (this->unk_32E == 0) {
if (this->unk_32A == 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600E18C, 3.0f, 0.0f,
- SkelAnime_GetFrameCount(&D_0600E18C), 3, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600E18C, 3.0f, 0.0f, Animation_GetLastFrame(&D_0600E18C), 3,
+ 0.0f);
this->unk_32A = 1;
this->unk_32E = 6;
} else {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600E18C, 3.0f, 0.0f,
- SkelAnime_GetFrameCount(&D_0600E18C), 3, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600E18C, 3.0f, 0.0f, Animation_GetLastFrame(&D_0600E18C), 3,
+ 0.0f);
}
}
} else {
@@ -927,7 +927,7 @@ void func_80AA8514(EnMb* this, GlobalContext* globalCtx) {
effPosition.z += Math_CosS(this->actor.shape.rot.y) * -70.0f;
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 1.0f, 0.5f, 0.0f);
temp = effPosition;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->unk_32A > 0) {
effZeroVector = D_80AA9D78;
this->unk_32A--;
@@ -942,7 +942,7 @@ void func_80AA8514(EnMb* this, GlobalContext* globalCtx) {
Item_DropCollectibleRandom(globalCtx, &this->actor, &effPosition, 0xC0);
Actor_Kill(&this->actor);
}
- } else if (((s32)this->skelAnime.animCurrentFrame == 15) || ((s32)this->skelAnime.animCurrentFrame == 22)) {
+ } else if (((s32)this->skelAnime.curFrame == 15) || ((s32)this->skelAnime.curFrame == 22)) {
func_800AA000(this->actor.xzDistFromLink, 0xFF, 0x14, 0x96);
func_80033260(globalCtx, &this->actor, &effPosition, 50.0f, 0xA, 3.0f, 0x190, 0x3C, 0);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
@@ -958,34 +958,31 @@ void func_80AA87D8(EnMb* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s16 yawDiff;
s16 yaw;
- f32 playbackSpeedABS;
+ f32 playSpeedABS;
- yawDiff = (this->actor.yawTowardsLink - this->actor.shape.rot.y);
+ yawDiff = this->actor.yawTowardsLink - this->actor.shape.rot.y;
yawDiff = ABS(yawDiff);
Math_SmoothStepToF(&this->actor.speedXZ, 0.59999996f, 0.1f, 1.0f, 0.0f);
- this->skelAnime.animPlaybackSpeed = this->actor.speedXZ;
- currentFrame = this->skelAnime.animCurrentFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- playbackSpeedABS = ABS(this->skelAnime.animPlaybackSpeed);
+ this->skelAnime.playSpeed = this->actor.speedXZ;
+ currentFrame = this->skelAnime.curFrame;
+ SkelAnime_Update(&this->skelAnime);
+ playSpeedABS = ABS(this->skelAnime.playSpeed);
- sp48 = (this->skelAnime.animCurrentFrame - playbackSpeedABS);
- playbackSpeedABS = ABS(this->skelAnime.animPlaybackSpeed);
+ sp48 = this->skelAnime.curFrame - playSpeedABS;
+ playSpeedABS = ABS(this->skelAnime.playSpeed);
if ((this->unk_32E == 0) &&
(Math_Vec3f_DistXZ(&this->actor.initPosRot.pos, &player->actor.posRot.pos) < this->unk_364)) {
Math_SmoothStepToS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink, 1, 750, 0);
this->actor.flags |= 1;
- if (this->actor.xzDistFromLink < 500.0f) {
- if (yawDiff < 0x1388) {
- func_80AA6AC8(this);
- }
+ if ((this->actor.xzDistFromLink < 500.0f) && (yawDiff <= 0x1387)) {
+ func_80AA6AC8(this);
}
} else {
this->actor.flags &= ~1;
if ((this->unk_360 < Math_Vec3f_DistXZ(&this->actor.posRot.pos, &this->actor.initPosRot.pos)) ||
(this->soundTimer != 0)) {
- yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot);
+ yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos);
Math_SmoothStepToS(&this->actor.posRot.rot.y, yaw, 1, 750, 0);
- } else {
}
if (this->soundTimer != 0) {
this->soundTimer--;
@@ -1006,9 +1003,10 @@ void func_80AA87D8(EnMb* this, GlobalContext* globalCtx) {
}
}
}
- if (currentFrame != (s32)this->skelAnime.animCurrentFrame) {
- if (((sp48 <= 1) && ((s32)playbackSpeedABS + currentFrame >= 1)) ||
- ((sp48 <= 20) && (((s32)playbackSpeedABS + currentFrame >= 20)))) {
+
+ if (currentFrame != (s32)this->skelAnime.curFrame) {
+ if (((sp48 <= 1) && (currentFrame + (s32)playSpeedABS >= 1)) ||
+ ((sp48 <= 20) && (currentFrame + (s32)playSpeedABS >= 20))) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_WALK);
}
}
@@ -1021,14 +1019,14 @@ void func_80AA8AEC(EnMb* this, GlobalContext* globalCtx) {
s16 yawDiff;
f32 yDistAbs;
s32 yawDiffAbs;
- f32 playbackSpeedABS;
+ f32 playSpeedABS;
if (Math_Vec3f_DistXZ(&this->waypointPos, &this->actor.posRot.pos) <= 8.0f ||
Rand_ZeroOne() < 0.1f && Math_Vec3f_DistXZ(&this->actor.initPosRot.pos, &this->actor.posRot.pos) <= 4.0f) {
func_80AA68FC(this, globalCtx);
} else {
Math_SmoothStepToF(&this->actor.speedXZ, 0.59999996f, 0.1f, 1.0f, 0.0f);
- this->skelAnime.animPlaybackSpeed = (this->actor.speedXZ + this->actor.speedXZ);
+ this->skelAnime.playSpeed = (this->actor.speedXZ + this->actor.speedXZ);
}
this->unk_330 = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->waypointPos);
Math_SmoothStepToS(&this->actor.posRot.rot.y, this->unk_330, 1, 0x5DC, 0);
@@ -1053,16 +1051,14 @@ void func_80AA8AEC(EnMb* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_VOICE);
this->soundTimer = Rand_S16Offset(30, 70);
}
- currentFrame = this->skelAnime.animCurrentFrame;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- playbackSpeedABS = (this->skelAnime.animPlaybackSpeed >= 0.0f) ? this->skelAnime.animPlaybackSpeed
- : -this->skelAnime.animPlaybackSpeed;
- temp_f6 = this->skelAnime.animCurrentFrame - playbackSpeedABS;
- playbackSpeedABS = (this->skelAnime.animPlaybackSpeed >= 0.0f) ? this->skelAnime.animPlaybackSpeed
- : -this->skelAnime.animPlaybackSpeed;
- if (currentFrame != (s32)this->skelAnime.animCurrentFrame) {
- if (!(temp_f6 >= 2 || (s32)playbackSpeedABS + currentFrame <= 0) ||
- temp_f6 <= 20 && (s32)playbackSpeedABS + currentFrame >= 20) {
+ currentFrame = this->skelAnime.curFrame;
+ SkelAnime_Update(&this->skelAnime);
+ playSpeedABS = (this->skelAnime.playSpeed >= 0.0f) ? this->skelAnime.playSpeed : -this->skelAnime.playSpeed;
+ temp_f6 = this->skelAnime.curFrame - playSpeedABS;
+ playSpeedABS = (this->skelAnime.playSpeed >= 0.0f) ? this->skelAnime.playSpeed : -this->skelAnime.playSpeed;
+ if (currentFrame != (s32)this->skelAnime.curFrame) {
+ if (!(temp_f6 >= 2 || (s32)playSpeedABS + currentFrame <= 0) ||
+ temp_f6 <= 20 && (s32)playSpeedABS + currentFrame >= 20) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_WALK);
}
}
@@ -1076,7 +1072,7 @@ void func_80AA8DD8(EnMb* this, GlobalContext* globalCtx) {
s32 yawDiffAbs;
yawDiff = (this->actor.posRot.rot.y - this->actor.yawTowardsLink);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (Math_Vec3f_DistXZ(&this->actor.initPosRot.pos, &player->actor.posRot.pos) < this->unk_364) {
if (!(player->stateFlags1 & 0x4000000)) {
yawDiffAbs = ABS(yawDiff);
@@ -1094,10 +1090,10 @@ void func_80AA8E88(EnMb* this) {
yawDiff = this->actor.yawTowardsLink - this->actor.shape.rot.y;
yawDiffABS = ABS(yawDiff);
if (yawDiffABS <= 0x4000) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06001950, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06001950, -4.0f);
this->actor.speedXZ = -8.0f;
} else {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_0600095C, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_0600095C, -4.0f);
this->actor.speedXZ = 8.0f;
}
this->unk_32A = 30;
@@ -1109,7 +1105,7 @@ void func_80AA8E88(EnMb* this) {
void func_80AA8F50(EnMb* this, GlobalContext* globalCtx) {
Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 1.0f, 0.5f, 0.0f);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->actor.params < 0) {
func_80AA6830(this);
} else {
@@ -1125,10 +1121,10 @@ void func_80AA8FC8(EnMb* this) {
yawDiff = this->actor.yawTowardsLink - this->actor.shape.rot.y;
yawDiffAbs = ABS(yawDiff);
if (yawDiffAbs <= 0x4000) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060016B4, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060016B4, -4.0f);
this->actor.speedXZ = -8.0f;
} else {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060016B4, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060016B4, -4.0f);
this->actor.speedXZ = 8.0f;
}
this->actor.posRot.rot.y = this->actor.shape.rot.y;
@@ -1152,7 +1148,7 @@ void func_80AA90A0(EnMb* this, GlobalContext* globalCtx) {
this->attackParams = 0;
}
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->unk_32A > 0) {
Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
s32 i;
@@ -1371,7 +1367,7 @@ void EnMb_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnMb* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, EnMb_PostLimbDraw, thisx);
if (thisx->params != 0) {
if (this->attackParams > 0) {
diff --git a/src/overlays/actors/ovl_En_Mb/z_en_mb.h b/src/overlays/actors/ovl_En_Mb/z_en_mb.h
index 70c6ca92df..9f3e39416f 100644
--- a/src/overlays/actors/ovl_En_Mb/z_en_mb.h
+++ b/src/overlays/actors/ovl_En_Mb/z_en_mb.h
@@ -13,8 +13,8 @@ typedef struct EnMb {
/* 0x014C */ Vec3s bodyPartsPos[10];
/* 0x0188 */ u8 unk_188;
/* 0x018C */ SkelAnime skelAnime;
- /* 0x01D0 */ Vec3s limbDrawTable[28];
- /* 0x0278 */ Vec3s transitionDrawTable[28];
+ /* 0x01D0 */ Vec3s jointTable[28];
+ /* 0x0278 */ Vec3s morphTable[28];
/* 0x0320 */ s32 unk_320;
/* 0x0324 */ EnMbActionFunc actionFunc;
/* 0x0328 */ s16 unk_328;
diff --git a/src/overlays/actors/ovl_En_Md/z_en_md.c b/src/overlays/actors/ovl_En_Md/z_en_md.c
index fd2a2318d2..d9dab56a85 100644
--- a/src/overlays/actors/ovl_En_Md/z_en_md.c
+++ b/src/overlays/actors/ovl_En_Md/z_en_md.c
@@ -58,13 +58,13 @@ extern AnimationHeader D_060002C8;
extern FlexSkeletonHeader D_06007FB8;
void func_80AAA250(EnMd* this) {
- f32 initialFrame;
+ f32 startFrame;
- initialFrame = this->skelAnime.initialFrame;
- this->skelAnime.initialFrame = this->skelAnime.animFrameCount;
- this->skelAnime.animCurrentFrame = this->skelAnime.animFrameCount;
- this->skelAnime.animFrameCount = initialFrame;
- this->skelAnime.animPlaybackSpeed = -1.0f;
+ startFrame = this->skelAnime.startFrame;
+ this->skelAnime.startFrame = this->skelAnime.endFrame;
+ this->skelAnime.curFrame = this->skelAnime.endFrame;
+ this->skelAnime.endFrame = startFrame;
+ this->skelAnime.playSpeed = -1.0f;
}
void func_80AAA274(EnMd* this) {
@@ -73,7 +73,7 @@ void func_80AAA274(EnMd* this) {
func_80034EC0(&this->skelAnime, sAnimations, 2);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 3);
this->unk_20A++;
}
@@ -86,7 +86,7 @@ void func_80AAA308(EnMd* this) {
func_80034EC0(&this->skelAnime, sAnimations, 4);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 5);
this->unk_20A++;
}
@@ -100,14 +100,14 @@ void func_80AAA39C(EnMd* this) {
func_80AAA250(this);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 7);
this->unk_20A++;
} else {
break;
}
case 2:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 8);
this->unk_20A++;
}
@@ -120,7 +120,7 @@ void func_80AAA474(EnMd* this) {
func_80034EC0(&this->skelAnime, sAnimations, 7);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 10);
this->unk_20A++;
}
@@ -134,7 +134,7 @@ void func_80AAA508(EnMd* this) {
func_80AAA250(this);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 10);
this->unk_20A++;
}
@@ -147,7 +147,7 @@ void func_80AAA5A4(EnMd* this) {
func_80034EC0(&this->skelAnime, sAnimations, 9);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 6);
this->unk_20A++;
}
@@ -161,7 +161,7 @@ void func_80AAA638(EnMd* this) {
func_80AAA250(this);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 10);
this->unk_20A++;
}
@@ -174,7 +174,7 @@ void func_80AAA6D4(EnMd* this) {
func_80034EC0(&this->skelAnime, sAnimations, 11);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 6);
this->unk_20A++;
}
@@ -187,7 +187,7 @@ void func_80AAA768(EnMd* this) {
func_80034EC0(&this->skelAnime, sAnimations, 12);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 3);
this->unk_20A++;
}
@@ -200,7 +200,7 @@ void func_80AAA7FC(EnMd* this) {
func_80034EC0(&this->skelAnime, sAnimations, 13);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 6);
this->unk_20A++;
}
@@ -214,7 +214,7 @@ void func_80AAA890(EnMd* this) {
func_80AAA250(this);
this->unk_20A++;
case 1:
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount)) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
func_80034EC0(&this->skelAnime, sAnimations, 10);
this->unk_20A++;
}
@@ -593,8 +593,7 @@ void EnMd_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 24.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007FB8, NULL, this->limbDrawTable, this->transitionDrawTable,
- 17);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007FB8, NULL, this->jointTable, this->morphTable, 17);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
@@ -670,7 +669,7 @@ void func_80AAB948(EnMd* this, GlobalContext* globalCtx) {
this->actor.posRot.pos.z += 60.0f * Math_CosS(yaw);
temp = fabsf((f32)this->actor.yawTowardsLink - yaw) * 0.001f * 3.0f;
- this->skelAnime.animPlaybackSpeed = CLAMP(temp, 1.0f, 3.0f);
+ this->skelAnime.playSpeed = CLAMP(temp, 1.0f, 3.0f);
}
if (this->unk_1E0.unk_00 == 2) {
@@ -751,7 +750,7 @@ void func_80AABD0C(EnMd* this, GlobalContext* globalCtx) {
func_80AAA92C(this, 11);
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ this->skelAnime.playSpeed = 0.0f;
this->actor.speedXZ = 0.0f;
this->actor.initPosRot.pos = this->actor.posRot.pos;
this->actionFunc = func_80AAB8F8;
@@ -763,7 +762,7 @@ void EnMd_Update(Actor* thisx, GlobalContext* globalCtx) {
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
EnMd_UpdateEyes(this);
func_80AAB5A4(this, globalCtx);
Actor_MoveForward(&this->actor);
@@ -795,7 +794,7 @@ s32 EnMd_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->z += Math_CosS(this->unk_236[limbIndex]) * 200.0f;
}
- return 0;
+ return false;
}
void EnMd_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
diff --git a/src/overlays/actors/ovl_En_Md/z_en_md.h b/src/overlays/actors/ovl_En_Md/z_en_md.h
index cb2c19c756..0f89735171 100644
--- a/src/overlays/actors/ovl_En_Md/z_en_md.h
+++ b/src/overlays/actors/ovl_En_Md/z_en_md.h
@@ -24,8 +24,8 @@ typedef struct EnMd {
/* 0x0212 */ s16 waypoint;
/* 0x0214 */ s16 unk_214[17];
/* 0x0236 */ s16 unk_236[17];
- /* 0x0258 */ Vec3s limbDrawTable[17];
- /* 0x02BE */ Vec3s transitionDrawTable[17];
+ /* 0x0258 */ Vec3s jointTable[17];
+ /* 0x02BE */ Vec3s morphTable[17];
} EnMd; // size = 0x0324
extern const ActorInit En_Md_InitVars;
diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/src/overlays/actors/ovl_En_Ms/z_en_ms.c
index 78179a0633..a37e049625 100644
--- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c
+++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c
@@ -75,8 +75,7 @@ void EnMs_Init(Actor* thisx, GlobalContext* globalCtx) {
return;
}
Actor_ProcessInitChain(&this->actor, sInitChain);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DC0, &D_060005EC, &this->unkSkelAnimeStruct, &this->unk_1C6,
- 9);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DC0, &D_060005EC, this->jointTable, this->morphTable, 9);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder_Set3(globalCtx, &this->collider, this, &sCylinderInit);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 35.0f);
@@ -167,7 +166,7 @@ void EnMs_Update(Actor* thisx, GlobalContext* globalCtx) {
Actor_SetHeight(&this->actor, 20.0f);
this->actor.unk_4C = 500.0f;
Actor_SetScale(&this->actor, 0.015f);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->actionFunc(this, globalCtx);
if (gSaveContext.entranceIndex == 0x157 && gSaveContext.sceneSetupIndex == 8) { // ride carpet if in credits
@@ -183,6 +182,6 @@ void EnMs_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnMs* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, NULL, this);
}
diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.h b/src/overlays/actors/ovl_En_Ms/z_en_ms.h
index 2bdb12e7ff..16d586611f 100644
--- a/src/overlays/actors/ovl_En_Ms/z_en_ms.h
+++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.h
@@ -11,10 +11,8 @@ typedef void (*EnMsActionFunc)(struct EnMs*, GlobalContext*);
typedef struct EnMs {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ UNK_PTR unkSkelAnimeStruct;
- /* 0x0194 */ char unk_194[0x32];
- /* 0x01C6 */ s16 unk_1C6;
- /* 0x01C8 */ char unk_1C8[0x34];
+ /* 0x0190 */ Vec3s jointTable[9];
+ /* 0x01C6 */ Vec3s morphTable[9];
/* 0x01FC */ EnMsActionFunc actionFunc;
/* 0x0200 */ ColliderCylinder collider;
/* 0x024C */ s16 activeTimer;
diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.c b/src/overlays/actors/ovl_En_Nb/z_en_nb.c
index f4ab02ae26..0960d2b195 100644
--- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c
+++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c
@@ -232,7 +232,7 @@ void func_80AB1284(EnNb* this, GlobalContext* globalCtx) {
}
s32 EnNb_FrameUpdateMatrix(EnNb* this) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
CsCmdActorAction* EnNb_GetNpcCsAction(GlobalContext* globalCtx, s32 npcActionIdx) {
@@ -290,7 +290,7 @@ void EnNb_SetInitialCsPosRot(EnNb* this, GlobalContext* globalCtx, s32 npcAction
}
void EnNb_SetCurrentAnim(EnNb* this, AnimationHeader* animation, u8 mode, f32 transitionRate, s32 arg4) {
- f32 frameCount = SkelAnime_GetFrameCount(animation);
+ f32 frameCount = Animation_GetLastFrame(animation);
f32 playbackSpeed;
f32 unk0;
f32 fc;
@@ -305,7 +305,7 @@ void EnNb_SetCurrentAnim(EnNb* this, AnimationHeader* animation, u8 mode, f32 tr
playbackSpeed = -1.0f;
}
- SkelAnime_ChangeAnim(&this->skelAnime, animation, playbackSpeed, unk0, fc, mode, transitionRate);
+ Animation_Change(&this->skelAnime, animation, playbackSpeed, unk0, fc, mode, transitionRate);
}
void EnNb_SetChamberAnim(EnNb* this, GlobalContext* globalCtx) {
@@ -378,7 +378,7 @@ void EnNb_SetupArmRaise(EnNb* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
csCmdNPCAction = globalCtx->csCtx.npcActions[1];
if (csCmdNPCAction != NULL && csCmdNPCAction->action == 3) {
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 2, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 2, 0.0f);
this->action = NB_CHAMBER_RAISE_ARM;
}
}
@@ -388,7 +388,7 @@ void EnNb_SetupRaisedArmTransition(EnNb* this, s32 animFinished) {
AnimationHeader* animation = &D_06002B4C;
if (animFinished) {
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 0, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 0, 0.0f);
this->action = NB_CHAMBER_RAISE_ARM_TRANSITION;
}
}
@@ -557,7 +557,7 @@ void EnNb_DrawTransparency(EnNb* this, GlobalContext* globalCtx) {
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(addr));
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, &D_80116280[0]);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
NULL, NULL, NULL, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_nb_inKenjyanomaDemo02.c", 290);
@@ -615,14 +615,14 @@ void EnNb_SetRaisedArmCaptureAnim(EnNb* this, s32 animFinished) {
AnimationHeader* animation = &D_06001350;
if (animFinished) {
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 0, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 0, 0.0f);
}
}
void EnNb_SetupLookAroundInKidnap(EnNb* this) {
AnimationHeader* animation = &D_06001E7C;
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 0, -8.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 0, -8.0f);
this->action = NB_KIDNAPPED_LOOK_AROUND;
this->drawMode = NB_DRAW_DEFAULT;
}
@@ -630,7 +630,7 @@ void EnNb_SetupLookAroundInKidnap(EnNb* this) {
void EnNb_SetupKidnap(EnNb* this) {
AnimationHeader* animation = &D_06001104;
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 2, -8.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 2, -8.0f);
this->action = NB_PORTAL_FALLTHROUGH;
this->drawMode = NB_DRAW_DEFAULT;
}
@@ -711,7 +711,7 @@ void EnNb_PlayKneelingOnGroundSFX(EnNb* this) {
s32 pad[2];
if ((this->skelAnime.mode == 2) &&
- (func_800A56C8(&this->skelAnime, 18.0f) || func_800A56C8(&this->skelAnime, 25.0f))) {
+ (Animation_OnFrame(&this->skelAnime, 18.0f) || Animation_OnFrame(&this->skelAnime, 25.0f))) {
func_80078914(&this->actor.projectedPos, NA_SE_EV_HUMAN_BOUND);
}
}
@@ -719,7 +719,7 @@ void EnNb_PlayKneelingOnGroundSFX(EnNb* this) {
void EnNb_PlayLookRightSFX(EnNb* this) {
s32 pad[2];
- if ((this->skelAnime.mode == 2) && func_800A56C8(&this->skelAnime, 9.0f)) {
+ if ((this->skelAnime.mode == 2) && Animation_OnFrame(&this->skelAnime, 9.0f)) {
func_80078914(&this->actor.projectedPos, NA_SE_PL_WALK_CONCRETE);
}
}
@@ -727,7 +727,7 @@ void EnNb_PlayLookRightSFX(EnNb* this) {
void EnNb_PlayLookLeftSFX(EnNb* this) {
s32 pad[2];
- if (func_800A56C8(&this->skelAnime, 9.0f) || func_800A56C8(&this->skelAnime, 13.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 13.0f)) {
func_80078914(&this->actor.projectedPos, NA_SE_PL_WALK_CONCRETE);
}
}
@@ -738,8 +738,8 @@ void EnNb_InitDemo6KInConfrontation(EnNb* this, GlobalContext* globalCtx) {
}
void func_80AB2688(EnNb* this, GlobalContext* globalCtx) {
- this->skelAnime.flags |= 1;
- SkelAnime_LoadAnimationType5(globalCtx, &this->actor, &this->skelAnime, 1.0f);
+ this->skelAnime.moveFlags |= 1;
+ AnimationContext_SetMoveActor(globalCtx, &this->actor, &this->skelAnime, 1.0f);
}
void func_80AB26C8(EnNb* this) {
@@ -751,10 +751,10 @@ void func_80AB26C8(EnNb* this) {
void func_80AB26DC(EnNb* this, GlobalContext* globalCtx) {
s32 pad;
AnimationHeader* animation = &D_06008BD0;
- f32 frames = SkelAnime_GetFrameCount(animation);
+ f32 frames = Animation_GetLastFrame(animation);
EnNb_SetupCsPosRot(this, globalCtx, 1);
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, 0.0f);
this->action = NB_ACTION_14;
this->drawMode = NB_DRAW_KNEEL;
this->actor.shape.unk_14 = 0xFF;
@@ -762,9 +762,9 @@ void func_80AB26DC(EnNb* this, GlobalContext* globalCtx) {
void EnNb_SetupKneel(EnNb* this) {
AnimationHeader* animation = &D_06008BD0;
- f32 frames = SkelAnime_GetFrameCount(animation);
+ f32 frames = Animation_GetLastFrame(animation);
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, 0.0f);
this->action = NB_KNEEL;
this->drawMode = NB_DRAW_KNEEL;
this->actor.shape.unk_14 = 0xFF;
@@ -774,16 +774,16 @@ void EnNb_CheckIfKneeling(EnNb* this, s32 animFinished) {
AnimationHeader* animation = &D_060046A8;
if (animFinished) {
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 0, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 0, 0.0f);
this->drawMode = NB_DRAW_KNEEL;
}
}
void EnNb_SetupLookRight(EnNb* this) {
AnimationHeader* animation = &D_06003954;
- f32 frames = SkelAnime_GetFrameCount(animation);
+ f32 frames = Animation_GetLastFrame(animation);
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, -8.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, -8.0f);
this->action = NB_LOOK_RIGHT;
this->drawMode = NB_DRAW_DEFAULT;
this->actor.shape.unk_14 = 0xFF;
@@ -793,16 +793,16 @@ void EnNb_CheckIfLookingRight(EnNb* this, s32 animFinished) {
AnimationHeader* animation = &D_06004030;
if (animFinished) {
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 0, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 0, 0.0f);
this->drawMode = NB_DRAW_LOOK_DIRECTION;
}
}
void EnNb_SetupLookLeft(EnNb* this) {
AnimationHeader* animation = &D_06002DBC;
- f32 frames = SkelAnime_GetFrameCount(animation);
+ f32 frames = Animation_GetLastFrame(animation);
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, -8.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, -8.0f);
this->action = NB_LOOK_LEFT;
this->drawMode = NB_DRAW_LOOK_DIRECTION;
this->actor.shape.unk_14 = 0xFF;
@@ -812,7 +812,7 @@ void EnNb_CheckIfLookLeft(EnNb* this, s32 animFinished) {
AnimationHeader* animation = &D_060035A8;
if (animFinished) {
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 0, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 0, 0.0f);
}
}
@@ -825,9 +825,9 @@ void EnNb_SetupDemo6KInConfrontation(EnNb* this, GlobalContext* globalCtx, s32 a
void EnNb_SetupRun(EnNb* this) {
AnimationHeader* animation = &D_06006320;
- f32 frames = SkelAnime_GetFrameCount(animation);
+ f32 frames = Animation_GetLastFrame(animation);
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, -8.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, frames, 2, -8.0f);
this->action = NB_RUN;
this->drawMode = NB_DRAW_LOOK_DIRECTION;
this->actor.shape.unk_14 = 0xFF;
@@ -960,7 +960,7 @@ void func_80AB2E70(EnNb* this, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(&D_0600D8E8));
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
&this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_nb_inConfrontion.c", 593);
@@ -990,7 +990,7 @@ void func_80AB2FE4(EnNb* this, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTexture));
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, func_80AB2FC0,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, func_80AB2FC0,
NULL, &this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_nb_inConfrontion.c", 644);
@@ -1424,8 +1424,7 @@ void EnNb_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
EnNb_SetupCollider(thisx, globalCtx);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060181C8, NULL, this->limbDrawTable, this->transitionDrawTable,
- 19);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060181C8, NULL, this->jointTable, this->morphTable, 19);
switch (EnNb_GetType(this)) {
case NB_TYPE_DEMO02:
@@ -1452,20 +1451,17 @@ void EnNb_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 EnNb_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
EnNb* this = THIS;
struct_80034A14_arg1* unk_300 = &this->unk_300;
- s32 ret = 0;
+ s32 ret = false;
if (this->headTurnFlag != 0) {
-
if (limbIndex == 8) {
rot->x += unk_300->unk_0E.y;
rot->y -= unk_300->unk_0E.x;
- ret = 0;
- }
-
- else if (limbIndex == 15) {
+ ret = false;
+ } else if (limbIndex == 15) {
rot->x += unk_300->unk_08.y;
rot->z += unk_300->unk_08.x;
- ret = 0;
+ ret = false;
}
}
@@ -1506,7 +1502,7 @@ void EnNb_DrawDefault(EnNb* this, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTexture));
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
EnNb_OverrideLimbDraw, EnNb_PostLimbDraw, &this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_nb.c", 1013);
diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.h b/src/overlays/actors/ovl_En_Nb/z_en_nb.h
index 07802fa668..f5e212b858 100644
--- a/src/overlays/actors/ovl_En_Nb/z_en_nb.h
+++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.h
@@ -12,8 +12,8 @@ typedef void (*EnNbDrawFunc)(struct EnNb*, GlobalContext*);
typedef struct EnNb {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[19];
- /* 0x0202 */ Vec3s transitionDrawTable[19];
+ /* 0x0190 */ Vec3s jointTable[19];
+ /* 0x0202 */ Vec3s morphTable[19];
/* 0x0274 */ s16 eyeIdx;
/* 0x0276 */ s16 blinkTimer;
/* 0x0278 */ s32 action;
diff --git a/src/overlays/actors/ovl_En_Niw/z_en_niw.c b/src/overlays/actors/ovl_En_Niw/z_en_niw.c
index 90701b2514..1207dd7b25 100644
--- a/src/overlays/actors/ovl_En_Niw/z_en_niw.c
+++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.c
@@ -130,8 +130,7 @@ void EnNiw_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
this->actor.flags |= 1;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 25.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable,
- this->transitionDrawTable, 16);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->jointTable, this->morphTable, 16);
if (globalCtx->sceneNum == SCENE_SPOT01) {
for (i = 0; i < ARRAY_COUNT(sKakarikoPosList); i++) {
@@ -384,7 +383,7 @@ void func_80AB6100(EnNiw* this, GlobalContext* globalCtx, s32 arg2) {
}
void EnNiw_ResetAction(EnNiw* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060000E8), 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060000E8), 0, -10.0f);
switch (this->actor.params) {
case 4:
@@ -796,7 +795,7 @@ void func_80AB7204(EnNiw* this, GlobalContext* globalCtx) {
}
void func_80AB7290(EnNiw* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060000E8), 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060000E8), 0, -10.0f);
this->unk_2A0 = Rand_ZeroFloat(1.99f);
this->actor.speedXZ = 4.0f;
this->actionFunc = func_80AB7328;
@@ -1104,7 +1103,7 @@ s32 EnNiw_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->z += (s16)this->unk_2C4;
}
- return 0;
+ return false;
}
void EnNiw_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -1113,7 +1112,7 @@ void EnNiw_Draw(Actor* thisx, GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnNiw_OverrideLimbDraw, NULL, this);
if (this->actionFunc == func_80AB6450) {
diff --git a/src/overlays/actors/ovl_En_Niw/z_en_niw.h b/src/overlays/actors/ovl_En_Niw/z_en_niw.h
index 3a187e08f8..95d630da70 100644
--- a/src/overlays/actors/ovl_En_Niw/z_en_niw.h
+++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.h
@@ -23,8 +23,8 @@ typedef struct {
typedef struct EnNiw {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[16];
- /* 0x01F0 */ Vec3s transitionDrawTable[16];
+ /* 0x0190 */ Vec3s jointTable[16];
+ /* 0x01F0 */ Vec3s morphTable[16];
/* 0x0250 */ EnNiwActionFunc actionFunc;
/* 0x0254 */ s16 timer1;
/* 0x0256 */ s16 timer2;
diff --git a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c
index 744a106a5c..b7c0a4e91b 100644
--- a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c
+++ b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c
@@ -53,8 +53,7 @@ void EnNiwGirl_Init(Actor* thisx, GlobalContext* globalCtx) {
Vec3f vec2;
s32 pad2;
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06009948, &D_06000378, &this->limbDrawTable,
- &this->transitionDrawTable, 17);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06009948, &D_06000378, this->jointTable, this->morphTable, 17);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->actor.unk_1F = 6;
@@ -90,8 +89,8 @@ void EnNiwGirl_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnNiwGirl_Jump(EnNiwGirl* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06000378);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000378, 1.0f, 0.0f, frameCount, 0, -10.0f);
+ f32 frameCount = Animation_GetLastFrame(&D_06000378);
+ Animation_Change(&this->skelAnime, &D_06000378, 1.0f, 0.0f, frameCount, 0, -10.0f);
this->actor.flags &= ~1;
this->actionFunc = func_80AB9210;
}
@@ -101,7 +100,7 @@ void func_80AB9210(EnNiwGirl* this, GlobalContext* globalCtx) {
f32 xDistBetween;
f32 zDistBetween;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_ApproachF(&this->actor.speedXZ, 3.0f, 0.2f, 0.4f);
// Find the X and Z distance between the girl and the cuckoo she is chasing
@@ -131,7 +130,7 @@ void func_80AB9210(EnNiwGirl* this, GlobalContext* globalCtx) {
}
void EnNiwGirl_Talk(EnNiwGirl* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06009C78, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06009C78), 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06009C78, 1.0f, 0.0f, Animation_GetLastFrame(&D_06009C78), 0, -10.0f);
this->actor.flags |= 1;
this->actor.textId = 0x7000;
if ((gSaveContext.eventChkInf[8] & 1) && (this->unk_27A == 0)) {
@@ -160,7 +159,7 @@ void EnNiwGirl_Talk(EnNiwGirl* this, GlobalContext* globalCtx) {
}
void func_80AB94D0(EnNiwGirl* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (func_8010BDBC(&globalCtx->msgCtx)) {
this->chasedEnNiw->path = 0;
}
@@ -233,7 +232,7 @@ s32 EnNiwGirlOverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLi
rot->x += this->unk_260.y;
rot->z += this->unk_260.z;
}
- return 0;
+ return false;
}
void EnNiwGirl_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -245,7 +244,7 @@ void EnNiwGirl_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80AB99D8[this->unk_272]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnNiwGirlOverrideLimbDraw, 0, this);
func_80033C30(&this->actor.posRot.pos, &sp4C, 255, globalCtx);
diff --git a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.h b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.h
index 284e58a870..587c08dc4d 100644
--- a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.h
+++ b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.h
@@ -12,8 +12,8 @@ typedef void (*EnNiwGirlActionFunc)(struct EnNiwGirl*, GlobalContext*);
typedef struct EnNiwGirl {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[17];
- /* 0x01F6 */ Vec3s transitionDrawTable[17];
+ /* 0x0190 */ Vec3s jointTable[17];
+ /* 0x01F6 */ Vec3s morphTable[17];
/* 0x025C */ EnNiwGirlActionFunc actionFunc;
/* 0x0260 */ Vec3s unk_260;
/* 0x0266 */ Vec3s unk_266;
diff --git a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
index 251a43b3a0..195479d013 100644
--- a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
+++ b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
@@ -101,8 +101,8 @@ void EnNiwLady_ChoseAnimation(EnNiwLady* this, GlobalContext* globalCtx, s32 arg
case 10:
this->unk_275 = 1;
case 9:
- frames = SkelAnime_GetFrameCount(&D_060007D0);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060007D0, 1.0f, 0.0f, frames, 0, -10.0f);
+ frames = Animation_GetLastFrame(&D_060007D0);
+ Animation_Change(&this->skelAnime, &D_060007D0, 1.0f, 0.0f, frames, 0, -10.0f);
break;
case 0:
case 1:
@@ -116,8 +116,8 @@ void EnNiwLady_ChoseAnimation(EnNiwLady* this, GlobalContext* globalCtx, s32 arg
case 22:
case 24:
case 29:
- frames = SkelAnime_GetFrameCount(&D_06009F94);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06009F94, 1.0f, 0.0f, frames, 0, -10.0f);
+ frames = Animation_GetLastFrame(&D_06009F94);
+ Animation_Change(&this->skelAnime, &D_06009F94, 1.0f, 0.0f, frames, 0, -10.0f);
break;
case 7:
case 20:
@@ -126,12 +126,12 @@ void EnNiwLady_ChoseAnimation(EnNiwLady* this, GlobalContext* globalCtx, s32 arg
case 26:
case 27:
case 28:
- frames = SkelAnime_GetFrameCount(&D_06000718);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000718, 1.0f, 0.0f, frames, 0, -10.0f);
+ frames = Animation_GetLastFrame(&D_06000718);
+ Animation_Change(&this->skelAnime, &D_06000718, 1.0f, 0.0f, frames, 0, -10.0f);
break;
case 100:
- frames = SkelAnime_GetFrameCount(&D_0600A630);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600A630, 1.0f, 0.0f, frames, 0, -10.0f);
+ frames = Animation_GetLastFrame(&D_0600A630);
+ Animation_Change(&this->skelAnime, &D_0600A630, 1.0f, 0.0f, frames, 0, -10.0f);
this->unk_276 = 0;
break;
}
@@ -146,8 +146,7 @@ void func_80AB9F24(EnNiwLady* this, GlobalContext* globalCtx) {
if (Object_IsLoaded(&globalCtx->objectCtx, this->objectAneIndex) &&
Object_IsLoaded(&globalCtx->objectCtx, this->objectOsAnimeIndex)) {
gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->objectAneIndex].segment);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->limbDrawTable,
- this->transitionDrawTable, 16);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->jointTable, this->morphTable, 16);
gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->objectOsAnimeIndex].segment);
this->unk_27E = 1;
this->actor.gravity = -3.0f;
@@ -161,11 +160,11 @@ void func_80AB9F24(EnNiwLady* this, GlobalContext* globalCtx) {
switch (this->unk_278) {
case 0:
if (!(gSaveContext.itemGetInf[0] & 0x1000) && LINK_IS_CHILD) {
- frames = SkelAnime_GetFrameCount(&D_0600A630);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600A630, 1.0f, 0.0f, (s16)frames, 0, 0.0f);
+ frames = Animation_GetLastFrame(&D_0600A630);
+ Animation_Change(&this->skelAnime, &D_0600A630, 1.0f, 0.0f, (s16)frames, 0, 0.0f);
} else {
- frames = SkelAnime_GetFrameCount(&D_060007D0);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060007D0, 1.0f, 0.0f, (s16)frames, 0, 0.0f);
+ frames = Animation_GetLastFrame(&D_060007D0);
+ Animation_Change(&this->skelAnime, &D_060007D0, 1.0f, 0.0f, (s16)frames, 0, 0.0f);
}
if (LINK_IS_ADULT) {
this->actionFunc = func_80ABA778;
@@ -174,8 +173,8 @@ void func_80AB9F24(EnNiwLady* this, GlobalContext* globalCtx) {
}
return;
case 1:
- frames = SkelAnime_GetFrameCount(&D_060007D0);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060007D0, 1.0f, 0.0f, (s16)frames, 0, 0.0f);
+ frames = Animation_GetLastFrame(&D_060007D0);
+ Animation_Change(&this->skelAnime, &D_060007D0, 1.0f, 0.0f, (s16)frames, 0, 0.0f);
this->actionFunc = func_80ABAD38;
return;
}
@@ -500,7 +499,7 @@ void EnNiwLady_Update(Actor* thisx, GlobalContext* globalCtx) {
EnNiwLady_ChoseAnimation(this, globalCtx, this->unk_26E);
this->unk_26E = 0;
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
this->objectAneIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_ANE);
if (this->objectAneIndex >= 0) {
@@ -553,7 +552,7 @@ s32 EnNiwLady_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
rot->z += (Math_CosS((globalCtx->state.frames * ((limbIndex * 0x32) + 0x940))) * 200.0f);
}
}
- return 0;
+ return false;
}
void EnNiwLady_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -567,7 +566,7 @@ void EnNiwLady_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80ABB408[this->faceState]));
gSPSegment(POLY_OPA_DISP++, 0x0C, func_80ABB0A0(globalCtx->state.gfxCtx));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnNiwLady_OverrideLimbDraw, NULL, this);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_niw_lady.c", 1370);
diff --git a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.h b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.h
index cf84a257f4..316b2efce8 100644
--- a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.h
+++ b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.h
@@ -11,8 +11,8 @@ typedef void (*EnNiwLadyActionFunc)(struct EnNiwLady*, GlobalContext*);
typedef struct EnNiwLady {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[16];
- /* 0x01F0 */ Vec3s transitionDrawTable[16];
+ /* 0x0190 */ Vec3s jointTable[16];
+ /* 0x01F0 */ Vec3s morphTable[16];
/* 0x0250 */ EnNiwLadyActionFunc actionFunc;
/* 0x0254 */ Vec3s unk_254;
/* 0x025A */ Vec3s unk_25A;
diff --git a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
index a7561f4daa..9714710674 100644
--- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
+++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
@@ -76,8 +76,7 @@ void EnOkuta_Init(Actor* thisx, GlobalContext* globalCtx) {
this->numShots = (thisx->params >> 8) & 0xFF;
thisx->params &= 0xFF;
if (thisx->params == 0) {
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_06003660, &D_06003C64, this->limbDrawTable,
- this->transitionDrawTable, 38);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_06003660, &D_06003C64, this->jointTable, this->morphTable, 38);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, thisx, &sOctorockColliderInit);
func_80061ED4(&thisx->colChkInfo, &sDamageTable, &sColChkInfoInit);
@@ -156,24 +155,24 @@ void EnOkuta_SetupAppear(EnOkuta* this, GlobalContext* globalCtx) {
this->actor.draw = EnOkuta_Draw;
this->actor.shape.rot.y = this->actor.yawTowardsLink;
this->actor.flags |= 1;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06003C64);
+ Animation_PlayOnce(&this->skelAnime, &D_06003C64);
EnOkuta_SpawnBubbles(this, globalCtx);
this->actionFunc = EnOkuta_Appear;
}
void EnOkuta_SetupHide(EnOkuta* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06000AC0);
+ Animation_PlayOnce(&this->skelAnime, &D_06000AC0);
this->actionFunc = EnOkuta_Hide;
}
void EnOkuta_SetupWaitToShoot(EnOkuta* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000DDC);
+ Animation_PlayLoop(&this->skelAnime, &D_06000DDC);
this->timer = (this->actionFunc == EnOkuta_Shoot) ? 2 : 0;
this->actionFunc = EnOkuta_WaitToShoot;
}
void EnOkuta_SetupShoot(EnOkuta* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06000344);
+ Animation_PlayOnce(&this->skelAnime, &D_06000344);
if (this->actionFunc != EnOkuta_Shoot) {
this->timer = this->numShots;
}
@@ -189,7 +188,7 @@ void EnOkuta_SetupShoot(EnOkuta* this, GlobalContext* globalCtx) {
}
void EnOkuta_SetupWaitToDie(EnOkuta* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06003910, -5.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06003910, -5.0f);
func_8003426C(&this->actor, 0x4000, 0xFF, 0, 0xB);
this->collider.base.acFlags &= ~2;
Actor_SetScale(&this->actor, 0.01f);
@@ -198,7 +197,7 @@ void EnOkuta_SetupWaitToDie(EnOkuta* this) {
}
void EnOkuta_SetupDie(EnOkuta* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060008FC, -3.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060008FC, -3.0f);
this->timer = 0;
this->actionFunc = EnOkuta_Die;
}
@@ -241,24 +240,24 @@ void EnOkuta_WaitToAppear(EnOkuta* this, GlobalContext* globalCtx) {
void EnOkuta_Appear(EnOkuta* this, GlobalContext* globalCtx) {
s32 pad;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->actor.xzDistFromLink < 160.0f) {
EnOkuta_SetupHide(this);
} else {
EnOkuta_SetupWaitToShoot(this);
}
- } else if (this->skelAnime.animCurrentFrame <= 4.0f) {
- Actor_SetScale(&this->actor, this->skelAnime.animCurrentFrame * 0.25f * 0.01f);
- } else if (func_800A56C8(&this->skelAnime, 5.0f)) {
+ } else if (this->skelAnime.curFrame <= 4.0f) {
+ Actor_SetScale(&this->actor, this->skelAnime.curFrame * 0.25f * 0.01f);
+ } else if (Animation_OnFrame(&this->skelAnime, 5.0f)) {
Actor_SetScale(&this->actor, 0.01f);
}
- if (func_800A56C8(&this->skelAnime, 2.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 2.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_OCTAROCK_JUMP);
}
- if (func_800A56C8(&this->skelAnime, 12.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 12.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_OCTAROCK_LAND);
}
- if (func_800A56C8(&this->skelAnime, 3.0f) || func_800A56C8(&this->skelAnime, 15.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 3.0f) || Animation_OnFrame(&this->skelAnime, 15.0f)) {
EnOkuta_SpawnSplash(this, globalCtx);
}
}
@@ -267,17 +266,17 @@ void EnOkuta_Hide(EnOkuta* this, GlobalContext* globalCtx) {
s32 pad;
Math_ApproachF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, 0.5f, 30.0f);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_OCTAROCK_BUBLE);
EnOkuta_SpawnBubbles(this, globalCtx);
EnOkuta_SetupWaitToAppear(this);
- } else if (this->skelAnime.animCurrentFrame >= 4.0f) {
- Actor_SetScale(&this->actor, (6.0f - this->skelAnime.animCurrentFrame) * 0.5f * 0.01f);
+ } else if (this->skelAnime.curFrame >= 4.0f) {
+ Actor_SetScale(&this->actor, (6.0f - this->skelAnime.curFrame) * 0.5f * 0.01f);
}
- if (func_800A56C8(&this->skelAnime, 2.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 2.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_OCTAROCK_SINK);
}
- if (func_800A56C8(&this->skelAnime, 4.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 4.0f)) {
EnOkuta_SpawnSplash(this, globalCtx);
}
}
@@ -287,13 +286,13 @@ void EnOkuta_WaitToShoot(EnOkuta* this, GlobalContext* globalCtx) {
s32 phi_v1;
this->actor.posRot.pos.y = this->actor.initPosRot.pos.y;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 0.0f)) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 0.0f)) {
if (this->timer != 0) {
this->timer--;
}
}
- if (func_800A56C8(&this->skelAnime, 0.5f)) {
+ if (Animation_OnFrame(&this->skelAnime, 0.5f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_OCTAROCK_FLOAT);
}
if (this->actor.xzDistFromLink < 160.0f || this->actor.xzDistFromLink > 560.0f) {
@@ -309,7 +308,7 @@ void EnOkuta_WaitToShoot(EnOkuta* this, GlobalContext* globalCtx) {
void EnOkuta_Shoot(EnOkuta* this, GlobalContext* globalCtx) {
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 3, 0x71C);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->timer != 0) {
this->timer--;
}
@@ -319,19 +318,19 @@ void EnOkuta_Shoot(EnOkuta* this, GlobalContext* globalCtx) {
EnOkuta_SetupShoot(this, globalCtx);
}
} else {
- f32 animCurrentFrame = this->skelAnime.animCurrentFrame;
+ f32 curFrame = this->skelAnime.curFrame;
- if (animCurrentFrame < 13.0f) {
+ if (curFrame < 13.0f) {
this->actor.posRot.pos.y =
- (sinf((0.08333f * M_PI) * animCurrentFrame) * this->jumpHeight) + this->actor.initPosRot.pos.y;
+ (sinf((0.08333f * M_PI) * curFrame) * this->jumpHeight) + this->actor.initPosRot.pos.y;
}
- if (func_800A56C8(&this->skelAnime, 6.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 6.0f)) {
EnOkuta_SpawnProjectile(this, globalCtx);
}
- if ((this->jumpHeight > 50.0f) && func_800A56C8(&this->skelAnime, 13.0f)) {
+ if ((this->jumpHeight > 50.0f) && Animation_OnFrame(&this->skelAnime, 13.0f)) {
EnOkuta_SpawnSplash(this, globalCtx);
}
- if ((this->jumpHeight > 50.0f) && func_800A56C8(&this->skelAnime, 13.0f)) {
+ if ((this->jumpHeight > 50.0f) && Animation_OnFrame(&this->skelAnime, 13.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_OCTAROCK_LAND);
}
}
@@ -341,7 +340,7 @@ void EnOkuta_Shoot(EnOkuta* this, GlobalContext* globalCtx) {
}
void EnOkuta_WaitToDie(EnOkuta* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
EnOkuta_SetupDie(this);
}
Math_ApproachF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, 0.5f, 5.0f);
@@ -355,7 +354,7 @@ void EnOkuta_Die(EnOkuta* this, GlobalContext* globalCtx) {
Vec3f pos;
s32 i;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->timer++;
}
Math_ApproachF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, 0.5f, 5.0f);
@@ -369,7 +368,7 @@ void EnOkuta_Die(EnOkuta* this, GlobalContext* globalCtx) {
EnOkuta_SpawnDust(&pos, &velocity, -0x14, globalCtx);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_OCTAROCK_DEAD2);
}
- if (func_800A56C8(&this->skelAnime, 15.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 15.0f)) {
EnOkuta_SpawnSplash(this, globalCtx);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_OCTAROCK_LAND);
}
@@ -457,45 +456,45 @@ void EnOkuta_ProjectileFly(EnOkuta* this, GlobalContext* globalCtx) {
}
void EnOkuta_UpdateHeadScale(EnOkuta* this) {
- f32 animCurrentFrame = this->skelAnime.animCurrentFrame;
+ f32 curFrame = this->skelAnime.curFrame;
if (this->actionFunc == EnOkuta_Appear) {
- if (animCurrentFrame < 8.0f) {
+ if (curFrame < 8.0f) {
this->headScale.x = this->headScale.y = this->headScale.z = 1.0f;
- } else if (animCurrentFrame < 10.0f) {
+ } else if (curFrame < 10.0f) {
this->headScale.x = this->headScale.z = 1.0f;
- this->headScale.y = ((animCurrentFrame - 7.0f) * 0.4f) + 1.0f;
- } else if (animCurrentFrame < 14.0f) {
- this->headScale.x = this->headScale.z = ((animCurrentFrame - 9.0f) * 0.075f) + 1.0f;
- this->headScale.y = 1.8f - ((animCurrentFrame - 9.0f) * 0.25f);
+ this->headScale.y = ((curFrame - 7.0f) * 0.4f) + 1.0f;
+ } else if (curFrame < 14.0f) {
+ this->headScale.x = this->headScale.z = ((curFrame - 9.0f) * 0.075f) + 1.0f;
+ this->headScale.y = 1.8f - ((curFrame - 9.0f) * 0.25f);
} else {
- this->headScale.x = this->headScale.z = 1.3f - ((animCurrentFrame - 13.0f) * 0.05f);
- this->headScale.y = ((animCurrentFrame - 13.0f) * 0.0333f) + 0.8f;
+ this->headScale.x = this->headScale.z = 1.3f - ((curFrame - 13.0f) * 0.05f);
+ this->headScale.y = ((curFrame - 13.0f) * 0.0333f) + 0.8f;
}
} else if (this->actionFunc == EnOkuta_Hide) {
- if (animCurrentFrame < 3.0f) {
+ if (curFrame < 3.0f) {
this->headScale.y = 1.0f;
- } else if (animCurrentFrame < 4.0f) {
- this->headScale.y = (animCurrentFrame - 2.0f) + 1.0f;
+ } else if (curFrame < 4.0f) {
+ this->headScale.y = (curFrame - 2.0f) + 1.0f;
} else {
- this->headScale.y = 2.0f - ((animCurrentFrame - 3.0f) * 0.333f);
+ this->headScale.y = 2.0f - ((curFrame - 3.0f) * 0.333f);
}
this->headScale.x = this->headScale.z = 1.0f;
} else if (this->actionFunc == EnOkuta_Shoot) {
- if (animCurrentFrame < 5.0f) {
- this->headScale.x = this->headScale.y = this->headScale.z = (animCurrentFrame * 0.125f) + 1.0f;
- } else if (animCurrentFrame < 7.0f) {
- this->headScale.x = this->headScale.y = this->headScale.z = 1.5f - ((animCurrentFrame - 4.0f) * 0.35f);
- } else if (animCurrentFrame < 17.0f) {
- this->headScale.x = this->headScale.z = ((animCurrentFrame - 6.0f) * 0.05f) + 0.8f;
+ if (curFrame < 5.0f) {
+ this->headScale.x = this->headScale.y = this->headScale.z = (curFrame * 0.125f) + 1.0f;
+ } else if (curFrame < 7.0f) {
+ this->headScale.x = this->headScale.y = this->headScale.z = 1.5f - ((curFrame - 4.0f) * 0.35f);
+ } else if (curFrame < 17.0f) {
+ this->headScale.x = this->headScale.z = ((curFrame - 6.0f) * 0.05f) + 0.8f;
this->headScale.y = 0.8f;
} else {
- this->headScale.x = this->headScale.z = 1.3f - ((animCurrentFrame - 16.0f) * 0.1f);
- this->headScale.y = ((animCurrentFrame - 16.0f) * 0.0666f) + 0.8f;
+ this->headScale.x = this->headScale.z = 1.3f - ((curFrame - 16.0f) * 0.1f);
+ this->headScale.y = ((curFrame - 16.0f) * 0.0666f) + 0.8f;
}
} else if (this->actionFunc == EnOkuta_WaitToShoot) {
this->headScale.x = this->headScale.z = 1.0f;
- this->headScale.y = (sinf((M_PI / 16) * animCurrentFrame) * 0.2f) + 1.0f;
+ this->headScale.y = (sinf((M_PI / 16) * curFrame) * 0.2f) + 1.0f;
} else {
this->headScale.x = this->headScale.y = this->headScale.z = 1.0f;
}
@@ -568,8 +567,7 @@ void EnOkuta_Update(Actor* thisx, GlobalContext* globalCtx) {
}
Collider_CylinderUpdate(&this->actor, &this->collider);
if ((this->actionFunc == EnOkuta_Appear) || (this->actionFunc == EnOkuta_Hide)) {
- this->collider.dim.pos.y =
- this->actor.posRot.pos.y + (this->skelAnime.limbDrawTbl->y * this->actor.scale.y);
+ this->collider.dim.pos.y = this->actor.posRot.pos.y + (this->skelAnime.jointTable->y * this->actor.scale.y);
this->collider.dim.radius = sOctorockColliderInit.dim.radius * this->actor.scale.x * 100.0f;
}
if (this->actor.params == 0x10) {
@@ -590,33 +588,33 @@ void EnOkuta_Update(Actor* thisx, GlobalContext* globalCtx) {
}
}
-s32 EnOkuta_GetSnoutScale(EnOkuta* this, f32 animCurrentFrame, Vec3f* scale) {
+s32 EnOkuta_GetSnoutScale(EnOkuta* this, f32 curFrame, Vec3f* scale) {
if (this->actionFunc == EnOkuta_WaitToShoot) {
scale->x = scale->z = 1.0f;
- scale->y = (sinf((M_PI / 16) * animCurrentFrame) * 0.4f) + 1.0f;
+ scale->y = (sinf((M_PI / 16) * curFrame) * 0.4f) + 1.0f;
} else if (this->actionFunc == EnOkuta_Shoot) {
- if (animCurrentFrame < 5.0f) {
+ if (curFrame < 5.0f) {
scale->x = 1.0f;
- scale->y = scale->z = (animCurrentFrame * 0.25f) + 1.0f;
- } else if (animCurrentFrame < 7.0f) {
- scale->x = (animCurrentFrame - 4.0f) * 0.5f + 1.0f;
- scale->y = scale->z = 2.0f - (animCurrentFrame - 4.0f) * 0.5f;
+ scale->y = scale->z = (curFrame * 0.25f) + 1.0f;
+ } else if (curFrame < 7.0f) {
+ scale->x = (curFrame - 4.0f) * 0.5f + 1.0f;
+ scale->y = scale->z = 2.0f - (curFrame - 4.0f) * 0.5f;
} else {
- scale->x = 2.0f - ((animCurrentFrame - 6.0f) * 0.0769f);
+ scale->x = 2.0f - ((curFrame - 6.0f) * 0.0769f);
scale->y = scale->z = 1.0f;
}
} else if (this->actionFunc == EnOkuta_Die) {
- if (animCurrentFrame >= 35.0f || animCurrentFrame < 25.0f) {
+ if (curFrame >= 35.0f || curFrame < 25.0f) {
return false;
}
- if (animCurrentFrame < 27.0f) {
+ if (curFrame < 27.0f) {
scale->x = 1.0f;
- scale->y = scale->z = ((animCurrentFrame - 24.0f) * 0.5f) + 1.0f;
- } else if (animCurrentFrame < 30.0f) {
- scale->x = (animCurrentFrame - 26.0f) * 0.333f + 1.0f;
- scale->y = scale->z = 2.0f - (animCurrentFrame - 26.0f) * 0.333f;
+ scale->y = scale->z = ((curFrame - 24.0f) * 0.5f) + 1.0f;
+ } else if (curFrame < 30.0f) {
+ scale->x = (curFrame - 26.0f) * 0.333f + 1.0f;
+ scale->y = scale->z = 2.0f - (curFrame - 26.0f) * 0.333f;
} else {
- scale->x = 2.0f - ((animCurrentFrame - 29.0f) * 0.2f);
+ scale->x = 2.0f - ((curFrame - 29.0f) * 0.2f);
scale->y = scale->z = 1.0f;
}
} else {
@@ -629,12 +627,12 @@ s32 EnOkuta_GetSnoutScale(EnOkuta* this, f32 animCurrentFrame, Vec3f* scale) {
s32 EnOkuta_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
void* thisx) {
EnOkuta* this = THIS;
- f32 animCurrentFrame = this->skelAnime.animCurrentFrame;
+ f32 curFrame = this->skelAnime.curFrame;
Vec3f scale;
s32 doScale = false;
if (this->actionFunc == EnOkuta_Die) {
- animCurrentFrame += this->timer;
+ curFrame += this->timer;
}
if (limbIndex == 5) {
if ((this->headScale.x != 1.0f) || (this->headScale.y != 1.0f) || (this->headScale.z != 1.0f)) {
@@ -642,12 +640,12 @@ s32 EnOkuta_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dLis
doScale = true;
}
} else if (limbIndex == 8) {
- doScale = EnOkuta_GetSnoutScale(this, animCurrentFrame, &scale);
+ doScale = EnOkuta_GetSnoutScale(this, curFrame, &scale);
}
if (doScale) {
Matrix_Scale(scale.x, scale.y, scale.z, MTXMODE_APPLY);
}
- return 0;
+ return false;
}
void EnOkuta_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -657,7 +655,7 @@ void EnOkuta_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
if (this->actor.params == 0) {
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnOkuta_OverrideLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnOkuta_OverrideLimbDraw,
NULL, this);
} else {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_okuta.c", 1653);
diff --git a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h
index 3712fddf7f..05e6e4a7a4 100644
--- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h
+++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h
@@ -14,8 +14,8 @@ typedef struct EnOkuta {
/* 0x0190 */ EnOkutaActionFunc actionFunc;
/* 0x0194 */ s16 timer;
/* 0x0196 */ s16 numShots;
- /* 0x0198 */ Vec3s limbDrawTable[38];
- /* 0x027C */ Vec3s transitionDrawTable[38];
+ /* 0x0198 */ Vec3s jointTable[38];
+ /* 0x027C */ Vec3s morphTable[38];
/* 0x0360 */ f32 jumpHeight;
/* 0x0364 */ Vec3f headScale;
/* 0x0370 */ ColliderCylinder collider;
diff --git a/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c b/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c
index 61082edc18..d44ecf5878 100644
--- a/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c
+++ b/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c
@@ -56,8 +56,7 @@ void EnPoDesert_Init(Actor* thisx, GlobalContext* globalCtx) {
EnPoDesert* this = THIS;
Actor_ProcessInitChain(&this->actor, sInitChain);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_06006A30, &D_06000924, this->limbDrawTable,
- this->transitionDrawTable, 10);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_06006A30, &D_06000924, this->jointTable, this->morphTable, 10);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sColliderInit);
this->lightColor.r = 255;
@@ -85,7 +84,7 @@ void EnPoDesert_SetNextPathPoint(EnPoDesert* this, GlobalContext* globalCtx) {
Path* path = &globalCtx->setupPathList[this->actor.params];
Vec3s* pathPoint;
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06001360, -6.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06001360, -6.0f);
pathPoint = &((Vec3s*)SEGMENTED_TO_VIRTUAL(path->points))[this->currentPathPoint];
this->actor.initPosRot.pos.x = pathPoint->x;
this->actor.initPosRot.pos.y = pathPoint->y;
@@ -102,12 +101,12 @@ void EnPoDesert_SetNextPathPoint(EnPoDesert* this, GlobalContext* globalCtx) {
}
void EnPoDesert_SetupMoveToNextPoint(EnPoDesert* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000924, -5.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000924, -5.0f);
this->actionFunc = EnPoDesert_MoveToNextPoint;
}
void EnPoDesert_SetupDisappear(EnPoDesert* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06001360, -6.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06001360, -6.0f);
this->actionTimer = 16;
this->actor.speedXZ = 0.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_DISAPPEAR);
@@ -183,7 +182,7 @@ void EnPoDesert_Update(Actor* thisx, GlobalContext* globalCtx) {
EnPoDesert* this = THIS;
s32 pad;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->actionFunc(this, globalCtx);
Actor_MoveForward(&this->actor);
EnPoDesert_UpdateSpeedModifier(this);
@@ -212,7 +211,7 @@ s32 EnPoDesert_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** d
if ((this->actor.flags & 0x80) != 0x80) {
*dList = NULL;
}
- return 0;
+ return false;
}
void EnPoDesert_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx,
@@ -258,7 +257,7 @@ void EnPoDesert_Draw(Actor* thisx, GlobalContext* globalCtx) {
} else {
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280 + 2);
}
- POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnPoDesert_OverrideLimbDraw, EnPoDesert_PostLimbDraw, &this->actor, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_po_desert.c", 597);
}
diff --git a/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.h b/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.h
index f338aaa4ab..2abcca125a 100644
--- a/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.h
+++ b/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.h
@@ -18,8 +18,8 @@ typedef struct EnPoDesert {
/* 0x019C */ f32 initDistToNextPoint;
/* 0x01A0 */ f32 yDiff;
/* 0x01A4 */ f32 targetY;
- /* 0x01A8 */ Vec3s limbDrawTable[10];
- /* 0x01E4 */ Vec3s transitionDrawTable[10];
+ /* 0x01A8 */ Vec3s jointTable[10];
+ /* 0x01E4 */ Vec3s morphTable[10];
/* 0x0220 */ Color_RGBA8 lightColor;
/* 0x0224 */ LightNode* lightNode;
/* 0x0228 */ LightInfo lightInfo;
diff --git a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c
index 6657cebc49..075839eb8c 100644
--- a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c
+++ b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c
@@ -119,8 +119,7 @@ void EnPoField_Init(Actor* thisx, GlobalContext* globalCtx) {
return;
}
Actor_ProcessInitChain(&this->actor, sInitChain);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_06006A30, &D_06000924, this->limbDrawTable,
- this->transitionDrawTable, 10);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_06006A30, &D_06000924, this->jointTable, this->morphTable, 10);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &D_80AD7080);
Collider_InitCylinder(globalCtx, &this->flameCollider);
@@ -160,7 +159,7 @@ void EnPoField_SetupWaitForSpawn(EnPoField* this, GlobalContext* globalCtx) {
}
void EnPoField_SetupAppear(EnPoField* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06000F9C);
+ Animation_PlayOnce(&this->skelAnime, &D_06000F9C);
this->actor.draw = EnPoField_Draw;
this->lightColor.r = 255;
this->lightColor.g = 255;
@@ -193,7 +192,7 @@ void EnPoField_SetupAppear(EnPoField* this) {
void EnPoField_SetupCirclePlayer(EnPoField* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000924);
+ Animation_PlayLoop(&this->skelAnime, &D_06000924);
this->collider.base.acFlags |= 1;
this->scaleModifier = this->actor.xzDistFromLink;
Math_Vec3f_Copy(&this->actor.initPosRot.pos, &player->actor.posRot.pos);
@@ -207,7 +206,7 @@ void EnPoField_SetupCirclePlayer(EnPoField* this, GlobalContext* globalCtx) {
}
void EnPoField_SetupFlee(EnPoField* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000608, -5.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000608, -5.0f);
this->collider.base.acFlags |= 1;
this->actionFunc = EnPoField_Flee;
this->actor.speedXZ = 12.0f;
@@ -220,7 +219,7 @@ void EnPoField_SetupFlee(EnPoField* this) {
}
void EnPoField_SetupDamage(EnPoField* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06000454, -6.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06000454, -6.0f);
if (this->collider.body.acHitItem->toucher.flags & 0x1F824) {
this->actor.posRot.rot.y = this->collider.base.ac->posRot.rot.y;
} else {
@@ -245,7 +244,7 @@ void EnPoField_SetupDeath(EnPoField* this) {
}
void EnPoField_SetupDisappear(EnPoField* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06001360, -6.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06001360, -6.0f);
this->actionTimer = 16;
this->collider.base.acFlags &= ~3;
this->actor.speedXZ = 0.0f;
@@ -396,7 +395,7 @@ void EnPoField_WaitForSpawn(EnPoField* this, GlobalContext* globalCtx) {
}
void EnPoField_Appear(EnPoField* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->lightColor.a = 255;
Actor_SetScale(&this->actor, this->scaleModifier);
if (this->actor.params == EN_PO_FIELD_BIG) {
@@ -404,8 +403,8 @@ void EnPoField_Appear(EnPoField* this, GlobalContext* globalCtx) {
} else {
EnPoField_SetupCirclePlayer(this, globalCtx);
}
- } else if (this->skelAnime.animCurrentFrame > 10.0f) {
- this->lightColor.a = ((this->skelAnime.animCurrentFrame - 10.0f) * 0.05f) * 255.0f;
+ } else if (this->skelAnime.curFrame > 10.0f) {
+ this->lightColor.a = ((this->skelAnime.curFrame - 10.0f) * 0.05f) * 255.0f;
} else {
this->actor.scale.x += this->scaleModifier * 0.1f;
this->actor.scale.y = this->actor.scale.x;
@@ -423,7 +422,7 @@ void EnPoField_CirclePlayer(EnPoField* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s32 temp_v1 = 16 - this->unk_194;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actionTimer != 0) {
this->actionTimer--;
}
@@ -461,7 +460,7 @@ void EnPoField_Flee(EnPoField* this, GlobalContext* globalCtx) {
f32 temp_f6;
s16 phi_t0;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actionTimer != 0) {
this->actionTimer--;
}
@@ -486,7 +485,7 @@ void EnPoField_Flee(EnPoField* this, GlobalContext* globalCtx) {
void EnPoField_Damage(EnPoField* this, GlobalContext* globalCtx) {
Math_StepToF(&this->actor.speedXZ, 0.0f, 0.5f);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->actor.colChkInfo.health == 0) {
EnPoField_SetupDeath(this);
} else if (this->actor.params == EN_PO_FIELD_BIG) {
@@ -544,7 +543,7 @@ void EnPoField_Death(EnPoField* this, GlobalContext* globalCtx) {
}
void EnPoField_Disappear(EnPoField* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actionTimer != 0) {
this->actionTimer--;
}
@@ -795,10 +794,9 @@ void func_80AD619C(EnPoField* this) {
void func_80AD6330(EnPoField* this) {
f32 rand;
- if (this->actionFunc == EnPoField_Appear && this->skelAnime.animCurrentFrame < 12.0f) {
- this->soulColor.r = this->soulColor.g = this->soulColor.b =
- (s16)(this->skelAnime.animCurrentFrame * 16.66f) + 55;
- this->soulColor.a = this->skelAnime.animCurrentFrame * 16.666666f;
+ if (this->actionFunc == EnPoField_Appear && this->skelAnime.curFrame < 12.0f) {
+ this->soulColor.r = this->soulColor.g = this->soulColor.b = (s16)(this->skelAnime.curFrame * 16.66f) + 55;
+ this->soulColor.a = this->skelAnime.curFrame * 16.666666f;
} else {
rand = Rand_ZeroOne();
this->soulColor.r = (s16)(rand * 30.0f) + 225;
@@ -850,7 +848,7 @@ s32 EnPoField_OverrideLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** d
if (this->actionFunc == EnPoField_Disappear && limbIndex == 7) {
Matrix_Scale(this->actionTimer * 0.0625f, this->actionTimer * 0.0625f, this->actionTimer * 0.0625f, 1);
}
- return 0;
+ return false;
}
void EnPoField_PostLimDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfxP) {
@@ -895,7 +893,7 @@ void EnPoField_Draw(Actor* thisx, GlobalContext* globalCtx) {
this->lightColor.a));
gSPSegment(POLY_OPA_DISP++, 0x0C, D_80116280 + 2);
POLY_OPA_DISP =
- SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnPoField_OverrideLimbDraw2, EnPoField_PostLimDraw2, &this->actor, POLY_OPA_DISP);
} else {
gSPSegment(POLY_XLU_DISP++, 0x08,
@@ -903,7 +901,7 @@ void EnPoField_Draw(Actor* thisx, GlobalContext* globalCtx) {
this->lightColor.a));
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280);
POLY_XLU_DISP =
- SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnPoField_OverrideLimbDraw2, EnPoField_PostLimDraw2, &this->actor, POLY_XLU_DISP);
}
gDPPipeSync(POLY_OPA_DISP++);
diff --git a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.h b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.h
index ead31b949a..409fbcb16b 100644
--- a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.h
+++ b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.h
@@ -30,8 +30,8 @@ typedef struct EnPoField {
/* 0x0196 */ s16 actionTimer;
/* 0x0198 */ s16 flameRotation;
/* 0x019A */ s16 flameTimer;
- /* 0x019C */ Vec3s limbDrawTable[10];
- /* 0x01D8 */ Vec3s transitionDrawTable[10];
+ /* 0x019C */ Vec3s jointTable[10];
+ /* 0x01D8 */ Vec3s morphTable[10];
/* 0x0214 */ Color_RGBA8 lightColor;
/* 0x0214 */ Color_RGBA8 soulColor;
/* 0x021C */ f32 scaleModifier;
diff --git a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c
index 44fdcb6c52..09f22591e6 100644
--- a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c
+++ b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c
@@ -81,8 +81,7 @@ void EnPoRelay_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 42.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600BE40, &D_06003768, this->limbDrawTable,
- this->transitionDrawTable, 18);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600BE40, &D_06003768, this->jointTable, this->morphTable, 18);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
this->lightNode = LightContext_InsertLight(globalCtx, &globalCtx->lightCtx, &this->lightInfo);
@@ -340,7 +339,7 @@ void EnPoRelay_Update(Actor* thisx, GlobalContext* globalCtx) {
EnPoRelay* this = THIS;
s32 pad;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->actionFunc(this, globalCtx);
Actor_MoveForward(&this->actor);
EnPoRelay_CorrectY(this);
@@ -395,7 +394,7 @@ void EnPoRelay_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_po_relay.c", 940);
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, EnPoRelay_PostLimbDraw, &this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_po_relay.c", 954);
}
diff --git a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.h b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.h
index 414173a62a..d542221c26 100644
--- a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.h
+++ b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.h
@@ -19,8 +19,8 @@ typedef struct EnPoRelay {
/* 0x019A */ s16 unk_19A;
/* 0x019C */ u16 textId;
/* 0x019E */ u16 eyeTextureIdx;
- /* 0x01A0 */ Vec3s limbDrawTable[18];
- /* 0x020C */ Vec3s transitionDrawTable[18];
+ /* 0x01A0 */ Vec3s jointTable[18];
+ /* 0x020C */ Vec3s morphTable[18];
/* 0x0278 */ Color_RGBA8 lightColor;
/* 0x027C */ LightNode* lightNode;
/* 0x0280 */ LightInfo lightInfo;
diff --git a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c
index 942ab7f03e..fb15cc5149 100644
--- a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c
+++ b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c
@@ -139,8 +139,7 @@ void EnPoSisters_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 50.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_060065C8, &D_060014CC, this->limbDrawTable,
- this->transitionDrawTable, 12);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_060065C8, &D_060014CC, this->jointTable, this->morphTable, 12);
this->unk_22E.r = 255;
this->unk_22E.g = 255;
this->unk_22E.b = 210;
@@ -204,7 +203,7 @@ void func_80AD9240(EnPoSisters* this, s32 arg1, Vec3f* arg2) {
}
void func_80AD9368(EnPoSisters* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_060014CC, -3.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_060014CC, -3.0f);
this->unk_19A = Rand_S16Offset(2, 3);
this->actionFunc = func_80ADA4A8;
this->actor.speedXZ = 0.0f;
@@ -212,7 +211,7 @@ void func_80AD9368(EnPoSisters* this) {
void func_80AD93C4(EnPoSisters* this) {
if (this->actionFunc != func_80ADA6A0) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000D40, -3.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000D40, -3.0f);
}
this->unk_19A = Rand_S16Offset(0xF, 3);
this->unk_199 |= 7;
@@ -228,9 +227,9 @@ void func_80AD944C(EnPoSisters* this) {
this->collider.base.type = COLTYPE_METAL_SHIELD;
this->collider.base.acFlags |= 4;
}
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000114, -5.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000114, -5.0f);
this->actor.speedXZ = 0.0f;
- this->unk_19A = SkelAnime_GetFrameCount(&D_06000114) * 3 + 3;
+ this->unk_19A = Animation_GetLastFrame(&D_06000114) * 3 + 3;
this->unk_199 &= ~2;
this->actionFunc = func_80ADA7F0;
}
@@ -240,7 +239,7 @@ void func_80AD94E0(EnPoSisters* this) {
if (this->unk_194 == 0) {
this->collider.base.type = COLTYPE_METAL_SHIELD;
this->collider.base.acFlags |= 4;
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000114, -5.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000114, -5.0f);
}
this->unk_19A = 5;
this->actor.posRot.rot.y = this->actor.yawTowardsLink;
@@ -249,7 +248,7 @@ void func_80AD94E0(EnPoSisters* this) {
}
void func_80AD9568(EnPoSisters* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000D40, -3.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000D40, -3.0f);
this->actor.posRot.rot.y = this->actor.yawTowardsLink + 0x8000;
if (this->unk_194 != 0) {
this->collider.base.type = COLTYPE_UNK3;
@@ -259,7 +258,7 @@ void func_80AD9568(EnPoSisters* this) {
}
void func_80AD95D8(EnPoSisters* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060008C0, -3.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060008C0, -3.0f);
if (this->collider.base.ac != NULL) {
this->actor.posRot.rot.y = (this->collider.body.acHitItem->toucher.flags & 0x1F824)
? this->collider.base.ac->posRot.rot.y
@@ -274,7 +273,7 @@ void func_80AD95D8(EnPoSisters* this) {
}
void func_80AD96A4(EnPoSisters* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000A54, -3.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000A54, -3.0f);
this->actor.posRot.rot.y = this->actor.shape.rot.y + 0x8000;
this->unk_19A = 5;
this->unk_199 |= 0xB;
@@ -283,7 +282,7 @@ void func_80AD96A4(EnPoSisters* this) {
}
void func_80AD9718(EnPoSisters* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600119C, 1.5f, 0.0f, SkelAnime_GetFrameCount(&D_0600119C), 2, -3.0f);
+ Animation_Change(&this->skelAnime, &D_0600119C, 1.5f, 0.0f, Animation_GetLastFrame(&D_0600119C), 2, -3.0f);
this->actor.speedXZ = 0.0f;
this->unk_19C = 100;
this->actor.posRot.rot.y = this->actor.shape.rot.y;
@@ -313,7 +312,7 @@ void func_80AD97C8(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80AD98F4(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600119C, 1.5f, 0.0f, SkelAnime_GetFrameCount(&D_0600119C), 2, -3.0f);
+ Animation_Change(&this->skelAnime, &D_0600119C, 1.5f, 0.0f, Animation_GetLastFrame(&D_0600119C), 2, -3.0f);
if (this->unk_194 == 0) {
this->unk_294 = 110.0f;
func_80AD97C8(this, globalCtx);
@@ -373,7 +372,7 @@ void func_80AD9AA8(EnPoSisters* this, GlobalContext* globalCtx) {
actor3->parent = &this->actor;
actor2->parent = &this->actor;
actor1->parent = &this->actor;
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000680);
+ Animation_PlayLoop(&this->skelAnime, &D_06000680);
this->unk_198 = 0;
this->unk_199 = 160;
this->actionFunc = func_80ADB2B8;
@@ -402,10 +401,10 @@ void func_80AD9C24(EnPoSisters* this, GlobalContext* globalCtx) {
void func_80AD9D44(EnPoSisters* this) {
if (this->unk_194 == 3) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600119C);
+ Animation_PlayOnce(&this->skelAnime, &D_0600119C);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_APPEAR);
} else {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600119C, 0.5f, 0.0f, SkelAnime_GetFrameCount(&D_0600119C), 3, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600119C, 0.5f, 0.0f, Animation_GetLastFrame(&D_0600119C), 3, 0.0f);
}
this->unk_22E.a = 0;
this->unk_199 = 32;
@@ -413,7 +412,7 @@ void func_80AD9D44(EnPoSisters* this) {
}
void func_80AD9DF0(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_0600119C, -5.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_0600119C, -5.0f);
this->unk_198 = 1;
this->unk_199 &= ~0x80;
this->actionFunc = func_80ADB4B0;
@@ -421,8 +420,8 @@ void func_80AD9DF0(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80AD9E60(EnPoSisters* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000D40, -3.0f);
- this->unk_19A = SkelAnime_GetFrameCount(&D_06000D40) * 7 + 7;
+ Animation_MorphToLoop(&this->skelAnime, &D_06000D40, -3.0f);
+ this->unk_19A = Animation_GetLastFrame(&D_06000D40) * 7 + 7;
if (this->actor.parent != NULL) {
this->actor.posRot.pos = this->actor.parent->posRot.pos;
this->actor.shape.rot.y = this->actor.parent->shape.rot.y;
@@ -437,7 +436,7 @@ void func_80AD9E60(EnPoSisters* this) {
}
void func_80AD9F1C(EnPoSisters* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000D40, -3.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000D40, -3.0f);
this->unk_22E.a = 255;
this->unk_19A = 300;
this->unk_19C = 3;
@@ -454,14 +453,14 @@ void func_80AD9F90(EnPoSisters* this) {
this->actor.initPosRot.pos.x = 752.0f;
this->actor.initPosRot.pos.z = -3440.0f;
}
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06000D40);
+ Animation_PlayLoop(&this->skelAnime, &D_06000D40);
this->unk_199 |= 0xA;
this->actionFunc = func_80ADBB6C;
this->actor.speedXZ = 5.0f;
}
void func_80ADA028(EnPoSisters* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_060014CC, -3.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_060014CC, -3.0f);
this->unk_22E.a = 255;
this->unk_199 |= 0x15;
this->actor.flags |= 1;
@@ -490,7 +489,7 @@ void func_80ADA10C(EnPoSisters* this) {
}
void func_80ADA1B8(EnPoSisters* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600119C, 0.833f, 0.0f, SkelAnime_GetFrameCount(&D_0600119C), 3, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600119C, 0.833f, 0.0f, Animation_GetLastFrame(&D_0600119C), 3, 0.0f);
if (this->unk_194 == 0 || this->unk_194 == 1) {
this->unk_19A = 40;
} else {
@@ -502,7 +501,7 @@ void func_80ADA1B8(EnPoSisters* this) {
}
void func_80ADA25C(EnPoSisters* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060014CC);
+ Animation_PlayLoop(&this->skelAnime, &D_060014CC);
this->unk_198 = 8;
this->unk_19A = 32;
func_80AD9240(this, this->unk_19A, &this->actor.initPosRot.pos);
@@ -510,7 +509,7 @@ void func_80ADA25C(EnPoSisters* this) {
}
void func_80ADA2BC(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_06000D40, -3.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_06000D40, -3.0f);
this->unk_198 = 0;
this->unk_199 = 40;
this->unk_19A = 90;
@@ -553,8 +552,8 @@ void func_80ADA35C(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADA4A8(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 0.0f) && this->unk_19A != 0) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) && this->unk_19A != 0) {
this->unk_19A--;
}
if (this->unk_19A == 0 || this->actor.xzDistFromLink < 200.0f) {
@@ -563,9 +562,9 @@ void func_80ADA4A8(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADA530(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_StepToF(&this->actor.speedXZ, 1.0f, 0.2f);
- if (func_800A56C8(&this->skelAnime, 0.0f) && this->unk_19A != 0) {
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) && this->unk_19A != 0) {
this->unk_19A--;
}
if (this->actor.xzDistFromLink < 200.0f && fabsf(this->actor.yDistFromLink + 5.0f) < 30.0f) {
@@ -584,7 +583,7 @@ void func_80ADA6A0(EnPoSisters* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
s16 temp_v0;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
temp_v0 = this->actor.yawTowardsLink - player->actor.shape.rot.y;
Math_StepToF(&this->actor.speedXZ, 2.0f, 0.2f);
if (temp_v0 > 0x3000) {
@@ -602,11 +601,11 @@ void func_80ADA6A0(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADA7F0(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_19A != 0) {
this->unk_19A--;
}
- this->actor.shape.rot.y += 384.0f * ((this->skelAnime.animFrameCount + 1.0f) * 3.0f - this->unk_19A);
+ this->actor.shape.rot.y += 384.0f * ((this->skelAnime.endFrame + 1.0f) * 3.0f - this->unk_19A);
if (this->unk_19A == 18 || this->unk_19A == 7) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_ROLL);
}
@@ -618,11 +617,11 @@ void func_80ADA7F0(EnPoSisters* this, GlobalContext* globalCtx) {
void func_80ADA8C0(EnPoSisters* this, GlobalContext* globalCtx) {
s32 pad;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 0.0f) && this->unk_19A != 0) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) && this->unk_19A != 0) {
this->unk_19A--;
}
- this->actor.shape.rot.y += (384.0f * this->skelAnime.animFrameCount) * 3.0f;
+ this->actor.shape.rot.y += (384.0f * this->skelAnime.endFrame) * 3.0f;
if (this->unk_19A == 0 && ABS((s16)(this->actor.shape.rot.y - this->actor.posRot.rot.y)) < 0x1000) {
if (this->unk_194 != 0) {
this->collider.base.type = COLTYPE_UNK3;
@@ -633,13 +632,13 @@ void func_80ADA8C0(EnPoSisters* this, GlobalContext* globalCtx) {
func_80AD9C24(this, globalCtx);
}
}
- if (func_800A56C8(&this->skelAnime, 1.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 1.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_ROLL);
}
}
void func_80ADA9E8(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->actor.shape.rot.y -= (this->actor.speedXZ * 10.0f) * 128.0f;
if (Math_StepToF(&this->actor.speedXZ, 0.0f, 0.1f) != 0) {
this->actor.posRot.rot.y = this->actor.shape.rot.y;
@@ -653,7 +652,7 @@ void func_80ADA9E8(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADAAA4(EnPoSisters* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) && !(this->actor.flags & 0x8000)) {
+ if (SkelAnime_Update(&this->skelAnime) && !(this->actor.flags & 0x8000)) {
if (this->actor.colChkInfo.health != 0) {
if (this->unk_194 != 0) {
func_80AD96A4(this);
@@ -669,8 +668,7 @@ void func_80ADAAA4(EnPoSisters* this, GlobalContext* globalCtx) {
if (this->unk_195 != 0) {
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.parent->shape.rot.y,
(this->unk_195 == 2) ? 0x800 : 0x400);
- this->unk_22E.a = ((this->skelAnime.animFrameCount - this->skelAnime.animCurrentFrame) * 255.0f) /
- this->skelAnime.animFrameCount;
+ this->unk_22E.a = ((this->skelAnime.endFrame - this->skelAnime.curFrame) * 255.0f) / this->skelAnime.endFrame;
this->actor.posRot.pos.y = this->actor.parent->posRot.pos.y;
func_80AD97C8(this, globalCtx);
} else if (this->unk_194 != 0) {
@@ -679,9 +677,9 @@ void func_80ADAAA4(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADAC70(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_ScaledStepToS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink + 0x8000, 1820);
- if (func_800A56C8(&this->skelAnime, 0.0f) && this->unk_19A != 0) {
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) && this->unk_19A != 0) {
this->unk_19A--;
}
if (this->actor.bgCheckFlags & 8) {
@@ -695,20 +693,20 @@ void func_80ADAC70(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADAD54(EnPoSisters* this, GlobalContext* globalCtx) {
- s32 animFrameCount;
+ s32 endFrame;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->unk_22E.a = 0;
this->collider.body.bumper.flags = 0x60001;
func_80AD93C4(this);
} else {
- animFrameCount = this->skelAnime.animFrameCount;
- this->unk_22E.a = ((animFrameCount - this->skelAnime.animCurrentFrame) * 255.0f) / animFrameCount;
+ endFrame = this->skelAnime.endFrame;
+ this->unk_22E.a = ((endFrame - this->skelAnime.curFrame) * 255.0f) / endFrame;
}
}
void func_80ADAE6C(EnPoSisters* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->unk_22E.a = 255;
if (this->unk_194 != 0) {
this->unk_199 |= 1;
@@ -724,7 +722,7 @@ void func_80ADAE6C(EnPoSisters* this, GlobalContext* globalCtx) {
func_80AD9F1C(this);
}
} else {
- this->unk_22E.a = (this->skelAnime.animCurrentFrame * 255.0f) / this->skelAnime.animFrameCount;
+ this->unk_22E.a = (this->skelAnime.curFrame * 255.0f) / this->skelAnime.endFrame;
if (this->unk_194 == 0) {
func_80AD97C8(this, globalCtx);
}
@@ -786,11 +784,11 @@ void func_80ADB17C(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADB2B8(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->actor.xzDistFromLink < 130.0f) {
func_80AD9DF0(this, globalCtx);
}
- if (func_800A56C8(&this->skelAnime, 0.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 0.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_CRY);
}
this->actor.shape.rot.y = this->actor.yawTowardsLink;
@@ -828,7 +826,7 @@ void func_80ADB338(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADB4B0(EnPoSisters* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
func_80AD9E60(this);
}
func_80AD97C8(this, globalCtx);
@@ -842,9 +840,9 @@ void func_80ADB51C(EnPoSisters* this, GlobalContext* globalCtx) {
s16 phi_a2;
u8 temp;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- temp_f2 = this->skelAnime.animFrameCount * 0.5f;
- this->unk_22E.a = (fabsf(temp_f2 - this->skelAnime.animCurrentFrame) * 255.0f) / temp_f2;
+ SkelAnime_Update(&this->skelAnime);
+ temp_f2 = this->skelAnime.endFrame * 0.5f;
+ this->unk_22E.a = (fabsf(temp_f2 - this->skelAnime.curFrame) * 255.0f) / temp_f2;
if (this->unk_19A != 0) {
this->unk_19A -= 1;
}
@@ -896,7 +894,7 @@ void func_80ADB770(EnPoSisters* this, GlobalContext* globalCtx) {
}
if (this->unk_19C > 0) {
if (this->unk_19A >= 16) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_195 == 0) {
if (ABS((s16)(16 - this->unk_196)) < 14) {
this->actor.shape.rot.y +=
@@ -947,7 +945,7 @@ void func_80ADB770(EnPoSisters* this, GlobalContext* globalCtx) {
void func_80ADB9F0(EnPoSisters* this, GlobalContext* globalCtx) {
f32 div;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->unk_22E.a = 255;
if (this->unk_194 == 3) {
this->actor.flags |= 1;
@@ -959,17 +957,17 @@ void func_80ADB9F0(EnPoSisters* this, GlobalContext* globalCtx) {
func_80AD9F90(this);
}
} else {
- div = this->skelAnime.animCurrentFrame / this->skelAnime.animFrameCount;
+ div = this->skelAnime.curFrame / this->skelAnime.endFrame;
this->unk_22E.a = 255.0f * div;
}
- if (this->unk_194 != 3 && func_800A56C8(&this->skelAnime, 1.0f)) {
+ if (this->unk_194 != 3 && Animation_OnFrame(&this->skelAnime, 1.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_APPEAR);
}
Actor_SetHeight(&this->actor, 40.0f);
}
void func_80ADBB6C(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (func_8002DBB0(&this->actor, &this->actor.initPosRot.pos) < 10.0f) {
func_80ADA028(this);
} else {
@@ -978,7 +976,7 @@ void func_80ADBB6C(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADBBF4(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_ScaledStepToS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink, 1820);
if (this->actor.xzDistFromLink < 240.0f && fabsf(this->actor.yDistFromLink + 5.0f) < 30.0f) {
func_80AD93C4(this);
@@ -1018,11 +1016,11 @@ void func_80ADBD8C(EnPoSisters* this, GlobalContext* globalCtx) {
this->unk_199 &= ~0x80;
}
if (this->unk_19A <= 0) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->unk_22E.a = 255;
D_80ADD784 |= (1 << this->unk_194);
} else {
- this->unk_22E.a = (this->skelAnime.animCurrentFrame * 255.0f) / this->skelAnime.animFrameCount;
+ this->unk_22E.a = (this->skelAnime.curFrame * 255.0f) / this->skelAnime.endFrame;
}
}
if (D_80ADD784 == 15) {
@@ -1031,7 +1029,7 @@ void func_80ADBD8C(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADBEE8(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_19A != 0) {
this->unk_19A--;
}
@@ -1042,7 +1040,7 @@ void func_80ADBEE8(EnPoSisters* this, GlobalContext* globalCtx) {
}
void func_80ADBF58(EnPoSisters* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
this->unk_19A--;
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.posRot.rot.y, 0x500);
if (this->unk_19A == 0 && this->unk_194 == 0) {
@@ -1243,7 +1241,7 @@ s32 EnPoSisters_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx**
gDPPipeSync((*gfxP)++);
gDPSetEnvColor((*gfxP)++, color->r, color->g, color->b, this->unk_22E.a);
}
- return 0;
+ return false;
}
void EnPoSisters_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx,
@@ -1307,13 +1305,13 @@ void EnPoSisters_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, this->unk_22E.r, this->unk_22E.g, this->unk_22E.b, this->unk_22E.a);
gSPSegment(POLY_OPA_DISP++, 0x09, D_80116280 + 2);
POLY_OPA_DISP =
- SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnPoSisters_OverrideLimbDraw, EnPoSisters_PostLimbDraw, &this->actor, POLY_OPA_DISP);
} else {
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, this->unk_22E.a);
gSPSegment(POLY_XLU_DISP++, 0x09, D_80116280);
POLY_XLU_DISP =
- SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnPoSisters_OverrideLimbDraw, EnPoSisters_PostLimbDraw, &this->actor, POLY_XLU_DISP);
}
if (!(this->unk_199 & 0x80)) {
diff --git a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.h b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.h
index 3ce5d6e9df..955bbfc62e 100644
--- a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.h
+++ b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.h
@@ -20,8 +20,8 @@ typedef struct EnPoSisters {
/* 0x0199 */ u8 unk_199;
/* 0x019A */ s16 unk_19A;
/* 0x019A */ s16 unk_19C;
- /* 0x019E */ Vec3s limbDrawTable[12];
- /* 0x01E6 */ Vec3s transitionDrawTable[12];
+ /* 0x019E */ Vec3s jointTable[12];
+ /* 0x01E6 */ Vec3s morphTable[12];
/* 0x022E */ Color_RGBA8 unk_22E;
/* 0x0234 */ Vec3f unk_234[8];
/* 0x0294 */ f32 unk_294;
diff --git a/src/overlays/actors/ovl_En_Poh/z_en_poh.c b/src/overlays/actors/ovl_En_Poh/z_en_poh.c
index 5f82214cc7..4f7dbe340e 100644
--- a/src/overlays/actors/ovl_En_Poh/z_en_poh.c
+++ b/src/overlays/actors/ovl_En_Poh/z_en_poh.c
@@ -211,20 +211,20 @@ void EnPoh_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void func_80ADE114(EnPoh* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, this->info->unk_C);
+ Animation_PlayLoop(&this->skelAnime, this->info->unk_C);
this->unk_198 = Rand_S16Offset(2, 3);
this->actionFunc = func_80ADEAC4;
this->actor.speedXZ = 0.0f;
}
void EnPoh_SetupIdle(EnPoh* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, this->info->unk_10);
+ Animation_PlayLoop(&this->skelAnime, this->info->unk_10);
this->unk_198 = Rand_S16Offset(15, 3);
this->actionFunc = EnPoh_Idle;
}
void func_80ADE1BC(EnPoh* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, this->info->unk_10);
+ Animation_PlayLoop(&this->skelAnime, this->info->unk_10);
this->actionFunc = func_80ADEC9C;
this->unk_198 = 0;
this->actor.speedXZ = 2.0f;
@@ -232,9 +232,9 @@ void func_80ADE1BC(EnPoh* this) {
void EnPoh_SetupAttack(EnPoh* this) {
if (this->infoIdx == EN_POH_INFO_NORMAL) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_060001A8, -6.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_060001A8, -6.0f);
} else {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_0600020C);
+ Animation_PlayLoop(&this->skelAnime, &D_0600020C);
}
this->unk_198 = 12;
this->actor.speedXZ = 0.0f;
@@ -244,9 +244,9 @@ void EnPoh_SetupAttack(EnPoh* this) {
void func_80ADE28C(EnPoh* this) {
if (this->infoIdx == EN_POH_INFO_NORMAL) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060004EC, -6.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060004EC, -6.0f);
} else {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06000570);
+ Animation_PlayOnce(&this->skelAnime, &D_06000570);
}
if (this->colliderCyl.body.acHitItem->toucher.flags & 0x0001F824) {
this->actor.posRot.rot.y = this->colliderCyl.base.ac->posRot.rot.y;
@@ -260,7 +260,7 @@ void func_80ADE28C(EnPoh* this) {
}
void func_80ADE368(EnPoh* this) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, this->info->unk_18, -5.0f);
+ Animation_MorphToLoop(&this->skelAnime, this->info->unk_18, -5.0f);
this->actor.speedXZ = 5.0f;
this->actor.posRot.rot.y = this->actor.shape.rot.y + 0x8000;
this->colliderCyl.base.acFlags |= 1;
@@ -272,10 +272,10 @@ void EnPoh_SetupInitialAction(EnPoh* this) {
this->lightColor.a = 0;
this->actor.flags &= ~1;
if (this->infoIdx == EN_POH_INFO_NORMAL) {
- SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, &D_060011C4, 0.0f);
+ Animation_PlayOnceSetSpeed(&this->skelAnime, &D_060011C4, 0.0f);
this->actionFunc = func_80ADEF38;
} else {
- SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, &D_06000FE4, 1.0f);
+ Animation_PlayOnceSetSpeed(&this->skelAnime, &D_06000FE4, 1.0f);
this->actor.posRot.pos.y = this->actor.initPosRot.pos.y + 20.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_LAUGH);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_APPEAR);
@@ -293,13 +293,13 @@ void func_80ADE48C(EnPoh* this) {
}
void func_80ADE4C8(EnPoh* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, this->info->unk_10);
+ Animation_PlayOnce(&this->skelAnime, this->info->unk_10);
this->actionFunc = func_80ADF574;
this->actor.speedXZ = -5.0f;
}
void func_80ADE514(EnPoh* this) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, this->info->unk_C);
+ Animation_PlayLoop(&this->skelAnime, this->info->unk_C);
this->unk_19C = this->actor.posRot.rot.y + 0x8000;
this->actionFunc = func_80ADF5E0;
this->actor.speedXZ = 0.0f;
@@ -432,8 +432,8 @@ void func_80ADEA5C(EnPoh* this) {
}
void func_80ADEAC4(EnPoh* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 0.0f) && this->unk_198 != 0) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) && this->unk_198 != 0) {
this->unk_198--;
}
EnPoh_MoveTowardsPlayerHeight(this, globalCtx);
@@ -448,9 +448,9 @@ void func_80ADEAC4(EnPoh* this, GlobalContext* globalCtx) {
}
void EnPoh_Idle(EnPoh* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_StepToF(&this->actor.speedXZ, 1.0f, 0.2f);
- if (func_800A56C8(&this->skelAnime, 0.0f) && this->unk_198 != 0) {
+ if (Animation_OnFrame(&this->skelAnime, 0.0f) && this->unk_198 != 0) {
this->unk_198--;
}
func_80ADEA5C(this);
@@ -474,7 +474,7 @@ void func_80ADEC9C(EnPoh* this, GlobalContext* globalCtx) {
s16 facingDiff;
player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->unk_198 != 0) {
this->unk_198--;
}
@@ -499,8 +499,8 @@ void func_80ADEC9C(EnPoh* this, GlobalContext* globalCtx) {
}
void EnPoh_Attack(EnPoh* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (func_800A56C8(&this->skelAnime, 0.0f)) {
+ SkelAnime_Update(&this->skelAnime);
+ if (Animation_OnFrame(&this->skelAnime, 0.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_KANTERA);
if (this->unk_198 != 0) {
this->unk_198--;
@@ -511,7 +511,7 @@ void EnPoh_Attack(EnPoh* this, GlobalContext* globalCtx) {
Math_ScaledStepToS(&this->actor.posRot.rot.y, this->actor.yawTowardsLink, 0xE38);
} else if (this->unk_198 == 9) {
this->actor.speedXZ = 5.0f;
- this->skelAnime.animPlaybackSpeed = 2.0f;
+ this->skelAnime.playSpeed = 2.0f;
} else if (this->unk_198 == 0) {
EnPoh_SetupIdle(this);
this->unk_198 = 23;
@@ -520,7 +520,7 @@ void EnPoh_Attack(EnPoh* this, GlobalContext* globalCtx) {
void func_80ADEECC(EnPoh* this, GlobalContext* globalCtx) {
Math_StepToF(&this->actor.speedXZ, 0.0f, 0.5f);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->actor.colChkInfo.health != 0) {
func_80ADE368(this);
} else {
@@ -530,28 +530,28 @@ void func_80ADEECC(EnPoh* this, GlobalContext* globalCtx) {
}
void func_80ADEF38(EnPoh* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->lightColor.a = 255;
this->visibilityTimer = Rand_S16Offset(700, 300);
this->actor.flags |= 1;
EnPoh_SetupIdle(this);
- } else if (this->skelAnime.animCurrentFrame > 10.0f) {
- this->lightColor.a = ((this->skelAnime.animCurrentFrame - 10.0f) * 0.05f) * 255.0f;
+ } else if (this->skelAnime.curFrame > 10.0f) {
+ this->lightColor.a = ((this->skelAnime.curFrame - 10.0f) * 0.05f) * 255.0f;
}
- if (this->skelAnime.animPlaybackSpeed < 0.5f && this->actor.xzDistFromLink < 280.0f) {
+ if (this->skelAnime.playSpeed < 0.5f && this->actor.xzDistFromLink < 280.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_APPEAR);
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
}
}
void EnPoh_ComposerAppear(EnPoh* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->lightColor.a = 255;
this->visibilityTimer = Rand_S16Offset(700, 300);
this->actor.flags |= 1;
EnPoh_SetupIdle(this);
} else {
- this->lightColor.a = CLAMP_MAX((s32)(this->skelAnime.animCurrentFrame * 25.5f), 255);
+ this->lightColor.a = CLAMP_MAX((s32)(this->skelAnime.curFrame * 25.5f), 255);
}
}
@@ -602,7 +602,7 @@ void func_80ADF15C(EnPoh* this, GlobalContext* globalCtx) {
}
void func_80ADF574(EnPoh* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->actor.posRot.rot.y = this->actor.shape.rot.y;
EnPoh_SetupIdle(this);
this->unk_198 = 23;
@@ -613,7 +613,7 @@ void func_80ADF574(EnPoh* this, GlobalContext* globalCtx) {
}
void func_80ADF5E0(EnPoh* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (Math_ScaledStepToS(&this->actor.posRot.rot.y, this->unk_19C, 1820) != 0) {
EnPoh_SetupIdle(this);
}
@@ -651,7 +651,7 @@ void EnPoh_Appear(EnPoh* this, GlobalContext* globalCtx) {
void func_80ADF894(EnPoh* this, GlobalContext* globalCtx) {
f32 multiplier;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
multiplier = Math_SinS(this->unk_195 * 0x800) * 3.0f;
this->actor.posRot.pos.x -= multiplier * Math_CosS(this->actor.shape.rot.y);
this->actor.posRot.pos.z += multiplier * Math_SinS(this->actor.shape.rot.y);
@@ -866,12 +866,12 @@ void EnPoh_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actor.update = EnPoh_UpdateLiving;
Actor_SetObjectDependency(globalCtx, &this->actor);
if (this->infoIdx == EN_POH_INFO_NORMAL) {
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_060050D0, &D_06000A60, this->limbDrawTable,
- this->transitionDrawTable, 21);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_060050D0, &D_06000A60, this->jointTable, this->morphTable,
+ 21);
this->actor.draw = EnPoh_DrawRegular;
} else {
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06006F90, &D_060009DC, this->limbDrawTable,
- this->transitionDrawTable, 12);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06006F90, &D_060009DC, this->jointTable,
+ this->morphTable, 12);
this->actor.draw = EnPoh_DrawComposer;
this->colliderSph.list[0].dim.joint = 9;
this->colliderSph.list->dim.modelSphere.center.y *= -1;
@@ -925,9 +925,9 @@ void func_80AE089C(EnPoh* this) {
f32 rand;
if ((this->actionFunc == func_80ADEF38 || this->actionFunc == EnPoh_ComposerAppear) &&
- this->skelAnime.animCurrentFrame < 12.0f) {
- this->envColor.r = this->envColor.g = this->envColor.b = (s16)(this->skelAnime.animCurrentFrame * 16.66f) + 55;
- this->envColor.a = this->skelAnime.animCurrentFrame * 16.666666f;
+ this->skelAnime.curFrame < 12.0f) {
+ this->envColor.r = this->envColor.g = this->envColor.b = (s16)(this->skelAnime.curFrame * 16.66f) + 55;
+ this->envColor.a = this->skelAnime.curFrame * 16.666666f;
} else {
rand = Rand_ZeroOne();
this->envColor.r = (s16)(rand * 30.0f) + 225;
@@ -991,7 +991,7 @@ s32 EnPoh_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
gDPPipeSync((*gfxP)++);
gDPSetEnvColor((*gfxP)++, this->lightColor.r, this->lightColor.g, this->lightColor.b, this->lightColor.a);
}
- return 0;
+ return false;
}
void EnPoh_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfxP) {
@@ -1031,12 +1031,12 @@ void EnPoh_DrawRegular(Actor* thisx, GlobalContext* globalCtx) {
if (this->lightColor.a == 255 || this->lightColor.a == 0) {
gDPSetEnvColor(POLY_OPA_DISP++, this->lightColor.r, this->lightColor.g, this->lightColor.b, this->lightColor.a);
gSPSegment(POLY_OPA_DISP++, 0x08, D_80116280 + 2);
- POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnPoh_OverrideLimbDraw, EnPoh_PostLimbDraw, &this->actor, POLY_OPA_DISP);
} else {
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, this->lightColor.a);
gSPSegment(POLY_XLU_DISP++, 0x08, D_80116280);
- POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
EnPoh_OverrideLimbDraw, EnPoh_PostLimbDraw, &this->actor, POLY_XLU_DISP);
}
gDPPipeSync(POLY_OPA_DISP++);
@@ -1072,7 +1072,7 @@ void EnPoh_DrawComposer(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x0B,
Gfx_EnvColor(globalCtx->state.gfxCtx, phi_t0->r, phi_t0->g, phi_t0->b, this->lightColor.a));
gSPSegment(POLY_OPA_DISP++, 0x0C, D_80116280 + 2);
- POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnPoh_OverrideLimbDraw, EnPoh_PostLimbDraw,
&this->actor, POLY_OPA_DISP);
} else {
@@ -1086,7 +1086,7 @@ void EnPoh_DrawComposer(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_XLU_DISP++, 0x0B,
Gfx_EnvColor(globalCtx->state.gfxCtx, phi_t0->r, phi_t0->g, phi_t0->b, this->lightColor.a));
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnPoh_OverrideLimbDraw, EnPoh_PostLimbDraw,
&this->actor, POLY_XLU_DISP);
}
diff --git a/src/overlays/actors/ovl_En_Poh/z_en_poh.h b/src/overlays/actors/ovl_En_Poh/z_en_poh.h
index 7ee1ee042c..ec824eb575 100644
--- a/src/overlays/actors/ovl_En_Poh/z_en_poh.h
+++ b/src/overlays/actors/ovl_En_Poh/z_en_poh.h
@@ -46,8 +46,8 @@ typedef struct EnPoh {
/* 0x0198 */ s16 unk_198;
/* 0x019A */ s16 visibilityTimer;
/* 0x019C */ s16 unk_19C;
- /* 0x019E */ Vec3s limbDrawTable[21];
- /* 0x021C */ Vec3s transitionDrawTable[21];
+ /* 0x019E */ Vec3s jointTable[21];
+ /* 0x021C */ Vec3s morphTable[21];
/* 0x029A */ Color_RGBA8 lightColor;
/* 0x029E */ Color_RGBA8 envColor;
/* 0x02A4 */ EnPohInfo* info;
diff --git a/src/overlays/actors/ovl_En_Rd/z_en_rd.c b/src/overlays/actors/ovl_En_Rd/z_en_rd.c
index c68ccc02c1..568d21c12c 100644
--- a/src/overlays/actors/ovl_En_Rd/z_en_rd.c
+++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.c
@@ -113,12 +113,12 @@ void EnRd_Init(Actor* thisx, GlobalContext* globalCtx) {
}
if (thisx->params >= -1) {
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600E778, &D_060087D0, this->limbDrawTable,
- this->transitionDrawTable, 26);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600E778, &D_060087D0, this->jointTable, this->morphTable,
+ 26);
thisx->naviEnemyId = 42;
} else {
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DD8, &D_060087D0, this->limbDrawTable,
- this->transitionDrawTable, 26);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DD8, &D_060087D0, this->jointTable, this->morphTable,
+ 26);
thisx->naviEnemyId = 45;
}
@@ -131,7 +131,7 @@ void EnRd_Init(Actor* thisx, GlobalContext* globalCtx) {
func_80AE2970(this);
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (thisx->params == 3) {
thisx->flags |= 0x80;
@@ -167,9 +167,9 @@ void func_80AE2630(GlobalContext* globalCtx, Actor* thisx, s32 arg2) {
void func_80AE269C(EnRd* this) {
if (this->actor.params != 2) {
- SkelAnime_ChangeAnimTransitionRepeat(&this->skelAnime, &D_060087D0, -6.0f);
+ Animation_MorphToLoop(&this->skelAnime, &D_060087D0, -6.0f);
} else {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06005D98);
+ Animation_PlayLoop(&this->skelAnime, &D_06005D98);
}
this->unk_31B = 0;
@@ -180,21 +180,21 @@ void func_80AE269C(EnRd* this) {
}
void func_80AE2744(EnRd* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
Math_SmoothStepToS(&this->unk_30E, 0, 1, 0x64, 0);
Math_SmoothStepToS(&this->unk_310, 0, 1, 0x64, 0);
- if ((this->actor.params == 2) && (0.0f == this->skelAnime.animCurrentFrame)) {
+ if ((this->actor.params == 2) && (0.0f == this->skelAnime.curFrame)) {
if (Rand_ZeroOne() >= 0.5f) {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06005D98);
+ Animation_PlayLoop(&this->skelAnime, &D_06005D98);
} else {
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060057AC);
+ Animation_PlayLoop(&this->skelAnime, &D_060057AC);
}
} else {
this->unk_30C--;
if (this->unk_30C == 0) {
this->unk_30C = (Rand_ZeroOne() * 10.0f) + 10.0f;
- this->skelAnime.animCurrentFrame = 0.0f;
+ this->skelAnime.curFrame = 0.0f;
}
}
@@ -231,7 +231,7 @@ void func_80AE2744(EnRd* this, GlobalContext* globalCtx) {
}
void func_80AE2970(EnRd* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060087D0, 0, 0, SkelAnime_GetFrameCount(&D_060087D0), 0, -6.0f);
+ Animation_Change(&this->skelAnime, &D_060087D0, 0, 0, Animation_GetLastFrame(&D_060087D0), 0, -6.0f);
this->unk_31B = 0xB;
this->unk_30C = 6;
this->actor.shape.rot.x = -0x4000;
@@ -266,7 +266,7 @@ void func_80AE2A10(EnRd* this, GlobalContext* globalCtx) {
}
void func_80AE2B90(EnRd* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600EFDC, 1.0f, 4.0f, SkelAnime_GetFrameCount(&D_0600EFDC), 1, -4.0f);
+ Animation_Change(&this->skelAnime, &D_0600EFDC, 1.0f, 4.0f, Animation_GetLastFrame(&D_0600EFDC), 1, -4.0f);
this->actor.speedXZ = 0.4f;
this->unk_31B = 4;
EnRd_SetupAction(this, func_80AE2C1C);
@@ -280,12 +280,12 @@ void func_80AE2C1C(EnRd* this, GlobalContext* globalCtx) {
s32 pad;
s16 sp32 = this->actor.yawTowardsLink - this->actor.shape.rot.y - this->unk_30E - this->unk_310;
- this->skelAnime.animPlaybackSpeed = this->actor.speedXZ;
+ this->skelAnime.playSpeed = this->actor.speedXZ;
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsLink, 1, 0xFA, 0);
Math_SmoothStepToS(&this->unk_30E, 0, 1, 0x64, 0);
Math_SmoothStepToS(&this->unk_310, 0, 1, 0x64, 0);
this->actor.posRot.rot.y = this->actor.shape.rot.y;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (func_8002DB6C(&player->actor, &this->actor.initPosRot.pos) >= 150.0f) {
func_80AE2F50(this, globalCtx);
@@ -325,7 +325,7 @@ void func_80AE2C1C(EnRd* this, GlobalContext* globalCtx) {
}
}
- if ((this->skelAnime.animCurrentFrame == 10.0f) || (this->skelAnime.animCurrentFrame == 22.0f)) {
+ if ((this->skelAnime.curFrame == 10.0f) || (this->skelAnime.curFrame == 22.0f)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_WALK);
} else if ((globalCtx->gameplayFrames & 95) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_REDEAD_CRY);
@@ -333,7 +333,7 @@ void func_80AE2C1C(EnRd* this, GlobalContext* globalCtx) {
}
void func_80AE2F50(EnRd* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600EFDC, 0.5f, 0, SkelAnime_GetFrameCount(&D_0600EFDC), 1, -4.0f);
+ Animation_Change(&this->skelAnime, &D_0600EFDC, 0.5f, 0, Animation_GetLastFrame(&D_0600EFDC), 1, -4.0f);
this->unk_31B = 2;
EnRd_SetupAction(this, func_80AE2FD0);
}
@@ -359,7 +359,7 @@ void func_80AE2FD0(EnRd* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->unk_30E, 0, 1, 0x64, 0);
Math_SmoothStepToS(&this->unk_310, 0, 1, 0x64, 0);
this->actor.posRot.rot.y = this->actor.shape.rot.y;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (!(player->stateFlags1 & 0x2C6080) && !(player->stateFlags2 & 0x80) &&
(func_8002DB6C(&player->actor, &this->actor.initPosRot.pos) < 150.0f)) {
@@ -373,7 +373,7 @@ void func_80AE2FD0(EnRd* this, GlobalContext* globalCtx) {
}
}
- if (this->skelAnime.animCurrentFrame == 10.0f || this->skelAnime.animCurrentFrame == 22.0f) {
+ if (this->skelAnime.curFrame == 10.0f || this->skelAnime.curFrame == 22.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_WALK);
} else if ((globalCtx->gameplayFrames & 95) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_REDEAD_CRY);
@@ -381,7 +381,7 @@ void func_80AE2FD0(EnRd* this, GlobalContext* globalCtx) {
}
void func_80AE31DC(EnRd* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600EFDC, 0.5f, 0, SkelAnime_GetFrameCount(&D_0600EFDC), 1, -4.0f);
+ Animation_Change(&this->skelAnime, &D_0600EFDC, 0.5f, 0, Animation_GetLastFrame(&D_0600EFDC), 1, -4.0f);
this->unk_31B = 3;
this->unk_305 = 1;
EnRd_SetupAction(this, func_80AE3260);
@@ -416,9 +416,9 @@ void func_80AE3260(EnRd* this, GlobalContext* globalCtx) {
}
this->actor.posRot.rot.y = this->actor.shape.rot.y;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
- if (this->skelAnime.animCurrentFrame == 10.0f || this->skelAnime.animCurrentFrame == 22.0f) {
+ if (this->skelAnime.curFrame == 10.0f || this->skelAnime.curFrame == 22.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_WALK);
} else if ((globalCtx->gameplayFrames & 95) == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_REDEAD_CRY);
@@ -426,7 +426,7 @@ void func_80AE3260(EnRd* this, GlobalContext* globalCtx) {
}
void func_80AE33F0(EnRd* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06004ADC);
+ Animation_PlayOnce(&this->skelAnime, &D_06004ADC);
this->unk_30C = this->unk_304 = 0;
this->unk_319 = 0xC8;
this->unk_31B = 8;
@@ -438,13 +438,13 @@ void func_80AE3454(EnRd* this, GlobalContext* globalCtx) {
s32 pad;
Player* player = PLAYER;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->unk_304++;
}
switch (this->unk_304) {
case 1:
- SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06004268);
+ Animation_PlayLoop(&this->skelAnime, &D_06004268);
this->unk_304++;
globalCtx->damagePlayer(globalCtx, -8);
func_800AA000(this->actor.xzDistFromLink, 0xFF, 1, 0xC);
@@ -454,8 +454,8 @@ void func_80AE3454(EnRd* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->unk_310, 0, 1, 0x5DC, 0);
case 2:
if (!(player->stateFlags2 & 0x80)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060046F8, 0.5f, 0.0f, SkelAnime_GetFrameCount(&D_060046F8), 3,
- 0.0f);
+ Animation_Change(&this->skelAnime, &D_060046F8, 0.5f, 0.0f, Animation_GetLastFrame(&D_060046F8), 3,
+ 0.0f);
this->unk_304++;
this->unk_31B = 4;
return;
@@ -474,7 +474,7 @@ void func_80AE3454(EnRd* this, GlobalContext* globalCtx) {
10.0f, 0.0f);
Math_SmoothStepToS(&this->actor.shape.rot.y, player->actor.shape.rot.y, 1, 0x1770, 0);
- if (this->skelAnime.animCurrentFrame == 0.0f) {
+ if (this->skelAnime.curFrame == 0.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_REDEAD_ATTACK);
}
this->unk_319--;
@@ -505,7 +505,7 @@ void func_80AE3454(EnRd* this, GlobalContext* globalCtx) {
}
void func_80AE37BC(EnRd* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004F94, 0.0f, 0.0f, SkelAnime_GetFrameCount(&D_06004F94), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06004F94, 0.0f, 0.0f, Animation_GetLastFrame(&D_06004F94), 2, 0.0f);
this->unk_31B = 7;
EnRd_SetupAction(this, func_80AE3834);
}
@@ -529,13 +529,13 @@ void func_80AE3834(EnRd* this, GlobalContext* globalCtx) {
}
void func_80AE392C(EnRd* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06008040, -4.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06008040, -4.0f);
this->unk_31B = 5;
EnRd_SetupAction(this, func_80AE3978);
}
void func_80AE3978(EnRd* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->actor.parent != NULL) {
func_80AE31DC(this);
} else {
@@ -545,19 +545,19 @@ void func_80AE3978(EnRd* this, GlobalContext* globalCtx) {
}
void func_80AE39D4(EnRd* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06008040, -1.0f, SkelAnime_GetFrameCount(&D_06008040), 0.0f, 2, -4.0f);
+ Animation_Change(&this->skelAnime, &D_06008040, -1.0f, Animation_GetLastFrame(&D_06008040), 0.0f, 2, -4.0f);
this->unk_31B = 6;
EnRd_SetupAction(this, func_80AE3A54);
}
void func_80AE3A54(EnRd* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
func_80AE269C(this);
}
}
void func_80AE3A8C(EnRd* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_060074F0, -6.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_060074F0, -6.0f);
if (this->actor.bgCheckFlags & 1) {
this->actor.speedXZ = -2.0f;
@@ -579,7 +579,7 @@ void func_80AE3B18(EnRd* this, GlobalContext* globalCtx) {
this->actor.posRot.rot.y = this->actor.yawTowardsLink;
Math_SmoothStepToS(&this->unk_30E, 0, 1, 0x12C, 0);
Math_SmoothStepToS(&this->unk_310, 0, 1, 0x12C, 0);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->actor.posRot.rot.y = this->actor.shape.rot.y;
if (this->actor.parent != NULL) {
@@ -595,7 +595,7 @@ void func_80AE3B18(EnRd* this, GlobalContext* globalCtx) {
}
void func_80AE3C20(EnRd* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06006E88, -1.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06006E88, -1.0f);
this->unk_31B = 0xA;
this->unk_30C = 0x12C;
this->actor.flags &= ~1;
@@ -612,7 +612,7 @@ void func_80AE3C98(EnRd* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->unk_30E, 0, 1, 0x7D0, 0);
Math_SmoothStepToS(&this->unk_310, 0, 1, 0x7D0, 0);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
if (this->unk_30C == 0) {
if (!Flags_GetSwitch(globalCtx, this->unk_312 & 0x7F)) {
Flags_SetSwitch(globalCtx, this->unk_312 & 0x7F);
@@ -629,7 +629,7 @@ void func_80AE3C98(EnRd* this, GlobalContext* globalCtx) {
} else {
this->unk_30C--;
}
- } else if (((s32)this->skelAnime.animCurrentFrame == 33) || ((s32)this->skelAnime.animCurrentFrame == 40)) {
+ } else if (((s32)this->skelAnime.curFrame == 33) || ((s32)this->skelAnime.curFrame == 40)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DOWN);
}
}
@@ -800,7 +800,7 @@ s32 EnRd_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
} else if (limbIndex == 12) {
rot->y += this->unk_310;
}
- return 0;
+ return false;
}
void EnRd_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
@@ -862,8 +862,8 @@ void EnRd_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (this->unk_314 == 0xFF) {
func_80093D18(globalCtx->state.gfxCtx);
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, this->unk_314);
- gSPSegment(POLY_OPA_DISP++, 0x8, &D_80116280[2]);
- POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ gSPSegment(POLY_OPA_DISP++, 8, &D_80116280[2]);
+ POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnRd_OverrideLimbDraw, EnRd_PostLimbDraw, this,
POLY_OPA_DISP);
func_80033C30(&thisPos, &D_80AE4958, 255, globalCtx);
@@ -880,7 +880,7 @@ void EnRd_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_314);
gSPSegment(POLY_XLU_DISP++, 8, &D_80116280[0]);
POLY_XLU_DISP =
- SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnRd_OverrideLimbDraw, NULL, this, POLY_XLU_DISP);
func_80033C30(&thisPos, &D_80AE4958, this->unk_314, globalCtx);
diff --git a/src/overlays/actors/ovl_En_Rd/z_en_rd.h b/src/overlays/actors/ovl_En_Rd/z_en_rd.h
index 035d0fd94d..a2192b29ad 100644
--- a/src/overlays/actors/ovl_En_Rd/z_en_rd.h
+++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.h
@@ -12,8 +12,8 @@ typedef struct EnRd {
/* 0x0000 */ Actor actor;
/* 0x014C */ Vec3s firePos[10];
/* 0x0188 */ SkelAnime skelAnime;
- /* 0x01CC */ Vec3s limbDrawTable[26];
- /* 0x0268 */ Vec3s transitionDrawTable[26];
+ /* 0x01CC */ Vec3s jointTable[26];
+ /* 0x0268 */ Vec3s morphTable[26];
/* 0x0304 */ u8 unk_304;
/* 0x0305 */ u8 unk_305;
/* 0x0306 */ u8 unk_306;
diff --git a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
index 138ff209e9..05d0057706 100644
--- a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
+++ b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
@@ -66,8 +66,7 @@ void EnReeba_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.unk_1F = 3;
this->actor.gravity = -3.5f;
this->actor.posRot2.pos = this->actor.posRot.pos;
- SkelAnime_Init(globalCtx, &this->skelanime, &D_06001EE8, &D_060001E4, this->limbDrawTable,
- this->transitionDrawTable, 18);
+ SkelAnime_Init(globalCtx, &this->skelanime, &D_06001EE8, &D_060001E4, this->jointTable, this->morphTable, 18);
this->actor.colChkInfo.mass = 0xFE;
this->actor.colChkInfo.health = 4;
Collider_InitCylinder(globalCtx, &this->collider);
@@ -123,11 +122,11 @@ void EnReeba_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void func_80AE4F40(EnReeba* this, GlobalContext* globalCtx) {
- f32 frames = SkelAnime_GetFrameCount(&D_060001E4);
+ f32 frames = Animation_GetLastFrame(&D_060001E4);
Player* player = PLAYER;
s16 playerSpeed;
- SkelAnime_ChangeAnim(&this->skelanime, &D_060001E4, 2.0f, 0.0f, frames, 0, -10.0f);
+ Animation_Change(&this->skelanime, &D_060001E4, 2.0f, 0.0f, frames, 0, -10.0f);
playerSpeed = fabsf(player->linearVelocity);
this->unk_278 = 20 - playerSpeed * 2;
@@ -154,7 +153,7 @@ void func_80AE5054(EnReeba* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
f32 playerLinearVel;
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
if ((globalCtx->gameplayFrames % 4) == 0) {
func_80033260(globalCtx, &this->actor, &this->actor.posRot.pos, this->actor.shape.unk_10, 1, 8.0f, 500, 10, 1);
@@ -202,7 +201,7 @@ void func_80AE5054(EnReeba* this, GlobalContext* globalCtx) {
void func_80AE5270(EnReeba* this, GlobalContext* globalCtx) {
s32 surfaceType;
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
if (this->actor.shape.unk_10 < 12.0f) {
Math_ApproachF(&this->actor.shape.unk_10, 12.0f, 3.0f, 1.0f);
@@ -233,7 +232,7 @@ void func_80AE53AC(EnReeba* this, GlobalContext* globalCtx) {
s16 yaw;
s32 surfaceType;
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
if (this->actor.shape.unk_10 < 12.0f) {
Math_ApproachF(&this->actor.shape.unk_10, 12.0f, 3.0f, 1.0f);
@@ -293,7 +292,7 @@ void func_80AE5688(EnReeba* this, GlobalContext* globalCtx) {
void func_80AE56E0(EnReeba* this, GlobalContext* globalCtx) {
Math_ApproachZeroF(&this->actor.shape.unk_10, 1.0f, 0.3f);
Math_ApproachZeroF(&this->actor.speedXZ, 0.1f, 0.3f);
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
if ((this->unk_284 + 10.0f) <= this->actor.shape.unk_08) {
if ((globalCtx->gameplayFrames % 4) == 0) {
@@ -317,7 +316,7 @@ void func_80AE57F0(EnReeba* this, GlobalContext* globalCtx) {
}
void func_80AE5854(EnReeba* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelanime);
+ SkelAnime_Update(&this->skelanime);
if (this->actor.speedXZ < 0.0f) {
this->actor.speedXZ += 1.0f;
@@ -620,7 +619,7 @@ void EnReeba_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_OPA_DISP++, 0x0, 0x01, 255, 255, 255, 255);
}
- SkelAnime_DrawOpa(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL, NULL, this);
+ SkelAnime_DrawOpa(globalCtx, this->skelanime.skeleton, this->skelanime.jointTable, NULL, NULL, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_reeba.c", 1088);
diff --git a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.h b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.h
index a985079294..c6467445cb 100644
--- a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.h
+++ b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.h
@@ -11,8 +11,8 @@ typedef void (*EnReebaActionFunc)(struct EnReeba*, GlobalContext*);
typedef struct EnReeba {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelanime;
- /* 0x0190 */ Vec3s limbDrawTable[18];
- /* 0x01FC */ Vec3s transitionDrawTable[18];
+ /* 0x0190 */ Vec3s jointTable[18];
+ /* 0x01FC */ Vec3s morphTable[18];
/* 0x0268 */ char unk_268[0x4];
/* 0x026C */ EnReebaActionFunc actionfunc;
/* 0x0270 */ s16 unk_270;
diff --git a/src/overlays/actors/ovl_En_Rl/z_en_rl.c b/src/overlays/actors/ovl_En_Rl/z_en_rl.c
index aa4990c5d1..952eadb74b 100644
--- a/src/overlays/actors/ovl_En_Rl/z_en_rl.c
+++ b/src/overlays/actors/ovl_En_Rl/z_en_rl.c
@@ -57,7 +57,7 @@ void func_80AE72D0(EnRl* this) {
}
void func_80AE7358(EnRl* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000A3C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000A3C), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000A3C, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000A3C), 0, 0.0f);
this->action = 4;
this->drawConfig = 0;
this->alpha = 0;
@@ -86,7 +86,7 @@ void func_80AE744C(EnRl* this, GlobalContext* globalCtx) {
}
s32 func_80AE7494(EnRl* this) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
s32 func_80AE74B4(EnRl* this, GlobalContext* globalCtx, u16 arg2, s32 arg3) {
@@ -114,7 +114,7 @@ s32 func_80AE74FC(EnRl* this, GlobalContext* globalCtx, u16 arg2, s32 arg3) {
}
void func_80AE7544(EnRl* this, GlobalContext* globalCtx) {
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007B38, &D_06000A3C, 0, 0, 0);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007B38, &D_06000A3C, NULL, NULL, 0);
}
void func_80AE7590(EnRl* this, GlobalContext* globalCtx) {
@@ -150,8 +150,7 @@ void func_80AE7698(EnRl* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
csCmdActorAction = globalCtx->csCtx.npcActions[0];
if (csCmdActorAction != NULL && csCmdActorAction->action == 3) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600040C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600040C), 2,
- 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600040C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600040C), 2, 0.0f);
this->action = 2;
}
}
@@ -159,7 +158,7 @@ void func_80AE7698(EnRl* this, GlobalContext* globalCtx) {
void func_80AE772C(EnRl* this, s32 arg1) {
if (arg1) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000830, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000830), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000830, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000830), 0, 0.0f);
this->action = 3;
}
}
@@ -192,7 +191,7 @@ void func_80AE7838(EnRl* this, GlobalContext* globalCtx) {
}
void func_80AE7878(EnRl* this, GlobalContext* globalCtx) {
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007B38, &D_06000A3C, 0, 0, 0);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007B38, &D_06000A3C, NULL, NULL, 0);
this->action = 4;
this->actor.shape.unk_14 = 0;
}
@@ -244,7 +243,7 @@ void func_80AE79A4(EnRl* this, GlobalContext* globalCtx) {
void func_80AE7AF8(EnRl* this, GlobalContext* globalCtx) {
if (func_80AE74B4(this, globalCtx, 3, 0)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600040C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600040C), 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_0600040C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600040C), 2, -8.0f);
this->action = 6;
} else if (func_80AE74FC(this, globalCtx, 4, 0)) {
this->action = 5;
@@ -261,7 +260,7 @@ void func_80AE7AF8(EnRl* this, GlobalContext* globalCtx) {
void func_80AE7BF8(EnRl* this, s32 arg1) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000830, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000830), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000830, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000830), 0, 0.0f);
this->action = 7;
}
}
@@ -312,7 +311,7 @@ void func_80AE7D94(EnRl* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
NULL, NULL, NULL, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_rl_inKenjyanomaDemo02.c", 331);
@@ -361,7 +360,7 @@ void func_80AE7FDC(EnRl* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
&this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_rl.c", 437);
}
diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
index cc4528f0dc..ce1a261c1c 100644
--- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
+++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
@@ -377,7 +377,7 @@ void func_80AEB220(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEB264(EnRu1* this, AnimationHeader* animation, u8 arg2, f32 transitionRate, s32 arg4) {
s32 pad[2];
AnimationHeader* animHeader = SEGMENTED_TO_VIRTUAL(animation);
- f32 frameCount = SkelAnime_GetFrameCount(animHeader);
+ f32 frameCount = Animation_GetLastFrame(animHeader);
f32 playbackSpeed;
f32 unk0;
f32 fc;
@@ -392,30 +392,30 @@ void func_80AEB264(EnRu1* this, AnimationHeader* animation, u8 arg2, f32 transit
playbackSpeed = -1.0f;
}
- SkelAnime_ChangeAnim(&this->skelAnime, animHeader, playbackSpeed, unk0, fc, arg2, transitionRate);
+ Animation_Change(&this->skelAnime, animHeader, playbackSpeed, unk0, fc, arg2, transitionRate);
}
s32 EnRu1_FrameUpdateMatrix(EnRu1* this) {
// why?
if (this->action != 32) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
} else {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
}
void func_80AEB364(EnRu1* this, GlobalContext* globalCtx) {
- this->skelAnime.flags |= 1;
- SkelAnime_LoadAnimationType5(globalCtx, &this->actor, &this->skelAnime, 1.0f);
+ this->skelAnime.moveFlags |= 1;
+ AnimationContext_SetMoveActor(globalCtx, &this->actor, &this->skelAnime, 1.0f);
}
void func_80AEB3A4(EnRu1* this, GlobalContext* globalCtx) {
- this->skelAnime.flags |= 1;
+ this->skelAnime.moveFlags |= 1;
func_80AEB364(this, globalCtx);
}
void func_80AEB3CC(EnRu1* this) {
- this->skelAnime.flags &= ~0x1;
+ this->skelAnime.moveFlags &= ~0x1;
}
void func_80AEB3DC(EnRu1* this, GlobalContext* globalCtx) {
@@ -476,25 +476,25 @@ void func_80AEB680(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEB6E0(EnRu1* this, GlobalContext* globalCtx) {
SkelAnime* skelAnime = &this->skelAnime;
- if (skelAnime->unk_3E.y < skelAnime->limbDrawTbl[0].y) {
- skelAnime->flags |= 3;
- SkelAnime_LoadAnimationType5(globalCtx, &this->actor, skelAnime, 1.0f);
+ if (skelAnime->baseTransl.y < skelAnime->jointTable[0].y) {
+ skelAnime->moveFlags |= 3;
+ AnimationContext_SetMoveActor(globalCtx, &this->actor, skelAnime, 1.0f);
}
}
void func_80AEB738(EnRu1* this, GlobalContext* globalCtx) {
SkelAnime* skelAnime = &this->skelAnime;
- skelAnime->unk_3E = *skelAnime->limbDrawTbl;
- skelAnime->prevFramePos = *skelAnime->limbDrawTbl;
- if (skelAnime->unk_3E.y < skelAnime->limbDrawTbl[0].y) {
- skelAnime->flags |= 3;
- SkelAnime_LoadAnimationType5(globalCtx, &this->actor, skelAnime, 1.0f);
+ skelAnime->baseTransl = skelAnime->jointTable[0];
+ skelAnime->prevTransl = skelAnime->jointTable[0];
+ if (skelAnime->baseTransl.y < skelAnime->jointTable[0].y) {
+ skelAnime->moveFlags |= 3;
+ AnimationContext_SetMoveActor(globalCtx, &this->actor, skelAnime, 1.0f);
}
}
void func_80AEB7D0(EnRu1* this) {
- this->skelAnime.flags &= ~0x3;
+ this->skelAnime.moveFlags &= ~0x3;
}
f32 func_80AEB7E0(CsCmdActorAction* csCmdNPCAction, GlobalContext* globalCtx) {
@@ -584,7 +584,7 @@ void func_80AEBAFC(EnRu1* this) {
}
void func_80AEBB3C(EnRu1* this) {
- if (func_800A56C8(&this->skelAnime, 5.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 5.0f)) {
func_80078914(&this->actor.projectedPos, NA_SE_PL_FACE_UP);
}
}
@@ -592,15 +592,15 @@ void func_80AEBB3C(EnRu1* this) {
void func_80AEBB78(EnRu1* this) {
SkelAnime* skelAnime = &this->skelAnime;
- if ((((func_800A56C8(skelAnime, 4.0f)) || (func_800A56C8(skelAnime, 13.0f))) ||
- (func_800A56C8(skelAnime, 22.0f))) ||
- (func_800A56C8(skelAnime, 31.0f))) {
+ if ((((Animation_OnFrame(skelAnime, 4.0f)) || (Animation_OnFrame(skelAnime, 13.0f))) ||
+ (Animation_OnFrame(skelAnime, 22.0f))) ||
+ (Animation_OnFrame(skelAnime, 31.0f))) {
func_80078914(&this->actor.projectedPos, NA_SE_PL_SWIM);
}
}
void func_80AEBBF4(EnRu1* this) {
- if (func_800A56C8(&this->skelAnime, 8.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 8.0f)) {
func_80078914(&this->actor.projectedPos, NA_SE_PL_SUBMERGE);
}
}
@@ -623,7 +623,7 @@ void func_80AEBC84(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEBCB8(EnRu1* this, UNK_TYPE arg1) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06012E94, 1.0f, 0, SkelAnime_GetFrameCount(&D_06012E94), 0, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06012E94, 1.0f, 0, Animation_GetLastFrame(&D_06012E94), 0, -8.0f);
}
}
@@ -643,10 +643,10 @@ void func_80AEBD94(EnRu1* this, GlobalContext* globalCtx) {
f32 frameCount;
if (func_80AEB480(globalCtx, 3)) {
- frameCount = SkelAnime_GetFrameCount(&D_06009060);
+ frameCount = Animation_GetLastFrame(&D_06009060);
func_80AEB934(this, globalCtx);
func_80AEB738(this, globalCtx);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06009060, 1.0f, 0.0f, frameCount, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06009060, 1.0f, 0.0f, frameCount, 2, 0.0f);
this->action = 2;
this->drawConfig = 1;
}
@@ -657,9 +657,9 @@ void func_80AEBE3C(EnRu1* this, GlobalContext* globalCtx, s32 arg2) {
f32 frameCount;
if (arg2 != 0) {
- frameCount = SkelAnime_GetFrameCount(&D_06013A64);
+ frameCount = Animation_GetLastFrame(&D_06013A64);
func_80AEB7D0(this);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06013A64, 1.0f, 0, frameCount, 0, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06013A64, 1.0f, 0, frameCount, 0, -8.0f);
this->action = 3;
} else {
func_80AEB954(this, globalCtx);
@@ -671,9 +671,9 @@ void func_80AEBEC8(EnRu1* this, GlobalContext* globalCtx) {
f32 frameCount;
if (func_80AEB458(globalCtx, 6)) {
- frameCount = SkelAnime_GetFrameCount(&D_06008AA8);
+ frameCount = Animation_GetLastFrame(&D_06008AA8);
func_80AEB738(this, globalCtx);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06008AA8, 1.0f, 0, frameCount, 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06008AA8, 1.0f, 0, frameCount, 2, -8.0f);
this->action = 4;
}
}
@@ -699,8 +699,8 @@ void func_80AEBFD8(EnRu1* this, GlobalContext* globalCtx) {
csCtxFrames = globalCtx->csCtx.frames;
endFrame = csCmdNPCAction->endFrame;
if (csCtxFrames >= endFrame - 2) {
- frameCount = SkelAnime_GetFrameCount(&D_06008100);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06008100, 1.0, 0, frameCount, 2, -8.0f);
+ frameCount = Animation_GetLastFrame(&D_06008100);
+ Animation_Change(&this->skelAnime, &D_06008100, 1.0, 0, frameCount, 2, -8.0f);
this->action = 6;
}
}
@@ -855,7 +855,7 @@ s32 func_80AEC5FC(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEC650(EnRu1* this) {
s32 pad[2];
if (this->unk_280 == 0) {
- if ((func_800A56C8(&this->skelAnime, 2.0f)) || (func_800A56C8(&this->skelAnime, 7.0f))) {
+ if ((Animation_OnFrame(&this->skelAnime, 2.0f)) || (Animation_OnFrame(&this->skelAnime, 7.0f))) {
func_80078914(&this->actor.projectedPos, NA_SE_PL_WALK_DIRT);
}
}
@@ -868,7 +868,7 @@ void func_80AEC6B0(EnRu1* this) {
void func_80AEC6E4(EnRu1* this, GlobalContext* globalCtx) {
if ((func_80AEAFA0(globalCtx, 4, 3)) && (this->unk_280 == 0)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06003784, 1.0f, 0, SkelAnime_GetFrameCount(&D_06003784), 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06003784, 1.0f, 0, Animation_GetLastFrame(&D_06003784), 2, -8.0f);
this->unk_280 = 1;
func_80AEC6B0(this);
}
@@ -908,14 +908,14 @@ void func_80AEC81C(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEC8B8(EnRu1* this, GlobalContext* globalCtx) {
if (func_80AEAFA0(globalCtx, 3, 3)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004074, 1.0f, 0, SkelAnime_GetFrameCount(&D_06004074), 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06004074, 1.0f, 0, Animation_GetLastFrame(&D_06004074), 2, -8.0f);
this->action = 10;
}
}
void func_80AEC93C(EnRu1* this, UNK_TYPE arg1) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060078E4, 1.0f, 0, SkelAnime_GetFrameCount(&D_060078E4), 0, -8.0f);
+ Animation_Change(&this->skelAnime, &D_060078E4, 1.0f, 0, Animation_GetLastFrame(&D_060078E4), 0, -8.0f);
this->actor.posRot.rot.y += 0x8000;
this->action = 0xB;
this->unk_26C = 0.0f;
@@ -1134,7 +1134,7 @@ void func_80AED154(EnRu1* this, GlobalContext* globalCtx) {
void func_80AED19C(EnRu1* this, s32 cond) {
if (cond) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06001488, 1.0f, 0, SkelAnime_GetFrameCount(&D_06001488), 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06001488, 1.0f, 0, Animation_GetLastFrame(&D_06001488), 2, -8.0f);
this->action = 20;
func_80AED0B0(this, 3);
}
@@ -1143,11 +1143,10 @@ void func_80AED19C(EnRu1* this, s32 cond) {
void func_80AED218(EnRu1* this, UNK_TYPE arg1) {
if (func_80AED084(this, 4)) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06002058, 1.0f, 0, SkelAnime_GetFrameCount(&D_06002058), 0,
- -8.0f);
+ Animation_Change(&this->skelAnime, &D_06002058, 1.0f, 0, Animation_GetLastFrame(&D_06002058), 0, -8.0f);
}
} else if (func_80AED084(this, 5)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06002990, 1.0f, 0, SkelAnime_GetFrameCount(&D_06002990), 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06002990, 1.0f, 0, Animation_GetLastFrame(&D_06002990), 2, -8.0f);
this->action = 21;
this->unk_27C = this->actor.xzDistFromLink;
}
@@ -1285,7 +1284,7 @@ void func_80AED738(EnRu1* this, GlobalContext* globalCtx) {
this->unk_2A8 = temp_v0;
this->actor.shape.unk_14 = temp_v0;
} else {
- Actor_Kill(this);
+ Actor_Kill(&this->actor);
}
}
}
@@ -1618,7 +1617,7 @@ void func_80AEE628(EnRu1* this, GlobalContext* globalCtx) {
s8 curRoomNum = globalCtx->roomCtx.curRoom.num;
if (func_80AEAF38(globalCtx)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0, SkelAnime_GetFrameCount(&D_06006B9C), 0, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06006B9C, 1.0f, 0, Animation_GetLastFrame(&D_06006B9C), 0, -8.0f);
gSaveContext.infTable[20] |= 0x10;
this->action = 31;
}
@@ -1631,8 +1630,7 @@ s32 func_80AEE6D0(EnRu1* this, GlobalContext* globalCtx) {
if ((!(gSaveContext.infTable[20] & 0x10)) && (func_80AEB124(globalCtx) != 0)) {
if (!Player_InCsMode(globalCtx)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004648, 1.0f, 0, SkelAnime_GetFrameCount(&D_06004350), 0,
- -8.0f);
+ Animation_Change(&this->skelAnime, &D_06004648, 1.0f, 0, Animation_GetLastFrame(&D_06004350), 0, -8.0f);
func_80AED600(this);
this->action = 34;
this->unk_26C = 0.0f;
@@ -1653,8 +1651,8 @@ void func_80AEE7C4(EnRu1* this, GlobalContext* globalCtx) {
f32* unk_370 = &this->unk_370;
if (Actor_HasNoParent(this, globalCtx)) {
- frameCount = SkelAnime_GetFrameCount(&D_06006B9C);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0, frameCount, 0, -8.0f);
+ frameCount = Animation_GetLastFrame(&D_06006B9C);
+ Animation_Change(&this->skelAnime, &D_06006B9C, 1.0f, 0, frameCount, 0, -8.0f);
func_80AED6DC(this, globalCtx);
this->actor.speedXZ *= (kREG(25) * 0.01f) + 1.0f;
this->actor.velocity.y *= (kREG(26) * 0.01f) + 1.0f;
@@ -1677,8 +1675,8 @@ void func_80AEE7C4(EnRu1* this, GlobalContext* globalCtx) {
if (this->action != 32) {
if (*unk_370 > 30.0f) {
if (Rand_S16Offset(0, 3) == 0) {
- frameCount = SkelAnime_GetFrameCount(&D_06004350);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06004350, 1.0f, 0, frameCount, 0, -8.0f);
+ frameCount = Animation_GetLastFrame(&D_06004350);
+ Animation_Change(&this->skelAnime, &D_06004350, 1.0f, 0, frameCount, 0, -8.0f);
func_80AED5DC(this);
this->action = 32;
}
@@ -1686,15 +1684,15 @@ void func_80AEE7C4(EnRu1* this, GlobalContext* globalCtx) {
}
} else {
if (*unk_370 > 50.0f) {
- frameCount = SkelAnime_GetFrameCount(&D_06006B9C);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0, frameCount, 0, -8.0f);
+ frameCount = Animation_GetLastFrame(&D_06006B9C);
+ Animation_Change(&this->skelAnime, &D_06006B9C, 1.0f, 0, frameCount, 0, -8.0f);
this->action = 31;
*unk_370 = 0.0f;
}
}
} else {
- frameCount = SkelAnime_GetFrameCount(&D_06006B9C);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0, frameCount, 0, -8.0f);
+ frameCount = Animation_GetLastFrame(&D_06006B9C);
+ Animation_Change(&this->skelAnime, &D_06006B9C, 1.0f, 0, frameCount, 0, -8.0f);
*unk_370 = 0.0f;
}
}
@@ -1834,7 +1832,7 @@ void func_80AEEFEC(EnRu1* this, GlobalContext* globalCtx) {
}
void func_80AEF080(EnRu1* this) {
- if (func_800A56C8(&this->skelAnime, 11.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 11.0f)) {
func_80078914(&this->actor.projectedPos, NA_SE_EV_LAND_DIRT);
}
}
@@ -1843,8 +1841,8 @@ s32 func_80AEF0BC(EnRu1* this, GlobalContext* globalCtx) {
s32 frameCount;
if (gSaveContext.infTable[20] & 4) {
- frameCount = SkelAnime_GetFrameCount(&D_06007534);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06007534, 1.0f, 0, frameCount, 2, -8.0f);
+ frameCount = Animation_GetLastFrame(&D_06007534);
+ Animation_Change(&this->skelAnime, &D_06007534, 1.0f, 0, frameCount, 2, -8.0f);
globalCtx->msgCtx.msgMode = 0x37;
this->action = 26;
this->actor.flags &= ~0x9;
@@ -1869,7 +1867,7 @@ void func_80AEF188(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEF1F0(EnRu1* this, GlobalContext* globalCtx, UNK_TYPE arg2) {
if (arg2 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06006B9C), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06006B9C, 1.0f, 0.0f, Animation_GetLastFrame(&D_06006B9C), 0, 0.0f);
func_80106CCC(globalCtx);
gSaveContext.infTable[20] |= 8;
func_80AED6DC(this, globalCtx);
@@ -1924,8 +1922,9 @@ void func_80AEF3A8(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEF40C(EnRu1* this) {
SkelAnime* skelAnime = &this->skelAnime;
- if ((func_800A56C8(skelAnime, 2.0f)) || (func_800A56C8(skelAnime, 7.0f)) || (func_800A56C8(skelAnime, 12.0f)) ||
- (func_800A56C8(skelAnime, 18.0f)) || (func_800A56C8(skelAnime, 25.0f)) || (func_800A56C8(skelAnime, 33.0f))) {
+ if ((Animation_OnFrame(skelAnime, 2.0f)) || (Animation_OnFrame(skelAnime, 7.0f)) ||
+ (Animation_OnFrame(skelAnime, 12.0f)) || (Animation_OnFrame(skelAnime, 18.0f)) ||
+ (Animation_OnFrame(skelAnime, 25.0f)) || (Animation_OnFrame(skelAnime, 33.0f))) {
func_80078914(&this->actor.projectedPos, NA_SE_PL_WALK_DIRT);
}
}
@@ -1935,7 +1934,7 @@ void func_80AEF4A8(EnRu1* this, GlobalContext* globalCtx) {
}
void func_80AEF4E0(EnRu1* this) {
- if (func_800A56C8(&this->skelAnime, 5.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 5.0f)) {
func_80078914(&this->actor.projectedPos, NA_SE_VO_RT_LAUGH_0);
}
}
@@ -1956,11 +1955,11 @@ void func_80AEF540(EnRu1* this) {
}
void func_80AEF5B8(EnRu1* this) {
- f32 animCurrentFrame;
+ f32 curFrame;
if (D_80AF1938 == 0) {
- animCurrentFrame = this->skelAnime.animCurrentFrame;
- if (animCurrentFrame >= 60.0f) {
+ curFrame = this->skelAnime.curFrame;
+ if (curFrame >= 60.0f) {
func_80AEAEA4(this, 3);
func_80AEAEB8(this, 0);
func_80AED57C(this);
@@ -1977,7 +1976,7 @@ void func_80AEF624(EnRu1* this, GlobalContext* globalCtx) {
s16 newRotTmp;
if (func_80AEAFE0(globalCtx, 1, 3)) {
- frameCount = SkelAnime_GetFrameCount(&D_060063F4);
+ frameCount = Animation_GetLastFrame(&D_060063F4);
// this weird part with the redundant variable is necessary to match for some reason
csCmdNPCAction2 = globalCtx->csCtx.npcActions[3];
csCmdNPCAction = csCmdNPCAction2;
@@ -1993,7 +1992,7 @@ void func_80AEF624(EnRu1* this, GlobalContext* globalCtx) {
newRotTmp = csCmdNPCAction->rot.z;
thisx->shape.rot.z = newRotTmp;
thisx->posRot.rot.z = newRotTmp;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060063F4, 1.0f, 0.0f, frameCount, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_060063F4, 1.0f, 0.0f, frameCount, 2, 0.0f);
func_80AEB3A4(this, globalCtx);
this->action = 37;
this->drawConfig = 1;
@@ -2003,7 +2002,7 @@ void func_80AEF624(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEF728(EnRu1* this, UNK_TYPE arg1) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06003608, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06003608), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06003608, 1.0f, 0.0f, Animation_GetLastFrame(&D_06003608), 0, 0.0f);
func_80AEB3CC(this);
this->action = 38;
}
@@ -2011,14 +2010,14 @@ void func_80AEF728(EnRu1* this, UNK_TYPE arg1) {
void func_80AEF79C(EnRu1* this, GlobalContext* globalCtx) {
if (func_80AEAFE0(globalCtx, 2, 3)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06002EC0, 1.0f, 0, SkelAnime_GetFrameCount(&D_06002EC0), 2, -8.0f);
+ Animation_Change(&this->skelAnime, &D_06002EC0, 1.0f, 0, Animation_GetLastFrame(&D_06002EC0), 2, -8.0f);
this->action = 39;
}
}
void func_80AEF820(EnRu1* this, UNK_TYPE arg1) {
if (arg1 != 0) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060097B8, 1.0f, 0, SkelAnime_GetFrameCount(&D_060097B8), 0, -8.0f);
+ Animation_Change(&this->skelAnime, &D_060097B8, 1.0f, 0, Animation_GetLastFrame(&D_060097B8), 0, -8.0f);
this->action = 40;
}
}
@@ -2253,8 +2252,7 @@ void EnRu1_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06012700, NULL, this->limbDrawTable, this->transitionDrawTable,
- 17);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06012700, NULL, this->jointTable, this->morphTable, 17);
func_80AEAD20(this, globalCtx);
switch (func_80AEADF0(this)) {
case 0:
@@ -2313,7 +2311,7 @@ s32 EnRu1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
} else {
sPreLimbDrawFuncs[this->unk_290](this, globalCtx, limbIndex, rot);
}
- return 0;
+ return false;
}
void EnRu1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
@@ -2355,7 +2353,7 @@ void func_80AF0400(EnRu1* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
EnRu1_OverrideLimbDraw, EnRu1_PostLimbDraw, this, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru1.c", 1309);
@@ -2380,7 +2378,7 @@ void func_80AF05D4(EnRu1* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_2A8);
gSPSegment(POLY_XLU_DISP++, 0x0C, &D_80116280[0]);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
EnRu1_OverrideLimbDraw, NULL, this, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru1.c", 1353);
diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h
index 50b3e7ecb1..cb60ae2eba 100644
--- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h
+++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h
@@ -16,8 +16,8 @@ typedef void (*EnRu1PreLimbDrawFunc)(struct EnRu1*, GlobalContext*, s32, Vec3s*)
typedef struct EnRu1 {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[17];
- /* 0x01F6 */ Vec3s transitionDrawTable[17];
+ /* 0x0190 */ Vec3s jointTable[17];
+ /* 0x01F6 */ Vec3s morphTable[17];
/* 0x025C */ s16 unk_25C;
/* 0x025E */ char unk_25E[0x2];
/* 0x0260 */ s16 unk_260;
diff --git a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c
index e5c72c5544..8e46243d71 100644
--- a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c
+++ b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c
@@ -175,7 +175,7 @@ void func_80AF2744(EnRu2* this, GlobalContext* globalCtx) {
}
s32 EnRu2_FrameUpdateMatrix(EnRu2* this) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
CsCmdActorAction* func_80AF27AC(GlobalContext* globalCtx, s32 npcActionIdx) {
@@ -219,7 +219,7 @@ void func_80AF2868(EnRu2* this, GlobalContext* globalCtx, u32 npcActionIdx) {
}
void func_80AF28E8(EnRu2* this, AnimationHeader* animation, u8 arg2, f32 transitionRate, s32 arg4) {
- f32 frameCount = SkelAnime_GetFrameCount(animation);
+ f32 frameCount = Animation_GetLastFrame(animation);
f32 playbackSpeed;
f32 unk0;
f32 fc;
@@ -234,7 +234,7 @@ void func_80AF28E8(EnRu2* this, AnimationHeader* animation, u8 arg2, f32 transit
playbackSpeed = -1.0f;
}
- SkelAnime_ChangeAnim(&this->skelAnime, animation, playbackSpeed, unk0, fc, arg2, transitionRate);
+ Animation_Change(&this->skelAnime, animation, playbackSpeed, unk0, fc, arg2, transitionRate);
}
void func_80AF2978(EnRu2* this, GlobalContext* globalCtx) {
@@ -310,7 +310,7 @@ void func_80AF2BC0(EnRu2* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
csCmdNPCAction = globalCtx->csCtx.npcActions[3];
if (csCmdNPCAction != NULL && csCmdNPCAction->action == 3) {
- SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 2, 0.0f);
+ Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), 2, 0.0f);
this->action = 4;
}
}
@@ -484,7 +484,7 @@ void func_80AF321C(EnRu2* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, &D_80116280[0]);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
NULL, NULL, NULL, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru2_inKenjyanomaDemo02.c", 291);
@@ -769,8 +769,7 @@ void EnRu2_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
func_80AF2550(thisx, globalCtx);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600C700, NULL, &this->limbDrawTable, &this->transitionDrawTable,
- 23);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600C700, NULL, this->jointTable, this->morphTable, 23);
switch (func_80AF26A0(this)) {
case 2:
@@ -809,7 +808,7 @@ void func_80AF3F20(EnRu2* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL,
+ SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru2.c", 663);
diff --git a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.h b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.h
index cad92e04f2..718fbbb5ce 100644
--- a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.h
+++ b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.h
@@ -12,8 +12,8 @@ typedef void (*EnRu2DrawFunc)(struct EnRu2*, GlobalContext*);
typedef struct EnRu2 {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[23];
- /* 0x021A */ Vec3s transitionDrawTable[23];
+ /* 0x0190 */ Vec3s jointTable[23];
+ /* 0x021A */ Vec3s morphTable[23];
/* 0x02A4 */ s16 unk_2A4;
/* 0x02A6 */ s16 unk_2A6;
/* 0x02A8 */ s32 action;
diff --git a/src/overlays/actors/ovl_En_Sb/z_en_sb.c b/src/overlays/actors/ovl_En_Sb/z_en_sb.c
index 5b918de2c1..12e8cad386 100644
--- a/src/overlays/actors/ovl_En_Sb/z_en_sb.c
+++ b/src/overlays/actors/ovl_En_Sb/z_en_sb.c
@@ -115,45 +115,45 @@ void EnSb_SpawnBubbles(GlobalContext* globalCtx, EnSb* this) {
}
void EnSb_SetupWaitClosed(EnSb* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600004C, 1.0f, 0, SkelAnime_GetFrameCount(&D_0600004C), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600004C, 1.0f, 0, Animation_GetLastFrame(&D_0600004C), 2, 0.0f);
this->behavior = SHELLBLADE_WAIT_CLOSED;
this->actionFunc = EnSb_WaitClosed;
}
void EnSb_SetupOpen(EnSb* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000194, 1.0f, 0, SkelAnime_GetFrameCount(&D_06000194), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000194, 1.0f, 0, Animation_GetLastFrame(&D_06000194), 2, 0.0f);
this->behavior = SHELLBLADE_OPEN;
this->actionFunc = EnSb_Open;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_SHELL_MOUTH);
}
void EnSb_SetupWaitOpen(EnSb* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06002C8C, 1.0f, 0, SkelAnime_GetFrameCount(&D_06002C8C), 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06002C8C, 1.0f, 0, Animation_GetLastFrame(&D_06002C8C), 0, 0.0f);
this->behavior = SHELLBLADE_WAIT_OPEN;
this->actionFunc = EnSb_WaitOpen;
}
void EnSb_SetupLunge(EnSb* this) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06000124);
+ f32 frameCount = Animation_GetLastFrame(&D_06000124);
f32 playbackSpeed = this->actor.waterY > 0.0f ? 1.0f : 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000124, playbackSpeed, 0.0f, frameCount, 2, 0);
+ Animation_Change(&this->skelAnime, &D_06000124, playbackSpeed, 0.0f, frameCount, 2, 0);
this->behavior = SHELLBLADE_LUNGE;
this->actionFunc = EnSb_Lunge;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_SHELL_MOUTH);
}
void EnSb_SetupBounce(EnSb* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060000B4, 1.0f, 0, SkelAnime_GetFrameCount(&D_060000B4), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_060000B4, 1.0f, 0, Animation_GetLastFrame(&D_060000B4), 2, 0.0f);
this->behavior = SHELLBLADE_BOUNCE;
this->actionFunc = EnSb_Bounce;
}
void EnSb_SetupCooldown(EnSb* this, s32 changeSpeed) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_0600004C);
+ f32 frameCount = Animation_GetLastFrame(&D_0600004C);
if (this->behavior != SHELLBLADE_WAIT_CLOSED) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600004C, 1.0f, 0, frameCount, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600004C, 1.0f, 0, frameCount, 2, 0.0f);
}
this->behavior = SHELLBLADE_WAIT_CLOSED;
if (changeSpeed) {
@@ -183,9 +183,9 @@ void EnSb_WaitClosed(EnSb* this, GlobalContext* globalCtx) {
}
void EnSb_Open(EnSb* this, GlobalContext* globalCtx) {
- f32 currentFrame = this->skelAnime.animCurrentFrame;
+ f32 currentFrame = this->skelAnime.curFrame;
- if (SkelAnime_GetFrameCount(&D_06000194) <= currentFrame) {
+ if (Animation_GetLastFrame(&D_06000194) <= currentFrame) {
this->timer = 15;
EnSb_SetupWaitOpen(this);
} else {
@@ -255,8 +255,8 @@ void EnSb_Bounce(EnSb* this, GlobalContext* globalCtx) {
f32 currentFrame;
f32 frameCount;
- currentFrame = this->skelAnime.animCurrentFrame;
- frameCount = SkelAnime_GetFrameCount(&D_060000B4);
+ currentFrame = this->skelAnime.curFrame;
+ frameCount = Animation_GetLastFrame(&D_060000B4);
Math_StepToF(&this->actor.speedXZ, 0.0f, 0.2f);
if (currentFrame == frameCount) {
@@ -304,27 +304,27 @@ void EnSb_Cooldown(EnSb* this, GlobalContext* globalCtx) {
s32 EnSb_IsVulnerable(EnSb* this) {
switch (this->behavior) {
case SHELLBLADE_OPEN:
- if ((this->skelAnime.animCurrentFrame >= 2.0f) && (this->skelAnime.animCurrentFrame <= 5.0f)) {
+ if ((this->skelAnime.curFrame >= 2.0f) && (this->skelAnime.curFrame <= 5.0f)) {
return true;
}
break;
case SHELLBLADE_WAIT_CLOSED:
- if ((this->skelAnime.animCurrentFrame >= 0.0f) && (this->skelAnime.animCurrentFrame <= 1.0f)) {
+ if ((this->skelAnime.curFrame >= 0.0f) && (this->skelAnime.curFrame <= 1.0f)) {
return true;
}
break;
case SHELLBLADE_WAIT_OPEN:
- if ((this->skelAnime.animCurrentFrame >= 0.0f) && (this->skelAnime.animCurrentFrame <= 19.0f)) {
+ if ((this->skelAnime.curFrame >= 0.0f) && (this->skelAnime.curFrame <= 19.0f)) {
return true;
}
break;
case SHELLBLADE_LUNGE:
- if (this->skelAnime.animCurrentFrame == 0.0f) {
+ if (this->skelAnime.curFrame == 0.0f) {
return true;
}
break;
case SHELLBLADE_BOUNCE:
- if ((this->skelAnime.animCurrentFrame >= 3.0f) && (this->skelAnime.animCurrentFrame <= 5.0f)) {
+ if ((this->skelAnime.curFrame >= 3.0f) && (this->skelAnime.curFrame <= 5.0f)) {
return true;
}
break;
@@ -437,7 +437,7 @@ void EnSb_Update(Actor* thisx, GlobalContext* globalCtx) {
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
}
@@ -454,7 +454,7 @@ void EnSb_Draw(Actor* thisx, GlobalContext* globalCtx) {
s16 fireDecr;
func_8002EBCC(&this->actor, globalCtx, 1);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
NULL, EnSb_PostLimbDraw, this);
if (this->fire != 0) {
this->actor.dmgEffectTimer++;
diff --git a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
index d568264d31..a252baad83 100644
--- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
+++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
@@ -202,11 +202,11 @@ f32 EnSsh_SetAnimation(EnSsh* this, s32 animIndex) {
};
f32 playbackSpeed[] = { 1.0f, 4.0f, 1.0f, 1.0f, 8.0f, 6.0f, 2.0f };
u8 mode[] = { 3, 3, 1, 3, 1, 1, 1 };
- f32 frameCount = SkelAnime_GetFrameCount(animation[animIndex]);
+ f32 frameCount = Animation_GetLastFrame(animation[animIndex]);
s32 pad;
- SkelAnime_ChangeAnim(&this->skelAnime, animation[animIndex], playbackSpeed[animIndex], 0.0f, frameCount,
- mode[animIndex], -6.0f);
+ Animation_Change(&this->skelAnime, animation[animIndex], playbackSpeed[animIndex], 0.0f, frameCount,
+ mode[animIndex], -6.0f);
return frameCount;
}
@@ -586,7 +586,7 @@ void EnSsh_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
EnSsh* this = THIS;
- frameCount = SkelAnime_GetFrameCount(&D_06000304);
+ frameCount = Animation_GetLastFrame(&D_06000304);
if (this->actor.params == ENSSH_FATHER) {
if (gSaveContext.inventory.gsTokens >= 100) {
Actor_Kill(&this->actor);
@@ -597,8 +597,8 @@ void EnSsh_Init(Actor* thisx, GlobalContext* globalCtx) {
return;
}
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_060052E0, NULL, this->limbDrawTable, this->transDrawTable, 30);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000304, 1.0f, 0.0f, frameCount, 1, 0.0f);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_060052E0, NULL, this->jointTable, this->morphTable, 30);
+ Animation_Change(&this->skelAnime, &D_06000304, 1.0f, 0.0f, frameCount, 1, 0.0f);
this->blureIdx = EnSsh_CreateBlureEffect(globalCtx);
EnSsh_InitColliders(this, globalCtx);
this->stateFlags = 0;
@@ -732,7 +732,7 @@ void EnSsh_Drop(EnSsh* this, GlobalContext* globalCtx) {
}
void EnSsh_Return(EnSsh* this, GlobalContext* globalCtx) {
- f32 frameRatio = this->skelAnime.animCurrentFrame / (this->skelAnime.totalFrames - 1.0f);
+ f32 frameRatio = this->skelAnime.curFrame / (this->skelAnime.animLength - 1.0f);
if (frameRatio == 1.0f) {
EnSsh_SetReturnAnimation(this);
@@ -793,7 +793,7 @@ void EnSsh_Update(Actor* thisx, GlobalContext* globalCtx) {
if (this->stunTimer != 0) {
EnSsh_Damaged(this);
} else {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
func_8002D7EC(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
this->actionFunc(this, globalCtx);
@@ -839,7 +839,7 @@ s32 EnSsh_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
}
break;
}
- return 0;
+ return false;
}
void EnSsh_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -858,6 +858,6 @@ void EnSsh_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ssh.c", 2333);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(blinkTex[this->blinkState]));
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ssh.c", 2336);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnSsh_OverrideLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnSsh_OverrideLimbDraw,
EnSsh_PostLimbDraw, &this->actor);
}
diff --git a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.h b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.h
index 801080e271..af1f411fe1 100644
--- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.h
+++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.h
@@ -11,8 +11,8 @@ typedef void (*EnSshActionFunc)(struct EnSsh*, GlobalContext*);
typedef struct EnSsh {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[30];
- /* 0x0244 */ Vec3s transDrawTable[30];
+ /* 0x0190 */ Vec3s jointTable[30];
+ /* 0x0244 */ Vec3s morphTable[30];
/* 0x02F8 */ EnSshActionFunc actionFunc;
/* 0x02FC */ ColliderCylinder colCylinder[6];
/* 0x04C4 */ ColliderJntSph colSph;
diff --git a/src/overlays/actors/ovl_En_St/z_en_st.c b/src/overlays/actors/ovl_En_St/z_en_st.c
index d11e2c12e0..32ca6feab5 100644
--- a/src/overlays/actors/ovl_En_St/z_en_st.c
+++ b/src/overlays/actors/ovl_En_St/z_en_st.c
@@ -219,13 +219,13 @@ void EnSt_SetLandAnimation(EnSt* this) {
this->actor.posRot.pos.y = this->actor.groundY + this->groundYOffset;
func_80034EC0(&this->skelAnime, sAnimations, 4);
this->sfxTimer = 0;
- this->animFrames = this->skelAnime.totalFrames;
+ this->animFrames = this->skelAnime.animLength;
}
void EnSt_SetDropAnimAndVel(EnSt* this) {
if (this->takeDamageSpinTimer == 0) {
func_80034EC0(&this->skelAnime, sAnimations, 4);
- this->animFrames = this->skelAnime.totalFrames;
+ this->animFrames = this->skelAnime.animLength;
}
this->sfxTimer = 0;
this->actor.velocity.y = -10.0f;
@@ -414,7 +414,7 @@ s32 EnSt_CheckHitBackside(EnSt* this, GlobalContext* globalCtx) {
this->swayTimer = this->stunTimer = 0;
this->gaveDamageSpinTimer = 1;
func_80034EC0(&this->skelAnime, sAnimations, 3);
- this->takeDamageSpinTimer = this->skelAnime.totalFrames;
+ this->takeDamageSpinTimer = this->skelAnime.animLength;
func_8003426C(&this->actor, 0x4000, 0xC8, 0, this->takeDamageSpinTimer);
if (Actor_ApplyDamage(&this->actor)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALTU_DAMAGE);
@@ -741,7 +741,7 @@ void EnSt_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 14.0f);
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_06005298, NULL, this->limbDrawTable, this->transitionDrawTable, 30);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_06005298, NULL, this->jointTable, this->morphTable, 30);
func_80034EC0(&this->skelAnime, sAnimations, 0);
this->blureIdx = EnSt_CreateBlureEffect(globalCtx);
EnSt_InitColliders(this, globalCtx);
@@ -872,7 +872,7 @@ void EnSt_MoveToGround(EnSt* this, GlobalContext* globalCtx) {
}
void EnSt_ReturnToCeiling(EnSt* this, GlobalContext* globalCtx) {
- f32 animPctDone = this->skelAnime.animCurrentFrame / (this->skelAnime.totalFrames - 1.0f);
+ f32 animPctDone = this->skelAnime.curFrame / (this->skelAnime.animLength - 1.0f);
if (animPctDone == 1.0f) {
EnSt_SetReturnToCeilingAnimation(this);
@@ -970,12 +970,12 @@ void EnSt_Update(Actor* thisx, GlobalContext* globalCtx) {
Color_RGBA8 color = { 0, 0, 0, 0 };
if (this->actor.flags & 0x8000) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
} else if (!EnSt_CheckColliders(this, globalCtx)) {
// no collision has been detected.
if (this->stunTimer == 0) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
if (this->swayTimer == 0 && this->stunTimer == 0) {
@@ -1031,7 +1031,7 @@ s32 EnSt_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dListP,
break;
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_st.c", 2295);
- return 0;
+ return false;
}
void EnSt_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dListP, Vec3s* rot, void* thisx) {
@@ -1045,6 +1045,6 @@ void EnSt_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnSt_CheckBodyStickHit(this, globalCtx);
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnSt_OverrideLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnSt_OverrideLimbDraw,
EnSt_PostLimbDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_St/z_en_st.h b/src/overlays/actors/ovl_En_St/z_en_st.h
index 554c13c3e9..c969c5450b 100644
--- a/src/overlays/actors/ovl_En_St/z_en_st.h
+++ b/src/overlays/actors/ovl_En_St/z_en_st.h
@@ -43,8 +43,8 @@ typedef struct EnSt {
/* 0x0408 */ f32 colliderScale;
/* 0x040C */ f32 groundYOffset;
/* 0x0410 */ s16 swayAngle;
- /* 0x0412 */ Vec3s limbDrawTable[30];
- /* 0x04C6 */ Vec3s transitionDrawTable[30];
+ /* 0x0412 */ Vec3s jointTable[30];
+ /* 0x04C6 */ Vec3s morphTable[30];
} EnSt; // size = 0x057C
extern const ActorInit En_St_InitVars;
diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
index f0fbaa69dc..1b0e7d74c5 100644
--- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
+++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
@@ -79,8 +79,7 @@ void EnSyatekiMan_Init(Actor* thisx, GlobalContext* globalCtx) {
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 親父登場!!むほほほほほほほーん ☆☆☆☆☆ \n" VT_RST);
this->actor.unk_1F = 1;
Actor_SetScale(&this->actor, 0.01f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06009B38, &D_06000338, this->limbDrawTbl,
- this->transitionDrawTbl, 9);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06009B38, &D_06000338, this->jointTable, this->morphTable, 9);
if (LINK_IS_CHILD) {
this->headRot.z = 20;
}
@@ -95,9 +94,9 @@ void EnSyatekiMan_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnSyatekiMan_Start(EnSyatekiMan* this, GlobalContext* globalCtx) {
- f32 lastFrame = SkelAnime_GetFrameCount(&D_06000338);
+ f32 lastFrame = Animation_GetLastFrame(&D_06000338);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000338, 1.0f, 0.0f, (s16)lastFrame, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06000338, 1.0f, 0.0f, (s16)lastFrame, 0, -10.0f);
this->actionFunc = EnSyatekiMan_SetupIdle;
}
@@ -112,7 +111,7 @@ void EnSyatekiMan_SetupIdle(EnSyatekiMan* this, GlobalContext* globalCtx) {
}
void EnSyatekiMan_Idle(EnSyatekiMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (func_8002F194(&this->actor, globalCtx)) {
this->actionFunc = EnSyatekiMan_Talk;
} else {
@@ -123,7 +122,7 @@ void EnSyatekiMan_Idle(EnSyatekiMan* this, GlobalContext* globalCtx) {
void EnSyatekiMan_Talk(EnSyatekiMan* this, GlobalContext* globalCtx) {
s16 nextState = 0;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->cameraHold) {
globalCtx->shootingGalleryStatus = -2;
}
@@ -167,7 +166,7 @@ void EnSyatekiMan_Talk(EnSyatekiMan* this, GlobalContext* globalCtx) {
}
void EnSyatekiMan_StopTalk(EnSyatekiMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->cameraHold) {
globalCtx->shootingGalleryStatus = -2;
}
@@ -185,7 +184,7 @@ void EnSyatekiMan_StopTalk(EnSyatekiMan* this, GlobalContext* globalCtx) {
void EnSyatekiMan_StartGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
EnSyatekiItm* gallery;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->cameraHold) {
globalCtx->shootingGalleryStatus = -2;
}
@@ -207,7 +206,7 @@ void EnSyatekiMan_StartGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
void EnSyatekiMan_WaitForGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
EnSyatekiItm* gallery;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (1) {}
gallery = ((EnSyatekiItm*)this->actor.parent);
if ((gallery->actor.update != NULL) && (gallery->signal == ENSYATEKI_END)) {
@@ -240,7 +239,7 @@ void EnSyatekiMan_WaitForGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
void EnSyatekiMan_EndGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
EnSyatekiItm* gallery;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((this->numTextBox == func_8010BDBC(&globalCtx->msgCtx)) && func_80106BC8(globalCtx)) {
if (this->gameResult != SYATEKI_RESULT_FAILURE) {
func_800803F0(globalCtx, this->onePointCam);
@@ -311,7 +310,7 @@ void EnSyatekiMan_EndGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
}
void EnSyatekiMan_GivePrize(EnSyatekiMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (Actor_HasParent(&this->actor, globalCtx)) {
this->actionFunc = EnSyatekiMan_FinishPrize;
} else {
@@ -320,7 +319,7 @@ void EnSyatekiMan_GivePrize(EnSyatekiMan* this, GlobalContext* globalCtx) {
}
void EnSyatekiMan_FinishPrize(EnSyatekiMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if ((func_8010BDBC(&globalCtx->msgCtx) == 6) && func_80106BC8(globalCtx)) {
// Successful completion
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 正常終了 ☆☆☆☆☆ \n" VT_RST);
@@ -337,7 +336,7 @@ void EnSyatekiMan_FinishPrize(EnSyatekiMan* this, GlobalContext* globalCtx) {
}
void EnSyatekiMan_RestartGame(EnSyatekiMan* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer == 0) {
EnSyatekiItm* gallery = ((EnSyatekiItm*)this->actor.parent);
@@ -419,7 +418,7 @@ void EnSyatekiMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
EnSyatekiMan* this = THIS;
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
func_80B1148C, NULL, this);
}
diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h
index 565717d20b..79f57e6283 100644
--- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h
+++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h
@@ -12,8 +12,8 @@ typedef void (*EnSyatekiManOtherFunc) (struct EnSyatekiMan*);
typedef struct EnSyatekiMan {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTbl[9];
- /* 0x01C6 */ Vec3s transitionDrawTbl[9];
+ /* 0x0190 */ Vec3s jointTable[9];
+ /* 0x01C6 */ Vec3s morphTable[9];
/* 0x01FC */ EnSyatekiManActionFunc actionFunc;
/* 0x0200 */ Vec3s headRot;
/* 0x0206 */ Vec3s bodyRot;
diff --git a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
index 427780884e..636ae3ab26 100644
--- a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
+++ b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
@@ -62,8 +62,7 @@ void EnSyatekiNiw_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(&this->actor, sInitChain);
this->actor.flags &= ~1;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 25.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable,
- this->transitionDrawTable, 16);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->jointTable, this->morphTable, 16);
this->unk_29E = this->actor.params;
if (this->unk_29E < 0) {
@@ -200,7 +199,7 @@ void func_80B11A94(EnSyatekiNiw* this, GlobalContext* globalCtx, s16 arg2) {
}
void func_80B11DEC(EnSyatekiNiw* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060000E8), 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060000E8), 0, -10.0f);
if (this->unk_29E != 0) {
Actor_SetScale(&this->actor, this->unk_2F4);
}
@@ -338,7 +337,7 @@ void func_80B11E78(EnSyatekiNiw* this, GlobalContext* globalCtx) {
}
void func_80B123A8(EnSyatekiNiw* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060000E8), 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060000E8), 0, -10.0f);
this->unk_27C = 6000.0f;
this->unk_288 = -10000.0f;
this->unk_2B0.z = 6000.0f;
@@ -680,7 +679,7 @@ s32 SyatekiNiw_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** d
rot->z += (s16)this->unk_2A4.x;
}
- return 0;
+ return false;
}
void EnSyatekiNiw_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -693,7 +692,7 @@ void EnSyatekiNiw_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80026230(globalCtx, &sp30, 0, 0x14);
}
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, SyatekiNiw_OverrideLimbDraw, NULL, this);
func_80026608(globalCtx);
func_80B13464(this, globalCtx);
diff --git a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.h b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.h
index 1c61f9fa24..487bcb3013 100644
--- a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.h
+++ b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.h
@@ -23,8 +23,8 @@ typedef struct {
typedef struct EnSyatekiNiw {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[16];
- /* 0x01F0 */ Vec3s transitionDrawTable[16];
+ /* 0x0190 */ Vec3s jointTable[16];
+ /* 0x01F0 */ Vec3s morphTable[16];
/* 0x0250 */ EnSyatekiNiwActionFunc actionFunc;
/* 0x0254 */ s16 unk_254;
/* 0x0256 */ s16 unk_256;
diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c
index 669a807fa0..b02b3e5a95 100644
--- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c
+++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c
@@ -112,8 +112,7 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx) {
GlobalContext* globalCtx2 = globalCtx;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f);
- SkelAnime_InitFlex(globalCtx2, &this->skelAnime, &D_0600B7B8, &D_06001C94, this->limbDrawTable,
- this->transitionDrawTable, 17);
+ SkelAnime_InitFlex(globalCtx2, &this->skelAnime, &D_0600B7B8, &D_06001C94, this->jointTable, this->morphTable, 17);
Collider_InitCylinder(globalCtx2, &this->collider);
Collider_SetCylinder(globalCtx2, &this->collider, &this->actor, &sCylinderInit);
@@ -139,12 +138,12 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx) {
} else if (gSaveContext.eventChkInf[6] & 0x400) {
func_80B13AA0(this, func_80B14CAC, func_80B167C0);
this->unk_2B4 = 0;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06001C94);
+ Animation_PlayOnce(&this->skelAnime, &D_06001C94);
this->unk_2E4 = &D_06001C94;
} else {
func_80B13AA0(this, func_80B14754, func_80B167FC);
this->unk_2B4 = 2;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600CD50);
+ Animation_PlayOnce(&this->skelAnime, &D_0600CD50);
this->unk_2E4 = &D_0600CD50;
this->actor.shape.unk_10 = 54.0f;
}
@@ -161,7 +160,7 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx) {
} else {
func_80B13AA0(this, func_80B14D98, func_80B167C0);
this->unk_2B4 = 0;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06001C94);
+ Animation_PlayOnce(&this->skelAnime, &D_06001C94);
this->unk_2E4 = &D_06001C94;
}
break;
@@ -173,12 +172,12 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx) {
} else if (gSaveContext.eventChkInf[1] & 0x8) {
func_80B13AA0(this, func_80B14C18, func_80B167C0);
this->unk_2B4 = 0;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06001C94);
+ Animation_PlayOnce(&this->skelAnime, &D_06001C94);
this->unk_2E4 = &D_06001C94;
} else {
func_80B13AA0(this, func_80B14634, func_80B167FC);
this->unk_2B4 = 2;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600CD50);
+ Animation_PlayOnce(&this->skelAnime, &D_0600CD50);
this->unk_2E4 = &D_0600CD50;
this->actor.shape.unk_10 = 54.0f;
}
@@ -205,20 +204,20 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx) {
if (gSaveContext.eventInf[0] & 0x400) {
func_80B13AA0(this, func_80B16608, func_80B16938);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C48C, 1.0f,
- SkelAnime_GetFrameCount(&D_0600C48C) - 1.0f,
- SkelAnime_GetFrameCount(&D_0600C48C), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600C48C, 1.0f,
+ Animation_GetLastFrame(&D_0600C48C) - 1.0f,
+ Animation_GetLastFrame(&D_0600C48C), 2, 0.0f);
gSaveContext.eventInf[0] &= ~0x400;
} else {
func_80B13AA0(this, func_80B16504, func_80B16854);
this->unk_2B4 = 0;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_060017E8);
+ Animation_PlayOnce(&this->skelAnime, &D_060017E8);
this->unk_2E4 = &D_060017E8;
}
} else {
func_80B13AA0(this, func_80B146F8, func_80B167FC);
this->unk_2B4 = 2;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600CD50);
+ Animation_PlayOnce(&this->skelAnime, &D_0600CD50);
this->unk_2E4 = &D_0600CD50;
this->actor.shape.unk_10 = 54.0f;
}
@@ -226,7 +225,7 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx) {
} else {
func_80B13AA0(this, func_80B14634, func_80B167FC);
this->unk_2B4 = 2;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600CD50);
+ Animation_PlayOnce(&this->skelAnime, &D_0600CD50);
this->unk_2E4 = &D_0600CD50;
this->actor.shape.unk_10 = 54.0f;
}
@@ -320,7 +319,7 @@ void func_80B14570(EnTa* this, GlobalContext* globalCtx) {
func_80B13AA0(this, func_80B144D8, func_80B167C0);
this->unk_2CE = 3;
this->unk_2CC = 60;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600E3D8);
+ Animation_PlayOnce(&this->skelAnime, &D_0600E3D8);
this->unk_2E4 = &D_06001C94;
Audio_PlayActorSound2(&this->actor, NA_SE_VO_TA_SURPRISE);
}
@@ -472,7 +471,7 @@ void func_80B14B6C(EnTa* this, GlobalContext* globalCtx) {
func_80B13AA0(this, func_80B14AF4, func_80B167C0);
this->unk_2CC = 5;
gSaveContext.eventChkInf[1] |= 0x10;
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600CF28);
+ Animation_PlayOnce(&this->skelAnime, &D_0600CF28);
this->unk_2E4 = &D_0600C858;
}
this->unk_2E0 |= 1;
@@ -555,7 +554,7 @@ void func_80B14EDC(EnTa* this, GlobalContext* globalCtx) {
void func_80B14F20(EnTa* this, EnTaActionFunc arg1) {
func_80B13AA0(this, arg1, func_80B16854);
this->unk_2B4 = 2;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060017E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060017E8), 2, -5.0f);
+ Animation_Change(&this->skelAnime, &D_060017E8, 1.0f, 0.0f, Animation_GetLastFrame(&D_060017E8), 2, -5.0f);
this->unk_2E2 = 0;
this->unk_2E4 = &D_060017E8;
}
@@ -564,7 +563,7 @@ void func_80B14FAC(EnTa* this, EnTaActionFunc arg1) {
this->unk_2B4 = 1;
func_80B13AA0(this, arg1, func_80B16938);
this->unk_2E0 &= ~0x10;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C48C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600C48C), 2, -5.0f);
+ Animation_Change(&this->skelAnime, &D_0600C48C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600C48C), 2, -5.0f);
}
void func_80B15034(EnTa* this, GlobalContext* globalCtx) {
@@ -596,8 +595,8 @@ void func_80B15100(EnTa* this, GlobalContext* globalCtx) {
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) {
s32 unk_2CA;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C48C, 1.0f, SkelAnime_GetFrameCount(&D_0600C48C) - 1.0f,
- SkelAnime_GetFrameCount(&D_0600C48C), 2, 10.0f);
+ Animation_Change(&this->skelAnime, &D_0600C48C, 1.0f, Animation_GetLastFrame(&D_0600C48C) - 1.0f,
+ Animation_GetLastFrame(&D_0600C48C), 2, 10.0f);
this->unk_2E0 &= ~0x10;
func_80106CCC(globalCtx);
unk_2CA = this->unk_2CA;
@@ -644,10 +643,10 @@ s32 func_80B152D0(EnTa* this, GlobalContext* globalCtx) {
void func_80B15308(EnTa* this) {
if (this->unk_2E0 & 0x10) {
if (this->unk_2E0 & 0x100) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600BF38, 1.0f, 17.0f, 22.0f, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600BF38, 1.0f, 17.0f, 22.0f, 2, 0.0f);
this->unk_2E0 &= ~0x100;
} else {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600BF38, -1.0f, 21.0f, 16.0f, 2, 3.0f);
+ Animation_Change(&this->skelAnime, &D_0600BF38, -1.0f, 21.0f, 16.0f, 2, 3.0f);
this->unk_2E0 |= 0x100;
}
this->unk_2E0 &= ~0x10;
@@ -700,7 +699,7 @@ void func_80B154FC(EnTa* this, GlobalContext* globalCtx) {
this->unk_2C4[i]--;
} else {
this->unk_2CA = i;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600BF38, 1.0f, 8.0f, 29.0f, 2, -10.0f);
+ Animation_Change(&this->skelAnime, &D_0600BF38, 1.0f, 8.0f, 29.0f, 2, -10.0f);
this->unk_2E0 &= ~0x10;
switch (func_80B152D0(this, globalCtx)) {
@@ -709,7 +708,7 @@ void func_80B154FC(EnTa* this, GlobalContext* globalCtx) {
func_8002DF54(globalCtx, &this->actor, 1);
func_8010B680(globalCtx, 0x2084, &this->actor);
this->unk_25C = func_80B15424;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600BF38, 1.0f, 8.0f, 29.0f, 2, -10.0f);
+ Animation_Change(&this->skelAnime, &D_0600BF38, 1.0f, 8.0f, 29.0f, 2, -10.0f);
this->unk_2E0 &= ~0x10;
this->unk_2E0 &= ~0x100;
gSaveContext.eventInf[0] |= 0x100;
@@ -752,7 +751,7 @@ void func_80B154FC(EnTa* this, GlobalContext* globalCtx) {
func_80B14E28(this, globalCtx);
gSaveContext.eventInf[0] &= ~0x100;
this->unk_2E0 |= 0x80;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600BF38, 1.0f, 8.0f, 29.0f, 2, -10.0f);
+ Animation_Change(&this->skelAnime, &D_0600BF38, 1.0f, 8.0f, 29.0f, 2, -10.0f);
this->unk_2E0 &= ~0x10;
this->unk_2E0 &= ~0x100;
}
@@ -795,8 +794,8 @@ void func_80B1585C(EnTa* this, GlobalContext* globalCtx) {
if (this->unk_2CC == 0) {
func_80B13AA0(this, func_80B154FC, func_80B16938);
this->unk_2E0 &= ~0x10;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C48C, 1.0f, SkelAnime_GetFrameCount(&D_0600C48C) - 1.0f,
- SkelAnime_GetFrameCount(&D_0600C48C), 2, 10.0f);
+ Animation_Change(&this->skelAnime, &D_0600C48C, 1.0f, Animation_GetLastFrame(&D_0600C48C) - 1.0f,
+ Animation_GetLastFrame(&D_0600C48C), 2, 10.0f);
func_8002DF54(globalCtx, &this->actor, 7);
}
}
@@ -805,7 +804,7 @@ void func_80B15AD4(EnTa* this, GlobalContext* globalCtx) {
if (this->unk_2CC == 0 && this->unk_2E0 & 0x20) {
func_80B13AA0(this, func_80B1585C, func_80B16938);
this->unk_2E0 &= ~0x10;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600BF38, 1.0f, 1.0f, SkelAnime_GetFrameCount(&D_0600BF38), 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600BF38, 1.0f, 1.0f, Animation_GetLastFrame(&D_0600BF38), 2, 0.0f);
this->unk_2CC = 50;
func_80088B34(0x1E);
func_800F5ACC(0x6C);
@@ -825,7 +824,7 @@ void func_80B15BF8(EnTa* this, GlobalContext* globalCtx) {
if (this->unk_2E0 & 0x10) {
func_80B13AA0(this, func_80B15AD4, func_80B16938);
this->unk_2E0 &= ~0x10;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600BF38, 1.0f, 0.0f, 1.0f, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_0600BF38, 1.0f, 0.0f, 1.0f, 2, 0.0f);
this->unk_2CC = 5;
}
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) {
@@ -838,7 +837,7 @@ void func_80B15CC8(EnTa* this, GlobalContext* globalCtx) {
if (this->unk_2E0 & 0x10) {
func_80B13AA0(this, func_80B15BF8, func_80B16938);
this->unk_2E0 &= ~0x10;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600BF38, -1.0f, 29.0f, 0.0f, 2, 10.0f);
+ Animation_Change(&this->skelAnime, &D_0600BF38, -1.0f, 29.0f, 0.0f, 2, 10.0f);
}
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) {
this->unk_2E0 |= 0x20;
@@ -849,7 +848,7 @@ void func_80B15CC8(EnTa* this, GlobalContext* globalCtx) {
void func_80B15D90(EnTa* this, GlobalContext* globalCtx) {
func_80B13AA0(this, func_80B15CC8, func_80B16938);
this->unk_2E0 &= ~0x10;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_0600BF38, 1.0f, 8.0f, 29.0f, 2, -10.0f);
+ Animation_Change(&this->skelAnime, &D_0600BF38, 1.0f, 8.0f, 29.0f, 2, -10.0f);
func_8010B720(globalCtx, 0x2080);
this->unk_2E0 &= ~0x20;
}
@@ -1093,14 +1092,14 @@ void func_80B16700(EnTa* this) {
}
void func_80B167C0(EnTa* this) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, this->unk_2E4);
+ if (SkelAnime_Update(&this->skelAnime)) {
+ Animation_PlayOnce(&this->skelAnime, this->unk_2E4);
}
}
void func_80B167FC(EnTa* this) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, this->unk_2E4);
+ if (SkelAnime_Update(&this->skelAnime)) {
+ Animation_PlayOnce(&this->skelAnime, this->unk_2E4);
Audio_PlayActorSound2(&this->actor, NA_SE_VO_TA_SLEEP);
}
this->unk_2E0 |= 0xC;
@@ -1110,12 +1109,12 @@ void func_80B16854(EnTa* this) {
if (this->unk_2E2 > 0) {
this->unk_2E2--;
} else {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, this->unk_2E4);
+ if (SkelAnime_Update(&this->skelAnime)) {
+ Animation_PlayOnce(&this->skelAnime, this->unk_2E4);
this->unk_2E2 = Rand_ZeroFloat(100.0f) + 100.0f;
}
- if (this->skelAnime.animCurrentFrame < 96.0f && this->skelAnime.animCurrentFrame >= 53.0f) {
+ if (this->skelAnime.curFrame < 96.0f && this->skelAnime.curFrame >= 53.0f) {
this->unk_2B4 = 1;
} else {
this->unk_2B4 = 2;
@@ -1127,7 +1126,7 @@ void func_80B16854(EnTa* this) {
void func_80B16938(EnTa* this) {
if (!(this->unk_2E0 & 0x10)) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->unk_2E0 |= 0x10;
}
this->unk_2E0 |= 8;
@@ -1187,7 +1186,7 @@ s32 EnTa_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
rot->z += Math_CosS(globalCtx->state.frames * (limbIdx50 + 0x940)) * 200.0f;
}
- return 0;
+ return false;
}
void EnTa_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -1209,7 +1208,7 @@ void EnTa_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(D_80B16E88[this->unk_2B4]));
gSPSegment(POLY_OPA_DISP++, 0x9, SEGMENTED_TO_VIRTUAL(&D_06006DC0));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnTa_OverrideLimbDraw, EnTa_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ta.c", 2400);
diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.h b/src/overlays/actors/ovl_En_Ta/z_en_ta.h
index 6d2c3409f2..7c36e809af 100644
--- a/src/overlays/actors/ovl_En_Ta/z_en_ta.h
+++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.h
@@ -14,8 +14,8 @@ typedef void (*EnTaUnkFunc)(struct EnTa*);
typedef struct EnTa {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[17];
- /* 0x01F6 */ Vec3s transitionDrawTable[17];
+ /* 0x0190 */ Vec3s jointTable[17];
+ /* 0x01F6 */ Vec3s morphTable[17];
/* 0x025C */ EnTaActionFunc unk_25C;
/* 0x0260 */ EnTaUnkFunc unk_260;
/* 0x0264 */ ColliderCylinder collider;
diff --git a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
index ceb78dda08..dea1c4d630 100644
--- a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
+++ b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
@@ -58,8 +58,7 @@ void EnTakaraMan_Init(Actor* thisx, GlobalContext* globalCtx) {
globalCtx->actorCtx.flags.chest); // "Bun! %x" (needs a better translation)
globalCtx->actorCtx.flags.chest = 0;
gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] = -1;
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004FE0, &D_06000498, this->limbDrawTbl,
- this->transitionDrawTbl, 10);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004FE0, &D_06000498, this->jointTable, this->morphTable, 10);
thisx->posRot2.pos = thisx->posRot.pos;
this->pos = thisx->posRot.pos;
thisx->posRot.pos.x = 133.0f;
@@ -75,9 +74,9 @@ void EnTakaraMan_Init(Actor* thisx, GlobalContext* globalCtx) {
}
void func_80B176E0(EnTakaraMan* this, GlobalContext* globalCtx) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06000498);
+ f32 frameCount = Animation_GetLastFrame(&D_06000498);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000498, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
+ Animation_Change(&this->skelAnime, &D_06000498, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f);
if (!this->unk_214) {
this->actor.textId = 0x6D; // "Open the chest and..Surprise! ... 10 Rupees to play .. Yes/No"
this->dialogState = 4;
@@ -89,7 +88,7 @@ void func_80B1778C(EnTakaraMan* this, GlobalContext* globalCtx) {
s16 absYawDiff;
s16 yawDiff;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (func_8002F194(&this->actor, globalCtx) && this->dialogState != 6) {
if (!this->unk_214) {
this->actionFunc = func_80B17934;
@@ -212,7 +211,7 @@ s32 EnTakaraMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx**
rot->x += this->unk_22C.y;
rot->z += this->unk_22C.z;
}
- return 0;
+ return false;
}
void EnTakaraMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
@@ -227,7 +226,7 @@ void EnTakaraMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTakaraEyeTextures[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnTakaraMan_OverrideLimbDraw, NULL, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_takara_man.c", 544);
diff --git a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.h b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.h
index 5ac82ad76e..01c8ecd27f 100644
--- a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.h
+++ b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.h
@@ -12,8 +12,8 @@ typedef struct EnTakaraMan {
/* 0x0000 */ Actor actor;
/* 0x014C */ EnTakaraManActionFunc actionFunc;
/* 0x0150 */ SkelAnime skelAnime;
- /* 0x0194 */ Vec3s limbDrawTbl[10];
- /* 0x01D0 */ Vec3s transitionDrawTbl[10];
+ /* 0x0194 */ Vec3s jointTable[10];
+ /* 0x01D0 */ Vec3s morphTable[10];
/* 0x020C */ s16 dialogState;
/* 0x020E */ s16 eyeTextureIdx;
/* 0x0210 */ s16 eyeTimer;
diff --git a/src/overlays/actors/ovl_En_Test/z_en_test.h b/src/overlays/actors/ovl_En_Test/z_en_test.h
index 941b9695d4..ccb98d8ede 100644
--- a/src/overlays/actors/ovl_En_Test/z_en_test.h
+++ b/src/overlays/actors/ovl_En_Test/z_en_test.h
@@ -9,11 +9,11 @@ struct EnTest;
typedef struct EnTest {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x03C];
- /* 0x0188 */ SkelAnime skelAnime_188;
- /* 0x01CC */ Vec3s limbDrawTable_1CC[61];
+ /* 0x0188 */ SkelAnime Animation_188;
+ /* 0x01CC */ Vec3s jointTable_1CC[61];
/* 0x033A */ Vec3s transitionTbl_16E[61];
- /* 0x04A8 */ SkelAnime skelAnime_4A8;
- /* 0x04EC */ Vec3s limbDrawTable_4EC[61];
+ /* 0x04A8 */ SkelAnime Animation_4A8;
+ /* 0x04EC */ Vec3s jointTable_4EC[61];
/* 0x065A */ Vec3s transitionTbl_65A[61];
/* 0x07C8 */ char unk_7C8[0x160];
} EnTest; // size = 0x0928
diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c
index 3bc62f20b3..8f16e6f165 100644
--- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c
+++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c
@@ -170,7 +170,7 @@ static CollisionCheckInfoInit2 sColChkInfoInit = {
void EnTk_RestAnim(EnTk* this, GlobalContext* globalCtx) {
AnimationHeader* anim = &D_06002F84;
- SkelAnime_ChangeAnim(&this->skelAnim, anim, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06002F84), 0, -10.0f);
+ Animation_Change(&this->skelAnime, anim, 1.0f, 0.0f, Animation_GetLastFrame(&D_06002F84), 0, -10.0f);
this->actionCountdown = Rand_S16Offset(60, 60);
this->actor.speedXZ = 0.0f;
@@ -179,7 +179,7 @@ void EnTk_RestAnim(EnTk* this, GlobalContext* globalCtx) {
void EnTk_WalkAnim(EnTk* this, GlobalContext* globalCtx) {
AnimationHeader* anim = &D_06001FA8;
- SkelAnime_ChangeAnim(&this->skelAnim, anim, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06002F84), 0, -10.0f);
+ Animation_Change(&this->skelAnime, anim, 1.0f, 0.0f, Animation_GetLastFrame(&D_06002F84), 0, -10.0f);
this->actionCountdown = Rand_S16Offset(240, 240);
}
@@ -187,7 +187,7 @@ void EnTk_WalkAnim(EnTk* this, GlobalContext* globalCtx) {
void EnTk_DigAnim(EnTk* this, GlobalContext* globalCtx) {
AnimationHeader* anim = &D_06001144;
- SkelAnime_ChangeAnim(&this->skelAnim, anim, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06001144), 0, -10.0f);
+ Animation_Change(&this->skelAnime, anim, 1.0f, 0.0f, Animation_GetLastFrame(&D_06001144), 0, -10.0f);
if (EnTk_CheckNextSpot(this, globalCtx) >= 0) {
this->validDigHere = 1;
@@ -281,15 +281,15 @@ f32 EnTk_Step(EnTk* this, GlobalContext* globalCtx) {
f32 a1_;
s32 i;
- if (this->skelAnim.animCurrentFrame == 0.0f || this->skelAnim.animCurrentFrame == 25.0f) {
+ if (this->skelAnime.curFrame == 0.0f || this->skelAnime.curFrame == 25.0f) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_WALK);
}
- if (this->skelAnim.animation != &D_06001FA8) {
+ if (this->skelAnime.animation != &D_06001FA8) {
return 0.0f;
}
- a1_ = this->skelAnim.animCurrentFrame;
+ a1_ = this->skelAnime.curFrame;
for (i = 0; i < ARRAY_COUNT(stepFrames); i++) {
if (a1_ < stepFrames[i] + 12.0f && a1_ >= stepFrames[i]) {
break;
@@ -369,7 +369,7 @@ s16 func_80B1C5A0(GlobalContext* globalCtx, Actor* thisx) {
case 3:
break;
case 4:
- if (func_80106BC8(globalCtx) != 0 && (thisx->textId == 0x5018 || thisx->textId == 0x5019)) {
+ if (func_80106BC8(globalCtx) && (thisx->textId == 0x5018 || thisx->textId == 0x5019)) {
if (globalCtx->msgCtx.choiceIndex == 1) {
/* "Thanks a lot!" */
thisx->textId = 0x0084;
@@ -387,7 +387,7 @@ s16 func_80B1C5A0(GlobalContext* globalCtx, Actor* thisx) {
}
break;
case 5:
- if (func_80106BC8(globalCtx) != 0 && (thisx->textId == 0x0084 || thisx->textId == 0x0085)) {
+ if (func_80106BC8(globalCtx) && (thisx->textId == 0x0084 || thisx->textId == 0x0085)) {
func_80106CCC(globalCtx);
ret = 0;
}
@@ -473,7 +473,7 @@ void EnTk_DigEff(EnTk* this) {
Vec3f speed = { 0.0f, 0.0f, 0.0f };
Vec3f accel = { 0.0f, 0.3f, 0.0f };
- if (this->skelAnim.animCurrentFrame >= 32.0f && this->skelAnim.animCurrentFrame < 40.0f) {
+ if (this->skelAnime.curFrame >= 32.0f && this->skelAnime.curFrame < 40.0f) {
pos.x = (Rand_ZeroOne() - 0.5f) * 12.0f + this->v3f_304.x;
pos.y = (Rand_ZeroOne() - 0.5f) * 8.0f + this->v3f_304.y;
pos.z = (Rand_ZeroOne() - 0.5f) * 12.0f + this->v3f_304.z;
@@ -487,8 +487,8 @@ void EnTk_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, 0, ActorShadow_DrawFunc_Circle, 24.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnim, &D_0600BE40, NULL, this->hz_22A, this->hz_296, 18);
- SkelAnime_ChangeAnim(&this->skelAnim, &D_06002F84, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06002F84), 0, 0.0f);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600BE40, NULL, this->jointTable, this->morphTable, 18);
+ Animation_Change(&this->skelAnime, &D_06002F84, 1.0f, 0.0f, Animation_GetLastFrame(&D_06002F84), 0, 0.0f);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
@@ -534,7 +534,7 @@ void EnTk_Rest(EnTk* this, GlobalContext* globalCtx) {
func_800343CC(globalCtx, &this->actor, &this->h_1E0, this->collider.dim.radius + 30.0f, func_80B1C54C,
func_80B1C5A0);
- } else if (EnTk_CheckFacingPlayer(this) != 0) {
+ } else if (EnTk_CheckFacingPlayer(this)) {
v1 = this->actor.shape.rot.y;
v1 -= this->h_21E;
v1 = this->actor.yawTowardsLink - v1;
@@ -542,7 +542,7 @@ void EnTk_Rest(EnTk* this, GlobalContext* globalCtx) {
this->actionCountdown = 0;
func_800343CC(globalCtx, &this->actor, &this->h_1E0, this->collider.dim.radius + 30.0f, func_80B1C54C,
func_80B1C5A0);
- } else if (func_8002F194(&this->actor, globalCtx) != 0) {
+ } else if (func_8002F194(&this->actor, globalCtx)) {
v1 = this->actor.shape.rot.y;
v1 -= this->h_21E;
v1 = this->actor.yawTowardsLink - v1;
@@ -574,7 +574,7 @@ void EnTk_Walk(EnTk* this, GlobalContext* globalCtx) {
EnTk_CheckCurrentSpot(this);
DECR(this->actionCountdown);
- if (EnTk_CheckFacingPlayer(this) != 0 || this->actionCountdown == 0) {
+ if (EnTk_CheckFacingPlayer(this) || this->actionCountdown == 0) {
EnTk_RestAnim(this, globalCtx);
this->actionFunc = EnTk_Rest;
}
@@ -584,17 +584,13 @@ void EnTk_Walk(EnTk* this, GlobalContext* globalCtx) {
void EnTk_Dig(EnTk* this, GlobalContext* globalCtx) {
Vec3f rewardOrigin;
Vec3f rewardPos;
- s32 sRewardParams[] = {
- 0x0000, /* Green rupee */
- 0x0001, /* Blue rupee */
- 0x0002, /* Red rupee */
- 0x0014, /* Purple rupee */
- 0x0006, /* Heart piece */
+ s32 rewardParams[] = {
+ ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_RUPEE_RED, ITEM00_RUPEE_PURPLE, ITEM00_HEART_PIECE,
};
EnTk_DigEff(this);
- if (this->skelAnim.animCurrentFrame == 32.0f) {
+ if (this->skelAnime.curFrame == 32.0f) {
/* What's gonna come out? */
Audio_PlayActorSound2(&this->actor, NA_SE_EV_DIG_UP);
@@ -618,17 +614,17 @@ void EnTk_Dig(EnTk* this, GlobalContext* globalCtx) {
* Upgrade the purple rupee reward to the heart piece if this
* is the first grand prize dig.
*/
- if ((gSaveContext.itemGetInf[1] & 0x1000) == 0) {
+ if (!(gSaveContext.itemGetInf[1] & 0x1000)) {
gSaveContext.itemGetInf[1] |= 0x1000;
this->currentReward = 4;
}
}
- Item_DropCollectible(globalCtx, &rewardPos, sRewardParams[this->currentReward]);
+ Item_DropCollectible(globalCtx, &rewardPos, rewardParams[this->currentReward]);
}
}
- if (this->skelAnim.animCurrentFrame >= 32.0f && this->rewardTimer == 10) {
+ if (this->skelAnime.curFrame >= 32.0f && this->rewardTimer == 10) {
/* Play a reward sound shortly after digging */
if (this->validDigHere == 0) {
/* Bad dig spot */
@@ -643,7 +639,7 @@ void EnTk_Dig(EnTk* this, GlobalContext* globalCtx) {
}
this->rewardTimer++;
- if (func_800A56C8(&this->skelAnim, this->skelAnim.animFrameCount) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
if (this->currentReward < 0) {
/* "Nope, nothing here!" */
func_8010B680(globalCtx, 0x501A, NULL);
@@ -666,7 +662,7 @@ void EnTk_Update(Actor* thisx, GlobalContext* globalCtx) {
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
- SkelAnime_FrameUpdateMatrix(&this->skelAnim);
+ SkelAnime_Update(&this->skelAnime);
Actor_MoveForward(&this->actor);
@@ -702,7 +698,7 @@ s32 EnTk_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
break;
}
- return 0;
+ return false;
}
void EnTk_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -740,7 +736,7 @@ void EnTk_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnim.skeleton, this->skelAnim.limbDrawTbl, this->skelAnim.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnTk_OverrideLimbDraw, EnTk_PostLimbDraw, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_tk.c", 1312);
diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.h b/src/overlays/actors/ovl_En_Tk/z_en_tk.h
index c62051b92c..30c35f9352 100644
--- a/src/overlays/actors/ovl_En_Tk/z_en_tk.h
+++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.h
@@ -25,7 +25,7 @@ typedef void (*EnTkActionFunc)(struct EnTk*, GlobalContext*);
typedef struct EnTk {
/* 0x0000 */ Actor actor;
- /* 0x014C */ SkelAnime skelAnim;
+ /* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnTkActionFunc actionFunc;
/* 0x0194 */ ColliderCylinder collider;
/* 0x01E0 */ s16 h_1E0;
@@ -43,8 +43,8 @@ typedef struct EnTk {
/* 0x0224 */ s16 blinkCountdown;
/* 0x0226 */ s16 headRot;
/* 0x0228 */ s16 currentWaypoint;
- /* 0x022A */ Vec3s hz_22A[18];
- /* 0x0296 */ Vec3s hz_296[18];
+ /* 0x022A */ Vec3s jointTable[18];
+ /* 0x0296 */ Vec3s morphTable[18];
/* 0x0304 */ Vec3f v3f_304;
/* 0x0310 */ EnTkEff eff[20];
} EnTk; // size = 0x0770
diff --git a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c
index e6bc82de78..865c3c5af3 100644
--- a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c
+++ b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c
@@ -233,8 +233,8 @@ void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx2) {
switch (sActionState) {
case ENTORCH2_WAIT:
this->actor.shape.rot.y = this->actor.posRot.rot.y = this->actor.yawTowardsLink;
- this->skelAnime.animCurrentFrame = 0.0f;
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ this->skelAnime.curFrame = 0.0f;
+ this->skelAnime.playSpeed = 0.0f;
this->actor.posRot.pos.x = (Math_SinS(this->actor.posRot.rot.y) * 25.0f) + sSpawnPoint.x;
this->actor.posRot.pos.z = (Math_CosS(this->actor.posRot.rot.y) * 25.0f) + sSpawnPoint.z;
if ((this->actor.xzDistFromLink <= 120.0f) || func_80033A84(globalCtx, &this->actor) ||
@@ -340,7 +340,7 @@ void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx2) {
input->cur.button = BTN_A;
player->stateFlags3 &= ~4;
sStickTilt = 127.0f;
- player->skelAnime.animCurrentFrame = 3.0f;
+ player->skelAnime.curFrame = 3.0f;
sStickAngle = this->actor.yawTowardsLink + 0x8000;
sSwordJumpTimer = sSwordJumpState = 0;
this->actor.flags |= 1;
@@ -381,8 +381,8 @@ void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx2) {
player->linearVelocity = 0.0f;
this->invincibilityTimer = -7;
this->linearVelocity = 0.0f;
- player->skelAnime.animCurrentFrame = 2.0f;
- func_800A3BC0(globalCtx, &player->skelAnime);
+ player->skelAnime.curFrame = 2.0f;
+ LinkAnimation_Update(globalCtx, &player->skelAnime);
sHoldShieldTimer = 0;
input->cur.button = BTN_A;
} else {
@@ -663,7 +663,7 @@ void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx2) {
this->linearVelocity = 1.0f;
}
if (staggerThreshold < sStaggerCount) {
- this->skelAnime.animPlaybackSpeed *= 0.6f;
+ this->skelAnime.playSpeed *= 0.6f;
func_800F4190(&this->actor.projectedPos, NA_SE_PL_DAMAGE);
sStaggerTimer = 0;
sStaggerCount = 0;
@@ -687,9 +687,9 @@ void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx2) {
} else {
sCounterState = 2;
this->swordState = 1;
- this->skelAnime.animCurrentFrame = player->skelAnime.animCurrentFrame - player->skelAnime.animPlaybackSpeed;
- this->skelAnime.animPlaybackSpeed = player->skelAnime.animPlaybackSpeed;
- func_800A3BC0(globalCtx, &this->skelAnime);
+ this->skelAnime.curFrame = player->skelAnime.curFrame - player->skelAnime.playSpeed;
+ this->skelAnime.playSpeed = player->skelAnime.playSpeed;
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
Collider_QuadSetAT(globalCtx, &this->swordQuads[0].base);
Collider_QuadSetAT(globalCtx, &this->swordQuads[1].base);
}
@@ -768,7 +768,7 @@ void EnTorch2_Draw(Actor* thisx, GlobalContext* globalCtx2) {
gSPSegment(POLY_OPA_DISP++, 0x0C, D_80116280 + 2);
func_8002EBCC(&this->actor, globalCtx, 0);
func_8002ED80(&this->actor, globalCtx, 0);
- POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnTorch2_OverrideLimbDraw, EnTorch2_PostLimbDraw,
this, POLY_OPA_DISP);
} else {
@@ -776,7 +776,7 @@ void EnTorch2_Draw(Actor* thisx, GlobalContext* globalCtx2) {
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280);
func_8002EBCC(&this->actor, globalCtx, 0);
func_8002ED80(&this->actor, globalCtx, 0);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnTorch2_OverrideLimbDraw, EnTorch2_PostLimbDraw,
this, POLY_XLU_DISP);
}
diff --git a/src/overlays/actors/ovl_En_Vm/z_en_vm.c b/src/overlays/actors/ovl_En_Vm/z_en_vm.c
index 1e7c627720..5a999aa5d1 100644
--- a/src/overlays/actors/ovl_En_Vm/z_en_vm.c
+++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.c
@@ -94,8 +94,7 @@ void EnVm_SetupAction(EnVm* this, EnVmActionFunc actionFunc) {
void EnVm_Init(Actor* thisx, GlobalContext* globalCtx) {
EnVm* this = THIS;
- SkelAnime_Init(globalCtx, &this->skelAnime, &D_06003F60, &D_06000068, this->limbDrawTable,
- this->transitionDrawTable, 11);
+ SkelAnime_Init(globalCtx, &this->skelAnime, &D_06003F60, &D_06000068, this->jointTable, this->morphTable, 11);
ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f);
Collider_InitCylinder(globalCtx, &this->colliderCylinder);
Collider_SetCylinder(globalCtx, &this->colliderCylinder, thisx, &sCylinderInit);
@@ -125,9 +124,9 @@ void EnVm_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnVm_SetupWait(EnVm* this) {
- f32 frameCount = SkelAnime_GetFrameCount(&D_06000068);
+ f32 frameCount = Animation_GetLastFrame(&D_06000068);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, 1.0f, frameCount, frameCount, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000068, 1.0f, frameCount, frameCount, 2, 0.0f);
this->unk_25E = this->unk_260 = 0;
this->unk_21C = 0;
this->timer = 10;
@@ -161,9 +160,9 @@ void EnVm_Wait(EnVm* this, GlobalContext* globalCtx) {
this->timer--;
if (this->timer == 0) {
this->unk_25E++;
- this->skelAnime.animCurrentFrame = 0.0f;
- this->skelAnime.initialFrame = 0.0f;
- this->skelAnime.animPlaybackSpeed = 2.0f;
+ this->skelAnime.curFrame = 0.0f;
+ this->skelAnime.startFrame = 0.0f;
+ this->skelAnime.playSpeed = 2.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BIMOS_AIM);
}
}
@@ -171,7 +170,7 @@ void EnVm_Wait(EnVm* this, GlobalContext* globalCtx) {
this->headRotY -= 0x1F4;
}
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
return;
case 1:
break;
@@ -181,9 +180,9 @@ void EnVm_Wait(EnVm* this, GlobalContext* globalCtx) {
Math_SmoothStepToS(&this->headRotY, this->actor.yawTowardsLink - this->actor.shape.rot.y, 1, 0x1F40, 0);
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->unk_260++;
- this->skelAnime.animCurrentFrame = 0.0f;
+ this->skelAnime.curFrame = 0.0f;
}
if (this->unk_260 == 2) {
@@ -195,12 +194,12 @@ void EnVm_Wait(EnVm* this, GlobalContext* globalCtx) {
}
if (this->beamRot.x < 0xAAA) {
- this->skelAnime.initialFrame = this->skelAnime.animCurrentFrame = this->skelAnime.animFrameCount;
+ this->skelAnime.startFrame = this->skelAnime.curFrame = this->skelAnime.endFrame;
this->unk_25E = this->unk_260 = 0;
this->timer = 10;
- this->skelAnime.animPlaybackSpeed = 1.0f;
+ this->skelAnime.playSpeed = 1.0f;
} else {
- this->skelAnime.animCurrentFrame = 6.0f;
+ this->skelAnime.curFrame = 6.0f;
EffectSsDeadDd_Spawn(globalCtx, &this->beamPos2, &D_80B2EAEC, &D_80B2EAEC, 150, -25, 0, 0, 255, 0, 255, 255,
255, 16, 20);
EnVm_SetupAttack(this);
@@ -209,7 +208,7 @@ void EnVm_Wait(EnVm* this, GlobalContext* globalCtx) {
}
void EnVm_SetupAttack(EnVm* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, 3.0f, 3.0f, 7.0f, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000068, 3.0f, 3.0f, 7.0f, 2, 0.0f);
this->timer = 305;
this->beamScale.x = 0.6f;
this->beamSpeed = 40.0f;
@@ -272,13 +271,13 @@ void EnVm_Attack(EnVm* this, GlobalContext* globalCtx) {
this->unk_260 = 3;
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
- this->skelAnime.animCurrentFrame = this->skelAnime.initialFrame;
+ if (SkelAnime_Update(&this->skelAnime)) {
+ this->skelAnime.curFrame = this->skelAnime.startFrame;
}
}
void EnVm_SetupStun(EnVm* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, -1.0f, SkelAnime_GetFrameCount(&D_06000068), 0.0f, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000068, -1.0f, Animation_GetLastFrame(&D_06000068), 0.0f, 2, 0.0f);
this->unk_260 = 0;
this->timer = 180;
this->unk_25E = this->unk_260;
@@ -291,28 +290,28 @@ void EnVm_SetupStun(EnVm* this) {
void EnVm_Stun(EnVm* this, GlobalContext* globalCtx) {
if (this->timer == 0) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) {
+ if (SkelAnime_Update(&this->skelAnime)) {
this->unk_25E++;
if (this->unk_25E == 3) {
EnVm_SetupWait(this);
} else if (this->unk_25E == 1) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000068), 2,
- 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000068, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000068), 2,
+ 0.0f);
} else {
this->timer = 10;
- this->skelAnime.animCurrentFrame = 0.0f;
- this->skelAnime.animPlaybackSpeed = 2.0f;
+ this->skelAnime.curFrame = 0.0f;
+ this->skelAnime.playSpeed = 2.0f;
}
}
} else {
Math_SmoothStepToS(&this->beamRot, 0, 10, 0x5DC, 0);
this->timer--;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
}
void EnVm_SetupDie(EnVm* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000068, -1.0f, SkelAnime_GetFrameCount(&D_06000068), 0.0f, 2, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000068, -1.0f, Animation_GetLastFrame(&D_06000068), 0.0f, 2, 0.0f);
this->timer = 33;
this->unk_25E = this->unk_260 = 0;
this->unk_21C = 3;
@@ -420,7 +419,7 @@ s32 EnVm_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
}
}
- return 0;
+ return false;
}
void EnVm_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -481,7 +480,7 @@ void EnVm_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D18(globalCtx->state.gfxCtx);
func_80093D84(globalCtx->state.gfxCtx);
- SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnVm_OverrideLimbDraw,
+ SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnVm_OverrideLimbDraw,
EnVm_PostLimbDraw, this);
actorPos = this->actor.posRot.pos;
func_80033C30(&actorPos, &D_80B2EB7C, 255, globalCtx);
diff --git a/src/overlays/actors/ovl_En_Vm/z_en_vm.h b/src/overlays/actors/ovl_En_Vm/z_en_vm.h
index f52c22dd53..2a7bbd1232 100644
--- a/src/overlays/actors/ovl_En_Vm/z_en_vm.h
+++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.h
@@ -11,8 +11,8 @@ typedef void (*EnVmActionFunc)(struct EnVm*, GlobalContext*);
typedef struct EnVm {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[11];
- /* 0x01D2 */ Vec3s transitionDrawTable[11];
+ /* 0x0190 */ Vec3s jointTable[11];
+ /* 0x01D2 */ Vec3s morphTable[11];
/* 0x0214 */ EnVmActionFunc actionFunc;
/* 0x0218 */ f32 beamSightRange;
/* 0x021C */ s32 unk_21C;
diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
index b5820d2448..bd1bbe3b0a 100644
--- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
+++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
@@ -93,8 +93,7 @@ void EnWallmas_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_ProcessInitChain(thisx, sInitChain);
ActorShape_Init(&thisx->shape, 0, NULL, 0.5f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, &this->unkSkelAnimeStruct, &this->unk_22e,
- 25);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, this->jointTable, this->morphTable, 25);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, thisx, &sCylinderInit);
@@ -137,12 +136,11 @@ void EnWallmas_TimerInit(EnWallmas* this, GlobalContext* globalCtx) {
void EnWallmas_SetupDrop(EnWallmas* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- AnimationHeader* objSegChangeAnime = &D_0600299C;
+ AnimationHeader* objSegChangee = &D_0600299C;
- SkelAnime_ChangeAnim(&this->skelAnime, objSegChangeAnime, 0.0f, 20.0f, SkelAnime_GetFrameCount(&D_0600299C), 2,
- 0.0f);
+ Animation_Change(&this->skelAnime, objSegChangee, 0.0f, 20.0f, Animation_GetLastFrame(&D_0600299C), 2, 0.0f);
- this->unk_2c4 = player->actor.posRot.pos.y;
+ this->yTarget = player->actor.posRot.pos.y;
this->actor.posRot.pos.y = player->actor.posRot.pos.y + 300.0f;
this->actor.posRot.rot.y = player->actor.shape.rot.y + 0x8000;
this->actor.groundY = player->actor.groundY;
@@ -153,10 +151,9 @@ void EnWallmas_SetupDrop(EnWallmas* this, GlobalContext* globalCtx) {
void EnWallmas_SetupLand(EnWallmas* this, GlobalContext* globalCtx) {
AnimationHeader* objSegFrameCount = &D_060019CC;
- AnimationHeader* objSegChangeAnime = &D_060019CC;
+ AnimationHeader* objSegChangee = &D_060019CC;
- SkelAnime_ChangeAnim(&this->skelAnime, objSegChangeAnime, 1.0f, 41.0f, SkelAnime_GetFrameCount(objSegFrameCount), 2,
- -3.0f);
+ Animation_Change(&this->skelAnime, objSegChangee, 1.0f, 41.0f, Animation_GetLastFrame(objSegFrameCount), 2, -3.0f);
func_80033260(globalCtx, &this->actor, &this->actor.posRot.pos, 15.0f, 6, 20.0f, 0x12C, 0x64, 1);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_LAND);
@@ -164,36 +161,35 @@ void EnWallmas_SetupLand(EnWallmas* this, GlobalContext* globalCtx) {
}
void EnWallmas_SetupStand(EnWallmas* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600A054);
+ Animation_PlayOnce(&this->skelAnime, &D_0600A054);
this->actionFunc = EnWallmas_Stand;
}
void EnWallmas_SetupWalk(EnWallmas* this) {
- SkelAnime_ChangeAnimPlaybackStop(&this->skelAnime, &D_060041F4, 3.0f);
+ Animation_PlayOnceSetSpeed(&this->skelAnime, &D_060041F4, 3.0f);
this->actionFunc = EnWallmas_Walk;
this->actor.speedXZ = 3.0f;
}
void EnWallmas_SetupJumpToCeiling(EnWallmas* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06009244);
+ Animation_PlayOnce(&this->skelAnime, &D_06009244);
this->actionFunc = EnWallmas_JumpToCeiling;
this->actor.speedXZ = 0.0f;
}
void EnWallmas_SetupReturnToCeiling(EnWallmas* this) {
AnimationHeader* objSegFrameCount = &D_060019CC;
- AnimationHeader* objSegChangeAnime = &D_060019CC;
+ AnimationHeader* objSegChangee = &D_060019CC;
this->timer = 0;
this->actor.speedXZ = 0.0f;
- SkelAnime_ChangeAnim(&this->skelAnime, objSegChangeAnime, 3.0f, 0.0f, SkelAnime_GetFrameCount(objSegFrameCount), 2,
- -3.0f);
+ Animation_Change(&this->skelAnime, objSegChangee, 3.0f, 0.0f, Animation_GetLastFrame(objSegFrameCount), 2, -3.0f);
this->actionFunc = EnWallmas_ReturnToCeiling;
}
void EnWallmas_SetupTakeDamage(EnWallmas* this) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06000590, -3.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06000590, -3.0f);
if ((this->collider.body.acHitItem->toucher.flags & 0x1F824) != 0) {
this->actor.posRot.rot.y = this->collider.base.ac->posRot.rot.y;
} else {
@@ -207,7 +203,7 @@ void EnWallmas_SetupTakeDamage(EnWallmas* this) {
}
void EnWallmas_SetupCooldown(EnWallmas* this) {
- SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_06000EA4);
+ Animation_PlayOnce(&this->skelAnime, &D_06000EA4);
this->actor.speedXZ = 0.0f;
this->actor.velocity.y = 0.0f;
this->actor.posRot.rot.y = this->actor.shape.rot.y;
@@ -227,13 +223,13 @@ void EnWallmas_SetupDie(EnWallmas* this, GlobalContext* globalCtx) {
}
void EnWallmas_SetupTakePlayer(EnWallmas* this, GlobalContext* globalCtx) {
- SkelAnime_ChangeAnimTransitionStop(&this->skelAnime, &D_06009520, -5.0f);
+ Animation_MorphToPlayOnce(&this->skelAnime, &D_06009520, -5.0f);
this->timer = -0x1e;
this->actionFunc = EnWallmas_TakePlayer;
this->actor.speedXZ = 0.0f;
this->actor.velocity.y = 0.0f;
- this->unk_2c4 = this->actor.yDistFromLink;
+ this->yTarget = this->actor.yDistFromLink;
func_8002DF38(globalCtx, &this->actor, 0x25);
func_800800F8(globalCtx, 0x251C, 0x270F, &this->actor, 0);
}
@@ -241,7 +237,7 @@ void EnWallmas_SetupTakePlayer(EnWallmas* this, GlobalContext* globalCtx) {
void EnWallmas_ProximityOrSwitchInit(EnWallmas* this) {
this->timer = 0;
this->actor.draw = NULL;
- this->actor.flags = this->actor.flags & ~1;
+ this->actor.flags &= ~1;
if (this->actor.params == WMT_PROXIMITY) {
this->actionFunc = EnWallmas_WaitForProximity;
} else {
@@ -250,7 +246,7 @@ void EnWallmas_ProximityOrSwitchInit(EnWallmas* this) {
}
void EnWallmas_SetupStun(EnWallmas* this) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_060019CC, 1.5f, 0, 20.0f, 2, -3.0f);
+ Animation_Change(&this->skelAnime, &D_060019CC, 1.5f, 0, 20.0f, 2, -3.0f);
this->actor.speedXZ = 0.0f;
if (this->actor.colChkInfo.damageEffect == 4) {
@@ -302,13 +298,13 @@ void EnWallmas_Drop(EnWallmas* this, GlobalContext* globalCtx) {
}
void EnWallmas_Land(EnWallmas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
EnWallmas_SetupStand(this);
}
}
void EnWallmas_Stand(EnWallmas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
EnWallmas_SetupWalk(this);
}
@@ -316,33 +312,33 @@ void EnWallmas_Stand(EnWallmas* this, GlobalContext* globalCtx) {
}
void EnWallmas_Walk(EnWallmas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
EnWallmas_SetupJumpToCeiling(this);
}
Math_ScaledStepToS(&this->actor.posRot.rot.y, (s16)((s32)this->actor.yawTowardsLink + 0x8000), 0xB6);
- if ((func_800A56C8(&this->skelAnime, 0.0f) != 0) || (func_800A56C8(&this->skelAnime, 12.0f) != 0) ||
- (func_800A56C8(&this->skelAnime, 24.0f) != 0) || (func_800A56C8(&this->skelAnime, 36.0f) != 0)) {
+ if ((Animation_OnFrame(&this->skelAnime, 0.0f) != 0) || (Animation_OnFrame(&this->skelAnime, 12.0f) != 0) ||
+ (Animation_OnFrame(&this->skelAnime, 24.0f) != 0) || (Animation_OnFrame(&this->skelAnime, 36.0f) != 0)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_WALK);
}
}
void EnWallmas_JumpToCeiling(EnWallmas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
EnWallmas_SetupReturnToCeiling(this);
}
}
void EnWallmas_ReturnToCeiling(EnWallmas* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
- if (this->skelAnime.animCurrentFrame > 20.0f) {
+ SkelAnime_Update(&this->skelAnime);
+ if (this->skelAnime.curFrame > 20.0f) {
this->timer += 9;
this->actor.posRot.pos.y = this->actor.posRot.pos.y + 30.0f;
}
- if (func_800A56C8(&this->skelAnime, 20.0f) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, 20.0f) != 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_UP);
}
@@ -355,7 +351,6 @@ void EnWallmas_ReturnToCeiling(EnWallmas* this, GlobalContext* globalCtx) {
if (this->actor.params == WMT_TIMER ||
Math_Vec3f_DistXZ(&this->actor.initPosRot.pos, &player->actor.posRot.pos) < 200.0f) {
EnWallmas_TimerInit(this, globalCtx);
- return;
} else {
EnWallmas_ProximityOrSwitchInit(this);
}
@@ -363,14 +358,14 @@ void EnWallmas_ReturnToCeiling(EnWallmas* this, GlobalContext* globalCtx) {
}
void EnWallmas_TakeDamage(EnWallmas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
if (this->actor.colChkInfo.health == 0) {
EnWallmas_SetupDie(this, globalCtx);
} else {
EnWallmas_SetupCooldown(this);
}
}
- if (func_800A56C8(&this->skelAnime, 13.0f) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, 13.0f) != 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_M_GND);
}
@@ -378,7 +373,7 @@ void EnWallmas_TakeDamage(EnWallmas* this, GlobalContext* globalCtx) {
}
void EnWallmas_Cooldown(EnWallmas* this, GlobalContext* globalCtx) {
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
EnWallmas_SetupReturnToCeiling(this);
}
}
@@ -396,7 +391,7 @@ void EnWallmas_Die(EnWallmas* this, GlobalContext* globalCtx) {
void EnWallmas_TakePlayer(EnWallmas* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
- if (func_800A56C8(&this->skelAnime, 1.0f) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, 1.0f) != 0) {
if (LINK_IS_CHILD) {
func_8002F7DC(&this->actor, NA_SE_VO_LI_DAMAGE_S_KID);
} else {
@@ -405,7 +400,7 @@ void EnWallmas_TakePlayer(EnWallmas* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_CATCH);
}
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
+ if (SkelAnime_Update(&this->skelAnime) != 0) {
player->actor.posRot.pos.x = this->actor.posRot.pos.x;
player->actor.posRot.pos.z = this->actor.posRot.pos.z;
@@ -461,7 +456,7 @@ void EnWallmas_WaitForSwitchFlag(EnWallmas* this, GlobalContext* globalCtx) {
}
void EnWallmas_Stun(EnWallmas* this, GlobalContext* globalCtx) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
if (this->timer != 0) {
this->timer--;
}
@@ -524,8 +519,8 @@ void EnWallmas_Update(Actor* thisx, GlobalContext* globalCtx) {
if (this->actionFunc != EnWallmas_Drop) {
func_8002E4B4(globalCtx, &this->actor, 20.0f, 25.0f, 0.0f, 0x1D);
- } else if (this->actor.posRot.pos.y <= this->unk_2c4) {
- this->actor.posRot.pos.y = this->unk_2c4;
+ } else if (this->actor.posRot.pos.y <= this->yTarget) {
+ this->actor.posRot.pos.y = this->yTarget;
this->actor.velocity.y = 0.0f;
EnWallmas_SetupLand(this, globalCtx);
}
@@ -588,11 +583,10 @@ s32 EnWallMas_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
if (this->actionFunc != EnWallmas_TakePlayer) {
pos->z -= 1600.0f;
} else {
- pos->z -= ((1600.0f * (this->skelAnime.animFrameCount - this->skelAnime.animCurrentFrame)) /
- this->skelAnime.animFrameCount);
+ pos->z -= ((1600.0f * (this->skelAnime.endFrame - this->skelAnime.curFrame)) / this->skelAnime.endFrame);
}
}
- return 0;
+ return false;
}
void EnWallMas_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
@@ -619,7 +613,7 @@ void EnWallmas_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (this->actionFunc != EnWallmas_WaitToDrop) {
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnWallMas_OverrideLimbDraw, EnWallMas_PostLimbDraw, this);
}
diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h
index 2296b0f17b..37095a7367 100644
--- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h
+++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h
@@ -20,11 +20,9 @@ typedef struct EnWallmas {
/* 0x0190 */ EnWallmasActionFunc actionFunc;
/* 0x0194 */ s16 timer;
/* 0x0196 */ s16 switchFlag;
- /* 0x0198 */ UNK_PTR unkSkelAnimeStruct;
- /* 0x019C */ char unk_178[0x92];
- /* 0x022E */ u16 unk_22e;
- /* 0x0230 */ char unk_230[0x94];
- /* 0x02C4 */ f32 unk_2c4;
+ /* 0x0198 */ Vec3s jointTable[25];
+ /* 0x022E */ Vec3s morphTable[25];
+ /* 0x02C4 */ f32 yTarget;
/* 0x02C8 */ ColliderCylinder collider;
} EnWallmas; // size = 0x0314
diff --git a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
index 11a21dad11..9fcfeb0185 100644
--- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
+++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
@@ -71,9 +71,9 @@ void EnZl1_Init(Actor* thisx, GlobalContext* globalCtx) {
f32 frameCount;
EnZl1* this = THIS;
- frameCount = SkelAnime_GetFrameCount(&D_06012118);
+ frameCount = Animation_GetLastFrame(&D_06012118);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600F5D8, NULL, NULL, NULL, 0);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06012118, 1.0f, 0.0f, frameCount, 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06012118, 1.0f, 0.0f, frameCount, 0, 0.0f);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
@@ -82,21 +82,21 @@ void EnZl1_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.unk_1F = 0;
if (gSaveContext.sceneSetupIndex >= 4) {
- frameCount = SkelAnime_GetFrameCount(&D_06000438);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f);
+ frameCount = Animation_GetLastFrame(&D_06000438);
+ Animation_Change(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f);
this->unk_1E6 = 0;
this->actionFunc = func_80B4BC78;
} else if ((Flags_GetEventChkInf(9)) && (Flags_GetEventChkInf(0x25)) && (Flags_GetEventChkInf(0x37))) {
Actor_Kill(&this->actor);
} else if (((Flags_GetEventChkInf(9)) && (Flags_GetEventChkInf(0x25))) ||
((Flags_GetEventChkInf(9)) && (Flags_GetEventChkInf(0x37)))) {
- frameCount = SkelAnime_GetFrameCount(&D_06000438);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f);
+ frameCount = Animation_GetLastFrame(&D_06000438);
+ Animation_Change(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f);
this->actor.textId = 0x703D;
this->actionFunc = func_80B4AF18;
} else if (Flags_GetEventChkInf(0x40)) {
- frameCount = SkelAnime_GetFrameCount(&D_06000438);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f);
+ frameCount = Animation_GetLastFrame(&D_06000438);
+ Animation_Change(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f);
this->actor.textId = 0x703C;
this->actionFunc = func_80B4AF18;
} else {
@@ -113,7 +113,7 @@ void EnZl1_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void func_80B4AE18(EnZl1* this) {
- if ((this->skelAnime.animation == &D_06010B38) && (this->skelAnime.animCurrentFrame < 26.0f)) {
+ if ((this->skelAnime.animation == &D_06010B38) && (this->skelAnime.curFrame < 26.0f)) {
this->unk_1F4 = &D_06008C48;
this->unk_1F8 = &D_06008848;
this->unk_1FC = 2;
@@ -160,8 +160,7 @@ void func_80B4B010(EnZl1* this, GlobalContext* globalCtx) {
s16 rotDiff;
if (func_8002F194(&this->actor, globalCtx)) {
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06010B38, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06010B38), 3,
- -10.0f);
+ Animation_Change(&this->skelAnime, &D_06010B38, 1.0f, 0.0f, Animation_GetLastFrame(&D_06010B38), 3, -10.0f);
this->unk_1E8 = Gameplay_CreateSubCamera(globalCtx);
Gameplay_ChangeCameraStatus(globalCtx, 0, CAM_STAT_WAIT);
Gameplay_ChangeCameraStatus(globalCtx, this->unk_1E8, CAM_STAT_ACTIVE);
@@ -204,13 +203,13 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
switch (this->unk_1E2) {
case 0:
- switch ((s16)this->skelAnime.animCurrentFrame) {
+ switch ((s16)this->skelAnime.curFrame) {
case 14:
this->unk_1E4 = 0;
break;
case 15:
if (DECR(this->unk_1E4) != 0) {
- this->skelAnime.animCurrentFrame = 15.0f;
+ this->skelAnime.curFrame = 15.0f;
}
break;
case 64:
@@ -247,8 +246,8 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
}
break;
case 3:
- frameCount = SkelAnime_GetFrameCount(&D_06013F10);
- if (this->skelAnime.animCurrentFrame == frameCount) {
+ frameCount = Animation_GetLastFrame(&D_06013F10);
+ if (this->skelAnime.curFrame == frameCount) {
animHeaderSeg = &D_060143A8;
sp3C = 1;
this->actor.textId = 0x7032;
@@ -277,8 +276,8 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
}
break;
case 6:
- frameCount = SkelAnime_GetFrameCount(&D_060116E4);
- if (this->skelAnime.animCurrentFrame == frameCount) {
+ frameCount = Animation_GetLastFrame(&D_060116E4);
+ if (this->skelAnime.curFrame == frameCount) {
animHeaderSeg = &D_06011B88;
sp3C = 1;
this->actor.textId = 0x7031;
@@ -307,8 +306,8 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
}
break;
case 9:
- frameCount = SkelAnime_GetFrameCount(&D_060132D8);
- if (this->skelAnime.animCurrentFrame == frameCount) {
+ frameCount = Animation_GetLastFrame(&D_060132D8);
+ if (this->skelAnime.curFrame == frameCount) {
animHeaderSeg = &D_06000438;
sp3C = 1;
globalCtx->csCtx.segment = D_80B4C5D0;
@@ -319,8 +318,8 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) {
break;
}
if (sp3C != 0) {
- frameCount = SkelAnime_GetFrameCount(animHeaderSeg);
- SkelAnime_ChangeAnim(&this->skelAnime, animHeaderSeg, 1.0f, 0.0f, frameCount, sp54[sp3C], -10.0f);
+ frameCount = Animation_GetLastFrame(animHeaderSeg);
+ Animation_Change(&this->skelAnime, animHeaderSeg, 1.0f, 0.0f, frameCount, sp54[sp3C], -10.0f);
}
func_80038290(globalCtx, &this->actor, &this->unk_200, &this->unk_206, this->actor.posRot2.pos);
}
@@ -338,8 +337,8 @@ void func_80B4B834(CsCmdActorAction* npcAction, Vec3f* pos) {
}
void func_80B4B874(EnZl1* this, GlobalContext* globalCtx) {
- this->skelAnime.flags |= 1;
- SkelAnime_LoadAnimationType5(globalCtx, &this->actor, &this->skelAnime, 1.0f);
+ this->skelAnime.moveFlags |= 1;
+ AnimationContext_SetMoveActor(globalCtx, &this->actor, &this->skelAnime, 1.0f);
}
void func_80B4B8B4(EnZl1* this, GlobalContext* globalCtx) {
@@ -362,7 +361,7 @@ void func_80B4B8B4(EnZl1* this, GlobalContext* globalCtx) {
f32 frameCount;
Vec3f sp48;
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
func_80B4B874(this, globalCtx);
if (globalCtx->csCtx.state == 0) {
this->actionFunc = func_80B4BBC4;
@@ -379,9 +378,9 @@ void func_80B4B8B4(EnZl1* this, GlobalContext* globalCtx) {
this->actor.posRot.pos = sp48;
}
if (this->unk_1E6 != npcAction->action) {
- frameCount = SkelAnime_GetFrameCount(spB0[npcAction->action]);
- SkelAnime_ChangeAnim(&this->skelAnime, spB0[npcAction->action], 1.0f, 0.0f, frameCount,
- spA4[npcAction->action], -10.0f);
+ frameCount = Animation_GetLastFrame(spB0[npcAction->action]);
+ Animation_Change(&this->skelAnime, spB0[npcAction->action], 1.0f, 0.0f, frameCount, spA4[npcAction->action],
+ -10.0f);
this->unk_1E6 = npcAction->action;
}
this->actor.velocity = velocity;
@@ -403,10 +402,10 @@ void func_80B4B8B4(EnZl1* this, GlobalContext* globalCtx) {
void func_80B4BBC4(EnZl1* this, GlobalContext* globalCtx) {
s32 pad;
- f32 frameCount = SkelAnime_GetFrameCount(&D_06000438);
+ f32 frameCount = Animation_GetLastFrame(&D_06000438);
Player* player = PLAYER;
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f);
+ Animation_Change(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f);
func_8002DF54(globalCtx, &this->actor, 1);
func_8002F7DC(&player->actor, NA_SE_VO_LI_SURPRISE_KID);
this->actor.textId = 0x7039;
@@ -432,9 +431,9 @@ void func_80B4BC78(EnZl1* this, GlobalContext* globalCtx) {
s32 pad;
f32 frameCount;
- if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) && (this->skelAnime.animation == &D_06010B38)) {
- frameCount = SkelAnime_GetFrameCount(&D_06011348);
- SkelAnime_ChangeAnim(&this->skelAnime, &D_06011348, 1.0f, 0.0f, frameCount, 0, -10.0f);
+ if (SkelAnime_Update(&this->skelAnime) && (this->skelAnime.animation == &D_06010B38)) {
+ frameCount = Animation_GetLastFrame(&D_06011348);
+ Animation_Change(&this->skelAnime, &D_06011348, 1.0f, 0.0f, frameCount, 0, -10.0f);
}
func_80B4B874(this, globalCtx);
npcAction = globalCtx->csCtx.npcActions[0];
@@ -446,9 +445,9 @@ void func_80B4BC78(EnZl1* this, GlobalContext* globalCtx) {
}
if (this->unk_1E6 != npcAction->action) {
- frameCount = SkelAnime_GetFrameCount(sp90[npcAction->action]);
- SkelAnime_ChangeAnim(&this->skelAnime, sp90[npcAction->action], 1.0f, 0.0f, frameCount,
- sp84[npcAction->action], -10.0f);
+ frameCount = Animation_GetLastFrame(sp90[npcAction->action]);
+ Animation_Change(&this->skelAnime, sp90[npcAction->action], 1.0f, 0.0f, frameCount, sp84[npcAction->action],
+ -10.0f);
this->unk_1E6 = npcAction->action;
}
this->actor.velocity = velocity;
@@ -547,7 +546,7 @@ void EnZl1_Update(Actor* thisx, GlobalContext* globalCtx) {
EnZl1* this = THIS;
if ((this->actionFunc != func_80B4B8B4) && (this->actionFunc != func_80B4BC78)) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
}
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 5);
this->actionFunc(this, globalCtx);
@@ -601,7 +600,7 @@ void EnZl1_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(this->unk_1EC));
func_80093D18(globalCtx->state.gfxCtx);
- SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount,
+ SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
func_80B4C340, func_80B4C400, this);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_girlB.c", 2046);
diff --git a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c
index 609348c797..177e820518 100644
--- a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c
+++ b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c
@@ -240,7 +240,7 @@ void func_80B4ED2C(EnZl2* this, GlobalContext* globalCtx) {
}
s32 EnZl2_FrameUpdateMatrix(EnZl2* this) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
CsCmdActorAction* EnZl2_GetNpcAction(GlobalContext* globalCtx, s32 idx) {
@@ -306,7 +306,7 @@ void func_80B4EF64(EnZl2* this, s16 arg1, s32 arg2) {
s32 phi_t1;
s32 phi_v0;
s32 phi_a0;
- f32 animCurrentFrame;
+ f32 curFrame;
f32 unk_278;
if (temp_t0 == 2) {
@@ -367,9 +367,9 @@ void func_80B4EF64(EnZl2* this, s16 arg1, s32 arg2) {
if (arg2 == 2) {
if ((this->action == 5) || (this->action == 30)) {
- animCurrentFrame = this->skelAnime.animCurrentFrame;
+ curFrame = this->skelAnime.curFrame;
unk_278 = this->unk_278;
- temp_t0 = (s32)((3500.0f * animCurrentFrame) / unk_278) + phi_a0;
+ temp_t0 = (s32)((3500.0f * curFrame) / unk_278) + phi_a0;
if (temp_t0 >= temp_v1) {
temp_v1 = temp_t0;
phi_v0 /= -2;
@@ -562,7 +562,7 @@ s32 func_80B4F45C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
Matrix_Pull();
this->unk_24C = 1;
}
- return 0;
+ return false;
}
void EnZl2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
@@ -598,7 +598,7 @@ void func_80B4FCCC(EnZl2* this, GlobalContext* globalCtx) {
}
void func_80B4FD00(EnZl2* this, AnimationHeader* animation, u8 arg2, f32 transitionRate, s32 arg4) {
- f32 frameCount = SkelAnime_GetFrameCount(animation);
+ f32 frameCount = Animation_GetLastFrame(animation);
f32 playbackSpeed;
f32 unk0;
f32 fc;
@@ -613,7 +613,7 @@ void func_80B4FD00(EnZl2* this, AnimationHeader* animation, u8 arg2, f32 transit
playbackSpeed = -1.0f;
}
- SkelAnime_ChangeAnim(&this->skelAnime, animation, playbackSpeed, unk0, fc, arg2, transitionRate);
+ Animation_Change(&this->skelAnime, animation, playbackSpeed, unk0, fc, arg2, transitionRate);
}
void func_80B4FD90(EnZl2* this, GlobalContext* globalCtx) {
@@ -622,7 +622,7 @@ void func_80B4FD90(EnZl2* this, GlobalContext* globalCtx) {
}
void func_80B4FDD4(EnZl2* this) {
- if (func_800A56C8(&this->skelAnime, 14.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, 14.0f)) {
func_80078914(&this->actor.projectedPos, NA_SE_PL_WALK_CONCRETE);
}
}
@@ -1467,7 +1467,7 @@ void func_80B51D24(EnZl2* this, GlobalContext* globalCtx) {
u32 sfxId;
SkelAnime* skelAnime = &this->skelAnime;
- if ((func_800A56C8(skelAnime, 6.0f)) || (func_800A56C8(skelAnime, 0.0f))) {
+ if ((Animation_OnFrame(skelAnime, 6.0f)) || (Animation_OnFrame(skelAnime, 0.0f))) {
if (this->actor.bgCheckFlags & 1) {
sfxId = SFX_FLAG;
sfxId += func_80041F34(&globalCtx->colCtx, this->actor.floorPoly, this->actor.floorPolySource);
@@ -1610,7 +1610,7 @@ void func_80B521A0(EnZl2* this, GlobalContext* globalCtx) {
if (Object_IsLoaded(objectCtx, bankIndex)) {
this->unk_274 = bankIndex;
func_80B4FCCC(this, globalCtx);
- this->unk_278 = SkelAnime_GetFrameCount(&D_060022D0);
+ this->unk_278 = Animation_GetLastFrame(&D_060022D0);
func_80B52114(this, globalCtx);
}
}
@@ -1680,7 +1680,7 @@ void func_80B523C8(EnZl2* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0B, &D_80116280[2]);
- POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
EnZl2_OverrideLimbDraw, EnZl2_PostLimbDraw, this, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1648);
@@ -1705,7 +1705,7 @@ void func_80B525D4(EnZl2* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0B, &D_80116280[0]);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
EnZl2_OverrideLimbDraw, NULL, this, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1692);
diff --git a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c
index 2fc2234254..c7421086f5 100644
--- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c
+++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c
@@ -223,7 +223,7 @@ void func_80B538B0(EnZl3* this) {
}
s32 EnZl3_FrameUpdateMatrix(EnZl3* this) {
- return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ return SkelAnime_Update(&this->skelAnime);
}
s32 func_80B5396C(EnZl3* this) {
@@ -239,7 +239,7 @@ void func_80B53980(EnZl3* thisx, s16 y, s32 idx) {
s32 action = this->action;
s16 y2 = y;
s32 yTemp;
- f32 animCurrentFrame;
+ f32 curFrame;
f32 unk_3DC;
if (this->unk_2FC != 0) {
@@ -276,9 +276,9 @@ void func_80B53980(EnZl3* thisx, s16 y, s32 idx) {
if (idx == 0 && action == 3) {
yTemp = y + -11000;
if (skelAnime->mode == 2) {
- animCurrentFrame = skelAnime->animCurrentFrame;
+ curFrame = skelAnime->curFrame;
unk_3DC = this->unk_3DC;
- yTemp = (s32)((animCurrentFrame / unk_3DC) * -11000) + y;
+ yTemp = (s32)((curFrame / unk_3DC) * -11000) + y;
if (0) {};
if (temp28C >= yTemp) {
temp28C = yTemp;
@@ -389,10 +389,10 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
if (idx == 2) {
if (action == 4) {
if (skelAnime->mode == 2) {
- f32 animCurrentFrame = skelAnime->animCurrentFrame;
+ f32 curFrame = skelAnime->curFrame;
f32 unk_3E0 = this->unk_3E0;
- phi_v1_2 = (s32)(((unk_3E0 - animCurrentFrame) / unk_3E0) * -2000.0f) + phi_a1;
+ phi_v1_2 = (s32)(((unk_3E0 - curFrame) / unk_3E0) * -2000.0f) + phi_a1;
if (phi_v1_2 >= temp_a0) {
temp_a0 = phi_v1_2;
if (phi_v0 < 0) {
@@ -402,10 +402,10 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
}
} else if (action == 5) {
if (skelAnime->mode == 2) {
- f32 animCurrentFrame = skelAnime->animCurrentFrame;
+ f32 curFrame = skelAnime->curFrame;
f32 unk_3E4 = this->unk_3E4;
- phi_v1_2 = (s32)((animCurrentFrame / unk_3E4) * -2000.0f) + phi_a1;
+ phi_v1_2 = (s32)((curFrame / unk_3E4) * -2000.0f) + phi_a1;
if (phi_v1_2 >= temp_a0) {
temp_a0 = phi_v1_2;
if (phi_v0 < 0) {
@@ -423,14 +423,13 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
}
} else if ((action == 20) || (action == 21)) {
if (skelAnime->mode == 2) {
- f32 animCurrentFrame = skelAnime->animCurrentFrame;
+ f32 curFrame = skelAnime->curFrame;
f32 unk_3F4 = this->unk_3F4;
- if (animCurrentFrame <= 42.0f) {
+ if (curFrame <= 42.0f) {
phi_v1_2 = phi_a1 - 2000;
} else {
- phi_v1_2 =
- (s32)((((animCurrentFrame - 42.0f) * 6200.0f) / (unk_3F4 - 42.0f)) + -2000.0f) + phi_a1;
+ phi_v1_2 = (s32)((((curFrame - 42.0f) * 6200.0f) / (unk_3F4 - 42.0f)) + -2000.0f) + phi_a1;
}
if (phi_v1_2 >= temp_a0) {
@@ -450,10 +449,10 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
}
} else if (action == 22) {
if (skelAnime->mode == 2) {
- f32 animCurrentFrame = skelAnime->animCurrentFrame;
+ f32 curFrame = skelAnime->curFrame;
f32 unk_3EC = this->unk_3EC;
- phi_v1_2 = (s32)(((animCurrentFrame / unk_3EC) * -5200.0f) + 4200.0f) + phi_a1;
+ phi_v1_2 = (s32)(((curFrame / unk_3EC) * -5200.0f) + 4200.0f) + phi_a1;
if (phi_v1_2 >= temp_a0) {
temp_a0 = phi_v1_2;
if (phi_v0 < 0) {
@@ -471,10 +470,10 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
}
} else if (action == 23) {
if (skelAnime->mode == 2) {
- f32 animCurrentFrame = skelAnime->animCurrentFrame;
+ f32 curFrame = skelAnime->curFrame;
f32 unk_3F0 = this->unk_3F0;
- phi_v1_2 = (s32)(((animCurrentFrame / unk_3F0) * -7600.0f) + -2000.0f) + phi_a1;
+ phi_v1_2 = (s32)(((curFrame / unk_3F0) * -7600.0f) + -2000.0f) + phi_a1;
if (phi_v1_2 >= temp_a0) {
temp_a0 = phi_v1_2;
if (phi_v0 < 0) {
@@ -492,10 +491,10 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
}
} else if (action == 24) {
if (skelAnime->mode == 2) {
- f32 animCurrentFrame = skelAnime->animCurrentFrame;
+ f32 curFrame = skelAnime->curFrame;
f32 unk_3E8 = this->unk_3E8;
- phi_v1_2 = (s32)(((animCurrentFrame / unk_3E8) * 21000.0f) + -9600.0f) + phi_a1;
+ phi_v1_2 = (s32)(((curFrame / unk_3E8) * 21000.0f) + -9600.0f) + phi_a1;
if (phi_v1_2 >= temp_a0) {
temp_a0 = phi_v1_2;
if (phi_v0 < 0) {
@@ -515,10 +514,10 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
} else if (idx == 11 || idx == 17) {
if (action == 4) {
if (skelAnime->mode == 2) {
- f32 animCurrentFrame = skelAnime->animCurrentFrame;
+ f32 curFrame = skelAnime->curFrame;
f32 unk_3E0 = this->unk_3E0;
- phi_v1_2 = (s32)((animCurrentFrame / unk_3E0) * -7000.0f) + phi_a1;
+ phi_v1_2 = (s32)((curFrame / unk_3E0) * -7000.0f) + phi_a1;
if (temp_a0 >= phi_v1_2) {
temp_a0 = phi_v1_2;
if (phi_v0 > 0) {
@@ -536,10 +535,10 @@ void func_80B53B64(EnZl3* this, s16 z, s32 idx) {
}
} else if (action == 5) {
if (skelAnime->mode == 2) {
- f32 animCurrentFrame = skelAnime->animCurrentFrame;
+ f32 curFrame = skelAnime->curFrame;
f32 unk_3E4 = this->unk_3E4;
- phi_v1_2 = (s32)(((unk_3E4 - animCurrentFrame) / unk_3E4) * -7000.0f) + phi_a1;
+ phi_v1_2 = (s32)(((unk_3E4 - curFrame) / unk_3E4) * -7000.0f) + phi_a1;
if (temp_a0 >= phi_v1_2) {
temp_a0 = phi_v1_2;
if (phi_v0 > 0) {
@@ -722,7 +721,7 @@ s32 func_80B5458C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
rot->x += unk_3F8_unk_0E->y;
rot->y -= unk_3F8_unk_0E->x;
}
- return 0;
+ return false;
}
void EnZl3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
@@ -773,7 +772,7 @@ void func_80B54DE0(EnZl3* this, GlobalContext* globalCtx) {
}
void func_80B54E14(EnZl3* this, AnimationHeader* animation, u8 arg2, f32 transitionRate, s32 arg4) {
- f32 frameCount = SkelAnime_GetFrameCount(animation);
+ f32 frameCount = Animation_GetLastFrame(animation);
f32 playbackSpeed;
f32 unk0;
f32 fc;
@@ -788,7 +787,7 @@ void func_80B54E14(EnZl3* this, AnimationHeader* animation, u8 arg2, f32 transit
playbackSpeed = -1.0f;
}
- SkelAnime_ChangeAnim(&this->skelAnime, animation, playbackSpeed, unk0, fc, arg2, transitionRate);
+ Animation_Change(&this->skelAnime, animation, playbackSpeed, unk0, fc, arg2, transitionRate);
}
void func_80B54EA4(EnZl3* this, GlobalContext* globalCtx) {
@@ -1048,7 +1047,7 @@ void func_80B5582C(EnZl3* this) {
void func_80B5585C(EnZl3* this) {
SkelAnime* skelAnime = &this->skelAnime;
- if ((skelAnime->mode == 2) && func_800A56C8(skelAnime, 4.0f)) {
+ if ((skelAnime->mode == 2) && Animation_OnFrame(skelAnime, 4.0f)) {
func_80078914(&this->actor.projectedPos, NA_SE_VO_Z1_PAIN);
}
}
@@ -1071,7 +1070,7 @@ void func_80B559C4(EnZl3* this) {
Vec3f* thisPos = &this->actor.posRot.pos;
Vec3f* unk_32C = &this->unk_32C;
Vec3f* unk_338 = &this->unk_338;
- f32 temp_f0 = func_8006F9BC(SkelAnime_GetFrameCount(&D_06005248), 0, (s32)this->skelAnime.animCurrentFrame, 3, 3);
+ f32 temp_f0 = func_8006F9BC(Animation_GetLastFrame(&D_06005248), 0, (s32)this->skelAnime.curFrame, 3, 3);
thisPos->x = unk_32C->x + (temp_f0 * (unk_338->x - unk_32C->x));
thisPos->z = unk_32C->z + (temp_f0 * (unk_338->z - unk_32C->z));
@@ -1571,7 +1570,7 @@ void func_80B56DC8(EnZl3* this) {
void func_80B56DEC(EnZl3* this) {
SkelAnime* skelAnime = &this->skelAnime;
- if ((skelAnime->mode == 2) && func_800A56C8(skelAnime, 9.0f) != 0) {
+ if ((skelAnime->mode == 2) && Animation_OnFrame(skelAnime, 9.0f) != 0) {
func_80078914(&this->actor.projectedPos, NA_SE_VO_Z1_OPENDOOR);
}
}
@@ -1581,7 +1580,7 @@ void func_80B56E38(EnZl3* this, GlobalContext* globalCtx) {
s32 sfxId;
SkelAnime* sp20 = &this->skelAnime;
- if ((func_800A56C8(sp20, 6.0f) || func_800A56C8(sp20, 0.0f)) && (this->actor.bgCheckFlags & 1)) {
+ if ((Animation_OnFrame(sp20, 6.0f) || Animation_OnFrame(sp20, 0.0f)) && (this->actor.bgCheckFlags & 1)) {
sfxId = 0x800;
sfxId += func_80041F34(&globalCtx->colCtx, this->actor.floorPoly, this->actor.floorPolySource);
func_80078914(&this->actor.projectedPos, sfxId);
@@ -2506,7 +2505,7 @@ s32 func_80B5944C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
Matrix_Pull();
Matrix_Pull();
}
- return 0;
+ return false;
}
s32 func_80B59698(EnZl3* this, GlobalContext* globalCtx) {
@@ -2617,13 +2616,13 @@ void func_80B59AD0(EnZl3* this, GlobalContext* globalCtx) {
void func_80B59B6C(EnZl3* this, GlobalContext* globalCtx) {
s32 sp2C = func_80B54DD4(this);
- this->unk_3DC = SkelAnime_GetFrameCount(SEGMENTED_TO_VIRTUAL(&D_060091D8));
- this->unk_3E0 = SkelAnime_GetFrameCount(SEGMENTED_TO_VIRTUAL(&D_0600A598));
- this->unk_3E4 = SkelAnime_GetFrameCount(SEGMENTED_TO_VIRTUAL(&D_0600A334));
- this->unk_3F4 = SkelAnime_GetFrameCount(SEGMENTED_TO_VIRTUAL(&D_06001110));
- this->unk_3EC = SkelAnime_GetFrameCount(SEGMENTED_TO_VIRTUAL(&D_06002348));
- this->unk_3F0 = SkelAnime_GetFrameCount(SEGMENTED_TO_VIRTUAL(&D_06002E54));
- this->unk_3E8 = SkelAnime_GetFrameCount(SEGMENTED_TO_VIRTUAL(&D_06001D8C));
+ this->unk_3DC = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_060091D8));
+ this->unk_3E0 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_0600A598));
+ this->unk_3E4 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_0600A334));
+ this->unk_3F4 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_06001110));
+ this->unk_3EC = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_06002348));
+ this->unk_3F0 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_06002E54));
+ this->unk_3E8 = Animation_GetLastFrame(SEGMENTED_TO_VIRTUAL(&D_06001D8C));
switch (sp2C) {
case 0:
@@ -2687,8 +2686,7 @@ void EnZl3_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f);
shape->unk_14 = 0;
func_80B533B0(thisx, globalCtx);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06010D70, NULL, this->limbDrawTable, this->transitionDrawTable,
- 15);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06010D70, NULL, this->jointTable, this->morphTable, 15);
switch (func_80B54DD4(this)) {
case 1:
@@ -2741,7 +2739,7 @@ void func_80B59FF4(EnZl3* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0xB, &D_80116280[2]);
- POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
EnZl3_OverrideLimbDraw, EnZl3_PostLimbDraw, this, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_zl3.c", 2190);
@@ -2766,7 +2764,7 @@ void func_80B5A1D0(EnZl3* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_258);
gSPSegment(POLY_XLU_DISP++, 11, &D_80116280[0]);
- POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
+ POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
EnZl3_OverrideLimbDraw, NULL, this, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_zl3.c", 2234);
diff --git a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.h b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.h
index 2b2d79b328..188c88f5fe 100644
--- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.h
+++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.h
@@ -14,8 +14,8 @@ typedef void (*EnZl3DrawFunc)(struct EnZl3*, GlobalContext*);
typedef struct EnZl3 {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
- /* 0x0190 */ Vec3s limbDrawTable[15];
- /* 0x01EA */ Vec3s transitionDrawTable[15];
+ /* 0x0190 */ Vec3s jointTable[15];
+ /* 0x01EA */ Vec3s morphTable[15];
/* 0x0244 */ s16 unk_244;
/* 0x0246 */ s16 unk_246;
/* 0x0248 */ s16 unk_248;
diff --git a/src/overlays/actors/ovl_En_Zo/z_en_zo.c b/src/overlays/actors/ovl_En_Zo/z_en_zo.c
index c6345a9b86..4cffe2db04 100644
--- a/src/overlays/actors/ovl_En_Zo/z_en_zo.c
+++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.c
@@ -547,8 +547,8 @@ void EnZo_SetAnimation(EnZo* this) {
if (animId != 8) {
func_80034EC0(&this->skelAnime, sAnimations, animId);
if (animId == 3) {
- this->skelAnime.animCurrentFrame = this->skelAnime.animFrameCount;
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ this->skelAnime.curFrame = this->skelAnime.endFrame;
+ this->skelAnime.playSpeed = 0.0f;
}
}
}
@@ -557,7 +557,7 @@ void EnZo_Init(Actor* thisx, GlobalContext* globalCtx) {
EnZo* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
- SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600BFA8, NULL, this->limbDrawTbl, this->transitionDrawTbl, 20);
+ SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600BFA8, NULL, this->jointTable, this->morphTable, 20);
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
func_80061EFC(&this->actor.colChkInfo, NULL, &sColChkInit);
@@ -638,10 +638,10 @@ void EnZo_Surface(EnZo* this, GlobalContext* globalCtx) {
void EnZo_TreadWater(EnZo* this, GlobalContext* globalCtx) {
func_80034F54(globalCtx, this->unk_656, this->unk_67E, 20);
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
this->canSpeak = true;
this->unk_64C = 4;
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ this->skelAnime.playSpeed = 0.0f;
}
EnZo_SetAnimation(this);
@@ -659,29 +659,29 @@ void EnZo_TreadWater(EnZo* this, GlobalContext* globalCtx) {
if (EnZo_PlayerInProximity(this, globalCtx) != 0) {
this->timeToDive = Rand_S16Offset(40, 40);
} else if (DECR(this->timeToDive) == 0) {
- f32 initialFrame;
+ f32 startFrame;
func_80034EC0(&this->skelAnime, sAnimations, 4);
this->canSpeak = false;
this->unk_64C = 1;
this->actionFunc = EnZo_Dive;
- initialFrame = this->skelAnime.initialFrame;
- this->skelAnime.initialFrame = this->skelAnime.animFrameCount;
- this->skelAnime.animCurrentFrame = this->skelAnime.animFrameCount;
- this->skelAnime.animFrameCount = initialFrame;
- this->skelAnime.animPlaybackSpeed = -1.0f;
+ startFrame = this->skelAnime.startFrame;
+ this->skelAnime.startFrame = this->skelAnime.endFrame;
+ this->skelAnime.curFrame = this->skelAnime.endFrame;
+ this->skelAnime.endFrame = startFrame;
+ this->skelAnime.playSpeed = -1.0f;
}
}
void EnZo_Dive(EnZo* this, GlobalContext* globalCtx) {
- if (func_800A56C8(&this->skelAnime, this->skelAnime.animFrameCount) != 0) {
+ if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_DIVE_WATER);
EnZo_SpawnSplashes(this);
this->actor.flags &= ~1;
this->actor.velocity.y = -4.0f;
- this->skelAnime.animPlaybackSpeed = 0.0f;
+ this->skelAnime.playSpeed = 0.0f;
}
- if (this->skelAnime.animPlaybackSpeed > 0.0f) {
+ if (this->skelAnime.playSpeed > 0.0f) {
return;
}
@@ -704,7 +704,7 @@ void EnZo_Update(Actor* thisx, GlobalContext* globalCtx) {
Vec3f pos;
if ((s32)this->alpha != 0) {
- SkelAnime_FrameUpdateMatrix(&this->skelAnime);
+ SkelAnime_Update(&this->skelAnime);
EnZo_Blink(this);
}
diff --git a/src/overlays/actors/ovl_En_Zo/z_en_zo.h b/src/overlays/actors/ovl_En_Zo/z_en_zo.h
index 2f61d12796..2537cf15a4 100644
--- a/src/overlays/actors/ovl_En_Zo/z_en_zo.h
+++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.h
@@ -26,8 +26,8 @@ typedef struct EnZo {
/* 0x0194 */ struct_80034A14_arg1 unk_194;
/* 0x01BC */ ColliderCylinder collider;
/* 0x0208 */ u8 canSpeak;
- /* 0x020A */ Vec3s limbDrawTbl[20];
- /* 0x0282 */ Vec3s transitionDrawTbl[20];
+ /* 0x020A */ Vec3s jointTable[20];
+ /* 0x0282 */ Vec3s morphTable[20];
/* 0x02FC */ EnZoEffect effects[15];
/* 0x0644 */ f32 dialogRadius;
/* 0x0648 */ f32 alpha;
diff --git a/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.c b/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.c
index 93de4486e8..661dac4b59 100644
--- a/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.c
+++ b/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.c
@@ -245,7 +245,7 @@ s32 MagicWind_OverrideLimbDraw(GlobalContext* globalCtx, SkelAnimeCurve* skelCur
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_magic_wind.c", 646);
- return 1;
+ return true;
}
void MagicWind_Draw(Actor* thisx, GlobalContext* globalCtx) {
diff --git a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c
index 06964a1c83..4c4dbc884b 100644
--- a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c
+++ b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c
@@ -172,7 +172,7 @@ void ObjComb_Wait(ObjComb* this, GlobalContext* globalCtx) {
} else {
ObjComb_Break(this, globalCtx);
ObjComb_ChooseItemDrop(this, globalCtx);
- Actor_Kill(this);
+ Actor_Kill(&this->actor);
}
} else {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider);
diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c
index 15c131e879..1f7c8b78ab 100644
--- a/src/overlays/actors/ovl_player_actor/z_player.c
+++ b/src/overlays/actors/ovl_player_actor/z_player.c
@@ -1215,24 +1215,24 @@ s32 func_8083224C(GlobalContext* globalCtx) {
}
void func_80832264(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime, anim);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime, anim);
}
void func_80832284(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- SkelAnime_ChangeLinkAnimDefaultRepeat(globalCtx, &this->skelAnime, anim);
+ LinkAnimation_PlayLoop(globalCtx, &this->skelAnime, anim);
}
void func_808322A4(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- SkelAnime_ChangeLinkAnimPlaybackRepeat(globalCtx, &this->skelAnime, anim, 2.0f / 3.0f);
+ LinkAnimation_PlayLoopSetSpeed(globalCtx, &this->skelAnime, anim, 2.0f / 3.0f);
}
void func_808322D0(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, anim, 2.0f / 3.0f);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, anim, 2.0f / 3.0f);
}
void func_808322FC(Player* this) {
- this->actor.shape.rot.y += this->skelAnime.limbDrawTbl[1].y;
- this->skelAnime.limbDrawTbl[1].y = 0;
+ this->actor.shape.rot.y += this->skelAnime.jointTable[1].y;
+ this->skelAnime.jointTable[1].y = 0;
}
void func_80832318(Player* this) {
@@ -1421,7 +1421,7 @@ void func_80832924(Player* this, struct_80832924* entry) {
do {
data = ABS(entry->field);
flags = data & 0x7800;
- if (func_800A4530(&this->skelAnime, fabsf(data & 0x7FF))) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, fabsf(data & 0x7FF))) {
if (flags == 0x800) {
func_8002F7DC(&this->actor, entry->sfxId);
} else if (flags == 0x1000) {
@@ -1448,28 +1448,27 @@ void func_80832924(Player* this, struct_80832924* entry) {
}
void func_80832B0C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, SkelAnime_GetFrameCount(anim), 2, -6.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, Animation_GetLastFrame(anim), 2, -6.0f);
}
void func_80832B78(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 2.0f / 3.0f, 0.0f, SkelAnime_GetFrameCount(anim), 2,
- -6.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, 2.0f / 3.0f, 0.0f, Animation_GetLastFrame(anim), 2, -6.0f);
}
void func_80832BE8(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, 0.0f, 0, -6.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, 0.0f, 0, -6.0f);
}
void func_80832C2C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, 0.0f, 2, 0.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, 0.0f, 2, 0.0f);
}
void func_80832C6C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, 0.0f, 0, -16.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, 0.0f, 0, -16.0f);
}
s32 func_80832CB0(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832284(globalCtx, this, anim);
return 1;
} else {
@@ -1478,44 +1477,44 @@ s32 func_80832CB0(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* a
}
void func_80832CFC(Player* this) {
- this->skelAnime.prevFramePos = this->skelAnime.unk_3E;
- this->skelAnime.prevFrameRot = this->actor.shape.rot.y;
+ this->skelAnime.prevTransl = this->skelAnime.baseTransl;
+ this->skelAnime.prevRot = this->actor.shape.rot.y;
}
void func_80832D20(Player* this) {
func_80832CFC(this);
- this->skelAnime.prevFramePos.x *= this->ageProperties->unk_08;
- this->skelAnime.prevFramePos.y *= this->ageProperties->unk_08;
- this->skelAnime.prevFramePos.z *= this->ageProperties->unk_08;
+ this->skelAnime.prevTransl.x *= this->ageProperties->unk_08;
+ this->skelAnime.prevTransl.y *= this->ageProperties->unk_08;
+ this->skelAnime.prevTransl.z *= this->ageProperties->unk_08;
}
void func_80832DB0(Player* this) {
- this->skelAnime.limbDrawTbl[1].y = 0;
+ this->skelAnime.jointTable[1].y = 0;
}
void func_80832DBC(Player* this) {
- if (this->skelAnime.flags != 0) {
+ if (this->skelAnime.moveFlags != 0) {
func_808322FC(this);
- this->skelAnime.limbDrawTbl[0].x = this->skelAnime.unk_3E.x;
- this->skelAnime.limbDrawTbl[0].z = this->skelAnime.unk_3E.z;
- if (this->skelAnime.flags & 8) {
- if (this->skelAnime.flags & 2) {
- this->skelAnime.limbDrawTbl[0].y = this->skelAnime.prevFramePos.y;
+ this->skelAnime.jointTable[0].x = this->skelAnime.baseTransl.x;
+ this->skelAnime.jointTable[0].z = this->skelAnime.baseTransl.z;
+ if (this->skelAnime.moveFlags & 8) {
+ if (this->skelAnime.moveFlags & 2) {
+ this->skelAnime.jointTable[0].y = this->skelAnime.prevTransl.y;
}
} else {
- this->skelAnime.limbDrawTbl[0].y = this->skelAnime.unk_3E.y;
+ this->skelAnime.jointTable[0].y = this->skelAnime.baseTransl.y;
}
func_80832CFC(this);
- this->skelAnime.flags = 0;
+ this->skelAnime.moveFlags = 0;
}
}
void func_80832E48(Player* this, s32 flags) {
Vec3f pos;
- this->skelAnime.flags = flags;
- this->skelAnime.prevFramePos = this->skelAnime.unk_3E;
- func_800A54FC(&this->skelAnime, &pos, this->actor.shape.rot.y);
+ this->skelAnime.moveFlags = flags;
+ this->skelAnime.prevTransl = this->skelAnime.baseTransl;
+ SkelAnime_UpdateTranslation(&this->skelAnime, &pos, this->actor.shape.rot.y);
if (flags & 1) {
if (LINK_IS_CHILD) {
@@ -1539,20 +1538,20 @@ void func_80832E48(Player* this, s32 flags) {
void func_80832F54(GlobalContext* globalCtx, Player* this, s32 flags) {
if (flags & 0x200) {
func_80832D20(this);
- } else if ((flags & 0x100) || (this->skelAnime.flags != 0)) {
+ } else if ((flags & 0x100) || (this->skelAnime.moveFlags != 0)) {
func_80832CFC(this);
} else {
- this->skelAnime.prevFramePos = this->skelAnime.limbDrawTbl[0];
- this->skelAnime.prevFrameRot = this->actor.shape.rot.y;
+ this->skelAnime.prevTransl = this->skelAnime.jointTable[0];
+ this->skelAnime.prevRot = this->actor.shape.rot.y;
}
- this->skelAnime.flags = flags;
+ this->skelAnime.moveFlags = flags;
func_80832210(this);
- func_800A3310(globalCtx);
+ AnimationContext_DisableQueue(globalCtx);
}
void func_80832FFC(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, s32 flags, f32 playbackSpeed) {
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, anim, playbackSpeed);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, anim, playbackSpeed);
func_80832F54(globalCtx, this, flags);
}
@@ -1569,7 +1568,7 @@ void func_8083308C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader*
}
void func_808330AC(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, s32 flags, f32 playbackSpeed) {
- SkelAnime_ChangeLinkAnimPlaybackRepeat(globalCtx, &this->skelAnime, anim, playbackSpeed);
+ LinkAnimation_PlayLoopSetSpeed(globalCtx, &this->skelAnime, anim, playbackSpeed);
func_80832F54(globalCtx, this, flags);
}
@@ -1611,7 +1610,7 @@ void func_8083315C(GlobalContext* globalCtx, Player* this) {
}
void func_8083328C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* linkAnim) {
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, linkAnim, D_808535E8);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, linkAnim, D_808535E8);
}
s32 func_808332B8(Player* this) {
@@ -2007,7 +2006,7 @@ void func_808340DC(Player* this, GlobalContext* globalCtx) {
anim = &D_04002F40;
}
- phi_f2 = SkelAnime_GetFrameCount(anim);
+ phi_f2 = Animation_GetLastFrame(anim);
phi_f14 = phi_f2;
if (sp38 >= 0) {
@@ -2023,7 +2022,7 @@ void func_808340DC(Player* this, GlobalContext* globalCtx) {
phi_f0 *= 2.0f;
}
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime2, anim, phi_f0, phi_f12, phi_f14, 2, 0.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime2, anim, phi_f0, phi_f12, phi_f14, 2, 0.0f);
this->stateFlags1 &= ~0x100;
}
@@ -2154,8 +2153,8 @@ s32 func_80834758(GlobalContext* globalCtx, Player* this) {
CHECK_BTN_ALL(sControlInput->cur.button, BTN_R)) {
anim = func_808346C4(globalCtx, this);
- frame = SkelAnime_GetFrameCount(anim);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime2, anim, 1.0f, frame, frame, 2, 0.0f);
+ frame = Animation_GetLastFrame(anim);
+ LinkAnimation_Change(globalCtx, &this->skelAnime2, anim, 1.0f, frame, frame, 2, 0.0f);
func_8002F7DC(&this->actor, NA_SE_IT_SHIELD_POSTURE);
return 1;
@@ -2179,7 +2178,7 @@ void func_80834894(Player* this) {
func_8008EC70(this);
}
- SkelAnime_AnimReverse(&this->skelAnime2);
+ Animation_Reverse(&this->skelAnime2);
func_8002F7DC(&this->actor, NA_SE_IT_SHIELD_REMOVE);
}
@@ -2188,9 +2187,9 @@ void func_808348EC(GlobalContext* globalCtx, Player* this) {
f32 temp;
temp = ptr->unk_04;
- temp = (this->skelAnime2.animPlaybackSpeed < 0.0f) ? temp - 1.0f : temp;
+ temp = (this->skelAnime2.playSpeed < 0.0f) ? temp - 1.0f : temp;
- if (func_800A4530(&this->skelAnime2, temp)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime2, temp)) {
func_80834594(globalCtx, this);
}
@@ -2216,7 +2215,7 @@ s32 func_808349DC(Player* this, GlobalContext* globalCtx) {
}
s32 func_80834A2C(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime2) ||
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime2) ||
((Player_ItemToActionParam(this->heldItemId) == this->heldItemActionParam) &&
(D_80853614 = (D_80853614 || ((this->modelAnimType != 3) && (globalCtx->shootingGalleryStatus == 0)))))) {
func_80833638(this, D_80853EDC[this->heldItemActionParam]);
@@ -2238,7 +2237,7 @@ s32 func_80834A2C(Player* this, GlobalContext* globalCtx) {
}
s32 func_80834B5C(Player* this, GlobalContext* globalCtx) {
- func_800A3BC0(globalCtx, &this->skelAnime2);
+ LinkAnimation_Update(globalCtx, &this->skelAnime2);
if (!CHECK_BTN_ALL(sControlInput->cur.button, BTN_R)) {
func_80834894(this);
@@ -2254,10 +2253,10 @@ s32 func_80834BD4(Player* this, GlobalContext* globalCtx) {
LinkAnimationHeader* anim;
f32 frame;
- if (func_800A3BC0(globalCtx, &this->skelAnime2)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime2)) {
anim = func_808346C4(globalCtx, this);
- frame = SkelAnime_GetFrameCount(anim);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime2, anim, 1.0f, frame, frame, 2, 0.0f);
+ frame = Animation_GetLastFrame(anim);
+ LinkAnimation_Change(globalCtx, &this->skelAnime2, anim, 1.0f, frame, frame, 2, 0.0f);
}
this->stateFlags1 |= 0x400000;
@@ -2269,9 +2268,9 @@ s32 func_80834BD4(Player* this, GlobalContext* globalCtx) {
s32 func_80834C74(Player* this, GlobalContext* globalCtx) {
D_80853614 = D_80853618;
- if (D_80853614 || func_800A3BC0(globalCtx, &this->skelAnime2)) {
+ if (D_80853614 || LinkAnimation_Update(globalCtx, &this->skelAnime2)) {
func_80833638(this, D_80853EDC[this->heldItemActionParam]);
- SkelAnime_ChangeLinkAnimDefaultRepeat(globalCtx, &this->skelAnime2, D_80853914[this->modelAnimType]);
+ LinkAnimation_PlayLoop(globalCtx, &this->skelAnime2, D_80853914[this->modelAnimType]);
this->unk_6AC = 0;
this->func_82C(this, globalCtx);
return 0;
@@ -2293,11 +2292,11 @@ s32 func_80834D2C(Player* this, GlobalContext* globalCtx) {
} else {
anim = &D_04002CA0;
}
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2, anim);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime2, anim);
} else {
func_80833638(this, func_80835884);
this->unk_834 = 10;
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2, &D_04002628);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime2, &D_04002628);
}
if (this->stateFlags1 & 0x800000) {
@@ -2420,10 +2419,10 @@ s32 func_808351D4(Player* this, GlobalContext* globalCtx) {
this->unk_6AE |= 0x100;
if ((this->unk_836 == 0) && (func_80833350(this) == 0) && (this->skelAnime.animation == &D_040026E8)) {
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2, D_808543CC[sp2C]);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime2, D_808543CC[sp2C]);
this->unk_836 = -1;
- } else if (func_800A3BC0(globalCtx, &this->skelAnime2)) {
- SkelAnime_ChangeLinkAnimDefaultRepeat(globalCtx, &this->skelAnime2, D_808543D4[sp2C]);
+ } else if (LinkAnimation_Update(globalCtx, &this->skelAnime2)) {
+ LinkAnimation_PlayLoop(globalCtx, &this->skelAnime2, D_808543D4[sp2C]);
this->unk_836 = 1;
} else if (this->unk_836 == 1) {
this->unk_836 = 2;
@@ -2456,7 +2455,7 @@ s32 func_808351D4(Player* this, GlobalContext* globalCtx) {
}
s32 func_808353D8(Player* this, GlobalContext* globalCtx) {
- func_800A3BC0(globalCtx, &this->skelAnime2);
+ LinkAnimation_Update(globalCtx, &this->skelAnime2);
if (Player_HoldsHookshot(this) && !func_80834FBC(this)) {
return 1;
@@ -2470,7 +2469,7 @@ s32 func_808353D8(Player* this, GlobalContext* globalCtx) {
if (Player_HoldsHookshot(this)) {
this->unk_836 = 1;
} else {
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2, &D_040026B8);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime2, &D_040026B8);
}
}
} else {
@@ -2489,7 +2488,7 @@ s32 func_808353D8(Player* this, GlobalContext* globalCtx) {
func_80833638(this, func_8083501C);
} else {
func_80833638(this, func_80835588);
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2, &D_040026B0);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime2, &D_040026B0);
}
this->unk_834 = 0;
@@ -2499,7 +2498,7 @@ s32 func_808353D8(Player* this, GlobalContext* globalCtx) {
}
s32 func_80835588(Player* this, GlobalContext* globalCtx) {
- if (!(this->actor.bgCheckFlags & 1) || func_800A3BC0(globalCtx, &this->skelAnime2)) {
+ if (!(this->actor.bgCheckFlags & 1) || LinkAnimation_Update(globalCtx, &this->skelAnime2)) {
func_80833638(this, func_8083501C);
}
@@ -2509,7 +2508,7 @@ s32 func_80835588(Player* this, GlobalContext* globalCtx) {
void func_808355DC(Player* this) {
this->stateFlags1 |= 0x20000;
- if (!(this->skelAnime.flags & 0x80) && (this->actor.bgCheckFlags & 0x200) && (D_80853608 < 0x2000)) {
+ if (!(this->skelAnime.moveFlags & 0x80) && (this->actor.bgCheckFlags & 0x200) && (D_80853608 < 0x2000)) {
this->currentYaw = this->actor.shape.rot.y = this->actor.wallPolyRot + 0x8000;
}
@@ -2529,7 +2528,7 @@ s32 func_80835644(GlobalContext* globalCtx, Player* this, Actor* arg2) {
void func_80835688(Player* this, GlobalContext* globalCtx) {
if (!func_80835644(globalCtx, this, this->heldActor)) {
func_80833638(this, func_808356E8);
- SkelAnime_ChangeLinkAnimDefaultRepeat(globalCtx, &this->skelAnime2, &D_04002E10);
+ LinkAnimation_PlayLoop(globalCtx, &this->skelAnime2, &D_04002E10);
}
}
@@ -2545,8 +2544,8 @@ s32 func_808356E8(Player* this, GlobalContext* globalCtx) {
}
if (this->stateFlags1 & 0x800) {
- if (func_800A3BC0(globalCtx, &this->skelAnime2)) {
- SkelAnime_ChangeLinkAnimDefaultRepeat(globalCtx, &this->skelAnime2, &D_04002E10);
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime2)) {
+ LinkAnimation_PlayLoop(globalCtx, &this->skelAnime2, &D_04002E10);
}
if ((heldActor->id == ACTOR_EN_NIW) && (this->actor.velocity.y <= 0.0f)) {
@@ -2580,9 +2579,9 @@ s32 func_80835800(Player* this, GlobalContext* globalCtx) {
}
s32 func_80835884(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime2)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime2)) {
func_80833638(this, func_808358F0);
- SkelAnime_ChangeLinkAnimDefaultRepeat(globalCtx, &this->skelAnime2, &D_04002638);
+ LinkAnimation_PlayLoop(globalCtx, &this->skelAnime2, &D_04002638);
}
func_80834EB8(this, globalCtx);
@@ -2595,28 +2594,27 @@ s32 func_808358F0(Player* this, GlobalContext* globalCtx) {
if ((func_808334E4(this) == animSeg) || (func_80833528(this) == animSeg) || (func_808335B0(this) == animSeg) ||
(func_808335F4(this) == animSeg)) {
- SkelAnime_LoadAnimationType1(globalCtx, this->skelAnime.limbCount, this->skelAnime2.limbDrawTbl,
- this->skelAnime.limbDrawTbl);
+ AnimationContext_SetCopyAll(globalCtx, this->skelAnime.limbCount, this->skelAnime2.jointTable,
+ this->skelAnime.jointTable);
} else {
- func_800A3BC0(globalCtx, &this->skelAnime2);
+ LinkAnimation_Update(globalCtx, &this->skelAnime2);
}
func_80834EB8(this, globalCtx);
if (!D_80853618) {
func_80833638(this, func_808359FC);
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2,
- (this->unk_870 < 0.5f) ? &D_04002608 : &D_04002600);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime2, (this->unk_870 < 0.5f) ? &D_04002608 : &D_04002600);
}
return 1;
}
s32 func_808359FC(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime2)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime2)) {
func_80833638(this, func_80835B60);
this->unk_834 = 0;
- } else if (func_800A4530(&this->skelAnime2, 6.0f)) {
+ } else if (LinkAnimation_OnFrame(&this->skelAnime2, 6.0f)) {
f32 posX = (Math_SinS(this->actor.shape.rot.y) * 10.0f) + this->actor.posRot.pos.x;
f32 posZ = (Math_CosS(this->actor.shape.rot.y) * 10.0f) + this->actor.posRot.pos.z;
s32 yaw = (this->unk_664 != NULL) ? this->actor.shape.rot.y + 14000 : this->actor.shape.rot.y;
@@ -2648,7 +2646,7 @@ s32 func_80835B60(Player* this, GlobalContext* globalCtx) {
if (!(this->stateFlags1 & 0x2000000)) {
func_80833638(this, func_80835C08);
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2, &D_040025F8);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime2, &D_040025F8);
func_808357E8(this, D_80125EF8);
func_8002F7DC(&this->actor, NA_SE_PL_CATCH_BOOMERANG);
func_80832698(this, NA_SE_VO_LI_SWORD_N);
@@ -2659,7 +2657,7 @@ s32 func_80835B60(Player* this, GlobalContext* globalCtx) {
}
s32 func_80835C08(Player* this, GlobalContext* globalCtx) {
- if (!func_80835800(this, globalCtx) && func_800A3BC0(globalCtx, &this->skelAnime2)) {
+ if (!func_80835800(this, globalCtx) && LinkAnimation_Update(globalCtx, &this->skelAnime2)) {
func_80833638(this, func_80835800);
}
@@ -2704,10 +2702,10 @@ s32 func_80835C58(GlobalContext* globalCtx, Player* this, PlayerFunc674 func, s3
void func_80835DAC(GlobalContext* globalCtx, Player* this, PlayerFunc674 func, s32 flags) {
s32 temp;
- temp = this->skelAnime.flags;
- this->skelAnime.flags = 0;
+ temp = this->skelAnime.moveFlags;
+ this->skelAnime.moveFlags = 0;
func_80835C58(globalCtx, this, func, flags);
- this->skelAnime.flags = temp;
+ this->skelAnime.moveFlags = temp;
}
void func_80835DE4(GlobalContext* globalCtx, Player* this, PlayerFunc674 func, s32 flags) {
@@ -2865,7 +2863,7 @@ void func_80836448(GlobalContext* globalCtx, Player* this, LinkAnimationHeader*
func_80832264(globalCtx, this, anim);
if (anim == &D_04002878) {
- this->skelAnime.animFrameCount = 84.0f;
+ this->skelAnime.endFrame = 84.0f;
}
func_80832224(this);
@@ -2926,18 +2924,18 @@ s32 func_80836670(Player* this, GlobalContext* globalCtx) {
if (this->unk_830 != 0.0f) {
if ((func_80833350(this) == 0) || (this->linearVelocity != 0.0f)) {
- SkelAnime_LoadAnimationType4(globalCtx, this->skelAnime.limbCount, this->skelAnime2.limbDrawTbl,
- this->skelAnime.limbDrawTbl, D_80853410);
+ AnimationContext_SetCopyFalse(globalCtx, this->skelAnime.limbCount, this->skelAnime2.jointTable,
+ this->skelAnime.jointTable, D_80853410);
}
Math_StepToF(&this->unk_830, 0.0f, 0.25f);
- SkelAnime_LoadAnimationType2(globalCtx, this->skelAnime.limbCount, this->skelAnime.limbDrawTbl,
- this->skelAnime2.limbDrawTbl, 1.0f - this->unk_830);
+ AnimationContext_SetInterp(globalCtx, this->skelAnime.limbCount, this->skelAnime.jointTable,
+ this->skelAnime2.jointTable, 1.0f - this->unk_830);
} else if ((func_80833350(this) == 0) || (this->linearVelocity != 0.0f)) {
- SkelAnime_LoadAnimationType3(globalCtx, this->skelAnime.limbCount, this->skelAnime.limbDrawTbl,
- this->skelAnime2.limbDrawTbl, D_80853410);
+ AnimationContext_SetCopyTrue(globalCtx, this->skelAnime.limbCount, this->skelAnime.jointTable,
+ this->skelAnime2.jointTable, D_80853410);
} else {
- SkelAnime_LoadAnimationType1(globalCtx, this->skelAnime.limbCount, this->skelAnime.limbDrawTbl,
- this->skelAnime2.limbDrawTbl);
+ AnimationContext_SetCopyAll(globalCtx, this->skelAnime.limbCount, this->skelAnime.jointTable,
+ this->skelAnime2.jointTable);
}
return 1;
@@ -3241,7 +3239,7 @@ s32 func_808374A0(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime,
f32 sp24;
s16 sp22;
- if ((skelAnime->animFrameCount - arg3) <= skelAnime->animCurrentFrame) {
+ if ((skelAnime->endFrame - arg3) <= skelAnime->curFrame) {
if (func_80837348(globalCtx, this, D_80854418, 1)) {
return 0;
}
@@ -3316,7 +3314,7 @@ void func_80837704(GlobalContext* globalCtx, Player* this) {
}
func_80832318(this);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 8.0f, SkelAnime_GetFrameCount(anim), 2, -9.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, 1.0f, 8.0f, Animation_GetLastFrame(anim), 2, -9.0f);
func_80837530(globalCtx, this, 0x200);
}
@@ -3452,7 +3450,7 @@ s32 func_80837B18(GlobalContext* globalCtx, Player* this, s32 damage) {
}
void func_80837B60(Player* this) {
- this->skelAnime.prevFramePos = this->skelAnime.limbDrawTbl[0];
+ this->skelAnime.prevTransl = this->skelAnime.jointTable[0];
func_80832E48(this, 3);
}
@@ -3741,7 +3739,7 @@ s32 func_808382DC(Player* this, GlobalContext* globalCtx) {
} else {
anim = D_808543B4[Player_HoldsTwoHandedWeapon(this)];
}
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2, anim);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime2, anim);
} else {
func_80832264(globalCtx, this, D_808543C4[Player_HoldsTwoHandedWeapon(this)]);
}
@@ -3912,8 +3910,8 @@ s32 func_80838A14(Player* this, GlobalContext* globalCtx) {
this->actor.bgCheckFlags |= 1;
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, sp38, 1.3f);
- func_800A3310(globalCtx);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, sp38, 1.3f);
+ AnimationContext_DisableQueue(globalCtx);
this->actor.shape.rot.y = this->currentYaw = this->actor.wallPolyRot + 0x8000;
@@ -4204,7 +4202,7 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) {
if (this->doorTimer != 0) {
this->unk_850 = 0;
func_80832B0C(globalCtx, this, func_80833338(this));
- this->skelAnime.animFrameCount = 0.0f;
+ this->skelAnime.endFrame = 0.0f;
} else {
this->linearVelocity = 0.1f;
}
@@ -4249,7 +4247,7 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) {
func_8083328C(globalCtx, this, sp5C);
if (this->doorTimer != 0) {
- this->skelAnime.animFrameCount = 0.0f;
+ this->skelAnime.endFrame = 0.0f;
}
func_80832224(this);
@@ -4567,7 +4565,7 @@ s32 func_8083A6AC(Player* this, GlobalContext* globalCtx) {
void func_8083A9B8(Player* this, LinkAnimationHeader* anim, GlobalContext* globalCtx) {
func_80835C58(globalCtx, this, func_8084BDFC, 0);
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, anim, 1.3f);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, anim, 1.3f);
}
Vec3f D_8085451C = { 0.0f, 0.0f, 100.0f };
@@ -4591,7 +4589,7 @@ void func_8083AA10(Player* this, GlobalContext* globalCtx) {
return;
}
- if (!(this->stateFlags3 & 2) && !(this->skelAnime.flags & 0x80) && (func_8084411C != this->func_674) &&
+ if (!(this->stateFlags3 & 2) && !(this->skelAnime.moveFlags & 0x80) && (func_8084411C != this->func_674) &&
(func_80844A44 != this->func_674)) {
if ((D_80853604 == 7) || (this->swordState != 0)) {
@@ -4708,7 +4706,7 @@ void func_8083AF44(GlobalContext* globalCtx, Player* this, s32 magicSpell) {
this->unk_84F = magicSpell - 3;
func_80087708(globalCtx, sMagicSpellCosts[magicSpell], 4);
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, &D_04002D28, 0.83f);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, &D_04002D28, 0.83f);
if (magicSpell == 5) {
this->unk_46C = func_800800F8(globalCtx, 1100, -101, NULL, 0);
@@ -5025,8 +5023,7 @@ s32 func_8083BBA0(Player* this, GlobalContext* globalCtx) {
void func_8083BC04(Player* this, GlobalContext* globalCtx) {
func_80835C58(globalCtx, this, func_80844708, 0);
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, D_80853A94[this->modelAnimType],
- 1.25f * D_808535E8);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, D_80853A94[this->modelAnimType], 1.25f * D_808535E8);
}
s32 func_8083BC7C(Player* this, GlobalContext* globalCtx) {
@@ -5113,8 +5110,7 @@ void func_8083BF50(Player* this, GlobalContext* globalCtx) {
sp30 /= 12.0f;
}
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, SkelAnime_GetFrameCount(anim), 2,
- 4.0f * sp30);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, Animation_GetLastFrame(anim), 2, 4.0f * sp30);
this->currentYaw = this->actor.shape.rot.y;
}
@@ -5192,8 +5188,8 @@ s32 func_8083C2B0(Player* this, GlobalContext* globalCtx) {
this->unk_6BC = this->unk_6BE = this->unk_6C0 = 0;
}
- frame = SkelAnime_GetFrameCount(anim);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, frame, frame, 2, 0.0f);
+ frame = Animation_GetLastFrame(anim);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, 1.0f, frame, frame, 2, 0.0f);
if (Player_IsChildWithHylianShield(this)) {
func_80832F54(globalCtx, this, 4);
@@ -5378,7 +5374,7 @@ void func_8083CA9C(GlobalContext* globalCtx, Player* this) {
void func_8083CB2C(Player* this, s16 yaw, GlobalContext* globalCtx) {
func_80835C58(globalCtx, this, func_808414F8, 1);
- func_800A41FC(globalCtx, &this->skelAnime);
+ LinkAnimation_CopyJointToMorph(globalCtx, &this->skelAnime);
this->unk_864 = this->unk_868 = 0.0f;
this->currentYaw = yaw;
}
@@ -5390,8 +5386,8 @@ void func_8083CB94(Player* this, GlobalContext* globalCtx) {
void func_8083CBF0(Player* this, s16 yaw, GlobalContext* globalCtx) {
func_80835C58(globalCtx, this, func_808423EC, 1);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_040024F8, 2.2f, 0.0f, SkelAnime_GetFrameCount(&D_040024F8),
- 2, -6.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, &D_040024F8, 2.2f, 0.0f, Animation_GetLastFrame(&D_040024F8), 2,
+ -6.0f);
this->linearVelocity = 8.0f;
this->currentYaw = yaw;
}
@@ -5404,7 +5400,7 @@ void func_8083CC9C(Player* this, GlobalContext* globalCtx) {
void func_8083CD00(Player* this, GlobalContext* globalCtx) {
func_80835C58(globalCtx, this, func_8084251C, 1);
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, &D_040024E8, 2.0f);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, &D_040024E8, 2.0f);
}
void func_8083CD54(GlobalContext* globalCtx, Player* this, s16 yaw) {
@@ -5412,7 +5408,7 @@ void func_8083CD54(GlobalContext* globalCtx, Player* this, s16 yaw) {
func_80835C58(globalCtx, this, func_80841BA8, 1);
this->unk_87E = 1200;
this->unk_87E *= D_808535E8;
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, D_80853B84[this->modelAnimType], 1.0f, 0.0f, 0.0f, 0, -6.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, D_80853B84[this->modelAnimType], 1.0f, 0.0f, 0.0f, 0, -6.0f);
}
void func_8083CE0C(Player* this, GlobalContext* globalCtx) {
@@ -5604,7 +5600,7 @@ void func_8083D53C(GlobalContext* globalCtx, Player* this) {
return;
}
} else if ((this->stateFlags1 & 0x8000000) && (this->actor.waterY < this->ageProperties->unk_24)) {
- if ((this->skelAnime.flags == 0) && (this->currentBoots != PLAYER_BOOTS_IRON)) {
+ if ((this->skelAnime.moveFlags == 0) && (this->currentBoots != PLAYER_BOOTS_IRON)) {
func_8083CD54(globalCtx, this, this->actor.shape.rot.y);
}
func_8083D0A8(globalCtx, this, this->actor.velocity.y);
@@ -6173,7 +6169,7 @@ s32 func_8083EC18(Player* this, GlobalContext* globalCtx, u32 arg2) {
void func_8083F070(Player* this, LinkAnimationHeader* anim, GlobalContext* globalCtx) {
func_80835DAC(globalCtx, this, func_8084C5F8, 0);
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, anim, (4.0f / 3.0f));
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, anim, (4.0f / 3.0f));
}
s32 func_8083F0C8(Player* this, GlobalContext* globalCtx, u32 arg2) {
@@ -6307,8 +6303,8 @@ s32 func_8083F570(Player* this, GlobalContext* globalCtx) {
func_800800F8(globalCtx, 0x2581, 999, NULL, 0);
} else {
this->actor.shape.rot.y = this->actor.wallPolyRot;
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04002708, -1.0f,
- SkelAnime_GetFrameCount(&D_04002708), 0.0f, 2, 0.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, &D_04002708, -1.0f,
+ Animation_GetLastFrame(&D_04002708), 0.0f, 2, 0.0f);
func_80832F54(globalCtx, this, 0x9D);
func_800800F8(globalCtx, 0x2582, 999, NULL, 0);
}
@@ -6542,8 +6538,8 @@ void func_80840138(Player* this, f32 arg1, s16 arg2) {
}
void func_808401B0(GlobalContext* globalCtx, Player* this) {
- func_800A431C(globalCtx, &this->skelAnime, func_808334E4(this), this->unk_868, func_80833528(this), this->unk_868,
- this->unk_870, this->unk_318);
+ LinkAnimation_BlendToJoint(globalCtx, &this->skelAnime, func_808334E4(this), this->unk_868, func_80833528(this),
+ this->unk_868, this->unk_870, this->blendTable);
}
s32 func_8084021C(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
@@ -6609,7 +6605,7 @@ void func_80840450(Player* this, GlobalContext* globalCtx) {
}
if (this->unk_850 != 0) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832DBC(this);
func_80832284(globalCtx, this, func_808334E4(this));
this->unk_850 = 0;
@@ -6681,7 +6677,7 @@ void func_808407CC(Player* this, GlobalContext* globalCtx) {
s16 temp2;
s32 temp3;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832DBC(this);
func_80832264(globalCtx, this, func_80833338(this));
}
@@ -6782,8 +6778,8 @@ void func_808409CC(GlobalContext* globalCtx, Player* this) {
}
}
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f) * D_808535E8, 0.0f,
- SkelAnime_GetFrameCount(anim), 2, -6.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f) * D_808535E8, 0.0f,
+ Animation_GetLastFrame(anim), 2, -6.0f);
}
void func_80840BC8(Player* this, GlobalContext* globalCtx) {
@@ -6794,7 +6790,7 @@ void func_80840BC8(Player* this, GlobalContext* globalCtx) {
s16 temp;
sp44 = func_80833350(this);
- sp40 = func_800A3BC0(globalCtx, &this->skelAnime);
+ sp40 = LinkAnimation_Update(globalCtx, &this->skelAnime);
if (sp44 > 0) {
func_808333FC(this, sp44 - 1);
@@ -6803,9 +6799,9 @@ void func_80840BC8(Player* this, GlobalContext* globalCtx) {
if (sp40 != 0) {
if (this->unk_850 != 0) {
if (DECR(this->unk_850) == 0) {
- this->skelAnime.animFrameCount = this->skelAnime.totalFrames - 1.0f;
+ this->skelAnime.endFrame = this->skelAnime.animLength - 1.0f;
}
- this->skelAnime.limbDrawTbl[0].y = (this->skelAnime.limbDrawTbl[0].y + ((this->unk_850 & 1) * 0x50)) - 0x28;
+ this->skelAnime.jointTable[0].y = (this->skelAnime.jointTable[0].y + ((this->unk_850 & 1) * 0x50)) - 0x28;
} else {
func_80832DBC(this);
func_808409CC(globalCtx, this);
@@ -6859,7 +6855,7 @@ void func_80840DE4(Player* this, GlobalContext* globalCtx) {
s32 direction;
this->skelAnime.mode = 0;
- func_800A3B8C(&this->skelAnime);
+ LinkAnimation_SetUpdateFunction(&this->skelAnime);
this->skelAnime.animation = func_8083356C(this);
@@ -6871,8 +6867,8 @@ void func_80840DE4(Player* this, GlobalContext* globalCtx) {
coeff = MREG(95) / 100.0f;
}
- this->skelAnime.totalFrames = frames;
- this->skelAnime.animFrameCount = frames - 1.0f;
+ this->skelAnime.animLength = frames;
+ this->skelAnime.endFrame = frames - 1.0f;
if ((s16)(this->currentYaw - this->actor.shape.rot.y) >= 0) {
direction = 1;
@@ -6880,11 +6876,11 @@ void func_80840DE4(Player* this, GlobalContext* globalCtx) {
direction = -1;
}
- this->skelAnime.animPlaybackSpeed = direction * (this->linearVelocity * coeff);
+ this->skelAnime.playSpeed = direction * (this->linearVelocity * coeff);
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
- if (func_800A4530(&this->skelAnime, 0.0f) || func_800A4530(&this->skelAnime, frames * 0.5f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 0.0f) || LinkAnimation_OnFrame(&this->skelAnime, frames * 0.5f)) {
func_808327F8(this, this->linearVelocity);
}
@@ -6945,7 +6941,7 @@ void func_80841138(Player* this, GlobalContext* globalCtx) {
if (this->unk_864 < 1.0f) {
temp1 = R_UPDATE_RATE * 0.5f;
func_8084029C(this, REG(35) / 1000.0f);
- func_800A42A0(globalCtx, &this->skelAnime, D_80853BFC[this->modelAnimType], this->unk_868);
+ LinkAnimation_LoadToJoint(globalCtx, &this->skelAnime, D_80853BFC[this->modelAnimType], this->unk_868);
this->unk_864 += 1 * temp1;
if (this->unk_864 >= 1.0f) {
this->unk_864 = 1.0f;
@@ -6956,7 +6952,7 @@ void func_80841138(Player* this, GlobalContext* globalCtx) {
if (temp2 < 0.0f) {
temp1 = 1.0f;
func_8084029C(this, (REG(35) / 1000.0f) + ((REG(36) / 1000.0f) * this->linearVelocity));
- func_800A42A0(globalCtx, &this->skelAnime, D_80853BFC[this->modelAnimType], this->unk_868);
+ LinkAnimation_LoadToJoint(globalCtx, &this->skelAnime, D_80853BFC[this->modelAnimType], this->unk_868);
} else {
temp1 = (REG(37) / 1000.0f) * temp2;
if (temp1 < 1.0f) {
@@ -6965,13 +6961,13 @@ void func_80841138(Player* this, GlobalContext* globalCtx) {
temp1 = 1.0f;
func_8084029C(this, 1.2f + ((REG(38) / 1000.0f) * temp2));
}
- func_800A425C(globalCtx, &this->skelAnime, D_80853BFC[this->modelAnimType], this->unk_868);
- func_800A42A0(globalCtx, &this->skelAnime, &D_04002DD0, this->unk_868 * 0.551724135876f);
+ LinkAnimation_LoadToMorph(globalCtx, &this->skelAnime, D_80853BFC[this->modelAnimType], this->unk_868);
+ LinkAnimation_LoadToJoint(globalCtx, &this->skelAnime, &D_04002DD0, this->unk_868 * 0.551724135876f);
}
}
if (temp1 < 1.0f) {
- func_800A42E4(globalCtx, &this->skelAnime, 1.0f - temp1);
+ LinkAnimation_InterpJointMorph(globalCtx, &this->skelAnime, 1.0f - temp1);
}
}
@@ -7048,7 +7044,7 @@ void func_8084170C(Player* this, GlobalContext* globalCtx) {
f32 sp30;
s16 sp2E;
- sp34 = func_800A3BC0(globalCtx, &this->skelAnime);
+ sp34 = LinkAnimation_Update(globalCtx, &this->skelAnime);
func_8083721C(this);
if (!func_80837348(globalCtx, this, D_80854400, 1)) {
@@ -7069,7 +7065,7 @@ void func_8084170C(Player* this, GlobalContext* globalCtx) {
void func_808417FC(Player* this, GlobalContext* globalCtx) {
s32 sp1C;
- sp1C = func_800A3BC0(globalCtx, &this->skelAnime);
+ sp1C = LinkAnimation_Update(globalCtx, &this->skelAnime);
if (!func_80837348(globalCtx, this, D_80854400, 1)) {
if (sp1C != 0) {
@@ -7091,7 +7087,7 @@ void func_80841860(GlobalContext* globalCtx, Player* this) {
func_8084029C(this, (REG(30) / 1000.0f) + ((REG(32) / 1000.0f) * this->linearVelocity));
frame = this->unk_868 * 0.551724135876f;
- func_800A431C(globalCtx, &this->skelAnime, sp34, frame, sp38, frame, this->unk_870, this->unk_318);
+ LinkAnimation_BlendToJoint(globalCtx, &this->skelAnime, sp34, frame, sp38, frame, this->unk_870, this->blendTable);
}
void func_8084193C(Player* this, GlobalContext* globalCtx) {
@@ -7162,13 +7158,13 @@ void func_80841BA8(Player* this, GlobalContext* globalCtx) {
f32 sp34;
s16 sp32;
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
if (Player_HoldsTwoHandedWeapon(this)) {
- SkelAnime_LoadLinkAnimation(globalCtx, func_80833338(this), 0, this->skelAnime.limbCount,
- this->skelAnime.transitionDrawTbl);
- SkelAnime_LoadAnimationType3(globalCtx, this->skelAnime.limbCount, this->skelAnime.limbDrawTbl,
- this->skelAnime.transitionDrawTbl, D_80853410);
+ AnimationContext_SetLoadFrame(globalCtx, func_80833338(this), 0, this->skelAnime.limbCount,
+ this->skelAnime.morphTable);
+ AnimationContext_SetCopyTrue(globalCtx, this->skelAnime.limbCount, this->skelAnime.jointTable,
+ this->skelAnime.morphTable, D_80853410);
}
func_80837268(this, &sp34, &sp32, 0.018f, globalCtx);
@@ -7200,9 +7196,9 @@ void func_80841CC4(Player* this, s32 arg1, GlobalContext* globalCtx) {
if ((this->modelAnimType == 3) || ((this->unk_89C == 0) && (this->unk_6C4 <= 0.0f))) {
if (arg1 == 0) {
- func_800A42A0(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868);
+ LinkAnimation_LoadToJoint(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868);
} else {
- func_800A425C(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868);
+ LinkAnimation_LoadToMorph(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868);
}
return;
}
@@ -7227,11 +7223,11 @@ void func_80841CC4(Player* this, s32 arg1, GlobalContext* globalCtx) {
}
if (arg1 == 0) {
- func_800A431C(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868, anim, this->unk_868,
- rate, this->unk_318);
+ LinkAnimation_BlendToJoint(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868, anim,
+ this->unk_868, rate, this->blendTable);
} else {
- func_800A43B8(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868, anim, this->unk_868,
- rate, this->unk_318);
+ LinkAnimation_BlendToMorph(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868, anim,
+ this->unk_868, rate, this->blendTable);
}
}
@@ -7243,7 +7239,7 @@ void func_80841EE4(Player* this, GlobalContext* globalCtx) {
temp1 = R_UPDATE_RATE * 0.5f;
func_8084029C(this, REG(35) / 1000.0f);
- func_800A42A0(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868);
+ LinkAnimation_LoadToJoint(globalCtx, &this->skelAnime, D_8085392C[this->modelAnimType], this->unk_868);
this->unk_864 += 1 * temp1;
if (this->unk_864 >= 1.0f) {
@@ -7270,12 +7266,12 @@ void func_80841EE4(Player* this, GlobalContext* globalCtx) {
func_80841CC4(this, 1, globalCtx);
- func_800A42A0(globalCtx, &this->skelAnime, func_80833438(this), this->unk_868 * 0.689655185f);
+ LinkAnimation_LoadToJoint(globalCtx, &this->skelAnime, func_80833438(this), this->unk_868 * 0.689655185f);
}
}
if (temp1 < 1.0f) {
- func_800A42E4(globalCtx, &this->skelAnime, 1.0f - temp1);
+ LinkAnimation_InterpJointMorph(globalCtx, &this->skelAnime, 1.0f - temp1);
}
}
@@ -7342,7 +7338,7 @@ void func_808423EC(Player* this, GlobalContext* globalCtx) {
f32 sp30;
s16 sp2E;
- sp34 = func_800A3BC0(globalCtx, &this->skelAnime);
+ sp34 = LinkAnimation_Update(globalCtx, &this->skelAnime);
if (!func_80837348(globalCtx, this, D_80854408, 1)) {
if (!func_80833C04(this)) {
@@ -7352,10 +7348,10 @@ void func_808423EC(Player* this, GlobalContext* globalCtx) {
func_80837268(this, &sp30, &sp2E, 0.0f, globalCtx);
- if ((this->skelAnime.transCurrentFrame == 0.0f) && (this->skelAnime.animCurrentFrame > 5.0f)) {
+ if ((this->skelAnime.morphWeight == 0.0f) && (this->skelAnime.curFrame > 5.0f)) {
func_8083721C(this);
- if ((this->skelAnime.animCurrentFrame > 10.0f) && (func_8083FC68(this, sp30, sp2E) < 0)) {
+ if ((this->skelAnime.curFrame > 10.0f) && (func_8083FC68(this, sp30, sp2E) < 0)) {
func_8083CBF0(this, sp2E, globalCtx);
return;
}
@@ -7372,7 +7368,7 @@ void func_8084251C(Player* this, GlobalContext* globalCtx) {
f32 sp30;
s16 sp2E;
- sp34 = func_800A3BC0(globalCtx, &this->skelAnime);
+ sp34 = LinkAnimation_Update(globalCtx, &this->skelAnime);
func_8083721C(this);
@@ -7431,8 +7427,8 @@ void func_8084279C(Player* this, GlobalContext* globalCtx) {
}
s32 func_8084285C(Player* this, f32 arg1, f32 arg2, f32 arg3) {
- if ((arg1 <= this->skelAnime.animCurrentFrame) && (this->skelAnime.animCurrentFrame <= arg3)) {
- func_80833A20(this, (arg2 <= this->skelAnime.animCurrentFrame) ? 1 : -1);
+ if ((arg1 <= this->skelAnime.curFrame) && (this->skelAnime.curFrame <= arg3)) {
+ func_80833A20(this, (arg2 <= this->skelAnime.curFrame) ? 1 : -1);
return 1;
}
@@ -7553,7 +7549,7 @@ s32 func_80842DF4(GlobalContext* globalCtx, Player* this) {
if (this->swordState > 0) {
if (this->swordAnimation < 0x18) {
if (!(this->swordQuads[0].base.atFlags & 4) && !(this->swordQuads[1].base.atFlags & 4)) {
- if (this->skelAnime.animCurrentFrame >= 2.0f) {
+ if (this->skelAnime.curFrame >= 2.0f) {
phi_f2 = Math_Vec3f_DistXYZAndStoreDiff(&this->swordInfo[0].tip, &this->swordInfo[0].base, &sp50);
if (phi_f2 != 0.0f) {
@@ -7640,7 +7636,7 @@ void func_80843188(Player* this, GlobalContext* globalCtx) {
s16 sp46;
f32 sp40;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (!Player_IsChildWithHylianShield(this)) {
func_80832284(globalCtx, this, D_80853B0C[this->modelAnimType]);
}
@@ -7686,7 +7682,7 @@ void func_80843188(Player* this, GlobalContext* globalCtx) {
if (this->unk_84F != 0) {
if (!func_80842DF4(globalCtx, this)) {
- if (this->skelAnime.animCurrentFrame < 2.0f) {
+ if (this->skelAnime.curFrame < 2.0f) {
func_80833A20(this, 1);
}
} else {
@@ -7702,8 +7698,8 @@ void func_80843188(Player* this, GlobalContext* globalCtx) {
if (Player_IsChildWithHylianShield(this)) {
func_8083A060(this, globalCtx);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04002400, 1.0f,
- SkelAnime_GetFrameCount(&D_04002400), 0.0f, 2, 0.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, &D_04002400, 1.0f,
+ Animation_GetLastFrame(&D_04002400), 0.0f, 2, 0.0f);
func_80832F54(globalCtx, this, 4);
} else {
if (this->itemActionParam < 0) {
@@ -7740,13 +7736,13 @@ void func_808435C4(Player* this, GlobalContext* globalCtx) {
}
} else {
temp = func_808374A0(globalCtx, this, &this->skelAnime, 4.0f);
- if ((temp != 0) && ((temp > 0) || func_800A3BC0(globalCtx, &this->skelAnime))) {
+ if ((temp != 0) && ((temp > 0) || LinkAnimation_Update(globalCtx, &this->skelAnime))) {
func_80835C58(globalCtx, this, func_80843188, 1);
this->stateFlags1 |= 0x400000;
Player_SetModelsForHoldingShield(this);
anim = D_80853AF4[this->modelAnimType];
- frames = SkelAnime_GetFrameCount(anim);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, frames, frames, 2, 0.0f);
+ frames = Animation_GetLastFrame(anim);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, 1.0f, frames, frames, 2, 0.0f);
}
}
}
@@ -7757,7 +7753,7 @@ void func_8084370C(Player* this, GlobalContext* globalCtx) {
func_8083721C(this);
sp1C = func_808374A0(globalCtx, this, &this->skelAnime, 16.0f);
- if ((sp1C != 0) && (func_800A3BC0(globalCtx, &this->skelAnime) || (sp1C > 0))) {
+ if ((sp1C != 0) && (LinkAnimation_Update(globalCtx, &this->skelAnime) || (sp1C > 0))) {
func_80839F90(this, globalCtx);
}
}
@@ -7783,7 +7779,7 @@ void func_8084377C(Player* this, GlobalContext* globalCtx) {
}
}
- if (func_800A3BC0(globalCtx, &this->skelAnime) && (this->actor.bgCheckFlags & 1)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime) && (this->actor.bgCheckFlags & 1)) {
if (this->unk_850 != 0) {
this->unk_850--;
if (this->unk_850 == 0) {
@@ -7813,7 +7809,7 @@ void func_80843954(Player* this, GlobalContext* globalCtx) {
func_8083721C(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime) && (this->linearVelocity == 0.0f)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime) && (this->linearVelocity == 0.0f)) {
if (this->stateFlags1 & 0x20000000) {
this->unk_850++;
} else {
@@ -7838,10 +7834,10 @@ void func_80843A38(Player* this, GlobalContext* globalCtx) {
func_808382BC(this);
if (this->stateFlags1 & 0x20000000) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
} else {
sp24 = func_808374A0(globalCtx, this, &this->skelAnime, 16.0f);
- if ((sp24 != 0) && (func_800A3BC0(globalCtx, &this->skelAnime) || (sp24 > 0))) {
+ if ((sp24 != 0) && (LinkAnimation_Update(globalCtx, &this->skelAnime) || (sp24 > 0))) {
func_80839F90(this, globalCtx);
}
}
@@ -7857,11 +7853,11 @@ void func_80843AE8(GlobalContext* globalCtx, Player* this) {
this->unk_850--;
if (this->unk_850 == 0) {
if (this->stateFlags1 & 0x8000000) {
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04003328, 1.0f, 0.0f,
- SkelAnime_GetFrameCount(&D_04003328), 2, -16.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, &D_04003328, 1.0f, 0.0f,
+ Animation_GetLastFrame(&D_04003328), 2, -16.0f);
} else {
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04002878, 1.0f, 99.0f,
- SkelAnime_GetFrameCount(&D_04002878), 2, 0.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, &D_04002878, 1.0f, 99.0f,
+ Animation_GetLastFrame(&D_04002878), 2, 0.0f);
}
gSaveContext.healthAccumulator = 0x140;
this->unk_850 = -1;
@@ -7905,7 +7901,7 @@ void func_80843CEC(Player* this, GlobalContext* globalCtx) {
func_8083721C(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (this->actor.type == ACTORTYPE_PLAYER) {
func_80843AE8(globalCtx, this);
}
@@ -7915,7 +7911,7 @@ void func_80843CEC(Player* this, GlobalContext* globalCtx) {
if (this->skelAnime.animation == &D_04002878) {
func_80832924(this, D_808545F0);
} else if (this->skelAnime.animation == &D_04002F08) {
- if (func_800A4530(&this->skelAnime, 88.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 88.0f)) {
func_80832770(this, NA_SE_PL_BOUND);
}
}
@@ -8026,7 +8022,7 @@ void func_8084411C(Player* this, GlobalContext* globalCtx) {
}
}
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
if (!(this->stateFlags2 & 0x80000)) {
func_8083DFE0(this, &sp4C, &sp4A);
@@ -8043,7 +8039,7 @@ void func_8084411C(Player* this, GlobalContext* globalCtx) {
this->stateFlags1 &= ~4;
}
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04003020, 1.0f, 0.0f, 0.0f, 2, 8.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, &D_04003020, 1.0f, 0.0f, 0.0f, 2, 8.0f);
this->unk_850 = -1;
}
} else {
@@ -8059,7 +8055,7 @@ void func_8084411C(Player* this, GlobalContext* globalCtx) {
} else if ((this->unk_88C >= 2) && (this->wallHeight < 150.0f) &&
(((this->actor.posRot.pos.y - this->actor.groundY) + this->wallHeight) >
(70.0f * this->ageProperties->unk_08))) {
- func_800A3310(globalCtx);
+ AnimationContext_DisableQueue(globalCtx);
if (this->stateFlags1 & 4) {
func_80832698(this, NA_SE_VO_LI_HOOKSHOT_HANG);
} else {
@@ -8101,7 +8097,7 @@ void func_8084411C(Player* this, GlobalContext* globalCtx) {
if (sp3C > 0) {
func_8083A098(this, D_80853A64[this->modelAnimType], globalCtx);
- this->skelAnime.animFrameCount = 8.0f;
+ this->skelAnime.endFrame = 8.0f;
if (sp3C == 1) {
this->unk_850 = 10;
} else {
@@ -8132,9 +8128,9 @@ void func_80844708(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x20;
cylinderOc = NULL;
- sp44 = func_800A3BC0(globalCtx, &this->skelAnime);
+ sp44 = LinkAnimation_Update(globalCtx, &this->skelAnime);
- if (func_800A4530(&this->skelAnime, 8.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 8.0f)) {
func_80837AFC(this, -10);
}
@@ -8174,8 +8170,8 @@ void func_80844708(Player* this, GlobalContext* globalCtx) {
}
}
- if ((this->skelAnime.animCurrentFrame < 15.0f) || !func_80850224(this, globalCtx)) {
- if (this->skelAnime.animCurrentFrame >= 20.0f) {
+ if ((this->skelAnime.curFrame < 15.0f) || !func_80850224(this, globalCtx)) {
+ if (this->skelAnime.curFrame >= 20.0f) {
func_8083A060(this, globalCtx);
return;
}
@@ -8202,7 +8198,7 @@ void func_80844708(Player* this, GlobalContext* globalCtx) {
void func_80844A44(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x20;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832284(globalCtx, this, &D_04003160);
}
@@ -8221,7 +8217,7 @@ void func_80844AF4(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x20;
this->actor.gravity = -1.2f;
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
if (!func_80842DF4(globalCtx, this)) {
func_8084285C(this, 6.0f, 7.0f, 99.0f);
@@ -8302,7 +8298,7 @@ void func_80844E68(Player* this, GlobalContext* globalCtx) {
this->stateFlags1 |= 0x1000;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832DBC(this);
func_808355DC(this);
this->stateFlags1 &= ~0x20000;
@@ -8364,9 +8360,9 @@ void func_80845000(Player* this, GlobalContext* globalCtx) {
sp58 = CLAMP(sp5C * 0.5f, 0.5f, 1.0f);
- func_800A431C(globalCtx, &this->skelAnime, D_80854360[Player_HoldsTwoHandedWeapon(this)], 0.0f,
- D_80854370[Player_HoldsTwoHandedWeapon(this)], this->unk_868 * 0.7241379022598267f, sp58,
- this->unk_318);
+ LinkAnimation_BlendToJoint(globalCtx, &this->skelAnime, D_80854360[Player_HoldsTwoHandedWeapon(this)], 0.0f,
+ D_80854370[Player_HoldsTwoHandedWeapon(this)], this->unk_868 * 0.7241379022598267f, sp58,
+ this->blendTable);
if (!func_80842964(this, globalCtx) && !func_80844BE4(this, globalCtx)) {
func_80844E3C(this);
@@ -8432,9 +8428,9 @@ void func_80845308(Player* this, GlobalContext* globalCtx) {
sp58 = CLAMP(sp5C * 0.5f, 0.5f, 1.0f);
- func_800A431C(globalCtx, &this->skelAnime, D_80854360[Player_HoldsTwoHandedWeapon(this)], 0.0f,
- D_80854378[Player_HoldsTwoHandedWeapon(this)], this->unk_868 * 0.7241379022598267f, sp58,
- this->unk_318);
+ LinkAnimation_BlendToJoint(globalCtx, &this->skelAnime, D_80854360[Player_HoldsTwoHandedWeapon(this)], 0.0f,
+ D_80854378[Player_HoldsTwoHandedWeapon(this)], this->unk_868 * 0.7241379022598267f, sp58,
+ this->blendTable);
if (!func_80842964(this, globalCtx) && !func_80844BE4(this, globalCtx)) {
func_80844E3C(this);
@@ -8478,12 +8474,12 @@ void func_80845668(Player* this, GlobalContext* globalCtx) {
f32 temp3;
this->stateFlags2 |= 0x20;
- sp3C = func_800A3BC0(globalCtx, &this->skelAnime);
+ sp3C = LinkAnimation_Update(globalCtx, &this->skelAnime);
if (this->skelAnime.animation == &D_04002D48) {
this->linearVelocity = 1.0f;
- if (func_800A4530(&this->skelAnime, 8.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 8.0f)) {
temp1 = this->wallHeight;
if (temp1 > this->ageProperties->unk_0C) {
@@ -8521,7 +8517,7 @@ void func_80845668(Player* this, GlobalContext* globalCtx) {
temp3 = 0.0f;
if (this->skelAnime.animation == &D_040032E8) {
- if (func_800A4530(&this->skelAnime, 30.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 30.0f)) {
func_8083D0A8(globalCtx, this, 10.0f);
}
temp3 = 50.0f;
@@ -8531,12 +8527,12 @@ void func_80845668(Player* this, GlobalContext* globalCtx) {
temp3 = 16.0f;
}
- if (func_800A4530(&this->skelAnime, temp3)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, temp3)) {
func_808328A0(this);
func_80832698(this, NA_SE_VO_LI_CLIMB_END);
}
- if ((this->skelAnime.animation == &D_04002D38) || (this->skelAnime.animCurrentFrame > 5.0f)) {
+ if ((this->skelAnime.animation == &D_04002D38) || (this->skelAnime.curFrame > 5.0f)) {
if (this->unk_850 == 0) {
func_80832854(this);
this->unk_850 = 1;
@@ -8548,7 +8544,7 @@ void func_80845668(Player* this, GlobalContext* globalCtx) {
void func_808458D0(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x60;
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
if (((this->stateFlags1 & 0x800) && (this->heldActor != NULL) && (this->getItemId == GI_NONE)) ||
!func_80836670(this, globalCtx)) {
@@ -8558,7 +8554,7 @@ void func_808458D0(Player* this, GlobalContext* globalCtx) {
s32 func_80845964(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2, f32 arg3, s16 arg4, s32 arg5) {
if ((arg5 != 0) && (this->linearVelocity == 0.0f)) {
- return func_800A3BC0(globalCtx, &this->skelAnime);
+ return LinkAnimation_Update(globalCtx, &this->skelAnime);
}
if (arg5 != 2) {
@@ -8632,7 +8628,7 @@ void func_80845CA4(Player* this, GlobalContext* globalCtx) {
if (!func_8083B040(this, globalCtx)) {
if (this->unk_850 == 0) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
if (DECR(this->doorTimer) == 0) {
this->linearVelocity = 0.1f;
@@ -8690,7 +8686,7 @@ void func_80845EF8(Player* this, GlobalContext* globalCtx) {
s32 sp2C;
this->stateFlags2 |= 0x20;
- sp2C = func_800A3BC0(globalCtx, &this->skelAnime);
+ sp2C = LinkAnimation_Update(globalCtx, &this->skelAnime);
func_80836670(this, globalCtx);
@@ -8698,7 +8694,7 @@ void func_80845EF8(Player* this, GlobalContext* globalCtx) {
if (this->unk_850 == 0) {
if (DECR(this->doorTimer) == 0) {
this->unk_850 = 1;
- this->skelAnime.animFrameCount = this->skelAnime.totalFrames - 1.0f;
+ this->skelAnime.endFrame = this->skelAnime.animLength - 1.0f;
}
} else {
func_8083C0E8(this, globalCtx);
@@ -8711,7 +8707,7 @@ void func_80845EF8(Player* this, GlobalContext* globalCtx) {
return;
}
- if (!(this->stateFlags1 & 0x20000000) && func_800A4530(&this->skelAnime, 15.0f)) {
+ if (!(this->stateFlags1 & 0x20000000) && LinkAnimation_OnFrame(&this->skelAnime, 15.0f)) {
globalCtx->func_11D54(this, globalCtx);
}
}
@@ -8719,13 +8715,13 @@ void func_80845EF8(Player* this, GlobalContext* globalCtx) {
void func_80846050(Player* this, GlobalContext* globalCtx) {
func_8083721C(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80839F90(this, globalCtx);
func_80835688(this, globalCtx);
return;
}
- if (func_800A4530(&this->skelAnime, 4.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 4.0f)) {
Actor* interactRangeActor = this->interactRangeActor;
if (!func_80835644(globalCtx, this, interactRangeActor)) {
@@ -8747,14 +8743,14 @@ struct_80832924 D_8085461C[] = {
};
void func_80846120(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime) && (this->unk_850++ > 20)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime) && (this->unk_850++ > 20)) {
if (!func_8083B040(this, globalCtx)) {
func_8083A098(this, &D_04002FA0, globalCtx);
}
return;
}
- if (func_800A4530(&this->skelAnime, 41.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 41.0f)) {
BgHeavyBlock* heavyBlock = (BgHeavyBlock*)this->interactRangeActor;
this->heldActor = &heavyBlock->dyna.actor;
@@ -8764,7 +8760,7 @@ void func_80846120(Player* this, GlobalContext* globalCtx) {
return;
}
- if (func_800A4530(&this->skelAnime, 229.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 229.0f)) {
Actor* heldActor = this->heldActor;
heldActor->speedXZ = Math_SinS(heldActor->shape.rot.x) * 40.0f;
@@ -8781,14 +8777,14 @@ void func_80846120(Player* this, GlobalContext* globalCtx) {
void func_80846260(Player* this, GlobalContext* globalCtx) {
func_8083721C(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832284(globalCtx, this, &D_040032C0);
this->unk_850 = 1;
return;
}
if (this->unk_850 == 0) {
- if (func_800A4530(&this->skelAnime, 27.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 27.0f)) {
Actor* interactRangeActor = this->interactRangeActor;
this->heldActor = interactRangeActor;
@@ -8797,7 +8793,7 @@ void func_80846260(Player* this, GlobalContext* globalCtx) {
return;
}
- if (func_800A4530(&this->skelAnime, 25.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 25.0f)) {
func_80832698(this, NA_SE_VO_LI_SWORD_L);
return;
}
@@ -8809,12 +8805,12 @@ void func_80846260(Player* this, GlobalContext* globalCtx) {
}
void func_80846358(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80839F90(this, globalCtx);
return;
}
- if (func_800A4530(&this->skelAnime, 6.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 6.0f)) {
Actor* heldActor = this->heldActor;
heldActor->posRot.rot.y = this->actor.shape.rot.y;
@@ -8827,7 +8823,7 @@ void func_80846358(Player* this, GlobalContext* globalCtx) {
}
void func_80846408(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832284(globalCtx, this, &D_04003070);
this->unk_850 = 15;
return;
@@ -8846,12 +8842,12 @@ void func_80846408(Player* this, GlobalContext* globalCtx) {
void func_808464B0(Player* this, GlobalContext* globalCtx) {
func_8083721C(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80839F90(this, globalCtx);
return;
}
- if (func_800A4530(&this->skelAnime, 4.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 4.0f)) {
Actor* heldActor = this->heldActor;
if (!func_80835644(globalCtx, this, heldActor)) {
@@ -8871,13 +8867,13 @@ void func_80846578(Player* this, GlobalContext* globalCtx) {
func_8083721C(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime) ||
- ((this->skelAnime.animCurrentFrame >= 8.0f) && func_80837268(this, &sp34, &sp32, 0.018f, globalCtx))) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime) ||
+ ((this->skelAnime.curFrame >= 8.0f) && func_80837268(this, &sp34, &sp32, 0.018f, globalCtx))) {
func_80839F90(this, globalCtx);
return;
}
- if (func_800A4530(&this->skelAnime, 3.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 3.0f)) {
func_8084409C(globalCtx, this, this->linearVelocity + 8.0f, 12.0f);
}
}
@@ -8914,7 +8910,7 @@ void func_80846660(GlobalContext* globalCtx, Player* this) {
this->unk_84F = 1;
}
this->stateFlags1 |= 0x20000000;
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04003298, 2.0f / 3.0f, 0.0f, 24.0f, 2, 0.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, &D_04003298, 2.0f / 3.0f, 0.0f, 24.0f, 2, 0.0f);
this->actor.posRot.pos.y += 800.0f;
}
@@ -8945,8 +8941,7 @@ void func_808467D4(GlobalContext* globalCtx, Player* this) {
this->stateFlags1 |= 0x20000000;
Math_Vec3f_Copy(&this->actor.posRot.pos, &D_808546F4);
this->currentYaw = this->actor.shape.rot.y = -0x8000;
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, this->ageProperties->unk_A0, 2.0f / 3.0f, 0.0f, 0.0f, 2,
- 0.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, this->ageProperties->unk_A0, 2.0f / 3.0f, 0.0f, 0.0f, 2, 0.0f);
func_80832F54(globalCtx, this, 0x28F);
if (LINK_IS_ADULT) {
func_80846720(globalCtx, this, 0);
@@ -9008,12 +9003,12 @@ void Player_InitCommon(Player* this, GlobalContext* globalCtx, FlexSkeletonHeade
this->currentYaw = this->actor.posRot.rot.y;
func_80834644(globalCtx, this);
- SkelAnime_InitLinkAnimation(globalCtx, &this->skelAnime, skelHeader, D_80853914[this->modelAnimType], 9,
- this->limbDrawTable, this->transitionDrawTable, PLAYER_LIMB_MAX);
- this->skelAnime.unk_3E = D_80854730;
- SkelAnime_InitLinkAnimation(globalCtx, &this->skelAnime2, skelHeader, func_80833338(this), 9, this->limbDrawTable2,
- this->transitionDrawTable2, PLAYER_LIMB_MAX);
- this->skelAnime2.unk_3E = D_80854730;
+ SkelAnime_InitLink(globalCtx, &this->skelAnime, skelHeader, D_80853914[this->modelAnimType], 9, this->jointTable,
+ this->morphTable, PLAYER_LIMB_MAX);
+ this->skelAnime.baseTransl = D_80854730;
+ SkelAnime_InitLink(globalCtx, &this->skelAnime2, skelHeader, func_80833338(this), 9, this->jointTable2,
+ this->morphTable2, PLAYER_LIMB_MAX);
+ this->skelAnime2.baseTransl = D_80854730;
Effect_Add(globalCtx, &this->swordEffectIndex, EFFECT_BLURE2, 0, 0, &D_8085470C);
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Teardrop, this->ageProperties->unk_04);
@@ -9979,7 +9974,7 @@ void Player_UpdateCommon(Player* this, GlobalContext* globalCtx, Input* input) {
func_8084FF7C(this);
}
- if (!(this->skelAnime.flags & 0x80)) {
+ if (!(this->skelAnime.moveFlags & 0x80)) {
if (((this->actor.bgCheckFlags & 1) && (D_808535E4 == 5) && (this->currentBoots != PLAYER_BOOTS_IRON)) ||
((this->currentBoots == PLAYER_BOOTS_HOVER) && !(this->stateFlags1 & 0x28000000))) {
f32 sp70 = this->linearVelocity;
@@ -10151,9 +10146,9 @@ void Player_UpdateCommon(Player* this, GlobalContext* globalCtx, Input* input) {
func_808486A8(globalCtx, this);
- if (this->skelAnime.flags & 8) {
- SkelAnime_LoadAnimationType5(globalCtx, &this->actor, &this->skelAnime,
- (this->skelAnime.flags & 4) ? 1.0f : this->ageProperties->unk_08);
+ if (this->skelAnime.moveFlags & 8) {
+ AnimationContext_SetMoveActor(globalCtx, &this->actor, &this->skelAnime,
+ (this->skelAnime.moveFlags & 4) ? 1.0f : this->ageProperties->unk_08);
}
func_808368EC(this, globalCtx);
@@ -10222,7 +10217,7 @@ void Player_UpdateCommon(Player* this, GlobalContext* globalCtx, Input* input) {
}
}
- func_800A32F4(globalCtx);
+ AnimationContext_SetNextQueue(globalCtx);
}
Math_Vec3f_Copy(&this->actor.initPosRot.pos, &this->actor.posRot.pos);
@@ -10317,7 +10312,7 @@ void func_8084A0E8(GlobalContext* globalCtx, Player* this, s32 lod, Gfx* cullDLi
gSPSegment(POLY_OPA_DISP++, 0x0C, cullDList);
gSPSegment(POLY_XLU_DISP++, 0x0C, cullDList);
- func_8008F470(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, lod,
+ func_8008F470(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, lod,
this->currentTunic, this->currentBoots, this->actor.shape.unk_06, overrideLimbDraw, func_80090D20,
this);
@@ -10531,7 +10526,7 @@ void func_8084AEEC(Player* this, f32* arg1, f32 arg2, s16 arg3) {
f32 temp1;
f32 temp2;
- temp1 = this->skelAnime.animCurrentFrame - 10.0f;
+ temp1 = this->skelAnime.curFrame - 10.0f;
temp2 = (R_RUN_SPEED_LIMIT / 100.0f) * 0.8f;
if (*arg1 > temp2) {
@@ -10613,8 +10608,8 @@ void func_8084B158(GlobalContext* globalCtx, Player* this, Input* input, f32 arg
temp = 1.0f;
}
- this->skelAnime.animPlaybackSpeed = temp;
- func_800A3BC0(globalCtx, &this->skelAnime);
+ this->skelAnime.playSpeed = temp;
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
}
void func_8084B1D8(Player* this, GlobalContext* globalCtx) {
@@ -10720,8 +10715,8 @@ void func_8084B530(Player* this, GlobalContext* globalCtx) {
func_8084CC98(this, globalCtx);
} else if (func_808332B8(this)) {
func_8084D610(this, globalCtx);
- } else if (!func_8008E9C4(this) && func_800A3BC0(globalCtx, &this->skelAnime)) {
- if (this->skelAnime.flags != 0) {
+ } else if (!func_8008E9C4(this) && LinkAnimation_Update(globalCtx, &this->skelAnime)) {
+ if (this->skelAnime.moveFlags != 0) {
func_80832DBC(this);
if ((this->targetActor->type == ACTORTYPE_NPC) && (this->heldItemActionParam != PLAYER_AP_FISHING_POLE)) {
func_808322D0(globalCtx, this, &D_040031A0);
@@ -10746,7 +10741,7 @@ void func_8084B78C(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x141;
func_8083F524(globalCtx, this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (!func_8083F9D0(globalCtx, this)) {
func_80837268(this, &sp34, &sp32, 0.0f, globalCtx);
temp = func_8083FFB8(this, &sp34, &sp32);
@@ -10784,7 +10779,7 @@ void func_8084B898(Player* this, GlobalContext* globalCtx) {
if (func_80832CB0(globalCtx, this, &D_04003108)) {
this->unk_850 = 1;
} else if (this->unk_850 == 0) {
- if (func_800A4530(&this->skelAnime, 11.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 11.0f)) {
func_80832698(this, NA_SE_VO_LI_PUSH);
}
}
@@ -10836,7 +10831,7 @@ void func_8084B9E4(Player* this, GlobalContext* globalCtx) {
this->unk_850 = 1;
} else {
if (this->unk_850 == 0) {
- if (func_800A4530(&this->skelAnime, 11.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 11.0f)) {
func_80832698(this, NA_SE_VO_LI_PUSH);
}
} else {
@@ -10881,7 +10876,7 @@ void func_8084BBE4(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x40;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
// clang-format off
anim = (this->unk_84F > 0) ? &D_04002F28 : D_80853CD4[this->modelAnimType]; func_80832284(globalCtx, this, anim);
// clang-format on
@@ -10892,7 +10887,7 @@ void func_8084BBE4(Player* this, GlobalContext* globalCtx) {
temp = 1.0f;
}
- if (func_800A4530(&this->skelAnime, temp)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, temp)) {
func_80832770(this, NA_SE_PL_WALK_GROUND);
if (this->skelAnime.animation == &D_04002F10) {
this->unk_84F = 1;
@@ -10932,15 +10927,15 @@ void func_8084BBE4(Player* this, GlobalContext* globalCtx) {
void func_8084BDFC(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x40;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832E48(this, 1);
func_8083C0E8(this, globalCtx);
return;
}
- if (func_800A4530(&this->skelAnime, this->skelAnime.animFrameCount - 6.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, this->skelAnime.endFrame - 6.0f)) {
func_808328A0(this);
- } else if (func_800A4530(&this->skelAnime, this->skelAnime.animFrameCount - 34.0f)) {
+ } else if (LinkAnimation_OnFrame(&this->skelAnime, this->skelAnime.endFrame - 34.0f)) {
this->stateFlags1 &= ~0x6000;
func_8002F7DC(&this->actor, NA_SE_PL_CLIMB_CLIFF);
func_80832698(this, NA_SE_VO_LI_CLIMB_END);
@@ -10984,13 +10979,13 @@ void func_8084BF1C(Player* this, GlobalContext* globalCtx) {
phi_f0 = 3.35f;
}
- if (this->skelAnime.animPlaybackSpeed >= 0.0f) {
+ if (this->skelAnime.playSpeed >= 0.0f) {
phi_f2 = 1.0f;
} else {
phi_f2 = -1.0f;
}
- this->skelAnime.animPlaybackSpeed = phi_f2 * phi_f0;
+ this->skelAnime.playSpeed = phi_f2 * phi_f0;
if (this->unk_850 >= 0) {
if ((this->actor.wallPoly != NULL) && (this->actor.wallPolySource != 50)) {
@@ -11006,7 +11001,7 @@ void func_8084BF1C(Player* this, GlobalContext* globalCtx) {
}
if ((this->unk_850 < 0) || !func_8083FBC0(this, globalCtx)) {
- if (func_800A3BC0(globalCtx, &this->skelAnime) != 0) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime) != 0) {
if (this->unk_850 < 0) {
this->unk_850 = ABS(this->unk_850) & 1;
return;
@@ -11033,7 +11028,7 @@ void func_8084BF1C(Player* this, GlobalContext* globalCtx) {
func_8083F070(this, this->ageProperties->unk_CC[this->unk_850], globalCtx);
}
} else {
- this->skelAnime.prevFramePos = this->ageProperties->unk_4A[sp68];
+ this->skelAnime.prevTransl = this->ageProperties->unk_4A[sp68];
func_80832264(globalCtx, this, this->ageProperties->unk_AC[sp68]);
}
} else {
@@ -11042,17 +11037,17 @@ void func_8084BF1C(Player* this, GlobalContext* globalCtx) {
func_8083FB7C(this, globalCtx);
} else {
if (this->unk_850 != 0) {
- this->skelAnime.prevFramePos = this->ageProperties->unk_44;
+ this->skelAnime.prevTransl = this->ageProperties->unk_44;
}
func_8083F070(this, this->ageProperties->unk_C4[this->unk_850], globalCtx);
this->unk_850 = 1;
}
} else {
sp68 ^= 1;
- this->skelAnime.prevFramePos = this->ageProperties->unk_62[sp68];
+ this->skelAnime.prevTransl = this->ageProperties->unk_62[sp68];
anim1 = this->ageProperties->unk_AC[sp68];
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim1, -1.0f,
- SkelAnime_GetFrameCount(anim1), 0.0f, 2, 0.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim1, -1.0f, Animation_GetLastFrame(anim1),
+ 0.0f, 2, 0.0f);
}
}
this->unk_850 ^= 1;
@@ -11061,12 +11056,12 @@ void func_8084BF1C(Player* this, GlobalContext* globalCtx) {
anim2 = this->ageProperties->unk_BC[this->unk_850];
if (sp80 > 0) {
- this->skelAnime.prevFramePos = this->ageProperties->unk_7A[this->unk_850];
+ this->skelAnime.prevTransl = this->ageProperties->unk_7A[this->unk_850];
func_80832264(globalCtx, this, anim2);
} else {
- this->skelAnime.prevFramePos = this->ageProperties->unk_86[this->unk_850];
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim2, -1.0f,
- SkelAnime_GetFrameCount(anim2), 0.0f, 2, 0.0f);
+ this->skelAnime.prevTransl = this->ageProperties->unk_86[this->unk_850];
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim2, -1.0f, Animation_GetLastFrame(anim2),
+ 0.0f, 2, 0.0f);
}
} else {
this->stateFlags2 |= 0x1000;
@@ -11079,16 +11074,16 @@ void func_8084BF1C(Player* this, GlobalContext* globalCtx) {
if (this->unk_850 < 0) {
if (((this->unk_850 == -2) &&
- (func_800A4530(&this->skelAnime, 14.0f) || func_800A4530(&this->skelAnime, 29.0f))) ||
+ (LinkAnimation_OnFrame(&this->skelAnime, 14.0f) || LinkAnimation_OnFrame(&this->skelAnime, 29.0f))) ||
((this->unk_850 == -4) &&
- (func_800A4530(&this->skelAnime, 22.0f) || func_800A4530(&this->skelAnime, 35.0f) ||
- func_800A4530(&this->skelAnime, 49.0f) || func_800A4530(&this->skelAnime, 55.0f)))) {
+ (LinkAnimation_OnFrame(&this->skelAnime, 22.0f) || LinkAnimation_OnFrame(&this->skelAnime, 35.0f) ||
+ LinkAnimation_OnFrame(&this->skelAnime, 49.0f) || LinkAnimation_OnFrame(&this->skelAnime, 55.0f)))) {
func_8084BEE4(this);
}
return;
}
- if (func_800A4530(&this->skelAnime, (this->skelAnime.animPlaybackSpeed > 0.0f) ? 20.0f : 0.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, (this->skelAnime.playSpeed > 0.0f) ? 20.0f : 0.0f)) {
func_8084BEE4(this);
}
}
@@ -11118,7 +11113,7 @@ void func_8084C5F8(Player* this, GlobalContext* globalCtx) {
return;
}
- if ((temp > 0) || func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if ((temp > 0) || LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_8083C0E8(this, globalCtx);
this->stateFlags1 &= ~0x200000;
return;
@@ -11131,7 +11126,7 @@ void func_8084C5F8(Player* this, GlobalContext* globalCtx) {
sp38 = D_808548A0;
}
- if (func_800A4530(&this->skelAnime, sp38[0]) || func_800A4530(&this->skelAnime, sp38[1])) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, sp38[0]) || LinkAnimation_OnFrame(&this->skelAnime, sp38[1])) {
sp24.x = this->actor.posRot.pos.x;
sp24.y = this->actor.posRot.pos.y + 20.0f;
sp24.z = this->actor.posRot.pos.z;
@@ -11150,10 +11145,10 @@ struct_80832924 D_808548B4[] = {
void func_8084C760(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x40;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (!(this->stateFlags1 & 1)) {
- if (this->skelAnime.flags != 0) {
- this->skelAnime.flags = 0;
+ if (this->skelAnime.moveFlags != 0) {
+ this->skelAnime.moveFlags = 0;
return;
}
@@ -11175,7 +11170,7 @@ struct_80832924 D_808548D8[] = {
void func_8084C81C(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x40;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_8083C0E8(this, globalCtx);
this->stateFlags2 &= ~0x40000;
return;
@@ -11258,7 +11253,7 @@ void func_8084CBF4(Player* this, f32 arg1, f32 arg2) {
f32 temp;
f32 dir;
- if ((this->unk_878 != 0.0f) && (arg2 <= this->skelAnime.animCurrentFrame)) {
+ if ((this->unk_878 != 0.0f) && (arg2 <= this->skelAnime.curFrame)) {
if (arg1 < fabsf(this->unk_878)) {
if (this->unk_878 >= 0.0f) {
dir = 1;
@@ -11310,7 +11305,7 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) {
func_8084CBF4(this, 1.0f, 10.0f);
if (this->unk_850 == 0) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
this->skelAnime.animation = &D_040033B8;
this->unk_850 = 99;
return;
@@ -11318,12 +11313,12 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) {
arr = D_80854998[(this->unk_43C < 0) ? 0 : 1];
- if (func_800A4530(&this->skelAnime, arr[0])) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, arr[0])) {
func_8002F7DC(&this->actor, NA_SE_PL_CLIMB_CLIFF);
return;
}
- if (func_800A4530(&this->skelAnime, arr[1])) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, arr[1])) {
func_8002DE74(globalCtx, this);
func_8002F7DC(&this->actor, NA_SE_PL_SIT_ON_HORSE);
return;
@@ -11333,7 +11328,7 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) {
}
func_8002DE74(globalCtx, this);
- this->skelAnime.prevFramePos = D_8085499C;
+ this->skelAnime.prevTransl = D_8085499C;
if ((rideActor->unk_210 != this->unk_850) && ((rideActor->unk_210 >= 2) || (this->unk_850 >= 2))) {
if ((this->unk_850 = rideActor->unk_210) < 2) {
@@ -11350,7 +11345,7 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) {
func_80832264(globalCtx, this, D_8085498C[temp]);
} else {
this->skelAnime.animation = D_80854944[this->unk_850 - 2];
- SkelAnime_SetTransition(globalCtx, &this->skelAnime, 8.0f);
+ Animation_SetMorph(globalCtx, &this->skelAnime, 8.0f);
if (this->unk_850 < 4) {
func_80834644(globalCtx, this);
this->unk_84F = 0;
@@ -11361,18 +11356,18 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) {
if (this->unk_850 == 1) {
if ((D_808535E0 != 0) || func_8083224C(globalCtx)) {
func_80832264(globalCtx, this, &D_040033C8);
- } else if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ } else if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
this->unk_850 = 99;
} else if (this->skelAnime.animation == &D_040033B8) {
func_80832924(this, D_808549A4);
}
} else {
- this->skelAnime.animCurrentFrame = rideActor->unk_214;
- func_800A3C9C(globalCtx, &this->skelAnime);
+ this->skelAnime.curFrame = rideActor->unk_214;
+ LinkAnimation_AnimateFrame(globalCtx, &this->skelAnime);
}
- SkelAnime_LoadAnimationType1(globalCtx, this->skelAnime.limbCount, this->skelAnime.transitionDrawTbl,
- this->skelAnime.limbDrawTbl);
+ AnimationContext_SetCopyAll(globalCtx, this->skelAnime.limbCount, this->skelAnime.morphTable,
+ this->skelAnime.jointTable);
if ((globalCtx->csCtx.state != 0) || (this->csMode != 0)) {
if (this->csMode == 7) {
@@ -11398,27 +11393,27 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) {
!func_8083C1DC(this, globalCtx))) {
if (D_808535E0 == 0) {
if (this->unk_84F != 0) {
- if (func_800A3BC0(globalCtx, &this->skelAnime2)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime2)) {
rideActor->unk_1F0 &= ~0x100;
this->unk_84F = 0;
}
if (this->skelAnime2.animation == &D_040033B0) {
- if (func_800A4530(&this->skelAnime2, 23.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime2, 23.0f)) {
func_8002F7DC(&this->actor, NA_SE_IT_LASH);
func_80832698(this, NA_SE_VO_LI_LASH);
}
- SkelAnime_LoadAnimationType1(globalCtx, this->skelAnime.limbCount, this->skelAnime.limbDrawTbl,
- this->skelAnime2.limbDrawTbl);
+ AnimationContext_SetCopyAll(globalCtx, this->skelAnime.limbCount, this->skelAnime.jointTable,
+ this->skelAnime2.jointTable);
} else {
- if (func_800A4530(&this->skelAnime2, 10.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime2, 10.0f)) {
func_8002F7DC(&this->actor, NA_SE_IT_LASH);
func_80832698(this, NA_SE_VO_LI_LASH);
}
- SkelAnime_LoadAnimationType3(globalCtx, this->skelAnime.limbCount, this->skelAnime.limbDrawTbl,
- this->skelAnime2.limbDrawTbl, D_80853410);
+ AnimationContext_SetCopyTrue(globalCtx, this->skelAnime.limbCount, this->skelAnime.jointTable,
+ this->skelAnime2.jointTable, D_80853410);
}
} else {
LinkAnimationHeader* anim = NULL;
@@ -11432,7 +11427,7 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) {
}
if (anim != NULL) {
- SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2, anim);
+ LinkAnimation_PlayOnce(globalCtx, &this->skelAnime2, anim);
this->unk_84F = 1;
}
}
@@ -11483,7 +11478,7 @@ void func_8084D3E4(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x40;
func_8084CBF4(this, 1.0f, 10.0f);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
EnHorse* rideActor = (EnHorse*)this->rideActor;
func_8083C0E8(this, globalCtx);
@@ -11692,10 +11687,10 @@ void func_8084DC48(Player* this, GlobalContext* globalCtx) {
if (this->unk_84F == 0) {
if (this->unk_850 == 0) {
- if (func_800A3BC0(globalCtx, &this->skelAnime) ||
- ((this->skelAnime.animCurrentFrame >= 22.0f) && !CHECK_BTN_ALL(sControlInput->cur.button, BTN_A))) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime) ||
+ ((this->skelAnime.curFrame >= 22.0f) && !CHECK_BTN_ALL(sControlInput->cur.button, BTN_A))) {
func_8083D330(globalCtx, this);
- } else if (func_800A4530(&this->skelAnime, 20.0f) != 0) {
+ } else if (LinkAnimation_OnFrame(&this->skelAnime, 20.0f) != 0) {
this->actor.velocity.y = -2.0f;
}
@@ -11714,7 +11709,7 @@ void func_8084DC48(Player* this, GlobalContext* globalCtx) {
func_80832C6C(globalCtx, this, &D_04003328);
}
} else if (this->unk_84F == 1) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_8084B000(this);
if (this->unk_6C2 < 10000) {
@@ -11806,18 +11801,18 @@ s32 func_8084DFF4(GlobalContext* globalCtx, Player* this) {
void func_8084E1EC(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x20;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (!(this->stateFlags1 & 0x400) || func_8084DFF4(globalCtx, this)) {
func_8084DF6C(globalCtx, this);
func_80838F18(globalCtx, this);
func_80832340(globalCtx, this);
}
} else {
- if ((this->stateFlags1 & 0x400) && func_800A4530(&this->skelAnime, 10.0f)) {
+ if ((this->stateFlags1 & 0x400) && LinkAnimation_OnFrame(&this->skelAnime, 10.0f)) {
func_808332F4(this, globalCtx);
func_80832340(globalCtx, this);
func_80835EA4(globalCtx, 8);
- } else if (func_800A4530(&this->skelAnime, 5.0f)) {
+ } else if (LinkAnimation_OnFrame(&this->skelAnime, 5.0f)) {
func_80832698(this, NA_SE_VO_LI_BREATH_DRINK);
}
}
@@ -11829,7 +11824,7 @@ void func_8084E1EC(Player* this, GlobalContext* globalCtx) {
void func_8084E30C(Player* this, GlobalContext* globalCtx) {
func_8084B000(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80838F18(globalCtx, this);
}
@@ -11839,7 +11834,7 @@ void func_8084E30C(Player* this, GlobalContext* globalCtx) {
void func_8084E368(Player* this, GlobalContext* globalCtx) {
func_8084B000(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80843AE8(globalCtx, this);
}
@@ -11849,7 +11844,7 @@ void func_8084E368(Player* this, GlobalContext* globalCtx) {
s16 D_808549D4[] = { 0x0600, 0x04F6, 0x0604, 0x01F1, 0x0568, 0x05F4 };
void func_8084E3C4(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_808322A4(globalCtx, this, &D_040030A8);
this->unk_850 = 1;
if (this->stateFlags2 & 0x2800000) {
@@ -11903,9 +11898,9 @@ void func_8084E3C4(Player* this, GlobalContext* globalCtx) {
}
void func_8084E604(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_8083A098(this, &D_04003050, globalCtx);
- } else if (func_800A4530(&this->skelAnime, 3.0f)) {
+ } else if (LinkAnimation_OnFrame(&this->skelAnime, 3.0f)) {
Inventory_ChangeAmmo(ITEM_NUT, -1);
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ARROW, this->bodyPartsPos[15].x, this->bodyPartsPos[15].y,
this->bodyPartsPos[15].z, 4000, this->actor.shape.rot.y, 0, 10);
@@ -11925,7 +11920,7 @@ struct_80832924 D_808549E0[] = {
void func_8084E6D4(Player* this, GlobalContext* globalCtx) {
s32 cond;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (this->unk_850 != 0) {
if (this->unk_850 >= 2) {
this->unk_850--;
@@ -11985,7 +11980,7 @@ void func_8084E6D4(Player* this, GlobalContext* globalCtx) {
Math_ScaledStepToS(&this->actor.shape.rot.y, Camera_GetCamDirYaw(ACTIVE_CAM) + 0x8000, 4000);
}
- if (func_800A4530(&this->skelAnime, 21.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 21.0f)) {
func_808332F4(this, globalCtx);
}
}
@@ -12005,17 +12000,17 @@ struct_80832924 D_808549F4[] = {
};
void func_8084E9AC(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (this->unk_84F == 0) {
if (DECR(this->unk_850) == 0) {
this->unk_84F = 1;
- this->skelAnime.animFrameCount = this->skelAnime.totalFrames - 1.0f;
+ this->skelAnime.endFrame = this->skelAnime.animLength - 1.0f;
}
} else {
func_8083C0E8(this, globalCtx);
}
} else {
- if (LINK_IS_ADULT && func_800A4530(&this->skelAnime, 158.0f)) {
+ if (LINK_IS_ADULT && LinkAnimation_OnFrame(&this->skelAnime, 158.0f)) {
func_80832698(this, NA_SE_VO_LI_SWORD_N);
return;
}
@@ -12033,7 +12028,7 @@ u8 D_808549FC[] = {
};
void func_8084EAC0(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (this->unk_850 == 0) {
if (this->itemActionParam == PLAYER_AP_BOTTLE_POE) {
s32 rand = Rand_S16Offset(-1, 3);
@@ -12081,7 +12076,7 @@ void func_8084EAC0(Player* this, GlobalContext* globalCtx) {
Player_UpdateBottleHeld(globalCtx, this, ITEM_BOTTLE, PLAYER_AP_BOTTLE);
}
func_80832698(this, NA_SE_VO_LI_DRINK - SFX_FLAG);
- } else if ((this->unk_850 == 2) && func_800A4530(&this->skelAnime, 29.0f)) {
+ } else if ((this->unk_850 == 2) && LinkAnimation_OnFrame(&this->skelAnime, 29.0f)) {
func_80832698(this, NA_SE_VO_LI_BREATH_DRINK);
}
}
@@ -12102,7 +12097,7 @@ void func_8084ECA4(Player* this, GlobalContext* globalCtx) {
sp24 = &D_80854554[this->unk_850];
func_8083721C(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (this->unk_84F != 0) {
if (this->unk_850 == 0) {
func_8010B680(globalCtx, D_80854A04[this->unk_84F - 1].textId, &this->actor);
@@ -12117,7 +12112,7 @@ void func_8084ECA4(Player* this, GlobalContext* globalCtx) {
}
} else {
if (this->unk_84F == 0) {
- temp = this->skelAnime.animCurrentFrame - sp24->unk_08;
+ temp = this->skelAnime.curFrame - sp24->unk_08;
if (temp >= 0) {
if (sp24->unk_09 >= temp) {
@@ -12150,7 +12145,7 @@ void func_8084ECA4(Player* this, GlobalContext* globalCtx) {
}
}
- if (this->skelAnime.animCurrentFrame <= 7.0f) {
+ if (this->skelAnime.curFrame <= 7.0f) {
this->stateFlags1 |= 2;
}
}
@@ -12158,18 +12153,18 @@ void func_8084ECA4(Player* this, GlobalContext* globalCtx) {
Vec3f D_80854A1C = { 0.0f, 0.0f, 5.0f };
void func_8084EED8(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_8083C0E8(this, globalCtx);
func_8005B1A4(Gameplay_GetCamera(globalCtx, 0));
return;
}
- if (func_800A4530(&this->skelAnime, 37.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 37.0f)) {
Player_SpawnFairy(globalCtx, this, &this->leftHandPos, &D_80854A1C, FAIRY_REVIVE_BOTTLE);
Player_UpdateBottleHeld(globalCtx, this, ITEM_BOTTLE, PLAYER_AP_BOTTLE);
func_8002F7DC(&this->actor, NA_SE_EV_BOTTLE_CAP_OPEN);
func_8002F7DC(&this->actor, NA_SE_EV_FIATY_HEAL - SFX_FLAG);
- } else if (func_800A4530(&this->skelAnime, 47.0f)) {
+ } else if (LinkAnimation_OnFrame(&this->skelAnime, 47.0f)) {
gSaveContext.healthAccumulator = 0x140;
}
}
@@ -12188,13 +12183,13 @@ struct_80832924 D_80854A34[] = {
void func_8084EFC0(Player* this, GlobalContext* globalCtx) {
func_8083721C(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_8083C0E8(this, globalCtx);
func_8005B1A4(Gameplay_GetCamera(globalCtx, 0));
return;
}
- if (func_800A4530(&this->skelAnime, 76.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 76.0f)) {
BottleDropInfo* dropInfo = &D_80854A28[this->itemActionParam - PLAYER_AP_BOTTLE_FISH];
Actor_Spawn(&globalCtx->actorCtx, globalCtx, dropInfo->actorId,
@@ -12216,7 +12211,7 @@ struct_80832924 D_80854A3C[] = {
void func_8084F104(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x20;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (this->unk_850 < 0) {
func_8083C0E8(this, globalCtx);
} else if (this->exchangeItemId == EXCH_ITEM_NONE) {
@@ -12273,7 +12268,7 @@ void func_8084F104(Player* this, GlobalContext* globalCtx) {
void func_8084F308(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x60;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832284(globalCtx, this, &D_04003128);
}
@@ -12293,7 +12288,7 @@ void func_8084F390(Player* this, GlobalContext* globalCtx) {
Vec3f sp38;
this->stateFlags2 |= 0x60;
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_8084269C(globalCtx, this);
func_800F4138(&this->actor.projectedPos, NA_SE_PL_SLIP_LEVEL - SFX_FLAG, this->actor.speedXZ);
@@ -12366,10 +12361,10 @@ void func_8084F710(Player* this, GlobalContext* globalCtx) {
this->actor.gravity = 0.0f;
this->actor.velocity.y = 0.0f;
} else if (D_80853600 < 150.0f) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (this->unk_850 == 0) {
if (this->actor.bgCheckFlags & 1) {
- this->skelAnime.animFrameCount = this->skelAnime.totalFrames - 1.0f;
+ this->skelAnime.endFrame = this->skelAnime.animLength - 1.0f;
func_808328A0(this);
this->unk_850 = 1;
}
@@ -12395,7 +12390,7 @@ void func_8084F710(Player* this, GlobalContext* globalCtx) {
}
void func_8084F88C(Player* this, GlobalContext* globalCtx) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
if ((this->unk_850++ > 8) && (globalCtx->sceneLoadFlag == 0)) {
@@ -12429,7 +12424,7 @@ void func_8084F9A0(Player* this, GlobalContext* globalCtx) {
void func_8084F9C0(Player* this, GlobalContext* globalCtx) {
this->actor.gravity = -1.0f;
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
if (this->actor.velocity.y < 0.0f) {
func_80837B9C(this, globalCtx);
@@ -12442,7 +12437,7 @@ void func_8084FA54(Player* this, GlobalContext* globalCtx) {
this->unk_6AD = 2;
func_8083AD4C(globalCtx, this);
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_80836670(this, globalCtx);
this->unk_6BE = func_8084ABD8(globalCtx, this, 1, 0) - this->actor.shape.rot.y;
@@ -12474,7 +12469,7 @@ void func_8084FB10(Player* this, GlobalContext* globalCtx) {
Player_InflictDamage(globalCtx, -1);
}
} else {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80839F90(this, globalCtx);
func_80837AFC(this, -20);
}
@@ -12482,7 +12477,7 @@ void func_8084FB10(Player* this, GlobalContext* globalCtx) {
}
void func_8084FBF4(Player* this, GlobalContext* globalCtx) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_808382BC(this);
if (((this->unk_850 % 25) != 0) || func_80837B18(globalCtx, this, -1)) {
@@ -12650,7 +12645,7 @@ void func_808502D0(Player* this, GlobalContext* globalCtx) {
func_8084285C(this, 0.0f, sp44->unk_0C, sp44->unk_0D);
if ((this->stateFlags2 & 0x40000000) && (this->heldItemActionParam != PLAYER_AP_HAMMER) &&
- func_800A4530(&this->skelAnime, 0.0f)) {
+ LinkAnimation_OnFrame(&this->skelAnime, 0.0f)) {
this->linearVelocity = 15.0f;
this->stateFlags2 &= ~0x40000000;
}
@@ -12662,9 +12657,9 @@ void func_808502D0(Player* this, GlobalContext* globalCtx) {
Math_StepToF(&this->linearVelocity, 0.0f, 5.0f);
func_8083C50C(this);
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (!func_80850224(this, globalCtx)) {
- u8 sp43 = this->skelAnime.flags;
+ u8 sp43 = this->skelAnime.moveFlags;
LinkAnimationHeader* sp3C;
if (func_8008E9C4(this)) {
@@ -12674,7 +12669,7 @@ void func_808502D0(Player* this, GlobalContext* globalCtx) {
}
func_80832318(this);
- this->skelAnime.flags = 0;
+ this->skelAnime.moveFlags = 0;
if ((sp3C == &D_04002908) && (this->modelAnimType != 3)) {
sp3C = &D_04002AC8;
@@ -12682,7 +12677,7 @@ void func_808502D0(Player* this, GlobalContext* globalCtx) {
func_8083A098(this, sp3C, globalCtx);
- this->skelAnime.flags = sp43;
+ this->skelAnime.moveFlags = sp43;
this->stateFlags3 |= 8;
}
} else if (this->heldItemActionParam == PLAYER_AP_HAMMER) {
@@ -12697,8 +12692,8 @@ void func_808502D0(Player* this, GlobalContext* globalCtx) {
Math_ScaledStepToS(&this->actor.posRot2.rot.x, Math_Atan2S(45.0f, sp2C), 800);
func_80836AB8(this, 1);
- if ((((this->swordAnimation == 0x16) && func_800A4530(&this->skelAnime, 7.0f)) ||
- ((this->swordAnimation == 0x13) && func_800A4530(&this->skelAnime, 2.0f))) &&
+ if ((((this->swordAnimation == 0x16) && LinkAnimation_OnFrame(&this->skelAnime, 7.0f)) ||
+ ((this->swordAnimation == 0x13) && LinkAnimation_OnFrame(&this->skelAnime, 2.0f))) &&
(sp2C > -40.0f) && (sp2C < 40.0f)) {
func_80842A28(globalCtx, this);
EffectSsBlast_SpawnWhiteShockwave(globalCtx, &shockwavePos, &zeroVec, &zeroVec);
@@ -12709,10 +12704,10 @@ void func_808502D0(Player* this, GlobalContext* globalCtx) {
}
void func_808505DC(Player* this, GlobalContext* globalCtx) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_8083721C(this);
- if (this->skelAnime.animCurrentFrame >= 6.0f) {
+ if (this->skelAnime.curFrame >= 6.0f) {
func_80839FFC(this, globalCtx);
}
}
@@ -12720,7 +12715,7 @@ void func_808505DC(Player* this, GlobalContext* globalCtx) {
void func_8085063C(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x20;
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_80836670(this, globalCtx);
if (this->unk_850 == 0) {
@@ -12810,7 +12805,7 @@ struct_80832924 D_80854A8C[][2] = {
};
void func_808507F4(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (this->unk_84F < 0) {
if ((this->itemActionParam == PLAYER_AP_NAYRUS_LOVE) || (gSaveContext.unk_13F0 == 0)) {
func_80839FFC(this, globalCtx);
@@ -12818,7 +12813,7 @@ void func_808507F4(Player* this, GlobalContext* globalCtx) {
}
} else {
if (this->unk_850 == 0) {
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, D_80854A58[this->unk_84F], 0.83f);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, D_80854A58[this->unk_84F], 0.83f);
if (func_80846A00(globalCtx, this, this->unk_84F) != NULL) {
this->stateFlags1 |= 0x30000000;
@@ -12829,7 +12824,7 @@ void func_808507F4(Player* this, GlobalContext* globalCtx) {
func_800876C8(globalCtx);
}
} else {
- SkelAnime_ChangeLinkAnimPlaybackRepeat(globalCtx, &this->skelAnime, D_80854A64[this->unk_84F], 0.83f);
+ LinkAnimation_PlayLoopSetSpeed(globalCtx, &this->skelAnime, D_80854A64[this->unk_84F], 0.83f);
if (this->unk_84F == 0) {
this->unk_850 = -10;
@@ -12862,11 +12857,11 @@ void func_808507F4(Player* this, GlobalContext* globalCtx) {
func_80832924(this, D_80854A80);
} else if (this->unk_850 == 1) {
func_80832924(this, D_80854A8C[this->unk_84F]);
- if ((this->unk_84F == 2) && func_800A4530(&this->skelAnime, 30.0f)) {
+ if ((this->unk_84F == 2) && LinkAnimation_OnFrame(&this->skelAnime, 30.0f)) {
this->stateFlags1 &= ~0x30000000;
}
} else if (D_80854A7C[this->unk_84F] < this->unk_850++) {
- SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, D_80854A70[this->unk_84F], 0.83f);
+ LinkAnimation_PlayOnceSetSpeed(globalCtx, &this->skelAnime, D_80854A70[this->unk_84F], 0.83f);
this->currentYaw = this->actor.shape.rot.y;
this->unk_84F = -1;
}
@@ -12881,7 +12876,7 @@ void func_80850AEC(Player* this, GlobalContext* globalCtx) {
this->stateFlags2 |= 0x20;
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832284(globalCtx, this, &D_04002C98);
}
@@ -12907,7 +12902,7 @@ void func_80850AEC(Player* this, GlobalContext* globalCtx) {
return;
}
- if ((this->skelAnime.animation != &D_04002C90) || (4.0f <= this->skelAnime.animCurrentFrame)) {
+ if ((this->skelAnime.animation != &D_04002C90) || (4.0f <= this->skelAnime.curFrame)) {
this->actor.gravity = 0.0f;
Math_ScaledStepToS(&this->actor.shape.rot.x, this->actor.posRot.rot.x, 0x800);
func_8083264C(this, 100, 2, 100, 0);
@@ -12918,17 +12913,19 @@ void func_80850C68(Player* this, GlobalContext* globalCtx) {
if ((this->unk_850 != 0) && ((this->unk_858 != 0.0f) || (this->unk_85C != 0.0f))) {
f32 updateScale = R_UPDATE_RATE * 0.5f;
- this->skelAnime.animCurrentFrame += this->skelAnime.animPlaybackSpeed * updateScale;
- if (this->skelAnime.animCurrentFrame >= this->skelAnime.totalFrames) {
- this->skelAnime.animCurrentFrame -= this->skelAnime.totalFrames;
+ this->skelAnime.curFrame += this->skelAnime.playSpeed * updateScale;
+ if (this->skelAnime.curFrame >= this->skelAnime.animLength) {
+ this->skelAnime.curFrame -= this->skelAnime.animLength;
}
- func_800A431C(globalCtx, &this->skelAnime, &D_04002C38, this->skelAnime.animCurrentFrame,
- (this->unk_858 < 0.0f) ? &D_04002C18 : &D_04002C20, 5.0f, fabsf(this->unk_858), this->unk_318);
- func_800A43B8(globalCtx, &this->skelAnime, &D_04002C38, this->skelAnime.animCurrentFrame,
- (this->unk_85C < 0.0f) ? &D_04002C28 : &D_04002C10, 5.0f, fabsf(this->unk_85C), D_80858AD8);
- func_800A42E4(globalCtx, &this->skelAnime, 0.5f);
- } else if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ LinkAnimation_BlendToJoint(globalCtx, &this->skelAnime, &D_04002C38, this->skelAnime.curFrame,
+ (this->unk_858 < 0.0f) ? &D_04002C18 : &D_04002C20, 5.0f, fabsf(this->unk_858),
+ this->blendTable);
+ LinkAnimation_BlendToMorph(globalCtx, &this->skelAnime, &D_04002C38, this->skelAnime.curFrame,
+ (this->unk_85C < 0.0f) ? &D_04002C28 : &D_04002C10, 5.0f, fabsf(this->unk_85C),
+ D_80858AD8);
+ LinkAnimation_InterpJointMorph(globalCtx, &this->skelAnime, 0.5f);
+ } else if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
this->unk_860 = 2;
func_80832284(globalCtx, this, &D_04002C38);
this->unk_850 = 1;
@@ -12945,7 +12942,7 @@ void func_80850C68(Player* this, GlobalContext* globalCtx) {
}
void func_80850E84(Player* this, GlobalContext* globalCtx) {
- if (func_800A3BC0(globalCtx, &this->skelAnime) && (this->unk_860 == 0)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime) && (this->unk_860 == 0)) {
func_8083A098(this, &D_04002C08, globalCtx);
}
}
@@ -13027,14 +13024,14 @@ void func_80850ED8(GlobalContext* globalCtx, Player* this, LinkAnimationHeader*
void func_80850F1C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
func_80832DB0(this);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f), 0.0f, SkelAnime_GetFrameCount(anim), 2,
- -8.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f), 0.0f, Animation_GetLastFrame(anim), 2,
+ -8.0f);
func_80832210(this);
}
void func_80850F9C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) {
func_80832DB0(this);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f), 0.0f, 0.0f, 0, -8.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f), 0.0f, 0.0f, 0, -8.0f);
func_80832210(this);
}
@@ -13093,32 +13090,32 @@ void func_808511B4(GlobalContext* globalCtx, Player* this, void* anim) {
}
void func_808511D4(GlobalContext* globalCtx, Player* this, void* anim) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
}
void func_808511FC(GlobalContext* globalCtx, Player* this, void* anim) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80850F9C(globalCtx, this, anim);
this->unk_850 = 1;
}
}
void func_80851248(GlobalContext* globalCtx, Player* this, void* anim) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832DBC(this);
func_808322A4(globalCtx, this, anim);
}
}
void func_80851294(GlobalContext* globalCtx, Player* this, void* anim) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_8083313C(globalCtx, this, anim);
this->unk_850 = 1;
}
}
void func_808512E0(GlobalContext* globalCtx, Player* this, void* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_80832924(this, arg2);
}
@@ -13156,7 +13153,7 @@ void func_808513BC(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
return;
}
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
if (this->unk_84F == 1) {
func_80832C6C(globalCtx, this, &D_04003328);
} else {
@@ -13176,7 +13173,7 @@ void func_808514C0(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
return;
}
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
if (func_8008F128(this) || (this->stateFlags1 & 0x800)) {
func_80836670(this, globalCtx);
@@ -13189,7 +13186,7 @@ void func_808514C0(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_8085157C(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
}
void func_808515A4(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
@@ -13206,8 +13203,8 @@ void func_808515A4(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
func_80832264(globalCtx, this, anim);
} else {
func_80832DB0(this);
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f), 0.0f, SkelAnime_GetFrameCount(anim),
- 0, -4.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f), 0.0f, Animation_GetLastFrame(anim), 0,
+ -4.0f);
}
func_80832210(this);
@@ -13225,7 +13222,7 @@ void func_80851688(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
return;
}
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
if (func_8008F128(this) || (this->stateFlags1 & 0x800)) {
func_80836670(this, globalCtx);
@@ -13239,7 +13236,7 @@ struct_80832924 D_80855188[] = {
};
void func_80851750(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_80832924(this, D_80855188);
}
@@ -13287,7 +13284,7 @@ void func_8085190C(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
func_80851314(this);
if (this->unk_850 != 0) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80832284(globalCtx, this, func_808334E4(this));
this->unk_850 = 0;
}
@@ -13335,10 +13332,10 @@ void func_80851A50(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
struct_808551A4* sp2C;
Gfx** dLists;
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
- if (((LINK_IS_ADULT) && func_800A4530(&this->skelAnime, 70.0f)) ||
- ((LINK_IS_CHILD) && func_800A4530(&this->skelAnime, 87.0f))) {
+ if (((LINK_IS_ADULT) && LinkAnimation_OnFrame(&this->skelAnime, 70.0f)) ||
+ ((LINK_IS_CHILD) && LinkAnimation_OnFrame(&this->skelAnime, 87.0f))) {
sp2C = &D_808551A4[gSaveContext.linkAge];
this->interactRangeActor->parent = &this->actor;
@@ -13354,7 +13351,7 @@ void func_80851A50(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
func_80832698(this, sp2C->unk_02);
}
} else if (LINK_IS_ADULT) {
- if (func_800A4530(&this->skelAnime, 66.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 66.0f)) {
func_80832698(this, NA_SE_VO_LI_SWORD_L);
}
} else {
@@ -13363,7 +13360,7 @@ void func_80851A50(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_80851B90(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04002860, -(2.0f / 3.0f), 12.0f, 12.0f, 2, 0.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, &D_04002860, -(2.0f / 3.0f), 12.0f, 12.0f, 2, 0.0f);
}
struct_80832924 D_808551B4[] = {
@@ -13371,21 +13368,21 @@ struct_80832924 D_808551B4[] = {
};
void func_80851BE8(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
this->unk_850++;
if (this->unk_850 >= 180) {
if (this->unk_850 == 180) {
- SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04003298, (2.0f / 3.0f), 10.0f,
- SkelAnime_GetFrameCount(&D_04003298), 2, -8.0f);
+ LinkAnimation_Change(globalCtx, &this->skelAnime, &D_04003298, (2.0f / 3.0f), 10.0f,
+ Animation_GetLastFrame(&D_04003298), 2, -8.0f);
}
func_80832924(this, D_808551B4);
}
}
void func_80851CA4(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- if (func_800A3BC0(globalCtx, &this->skelAnime) && (this->unk_850 == 0) && (this->actor.bgCheckFlags & 1)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime) && (this->unk_850 == 0) && (this->actor.bgCheckFlags & 1)) {
func_80832264(globalCtx, this, &D_04002DB8);
this->unk_850 = 1;
}
@@ -13406,9 +13403,9 @@ struct_80832924 D_808551B8[] = {
};
void func_80851D80(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
- if (func_800A4530(&this->skelAnime, 6.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 6.0f)) {
func_80846720(globalCtx, this, 0);
} else {
func_80832924(this, D_808551B8);
@@ -13416,12 +13413,12 @@ void func_80851D80(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_80851DEC(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
Math_StepToS(&this->actor.shape.unk_06, 0, 1);
}
void func_80851E28(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
Math_StepToS(&this->actor.shape.unk_06, 2, 1);
}
@@ -13435,13 +13432,13 @@ void func_80851E90(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_80851ECC(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_808330EC(globalCtx, this, &D_04002428, 0x9C);
}
}
void func_80851F14(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, struct_80832924* arg3) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_808322A4(globalCtx, this, anim);
this->unk_850 = 1;
} else if (this->unk_850 == 0) {
@@ -13461,12 +13458,12 @@ struct_80832924 D_808551BC[] = {
};
void func_80851FB0(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_808330EC(globalCtx, this, &D_04002430, 0x9C);
this->unk_850 = 1;
} else if (this->unk_850 == 0) {
func_80832924(this, D_808551BC);
- if (func_800A4530(&this->skelAnime, 240.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 240.0f)) {
this->actor.shape.shadowDrawFunc = ActorShadow_DrawFunc_Teardrop;
}
}
@@ -13480,7 +13477,7 @@ struct_80832924 D_808551C8[] = {
};
void func_80852048(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_80832924(this, D_808551C8);
}
@@ -13510,7 +13507,7 @@ struct_80832924 D_808551D8[] = {
void func_80852174(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
func_808520BC(globalCtx, this, arg2);
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
func_80832924(this, D_808551D8);
}
@@ -13518,7 +13515,7 @@ void func_808521B8(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
if (arg2 != NULL) {
func_808520BC(globalCtx, this, arg2);
}
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
}
void func_808521F4(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
@@ -13527,7 +13524,7 @@ void func_808521F4(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_80852234(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
}
void func_8085225C(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
@@ -13539,11 +13536,11 @@ void func_80852280(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_80852298(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_8083313C(globalCtx, this, &D_04002378);
this->unk_850 = 1;
} else if (this->unk_850 == 0) {
- if (func_800A4530(&this->skelAnime, 10.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 10.0f)) {
func_80846720(globalCtx, this, 1);
}
}
@@ -13568,7 +13565,7 @@ void func_80852358(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_80852388(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_808322A4(globalCtx, this, &D_04002468);
this->unk_850 = 1;
}
@@ -13649,9 +13646,9 @@ void func_80852608(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_80852648(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- func_800A3BC0(globalCtx, &this->skelAnime);
+ LinkAnimation_Update(globalCtx, &this->skelAnime);
- if (func_800A4530(&this->skelAnime, 10.0f)) {
+ if (LinkAnimation_OnFrame(&this->skelAnime, 10.0f)) {
this->heldItemActionParam = this->itemActionParam = PLAYER_AP_NONE;
this->heldItemId = ITEM_NONE;
this->modelGroup = this->nextModelGroup = Player_ActionToModelGroup(this, PLAYER_AP_NONE);
@@ -13700,7 +13697,7 @@ void func_808526EC(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_8085283C(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
func_80852944(globalCtx, this, arg2);
} else if (this->unk_850 == 0) {
Item_Give(globalCtx, ITEM_SWORD_MASTER);
@@ -13711,8 +13708,8 @@ void func_8085283C(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
void func_808528C8(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) {
- if (func_800A3BC0(globalCtx, &this->skelAnime)) {
- func_8084285C(this, 0.0f, 99.0f, this->skelAnime.animFrameCount - 8.0f);
+ if (LinkAnimation_Update(globalCtx, &this->skelAnime)) {
+ func_8084285C(this, 0.0f, 99.0f, this->skelAnime.endFrame - 8.0f);
}
if (this->heldItemActionParam != PLAYER_AP_SWORD_MASTER) {
@@ -13756,7 +13753,7 @@ void func_80852A54(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
func_808529D0(globalCtx, this, arg2);
}
- this->skelAnime.flags = 0;
+ this->skelAnime.moveFlags = 0;
func_80832DB0(this);
}
@@ -13767,8 +13764,8 @@ void func_80852B4C(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
arg3->func(globalCtx, this, arg2);
}
- if ((D_80858AA0 & 4) && !(this->skelAnime.flags & 4)) {
- this->skelAnime.transitionDrawTbl[0].y /= this->ageProperties->unk_08;
+ if ((D_80858AA0 & 4) && !(this->skelAnime.moveFlags & 4)) {
+ this->skelAnime.morphTable[0].y /= this->ageProperties->unk_08;
D_80858AA0 = 0;
}
}
@@ -13806,7 +13803,7 @@ void func_80852C50(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
}
}
- D_80858AA0 = this->skelAnime.flags;
+ D_80858AA0 = this->skelAnime.moveFlags;
func_80832DBC(this);
osSyncPrintf("TOOL MODE=%d\n", sp24);
@@ -13824,7 +13821,7 @@ void func_80852C50(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg
void func_80852E14(Player* this, GlobalContext* globalCtx) {
if (this->csMode != this->prevCsMode) {
- D_80858AA0 = this->skelAnime.flags;
+ D_80858AA0 = this->skelAnime.moveFlags;
func_80832DBC(this);
this->prevCsMode = this->csMode;
diff --git a/tools/ZAP2 b/tools/ZAP2
index 8033e46c02..73dcb0371a 160000
--- a/tools/ZAP2
+++ b/tools/ZAP2
@@ -1 +1 @@
-Subproject commit 8033e46c02c70fcd48cbafc6256dd7f3f1bd11a4
+Subproject commit 73dcb0371a4d47acdc5151119f8af9596a803587
diff --git a/tools/animfixer.py b/tools/animfixer.py
new file mode 100644
index 0000000000..4e918fcf5b
--- /dev/null
+++ b/tools/animfixer.py
@@ -0,0 +1,76 @@
+#!/usr/bin/env python3
+
+import os
+import argparse
+
+animdict ={
+ "SkelAnime_FrameUpdateMatrix":"SkelAnime_Update",
+ "SkelAnime_ChangeAnimTransitionRepeat":"Animation_MorphToLoop",
+ "SkelAnime_ChangeAnimDefaultRepeat":"Animation_PlayLoop",
+ "SkelAnime_ChangeAnimPlaybackRepeat":"Animation_PlayLoopSetSpeed",
+ "SkelAnime_ChangeAnimTransitionStop":"Animation_MorphToPlayOnce",
+ "SkelAnime_ChangeAnimDefaultStop":"Animation_PlayOnce",
+ "SkelAnime_ChangeAnimPlaybackStop":"Animation_PlayOnceSetSpeed",
+ "SkelAnime_ChangeAnimImpl":"Animation_ChangeImpl",
+ "SkelAnime_ChangeAnim":"Animation_Change",
+ "SkelAnime_GetFrameCount":"Animation_GetLastFrame",
+ "func_800A56C8":"Animation_OnFrame",
+ "skelAnime.animCurrentFrame":"skelAnime.curFrame",
+ "skelAnime.animPlaybackSpeed":"skelAnime.playSpeed",
+ "skelAnime.initialFrame":"skelAnime.startFrame",
+ "skelAnime.animFrameCount":"skelAnime.endFrame",
+ "skelAnime.totalFrames":"skelAnime.animLength",
+ "skelAnime.limbDrawTbl":"skelAnime.jointTable",
+ "skelAnime.transitionDrawTbl":"skelAnime.morphTable",
+ "skelAnime.transCurrentFrame":"skelAnime.morphWeight",
+ "skelAnime.transitionStep":"skelAnime.morphRate",
+ "skelAnime.flags":"skelAnime.moveFlags",
+ "skelAnime.prevFrameRot":"skelAnime.prevRot",
+ "skelAnime.prevFramePos":"skelAnime.prevTransl",
+ "skelAnime.unk_3E":"skelAnime.baseTransl",
+ "skelAnime.unk_03":"skelAnime.taper"
+}
+
+def replace_anim(file):
+ with open(file,'r',encoding = 'utf-8') as infile:
+ srcdata = infile.read()
+
+ funcs = list(animdict.keys())
+ fixes = 0
+ for func in funcs:
+ newfunc = animdict.get(func)
+ if(newfunc is None):
+ print("How did this happen?")
+ return -1
+ if(func in srcdata):
+ fixes += 1
+ srcdata = srcdata.replace(func, newfunc)
+
+ if(fixes > 0):
+ print('Changed', fixes,'entr' + ('y' if fixes == 1 else 'ies') + ' in',file)
+ with open(file, 'w', encoding = 'utf-8', newline = '\n') as outfile:
+ outfile.write(srcdata)
+ return 1
+
+def replace_anim_all(repo):
+ for subdir, dirs, files in os.walk(repo + os.sep + 'src'):
+ for filename in files:
+ if(filename.endswith('.c')):
+ file = subdir + os.sep + filename
+ replace_anim(file)
+ for subdir, dirs, files in os.walk(repo + os.sep + 'asm' + os.sep + 'non_matchings'):
+ for filename in files:
+ if(filename.endswith('.s')):
+ file = subdir + os.sep + filename
+ replace_anim(file)
+ return 1
+
+parser = argparse.ArgumentParser(description='Update to the new animation names')
+parser.add_argument('file', help="source file to be processed. use '.' to process the whole repo", default = None)
+
+if __name__ == "__main__":
+ args = parser.parse_args()
+ if(args.file is '.'):
+ replace_anim_all(os.curdir)
+ else:
+ replace_anim(args.file)
\ No newline at end of file