Merge pull request #743 from DRGN-DRC/Sheik-Disassembly

Match `ftSeak_SpecialS`
This commit is contained in:
Robin Avery 2023-03-05 05:35:23 -05:00 committed by GitHub
commit 5df46b88f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 5099 additions and 529 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,573 @@
.include "macros.inc"
.section .text
ftSeak_80114034:
/* 80114034 00110C14 7C 08 02 A6 */ mflr r0
/* 80114038 00110C18 90 01 00 04 */ stw r0, 4(r1)
/* 8011403C 00110C1C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80114040 00110C20 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80114044 00110C24 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 80114048 00110C28 88 1F 22 19 */ lbz r0, 0x2219(r31)
/* 8011404C 00110C2C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80114050 00110C30 40 82 00 2C */ bne lbl_8011407C
/* 80114054 00110C34 80 BF 05 E8 */ lwz r5, 0x5e8(r31)
/* 80114058 00110C38 38 83 00 00 */ addi r4, r3, 0
/* 8011405C 00110C3C 4C C6 31 82 */ crclr 6
/* 80114060 00110C40 38 60 04 FC */ li r3, 0x4fc
/* 80114064 00110C44 80 A5 02 B0 */ lwz r5, 0x2b0(r5)
/* 80114068 00110C48 4B F4 BD 75 */ bl ef_Spawn
/* 8011406C 00110C4C 88 1F 22 19 */ lbz r0, 0x2219(r31)
/* 80114070 00110C50 38 60 00 01 */ li r3, 1
/* 80114074 00110C54 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80114078 00110C58 98 1F 22 19 */ stb r0, 0x2219(r31)
lbl_8011407C:
/* 8011407C 00110C5C 3C 60 80 06 */ lis r3, efLib_PauseAll@ha
/* 80114080 00110C60 38 03 BA 40 */ addi r0, r3, efLib_PauseAll@l
/* 80114084 00110C64 3C 60 80 06 */ lis r3, efLib_ResumeAll@ha
/* 80114088 00110C68 90 1F 21 D4 */ stw r0, 0x21d4(r31)
/* 8011408C 00110C6C 38 03 BA C4 */ addi r0, r3, efLib_ResumeAll@l
/* 80114090 00110C70 90 1F 21 D8 */ stw r0, 0x21d8(r31)
/* 80114094 00110C74 38 00 00 00 */ li r0, 0
/* 80114098 00110C78 90 1F 21 BC */ stw r0, 0x21bc(r31)
/* 8011409C 00110C7C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 801140A0 00110C80 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 801140A4 00110C84 38 21 00 18 */ addi r1, r1, 0x18
/* 801140A8 00110C88 7C 08 03 A6 */ mtlr r0
/* 801140AC 00110C8C 4E 80 00 20 */ blr
ftSeak_801140B0:
/* 801140B0 00110C90 7C 08 02 A6 */ mflr r0
/* 801140B4 00110C94 90 01 00 04 */ stw r0, 4(r1)
/* 801140B8 00110C98 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 801140BC 00110C9C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 801140C0 00110CA0 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 801140C4 00110CA4 88 1F 22 19 */ lbz r0, 0x2219(r31)
/* 801140C8 00110CA8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801140CC 00110CAC 40 82 00 2C */ bne lbl_801140F8
/* 801140D0 00110CB0 80 BF 05 E8 */ lwz r5, 0x5e8(r31)
/* 801140D4 00110CB4 38 83 00 00 */ addi r4, r3, 0
/* 801140D8 00110CB8 4C C6 31 82 */ crclr 6
/* 801140DC 00110CBC 38 60 04 FD */ li r3, 0x4fd
/* 801140E0 00110CC0 80 A5 00 40 */ lwz r5, 0x40(r5)
/* 801140E4 00110CC4 4B F4 BC F9 */ bl ef_Spawn
/* 801140E8 00110CC8 88 1F 22 19 */ lbz r0, 0x2219(r31)
/* 801140EC 00110CCC 38 60 00 01 */ li r3, 1
/* 801140F0 00110CD0 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801140F4 00110CD4 98 1F 22 19 */ stb r0, 0x2219(r31)
lbl_801140F8:
/* 801140F8 00110CD8 3C 60 80 06 */ lis r3, efLib_PauseAll@ha
/* 801140FC 00110CDC 38 03 BA 40 */ addi r0, r3, efLib_PauseAll@l
/* 80114100 00110CE0 3C 60 80 06 */ lis r3, efLib_ResumeAll@ha
/* 80114104 00110CE4 90 1F 21 D4 */ stw r0, 0x21d4(r31)
/* 80114108 00110CE8 38 03 BA C4 */ addi r0, r3, efLib_ResumeAll@l
/* 8011410C 00110CEC 90 1F 21 D8 */ stw r0, 0x21d8(r31)
/* 80114110 00110CF0 38 00 00 00 */ li r0, 0
/* 80114114 00110CF4 90 1F 21 BC */ stw r0, 0x21bc(r31)
/* 80114118 00110CF8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8011411C 00110CFC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80114120 00110D00 38 21 00 18 */ addi r1, r1, 0x18
/* 80114124 00110D04 7C 08 03 A6 */ mtlr r0
/* 80114128 00110D08 4E 80 00 20 */ blr
ftSeak_8011412C:
/* 8011412C 00110D0C 7C 08 02 A6 */ mflr r0
/* 80114130 00110D10 3C 80 80 14 */ lis r4, ftZelda_8013B4D8@ha
/* 80114134 00110D14 90 01 00 04 */ stw r0, 4(r1)
/* 80114138 00110D18 38 00 00 00 */ li r0, 0
/* 8011413C 00110D1C 38 84 B4 D8 */ addi r4, r4, ftZelda_8013B4D8@l
/* 80114140 00110D20 94 21 FF F8 */ stwu r1, -8(r1)
/* 80114144 00110D24 80 A3 00 2C */ lwz r5, 0x2c(r3)
/* 80114148 00110D28 90 05 21 BC */ stw r0, 0x21bc(r5)
/* 8011414C 00110D2C 4B F6 AE 7D */ bl func_8007EFC8
/* 80114150 00110D30 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80114154 00110D34 38 21 00 08 */ addi r1, r1, 8
/* 80114158 00110D38 7C 08 03 A6 */ mtlr r0
/* 8011415C 00110D3C 4E 80 00 20 */ blr
.global ftSeak_SpecialLw_StartAction
ftSeak_SpecialLw_StartAction:
/* 80114160 00110D40 7C 08 02 A6 */ mflr r0
/* 80114164 00110D44 38 80 01 69 */ li r4, 0x169
/* 80114168 00110D48 90 01 00 04 */ stw r0, 4(r1)
/* 8011416C 00110D4C 38 A0 00 00 */ li r5, 0
/* 80114170 00110D50 38 C0 00 00 */ li r6, 0
/* 80114174 00110D54 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 80114178 00110D58 93 E1 00 34 */ stw r31, 0x34(r1)
/* 8011417C 00110D5C 7C 7F 1B 78 */ mr r31, r3
/* 80114180 00110D60 C0 22 9C C4 */ lfs f1, lbl_804D96A4@sda21(r2)
/* 80114184 00110D64 C0 42 9C C8 */ lfs f2, lbl_804D96A8@sda21(r2)
/* 80114188 00110D68 FC 60 08 90 */ fmr f3, f1
/* 8011418C 00110D6C 4B F5 52 21 */ bl Fighter_ActionStateChange_800693AC
/* 80114190 00110D70 7F E3 FB 78 */ mr r3, r31
/* 80114194 00110D74 4B F5 AA 11 */ bl func_8006EBA4
/* 80114198 00110D78 83 FF 00 2C */ lwz r31, 0x2c(r31)
/* 8011419C 00110D7C 38 00 00 00 */ li r0, 0
/* 801141A0 00110D80 38 A1 00 20 */ addi r5, r1, 0x20
/* 801141A4 00110D84 80 7F 02 D4 */ lwz r3, 0x2d4(r31)
/* 801141A8 00110D88 38 80 00 00 */ li r4, 0
/* 801141AC 00110D8C 90 1F 22 00 */ stw r0, 0x2200(r31)
/* 801141B0 00110D90 C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 801141B4 00110D94 C0 03 00 60 */ lfs f0, 0x60(r3)
/* 801141B8 00110D98 EC 01 00 24 */ fdivs f0, f1, f0
/* 801141BC 00110D9C D0 1F 00 80 */ stfs f0, 0x80(r31)
/* 801141C0 00110DA0 C0 3F 00 84 */ lfs f1, 0x84(r31)
/* 801141C4 00110DA4 C0 03 00 64 */ lfs f0, 0x64(r3)
/* 801141C8 00110DA8 EC 01 00 24 */ fdivs f0, f1, f0
/* 801141CC 00110DAC D0 1F 00 84 */ stfs f0, 0x84(r31)
/* 801141D0 00110DB0 C0 3F 00 EC */ lfs f1, 0xec(r31)
/* 801141D4 00110DB4 C0 03 00 60 */ lfs f0, 0x60(r3)
/* 801141D8 00110DB8 EC 01 00 24 */ fdivs f0, f1, f0
/* 801141DC 00110DBC D0 1F 00 EC */ stfs f0, 0xec(r31)
/* 801141E0 00110DC0 80 7F 05 E8 */ lwz r3, 0x5e8(r31)
/* 801141E4 00110DC4 80 63 00 00 */ lwz r3, 0(r3)
/* 801141E8 00110DC8 4B EF 6F E5 */ bl func_8000B1CC
/* 801141EC 00110DCC C0 22 9C B8 */ lfs f1, lbl_804D9698@sda21(r2)
/* 801141F0 00110DD0 38 61 00 20 */ addi r3, r1, 0x20
/* 801141F4 00110DD4 C0 42 9C BC */ lfs f2, lbl_804D969C@sda21(r2)
/* 801141F8 00110DD8 38 80 00 78 */ li r4, 0x78
/* 801141FC 00110DDC C0 62 9C C0 */ lfs f3, lbl_804D96A0@sda21(r2)
/* 80114200 00110DE0 4B EF D7 DD */ bl func_800119DC
/* 80114204 00110DE4 3C 60 80 11 */ lis r3, ftSeak_80114034@ha
/* 80114208 00110DE8 38 03 40 34 */ addi r0, r3, ftSeak_80114034@l
/* 8011420C 00110DEC 90 1F 21 BC */ stw r0, 0x21bc(r31)
/* 80114210 00110DF0 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80114214 00110DF4 83 E1 00 34 */ lwz r31, 0x34(r1)
/* 80114218 00110DF8 38 21 00 38 */ addi r1, r1, 0x38
/* 8011421C 00110DFC 7C 08 03 A6 */ mtlr r0
/* 80114220 00110E00 4E 80 00 20 */ blr
.global ftSeak_SpecialAirLw_StartAction
ftSeak_SpecialAirLw_StartAction:
/* 80114224 00110E04 7C 08 02 A6 */ mflr r0
/* 80114228 00110E08 38 80 01 6B */ li r4, 0x16b
/* 8011422C 00110E0C 90 01 00 04 */ stw r0, 4(r1)
/* 80114230 00110E10 38 A0 00 00 */ li r5, 0
/* 80114234 00110E14 38 C0 00 00 */ li r6, 0
/* 80114238 00110E18 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8011423C 00110E1C 93 E1 00 34 */ stw r31, 0x34(r1)
/* 80114240 00110E20 7C 7F 1B 78 */ mr r31, r3
/* 80114244 00110E24 C0 22 9C C4 */ lfs f1, lbl_804D96A4@sda21(r2)
/* 80114248 00110E28 C0 42 9C C8 */ lfs f2, lbl_804D96A8@sda21(r2)
/* 8011424C 00110E2C FC 60 08 90 */ fmr f3, f1
/* 80114250 00110E30 4B F5 51 5D */ bl Fighter_ActionStateChange_800693AC
/* 80114254 00110E34 7F E3 FB 78 */ mr r3, r31
/* 80114258 00110E38 4B F5 A9 4D */ bl func_8006EBA4
/* 8011425C 00110E3C 83 FF 00 2C */ lwz r31, 0x2c(r31)
/* 80114260 00110E40 38 00 00 00 */ li r0, 0
/* 80114264 00110E44 38 A1 00 20 */ addi r5, r1, 0x20
/* 80114268 00110E48 80 7F 02 D4 */ lwz r3, 0x2d4(r31)
/* 8011426C 00110E4C 38 80 00 00 */ li r4, 0
/* 80114270 00110E50 90 1F 22 00 */ stw r0, 0x2200(r31)
/* 80114274 00110E54 C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 80114278 00110E58 C0 03 00 60 */ lfs f0, 0x60(r3)
/* 8011427C 00110E5C EC 01 00 24 */ fdivs f0, f1, f0
/* 80114280 00110E60 D0 1F 00 80 */ stfs f0, 0x80(r31)
/* 80114284 00110E64 C0 3F 00 84 */ lfs f1, 0x84(r31)
/* 80114288 00110E68 C0 03 00 64 */ lfs f0, 0x64(r3)
/* 8011428C 00110E6C EC 01 00 24 */ fdivs f0, f1, f0
/* 80114290 00110E70 D0 1F 00 84 */ stfs f0, 0x84(r31)
/* 80114294 00110E74 C0 3F 00 EC */ lfs f1, 0xec(r31)
/* 80114298 00110E78 C0 03 00 60 */ lfs f0, 0x60(r3)
/* 8011429C 00110E7C EC 01 00 24 */ fdivs f0, f1, f0
/* 801142A0 00110E80 D0 1F 00 EC */ stfs f0, 0xec(r31)
/* 801142A4 00110E84 80 7F 05 E8 */ lwz r3, 0x5e8(r31)
/* 801142A8 00110E88 80 63 00 00 */ lwz r3, 0(r3)
/* 801142AC 00110E8C 4B EF 6F 21 */ bl func_8000B1CC
/* 801142B0 00110E90 C0 22 9C B8 */ lfs f1, lbl_804D9698@sda21(r2)
/* 801142B4 00110E94 38 61 00 20 */ addi r3, r1, 0x20
/* 801142B8 00110E98 C0 42 9C BC */ lfs f2, lbl_804D969C@sda21(r2)
/* 801142BC 00110E9C 38 80 00 78 */ li r4, 0x78
/* 801142C0 00110EA0 C0 62 9C C0 */ lfs f3, lbl_804D96A0@sda21(r2)
/* 801142C4 00110EA4 4B EF D7 19 */ bl func_800119DC
/* 801142C8 00110EA8 3C 60 80 11 */ lis r3, ftSeak_80114034@ha
/* 801142CC 00110EAC 38 03 40 34 */ addi r0, r3, ftSeak_80114034@l
/* 801142D0 00110EB0 90 1F 21 BC */ stw r0, 0x21bc(r31)
/* 801142D4 00110EB4 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 801142D8 00110EB8 83 E1 00 34 */ lwz r31, 0x34(r1)
/* 801142DC 00110EBC 38 21 00 38 */ addi r1, r1, 0x38
/* 801142E0 00110EC0 7C 08 03 A6 */ mtlr r0
/* 801142E4 00110EC4 4E 80 00 20 */ blr
.global ftSeak_801142E8
ftSeak_801142E8:
/* 801142E8 00110EC8 7C 08 02 A6 */ mflr r0
/* 801142EC 00110ECC 90 01 00 04 */ stw r0, 4(r1)
/* 801142F0 00110ED0 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 801142F4 00110ED4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 801142F8 00110ED8 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 801142FC 00110EDC 4B F5 AF 3D */ bl ftAnim_IsFramesRemaining
/* 80114300 00110EE0 2C 03 00 00 */ cmpwi r3, 0
/* 80114304 00110EE4 40 82 00 10 */ bne lbl_80114314
/* 80114308 00110EE8 3C 60 80 11 */ lis r3, ftSeak_8011412C@ha
/* 8011430C 00110EEC 38 03 41 2C */ addi r0, r3, ftSeak_8011412C@l
/* 80114310 00110EF0 90 1F 21 BC */ stw r0, 0x21bc(r31)
lbl_80114314:
/* 80114314 00110EF4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80114318 00110EF8 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8011431C 00110EFC 38 21 00 18 */ addi r1, r1, 0x18
/* 80114320 00110F00 7C 08 03 A6 */ mtlr r0
/* 80114324 00110F04 4E 80 00 20 */ blr
.global ftSeak_80114328
ftSeak_80114328:
/* 80114328 00110F08 7C 08 02 A6 */ mflr r0
/* 8011432C 00110F0C 90 01 00 04 */ stw r0, 4(r1)
/* 80114330 00110F10 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80114334 00110F14 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80114338 00110F18 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 8011433C 00110F1C 4B F5 AE FD */ bl ftAnim_IsFramesRemaining
/* 80114340 00110F20 2C 03 00 00 */ cmpwi r3, 0
/* 80114344 00110F24 40 82 00 10 */ bne lbl_80114354
/* 80114348 00110F28 3C 60 80 11 */ lis r3, ftSeak_8011412C@ha
/* 8011434C 00110F2C 38 03 41 2C */ addi r0, r3, ftSeak_8011412C@l
/* 80114350 00110F30 90 1F 21 BC */ stw r0, 0x21bc(r31)
lbl_80114354:
/* 80114354 00110F34 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80114358 00110F38 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8011435C 00110F3C 38 21 00 18 */ addi r1, r1, 0x18
/* 80114360 00110F40 7C 08 03 A6 */ mtlr r0
/* 80114364 00110F44 4E 80 00 20 */ blr
.global ftSeak_80114368
ftSeak_80114368:
/* 80114368 00110F48 4E 80 00 20 */ blr
.global ftSeak_8011436C
ftSeak_8011436C:
/* 8011436C 00110F4C 4E 80 00 20 */ blr
.global ftSeak_80114370
ftSeak_80114370:
/* 80114370 00110F50 7C 08 02 A6 */ mflr r0
/* 80114374 00110F54 90 01 00 04 */ stw r0, 4(r1)
/* 80114378 00110F58 94 21 FF F8 */ stwu r1, -8(r1)
/* 8011437C 00110F5C 4B F7 0B C1 */ bl func_80084F3C
/* 80114380 00110F60 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80114384 00110F64 38 21 00 08 */ addi r1, r1, 8
/* 80114388 00110F68 7C 08 03 A6 */ mtlr r0
/* 8011438C 00110F6C 4E 80 00 20 */ blr
.global ftSeak_80114390
ftSeak_80114390:
/* 80114390 00110F70 7C 08 02 A6 */ mflr r0
/* 80114394 00110F74 90 01 00 04 */ stw r0, 4(r1)
/* 80114398 00110F78 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8011439C 00110F7C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801143A0 00110F80 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 801143A4 00110F84 80 9F 02 D4 */ lwz r4, 0x2d4(r31)
/* 801143A8 00110F88 7F E3 FB 78 */ mr r3, r31
/* 801143AC 00110F8C C0 24 00 68 */ lfs f1, 0x68(r4)
/* 801143B0 00110F90 C0 44 00 6C */ lfs f2, 0x6c(r4)
/* 801143B4 00110F94 4B F6 90 E1 */ bl func_8007D494
/* 801143B8 00110F98 7F E3 FB 78 */ mr r3, r31
/* 801143BC 00110F9C 4B F6 8B 39 */ bl func_8007CEF4
/* 801143C0 00110FA0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801143C4 00110FA4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801143C8 00110FA8 38 21 00 20 */ addi r1, r1, 0x20
/* 801143CC 00110FAC 7C 08 03 A6 */ mtlr r0
/* 801143D0 00110FB0 4E 80 00 20 */ blr
.global ftSeak_801143D4
ftSeak_801143D4:
/* 801143D4 00110FB4 7C 08 02 A6 */ mflr r0
/* 801143D8 00110FB8 90 01 00 04 */ stw r0, 4(r1)
/* 801143DC 00110FBC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 801143E0 00110FC0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 801143E4 00110FC4 7C 7F 1B 78 */ mr r31, r3
/* 801143E8 00110FC8 4B F6 E3 21 */ bl func_80082708
/* 801143EC 00110FCC 2C 03 00 00 */ cmpwi r3, 0
/* 801143F0 00110FD0 40 82 00 0C */ bne lbl_801143FC
/* 801143F4 00110FD4 7F E3 FB 78 */ mr r3, r31
/* 801143F8 00110FD8 48 00 00 55 */ bl ftSeak_8011444C
lbl_801143FC:
/* 801143FC 00110FDC 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80114400 00110FE0 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80114404 00110FE4 38 21 00 18 */ addi r1, r1, 0x18
/* 80114408 00110FE8 7C 08 03 A6 */ mtlr r0
/* 8011440C 00110FEC 4E 80 00 20 */ blr
.global ftSeak_80114410
ftSeak_80114410:
/* 80114410 00110FF0 7C 08 02 A6 */ mflr r0
/* 80114414 00110FF4 90 01 00 04 */ stw r0, 4(r1)
/* 80114418 00110FF8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8011441C 00110FFC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80114420 00111000 7C 7F 1B 78 */ mr r31, r3
/* 80114424 00111004 4B F6 D8 E9 */ bl func_80081D0C
/* 80114428 00111008 2C 03 00 00 */ cmpwi r3, 0
/* 8011442C 0011100C 41 82 00 0C */ beq lbl_80114438
/* 80114430 00111010 7F E3 FB 78 */ mr r3, r31
/* 80114434 00111014 48 00 00 85 */ bl ftSeak_801144B8
lbl_80114438:
/* 80114438 00111018 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8011443C 0011101C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80114440 00111020 38 21 00 18 */ addi r1, r1, 0x18
/* 80114444 00111024 7C 08 03 A6 */ mtlr r0
/* 80114448 00111028 4E 80 00 20 */ blr
.global ftSeak_8011444C
ftSeak_8011444C:
/* 8011444C 0011102C 7C 08 02 A6 */ mflr r0
/* 80114450 00111030 90 01 00 04 */ stw r0, 4(r1)
/* 80114454 00111034 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80114458 00111038 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8011445C 0011103C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80114460 00111040 7C 7E 1B 78 */ mr r30, r3
/* 80114464 00111044 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 80114468 00111048 7F E3 FB 78 */ mr r3, r31
/* 8011446C 0011104C 4B F6 91 69 */ bl func_8007D5D4
/* 80114470 00111050 3C 80 0C 4C */ lis r4, 0x0C4C508E@ha
/* 80114474 00111054 C0 3F 08 94 */ lfs f1, 0x894(r31)
/* 80114478 00111058 C0 42 9C C8 */ lfs f2, lbl_804D96A8@sda21(r2)
/* 8011447C 0011105C 7F C3 F3 78 */ mr r3, r30
/* 80114480 00111060 C0 62 9C C4 */ lfs f3, lbl_804D96A4@sda21(r2)
/* 80114484 00111064 38 A4 50 8E */ addi r5, r4, 0x0C4C508E@l
/* 80114488 00111068 38 80 01 6B */ li r4, 0x16b
/* 8011448C 0011106C 38 C0 00 00 */ li r6, 0
/* 80114490 00111070 4B F5 4F 1D */ bl Fighter_ActionStateChange_800693AC
/* 80114494 00111074 3C 60 80 11 */ lis r3, ftSeak_80114034@ha
/* 80114498 00111078 38 03 40 34 */ addi r0, r3, ftSeak_80114034@l
/* 8011449C 0011107C 90 1F 21 BC */ stw r0, 0x21bc(r31)
/* 801144A0 00111080 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 801144A4 00111084 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 801144A8 00111088 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 801144AC 0011108C 38 21 00 18 */ addi r1, r1, 0x18
/* 801144B0 00111090 7C 08 03 A6 */ mtlr r0
/* 801144B4 00111094 4E 80 00 20 */ blr
.global ftSeak_801144B8
ftSeak_801144B8:
/* 801144B8 00111098 7C 08 02 A6 */ mflr r0
/* 801144BC 0011109C 90 01 00 04 */ stw r0, 4(r1)
/* 801144C0 001110A0 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 801144C4 001110A4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 801144C8 001110A8 93 C1 00 10 */ stw r30, 0x10(r1)
/* 801144CC 001110AC 7C 7E 1B 78 */ mr r30, r3
/* 801144D0 001110B0 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 801144D4 001110B4 7F E3 FB 78 */ mr r3, r31
/* 801144D8 001110B8 4B F6 93 25 */ bl func_8007D7FC
/* 801144DC 001110BC 3C 80 0C 4C */ lis r4, 0x0C4C508E@ha
/* 801144E0 001110C0 C0 3F 08 94 */ lfs f1, 0x894(r31)
/* 801144E4 001110C4 C0 42 9C C8 */ lfs f2, lbl_804D96A8@sda21(r2)
/* 801144E8 001110C8 7F C3 F3 78 */ mr r3, r30
/* 801144EC 001110CC C0 62 9C C4 */ lfs f3, lbl_804D96A4@sda21(r2)
/* 801144F0 001110D0 38 A4 50 8E */ addi r5, r4, 0x0C4C508E@l
/* 801144F4 001110D4 38 80 01 69 */ li r4, 0x169
/* 801144F8 001110D8 38 C0 00 00 */ li r6, 0
/* 801144FC 001110DC 4B F5 4E B1 */ bl Fighter_ActionStateChange_800693AC
/* 80114500 001110E0 3C 60 80 11 */ lis r3, ftSeak_80114034@ha
/* 80114504 001110E4 38 03 40 34 */ addi r0, r3, ftSeak_80114034@l
/* 80114508 001110E8 90 1F 21 BC */ stw r0, 0x21bc(r31)
/* 8011450C 001110EC 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80114510 001110F0 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80114514 001110F4 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80114518 001110F8 38 21 00 18 */ addi r1, r1, 0x18
/* 8011451C 001110FC 7C 08 03 A6 */ mtlr r0
/* 80114520 00111100 4E 80 00 20 */ blr
.global ftSeak_80114524
ftSeak_80114524:
/* 80114524 00111104 7C 08 02 A6 */ mflr r0
/* 80114528 00111108 90 01 00 04 */ stw r0, 4(r1)
/* 8011452C 0011110C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80114530 00111110 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80114534 00111114 7C 7F 1B 78 */ mr r31, r3
/* 80114538 00111118 4B F5 AD 01 */ bl ftAnim_IsFramesRemaining
/* 8011453C 0011111C 2C 03 00 00 */ cmpwi r3, 0
/* 80114540 00111120 40 82 00 0C */ bne lbl_8011454C
/* 80114544 00111124 7F E3 FB 78 */ mr r3, r31
/* 80114548 00111128 4B F7 5D 75 */ bl func_8008A2BC
lbl_8011454C:
/* 8011454C 0011112C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80114550 00111130 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80114554 00111134 38 21 00 18 */ addi r1, r1, 0x18
/* 80114558 00111138 7C 08 03 A6 */ mtlr r0
/* 8011455C 0011113C 4E 80 00 20 */ blr
.global ftSeak_80114560
ftSeak_80114560:
/* 80114560 00111140 7C 08 02 A6 */ mflr r0
/* 80114564 00111144 90 01 00 04 */ stw r0, 4(r1)
/* 80114568 00111148 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8011456C 0011114C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80114570 00111150 7C 7F 1B 78 */ mr r31, r3
/* 80114574 00111154 4B F5 AC C5 */ bl ftAnim_IsFramesRemaining
/* 80114578 00111158 2C 03 00 00 */ cmpwi r3, 0
/* 8011457C 0011115C 40 82 00 0C */ bne lbl_80114588
/* 80114580 00111160 7F E3 FB 78 */ mr r3, r31
/* 80114584 00111164 4B FB 81 AD */ bl func_800CC730
lbl_80114588:
/* 80114588 00111168 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8011458C 0011116C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80114590 00111170 38 21 00 18 */ addi r1, r1, 0x18
/* 80114594 00111174 7C 08 03 A6 */ mtlr r0
/* 80114598 00111178 4E 80 00 20 */ blr
.global ftSeak_8011459C
ftSeak_8011459C:
/* 8011459C 0011117C 4E 80 00 20 */ blr
.global ftSeak_801145A0
ftSeak_801145A0:
/* 801145A0 00111180 4E 80 00 20 */ blr
.global ftSeak_801145A4
ftSeak_801145A4:
/* 801145A4 00111184 7C 08 02 A6 */ mflr r0
/* 801145A8 00111188 90 01 00 04 */ stw r0, 4(r1)
/* 801145AC 0011118C 94 21 FF F8 */ stwu r1, -8(r1)
/* 801145B0 00111190 4B F7 09 8D */ bl func_80084F3C
/* 801145B4 00111194 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801145B8 00111198 38 21 00 08 */ addi r1, r1, 8
/* 801145BC 0011119C 7C 08 03 A6 */ mtlr r0
/* 801145C0 001111A0 4E 80 00 20 */ blr
.global ftSeak_801145C4
ftSeak_801145C4:
/* 801145C4 001111A4 7C 08 02 A6 */ mflr r0
/* 801145C8 001111A8 90 01 00 04 */ stw r0, 4(r1)
/* 801145CC 001111AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801145D0 001111B0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801145D4 001111B4 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 801145D8 001111B8 80 9F 02 D4 */ lwz r4, 0x2d4(r31)
/* 801145DC 001111BC 7F E3 FB 78 */ mr r3, r31
/* 801145E0 001111C0 C0 24 00 68 */ lfs f1, 0x68(r4)
/* 801145E4 001111C4 C0 44 00 6C */ lfs f2, 0x6c(r4)
/* 801145E8 001111C8 4B F6 8E AD */ bl func_8007D494
/* 801145EC 001111CC 7F E3 FB 78 */ mr r3, r31
/* 801145F0 001111D0 4B F6 89 05 */ bl func_8007CEF4
/* 801145F4 001111D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801145F8 001111D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801145FC 001111DC 38 21 00 20 */ addi r1, r1, 0x20
/* 80114600 001111E0 7C 08 03 A6 */ mtlr r0
/* 80114604 001111E4 4E 80 00 20 */ blr
.global ftSeak_80114608
ftSeak_80114608:
/* 80114608 001111E8 7C 08 02 A6 */ mflr r0
/* 8011460C 001111EC 90 01 00 04 */ stw r0, 4(r1)
/* 80114610 001111F0 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80114614 001111F4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80114618 001111F8 7C 7F 1B 78 */ mr r31, r3
/* 8011461C 001111FC 4B F6 E0 ED */ bl func_80082708
/* 80114620 00111200 2C 03 00 00 */ cmpwi r3, 0
/* 80114624 00111204 40 82 00 0C */ bne lbl_80114630
/* 80114628 00111208 7F E3 FB 78 */ mr r3, r31
/* 8011462C 0011120C 48 00 00 55 */ bl ftSeak_80114680
lbl_80114630:
/* 80114630 00111210 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80114634 00111214 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80114638 00111218 38 21 00 18 */ addi r1, r1, 0x18
/* 8011463C 0011121C 7C 08 03 A6 */ mtlr r0
/* 80114640 00111220 4E 80 00 20 */ blr
.global ftSeak_80114644
ftSeak_80114644:
/* 80114644 00111224 7C 08 02 A6 */ mflr r0
/* 80114648 00111228 90 01 00 04 */ stw r0, 4(r1)
/* 8011464C 0011122C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80114650 00111230 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80114654 00111234 7C 7F 1B 78 */ mr r31, r3
/* 80114658 00111238 4B F6 D6 B5 */ bl func_80081D0C
/* 8011465C 0011123C 2C 03 00 00 */ cmpwi r3, 0
/* 80114660 00111240 41 82 00 0C */ beq lbl_8011466C
/* 80114664 00111244 7F E3 FB 78 */ mr r3, r31
/* 80114668 00111248 48 00 00 85 */ bl ftSeak_801146EC
lbl_8011466C:
/* 8011466C 0011124C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80114670 00111250 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80114674 00111254 38 21 00 18 */ addi r1, r1, 0x18
/* 80114678 00111258 7C 08 03 A6 */ mtlr r0
/* 8011467C 0011125C 4E 80 00 20 */ blr
.global ftSeak_80114680
ftSeak_80114680:
/* 80114680 00111260 7C 08 02 A6 */ mflr r0
/* 80114684 00111264 90 01 00 04 */ stw r0, 4(r1)
/* 80114688 00111268 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8011468C 0011126C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80114690 00111270 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80114694 00111274 7C 7E 1B 78 */ mr r30, r3
/* 80114698 00111278 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 8011469C 0011127C 7F E3 FB 78 */ mr r3, r31
/* 801146A0 00111280 4B F6 8F 35 */ bl func_8007D5D4
/* 801146A4 00111284 3C 80 0C 4C */ lis r4, 0x0C4C508E@ha
/* 801146A8 00111288 C0 3F 08 94 */ lfs f1, 0x894(r31)
/* 801146AC 0011128C C0 42 9C C8 */ lfs f2, lbl_804D96A8@sda21(r2)
/* 801146B0 00111290 7F C3 F3 78 */ mr r3, r30
/* 801146B4 00111294 C0 62 9C C4 */ lfs f3, lbl_804D96A4@sda21(r2)
/* 801146B8 00111298 38 A4 50 8E */ addi r5, r4, 0x0C4C508E@l
/* 801146BC 0011129C 38 80 01 6C */ li r4, 0x16c
/* 801146C0 001112A0 38 C0 00 00 */ li r6, 0
/* 801146C4 001112A4 4B F5 4C E9 */ bl Fighter_ActionStateChange_800693AC
/* 801146C8 001112A8 3C 60 80 11 */ lis r3, ftSeak_801140B0@ha
/* 801146CC 001112AC 38 03 40 B0 */ addi r0, r3, ftSeak_801140B0@l
/* 801146D0 001112B0 90 1F 21 BC */ stw r0, 0x21bc(r31)
/* 801146D4 001112B4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 801146D8 001112B8 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 801146DC 001112BC 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 801146E0 001112C0 38 21 00 18 */ addi r1, r1, 0x18
/* 801146E4 001112C4 7C 08 03 A6 */ mtlr r0
/* 801146E8 001112C8 4E 80 00 20 */ blr
.global ftSeak_801146EC
ftSeak_801146EC:
/* 801146EC 001112CC 7C 08 02 A6 */ mflr r0
/* 801146F0 001112D0 90 01 00 04 */ stw r0, 4(r1)
/* 801146F4 001112D4 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 801146F8 001112D8 93 E1 00 14 */ stw r31, 0x14(r1)
/* 801146FC 001112DC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80114700 001112E0 7C 7E 1B 78 */ mr r30, r3
/* 80114704 001112E4 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 80114708 001112E8 7F E3 FB 78 */ mr r3, r31
/* 8011470C 001112EC 4B F6 90 F1 */ bl func_8007D7FC
/* 80114710 001112F0 3C 80 0C 4C */ lis r4, 0x0C4C508E@ha
/* 80114714 001112F4 C0 3F 08 94 */ lfs f1, 0x894(r31)
/* 80114718 001112F8 C0 42 9C C8 */ lfs f2, lbl_804D96A8@sda21(r2)
/* 8011471C 001112FC 7F C3 F3 78 */ mr r3, r30
/* 80114720 00111300 C0 62 9C C4 */ lfs f3, lbl_804D96A4@sda21(r2)
/* 80114724 00111304 38 A4 50 8E */ addi r5, r4, 0x0C4C508E@l
/* 80114728 00111308 38 80 01 6A */ li r4, 0x16a
/* 8011472C 0011130C 38 C0 00 00 */ li r6, 0
/* 80114730 00111310 4B F5 4C 7D */ bl Fighter_ActionStateChange_800693AC
/* 80114734 00111314 3C 60 80 11 */ lis r3, ftSeak_801140B0@ha
/* 80114738 00111318 38 03 40 B0 */ addi r0, r3, ftSeak_801140B0@l
/* 8011473C 0011131C 90 1F 21 BC */ stw r0, 0x21bc(r31)
/* 80114740 00111320 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80114744 00111324 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80114748 00111328 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8011474C 0011132C 38 21 00 18 */ addi r1, r1, 0x18
/* 80114750 00111330 7C 08 03 A6 */ mtlr r0
/* 80114754 00111334 4E 80 00 20 */ blr
.global ftSeak_80114758
ftSeak_80114758:
/* 80114758 00111338 7C 08 02 A6 */ mflr r0
/* 8011475C 0011133C 90 01 00 04 */ stw r0, 4(r1)
/* 80114760 00111340 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80114764 00111344 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80114768 00111348 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 8011476C 0011134C 80 1F 00 E0 */ lwz r0, 0xe0(r31)
/* 80114770 00111350 80 BF 02 D4 */ lwz r5, 0x2d4(r31)
/* 80114774 00111354 2C 00 00 00 */ cmpwi r0, 0
/* 80114778 00111358 40 82 00 0C */ bne lbl_80114784
/* 8011477C 0011135C 38 80 01 6A */ li r4, 0x16a
/* 80114780 00111360 48 00 00 08 */ b lbl_80114788
lbl_80114784:
/* 80114784 00111364 38 80 01 6C */ li r4, 0x16c
lbl_80114788:
/* 80114788 00111368 C0 25 00 70 */ lfs f1, 0x70(r5)
/* 8011478C 0011136C 38 A0 00 00 */ li r5, 0
/* 80114790 00111370 C0 42 9C C8 */ lfs f2, lbl_804D96A8@sda21(r2)
/* 80114794 00111374 38 C0 00 00 */ li r6, 0
/* 80114798 00111378 C0 62 9C C4 */ lfs f3, lbl_804D96A4@sda21(r2)
/* 8011479C 0011137C 4B F5 4C 11 */ bl Fighter_ActionStateChange_800693AC
/* 801147A0 00111380 3C 60 80 11 */ lis r3, ftSeak_801140B0@ha
/* 801147A4 00111384 38 03 40 B0 */ addi r0, r3, ftSeak_801140B0@l
/* 801147A8 00111388 90 1F 21 BC */ stw r0, 0x21bc(r31)
/* 801147AC 0011138C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801147B0 00111390 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801147B4 00111394 38 21 00 20 */ addi r1, r1, 0x20
/* 801147B8 00111398 7C 08 03 A6 */ mtlr r0
/* 801147BC 0011139C 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -61705,7 +61705,7 @@ lbl_802B18F8:
/* 802B1928 002AE508 41 82 00 08 */ beq lbl_802B1930
/* 802B192C 002AE50C 48 00 00 18 */ b lbl_802B1944
lbl_802B1930:
/* 802B1930 002AE510 4B E6 06 71 */ bl func_80111FA0
/* 802B1930 002AE510 4B E6 06 71 */ bl ftSeak_80111FA0
/* 802B1934 002AE514 7C 7E 1B 78 */ mr r30, r3
/* 802B1938 002AE518 48 00 00 0C */ b lbl_802B1944
lbl_802B193C:
@ -61857,7 +61857,7 @@ lbl_802B1B0C:
/* 802B1B38 002AE718 41 82 00 08 */ beq lbl_802B1B40
/* 802B1B3C 002AE71C 48 00 00 2C */ b lbl_802B1B68
lbl_802B1B40:
/* 802B1B40 002AE720 4B E6 04 31 */ bl func_80111F70
/* 802B1B40 002AE720 4B E6 04 31 */ bl ftSeak_80111F70
/* 802B1B44 002AE724 2C 03 00 01 */ cmpwi r3, 1
/* 802B1B48 002AE728 40 82 00 20 */ bne lbl_802B1B68
/* 802B1B4C 002AE72C 38 60 00 01 */ li r3, 1
@ -72814,7 +72814,7 @@ func_802BB20C:
/* 802BB238 002B7E18 80 7F 05 18 */ lwz r3, 0x518(r31)
/* 802BB23C 002B7E1C 28 03 00 00 */ cmplwi r3, 0
/* 802BB240 002B7E20 41 82 00 08 */ beq lbl_802BB248
/* 802BB244 002B7E24 4B E5 5C 09 */ bl func_80110E4C
/* 802BB244 002B7E24 4B E5 5C 09 */ bl ftSeak_80110E4C
lbl_802BB248:
/* 802BB248 002B7E28 38 00 00 00 */ li r0, 0
/* 802BB24C 002B7E2C 90 1F 05 18 */ stw r0, 0x518(r31)
@ -73283,7 +73283,7 @@ lbl_802BB8CC:
/* 802BB8E0 002B84C0 80 7F 05 18 */ lwz r3, 0x518(r31)
/* 802BB8E4 002B84C4 28 03 00 00 */ cmplwi r3, 0
/* 802BB8E8 002B84C8 41 82 00 08 */ beq lbl_802BB8F0
/* 802BB8EC 002B84CC 4B E5 55 61 */ bl func_80110E4C
/* 802BB8EC 002B84CC 4B E5 55 61 */ bl ftSeak_80110E4C
lbl_802BB8F0:
/* 802BB8F0 002B84D0 38 00 00 00 */ li r0, 0
/* 802BB8F4 002B84D4 90 1F 05 18 */ stw r0, 0x518(r31)
@ -74199,10 +74199,10 @@ lbl_802BC558:
lbl_802BC5C0:
/* 802BC5C0 002B91A0 83 1F 0D E4 */ lwz r24, 0xde4(r31)
/* 802BC5C4 002B91A4 80 7F 0D DC */ lwz r3, 0xddc(r31)
/* 802BC5C8 002B91A8 4B E5 49 91 */ bl func_80110F58
/* 802BC5C8 002B91A8 4B E5 49 91 */ bl ftSeak_80110F58
/* 802BC5CC 002B91AC 80 7F 0D DC */ lwz r3, 0xddc(r31)
/* 802BC5D0 002B91B0 FF 80 08 90 */ fmr f28, f1
/* 802BC5D4 002B91B4 4B E5 49 91 */ bl func_80110F64
/* 802BC5D4 002B91B4 4B E5 49 91 */ bl ftSeak_80110F64
/* 802BC5D8 002B91B8 C0 02 D6 F8 */ lfs f0, lbl_804DD0D8@sda21(r2)
/* 802BC5DC 002B91BC FC 1C 00 40 */ fcmpo cr0, f28, f0
/* 802BC5E0 002B91C0 40 80 00 0C */ bge lbl_802BC5EC
@ -74753,7 +74753,7 @@ lbl_802BCD48:
/* 802BCD48 002B9928 80 79 0D DC */ lwz r3, 0xddc(r25)
/* 802BCD4C 002B992C 38 81 00 54 */ addi r4, r1, 0x54
/* 802BCD50 002B9930 38 B7 FF FF */ addi r5, r23, -1
/* 802BCD54 002B9934 4B E5 3C 2D */ bl func_80110980
/* 802BCD54 002B9934 4B E5 3C 2D */ bl ftSeak_UpdateHitboxes
/* 802BCD58 002B9938 3A F7 FF FF */ addi r23, r23, -1
lbl_802BCD5C:
/* 802BCD5C 002B993C 7C 17 C0 00 */ cmpw r23, r24
@ -74765,7 +74765,7 @@ lbl_802BCD64:
/* 802BCD70 002B9950 80 79 0D DC */ lwz r3, 0xddc(r25)
/* 802BCD74 002B9954 38 81 00 54 */ addi r4, r1, 0x54
/* 802BCD78 002B9958 38 A0 00 03 */ li r5, 3
/* 802BCD7C 002B995C 4B E5 3C 05 */ bl func_80110980
/* 802BCD7C 002B995C 4B E5 3C 05 */ bl ftSeak_UpdateHitboxes
lbl_802BCD80:
/* 802BCD80 002B9960 C0 21 00 60 */ lfs f1, 0x60(r1)
/* 802BCD84 002B9964 3B 9C 00 01 */ addi r28, r28, 1

