J3DJoint OK

This commit is contained in:
Tal Hayon
2023-05-09 10:41:27 +03:00
parent 44b0fdbb0d
commit ff07b43bfa
9 changed files with 111 additions and 370 deletions
@@ -1,59 +0,0 @@
lbl_8032F170:
/* 8032F170 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032F174 38 80 00 00 */ li r4, 0
/* 8032F178 90 83 00 00 */ stw r4, 0(r3)
/* 8032F17C 90 83 00 04 */ stw r4, 4(r3)
/* 8032F180 90 83 00 08 */ stw r4, 8(r3)
/* 8032F184 90 83 00 0C */ stw r4, 0xc(r3)
/* 8032F188 90 83 00 10 */ stw r4, 0x10(r3)
/* 8032F18C B0 83 00 14 */ sth r4, 0x14(r3)
/* 8032F190 38 00 00 01 */ li r0, 1
/* 8032F194 98 03 00 16 */ stb r0, 0x16(r3)
/* 8032F198 98 83 00 17 */ stb r4, 0x17(r3)
/* 8032F19C 38 C3 00 14 */ addi r6, r3, 0x14
/* 8032F1A0 3C 80 80 3A */ lis r4, j3dDefaultTransformInfo@ha /* 0x803A1E30@ha */
/* 8032F1A4 38 84 1E 30 */ addi r4, r4, j3dDefaultTransformInfo@l /* 0x803A1E30@l */
/* 8032F1A8 38 A4 FF FC */ addi r5, r4, -4
/* 8032F1AC 38 00 00 04 */ li r0, 4
/* 8032F1B0 7C 09 03 A6 */ mtctr r0
lbl_8032F1B4:
/* 8032F1B4 80 85 00 04 */ lwz r4, 4(r5)
/* 8032F1B8 84 05 00 08 */ lwzu r0, 8(r5)
/* 8032F1BC 90 86 00 04 */ stw r4, 4(r6)
/* 8032F1C0 94 06 00 08 */ stwu r0, 8(r6)
/* 8032F1C4 42 00 FF F0 */ bdnz lbl_8032F1B4
/* 8032F1C8 C0 02 CA A4 */ lfs f0, lit_1220(r2)
/* 8032F1CC D0 03 00 38 */ stfs f0, 0x38(r3)
/* 8032F1D0 38 00 00 00 */ li r0, 0
/* 8032F1D4 90 03 00 54 */ stw r0, 0x54(r3)
/* 8032F1D8 90 03 00 58 */ stw r0, 0x58(r3)
/* 8032F1DC 3C 80 80 3A */ lis r4, lit_1257@ha /* 0x803A2080@ha */
/* 8032F1E0 38 A4 20 80 */ addi r5, r4, lit_1257@l /* 0x803A2080@l */
/* 8032F1E4 80 85 00 00 */ lwz r4, 0(r5)
/* 8032F1E8 80 05 00 04 */ lwz r0, 4(r5)
/* 8032F1EC 90 81 00 14 */ stw r4, 0x14(r1)
/* 8032F1F0 90 01 00 18 */ stw r0, 0x18(r1)
/* 8032F1F4 80 05 00 08 */ lwz r0, 8(r5)
/* 8032F1F8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8032F1FC C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8032F200 D0 03 00 3C */ stfs f0, 0x3c(r3)
/* 8032F204 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8032F208 D0 03 00 40 */ stfs f0, 0x40(r3)
/* 8032F20C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8032F210 D0 03 00 44 */ stfs f0, 0x44(r3)
/* 8032F214 3C 80 80 3A */ lis r4, lit_1259@ha /* 0x803A208C@ha */
/* 8032F218 38 A4 20 8C */ addi r5, r4, lit_1259@l /* 0x803A208C@l */
/* 8032F21C 80 85 00 00 */ lwz r4, 0(r5)
/* 8032F220 80 05 00 04 */ lwz r0, 4(r5)
/* 8032F224 90 81 00 08 */ stw r4, 8(r1)
/* 8032F228 90 01 00 0C */ stw r0, 0xc(r1)
/* 8032F22C 80 05 00 08 */ lwz r0, 8(r5)
/* 8032F230 90 01 00 10 */ stw r0, 0x10(r1)
/* 8032F234 C0 01 00 08 */ lfs f0, 8(r1)
/* 8032F238 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 8032F23C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8032F240 D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 8032F244 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8032F248 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 8032F24C 38 21 00 20 */ addi r1, r1, 0x20
/* 8032F250 4E 80 00 20 */ blr
@@ -1,118 +0,0 @@
lbl_8032F254:
/* 8032F254 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032F258 7C 08 02 A6 */ mflr r0
/* 8032F25C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032F260 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F264 48 03 2F 71 */ bl _savegpr_27
/* 8032F268 3C 80 80 43 */ lis r4, j3dSys@ha /* 0x80434AC8@ha */
/* 8032F26C 3B E4 4A C8 */ addi r31, r4, j3dSys@l /* 0x80434AC8@l */
/* 8032F270 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 8032F274 80 84 00 84 */ lwz r4, 0x84(r4)
/* 8032F278 80 84 00 0C */ lwz r4, 0xc(r4)
/* 8032F27C A0 03 00 14 */ lhz r0, 0x14(r3)
/* 8032F280 1C 00 00 30 */ mulli r0, r0, 0x30
/* 8032F284 7F C4 02 14 */ add r30, r4, r0
/* 8032F288 80 9F 00 48 */ lwz r4, 0x48(r31)
/* 8032F28C 93 C4 00 1C */ stw r30, 0x1c(r4)
/* 8032F290 80 9F 00 4C */ lwz r4, 0x4c(r31)
/* 8032F294 93 C4 00 1C */ stw r30, 0x1c(r4)
/* 8032F298 83 83 00 58 */ lwz r28, 0x58(r3)
/* 8032F29C 48 00 01 3C */ b lbl_8032F3D8
lbl_8032F2A0:
/* 8032F2A0 80 9C 00 08 */ lwz r4, 8(r28)
/* 8032F2A4 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8032F2A8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8032F2AC 41 82 00 0C */ beq lbl_8032F2B8
/* 8032F2B0 83 9C 00 04 */ lwz r28, 4(r28)
/* 8032F2B4 48 00 01 24 */ b lbl_8032F3D8
lbl_8032F2B8:
/* 8032F2B8 A0 1C 00 14 */ lhz r0, 0x14(r28)
/* 8032F2BC 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 8032F2C0 80 65 00 C0 */ lwz r3, 0xc0(r5)
/* 8032F2C4 54 00 32 B2 */ rlwinm r0, r0, 6, 0xa, 0x19
/* 8032F2C8 7F A3 02 14 */ add r29, r3, r0
/* 8032F2CC A0 04 00 08 */ lhz r0, 8(r4)
/* 8032F2D0 80 65 00 C4 */ lwz r3, 0xc4(r5)
/* 8032F2D4 1C 00 00 3C */ mulli r0, r0, 0x3c
/* 8032F2D8 7F 63 02 14 */ add r27, r3, r0
/* 8032F2DC 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8032F2E0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8032F2E4 40 82 00 68 */ bne lbl_8032F34C
/* 8032F2E8 80 7C 00 3C */ lwz r3, 0x3c(r28)
/* 8032F2EC 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F2F0 7C 03 00 40 */ cmplw r3, r0
/* 8032F2F4 40 80 00 0C */ bge lbl_8032F300
/* 8032F2F8 7C 60 1B 78 */ mr r0, r3
/* 8032F2FC 48 00 00 08 */ b lbl_8032F304
lbl_8032F300:
/* 8032F300 38 00 00 00 */ li r0, 0
lbl_8032F304:
/* 8032F304 28 00 00 00 */ cmplwi r0, 0
/* 8032F308 41 82 00 2C */ beq lbl_8032F334
/* 8032F30C 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F310 7C 03 00 40 */ cmplw r3, r0
/* 8032F314 40 80 00 08 */ bge lbl_8032F31C
/* 8032F318 48 00 00 08 */ b lbl_8032F320
lbl_8032F31C:
/* 8032F31C 38 60 00 00 */ li r3, 0
lbl_8032F320:
/* 8032F320 7F 84 E3 78 */ mr r4, r28
/* 8032F324 81 83 00 00 */ lwz r12, 0(r3)
/* 8032F328 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8032F32C 7D 89 03 A6 */ mtctr r12
/* 8032F330 4E 80 04 21 */ bctrl
lbl_8032F334:
/* 8032F334 7F 83 E3 78 */ mr r3, r28
/* 8032F338 7F C4 F3 78 */ mr r4, r30
/* 8032F33C 81 9C 00 00 */ lwz r12, 0(r28)
/* 8032F340 81 8C 00 08 */ lwz r12, 8(r12)
/* 8032F344 7D 89 03 A6 */ mtctr r12
/* 8032F348 4E 80 04 21 */ bctrl
lbl_8032F34C:
/* 8032F34C 7F 83 E3 78 */ mr r3, r28
/* 8032F350 4B FE 77 61 */ bl setCurrentMtx__11J3DMaterialFv
/* 8032F354 80 7C 00 3C */ lwz r3, 0x3c(r28)
/* 8032F358 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F35C 7C 03 00 40 */ cmplw r3, r0
/* 8032F360 40 80 00 08 */ bge lbl_8032F368
/* 8032F364 48 00 00 08 */ b lbl_8032F36C
lbl_8032F368:
/* 8032F368 38 60 00 00 */ li r3, 0
lbl_8032F36C:
/* 8032F36C 90 7D 00 3C */ stw r3, 0x3c(r29)
/* 8032F370 93 7D 00 2C */ stw r27, 0x2c(r29)
/* 8032F374 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 8032F378 54 00 07 BE */ clrlwi r0, r0, 0x1e
/* 8032F37C 7C 00 00 34 */ cntlzw r0, r0
/* 8032F380 54 04 ED BA */ rlwinm r4, r0, 0x1d, 0x16, 0x1d
/* 8032F384 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 8032F388 38 03 4A C8 */ addi r0, r3, j3dSys@l /* 0x80434AC8@l */
/* 8032F38C 7C 60 22 14 */ add r3, r0, r4
/* 8032F390 80 83 00 48 */ lwz r4, 0x48(r3)
/* 8032F394 7F A3 EB 78 */ mr r3, r29
/* 8032F398 81 9D 00 00 */ lwz r12, 0(r29)
/* 8032F39C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8032F3A0 7D 89 03 A6 */ mtctr r12
/* 8032F3A4 4E 80 04 21 */ bctrl
/* 8032F3A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8032F3AC 41 82 00 28 */ beq lbl_8032F3D4
/* 8032F3B0 93 BF 00 3C */ stw r29, 0x3c(r31)
/* 8032F3B4 80 6D 90 60 */ lwz r3, entryNum__13J3DDrawBuffer(r13)
/* 8032F3B8 38 03 00 01 */ addi r0, r3, 1
/* 8032F3BC 90 0D 90 60 */ stw r0, entryNum__13J3DDrawBuffer(r13)
/* 8032F3C0 7F 83 E3 78 */ mr r3, r28
/* 8032F3C4 81 9C 00 00 */ lwz r12, 0(r28)
/* 8032F3C8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8032F3CC 7D 89 03 A6 */ mtctr r12
/* 8032F3D0 4E 80 04 21 */ bctrl
lbl_8032F3D4:
/* 8032F3D4 83 9C 00 04 */ lwz r28, 4(r28)
lbl_8032F3D8:
/* 8032F3D8 28 1C 00 00 */ cmplwi r28, 0
/* 8032F3DC 40 82 FE C4 */ bne lbl_8032F2A0
/* 8032F3E0 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F3E4 48 03 2E 3D */ bl _restgpr_27
/* 8032F3E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032F3EC 7C 08 03 A6 */ mtlr r0
/* 8032F3F0 38 21 00 20 */ addi r1, r1, 0x20
/* 8032F3F4 4E 80 00 20 */ blr
@@ -1,116 +0,0 @@
lbl_8032F3F8:
/* 8032F3F8 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8032F3FC 7C 08 02 A6 */ mflr r0
/* 8032F400 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8032F404 DB E1 00 A0 */ stfd f31, 0xa0(r1)
/* 8032F408 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, 0 /* qr0 */
/* 8032F40C DB C1 00 90 */ stfd f30, 0x90(r1)
/* 8032F410 F3 C1 00 98 */ psq_st f30, 152(r1), 0, 0 /* qr0 */
/* 8032F414 DB A1 00 80 */ stfd f29, 0x80(r1)
/* 8032F418 F3 A1 00 88 */ psq_st f29, 136(r1), 0, 0 /* qr0 */
/* 8032F41C DB 81 00 70 */ stfd f28, 0x70(r1)
/* 8032F420 F3 81 00 78 */ psq_st f28, 120(r1), 0, 0 /* qr0 */
/* 8032F424 DB 61 00 60 */ stfd f27, 0x60(r1)
/* 8032F428 F3 61 00 68 */ psq_st f27, 104(r1), 0, 0 /* qr0 */
/* 8032F42C DB 41 00 50 */ stfd f26, 0x50(r1)
/* 8032F430 F3 41 00 58 */ psq_st f26, 88(r1), 0, 0 /* qr0 */
/* 8032F434 39 61 00 50 */ addi r11, r1, 0x50
/* 8032F438 48 03 2D 9D */ bl _savegpr_27
/* 8032F43C 7C 7E 1B 78 */ mr r30, r3
/* 8032F440 3B E0 00 00 */ li r31, 0
/* 8032F444 3C 60 80 43 */ lis r3, mCurrentMtx__6J3DSys@ha /* 0x80434BE4@ha */
/* 8032F448 38 63 4B E4 */ addi r3, r3, mCurrentMtx__6J3DSys@l /* 0x80434BE4@l */
/* 8032F44C 38 81 00 08 */ addi r4, r1, 8
/* 8032F450 48 01 70 61 */ bl PSMTXCopy
/* 8032F454 3C 60 80 43 */ lis r3, mCurrentS__6J3DSys@ha /* 0x80434C14@ha */
/* 8032F458 3B 83 4C 14 */ addi r28, r3, mCurrentS__6J3DSys@l /* 0x80434C14@l */
/* 8032F45C C3 FC 00 00 */ lfs f31, 0(r28)
/* 8032F460 C3 DC 00 04 */ lfs f30, 4(r28)
/* 8032F464 C3 BC 00 08 */ lfs f29, 8(r28)
/* 8032F468 3C 60 80 43 */ lis r3, mParentS__6J3DSys@ha /* 0x80434C20@ha */
/* 8032F46C 3B A3 4C 20 */ addi r29, r3, mParentS__6J3DSys@l /* 0x80434C20@l */
/* 8032F470 C3 9D 00 00 */ lfs f28, 0(r29)
/* 8032F474 C3 7D 00 04 */ lfs f27, 4(r29)
/* 8032F478 C3 5D 00 08 */ lfs f26, 8(r29)
/* 8032F47C 80 7E 00 54 */ lwz r3, 0x54(r30)
/* 8032F480 28 03 00 00 */ cmplwi r3, 0
/* 8032F484 41 82 00 24 */ beq lbl_8032F4A8
/* 8032F488 83 ED 90 78 */ lwz r31, mCurrentMtxCalc__8J3DJoint(r13)
/* 8032F48C 90 6D 90 78 */ stw r3, mCurrentMtxCalc__8J3DJoint(r13)
/* 8032F490 93 CD 90 74 */ stw r30, mJoint__10J3DMtxCalc(r13)
/* 8032F494 81 83 00 00 */ lwz r12, 0(r3)
/* 8032F498 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 8032F49C 7D 89 03 A6 */ mtctr r12
/* 8032F4A0 4E 80 04 21 */ bctrl
/* 8032F4A4 48 00 00 24 */ b lbl_8032F4C8
lbl_8032F4A8:
/* 8032F4A8 80 6D 90 78 */ lwz r3, mCurrentMtxCalc__8J3DJoint(r13)
/* 8032F4AC 28 03 00 00 */ cmplwi r3, 0
/* 8032F4B0 41 82 00 18 */ beq lbl_8032F4C8
/* 8032F4B4 93 CD 90 74 */ stw r30, mJoint__10J3DMtxCalc(r13)
/* 8032F4B8 81 83 00 00 */ lwz r12, 0(r3)
/* 8032F4BC 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 8032F4C0 7D 89 03 A6 */ mtctr r12
/* 8032F4C4 4E 80 04 21 */ bctrl
lbl_8032F4C8:
/* 8032F4C8 83 7E 00 04 */ lwz r27, 4(r30)
/* 8032F4CC 28 1B 00 00 */ cmplwi r27, 0
/* 8032F4D0 41 82 00 18 */ beq lbl_8032F4E8
/* 8032F4D4 7F C3 F3 78 */ mr r3, r30
/* 8032F4D8 38 80 00 00 */ li r4, 0
/* 8032F4DC 7F 6C DB 78 */ mr r12, r27
/* 8032F4E0 7D 89 03 A6 */ mtctr r12
/* 8032F4E4 4E 80 04 21 */ bctrl
lbl_8032F4E8:
/* 8032F4E8 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8032F4EC 28 03 00 00 */ cmplwi r3, 0
/* 8032F4F0 41 82 00 08 */ beq lbl_8032F4F8
/* 8032F4F4 4B FF FF 05 */ bl recursiveCalc__8J3DJointFv
lbl_8032F4F8:
/* 8032F4F8 38 61 00 08 */ addi r3, r1, 8
/* 8032F4FC 3C 80 80 43 */ lis r4, mCurrentMtx__6J3DSys@ha /* 0x80434BE4@ha */
/* 8032F500 38 84 4B E4 */ addi r4, r4, mCurrentMtx__6J3DSys@l /* 0x80434BE4@l */
/* 8032F504 48 01 6F AD */ bl PSMTXCopy
/* 8032F508 3C 60 80 43 */ lis r3, mCurrentS__6J3DSys@ha /* 0x80434C14@ha */
/* 8032F50C D3 E3 4C 14 */ stfs f31, mCurrentS__6J3DSys@l(r3) /* 0x80434C14@l */
/* 8032F510 D3 DC 00 04 */ stfs f30, 4(r28)
/* 8032F514 D3 BC 00 08 */ stfs f29, 8(r28)
/* 8032F518 3C 60 80 43 */ lis r3, mParentS__6J3DSys@ha /* 0x80434C20@ha */
/* 8032F51C D3 83 4C 20 */ stfs f28, mParentS__6J3DSys@l(r3) /* 0x80434C20@l */
/* 8032F520 D3 7D 00 04 */ stfs f27, 4(r29)
/* 8032F524 D3 5D 00 08 */ stfs f26, 8(r29)
/* 8032F528 28 1F 00 00 */ cmplwi r31, 0
/* 8032F52C 41 82 00 08 */ beq lbl_8032F534
/* 8032F530 93 ED 90 78 */ stw r31, mCurrentMtxCalc__8J3DJoint(r13)
lbl_8032F534:
/* 8032F534 28 1B 00 00 */ cmplwi r27, 0
/* 8032F538 41 82 00 18 */ beq lbl_8032F550
/* 8032F53C 7F C3 F3 78 */ mr r3, r30
/* 8032F540 38 80 00 01 */ li r4, 1
/* 8032F544 7F 6C DB 78 */ mr r12, r27
/* 8032F548 7D 89 03 A6 */ mtctr r12
/* 8032F54C 4E 80 04 21 */ bctrl
lbl_8032F550:
/* 8032F550 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8032F554 28 03 00 00 */ cmplwi r3, 0
/* 8032F558 41 82 00 08 */ beq lbl_8032F560
/* 8032F55C 4B FF FE 9D */ bl recursiveCalc__8J3DJointFv
lbl_8032F560:
/* 8032F560 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, 0 /* qr0 */
/* 8032F564 CB E1 00 A0 */ lfd f31, 0xa0(r1)
/* 8032F568 E3 C1 00 98 */ psq_l f30, 152(r1), 0, 0 /* qr0 */
/* 8032F56C CB C1 00 90 */ lfd f30, 0x90(r1)
/* 8032F570 E3 A1 00 88 */ psq_l f29, 136(r1), 0, 0 /* qr0 */
/* 8032F574 CB A1 00 80 */ lfd f29, 0x80(r1)
/* 8032F578 E3 81 00 78 */ psq_l f28, 120(r1), 0, 0 /* qr0 */
/* 8032F57C CB 81 00 70 */ lfd f28, 0x70(r1)
/* 8032F580 E3 61 00 68 */ psq_l f27, 104(r1), 0, 0 /* qr0 */
/* 8032F584 CB 61 00 60 */ lfd f27, 0x60(r1)
/* 8032F588 E3 41 00 58 */ psq_l f26, 88(r1), 0, 0 /* qr0 */
/* 8032F58C CB 41 00 50 */ lfd f26, 0x50(r1)
/* 8032F590 39 61 00 50 */ addi r11, r1, 0x50
/* 8032F594 48 03 2C 8D */ bl _restgpr_27
/* 8032F598 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8032F59C 7C 08 03 A6 */ mtlr r0
/* 8032F5A0 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8032F5A4 4E 80 00 20 */ blr