mirror of https://github.com/zeldaret/tp.git
97 lines
4.3 KiB
ArmAsm
97 lines
4.3 KiB
ArmAsm
lbl_800FE438:
|
|
/* 800FE438 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 800FE43C 7C 08 02 A6 */ mflr r0
|
|
/* 800FE440 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 800FE444 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 800FE448 48 26 3D 91 */ bl _savegpr_28
|
|
/* 800FE44C 7C 7C 1B 78 */ mr r28, r3
|
|
/* 800FE450 7C 9D 23 78 */ mr r29, r4
|
|
/* 800FE454 AB C3 30 8C */ lha r30, 0x308c(r3)
|
|
/* 800FE458 C0 23 33 AC */ lfs f1, 0x33ac(r3)
|
|
/* 800FE45C C0 02 92 A4 */ lfs f0, lit_6021(r2)
|
|
/* 800FE460 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800FE464 40 81 01 14 */ ble lbl_800FE578
|
|
/* 800FE468 4B FF FF 5D */ bl getClimbDirectionFromAngle__9daAlink_cFv
|
|
/* 800FE46C 98 7C 2F 98 */ stb r3, 0x2f98(r28)
|
|
/* 800FE470 88 9C 2F 98 */ lbz r4, 0x2f98(r28)
|
|
/* 800FE474 28 04 00 00 */ cmplwi r4, 0
|
|
/* 800FE478 41 82 00 0C */ beq lbl_800FE484
|
|
/* 800FE47C 28 04 00 01 */ cmplwi r4, 1
|
|
/* 800FE480 40 82 00 DC */ bne lbl_800FE55C
|
|
lbl_800FE484:
|
|
/* 800FE484 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
|
|
/* 800FE488 38 83 9A 20 */ addi r4, r3, sincosTable___5JMath@l /* 0x80439A20@l */
|
|
/* 800FE48C A8 1C 04 E6 */ lha r0, 0x4e6(r28)
|
|
/* 800FE490 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
|
|
/* 800FE494 7C 64 02 14 */ add r3, r4, r0
|
|
/* 800FE498 C0 03 00 04 */ lfs f0, 4(r3)
|
|
/* 800FE49C C0 3C 04 D8 */ lfs f1, 0x4d8(r28)
|
|
/* 800FE4A0 C0 42 94 64 */ lfs f2, lit_14954(r2)
|
|
/* 800FE4A4 EC 02 00 32 */ fmuls f0, f2, f0
|
|
/* 800FE4A8 EC 81 00 28 */ fsubs f4, f1, f0
|
|
/* 800FE4AC C0 3C 04 D4 */ lfs f1, 0x4d4(r28)
|
|
/* 800FE4B0 C0 1C 05 98 */ lfs f0, 0x598(r28)
|
|
/* 800FE4B4 EC 61 00 2A */ fadds f3, f1, f0
|
|
/* 800FE4B8 7C 04 04 2E */ lfsx f0, r4, r0
|
|
/* 800FE4BC C0 3C 04 D0 */ lfs f1, 0x4d0(r28)
|
|
/* 800FE4C0 EC 02 00 32 */ fmuls f0, f2, f0
|
|
/* 800FE4C4 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800FE4C8 D0 01 00 08 */ stfs f0, 8(r1)
|
|
/* 800FE4CC D0 61 00 0C */ stfs f3, 0xc(r1)
|
|
/* 800FE4D0 D0 81 00 10 */ stfs f4, 0x10(r1)
|
|
/* 800FE4D4 D0 1C 1D 98 */ stfs f0, 0x1d98(r28)
|
|
/* 800FE4D8 D0 7C 1D 9C */ stfs f3, 0x1d9c(r28)
|
|
/* 800FE4DC D0 9C 1D A0 */ stfs f4, 0x1da0(r28)
|
|
/* 800FE4E0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
|
/* 800FE4E4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
|
/* 800FE4E8 3B E3 0F 38 */ addi r31, r3, 0xf38
|
|
/* 800FE4EC 7F E3 FB 78 */ mr r3, r31
|
|
/* 800FE4F0 38 9C 1D 5C */ addi r4, r28, 0x1d5c
|
|
/* 800FE4F4 4B F7 6F A9 */ bl RoofChk__4dBgSFP12dBgS_RoofChk
|
|
/* 800FE4F8 88 1C 2F 98 */ lbz r0, 0x2f98(r28)
|
|
/* 800FE4FC 28 00 00 00 */ cmplwi r0, 0
|
|
/* 800FE500 40 82 00 38 */ bne lbl_800FE538
|
|
/* 800FE504 C0 42 95 94 */ lfs f2, lit_25113(r2)
|
|
/* 800FE508 C0 01 00 0C */ lfs f0, 0xc(r1)
|
|
/* 800FE50C EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800FE510 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800FE514 40 80 00 24 */ bge lbl_800FE538
|
|
/* 800FE518 7F E3 FB 78 */ mr r3, r31
|
|
/* 800FE51C 38 9C 1D 5C */ addi r4, r28, 0x1d5c
|
|
/* 800FE520 4B F7 68 3D */ bl GetMonkeyBarsCode__4dBgSFRC13cBgS_PolyInfo
|
|
/* 800FE524 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800FE528 41 82 00 10 */ beq lbl_800FE538
|
|
/* 800FE52C 7F 83 E3 78 */ mr r3, r28
|
|
/* 800FE530 48 00 1E B5 */ bl procClimbToRoofInit__9daAlink_cFv
|
|
/* 800FE534 48 00 00 50 */ b lbl_800FE584
|
|
lbl_800FE538:
|
|
/* 800FE538 7F 83 E3 78 */ mr r3, r28
|
|
/* 800FE53C 88 9C 2F 98 */ lbz r4, 0x2f98(r28)
|
|
/* 800FE540 48 00 00 61 */ bl checkClimbMoveUpDownProc__9daAlink_cFi
|
|
/* 800FE544 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800FE548 41 82 00 3C */ beq lbl_800FE584
|
|
/* 800FE54C 7F 83 E3 78 */ mr r3, r28
|
|
/* 800FE550 7F A4 EB 78 */ mr r4, r29
|
|
/* 800FE554 48 00 15 5D */ bl procClimbMoveUpDownInit__9daAlink_cFi
|
|
/* 800FE558 48 00 00 2C */ b lbl_800FE584
|
|
lbl_800FE55C:
|
|
/* 800FE55C 7F 83 E3 78 */ mr r3, r28
|
|
/* 800FE560 48 00 01 89 */ bl checkClimbMoveSideProc__9daAlink_cFi
|
|
/* 800FE564 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800FE568 41 82 00 1C */ beq lbl_800FE584
|
|
/* 800FE56C 7F 83 E3 78 */ mr r3, r28
|
|
/* 800FE570 48 00 18 41 */ bl procClimbMoveSideInit__9daAlink_cFv
|
|
/* 800FE574 48 00 00 10 */ b lbl_800FE584
|
|
lbl_800FE578:
|
|
/* 800FE578 38 80 00 01 */ li r4, 1
|
|
/* 800FE57C 38 A0 00 00 */ li r5, 0
|
|
/* 800FE580 48 00 1B 79 */ bl procClimbWaitInit__9daAlink_cFii
|
|
lbl_800FE584:
|
|
/* 800FE584 B3 DC 30 8C */ sth r30, 0x308c(r28)
|
|
/* 800FE588 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 800FE58C 48 26 3C 99 */ bl _restgpr_28
|
|
/* 800FE590 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 800FE594 7C 08 03 A6 */ mtlr r0
|
|
/* 800FE598 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 800FE59C 4E 80 00 20 */ blr
|