View File

@ -150,9 +150,14 @@ TEXT_O_FILES +=\
$(BUILD_DIR)/src/melee/ft/chara/ftDonkey/ftdonkey_SpecialHi.c.o\
TEXT_O_FILES +=\
$(BUILD_DIR)/src/melee/ft/chara/ftSeak/ftseak1.c.o\
$(BUILD_DIR)/src/melee/ft/chara/ftSeak/ftseak2.c.o\
$(BUILD_DIR)/asm/melee/ft/chara/ftseak3.s.o\
$(BUILD_DIR)/src/melee/ft/chara/ftSeak/ftSeak_Init.c.o\
$(BUILD_DIR)/src/melee/ft/chara/ftSeak/ftSeak_SpecialS.c.o\
$(BUILD_DIR)/asm/melee/ft/chara/ftSeak/ftSeak_SpecialN.s.o\
$(BUILD_DIR)/src/melee/ft/chara/ftSeak/ftSeak_SpecialN.c.o\
$(BUILD_DIR)/asm/melee/ft/chara/ftSeak/ftSeak_SpecialHi.s.o\
$(BUILD_DIR)/src/melee/ft/chara/ftSeak/ftSeak_SpecialHi.c.o\
$(BUILD_DIR)/asm/melee/ft/chara/ftSeak/ftSeak_SpecialLw.s.o\
$(BUILD_DIR)/src/melee/ft/chara/ftSeak/ftSeak_SpecialLw.c.o\
TEXT_O_FILES +=\
$(BUILD_DIR)/src/melee/ft/chara/ftNess/ftNess.c.o\

