From f87a9ceb0af605a8c28340f26b51626e0e44a633 Mon Sep 17 00:00:00 2001 From: Will Date: Sat, 17 Aug 2024 14:30:06 -0400 Subject: [PATCH] Finish match of itsword (#1436) * Match it_80285B00 by removing unnecessary inline * Match it_80285920 by removing unnecessary variable * Fix various copy-paste errors of "capsule" instead of "sword" * Cleanup of various duplicated inlines * Cleanup some unused consts * Match last function * Remove constants * Mark as matching --- asm/melee/it/items/itsword.s | 1467 ---------------------------------- configure.py | 2 +- obj_files.mk | 2 +- src/melee/it/itCommonItems.h | 2 +- src/melee/it/items/itsword.c | 381 ++------- 5 files changed, 89 insertions(+), 1765 deletions(-) delete mode 100644 asm/melee/it/items/itsword.s diff --git a/asm/melee/it/items/itsword.s b/asm/melee/it/items/itsword.s deleted file mode 100644 index c7b83fa22c..0000000000 --- a/asm/melee/it/items/itsword.s +++ /dev/null @@ -1,1467 +0,0 @@ -.include "macros.inc" -.file "itsword.c" - -# 0x00000000 - 0x00001334 -.text -.balign 4 - -.fn itSword_Spawn, global -/* 00000000 00000040 7C 08 02 A6 */ mflr r0 -/* 00000004 00000044 38 A0 00 00 */ li r5, 0x0 -/* 00000008 00000048 90 01 00 04 */ stw r0, 0x4(r1) -/* 0000000C 0000004C 38 00 00 0C */ li r0, 0xc -/* 00000010 00000050 38 80 00 01 */ li r4, 0x1 -/* 00000014 00000054 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 00000018 00000058 93 E1 00 5C */ stw r31, 0x5c(r1) -/* 0000001C 0000005C 90 01 00 14 */ stw r0, 0x14(r1) -/* 00000020 00000060 80 C3 00 00 */ lwz r6, 0x0(r3) -/* 00000024 00000064 80 03 00 04 */ lwz r0, 0x4(r3) -/* 00000028 00000068 90 C1 00 2C */ stw r6, 0x2c(r1) -/* 0000002C 0000006C 90 01 00 30 */ stw r0, 0x30(r1) -/* 00000030 00000070 80 03 00 08 */ lwz r0, 0x8(r3) -/* 00000034 00000074 38 61 00 0C */ addi r3, r1, 0xc -/* 00000038 00000078 90 01 00 34 */ stw r0, 0x34(r1) -/* 0000003C 0000007C C0 20 00 00 */ lfs f1, it_804DC8D0@sda21(r0) -/* 00000040 00000080 C0 00 00 00 */ lfs f0, it_804DC8D4@sda21(r0) -/* 00000044 00000084 D0 21 00 34 */ stfs f1, 0x34(r1) -/* 00000048 00000088 80 C1 00 2C */ lwz r6, 0x2c(r1) -/* 0000004C 0000008C 80 01 00 30 */ lwz r0, 0x30(r1) -/* 00000050 00000090 90 C1 00 20 */ stw r6, 0x20(r1) -/* 00000054 00000094 90 01 00 24 */ stw r0, 0x24(r1) -/* 00000058 00000098 80 01 00 34 */ lwz r0, 0x34(r1) -/* 0000005C 0000009C 90 01 00 28 */ stw r0, 0x28(r1) -/* 00000060 000000A0 D0 01 00 44 */ stfs f0, 0x44(r1) -/* 00000064 000000A4 B0 A1 00 48 */ sth r5, 0x48(r1) -/* 00000068 000000A8 D0 21 00 40 */ stfs f1, 0x40(r1) -/* 0000006C 000000AC D0 21 00 3C */ stfs f1, 0x3c(r1) -/* 00000070 000000B0 D0 21 00 38 */ stfs f1, 0x38(r1) -/* 00000074 000000B4 90 A1 00 0C */ stw r5, 0xc(r1) -/* 00000078 000000B8 80 01 00 0C */ lwz r0, 0xc(r1) -/* 0000007C 000000BC 90 01 00 10 */ stw r0, 0x10(r1) -/* 00000080 000000C0 88 01 00 50 */ lbz r0, 0x50(r1) -/* 00000084 000000C4 50 80 3E 30 */ rlwimi r0, r4, 7, 24, 24 -/* 00000088 000000C8 98 01 00 50 */ stb r0, 0x50(r1) -/* 0000008C 000000CC 90 A1 00 4C */ stw r5, 0x4c(r1) -/* 00000090 000000D0 48 00 00 01 */ bl Item_80268B5C -/* 00000094 000000D4 7C 7F 1B 79 */ mr. r31, r3 -/* 00000098 000000D8 41 82 00 0C */ beq .L_000000A4 -/* 0000009C 000000DC 7F E3 FB 78 */ mr r3, r31 -/* 000000A0 000000E0 48 00 00 01 */ bl it_80285424 -.L_000000A4: -/* 000000A4 000000E4 7F E3 FB 78 */ mr r3, r31 -/* 000000A8 000000E8 80 01 00 64 */ lwz r0, 0x64(r1) -/* 000000AC 000000EC 83 E1 00 5C */ lwz r31, 0x5c(r1) -/* 000000B0 000000F0 38 21 00 60 */ addi r1, r1, 0x60 -/* 000000B4 000000F4 7C 08 03 A6 */ mtlr r0 -/* 000000B8 000000F8 4E 80 00 20 */ blr -.endfn itSword_Spawn - -.fn it_80284E10, global -/* 000000BC 000000FC 7C 08 02 A6 */ mflr r0 -/* 000000C0 00000100 90 01 00 04 */ stw r0, 0x4(r1) -/* 000000C4 00000104 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 000000C8 00000108 48 00 00 01 */ bl it_8026EECC -/* 000000CC 0000010C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 000000D0 00000110 38 21 00 08 */ addi r1, r1, 0x8 -/* 000000D4 00000114 7C 08 03 A6 */ mtlr r0 -/* 000000D8 00000118 4E 80 00 20 */ blr -.endfn it_80284E10 - -.fn it_80284E30, local -/* 000000DC 0000011C 7C 08 02 A6 */ mflr r0 -/* 000000E0 00000120 90 01 00 04 */ stw r0, 0x4(r1) -/* 000000E4 00000124 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 000000E8 00000128 DB E1 00 28 */ stfd f31, 0x28(r1) -/* 000000EC 0000012C 93 E1 00 24 */ stw r31, 0x24(r1) -/* 000000F0 00000130 93 C1 00 20 */ stw r30, 0x20(r1) -/* 000000F4 00000134 83 C3 00 2C */ lwz r30, 0x2c(r3) -/* 000000F8 00000138 C0 40 00 00 */ lfs f2, it_804DC8D8@sda21(r0) -/* 000000FC 0000013C C0 3E 0E 20 */ lfs f1, 0xe20(r30) -/* 00000100 00000140 C0 1E 0D E4 */ lfs f0, 0xde4(r30) -/* 00000104 00000144 80 7E 0B BC */ lwz r3, 0xbbc(r30) -/* 00000108 00000148 EC 01 00 32 */ fmuls f0, f1, f0 -/* 0000010C 0000014C C0 3E 0D FC */ lfs f1, 0xdfc(r30) -/* 00000110 00000150 83 E3 00 18 */ lwz r31, 0x18(r3) -/* 00000114 00000154 EC 01 00 32 */ fmuls f0, f1, f0 -/* 00000118 00000158 28 1F 00 00 */ cmplwi r31, 0x0 -/* 0000011C 0000015C EF E2 00 32 */ fmuls f31, f2, f0 -/* 00000120 00000160 40 82 00 14 */ bne .L_00000134 -/* 00000124 00000164 38 60 00 00 */ li r3, it_804D5220@sda21 -/* 00000128 00000168 38 80 03 17 */ li r4, 0x317 -/* 0000012C 0000016C 38 A0 00 00 */ li r5, it_804D5228@sda21 -/* 00000130 00000170 48 00 00 01 */ bl __assert -.L_00000134: -/* 00000134 00000174 D3 FF 00 30 */ stfs f31, 0x30(r31) -/* 00000138 00000178 80 1F 00 14 */ lwz r0, 0x14(r31) -/* 0000013C 0000017C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 00000140 00000180 40 82 00 4C */ bne .L_0000018C -/* 00000144 00000184 28 1F 00 00 */ cmplwi r31, 0x0 -/* 00000148 00000188 41 82 00 44 */ beq .L_0000018C -/* 0000014C 0000018C 40 82 00 14 */ bne .L_00000160 -/* 00000150 00000190 38 60 00 00 */ li r3, it_804D5220@sda21 -/* 00000154 00000194 38 80 02 34 */ li r4, 0x234 -/* 00000158 00000198 38 A0 00 00 */ li r5, it_804D5228@sda21 -/* 0000015C 0000019C 48 00 00 01 */ bl __assert -.L_00000160: -/* 00000160 000001A0 80 9F 00 14 */ lwz r4, 0x14(r31) -/* 00000164 000001A4 38 60 00 00 */ li r3, 0x0 -/* 00000168 000001A8 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 0000016C 000001AC 40 82 00 10 */ bne .L_0000017C -/* 00000170 000001B0 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 -/* 00000174 000001B4 41 82 00 08 */ beq .L_0000017C -/* 00000178 000001B8 38 60 00 01 */ li r3, 0x1 -.L_0000017C: -/* 0000017C 000001BC 2C 03 00 00 */ cmpwi r3, 0x0 -/* 00000180 000001C0 40 82 00 0C */ bne .L_0000018C -/* 00000184 000001C4 7F E3 FB 78 */ mr r3, r31 -/* 00000188 000001C8 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub -.L_0000018C: -/* 0000018C 000001CC 80 1E 00 24 */ lwz r0, 0x24(r30) -/* 00000190 000001D0 2C 00 00 02 */ cmpwi r0, 0x2 -/* 00000194 000001D4 40 82 00 24 */ bne .L_000001B8 -/* 00000198 000001D8 C0 5E 0E 14 */ lfs f2, 0xe14(r30) -/* 0000019C 000001DC C0 20 00 00 */ lfs f1, it_804DC8DC@sda21(r0) -/* 000001A0 000001E0 EC 1F 10 2A */ fadds f0, f31, f2 -/* 000001A4 000001E4 EC 21 F8 BA */ fmadds f1, f1, f2, f31 -/* 000001A8 000001E8 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 000001AC 000001EC D0 01 00 14 */ stfs f0, 0x14(r1) -/* 000001B0 000001F0 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 000001B4 000001F4 48 00 00 14 */ b .L_000001C8 -.L_000001B8: -/* 000001B8 000001F8 C0 00 00 00 */ lfs f0, it_804DC8E0@sda21(r0) -/* 000001BC 000001FC D0 01 00 10 */ stfs f0, 0x10(r1) -/* 000001C0 00000200 D3 E1 00 14 */ stfs f31, 0x14(r1) -/* 000001C4 00000204 D0 01 00 18 */ stfs f0, 0x18(r1) -.L_000001C8: -/* 000001C8 00000208 80 7E 0B BC */ lwz r3, 0xbbc(r30) -/* 000001CC 0000020C 83 E3 00 0C */ lwz r31, 0xc(r3) -/* 000001D0 00000210 28 1F 00 00 */ cmplwi r31, 0x0 -/* 000001D4 00000214 40 82 00 14 */ bne .L_000001E8 -/* 000001D8 00000218 38 60 00 00 */ li r3, it_804D5220@sda21 -/* 000001DC 0000021C 38 80 02 F8 */ li r4, 0x2f8 -/* 000001E0 00000220 38 A0 00 00 */ li r5, it_804D5228@sda21 -/* 000001E4 00000224 48 00 00 01 */ bl __assert -.L_000001E8: -/* 000001E8 00000228 80 61 00 10 */ lwz r3, 0x10(r1) -/* 000001EC 0000022C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 000001F0 00000230 90 7F 00 2C */ stw r3, 0x2c(r31) -/* 000001F4 00000234 90 1F 00 30 */ stw r0, 0x30(r31) -/* 000001F8 00000238 80 01 00 18 */ lwz r0, 0x18(r1) -/* 000001FC 0000023C 90 1F 00 34 */ stw r0, 0x34(r31) -/* 00000200 00000240 80 1F 00 14 */ lwz r0, 0x14(r31) -/* 00000204 00000244 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 00000208 00000248 40 82 00 4C */ bne .L_00000254 -/* 0000020C 0000024C 28 1F 00 00 */ cmplwi r31, 0x0 -/* 00000210 00000250 41 82 00 44 */ beq .L_00000254 -/* 00000214 00000254 40 82 00 14 */ bne .L_00000228 -/* 00000218 00000258 38 60 00 00 */ li r3, it_804D5220@sda21 -/* 0000021C 0000025C 38 80 02 34 */ li r4, 0x234 -/* 00000220 00000260 38 A0 00 00 */ li r5, it_804D5228@sda21 -/* 00000224 00000264 48 00 00 01 */ bl __assert -.L_00000228: -/* 00000228 00000268 80 9F 00 14 */ lwz r4, 0x14(r31) -/* 0000022C 0000026C 38 60 00 00 */ li r3, 0x0 -/* 00000230 00000270 54 80 02 11 */ rlwinm. r0, r4, 0, 8, 8 -/* 00000234 00000274 40 82 00 10 */ bne .L_00000244 -/* 00000238 00000278 54 80 06 73 */ rlwinm. r0, r4, 0, 25, 25 -/* 0000023C 0000027C 41 82 00 08 */ beq .L_00000244 -/* 00000240 00000280 38 60 00 01 */ li r3, 0x1 -.L_00000244: -/* 00000244 00000284 2C 03 00 00 */ cmpwi r3, 0x0 -/* 00000248 00000288 40 82 00 0C */ bne .L_00000254 -/* 0000024C 0000028C 7F E3 FB 78 */ mr r3, r31 -/* 00000250 00000290 48 00 00 01 */ bl HSD_JObjSetMtxDirtySub -.L_00000254: -/* 00000254 00000294 80 01 00 34 */ lwz r0, 0x34(r1) -/* 00000258 00000298 CB E1 00 28 */ lfd f31, 0x28(r1) -/* 0000025C 0000029C 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 00000260 000002A0 83 C1 00 20 */ lwz r30, 0x20(r1) -/* 00000264 000002A4 38 21 00 30 */ addi r1, r1, 0x30 -/* 00000268 000002A8 7C 08 03 A6 */ mtlr r0 -/* 0000026C 000002AC 4E 80 00 20 */ blr -.endfn it_80284E30 - -.fn it_80284FC4, global -/* 00000270 000002B0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 00000274 000002B4 38 00 00 00 */ li r0, 0x0 -/* 00000278 000002B8 38 A0 00 01 */ li r5, 0x1 -/* 0000027C 000002BC 80 C3 00 2C */ lwz r6, 0x2c(r3) -/* 00000280 000002C0 6C 83 80 00 */ xoris r3, r4, 0x8000 -/* 00000284 000002C4 90 61 00 1C */ stw r3, 0x1c(r1) -/* 00000288 000002C8 90 06 0D D8 */ stw r0, 0xdd8(r6) -/* 0000028C 000002CC 3C 00 43 30 */ lis r0, 0x4330 -/* 00000290 000002D0 90 86 0D DC */ stw r4, 0xddc(r6) -/* 00000294 000002D4 90 A6 0D E0 */ stw r5, 0xde0(r6) -/* 00000298 000002D8 C0 00 00 00 */ lfs f0, it_804DC8E0@sda21(r0) -/* 0000029C 000002DC 90 01 00 18 */ stw r0, 0x18(r1) -/* 000002A0 000002E0 D0 06 0D E4 */ stfs f0, 0xde4(r6) -/* 000002A4 000002E4 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 000002A8 000002E8 D0 26 0D E8 */ stfs f1, 0xde8(r6) -/* 000002AC 000002EC C8 20 00 00 */ lfd f1, it_804DC8E8@sda21(r0) -/* 000002B0 000002F0 C0 66 0D E8 */ lfs f3, 0xde8(r6) -/* 000002B4 000002F4 C0 46 0D E4 */ lfs f2, 0xde4(r6) -/* 000002B8 000002F8 EC 00 08 28 */ fsubs f0, f0, f1 -/* 000002BC 000002FC EC 43 10 28 */ fsubs f2, f3, f2 -/* 000002C0 00000300 EC 02 00 24 */ fdivs f0, f2, f0 -/* 000002C4 00000304 D0 06 0D EC */ stfs f0, 0xdec(r6) -/* 000002C8 00000308 38 21 00 20 */ addi r1, r1, 0x20 -/* 000002CC 0000030C 4E 80 00 20 */ blr -.endfn it_80284FC4 - -.fn it_80285024, global -/* 000002D0 00000310 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 000002D4 00000314 38 A0 00 00 */ li r5, 0x0 -/* 000002D8 00000318 3C 00 43 30 */ lis r0, 0x4330 -/* 000002DC 0000031C 80 C3 00 2C */ lwz r6, 0x2c(r3) -/* 000002E0 00000320 38 60 FF FF */ li r3, -0x1 -/* 000002E4 00000324 90 86 0D D8 */ stw r4, 0xdd8(r6) -/* 000002E8 00000328 90 A6 0D DC */ stw r5, 0xddc(r6) -/* 000002EC 0000032C 90 66 0D E0 */ stw r3, 0xde0(r6) -/* 000002F0 00000330 C0 00 00 00 */ lfs f0, it_804DC8E0@sda21(r0) -/* 000002F4 00000334 D0 06 0D E8 */ stfs f0, 0xde8(r6) -/* 000002F8 00000338 80 66 0D D8 */ lwz r3, 0xdd8(r6) -/* 000002FC 0000033C C0 46 0D E8 */ lfs f2, 0xde8(r6) -/* 00000300 00000340 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 00000304 00000344 C0 06 0D E4 */ lfs f0, 0xde4(r6) -/* 00000308 00000348 90 61 00 1C */ stw r3, 0x1c(r1) -/* 0000030C 0000034C C8 20 00 00 */ lfd f1, it_804DC8E8@sda21(r0) -/* 00000310 00000350 EC 42 00 28 */ fsubs f2, f2, f0 -/* 00000314 00000354 90 01 00 18 */ stw r0, 0x18(r1) -/* 00000318 00000358 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 0000031C 0000035C EC 00 08 28 */ fsubs f0, f0, f1 -/* 00000320 00000360 EC 02 00 24 */ fdivs f0, f2, f0 -/* 00000324 00000364 D0 06 0D EC */ stfs f0, 0xdec(r6) -/* 00000328 00000368 38 21 00 20 */ addi r1, r1, 0x20 -/* 0000032C 0000036C 4E 80 00 20 */ blr -.endfn it_80285024 - -.fn it_80285084, local -/* 00000330 00000370 80 83 00 2C */ lwz r4, 0x2c(r3) -/* 00000334 00000374 80 64 0D D8 */ lwz r3, 0xdd8(r4) -/* 00000338 00000378 80 04 0D E0 */ lwz r0, 0xde0(r4) -/* 0000033C 0000037C 7C 03 02 14 */ add r0, r3, r0 -/* 00000340 00000380 90 04 0D D8 */ stw r0, 0xdd8(r4) -/* 00000344 00000384 80 04 0D E0 */ lwz r0, 0xde0(r4) -/* 00000348 00000388 2C 00 00 00 */ cmpwi r0, 0x0 -/* 0000034C 0000038C 40 81 00 24 */ ble .L_00000370 -/* 00000350 00000390 80 04 0D D8 */ lwz r0, 0xdd8(r4) -/* 00000354 00000394 80 64 0D DC */ lwz r3, 0xddc(r4) -/* 00000358 00000398 7C 00 18 00 */ cmpw r0, r3 -/* 0000035C 0000039C 40 81 00 34 */ ble .L_00000390 -/* 00000360 000003A0 90 64 0D D8 */ stw r3, 0xdd8(r4) -/* 00000364 000003A4 38 00 00 00 */ li r0, 0x0 -/* 00000368 000003A8 90 04 0D E0 */ stw r0, 0xde0(r4) -/* 0000036C 000003AC 48 00 00 24 */ b .L_00000390 -.L_00000370: -/* 00000370 000003B0 40 80 00 20 */ bge .L_00000390 -/* 00000374 000003B4 80 04 0D D8 */ lwz r0, 0xdd8(r4) -/* 00000378 000003B8 80 64 0D DC */ lwz r3, 0xddc(r4) -/* 0000037C 000003BC 7C 00 18 00 */ cmpw r0, r3 -/* 00000380 000003C0 40 80 00 10 */ bge .L_00000390 -/* 00000384 000003C4 90 64 0D D8 */ stw r3, 0xdd8(r4) -/* 00000388 000003C8 38 00 00 00 */ li r0, 0x0 -/* 0000038C 000003CC 90 04 0D E0 */ stw r0, 0xde0(r4) -.L_00000390: -/* 00000390 000003D0 C0 24 0D E4 */ lfs f1, 0xde4(r4) -/* 00000394 000003D4 C0 04 0D EC */ lfs f0, 0xdec(r4) -/* 00000398 000003D8 EC 01 00 2A */ fadds f0, f1, f0 -/* 0000039C 000003DC D0 04 0D E4 */ stfs f0, 0xde4(r4) -/* 000003A0 000003E0 C0 04 0D EC */ lfs f0, 0xdec(r4) -/* 000003A4 000003E4 C0 20 00 00 */ lfs f1, it_804DC8D0@sda21(r0) -/* 000003A8 000003E8 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 000003AC 000003EC 40 81 00 20 */ ble .L_000003CC -/* 000003B0 000003F0 C0 04 0D E4 */ lfs f0, 0xde4(r4) -/* 000003B4 000003F4 C0 44 0D E8 */ lfs f2, 0xde8(r4) -/* 000003B8 000003F8 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 000003BC 000003FC 4C 81 00 20 */ blelr -/* 000003C0 00000400 D0 44 0D E4 */ stfs f2, 0xde4(r4) -/* 000003C4 00000404 D0 24 0D EC */ stfs f1, 0xdec(r4) -/* 000003C8 00000408 4E 80 00 20 */ blr -.L_000003CC: -/* 000003CC 0000040C 4C 80 00 20 */ bgelr -/* 000003D0 00000410 C0 04 0D E4 */ lfs f0, 0xde4(r4) -/* 000003D4 00000414 C0 44 0D E8 */ lfs f2, 0xde8(r4) -/* 000003D8 00000418 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 000003DC 0000041C 4C 80 00 20 */ bgelr -/* 000003E0 00000420 D0 44 0D E4 */ stfs f2, 0xde4(r4) -/* 000003E4 00000424 D0 24 0D EC */ stfs f1, 0xdec(r4) -/* 000003E8 00000428 4E 80 00 20 */ blr -.endfn it_80285084 - -.fn it_80285140, local -/* 000003EC 0000042C 80 83 00 2C */ lwz r4, 0x2c(r3) -/* 000003F0 00000430 80 64 0D F0 */ lwz r3, 0xdf0(r4) -/* 000003F4 00000434 80 04 0D F8 */ lwz r0, 0xdf8(r4) -/* 000003F8 00000438 7C 03 02 14 */ add r0, r3, r0 -/* 000003FC 0000043C 90 04 0D F0 */ stw r0, 0xdf0(r4) -/* 00000400 00000440 80 04 0D F8 */ lwz r0, 0xdf8(r4) -/* 00000404 00000444 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00000408 00000448 40 81 00 24 */ ble .L_0000042C -/* 0000040C 0000044C 80 04 0D F0 */ lwz r0, 0xdf0(r4) -/* 00000410 00000450 80 64 0D F4 */ lwz r3, 0xdf4(r4) -/* 00000414 00000454 7C 00 18 00 */ cmpw r0, r3 -/* 00000418 00000458 40 81 00 34 */ ble .L_0000044C -/* 0000041C 0000045C 90 64 0D F0 */ stw r3, 0xdf0(r4) -/* 00000420 00000460 38 00 00 00 */ li r0, 0x0 -/* 00000424 00000464 90 04 0D F8 */ stw r0, 0xdf8(r4) -/* 00000428 00000468 48 00 00 24 */ b .L_0000044C -.L_0000042C: -/* 0000042C 0000046C 40 80 00 20 */ bge .L_0000044C -/* 00000430 00000470 80 04 0D F0 */ lwz r0, 0xdf0(r4) -/* 00000434 00000474 80 64 0D F4 */ lwz r3, 0xdf4(r4) -/* 00000438 00000478 7C 00 18 00 */ cmpw r0, r3 -/* 0000043C 0000047C 40 80 00 10 */ bge .L_0000044C -/* 00000440 00000480 90 64 0D F0 */ stw r3, 0xdf0(r4) -/* 00000444 00000484 38 00 00 00 */ li r0, 0x0 -/* 00000448 00000488 90 04 0D F8 */ stw r0, 0xdf8(r4) -.L_0000044C: -/* 0000044C 0000048C C0 24 0D FC */ lfs f1, 0xdfc(r4) -/* 00000450 00000490 C0 04 0E 04 */ lfs f0, 0xe04(r4) -/* 00000454 00000494 EC 01 00 2A */ fadds f0, f1, f0 -/* 00000458 00000498 D0 04 0D FC */ stfs f0, 0xdfc(r4) -/* 0000045C 0000049C C0 04 0E 04 */ lfs f0, 0xe04(r4) -/* 00000460 000004A0 C0 20 00 00 */ lfs f1, it_804DC8D0@sda21(r0) -/* 00000464 000004A4 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 00000468 000004A8 40 81 00 20 */ ble .L_00000488 -/* 0000046C 000004AC C0 04 0D FC */ lfs f0, 0xdfc(r4) -/* 00000470 000004B0 C0 44 0E 00 */ lfs f2, 0xe00(r4) -/* 00000474 000004B4 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 00000478 000004B8 4C 81 00 20 */ blelr -/* 0000047C 000004BC D0 44 0D FC */ stfs f2, 0xdfc(r4) -/* 00000480 000004C0 D0 24 0E 04 */ stfs f1, 0xe04(r4) -/* 00000484 000004C4 4E 80 00 20 */ blr -.L_00000488: -/* 00000488 000004C8 4C 80 00 20 */ bgelr -/* 0000048C 000004CC C0 04 0D FC */ lfs f0, 0xdfc(r4) -/* 00000490 000004D0 C0 44 0E 00 */ lfs f2, 0xe00(r4) -/* 00000494 000004D4 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 00000498 000004D8 4C 80 00 20 */ bgelr -/* 0000049C 000004DC D0 44 0D FC */ stfs f2, 0xdfc(r4) -/* 000004A0 000004E0 D0 24 0E 04 */ stfs f1, 0xe04(r4) -/* 000004A4 000004E4 4E 80 00 20 */ blr -.endfn it_80285140 - -.fn it_802851FC, local -/* 000004A8 000004E8 80 83 00 2C */ lwz r4, 0x2c(r3) -/* 000004AC 000004EC 80 64 0E 08 */ lwz r3, 0xe08(r4) -/* 000004B0 000004F0 80 04 0E 10 */ lwz r0, 0xe10(r4) -/* 000004B4 000004F4 7C 03 02 14 */ add r0, r3, r0 -/* 000004B8 000004F8 90 04 0E 08 */ stw r0, 0xe08(r4) -/* 000004BC 000004FC 80 04 0E 10 */ lwz r0, 0xe10(r4) -/* 000004C0 00000500 2C 00 00 00 */ cmpwi r0, 0x0 -/* 000004C4 00000504 40 81 00 24 */ ble .L_000004E8 -/* 000004C8 00000508 80 04 0E 08 */ lwz r0, 0xe08(r4) -/* 000004CC 0000050C 80 64 0E 0C */ lwz r3, 0xe0c(r4) -/* 000004D0 00000510 7C 00 18 00 */ cmpw r0, r3 -/* 000004D4 00000514 40 81 00 34 */ ble .L_00000508 -/* 000004D8 00000518 90 64 0E 08 */ stw r3, 0xe08(r4) -/* 000004DC 0000051C 38 00 00 00 */ li r0, 0x0 -/* 000004E0 00000520 90 04 0E 10 */ stw r0, 0xe10(r4) -/* 000004E4 00000524 48 00 00 24 */ b .L_00000508 -.L_000004E8: -/* 000004E8 00000528 40 80 00 20 */ bge .L_00000508 -/* 000004EC 0000052C 80 04 0E 08 */ lwz r0, 0xe08(r4) -/* 000004F0 00000530 80 64 0E 0C */ lwz r3, 0xe0c(r4) -/* 000004F4 00000534 7C 00 18 00 */ cmpw r0, r3 -/* 000004F8 00000538 40 80 00 10 */ bge .L_00000508 -/* 000004FC 0000053C 90 64 0E 08 */ stw r3, 0xe08(r4) -/* 00000500 00000540 38 00 00 00 */ li r0, 0x0 -/* 00000504 00000544 90 04 0E 10 */ stw r0, 0xe10(r4) -.L_00000508: -/* 00000508 00000548 C0 24 0E 14 */ lfs f1, 0xe14(r4) -/* 0000050C 0000054C C0 04 0E 1C */ lfs f0, 0xe1c(r4) -/* 00000510 00000550 EC 01 00 2A */ fadds f0, f1, f0 -/* 00000514 00000554 D0 04 0E 14 */ stfs f0, 0xe14(r4) -/* 00000518 00000558 C0 04 0E 1C */ lfs f0, 0xe1c(r4) -/* 0000051C 0000055C C0 20 00 00 */ lfs f1, it_804DC8D0@sda21(r0) -/* 00000520 00000560 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 00000524 00000564 40 81 00 20 */ ble .L_00000544 -/* 00000528 00000568 C0 04 0E 14 */ lfs f0, 0xe14(r4) -/* 0000052C 0000056C C0 44 0E 18 */ lfs f2, 0xe18(r4) -/* 00000530 00000570 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 00000534 00000574 4C 81 00 20 */ blelr -/* 00000538 00000578 D0 44 0E 14 */ stfs f2, 0xe14(r4) -/* 0000053C 0000057C D0 24 0E 1C */ stfs f1, 0xe1c(r4) -/* 00000540 00000580 4E 80 00 20 */ blr -.L_00000544: -/* 00000544 00000584 4C 80 00 20 */ bgelr -/* 00000548 00000588 C0 04 0E 14 */ lfs f0, 0xe14(r4) -/* 0000054C 0000058C C0 44 0E 18 */ lfs f2, 0xe18(r4) -/* 00000550 00000590 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 00000554 00000594 4C 80 00 20 */ bgelr -/* 00000558 00000598 D0 44 0E 14 */ stfs f2, 0xe14(r4) -/* 0000055C 0000059C D0 24 0E 1C */ stfs f1, 0xe1c(r4) -/* 00000560 000005A0 4E 80 00 20 */ blr -.endfn it_802851FC - -.fn it_802852B8, global -/* 00000564 000005A4 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 00000568 000005A8 28 04 00 00 */ cmplwi r4, 0x0 -/* 0000056C 000005AC C0 60 00 00 */ lfs f3, it_804DC8D8@sda21(r0) -/* 00000570 000005B0 C0 23 0E 20 */ lfs f1, 0xe20(r3) -/* 00000574 000005B4 C0 03 0D E4 */ lfs f0, 0xde4(r3) -/* 00000578 000005B8 C0 43 0D FC */ lfs f2, 0xdfc(r3) -/* 0000057C 000005BC EC 01 00 32 */ fmuls f0, f1, f0 -/* 00000580 000005C0 EC 02 00 32 */ fmuls f0, f2, f0 -/* 00000584 000005C4 EC 23 00 32 */ fmuls f1, f3, f0 -/* 00000588 000005C8 41 82 00 0C */ beq .L_00000594 -/* 0000058C 000005CC C0 00 00 00 */ lfs f0, it_804DC8D0@sda21(r0) -/* 00000590 000005D0 D0 04 00 00 */ stfs f0, 0x0(r4) -.L_00000594: -/* 00000594 000005D4 28 05 00 00 */ cmplwi r5, 0x0 -/* 00000598 000005D8 4D 82 00 20 */ beqlr -/* 0000059C 000005DC C0 00 00 00 */ lfs f0, it_804DC8F0@sda21(r0) -/* 000005A0 000005E0 EC 00 00 72 */ fmuls f0, f0, f1 -/* 000005A4 000005E4 D0 05 00 00 */ stfs f0, 0x0(r5) -/* 000005A8 000005E8 4E 80 00 20 */ blr -.endfn it_802852B8 - -.fn it_80285300, global -/* 000005AC 000005EC 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 000005B0 000005F0 80 63 00 C4 */ lwz r3, 0xc4(r3) -/* 000005B4 000005F4 80 63 00 04 */ lwz r3, 0x4(r3) -/* 000005B8 000005F8 38 63 00 1C */ addi r3, r3, 0x1c -/* 000005BC 000005FC 4E 80 00 20 */ blr -.endfn it_80285300 - -.fn it_80285314, global -/* 000005C0 00000600 7C 08 02 A6 */ mflr r0 -/* 000005C4 00000604 38 80 00 05 */ li r4, 0x5 -/* 000005C8 00000608 90 01 00 04 */ stw r0, 0x4(r1) -/* 000005CC 0000060C 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 000005D0 00000610 48 00 00 01 */ bl it_80272CC0 -/* 000005D4 00000614 80 01 00 0C */ lwz r0, 0xc(r1) -/* 000005D8 00000618 38 21 00 08 */ addi r1, r1, 0x8 -/* 000005DC 0000061C 7C 08 03 A6 */ mtlr r0 -/* 000005E0 00000620 4E 80 00 20 */ blr -.endfn it_80285314 - -.fn it_80285338, global -/* 000005E4 00000624 7C 08 02 A6 */ mflr r0 -/* 000005E8 00000628 90 01 00 04 */ stw r0, 0x4(r1) -/* 000005EC 0000062C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 000005F0 00000630 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 000005F4 00000634 93 C1 00 28 */ stw r30, 0x28(r1) -/* 000005F8 00000638 93 A1 00 24 */ stw r29, 0x24(r1) -/* 000005FC 0000063C 7C 7D 1B 78 */ mr r29, r3 -/* 00000600 00000640 83 C3 00 2C */ lwz r30, 0x2c(r3) -/* 00000604 00000644 80 9E 00 C4 */ lwz r4, 0xc4(r30) -/* 00000608 00000648 83 E4 00 04 */ lwz r31, 0x4(r4) -/* 0000060C 0000064C 48 00 00 01 */ bl it_8026B390 -/* 00000610 00000650 C0 20 00 00 */ lfs f1, it_804DC8D0@sda21(r0) -/* 00000614 00000654 38 00 00 00 */ li r0, 0x0 -/* 00000618 00000658 D0 3E 00 40 */ stfs f1, 0x40(r30) -/* 0000061C 0000065C C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 00000620 00000660 D0 1E 00 44 */ stfs f0, 0x44(r30) -/* 00000624 00000664 D0 3E 00 48 */ stfs f1, 0x48(r30) -/* 00000628 00000668 90 1E 0D D4 */ stw r0, 0xdd4(r30) -/* 0000062C 0000066C 90 1E 0D D8 */ stw r0, 0xdd8(r30) -/* 00000630 00000670 90 1E 0D DC */ stw r0, 0xddc(r30) -/* 00000634 00000674 90 1E 0D E0 */ stw r0, 0xde0(r30) -/* 00000638 00000678 C0 00 00 00 */ lfs f0, it_804DC8E0@sda21(r0) -/* 0000063C 0000067C D0 1E 0D E4 */ stfs f0, 0xde4(r30) -/* 00000640 00000680 D0 1E 0D E8 */ stfs f0, 0xde8(r30) -/* 00000644 00000684 D0 3E 0D EC */ stfs f1, 0xdec(r30) -/* 00000648 00000688 90 1E 0D F0 */ stw r0, 0xdf0(r30) -/* 0000064C 0000068C 90 1E 0D F4 */ stw r0, 0xdf4(r30) -/* 00000650 00000690 90 1E 0D F8 */ stw r0, 0xdf8(r30) -/* 00000654 00000694 D0 1E 0D FC */ stfs f0, 0xdfc(r30) -/* 00000658 00000698 D0 1E 0E 00 */ stfs f0, 0xe00(r30) -/* 0000065C 0000069C D0 3E 0E 04 */ stfs f1, 0xe04(r30) -/* 00000660 000006A0 90 1E 0E 08 */ stw r0, 0xe08(r30) -/* 00000664 000006A4 90 1E 0E 0C */ stw r0, 0xe0c(r30) -/* 00000668 000006A8 90 1E 0E 10 */ stw r0, 0xe10(r30) -/* 0000066C 000006AC D0 1E 0E 14 */ stfs f0, 0xe14(r30) -/* 00000670 000006B0 D0 1E 0E 18 */ stfs f0, 0xe18(r30) -/* 00000674 000006B4 D0 3E 0E 1C */ stfs f1, 0xe1c(r30) -/* 00000678 000006B8 D0 3E 0E 24 */ stfs f1, 0xe24(r30) -/* 0000067C 000006BC 80 7E 0B BC */ lwz r3, 0xbbc(r30) -/* 00000680 000006C0 83 E3 00 18 */ lwz r31, 0x18(r3) -/* 00000684 000006C4 28 1F 00 00 */ cmplwi r31, 0x0 -/* 00000688 000006C8 40 82 00 14 */ bne .L_0000069C -/* 0000068C 000006CC 38 60 00 00 */ li r3, it_804D5220@sda21 -/* 00000690 000006D0 38 80 03 78 */ li r4, 0x378 -/* 00000694 000006D4 38 A0 00 00 */ li r5, it_804D5228@sda21 -/* 00000698 000006D8 48 00 00 01 */ bl __assert -.L_0000069C: -/* 0000069C 000006DC C0 1F 00 30 */ lfs f0, 0x30(r31) -/* 000006A0 000006E0 38 00 00 00 */ li r0, 0x0 -/* 000006A4 000006E4 38 7D 00 00 */ addi r3, r29, 0x0 -/* 000006A8 000006E8 D0 1E 0E 20 */ stfs f0, 0xe20(r30) -/* 000006AC 000006EC 90 1E 0E 28 */ stw r0, 0xe28(r30) -/* 000006B0 000006F0 48 00 00 01 */ bl it_802855F8 -/* 000006B4 000006F4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 000006B8 000006F8 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 000006BC 000006FC 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 000006C0 00000700 83 A1 00 24 */ lwz r29, 0x24(r1) -/* 000006C4 00000704 38 21 00 30 */ addi r1, r1, 0x30 -/* 000006C8 00000708 7C 08 03 A6 */ mtlr r0 -/* 000006CC 0000070C 4E 80 00 20 */ blr -.endfn it_80285338 - -.fn it_80285424, local -/* 000006D0 00000710 7C 08 02 A6 */ mflr r0 -/* 000006D4 00000714 38 80 00 00 */ li r4, 0x0 -/* 000006D8 00000718 90 01 00 04 */ stw r0, 0x4(r1) -/* 000006DC 0000071C 38 A0 00 02 */ li r5, 0x2 -/* 000006E0 00000720 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 000006E4 00000724 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 000006E8 00000728 7C 7F 1B 78 */ mr r31, r3 -/* 000006EC 0000072C 93 C1 00 38 */ stw r30, 0x38(r1) -/* 000006F0 00000730 3B C0 00 00 */ li r30, 0x0 -/* 000006F4 00000734 C0 00 00 00 */ lfs f0, it_804DC8D0@sda21(r0) -/* 000006F8 00000738 80 C3 00 2C */ lwz r6, 0x2c(r3) -/* 000006FC 0000073C D0 06 00 48 */ stfs f0, 0x48(r6) -/* 00000700 00000740 D0 06 00 44 */ stfs f0, 0x44(r6) -/* 00000704 00000744 D0 06 00 40 */ stfs f0, 0x40(r6) -/* 00000708 00000748 93 C6 0D 50 */ stw r30, 0xd50(r6) -/* 0000070C 0000074C 48 00 00 01 */ bl Item_80268E5C -/* 00000710 00000750 80 FF 00 2C */ lwz r7, 0x2c(r31) -/* 00000714 00000754 38 80 00 04 */ li r4, 0x4 -/* 00000718 00000758 38 C0 FF FF */ li r6, -0x1 -/* 0000071C 0000075C 90 87 0D D8 */ stw r4, 0xdd8(r7) -/* 00000720 00000760 3C A0 43 30 */ lis r5, 0x4330 -/* 00000724 00000764 38 7F 00 00 */ addi r3, r31, 0x0 -/* 00000728 00000768 93 C7 0D DC */ stw r30, 0xddc(r7) -/* 0000072C 0000076C 90 C7 0D E0 */ stw r6, 0xde0(r7) -/* 00000730 00000770 C0 60 00 00 */ lfs f3, it_804DC8E0@sda21(r0) -/* 00000734 00000774 D0 67 0D E8 */ stfs f3, 0xde8(r7) -/* 00000738 00000778 80 07 0D D8 */ lwz r0, 0xdd8(r7) -/* 0000073C 0000077C C0 27 0D E8 */ lfs f1, 0xde8(r7) -/* 00000740 00000780 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000744 00000784 C0 07 0D E4 */ lfs f0, 0xde4(r7) -/* 00000748 00000788 90 01 00 34 */ stw r0, 0x34(r1) -/* 0000074C 0000078C C8 40 00 00 */ lfd f2, it_804DC8E8@sda21(r0) -/* 00000750 00000790 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00000754 00000794 90 A1 00 30 */ stw r5, 0x30(r1) -/* 00000758 00000798 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 0000075C 0000079C EC 00 10 28 */ fsubs f0, f0, f2 -/* 00000760 000007A0 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00000764 000007A4 D0 07 0D EC */ stfs f0, 0xdec(r7) -/* 00000768 000007A8 80 FF 00 2C */ lwz r7, 0x2c(r31) -/* 0000076C 000007AC 90 87 0D F0 */ stw r4, 0xdf0(r7) -/* 00000770 000007B0 93 C7 0D F4 */ stw r30, 0xdf4(r7) -/* 00000774 000007B4 90 C7 0D F8 */ stw r6, 0xdf8(r7) -/* 00000778 000007B8 D0 67 0E 00 */ stfs f3, 0xe00(r7) -/* 0000077C 000007BC 80 07 0D F0 */ lwz r0, 0xdf0(r7) -/* 00000780 000007C0 C0 27 0E 00 */ lfs f1, 0xe00(r7) -/* 00000784 000007C4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000788 000007C8 C0 07 0D FC */ lfs f0, 0xdfc(r7) -/* 0000078C 000007CC 90 01 00 2C */ stw r0, 0x2c(r1) -/* 00000790 000007D0 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00000794 000007D4 90 A1 00 28 */ stw r5, 0x28(r1) -/* 00000798 000007D8 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 0000079C 000007DC EC 00 10 28 */ fsubs f0, f0, f2 -/* 000007A0 000007E0 EC 01 00 24 */ fdivs f0, f1, f0 -/* 000007A4 000007E4 D0 07 0E 04 */ stfs f0, 0xe04(r7) -/* 000007A8 000007E8 80 FF 00 2C */ lwz r7, 0x2c(r31) -/* 000007AC 000007EC 80 87 00 C4 */ lwz r4, 0xc4(r7) -/* 000007B0 000007F0 80 84 00 04 */ lwz r4, 0x4(r4) -/* 000007B4 000007F4 80 04 00 18 */ lwz r0, 0x18(r4) -/* 000007B8 000007F8 90 07 0E 08 */ stw r0, 0xe08(r7) -/* 000007BC 000007FC 93 C7 0E 0C */ stw r30, 0xe0c(r7) -/* 000007C0 00000800 90 C7 0E 10 */ stw r6, 0xe10(r7) -/* 000007C4 00000804 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 000007C8 00000808 D0 07 0E 18 */ stfs f0, 0xe18(r7) -/* 000007CC 0000080C 80 04 00 18 */ lwz r0, 0x18(r4) -/* 000007D0 00000810 C0 24 00 10 */ lfs f1, 0x10(r4) -/* 000007D4 00000814 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 000007D8 00000818 C0 07 0E 14 */ lfs f0, 0xe14(r7) -/* 000007DC 0000081C 90 01 00 24 */ stw r0, 0x24(r1) -/* 000007E0 00000820 EC 21 00 28 */ fsubs f1, f1, f0 -/* 000007E4 00000824 90 A1 00 20 */ stw r5, 0x20(r1) -/* 000007E8 00000828 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 000007EC 0000082C EC 00 10 28 */ fsubs f0, f0, f2 -/* 000007F0 00000830 EC 01 00 24 */ fdivs f0, f1, f0 -/* 000007F4 00000834 D0 07 0E 1C */ stfs f0, 0xe1c(r7) -/* 000007F8 00000838 48 00 00 01 */ bl it_80285084 -/* 000007FC 0000083C 7F E3 FB 78 */ mr r3, r31 -/* 00000800 00000840 48 00 00 01 */ bl it_80285140 -/* 00000804 00000844 7F E3 FB 78 */ mr r3, r31 -/* 00000808 00000848 48 00 00 01 */ bl it_802851FC -/* 0000080C 0000084C 7F E3 FB 78 */ mr r3, r31 -/* 00000810 00000850 48 00 00 01 */ bl it_80284E30 -/* 00000814 00000854 80 01 00 44 */ lwz r0, 0x44(r1) -/* 00000818 00000858 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 0000081C 0000085C 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 00000820 00000860 38 21 00 40 */ addi r1, r1, 0x40 -/* 00000824 00000864 7C 08 03 A6 */ mtlr r0 -/* 00000828 00000868 4E 80 00 20 */ blr -.endfn it_80285424 - -.fn it_80285580, local -/* 0000082C 0000086C 7C 08 02 A6 */ mflr r0 -/* 00000830 00000870 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000834 00000874 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 00000838 00000878 93 E1 00 14 */ stw r31, 0x14(r1) -/* 0000083C 0000087C 7C 7F 1B 78 */ mr r31, r3 -/* 00000840 00000880 48 00 00 01 */ bl it_80285084 -/* 00000844 00000884 7F E3 FB 78 */ mr r3, r31 -/* 00000848 00000888 48 00 00 01 */ bl it_80285140 -/* 0000084C 0000088C 7F E3 FB 78 */ mr r3, r31 -/* 00000850 00000890 48 00 00 01 */ bl it_802851FC -/* 00000854 00000894 7F E3 FB 78 */ mr r3, r31 -/* 00000858 00000898 48 00 00 01 */ bl it_80284E30 -/* 0000085C 0000089C 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 00000860 000008A0 38 60 00 00 */ li r3, 0x0 -/* 00000864 000008A4 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 00000868 000008A8 38 21 00 18 */ addi r1, r1, 0x18 -/* 0000086C 000008AC 7C 08 03 A6 */ mtlr r0 -/* 00000870 000008B0 4E 80 00 20 */ blr -.endfn it_80285580 - -.fn it_802855C8, local -/* 00000874 000008B4 4E 80 00 20 */ blr -.endfn it_802855C8 - -.fn it_802855CC, local -/* 00000878 000008B8 7C 08 02 A6 */ mflr r0 -/* 0000087C 000008BC 3C 80 00 00 */ lis r4, it_802855F8@ha -/* 00000880 000008C0 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000884 000008C4 38 84 00 00 */ addi r4, r4, it_802855F8@l -/* 00000888 000008C8 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 0000088C 000008CC 48 00 00 01 */ bl it_8026D62C -/* 00000890 000008D0 38 60 00 00 */ li r3, 0x0 -/* 00000894 000008D4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 00000898 000008D8 38 21 00 08 */ addi r1, r1, 0x8 -/* 0000089C 000008DC 7C 08 03 A6 */ mtlr r0 -/* 000008A0 000008E0 4E 80 00 20 */ blr -.endfn it_802855CC - -.fn it_802855F8, local -/* 000008A4 000008E4 7C 08 02 A6 */ mflr r0 -/* 000008A8 000008E8 38 80 00 01 */ li r4, 0x1 -/* 000008AC 000008EC 90 01 00 04 */ stw r0, 0x4(r1) -/* 000008B0 000008F0 38 A0 00 02 */ li r5, 0x2 -/* 000008B4 000008F4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 000008B8 000008F8 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 000008BC 000008FC 7C 7F 1B 78 */ mr r31, r3 -/* 000008C0 00000900 93 C1 00 38 */ stw r30, 0x38(r1) -/* 000008C4 00000904 83 C3 00 2C */ lwz r30, 0x2c(r3) -/* 000008C8 00000908 48 00 00 01 */ bl Item_80268E5C -/* 000008CC 0000090C 38 E0 00 00 */ li r7, 0x0 -/* 000008D0 00000910 90 FE 0D 50 */ stw r7, 0xd50(r30) -/* 000008D4 00000914 38 80 00 04 */ li r4, 0x4 -/* 000008D8 00000918 38 C0 FF FF */ li r6, -0x1 -/* 000008DC 0000091C 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 000008E0 00000920 3C A0 43 30 */ lis r5, 0x4330 -/* 000008E4 00000924 38 7F 00 00 */ addi r3, r31, 0x0 -/* 000008E8 00000928 90 88 0D D8 */ stw r4, 0xdd8(r8) -/* 000008EC 0000092C 90 E8 0D DC */ stw r7, 0xddc(r8) -/* 000008F0 00000930 90 C8 0D E0 */ stw r6, 0xde0(r8) -/* 000008F4 00000934 C0 60 00 00 */ lfs f3, it_804DC8E0@sda21(r0) -/* 000008F8 00000938 D0 68 0D E8 */ stfs f3, 0xde8(r8) -/* 000008FC 0000093C 80 08 0D D8 */ lwz r0, 0xdd8(r8) -/* 00000900 00000940 C0 28 0D E8 */ lfs f1, 0xde8(r8) -/* 00000904 00000944 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000908 00000948 C0 08 0D E4 */ lfs f0, 0xde4(r8) -/* 0000090C 0000094C 90 01 00 34 */ stw r0, 0x34(r1) -/* 00000910 00000950 C8 40 00 00 */ lfd f2, it_804DC8E8@sda21(r0) -/* 00000914 00000954 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00000918 00000958 90 A1 00 30 */ stw r5, 0x30(r1) -/* 0000091C 0000095C C8 01 00 30 */ lfd f0, 0x30(r1) -/* 00000920 00000960 EC 00 10 28 */ fsubs f0, f0, f2 -/* 00000924 00000964 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00000928 00000968 D0 08 0D EC */ stfs f0, 0xdec(r8) -/* 0000092C 0000096C 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 00000930 00000970 90 88 0D F0 */ stw r4, 0xdf0(r8) -/* 00000934 00000974 90 E8 0D F4 */ stw r7, 0xdf4(r8) -/* 00000938 00000978 90 C8 0D F8 */ stw r6, 0xdf8(r8) -/* 0000093C 0000097C D0 68 0E 00 */ stfs f3, 0xe00(r8) -/* 00000940 00000980 80 08 0D F0 */ lwz r0, 0xdf0(r8) -/* 00000944 00000984 C0 28 0E 00 */ lfs f1, 0xe00(r8) -/* 00000948 00000988 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 0000094C 0000098C C0 08 0D FC */ lfs f0, 0xdfc(r8) -/* 00000950 00000990 90 01 00 2C */ stw r0, 0x2c(r1) -/* 00000954 00000994 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00000958 00000998 90 A1 00 28 */ stw r5, 0x28(r1) -/* 0000095C 0000099C C8 01 00 28 */ lfd f0, 0x28(r1) -/* 00000960 000009A0 EC 00 10 28 */ fsubs f0, f0, f2 -/* 00000964 000009A4 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00000968 000009A8 D0 08 0E 04 */ stfs f0, 0xe04(r8) -/* 0000096C 000009AC 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 00000970 000009B0 80 88 00 C4 */ lwz r4, 0xc4(r8) -/* 00000974 000009B4 80 84 00 04 */ lwz r4, 0x4(r4) -/* 00000978 000009B8 80 04 00 18 */ lwz r0, 0x18(r4) -/* 0000097C 000009BC 90 08 0E 08 */ stw r0, 0xe08(r8) -/* 00000980 000009C0 90 E8 0E 0C */ stw r7, 0xe0c(r8) -/* 00000984 000009C4 90 C8 0E 10 */ stw r6, 0xe10(r8) -/* 00000988 000009C8 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 0000098C 000009CC D0 08 0E 18 */ stfs f0, 0xe18(r8) -/* 00000990 000009D0 80 04 00 18 */ lwz r0, 0x18(r4) -/* 00000994 000009D4 C0 24 00 10 */ lfs f1, 0x10(r4) -/* 00000998 000009D8 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 0000099C 000009DC C0 08 0E 14 */ lfs f0, 0xe14(r8) -/* 000009A0 000009E0 90 01 00 24 */ stw r0, 0x24(r1) -/* 000009A4 000009E4 EC 21 00 28 */ fsubs f1, f1, f0 -/* 000009A8 000009E8 90 A1 00 20 */ stw r5, 0x20(r1) -/* 000009AC 000009EC C8 01 00 20 */ lfd f0, 0x20(r1) -/* 000009B0 000009F0 EC 00 10 28 */ fsubs f0, f0, f2 -/* 000009B4 000009F4 EC 01 00 24 */ fdivs f0, f1, f0 -/* 000009B8 000009F8 D0 08 0E 1C */ stfs f0, 0xe1c(r8) -/* 000009BC 000009FC 48 00 00 01 */ bl it_80285084 -/* 000009C0 00000A00 7F E3 FB 78 */ mr r3, r31 -/* 000009C4 00000A04 48 00 00 01 */ bl it_80285140 -/* 000009C8 00000A08 7F E3 FB 78 */ mr r3, r31 -/* 000009CC 00000A0C 48 00 00 01 */ bl it_802851FC -/* 000009D0 00000A10 7F E3 FB 78 */ mr r3, r31 -/* 000009D4 00000A14 48 00 00 01 */ bl it_80284E30 -/* 000009D8 00000A18 80 01 00 44 */ lwz r0, 0x44(r1) -/* 000009DC 00000A1C 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 000009E0 00000A20 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 000009E4 00000A24 38 21 00 40 */ addi r1, r1, 0x40 -/* 000009E8 00000A28 7C 08 03 A6 */ mtlr r0 -/* 000009EC 00000A2C 4E 80 00 20 */ blr -.endfn it_802855F8 - -.fn it_80285744, local -/* 000009F0 00000A30 7C 08 02 A6 */ mflr r0 -/* 000009F4 00000A34 90 01 00 04 */ stw r0, 0x4(r1) -/* 000009F8 00000A38 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 000009FC 00000A3C 93 E1 00 14 */ stw r31, 0x14(r1) -/* 00000A00 00000A40 7C 7F 1B 78 */ mr r31, r3 -/* 00000A04 00000A44 48 00 00 01 */ bl it_80285084 -/* 00000A08 00000A48 7F E3 FB 78 */ mr r3, r31 -/* 00000A0C 00000A4C 48 00 00 01 */ bl it_80285140 -/* 00000A10 00000A50 7F E3 FB 78 */ mr r3, r31 -/* 00000A14 00000A54 48 00 00 01 */ bl it_802851FC -/* 00000A18 00000A58 7F E3 FB 78 */ mr r3, r31 -/* 00000A1C 00000A5C 48 00 00 01 */ bl it_80284E30 -/* 00000A20 00000A60 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 00000A24 00000A64 38 60 00 00 */ li r3, 0x0 -/* 00000A28 00000A68 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 00000A2C 00000A6C 38 21 00 18 */ addi r1, r1, 0x18 -/* 00000A30 00000A70 7C 08 03 A6 */ mtlr r0 -/* 00000A34 00000A74 4E 80 00 20 */ blr -.endfn it_80285744 - -.fn it_8028578C, local -/* 00000A38 00000A78 7C 08 02 A6 */ mflr r0 -/* 00000A3C 00000A7C 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000A40 00000A80 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 00000A44 00000A84 93 E1 00 14 */ stw r31, 0x14(r1) -/* 00000A48 00000A88 7C 7F 1B 78 */ mr r31, r3 -/* 00000A4C 00000A8C 80 83 00 2C */ lwz r4, 0x2c(r3) -/* 00000A50 00000A90 80 84 00 CC */ lwz r4, 0xcc(r4) -/* 00000A54 00000A94 C0 24 00 10 */ lfs f1, 0x10(r4) -/* 00000A58 00000A98 C0 44 00 14 */ lfs f2, 0x14(r4) -/* 00000A5C 00000A9C 48 00 00 01 */ bl it_80272860 -/* 00000A60 00000AA0 80 80 00 00 */ lwz r4, it_804D6D28@sda21(r0) -/* 00000A64 00000AA4 7F E3 FB 78 */ mr r3, r31 -/* 00000A68 00000AA8 C0 24 00 68 */ lfs f1, 0x68(r4) -/* 00000A6C 00000AAC 48 00 00 01 */ bl it_80274658 -/* 00000A70 00000AB0 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 00000A74 00000AB4 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 00000A78 00000AB8 38 21 00 18 */ addi r1, r1, 0x18 -/* 00000A7C 00000ABC 7C 08 03 A6 */ mtlr r0 -/* 00000A80 00000AC0 4E 80 00 20 */ blr -.endfn it_8028578C - -.fn it_802857D8, local -/* 00000A84 00000AC4 7C 08 02 A6 */ mflr r0 -/* 00000A88 00000AC8 3C 80 00 00 */ lis r4, it_80285424@ha -/* 00000A8C 00000ACC 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000A90 00000AD0 38 84 00 00 */ addi r4, r4, it_80285424@l -/* 00000A94 00000AD4 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 00000A98 00000AD8 48 00 00 01 */ bl it_8026E15C -/* 00000A9C 00000ADC 38 60 00 00 */ li r3, 0x0 -/* 00000AA0 00000AE0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 00000AA4 00000AE4 38 21 00 08 */ addi r1, r1, 0x8 -/* 00000AA8 00000AE8 7C 08 03 A6 */ mtlr r0 -/* 00000AAC 00000AEC 4E 80 00 20 */ blr -.endfn it_802857D8 - -.fn it_80285804, global -/* 00000AB0 00000AF0 7C 08 02 A6 */ mflr r0 -/* 00000AB4 00000AF4 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000AB8 00000AF8 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 00000ABC 00000AFC 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 00000AC0 00000B00 93 C1 00 28 */ stw r30, 0x28(r1) -/* 00000AC4 00000B04 7C 7E 1B 78 */ mr r30, r3 -/* 00000AC8 00000B08 80 63 00 28 */ lwz r3, 0x28(r3) -/* 00000ACC 00000B0C 83 FE 00 2C */ lwz r31, 0x2c(r30) -/* 00000AD0 00000B10 28 03 00 00 */ cmplwi r3, 0x0 -/* 00000AD4 00000B14 40 82 00 0C */ bne .L_00000AE0 -/* 00000AD8 00000B18 38 00 00 00 */ li r0, 0x0 -/* 00000ADC 00000B1C 48 00 00 08 */ b .L_00000AE4 -.L_00000AE0: -/* 00000AE0 00000B20 80 03 00 10 */ lwz r0, 0x10(r3) -.L_00000AE4: -/* 00000AE4 00000B24 7C 03 03 78 */ mr r3, r0 -/* 00000AE8 00000B28 38 80 00 10 */ li r4, 0x10 -/* 00000AEC 00000B2C 48 00 00 01 */ bl HSD_JObjClearFlagsAll -/* 00000AF0 00000B30 38 7E 00 00 */ addi r3, r30, 0x0 -/* 00000AF4 00000B34 38 80 00 02 */ li r4, 0x2 -/* 00000AF8 00000B38 38 A0 00 02 */ li r5, 0x2 -/* 00000AFC 00000B3C 48 00 00 01 */ bl Item_80268E5C -/* 00000B00 00000B40 38 E0 00 00 */ li r7, 0x0 -/* 00000B04 00000B44 90 FF 0D 50 */ stw r7, 0xd50(r31) -/* 00000B08 00000B48 38 C0 00 04 */ li r6, 0x4 -/* 00000B0C 00000B4C 38 A0 FF FF */ li r5, -0x1 -/* 00000B10 00000B50 81 1E 00 2C */ lwz r8, 0x2c(r30) -/* 00000B14 00000B54 3C 80 43 30 */ lis r4, 0x4330 -/* 00000B18 00000B58 38 00 00 01 */ li r0, 0x1 -/* 00000B1C 00000B5C 90 C8 0D D8 */ stw r6, 0xdd8(r8) -/* 00000B20 00000B60 7F C3 F3 78 */ mr r3, r30 -/* 00000B24 00000B64 90 E8 0D DC */ stw r7, 0xddc(r8) -/* 00000B28 00000B68 90 A8 0D E0 */ stw r5, 0xde0(r8) -/* 00000B2C 00000B6C C0 60 00 00 */ lfs f3, it_804DC8E0@sda21(r0) -/* 00000B30 00000B70 D0 68 0D E8 */ stfs f3, 0xde8(r8) -/* 00000B34 00000B74 80 A8 0D D8 */ lwz r5, 0xdd8(r8) -/* 00000B38 00000B78 C0 48 0D E8 */ lfs f2, 0xde8(r8) -/* 00000B3C 00000B7C 6C A5 80 00 */ xoris r5, r5, 0x8000 -/* 00000B40 00000B80 C0 08 0D E4 */ lfs f0, 0xde4(r8) -/* 00000B44 00000B84 90 A1 00 24 */ stw r5, 0x24(r1) -/* 00000B48 00000B88 C8 20 00 00 */ lfd f1, it_804DC8E8@sda21(r0) -/* 00000B4C 00000B8C EC 42 00 28 */ fsubs f2, f2, f0 -/* 00000B50 00000B90 90 81 00 20 */ stw r4, 0x20(r1) -/* 00000B54 00000B94 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 00000B58 00000B98 EC 00 08 28 */ fsubs f0, f0, f1 -/* 00000B5C 00000B9C EC 02 00 24 */ fdivs f0, f2, f0 -/* 00000B60 00000BA0 D0 08 0D EC */ stfs f0, 0xdec(r8) -/* 00000B64 00000BA4 80 9E 00 2C */ lwz r4, 0x2c(r30) -/* 00000B68 00000BA8 90 E4 0D F0 */ stw r7, 0xdf0(r4) -/* 00000B6C 00000BAC 90 C4 0D F4 */ stw r6, 0xdf4(r4) -/* 00000B70 00000BB0 90 04 0D F8 */ stw r0, 0xdf8(r4) -/* 00000B74 00000BB4 D0 64 0D FC */ stfs f3, 0xdfc(r4) -/* 00000B78 00000BB8 C0 00 00 00 */ lfs f0, it_804DC8F4@sda21(r0) -/* 00000B7C 00000BBC D0 04 0E 00 */ stfs f0, 0xe00(r4) -/* 00000B80 00000BC0 C0 44 0E 00 */ lfs f2, 0xe00(r4) -/* 00000B84 00000BC4 C0 24 0D FC */ lfs f1, 0xdfc(r4) -/* 00000B88 00000BC8 C0 00 00 00 */ lfs f0, it_804DC8F8@sda21(r0) -/* 00000B8C 00000BCC EC 22 08 28 */ fsubs f1, f2, f1 -/* 00000B90 00000BD0 EC 01 00 32 */ fmuls f0, f1, f0 -/* 00000B94 00000BD4 D0 04 0E 04 */ stfs f0, 0xe04(r4) -/* 00000B98 00000BD8 48 00 00 01 */ bl it_80285084 -/* 00000B9C 00000BDC 7F C3 F3 78 */ mr r3, r30 -/* 00000BA0 00000BE0 48 00 00 01 */ bl it_80285140 -/* 00000BA4 00000BE4 7F C3 F3 78 */ mr r3, r30 -/* 00000BA8 00000BE8 48 00 00 01 */ bl it_802851FC -/* 00000BAC 00000BEC 7F C3 F3 78 */ mr r3, r30 -/* 00000BB0 00000BF0 48 00 00 01 */ bl it_80284E30 -/* 00000BB4 00000BF4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 00000BB8 00000BF8 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 00000BBC 00000BFC 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 00000BC0 00000C00 38 21 00 30 */ addi r1, r1, 0x30 -/* 00000BC4 00000C04 7C 08 03 A6 */ mtlr r0 -/* 00000BC8 00000C08 4E 80 00 20 */ blr -.endfn it_80285804 - -.fn it_80285920, local -/* 00000BCC 00000C0C 7C 08 02 A6 */ mflr r0 -/* 00000BD0 00000C10 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000BD4 00000C14 94 21 FF C8 */ stwu r1, -0x38(r1) -/* 00000BD8 00000C18 93 E1 00 34 */ stw r31, 0x34(r1) -/* 00000BDC 00000C1C 7C 7F 1B 78 */ mr r31, r3 -/* 00000BE0 00000C20 93 C1 00 30 */ stw r30, 0x30(r1) -/* 00000BE4 00000C24 93 A1 00 2C */ stw r29, 0x2c(r1) -/* 00000BE8 00000C28 83 C3 00 2C */ lwz r30, 0x2c(r3) -/* 00000BEC 00000C2C 80 7E 05 18 */ lwz r3, 0x518(r30) -/* 00000BF0 00000C30 80 9E 00 C4 */ lwz r4, 0xc4(r30) -/* 00000BF4 00000C34 28 03 00 00 */ cmplwi r3, 0x0 -/* 00000BF8 00000C38 83 A4 00 04 */ lwz r29, 0x4(r4) -/* 00000BFC 00000C3C 41 82 00 68 */ beq .L_00000C64 -/* 00000C00 00000C40 48 00 00 01 */ bl ftLib_80086FA8 -/* 00000C04 00000C44 2C 03 00 01 */ cmpwi r3, 0x1 -/* 00000C08 00000C48 41 82 00 5C */ beq .L_00000C64 -/* 00000C0C 00000C4C 80 BF 00 2C */ lwz r5, 0x2c(r31) -/* 00000C10 00000C50 38 00 00 04 */ li r0, 0x4 -/* 00000C14 00000C54 38 80 00 00 */ li r4, 0x0 -/* 00000C18 00000C58 90 05 0D D8 */ stw r0, 0xdd8(r5) -/* 00000C1C 00000C5C 38 60 FF FF */ li r3, -0x1 -/* 00000C20 00000C60 3C 00 43 30 */ lis r0, 0x4330 -/* 00000C24 00000C64 90 85 0D DC */ stw r4, 0xddc(r5) -/* 00000C28 00000C68 90 65 0D E0 */ stw r3, 0xde0(r5) -/* 00000C2C 00000C6C C0 00 00 00 */ lfs f0, it_804DC8E0@sda21(r0) -/* 00000C30 00000C70 D0 05 0D E8 */ stfs f0, 0xde8(r5) -/* 00000C34 00000C74 80 65 0D D8 */ lwz r3, 0xdd8(r5) -/* 00000C38 00000C78 C0 45 0D E8 */ lfs f2, 0xde8(r5) -/* 00000C3C 00000C7C 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 00000C40 00000C80 C0 05 0D E4 */ lfs f0, 0xde4(r5) -/* 00000C44 00000C84 90 61 00 24 */ stw r3, 0x24(r1) -/* 00000C48 00000C88 C8 20 00 00 */ lfd f1, it_804DC8E8@sda21(r0) -/* 00000C4C 00000C8C EC 42 00 28 */ fsubs f2, f2, f0 -/* 00000C50 00000C90 90 01 00 20 */ stw r0, 0x20(r1) -/* 00000C54 00000C94 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 00000C58 00000C98 EC 00 08 28 */ fsubs f0, f0, f1 -/* 00000C5C 00000C9C EC 02 00 24 */ fdivs f0, f2, f0 -/* 00000C60 00000CA0 D0 05 0D EC */ stfs f0, 0xdec(r5) -.L_00000C64: -/* 00000C64 00000CA4 80 1E 0E 10 */ lwz r0, 0xe10(r30) -/* 00000C68 00000CA8 2C 00 00 00 */ cmpwi r0, 0x0 -/* 00000C6C 00000CAC 40 82 00 F4 */ bne .L_00000D60 -/* 00000C70 00000CB0 80 1E 0E 08 */ lwz r0, 0xe08(r30) -/* 00000C74 00000CB4 80 7E 0E 0C */ lwz r3, 0xe0c(r30) -/* 00000C78 00000CB8 7C 00 18 00 */ cmpw r0, r3 -/* 00000C7C 00000CBC 40 82 00 E4 */ bne .L_00000D60 -/* 00000C80 00000CC0 2C 03 00 00 */ cmpwi r3, 0x0 -/* 00000C84 00000CC4 40 82 00 70 */ bne .L_00000CF4 -/* 00000C88 00000CC8 80 DF 00 2C */ lwz r6, 0x2c(r31) -/* 00000C8C 00000CCC 38 80 00 00 */ li r4, 0x0 -/* 00000C90 00000CD0 38 60 00 01 */ li r3, 0x1 -/* 00000C94 00000CD4 80 A6 00 C4 */ lwz r5, 0xc4(r6) -/* 00000C98 00000CD8 3C 00 43 30 */ lis r0, 0x4330 -/* 00000C9C 00000CDC 80 A5 00 04 */ lwz r5, 0x4(r5) -/* 00000CA0 00000CE0 90 86 0E 08 */ stw r4, 0xe08(r6) -/* 00000CA4 00000CE4 80 85 00 18 */ lwz r4, 0x18(r5) -/* 00000CA8 00000CE8 90 86 0E 0C */ stw r4, 0xe0c(r6) -/* 00000CAC 00000CEC 90 66 0E 10 */ stw r3, 0xe10(r6) -/* 00000CB0 00000CF0 C0 05 00 10 */ lfs f0, 0x10(r5) -/* 00000CB4 00000CF4 D0 06 0E 14 */ stfs f0, 0xe14(r6) -/* 00000CB8 00000CF8 C0 05 00 14 */ lfs f0, 0x14(r5) -/* 00000CBC 00000CFC D0 06 0E 18 */ stfs f0, 0xe18(r6) -/* 00000CC0 00000D00 80 65 00 18 */ lwz r3, 0x18(r5) -/* 00000CC4 00000D04 C0 45 00 14 */ lfs f2, 0x14(r5) -/* 00000CC8 00000D08 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 00000CCC 00000D0C C0 05 00 10 */ lfs f0, 0x10(r5) -/* 00000CD0 00000D10 90 61 00 24 */ stw r3, 0x24(r1) -/* 00000CD4 00000D14 C8 20 00 00 */ lfd f1, it_804DC8E8@sda21(r0) -/* 00000CD8 00000D18 EC 42 00 28 */ fsubs f2, f2, f0 -/* 00000CDC 00000D1C 90 01 00 20 */ stw r0, 0x20(r1) -/* 00000CE0 00000D20 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 00000CE4 00000D24 EC 00 08 28 */ fsubs f0, f0, f1 -/* 00000CE8 00000D28 EC 02 00 24 */ fdivs f0, f2, f0 -/* 00000CEC 00000D2C D0 06 0E 1C */ stfs f0, 0xe1c(r6) -/* 00000CF0 00000D30 48 00 00 70 */ b .L_00000D60 -.L_00000CF4: -/* 00000CF4 00000D34 80 1D 00 18 */ lwz r0, 0x18(r29) -/* 00000CF8 00000D38 7C 03 00 00 */ cmpw r3, r0 -/* 00000CFC 00000D3C 40 82 00 64 */ bne .L_00000D60 -/* 00000D00 00000D40 80 FF 00 2C */ lwz r7, 0x2c(r31) -/* 00000D04 00000D44 38 80 00 00 */ li r4, 0x0 -/* 00000D08 00000D48 38 60 FF FF */ li r3, -0x1 -/* 00000D0C 00000D4C 80 A7 00 C4 */ lwz r5, 0xc4(r7) -/* 00000D10 00000D50 3C 00 43 30 */ lis r0, 0x4330 -/* 00000D14 00000D54 80 C5 00 04 */ lwz r6, 0x4(r5) -/* 00000D18 00000D58 80 A6 00 18 */ lwz r5, 0x18(r6) -/* 00000D1C 00000D5C 90 A7 0E 08 */ stw r5, 0xe08(r7) -/* 00000D20 00000D60 90 87 0E 0C */ stw r4, 0xe0c(r7) -/* 00000D24 00000D64 90 67 0E 10 */ stw r3, 0xe10(r7) -/* 00000D28 00000D68 C0 06 00 10 */ lfs f0, 0x10(r6) -/* 00000D2C 00000D6C D0 07 0E 18 */ stfs f0, 0xe18(r7) -/* 00000D30 00000D70 80 66 00 18 */ lwz r3, 0x18(r6) -/* 00000D34 00000D74 C0 46 00 10 */ lfs f2, 0x10(r6) -/* 00000D38 00000D78 6C 63 80 00 */ xoris r3, r3, 0x8000 -/* 00000D3C 00000D7C C0 07 0E 14 */ lfs f0, 0xe14(r7) -/* 00000D40 00000D80 90 61 00 24 */ stw r3, 0x24(r1) -/* 00000D44 00000D84 C8 20 00 00 */ lfd f1, it_804DC8E8@sda21(r0) -/* 00000D48 00000D88 EC 42 00 28 */ fsubs f2, f2, f0 -/* 00000D4C 00000D8C 90 01 00 20 */ stw r0, 0x20(r1) -/* 00000D50 00000D90 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 00000D54 00000D94 EC 00 08 28 */ fsubs f0, f0, f1 -/* 00000D58 00000D98 EC 02 00 24 */ fdivs f0, f2, f0 -/* 00000D5C 00000D9C D0 07 0E 1C */ stfs f0, 0xe1c(r7) -.L_00000D60: -/* 00000D60 00000DA0 7F E3 FB 78 */ mr r3, r31 -/* 00000D64 00000DA4 48 00 00 01 */ bl it_80285084 -/* 00000D68 00000DA8 7F E3 FB 78 */ mr r3, r31 -/* 00000D6C 00000DAC 48 00 00 01 */ bl it_80285140 -/* 00000D70 00000DB0 7F E3 FB 78 */ mr r3, r31 -/* 00000D74 00000DB4 48 00 00 01 */ bl it_802851FC -/* 00000D78 00000DB8 7F E3 FB 78 */ mr r3, r31 -/* 00000D7C 00000DBC 48 00 00 01 */ bl it_80284E30 -/* 00000D80 00000DC0 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 00000D84 00000DC4 38 60 00 00 */ li r3, 0x0 -/* 00000D88 00000DC8 83 E1 00 34 */ lwz r31, 0x34(r1) -/* 00000D8C 00000DCC 83 C1 00 30 */ lwz r30, 0x30(r1) -/* 00000D90 00000DD0 83 A1 00 2C */ lwz r29, 0x2c(r1) -/* 00000D94 00000DD4 38 21 00 38 */ addi r1, r1, 0x38 -/* 00000D98 00000DD8 7C 08 03 A6 */ mtlr r0 -/* 00000D9C 00000DDC 4E 80 00 20 */ blr -.endfn it_80285920 - -.fn it_80285AF4, local -/* 00000DA0 00000DE0 4E 80 00 20 */ blr -.endfn it_80285AF4 - -.fn it_80285AF8, local -/* 00000DA4 00000DE4 38 60 00 00 */ li r3, 0x0 -/* 00000DA8 00000DE8 4E 80 00 20 */ blr -.endfn it_80285AF8 - -.fn it_80285B00, global -/* 00000DAC 00000DEC 7C 08 02 A6 */ mflr r0 -/* 00000DB0 00000DF0 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000DB4 00000DF4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 00000DB8 00000DF8 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 00000DBC 00000DFC 7C 7F 1B 78 */ mr r31, r3 -/* 00000DC0 00000E00 93 C1 00 38 */ stw r30, 0x38(r1) -/* 00000DC4 00000E04 80 63 00 28 */ lwz r3, 0x28(r3) -/* 00000DC8 00000E08 28 03 00 00 */ cmplwi r3, 0x0 -/* 00000DCC 00000E0C 40 82 00 0C */ bne .L_00000DD8 -/* 00000DD0 00000E10 38 00 00 00 */ li r0, 0x0 -/* 00000DD4 00000E14 48 00 00 08 */ b .L_00000DDC -.L_00000DD8: -/* 00000DD8 00000E18 80 03 00 10 */ lwz r0, 0x10(r3) -.L_00000DDC: -/* 00000DDC 00000E1C 7C 1E 03 78 */ mr r30, r0 -/* 00000DE0 00000E20 38 7F 00 00 */ addi r3, r31, 0x0 -/* 00000DE4 00000E24 48 00 00 01 */ bl it_8026B390 -/* 00000DE8 00000E28 38 7E 00 00 */ addi r3, r30, 0x0 -/* 00000DEC 00000E2C 38 80 00 10 */ li r4, 0x10 -/* 00000DF0 00000E30 48 00 00 01 */ bl HSD_JObjClearFlagsAll -/* 00000DF4 00000E34 38 7F 00 00 */ addi r3, r31, 0x0 -/* 00000DF8 00000E38 38 80 00 03 */ li r4, 0x3 -/* 00000DFC 00000E3C 38 A0 00 06 */ li r5, 0x6 -/* 00000E00 00000E40 48 00 00 01 */ bl Item_80268E5C -/* 00000E04 00000E44 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 00000E08 00000E48 38 80 00 04 */ li r4, 0x4 -/* 00000E0C 00000E4C 38 E0 00 00 */ li r7, 0x0 -/* 00000E10 00000E50 90 88 0D D8 */ stw r4, 0xdd8(r8) -/* 00000E14 00000E54 38 C0 FF FF */ li r6, -0x1 -/* 00000E18 00000E58 3C A0 43 30 */ lis r5, 0x4330 -/* 00000E1C 00000E5C 90 E8 0D DC */ stw r7, 0xddc(r8) -/* 00000E20 00000E60 7F E3 FB 78 */ mr r3, r31 -/* 00000E24 00000E64 90 C8 0D E0 */ stw r6, 0xde0(r8) -/* 00000E28 00000E68 C0 60 00 00 */ lfs f3, it_804DC8E0@sda21(r0) -/* 00000E2C 00000E6C D0 68 0D E8 */ stfs f3, 0xde8(r8) -/* 00000E30 00000E70 80 08 0D D8 */ lwz r0, 0xdd8(r8) -/* 00000E34 00000E74 C0 28 0D E8 */ lfs f1, 0xde8(r8) -/* 00000E38 00000E78 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000E3C 00000E7C C0 08 0D E4 */ lfs f0, 0xde4(r8) -/* 00000E40 00000E80 90 01 00 34 */ stw r0, 0x34(r1) -/* 00000E44 00000E84 C8 40 00 00 */ lfd f2, it_804DC8E8@sda21(r0) -/* 00000E48 00000E88 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00000E4C 00000E8C 90 A1 00 30 */ stw r5, 0x30(r1) -/* 00000E50 00000E90 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 00000E54 00000E94 EC 00 10 28 */ fsubs f0, f0, f2 -/* 00000E58 00000E98 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00000E5C 00000E9C D0 08 0D EC */ stfs f0, 0xdec(r8) -/* 00000E60 00000EA0 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 00000E64 00000EA4 90 88 0D F0 */ stw r4, 0xdf0(r8) -/* 00000E68 00000EA8 90 E8 0D F4 */ stw r7, 0xdf4(r8) -/* 00000E6C 00000EAC 90 C8 0D F8 */ stw r6, 0xdf8(r8) -/* 00000E70 00000EB0 D0 68 0E 00 */ stfs f3, 0xe00(r8) -/* 00000E74 00000EB4 80 08 0D F0 */ lwz r0, 0xdf0(r8) -/* 00000E78 00000EB8 C0 28 0E 00 */ lfs f1, 0xe00(r8) -/* 00000E7C 00000EBC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000E80 00000EC0 C0 08 0D FC */ lfs f0, 0xdfc(r8) -/* 00000E84 00000EC4 90 01 00 2C */ stw r0, 0x2c(r1) -/* 00000E88 00000EC8 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00000E8C 00000ECC 90 A1 00 28 */ stw r5, 0x28(r1) -/* 00000E90 00000ED0 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 00000E94 00000ED4 EC 00 10 28 */ fsubs f0, f0, f2 -/* 00000E98 00000ED8 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00000E9C 00000EDC D0 08 0E 04 */ stfs f0, 0xe04(r8) -/* 00000EA0 00000EE0 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 00000EA4 00000EE4 80 88 00 C4 */ lwz r4, 0xc4(r8) -/* 00000EA8 00000EE8 80 84 00 04 */ lwz r4, 0x4(r4) -/* 00000EAC 00000EEC 80 04 00 18 */ lwz r0, 0x18(r4) -/* 00000EB0 00000EF0 90 08 0E 08 */ stw r0, 0xe08(r8) -/* 00000EB4 00000EF4 90 E8 0E 0C */ stw r7, 0xe0c(r8) -/* 00000EB8 00000EF8 90 C8 0E 10 */ stw r6, 0xe10(r8) -/* 00000EBC 00000EFC C0 04 00 10 */ lfs f0, 0x10(r4) -/* 00000EC0 00000F00 D0 08 0E 18 */ stfs f0, 0xe18(r8) -/* 00000EC4 00000F04 80 04 00 18 */ lwz r0, 0x18(r4) -/* 00000EC8 00000F08 C0 24 00 10 */ lfs f1, 0x10(r4) -/* 00000ECC 00000F0C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000ED0 00000F10 C0 08 0E 14 */ lfs f0, 0xe14(r8) -/* 00000ED4 00000F14 90 01 00 24 */ stw r0, 0x24(r1) -/* 00000ED8 00000F18 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00000EDC 00000F1C 90 A1 00 20 */ stw r5, 0x20(r1) -/* 00000EE0 00000F20 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 00000EE4 00000F24 EC 00 10 28 */ fsubs f0, f0, f2 -/* 00000EE8 00000F28 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00000EEC 00000F2C D0 08 0E 1C */ stfs f0, 0xe1c(r8) -/* 00000EF0 00000F30 48 00 00 01 */ bl it_80285084 -/* 00000EF4 00000F34 7F E3 FB 78 */ mr r3, r31 -/* 00000EF8 00000F38 48 00 00 01 */ bl it_80285140 -/* 00000EFC 00000F3C 7F E3 FB 78 */ mr r3, r31 -/* 00000F00 00000F40 48 00 00 01 */ bl it_802851FC -/* 00000F04 00000F44 7F E3 FB 78 */ mr r3, r31 -/* 00000F08 00000F48 48 00 00 01 */ bl it_80284E30 -/* 00000F0C 00000F4C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 00000F10 00000F50 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 00000F14 00000F54 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 00000F18 00000F58 38 21 00 40 */ addi r1, r1, 0x40 -/* 00000F1C 00000F5C 7C 08 03 A6 */ mtlr r0 -/* 00000F20 00000F60 4E 80 00 20 */ blr -.endfn it_80285B00 - -.fn it_80285C78, global -/* 00000F24 00000F64 7C 08 02 A6 */ mflr r0 -/* 00000F28 00000F68 90 01 00 04 */ stw r0, 0x4(r1) -/* 00000F2C 00000F6C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 00000F30 00000F70 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 00000F34 00000F74 7C 7F 1B 78 */ mr r31, r3 -/* 00000F38 00000F78 93 C1 00 38 */ stw r30, 0x38(r1) -/* 00000F3C 00000F7C 80 63 00 28 */ lwz r3, 0x28(r3) -/* 00000F40 00000F80 28 03 00 00 */ cmplwi r3, 0x0 -/* 00000F44 00000F84 40 82 00 0C */ bne .L_00000F50 -/* 00000F48 00000F88 38 00 00 00 */ li r0, 0x0 -/* 00000F4C 00000F8C 48 00 00 08 */ b .L_00000F54 -.L_00000F50: -/* 00000F50 00000F90 80 03 00 10 */ lwz r0, 0x10(r3) -.L_00000F54: -/* 00000F54 00000F94 7C 1E 03 78 */ mr r30, r0 -/* 00000F58 00000F98 38 7F 00 00 */ addi r3, r31, 0x0 -/* 00000F5C 00000F9C 48 00 00 01 */ bl it_8026B390 -/* 00000F60 00000FA0 38 7E 00 00 */ addi r3, r30, 0x0 -/* 00000F64 00000FA4 38 80 00 10 */ li r4, 0x10 -/* 00000F68 00000FA8 48 00 00 01 */ bl HSD_JObjClearFlagsAll -/* 00000F6C 00000FAC 38 7F 00 00 */ addi r3, r31, 0x0 -/* 00000F70 00000FB0 38 80 00 03 */ li r4, 0x3 -/* 00000F74 00000FB4 38 A0 00 06 */ li r5, 0x6 -/* 00000F78 00000FB8 48 00 00 01 */ bl Item_80268E5C -/* 00000F7C 00000FBC 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 00000F80 00000FC0 38 80 00 04 */ li r4, 0x4 -/* 00000F84 00000FC4 38 E0 00 00 */ li r7, 0x0 -/* 00000F88 00000FC8 90 88 0D D8 */ stw r4, 0xdd8(r8) -/* 00000F8C 00000FCC 38 C0 FF FF */ li r6, -0x1 -/* 00000F90 00000FD0 3C A0 43 30 */ lis r5, 0x4330 -/* 00000F94 00000FD4 90 E8 0D DC */ stw r7, 0xddc(r8) -/* 00000F98 00000FD8 7F E3 FB 78 */ mr r3, r31 -/* 00000F9C 00000FDC 90 C8 0D E0 */ stw r6, 0xde0(r8) -/* 00000FA0 00000FE0 C0 60 00 00 */ lfs f3, it_804DC8E0@sda21(r0) -/* 00000FA4 00000FE4 D0 68 0D E8 */ stfs f3, 0xde8(r8) -/* 00000FA8 00000FE8 80 08 0D D8 */ lwz r0, 0xdd8(r8) -/* 00000FAC 00000FEC C0 28 0D E8 */ lfs f1, 0xde8(r8) -/* 00000FB0 00000FF0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000FB4 00000FF4 C0 08 0D E4 */ lfs f0, 0xde4(r8) -/* 00000FB8 00000FF8 90 01 00 34 */ stw r0, 0x34(r1) -/* 00000FBC 00000FFC C8 40 00 00 */ lfd f2, it_804DC8E8@sda21(r0) -/* 00000FC0 00001000 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00000FC4 00001004 90 A1 00 30 */ stw r5, 0x30(r1) -/* 00000FC8 00001008 C8 01 00 30 */ lfd f0, 0x30(r1) -/* 00000FCC 0000100C EC 00 10 28 */ fsubs f0, f0, f2 -/* 00000FD0 00001010 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00000FD4 00001014 D0 08 0D EC */ stfs f0, 0xdec(r8) -/* 00000FD8 00001018 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 00000FDC 0000101C 90 88 0D F0 */ stw r4, 0xdf0(r8) -/* 00000FE0 00001020 90 E8 0D F4 */ stw r7, 0xdf4(r8) -/* 00000FE4 00001024 90 C8 0D F8 */ stw r6, 0xdf8(r8) -/* 00000FE8 00001028 D0 68 0E 00 */ stfs f3, 0xe00(r8) -/* 00000FEC 0000102C 80 08 0D F0 */ lwz r0, 0xdf0(r8) -/* 00000FF0 00001030 C0 28 0E 00 */ lfs f1, 0xe00(r8) -/* 00000FF4 00001034 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00000FF8 00001038 C0 08 0D FC */ lfs f0, 0xdfc(r8) -/* 00000FFC 0000103C 90 01 00 2C */ stw r0, 0x2c(r1) -/* 00001000 00001040 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00001004 00001044 90 A1 00 28 */ stw r5, 0x28(r1) -/* 00001008 00001048 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 0000100C 0000104C EC 00 10 28 */ fsubs f0, f0, f2 -/* 00001010 00001050 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00001014 00001054 D0 08 0E 04 */ stfs f0, 0xe04(r8) -/* 00001018 00001058 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 0000101C 0000105C 80 88 00 C4 */ lwz r4, 0xc4(r8) -/* 00001020 00001060 80 84 00 04 */ lwz r4, 0x4(r4) -/* 00001024 00001064 80 04 00 18 */ lwz r0, 0x18(r4) -/* 00001028 00001068 90 08 0E 08 */ stw r0, 0xe08(r8) -/* 0000102C 0000106C 90 E8 0E 0C */ stw r7, 0xe0c(r8) -/* 00001030 00001070 90 C8 0E 10 */ stw r6, 0xe10(r8) -/* 00001034 00001074 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 00001038 00001078 D0 08 0E 18 */ stfs f0, 0xe18(r8) -/* 0000103C 0000107C 80 04 00 18 */ lwz r0, 0x18(r4) -/* 00001040 00001080 C0 24 00 10 */ lfs f1, 0x10(r4) -/* 00001044 00001084 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00001048 00001088 C0 08 0E 14 */ lfs f0, 0xe14(r8) -/* 0000104C 0000108C 90 01 00 24 */ stw r0, 0x24(r1) -/* 00001050 00001090 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00001054 00001094 90 A1 00 20 */ stw r5, 0x20(r1) -/* 00001058 00001098 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 0000105C 0000109C EC 00 10 28 */ fsubs f0, f0, f2 -/* 00001060 000010A0 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00001064 000010A4 D0 08 0E 1C */ stfs f0, 0xe1c(r8) -/* 00001068 000010A8 48 00 00 01 */ bl it_80285084 -/* 0000106C 000010AC 7F E3 FB 78 */ mr r3, r31 -/* 00001070 000010B0 48 00 00 01 */ bl it_80285140 -/* 00001074 000010B4 7F E3 FB 78 */ mr r3, r31 -/* 00001078 000010B8 48 00 00 01 */ bl it_802851FC -/* 0000107C 000010BC 7F E3 FB 78 */ mr r3, r31 -/* 00001080 000010C0 48 00 00 01 */ bl it_80284E30 -/* 00001084 000010C4 80 01 00 44 */ lwz r0, 0x44(r1) -/* 00001088 000010C8 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 0000108C 000010CC 83 C1 00 38 */ lwz r30, 0x38(r1) -/* 00001090 000010D0 38 21 00 40 */ addi r1, r1, 0x40 -/* 00001094 000010D4 7C 08 03 A6 */ mtlr r0 -/* 00001098 000010D8 4E 80 00 20 */ blr -.endfn it_80285C78 - -.fn it_80285DF0, global -/* 0000109C 000010DC 7C 08 02 A6 */ mflr r0 -/* 000010A0 000010E0 38 80 00 04 */ li r4, 0x4 -/* 000010A4 000010E4 90 01 00 04 */ stw r0, 0x4(r1) -/* 000010A8 000010E8 38 A0 00 02 */ li r5, 0x2 -/* 000010AC 000010EC 94 21 FF C8 */ stwu r1, -0x38(r1) -/* 000010B0 000010F0 93 E1 00 34 */ stw r31, 0x34(r1) -/* 000010B4 000010F4 3B E3 00 00 */ addi r31, r3, 0x0 -/* 000010B8 000010F8 48 00 00 01 */ bl Item_80268E5C -/* 000010BC 000010FC 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 000010C0 00001100 38 80 00 04 */ li r4, 0x4 -/* 000010C4 00001104 38 E0 00 00 */ li r7, 0x0 -/* 000010C8 00001108 90 88 0D D8 */ stw r4, 0xdd8(r8) -/* 000010CC 0000110C 38 C0 FF FF */ li r6, -0x1 -/* 000010D0 00001110 3C A0 43 30 */ lis r5, 0x4330 -/* 000010D4 00001114 90 E8 0D DC */ stw r7, 0xddc(r8) -/* 000010D8 00001118 7F E3 FB 78 */ mr r3, r31 -/* 000010DC 0000111C 90 C8 0D E0 */ stw r6, 0xde0(r8) -/* 000010E0 00001120 C0 60 00 00 */ lfs f3, it_804DC8E0@sda21(r0) -/* 000010E4 00001124 D0 68 0D E8 */ stfs f3, 0xde8(r8) -/* 000010E8 00001128 80 08 0D D8 */ lwz r0, 0xdd8(r8) -/* 000010EC 0000112C C0 28 0D E8 */ lfs f1, 0xde8(r8) -/* 000010F0 00001130 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 000010F4 00001134 C0 08 0D E4 */ lfs f0, 0xde4(r8) -/* 000010F8 00001138 90 01 00 2C */ stw r0, 0x2c(r1) -/* 000010FC 0000113C C8 40 00 00 */ lfd f2, it_804DC8E8@sda21(r0) -/* 00001100 00001140 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00001104 00001144 90 A1 00 28 */ stw r5, 0x28(r1) -/* 00001108 00001148 C8 01 00 28 */ lfd f0, 0x28(r1) -/* 0000110C 0000114C EC 00 10 28 */ fsubs f0, f0, f2 -/* 00001110 00001150 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00001114 00001154 D0 08 0D EC */ stfs f0, 0xdec(r8) -/* 00001118 00001158 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 0000111C 0000115C 90 88 0D F0 */ stw r4, 0xdf0(r8) -/* 00001120 00001160 90 E8 0D F4 */ stw r7, 0xdf4(r8) -/* 00001124 00001164 90 C8 0D F8 */ stw r6, 0xdf8(r8) -/* 00001128 00001168 D0 68 0E 00 */ stfs f3, 0xe00(r8) -/* 0000112C 0000116C 80 08 0D F0 */ lwz r0, 0xdf0(r8) -/* 00001130 00001170 C0 28 0E 00 */ lfs f1, 0xe00(r8) -/* 00001134 00001174 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00001138 00001178 C0 08 0D FC */ lfs f0, 0xdfc(r8) -/* 0000113C 0000117C 90 01 00 24 */ stw r0, 0x24(r1) -/* 00001140 00001180 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00001144 00001184 90 A1 00 20 */ stw r5, 0x20(r1) -/* 00001148 00001188 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 0000114C 0000118C EC 00 10 28 */ fsubs f0, f0, f2 -/* 00001150 00001190 EC 01 00 24 */ fdivs f0, f1, f0 -/* 00001154 00001194 D0 08 0E 04 */ stfs f0, 0xe04(r8) -/* 00001158 00001198 81 1F 00 2C */ lwz r8, 0x2c(r31) -/* 0000115C 0000119C 80 88 00 C4 */ lwz r4, 0xc4(r8) -/* 00001160 000011A0 80 84 00 04 */ lwz r4, 0x4(r4) -/* 00001164 000011A4 80 04 00 18 */ lwz r0, 0x18(r4) -/* 00001168 000011A8 90 08 0E 08 */ stw r0, 0xe08(r8) -/* 0000116C 000011AC 90 E8 0E 0C */ stw r7, 0xe0c(r8) -/* 00001170 000011B0 90 C8 0E 10 */ stw r6, 0xe10(r8) -/* 00001174 000011B4 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 00001178 000011B8 D0 08 0E 18 */ stfs f0, 0xe18(r8) -/* 0000117C 000011BC 80 04 00 18 */ lwz r0, 0x18(r4) -/* 00001180 000011C0 C0 24 00 10 */ lfs f1, 0x10(r4) -/* 00001184 000011C4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 00001188 000011C8 C0 08 0E 14 */ lfs f0, 0xe14(r8) -/* 0000118C 000011CC 90 01 00 1C */ stw r0, 0x1c(r1) -/* 00001190 000011D0 EC 21 00 28 */ fsubs f1, f1, f0 -/* 00001194 000011D4 90 A1 00 18 */ stw r5, 0x18(r1) -/* 00001198 000011D8 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 0000119C 000011DC EC 00 10 28 */ fsubs f0, f0, f2 -/* 000011A0 000011E0 EC 01 00 24 */ fdivs f0, f1, f0 -/* 000011A4 000011E4 D0 08 0E 1C */ stfs f0, 0xe1c(r8) -/* 000011A8 000011E8 48 00 00 01 */ bl it_80285084 -/* 000011AC 000011EC 7F E3 FB 78 */ mr r3, r31 -/* 000011B0 000011F0 48 00 00 01 */ bl it_80285140 -/* 000011B4 000011F4 7F E3 FB 78 */ mr r3, r31 -/* 000011B8 000011F8 48 00 00 01 */ bl it_802851FC -/* 000011BC 000011FC 7F E3 FB 78 */ mr r3, r31 -/* 000011C0 00001200 48 00 00 01 */ bl it_80284E30 -/* 000011C4 00001204 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 000011C8 00001208 83 E1 00 34 */ lwz r31, 0x34(r1) -/* 000011CC 0000120C 38 21 00 38 */ addi r1, r1, 0x38 -/* 000011D0 00001210 7C 08 03 A6 */ mtlr r0 -/* 000011D4 00001214 4E 80 00 20 */ blr -.endfn it_80285DF0 - -.fn it_80285F2C, local -/* 000011D8 00001218 7C 08 02 A6 */ mflr r0 -/* 000011DC 0000121C 90 01 00 04 */ stw r0, 0x4(r1) -/* 000011E0 00001220 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 000011E4 00001224 93 E1 00 14 */ stw r31, 0x14(r1) -/* 000011E8 00001228 7C 7F 1B 78 */ mr r31, r3 -/* 000011EC 0000122C 48 00 00 01 */ bl it_80285084 -/* 000011F0 00001230 7F E3 FB 78 */ mr r3, r31 -/* 000011F4 00001234 48 00 00 01 */ bl it_80285140 -/* 000011F8 00001238 7F E3 FB 78 */ mr r3, r31 -/* 000011FC 0000123C 48 00 00 01 */ bl it_802851FC -/* 00001200 00001240 7F E3 FB 78 */ mr r3, r31 -/* 00001204 00001244 48 00 00 01 */ bl it_80284E30 -/* 00001208 00001248 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 0000120C 0000124C 38 60 00 00 */ li r3, 0x0 -/* 00001210 00001250 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 00001214 00001254 38 21 00 18 */ addi r1, r1, 0x18 -/* 00001218 00001258 7C 08 03 A6 */ mtlr r0 -/* 0000121C 0000125C 4E 80 00 20 */ blr -.endfn it_80285F2C - -.fn it_80285F74, local -/* 00001220 00001260 4E 80 00 20 */ blr -.endfn it_80285F74 - -.fn it_80285F78, local -/* 00001224 00001264 7C 08 02 A6 */ mflr r0 -/* 00001228 00001268 3C 80 00 00 */ lis r4, it_80285424@ha -/* 0000122C 0000126C 90 01 00 04 */ stw r0, 0x4(r1) -/* 00001230 00001270 3C A0 00 00 */ lis r5, it_802855F8@ha -/* 00001234 00001274 38 84 00 00 */ addi r4, r4, it_80285424@l -/* 00001238 00001278 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 0000123C 0000127C 38 A5 00 00 */ addi r5, r5, it_802855F8@l -/* 00001240 00001280 48 00 00 01 */ bl it_8026E8C4 -/* 00001244 00001284 38 60 00 00 */ li r3, 0x0 -/* 00001248 00001288 80 01 00 0C */ lwz r0, 0xc(r1) -/* 0000124C 0000128C 38 21 00 08 */ addi r1, r1, 0x8 -/* 00001250 00001290 7C 08 03 A6 */ mtlr r0 -/* 00001254 00001294 4E 80 00 20 */ blr -.endfn it_80285F78 - -.fn it_80285FAC, global -/* 00001258 00001298 7C 08 02 A6 */ mflr r0 -/* 0000125C 0000129C 90 01 00 04 */ stw r0, 0x4(r1) -/* 00001260 000012A0 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 00001264 000012A4 80 83 00 2C */ lwz r4, 0x2c(r3) -/* 00001268 000012A8 80 04 00 24 */ lwz r0, 0x24(r4) -/* 0000126C 000012AC 2C 00 00 03 */ cmpwi r0, 0x3 -/* 00001270 000012B0 40 82 00 08 */ bne .L_00001278 -/* 00001274 000012B4 48 00 00 01 */ bl itColl_BounceOffVictim -.L_00001278: -/* 00001278 000012B8 38 60 00 00 */ li r3, 0x0 -/* 0000127C 000012BC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 00001280 000012C0 38 21 00 08 */ addi r1, r1, 0x8 -/* 00001284 000012C4 7C 08 03 A6 */ mtlr r0 -/* 00001288 000012C8 4E 80 00 20 */ blr -.endfn it_80285FAC - -.fn it_80285FE0, global -/* 0000128C 000012CC 7C 08 02 A6 */ mflr r0 -/* 00001290 000012D0 90 01 00 04 */ stw r0, 0x4(r1) -/* 00001294 000012D4 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 00001298 000012D8 48 00 00 01 */ bl it_80273030 -/* 0000129C 000012DC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 000012A0 000012E0 38 21 00 08 */ addi r1, r1, 0x8 -/* 000012A4 000012E4 7C 08 03 A6 */ mtlr r0 -/* 000012A8 000012E8 4E 80 00 20 */ blr -.endfn it_80285FE0 - -.fn it_80286000, global -/* 000012AC 000012EC 7C 08 02 A6 */ mflr r0 -/* 000012B0 000012F0 90 01 00 04 */ stw r0, 0x4(r1) -/* 000012B4 000012F4 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 000012B8 000012F8 48 00 00 01 */ bl itColl_BounceOffVictim -/* 000012BC 000012FC 38 60 00 00 */ li r3, 0x0 -/* 000012C0 00001300 80 01 00 0C */ lwz r0, 0xc(r1) -/* 000012C4 00001304 38 21 00 08 */ addi r1, r1, 0x8 -/* 000012C8 00001308 7C 08 03 A6 */ mtlr r0 -/* 000012CC 0000130C 4E 80 00 20 */ blr -.endfn it_80286000 - -.fn it_80286024, global -/* 000012D0 00001310 7C 08 02 A6 */ mflr r0 -/* 000012D4 00001314 90 01 00 04 */ stw r0, 0x4(r1) -/* 000012D8 00001318 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 000012DC 0000131C 48 00 00 01 */ bl itColl_BounceOffVictim -/* 000012E0 00001320 38 60 00 00 */ li r3, 0x0 -/* 000012E4 00001324 80 01 00 0C */ lwz r0, 0xc(r1) -/* 000012E8 00001328 38 21 00 08 */ addi r1, r1, 0x8 -/* 000012EC 0000132C 7C 08 03 A6 */ mtlr r0 -/* 000012F0 00001330 4E 80 00 20 */ blr -.endfn it_80286024 - -.fn itSword_BounceOffShield, global -/* 000012F4 00001334 7C 08 02 A6 */ mflr r0 -/* 000012F8 00001338 90 01 00 04 */ stw r0, 0x4(r1) -/* 000012FC 0000133C 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 00001300 00001340 48 00 00 01 */ bl itColl_BounceOffShield -/* 00001304 00001344 80 01 00 0C */ lwz r0, 0xc(r1) -/* 00001308 00001348 38 21 00 08 */ addi r1, r1, 0x8 -/* 0000130C 0000134C 7C 08 03 A6 */ mtlr r0 -/* 00001310 00001350 4E 80 00 20 */ blr -.endfn itSword_BounceOffShield - -.fn it_80286068, global -/* 00001314 00001354 7C 08 02 A6 */ mflr r0 -/* 00001318 00001358 90 01 00 04 */ stw r0, 0x4(r1) -/* 0000131C 0000135C 94 21 FF F8 */ stwu r1, -0x8(r1) -/* 00001320 00001360 48 00 00 01 */ bl it_8026B894 -/* 00001324 00001364 80 01 00 0C */ lwz r0, 0xc(r1) -/* 00001328 00001368 38 21 00 08 */ addi r1, r1, 0x8 -/* 0000132C 0000136C 7C 08 03 A6 */ mtlr r0 -/* 00001330 00001370 4E 80 00 20 */ blr -.endfn it_80286068 - -# 0x00000000 - 0x00000050 -.data -.balign 8 - -.obj it_803F5800, global - .4byte 0x00000000 - .4byte it_80285580 - .4byte it_802855C8 - .4byte it_802855CC - .4byte 0x00000000 - .4byte it_80285744 - .4byte it_8028578C - .4byte it_802857D8 - .4byte 0x00000000 - .4byte it_80285920 - .4byte it_80285AF4 - .4byte it_80285AF8 - .4byte 0x00000001 - .4byte it_80285744 - .4byte it_8028578C - .4byte it_802857D8 - .4byte 0x00000000 - .4byte it_80285F2C - .4byte it_80285F74 - .4byte it_80285F78 -.endobj it_803F5800 - -# 0x00000000 - 0x00000010 -.section .sdata, "wa" -.balign 8 - -.obj it_804D5220, global - .4byte 0x6A6F626A - .4byte 0x2E680000 -.endobj it_804D5220 - -.obj it_804D5228, global - .4byte 0x6A6F626A - .4byte 0x00000000 -.endobj it_804D5228 - -# 0x00000000 - 0x00000030 -.section .sdata2, "a" -.balign 8 - -.obj it_804DC8D0, local - .4byte 0x00000000 -.endobj it_804DC8D0 - -.obj it_804DC8D4, local - .4byte 0xBF800000 -.endobj it_804DC8D4 - -.obj it_804DC8D8, local - .4byte 0x3E99999A -.endobj it_804DC8D8 - -.obj it_804DC8DC, local - .4byte 0x3FC00000 -.endobj it_804DC8DC - -.obj it_804DC8E0, local - .4byte 0x3F800000 -.endobj it_804DC8E0 - -.obj gap_11_804DC8E4_sdata2, global -.hidden gap_11_804DC8E4_sdata2 - .4byte 0x00000000 -.endobj gap_11_804DC8E4_sdata2 - -.obj it_804DC8E8, local - .4byte 0x43300000 - .4byte 0x80000000 -.endobj it_804DC8E8 - -.obj it_804DC8F0, local - .4byte 0x41207AE1 -.endobj it_804DC8F0 - -.obj it_804DC8F4, local - .4byte 0x40000000 -.endobj it_804DC8F4 - -.obj it_804DC8F8, local - .4byte 0x3E800000 -.endobj it_804DC8F8 - -.obj gap_11_804DC8FC_sdata2, global -.hidden gap_11_804DC8FC_sdata2 - .4byte 0x00000000 -.endobj gap_11_804DC8FC_sdata2 diff --git a/configure.py b/configure.py index 4a1d2e81ec..ef3e7acfe9 100755 --- a/configure.py +++ b/configure.py @@ -945,7 +945,7 @@ def RuntimeLib(lib_name: str, objects: Objects) -> LibDict: Object(NonMatching, "melee/it/items/ittomato.c"), Object(Matching, "melee/it/items/itstar.c"), Object(Matching, "melee/it/items/itbat.c"), - Object(NonMatching, "melee/it/items/itsword.c"), + Object(Matching, "melee/it/items/itsword.c"), Object(NonMatching, "melee/it/items/itbox.c"), Object(NonMatching, "melee/it/items/ittaru.c"), Object(Matching, "melee/it/items/itegg.c"), diff --git a/obj_files.mk b/obj_files.mk index daa1127073..834f281810 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -568,7 +568,7 @@ TEXT_O_FILES +=\ $(BUILD_DIR)/asm/melee/it/items/ittomato.s.o\ $(BUILD_DIR)/src/melee/it/items/itstar.c.o\ $(BUILD_DIR)/src/melee/it/items/itbat.c.o\ - $(BUILD_DIR)/asm/melee/it/items/itsword.s.o\ + $(BUILD_DIR)/src/melee/it/items/itsword.c.o\ $(BUILD_DIR)/asm/melee/it/items/itbox.s.o\ $(BUILD_DIR)/asm/melee/it/items/ittaru.s.o\ $(BUILD_DIR)/src/melee/it/items/itegg.c.o\ diff --git a/src/melee/it/itCommonItems.h b/src/melee/it/itCommonItems.h index f0bd94eead..4dc190d96c 100644 --- a/src/melee/it/itCommonItems.h +++ b/src/melee/it/itCommonItems.h @@ -25,7 +25,7 @@ typedef struct { } ItStarVars; struct itSword_ItemVars { - /* ip+DD4 */ UNK_T x0; + /* ip+DD4 */ int x0; /* ip+DD8 */ int x4; /* ip+DDC */ int x8; /* ip+DE0 */ int xC; diff --git a/src/melee/it/items/itsword.c b/src/melee/it/items/itsword.c index 003e410e22..d55625c728 100644 --- a/src/melee/it/items/itsword.c +++ b/src/melee/it/items/itsword.c @@ -21,19 +21,6 @@ #include #include -static float const it_804DC8D0 = 0; -static float const it_804DC8D4 = -1; -static float const it_804DC8D8 = 0.3; -static float const it_804DC8DC = 1.5; -static float const it_804DC8E0 = 1; -static double const it_804DC8E8 = S32_TO_F32; -static float const it_804DC8F0 = 10.03; -static float const it_804DC8F4 = 2; -static float const it_804DC8F8 = 0.25; - -/* literal */ extern char* const it_804D5220; -/* literal */ extern char* const it_804D5228; - /* 284E30 */ static void it_80284E30(Item_GObj* gobj); /* 285084 */ static void it_80285084(Item_GObj* gobj); /* 285140 */ static void it_80285140(Item_GObj* gobj); @@ -68,7 +55,7 @@ Item_GObj* itSword_Spawn(Vec3* pos) spawn.prev_pos = *pos; spawn.prev_pos.z = 0; spawn.pos = spawn.prev_pos; - spawn.facing_dir = -1; + spawn.facing_dir = -1.0f; spawn.x3C_damage = 0; spawn.vel.x = spawn.vel.y = spawn.vel.z = 0; spawn.x0_parent_gobj = NULL; @@ -93,22 +80,20 @@ void it_80284E30(Item_GObj* gobj) { Item* ip = GET_ITEM(gobj); float scale_y = - it_804DC8D8 * - (ip->xDD4_itemVar.sword.x28 * - (ip->xDD4_itemVar.sword.x4C * ip->xDD4_itemVar.sword.x10)); + 0.3f * (ip->xDD4_itemVar.sword.x28 * + (ip->xDD4_itemVar.sword.x4C * ip->xDD4_itemVar.sword.x10)); HSD_JObjSetScaleY(ip->xBBC_dynamicBoneTable->bones[6], scale_y); { Vec3 scale; if (ip->msid == 2) { - float temp_scale = - it_804DC8DC * ip->xDD4_itemVar.sword.x40 + scale_y; + float temp_scale = 1.5f * ip->xDD4_itemVar.sword.x40 + scale_y; scale.x = temp_scale; scale.y = scale_y + ip->xDD4_itemVar.sword.x40; scale.z = temp_scale; } else { - scale.x = it_804DC8E0; + scale.x = 1.0f; scale.y = scale_y; - scale.z = it_804DC8E0; + scale.z = 1.0f; } HSD_JObjSetScale(ip->xBBC_dynamicBoneTable->bones[3], &scale); } @@ -120,7 +105,7 @@ void it_80284FC4(Item_GObj* gobj, int arg1, float arg2) ip->xDD4_itemVar.sword.x4 = 0; ip->xDD4_itemVar.sword.x8 = arg1; ip->xDD4_itemVar.sword.xC = 1; - ip->xDD4_itemVar.sword.x10 = it_804DC8E0; + ip->xDD4_itemVar.sword.x10 = 1.0f; ip->xDD4_itemVar.sword.x14 = arg2; ip->xDD4_itemVar.sword.x18 = (ip->xDD4_itemVar.sword.x14 - ip->xDD4_itemVar.sword.x10) / arg1; @@ -132,7 +117,7 @@ void it_80285024(Item_GObj* gobj, int arg1) ip->xDD4_itemVar.sword.x4 = arg1; ip->xDD4_itemVar.sword.x8 = 0; ip->xDD4_itemVar.sword.xC = -1; - ip->xDD4_itemVar.sword.x14 = it_804DC8E0; + ip->xDD4_itemVar.sword.x14 = 1.0f; ip->xDD4_itemVar.sword.x18 = (ip->xDD4_itemVar.sword.x14 - ip->xDD4_itemVar.sword.x10) / ip->xDD4_itemVar.sword.x4; @@ -232,13 +217,13 @@ void it_802852B8(Item_GObj* gobj, float* arg1, float* arg2) Item* ip = GET_ITEM(gobj); float f1 = ip->xDD4_itemVar.sword.x4C * ip->xDD4_itemVar.star.xvel * - ip->xDD4_itemVar.sword.x28 * it_804DC8D8; + ip->xDD4_itemVar.sword.x28 * 0.3f; if (arg1 != NULL) { - *arg1 = it_804DC8D0; + *arg1 = 0.0f; } if (arg2 != NULL) { - *arg2 = it_804DC8F0 * f1; + *arg2 = 10.03f * f1; } } @@ -260,29 +245,29 @@ void it_80285338(Item_GObj* gobj) Item* ip = GET_ITEM(gobj); itSword_UnkArticle1* attrs = ip->xC4_article_data->x4_specialAttributes; it_8026B390(gobj); - ip->x40_vel.x = it_804DC8D0; + ip->x40_vel.x = 0.0f; ip->x40_vel.y = attrs->xC; - ip->x40_vel.z = it_804DC8D0; - ip->xDD4_itemVar.capsule.x0 = 0; - ip->xDD4_itemVar.capsule.x4 = 0; + ip->x40_vel.z = 0.0f; + ip->xDD4_itemVar.sword.x0 = 0; + ip->xDD4_itemVar.sword.x4 = 0; ip->xDD4_itemVar.sword.x8 = 0; ip->xDD4_itemVar.sword.xC = 0; - ip->xDD4_itemVar.sword.x10 = it_804DC8E0; - ip->xDD4_itemVar.sword.x14 = it_804DC8E0; - ip->xDD4_itemVar.sword.x18 = it_804DC8D0; + ip->xDD4_itemVar.sword.x10 = 1.0f; + ip->xDD4_itemVar.sword.x14 = 1.0f; + ip->xDD4_itemVar.sword.x18 = 0.0f; ip->xDD4_itemVar.sword.x1C = 0; ip->xDD4_itemVar.sword.x20 = 0; ip->xDD4_itemVar.sword.x24 = 0; - ip->xDD4_itemVar.sword.x28 = it_804DC8E0; - ip->xDD4_itemVar.sword.x2C = it_804DC8E0; - ip->xDD4_itemVar.sword.x30 = it_804DC8D0; + ip->xDD4_itemVar.sword.x28 = 1.0f; + ip->xDD4_itemVar.sword.x2C = 1.0f; + ip->xDD4_itemVar.sword.x30 = 0.0f; ip->xDD4_itemVar.sword.x34 = 0; ip->xDD4_itemVar.sword.x38 = 0; ip->xDD4_itemVar.sword.x3C = 0; - ip->xDD4_itemVar.sword.x40 = it_804DC8E0; - ip->xDD4_itemVar.sword.x44 = it_804DC8E0; - ip->xDD4_itemVar.sword.x48 = it_804DC8D0; - ip->xDD4_itemVar.sword.x50 = it_804DC8D0; + ip->xDD4_itemVar.sword.x40 = 1.0f; + ip->xDD4_itemVar.sword.x44 = 1.0f; + ip->xDD4_itemVar.sword.x48 = 0.0f; + ip->xDD4_itemVar.sword.x50 = 0.0f; ip->xDD4_itemVar.sword.x4C = HSD_JObjGetScaleY(ip->xBBC_dynamicBoneTable->bones[6]); ip->xDD4_itemVar.sword.x54 = 0; @@ -292,18 +277,25 @@ void it_80285338(Item_GObj* gobj) static inline void inlineA0(Item_GObj* gobj) { Item* ip = GET_ITEM(gobj); - ip->x40_vel.x = ip->x40_vel.y = ip->x40_vel.z = it_804DC8D0; + ip->x40_vel.x = ip->x40_vel.y = ip->x40_vel.z = 0.0f; ip->xD50_landNum = 0; Item_80268E5C(gobj, 0, ITEM_ANIM_UPDATE); } +static inline void inlineB0(Item_GObj* gobj) +{ + Item* ip = GET_ITEM(gobj); + Item_80268E5C(gobj, 1, ITEM_ANIM_UPDATE); + ip->xD50_landNum = 0; +} + static inline void inlineA1(Item_GObj* gobj) { Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.capsule.x4 = 4; + ip->xDD4_itemVar.sword.x4 = 4; ip->xDD4_itemVar.sword.x8 = 0; ip->xDD4_itemVar.sword.xC = -1; - ip->xDD4_itemVar.sword.x14 = it_804DC8E0; + ip->xDD4_itemVar.sword.x14 = 1.0f; ip->xDD4_itemVar.sword.x18 = (ip->xDD4_itemVar.sword.x14 - ip->xDD4_itemVar.sword.x10) / ip->xDD4_itemVar.sword.x4; @@ -315,12 +307,24 @@ static inline void inlineA2(Item_GObj* gobj) ip->xDD4_itemVar.sword.x1C = 4; ip->xDD4_itemVar.sword.x20 = 0; ip->xDD4_itemVar.sword.x24 = -1; - ip->xDD4_itemVar.sword.x2C = it_804DC8E0; + ip->xDD4_itemVar.sword.x2C = 1.0f; ip->xDD4_itemVar.sword.x30 = (ip->xDD4_itemVar.sword.x2C - ip->xDD4_itemVar.sword.x28) / ip->xDD4_itemVar.sword.x1C; } +static inline void inlineC1(Item_GObj* gobj) +{ + Item* ip = GET_ITEM(gobj); + ip->xDD4_itemVar.sword.x1C = 0; + ip->xDD4_itemVar.sword.x20 = 4; + ip->xDD4_itemVar.sword.x24 = 1; + ip->xDD4_itemVar.sword.x28 = 1.0f; + ip->xDD4_itemVar.sword.x2C = 2.0f; + ip->xDD4_itemVar.sword.x30 = + (ip->xDD4_itemVar.sword.x2C - ip->xDD4_itemVar.sword.x28) / 4; +} + static inline void inlineA3(Item_GObj* gobj) { Item* ip = GET_ITEM(gobj); @@ -333,6 +337,18 @@ static inline void inlineA3(Item_GObj* gobj) (attrs->x10 - ip->xDD4_itemVar.sword.x40) / attrs->x18; } +static inline void inlineD1(Item_GObj* gobj) +{ + Item* ip = GET_ITEM(gobj); + itSword_UnkArticle1* attrs = ip->xC4_article_data->x4_specialAttributes; + ip->xDD4_itemVar.sword.x34 = 0; + ip->xDD4_itemVar.sword.x38 = attrs->x18; + ip->xDD4_itemVar.sword.x3C = 1; + ip->xDD4_itemVar.sword.x40 = attrs->x10; + ip->xDD4_itemVar.sword.x44 = attrs->x14; + ip->xDD4_itemVar.sword.x48 = (attrs->x14 - attrs->x10) / attrs->x18; +} + static inline void inlineA4(Item_GObj* gobj) { it_80285084(gobj); @@ -364,57 +380,12 @@ bool it_802855CC(Item_GObj* gobj) return false; } -static inline void inlineB0(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - Item_80268E5C(gobj, 1, ITEM_ANIM_UPDATE); - ip->xD50_landNum = 0; -} - -static inline void inlineB1(Item_GObj* gobj) -{ - { - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.capsule.x4 = 4; - ip->xDD4_itemVar.sword.x8 = 0; - ip->xDD4_itemVar.sword.xC = -1; - ip->xDD4_itemVar.star.yvel = it_804DC8E0; - ip->xDD4_itemVar.sword.x18 = - (ip->xDD4_itemVar.star.yvel - ip->xDD4_itemVar.star.xvel) / - (float) ip->xDD4_itemVar.capsule.x4; - } -} - -static inline void inlineB2(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.sword.x1C = 4; - ip->xDD4_itemVar.sword.x20 = 0; - ip->xDD4_itemVar.sword.x24 = -1; - ip->xDD4_itemVar.sword.x2C = it_804DC8E0; - ip->xDD4_itemVar.sword.x30 = - (ip->xDD4_itemVar.sword.x2C - ip->xDD4_itemVar.sword.x28) / - (float) ip->xDD4_itemVar.sword.x1C; -} - -static inline void inlineB3(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - itSword_UnkArticle1* attrs = ip->xC4_article_data->x4_specialAttributes; - ip->xDD4_itemVar.sword.x34 = attrs->x18; - ip->xDD4_itemVar.sword.x38 = 0; - ip->xDD4_itemVar.sword.x3C = -1; - ip->xDD4_itemVar.sword.x44 = attrs->x10; - ip->xDD4_itemVar.sword.x48 = - (attrs->x10 - ip->xDD4_itemVar.sword.x40) / attrs->x18; -} - void it_802855F8(Item_GObj* gobj) { inlineB0(gobj); - inlineB1(gobj); - inlineB2(gobj); - inlineB3(gobj); + inlineA1(gobj); + inlineA2(gobj); + inlineA3(gobj); inlineA4(gobj); } @@ -437,31 +408,6 @@ bool it_802857D8(Item_GObj* gobj) return false; } -static inline void inlineC0(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.capsule.x4 = 4; - ip->xDD4_itemVar.sword.x8 = 0; - ip->xDD4_itemVar.sword.xC = -1; - ip->xDD4_itemVar.sword.x14 = it_804DC8E0; - ip->xDD4_itemVar.sword.x18 = - (ip->xDD4_itemVar.star.yvel - ip->xDD4_itemVar.star.xvel) / - (float) ip->xDD4_itemVar.capsule.x4; -} - -static inline void inlineC1(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.sword.x1C = 0; - ip->xDD4_itemVar.sword.x20 = 4; - ip->xDD4_itemVar.sword.x24 = 1; - ip->xDD4_itemVar.sword.x28 = it_804DC8E0; - ip->xDD4_itemVar.sword.x2C = it_804DC8F4; - ip->xDD4_itemVar.sword.x30 = - (ip->xDD4_itemVar.sword.x2C - ip->xDD4_itemVar.sword.x28) * - it_804DC8F8; -} - void it_80285804(Item_GObj* gobj) { Item* ip = GET_ITEM(gobj); @@ -470,69 +416,28 @@ void it_80285804(Item_GObj* gobj) HSD_JObjClearFlagsAll(child, JOBJ_HIDDEN); Item_80268E5C(gobj, 2, ITEM_ANIM_UPDATE); ip->xD50_landNum = 0; - inlineC0(gobj); + inlineA1(gobj); inlineC1(gobj); inlineA4(gobj); } -static inline void inlineD0(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.sword.x4 = 4; - ip->xDD4_itemVar.sword.x8 = 0; - ip->xDD4_itemVar.sword.xC = -1; - ip->xDD4_itemVar.sword.x14 = it_804DC8E0; - ip->xDD4_itemVar.sword.x18 = - (ip->xDD4_itemVar.sword.x14 - ip->xDD4_itemVar.sword.x10) / - ip->xDD4_itemVar.sword.x4; -} - -static inline void inlineD1(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - itSword_UnkArticle1* attrs = ip->xC4_article_data->x4_specialAttributes; - ip->xDD4_itemVar.sword.x34 = 0; - ip->xDD4_itemVar.sword.x38 = attrs->x18; - ip->xDD4_itemVar.sword.x3C = 1; - ip->xDD4_itemVar.sword.x40 = attrs->x10; - ip->xDD4_itemVar.sword.x44 = attrs->x14; - ip->xDD4_itemVar.sword.x48 = (attrs->x14 - attrs->x10) / attrs->x18; -} - -static inline void inlineD2(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - itSword_UnkArticle1* attrs = ip->xC4_article_data->x4_specialAttributes; - ip->xDD4_itemVar.sword.x34 = attrs->x18; - ip->xDD4_itemVar.sword.x38 = 0; - ip->xDD4_itemVar.sword.x3C = -1; - ip->xDD4_itemVar.sword.x44 = attrs->x10; - ip->xDD4_itemVar.sword.x48 = - (attrs->x10 - ip->xDD4_itemVar.sword.x40) / attrs->x18; -} - -static inline void inlineD3(Item_GObj* gobj) +bool it_80285920(Item_GObj* gobj) { Item* ip = GET_ITEM(gobj); - HSD_GObj* owner = ip->owner; itSword_UnkArticle1* attrs = ip->xC4_article_data->x4_specialAttributes; - if (owner != NULL && ftLib_80086FA8(owner) != 1) { - inlineD0(gobj); + if (ip->owner != NULL && ftLib_80086FA8(ip->owner) != 1) { + inlineA1(gobj); } if (ip->xDD4_itemVar.sword.x3C == 0) { if (ip->xDD4_itemVar.sword.x34 == ip->xDD4_itemVar.sword.x38) { if (ip->xDD4_itemVar.sword.x38 == 0) { inlineD1(gobj); } else if (ip->xDD4_itemVar.sword.x38 == attrs->x18) { - inlineD2(gobj); + inlineA3(gobj); } } } -} -bool it_80285920(Item_GObj* gobj) -{ - inlineD3(gobj); inlineA4(gobj); return false; } @@ -544,154 +449,40 @@ bool it_80285AF8(Item_GObj* gobj) return false; } -static inline void inlineE0(Item_GObj* gobj) +void it_80285B00(Item_GObj* gobj) { - HSD_JObj* jobj = GET_JOBJ(gobj); - HSD_JObj* child = HSD_JObjGetChild(jobj); + HSD_JObj* child = HSD_JObjGetChild(GET_JOBJ(gobj)); + it_8026B390(gobj); HSD_JObjClearFlagsAll(child, JOBJ_HIDDEN); - Item_80268E5C(gobj, 3, 6); -} - -static inline void inlineE1(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.capsule.x4 = 4; - ip->xDD4_itemVar.sword.x8 = 0; - ip->xDD4_itemVar.sword.xC = -1; - ip->xDD4_itemVar.sword.x14 = it_804DC8E0; - ip->xDD4_itemVar.sword.x18 = - (ip->xDD4_itemVar.sword.x14 - ip->xDD4_itemVar.sword.x10) / - ip->xDD4_itemVar.sword.x4; -} - -static inline void inlineE2(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.sword.x1C = 4; - ip->xDD4_itemVar.sword.x20 = 0; - ip->xDD4_itemVar.sword.x24 = -1; - ip->xDD4_itemVar.sword.x2C = it_804DC8E0; - ip->xDD4_itemVar.sword.x30 = - (ip->xDD4_itemVar.sword.x2C - ip->xDD4_itemVar.sword.x28) / - (float) ip->xDD4_itemVar.sword.x1C; -} + Item_80268E5C(gobj, 3, ITEM_ANIM_UPDATE | ITEM_DROP_UPDATE); -static inline void inlineE3(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - itSword_UnkArticle1* attrs = ip->xC4_article_data->x4_specialAttributes; - ip->xDD4_itemVar.sword.x34 = attrs->x18; - ip->xDD4_itemVar.sword.x38 = 0; - ip->xDD4_itemVar.sword.x3C = -1; - ip->xDD4_itemVar.sword.x44 = attrs->x10; - ip->xDD4_itemVar.sword.x48 = - (attrs->x10 - ip->xDD4_itemVar.sword.x40) / (float) attrs->x18; -} - -void it_80285B00(Item_GObj* gobj) -{ - inlineE0(gobj); - inlineE1(gobj); - inlineE2(gobj); - inlineE3(gobj); + inlineA1(gobj); + inlineA2(gobj); + inlineA3(gobj); inlineA4(gobj); } -static inline void inlineF0(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.capsule.x4 = 4; - ip->xDD4_itemVar.sword.x8 = 0; - ip->xDD4_itemVar.sword.xC = -1; - ip->xDD4_itemVar.sword.x14 = it_804DC8E0; - ip->xDD4_itemVar.sword.x18 = - (ip->xDD4_itemVar.sword.x14 - ip->xDD4_itemVar.sword.x10) / - ip->xDD4_itemVar.sword.x4; -} - -static inline void inlineF1(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.sword.x1C = 4; - ip->xDD4_itemVar.sword.x20 = 0; - ip->xDD4_itemVar.sword.x24 = -1; - ip->xDD4_itemVar.sword.x2C = it_804DC8E0; - ip->xDD4_itemVar.sword.x30 = - (ip->xDD4_itemVar.sword.x2C - ip->xDD4_itemVar.sword.x28) / - (float) ip->xDD4_itemVar.sword.x1C; -} - -static inline void inlineF2(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - itSword_UnkArticle1* attrs = ip->xC4_article_data->x4_specialAttributes; - ip->xDD4_itemVar.sword.x34 = attrs->x18; - ip->xDD4_itemVar.sword.x38 = 0; - ip->xDD4_itemVar.sword.x3C = -1; - ip->xDD4_itemVar.sword.x44 = attrs->x10; - ip->xDD4_itemVar.sword.x48 = - (attrs->x10 - ip->xDD4_itemVar.sword.x40) / attrs->x18; -} - void it_80285C78(Item_GObj* gobj) { - /// @todo #inlineE0 - { - HSD_JObj* jobj = GET_JOBJ(gobj); - HSD_JObj* child = HSD_JObjGetChild(jobj); - it_8026B390(gobj); - HSD_JObjClearFlagsAll(child, JOBJ_HIDDEN); - Item_80268E5C(gobj, 3, 6); - } - inlineF0(gobj); - inlineF1(gobj); - inlineF2(gobj); - inlineA4(gobj); -} - -static inline void inlineG0(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.capsule.x4 = 4; - ip->xDD4_itemVar.sword.x8 = 0; - ip->xDD4_itemVar.sword.xC = -1; - ip->xDD4_itemVar.sword.x14 = it_804DC8E0; - ip->xDD4_itemVar.sword.x18 = - (ip->xDD4_itemVar.sword.x14 - ip->xDD4_itemVar.sword.x10) / - ip->xDD4_itemVar.sword.x4; -} + HSD_JObj* child = HSD_JObjGetChild(GET_JOBJ(gobj)); -static inline void inlineG1(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - ip->xDD4_itemVar.sword.x1C = 4; - ip->xDD4_itemVar.sword.x20 = 0; - ip->xDD4_itemVar.sword.x24 = -1; - ip->xDD4_itemVar.sword.x2C = it_804DC8E0; - ip->xDD4_itemVar.sword.x30 = - (ip->xDD4_itemVar.sword.x2C - ip->xDD4_itemVar.sword.x28) / - ip->xDD4_itemVar.sword.x1C; -} + it_8026B390(gobj); + HSD_JObjClearFlagsAll(child, JOBJ_HIDDEN); + Item_80268E5C(gobj, 3, ITEM_ANIM_UPDATE | ITEM_DROP_UPDATE); -static inline void inlineG2(Item_GObj* gobj) -{ - Item* ip = GET_ITEM(gobj); - itSword_UnkArticle1* attrs = ip->xC4_article_data->x4_specialAttributes; - ip->xDD4_itemVar.sword.x34 = attrs->x18; - ip->xDD4_itemVar.sword.x38 = 0; - ip->xDD4_itemVar.sword.x3C = -1; - ip->xDD4_itemVar.sword.x44 = attrs->x10; - ip->xDD4_itemVar.sword.x48 = - (attrs->x10 - ip->xDD4_itemVar.sword.x40) / attrs->x18; + inlineA1(gobj); + inlineA2(gobj); + inlineA3(gobj); + inlineA4(gobj); } void it_80285DF0(Item_GObj* gobj) { Item_80268E5C(gobj, 4, ITEM_ANIM_UPDATE); - inlineG0(gobj); - inlineG1(gobj); - inlineG2(gobj); + inlineA1(gobj); + inlineA2(gobj); + inlineA3(gobj); inlineA4(gobj); }