diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/BgDyYoseizo_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/BgDyYoseizo_Init.s index e059df0858..96869dfa03 100644 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/BgDyYoseizo_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/BgDyYoseizo_Init.s @@ -57,7 +57,7 @@ glabel BgDyYoseizo_Init /* 000AC 808728DC 24E78698 */ addiu $a3, $a3, 0x8698 ## $a3 = 06008698 /* 000B0 808728E0 24C6C450 */ addiu $a2, $a2, 0xC450 ## $a2 = 0601C450 /* 000B4 808728E4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 000B8 808728E8 0C0291BE */ jal SkelAnime_InitSV +/* 000B8 808728E8 0C0291BE */ jal SkelAnime_InitFlex /* 000BC 808728EC 26050150 */ addiu $a1, $s0, 0x0150 ## $a1 = 00000150 /* 000C0 808728F0 10000010 */ beq $zero, $zero, .L80872934 /* 000C4 808728F4 00000000 */ nop @@ -76,7 +76,7 @@ glabel BgDyYoseizo_Init /* 000F0 80872920 24E731C0 */ addiu $a3, $a3, 0x31C0 ## $a3 = 060031C0 /* 000F4 80872924 24C6C450 */ addiu $a2, $a2, 0xC450 ## $a2 = 0601C450 /* 000F8 80872928 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 000FC 8087292C 0C0291BE */ jal SkelAnime_InitSV +/* 000FC 8087292C 0C0291BE */ jal SkelAnime_InitFlex /* 00100 80872930 26050150 */ addiu $a1, $s0, 0x0150 ## $a1 = 00000150 .L80872934: /* 00104 80872934 3C0F8087 */ lui $t7, %hi(func_80872D20) ## $t7 = 80870000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80874BE0.s b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80874BE0.s index 2d4c12cc62..4b2985eb73 100644 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80874BE0.s +++ b/asm/non_matchings/overlays/actors/ovl_Bg_Dy_Yoseizo/func_80874BE0.s @@ -104,7 +104,7 @@ glabel func_80874BE0 /* 02520 80874D50 AFB80010 */ sw $t8, 0x0010($sp) /* 02524 80874D54 AFB00018 */ sw $s0, 0x0018($sp) /* 02528 80874D58 AFA00014 */ sw $zero, 0x0014($sp) -/* 0252C 80874D5C 0C0286B2 */ jal SkelAnime_DrawSV +/* 0252C 80874D5C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 02530 80874D60 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 .L80874D64: /* 02534 80874D64 3C068087 */ lui $a2, %hi(D_80875620) ## $a2 = 80870000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/BossDodongo_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/BossDodongo_Draw.s index fc43c2442a..b3f3c320c3 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/BossDodongo_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Dodongo/BossDodongo_Draw.s @@ -195,7 +195,7 @@ glabel BossDodongo_Draw /* 03D80 808C4F10 24E74940 */ addiu $a3, $a3, %lo(func_808C4940) ## $a3 = 808C4940 /* 03D84 808C4F14 AFB00014 */ sw $s0, 0x0014($sp) /* 03D88 808C4F18 AFAF0010 */ sw $t7, 0x0010($sp) -/* 03D8C 808C4F1C 0C028572 */ jal SkelAnime_Draw +/* 03D8C 808C4F1C 0C028572 */ jal SkelAnime_DrawOpa /* 03D90 808C4F20 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 /* 03D94 808C4F24 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 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 558f4c6445..ca33094e74 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 @@ -251,7 +251,7 @@ glabel func_808D08F8 /* 05DE8 808D0BA8 24E700A4 */ addiu $a3, $a3, %lo(func_808D00A4) ## $a3 = 808D00A4 /* 05DEC 808D0BAC AFB30014 */ sw $s3, 0x0014($sp) /* 05DF0 808D0BB0 AFA00010 */ sw $zero, 0x0010($sp) -/* 05DF4 808D0BB4 0C028572 */ jal SkelAnime_Draw +/* 05DF4 808D0BB4 0C028572 */ jal SkelAnime_DrawOpa /* 05DF8 808D0BB8 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 /* 05DFC 808D0BBC 0C034221 */ jal Matrix_Pull @@ -309,7 +309,7 @@ glabel func_808D08F8 /* 05EC8 808D0C88 24E701C0 */ addiu $a3, $a3, %lo(func_808D01C0) ## $a3 = 808D01C0 /* 05ECC 808D0C8C AFB30014 */ sw $s3, 0x0014($sp) /* 05ED0 808D0C90 AFA00010 */ sw $zero, 0x0010($sp) -/* 05ED4 808D0C94 0C028572 */ jal SkelAnime_Draw +/* 05ED4 808D0C94 0C028572 */ jal SkelAnime_DrawOpa /* 05ED8 808D0C98 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 /* 05EDC 808D0C9C 0C034221 */ jal Matrix_Pull @@ -707,7 +707,7 @@ glabel func_808D08F8 /* 064C4 808D1284 24E707A4 */ addiu $a3, $a3, %lo(func_808D07A4) ## $a3 = 808D07A4 /* 064C8 808D1288 AFB30014 */ sw $s3, 0x0014($sp) /* 064CC 808D128C AFAC0010 */ sw $t4, 0x0010($sp) -/* 064D0 808D1290 0C028572 */ jal SkelAnime_Draw +/* 064D0 808D1290 0C028572 */ jal SkelAnime_DrawOpa /* 064D4 808D1294 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 /* 064D8 808D1298 3C04808D */ lui $a0, %hi(D_808D1E2C) ## $a0 = 808D0000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Draw.s index e6a92dfac3..d5820658f8 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Fd2/BossFd2_Draw.s @@ -144,7 +144,7 @@ glabel BossFd2_Draw /* 038D8 808D5F48 AFAF0010 */ sw $t7, 0x0010($sp) /* 038DC 808D5F4C AFB80014 */ sw $t8, 0x0014($sp) /* 038E0 808D5F50 AFB10018 */ sw $s1, 0x0018($sp) -/* 038E4 808D5F54 0C0286B2 */ jal SkelAnime_DrawSV +/* 038E4 808D5F54 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 038E8 808D5F58 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 /* 038EC 808D5F5C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 038F0 808D5F60 0C235638 */ jal func_808D58E0 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 6131a1991a..98dd9754ae 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 @@ -40,7 +40,7 @@ glabel BossFd2_Init /* 004A8 808D2B18 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 004AC 808D2B1C AFA00010 */ sw $zero, 0x0010($sp) /* 004B0 808D2B20 AFA00014 */ sw $zero, 0x0014($sp) -/* 004B4 808D2B24 0C0291BE */ jal SkelAnime_InitSV +/* 004B4 808D2B24 0C0291BE */ jal SkelAnime_InitFlex /* 004B8 808D2B28 AFA00018 */ sw $zero, 0x0018($sp) /* 004BC 808D2B2C 860E001C */ lh $t6, 0x001C($s0) ## 0000001C /* 004C0 808D2B30 3C0F808D */ lui $t7, %hi(func_808D4748) ## $t7 = 808D0000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/BossGanon_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/BossGanon_Draw.s index f78578eb48..b56f20fd4d 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/BossGanon_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/BossGanon_Draw.s @@ -79,7 +79,7 @@ glabel BossGanon_Draw /* 0A56C 808E0DDC AFA80014 */ sw $t0, 0x0014($sp) /* 0A570 808E0DE0 AFB90010 */ sw $t9, 0x0010($sp) /* 0A574 808E0DE4 AFB00018 */ sw $s0, 0x0018($sp) -/* 0A578 808E0DE8 0C0286B2 */ jal SkelAnime_DrawSV +/* 0A578 808E0DE8 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0A57C 808E0DEC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 0A580 808E0DF0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 /* 0A584 808E0DF4 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/BossGanon_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/BossGanon_Init.s index b0b518d784..f9994290df 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/BossGanon_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon/BossGanon_Init.s @@ -73,7 +73,7 @@ glabel BossGanon_Init /* 009F8 808D7268 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 009FC 808D726C AFA00010 */ sw $zero, 0x0010($sp) /* 00A00 808D7270 AFA00014 */ sw $zero, 0x0014($sp) -/* 00A04 808D7274 0C0291BE */ jal SkelAnime_InitSV +/* 00A04 808D7274 0C0291BE */ jal SkelAnime_InitFlex /* 00A08 808D7278 AFA00018 */ sw $zero, 0x0018($sp) /* 00A0C 808D727C 26050610 */ addiu $a1, $s0, 0x0610 ## $a1 = 00000610 /* 00A10 808D7280 AFA50044 */ sw $a1, 0x0044($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/BossGanon2_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/BossGanon2_Draw.s index 9a4e275fe5..85a3ca3a4c 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/BossGanon2_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/BossGanon2_Draw.s @@ -93,7 +93,7 @@ glabel BossGanon2_Draw /* 08ADC 80905A1C 8E050150 */ lw $a1, 0x0150($s0) ## 00000150 /* 08AE0 80905A20 AFB00018 */ sw $s0, 0x0018($sp) /* 08AE4 80905A24 AFAC0014 */ sw $t4, 0x0014($sp) -/* 08AE8 80905A28 0C0286B2 */ jal SkelAnime_DrawSV +/* 08AE8 80905A28 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 08AEC 80905A2C AFA00010 */ sw $zero, 0x0010($sp) /* 08AF0 80905A30 1000007B */ beq $zero, $zero, .L80905C20 /* 08AF4 80905A34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 @@ -205,7 +205,7 @@ glabel BossGanon2_Draw /* 08C90 80905BD0 AFAA0010 */ sw $t2, 0x0010($sp) /* 08C94 80905BD4 AFAB0014 */ sw $t3, 0x0014($sp) /* 08C98 80905BD8 AFB00018 */ sw $s0, 0x0018($sp) -/* 08C9C 80905BDC 0C0286B2 */ jal SkelAnime_DrawSV +/* 08C9C 80905BDC 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 08CA0 80905BE0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 08CA4 80905BE4 8FB90068 */ lw $t9, 0x0068($sp) /* 08CA8 80905BE8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/BossGanon2_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/BossGanon2_Init.s index df650efa5f..310814c25c 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/BossGanon2_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganon2/BossGanon2_Init.s @@ -62,7 +62,7 @@ glabel BossGanon2_Init /* 00508 808FD448 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 0050C 808FD44C AFA00010 */ sw $zero, 0x0010($sp) /* 00510 808FD450 AFA00014 */ sw $zero, 0x0014($sp) -/* 00514 808FD454 0C0291BE */ jal SkelAnime_InitSV +/* 00514 808FD454 0C0291BE */ jal SkelAnime_InitFlex /* 00518 808FD458 AFA00018 */ sw $zero, 0x0018($sp) /* 0051C 808FD45C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 00520 808FD460 0C23F571 */ jal func_808FD5C4 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 5bf54a094a..10a3ab5466 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 @@ -1374,7 +1374,7 @@ glabel L808FE63C /* 01960 808FE8A0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 01964 808FE8A4 AFA00010 */ sw $zero, 0x0010($sp) /* 01968 808FE8A8 AFA00014 */ sw $zero, 0x0014($sp) -/* 0196C 808FE8AC 0C0291BE */ jal SkelAnime_InitSV +/* 0196C 808FE8AC 0C0291BE */ jal SkelAnime_InitFlex /* 01970 808FE8B0 AFA00018 */ sw $zero, 0x0018($sp) /* 01974 808FE8B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 01978 808FE8B8 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/BossGanondrof_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/BossGanondrof_Draw.s index 0e23c57c32..76e4bcdbb1 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/BossGanondrof_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Ganondrof/BossGanondrof_Draw.s @@ -315,7 +315,7 @@ glabel BossGanondrof_Draw /* 045F4 80914C34 24E742E0 */ addiu $a3, $a3, %lo(func_809142E0) ## $a3 = 809142E0 /* 045F8 80914C38 AFB10014 */ sw $s1, 0x0014($sp) /* 045FC 80914C3C AFAD0010 */ sw $t5, 0x0010($sp) -/* 04600 80914C40 0C028572 */ jal SkelAnime_Draw +/* 04600 80914C40 0C028572 */ jal SkelAnime_DrawOpa /* 04604 80914C44 8FA40064 */ lw $a0, 0x0064($sp) /* 04608 80914C48 3C048091 */ lui $a0, %hi(D_809153D8) ## $a0 = 80910000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/BossGoma_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/BossGoma_Draw.s index ad58b3f76e..59de75de39 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Goma/BossGoma_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Goma/BossGoma_Draw.s @@ -68,7 +68,7 @@ glabel BossGoma_Draw /* 05358 8091AD68 AFAB0010 */ sw $t3, 0x0010($sp) /* 0535C 8091AD6C 24E7A560 */ addiu $a3, $a3, %lo(func_8091A560) ## $a3 = 8091A560 /* 05360 8091AD70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 05364 8091AD74 0C028572 */ jal SkelAnime_Draw +/* 05364 8091AD74 0C028572 */ jal SkelAnime_DrawOpa /* 05368 8091AD78 AFAA0014 */ sw $t2, 0x0014($sp) /* 0536C 8091AD7C 3C068092 */ lui $a2, %hi(D_8091B4C8) ## $a2 = 80920000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/BossSst_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/BossSst_Draw.s index 808616c5bd..e50bb47d47 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/BossSst_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/BossSst_Draw.s @@ -106,7 +106,7 @@ glabel BossSst_Draw /* 081F8 809347C8 AFA80010 */ sw $t0, 0x0010($sp) /* 081FC 809347CC AFAC0014 */ sw $t4, 0x0014($sp) /* 08200 809347D0 AFB30018 */ sw $s3, 0x0018($sp) -/* 08204 809347D4 0C0286B2 */ jal SkelAnime_DrawSV +/* 08204 809347D4 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 08208 809347D8 8FA400CC */ lw $a0, 0x00CC($sp) /* 0820C 809347DC 866D09D2 */ lh $t5, 0x09D2($s3) ## 000009D2 /* 08210 809347E0 8FAF00CC */ lw $t7, 0x00CC($sp) @@ -226,7 +226,7 @@ glabel BossSst_Draw /* 083C4 80934994 AFAF0010 */ sw $t7, 0x0010($sp) /* 083C8 80934998 8E8A02D0 */ lw $t2, 0x02D0($s4) ## 000002D0 /* 083CC 8093499C 8FA400CC */ lw $a0, 0x00CC($sp) -/* 083D0 809349A0 0C0289CF */ jal SkelAnime_DrawSV2 +/* 083D0 809349A0 0C0289CF */ jal SkelAnime_DrawFlex /* 083D4 809349A4 AFAA001C */ sw $t2, 0x001C($sp) /* 083D8 809349A8 AE8202D0 */ sw $v0, 0x02D0($s4) ## 000002D0 .L809349AC: 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 087a645cc1..ea90c5eb96 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 @@ -72,7 +72,7 @@ glabel BossSst_Init /* 000E4 8092C6B4 24E7E7B8 */ addiu $a3, $a3, 0xE7B8 ## $a3 = 0600E7B8 /* 000E8 8092C6B8 24C67C40 */ addiu $a2, $a2, 0x7C40 ## $a2 = 06017C40 /* 000EC 8092C6BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 000F0 8092C6C0 0C0291BE */ jal SkelAnime_InitSV +/* 000F0 8092C6C0 0C0291BE */ jal SkelAnime_InitFlex /* 000F4 8092C6C4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 000F8 8092C6C8 3C054788 */ lui $a1, 0x4788 ## $a1 = 47880000 /* 000FC 8092C6CC 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) @@ -268,7 +268,7 @@ glabel BossSst_Init /* 003C4 8092C994 24E702E8 */ addiu $a3, $a3, 0x02E8 ## $a3 = 060002E8 /* 003C8 8092C998 24C64DE0 */ addiu $a2, $a2, 0x4DE0 ## $a2 = 06004DE0 /* 003CC 8092C99C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 003D0 8092C9A0 0C0291BE */ jal SkelAnime_InitSV +/* 003D0 8092C9A0 0C0291BE */ jal SkelAnime_InitFlex /* 003D4 8092C9A4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 003D8 8092C9A8 8E0303F0 */ lw $v1, 0x03F0($s0) ## 000003F0 /* 003DC 8092C9AC 2404FFFF */ addiu $a0, $zero, 0xFFFF ## $a0 = FFFFFFFF @@ -288,7 +288,7 @@ glabel BossSst_Init /* 00410 8092C9E0 AFAB0014 */ sw $t3, 0x0014($sp) /* 00414 8092C9E4 AFAA0010 */ sw $t2, 0x0010($sp) /* 00418 8092C9E8 24E75860 */ addiu $a3, $a3, 0x5860 ## $a3 = 06005860 -/* 0041C 8092C9EC 0C0291BE */ jal SkelAnime_InitSV +/* 0041C 8092C9EC 0C0291BE */ jal SkelAnime_InitFlex /* 00420 8092C9F0 24C6A350 */ addiu $a2, $a2, 0xA350 ## $a2 = FFFFA350 /* 00424 8092C9F4 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 /* 00428 8092C9F8 A20D0194 */ sb $t5, 0x0194($s0) ## 00000194 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809352DC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809352DC.s index 652218f397..b0a002c62c 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809352DC.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809352DC.s @@ -191,7 +191,7 @@ glabel func_809352DC /* 08F80 80935550 AFB10018 */ sw $s1, 0x0018($sp) /* 08F84 80935554 8E0C02C0 */ lw $t4, 0x02C0($s0) ## 000002C0 /* 08F88 80935558 8FA400A4 */ lw $a0, 0x00A4($sp) -/* 08F8C 8093555C 0C0289CF */ jal SkelAnime_DrawSV2 +/* 08F8C 8093555C 0C0289CF */ jal SkelAnime_DrawFlex /* 08F90 80935560 AFAC001C */ sw $t4, 0x001C($sp) /* 08F94 80935564 1000000E */ beq $zero, $zero, .L809355A0 /* 08F98 80935568 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 @@ -206,7 +206,7 @@ glabel func_809352DC /* 08FB8 80935588 AFA80010 */ sw $t0, 0x0010($sp) /* 08FBC 8093558C 8E0902D0 */ lw $t1, 0x02D0($s0) ## 000002D0 /* 08FC0 80935590 8FA400A4 */ lw $a0, 0x00A4($sp) -/* 08FC4 80935594 0C0289CF */ jal SkelAnime_DrawSV2 +/* 08FC4 80935594 0C0289CF */ jal SkelAnime_DrawFlex /* 08FC8 80935598 AFA9001C */ sw $t1, 0x001C($sp) /* 08FCC 8093559C AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 .L809355A0: diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/BossTw_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/BossTw_Draw.s index 7f57b0f221..27f3a4a547 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/BossTw_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/BossTw_Draw.s @@ -352,7 +352,7 @@ glabel BossTw_Draw /* 0AAB0 80943780 AFB80010 */ sw $t8, 0x0010($sp) /* 0AAB4 80943784 AFB90014 */ sw $t9, 0x0014($sp) /* 0AAB8 80943788 AFB00018 */ sw $s0, 0x0018($sp) -/* 0AABC 8094378C 0C0286B2 */ jal SkelAnime_DrawSV +/* 0AABC 8094378C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0AAC0 80943790 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 /* 0AAC4 80943794 0C034221 */ jal Matrix_Pull /* 0AAC8 80943798 00000000 */ nop 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 236b7ad0f9..4b548aa1ec 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 @@ -281,7 +281,7 @@ glabel BossTw_Init /* 00DE4 80939AB4 AFA00018 */ sw $zero, 0x0018($sp) /* 00DE8 80939AB8 AFA00014 */ sw $zero, 0x0014($sp) /* 00DEC 80939ABC AFA00010 */ sw $zero, 0x0010($sp) -/* 00DF0 80939AC0 0C0291BE */ jal SkelAnime_InitSV +/* 00DF0 80939AC0 0C0291BE */ jal SkelAnime_InitFlex /* 00DF4 80939AC4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00DF8 80939AC8 3C0F8016 */ lui $t7, %hi(gSaveContext+0xee2) /* 00DFC 80939ACC 95EFF542 */ lhu $t7, %lo(gSaveContext+0xee2)($t7) @@ -337,7 +337,7 @@ glabel BossTw_Init /* 00EB0 80939B80 AFA00018 */ sw $zero, 0x0018($sp) /* 00EB4 80939B84 AFA00014 */ sw $zero, 0x0014($sp) /* 00EB8 80939B88 AFA00010 */ sw $zero, 0x0010($sp) -/* 00EBC 80939B8C 0C0291BE */ jal SkelAnime_InitSV +/* 00EBC 80939B8C 0C0291BE */ jal SkelAnime_InitFlex /* 00EC0 80939B90 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00EC4 80939B94 3C0F8016 */ lui $t7, %hi(gSaveContext+0xee2) /* 00EC8 80939B98 95EFF542 */ lhu $t7, %lo(gSaveContext+0xee2)($t7) @@ -394,7 +394,7 @@ glabel BossTw_Init /* 00F84 80939C54 AFA00018 */ sw $zero, 0x0018($sp) /* 00F88 80939C58 AFA00014 */ sw $zero, 0x0014($sp) /* 00F8C 80939C5C AFA00010 */ sw $zero, 0x0010($sp) -/* 00F90 80939C60 0C0291BE */ jal SkelAnime_InitSV +/* 00F90 80939C60 0C0291BE */ jal SkelAnime_InitFlex /* 00F94 80939C64 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00F98 80939C68 3C050602 */ lui $a1, 0x0602 ## $a1 = 06020000 /* 00F9C 80939C6C 24A544B4 */ addiu $a1, $a1, 0x44B4 ## $a1 = 060244B4 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80945084.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80945084.s index 0f4648d193..4c04c07945 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80945084.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_80945084.s @@ -184,7 +184,7 @@ glabel func_80945084 /* 0C638 80945308 AFB80010 */ sw $t8, 0x0010($sp) /* 0C63C 8094530C AFB90014 */ sw $t9, 0x0014($sp) /* 0C640 80945310 AFB00018 */ sw $s0, 0x0018($sp) -/* 0C644 80945314 0C0286B2 */ jal SkelAnime_DrawSV +/* 0C644 80945314 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0C648 80945318 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 0C64C 8094531C 0C034221 */ jal Matrix_Pull /* 0C650 80945320 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/BossVa_Draw.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/BossVa_Draw.s index d6f06c0604..6016e68832 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/BossVa_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/BossVa_Draw.s @@ -228,7 +228,7 @@ glabel L80959318 /* 0A1F4 809594B4 24E77F60 */ addiu $a3, $a3, %lo(func_80957F60) ## $a3 = 80957F60 /* 0A1F8 809594B8 AFB00014 */ sw $s0, 0x0014($sp) /* 0A1FC 809594BC AFAA0010 */ sw $t2, 0x0010($sp) -/* 0A200 809594C0 0C028572 */ jal SkelAnime_Draw +/* 0A200 809594C0 0C028572 */ jal SkelAnime_DrawOpa /* 0A204 809594C4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 0A208 809594C8 100000B1 */ beq $zero, $zero, .L80959790 @@ -246,7 +246,7 @@ glabel L809594D0 /* 0A234 809594F4 25AD86E4 */ addiu $t5, $t5, %lo(func_809586E4) ## $t5 = 809586E4 /* 0A238 809594F8 AFAD0014 */ sw $t5, 0x0014($sp) /* 0A23C 809594FC AFB00018 */ sw $s0, 0x0018($sp) -/* 0A240 80959500 0C0286B2 */ jal SkelAnime_DrawSV +/* 0A240 80959500 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0A244 80959504 AFAC0010 */ sw $t4, 0x0010($sp) /* 0A248 80959508 100000A1 */ beq $zero, $zero, .L80959790 /* 0A24C 8095950C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C @@ -263,7 +263,7 @@ glabel L80959510 /* 0A274 80959534 27398B0C */ addiu $t9, $t9, %lo(func_80958B0C) ## $t9 = 80958B0C /* 0A278 80959538 AFB90014 */ sw $t9, 0x0014($sp) /* 0A27C 8095953C AFB00018 */ sw $s0, 0x0018($sp) -/* 0A280 80959540 0C0286B2 */ jal SkelAnime_DrawSV +/* 0A280 80959540 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0A284 80959544 AFAF0010 */ sw $t7, 0x0010($sp) /* 0A288 80959548 10000091 */ beq $zero, $zero, .L80959790 /* 0A28C 8095954C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C @@ -274,7 +274,7 @@ glabel L80959550 /* 0A29C 8095955C AFA00018 */ sw $zero, 0x0018($sp) /* 0A2A0 80959560 AFA00014 */ sw $zero, 0x0014($sp) /* 0A2A4 80959564 AFA00010 */ sw $zero, 0x0010($sp) -/* 0A2A8 80959568 0C0286B2 */ jal SkelAnime_DrawSV +/* 0A2A8 80959568 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0A2AC 8095956C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 0A2B0 80959570 10000087 */ beq $zero, $zero, .L80959790 /* 0A2B4 80959574 8602001C */ lh $v0, 0x001C($s0) ## 0000001C @@ -290,7 +290,7 @@ glabel L80959578 /* 0A2D4 80959594 8E050150 */ lw $a1, 0x0150($s0) ## 00000150 /* 0A2D8 80959598 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C /* 0A2DC 8095959C AFB00014 */ sw $s0, 0x0014($sp) -/* 0A2E0 809595A0 0C028572 */ jal SkelAnime_Draw +/* 0A2E0 809595A0 0C028572 */ jal SkelAnime_DrawOpa /* 0A2E4 809595A4 AFAA0010 */ sw $t2, 0x0010($sp) /* 0A2E8 809595A8 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Va/BossVa_Init.s b/asm/non_matchings/overlays/actors/ovl_Boss_Va/BossVa_Init.s index 9f16a54ac6..424b39dbed 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Va/BossVa_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Va/BossVa_Init.s @@ -99,7 +99,7 @@ glabel L8094FF00 /* 00C54 8094FF14 2665014C */ addiu $a1, $s3, 0x014C ## $a1 = 0000014C /* 00C58 8094FF18 AFA00010 */ sw $zero, 0x0010($sp) /* 00C5C 8094FF1C AFA00014 */ sw $zero, 0x0014($sp) -/* 00C60 8094FF20 0C0291BE */ jal SkelAnime_InitSV +/* 00C60 8094FF20 0C0291BE */ jal SkelAnime_InitFlex /* 00C64 8094FF24 AFA00018 */ sw $zero, 0x0018($sp) /* 00C68 8094FF28 1000002C */ beq $zero, $zero, .L8094FFDC /* 00C6C 8094FF2C 8E6E0024 */ lw $t6, 0x0024($s3) ## 00000024 @@ -112,7 +112,7 @@ glabel L8094FF30 /* 00C84 8094FF44 2665014C */ addiu $a1, $s3, 0x014C ## $a1 = 0000014C /* 00C88 8094FF48 AFA00010 */ sw $zero, 0x0010($sp) /* 00C8C 8094FF4C AFA00014 */ sw $zero, 0x0014($sp) -/* 00C90 8094FF50 0C0291BE */ jal SkelAnime_InitSV +/* 00C90 8094FF50 0C0291BE */ jal SkelAnime_InitFlex /* 00C94 8094FF54 AFA00018 */ sw $zero, 0x0018($sp) /* 00C98 8094FF58 10000020 */ beq $zero, $zero, .L8094FFDC /* 00C9C 8094FF5C 8E6E0024 */ lw $t6, 0x0024($s3) ## 00000024 @@ -125,7 +125,7 @@ glabel L8094FF60 /* 00CB4 8094FF74 2665014C */ addiu $a1, $s3, 0x014C ## $a1 = 0000014C /* 00CB8 8094FF78 AFA00010 */ sw $zero, 0x0010($sp) /* 00CBC 8094FF7C AFA00014 */ sw $zero, 0x0014($sp) -/* 00CC0 8094FF80 0C0291BE */ jal SkelAnime_InitSV +/* 00CC0 8094FF80 0C0291BE */ jal SkelAnime_InitFlex /* 00CC4 8094FF84 AFA00018 */ sw $zero, 0x0018($sp) /* 00CC8 8094FF88 10000014 */ beq $zero, $zero, .L8094FFDC /* 00CCC 8094FF8C 8E6E0024 */ lw $t6, 0x0024($s3) ## 00000024 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 e9919ed3de..61f3f3a513 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 @@ -41,7 +41,7 @@ glabel func_80954454 /* 05228 809544E8 8FA5003C */ lw $a1, 0x003C($sp) /* 0522C 809544EC AFA00010 */ sw $zero, 0x0010($sp) /* 05230 809544F0 AFA00014 */ sw $zero, 0x0014($sp) -/* 05234 809544F4 0C0291BE */ jal SkelAnime_InitSV +/* 05234 809544F4 0C0291BE */ jal SkelAnime_InitFlex /* 05238 809544F8 AFA00018 */ sw $zero, 0x0018($sp) /* 0523C 809544FC 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 /* 05240 80954500 C7B20048 */ lwc1 $f18, 0x0048($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969E6C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969E6C.s index a7ca1bc74d..7b74c165d1 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969E6C.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_80969E6C.s @@ -17,7 +17,7 @@ glabel func_80969E6C /* 003C4 80969E94 AFA00010 */ sw $zero, 0x0010($sp) /* 003C8 80969E98 AFA00014 */ sw $zero, 0x0014($sp) /* 003CC 80969E9C AFA00018 */ sw $zero, 0x0018($sp) -/* 003D0 80969EA0 0C0291BE */ jal SkelAnime_InitSV +/* 003D0 80969EA0 0C0291BE */ jal SkelAnime_InitFlex /* 003D4 80969EA4 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C /* 003D8 80969EA8 3C018097 */ lui $at, %hi(D_8096D0E8) ## $at = 80970000 /* 003DC 80969EAC 8FA40028 */ lw $a0, 0x0028($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A360.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A360.s index 3d19628ee2..ba0370d68a 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A360.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096A360.s @@ -11,7 +11,7 @@ glabel func_8096A360 /* 008B4 8096A384 AFA00014 */ sw $zero, 0x0014($sp) /* 008B8 8096A388 AFA00018 */ sw $zero, 0x0018($sp) /* 008BC 8096A38C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 008C0 8096A390 0C0291BE */ jal SkelAnime_InitSV +/* 008C0 8096A390 0C0291BE */ jal SkelAnime_InitFlex /* 008C4 8096A394 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C /* 008C8 8096A398 8FAF0028 */ lw $t7, 0x0028($sp) /* 008CC 8096A39C 240E0007 */ addiu $t6, $zero, 0x0007 ## $t6 = 00000007 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 555fdae96b..32dccd95ee 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 @@ -19,7 +19,7 @@ glabel func_8096B3E4 /* 01954 8096B424 E7A60030 */ swc1 $f6, 0x0030($sp) /* 01958 8096B428 AFA00010 */ sw $zero, 0x0010($sp) /* 0195C 8096B42C AFA00014 */ sw $zero, 0x0014($sp) -/* 01960 8096B430 0C0291BE */ jal SkelAnime_InitSV +/* 01960 8096B430 0C0291BE */ jal SkelAnime_InitFlex /* 01964 8096B434 AFA00018 */ sw $zero, 0x0018($sp) /* 01968 8096B438 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 /* 0196C 8096B43C C7A80030 */ lwc1 $f8, 0x0030($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096B840.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096B840.s index fed06d5578..2c0035b369 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096B840.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096B840.s @@ -117,7 +117,7 @@ glabel func_8096B840 /* 01F14 8096B9E4 AFA00010 */ sw $zero, 0x0010($sp) /* 01F18 8096B9E8 8E0D02D0 */ lw $t5, 0x02D0($s0) ## 000002D0 /* 01F1C 8096B9EC 8FA40084 */ lw $a0, 0x0084($sp) -/* 01F20 8096B9F0 0C0289CF */ jal SkelAnime_DrawSV2 +/* 01F20 8096B9F0 0C0289CF */ jal SkelAnime_DrawFlex /* 01F24 8096B9F4 AFAD001C */ sw $t5, 0x001C($sp) /* 01F28 8096B9F8 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 /* 01F2C 8096B9FC 8FAF0084 */ lw $t7, 0x0084($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096BA2C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096BA2C.s index 27191df61f..71c5267ae0 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096BA2C.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096BA2C.s @@ -12,7 +12,7 @@ glabel func_8096BA2C /* 01F84 8096BA54 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 01F88 8096BA58 AFA00010 */ sw $zero, 0x0010($sp) /* 01F8C 8096BA5C AFA00014 */ sw $zero, 0x0014($sp) -/* 01F90 8096BA60 0C0291BE */ jal SkelAnime_InitSV +/* 01F90 8096BA60 0C0291BE */ jal SkelAnime_InitFlex /* 01F94 8096BA64 AFA00018 */ sw $zero, 0x0018($sp) /* 01F98 8096BA68 240E0018 */ addiu $t6, $zero, 0x0018 ## $t6 = 00000018 /* 01F9C 8096BA6C AE0E0198 */ sw $t6, 0x0198($s0) ## 00000198 diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096BF60.s b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096BF60.s index 5cc6ed377f..982b3bfa75 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096BF60.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Du/func_8096BF60.s @@ -114,7 +114,7 @@ glabel func_8096BF60 /* 02628 8096C0F8 90470002 */ lbu $a3, 0x0002($v0) ## 0000014E /* 0262C 8096C0FC AFA00014 */ sw $zero, 0x0014($sp) /* 02630 8096C100 AFA00010 */ sw $zero, 0x0010($sp) -/* 02634 8096C104 0C0286B2 */ jal SkelAnime_DrawSV +/* 02634 8096C104 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 02638 8096C108 AFA30018 */ sw $v1, 0x0018($sp) /* 0263C 8096C10C 8FAC007C */ lw $t4, 0x007C($sp) /* 02640 8096C110 3C068097 */ lui $a2, %hi(D_8096D0A0) ## $a2 = 80970000 diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096D728.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096D728.s index b4fdc201a3..88ddc90799 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096D728.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096D728.s @@ -22,7 +22,7 @@ glabel func_8096D728 /* 002C8 8096D778 AFA00014 */ sw $zero, 0x0014($sp) /* 002CC 8096D77C AFA00018 */ sw $zero, 0x0018($sp) /* 002D0 8096D780 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 002D4 8096D784 0C0291BE */ jal SkelAnime_InitSV +/* 002D4 8096D784 0C0291BE */ jal SkelAnime_InitFlex /* 002D8 8096D788 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C /* 002DC 8096D78C 8FBF0024 */ lw $ra, 0x0024($sp) /* 002E0 8096D790 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096D8C4.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096D8C4.s index ab137319e7..f7ae250403 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096D8C4.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096D8C4.s @@ -108,7 +108,7 @@ glabel func_8096D8C4 /* 0058C 8096DA3C AFAE0010 */ sw $t6, 0x0010($sp) /* 00590 8096DA40 8E1802C0 */ lw $t8, 0x02C0($s0) ## 000002C0 /* 00594 8096DA44 8FA40074 */ lw $a0, 0x0074($sp) -/* 00598 8096DA48 0C0289CF */ jal SkelAnime_DrawSV2 +/* 00598 8096DA48 0C0289CF */ jal SkelAnime_DrawFlex /* 0059C 8096DA4C AFB8001C */ sw $t8, 0x001C($sp) /* 005A0 8096DA50 3C068097 */ lui $a2, %hi(D_8097067C) ## $a2 = 80970000 /* 005A4 8096DA54 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096DA80.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096DA80.s index 7099dad9dd..e1a4379617 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096DA80.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ec/func_8096DA80.s @@ -162,7 +162,7 @@ glabel func_8096DA80 /* 00818 8096DCC8 AFAC0010 */ sw $t4, 0x0010($sp) /* 0081C 8096DCCC 8E0E02C0 */ lw $t6, 0x02C0($s0) ## 000002C0 /* 00820 8096DCD0 8FA40074 */ lw $a0, 0x0074($sp) -/* 00824 8096DCD4 0C0289CF */ jal SkelAnime_DrawSV2 +/* 00824 8096DCD4 0C0289CF */ jal SkelAnime_DrawFlex /* 00828 8096DCD8 AFAE001C */ sw $t6, 0x001C($sp) /* 0082C 8096DCDC 3C068097 */ lui $a2, %hi(D_8097069C) ## $a2 = 80970000 /* 00830 8096DCE0 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983C9C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983C9C.s index 6f080bca73..8738334548 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983C9C.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_80983C9C.s @@ -95,7 +95,7 @@ glabel func_80983C9C /* 00AE8 80983DE8 8C450004 */ lw $a1, 0x0004($v0) ## 00000150 /* 00AEC 80983DEC 8C460020 */ lw $a2, 0x0020($v0) ## 0000016C /* 00AF0 80983DF0 AFB90010 */ sw $t9, 0x0010($sp) -/* 00AF4 80983DF4 0C028572 */ jal SkelAnime_Draw +/* 00AF4 80983DF4 0C028572 */ jal SkelAnime_DrawOpa /* 00AF8 80983DF8 AFA30014 */ sw $v1, 0x0014($sp) /* 00AFC 80983DFC 3C068098 */ lui $a2, %hi(D_8098485C) ## $a2 = 80980000 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 388bca5489..a02372a1a8 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 @@ -46,7 +46,7 @@ glabel func_80983E28 /* 00BC4 80983EC4 AFAF0014 */ sw $t7, 0x0014($sp) /* 00BC8 80983EC8 AFAE0010 */ sw $t6, 0x0010($sp) /* 00BCC 80983ECC AFA50034 */ sw $a1, 0x0034($sp) -/* 00BD0 80983ED0 0C0291BE */ jal SkelAnime_InitSV +/* 00BD0 80983ED0 0C0291BE */ jal SkelAnime_InitFlex /* 00BD4 80983ED4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00BD8 80983ED8 0C028800 */ jal SkelAnime_GetFrameCount diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_8098441C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_8098441C.s index 58d18ef8d6..b1b9bc7af5 100644 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_8098441C.s +++ b/asm/non_matchings/overlays/actors/ovl_Demo_Ik/func_8098441C.s @@ -98,7 +98,7 @@ glabel func_8098441C /* 01274 80984574 AFA80014 */ sw $t0, 0x0014($sp) /* 01278 80984578 AFB90010 */ sw $t9, 0x0010($sp) /* 0127C 8098457C 8FA4006C */ lw $a0, 0x006C($sp) -/* 01280 80984580 0C0286B2 */ jal SkelAnime_DrawSV +/* 01280 80984580 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 01284 80984584 AFA30018 */ sw $v1, 0x0018($sp) /* 01288 80984588 3C068098 */ lui $a2, %hi(D_80984954) ## $a2 = 80980000 /* 0128C 8098458C 24C64954 */ addiu $a2, $a2, %lo(D_80984954) ## $a2 = 80984954 diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Killer/DoorKiller_Init.s b/asm/non_matchings/overlays/actors/ovl_Door_Killer/DoorKiller_Init.s index fb09456848..730556b295 100644 --- a/asm/non_matchings/overlays/actors/ovl_Door_Killer/DoorKiller_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_Door_Killer/DoorKiller_Init.s @@ -98,7 +98,7 @@ glabel L80994D4C /* 00114 80994D64 24C61BC8 */ addiu $a2, $a2, 0x1BC8 ## $a2 = 06001BC8 /* 00118 80994D68 02A02025 */ or $a0, $s5, $zero ## $a0 = 00000000 /* 0011C 80994D6C 2645014C */ addiu $a1, $s2, 0x014C ## $a1 = 0000014C -/* 00120 80994D70 0C0291BE */ jal SkelAnime_InitSV +/* 00120 80994D70 0C0291BE */ jal SkelAnime_InitFlex /* 00124 80994D74 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00128 80994D78 3C0B8099 */ lui $t3, %hi(func_80995D6C) ## $t3 = 80990000 /* 0012C 80994D7C 256B5D6C */ addiu $t3, $t3, %lo(func_80995D6C) ## $t3 = 80995D6C diff --git a/asm/non_matchings/overlays/actors/ovl_Door_Killer/func_80995EC4.s b/asm/non_matchings/overlays/actors/ovl_Door_Killer/func_80995EC4.s index 334eb28d32..88d7c886db 100644 --- a/asm/non_matchings/overlays/actors/ovl_Door_Killer/func_80995EC4.s +++ b/asm/non_matchings/overlays/actors/ovl_Door_Killer/func_80995EC4.s @@ -15,7 +15,7 @@ glabel func_80995EC4 /* 012A8 80995EF8 9047014E */ lbu $a3, 0x014E($v0) ## 0000014E /* 012AC 80995EFC AFA00018 */ sw $zero, 0x0018($sp) /* 012B0 80995F00 AFA00014 */ sw $zero, 0x0014($sp) -/* 012B4 80995F04 0C0286B2 */ jal SkelAnime_DrawSV +/* 012B4 80995F04 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 012B8 80995F08 AFA00010 */ sw $zero, 0x0010($sp) /* 012BC 80995F0C 8FBF0024 */ lw $ra, 0x0024($sp) /* 012C0 80995F10 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 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 57f00fdfc8..b330475392 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 @@ -125,7 +125,7 @@ glabel func_8099B140 /* 02B6C 8099B2EC 8E0A02D0 */ lw $t2, 0x02D0($s0) ## 000002D0 /* 02B70 8099B2F0 44CFF800 */ ctc1 $t7, $31 /* 02B74 8099B2F4 8FA4005C */ lw $a0, 0x005C($sp) -/* 02B78 8099B2F8 0C0288A2 */ jal SkelAnime_Draw2 +/* 02B78 8099B2F8 0C0288A2 */ jal SkelAnime_Draw /* 02B7C 8099B2FC AFAA0018 */ sw $t2, 0x0018($sp) /* 02B80 8099B300 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 /* 02B84 8099B304 8FAB005C */ lw $t3, 0x005C($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 112ffa1931..9215632c0c 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 @@ -173,7 +173,7 @@ glabel func_8099B33C /* 02E1C 8099B59C AFA00010 */ sw $zero, 0x0010($sp) /* 02E20 8099B5A0 8E0B02D0 */ lw $t3, 0x02D0($s0) ## 000002D0 /* 02E24 8099B5A4 44D8F800 */ ctc1 $t8, $31 -/* 02E28 8099B5A8 0C0288A2 */ jal SkelAnime_Draw2 +/* 02E28 8099B5A8 0C0288A2 */ jal SkelAnime_Draw /* 02E2C 8099B5AC AFAB0018 */ sw $t3, 0x0018($sp) /* 02E30 8099B5B0 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 /* 02E34 8099B5B4 3C06809A */ lui $a2, %hi(D_8099C658) ## $a2 = 809A0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Am/EnAm_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Am/EnAm_Draw.s index 8954251836..0bd8522685 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Am/EnAm_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Am/EnAm_Draw.s @@ -43,7 +43,7 @@ glabel EnAm_Draw /* 01F30 809AFE50 8E060184 */ lw $a2, 0x0184($s0) ## 00000184 /* 01F34 809AFE54 8E050168 */ lw $a1, 0x0168($s0) ## 00000168 /* 01F38 809AFE58 AFB00014 */ sw $s0, 0x0014($sp) -/* 01F3C 809AFE5C 0C028572 */ jal SkelAnime_Draw +/* 01F3C 809AFE5C 0C028572 */ jal SkelAnime_DrawOpa /* 01F40 809AFE60 AFA90010 */ sw $t1, 0x0010($sp) /* 01F44 809AFE64 860A025E */ lh $t2, 0x025E($s0) ## 0000025E diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Draw.s index 65437046fb..80c59fab7d 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Draw.s @@ -14,7 +14,7 @@ glabel EnAnubice_Draw /* 01164 809B2284 AFAF0010 */ sw $t7, 0x0010($sp) /* 01168 809B2288 24E72104 */ addiu $a3, $a3, %lo(func_809B2104) ## $a3 = 809B2104 /* 0116C 809B228C 8FA40024 */ lw $a0, 0x0024($sp) -/* 01170 809B2290 0C028572 */ jal SkelAnime_Draw +/* 01170 809B2290 0C028572 */ jal SkelAnime_DrawOpa /* 01174 809B2294 AFA20014 */ sw $v0, 0x0014($sp) /* 01178 809B2298 8FBF001C */ lw $ra, 0x001C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Arrow/EnArrow_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Arrow/EnArrow_Draw.s index 70d27e9f08..4ad9cf0ebd 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Arrow/EnArrow_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Arrow/EnArrow_Draw.s @@ -51,7 +51,7 @@ glabel EnArrow_Draw /* 010B8 809B49D8 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C /* 010BC 809B49DC AFA20018 */ sw $v0, 0x0018($sp) /* 010C0 809B49E0 AFB00014 */ sw $s0, 0x0014($sp) -/* 010C4 809B49E4 0C0282D0 */ jal SkelAnime_LodDraw +/* 010C4 809B49E4 0C0282D0 */ jal SkelAnime_DrawLod /* 010C8 809B49E8 AFA00010 */ sw $zero, 0x0010($sp) /* 010CC 809B49EC 100000C9 */ beq $zero, $zero, .L809B4D14 /* 010D0 809B49F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bb/EnBb_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Bb/EnBb_Draw.s index a308a4bb80..cea7e77987 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Bb/EnBb_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Bb/EnBb_Draw.s @@ -78,7 +78,7 @@ glabel EnBb_Draw /* 0333C 809BB61C AFB00014 */ sw $s0, 0x0014($sp) /* 03340 809BB620 AFAC0010 */ sw $t4, 0x0010($sp) /* 03344 809BB624 8FA400CC */ lw $a0, 0x00CC($sp) -/* 03348 809BB628 0C028572 */ jal SkelAnime_Draw +/* 03348 809BB628 0C028572 */ jal SkelAnime_DrawOpa /* 0334C 809BB62C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 03350 809BB630 860D02A8 */ lh $t5, 0x02A8($s0) ## 000002A8 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/EnBigokuta_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/EnBigokuta_Draw.s index 5fe19a0a3c..0b88b42527 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/EnBigokuta_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/EnBigokuta_Draw.s @@ -133,7 +133,7 @@ glabel EnBigokuta_Draw /* 025D4 809BF234 AFA90010 */ sw $t1, 0x0010($sp) /* 025D8 809BF238 AFB00018 */ sw $s0, 0x0018($sp) /* 025DC 809BF23C AFA00014 */ sw $zero, 0x0014($sp) -/* 025E0 809BF240 0C0286B2 */ jal SkelAnime_DrawSV +/* 025E0 809BF240 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 025E4 809BF244 8FA40074 */ lw $a0, 0x0074($sp) /* 025E8 809BF248 10000048 */ beq $zero, $zero, .L809BF36C /* 025EC 809BF24C 8FAB0074 */ lw $t3, 0x0074($sp) @@ -207,7 +207,7 @@ glabel EnBigokuta_Draw /* 026EC 809BF34C 44D8F800 */ ctc1 $t8, $31 /* 026F0 809BF350 AFA80068 */ sw $t0, 0x0068($sp) /* 026F4 809BF354 8FA40074 */ lw $a0, 0x0074($sp) -/* 026F8 809BF358 0C0289CF */ jal SkelAnime_DrawSV2 +/* 026F8 809BF358 0C0289CF */ jal SkelAnime_DrawFlex /* 026FC 809BF35C AFAA001C */ sw $t2, 0x001C($sp) /* 02700 809BF360 8FA80068 */ lw $t0, 0x0068($sp) /* 02704 809BF364 AD0202D0 */ sw $v0, 0x02D0($t0) ## 000002D0 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/EnBigokuta_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/EnBigokuta_Init.s index a53a7272aa..b22bd0bfea 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/EnBigokuta_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Bigokuta/EnBigokuta_Init.s @@ -28,7 +28,7 @@ glabel EnBigokuta_Init /* 00050 809BCCB0 24E714B8 */ addiu $a3, $a3, 0x14B8 ## $a3 = 060014B8 /* 00054 809BCCB4 24C66BC0 */ addiu $a2, $a2, 0x6BC0 ## $a2 = 06006BC0 /* 00058 809BCCB8 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 0005C 809BCCBC 0C0291BE */ jal SkelAnime_InitSV +/* 0005C 809BCCBC 0C0291BE */ jal SkelAnime_InitFlex /* 00060 809BCCC0 2645014C */ addiu $a1, $s2, 0x014C ## $a1 = 0000014C /* 00064 809BCCC4 2650028C */ addiu $s0, $s2, 0x028C ## $s0 = 0000028C /* 00068 809BCCC8 02002825 */ or $a1, $s0, $zero ## $a1 = 0000028C diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bili/EnBili_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Bili/EnBili_Draw.s index b8ee0eb692..4431558917 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Bili/EnBili_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Bili/EnBili_Draw.s @@ -96,7 +96,7 @@ glabel EnBili_Draw /* 01D34 809C15D4 AFA00010 */ sw $zero, 0x0010($sp) /* 01D38 809C15D8 8E2802D0 */ lw $t0, 0x02D0($s1) ## 000002D0 /* 01D3C 809C15DC 8FA4005C */ lw $a0, 0x005C($sp) -/* 01D40 809C15E0 0C0288A2 */ jal SkelAnime_Draw2 +/* 01D40 809C15E0 0C0288A2 */ jal SkelAnime_Draw /* 01D44 809C15E4 AFA80018 */ sw $t0, 0x0018($sp) /* 01D48 809C15E8 AE2202D0 */ sw $v0, 0x02D0($s1) ## 000002D0 /* 01D4C 809C15EC 8FA9005C */ lw $t1, 0x005C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Draw.s index 70e54f7337..11ef820129 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Draw.s @@ -57,7 +57,7 @@ glabel EnBomBowlMan_Draw /* 01370 809C49A0 AFB00018 */ sw $s0, 0x0018($sp) /* 01374 809C49A4 AFA00014 */ sw $zero, 0x0014($sp) /* 01378 809C49A8 AFB90010 */ sw $t9, 0x0010($sp) -/* 0137C 809C49AC 0C0286B2 */ jal SkelAnime_DrawSV +/* 0137C 809C49AC 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 01380 809C49B0 8FA40054 */ lw $a0, 0x0054($sp) /* 01384 809C49B4 8FA80054 */ lw $t0, 0x0054($sp) /* 01388 809C49B8 3C06809C */ lui $a2, %hi(D_809C4C5C) ## $a2 = 809C0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Init.s index 2b78734042..07f91b797c 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Init.s @@ -44,7 +44,7 @@ glabel EnBomBowlMan_Init /* 0006C 809C369C 24E70710 */ addiu $a3, $a3, 0x0710 ## $a3 = 06000710 /* 00070 809C36A0 24C66EB0 */ addiu $a2, $a2, 0x6EB0 ## $a2 = 06006EB0 /* 00074 809C36A4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 00078 809C36A8 0C0291BE */ jal SkelAnime_InitSV +/* 00078 809C36A8 0C0291BE */ jal SkelAnime_InitFlex /* 0007C 809C36AC 27C5014C */ addiu $a1, $s8, 0x014C ## $a1 = 0000014C /* 00080 809C36B0 3C04809C */ lui $a0, %hi(D_809C4AC0) ## $a0 = 809C0000 /* 00084 809C36B4 0C00084C */ jal osSyncPrintf diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Draw.s index 86f10ba885..57529c20b7 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Draw.s @@ -21,7 +21,7 @@ glabel EnBrob_Draw /* 00F1C 809CBA2C AFB80014 */ sw $t8, 0x0014($sp) /* 00F20 809CBA30 AFB00018 */ sw $s0, 0x0018($sp) /* 00F24 809CBA34 AFA00010 */ sw $zero, 0x0010($sp) -/* 00F28 809CBA38 0C0286B2 */ jal SkelAnime_DrawSV +/* 00F28 809CBA38 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00F2C 809CBA3C 8FA40034 */ lw $a0, 0x0034($sp) /* 00F30 809CBA40 8FBF002C */ lw $ra, 0x002C($sp) /* 00F34 809CBA44 8FB00028 */ lw $s0, 0x0028($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Init.s index fefb5f7d9b..befeacb25f 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Brob/EnBrob_Init.s @@ -26,7 +26,7 @@ glabel EnBrob_Init /* 0003C 809CAB4C 24C615D8 */ addiu $a2, $a2, 0x15D8 ## $a2 = 060015D8 /* 00040 809CAB50 26050164 */ addiu $a1, $s0, 0x0164 ## $a1 = 00000164 /* 00044 809CAB54 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00048 809CAB58 0C0291BE */ jal SkelAnime_InitSV +/* 00048 809CAB58 0C0291BE */ jal SkelAnime_InitFlex /* 0004C 809CAB5C AFAE0010 */ sw $t6, 0x0010($sp) /* 00050 809CAB60 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 00054 809CAB64 0C010D20 */ jal DynaPolyInfo_SetActorMove diff --git a/asm/non_matchings/overlays/actors/ovl_En_Bw/EnBw_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Bw/EnBw_Draw.s index e9745e52c2..cb5056d47b 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Bw/EnBw_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Bw/EnBw_Draw.s @@ -90,7 +90,7 @@ glabel EnBw_Draw /* 02944 809D1024 8E2902C0 */ lw $t1, 0x02C0($s1) ## 000002C0 /* 02948 809D1028 24E70D18 */ addiu $a3, $a3, %lo(func_809D0D18) ## $a3 = 809D0D18 /* 0294C 809D102C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 02950 809D1030 0C0288A2 */ jal SkelAnime_Draw2 +/* 02950 809D1030 0C0288A2 */ jal SkelAnime_Draw /* 02954 809D1034 AFA90018 */ sw $t1, 0x0018($sp) /* 02958 809D1038 10000035 */ beq $zero, $zero, .L809D1110 /* 0295C 809D103C AE2202C0 */ sw $v0, 0x02C0($s1) ## 000002C0 @@ -144,7 +144,7 @@ glabel EnBw_Draw /* 02A18 809D10F8 AFB00014 */ sw $s0, 0x0014($sp) /* 02A1C 809D10FC AFA00010 */ sw $zero, 0x0010($sp) /* 02A20 809D1100 8E3902D0 */ lw $t9, 0x02D0($s1) ## 000002D0 -/* 02A24 809D1104 0C0288A2 */ jal SkelAnime_Draw2 +/* 02A24 809D1104 0C0288A2 */ jal SkelAnime_Draw /* 02A28 809D1108 AFB90018 */ sw $t9, 0x0018($sp) /* 02A2C 809D110C AE2202D0 */ sw $v0, 0x02D0($s1) ## 000002D0 .L809D1110: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Draw.s index fc20a65d54..0acb6ee74a 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Cs/EnCs_Draw.s @@ -63,7 +63,7 @@ glabel EnCs_Draw /* 00DA0 809E2650 AFB80014 */ sw $t8, 0x0014($sp) /* 00DA4 809E2654 AFAF0010 */ sw $t7, 0x0010($sp) /* 00DA8 809E2658 AFB20018 */ sw $s2, 0x0018($sp) -/* 00DAC 809E265C 0C0286B2 */ jal SkelAnime_DrawSV +/* 00DAC 809E265C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00DB0 809E2660 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00DB4 809E2664 3C198016 */ lui $t9, %hi(gSaveContext+0xef6) /* 00DB8 809E2668 9739F556 */ lhu $t9, %lo(gSaveContext+0xef6)($t9) 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 ccffe3b84a..3c7cab414e 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 @@ -31,7 +31,7 @@ glabel EnCs_Init /* 00188 809E1A38 24C68540 */ addiu $a2, $a2, 0x8540 ## $a2 = 06008540 /* 0018C 809E1A3C AFA50038 */ sw $a1, 0x0038($sp) /* 00190 809E1A40 8FA4004C */ lw $a0, 0x004C($sp) -/* 00194 809E1A44 0C0291BE */ jal SkelAnime_InitSV +/* 00194 809E1A44 0C0291BE */ jal SkelAnime_InitFlex /* 00198 809E1A48 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 0019C 809E1A4C 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 001A0 809E1A50 AFA50034 */ sw $a1, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku/EnDaiku_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku/EnDaiku_Draw.s index 4d57c25480..33d0267553 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku/EnDaiku_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Daiku/EnDaiku_Draw.s @@ -84,7 +84,7 @@ glabel EnDaiku_Draw /* 01388 809E3EB8 AFAC0010 */ sw $t4, 0x0010($sp) /* 0138C 809E3EBC AFAD0014 */ sw $t5, 0x0014($sp) /* 01390 809E3EC0 AFA90018 */ sw $t1, 0x0018($sp) -/* 01394 809E3EC4 0C0286B2 */ jal SkelAnime_DrawSV +/* 01394 809E3EC4 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 01398 809E3EC8 8FA4005C */ lw $a0, 0x005C($sp) /* 0139C 809E3ECC 8FAE005C */ lw $t6, 0x005C($sp) /* 013A0 809E3ED0 3C06809E */ lui $a2, %hi(D_809E4180) ## $a2 = 809E0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku/EnDaiku_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku/EnDaiku_Init.s index aa4b20ec22..283f73eabc 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku/EnDaiku_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Daiku/EnDaiku_Init.s @@ -92,7 +92,7 @@ glabel EnDaiku_Init /* 001F0 809E2D20 24C67958 */ addiu $a2, $a2, 0x7958 ## $a2 = 06007958 /* 001F4 809E2D24 AFA50038 */ sw $a1, 0x0038($sp) /* 001F8 809E2D28 8FA40054 */ lw $a0, 0x0054($sp) -/* 001FC 809E2D2C 0C0291BE */ jal SkelAnime_InitSV +/* 001FC 809E2D2C 0C0291BE */ jal SkelAnime_InitFlex /* 00200 809E2D30 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00204 809E2D34 8FA80044 */ lw $t0, 0x0044($sp) /* 00208 809E2D38 8FA40054 */ lw $a0, 0x0054($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Draw.s index e5ae03343a..8df487e431 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Draw.s @@ -84,7 +84,7 @@ glabel EnDaikuKakariko_Draw /* 01130 809E5450 AFAC0010 */ sw $t4, 0x0010($sp) /* 01134 809E5454 AFAD0014 */ sw $t5, 0x0014($sp) /* 01138 809E5458 AFA90018 */ sw $t1, 0x0018($sp) -/* 0113C 809E545C 0C0286B2 */ jal SkelAnime_DrawSV +/* 0113C 809E545C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 01140 809E5460 8FA4005C */ lw $a0, 0x005C($sp) /* 01144 809E5464 8FAE005C */ lw $t6, 0x005C($sp) /* 01148 809E5468 3C06809E */ lui $a2, %hi(D_809E55FC) ## $a2 = 809E0000 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 cb2b437f30..56225c2377 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 @@ -90,7 +90,7 @@ glabel EnDaikuKakariko_Init /* 001E8 809E4508 24C67958 */ addiu $a2, $a2, 0x7958 ## $a2 = 06007958 /* 001EC 809E450C AFA50034 */ sw $a1, 0x0034($sp) /* 001F0 809E4510 8FA4004C */ lw $a0, 0x004C($sp) -/* 001F4 809E4514 0C0291BE */ jal SkelAnime_InitSV +/* 001F4 809E4514 0C0291BE */ jal SkelAnime_InitFlex /* 001F8 809E4518 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 001FC 809E451C 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 00200 809E4520 AFA50030 */ sw $a1, 0x0030($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/EnDekubaba_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/EnDekubaba_Draw.s index 9c312beb49..68bc007537 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/EnDekubaba_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Dekubaba/EnDekubaba_Draw.s @@ -50,7 +50,7 @@ glabel EnDekubaba_Draw /* 034D4 809E8CA4 8E06019C */ lw $a2, 0x019C($s0) ## 0000019C /* 034D8 809E8CA8 AFB00014 */ sw $s0, 0x0014($sp) /* 034DC 809E8CAC AFB80010 */ sw $t8, 0x0010($sp) -/* 034E0 809E8CB0 0C028572 */ jal SkelAnime_Draw +/* 034E0 809E8CB0 0C028572 */ jal SkelAnime_DrawOpa /* 034E4 809E8CB4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 034E8 809E8CB8 8E0801C0 */ lw $t0, 0x01C0($s0) ## 000001C0 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Draw.s index 2de66d9295..b8677200f2 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Dekunuts/EnDekunuts_Draw.s @@ -21,7 +21,7 @@ glabel EnDekunuts_Draw /* 015A8 809EAB08 3C07809F */ lui $a3, %hi(func_809EA98C) ## $a3 = 809F0000 /* 015AC 809EAB0C 24E7A98C */ addiu $a3, $a3, %lo(func_809EA98C) ## $a3 = 809EA98C /* 015B0 809EAB10 AFB80014 */ sw $t8, 0x0014($sp) -/* 015B4 809EAB14 0C028572 */ jal SkelAnime_Draw +/* 015B4 809EAB14 0C028572 */ jal SkelAnime_DrawOpa /* 015B8 809EAB18 AFA00010 */ sw $zero, 0x0010($sp) /* 015BC 809EAB1C 8FBF001C */ lw $ra, 0x001C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Draw.s index 2bd890091e..b0bbabd378 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Draw.s @@ -63,7 +63,7 @@ glabel EnDh_Draw /* 0159C 809EC2DC AFA00010 */ sw $zero, 0x0010($sp) /* 015A0 809EC2E0 8E0E02C0 */ lw $t6, 0x02C0($s0) ## 000002C0 /* 015A4 809EC2E4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 015A8 809EC2E8 0C0289CF */ jal SkelAnime_DrawSV2 +/* 015A8 809EC2E8 0C0289CF */ jal SkelAnime_DrawFlex /* 015AC 809EC2EC AFAE001C */ sw $t6, 0x001C($sp) /* 015B0 809EC2F0 1000001E */ beq $zero, $zero, .L809EC36C /* 015B4 809EC2F4 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 @@ -94,7 +94,7 @@ glabel EnDh_Draw /* 01614 809EC354 AFA00014 */ sw $zero, 0x0014($sp) /* 01618 809EC358 AFA00010 */ sw $zero, 0x0010($sp) /* 0161C 809EC35C 8E0D02D0 */ lw $t5, 0x02D0($s0) ## 000002D0 -/* 01620 809EC360 0C0289CF */ jal SkelAnime_DrawSV2 +/* 01620 809EC360 0C0289CF */ jal SkelAnime_DrawFlex /* 01624 809EC364 AFAD001C */ sw $t5, 0x001C($sp) /* 01628 809EC368 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 .L809EC36C: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Init.s index 158f808bd3..3e226ebd78 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Dh/EnDh_Init.s @@ -23,7 +23,7 @@ glabel EnDh_Init /* 00058 809EAD98 24E75880 */ addiu $a3, $a3, 0x5880 ## $a3 = 06005880 /* 0005C 809EAD9C 24C67E88 */ addiu $a2, $a2, 0x7E88 ## $a2 = 06007E88 /* 00060 809EADA0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00064 809EADA4 0C0291BE */ jal SkelAnime_InitSV +/* 00064 809EADA4 0C0291BE */ jal SkelAnime_InitFlex /* 00068 809EADA8 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 0006C 809EADAC 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) /* 00070 809EADB0 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/EnDivingGame_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/EnDivingGame_Draw.s index 484c80d0ae..d27686f0c9 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/EnDivingGame_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/EnDivingGame_Draw.s @@ -75,7 +75,7 @@ glabel EnDivingGame_Draw /* 017D0 809EF040 AFB10018 */ sw $s1, 0x0018($sp) /* 017D4 809EF044 AFA00014 */ sw $zero, 0x0014($sp) /* 017D8 809EF048 AFAA0010 */ sw $t2, 0x0010($sp) -/* 017DC 809EF04C 0C0286B2 */ jal SkelAnime_DrawSV +/* 017DC 809EF04C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 017E0 809EF050 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 /* 017E4 809EF054 3C06809F */ lui $a2, %hi(D_809EF194) ## $a2 = 809F0000 /* 017E8 809EF058 24C6F194 */ addiu $a2, $a2, %lo(D_809EF194) ## $a2 = 809EF194 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/EnDivingGame_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/EnDivingGame_Init.s index d5083891de..119bcf98d2 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/EnDivingGame_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Diving_Game/EnDivingGame_Init.s @@ -48,7 +48,7 @@ glabel EnDivingGame_Init /* 00058 809ED8C8 24E72FE8 */ addiu $a3, $a3, 0x2FE8 ## $a3 = 06002FE8 /* 0005C 809ED8CC 24C6BFA8 */ addiu $a2, $a2, 0xBFA8 ## $a2 = 0600BFA8 /* 00060 809ED8D0 8FA4003C */ lw $a0, 0x003C($sp) -/* 00064 809ED8D4 0C0291BE */ jal SkelAnime_InitSV +/* 00064 809ED8D4 0C0291BE */ jal SkelAnime_InitFlex /* 00068 809ED8D8 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 0006C 809ED8DC 2605034C */ addiu $a1, $s0, 0x034C ## $a1 = 0000034C /* 00070 809ED8E0 AFA50030 */ sw $a1, 0x0030($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/EnDntJiji_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/EnDntJiji_Draw.s index ee375a6658..566e862bd5 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/EnDntJiji_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Jiji/EnDntJiji_Draw.s @@ -63,7 +63,7 @@ glabel EnDntJiji_Draw /* 013D0 809F2EB0 AFB00014 */ sw $s0, 0x0014($sp) /* 013D4 809F2EB4 AFA00010 */ sw $zero, 0x0010($sp) /* 013D8 809F2EB8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 013DC 809F2EBC 0C028572 */ jal SkelAnime_Draw +/* 013DC 809F2EBC 0C028572 */ jal SkelAnime_DrawOpa /* 013E0 809F2EC0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 013E4 809F2EC4 0C034221 */ jal Matrix_Pull diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5A6C.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5A6C.s index bd7e905490..44c4c0cd9e 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5A6C.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5A6C.s @@ -74,7 +74,7 @@ glabel func_809F5A6C /* 02884 809F5B44 24E758E4 */ addiu $a3, $a3, %lo(func_809F58E4) ## $a3 = 809F58E4 /* 02888 809F5B48 AFB10014 */ sw $s1, 0x0014($sp) /* 0288C 809F5B4C AFA90010 */ sw $t1, 0x0010($sp) -/* 02890 809F5B50 0C028572 */ jal SkelAnime_Draw +/* 02890 809F5B50 0C028572 */ jal SkelAnime_DrawOpa /* 02894 809F5B54 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 /* 02898 809F5B58 C62C021C */ lwc1 $f12, 0x021C($s1) ## 0000021C diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5C98.s b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5C98.s index ad2dd1be96..0af7425663 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5C98.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Dnt_Nomal/func_809F5C98.s @@ -40,7 +40,7 @@ glabel func_809F5C98 /* 02A28 809F5CE8 AFB00014 */ sw $s0, 0x0014($sp) /* 02A2C 809F5CEC AFAE0010 */ sw $t6, 0x0010($sp) /* 02A30 809F5CF0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 02A34 809F5CF4 0C028572 */ jal SkelAnime_Draw +/* 02A34 809F5CF4 0C028572 */ jal SkelAnime_DrawOpa /* 02A38 809F5CF8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 02A3C 809F5CFC C60C021C */ lwc1 $f12, 0x021C($s0) ## 0000021C diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/EnDodojr_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/EnDodojr_Draw.s index 0dbf4b20f7..785a19214f 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Dodojr/EnDodojr_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Dodojr/EnDodojr_Draw.s @@ -22,7 +22,7 @@ glabel EnDodojr_Draw /* 01AA0 809F7E60 24E77D50 */ addiu $a3, $a3, %lo(func_809F7D50) ## $a3 = 809F7D50 /* 01AA4 809F7E64 AFB00014 */ sw $s0, 0x0014($sp) /* 01AA8 809F7E68 AFB90010 */ sw $t9, 0x0010($sp) -/* 01AAC 809F7E6C 0C028572 */ jal SkelAnime_Draw +/* 01AAC 809F7E6C 0C028572 */ jal SkelAnime_DrawOpa /* 01AB0 809F7E70 8FA4002C */ lw $a0, 0x002C($sp) .L809F7E74: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Dodongo/EnDodongo_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Dodongo/EnDodongo_Draw.s index 0b0ce52dbf..e2480df6f2 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Dodongo/EnDodongo_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Dodongo/EnDodongo_Draw.s @@ -19,7 +19,7 @@ glabel EnDodongo_Draw /* 02368 809FA5B8 24E7A0F8 */ addiu $a3, $a3, %lo(func_809FA0F8) ## $a3 = 809FA0F8 /* 0236C 809FA5BC AFB00014 */ sw $s0, 0x0014($sp) /* 02370 809FA5C0 AFAF0010 */ sw $t7, 0x0010($sp) -/* 02374 809FA5C4 0C028572 */ jal SkelAnime_Draw +/* 02374 809FA5C4 0C028572 */ jal SkelAnime_DrawOpa /* 02378 809FA5C8 8FA40044 */ lw $a0, 0x0044($sp) /* 0237C 809FA5CC 86180312 */ lh $t8, 0x0312($s0) ## 00000312 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Door/EnDoor_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Door/EnDoor_Draw.s index 6b3dc04cc5..dee6368c80 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Door/EnDoor_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Door/EnDoor_Draw.s @@ -33,7 +33,7 @@ glabel EnDoor_Draw /* 00BF0 809FCDC0 24E7CC3C */ addiu $a3, $a3, %lo(func_809FCC3C) ## $a3 = 809FCC3C /* 00BF4 809FCDC4 AFB00014 */ sw $s0, 0x0014($sp) /* 00BF8 809FCDC8 AFA00010 */ sw $zero, 0x0010($sp) -/* 00BFC 809FCDCC 0C028572 */ jal SkelAnime_Draw +/* 00BFC 809FCDCC 0C028572 */ jal SkelAnime_DrawOpa /* 00C00 809FCDD0 8FA40054 */ lw $a0, 0x0054($sp) /* 00C04 809FCDD4 86020032 */ lh $v0, 0x0032($s0) ## 00000032 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Du/EnDu_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Du/EnDu_Init.s index 711620b67c..e6e41e7860 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Du/EnDu_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Du/EnDu_Init.s @@ -19,7 +19,7 @@ glabel EnDu_Init /* 005BC 809FE1EC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 005C0 809FE1F0 AFA00010 */ sw $zero, 0x0010($sp) /* 005C4 809FE1F4 AFA00014 */ sw $zero, 0x0014($sp) -/* 005C8 809FE1F8 0C0291BE */ jal SkelAnime_InitSV +/* 005C8 809FE1F8 0C0291BE */ jal SkelAnime_InitFlex /* 005CC 809FE1FC AFA00018 */ sw $zero, 0x0018($sp) /* 005D0 809FE200 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 005D4 809FE204 AFA50034 */ sw $a1, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/EnEiyer_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/EnEiyer_Draw.s index f85e80b0f1..8060d2312f 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Eiyer/EnEiyer_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Eiyer/EnEiyer_Draw.s @@ -54,7 +54,7 @@ glabel EnEiyer_Draw /* 018E4 80A01884 3C0780A0 */ lui $a3, %hi(func_80A0178C) ## $a3 = 80A00000 /* 018E8 80A01888 24E7178C */ addiu $a3, $a3, %lo(func_80A0178C) ## $a3 = 80A0178C /* 018EC 80A0188C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 018F0 80A01890 0C0288A2 */ jal SkelAnime_Draw2 +/* 018F0 80A01890 0C0288A2 */ jal SkelAnime_Draw /* 018F4 80A01894 AFAC0018 */ sw $t4, 0x0018($sp) /* 018F8 80A01898 10000020 */ beq $zero, $zero, .L80A0191C /* 018FC 80A0189C AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 @@ -87,7 +87,7 @@ glabel EnEiyer_Draw /* 01964 80A01904 AFA00010 */ sw $zero, 0x0010($sp) /* 01968 80A01908 8E0B02D0 */ lw $t3, 0x02D0($s0) ## 000002D0 /* 0196C 80A0190C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 01970 80A01910 0C0288A2 */ jal SkelAnime_Draw2 +/* 01970 80A01910 0C0288A2 */ jal SkelAnime_Draw /* 01974 80A01914 AFAB0018 */ sw $t3, 0x0018($sp) /* 01978 80A01918 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 .L80A0191C: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fd/EnFd_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Fd/EnFd_Draw.s index 0c468b2dd5..db6736e515 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Fd/EnFd_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Fd/EnFd_Draw.s @@ -260,7 +260,7 @@ glabel EnFd_Draw /* 01D04 80A0D3C4 AFB10018 */ sw $s1, 0x0018($sp) /* 01D08 80A0D3C8 8E1902D0 */ lw $t9, 0x02D0($s0) ## 000002D0 /* 01D0C 80A0D3CC 8FA400A4 */ lw $a0, 0x00A4($sp) -/* 01D10 80A0D3D0 0C0289CF */ jal SkelAnime_DrawSV2 +/* 01D10 80A0D3D0 0C0289CF */ jal SkelAnime_DrawFlex /* 01D14 80A0D3D4 AFB9001C */ sw $t9, 0x001C($sp) /* 01D18 80A0D3D8 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 .L80A0D3DC: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fd/EnFd_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Fd/EnFd_Init.s index f5e05aa290..b9227546c2 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Fd/EnFd_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Fd/EnFd_Init.s @@ -14,7 +14,7 @@ glabel EnFd_Init /* 00B1C 80A0C1DC 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 00B20 80A0C1E0 AFAF0014 */ sw $t7, 0x0014($sp) /* 00B24 80A0C1E4 AFAE0010 */ sw $t6, 0x0010($sp) -/* 00B28 80A0C1E8 0C0291BE */ jal SkelAnime_InitSV +/* 00B28 80A0C1E8 0C0291BE */ jal SkelAnime_InitFlex /* 00B2C 80A0C1EC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00B30 80A0C1F0 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) /* 00B34 80A0C1F4 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Firefly/EnFirefly_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Firefly/EnFirefly_Draw.s index d8d8eda1bb..087486a80c 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Firefly/EnFirefly_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Firefly/EnFirefly_Draw.s @@ -54,7 +54,7 @@ glabel EnFirefly_Draw /* 01D70 80A14DE0 AFAD0010 */ sw $t5, 0x0010($sp) /* 01D74 80A14DE4 8E0E02C0 */ lw $t6, 0x02C0($s0) ## 000002C0 /* 01D78 80A14DE8 8FA4005C */ lw $a0, 0x005C($sp) -/* 01D7C 80A14DEC 0C0288A2 */ jal SkelAnime_Draw2 +/* 01D7C 80A14DEC 0C0288A2 */ jal SkelAnime_Draw /* 01D80 80A14DF0 AFAE0018 */ sw $t6, 0x0018($sp) /* 01D84 80A14DF4 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 /* 01D88 80A14DF8 8FAF005C */ lw $t7, 0x005C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A14E28.s b/asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A14E28.s index f2b5634ee2..9c47ce8a26 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A14E28.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A14E28.s @@ -54,7 +54,7 @@ glabel func_80A14E28 /* 01E58 80A14EC8 AFAD0010 */ sw $t5, 0x0010($sp) /* 01E5C 80A14ECC 8E0E02D0 */ lw $t6, 0x02D0($s0) ## 000002D0 /* 01E60 80A14ED0 8FA4005C */ lw $a0, 0x005C($sp) -/* 01E64 80A14ED4 0C0288A2 */ jal SkelAnime_Draw2 +/* 01E64 80A14ED4 0C0288A2 */ jal SkelAnime_Draw /* 01E68 80A14ED8 AFAE0018 */ sw $t6, 0x0018($sp) /* 01E6C 80A14EDC AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 /* 01E70 80A14EE0 8FAF005C */ lw $t7, 0x005C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Draw.s index 434dfbed64..16d121f458 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Draw.s @@ -12,7 +12,7 @@ glabel EnFish_Draw /* 01D54 80A16FD4 904701AE */ lbu $a3, 0x01AE($v0) ## 000001AE /* 01D58 80A16FD8 AFA00018 */ sw $zero, 0x0018($sp) /* 01D5C 80A16FDC AFA00014 */ sw $zero, 0x0014($sp) -/* 01D60 80A16FE0 0C0286B2 */ jal SkelAnime_DrawSV +/* 01D60 80A16FE0 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 01D64 80A16FE4 AFA00010 */ sw $zero, 0x0010($sp) /* 01D68 80A16FE8 8FA20028 */ lw $v0, 0x0028($sp) /* 01D6C 80A16FEC 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Init.s index ed6f5cb89b..a14477d561 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Fish/EnFish_Init.s @@ -28,7 +28,7 @@ glabel EnFish_Init /* 00230 80A154B0 24E7909C */ addiu $a3, $a3, 0x909C ## $a3 = 0401909C /* 00234 80A154B4 24C68FE0 */ addiu $a2, $a2, 0x8FE0 ## $a2 = 04018FE0 /* 00238 80A154B8 8FA40044 */ lw $a0, 0x0044($sp) -/* 0023C 80A154BC 0C0291BE */ jal SkelAnime_InitSV +/* 0023C 80A154BC 0C0291BE */ jal SkelAnime_InitFlex /* 00240 80A154C0 260501AC */ addiu $a1, $s0, 0x01AC ## $a1 = 000001AC /* 00244 80A154C4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 00248 80A154C8 AFA50034 */ sw $a1, 0x0034($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 4476bf218a..fb95c6686a 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 @@ -46,7 +46,7 @@ glabel EnFr_Update /* 00330 80A1ACD0 24E71534 */ addiu $a3, $a3, 0x1534 ## $a3 = 06001534 /* 00334 80A1ACD4 24C6B498 */ addiu $a2, $a2, 0xB498 ## $a2 = 0600B498 /* 00338 80A1ACD8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0033C 80A1ACDC 0C0291BE */ jal SkelAnime_InitSV +/* 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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1CD24.s b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1CD24.s index a35acd441f..73101460ae 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1CD24.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Fr/func_80A1CD24.s @@ -154,7 +154,7 @@ glabel func_80A1CD24 /* 025A0 80A1CF40 AFB90014 */ sw $t9, 0x0014($sp) /* 025A4 80A1CF44 AFAB0010 */ sw $t3, 0x0010($sp) /* 025A8 80A1CF48 AFB00018 */ sw $s0, 0x0018($sp) -/* 025AC 80A1CF4C 0C0286B2 */ jal SkelAnime_DrawSV +/* 025AC 80A1CF4C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 025B0 80A1CF50 8FA4006C */ lw $a0, 0x006C($sp) /* 025B4 80A1CF54 920E03A8 */ lbu $t6, 0x03A8($s0) ## 000003A8 /* 025B8 80A1CF58 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 @@ -180,7 +180,7 @@ glabel func_80A1CD24 /* 02608 80A1CFA8 AFA00014 */ sw $zero, 0x0014($sp) /* 0260C 80A1CFAC AFA00010 */ sw $zero, 0x0010($sp) /* 02610 80A1CFB0 8FA4006C */ lw $a0, 0x006C($sp) -/* 02614 80A1CFB4 0C028572 */ jal SkelAnime_Draw +/* 02614 80A1CFB4 0C028572 */ jal SkelAnime_DrawOpa /* 02618 80A1CFB8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 0261C 80A1CFBC 8FAF006C */ lw $t7, 0x006C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fw/EnFw_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Fw/EnFw_Draw.s index f3942757a7..ad3207a253 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Fw/EnFw_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Fw/EnFw_Draw.s @@ -25,7 +25,7 @@ glabel EnFw_Draw /* 0109C 80A1F63C AFAF0010 */ sw $t7, 0x0010($sp) /* 010A0 80A1F640 AFB80014 */ sw $t8, 0x0014($sp) /* 010A4 80A1F644 AFB00018 */ sw $s0, 0x0018($sp) -/* 010A8 80A1F648 0C0286B2 */ jal SkelAnime_DrawSV +/* 010A8 80A1F648 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 010AC 80A1F64C 8FA40034 */ lw $a0, 0x0034($sp) /* 010B0 80A1F650 8FBF002C */ lw $ra, 0x002C($sp) /* 010B4 80A1F654 8FB00028 */ lw $s0, 0x0028($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Fw/EnFw_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Fw/EnFw_Init.s index 7099cbaa6e..79511c0a8f 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Fw/EnFw_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Fw/EnFw_Init.s @@ -15,7 +15,7 @@ glabel EnFw_Init /* 005D4 80A1EB74 AFAF0014 */ sw $t7, 0x0014($sp) /* 005D8 80A1EB78 AFAE0010 */ sw $t6, 0x0010($sp) /* 005DC 80A1EB7C AFA50034 */ sw $a1, 0x0034($sp) -/* 005E0 80A1EB80 0C0291BE */ jal SkelAnime_InitSV +/* 005E0 80A1EB80 0C0291BE */ jal SkelAnime_InitFlex /* 005E4 80A1EB84 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 005E8 80A1EB88 3C0580A2 */ lui $a1, %hi(D_80A1FBA0) ## $a1 = 80A20000 /* 005EC 80A1EB8C 24A5FBA0 */ addiu $a1, $a1, %lo(D_80A1FBA0) ## $a1 = 80A1FBA0 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Draw.s index 703cc0f988..d64a56ec45 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Draw.s @@ -78,7 +78,7 @@ glabel EnGb_Draw /* 00E30 80A2FFB0 AFB00018 */ sw $s0, 0x0018($sp) /* 00E34 80A2FFB4 AFA00014 */ sw $zero, 0x0014($sp) /* 00E38 80A2FFB8 AFA00010 */ sw $zero, 0x0010($sp) -/* 00E3C 80A2FFBC 0C0286B2 */ jal SkelAnime_DrawSV +/* 00E3C 80A2FFBC 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00E40 80A2FFC0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00E44 80A2FFC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 00E48 80A2FFC8 0C28C0D4 */ jal func_80A30350 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Init.s index 0dea0c9cb8..5c792deb86 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Gb/EnGb_Init.s @@ -50,7 +50,7 @@ glabel EnGb_Init /* 000CC 80A2F24C 24E7049C */ addiu $a3, $a3, 0x049C ## $a3 = 0600049C /* 000D0 80A2F250 24C6C220 */ addiu $a2, $a2, 0xC220 ## $a2 = 0600C220 /* 000D4 80A2F254 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 -/* 000D8 80A2F258 0C0291BE */ jal SkelAnime_InitSV +/* 000D8 80A2F258 0C0291BE */ jal SkelAnime_InitFlex /* 000DC 80A2F25C 26450164 */ addiu $a1, $s2, 0x0164 ## $a1 = 00000164 /* 000E0 80A2F260 2650023C */ addiu $s0, $s2, 0x023C ## $s0 = 0000023C /* 000E4 80A2F264 02002825 */ or $a1, $s0, $zero ## $a1 = 0000023C diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Draw.s index 87d51d0cfc..32f715ac48 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ge1/EnGe1_Draw.s @@ -59,7 +59,7 @@ glabel EnGe1_Draw /* 01D94 80A32704 AFA80014 */ sw $t0, 0x0014($sp) /* 01D98 80A32708 AFB90010 */ sw $t9, 0x0010($sp) /* 01D9C 80A3270C AFB00018 */ sw $s0, 0x0018($sp) -/* 01DA0 80A32710 0C0286B2 */ jal SkelAnime_DrawSV +/* 01DA0 80A32710 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 01DA4 80A32714 8FA4005C */ lw $a0, 0x005C($sp) /* 01DA8 80A32718 8FA9005C */ lw $t1, 0x005C($sp) /* 01DAC 80A3271C 3C0680A3 */ lui $a2, %hi(D_80A328B8) ## $a2 = 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 5a714d6b72..e8bf64f474 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 @@ -33,7 +33,7 @@ glabel EnGe1_Init /* 00050 80A309C0 24E70228 */ addiu $a3, $a3, 0x0228 ## $a3 = 06000228 /* 00054 80A309C4 24C60330 */ addiu $a2, $a2, 0x0330 ## $a2 = 06000330 /* 00058 80A309C8 AFA50030 */ sw $a1, 0x0030($sp) -/* 0005C 80A309CC 0C0291BE */ jal SkelAnime_InitSV +/* 0005C 80A309CC 0C0291BE */ jal SkelAnime_InitFlex /* 00060 80A309D0 8FA40044 */ lw $a0, 0x0044($sp) /* 00064 80A309D4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 /* 00068 80A309D8 24A50228 */ addiu $a1, $a1, 0x0228 ## $a1 = 06000228 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Draw.s index 26cbe78217..cd9f712181 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ge2/EnGe2_Draw.s @@ -63,7 +63,7 @@ glabel EnGe2_Draw /* 016DC 80A342AC AFAF0010 */ sw $t7, 0x0010($sp) /* 016E0 80A342B0 AFB80014 */ sw $t8, 0x0014($sp) /* 016E4 80A342B4 AFB00018 */ sw $s0, 0x0018($sp) -/* 016E8 80A342B8 0C0286B2 */ jal SkelAnime_DrawSV +/* 016E8 80A342B8 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 016EC 80A342BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 016F0 80A342C0 3C0680A3 */ lui $a2, %hi(D_80A3442C) ## $a2 = 80A30000 /* 016F4 80A342C4 24C6442C */ addiu $a2, $a2, %lo(D_80A3442C) ## $a2 = 80A3442C 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 81df931e7a..be1fcf2b47 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 @@ -32,7 +32,7 @@ glabel EnGe2_Init /* 000F0 80A32CC0 24C68968 */ addiu $a2, $a2, 0x8968 ## $a2 = 06008968 /* 000F4 80A32CC4 AFA50030 */ sw $a1, 0x0030($sp) /* 000F8 80A32CC8 8FA40044 */ lw $a0, 0x0044($sp) -/* 000FC 80A32CCC 0C0291BE */ jal SkelAnime_InitSV +/* 000FC 80A32CCC 0C0291BE */ jal SkelAnime_InitFlex /* 00100 80A32CD0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00104 80A32CD4 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 /* 00108 80A32CD8 24A59ED4 */ addiu $a1, $a1, 0x9ED4 ## $a1 = 06009ED4 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ge3/EnGe3_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Ge3/EnGe3_Draw.s index fb12f9ca21..03c21ad7e0 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ge3/EnGe3_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ge3/EnGe3_Draw.s @@ -63,7 +63,7 @@ glabel EnGe3_Draw /* 00B0C 80A3512C AFAF0010 */ sw $t7, 0x0010($sp) /* 00B10 80A35130 AFB80014 */ sw $t8, 0x0014($sp) /* 00B14 80A35134 AFB00018 */ sw $s0, 0x0018($sp) -/* 00B18 80A35138 0C0286B2 */ jal SkelAnime_DrawSV +/* 00B18 80A35138 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00B1C 80A3513C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00B20 80A35140 3C0680A3 */ lui $a2, %hi(D_80A35210) ## $a2 = 80A30000 /* 00B24 80A35144 24C65210 */ addiu $a2, $a2, %lo(D_80A35210) ## $a2 = 80A35210 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 fb549e78c6..76e493bced 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 @@ -22,7 +22,7 @@ glabel EnGe3_Init /* 000F0 80A34710 24C6A458 */ addiu $a2, $a2, 0xA458 ## $a2 = 0600A458 /* 000F4 80A34714 AFA50034 */ sw $a1, 0x0034($sp) /* 000F8 80A34718 8FA40044 */ lw $a0, 0x0044($sp) -/* 000FC 80A3471C 0C0291BE */ jal SkelAnime_InitSV +/* 000FC 80A3471C 0C0291BE */ jal SkelAnime_InitFlex /* 00100 80A34720 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00104 80A34724 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 /* 00108 80A34728 24A5B07C */ addiu $a1, $a1, 0xB07C ## $a1 = 0600B07C diff --git a/asm/non_matchings/overlays/actors/ovl_En_GeldB/EnGeldB_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_GeldB/EnGeldB_Draw.s index 80bd6e1b98..0c5d53faed 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_GeldB/EnGeldB_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_GeldB/EnGeldB_Draw.s @@ -158,7 +158,7 @@ glabel EnGeldB_Draw /* 049A8 80A39CB8 AFB80014 */ sw $t8, 0x0014($sp) /* 049AC 80A39CBC AFAF0010 */ sw $t7, 0x0010($sp) /* 049B0 80A39CC0 AFB40018 */ sw $s4, 0x0018($sp) -/* 049B4 80A39CC4 0C0286B2 */ jal SkelAnime_DrawSV +/* 049B4 80A39CC4 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 049B8 80A39CC8 8FA400DC */ lw $a0, 0x00DC($sp) /* 049BC 80A39CCC 8E9902EC */ lw $t9, 0x02EC($s4) ## 000002EC /* 049C0 80A39CD0 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 diff --git a/asm/non_matchings/overlays/actors/ovl_En_GeldB/EnGeldB_Init.s b/asm/non_matchings/overlays/actors/ovl_En_GeldB/EnGeldB_Init.s index b442ff60e3..6200d9869f 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_GeldB/EnGeldB_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_GeldB/EnGeldB_Init.s @@ -51,7 +51,7 @@ glabel EnGeldB_Init /* 000C4 80A353D4 AFB90014 */ sw $t9, 0x0014($sp) /* 000C8 80A353D8 AFAA0018 */ sw $t2, 0x0018($sp) /* 000CC 80A353DC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 000D0 80A353E0 0C0291BE */ jal SkelAnime_InitSV +/* 000D0 80A353E0 0C0291BE */ jal SkelAnime_InitFlex /* 000D4 80A353E4 26050188 */ addiu $a1, $s0, 0x0188 ## $a1 = 00000188 /* 000D8 80A353E8 26050320 */ addiu $a1, $s0, 0x0320 ## $a1 = 00000320 /* 000DC 80A353EC AFA50030 */ sw $a1, 0x0030($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Gm/func_80A3D838.s b/asm/non_matchings/overlays/actors/ovl_En_Gm/func_80A3D838.s index 3ccedca561..0190094223 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Gm/func_80A3D838.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Gm/func_80A3D838.s @@ -27,7 +27,7 @@ glabel func_80A3D838 /* 001B8 80A3D898 AFA50030 */ sw $a1, 0x0030($sp) /* 001BC 80A3D89C 24C6FEF0 */ addiu $a2, $a2, 0xFEF0 ## $a2 = 0600FEF0 /* 001C0 80A3D8A0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 001C4 80A3D8A4 0C0291BE */ jal SkelAnime_InitSV +/* 001C4 80A3D8A4 0C0291BE */ jal SkelAnime_InitFlex /* 001C8 80A3D8A8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 001CC 80A3D8AC 820902BC */ lb $t1, 0x02BC($s0) ## 000002BC /* 001D0 80A3D8B0 3C0C0001 */ lui $t4, 0x0001 ## $t4 = 00010000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Gm/func_80A3E1EC.s b/asm/non_matchings/overlays/actors/ovl_En_Gm/func_80A3E1EC.s index de9d8ddf66..0f1214f6d1 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Gm/func_80A3E1EC.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Gm/func_80A3E1EC.s @@ -73,7 +73,7 @@ glabel func_80A3E1EC /* 00C00 80A3E2E0 AFB00018 */ sw $s0, 0x0018($sp) /* 00C04 80A3E2E4 AFA00014 */ sw $zero, 0x0014($sp) /* 00C08 80A3E2E8 AFA00010 */ sw $zero, 0x0010($sp) -/* 00C0C 80A3E2EC 0C0286B2 */ jal SkelAnime_DrawSV +/* 00C0C 80A3E2EC 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00C10 80A3E2F0 8FA4005C */ lw $a0, 0x005C($sp) /* 00C14 80A3E2F4 8FAC005C */ lw $t4, 0x005C($sp) /* 00C18 80A3E2F8 3C0680A4 */ lui $a2, %hi(D_80A3E41C) ## $a2 = 80A40000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Draw.s index c187e9d23f..27d219c8f3 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Go/EnGo_Draw.s @@ -102,7 +102,7 @@ glabel EnGo_Draw /* 03048 80A415B8 AFAA0010 */ sw $t2, 0x0010($sp) /* 0304C 80A415BC AFAB0014 */ sw $t3, 0x0014($sp) /* 03050 80A415C0 AFB00018 */ sw $s0, 0x0018($sp) -/* 03054 80A415C4 0C0286B2 */ jal SkelAnime_DrawSV +/* 03054 80A415C4 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 03058 80A415C8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 0305C 80A415CC 3C0680A4 */ lui $a2, %hi(D_80A41C70) ## $a2 = 80A40000 /* 03060 80A415D0 24C61C70 */ addiu $a2, $a2, %lo(D_80A41C70) ## $a2 = 80A41C70 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 76e304f5ee..d38ff1af34 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 @@ -36,7 +36,7 @@ glabel EnGo_Init /* 01640 80A3FBB0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 01644 80A3FBB4 AFA00010 */ sw $zero, 0x0010($sp) /* 01648 80A3FBB8 AFA00014 */ sw $zero, 0x0014($sp) -/* 0164C 80A3FBBC 0C0291BE */ jal SkelAnime_InitSV +/* 0164C 80A3FBBC 0C0291BE */ jal SkelAnime_InitFlex /* 01650 80A3FBC0 AFA00018 */ sw $zero, 0x0018($sp) /* 01654 80A3FBC4 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 01658 80A3FBC8 AFA50030 */ sw $a1, 0x0030($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Draw.s index 1b6b154fe4..9a5b865c40 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Draw.s @@ -142,7 +142,7 @@ glabel EnGo2_Draw /* 0535C 80A4808C AFAE0014 */ sw $t6, 0x0014($sp) /* 05360 80A48090 AFB00018 */ sw $s0, 0x0018($sp) /* 05364 80A48094 AFB90010 */ sw $t9, 0x0010($sp) -/* 05368 80A48098 0C0286B2 */ jal SkelAnime_DrawSV +/* 05368 80A48098 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0536C 80A4809C 8FA40074 */ lw $a0, 0x0074($sp) /* 05370 80A480A0 8FAA0074 */ lw $t2, 0x0074($sp) /* 05374 80A480A4 3C0680A5 */ lui $a2, %hi(D_80A4863C) ## $a2 = 80A50000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Init.s index 7061c474ed..91f64c12fd 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Go2/EnGo2_Init.s @@ -59,7 +59,7 @@ glabel EnGo2_Init /* 037E8 80A46518 24C6FEF0 */ addiu $a2, $a2, 0xFEF0 ## $a2 = 0600FEF0 /* 037EC 80A4651C AFA50034 */ sw $a1, 0x0034($sp) /* 037F0 80A46520 8FA40044 */ lw $a0, 0x0044($sp) -/* 037F4 80A46524 0C0291BE */ jal SkelAnime_InitSV +/* 037F4 80A46524 0C0291BE */ jal SkelAnime_InitFlex /* 037F8 80A46528 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 037FC 80A4652C 260501BC */ addiu $a1, $s0, 0x01BC ## $a1 = 000001BC /* 03800 80A46530 AFA50030 */ sw $a1, 0x0030($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Goma/EnGoma_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Goma/EnGoma_Draw.s index 198fad549a..3bd0afa56c 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Goma/EnGoma_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Goma/EnGoma_Draw.s @@ -171,7 +171,7 @@ glabel EnGoma_Draw /* 021D0 80A4B090 24E7ACC0 */ addiu $a3, $a3, %lo(func_80A4ACC0) ## $a3 = 80A4ACC0 /* 021D4 80A4B094 AFB00014 */ sw $s0, 0x0014($sp) /* 021D8 80A4B098 AFA00010 */ sw $zero, 0x0010($sp) -/* 021DC 80A4B09C 0C028572 */ jal SkelAnime_Draw +/* 021DC 80A4B09C 0C028572 */ jal SkelAnime_DrawOpa /* 021E0 80A4B0A0 8FA4007C */ lw $a0, 0x007C($sp) /* 021E4 80A4B0A4 100000B6 */ beq $zero, $zero, .L80A4B380 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Draw.s index fee487bd87..65f45a6d73 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Draw.s @@ -16,7 +16,7 @@ glabel EnHs_Draw /* 009EC 80A6ED8C AFAF0010 */ sw $t7, 0x0010($sp) /* 009F0 80A6ED90 AFB80014 */ sw $t8, 0x0014($sp) /* 009F4 80A6ED94 8FA4002C */ lw $a0, 0x002C($sp) -/* 009F8 80A6ED98 0C0286B2 */ jal SkelAnime_DrawSV +/* 009F8 80A6ED98 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 009FC 80A6ED9C AFA20018 */ sw $v0, 0x0018($sp) /* 00A00 80A6EDA0 8FBF0024 */ lw $ra, 0x0024($sp) /* 00A04 80A6EDA4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Init.s index addfd9c9c7..ab24205936 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Hs/EnHs_Init.s @@ -37,7 +37,7 @@ glabel EnHs_Init /* 00058 80A6E3F8 24E705C0 */ addiu $a3, $a3, 0x05C0 ## $a3 = 060005C0 /* 0005C 80A6E3FC 24C66260 */ addiu $a2, $a2, 0x6260 ## $a2 = 06006260 /* 00060 80A6E400 AFA50034 */ sw $a1, 0x0034($sp) -/* 00064 80A6E404 0C0291BE */ jal SkelAnime_InitSV +/* 00064 80A6E404 0C0291BE */ jal SkelAnime_InitFlex /* 00068 80A6E408 8FA40044 */ lw $a0, 0x0044($sp) /* 0006C 80A6E40C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 /* 00070 80A6E410 24A505C0 */ addiu $a1, $a1, 0x05C0 ## $a1 = 060005C0 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Hy/EnHy_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Hy/EnHy_Draw.s index e129790dea..752c2eaf17 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Hy/EnHy_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Hy/EnHy_Draw.s @@ -180,7 +180,7 @@ glabel L80A71E38 /* 028A4 80A71E54 AFB90010 */ sw $t9, 0x0010($sp) /* 028A8 80A71E58 AFAA0014 */ sw $t2, 0x0014($sp) /* 028AC 80A71E5C AFB00018 */ sw $s0, 0x0018($sp) -/* 028B0 80A71E60 0C0286B2 */ jal SkelAnime_DrawSV +/* 028B0 80A71E60 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 028B4 80A71E64 8FA4006C */ lw $a0, 0x006C($sp) .L80A71E68: /* 028B8 80A71E68 8FAB006C */ lw $t3, 0x006C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Hy/func_80A70E34.s b/asm/non_matchings/overlays/actors/ovl_En_Hy/func_80A70E34.s index 8fd7e45953..dadfe13905 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Hy/func_80A70E34.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Hy/func_80A70E34.s @@ -70,7 +70,7 @@ glabel func_80A70E34 /* 01930 80A70EE0 8CC62014 */ lw $a2, %lo(D_80A72014)($a2) /* 01934 80A70EE4 AFB90018 */ sw $t9, 0x0018($sp) /* 01938 80A70EE8 AFB80014 */ sw $t8, 0x0014($sp) -/* 0193C 80A70EEC 0C0291BE */ jal SkelAnime_InitSV +/* 0193C 80A70EEC 0C0291BE */ jal SkelAnime_InitFlex /* 01940 80A70EF0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 01944 80A70EF4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 /* 01948 80A70EF8 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) diff --git a/asm/non_matchings/overlays/actors/ovl_En_In/EnIn_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_In/EnIn_Draw.s index 042ac43265..f71c20cf86 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_In/EnIn_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_In/EnIn_Draw.s @@ -83,7 +83,7 @@ glabel EnIn_Draw /* 02820 80A7B7D0 AFAE0010 */ sw $t6, 0x0010($sp) /* 02824 80A7B7D4 AFAF0014 */ sw $t7, 0x0014($sp) /* 02828 80A7B7D8 AFB00018 */ sw $s0, 0x0018($sp) -/* 0282C 80A7B7DC 0C0286B2 */ jal SkelAnime_DrawSV +/* 0282C 80A7B7DC 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 02830 80A7B7E0 8FA4005C */ lw $a0, 0x005C($sp) .L80A7B7E4: /* 02834 80A7B7E4 8FB8005C */ lw $t8, 0x005C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A79FB0.s b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A79FB0.s index 6c6689182b..97a342c362 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_In/func_80A79FB0.s +++ b/asm/non_matchings/overlays/actors/ovl_En_In/func_80A79FB0.s @@ -54,7 +54,7 @@ glabel func_80A79FB0 /* 01070 80A7A020 24C63B88 */ addiu $a2, $a2, 0x3B88 ## $a2 = 06013B88 /* 01074 80A7A024 8FA40044 */ lw $a0, 0x0044($sp) /* 01078 80A7A028 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 0107C 80A7A02C 0C0291BE */ jal SkelAnime_InitSV +/* 0107C 80A7A02C 0C0291BE */ jal SkelAnime_InitFlex /* 01080 80A7A030 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 01084 80A7A034 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 01088 80A7A038 AFA50034 */ sw $a1, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Draw.s index bac2390302..09f9161164 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Draw.s @@ -80,7 +80,7 @@ glabel EnJj_Draw /* 008FC 80A880FC AFB00018 */ sw $s0, 0x0018($sp) /* 00900 80A88100 AFA00014 */ sw $zero, 0x0014($sp) /* 00904 80A88104 AFA00010 */ sw $zero, 0x0010($sp) -/* 00908 80A88108 0C0286B2 */ jal SkelAnime_DrawSV +/* 00908 80A88108 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0090C 80A8810C 8FA4005C */ lw $a0, 0x005C($sp) /* 00910 80A88110 8FB9005C */ lw $t9, 0x005C($sp) /* 00914 80A88114 3C0680A9 */ lui $a2, %hi(D_80A88D20) ## $a2 = 80A90000 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 c18f300efe..604137a609 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 @@ -41,7 +41,7 @@ glabel EnJj_Init /* 00098 80A87898 AFAE0010 */ sw $t6, 0x0010($sp) /* 0009C 80A8789C 24E71F4C */ addiu $a3, $a3, 0x1F4C ## $a3 = 06001F4C /* 000A0 80A878A0 24C6B9A8 */ addiu $a2, $a2, 0xB9A8 ## $a2 = 0600B9A8 -/* 000A4 80A878A4 0C0291BE */ jal SkelAnime_InitSV +/* 000A4 80A878A4 0C0291BE */ jal SkelAnime_InitFlex /* 000A8 80A878A8 AFA50044 */ sw $a1, 0x0044($sp) /* 000AC 80A878AC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 /* 000B0 80A878B0 24A51F4C */ addiu $a1, $a1, 0x1F4C ## $a1 = 06001F4C diff --git a/asm/non_matchings/overlays/actors/ovl_En_Karebaba/EnKarebaba_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Karebaba/EnKarebaba_Draw.s index 823b60dd10..bf5eb93471 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Karebaba/EnKarebaba_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Karebaba/EnKarebaba_Draw.s @@ -109,7 +109,7 @@ glabel EnKarebaba_Draw /* 01334 80A96684 AFA00014 */ sw $zero, 0x0014($sp) /* 01338 80A96688 AFA00010 */ sw $zero, 0x0010($sp) /* 0133C 80A9668C 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000 -/* 01340 80A96690 0C028572 */ jal SkelAnime_Draw +/* 01340 80A96690 0C028572 */ jal SkelAnime_DrawOpa /* 01344 80A96694 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 01348 80A96698 C66C0024 */ lwc1 $f12, 0x0024($s3) ## 00000024 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ko/func_80A99048.s b/asm/non_matchings/overlays/actors/ovl_En_Ko/func_80A99048.s index 2e57355e3c..c506d6978c 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ko/func_80A99048.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ko/func_80A99048.s @@ -57,7 +57,7 @@ glabel func_80A99048 /* 0235C 80A9910C AFA80014 */ sw $t0, 0x0014($sp) /* 02360 80A99110 AFA90018 */ sw $t1, 0x0018($sp) /* 02364 80A99114 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 02368 80A99118 0C0291BE */ jal SkelAnime_InitSV +/* 02368 80A99118 0C0291BE */ jal SkelAnime_InitFlex /* 0236C 80A9911C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 02370 80A99120 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) /* 02374 80A99124 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mb/EnMb_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Mb/EnMb_Draw.s index 1c6f6c512e..dcad75dde0 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Mb/EnMb_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Mb/EnMb_Draw.s @@ -19,7 +19,7 @@ glabel EnMb_Draw /* 039FC 80AA9A4C AFAF0014 */ sw $t7, 0x0014($sp) /* 03A00 80AA9A50 AFB50018 */ sw $s5, 0x0018($sp) /* 03A04 80AA9A54 AFA00010 */ sw $zero, 0x0010($sp) -/* 03A08 80AA9A58 0C0286B2 */ jal SkelAnime_DrawSV +/* 03A08 80AA9A58 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 03A0C 80AA9A5C 8FA400BC */ lw $a0, 0x00BC($sp) /* 03A10 80AA9A60 86B8001C */ lh $t8, 0x001C($s5) ## 0000001C /* 03A14 80AA9A64 53000029 */ beql $t8, $zero, .L80AA9B0C diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mb/EnMb_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Mb/EnMb_Init.s index 0bf0702d82..ec2c333745 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Mb/EnMb_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Mb/EnMb_Init.s @@ -86,7 +86,7 @@ glabel EnMb_Init /* 00120 80AA6170 AFA90014 */ sw $t1, 0x0014($sp) /* 00124 80AA6174 AFA80010 */ sw $t0, 0x0010($sp) /* 00128 80AA6178 24E728E0 */ addiu $a3, $a3, 0x28E0 ## $a3 = 060028E0 -/* 0012C 80AA617C 0C0291BE */ jal SkelAnime_InitSV +/* 0012C 80AA617C 0C0291BE */ jal SkelAnime_InitFlex /* 00130 80AA6180 24C68F38 */ addiu $a2, $a2, 0x8F38 ## $a2 = 06008F38 /* 00134 80AA6184 3C01447A */ lui $at, 0x447A ## $at = 447A0000 /* 00138 80AA6188 44812000 */ mtc1 $at, $f4 ## $f4 = 1000.00 @@ -113,7 +113,7 @@ glabel EnMb_Init /* 00188 80AA61D8 AFAD0010 */ sw $t5, 0x0010($sp) /* 0018C 80AA61DC 24E7EBE4 */ addiu $a3, $a3, 0xEBE4 ## $a3 = 0600EBE4 /* 00190 80AA61E0 24C64190 */ addiu $a2, $a2, 0x4190 ## $a2 = 06014190 -/* 00194 80AA61E4 0C0291BE */ jal SkelAnime_InitSV +/* 00194 80AA61E4 0C0291BE */ jal SkelAnime_InitFlex /* 00198 80AA61E8 2605018C */ addiu $a1, $s0, 0x018C ## $a1 = 0000018C /* 0019C 80AA61EC 3C0880AB */ lui $t0, %hi(D_80AA9D24) ## $t0 = 80AB0000 /* 001A0 80AA61F0 24180006 */ addiu $t8, $zero, 0x0006 ## $t8 = 00000006 @@ -202,7 +202,7 @@ glabel EnMb_Init /* 002D0 80AA6320 AFA80010 */ sw $t0, 0x0010($sp) /* 002D4 80AA6324 24E728E0 */ addiu $a3, $a3, 0x28E0 ## $a3 = 060028E0 /* 002D8 80AA6328 24C68F38 */ addiu $a2, $a2, 0x8F38 ## $a2 = 06008F38 -/* 002DC 80AA632C 0C0291BE */ jal SkelAnime_InitSV +/* 002DC 80AA632C 0C0291BE */ jal SkelAnime_InitFlex /* 002E0 80AA6330 2605018C */ addiu $a1, $s0, 0x018C ## $a1 = 0000018C /* 002E4 80AA6334 3C053C65 */ lui $a1, 0x3C65 ## $a1 = 3C650000 /* 002E8 80AA6338 34A56042 */ ori $a1, $a1, 0x6042 ## $a1 = 3C656042 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Draw.s index 7d8a3d9b55..d6582d1a19 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Mk/EnMk_Draw.s @@ -16,7 +16,7 @@ glabel EnMk_Draw /* 00CD4 80AAD5D4 AFAF0010 */ sw $t7, 0x0010($sp) /* 00CD8 80AAD5D8 AFB80014 */ sw $t8, 0x0014($sp) /* 00CDC 80AAD5DC 8FA4002C */ lw $a0, 0x002C($sp) -/* 00CE0 80AAD5E0 0C0286B2 */ jal SkelAnime_DrawSV +/* 00CE0 80AAD5E0 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00CE4 80AAD5E4 AFA20018 */ sw $v0, 0x0018($sp) /* 00CE8 80AAD5E8 8FBF0024 */ lw $ra, 0x0024($sp) /* 00CEC 80AAD5EC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 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 59621f73fa..ddde48830d 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 @@ -29,7 +29,7 @@ glabel EnMk_Init /* 00068 80AAC968 24E70D88 */ addiu $a3, $a3, 0x0D88 ## $a3 = 06000D88 /* 0006C 80AAC96C 24C65DF0 */ addiu $a2, $a2, 0x5DF0 ## $a2 = 06005DF0 /* 00070 80AAC970 AFA50034 */ sw $a1, 0x0034($sp) -/* 00074 80AAC974 0C0291BE */ jal SkelAnime_InitSV +/* 00074 80AAC974 0C0291BE */ jal SkelAnime_InitFlex /* 00078 80AAC978 8FA40044 */ lw $a0, 0x0044($sp) /* 0007C 80AAC97C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 /* 00080 80AAC980 24A50D88 */ addiu $a1, $a1, 0x0D88 ## $a1 = 06000D88 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Draw.s index 9d74b8d397..0924af0c93 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Mm/EnMm_Draw.s @@ -77,7 +77,7 @@ glabel EnMm_Draw /* 00FF8 80AAE768 AFB90014 */ sw $t9, 0x0014($sp) /* 00FFC 80AAE76C AFB80010 */ sw $t8, 0x0010($sp) /* 01000 80AAE770 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01004 80AAE774 0C0286B2 */ jal SkelAnime_DrawSV +/* 01004 80AAE774 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 01008 80AAE778 AFA80018 */ sw $t0, 0x0018($sp) /* 0100C 80AAE77C 3C0A8016 */ lui $t2, %hi(gSaveContext+0xef6) /* 01010 80AAE780 954AF556 */ lhu $t2, %lo(gSaveContext+0xef6)($t2) 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 c8bb8a5311..ddd464cd95 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 @@ -26,7 +26,7 @@ glabel EnMm_Init /* 00178 80AAD8E8 24C65E18 */ addiu $a2, $a2, 0x5E18 ## $a2 = 06005E18 /* 0017C 80AAD8EC AFA50038 */ sw $a1, 0x0038($sp) /* 00180 80AAD8F0 8FA4004C */ lw $a0, 0x004C($sp) -/* 00184 80AAD8F4 0C0291BE */ jal SkelAnime_InitSV +/* 00184 80AAD8F4 0C0291BE */ jal SkelAnime_InitFlex /* 00188 80AAD8F8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 0018C 80AAD8FC 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 00190 80AAD900 AFA50034 */ sw $a1, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Draw.s index 46247ebd52..ef9b62615e 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Mm2/EnMm2_Draw.s @@ -59,7 +59,7 @@ glabel EnMm2_Draw /* 00B44 80AAF994 AFA80014 */ sw $t0, 0x0014($sp) /* 00B48 80AAF998 AFB90010 */ sw $t9, 0x0010($sp) /* 00B4C 80AAF99C AFB00018 */ sw $s0, 0x0018($sp) -/* 00B50 80AAF9A0 0C0286B2 */ jal SkelAnime_DrawSV +/* 00B50 80AAF9A0 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00B54 80AAF9A4 8FA40054 */ lw $a0, 0x0054($sp) /* 00B58 80AAF9A8 8FA90054 */ lw $t1, 0x0054($sp) /* 00B5C 80AAF9AC 3C0680AB */ lui $a2, %hi(D_80AAFBF8) ## $a2 = 80AB0000 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 8b4bbbe755..180bb22422 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 @@ -32,7 +32,7 @@ glabel EnMm2_Init /* 00244 80AAF094 24C65E18 */ addiu $a2, $a2, 0x5E18 ## $a2 = 06005E18 /* 00248 80AAF098 AFA50030 */ sw $a1, 0x0030($sp) /* 0024C 80AAF09C 8FA40044 */ lw $a0, 0x0044($sp) -/* 00250 80AAF0A0 0C0291BE */ jal SkelAnime_InitSV +/* 00250 80AAF0A0 0C0291BE */ jal SkelAnime_InitFlex /* 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 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Draw.s index 2e5250c2cf..8a18705862 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Draw.s @@ -99,7 +99,7 @@ glabel EnMu_Draw /* 00748 80AB0B68 AFAC0010 */ sw $t4, 0x0010($sp) /* 0074C 80AB0B6C AFAD0014 */ sw $t5, 0x0014($sp) /* 00750 80AB0B70 AFB60018 */ sw $s6, 0x0018($sp) -/* 00754 80AB0B74 0C0286B2 */ jal SkelAnime_DrawSV +/* 00754 80AB0B74 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00758 80AB0B78 03C02025 */ or $a0, $s8, $zero ## $a0 = 00000000 /* 0075C 80AB0B7C 3C0680AB */ lui $a2, %hi(D_80AB0C80) ## $a2 = 80AB0000 /* 00760 80AB0B80 24C60C80 */ addiu $a2, $a2, %lo(D_80AB0C80) ## $a2 = 80AB0C80 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Init.s index 519260a34c..b2ac4a1410 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Mu/EnMu_Init.s @@ -19,7 +19,7 @@ glabel EnMu_Init /* 0024C 80AB066C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 00250 80AB0670 AFA00010 */ sw $zero, 0x0010($sp) /* 00254 80AB0674 AFA00014 */ sw $zero, 0x0014($sp) -/* 00258 80AB0678 0C0291BE */ jal SkelAnime_InitSV +/* 00258 80AB0678 0C0291BE */ jal SkelAnime_InitFlex /* 0025C 80AB067C AFA00018 */ sw $zero, 0x0018($sp) /* 00260 80AB0680 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 00264 80AB0684 AFA50034 */ sw $a1, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Nb/EnNb_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Nb/EnNb_Init.s index 210db2387c..dccb47ed85 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Nb/EnNb_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Nb/EnNb_Init.s @@ -35,7 +35,7 @@ glabel EnNb_Init /* 03194 80AB3F24 24C681C8 */ addiu $a2, $a2, 0x81C8 ## $a2 = 060181C8 /* 03198 80AB3F28 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 0319C 80AB3F2C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 031A0 80AB3F30 0C0291BE */ jal SkelAnime_InitSV +/* 031A0 80AB3F30 0C0291BE */ jal SkelAnime_InitFlex /* 031A4 80AB3F34 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 031A8 80AB3F38 0C2AC368 */ jal func_80AB0DA0 /* 031AC 80AB3F3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB1E2C.s b/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB1E2C.s index cbbe776316..489452a36a 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB1E2C.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB1E2C.s @@ -88,7 +88,7 @@ glabel func_80AB1E2C /* 011CC 80AB1F5C AFA00010 */ sw $zero, 0x0010($sp) /* 011D0 80AB1F60 8E0D02D0 */ lw $t5, 0x02D0($s0) ## 000002D0 /* 011D4 80AB1F64 8FA4007C */ lw $a0, 0x007C($sp) -/* 011D8 80AB1F68 0C0289CF */ jal SkelAnime_DrawSV2 +/* 011D8 80AB1F68 0C0289CF */ jal SkelAnime_DrawFlex /* 011DC 80AB1F6C AFAD001C */ sw $t5, 0x001C($sp) /* 011E0 80AB1F70 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 /* 011E4 80AB1F74 8FAE007C */ lw $t6, 0x007C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB2E70.s b/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB2E70.s index 05e28a76ee..cd9c6bec37 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB2E70.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB2E70.s @@ -80,7 +80,7 @@ glabel func_80AB2E70 /* 021F0 80AB2F80 90470002 */ lbu $a3, 0x0002($v0) ## 0000014E /* 021F4 80AB2F84 AFA00014 */ sw $zero, 0x0014($sp) /* 021F8 80AB2F88 AFA00010 */ sw $zero, 0x0010($sp) -/* 021FC 80AB2F8C 0C0286B2 */ jal SkelAnime_DrawSV +/* 021FC 80AB2F8C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 02200 80AB2F90 AFA30018 */ sw $v1, 0x0018($sp) /* 02204 80AB2F94 8FA90064 */ lw $t1, 0x0064($sp) /* 02208 80AB2F98 3C0680AB */ lui $a2, %hi(D_80AB50E0) ## $a2 = 80AB0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB2FE4.s b/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB2FE4.s index f74838b792..d50c8d3fa4 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB2FE4.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB2FE4.s @@ -87,7 +87,7 @@ glabel func_80AB2FE4 /* 02380 80AB3110 AFA00014 */ sw $zero, 0x0014($sp) /* 02384 80AB3114 AFAC0010 */ sw $t4, 0x0010($sp) /* 02388 80AB3118 8FA40074 */ lw $a0, 0x0074($sp) -/* 0238C 80AB311C 0C0286B2 */ jal SkelAnime_DrawSV +/* 0238C 80AB311C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 02390 80AB3120 AFA30018 */ sw $v1, 0x0018($sp) /* 02394 80AB3124 8FAD0074 */ lw $t5, 0x0074($sp) /* 02398 80AB3128 3C0680AB */ lui $a2, %hi(D_80AB5118) ## $a2 = 80AB0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB410C.s b/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB410C.s index 0b87bbae5b..d2bdf1feef 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB410C.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Nb/func_80AB410C.s @@ -89,7 +89,7 @@ glabel func_80AB410C /* 034B0 80AB4240 AFAD0014 */ sw $t5, 0x0014($sp) /* 034B4 80AB4244 AFAC0010 */ sw $t4, 0x0010($sp) /* 034B8 80AB4248 8FA40074 */ lw $a0, 0x0074($sp) -/* 034BC 80AB424C 0C0286B2 */ jal SkelAnime_DrawSV +/* 034BC 80AB424C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 034C0 80AB4250 AFA30018 */ sw $v1, 0x0018($sp) /* 034C4 80AB4254 8FAE0074 */ lw $t6, 0x0074($sp) /* 034C8 80AB4258 3C0680AB */ lui $a2, %hi(D_80AB51B8) ## $a2 = 80AB0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6ADC.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6ADC.s index 3cf362f9d7..059aaa4824 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6ADC.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6ADC.s @@ -12,7 +12,7 @@ glabel func_80AC6ADC /* 03E64 80AC6B04 AFA00010 */ sw $zero, 0x0010($sp) /* 03E68 80AC6B08 AFA00014 */ sw $zero, 0x0014($sp) /* 03E6C 80AC6B0C AFA00018 */ sw $zero, 0x0018($sp) -/* 03E70 80AC6B10 0C0291BE */ jal SkelAnime_InitSV +/* 03E70 80AC6B10 0C0291BE */ jal SkelAnime_InitFlex /* 03E74 80AC6B14 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C /* 03E78 80AC6B18 8FA20028 */ lw $v0, 0x0028($sp) /* 03E7C 80AC6B1C 3C0E80AC */ lui $t6, %hi(func_80AC7DAC) ## $t6 = 80AC0000 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 0a596194fd..4b23fe8afb 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 @@ -12,7 +12,7 @@ glabel func_80AC6B3C /* 03EC4 80AC6B64 AFA00010 */ sw $zero, 0x0010($sp) /* 03EC8 80AC6B68 AFA00014 */ sw $zero, 0x0014($sp) /* 03ECC 80AC6B6C AFA00018 */ sw $zero, 0x0018($sp) -/* 03ED0 80AC6B70 0C0291BE */ jal SkelAnime_InitSV +/* 03ED0 80AC6B70 0C0291BE */ jal SkelAnime_InitFlex /* 03ED4 80AC6B74 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 03ED8 80AC6B78 820F01EA */ lb $t7, 0x01EA($s0) ## 000001EA /* 03EDC 80AC6B7C 8FAE004C */ lw $t6, 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 da276dc929..bd2469f123 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 @@ -12,7 +12,7 @@ glabel func_80AC6C54 /* 03FDC 80AC6C7C AFA00010 */ sw $zero, 0x0010($sp) /* 03FE0 80AC6C80 AFA00014 */ sw $zero, 0x0014($sp) /* 03FE4 80AC6C84 AFA00018 */ sw $zero, 0x0018($sp) -/* 03FE8 80AC6C88 0C0291BE */ jal SkelAnime_InitSV +/* 03FE8 80AC6C88 0C0291BE */ jal SkelAnime_InitFlex /* 03FEC 80AC6C8C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 03FF0 80AC6C90 8FAF0030 */ lw $t7, 0x0030($sp) /* 03FF4 80AC6C94 8FAE0034 */ lw $t6, 0x0034($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 3a261b9154..869ab4ad20 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 @@ -12,7 +12,7 @@ glabel func_80AC6D30 /* 040B8 80AC6D58 AFA00010 */ sw $zero, 0x0010($sp) /* 040BC 80AC6D5C AFA00014 */ sw $zero, 0x0014($sp) /* 040C0 80AC6D60 AFA00018 */ sw $zero, 0x0018($sp) -/* 040C4 80AC6D64 0C0291BE */ jal SkelAnime_InitSV +/* 040C4 80AC6D64 0C0291BE */ jal SkelAnime_InitFlex /* 040C8 80AC6D68 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 040CC 80AC6D6C 8FAF0030 */ lw $t7, 0x0030($sp) /* 040D0 80AC6D70 8FAE0034 */ lw $t6, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6E0C.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6E0C.s index 6bdecb6ddb..66b7b5b8db 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6E0C.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6E0C.s @@ -12,7 +12,7 @@ glabel func_80AC6E0C /* 04194 80AC6E34 AFA00010 */ sw $zero, 0x0010($sp) /* 04198 80AC6E38 AFA00014 */ sw $zero, 0x0014($sp) /* 0419C 80AC6E3C AFA00018 */ sw $zero, 0x0018($sp) -/* 041A0 80AC6E40 0C0291BE */ jal SkelAnime_InitSV +/* 041A0 80AC6E40 0C0291BE */ jal SkelAnime_InitFlex /* 041A4 80AC6E44 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C /* 041A8 80AC6E48 8FA20028 */ lw $v0, 0x0028($sp) /* 041AC 80AC6E4C 3C0E80AD */ lui $t6, %hi(func_80AC854C) ## $t6 = 80AD0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6E6C.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6E6C.s index aaadb2a9b5..99311497b0 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6E6C.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6E6C.s @@ -12,7 +12,7 @@ glabel func_80AC6E6C /* 041F4 80AC6E94 AFA00010 */ sw $zero, 0x0010($sp) /* 041F8 80AC6E98 AFA00014 */ sw $zero, 0x0014($sp) /* 041FC 80AC6E9C AFA00018 */ sw $zero, 0x0018($sp) -/* 04200 80AC6EA0 0C0291BE */ jal SkelAnime_InitSV +/* 04200 80AC6EA0 0C0291BE */ jal SkelAnime_InitFlex /* 04204 80AC6EA4 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C /* 04208 80AC6EA8 8FA20028 */ lw $v0, 0x0028($sp) /* 0420C 80AC6EAC 3C0E80AD */ lui $t6, %hi(func_80AC8668) ## $t6 = 80AD0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6ECC.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6ECC.s index 64cc6f6d5f..ba66069411 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6ECC.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC6ECC.s @@ -12,7 +12,7 @@ glabel func_80AC6ECC /* 04254 80AC6EF4 AFA00010 */ sw $zero, 0x0010($sp) /* 04258 80AC6EF8 AFA00014 */ sw $zero, 0x0014($sp) /* 0425C 80AC6EFC AFA00018 */ sw $zero, 0x0018($sp) -/* 04260 80AC6F00 0C0291BE */ jal SkelAnime_InitSV +/* 04260 80AC6F00 0C0291BE */ jal SkelAnime_InitFlex /* 04264 80AC6F04 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C /* 04268 80AC6F08 8FA20028 */ lw $v0, 0x0028($sp) /* 0426C 80AC6F0C 3C0E80AD */ lui $t6, %hi(func_80AC8784) ## $t6 = 80AD0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC7DAC.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC7DAC.s index 3a56428dcf..01d9625f43 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC7DAC.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC7DAC.s @@ -57,7 +57,7 @@ glabel func_80AC7DAC /* 051C0 80AC7E60 AFB00018 */ sw $s0, 0x0018($sp) /* 051C4 80AC7E64 AFA00014 */ sw $zero, 0x0014($sp) /* 051C8 80AC7E68 AFAF0010 */ sw $t7, 0x0010($sp) -/* 051CC 80AC7E6C 0C0286B2 */ jal SkelAnime_DrawSV +/* 051CC 80AC7E6C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 051D0 80AC7E70 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 051D4 80AC7E74 C6040238 */ lwc1 $f4, 0x0238($s0) ## 00000238 /* 051D8 80AC7E78 8E060230 */ lw $a2, 0x0230($s0) ## 00000230 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC80B4.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC80B4.s index eef7860569..30bb318ea9 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC80B4.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC80B4.s @@ -83,7 +83,7 @@ glabel func_80AC80B4 /* 05530 80AC81D0 AFB10018 */ sw $s1, 0x0018($sp) /* 05534 80AC81D4 AFA00014 */ sw $zero, 0x0014($sp) /* 05538 80AC81D8 AFAF0010 */ sw $t7, 0x0010($sp) -/* 0553C 80AC81DC 0C0286B2 */ jal SkelAnime_DrawSV +/* 0553C 80AC81DC 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 05540 80AC81E0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 /* 05544 80AC81E4 C6240238 */ lwc1 $f4, 0x0238($s1) ## 00000238 /* 05548 80AC81E8 8E260230 */ lw $a2, 0x0230($s1) ## 00000230 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8244.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8244.s index 7c31352d2f..aeacc25be9 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8244.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8244.s @@ -73,7 +73,7 @@ glabel func_80AC8244 /* 05698 80AC8338 8E050150 */ lw $a1, 0x0150($s0) ## 00000150 /* 0569C 80AC833C AFB00018 */ sw $s0, 0x0018($sp) /* 056A0 80AC8340 AFA00014 */ sw $zero, 0x0014($sp) -/* 056A4 80AC8344 0C0286B2 */ jal SkelAnime_DrawSV +/* 056A4 80AC8344 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 056A8 80AC8348 AFA00010 */ sw $zero, 0x0010($sp) /* 056AC 80AC834C C6040238 */ lwc1 $f4, 0x0238($s0) ## 00000238 /* 056B0 80AC8350 8E060230 */ lw $a2, 0x0230($s0) ## 00000230 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC83DC.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC83DC.s index f54c0fbddd..709a4fb1c3 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC83DC.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC83DC.s @@ -75,7 +75,7 @@ glabel func_80AC83DC /* 05838 80AC84D8 AFB00018 */ sw $s0, 0x0018($sp) /* 0583C 80AC84DC AFA00014 */ sw $zero, 0x0014($sp) /* 05840 80AC84E0 AFAA0010 */ sw $t2, 0x0010($sp) -/* 05844 80AC84E4 0C0286B2 */ jal SkelAnime_DrawSV +/* 05844 80AC84E4 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 05848 80AC84E8 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 /* 0584C 80AC84EC C6040238 */ lwc1 $f4, 0x0238($s0) ## 00000238 /* 05850 80AC84F0 8E060230 */ lw $a2, 0x0230($s0) ## 00000230 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC854C.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC854C.s index 024712bc1b..4ab850aab5 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC854C.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC854C.s @@ -55,7 +55,7 @@ glabel func_80AC854C /* 05958 80AC85F8 AFB00018 */ sw $s0, 0x0018($sp) /* 0595C 80AC85FC AFA00014 */ sw $zero, 0x0014($sp) /* 05960 80AC8600 AFA00010 */ sw $zero, 0x0010($sp) -/* 05964 80AC8604 0C0286B2 */ jal SkelAnime_DrawSV +/* 05964 80AC8604 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 05968 80AC8608 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 0596C 80AC860C C6040238 */ lwc1 $f4, 0x0238($s0) ## 00000238 /* 05970 80AC8610 8E060230 */ lw $a2, 0x0230($s0) ## 00000230 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8668.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8668.s index 2dd0f70ccc..84796fbf20 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8668.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8668.s @@ -55,7 +55,7 @@ glabel func_80AC8668 /* 05A74 80AC8714 AFB00018 */ sw $s0, 0x0018($sp) /* 05A78 80AC8718 AFA00014 */ sw $zero, 0x0014($sp) /* 05A7C 80AC871C AFA00010 */ sw $zero, 0x0010($sp) -/* 05A80 80AC8720 0C0286B2 */ jal SkelAnime_DrawSV +/* 05A80 80AC8720 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 05A84 80AC8724 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 05A88 80AC8728 C6040238 */ lwc1 $f4, 0x0238($s0) ## 00000238 /* 05A8C 80AC872C 8E060230 */ lw $a2, 0x0230($s0) ## 00000230 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8784.s b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8784.s index 7711fcdde8..7ac18577b9 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8784.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ossan/func_80AC8784.s @@ -55,7 +55,7 @@ glabel func_80AC8784 /* 05B90 80AC8830 AFB00018 */ sw $s0, 0x0018($sp) /* 05B94 80AC8834 AFA00014 */ sw $zero, 0x0014($sp) /* 05B98 80AC8838 AFA00010 */ sw $zero, 0x0010($sp) -/* 05B9C 80AC883C 0C0286B2 */ jal SkelAnime_DrawSV +/* 05B9C 80AC883C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 05BA0 80AC8840 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 05BA4 80AC8844 C6040238 */ lwc1 $f4, 0x0238($s0) ## 00000238 /* 05BA8 80AC8848 8E060230 */ lw $a2, 0x0230($s0) ## 00000230 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Owl/EnOwl_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Owl/EnOwl_Draw.s index e1e7f1038c..66ab8fc4da 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Owl/EnOwl_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Owl/EnOwl_Draw.s @@ -60,7 +60,7 @@ glabel EnOwl_Draw /* 03158 80ACD078 AFAA0014 */ sw $t2, 0x0014($sp) /* 0315C 80ACD07C AFA90010 */ sw $t1, 0x0010($sp) /* 03160 80ACD080 8FA40054 */ lw $a0, 0x0054($sp) -/* 03164 80ACD084 0C0286B2 */ jal SkelAnime_DrawSV +/* 03164 80ACD084 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 03168 80ACD088 AFA80018 */ sw $t0, 0x0018($sp) /* 0316C 80ACD08C 8FAC0054 */ lw $t4, 0x0054($sp) /* 03170 80ACD090 3C0680AD */ lui $a2, %hi(D_80ACD7EC) ## $a2 = 80AD0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Owl/EnOwl_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Owl/EnOwl_Init.s index 5d8a037a13..17620c226a 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Owl/EnOwl_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Owl/EnOwl_Init.s @@ -88,7 +88,7 @@ glabel EnOwl_Init /* 00058 80AC9F78 24E715CC */ addiu $a3, $a3, 0x15CC ## $a3 = 060015CC /* 0005C 80AC9F7C 24C6C0E8 */ addiu $a2, $a2, 0xC0E8 ## $a2 = 0600C0E8 /* 00060 80AC9F80 8FA40054 */ lw $a0, 0x0054($sp) -/* 00064 80AC9F84 0C0291BE */ jal SkelAnime_InitSV +/* 00064 80AC9F84 0C0291BE */ jal SkelAnime_InitFlex /* 00068 80AC9F88 26050198 */ addiu $a1, $s0, 0x0198 ## $a1 = 00000198 /* 0006C 80AC9F8C 260502D8 */ addiu $a1, $s0, 0x02D8 ## $a1 = 000002D8 /* 00070 80AC9F90 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000 @@ -102,7 +102,7 @@ glabel EnOwl_Init /* 00090 80AC9FB0 24E7C8A0 */ addiu $a3, $a3, 0xC8A0 ## $a3 = 0600C8A0 /* 00094 80AC9FB4 24C600B0 */ addiu $a2, $a2, 0x00B0 ## $a2 = 060100B0 /* 00098 80AC9FB8 AFA50034 */ sw $a1, 0x0034($sp) -/* 0009C 80AC9FBC 0C0291BE */ jal SkelAnime_InitSV +/* 0009C 80AC9FBC 0C0291BE */ jal SkelAnime_InitFlex /* 000A0 80AC9FC0 8FA40054 */ lw $a0, 0x0054($sp) /* 000A4 80AC9FC4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 000A8 80AC9FC8 AFA50038 */ sw $a1, 0x0038($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Peehat/EnPeehat_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Peehat/EnPeehat_Draw.s index 5060455574..84ef7eae57 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Peehat/EnPeehat_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Peehat/EnPeehat_Draw.s @@ -14,7 +14,7 @@ glabel EnPeehat_Draw /* 031B8 80AD2658 24E72224 */ addiu $a3, $a3, %lo(func_80AD2224) ## $a3 = 80AD2224 /* 031BC 80AD265C AFB00014 */ sw $s0, 0x0014($sp) /* 031C0 80AD2660 AFAF0010 */ sw $t7, 0x0010($sp) -/* 031C4 80AD2664 0C028572 */ jal SkelAnime_Draw +/* 031C4 80AD2664 0C028572 */ jal SkelAnime_DrawOpa /* 031C8 80AD2668 8FA40044 */ lw $a0, 0x0044($sp) /* 031CC 80AD266C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Po_Desert/EnPoDesert_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Po_Desert/EnPoDesert_Draw.s index 2e64fb08ed..a07e2f17e1 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Po_Desert/EnPoDesert_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Po_Desert/EnPoDesert_Draw.s @@ -92,7 +92,7 @@ glabel EnPoDesert_Draw /* 00C7C 80AD392C AFB10014 */ sw $s1, 0x0014($sp) /* 00C80 80AD3930 8E0902D0 */ lw $t1, 0x02D0($s0) ## 000002D0 /* 00C84 80AD3934 24E73504 */ addiu $a3, $a3, %lo(func_80AD3504) ## $a3 = 80AD3504 -/* 00C88 80AD3938 0C0288A2 */ jal SkelAnime_Draw2 +/* 00C88 80AD3938 0C0288A2 */ jal SkelAnime_Draw /* 00C8C 80AD393C AFA90018 */ sw $t1, 0x0018($sp) /* 00C90 80AD3940 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 /* 00C94 80AD3944 3C0680AD */ lui $a2, %hi(D_80AD3A18) ## $a2 = 80AD0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Po_Field/EnPoField_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Po_Field/EnPoField_Draw.s index 5fa2cf4c0e..8a0854c60c 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Po_Field/EnPoField_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Po_Field/EnPoField_Draw.s @@ -100,7 +100,7 @@ glabel EnPoField_Draw /* 02F30 80AD6A30 3C0780AD */ lui $a3, %hi(func_80AD65C8) ## $a3 = 80AD0000 /* 02F34 80AD6A34 24E765C8 */ addiu $a3, $a3, %lo(func_80AD65C8) ## $a3 = 80AD65C8 /* 02F38 80AD6A38 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 02F3C 80AD6A3C 0C0288A2 */ jal SkelAnime_Draw2 +/* 02F3C 80AD6A3C 0C0288A2 */ jal SkelAnime_Draw /* 02F40 80AD6A40 AFAB0018 */ sw $t3, 0x0018($sp) /* 02F44 80AD6A44 10000027 */ beq $zero, $zero, .L80AD6AE4 /* 02F48 80AD6A48 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 @@ -140,7 +140,7 @@ glabel EnPoField_Draw /* 02FCC 80AD6ACC 3C0780AD */ lui $a3, %hi(func_80AD65C8) ## $a3 = 80AD0000 /* 02FD0 80AD6AD0 24E765C8 */ addiu $a3, $a3, %lo(func_80AD65C8) ## $a3 = 80AD65C8 /* 02FD4 80AD6AD4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 02FD8 80AD6AD8 0C0288A2 */ jal SkelAnime_Draw2 +/* 02FD8 80AD6AD8 0C0288A2 */ jal SkelAnime_Draw /* 02FDC 80AD6ADC AFAA0018 */ sw $t2, 0x0018($sp) /* 02FE0 80AD6AE0 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 .L80AD6AE4: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Po_Relay/EnPoRelay_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Po_Relay/EnPoRelay_Draw.s index 0c72a041ea..2f3b81cb30 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Po_Relay/EnPoRelay_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Po_Relay/EnPoRelay_Draw.s @@ -57,7 +57,7 @@ glabel EnPoRelay_Draw /* 014AC 80AD8BEC AFB00018 */ sw $s0, 0x0018($sp) /* 014B0 80AD8BF0 AFB90014 */ sw $t9, 0x0014($sp) /* 014B4 80AD8BF4 AFA00010 */ sw $zero, 0x0010($sp) -/* 014B8 80AD8BF8 0C0286B2 */ jal SkelAnime_DrawSV +/* 014B8 80AD8BF8 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 014BC 80AD8BFC 8FA40054 */ lw $a0, 0x0054($sp) /* 014C0 80AD8C00 8FA80054 */ lw $t0, 0x0054($sp) /* 014C4 80AD8C04 3C0680AE */ lui $a2, %hi(D_80AD8DD8) ## $a2 = 80AE0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Po_Relay/EnPoRelay_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Po_Relay/EnPoRelay_Init.s index 71b804a5d4..69c56ef5e0 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Po_Relay/EnPoRelay_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Po_Relay/EnPoRelay_Init.s @@ -27,7 +27,7 @@ glabel EnPoRelay_Init /* 0005C 80AD779C 24E73768 */ addiu $a3, $a3, 0x3768 ## $a3 = 06003768 /* 00060 80AD77A0 24C6BE40 */ addiu $a2, $a2, 0xBE40 ## $a2 = 0600BE40 /* 00064 80AD77A4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00068 80AD77A8 0C0291BE */ jal SkelAnime_InitSV +/* 00068 80AD77A8 0C0291BE */ jal SkelAnime_InitFlex /* 0006C 80AD77AC 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 00070 80AD77B0 26050290 */ addiu $a1, $s0, 0x0290 ## $a1 = 00000290 /* 00074 80AD77B4 AFA50034 */ sw $a1, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Po_Sisters/EnPoSisters_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Po_Sisters/EnPoSisters_Draw.s index c498e674fe..26dd1c9033 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Po_Sisters/EnPoSisters_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Po_Sisters/EnPoSisters_Draw.s @@ -118,7 +118,7 @@ glabel EnPoSisters_Draw /* 041DC 80ADD16C 8E6D02C0 */ lw $t5, 0x02C0($s3) ## 000002C0 /* 041E0 80ADD170 24E7C77C */ addiu $a3, $a3, %lo(func_80ADC77C) ## $a3 = 80ADC77C /* 041E4 80ADD174 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 041E8 80ADD178 0C0288A2 */ jal SkelAnime_Draw2 +/* 041E8 80ADD178 0C0288A2 */ jal SkelAnime_Draw /* 041EC 80ADD17C AFAD0018 */ sw $t5, 0x0018($sp) /* 041F0 80ADD180 1000001F */ beq $zero, $zero, .L80ADD200 /* 041F4 80ADD184 AE6202C0 */ sw $v0, 0x02C0($s3) ## 000002C0 @@ -150,7 +150,7 @@ glabel EnPoSisters_Draw /* 04258 80ADD1E8 3C0780AE */ lui $a3, %hi(func_80ADC77C) ## $a3 = 80AE0000 /* 0425C 80ADD1EC 24E7C77C */ addiu $a3, $a3, %lo(func_80ADC77C) ## $a3 = 80ADC77C /* 04260 80ADD1F0 02C02025 */ or $a0, $s6, $zero ## $a0 = 00000000 -/* 04264 80ADD1F4 0C0288A2 */ jal SkelAnime_Draw2 +/* 04264 80ADD1F4 0C0288A2 */ jal SkelAnime_Draw /* 04268 80ADD1F8 AFAF0018 */ sw $t7, 0x0018($sp) /* 0426C 80ADD1FC AE6202D0 */ sw $v0, 0x02D0($s3) ## 000002D0 .L80ADD200: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Poh/EnPoh_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Poh/EnPoh_Update.s index 39d6478614..f4dd5bb1c0 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Poh/EnPoh_Update.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Poh/EnPoh_Update.s @@ -52,7 +52,7 @@ glabel EnPoh_Update /* 0289C 80AE05EC AFAC0014 */ sw $t4, 0x0014($sp) /* 028A0 80AE05F0 AFAB0010 */ sw $t3, 0x0010($sp) /* 028A4 80AE05F4 24E709DC */ addiu $a3, $a3, 0x09DC ## $a3 = 060009DC -/* 028A8 80AE05F8 0C0291BE */ jal SkelAnime_InitSV +/* 028A8 80AE05F8 0C0291BE */ jal SkelAnime_InitFlex /* 028AC 80AE05FC 24C66F90 */ addiu $a2, $a2, 0x6F90 ## $a2 = 00006F90 /* 028B0 80AE0600 8E180324 */ lw $t8, 0x0324($s0) ## 00000324 /* 028B4 80AE0604 3C0E80AE */ lui $t6, %hi(func_80AE1148) ## $t6 = 80AE0000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Poh/func_80AE0EE4.s b/asm/non_matchings/overlays/actors/ovl_En_Poh/func_80AE0EE4.s index 221b8f6f3e..77a48945f1 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Poh/func_80AE0EE4.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Poh/func_80AE0EE4.s @@ -75,7 +75,7 @@ glabel func_80AE0EE4 /* 0327C 80AE0FCC 8E0F02C0 */ lw $t7, 0x02C0($s0) ## 000002C0 /* 03280 80AE0FD0 8FA40074 */ lw $a0, 0x0074($sp) /* 03284 80AE0FD4 24E70BF8 */ addiu $a3, $a3, %lo(func_80AE0BF8) ## $a3 = 80AE0BF8 -/* 03288 80AE0FD8 0C0288A2 */ jal SkelAnime_Draw2 +/* 03288 80AE0FD8 0C0288A2 */ jal SkelAnime_Draw /* 0328C 80AE0FDC AFAF0018 */ sw $t7, 0x0018($sp) /* 03290 80AE0FE0 1000001F */ beq $zero, $zero, .L80AE1060 /* 03294 80AE0FE4 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 @@ -107,7 +107,7 @@ glabel func_80AE0EE4 /* 032F8 80AE1048 3C0780AE */ lui $a3, %hi(func_80AE0BF8) ## $a3 = 80AE0000 /* 032FC 80AE104C 24E70BF8 */ addiu $a3, $a3, %lo(func_80AE0BF8) ## $a3 = 80AE0BF8 /* 03300 80AE1050 8FA40074 */ lw $a0, 0x0074($sp) -/* 03304 80AE1054 0C0288A2 */ jal SkelAnime_Draw2 +/* 03304 80AE1054 0C0288A2 */ jal SkelAnime_Draw /* 03308 80AE1058 AFAF0018 */ sw $t7, 0x0018($sp) /* 0330C 80AE105C AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 .L80AE1060: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Poh/func_80AE1148.s b/asm/non_matchings/overlays/actors/ovl_En_Poh/func_80AE1148.s index 59476e0bf7..036e151745 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Poh/func_80AE1148.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Poh/func_80AE1148.s @@ -133,7 +133,7 @@ glabel func_80AE1148 /* 035C0 80AE1310 AFB10018 */ sw $s1, 0x0018($sp) /* 035C4 80AE1314 8E0C02C0 */ lw $t4, 0x02C0($s0) ## 000002C0 /* 035C8 80AE1318 8FA4009C */ lw $a0, 0x009C($sp) -/* 035CC 80AE131C 0C0289CF */ jal SkelAnime_DrawSV2 +/* 035CC 80AE131C 0C0289CF */ jal SkelAnime_DrawFlex /* 035D0 80AE1320 AFAC001C */ sw $t4, 0x001C($sp) /* 035D4 80AE1324 10000058 */ beq $zero, $zero, .L80AE1488 /* 035D8 80AE1328 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 @@ -222,7 +222,7 @@ glabel func_80AE1148 /* 03720 80AE1470 AFB10018 */ sw $s1, 0x0018($sp) /* 03724 80AE1474 8E1902D0 */ lw $t9, 0x02D0($s0) ## 000002D0 /* 03728 80AE1478 8FA4009C */ lw $a0, 0x009C($sp) -/* 0372C 80AE147C 0C0289CF */ jal SkelAnime_DrawSV2 +/* 0372C 80AE147C 0C0289CF */ jal SkelAnime_DrawFlex /* 03730 80AE1480 AFB9001C */ sw $t9, 0x001C($sp) /* 03734 80AE1484 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 .L80AE1488: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sa/EnSa_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Sa/EnSa_Init.s index d7c3a3c603..8a894255fe 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Sa/EnSa_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Sa/EnSa_Init.s @@ -33,7 +33,7 @@ glabel EnSa_Init /* 00CA0 80AF6200 24C6B1A0 */ addiu $a2, $a2, 0xB1A0 ## $a2 = 0600B1A0 /* 00CA4 80AF6204 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00CA8 80AF6208 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00CAC 80AF620C 0C0291BE */ jal SkelAnime_InitSV +/* 00CAC 80AF620C 0C0291BE */ jal SkelAnime_InitFlex /* 00CB0 80AF6210 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00CB4 80AF6214 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 00CB8 80AF6218 AFA50040 */ sw $a1, 0x0040($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Draw.s index 54aef35a0e..9b7f3752d4 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Draw.s @@ -14,7 +14,7 @@ glabel EnShopnuts_Draw /* 00D7C 80AFB49C 25EFB25C */ addiu $t7, $t7, %lo(func_80AFB25C) ## $t7 = 80AFB25C /* 00D80 80AFB4A0 AFAF0010 */ sw $t7, 0x0010($sp) /* 00D84 80AFB4A4 AFB80014 */ sw $t8, 0x0014($sp) -/* 00D88 80AFB4A8 0C0286B2 */ jal SkelAnime_DrawSV +/* 00D88 80AFB4A8 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00D8C 80AFB4AC AFAE0018 */ sw $t6, 0x0018($sp) /* 00D90 80AFB4B0 8FBF0024 */ lw $ra, 0x0024($sp) /* 00D94 80AFB4B4 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Init.s index 4fc6fdb1c4..af04e2a391 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Shopnuts/EnShopnuts_Init.s @@ -26,7 +26,7 @@ glabel EnShopnuts_Init /* 00058 80AFA778 24E74574 */ addiu $a3, $a3, 0x4574 ## $a3 = 06004574 /* 0005C 80AFA77C 24C641A8 */ addiu $a2, $a2, 0x41A8 ## $a2 = 060041A8 /* 00060 80AFA780 8FA4003C */ lw $a0, 0x003C($sp) -/* 00064 80AFA784 0C0291BE */ jal SkelAnime_InitSV +/* 00064 80AFA784 0C0291BE */ jal SkelAnime_InitFlex /* 00068 80AFA788 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 0006C 80AFA78C 26050270 */ addiu $a1, $s0, 0x0270 ## $a1 = 00000270 /* 00070 80AFA790 AFA50030 */ sw $a1, 0x0030($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skb/EnSkb_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Skb/EnSkb_Draw.s index b1a9930817..d2bf23dcc3 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Skb/EnSkb_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Skb/EnSkb_Draw.s @@ -14,7 +14,7 @@ glabel EnSkb_Draw /* 0165C 80AFDFFC AFAF0010 */ sw $t7, 0x0010($sp) /* 01660 80AFE000 24E7DD30 */ addiu $a3, $a3, %lo(func_80AFDD30) ## $a3 = 80AFDD30 /* 01664 80AFE004 8FA40024 */ lw $a0, 0x0024($sp) -/* 01668 80AFE008 0C028572 */ jal SkelAnime_Draw +/* 01668 80AFE008 0C028572 */ jal SkelAnime_DrawOpa /* 0166C 80AFE00C AFA20014 */ sw $v0, 0x0014($sp) /* 01670 80AFE010 8FBF001C */ lw $ra, 0x001C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Draw.s index 07f225de5b..e17f5ba58b 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Draw.s @@ -56,7 +56,7 @@ glabel EnSkj_Draw /* 03350 80B01600 AFA90010 */ sw $t1, 0x0010($sp) /* 03354 80B01604 AFAA0014 */ sw $t2, 0x0014($sp) /* 03358 80B01608 AFB00018 */ sw $s0, 0x0018($sp) -/* 0335C 80B0160C 0C0286B2 */ jal SkelAnime_DrawSV +/* 0335C 80B0160C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 03360 80B01610 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 03364 80B01614 3C0680B0 */ lui $a2, %hi(D_80B01870) ## $a2 = 80B00000 /* 03368 80B01618 24C61870 */ addiu $a2, $a2, %lo(D_80B01870) ## $a2 = 80B01870 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Init.s index c0f9a9ae6c..8b8862d439 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Skj/EnSkj_Init.s @@ -116,7 +116,7 @@ glabel EnSkj_Init /* 003A4 80AFE654 24E70E10 */ addiu $a3, $a3, 0x0E10 ## $a3 = 06000E10 /* 003A8 80AFE658 24C65F40 */ addiu $a2, $a2, 0x5F40 ## $a2 = 06005F40 /* 003AC 80AFE65C 8FA40054 */ lw $a0, 0x0054($sp) -/* 003B0 80AFE660 0C0291BE */ jal SkelAnime_InitSV +/* 003B0 80AFE660 0C0291BE */ jal SkelAnime_InitFlex /* 003B4 80AFE664 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 003B8 80AFE668 87A3004E */ lh $v1, 0x004E($sp) /* 003BC 80AFE66C 0460000F */ bltz $v1, .L80AFE6AC diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ssh/EnSsh_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Ssh/EnSsh_Draw.s index 303356bc12..c3f11f197d 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ssh/EnSsh_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ssh/EnSsh_Draw.s @@ -65,7 +65,7 @@ glabel EnSsh_Draw /* 0211C 80B0438C 24E74190 */ addiu $a3, $a3, %lo(func_80B04190) ## $a3 = 80B04190 /* 02120 80B04390 AFB00014 */ sw $s0, 0x0014($sp) /* 02124 80B04394 AFA90010 */ sw $t1, 0x0010($sp) -/* 02128 80B04398 0C028572 */ jal SkelAnime_Draw +/* 02128 80B04398 0C028572 */ jal SkelAnime_DrawOpa /* 0212C 80B0439C 8FA40054 */ lw $a0, 0x0054($sp) /* 02130 80B043A0 8FBF0024 */ lw $ra, 0x0024($sp) 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 d833c6aecd..e3f82bd82f 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 @@ -31,7 +31,7 @@ glabel func_80B07734 /* 00268 80B077A8 8CC6B43C */ lw $a2, %lo(D_80B0B43C)($a2) /* 0026C 80B077AC AFAB0010 */ sw $t3, 0x0010($sp) /* 00270 80B077B0 AFA50034 */ sw $a1, 0x0034($sp) -/* 00274 80B077B4 0C0291BE */ jal SkelAnime_InitSV +/* 00274 80B077B4 0C0291BE */ jal SkelAnime_InitFlex /* 00278 80B077B8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 0027C 80B077BC 860E001C */ lh $t6, 0x001C($s0) ## 0000001C /* 00280 80B077C0 3C0580B1 */ lui $a1, %hi(D_80B0B454) ## $a1 = 80B10000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B08258.s b/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B08258.s index 6599c95ea4..b8c139fd79 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B08258.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Sth/func_80B08258.s @@ -106,7 +106,7 @@ glabel func_80B08258 /* 00E88 80B083C8 AFAE0010 */ sw $t6, 0x0010($sp) /* 00E8C 80B083CC AFAF0014 */ sw $t7, 0x0014($sp) /* 00E90 80B083D0 AFB20018 */ sw $s2, 0x0018($sp) -/* 00E94 80B083D4 0C0286B2 */ jal SkelAnime_DrawSV +/* 00E94 80B083D4 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00E98 80B083D8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00E9C 80B083DC 3C0680B1 */ lui $a2, %hi(D_80B0B580) ## $a2 = 80B10000 /* 00EA0 80B083E0 24C6B580 */ addiu $a2, $a2, %lo(D_80B0B580) ## $a2 = 80B0B580 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Sw/EnSw_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Sw/EnSw_Draw.s index 0c7a47c9c5..14cda68ada 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Sw/EnSw_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Sw/EnSw_Draw.s @@ -61,7 +61,7 @@ glabel EnSw_Draw /* 0322C 80B0EFDC 24E7EAC4 */ addiu $a3, $a3, %lo(func_80B0EAC4) ## $a3 = 80B0EAC4 /* 03230 80B0EFE0 AFB00014 */ sw $s0, 0x0014($sp) /* 03234 80B0EFE4 AFAA0010 */ sw $t2, 0x0010($sp) -/* 03238 80B0EFE8 0C028572 */ jal SkelAnime_Draw +/* 03238 80B0EFE8 0C028572 */ jal SkelAnime_DrawOpa /* 0323C 80B0EFEC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 03240 80B0EFF0 8FA2002C */ lw $v0, 0x002C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Draw.s index d608acd8ff..aa4d15b242 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Draw.s @@ -14,7 +14,7 @@ glabel EnSyatekiMan_Draw /* 00CD8 80B11548 AFA00014 */ sw $zero, 0x0014($sp) /* 00CDC 80B1154C AFAF0010 */ sw $t7, 0x0010($sp) /* 00CE0 80B11550 8FA4002C */ lw $a0, 0x002C($sp) -/* 00CE4 80B11554 0C0286B2 */ jal SkelAnime_DrawSV +/* 00CE4 80B11554 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00CE8 80B11558 AFA20018 */ sw $v0, 0x0018($sp) /* 00CEC 80B1155C 8FBF0024 */ lw $ra, 0x0024($sp) /* 00CF0 80B11560 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Init.s index 572177cdc9..2e95a26f66 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Syateki_Man/EnSyatekiMan_Init.s @@ -40,7 +40,7 @@ glabel EnSyatekiMan_Init /* 00064 80B108D4 24E70338 */ addiu $a3, $a3, 0x0338 ## $a3 = 06000338 /* 00068 80B108D8 24C69B38 */ addiu $a2, $a2, 0x9B38 ## $a2 = 06009B38 /* 0006C 80B108DC 8FA40034 */ lw $a0, 0x0034($sp) -/* 00070 80B108E0 0C0291BE */ jal SkelAnime_InitSV +/* 00070 80B108E0 0C0291BE */ jal SkelAnime_InitFlex /* 00074 80B108E4 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 00078 80B108E8 3C088016 */ lui $t0, %hi(gSaveContext+4) /* 0007C 80B108EC 8D08E664 */ lw $t0, %lo(gSaveContext+4)($t0) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ta/EnTa_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Ta/EnTa_Draw.s index 59d4b5b1bf..296236815d 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ta/EnTa_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ta/EnTa_Draw.s @@ -77,7 +77,7 @@ glabel EnTa_Draw /* 03344 80B16DE4 AFAC0010 */ sw $t4, 0x0010($sp) /* 03348 80B16DE8 AFAD0014 */ sw $t5, 0x0014($sp) /* 0334C 80B16DEC AFB00018 */ sw $s0, 0x0018($sp) -/* 03350 80B16DF0 0C0286B2 */ jal SkelAnime_DrawSV +/* 03350 80B16DF0 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 03354 80B16DF4 8FA4005C */ lw $a0, 0x005C($sp) /* 03358 80B16DF8 8FAE005C */ lw $t6, 0x005C($sp) /* 0335C 80B16DFC 3C0680B1 */ lui $a2, %hi(D_80B16F3C) ## $a2 = 80B10000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ta/EnTa_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Ta/EnTa_Init.s index c5bc784b2d..9fee2133b3 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ta/EnTa_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ta/EnTa_Init.s @@ -45,7 +45,7 @@ glabel EnTa_Init /* 00138 80B13BD8 24E71C94 */ addiu $a3, $a3, 0x1C94 ## $a3 = 06001C94 /* 0013C 80B13BDC 24C6B7B8 */ addiu $a2, $a2, 0xB7B8 ## $a2 = 0600B7B8 /* 00140 80B13BE0 AFA50038 */ sw $a1, 0x0038($sp) -/* 00144 80B13BE4 0C0291BE */ jal SkelAnime_InitSV +/* 00144 80B13BE4 0C0291BE */ jal SkelAnime_InitFlex /* 00148 80B13BE8 8FA40054 */ lw $a0, 0x0054($sp) /* 0014C 80B13BEC 26050264 */ addiu $a1, $s0, 0x0264 ## $a1 = 00000264 /* 00150 80B13BF0 AFA5003C */ sw $a1, 0x003C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Test/EnTest_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Test/EnTest_Draw.s index 3043c9a1b0..a0175fe183 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Test/EnTest_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Test/EnTest_Draw.s @@ -24,7 +24,7 @@ glabel EnTest_Draw /* 04A4C 8086409C 8E05018C */ lw $a1, 0x018C($s0) ## 0000018C /* 04A50 808640A0 8E0601A8 */ lw $a2, 0x01A8($s0) ## 000001A8 /* 04A54 808640A4 AFB00014 */ sw $s0, 0x0014($sp) -/* 04A58 808640A8 0C028572 */ jal SkelAnime_Draw +/* 04A58 808640A8 0C028572 */ jal SkelAnime_DrawOpa /* 04A5C 808640AC AFB90010 */ sw $t9, 0x0010($sp) .L808640B0: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Draw.s index b3c00df098..f629f07971 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Draw.s @@ -68,7 +68,7 @@ glabel EnTg_Draw /* 00564 80B188C4 AFA90014 */ sw $t1, 0x0014($sp) /* 00568 80B188C8 AFA80010 */ sw $t0, 0x0010($sp) /* 0056C 80B188CC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00570 80B188D0 0C0286B2 */ jal SkelAnime_DrawSV +/* 00570 80B188D0 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00574 80B188D4 AFA20018 */ sw $v0, 0x0018($sp) /* 00578 80B188D8 3C0680B2 */ lui $a2, %hi(D_80B18990) ## $a2 = 80B20000 /* 0057C 80B188DC 24C68990 */ addiu $a2, $a2, %lo(D_80B18990) ## $a2 = 80B18990 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Init.s index ea2560c6ad..bb01933746 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Tg/EnTg_Init.s @@ -19,7 +19,7 @@ glabel EnTg_Init /* 00190 80B184F0 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 00194 80B184F4 AFA00010 */ sw $zero, 0x0010($sp) /* 00198 80B184F8 AFA00014 */ sw $zero, 0x0014($sp) -/* 0019C 80B184FC 0C0291BE */ jal SkelAnime_InitSV +/* 0019C 80B184FC 0C0291BE */ jal SkelAnime_InitFlex /* 001A0 80B18500 AFA00018 */ sw $zero, 0x0018($sp) /* 001A4 80B18504 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 001A8 80B18508 AFA50030 */ sw $a1, 0x0030($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tite/EnTite_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Tite/EnTite_Draw.s index e5f9cf8b43..2323acbbae 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Tite/EnTite_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Tite/EnTite_Draw.s @@ -153,7 +153,7 @@ glabel EnTite_Draw /* 02A14 80B1B494 AFB00014 */ sw $s0, 0x0014($sp) /* 02A18 80B1B498 AFAE0010 */ sw $t6, 0x0010($sp) /* 02A1C 80B1B49C 8FA4008C */ lw $a0, 0x008C($sp) -/* 02A20 80B1B4A0 0C028572 */ jal SkelAnime_Draw +/* 02A20 80B1B4A0 0C028572 */ jal SkelAnime_DrawOpa /* 02A24 80B1B4A4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 02A28 80B1B4A8 8FAF008C */ lw $t7, 0x008C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s index bdbe72d4bd..b1f8ff8858 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s @@ -72,7 +72,7 @@ glabel EnTorch2_Draw /* 01F68 80B1F8E8 AFB10018 */ sw $s1, 0x0018($sp) /* 01F6C 80B1F8EC 8E0F02C0 */ lw $t7, 0x02C0($s0) ## 000002C0 /* 01F70 80B1F8F0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 01F74 80B1F8F4 0C0289CF */ jal SkelAnime_DrawSV2 +/* 01F74 80B1F8F4 0C0289CF */ jal SkelAnime_DrawFlex /* 01F78 80B1F8F8 AFAF001C */ sw $t7, 0x001C($sp) /* 01F7C 80B1F8FC 10000028 */ beq $zero, $zero, .L80B1F9A0 /* 01F80 80B1F900 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 @@ -113,7 +113,7 @@ glabel EnTorch2_Draw /* 02008 80B1F988 AFB10018 */ sw $s1, 0x0018($sp) /* 0200C 80B1F98C 8E1802D0 */ lw $t8, 0x02D0($s0) ## 000002D0 /* 02010 80B1F990 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 02014 80B1F994 0C0289CF */ jal SkelAnime_DrawSV2 +/* 02014 80B1F994 0C0289CF */ jal SkelAnime_DrawFlex /* 02018 80B1F998 AFB8001C */ sw $t8, 0x001C($sp) /* 0201C 80B1F99C AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 .L80B1F9A0: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Draw.s index 298d66f415..88b9dcba0e 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Toryo/EnToryo_Draw.s @@ -16,7 +16,7 @@ glabel EnToryo_Draw /* 00970 80B20AE0 AFAF0010 */ sw $t7, 0x0010($sp) /* 00974 80B20AE4 AFB80014 */ sw $t8, 0x0014($sp) /* 00978 80B20AE8 8FA4002C */ lw $a0, 0x002C($sp) -/* 0097C 80B20AEC 0C0286B2 */ jal SkelAnime_DrawSV +/* 0097C 80B20AEC 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 00980 80B20AF0 AFA20018 */ sw $v0, 0x0018($sp) /* 00984 80B20AF4 8FBF0024 */ lw $ra, 0x0024($sp) /* 00988 80B20AF8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 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 9fe9b3a0d2..a4340182ab 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 @@ -95,7 +95,7 @@ glabel EnToryo_Init /* 0014C 80B202BC 24C67150 */ addiu $a2, $a2, 0x7150 ## $a2 = 06007150 /* 00150 80B202C0 AFA50038 */ sw $a1, 0x0038($sp) /* 00154 80B202C4 8FA40054 */ lw $a0, 0x0054($sp) -/* 00158 80B202C8 0C0291BE */ jal SkelAnime_InitSV +/* 00158 80B202C8 0C0291BE */ jal SkelAnime_InitFlex /* 0015C 80B202CC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00160 80B202D0 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 /* 00164 80B202D4 AFA50034 */ sw $a1, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Draw.s index 57522c9773..6e0e3351ab 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Tr/EnTr_Draw.s @@ -76,7 +76,7 @@ glabel EnTr_Draw /* 012AC 80B23F9C AFAB0010 */ sw $t3, 0x0010($sp) /* 012B0 80B23FA0 AFB00018 */ sw $s0, 0x0018($sp) /* 012B4 80B23FA4 AFA00014 */ sw $zero, 0x0014($sp) -/* 012B8 80B23FA8 0C0286B2 */ jal SkelAnime_DrawSV +/* 012B8 80B23FA8 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 012BC 80B23FAC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 012C0 80B23FB0 3C0680B2 */ lui $a2, %hi(D_80B24424) ## $a2 = 80B20000 /* 012C4 80B23FB4 24C64424 */ addiu $a2, $a2, %lo(D_80B24424) ## $a2 = 80B24424 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 56d3292b64..209ee52a71 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 @@ -53,7 +53,7 @@ glabel EnTr_Init /* 000A0 80B22D90 AFAF0014 */ sw $t7, 0x0014($sp) /* 000A4 80B22D94 AFAE0010 */ sw $t6, 0x0010($sp) /* 000A8 80B22D98 24E73FC8 */ addiu $a3, $a3, 0x3FC8 ## $a3 = 06003FC8 -/* 000AC 80B22D9C 0C0291BE */ jal SkelAnime_InitSV +/* 000AC 80B22D9C 0C0291BE */ jal SkelAnime_InitFlex /* 000B0 80B22DA0 24C61688 */ addiu $a2, $a2, 0x1688 ## $a2 = 06011688 /* 000B4 80B22DA4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 /* 000B8 80B22DA8 24A53FC8 */ addiu $a1, $a1, 0x3FC8 ## $a1 = 06003FC8 @@ -79,7 +79,7 @@ glabel EnTr_Init /* 00104 80B22DF4 AFA80010 */ sw $t0, 0x0010($sp) /* 00108 80B22DF8 24E71CDC */ addiu $a3, $a3, 0x1CDC ## $a3 = 06001CDC /* 0010C 80B22DFC 24C6C530 */ addiu $a2, $a2, 0xC530 ## $a2 = 0600C530 -/* 00110 80B22E00 0C0291BE */ jal SkelAnime_InitSV +/* 00110 80B22E00 0C0291BE */ jal SkelAnime_InitFlex /* 00114 80B22E04 02202825 */ or $a1, $s1, $zero ## $a1 = 0000014C /* 00118 80B22E08 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 /* 0011C 80B22E0C 24A51CDC */ addiu $a1, $a1, 0x1CDC ## $a1 = 06001CDC diff --git a/asm/non_matchings/overlays/actors/ovl_En_Vali/EnVali_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Vali/EnVali_Draw.s index a8233ee723..5c4cd13f2b 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Vali/EnVali_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Vali/EnVali_Draw.s @@ -86,7 +86,7 @@ glabel EnVali_Draw /* 02188 80B28838 3C0780B3 */ lui $a3, %hi(func_80B281F0) ## $a3 = 80B30000 /* 0218C 80B2883C 24E781F0 */ addiu $a3, $a3, %lo(func_80B281F0) ## $a3 = 80B281F0 /* 02190 80B28840 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 02194 80B28844 0C0288A2 */ jal SkelAnime_Draw2 +/* 02194 80B28844 0C0288A2 */ jal SkelAnime_Draw /* 02198 80B28848 AFA90018 */ sw $t1, 0x0018($sp) /* 0219C 80B2884C AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 /* 021A0 80B28850 3C0680B3 */ lui $a2, %hi(D_80B28A40) ## $a2 = 80B30000 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 258829218c..3e487bd64b 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 @@ -31,7 +31,7 @@ glabel func_80B2A300 /* 00170 80B2A370 AFA00010 */ sw $zero, 0x0010($sp) /* 00174 80B2A374 AFA00014 */ sw $zero, 0x0014($sp) /* 00178 80B2A378 AFA00018 */ sw $zero, 0x0018($sp) -/* 0017C 80B2A37C 0C0291BE */ jal SkelAnime_InitSV +/* 0017C 80B2A37C 0C0291BE */ jal SkelAnime_InitFlex /* 00180 80B2A380 A7A20036 */ sh $v0, 0x0036($sp) /* 00184 80B2A384 1000000B */ beq $zero, $zero, .L80B2A3B4 /* 00188 80B2A388 87A20036 */ lh $v0, 0x0036($sp) 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 e0866bc436..780181acda 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 @@ -11,7 +11,7 @@ glabel func_80B2A448 /* 0026C 80B2A46C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00270 80B2A470 AFA00010 */ sw $zero, 0x0010($sp) /* 00274 80B2A474 AFA00014 */ sw $zero, 0x0014($sp) -/* 00278 80B2A478 0C0291BE */ jal SkelAnime_InitSV +/* 00278 80B2A478 0C0291BE */ jal SkelAnime_InitFlex /* 0027C 80B2A47C AFA00018 */ sw $zero, 0x0018($sp) /* 00280 80B2A480 8FAF0030 */ lw $t7, 0x0030($sp) /* 00284 80B2A484 8FAE0034 */ lw $t6, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2B4A8.s b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2B4A8.s index a28112d114..490dd11873 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2B4A8.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2B4A8.s @@ -224,7 +224,7 @@ glabel func_80B2B4A8 /* 015DC 80B2B7DC 25EFB364 */ addiu $t7, $t7, %lo(func_80B2B364) ## $t7 = 80B2B364 /* 015E0 80B2B7E0 AFAF0014 */ sw $t7, 0x0014($sp) /* 015E4 80B2B7E4 AFB00018 */ sw $s0, 0x0018($sp) -/* 015E8 80B2B7E8 0C0286B2 */ jal SkelAnime_DrawSV +/* 015E8 80B2B7E8 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 015EC 80B2B7EC AFA00010 */ sw $zero, 0x0010($sp) /* 015F0 80B2B7F0 10000037 */ beq $zero, $zero, .L80B2B8D0 /* 015F4 80B2B7F4 8FAF007C */ lw $t7, 0x007C($sp) @@ -240,7 +240,7 @@ glabel func_80B2B4A8 /* 01618 80B2B818 2718B2F4 */ addiu $t8, $t8, %lo(func_80B2B2F4) ## $t8 = 80B2B2F4 /* 0161C 80B2B81C AFB80010 */ sw $t8, 0x0010($sp) /* 01620 80B2B820 AFB90014 */ sw $t9, 0x0014($sp) -/* 01624 80B2B824 0C0286B2 */ jal SkelAnime_DrawSV +/* 01624 80B2B824 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 01628 80B2B828 AFB00018 */ sw $s0, 0x0018($sp) /* 0162C 80B2B82C 8FA4007C */ lw $a0, 0x007C($sp) /* 01630 80B2B830 0C2CB307 */ jal func_80B2CC1C @@ -271,7 +271,7 @@ glabel func_80B2B4A8 /* 0168C 80B2B88C 9207019A */ lbu $a3, 0x019A($s0) ## 0000019A /* 01690 80B2B890 AFB00018 */ sw $s0, 0x0018($sp) /* 01694 80B2B894 AFAE0014 */ sw $t6, 0x0014($sp) -/* 01698 80B2B898 0C0286B2 */ jal SkelAnime_DrawSV +/* 01698 80B2B898 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0169C 80B2B89C AFA00010 */ sw $zero, 0x0010($sp) /* 016A0 80B2B8A0 8FA4007C */ lw $a0, 0x007C($sp) /* 016A4 80B2B8A4 0C2CB307 */ jal func_80B2CC1C @@ -283,7 +283,7 @@ glabel func_80B2B4A8 /* 016B8 80B2B8B8 8E0601B8 */ lw $a2, 0x01B8($s0) ## 000001B8 /* 016BC 80B2B8BC AFB00014 */ sw $s0, 0x0014($sp) /* 016C0 80B2B8C0 AFA00010 */ sw $zero, 0x0010($sp) -/* 016C4 80B2B8C4 0C028572 */ jal SkelAnime_Draw +/* 016C4 80B2B8C4 0C028572 */ jal SkelAnime_DrawOpa /* 016C8 80B2B8C8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 .L80B2B8CC: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2BA38.s b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2BA38.s index e9a3da7a4f..04f245d8be 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2BA38.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2BA38.s @@ -445,7 +445,7 @@ glabel func_80B2BA38 /* 01ECC 80B2C0CC AFAF0010 */ sw $t7, 0x0010($sp) /* 01ED0 80B2C0D0 AFB80014 */ sw $t8, 0x0014($sp) /* 01ED4 80B2C0D4 AFAB0018 */ sw $t3, 0x0018($sp) -/* 01ED8 80B2C0D8 0C0286B2 */ jal SkelAnime_DrawSV +/* 01ED8 80B2C0D8 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 01EDC 80B2C0DC 8FA400A4 */ lw $a0, 0x00A4($sp) /* 01EE0 80B2C0E0 8FB900A4 */ lw $t9, 0x00A4($sp) /* 01EE4 80B2C0E4 3C0680B3 */ lui $a2, %hi(D_80B2D0E4) ## $a2 = 80B30000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2C130.s b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2C130.s index 1b1156ec37..aee005246d 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2C130.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Viewer/func_80B2C130.s @@ -78,7 +78,7 @@ glabel func_80B2C130 /* 02038 80B2C238 AFAB0010 */ sw $t3, 0x0010($sp) /* 0203C 80B2C23C AFA00014 */ sw $zero, 0x0014($sp) /* 02040 80B2C240 8FA4005C */ lw $a0, 0x005C($sp) -/* 02044 80B2C244 0C0286B2 */ jal SkelAnime_DrawSV +/* 02044 80B2C244 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 02048 80B2C248 AFA80018 */ sw $t0, 0x0018($sp) /* 0204C 80B2C24C 8FAC005C */ lw $t4, 0x005C($sp) /* 02050 80B2C250 3C0680B3 */ lui $a2, %hi(D_80B2D10C) ## $a2 = 80B30000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/EnWeiyer_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/EnWeiyer_Draw.s index f00397ec69..5b319ee518 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Weiyer/EnWeiyer_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Weiyer/EnWeiyer_Draw.s @@ -54,7 +54,7 @@ glabel EnWeiyer_Draw /* 01718 80B339A8 3C0780B3 */ lui $a3, %hi(func_80B338D4) ## $a3 = 80B30000 /* 0171C 80B339AC 24E738D4 */ addiu $a3, $a3, %lo(func_80B338D4) ## $a3 = 80B338D4 /* 01720 80B339B0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 01724 80B339B4 0C0288A2 */ jal SkelAnime_Draw2 +/* 01724 80B339B4 0C0288A2 */ jal SkelAnime_Draw /* 01728 80B339B8 AFAC0018 */ sw $t4, 0x0018($sp) /* 0172C 80B339BC 10000020 */ beq $zero, $zero, .L80B33A40 /* 01730 80B339C0 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 @@ -87,7 +87,7 @@ glabel EnWeiyer_Draw /* 01798 80B33A28 AFA00010 */ sw $zero, 0x0010($sp) /* 0179C 80B33A2C 8E0B02D0 */ lw $t3, 0x02D0($s0) ## 000002D0 /* 017A0 80B33A30 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 017A4 80B33A34 0C0288A2 */ jal SkelAnime_Draw2 +/* 017A4 80B33A34 0C0288A2 */ jal SkelAnime_Draw /* 017A8 80B33A38 AFAB0018 */ sw $t3, 0x0018($sp) /* 017AC 80B33A3C AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 .L80B33A40: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/EnWf_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/EnWf_Draw.s index 15aaea9bd6..505d435f0d 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Wf/EnWf_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/EnWf_Draw.s @@ -98,7 +98,7 @@ glabel EnWf_Draw /* 03AD8 80B37788 AFAF0010 */ sw $t7, 0x0010($sp) /* 03ADC 80B3778C AFB80014 */ sw $t8, 0x0014($sp) /* 03AE0 80B37790 AFB00018 */ sw $s0, 0x0018($sp) -/* 03AE4 80B37794 0C0286B2 */ jal SkelAnime_DrawSV +/* 03AE4 80B37794 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 03AE8 80B37798 8FA4005C */ lw $a0, 0x005C($sp) /* 03AEC 80B3779C 860E02E4 */ lh $t6, 0x02E4($s0) ## 000002E4 /* 03AF0 80B377A0 51C00018 */ beql $t6, $zero, .L80B37804 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wf/EnWf_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Wf/EnWf_Init.s index 3c2a572d89..a59a9e1245 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Wf/EnWf_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Wf/EnWf_Init.s @@ -97,7 +97,7 @@ glabel EnWf_Init /* 0016C 80B33E1C 24E7A4AC */ addiu $a3, $a3, 0xA4AC ## $a3 = 0600A4AC /* 00170 80B33E20 24C69690 */ addiu $a2, $a2, 0x9690 ## $a2 = 06009690 /* 00174 80B33E24 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00178 80B33E28 0C0291BE */ jal SkelAnime_InitSV +/* 00178 80B33E28 0C0291BE */ jal SkelAnime_InitFlex /* 0017C 80B33E2C 26050188 */ addiu $a1, $s0, 0x0188 ## $a1 = 00000188 /* 00180 80B33E30 3C053BF5 */ lui $a1, 0x3BF5 ## $a1 = 3BF50000 /* 00184 80B33E34 34A5C28F */ ori $a1, $a1, 0xC28F ## $a1 = 3BF5C28F @@ -116,7 +116,7 @@ glabel EnWf_Init /* 001B0 80B33E60 AFAD0014 */ sw $t5, 0x0014($sp) /* 001B4 80B33E64 AFAC0010 */ sw $t4, 0x0010($sp) /* 001B8 80B33E68 24E7A4AC */ addiu $a3, $a3, 0xA4AC ## $a3 = 0600A4AC -/* 001BC 80B33E6C 0C0291BE */ jal SkelAnime_InitSV +/* 001BC 80B33E6C 0C0291BE */ jal SkelAnime_InitFlex /* 001C0 80B33E70 24C63BC0 */ addiu $a2, $a2, 0x3BC0 ## $a2 = 00003BC0 /* 001C4 80B33E74 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 /* 001C8 80B33E78 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/EnXc_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/EnXc_Init.s index eb54f00d01..304c156f83 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Xc/EnXc_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/EnXc_Init.s @@ -43,7 +43,7 @@ glabel EnXc_Init /* 05770 80B41950 24E74828 */ addiu $a3, $a3, 0x4828 ## $a3 = 06004828 /* 05774 80B41954 24C62AF0 */ addiu $a2, $a2, 0x2AF0 ## $a2 = 06012AF0 /* 05778 80B41958 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0577C 80B4195C 0C0291BE */ jal SkelAnime_InitSV +/* 0577C 80B4195C 0C0291BE */ jal SkelAnime_InitFlex /* 05780 80B41960 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C /* 05784 80B41964 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 05788 80B41968 0C2CF078 */ jal func_80B3C1E0 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E908.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E908.s index 8472d049b7..c96d2b2746 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E908.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3E908.s @@ -89,7 +89,7 @@ glabel func_80B3E908 /* 0285C 80B3EA3C AFA00014 */ sw $zero, 0x0014($sp) /* 02860 80B3EA40 AFAB0010 */ sw $t3, 0x0010($sp) /* 02864 80B3EA44 8FA40084 */ lw $a0, 0x0084($sp) -/* 02868 80B3EA48 0C0286B2 */ jal SkelAnime_DrawSV +/* 02868 80B3EA48 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0286C 80B3EA4C AFAA0018 */ sw $t2, 0x0018($sp) /* 02870 80B3EA50 3C0680B4 */ lui $a2, %hi(D_80B42028) ## $a2 = 80B40000 /* 02874 80B3EA54 24C62028 */ addiu $a2, $a2, %lo(D_80B42028) ## $a2 = 80B42028 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3EA7C.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3EA7C.s index 2a64929843..0ff600b9a3 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3EA7C.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3EA7C.s @@ -89,7 +89,7 @@ glabel func_80B3EA7C /* 029D0 80B3EBB0 AFA00014 */ sw $zero, 0x0014($sp) /* 029D4 80B3EBB4 AFAB0010 */ sw $t3, 0x0010($sp) /* 029D8 80B3EBB8 8FA40084 */ lw $a0, 0x0084($sp) -/* 029DC 80B3EBBC 0C0286B2 */ jal SkelAnime_DrawSV +/* 029DC 80B3EBBC 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 029E0 80B3EBC0 AFAA0018 */ sw $t2, 0x0018($sp) /* 029E4 80B3EBC4 3C0680B4 */ lui $a2, %hi(D_80B42058) ## $a2 = 80B40000 /* 029E8 80B3EBC8 24C62058 */ addiu $a2, $a2, %lo(D_80B42058) ## $a2 = 80B42058 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B402C4.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B402C4.s index f0b6d26d4e..ba14f91af3 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B402C4.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B402C4.s @@ -187,7 +187,7 @@ glabel func_80B402C4 /* 04370 80B40550 AFA90014 */ sw $t1, 0x0014($sp) /* 04374 80B40554 AFA80010 */ sw $t0, 0x0010($sp) /* 04378 80B40558 AFB10018 */ sw $s1, 0x0018($sp) -/* 0437C 80B4055C 0C0286B2 */ jal SkelAnime_DrawSV +/* 0437C 80B4055C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 04380 80B40560 8FA4009C */ lw $a0, 0x009C($sp) /* 04384 80B40564 3C0680B4 */ lui $a2, %hi(D_80B420A0) ## $a2 = 80B40000 /* 04388 80B40568 24C620A0 */ addiu $a2, $a2, %lo(D_80B420A0) ## $a2 = 80B420A0 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B414AC.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B414AC.s index 76bf6858b0..169eb38a59 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B414AC.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B414AC.s @@ -63,7 +63,7 @@ glabel func_80B414AC /* 05398 80B41578 AFA00018 */ sw $zero, 0x0018($sp) /* 0539C 80B4157C AFA00014 */ sw $zero, 0x0014($sp) /* 053A0 80B41580 AFA00010 */ sw $zero, 0x0010($sp) -/* 053A4 80B41584 0C0286B2 */ jal SkelAnime_DrawSV +/* 053A4 80B41584 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 053A8 80B41588 2442014C */ addiu $v0, $v0, 0x014C ## $v0 = 0000014C /* 053AC 80B4158C 3C0680B4 */ lui $a2, %hi(D_80B42108) ## $a2 = 80B40000 /* 053B0 80B41590 24C62108 */ addiu $a2, $a2, %lo(D_80B42108) ## $a2 = 80B42108 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B41BA4.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B41BA4.s index abe949b993..8befe50048 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B41BA4.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B41BA4.s @@ -76,7 +76,7 @@ glabel func_80B41BA4 /* 05AC4 80B41CA4 AFAD0014 */ sw $t5, 0x0014($sp) /* 05AC8 80B41CA8 AFAC0010 */ sw $t4, 0x0010($sp) /* 05ACC 80B41CAC 8FA4007C */ lw $a0, 0x007C($sp) -/* 05AD0 80B41CB0 0C0286B2 */ jal SkelAnime_DrawSV +/* 05AD0 80B41CB0 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 05AD4 80B41CB4 AFA30018 */ sw $v1, 0x0018($sp) /* 05AD8 80B41CB8 3C0680B4 */ lui $a2, %hi(D_80B421B0) ## $a2 = 80B40000 /* 05ADC 80B41CBC 24C621B0 */ addiu $a2, $a2, %lo(D_80B421B0) ## $a2 = 80B421B0 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zf/EnZf_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Zf/EnZf_Draw.s index 099533d36b..5a1c45225d 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Zf/EnZf_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Zf/EnZf_Draw.s @@ -84,7 +84,7 @@ glabel EnZf_Draw /* 05998 80B499E8 3C0780B5 */ lui $a3, %hi(func_80B495FC) ## $a3 = 80B50000 /* 0599C 80B499EC 24E795FC */ addiu $a3, $a3, %lo(func_80B495FC) ## $a3 = 80B495FC /* 059A0 80B499F0 8FA40084 */ lw $a0, 0x0084($sp) -/* 059A4 80B499F4 0C0288A2 */ jal SkelAnime_Draw2 +/* 059A4 80B499F4 0C0288A2 */ jal SkelAnime_Draw /* 059A8 80B499F8 AFAE0018 */ sw $t6, 0x0018($sp) /* 059AC 80B499FC AE2202C0 */ sw $v0, 0x02C0($s1) ## 000002C0 /* 059B0 80B49A00 860F03F6 */ lh $t7, 0x03F6($s0) ## 000003F6 @@ -161,7 +161,7 @@ glabel EnZf_Draw /* 05AC8 80B49B18 3C0780B5 */ lui $a3, %hi(func_80B495FC) ## $a3 = 80B50000 /* 05ACC 80B49B1C 24E795FC */ addiu $a3, $a3, %lo(func_80B495FC) ## $a3 = 80B495FC /* 05AD0 80B49B20 8FA40084 */ lw $a0, 0x0084($sp) -/* 05AD4 80B49B24 0C0288A2 */ jal SkelAnime_Draw2 +/* 05AD4 80B49B24 0C0288A2 */ jal SkelAnime_Draw /* 05AD8 80B49B28 AFB90018 */ sw $t9, 0x0018($sp) /* 05ADC 80B49B2C AE2202D0 */ sw $v0, 0x02D0($s1) ## 000002D0 .L80B49B30: diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Draw.s index 95593339a0..c3dc8c93d6 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Draw.s @@ -127,7 +127,7 @@ glabel EnZl4_Draw /* 02F68 80B5E718 AFB80010 */ sw $t8, 0x0010($sp) /* 02F6C 80B5E71C AFAC0014 */ sw $t4, 0x0014($sp) /* 02F70 80B5E720 AFB00018 */ sw $s0, 0x0018($sp) -/* 02F74 80B5E724 0C0286B2 */ jal SkelAnime_DrawSV +/* 02F74 80B5E724 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 02F78 80B5E728 8FA4008C */ lw $a0, 0x008C($sp) /* 02F7C 80B5E72C 8FAA008C */ lw $t2, 0x008C($sp) /* 02F80 80B5E730 3C0680B6 */ lui $a2, %hi(D_80B5FB90) ## $a2 = 80B60000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Init.s index 511f2e90cb..d9718f9a88 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Zl4/EnZl4_Init.s @@ -16,7 +16,7 @@ glabel EnZl4_Init /* 00634 80B5BDE4 02202825 */ or $a1, $s1, $zero ## $a1 = 0000014C /* 00638 80B5BDE8 AFAF0014 */ sw $t7, 0x0014($sp) /* 0063C 80B5BDEC AFAE0010 */ sw $t6, 0x0010($sp) -/* 00640 80B5BDF0 0C0291BE */ jal SkelAnime_InitSV +/* 00640 80B5BDF0 0C0291BE */ jal SkelAnime_InitFlex /* 00644 80B5BDF4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 00648 80B5BDF8 3C068003 */ lui $a2, %hi(ActorShadow_DrawFunc_Circle) /* 0064C 80B5BDFC 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawFunc_Circle) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Zo/EnZo_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Zo/EnZo_Init.s index c7d50d162b..af0dcebcdf 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Zo/EnZo_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Zo/EnZo_Init.s @@ -22,7 +22,7 @@ glabel EnZo_Init /* 01508 80B61728 24C6BFA8 */ addiu $a2, $a2, 0xBFA8 ## $a2 = 0600BFA8 /* 0150C 80B6172C AFA50038 */ sw $a1, 0x0038($sp) /* 01510 80B61730 8FA40044 */ lw $a0, 0x0044($sp) -/* 01514 80B61734 0C0291BE */ jal SkelAnime_InitSV +/* 01514 80B61734 0C0291BE */ jal SkelAnime_InitFlex /* 01518 80B61738 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 /* 0151C 80B6173C 260501BC */ addiu $a1, $s0, 0x01BC ## $a1 = 000001BC /* 01520 80B61740 AFA50034 */ sw $a1, 0x0034($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Draw.s b/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Draw.s index 5b51ed6db6..39f83c8b41 100644 --- a/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Draw.s @@ -126,7 +126,7 @@ glabel Fishing_Draw /* 0C5CC 80B75F6C AFB90010 */ sw $t9, 0x0010($sp) /* 0C5D0 80B75F70 AFA80014 */ sw $t0, 0x0014($sp) /* 0C5D4 80B75F74 AFB00018 */ sw $s0, 0x0018($sp) -/* 0C5D8 80B75F78 0C0286B2 */ jal SkelAnime_DrawSV +/* 0C5D8 80B75F78 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0C5DC 80B75F7C 8FA40034 */ lw $a0, 0x0034($sp) /* 0C5E0 80B75F80 10000025 */ beq $zero, $zero, .L80B76018 /* 0C5E4 80B75F84 8FBF002C */ lw $ra, 0x002C($sp) @@ -164,7 +164,7 @@ glabel Fishing_Draw /* 0C660 80B76000 AFAA0010 */ sw $t2, 0x0010($sp) /* 0C664 80B76004 AFAB0014 */ sw $t3, 0x0014($sp) /* 0C668 80B76008 AFB00018 */ sw $s0, 0x0018($sp) -/* 0C66C 80B7600C 0C0286B2 */ jal SkelAnime_DrawSV +/* 0C66C 80B7600C 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 0C670 80B76010 8FA40034 */ lw $a0, 0x0034($sp) /* 0C674 80B76014 8FBF002C */ lw $ra, 0x002C($sp) .L80B76018: 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 eba880fee2..cf25429c7b 100644 --- a/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Init.s @@ -97,7 +97,7 @@ glabel Fishing_Init /* 00CA4 80B6A644 AFA00018 */ sw $zero, 0x0018($sp) /* 00CA8 80B6A648 AFA00014 */ sw $zero, 0x0014($sp) /* 00CAC 80B6A64C AFA00010 */ sw $zero, 0x0010($sp) -/* 00CB0 80B6A650 0C0291BE */ jal SkelAnime_InitSV +/* 00CB0 80B6A650 0C0291BE */ jal SkelAnime_InitFlex /* 00CB4 80B6A654 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 /* 00CB8 80B6A658 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 /* 00CBC 80B6A65C 24A5453C */ addiu $a1, $a1, 0x453C ## $a1 = 0600453C @@ -549,7 +549,7 @@ glabel Fishing_Init /* 0130C 80B6ACAC 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 /* 01310 80B6ACB0 AFA00010 */ sw $zero, 0x0010($sp) /* 01314 80B6ACB4 AFA00014 */ sw $zero, 0x0014($sp) -/* 01318 80B6ACB8 0C0291BE */ jal SkelAnime_InitSV +/* 01318 80B6ACB8 0C0291BE */ jal SkelAnime_InitFlex /* 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 @@ -567,7 +567,7 @@ glabel Fishing_Init /* 01350 80B6ACF0 02203825 */ or $a3, $s1, $zero ## $a3 = 0600CFE0 /* 01354 80B6ACF4 AFA00010 */ sw $zero, 0x0010($sp) /* 01358 80B6ACF8 AFA00014 */ sw $zero, 0x0014($sp) -/* 0135C 80B6ACFC 0C0291BE */ jal SkelAnime_InitSV +/* 0135C 80B6ACFC 0C0291BE */ jal SkelAnime_InitFlex /* 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 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 dbf26374fc..7888799bd4 100644 --- a/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Update.s +++ b/asm/non_matchings/overlays/actors/ovl_Fishing/Fishing_Update.s @@ -4397,7 +4397,7 @@ glabel L80B748A0 /* 0B59C 80B74F3C 8FA5004C */ lw $a1, 0x004C($sp) /* 0B5A0 80B74F40 AFA00010 */ sw $zero, 0x0010($sp) /* 0B5A4 80B74F44 AFA00014 */ sw $zero, 0x0014($sp) -/* 0B5A8 80B74F48 0C0291BE */ jal SkelAnime_InitSV +/* 0B5A8 80B74F48 0C0291BE */ jal SkelAnime_InitFlex /* 0B5AC 80B74F4C AFA00018 */ sw $zero, 0x0018($sp) /* 0B5B0 80B74F50 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 /* 0B5B4 80B74F54 24A5007C */ addiu $a1, $a1, 0x007C ## $a1 = 0600007C @@ -4415,7 +4415,7 @@ glabel L80B748A0 /* 0B5E0 80B74F80 8FA5004C */ lw $a1, 0x004C($sp) /* 0B5E4 80B74F84 AFA00010 */ sw $zero, 0x0010($sp) /* 0B5E8 80B74F88 AFA00014 */ sw $zero, 0x0014($sp) -/* 0B5EC 80B74F8C 0C0291BE */ jal SkelAnime_InitSV +/* 0B5EC 80B74F8C 0C0291BE */ jal SkelAnime_InitFlex /* 0B5F0 80B74F90 AFA00018 */ sw $zero, 0x0018($sp) /* 0B5F4 80B74F94 3C050601 */ lui $a1, 0x0601 ## $a1 = 06010000 /* 0B5F8 80B74F98 24A5CFE0 */ addiu $a1, $a1, 0xCFE0 ## $a1 = 0600CFE0 diff --git a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7A278.s b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7A278.s index b0083858b3..bb2dc666b3 100644 --- a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7A278.s +++ b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7A278.s @@ -94,7 +94,7 @@ glabel func_80B7A278 /* 109D8 80B7A378 AFAB0014 */ sw $t3, 0x0014($sp) /* 109DC 80B7A37C AFA80018 */ sw $t0, 0x0018($sp) /* 109E0 80B7A380 AFB90010 */ sw $t9, 0x0010($sp) -/* 109E4 80B7A384 0C0286B2 */ jal SkelAnime_DrawSV +/* 109E4 80B7A384 0C0286B2 */ jal SkelAnime_DrawFlexOpa /* 109E8 80B7A388 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 .L80B7A38C: /* 109EC 80B7A38C 0C2DD91D */ jal func_80B76474 diff --git a/include/functions.h b/include/functions.h index d212395538..566fcf2c3d 100644 --- a/include/functions.h +++ b/include/functions.h @@ -55,8 +55,8 @@ void StackCheck_Cleanup(StackEntry* entry); StackStatus StackCheck_GetState(StackEntry* entry); u32 StackCheck_CheckAll(); u32 StackCheck_Check(StackEntry* entry); -f32 LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, f32 var1, const char* var2Name, - f32 var2, const char* var3Name, f32 var3); +f32 LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, f32 var1, const char* var2Name, f32 var2, + const char* var3Name, f32 var3); s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2, const char* var3Name, s32 var3); void LogUtils_LogHexDump(void* ptr, s32 size0); @@ -500,10 +500,10 @@ s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u s16 (*unkFunc2)(GlobalContext*, Actor*)); s16 func_800347E8(s16 arg0); void func_80034A14(Actor* actor, struct_80034A14_arg1* arg1, s16 arg2, s16 arg3); -void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw, - PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha); -void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw, - PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha); +void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw, + PostLimbDraw postLimbDraw, Actor* actor, s16 alpha); +void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw, + PostLimbDraw postLimbDraw, Actor* actor, s16 alpha); s16 func_80034DD4(Actor* actor, GlobalContext* globalCtx, s16 arg2, f32 arg3); void func_80034EC0(SkelAnime* skelAnime, struct_80034EC0_Entry* arg1, s32 arg2); void func_80034F54(GlobalContext* globalCtx, s16* arg1, s16* arg2, s32 arg3); @@ -602,7 +602,7 @@ s32 func_8003DE84(CollisionContext*, Vec3f*, Vec3f*, Vec3f*, CollisionPoly**, u3 s32 func_8003DF10(CollisionContext*, Vec3f*, Vec3f*, Vec3f*, CollisionPoly**, u32, u32, u32, u32, u32*, Actor*); s32 func_8003DFA0(CollisionContext*, Vec3f*, Vec3f*, Vec3f*, CollisionPoly**, u32, u32, u32, u32, u32*, Actor*, f32); // ? func_8003E0FC(?); -// ? func_8003E188(?); +s32 func_8003E188(CollisionContext*, Vec3f*, Vec3f*, Vec3f*, CollisionPoly**, u32, u32, u32, u32, f32*); // ? func_8003E214(?); s32 func_8003E30C(CollisionContext* colCtx, Vec3f* center, f32 radius); // ? func_8003E398(?); @@ -665,10 +665,11 @@ UNK_TYPE func_80041D4C(CollisionContext*, CollisionPoly*, CollisionPoly*); u16 func_80041F34(CollisionContext*, CollisionPoly*, u32); s32 func_80041FA0(CollisionContext*, CollisionPoly*, u32); s32 func_80042048(CollisionContext*, CollisionPoly*, s32); -// ? func_80042108(?); +s32 func_80042108(CollisionContext*, CollisionPoly*, u32); s32 func_8004213C(GlobalContext*, CollisionContext*, f32, f32, f32*, UNK_PTR); s32 func_8004239C(GlobalContext* globalCtx, CollisionContext* colCtx, Vec3f* arg2, f32 arg3, WaterBox** arg4); -s32 func_80042244(GlobalContext* globalCtx, CollisionContext* colCtx, f32 x, f32 z, f32* ySurface, WaterBox** outWaterBox); +s32 func_80042244(GlobalContext* globalCtx, CollisionContext* colCtx, f32 x, f32 z, f32* ySurface, + WaterBox** outWaterBox); // ? func_80042538(?); // ? func_80042548(?); // ? func_8004259C(?); @@ -959,7 +960,7 @@ void SkelCurve_SetAnim(SkelAnimeCurve* skelCurve, TransformUpdateIndex* transUpd f32 animCurFrame, f32 animSpeed); s32 SkelCurve_Update(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve); void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, - OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* actor2); + OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, void* data); // ? func_8006CFC0(?); // ? func_8006D074(?); // ? func_8006D0AC(?); @@ -1200,20 +1201,19 @@ 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, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount, s32 lod, - s32 tunic, s32 boots, s32 face, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, - void* arg); -s32 func_8008FCC8(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor); -s32 func_80090014(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor); -void func_80090D20(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor); -s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor); -s32 func_80090440(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor); +void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, 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); +s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); +s32 func_80090440(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); u8 func_80090480(GlobalContext* globalCtx, ColliderQuad* collider, WeaponInfo* weaponDim, Vec3f* newTip, Vec3f* newBase); void Player_DrawGetItem(GlobalContext* globalCtx, Player* player); +void func_80090D20(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* data); u32 func_80091738(GlobalContext* globalCtx, u8* segment, SkelAnime* skelAnime); -void func_8009214C(GlobalContext* globalCtx, u8* segment, struct_80091A24_arg3* arg2, Vec3f* pos, Vec3s* rot, f32 scale, - s32 sword, s32 tunic, s32 shield, s32 boots); +void func_8009214C(GlobalContext* globalCtx, u8* segment, SkelAnime* arg2, Vec3f* pos, Vec3s* rot, f32 scale, s32 sword, + s32 tunic, s32 shield, s32 boots); void PreNMI_Init(GameState* thisx); Vec3f* Quake_AddVec(Vec3f* dst, Vec3f* arg1, VecSph* arg2); void Quake_UpdateShakeInfo(QuakeRequest* req, ShakeInfo* shake, f32 y, f32 x); @@ -1301,65 +1301,66 @@ 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_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, s32 dListIndex); -void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, s32 dListIndex); -void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor); -void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor); -s16 SkelAnime_GetFrameCount(GenericAnimationHeader* animationSeg); -Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw2 overrideLimbDraw, PostLimbDraw2 postLimbDraw, Actor* actor, Gfx* gfx); -Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount, - OverrideLimbDraw2 overrideLimbDraw, PostLimbDraw2 postLimbDraw, Actor* actor, Gfx* gfx); +void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 dListIndex); +void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, + s32 dListIndex); +void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg); +void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, 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, + PostLimbDraw postLimbDraw, void* arg, Gfx* gfx); +Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, 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_LoadLinkAnimetion(GlobalContext* globalCtx, LinkAnimetionEntry* linkAnimetionSeg, s32 frame, - s32 limbCount, void* ram); +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_InitLinkAnimetion(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, - LinkAnimetionEntry* linkAnimetionEntrySeg, s32 flags, Vec3s* limbDrawTable, +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, LinkAnimetionEntry* linkAnimetionEntrySeg, +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, - LinkAnimetionEntry* linkAnimetionEntrySeg); -void SkelAnime_ChangeLinkAnimPlaybackStop(GlobalContext* globalCtx, SkelAnime* skelAnime, - LinkAnimetionEntry* linkAnimetionEntrySeg, f32 playbackSpeed); +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, - LinkAnimetionEntry* linkAnimetionEntrySeg); + LinkAnimationHeader* segment); void SkelAnime_ChangeLinkAnimPlaybackRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime, - LinkAnimetionEntry* linkAnimetionEntrySeg, f32 playbackSpeed); + LinkAnimationHeader* segment, f32 playbackSpeed); void func_800A41FC(GlobalContext* globalCtx, SkelAnime* skelAnime); -void func_800A425C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg, - f32 frame); -void func_800A42A0(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg, - f32 frame); +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, LinkAnimetionEntry* linkAnimetionEntrySeg, - f32 transitionFrame, LinkAnimetionEntry* linkAnimetionEntrySeg2, f32 frame, f32 transitionRate, - Vec3s* limbDrawTable); -void func_800A43B8(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg, - f32 transitionFrame, LinkAnimetionEntry* linkAnimetionEntrySeg2, f32 frame, f32 transitionRate, - Vec3s* arg7); +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_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, AnimationHeader* animationseg, Vec3s* limbDrawTable, Vec3s* arg5, s32 limbCount); -void SkelAnime_InitSV(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, - AnimationHeader* animationseg, Vec3s* limbDrawTable, Vec3s* arg5, s32 limbCount); +void 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); @@ -1416,7 +1417,8 @@ void Sram_Write16Bytes(SramContext* sramCtx); void Sram_InitSram(GameState* gameState, SramContext* sramCtx); void Sram_Alloc(GameState* gameState, SramContext* sramCtx); void Sram_Init(GlobalContext* globalCtx, SramContext* sramCtx); -void SsSram_Init(u32 addr, u8 handleType, u8 handleDomain, u8 handleLatency, u8 handlePageSize, u8 handleRelDuration, u8 handlePulse, u32 handleSpeed); +void SsSram_Init(u32 addr, u8 handleType, u8 handleDomain, u8 handleLatency, u8 handlePageSize, u8 handleRelDuration, + u8 handlePulse, u32 handleSpeed); void SsSram_Dma(void* dramAddr, size_t size, s32 direction); void SsSram_ReadWrite(u32 addr, void* dramAddr, size_t size, s32 direction); void func_800A9F30(PadMgr*, s32); @@ -1636,7 +1638,7 @@ void func_800C2118(PreRenderContext* this, Gfx** gfxp); void func_800C213C(PreRenderContext* this, Gfx** gfxp); void func_800C24BC(PreRenderContext* this, Gfx** gfxp); void func_800C24E0(PreRenderContext* this, Gfx** gfxp); -void func_800C2500(PreRenderContext *this, s32 x, s32 y); +void func_800C2500(PreRenderContext* this, s32 x, s32 y); void func_800C2FE4(PreRenderContext* this); void PreRender_Calc(PreRenderContext* this); void THGA_Ct(TwoHeadGfxArena* thga, Gfx* start, u32 size); @@ -2027,7 +2029,7 @@ void func_800DE238(void* mem, u32 size); void* func_800DE258(SoundAllocPool* pool, u32 size); void* func_800DE2B0(SoundAllocPool* pool, u32 size); void* Audio_AllocDmaMemory(SoundAllocPool* pool, u32 size); -void* Audio_AllocDmaMemoryZeroed(SoundAllocPool *pool, u32 size); +void* Audio_AllocDmaMemoryZeroed(SoundAllocPool* pool, u32 size); void* Audio_AllocZeroed(SoundAllocPool* pool, u32 size); void* Audio_Alloc(SoundAllocPool* pool, u32 size); void Audio_SoundAllocPoolInit(SoundAllocPool* pool, void* memAddr, u32 size); @@ -2527,7 +2529,8 @@ void guMtxIdentF(f32 mf[4][4]); void guLookAtF(f32 mf[4][4], f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp); void guLookAt(Mtx*, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp); s32 osPfsAllocateFile(OSPfs* pfs, u16 companyCode, u32 gameCode, u8* gameName, u8* extName, s32 length, s32* fileNo); -s32 __osPfsDeclearPage(OSPfs* pfs, __OSInode* inode, s32 fileSizeInPages, s32* startPage, u8 bank, s32* decleared, s32* finalPage); +s32 __osPfsDeclearPage(OSPfs* pfs, __OSInode* inode, s32 fileSizeInPages, s32* startPage, u8 bank, s32* decleared, + s32* finalPage); s32 osStopTimer(OSTimer* timer); u16 __osSumcalc(u8* ptr, s32 length); s32 __osIdCheckSum(u16* ptr, u16* csum, u16* icsum); @@ -2542,9 +2545,8 @@ s32 osAfterPreNMI(void); s32 osContStartQuery(OSMesgQueue* mq); void osContGetQuery(OSContStatus* data); void guLookAtHiliteF(f32 mf[4][4], LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, - f32 xUp, f32 yUp, f32 zUp, f32 xl1, f32 yl1, f32 zl1, - f32 xl2, f32 yl2, f32 zl2, - s32 hiliteWidth, s32 hiliteHeight); + f32 xUp, f32 yUp, f32 zUp, f32 xl1, f32 yl1, f32 zl1, f32 xl2, f32 yl2, f32 zl2, s32 hiliteWidth, + s32 hiliteHeight); void guLookAtHilite(Mtx* m, LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp, f32 xl1, f32 yl1, f32 zl1, f32 xl2, f32 yl2, f32 zl2, s32 hiliteWidth, s32 hiliteHeight); diff --git a/include/variables.h b/include/variables.h index 9db5dc932d..d7fe256548 100644 --- a/include/variables.h +++ b/include/variables.h @@ -32,7 +32,7 @@ extern Vec3s D_040020D0[]; extern Vec3s D_04002160[]; extern Vec3s D_040021F0[]; extern Vec3s D_04002280[]; -extern LinkAnimetionEntry D_04003238; +extern LinkAnimationHeader D_04003238; extern u32 D_04004298; extern u8 D_04006020[]; extern Gfx D_0400C820[]; @@ -409,7 +409,7 @@ extern s16 D_80120130; extern MapData gMapDataTable; extern s16 gSpoilingItems[3]; extern s16 gSpoilingItemReverts[3]; -extern SkeletonHeader* gPlayerSkelHeaders[2]; +extern FlexSkeletonHeader* gPlayerSkelHeaders[2]; extern u8 gPlayerModelTypes[][5]; extern Gfx* D_80125D68[]; extern Gfx* D_80125DE8[]; diff --git a/include/z64.h b/include/z64.h index 81e9452c14..6397088383 100644 --- a/include/z64.h +++ b/include/z64.h @@ -1949,13 +1949,4 @@ typedef struct { /* 0x04 */ const char* name; } FlagSetEntry; // size = 0x08 -typedef struct { - /* 0x00 */ u8 limbCount; - /* 0x01 */ char unk_01[0x01]; - /* 0x02 */ u8 dListCount; - /* 0x04 */ Skeleton* skeleton; - /* 0x08 */ char unk_08[0x18]; - /* 0x20 */ Vec3s* limbDrawTable; -} struct_80091A24_arg3; // size >= 0x24 - #endif diff --git a/include/z64animation.h b/include/z64animation.h index a193785523..6881cbe1e9 100755 --- a/include/z64animation.h +++ b/include/z64animation.h @@ -5,57 +5,90 @@ #include "z64dma.h" #include "z64math.h" -#define LINK_ANIMETION_OFFSET(addr,offset) (((u32)&_link_animetionSegmentRomStart)+((u32)addr)-((u32)&link_animetion_segment)+((u32)offset)) -#define LIMB_DONE 0xFF -#define ANIMATION_ENTRY_MAX 50 - -#define ANIM_FLAG_UPDATEXZ 0x02 -#define ANIM_FLAG_UPDATEY 0x10 - +extern u32 link_animetion_segment; struct GlobalContext; struct Actor; -typedef struct SkelAnime SkelAnime; +struct SkelAnime; + +#define LINK_ANIMATION_OFFSET(addr, offset) \ + (((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) typedef struct { - /* 0x000 */ Vec3s translation; // Translation relative to parent limb. root limb is a tranlation for entire model. - /* 0x006 */ u8 firstChildIndex; // The first child's index into the limb table. - /* 0x007 */ u8 nextLimbIndex; // The parent limb's next limb index into the limb table. - /* 0x008 */ Gfx* displayLists[1]; // Display lists for the limb. Index 0 is the normal display list, index 1 is the far model display list. -} SkelLimbEntry; // Size = 0xC or 0x10 + /* 0x00 */ Vec3s jointPos; // Root is position in model space, children are relative to parent + /* 0x06 */ u8 child; + /* 0x07 */ u8 sibling; + /* 0x08 */ Gfx* dList; +} StandardLimb; // size = 0xC typedef struct { - /* 0x000 */ SkelLimbEntry* limbs[1]; // One ore more limbs, index 0 is the root limb. -} Skeleton; // Size >= 4 + /* 0x00 */ Vec3s jointPos; // Root is position in model space, children are relative to parent + /* 0x06 */ u8 child; + /* 0x07 */ u8 sibling; + /* 0x08 */ Gfx* dLists[2]; // Near and far +} LodLimb; // size = 0x10 typedef struct { - /* 0x000 */ Skeleton* skeletonSeg; // Segment address of SkelLimbIndex. - /* 0x004 */ u8 limbCount; // Number of limbs in the model. - /* 0x005 */ char unk_05[3]; // unknown, maybe padding? - /* 0x008 */ u8 dListCount; // Number of display lists in the model. -} SkeletonHeader; // Size = 0xC - -typedef s16 AnimationRotationValue; + /* 0x00 */ Vec3s jointPos; // Root is position in model space, children are relative to parent + /* 0x06 */ u8 child; + /* 0x07 */ u8 sibling; + /* 0x08 */ s32 unk_08; // Type of data contained in segment + /* 0x0C */ UNK_PTR segment; // Segment address of data. Currently unclear what. +} SkinLimb; // size = 0x10 +// Model has limbs with only rigid meshes typedef struct { - /* 0x000 */ u16 x; - /* 0x002 */ u16 y; - /* 0x004 */ u16 z; -} AnimationRotationIndex; // size = 0x06 + /* 0x00 */ void** segment; + /* 0x04 */ u8 limbCount; +} SkeletonHeader; // size = 0x8 + +// Model has limbs with flexible meshes +typedef struct { + /* 0x00 */ SkeletonHeader sh; + /* 0x08 */ u8 dListCount; +} FlexSkeletonHeader; // size = 0xC typedef struct { s16 frameCount; s16 unk_02; -} GenericAnimationHeader; +} GenericAnimationHeader; // size = 0x4 typedef struct { - /* 0x000 */ GenericAnimationHeader genericHeader; - /* 0x004 */ u32 rotationValueSeg; // referenced as tbl - /* 0x008 */ u32 rotationIndexSeg; // referenced as ref_tbl - /* 0x00C */ u16 limit; + /* 0x00 */ GenericAnimationHeader genericHeader; + /* 0x04 */ u32 rotationValueSeg; // "tbl" + /* 0x08 */ u32 rotationIndexSeg; // "ref_tbl" + /* 0x0C */ u16 limit; } AnimationHeader; // size = 0x10 +typedef struct { + GenericAnimationHeader genericHeader; + u32 segment; +} LinkAnimationHeader; // size = 0x8 + +typedef s32 (*OverrideLimbDrawOpa)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + void*); + +typedef void (*PostLimbDrawOpa)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void*); + +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 enum { - ANIMATION_LINKANIMETION, + ANIMATION_LINK, ANIMATION_TYPE1, ANIMATION_TYPE2, ANIMATION_TYPE3, @@ -103,28 +136,29 @@ typedef struct { typedef struct { /* 0x000 */ struct Actor* actor; - /* 0x004 */ SkelAnime* skelAnime; + /* 0x004 */ struct SkelAnime* skelAnime; /* 0x008 */ f32 unk_08; } AnimationEntryType5; typedef struct { - /* 0x000 */ u8 raw[0x3C]; + /* 0x004 */ char raw[0x3C]; } AnimationEntryRaw; typedef union { - AnimationEntryRaw raw; + AnimationEntryRaw data; AnimationEntryType0 type0; AnimationEntryType1 type1; AnimationEntryType2 type2; AnimationEntryType3 type3; AnimationEntryType4 type4; AnimationEntryType5 type5; -} AnimationEntryType; +} AnimationEntryData; typedef struct { - /* 0x000 */ u8 type; - /* 0x001 */ u8 unk_01; - /* 0x004 */ AnimationEntryType types; + /* 0x00 */ u8 type; + /* 0x01 */ u8 unk_01; + /* 0x02 */ char unk_02[2]; + /* 0x04 */ AnimationEntryData data; } AnimationEntry; // size = 0x40 typedef struct AnimationContext { @@ -133,59 +167,7 @@ typedef struct AnimationContext { AnimationEntry entries[ANIMATION_ENTRY_MAX]; } AnimationContext; -typedef struct { - GenericAnimationHeader genericHeader; - u32 animationSegAddress; -} LinkAnimetionEntry; - -struct SkelAnime { - /* 0x00 */ u8 limbCount; // joint_Num - /* modes 0 and 1 repeat the animation indefinitely - * modes 2 and 3 play the animaton once then stop - * modes >= 4 play the animation once, and always start at frame 0. - */ - /* 0x01 */ u8 mode; - /* 0x02 */ u8 dListCount; - /* 0x03 */ s8 unk_03; - /* 0x04 */ Skeleton* skeleton; - /* 0x08 */ - union { - AnimationHeader* animCurrentSeg; - LinkAnimetionEntry* linkAnimetionSeg; - GenericAnimationHeader* genericSeg; - }; - /* 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 */ s32 (*animUpdate)(); - /* 0x34 */ s8 initFlags; - /* 0x35 */ u8 flags; - /* 0x36 */ s16 prevFrameRot; - /* 0x38 */ Vec3s prevFramePos; - /* 0x3E */ Vec3s unk_3E; -}; // size = 0x44 - -typedef s32 (*OverrideLimbDraw)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, - Vec3f* pos, Vec3s* rot, struct Actor* actor); - -typedef void (*PostLimbDraw)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, - Vec3s* rot, struct Actor* actor); - -typedef s32 (*OverrideLimbDraw2)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, - Vec3f* pos, Vec3s* rot, struct Actor* actor, Gfx** gfx); - -typedef void (*PostLimbDraw2)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, - Vec3s* rot, struct Actor* actor, Gfx** gfx); - -typedef void (*AnimationEntryCallback)(struct GlobalContext*, AnimationEntryType*); - -extern u32 link_animetion_segment; +typedef void (*AnimationEntryCallback)(struct GlobalContext* globalCtx, AnimationEntryData* data); // fcurve_skelanime structs typedef struct { @@ -196,7 +178,6 @@ typedef struct { /* 0x0008 */ f32 unk_08; } TransformData; // size = 0xC - typedef struct { /* 0x0000 */ u8* refIndex; /* 0x0004 */ TransformData* transformData; @@ -233,7 +214,33 @@ typedef struct { /* 0x001C */ LimbTransform* transforms; } SkelAnimeCurve; // size = 0x20 -typedef s32 (*OverrideCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCuve, s32 limbIndex, struct Actor* actor); -typedef void (*PostCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCuve, s32 limbIndex, struct Actor* actor); +typedef s32 (*OverrideCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCuve, s32 limbIndex, void*); +typedef void (*PostCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCuve, s32 limbIndex, void*); + +typedef s32 (*AnimationUpdateFunc)(); + +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; +} SkelAnime; // size = 0x44 #endif diff --git a/include/z64light.h b/include/z64light.h index 00f27942de..c20cb8153e 100644 --- a/include/z64light.h +++ b/include/z64light.h @@ -32,7 +32,7 @@ typedef struct { /* 0x2 */ LightParams params; } LightInfo; // size = 0xE -typedef struct Lights{ +typedef struct Lights { /* 0x00 */ u8 numLights; /* 0x08 */ Lightsn l; } Lights; // size = 0x80 diff --git a/include/z64player.h b/include/z64player.h index c988905230..50fc6cced1 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -176,15 +176,15 @@ typedef struct { /* 0x86 */ Vec3s unk_86[2]; /* 0x92 */ u16 unk_92; /* 0x94 */ u16 unk_94; - /* 0x98 */ LinkAnimetionEntry* unk_98; - /* 0x9C */ LinkAnimetionEntry* unk_9C; - /* 0xA0 */ LinkAnimetionEntry* unk_A0; - /* 0xA4 */ LinkAnimetionEntry* unk_A4; - /* 0xA8 */ LinkAnimetionEntry* unk_A8; - /* 0xAC */ LinkAnimetionEntry* unk_AC[4]; - /* 0xBC */ LinkAnimetionEntry* unk_BC[2]; - /* 0xC4 */ LinkAnimetionEntry* unk_C4[2]; - /* 0xCC */ LinkAnimetionEntry* unk_CC[2]; + /* 0x98 */ LinkAnimationHeader* unk_98; + /* 0x9C */ LinkAnimationHeader* unk_9C; + /* 0xA0 */ LinkAnimationHeader* unk_A0; + /* 0xA4 */ LinkAnimationHeader* unk_A4; + /* 0xA8 */ LinkAnimationHeader* unk_A8; + /* 0xAC */ LinkAnimationHeader* unk_AC[4]; + /* 0xBC */ LinkAnimationHeader* unk_BC[2]; + /* 0xC4 */ LinkAnimationHeader* unk_C4[2]; + /* 0xCC */ LinkAnimationHeader* unk_CC[2]; } PlayerAgeProperties; // size = 0xD4 typedef struct { diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 42ad328bd9..17aa8a7149 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -3794,8 +3794,8 @@ Gfx* func_80034B54(GraphicsContext* gfxCtx) { return displayList; } -void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw, - PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha) { +void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw, + PostLimbDraw postLimbDraw, Actor* actor, s16 alpha) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8831); func_80093D18(globalCtx->state.gfxCtx); @@ -3805,14 +3805,14 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - overrideLimbDraw, postLimbDraw, actor, POLY_OPA_DISP); + POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + overrideLimbDraw, postLimbDraw, actor, POLY_OPA_DISP); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8860); } -void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw2 overrideLimbDraw, - PostLimbDraw2 postLimbDraw, Actor* actor, s16 alpha) { +void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw, + PostLimbDraw postLimbDraw, Actor* actor, s16 alpha) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8876); func_80093D84(globalCtx->state.gfxCtx); @@ -3821,8 +3821,8 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - overrideLimbDraw, postLimbDraw, actor, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + overrideLimbDraw, postLimbDraw, actor, POLY_XLU_DISP); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8904); } diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c index 75d078ab37..8dc88a5ac8 100644 --- a/src/code/z_bgcheck.c +++ b/src/code/z_bgcheck.c @@ -417,7 +417,7 @@ u32 func_80041F10(u32 a0, u32 a1, u32 a2) { #pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800420E4.s") -u32 func_80042108(u32 a0, u32 a1, u32 a2) { +s32 func_80042108(CollisionContext* a0, CollisionPoly* a1, u32 a2) { u32 result; s32 var1; diff --git a/src/code/z_fcurve_data_skelanime.c b/src/code/z_fcurve_data_skelanime.c index 3cb3905f2f..92073b01c7 100644 --- a/src/code/z_fcurve_data_skelanime.c +++ b/src/code/z_fcurve_data_skelanime.c @@ -99,7 +99,7 @@ s32 SkelCurve_Update(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve) { } void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve* skelCurve, - OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* actor) { + OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, void* data) { SkelCurveLimb* limb = SEGMENTED_TO_VIRTUAL(skelCurve->limbList[limbIndex]); OPEN_DISPS(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 279); @@ -107,7 +107,7 @@ void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve* Matrix_Push(); if (overrideLimbDraw == NULL || - (overrideLimbDraw != NULL && overrideLimbDraw(globalCtx, skelCurve, limbIndex, actor))) { + (overrideLimbDraw != NULL && overrideLimbDraw(globalCtx, skelCurve, limbIndex, data))) { Vec3f scale; Vec3s rot; Vec3f pos; @@ -161,25 +161,25 @@ void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve* } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, skelCurve, limbIndex, actor); + postLimbDraw(globalCtx, skelCurve, limbIndex, data); } if (limb->firstChildIdx != LIMB_DONE) { - SkelCurve_DrawLimb(globalCtx, limb->firstChildIdx, skelCurve, overrideLimbDraw, postLimbDraw, lod, actor); + SkelCurve_DrawLimb(globalCtx, limb->firstChildIdx, skelCurve, overrideLimbDraw, postLimbDraw, lod, data); } Matrix_Pull(); if (limb->nextLimbIdx != LIMB_DONE) { - SkelCurve_DrawLimb(globalCtx, limb->nextLimbIdx, skelCurve, overrideLimbDraw, postLimbDraw, lod, actor); + SkelCurve_DrawLimb(globalCtx, limb->nextLimbIdx, skelCurve, overrideLimbDraw, postLimbDraw, lod, data); } CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 371); } void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, - OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* actor2) { + OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, void* data) { if (skelCurve->transforms != NULL) { - SkelCurve_DrawLimb(globalCtx, 0, skelCurve, overrideLimbDraw, postLimbDraw, lod, actor2); + SkelCurve_DrawLimb(globalCtx, 0, skelCurve, overrideLimbDraw, postLimbDraw, lod, data); } } diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 9018159637..f8ee4e7a00 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -10,7 +10,7 @@ typedef struct { /* 0x04 */ Vec3f pos; } BowStringData; // size = 0x10 -SkeletonHeader* gPlayerSkelHeaders[] = { 0x060377F4, 0x0602CF6C }; +FlexSkeletonHeader* gPlayerSkelHeaders[] = { 0x060377F4, 0x0602CF6C }; s16 sBootData[PLAYER_BOOTS_MAX][17] = { { 200, 1000, 300, 700, 550, 270, 600, 350, 800, 600, -100, 600, 590, 750, 125, 200, 130 }, @@ -625,9 +625,9 @@ Gfx* sBootDListGroups[][2] = { { 0x06025BA8, 0x06025DB0 }, }; -void func_8008F470(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount, s32 lod, - s32 tunic, s32 boots, s32 face, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, - void* arg) { +void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, 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; @@ -651,7 +651,7 @@ void func_8008F470(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDraw sDListsLodOffset = lod * 2; - SkelAnime_LodDrawSV(globalCtx, skeleton, limbDrawTable, dListCount, overrideLimbDraw, postLimbDraw, arg, lod); + SkelAnime_DrawFlexLod(globalCtx, skeleton, limbDrawTable, dListCount, overrideLimbDraw, postLimbDraw, data, lod); if ((overrideLimbDraw != func_800902F0) && (overrideLimbDraw != func_80090440) && (gSaveContext.gameMode != 3)) { if (LINK_IS_ADULT) { @@ -792,8 +792,8 @@ void func_8008F87C(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime, } } -s32 func_8008FCC8(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor) { - Player* this = (Player*)actor; +s32 func_8008FCC8(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { + Player* this = (Player*)thisx; if (limbIndex == PLAYER_LIMB_ROOT) { D_80160014 = this->leftHandType; @@ -858,10 +858,10 @@ s32 func_8008FCC8(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p return 0; } -s32 func_80090014(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor) { - Player* this = (Player*)actor; +s32 func_80090014(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { + Player* this = (Player*)thisx; - if (func_8008FCC8(globalCtx, limbIndex, dList, pos, rot, actor) == 0) { + if (!func_8008FCC8(globalCtx, limbIndex, dList, pos, rot, thisx)) { if (limbIndex == PLAYER_LIMB_L_HAND) { Gfx** dLists = this->leftHandDLists; @@ -910,10 +910,10 @@ s32 func_80090014(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p return 0; } -s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor) { - Player* this = (Player*)actor; +s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { + Player* this = (Player*)thisx; - if (func_8008FCC8(globalCtx, limbIndex, dList, pos, rot, actor) == 0) { + if (!func_8008FCC8(globalCtx, limbIndex, dList, pos, rot, thisx)) { if (this->unk_6AD != 2) { *dList = NULL; } else if (limbIndex == PLAYER_LIMB_L_FOREARM) { @@ -934,8 +934,8 @@ s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p return 0; } -s32 func_80090440(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor) { - if (func_8008FCC8(globalCtx, limbIndex, dList, pos, rot, actor) == 0) { +s32 func_80090440(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { + if (!func_8008FCC8(globalCtx, limbIndex, dList, pos, rot, thisx)) { *dList = NULL; } @@ -1069,7 +1069,7 @@ void func_80090A28(Player* this, Vec3f* vecs) { void func_80090AFC(GlobalContext* globalCtx, Player* this, f32 arg2) { static Vec3f D_801260C8 = { -500.0f, -100.0f, 0.0f }; - f32 sp9C; + CollisionPoly* sp9C; f32 sp98; Vec3f sp8C; Vec3f sp80; @@ -1085,7 +1085,7 @@ void func_80090AFC(GlobalContext* globalCtx, Player* this, f32 arg2) { if (1) {} - if (func_8003E188(&globalCtx->colCtx, &sp8C, &sp80, &sp74, &sp9C, 1, 1, 1, 1, &sp98) != 0) { + if (func_8003E188(&globalCtx->colCtx, &sp8C, &sp80, &sp74, &sp9C, 1, 1, 1, 1, &sp98)) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 2572); OVERLAY_DISP = Gfx_CallSetupDL(OVERLAY_DISP, 0x07); @@ -1152,8 +1152,8 @@ Vec3f D_801261E0[] = { { 200.0f, 200.0f, 0.0f }, }; -void func_80090D20(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor) { - Player* this = (Player*)actor; +void func_80090D20(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { + Player* this = (Player*)thisx; if (*dList != NULL) { Matrix_MultVec3f(&D_8012602C, D_80160000); @@ -1367,7 +1367,7 @@ u32 func_80091738(GlobalContext* globalCtx, u8* segment, SkelAnime* skelAnime) { gSegments[4] = VIRTUAL_TO_PHYSICAL(segment + 0x3800); gSegments[6] = VIRTUAL_TO_PHYSICAL(segment + 0x8800); - SkelAnime_InitLinkAnimetion(globalCtx, skelAnime, gPlayerSkelHeaders[(void)0, gSaveContext.linkAge], &D_04003238, 9, + SkelAnime_InitLinkAnimation(globalCtx, skelAnime, gPlayerSkelHeaders[(void)0, gSaveContext.linkAge], &D_04003238, 9, ptr, ptr, PLAYER_LIMB_MAX); return size + 0x8890; @@ -1415,9 +1415,9 @@ s32 func_80091880(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* p return 0; } -void func_80091A24(GlobalContext* globalCtx, void* seg04, void* seg06, struct_80091A24_arg3* arg3, Vec3f* pos, - Vec3s* rot, f32 scale, s32 sword, s32 tunic, s32 shield, s32 boots, s32 width, s32 height, - Vec3f* eye, Vec3f* at, f32 fovy, void* img1, void* img2) { +void func_80091A24(GlobalContext* globalCtx, void* seg04, void* seg06, SkelAnime* arg3, Vec3f* pos, Vec3s* rot, + f32 scale, s32 sword, s32 tunic, s32 shield, s32 boots, s32 width, s32 height, Vec3f* eye, Vec3f* at, + f32 fovy, void* img1, void* img2) { static Vp viewport = { 128, 224, 511, 0, 128, 224, 511, 0 }; static Lights1 lights1 = gdSPDefLights1(80, 80, 80, 255, 255, 255, 84, 84, 172); static Vec3f lightDir = { 89.8f, 0.0f, 89.8f }; @@ -1509,7 +1509,7 @@ void func_80091A24(GlobalContext* globalCtx, void* seg04, void* seg06, struct_80 gSPSegment(POLY_OPA_DISP++, 0x0C, gCullBackDList); - func_8008F470(globalCtx, arg3->skeleton, arg3->limbDrawTable, arg3->dListCount, 0, tunic, boots, 0, func_80091880, + func_8008F470(globalCtx, arg3->skeleton, arg3->limbDrawTbl, arg3->dListCount, 0, tunic, boots, 0, func_80091880, NULL, &sp12C); gSPEndDisplayList(POLY_OPA_DISP++); @@ -1521,8 +1521,8 @@ void func_80091A24(GlobalContext* globalCtx, void* seg04, void* seg06, struct_80 CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 3288); } -void func_8009214C(GlobalContext* globalCtx, u8* segment, struct_80091A24_arg3* arg2, Vec3f* pos, Vec3s* rot, f32 scale, - s32 sword, s32 tunic, s32 shield, s32 boots) { +void func_8009214C(GlobalContext* globalCtx, u8* segment, SkelAnime* arg2, Vec3f* pos, Vec3s* rot, f32 scale, s32 sword, + s32 tunic, s32 shield, s32 boots) { static Vec3f eye = { 0.0f, 0.0f, -400.0f }; static Vec3f at = { 0.0f, 0.0f, 0.0f }; Vec3s* destTable; @@ -1549,7 +1549,7 @@ void func_8009214C(GlobalContext* globalCtx, u8* segment, struct_80091A24_arg3* } srcTable = SEGMENTED_TO_VIRTUAL(srcTable); - destTable = arg2->limbDrawTable; + destTable = arg2->limbDrawTbl; for (i = 0; i < arg2->limbCount; i++) { *destTable++ = *srcTable++; } diff --git a/src/code/z_skelanime.c b/src/code/z_skelanime.c index 19aac4ae87..cf63e67986 100644 --- a/src/code/z_skelanime.c +++ b/src/code/z_skelanime.c @@ -1,35 +1,24 @@ #include "global.h" #include "vt.h" -s32 func_800A3D70(GlobalContext*, SkelAnime*); -s32 func_800A3E0C(GlobalContext*, SkelAnime*); +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); + void SkelAnime_CopyVec3s(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src); -void SkelAnime_LinkAnimetionLoaded(GlobalContext* globalCtx, AnimationEntryType0* entry); -void SkelAnime_AnimationType1Loaded(GlobalContext* globalCtx, AnimationEntryType1* entry); -void SkelAnime_AnimationType2Loaded(GlobalContext* globalCtx, AnimationEntryType2* entry); -void SkelAnime_AnimationType3Loaded(GlobalContext* globalCtx, AnimationEntryType3* entry); -void SkelAnime_AnimationType4Loaded(GlobalContext* globalCtx, AnimationEntryType4* entry); -void SkelAnime_AnimationType5Loaded(GlobalContext* globalCtx, AnimationEntryType5* entry); -// .data -u32 D_8012A480 = 0; -static AnimationEntryCallback sAnimationLoadDone[] = { - &SkelAnime_LinkAnimetionLoaded, &SkelAnime_AnimationType1Loaded, &SkelAnime_AnimationType2Loaded, - &SkelAnime_AnimationType3Loaded, &SkelAnime_AnimationType4Loaded, &SkelAnime_AnimationType5Loaded, -}; - -// .bss -u32 D_801600B0; +static u32 D_8012A480 = 0; +static u32 D_801600B0; /* - * Draws the limb at `limbIndex` with a level of detail display lists index by `dListIndex` + * Draw a limb of type `LodLimb` + * Near or far display list is specified via `lod` */ -void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, s32 dListIndex) { - SkelLimbEntry* limbEntry; +void SkelAnime_DrawLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod) { + LodLimb* limb; Gfx* dList; Vec3f pos; Vec3s rot; @@ -37,20 +26,20 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* sk OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 773); Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]); + limb = (LodLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]); limbIndex++; rot = limbDrawTable[limbIndex]; - pos.x = limbEntry->translation.x; - pos.y = limbEntry->translation.y; - pos.z = limbEntry->translation.z; + pos.x = limb->jointPos.x; + pos.y = limb->jointPos.y; + pos.z = limb->jointPos.z; - dList = limbEntry->displayLists[dListIndex]; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, actor) == 0)) { + dList = limb->dLists[lod]; + + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, arg)) { Matrix_JointPosition(&pos, &rot); if (dList != NULL) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 805), G_MTX_LOAD); - gSPDisplayList(POLY_OPA_DISP++, dList); } } @@ -58,31 +47,32 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* sk if (1) {} if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, limbIndex, &dList, &rot, actor); + postLimbDraw(globalCtx, limbIndex, &dList, &rot, arg); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - SkelAnime_LodDrawLimb(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, dListIndex); + if (limb->child != LIMB_DONE) { + SkelAnime_DrawLimbLod(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg, + lod); } Matrix_Pull(); - if (limbEntry->nextLimbIndex != LIMB_DONE) { - SkelAnime_LodDrawLimb(globalCtx, limbEntry->nextLimbIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, dListIndex); + if (limb->sibling != LIMB_DONE) { + SkelAnime_DrawLimbLod(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg, + lod); } CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 821); } /* - * Draws the Skeleton described by `skeleton` with a level of detail display list indexed by `dListIndex` + * Draw all limbs of type `LodLimb` in a given skeleton + * Near or far display list is specified via `lod` */ -void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, s32 dListIndex) { - SkelLimbEntry* limbEntry; - char pad[4]; +void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod) { + LodLimb* rootLimb; + s32 pad; Gfx* dList; Vec3f pos; Vec3s rot; @@ -98,29 +88,28 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]); + rootLimb = (LodLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]); pos.x = limbDrawTable[0].x; pos.y = limbDrawTable[0].y; pos.z = limbDrawTable[0].z; rot = limbDrawTable[1]; - dList = limbEntry->displayLists[dListIndex]; + dList = rootLimb->dLists[lod]; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) { + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, arg)) { Matrix_JointPosition(&pos, &rot); if (dList != NULL) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 881), G_MTX_LOAD); - gSPDisplayList(POLY_OPA_DISP++, dList); } } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, 1, &dList, &rot, actor); + postLimbDraw(globalCtx, 1, &dList, &rot, arg); } - if (limbEntry->firstChildIndex != 0xFF) { - SkelAnime_LodDrawLimb(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, dListIndex); + if (rootLimb->child != LIMB_DONE) { + SkelAnime_DrawLimbLod(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg, + lod); } Matrix_Pull(); @@ -129,71 +118,74 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb } /* - * Draws the limb at `limbIndex` with a level of detail display lists index by `dListIndex`, Limb matrices come - * from a dynamic allocation from the graph arena. + * Draw a limb of type `LodLimb` contained within a flexible skeleton + * Near or far display list is specified via `lod` */ -void SkelAnime_LodDrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, s32 dListIndex, - Mtx** mtx) { - SkelLimbEntry* limbEntry; - Gfx* dList[2]; +void SkelAnime_DrawFlexLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod, + Mtx** mtx) { + LodLimb* limb; + Gfx* newDList; + Gfx* limbDList; Vec3f pos; Vec3s rot; Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]); + limb = (LodLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]); limbIndex++; rot = limbDrawTable[limbIndex]; - pos.x = limbEntry->translation.x; - pos.y = limbEntry->translation.y; - pos.z = limbEntry->translation.z; - // Double assignment here would not work. - dList[0] = limbEntry->displayLists[dListIndex]; - dList[1] = dList[0]; + pos.x = limb->jointPos.x; + pos.y = limb->jointPos.y; + pos.z = limb->jointPos.z; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList[1], &pos, &rot, actor) == 0)) { + newDList = limbDList = limb->dLists[lod]; + + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, limbIndex, &newDList, &pos, &rot, arg)) { Matrix_JointPosition(&pos, &rot); - if (dList[1] != NULL) { + if (newDList != NULL) { Matrix_ToMtx(*mtx, "../z_skelanime.c", 945); - OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 946); - gSPMatrix(POLY_OPA_DISP++, *mtx, G_MTX_LOAD); - gSPDisplayList(POLY_OPA_DISP++, dList[1]); - CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 949); + { + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 946); + gSPMatrix(POLY_OPA_DISP++, *mtx, G_MTX_LOAD); + gSPDisplayList(POLY_OPA_DISP++, newDList); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 949); + } (*mtx)++; - } else if (dList[0] != NULL) { + } else if (limbDList != NULL) { Matrix_ToMtx(*mtx, "../z_skelanime.c", 954); (*mtx)++; } } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, limbIndex, &dList[0], &rot, actor); + postLimbDraw(globalCtx, limbIndex, &limbDList, &rot, arg); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - SkelAnime_LodDrawLimbSV(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, dListIndex, mtx); + if (limb->child != LIMB_DONE) { + SkelAnime_DrawFlexLimbLod(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg, + lod, mtx); } Matrix_Pull(); - if (limbEntry->nextLimbIndex != LIMB_DONE) { - SkelAnime_LodDrawLimbSV(globalCtx, limbEntry->nextLimbIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, dListIndex, mtx); + if (limb->sibling != LIMB_DONE) { + SkelAnime_DrawFlexLimbLod(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, + arg, lod, mtx); } } /* - * Draws the Skeleton described by `skeleton` with a level of detail display list indexed by `dListIndex` - * Matricies for the limbs are dynamically allocted from the graph arena. The dynamic allocation occurs - * because the Skeleton is too large to be supported by the normal matrix stack. + * 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_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, s32 dListIndex) { - SkelLimbEntry* limbEntry; - char pad[4]; - Gfx* dList[2]; +void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, s32 lod) { + LodLimb* rootLimb; + s32 pad; + Gfx* newDList; + Gfx* limbDList; Vec3f pos; Vec3s rot; Mtx* mtx; @@ -212,35 +204,34 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* li gSPSegment(POLY_OPA_DISP++, 0xD, mtx); Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]); + rootLimb = (LodLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]); pos.x = limbDrawTable[0].x; pos.y = limbDrawTable[0].y; pos.z = limbDrawTable[0].z; rot = limbDrawTable[1]; - dList[0] = limbEntry->displayLists[dListIndex]; - dList[1] = dList[0]; + newDList = limbDList = rootLimb->dLists[lod]; - if ((overrideLimbDraw == 0) || (overrideLimbDraw(globalCtx, 1, &dList[1], &pos, &rot, actor) == 0)) { + if ((overrideLimbDraw == 0) || !overrideLimbDraw(globalCtx, 1, &newDList, &pos, &rot, arg)) { Matrix_JointPosition(&pos, &rot); - if (dList[1] != NULL) { + if (newDList != NULL) { Matrix_ToMtx(mtx, "../z_skelanime.c", 1033); gSPMatrix(POLY_OPA_DISP++, mtx, G_MTX_LOAD); - gSPDisplayList(POLY_OPA_DISP++, dList[1]); + gSPDisplayList(POLY_OPA_DISP++, newDList); mtx++; - } else if (dList[0] != NULL) { + } else if (limbDList != NULL) { Matrix_ToMtx(mtx, "../z_skelanime.c", 1040); mtx++; } } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, 1, &dList[0], &rot, actor); + postLimbDraw(globalCtx, 1, &limbDList, &rot, arg); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - SkelAnime_LodDrawLimbSV(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, dListIndex, &mtx); + if (rootLimb->child != LIMB_DONE) { + SkelAnime_DrawFlexLimbLod(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, + arg, lod, &mtx); } Matrix_Pull(); @@ -249,28 +240,27 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* li } /* - * Draws the limb of the Skeleton `skeleton` at `limbIndex` + * Draw a limb of type `StandardLimb` to the polyOpa buffer */ -void SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor) { - SkelLimbEntry* limbEntry; +void SkelAnime_DrawLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg) { + StandardLimb* limb; Gfx* dList; Vec3f pos; Vec3s rot; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1076); - Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]); + limb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]); limbIndex++; rot = limbDrawTable[limbIndex]; - pos.x = limbEntry->translation.x; - pos.y = limbEntry->translation.y; - pos.z = limbEntry->translation.z; - dList = limbEntry->displayLists[0]; + pos.x = limb->jointPos.x; + pos.y = limb->jointPos.y; + pos.z = limb->jointPos.z; + dList = limb->dList; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, actor) == 0)) { + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, arg)) { Matrix_JointPosition(&pos, &rot); if (dList != NULL) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1103), G_MTX_LOAD); @@ -281,28 +271,28 @@ void SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skele if (1) {} if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, limbIndex, &dList, &rot, actor); + postLimbDraw(globalCtx, limbIndex, &dList, &rot, arg); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - SkelAnime_DrawLimb(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor); + if (limb->child != LIMB_DONE) { + SkelAnime_DrawLimbOpa(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg); } Matrix_Pull(); - if (limbEntry->nextLimbIndex != LIMB_DONE) { - SkelAnime_DrawLimb(globalCtx, limbEntry->nextLimbIndex, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, - actor); + if (limb->sibling != LIMB_DONE) { + SkelAnime_DrawLimbOpa(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg); } - CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1121); } -void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor) { - SkelLimbEntry* rootLimb; - char pad[4]; +/* + * Draw all limbs of type `StandardLimb` in a given skeleton to the polyOpa buffer + */ +void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg) { + StandardLimb* rootLimb; + s32 pad; Gfx* dList; Vec3f pos; Vec3s rot; @@ -317,16 +307,16 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra OPEN_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1148); Matrix_Push(); - rootLimb = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]); + rootLimb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]); pos.x = limbDrawTable[0].x; pos.y = limbDrawTable[0].y; pos.z = limbDrawTable[0].z; rot = limbDrawTable[1]; - dList = rootLimb->displayLists[0]; + dList = rootLimb->dList; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) { + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, arg)) { Matrix_JointPosition(&pos, &rot); if (dList != NULL) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1176), G_MTX_LOAD); @@ -335,12 +325,11 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, 1, &dList, &rot, actor); + postLimbDraw(globalCtx, 1, &dList, &rot, arg); } - if (rootLimb->firstChildIndex != LIMB_DONE) { - SkelAnime_DrawLimb(globalCtx, rootLimb->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor); + if (rootLimb->child != LIMB_DONE) { + SkelAnime_DrawLimbOpa(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg); } Matrix_Pull(); @@ -348,11 +337,15 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1190); } -void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, - Mtx** limbMatricies) { - SkelLimbEntry* limbEntry; - Gfx* dList[2]; +/* + * 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, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg, + Mtx** limbMatricies) { + StandardLimb* limb; + Gfx* newDList; + Gfx* limbDList; Vec3f pos; Vec3s rot; @@ -360,54 +353,58 @@ void SkelAnime_DrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* ske Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]); + limb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]); limbIndex++; rot = limbDrawTable[limbIndex]; - pos.x = limbEntry->translation.x; - pos.y = limbEntry->translation.y; - pos.z = limbEntry->translation.z; + pos.x = limb->jointPos.x; + pos.y = limb->jointPos.y; + pos.z = limb->jointPos.z; - dList[0] = limbEntry->displayLists[0]; - dList[1] = dList[0]; + newDList = limbDList = limb->dList; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList[1], &pos, &rot, actor) == 0)) { + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, limbIndex, &newDList, &pos, &rot, arg)) { Matrix_JointPosition(&pos, &rot); - if (dList[1] != NULL) { + if (newDList != NULL) { Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1242); gSPMatrix(POLY_OPA_DISP++, *limbMatricies, G_MTX_LOAD); - gSPDisplayList(POLY_OPA_DISP++, dList[1]); + gSPDisplayList(POLY_OPA_DISP++, newDList); (*limbMatricies)++; - } else if (dList[0] != NULL) { + } else if (limbDList != NULL) { Matrix_ToMtx(*limbMatricies, "../z_skelanime.c", 1249); (*limbMatricies)++; } } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, limbIndex, &dList[0], &rot, actor); + postLimbDraw(globalCtx, limbIndex, &limbDList, &rot, arg); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - SkelAnime_DrawLimbSV(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, limbMatricies); + if (limb->child != LIMB_DONE) { + SkelAnime_DrawFlexLimbOpa(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg, + limbMatricies); } Matrix_Pull(); - if (limbEntry->nextLimbIndex != LIMB_DONE) { - SkelAnime_DrawLimbSV(globalCtx, limbEntry->nextLimbIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, limbMatricies); + if (limb->sibling != LIMB_DONE) { + SkelAnime_DrawFlexLimbOpa(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, + arg, limbMatricies); } - CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_skelanime.c", 1265); } -void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount, - OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor) { - SkelLimbEntry* limbEntry; - char pad[4]; - Gfx* dList[2]; +/* + * 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, + OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg) { + StandardLimb* rootLimb; + s32 pad; + Gfx* newDList; + Gfx* limbDList; Vec3f pos; Vec3s rot; Mtx* mtx; @@ -427,7 +424,7 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]); + rootLimb = SEGMENTED_TO_VIRTUAL(skeleton[0]); pos.x = limbDrawTable[0].x; pos.y = limbDrawTable[0].y; @@ -435,31 +432,28 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD rot = limbDrawTable[1]; - dList[0] = limbEntry->displayLists[0]; - dList[1] = dList[0]; + newDList = limbDList = rootLimb->dList; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList[1], &pos, &rot, actor) == 0)) { + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, 1, &newDList, &pos, &rot, arg)) { Matrix_JointPosition(&pos, &rot); - if (dList[1] != NULL) { + if (newDList != NULL) { Matrix_ToMtx(mtx, "../z_skelanime.c", 1327); gSPMatrix(POLY_OPA_DISP++, mtx, G_MTX_LOAD); - gSPDisplayList(POLY_OPA_DISP++, dList[1]); + gSPDisplayList(POLY_OPA_DISP++, newDList); + mtx++; + } else if (limbDList != NULL) { + Matrix_ToMtx(mtx, "../z_skelanime.c", 1334); mtx++; - } else { - if (dList[0] != NULL) { - Matrix_ToMtx(mtx, "../z_skelanime.c", 1334); - mtx++; - } } } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, 1, &dList[0], &rot, actor); + postLimbDraw(globalCtx, 1, &limbDList, &rot, arg); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - SkelAnime_DrawLimbSV(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, &mtx); + if (rootLimb->child != LIMB_DONE) { + SkelAnime_DrawFlexLimbOpa(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, + arg, &mtx); } Matrix_Pull(); @@ -472,19 +466,12 @@ void SkelAnime_DrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbD * rotation value list, otherwise it is copied from the initial rotation value list */ void SkelAnime_AnimateFrame(AnimationHeader* animationSeg, s32 currentFrame, s32 limbCount, Vec3s* dst) { - AnimationRotationIndex* index; - AnimationRotationValue* rotationValueTable; - AnimationRotationValue* frameRotationValueTable; - AnimationHeader* animationHeader; - + 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; s32 i; - u16 limit; - - animationHeader = SEGMENTED_TO_VIRTUAL(animationSeg); - index = SEGMENTED_TO_VIRTUAL(animationHeader->rotationIndexSeg); - rotationValueTable = SEGMENTED_TO_VIRTUAL(animationHeader->rotationValueSeg); - frameRotationValueTable = &rotationValueTable[currentFrame]; - limit = animationHeader->limit; for (i = 0; i < limbCount; i++, dst++, index++) { if ((dst == NULL) || (index == NULL) || (frameRotationValueTable == NULL) || (rotationValueTable == NULL)) { @@ -494,48 +481,48 @@ void SkelAnime_AnimateFrame(AnimationHeader* animationSeg, s32 currentFrame, s32 LOG_ADDRESS("tbl", rotationValueTable, "../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]; + 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]; } } -s16 SkelAnime_GetTotalFrames(GenericAnimationHeader* animationSeg) { +s16 SkelAnime_GetTotalFrames(void* animationSeg) { GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg); + return animation->frameCount; } -s16 SkelAnime_GetFrameCount(GenericAnimationHeader* animationSeg) { +s16 SkelAnime_GetFrameCount(void* animationSeg) { GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg); // Loads an unsigned half for some reason. return (u16)animation->frameCount - 1; } /* - * Draws the Skeleton `skeleton`'s limb at index `limbIndex`. Appends all generated graphics commands to - * `gfx`. Returns a pointer to the next gfx to be appended to. + * Draw a limb of type `StandardLimb` to the specified display buffer */ -Gfx* SkelAnime_Draw2Limb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw2 overrideLimbDraw, PostLimbDraw2 postLimbDraw, Actor* actor, Gfx* gfx) { - SkelLimbEntry* limbEntry; +Gfx* SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* limbDrawTable, + OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* arg, Gfx* gfx) { + StandardLimb* limb; Gfx* dList; Vec3f pos; Vec3s rot; Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]); + limb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]); limbIndex++; rot = limbDrawTable[limbIndex]; - pos.x = limbEntry->translation.x; - pos.y = limbEntry->translation.y; - pos.z = limbEntry->translation.z; + pos.x = limb->jointPos.x; + pos.y = limb->jointPos.y; + pos.z = limb->jointPos.z; - dList = limbEntry->displayLists[0]; + dList = limb->dList; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, actor, &gfx) == 0)) { + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, arg, &gfx)) { Matrix_JointPosition(&pos, &rot); if (dList != NULL) { gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1489), G_MTX_LOAD); @@ -544,32 +531,31 @@ Gfx* SkelAnime_Draw2Limb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skel } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, limbIndex, &dList, &rot, actor, &gfx); + postLimbDraw(globalCtx, limbIndex, &dList, &rot, arg, &gfx); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - gfx = SkelAnime_Draw2Limb(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, gfx); + if (limb->child != LIMB_DONE) { + gfx = SkelAnime_DrawLimb(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg, + gfx); } Matrix_Pull(); - if (limbEntry->nextLimbIndex != LIMB_DONE) { - gfx = SkelAnime_Draw2Limb(globalCtx, limbEntry->nextLimbIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, gfx); + if (limb->sibling != LIMB_DONE) { + gfx = SkelAnime_DrawLimb(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, arg, + gfx); } return gfx; } /* - * Draws the Skeleton `skeleton` Appends all generated graphics to `gfx`, and returns a pointer to the - * next gfx to be appended to. + * Draw all limbs of type `StandardLimb` in a given skeleton to the specified display buffer */ -Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw2 overrideLimbDraw, PostLimbDraw2 postLimbDraw, Actor* actor, Gfx* gfx) { - SkelLimbEntry* limbEntry; - char pad[4]; +Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, OverrideLimbDraw overrideLimbDraw, + PostLimbDraw postLimbDraw, void* arg, Gfx* gfx) { + StandardLimb* rootLimb; + s32 pad; Gfx* dList; Vec3f pos; Vec3s rot; @@ -583,7 +569,7 @@ Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDr Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]); + rootLimb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]); pos.x = limbDrawTable[0].x; pos.y = limbDrawTable[0].y; @@ -591,9 +577,9 @@ Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDr rot = limbDrawTable[1]; - dList = limbEntry->displayLists[0]; + dList = rootLimb->dList; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, actor, &gfx) == 0)) { + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, arg, &gfx)) { Matrix_JointPosition(&pos, &rot); if (dList != NULL) { gSPMatrix(gfx++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1558), G_MTX_LOAD); @@ -602,12 +588,12 @@ Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDr } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, 1, &dList, &rot, actor, &gfx); + postLimbDraw(globalCtx, 1, &dList, &rot, arg, &gfx); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - gfx = SkelAnime_Draw2Limb(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, gfx); + if (rootLimb->child != LIMB_DONE) { + gfx = SkelAnime_DrawLimb(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, + arg, gfx); } Matrix_Pull(); @@ -615,69 +601,70 @@ Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDr return gfx; } -Gfx* SkelAnime_DrawLimbSV2(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* limbDrawTable, - OverrideLimbDraw2 overrideLimbDraw, PostLimbDraw2 postLimbDraw, Actor* actor, Mtx** mtx, - Gfx* gfx) { - SkelLimbEntry* limbEntry; - Gfx* dList1; - Gfx* dList2; +/* + * 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, + OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* arg, Mtx** mtx, + Gfx* gfx) { + StandardLimb* limb; + Gfx* newDList; + Gfx* limbDList; Vec3f pos; Vec3s rot; - char pad[4]; Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[limbIndex]); + limb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[limbIndex]); limbIndex++; rot = limbDrawTable[limbIndex]; - pos.x = limbEntry->translation.x; - pos.y = limbEntry->translation.y; - pos.z = limbEntry->translation.z; + pos.x = limb->jointPos.x; + pos.y = limb->jointPos.y; + pos.z = limb->jointPos.z; - dList1 = dList2 = limbEntry->displayLists[0]; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList1, &pos, &rot, actor, &gfx) == 0)) { + newDList = limbDList = limb->dList; + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, limbIndex, &newDList, &pos, &rot, arg, &gfx)) { Matrix_JointPosition(&pos, &rot); - if (dList1 != NULL) { + if (newDList != NULL) { Matrix_ToMtx(*mtx, "../z_skelanime.c", 1623); gSPMatrix(gfx++, *mtx, G_MTX_LOAD); - gSPDisplayList(gfx++, dList1); + gSPDisplayList(gfx++, newDList); + (*mtx)++; + } else if (limbDList != NULL) { + Matrix_ToMtx(*mtx, "../z_skelanime.c", 1630); (*mtx)++; - } else { - if (dList2 != NULL) { - Matrix_ToMtx(*mtx, "../z_skelanime.c", 1630); - (*mtx)++; - } } } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, limbIndex, &dList2, &rot, actor, &gfx); + postLimbDraw(globalCtx, limbIndex, &limbDList, &rot, arg, &gfx); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - gfx = SkelAnime_DrawLimbSV2(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, mtx, gfx); + if (limb->child != LIMB_DONE) { + gfx = SkelAnime_DrawFlexLimb(globalCtx, limb->child, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, + arg, mtx, gfx); } Matrix_Pull(); - if (limbEntry->nextLimbIndex != LIMB_DONE) { - gfx = SkelAnime_DrawLimbSV2(globalCtx, limbEntry->nextLimbIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, mtx, gfx); + if (limb->sibling != LIMB_DONE) { + gfx = SkelAnime_DrawFlexLimb(globalCtx, limb->sibling, skeleton, limbDrawTable, overrideLimbDraw, postLimbDraw, + arg, mtx, gfx); } return gfx; } /* - * Draws the Skeleton `skeleton` Appends all generated graphics to `gfx`, and returns a pointer to the - * next gfx to be appended to. Allocates matricies for display lists on the graph heap. + * 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_DrawSV2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDrawTable, s32 dListCount, - OverrideLimbDraw2 overrideLimbDraw, PostLimbDraw2 postLimbDraw, Actor* actor, Gfx* gfx) { - SkelLimbEntry* limbEntry; - char pad[4]; - Gfx* dList1; - Gfx* dList2; +Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDrawTable, s32 dListCount, + OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* arg, Gfx* gfx) { + StandardLimb* rootLimb; + s32 pad; + Gfx* newDList; + Gfx* limbDList; Vec3f pos; Vec3s rot; Mtx* mtx; @@ -693,7 +680,7 @@ Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb gSPSegment(gfx++, 0xD, mtx); Matrix_Push(); - limbEntry = SEGMENTED_TO_VIRTUAL(skeleton->limbs[0]); + rootLimb = (StandardLimb*)SEGMENTED_TO_VIRTUAL(skeleton[0]); pos.x = limbDrawTable[0].x; pos.y = limbDrawTable[0].y; @@ -701,28 +688,26 @@ Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb rot = limbDrawTable[1]; - dList1 = dList2 = limbEntry->displayLists[0]; + newDList = limbDList = rootLimb->dList; - if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList1, &pos, &rot, actor, &gfx) == 0)) { + if ((overrideLimbDraw == NULL) || !overrideLimbDraw(globalCtx, 1, &newDList, &pos, &rot, arg, &gfx)) { Matrix_JointPosition(&pos, &rot); - if (dList1 != NULL) { + if (newDList != NULL) { Matrix_ToMtx(mtx, "../z_skelanime.c", 1710); gSPMatrix(gfx++, mtx, G_MTX_LOAD); - gSPDisplayList(gfx++, dList1); + gSPDisplayList(gfx++, newDList); + mtx++; + } else if (limbDList != NULL) { + Matrix_ToMtx(mtx, "../z_skelanime.c", 1717); mtx++; - } else { - if (dList2 != NULL) { - Matrix_ToMtx(mtx, "../z_skelanime.c", 1717); - mtx++; - } } } if (postLimbDraw != NULL) { - postLimbDraw(globalCtx, 1, &dList2, &rot, actor, &gfx); + postLimbDraw(globalCtx, 1, &limbDList, &rot, arg, &gfx); } - if (limbEntry->firstChildIndex != LIMB_DONE) { - gfx = SkelAnime_DrawLimbSV2(globalCtx, limbEntry->firstChildIndex, skeleton, limbDrawTable, overrideLimbDraw, - postLimbDraw, actor, &mtx, gfx); + if (rootLimb->child != LIMB_DONE) { + gfx = SkelAnime_DrawFlexLimb(globalCtx, rootLimb->child, skeleton, limbDrawTable, overrideLimbDraw, + postLimbDraw, arg, &mtx, gfx); } Matrix_Pull(); @@ -730,17 +715,13 @@ Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb return gfx; } +// unused s32 func_800A29BC(s32 arg0, s32 arg1, Vec3s* arg2) { - s16* temp_t1; - s16* temp_a3; - AnimationHeader* temp_v0; + 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 t; - - temp_v0 = SEGMENTED_TO_VIRTUAL(arg0); - t = temp_v0->genericHeader.unk_02; - temp_a3 = SEGMENTED_TO_VIRTUAL(temp_v0->rotationIndexSeg); - temp_t1 = SEGMENTED_TO_VIRTUAL(temp_v0->rotationValueSeg); 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]]; @@ -782,7 +763,8 @@ ret: return t; } -s16 func_800A2DBC(GenericAnimationHeader* animationSeg) { +// unused +s16 func_800A2DBC(void* animationSeg) { GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg); return animation->unk_02; @@ -792,7 +774,7 @@ s16 func_800A2DBC(GenericAnimationHeader* animationSeg) { * Appears to be unused anywhere in the game. Appears to be a clone of * SkelAnime_GetTotalFrames */ -s16 SkelAnime_GetTotalFrames2(GenericAnimationHeader* animationSeg) { +s16 SkelAnime_GetTotalFrames2(void* animationSeg) { GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg); return animation->frameCount; @@ -802,7 +784,7 @@ s16 SkelAnime_GetTotalFrames2(GenericAnimationHeader* animationSeg) { * Appears to be unused anywhere in the game. Appears to be a clone of * SkelAnime_GetFrameCount */ -s16 SkelAnime_GetFrameCount2(GenericAnimationHeader* animationSeg) { +s16 SkelAnime_GetFrameCount2(void* animationSeg) { GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg); return animation->frameCount - 1; @@ -843,12 +825,10 @@ void func_800A32F4(GlobalContext* globalCtx) { } void func_800A3310(GlobalContext* globalCtx) { - u32* D_8012A480Ptr = &D_8012A480; - - *D_8012A480Ptr |= D_801600B0; + D_8012A480 |= D_801600B0; } -AnimationEntry* SkelAnime_NextEntry(AnimationContext* animationCtx, AnimationType type) { +AnimationEntry* SkelAnime_AddEntry(AnimationContext* animationCtx, AnimationType type) { AnimationEntry* entry; s16 index = animationCtx->animationCount; @@ -861,116 +841,121 @@ AnimationEntry* SkelAnime_NextEntry(AnimationContext* animationCtx, AnimationTyp return entry; } -/* - * The next 6 functions are coordinate with the AnimationType enum - */ +// The next 6 functions are coordinate with the AnimationType enum -void SkelAnime_LoadLinkAnimetion(GlobalContext* globalCtx, LinkAnimetionEntry* linkAnimetionSeg, s32 frame, - s32 limbCount, void* ram) { - AnimationEntry* entry; - LinkAnimetionEntry* linkAnimetionEntry; - char pad[4]; - - entry = SkelAnime_NextEntry(&globalCtx->animationCtx, ANIMATION_LINKANIMETION); +void SkelAnime_LoadLinkAnimation(GlobalContext* globalCtx, LinkAnimationHeader* segment, s32 frame, s32 limbCount, + Vec3s* drawTbl) { + AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_LINK); if (entry != NULL) { - linkAnimetionEntry = SEGMENTED_TO_VIRTUAL(linkAnimetionSeg); - osCreateMesgQueue(&entry->types.type0.msgQueue, &entry->types.type0.msg, 1); - DmaMgr_SendRequest2( - &entry->types.type0.req, ram, - LINK_ANIMETION_OFFSET(linkAnimetionEntry->animationSegAddress, ((sizeof(Vec3s) * limbCount + 2) * frame)), - sizeof(Vec3s) * limbCount + 2, 0, &entry->types.type0.msgQueue, NULL, "../z_skelanime.c", 2004); + LinkAnimationHeader* linkAnimHeader = SEGMENTED_TO_VIRTUAL(segment); + u32 ram = drawTbl; + + osCreateMesgQueue(&entry->data.type0.msgQueue, &entry->data.type0.msg, 1); + DmaMgr_SendRequest2(&entry->data.type0.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", + 2004); } } void SkelAnime_LoadAnimationType1(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src) { - AnimationEntry* entry = SkelAnime_NextEntry(&globalCtx->animationCtx, ANIMATION_TYPE1); + AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE1); + if (entry != NULL) { - entry->types.type1.unk_00 = D_801600B0; - entry->types.type1.vecCount = vecCount; - entry->types.type1.dst = dst; - entry->types.type1.src = src; + entry->data.type1.unk_00 = D_801600B0; + entry->data.type1.vecCount = vecCount; + entry->data.type1.dst = dst; + entry->data.type1.src = src; } } void SkelAnime_LoadAnimationType2(GlobalContext* globalCtx, s32 limbCount, Vec3s* arg2, Vec3s* arg3, f32 arg4) { - AnimationEntry* entry = SkelAnime_NextEntry(&globalCtx->animationCtx, ANIMATION_TYPE2); + AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE2); + if (entry != NULL) { - entry->types.type2.unk_00 = D_801600B0; - entry->types.type2.limbCount = limbCount; - entry->types.type2.unk_04 = arg2; - entry->types.type2.unk_08 = arg3; - entry->types.type2.unk_0C = arg4; + 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; } } void SkelAnime_LoadAnimationType3(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* index) { - AnimationEntry* entry = SkelAnime_NextEntry(&globalCtx->animationCtx, ANIMATION_TYPE3); + AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE3); + if (entry != NULL) { - entry->types.type3.unk_00 = D_801600B0; - entry->types.type3.vecCount = vecCount; - entry->types.type3.dst = dst; - entry->types.type3.src = src; - entry->types.type3.index = index; + 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; } } void SkelAnime_LoadAnimationType4(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* index) { - AnimationEntry* entry = SkelAnime_NextEntry(&globalCtx->animationCtx, ANIMATION_TYPE4); + AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE4); + if (entry != NULL) { - entry->types.type4.unk_00 = D_801600B0; - entry->types.type4.vecCount = vecCount; - entry->types.type4.dst = dst; - entry->types.type4.src = src; - entry->types.type4.index = index; + 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; } } void SkelAnime_LoadAnimationType5(GlobalContext* globalCtx, Actor* actor, SkelAnime* skelAnime, f32 arg3) { - AnimationEntry* entry = SkelAnime_NextEntry(&globalCtx->animationCtx, ANIMATION_TYPE5); + AnimationEntry* entry = SkelAnime_AddEntry(&globalCtx->animationCtx, ANIMATION_TYPE5); + if (entry != NULL) { - entry->types.type5.actor = actor; - entry->types.type5.skelAnime = skelAnime; - entry->types.type5.unk_08 = arg3; + entry->data.type5.actor = actor; + entry->data.type5.skelAnime = skelAnime; + entry->data.type5.unk_08 = arg3; } } -/* The next functions are callbacks to loading animations */ +// The next functions are callbacks to loading animations + +void SkelAnime_LinkAnimationLoaded(GlobalContext* globalCtx, AnimationEntryData* data) { + AnimationEntryType0* entry = &data->type0; -void SkelAnime_LinkAnimetionLoaded(GlobalContext* globalCtx, AnimationEntryType0* entry) { osRecvMesg(&entry->msgQueue, NULL, OS_MESG_BLOCK); } -void SkelAnime_AnimationType1Loaded(GlobalContext* globalCtx, AnimationEntryType1* entry) { - s32 i; - Vec3s* dst; - Vec3s* src; - AnimationEntryRaw* genericEntry = (AnimationEntryRaw*)entry; +void SkelAnime_AnimationType1Loaded(GlobalContext* globalCtx, AnimationEntryData* data) { + AnimationEntryType1* entry = &data->type1; - if ((genericEntry->raw[0] & D_8012A480) != 0) { - return; - } + if (!(entry->unk_00 & D_8012A480)) { + Vec3s* dst = entry->dst; + Vec3s* src = entry->src; + s32 i; - for (dst = entry->dst, src = entry->src, i = 0; i < genericEntry->raw[1]; i++) { - *dst++ = *src++; + for (i = 0; i < entry->vecCount; i++) { + *dst++ = *src++; + } } } -void SkelAnime_AnimationType2Loaded(GlobalContext* globalCtx, AnimationEntryType2* entry) { - if ((entry->unk_00 & D_8012A480) == 0) { +void SkelAnime_AnimationType2Loaded(GlobalContext* globalCtx, AnimationEntryData* data) { + AnimationEntryType2* entry = &data->type2; + + if (!(entry->unk_00 & D_8012A480)) { SkelAnime_InterpolateVec3s(entry->limbCount, entry->unk_04, entry->unk_04, entry->unk_08, entry->unk_0C); } } -void SkelAnime_AnimationType3Loaded(GlobalContext* globalCtx, AnimationEntryType3* entry) { - s32 i; - Vec3s* dst; - Vec3s* src; - u8* index; - AnimationEntryRaw* rawEntry = (AnimationEntryRaw*)entry; +void SkelAnime_AnimationType3Loaded(GlobalContext* globalCtx, AnimationEntryData* data) { + AnimationEntryType3* entry = &data->type3; - if ((rawEntry->raw[0] & D_8012A480) == 0) { - for (dst = entry->dst, src = entry->src, index = entry->index, i = 0; i < rawEntry->raw[1]; i++, dst++, src++) { + if (!(entry->unk_00 & D_8012A480)) { + Vec3s* dst = entry->dst; + Vec3s* src = entry->src; + u8* index = entry->index; + s32 i; + + for (i = 0; i < entry->vecCount; i++, dst++, src++) { if (*index++) { *dst = *src; } @@ -978,24 +963,25 @@ void SkelAnime_AnimationType3Loaded(GlobalContext* globalCtx, AnimationEntryType } } -void SkelAnime_AnimationType4Loaded(GlobalContext* globalCtx, AnimationEntryType4* entry) { - s32 i; - Vec3s* dst; - Vec3s* src; - u8* index; - AnimationEntryRaw* rawEntry = (AnimationEntryRaw*)entry; +void SkelAnime_AnimationType4Loaded(GlobalContext* globalCtx, AnimationEntryData* data) { + AnimationEntryType4* entry = &data->type4; - if ((rawEntry->raw[0] & D_8012A480) == 0) { - for (dst = entry->dst, src = entry->src, index = entry->index, i = 0; i < rawEntry->raw[1]; i++, dst++, src++) { - if (*index++ < 1U) { + if (!(entry->unk_00 & D_8012A480)) { + Vec3s* dst = entry->dst; + Vec3s* src = entry->src; + u8* index = entry->index; + s32 i; + + for (i = 0; i < entry->vecCount; i++, dst++, src++) { + if (!(*index++)) { *dst = *src; } } } } -void SkelAnime_AnimationType5Loaded(GlobalContext* globalCtx, AnimationEntryType5* entry) { - char pad[4]; +void SkelAnime_AnimationType5Loaded(GlobalContext* globalCtx, AnimationEntryData* data) { + AnimationEntryType5* entry = &data->type5; Actor* actor = entry->actor; Vec3f pos; @@ -1006,42 +992,43 @@ void SkelAnime_AnimationType5Loaded(GlobalContext* globalCtx, AnimationEntryType } void func_800A390C(GlobalContext* globalCtx, AnimationContext* animationCtx) { + static AnimationEntryCallback sAnimationLoadDone[] = { + SkelAnime_LinkAnimationLoaded, SkelAnime_AnimationType1Loaded, SkelAnime_AnimationType2Loaded, + SkelAnime_AnimationType3Loaded, SkelAnime_AnimationType4Loaded, SkelAnime_AnimationType5Loaded, + }; AnimationEntry* entry; for (entry = animationCtx->entries; animationCtx->animationCount != 0; entry++, animationCtx->animationCount--) { - sAnimationLoadDone[entry->type](globalCtx, &entry->types); + sAnimationLoadDone[entry->type](globalCtx, &entry->data); } D_801600B0 = 1; D_8012A480 = 0; } -void SkelAnime_InitLinkAnimetion(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, - LinkAnimetionEntry* linkAnimetionEntrySeg, s32 flags, Vec3s* limbDrawTbl, - Vec3s* transitionDrawTbl, s32 limbBufCount) { - char pad[8]; - SkeletonHeader* skeletonHeader; - size_t allocSize; +void SkelAnime_InitLinkAnimation(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg, + LinkAnimationHeader* segment, s32 flags, Vec3s* limbDrawTbl, Vec3s* transitionDrawTbl, + s32 limbBufCount) { + FlexSkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg); + s32 headerJointCount = skeletonHeader->sh.limbCount; s32 limbCount; - s32 headerCount; + size_t allocSize; - skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg); - headerCount = skeletonHeader->limbCount; skelAnime->initFlags = flags; - limbCount = (flags & 2) ? headerCount : 1; + limbCount = (flags & 2) ? headerJointCount : 1; if (flags & 1) { - limbCount += headerCount; + limbCount += headerJointCount; } if (flags & 4) { - limbCount += headerCount; + limbCount += headerJointCount; } skelAnime->limbCount = limbCount; skelAnime->dListCount = skeletonHeader->dListCount; allocSize = limbCount * sizeof(Vec3s); - skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->skeletonSeg); + skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->sh.segment); if (flags & 8) { allocSize += 2; @@ -1066,24 +1053,24 @@ void SkelAnime_InitLinkAnimetion(GlobalContext* globalCtx, SkelAnime* skelAnime, osSyncPrintf(VT_RST); } - SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, linkAnimetionEntrySeg, 1.0f, 0.0f, 0.0f, 0, 0.0f); + SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, segment, 1.0f, 0.0f, 0.0f, 0, 0.0f); } void func_800A3B8C(SkelAnime* skelAnime) { if (skelAnime->mode < 2) { - skelAnime->animUpdate = &func_800A3D70; + skelAnime->update = func_800A3D70; } else { - skelAnime->animUpdate = &func_800A3E0C; + skelAnime->update = func_800A3E0C; } skelAnime->transCurrentFrame = 0.0f; } s32 func_800A3BC0(GlobalContext* globalCtx, SkelAnime* skelAnime) { - return skelAnime->animUpdate(globalCtx, skelAnime); + return skelAnime->update(globalCtx, skelAnime); } s32 func_800A3BE4(GlobalContext* globalCtx, SkelAnime* skelAnime) { - f32 prevUnk28 = skelAnime->transCurrentFrame; + f32 transPrevFRame = skelAnime->transCurrentFrame; f32 updateRate = R_UPDATE_RATE * 0.5f; skelAnime->transCurrentFrame -= skelAnime->transitionStep * updateRate; @@ -1093,24 +1080,23 @@ s32 func_800A3BE4(GlobalContext* globalCtx, SkelAnime* skelAnime) { } SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->transitionDrawTbl, - 1.0f - (skelAnime->transCurrentFrame / prevUnk28)); + 1.0f - (skelAnime->transCurrentFrame / transPrevFRame)); return 0; } void func_800A3C9C(GlobalContext* globalCtx, SkelAnime* skelAnime) { - f32 updateRate; - - SkelAnime_LoadLinkAnimetion(globalCtx, skelAnime->linkAnimetionSeg, skelAnime->animCurrentFrame, - skelAnime->limbCount, skelAnime->limbDrawTbl); + SkelAnime_LoadLinkAnimation(globalCtx, skelAnime->animation, skelAnime->animCurrentFrame, skelAnime->limbCount, + skelAnime->limbDrawTbl); if (skelAnime->transCurrentFrame != 0) { - updateRate = R_UPDATE_RATE * 0.5f; + f32 updateRate = R_UPDATE_RATE * 0.5f; + skelAnime->transCurrentFrame -= skelAnime->transitionStep * updateRate; if (skelAnime->transCurrentFrame <= 0.0f) { skelAnime->transCurrentFrame = 0.0f; - return; + } else { + SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl, + skelAnime->transitionDrawTbl, skelAnime->transCurrentFrame); } - SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl, - skelAnime->transitionDrawTbl, skelAnime->transCurrentFrame); } } @@ -1135,14 +1121,12 @@ s32 func_800A3E0C(GlobalContext* globalCtx, SkelAnime* skelAnime) { return 1; } skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate; - if (0.0f < ((skelAnime->animCurrentFrame - skelAnime->animFrameCount) * skelAnime->animPlaybackSpeed)) { + 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; - } + } else if (skelAnime->animCurrentFrame < 0.0f) { + skelAnime->animCurrentFrame += skelAnime->totalFrames; + } else if (skelAnime->totalFrames <= skelAnime->animCurrentFrame) { + skelAnime->animCurrentFrame -= skelAnime->totalFrames; } func_800A3C9C(globalCtx, skelAnime); return 0; @@ -1153,81 +1137,72 @@ void SkelAnime_SetTransition(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 skelAnime->transitionStep = 1.0f / transitionRate; } -void SkelAnime_ChangeLinkAnim(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg, +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) && - ((linkAnimetionEntrySeg != skelAnime->linkAnimetionSeg) || (frame != skelAnime->animCurrentFrame))) { + 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; } else { - skelAnime->animUpdate = &func_800A3BE4; - SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)frame, skelAnime->limbCount, + skelAnime->update = func_800A3BE4; + SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)frame, skelAnime->limbCount, skelAnime->transitionDrawTbl); } skelAnime->transCurrentFrame = 1.0f; skelAnime->transitionStep = 1.0f / transitionRate; } else { func_800A3B8C(skelAnime); - SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)frame, skelAnime->limbCount, - skelAnime->limbDrawTbl); + SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)frame, skelAnime->limbCount, skelAnime->limbDrawTbl); skelAnime->transCurrentFrame = 0.0f; } - skelAnime->linkAnimetionSeg = linkAnimetionEntrySeg; + skelAnime->animation = segment; skelAnime->animCurrentFrame = 0.0f; skelAnime->initialFrame = frame; skelAnime->animCurrentFrame = frame; skelAnime->animFrameCount = frameCount; - skelAnime->totalFrames = SkelAnime_GetTotalFrames(linkAnimetionEntrySeg); + skelAnime->totalFrames = SkelAnime_GetTotalFrames(segment); skelAnime->animPlaybackSpeed = playbackSpeed; } -void SkelAnime_ChangeLinkAnimDefaultStop(GlobalContext* globalCtx, SkelAnime* skelAnime, - LinkAnimetionEntry* linkAnimetionEntrySeg) { - SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, linkAnimetionEntrySeg, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&linkAnimetionEntrySeg->genericHeader), 2, 0.0f); +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 SkelAnime_ChangeLinkAnimPlaybackStop(GlobalContext* globalCtx, SkelAnime* skelAnime, - LinkAnimetionEntry* linkAnimetionEntrySeg, f32 playbackSpeed) { - SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, linkAnimetionEntrySeg, playbackSpeed, 0.0f, - SkelAnime_GetFrameCount(&linkAnimetionEntrySeg->genericHeader), 2, 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 SkelAnime_ChangeLinkAnimDefaultRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime, - LinkAnimetionEntry* linkAnimetionEntrySeg) { - SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, linkAnimetionEntrySeg, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&linkAnimetionEntrySeg->genericHeader), 0, 0.0f); + LinkAnimationHeader* segment) { + SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, segment, 1.0f, 0.0f, SkelAnime_GetFrameCount(segment), 0, 0.0f); } void SkelAnime_ChangeLinkAnimPlaybackRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime, - LinkAnimetionEntry* linkAnimetionEntrySeg, f32 playbackSpeed) { - SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, linkAnimetionEntrySeg, playbackSpeed, 0.0f, - SkelAnime_GetFrameCount(&linkAnimetionEntrySeg->genericHeader), 0, 0.0f); + LinkAnimationHeader* segment, f32 playbackSpeed) { + SkelAnime_ChangeLinkAnim(globalCtx, skelAnime, segment, playbackSpeed, 0.0f, SkelAnime_GetFrameCount(segment), 0, + 0.0f); } void func_800A41FC(GlobalContext* globalCtx, SkelAnime* skelAnime) { SkelAnime_LoadAnimationType1(globalCtx, skelAnime->limbCount, skelAnime->transitionDrawTbl, skelAnime->limbDrawTbl); } +// Unused void func_800A422C(GlobalContext* globalCtx, SkelAnime* skelAnime) { SkelAnime_LoadAnimationType1(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->transitionDrawTbl); } -void func_800A425C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg, - f32 frame) { - SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)frame, skelAnime->limbCount, - skelAnime->transitionDrawTbl); +void func_800A425C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 frame) { + SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)frame, skelAnime->limbCount, skelAnime->transitionDrawTbl); } -void func_800A42A0(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg, - f32 frame) { - SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)frame, skelAnime->limbCount, - skelAnime->limbDrawTbl); +void func_800A42A0(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 frame) { + SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)frame, skelAnime->limbCount, skelAnime->limbDrawTbl); } void func_800A42E4(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 frame) { @@ -1235,49 +1210,44 @@ void func_800A42E4(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 frame) { frame); } -void func_800A431C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg, - f32 transitionFrame, LinkAnimetionEntry* linkAnimetionEntrySeg2, f32 frame, f32 transitionRate, - Vec3s* limbDrawTbl) { +void func_800A431C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 transitionFrame, + LinkAnimationHeader* linkAnimSeg2, f32 frame, f32 transitionRate, Vec3s* limbDrawTbl) { Vec3s* alignedLimbDrawTbl; - SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)transitionFrame, skelAnime->limbCount, - skelAnime->limbDrawTbl); + + SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)transitionFrame, skelAnime->limbCount, skelAnime->limbDrawTbl); alignedLimbDrawTbl = (Vec3s*)ALIGN16((u32)limbDrawTbl); - SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg2, (s32)frame, skelAnime->limbCount, - alignedLimbDrawTbl); + SkelAnime_LoadLinkAnimation(globalCtx, linkAnimSeg2, (s32)frame, skelAnime->limbCount, alignedLimbDrawTbl); SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->limbDrawTbl, alignedLimbDrawTbl, transitionRate); } -void func_800A43B8(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg, - f32 transitionFrame, LinkAnimetionEntry* linkAnimetionEntrySeg2, f32 frame, f32 transitionRate, - Vec3s* limbDrawTbl) { +void func_800A43B8(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimationHeader* segment, f32 transitionFrame, + LinkAnimationHeader* linkAnimSeg2, f32 frame, f32 transitionRate, Vec3s* limbDrawTbl) { Vec3s* alignedLimbDrawTbl; - SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)transitionFrame, skelAnime->limbCount, + SkelAnime_LoadLinkAnimation(globalCtx, segment, (s32)transitionFrame, skelAnime->limbCount, skelAnime->transitionDrawTbl); alignedLimbDrawTbl = (Vec3s*)ALIGN16((u32)limbDrawTbl); - SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg2, (s32)frame, skelAnime->limbCount, - alignedLimbDrawTbl); + SkelAnime_LoadLinkAnimation(globalCtx, linkAnimSeg2, (s32)frame, skelAnime->limbCount, alignedLimbDrawTbl); SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->transitionDrawTbl, alignedLimbDrawTbl, transitionRate); } +// unused void SkelAnime_SetModeStop(SkelAnime* skelAnime) { skelAnime->mode = 2; func_800A3B8C(skelAnime); } s32 func_800A4478(SkelAnime* skelAnime, f32 arg1, f32 updateRate) { - f32 updateSpeed; + f32 updateSpeed = skelAnime->animPlaybackSpeed * updateRate; + f32 nextFrame = skelAnime->animCurrentFrame - updateSpeed; f32 temp_f12; - f32 nextFrame; - updateSpeed = skelAnime->animPlaybackSpeed * updateRate; - nextFrame = skelAnime->animCurrentFrame - updateSpeed; if (nextFrame < 0.0f) { nextFrame += skelAnime->totalFrames; } else if (skelAnime->totalFrames <= nextFrame) { @@ -1288,8 +1258,8 @@ s32 func_800A4478(SkelAnime* skelAnime, f32 arg1, f32 updateRate) { arg1 = skelAnime->totalFrames; } - temp_f12 = (nextFrame + updateSpeed) - arg1; - if ((0.0f <= (temp_f12 * updateSpeed)) && (((temp_f12 - updateSpeed) * updateSpeed) < 0.0f)) { + temp_f12 = nextFrame + updateSpeed - arg1; + if ((temp_f12 * updateSpeed >= 0.0f) && (((temp_f12 - updateSpeed) * updateSpeed) < 0.0f)) { return 1; } return 0; @@ -1303,11 +1273,10 @@ s32 func_800A4530(SkelAnime* skelAnime, f32 arg1) { void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, AnimationHeader* animationSeg, Vec3s* limbDrawTbl, Vec3s* transitionDrawTable, s32 limbCount) { - SkeletonHeader* skeletonHeader; + SkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg); - skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg); skelAnime->limbCount = skeletonHeader->limbCount + 1; - skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->skeletonSeg); + skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->segment); if (limbDrawTbl == NULL) { skelAnime->limbDrawTbl = ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->limbDrawTbl), "../z_skelanime.c", 2968); @@ -1331,14 +1300,13 @@ void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHead } } -void SkelAnime_InitSV(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, - AnimationHeader* animationSeg, Vec3s* limbDrawTbl, Vec3s* transitionDrawTable, s32 limbCount) { - SkeletonHeader* skeletonHeader; +void SkelAnime_InitFlex(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg, + AnimationHeader* animationSeg, Vec3s* limbDrawTbl, Vec3s* transitionDrawTable, s32 limbCount) { + FlexSkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg); - skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg); - skelAnime->limbCount = skeletonHeader->limbCount + 1; + skelAnime->limbCount = skeletonHeader->sh.limbCount + 1; skelAnime->dListCount = skeletonHeader->dListCount; - skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->skeletonSeg); + skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->sh.segment); if (limbDrawTbl == NULL) { skelAnime->limbDrawTbl = @@ -1367,11 +1335,10 @@ void SkelAnime_InitSV(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHe void SkelAnime_InitSkin(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, AnimationHeader* animationSeg) { - SkeletonHeader* skeletonHeader; + SkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg); - skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg); skelAnime->limbCount = skeletonHeader->limbCount + 1; - skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->skeletonSeg); + skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->segment); skelAnime->limbDrawTbl = ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->limbDrawTbl), "../z_skelanime.c", 3120); skelAnime->transitionDrawTbl = @@ -1390,49 +1357,45 @@ void SkelAnime_InitSkin(GlobalContext* globalCtx, SkelAnime* skelAnime, Skeleton void func_800A49B0(SkelAnime* skelAnime) { if (skelAnime->mode < 2) { - skelAnime->animUpdate = &func_800A4D9C; + skelAnime->update = func_800A4D9C; } else if (skelAnime->mode < 4) { - skelAnime->animUpdate = &func_800A4EE0; + skelAnime->update = func_800A4EE0; } else { - skelAnime->animUpdate = &func_800A4E38; + skelAnime->update = func_800A4E38; } } s32 SkelAnime_FrameUpdateMatrix(SkelAnime* skelAnime) { - return skelAnime->animUpdate(skelAnime); + return skelAnime->update(skelAnime); } s32 func_800A4A20(SkelAnime* skelAnime) { - f32 prevUnk28; - f32 updateRate; + f32 transPrevFrame = skelAnime->transCurrentFrame; + f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f); - prevUnk28 = skelAnime->transCurrentFrame; - 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_InterpolateVec3s(skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->limbDrawTbl, - skelAnime->transitionDrawTbl, 1.0f - (skelAnime->transCurrentFrame / prevUnk28)); + skelAnime->transitionDrawTbl, 1.0f - (skelAnime->transCurrentFrame / transPrevFrame)); return 0; } s32 func_800A4AD8(SkelAnime* skelAnime) { - s16 temp_a2; + s16 temp_a2 = skelAnime->transCurrentFrame * 0x4000; s16 temp_a1; f32 sp28; f32 phi_f2; - f32 updateRate; + f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f); - temp_a2 = (s16)(skelAnime->transCurrentFrame * 16384.0f); - 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; } - temp_a1 = (s16)(skelAnime->transCurrentFrame * 16384.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); @@ -1451,40 +1414,36 @@ s32 func_800A4AD8(SkelAnime* skelAnime) { } void func_800A4C58(SkelAnime* skelAnime) { - s32 t; - f32 updateRate; - char pad[4]; - Vec3s sp38[98]; - f32 temp_f10; - f32 temp_f2; + Vec3s sp38[100]; - SkelAnime_AnimateFrame(skelAnime->animCurrentSeg, skelAnime->animCurrentFrame, skelAnime->limbCount, + SkelAnime_AnimateFrame(skelAnime->animation, skelAnime->animCurrentFrame, skelAnime->limbCount, skelAnime->limbDrawTbl); - if (skelAnime->mode & 0x1) { - t = (s32)skelAnime->animCurrentFrame; - temp_f10 = t; - temp_f2 = skelAnime->animCurrentFrame - temp_f10; - t++; - if (t >= (s32)skelAnime->totalFrames) { + if (skelAnime->mode & 1) { + s32 t = skelAnime->animCurrentFrame; + f32 sp30 = skelAnime->animCurrentFrame - t; + + if (++t >= (s32)skelAnime->totalFrames) { t = 0; } - SkelAnime_AnimateFrame(skelAnime->animCurrentSeg, t, skelAnime->limbCount, sp38); - SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->limbDrawTbl, sp38, temp_f2); + SkelAnime_AnimateFrame(skelAnime->animation, t, skelAnime->limbCount, sp38); + SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->limbDrawTbl, sp38, sp30); } if (skelAnime->transCurrentFrame != 0) { - updateRate = R_UPDATE_RATE * (1.0f / 3.0f); + f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f); + skelAnime->transCurrentFrame -= skelAnime->transitionStep * updateRate; if (skelAnime->transCurrentFrame <= 0.0f) { skelAnime->transCurrentFrame = 0.0f; - return; + } else { + SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->limbDrawTbl, + skelAnime->transitionDrawTbl, skelAnime->transCurrentFrame); } - SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->limbDrawTbl, skelAnime->limbDrawTbl, - skelAnime->transitionDrawTbl, skelAnime->transCurrentFrame); } } s32 func_800A4D9C(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; @@ -1497,6 +1456,7 @@ s32 func_800A4D9C(SkelAnime* skelAnime) { s32 func_800A4E38(SkelAnime* skelAnime) { f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f); + skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate; if (skelAnime->animCurrentFrame < skelAnime->initialFrame) { skelAnime->animCurrentFrame = @@ -1511,27 +1471,23 @@ s32 func_800A4E38(SkelAnime* skelAnime) { } s32 func_800A4EE0(SkelAnime* skelAnime) { - f32 updateRate; + f32 updateRate = R_UPDATE_RATE * (1.0f / 3.0f); - updateRate = R_UPDATE_RATE * (1.0f / 3.0f); if (skelAnime->animCurrentFrame == skelAnime->animFrameCount) { - - SkelAnime_AnimateFrame(skelAnime->animCurrentSeg, (s32)skelAnime->animCurrentFrame, skelAnime->limbCount, + SkelAnime_AnimateFrame(skelAnime->animation, (s32)skelAnime->animCurrentFrame, skelAnime->limbCount, skelAnime->limbDrawTbl); func_800A4C58(skelAnime); return 1; } + skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate; - if (0.0f < ((skelAnime->animCurrentFrame - skelAnime->animFrameCount) * skelAnime->animPlaybackSpeed)) { + + 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; - } - } + } else if (skelAnime->animCurrentFrame < 0.0f) { + skelAnime->animCurrentFrame += skelAnime->totalFrames; + } else if (skelAnime->totalFrames <= skelAnime->animCurrentFrame) { + skelAnime->animCurrentFrame -= skelAnime->totalFrames; } func_800A4C58(skelAnime); return 0; @@ -1541,17 +1497,17 @@ void SkelAnime_ChangeAnimImpl(SkelAnime* skelAnime, AnimationHeader* animationSe f32 frameCount, u8 animationType, f32 transitionRate, s8 unk2) { skelAnime->mode = animationType; if ((transitionRate != 0.0f) && - ((animationSeg != skelAnime->animCurrentSeg) || (frame != skelAnime->animCurrentFrame))) { + ((animationSeg != skelAnime->animation) || (frame != skelAnime->animCurrentFrame))) { if (transitionRate < 0) { func_800A49B0(skelAnime); SkelAnime_CopyVec3s(skelAnime, skelAnime->transitionDrawTbl, skelAnime->limbDrawTbl); transitionRate = -transitionRate; } else { if (unk2 != 0) { - skelAnime->animUpdate = &func_800A4AD8; + skelAnime->update = func_800A4AD8; skelAnime->unk_03 = unk2; } else { - skelAnime->animUpdate = &func_800A4A20; + skelAnime->update = func_800A4A20; } SkelAnime_AnimateFrame(animationSeg, frame, skelAnime->limbCount, skelAnime->transitionDrawTbl); } @@ -1563,15 +1519,15 @@ void SkelAnime_ChangeAnimImpl(SkelAnime* skelAnime, AnimationHeader* animationSe skelAnime->transCurrentFrame = 0.0f; } - skelAnime->animCurrentSeg = animationSeg; + skelAnime->animation = animationSeg; skelAnime->initialFrame = frame; skelAnime->animFrameCount = frameCount; - skelAnime->totalFrames = SkelAnime_GetTotalFrames(&animationSeg->genericHeader); + skelAnime->totalFrames = SkelAnime_GetTotalFrames(animationSeg); if (skelAnime->mode >= 4) { skelAnime->animCurrentFrame = 0.0f; } else { skelAnime->animCurrentFrame = frame; - if (skelAnime->mode < 2) { + if (skelAnime->mode <= 1) { skelAnime->animFrameCount = skelAnime->totalFrames - 1.0f; } } @@ -1584,23 +1540,19 @@ void SkelAnime_ChangeAnim(SkelAnime* skelAnime, AnimationHeader* animationSeg, f } void SkelAnime_ChangeAnimDefaultStop(SkelAnime* skelAnime, AnimationHeader* animationSeg) { - SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0.0f, SkelAnime_GetFrameCount(&animationSeg->genericHeader), 2, - 0.0f); + SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0.0f, SkelAnime_GetFrameCount(animationSeg), 2, 0.0f); } void SkelAnime_ChangeAnimTransitionStop(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 transitionRate) { - SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0, SkelAnime_GetFrameCount(&animationSeg->genericHeader), 2, - transitionRate); + SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0, SkelAnime_GetFrameCount(animationSeg), 2, transitionRate); } void SkelAnime_ChangeAnimPlaybackStop(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 playbackSpeed) { - SkelAnime_ChangeAnim(skelAnime, animationSeg, playbackSpeed, 0.0f, - SkelAnime_GetFrameCount(&animationSeg->genericHeader), 2, 0.0f); + SkelAnime_ChangeAnim(skelAnime, animationSeg, playbackSpeed, 0.0f, SkelAnime_GetFrameCount(animationSeg), 2, 0.0f); } void SkelAnime_ChangeAnimDefaultRepeat(SkelAnime* skelAnime, AnimationHeader* animationSeg) { - SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0.0f, SkelAnime_GetFrameCount(&animationSeg->genericHeader), 0, - 0.0f); + SkelAnime_ChangeAnim(skelAnime, animationSeg, 1.0f, 0.0f, SkelAnime_GetFrameCount(animationSeg), 0, 0.0f); } void SkelAnime_ChangeAnimTransitionRepeat(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 transitionRate) { @@ -1608,10 +1560,10 @@ void SkelAnime_ChangeAnimTransitionRepeat(SkelAnime* skelAnime, AnimationHeader* } void SkelAnime_ChangeAnimPlaybackRepeat(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 playbackSpeed) { - SkelAnime_ChangeAnim(skelAnime, animationSeg, playbackSpeed, 0.0f, - SkelAnime_GetFrameCount(&animationSeg->genericHeader), 0, 0.0f); + SkelAnime_ChangeAnim(skelAnime, animationSeg, playbackSpeed, 0.0f, SkelAnime_GetFrameCount(animationSeg), 0, 0.0f); } +// unused void SkelAnime_AnimSetStop(SkelAnime* skelAnime) { skelAnime->mode = 2; skelAnime->animFrameCount = skelAnime->totalFrames; @@ -1628,6 +1580,7 @@ void SkelAnime_AnimReverse(SkelAnime* skelAnime) { void func_800A5428(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* index) { s32 i; + for (i = 0; i < skelAnime->limbCount; i++, dst++, src++) { if (*index++) { *dst = *src; @@ -1635,8 +1588,10 @@ void func_800A5428(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* index) { } } +// unused void func_800A5490(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* arg3) { s32 i; + for (i = 0; i < skelAnime->limbCount; i++, dst++, src++) { if (*arg3++ < 1U) { *dst = *src; @@ -1654,12 +1609,11 @@ void func_800A54FC(SkelAnime* skelAnime, Vec3f* pos, s16 angle) { f32 cos; if (skelAnime->flags & 0x10) { - pos->z = 0.0f; - pos->x = 0.0f; + pos->x = pos->z = 0.0f; } else { // `angle` rotation around y axis. - x = skelAnime->limbDrawTbl->x; - z = skelAnime->limbDrawTbl->z; + x = skelAnime->limbDrawTbl[0].x; + z = skelAnime->limbDrawTbl[0].z; sin = Math_Sins(angle); cos = Math_Coss(angle); pos->x = x * cos + z * sin; @@ -1674,21 +1628,21 @@ void func_800A54FC(SkelAnime* skelAnime, Vec3f* pos, s16 angle) { } skelAnime->prevFrameRot = angle; - skelAnime->prevFramePos.x = skelAnime->limbDrawTbl->x; - skelAnime->limbDrawTbl->x = skelAnime->unk_3E.x; - skelAnime->prevFramePos.z = skelAnime->limbDrawTbl->z; - skelAnime->limbDrawTbl->z = skelAnime->unk_3E.z; + 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; } else { - pos->y = skelAnime->limbDrawTbl->y - skelAnime->prevFramePos.y; + pos->y = skelAnime->limbDrawTbl[0].y - skelAnime->prevFramePos.y; } - skelAnime->prevFramePos.y = skelAnime->limbDrawTbl->y; - skelAnime->limbDrawTbl->y = skelAnime->unk_3E.y; + skelAnime->prevFramePos.y = skelAnime->limbDrawTbl[0].y; + skelAnime->limbDrawTbl[0].y = skelAnime->unk_3E.y; } else { pos->y = 0.0f; - skelAnime->prevFramePos.y = skelAnime->limbDrawTbl->y; + skelAnime->prevFramePos.y = skelAnime->limbDrawTbl[0].y; } skelAnime->flags &= ~ANIM_FLAG_UPDATEY; } @@ -1713,6 +1667,7 @@ void SkelAnime_Free(SkelAnime* skelAnime, GlobalContext* globalCtx) { void SkelAnime_CopyVec3s(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src) { s32 i; + for (i = 0; i < skelAnime->limbCount; i++) { *dst++ = *src++; } 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 2c94cb348d..643ebfa64d 100644 --- a/src/overlays/actors/ovl_Demo_Go/z_demo_go.c +++ b/src/overlays/actors/ovl_Demo_Go/z_demo_go.c @@ -53,7 +53,7 @@ const ActorInit Demo_Go_InitVars = { extern AnimationHeader D_060029A8; extern AnimationHeader D_06004930; extern UNK_TYPE D_0600E680; -extern SkeletonHeader D_0600FEF0; +extern FlexSkeletonHeader D_0600FEF0; UNK_TYPE func_8097C870(DemoGo* this) { s32 ret; @@ -245,8 +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->genericHeader), 0, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 0, -8.0f); this->action = 5; this->unk_19C = 0.0f; } @@ -319,9 +318,8 @@ void DemoGo_Init(Actor* thisx, GlobalContext* globalCtx) { AnimationHeader* animation = &D_06004930; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600FEF0, NULL, NULL, NULL, 0); - SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(&animation->genericHeader), 2, - 0.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); this->action = 0; } @@ -341,8 +339,8 @@ 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_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL, - &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, 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 8a28b70d19..a0159a015b 100644 --- a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c +++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c @@ -101,7 +101,7 @@ extern AnimationHeader D_06000AFC; extern Gfx D_0600EDE8[]; extern AnimationHeader D_060014E4; extern AnimationHeader D_06001868; -extern SkeletonHeader D_0600F788; +extern FlexSkeletonHeader D_0600F788; extern AnimationHeader D_0600FB10; extern AnimationHeader D_060101C8; extern AnimationHeader D_06010EE0; @@ -281,8 +281,8 @@ void func_80985200(DemoIm* this, GlobalContext* globalCtx, s32 actionIdx) { } } -void func_80985280(DemoIm* this, AnimationHeader* animationHeader, u8 arg2, f32 transitionRate, s32 arg4) { - f32 frameCount = SkelAnime_GetFrameCount(&animationHeader->genericHeader); +void func_80985280(DemoIm* this, AnimationHeader* animHeaderSeg, u8 arg2, f32 transitionRate, s32 arg4) { + f32 frameCount = SkelAnime_GetFrameCount(animHeaderSeg); f32 playbackSpeed; f32 unk0; f32 fc; @@ -297,7 +297,7 @@ void func_80985280(DemoIm* this, AnimationHeader* animationHeader, u8 arg2, f32 playbackSpeed = -1.0f; } - SkelAnime_ChangeAnim(&this->skelAnime, animationHeader, playbackSpeed, unk0, fc, arg2, transitionRate); + SkelAnime_ChangeAnim(&this->skelAnime, animHeaderSeg, playbackSpeed, unk0, fc, arg2, transitionRate); } void func_80985310(DemoIm* this, GlobalContext* globalCtx) { @@ -345,8 +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.genericHeader), 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06001868, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06001868), 0, 0.0f); this->action = 2; this->drawConfig = 1; func_80985358(this, globalCtx); @@ -363,16 +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.genericHeader), 2, 4.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06000710, 1.0f, 0.0f, SkelAnime_GetFrameCount(&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.genericHeader), 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06000AFC, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000AFC), 0, 0.0f); this->action = 5; } } @@ -446,8 +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.genericHeader), 2, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06011C08, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06011C08), 2, 0.0f); this->action = 8; this->drawConfig = 2; this->unk_26C = 0; @@ -486,8 +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.genericHeader), 2, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06012218, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06012218), 2, -8.0f); this->action = 8; this->drawConfig = 2; this->unk_268 = kREG(5) + 10.0f; @@ -536,8 +531,8 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - NULL, NULL, NULL, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + NULL, NULL, NULL, POLY_XLU_DISP); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 308); } @@ -557,7 +552,7 @@ void func_80985EAC(DemoIm* this, GlobalContext* globalCtx) { } void func_80985EF4(DemoIm* this) { - if (!func_800A56C8(&this->skelAnime, SkelAnime_GetFrameCount(&D_0601182C.genericHeader) - 1.0f)) { + if (!func_800A56C8(&this->skelAnime, SkelAnime_GetFrameCount(&D_0601182C) - 1.0f)) { func_80985060(this); } } @@ -568,8 +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.genericHeader), - 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06001868, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06001868), 0, 0.0f); func_80985180(this, globalCtx, 5); this->action = 11; this->drawConfig = 1; @@ -577,13 +571,12 @@ 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.genericHeader), 0, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0601182C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0601182C), 0, -8.0f); } } void func_8098604C(DemoIm* this) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06010EE0.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06010EE0); SkelAnime_ChangeAnim(&this->skelAnime, &D_06010EE0, 1.0f, 0.0f, frameCount, 2, -8.0f); this->action = 12; @@ -598,15 +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.genericHeader), 0, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06001868, 1.0f, 0.0f, SkelAnime_GetFrameCount(&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.genericHeader), 0.0f, - 2, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06010EE0, -1.0f, SkelAnime_GetFrameCount(&D_06010EE0), 0.0f, 2, -8.0f); this->action = 14; this->drawConfig = 1; } @@ -625,7 +616,7 @@ void func_809861C4(DemoIm* this, GlobalContext* globalCtx) { break; case 7: SkelAnime_ChangeAnim(&this->skelAnime, &D_0601182C, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&D_0601182C.genericHeader), 0, -8.0f); + SkelAnime_GetFrameCount(&D_0601182C), 0, -8.0f); this->action = 12; break; default: @@ -759,16 +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.genericHeader), - 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06001868, 1.0f, 0.0f, SkelAnime_GetFrameCount(&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.genericHeader), - 2, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060014E4, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060014E4), 2, -8.0f); this->action = 17; this->drawConfig = 1; } @@ -1106,8 +1095,8 @@ void DemoIm_Init(Actor* thisx, GlobalContext* globalCtx) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f); func_80984D00(thisx, globalCtx); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600F788, NULL, this->limbDrawTable, this->transitionDrawTable, - 17); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600F788, NULL, this->limbDrawTable, this->transitionDrawTable, + 17); thisx->flags &= ~1; switch (this->actor.params) { @@ -1135,7 +1124,7 @@ void DemoIm_Destroy(Actor* thisx, GlobalContext* globalCtx) { func_80984D4C(thisx, globalCtx); } -s32 func_80987514(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 func_80987514(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { DemoIm* this = THIS; s32* unk_2D0 = &this->unk_2D0; @@ -1163,20 +1152,20 @@ s32 func_80987514(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p return 0; } -void func_809875C0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { - s32 pad; +void func_809875C0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { + DemoIm* this = THIS; if (limbIndex == 0x10) { Vec3f sp28 = D_809887D8; Vec3f dest; Matrix_MultVec3f(&sp28, &dest); - thisx->posRot2.pos.x = dest.x; - thisx->posRot2.pos.y = dest.y; - thisx->posRot2.pos.z = dest.z; - thisx->posRot2.rot.x = thisx->posRot.rot.x; - thisx->posRot2.rot.y = thisx->posRot.rot.y; - thisx->posRot2.rot.z = thisx->posRot.rot.z; + this->actor.posRot2.pos.x = dest.x; + this->actor.posRot2.pos.y = dest.y; + this->actor.posRot2.pos.z = dest.z; + this->actor.posRot2.rot.x = this->actor.posRot.rot.x; + this->actor.posRot2.rot.y = this->actor.posRot.rot.y; + this->actor.posRot2.rot.z = this->actor.posRot.rot.z; } } @@ -1198,8 +1187,8 @@ void func_80987658(DemoIm* this, GlobalContext* globalCtx) { gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]); - SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, func_80987514, - func_809875C0, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, 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_Sa/z_demo_sa.c b/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c index 05ee0ba331..58dd98f5a9 100644 --- a/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c +++ b/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c @@ -89,7 +89,7 @@ void DemoSa_Destroy(Actor* thisx, GlobalContext* globalCtx) { extern AnimationHeader D_06001334; extern AnimationHeader D_060021D8; extern Gfx D_06007B80[]; -extern SkeletonHeader D_0600B1A0; +extern FlexSkeletonHeader D_0600B1A0; extern AnimationHeader D_0600DF80; extern AnimationHeader D_0600E500; extern AnimationHeader D_0600F580; @@ -191,9 +191,9 @@ void func_8098E6EC(DemoSa* this, GlobalContext* globalCtx, s32 actionIdx) { } } -void func_8098E76C(DemoSa* this, AnimationHeader* animationHeader, u8 arg2, f32 transitionRate, s32 arg4) { +void func_8098E76C(DemoSa* this, AnimationHeader* animHeaderSeg, u8 arg2, f32 transitionRate, s32 arg4) { s32 pad[2]; - f32 frameCount = SkelAnime_GetFrameCount(&animationHeader->genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(animHeaderSeg); f32 playbackSpeed; f32 unk0; f32 fc; @@ -208,11 +208,11 @@ void func_8098E76C(DemoSa* this, AnimationHeader* animationHeader, u8 arg2, f32 playbackSpeed = -1.0f; } - SkelAnime_ChangeAnim(&this->skelAnime, animationHeader, playbackSpeed, unk0, fc, arg2, transitionRate); + SkelAnime_ChangeAnim(&this->skelAnime, animHeaderSeg, playbackSpeed, unk0, fc, arg2, transitionRate); } void func_8098E7FC(DemoSa* this, GlobalContext* globalCtx) { - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600B1A0, &D_060021D8, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600B1A0, &D_060021D8, NULL, NULL, 0); this->actor.shape.unk_08 = -10000.0f; func_8098E508(this, 1); func_8098E51C(this, 0); @@ -282,8 +282,8 @@ 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.genericHeader, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&D_0600DF80.genericHeader), 2, -4.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600DF80, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600DF80), 2, + -4.0f); this->action = 4; } } @@ -291,8 +291,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.genericHeader), 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600E500, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600E500), 0, 0.0f); this->action = 5; } } @@ -348,9 +347,9 @@ 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.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06001334); - SkelAnime_InitSV(globalCtx, skelAnime, &D_0600B1A0, NULL, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, skelAnime, &D_0600B1A0, NULL, NULL, NULL, 0); SkelAnime_ChangeAnim(skelAnime, &D_06001334, 1.0f, 0.0f, frameCount, 2, 0.0f); this->action = 7; this->actor.shape.unk_14 = 0; @@ -469,14 +468,14 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - NULL, NULL, NULL, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + NULL, NULL, NULL, POLY_XLU_DISP); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 325); } void func_8098F390(DemoSa* this, GlobalContext* globalCtx) { - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600B1A0, &D_060021D8, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600B1A0, &D_060021D8, NULL, NULL, 0); this->action = 10; this->drawConfig = 1; } @@ -488,7 +487,7 @@ void func_8098F3F0(DemoSa* this, GlobalContext* globalCtx) { } void func_8098F420(DemoSa* this, GlobalContext* globalCtx) { - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600B1A0, &D_0600FFD4, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600B1A0, &D_0600FFD4, NULL, NULL, 0); this->action = 11; this->drawConfig = 0; this->actor.shape.unk_14 = 0; @@ -604,7 +603,7 @@ void func_8098F7FC(DemoSa* this, GlobalContext* globalCtx) { void func_8098F83C(DemoSa* this, GlobalContext* globalCtx) { Vec3f* thisPos = &this->actor.posRot.pos; - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600B1A0, &D_0601113C, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600B1A0, &D_0601113C, NULL, NULL, 0); Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_ELF, thisPos->x, thisPos->y, thisPos->z, 0, 0, 0, FAIRY_KOKIRI); this->action = 16; @@ -776,8 +775,7 @@ void DemoSa_Init(Actor* thisx, GlobalContext* globalCtx) { } } -s32 DemoSa_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { +s32 DemoSa_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { DemoSa* this = THIS; if ((limbIndex == 15) && (this->unk_1B0 != 0)) { @@ -808,8 +806,8 @@ void func_8098FEB4(DemoSa* this, GlobalContext* globalCtx) { gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]); - SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - DemoSa_OverrideLimbDraw, NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + DemoSa_OverrideLimbDraw, NULL, &this->actor); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa.c", 626); } 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 803b33899c..c6965350ee 100644 --- a/src/overlays/actors/ovl_En_Ani/z_en_ani.c +++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.c @@ -27,7 +27,7 @@ void func_809B0994(EnAni* this, GlobalContext* globalCtx); void func_809B0A28(EnAni* this, GlobalContext* globalCtx); void func_809B0A6C(EnAni* this, GlobalContext* globalCtx); -extern SkeletonHeader D_060000F0; +extern FlexSkeletonHeader D_060000F0; extern AnimationHeader D_060067B8; extern AnimationHeader D_060070F0; extern AnimationHeader D_060076EC; @@ -73,8 +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_InitSV(globalCtx, &this->skelAnime, &D_060000F0, &D_060076EC, this->limbDrawTable, - this->transitionDrawTable, 0x10); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, &D_060076EC, this->limbDrawTable, + this->transitionDrawTable, 0x10); SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_060076EC); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); @@ -208,30 +208,25 @@ void func_809B0988(EnAni* this, GlobalContext* globalCtx) { } void func_809B0994(EnAni* this, GlobalContext* globalCtx) { - GenericAnimationHeader* objSegFrameCount = &D_060070F0.genericHeader; - AnimationHeader* objSegChangeAnime = &D_060070F0; - if (globalCtx->csCtx.npcActions[0]->action == 4) { - SkelAnime_ChangeAnim(&this->skelAnime, objSegChangeAnime, 1.0f, 0.0f, SkelAnime_GetFrameCount(objSegFrameCount), - 2, -4.0f); - this->unk_2AA += 1; + SkelAnime_ChangeAnim(&this->skelAnime, &D_060070F0, 1.0f, 0.0f, SkelAnime_GetFrameCount(&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) != 0) { - this->unk_2AA += 1; + if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) { + this->unk_2AA++; } } void func_809B0A6C(EnAni* this, GlobalContext* globalCtx) { - if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) { + if (SkelAnime_FrameUpdateMatrix(&this->skelAnime)) { this->skelAnime.animCurrentFrame = 0.0f; } if (globalCtx->csCtx.npcActions[0]->action == 2) { - SkelAnime_ChangeAnim(&this->skelAnime, &D_060067B8, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&D_060067B8.genericHeader), 2, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060067B8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060067B8), 2, 0.0f); this->actor.shape.shadowDrawFunc = NULL; this->unk_2AA++; } @@ -295,7 +290,7 @@ void EnAni_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnAni_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnAni_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnAni* this = THIS; if (limbIndex == 15) { @@ -305,9 +300,11 @@ s32 EnAni_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnAni_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnAni_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { + EnAni* this = THIS; + if (limbIndex == 15) { - Matrix_MultVec3f(&sMultVec, &thisx->posRot2.pos); + Matrix_MultVec3f(&sMultVec, &this->actor.posRot2.pos); } } @@ -321,8 +318,8 @@ void EnAni_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_809B0F80[this->unk_2AC])); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnAni_OverrideLimbDraw, EnAni_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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_Attack_Niw/z_en_attack_niw.c b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c index 1f7a5e5bde..1904ed5af3 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 @@ -21,7 +21,7 @@ void func_809B5C18(EnAttackNiw* this, GlobalContext* globalCtx); void func_809B59B0(EnAttackNiw* this, GlobalContext* globalCtx); extern AnimationHeader D_060000E8; -extern SkeletonHeader D_06002530; +extern FlexSkeletonHeader D_06002530; const ActorInit En_Attack_Niw_InitVars = { ACTOR_EN_ATTACK_NIW, @@ -47,8 +47,8 @@ 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_InitSV(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable, - this->transitionDrawTable, 16); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable, + this->transitionDrawTable, 16); if (this->actor.params < 0) { this->actor.params = 0; } @@ -376,7 +376,7 @@ void EnAttackNiw_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 func_809B5F98(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 func_809B5F98(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnAttackNiw* this = THIS; Vec3f sp0 = { 0.0f, 0.0f, 0.0f }; @@ -403,6 +403,6 @@ void EnAttackNiw_Draw(Actor* thisx, GlobalContext* globalCtx) { EnAttackNiw* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - func_809B5F98, NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + func_809B5F98, NULL, this); } 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 0487c0ea63..d621bddcbe 100644 --- a/src/overlays/actors/ovl_En_Bird/z_en_bird.c +++ b/src/overlays/actors/ovl_En_Bird/z_en_bird.c @@ -131,5 +131,5 @@ void EnBird_Update(Actor* thisx, GlobalContext* globalCtx) { void EnBird_Draw(Actor* thisx, GlobalContext* globalCtx) { EnBird* this = THIS; - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 0, NULL, NULL); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL); } 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 56b21cc311..62e6750a34 100644 --- a/src/overlays/actors/ovl_En_Box/z_en_box.c +++ b/src/overlays/actors/ovl_En_Box/z_en_box.c @@ -101,15 +101,15 @@ void EnBox_ClipToGround(EnBox* this, GlobalContext* globalCtx) { void EnBox_Init(Actor* thisx, GlobalContext* globalCtx) { GlobalContext* globalCtx2 = globalCtx; EnBox* this = THIS; - AnimationHeader* animHeader; + AnimationHeader* anim; s32 dynaUnk; f32 animFrameStart; f32 animFrameCount; animFrameStart = 0.0f; - animHeader = D_809CA800[((void)0, gSaveContext.linkAge)]; + anim = D_809CA800[((void)0, gSaveContext.linkAge)]; dynaUnk = 0; - animFrameCount = SkelAnime_GetFrameCount(&animHeader->genericHeader); + animFrameCount = SkelAnime_GetFrameCount(anim); Actor_ProcessInitChain(&this->dyna.actor, sInitChain); DynaPolyInfo_SetActorMove(&this->dyna, 0); @@ -180,9 +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, animHeader, this->limbDrawTable, - this->transitionDrawTable, 5); - SkelAnime_ChangeAnim(&this->skelanime, animHeader, 1.5f, animFrameStart, animFrameCount, 2, 0.0f); + 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); switch (this->type) { case ENBOX_TYPE_SMALL: @@ -410,7 +409,7 @@ 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->genericHeader); + frameCount = SkelAnime_GetFrameCount(anim); SkelAnime_ChangeAnim(&this->skelanime, anim, 1.5f, 0, frameCount, 2, 0.0f); EnBox_SetupAction(this, EnBox_Open); if (this->unk_1F4 > 0) { @@ -552,7 +551,7 @@ void EnBox_Update(Actor* thisx, GlobalContext* globalCtx) { } } -void EnBox_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnBox_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) { EnBox* this = THIS; s32 pad; @@ -645,8 +644,8 @@ 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_Draw2(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL, - EnBox_PostLimbDraw, &this->dyna.actor, POLY_OPA_DISP); + POLY_OPA_DISP = SkelAnime_Draw(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL, + EnBox_PostLimbDraw, this, POLY_OPA_DISP); } else if (this->alpha != 0) { gDPPipeSync(POLY_XLU_DISP++); func_80093D84(globalCtx->state.gfxCtx); @@ -656,8 +655,8 @@ void EnBox_Draw(Actor* thisx, GlobalContext* globalCtx) { } else { gSPSegment(POLY_XLU_DISP++, 0x08, func_809CA4A0(globalCtx->state.gfxCtx)); } - POLY_XLU_DISP = SkelAnime_Draw2(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL, - EnBox_PostLimbDraw, &this->dyna.actor, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL, + EnBox_PostLimbDraw, this, POLY_XLU_DISP); } CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_box.c", 1639); 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 e80c259741..4bfbb74f12 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.c +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.c @@ -409,7 +409,7 @@ void EnButte_Draw(Actor* thisx, GlobalContext* globalCtx) { if (this->drawSkelAnime) { func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL); func_800628A4(0, &this->collider); } 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 e0f9cc5343..0734985b42 100644 --- a/src/overlays/actors/ovl_En_Cow/z_en_cow.c +++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.c @@ -47,10 +47,10 @@ static ColliderCylinderInit sCylinderInit = { static Vec3f D_809E010C = { 0.0f, -1300.0f, 1100.0f }; extern AnimationHeader D_060001CC; -extern SkeletonHeader D_06004010; +extern FlexSkeletonHeader D_06004010; extern AnimationHeader D_06004264; extern AnimationHeader D_06004348; -extern SkeletonHeader D_06004C30; +extern FlexSkeletonHeader D_06004C30; extern AnimationHeader D_06004E98; void func_809DEE00(Vec3f* vec, s16 rotY) { @@ -102,8 +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_InitSV(globalCtx, &this->skelAnime, &D_06004010, NULL, this->limbDrawTable, - this->transitionDrawTable, 6); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004010, NULL, this->limbDrawTable, + this->transitionDrawTable, 6); SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060001CC); Collider_InitCylinder(globalCtx, &this->colliders[0]); Collider_SetCylinder(globalCtx, &this->colliders[0], &this->actor, &sCylinderInit); @@ -129,8 +129,8 @@ void EnCow_Init(Actor* thisx, GlobalContext* globalCtx) { DREG(53) = 0; break; case 1: - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06004C30, NULL, this->limbDrawTable, - this->transitionDrawTable, 6); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004C30, NULL, this->limbDrawTable, + this->transitionDrawTable, 6); SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_06004348); this->actor.update = func_809DFE98; this->actor.draw = func_809E0070; @@ -160,12 +160,12 @@ void func_809DF494(EnCow* this, GlobalContext* globalCtx) { } else { this->unk_278 = Math_Rand_ZeroFloat(500.0f) + 40.0f; SkelAnime_ChangeAnim(&this->skelAnime, &D_060001CC, 1.0f, this->skelAnime.animCurrentFrame, - SkelAnime_GetFrameCount(&D_060001CC.genericHeader), 2, 1.0f); + SkelAnime_GetFrameCount(&D_060001CC), 2, 1.0f); } if ((this->actor.xzDistFromLink < 150.0f) && (!(this->unk_276 & 2))) { this->unk_276 |= 2; - if (this->skelAnime.animCurrentSeg == &D_060001CC) { + if (this->skelAnime.animation == &D_060001CC) { this->unk_278 = 0; } } @@ -276,13 +276,13 @@ void func_809DFA84(EnCow* this, GlobalContext* globalCtx) { } else { this->unk_278 = Math_Rand_ZeroFloat(200.0f) + 40.0f; SkelAnime_ChangeAnim(&this->skelAnime, &D_06004348, 1.0f, this->skelAnime.animCurrentFrame, - SkelAnime_GetFrameCount(&D_06004348.genericHeader), 2, 1.0f); + SkelAnime_GetFrameCount(&D_06004348), 2, 1.0f); } if ((this->actor.xzDistFromLink < 150.0f) && (ABS((s16)(this->actor.yawTowardsLink - this->actor.shape.rot.y)) >= 0x61A9) && (!(this->unk_276 & 2))) { this->unk_276 |= 2; - if (this->skelAnime.animCurrentSeg == &D_06004348) { + if (this->skelAnime.animation == &D_06004348) { this->unk_278 = 0; } } @@ -301,13 +301,13 @@ void EnCow_Update(Actor* thisx, GlobalContext* globalCtx) { Actor_MoveForward(thisx); func_8002E4B4(globalCtx, thisx, 0.0f, 0.0f, 0.0f, 4); if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) { - if (this->skelAnime.animCurrentSeg == &D_060001CC) { + 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.genericHeader), 2, 1.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06004264, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06004264), 2, + 1.0f); } else { - SkelAnime_ChangeAnim(&this->skelAnime, &D_060001CC, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&D_060001CC.genericHeader), 0, 1.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060001CC, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060001CC), 0, + 1.0f); } } this->actionFunc(this, globalCtx); @@ -341,18 +341,18 @@ void func_809DFE98(Actor* thisx, GlobalContext* globalCtx) { s32 pad; if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) { - if (this->skelAnime.animCurrentSeg == &D_06004348) { - SkelAnime_ChangeAnim(&this->skelAnime, &D_06004E98, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&D_06004E98.genericHeader), 2, 1.0f); + if (this->skelAnime.animation == &D_06004348) { + SkelAnime_ChangeAnim(&this->skelAnime, &D_06004E98, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06004E98), 2, + 1.0f); } else { - SkelAnime_ChangeAnim(&this->skelAnime, &D_06004348, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&D_06004348.genericHeader), 0, 1.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06004348, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06004348), 0, + 1.0f); } } this->actionFunc(this, globalCtx); } -s32 EnCow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnCow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnCow* this = THIS; if (limbIndex == 2) { @@ -365,9 +365,11 @@ s32 EnCow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnCow_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnCow_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { + EnCow* this = THIS; + if (limbIndex == 2) { - Matrix_MultVec3f(&D_809E010C, &thisx->posRot2.pos); + Matrix_MultVec3f(&D_809E010C, &this->actor.posRot2.pos); } } @@ -375,14 +377,14 @@ void EnCow_Draw(Actor* thisx, GlobalContext* globalCtx) { EnCow* this = THIS; func_800943C8(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnCow_OverrideLimbDraw, EnCow_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnCow_OverrideLimbDraw, EnCow_PostLimbDraw, this); } void func_809E0070(Actor* thisx, GlobalContext* globalCtx) { EnCow* this = THIS; func_800943C8(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, NULL, - NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + NULL, NULL, this); } 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 5457cb574c..6540b34c9d 100644 --- a/src/overlays/actors/ovl_En_Crow/z_en_crow.c +++ b/src/overlays/actors/ovl_En_Crow/z_en_crow.c @@ -17,6 +17,9 @@ void EnCrow_Die(EnCrow* this, GlobalContext* globalCtx); void func_809E1004(EnCrow* this, GlobalContext* globalCtx); void func_809E0E2C(EnCrow* this, GlobalContext* globalCtx); +extern FlexSkeletonHeader D_060010C0; +extern AnimationHeader D_060000F0; + static Vec3f sZeroVecAccel = { 0.0f, 0.0f, 0.0f }; const ActorInit En_Crow_InitVars = { @@ -60,15 +63,12 @@ static InitChainEntry sInitChain[] = { static Vec3f sHeadVec[] = { 2500.0f, 0.0f, 0.0f }; -extern SkeletonHeader D_060010C0; -extern AnimationHeader D_060000F0; - void EnCrow_Init(Actor* thisx, GlobalContext* globalCtx) { EnCrow* this = THIS; Actor_ProcessInitChain(&this->actor, sInitChain); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_060010C0, &D_060000F0, &this->limbDrawTable, - &this->transitionDrawTable, 9); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060010C0, &D_060000F0, &this->limbDrawTable, + &this->transitionDrawTable, 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; @@ -426,8 +426,7 @@ void EnCrow_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnCrow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { +s32 EnCrow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnCrow* this = THIS; if (this->actor.colChkInfo.health != 0) { @@ -440,7 +439,7 @@ s32 EnCrow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList return false; } -void EnCrow_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnCrow_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnCrow* this = THIS; Vec3f* vec; @@ -458,6 +457,6 @@ void EnCrow_Draw(Actor* thisx, GlobalContext* globalCtx) { EnCrow* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnCrow_OverrideLimbDraw, EnCrow_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnCrow_OverrideLimbDraw, EnCrow_PostLimbDraw, this); } 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 106a071b42..634d82e8e0 100644 --- a/src/overlays/actors/ovl_En_Dha/z_en_dha.c +++ b/src/overlays/actors/ovl_En_Dha/z_en_dha.c @@ -75,7 +75,7 @@ static InitChainEntry sInitChain[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP), }; -extern SkeletonHeader D_06000BD8; +extern FlexSkeletonHeader D_06000BD8; extern AnimationHeader D_060015B0; void EnDha_SetupAction(EnDha* this, EnDhaActionFunc actionFunc) { @@ -87,8 +87,8 @@ void EnDha_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->actor, sInitChain); this->actor.colChkInfo.damageTable = &sDamageTable; - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06000BD8, &D_060015B0, this->limbDrawTable, - this->transitionDrawTable, 4); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06000BD8, &D_060015B0, this->limbDrawTable, + this->transitionDrawTable, 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; @@ -343,7 +343,7 @@ void EnDha_Update(Actor* thisx, GlobalContext* globalCtx) { CollisionCheck_SetOC(globalCtx, colChkCtx, &this->collider); } -s32 EnDha_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnDha_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnDha* this = THIS; s32 retVar; @@ -365,7 +365,7 @@ s32 EnDha_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return retVar; } -void EnDha_OverridePostDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnDha_OverridePostDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { Vec3f D_809ED764 = { 1100.0f, 0.0f, 0.0f }; Vec3f D_809ED770 = { 0.0f, 0.0f, 0.0f }; @@ -395,6 +395,6 @@ void EnDha_Draw(Actor* thisx, GlobalContext* globalCtx) { EnDha* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnDha_OverrideLimbDraw, EnDha_OverridePostDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnDha_OverrideLimbDraw, EnDha_OverridePostDraw, this); } 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 022eaafee3..f24daf1946 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c @@ -120,9 +120,9 @@ DnsAnimInfo D_809F0538[] = { { 0x060009A0, 0x02, 0.0f }, }; +extern FlexSkeletonHeader D_060041A8; extern AnimationHeader D_060009A0; -extern SkeletonHeader D_060041A8; -extern GenericAnimationHeader D_06004404; +extern AnimationHeader D_06004404; void EnDns_Init(Actor* thisx, GlobalContext* globalCtx) { EnDns* this = THIS; @@ -141,8 +141,8 @@ 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_InitSV(globalCtx, &this->skelAnime, &D_060041A8, &D_060009A0, this->limbDrawTable, - this->transitionDrawTable, 18); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060041A8, &D_060009A0, this->limbDrawTable, + this->transitionDrawTable, 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); @@ -168,7 +168,7 @@ void EnDns_Destroy(Actor* thisx, GlobalContext* globalCtx) { void EnDns_ChangeAnim(EnDns* this, u8 arg1) { s16 frameCount; - frameCount = SkelAnime_GetFrameCount(&D_809F0538[arg1].anim->genericHeader); + frameCount = SkelAnime_GetFrameCount(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); @@ -487,6 +487,6 @@ void EnDns_Draw(Actor* thisx, GlobalContext* globalCtx) { EnDns* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, 0, 0, - &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + NULL, NULL, &this->actor); } 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 509004750d..4479c420c7 100644 --- a/src/overlays/actors/ovl_En_Dog/z_en_dog.c +++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.c @@ -65,14 +65,14 @@ typedef enum { /* 0x06 */ DOG_BOW_2, } DogBehavior; -extern SkeletonHeader D_06007290; +extern FlexSkeletonHeader D_06007290; extern AnimationHeader D_06001368; extern AnimationHeader D_06000D78; extern AnimationHeader D_06000278; void EnDog_PlayWalkSFX(EnDog* this) { AnimationHeader* walk = &D_06001368; - if (this->skelAnime.animCurrentSeg == walk) { + if (this->skelAnime.animation == walk) { if ((this->skelAnime.animCurrentFrame == 1.0f) || (this->skelAnime.animCurrentFrame == 7.0f)) { Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHIBI_WALK); } @@ -81,7 +81,7 @@ void EnDog_PlayWalkSFX(EnDog* this) { void EnDog_PlayRunSFX(EnDog* this) { AnimationHeader* run = &D_06000D78; - if (this->skelAnime.animCurrentSeg == run) { + if (this->skelAnime.animation == run) { if ((this->skelAnime.animCurrentFrame == 2.0f) || (this->skelAnime.animCurrentFrame == 4.0f)) { Audio_PlayActorSound2(&this->actor, NA_SE_EV_CHIBI_WALK); } @@ -90,7 +90,7 @@ void EnDog_PlayRunSFX(EnDog* this) { void EnDog_PlayBarkSFX(EnDog* this) { AnimationHeader* bark = &D_06000278; - if (this->skelAnime.animCurrentSeg == bark) { + if (this->skelAnime.animation == bark) { if ((this->skelAnime.animCurrentFrame == 13.0f) || (this->skelAnime.animCurrentFrame == 19.0f)) { Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_BARK); } @@ -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_InitSV(globalCtx, &this->skelAnime, &D_06007290, NULL, &this->unk_1F4, &this->unk_242, 13); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007290, NULL, &this->unk_1F4, &this->unk_242, 13); func_80034EC0(&this->skelAnime, sAnimations, 0); if ((this->actor.params & 0x8000) == 0) { @@ -441,11 +441,11 @@ void EnDog_Update(Actor* thisx, GlobalContext* globalCtx) { CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider); } -s32 EnDog_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnDog_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { return 0; } -void EnDog_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnDog_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { } void EnDog_Draw(Actor* thisx, GlobalContext* globalCtx) { @@ -460,8 +460,8 @@ 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_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnDog_OverrideLimbDraw, EnDog_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index 351840fb95..20839299d9 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -29,14 +29,14 @@ const ActorInit En_Ds_InitVars = { (ActorFunc)EnDs_Draw, }; -extern SkeletonHeader D_06004768; +extern FlexSkeletonHeader D_06004768; extern AnimationHeader D_0600039C; void EnDs_Init(Actor* thisx, GlobalContext* globalCtx) { EnDs* this = THIS; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06004768, &D_0600039C, &this->limbDrawTable, &this->unk_1B4, 6); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004768, &D_0600039C, &this->limbDrawTable, &this->unk_1B4, 6); SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600039C); this->actor.colChkInfo.mass = 0xFF; @@ -254,7 +254,7 @@ void EnDs_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnDs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnDs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnDs* this = THIS; if (limbIndex == 5) { @@ -264,11 +264,12 @@ s32 EnDs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnDs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnDs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { static Vec3f sMultVec = { 1100.0f, 500.0f, 0.0f }; + EnDs* this = THIS; if (limbIndex == 5) { - Matrix_MultVec3f(&sMultVec, &thisx->posRot2.pos); + Matrix_MultVec3f(&sMultVec, &this->actor.posRot2.pos); } } @@ -276,6 +277,6 @@ void EnDs_Draw(Actor* thisx, GlobalContext* globalCtx) { EnDs* this = THIS; func_800943C8(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnDs_OverrideLimbDraw, EnDs_PostLimbDraw, this); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnDs_OverrideLimbDraw, EnDs_PostLimbDraw, this); } 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 3da6cb917c..240c1695d2 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c @@ -1462,8 +1462,8 @@ void EnElf_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnElf_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - struct Actor* thisx, Gfx** gfx) { +s32 EnElf_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, + Gfx** gfx) { static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f }; s32 pad; f32 scale; @@ -1529,8 +1529,8 @@ 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_Draw2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, - EnElf_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, + 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_Floormas/z_en_floormas.c b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c index 84fbd626a3..a567371c5e 100644 --- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c +++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c @@ -78,7 +78,7 @@ static InitChainEntry sInitChain[] = { extern Gfx D_06008688[]; -extern SkeletonHeader D_06008FB0; +extern FlexSkeletonHeader D_06008FB0; extern AnimationHeader D_06009DB0; extern AnimationHeader D_060039B0; @@ -99,8 +99,8 @@ 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_InitSV(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, &this->limbDrawTable, - &this->transitionDrawTable, 25); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, &this->limbDrawTable, + &this->transitionDrawTable, 25); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); func_80061ED4(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit); @@ -1049,7 +1049,7 @@ void EnFloormas_Update(Actor* thisx, GlobalContext* globalCtx) { } s32 EnFloormas_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx, Gfx** gfx) { + void* thisx, Gfx** gfx) { EnFloormas* this = THIS; if (limbIndex == 1) { pos->z += this->zOffset; @@ -1057,8 +1057,7 @@ s32 EnFloormas_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** d return 0; } -void EnFloormas_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, - Gfx** gfx) { +void EnFloormas_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) { if (limbIndex == 2) { Matrix_Push(); Matrix_Translate(1600.0f, -700.0f, -1700.0f, MTXMODE_APPLY); @@ -1084,8 +1083,8 @@ void EnFloormas_Draw(Actor* thisx, GlobalContext* globalCtx) { } POLY_OPA_DISP = - SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnFloormas_OverrideLimbDraw, EnFloormas_PostLimbDraw, &this->actor, POLY_OPA_DISP); + SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnFloormas_OverrideLimbDraw, EnFloormas_PostLimbDraw, this, POLY_OPA_DISP); if (this->collider.base.type == COLTYPE_UNK12) { func_80026608(globalCtx); } @@ -1103,8 +1102,8 @@ void EnFloormas_DrawHighlighted(Actor* thisx, GlobalContext* globalCtx) { func_80026690(globalCtx, &sMergeColor, this->actionTarget % 0x28, 0x28); } POLY_XLU_DISP = - SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnFloormas_OverrideLimbDraw, EnFloormas_PostLimbDraw, &this->actor, POLY_XLU_DISP); + SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c index 31be7854be..44501b3204 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -64,7 +64,7 @@ static UNK_PTR sMouthSegments[] = { extern AnimationHeader D_0600057C; extern AnimationHeader D_06000B04; -extern SkeletonHeader D_06006C90; +extern FlexSkeletonHeader D_06006C90; extern CutsceneData D_0200E080[]; typedef enum { @@ -77,8 +77,8 @@ void EnFu_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f); - SkelAnime_InitSV(globalCtx, &this->skelanime, &D_06006C90, &D_06000B04, this->limbDrawTable, - this->transitionDrawTable, 16); + SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_06006C90, &D_06000B04, this->limbDrawTable, + this->transitionDrawTable, 16); SkelAnime_ChangeAnimDefaultRepeat(&this->skelanime, &D_06000B04); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); @@ -125,7 +125,7 @@ void func_80A1DA04(EnFu* this, GlobalContext* globalCtx) { this->behaviorFlags &= ~FU_WAIT; this->actionFunc = EnFu_WaitChild; - if (this->skelanime.animCurrentSeg == &D_0600057C) { + if (this->skelanime.animation == &D_0600057C) { SkelAnime_ChangeAnim(&this->skelanime, &D_06000B04, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000B04), 2, -4.0f); } @@ -245,8 +245,8 @@ void EnFu_Update(Actor* thisx, GlobalContext* globalCtx) { 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.animCurrentSeg, 1.0f, 0.0f, - SkelAnime_GetFrameCount(this->skelanime.animCurrentSeg), 2, 0.0f); + SkelAnime_ChangeAnim(&this->skelanime, this->skelanime.animation, 1.0f, 0.0f, + SkelAnime_GetFrameCount(this->skelanime.animation), 2, 0.0f); } this->actionFunc(this, globalCtx); if ((this->behaviorFlags & FU_RESET_LOOK_ANGLE)) { @@ -260,7 +260,7 @@ void EnFu_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnFu_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnFu_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnFu* this = THIS; s32 pad1; @@ -287,7 +287,7 @@ s32 EnFu_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnFu_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnFu_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnFu* this = THIS; if (limbIndex == 14) { @@ -304,8 +304,8 @@ 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_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount, - EnFu_OverrideLimbDraw, EnFu_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, 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_Guest/z_en_guest.c b/src/overlays/actors/ovl_En_Guest/z_en_guest.c index 3e5fcdb35b..4c90a85cd0 100644 --- a/src/overlays/actors/ovl_En_Guest/z_en_guest.c +++ b/src/overlays/actors/ovl_En_Guest/z_en_guest.c @@ -49,7 +49,7 @@ static UNK_PTR D_80A50BA4[] = { 0x060007FC, }; -extern SkeletonHeader D_060000F0; +extern FlexSkeletonHeader D_060000F0; extern AnimationHeader D_060042AC; extern Gfx D_060059B0[]; @@ -84,11 +84,10 @@ void EnGuest_Update(Actor* thisx, GlobalContext* globalCtx) { this->actor.flags &= ~0x10; Actor_ProcessInitChain(&this->actor, sInitChain); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->limbDrawTable, this->transitionDrawTable, - 16); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->limbDrawTable, + this->transitionDrawTable, 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.genericHeader), 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060042AC, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060042AC), 0, 0.0f); this->actor.draw = EnGuest_Draw; this->actor.update = func_80A505CC; @@ -186,7 +185,7 @@ Gfx* func_80A50708(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b, u8 a) { } s32 EnGuest_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnGuest* this = THIS; Vec3s sp3C; @@ -229,8 +228,8 @@ 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_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnGuest_OverrideLimbDraw, NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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_Hata/z_en_hata.c b/src/overlays/actors/ovl_En_Hata/z_en_hata.c index e6a7360b3a..6548a4b225 100644 --- a/src/overlays/actors/ovl_En_Hata/z_en_hata.c +++ b/src/overlays/actors/ovl_En_Hata/z_en_hata.c @@ -45,7 +45,7 @@ void EnHata_Init(Actor* thisx, GlobalContext* globalCtx) { f32 frameCount; temp = 0; - frameCount = SkelAnime_GetFrameCount(&D_06000444.genericHeader); + frameCount = SkelAnime_GetFrameCount(&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); @@ -103,8 +103,7 @@ void EnHata_Update(Actor* thisx, GlobalContext* globalCtx) { THIS->skelAnime.animPlaybackSpeed = (Math_Rand_ZeroFloat(1.25f) + 2.75f) * (gblCtx->envCtx.unk_B0 / 255.0f); } -s32 EnHata_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { +s32 EnHata_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnHata* this = THIS; Vec3s* limbs; @@ -117,13 +116,13 @@ s32 EnHata_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList return 0; } -void EnHata_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnHata_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { } 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_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHata_OverrideLimbDraw, - EnHata_PostLimbDraw, &this->dyna.actor); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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 960d1adc91..0322890f43 100644 --- a/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c +++ b/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c @@ -140,7 +140,7 @@ void EnHeishi1_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void EnHeishi1_SetupWalk(EnHeishi1* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005880.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005880); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005880, this->animSpeed, 0.0f, (s16)frameCount, 0, this->transitionRate); @@ -224,7 +224,7 @@ void EnHeishi1_Walk(EnHeishi1* this, GlobalContext* globalCtx) { } void EnHeishi1_SetupMoveToLink(EnHeishi1* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005880.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005880); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005880, 3.0f, 0.0f, (s16)frameCount, 0, -3.0f); this->bodyTurnSpeed = 0.0f; @@ -252,7 +252,7 @@ void EnHeishi1_MoveToLink(EnHeishi1* this, GlobalContext* globalCtx) { void EnHeishi1_SetupWait(EnHeishi1* this, GlobalContext* globalCtx) { s16 rand; - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, this->animSpeed, 0.0f, (s16)frameCount, 0, this->transitionRate); @@ -322,7 +322,7 @@ void EnHeishi1_Wait(EnHeishi1* this, GlobalContext* globalCtx) { } void EnHeishi1_SetupTurnTowardLink(EnHeishi1* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->kickTimer = 30; @@ -344,7 +344,7 @@ void EnHeishi1_TurnTowardLink(EnHeishi1* this, GlobalContext* globalCtx) { } void EnHeishi1_SetupKick(EnHeishi1* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->actionFunc = EnHeishi1_Kick; @@ -370,7 +370,7 @@ void EnHeishi1_Kick(EnHeishi1* this, GlobalContext* globalCtx) { } void EnHeishi1_SetupWaitNight(EnHeishi1* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->actionFunc = EnHeishi1_WaitNight; @@ -482,7 +482,7 @@ void EnHeishi1_Update(Actor* thisx, GlobalContext* globalCtx) { } s32 EnHeishi1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnHeishi1* this = THIS; // turn the guards head to match the direction he is looking @@ -499,8 +499,8 @@ void EnHeishi1_Draw(Actor* thisx, GlobalContext* globalCtx) { Vec3f matrixScale = { 0.3f, 0.3f, 0.3f }; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi1_OverrideLimbDraw, NULL, - &this->actor); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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_Heishi2/z_en_heishi2.c b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c index 2cdd224cb4..abc86483fb 100644 --- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c +++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c @@ -166,7 +166,7 @@ void func_80A531D8(EnHeishi2* this, GlobalContext* globalCtx) { } void func_80A531E4(EnHeishi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->actionFunc = func_80A53278; @@ -264,7 +264,7 @@ void func_80A53538(EnHeishi2* this, GlobalContext* globalCtx) { } void func_80A535BC(EnHeishi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005500.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005500); this->unk_2EC = frameCount; SkelAnime_ChangeAnim(&this->skelAnime, &D_06005500, 1.0f, 0.0f, frameCount, 2, -10.0f); @@ -301,7 +301,7 @@ void func_80A53638(EnHeishi2* this, GlobalContext* globalCtx) { } void func_80A5372C(EnHeishi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->unk_2F2[0] = 200; @@ -337,7 +337,7 @@ void func_80A53850(EnHeishi2* this, GlobalContext* globalCtx) { } void func_80A53908(EnHeishi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->actionFunc = func_80A5399C; @@ -430,7 +430,7 @@ void func_80A53C0C(EnHeishi2* this, GlobalContext* globalCtx) { } void func_80A53C90(EnHeishi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005500.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005500); this->unk_2EC = frameCount; SkelAnime_ChangeAnim(&this->skelAnime, &D_06005500, 1.0f, 0.0f, frameCount, 2, -10.0f); @@ -468,7 +468,7 @@ void func_80A53D0C(EnHeishi2* this, GlobalContext* globalCtx) { } void func_80A53DF8(EnHeishi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->unk_2F2[0] = 200; @@ -593,7 +593,7 @@ void func_80A5427C(EnHeishi2* this, GlobalContext* globalCtx) { } void func_80A54320(EnHeishi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005500.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005500); this->unk_2EC = frameCount; SkelAnime_ChangeAnim(&this->skelAnime, &D_06005500, 1.0f, 0.0f, frameCount, 2, -10.0f); @@ -745,7 +745,7 @@ void func_80A5475C(EnHeishi2* this, GlobalContext* globalCtx) { } void func_80A54954(EnHeishi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->actionFunc = func_80A549E8; @@ -801,7 +801,7 @@ void EnHeishi2_Update(Actor* thisx, GlobalContext* globalCtx) { } s32 EnHeishi2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnHeishi2* this = THIS; switch (this->initParams) { @@ -822,7 +822,7 @@ s32 EnHeishi2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL return 0; } -void EnHeishi2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnHeishi2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnHeishi2* this = THIS; if (limbIndex == 16) { Matrix_Get(&this->mtxf_330); @@ -848,8 +848,8 @@ void EnHeishi2_Draw(Actor* thisx, GlobalContext* globalCtx) { func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi2_OverrideLimbDraw, - EnHeishi2_PostLimbDraw, &this->actor); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi2_OverrideLimbDraw, + EnHeishi2_PostLimbDraw, this); if ((this->initParams == 5) && (gSaveContext.infTable[7] & 0x80)) { linkObjBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_LINK_CHILD); if (linkObjBankIndex >= 0) { 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 b7a03e0969..e9a66717ba 100644 --- a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c +++ b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c @@ -83,7 +83,7 @@ void EnHeishi3_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void EnHeishi3_SetupGuardType(EnHeishi3* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); if (this->unk_278 == 0) { @@ -159,7 +159,7 @@ void EnHeishi3_StandSentinelInCastle(EnHeishi3* this, GlobalContext* globalCtx) } void EnHeishi3_CatchStart(EnHeishi3* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005880.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005880); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005880, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->caughtTimer = 20; @@ -182,7 +182,7 @@ void func_80A55BD4(EnHeishi3* this, GlobalContext* globalCtx) { } void EnHeishi3_ResetAnimationToIdle(EnHeishi3* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06005C30); SkelAnime_ChangeAnim(&this->skelAnime, &D_06005C30, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->actionFunc = func_80A55D00; @@ -219,7 +219,7 @@ void EnHeishi3_Update(Actor* thisx, GlobalContext* globalCtx) { } s32 EnHeishi3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnHeishi3* this = THIS; if (limbIndex == 9) { @@ -238,6 +238,6 @@ void EnHeishi3_Draw(Actor* thisx, GlobalContext* globalCtx) { EnHeishi3* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi3_OverrideLimbDraw, NULL, - &this->actor); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi3_OverrideLimbDraw, + NULL, this); } 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 ec8020a5bc..427ad1fac3 100644 --- a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c +++ b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c @@ -357,7 +357,7 @@ void EnHeishi4_Update(Actor* thisx, GlobalContext* globalCtx) { } s32 EnHeishi_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnHeishi4* this = THIS; if (limbIndex == 9) { @@ -374,6 +374,6 @@ void EnHeishi4_Draw(Actor* thisx, GlobalContext* globalCtx) { EnHeishi4* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi_OverrideLimbDraw, NULL, - &this->actor); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHeishi_OverrideLimbDraw, NULL, + this); } 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 badb4460ce..f74c820178 100644 --- a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c +++ b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c @@ -514,7 +514,7 @@ void EnHintnuts_Update(Actor* thisx, GlobalContext* globalCtx) { Actor_SetHeight(&this->actor, this->skelAnime.animCurrentFrame); } else if (this->actionFunc == EnHintnuts_Burrow) { Actor_SetHeight(&this->actor, 20.0f - ((this->skelAnime.animCurrentFrame * 20.0f) / - SkelAnime_GetFrameCount(&D_060024CC.genericHeader))); + SkelAnime_GetFrameCount(&D_060024CC))); } else { Actor_SetHeight(&this->actor, 20.0f); } @@ -522,7 +522,7 @@ void EnHintnuts_Update(Actor* thisx, GlobalContext* globalCtx) { } s32 EnHintnuts_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { Vec3f vec; f32 animCurrentFrame; EnHintnuts* this = THIS; @@ -555,7 +555,7 @@ void EnHintnuts_Draw(Actor* thisx, GlobalContext* globalCtx) { if (this->actor.params == 0xA) { Gfx_DrawDListOpa(globalCtx, D_060014E0); } else { - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHintnuts_OverrideLimbDraw, - NULL, &this->actor); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnHintnuts_OverrideLimbDraw, + NULL, this); } } 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 f274334832..2391bab079 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 @@ -224,11 +224,11 @@ 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]->genericHeader), 2, -3.0f); + SkelAnime_GetFrameCount(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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(D_80A691B0[this->currentAnimation]), 2, 0.0f); } } 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 85cecbd032..95502694b0 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 @@ -181,7 +181,7 @@ 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]->genericHeader), 2, -5.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f); } } @@ -199,11 +199,10 @@ void func_80A699FC(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]->genericHeader), 2, - -5.0f); + SkelAnime_GetFrameCount(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]->genericHeader), 2, 0.0); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0); } } } @@ -214,7 +213,7 @@ void func_80A69B7C(EnHorseLinkChild* this) { 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]->genericHeader), 2, -5.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f); } void func_80A69C18(EnHorseLinkChild* this, GlobalContext* globalCtx) { @@ -260,10 +259,10 @@ 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]->genericHeader), 2, -5.0f); + SkelAnime_GetFrameCount(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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); } } } @@ -273,7 +272,7 @@ void func_80A69EC0(EnHorseLinkChild* this) { 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]->genericHeader), 2, -5.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f); } void func_80A69F5C(EnHorseLinkChild* this, GlobalContext* globalCtx) { @@ -390,11 +389,11 @@ 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]->genericHeader), 2, -5.0f); + SkelAnime_GetFrameCount(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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); } } @@ -403,7 +402,7 @@ void func_80A6A4DC(EnHorseLinkChild* this) { this->animationIdx = Math_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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); } void func_80A6A5A4(EnHorseLinkChild* this, GlobalContext* globalCtx) { @@ -425,9 +424,9 @@ void func_80A6A5A4(EnHorseLinkChild* this, GlobalContext* globalCtx) { if (SkelAnime_FrameUpdateMatrix(&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]->genericHeader), 2, -5.0f); + SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], + D_80A6AF64[this->animationIdx], 0.0f, + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f); } else { func_80A6A4DC(this); } @@ -442,7 +441,7 @@ void func_80A6A724(EnHorseLinkChild* this) { 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]->genericHeader), 2, -5.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -5.0f); } void func_80A6A7D0(EnHorseLinkChild* this, GlobalContext* globalCtx) { @@ -502,10 +501,10 @@ 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]->genericHeader), 2, -5.0f); + SkelAnime_GetFrameCount(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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(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 880debd212..42399a6ded 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 @@ -250,7 +250,7 @@ void func_80A6B91C(EnHorseNormal* this, GlobalContext* globalCtx) { 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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); } void EnHorseNormal_FollowPath(EnHorseNormal* this, GlobalContext* globalCtx) { @@ -274,7 +274,7 @@ void EnHorseNormal_FollowPath(EnHorseNormal* this, GlobalContext* globalCtx) { 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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); func_80A6BCEC(this); } } @@ -306,7 +306,7 @@ void func_80A6BC48(EnHorseNormal* this) { 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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); } void func_80A6BCEC(EnHorseNormal* this) { @@ -403,7 +403,7 @@ void EnHorseNormal_Wander(EnHorseNormal* this, GlobalContext* globalCtx) { func_80A6BCEC(this); } SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, - SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, -3.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, -3.0f); } else { switch (D_80A6D510[this->animationIdx]) { case 0: @@ -434,11 +434,10 @@ 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]->genericHeader), 2, - -3.0f); + SkelAnime_GetFrameCount(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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); } } } @@ -452,7 +451,7 @@ void func_80A6C4CC(EnHorseNormal* this) { 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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); } void EnHorseNormal_Wait(EnHorseNormal* this, GlobalContext* globalCtx) { @@ -470,7 +469,7 @@ void EnHorseNormal_Wait(EnHorseNormal* this, GlobalContext* globalCtx) { } SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, - SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); } } @@ -483,7 +482,7 @@ void func_80A6C6B0(EnHorseNormal* this) { 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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); } void EnHorseNormal_WaitClone(EnHorseNormal* this, GlobalContext* globalCtx) { @@ -505,7 +504,7 @@ void EnHorseNormal_WaitClone(EnHorseNormal* this, GlobalContext* globalCtx) { } SkelAnime_ChangeAnim(&this->skin.skelAnime, sAnimations[this->animationIdx], func_80A6B30C(this), 0.0f, - SkelAnime_GetFrameCount(&sAnimations[this->animationIdx]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimations[this->animationIdx]), 2, 0.0f); this->unk_1E4 &= ~1; this->unk_1E4 &= ~2; 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 a918ccd9ee..269a3548bb 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 @@ -179,7 +179,7 @@ void func_80A6DD14(EnHorseZelda* this) { 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]->genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(sAnimationHeaders[this->animationIndex]), 2, 0.0f); } void func_80A6DDFC(EnHorseZelda* this, GlobalContext* globalCtx) { @@ -217,7 +217,7 @@ void EnHorseZelda_Update(Actor* thisx, GlobalContext* globalCtx) { CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliderCylinder.base); } -void func_80A6DFD4(EnHorseZelda* this, GlobalContext* globalCtx, ColliderJntSphItem* colliderSphereItem) { +void func_80A6DFD4(EnHorseZelda* this, GlobalContext* globalCtx, PSkinAwb* skin) { Vec3f sp4C; Vec3f sp40; s32 pad; @@ -228,7 +228,7 @@ void func_80A6DFD4(EnHorseZelda* this, GlobalContext* globalCtx, ColliderJntSphI sp4C.y = this->colliderSphere.list[i].dim.modelSphere.center.y; sp4C.z = this->colliderSphere.list[i].dim.modelSphere.center.z; - func_800A6408(colliderSphereItem, this->colliderSphere.list[i].dim.joint, &sp4C, &sp40); + func_800A6408(skin, this->colliderSphere.list[i].dim.joint, &sp4C, &sp40); this->colliderSphere.list[i].dim.worldSphere.center.x = sp40.x; this->colliderSphere.list[i].dim.worldSphere.center.y = sp40.y; 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 abfc9ae5fc..f0eaf669ba 100644 --- a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c +++ b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c @@ -35,7 +35,7 @@ static ColliderCylinderInit sCylinderInit = { { 40, 40, 0, { 0, 0, 0 } }, }; -extern SkeletonHeader D_06006260; +extern FlexSkeletonHeader D_06006260; extern AnimationHeader D_060005C0; void EnHs2_Init(Actor* thisx, GlobalContext* globalCtx) { @@ -43,8 +43,8 @@ void EnHs2_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 36.0f); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06006260, &D_060005C0, this->limbDrawTable, - this->transitionDrawTable, 16); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06006260, &D_060005C0, this->limbDrawTable, + this->transitionDrawTable, 16); SkelAnime_ChangeAnimDefaultRepeat(&this->skelAnime, &D_060005C0); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); @@ -118,7 +118,7 @@ void EnHs2_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnHs2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* pos, Vec3s* rot, Actor* thisx) { +s32 EnHs2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* pos, Vec3s* rot, void* thisx) { EnHs2* this = THIS; switch (limbIndex) { @@ -140,7 +140,7 @@ s32 EnHs2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnHs2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnHs2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { static Vec3f D_80A6F4CC = { 300.0f, 1000.0f, 0.0f }; EnHs2* this = THIS; @@ -153,6 +153,6 @@ void EnHs2_Draw(Actor* thisx, GlobalContext* globalCtx) { EnHs2* this = THIS; func_800943C8(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnHs2_OverrideLimbDraw, EnHs2_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnHs2_OverrideLimbDraw, EnHs2_PostLimbDraw, this); } 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 752743f10e..96fd9e3dbd 100644 --- a/src/overlays/actors/ovl_En_Ik/z_en_ik.c +++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.c @@ -76,9 +76,9 @@ extern Gfx D_06016F88[]; extern Gfx D_06018E78[]; extern Gfx D_06019100[]; extern Gfx D_06019E08[]; -extern SkeletonHeader D_0601E178; +extern FlexSkeletonHeader D_0601E178; extern AnimationHeader D_060203D8; -extern SkeletonHeader D_060205C0; +extern FlexSkeletonHeader D_060205C0; static ColliderCylinderInit sCylinderInit = { { COLTYPE_UNK10, 0x00, 0x09, 0x39, 0x20, COLSHAPE_CYLINDER }, @@ -217,7 +217,7 @@ Actor* func_80A74674(GlobalContext* globalCtx, Actor* actor) { } void func_80A74714(EnIk* this) { - f32 frames = SkelAnime_GetFrameCount(&D_0600CD70.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_0600CD70); f32 frame; if (this->actor.params >= 2) { @@ -253,7 +253,7 @@ void func_80A747C0(EnIk* this, GlobalContext* globalCtx) { } void func_80A7489C(EnIk* this) { - f32 frames = SkelAnime_GetFrameCount(&D_0600DD50.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_0600DD50); this->actor.flags |= 5; this->unk_2F8 = 4; @@ -286,11 +286,11 @@ 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.genericHeader), 0, -4.0f); + SkelAnime_GetFrameCount(&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.genericHeader), 0, -4.0f); + SkelAnime_GetFrameCount(&D_06006734), 0, -4.0f); Audio_PlayActorSound2(&this->actor, NA_SE_EN_IRONNACK_DASH); this->actor.speedXZ = 2.5f; } @@ -358,7 +358,7 @@ void func_80A74BA4(EnIk* this, GlobalContext* globalCtx) { } void func_80A74E2C(EnIk* this) { - f32 frames = SkelAnime_GetFrameCount(&D_06001C28.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_06001C28); this->unk_2FF = 1; this->unk_2F8 = 6; @@ -398,7 +398,7 @@ void func_80A74EBC(EnIk* this, GlobalContext* globalCtx) { } void func_80A7506C(EnIk* this) { - f32 frames = SkelAnime_GetFrameCount(&D_060029FC.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_060029FC); this->unk_2FE = 0; this->unk_2F9 = (s8)frames; @@ -416,7 +416,7 @@ void func_80A7510C(EnIk* this, GlobalContext* globalCtx) { if (this->unk_2F8 == 8) { func_80A7489C(this); } else { - frames = SkelAnime_GetFrameCount(&D_06002538.genericHeader); + frames = SkelAnime_GetFrameCount(&D_06002538); this->unk_2F8 = 8; SkelAnime_ChangeAnim(&this->skelAnime, &D_06002538, 1.5f, 0.0f, frames, 3, -4.0f); } @@ -424,7 +424,7 @@ void func_80A7510C(EnIk* this, GlobalContext* globalCtx) { } void func_80A751C8(EnIk* this) { - f32 frames = SkelAnime_GetFrameCount(&D_060033C4.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_060033C4); this->unk_2FF = 2; this->unk_300 = 0; @@ -464,7 +464,7 @@ void func_80A75260(EnIk* this, GlobalContext* globalCtx) { } void func_80A753D0(EnIk* this) { - f32 frames = SkelAnime_GetFrameCount(&D_06003DBC.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_06003DBC); this->unk_2FF = this->unk_2FE = 0; this->unk_2F8 = 8; @@ -480,7 +480,7 @@ void func_80A7545C(EnIk* this, GlobalContext* globalCtx) { } void func_80A754A0(EnIk* this) { - f32 frames = SkelAnime_GetFrameCount(&D_060033C4.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_060033C4); this->unk_2F8 = 1; this->unk_2FF = 3; @@ -507,7 +507,7 @@ void func_80A75530(EnIk* this, GlobalContext* globalCtx) { } void func_80A755F0(EnIk* this) { - f32 frames = SkelAnime_GetFrameCount(&D_0600485C.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_0600485C); this->unk_2FE = 0; this->unk_2F8 = 9; @@ -541,11 +541,11 @@ void func_80A75790(EnIk* this) { 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.genericHeader), 2, -4.0f); + SkelAnime_GetFrameCount(&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.genericHeader), 2, -4.0f); + SkelAnime_GetFrameCount(&D_060045BC), 2, -4.0f); this->actor.speedXZ = 6.0f; } this->unk_2FE = 0; @@ -568,7 +568,7 @@ void func_80A758B0(EnIk* this, GlobalContext* globalCtx) { } void func_80A7598C(EnIk* this) { - f32 frames = SkelAnime_GetFrameCount(&D_06005944.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_06005944); this->unk_2FE = 0; this->unk_2F8 = 2; @@ -620,7 +620,7 @@ void func_80A75C38(EnIk* this, GlobalContext* globalCtx) { return; } if (this->shieldCollider.base.acFlags & 0x80) { - temp_f0 = SkelAnime_GetFrameCount(&D_0600485C.genericHeader) - 2.0f; + temp_f0 = SkelAnime_GetFrameCount(&D_0600485C) - 2.0f; if (this->skelAnime.animCurrentFrame < temp_f0) { this->skelAnime.animCurrentFrame = temp_f0; } @@ -753,8 +753,8 @@ Gfx* func_80A761B0(GraphicsContext* gfxCtx, u8 primR, u8 primG, u8 primB, u8 env return displayList; } -s32 EnIk_OverrideLimbDraw3(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor) { - EnIk* this = (EnIk*)actor; +s32 EnIk_OverrideLimbDraw3(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { + EnIk* this = THIS; if (limbIndex == 12) { if (this->actor.params != 0) { @@ -798,10 +798,10 @@ static Vec3f D_80A784D0[] = { { -3000.0, -700.0, -5000.0 }, }; -void EnIk_PostLimbDraw3(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor) { +void EnIk_PostLimbDraw3(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { Vec3f spF4; Vec3f spE8; - EnIk* this = (EnIk*)actor; + EnIk* this = THIS; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ik_inFight.c", 1201); @@ -901,8 +901,8 @@ 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_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnIk_OverrideLimbDraw3, EnIk_PostLimbDraw3, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnIk_OverrideLimbDraw3, EnIk_PostLimbDraw3, this); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ik_inFight.c", 1351); } @@ -1018,7 +1018,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.genericHeader), + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C114, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600C114), 2, 0.0f); func_80A770C0(this, globalCtx, 4); this->action = 1; @@ -1027,7 +1027,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.genericHeader), + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600C114, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600C114), 2, 0.0f); this->action = 2; this->drawMode = 1; @@ -1057,10 +1057,10 @@ void func_80A772EC(EnIk* this, GlobalContext* globalCtx) { void func_80A7735C(EnIk* this, GlobalContext* globalCtx) { s32 pad[3]; - f32 frames = SkelAnime_GetFrameCount(&D_060203D8.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_060203D8); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_060205C0, NULL, this->limbDrawTable, this->transitionDrawTable, - 30); + 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); this->action = 3; this->drawMode = 2; @@ -1099,9 +1099,11 @@ void func_80A774F8(EnIk* this, GlobalContext* globalCtx) { } } -s32 EnIk_OverrideLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor) { +s32 EnIk_OverrideLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { + EnIk* this = THIS; + if ((limbIndex == 13) || (limbIndex == 26) || (limbIndex == 27)) { - if (EnIk_AnimCurrentFrame(actor) >= 30.0f) { + if (EnIk_AnimCurrentFrame(&this->actor) >= 30.0f) { *dList = NULL; } } @@ -1109,21 +1111,20 @@ s32 EnIk_OverrideLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnIk_PostLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor) { +void EnIk_PostLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(gfxCtx, "../z_en_ik_inAwake.c", 207); switch (limbIndex) { - case 13: - if (EnIk_AnimCurrentFrame(actor) < 30.0f) { - s32 pad; - + case 13: { + EnIk* this = THIS; + if (EnIk_AnimCurrentFrame(&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); } - break; + } break; case 22: gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 274), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); @@ -1134,26 +1135,27 @@ void EnIk_PostLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_06016EE8); break; - case 26: - if (EnIk_AnimCurrentFrame(actor) < 30.0f) { - s32 pad; + case 26: { + EnIk* this = THIS; + if (EnIk_AnimCurrentFrame(&this->actor) < 30.0f) { + // s32 pad; gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 288), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_06016BE0); } - break; - case 27: - if (EnIk_AnimCurrentFrame(actor) < 30.0f) { - s32 pad; + } break; + case 27: { + EnIk* this = THIS; + if (EnIk_AnimCurrentFrame(&this->actor) < 30.0f) { + // s32 pad; gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 297), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_06016CD8); } - break; + } break; } - CLOSE_DISPS(gfxCtx, "../z_en_ik_inAwake.c", 304); } @@ -1170,8 +1172,8 @@ 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_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - EnIk_OverrideLimbDraw2, EnIk_PostLimbDraw2, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + EnIk_OverrideLimbDraw2, EnIk_PostLimbDraw2, this); CLOSE_DISPS(gfxCtx, "../z_en_ik_inAwake.c", 345); } @@ -1250,8 +1252,8 @@ void EnIk_Update(Actor* thisx, GlobalContext* globalCtx) { sActionFuncs[this->action](this, globalCtx); } -s32 EnIk_OverrideLimbDraw1(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* actor) { - EnIk* this = (EnIk*)actor; +s32 EnIk_OverrideLimbDraw1(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { + EnIk* this = THIS; f32 animCurrentFrame; switch (limbIndex) { @@ -1272,7 +1274,7 @@ s32 EnIk_OverrideLimbDraw1(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnIk_PostLimbDraw1(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* actor) { +void EnIk_PostLimbDraw1(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; OPEN_DISPS(gfxCtx, "../z_en_ik_inConfrontion.c", 571); @@ -1324,8 +1326,8 @@ 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_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - EnIk_OverrideLimbDraw1, EnIk_PostLimbDraw1, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + EnIk_OverrideLimbDraw1, EnIk_PostLimbDraw1, this); CLOSE_DISPS(gfxCtx, "../z_en_ik_inConfrontion.c", 653); } @@ -1389,8 +1391,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_InitSV(globalCtx, &this->skelAnime, &D_0601E178, &D_0600C114, this->limbDrawTable, - this->transitionDrawTable, 30); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0601E178, &D_0600C114, this->limbDrawTable, + this->transitionDrawTable, 30); func_80A74398(&this->actor, globalCtx); func_80A780D0(this, globalCtx); } 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 f821d1bd12..6dfa611811 100644 --- a/src/overlays/actors/ovl_En_Insect/z_en_insect.c +++ b/src/overlays/actors/ovl_En_Insect/z_en_insect.c @@ -780,7 +780,7 @@ void EnInsect_Draw(Actor* thisx, GlobalContext* globalCtx) { EnInsect* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, NULL, NULL, NULL); func_800628A4(0, &this->collider); D_80A7DEB4 = 0; } 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 6d7585dbae..d97d69ec5b 100644 --- a/src/overlays/actors/ovl_En_Js/z_en_js.c +++ b/src/overlays/actors/ovl_En_Js/z_en_js.c @@ -35,7 +35,7 @@ static ColliderCylinderInit sCylinderInit = { { 30, 40, 0, { 0, 0, 0 } }, }; -extern SkeletonHeader D_06005EA0; +extern FlexSkeletonHeader D_06005EA0; extern AnimationHeader D_0600045C; extern AnimationHeader D_0600018C; @@ -48,8 +48,8 @@ void EnJs_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; ActorShape_Init(&this->actor.shape, 0.0f, NULL, 36.0f); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06005EA0, &D_0600045C, this->limbDrawTable, - this->transitionDrawTable, 13); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06005EA0, &D_0600045C, this->limbDrawTable, + this->transitionDrawTable, 13); SkelAnime_ChangeAnimDefaultStop(&this->skelAnime, &D_0600045C); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); @@ -87,8 +87,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.genericHeader), - 2, -4.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600045C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600045C), 2, -4.0f); } void func_80A89078(EnJs* this, GlobalContext* globalCtx) { @@ -144,8 +143,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.genericHeader), - 2, -4.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600018C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600018C), 2, -4.0f); } void func_80A89304(EnJs* this, GlobalContext* globalCtx) { @@ -196,7 +194,7 @@ void EnJs_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnJs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* pos, Vec3s* rot, Actor* thisx) { +s32 EnJs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* pos, Vec3s* rot, void* thisx) { EnJs* this = THIS; if (limbIndex == 12) { @@ -205,17 +203,18 @@ s32 EnJs_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnJs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnJs_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { static Vec3f D_80A896DC = { 0.0f, 0.0f, 0.0f }; + EnJs* this = THIS; if (limbIndex == 12) { - Matrix_MultVec3f(&D_80A896DC, &thisx->posRot2.pos); + Matrix_MultVec3f(&D_80A896DC, &this->actor.posRot2.pos); } } void EnJs_Draw(Actor* thisx, GlobalContext* globalCtx) { EnJs* this = THIS; func_800943C8(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnJs_OverrideLimbDraw, EnJs_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnJs_OverrideLimbDraw, EnJs_PostLimbDraw, this); } 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 2a72df2b17..627e27c3c1 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -29,7 +29,7 @@ static ColliderCylinderInit sCylinderInit = { { 20, 70, 0, { 0, 0, 0 } }, }; -extern SkeletonHeader D_060065B0; +extern FlexSkeletonHeader D_060065B0; extern AnimationHeader D_06000214; const ActorInit En_Kakasi_InitVars = { @@ -60,7 +60,7 @@ void EnKakasi_Init(Actor* thisx, GlobalContext* globalCtx) { Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); this->actor.unk_1F = 6; - SkelAnime_InitSV(globalCtx, &this->skelanime, &D_060065B0, &D_06000214, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_060065B0, &D_06000214, NULL, NULL, 0); this->rot = this->actor.posRot.rot; this->actor.flags |= 0x400; @@ -161,7 +161,7 @@ void func_80A8F320(EnKakasi* this, GlobalContext* globalCtx, s16 arg) { } void func_80A8F660(EnKakasi* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06000214.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06000214); SkelAnime_ChangeAnim(&this->skelanime, &D_06000214, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); @@ -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_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount, NULL, - NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, 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 be25f5f20a..89abbc220b 100644 --- a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c +++ b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c @@ -28,7 +28,7 @@ void func_80A904D8(EnKakasi2* this, GlobalContext* globalCtx); void func_80A90578(EnKakasi2* this, GlobalContext* globalCtx); void func_80A906C4(EnKakasi2* this, GlobalContext* globalCtx); -extern SkeletonHeader D_060065B0; +extern FlexSkeletonHeader D_060065B0; extern AnimationHeader D_06000214; const ActorInit En_Kakasi2_InitVars = { @@ -86,7 +86,7 @@ void EnKakasi2_Init(Actor* thisx, GlobalContext* globalCtx) { this->actor.draw = func_80A90948; Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_060065B0, &D_06000214, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060065B0, &D_06000214, NULL, NULL, 0); this->actionFunc = func_80A9062C; } else { this->actionFunc = func_80A90264; @@ -112,7 +112,7 @@ void func_80A90264(EnKakasi2* this, GlobalContext* globalCtx) { this->actor.draw = func_80A90948; Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_060065B0, &D_06000214, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060065B0, &D_06000214, NULL, NULL, 0); func_80080480(globalCtx, this); this->actor.flags |= 0x8000001; @@ -137,7 +137,7 @@ void func_80A90264(EnKakasi2* this, GlobalContext* globalCtx) { this->actor.draw = func_80A90948; Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_060065B0, &D_06000214, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060065B0, &D_06000214, NULL, NULL, 0); func_80080480(globalCtx, this); func_80078884(NA_SE_SY_CORRECT_CHIME); @@ -148,7 +148,7 @@ void func_80A90264(EnKakasi2* this, GlobalContext* globalCtx) { } void func_80A904D8(EnKakasi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06000214.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06000214); SkelAnime_ChangeAnim(&this->skelAnime, &D_06000214, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); Audio_PlayActorSound2(&this->actor, NA_SE_EV_COME_UP_DEKU_JR); @@ -175,7 +175,7 @@ void func_80A90578(EnKakasi2* this, GlobalContext* globalCtx) { } void func_80A9062C(EnKakasi2* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06000214.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06000214); SkelAnime_ChangeAnim(&this->skelAnime, &D_06000214, 0.0f, 0.0f, (s16)frameCount, 2, -10.0f); this->actionFunc = func_80A906C4; @@ -230,6 +230,6 @@ void func_80A90948(Actor* thisx, GlobalContext* globalCtx) { EnKakasi2* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, NULL, - NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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 2ad430e028..ec20d9f0a0 100644 --- a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c +++ b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c @@ -33,7 +33,7 @@ static ColliderCylinderInit sCylinderInit = { { 20, 70, 0, { 0, 0, 0 } }, }; -extern SkeletonHeader D_060065B0; +extern FlexSkeletonHeader D_060065B0; extern AnimationHeader D_06000214; const ActorInit En_Kakasi3_InitVars = { @@ -65,7 +65,7 @@ void EnKakasi3_Init(Actor* thisx, GlobalContext* globalCtx) { Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_060065B0, &D_06000214, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060065B0, &D_06000214, NULL, NULL, 0); this->actor.flags |= 0x400; this->rot = this->actor.posRot.rot; this->actor.colChkInfo.mass = 0xFF; @@ -164,7 +164,7 @@ void func_80A90EBC(EnKakasi3* this, GlobalContext* globalCtx, s32 arg) { } void func_80A911F0(EnKakasi3* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06000214.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06000214); SkelAnime_ChangeAnim(&this->skelAnime, &D_06000214, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); this->actionFunc = func_80A91284; @@ -428,6 +428,6 @@ void EnKakasi3_Draw(Actor* thisx, GlobalContext* globalCtx) { EnKakasi3* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, NULL, - NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + NULL, NULL, this); } 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 fac7a11ff9..166ca16403 100644 --- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c +++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c @@ -51,7 +51,7 @@ static struct_80034EC0_Entry sAnimations[] = { { 0x0600046C, 1.0f, 0.0f, -1.0f, 0x00, -10.0f }, }; -extern SkeletonHeader D_060086D0; +extern FlexSkeletonHeader D_060086D0; u16 EnKz_GetTextNoMaskChild(GlobalContext* globalCtx, EnKz* this) { Player* player = PLAYER; @@ -304,8 +304,8 @@ void EnKz_Init(Actor* thisx, GlobalContext* globalCtx) { EnKz* this = THIS; s32 pad; - SkelAnime_InitSV(globalCtx, &this->skelanime, &D_060086D0, NULL, &this->limbDrawTable, &this->transitionDrawTable, - 12); + SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_060086D0, NULL, &this->limbDrawTable, &this->transitionDrawTable, + 12); ActorShape_Init(&this->actor.shape, 0.0, NULL, 0.0); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); @@ -453,7 +453,7 @@ void EnKz_Update(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc(this, globalCtx); } -s32 EnKz_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnKz_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { s32 limb = limbIndex; if (limb == 8 || limb == 9 || limb == 10) { @@ -463,7 +463,7 @@ s32 EnKz_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnKz_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnKz_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { s32 limb = limbIndex; Vec3f mult = { 2600.0f, 0.0f, 0.0f }; @@ -484,8 +484,8 @@ void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx])); func_800943C8(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, this->skelanime.dListCount, - EnKz_OverrideLimbDraw, EnKz_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, 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_Ma1/z_en_ma1.c b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c index b241324c86..b56c98f7ac 100644 --- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c +++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c @@ -71,7 +71,7 @@ static UNK_PTR D_80AA16D0[] = { }; extern AnimationHeader D_06000820; -extern SkeletonHeader D_06008460; +extern FlexSkeletonHeader D_06008460; extern AnimationHeader D_06008D64; u16 EnMa1_GetText(GlobalContext* globalCtx, Actor* thisx) { @@ -206,7 +206,7 @@ void func_80AA0A0C(EnMa1* this) { } void func_80AA0A84(EnMa1* this, UNK_TYPE idx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_80AA1678[idx].animation->genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(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); @@ -216,7 +216,7 @@ void func_80AA0AF4(EnMa1* this, GlobalContext* globalCtx) { Player* player = PLAYER; s16 phi_a3; - if ((this->unk_1E8.unk_00 == 0) && (this->skelAnime.animCurrentSeg == &D_06008D64)) { + if ((this->unk_1E8.unk_00 == 0) && (this->skelAnime.animation == &D_06008D64)) { phi_a3 = 1; } else { phi_a3 = 0; @@ -229,7 +229,7 @@ void func_80AA0AF4(EnMa1* this, GlobalContext* globalCtx) { } void func_80AA0B74(EnMa1* this) { - if (this->skelAnime.animCurrentSeg == &D_06008D64) { + if (this->skelAnime.animation == &D_06008D64) { if (this->unk_1E8.unk_00 == 0) { if (this->unk_1E0 != 0) { this->unk_1E0 = 0; @@ -249,7 +249,7 @@ void EnMa1_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 18.0f); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06008460, NULL, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008460, 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); @@ -282,11 +282,11 @@ void EnMa1_Destroy(Actor* thisx, GlobalContext* globalCtx) { void func_80AA0D88(EnMa1* this, GlobalContext* globalCtx) { if (this->unk_1E8.unk_00 != 0) { - if (this->skelAnime.animCurrentSeg != &D_06000820) { + if (this->skelAnime.animation != &D_06000820) { func_80AA0A84(this, 1); } } else { - if (this->skelAnime.animCurrentSeg != &D_06008D64) { + if (this->skelAnime.animation != &D_06008D64) { func_80AA0A84(this, 3); } } @@ -324,11 +324,11 @@ void func_80AA0F44(EnMa1* this, GlobalContext* globalCtx) { Player* player = PLAYER; if (this->unk_1E8.unk_00 != 0) { - if (this->skelAnime.animCurrentSeg != &D_06000820) { + if (this->skelAnime.animation != &D_06000820) { func_80AA0A84(this, 1); } } else { - if (this->skelAnime.animCurrentSeg != &D_06008D64) { + if (this->skelAnime.animation != &D_06008D64) { func_80AA0A84(this, 3); } } @@ -397,7 +397,7 @@ void EnMa1_Update(Actor* thisx, GlobalContext* globalCtx) { func_80AA0AF4(this, globalCtx); } -s32 EnMa1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnMa1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnMa1* this = THIS; Vec3s vec; @@ -419,7 +419,7 @@ s32 EnMa1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnMa1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnMa1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnMa1* this = THIS; Vec3f vec = D_80AA16B8; @@ -444,8 +444,8 @@ 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_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnMa1_OverrideLimbDraw, EnMa1_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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 81415ee498..954061b022 100644 --- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c +++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c @@ -63,7 +63,7 @@ static UNK_PTR D_80AA28C0[] = { }; extern Gfx D_06005420[]; -extern SkeletonHeader D_06008D90; +extern FlexSkeletonHeader D_06008D90; extern AnimationHeader D_060093BC; extern AnimationHeader D_06009EE0; @@ -123,7 +123,7 @@ void func_80AA1AE4(EnMa2* this, GlobalContext* globalCtx) { Player* player = PLAYER; s16 phi_a3; - if ((this->unk_1E0.unk_00 == 0) && (this->skelAnime.animCurrentSeg == &D_06009EE0)) { + if ((this->unk_1E0.unk_00 == 0) && (this->skelAnime.animation == &D_06009EE0)) { phi_a3 = 1; } else { phi_a3 = 0; @@ -160,7 +160,7 @@ u16 func_80AA1B58(EnMa2* this, GlobalContext* globalCtx) { } s32 func_80AA1C68(EnMa2* this) { - if (this->skelAnime.animCurrentSeg != &D_06009EE0) { + if (this->skelAnime.animation != &D_06009EE0) { return 0; } if (this->unk_1E0.unk_00 != 0) { @@ -185,14 +185,14 @@ void func_80AA1CC0(EnMa2* this) { } void func_80AA1D44(EnMa2* this, s32 idx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_80AA2858[idx].animation->genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(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); } void func_80AA1DB4(EnMa2* this, GlobalContext* globalCtx) { - if (this->skelAnime.animCurrentSeg == &D_06009EE0) { + if (this->skelAnime.animation == &D_06009EE0) { if (this->unk_1E0.unk_00 == 0) { if (this->unk_20A != 0) { func_800F6584(0); @@ -212,7 +212,7 @@ void EnMa2_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 18.0f); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06008D90, NULL, NULL, NULL, 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); @@ -322,7 +322,7 @@ void EnMa2_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnMa2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnMa2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnMa2* this = THIS; Vec3s vec; @@ -348,7 +348,7 @@ s32 EnMa2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnMa2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnMa2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnMa2* this = THIS; Vec3f vec = D_80AA28A8; @@ -357,7 +357,7 @@ void EnMa2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve if (limbIndex == 18) { Matrix_MultVec3f(&vec, &this->actor.posRot2.pos); } - if ((limbIndex == 14) && (this->skelAnime.animCurrentSeg == &D_060093BC)) { + if ((limbIndex == 14) && (this->skelAnime.animation == &D_060093BC)) { gSPDisplayList(POLY_OPA_DISP++, D_06005420); } @@ -380,8 +380,8 @@ 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_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnMa2_OverrideLimbDraw, EnMa2_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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 826f5ca1cf..52c38290f2 100644 --- a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c +++ b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c @@ -65,7 +65,7 @@ static UNK_PTR D_80AA38B0[] = { }; extern u32 D_06005420; -extern SkeletonHeader D_06008D90; +extern FlexSkeletonHeader D_06008D90; extern AnimationHeader D_060093BC; extern AnimationHeader D_06009EE0; @@ -180,7 +180,7 @@ void func_80AA2E54(EnMa3* this, GlobalContext* globalCtx) { Player* player = PLAYER; s16 phi_a3; - if ((this->unk_1E0.unk_00 == 0) && (this->skelAnime.animCurrentSeg == &D_06009EE0)) { + if ((this->unk_1E0.unk_00 == 0) && (this->skelAnime.animation == &D_06009EE0)) { phi_a3 = 1; } else { phi_a3 = 0; @@ -205,7 +205,7 @@ s32 func_80AA2EC8(EnMa3* this, GlobalContext* globalCtx) { } s32 func_80AA2F28(EnMa3* this) { - if (this->skelAnime.animCurrentSeg != &D_06009EE0) { + if (this->skelAnime.animation != &D_06009EE0) { return 0; } if (this->unk_1E0.unk_00 != 0) { @@ -230,7 +230,7 @@ void func_80AA2F80(EnMa3* this) { } void func_80AA3004(EnMa3* this, s32 idx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_80AA3848[idx].animation->genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(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); @@ -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_InitSV(globalCtx, &this->skelAnime, &D_06008D90, NULL, 0, 0, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008D90, NULL, 0, 0, 0); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); func_80061EFC(&this->actor.colChkInfo, DamageTable_Get(0x16), &sColChkInfoInit); @@ -302,7 +302,7 @@ void EnMa3_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnMa3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnMa3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnMa3* this = THIS; Vec3s vec; @@ -328,16 +328,16 @@ s32 EnMa3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnMa3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnMa3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnMa3* this = THIS; Vec3f vec = D_80AA3898; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_ma3.c", 927); if (limbIndex == 18) { - Matrix_MultVec3f(&vec, &thisx->posRot2.pos); + Matrix_MultVec3f(&vec, &this->actor.posRot2.pos); } - if ((limbIndex == 14) && (this->skelAnime.animCurrentSeg == &D_060093BC)) { + if ((limbIndex == 14) && (this->skelAnime.animation == &D_060093BC)) { gSPDisplayList(POLY_OPA_DISP++, &D_06005420); } @@ -360,8 +360,8 @@ 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_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnMa3_OverrideLimbDraw, EnMa3_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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_Md/z_en_md.c b/src/overlays/actors/ovl_En_Md/z_en_md.c index 479ee6004d..ce9fa7e115 100644 --- a/src/overlays/actors/ovl_En_Md/z_en_md.c +++ b/src/overlays/actors/ovl_En_Md/z_en_md.c @@ -55,7 +55,7 @@ static struct_80034EC0_Entry sAnimations[] = { }; extern AnimationHeader D_060002C8; -extern SkeletonHeader D_06007FB8; +extern FlexSkeletonHeader D_06007FB8; void func_80AAA250(EnMd* this) { f32 initialFrame; @@ -307,7 +307,7 @@ void func_80AAAA24(EnMd* this) { } break; } - } else if (this->skelAnime.animCurrentSeg != &D_060002C8) { + } else if (this->skelAnime.animation != &D_060002C8) { func_80034EC0(&this->skelAnime, sAnimations, 10); func_80AAA92C(this, 0); } @@ -593,8 +593,8 @@ void EnMd_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 24.0f); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06007FB8, NULL, this->limbDrawTable, this->transitionDrawTable, - 17); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007FB8, NULL, this->limbDrawTable, this->transitionDrawTable, + 17); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); @@ -633,7 +633,7 @@ void EnMd_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void func_80AAB874(EnMd* this, GlobalContext* globalCtx) { - if (this->skelAnime.animCurrentSeg == &D_060002C8) { + if (this->skelAnime.animation == &D_060002C8) { func_80034F54(globalCtx, &this->unk_214, &this->unk_236, 17); } else if ((this->unk_1E0.unk_00 == 0) && (this->unk_20B != 7)) { func_80AAA92C(this, 7); @@ -643,7 +643,7 @@ void func_80AAB874(EnMd* this, GlobalContext* globalCtx) { } void func_80AAB8F8(EnMd* this, GlobalContext* globalCtx) { - if (this->skelAnime.animCurrentSeg == &D_060002C8) { + if (this->skelAnime.animation == &D_060002C8) { func_80034F54(globalCtx, &this->unk_214, &this->unk_236, 17); } func_80AAA93C(this); @@ -695,7 +695,7 @@ void func_80AAB948(EnMd* this, GlobalContext* globalCtx) { return; } - if (this->skelAnime.animCurrentSeg == &D_060002C8) { + if (this->skelAnime.animation == &D_060002C8) { func_80034F54(globalCtx, &this->unk_214, &this->unk_236, 17); } @@ -772,7 +772,7 @@ void EnMd_Update(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc(this, globalCtx); } -s32 EnMd_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, +s32 EnMd_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx) { EnMd* this = THIS; Vec3s vec; @@ -798,12 +798,12 @@ s32 EnMd_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnMd_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { - s32 pad; +void EnMd_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) { + EnMd* this = THIS; Vec3f vec = { 400.0f, 0.0f, 0.0f }; if (limbIndex == 16) { - Matrix_MultVec3f(&vec, &thisx->posRot2.pos); + Matrix_MultVec3f(&vec, &this->actor.posRot2.pos); } } 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 494eac4e8d..78179a0633 100644 --- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c +++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c @@ -53,7 +53,7 @@ static InitChainEntry sInitChain[] = { }; extern AnimationHeader D_060005EC; -extern SkeletonHeader D_06003DC0; +extern FlexSkeletonHeader D_06003DC0; void EnMs_SetOfferText(EnMs* this, GlobalContext* globalCtx) { this->actor.textId = Text_GetFaceReaction(globalCtx, 0x1B); @@ -75,8 +75,8 @@ void EnMs_Init(Actor* thisx, GlobalContext* globalCtx) { return; } Actor_ProcessInitChain(&this->actor, sInitChain); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06003DC0, &D_060005EC, &this->unkSkelAnimeStruct, &this->unk_1C6, - 9); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DC0, &D_060005EC, &this->unkSkelAnimeStruct, &this->unk_1C6, + 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); @@ -183,6 +183,6 @@ void EnMs_Draw(Actor* thisx, GlobalContext* globalCtx) { EnMs* this = THIS; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, NULL, - NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + NULL, NULL, this); } 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 3a8088dd42..9be773eaa3 100644 --- a/src/overlays/actors/ovl_En_Niw/z_en_niw.c +++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.c @@ -91,7 +91,7 @@ static InitChainEntry sInitChain[] = { ICHAIN_F32(unk_4C, 0, ICHAIN_STOP), }; -extern SkeletonHeader D_06002530; +extern FlexSkeletonHeader D_06002530; extern AnimationHeader D_060000E8; extern Gfx D_060023B0[]; extern Gfx D_06002428[]; @@ -130,8 +130,8 @@ 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_InitSV(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable, - this->transitionDrawTable, 16); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable, + this->transitionDrawTable, 16); if (globalCtx->sceneNum == SCENE_SPOT01) { for (i = 0; i < ARRAY_COUNT(sKakarikoPosList); i++) { @@ -1084,7 +1084,7 @@ void EnNiw_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnNiw_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnNiw_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnNiw* this = THIS; Vec3f zeroVec = { 0.0f, 0.0f, 0.0f }; @@ -1114,8 +1114,8 @@ void EnNiw_Draw(Actor* thisx, GlobalContext* globalCtx) { GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnNiw_OverrideLimbDraw, NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnNiw_OverrideLimbDraw, NULL, this); if (this->actionFunc == func_80AB6450) { func_80033C30(&this->actor.posRot.pos, &scale, 255, globalCtx); 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 6d19f3d020..55e756985e 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 @@ -42,7 +42,7 @@ static Vec3f sConstVec3f = { 0.2f, 0.2f, 0.2f }; static Gfx* D_80AB99D8[] = { 0x06004178, 0x06004978, 0x06005178 }; -extern SkeletonHeader D_06009948; +extern FlexSkeletonHeader D_06009948; extern AnimationHeader D_06000378; extern AnimationHeader D_06009C78; @@ -53,8 +53,8 @@ void EnNiwGirl_Init(Actor* thisx, GlobalContext* globalCtx) { Vec3f vec2; s32 pad2; - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06009948, &D_06000378, &this->limbDrawTable, - &this->transitionDrawTable, 17); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06009948, &D_06000378, &this->limbDrawTable, + &this->transitionDrawTable, 17); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); this->actor.unk_1F = 6; @@ -223,7 +223,7 @@ void EnNiwGirl_Update(Actor* thisx, GlobalContext* globalCtx) { } s32 EnNiwGirlOverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnNiwGirl* this = THIS; if (limbIndex == 3) { @@ -245,8 +245,8 @@ 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_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnNiwGirlOverrideLimbDraw, 0, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + EnNiwGirlOverrideLimbDraw, 0, this); func_80033C30(&this->actor.posRot.pos, &sp4C, 255, globalCtx); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_niw_girl.c", 592); 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 85b107c910..2d72b4b313 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 @@ -51,7 +51,7 @@ static ColliderCylinderInit sCylinderInit = { { 10, 10, 0, { 0, 0, 0 } }, }; -extern SkeletonHeader D_060000F0; +extern FlexSkeletonHeader D_060000F0; extern AnimationHeader D_06000718; extern AnimationHeader D_060007D0; extern AnimationHeader D_06009F94; @@ -146,8 +146,8 @@ 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_InitSV(globalCtx, &this->skelAnime, &D_060000F0, NULL, &this->limbDrawTable, - &this->transitionDrawTable, 16); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060000F0, NULL, this->limbDrawTable, + this->transitionDrawTable, 16); gSegments[6] = VIRTUAL_TO_PHYSICAL(globalCtx->objectCtx.status[this->objectOsAnimeIndex].segment); this->unk_27E = 1; this->actor.gravity = -3.0f; @@ -211,7 +211,7 @@ void func_80ABA244(EnNiwLady* this, GlobalContext* globalCtx) { gSaveContext.infTable[25] &= ~D_80ABB3B4[currentCucco->unk_2AA]; } } - currentCucco = currentCucco->actor.next; + currentCucco = (EnNiw*)currentCucco->actor.next; } if (BREG(7) != 0) { this->cuccosInPen = BREG(7) - 1; @@ -522,7 +522,7 @@ void EnNiwLady_Update(Actor* thisx, GlobalContext* globalCtx) { func_8002E4B4(globalCtx, thisx, 20.0f, 20.0f, 60.0f, 0x1D); Collider_CylinderUpdate(thisx, &this->collider); if (1) {} - CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); } } } @@ -536,7 +536,7 @@ Gfx* func_80ABB0A0(GraphicsContext* gfxCtx) { } s32 EnNiwLady_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnNiwLady* this = THIS; s32 pad; @@ -567,8 +567,8 @@ 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_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnNiwLady_OverrideLimbDraw, 0, thisx); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, + 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_Okuta/z_en_okuta.c b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c index 6f898d602e..22885fee8b 100644 --- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c +++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c @@ -657,8 +657,8 @@ void EnOkuta_Draw(Actor* thisx, GlobalContext* globalCtx) { func_80093D18(globalCtx->state.gfxCtx); if (this->actor.params == 0) { - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnOkuta_OverrideLimbDraw, NULL, - &this->actor); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnOkuta_OverrideLimbDraw, + NULL, this); } else { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_okuta.c", 1653); 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 20aaebf66d..e4a534c1e5 100644 --- a/src/overlays/actors/ovl_En_Rd/z_en_rd.c +++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.c @@ -73,7 +73,7 @@ static Vec3f D_80AE4940 = { 300.0f, 0.0f, 0.0f }; static Vec3f D_80AE494C = { 300.0f, 0.0f, 0.0f }; static Vec3f D_80AE4958 = { 0.25f, 0.25f, 0.25f }; -extern SkeletonHeader D_06003DD8; +extern FlexSkeletonHeader D_06003DD8; extern AnimationHeader D_06004268; extern AnimationHeader D_060046F8; extern AnimationHeader D_06004ADC; @@ -84,7 +84,7 @@ extern AnimationHeader D_06006E88; extern AnimationHeader D_060074F0; extern AnimationHeader D_06008040; extern AnimationHeader D_060087D0; -extern SkeletonHeader D_0600E778; +extern FlexSkeletonHeader D_0600E778; extern AnimationHeader D_0600EFDC; void EnRd_SetupAction(EnRd* this, EnRdActionFunc actionFunc) { @@ -113,12 +113,12 @@ void EnRd_Init(Actor* thisx, GlobalContext* globalCtx) { } if (thisx->params >= -1) { - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600E778, &D_060087D0, this->limbDrawTable, - this->transitionDrawTable, 26); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600E778, &D_060087D0, this->limbDrawTable, + this->transitionDrawTable, 26); thisx->naviEnemyId = 42; } else { - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06003DD8, &D_060087D0, this->limbDrawTable, - this->transitionDrawTable, 26); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DD8, &D_060087D0, this->limbDrawTable, + this->transitionDrawTable, 26); thisx->naviEnemyId = 45; } @@ -231,8 +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.genericHeader), 0, - -6.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060087D0, 0, 0, SkelAnime_GetFrameCount(&D_060087D0), 0, -6.0f); this->unk_31B = 0xB; this->unk_30C = 6; this->actor.shape.rot.x = -0x4000; @@ -268,8 +267,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.genericHeader), - 1, -4.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600EFDC, 1.0f, 4.0f, SkelAnime_GetFrameCount(&D_0600EFDC), 1, -4.0f); this->actor.speedXZ = 0.4f; this->unk_31B = 4; EnRd_SetupAction(this, func_80AE2C1C); @@ -336,8 +334,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.genericHeader), 1, - -4.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600EFDC, 0.5f, 0, SkelAnime_GetFrameCount(&D_0600EFDC), 1, -4.0f); this->unk_31B = 2; EnRd_SetupAction(this, func_80AE2FD0); } @@ -385,8 +382,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.genericHeader), 1, - -4.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600EFDC, 0.5f, 0, SkelAnime_GetFrameCount(&D_0600EFDC), 1, -4.0f); this->unk_31B = 3; this->unk_305 = 1; EnRd_SetupAction(this, func_80AE3260); @@ -459,8 +455,8 @@ void func_80AE3454(EnRd* this, GlobalContext* globalCtx) { Math_SmoothScaleMaxMinS(&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.genericHeader), 3, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060046F8, 0.5f, 0.0f, SkelAnime_GetFrameCount(&D_060046F8), 3, + 0.0f); this->unk_304++; this->unk_31B = 4; return; @@ -510,8 +506,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.genericHeader), - 2, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06004F94, 0.0f, 0.0f, SkelAnime_GetFrameCount(&D_06004F94), 2, 0.0f); this->unk_31B = 7; EnRd_SetupAction(this, func_80AE3834); } @@ -551,8 +546,7 @@ void func_80AE3978(EnRd* this, GlobalContext* globalCtx) { } void func_80AE39D4(EnRd* this) { - SkelAnime_ChangeAnim(&this->skelAnime, &D_06008040, -1.0f, SkelAnime_GetFrameCount(&D_06008040.genericHeader), 0.0f, - 2, -4.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06008040, -1.0f, SkelAnime_GetFrameCount(&D_06008040), 0.0f, 2, -4.0f); this->unk_31B = 6; EnRd_SetupAction(this, func_80AE3A54); } @@ -798,7 +792,7 @@ void EnRd_Update(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnRd_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, +s32 EnRd_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx) { EnRd* this = THIS; @@ -810,7 +804,7 @@ s32 EnRd_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnRd_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnRd_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) { Vec3f sp2C = D_80AE4940; EnRd* this = THIS; s32 idx = -1; @@ -870,9 +864,9 @@ void EnRd_Draw(Actor* thisx, GlobalContext* globalCtx) { func_80093D18(globalCtx->state.gfxCtx); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, this->unk_314); gSPSegment(POLY_OPA_DISP++, 8, &D_80116280[2]); - POLY_OPA_DISP = SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, - this->skelAnime.dListCount, EnRd_OverrideLimbDraw, EnRd_PostLimbDraw, - &this->actor, POLY_OPA_DISP); + POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, + this->skelAnime.dListCount, EnRd_OverrideLimbDraw, EnRd_PostLimbDraw, this, + POLY_OPA_DISP); func_80033C30(&thisPos, &D_80AE4958, 255, globalCtx); if (this->unk_31A != 0) { this->actor.dmgEffectTimer++; @@ -887,8 +881,8 @@ 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_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, - this->skelAnime.dListCount, EnRd_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP); + SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, + 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_Reeba/z_en_reeba.c b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c index 96afd2737d..311e245f52 100644 --- a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c +++ b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c @@ -123,7 +123,7 @@ void EnReeba_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void func_80AE4F40(EnReeba* this, GlobalContext* globalCtx) { - f32 frames = SkelAnime_GetFrameCount(&D_060001E4.genericHeader); + f32 frames = SkelAnime_GetFrameCount(&D_060001E4); Player* player = PLAYER; s16 playerSpeed; @@ -620,7 +620,7 @@ void EnReeba_Draw(Actor* thisx, GlobalContext* globalCtx) { gDPSetPrimColor(POLY_OPA_DISP++, 0x0, 0x01, 255, 255, 255, 255); } - SkelAnime_Draw(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL, NULL, &this->actor); + SkelAnime_DrawOpa(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL, NULL, this); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_reeba.c", 1088); 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 deb18ac657..ff7f906287 100644 --- a/src/overlays/actors/ovl_En_Rl/z_en_rl.c +++ b/src/overlays/actors/ovl_En_Rl/z_en_rl.c @@ -30,7 +30,7 @@ void func_80AE7D94(EnRl* this, GlobalContext* globalCtx); static UNK_PTR D_80AE81A0[] = { 0x06003620, 0x06003960, 0x06003B60 }; -extern SkeletonHeader D_06007B38; +extern FlexSkeletonHeader D_06007B38; extern AnimationHeader D_06000A3C; extern AnimationHeader D_06000830; extern AnimationHeader D_0600040C; @@ -57,8 +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.genericHeader), - 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06000A3C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000A3C), 0, 0.0f); this->action = 4; this->drawConfig = 0; this->alpha = 0; @@ -115,7 +114,7 @@ s32 func_80AE74FC(EnRl* this, GlobalContext* globalCtx, u16 arg2, s32 arg3) { } void func_80AE7544(EnRl* this, GlobalContext* globalCtx) { - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06007B38, &D_06000A3C, 0, 0, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007B38, &D_06000A3C, 0, 0, 0); } void func_80AE7590(EnRl* this, GlobalContext* globalCtx) { @@ -151,8 +150,8 @@ 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.genericHeader), 2, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600040C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600040C), 2, + 0.0f); this->action = 2; } } @@ -160,8 +159,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.genericHeader), 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06000830, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000830), 0, 0.0f); this->action = 3; } } @@ -194,7 +192,7 @@ void func_80AE7838(EnRl* this, GlobalContext* globalCtx) { } void func_80AE7878(EnRl* this, GlobalContext* globalCtx) { - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06007B38, &D_06000A3C, 0, 0, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007B38, &D_06000A3C, 0, 0, 0); this->action = 4; this->actor.shape.unk_14 = 0; } @@ -246,8 +244,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.genericHeader), 2, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600040C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_0600040C), 2, -8.0f); this->action = 6; } else if (func_80AE74FC(this, globalCtx, 4, 0)) { this->action = 5; @@ -264,8 +261,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.genericHeader), 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06000830, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06000830), 0, 0.0f); this->action = 7; } } @@ -316,8 +312,8 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - NULL, NULL, NULL, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + NULL, NULL, NULL, POLY_XLU_DISP); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_rl_inKenjyanomaDemo02.c", 331); } @@ -365,8 +361,8 @@ void func_80AE7FDC(EnRl* this, GlobalContext* globalCtx) { gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]); - SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL, - &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, 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 862767d805..6674439f99 100644 --- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c +++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c @@ -151,7 +151,7 @@ extern AnimationHeader D_06008100; extern AnimationHeader D_06008AA8; extern AnimationHeader D_06009060; extern AnimationHeader D_060097B8; -extern SkeletonHeader D_06012700; +extern FlexSkeletonHeader D_06012700; extern AnimationHeader D_06012E94; extern AnimationHeader D_06013A64; @@ -376,8 +376,8 @@ void func_80AEB220(EnRu1* this, GlobalContext* globalCtx) { void func_80AEB264(EnRu1* this, AnimationHeader* animation, u8 arg2, f32 transitionRate, s32 arg4) { s32 pad[2]; - AnimationHeader* animationHeader = SEGMENTED_TO_VIRTUAL(&animation->genericHeader); - f32 frameCount = SkelAnime_GetFrameCount(&animationHeader->genericHeader); + AnimationHeader* animHeader = SEGMENTED_TO_VIRTUAL(animation); + f32 frameCount = SkelAnime_GetFrameCount(animHeader); f32 playbackSpeed; f32 unk0; f32 fc; @@ -392,7 +392,7 @@ void func_80AEB264(EnRu1* this, AnimationHeader* animation, u8 arg2, f32 transit playbackSpeed = -1.0f; } - SkelAnime_ChangeAnim(&this->skelAnime, animationHeader, playbackSpeed, unk0, fc, arg2, transitionRate); + SkelAnime_ChangeAnim(&this->skelAnime, animHeader, playbackSpeed, unk0, fc, arg2, transitionRate); } s32 EnRu1_FrameUpdateMatrix(EnRu1* this) { @@ -623,8 +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.genericHeader), - 0, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06012E94, 1.0f, 0, SkelAnime_GetFrameCount(&D_06012E94), 0, -8.0f); } } @@ -644,7 +643,7 @@ void func_80AEBD94(EnRu1* this, GlobalContext* globalCtx) { f32 frameCount; if (func_80AEB480(globalCtx, 3)) { - frameCount = SkelAnime_GetFrameCount(&D_06009060.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06009060); func_80AEB934(this, globalCtx); func_80AEB738(this, globalCtx); SkelAnime_ChangeAnim(&this->skelAnime, &D_06009060, 1.0f, 0.0f, frameCount, 2, 0.0f); @@ -658,7 +657,7 @@ void func_80AEBE3C(EnRu1* this, GlobalContext* globalCtx, s32 arg2) { f32 frameCount; if (arg2 != 0) { - frameCount = SkelAnime_GetFrameCount(&D_06013A64.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06013A64); func_80AEB7D0(this); SkelAnime_ChangeAnim(&this->skelAnime, &D_06013A64, 1.0f, 0, frameCount, 0, -8.0f); this->action = 3; @@ -672,7 +671,7 @@ void func_80AEBEC8(EnRu1* this, GlobalContext* globalCtx) { f32 frameCount; if (func_80AEB458(globalCtx, 6)) { - frameCount = SkelAnime_GetFrameCount(&D_06008AA8.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06008AA8); func_80AEB738(this, globalCtx); SkelAnime_ChangeAnim(&this->skelAnime, &D_06008AA8, 1.0f, 0, frameCount, 2, -8.0f); this->action = 4; @@ -700,7 +699,7 @@ void func_80AEBFD8(EnRu1* this, GlobalContext* globalCtx) { csCtxFrames = globalCtx->csCtx.frames; endFrame = csCmdNPCAction->endFrame; if (csCtxFrames >= endFrame - 2) { - frameCount = SkelAnime_GetFrameCount(&D_06008100.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06008100); SkelAnime_ChangeAnim(&this->skelAnime, &D_06008100, 1.0, 0, frameCount, 2, -8.0f); this->action = 6; } @@ -869,8 +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.genericHeader), - 2, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06003784, 1.0f, 0, SkelAnime_GetFrameCount(&D_06003784), 2, -8.0f); this->unk_280 = 1; func_80AEC6B0(this); } @@ -910,16 +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.genericHeader), - 2, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06004074, 1.0f, 0, SkelAnime_GetFrameCount(&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.genericHeader), - 0, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060078E4, 1.0f, 0, SkelAnime_GetFrameCount(&D_060078E4), 0, -8.0f); this->actor.posRot.rot.y += 0x8000; this->action = 0xB; this->unk_26C = 0.0f; @@ -1138,8 +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.genericHeader), - 2, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06001488, 1.0f, 0, SkelAnime_GetFrameCount(&D_06001488), 2, -8.0f); this->action = 20; func_80AED0B0(this, 3); } @@ -1148,12 +1143,11 @@ 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.genericHeader), 0, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06002058, 1.0f, 0, SkelAnime_GetFrameCount(&D_06002058), 0, + -8.0f); } } else if (func_80AED084(this, 5)) { - SkelAnime_ChangeAnim(&this->skelAnime, &D_06002990, 1.0f, 0, SkelAnime_GetFrameCount(&D_06002990.genericHeader), - 2, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06002990, 1.0f, 0, SkelAnime_GetFrameCount(&D_06002990), 2, -8.0f); this->action = 21; this->unk_27C = this->actor.xzDistFromLink; } @@ -1220,7 +1214,7 @@ void func_80AED4FC(EnRu1* this) { func_80078914(&this->actor.projectedPos, NA_SE_EV_LAND_DIRT); } -func_80AED520(EnRu1* this, GlobalContext* globalCtx) { +void func_80AED520(EnRu1* this, GlobalContext* globalCtx) { Player* player = PLAYER; Audio_PlaySoundGeneral(NA_SE_PL_PULL_UP_RUTO, &player->actor.projectedPos, 4, &D_801333E0, &D_801333E0, @@ -1624,8 +1618,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.genericHeader), - 0, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0, SkelAnime_GetFrameCount(&D_06006B9C), 0, -8.0f); gSaveContext.infTable[20] |= 0x10; this->action = 31; } @@ -1638,8 +1631,8 @@ 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.genericHeader), 0, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06004648, 1.0f, 0, SkelAnime_GetFrameCount(&D_06004350), 0, + -8.0f); func_80AED600(this); this->action = 34; this->unk_26C = 0.0f; @@ -1660,7 +1653,7 @@ void func_80AEE7C4(EnRu1* this, GlobalContext* globalCtx) { f32* unk_370 = &this->unk_370; if (Actor_HasNoParent(this, globalCtx)) { - frameCount = SkelAnime_GetFrameCount(&D_06006B9C.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06006B9C); SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0, frameCount, 0, -8.0f); func_80AED6DC(this, globalCtx); this->actor.speedXZ *= (kREG(25) * 0.01f) + 1.0f; @@ -1684,7 +1677,7 @@ void func_80AEE7C4(EnRu1* this, GlobalContext* globalCtx) { if (this->action != 32) { if (*unk_370 > 30.0f) { if (Math_Rand_S16Offset(0, 3) == 0) { - frameCount = SkelAnime_GetFrameCount(&D_06004350.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06004350); SkelAnime_ChangeAnim(&this->skelAnime, &D_06004350, 1.0f, 0, frameCount, 0, -8.0f); func_80AED5DC(this); this->action = 32; @@ -1693,14 +1686,14 @@ void func_80AEE7C4(EnRu1* this, GlobalContext* globalCtx) { } } else { if (*unk_370 > 50.0f) { - frameCount = SkelAnime_GetFrameCount(&D_06006B9C.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06006B9C); SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0, frameCount, 0, -8.0f); this->action = 31; *unk_370 = 0.0f; } } } else { - frameCount = SkelAnime_GetFrameCount(&D_06006B9C.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06006B9C); SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0, frameCount, 0, -8.0f); *unk_370 = 0.0f; } @@ -1850,7 +1843,7 @@ s32 func_80AEF0BC(EnRu1* this, GlobalContext* globalCtx) { s32 frameCount; if (gSaveContext.infTable[20] & 4) { - frameCount = SkelAnime_GetFrameCount(&D_06007534.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06007534); SkelAnime_ChangeAnim(&this->skelAnime, &D_06007534, 1.0f, 0, frameCount, 2, -8.0f); globalCtx->msgCtx.msgMode = 0x37; this->action = 26; @@ -1876,8 +1869,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.genericHeader), 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06006B9C, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06006B9C), 0, 0.0f); func_80106CCC(globalCtx); gSaveContext.infTable[20] |= 8; func_80AED6DC(this, globalCtx); @@ -1985,7 +1977,7 @@ void func_80AEF624(EnRu1* this, GlobalContext* globalCtx) { s16 newRotTmp; if (func_80AEAFE0(globalCtx, 1, 3)) { - frameCount = SkelAnime_GetFrameCount(&D_060063F4.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_060063F4); // this weird part with the redundant variable is necessary to match for some reason csCmdNPCAction2 = globalCtx->csCtx.npcActions[3]; csCmdNPCAction = csCmdNPCAction2; @@ -2011,8 +2003,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.genericHeader), 0, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06003608, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06003608), 0, 0.0f); func_80AEB3CC(this); this->action = 38; } @@ -2020,16 +2011,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.genericHeader), - 2, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06002EC0, 1.0f, 0, SkelAnime_GetFrameCount(&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.genericHeader), - 0, -8.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060097B8, 1.0f, 0, SkelAnime_GetFrameCount(&D_060097B8), 0, -8.0f); this->action = 40; } } @@ -2264,8 +2253,8 @@ void EnRu1_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06012700, NULL, &this->limbDrawTable, &this->transitionDrawTable, - 17); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06012700, NULL, this->limbDrawTable, this->transitionDrawTable, + 17); func_80AEAD20(this, globalCtx); switch (func_80AEADF0(this)) { case 0: @@ -2315,7 +2304,7 @@ void func_80AF0278(EnRu1* this, GlobalContext* globalCtx, s32 limbIndex, Vec3s* } } -s32 EnRu1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, EnRu1* thisx, +s32 EnRu1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx) { EnRu1* this = THIS; @@ -2327,7 +2316,7 @@ s32 EnRu1_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnRu1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnRu1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) { EnRu1* this = THIS; Vec3f vec1; Vec3f vec2; @@ -2335,12 +2324,12 @@ void EnRu1_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve if (limbIndex == 15) { vec1 = sMultVec; Matrix_MultVec3f(&vec1, &vec2); - thisx->posRot2.pos.x = vec2.x; - thisx->posRot2.pos.y = vec2.y; - thisx->posRot2.pos.z = vec2.z; - thisx->posRot2.rot.x = thisx->posRot.rot.x; - thisx->posRot2.rot.y = thisx->posRot.rot.y; - thisx->posRot2.rot.z = thisx->posRot.rot.z; + this->actor.posRot2.pos.x = vec2.x; + this->actor.posRot2.pos.y = vec2.y; + this->actor.posRot2.pos.z = vec2.z; + this->actor.posRot2.rot.x = this->actor.posRot.rot.x; + this->actor.posRot2.rot.y = this->actor.posRot.rot.y; + this->actor.posRot2.rot.z = this->actor.posRot.rot.z; } } @@ -2366,8 +2355,8 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - EnRu1_OverrideLimbDraw, EnRu1_PostLimbDraw, &this->actor, POLY_OPA_DISP); + POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + EnRu1_OverrideLimbDraw, EnRu1_PostLimbDraw, this, POLY_OPA_DISP); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru1.c", 1309); } @@ -2391,8 +2380,8 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - EnRu1_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, 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_Ru2/z_en_ru2.c b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c index 659db00c01..5e084acb10 100644 --- a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c +++ b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c @@ -84,7 +84,7 @@ const ActorInit En_Ru2_InitVars = { }; extern AnimationHeader D_060004CC; -extern SkeletonHeader D_0600C700; +extern FlexSkeletonHeader D_0600C700; extern AnimationHeader D_0600D3DC; extern AnimationHeader D_0600DCAC; extern AnimationHeader D_06000DE8; @@ -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->genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(animation); f32 playbackSpeed; f32 unk0; f32 fc; @@ -310,8 +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->genericHeader), 2, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f, SkelAnime_GetFrameCount(animation), 2, 0.0f); this->action = 4; } } @@ -485,8 +484,8 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - NULL, NULL, NULL, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + NULL, NULL, NULL, POLY_XLU_DISP); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru2_inKenjyanomaDemo02.c", 291); } @@ -770,8 +769,8 @@ void EnRu2_Init(Actor* thisx, GlobalContext* globalCtx) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f); func_80AF2550(thisx, globalCtx); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600C700, NULL, &this->limbDrawTable, &this->transitionDrawTable, - 23); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600C700, NULL, &this->limbDrawTable, &this->transitionDrawTable, + 23); switch (func_80AF26A0(this)) { case 2: @@ -810,8 +809,8 @@ void func_80AF3F20(EnRu2* this, GlobalContext* globalCtx) { gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]); - SkelAnime_DrawSV(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL, - &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, NULL, NULL, + this); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru2.c", 663); } 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 057778140d..82e9d2e0fd 100644 --- a/src/overlays/actors/ovl_En_Sb/z_en_sb.c +++ b/src/overlays/actors/ovl_En_Sb/z_en_sb.c @@ -70,7 +70,7 @@ typedef enum { /* 0x04 */ SHELLBLADE_BOUNCE, } ShellbladeBehavior; -extern SkeletonHeader D_06002BF0; +extern FlexSkeletonHeader D_06002BF0; extern AnimationHeader D_06000194; extern AnimationHeader D_0600004C; extern AnimationHeader D_06000124; @@ -83,7 +83,7 @@ void EnSb_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->actor, sInitChain); this->actor.colChkInfo.damageTable = &sDamageTable; this->actor.colChkInfo.health = 2; - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06002BF0, &D_06000194, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002BF0, &D_06000194, NULL, NULL, 0); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder_Set3(globalCtx, &this->collider, &this->actor, &sCylinderInit); this->isDead = false; @@ -115,29 +115,26 @@ 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.genericHeader), 2, - 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600004C, 1.0f, 0, SkelAnime_GetFrameCount(&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.genericHeader), 2, - 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06000194, 1.0f, 0, SkelAnime_GetFrameCount(&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.genericHeader), 0, - 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06002C8C, 1.0f, 0, SkelAnime_GetFrameCount(&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.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&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); @@ -147,17 +144,16 @@ void EnSb_SetupLunge(EnSb* this) { } void EnSb_SetupBounce(EnSb* this) { - SkelAnime_ChangeAnim(&this->skelAnime, &D_060000B4, 1.0f, 0, SkelAnime_GetFrameCount(&D_060000B4.genericHeader), 2, - 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060000B4, 1.0f, 0, SkelAnime_GetFrameCount(&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.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_0600004C); if (this->behavior != SHELLBLADE_WAIT_CLOSED) { - SkelAnime_ChangeAnim(&this->skelAnime, &D_0600004C.genericHeader, 1.0f, 0, frameCount, 2, 0.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_0600004C, 1.0f, 0, frameCount, 2, 0.0f); } this->behavior = SHELLBLADE_WAIT_CLOSED; if (changeSpeed) { @@ -189,7 +185,7 @@ void EnSb_WaitClosed(EnSb* this, GlobalContext* globalCtx) { void EnSb_Open(EnSb* this, GlobalContext* globalCtx) { f32 currentFrame = this->skelAnime.animCurrentFrame; - if (SkelAnime_GetFrameCount(&D_06000194.genericHeader) <= currentFrame) { + if (SkelAnime_GetFrameCount(&D_06000194) <= currentFrame) { this->timer = 15; EnSb_SetupWaitOpen(this); } else { @@ -260,7 +256,7 @@ void EnSb_Bounce(EnSb* this, GlobalContext* globalCtx) { f32 frameCount; currentFrame = this->skelAnime.animCurrentFrame; - frameCount = SkelAnime_GetFrameCount(&D_060000B4.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_060000B4); Math_ApproxF(&this->actor.speedXZ, 0.0f, 0.2f); if (currentFrame == frameCount) { @@ -445,7 +441,7 @@ void EnSb_Update(Actor* thisx, GlobalContext* globalCtx) { } } -void EnSb_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnSb_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnSb* this = THIS; func_80032F54(&this->unk_1E0, limbIndex, 0, 6, 8, dList, -1); @@ -458,8 +454,8 @@ void EnSb_Draw(Actor* thisx, GlobalContext* globalCtx) { s16 fireDecr; func_8002EBCC(&this->actor, globalCtx, 1); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, NULL, - EnSb_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, + NULL, EnSb_PostLimbDraw, this); if (this->fire != 0) { this->actor.dmgEffectTimer++; fireDecr = this->fire - 1; 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 b6b61feb9e..b9e3d513fb 100644 --- a/src/overlays/actors/ovl_En_St/z_en_st.c +++ b/src/overlays/actors/ovl_En_St/z_en_st.c @@ -1045,6 +1045,6 @@ void EnSt_Draw(Actor* thisx, GlobalContext* globalCtx) { EnSt_CheckBodyStickHit(this, globalCtx); func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnSt_OverrideLimbDraw, - EnSt_PostLimbDraw, this); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnSt_OverrideLimbDraw, + EnSt_PostLimbDraw, this); } 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 b49dd2dcdd..b4342056e2 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 @@ -30,7 +30,7 @@ void func_80B131B8(EnSyatekiNiw* this, Vec3f* arg1, Vec3f* arg2, Vec3f* arg3, f3 extern AnimationHeader D_060000E8; extern Gfx D_060023B0[]; extern Gfx D_06002428[]; -extern SkeletonHeader D_06002530; +extern FlexSkeletonHeader D_06002530; const ActorInit En_Syateki_Niw_InitVars = { ACTOR_EN_SYATEKI_NIW, @@ -62,8 +62,8 @@ 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_InitSV(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable, - this->transitionDrawTable, 16); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06002530, &D_060000E8, this->limbDrawTable, + this->transitionDrawTable, 16); this->unk_29E = this->actor.params; if (this->unk_29E < 0) { @@ -200,8 +200,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.genericHeader), - 0, -10.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060000E8), 0, -10.0f); if (this->unk_29E != 0) { Actor_SetScale(&this->actor, this->unk_2F4); } @@ -340,8 +339,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.genericHeader), - 0, -10.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_060000E8, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_060000E8), 0, -10.0f); this->unk_27C = 6000.0f; this->unk_288 = -10000.0f; this->unk_2B0.z = 6000.0f; @@ -663,7 +661,7 @@ void EnSyatekiNiw_Update(Actor* thisx, GlobalContext* globalCtx) { } s32 SyatekiNiw_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnSyatekiNiw* this = THIS; Vec3f sp0 = { 0.0f, 0.0f, 0.0f }; @@ -696,8 +694,8 @@ void EnSyatekiNiw_Draw(Actor* thisx, GlobalContext* globalCtx) { func_80026230(globalCtx, &sp30, 0, 0x14); } - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - SyatekiNiw_OverrideLimbDraw, NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, + this->skelAnime.dListCount, SyatekiNiw_OverrideLimbDraw, NULL, this); func_80026608(globalCtx); func_80B13464(this, globalCtx); } 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 990394db35..0fdb4434f1 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 @@ -37,7 +37,7 @@ const ActorInit En_Takara_Man_InitVars = { static u8 sTakaraIsInitialized = false; -extern SkeletonHeader D_06004FE0; +extern FlexSkeletonHeader D_06004FE0; extern AnimationHeader D_06000498; void EnTakaraMan_Destroy(Actor* thisx, GlobalContext* globalCtx) { @@ -58,8 +58,8 @@ 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_InitSV(globalCtx, &this->skelAnime, &D_06004FE0, &D_06000498, this->limbDrawTbl, this->transitionDrawTbl, - 10); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06004FE0, &D_06000498, this->limbDrawTbl, + this->transitionDrawTbl, 10); thisx->posRot2.pos = thisx->posRot.pos; this->pos = thisx->posRot.pos; thisx->posRot.pos.x = 133.0f; @@ -75,7 +75,7 @@ void EnTakaraMan_Init(Actor* thisx, GlobalContext* globalCtx) { } void func_80B176E0(EnTakaraMan* this, GlobalContext* globalCtx) { - f32 frameCount = SkelAnime_GetFrameCount(&D_06000498.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06000498); SkelAnime_ChangeAnim(&this->skelAnime, &D_06000498, 1.0f, 0.0f, (s16)frameCount, 0, -10.0f); if (!this->unk_214) { @@ -202,7 +202,7 @@ void EnTakaraMan_Update(Actor* thisx, GlobalContext* globalCtx) { } s32 EnTakaraMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnTakaraMan* this = THIS; if (limbIndex == 1) { @@ -227,8 +227,8 @@ void EnTakaraMan_Draw(Actor* thisx, GlobalContext* globalCtx) { func_80093D18(globalCtx->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTakaraEyeTextures[this->eyeTextureIdx])); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnTakaraMan_OverrideLimbDraw, NULL, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c index 83c131e658..5a73310c66 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -37,7 +37,7 @@ extern UNK_TYPE D_06004B40; extern Gfx D_0600ACE0[]; extern Gfx D_0600BC90[]; extern Gfx D_0600BCA0[]; -extern SkeletonHeader D_0600BE40; +extern FlexSkeletonHeader D_0600BE40; const ActorInit En_Tk_InitVars = { ACTOR_EN_TK, @@ -170,7 +170,7 @@ static CollisionCheckInfoInit2 sColChkInfoInit = { void EnTk_RestAnim(EnTk* this, GlobalContext* globalCtx) { AnimationHeader* anim = &D_06002F84; - SkelAnime_ChangeAnim(&this->skelAnim, anim, 1.f, 0.f, SkelAnime_GetFrameCount(&D_06002F84.genericHeader), 0, -10.f); + SkelAnime_ChangeAnim(&this->skelAnim, anim, 1.f, 0.f, SkelAnime_GetFrameCount(&D_06002F84), 0, -10.f); this->actionCountdown = Math_Rand_S16Offset(60, 60); this->actor.speedXZ = 0.f; @@ -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.f, 0.f, SkelAnime_GetFrameCount(&D_06002F84.genericHeader), 0, -10.f); + SkelAnime_ChangeAnim(&this->skelAnim, anim, 1.f, 0.f, SkelAnime_GetFrameCount(&D_06002F84), 0, -10.f); this->actionCountdown = Math_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.f, 0.f, SkelAnime_GetFrameCount(&D_06001144.genericHeader), 0, -10.f); + SkelAnime_ChangeAnim(&this->skelAnim, anim, 1.f, 0.f, SkelAnime_GetFrameCount(&D_06001144), 0, -10.f); if (EnTk_CheckNextSpot(this, globalCtx) >= 0) { this->validDigHere = 1; @@ -285,7 +285,7 @@ f32 EnTk_Step(EnTk* this, GlobalContext* globalCtx) { Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_WALK); } - if (this->skelAnim.animCurrentSeg != &D_06001FA8) { + if (this->skelAnim.animation != &D_06001FA8) { return 0.f; } @@ -487,9 +487,8 @@ void EnTk_Init(Actor* thisx, GlobalContext* globalCtx) { ActorShape_Init(&this->actor.shape, 0, ActorShadow_DrawFunc_Circle, 24.f); - SkelAnime_InitSV(globalCtx, &this->skelAnim, &D_0600BE40, NULL, this->hz_22A, this->hz_296, 18); - SkelAnime_ChangeAnim(&this->skelAnim, &D_06002F84, 1.f, 0.f, SkelAnime_GetFrameCount(&D_06002F84.genericHeader), 0, - 0.f); + SkelAnime_InitFlex(globalCtx, &this->skelAnim, &D_0600BE40, NULL, this->hz_22A, this->hz_296, 18); + SkelAnime_ChangeAnim(&this->skelAnim, &D_06002F84, 1.f, 0.f, SkelAnime_GetFrameCount(&D_06002F84), 0, 0.f); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); @@ -688,7 +687,7 @@ void func_80B1D200(GlobalContext* globalCtx) { CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_tk.c", 1190); } -s32 EnTk_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnTk_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnTk* this = THIS; switch (limbIndex) { @@ -706,7 +705,7 @@ s32 EnTk_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnTk_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnTk_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnTk* this = THIS; Vec3f sp28 = { 0.f, 0.f, 4600.f }; Vec3f sp1C = { 0.f, 0.f, 0.f }; @@ -741,8 +740,8 @@ void EnTk_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeImageIdx])); - SkelAnime_DrawSV(globalCtx, this->skelAnim.skeleton, this->skelAnim.limbDrawTbl, this->skelAnim.dListCount, - EnTk_OverrideLimbDraw, EnTk_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnim.skeleton, this->skelAnim.limbDrawTbl, this->skelAnim.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 5e08655d8f..7887057000 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.h +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.h @@ -43,8 +43,8 @@ typedef struct EnTk { /* 0x0224 */ s16 blinkCountdown; /* 0x0226 */ s16 headRot; /* 0x0228 */ s16 currentWaypoint; - /* 0x022A */ u16 hz_22A[54]; - /* 0x022A */ u16 hz_296[55]; + /* 0x022A */ Vec3s hz_22A[18]; + /* 0x0296 */ Vec3s hz_296[18]; /* 0x0304 */ Vec3f v3f_304; /* 0x0310 */ EnTkEff eff[20]; } EnTk; // size = 0x0770 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 fb1a802d96..1ebe1c610d 100644 --- a/src/overlays/actors/ovl_En_Vm/z_en_vm.c +++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.c @@ -408,7 +408,7 @@ void EnVm_Update(Actor* thisx, GlobalContext* globalCtx) { this->actor.posRot2.pos.y += (6500.0f + this->actor.shape.unk_08) * this->actor.scale.y; } -s32 EnVm_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 EnVm_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnVm* this = THIS; if (limbIndex == 2) { @@ -423,7 +423,7 @@ s32 EnVm_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, return 0; } -void EnVm_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnVm_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnVm* this = THIS; Vec3f sp80 = D_80B2EAF8; Vec3f sp74 = D_80B2EB04; @@ -481,8 +481,8 @@ void EnVm_Draw(Actor* thisx, GlobalContext* globalCtx) { func_80093D18(globalCtx->state.gfxCtx); func_80093D84(globalCtx->state.gfxCtx); - SkelAnime_Draw(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, EnVm_OverrideLimbDraw, - EnVm_PostLimbDraw, &this->actor); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c index ee88735ce8..a0d3e2e3d3 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -79,7 +79,7 @@ static InitChainEntry sInitChain[] = { extern AnimationHeader D_06000EA4; extern AnimationHeader D_06000590; extern AnimationHeader D_0600299C; -extern SkeletonHeader D_06008FB0; +extern FlexSkeletonHeader D_06008FB0; extern AnimationHeader D_06009DB0; extern AnimationHeader D_060019CC; extern AnimationHeader D_06009520; @@ -93,8 +93,8 @@ void EnWallmas_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(thisx, sInitChain); ActorShape_Init(&thisx->shape, 0, NULL, 0.5f); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, &this->unkSkelAnimeStruct, &this->unk_22e, - 0x19); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06008FB0, &D_06009DB0, &this->unkSkelAnimeStruct, &this->unk_22e, + 25); Collider_InitCylinder(globalCtx, &this->collider); Collider_SetCylinder(globalCtx, &this->collider, thisx, &sCylinderInit); @@ -581,7 +581,7 @@ void EnWallmas_DrawXlu(EnWallmas* this, GlobalContext* globalCtx) { } s32 EnWallMas_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx) { + void* thisx) { EnWallmas* this = THIS; if (limbIndex == 1) { @@ -595,7 +595,7 @@ s32 EnWallMas_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL return 0; } -void EnWallMas_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) { +void EnWallMas_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { if (limbIndex == 2) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_wallmas.c", 1478); @@ -619,8 +619,8 @@ void EnWallmas_Draw(Actor* thisx, GlobalContext* globalCtx) { if (this->actionFunc != EnWallmas_WaitToDrop) { func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - EnWallMas_OverrideLimbDraw, EnWallMas_PostLimbDraw, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, + this->skelAnime.dListCount, EnWallMas_OverrideLimbDraw, EnWallMas_PostLimbDraw, this); } EnWallmas_DrawXlu(this, globalCtx); 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 e85cebf309..234c304f69 100644 --- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c +++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c @@ -50,7 +50,7 @@ static UNK_PTR D_80B4E62C[] = { 0x06007608 }; extern AnimationHeader D_06000438; extern UNK_TYPE D_06008848; extern UNK_TYPE D_06008C48; -extern SkeletonHeader D_0600F5D8; +extern FlexSkeletonHeader D_0600F5D8; extern AnimationHeader D_06010B38; extern AnimationHeader D_06011348; extern AnimationHeader D_060116E4; @@ -71,8 +71,8 @@ void EnZl1_Init(Actor* thisx, GlobalContext* globalCtx) { f32 frameCount; EnZl1* this = THIS; - frameCount = SkelAnime_GetFrameCount(&D_06012118.genericHeader); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600F5D8, NULL, NULL, NULL, 0); + frameCount = SkelAnime_GetFrameCount(&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); Collider_InitCylinder(globalCtx, &this->collider); @@ -82,7 +82,7 @@ void EnZl1_Init(Actor* thisx, GlobalContext* globalCtx) { this->actor.unk_1F = 0; if (gSaveContext.sceneSetupIndex >= 4) { - frameCount = SkelAnime_GetFrameCount(&D_06000438.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06000438); SkelAnime_ChangeAnim(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f); this->unk_1E6 = 0; this->actionFunc = func_80B4BC78; @@ -90,12 +90,12 @@ void EnZl1_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_Kill(&this->actor); } else if (((Flags_GetEventChkInf(9)) && (Flags_GetEventChkInf(0x25))) || ((Flags_GetEventChkInf(9)) && (Flags_GetEventChkInf(0x37)))) { - frameCount = SkelAnime_GetFrameCount(&D_06000438.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06000438); SkelAnime_ChangeAnim(&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.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06000438); SkelAnime_ChangeAnim(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f); this->actor.textId = 0x703C; this->actionFunc = func_80B4AF18; @@ -113,7 +113,7 @@ void EnZl1_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void func_80B4AE18(EnZl1* this) { - if ((this->skelAnime.animCurrentSeg == &D_06010B38) && (this->skelAnime.animCurrentFrame < 26.0f)) { + if ((this->skelAnime.animation == &D_06010B38) && (this->skelAnime.animCurrentFrame < 26.0f)) { this->unk_1F4 = &D_06008C48; this->unk_1F8 = &D_06008848; this->unk_1FC = 2; @@ -152,7 +152,7 @@ void func_80B4AF18(EnZl1* this, GlobalContext* globalCtx) { void func_80B4B010(EnZl1* this, GlobalContext* globalCtx) { Player* player = PLAYER; s32 pad2; - AnimationHeader* animationHeader; + s32 pad3; s32 pad; Vec3f vec1 = { -460.0f, 118.0f, 0.0f }; Vec3f vec2 = { -406.0f, 110.0f, 0.0f }; @@ -160,9 +160,8 @@ void func_80B4B010(EnZl1* this, GlobalContext* globalCtx) { s16 rotDiff; if (func_8002F194(&this->actor, globalCtx)) { - animationHeader = &D_06010B38; - SkelAnime_ChangeAnim(&this->skelAnime, animationHeader, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&animationHeader->genericHeader), 3, -10.0f); + SkelAnime_ChangeAnim(&this->skelAnime, &D_06010B38, 1.0f, 0.0f, SkelAnime_GetFrameCount(&D_06010B38), 3, + -10.0f); this->unk_1E8 = Gameplay_CreateSubCamera(globalCtx); Gameplay_ChangeCameraStatus(globalCtx, 0, 1); Gameplay_ChangeCameraStatus(globalCtx, this->unk_1E8, 7); @@ -198,7 +197,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { u8 sp54[] = { 0x00, 0x00, 0x02 }; s32 pad2; Player* player = PLAYER; - AnimationHeader* animationHeader; + AnimationHeader* animHeaderSeg; MessageContext* msgCtx = &globalCtx->msgCtx; f32 frameCount; s32 sp3C = 0; @@ -215,7 +214,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { } break; case 64: - animationHeader = &D_06011348; + animHeaderSeg = &D_06011348; sp3C = 1; this->actor.textId = 0x702E; func_8010B680(globalCtx, this->actor.textId, NULL); @@ -237,20 +236,20 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { case 2: if ((func_8010BDBC(msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) { if (msgCtx->choiceIndex == 0) { - animationHeader = &D_06013F10; + animHeaderSeg = &D_06013F10; sp3C = 2; this->unk_1E2++; } else { - animationHeader = &D_060116E4; + animHeaderSeg = &D_060116E4; sp3C = 2; this->unk_1E2 = 6; } } break; case 3: - frameCount = SkelAnime_GetFrameCount(&D_06013F10.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_06013F10); if (this->skelAnime.animCurrentFrame == frameCount) { - animationHeader = &D_060143A8; + animHeaderSeg = &D_060143A8; sp3C = 1; this->actor.textId = 0x7032; func_8010B720(globalCtx, this->actor.textId); @@ -260,7 +259,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { case 4: if ((func_8010BDBC(msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) { if (msgCtx->choiceIndex == 0) { - animationHeader = &D_060132D8; + animHeaderSeg = &D_060132D8; sp3C = 2; this->unk_1E2 = 9; } else { @@ -278,9 +277,9 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { } break; case 6: - frameCount = SkelAnime_GetFrameCount(&D_060116E4.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_060116E4); if (this->skelAnime.animCurrentFrame == frameCount) { - animationHeader = &D_06011B88; + animHeaderSeg = &D_06011B88; sp3C = 1; this->actor.textId = 0x7031; func_8010B720(globalCtx, this->actor.textId); @@ -297,7 +296,7 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { case 8: if ((func_8010BDBC(msgCtx) == 4) && (func_80106BC8(globalCtx) != 0)) { if (msgCtx->choiceIndex == 0) { - animationHeader = &D_060138E0; + animHeaderSeg = &D_060138E0; sp3C = 2; this->unk_1E2 = 3; } else { @@ -308,9 +307,9 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { } break; case 9: - frameCount = SkelAnime_GetFrameCount(&D_060132D8.genericHeader); + frameCount = SkelAnime_GetFrameCount(&D_060132D8); if (this->skelAnime.animCurrentFrame == frameCount) { - animationHeader = &D_06000438; + animHeaderSeg = &D_06000438; sp3C = 1; globalCtx->csCtx.segment = D_80B4C5D0; gSaveContext.cutsceneTrigger = 1; @@ -320,8 +319,8 @@ void func_80B4B240(EnZl1* this, GlobalContext* globalCtx) { break; } if (sp3C != 0) { - frameCount = SkelAnime_GetFrameCount(&animationHeader->genericHeader); - SkelAnime_ChangeAnim(&this->skelAnime, animationHeader, 1.0f, 0.0f, frameCount, sp54[sp3C], -10.0f); + frameCount = SkelAnime_GetFrameCount(animHeaderSeg); + SkelAnime_ChangeAnim(&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); } @@ -380,7 +379,7 @@ void func_80B4B8B4(EnZl1* this, GlobalContext* globalCtx) { this->actor.posRot.pos = sp48; } if (this->unk_1E6 != npcAction->action) { - frameCount = SkelAnime_GetFrameCount(&spB0[npcAction->action]->genericHeader); + frameCount = SkelAnime_GetFrameCount(spB0[npcAction->action]); SkelAnime_ChangeAnim(&this->skelAnime, spB0[npcAction->action], 1.0f, 0.0f, frameCount, spA4[npcAction->action], -10.0f); this->unk_1E6 = npcAction->action; @@ -404,7 +403,7 @@ void func_80B4B8B4(EnZl1* this, GlobalContext* globalCtx) { void func_80B4BBC4(EnZl1* this, GlobalContext* globalCtx) { s32 pad; - f32 frameCount = SkelAnime_GetFrameCount(&D_06000438.genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(&D_06000438); Player* player = PLAYER; SkelAnime_ChangeAnim(&this->skelAnime, &D_06000438, 1.0f, 0.0f, frameCount, 0, 0.0f); @@ -433,8 +432,8 @@ void func_80B4BC78(EnZl1* this, GlobalContext* globalCtx) { s32 pad; f32 frameCount; - if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) && (this->skelAnime.animCurrentSeg == &D_06010B38)) { - frameCount = SkelAnime_GetFrameCount(&D_06011348.genericHeader); + 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); } func_80B4B874(this, globalCtx); @@ -447,7 +446,7 @@ void func_80B4BC78(EnZl1* this, GlobalContext* globalCtx) { } if (this->unk_1E6 != npcAction->action) { - frameCount = SkelAnime_GetFrameCount(&sp90[npcAction->action]->genericHeader); + frameCount = SkelAnime_GetFrameCount(sp90[npcAction->action]); SkelAnime_ChangeAnim(&this->skelAnime, sp90[npcAction->action], 1.0f, 0.0f, frameCount, sp84[npcAction->action], -10.0f); this->unk_1E6 = npcAction->action; @@ -562,7 +561,7 @@ void EnZl1_Update(Actor* thisx, GlobalContext* globalCtx) { func_80B4AE18(this); } -s32 func_80B4C340(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) { +s32 func_80B4C340(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnZl1* this = THIS; if ((limbIndex == 4) || (limbIndex == 3) || (limbIndex == 6) || (limbIndex == 5)) { @@ -583,11 +582,12 @@ s32 func_80B4C340(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p return 0; } -void func_80B4C400(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* this) { +void func_80B4C400(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { Vec3f vec = { 0.0f, 0.0f, 0.0f }; + EnZl1* this = THIS; if (limbIndex == 17) { - Matrix_MultVec3f(&vec, &this->posRot2.pos); + Matrix_MultVec3f(&vec, &this->actor.posRot2.pos); } } @@ -601,8 +601,8 @@ void EnZl1_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(this->unk_1EC)); func_80093D18(globalCtx->state.gfxCtx); - SkelAnime_DrawSV(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, - func_80B4C340, func_80B4C400, &this->actor); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, 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 e2e1c78888..515243ee36 100644 --- a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c +++ b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c @@ -18,8 +18,7 @@ void EnZl2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnZl2_Update(Actor* thisx, GlobalContext* globalCtx); void EnZl2_Draw(Actor* thisx, GlobalContext* globalCtx); -s32 func_80B4F45C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, - Gfx** gfx); +s32 func_80B4F45C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx); void func_80B50BBC(EnZl2* this, GlobalContext* globalCtx); void func_80B50BEC(EnZl2* this, GlobalContext* globalCtx); @@ -80,7 +79,7 @@ static EnZl2ActionFunc sActionFuncs[] = { func_80B51C0C, func_80B51C64, func_80B51CA8, func_80B52068, func_80B52098, func_80B52108, }; -static EnZl2PreLimbDrawFunc sOverrideLimbDrawFuncs[] = { +static OverrideLimbDraw sOverrideLimbDrawFuncs[] = { func_80B4F45C, }; @@ -129,7 +128,7 @@ extern AnimationHeader D_0600AFE0; extern AnimationHeader D_0600B224; extern AnimationHeader D_0600B5FC; extern Gfx D_0600BAE8[]; -extern SkeletonHeader D_06010D70; +extern FlexSkeletonHeader D_06010D70; void EnZl2_Destroy(Actor* thisx, GlobalContext* globalCtx) { EnZl2* this = THIS; @@ -477,7 +476,7 @@ void func_80B4F230(EnZl2* this, s16 arg1, s32 arg2) { this->unk_20C[arg2] = arg1; } -s32 func_80B4F45C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, +s32 func_80B4F45C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx) { s32 pad; EnZl2* this = THIS; @@ -577,7 +576,7 @@ s32 func_80B4F45C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p return 0; } -void EnZl2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnZl2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) { EnZl2* this = THIS; s32 pad[2]; @@ -610,7 +609,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->genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(animation); f32 playbackSpeed; f32 unk0; f32 fc; @@ -1622,7 +1621,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.genericHeader); + this->unk_278 = SkelAnime_GetFrameCount(&D_060022D0); func_80B52114(this, globalCtx); } } @@ -1644,7 +1643,7 @@ void EnZl2_Init(Actor* thisx, GlobalContext* globalCtx) { ActorShape_Init(actorShape, 0.0f, ActorShadow_DrawFunc_Circle, 30.0f); actorShape->unk_14 = 0; - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06010D70, NULL, NULL, NULL, 0); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06010D70, NULL, NULL, NULL, 0); switch (thisx->params) { case 1: @@ -1656,7 +1655,7 @@ void EnZl2_Init(Actor* thisx, GlobalContext* globalCtx) { } } -s32 EnZl2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, +s32 EnZl2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx) { EnZl2* this = THIS; @@ -1692,8 +1691,8 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - EnZl2_OverrideLimbDraw, EnZl2_PostLimbDraw, &this->actor, POLY_OPA_DISP); + POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + EnZl2_OverrideLimbDraw, EnZl2_PostLimbDraw, this, POLY_OPA_DISP); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1648); } @@ -1717,8 +1716,8 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - EnZl2_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, 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_Zl2/z_en_zl2.h b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.h index 6ec9d637a7..8ec5162571 100644 --- a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.h +++ b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.h @@ -7,8 +7,6 @@ struct EnZl2; typedef void (*EnZl2ActionFunc)(struct EnZl2*, GlobalContext*); -typedef s32 (*EnZl2PreLimbDrawFunc)(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, - Actor* thisx, Gfx** gfx); typedef void (*EnZl2DrawFunc)(struct EnZl2*, GlobalContext*); typedef struct EnZl2 { 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 c4b9ebea60..81eb9bc27b 100644 --- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c +++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c @@ -52,6 +52,7 @@ Vec3f D_80B5A4B0 = { 42.0f, 260.0f, 13.0f }; u32 D_80B5A4BC = 0; +extern FlexSkeletonHeader D_06010D70; extern AnimationHeader D_060001D8; extern AnimationHeader D_060004F4; extern AnimationHeader D_060014DC; @@ -83,7 +84,6 @@ extern AnimationHeader D_06009FBC; extern AnimationHeader D_0600A334; extern AnimationHeader D_0600A598; extern AnimationHeader D_0600AACC; -extern SkeletonHeader D_06010D70; extern AnimationHeader D_06001110; extern AnimationHeader D_06001D8C; extern AnimationHeader D_06002348; @@ -618,7 +618,7 @@ void func_80B54360(EnZl3* this, s16 arg1, s32 arg2) { this->unk_2BC[arg2] = arg1; } -s32 func_80B5458C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, +s32 func_80B5458C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx) { s32 pad[3]; EnZl3* this = THIS; @@ -722,7 +722,7 @@ s32 func_80B5458C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p return 0; } -void EnZl3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx, Gfx** gfx) { +void EnZl3_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) { EnZl3* this = THIS; s32 pad; Vec3f sp34; @@ -770,7 +770,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->genericHeader); + f32 frameCount = SkelAnime_GetFrameCount(animation); f32 playbackSpeed; f32 unk0; f32 fc; @@ -1068,7 +1068,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.genericHeader), 0, + f32 temp_f0 = func_8006F9BC(SkelAnime_GetFrameCount(&D_06005248), 0, (s32)this->skelAnime.animCurrentFrame, 3, 3); thisPos->x = unk_32C->x + (temp_f0 * (unk_338->x - unk_32C->x)); @@ -2468,7 +2468,7 @@ void func_80B593D0(EnZl3* this, GlobalContext* globalCtx) { func_80B58C08(this, globalCtx); } -s32 func_80B5944C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, +s32 func_80B5944C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx) { if (limbIndex == 14) { Mtx* mtx = Graph_Alloc(globalCtx->state.gfxCtx, sizeof(Mtx) * 7); @@ -2685,8 +2685,8 @@ 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_InitSV(globalCtx, &this->skelAnime, &D_06010D70, NULL, this->limbDrawTable, this->transitionDrawTable, - 15); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06010D70, NULL, this->limbDrawTable, this->transitionDrawTable, + 15); switch (func_80B54DD4(this)) { case 1: @@ -2700,12 +2700,12 @@ void EnZl3_Init(Actor* thisx, GlobalContext* globalCtx) { osSyncPrintf("ゼルダ姫のEn_Zl3_Actor_ctは通った!!!!!!!!!!!!!!!!!!!!!!!!!\n"); } -static OverrideLimbDraw2 sOverrideLimbDrawFuncs[] = { +static OverrideLimbDraw sOverrideLimbDrawFuncs[] = { func_80B5458C, func_80B5944C, }; -s32 EnZl3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx, +s32 EnZl3_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx) { EnZl3* this = THIS; @@ -2739,8 +2739,8 @@ void func_80B59FF4(EnZl3* this, GlobalContext* globalCtx) { gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); gSPSegment(POLY_OPA_DISP++, 11, &D_80116280[2]); - POLY_OPA_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - EnZl3_OverrideLimbDraw, EnZl3_PostLimbDraw, &this->actor, POLY_OPA_DISP); + POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, + EnZl3_OverrideLimbDraw, EnZl3_PostLimbDraw, this, POLY_OPA_DISP); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_zl3.c", 2190); } @@ -2764,8 +2764,8 @@ 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_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount, - EnZl3_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP); + POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, 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_Magic_Wind/z_magic_wind.c b/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.c index ffcab2ef59..93de4486e8 100644 --- a/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.c +++ b/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.c @@ -223,7 +223,7 @@ void MagicWind_Update(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc(this, globalCtx); } -s32 MagicWind_OverrideLimbDraw(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, s32 limbIndex, Actor* thisx) { +s32 MagicWind_OverrideLimbDraw(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, s32 limbIndex, void* thisx) { MagicWind* this = THIS; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_magic_wind.c", 615); diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index a250405d54..e994ef606d 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -73,27 +73,27 @@ typedef struct { } struct_808551A4; // size = 0x04 typedef struct { - /* 0x00 */ LinkAnimetionEntry* anim; + /* 0x00 */ LinkAnimationHeader* anim; /* 0x04 */ u8 unk_04; } struct_808540F4; // size = 0x08 typedef struct { - /* 0x00 */ LinkAnimetionEntry* unk_00; - /* 0x04 */ LinkAnimetionEntry* unk_04; + /* 0x00 */ LinkAnimationHeader* unk_00; + /* 0x04 */ LinkAnimationHeader* unk_04; /* 0x08 */ u8 unk_08; /* 0x09 */ u8 unk_09; } struct_80854554; // size = 0x0C typedef struct { - /* 0x00 */ LinkAnimetionEntry* unk_00; - /* 0x04 */ LinkAnimetionEntry* unk_04; - /* 0x08 */ LinkAnimetionEntry* unk_08; + /* 0x00 */ LinkAnimationHeader* unk_00; + /* 0x04 */ LinkAnimationHeader* unk_04; + /* 0x08 */ LinkAnimationHeader* unk_08; /* 0x0C */ u8 unk_0C; /* 0x0D */ u8 unk_0D; } struct_80854190; // size = 0x10 typedef struct { - /* 0x00 */ LinkAnimetionEntry* anim; + /* 0x00 */ LinkAnimationHeader* anim; /* 0x04 */ f32 unk_04; /* 0x04 */ f32 unk_08; } struct_80854578; // size = 0x0C @@ -602,194 +602,194 @@ GetItemEntry sGetItemTable[] = { { ITEM_NONE }, }; -LinkAnimetionEntry* D_80853914[] = { +LinkAnimationHeader* D_80853914[] = { 0x04003240, 0x04003238, 0x04003238, 0x04002BE0, 0x04003240, 0x04003240, }; -LinkAnimetionEntry* D_8085392C[] = { +LinkAnimationHeader* D_8085392C[] = { 0x04003290, 0x04003268, 0x04003268, 0x04002BF8, 0x04003290, 0x04003290, }; -LinkAnimetionEntry* D_80853944[] = { +LinkAnimationHeader* D_80853944[] = { 0x04003140, 0x04002B38, 0x04003138, 0x04002B40, 0x04003140, 0x04003140, }; -LinkAnimetionEntry* D_8085395C[] = { +LinkAnimationHeader* D_8085395C[] = { 0x04002E98, 0x040029E8, 0x04002E98, 0x040029F0, 0x04002E98, 0x04002E98, }; -LinkAnimetionEntry* D_80853974[] = { +LinkAnimationHeader* D_80853974[] = { 0x04002FB0, 0x04002FA8, 0x04002FB0, 0x04002A40, 0x04002FB0, 0x04002FB0, }; -LinkAnimetionEntry* D_8085398C[] = { +LinkAnimationHeader* D_8085398C[] = { 0x04003220, 0x04002590, 0x04002590, 0x04002BC0, 0x04003220, 0x04003220, }; -LinkAnimetionEntry* D_808539A4[] = { +LinkAnimationHeader* D_808539A4[] = { 0x04003230, 0x040025D0, 0x040025D0, 0x04002BD0, 0x04003230, 0x04003230, }; -LinkAnimetionEntry* D_808539BC[] = { +LinkAnimationHeader* D_808539BC[] = { 0x04002BB0, 0x040031F8, 0x040031F8, 0x04002BB0, 0x04002BB0, 0x04002BB0, }; -LinkAnimetionEntry* D_808539D4[] = { +LinkAnimationHeader* D_808539D4[] = { 0x04003088, 0x04002A70, 0x04002A70, 0x04003088, 0x04003088, 0x04003088, }; -LinkAnimetionEntry* D_808539EC[] = { +LinkAnimationHeader* D_808539EC[] = { 0x04002750, 0x04002748, 0x04002748, 0x04002750, 0x04002750, 0x04002750, }; -LinkAnimetionEntry* D_80853A04[] = { +LinkAnimationHeader* D_80853A04[] = { 0x04002330, 0x04002330, 0x04002330, 0x04002330, 0x04002330, 0x04002330, }; -LinkAnimetionEntry* D_80853A1C[] = { +LinkAnimationHeader* D_80853A1C[] = { 0x04002760, 0x04002758, 0x04002758, 0x04002760, 0x04002760, 0x04002760, }; -LinkAnimetionEntry* D_80853A34[] = { +LinkAnimationHeader* D_80853A34[] = { 0x04002338, 0x04002338, 0x04002338, 0x04002338, 0x04002338, 0x04002338, }; -LinkAnimetionEntry* D_80853A4C[] = { +LinkAnimationHeader* D_80853A4C[] = { 0x04002E08, 0x04002E00, 0x04002E00, 0x04002E08, 0x04002E08, 0x04002E08, }; -LinkAnimetionEntry* D_80853A64[] = { +LinkAnimationHeader* D_80853A64[] = { 0x04003028, 0x04003020, 0x04003020, 0x04003028, 0x04003028, 0x04003028, }; -LinkAnimetionEntry* D_80853A7C[] = { +LinkAnimationHeader* D_80853A7C[] = { 0x04003170, 0x04003168, 0x04003168, 0x04003170, 0x04003170, 0x04003170, }; -LinkAnimetionEntry* D_80853A94[] = { +LinkAnimationHeader* D_80853A94[] = { 0x04003038, 0x04003030, 0x04003030, 0x04002A68, 0x04003038, 0x04003038, }; -LinkAnimetionEntry* D_80853AAC[] = { +LinkAnimationHeader* D_80853AAC[] = { 0x04002FC0, 0x04002FB8, 0x04002FB8, 0x04002FC8, 0x04002FC0, 0x04002FC0, }; -LinkAnimetionEntry* D_80853AC4[] = { +LinkAnimationHeader* D_80853AC4[] = { 0x04003278, 0x04003270, 0x04003270, 0x04002BE8, 0x04003278, 0x04003278, }; -LinkAnimetionEntry* D_80853ADC[] = { +LinkAnimationHeader* D_80853ADC[] = { 0x04003288, 0x04003280, 0x04003280, 0x04002BF0, 0x04003288, 0x04003288, }; -LinkAnimetionEntry* D_80853AF4[] = { +LinkAnimationHeader* D_80853AF4[] = { 0x04002EB8, 0x04002EA0, 0x04002EA0, 0x04002EB8, 0x040026C8, 0x04002EB8, }; -LinkAnimetionEntry* D_80853B0C[] = { +LinkAnimationHeader* D_80853B0C[] = { 0x04002ED8, 0x04002ED0, 0x04002ED0, 0x04002ED8, 0x040026D0, 0x04002ED8, }; -LinkAnimetionEntry* D_80853B24[] = { +LinkAnimationHeader* D_80853B24[] = { 0x04002EB0, 0x04002EA8, 0x04002EA8, 0x04002EB0, 0x04002EB0, 0x04002EB0, }; -LinkAnimetionEntry* D_80853B3C[] = { +LinkAnimationHeader* D_80853B3C[] = { 0x04003190, 0x04003188, 0x04003188, 0x04002B68, 0x04003190, 0x04003190, }; -LinkAnimetionEntry* D_80853B54[] = { +LinkAnimationHeader* D_80853B54[] = { 0x04003178, 0x04002568, 0x04002568, 0x04002B58, 0x04003178, 0x04003178, }; -LinkAnimetionEntry* D_80853B6C[] = { +LinkAnimationHeader* D_80853B6C[] = { 0x04003180, 0x04002570, 0x04002570, 0x04002B60, 0x04003180, 0x04003180, }; -LinkAnimetionEntry* D_80853B84[] = { +LinkAnimationHeader* D_80853B84[] = { 0x04002D60, 0x04002D58, 0x04002D58, 0x04002D60, 0x04002D60, 0x04002D60, }; -LinkAnimetionEntry* D_80853B9C[] = { +LinkAnimationHeader* D_80853B9C[] = { 0x04002BB8, 0x04003218, 0x04003218, 0x04002BB8, 0x04002BB8, 0x04002BB8, }; -LinkAnimetionEntry* D_80853BB4[] = { +LinkAnimationHeader* D_80853BB4[] = { 0x04002BC8, 0x04003228, 0x04003228, 0x04002BC8, 0x04002BC8, 0x04002BC8, }; -LinkAnimetionEntry* D_80853BCC[] = { +LinkAnimationHeader* D_80853BCC[] = { 0x040031C8, 0x040031C0, 0x040031C0, 0x040031C8, 0x040031C8, 0x040031C8, }; -LinkAnimetionEntry* D_80853BE4[] = { +LinkAnimationHeader* D_80853BE4[] = { 0x04003118, 0x04003110, 0x04003110, 0x04003118, 0x04003118, 0x04003118, }; -LinkAnimetionEntry* D_80853BFC[] = { +LinkAnimationHeader* D_80853BFC[] = { 0x04002DE8, 0x04002DE8, 0x04002DE8, 0x04002DE8, 0x04002DE8, 0x04002DE8, }; -LinkAnimetionEntry* D_80853C14[] = { +LinkAnimationHeader* D_80853C14[] = { 0x04002E30, 0x04002E18, 0x04002E18, 0x04002E30, 0x04002E30, 0x04002E30, }; -LinkAnimetionEntry* D_80853C2C[] = { +LinkAnimationHeader* D_80853C2C[] = { 0x04002E40, 0x04002E38, 0x04002E38, 0x04002E40, 0x04002E40, 0x04002E40, }; -LinkAnimetionEntry* D_80853C44[] = { +LinkAnimationHeader* D_80853C44[] = { 0x04002E28, 0x04002E20, 0x04002E20, 0x04002E28, 0x04002E28, 0x04002E28, }; -LinkAnimetionEntry* D_80853C5C[] = { +LinkAnimationHeader* D_80853C5C[] = { 0x040030C8, 0x040030C0, 0x040030C0, 0x040030C8, 0x040030C8, 0x040030C8, }; -LinkAnimetionEntry* D_80853C74[] = { +LinkAnimationHeader* D_80853C74[] = { 0x040030D8, 0x040030D0, 0x040030D0, 0x040030D8, 0x040030D8, 0x040030D8, }; -LinkAnimetionEntry* D_80853C8C[] = { +LinkAnimationHeader* D_80853C8C[] = { 0x040030B8, 0x040030B0, 0x040030B0, 0x040030B8, 0x040030B8, 0x040030B8, }; -LinkAnimetionEntry* D_80853CA4[] = { +LinkAnimationHeader* D_80853CA4[] = { 0x04002F20, 0x04002F18, 0x04002F18, 0x04002F20, 0x04002F20, 0x04002F20, }; -LinkAnimetionEntry* D_80853CBC[] = { +LinkAnimationHeader* D_80853CBC[] = { 0x04002FF0, 0x04002FE8, 0x04002FE8, 0x04002FF0, 0x04002FF0, 0x04002FF0, }; -LinkAnimetionEntry* D_80853CD4[] = { +LinkAnimationHeader* D_80853CD4[] = { 0x04003010, 0x04003008, 0x04003008, 0x04003010, 0x04003010, 0x04003010, }; -LinkAnimetionEntry* D_80853CEC[] = { +LinkAnimationHeader* D_80853CEC[] = { 0x04003000, 0x04002FF8, 0x04002FF8, 0x04003000, 0x04003000, 0x04003000, }; -LinkAnimetionEntry* D_80853D04[] = { +LinkAnimationHeader* D_80853D04[] = { 0x04002EF0, 0x04002EE8, 0x04002EE8, 0x04002EF8, 0x04002EF0, 0x04002EF0, }; -LinkAnimetionEntry* D_80853D1C[] = { +LinkAnimationHeader* D_80853D1C[] = { 0x040031E0, 0x040031D8, 0x040031D8, 0x040031E8, 0x040031E0, 0x040031E0, }; -LinkAnimetionEntry* D_80853D34[] = { +LinkAnimationHeader* D_80853D34[] = { 0x04003468, 0x04003438, 0x04003438, 0x04003468, 0x04003468, 0x04003468, }; -LinkAnimetionEntry* D_80853D4C[][3] = { +LinkAnimationHeader* D_80853D4C[][3] = { { 0x04002A28, 0x04002A38, 0x04002A30 }, { 0x04002950, 0x04002960, 0x04002958 }, { 0x040029D0, 0x040029E0, 0x040029D8 }, { 0x04002988, 0x04002998, 0x04002990 }, }; -LinkAnimetionEntry* D_80853D7C[] = { +LinkAnimationHeader* D_80853D7C[] = { 0x04003248, 0x04003200, 0x04003258, 0x04003210, 0x04003250, 0x04003208, 0x04003250, 0x04003208, 0x04003430, 0x040033F0, 0x04003430, 0x040033F0, 0x04003430, 0x040033F0, 0x040033F8, 0x040033D0, 0x04003400, 0x040033D8, 0x04003420, 0x04003420, 0x04003408, @@ -977,32 +977,32 @@ struct_80854190 D_80854190[] = { { 0x040029C0, 0x040029C8, 0x04002560, 0, 16 }, { 0x040029C0, 0x040029C8, 0x040024B8, 0, 16 }, }; -LinkAnimetionEntry* D_80854350[] = { +LinkAnimationHeader* D_80854350[] = { 0x04002AE8, 0x04002920, }; -LinkAnimetionEntry* D_80854358[] = { +LinkAnimationHeader* D_80854358[] = { 0x04002AE0, 0x04002920, }; -LinkAnimetionEntry* D_80854360[] = { +LinkAnimationHeader* D_80854360[] = { 0x04002AF0, 0x04002928, }; -LinkAnimetionEntry* D_80854368[] = { +LinkAnimationHeader* D_80854368[] = { 0x04002AF8, 0x04002930, }; -LinkAnimetionEntry* D_80854370[] = { +LinkAnimationHeader* D_80854370[] = { 0x04002B00, 0x04002938, }; -LinkAnimetionEntry* D_80854378[] = { +LinkAnimationHeader* D_80854378[] = { 0x04002AD8, 0x04002918, }; @@ -1018,173 +1018,173 @@ u16 D_80854398[] = { NA_SE_IT_BOW_DRAW, NA_SE_IT_SLING_DRAW, NA_SE_IT_HOOKSHOT_R u8 sMagicArrowCosts[] = { 4, 4, 8 }; -LinkAnimetionEntry* D_808543A4[] = { +LinkAnimationHeader* D_808543A4[] = { 0x040025C0, 0x040025C8, }; -LinkAnimetionEntry* D_808543AC[] = { +LinkAnimationHeader* D_808543AC[] = { 0x04002580, 0x04002588, }; -LinkAnimetionEntry* D_808543B4[] = { +LinkAnimationHeader* D_808543B4[] = { 0x04002510, 0x04002518, }; -LinkAnimetionEntry* D_808543BC[] = { +LinkAnimationHeader* D_808543BC[] = { 0x04002510, 0x04002520, }; -LinkAnimetionEntry* D_808543C4[] = { +LinkAnimationHeader* D_808543C4[] = { 0x04002EC0, 0x04002A08, }; -LinkAnimetionEntry* D_808543CC[] = { +LinkAnimationHeader* D_808543CC[] = { 0x040026F0, 0x04002CC8, }; -LinkAnimetionEntry* D_808543D4[] = { +LinkAnimationHeader* D_808543D4[] = { 0x040026C0, 0x04002CC0, }; // external segments -extern LinkAnimetionEntry D_04002340; -extern LinkAnimetionEntry D_04002378; -extern LinkAnimetionEntry D_04002400; -extern LinkAnimetionEntry D_04002408; -extern LinkAnimetionEntry D_04002420; -extern LinkAnimetionEntry D_04002428; -extern LinkAnimetionEntry D_04002430; -extern LinkAnimetionEntry D_04002468; -extern LinkAnimetionEntry D_040024E8; -extern LinkAnimetionEntry D_040024F8; -extern LinkAnimetionEntry D_04002538; -extern LinkAnimetionEntry D_040025F8; -extern LinkAnimetionEntry D_04002600; -extern LinkAnimetionEntry D_04002608; -extern LinkAnimetionEntry D_04002618; -extern LinkAnimetionEntry D_04002620; -extern LinkAnimetionEntry D_04002628; -extern LinkAnimetionEntry D_04002630; -extern LinkAnimetionEntry D_04002638; -extern LinkAnimetionEntry D_04002650; -extern LinkAnimetionEntry D_04002660; -extern LinkAnimetionEntry D_04002668; -extern LinkAnimetionEntry D_04002670; -extern LinkAnimetionEntry D_04002688; -extern LinkAnimetionEntry D_04002698; -extern LinkAnimetionEntry D_040026A0; -extern LinkAnimetionEntry D_040026B0; -extern LinkAnimetionEntry D_040026B8; -extern LinkAnimetionEntry D_040026E8; -extern LinkAnimetionEntry D_04002700; -extern LinkAnimetionEntry D_04002708; -extern LinkAnimetionEntry D_04002770; -extern LinkAnimetionEntry D_04002780; -extern LinkAnimetionEntry D_04002788; -extern LinkAnimetionEntry D_040027D0; -extern LinkAnimetionEntry D_04002830; -extern LinkAnimetionEntry D_04002838; -extern LinkAnimetionEntry D_04002860; -extern LinkAnimetionEntry D_04002878; -extern LinkAnimetionEntry D_04002908; -extern LinkAnimetionEntry D_04002AC8; -extern LinkAnimetionEntry D_04002C00; -extern LinkAnimetionEntry D_04002C08; -extern LinkAnimetionEntry D_04002C10; -extern LinkAnimetionEntry D_04002C18; -extern LinkAnimetionEntry D_04002C20; -extern LinkAnimetionEntry D_04002C28; -extern LinkAnimetionEntry D_04002C30; -extern LinkAnimetionEntry D_04002C38; -extern LinkAnimetionEntry D_04002C90; -extern LinkAnimetionEntry D_04002C98; -extern LinkAnimetionEntry D_04002CA0; -extern LinkAnimetionEntry D_04002D28; -extern LinkAnimetionEntry D_04002D38; -extern LinkAnimetionEntry D_04002D40; -extern LinkAnimetionEntry D_04002D48; -extern LinkAnimetionEntry D_04002D68; -extern LinkAnimetionEntry D_04002D80; -extern LinkAnimetionEntry D_04002D88; -extern LinkAnimetionEntry D_04002DA0; -extern LinkAnimetionEntry D_04002DA8; -extern LinkAnimetionEntry D_04002DB0; -extern LinkAnimetionEntry D_04002DB8; -extern LinkAnimetionEntry D_04002DC0; -extern LinkAnimetionEntry D_04002DD0; -extern LinkAnimetionEntry D_04002DF0; -extern LinkAnimetionEntry D_04002DF8; -extern LinkAnimetionEntry D_04002E10; -extern LinkAnimetionEntry D_04002E48; -extern LinkAnimetionEntry D_04002E90; -extern LinkAnimetionEntry D_04002EC8; -extern LinkAnimetionEntry D_04002F00; -extern LinkAnimetionEntry D_04002F08; -extern LinkAnimetionEntry D_04002F10; -extern LinkAnimetionEntry D_04002F28; -extern LinkAnimetionEntry D_04002F30; -extern LinkAnimetionEntry D_04002F40; -extern LinkAnimetionEntry D_04002F58; -extern LinkAnimetionEntry D_04002F60; -extern LinkAnimetionEntry D_04002F68; -extern LinkAnimetionEntry D_04002F98; -extern LinkAnimetionEntry D_04002FA0; -extern LinkAnimetionEntry D_04002FD0; -extern LinkAnimetionEntry D_04002FE0; -extern LinkAnimetionEntry D_04003000; -extern LinkAnimetionEntry D_04003020; -extern LinkAnimetionEntry D_04003040; -extern LinkAnimetionEntry D_04003048; -extern LinkAnimetionEntry D_04003050; -extern LinkAnimetionEntry D_04003060; -extern LinkAnimetionEntry D_04003068; -extern LinkAnimetionEntry D_04003070; -extern LinkAnimetionEntry D_04003098; -extern LinkAnimetionEntry D_040030A0; -extern LinkAnimetionEntry D_040030A8; -extern LinkAnimetionEntry D_040030E0; -extern LinkAnimetionEntry D_040030F0; -extern LinkAnimetionEntry D_040030F8; -extern LinkAnimetionEntry D_04003100; -extern LinkAnimetionEntry D_04003108; -extern LinkAnimetionEntry D_04003120; -extern LinkAnimetionEntry D_04003128; -extern LinkAnimetionEntry D_04003148; -extern LinkAnimetionEntry D_04003150; -extern LinkAnimetionEntry D_04003158; -extern LinkAnimetionEntry D_04003160; -extern LinkAnimetionEntry D_040031A0; -extern LinkAnimetionEntry D_040031A8; -extern LinkAnimetionEntry D_04003298; -extern LinkAnimetionEntry D_040032B0; -extern LinkAnimetionEntry D_040032B8; -extern LinkAnimetionEntry D_040032C0; -extern LinkAnimetionEntry D_040032C8; -extern LinkAnimetionEntry D_040032D0; -extern LinkAnimetionEntry D_040032D8; -extern LinkAnimetionEntry D_040032E0; -extern LinkAnimetionEntry D_040032E8; -extern LinkAnimetionEntry D_040032F0; -extern LinkAnimetionEntry D_04003300; -extern LinkAnimetionEntry D_04003308; -extern LinkAnimetionEntry D_04003310; -extern LinkAnimetionEntry D_04003318; -extern LinkAnimetionEntry D_04003320; -extern LinkAnimetionEntry D_04003328; -extern LinkAnimetionEntry D_04003330; -extern LinkAnimetionEntry D_04003380; -extern LinkAnimetionEntry D_04003390; -extern LinkAnimetionEntry D_040033A0; -extern LinkAnimetionEntry D_040033B0; -extern LinkAnimetionEntry D_040033B8; -extern LinkAnimetionEntry D_040033C8; +extern LinkAnimationHeader D_04002340; +extern LinkAnimationHeader D_04002378; +extern LinkAnimationHeader D_04002400; +extern LinkAnimationHeader D_04002408; +extern LinkAnimationHeader D_04002420; +extern LinkAnimationHeader D_04002428; +extern LinkAnimationHeader D_04002430; +extern LinkAnimationHeader D_04002468; +extern LinkAnimationHeader D_040024E8; +extern LinkAnimationHeader D_040024F8; +extern LinkAnimationHeader D_04002538; +extern LinkAnimationHeader D_040025F8; +extern LinkAnimationHeader D_04002600; +extern LinkAnimationHeader D_04002608; +extern LinkAnimationHeader D_04002618; +extern LinkAnimationHeader D_04002620; +extern LinkAnimationHeader D_04002628; +extern LinkAnimationHeader D_04002630; +extern LinkAnimationHeader D_04002638; +extern LinkAnimationHeader D_04002650; +extern LinkAnimationHeader D_04002660; +extern LinkAnimationHeader D_04002668; +extern LinkAnimationHeader D_04002670; +extern LinkAnimationHeader D_04002688; +extern LinkAnimationHeader D_04002698; +extern LinkAnimationHeader D_040026A0; +extern LinkAnimationHeader D_040026B0; +extern LinkAnimationHeader D_040026B8; +extern LinkAnimationHeader D_040026E8; +extern LinkAnimationHeader D_04002700; +extern LinkAnimationHeader D_04002708; +extern LinkAnimationHeader D_04002770; +extern LinkAnimationHeader D_04002780; +extern LinkAnimationHeader D_04002788; +extern LinkAnimationHeader D_040027D0; +extern LinkAnimationHeader D_04002830; +extern LinkAnimationHeader D_04002838; +extern LinkAnimationHeader D_04002860; +extern LinkAnimationHeader D_04002878; +extern LinkAnimationHeader D_04002908; +extern LinkAnimationHeader D_04002AC8; +extern LinkAnimationHeader D_04002C00; +extern LinkAnimationHeader D_04002C08; +extern LinkAnimationHeader D_04002C10; +extern LinkAnimationHeader D_04002C18; +extern LinkAnimationHeader D_04002C20; +extern LinkAnimationHeader D_04002C28; +extern LinkAnimationHeader D_04002C30; +extern LinkAnimationHeader D_04002C38; +extern LinkAnimationHeader D_04002C90; +extern LinkAnimationHeader D_04002C98; +extern LinkAnimationHeader D_04002CA0; +extern LinkAnimationHeader D_04002D28; +extern LinkAnimationHeader D_04002D38; +extern LinkAnimationHeader D_04002D40; +extern LinkAnimationHeader D_04002D48; +extern LinkAnimationHeader D_04002D68; +extern LinkAnimationHeader D_04002D80; +extern LinkAnimationHeader D_04002D88; +extern LinkAnimationHeader D_04002DA0; +extern LinkAnimationHeader D_04002DA8; +extern LinkAnimationHeader D_04002DB0; +extern LinkAnimationHeader D_04002DB8; +extern LinkAnimationHeader D_04002DC0; +extern LinkAnimationHeader D_04002DD0; +extern LinkAnimationHeader D_04002DF0; +extern LinkAnimationHeader D_04002DF8; +extern LinkAnimationHeader D_04002E10; +extern LinkAnimationHeader D_04002E48; +extern LinkAnimationHeader D_04002E90; +extern LinkAnimationHeader D_04002EC8; +extern LinkAnimationHeader D_04002F00; +extern LinkAnimationHeader D_04002F08; +extern LinkAnimationHeader D_04002F10; +extern LinkAnimationHeader D_04002F28; +extern LinkAnimationHeader D_04002F30; +extern LinkAnimationHeader D_04002F40; +extern LinkAnimationHeader D_04002F58; +extern LinkAnimationHeader D_04002F60; +extern LinkAnimationHeader D_04002F68; +extern LinkAnimationHeader D_04002F98; +extern LinkAnimationHeader D_04002FA0; +extern LinkAnimationHeader D_04002FD0; +extern LinkAnimationHeader D_04002FE0; +extern LinkAnimationHeader D_04003000; +extern LinkAnimationHeader D_04003020; +extern LinkAnimationHeader D_04003040; +extern LinkAnimationHeader D_04003048; +extern LinkAnimationHeader D_04003050; +extern LinkAnimationHeader D_04003060; +extern LinkAnimationHeader D_04003068; +extern LinkAnimationHeader D_04003070; +extern LinkAnimationHeader D_04003098; +extern LinkAnimationHeader D_040030A0; +extern LinkAnimationHeader D_040030A8; +extern LinkAnimationHeader D_040030E0; +extern LinkAnimationHeader D_040030F0; +extern LinkAnimationHeader D_040030F8; +extern LinkAnimationHeader D_04003100; +extern LinkAnimationHeader D_04003108; +extern LinkAnimationHeader D_04003120; +extern LinkAnimationHeader D_04003128; +extern LinkAnimationHeader D_04003148; +extern LinkAnimationHeader D_04003150; +extern LinkAnimationHeader D_04003158; +extern LinkAnimationHeader D_04003160; +extern LinkAnimationHeader D_040031A0; +extern LinkAnimationHeader D_040031A8; +extern LinkAnimationHeader D_04003298; +extern LinkAnimationHeader D_040032B0; +extern LinkAnimationHeader D_040032B8; +extern LinkAnimationHeader D_040032C0; +extern LinkAnimationHeader D_040032C8; +extern LinkAnimationHeader D_040032D0; +extern LinkAnimationHeader D_040032D8; +extern LinkAnimationHeader D_040032E0; +extern LinkAnimationHeader D_040032E8; +extern LinkAnimationHeader D_040032F0; +extern LinkAnimationHeader D_04003300; +extern LinkAnimationHeader D_04003308; +extern LinkAnimationHeader D_04003310; +extern LinkAnimationHeader D_04003318; +extern LinkAnimationHeader D_04003320; +extern LinkAnimationHeader D_04003328; +extern LinkAnimationHeader D_04003330; +extern LinkAnimationHeader D_04003380; +extern LinkAnimationHeader D_04003390; +extern LinkAnimationHeader D_040033A0; +extern LinkAnimationHeader D_040033B0; +extern LinkAnimationHeader D_040033B8; +extern LinkAnimationHeader D_040033C8; extern Gfx D_04037E30[]; extern Gfx D_04033EE0[]; @@ -1206,19 +1206,19 @@ s32 func_8083224C(GlobalContext* globalCtx) { return (this->actor.flags & 0x100) == 0x100; } -void func_80832264(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_80832264(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime, anim); } -void func_80832284(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_80832284(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { SkelAnime_ChangeLinkAnimDefaultRepeat(globalCtx, &this->skelAnime, anim); } -void func_808322A4(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_808322A4(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { SkelAnime_ChangeLinkAnimPlaybackRepeat(globalCtx, &this->skelAnime, anim, 2.0f / 3.0f); } -void func_808322D0(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_808322D0(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, anim, 2.0f / 3.0f); } @@ -1439,29 +1439,28 @@ void func_80832924(Player* this, struct_80832924* entry) { } while (cont); } -void func_80832B0C(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { - SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&anim->genericHeader), 2, -6.0f); +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); } -void func_80832B78(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { - SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 2.0f / 3.0f, 0.0f, - SkelAnime_GetFrameCount(&anim->genericHeader), 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); } -void func_80832BE8(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_80832BE8(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, 0.0f, 0, -6.0f); } -void func_80832C2C(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_80832C2C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, 0.0f, 2, 0.0f); } -void func_80832C6C(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_80832C6C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, 0.0f, 0, -16.0f); } -s32 func_80832CB0(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +s32 func_80832CB0(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { if (func_800A3BC0(globalCtx, &this->skelAnime)) { func_80832284(globalCtx, this, anim); return 1; @@ -1544,37 +1543,37 @@ void func_80832F54(GlobalContext* globalCtx, Player* this, s32 flags) { func_800A3310(globalCtx); } -void func_80832FFC(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim, s32 flags, f32 playbackSpeed) { +void func_80832FFC(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, s32 flags, f32 playbackSpeed) { SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, anim, playbackSpeed); func_80832F54(globalCtx, this, flags); } -void func_8083303C(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim, s32 flags) { +void func_8083303C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, s32 flags) { func_80832FFC(globalCtx, this, anim, flags, 1.0f); } -void func_80833064(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim, s32 flags) { +void func_80833064(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, s32 flags) { func_80832FFC(globalCtx, this, anim, flags, 2.0f / 3.0f); } -void func_8083308C(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_8083308C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { func_80833064(globalCtx, this, anim, 0x1C); } -void func_808330AC(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim, s32 flags, f32 playbackSpeed) { +void func_808330AC(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, s32 flags, f32 playbackSpeed) { SkelAnime_ChangeLinkAnimPlaybackRepeat(globalCtx, &this->skelAnime, anim, playbackSpeed); func_80832F54(globalCtx, this, flags); } -void func_808330EC(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim, s32 flags) { +void func_808330EC(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, s32 flags) { func_808330AC(globalCtx, this, anim, flags, 1.0f); } -void func_80833114(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim, s32 flags) { +void func_80833114(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, s32 flags) { func_808330AC(globalCtx, this, anim, flags, 2.0f / 3.0f); } -void func_8083313C(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_8083313C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { func_80833114(globalCtx, this, anim, 0x1C); } @@ -1603,7 +1602,7 @@ void func_8083315C(GlobalContext* globalCtx, Player* this) { this->unk_84B[this->unk_846] = phi_v0; } -void func_8083328C(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* linkAnim) { +void func_8083328C(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* linkAnim) { SkelAnime_ChangeLinkAnimPlaybackStop(globalCtx, &this->skelAnime, linkAnim, D_808535E8); } @@ -1621,21 +1620,19 @@ void func_808332F4(Player* this, GlobalContext* globalCtx) { this->unk_862 = ABS(giEntry->gi); } -LinkAnimetionEntry* func_80833338(Player* this) { +LinkAnimationHeader* func_80833338(Player* this) { return D_80853914[this->modelAnimType]; } s32 func_80833350(Player* this) { - LinkAnimetionEntry** entry; + LinkAnimationHeader** entry; s32 i; - if (func_80833338(this) != this->skelAnime.linkAnimetionSeg) { - entry = &D_80853D7C[0]; - for (i = 0; i < 28; i++) { - if (this->skelAnime.linkAnimetionSeg == *entry) { + if (func_80833338(this) != this->skelAnime.animation) { + for (i = 0, entry = &D_80853D7C[0]; i < 28; i++, entry++) { + if (this->skelAnime.animation == *entry) { return i + 1; } - entry++; } return 0; } @@ -1649,7 +1646,7 @@ void func_808333FC(Player* this, s32 arg1) { } } -LinkAnimetionEntry* func_80833438(Player* this) { +LinkAnimationHeader* func_80833438(Player* this) { if (this->unk_890 != 0) { return D_8085395C[this->modelAnimType]; } else if (!(this->stateFlags1 & 0x28000000) && (this->currentBoots == PLAYER_BOOTS_IRON)) { @@ -1663,7 +1660,7 @@ s32 func_808334B4(Player* this) { return func_808332E4(this) && (this->unk_834 != 0); } -LinkAnimetionEntry* func_808334E4(Player* this) { +LinkAnimationHeader* func_808334E4(Player* this) { if (func_808334B4(this)) { return &D_04002638; } else { @@ -1671,7 +1668,7 @@ LinkAnimetionEntry* func_808334E4(Player* this) { } } -LinkAnimetionEntry* func_80833528(Player* this) { +LinkAnimationHeader* func_80833528(Player* this) { if (func_808334B4(this)) { return &D_04002630; } else { @@ -1679,7 +1676,7 @@ LinkAnimetionEntry* func_80833528(Player* this) { } } -LinkAnimetionEntry* func_8083356C(Player* this) { +LinkAnimationHeader* func_8083356C(Player* this) { if (func_8002DD78(this)) { return &D_040026E8; } else { @@ -1687,7 +1684,7 @@ LinkAnimetionEntry* func_8083356C(Player* this) { } } -LinkAnimetionEntry* func_808335B0(Player* this) { +LinkAnimationHeader* func_808335B0(Player* this) { if (func_808334B4(this)) { return &D_04002620; } else { @@ -1695,7 +1692,7 @@ LinkAnimetionEntry* func_808335B0(Player* this) { } } -LinkAnimetionEntry* func_808335F4(Player* this) { +LinkAnimationHeader* func_808335F4(Player* this) { if (func_808334B4(this)) { return &D_04002618; } else { @@ -1711,8 +1708,8 @@ void func_80833638(Player* this, PlayerFunc82C arg1) { } void func_80833664(GlobalContext* globalCtx, Player* this, s8 actionParam) { - LinkAnimetionEntry* current = this->skelAnime.linkAnimetionSeg; - LinkAnimetionEntry** iter = &D_80853914[this->modelAnimType]; + LinkAnimationHeader* current = this->skelAnime.animation; + LinkAnimationHeader** iter = &D_80853914[this->modelAnimType]; u32 i; this->stateFlags1 &= ~0x1000008; @@ -1727,7 +1724,7 @@ void func_80833664(GlobalContext* globalCtx, Player* this, s8 actionParam) { func_8083399C(globalCtx, this, actionParam); if (i < 45) { - this->skelAnime.linkAnimetionSeg = D_80853914[i * 6 + this->modelAnimType]; + this->skelAnime.animation = D_80853914[i * 6 + this->modelAnimType]; } } @@ -1977,7 +1974,7 @@ void func_80833DF8(Player* this, GlobalContext* globalCtx) { #ifdef NON_MATCHING // ordering and deduplication differences void func_808340DC(Player* this, GlobalContext* globalCtx) { - LinkAnimetionEntry* sp4C; + LinkAnimationHeader* anim; f32 phi_f2; f32 phi_f12; f32 phi_f14; @@ -1999,12 +1996,12 @@ void func_808340DC(Player* this, GlobalContext* globalCtx) { this->unk_15A = ABS(sp38); - sp4C = D_808540F4[this->unk_15A].anim; - if ((sp4C == &D_04002F30) && (this->currentShield == PLAYER_SHIELD_NONE)) { - sp4C = &D_04002F40; + anim = D_808540F4[this->unk_15A].anim; + if ((anim == &D_04002F30) && (this->currentShield == PLAYER_SHIELD_NONE)) { + anim = &D_04002F40; } - phi_f2 = SkelAnime_GetFrameCount(&sp4C->genericHeader); + phi_f2 = SkelAnime_GetFrameCount(anim); if (sp38 >= 0) { phi_f12 = 0.0f; @@ -2020,7 +2017,7 @@ void func_808340DC(Player* this, GlobalContext* globalCtx) { phi_f0 *= 2.0f; } - SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime2, sp4C, phi_f0, phi_f12, phi_f14, 2, 0.0f); + SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime2, anim, phi_f0, phi_f12, phi_f14, 2, 0.0f); this->stateFlags1 &= ~0x100; } @@ -2133,7 +2130,7 @@ void func_80834644(GlobalContext* globalCtx, Player* this) { this->stateFlags1 &= ~0x100; } -LinkAnimetionEntry* func_808346C4(GlobalContext* globalCtx, Player* this) { +LinkAnimationHeader* func_808346C4(GlobalContext* globalCtx, Player* this) { func_80833638(this, func_80834B5C); func_808323B4(globalCtx, this); @@ -2145,7 +2142,7 @@ LinkAnimetionEntry* func_808346C4(GlobalContext* globalCtx, Player* this) { } s32 func_80834758(GlobalContext* globalCtx, Player* this) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; f32 frame; if (!(this->stateFlags1 & 0x20C00000) && (globalCtx->unk_11E5C == 0) && @@ -2154,7 +2151,7 @@ s32 func_80834758(GlobalContext* globalCtx, Player* this) { CHECK_BTN_ALL(sControlInput->cur.button, BTN_R)) { anim = func_808346C4(globalCtx, this); - frame = SkelAnime_GetFrameCount(&anim->genericHeader); + frame = SkelAnime_GetFrameCount(anim); SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime2, anim, 1.0f, frame, frame, 2, 0.0f); func_8002F7DC(&this->actor, NA_SE_IT_SHIELD_POSTURE); @@ -2251,12 +2248,12 @@ s32 func_80834B5C(Player* this, GlobalContext* globalCtx) { } s32 func_80834BD4(Player* this, GlobalContext* globalCtx) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; f32 frame; if (func_800A3BC0(globalCtx, &this->skelAnime2)) { anim = func_808346C4(globalCtx, this); - frame = SkelAnime_GetFrameCount(&anim->genericHeader); + frame = SkelAnime_GetFrameCount(anim); SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime2, anim, 1.0f, frame, frame, 2, 0.0f); } @@ -2281,7 +2278,7 @@ s32 func_80834C74(Player* this, GlobalContext* globalCtx) { } s32 func_80834D2C(Player* this, GlobalContext* globalCtx) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; if (this->heldItemActionParam != PLAYER_AP_BOOMERANG) { if (!func_8083442C(this, globalCtx)) { @@ -2419,7 +2416,7 @@ s32 func_808351D4(Player* this, GlobalContext* globalCtx) { Math_ApproxUpdateScaledS(&this->unk_6C0, 1200, 400); this->unk_6AE |= 0x100; - if ((this->unk_836 == 0) && (func_80833350(this) == 0) && (this->skelAnime.linkAnimetionSeg == &D_040026E8)) { + if ((this->unk_836 == 0) && (func_80833350(this) == 0) && (this->skelAnime.animation == &D_040026E8)) { SkelAnime_ChangeLinkAnimDefaultStop(globalCtx, &this->skelAnime2, D_808543CC[sp2C]); this->unk_836 = -1; } else if (func_800A3BC0(globalCtx, &this->skelAnime2)) { @@ -2591,7 +2588,7 @@ s32 func_80835884(Player* this, GlobalContext* globalCtx) { } s32 func_808358F0(Player* this, GlobalContext* globalCtx) { - LinkAnimetionEntry* animSeg = this->skelAnime.linkAnimetionSeg; + LinkAnimationHeader* animSeg = this->skelAnime.animation; if ((func_808334E4(this) == animSeg) || (func_80833528(this) == animSeg) || (func_808335B0(this) == animSeg) || (func_808335F4(this) == animSeg)) { @@ -2854,7 +2851,7 @@ void func_80835F44(GlobalContext* globalCtx, Player* this, s32 item) { } } -void func_80836448(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_80836448(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { s32 cond = func_808332B8(this); func_80832564(globalCtx, this); @@ -3307,7 +3304,7 @@ s32 func_808375D8(Player* this) { } void func_80837704(GlobalContext* globalCtx, Player* this) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; if ((this->swordAnimation >= 4) && (this->swordAnimation < 8)) { anim = D_80854358[Player_HoldsTwoHandedWeapon(this)]; @@ -3316,8 +3313,7 @@ void func_80837704(GlobalContext* globalCtx, Player* this) { } func_80832318(this); - SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 8.0f, - SkelAnime_GetFrameCount(&anim->genericHeader), 2, -9.0f); + SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 8.0f, SkelAnime_GetFrameCount(anim), 2, -9.0f); func_80837530(globalCtx, this, 0x200); } @@ -3466,13 +3462,13 @@ void func_80837B9C(Player* this, GlobalContext* globalCtx) { } } -LinkAnimetionEntry* D_808544B0[] = { +LinkAnimationHeader* D_808544B0[] = { 0x04002F80, 0x04002F78, 0x04002DE0, 0x04002DD8, 0x04002F70, 0x04002528, 0x04002DC8, 0x040024F0, }; void func_80837C0C(GlobalContext* globalCtx, Player* this, s32 arg2, f32 arg3, f32 arg4, s16 arg5, s32 arg6) { - LinkAnimetionEntry* sp2C = NULL; - LinkAnimetionEntry** sp28; + LinkAnimationHeader* sp2C = NULL; + LinkAnimationHeader** sp28; if (this->stateFlags1 & 0x2000) { func_80837B60(this); @@ -3727,7 +3723,7 @@ s32 func_808382DC(Player* this, GlobalContext* globalCtx) { if (!Player_IsChildWithHylianShield(this)) { if (this->invincibilityTimer >= 0) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; s32 sp54 = func_80843188 == this->func_674; if (!func_808332B8(this)) { @@ -3815,7 +3811,7 @@ s32 func_808382DC(Player* this, GlobalContext* globalCtx) { return 1; } -void func_80838940(Player* this, LinkAnimetionEntry* anim, f32 arg2, GlobalContext* globalCtx, u16 sfxId) { +void func_80838940(Player* this, LinkAnimationHeader* anim, f32 arg2, GlobalContext* globalCtx, u16 sfxId) { func_80835C58(globalCtx, this, func_8084411C, 1); if (anim != NULL) { @@ -3832,13 +3828,13 @@ void func_80838940(Player* this, LinkAnimetionEntry* anim, f32 arg2, GlobalConte this->stateFlags1 |= 0x40000; } -void func_808389E8(Player* this, LinkAnimetionEntry* anim, f32 arg2, GlobalContext* globalCtx) { +void func_808389E8(Player* this, LinkAnimationHeader* anim, f32 arg2, GlobalContext* globalCtx) { func_80838940(this, anim, arg2, globalCtx, NA_SE_VO_LI_SWORD_N); } s32 func_80838A14(Player* this, GlobalContext* globalCtx) { s32 sp3C; - LinkAnimetionEntry* sp38; + LinkAnimationHeader* sp38; f32 sp34; f32 temp; f32 sp2C; @@ -4156,7 +4152,7 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) { s32 pad3; s32 frontRoom; Actor* attachedActor; - LinkAnimetionEntry* sp5C; + LinkAnimationHeader* sp5C; CollisionPoly* sp58; Vec3f sp4C; @@ -4309,7 +4305,7 @@ s32 func_80839800(Player* this, GlobalContext* globalCtx) { } void func_80839E88(Player* this, GlobalContext* globalCtx) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; func_80835C58(globalCtx, this, func_80840450, 1); @@ -4363,7 +4359,7 @@ void func_8083A060(Player* this, GlobalContext* globalCtx) { } } -void func_8083A098(Player* this, LinkAnimetionEntry* anim, GlobalContext* globalCtx) { +void func_8083A098(Player* this, LinkAnimationHeader* anim, GlobalContext* globalCtx) { func_8083A060(this, globalCtx); func_8083328C(globalCtx, this, anim); } @@ -4382,7 +4378,7 @@ void func_8083A0F4(GlobalContext* globalCtx, Player* this) { func_80835C58(globalCtx, this, func_8084F608, 0); this->stateFlags1 |= 0x20000000; } else { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; if (interactActorId == ACTOR_BG_HEAVY_BLOCK) { func_80835C58(globalCtx, this, func_80846120, 0); @@ -4463,7 +4459,7 @@ void func_8083A434(GlobalContext* globalCtx, Player* this) { s32 func_8083A4A8(Player* this, GlobalContext* globalCtx) { s16 yawDiff; - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; f32 temp; yawDiff = this->currentYaw - this->actor.shape.rot.y; @@ -4486,7 +4482,7 @@ s32 func_8083A4A8(Player* this, GlobalContext* globalCtx) { return 1; } -void func_8083A5C4(GlobalContext* globalCtx, Player* this, CollisionPoly* arg2, f32 arg3, LinkAnimetionEntry* arg4) { +void func_8083A5C4(GlobalContext* globalCtx, Player* this, CollisionPoly* arg2, f32 arg3, LinkAnimationHeader* arg4) { f32 sp24 = arg2->norm.x * (1.0f / 32767.0f); f32 sp20 = arg2->norm.z * (1.0f / 32767.0f); @@ -4566,7 +4562,7 @@ s32 func_8083A6AC(Player* this, GlobalContext* globalCtx) { return 0; } -void func_8083A9B8(Player* this, LinkAnimetionEntry* anim, 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); } @@ -4733,7 +4729,7 @@ u8 D_80854528[] = { GI_LETTER_RUTO, GI_LETTER_RUTO, GI_LETTER_RUTO, GI_LETTER_RUTO, GI_LETTER_RUTO, }; -LinkAnimetionEntry* D_80854548[] = { +LinkAnimationHeader* D_80854548[] = { 0x04002F88, 0x04002690, 0x04003198, @@ -5090,7 +5086,7 @@ s32 func_8083BDBC(Player* this, GlobalContext* globalCtx) { } void func_8083BF50(Player* this, GlobalContext* globalCtx) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; f32 sp30; sp30 = this->unk_868 - 3.0f; @@ -5114,8 +5110,8 @@ void func_8083BF50(Player* this, GlobalContext* globalCtx) { sp30 /= 12.0f; } - SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&anim->genericHeader), 2, 4.0f * sp30); + SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, 0.0f, SkelAnime_GetFrameCount(anim), 2, + 4.0f * sp30); this->currentYaw = this->actor.shape.rot.y; } @@ -5163,7 +5159,7 @@ s32 func_8083C1DC(Player* this, GlobalContext* globalCtx) { } s32 func_8083C2B0(Player* this, GlobalContext* globalCtx) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; f32 frame; if ((globalCtx->unk_11E5C == 0) && (this->currentShield != PLAYER_SHIELD_NONE) && @@ -5183,7 +5179,7 @@ s32 func_8083C2B0(Player* this, GlobalContext* globalCtx) { anim = &D_04002400; } - if (anim != this->skelAnime.linkAnimetionSeg) { + if (anim != this->skelAnime.animation) { if (func_8008E9C4(this)) { this->unk_86C = 1.0f; } else { @@ -5193,7 +5189,7 @@ s32 func_8083C2B0(Player* this, GlobalContext* globalCtx) { this->unk_6BC = this->unk_6BE = this->unk_6C0 = 0; } - frame = SkelAnime_GetFrameCount(&anim->genericHeader); + frame = SkelAnime_GetFrameCount(anim); SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, frame, frame, 2, 0.0f); if (Player_IsChildWithHylianShield(this)) { @@ -5391,8 +5387,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.genericHeader), 2, -6.0f); + SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_040024F8, 2.2f, 0.0f, SkelAnime_GetFrameCount(&D_040024F8), + 2, -6.0f); this->linearVelocity = 8.0f; this->currentYaw = yaw; } @@ -5417,7 +5413,7 @@ void func_8083CD54(GlobalContext* globalCtx, Player* this, s16 yaw) { } void func_8083CE0C(Player* this, GlobalContext* globalCtx) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; func_80835C58(globalCtx, this, func_80840BC8, 1); @@ -5857,7 +5853,7 @@ void func_8083E298(CollisionPoly* arg0, Vec3f* arg1, s16* arg2) { *arg2 = atan2s(arg1->z, arg1->x); } -LinkAnimetionEntry* D_80854590[] = { +LinkAnimationHeader* D_80854590[] = { 0x04002EE0, 0x040031D0, }; @@ -6131,7 +6127,7 @@ s32 func_8083EC18(Player* this, GlobalContext* globalCtx, u32 arg2) { f32 sp3C = sp84->norm.x * (1.0f / 32767.0f); f32 sp38 = sp84->norm.z * (1.0f / 32767.0f); f32 sp34 = this->wallDistance; - LinkAnimetionEntry* sp30; + LinkAnimationHeader* sp30; func_80836898(globalCtx, this, func_8083A3B0); this->stateFlags1 |= 0x200000; @@ -6178,7 +6174,7 @@ s32 func_8083EC18(Player* this, GlobalContext* globalCtx, u32 arg2); #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_player_actor/func_8083EC18.s") #endif -void func_8083F070(Player* this, LinkAnimetionEntry* anim, GlobalContext* globalCtx) { +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)); } @@ -6319,7 +6315,7 @@ s32 func_8083F570(Player* this, GlobalContext* globalCtx) { } else { this->actor.shape.rot.y = this->actor.wallPolyRot; SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04002708, -1.0f, - SkelAnime_GetFrameCount(&D_04002708.genericHeader), 0.0f, 2, 0.0f); + SkelAnime_GetFrameCount(&D_04002708), 0.0f, 2, 0.0f); func_80832F54(globalCtx, this, 0x9D); func_800800F8(globalCtx, 0x2582, 999, NULL, 0); } @@ -6334,7 +6330,7 @@ s32 func_8083F570(Player* this, GlobalContext* globalCtx) { return 0; } -void func_8083F72C(Player* this, LinkAnimetionEntry* anim, GlobalContext* globalCtx) { +void func_8083F72C(Player* this, LinkAnimationHeader* anim, GlobalContext* globalCtx) { if (!func_80836898(globalCtx, this, func_8083A388)) { func_80835C58(globalCtx, this, func_8084B78C, 0); } @@ -6752,8 +6748,8 @@ void func_808407CC(Player* this, GlobalContext* globalCtx) { #ifdef NON_MATCHING // regalloc differences void func_808409CC(GlobalContext* globalCtx, Player* this) { - LinkAnimetionEntry* anim; - LinkAnimetionEntry** animPtr; + LinkAnimationHeader* anim; + LinkAnimationHeader** animPtr; s32 heathIsCritical; s32 sp38; s32 sp34; @@ -6796,7 +6792,7 @@ void func_808409CC(GlobalContext* globalCtx, Player* this) { } SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f) * D_808535E8, 0.0f, - SkelAnime_GetFrameCount(&anim->genericHeader), 2, -6.0f); + SkelAnime_GetFrameCount(anim), 2, -6.0f); } #else #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_player_actor/func_808409CC.s") @@ -6857,8 +6853,7 @@ void func_80840BC8(Player* this, GlobalContext* globalCtx) { Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, sp3A, 1200); this->currentYaw = this->actor.shape.rot.y; - - if (func_80833338(this) == this->skelAnime.linkAnimetionSeg) { + if (func_80833338(this) == this->skelAnime.animation) { func_8083DC54(this, globalCtx); } } @@ -6878,9 +6873,9 @@ void func_80840DE4(Player* this, GlobalContext* globalCtx) { this->skelAnime.mode = 0; func_800A3B8C(&this->skelAnime); - this->skelAnime.linkAnimetionSeg = func_8083356C(this); + this->skelAnime.animation = func_8083356C(this); - if (this->skelAnime.linkAnimetionSeg == &D_040026E8) { + if (this->skelAnime.animation == &D_040026E8) { frames = 24.0f; coeff = -(MREG(95) / 100.0f); } else { @@ -7097,13 +7092,13 @@ void func_808417FC(Player* this, GlobalContext* globalCtx) { void func_80841860(GlobalContext* globalCtx, Player* this) { s32 pad; - LinkAnimetionEntry* sp38; - LinkAnimetionEntry* sp34; + LinkAnimationHeader* sp38; + LinkAnimationHeader* sp34; f32 frame; sp38 = D_80853914[this->modelAnimType + 144]; sp34 = D_80853914[this->modelAnimType + 150]; - this->skelAnime.linkAnimetionSeg = sp38; + this->skelAnime.animation = sp38; func_8084029C(this, (REG(30) / 1000.0f) + ((REG(32) / 1000.0f) * this->linearVelocity)); @@ -7182,7 +7177,7 @@ void func_80841BA8(Player* this, GlobalContext* globalCtx) { func_800A3BC0(globalCtx, &this->skelAnime); if (Player_HoldsTwoHandedWeapon(this)) { - SkelAnime_LoadLinkAnimetion(globalCtx, func_80833338(this), 0, this->skelAnime.limbCount, + 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); @@ -7203,7 +7198,7 @@ void func_80841BA8(Player* this, GlobalContext* globalCtx) { } void func_80841CC4(Player* this, s32 arg1, GlobalContext* globalCtx) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; s16 target; f32 rate; @@ -7528,7 +7523,7 @@ void func_80842CF0(GlobalContext* globalCtx, Player* this) { func_80842B7C(globalCtx, this); } -LinkAnimetionEntry* D_808545CC[] = { +LinkAnimationHeader* D_808545CC[] = { 0x04002B10, 0x04002B20, 0x04002B08, @@ -7720,7 +7715,7 @@ 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.genericHeader), 0.0f, 2, 0.0f); + SkelAnime_GetFrameCount(&D_04002400), 0.0f, 2, 0.0f); func_80832F54(globalCtx, this, 4); } else { if (this->itemActionParam < 0) { @@ -7745,7 +7740,7 @@ void func_80843188(Player* this, GlobalContext* globalCtx) { void func_808435C4(Player* this, GlobalContext* globalCtx) { s32 temp; - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; f32 frames; func_8083721C(this); @@ -7762,7 +7757,7 @@ void func_808435C4(Player* this, GlobalContext* globalCtx) { this->stateFlags1 |= 0x400000; Player_SetModelsForHoldingShield(this); anim = D_80853AF4[this->modelAnimType]; - frames = SkelAnime_GetFrameCount(&anim->genericHeader); + frames = SkelAnime_GetFrameCount(anim); SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, 1.0f, frames, frames, 2, 0.0f); } } @@ -7875,10 +7870,10 @@ void func_80843AE8(GlobalContext* globalCtx, Player* this) { if (this->unk_850 == 0) { if (this->stateFlags1 & 0x8000000) { SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04003328, 1.0f, 0.0f, - SkelAnime_GetFrameCount(&D_04003328.genericHeader), 2, -16.0f); + SkelAnime_GetFrameCount(&D_04003328), 2, -16.0f); } else { SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, &D_04002878, 1.0f, 99.0f, - SkelAnime_GetFrameCount(&D_04002878.genericHeader), 2, 0.0f); + SkelAnime_GetFrameCount(&D_04002878), 2, 0.0f); } gSaveContext.healthAccumulator = 0x140; this->unk_850 = -1; @@ -7929,9 +7924,9 @@ void func_80843CEC(Player* this, GlobalContext* globalCtx) { return; } - if (this->skelAnime.linkAnimetionSeg == &D_04002878) { + if (this->skelAnime.animation == &D_04002878) { func_80832924(this, D_808545F0); - } else if (this->skelAnime.linkAnimetionSeg == &D_04002F08) { + } else if (this->skelAnime.animation == &D_04002F08) { if (func_800A4530(&this->skelAnime, 88.0f)) { func_80832770(this, NA_SE_PL_BOUND); } @@ -8093,7 +8088,7 @@ void func_8084411C(Player* this, GlobalContext* globalCtx) { } } } else { - LinkAnimetionEntry* anim = D_80853A64[this->modelAnimType]; + LinkAnimationHeader* anim = D_80853A64[this->modelAnimType]; s32 sp3C; if (this->stateFlags2 & 0x80000) { @@ -8102,7 +8097,7 @@ void func_8084411C(Player* this, GlobalContext* globalCtx) { } else { anim = D_80853D4C[this->unk_84F][1]; } - } else if (this->skelAnime.linkAnimetionSeg == &D_04003148) { + } else if (this->skelAnime.animation == &D_04003148) { anim = &D_04003150; } else if (func_8008E9C4(this)) { anim = &D_04002538; @@ -8497,7 +8492,7 @@ void func_80845668(Player* this, GlobalContext* globalCtx) { this->stateFlags2 |= 0x20; sp3C = func_800A3BC0(globalCtx, &this->skelAnime); - if (this->skelAnime.linkAnimetionSeg == &D_04002D48) { + if (this->skelAnime.animation == &D_04002D48) { this->linearVelocity = 1.0f; if (func_800A4530(&this->skelAnime, 8.0f)) { @@ -8537,14 +8532,14 @@ void func_80845668(Player* this, GlobalContext* globalCtx) { temp3 = 0.0f; - if (this->skelAnime.linkAnimetionSeg == &D_040032E8) { + if (this->skelAnime.animation == &D_040032E8) { if (func_800A4530(&this->skelAnime, 30.0f)) { func_8083D0A8(globalCtx, this, 10.0f); } temp3 = 50.0f; - } else if (this->skelAnime.linkAnimetionSeg == &D_04002D40) { + } else if (this->skelAnime.animation == &D_04002D40) { temp3 = 30.0f; - } else if (this->skelAnime.linkAnimetionSeg == &D_04002D38) { + } else if (this->skelAnime.animation == &D_04002D38) { temp3 = 16.0f; } @@ -8553,7 +8548,7 @@ void func_80845668(Player* this, GlobalContext* globalCtx) { func_80832698(this, NA_SE_VO_LI_CLIMB_END); } - if ((this->skelAnime.linkAnimetionSeg == &D_04002D38) || (this->skelAnime.animCurrentFrame > 5.0f)) { + if ((this->skelAnime.animation == &D_04002D38) || (this->skelAnime.animCurrentFrame > 5.0f)) { if (this->unk_850 == 0) { func_80832854(this); this->unk_850 = 1; @@ -9024,17 +9019,17 @@ EffectBlureInit2 D_8085470C = { Vec3s D_80854730 = { -57, 3377, 0 }; -void Player_InitCommon(Player* this, GlobalContext* globalCtx, SkeletonHeader* skelHeader) { +void Player_InitCommon(Player* this, GlobalContext* globalCtx, FlexSkeletonHeader* skelHeader) { this->ageProperties = &sAgeProperties[gSaveContext.linkAge]; Actor_ProcessInitChain(&this->actor, D_80854708); this->swordEffectIndex = TOTAL_EFFECT_COUNT; this->currentYaw = this->actor.posRot.rot.y; func_80834644(globalCtx, this); - SkelAnime_InitLinkAnimetion(globalCtx, &this->skelAnime, skelHeader, D_80853914[this->modelAnimType], 9, + 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_InitLinkAnimetion(globalCtx, &this->skelAnime2, skelHeader, func_80833338(this), 9, this->limbDrawTable2, + SkelAnime_InitLinkAnimation(globalCtx, &this->skelAnime2, skelHeader, func_80833338(this), 9, this->limbDrawTable2, this->transitionDrawTable2, PLAYER_LIMB_MAX); this->skelAnime2.unk_3E = D_80854730; @@ -10345,7 +10340,8 @@ Gfx* D_80854844[PLAYER_MASK_MAX - 1] = { Vec3s D_80854864 = { 0, 0, 0 }; -void func_8084A0E8(GlobalContext* globalCtx, Player* this, s32 lod, Gfx* cullDList, OverrideLimbDraw overrideLimbDraw) { +void func_8084A0E8(GlobalContext* globalCtx, Player* this, s32 lod, Gfx* cullDList, + OverrideLimbDrawOpa overrideLimbDraw) { static s32 D_8085486C = 255; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_player.c", 19228); @@ -10355,7 +10351,7 @@ void func_8084A0E8(GlobalContext* globalCtx, Player* this, s32 lod, Gfx* cullDLi func_8008F470(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, this->skelAnime.dListCount, lod, this->currentTunic, this->currentBoots, this->actor.shape.unk_06, overrideLimbDraw, func_80090D20, - &this->actor); + this); if ((overrideLimbDraw == func_80090014) && (this->currentMask != PLAYER_MASK_NONE)) { Mtx* sp70 = Graph_Alloc(globalCtx->state.gfxCtx, 2 * sizeof(Mtx)); @@ -10429,7 +10425,7 @@ void Player_Draw(Actor* thisx, GlobalContext* globalCtx) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_player.c", 19346); if (!(this->stateFlags2 & 0x20000000)) { - OverrideLimbDraw overrideLimbDraw = func_80090014; + OverrideLimbDrawOpa overrideLimbDraw = func_80090014; s32 lod; s32 pad; @@ -10856,7 +10852,7 @@ struct_80832924 D_80854878[] = { Vec3f D_80854880 = { 0.0f, 26.0f, -40.0f }; void func_8084B9E4(Player* this, GlobalContext* globalCtx) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; f32 sp70; s16 sp6E; s32 temp1; @@ -10914,7 +10910,7 @@ void func_8084B9E4(Player* this, GlobalContext* globalCtx) { void func_8084BBE4(Player* this, GlobalContext* globalCtx) { f32 sp3C; s16 sp3A; - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; f32 temp; this->stateFlags2 |= 0x40; @@ -10924,7 +10920,7 @@ void func_8084BBE4(Player* this, GlobalContext* globalCtx) { anim = (this->unk_84F > 0) ? &D_04002F28 : D_80853CD4[this->modelAnimType]; func_80832284(globalCtx, this, anim); // clang-format on } else if (this->unk_84F == 0) { - if (this->skelAnime.linkAnimetionSeg == &D_04002F10) { + if (this->skelAnime.animation == &D_04002F10) { temp = 11.0f; } else { temp = 1.0f; @@ -10932,7 +10928,7 @@ void func_8084BBE4(Player* this, GlobalContext* globalCtx) { if (func_800A4530(&this->skelAnime, temp)) { func_80832770(this, NA_SE_PL_WALK_GROUND); - if (this->skelAnime.linkAnimetionSeg == &D_04002F10) { + if (this->skelAnime.animation == &D_04002F10) { this->unk_84F = 1; } else { this->unk_84F = -1; @@ -10999,8 +10995,8 @@ void func_8084BF1C(Player* this, GlobalContext* globalCtx) { s32 sp68; Vec3f sp5C; f32 temp_f0; - LinkAnimetionEntry* sp54; - LinkAnimetionEntry* sp50; + LinkAnimationHeader* anim1; + LinkAnimationHeader* anim2; sp84 = sControlInput->rel.stick_y; sp80 = sControlInput->rel.stick_x; @@ -11075,8 +11071,6 @@ void func_8084BF1C(Player* this, GlobalContext* globalCtx) { func_80832264(globalCtx, this, this->ageProperties->unk_AC[sp68]); } } else { - sp68 ^= 1; - if ((this->actor.posRot.pos.y - this->actor.groundY) < 15.0f) { if (this->unk_84F != 0) { func_8083FB7C(this, globalCtx); @@ -11088,25 +11082,25 @@ void func_8084BF1C(Player* this, GlobalContext* globalCtx) { this->unk_850 = 1; } } else { + sp68 ^= 1; this->skelAnime.prevFramePos = this->ageProperties->unk_62[sp68]; - sp54 = this->ageProperties->unk_AC[sp68]; - SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, sp54, -1.0f, - SkelAnime_GetFrameCount(&sp54->genericHeader), 0.0f, 2, 0.0f); + anim1 = this->ageProperties->unk_AC[sp68]; + SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim1, -1.0f, + SkelAnime_GetFrameCount(anim1), 0.0f, 2, 0.0f); } } - this->unk_850 ^= 1; } else { if ((this->unk_84F != 0) && (sp80 != 0)) { - sp50 = this->ageProperties->unk_BC[this->unk_850]; + anim2 = this->ageProperties->unk_BC[this->unk_850]; if (sp80 > 0) { this->skelAnime.prevFramePos = this->ageProperties->unk_7A[this->unk_850]; - func_80832264(globalCtx, this, sp50); + func_80832264(globalCtx, this, anim2); } else { this->skelAnime.prevFramePos = this->ageProperties->unk_86[this->unk_850]; - SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, sp50, -1.0f, - SkelAnime_GetFrameCount(&sp50->genericHeader), 0.0f, 2, 0.0f); + SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim2, -1.0f, + SkelAnime_GetFrameCount(anim2), 0.0f, 2, 0.0f); } } else { this->stateFlags2 |= 0x1000; @@ -11314,15 +11308,15 @@ void func_8084CBF4(Player* this, f32 arg1, f32 arg2) { } } -LinkAnimetionEntry* D_80854944[] = { +LinkAnimationHeader* D_80854944[] = { 0x04003370, 0x04003368, 0x04003380, 0x04003358, 0x04003338, 0x04003348, 0x04003350, NULL, NULL, }; -LinkAnimetionEntry* D_80854968[] = { +LinkAnimationHeader* D_80854968[] = { 0x04003388, 0x04003388, 0x04003388, 0x04003360, 0x04003340, 0x04003340, 0x04003340, NULL, NULL, }; -LinkAnimetionEntry* D_8085498C[] = { +LinkAnimationHeader* D_8085498C[] = { 0x040033C8, 0x040033B8, 0x040033C0, @@ -11351,7 +11345,7 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) { if (this->unk_850 == 0) { if (func_800A3BC0(globalCtx, &this->skelAnime)) { - this->skelAnime.linkAnimetionSeg = &D_040033B8; + this->skelAnime.animation = &D_040033B8; this->unk_850 = 99; return; } @@ -11389,7 +11383,7 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) { } func_80832264(globalCtx, this, D_8085498C[temp]); } else { - this->skelAnime.linkAnimetionSeg = D_80854944[this->unk_850 - 2]; + this->skelAnime.animation = D_80854944[this->unk_850 - 2]; SkelAnime_SetTransition(globalCtx, &this->skelAnime, 8.0f); if (this->unk_850 < 4) { func_80834644(globalCtx, this); @@ -11403,7 +11397,7 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) { func_80832264(globalCtx, this, &D_040033C8); } else if (func_800A3BC0(globalCtx, &this->skelAnime)) { this->unk_850 = 99; - } else if (this->skelAnime.linkAnimetionSeg == &D_040033B8) { + } else if (this->skelAnime.animation == &D_040033B8) { func_80832924(this, D_808549A4); } } else { @@ -11443,7 +11437,7 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) { this->unk_84F = 0; } - if (this->skelAnime2.linkAnimetionSeg == &D_040033B0) { + if (this->skelAnime2.animation == &D_040033B0) { if (func_800A4530(&this->skelAnime2, 23.0f)) { func_8002F7DC(&this->actor, NA_SE_IT_LASH); func_80832698(this, NA_SE_VO_LI_LASH); @@ -11461,7 +11455,7 @@ void func_8084CC98(Player* this, GlobalContext* globalCtx) { this->skelAnime2.limbDrawTbl, D_80853410); } } else { - LinkAnimetionEntry* anim = NULL; + LinkAnimationHeader* anim = NULL; if (EN_HORSE_CHECK_3(rideActor)) { anim = &D_040033B0; @@ -11649,7 +11643,7 @@ void func_8084D84C(Player* this, GlobalContext* globalCtx) { } s32 func_8084D980(GlobalContext* globalCtx, Player* this, f32* arg2, s16* arg3) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; s16 temp1; s32 temp2; @@ -11678,7 +11672,7 @@ s32 func_8084D980(GlobalContext* globalCtx, Player* this, f32* arg2, s16* arg3) } } - if (anim != this->skelAnime.linkAnimetionSeg) { + if (anim != this->skelAnime.animation) { func_80832C6C(globalCtx, this, anim); return 1; } @@ -12004,7 +11998,7 @@ void func_8084E6D4(Player* this, GlobalContext* globalCtx) { return; } - if (this->skelAnime.linkAnimetionSeg == &D_04002DF8) { + if (this->skelAnime.animation == &D_04002DF8) { func_808322D0(globalCtx, this, &D_04002788); } else { func_808322D0(globalCtx, this, &D_04002780); @@ -12021,7 +12015,7 @@ void func_8084E6D4(Player* this, GlobalContext* globalCtx) { return; } - if (this->skelAnime.linkAnimetionSeg == &D_04002788) { + if (this->skelAnime.animation == &D_04002788) { Math_ApproxUpdateScaledS(&this->actor.shape.rot.y, func_8005A9F4(ACTIVE_CAM) + 0x8000, 4000); } @@ -12371,7 +12365,7 @@ void func_8084F390(Player* this, GlobalContext* globalCtx) { } if (func_80077C6C(&this->linearVelocity, sp50, sp4C, sp48) && (sp50 == 0)) { - LinkAnimetionEntry* anim; + LinkAnimationHeader* anim; if (this->unk_84F == 0) { anim = D_80853D04[this->modelAnimType]; } else { @@ -12710,7 +12704,7 @@ void func_808502D0(Player* this, GlobalContext* globalCtx) { if (func_800A3BC0(globalCtx, &this->skelAnime)) { if (!func_80850224(this, globalCtx)) { u8 sp43 = this->skelAnime.flags; - LinkAnimetionEntry* sp3C; + LinkAnimationHeader* sp3C; if (func_8008E9C4(this)) { sp3C = sp44->unk_08; @@ -12813,19 +12807,19 @@ void func_8085076C(Player* this, GlobalContext* globalCtx) { } } -LinkAnimetionEntry* D_80854A58[] = { +LinkAnimationHeader* D_80854A58[] = { 0x04002CF8, 0x04002CE0, 0x04002D10, }; -LinkAnimetionEntry* D_80854A64[] = { +LinkAnimationHeader* D_80854A64[] = { 0x04002D00, 0x04002CE8, 0x04002D18, }; -LinkAnimetionEntry* D_80854A70[] = { +LinkAnimationHeader* D_80854A70[] = { 0x04002D08, 0x04002CF0, 0x04002D20, @@ -12952,7 +12946,7 @@ void func_80850AEC(Player* this, GlobalContext* globalCtx) { return; } - if ((this->skelAnime.linkAnimetionSeg != &D_04002C90) || (4.0f <= this->skelAnime.animCurrentFrame)) { + if ((this->skelAnime.animation != &D_04002C90) || (4.0f <= this->skelAnime.animCurrentFrame)) { this->actor.gravity = 0.0f; Math_ApproxUpdateScaledS(&this->actor.shape.rot.x, this->actor.posRot.rot.x, 0x800); func_8083264C(this, 100, 2, 100, 0); @@ -13064,20 +13058,20 @@ struct_80854B18 D_80854E50[] = { { 12, 0x040027F0 }, { 12, 0x04002808 }, { 12, 0x04002450 }, }; -void func_80850ED8(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +void func_80850ED8(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim) { func_80832DB0(this); func_80832B0C(globalCtx, this, anim); func_80832210(this); } -void func_80850F1C(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +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->genericHeader), 2, -8.0f); + SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f), 0.0f, SkelAnime_GetFrameCount(anim), 2, + -8.0f); func_80832210(this); } -void func_80850F9C(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim) { +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); func_80832210(this); @@ -13238,21 +13232,21 @@ void func_8085157C(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg } void func_808515A4(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg2) { - LinkAnimetionEntry* sp34; + LinkAnimationHeader* anim; if (func_808332B8(this)) { func_80851368(globalCtx, this, 0); return; } - sp34 = D_80853D34[this->modelAnimType]; + anim = D_80853D34[this->modelAnimType]; if ((this->unk_446 == 6) || (this->unk_446 == 0x2E)) { - func_80832264(globalCtx, this, sp34); + func_80832264(globalCtx, this, anim); } else { func_80832DB0(this); - SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, sp34, (2.0f / 3.0f), 0.0f, - SkelAnime_GetFrameCount(&sp34->genericHeader), 0, -4.0f); + SkelAnime_ChangeLinkAnim(globalCtx, &this->skelAnime, anim, (2.0f / 3.0f), 0.0f, SkelAnime_GetFrameCount(anim), + 0, -4.0f); } func_80832210(this); @@ -13352,7 +13346,7 @@ void func_808519C0(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg } // unused -LinkAnimetionEntry* D_80855190[] = { +LinkAnimationHeader* D_80855190[] = { 0x04002720, 0x04002360, }; @@ -13423,7 +13417,7 @@ void func_80851BE8(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg 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.genericHeader), 2, -8.0f); + SkelAnime_GetFrameCount(&D_04003298), 2, -8.0f); } func_80832924(this, D_808551B4); } @@ -13485,7 +13479,7 @@ void func_80851ECC(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg } } -void func_80851F14(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim, struct_80832924* arg3) { +void func_80851F14(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, struct_80832924* arg3) { if (func_800A3BC0(globalCtx, &this->skelAnime)) { func_808322A4(globalCtx, this, anim); this->unk_850 = 1; @@ -13625,7 +13619,7 @@ void func_80852388(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg } } -void func_80852414(GlobalContext* globalCtx, Player* this, LinkAnimetionEntry* anim, struct_80832924* arg3) { +void func_80852414(GlobalContext* globalCtx, Player* this, LinkAnimationHeader* anim, struct_80832924* arg3) { func_80851294(globalCtx, this, anim); if (this->unk_850 == 0) { func_80832924(this, arg3); @@ -13707,7 +13701,7 @@ void func_80852648(GlobalContext* globalCtx, Player* this, CsCmdActorAction* arg } } -LinkAnimetionEntry* D_80855208[] = { +LinkAnimationHeader* D_80855208[] = { 0x040034B8, 0x04003458, }; @@ -13993,7 +13987,7 @@ void func_80853148(GlobalContext* globalCtx, Actor* actor) { func_808322D0(globalCtx, this, (actor->xzDistFromLink < 40.0f) ? &D_04002DF0 : &D_040031A0); } - if (this->skelAnime.linkAnimetionSeg == &D_04002DF0) { + if (this->skelAnime.animation == &D_04002DF0) { func_80832F54(globalCtx, this, 0x19); }