mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
237 lines
12 KiB
ArmAsm
237 lines
12 KiB
ArmAsm
/* 8000F4B0 0000C3F0 94 21 FF 20 */ stwu r1, -0xe0(r1)
|
|
/* 8000F4B4 0000C3F4 7C 08 02 A6 */ mflr r0
|
|
/* 8000F4B8 0000C3F8 90 01 00 E4 */ stw r0, 0xe4(r1)
|
|
/* 8000F4BC 0000C3FC DB E1 00 D0 */ stfd f31, 0xd0(r1)
|
|
/* 8000F4C0 0000C400 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, 0
|
|
/* 8000F4C4 0000C404 DB C1 00 C0 */ stfd f30, 0xc0(r1)
|
|
/* 8000F4C8 0000C408 F3 C1 00 C8 */ psq_st f30, 200(r1), 0, 0
|
|
/* 8000F4CC 0000C40C 39 61 00 C0 */ addi r11, r1, 0xc0
|
|
/* 8000F4D0 0000C410 48 35 2D 01 */ bl _savegpr_26
|
|
/* 8000F4D4 0000C414 7C 7C 1B 78 */ mr r28, r3
|
|
/* 8000F4D8 0000C418 80 6D 90 74 */ lwz r3, lbl_804515F4-_SDA_BASE_(r13)
|
|
/* 8000F4DC 0000C41C A3 E3 00 14 */ lhz r31, 0x14(r3)
|
|
/* 8000F4E0 0000C420 7F FB FB 78 */ mr r27, r31
|
|
/* 8000F4E4 0000C424 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
|
|
/* 8000F4E8 0000C428 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
|
|
/* 8000F4EC 0000C42C 93 83 00 30 */ stw r28, 0x30(r3)
|
|
/* 8000F4F0 0000C430 80 63 00 38 */ lwz r3, 0x38(r3)
|
|
/* 8000F4F4 0000C434 83 C3 00 04 */ lwz r30, 4(r3)
|
|
/* 8000F4F8 0000C438 80 7C 00 08 */ lwz r3, 8(r28)
|
|
/* 8000F4FC 0000C43C 80 63 00 04 */ lwz r3, 4(r3)
|
|
/* 8000F500 0000C440 7F E4 FB 78 */ mr r4, r31
|
|
/* 8000F504 0000C444 38 A1 00 58 */ addi r5, r1, 0x58
|
|
/* 8000F508 0000C448 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 8000F50C 0000C44C 81 8C 00 10 */ lwz r12, 0x10(r12)
|
|
/* 8000F510 0000C450 7D 89 03 A6 */ mtctr r12
|
|
/* 8000F514 0000C454 4E 80 04 21 */ bctrl
|
|
/* 8000F518 0000C458 A8 61 00 64 */ lha r3, 0x64(r1)
|
|
/* 8000F51C 0000C45C A8 81 00 66 */ lha r4, 0x66(r1)
|
|
/* 8000F520 0000C460 A8 A1 00 68 */ lha r5, 0x68(r1)
|
|
/* 8000F524 0000C464 38 C1 00 28 */ addi r6, r1, 0x28
|
|
/* 8000F528 0000C468 48 32 A3 51 */ bl JMAEulerToQuat
|
|
/* 8000F52C 0000C46C C0 01 00 28 */ lfs f0, 0x28(r1)
|
|
/* 8000F530 0000C470 D0 01 00 08 */ stfs f0, 8(r1)
|
|
/* 8000F534 0000C474 C0 01 00 2C */ lfs f0, 0x2c(r1)
|
|
/* 8000F538 0000C478 D0 01 00 0C */ stfs f0, 0xc(r1)
|
|
/* 8000F53C 0000C47C C0 01 00 30 */ lfs f0, 0x30(r1)
|
|
/* 8000F540 0000C480 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 8000F544 0000C484 C0 01 00 34 */ lfs f0, 0x34(r1)
|
|
/* 8000F548 0000C488 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 8000F54C 0000C48C 3B 40 00 01 */ li r26, 1
|
|
/* 8000F550 0000C490 3B A0 00 08 */ li r29, 8
|
|
/* 8000F554 0000C494 48 00 01 20 */ b lbl_8000F674
|
|
lbl_8000F558:
|
|
/* 8000F558 0000C498 80 7C 00 08 */ lwz r3, 8(r28)
|
|
/* 8000F55C 0000C49C 38 1D 00 04 */ addi r0, r29, 4
|
|
/* 8000F560 0000C4A0 7C 63 00 2E */ lwzx r3, r3, r0
|
|
/* 8000F564 0000C4A4 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8000F568 0000C4A8 41 82 01 04 */ beq lbl_8000F66C
|
|
/* 8000F56C 0000C4AC 7F 64 DB 78 */ mr r4, r27
|
|
/* 8000F570 0000C4B0 38 A1 00 38 */ addi r5, r1, 0x38
|
|
/* 8000F574 0000C4B4 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 8000F578 0000C4B8 81 8C 00 10 */ lwz r12, 0x10(r12)
|
|
/* 8000F57C 0000C4BC 7D 89 03 A6 */ mtctr r12
|
|
/* 8000F580 0000C4C0 4E 80 04 21 */ bctrl
|
|
/* 8000F584 0000C4C4 80 7C 00 08 */ lwz r3, 8(r28)
|
|
/* 8000F588 0000C4C8 7F E3 EC 2E */ lfsx f31, r3, r29
|
|
/* 8000F58C 0000C4CC C0 02 81 18 */ lfs f0, lbl_80451B18-_SDA2_BASE_(r2)
|
|
/* 8000F590 0000C4D0 EF C0 F8 28 */ fsubs f30, f0, f31
|
|
/* 8000F594 0000C4D4 A8 61 00 44 */ lha r3, 0x44(r1)
|
|
/* 8000F598 0000C4D8 A8 81 00 46 */ lha r4, 0x46(r1)
|
|
/* 8000F59C 0000C4DC A8 A1 00 48 */ lha r5, 0x48(r1)
|
|
/* 8000F5A0 0000C4E0 38 C1 00 18 */ addi r6, r1, 0x18
|
|
/* 8000F5A4 0000C4E4 48 32 A2 D5 */ bl JMAEulerToQuat
|
|
/* 8000F5A8 0000C4E8 38 61 00 28 */ addi r3, r1, 0x28
|
|
/* 8000F5AC 0000C4EC 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 8000F5B0 0000C4F0 FC 20 F8 90 */ fmr f1, f31
|
|
/* 8000F5B4 0000C4F4 38 A1 00 08 */ addi r5, r1, 8
|
|
/* 8000F5B8 0000C4F8 48 32 A3 81 */ bl JMAQuatLerp
|
|
/* 8000F5BC 0000C4FC C0 01 00 08 */ lfs f0, 8(r1)
|
|
/* 8000F5C0 0000C500 D0 01 00 28 */ stfs f0, 0x28(r1)
|
|
/* 8000F5C4 0000C504 C0 01 00 0C */ lfs f0, 0xc(r1)
|
|
/* 8000F5C8 0000C508 D0 01 00 2C */ stfs f0, 0x2c(r1)
|
|
/* 8000F5CC 0000C50C C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 8000F5D0 0000C510 D0 01 00 30 */ stfs f0, 0x30(r1)
|
|
/* 8000F5D4 0000C514 C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 8000F5D8 0000C518 D0 01 00 34 */ stfs f0, 0x34(r1)
|
|
/* 8000F5DC 0000C51C C0 01 00 6C */ lfs f0, 0x6c(r1)
|
|
/* 8000F5E0 0000C520 EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F5E4 0000C524 C0 01 00 4C */ lfs f0, 0x4c(r1)
|
|
/* 8000F5E8 0000C528 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F5EC 0000C52C EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F5F0 0000C530 D0 01 00 6C */ stfs f0, 0x6c(r1)
|
|
/* 8000F5F4 0000C534 C0 01 00 70 */ lfs f0, 0x70(r1)
|
|
/* 8000F5F8 0000C538 EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F5FC 0000C53C C0 01 00 50 */ lfs f0, 0x50(r1)
|
|
/* 8000F600 0000C540 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F604 0000C544 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F608 0000C548 D0 01 00 70 */ stfs f0, 0x70(r1)
|
|
/* 8000F60C 0000C54C C0 01 00 74 */ lfs f0, 0x74(r1)
|
|
/* 8000F610 0000C550 EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F614 0000C554 C0 01 00 54 */ lfs f0, 0x54(r1)
|
|
/* 8000F618 0000C558 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F61C 0000C55C EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F620 0000C560 D0 01 00 74 */ stfs f0, 0x74(r1)
|
|
/* 8000F624 0000C564 C0 01 00 58 */ lfs f0, 0x58(r1)
|
|
/* 8000F628 0000C568 EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F62C 0000C56C C0 01 00 38 */ lfs f0, 0x38(r1)
|
|
/* 8000F630 0000C570 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F634 0000C574 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F638 0000C578 D0 01 00 58 */ stfs f0, 0x58(r1)
|
|
/* 8000F63C 0000C57C C0 01 00 5C */ lfs f0, 0x5c(r1)
|
|
/* 8000F640 0000C580 EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F644 0000C584 C0 01 00 3C */ lfs f0, 0x3c(r1)
|
|
/* 8000F648 0000C588 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F64C 0000C58C EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F650 0000C590 D0 01 00 5C */ stfs f0, 0x5c(r1)
|
|
/* 8000F654 0000C594 C0 01 00 60 */ lfs f0, 0x60(r1)
|
|
/* 8000F658 0000C598 EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F65C 0000C59C C0 01 00 40 */ lfs f0, 0x40(r1)
|
|
/* 8000F660 0000C5A0 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F664 0000C5A4 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F668 0000C5A8 D0 01 00 60 */ stfs f0, 0x60(r1)
|
|
lbl_8000F66C:
|
|
/* 8000F66C 0000C5AC 3B 5A 00 01 */ addi r26, r26, 1
|
|
/* 8000F670 0000C5B0 3B BD 00 08 */ addi r29, r29, 8
|
|
lbl_8000F674:
|
|
/* 8000F674 0000C5B4 80 1C 00 04 */ lwz r0, 4(r28)
|
|
/* 8000F678 0000C5B8 7C 1A 00 00 */ cmpw r26, r0
|
|
/* 8000F67C 0000C5BC 41 80 FE DC */ blt lbl_8000F558
|
|
/* 8000F680 0000C5C0 80 9C 00 0C */ lwz r4, 0xc(r28)
|
|
/* 8000F684 0000C5C4 80 64 00 1C */ lwz r3, 0x1c(r4)
|
|
/* 8000F688 0000C5C8 57 FD 04 3E */ clrlwi r29, r31, 0x10
|
|
/* 8000F68C 0000C5CC 57 E0 2A F4 */ rlwinm r0, r31, 5, 0xb, 0x1a
|
|
/* 8000F690 0000C5D0 7F 63 02 14 */ add r27, r3, r0
|
|
/* 8000F694 0000C5D4 80 64 00 20 */ lwz r3, 0x20(r4)
|
|
/* 8000F698 0000C5D8 57 E0 23 36 */ rlwinm r0, r31, 4, 0xc, 0x1b
|
|
/* 8000F69C 0000C5DC 7F 43 02 14 */ add r26, r3, r0
|
|
/* 8000F6A0 0000C5E0 88 04 00 00 */ lbz r0, 0(r4)
|
|
/* 8000F6A4 0000C5E4 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8000F6A8 0000C5E8 41 82 00 DC */ beq lbl_8000F784
|
|
/* 8000F6AC 0000C5EC C3 E4 00 0C */ lfs f31, 0xc(r4)
|
|
/* 8000F6B0 0000C5F0 C0 02 81 1C */ lfs f0, lbl_80451B1C-_SDA2_BASE_(r2)
|
|
/* 8000F6B4 0000C5F4 FC 1F 00 40 */ fcmpo cr0, f31, f0
|
|
/* 8000F6B8 0000C5F8 40 81 00 E4 */ ble lbl_8000F79C
|
|
/* 8000F6BC 0000C5FC A0 04 00 18 */ lhz r0, 0x18(r4)
|
|
/* 8000F6C0 0000C600 7C 00 E8 40 */ cmplw r0, r29
|
|
/* 8000F6C4 0000C604 41 81 00 D8 */ bgt lbl_8000F79C
|
|
/* 8000F6C8 0000C608 A0 04 00 1A */ lhz r0, 0x1a(r4)
|
|
/* 8000F6CC 0000C60C 7C 00 E8 40 */ cmplw r0, r29
|
|
/* 8000F6D0 0000C610 40 81 00 CC */ ble lbl_8000F79C
|
|
/* 8000F6D4 0000C614 C0 02 81 18 */ lfs f0, lbl_80451B18-_SDA2_BASE_(r2)
|
|
/* 8000F6D8 0000C618 EF C0 F8 28 */ fsubs f30, f0, f31
|
|
/* 8000F6DC 0000C61C 7F 43 D3 78 */ mr r3, r26
|
|
/* 8000F6E0 0000C620 38 81 00 28 */ addi r4, r1, 0x28
|
|
/* 8000F6E4 0000C624 FC 20 F0 90 */ fmr f1, f30
|
|
/* 8000F6E8 0000C628 38 A1 00 08 */ addi r5, r1, 8
|
|
/* 8000F6EC 0000C62C 48 32 A2 4D */ bl JMAQuatLerp
|
|
/* 8000F6F0 0000C630 C0 01 00 6C */ lfs f0, 0x6c(r1)
|
|
/* 8000F6F4 0000C634 EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F6F8 0000C638 C0 1B 00 14 */ lfs f0, 0x14(r27)
|
|
/* 8000F6FC 0000C63C EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F700 0000C640 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F704 0000C644 D0 01 00 6C */ stfs f0, 0x6c(r1)
|
|
/* 8000F708 0000C648 C0 01 00 70 */ lfs f0, 0x70(r1)
|
|
/* 8000F70C 0000C64C EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F710 0000C650 C0 1B 00 18 */ lfs f0, 0x18(r27)
|
|
/* 8000F714 0000C654 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F718 0000C658 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F71C 0000C65C D0 01 00 70 */ stfs f0, 0x70(r1)
|
|
/* 8000F720 0000C660 C0 01 00 74 */ lfs f0, 0x74(r1)
|
|
/* 8000F724 0000C664 EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F728 0000C668 C0 1B 00 1C */ lfs f0, 0x1c(r27)
|
|
/* 8000F72C 0000C66C EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F730 0000C670 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F734 0000C674 D0 01 00 74 */ stfs f0, 0x74(r1)
|
|
/* 8000F738 0000C678 C0 01 00 58 */ lfs f0, 0x58(r1)
|
|
/* 8000F73C 0000C67C EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F740 0000C680 C0 1B 00 00 */ lfs f0, 0(r27)
|
|
/* 8000F744 0000C684 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F748 0000C688 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F74C 0000C68C D0 01 00 58 */ stfs f0, 0x58(r1)
|
|
/* 8000F750 0000C690 C0 01 00 5C */ lfs f0, 0x5c(r1)
|
|
/* 8000F754 0000C694 EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F758 0000C698 C0 1B 00 04 */ lfs f0, 4(r27)
|
|
/* 8000F75C 0000C69C EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F760 0000C6A0 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F764 0000C6A4 D0 01 00 5C */ stfs f0, 0x5c(r1)
|
|
/* 8000F768 0000C6A8 C0 01 00 60 */ lfs f0, 0x60(r1)
|
|
/* 8000F76C 0000C6AC EC 20 07 B2 */ fmuls f1, f0, f30
|
|
/* 8000F770 0000C6B0 C0 1B 00 08 */ lfs f0, 8(r27)
|
|
/* 8000F774 0000C6B4 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 8000F778 0000C6B8 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8000F77C 0000C6BC D0 01 00 60 */ stfs f0, 0x60(r1)
|
|
/* 8000F780 0000C6C0 48 00 00 1C */ b lbl_8000F79C
|
|
lbl_8000F784:
|
|
/* 8000F784 0000C6C4 A0 7E 00 2C */ lhz r3, 0x2c(r30)
|
|
/* 8000F788 0000C6C8 38 03 FF FF */ addi r0, r3, -1
|
|
/* 8000F78C 0000C6CC 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 8000F790 0000C6D0 40 82 00 0C */ bne lbl_8000F79C
|
|
/* 8000F794 0000C6D4 38 00 00 01 */ li r0, 1
|
|
/* 8000F798 0000C6D8 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_8000F79C:
|
|
/* 8000F79C 0000C6DC 38 61 00 78 */ addi r3, r1, 0x78
|
|
/* 8000F7A0 0000C6E0 38 81 00 08 */ addi r4, r1, 8
|
|
/* 8000F7A4 0000C6E4 48 33 72 45 */ bl PSMTXQuat
|
|
/* 8000F7A8 0000C6E8 38 61 00 78 */ addi r3, r1, 0x78
|
|
/* 8000F7AC 0000C6EC 38 81 00 58 */ addi r4, r1, 0x58
|
|
/* 8000F7B0 0000C6F0 7F E5 FB 78 */ mr r5, r31
|
|
/* 8000F7B4 0000C6F4 4B FF D8 F9 */ bl mDoMtx_stack_c_NS_dtor_X1_
|
|
/* 8000F7B8 0000C6F8 C0 01 00 08 */ lfs f0, 8(r1)
|
|
/* 8000F7BC 0000C6FC D0 1A 00 00 */ stfs f0, 0(r26)
|
|
/* 8000F7C0 0000C700 C0 01 00 0C */ lfs f0, 0xc(r1)
|
|
/* 8000F7C4 0000C704 D0 1A 00 04 */ stfs f0, 4(r26)
|
|
/* 8000F7C8 0000C708 C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 8000F7CC 0000C70C D0 1A 00 08 */ stfs f0, 8(r26)
|
|
/* 8000F7D0 0000C710 C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 8000F7D4 0000C714 D0 1A 00 0C */ stfs f0, 0xc(r26)
|
|
/* 8000F7D8 0000C718 E0 01 00 58 */ psq_l f0, 88(r1), 0, 0
|
|
/* 8000F7DC 0000C71C F0 1B 00 00 */ psq_st f0, 0(r27), 0, 0
|
|
/* 8000F7E0 0000C720 C0 01 00 60 */ lfs f0, 0x60(r1)
|
|
/* 8000F7E4 0000C724 D0 1B 00 08 */ stfs f0, 8(r27)
|
|
/* 8000F7E8 0000C728 80 01 00 64 */ lwz r0, 0x64(r1)
|
|
/* 8000F7EC 0000C72C 90 1B 00 0C */ stw r0, 0xc(r27)
|
|
/* 8000F7F0 0000C730 A8 01 00 68 */ lha r0, 0x68(r1)
|
|
/* 8000F7F4 0000C734 B0 1B 00 10 */ sth r0, 0x10(r27)
|
|
/* 8000F7F8 0000C738 E0 01 00 6C */ psq_l f0, 108(r1), 0, 0
|
|
/* 8000F7FC 0000C73C F0 1B 00 14 */ psq_st f0, 20(r27), 0, 0
|
|
/* 8000F800 0000C740 C0 01 00 74 */ lfs f0, 0x74(r1)
|
|
/* 8000F804 0000C744 D0 1B 00 1C */ stfs f0, 0x1c(r27)
|
|
/* 8000F808 0000C748 A0 7E 00 2C */ lhz r3, 0x2c(r30)
|
|
/* 8000F80C 0000C74C 38 03 FF FF */ addi r0, r3, -1
|
|
/* 8000F810 0000C750 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 8000F814 0000C754 40 82 00 0C */ bne lbl_8000F820
|
|
/* 8000F818 0000C758 80 7C 00 0C */ lwz r3, 0xc(r28)
|
|
/* 8000F81C 0000C75C 48 00 00 B1 */ bl mDoExt_MtxCalcOldFrame_NS_decOldFrameMorfCounter
|
|
lbl_8000F820:
|
|
/* 8000F820 0000C760 E3 E1 00 D8 */ psq_l f31, 216(r1), 0, 0
|
|
/* 8000F824 0000C764 CB E1 00 D0 */ lfd f31, 0xd0(r1)
|
|
/* 8000F828 0000C768 E3 C1 00 C8 */ psq_l f30, 200(r1), 0, 0
|
|
/* 8000F82C 0000C76C CB C1 00 C0 */ lfd f30, 0xc0(r1)
|
|
/* 8000F830 0000C770 39 61 00 C0 */ addi r11, r1, 0xc0
|
|
/* 8000F834 0000C774 48 35 29 E9 */ bl _restgpr_26
|
|
/* 8000F838 0000C778 80 01 00 E4 */ lwz r0, 0xe4(r1)
|
|
/* 8000F83C 0000C77C 7C 08 03 A6 */ mtlr r0
|
|
/* 8000F840 0000C780 38 21 00 E0 */ addi r1, r1, 0xe0
|
|
/* 8000F844 0000C784 4E 80 00 20 */ blr
|