View File

@ -10,4 +10,6 @@ double __fabs(double);
float __fabsf(float);
double __frsqrte(double);
void* __memcpy(void* dst, const void* src, unsigned long n);
#endif

View File

@ -7,14 +7,17 @@
#define M_PI 3.14159265358979323846
#define M_PI_2 1.57079632679489655799
#define DEG_TO_RAD 0.01745329252f
#define DEG_TO_RAD 0.01745329252F
#define RAD_TO_DEG 57.29578F
#define M_PI_F 3.14159265358979323846F
#ifdef __MWERKS__
#pragma push
#pragma cplusplus on
#endif
#define FLT_EPSILON 1.00000001335e-10f
#define FLT_EPSILON 1.00000001335e-10F
extern inline float sqrtf(float x)
{

View File

@ -0,0 +1,187 @@
#include <melee/ft/chara/ftSeak/ftSeak_Init.h>
#include <melee/ft/chara/ftSeak/ftSeak_SpecialLw.h>
#include <melee/ft/chara/ftSeak/ftSeak_SpecialN.h>
#include <melee/ft/chara/ftSeak/ftSeak_SpecialS.h>
#include <melee/ft/chara/ftSeak/types.h>
#include <melee/ft/fighter.h>
#include <melee/ft/forward.h>
#include <melee/ft/ft_unknown_006.h>
#include <melee/ft/ftcamera.h>
#include <melee/ft/ftparts.h>
#include <melee/ft/types.h>
ActionState as_table_seak[] = {
{ 295, 0x00340111, 0x12000000, ftSeak_80112248, ftSeak_801126C8,
ftSeak_80112878, ftSeak_80112978, func_800761C8 },
{ 296, 0x003C0111, 0x12000000, ftSeak_801122D8, ftSeak_801126CC,
ftSeak_80112898, ftSeak_801129F8, func_800761C8 },
{ 297, 0x00340111, 0x12000000, ftSeak_80112384, ftSeak_80112798,
ftSeak_801128B8, ftSeak_80112A78, func_800761C8 },
{ 298, 0x00340111, 0x12000000, ftSeak_801123CC, ftSeak_8011279C,
ftSeak_801128D8, ftSeak_80112B00, func_800761C8 },
{ 299, 0x00340511, 0x12000000, ftSeak_80112450, ftSeak_801127A0,
ftSeak_801128F8, ftSeak_80112B98, func_800761C8 },
{ 300, 0x003C0511, 0x12000000, ftSeak_801124E0, ftSeak_801127A4,
ftSeak_80112918, ftSeak_80112C18, func_800761C8 },
{ 301, 0x00340511, 0x12000000, ftSeak_8011258C, ftSeak_80112870,
ftSeak_80112938, ftSeak_80112C98, func_800761C8 },
{ 302, 0x00340511, 0x12000000, ftSeak_8011260C, ftSeak_80112874,
ftSeak_80112958, ftSeak_80112CE4, func_800761C8 },
{ 303, 0x00340012, 0x13000000, ftSeak_SpecialS_Anim, ftSeak_80111344,
ftSeak_8011134C, ftSeak_801113C8, func_800761C8 },
{ 305, 0x003C0012, 0x13000000, ftSeak_80111588, ftSeak_80111708,
ftSeak_80111778, ftSeak_801117B8, func_800761C8 },
{ 304, 0x00340012, 0x13000000, ftSeak_80111A48, ftSeak_80111BF0,
ftSeak_80111BF8, ftSeak_80111C38, func_800761C8 },
{ 306, 0x00340412, 0x13000000, ftSeak_80111308, ftSeak_80111348,
ftSeak_8011136C, ftSeak_80111404, func_800761C8 },
{ 308, 0x003C0412, 0x13000000, ftSeak_80111648, ftSeak_80111740,
ftSeak_80111798, ftSeak_801117F4, func_800761C8 },
{ 307, 0x00340412, 0x13000000, ftSeak_80111B1C, ftSeak_80111BF4,
ftSeak_80111C18, ftSeak_80111C74, func_800761C8 },
{ 309, 0x00340213, 0x14000000, ftSeak_80113194, ftSeak_8011320C,
ftSeak_80113214, ftSeak_80113278, func_800761C8 },
{ 309, 0x00340213, 0x14000000, ftSeak_801133FC, ftSeak_80113474,
ftSeak_8011347C, ftSeak_801134A0, func_800761C8 },
{ 310, 0x00340213, 0x14000000, ftSeak_80113C40, ftSeak_80113CDC,
ftSeak_80113CE4, ftSeak_80113D80, func_800761C8 },
{ 311, 0x00340613, 0x14000000, ftSeak_801131D0, ftSeak_80113210,
ftSeak_80113234, ftSeak_801132B4, func_800761C8 },
{ 311, 0x00340613, 0x14000000, ftSeak_80113438, ftSeak_80113478,
ftSeak_8011349C, ftSeak_80113540, func_800761C8 },
{ 312, 0x00340613, 0x14000000, ftSeak_80113C7C, ftSeak_80113CE0,
ftSeak_80113D04, ftSeak_80113DBC, func_800761C8 },
{ 313, 0x00340014, 0x15000000, ftSeak_801142E8, ftSeak_80114368,
ftSeak_80114370, ftSeak_801143D4, func_800761C8 },
{ 314, 0x00340014, 0x15000000, ftSeak_80114524, ftSeak_8011459C,
ftSeak_801145A4, ftSeak_80114608, func_800761C8 },
{ 315, 0x00340414, 0x15000000, ftSeak_80114328, ftSeak_8011436C,
ftSeak_80114390, ftSeak_80114410, func_800761C8 },
{ 316, 0x00340414, 0x15000000, ftSeak_80114560, ftSeak_801145A0,
ftSeak_801145C4, ftSeak_80114644, func_800761C8 },
};
char lbl_803CC360[] = "PlSk.dat";
char lbl_803CC36C[] = "ftDataSeak";
char lbl_803CC378[] = "PlSkNr.dat";
char lbl_803CC384[] = "PlySeak5K_Share_joint";
char lbl_803CC39C[] = "PlySeak5K_Share_matanim_joint";
char lbl_803CC3BC[] = "PlSkRe.dat";
char lbl_803CC3C8[] = "PlySeak5KRe_Share_joint";
char lbl_803CC3E0[] = "PlySeak5KRe_Share_matanim_joint";
char lbl_803CC400[] = "PlSkBu.dat";
char lbl_803CC40C[] = "PlySeak5KBu_Share_joint";
char lbl_803CC424[] = "PlySeak5KBu_Share_matanim_joint";
char lbl_803CC444[] = "PlSkGr.dat";
char lbl_803CC450[] = "PlySeak5KGr_Share_joint";
char lbl_803CC468[] = "PlySeak5KGr_Share_matanim_joint";
char lbl_803CC488[] = "PlSkWh.dat";
char lbl_803CC494[] = "PlySeak5KWh_Share_joint";
char lbl_803CC4AC[] = "PlySeak5KWh_Share_matanim_joint";
char lbl_803CC4CC[] = "PlSkAJ.dat";
Fighter_DemoStrings lbl_803CC548 = {
"ftDemoResultMotionFileSeak",
"ftDemoIntroMotionFileSeak",
"ftDemoEndingMotionFileSeak",
"ftDemoViWaitMotionFileSeak",
};
Fighter_CostumeStrings lbl_803CC558[] = {
{ lbl_803CC378, lbl_803CC384, lbl_803CC39C },
{ lbl_803CC3BC, lbl_803CC3C8, lbl_803CC3E0 },
{ lbl_803CC400, lbl_803CC40C, lbl_803CC424 },
{ lbl_803CC444, lbl_803CC450, lbl_803CC468 },
{ lbl_803CC488, lbl_803CC494, lbl_803CC4AC },
};
void ftSeak_OnDeath(HSD_GObj* fighter_gobj)
{
Fighter* fp = GET_FIGHTER(fighter_gobj);
fp->sa.seak.x222C = 0;
fp->sa.seak.x2230 = 0;
fp->sa.seak.x2234 = 0;
func_80074A4C(fighter_gobj, 0, 0);
func_80074A4C(fighter_gobj, 1, -1);
}
void ftSeak_OnLoad(HSD_GObj* fighter_gobj)
{
Fighter* fp = GET_FIGHTER(fighter_gobj);
void** item_list = fp->x10C_ftData->x48_items;
fp->x2224_flag.bits.b7 = 1;
PUSH_ATTRS(fp, ftSeakAttributes);
func_8026B3F8(item_list[0], 0x4FU);
func_8026B3F8(item_list[1], 0x50U);
func_8026B3F8(item_list[2], 0x55U);
func_8026B3F8(item_list[3], 0x61U);
}
/* static */ void ftSeak_80111FBC(HSD_GObj* fighter_gobj);
/* static */ void ftSeak_CheckAndDestroyChain(HSD_GObj* fighter_gobj);
void ftSeak_80110198(HSD_GObj* fighter_gobj)
{
ftSeak_80111FBC(fighter_gobj);
ftSeak_CheckAndDestroyChain(fighter_gobj);
}
void ftSeak_801101CC(HSD_GObj* fighter_gobj)
{
Fighter* fp = GET_FIGHTER(fighter_gobj);
if (fp->sa.seak.x222C == 6) {
func_800BFFD0(fp, 0x56, 0);
}
}
void ftSeak_OnItemPickup(HSD_GObj* fighter_gobj, bool bool)
{
Fighter_OnItemPickup(fighter_gobj, bool, 1, 1);
}
void ftSeak_OnItemInvisible(HSD_GObj* fighter_gobj)
{
Fighter_OnItemInvisible(fighter_gobj, 1);
}
void ftSeak_OnItemVisible(HSD_GObj* fighter_gobj)
{
Fighter_OnItemVisible(fighter_gobj, 1);
}
void ftSeak_OnItemDrop(HSD_GObj* fighter_gobj, bool bool1)
{
Fighter_OnItemDrop(fighter_gobj, bool1, 1, 1);
}
void ftSeak_LoadSpecialAttrs(HSD_GObj* fighter_gobj)
{
COPY_ATTRS(fighter_gobj, ftSeakAttributes);
}
void ftSeak_OnKnockbackEnter(HSD_GObj* fighter_gobj)
{
Fighter_OnKnockbackEnter(fighter_gobj, 1);
}
void ftSeak_OnKnockbackExit(HSD_GObj* fighter_gobj)
{
Fighter_OnKnockbackExit(fighter_gobj, 1);
}
/// @todo Moved to ftSeak_SpecialN.c
#if false
// 8011412C - 80114160
// https://decomp.me/scratch/b1oIZ
void ftSeak_8011412C(HSD_GObj* fighter_gobj) {
Fighter* fp = GET_FIGHTER(fighter_gobj);
fp->cb.x21BC_callback_Accessory4 = 0;
func_8007EFC8(fighter_gobj, &ftZelda_8013B4D8);
}
#endif

View File

@ -0,0 +1,27 @@
#ifndef MELEE_FT_CHARA_FTSEAK_FTSEAK_INIT_H
#define MELEE_FT_CHARA_FTSEAK_FTSEAK_INIT_H
#include <melee/ft/types.h>
#include <Runtime/platform.h>
#include <sysdolphin/baselib/forward.h>
extern ActionState as_table_seak[];
extern char lbl_803CC360[];
extern char lbl_803CC36C[];
extern char lbl_803CC4CC[];
extern Fighter_DemoStrings lbl_803CC548;
extern Fighter_CostumeStrings lbl_803CC558[];
void ftSeak_OnDeath(HSD_GObj* fighter_gobj);
void ftSeak_OnLoad(HSD_GObj* fighter_gobj);
void ftSeak_80110198(HSD_GObj* fighter_gobj);
void ftSeak_801101CC(HSD_GObj* fighter_gobj);
void ftSeak_OnItemPickup(HSD_GObj* fighter_gobj, bool bool);
void ftSeak_OnItemInvisible(HSD_GObj* fighter_gobj);
void ftSeak_OnItemVisible(HSD_GObj* fighter_gobj);
void ftSeak_OnItemDrop(HSD_GObj* fighter_gobj, bool bool1);
void ftSeak_LoadSpecialAttrs(HSD_GObj* fighter_gobj);
void ftSeak_OnKnockbackEnter(HSD_GObj* fighter_gobj);
void ftSeak_OnKnockbackExit(HSD_GObj* fighter_gobj);
#endif

View File

@ -0,0 +1,103 @@
#include <melee/ft/chara/ftSeak/ftSeak_SpecialHi.h>
f32 const lbl_804D9660 = 0.0F;
f32 const lbl_804D9664 = 1.0F;
f64 const lbl_804D9668 = 4503601774854144.0;
f32 const lbl_804D9670 = 0.01745329238474369F;
f32 const lbl_804D9674 = 90.0F;
f64 const lbl_804D9678 = 0.5;
f64 const lbl_804D9680 = 3.0;
f32 const lbl_804D9688 = 1.5707963705062866F;
f32 const lbl_804D968C = 35.0F;
f32 const lbl_804D9690 = 0.0010000000474974513F;
f32 const lbl_804D9694 = 10.0F;
// 80112ED8 - 80112F48 (0x70 bytes)
// 80112F48 - 80112FA8 (0x60 bytes)
// 80112FA8 - 80113038 (0x90 bytes)
// 80113038 - 801130D0 (0x98 bytes)
// AS_SheikUpBStartGround
// 801130D0 - 8011312C (0x5C bytes)
// Sheik_AS_358_Up-B_Vanish
// 8011312C - 80113194 (0x68 bytes)
// 80113194 - 801131D0 (0x3C bytes)
// 801131D0 - 8011320C (0x3C bytes)
// 8011320C - 80113210 (0x4 bytes)
// Interrupt_SheikUpBStartAir
// 80113210 - 80113214 (0x4 bytes)
// 80113214 - 80113234 (0x20 bytes)
// 80113234 - 80113278 (0x44 bytes)
// 80113278 - 801132B4 (0x3C bytes)
// 801132B4 - 80113324 (0x70 bytes)
// 80113324 - 80113390 (0x6C bytes)
// 80113390 - 801133FC (0x6C bytes)
// 801133FC - 80113438 (0x3C bytes)
// Animation_SheikUpBTravel
// 80113438 - 80113474 (0x3C bytes)
// 80113474 - 80113478 (0x4 bytes)
// Interrupt_SheikUpBTravelAir
// 80113478 - 8011347C (0x4 bytes)
// Physics_SheikUpBTravelAir
// 8011347C - 8011349C (0x20 bytes)
// 8011349C - 801134A0 (0x4 bytes)
// 801134A0 - 80113540 (0xA0 bytes)
// 80113540 - 8011374C (0x20C bytes)
// AS_SheikUpBGroundtoAirFall?
// 8011374C - 801137C8 (0x7C bytes)
// AS_SheikUpBLand
// 801137C8 - 80113838 (0x70 bytes)
// AS_SheikUpBTravelGround
// 80113838 - 80113A30 (0x1F8 bytes)
// AS_SheikUpBTravelAir
// 80113A30 - 80113C40 (0x210 bytes)
// 80113C40 - 80113C7C (0x3C bytes)
// 80113C7C - 80113CDC (0x60 bytes)
// 80113CDC - 80113CE0 (0x4 bytes)
// Interrupt_SheikUpBEndAir
// 80113CE0 - 80113CE4 (0x4 bytes)
// 80113CE4 - 80113D04 (0x20 bytes)
// 80113D04 - 80113D80 (0x7C bytes)
// 80113D80 - 80113DBC (0x3C bytes)
// 80113DBC - 80113E40 (0x84 bytes)
// 80113E40 - 80113EAC (0x6C bytes)
// 80113EAC - 80113F68 (0xBC bytes)
// AS_SheikUpBFall
// 80113F68 - 80114034 (0xCC bytes)

View File

@ -0,0 +1,10 @@
#ifndef MELEE_FT_CHARA_FTSEAK_FTSEAK5_H
#define MELEE_FT_CHARA_FTSEAK_FTSEAK5_H
#include <Runtime/platform.h>
#include <sysdolphin/baselib/forward.h>
void ftSeak_SpecialHi_StartAction(HSD_GObj*);
void ftSeak_SpecialAirHi_StartAction(HSD_GObj*);
#endif

View File

@ -0,0 +1,74 @@
#include <melee/ft/chara/ftSeak/ftSeak_SpecialLw.h>
f32 const lbl_804D9698 = 0.4000000059604645F;
f32 const lbl_804D969C = 0.003000000026077032F;
f32 const lbl_804D96A0 = 1.0471975803375244F;
f32 const lbl_804D96A4 = 0.0F;
f64 const lbl_804D96A8 = 0.0078125;
// 80114034 - 801140B0 (0x7C bytes)
// 801140B0 - 8011412C (0x7C bytes)
/// @todo Unlinked
#if false
// Sheik_TransformToSubcharacter
// 8011412C - 80114160 (0x34 bytes)
// https://decomp.me/scratch/b1oIZ
void ftSeak_8011412C(HSD_GObj* fighterObj)
{
Fighter* fighter = fighterObj->user_data;
fighter->cb.x21BC_callback_Accessory4 = 0;
func_8007EFC8(fighterObj, &ftZelda_8013B4D8);
}
#endif
// Sheik_AS_361_Transform_Grounded
// 80114160 - 80114224 (0xC4 bytes)
// Sheik_AS_363_Transform_Aerial
// 80114224 - 801142E8 (0xC4 bytes)
// Animation_SheikTransformStartGround
// 801142E8 - 80114328 (0x40 bytes)
// 80114328 - 80114368 (0x40 bytes)
// 80114368 - 8011436C (0x4 bytes)
// 8011436C - 80114370 (0x4 bytes)
// 80114370 - 80114390 (0x20 bytes)
// 80114390 - 801143D4 (0x44 bytes)
// 801143D4 - 80114410 (0x3C bytes)
// 80114410 - 8011444C (0x3C bytes)
// 8011444C - 801144B8 (0x6C bytes)
// 801144B8 - 80114524 (0x6C bytes)
// 80114524 - 80114560 (0x3C bytes)
// 80114560 - 8011459C (0x3C bytes)
// 8011459C - 801145A0 (0x4 bytes)
// 801145A0 - 801145A4 (0x4 bytes)
// 801145A4 - 801145C4 (0x20 bytes)
// 801145C4 - 80114608 (0x44 bytes)
// 80114608 - 80114644 (0x3C bytes)
// 80114644 - 80114680 (0x3C bytes)
// 80114680 - 801146EC (0x6C bytes)
// 801146EC - 80114758 (0x6C bytes)
// AS_SheikFinishTransformation
// 80114758 - 801147C0 (0x68 bytes)

View File

@ -0,0 +1,96 @@
#ifndef MELEE_FT_CHARA_FTSEAK_FTSEAK_SPECIALLW_H
#define MELEE_FT_CHARA_FTSEAK_FTSEAK_SPECIALLW_H
#include <Runtime/platform.h>
#include <sysdolphin/baselib/forward.h>
void ftSeak_SpecialLw_StartAction(HSD_GObj*);
void ftSeak_SpecialAirLw_StartAction(HSD_GObj*);
void ftSeak_8011412C(HSD_GObj* fighter_gobj);
void ftSeak_80114758(HSD_GObj*);
void ftSeak_801126C8(HSD_GObj*);
void ftSeak_80112878(HSD_GObj*);
void ftSeak_80112978(HSD_GObj*);
void ftSeak_801122D8(HSD_GObj*);
void ftSeak_801126CC(HSD_GObj*);
void ftSeak_80112898(HSD_GObj*);
void ftSeak_801129F8(HSD_GObj*);
void ftSeak_80112384(HSD_GObj*);
void ftSeak_80112798(HSD_GObj*);
void ftSeak_801128B8(HSD_GObj*);
void ftSeak_80112A78(HSD_GObj*);
void ftSeak_801123CC(HSD_GObj*);
void ftSeak_8011279C(HSD_GObj*);
void ftSeak_801128D8(HSD_GObj*);
void ftSeak_80112B00(HSD_GObj*);
void ftSeak_80112450(HSD_GObj*);
void ftSeak_801127A0(HSD_GObj*);
void ftSeak_801128F8(HSD_GObj*);
void ftSeak_80112B98(HSD_GObj*);
void ftSeak_801124E0(HSD_GObj*);
void ftSeak_801127A4(HSD_GObj*);
void ftSeak_80112918(HSD_GObj*);
void ftSeak_80112C18(HSD_GObj*);
void ftSeak_8011258C(HSD_GObj*);
void ftSeak_80112870(HSD_GObj*);
void ftSeak_80112938(HSD_GObj*);
void ftSeak_80112C98(HSD_GObj*);
void ftSeak_8011260C(HSD_GObj*);
void ftSeak_80112874(HSD_GObj*);
void ftSeak_80112958(HSD_GObj*);
void ftSeak_80112CE4(HSD_GObj*);
void ftSeak_SpecialS_Anim(HSD_GObj*);
void ftSeak_8011134C(HSD_GObj*);
void ftSeak_801113C8(HSD_GObj*);
void ftSeak_80111588(HSD_GObj*);
void ftSeak_80111708(HSD_GObj*);
void ftSeak_80111778(HSD_GObj*);
void ftSeak_801117B8(HSD_GObj*);
void ftSeak_80111A48(HSD_GObj*);
void ftSeak_8011136C(HSD_GObj*);
void ftSeak_80111404(HSD_GObj*);
void ftSeak_80111648(HSD_GObj*);
void ftSeak_80111740(HSD_GObj*);
void ftSeak_80111798(HSD_GObj*);
void ftSeak_80113194(HSD_GObj*);
void ftSeak_8011320C(HSD_GObj*);
void ftSeak_80113214(HSD_GObj*);
void ftSeak_80113278(HSD_GObj*);
void ftSeak_801133FC(HSD_GObj*);
void ftSeak_80113474(HSD_GObj*);
void ftSeak_8011347C(HSD_GObj*);
void ftSeak_801134A0(HSD_GObj*);
void ftSeak_80113C40(HSD_GObj*);
void ftSeak_80113CDC(HSD_GObj*);
void ftSeak_80113CE4(HSD_GObj*);
void ftSeak_80113D80(HSD_GObj*);
void ftSeak_801131D0(HSD_GObj*);
void ftSeak_80113210(HSD_GObj*);
void ftSeak_80113234(HSD_GObj*);
void ftSeak_801132B4(HSD_GObj*);
void ftSeak_80113438(HSD_GObj*);
void ftSeak_80113478(HSD_GObj*);
void ftSeak_8011349C(HSD_GObj*);
void ftSeak_80113540(HSD_GObj*);
void ftSeak_80113C7C(HSD_GObj*);
void ftSeak_80113CE0(HSD_GObj*);
void ftSeak_80113D04(HSD_GObj*);
void ftSeak_80113DBC(HSD_GObj*);
void ftSeak_801142E8(HSD_GObj*);
void ftSeak_80114368(HSD_GObj*);
void ftSeak_80114370(HSD_GObj*);
void ftSeak_801143D4(HSD_GObj*);
void ftSeak_80114524(HSD_GObj*);
void ftSeak_8011459C(HSD_GObj*);
void ftSeak_801145A4(HSD_GObj*);
void ftSeak_80114608(HSD_GObj*);
void ftSeak_80114328(HSD_GObj*);
void ftSeak_8011436C(HSD_GObj*);
void ftSeak_80114390(HSD_GObj*);
void ftSeak_80114410(HSD_GObj*);
void ftSeak_80114560(HSD_GObj*);
void ftSeak_801145A0(HSD_GObj*);
void ftSeak_801145C4(HSD_GObj*);
void ftSeak_80114644(HSD_GObj*);
#endif

View File

@ -0,0 +1,153 @@
#include <melee/ft/chara/ftSeak/ftSeak_SpecialN.h>
f32 lbl_803CC598[] = {
-1, -0.75, -0.5, -0.25, 0, +0.25, +0.5, +0.75, +1,
};
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112408(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112408(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112408(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112408(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112408(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112418(void);
/* static */ void ftSeak_80112408(void);
jtbl_t jtbl_803CC5BC = {
ftSeak_80112418, ftSeak_80112418, ftSeak_80112408, ftSeak_80112418,
ftSeak_80112418, ftSeak_80112408, ftSeak_80112418, ftSeak_80112418,
ftSeak_80112408, ftSeak_80112418, ftSeak_80112418, ftSeak_80112408,
ftSeak_80112418, ftSeak_80112418, ftSeak_80112408, ftSeak_80112418,
ftSeak_80112418, ftSeak_80112408,
};
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112650(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112650(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112650(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112650(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112650(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112660(void);
/* static */ void ftSeak_80112650(void);
jtbl_t jtbl_803CC604 = {
ftSeak_80112660, ftSeak_80112660, ftSeak_80112650, ftSeak_80112660,
ftSeak_80112660, ftSeak_80112650, ftSeak_80112660, ftSeak_80112660,
ftSeak_80112650, ftSeak_80112660, ftSeak_80112660, ftSeak_80112650,
ftSeak_80112660, ftSeak_80112660, ftSeak_80112650, ftSeak_80112660,
ftSeak_80112660, ftSeak_80112650,
};
f32 const lbl_804D9650 = 0;
f32 const lbl_804D9654 = 1;
f32 const lbl_804D9658 = 2;
// Sheik_CheckAndDestroyNeedles
// 80111FBC - 801120D4 (0x118 bytes)
// 801120D4 - 801120E8 (0x14 bytes)
// AS_SheikChargeNeedlesStartGround
// 801120E8 - 80112198 (0xB0 bytes)
// 80112198 - 80112248 (0xB0 bytes)
// 80112248 - 801122D8 (0x90 bytes)
// Sheik_ChargeNeedlesIncrementer
// 801122D8 - 80112384 (0xAC bytes)
// Animation_SheikNeedleCancelGround
// 80112384 - 801123CC (0x48 bytes)
// 801123CC - 80112408 (0x3C bytes)
// 80112408 - 80112418 (0x10 bytes)
// 80112418 - 80112450 (0x38 bytes)
// 80112450 - 801124E0 (0x90 bytes)
// 801124E0 - 8011258C (0xAC bytes)
// 8011258C - 8011260C (0x80 bytes)
// 8011260C - 80112650 (0x44 bytes)
// 80112650 - 80112660 (0x10 bytes)
// 80112660 - 801126C8 (0x68 bytes)
// 801126C8 - 801126CC (0x4 bytes)
// 801126CC - 80112798 (0xCC bytes)
// 80112798 - 8011279C (0x4 bytes)
// 8011279C - 801127A0 (0x4 bytes)
// 801127A0 - 801127A4 (0x4 bytes)
// 801127A4 - 80112870 (0xCC bytes)
// 80112870 - 80112874 (0x4 bytes)
// 80112874 - 80112878 (0x4 bytes)
// 80112878 - 80112898 (0x20 bytes)
// 80112898 - 801128B8 (0x20 bytes)
// 801128B8 - 801128D8 (0x20 bytes)
// 801128D8 - 801128F8 (0x20 bytes)
// 801128F8 - 80112918 (0x20 bytes)
// 80112918 - 80112938 (0x20 bytes)
// 80112938 - 80112958 (0x20 bytes)
// 80112958 - 80112978 (0x20 bytes)
// 80112978 - 801129F8 (0x80 bytes)
// 801129F8 - 80112A78 (0x80 bytes)
// 80112A78 - 80112B00 (0x88 bytes)
// 80112B00 - 80112B98 (0x98 bytes)
// Collision_SheikNeedleStartupAir
// 80112B98 - 80112C18 (0x80 bytes)
// Collision_SheikNeedleChargeAir
// 80112C18 - 80112C98 (0x80 bytes)
// 80112C98 - 80112CE4 (0x4C bytes)
// Collision_SheikNeedleThrowAir
// 80112CE4 - 80112D44 (0x60 bytes)
// Sheik_ShootNeedles
// 80112D44 - 80112ED8 (0x194 bytes)

View File

@ -0,0 +1,11 @@
#ifndef MELEE_FT_CHARA_FTSEAK_FTSEAK_SPECIALN_H
#define MELEE_FT_CHARA_FTSEAK_FTSEAK_SPECIALN_H
#include <Runtime/platform.h>
#include <sysdolphin/baselib/forward.h>
void ftSeak_SpecialN_StartAction(HSD_GObj*);
void ftSeak_SpecialAirN_StartAction(HSD_GObj*);
void ftSeak_80112248(HSD_GObj*);
#endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
#ifndef MELEE_FT_CHARA_FTSEAK_FTSEAK_SPECIALS_H
#define MELEE_FT_CHARA_FTSEAK_FTSEAK_SPECIALS_H
#include <melee/ft/forward.h>
#include <Runtime/platform.h>
#include <sysdolphin/baselib/forward.h>
void ftSeak_80110490(Fighter* fp);
void ftSeak_80110610(HSD_GObj* fighter_gobj, s32 arg1, f32 arg8);
void ftSeak_80110788(HSD_GObj* fighter_gobj);
void ftSeak_8011097C(HSD_GObj* fighter_gobj);
void ftSeak_UpdateHitboxes(HSD_GObj* fighter_gobj, Vec3* new_position,
s32 hitbox_id);
void ftSeak_ZeroHitboxPositions(HSD_GObj* fighter_gobj);
void ftSeak_80110AEC(HSD_GObj* fighter_gobj);
void ftSeak_80110BCC(HSD_GObj* fighter_gobj);
void ftSeak_80110E4C(HSD_GObj* fighter_gobj);
void ftSeak_CheckAndDestroyChain(HSD_GObj* fighter_gobj);
void ftSeak_80110EE8(HSD_GObj* fighter_gobj);
void ftSeak_ChainSomething(HSD_GObj* fighter_gobj);
f32 ftSeak_80110F58(HSD_GObj* fighter_gobj);
f32 ftSeak_80110F64(HSD_GObj* fighter_gobj);
void ftSeak_80110F70(HSD_GObj* fighter_gobj);
void ftSeak_SpecialS_StartAction(HSD_GObj* fighter_gobj);
void ftSeak_SpecialAirS_StartAction(HSD_GObj* fighter_gobj);
bool ftSeak_SpecialS_CheckInitChain(HSD_GObj* fighter_gobj);
void ftSeak_SpecialS_Anim(HSD_GObj* fighter_gobj);
void ftSeak_80111308(HSD_GObj* fighter_gobj);
void ftSeak_80111344(HSD_GObj* fighter_gobj);
void ftSeak_80111348(HSD_GObj* fighter_gobj);
void ftSeak_8011134C(HSD_GObj* fighter_gobj);
void ftSeak_8011136C(HSD_GObj* fighter_gobj);
void ftSeak_801113C8(HSD_GObj* fighter_gobj);
void ftSeak_80111404(HSD_GObj* fighter_gobj);
void ftSeak_80111440(HSD_GObj* fighter_gobj);
void ftSeak_801114E4(HSD_GObj* fighter_gobj);
void ftSeak_80111588(HSD_GObj* fighter_gobj);
void ftSeak_80111648(HSD_GObj* fighter_gobj);
void ftSeak_80111708(HSD_GObj* fighter_gobj);
void ftSeak_80111740(HSD_GObj* fighter_gobj);
void ftSeak_80111778(HSD_GObj* fighter_gobj);
void ftSeak_80111798(HSD_GObj* fighter_gobj);
void ftSeak_801117B8(HSD_GObj* fighter_gobj);
void ftSeak_801117F4(HSD_GObj* fighter_gobj);
void ftSeak_80111830(HSD_GObj* fighter_gobj);
void ftSeak_80111988(HSD_GObj* fighter_gobj);
void ftSeak_80111A48(HSD_GObj* fighter_gobj);
void ftSeak_80111B1C(HSD_GObj* fighter_gobj);
void ftSeak_80111BF0(HSD_GObj* fighter_gobj);
void ftSeak_80111BF4(HSD_GObj* fighter_gobj);
void ftSeak_80111BF8(HSD_GObj* fighter_gobj);
void ftSeak_80111C18(HSD_GObj* fighter_gobj);
void ftSeak_80111C38(HSD_GObj* fighter_gobj);
void ftSeak_80111C74(HSD_GObj* fighter_gobj);
void ftSeak_80111CB0(HSD_GObj* fighter_gobj);
void ftSeak_80111D54(HSD_GObj* fighter_gobj);
void ftSeak_80111DF8(HSD_GObj* fighter_gobj);
void ftSeak_80111EB4(HSD_GObj* fighter_gobj);
bool ftSeak_80111F70(HSD_GObj* fighter_gobj);
int ftSeak_80111FA0(HSD_GObj* fighter_gobj);
#endif

View File

@ -0,0 +1,62 @@
#ifndef _FTSEAK_STATEVARS_H_
#define _FTSEAK_STATEVARS_H_
#include <Runtime/platform.h>
#include <sysdolphin/baselib/gobj.h>
typedef struct ftSeakSpecialN {
s32 x2340;
s32 x2344;
s32 x2348;
s32 x234C;
s32 x2350;
s32 x2354;
s32 x2358;
s32 x235C;
s32 x2360;
s32 x2364;
s32 x2368;
s32 x236C;
} ftSeakSpecialN;
typedef struct ftSeakSpecialS {
s32 x2340;
s32 x2344;
s32 x2348;
s32 x234C;
s32 x2350;
s32 x2354;
s32 x2358;
s32 x235C;
s32 x2360;
s32 x2364;
s32 x2368;
s32 x236C;
} ftSeakSpecialS;
typedef struct ftSeakSpecialHi {
s32 x2340;
s32 x2344;
s32 x2348;
s32 x234C;
s32 x2350;
s32 x2354;
s32 x2358;
s32 x235C;
s32 x2360;
s32 x2364;
s32 x2368;
s32 x236C;
} ftSeakSpecialHi;
typedef union ftSeakStateVars {
ftSeakSpecialN SpecialN;
ftSeakSpecialS SpecialS;
ftSeakSpecialHi SpecialHi;
} ftSeakStateVars;
#endif

View File

@ -1,174 +0,0 @@
#ifndef MELEE_FT_CHARA_FTSEAK_FTSEAK_H
#define MELEE_FT_CHARA_FTSEAK_FTSEAK_H
#include <melee/ft/chara/ftZelda/ftzelda.h>
#include <melee/ft/ftcommon.h>
#include <melee/ft/types.h>
#include <melee/lb/lbvector.h>
typedef struct _ftSeakAttributes {
f32 x0;
f32 x4;
f32 x8;
f32 xC;
f32 x10;
s32 x14;
f32 x18;
s32 x1C;
s32 x20;
s32 x24;
s32 x28;
s32 x2C;
u8 data_filler_1[0x44];
} ftSeakAttributes;
extern ActionState as_table_seak[];
extern char lbl_803CC360[];
extern char lbl_803CC36C[];
extern Fighter_CostumeStrings lbl_803CC558[];
extern char lbl_803CC4CC[];
extern Fighter_DemoStrings lbl_803CC548;
void lbl_8011412C(HSD_GObj* fighter_gobj);
void func_80114758(HSD_GObj*);
void ftSeak_OnLoad(HSD_GObj* fighter_gobj);
void ftSeak_80110198(HSD_GObj* fighter_gobj);
void ftSeak_801101CC(HSD_GObj* fighter_gobj);
void ftSeak_OnItemPickup(HSD_GObj* fighter_gobj, bool bool);
void ftSeak_OnItemInvisible(HSD_GObj* fighter_gobj);
void ftSeak_OnItemVisible(HSD_GObj* fighter_gobj);
void ftSeak_OnItemDrop(HSD_GObj* fighter_gobj, bool bool1);
void ftSeak_LoadSpecialAttrs(HSD_GObj* fighter_gobj);
void ftSeak_OnKnockbackEnter(HSD_GObj* fighter_gobj);
void ftSeak_OnKnockbackExit(HSD_GObj* fighter_gobj);
void ftSeak_OnDeath(HSD_GObj* fighter_gobj);
void lbl_80112248(HSD_GObj*);
void lbl_801126C8(HSD_GObj*);
void lbl_80112878(HSD_GObj*);
void lbl_80112978(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_801122D8(HSD_GObj*);
void lbl_801126CC(HSD_GObj*);
void lbl_80112898(HSD_GObj*);
void lbl_801129F8(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80112384(HSD_GObj*);
void lbl_80112798(HSD_GObj*);
void lbl_801128B8(HSD_GObj*);
void lbl_80112A78(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_801123CC(HSD_GObj*);
void lbl_8011279C(HSD_GObj*);
void lbl_801128D8(HSD_GObj*);
void lbl_80112B00(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80112450(HSD_GObj*);
void lbl_801127A0(HSD_GObj*);
void lbl_801128F8(HSD_GObj*);
void lbl_80112B98(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_801124E0(HSD_GObj*);
void lbl_801127A4(HSD_GObj*);
void lbl_80112918(HSD_GObj*);
void lbl_80112C18(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_8011258C(HSD_GObj*);
void lbl_80112870(HSD_GObj*);
void lbl_80112938(HSD_GObj*);
void lbl_80112C98(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_8011260C(HSD_GObj*);
void lbl_80112874(HSD_GObj*);
void lbl_80112958(HSD_GObj*);
void lbl_80112CE4(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_801112CC(HSD_GObj*);
void lbl_80111344(HSD_GObj*);
void lbl_8011134C(HSD_GObj*);
void lbl_801113C8(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80111588(HSD_GObj*);
void lbl_80111708(HSD_GObj*);
void lbl_80111778(HSD_GObj*);
void lbl_801117B8(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80111A48(HSD_GObj*);
void lbl_80111BF0(HSD_GObj*);
void lbl_80111BF8(HSD_GObj*);
void lbl_80111C38(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80111308(HSD_GObj*);
void lbl_80111348(HSD_GObj*);
void lbl_8011136C(HSD_GObj*);
void lbl_80111404(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80111648(HSD_GObj*);
void lbl_80111740(HSD_GObj*);
void lbl_80111798(HSD_GObj*);
void lbl_801117F4(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80111B1C(HSD_GObj*);
void lbl_80111BF4(HSD_GObj*);
void lbl_80111C18(HSD_GObj*);
void lbl_80111C74(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80113194(HSD_GObj*);
void lbl_8011320C(HSD_GObj*);
void lbl_80113214(HSD_GObj*);
void lbl_80113278(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_801133FC(HSD_GObj*);
void lbl_80113474(HSD_GObj*);
void lbl_8011347C(HSD_GObj*);
void lbl_801134A0(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80113C40(HSD_GObj*);
void lbl_80113CDC(HSD_GObj*);
void lbl_80113CE4(HSD_GObj*);
void lbl_80113D80(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_801131D0(HSD_GObj*);
void lbl_80113210(HSD_GObj*);
void lbl_80113234(HSD_GObj*);
void lbl_801132B4(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80113438(HSD_GObj*);
void lbl_80113478(HSD_GObj*);
void lbl_8011349C(HSD_GObj*);
void lbl_80113540(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80113C7C(HSD_GObj*);
void lbl_80113CE0(HSD_GObj*);
void lbl_80113D04(HSD_GObj*);
void lbl_80113DBC(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_801142E8(HSD_GObj*);
void lbl_80114368(HSD_GObj*);
void lbl_80114370(HSD_GObj*);
void lbl_801143D4(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80114524(HSD_GObj*);
void lbl_8011459C(HSD_GObj*);
void lbl_801145A4(HSD_GObj*);
void lbl_80114608(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80114328(HSD_GObj*);
void lbl_8011436C(HSD_GObj*);
void lbl_80114390(HSD_GObj*);
void lbl_80114410(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void lbl_80114560(HSD_GObj*);
void lbl_801145A0(HSD_GObj*);
void lbl_801145C4(HSD_GObj*);
void lbl_80114644(HSD_GObj*);
void func_800761C8(HSD_GObj*);
void ftSeak_SpecialS_StartAction(HSD_GObj*);
void ftSeak_SpecialAirHi_StartAction(HSD_GObj*);
void ftSeak_SpecialAirLw_StartAction(HSD_GObj*);
void ftSeak_SpecialAirS_StartAction(HSD_GObj*);
void ftSeak_SpecialAirN_StartAction(HSD_GObj*);
void ftSeak_SpecialN_StartAction(HSD_GObj*);
void ftSeak_SpecialLw_StartAction(HSD_GObj*);
void ftSeak_SpecialHi_StartAction(HSD_GObj*);
#endif

View File

@ -1,184 +0,0 @@
#include <melee/ft/chara/ftSeak/ftseak.h>
#include "melee/ft/forward.h"
#include <melee/ft/chara/ftSeak/ftseak.h>
#include <melee/ft/fighter.h>
#include <melee/ft/ft_unknown_006.h>
#include <melee/ft/ftcamera.h>
#include <melee/ft/ftparts.h>
#include <melee/ft/types.h>
ActionState as_table_seak[] = {
{ 295, 0x00340111, 0x12000000, lbl_80112248, lbl_801126C8, lbl_80112878,
lbl_80112978, func_800761C8 },
{ 296, 0x003C0111, 0x12000000, lbl_801122D8, lbl_801126CC, lbl_80112898,
lbl_801129F8, func_800761C8 },
{ 297, 0x00340111, 0x12000000, lbl_80112384, lbl_80112798, lbl_801128B8,
lbl_80112A78, func_800761C8 },
{ 298, 0x00340111, 0x12000000, lbl_801123CC, lbl_8011279C, lbl_801128D8,
lbl_80112B00, func_800761C8 },
{ 299, 0x00340511, 0x12000000, lbl_80112450, lbl_801127A0, lbl_801128F8,
lbl_80112B98, func_800761C8 },
{ 300, 0x003C0511, 0x12000000, lbl_801124E0, lbl_801127A4, lbl_80112918,
lbl_80112C18, func_800761C8 },
{ 301, 0x00340511, 0x12000000, lbl_8011258C, lbl_80112870, lbl_80112938,
lbl_80112C98, func_800761C8 },
{ 302, 0x00340511, 0x12000000, lbl_8011260C, lbl_80112874, lbl_80112958,
lbl_80112CE4, func_800761C8 },
{ 303, 0x00340012, 0x13000000, lbl_801112CC, lbl_80111344, lbl_8011134C,
lbl_801113C8, func_800761C8 },
{ 305, 0x003C0012, 0x13000000, lbl_80111588, lbl_80111708, lbl_80111778,
lbl_801117B8, func_800761C8 },
{ 304, 0x00340012, 0x13000000, lbl_80111A48, lbl_80111BF0, lbl_80111BF8,
lbl_80111C38, func_800761C8 },
{ 306, 0x00340412, 0x13000000, lbl_80111308, lbl_80111348, lbl_8011136C,
lbl_80111404, func_800761C8 },
{ 308, 0x003C0412, 0x13000000, lbl_80111648, lbl_80111740, lbl_80111798,
lbl_801117F4, func_800761C8 },
{ 307, 0x00340412, 0x13000000, lbl_80111B1C, lbl_80111BF4, lbl_80111C18,
lbl_80111C74, func_800761C8 },
{ 309, 0x00340213, 0x14000000, lbl_80113194, lbl_8011320C, lbl_80113214,
lbl_80113278, func_800761C8 },
{ 309, 0x00340213, 0x14000000, lbl_801133FC, lbl_80113474, lbl_8011347C,
lbl_801134A0, func_800761C8 },
{ 310, 0x00340213, 0x14000000, lbl_80113C40, lbl_80113CDC, lbl_80113CE4,
lbl_80113D80, func_800761C8 },
{ 311, 0x00340613, 0x14000000, lbl_801131D0, lbl_80113210, lbl_80113234,
lbl_801132B4, func_800761C8 },
{ 311, 0x00340613, 0x14000000, lbl_80113438, lbl_80113478, lbl_8011349C,
lbl_80113540, func_800761C8 },
{ 312, 0x00340613, 0x14000000, lbl_80113C7C, lbl_80113CE0, lbl_80113D04,
lbl_80113DBC, func_800761C8 },
{ 313, 0x00340014, 0x15000000, lbl_801142E8, lbl_80114368, lbl_80114370,
lbl_801143D4, func_800761C8 },
{ 314, 0x00340014, 0x15000000, lbl_80114524, lbl_8011459C, lbl_801145A4,
lbl_80114608, func_800761C8 },
{ 315, 0x00340414, 0x15000000, lbl_80114328, lbl_8011436C, lbl_80114390,
lbl_80114410, func_800761C8 },
{ 316, 0x00340414, 0x15000000, lbl_80114560, lbl_801145A0, lbl_801145C4,
lbl_80114644, func_800761C8 },
};
char lbl_803CC360[] = "PlSk.dat";
char lbl_803CC36C[] = "ftDataSeak";
char lbl_803CC378[] = "PlSkNr.dat";
char lbl_803CC384[] = "PlySeak5K_Share_joint";
char lbl_803CC39C[] = "PlySeak5K_Share_matanim_joint";
char lbl_803CC3BC[] = "PlSkRe.dat";
char lbl_803CC3C8[] = "PlySeak5KRe_Share_joint";
char lbl_803CC3E0[] = "PlySeak5KRe_Share_matanim_joint";
char lbl_803CC400[] = "PlSkBu.dat";
char lbl_803CC40C[] = "PlySeak5KBu_Share_joint";
char lbl_803CC424[] = "PlySeak5KBu_Share_matanim_joint";
char lbl_803CC444[] = "PlSkGr.dat";
char lbl_803CC450[] = "PlySeak5KGr_Share_joint";
char lbl_803CC468[] = "PlySeak5KGr_Share_matanim_joint";
char lbl_803CC488[] = "PlSkWh.dat";
char lbl_803CC494[] = "PlySeak5KWh_Share_joint";
char lbl_803CC4AC[] = "PlySeak5KWh_Share_matanim_joint";
char lbl_803CC4CC[] = "PlSkAJ.dat";
Fighter_DemoStrings lbl_803CC548 = {
"ftDemoResultMotionFileSeak",
"ftDemoIntroMotionFileSeak",
"ftDemoEndingMotionFileSeak",
"ftDemoViWaitMotionFileSeak",
};
Fighter_CostumeStrings lbl_803CC558[] = {
{ lbl_803CC378, lbl_803CC384, lbl_803CC39C },
{ lbl_803CC3BC, lbl_803CC3C8, lbl_803CC3E0 },
{ lbl_803CC400, lbl_803CC40C, lbl_803CC424 },
{ lbl_803CC444, lbl_803CC450, lbl_803CC468 },
{ lbl_803CC488, lbl_803CC494, lbl_803CC4AC },
};
void ftSeak_OnDeath(HSD_GObj* fighter_gobj)
{
Fighter* fp = GET_FIGHTER(fighter_gobj);
fp->sa.seak.x222C = 0;
fp->sa.seak.x2230 = 0;
fp->sa.seak.x2234 = 0;
func_80074A4C(fighter_gobj, 0, 0);
func_80074A4C(fighter_gobj, 1, -1);
}
void ftSeak_OnLoad(HSD_GObj* fighter_gobj)
{
Fighter* fp = GET_FIGHTER(fighter_gobj);
void** item_list = fp->x10C_ftData->x48_items;
fp->x2224_flag.bits.b7 = 1;
PUSH_ATTRS(fp, ftSeakAttributes);
func_8026B3F8(item_list[0], 0x4FU);
func_8026B3F8(item_list[1], 0x50U);
func_8026B3F8(item_list[2], 0x55U);
func_8026B3F8(item_list[3], 0x61U);
}
/* static */ void func_80111FBC(HSD_GObj* fighter_gobj);
/* static */ void func_80110E88(HSD_GObj* fighter_gobj);
void ftSeak_80110198(HSD_GObj* fighter_gobj)
{
func_80111FBC(fighter_gobj);
func_80110E88(fighter_gobj);
}
void ftSeak_801101CC(HSD_GObj* fighter_gobj)
{
Fighter* fp = GET_FIGHTER(fighter_gobj);
if (fp->sa.seak.x222C == 6) {
func_800BFFD0(fp, 0x56, 0);
}
}
void ftSeak_OnItemPickup(HSD_GObj* fighter_gobj, bool bool)
{
Fighter_OnItemPickup(fighter_gobj, bool, 1, 1);
}
void ftSeak_OnItemInvisible(HSD_GObj* fighter_gobj)
{
Fighter_OnItemInvisible(fighter_gobj, 1);
}
void ftSeak_OnItemVisible(HSD_GObj* fighter_gobj)
{
Fighter_OnItemVisible(fighter_gobj, 1);
}
void ftSeak_OnItemDrop(HSD_GObj* fighter_gobj, bool bool1)
{
Fighter_OnItemDrop(fighter_gobj, bool1, 1, 1);
}
void ftSeak_LoadSpecialAttrs(HSD_GObj* fighter_gobj)
{
COPY_ATTRS(fighter_gobj, ftSeakAttributes);
}
void ftSeak_OnKnockbackEnter(HSD_GObj* fighter_gobj)
{
Fighter_OnKnockbackEnter(fighter_gobj, 1);
}
void ftSeak_OnKnockbackExit(HSD_GObj* fighter_gobj)
{
Fighter_OnKnockbackExit(fighter_gobj, 1);
}
/// @todo Commented code.
#if false
// 8011412C - 80114160
// https://decomp.me/scratch/b1oIZ
void lbl_8011412C(HSD_GObj* fighter_gobj) {
Fighter* fp = GET_FIGHTER(fighter_gobj);
fp->cb.x21BC_callback_Accessory4 = 0;
func_8007EFC8(fighter_gobj, &ftZelda_8013B4D8);
}
#endif

View File

@ -1,60 +0,0 @@
#include <dolphin/mtx/types.h>
#include <Runtime/platform.h>
Vec3 const lbl_803B7588 = { 1.8, 0, 0 };
f32 lbl_803CC598[] = {
-1, -0.75, -0.5, -0.25, 0, +0.25, +0.5, +0.75, +1,
};
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112408(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112408(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112408(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112408(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112408(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112418(void);
/* static */ void lbl_80112408(void);
jtbl_t jtbl_803CC5BC = {
lbl_80112418, lbl_80112418, lbl_80112408, lbl_80112418, lbl_80112418,
lbl_80112408, lbl_80112418, lbl_80112418, lbl_80112408, lbl_80112418,
lbl_80112418, lbl_80112408, lbl_80112418, lbl_80112418, lbl_80112408,
lbl_80112418, lbl_80112418, lbl_80112408,
};
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112650(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112650(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112650(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112650(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112650(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112660(void);
/* static */ void lbl_80112650(void);
jtbl_t jtbl_803CC604 = {
lbl_80112660, lbl_80112660, lbl_80112650, lbl_80112660, lbl_80112660,
lbl_80112650, lbl_80112660, lbl_80112660, lbl_80112650, lbl_80112660,
lbl_80112660, lbl_80112650, lbl_80112660, lbl_80112660, lbl_80112650,
lbl_80112660, lbl_80112660, lbl_80112650,
};

View File

@ -0,0 +1,56 @@
#ifndef MELEE_FT_CHARA_FTSEAK_TYPES_H
#define MELEE_FT_CHARA_FTSEAK_TYPES_H
#include <melee/ft/types.h>
#include <Runtime/platform.h>
/// @sz{74}
typedef struct _ftSeakAttributes {
f32 x0;
f32 x4;
f32 x8;
f32 xC;
f32 x10;
f32 x14;
f32 x18;
f32 x1C;
f32 x20;
f32 x24;
f32 x28;
s32 x2C;
s32 x30;
s32 x34;
s32 x38;
s32 x3C;
s32 x40;
s32 x44;
s32 x48;
s32 x4C;
u8 data_filler_1[0x24];
} ftSeakAttributes;
typedef struct itChainSegment {
f32 x00;
f32 x04;
f32 x08;
f32 x0C;
f32 x10;
f32 x14;
f32 x18;
f32 x1C;
f32 x20;
f32 x24;
f32 x28;
f32 x2C;
f32 x30;
f32 x34;
f32 x38;
f32 x3C;
f32 x40;
f32 x44;
f32 x48;
f32 x4C;
f32 x50;
} itChainSegment;
#endif

View File

@ -2,7 +2,7 @@
#include <melee/ef/eflib.h>
#include <melee/ef/efsync.h>
#include <melee/ft/chara/ftSeak/ftseak.h>
#include <melee/ft/chara/ftSeak/ftSeak_SpecialLw.h>
#include <melee/ft/chara/ftZelda/ftzelda.h>
#include <melee/ft/code_80081B38.h>
#include <melee/ft/fighter.h>
@ -55,7 +55,7 @@ void ftZelda_8013AEAC(HSD_GObj* fighter_gobj)
fp = GET_FIGHTER(fighter_gobj);
fp->cb.x21BC_callback_Accessory4 = 0;
func_8007EFC8(fighter_gobj, func_80114758);
func_8007EFC8(fighter_gobj, ftSeak_80114758);
}
// Helper function for both ftZelda_SpecialLw_StartAction /

View File

@ -2,6 +2,7 @@
#define MELEE_FT_FTANIM_H
#include <melee/ft/forward.h>
#include <placeholder.h>
#include <sysdolphin/baselib/gobj.h>
#include <sysdolphin/baselib/jobj.h>
@ -26,6 +27,13 @@ void func_80070F28(HSD_GObj*);
void func_80070FB4(HSD_GObj*, s32, s32);
bool func_80070FD0(Fighter*);
void Fighter_GetNextJointInTree(HSD_Joint** pjoint, s32* pdepth);
void func_8006FA58(HSD_GObj*);
void func_8006FA58(Fighter* fp, int, int item);
void func_80070010(Fighter* fp, int, int item, f32, f32);
void func_8006FF74(Fighter* fp, int);
void func_8006FE9C(Fighter* fp, int, f32, f32);
void func_80070108(Fighter* fp, int, int item, f32, f32);
void func_8006FB88(Fighter* fp, int, HSD_Joint* joint);
void func_80070710(HSD_JObj* joint, f32);
void func_8006F4C8(Fighter* fp, int, u32);
#endif

View File

@ -40,7 +40,6 @@ void ftComm_ClampFallSpeed(Fighter*, f32);
void func_8007D508(Fighter*, f32, f32);
bool func_8007D528(Fighter*);
void func_8007D5BC(Fighter*);
void func_8007D5D4(Fighter*);
void func_8007D60C(Fighter*);
void func_8007D698(Fighter*);
void func_8007D6A4(Fighter*);

View File

@ -38,12 +38,17 @@
#include <melee/ft/chara/ftSamus/ftsamus5.h>
#include <melee/ft/chara/ftSamus/ftsamus6.h>
#include <melee/ft/chara/ftSandbag/ftsandbag.h>
#include <melee/ft/chara/ftSeak/ftseak.h>
#include <melee/ft/chara/ftSeak/ftSeak_Init.h>
#include <melee/ft/chara/ftSeak/ftSeak_SpecialHi.h>
#include <melee/ft/chara/ftSeak/ftSeak_SpecialLw.h>
#include <melee/ft/chara/ftSeak/ftSeak_SpecialN.h>
#include <melee/ft/chara/ftSeak/ftSeak_SpecialS.h>
#include <melee/ft/chara/ftYoshi/ftyoshi1.h>
#include <melee/ft/chara/ftYoshi/ftyoshi2.h>
#include <melee/ft/chara/ftYoshi/ftyoshi4.h>
#include <melee/ft/chara/ftZakoBoy/ftzakoboy.h>
#include <melee/ft/chara/ftZakoGirl/ftzakogirl.h>
#include <melee/ft/chara/ftZelda/ftzelda.h>
#include <melee/ft/forward.h>
#include <melee/ft/ft_unknown_006.h>
#include <melee/ft/ftdata.h>

View File

@ -11,6 +11,7 @@
#include <melee/ft/chara/ftMario/ftMario_StateVars.h>
#include <melee/ft/chara/ftMewtwo/ftMewtwo_StateVars.h>
#include <melee/ft/chara/ftNess/ftNess_StateVars.h>
#include <melee/ft/chara/ftSeak/ftSeak_StateVars.h>
typedef struct ftCliffCommonVars {
s32 ledgeID; // 0x2340 - Used to check against opponent's variable @ 0x213C

View File

@ -60,91 +60,122 @@ typedef enum FighterKind {
} FighterKind;
typedef enum CharacterKind {
CKIND_CAPTAIN, // Captain Falcon (Captain) //
CKIND_DONKEY, // Donkey Kong (Donkey) //
CKIND_FOX, // Fox //
CKIND_GAMEWATCH, // Mr. Game & Watch (GameWatch) //
CKIND_KIRBY, // Kirby //
CKIND_KOOPA, // Bowser (Koopa) //
CKIND_LINK, // Link //
CKIND_LUIGI, // Luigi //
CKIND_MARIO, // Mario //
CKIND_MARS, // Marth (Mars) //
CKIND_MEWTWO, // Mewtwo //
CKIND_NESS, // Ness//
CKIND_PEACH, // Peach //
CKIND_PIKACHU, // Pikachu //
CKIND_POPONANA, // Ice Climbers (Popo & Nana) //
CKIND_PURIN, // Jigglypuff (Purin) //
CKIND_SAMUS, // Samus //
CKIND_YOSHI, // Yoshi //
CKIND_ZELDA, // Zelda (ZE->SE) //
CKIND_SEAK, // Sheik (SE->ZE) //
CKIND_FALCO, // Falco //
CKIND_CLINK, // Young Link (CLink) //
CKIND_DRMARIO, // Dr. Mario //
CKIND_EMBLEM, // Roy (Emblem) //
CKIND_PICHU, // Pichu //
CKIND_GANON, // Ganondorf (Ganon) //
CKIND_MASTERH, // Master Hand (MasterH) //
CKIND_BOY, // Male Wireframe (Boy) //
CKIND_GIRL, // Female Wireframe (Girl) //
CKIND_GKOOPS, // Giga Bowser (GKoops) //
CKIND_CREZYH, // Crazy Hand (CrezyH) //
CHKIND_SANDBAG, // Sandbag //
CHKIND_POPO, // Popo //
CHKIND_NONE, // None //
CKIND_CAPTAIN, // Captain Falcon (Captain)
CKIND_DONKEY, // Donkey Kong (Donkey)
CKIND_FOX, // Fox
CKIND_GAMEWATCH, // Mr. Game & Watch (GameWatch)
CKIND_KIRBY, // Kirby
CKIND_KOOPA, // Bowser (Koopa)
CKIND_LINK, // Link
CKIND_LUIGI, // Luigi
CKIND_MARIO, // Mario
CKIND_MARS, // Marth (Mars)
CKIND_MEWTWO, // Mewtwo
CKIND_NESS, // Ness
CKIND_PEACH, // Peach
CKIND_PIKACHU, // Pikachu
CKIND_POPONANA, // Ice Climbers (Popo & Nana)
CKIND_PURIN, // Jigglypuff (Purin)
CKIND_SAMUS, // Samus
CKIND_YOSHI, // Yoshi
CKIND_ZELDA, // Zelda (ZE->SE)
CKIND_SEAK, // Sheik (SE->ZE)
CKIND_FALCO, // Falco
CKIND_CLINK, // Young Link (CLink)
CKIND_DRMARIO, // Dr. Mario
CKIND_EMBLEM, // Roy (Emblem)
CKIND_PICHU, // Pichu
CKIND_GANON, // Ganondorf (Ganon)
CKIND_MASTERH, // Master Hand (MasterH)
CKIND_BOY, // Male Wireframe (Boy)
CKIND_GIRL, // Female Wireframe (Girl)
CKIND_GKOOPS, // Giga Bowser (GKoops)
CKIND_CREZYH, // Crazy Hand (CrezyH)
CHKIND_SANDBAG, // Sandbag
CHKIND_POPO, // Popo
CHKIND_NONE, // None
CHKIND_MAX = CHKIND_NONE
} CharacterKind;
// Action State Change flags
#define FIGHTER_FASTFALL_PRESERVE 0x1
#define FIGHTER_GFX_PRESERVE 0x2
#define FIGHTER_HITSTATUS_COLANIM_PRESERVE \
0x4 // Preserve full body collision state //
#define FIGHTER_HIT_NOUPDATE 0x8 // Keep hitboxes
#define FIGHTER_MODEL_NOUPDATE 0x10 // Ignore model state change (?)
#define FIGHTER_ANIMVEL_NOUPDATE 0x20
#define FIGHTER_UNK_0x40 0x40
#define FIGHTER_MATANIM_NOUPDATE \
0x80 // Ignore switching to character's "hurt" textures (?) //
#define FIGHTER_THROW_EXCEPTION_NOUPDATE \
0x100 // Resets thrower GObj pointer to NULL if false? //
#define FIGHTER_SFX_PRESERVE 0x200
#define FIGHTER_PARASOL_NOUPDATE 0x400 // Ignore Parasol state change //
#define FIGHTER_RUMBLE_NOUPDATE 0x800 // Ignore rumble update? //
#define FIGHTER_COLANIM_NOUPDATE 0x1000
#define FIGHTER_ACCESSORY_PRESERVE 0x2000 // Keep respawn platform? //
#define FIGHTER_CMD_UPDATE \
0x4000 // Run all Subaction Events up to the current animation frame //
#define FIGHTER_NAMETAGVIS_NOUPDATE 0x8000
#define FIGHTER_PART_HITSTATUS_COLANIM_PRESERVE \
0x10000 // Assume this is for individual bones? //
#define FIGHTER_SWORDTRAIL_PRESERVE 0x20000
#define FIGHTER_ITEMVIS_NOUPDATE \
0x40000 // Used by Ness during Up/Down Smash, I suppose this is what the
// flag does //
#define FIGHTER_SKIP_UNK_0x2222 0x80000 // Skips updating bit 0x20 of 0x2222? //
#define FIGHTER_PHYS_UNKUPDATE 0x100000
#define FIGHTER_FREEZESTATE \
0x200000 // Sets anim rate to 0x and some other stuff
#define FIGHTER_MODELPART_VIS_NOUPDATE 0x400000
#define FIGHTER_METALB_NOUPDATE 0x800000
#define FIGHTER_UNK_0x1000000 0x1000000
#define FIGHTER_ATTACKCOUNT_NOUPDATE 0x2000000
#define FIGHTER_MODEL_FLAG_NOUPDATE 0x4000000
#define FIGHTER_UNK_0x2227 0x8000000
#define FIGHTER_HITSTUN_FLAG_NOUPDATE 0x10000000
#define FIGHTER_ANIM_NOUPDATE 0x20000000 // Keeps current fp animation?
#define FIGHTER_UNK_0x40000000 0x40000000 // Unused?
#define FIGHTER_UNK_0x80000000 0x80000000 // Unused?
#define FIGHTER_FASTFALL_PRESERVE (1 << 0)
#define FIGHTER_GFX_PRESERVE (1 << 1)
// LandingFallSpecial flags //
/// Preserve full body collision state
#define FIGHTER_HITSTATUS_COLANIM_PRESERVE (1 << 2)
/// Keep hitboxes
#define FIGHTER_HIT_NOUPDATE (1 << 3)
/// Ignore model state change (?)
#define FIGHTER_MODEL_NOUPDATE (1 << 4)
#define FIGHTER_ANIMVEL_NOUPDATE (1 << 5)
#define FIGHTER_UNK_0x40 (1 << 6)
/// Ignore switching to character's "hurt" textures (?)
#define FIGHTER_MATANIM_NOUPDATE (1 << 7)
/// Resets thrower GObj pointer to NULL if false?
#define FIGHTER_THROW_EXCEPTION_NOUPDATE (1 << 8)
#define FIGHTER_SFX_PRESERVE (1 << 9)
/// Ignore Parasol state change
#define FIGHTER_PARASOL_NOUPDATE (1 << 10)
/// Ignore rumble update?
#define FIGHTER_RUMBLE_NOUPDATE (1 << 11)
#define FIGHTER_COLANIM_NOUPDATE (1 << 12)
/// Keep respawn platform?
#define FIGHTER_ACCESSORY_PRESERVE (1 << 13)
/// Run all Subaction Events up to the current animation frame
#define FIGHTER_CMD_UPDATE (1 << 14)
#define FIGHTER_NAMETAGVIS_NOUPDATE (1 << 15)
/// Assume this is for individual bones?
#define FIGHTER_PART_HITSTATUS_COLANIM_PRESERVE (1 << 16)
#define FIGHTER_SWORDTRAIL_PRESERVE (1 << 17)
/// Used by Ness during Up/Down Smash
#define FIGHTER_ITEMVIS_NOUPDATE (1 << 18)
/// Skips updating bit 0x20 of 0x2222?
#define FIGHTER_SKIP_UNK_0x2222 (1 << 19)
#define FIGHTER_PHYS_UNKUPDATE (1 << 20)
/// Sets anim rate to 0x and some other stuff
#define FIGHTER_FREEZESTATE (1 << 21)
#define FIGHTER_MODELPART_VIS_NOUPDATE (1 << 22)
#define FIGHTER_METALB_NOUPDATE (1 << 23)
#define FIGHTER_UNK_0x1000000 (1 << 24)
#define FIGHTER_ATTACKCOUNT_NOUPDATE (1 << 25)
#define FIGHTER_MODEL_FLAG_NOUPDATE (1 << 26)
#define FIGHTER_UNK_0x2227 (1 << 27)
#define FIGHTER_HITSTUN_FLAG_NOUPDATE (1 << 28)
/// Keeps current fp animation?
#define FIGHTER_ANIM_NOUPDATE (1 << 29)
/// Unused?
#define FIGHTER_UNK_0x40000000 (1 << 30)
/// Unused?
#define FIGHTER_UNK_0x80000000 (1 << 31)
// LandingFallSpecial flags
#define IS_INTERRUPTIBLE 1
// Ledge Grab Macros //
// Ledge Grab Macros
#define CLIFFCATCH_BOTH 0
#define CLIFFCATCH_LEFT -1
@ -1061,8 +1092,8 @@ struct Fighter_DemoStrings {
// header includes or something.
// --------------------------------------------------------------------------------
struct SpecialAttrs_Mario {
/* 0x222C */ s32 x222C_vitaminCurr; // Current Megavitamin color combo //
/* 0x2230 */ s32 x2230_vitaminPrev; // Previous Megavitamin color combo //
/* 0x222C */ s32 x222C_vitaminCurr; // Current Megavitamin color combo
/* 0x2230 */ s32 x2230_vitaminPrev; // Previous Megavitamin color combo
/* 0x2234 */ bool x2234_tornadoCharge;
/* 0x2238 */ bool x2238_isCapeBoost;
/* 0x223C */ HSD_GObj* x223C_capeGObj;
@ -1124,9 +1155,12 @@ struct SpecialAttrs_Link {
};
struct SpecialAttrs_Seak {
/* 0x222C */ s32 x222C;
/* 0x222C */ int x222C;
/* 0x2230 */ u32 x2230;
/* 0x2234 */ u32 x2234;
/* 0x2234 */ HSD_GObj* x2234;
/* 0x2238 */ Vec3 x2238[4];
/* 0x2268 */ Vec3 x2268[4];
/* 0x2298 */ Vec3 lstick_delta;
};
struct SpecialAttrs_Ness {
@ -1136,7 +1170,7 @@ struct SpecialAttrs_Ness {
/* 0x2240 */ HSD_GObj* x2240_flashGObj;
/* 0x2244 */ HSD_GObj* x2244_pkThunderGObj;
/* 0x2248 */ HSD_GObj* x2248_baseballBatGObj;
/* 0x224C */ u32 x224C_thunderGFX; // bool for PK Thunder GFX? //
/* 0x224C */ u32 x224C_thunderGFX; // bool for PK Thunder GFX?
};
struct SpecialAttrs_Peach {
@ -1533,8 +1567,8 @@ struct Fighter {
/* 0x1670 */ unk_t x1670;
/* 0x1674 */ u8 filler_x1674[0x1828 - 0x1674];
/* 0x1828 */ s32 x1828;
struct dmg // 0x182c
{ //
struct dmg // 0x182c
{
f32 x182c_behavior; // 0x182c
f32 x1830_percent; // 0x1830
f32 x1834; // 0x1834
@ -1649,12 +1683,12 @@ struct Fighter {
f32 x1A34_damageMul;
f32 x1A38_speedMul;
s32 x1A3C_damageOver; // % damage over the maximum reflectable damage
// threshold //
// threshold
} ReflectAttr;
struct {
f32 x1A40_absorbHitDirection;
s32 x1A44_damageTaken; // unconfirmred? //
s32 x1A48_hitsTaken; // unconfirmed? //
s32 x1A44_damageTaken; // unconfirmred?
s32 x1A48_hitsTaken; // unconfirmed?
} AbsorbAttr;
/* 0x1A4C */ f32 x1A4C;
/* 0x1A50 */ s8 x1A50;
@ -1703,7 +1737,7 @@ struct Fighter {
/* 0x208C */ s32 x208C;
/* 0x2090 */ u16 x2090;
/* 0x2092 */ u16 x2092;
/* 0x2094 */ HSD_GObj* x2094; // GObj pointer of combo victim? //
/* 0x2094 */ HSD_GObj* x2094; // GObj pointer of combo victim?
/* 0x2098 */ u16 x2098;
/* 0x209A */ u16 x209A;
/* 0x209C */ s16 x209C;
@ -1926,6 +1960,9 @@ struct Fighter {
union {
ftFoxStateVars foxVars[0]; // 0x2340
};
union {
ftSeakStateVars seakVars[0]; // 0x2340
};
union {
ftNessStateVars nessVars[0]; // 0x2340
};

View File

@ -157,8 +157,8 @@ void lbl_80221204(HSD_GObj* arg0) {}
#ifdef MWERKS_GEKKO
#pragma push
asm void lbl_80221208(void)
{ // clang-format off
asm void lbl_80221208(void){
// clang-format off
nofralloc
/* 80221208 0021DDE8 7C 08 02 A6 */ mflr r0
/* 8022120C 0021DDEC 38 80 00 10 */ li r4, 0x10

View File

@ -1,7 +1,10 @@
#ifndef MELEE_IT_CODE_8027CF30_H
#define MELEE_IT_CODE_8027CF30_H
#include <melee/ft/chara/ftSeak/types.h>
#include <melee/it/itkind.h>
#include <melee/it/types.h>
#include <placeholder.h>
#include <sysdolphin/baselib/gobj.h>
#include <sysdolphin/baselib/jobj.h>
@ -157,5 +160,12 @@ void func_8027D670(Vec3* const);
void func_802C17DC(uint);
void func_802C16F8(HSD_GObj*);
void func_802C1590(HSD_GObj*);
void func_802BB20C(HSD_GObj*);
void func_802BAEEC(HSD_GObj*);
void func_802BAF0C(HSD_GObj*);
void func_802BCFC4(HSD_GObj* item_gobj, f32* arg1, itChainSegment* chainSegment,
Item* item_data, f32 arg4);
HSD_GObj* func_802BB290(HSD_GObj* fighter_gobj, Vec3* arg1, f32 facing_dir);
void func_802BCF84(HSD_GObj*);
#endif

View File

@ -205,7 +205,7 @@ int func_80378560(HSD_PadRumbleListData* a, u8* b)
}
void HSD_PadRumbleInterpret_inline(HSD_PadRumbleListData** r6,
HSD_PadRumbleListData* r29)
HSD_PadRumbleListData* r29)
{
HSD_PadRumbleListData* r5;

View File

@ -69,6 +69,6 @@ void HSD_PadRumbleInit(u16 a, void* b);
void HSD_PadRumbleOn(u8 a);
void func_803780DC(u8 a);
void HSD_PadRumbleInterpret_inline(HSD_PadRumbleListData** r6,
HSD_PadRumbleListData* r29);
HSD_PadRumbleListData* r29);
#endif

View File

@ -1,3 +1,5 @@
#!/usr/bin/env python3
import re
import struct
from math import ceil
@ -7,7 +9,7 @@ from typing import TextIO, Match, Callable, Any, Tuple, Union, List
root = Path(__file__).parent.parent
options = {
'input_glob': r"src/**/GXTransform.c"
'input_glob': r"**/ftseak3.s"
}
default_options = {

View File

@ -2,4 +2,4 @@
This script can be used to generate a context file for use with [mips_to_c](https://github.com/matt-kempster/mips_to_c).
Currently, it has tons of assumptions about where and how it is run, and this will be cleaned up in a future version.
Currently, it has tons of assumptions about where and how it is run, and this will be cleaned up in a future version.