From e8315cdb81f102aab0dbac2d2cc9c6daf7df0a11 Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Fri, 25 Dec 2020 18:03:10 -0800 Subject: [PATCH] begin splitting d_a_alink (#34) * begin splitting d_a_alink * fix Co-authored-by: Pheenoh --- asm/d/a/d_a_alink.s | 4463 +---------------- asm/d/a/d_a_player.s | 2 +- asm/d/d_camera.s | 2 +- include/JSystem/J3DGraphAnimator/J3DJoint.h | 8 + include/JSystem/J3DGraphAnimator/J3DModel.h | 8 + .../JSystem/J3DGraphAnimator/J3DModelData.h | 8 + .../JSystem/J3DGraphAnimator/J3DModelLoader.h | 8 + include/SComponent/c_bg_s_poly_info.h | 8 + include/d/d_a/d_a_alink/asm/func_8009D884.s | 2 + include/d/d_a/d_a_alink/asm/func_8009D88C.s | 11 + include/d/d_a/d_a_alink/asm/func_8009D8B8.s | 11 + include/d/d_a/d_a_alink/asm/func_8009D90C.s | 91 + include/d/d_a/d_a_alink/asm/func_8009DA60.s | 14 + include/d/d_a/d_a_alink/asm/func_8009DA98.s | 56 + include/d/d_a/d_a_alink/asm/func_8009DB64.s | 74 + include/d/d_a/d_a_alink/asm/func_8009DC6C.s | 76 + include/d/d_a/d_a_alink/asm/func_8009DD90.s | 706 +++ include/d/d_a/d_a_alink/asm/func_8009E7B8.s | 96 + include/d/d_a/d_a_alink/asm/func_8009E91C.s | 147 + include/d/d_a/d_a_alink/asm/func_8009EB18.s | 16 + include/d/d_a/d_a_alink/asm/func_8009EB58.s | 58 + include/d/d_a/d_a_alink/asm/func_8009EC28.s | 33 + include/d/d_a/d_a_alink/asm/func_8009ECA0.s | 175 + include/d/d_a/d_a_alink/asm/func_8009EF38.s | 18 + include/d/d_a/d_a_alink/asm/func_8009EF7C.s | 32 + include/d/d_a/d_a_alink/asm/func_8009EFF0.s | 18 + include/d/d_a/d_a_alink/asm/func_8009F034.s | 1106 ++++ include/d/d_a/d_a_alink/asm/func_8009FFF8.s | 13 + include/d/d_a/d_a_alink/asm/func_800A002C.s | 482 ++ include/d/d_a/d_a_alink/asm/func_800A0744.s | 39 + include/d/d_a/d_a_alink/asm/func_800A07D8.s | 41 + include/d/d_a/d_a_alink/asm/func_800A0868.s | 58 + include/d/d_a/d_a_alink/asm/func_800A093C.s | 769 +++ include/d/d_a/d_a_alink/d_a_alink.h | 368 ++ include/d/d_a/d_a_player/d_a_player.h | 8 + include/d/d_bomb/d_bomb.h | 3 +- include/d/d_cc/d_cc_d.h | 8 + .../d/d_com/d_com_inf_game/d_com_inf_game.h | 4 + include/d/d_resource/d_resource.h | 8 + include/f/f_op/f_op_actor.h | 8 + ldscript.lcf | 2 + obj_files.mk | 1 + src/d/d_a/d_a_alink.cpp | 151 +- 43 files changed, 4860 insertions(+), 4350 deletions(-) create mode 100644 include/JSystem/J3DGraphAnimator/J3DJoint.h create mode 100644 include/JSystem/J3DGraphAnimator/J3DModel.h create mode 100644 include/JSystem/J3DGraphAnimator/J3DModelData.h create mode 100644 include/JSystem/J3DGraphAnimator/J3DModelLoader.h create mode 100644 include/SComponent/c_bg_s_poly_info.h create mode 100644 include/d/d_a/d_a_alink/asm/func_8009D884.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009D88C.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009D8B8.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009D90C.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009DA60.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009DA98.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009DB64.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009DC6C.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009DD90.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009E7B8.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009E91C.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009EB18.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009EB58.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009EC28.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009ECA0.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009EF38.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009EF7C.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009EFF0.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009F034.s create mode 100644 include/d/d_a/d_a_alink/asm/func_8009FFF8.s create mode 100644 include/d/d_a/d_a_alink/asm/func_800A002C.s create mode 100644 include/d/d_a/d_a_alink/asm/func_800A0744.s create mode 100644 include/d/d_a/d_a_alink/asm/func_800A07D8.s create mode 100644 include/d/d_a/d_a_alink/asm/func_800A0868.s create mode 100644 include/d/d_a/d_a_alink/asm/func_800A093C.s create mode 100644 include/d/d_a/d_a_alink/d_a_alink.h create mode 100644 include/d/d_a/d_a_player/d_a_player.h create mode 100644 include/d/d_cc/d_cc_d.h create mode 100644 include/f/f_op/f_op_actor.h diff --git a/asm/d/a/d_a_alink.s b/asm/d/a/d_a_alink.s index 09af9bbd5ce..2121434cab8 100644 --- a/asm/d/a/d_a_alink.s +++ b/asm/d/a/d_a_alink.s @@ -2,4233 +2,6 @@ .section .text, "ax" # 8009d87c - -.global daAlink_c_NS_getE3Zhint -daAlink_c_NS_getE3Zhint: -/* 8009D87C 0009A7BC 38 60 00 00 */ li r3, 0 -/* 8009D880 0009A7C0 4E 80 00 20 */ blr -/* 8009D884 0009A7C4 38 62 92 90 */ addi r3, r2, lbl_80452C90-_SDA2_BASE_ -/* 8009D888 0009A7C8 4E 80 00 20 */ blr -.global daAlink_tgHitCallback -daAlink_tgHitCallback: -/* 8009D88C 0009A7CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009D890 0009A7D0 7C 08 02 A6 */ mflr r0 -/* 8009D894 0009A7D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009D898 0009A7D8 7C 80 23 78 */ mr r0, r4 -/* 8009D89C 0009A7DC 7C A4 2B 78 */ mr r4, r5 -/* 8009D8A0 0009A7E0 7C 05 03 78 */ mr r5, r0 -/* 8009D8A4 0009A7E4 48 00 01 F5 */ bl daAlink_c_NS_tgHitCallback -/* 8009D8A8 0009A7E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009D8AC 0009A7EC 7C 08 03 A6 */ mtlr r0 -/* 8009D8B0 0009A7F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009D8B4 0009A7F4 4E 80 00 20 */ blr -.global daAlink_coHitCallback -daAlink_coHitCallback: -/* 8009D8B8 0009A7F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009D8BC 0009A7FC 7C 08 02 A6 */ mflr r0 -/* 8009D8C0 0009A800 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009D8C4 0009A804 7C 80 23 78 */ mr r0, r4 -/* 8009D8C8 0009A808 7C A4 2B 78 */ mr r4, r5 -/* 8009D8CC 0009A80C 7C 05 03 78 */ mr r5, r0 -/* 8009D8D0 0009A810 48 00 02 95 */ bl daAlink_c_NS_coHitCallback -/* 8009D8D4 0009A814 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009D8D8 0009A818 7C 08 03 A6 */ mtlr r0 -/* 8009D8DC 0009A81C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009D8E0 0009A820 4E 80 00 20 */ blr - -.global daAlink_matAnm_c_NS_init -daAlink_matAnm_c_NS_init: -/* 8009D8E4 0009A824 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009D8E8 0009A828 D0 03 00 F4 */ stfs f0, 0xf4(r3) -/* 8009D8EC 0009A82C D0 03 00 F8 */ stfs f0, 0xf8(r3) -/* 8009D8F0 0009A830 D0 03 00 FC */ stfs f0, 0xfc(r3) -/* 8009D8F4 0009A834 D0 03 01 00 */ stfs f0, 0x100(r3) -/* 8009D8F8 0009A838 38 00 00 00 */ li r0, 0 -/* 8009D8FC 0009A83C 98 0D 8A 48 */ stb r0, lbl_80450FC8-_SDA_BASE_(r13) -/* 8009D900 0009A840 98 0D 8A 49 */ stb r0, lbl_80450FC9-_SDA_BASE_(r13) -/* 8009D904 0009A844 90 03 01 04 */ stw r0, 0x104(r3) -/* 8009D908 0009A848 4E 80 00 20 */ blr -/* 8009D90C 0009A84C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8009D910 0009A850 7C 08 02 A6 */ mflr r0 -/* 8009D914 0009A854 90 01 00 24 */ stw r0, 0x24(r1) -/* 8009D918 0009A858 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009D91C 0009A85C 48 2C 48 BD */ bl _savegpr_28 -/* 8009D920 0009A860 7C 7E 1B 78 */ mr r30, r3 -/* 8009D924 0009A864 7C 9F 23 78 */ mr r31, r4 -/* 8009D928 0009A868 48 28 EA 9D */ bl J3DMaterialAnm_NS_calc -/* 8009D92C 0009A86C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8009D930 0009A870 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 8009D934 0009A874 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8009D938 0009A878 80 03 05 78 */ lwz r0, 0x578(r3) -/* 8009D93C 0009A87C 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 8009D940 0009A880 40 82 01 08 */ bne lbl_8009DA48 -/* 8009D944 0009A884 3B 80 00 00 */ li r28, 0 -/* 8009D948 0009A888 3B A0 00 00 */ li r29, 0 -lbl_8009D94C: -/* 8009D94C 0009A88C 38 7D 00 14 */ addi r3, r29, 0x14 -/* 8009D950 0009A890 7C 7E 1A 14 */ add r3, r30, r3 -/* 8009D954 0009A894 A0 03 00 02 */ lhz r0, 2(r3) -/* 8009D958 0009A898 28 00 00 00 */ cmplwi r0, 0 -/* 8009D95C 0009A89C 41 82 00 DC */ beq lbl_8009DA38 -/* 8009D960 0009A8A0 80 7F 00 28 */ lwz r3, 0x28(r31) -/* 8009D964 0009A8A4 7F 84 E3 78 */ mr r4, r28 -/* 8009D968 0009A8A8 81 83 00 00 */ lwz r12, 0(r3) -/* 8009D96C 0009A8AC 81 8C 00 50 */ lwz r12, 0x50(r12) -/* 8009D970 0009A8B0 7D 89 03 A6 */ mtctr r12 -/* 8009D974 0009A8B4 4E 80 04 21 */ bctrl -/* 8009D978 0009A8B8 88 8D 8A 49 */ lbz r4, lbl_80450FC9-_SDA_BASE_(r13) -/* 8009D97C 0009A8BC 28 04 00 00 */ cmplwi r4, 0 -/* 8009D980 0009A8C0 41 82 00 8C */ beq lbl_8009DA0C -/* 8009D984 0009A8C4 80 1E 01 04 */ lwz r0, 0x104(r30) -/* 8009D988 0009A8C8 2C 00 00 00 */ cmpwi r0, 0 -/* 8009D98C 0009A8CC 40 82 00 6C */ bne lbl_8009D9F8 -/* 8009D990 0009A8D0 C0 42 92 B8 */ lfs f2, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009D994 0009A8D4 38 04 00 01 */ addi r0, r4, 1 -/* 8009D998 0009A8D8 C8 22 92 B0 */ lfd f1, lbl_80452CB0-_SDA2_BASE_(r2) -/* 8009D99C 0009A8DC 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8009D9A0 0009A8E0 90 01 00 0C */ stw r0, 0xc(r1) -/* 8009D9A4 0009A8E4 3C 00 43 30 */ lis r0, 0x4330 -/* 8009D9A8 0009A8E8 90 01 00 08 */ stw r0, 8(r1) -/* 8009D9AC 0009A8EC C8 01 00 08 */ lfd f0, 8(r1) -/* 8009D9B0 0009A8F0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8009D9B4 0009A8F4 EC 62 00 24 */ fdivs f3, f2, f0 -/* 8009D9B8 0009A8F8 C0 1E 00 F4 */ lfs f0, 0xf4(r30) -/* 8009D9BC 0009A8FC EC 42 18 28 */ fsubs f2, f2, f3 -/* 8009D9C0 0009A900 EC 20 00 B2 */ fmuls f1, f0, f2 -/* 8009D9C4 0009A904 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 8009D9C8 0009A908 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 8009D9CC 0009A90C EC 01 00 2A */ fadds f0, f1, f0 -/* 8009D9D0 0009A910 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 8009D9D4 0009A914 C0 1E 00 F8 */ lfs f0, 0xf8(r30) -/* 8009D9D8 0009A918 EC 20 00 B2 */ fmuls f1, f0, f2 -/* 8009D9DC 0009A91C C0 03 00 20 */ lfs f0, 0x20(r3) -/* 8009D9E0 0009A920 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 8009D9E4 0009A924 EC 01 00 2A */ fadds f0, f1, f0 -/* 8009D9E8 0009A928 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 8009D9EC 0009A92C 38 00 00 01 */ li r0, 1 -/* 8009D9F0 0009A930 90 1E 01 04 */ stw r0, 0x104(r30) -/* 8009D9F4 0009A934 48 00 00 34 */ b lbl_8009DA28 -lbl_8009D9F8: -/* 8009D9F8 0009A938 C0 1E 00 F4 */ lfs f0, 0xf4(r30) -/* 8009D9FC 0009A93C D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 8009DA00 0009A940 C0 1E 00 F8 */ lfs f0, 0xf8(r30) -/* 8009DA04 0009A944 D0 03 00 20 */ stfs f0, 0x20(r3) -/* 8009DA08 0009A948 48 00 00 20 */ b lbl_8009DA28 -lbl_8009DA0C: -/* 8009DA0C 0009A94C 88 0D 8A 48 */ lbz r0, lbl_80450FC8-_SDA_BASE_(r13) -/* 8009DA10 0009A950 28 00 00 00 */ cmplwi r0, 0 -/* 8009DA14 0009A954 41 82 00 14 */ beq lbl_8009DA28 -/* 8009DA18 0009A958 C0 1E 00 FC */ lfs f0, 0xfc(r30) -/* 8009DA1C 0009A95C D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 8009DA20 0009A960 C0 1E 01 00 */ lfs f0, 0x100(r30) -/* 8009DA24 0009A964 D0 03 00 20 */ stfs f0, 0x20(r3) -lbl_8009DA28: -/* 8009DA28 0009A968 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 8009DA2C 0009A96C D0 1E 00 F4 */ stfs f0, 0xf4(r30) -/* 8009DA30 0009A970 C0 03 00 20 */ lfs f0, 0x20(r3) -/* 8009DA34 0009A974 D0 1E 00 F8 */ stfs f0, 0xf8(r30) -lbl_8009DA38: -/* 8009DA38 0009A978 3B 9C 00 01 */ addi r28, r28, 1 -/* 8009DA3C 0009A97C 28 1C 00 08 */ cmplwi r28, 8 -/* 8009DA40 0009A980 3B BD 00 08 */ addi r29, r29, 8 -/* 8009DA44 0009A984 41 80 FF 08 */ blt lbl_8009D94C -lbl_8009DA48: -/* 8009DA48 0009A988 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009DA4C 0009A98C 48 2C 47 D9 */ bl _restgpr_28 -/* 8009DA50 0009A990 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8009DA54 0009A994 7C 08 03 A6 */ mtlr r0 -/* 8009DA58 0009A998 38 21 00 20 */ addi r1, r1, 0x20 -/* 8009DA5C 0009A99C 4E 80 00 20 */ blr - -.global daAlink_c_NS_checkStageName -daAlink_c_NS_checkStageName: -/* 8009DA60 0009A9A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009DA64 0009A9A4 7C 08 02 A6 */ mflr r0 -/* 8009DA68 0009A9A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009DA6C 0009A9AC 7C 64 1B 78 */ mr r4, r3 -/* 8009DA70 0009A9B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 8009DA74 0009A9B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 8009DA78 0009A9B8 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 8009DA7C 0009A9BC 48 2C AF 19 */ bl strcmp -/* 8009DA80 0009A9C0 7C 60 00 34 */ cntlzw r0, r3 -/* 8009DA84 0009A9C4 54 03 D9 7E */ srwi r3, r0, 5 -/* 8009DA88 0009A9C8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009DA8C 0009A9CC 7C 08 03 A6 */ mtlr r0 -/* 8009DA90 0009A9D0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009DA94 0009A9D4 4E 80 00 20 */ blr - -.global daAlink_c_NS_tgHitCallback -daAlink_c_NS_tgHitCallback: -/* 8009DA98 0009A9D8 80 06 00 10 */ lwz r0, 0x10(r6) -/* 8009DA9C 0009A9DC 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 8009DAA0 0009A9E0 41 82 00 7C */ beq lbl_8009DB1C -/* 8009DAA4 0009A9E4 C0 06 00 84 */ lfs f0, 0x84(r6) -/* 8009DAA8 0009A9E8 D0 03 36 9C */ stfs f0, 0x369c(r3) -/* 8009DAAC 0009A9EC C0 06 00 88 */ lfs f0, 0x88(r6) -/* 8009DAB0 0009A9F0 D0 03 36 A0 */ stfs f0, 0x36a0(r3) -/* 8009DAB4 0009A9F4 C0 06 00 8C */ lfs f0, 0x8c(r6) -/* 8009DAB8 0009A9F8 D0 03 36 A4 */ stfs f0, 0x36a4(r3) -/* 8009DABC 0009A9FC 38 E0 00 00 */ li r7, 0 -/* 8009DAC0 0009AA00 38 C0 00 00 */ li r6, 0 -/* 8009DAC4 0009AA04 38 00 00 03 */ li r0, 3 -/* 8009DAC8 0009AA08 7C 09 03 A6 */ mtctr r0 -lbl_8009DACC: -/* 8009DACC 0009AA0C 38 06 08 50 */ addi r0, r6, 0x850 -/* 8009DAD0 0009AA10 7C 03 02 14 */ add r0, r3, r0 -/* 8009DAD4 0009AA14 7C 05 00 40 */ cmplw r5, r0 -/* 8009DAD8 0009AA18 40 82 00 34 */ bne lbl_8009DB0C -/* 8009DADC 0009AA1C 88 A3 2F B8 */ lbz r5, 0x2fb8(r3) -/* 8009DAE0 0009AA20 38 00 00 01 */ li r0, 1 -/* 8009DAE4 0009AA24 7C 00 38 30 */ slw r0, r0, r7 -/* 8009DAE8 0009AA28 7C A0 03 78 */ or r0, r5, r0 -/* 8009DAEC 0009AA2C 98 03 2F B8 */ stb r0, 0x2fb8(r3) -/* 8009DAF0 0009AA30 C0 04 04 D0 */ lfs f0, 0x4d0(r4) -/* 8009DAF4 0009AA34 D0 03 36 B4 */ stfs f0, 0x36b4(r3) -/* 8009DAF8 0009AA38 C0 04 04 D4 */ lfs f0, 0x4d4(r4) -/* 8009DAFC 0009AA3C D0 03 36 B8 */ stfs f0, 0x36b8(r3) -/* 8009DB00 0009AA40 C0 04 04 D8 */ lfs f0, 0x4d8(r4) -/* 8009DB04 0009AA44 D0 03 36 BC */ stfs f0, 0x36bc(r3) -/* 8009DB08 0009AA48 4E 80 00 20 */ blr -lbl_8009DB0C: -/* 8009DB0C 0009AA4C 38 E7 00 01 */ addi r7, r7, 1 -/* 8009DB10 0009AA50 38 C6 01 3C */ addi r6, r6, 0x13c -/* 8009DB14 0009AA54 42 00 FF B8 */ bdnz lbl_8009DACC -/* 8009DB18 0009AA58 4E 80 00 20 */ blr -lbl_8009DB1C: -/* 8009DB1C 0009AA5C 38 C0 00 00 */ li r6, 0 -/* 8009DB20 0009AA60 38 80 00 00 */ li r4, 0 -/* 8009DB24 0009AA64 38 00 00 03 */ li r0, 3 -/* 8009DB28 0009AA68 7C 09 03 A6 */ mtctr r0 -lbl_8009DB2C: -/* 8009DB2C 0009AA6C 38 04 08 50 */ addi r0, r4, 0x850 -/* 8009DB30 0009AA70 7C 03 02 14 */ add r0, r3, r0 -/* 8009DB34 0009AA74 7C 05 00 40 */ cmplw r5, r0 -/* 8009DB38 0009AA78 40 82 00 1C */ bne lbl_8009DB54 -/* 8009DB3C 0009AA7C 88 83 2F B8 */ lbz r4, 0x2fb8(r3) -/* 8009DB40 0009AA80 38 00 00 01 */ li r0, 1 -/* 8009DB44 0009AA84 7C 00 30 30 */ slw r0, r0, r6 -/* 8009DB48 0009AA88 7C 80 00 78 */ andc r0, r4, r0 -/* 8009DB4C 0009AA8C 98 03 2F B8 */ stb r0, 0x2fb8(r3) -/* 8009DB50 0009AA90 4E 80 00 20 */ blr -lbl_8009DB54: -/* 8009DB54 0009AA94 38 C6 00 01 */ addi r6, r6, 1 -/* 8009DB58 0009AA98 38 84 01 3C */ addi r4, r4, 0x13c -/* 8009DB5C 0009AA9C 42 00 FF D0 */ bdnz lbl_8009DB2C -/* 8009DB60 0009AAA0 4E 80 00 20 */ blr - -.global daAlink_c_NS_coHitCallback -daAlink_c_NS_coHitCallback: -/* 8009DB64 0009AAA4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8009DB68 0009AAA8 7C 08 02 A6 */ mflr r0 -/* 8009DB6C 0009AAAC 90 01 00 24 */ stw r0, 0x24(r1) -/* 8009DB70 0009AAB0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009DB74 0009AAB4 48 2C 46 69 */ bl _savegpr_29 -/* 8009DB78 0009AAB8 7C 7E 1B 78 */ mr r30, r3 -/* 8009DB7C 0009AABC 7C 9D 23 78 */ mr r29, r4 -/* 8009DB80 0009AAC0 7C BF 2B 78 */ mr r31, r5 -/* 8009DB84 0009AAC4 80 03 05 74 */ lwz r0, 0x574(r3) -/* 8009DB88 0009AAC8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8009DB8C 0009AACC 40 82 00 6C */ bne lbl_8009DBF8 -/* 8009DB90 0009AAD0 80 1E 05 7C */ lwz r0, 0x57c(r30) -/* 8009DB94 0009AAD4 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 -/* 8009DB98 0009AAD8 40 82 00 60 */ bne lbl_8009DBF8 -/* 8009DB9C 0009AADC A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) -/* 8009DBA0 0009AAE0 28 00 00 2D */ cmplwi r0, 0x2d -/* 8009DBA4 0009AAE4 41 82 00 0C */ beq lbl_8009DBB0 -/* 8009DBA8 0009AAE8 28 00 00 2B */ cmplwi r0, 0x2b -/* 8009DBAC 0009AAEC 40 82 00 10 */ bne lbl_8009DBBC -lbl_8009DBB0: -/* 8009DBB0 0009AAF0 80 1E 28 10 */ lwz r0, 0x2810(r30) -/* 8009DBB4 0009AAF4 7C 1D 00 40 */ cmplw r29, r0 -/* 8009DBB8 0009AAF8 41 82 00 34 */ beq lbl_8009DBEC -lbl_8009DBBC: -/* 8009DBBC 0009AAFC 80 9E 31 A0 */ lwz r4, 0x31a0(r30) -/* 8009DBC0 0009AB00 3C 60 00 01 */ lis r3, 0x00010040@ha -/* 8009DBC4 0009AB04 38 03 00 40 */ addi r0, r3, 0x00010040@l -/* 8009DBC8 0009AB08 7C 80 00 39 */ and. r0, r4, r0 -/* 8009DBCC 0009AB0C 41 82 00 10 */ beq lbl_8009DBDC -/* 8009DBD0 0009AB10 A8 1D 00 08 */ lha r0, 8(r29) -/* 8009DBD4 0009AB14 2C 00 00 BB */ cmpwi r0, 0xbb -/* 8009DBD8 0009AB18 40 82 00 14 */ bne lbl_8009DBEC -lbl_8009DBDC: -/* 8009DBDC 0009AB1C 38 9E 08 14 */ addi r4, r30, 0x814 -/* 8009DBE0 0009AB20 38 7E 37 2C */ addi r3, r30, 0x372c -/* 8009DBE4 0009AB24 7C 65 1B 78 */ mr r5, r3 -/* 8009DBE8 0009AB28 48 2A 94 A9 */ bl PSVECAdd -lbl_8009DBEC: -/* 8009DBEC 0009AB2C A0 7E 30 FE */ lhz r3, 0x30fe(r30) -/* 8009DBF0 0009AB30 38 03 00 01 */ addi r0, r3, 1 -/* 8009DBF4 0009AB34 B0 1E 30 FE */ sth r0, 0x30fe(r30) -lbl_8009DBF8: -/* 8009DBF8 0009AB38 A8 1D 00 08 */ lha r0, 8(r29) -/* 8009DBFC 0009AB3C 2C 00 01 77 */ cmpwi r0, 0x177 -/* 8009DC00 0009AB40 40 82 00 54 */ bne lbl_8009DC54 -/* 8009DC04 0009AB44 80 1E 05 74 */ lwz r0, 0x574(r30) -/* 8009DC08 0009AB48 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8009DC0C 0009AB4C 41 82 00 3C */ beq lbl_8009DC48 -/* 8009DC10 0009AB50 38 1E 08 50 */ addi r0, r30, 0x850 -/* 8009DC14 0009AB54 7C 1F 00 40 */ cmplw r31, r0 -/* 8009DC18 0009AB58 40 82 00 14 */ bne lbl_8009DC2C -/* 8009DC1C 0009AB5C 80 1E 05 8C */ lwz r0, 0x58c(r30) -/* 8009DC20 0009AB60 60 00 08 00 */ ori r0, r0, 0x800 -/* 8009DC24 0009AB64 90 1E 05 8C */ stw r0, 0x58c(r30) -/* 8009DC28 0009AB68 48 00 00 2C */ b lbl_8009DC54 -lbl_8009DC2C: -/* 8009DC2C 0009AB6C 38 1E 0A C8 */ addi r0, r30, 0xac8 -/* 8009DC30 0009AB70 7C 1F 00 40 */ cmplw r31, r0 -/* 8009DC34 0009AB74 40 82 00 20 */ bne lbl_8009DC54 -/* 8009DC38 0009AB78 80 1E 05 8C */ lwz r0, 0x58c(r30) -/* 8009DC3C 0009AB7C 60 00 10 00 */ ori r0, r0, 0x1000 -/* 8009DC40 0009AB80 90 1E 05 8C */ stw r0, 0x58c(r30) -/* 8009DC44 0009AB84 48 00 00 10 */ b lbl_8009DC54 -lbl_8009DC48: -/* 8009DC48 0009AB88 80 1E 05 8C */ lwz r0, 0x58c(r30) -/* 8009DC4C 0009AB8C 60 00 08 00 */ ori r0, r0, 0x800 -/* 8009DC50 0009AB90 90 1E 05 8C */ stw r0, 0x58c(r30) -lbl_8009DC54: -/* 8009DC54 0009AB94 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009DC58 0009AB98 48 2C 45 D1 */ bl _restgpr_29 -/* 8009DC5C 0009AB9C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8009DC60 0009ABA0 7C 08 03 A6 */ mtlr r0 -/* 8009DC64 0009ABA4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8009DC68 0009ABA8 4E 80 00 20 */ blr - -.global daAlink_c_NS_setMatrixWorldAxisRot -daAlink_c_NS_setMatrixWorldAxisRot: -/* 8009DC6C 0009ABAC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8009DC70 0009ABB0 7C 08 02 A6 */ mflr r0 -/* 8009DC74 0009ABB4 90 01 00 34 */ stw r0, 0x34(r1) -/* 8009DC78 0009ABB8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8009DC7C 0009ABBC 48 2C 45 55 */ bl _savegpr_26 -/* 8009DC80 0009ABC0 7C 7A 1B 78 */ mr r26, r3 -/* 8009DC84 0009ABC4 7C 9F 23 78 */ mr r31, r4 -/* 8009DC88 0009ABC8 7C BB 2B 78 */ mr r27, r5 -/* 8009DC8C 0009ABCC 7C DC 33 78 */ mr r28, r6 -/* 8009DC90 0009ABD0 7C FD 3B 78 */ mr r29, r7 -/* 8009DC94 0009ABD4 7D 1E 43 78 */ mr r30, r8 -/* 8009DC98 0009ABD8 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 8009DC9C 0009ABDC D0 01 00 08 */ stfs f0, 8(r1) -/* 8009DCA0 0009ABE0 C0 04 00 1C */ lfs f0, 0x1c(r4) -/* 8009DCA4 0009ABE4 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8009DCA8 0009ABE8 C0 04 00 2C */ lfs f0, 0x2c(r4) -/* 8009DCAC 0009ABEC D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8009DCB0 0009ABF0 28 09 00 00 */ cmplwi r9, 0 -/* 8009DCB4 0009ABF4 41 82 00 10 */ beq lbl_8009DCC4 -/* 8009DCB8 0009ABF8 7D 23 4B 78 */ mr r3, r9 -/* 8009DCBC 0009ABFC 4B F6 F0 A9 */ bl mDoMtx_stack_c_NS_transS -/* 8009DCC0 0009AC00 48 00 00 0C */ b lbl_8009DCCC -lbl_8009DCC4: -/* 8009DCC4 0009AC04 38 61 00 08 */ addi r3, r1, 8 -/* 8009DCC8 0009AC08 4B F6 F0 9D */ bl mDoMtx_stack_c_NS_transS -lbl_8009DCCC: -/* 8009DCCC 0009AC0C 7F 43 D3 78 */ mr r3, r26 -/* 8009DCD0 0009AC10 48 04 47 2D */ bl daAlink_c_NS_concatMagneBootMtx -/* 8009DCD4 0009AC14 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009DCD8 0009AC18 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009DCDC 0009AC1C A8 9A 04 E6 */ lha r4, 0x4e6(r26) -/* 8009DCE0 0009AC20 4B F6 E7 55 */ bl mDoMtx_YrotM -/* 8009DCE4 0009AC24 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009DCE8 0009AC28 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009DCEC 0009AC2C 7F 64 DB 78 */ mr r4, r27 -/* 8009DCF0 0009AC30 7F 85 E3 78 */ mr r5, r28 -/* 8009DCF4 0009AC34 7F A6 EB 78 */ mr r6, r29 -/* 8009DCF8 0009AC38 4B F6 E5 A9 */ bl mDoMtx_ZXYrotM -/* 8009DCFC 0009AC3C 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009DD00 0009AC40 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009DD04 0009AC44 A8 1A 04 E6 */ lha r0, 0x4e6(r26) -/* 8009DD08 0009AC48 7C 00 00 D0 */ neg r0, r0 -/* 8009DD0C 0009AC4C 7C 04 07 34 */ extsh r4, r0 -/* 8009DD10 0009AC50 4B F6 E7 25 */ bl mDoMtx_YrotM -/* 8009DD14 0009AC54 7F 43 D3 78 */ mr r3, r26 -/* 8009DD18 0009AC58 48 04 47 25 */ bl daAlink_c_NS_concatMagneBootInvMtx -/* 8009DD1C 0009AC5C C0 01 00 08 */ lfs f0, 8(r1) -/* 8009DD20 0009AC60 FC 20 00 50 */ fneg f1, f0 -/* 8009DD24 0009AC64 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8009DD28 0009AC68 FC 40 00 50 */ fneg f2, f0 -/* 8009DD2C 0009AC6C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8009DD30 0009AC70 FC 60 00 50 */ fneg f3, f0 -/* 8009DD34 0009AC74 4B F6 F0 69 */ bl mDoMtx_stack_c_NS_transM -/* 8009DD38 0009AC78 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009DD3C 0009AC7C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009DD40 0009AC80 7F E4 FB 78 */ mr r4, r31 -/* 8009DD44 0009AC84 7C 65 1B 78 */ mr r5, r3 -/* 8009DD48 0009AC88 48 2A 87 9D */ bl PSMTXConcat -/* 8009DD4C 0009AC8C 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009DD50 0009AC90 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009DD54 0009AC94 7F E4 FB 78 */ mr r4, r31 -/* 8009DD58 0009AC98 48 2A 87 59 */ bl PSMTXCopy -/* 8009DD5C 0009AC9C 2C 1E 00 00 */ cmpwi r30, 0 -/* 8009DD60 0009ACA0 41 82 00 18 */ beq lbl_8009DD78 -/* 8009DD64 0009ACA4 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009DD68 0009ACA8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009DD6C 0009ACAC 3C 80 80 43 */ lis r4, lbl_80434BE4@ha -/* 8009DD70 0009ACB0 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l -/* 8009DD74 0009ACB4 48 2A 87 3D */ bl PSMTXCopy -lbl_8009DD78: -/* 8009DD78 0009ACB8 39 61 00 30 */ addi r11, r1, 0x30 -/* 8009DD7C 0009ACBC 48 2C 44 A1 */ bl _restgpr_26 -/* 8009DD80 0009ACC0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8009DD84 0009ACC4 7C 08 03 A6 */ mtlr r0 -/* 8009DD88 0009ACC8 38 21 00 30 */ addi r1, r1, 0x30 -/* 8009DD8C 0009ACCC 4E 80 00 20 */ blr - -.global daAlink_c_NS_jointControll -daAlink_c_NS_jointControll: -/* 8009DD90 0009ACD0 94 21 FF 50 */ stwu r1, -0xb0(r1) -/* 8009DD94 0009ACD4 7C 08 02 A6 */ mflr r0 -/* 8009DD98 0009ACD8 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 8009DD9C 0009ACDC 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 8009DDA0 0009ACE0 48 2C 44 35 */ bl _savegpr_27 -/* 8009DDA4 0009ACE4 7C 7B 1B 78 */ mr r27, r3 -/* 8009DDA8 0009ACE8 7C 9F 23 78 */ mr r31, r4 -/* 8009DDAC 0009ACEC 38 61 00 10 */ addi r3, r1, 0x10 -/* 8009DDB0 0009ACF0 38 80 00 00 */ li r4, 0 -/* 8009DDB4 0009ACF4 38 A0 00 00 */ li r5, 0 -/* 8009DDB8 0009ACF8 38 C0 00 00 */ li r6, 0 -/* 8009DDBC 0009ACFC 48 1C 96 39 */ bl csXyz_X1_ -/* 8009DDC0 0009AD00 3B 80 00 00 */ li r28, 0 -/* 8009DDC4 0009AD04 80 DB 20 60 */ lwz r6, 0x2060(r27) -/* 8009DDC8 0009AD08 80 06 00 1C */ lwz r0, 0x1c(r6) -/* 8009DDCC 0009AD0C 57 FD 28 34 */ slwi r29, r31, 5 -/* 8009DDD0 0009AD10 7C 60 EA 14 */ add r3, r0, r29 -/* 8009DDD4 0009AD14 38 A1 00 54 */ addi r5, r1, 0x54 -/* 8009DDD8 0009AD18 38 83 FF FC */ addi r4, r3, -4 -/* 8009DDDC 0009AD1C 38 00 00 04 */ li r0, 4 -/* 8009DDE0 0009AD20 7C 09 03 A6 */ mtctr r0 -lbl_8009DDE4: -/* 8009DDE4 0009AD24 80 64 00 04 */ lwz r3, 4(r4) -/* 8009DDE8 0009AD28 84 04 00 08 */ lwzu r0, 8(r4) -/* 8009DDEC 0009AD2C 90 65 00 04 */ stw r3, 4(r5) -/* 8009DDF0 0009AD30 94 05 00 08 */ stwu r0, 8(r5) -/* 8009DDF4 0009AD34 42 00 FF F0 */ bdnz lbl_8009DDE4 -/* 8009DDF8 0009AD38 80 06 00 20 */ lwz r0, 0x20(r6) -/* 8009DDFC 0009AD3C 57 FE 20 36 */ slwi r30, r31, 4 -/* 8009DE00 0009AD40 7C 80 F2 14 */ add r4, r0, r30 -/* 8009DE04 0009AD44 80 64 00 00 */ lwz r3, 0(r4) -/* 8009DE08 0009AD48 80 04 00 04 */ lwz r0, 4(r4) -/* 8009DE0C 0009AD4C 90 61 00 18 */ stw r3, 0x18(r1) -/* 8009DE10 0009AD50 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8009DE14 0009AD54 80 64 00 08 */ lwz r3, 8(r4) -/* 8009DE18 0009AD58 80 04 00 0C */ lwz r0, 0xc(r4) -/* 8009DE1C 0009AD5C 90 61 00 20 */ stw r3, 0x20(r1) -/* 8009DE20 0009AD60 90 01 00 24 */ stw r0, 0x24(r1) -/* 8009DE24 0009AD64 38 61 00 08 */ addi r3, r1, 8 -/* 8009DE28 0009AD68 38 80 00 00 */ li r4, 0 -/* 8009DE2C 0009AD6C 38 A0 00 01 */ li r5, 1 -/* 8009DE30 0009AD70 38 C0 00 02 */ li r6, 2 -/* 8009DE34 0009AD74 48 1C 95 C1 */ bl csXyz_X1_ -/* 8009DE38 0009AD78 80 1B 05 74 */ lwz r0, 0x574(r27) -/* 8009DE3C 0009AD7C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 8009DE40 0009AD80 41 82 02 1C */ beq lbl_8009E05C -/* 8009DE44 0009AD84 2C 1F 00 00 */ cmpwi r31, 0 -/* 8009DE48 0009AD88 40 82 00 E0 */ bne lbl_8009DF28 -/* 8009DE4C 0009AD8C A0 1B 2F E8 */ lhz r0, 0x2fe8(r27) -/* 8009DE50 0009AD90 28 00 01 3D */ cmplwi r0, 0x13d -/* 8009DE54 0009AD94 40 82 00 1C */ bne lbl_8009DE70 -/* 8009DE58 0009AD98 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009DE5C 0009AD9C 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 8009DE60 0009ADA0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009DE64 0009ADA4 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 8009DE68 0009ADA8 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 8009DE6C 0009ADAC 48 00 00 50 */ b lbl_8009DEBC -lbl_8009DE70: -/* 8009DE70 0009ADB0 88 9B 2F 99 */ lbz r4, 0x2f99(r27) -/* 8009DE74 0009ADB4 54 80 07 7F */ clrlwi. r0, r4, 0x1d -/* 8009DE78 0009ADB8 41 82 00 44 */ beq lbl_8009DEBC -/* 8009DE7C 0009ADBC 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009DE80 0009ADC0 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 8009DE84 0009ADC4 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d -/* 8009DE88 0009ADC8 41 82 00 0C */ beq lbl_8009DE94 -/* 8009DE8C 0009ADCC C0 1B 35 90 */ lfs f0, 0x3590(r27) -/* 8009DE90 0009ADD0 D0 03 00 1C */ stfs f0, 0x1c(r3) -lbl_8009DE94: -/* 8009DE94 0009ADD4 88 1B 2F 99 */ lbz r0, 0x2f99(r27) -/* 8009DE98 0009ADD8 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8009DE9C 0009ADDC 41 82 00 0C */ beq lbl_8009DEA8 -/* 8009DEA0 0009ADE0 C0 1B 35 88 */ lfs f0, 0x3588(r27) -/* 8009DEA4 0009ADE4 D0 03 00 14 */ stfs f0, 0x14(r3) -lbl_8009DEA8: -/* 8009DEA8 0009ADE8 88 1B 2F 99 */ lbz r0, 0x2f99(r27) -/* 8009DEAC 0009ADEC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 8009DEB0 0009ADF0 41 82 00 0C */ beq lbl_8009DEBC -/* 8009DEB4 0009ADF4 C0 1B 33 B0 */ lfs f0, 0x33b0(r27) -/* 8009DEB8 0009ADF8 D0 03 00 18 */ stfs f0, 0x18(r3) -lbl_8009DEBC: -/* 8009DEBC 0009ADFC A8 9B 30 82 */ lha r4, 0x3082(r27) -/* 8009DEC0 0009AE00 A8 1B 30 80 */ lha r0, 0x3080(r27) -/* 8009DEC4 0009AE04 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8009DEC8 0009AE08 38 60 00 00 */ li r3, 0 -/* 8009DECC 0009AE0C B0 61 00 12 */ sth r3, 0x12(r1) -/* 8009DED0 0009AE10 B0 81 00 14 */ sth r4, 0x14(r1) -/* 8009DED4 0009AE14 38 00 00 02 */ li r0, 2 -/* 8009DED8 0009AE18 B0 01 00 08 */ sth r0, 8(r1) -/* 8009DEDC 0009AE1C 38 00 00 01 */ li r0, 1 -/* 8009DEE0 0009AE20 B0 01 00 0A */ sth r0, 0xa(r1) -/* 8009DEE4 0009AE24 B0 61 00 0C */ sth r3, 0xc(r1) -/* 8009DEE8 0009AE28 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009DEEC 0009AE2C 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 8009DEF0 0009AE30 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0 -/* 8009DEF4 0009AE34 F0 01 00 78 */ psq_st f0, 120(r1), 0, qr0 -/* 8009DEF8 0009AE38 C0 03 00 08 */ lfs f0, 8(r3) -/* 8009DEFC 0009AE3C D0 01 00 80 */ stfs f0, 0x80(r1) -/* 8009DF00 0009AE40 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8009DF04 0009AE44 90 01 00 84 */ stw r0, 0x84(r1) -/* 8009DF08 0009AE48 A8 03 00 10 */ lha r0, 0x10(r3) -/* 8009DF0C 0009AE4C B0 01 00 88 */ sth r0, 0x88(r1) -/* 8009DF10 0009AE50 E0 03 00 14 */ psq_l f0, 20(r3), 0, qr0 -/* 8009DF14 0009AE54 F0 01 00 8C */ psq_st f0, 140(r1), 0, qr0 -/* 8009DF18 0009AE58 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 8009DF1C 0009AE5C D0 01 00 94 */ stfs f0, 0x94(r1) -/* 8009DF20 0009AE60 63 9C 00 02 */ ori r28, r28, 2 -/* 8009DF24 0009AE64 48 00 05 78 */ b lbl_8009E49C -lbl_8009DF28: -/* 8009DF28 0009AE68 2C 1F 00 03 */ cmpwi r31, 3 -/* 8009DF2C 0009AE6C 40 82 00 3C */ bne lbl_8009DF68 -/* 8009DF30 0009AE70 A8 9B 30 B0 */ lha r4, 0x30b0(r27) -/* 8009DF34 0009AE74 A8 7B 30 D6 */ lha r3, 0x30d6(r27) -/* 8009DF38 0009AE78 A8 1B 30 B2 */ lha r0, 0x30b2(r27) -/* 8009DF3C 0009AE7C 7C 03 02 14 */ add r0, r3, r0 -/* 8009DF40 0009AE80 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8009DF44 0009AE84 38 60 00 00 */ li r3, 0 -/* 8009DF48 0009AE88 B0 61 00 12 */ sth r3, 0x12(r1) -/* 8009DF4C 0009AE8C B0 81 00 14 */ sth r4, 0x14(r1) -/* 8009DF50 0009AE90 38 00 00 02 */ li r0, 2 -/* 8009DF54 0009AE94 B0 01 00 08 */ sth r0, 8(r1) -/* 8009DF58 0009AE98 B0 61 00 0A */ sth r3, 0xa(r1) -/* 8009DF5C 0009AE9C 38 00 00 01 */ li r0, 1 -/* 8009DF60 0009AEA0 B0 01 00 0C */ sth r0, 0xc(r1) -/* 8009DF64 0009AEA4 48 00 05 38 */ b lbl_8009E49C -lbl_8009DF68: -/* 8009DF68 0009AEA8 2C 1F 00 1A */ cmpwi r31, 0x1a -/* 8009DF6C 0009AEAC 40 82 00 34 */ bne lbl_8009DFA0 -/* 8009DF70 0009AEB0 A8 1B 2F EC */ lha r0, 0x2fec(r27) -/* 8009DF74 0009AEB4 7C 00 00 D0 */ neg r0, r0 -/* 8009DF78 0009AEB8 38 60 00 00 */ li r3, 0 -/* 8009DF7C 0009AEBC B0 61 00 10 */ sth r3, 0x10(r1) -/* 8009DF80 0009AEC0 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8009DF84 0009AEC4 B0 61 00 14 */ sth r3, 0x14(r1) -/* 8009DF88 0009AEC8 38 00 00 02 */ li r0, 2 -/* 8009DF8C 0009AECC B0 01 00 08 */ sth r0, 8(r1) -/* 8009DF90 0009AED0 38 00 00 01 */ li r0, 1 -/* 8009DF94 0009AED4 B0 01 00 0A */ sth r0, 0xa(r1) -/* 8009DF98 0009AED8 B0 61 00 0C */ sth r3, 0xc(r1) -/* 8009DF9C 0009AEDC 48 00 05 00 */ b lbl_8009E49C -lbl_8009DFA0: -/* 8009DFA0 0009AEE0 2C 1F 00 25 */ cmpwi r31, 0x25 -/* 8009DFA4 0009AEE4 41 80 00 40 */ blt lbl_8009DFE4 -/* 8009DFA8 0009AEE8 2C 1F 00 27 */ cmpwi r31, 0x27 -/* 8009DFAC 0009AEEC 41 81 00 38 */ bgt lbl_8009DFE4 -/* 8009DFB0 0009AEF0 57 E0 08 3C */ slwi r0, r31, 1 -/* 8009DFB4 0009AEF4 7C 7B 02 14 */ add r3, r27, r0 -/* 8009DFB8 0009AEF8 A8 03 30 4A */ lha r0, 0x304a(r3) -/* 8009DFBC 0009AEFC 38 60 00 00 */ li r3, 0 -/* 8009DFC0 0009AF00 B0 61 00 10 */ sth r3, 0x10(r1) -/* 8009DFC4 0009AF04 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8009DFC8 0009AF08 B0 61 00 14 */ sth r3, 0x14(r1) -/* 8009DFCC 0009AF0C 38 00 00 02 */ li r0, 2 -/* 8009DFD0 0009AF10 B0 01 00 08 */ sth r0, 8(r1) -/* 8009DFD4 0009AF14 38 00 00 01 */ li r0, 1 -/* 8009DFD8 0009AF18 B0 01 00 0A */ sth r0, 0xa(r1) -/* 8009DFDC 0009AF1C B0 61 00 0C */ sth r3, 0xc(r1) -/* 8009DFE0 0009AF20 48 00 04 BC */ b lbl_8009E49C -lbl_8009DFE4: -/* 8009DFE4 0009AF24 2C 1F 00 02 */ cmpwi r31, 2 -/* 8009DFE8 0009AF28 40 82 00 34 */ bne lbl_8009E01C -/* 8009DFEC 0009AF2C A8 1B 2F EC */ lha r0, 0x2fec(r27) -/* 8009DFF0 0009AF30 7C 00 00 D0 */ neg r0, r0 -/* 8009DFF4 0009AF34 38 60 00 00 */ li r3, 0 -/* 8009DFF8 0009AF38 B0 61 00 10 */ sth r3, 0x10(r1) -/* 8009DFFC 0009AF3C B0 01 00 12 */ sth r0, 0x12(r1) -/* 8009E000 0009AF40 B0 61 00 14 */ sth r3, 0x14(r1) -/* 8009E004 0009AF44 38 00 00 02 */ li r0, 2 -/* 8009E008 0009AF48 B0 01 00 08 */ sth r0, 8(r1) -/* 8009E00C 0009AF4C 38 00 00 01 */ li r0, 1 -/* 8009E010 0009AF50 B0 01 00 0A */ sth r0, 0xa(r1) -/* 8009E014 0009AF54 B0 61 00 0C */ sth r3, 0xc(r1) -/* 8009E018 0009AF58 48 00 04 84 */ b lbl_8009E49C -lbl_8009E01C: -/* 8009E01C 0009AF5C 2C 1F 00 04 */ cmpwi r31, 4 -/* 8009E020 0009AF60 40 82 04 7C */ bne lbl_8009E49C -/* 8009E024 0009AF64 A8 9B 31 28 */ lha r4, 0x3128(r27) -/* 8009E028 0009AF68 A8 1B 31 26 */ lha r0, 0x3126(r27) -/* 8009E02C 0009AF6C 7C 60 00 D0 */ neg r3, r0 -/* 8009E030 0009AF70 A8 1B 31 24 */ lha r0, 0x3124(r27) -/* 8009E034 0009AF74 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8009E038 0009AF78 B0 61 00 12 */ sth r3, 0x12(r1) -/* 8009E03C 0009AF7C B0 81 00 14 */ sth r4, 0x14(r1) -/* 8009E040 0009AF80 38 00 00 02 */ li r0, 2 -/* 8009E044 0009AF84 B0 01 00 08 */ sth r0, 8(r1) -/* 8009E048 0009AF88 38 00 00 01 */ li r0, 1 -/* 8009E04C 0009AF8C B0 01 00 0A */ sth r0, 0xa(r1) -/* 8009E050 0009AF90 38 00 00 00 */ li r0, 0 -/* 8009E054 0009AF94 B0 01 00 0C */ sth r0, 0xc(r1) -/* 8009E058 0009AF98 48 00 04 44 */ b lbl_8009E49C -lbl_8009E05C: -/* 8009E05C 0009AF9C 2C 1F 00 04 */ cmpwi r31, 4 -/* 8009E060 0009AFA0 40 82 00 3C */ bne lbl_8009E09C -/* 8009E064 0009AFA4 A8 9B 31 28 */ lha r4, 0x3128(r27) -/* 8009E068 0009AFA8 A8 1B 31 26 */ lha r0, 0x3126(r27) -/* 8009E06C 0009AFAC 7C 60 00 D0 */ neg r3, r0 -/* 8009E070 0009AFB0 A8 1B 31 24 */ lha r0, 0x3124(r27) -/* 8009E074 0009AFB4 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8009E078 0009AFB8 B0 61 00 12 */ sth r3, 0x12(r1) -/* 8009E07C 0009AFBC B0 81 00 14 */ sth r4, 0x14(r1) -/* 8009E080 0009AFC0 38 00 00 02 */ li r0, 2 -/* 8009E084 0009AFC4 B0 01 00 08 */ sth r0, 8(r1) -/* 8009E088 0009AFC8 38 00 00 01 */ li r0, 1 -/* 8009E08C 0009AFCC B0 01 00 0A */ sth r0, 0xa(r1) -/* 8009E090 0009AFD0 38 00 00 00 */ li r0, 0 -/* 8009E094 0009AFD4 B0 01 00 0C */ sth r0, 0xc(r1) -/* 8009E098 0009AFD8 48 00 04 04 */ b lbl_8009E49C -lbl_8009E09C: -/* 8009E09C 0009AFDC 2C 1F 00 10 */ cmpwi r31, 0x10 -/* 8009E0A0 0009AFE0 40 82 00 38 */ bne lbl_8009E0D8 -/* 8009E0A4 0009AFE4 A8 1B 30 8A */ lha r0, 0x308a(r27) -/* 8009E0A8 0009AFE8 7C 80 00 D0 */ neg r4, r0 -/* 8009E0AC 0009AFEC A8 1B 30 88 */ lha r0, 0x3088(r27) -/* 8009E0B0 0009AFF0 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8009E0B4 0009AFF4 38 60 00 00 */ li r3, 0 -/* 8009E0B8 0009AFF8 B0 61 00 12 */ sth r3, 0x12(r1) -/* 8009E0BC 0009AFFC B0 81 00 14 */ sth r4, 0x14(r1) -/* 8009E0C0 0009B000 38 00 00 02 */ li r0, 2 -/* 8009E0C4 0009B004 B0 01 00 08 */ sth r0, 8(r1) -/* 8009E0C8 0009B008 B0 61 00 0A */ sth r3, 0xa(r1) -/* 8009E0CC 0009B00C 38 00 00 01 */ li r0, 1 -/* 8009E0D0 0009B010 B0 01 00 0C */ sth r0, 0xc(r1) -/* 8009E0D4 0009B014 48 00 03 C8 */ b lbl_8009E49C -lbl_8009E0D8: -/* 8009E0D8 0009B018 2C 1F 00 01 */ cmpwi r31, 1 -/* 8009E0DC 0009B01C 40 82 00 B0 */ bne lbl_8009E18C -/* 8009E0E0 0009B020 38 00 00 00 */ li r0, 0 -/* 8009E0E4 0009B024 88 7B 2F AA */ lbz r3, 0x2faa(r27) -/* 8009E0E8 0009B028 28 03 00 01 */ cmplwi r3, 1 -/* 8009E0EC 0009B02C 41 82 00 0C */ beq lbl_8009E0F8 -/* 8009E0F0 0009B030 28 03 00 02 */ cmplwi r3, 2 -/* 8009E0F4 0009B034 40 82 00 08 */ bne lbl_8009E0FC -lbl_8009E0F8: -/* 8009E0F8 0009B038 38 00 00 01 */ li r0, 1 -lbl_8009E0FC: -/* 8009E0FC 0009B03C 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8009E100 0009B040 41 82 00 3C */ beq lbl_8009E13C -/* 8009E104 0009B044 7F 63 DB 78 */ mr r3, r27 -/* 8009E108 0009B048 48 04 ED FD */ bl daAlink_c_NS_checkHorseLieAnime -/* 8009E10C 0009B04C 2C 03 00 00 */ cmpwi r3, 0 -/* 8009E110 0009B050 40 82 00 2C */ bne lbl_8009E13C -/* 8009E114 0009B054 A0 1B 2F E8 */ lhz r0, 0x2fe8(r27) -/* 8009E118 0009B058 28 00 00 4F */ cmplwi r0, 0x4f -/* 8009E11C 0009B05C 41 82 00 20 */ beq lbl_8009E13C -/* 8009E120 0009B060 28 00 00 53 */ cmplwi r0, 0x53 -/* 8009E124 0009B064 41 82 00 18 */ beq lbl_8009E13C -/* 8009E128 0009B068 A8 7B 04 E4 */ lha r3, 0x4e4(r27) -/* 8009E12C 0009B06C A8 1B 05 9C */ lha r0, 0x59c(r27) -/* 8009E130 0009B070 7C 03 00 50 */ subf r0, r3, r0 -/* 8009E134 0009B074 7C 05 07 34 */ extsh r5, r0 -/* 8009E138 0009B078 48 00 00 08 */ b lbl_8009E140 -lbl_8009E13C: -/* 8009E13C 0009B07C A8 BB 05 9C */ lha r5, 0x59c(r27) -lbl_8009E140: -/* 8009E140 0009B080 7C A0 07 35 */ extsh. r0, r5 -/* 8009E144 0009B084 40 82 00 1C */ bne lbl_8009E160 -/* 8009E148 0009B088 A8 1B 30 C8 */ lha r0, 0x30c8(r27) -/* 8009E14C 0009B08C 2C 00 00 00 */ cmpwi r0, 0 -/* 8009E150 0009B090 40 82 00 10 */ bne lbl_8009E160 -/* 8009E154 0009B094 A8 1B 05 A0 */ lha r0, 0x5a0(r27) -/* 8009E158 0009B098 2C 00 00 00 */ cmpwi r0, 0 -/* 8009E15C 0009B09C 41 82 03 40 */ beq lbl_8009E49C -lbl_8009E160: -/* 8009E160 0009B0A0 80 7B 06 50 */ lwz r3, 0x650(r27) -/* 8009E164 0009B0A4 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009E168 0009B0A8 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009E16C 0009B0AC 38 83 00 30 */ addi r4, r3, 0x30 -/* 8009E170 0009B0B0 7F 63 DB 78 */ mr r3, r27 -/* 8009E174 0009B0B4 A8 DB 30 C8 */ lha r6, 0x30c8(r27) -/* 8009E178 0009B0B8 A8 FB 05 A0 */ lha r7, 0x5a0(r27) -/* 8009E17C 0009B0BC 39 00 00 01 */ li r8, 1 -/* 8009E180 0009B0C0 39 20 00 00 */ li r9, 0 -/* 8009E184 0009B0C4 4B FF FA E9 */ bl daAlink_c_NS_setMatrixWorldAxisRot -/* 8009E188 0009B0C8 48 00 03 14 */ b lbl_8009E49C -lbl_8009E18C: -/* 8009E18C 0009B0CC 2C 1F 00 02 */ cmpwi r31, 2 -/* 8009E190 0009B0D0 40 82 00 3C */ bne lbl_8009E1CC -/* 8009E194 0009B0D4 A8 DB 30 C8 */ lha r6, 0x30c8(r27) -/* 8009E198 0009B0D8 7C C0 07 35 */ extsh. r0, r6 -/* 8009E19C 0009B0DC 41 82 03 00 */ beq lbl_8009E49C -/* 8009E1A0 0009B0E0 80 7B 06 50 */ lwz r3, 0x650(r27) -/* 8009E1A4 0009B0E4 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009E1A8 0009B0E8 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009E1AC 0009B0EC 38 83 00 60 */ addi r4, r3, 0x60 -/* 8009E1B0 0009B0F0 7F 63 DB 78 */ mr r3, r27 -/* 8009E1B4 0009B0F4 38 A0 00 00 */ li r5, 0 -/* 8009E1B8 0009B0F8 38 E0 00 00 */ li r7, 0 -/* 8009E1BC 0009B0FC 39 00 00 01 */ li r8, 1 -/* 8009E1C0 0009B100 39 20 00 00 */ li r9, 0 -/* 8009E1C4 0009B104 4B FF FA A9 */ bl daAlink_c_NS_setMatrixWorldAxisRot -/* 8009E1C8 0009B108 48 00 02 D4 */ b lbl_8009E49C -lbl_8009E1CC: -/* 8009E1CC 0009B10C 2C 1F 00 00 */ cmpwi r31, 0 -/* 8009E1D0 0009B110 40 82 01 24 */ bne lbl_8009E2F4 -/* 8009E1D4 0009B114 A0 1B 2F E8 */ lhz r0, 0x2fe8(r27) -/* 8009E1D8 0009B118 28 00 01 3D */ cmplwi r0, 0x13d -/* 8009E1DC 0009B11C 41 82 00 0C */ beq lbl_8009E1E8 -/* 8009E1E0 0009B120 28 00 00 E6 */ cmplwi r0, 0xe6 -/* 8009E1E4 0009B124 40 82 00 1C */ bne lbl_8009E200 -lbl_8009E1E8: -/* 8009E1E8 0009B128 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009E1EC 0009B12C 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 8009E1F0 0009B130 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009E1F4 0009B134 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 8009E1F8 0009B138 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 8009E1FC 0009B13C 48 00 00 50 */ b lbl_8009E24C -lbl_8009E200: -/* 8009E200 0009B140 88 9B 2F 99 */ lbz r4, 0x2f99(r27) -/* 8009E204 0009B144 54 80 07 7F */ clrlwi. r0, r4, 0x1d -/* 8009E208 0009B148 41 82 00 44 */ beq lbl_8009E24C -/* 8009E20C 0009B14C 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009E210 0009B150 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 8009E214 0009B154 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d -/* 8009E218 0009B158 41 82 00 0C */ beq lbl_8009E224 -/* 8009E21C 0009B15C C0 1B 35 90 */ lfs f0, 0x3590(r27) -/* 8009E220 0009B160 D0 03 00 1C */ stfs f0, 0x1c(r3) -lbl_8009E224: -/* 8009E224 0009B164 88 1B 2F 99 */ lbz r0, 0x2f99(r27) -/* 8009E228 0009B168 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 8009E22C 0009B16C 41 82 00 0C */ beq lbl_8009E238 -/* 8009E230 0009B170 C0 1B 35 88 */ lfs f0, 0x3588(r27) -/* 8009E234 0009B174 D0 03 00 14 */ stfs f0, 0x14(r3) -lbl_8009E238: -/* 8009E238 0009B178 88 1B 2F 99 */ lbz r0, 0x2f99(r27) -/* 8009E23C 0009B17C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 8009E240 0009B180 41 82 00 0C */ beq lbl_8009E24C -/* 8009E244 0009B184 C0 1B 33 B0 */ lfs f0, 0x33b0(r27) -/* 8009E248 0009B188 D0 03 00 18 */ stfs f0, 0x18(r3) -lbl_8009E24C: -/* 8009E24C 0009B18C A8 9B 30 82 */ lha r4, 0x3082(r27) -/* 8009E250 0009B190 A8 1B 30 80 */ lha r0, 0x3080(r27) -/* 8009E254 0009B194 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8009E258 0009B198 38 60 00 00 */ li r3, 0 -/* 8009E25C 0009B19C B0 61 00 12 */ sth r3, 0x12(r1) -/* 8009E260 0009B1A0 B0 81 00 14 */ sth r4, 0x14(r1) -/* 8009E264 0009B1A4 38 00 00 02 */ li r0, 2 -/* 8009E268 0009B1A8 B0 01 00 08 */ sth r0, 8(r1) -/* 8009E26C 0009B1AC B0 61 00 0A */ sth r3, 0xa(r1) -/* 8009E270 0009B1B0 38 00 00 01 */ li r0, 1 -/* 8009E274 0009B1B4 B0 01 00 0C */ sth r0, 0xc(r1) -/* 8009E278 0009B1B8 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009E27C 0009B1BC 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 8009E280 0009B1C0 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0 -/* 8009E284 0009B1C4 F0 01 00 78 */ psq_st f0, 120(r1), 0, qr0 -/* 8009E288 0009B1C8 C0 03 00 08 */ lfs f0, 8(r3) -/* 8009E28C 0009B1CC D0 01 00 80 */ stfs f0, 0x80(r1) -/* 8009E290 0009B1D0 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8009E294 0009B1D4 90 01 00 84 */ stw r0, 0x84(r1) -/* 8009E298 0009B1D8 A8 03 00 10 */ lha r0, 0x10(r3) -/* 8009E29C 0009B1DC B0 01 00 88 */ sth r0, 0x88(r1) -/* 8009E2A0 0009B1E0 E0 03 00 14 */ psq_l f0, 20(r3), 0, qr0 -/* 8009E2A4 0009B1E4 F0 01 00 8C */ psq_st f0, 140(r1), 0, qr0 -/* 8009E2A8 0009B1E8 C0 43 00 1C */ lfs f2, 0x1c(r3) -/* 8009E2AC 0009B1EC D0 41 00 94 */ stfs f2, 0x94(r1) -/* 8009E2B0 0009B1F0 63 9C 00 02 */ ori r28, r28, 2 -/* 8009E2B4 0009B1F4 88 1B 2F 99 */ lbz r0, 0x2f99(r27) -/* 8009E2B8 0009B1F8 28 00 00 60 */ cmplwi r0, 0x60 -/* 8009E2BC 0009B1FC 40 82 01 E0 */ bne lbl_8009E49C -/* 8009E2C0 0009B200 C0 21 00 8C */ lfs f1, 0x8c(r1) -/* 8009E2C4 0009B204 80 7B 38 4C */ lwz r3, 0x384c(r27) -/* 8009E2C8 0009B208 C0 03 00 00 */ lfs f0, 0(r3) -/* 8009E2CC 0009B20C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8009E2D0 0009B210 D0 01 00 8C */ stfs f0, 0x8c(r1) -/* 8009E2D4 0009B214 C0 21 00 90 */ lfs f1, 0x90(r1) -/* 8009E2D8 0009B218 C0 03 00 04 */ lfs f0, 4(r3) -/* 8009E2DC 0009B21C EC 01 00 28 */ fsubs f0, f1, f0 -/* 8009E2E0 0009B220 D0 01 00 90 */ stfs f0, 0x90(r1) -/* 8009E2E4 0009B224 C0 03 00 08 */ lfs f0, 8(r3) -/* 8009E2E8 0009B228 EC 02 00 28 */ fsubs f0, f2, f0 -/* 8009E2EC 0009B22C D0 01 00 94 */ stfs f0, 0x94(r1) -/* 8009E2F0 0009B230 48 00 01 AC */ b lbl_8009E49C -lbl_8009E2F4: -/* 8009E2F4 0009B234 2C 1F 00 1B */ cmpwi r31, 0x1b -/* 8009E2F8 0009B238 40 82 00 38 */ bne lbl_8009E330 -/* 8009E2FC 0009B23C 80 7B 06 50 */ lwz r3, 0x650(r27) -/* 8009E300 0009B240 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009E304 0009B244 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009E308 0009B248 1C 1F 00 30 */ mulli r0, r31, 0x30 -/* 8009E30C 0009B24C 7C 83 02 14 */ add r4, r3, r0 -/* 8009E310 0009B250 7F 63 DB 78 */ mr r3, r27 -/* 8009E314 0009B254 A8 BB 29 0A */ lha r5, 0x290a(r27) -/* 8009E318 0009B258 38 C0 00 00 */ li r6, 0 -/* 8009E31C 0009B25C 38 E0 00 00 */ li r7, 0 -/* 8009E320 0009B260 39 00 00 01 */ li r8, 1 -/* 8009E324 0009B264 39 20 00 00 */ li r9, 0 -/* 8009E328 0009B268 4B FF F9 45 */ bl daAlink_c_NS_setMatrixWorldAxisRot -/* 8009E32C 0009B26C 48 00 01 70 */ b lbl_8009E49C -lbl_8009E330: -/* 8009E330 0009B270 2C 1F 00 1D */ cmpwi r31, 0x1d -/* 8009E334 0009B274 40 82 00 38 */ bne lbl_8009E36C -/* 8009E338 0009B278 80 7B 06 50 */ lwz r3, 0x650(r27) -/* 8009E33C 0009B27C 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009E340 0009B280 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009E344 0009B284 1C 1F 00 30 */ mulli r0, r31, 0x30 -/* 8009E348 0009B288 7C 83 02 14 */ add r4, r3, r0 -/* 8009E34C 0009B28C 7F 63 DB 78 */ mr r3, r27 -/* 8009E350 0009B290 A8 BB 29 AE */ lha r5, 0x29ae(r27) -/* 8009E354 0009B294 38 C0 00 00 */ li r6, 0 -/* 8009E358 0009B298 38 E0 00 00 */ li r7, 0 -/* 8009E35C 0009B29C 39 00 00 01 */ li r8, 1 -/* 8009E360 0009B2A0 39 20 00 00 */ li r9, 0 -/* 8009E364 0009B2A4 4B FF F9 09 */ bl daAlink_c_NS_setMatrixWorldAxisRot -/* 8009E368 0009B2A8 48 00 01 34 */ b lbl_8009E49C -lbl_8009E36C: -/* 8009E36C 0009B2AC 2C 1F 00 05 */ cmpwi r31, 5 -/* 8009E370 0009B2B0 40 82 00 90 */ bne lbl_8009E400 -/* 8009E374 0009B2B4 38 00 00 00 */ li r0, 0 -/* 8009E378 0009B2B8 88 7B 2F AA */ lbz r3, 0x2faa(r27) -/* 8009E37C 0009B2BC 28 03 00 01 */ cmplwi r3, 1 -/* 8009E380 0009B2C0 41 82 00 0C */ beq lbl_8009E38C -/* 8009E384 0009B2C4 28 03 00 02 */ cmplwi r3, 2 -/* 8009E388 0009B2C8 40 82 00 08 */ bne lbl_8009E390 -lbl_8009E38C: -/* 8009E38C 0009B2CC 38 00 00 01 */ li r0, 1 -lbl_8009E390: -/* 8009E390 0009B2D0 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8009E394 0009B2D4 41 82 01 08 */ beq lbl_8009E49C -/* 8009E398 0009B2D8 7F 63 DB 78 */ mr r3, r27 -/* 8009E39C 0009B2DC 48 04 06 4D */ bl daAlink_c_NS_checkBowAnime -/* 8009E3A0 0009B2E0 2C 03 00 00 */ cmpwi r3, 0 -/* 8009E3A4 0009B2E4 41 82 00 F8 */ beq lbl_8009E49C -/* 8009E3A8 0009B2E8 3B 80 00 01 */ li r28, 1 -/* 8009E3AC 0009B2EC 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009E3B0 0009B2F0 80 03 00 20 */ lwz r0, 0x20(r3) -/* 8009E3B4 0009B2F4 7C 60 F2 14 */ add r3, r0, r30 -/* 8009E3B8 0009B2F8 C0 03 00 00 */ lfs f0, 0(r3) -/* 8009E3BC 0009B2FC D0 01 00 48 */ stfs f0, 0x48(r1) -/* 8009E3C0 0009B300 C0 03 00 04 */ lfs f0, 4(r3) -/* 8009E3C4 0009B304 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 8009E3C8 0009B308 C0 03 00 08 */ lfs f0, 8(r3) -/* 8009E3CC 0009B30C D0 01 00 50 */ stfs f0, 0x50(r1) -/* 8009E3D0 0009B310 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8009E3D4 0009B314 D0 01 00 54 */ stfs f0, 0x54(r1) -/* 8009E3D8 0009B318 38 60 00 00 */ li r3, 0 -/* 8009E3DC 0009B31C 38 80 00 00 */ li r4, 0 -/* 8009E3E0 0009B320 38 A0 13 88 */ li r5, 0x1388 -/* 8009E3E4 0009B324 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E3E8 0009B328 48 29 B4 91 */ bl JMAEulerToQuat -/* 8009E3EC 0009B32C 38 61 00 48 */ addi r3, r1, 0x48 -/* 8009E3F0 0009B330 38 81 00 38 */ addi r4, r1, 0x38 -/* 8009E3F4 0009B334 38 A1 00 28 */ addi r5, r1, 0x28 -/* 8009E3F8 0009B338 4B F6 E7 65 */ bl mDoMtx_QuatConcat -/* 8009E3FC 0009B33C 48 00 00 A0 */ b lbl_8009E49C -lbl_8009E400: -/* 8009E400 0009B340 2C 1F 00 0D */ cmpwi r31, 0xd -/* 8009E404 0009B344 41 82 00 0C */ beq lbl_8009E410 -/* 8009E408 0009B348 2C 1F 00 0C */ cmpwi r31, 0xc -/* 8009E40C 0009B34C 40 82 00 90 */ bne lbl_8009E49C -lbl_8009E410: -/* 8009E410 0009B350 38 60 00 00 */ li r3, 0 -/* 8009E414 0009B354 A0 1B 1F BC */ lhz r0, 0x1fbc(r27) -/* 8009E418 0009B358 28 00 00 5D */ cmplwi r0, 0x5d -/* 8009E41C 0009B35C 41 82 00 10 */ beq lbl_8009E42C -/* 8009E420 0009B360 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8009E424 0009B364 28 00 02 60 */ cmplwi r0, 0x260 -/* 8009E428 0009B368 40 82 00 08 */ bne lbl_8009E430 -lbl_8009E42C: -/* 8009E42C 0009B36C 38 60 00 01 */ li r3, 1 -lbl_8009E430: -/* 8009E430 0009B370 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8009E434 0009B374 40 82 00 2C */ bne lbl_8009E460 -/* 8009E438 0009B378 7F 63 DB 78 */ mr r3, r27 -/* 8009E43C 0009B37C 38 80 00 E0 */ li r4, 0xe0 -/* 8009E440 0009B380 48 00 E1 19 */ bl daAlink_c_NS_checkUnderMove0BckNoArc -/* 8009E444 0009B384 2C 03 00 00 */ cmpwi r3, 0 -/* 8009E448 0009B388 40 82 00 18 */ bne lbl_8009E460 -/* 8009E44C 0009B38C 7F 63 DB 78 */ mr r3, r27 -/* 8009E450 0009B390 38 80 00 E1 */ li r4, 0xe1 -/* 8009E454 0009B394 48 00 E1 05 */ bl daAlink_c_NS_checkUnderMove0BckNoArc -/* 8009E458 0009B398 2C 03 00 00 */ cmpwi r3, 0 -/* 8009E45C 0009B39C 41 82 00 40 */ beq lbl_8009E49C -lbl_8009E460: -/* 8009E460 0009B3A0 2C 1F 00 0D */ cmpwi r31, 0xd -/* 8009E464 0009B3A4 40 82 00 20 */ bne lbl_8009E484 -/* 8009E468 0009B3A8 A8 1B 31 60 */ lha r0, 0x3160(r27) -/* 8009E46C 0009B3AC B0 01 00 10 */ sth r0, 0x10(r1) -/* 8009E470 0009B3B0 A8 1B 31 62 */ lha r0, 0x3162(r27) -/* 8009E474 0009B3B4 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8009E478 0009B3B8 A8 1B 31 64 */ lha r0, 0x3164(r27) -/* 8009E47C 0009B3BC B0 01 00 14 */ sth r0, 0x14(r1) -/* 8009E480 0009B3C0 48 00 00 1C */ b lbl_8009E49C -lbl_8009E484: -/* 8009E484 0009B3C4 A8 1B 31 5A */ lha r0, 0x315a(r27) -/* 8009E488 0009B3C8 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8009E48C 0009B3CC A8 1B 31 5C */ lha r0, 0x315c(r27) -/* 8009E490 0009B3D0 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8009E494 0009B3D4 A8 1B 31 5E */ lha r0, 0x315e(r27) -/* 8009E498 0009B3D8 B0 01 00 14 */ sth r0, 0x14(r1) -lbl_8009E49C: -/* 8009E49C 0009B3DC A8 01 00 10 */ lha r0, 0x10(r1) -/* 8009E4A0 0009B3E0 2C 00 00 00 */ cmpwi r0, 0 -/* 8009E4A4 0009B3E4 40 82 00 1C */ bne lbl_8009E4C0 -/* 8009E4A8 0009B3E8 A8 01 00 12 */ lha r0, 0x12(r1) -/* 8009E4AC 0009B3EC 2C 00 00 00 */ cmpwi r0, 0 -/* 8009E4B0 0009B3F0 40 82 00 10 */ bne lbl_8009E4C0 -/* 8009E4B4 0009B3F4 A8 01 00 14 */ lha r0, 0x14(r1) -/* 8009E4B8 0009B3F8 2C 00 00 00 */ cmpwi r0, 0 -/* 8009E4BC 0009B3FC 41 82 01 F4 */ beq lbl_8009E6B0 -lbl_8009E4C0: -/* 8009E4C0 0009B400 63 9C 00 01 */ ori r28, r28, 1 -/* 8009E4C4 0009B404 A8 A1 00 12 */ lha r5, 0x12(r1) -/* 8009E4C8 0009B408 7C A0 07 35 */ extsh. r0, r5 -/* 8009E4CC 0009B40C 41 82 00 98 */ beq lbl_8009E564 -/* 8009E4D0 0009B410 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009E4D4 0009B414 80 03 00 20 */ lwz r0, 0x20(r3) -/* 8009E4D8 0009B418 7C 60 F2 14 */ add r3, r0, r30 -/* 8009E4DC 0009B41C C0 03 00 00 */ lfs f0, 0(r3) -/* 8009E4E0 0009B420 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 8009E4E4 0009B424 C0 03 00 04 */ lfs f0, 4(r3) -/* 8009E4E8 0009B428 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 8009E4EC 0009B42C C0 03 00 08 */ lfs f0, 8(r3) -/* 8009E4F0 0009B430 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 8009E4F4 0009B434 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8009E4F8 0009B438 D0 01 00 54 */ stfs f0, 0x54(r1) -/* 8009E4FC 0009B43C A8 61 00 0A */ lha r3, 0xa(r1) -/* 8009E500 0009B440 7C 60 07 35 */ extsh. r0, r3 -/* 8009E504 0009B444 40 82 00 1C */ bne lbl_8009E520 -/* 8009E508 0009B448 7C A3 2B 78 */ mr r3, r5 -/* 8009E50C 0009B44C 38 80 00 00 */ li r4, 0 -/* 8009E510 0009B450 38 A0 00 00 */ li r5, 0 -/* 8009E514 0009B454 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E518 0009B458 48 29 B3 61 */ bl JMAEulerToQuat -/* 8009E51C 0009B45C 48 00 00 34 */ b lbl_8009E550 -lbl_8009E520: -/* 8009E520 0009B460 2C 03 00 01 */ cmpwi r3, 1 -/* 8009E524 0009B464 40 82 00 1C */ bne lbl_8009E540 -/* 8009E528 0009B468 38 60 00 00 */ li r3, 0 -/* 8009E52C 0009B46C 7C A4 2B 78 */ mr r4, r5 -/* 8009E530 0009B470 38 A0 00 00 */ li r5, 0 -/* 8009E534 0009B474 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E538 0009B478 48 29 B3 41 */ bl JMAEulerToQuat -/* 8009E53C 0009B47C 48 00 00 14 */ b lbl_8009E550 -lbl_8009E540: -/* 8009E540 0009B480 38 60 00 00 */ li r3, 0 -/* 8009E544 0009B484 38 80 00 00 */ li r4, 0 -/* 8009E548 0009B488 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E54C 0009B48C 48 29 B3 2D */ bl JMAEulerToQuat -lbl_8009E550: -/* 8009E550 0009B490 38 61 00 48 */ addi r3, r1, 0x48 -/* 8009E554 0009B494 38 81 00 38 */ addi r4, r1, 0x38 -/* 8009E558 0009B498 38 A1 00 28 */ addi r5, r1, 0x28 -/* 8009E55C 0009B49C 4B F6 E6 01 */ bl mDoMtx_QuatConcat -/* 8009E560 0009B4A0 48 00 00 30 */ b lbl_8009E590 -lbl_8009E564: -/* 8009E564 0009B4A4 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009E568 0009B4A8 80 03 00 20 */ lwz r0, 0x20(r3) -/* 8009E56C 0009B4AC 7C 60 F2 14 */ add r3, r0, r30 -/* 8009E570 0009B4B0 C0 03 00 00 */ lfs f0, 0(r3) -/* 8009E574 0009B4B4 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8009E578 0009B4B8 C0 03 00 04 */ lfs f0, 4(r3) -/* 8009E57C 0009B4BC D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 8009E580 0009B4C0 C0 03 00 08 */ lfs f0, 8(r3) -/* 8009E584 0009B4C4 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 8009E588 0009B4C8 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8009E58C 0009B4CC D0 01 00 34 */ stfs f0, 0x34(r1) -lbl_8009E590: -/* 8009E590 0009B4D0 A8 A1 00 10 */ lha r5, 0x10(r1) -/* 8009E594 0009B4D4 7C A0 07 35 */ extsh. r0, r5 -/* 8009E598 0009B4D8 41 82 00 88 */ beq lbl_8009E620 -/* 8009E59C 0009B4DC C0 01 00 28 */ lfs f0, 0x28(r1) -/* 8009E5A0 0009B4E0 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 8009E5A4 0009B4E4 C0 01 00 2C */ lfs f0, 0x2c(r1) -/* 8009E5A8 0009B4E8 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 8009E5AC 0009B4EC C0 01 00 30 */ lfs f0, 0x30(r1) -/* 8009E5B0 0009B4F0 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 8009E5B4 0009B4F4 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 8009E5B8 0009B4F8 D0 01 00 54 */ stfs f0, 0x54(r1) -/* 8009E5BC 0009B4FC A8 61 00 08 */ lha r3, 8(r1) -/* 8009E5C0 0009B500 7C 60 07 35 */ extsh. r0, r3 -/* 8009E5C4 0009B504 40 82 00 1C */ bne lbl_8009E5E0 -/* 8009E5C8 0009B508 7C A3 2B 78 */ mr r3, r5 -/* 8009E5CC 0009B50C 38 80 00 00 */ li r4, 0 -/* 8009E5D0 0009B510 38 A0 00 00 */ li r5, 0 -/* 8009E5D4 0009B514 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E5D8 0009B518 48 29 B2 A1 */ bl JMAEulerToQuat -/* 8009E5DC 0009B51C 48 00 00 34 */ b lbl_8009E610 -lbl_8009E5E0: -/* 8009E5E0 0009B520 2C 03 00 01 */ cmpwi r3, 1 -/* 8009E5E4 0009B524 40 82 00 1C */ bne lbl_8009E600 -/* 8009E5E8 0009B528 38 60 00 00 */ li r3, 0 -/* 8009E5EC 0009B52C 7C A4 2B 78 */ mr r4, r5 -/* 8009E5F0 0009B530 38 A0 00 00 */ li r5, 0 -/* 8009E5F4 0009B534 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E5F8 0009B538 48 29 B2 81 */ bl JMAEulerToQuat -/* 8009E5FC 0009B53C 48 00 00 14 */ b lbl_8009E610 -lbl_8009E600: -/* 8009E600 0009B540 38 60 00 00 */ li r3, 0 -/* 8009E604 0009B544 38 80 00 00 */ li r4, 0 -/* 8009E608 0009B548 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E60C 0009B54C 48 29 B2 6D */ bl JMAEulerToQuat -lbl_8009E610: -/* 8009E610 0009B550 38 61 00 48 */ addi r3, r1, 0x48 -/* 8009E614 0009B554 38 81 00 38 */ addi r4, r1, 0x38 -/* 8009E618 0009B558 38 A1 00 28 */ addi r5, r1, 0x28 -/* 8009E61C 0009B55C 4B F6 E5 41 */ bl mDoMtx_QuatConcat -lbl_8009E620: -/* 8009E620 0009B560 A8 A1 00 14 */ lha r5, 0x14(r1) -/* 8009E624 0009B564 7C A0 07 35 */ extsh. r0, r5 -/* 8009E628 0009B568 41 82 00 88 */ beq lbl_8009E6B0 -/* 8009E62C 0009B56C C0 01 00 28 */ lfs f0, 0x28(r1) -/* 8009E630 0009B570 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 8009E634 0009B574 C0 01 00 2C */ lfs f0, 0x2c(r1) -/* 8009E638 0009B578 D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 8009E63C 0009B57C C0 01 00 30 */ lfs f0, 0x30(r1) -/* 8009E640 0009B580 D0 01 00 50 */ stfs f0, 0x50(r1) -/* 8009E644 0009B584 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 8009E648 0009B588 D0 01 00 54 */ stfs f0, 0x54(r1) -/* 8009E64C 0009B58C A8 61 00 0C */ lha r3, 0xc(r1) -/* 8009E650 0009B590 7C 60 07 35 */ extsh. r0, r3 -/* 8009E654 0009B594 40 82 00 1C */ bne lbl_8009E670 -/* 8009E658 0009B598 7C A3 2B 78 */ mr r3, r5 -/* 8009E65C 0009B59C 38 80 00 00 */ li r4, 0 -/* 8009E660 0009B5A0 38 A0 00 00 */ li r5, 0 -/* 8009E664 0009B5A4 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E668 0009B5A8 48 29 B2 11 */ bl JMAEulerToQuat -/* 8009E66C 0009B5AC 48 00 00 34 */ b lbl_8009E6A0 -lbl_8009E670: -/* 8009E670 0009B5B0 2C 03 00 01 */ cmpwi r3, 1 -/* 8009E674 0009B5B4 40 82 00 1C */ bne lbl_8009E690 -/* 8009E678 0009B5B8 38 60 00 00 */ li r3, 0 -/* 8009E67C 0009B5BC 7C A4 2B 78 */ mr r4, r5 -/* 8009E680 0009B5C0 38 A0 00 00 */ li r5, 0 -/* 8009E684 0009B5C4 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E688 0009B5C8 48 29 B1 F1 */ bl JMAEulerToQuat -/* 8009E68C 0009B5CC 48 00 00 14 */ b lbl_8009E6A0 -lbl_8009E690: -/* 8009E690 0009B5D0 38 60 00 00 */ li r3, 0 -/* 8009E694 0009B5D4 38 80 00 00 */ li r4, 0 -/* 8009E698 0009B5D8 38 C1 00 38 */ addi r6, r1, 0x38 -/* 8009E69C 0009B5DC 48 29 B1 DD */ bl JMAEulerToQuat -lbl_8009E6A0: -/* 8009E6A0 0009B5E0 38 61 00 48 */ addi r3, r1, 0x48 -/* 8009E6A4 0009B5E4 38 81 00 38 */ addi r4, r1, 0x38 -/* 8009E6A8 0009B5E8 38 A1 00 28 */ addi r5, r1, 0x28 -/* 8009E6AC 0009B5EC 4B F6 E4 B1 */ bl mDoMtx_QuatConcat -lbl_8009E6B0: -/* 8009E6B0 0009B5F0 2C 1C 00 00 */ cmpwi r28, 0 -/* 8009E6B4 0009B5F4 41 82 00 E8 */ beq lbl_8009E79C -/* 8009E6B8 0009B5F8 80 7B 06 50 */ lwz r3, 0x650(r27) -/* 8009E6BC 0009B5FC 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009E6C0 0009B600 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009E6C4 0009B604 1C 1F 00 30 */ mulli r0, r31, 0x30 -/* 8009E6C8 0009B608 7F E3 02 14 */ add r31, r3, r0 -/* 8009E6CC 0009B60C 57 80 07 BD */ rlwinm. r0, r28, 0, 0x1e, 0x1e -/* 8009E6D0 0009B610 41 82 00 0C */ beq lbl_8009E6DC -/* 8009E6D4 0009B614 3B A1 00 78 */ addi r29, r1, 0x78 -/* 8009E6D8 0009B618 48 00 00 14 */ b lbl_8009E6EC -lbl_8009E6DC: -/* 8009E6DC 0009B61C 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009E6E0 0009B620 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 8009E6E4 0009B624 7C 00 EA 14 */ add r0, r0, r29 -/* 8009E6E8 0009B628 7C 1D 03 78 */ mr r29, r0 -lbl_8009E6EC: -/* 8009E6EC 0009B62C 57 80 07 FF */ clrlwi. r0, r28, 0x1f -/* 8009E6F0 0009B630 41 82 00 0C */ beq lbl_8009E6FC -/* 8009E6F4 0009B634 3B 61 00 28 */ addi r27, r1, 0x28 -/* 8009E6F8 0009B638 48 00 00 14 */ b lbl_8009E70C -lbl_8009E6FC: -/* 8009E6FC 0009B63C 80 7B 20 60 */ lwz r3, 0x2060(r27) -/* 8009E700 0009B640 80 03 00 20 */ lwz r0, 0x20(r3) -/* 8009E704 0009B644 7C 00 F2 14 */ add r0, r0, r30 -/* 8009E708 0009B648 7C 1B 03 78 */ mr r27, r0 -lbl_8009E70C: -/* 8009E70C 0009B64C 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009E710 0009B650 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009E714 0009B654 C0 21 00 6C */ lfs f1, 0x6c(r1) -/* 8009E718 0009B658 C0 41 00 70 */ lfs f2, 0x70(r1) -/* 8009E71C 0009B65C C0 61 00 74 */ lfs f3, 0x74(r1) -/* 8009E720 0009B660 48 2A 81 C9 */ bl PSMTXTrans -/* 8009E724 0009B664 38 61 00 18 */ addi r3, r1, 0x18 -/* 8009E728 0009B668 4B F6 E8 55 */ bl mDoMtx_stack_c_NS_quatM -/* 8009E72C 0009B66C 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009E730 0009B670 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009E734 0009B674 7C 64 1B 78 */ mr r4, r3 -/* 8009E738 0009B678 48 2A 7E 79 */ bl PSMTXInverse -/* 8009E73C 0009B67C 7F E3 FB 78 */ mr r3, r31 -/* 8009E740 0009B680 3C 80 80 3E */ lis r4, lbl_803DD470@ha -/* 8009E744 0009B684 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l -/* 8009E748 0009B688 3C A0 80 43 */ lis r5, lbl_80434BE4@ha -/* 8009E74C 0009B68C 38 A5 4B E4 */ addi r5, r5, lbl_80434BE4@l -/* 8009E750 0009B690 48 2A 7D 95 */ bl PSMTXConcat -/* 8009E754 0009B694 7F E3 FB 78 */ mr r3, r31 -/* 8009E758 0009B698 7F 64 DB 78 */ mr r4, r27 -/* 8009E75C 0009B69C 48 2A 82 8D */ bl PSMTXQuat -/* 8009E760 0009B6A0 C0 1D 00 14 */ lfs f0, 0x14(r29) -/* 8009E764 0009B6A4 D0 1F 00 0C */ stfs f0, 0xc(r31) -/* 8009E768 0009B6A8 C0 1D 00 18 */ lfs f0, 0x18(r29) -/* 8009E76C 0009B6AC D0 1F 00 1C */ stfs f0, 0x1c(r31) -/* 8009E770 0009B6B0 C0 1D 00 1C */ lfs f0, 0x1c(r29) -/* 8009E774 0009B6B4 D0 1F 00 2C */ stfs f0, 0x2c(r31) -/* 8009E778 0009B6B8 3C 60 80 43 */ lis r3, lbl_80434BE4@ha -/* 8009E77C 0009B6BC 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l -/* 8009E780 0009B6C0 7F E4 FB 78 */ mr r4, r31 -/* 8009E784 0009B6C4 7C 65 1B 78 */ mr r5, r3 -/* 8009E788 0009B6C8 48 2A 7D 5D */ bl PSMTXConcat -/* 8009E78C 0009B6CC 3C 60 80 43 */ lis r3, lbl_80434BE4@ha -/* 8009E790 0009B6D0 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l -/* 8009E794 0009B6D4 7F E4 FB 78 */ mr r4, r31 -/* 8009E798 0009B6D8 48 2A 7D 19 */ bl PSMTXCopy -lbl_8009E79C: -/* 8009E79C 0009B6DC 38 60 00 01 */ li r3, 1 -/* 8009E7A0 0009B6E0 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 8009E7A4 0009B6E4 48 2C 3A 7D */ bl _restgpr_27 -/* 8009E7A8 0009B6E8 80 01 00 B4 */ lwz r0, 0xb4(r1) -/* 8009E7AC 0009B6EC 7C 08 03 A6 */ mtlr r0 -/* 8009E7B0 0009B6F0 38 21 00 B0 */ addi r1, r1, 0xb0 -/* 8009E7B4 0009B6F4 4E 80 00 20 */ blr - -.global daAlink_c_NS_setUpperFront -daAlink_c_NS_setUpperFront: -/* 8009E7B8 0009B6F8 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8009E7BC 0009B6FC 7C 08 02 A6 */ mflr r0 -/* 8009E7C0 0009B700 90 01 00 44 */ stw r0, 0x44(r1) -/* 8009E7C4 0009B704 93 E1 00 3C */ stw r31, 0x3c(r1) -/* 8009E7C8 0009B708 7C 7F 1B 78 */ mr r31, r3 -/* 8009E7CC 0009B70C 38 00 00 00 */ li r0, 0 -/* 8009E7D0 0009B710 88 63 2F AA */ lbz r3, 0x2faa(r3) -/* 8009E7D4 0009B714 28 03 00 01 */ cmplwi r3, 1 -/* 8009E7D8 0009B718 41 82 00 0C */ beq lbl_8009E7E4 -/* 8009E7DC 0009B71C 28 03 00 02 */ cmplwi r3, 2 -/* 8009E7E0 0009B720 40 82 00 08 */ bne lbl_8009E7E8 -lbl_8009E7E4: -/* 8009E7E4 0009B724 38 00 00 01 */ li r0, 1 -lbl_8009E7E8: -/* 8009E7E8 0009B728 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8009E7EC 0009B72C 41 82 00 14 */ beq lbl_8009E800 -/* 8009E7F0 0009B730 7F E3 FB 78 */ mr r3, r31 -/* 8009E7F4 0009B734 48 01 C7 8D */ bl daAlink_c_NS_checkUpperReadyThrowAnime -/* 8009E7F8 0009B738 2C 03 00 00 */ cmpwi r3, 0 -/* 8009E7FC 0009B73C 40 82 00 30 */ bne lbl_8009E82C -lbl_8009E800: -/* 8009E800 0009B740 7F E3 FB 78 */ mr r3, r31 -/* 8009E804 0009B744 81 9F 06 28 */ lwz r12, 0x628(r31) -/* 8009E808 0009B748 81 8C 01 94 */ lwz r12, 0x194(r12) -/* 8009E80C 0009B74C 7D 89 03 A6 */ mtctr r12 -/* 8009E810 0009B750 4E 80 04 21 */ bctrl -/* 8009E814 0009B754 28 03 00 00 */ cmplwi r3, 0 -/* 8009E818 0009B758 41 82 00 F0 */ beq lbl_8009E908 -/* 8009E81C 0009B75C 7F E3 FB 78 */ mr r3, r31 -/* 8009E820 0009B760 48 01 AA 35 */ bl daAlink_c_NS_checkNoUpperAnime -/* 8009E824 0009B764 2C 03 00 00 */ cmpwi r3, 0 -/* 8009E828 0009B768 40 82 00 E0 */ bne lbl_8009E908 -lbl_8009E82C: -/* 8009E82C 0009B76C 3C 60 80 43 */ lis r3, lbl_80434BE4@ha -/* 8009E830 0009B770 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l -/* 8009E834 0009B774 38 9F 2C 18 */ addi r4, r31, 0x2c18 -/* 8009E838 0009B778 48 2A 7C 79 */ bl PSMTXCopy -/* 8009E83C 0009B77C 80 7F 1F 54 */ lwz r3, 0x1f54(r31) -/* 8009E840 0009B780 28 03 00 00 */ cmplwi r3, 0 -/* 8009E844 0009B784 41 82 00 80 */ beq lbl_8009E8C4 -/* 8009E848 0009B788 38 80 00 00 */ li r4, 0 -/* 8009E84C 0009B78C 38 A1 00 18 */ addi r5, r1, 0x18 -/* 8009E850 0009B790 81 83 00 00 */ lwz r12, 0(r3) -/* 8009E854 0009B794 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8009E858 0009B798 7D 89 03 A6 */ mtctr r12 -/* 8009E85C 0009B79C 4E 80 04 21 */ bctrl -/* 8009E860 0009B7A0 A8 61 00 24 */ lha r3, 0x24(r1) -/* 8009E864 0009B7A4 A8 81 00 26 */ lha r4, 0x26(r1) -/* 8009E868 0009B7A8 A8 A1 00 28 */ lha r5, 0x28(r1) -/* 8009E86C 0009B7AC 38 C1 00 08 */ addi r6, r1, 8 -/* 8009E870 0009B7B0 48 29 B0 09 */ bl JMAEulerToQuat -/* 8009E874 0009B7B4 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009E878 0009B7B8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009E87C 0009B7BC 38 81 00 08 */ addi r4, r1, 8 -/* 8009E880 0009B7C0 48 2A 81 69 */ bl PSMTXQuat -/* 8009E884 0009B7C4 80 7F 06 50 */ lwz r3, 0x650(r31) -/* 8009E888 0009B7C8 38 63 00 24 */ addi r3, r3, 0x24 -/* 8009E88C 0009B7CC 3C 80 80 3E */ lis r4, lbl_803DD470@ha -/* 8009E890 0009B7D0 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l -/* 8009E894 0009B7D4 3C A0 80 43 */ lis r5, lbl_80434BE4@ha -/* 8009E898 0009B7D8 38 A5 4B E4 */ addi r5, r5, lbl_80434BE4@l -/* 8009E89C 0009B7DC 48 2A 7C 49 */ bl PSMTXConcat -/* 8009E8A0 0009B7E0 C0 1F 2C 24 */ lfs f0, 0x2c24(r31) -/* 8009E8A4 0009B7E4 3C 60 80 43 */ lis r3, lbl_80434BE4@ha -/* 8009E8A8 0009B7E8 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l -/* 8009E8AC 0009B7EC D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8009E8B0 0009B7F0 C0 1F 2C 34 */ lfs f0, 0x2c34(r31) -/* 8009E8B4 0009B7F4 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 8009E8B8 0009B7F8 C0 1F 2C 44 */ lfs f0, 0x2c44(r31) -/* 8009E8BC 0009B7FC D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 8009E8C0 0009B800 48 00 00 40 */ b lbl_8009E900 -lbl_8009E8C4: -/* 8009E8C4 0009B804 80 7F 20 60 */ lwz r3, 0x2060(r31) -/* 8009E8C8 0009B808 80 83 00 20 */ lwz r4, 0x20(r3) -/* 8009E8CC 0009B80C 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009E8D0 0009B810 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009E8D4 0009B814 48 2A 81 15 */ bl PSMTXQuat -/* 8009E8D8 0009B818 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009E8DC 0009B81C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009E8E0 0009B820 7C 64 1B 78 */ mr r4, r3 -/* 8009E8E4 0009B824 48 2A 7C CD */ bl PSMTXInverse -/* 8009E8E8 0009B828 3C 60 80 43 */ lis r3, lbl_80434BE4@ha -/* 8009E8EC 0009B82C 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l -/* 8009E8F0 0009B830 3C 80 80 3E */ lis r4, lbl_803DD470@ha -/* 8009E8F4 0009B834 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l -/* 8009E8F8 0009B838 7C 65 1B 78 */ mr r5, r3 -/* 8009E8FC 0009B83C 48 2A 7B E9 */ bl PSMTXConcat -lbl_8009E900: -/* 8009E900 0009B840 38 00 00 01 */ li r0, 1 -/* 8009E904 0009B844 98 1F 2F 90 */ stb r0, 0x2f90(r31) -lbl_8009E908: -/* 8009E908 0009B848 83 E1 00 3C */ lwz r31, 0x3c(r1) -/* 8009E90C 0009B84C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8009E910 0009B850 7C 08 03 A6 */ mtlr r0 -/* 8009E914 0009B854 38 21 00 40 */ addi r1, r1, 0x40 -/* 8009E918 0009B858 4E 80 00 20 */ blr - -.global daAlink_c_NS_changeBlendRate -daAlink_c_NS_changeBlendRate: -/* 8009E91C 0009B85C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009E920 0009B860 7C 08 02 A6 */ mflr r0 -/* 8009E924 0009B864 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009E928 0009B868 88 03 2F B6 */ lbz r0, 0x2fb6(r3) -/* 8009E92C 0009B86C 28 00 00 05 */ cmplwi r0, 5 -/* 8009E930 0009B870 40 82 00 54 */ bne lbl_8009E984 -/* 8009E934 0009B874 2C 04 00 00 */ cmpwi r4, 0 -/* 8009E938 0009B878 40 82 00 10 */ bne lbl_8009E948 -/* 8009E93C 0009B87C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009E940 0009B880 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009E944 0009B884 48 00 01 C4 */ b lbl_8009EB08 -lbl_8009E948: -/* 8009E948 0009B888 2C 04 00 05 */ cmpwi r4, 5 -/* 8009E94C 0009B88C 40 82 00 10 */ bne lbl_8009E95C -/* 8009E950 0009B890 C0 03 34 44 */ lfs f0, 0x3444(r3) -/* 8009E954 0009B894 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009E958 0009B898 48 00 01 B0 */ b lbl_8009EB08 -lbl_8009E95C: -/* 8009E95C 0009B89C 2C 04 00 0A */ cmpwi r4, 0xa -/* 8009E960 0009B8A0 40 82 00 10 */ bne lbl_8009E970 -/* 8009E964 0009B8A4 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009E968 0009B8A8 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009E96C 0009B8AC 48 00 01 9C */ b lbl_8009EB08 -lbl_8009E970: -/* 8009E970 0009B8B0 2C 04 00 0F */ cmpwi r4, 0xf -/* 8009E974 0009B8B4 40 82 01 94 */ bne lbl_8009EB08 -/* 8009E978 0009B8B8 C0 03 34 44 */ lfs f0, 0x3444(r3) -/* 8009E97C 0009B8BC D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009E980 0009B8C0 48 00 01 88 */ b lbl_8009EB08 -lbl_8009E984: -/* 8009E984 0009B8C4 28 00 00 01 */ cmplwi r0, 1 -/* 8009E988 0009B8C8 40 82 00 2C */ bne lbl_8009E9B4 -/* 8009E98C 0009B8CC 2C 04 00 00 */ cmpwi r4, 0 -/* 8009E990 0009B8D0 40 82 00 10 */ bne lbl_8009E9A0 -/* 8009E994 0009B8D4 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009E998 0009B8D8 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009E99C 0009B8DC 48 00 01 6C */ b lbl_8009EB08 -lbl_8009E9A0: -/* 8009E9A0 0009B8E0 2C 04 00 05 */ cmpwi r4, 5 -/* 8009E9A4 0009B8E4 40 82 01 64 */ bne lbl_8009EB08 -/* 8009E9A8 0009B8E8 C0 03 34 44 */ lfs f0, 0x3444(r3) -/* 8009E9AC 0009B8EC D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009E9B0 0009B8F0 48 00 01 58 */ b lbl_8009EB08 -lbl_8009E9B4: -/* 8009E9B4 0009B8F4 28 00 00 02 */ cmplwi r0, 2 -/* 8009E9B8 0009B8F8 40 82 00 2C */ bne lbl_8009E9E4 -/* 8009E9BC 0009B8FC 2C 04 00 0A */ cmpwi r4, 0xa -/* 8009E9C0 0009B900 40 82 00 10 */ bne lbl_8009E9D0 -/* 8009E9C4 0009B904 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009E9C8 0009B908 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009E9CC 0009B90C 48 00 01 3C */ b lbl_8009EB08 -lbl_8009E9D0: -/* 8009E9D0 0009B910 2C 04 00 0F */ cmpwi r4, 0xf -/* 8009E9D4 0009B914 40 82 01 34 */ bne lbl_8009EB08 -/* 8009E9D8 0009B918 C0 03 34 44 */ lfs f0, 0x3444(r3) -/* 8009E9DC 0009B91C D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009E9E0 0009B920 48 00 01 28 */ b lbl_8009EB08 -lbl_8009E9E4: -/* 8009E9E4 0009B924 28 00 00 03 */ cmplwi r0, 3 -/* 8009E9E8 0009B928 40 82 00 2C */ bne lbl_8009EA14 -/* 8009E9EC 0009B92C 2C 04 00 04 */ cmpwi r4, 4 -/* 8009E9F0 0009B930 40 82 00 10 */ bne lbl_8009EA00 -/* 8009E9F4 0009B934 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009E9F8 0009B938 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009E9FC 0009B93C 48 00 01 0C */ b lbl_8009EB08 -lbl_8009EA00: -/* 8009EA00 0009B940 2C 04 00 05 */ cmpwi r4, 5 -/* 8009EA04 0009B944 40 82 01 04 */ bne lbl_8009EB08 -/* 8009EA08 0009B948 C0 03 34 44 */ lfs f0, 0x3444(r3) -/* 8009EA0C 0009B94C D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009EA10 0009B950 48 00 00 F8 */ b lbl_8009EB08 -lbl_8009EA14: -/* 8009EA14 0009B954 28 00 00 07 */ cmplwi r0, 7 -/* 8009EA18 0009B958 40 82 00 54 */ bne lbl_8009EA6C -/* 8009EA1C 0009B95C 2C 04 00 00 */ cmpwi r4, 0 -/* 8009EA20 0009B960 40 82 00 10 */ bne lbl_8009EA30 -/* 8009EA24 0009B964 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009EA28 0009B968 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009EA2C 0009B96C 48 00 00 DC */ b lbl_8009EB08 -lbl_8009EA30: -/* 8009EA30 0009B970 2C 04 00 04 */ cmpwi r4, 4 -/* 8009EA34 0009B974 40 82 00 10 */ bne lbl_8009EA44 -/* 8009EA38 0009B978 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009EA3C 0009B97C D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009EA40 0009B980 48 00 00 C8 */ b lbl_8009EB08 -lbl_8009EA44: -/* 8009EA44 0009B984 2C 04 00 05 */ cmpwi r4, 5 -/* 8009EA48 0009B988 40 82 00 10 */ bne lbl_8009EA58 -/* 8009EA4C 0009B98C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009EA50 0009B990 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009EA54 0009B994 48 00 00 B4 */ b lbl_8009EB08 -lbl_8009EA58: -/* 8009EA58 0009B998 2C 04 00 0F */ cmpwi r4, 0xf -/* 8009EA5C 0009B99C 40 82 00 AC */ bne lbl_8009EB08 -/* 8009EA60 0009B9A0 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009EA64 0009B9A4 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009EA68 0009B9A8 48 00 00 A0 */ b lbl_8009EB08 -lbl_8009EA6C: -/* 8009EA6C 0009B9AC 28 00 00 06 */ cmplwi r0, 6 -/* 8009EA70 0009B9B0 40 82 00 2C */ bne lbl_8009EA9C -/* 8009EA74 0009B9B4 2C 04 00 04 */ cmpwi r4, 4 -/* 8009EA78 0009B9B8 40 82 00 10 */ bne lbl_8009EA88 -/* 8009EA7C 0009B9BC C0 22 92 B8 */ lfs f1, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009EA80 0009B9C0 48 00 DC B9 */ bl daAlink_c_NS_setDoubleAnimeBlendRatio -/* 8009EA84 0009B9C4 48 00 00 84 */ b lbl_8009EB08 -lbl_8009EA88: -/* 8009EA88 0009B9C8 2C 04 00 05 */ cmpwi r4, 5 -/* 8009EA8C 0009B9CC 40 82 00 7C */ bne lbl_8009EB08 -/* 8009EA90 0009B9D0 C0 22 92 C0 */ lfs f1, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009EA94 0009B9D4 48 00 DC A5 */ bl daAlink_c_NS_setDoubleAnimeBlendRatio -/* 8009EA98 0009B9D8 48 00 00 70 */ b lbl_8009EB08 -lbl_8009EA9C: -/* 8009EA9C 0009B9DC 28 00 00 08 */ cmplwi r0, 8 -/* 8009EAA0 0009B9E0 40 82 00 3C */ bne lbl_8009EADC -/* 8009EAA4 0009B9E4 2C 04 00 04 */ cmpwi r4, 4 -/* 8009EAA8 0009B9E8 40 82 00 18 */ bne lbl_8009EAC0 -/* 8009EAAC 0009B9EC C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009EAB0 0009B9F0 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009EAB4 0009B9F4 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009EAB8 0009B9F8 D0 03 1F 48 */ stfs f0, 0x1f48(r3) -/* 8009EABC 0009B9FC 48 00 00 4C */ b lbl_8009EB08 -lbl_8009EAC0: -/* 8009EAC0 0009BA00 2C 04 00 05 */ cmpwi r4, 5 -/* 8009EAC4 0009BA04 40 82 00 44 */ bne lbl_8009EB08 -/* 8009EAC8 0009BA08 C0 03 34 44 */ lfs f0, 0x3444(r3) -/* 8009EACC 0009BA0C D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009EAD0 0009BA10 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009EAD4 0009BA14 D0 03 1F 48 */ stfs f0, 0x1f48(r3) -/* 8009EAD8 0009BA18 48 00 00 30 */ b lbl_8009EB08 -lbl_8009EADC: -/* 8009EADC 0009BA1C 28 00 00 04 */ cmplwi r0, 4 -/* 8009EAE0 0009BA20 40 82 00 28 */ bne lbl_8009EB08 -/* 8009EAE4 0009BA24 2C 04 00 00 */ cmpwi r4, 0 -/* 8009EAE8 0009BA28 40 82 00 10 */ bne lbl_8009EAF8 -/* 8009EAEC 0009BA2C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009EAF0 0009BA30 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -/* 8009EAF4 0009BA34 48 00 00 14 */ b lbl_8009EB08 -lbl_8009EAF8: -/* 8009EAF8 0009BA38 2C 04 00 0D */ cmpwi r4, 0xd -/* 8009EAFC 0009BA3C 40 82 00 0C */ bne lbl_8009EB08 -/* 8009EB00 0009BA40 C0 03 34 44 */ lfs f0, 0x3444(r3) -/* 8009EB04 0009BA44 D0 03 1F 50 */ stfs f0, 0x1f50(r3) -lbl_8009EB08: -/* 8009EB08 0009BA48 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009EB0C 0009BA4C 7C 08 03 A6 */ mtlr r0 -/* 8009EB10 0009BA50 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009EB14 0009BA54 4E 80 00 20 */ blr - -.global daAlink_c_NS_resetRootMtx -daAlink_c_NS_resetRootMtx: -/* 8009EB18 0009BA58 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009EB1C 0009BA5C 7C 08 02 A6 */ mflr r0 -/* 8009EB20 0009BA60 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009EB24 0009BA64 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8009EB28 0009BA68 7C 7F 1B 78 */ mr r31, r3 -/* 8009EB2C 0009BA6C 38 7F 2C 18 */ addi r3, r31, 0x2c18 -/* 8009EB30 0009BA70 3C 80 80 43 */ lis r4, lbl_80434BE4@ha -/* 8009EB34 0009BA74 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l -/* 8009EB38 0009BA78 48 2A 79 79 */ bl PSMTXCopy -/* 8009EB3C 0009BA7C 38 00 00 00 */ li r0, 0 -/* 8009EB40 0009BA80 98 1F 2F 90 */ stb r0, 0x2f90(r31) -/* 8009EB44 0009BA84 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8009EB48 0009BA88 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009EB4C 0009BA8C 7C 08 03 A6 */ mtlr r0 -/* 8009EB50 0009BA90 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009EB54 0009BA94 4E 80 00 20 */ blr - -.global daAlink_c_NS_modelCallBack -daAlink_c_NS_modelCallBack: -/* 8009EB58 0009BA98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009EB5C 0009BA9C 7C 08 02 A6 */ mflr r0 -/* 8009EB60 0009BAA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009EB64 0009BAA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8009EB68 0009BAA8 93 C1 00 08 */ stw r30, 8(r1) -/* 8009EB6C 0009BAAC 7C 7E 1B 78 */ mr r30, r3 -/* 8009EB70 0009BAB0 7C 9F 23 78 */ mr r31, r4 -/* 8009EB74 0009BAB4 4B FF F2 1D */ bl daAlink_c_NS_jointControll -/* 8009EB78 0009BAB8 2C 1F 00 00 */ cmpwi r31, 0 -/* 8009EB7C 0009BABC 40 82 00 10 */ bne lbl_8009EB8C -/* 8009EB80 0009BAC0 7F C3 F3 78 */ mr r3, r30 -/* 8009EB84 0009BAC4 4B FF FC 35 */ bl daAlink_c_NS_setUpperFront -/* 8009EB88 0009BAC8 48 00 00 40 */ b lbl_8009EBC8 -lbl_8009EB8C: -/* 8009EB8C 0009BACC 2C 1F 00 1A */ cmpwi r31, 0x1a -/* 8009EB90 0009BAD0 40 82 00 38 */ bne lbl_8009EBC8 -/* 8009EB94 0009BAD4 38 00 00 00 */ li r0, 0 -/* 8009EB98 0009BAD8 88 7E 05 6A */ lbz r3, 0x56a(r30) -/* 8009EB9C 0009BADC 28 03 00 00 */ cmplwi r3, 0 -/* 8009EBA0 0009BAE0 41 82 00 10 */ beq lbl_8009EBB0 -/* 8009EBA4 0009BAE4 28 03 00 26 */ cmplwi r3, 0x26 -/* 8009EBA8 0009BAE8 40 80 00 08 */ bge lbl_8009EBB0 -/* 8009EBAC 0009BAEC 38 00 00 01 */ li r0, 1 -lbl_8009EBB0: -/* 8009EBB0 0009BAF0 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 8009EBB4 0009BAF4 40 82 00 0C */ bne lbl_8009EBC0 -/* 8009EBB8 0009BAF8 7F C3 F3 78 */ mr r3, r30 -/* 8009EBBC 0009BAFC 48 00 3E 21 */ bl daAlink_c_NS_setFootMatrix -lbl_8009EBC0: -/* 8009EBC0 0009BB00 7F C3 F3 78 */ mr r3, r30 -/* 8009EBC4 0009BB04 48 00 3B 4D */ bl daAlink_c_NS_setArmMatrix -lbl_8009EBC8: -/* 8009EBC8 0009BB08 88 1E 2F B6 */ lbz r0, 0x2fb6(r30) -/* 8009EBCC 0009BB0C 28 00 00 00 */ cmplwi r0, 0 -/* 8009EBD0 0009BB10 41 82 00 3C */ beq lbl_8009EC0C -/* 8009EBD4 0009BB14 2C 1F 00 00 */ cmpwi r31, 0 -/* 8009EBD8 0009BB18 41 82 00 28 */ beq lbl_8009EC00 -/* 8009EBDC 0009BB1C 2C 1F 00 0A */ cmpwi r31, 0xa -/* 8009EBE0 0009BB20 41 82 00 20 */ beq lbl_8009EC00 -/* 8009EBE4 0009BB24 38 1F FF FC */ addi r0, r31, -4 -/* 8009EBE8 0009BB28 28 00 00 01 */ cmplwi r0, 1 -/* 8009EBEC 0009BB2C 40 81 00 14 */ ble lbl_8009EC00 -/* 8009EBF0 0009BB30 2C 1F 00 0D */ cmpwi r31, 0xd -/* 8009EBF4 0009BB34 41 82 00 0C */ beq lbl_8009EC00 -/* 8009EBF8 0009BB38 2C 1F 00 0F */ cmpwi r31, 0xf -/* 8009EBFC 0009BB3C 40 82 00 10 */ bne lbl_8009EC0C -lbl_8009EC00: -/* 8009EC00 0009BB40 7F C3 F3 78 */ mr r3, r30 -/* 8009EC04 0009BB44 7F E4 FB 78 */ mr r4, r31 -/* 8009EC08 0009BB48 4B FF FD 15 */ bl daAlink_c_NS_changeBlendRate -lbl_8009EC0C: -/* 8009EC0C 0009BB4C 38 60 00 01 */ li r3, 1 -/* 8009EC10 0009BB50 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8009EC14 0009BB54 83 C1 00 08 */ lwz r30, 8(r1) -/* 8009EC18 0009BB58 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009EC1C 0009BB5C 7C 08 03 A6 */ mtlr r0 -/* 8009EC20 0009BB60 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009EC24 0009BB64 4E 80 00 20 */ blr -.global daAlink_modelCallBack -daAlink_modelCallBack: -/* 8009EC28 0009BB68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009EC2C 0009BB6C 7C 08 02 A6 */ mflr r0 -/* 8009EC30 0009BB70 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009EC34 0009BB74 A0 A3 00 14 */ lhz r5, 0x14(r3) -/* 8009EC38 0009BB78 3C 60 80 43 */ lis r3, lbl_80434AC8@ha -/* 8009EC3C 0009BB7C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l -/* 8009EC40 0009BB80 80 63 00 38 */ lwz r3, 0x38(r3) -/* 8009EC44 0009BB84 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8009EC48 0009BB88 2C 04 00 00 */ cmpwi r4, 0 -/* 8009EC4C 0009BB8C 40 82 00 10 */ bne lbl_8009EC5C -/* 8009EC50 0009BB90 7C A4 2B 78 */ mr r4, r5 -/* 8009EC54 0009BB94 4B FF FF 05 */ bl daAlink_c_NS_modelCallBack -/* 8009EC58 0009BB98 48 00 00 34 */ b lbl_8009EC8C -lbl_8009EC5C: -/* 8009EC5C 0009BB9C 2C 04 00 01 */ cmpwi r4, 1 -/* 8009EC60 0009BBA0 40 82 00 2C */ bne lbl_8009EC8C -/* 8009EC64 0009BBA4 38 80 00 00 */ li r4, 0 -/* 8009EC68 0009BBA8 88 03 2F 90 */ lbz r0, 0x2f90(r3) -/* 8009EC6C 0009BBAC 28 00 00 00 */ cmplwi r0, 0 -/* 8009EC70 0009BBB0 41 82 00 10 */ beq lbl_8009EC80 -/* 8009EC74 0009BBB4 2C 05 00 01 */ cmpwi r5, 1 -/* 8009EC78 0009BBB8 40 82 00 08 */ bne lbl_8009EC80 -/* 8009EC7C 0009BBBC 38 80 00 01 */ li r4, 1 -lbl_8009EC80: -/* 8009EC80 0009BBC0 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 8009EC84 0009BBC4 41 82 00 08 */ beq lbl_8009EC8C -/* 8009EC88 0009BBC8 4B FF FE 91 */ bl daAlink_c_NS_resetRootMtx -lbl_8009EC8C: -/* 8009EC8C 0009BBCC 38 60 00 01 */ li r3, 1 -/* 8009EC90 0009BBD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009EC94 0009BBD4 7C 08 03 A6 */ mtlr r0 -/* 8009EC98 0009BBD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009EC9C 0009BBDC 4E 80 00 20 */ blr - -.global daAlink_c_NS_headModelCallBack -daAlink_c_NS_headModelCallBack: -/* 8009ECA0 0009BBE0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8009ECA4 0009BBE4 7C 08 02 A6 */ mflr r0 -/* 8009ECA8 0009BBE8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8009ECAC 0009BBEC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009ECB0 0009BBF0 48 2C 35 2D */ bl _savegpr_29 -/* 8009ECB4 0009BBF4 7C 7F 1B 78 */ mr r31, r3 -/* 8009ECB8 0009BBF8 7C 9E 23 78 */ mr r30, r4 -/* 8009ECBC 0009BBFC 80 63 06 B0 */ lwz r3, 0x6b0(r3) -/* 8009ECC0 0009BC00 28 03 00 00 */ cmplwi r3, 0 -/* 8009ECC4 0009BC04 41 82 00 24 */ beq lbl_8009ECE8 -/* 8009ECC8 0009BC08 80 03 00 14 */ lwz r0, 0x14(r3) -/* 8009ECCC 0009BC0C 28 00 00 00 */ cmplwi r0, 0 -/* 8009ECD0 0009BC10 41 82 00 18 */ beq lbl_8009ECE8 -/* 8009ECD4 0009BC14 80 1F 05 8C */ lwz r0, 0x58c(r31) -/* 8009ECD8 0009BC18 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 8009ECDC 0009BC1C 41 82 01 D0 */ beq lbl_8009EEAC -/* 8009ECE0 0009BC20 2C 1E 00 06 */ cmpwi r30, 6 -/* 8009ECE4 0009BC24 40 80 01 C8 */ bge lbl_8009EEAC -lbl_8009ECE8: -/* 8009ECE8 0009BC28 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 8009ECEC 0009BC2C 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 8009ECF0 0009BC30 41 82 00 60 */ beq lbl_8009ED50 -/* 8009ECF4 0009BC34 3C 60 80 43 */ lis r3, lbl_80434BE4@ha -/* 8009ECF8 0009BC38 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l -/* 8009ECFC 0009BC3C 3C 80 80 3E */ lis r4, lbl_803DD470@ha -/* 8009ED00 0009BC40 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l -/* 8009ED04 0009BC44 48 2A 77 AD */ bl PSMTXCopy -/* 8009ED08 0009BC48 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009ED0C 0009BC4C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009ED10 0009BC50 38 80 E6 9C */ li r4, -6500 -/* 8009ED14 0009BC54 4B F6 D7 B9 */ bl mDoMtx_ZrotM -/* 8009ED18 0009BC58 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009ED1C 0009BC5C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009ED20 0009BC60 80 9F 06 58 */ lwz r4, 0x658(r31) -/* 8009ED24 0009BC64 80 84 00 84 */ lwz r4, 0x84(r4) -/* 8009ED28 0009BC68 80 84 00 0C */ lwz r4, 0xc(r4) -/* 8009ED2C 0009BC6C 1C 1E 00 30 */ mulli r0, r30, 0x30 -/* 8009ED30 0009BC70 7C 84 02 14 */ add r4, r4, r0 -/* 8009ED34 0009BC74 48 2A 77 7D */ bl PSMTXCopy -/* 8009ED38 0009BC78 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009ED3C 0009BC7C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009ED40 0009BC80 3C 80 80 43 */ lis r4, lbl_80434BE4@ha -/* 8009ED44 0009BC84 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l -/* 8009ED48 0009BC88 48 2A 77 69 */ bl PSMTXCopy -/* 8009ED4C 0009BC8C 48 00 01 60 */ b lbl_8009EEAC -lbl_8009ED50: -/* 8009ED50 0009BC90 2C 1E 00 06 */ cmpwi r30, 6 -/* 8009ED54 0009BC94 41 80 01 10 */ blt lbl_8009EE64 -/* 8009ED58 0009BC98 3C 60 80 43 */ lis r3, lbl_80434BE4@ha -/* 8009ED5C 0009BC9C 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l -/* 8009ED60 0009BCA0 3C 80 80 3E */ lis r4, lbl_803DD470@ha -/* 8009ED64 0009BCA4 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l -/* 8009ED68 0009BCA8 48 2A 77 49 */ bl PSMTXCopy -/* 8009ED6C 0009BCAC 2C 1E 00 06 */ cmpwi r30, 6 -/* 8009ED70 0009BCB0 40 82 00 30 */ bne lbl_8009EDA0 -/* 8009ED74 0009BCB4 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009ED78 0009BCB8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009ED7C 0009BCBC 38 80 00 00 */ li r4, 0 -/* 8009ED80 0009BCC0 A8 1F 30 4E */ lha r0, 0x304e(r31) -/* 8009ED84 0009BCC4 7C 00 0E 70 */ srawi r0, r0, 1 -/* 8009ED88 0009BCC8 7C 05 07 34 */ extsh r5, r0 -/* 8009ED8C 0009BCCC A8 1F 30 3A */ lha r0, 0x303a(r31) -/* 8009ED90 0009BCD0 7C 00 0E 70 */ srawi r0, r0, 1 -/* 8009ED94 0009BCD4 7C 06 07 34 */ extsh r6, r0 -/* 8009ED98 0009BCD8 4B F6 D3 CD */ bl mDoMtx_XYZrotM -/* 8009ED9C 0009BCDC 48 00 00 74 */ b lbl_8009EE10 -lbl_8009EDA0: -/* 8009EDA0 0009BCE0 35 1E FF F9 */ addic. r8, r30, -7 -/* 8009EDA4 0009BCE4 40 82 00 38 */ bne lbl_8009EDDC -/* 8009EDA8 0009BCE8 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009EDAC 0009BCEC 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009EDB0 0009BCF0 38 80 00 00 */ li r4, 0 -/* 8009EDB4 0009BCF4 A8 1F 30 4E */ lha r0, 0x304e(r31) -/* 8009EDB8 0009BCF8 7C 00 0E 70 */ srawi r0, r0, 1 -/* 8009EDBC 0009BCFC 7C 05 07 34 */ extsh r5, r0 -/* 8009EDC0 0009BD00 A8 1F 30 3A */ lha r0, 0x303a(r31) -/* 8009EDC4 0009BD04 7C 06 0E 70 */ srawi r6, r0, 1 -/* 8009EDC8 0009BD08 A8 1F 30 66 */ lha r0, 0x3066(r31) -/* 8009EDCC 0009BD0C 7C 06 02 14 */ add r0, r6, r0 -/* 8009EDD0 0009BD10 7C 06 07 34 */ extsh r6, r0 -/* 8009EDD4 0009BD14 4B F6 D3 91 */ bl mDoMtx_XYZrotM -/* 8009EDD8 0009BD18 48 00 00 38 */ b lbl_8009EE10 -lbl_8009EDDC: -/* 8009EDDC 0009BD1C 57 C0 08 3C */ slwi r0, r30, 1 -/* 8009EDE0 0009BD20 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009EDE4 0009BD24 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009EDE8 0009BD28 38 80 00 00 */ li r4, 0 -/* 8009EDEC 0009BD2C 7C DF 02 14 */ add r6, r31, r0 -/* 8009EDF0 0009BD30 A8 A6 30 40 */ lha r5, 0x3040(r6) -/* 8009EDF4 0009BD34 A8 E6 30 2C */ lha r7, 0x302c(r6) -/* 8009EDF8 0009BD38 55 00 08 3C */ slwi r0, r8, 1 -/* 8009EDFC 0009BD3C 7C DF 02 14 */ add r6, r31, r0 -/* 8009EE00 0009BD40 A8 06 30 66 */ lha r0, 0x3066(r6) -/* 8009EE04 0009BD44 7C 07 02 14 */ add r0, r7, r0 -/* 8009EE08 0009BD48 7C 06 07 34 */ extsh r6, r0 -/* 8009EE0C 0009BD4C 4B F6 D3 59 */ bl mDoMtx_XYZrotM -lbl_8009EE10: -/* 8009EE10 0009BD50 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 8009EE14 0009BD54 28 00 01 4D */ cmplwi r0, 0x14d -/* 8009EE18 0009BD58 40 82 00 14 */ bne lbl_8009EE2C -/* 8009EE1C 0009BD5C C0 3F 34 7C */ lfs f1, 0x347c(r31) -/* 8009EE20 0009BD60 C0 42 92 B8 */ lfs f2, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009EE24 0009BD64 FC 60 10 90 */ fmr f3, f2 -/* 8009EE28 0009BD68 4B F6 E0 11 */ bl mDoMtx_stack_c_NS_scaleM -lbl_8009EE2C: -/* 8009EE2C 0009BD6C 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009EE30 0009BD70 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009EE34 0009BD74 80 9F 06 58 */ lwz r4, 0x658(r31) -/* 8009EE38 0009BD78 80 84 00 84 */ lwz r4, 0x84(r4) -/* 8009EE3C 0009BD7C 80 84 00 0C */ lwz r4, 0xc(r4) -/* 8009EE40 0009BD80 1C 1E 00 30 */ mulli r0, r30, 0x30 -/* 8009EE44 0009BD84 7C 84 02 14 */ add r4, r4, r0 -/* 8009EE48 0009BD88 48 2A 76 69 */ bl PSMTXCopy -/* 8009EE4C 0009BD8C 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009EE50 0009BD90 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009EE54 0009BD94 3C 80 80 43 */ lis r4, lbl_80434BE4@ha -/* 8009EE58 0009BD98 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l -/* 8009EE5C 0009BD9C 48 2A 76 55 */ bl PSMTXCopy -/* 8009EE60 0009BDA0 48 00 00 4C */ b lbl_8009EEAC -lbl_8009EE64: -/* 8009EE64 0009BDA4 AB BF 04 E6 */ lha r29, 0x4e6(r31) -/* 8009EE68 0009BDA8 A8 1F 30 62 */ lha r0, 0x3062(r31) -/* 8009EE6C 0009BDAC B0 1F 04 E6 */ sth r0, 0x4e6(r31) -/* 8009EE70 0009BDB0 80 7F 06 58 */ lwz r3, 0x658(r31) -/* 8009EE74 0009BDB4 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009EE78 0009BDB8 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009EE7C 0009BDBC 1C 1E 00 30 */ mulli r0, r30, 0x30 -/* 8009EE80 0009BDC0 7C 83 02 14 */ add r4, r3, r0 -/* 8009EE84 0009BDC4 57 C0 08 3C */ slwi r0, r30, 1 -/* 8009EE88 0009BDC8 7F E3 FB 78 */ mr r3, r31 -/* 8009EE8C 0009BDCC 7C FF 02 14 */ add r7, r31, r0 -/* 8009EE90 0009BDD0 A8 A7 30 2C */ lha r5, 0x302c(r7) -/* 8009EE94 0009BDD4 38 C0 00 00 */ li r6, 0 -/* 8009EE98 0009BDD8 A8 E7 30 40 */ lha r7, 0x3040(r7) -/* 8009EE9C 0009BDDC 39 00 00 00 */ li r8, 0 -/* 8009EEA0 0009BDE0 39 20 00 00 */ li r9, 0 -/* 8009EEA4 0009BDE4 4B FF ED C9 */ bl daAlink_c_NS_setMatrixWorldAxisRot -/* 8009EEA8 0009BDE8 B3 BF 04 E6 */ sth r29, 0x4e6(r31) -lbl_8009EEAC: -/* 8009EEAC 0009BDEC 7F E3 FB 78 */ mr r3, r31 -/* 8009EEB0 0009BDF0 48 02 0F 01 */ bl daAlink_c_NS_checkZoraWearAbility -/* 8009EEB4 0009BDF4 2C 03 00 00 */ cmpwi r3, 0 -/* 8009EEB8 0009BDF8 41 82 00 64 */ beq lbl_8009EF1C -/* 8009EEBC 0009BDFC 2C 1E 00 06 */ cmpwi r30, 6 -/* 8009EEC0 0009BE00 40 82 00 5C */ bne lbl_8009EF1C -/* 8009EEC4 0009BE04 3C 60 80 43 */ lis r3, lbl_80434BE4@ha -/* 8009EEC8 0009BE08 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l -/* 8009EECC 0009BE0C 3C 80 80 3E */ lis r4, lbl_803DD470@ha -/* 8009EED0 0009BE10 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l -/* 8009EED4 0009BE14 48 2A 75 DD */ bl PSMTXCopy -/* 8009EED8 0009BE18 C0 22 94 DC */ lfs f1, lbl_80452EDC-_SDA2_BASE_(r2) -/* 8009EEDC 0009BE1C C0 42 92 B8 */ lfs f2, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009EEE0 0009BE20 FC 60 10 90 */ fmr f3, f2 -/* 8009EEE4 0009BE24 4B F6 DF 55 */ bl mDoMtx_stack_c_NS_scaleM -/* 8009EEE8 0009BE28 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009EEEC 0009BE2C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009EEF0 0009BE30 80 9F 06 58 */ lwz r4, 0x658(r31) -/* 8009EEF4 0009BE34 80 84 00 84 */ lwz r4, 0x84(r4) -/* 8009EEF8 0009BE38 80 84 00 0C */ lwz r4, 0xc(r4) -/* 8009EEFC 0009BE3C 1C 1E 00 30 */ mulli r0, r30, 0x30 -/* 8009EF00 0009BE40 7C 84 02 14 */ add r4, r4, r0 -/* 8009EF04 0009BE44 48 2A 75 AD */ bl PSMTXCopy -/* 8009EF08 0009BE48 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009EF0C 0009BE4C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009EF10 0009BE50 3C 80 80 43 */ lis r4, lbl_80434BE4@ha -/* 8009EF14 0009BE54 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l -/* 8009EF18 0009BE58 48 2A 75 99 */ bl PSMTXCopy -lbl_8009EF1C: -/* 8009EF1C 0009BE5C 38 60 00 01 */ li r3, 1 -/* 8009EF20 0009BE60 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009EF24 0009BE64 48 2C 33 05 */ bl _restgpr_29 -/* 8009EF28 0009BE68 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8009EF2C 0009BE6C 7C 08 03 A6 */ mtlr r0 -/* 8009EF30 0009BE70 38 21 00 20 */ addi r1, r1, 0x20 -/* 8009EF34 0009BE74 4E 80 00 20 */ blr -.global daAlink_headModelCallBack -daAlink_headModelCallBack: -/* 8009EF38 0009BE78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009EF3C 0009BE7C 7C 08 02 A6 */ mflr r0 -/* 8009EF40 0009BE80 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009EF44 0009BE84 A0 03 00 14 */ lhz r0, 0x14(r3) -/* 8009EF48 0009BE88 3C 60 80 43 */ lis r3, lbl_80434AC8@ha -/* 8009EF4C 0009BE8C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l -/* 8009EF50 0009BE90 80 63 00 38 */ lwz r3, 0x38(r3) -/* 8009EF54 0009BE94 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8009EF58 0009BE98 2C 04 00 00 */ cmpwi r4, 0 -/* 8009EF5C 0009BE9C 40 82 00 0C */ bne lbl_8009EF68 -/* 8009EF60 0009BEA0 7C 04 03 78 */ mr r4, r0 -/* 8009EF64 0009BEA4 4B FF FD 3D */ bl daAlink_c_NS_headModelCallBack -lbl_8009EF68: -/* 8009EF68 0009BEA8 38 60 00 01 */ li r3, 1 -/* 8009EF6C 0009BEAC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009EF70 0009BEB0 7C 08 03 A6 */ mtlr r0 -/* 8009EF74 0009BEB4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009EF78 0009BEB8 4E 80 00 20 */ blr - -.global daAlink_c_NS_wolfModelCallBack -daAlink_c_NS_wolfModelCallBack: -/* 8009EF7C 0009BEBC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009EF80 0009BEC0 7C 08 02 A6 */ mflr r0 -/* 8009EF84 0009BEC4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009EF88 0009BEC8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8009EF8C 0009BECC 93 C1 00 08 */ stw r30, 8(r1) -/* 8009EF90 0009BED0 7C 7E 1B 78 */ mr r30, r3 -/* 8009EF94 0009BED4 7C 9F 23 78 */ mr r31, r4 -/* 8009EF98 0009BED8 4B FF ED F9 */ bl daAlink_c_NS_jointControll -/* 8009EF9C 0009BEDC 2C 1F 00 24 */ cmpwi r31, 0x24 -/* 8009EFA0 0009BEE0 40 82 00 10 */ bne lbl_8009EFB0 -/* 8009EFA4 0009BEE4 7F C3 F3 78 */ mr r3, r30 -/* 8009EFA8 0009BEE8 48 08 BD 75 */ bl daAlink_c_NS_setWolfFootMatrix -/* 8009EFAC 0009BEEC 48 00 00 28 */ b lbl_8009EFD4 -lbl_8009EFB0: -/* 8009EFB0 0009BEF0 2C 1F 00 07 */ cmpwi r31, 7 -/* 8009EFB4 0009BEF4 41 82 00 14 */ beq lbl_8009EFC8 -/* 8009EFB8 0009BEF8 2C 1F 00 02 */ cmpwi r31, 2 -/* 8009EFBC 0009BEFC 41 82 00 0C */ beq lbl_8009EFC8 -/* 8009EFC0 0009BF00 2C 1F 00 03 */ cmpwi r31, 3 -/* 8009EFC4 0009BF04 40 82 00 10 */ bne lbl_8009EFD4 -lbl_8009EFC8: -/* 8009EFC8 0009BF08 7F C3 F3 78 */ mr r3, r30 -/* 8009EFCC 0009BF0C 7F E4 FB 78 */ mr r4, r31 -/* 8009EFD0 0009BF10 48 08 BC FD */ bl daAlink_c_NS_changeWolfBlendRate -lbl_8009EFD4: -/* 8009EFD4 0009BF14 38 60 00 01 */ li r3, 1 -/* 8009EFD8 0009BF18 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8009EFDC 0009BF1C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8009EFE0 0009BF20 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009EFE4 0009BF24 7C 08 03 A6 */ mtlr r0 -/* 8009EFE8 0009BF28 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009EFEC 0009BF2C 4E 80 00 20 */ blr -.global daAlink_wolfModelCallBack -daAlink_wolfModelCallBack: -/* 8009EFF0 0009BF30 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009EFF4 0009BF34 7C 08 02 A6 */ mflr r0 -/* 8009EFF8 0009BF38 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009EFFC 0009BF3C A0 03 00 14 */ lhz r0, 0x14(r3) -/* 8009F000 0009BF40 3C 60 80 43 */ lis r3, lbl_80434AC8@ha -/* 8009F004 0009BF44 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l -/* 8009F008 0009BF48 80 63 00 38 */ lwz r3, 0x38(r3) -/* 8009F00C 0009BF4C 80 63 00 14 */ lwz r3, 0x14(r3) -/* 8009F010 0009BF50 2C 04 00 00 */ cmpwi r4, 0 -/* 8009F014 0009BF54 40 82 00 0C */ bne lbl_8009F020 -/* 8009F018 0009BF58 7C 04 03 78 */ mr r4, r0 -/* 8009F01C 0009BF5C 4B FF FF 61 */ bl daAlink_c_NS_wolfModelCallBack -lbl_8009F020: -/* 8009F020 0009BF60 38 60 00 01 */ li r3, 1 -/* 8009F024 0009BF64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009F028 0009BF68 7C 08 03 A6 */ mtlr r0 -/* 8009F02C 0009BF6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009F030 0009BF70 4E 80 00 20 */ blr - -.global daAlink_c_NS_setHatAngle -daAlink_c_NS_setHatAngle: -/* 8009F034 0009BF74 94 21 FE 80 */ stwu r1, -0x180(r1) -/* 8009F038 0009BF78 7C 08 02 A6 */ mflr r0 -/* 8009F03C 0009BF7C 90 01 01 84 */ stw r0, 0x184(r1) -/* 8009F040 0009BF80 DB E1 01 70 */ stfd f31, 0x170(r1) -/* 8009F044 0009BF84 F3 E1 01 78 */ psq_st f31, 376(r1), 0, qr0 -/* 8009F048 0009BF88 DB C1 01 60 */ stfd f30, 0x160(r1) -/* 8009F04C 0009BF8C F3 C1 01 68 */ psq_st f30, 360(r1), 0, qr0 -/* 8009F050 0009BF90 DB A1 01 50 */ stfd f29, 0x150(r1) -/* 8009F054 0009BF94 F3 A1 01 58 */ psq_st f29, 344(r1), 0, qr0 -/* 8009F058 0009BF98 DB 81 01 40 */ stfd f28, 0x140(r1) -/* 8009F05C 0009BF9C F3 81 01 48 */ psq_st f28, 328(r1), 0, qr0 -/* 8009F060 0009BFA0 DB 61 01 30 */ stfd f27, 0x130(r1) -/* 8009F064 0009BFA4 F3 61 01 38 */ psq_st f27, 312(r1), 0, qr0 -/* 8009F068 0009BFA8 39 61 01 30 */ addi r11, r1, 0x130 -/* 8009F06C 0009BFAC 48 2C 31 4D */ bl func_803621B8 -/* 8009F070 0009BFB0 7C 7F 1B 78 */ mr r31, r3 -/* 8009F074 0009BFB4 80 63 20 60 */ lwz r3, 0x2060(r3) -/* 8009F078 0009BFB8 88 03 00 00 */ lbz r0, 0(r3) -/* 8009F07C 0009BFBC 28 00 00 00 */ cmplwi r0, 0 -/* 8009F080 0009BFC0 41 82 0F 38 */ beq lbl_8009FFB8 -/* 8009F084 0009BFC4 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 8009F088 0009BFC8 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 8009F08C 0009BFCC 41 82 00 2C */ beq lbl_8009F0B8 -/* 8009F090 0009BFD0 38 60 00 00 */ li r3, 0 -/* 8009F094 0009BFD4 7C 65 1B 78 */ mr r5, r3 -/* 8009F098 0009BFD8 7C 64 1B 78 */ mr r4, r3 -/* 8009F09C 0009BFDC 38 00 00 03 */ li r0, 3 -/* 8009F0A0 0009BFE0 7C 09 03 A6 */ mtctr r0 -lbl_8009F0A4: -/* 8009F0A4 0009BFE4 7C DF 1A 14 */ add r6, r31, r3 -/* 8009F0A8 0009BFE8 B0 A6 30 54 */ sth r5, 0x3054(r6) -/* 8009F0AC 0009BFEC B0 86 30 5A */ sth r4, 0x305a(r6) -/* 8009F0B0 0009BFF0 38 63 00 02 */ addi r3, r3, 2 -/* 8009F0B4 0009BFF4 42 00 FF F0 */ bdnz lbl_8009F0A4 -lbl_8009F0B8: -/* 8009F0B8 0009BFF8 80 7F 06 58 */ lwz r3, 0x658(r31) -/* 8009F0BC 0009BFFC 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009F0C0 0009C000 80 83 00 0C */ lwz r4, 0xc(r3) -/* 8009F0C4 0009C004 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 8009F0C8 0009C008 54 00 02 D8 */ rlwinm r0, r0, 0, 0xb, 0xc -/* 8009F0CC 0009C00C 20 00 00 00 */ subfic r0, r0, 0 -/* 8009F0D0 0009C010 7C 60 01 10 */ subfe r3, r0, r0 -/* 8009F0D4 0009C014 38 00 00 07 */ li r0, 7 -/* 8009F0D8 0009C018 7C 00 18 78 */ andc r0, r0, r3 -/* 8009F0DC 0009C01C 1C 00 00 30 */ mulli r0, r0, 0x30 -/* 8009F0E0 0009C020 7C 64 02 14 */ add r3, r4, r0 -/* 8009F0E4 0009C024 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8009F0E8 0009C028 D0 01 00 C4 */ stfs f0, 0xc4(r1) -/* 8009F0EC 0009C02C C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 8009F0F0 0009C030 D0 01 00 C8 */ stfs f0, 0xc8(r1) -/* 8009F0F4 0009C034 C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 8009F0F8 0009C038 D0 01 00 CC */ stfs f0, 0xcc(r1) -/* 8009F0FC 0009C03C 80 1F 05 8C */ lwz r0, 0x58c(r31) -/* 8009F100 0009C040 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc -/* 8009F104 0009C044 40 82 00 48 */ bne lbl_8009F14C -/* 8009F108 0009C048 38 7F 35 B8 */ addi r3, r31, 0x35b8 -/* 8009F10C 0009C04C 48 2A 80 2D */ bl PSVECSquareMag -/* 8009F110 0009C050 C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2) -/* 8009F114 0009C054 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 8009F118 0009C058 41 81 00 2C */ bgt lbl_8009F144 -/* 8009F11C 0009C05C 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 8009F120 0009C060 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8009F124 0009C064 41 82 00 28 */ beq lbl_8009F14C -/* 8009F128 0009C068 C0 1F 34 00 */ lfs f0, 0x3400(r31) -/* 8009F12C 0009C06C EC 20 00 32 */ fmuls f1, f0, f0 -/* 8009F130 0009C070 C0 1F 34 04 */ lfs f0, 0x3404(r31) -/* 8009F134 0009C074 EC 00 00 32 */ fmuls f0, f0, f0 -/* 8009F138 0009C078 EC 01 00 2A */ fadds f0, f1, f0 -/* 8009F13C 0009C07C FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 8009F140 0009C080 40 81 00 0C */ ble lbl_8009F14C -lbl_8009F144: -/* 8009F144 0009C084 3B C0 00 01 */ li r30, 1 -/* 8009F148 0009C088 48 00 00 08 */ b lbl_8009F150 -lbl_8009F14C: -/* 8009F14C 0009C08C 3B C0 00 00 */ li r30, 0 -lbl_8009F150: -/* 8009F150 0009C090 38 61 00 C4 */ addi r3, r1, 0xc4 -/* 8009F154 0009C094 38 81 00 D0 */ addi r4, r1, 0xd0 -/* 8009F158 0009C098 38 A1 00 18 */ addi r5, r1, 0x18 -/* 8009F15C 0009C09C 4B FB C1 9D */ bl dKyw_get_AllWind_vec -/* 8009F160 0009C0A0 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 8009F164 0009C0A4 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd -/* 8009F168 0009C0A8 40 82 00 10 */ bne lbl_8009F178 -/* 8009F16C 0009C0AC 80 1F 05 8C */ lwz r0, 0x58c(r31) -/* 8009F170 0009C0B0 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc -/* 8009F174 0009C0B4 41 82 00 10 */ beq lbl_8009F184 -lbl_8009F178: -/* 8009F178 0009C0B8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F17C 0009C0BC D0 01 00 18 */ stfs f0, 0x18(r1) -/* 8009F180 0009C0C0 48 00 00 14 */ b lbl_8009F194 -lbl_8009F184: -/* 8009F184 0009C0C4 2C 1E 00 00 */ cmpwi r30, 0 -/* 8009F188 0009C0C8 41 82 00 0C */ beq lbl_8009F194 -/* 8009F18C 0009C0CC C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009F190 0009C0D0 D0 01 00 18 */ stfs f0, 0x18(r1) -lbl_8009F194: -/* 8009F194 0009C0D4 C0 22 92 9C */ lfs f1, lbl_80452C9C-_SDA2_BASE_(r2) -/* 8009F198 0009C0D8 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 8009F19C 0009C0DC EC 00 00 32 */ fmuls f0, f0, f0 -/* 8009F1A0 0009C0E0 EF 61 00 32 */ fmuls f27, f1, f0 -/* 8009F1A4 0009C0E4 AA FF 30 60 */ lha r23, 0x3060(r31) -/* 8009F1A8 0009C0E8 AB 1F 30 62 */ lha r24, 0x3062(r31) -/* 8009F1AC 0009C0EC 38 61 00 7C */ addi r3, r1, 0x7c -/* 8009F1B0 0009C0F0 38 9F 05 38 */ addi r4, r31, 0x538 -/* 8009F1B4 0009C0F4 38 BF 34 E0 */ addi r5, r31, 0x34e0 -/* 8009F1B8 0009C0F8 48 1C 79 7D */ bl cXyz_NS___mi -/* 8009F1BC 0009C0FC C0 01 00 7C */ lfs f0, 0x7c(r1) -/* 8009F1C0 0009C100 D0 01 00 A0 */ stfs f0, 0xa0(r1) -/* 8009F1C4 0009C104 C0 01 00 80 */ lfs f0, 0x80(r1) -/* 8009F1C8 0009C108 D0 01 00 A4 */ stfs f0, 0xa4(r1) -/* 8009F1CC 0009C10C C0 01 00 84 */ lfs f0, 0x84(r1) -/* 8009F1D0 0009C110 D0 01 00 A8 */ stfs f0, 0xa8(r1) -/* 8009F1D4 0009C114 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 8009F1D8 0009C118 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 8009F1DC 0009C11C 41 82 00 70 */ beq lbl_8009F24C -/* 8009F1E0 0009C120 38 7F 2C 78 */ addi r3, r31, 0x2c78 -/* 8009F1E4 0009C124 38 81 00 A0 */ addi r4, r1, 0xa0 -/* 8009F1E8 0009C128 7C 85 23 78 */ mr r5, r4 -/* 8009F1EC 0009C12C 48 2A 7C 61 */ bl PSMTXMultVecSR -/* 8009F1F0 0009C130 80 7F 06 58 */ lwz r3, 0x658(r31) -/* 8009F1F4 0009C134 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009F1F8 0009C138 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009F1FC 0009C13C C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8009F200 0009C140 D0 01 00 AC */ stfs f0, 0xac(r1) -/* 8009F204 0009C144 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 8009F208 0009C148 D0 01 00 B0 */ stfs f0, 0xb0(r1) -/* 8009F20C 0009C14C C0 03 00 2C */ lfs f0, 0x2c(r3) -/* 8009F210 0009C150 D0 01 00 B4 */ stfs f0, 0xb4(r1) -/* 8009F214 0009C154 38 61 00 70 */ addi r3, r1, 0x70 -/* 8009F218 0009C158 38 9F 34 E0 */ addi r4, r31, 0x34e0 -/* 8009F21C 0009C15C 38 A1 00 AC */ addi r5, r1, 0xac -/* 8009F220 0009C160 48 1C 79 15 */ bl cXyz_NS___mi -/* 8009F224 0009C164 C0 01 00 70 */ lfs f0, 0x70(r1) -/* 8009F228 0009C168 D0 01 00 AC */ stfs f0, 0xac(r1) -/* 8009F22C 0009C16C C0 01 00 74 */ lfs f0, 0x74(r1) -/* 8009F230 0009C170 D0 01 00 B0 */ stfs f0, 0xb0(r1) -/* 8009F234 0009C174 C0 01 00 78 */ lfs f0, 0x78(r1) -/* 8009F238 0009C178 D0 01 00 B4 */ stfs f0, 0xb4(r1) -/* 8009F23C 0009C17C 38 7F 2C 78 */ addi r3, r31, 0x2c78 -/* 8009F240 0009C180 38 81 00 AC */ addi r4, r1, 0xac -/* 8009F244 0009C184 7C 85 23 78 */ mr r5, r4 -/* 8009F248 0009C188 48 2A 7C 05 */ bl PSMTXMultVecSR -lbl_8009F24C: -/* 8009F24C 0009C18C 38 61 00 A0 */ addi r3, r1, 0xa0 -/* 8009F250 0009C190 48 1C 7E D9 */ bl cXyz_NS_atan2sX_Z -/* 8009F254 0009C194 B0 7F 30 62 */ sth r3, 0x3062(r31) -/* 8009F258 0009C198 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 8009F25C 0009C19C 28 00 00 C0 */ cmplwi r0, 0xc0 -/* 8009F260 0009C1A0 40 82 00 34 */ bne lbl_8009F294 -/* 8009F264 0009C1A4 80 7F 06 50 */ lwz r3, 0x650(r31) -/* 8009F268 0009C1A8 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009F26C 0009C1AC 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009F270 0009C1B0 38 63 00 30 */ addi r3, r3, 0x30 -/* 8009F274 0009C1B4 3C 80 80 43 */ lis r4, lbl_80430D24@ha -/* 8009F278 0009C1B8 38 84 0D 24 */ addi r4, r4, lbl_80430D24@l -/* 8009F27C 0009C1BC 38 A1 00 AC */ addi r5, r1, 0xac -/* 8009F280 0009C1C0 48 2A 7B CD */ bl PSMTXMultVecSR -/* 8009F284 0009C1C4 38 61 00 AC */ addi r3, r1, 0xac -/* 8009F288 0009C1C8 48 1C 7E A1 */ bl cXyz_NS_atan2sX_Z -/* 8009F28C 0009C1CC 7C 79 1B 78 */ mr r25, r3 -/* 8009F290 0009C1D0 48 00 00 9C */ b lbl_8009F32C -lbl_8009F294: -/* 8009F294 0009C1D4 7F E3 FB 78 */ mr r3, r31 -/* 8009F298 0009C1D8 38 80 00 52 */ li r4, 0x52 -/* 8009F29C 0009C1DC 48 00 D2 BD */ bl daAlink_c_NS_checkUnderMove0BckNoArc -/* 8009F2A0 0009C1E0 2C 03 00 00 */ cmpwi r3, 0 -/* 8009F2A4 0009C1E4 41 82 00 44 */ beq lbl_8009F2E8 -/* 8009F2A8 0009C1E8 C0 3F 1F E0 */ lfs f1, 0x1fe0(r31) -/* 8009F2AC 0009C1EC C0 02 97 F0 */ lfs f0, lbl_804531F0-_SDA2_BASE_(r2) -/* 8009F2B0 0009C1F0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F2B4 0009C1F4 40 80 00 34 */ bge lbl_8009F2E8 -/* 8009F2B8 0009C1F8 80 7F 06 50 */ lwz r3, 0x650(r31) -/* 8009F2BC 0009C1FC 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009F2C0 0009C200 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009F2C4 0009C204 38 63 00 C0 */ addi r3, r3, 0xc0 -/* 8009F2C8 0009C208 3C 80 80 43 */ lis r4, lbl_80430D0C@ha -/* 8009F2CC 0009C20C 38 84 0D 0C */ addi r4, r4, lbl_80430D0C@l -/* 8009F2D0 0009C210 38 A1 00 AC */ addi r5, r1, 0xac -/* 8009F2D4 0009C214 48 2A 7B 79 */ bl PSMTXMultVecSR -/* 8009F2D8 0009C218 38 61 00 AC */ addi r3, r1, 0xac -/* 8009F2DC 0009C21C 48 1C 7E 4D */ bl cXyz_NS_atan2sX_Z -/* 8009F2E0 0009C220 7C 79 1B 78 */ mr r25, r3 -/* 8009F2E4 0009C224 48 00 00 48 */ b lbl_8009F32C -lbl_8009F2E8: -/* 8009F2E8 0009C228 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 8009F2EC 0009C22C 28 00 00 D7 */ cmplwi r0, 0xd7 -/* 8009F2F0 0009C230 40 82 00 2C */ bne lbl_8009F31C -/* 8009F2F4 0009C234 A8 1F 30 0C */ lha r0, 0x300c(r31) -/* 8009F2F8 0009C238 2C 00 00 00 */ cmpwi r0, 0 -/* 8009F2FC 0009C23C 40 82 00 20 */ bne lbl_8009F31C -/* 8009F300 0009C240 A8 1F 04 E6 */ lha r0, 0x4e6(r31) -/* 8009F304 0009C244 A8 7F 05 9E */ lha r3, 0x59e(r31) -/* 8009F308 0009C248 3C 63 00 01 */ addis r3, r3, 1 -/* 8009F30C 0009C24C 38 63 80 00 */ addi r3, r3, -32768 -/* 8009F310 0009C250 7C 00 1A 14 */ add r0, r0, r3 -/* 8009F314 0009C254 7C 19 07 34 */ extsh r25, r0 -/* 8009F318 0009C258 48 00 00 14 */ b lbl_8009F32C -lbl_8009F31C: -/* 8009F31C 0009C25C A8 7F 04 E6 */ lha r3, 0x4e6(r31) -/* 8009F320 0009C260 A8 1F 05 9E */ lha r0, 0x59e(r31) -/* 8009F324 0009C264 7C 03 02 14 */ add r0, r3, r0 -/* 8009F328 0009C268 7C 19 07 34 */ extsh r25, r0 -lbl_8009F32C: -/* 8009F32C 0009C26C A8 7F 30 62 */ lha r3, 0x3062(r31) -/* 8009F330 0009C270 7F 24 CB 78 */ mr r4, r25 -/* 8009F334 0009C274 48 1D 1A F1 */ bl cLib_distanceAngleS -/* 8009F338 0009C278 2C 03 70 00 */ cmpwi r3, 0x7000 -/* 8009F33C 0009C27C 40 81 01 28 */ ble lbl_8009F464 -/* 8009F340 0009C280 C0 01 00 A0 */ lfs f0, 0xa0(r1) -/* 8009F344 0009C284 D0 01 00 34 */ stfs f0, 0x34(r1) -/* 8009F348 0009C288 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F34C 0009C28C D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8009F350 0009C290 C0 01 00 A8 */ lfs f0, 0xa8(r1) -/* 8009F354 0009C294 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 8009F358 0009C298 38 61 00 34 */ addi r3, r1, 0x34 -/* 8009F35C 0009C29C 48 2A 7D DD */ bl PSVECSquareMag -/* 8009F360 0009C2A0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F364 0009C2A4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F368 0009C2A8 40 81 00 58 */ ble lbl_8009F3C0 -/* 8009F36C 0009C2AC FC 00 08 34 */ frsqrte f0, f1 -/* 8009F370 0009C2B0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) -/* 8009F374 0009C2B4 FC 44 00 32 */ fmul f2, f4, f0 -/* 8009F378 0009C2B8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) -/* 8009F37C 0009C2BC FC 00 00 32 */ fmul f0, f0, f0 -/* 8009F380 0009C2C0 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009F384 0009C2C4 FC 03 00 28 */ fsub f0, f3, f0 -/* 8009F388 0009C2C8 FC 02 00 32 */ fmul f0, f2, f0 -/* 8009F38C 0009C2CC FC 44 00 32 */ fmul f2, f4, f0 -/* 8009F390 0009C2D0 FC 00 00 32 */ fmul f0, f0, f0 -/* 8009F394 0009C2D4 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009F398 0009C2D8 FC 03 00 28 */ fsub f0, f3, f0 -/* 8009F39C 0009C2DC FC 02 00 32 */ fmul f0, f2, f0 -/* 8009F3A0 0009C2E0 FC 44 00 32 */ fmul f2, f4, f0 -/* 8009F3A4 0009C2E4 FC 00 00 32 */ fmul f0, f0, f0 -/* 8009F3A8 0009C2E8 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009F3AC 0009C2EC FC 03 00 28 */ fsub f0, f3, f0 -/* 8009F3B0 0009C2F0 FC 02 00 32 */ fmul f0, f2, f0 -/* 8009F3B4 0009C2F4 FC 41 00 32 */ fmul f2, f1, f0 -/* 8009F3B8 0009C2F8 FC 40 10 18 */ frsp f2, f2 -/* 8009F3BC 0009C2FC 48 00 00 90 */ b lbl_8009F44C -lbl_8009F3C0: -/* 8009F3C0 0009C300 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) -/* 8009F3C4 0009C304 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F3C8 0009C308 40 80 00 10 */ bge lbl_8009F3D8 -/* 8009F3CC 0009C30C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 8009F3D0 0009C310 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3) -/* 8009F3D4 0009C314 48 00 00 78 */ b lbl_8009F44C -lbl_8009F3D8: -/* 8009F3D8 0009C318 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 8009F3DC 0009C31C 80 81 00 14 */ lwz r4, 0x14(r1) -/* 8009F3E0 0009C320 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8009F3E4 0009C324 3C 00 7F 80 */ lis r0, 0x7f80 -/* 8009F3E8 0009C328 7C 03 00 00 */ cmpw r3, r0 -/* 8009F3EC 0009C32C 41 82 00 14 */ beq lbl_8009F400 -/* 8009F3F0 0009C330 40 80 00 40 */ bge lbl_8009F430 -/* 8009F3F4 0009C334 2C 03 00 00 */ cmpwi r3, 0 -/* 8009F3F8 0009C338 41 82 00 20 */ beq lbl_8009F418 -/* 8009F3FC 0009C33C 48 00 00 34 */ b lbl_8009F430 -lbl_8009F400: -/* 8009F400 0009C340 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8009F404 0009C344 41 82 00 0C */ beq lbl_8009F410 -/* 8009F408 0009C348 38 00 00 01 */ li r0, 1 -/* 8009F40C 0009C34C 48 00 00 28 */ b lbl_8009F434 -lbl_8009F410: -/* 8009F410 0009C350 38 00 00 02 */ li r0, 2 -/* 8009F414 0009C354 48 00 00 20 */ b lbl_8009F434 -lbl_8009F418: -/* 8009F418 0009C358 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8009F41C 0009C35C 41 82 00 0C */ beq lbl_8009F428 -/* 8009F420 0009C360 38 00 00 05 */ li r0, 5 -/* 8009F424 0009C364 48 00 00 10 */ b lbl_8009F434 -lbl_8009F428: -/* 8009F428 0009C368 38 00 00 03 */ li r0, 3 -/* 8009F42C 0009C36C 48 00 00 08 */ b lbl_8009F434 -lbl_8009F430: -/* 8009F430 0009C370 38 00 00 04 */ li r0, 4 -lbl_8009F434: -/* 8009F434 0009C374 2C 00 00 01 */ cmpwi r0, 1 -/* 8009F438 0009C378 40 82 00 10 */ bne lbl_8009F448 -/* 8009F43C 0009C37C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 8009F440 0009C380 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3) -/* 8009F444 0009C384 48 00 00 08 */ b lbl_8009F44C -lbl_8009F448: -/* 8009F448 0009C388 FC 40 08 90 */ fmr f2, f1 -lbl_8009F44C: -/* 8009F44C 0009C38C C0 01 00 A4 */ lfs f0, 0xa4(r1) -/* 8009F450 0009C390 FC 20 00 50 */ fneg f1, f0 -/* 8009F454 0009C394 FC 40 10 50 */ fneg f2, f2 -/* 8009F458 0009C398 48 1C 82 1D */ bl cM_atan2s -/* 8009F45C 0009C39C B0 7F 30 60 */ sth r3, 0x3060(r31) -/* 8009F460 0009C3A0 48 00 00 10 */ b lbl_8009F470 -lbl_8009F464: -/* 8009F464 0009C3A4 38 61 00 A0 */ addi r3, r1, 0xa0 -/* 8009F468 0009C3A8 48 1C 7C E9 */ bl cXyz_NS_atan2sY_XZ -/* 8009F46C 0009C3AC B0 7F 30 60 */ sth r3, 0x3060(r31) -lbl_8009F470: -/* 8009F470 0009C3B0 C0 01 00 A0 */ lfs f0, 0xa0(r1) -/* 8009F474 0009C3B4 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8009F478 0009C3B8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F47C 0009C3BC D0 01 00 2C */ stfs f0, 0x2c(r1) -/* 8009F480 0009C3C0 C0 01 00 A8 */ lfs f0, 0xa8(r1) -/* 8009F484 0009C3C4 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 8009F488 0009C3C8 38 61 00 28 */ addi r3, r1, 0x28 -/* 8009F48C 0009C3CC 48 2A 7C AD */ bl PSVECSquareMag -/* 8009F490 0009C3D0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F494 0009C3D4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F498 0009C3D8 40 81 00 58 */ ble lbl_8009F4F0 -/* 8009F49C 0009C3DC FC 00 08 34 */ frsqrte f0, f1 -/* 8009F4A0 0009C3E0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) -/* 8009F4A4 0009C3E4 FC 44 00 32 */ fmul f2, f4, f0 -/* 8009F4A8 0009C3E8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) -/* 8009F4AC 0009C3EC FC 00 00 32 */ fmul f0, f0, f0 -/* 8009F4B0 0009C3F0 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009F4B4 0009C3F4 FC 03 00 28 */ fsub f0, f3, f0 -/* 8009F4B8 0009C3F8 FC 02 00 32 */ fmul f0, f2, f0 -/* 8009F4BC 0009C3FC FC 44 00 32 */ fmul f2, f4, f0 -/* 8009F4C0 0009C400 FC 00 00 32 */ fmul f0, f0, f0 -/* 8009F4C4 0009C404 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009F4C8 0009C408 FC 03 00 28 */ fsub f0, f3, f0 -/* 8009F4CC 0009C40C FC 02 00 32 */ fmul f0, f2, f0 -/* 8009F4D0 0009C410 FC 44 00 32 */ fmul f2, f4, f0 -/* 8009F4D4 0009C414 FC 00 00 32 */ fmul f0, f0, f0 -/* 8009F4D8 0009C418 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009F4DC 0009C41C FC 03 00 28 */ fsub f0, f3, f0 -/* 8009F4E0 0009C420 FC 02 00 32 */ fmul f0, f2, f0 -/* 8009F4E4 0009C424 FC 21 00 32 */ fmul f1, f1, f0 -/* 8009F4E8 0009C428 FC 20 08 18 */ frsp f1, f1 -/* 8009F4EC 0009C42C 48 00 00 88 */ b lbl_8009F574 -lbl_8009F4F0: -/* 8009F4F0 0009C430 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) -/* 8009F4F4 0009C434 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F4F8 0009C438 40 80 00 10 */ bge lbl_8009F508 -/* 8009F4FC 0009C43C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 8009F500 0009C440 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) -/* 8009F504 0009C444 48 00 00 70 */ b lbl_8009F574 -lbl_8009F508: -/* 8009F508 0009C448 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 8009F50C 0009C44C 80 81 00 10 */ lwz r4, 0x10(r1) -/* 8009F510 0009C450 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8009F514 0009C454 3C 00 7F 80 */ lis r0, 0x7f80 -/* 8009F518 0009C458 7C 03 00 00 */ cmpw r3, r0 -/* 8009F51C 0009C45C 41 82 00 14 */ beq lbl_8009F530 -/* 8009F520 0009C460 40 80 00 40 */ bge lbl_8009F560 -/* 8009F524 0009C464 2C 03 00 00 */ cmpwi r3, 0 -/* 8009F528 0009C468 41 82 00 20 */ beq lbl_8009F548 -/* 8009F52C 0009C46C 48 00 00 34 */ b lbl_8009F560 -lbl_8009F530: -/* 8009F530 0009C470 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8009F534 0009C474 41 82 00 0C */ beq lbl_8009F540 -/* 8009F538 0009C478 38 00 00 01 */ li r0, 1 -/* 8009F53C 0009C47C 48 00 00 28 */ b lbl_8009F564 -lbl_8009F540: -/* 8009F540 0009C480 38 00 00 02 */ li r0, 2 -/* 8009F544 0009C484 48 00 00 20 */ b lbl_8009F564 -lbl_8009F548: -/* 8009F548 0009C488 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8009F54C 0009C48C 41 82 00 0C */ beq lbl_8009F558 -/* 8009F550 0009C490 38 00 00 05 */ li r0, 5 -/* 8009F554 0009C494 48 00 00 10 */ b lbl_8009F564 -lbl_8009F558: -/* 8009F558 0009C498 38 00 00 03 */ li r0, 3 -/* 8009F55C 0009C49C 48 00 00 08 */ b lbl_8009F564 -lbl_8009F560: -/* 8009F560 0009C4A0 38 00 00 04 */ li r0, 4 -lbl_8009F564: -/* 8009F564 0009C4A4 2C 00 00 01 */ cmpwi r0, 1 -/* 8009F568 0009C4A8 40 82 00 0C */ bne lbl_8009F574 -/* 8009F56C 0009C4AC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 8009F570 0009C4B0 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) -lbl_8009F574: -/* 8009F574 0009C4B4 C0 02 93 88 */ lfs f0, lbl_80452D88-_SDA2_BASE_(r2) -/* 8009F578 0009C4B8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F57C 0009C4BC 40 80 00 20 */ bge lbl_8009F59C -/* 8009F580 0009C4C0 57 20 04 38 */ rlwinm r0, r25, 0, 0x10, 0x1c -/* 8009F584 0009C4C4 3C 60 80 44 */ lis r3, lbl_80439A20@ha -/* 8009F588 0009C4C8 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l -/* 8009F58C 0009C4CC 7F A3 04 2E */ lfsx f29, r3, r0 -/* 8009F590 0009C4D0 7C 63 02 14 */ add r3, r3, r0 -/* 8009F594 0009C4D4 C3 83 00 04 */ lfs f28, 4(r3) -/* 8009F598 0009C4D8 48 00 00 1C */ b lbl_8009F5B4 -lbl_8009F59C: -/* 8009F59C 0009C4DC C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009F5A0 0009C4E0 EC 20 08 24 */ fdivs f1, f0, f1 -/* 8009F5A4 0009C4E4 C0 01 00 A0 */ lfs f0, 0xa0(r1) -/* 8009F5A8 0009C4E8 EF A0 00 72 */ fmuls f29, f0, f1 -/* 8009F5AC 0009C4EC C0 01 00 A8 */ lfs f0, 0xa8(r1) -/* 8009F5B0 0009C4F0 EF 80 00 72 */ fmuls f28, f0, f1 -lbl_8009F5B4: -/* 8009F5B4 0009C4F4 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 8009F5B8 0009C4F8 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 8009F5BC 0009C4FC 41 82 00 2C */ beq lbl_8009F5E8 -/* 8009F5C0 0009C500 3C 60 80 43 */ lis r3, lbl_80430CF4@ha -/* 8009F5C4 0009C504 C4 03 0C F4 */ lfsu f0, lbl_80430CF4@l(r3) -/* 8009F5C8 0009C508 D0 01 00 B8 */ stfs f0, 0xb8(r1) -/* 8009F5CC 0009C50C C0 03 00 04 */ lfs f0, 4(r3) -/* 8009F5D0 0009C510 D0 01 00 BC */ stfs f0, 0xbc(r1) -/* 8009F5D4 0009C514 C0 03 00 08 */ lfs f0, 8(r3) -/* 8009F5D8 0009C518 D0 01 00 C0 */ stfs f0, 0xc0(r1) -/* 8009F5DC 0009C51C 3A E0 00 00 */ li r23, 0 -/* 8009F5E0 0009C520 3B 00 00 00 */ li r24, 0 -/* 8009F5E4 0009C524 48 00 00 78 */ b lbl_8009F65C -lbl_8009F5E8: -/* 8009F5E8 0009C528 A8 7F 30 60 */ lha r3, 0x3060(r31) -/* 8009F5EC 0009C52C 7C 17 18 50 */ subf r0, r23, r3 -/* 8009F5F0 0009C530 7C 00 07 34 */ extsh r0, r0 -/* 8009F5F4 0009C534 7C 00 0E 70 */ srawi r0, r0, 1 -/* 8009F5F8 0009C538 7C 17 07 34 */ extsh r23, r0 -/* 8009F5FC 0009C53C 48 2C 5A D5 */ bl func_803650D0 -/* 8009F600 0009C540 2C 03 30 00 */ cmpwi r3, 0x3000 -/* 8009F604 0009C544 40 81 00 1C */ ble lbl_8009F620 -/* 8009F608 0009C548 A8 7F 30 60 */ lha r3, 0x3060(r31) -/* 8009F60C 0009C54C 48 2C 5A C5 */ bl func_803650D0 -/* 8009F610 0009C550 2C 03 50 00 */ cmpwi r3, 0x5000 -/* 8009F614 0009C554 40 80 00 0C */ bge lbl_8009F620 -/* 8009F618 0009C558 3B 00 00 00 */ li r24, 0 -/* 8009F61C 0009C55C 48 00 00 18 */ b lbl_8009F634 -lbl_8009F620: -/* 8009F620 0009C560 A8 1F 30 62 */ lha r0, 0x3062(r31) -/* 8009F624 0009C564 7C 18 00 50 */ subf r0, r24, r0 -/* 8009F628 0009C568 7C 00 07 34 */ extsh r0, r0 -/* 8009F62C 0009C56C 7C 00 0E 70 */ srawi r0, r0, 1 -/* 8009F630 0009C570 7C 18 07 34 */ extsh r24, r0 -lbl_8009F634: -/* 8009F634 0009C574 38 61 00 64 */ addi r3, r1, 0x64 -/* 8009F638 0009C578 38 9F 34 C8 */ addi r4, r31, 0x34c8 -/* 8009F63C 0009C57C 38 A1 00 C4 */ addi r5, r1, 0xc4 -/* 8009F640 0009C580 48 1C 74 F5 */ bl cXyz_NS___mi -/* 8009F644 0009C584 C0 01 00 64 */ lfs f0, 0x64(r1) -/* 8009F648 0009C588 D0 01 00 B8 */ stfs f0, 0xb8(r1) -/* 8009F64C 0009C58C C0 01 00 68 */ lfs f0, 0x68(r1) -/* 8009F650 0009C590 D0 01 00 BC */ stfs f0, 0xbc(r1) -/* 8009F654 0009C594 C0 01 00 6C */ lfs f0, 0x6c(r1) -/* 8009F658 0009C598 D0 01 00 C0 */ stfs f0, 0xc0(r1) -lbl_8009F65C: -/* 8009F65C 0009C59C 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 8009F660 0009C5A0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 8009F664 0009C5A4 41 82 00 28 */ beq lbl_8009F68C -/* 8009F668 0009C5A8 38 61 00 58 */ addi r3, r1, 0x58 -/* 8009F66C 0009C5AC 38 81 00 D0 */ addi r4, r1, 0xd0 -/* 8009F670 0009C5B0 FC 20 D8 90 */ fmr f1, f27 -/* 8009F674 0009C5B4 48 1C 75 11 */ bl cXyz_NS___ml -/* 8009F678 0009C5B8 38 61 00 B8 */ addi r3, r1, 0xb8 -/* 8009F67C 0009C5BC 38 81 00 58 */ addi r4, r1, 0x58 -/* 8009F680 0009C5C0 7C 65 1B 78 */ mr r5, r3 -/* 8009F684 0009C5C4 48 2A 7A 0D */ bl PSVECAdd -/* 8009F688 0009C5C8 48 00 00 54 */ b lbl_8009F6DC -lbl_8009F68C: -/* 8009F68C 0009C5CC C0 5F 37 A0 */ lfs f2, 0x37a0(r31) -/* 8009F690 0009C5D0 C0 1F 37 98 */ lfs f0, 0x3798(r31) -/* 8009F694 0009C5D4 D0 01 00 40 */ stfs f0, 0x40(r1) -/* 8009F698 0009C5D8 C0 22 92 C0 */ lfs f1, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F69C 0009C5DC D0 21 00 44 */ stfs f1, 0x44(r1) -/* 8009F6A0 0009C5E0 D0 41 00 48 */ stfs f2, 0x48(r1) -/* 8009F6A4 0009C5E4 C0 5F 04 D8 */ lfs f2, 0x4d8(r31) -/* 8009F6A8 0009C5E8 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 8009F6AC 0009C5EC D0 01 00 4C */ stfs f0, 0x4c(r1) -/* 8009F6B0 0009C5F0 D0 21 00 50 */ stfs f1, 0x50(r1) -/* 8009F6B4 0009C5F4 D0 41 00 54 */ stfs f2, 0x54(r1) -/* 8009F6B8 0009C5F8 38 61 00 40 */ addi r3, r1, 0x40 -/* 8009F6BC 0009C5FC 38 81 00 4C */ addi r4, r1, 0x4c -/* 8009F6C0 0009C600 48 2A 7C DD */ bl PSVECSquareDistance -/* 8009F6C4 0009C604 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009F6C8 0009C608 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F6CC 0009C60C 40 80 00 10 */ bge lbl_8009F6DC -/* 8009F6D0 0009C610 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F6D4 0009C614 D0 01 00 B8 */ stfs f0, 0xb8(r1) -/* 8009F6D8 0009C618 D0 01 00 C0 */ stfs f0, 0xc0(r1) -lbl_8009F6DC: -/* 8009F6DC 0009C61C 38 61 00 B8 */ addi r3, r1, 0xb8 -/* 8009F6E0 0009C620 38 9F 35 B8 */ addi r4, r31, 0x35b8 -/* 8009F6E4 0009C624 7C 65 1B 78 */ mr r5, r3 -/* 8009F6E8 0009C628 48 2A 79 A9 */ bl PSVECAdd -/* 8009F6EC 0009C62C 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 8009F6F0 0009C630 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 8009F6F4 0009C634 41 82 00 24 */ beq lbl_8009F718 -/* 8009F6F8 0009C638 C0 21 00 B8 */ lfs f1, 0xb8(r1) -/* 8009F6FC 0009C63C C0 1F 34 00 */ lfs f0, 0x3400(r31) -/* 8009F700 0009C640 EC 01 00 2A */ fadds f0, f1, f0 -/* 8009F704 0009C644 D0 01 00 B8 */ stfs f0, 0xb8(r1) -/* 8009F708 0009C648 C0 21 00 C0 */ lfs f1, 0xc0(r1) -/* 8009F70C 0009C64C C0 1F 34 04 */ lfs f0, 0x3404(r31) -/* 8009F710 0009C650 EC 01 00 2A */ fadds f0, f1, f0 -/* 8009F714 0009C654 D0 01 00 C0 */ stfs f0, 0xc0(r1) -lbl_8009F718: -/* 8009F718 0009C658 7F E3 FB 78 */ mr r3, r31 -/* 8009F71C 0009C65C 38 81 00 B8 */ addi r4, r1, 0xb8 -/* 8009F720 0009C660 48 04 2D 5D */ bl daAlink_c_NS_multVecMagneBootInvMtx -/* 8009F724 0009C664 80 7F 05 70 */ lwz r3, 0x570(r31) -/* 8009F728 0009C668 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17 -/* 8009F72C 0009C66C 40 82 00 18 */ bne lbl_8009F744 -/* 8009F730 0009C670 C0 21 00 BC */ lfs f1, 0xbc(r1) -/* 8009F734 0009C674 C0 02 93 14 */ lfs f0, lbl_80452D14-_SDA2_BASE_(r2) -/* 8009F738 0009C678 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8009F73C 0009C67C D0 01 00 BC */ stfs f0, 0xbc(r1) -/* 8009F740 0009C680 48 00 00 48 */ b lbl_8009F788 -lbl_8009F744: -/* 8009F744 0009C684 54 60 04 E7 */ rlwinm. r0, r3, 0, 0x13, 0x13 -/* 8009F748 0009C688 41 82 00 30 */ beq lbl_8009F778 -/* 8009F74C 0009C68C 38 7F 1D C0 */ addi r3, r31, 0x1dc0 -/* 8009F750 0009C690 38 80 00 00 */ li r4, 0 -/* 8009F754 0009C694 48 00 2A 8D */ bl daAlink_c_NS_getMoveBGActorName -/* 8009F758 0009C698 7C 60 07 34 */ extsh r0, r3 -/* 8009F75C 0009C69C 2C 00 00 C6 */ cmpwi r0, 0xc6 -/* 8009F760 0009C6A0 40 82 00 18 */ bne lbl_8009F778 -/* 8009F764 0009C6A4 C0 21 00 BC */ lfs f1, 0xbc(r1) -/* 8009F768 0009C6A8 C0 02 93 3C */ lfs f0, lbl_80452D3C-_SDA2_BASE_(r2) -/* 8009F76C 0009C6AC EC 01 00 2A */ fadds f0, f1, f0 -/* 8009F770 0009C6B0 D0 01 00 BC */ stfs f0, 0xbc(r1) -/* 8009F774 0009C6B4 48 00 00 14 */ b lbl_8009F788 -lbl_8009F778: -/* 8009F778 0009C6B8 C0 21 00 BC */ lfs f1, 0xbc(r1) -/* 8009F77C 0009C6BC C0 02 93 3C */ lfs f0, lbl_80452D3C-_SDA2_BASE_(r2) -/* 8009F780 0009C6C0 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8009F784 0009C6C4 D0 01 00 BC */ stfs f0, 0xbc(r1) -lbl_8009F788: -/* 8009F788 0009C6C8 C0 01 00 B8 */ lfs f0, 0xb8(r1) -/* 8009F78C 0009C6CC FC 00 02 10 */ fabs f0, f0 -/* 8009F790 0009C6D0 FC 20 00 18 */ frsp f1, f0 -/* 8009F794 0009C6D4 C0 02 93 88 */ lfs f0, lbl_80452D88-_SDA2_BASE_(r2) -/* 8009F798 0009C6D8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F79C 0009C6DC 40 80 00 0C */ bge lbl_8009F7A8 -/* 8009F7A0 0009C6E0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F7A4 0009C6E4 D0 01 00 B8 */ stfs f0, 0xb8(r1) -lbl_8009F7A8: -/* 8009F7A8 0009C6E8 C0 01 00 C0 */ lfs f0, 0xc0(r1) -/* 8009F7AC 0009C6EC FC 00 02 10 */ fabs f0, f0 -/* 8009F7B0 0009C6F0 FC 20 00 18 */ frsp f1, f0 -/* 8009F7B4 0009C6F4 C0 02 93 88 */ lfs f0, lbl_80452D88-_SDA2_BASE_(r2) -/* 8009F7B8 0009C6F8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F7BC 0009C6FC 40 80 00 0C */ bge lbl_8009F7C8 -/* 8009F7C0 0009C700 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F7C4 0009C704 D0 01 00 C0 */ stfs f0, 0xc0(r1) -lbl_8009F7C8: -/* 8009F7C8 0009C708 80 1F 05 70 */ lwz r0, 0x570(r31) -/* 8009F7CC 0009C70C 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 -/* 8009F7D0 0009C710 41 82 00 38 */ beq lbl_8009F808 -/* 8009F7D4 0009C714 38 7F 2C 78 */ addi r3, r31, 0x2c78 -/* 8009F7D8 0009C718 3C 80 80 3E */ lis r4, lbl_803DD470@ha -/* 8009F7DC 0009C71C 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l -/* 8009F7E0 0009C720 48 2A 6C D1 */ bl PSMTXCopy -/* 8009F7E4 0009C724 80 7F 06 50 */ lwz r3, 0x650(r31) -/* 8009F7E8 0009C728 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009F7EC 0009C72C 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009F7F0 0009C730 38 83 00 60 */ addi r4, r3, 0x60 -/* 8009F7F4 0009C734 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009F7F8 0009C738 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009F7FC 0009C73C 7C 65 1B 78 */ mr r5, r3 -/* 8009F800 0009C740 48 2A 6C E5 */ bl PSMTXConcat -/* 8009F804 0009C744 48 00 00 20 */ b lbl_8009F824 -lbl_8009F808: -/* 8009F808 0009C748 80 7F 06 50 */ lwz r3, 0x650(r31) -/* 8009F80C 0009C74C 80 63 00 84 */ lwz r3, 0x84(r3) -/* 8009F810 0009C750 80 63 00 0C */ lwz r3, 0xc(r3) -/* 8009F814 0009C754 38 63 00 60 */ addi r3, r3, 0x60 -/* 8009F818 0009C758 3C 80 80 3E */ lis r4, lbl_803DD470@ha -/* 8009F81C 0009C75C 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l -/* 8009F820 0009C760 48 2A 6C 91 */ bl PSMTXCopy -lbl_8009F824: -/* 8009F824 0009C764 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009F828 0009C768 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009F82C 0009C76C 3C 80 80 43 */ lis r4, lbl_80430D24@ha -/* 8009F830 0009C770 38 84 0D 24 */ addi r4, r4, lbl_80430D24@l -/* 8009F834 0009C774 38 A1 00 94 */ addi r5, r1, 0x94 -/* 8009F838 0009C778 48 2A 76 15 */ bl PSMTXMultVecSR -/* 8009F83C 0009C77C 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009F840 0009C780 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009F844 0009C784 3C 80 80 43 */ lis r4, lbl_80430D0C@ha -/* 8009F848 0009C788 38 84 0D 0C */ addi r4, r4, lbl_80430D0C@l -/* 8009F84C 0009C78C 38 A1 00 88 */ addi r5, r1, 0x88 -/* 8009F850 0009C790 48 2A 75 1D */ bl PSMTXMultVec -/* 8009F854 0009C794 C0 21 00 8C */ lfs f1, 0x8c(r1) -/* 8009F858 0009C798 3C 60 80 3E */ lis r3, lbl_803DD470@ha -/* 8009F85C 0009C79C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l -/* 8009F860 0009C7A0 C0 03 00 1C */ lfs f0, 0x1c(r3) -/* 8009F864 0009C7A4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F868 0009C7A8 40 80 01 3C */ bge lbl_8009F9A4 -/* 8009F86C 0009C7AC 7F E3 FB 78 */ mr r3, r31 -/* 8009F870 0009C7B0 38 80 01 16 */ li r4, 0x116 -/* 8009F874 0009C7B4 48 00 CC E5 */ bl daAlink_c_NS_checkUnderMove0BckNoArc -/* 8009F878 0009C7B8 2C 03 00 00 */ cmpwi r3, 0 -/* 8009F87C 0009C7BC 40 82 01 28 */ bne lbl_8009F9A4 -/* 8009F880 0009C7C0 C0 01 00 94 */ lfs f0, 0x94(r1) -/* 8009F884 0009C7C4 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8009F888 0009C7C8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F88C 0009C7CC D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8009F890 0009C7D0 C0 01 00 9C */ lfs f0, 0x9c(r1) -/* 8009F894 0009C7D4 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8009F898 0009C7D8 38 61 00 1C */ addi r3, r1, 0x1c -/* 8009F89C 0009C7DC 48 2A 78 9D */ bl PSVECSquareMag -/* 8009F8A0 0009C7E0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009F8A4 0009C7E4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F8A8 0009C7E8 40 81 00 58 */ ble lbl_8009F900 -/* 8009F8AC 0009C7EC FC 00 08 34 */ frsqrte f0, f1 -/* 8009F8B0 0009C7F0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) -/* 8009F8B4 0009C7F4 FC 44 00 32 */ fmul f2, f4, f0 -/* 8009F8B8 0009C7F8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) -/* 8009F8BC 0009C7FC FC 00 00 32 */ fmul f0, f0, f0 -/* 8009F8C0 0009C800 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009F8C4 0009C804 FC 03 00 28 */ fsub f0, f3, f0 -/* 8009F8C8 0009C808 FC 02 00 32 */ fmul f0, f2, f0 -/* 8009F8CC 0009C80C FC 44 00 32 */ fmul f2, f4, f0 -/* 8009F8D0 0009C810 FC 00 00 32 */ fmul f0, f0, f0 -/* 8009F8D4 0009C814 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009F8D8 0009C818 FC 03 00 28 */ fsub f0, f3, f0 -/* 8009F8DC 0009C81C FC 02 00 32 */ fmul f0, f2, f0 -/* 8009F8E0 0009C820 FC 44 00 32 */ fmul f2, f4, f0 -/* 8009F8E4 0009C824 FC 00 00 32 */ fmul f0, f0, f0 -/* 8009F8E8 0009C828 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009F8EC 0009C82C FC 03 00 28 */ fsub f0, f3, f0 -/* 8009F8F0 0009C830 FC 02 00 32 */ fmul f0, f2, f0 -/* 8009F8F4 0009C834 FC 41 00 32 */ fmul f2, f1, f0 -/* 8009F8F8 0009C838 FC 40 10 18 */ frsp f2, f2 -/* 8009F8FC 0009C83C 48 00 00 90 */ b lbl_8009F98C -lbl_8009F900: -/* 8009F900 0009C840 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) -/* 8009F904 0009C844 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009F908 0009C848 40 80 00 10 */ bge lbl_8009F918 -/* 8009F90C 0009C84C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 8009F910 0009C850 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3) -/* 8009F914 0009C854 48 00 00 78 */ b lbl_8009F98C -lbl_8009F918: -/* 8009F918 0009C858 D0 21 00 0C */ stfs f1, 0xc(r1) -/* 8009F91C 0009C85C 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8009F920 0009C860 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8009F924 0009C864 3C 00 7F 80 */ lis r0, 0x7f80 -/* 8009F928 0009C868 7C 03 00 00 */ cmpw r3, r0 -/* 8009F92C 0009C86C 41 82 00 14 */ beq lbl_8009F940 -/* 8009F930 0009C870 40 80 00 40 */ bge lbl_8009F970 -/* 8009F934 0009C874 2C 03 00 00 */ cmpwi r3, 0 -/* 8009F938 0009C878 41 82 00 20 */ beq lbl_8009F958 -/* 8009F93C 0009C87C 48 00 00 34 */ b lbl_8009F970 -lbl_8009F940: -/* 8009F940 0009C880 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8009F944 0009C884 41 82 00 0C */ beq lbl_8009F950 -/* 8009F948 0009C888 38 00 00 01 */ li r0, 1 -/* 8009F94C 0009C88C 48 00 00 28 */ b lbl_8009F974 -lbl_8009F950: -/* 8009F950 0009C890 38 00 00 02 */ li r0, 2 -/* 8009F954 0009C894 48 00 00 20 */ b lbl_8009F974 -lbl_8009F958: -/* 8009F958 0009C898 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8009F95C 0009C89C 41 82 00 0C */ beq lbl_8009F968 -/* 8009F960 0009C8A0 38 00 00 05 */ li r0, 5 -/* 8009F964 0009C8A4 48 00 00 10 */ b lbl_8009F974 -lbl_8009F968: -/* 8009F968 0009C8A8 38 00 00 03 */ li r0, 3 -/* 8009F96C 0009C8AC 48 00 00 08 */ b lbl_8009F974 -lbl_8009F970: -/* 8009F970 0009C8B0 38 00 00 04 */ li r0, 4 -lbl_8009F974: -/* 8009F974 0009C8B4 2C 00 00 01 */ cmpwi r0, 1 -/* 8009F978 0009C8B8 40 82 00 10 */ bne lbl_8009F988 -/* 8009F97C 0009C8BC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 8009F980 0009C8C0 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3) -/* 8009F984 0009C8C4 48 00 00 08 */ b lbl_8009F98C -lbl_8009F988: -/* 8009F988 0009C8C8 FC 40 08 90 */ fmr f2, f1 -lbl_8009F98C: -/* 8009F98C 0009C8CC C0 01 00 98 */ lfs f0, 0x98(r1) -/* 8009F990 0009C8D0 FC 20 00 50 */ fneg f1, f0 -/* 8009F994 0009C8D4 FC 40 10 50 */ fneg f2, f2 -/* 8009F998 0009C8D8 48 1C 7C DD */ bl cM_atan2s -/* 8009F99C 0009C8DC 7C 7B 07 34 */ extsh r27, r3 -/* 8009F9A0 0009C8E0 48 00 00 10 */ b lbl_8009F9B0 -lbl_8009F9A4: -/* 8009F9A4 0009C8E4 38 61 00 94 */ addi r3, r1, 0x94 -/* 8009F9A8 0009C8E8 48 1C 77 A9 */ bl cXyz_NS_atan2sY_XZ -/* 8009F9AC 0009C8EC 7C 7B 07 34 */ extsh r27, r3 -lbl_8009F9B0: -/* 8009F9B0 0009C8F0 3B 5F 30 3A */ addi r26, r31, 0x303a -/* 8009F9B4 0009C8F4 3B 3F 30 4E */ addi r25, r31, 0x304e -/* 8009F9B8 0009C8F8 A8 1F 30 3A */ lha r0, 0x303a(r31) -/* 8009F9BC 0009C8FC 7C 17 00 50 */ subf r0, r23, r0 -/* 8009F9C0 0009C900 B0 1F 30 3A */ sth r0, 0x303a(r31) -/* 8009F9C4 0009C904 A8 1F 30 4E */ lha r0, 0x304e(r31) -/* 8009F9C8 0009C908 7C 18 00 50 */ subf r0, r24, r0 -/* 8009F9CC 0009C90C B0 1F 30 4E */ sth r0, 0x304e(r31) -/* 8009F9D0 0009C910 AB BF 30 3A */ lha r29, 0x303a(r31) -/* 8009F9D4 0009C914 AB 9F 30 4E */ lha r28, 0x304e(r31) -/* 8009F9D8 0009C918 C0 01 00 C0 */ lfs f0, 0xc0(r1) -/* 8009F9DC 0009C91C EC 20 07 32 */ fmuls f1, f0, f28 -/* 8009F9E0 0009C920 C0 01 00 B8 */ lfs f0, 0xb8(r1) -/* 8009F9E4 0009C924 EC 00 07 72 */ fmuls f0, f0, f29 -/* 8009F9E8 0009C928 EF C1 00 2A */ fadds f30, f1, f0 -/* 8009F9EC 0009C92C C0 21 00 BC */ lfs f1, 0xbc(r1) -/* 8009F9F0 0009C930 FC 40 F0 50 */ fneg f2, f30 -/* 8009F9F4 0009C934 48 1C 7C 81 */ bl cM_atan2s -/* 8009F9F8 0009C938 A8 9F 30 60 */ lha r4, 0x3060(r31) -/* 8009F9FC 0009C93C 7C 60 07 34 */ extsh r0, r3 -/* 8009FA00 0009C940 7C 04 00 50 */ subf r0, r4, r0 -/* 8009FA04 0009C944 2C 00 C8 00 */ cmpwi r0, -14336 -/* 8009FA08 0009C948 40 80 00 0C */ bge lbl_8009FA14 -/* 8009FA0C 0009C94C 38 60 C8 00 */ li r3, -14336 -/* 8009FA10 0009C950 48 00 00 14 */ b lbl_8009FA24 -lbl_8009FA14: -/* 8009FA14 0009C954 2C 00 38 00 */ cmpwi r0, 0x3800 -/* 8009FA18 0009C958 38 60 38 00 */ li r3, 0x3800 -/* 8009FA1C 0009C95C 41 81 00 08 */ bgt lbl_8009FA24 -/* 8009FA20 0009C960 7C 03 03 78 */ mr r3, r0 -lbl_8009FA24: -/* 8009FA24 0009C964 7C 03 22 14 */ add r0, r3, r4 -/* 8009FA28 0009C968 7C 03 07 34 */ extsh r3, r0 -/* 8009FA2C 0009C96C 38 1B C8 00 */ addi r0, r27, -14336 -/* 8009FA30 0009C970 7C 03 00 00 */ cmpw r3, r0 -/* 8009FA34 0009C974 40 80 00 08 */ bge lbl_8009FA3C -/* 8009FA38 0009C978 7C 03 07 34 */ extsh r3, r0 -lbl_8009FA3C: -/* 8009FA3C 0009C97C 7C 60 07 34 */ extsh r0, r3 -/* 8009FA40 0009C980 7C 84 00 50 */ subf r4, r4, r0 -/* 8009FA44 0009C984 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 8009FA48 0009C988 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 8009FA4C 0009C98C 41 82 00 0C */ beq lbl_8009FA58 -/* 8009FA50 0009C990 B0 9A 00 00 */ sth r4, 0(r26) -/* 8009FA54 0009C994 48 00 00 18 */ b lbl_8009FA6C -lbl_8009FA58: -/* 8009FA58 0009C998 7F 43 D3 78 */ mr r3, r26 -/* 8009FA5C 0009C99C 7C 84 07 34 */ extsh r4, r4 -/* 8009FA60 0009C9A0 38 A0 00 05 */ li r5, 5 -/* 8009FA64 0009C9A4 38 C0 04 00 */ li r6, 0x400 -/* 8009FA68 0009C9A8 48 1D 0B A1 */ bl cLib_addCalcAngleS2 -lbl_8009FA6C: -/* 8009FA6C 0009C9AC A8 7A 00 00 */ lha r3, 0(r26) -/* 8009FA70 0009C9B0 A8 1F 30 54 */ lha r0, 0x3054(r31) -/* 8009FA74 0009C9B4 7C 03 02 14 */ add r0, r3, r0 -/* 8009FA78 0009C9B8 7C 03 07 34 */ extsh r3, r0 -/* 8009FA7C 0009C9BC 2C 03 C8 00 */ cmpwi r3, -14336 -/* 8009FA80 0009C9C0 40 80 00 0C */ bge lbl_8009FA8C -/* 8009FA84 0009C9C4 38 00 C8 00 */ li r0, -14336 -/* 8009FA88 0009C9C8 48 00 00 14 */ b lbl_8009FA9C -lbl_8009FA8C: -/* 8009FA8C 0009C9CC 2C 03 38 00 */ cmpwi r3, 0x3800 -/* 8009FA90 0009C9D0 38 00 38 00 */ li r0, 0x3800 -/* 8009FA94 0009C9D4 41 81 00 08 */ bgt lbl_8009FA9C -/* 8009FA98 0009C9D8 7C 60 1B 78 */ mr r0, r3 -lbl_8009FA9C: -/* 8009FA9C 0009C9DC B0 1A 00 00 */ sth r0, 0(r26) -/* 8009FAA0 0009C9E0 EC 3E 07 B2 */ fmuls f1, f30, f30 -/* 8009FAA4 0009C9E4 C0 01 00 BC */ lfs f0, 0xbc(r1) -/* 8009FAA8 0009C9E8 EC 00 00 32 */ fmuls f0, f0, f0 -/* 8009FAAC 0009C9EC EC 41 00 2A */ fadds f2, f1, f0 -/* 8009FAB0 0009C9F0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009FAB4 0009C9F4 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8009FAB8 0009C9F8 40 81 00 0C */ ble lbl_8009FAC4 -/* 8009FABC 0009C9FC FC 00 10 34 */ frsqrte f0, f2 -/* 8009FAC0 0009CA00 EC 40 00 B2 */ fmuls f2, f0, f2 -lbl_8009FAC4: -/* 8009FAC4 0009CA04 C0 01 00 B8 */ lfs f0, 0xb8(r1) -/* 8009FAC8 0009CA08 EC 20 07 32 */ fmuls f1, f0, f28 -/* 8009FACC 0009CA0C C0 01 00 C0 */ lfs f0, 0xc0(r1) -/* 8009FAD0 0009CA10 EC 00 07 72 */ fmuls f0, f0, f29 -/* 8009FAD4 0009CA14 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8009FAD8 0009CA18 FC 20 00 50 */ fneg f1, f0 -/* 8009FADC 0009CA1C 48 1C 7B 99 */ bl cM_atan2s -/* 8009FAE0 0009CA20 7C 60 07 34 */ extsh r0, r3 -/* 8009FAE4 0009CA24 2C 00 D8 00 */ cmpwi r0, -10240 -/* 8009FAE8 0009CA28 40 80 00 0C */ bge lbl_8009FAF4 -/* 8009FAEC 0009CA2C 38 00 D8 00 */ li r0, -10240 -/* 8009FAF0 0009CA30 48 00 00 14 */ b lbl_8009FB04 -lbl_8009FAF4: -/* 8009FAF4 0009CA34 2C 00 28 00 */ cmpwi r0, 0x2800 -/* 8009FAF8 0009CA38 38 00 28 00 */ li r0, 0x2800 -/* 8009FAFC 0009CA3C 41 81 00 08 */ bgt lbl_8009FB04 -/* 8009FB00 0009CA40 7C 60 1B 78 */ mr r0, r3 -lbl_8009FB04: -/* 8009FB04 0009CA44 7C 04 07 34 */ extsh r4, r0 -/* 8009FB08 0009CA48 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 8009FB0C 0009CA4C 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 8009FB10 0009CA50 41 82 00 0C */ beq lbl_8009FB1C -/* 8009FB14 0009CA54 B0 99 00 00 */ sth r4, 0(r25) -/* 8009FB18 0009CA58 48 00 00 14 */ b lbl_8009FB2C -lbl_8009FB1C: -/* 8009FB1C 0009CA5C 7F 23 CB 78 */ mr r3, r25 -/* 8009FB20 0009CA60 38 A0 00 05 */ li r5, 5 -/* 8009FB24 0009CA64 38 C0 04 00 */ li r6, 0x400 -/* 8009FB28 0009CA68 48 1D 0A E1 */ bl cLib_addCalcAngleS2 -lbl_8009FB2C: -/* 8009FB2C 0009CA6C A8 79 00 00 */ lha r3, 0(r25) -/* 8009FB30 0009CA70 A8 1F 30 5A */ lha r0, 0x305a(r31) -/* 8009FB34 0009CA74 7C 03 02 14 */ add r0, r3, r0 -/* 8009FB38 0009CA78 7C 03 07 34 */ extsh r3, r0 -/* 8009FB3C 0009CA7C 2C 03 D8 00 */ cmpwi r3, -10240 -/* 8009FB40 0009CA80 40 80 00 0C */ bge lbl_8009FB4C -/* 8009FB44 0009CA84 38 00 D8 00 */ li r0, -10240 -/* 8009FB48 0009CA88 48 00 00 14 */ b lbl_8009FB5C -lbl_8009FB4C: -/* 8009FB4C 0009CA8C 2C 03 28 00 */ cmpwi r3, 0x2800 -/* 8009FB50 0009CA90 38 00 28 00 */ li r0, 0x2800 -/* 8009FB54 0009CA94 41 81 00 08 */ bgt lbl_8009FB5C -/* 8009FB58 0009CA98 7C 60 1B 78 */ mr r0, r3 -lbl_8009FB5C: -/* 8009FB5C 0009CA9C B0 19 00 00 */ sth r0, 0(r25) -/* 8009FB60 0009CAA0 C3 C2 93 F8 */ lfs f30, lbl_80452DF8-_SDA2_BASE_(r2) -/* 8009FB64 0009CAA4 A8 1A 00 00 */ lha r0, 0(r26) -/* 8009FB68 0009CAA8 7C 1D 00 50 */ subf r0, r29, r0 -/* 8009FB6C 0009CAAC CB E2 92 B0 */ lfd f31, lbl_80452CB0-_SDA2_BASE_(r2) -/* 8009FB70 0009CAB0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8009FB74 0009CAB4 90 01 00 E4 */ stw r0, 0xe4(r1) -/* 8009FB78 0009CAB8 3F 00 43 30 */ lis r24, 0x4330 -/* 8009FB7C 0009CABC 93 01 00 E0 */ stw r24, 0xe0(r1) -/* 8009FB80 0009CAC0 C8 01 00 E0 */ lfd f0, 0xe0(r1) -/* 8009FB84 0009CAC4 EC 00 F8 28 */ fsubs f0, f0, f31 -/* 8009FB88 0009CAC8 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8009FB8C 0009CACC FC 00 00 1E */ fctiwz f0, f0 -/* 8009FB90 0009CAD0 D8 01 00 E8 */ stfd f0, 0xe8(r1) -/* 8009FB94 0009CAD4 80 01 00 EC */ lwz r0, 0xec(r1) -/* 8009FB98 0009CAD8 B0 1F 30 54 */ sth r0, 0x3054(r31) -/* 8009FB9C 0009CADC A8 19 00 00 */ lha r0, 0(r25) -/* 8009FBA0 0009CAE0 7C 1C 00 50 */ subf r0, r28, r0 -/* 8009FBA4 0009CAE4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8009FBA8 0009CAE8 90 01 00 F4 */ stw r0, 0xf4(r1) -/* 8009FBAC 0009CAEC 93 01 00 F0 */ stw r24, 0xf0(r1) -/* 8009FBB0 0009CAF0 C8 01 00 F0 */ lfd f0, 0xf0(r1) -/* 8009FBB4 0009CAF4 EC 00 F8 28 */ fsubs f0, f0, f31 -/* 8009FBB8 0009CAF8 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8009FBBC 0009CAFC FC 00 00 1E */ fctiwz f0, f0 -/* 8009FBC0 0009CB00 D8 01 00 F8 */ stfd f0, 0xf8(r1) -/* 8009FBC4 0009CB04 80 01 00 FC */ lwz r0, 0xfc(r1) -/* 8009FBC8 0009CB08 B0 1F 30 5A */ sth r0, 0x305a(r31) -/* 8009FBCC 0009CB0C A8 7A 00 00 */ lha r3, 0(r26) -/* 8009FBD0 0009CB10 A8 1F 30 60 */ lha r0, 0x3060(r31) -/* 8009FBD4 0009CB14 7C 03 02 14 */ add r0, r3, r0 -/* 8009FBD8 0009CB18 7C 17 07 34 */ extsh r23, r0 -/* 8009FBDC 0009CB1C 3A 80 00 01 */ li r20, 1 -/* 8009FBE0 0009CB20 3A DF 30 56 */ addi r22, r31, 0x3056 -/* 8009FBE4 0009CB24 3A BF 30 5C */ addi r21, r31, 0x305c -/* 8009FBE8 0009CB28 3B 7B C8 00 */ addi r27, r27, -14336 -/* 8009FBEC 0009CB2C 3B 5A 00 02 */ addi r26, r26, 2 -/* 8009FBF0 0009CB30 3B 39 00 02 */ addi r25, r25, 2 -lbl_8009FBF4: -/* 8009FBF4 0009CB34 A8 1A FF FE */ lha r0, -2(r26) -/* 8009FBF8 0009CB38 7C 1D 00 50 */ subf r0, r29, r0 -/* 8009FBFC 0009CB3C 7C 00 07 34 */ extsh r0, r0 -/* 8009FC00 0009CB40 7C 03 0E 70 */ srawi r3, r0, 1 -/* 8009FC04 0009CB44 A8 1A 00 00 */ lha r0, 0(r26) -/* 8009FC08 0009CB48 7C 03 00 50 */ subf r0, r3, r0 -/* 8009FC0C 0009CB4C B0 1A 00 00 */ sth r0, 0(r26) -/* 8009FC10 0009CB50 A8 19 FF FE */ lha r0, -2(r25) -/* 8009FC14 0009CB54 7C 1C 00 50 */ subf r0, r28, r0 -/* 8009FC18 0009CB58 7C 00 07 34 */ extsh r0, r0 -/* 8009FC1C 0009CB5C 7C 03 0E 70 */ srawi r3, r0, 1 -/* 8009FC20 0009CB60 A8 19 00 00 */ lha r0, 0(r25) -/* 8009FC24 0009CB64 7C 03 00 50 */ subf r0, r3, r0 -/* 8009FC28 0009CB68 B0 19 00 00 */ sth r0, 0(r25) -/* 8009FC2C 0009CB6C AB BA 00 00 */ lha r29, 0(r26) -/* 8009FC30 0009CB70 AB 99 00 00 */ lha r28, 0(r25) -/* 8009FC34 0009CB74 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 8009FC38 0009CB78 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 8009FC3C 0009CB7C 41 82 00 14 */ beq lbl_8009FC50 -/* 8009FC40 0009CB80 38 00 00 00 */ li r0, 0 -/* 8009FC44 0009CB84 B0 1A 00 00 */ sth r0, 0(r26) -/* 8009FC48 0009CB88 B0 19 00 00 */ sth r0, 0(r25) -/* 8009FC4C 0009CB8C 48 00 00 2C */ b lbl_8009FC78 -lbl_8009FC50: -/* 8009FC50 0009CB90 7F 43 D3 78 */ mr r3, r26 -/* 8009FC54 0009CB94 38 80 00 00 */ li r4, 0 -/* 8009FC58 0009CB98 38 A0 00 05 */ li r5, 5 -/* 8009FC5C 0009CB9C 38 C0 04 00 */ li r6, 0x400 -/* 8009FC60 0009CBA0 48 1D 09 A9 */ bl cLib_addCalcAngleS2 -/* 8009FC64 0009CBA4 7F 23 CB 78 */ mr r3, r25 -/* 8009FC68 0009CBA8 38 80 00 00 */ li r4, 0 -/* 8009FC6C 0009CBAC 38 A0 00 05 */ li r5, 5 -/* 8009FC70 0009CBB0 38 C0 04 00 */ li r6, 0x400 -/* 8009FC74 0009CBB4 48 1D 09 95 */ bl cLib_addCalcAngleS2 -lbl_8009FC78: -/* 8009FC78 0009CBB8 A8 7A 00 00 */ lha r3, 0(r26) -/* 8009FC7C 0009CBBC A8 16 00 00 */ lha r0, 0(r22) -/* 8009FC80 0009CBC0 7C 03 02 14 */ add r0, r3, r0 -/* 8009FC84 0009CBC4 7C 03 07 34 */ extsh r3, r0 -/* 8009FC88 0009CBC8 2C 03 F0 00 */ cmpwi r3, -4096 -/* 8009FC8C 0009CBCC 40 80 00 0C */ bge lbl_8009FC98 -/* 8009FC90 0009CBD0 38 00 F0 00 */ li r0, -4096 -/* 8009FC94 0009CBD4 48 00 00 14 */ b lbl_8009FCA8 -lbl_8009FC98: -/* 8009FC98 0009CBD8 2C 03 10 00 */ cmpwi r3, 0x1000 -/* 8009FC9C 0009CBDC 38 00 10 00 */ li r0, 0x1000 -/* 8009FCA0 0009CBE0 41 81 00 08 */ bgt lbl_8009FCA8 -/* 8009FCA4 0009CBE4 7C 60 1B 78 */ mr r0, r3 -lbl_8009FCA8: -/* 8009FCA8 0009CBE8 B0 1A 00 00 */ sth r0, 0(r26) -/* 8009FCAC 0009CBEC A8 7A 00 00 */ lha r3, 0(r26) -/* 8009FCB0 0009CBF0 7E F7 1A 14 */ add r23, r23, r3 -/* 8009FCB4 0009CBF4 7E E0 07 34 */ extsh r0, r23 -/* 8009FCB8 0009CBF8 7C 00 D8 00 */ cmpw r0, r27 -/* 8009FCBC 0009CBFC 40 80 00 14 */ bge lbl_8009FCD0 -/* 8009FCC0 0009CC00 7C 00 D8 50 */ subf r0, r0, r27 -/* 8009FCC4 0009CC04 7C 03 02 14 */ add r0, r3, r0 -/* 8009FCC8 0009CC08 B0 1A 00 00 */ sth r0, 0(r26) -/* 8009FCCC 0009CC0C 7F 77 07 34 */ extsh r23, r27 -lbl_8009FCD0: -/* 8009FCD0 0009CC10 A8 79 00 00 */ lha r3, 0(r25) -/* 8009FCD4 0009CC14 A8 15 00 00 */ lha r0, 0(r21) -/* 8009FCD8 0009CC18 7C 03 02 14 */ add r0, r3, r0 -/* 8009FCDC 0009CC1C 7C 03 07 34 */ extsh r3, r0 -/* 8009FCE0 0009CC20 2C 03 E0 00 */ cmpwi r3, -8192 -/* 8009FCE4 0009CC24 40 80 00 0C */ bge lbl_8009FCF0 -/* 8009FCE8 0009CC28 38 00 E0 00 */ li r0, -8192 -/* 8009FCEC 0009CC2C 48 00 00 14 */ b lbl_8009FD00 -lbl_8009FCF0: -/* 8009FCF0 0009CC30 2C 03 20 00 */ cmpwi r3, 0x2000 -/* 8009FCF4 0009CC34 38 00 20 00 */ li r0, 0x2000 -/* 8009FCF8 0009CC38 41 81 00 08 */ bgt lbl_8009FD00 -/* 8009FCFC 0009CC3C 7C 60 1B 78 */ mr r0, r3 -lbl_8009FD00: -/* 8009FD00 0009CC40 B0 19 00 00 */ sth r0, 0(r25) -/* 8009FD04 0009CC44 A8 1A 00 00 */ lha r0, 0(r26) -/* 8009FD08 0009CC48 7C 1D 00 50 */ subf r0, r29, r0 -/* 8009FD0C 0009CC4C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8009FD10 0009CC50 90 01 00 FC */ stw r0, 0xfc(r1) -/* 8009FD14 0009CC54 93 01 00 F8 */ stw r24, 0xf8(r1) -/* 8009FD18 0009CC58 C8 01 00 F8 */ lfd f0, 0xf8(r1) -/* 8009FD1C 0009CC5C EC 00 F8 28 */ fsubs f0, f0, f31 -/* 8009FD20 0009CC60 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8009FD24 0009CC64 FC 00 00 1E */ fctiwz f0, f0 -/* 8009FD28 0009CC68 D8 01 00 F0 */ stfd f0, 0xf0(r1) -/* 8009FD2C 0009CC6C 80 01 00 F4 */ lwz r0, 0xf4(r1) -/* 8009FD30 0009CC70 B0 16 00 00 */ sth r0, 0(r22) -/* 8009FD34 0009CC74 A8 19 00 00 */ lha r0, 0(r25) -/* 8009FD38 0009CC78 7C 1C 00 50 */ subf r0, r28, r0 -/* 8009FD3C 0009CC7C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8009FD40 0009CC80 90 01 00 EC */ stw r0, 0xec(r1) -/* 8009FD44 0009CC84 93 01 00 E8 */ stw r24, 0xe8(r1) -/* 8009FD48 0009CC88 C8 01 00 E8 */ lfd f0, 0xe8(r1) -/* 8009FD4C 0009CC8C EC 00 F8 28 */ fsubs f0, f0, f31 -/* 8009FD50 0009CC90 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8009FD54 0009CC94 FC 00 00 1E */ fctiwz f0, f0 -/* 8009FD58 0009CC98 D8 01 00 E0 */ stfd f0, 0xe0(r1) -/* 8009FD5C 0009CC9C 80 01 00 E4 */ lwz r0, 0xe4(r1) -/* 8009FD60 0009CCA0 B0 15 00 00 */ sth r0, 0(r21) -/* 8009FD64 0009CCA4 3A 94 00 01 */ addi r20, r20, 1 -/* 8009FD68 0009CCA8 2C 14 00 03 */ cmpwi r20, 3 -/* 8009FD6C 0009CCAC 3B 5A 00 02 */ addi r26, r26, 2 -/* 8009FD70 0009CCB0 3B 39 00 02 */ addi r25, r25, 2 -/* 8009FD74 0009CCB4 3A D6 00 02 */ addi r22, r22, 2 -/* 8009FD78 0009CCB8 3A B5 00 02 */ addi r21, r21, 2 -/* 8009FD7C 0009CCBC 41 80 FE 78 */ blt lbl_8009FBF4 -/* 8009FD80 0009CCC0 38 7F 34 C8 */ addi r3, r31, 0x34c8 -/* 8009FD84 0009CCC4 38 81 00 C4 */ addi r4, r1, 0xc4 -/* 8009FD88 0009CCC8 48 2A 76 15 */ bl PSVECSquareDistance -/* 8009FD8C 0009CCCC C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 8009FD90 0009CCD0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009FD94 0009CCD4 40 81 00 58 */ ble lbl_8009FDEC -/* 8009FD98 0009CCD8 FC 00 08 34 */ frsqrte f0, f1 -/* 8009FD9C 0009CCDC C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) -/* 8009FDA0 0009CCE0 FC 44 00 32 */ fmul f2, f4, f0 -/* 8009FDA4 0009CCE4 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) -/* 8009FDA8 0009CCE8 FC 00 00 32 */ fmul f0, f0, f0 -/* 8009FDAC 0009CCEC FC 01 00 32 */ fmul f0, f1, f0 -/* 8009FDB0 0009CCF0 FC 03 00 28 */ fsub f0, f3, f0 -/* 8009FDB4 0009CCF4 FC 02 00 32 */ fmul f0, f2, f0 -/* 8009FDB8 0009CCF8 FC 44 00 32 */ fmul f2, f4, f0 -/* 8009FDBC 0009CCFC FC 00 00 32 */ fmul f0, f0, f0 -/* 8009FDC0 0009CD00 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009FDC4 0009CD04 FC 03 00 28 */ fsub f0, f3, f0 -/* 8009FDC8 0009CD08 FC 02 00 32 */ fmul f0, f2, f0 -/* 8009FDCC 0009CD0C FC 44 00 32 */ fmul f2, f4, f0 -/* 8009FDD0 0009CD10 FC 00 00 32 */ fmul f0, f0, f0 -/* 8009FDD4 0009CD14 FC 01 00 32 */ fmul f0, f1, f0 -/* 8009FDD8 0009CD18 FC 03 00 28 */ fsub f0, f3, f0 -/* 8009FDDC 0009CD1C FC 02 00 32 */ fmul f0, f2, f0 -/* 8009FDE0 0009CD20 FC 21 00 32 */ fmul f1, f1, f0 -/* 8009FDE4 0009CD24 FC 20 08 18 */ frsp f1, f1 -/* 8009FDE8 0009CD28 48 00 00 88 */ b lbl_8009FE70 -lbl_8009FDEC: -/* 8009FDEC 0009CD2C C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) -/* 8009FDF0 0009CD30 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8009FDF4 0009CD34 40 80 00 10 */ bge lbl_8009FE04 -/* 8009FDF8 0009CD38 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 8009FDFC 0009CD3C C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) -/* 8009FE00 0009CD40 48 00 00 70 */ b lbl_8009FE70 -lbl_8009FE04: -/* 8009FE04 0009CD44 D0 21 00 08 */ stfs f1, 8(r1) -/* 8009FE08 0009CD48 80 81 00 08 */ lwz r4, 8(r1) -/* 8009FE0C 0009CD4C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8009FE10 0009CD50 3C 00 7F 80 */ lis r0, 0x7f80 -/* 8009FE14 0009CD54 7C 03 00 00 */ cmpw r3, r0 -/* 8009FE18 0009CD58 41 82 00 14 */ beq lbl_8009FE2C -/* 8009FE1C 0009CD5C 40 80 00 40 */ bge lbl_8009FE5C -/* 8009FE20 0009CD60 2C 03 00 00 */ cmpwi r3, 0 -/* 8009FE24 0009CD64 41 82 00 20 */ beq lbl_8009FE44 -/* 8009FE28 0009CD68 48 00 00 34 */ b lbl_8009FE5C -lbl_8009FE2C: -/* 8009FE2C 0009CD6C 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8009FE30 0009CD70 41 82 00 0C */ beq lbl_8009FE3C -/* 8009FE34 0009CD74 38 00 00 01 */ li r0, 1 -/* 8009FE38 0009CD78 48 00 00 28 */ b lbl_8009FE60 -lbl_8009FE3C: -/* 8009FE3C 0009CD7C 38 00 00 02 */ li r0, 2 -/* 8009FE40 0009CD80 48 00 00 20 */ b lbl_8009FE60 -lbl_8009FE44: -/* 8009FE44 0009CD84 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 8009FE48 0009CD88 41 82 00 0C */ beq lbl_8009FE54 -/* 8009FE4C 0009CD8C 38 00 00 05 */ li r0, 5 -/* 8009FE50 0009CD90 48 00 00 10 */ b lbl_8009FE60 -lbl_8009FE54: -/* 8009FE54 0009CD94 38 00 00 03 */ li r0, 3 -/* 8009FE58 0009CD98 48 00 00 08 */ b lbl_8009FE60 -lbl_8009FE5C: -/* 8009FE5C 0009CD9C 38 00 00 04 */ li r0, 4 -lbl_8009FE60: -/* 8009FE60 0009CDA0 2C 00 00 01 */ cmpwi r0, 1 -/* 8009FE64 0009CDA4 40 82 00 0C */ bne lbl_8009FE70 -/* 8009FE68 0009CDA8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 8009FE6C 0009CDAC C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) -lbl_8009FE70: -/* 8009FE70 0009CDB0 C0 02 97 00 */ lfs f0, lbl_80453100-_SDA2_BASE_(r2) -/* 8009FE74 0009CDB4 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8009FE78 0009CDB8 EC 3B 00 2A */ fadds f1, f27, f0 -/* 8009FE7C 0009CDBC C0 02 92 E0 */ lfs f0, lbl_80452CE0-_SDA2_BASE_(r2) -/* 8009FE80 0009CDC0 EC 41 00 24 */ fdivs f2, f1, f0 -/* 8009FE84 0009CDC4 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) -/* 8009FE88 0009CDC8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8009FE8C 0009CDCC 40 81 00 08 */ ble lbl_8009FE94 -/* 8009FE90 0009CDD0 FC 40 00 90 */ fmr f2, f0 -lbl_8009FE94: -/* 8009FE94 0009CDD4 FC 80 10 90 */ fmr f4, f2 -/* 8009FE98 0009CDD8 2C 1E 00 00 */ cmpwi r30, 0 -/* 8009FE9C 0009CDDC 41 82 00 18 */ beq lbl_8009FEB4 -/* 8009FEA0 0009CDE0 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 8009FEA4 0009CDE4 54 00 02 D9 */ rlwinm. r0, r0, 0, 0xb, 0xc -/* 8009FEA8 0009CDE8 40 82 00 0C */ bne lbl_8009FEB4 -/* 8009FEAC 0009CDEC C0 42 96 58 */ lfs f2, lbl_80453058-_SDA2_BASE_(r2) -/* 8009FEB0 0009CDF0 C0 82 92 B8 */ lfs f4, lbl_80452CB8-_SDA2_BASE_(r2) -lbl_8009FEB4: -/* 8009FEB4 0009CDF4 C0 22 95 0C */ lfs f1, lbl_80452F0C-_SDA2_BASE_(r2) -/* 8009FEB8 0009CDF8 C0 02 97 F4 */ lfs f0, lbl_804531F4-_SDA2_BASE_(r2) -/* 8009FEBC 0009CDFC EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8009FEC0 0009CE00 EC 01 00 2A */ fadds f0, f1, f0 -/* 8009FEC4 0009CE04 FC 00 00 1E */ fctiwz f0, f0 -/* 8009FEC8 0009CE08 D8 01 00 F8 */ stfd f0, 0xf8(r1) -/* 8009FECC 0009CE0C 80 81 00 FC */ lwz r4, 0xfc(r1) -/* 8009FED0 0009CE10 A8 1F 30 64 */ lha r0, 0x3064(r31) -/* 8009FED4 0009CE14 7C 00 22 14 */ add r0, r0, r4 -/* 8009FED8 0009CE18 B0 1F 30 64 */ sth r0, 0x3064(r31) -/* 8009FEDC 0009CE1C 39 00 00 00 */ li r8, 0 -/* 8009FEE0 0009CE20 38 60 00 00 */ li r3, 0 -/* 8009FEE4 0009CE24 7C 87 07 34 */ extsh r7, r4 -/* 8009FEE8 0009CE28 3C 80 80 44 */ lis r4, lbl_80439A20@ha -/* 8009FEEC 0009CE2C 38 C4 9A 20 */ addi r6, r4, lbl_80439A20@l -/* 8009FEF0 0009CE30 C0 42 94 D4 */ lfs f2, lbl_80452ED4-_SDA2_BASE_(r2) -/* 8009FEF4 0009CE34 C8 22 92 B0 */ lfd f1, lbl_80452CB0-_SDA2_BASE_(r2) -/* 8009FEF8 0009CE38 3C A0 43 30 */ lis r5, 0x4330 -/* 8009FEFC 0009CE3C 38 00 00 03 */ li r0, 3 -/* 8009FF00 0009CE40 7C 09 03 A6 */ mtctr r0 -lbl_8009FF04: -/* 8009FF04 0009CE44 38 08 00 03 */ addi r0, r8, 3 -/* 8009FF08 0009CE48 7C 80 39 D6 */ mullw r4, r0, r7 -/* 8009FF0C 0009CE4C A8 1F 30 64 */ lha r0, 0x3064(r31) -/* 8009FF10 0009CE50 7C 04 00 50 */ subf r0, r4, r0 -/* 8009FF14 0009CE54 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 8009FF18 0009CE58 7C 86 02 14 */ add r4, r6, r0 -/* 8009FF1C 0009CE5C C0 64 00 04 */ lfs f3, 4(r4) -/* 8009FF20 0009CE60 38 08 00 01 */ addi r0, r8, 1 -/* 8009FF24 0009CE64 54 00 10 3A */ slwi r0, r0, 2 -/* 8009FF28 0009CE68 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8009FF2C 0009CE6C 90 01 00 FC */ stw r0, 0xfc(r1) -/* 8009FF30 0009CE70 90 A1 00 F8 */ stw r5, 0xf8(r1) -/* 8009FF34 0009CE74 C8 01 00 F8 */ lfd f0, 0xf8(r1) -/* 8009FF38 0009CE78 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8009FF3C 0009CE7C EC 02 00 32 */ fmuls f0, f2, f0 -/* 8009FF40 0009CE80 FC 00 00 1E */ fctiwz f0, f0 -/* 8009FF44 0009CE84 D8 01 00 F0 */ stfd f0, 0xf0(r1) -/* 8009FF48 0009CE88 80 01 00 F4 */ lwz r0, 0xf4(r1) -/* 8009FF4C 0009CE8C 7C 00 07 34 */ extsh r0, r0 -/* 8009FF50 0009CE90 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8009FF54 0009CE94 90 01 00 EC */ stw r0, 0xec(r1) -/* 8009FF58 0009CE98 90 A1 00 E8 */ stw r5, 0xe8(r1) -/* 8009FF5C 0009CE9C C8 01 00 E8 */ lfd f0, 0xe8(r1) -/* 8009FF60 0009CEA0 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8009FF64 0009CEA4 EC 04 00 32 */ fmuls f0, f4, f0 -/* 8009FF68 0009CEA8 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 8009FF6C 0009CEAC FC 00 00 1E */ fctiwz f0, f0 -/* 8009FF70 0009CEB0 D8 01 00 E0 */ stfd f0, 0xe0(r1) -/* 8009FF74 0009CEB4 80 81 00 E4 */ lwz r4, 0xe4(r1) -/* 8009FF78 0009CEB8 38 03 30 66 */ addi r0, r3, 0x3066 -/* 8009FF7C 0009CEBC 7C 9F 03 2E */ sthx r4, r31, r0 -/* 8009FF80 0009CEC0 39 08 00 01 */ addi r8, r8, 1 -/* 8009FF84 0009CEC4 38 63 00 02 */ addi r3, r3, 2 -/* 8009FF88 0009CEC8 42 00 FF 7C */ bdnz lbl_8009FF04 -/* 8009FF8C 0009CECC C0 01 00 C4 */ lfs f0, 0xc4(r1) -/* 8009FF90 0009CED0 D0 1F 34 C8 */ stfs f0, 0x34c8(r31) -/* 8009FF94 0009CED4 C0 01 00 C8 */ lfs f0, 0xc8(r1) -/* 8009FF98 0009CED8 D0 1F 34 CC */ stfs f0, 0x34cc(r31) -/* 8009FF9C 0009CEDC C0 01 00 CC */ lfs f0, 0xcc(r1) -/* 8009FFA0 0009CEE0 D0 1F 34 D0 */ stfs f0, 0x34d0(r31) -/* 8009FFA4 0009CEE4 7F E3 FB 78 */ mr r3, r31 -/* 8009FFA8 0009CEE8 38 81 00 B8 */ addi r4, r1, 0xb8 -/* 8009FFAC 0009CEEC FC 20 E8 90 */ fmr f1, f29 -/* 8009FFB0 0009CEF0 FC 40 E0 90 */ fmr f2, f28 -/* 8009FFB4 0009CEF4 48 00 00 79 */ bl daAlink_c_NS_setHairAngle -lbl_8009FFB8: -/* 8009FFB8 0009CEF8 E3 E1 01 78 */ psq_l f31, 376(r1), 0, qr0 -/* 8009FFBC 0009CEFC CB E1 01 70 */ lfd f31, 0x170(r1) -/* 8009FFC0 0009CF00 E3 C1 01 68 */ psq_l f30, 360(r1), 0, qr0 -/* 8009FFC4 0009CF04 CB C1 01 60 */ lfd f30, 0x160(r1) -/* 8009FFC8 0009CF08 E3 A1 01 58 */ psq_l f29, 344(r1), 0, qr0 -/* 8009FFCC 0009CF0C CB A1 01 50 */ lfd f29, 0x150(r1) -/* 8009FFD0 0009CF10 E3 81 01 48 */ psq_l f28, 328(r1), 0, qr0 -/* 8009FFD4 0009CF14 CB 81 01 40 */ lfd f28, 0x140(r1) -/* 8009FFD8 0009CF18 E3 61 01 38 */ psq_l f27, 312(r1), 0, qr0 -/* 8009FFDC 0009CF1C CB 61 01 30 */ lfd f27, 0x130(r1) -/* 8009FFE0 0009CF20 39 61 01 30 */ addi r11, r1, 0x130 -/* 8009FFE4 0009CF24 48 2C 22 21 */ bl func_80362204 -/* 8009FFE8 0009CF28 80 01 01 84 */ lwz r0, 0x184(r1) -/* 8009FFEC 0009CF2C 7C 08 03 A6 */ mtlr r0 -/* 8009FFF0 0009CF30 38 21 01 80 */ addi r1, r1, 0x180 -/* 8009FFF4 0009CF34 4E 80 00 20 */ blr - -.global daAlink_c_NS_calcHairAngle -daAlink_c_NS_calcHairAngle: -/* 8009FFF8 0009CF38 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009FFFC 0009CF3C 7C 08 02 A6 */ mflr r0 -/* 800A0000 0009CF40 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A0004 0009CF44 7C 83 23 78 */ mr r3, r4 -/* 800A0008 0009CF48 38 80 00 00 */ li r4, 0 -/* 800A000C 0009CF4C 38 A0 00 05 */ li r5, 5 -/* 800A0010 0009CF50 38 C0 01 90 */ li r6, 0x190 -/* 800A0014 0009CF54 38 E0 00 32 */ li r7, 0x32 -/* 800A0018 0009CF58 48 1D 05 29 */ bl cLib_addCalcAngleS -/* 800A001C 0009CF5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A0020 0009CF60 7C 08 03 A6 */ mtlr r0 -/* 800A0024 0009CF64 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A0028 0009CF68 4E 80 00 20 */ blr - -.global daAlink_c_NS_setHairAngle -daAlink_c_NS_setHairAngle: -/* 800A002C 0009CF6C 94 21 FF 60 */ stwu r1, -0xa0(r1) -/* 800A0030 0009CF70 7C 08 02 A6 */ mflr r0 -/* 800A0034 0009CF74 90 01 00 A4 */ stw r0, 0xa4(r1) -/* 800A0038 0009CF78 DB E1 00 90 */ stfd f31, 0x90(r1) -/* 800A003C 0009CF7C F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 -/* 800A0040 0009CF80 DB C1 00 80 */ stfd f30, 0x80(r1) -/* 800A0044 0009CF84 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 -/* 800A0048 0009CF88 DB A1 00 70 */ stfd f29, 0x70(r1) -/* 800A004C 0009CF8C F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0 -/* 800A0050 0009CF90 DB 81 00 60 */ stfd f28, 0x60(r1) -/* 800A0054 0009CF94 F3 81 00 68 */ psq_st f28, 104(r1), 0, qr0 -/* 800A0058 0009CF98 DB 61 00 50 */ stfd f27, 0x50(r1) -/* 800A005C 0009CF9C F3 61 00 58 */ psq_st f27, 88(r1), 0, qr0 -/* 800A0060 0009CFA0 93 E1 00 4C */ stw r31, 0x4c(r1) -/* 800A0064 0009CFA4 93 C1 00 48 */ stw r30, 0x48(r1) -/* 800A0068 0009CFA8 7C 7E 1B 78 */ mr r30, r3 -/* 800A006C 0009CFAC 7C 9F 23 78 */ mr r31, r4 -/* 800A0070 0009CFB0 FF 80 08 90 */ fmr f28, f1 -/* 800A0074 0009CFB4 FF A0 10 90 */ fmr f29, f2 -/* 800A0078 0009CFB8 7F E3 FB 78 */ mr r3, r31 -/* 800A007C 0009CFBC 48 2A 70 BD */ bl PSVECSquareMag -/* 800A0080 0009CFC0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 800A0084 0009CFC4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A0088 0009CFC8 40 81 00 58 */ ble lbl_800A00E0 -/* 800A008C 0009CFCC FC 00 08 34 */ frsqrte f0, f1 -/* 800A0090 0009CFD0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) -/* 800A0094 0009CFD4 FC 44 00 32 */ fmul f2, f4, f0 -/* 800A0098 0009CFD8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) -/* 800A009C 0009CFDC FC 00 00 32 */ fmul f0, f0, f0 -/* 800A00A0 0009CFE0 FC 01 00 32 */ fmul f0, f1, f0 -/* 800A00A4 0009CFE4 FC 03 00 28 */ fsub f0, f3, f0 -/* 800A00A8 0009CFE8 FC 02 00 32 */ fmul f0, f2, f0 -/* 800A00AC 0009CFEC FC 44 00 32 */ fmul f2, f4, f0 -/* 800A00B0 0009CFF0 FC 00 00 32 */ fmul f0, f0, f0 -/* 800A00B4 0009CFF4 FC 01 00 32 */ fmul f0, f1, f0 -/* 800A00B8 0009CFF8 FC 03 00 28 */ fsub f0, f3, f0 -/* 800A00BC 0009CFFC FC 02 00 32 */ fmul f0, f2, f0 -/* 800A00C0 0009D000 FC 44 00 32 */ fmul f2, f4, f0 -/* 800A00C4 0009D004 FC 00 00 32 */ fmul f0, f0, f0 -/* 800A00C8 0009D008 FC 01 00 32 */ fmul f0, f1, f0 -/* 800A00CC 0009D00C FC 03 00 28 */ fsub f0, f3, f0 -/* 800A00D0 0009D010 FC 02 00 32 */ fmul f0, f2, f0 -/* 800A00D4 0009D014 FF E1 00 32 */ fmul f31, f1, f0 -/* 800A00D8 0009D018 FF E0 F8 18 */ frsp f31, f31 -/* 800A00DC 0009D01C 48 00 00 90 */ b lbl_800A016C -lbl_800A00E0: -/* 800A00E0 0009D020 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) -/* 800A00E4 0009D024 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A00E8 0009D028 40 80 00 10 */ bge lbl_800A00F8 -/* 800A00EC 0009D02C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 800A00F0 0009D030 C3 E3 0A E0 */ lfs f31, lbl_80450AE0@l(r3) -/* 800A00F4 0009D034 48 00 00 78 */ b lbl_800A016C -lbl_800A00F8: -/* 800A00F8 0009D038 D0 21 00 0C */ stfs f1, 0xc(r1) -/* 800A00FC 0009D03C 80 81 00 0C */ lwz r4, 0xc(r1) -/* 800A0100 0009D040 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 800A0104 0009D044 3C 00 7F 80 */ lis r0, 0x7f80 -/* 800A0108 0009D048 7C 03 00 00 */ cmpw r3, r0 -/* 800A010C 0009D04C 41 82 00 14 */ beq lbl_800A0120 -/* 800A0110 0009D050 40 80 00 40 */ bge lbl_800A0150 -/* 800A0114 0009D054 2C 03 00 00 */ cmpwi r3, 0 -/* 800A0118 0009D058 41 82 00 20 */ beq lbl_800A0138 -/* 800A011C 0009D05C 48 00 00 34 */ b lbl_800A0150 -lbl_800A0120: -/* 800A0120 0009D060 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 800A0124 0009D064 41 82 00 0C */ beq lbl_800A0130 -/* 800A0128 0009D068 38 00 00 01 */ li r0, 1 -/* 800A012C 0009D06C 48 00 00 28 */ b lbl_800A0154 -lbl_800A0130: -/* 800A0130 0009D070 38 00 00 02 */ li r0, 2 -/* 800A0134 0009D074 48 00 00 20 */ b lbl_800A0154 -lbl_800A0138: -/* 800A0138 0009D078 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 800A013C 0009D07C 41 82 00 0C */ beq lbl_800A0148 -/* 800A0140 0009D080 38 00 00 05 */ li r0, 5 -/* 800A0144 0009D084 48 00 00 10 */ b lbl_800A0154 -lbl_800A0148: -/* 800A0148 0009D088 38 00 00 03 */ li r0, 3 -/* 800A014C 0009D08C 48 00 00 08 */ b lbl_800A0154 -lbl_800A0150: -/* 800A0150 0009D090 38 00 00 04 */ li r0, 4 -lbl_800A0154: -/* 800A0154 0009D094 2C 00 00 01 */ cmpwi r0, 1 -/* 800A0158 0009D098 40 82 00 10 */ bne lbl_800A0168 -/* 800A015C 0009D09C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 800A0160 0009D0A0 C3 E3 0A E0 */ lfs f31, lbl_80450AE0@l(r3) -/* 800A0164 0009D0A4 48 00 00 08 */ b lbl_800A016C -lbl_800A0168: -/* 800A0168 0009D0A8 FF E0 08 90 */ fmr f31, f1 -lbl_800A016C: -/* 800A016C 0009D0AC C0 3F 00 08 */ lfs f1, 8(r31) -/* 800A0170 0009D0B0 C0 1F 00 00 */ lfs f0, 0(r31) -/* 800A0174 0009D0B4 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 800A0178 0009D0B8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 800A017C 0009D0BC D0 01 00 14 */ stfs f0, 0x14(r1) -/* 800A0180 0009D0C0 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 800A0184 0009D0C4 38 61 00 10 */ addi r3, r1, 0x10 -/* 800A0188 0009D0C8 48 2A 6F B1 */ bl PSVECSquareMag -/* 800A018C 0009D0CC C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 800A0190 0009D0D0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A0194 0009D0D4 40 81 00 58 */ ble lbl_800A01EC -/* 800A0198 0009D0D8 FC 00 08 34 */ frsqrte f0, f1 -/* 800A019C 0009D0DC C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) -/* 800A01A0 0009D0E0 FC 44 00 32 */ fmul f2, f4, f0 -/* 800A01A4 0009D0E4 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) -/* 800A01A8 0009D0E8 FC 00 00 32 */ fmul f0, f0, f0 -/* 800A01AC 0009D0EC FC 01 00 32 */ fmul f0, f1, f0 -/* 800A01B0 0009D0F0 FC 03 00 28 */ fsub f0, f3, f0 -/* 800A01B4 0009D0F4 FC 02 00 32 */ fmul f0, f2, f0 -/* 800A01B8 0009D0F8 FC 44 00 32 */ fmul f2, f4, f0 -/* 800A01BC 0009D0FC FC 00 00 32 */ fmul f0, f0, f0 -/* 800A01C0 0009D100 FC 01 00 32 */ fmul f0, f1, f0 -/* 800A01C4 0009D104 FC 03 00 28 */ fsub f0, f3, f0 -/* 800A01C8 0009D108 FC 02 00 32 */ fmul f0, f2, f0 -/* 800A01CC 0009D10C FC 44 00 32 */ fmul f2, f4, f0 -/* 800A01D0 0009D110 FC 00 00 32 */ fmul f0, f0, f0 -/* 800A01D4 0009D114 FC 01 00 32 */ fmul f0, f1, f0 -/* 800A01D8 0009D118 FC 03 00 28 */ fsub f0, f3, f0 -/* 800A01DC 0009D11C FC 02 00 32 */ fmul f0, f2, f0 -/* 800A01E0 0009D120 FF C1 00 32 */ fmul f30, f1, f0 -/* 800A01E4 0009D124 FF C0 F0 18 */ frsp f30, f30 -/* 800A01E8 0009D128 48 00 00 90 */ b lbl_800A0278 -lbl_800A01EC: -/* 800A01EC 0009D12C C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) -/* 800A01F0 0009D130 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A01F4 0009D134 40 80 00 10 */ bge lbl_800A0204 -/* 800A01F8 0009D138 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 800A01FC 0009D13C C3 C3 0A E0 */ lfs f30, lbl_80450AE0@l(r3) -/* 800A0200 0009D140 48 00 00 78 */ b lbl_800A0278 -lbl_800A0204: -/* 800A0204 0009D144 D0 21 00 08 */ stfs f1, 8(r1) -/* 800A0208 0009D148 80 81 00 08 */ lwz r4, 8(r1) -/* 800A020C 0009D14C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 800A0210 0009D150 3C 00 7F 80 */ lis r0, 0x7f80 -/* 800A0214 0009D154 7C 03 00 00 */ cmpw r3, r0 -/* 800A0218 0009D158 41 82 00 14 */ beq lbl_800A022C -/* 800A021C 0009D15C 40 80 00 40 */ bge lbl_800A025C -/* 800A0220 0009D160 2C 03 00 00 */ cmpwi r3, 0 -/* 800A0224 0009D164 41 82 00 20 */ beq lbl_800A0244 -/* 800A0228 0009D168 48 00 00 34 */ b lbl_800A025C -lbl_800A022C: -/* 800A022C 0009D16C 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 800A0230 0009D170 41 82 00 0C */ beq lbl_800A023C -/* 800A0234 0009D174 38 00 00 01 */ li r0, 1 -/* 800A0238 0009D178 48 00 00 28 */ b lbl_800A0260 -lbl_800A023C: -/* 800A023C 0009D17C 38 00 00 02 */ li r0, 2 -/* 800A0240 0009D180 48 00 00 20 */ b lbl_800A0260 -lbl_800A0244: -/* 800A0244 0009D184 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 800A0248 0009D188 41 82 00 0C */ beq lbl_800A0254 -/* 800A024C 0009D18C 38 00 00 05 */ li r0, 5 -/* 800A0250 0009D190 48 00 00 10 */ b lbl_800A0260 -lbl_800A0254: -/* 800A0254 0009D194 38 00 00 03 */ li r0, 3 -/* 800A0258 0009D198 48 00 00 08 */ b lbl_800A0260 -lbl_800A025C: -/* 800A025C 0009D19C 38 00 00 04 */ li r0, 4 -lbl_800A0260: -/* 800A0260 0009D1A0 2C 00 00 01 */ cmpwi r0, 1 -/* 800A0264 0009D1A4 40 82 00 10 */ bne lbl_800A0274 -/* 800A0268 0009D1A8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 800A026C 0009D1AC C3 C3 0A E0 */ lfs f30, lbl_80450AE0@l(r3) -/* 800A0270 0009D1B0 48 00 00 08 */ b lbl_800A0278 -lbl_800A0274: -/* 800A0274 0009D1B4 FF C0 08 90 */ fmr f30, f1 -lbl_800A0278: -/* 800A0278 0009D1B8 C0 22 92 B8 */ lfs f1, lbl_80452CB8-_SDA2_BASE_(r2) -/* 800A027C 0009D1BC FC 1F 08 40 */ fcmpo cr0, f31, f1 -/* 800A0280 0009D1C0 41 80 00 0C */ blt lbl_800A028C -/* 800A0284 0009D1C4 FC 1E 08 40 */ fcmpo cr0, f30, f1 -/* 800A0288 0009D1C8 40 80 00 94 */ bge lbl_800A031C -lbl_800A028C: -/* 800A028C 0009D1CC 7F C3 F3 78 */ mr r3, r30 -/* 800A0290 0009D1D0 38 9E 30 2E */ addi r4, r30, 0x302e -/* 800A0294 0009D1D4 4B FF FD 65 */ bl daAlink_c_NS_calcHairAngle -/* 800A0298 0009D1D8 7F C3 F3 78 */ mr r3, r30 -/* 800A029C 0009D1DC 38 9E 30 42 */ addi r4, r30, 0x3042 -/* 800A02A0 0009D1E0 4B FF FD 59 */ bl daAlink_c_NS_calcHairAngle -/* 800A02A4 0009D1E4 7F C3 F3 78 */ mr r3, r30 -/* 800A02A8 0009D1E8 38 9E 30 30 */ addi r4, r30, 0x3030 -/* 800A02AC 0009D1EC 4B FF FD 4D */ bl daAlink_c_NS_calcHairAngle -/* 800A02B0 0009D1F0 7F C3 F3 78 */ mr r3, r30 -/* 800A02B4 0009D1F4 38 9E 30 44 */ addi r4, r30, 0x3044 -/* 800A02B8 0009D1F8 4B FF FD 41 */ bl daAlink_c_NS_calcHairAngle -/* 800A02BC 0009D1FC 7F C3 F3 78 */ mr r3, r30 -/* 800A02C0 0009D200 38 9E 30 32 */ addi r4, r30, 0x3032 -/* 800A02C4 0009D204 4B FF FD 35 */ bl daAlink_c_NS_calcHairAngle -/* 800A02C8 0009D208 7F C3 F3 78 */ mr r3, r30 -/* 800A02CC 0009D20C 38 9E 30 46 */ addi r4, r30, 0x3046 -/* 800A02D0 0009D210 4B FF FD 29 */ bl daAlink_c_NS_calcHairAngle -/* 800A02D4 0009D214 7F C3 F3 78 */ mr r3, r30 -/* 800A02D8 0009D218 38 9E 30 34 */ addi r4, r30, 0x3034 -/* 800A02DC 0009D21C 4B FF FD 1D */ bl daAlink_c_NS_calcHairAngle -/* 800A02E0 0009D220 7F C3 F3 78 */ mr r3, r30 -/* 800A02E4 0009D224 38 9E 30 48 */ addi r4, r30, 0x3048 -/* 800A02E8 0009D228 4B FF FD 11 */ bl daAlink_c_NS_calcHairAngle -/* 800A02EC 0009D22C 7F C3 F3 78 */ mr r3, r30 -/* 800A02F0 0009D230 38 9E 30 36 */ addi r4, r30, 0x3036 -/* 800A02F4 0009D234 4B FF FD 05 */ bl daAlink_c_NS_calcHairAngle -/* 800A02F8 0009D238 7F C3 F3 78 */ mr r3, r30 -/* 800A02FC 0009D23C 38 9E 30 4A */ addi r4, r30, 0x304a -/* 800A0300 0009D240 4B FF FC F9 */ bl daAlink_c_NS_calcHairAngle -/* 800A0304 0009D244 38 00 80 00 */ li r0, -32768 -/* 800A0308 0009D248 B0 1E 30 70 */ sth r0, 0x3070(r30) -/* 800A030C 0009D24C B0 1E 30 72 */ sth r0, 0x3072(r30) -/* 800A0310 0009D250 B0 1E 30 74 */ sth r0, 0x3074(r30) -/* 800A0314 0009D254 B0 1E 30 76 */ sth r0, 0x3076(r30) -/* 800A0318 0009D258 48 00 03 EC */ b lbl_800A0704 -lbl_800A031C: -/* 800A031C 0009D25C C0 02 97 F8 */ lfs f0, lbl_804531F8-_SDA2_BASE_(r2) -/* 800A0320 0009D260 EC 5F 00 32 */ fmuls f2, f31, f0 -/* 800A0324 0009D264 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 800A0328 0009D268 40 81 00 08 */ ble lbl_800A0330 -/* 800A032C 0009D26C FC 40 08 90 */ fmr f2, f1 -lbl_800A0330: -/* 800A0330 0009D270 C0 22 93 EC */ lfs f1, lbl_80452DEC-_SDA2_BASE_(r2) -/* 800A0334 0009D274 C0 02 95 DC */ lfs f0, lbl_80452FDC-_SDA2_BASE_(r2) -/* 800A0338 0009D278 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 800A033C 0009D27C EF E1 00 2A */ fadds f31, f1, f0 -/* 800A0340 0009D280 C0 22 93 B8 */ lfs f1, lbl_80452DB8-_SDA2_BASE_(r2) -/* 800A0344 0009D284 48 1C 76 11 */ bl cM_rndF -/* 800A0348 0009D288 C0 02 95 08 */ lfs f0, lbl_80452F08-_SDA2_BASE_(r2) -/* 800A034C 0009D28C EC 00 08 2A */ fadds f0, f0, f1 -/* 800A0350 0009D290 EF 7F 00 32 */ fmuls f27, f31, f0 -/* 800A0354 0009D294 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2) -/* 800A0358 0009D298 48 1C 75 FD */ bl cM_rndF -/* 800A035C 0009D29C C0 42 93 B8 */ lfs f2, lbl_80452DB8-_SDA2_BASE_(r2) -/* 800A0360 0009D2A0 EC 02 08 2A */ fadds f0, f2, f1 -/* 800A0364 0009D2A4 EC 00 D8 2A */ fadds f0, f0, f27 -/* 800A0368 0009D2A8 FC 00 00 1E */ fctiwz f0, f0 -/* 800A036C 0009D2AC D8 01 00 20 */ stfd f0, 0x20(r1) -/* 800A0370 0009D2B0 80 61 00 24 */ lwz r3, 0x24(r1) -/* 800A0374 0009D2B4 A8 1E 30 70 */ lha r0, 0x3070(r30) -/* 800A0378 0009D2B8 7C 00 1A 14 */ add r0, r0, r3 -/* 800A037C 0009D2BC B0 1E 30 70 */ sth r0, 0x3070(r30) -/* 800A0380 0009D2C0 FC 20 10 90 */ fmr f1, f2 -/* 800A0384 0009D2C4 48 1C 75 D1 */ bl cM_rndF -/* 800A0388 0009D2C8 C0 02 95 08 */ lfs f0, lbl_80452F08-_SDA2_BASE_(r2) -/* 800A038C 0009D2CC EC 00 08 2A */ fadds f0, f0, f1 -/* 800A0390 0009D2D0 EF 7F 00 32 */ fmuls f27, f31, f0 -/* 800A0394 0009D2D4 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2) -/* 800A0398 0009D2D8 48 1C 75 BD */ bl cM_rndF -/* 800A039C 0009D2DC C0 02 93 B8 */ lfs f0, lbl_80452DB8-_SDA2_BASE_(r2) -/* 800A03A0 0009D2E0 EC 00 08 2A */ fadds f0, f0, f1 -/* 800A03A4 0009D2E4 EC 00 D8 2A */ fadds f0, f0, f27 -/* 800A03A8 0009D2E8 FC 00 00 1E */ fctiwz f0, f0 -/* 800A03AC 0009D2EC D8 01 00 28 */ stfd f0, 0x28(r1) -/* 800A03B0 0009D2F0 80 61 00 2C */ lwz r3, 0x2c(r1) -/* 800A03B4 0009D2F4 A8 1E 30 72 */ lha r0, 0x3072(r30) -/* 800A03B8 0009D2F8 7C 00 1A 14 */ add r0, r0, r3 -/* 800A03BC 0009D2FC B0 1E 30 72 */ sth r0, 0x3072(r30) -/* 800A03C0 0009D300 C0 22 95 0C */ lfs f1, lbl_80452F0C-_SDA2_BASE_(r2) -/* 800A03C4 0009D304 48 1C 75 91 */ bl cM_rndF -/* 800A03C8 0009D308 C0 02 94 60 */ lfs f0, lbl_80452E60-_SDA2_BASE_(r2) -/* 800A03CC 0009D30C EC 00 08 2A */ fadds f0, f0, f1 -/* 800A03D0 0009D310 EF 7F 00 32 */ fmuls f27, f31, f0 -/* 800A03D4 0009D314 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2) -/* 800A03D8 0009D318 48 1C 75 7D */ bl cM_rndF -/* 800A03DC 0009D31C C0 02 93 B8 */ lfs f0, lbl_80452DB8-_SDA2_BASE_(r2) -/* 800A03E0 0009D320 EC 00 08 2A */ fadds f0, f0, f1 -/* 800A03E4 0009D324 EC 00 D8 2A */ fadds f0, f0, f27 -/* 800A03E8 0009D328 FC 00 00 1E */ fctiwz f0, f0 -/* 800A03EC 0009D32C D8 01 00 30 */ stfd f0, 0x30(r1) -/* 800A03F0 0009D330 80 61 00 34 */ lwz r3, 0x34(r1) -/* 800A03F4 0009D334 A8 1E 30 74 */ lha r0, 0x3074(r30) -/* 800A03F8 0009D338 7C 00 1A 14 */ add r0, r0, r3 -/* 800A03FC 0009D33C B0 1E 30 74 */ sth r0, 0x3074(r30) -/* 800A0400 0009D340 C0 22 95 0C */ lfs f1, lbl_80452F0C-_SDA2_BASE_(r2) -/* 800A0404 0009D344 48 1C 75 51 */ bl cM_rndF -/* 800A0408 0009D348 C0 02 94 60 */ lfs f0, lbl_80452E60-_SDA2_BASE_(r2) -/* 800A040C 0009D34C EC 00 08 2A */ fadds f0, f0, f1 -/* 800A0410 0009D350 EF 7F 00 32 */ fmuls f27, f31, f0 -/* 800A0414 0009D354 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2) -/* 800A0418 0009D358 48 1C 75 3D */ bl cM_rndF -/* 800A041C 0009D35C C0 02 93 B8 */ lfs f0, lbl_80452DB8-_SDA2_BASE_(r2) -/* 800A0420 0009D360 EC 00 08 2A */ fadds f0, f0, f1 -/* 800A0424 0009D364 EC 00 D8 2A */ fadds f0, f0, f27 -/* 800A0428 0009D368 FC 00 00 1E */ fctiwz f0, f0 -/* 800A042C 0009D36C D8 01 00 38 */ stfd f0, 0x38(r1) -/* 800A0430 0009D370 80 61 00 3C */ lwz r3, 0x3c(r1) -/* 800A0434 0009D374 A8 1E 30 76 */ lha r0, 0x3076(r30) -/* 800A0438 0009D378 7C 00 1A 14 */ add r0, r0, r3 -/* 800A043C 0009D37C B0 1E 30 76 */ sth r0, 0x3076(r30) -/* 800A0440 0009D380 C0 A2 92 B8 */ lfs f5, lbl_80452CB8-_SDA2_BASE_(r2) -/* 800A0444 0009D384 EC 25 F0 24 */ fdivs f1, f5, f30 -/* 800A0448 0009D388 C0 1F 00 00 */ lfs f0, 0(r31) -/* 800A044C 0009D38C EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A0450 0009D390 D0 1F 00 00 */ stfs f0, 0(r31) -/* 800A0454 0009D394 C0 1F 00 08 */ lfs f0, 8(r31) -/* 800A0458 0009D398 EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A045C 0009D39C D0 1F 00 08 */ stfs f0, 8(r31) -/* 800A0460 0009D3A0 C0 5F 00 00 */ lfs f2, 0(r31) -/* 800A0464 0009D3A4 EC 22 07 72 */ fmuls f1, f2, f29 -/* 800A0468 0009D3A8 C0 7F 00 08 */ lfs f3, 8(r31) -/* 800A046C 0009D3AC EC 03 07 32 */ fmuls f0, f3, f28 -/* 800A0470 0009D3B0 EC 01 00 28 */ fsubs f0, f1, f0 -/* 800A0474 0009D3B4 EC 42 07 32 */ fmuls f2, f2, f28 -/* 800A0478 0009D3B8 EC 23 07 72 */ fmuls f1, f3, f29 -/* 800A047C 0009D3BC EC 22 08 2A */ fadds f1, f2, f1 -/* 800A0480 0009D3C0 3C 60 80 44 */ lis r3, lbl_80439A20@ha -/* 800A0484 0009D3C4 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l -/* 800A0488 0009D3C8 38 63 00 04 */ addi r3, r3, 4 -/* 800A048C 0009D3CC A8 1E 30 70 */ lha r0, 0x3070(r30) -/* 800A0490 0009D3D0 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 800A0494 0009D3D4 7C 00 1E 70 */ srawi r0, r0, 3 -/* 800A0498 0009D3D8 54 00 18 38 */ slwi r0, r0, 3 -/* 800A049C 0009D3DC 7C 43 04 2E */ lfsx f2, r3, r0 -/* 800A04A0 0009D3E0 C0 C2 92 98 */ lfs f6, lbl_80452C98-_SDA2_BASE_(r2) -/* 800A04A4 0009D3E4 EC 45 10 2A */ fadds f2, f5, f2 -/* 800A04A8 0009D3E8 EC 46 00 B2 */ fmuls f2, f6, f2 -/* 800A04AC 0009D3EC EC 5F 00 B2 */ fmuls f2, f31, f2 -/* 800A04B0 0009D3F0 A8 1E 30 72 */ lha r0, 0x3072(r30) -/* 800A04B4 0009D3F4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800A04B8 0009D3F8 7C 63 04 2E */ lfsx f3, r3, r0 -/* 800A04BC 0009D3FC EC 65 18 2A */ fadds f3, f5, f3 -/* 800A04C0 0009D400 EC 66 00 F2 */ fmuls f3, f6, f3 -/* 800A04C4 0009D404 EC 7F 00 F2 */ fmuls f3, f31, f3 -/* 800A04C8 0009D408 A8 1E 30 74 */ lha r0, 0x3074(r30) -/* 800A04CC 0009D40C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800A04D0 0009D410 7C 83 04 2E */ lfsx f4, r3, r0 -/* 800A04D4 0009D414 EC 85 20 2A */ fadds f4, f5, f4 -/* 800A04D8 0009D418 EC 86 01 32 */ fmuls f4, f6, f4 -/* 800A04DC 0009D41C EC 9F 01 32 */ fmuls f4, f31, f4 -/* 800A04E0 0009D420 A8 1E 30 76 */ lha r0, 0x3076(r30) -/* 800A04E4 0009D424 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800A04E8 0009D428 7C E3 04 2E */ lfsx f7, r3, r0 -/* 800A04EC 0009D42C EC A5 38 2A */ fadds f5, f5, f7 -/* 800A04F0 0009D430 EC A6 01 72 */ fmuls f5, f6, f5 -/* 800A04F4 0009D434 EC BF 01 72 */ fmuls f5, f31, f5 -/* 800A04F8 0009D438 C0 C2 92 C0 */ lfs f6, lbl_80452CC0-_SDA2_BASE_(r2) -/* 800A04FC 0009D43C FC 00 30 40 */ fcmpo cr0, f0, f6 -/* 800A0500 0009D440 40 81 00 94 */ ble lbl_800A0594 -/* 800A0504 0009D444 C0 C2 97 FC */ lfs f6, lbl_804531FC-_SDA2_BASE_(r2) -/* 800A0508 0009D448 EC C6 00 B2 */ fmuls f6, f6, f2 -/* 800A050C 0009D44C EC C6 00 32 */ fmuls f6, f6, f0 -/* 800A0510 0009D450 FC C0 30 1E */ fctiwz f6, f6 -/* 800A0514 0009D454 D8 C1 00 38 */ stfd f6, 0x38(r1) -/* 800A0518 0009D458 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 800A051C 0009D45C B0 1E 30 42 */ sth r0, 0x3042(r30) -/* 800A0520 0009D460 C0 C2 98 00 */ lfs f6, lbl_80453200-_SDA2_BASE_(r2) -/* 800A0524 0009D464 EC C6 00 B2 */ fmuls f6, f6, f2 -/* 800A0528 0009D468 EC C6 00 32 */ fmuls f6, f6, f0 -/* 800A052C 0009D46C FC C0 30 1E */ fctiwz f6, f6 -/* 800A0530 0009D470 D8 C1 00 30 */ stfd f6, 0x30(r1) -/* 800A0534 0009D474 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800A0538 0009D478 B0 1E 30 44 */ sth r0, 0x3044(r30) -/* 800A053C 0009D47C C0 C2 94 4C */ lfs f6, lbl_80452E4C-_SDA2_BASE_(r2) -/* 800A0540 0009D480 EC C6 00 F2 */ fmuls f6, f6, f3 -/* 800A0544 0009D484 EC C6 00 32 */ fmuls f6, f6, f0 -/* 800A0548 0009D488 FC C0 30 1E */ fctiwz f6, f6 -/* 800A054C 0009D48C D8 C1 00 28 */ stfd f6, 0x28(r1) -/* 800A0550 0009D490 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 800A0554 0009D494 B0 1E 30 46 */ sth r0, 0x3046(r30) -/* 800A0558 0009D498 C0 C2 98 04 */ lfs f6, lbl_80453204-_SDA2_BASE_(r2) -/* 800A055C 0009D49C EC C6 01 32 */ fmuls f6, f6, f4 -/* 800A0560 0009D4A0 EC C6 00 32 */ fmuls f6, f6, f0 -/* 800A0564 0009D4A4 FC C0 30 1E */ fctiwz f6, f6 -/* 800A0568 0009D4A8 D8 C1 00 20 */ stfd f6, 0x20(r1) -/* 800A056C 0009D4AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A0570 0009D4B0 B0 1E 30 48 */ sth r0, 0x3048(r30) -/* 800A0574 0009D4B4 C0 C2 94 54 */ lfs f6, lbl_80452E54-_SDA2_BASE_(r2) -/* 800A0578 0009D4B8 EC C6 01 72 */ fmuls f6, f6, f5 -/* 800A057C 0009D4BC EC 06 00 32 */ fmuls f0, f6, f0 -/* 800A0580 0009D4C0 FC 00 00 1E */ fctiwz f0, f0 -/* 800A0584 0009D4C4 D8 01 00 40 */ stfd f0, 0x40(r1) -/* 800A0588 0009D4C8 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800A058C 0009D4CC B0 1E 30 4A */ sth r0, 0x304a(r30) -/* 800A0590 0009D4D0 48 00 00 90 */ b lbl_800A0620 -lbl_800A0594: -/* 800A0594 0009D4D4 C0 C2 93 5C */ lfs f6, lbl_80452D5C-_SDA2_BASE_(r2) -/* 800A0598 0009D4D8 EC C6 00 B2 */ fmuls f6, f6, f2 -/* 800A059C 0009D4DC EC C6 00 32 */ fmuls f6, f6, f0 -/* 800A05A0 0009D4E0 FC C0 30 1E */ fctiwz f6, f6 -/* 800A05A4 0009D4E4 D8 C1 00 40 */ stfd f6, 0x40(r1) -/* 800A05A8 0009D4E8 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800A05AC 0009D4EC B0 1E 30 42 */ sth r0, 0x3042(r30) -/* 800A05B0 0009D4F0 C0 C2 94 4C */ lfs f6, lbl_80452E4C-_SDA2_BASE_(r2) -/* 800A05B4 0009D4F4 EC C6 00 B2 */ fmuls f6, f6, f2 -/* 800A05B8 0009D4F8 EC C6 00 32 */ fmuls f6, f6, f0 -/* 800A05BC 0009D4FC FC C0 30 1E */ fctiwz f6, f6 -/* 800A05C0 0009D500 D8 C1 00 38 */ stfd f6, 0x38(r1) -/* 800A05C4 0009D504 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 800A05C8 0009D508 B0 1E 30 44 */ sth r0, 0x3044(r30) -/* 800A05CC 0009D50C C0 C2 98 00 */ lfs f6, lbl_80453200-_SDA2_BASE_(r2) -/* 800A05D0 0009D510 EC C6 00 F2 */ fmuls f6, f6, f3 -/* 800A05D4 0009D514 EC C6 00 32 */ fmuls f6, f6, f0 -/* 800A05D8 0009D518 FC C0 30 1E */ fctiwz f6, f6 -/* 800A05DC 0009D51C D8 C1 00 30 */ stfd f6, 0x30(r1) -/* 800A05E0 0009D520 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800A05E4 0009D524 B0 1E 30 46 */ sth r0, 0x3046(r30) -/* 800A05E8 0009D528 C0 C2 94 54 */ lfs f6, lbl_80452E54-_SDA2_BASE_(r2) -/* 800A05EC 0009D52C EC C6 01 32 */ fmuls f6, f6, f4 -/* 800A05F0 0009D530 EC C6 00 32 */ fmuls f6, f6, f0 -/* 800A05F4 0009D534 FC C0 30 1E */ fctiwz f6, f6 -/* 800A05F8 0009D538 D8 C1 00 28 */ stfd f6, 0x28(r1) -/* 800A05FC 0009D53C 80 01 00 2C */ lwz r0, 0x2c(r1) -/* 800A0600 0009D540 B0 1E 30 48 */ sth r0, 0x3048(r30) -/* 800A0604 0009D544 C0 C2 98 04 */ lfs f6, lbl_80453204-_SDA2_BASE_(r2) -/* 800A0608 0009D548 EC C6 01 72 */ fmuls f6, f6, f5 -/* 800A060C 0009D54C EC 06 00 32 */ fmuls f0, f6, f0 -/* 800A0610 0009D550 FC 00 00 1E */ fctiwz f0, f0 -/* 800A0614 0009D554 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 800A0618 0009D558 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A061C 0009D55C B0 1E 30 4A */ sth r0, 0x304a(r30) -lbl_800A0620: -/* 800A0620 0009D560 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 800A0624 0009D564 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A0628 0009D568 40 81 00 58 */ ble lbl_800A0680 -/* 800A062C 0009D56C C0 02 98 08 */ lfs f0, lbl_80453208-_SDA2_BASE_(r2) -/* 800A0630 0009D570 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 800A0634 0009D574 EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A0638 0009D578 FC 00 00 1E */ fctiwz f0, f0 -/* 800A063C 0009D57C D8 01 00 40 */ stfd f0, 0x40(r1) -/* 800A0640 0009D580 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800A0644 0009D584 B0 1E 30 2E */ sth r0, 0x302e(r30) -/* 800A0648 0009D588 C0 C2 98 0C */ lfs f6, lbl_8045320C-_SDA2_BASE_(r2) -/* 800A064C 0009D58C EC 06 00 B2 */ fmuls f0, f6, f2 -/* 800A0650 0009D590 EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A0654 0009D594 FC 00 00 1E */ fctiwz f0, f0 -/* 800A0658 0009D598 D8 01 00 38 */ stfd f0, 0x38(r1) -/* 800A065C 0009D59C 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 800A0660 0009D5A0 B0 1E 30 30 */ sth r0, 0x3030(r30) -/* 800A0664 0009D5A4 EC 06 00 F2 */ fmuls f0, f6, f3 -/* 800A0668 0009D5A8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A066C 0009D5AC FC 00 00 1E */ fctiwz f0, f0 -/* 800A0670 0009D5B0 D8 01 00 30 */ stfd f0, 0x30(r1) -/* 800A0674 0009D5B4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800A0678 0009D5B8 B0 1E 30 32 */ sth r0, 0x3032(r30) -/* 800A067C 0009D5BC 48 00 00 54 */ b lbl_800A06D0 -lbl_800A0680: -/* 800A0680 0009D5C0 C0 02 97 58 */ lfs f0, lbl_80453158-_SDA2_BASE_(r2) -/* 800A0684 0009D5C4 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 800A0688 0009D5C8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A068C 0009D5CC FC 00 00 1E */ fctiwz f0, f0 -/* 800A0690 0009D5D0 D8 01 00 40 */ stfd f0, 0x40(r1) -/* 800A0694 0009D5D4 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800A0698 0009D5D8 B0 1E 30 2E */ sth r0, 0x302e(r30) -/* 800A069C 0009D5DC C0 C2 94 5C */ lfs f6, lbl_80452E5C-_SDA2_BASE_(r2) -/* 800A06A0 0009D5E0 EC 06 00 B2 */ fmuls f0, f6, f2 -/* 800A06A4 0009D5E4 EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A06A8 0009D5E8 FC 00 00 1E */ fctiwz f0, f0 -/* 800A06AC 0009D5EC D8 01 00 38 */ stfd f0, 0x38(r1) -/* 800A06B0 0009D5F0 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 800A06B4 0009D5F4 B0 1E 30 30 */ sth r0, 0x3030(r30) -/* 800A06B8 0009D5F8 EC 06 00 F2 */ fmuls f0, f6, f3 -/* 800A06BC 0009D5FC EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A06C0 0009D600 FC 00 00 1E */ fctiwz f0, f0 -/* 800A06C4 0009D604 D8 01 00 30 */ stfd f0, 0x30(r1) -/* 800A06C8 0009D608 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800A06CC 0009D60C B0 1E 30 32 */ sth r0, 0x3032(r30) -lbl_800A06D0: -/* 800A06D0 0009D610 C0 42 98 10 */ lfs f2, lbl_80453210-_SDA2_BASE_(r2) -/* 800A06D4 0009D614 EC 02 01 32 */ fmuls f0, f2, f4 -/* 800A06D8 0009D618 EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A06DC 0009D61C FC 00 00 1E */ fctiwz f0, f0 -/* 800A06E0 0009D620 D8 01 00 40 */ stfd f0, 0x40(r1) -/* 800A06E4 0009D624 80 01 00 44 */ lwz r0, 0x44(r1) -/* 800A06E8 0009D628 B0 1E 30 34 */ sth r0, 0x3034(r30) -/* 800A06EC 0009D62C EC 02 01 72 */ fmuls f0, f2, f5 -/* 800A06F0 0009D630 EC 00 00 72 */ fmuls f0, f0, f1 -/* 800A06F4 0009D634 FC 00 00 1E */ fctiwz f0, f0 -/* 800A06F8 0009D638 D8 01 00 38 */ stfd f0, 0x38(r1) -/* 800A06FC 0009D63C 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 800A0700 0009D640 B0 1E 30 36 */ sth r0, 0x3036(r30) -lbl_800A0704: -/* 800A0704 0009D644 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 -/* 800A0708 0009D648 CB E1 00 90 */ lfd f31, 0x90(r1) -/* 800A070C 0009D64C E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 -/* 800A0710 0009D650 CB C1 00 80 */ lfd f30, 0x80(r1) -/* 800A0714 0009D654 E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0 -/* 800A0718 0009D658 CB A1 00 70 */ lfd f29, 0x70(r1) -/* 800A071C 0009D65C E3 81 00 68 */ psq_l f28, 104(r1), 0, qr0 -/* 800A0720 0009D660 CB 81 00 60 */ lfd f28, 0x60(r1) -/* 800A0724 0009D664 E3 61 00 58 */ psq_l f27, 88(r1), 0, qr0 -/* 800A0728 0009D668 CB 61 00 50 */ lfd f27, 0x50(r1) -/* 800A072C 0009D66C 83 E1 00 4C */ lwz r31, 0x4c(r1) -/* 800A0730 0009D670 83 C1 00 48 */ lwz r30, 0x48(r1) -/* 800A0734 0009D674 80 01 00 A4 */ lwz r0, 0xa4(r1) -/* 800A0738 0009D678 7C 08 03 A6 */ mtlr r0 -/* 800A073C 0009D67C 38 21 00 A0 */ addi r1, r1, 0xa0 -/* 800A0740 0009D680 4E 80 00 20 */ blr - -.global daAlink_c_NS_setLookPosFromOut -daAlink_c_NS_setLookPosFromOut: -/* 800A0744 0009D684 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800A0748 0009D688 7C 08 02 A6 */ mflr r0 -/* 800A074C 0009D68C 90 01 00 24 */ stw r0, 0x24(r1) -/* 800A0750 0009D690 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 800A0754 0009D694 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0 -/* 800A0758 0009D698 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A075C 0009D69C 93 C1 00 08 */ stw r30, 8(r1) -/* 800A0760 0009D6A0 7C 7E 1B 78 */ mr r30, r3 -/* 800A0764 0009D6A4 7C 9F 23 78 */ mr r31, r4 -/* 800A0768 0009D6A8 80 03 05 88 */ lwz r0, 0x588(r3) -/* 800A076C 0009D6AC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800A0770 0009D6B0 41 82 00 24 */ beq lbl_800A0794 -/* 800A0774 0009D6B4 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 800A0778 0009D6B8 48 2A 6C 25 */ bl PSVECSquareDistance -/* 800A077C 0009D6BC FF E0 08 90 */ fmr f31, f1 -/* 800A0780 0009D6C0 38 7E 04 D0 */ addi r3, r30, 0x4d0 -/* 800A0784 0009D6C4 38 9E 35 7C */ addi r4, r30, 0x357c -/* 800A0788 0009D6C8 48 2A 6C 15 */ bl PSVECSquareDistance -/* 800A078C 0009D6CC FC 01 F8 40 */ fcmpo cr0, f1, f31 -/* 800A0790 0009D6D0 41 80 00 28 */ blt lbl_800A07B8 -lbl_800A0794: -/* 800A0794 0009D6D4 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800A0798 0009D6D8 60 00 00 04 */ ori r0, r0, 4 -/* 800A079C 0009D6DC 90 1E 05 88 */ stw r0, 0x588(r30) -/* 800A07A0 0009D6E0 C0 1F 00 00 */ lfs f0, 0(r31) -/* 800A07A4 0009D6E4 D0 1E 35 7C */ stfs f0, 0x357c(r30) -/* 800A07A8 0009D6E8 C0 1F 00 04 */ lfs f0, 4(r31) -/* 800A07AC 0009D6EC D0 1E 35 80 */ stfs f0, 0x3580(r30) -/* 800A07B0 0009D6F0 C0 1F 00 08 */ lfs f0, 8(r31) -/* 800A07B4 0009D6F4 D0 1E 35 84 */ stfs f0, 0x3584(r30) -lbl_800A07B8: -/* 800A07B8 0009D6F8 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0 -/* 800A07BC 0009D6FC CB E1 00 10 */ lfd f31, 0x10(r1) -/* 800A07C0 0009D700 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A07C4 0009D704 83 C1 00 08 */ lwz r30, 8(r1) -/* 800A07C8 0009D708 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A07CC 0009D70C 7C 08 03 A6 */ mtlr r0 -/* 800A07D0 0009D710 38 21 00 20 */ addi r1, r1, 0x20 -/* 800A07D4 0009D714 4E 80 00 20 */ blr - -.global daAlink_c_NS_checkAttentionPosAngle -daAlink_c_NS_checkAttentionPosAngle: -/* 800A07D8 0009D718 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800A07DC 0009D71C 7C 08 02 A6 */ mflr r0 -/* 800A07E0 0009D720 90 01 00 14 */ stw r0, 0x14(r1) -/* 800A07E4 0009D724 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800A07E8 0009D728 93 C1 00 08 */ stw r30, 8(r1) -/* 800A07EC 0009D72C 7C 7E 1B 78 */ mr r30, r3 -/* 800A07F0 0009D730 80 03 05 74 */ lwz r0, 0x574(r3) -/* 800A07F4 0009D734 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800A07F8 0009D738 41 82 00 0C */ beq lbl_800A0804 -/* 800A07FC 0009D73C 38 60 00 01 */ li r3, 1 -/* 800A0800 0009D740 48 00 00 50 */ b lbl_800A0850 -lbl_800A0804: -/* 800A0804 0009D744 80 1E 31 A0 */ lwz r0, 0x31a0(r30) -/* 800A0808 0009D748 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800A080C 0009D74C 40 82 00 10 */ bne lbl_800A081C -/* 800A0810 0009D750 80 1E 05 88 */ lwz r0, 0x588(r30) -/* 800A0814 0009D754 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 800A0818 0009D758 41 82 00 14 */ beq lbl_800A082C -lbl_800A081C: -/* 800A081C 0009D75C 3C 60 80 39 */ lis r3, lbl_8038E5A4@ha -/* 800A0820 0009D760 38 63 E5 A4 */ addi r3, r3, lbl_8038E5A4@l -/* 800A0824 0009D764 AB E3 00 52 */ lha r31, 0x52(r3) -/* 800A0828 0009D768 48 00 00 08 */ b lbl_800A0830 -lbl_800A082C: -/* 800A082C 0009D76C 3B E0 60 00 */ li r31, 0x6000 -lbl_800A0830: -/* 800A0830 0009D770 38 7E 34 E0 */ addi r3, r30, 0x34e0 -/* 800A0834 0009D774 48 1D 03 D1 */ bl cLib_targetAngleY -/* 800A0838 0009D778 A8 9E 2F E6 */ lha r4, 0x2fe6(r30) -/* 800A083C 0009D77C 48 1D 05 E9 */ bl cLib_distanceAngleS -/* 800A0840 0009D780 7F E5 FE 70 */ srawi r5, r31, 0x1f -/* 800A0844 0009D784 54 64 0F FE */ srwi r4, r3, 0x1f -/* 800A0848 0009D788 7C 03 F8 10 */ subfc r0, r3, r31 -/* 800A084C 0009D78C 7C 65 21 14 */ adde r3, r5, r4 -lbl_800A0850: -/* 800A0850 0009D790 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800A0854 0009D794 83 C1 00 08 */ lwz r30, 8(r1) -/* 800A0858 0009D798 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800A085C 0009D79C 7C 08 03 A6 */ mtlr r0 -/* 800A0860 0009D7A0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800A0864 0009D7A4 4E 80 00 20 */ blr - -.global daAlink_c_NS_checkActorPosAngle -daAlink_c_NS_checkActorPosAngle: -/* 800A0868 0009D7A8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 800A086C 0009D7AC 7C 08 02 A6 */ mflr r0 -/* 800A0870 0009D7B0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800A0874 0009D7B4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A0878 0009D7B8 48 2C 19 61 */ bl _savegpr_28 -/* 800A087C 0009D7BC 7C 7C 1B 78 */ mr r28, r3 -/* 800A0880 0009D7C0 7C 9D 23 79 */ or. r29, r4, r4 -/* 800A0884 0009D7C4 7C BE 2B 78 */ mr r30, r5 -/* 800A0888 0009D7C8 41 82 00 98 */ beq lbl_800A0920 -/* 800A088C 0009D7CC 38 9D 05 38 */ addi r4, r29, 0x538 -/* 800A0890 0009D7D0 4B FF FF 49 */ bl daAlink_c_NS_checkAttentionPosAngle -/* 800A0894 0009D7D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0898 0009D7D8 41 82 00 88 */ beq lbl_800A0920 -/* 800A089C 0009D7DC AB FD 00 08 */ lha r31, 8(r29) -/* 800A08A0 0009D7E0 7F A3 EB 78 */ mr r3, r29 -/* 800A08A4 0009D7E4 48 03 BC A5 */ bl daAlink_c_NS_checkEnemyGroup -/* 800A08A8 0009D7E8 2C 03 00 00 */ cmpwi r3, 0 -/* 800A08AC 0009D7EC 41 82 00 24 */ beq lbl_800A08D0 -/* 800A08B0 0009D7F0 C0 1D 05 38 */ lfs f0, 0x538(r29) -/* 800A08B4 0009D7F4 D0 1C 35 04 */ stfs f0, 0x3504(r28) -/* 800A08B8 0009D7F8 C0 1D 05 3C */ lfs f0, 0x53c(r29) -/* 800A08BC 0009D7FC D0 1C 35 08 */ stfs f0, 0x3508(r28) -/* 800A08C0 0009D800 C0 1D 05 40 */ lfs f0, 0x540(r29) -/* 800A08C4 0009D804 D0 1C 35 0C */ stfs f0, 0x350c(r28) -/* 800A08C8 0009D808 38 00 00 50 */ li r0, 0x50 -/* 800A08CC 0009D80C B0 1C 31 1C */ sth r0, 0x311c(r28) -lbl_800A08D0: -/* 800A08D0 0009D810 2C 1F 01 59 */ cmpwi r31, 0x159 -/* 800A08D4 0009D814 41 82 00 18 */ beq lbl_800A08EC -/* 800A08D8 0009D818 2C 1F 02 16 */ cmpwi r31, 0x216 -/* 800A08DC 0009D81C 40 82 00 34 */ bne lbl_800A0910 -/* 800A08E0 0009D820 88 1D 0B 01 */ lbz r0, 0xb01(r29) -/* 800A08E4 0009D824 28 00 00 00 */ cmplwi r0, 0 -/* 800A08E8 0009D828 40 82 00 28 */ bne lbl_800A0910 -lbl_800A08EC: -/* 800A08EC 0009D82C 80 1C 05 74 */ lwz r0, 0x574(r28) -/* 800A08F0 0009D830 60 00 01 00 */ ori r0, r0, 0x100 -/* 800A08F4 0009D834 90 1C 05 74 */ stw r0, 0x574(r28) -/* 800A08F8 0009D838 C0 1D 05 38 */ lfs f0, 0x538(r29) -/* 800A08FC 0009D83C D0 1C 36 00 */ stfs f0, 0x3600(r28) -/* 800A0900 0009D840 C0 1D 05 3C */ lfs f0, 0x53c(r29) -/* 800A0904 0009D844 D0 1C 36 04 */ stfs f0, 0x3604(r28) -/* 800A0908 0009D848 C0 1D 05 40 */ lfs f0, 0x540(r29) -/* 800A090C 0009D84C D0 1C 36 08 */ stfs f0, 0x3608(r28) -lbl_800A0910: -/* 800A0910 0009D850 38 1D 05 38 */ addi r0, r29, 0x538 -/* 800A0914 0009D854 90 1E 00 00 */ stw r0, 0(r30) -/* 800A0918 0009D858 38 60 00 01 */ li r3, 1 -/* 800A091C 0009D85C 48 00 00 08 */ b lbl_800A0924 -lbl_800A0920: -/* 800A0920 0009D860 38 60 00 00 */ li r3, 0 -lbl_800A0924: -/* 800A0924 0009D864 39 61 00 20 */ addi r11, r1, 0x20 -/* 800A0928 0009D868 48 2C 18 FD */ bl _restgpr_28 -/* 800A092C 0009D86C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800A0930 0009D870 7C 08 03 A6 */ mtlr r0 -/* 800A0934 0009D874 38 21 00 20 */ addi r1, r1, 0x20 -/* 800A0938 0009D878 4E 80 00 20 */ blr - -.global daAlink_c_NS_getNeckAimPos -daAlink_c_NS_getNeckAimPos: -/* 800A093C 0009D87C 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 800A0940 0009D880 7C 08 02 A6 */ mflr r0 -/* 800A0944 0009D884 90 01 00 64 */ stw r0, 0x64(r1) -/* 800A0948 0009D888 39 61 00 60 */ addi r11, r1, 0x60 -/* 800A094C 0009D88C 48 2C 18 7D */ bl func_803621C8 -/* 800A0950 0009D890 7C 7F 1B 78 */ mr r31, r3 -/* 800A0954 0009D894 7C 9B 23 78 */ mr r27, r4 -/* 800A0958 0009D898 7C BC 2B 78 */ mr r28, r5 -/* 800A095C 0009D89C 7C DD 33 78 */ mr r29, r6 -/* 800A0960 0009D8A0 3B 40 00 00 */ li r26, 0 -/* 800A0964 0009D8A4 AB C3 31 1C */ lha r30, 0x311c(r3) -/* 800A0968 0009D8A8 38 00 00 00 */ li r0, 0 -/* 800A096C 0009D8AC B0 03 31 1C */ sth r0, 0x311c(r3) -/* 800A0970 0009D8B0 A0 A3 2F E8 */ lhz r5, 0x2fe8(r3) -/* 800A0974 0009D8B4 28 05 00 C0 */ cmplwi r5, 0xc0 -/* 800A0978 0009D8B8 41 82 00 2C */ beq lbl_800A09A4 -/* 800A097C 0009D8BC 28 05 01 48 */ cmplwi r5, 0x148 -/* 800A0980 0009D8C0 41 82 00 24 */ beq lbl_800A09A4 -/* 800A0984 0009D8C4 28 05 01 3C */ cmplwi r5, 0x13c -/* 800A0988 0009D8C8 41 82 00 1C */ beq lbl_800A09A4 -/* 800A098C 0009D8CC 28 05 00 E3 */ cmplwi r5, 0xe3 -/* 800A0990 0009D8D0 41 82 00 14 */ beq lbl_800A09A4 -/* 800A0994 0009D8D4 28 05 00 EA */ cmplwi r5, 0xea -/* 800A0998 0009D8D8 41 82 00 0C */ beq lbl_800A09A4 -/* 800A099C 0009D8DC 28 05 00 C1 */ cmplwi r5, 0xc1 -/* 800A09A0 0009D8E0 40 82 00 0C */ bne lbl_800A09AC -lbl_800A09A4: -/* 800A09A4 0009D8E4 83 5F 28 10 */ lwz r26, 0x2810(r31) -/* 800A09A8 0009D8E8 48 00 02 64 */ b lbl_800A0C0C -lbl_800A09AC: -/* 800A09AC 0009D8EC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha -/* 800A09B0 0009D8F0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l -/* 800A09B4 0009D8F4 80 04 5F 18 */ lwz r0, 0x5f18(r4) -/* 800A09B8 0009D8F8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 800A09BC 0009D8FC 41 82 00 D8 */ beq lbl_800A0A94 -/* 800A09C0 0009D900 28 05 01 5B */ cmplwi r5, 0x15b -/* 800A09C4 0009D904 41 82 02 48 */ beq lbl_800A0C0C -/* 800A09C8 0009D908 28 05 01 5C */ cmplwi r5, 0x15c -/* 800A09CC 0009D90C 41 82 02 40 */ beq lbl_800A0C0C -/* 800A09D0 0009D910 28 05 01 5D */ cmplwi r5, 0x15d -/* 800A09D4 0009D914 41 82 02 38 */ beq lbl_800A0C0C -/* 800A09D8 0009D918 4B F7 B1 3D */ bl fopAcM_getTalkEventPartner -/* 800A09DC 0009D91C 7C 7A 1B 79 */ or. r26, r3, r3 -/* 800A09E0 0009D920 41 82 02 2C */ beq lbl_800A0C0C -/* 800A09E4 0009D924 83 0D 8A 98 */ lwz r24, lbl_80451018-_SDA_BASE_(r13) -/* 800A09E8 0009D928 AB 3A 00 08 */ lha r25, 8(r26) -/* 800A09EC 0009D92C 2C 19 00 FF */ cmpwi r25, 0xff -/* 800A09F0 0009D930 41 82 00 5C */ beq lbl_800A0A4C -/* 800A09F4 0009D934 2C 19 02 C7 */ cmpwi r25, 0x2c7 -/* 800A09F8 0009D938 41 82 00 54 */ beq lbl_800A0A4C -/* 800A09FC 0009D93C 2C 19 02 C1 */ cmpwi r25, 0x2c1 -/* 800A0A00 0009D940 40 82 00 10 */ bne lbl_800A0A10 -/* 800A0A04 0009D944 88 1A 05 6D */ lbz r0, 0x56d(r26) -/* 800A0A08 0009D948 28 00 00 FF */ cmplwi r0, 0xff -/* 800A0A0C 0009D94C 41 82 00 40 */ beq lbl_800A0A4C -lbl_800A0A10: -/* 800A0A10 0009D950 2C 19 02 C4 */ cmpwi r25, 0x2c4 -/* 800A0A14 0009D954 40 82 00 10 */ bne lbl_800A0A24 -/* 800A0A18 0009D958 88 1A 05 6B */ lbz r0, 0x56b(r26) -/* 800A0A1C 0009D95C 28 00 00 FF */ cmplwi r0, 0xff -/* 800A0A20 0009D960 41 82 00 2C */ beq lbl_800A0A4C -lbl_800A0A24: -/* 800A0A24 0009D964 2C 19 02 C3 */ cmpwi r25, 0x2c3 -/* 800A0A28 0009D968 40 82 00 34 */ bne lbl_800A0A5C -/* 800A0A2C 0009D96C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800A0A30 0009D970 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800A0A34 0009D974 88 9A 05 69 */ lbz r4, 0x569(r26) -/* 800A0A38 0009D978 88 1A 04 BA */ lbz r0, 0x4ba(r26) -/* 800A0A3C 0009D97C 7C 05 07 74 */ extsb r5, r0 -/* 800A0A40 0009D980 4B F9 49 21 */ bl isSwitch__10dSv_info_cCFii -/* 800A0A44 0009D984 2C 03 00 00 */ cmpwi r3, 0 -/* 800A0A48 0009D988 41 82 00 14 */ beq lbl_800A0A5C -lbl_800A0A4C: -/* 800A0A4C 0009D98C 38 00 00 01 */ li r0, 1 -/* 800A0A50 0009D990 90 1C 00 00 */ stw r0, 0(r28) -/* 800A0A54 0009D994 38 78 05 38 */ addi r3, r24, 0x538 -/* 800A0A58 0009D998 48 00 09 BC */ b lbl_800A1414 -lbl_800A0A5C: -/* 800A0A5C 0009D99C 2C 19 02 C1 */ cmpwi r25, 0x2c1 -/* 800A0A60 0009D9A0 41 82 00 0C */ beq lbl_800A0A6C -/* 800A0A64 0009D9A4 2C 19 02 C4 */ cmpwi r25, 0x2c4 -/* 800A0A68 0009D9A8 40 82 01 A4 */ bne lbl_800A0C0C -lbl_800A0A6C: -/* 800A0A6C 0009D9AC 80 18 08 90 */ lwz r0, 0x890(r24) -/* 800A0A70 0009D9B0 64 00 00 02 */ oris r0, r0, 2 -/* 800A0A74 0009D9B4 90 18 08 90 */ stw r0, 0x890(r24) -/* 800A0A78 0009D9B8 C0 1A 05 38 */ lfs f0, 0x538(r26) -/* 800A0A7C 0009D9BC D0 18 09 C4 */ stfs f0, 0x9c4(r24) -/* 800A0A80 0009D9C0 C0 1A 05 3C */ lfs f0, 0x53c(r26) -/* 800A0A84 0009D9C4 D0 18 09 C8 */ stfs f0, 0x9c8(r24) -/* 800A0A88 0009D9C8 C0 1A 05 40 */ lfs f0, 0x540(r26) -/* 800A0A8C 0009D9CC D0 18 09 CC */ stfs f0, 0x9cc(r24) -/* 800A0A90 0009D9D0 48 00 01 7C */ b lbl_800A0C0C -lbl_800A0A94: -/* 800A0A94 0009D9D4 28 05 00 B4 */ cmplwi r5, 0xb4 -/* 800A0A98 0009D9D8 40 82 00 18 */ bne lbl_800A0AB0 -/* 800A0A9C 0009D9DC A0 1F 2F DC */ lhz r0, 0x2fdc(r31) -/* 800A0AA0 0009D9E0 28 00 00 6C */ cmplwi r0, 0x6c -/* 800A0AA4 0009D9E4 40 82 00 0C */ bne lbl_800A0AB0 -/* 800A0AA8 0009D9E8 83 5F 28 60 */ lwz r26, 0x2860(r31) -/* 800A0AAC 0009D9EC 48 00 01 60 */ b lbl_800A0C0C -lbl_800A0AB0: -/* 800A0AB0 0009D9F0 28 05 00 A2 */ cmplwi r5, 0xa2 -/* 800A0AB4 0009D9F4 41 82 00 1C */ beq lbl_800A0AD0 -/* 800A0AB8 0009D9F8 28 05 00 95 */ cmplwi r5, 0x95 -/* 800A0ABC 0009D9FC 41 82 00 14 */ beq lbl_800A0AD0 -/* 800A0AC0 0009DA00 28 05 00 96 */ cmplwi r5, 0x96 -/* 800A0AC4 0009DA04 41 82 00 0C */ beq lbl_800A0AD0 -/* 800A0AC8 0009DA08 28 05 00 97 */ cmplwi r5, 0x97 -/* 800A0ACC 0009DA0C 40 82 00 0C */ bne lbl_800A0AD8 -lbl_800A0AD0: -/* 800A0AD0 0009DA10 83 5F 28 28 */ lwz r26, 0x2828(r31) -/* 800A0AD4 0009DA14 48 00 01 38 */ b lbl_800A0C0C -lbl_800A0AD8: -/* 800A0AD8 0009DA18 80 7F 27 EC */ lwz r3, 0x27ec(r31) -/* 800A0ADC 0009DA1C 7C 7A 1B 78 */ mr r26, r3 -/* 800A0AE0 0009DA20 48 03 BA 69 */ bl daAlink_c_NS_checkEnemyGroup -/* 800A0AE4 0009DA24 2C 03 00 00 */ cmpwi r3, 0 -/* 800A0AE8 0009DA28 41 82 01 14 */ beq lbl_800A0BFC -/* 800A0AEC 0009DA2C 80 7F 27 E0 */ lwz r3, 0x27e0(r31) -/* 800A0AF0 0009DA30 38 80 00 01 */ li r4, 1 -/* 800A0AF4 0009DA34 4B FC FD 51 */ bl dAttention_c_NS_GetLockonList -/* 800A0AF8 0009DA38 28 03 00 00 */ cmplwi r3, 0 -/* 800A0AFC 0009DA3C 41 82 00 1C */ beq lbl_800A0B18 -/* 800A0B00 0009DA40 80 7F 27 E0 */ lwz r3, 0x27e0(r31) -/* 800A0B04 0009DA44 38 80 00 01 */ li r4, 1 -/* 800A0B08 0009DA48 4B FC FD 3D */ bl dAttention_c_NS_GetLockonList -/* 800A0B0C 0009DA4C 4B FD 2D 59 */ bl dAttList_c_NS_getActor -/* 800A0B10 0009DA50 7C 79 1B 78 */ mr r25, r3 -/* 800A0B14 0009DA54 48 00 00 08 */ b lbl_800A0B1C -lbl_800A0B18: -/* 800A0B18 0009DA58 3B 20 00 00 */ li r25, 0 -lbl_800A0B1C: -/* 800A0B1C 0009DA5C 80 7F 28 FC */ lwz r3, 0x28fc(r31) -/* 800A0B20 0009DA60 3C 03 00 01 */ addis r0, r3, 1 -/* 800A0B24 0009DA64 28 00 FF FF */ cmplwi r0, 0xffff -/* 800A0B28 0009DA68 41 82 00 5C */ beq lbl_800A0B84 -/* 800A0B2C 0009DA6C 90 61 00 0C */ stw r3, 0xc(r1) -.global fpcSch_JudgeByID -/* 800A0B30 0009DA70 3C 60 80 02 */ lis r3, fpcSch_JudgeByID@ha -.global fpcSch_JudgeByID -/* 800A0B34 0009DA74 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID@l -/* 800A0B38 0009DA78 38 81 00 0C */ addi r4, r1, 0xc -/* 800A0B3C 0009DA7C 4B F7 8C BD */ bl fopAcIt_Judge -/* 800A0B40 0009DA80 A8 9F 30 F8 */ lha r4, 0x30f8(r31) -/* 800A0B44 0009DA84 38 04 FF FF */ addi r0, r4, -1 -/* 800A0B48 0009DA88 B0 1F 30 F8 */ sth r0, 0x30f8(r31) -/* 800A0B4C 0009DA8C A8 1F 30 F8 */ lha r0, 0x30f8(r31) -/* 800A0B50 0009DA90 2C 00 00 00 */ cmpwi r0, 0 -/* 800A0B54 0009DA94 41 82 00 1C */ beq lbl_800A0B70 -/* 800A0B58 0009DA98 28 03 00 00 */ cmplwi r3, 0 -/* 800A0B5C 0009DA9C 41 82 00 14 */ beq lbl_800A0B70 -/* 800A0B60 0009DAA0 7C 03 C8 40 */ cmplw r3, r25 -/* 800A0B64 0009DAA4 40 82 00 0C */ bne lbl_800A0B70 -/* 800A0B68 0009DAA8 7C 7A 1B 78 */ mr r26, r3 -/* 800A0B6C 0009DAAC 48 00 00 A0 */ b lbl_800A0C0C -lbl_800A0B70: -/* 800A0B70 0009DAB0 38 00 00 00 */ li r0, 0 -/* 800A0B74 0009DAB4 B0 1F 30 F8 */ sth r0, 0x30f8(r31) -/* 800A0B78 0009DAB8 38 00 FF FF */ li r0, -1 -/* 800A0B7C 0009DABC 90 1F 28 FC */ stw r0, 0x28fc(r31) -/* 800A0B80 0009DAC0 48 00 00 8C */ b lbl_800A0C0C -lbl_800A0B84: -/* 800A0B84 0009DAC4 7F 23 CB 78 */ mr r3, r25 -/* 800A0B88 0009DAC8 48 03 B9 C1 */ bl daAlink_c_NS_checkEnemyGroup -/* 800A0B8C 0009DACC 2C 03 00 00 */ cmpwi r3, 0 -/* 800A0B90 0009DAD0 41 82 00 7C */ beq lbl_800A0C0C -/* 800A0B94 0009DAD4 A8 7F 30 F8 */ lha r3, 0x30f8(r31) -/* 800A0B98 0009DAD8 2C 03 FF E2 */ cmpwi r3, -30 -/* 800A0B9C 0009DADC 40 82 00 54 */ bne lbl_800A0BF0 -/* 800A0BA0 0009DAE0 48 1C 6C CD */ bl cM_rnd -/* 800A0BA4 0009DAE4 C0 02 94 44 */ lfs f0, lbl_80452E44-_SDA2_BASE_(r2) -/* 800A0BA8 0009DAE8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A0BAC 0009DAEC 40 80 00 60 */ bge lbl_800A0C0C -/* 800A0BB0 0009DAF0 C0 22 92 E0 */ lfs f1, lbl_80452CE0-_SDA2_BASE_(r2) -/* 800A0BB4 0009DAF4 48 1C 6D A1 */ bl cM_rndF -/* 800A0BB8 0009DAF8 C0 02 92 E0 */ lfs f0, lbl_80452CE0-_SDA2_BASE_(r2) -/* 800A0BBC 0009DAFC EC 00 08 2A */ fadds f0, f0, f1 -/* 800A0BC0 0009DB00 FC 00 00 1E */ fctiwz f0, f0 -/* 800A0BC4 0009DB04 D8 01 00 30 */ stfd f0, 0x30(r1) -/* 800A0BC8 0009DB08 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800A0BCC 0009DB0C B0 1F 30 F8 */ sth r0, 0x30f8(r31) -/* 800A0BD0 0009DB10 7F 3A CB 78 */ mr r26, r25 -/* 800A0BD4 0009DB14 28 19 00 00 */ cmplwi r25, 0 -/* 800A0BD8 0009DB18 41 82 00 0C */ beq lbl_800A0BE4 -/* 800A0BDC 0009DB1C 80 19 00 04 */ lwz r0, 4(r25) -/* 800A0BE0 0009DB20 48 00 00 08 */ b lbl_800A0BE8 -lbl_800A0BE4: -/* 800A0BE4 0009DB24 38 00 FF FF */ li r0, -1 -lbl_800A0BE8: -/* 800A0BE8 0009DB28 90 1F 28 FC */ stw r0, 0x28fc(r31) -/* 800A0BEC 0009DB2C 48 00 00 20 */ b lbl_800A0C0C -lbl_800A0BF0: -/* 800A0BF0 0009DB30 38 03 FF FF */ addi r0, r3, -1 -/* 800A0BF4 0009DB34 B0 1F 30 F8 */ sth r0, 0x30f8(r31) -/* 800A0BF8 0009DB38 48 00 00 14 */ b lbl_800A0C0C -lbl_800A0BFC: -/* 800A0BFC 0009DB3C 38 00 FF FF */ li r0, -1 -/* 800A0C00 0009DB40 90 1F 28 FC */ stw r0, 0x28fc(r31) -/* 800A0C04 0009DB44 38 00 00 00 */ li r0, 0 -/* 800A0C08 0009DB48 B0 1F 30 F8 */ sth r0, 0x30f8(r31) -lbl_800A0C0C: -/* 800A0C0C 0009DB4C 80 7F 27 E0 */ lwz r3, 0x27e0(r31) -/* 800A0C10 0009DB50 38 80 00 00 */ li r4, 0 -/* 800A0C14 0009DB54 4B FD 29 29 */ bl dAttention_c_NS_LockonTarget -/* 800A0C18 0009DB58 7C 79 1B 78 */ mr r25, r3 -/* 800A0C1C 0009DB5C 28 1A 00 00 */ cmplwi r26, 0 -/* 800A0C20 0009DB60 40 82 00 10 */ bne lbl_800A0C30 -/* 800A0C24 0009DB64 48 0E 0A 1D */ bl dCam_getBody -/* 800A0C28 0009DB68 48 0E 08 D9 */ bl dCamera_c_NS_GetForceLockOnActor -/* 800A0C2C 0009DB6C 7C 7A 1B 78 */ mr r26, r3 -lbl_800A0C30: -/* 800A0C30 0009DB70 7F E3 FB 78 */ mr r3, r31 -/* 800A0C34 0009DB74 7F 44 D3 78 */ mr r4, r26 -/* 800A0C38 0009DB78 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A0C3C 0009DB7C 4B FF FC 2D */ bl daAlink_c_NS_checkActorPosAngle -/* 800A0C40 0009DB80 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0C44 0009DB84 41 82 00 0C */ beq lbl_800A0C50 -/* 800A0C48 0009DB88 80 61 00 10 */ lwz r3, 0x10(r1) -/* 800A0C4C 0009DB8C 48 00 07 C8 */ b lbl_800A1414 -lbl_800A0C50: -/* 800A0C50 0009DB90 80 9F 31 A0 */ lwz r4, 0x31a0(r31) -/* 800A0C54 0009DB94 3C 60 08 00 */ lis r3, 0x08000100@ha -/* 800A0C58 0009DB98 38 03 01 00 */ addi r0, r3, 0x08000100@l -/* 800A0C5C 0009DB9C 7C 80 00 39 */ and. r0, r4, r0 -/* 800A0C60 0009DBA0 40 82 00 24 */ bne lbl_800A0C84 -/* 800A0C64 0009DBA4 2C 1D 00 00 */ cmpwi r29, 0 -/* 800A0C68 0009DBA8 41 82 00 1C */ beq lbl_800A0C84 -/* 800A0C6C 0009DBAC 7F C0 07 35 */ extsh. r0, r30 -/* 800A0C70 0009DBB0 40 81 00 0C */ ble lbl_800A0C7C -/* 800A0C74 0009DBB4 38 1E FF FF */ addi r0, r30, -1 -/* 800A0C78 0009DBB8 B0 1F 31 1C */ sth r0, 0x311c(r31) -lbl_800A0C7C: -/* 800A0C7C 0009DBBC 38 60 00 00 */ li r3, 0 -/* 800A0C80 0009DBC0 48 00 07 94 */ b lbl_800A1414 -lbl_800A0C84: -/* 800A0C84 0009DBC4 7F E3 FB 78 */ mr r3, r31 -/* 800A0C88 0009DBC8 48 07 4F 99 */ bl daAlink_c_NS_checkEventRun -/* 800A0C8C 0009DBCC 2C 03 00 00 */ cmpwi r3, 0 -/* 800A0C90 0009DBD0 40 82 06 20 */ bne lbl_800A12B0 -/* 800A0C94 0009DBD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800A0C98 0009DBD8 3B 43 61 C0 */ addi r26, r3, g_dComIfG_gameInfo@l -/* 800A0C9C 0009DBDC 80 1A 5F 1C */ lwz r0, 0x5f1c(r26) -/* 800A0CA0 0009DBE0 74 00 02 01 */ andis. r0, r0, 0x201 -/* 800A0CA4 0009DBE4 41 82 00 20 */ beq lbl_800A0CC4 -/* 800A0CA8 0009DBE8 88 1F 20 68 */ lbz r0, 0x2068(r31) -/* 800A0CAC 0009DBEC 28 00 00 00 */ cmplwi r0, 0 -/* 800A0CB0 0009DBF0 41 82 00 0C */ beq lbl_800A0CBC -/* 800A0CB4 0009DBF4 38 7F 20 6C */ addi r3, r31, 0x206c -/* 800A0CB8 0009DBF8 48 00 07 5C */ b lbl_800A1414 -lbl_800A0CBC: -/* 800A0CBC 0009DBFC 38 60 00 00 */ li r3, 0 -/* 800A0CC0 0009DC00 48 00 07 54 */ b lbl_800A1414 -lbl_800A0CC4: -/* 800A0CC4 0009DC04 38 7A 5B 6C */ addi r3, r26, 0x5b6c -/* 800A0CC8 0009DC08 80 9A 5B 78 */ lwz r4, 0x5b78(r26) -/* 800A0CCC 0009DC0C 4B FD 2F D9 */ bl dAttLook_c_NS_convPId -/* 800A0CD0 0009DC10 28 03 00 00 */ cmplwi r3, 0 -/* 800A0CD4 0009DC14 41 82 00 38 */ beq lbl_800A0D0C -/* 800A0CD8 0009DC18 38 7A 5B 6C */ addi r3, r26, 0x5b6c -/* 800A0CDC 0009DC1C 80 9A 5B 78 */ lwz r4, 0x5b78(r26) -/* 800A0CE0 0009DC20 4B FD 2F C5 */ bl dAttLook_c_NS_convPId -/* 800A0CE4 0009DC24 A8 03 00 08 */ lha r0, 8(r3) -/* 800A0CE8 0009DC28 2C 00 01 E9 */ cmpwi r0, 0x1e9 -/* 800A0CEC 0009DC2C 40 82 00 0C */ bne lbl_800A0CF8 -/* 800A0CF0 0009DC30 38 00 00 00 */ li r0, 0 -/* 800A0CF4 0009DC34 90 1C 00 00 */ stw r0, 0(r28) -lbl_800A0CF8: -/* 800A0CF8 0009DC38 38 7A 5B 6C */ addi r3, r26, 0x5b6c -/* 800A0CFC 0009DC3C 80 9A 5B 78 */ lwz r4, 0x5b78(r26) -/* 800A0D00 0009DC40 4B FD 2F A5 */ bl dAttLook_c_NS_convPId -/* 800A0D04 0009DC44 38 63 05 38 */ addi r3, r3, 0x538 -/* 800A0D08 0009DC48 48 00 07 0C */ b lbl_800A1414 -lbl_800A0D0C: -/* 800A0D0C 0009DC4C 7F E3 FB 78 */ mr r3, r31 -/* 800A0D10 0009DC50 80 9F 27 F0 */ lwz r4, 0x27f0(r31) -/* 800A0D14 0009DC54 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A0D18 0009DC58 4B FF FB 51 */ bl daAlink_c_NS_checkActorPosAngle -/* 800A0D1C 0009DC5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0D20 0009DC60 41 82 00 1C */ beq lbl_800A0D3C -/* 800A0D24 0009DC64 80 7F 27 F0 */ lwz r3, 0x27f0(r31) -/* 800A0D28 0009DC68 28 03 00 00 */ cmplwi r3, 0 -/* 800A0D2C 0009DC6C 41 82 00 40 */ beq lbl_800A0D6C -/* 800A0D30 0009DC70 A8 03 00 08 */ lha r0, 8(r3) -/* 800A0D34 0009DC74 2C 00 01 8B */ cmpwi r0, 0x18b -/* 800A0D38 0009DC78 40 82 00 34 */ bne lbl_800A0D6C -lbl_800A0D3C: -/* 800A0D3C 0009DC7C 7F E3 FB 78 */ mr r3, r31 -/* 800A0D40 0009DC80 7F 24 CB 78 */ mr r4, r25 -/* 800A0D44 0009DC84 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A0D48 0009DC88 4B FF FB 21 */ bl daAlink_c_NS_checkActorPosAngle -/* 800A0D4C 0009DC8C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0D50 0009DC90 40 82 00 1C */ bne lbl_800A0D6C -/* 800A0D54 0009DC94 7F E3 FB 78 */ mr r3, r31 -/* 800A0D58 0009DC98 80 9F 27 F8 */ lwz r4, 0x27f8(r31) -/* 800A0D5C 0009DC9C 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A0D60 0009DCA0 4B FF FB 09 */ bl daAlink_c_NS_checkActorPosAngle -/* 800A0D64 0009DCA4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0D68 0009DCA8 41 82 00 0C */ beq lbl_800A0D74 -lbl_800A0D6C: -/* 800A0D6C 0009DCAC 80 61 00 10 */ lwz r3, 0x10(r1) -/* 800A0D70 0009DCB0 48 00 06 A4 */ b lbl_800A1414 -lbl_800A0D74: -/* 800A0D74 0009DCB4 7F E3 FB 78 */ mr r3, r31 -/* 800A0D78 0009DCB8 80 9F 28 38 */ lwz r4, 0x2838(r31) -/* 800A0D7C 0009DCBC 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A0D80 0009DCC0 4B FF FA E9 */ bl daAlink_c_NS_checkActorPosAngle -/* 800A0D84 0009DCC4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0D88 0009DCC8 41 82 00 0C */ beq lbl_800A0D94 -/* 800A0D8C 0009DCCC 80 61 00 10 */ lwz r3, 0x10(r1) -/* 800A0D90 0009DCD0 48 00 06 84 */ b lbl_800A1414 -lbl_800A0D94: -/* 800A0D94 0009DCD4 7F E3 FB 78 */ mr r3, r31 -/* 800A0D98 0009DCD8 80 9F 28 40 */ lwz r4, 0x2840(r31) -/* 800A0D9C 0009DCDC 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A0DA0 0009DCE0 4B FF FA C9 */ bl daAlink_c_NS_checkActorPosAngle -/* 800A0DA4 0009DCE4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0DA8 0009DCE8 41 82 00 0C */ beq lbl_800A0DB4 -/* 800A0DAC 0009DCEC 80 61 00 10 */ lwz r3, 0x10(r1) -/* 800A0DB0 0009DCF0 48 00 06 64 */ b lbl_800A1414 -lbl_800A0DB4: -/* 800A0DB4 0009DCF4 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 800A0DB8 0009DCF8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 800A0DBC 0009DCFC 41 82 00 20 */ beq lbl_800A0DDC -/* 800A0DC0 0009DD00 7F E3 FB 78 */ mr r3, r31 -/* 800A0DC4 0009DD04 38 9F 35 7C */ addi r4, r31, 0x357c -/* 800A0DC8 0009DD08 4B FF FA 11 */ bl daAlink_c_NS_checkAttentionPosAngle -/* 800A0DCC 0009DD0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0DD0 0009DD10 41 82 00 0C */ beq lbl_800A0DDC -/* 800A0DD4 0009DD14 38 7F 35 7C */ addi r3, r31, 0x357c -/* 800A0DD8 0009DD18 48 00 06 3C */ b lbl_800A1414 -lbl_800A0DDC: -/* 800A0DDC 0009DD1C 7F E3 FB 78 */ mr r3, r31 -/* 800A0DE0 0009DD20 80 9F 28 60 */ lwz r4, 0x2860(r31) -/* 800A0DE4 0009DD24 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A0DE8 0009DD28 4B FF FA 81 */ bl daAlink_c_NS_checkActorPosAngle -/* 800A0DEC 0009DD2C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0DF0 0009DD30 41 82 00 0C */ beq lbl_800A0DFC -/* 800A0DF4 0009DD34 80 61 00 10 */ lwz r3, 0x10(r1) -/* 800A0DF8 0009DD38 48 00 06 1C */ b lbl_800A1414 -lbl_800A0DFC: -/* 800A0DFC 0009DD3C A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800A0E00 0009DD40 28 00 00 A5 */ cmplwi r0, 0xa5 -/* 800A0E04 0009DD44 40 82 00 6C */ bne lbl_800A0E70 -/* 800A0E08 0009DD48 C0 3F 33 98 */ lfs f1, 0x3398(r31) -/* 800A0E0C 0009DD4C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 800A0E10 0009DD50 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A0E14 0009DD54 40 81 00 5C */ ble lbl_800A0E70 -/* 800A0E18 0009DD58 3C 60 80 44 */ lis r3, lbl_80439A20@ha -/* 800A0E1C 0009DD5C 38 83 9A 20 */ addi r4, r3, lbl_80439A20@l -/* 800A0E20 0009DD60 A8 1F 04 DE */ lha r0, 0x4de(r31) -/* 800A0E24 0009DD64 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800A0E28 0009DD68 7C 64 02 14 */ add r3, r4, r0 -/* 800A0E2C 0009DD6C C0 03 00 04 */ lfs f0, 4(r3) -/* 800A0E30 0009DD70 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) -/* 800A0E34 0009DD74 C0 42 93 68 */ lfs f2, lbl_80452D68-_SDA2_BASE_(r2) -/* 800A0E38 0009DD78 EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A0E3C 0009DD7C EC 81 00 2A */ fadds f4, f1, f0 -/* 800A0E40 0009DD80 C0 22 93 50 */ lfs f1, lbl_80452D50-_SDA2_BASE_(r2) -/* 800A0E44 0009DD84 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 800A0E48 0009DD88 EC 61 00 2A */ fadds f3, f1, f0 -/* 800A0E4C 0009DD8C 7C 04 04 2E */ lfsx f0, r4, r0 -/* 800A0E50 0009DD90 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 800A0E54 0009DD94 EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A0E58 0009DD98 EC 01 00 2A */ fadds f0, f1, f0 -/* 800A0E5C 0009DD9C D0 1B 00 00 */ stfs f0, 0(r27) -/* 800A0E60 0009DDA0 D0 7B 00 04 */ stfs f3, 4(r27) -/* 800A0E64 0009DDA4 D0 9B 00 08 */ stfs f4, 8(r27) -/* 800A0E68 0009DDA8 7F 63 DB 78 */ mr r3, r27 -/* 800A0E6C 0009DDAC 48 00 05 A8 */ b lbl_800A1414 -lbl_800A0E70: -/* 800A0E70 0009DDB0 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800A0E74 0009DDB4 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800A0E78 0009DDB8 41 82 00 38 */ beq lbl_800A0EB0 -/* 800A0E7C 0009DDBC A0 1F 1F BC */ lhz r0, 0x1fbc(r31) -/* 800A0E80 0009DDC0 28 00 02 02 */ cmplwi r0, 0x202 -/* 800A0E84 0009DDC4 40 82 00 2C */ bne lbl_800A0EB0 -/* 800A0E88 0009DDC8 7F E3 FB 78 */ mr r3, r31 -/* 800A0E8C 0009DDCC 48 04 04 E9 */ bl daAlink_c_NS_getCopyRodControllActor -/* 800A0E90 0009DDD0 7C 64 1B 78 */ mr r4, r3 -/* 800A0E94 0009DDD4 7F E3 FB 78 */ mr r3, r31 -/* 800A0E98 0009DDD8 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A0E9C 0009DDDC 4B FF F9 CD */ bl daAlink_c_NS_checkActorPosAngle -/* 800A0EA0 0009DDE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0EA4 0009DDE4 41 82 00 0C */ beq lbl_800A0EB0 -/* 800A0EA8 0009DDE8 80 61 00 10 */ lwz r3, 0x10(r1) -/* 800A0EAC 0009DDEC 48 00 05 68 */ b lbl_800A1414 -lbl_800A0EB0: -/* 800A0EB0 0009DDF0 7F E3 FB 78 */ mr r3, r31 -/* 800A0EB4 0009DDF4 38 80 00 01 */ li r4, 1 -/* 800A0EB8 0009DDF8 48 00 6B 35 */ bl daAlink_c_NS_checkWindSpeedOnAngleAnime -/* 800A0EBC 0009DDFC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0EC0 0009DE00 41 82 01 08 */ beq lbl_800A0FC8 -/* 800A0EC4 0009DE04 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800A0EC8 0009DE08 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A0ECC 0009DE0C 41 82 00 84 */ beq lbl_800A0F50 -/* 800A0ED0 0009DE10 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 800A0ED4 0009DE14 A8 7F 30 CC */ lha r3, 0x30cc(r31) -/* 800A0ED8 0009DE18 3C 63 00 01 */ addis r3, r3, 1 -/* 800A0EDC 0009DE1C 38 03 80 00 */ addi r0, r3, -32768 -/* 800A0EE0 0009DE20 7C 04 00 50 */ subf r0, r4, r0 -/* 800A0EE4 0009DE24 7C 00 07 35 */ extsh. r0, r0 -/* 800A0EE8 0009DE28 C0 5F 04 D8 */ lfs f2, 0x4d8(r31) -/* 800A0EEC 0009DE2C C0 22 93 50 */ lfs f1, lbl_80452D50-_SDA2_BASE_(r2) -/* 800A0EF0 0009DE30 3C 60 80 44 */ lis r3, lbl_80439A20@ha -/* 800A0EF4 0009DE34 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l -/* 800A0EF8 0009DE38 38 04 40 00 */ addi r0, r4, 0x4000 -/* 800A0EFC 0009DE3C 7C 00 07 34 */ extsh r0, r0 -/* 800A0F00 0009DE40 41 80 00 0C */ blt lbl_800A0F0C -/* 800A0F04 0009DE44 38 04 C0 00 */ addi r0, r4, -16384 -/* 800A0F08 0009DE48 7C 00 07 34 */ extsh r0, r0 -lbl_800A0F0C: -/* 800A0F0C 0009DE4C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800A0F10 0009DE50 7C 63 02 14 */ add r3, r3, r0 -/* 800A0F14 0009DE54 C0 03 00 04 */ lfs f0, 4(r3) -/* 800A0F18 0009DE58 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800A0F1C 0009DE5C EC 82 00 2A */ fadds f4, f2, f0 -/* 800A0F20 0009DE60 C0 7F 04 D4 */ lfs f3, 0x4d4(r31) -/* 800A0F24 0009DE64 C0 5F 04 D0 */ lfs f2, 0x4d0(r31) -/* 800A0F28 0009DE68 C0 22 93 50 */ lfs f1, lbl_80452D50-_SDA2_BASE_(r2) -/* 800A0F2C 0009DE6C 3C 60 80 44 */ lis r3, lbl_80439A20@ha -/* 800A0F30 0009DE70 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l -/* 800A0F34 0009DE74 7C 03 04 2E */ lfsx f0, r3, r0 -/* 800A0F38 0009DE78 EC 01 00 32 */ fmuls f0, f1, f0 -/* 800A0F3C 0009DE7C EC 02 00 2A */ fadds f0, f2, f0 -/* 800A0F40 0009DE80 D0 1B 00 00 */ stfs f0, 0(r27) -/* 800A0F44 0009DE84 D0 7B 00 04 */ stfs f3, 4(r27) -/* 800A0F48 0009DE88 D0 9B 00 08 */ stfs f4, 8(r27) -/* 800A0F4C 0009DE8C 48 00 00 40 */ b lbl_800A0F8C -lbl_800A0F50: -/* 800A0F50 0009DE90 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) -/* 800A0F54 0009DE94 C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2) -/* 800A0F58 0009DE98 C0 1F 35 C0 */ lfs f0, 0x35c0(r31) -/* 800A0F5C 0009DE9C EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A0F60 0009DEA0 EC 81 00 28 */ fsubs f4, f1, f0 -/* 800A0F64 0009DEA4 C0 22 93 E0 */ lfs f1, lbl_80452DE0-_SDA2_BASE_(r2) -/* 800A0F68 0009DEA8 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 800A0F6C 0009DEAC EC 61 00 2A */ fadds f3, f1, f0 -/* 800A0F70 0009DEB0 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 800A0F74 0009DEB4 C0 1F 35 B8 */ lfs f0, 0x35b8(r31) -/* 800A0F78 0009DEB8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A0F7C 0009DEBC EC 01 00 28 */ fsubs f0, f1, f0 -/* 800A0F80 0009DEC0 D0 1B 00 00 */ stfs f0, 0(r27) -/* 800A0F84 0009DEC4 D0 7B 00 04 */ stfs f3, 4(r27) -/* 800A0F88 0009DEC8 D0 9B 00 08 */ stfs f4, 8(r27) -lbl_800A0F8C: -/* 800A0F8C 0009DECC 7F E3 FB 78 */ mr r3, r31 -/* 800A0F90 0009DED0 7F 64 DB 78 */ mr r4, r27 -/* 800A0F94 0009DED4 4B FF F8 45 */ bl daAlink_c_NS_checkAttentionPosAngle -/* 800A0F98 0009DED8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A0F9C 0009DEDC 41 82 04 38 */ beq lbl_800A13D4 -/* 800A0FA0 0009DEE0 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800A0FA4 0009DEE4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A0FA8 0009DEE8 41 82 00 10 */ beq lbl_800A0FB8 -/* 800A0FAC 0009DEEC 80 1F 05 88 */ lwz r0, 0x588(r31) -/* 800A0FB0 0009DEF0 60 00 40 00 */ ori r0, r0, 0x4000 -/* 800A0FB4 0009DEF4 90 1F 05 88 */ stw r0, 0x588(r31) -lbl_800A0FB8: -/* 800A0FB8 0009DEF8 38 00 00 00 */ li r0, 0 -/* 800A0FBC 0009DEFC 90 1C 00 00 */ stw r0, 0(r28) -/* 800A0FC0 0009DF00 7F 63 DB 78 */ mr r3, r27 -/* 800A0FC4 0009DF04 48 00 04 50 */ b lbl_800A1414 -lbl_800A0FC8: -/* 800A0FC8 0009DF08 C0 3F 35 CC */ lfs f1, 0x35cc(r31) -/* 800A0FCC 0009DF0C C0 1F 35 C4 */ lfs f0, 0x35c4(r31) -/* 800A0FD0 0009DF10 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 800A0FD4 0009DF14 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 800A0FD8 0009DF18 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 800A0FDC 0009DF1C D0 21 00 28 */ stfs f1, 0x28(r1) -/* 800A0FE0 0009DF20 38 61 00 20 */ addi r3, r1, 0x20 -/* 800A0FE4 0009DF24 48 2A 61 55 */ bl PSVECSquareMag -/* 800A0FE8 0009DF28 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) -/* 800A0FEC 0009DF2C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A0FF0 0009DF30 40 81 00 68 */ ble lbl_800A1058 -/* 800A0FF4 0009DF34 80 1F 31 A0 */ lwz r0, 0x31a0(r31) -/* 800A0FF8 0009DF38 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 800A0FFC 0009DF3C 41 82 00 5C */ beq lbl_800A1058 -/* 800A1000 0009DF40 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800A1004 0009DF44 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A1008 0009DF48 41 82 00 0C */ beq lbl_800A1014 -/* 800A100C 0009DF4C C0 62 93 B0 */ lfs f3, lbl_80452DB0-_SDA2_BASE_(r2) -/* 800A1010 0009DF50 48 00 00 08 */ b lbl_800A1018 -lbl_800A1014: -/* 800A1014 0009DF54 C0 62 93 E0 */ lfs f3, lbl_80452DE0-_SDA2_BASE_(r2) -lbl_800A1018: -/* 800A1018 0009DF58 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) -/* 800A101C 0009DF5C C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2) -/* 800A1020 0009DF60 C0 1F 35 CC */ lfs f0, 0x35cc(r31) -/* 800A1024 0009DF64 EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A1028 0009DF68 EC 81 00 2A */ fadds f4, f1, f0 -/* 800A102C 0009DF6C C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 800A1030 0009DF70 EC 60 18 2A */ fadds f3, f0, f3 -/* 800A1034 0009DF74 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 800A1038 0009DF78 C0 1F 35 C4 */ lfs f0, 0x35c4(r31) -/* 800A103C 0009DF7C EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A1040 0009DF80 EC 01 00 2A */ fadds f0, f1, f0 -/* 800A1044 0009DF84 D0 1B 00 00 */ stfs f0, 0(r27) -/* 800A1048 0009DF88 D0 7B 00 04 */ stfs f3, 4(r27) -/* 800A104C 0009DF8C D0 9B 00 08 */ stfs f4, 8(r27) -/* 800A1050 0009DF90 7F 63 DB 78 */ mr r3, r27 -/* 800A1054 0009DF94 48 00 03 C0 */ b lbl_800A1414 -lbl_800A1058: -/* 800A1058 0009DF98 C0 3F 35 9C */ lfs f1, 0x359c(r31) -/* 800A105C 0009DF9C C0 1F 35 94 */ lfs f0, 0x3594(r31) -/* 800A1060 0009DFA0 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 800A1064 0009DFA4 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 800A1068 0009DFA8 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 800A106C 0009DFAC D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 800A1070 0009DFB0 38 61 00 14 */ addi r3, r1, 0x14 -/* 800A1074 0009DFB4 48 2A 60 C5 */ bl PSVECSquareMag -/* 800A1078 0009DFB8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) -/* 800A107C 0009DFBC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A1080 0009DFC0 40 81 00 58 */ ble lbl_800A10D8 -/* 800A1084 0009DFC4 FC 00 08 34 */ frsqrte f0, f1 -/* 800A1088 0009DFC8 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) -/* 800A108C 0009DFCC FC 44 00 32 */ fmul f2, f4, f0 -/* 800A1090 0009DFD0 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) -/* 800A1094 0009DFD4 FC 00 00 32 */ fmul f0, f0, f0 -/* 800A1098 0009DFD8 FC 01 00 32 */ fmul f0, f1, f0 -/* 800A109C 0009DFDC FC 03 00 28 */ fsub f0, f3, f0 -/* 800A10A0 0009DFE0 FC 02 00 32 */ fmul f0, f2, f0 -/* 800A10A4 0009DFE4 FC 44 00 32 */ fmul f2, f4, f0 -/* 800A10A8 0009DFE8 FC 00 00 32 */ fmul f0, f0, f0 -/* 800A10AC 0009DFEC FC 01 00 32 */ fmul f0, f1, f0 -/* 800A10B0 0009DFF0 FC 03 00 28 */ fsub f0, f3, f0 -/* 800A10B4 0009DFF4 FC 02 00 32 */ fmul f0, f2, f0 -/* 800A10B8 0009DFF8 FC 44 00 32 */ fmul f2, f4, f0 -/* 800A10BC 0009DFFC FC 00 00 32 */ fmul f0, f0, f0 -/* 800A10C0 0009E000 FC 01 00 32 */ fmul f0, f1, f0 -/* 800A10C4 0009E004 FC 03 00 28 */ fsub f0, f3, f0 -/* 800A10C8 0009E008 FC 02 00 32 */ fmul f0, f2, f0 -/* 800A10CC 0009E00C FC 21 00 32 */ fmul f1, f1, f0 -/* 800A10D0 0009E010 FC 20 08 18 */ frsp f1, f1 -/* 800A10D4 0009E014 48 00 00 88 */ b lbl_800A115C -lbl_800A10D8: -/* 800A10D8 0009E018 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) -/* 800A10DC 0009E01C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A10E0 0009E020 40 80 00 10 */ bge lbl_800A10F0 -/* 800A10E4 0009E024 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 800A10E8 0009E028 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) -/* 800A10EC 0009E02C 48 00 00 70 */ b lbl_800A115C -lbl_800A10F0: -/* 800A10F0 0009E030 D0 21 00 08 */ stfs f1, 8(r1) -/* 800A10F4 0009E034 80 81 00 08 */ lwz r4, 8(r1) -/* 800A10F8 0009E038 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 800A10FC 0009E03C 3C 00 7F 80 */ lis r0, 0x7f80 -/* 800A1100 0009E040 7C 03 00 00 */ cmpw r3, r0 -/* 800A1104 0009E044 41 82 00 14 */ beq lbl_800A1118 -/* 800A1108 0009E048 40 80 00 40 */ bge lbl_800A1148 -/* 800A110C 0009E04C 2C 03 00 00 */ cmpwi r3, 0 -/* 800A1110 0009E050 41 82 00 20 */ beq lbl_800A1130 -/* 800A1114 0009E054 48 00 00 34 */ b lbl_800A1148 -lbl_800A1118: -/* 800A1118 0009E058 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 800A111C 0009E05C 41 82 00 0C */ beq lbl_800A1128 -/* 800A1120 0009E060 38 00 00 01 */ li r0, 1 -/* 800A1124 0009E064 48 00 00 28 */ b lbl_800A114C -lbl_800A1128: -/* 800A1128 0009E068 38 00 00 02 */ li r0, 2 -/* 800A112C 0009E06C 48 00 00 20 */ b lbl_800A114C -lbl_800A1130: -/* 800A1130 0009E070 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 800A1134 0009E074 41 82 00 0C */ beq lbl_800A1140 -/* 800A1138 0009E078 38 00 00 05 */ li r0, 5 -/* 800A113C 0009E07C 48 00 00 10 */ b lbl_800A114C -lbl_800A1140: -/* 800A1140 0009E080 38 00 00 03 */ li r0, 3 -/* 800A1144 0009E084 48 00 00 08 */ b lbl_800A114C -lbl_800A1148: -/* 800A1148 0009E088 38 00 00 04 */ li r0, 4 -lbl_800A114C: -/* 800A114C 0009E08C 2C 00 00 01 */ cmpwi r0, 1 -/* 800A1150 0009E090 40 82 00 0C */ bne lbl_800A115C -/* 800A1154 0009E094 3C 60 80 45 */ lis r3, lbl_80450AE0@ha -/* 800A1158 0009E098 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) -lbl_800A115C: -/* 800A115C 0009E09C C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) -/* 800A1160 0009E0A0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 800A1164 0009E0A4 40 81 00 70 */ ble lbl_800A11D4 -/* 800A1168 0009E0A8 7F E3 FB 78 */ mr r3, r31 -/* 800A116C 0009E0AC 38 80 00 14 */ li r4, 0x14 -/* 800A1170 0009E0B0 48 00 B3 E9 */ bl daAlink_c_NS_checkUnderMove0BckNoArc -/* 800A1174 0009E0B4 2C 03 00 00 */ cmpwi r3, 0 -/* 800A1178 0009E0B8 40 82 00 18 */ bne lbl_800A1190 -/* 800A117C 0009E0BC 7F E3 FB 78 */ mr r3, r31 -/* 800A1180 0009E0C0 38 80 00 37 */ li r4, 0x37 -/* 800A1184 0009E0C4 48 08 76 89 */ bl daAlink_c_NS_checkUnderMove0BckNoArcWolf -/* 800A1188 0009E0C8 2C 03 00 00 */ cmpwi r3, 0 -/* 800A118C 0009E0CC 41 82 00 48 */ beq lbl_800A11D4 -lbl_800A1190: -/* 800A1190 0009E0D0 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) -/* 800A1194 0009E0D4 C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2) -/* 800A1198 0009E0D8 C0 1F 35 9C */ lfs f0, 0x359c(r31) -/* 800A119C 0009E0DC EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A11A0 0009E0E0 EC 81 00 2A */ fadds f4, f1, f0 -/* 800A11A4 0009E0E4 C0 22 92 E0 */ lfs f1, lbl_80452CE0-_SDA2_BASE_(r2) -/* 800A11A8 0009E0E8 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 800A11AC 0009E0EC EC 61 00 2A */ fadds f3, f1, f0 -/* 800A11B0 0009E0F0 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 800A11B4 0009E0F4 C0 1F 35 94 */ lfs f0, 0x3594(r31) -/* 800A11B8 0009E0F8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A11BC 0009E0FC EC 01 00 2A */ fadds f0, f1, f0 -/* 800A11C0 0009E100 D0 1B 00 00 */ stfs f0, 0(r27) -/* 800A11C4 0009E104 D0 7B 00 04 */ stfs f3, 4(r27) -/* 800A11C8 0009E108 D0 9B 00 08 */ stfs f4, 8(r27) -/* 800A11CC 0009E10C 7F 63 DB 78 */ mr r3, r27 -/* 800A11D0 0009E110 48 00 02 44 */ b lbl_800A1414 -lbl_800A11D4: -/* 800A11D4 0009E114 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800A11D8 0009E118 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A11DC 0009E11C 41 82 01 F8 */ beq lbl_800A13D4 -/* 800A11E0 0009E120 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800A11E4 0009E124 28 00 01 11 */ cmplwi r0, 0x111 -/* 800A11E8 0009E128 40 82 00 28 */ bne lbl_800A1210 -/* 800A11EC 0009E12C 7F E3 FB 78 */ mr r3, r31 -/* 800A11F0 0009E130 38 9F 37 C8 */ addi r4, r31, 0x37c8 -/* 800A11F4 0009E134 4B FF F5 E5 */ bl daAlink_c_NS_checkAttentionPosAngle -/* 800A11F8 0009E138 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A11FC 0009E13C 41 82 01 D8 */ beq lbl_800A13D4 -/* 800A1200 0009E140 38 00 00 00 */ li r0, 0 -/* 800A1204 0009E144 90 1C 00 00 */ stw r0, 0(r28) -/* 800A1208 0009E148 38 7F 37 C8 */ addi r3, r31, 0x37c8 -/* 800A120C 0009E14C 48 00 02 08 */ b lbl_800A1414 -lbl_800A1210: -/* 800A1210 0009E150 80 1F 27 EC */ lwz r0, 0x27ec(r31) -/* 800A1214 0009E154 28 00 00 00 */ cmplwi r0, 0 -/* 800A1218 0009E158 40 82 01 BC */ bne lbl_800A13D4 -/* 800A121C 0009E15C 7F E3 FB 78 */ mr r3, r31 -/* 800A1220 0009E160 48 01 22 E1 */ bl daAlink_c_NS_checkAttentionState -/* 800A1224 0009E164 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A1228 0009E168 41 82 00 10 */ beq lbl_800A1238 -/* 800A122C 0009E16C A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800A1230 0009E170 28 00 00 F6 */ cmplwi r0, 0xf6 -/* 800A1234 0009E174 41 82 00 10 */ beq lbl_800A1244 -lbl_800A1238: -/* 800A1238 0009E178 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800A123C 0009E17C 28 00 01 1B */ cmplwi r0, 0x11b -/* 800A1240 0009E180 40 82 01 94 */ bne lbl_800A13D4 -lbl_800A1244: -/* 800A1244 0009E184 3C 60 80 44 */ lis r3, lbl_80439A20@ha -/* 800A1248 0009E188 38 83 9A 20 */ addi r4, r3, lbl_80439A20@l -/* 800A124C 0009E18C A8 1F 2F E4 */ lha r0, 0x2fe4(r31) -/* 800A1250 0009E190 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c -/* 800A1254 0009E194 7C 64 02 14 */ add r3, r4, r0 -/* 800A1258 0009E198 C0 03 00 04 */ lfs f0, 4(r3) -/* 800A125C 0009E19C C0 3F 04 D8 */ lfs f1, 0x4d8(r31) -/* 800A1260 0009E1A0 C0 42 93 B8 */ lfs f2, lbl_80452DB8-_SDA2_BASE_(r2) -/* 800A1264 0009E1A4 EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A1268 0009E1A8 EC 81 00 2A */ fadds f4, f1, f0 -/* 800A126C 0009E1AC C0 7F 05 3C */ lfs f3, 0x53c(r31) -/* 800A1270 0009E1B0 7C 04 04 2E */ lfsx f0, r4, r0 -/* 800A1274 0009E1B4 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 800A1278 0009E1B8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 800A127C 0009E1BC EC 01 00 2A */ fadds f0, f1, f0 -/* 800A1280 0009E1C0 D0 1B 00 00 */ stfs f0, 0(r27) -/* 800A1284 0009E1C4 D0 7B 00 04 */ stfs f3, 4(r27) -/* 800A1288 0009E1C8 D0 9B 00 08 */ stfs f4, 8(r27) -/* 800A128C 0009E1CC 7F E3 FB 78 */ mr r3, r31 -/* 800A1290 0009E1D0 7F 64 DB 78 */ mr r4, r27 -/* 800A1294 0009E1D4 4B FF F5 45 */ bl daAlink_c_NS_checkAttentionPosAngle -/* 800A1298 0009E1D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A129C 0009E1DC 41 82 01 38 */ beq lbl_800A13D4 -/* 800A12A0 0009E1E0 38 00 00 00 */ li r0, 0 -/* 800A12A4 0009E1E4 90 1C 00 00 */ stw r0, 0(r28) -/* 800A12A8 0009E1E8 7F 63 DB 78 */ mr r3, r27 -/* 800A12AC 0009E1EC 48 00 01 68 */ b lbl_800A1414 -lbl_800A12B0: -/* 800A12B0 0009E1F0 83 3F 06 14 */ lwz r25, 0x614(r31) -/* 800A12B4 0009E1F4 3B C0 00 00 */ li r30, 0 -/* 800A12B8 0009E1F8 80 1F 05 90 */ lwz r0, 0x590(r31) -/* 800A12BC 0009E1FC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 800A12C0 0009E200 41 82 00 60 */ beq lbl_800A1320 -/* 800A12C4 0009E204 3B 40 00 01 */ li r26, 1 -/* 800A12C8 0009E208 48 10 B2 B5 */ bl dKy_darkworld_check -/* 800A12CC 0009E20C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800A12D0 0009E210 28 00 00 01 */ cmplwi r0, 1 -/* 800A12D4 0009E214 41 82 00 24 */ beq lbl_800A12F8 -/* 800A12D8 0009E218 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha -/* 800A12DC 0009E21C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l -/* 800A12E0 0009E220 38 63 00 28 */ addi r3, r3, 0x28 -/* 800A12E4 0009E224 38 80 00 03 */ li r4, 3 -/* 800A12E8 0009E228 4B F9 19 05 */ bl isTransformLV__21dSv_player_status_b_cCFi -/* 800A12EC 0009E22C 2C 03 00 00 */ cmpwi r3, 0 -/* 800A12F0 0009E230 40 82 00 08 */ bne lbl_800A12F8 -/* 800A12F4 0009E234 3B 40 00 00 */ li r26, 0 -lbl_800A12F8: -/* 800A12F8 0009E238 57 40 06 3F */ clrlwi. r0, r26, 0x18 -/* 800A12FC 0009E23C 41 82 00 24 */ beq lbl_800A1320 -/* 800A1300 0009E240 80 1F 05 74 */ lwz r0, 0x574(r31) -/* 800A1304 0009E244 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 800A1308 0009E248 41 82 00 18 */ beq lbl_800A1320 -/* 800A130C 0009E24C 38 00 00 01 */ li r0, 1 -/* 800A1310 0009E250 90 1C 00 00 */ stw r0, 0(r28) -/* 800A1314 0009E254 80 6D 8A 98 */ lwz r3, lbl_80451018-_SDA_BASE_(r13) -/* 800A1318 0009E258 38 63 05 38 */ addi r3, r3, 0x538 -/* 800A131C 0009E25C 48 00 00 F8 */ b lbl_800A1414 -lbl_800A1320: -/* 800A1320 0009E260 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) -/* 800A1324 0009E264 28 00 01 4A */ cmplwi r0, 0x14a -/* 800A1328 0009E268 41 82 00 4C */ beq lbl_800A1374 -/* 800A132C 0009E26C 28 19 00 17 */ cmplwi r25, 0x17 -/* 800A1330 0009E270 41 82 00 44 */ beq lbl_800A1374 -/* 800A1334 0009E274 7F E3 FB 78 */ mr r3, r31 -/* 800A1338 0009E278 7F 24 CB 78 */ mr r4, r25 -/* 800A133C 0009E27C 48 07 5B 25 */ bl daAlink_c_NS_checkDemoMoveMode -/* 800A1340 0009E280 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A1344 0009E284 40 82 00 30 */ bne lbl_800A1374 -/* 800A1348 0009E288 28 19 00 01 */ cmplwi r25, 1 -/* 800A134C 0009E28C 41 82 00 28 */ beq lbl_800A1374 -/* 800A1350 0009E290 28 19 00 04 */ cmplwi r25, 4 -/* 800A1354 0009E294 41 82 00 20 */ beq lbl_800A1374 -/* 800A1358 0009E298 28 19 00 2C */ cmplwi r25, 0x2c -/* 800A135C 0009E29C 41 82 00 18 */ beq lbl_800A1374 -/* 800A1360 0009E2A0 38 19 FF D1 */ addi r0, r25, -47 -/* 800A1364 0009E2A4 28 00 00 02 */ cmplwi r0, 2 -/* 800A1368 0009E2A8 40 81 00 0C */ ble lbl_800A1374 -/* 800A136C 0009E2AC 28 19 00 0C */ cmplwi r25, 0xc -/* 800A1370 0009E2B0 40 82 00 44 */ bne lbl_800A13B4 -lbl_800A1374: -/* 800A1374 0009E2B4 7F E3 FB 78 */ mr r3, r31 -/* 800A1378 0009E2B8 48 07 6D 75 */ bl daAlink_c_NS_getDemoLookActor -/* 800A137C 0009E2BC 7C 64 1B 79 */ or. r4, r3, r3 -/* 800A1380 0009E2C0 41 82 00 18 */ beq lbl_800A1398 -/* 800A1384 0009E2C4 A8 04 00 08 */ lha r0, 8(r4) -/* 800A1388 0009E2C8 2C 00 00 FF */ cmpwi r0, 0xff -/* 800A138C 0009E2CC 40 82 00 0C */ bne lbl_800A1398 -/* 800A1390 0009E2D0 38 64 05 38 */ addi r3, r4, 0x538 -/* 800A1394 0009E2D4 48 00 00 80 */ b lbl_800A1414 -lbl_800A1398: -/* 800A1398 0009E2D8 7F E3 FB 78 */ mr r3, r31 -/* 800A139C 0009E2DC 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A13A0 0009E2E0 4B FF F4 C9 */ bl daAlink_c_NS_checkActorPosAngle -/* 800A13A4 0009E2E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A13A8 0009E2E8 41 82 00 2C */ beq lbl_800A13D4 -/* 800A13AC 0009E2EC 80 61 00 10 */ lwz r3, 0x10(r1) -/* 800A13B0 0009E2F0 48 00 00 64 */ b lbl_800A1414 -lbl_800A13B4: -/* 800A13B4 0009E2F4 7F E3 FB 78 */ mr r3, r31 -/* 800A13B8 0009E2F8 80 9F 28 60 */ lwz r4, 0x2860(r31) -/* 800A13BC 0009E2FC 38 A1 00 10 */ addi r5, r1, 0x10 -/* 800A13C0 0009E300 4B FF F4 A9 */ bl daAlink_c_NS_checkActorPosAngle -/* 800A13C4 0009E304 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A13C8 0009E308 41 82 00 0C */ beq lbl_800A13D4 -/* 800A13CC 0009E30C 80 61 00 10 */ lwz r3, 0x10(r1) -/* 800A13D0 0009E310 48 00 00 44 */ b lbl_800A1414 -lbl_800A13D4: -/* 800A13D4 0009E314 2C 1D 00 00 */ cmpwi r29, 0 -/* 800A13D8 0009E318 40 82 00 0C */ bne lbl_800A13E4 -/* 800A13DC 0009E31C 38 60 00 00 */ li r3, 0 -/* 800A13E0 0009E320 48 00 00 34 */ b lbl_800A1414 -lbl_800A13E4: -/* 800A13E4 0009E324 7F C0 07 35 */ extsh. r0, r30 -/* 800A13E8 0009E328 40 81 00 28 */ ble lbl_800A1410 -/* 800A13EC 0009E32C 38 1E FF FF */ addi r0, r30, -1 -/* 800A13F0 0009E330 B0 1F 31 1C */ sth r0, 0x311c(r31) -/* 800A13F4 0009E334 7F E3 FB 78 */ mr r3, r31 -/* 800A13F8 0009E338 38 9F 35 04 */ addi r4, r31, 0x3504 -/* 800A13FC 0009E33C 4B FF F3 DD */ bl daAlink_c_NS_checkAttentionPosAngle -/* 800A1400 0009E340 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800A1404 0009E344 41 82 00 0C */ beq lbl_800A1410 -/* 800A1408 0009E348 38 7F 35 04 */ addi r3, r31, 0x3504 -/* 800A140C 0009E34C 48 00 00 08 */ b lbl_800A1414 -lbl_800A1410: -/* 800A1410 0009E350 38 60 00 00 */ li r3, 0 -lbl_800A1414: -/* 800A1414 0009E354 39 61 00 60 */ addi r11, r1, 0x60 -/* 800A1418 0009E358 48 2C 0D FD */ bl func_80362214 -/* 800A141C 0009E35C 80 01 00 64 */ lwz r0, 0x64(r1) -/* 800A1420 0009E360 7C 08 03 A6 */ mtlr r0 -/* 800A1424 0009E364 38 21 00 60 */ addi r1, r1, 0x60 -/* 800A1428 0009E368 4E 80 00 20 */ blr - .global daAlink_c_NS_getNeckAimAngle daAlink_c_NS_getNeckAimAngle: /* 800A142C 0009E36C 94 21 FF 60 */ stwu r1, -0xa0(r1) @@ -5066,7 +839,7 @@ daAlink_c_NS_setNeckAngle: /* 800A1FD0 0009EF10 38 81 00 14 */ addi r4, r1, 0x14 /* 800A1FD4 0009EF14 38 A1 00 10 */ addi r5, r1, 0x10 /* 800A1FD8 0009EF18 38 C0 00 01 */ li r6, 1 -/* 800A1FDC 0009EF1C 4B FF E9 61 */ bl daAlink_c_NS_getNeckAimPos +/* 800A1FDC 0009EF1C 4B FF E9 61 */ bl getNeckAimPos__9daAlink_cFP4cXyzPii /* 800A1FE0 0009EF20 7C 7E 1B 79 */ or. r30, r3, r3 /* 800A1FE4 0009EF24 41 82 00 88 */ beq lbl_800A206C /* 800A1FE8 0009EF28 80 9F 31 A0 */ lwz r4, 0x31a0(r31) @@ -5672,7 +1445,7 @@ lbl_800A282C: /* 800A2850 0009F790 A8 FF 00 06 */ lha r7, 6(r31) /* 800A2854 0009F794 39 00 00 00 */ li r8, 0 /* 800A2858 0009F798 39 20 00 00 */ li r9, 0 -/* 800A285C 0009F79C 4B FF B4 11 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 800A285C 0009F79C 4B FF B4 11 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 800A2860 0009F7A0 7F A3 EB 78 */ mr r3, r29 /* 800A2864 0009F7A4 4B F6 A6 E1 */ bl mDoMtx_stack_c_NS_ZXYrotM /* 800A2868 0009F7A8 80 79 06 50 */ lwz r3, 0x650(r25) @@ -5699,7 +1472,7 @@ lbl_800A282C: /* 800A28BC 0009F7FC A8 FF 00 04 */ lha r7, 4(r31) /* 800A28C0 0009F800 39 00 00 00 */ li r8, 0 /* 800A28C4 0009F804 39 21 00 14 */ addi r9, r1, 0x14 -/* 800A28C8 0009F808 4B FF B3 A5 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 800A28C8 0009F808 4B FF B3 A5 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 800A28CC 0009F80C 7F 83 E3 78 */ mr r3, r28 /* 800A28D0 0009F810 4B F6 A6 75 */ bl mDoMtx_stack_c_NS_ZXYrotM /* 800A28D4 0009F814 80 79 06 50 */ lwz r3, 0x650(r25) @@ -5725,7 +1498,7 @@ lbl_800A282C: /* 800A2924 0009F864 A8 FF 00 02 */ lha r7, 2(r31) /* 800A2928 0009F868 39 00 00 00 */ li r8, 0 /* 800A292C 0009F86C 39 21 00 14 */ addi r9, r1, 0x14 -/* 800A2930 0009F870 4B FF B3 3D */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 800A2930 0009F870 4B FF B3 3D */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 800A2934 0009F874 80 79 20 60 */ lwz r3, 0x2060(r25) /* 800A2938 0009F878 80 63 00 1C */ lwz r3, 0x1c(r3) /* 800A293C 0009F87C 38 13 00 03 */ addi r0, r19, 3 @@ -5753,7 +1526,7 @@ lbl_800A282C: /* 800A2994 0009F8D4 A8 FF 00 02 */ lha r7, 2(r31) /* 800A2998 0009F8D8 39 00 00 00 */ li r8, 0 /* 800A299C 0009F8DC 39 21 00 14 */ addi r9, r1, 0x14 -/* 800A29A0 0009F8E0 4B FF B2 CD */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 800A29A0 0009F8E0 4B FF B2 CD */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 800A29A4 0009F8E4 3B DE 00 01 */ addi r30, r30, 1 /* 800A29A8 0009F8E8 2C 1E 00 02 */ cmpwi r30, 2 /* 800A29AC 0009F8EC 3B 18 00 02 */ addi r24, r24, 2 @@ -5851,7 +1624,7 @@ lbl_800A2ACC: /* 800A2AF4 0009FA34 38 E0 00 00 */ li r7, 0 /* 800A2AF8 0009FA38 39 00 00 00 */ li r8, 0 /* 800A2AFC 0009FA3C 39 20 00 00 */ li r9, 0 -/* 800A2B00 0009FA40 4B FF B1 6D */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 800A2B00 0009FA40 4B FF B1 6D */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 800A2B04 0009FA44 7F C3 F3 78 */ mr r3, r30 /* 800A2B08 0009FA48 38 9D 48 80 */ addi r4, r29, 0x4880 /* 800A2B0C 0009FA4C 38 A1 00 08 */ addi r5, r1, 8 @@ -5870,7 +1643,7 @@ lbl_800A2ACC: /* 800A2B40 0009FA80 38 E0 00 00 */ li r7, 0 /* 800A2B44 0009FA84 39 00 00 00 */ li r8, 0 /* 800A2B48 0009FA88 39 21 00 08 */ addi r9, r1, 8 -/* 800A2B4C 0009FA8C 4B FF B1 21 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 800A2B4C 0009FA8C 4B FF B1 21 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 800A2B50 0009FA90 7F C3 F3 78 */ mr r3, r30 /* 800A2B54 0009FA94 38 9D 48 8C */ addi r4, r29, 0x488c /* 800A2B58 0009FA98 38 A1 00 08 */ addi r5, r1, 8 @@ -5888,7 +1661,7 @@ lbl_800A2ACC: /* 800A2B88 0009FAC8 38 E0 00 00 */ li r7, 0 /* 800A2B8C 0009FACC 39 00 00 00 */ li r8, 0 /* 800A2B90 0009FAD0 39 21 00 08 */ addi r9, r1, 8 -/* 800A2B94 0009FAD4 4B FF B0 D9 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 800A2B94 0009FAD4 4B FF B0 D9 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 800A2B98 0009FAD8 7F E3 FB 78 */ mr r3, r31 /* 800A2B9C 0009FADC 38 9D 48 98 */ addi r4, r29, 0x4898 /* 800A2BA0 0009FAE0 38 A1 00 08 */ addi r5, r1, 8 @@ -5906,7 +1679,7 @@ lbl_800A2ACC: /* 800A2BD0 0009FB10 38 E0 00 00 */ li r7, 0 /* 800A2BD4 0009FB14 39 00 00 00 */ li r8, 0 /* 800A2BD8 0009FB18 39 21 00 08 */ addi r9, r1, 8 -/* 800A2BDC 0009FB1C 4B FF B0 91 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 800A2BDC 0009FB1C 4B FF B0 91 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 800A2BE0 0009FB20 3B 5A 00 01 */ addi r26, r26, 1 /* 800A2BE4 0009FB24 2C 1A 00 02 */ cmpwi r26, 2 /* 800A2BE8 0009FB28 3B 18 00 02 */ addi r24, r24, 2 @@ -7781,7 +3554,7 @@ lbl_800A4560: /* 800A4628 000A1568 38 03 35 64 */ addi r0, r3, lbl_803B3564@l /* 800A462C 000A156C 90 1D 00 00 */ stw r0, 0(r29) /* 800A4630 000A1570 7F A3 EB 78 */ mr r3, r29 -/* 800A4634 000A1574 4B FF 92 B1 */ bl daAlink_matAnm_c_NS_init +/* 800A4634 000A1574 4B FF 92 B1 */ bl init__16daAlink_matAnm_cFv lbl_800A4638: /* 800A4638 000A1578 38 1B 21 80 */ addi r0, r27, 0x2180 /* 800A463C 000A157C 7F BF 01 2E */ stwx r29, r31, r0 @@ -8200,7 +3973,7 @@ daAlink_c_NS_checkBoarStart: /* 800A4BE4 000A1B24 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A4BE8 000A1B28 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A4BEC 000A1B2C 38 63 04 45 */ addi r3, r3, 0x445 -/* 800A4BF0 000A1B30 4B FF 8E 71 */ bl daAlink_c_NS_checkStageName +/* 800A4BF0 000A1B30 4B FF 8E 71 */ bl checkStageName__9daAlink_cFPCc /* 800A4BF4 000A1B34 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A4BF8 000A1B38 41 82 00 2C */ beq lbl_800A4C24 /* 800A4BFC 000A1B3C 80 1E 00 B0 */ lwz r0, 0xb0(r30) @@ -8234,7 +4007,7 @@ daAlink_c_NS_checkCanoeStart: /* 800A4C5C 000A1B9C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A4C60 000A1BA0 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A4C64 000A1BA4 38 63 01 06 */ addi r3, r3, 0x106 -/* 800A4C68 000A1BA8 4B FF 8D F9 */ bl daAlink_c_NS_checkStageName +/* 800A4C68 000A1BA8 4B FF 8D F9 */ bl checkStageName__9daAlink_cFPCc /* 800A4C6C 000A1BAC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A4C70 000A1BB0 41 82 00 28 */ beq lbl_800A4C98 /* 800A4C74 000A1BB4 80 1E 00 B0 */ lwz r0, 0xb0(r30) @@ -8290,14 +4063,14 @@ lbl_800A4D20: /* 800A4D28 000A1C68 3B 40 00 00 */ li r26, 0 /* 800A4D2C 000A1C6C 3B 97 08 14 */ addi r28, r23, 0x814 /* 800A4D30 000A1C70 3B B7 30 6C */ addi r29, r23, 0x306c -.global daAlink_tgHitCallback -/* 800A4D34 000A1C74 3C 60 80 0A */ lis r3, daAlink_tgHitCallback@ha -.global daAlink_tgHitCallback -/* 800A4D38 000A1C78 3B C3 D8 8C */ addi r30, r3, daAlink_tgHitCallback@l -.global daAlink_coHitCallback -/* 800A4D3C 000A1C7C 3C 60 80 0A */ lis r3, daAlink_coHitCallback@ha -.global daAlink_coHitCallback -/* 800A4D40 000A1C80 3B E3 D8 B8 */ addi r31, r3, daAlink_coHitCallback@l +.global daAlink_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf +/* 800A4D34 000A1C74 3C 60 80 0A */ lis r3, daAlink_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha +.global daAlink_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf +/* 800A4D38 000A1C78 3B C3 D8 8C */ addi r30, r3, daAlink_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l +.global daAlink_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf +/* 800A4D3C 000A1C7C 3C 60 80 0A */ lis r3, daAlink_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@ha +.global daAlink_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf +/* 800A4D40 000A1C80 3B E3 D8 B8 */ addi r31, r3, daAlink_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf@l /* 800A4D44 000A1C84 3C 60 D8 FC */ lis r3, 0xD8FBFFFF@ha /* 800A4D48 000A1C88 3A C3 FF FF */ addi r22, r3, 0xD8FBFFFF@l /* 800A4D4C 000A1C8C 48 00 00 78 */ b lbl_800A4DC4 @@ -8795,19 +4568,19 @@ lbl_800A53DC: /* 800A5488 000A23C8 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A548C 000A23CC 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A5490 000A23D0 38 63 01 70 */ addi r3, r3, 0x170 -/* 800A5494 000A23D4 4B FF 85 CD */ bl daAlink_c_NS_checkStageName +/* 800A5494 000A23D4 4B FF 85 CD */ bl checkStageName__9daAlink_cFPCc /* 800A5498 000A23D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A549C 000A23DC 40 82 00 34 */ bne lbl_800A54D0 /* 800A54A0 000A23E0 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A54A4 000A23E4 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A54A8 000A23E8 38 63 04 4D */ addi r3, r3, 0x44d -/* 800A54AC 000A23EC 4B FF 85 B5 */ bl daAlink_c_NS_checkStageName +/* 800A54AC 000A23EC 4B FF 85 B5 */ bl checkStageName__9daAlink_cFPCc /* 800A54B0 000A23F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A54B4 000A23F4 40 82 00 1C */ bne lbl_800A54D0 /* 800A54B8 000A23F8 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A54BC 000A23FC 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A54C0 000A2400 38 63 01 34 */ addi r3, r3, 0x134 -/* 800A54C4 000A2404 4B FF 85 9D */ bl daAlink_c_NS_checkStageName +/* 800A54C4 000A2404 4B FF 85 9D */ bl checkStageName__9daAlink_cFPCc /* 800A54C8 000A2408 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A54CC 000A240C 41 82 00 10 */ beq lbl_800A54DC lbl_800A54D0: @@ -8892,7 +4665,7 @@ lbl_800A55DC: /* 800A55DC 000A251C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A55E0 000A2520 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A55E4 000A2524 38 63 00 F6 */ addi r3, r3, 0xf6 -/* 800A55E8 000A2528 4B FF 84 79 */ bl daAlink_c_NS_checkStageName +/* 800A55E8 000A2528 4B FF 84 79 */ bl checkStageName__9daAlink_cFPCc /* 800A55EC 000A252C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A55F0 000A2530 41 82 00 1C */ beq lbl_800A560C /* 800A55F4 000A2534 28 1B 00 08 */ cmplwi r27, 8 @@ -9191,7 +4964,7 @@ lbl_800A59BC: /* 800A5A10 000A2950 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A5A14 000A2954 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A5A18 000A2958 38 63 04 55 */ addi r3, r3, 0x455 -/* 800A5A1C 000A295C 4B FF 80 45 */ bl daAlink_c_NS_checkStageName +/* 800A5A1C 000A295C 4B FF 80 45 */ bl checkStageName__9daAlink_cFPCc /* 800A5A20 000A2960 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A5A24 000A2964 41 82 00 30 */ beq lbl_800A5A54 /* 800A5A28 000A2968 88 18 04 E2 */ lbz r0, 0x4e2(r24) @@ -9430,7 +5203,7 @@ lbl_800A5D20: /* 800A5D54 000A2C94 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A5D58 000A2C98 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A5D5C 000A2C9C 38 63 01 15 */ addi r3, r3, 0x115 -/* 800A5D60 000A2CA0 4B FF 7D 01 */ bl daAlink_c_NS_checkStageName +/* 800A5D60 000A2CA0 4B FF 7D 01 */ bl checkStageName__9daAlink_cFPCc /* 800A5D64 000A2CA4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A5D68 000A2CA8 41 82 00 34 */ beq lbl_800A5D9C /* 800A5D6C 000A2CAC 88 0D 87 E4 */ lbz r0, lbl_80450D64-_SDA_BASE_(r13) @@ -9792,7 +5565,7 @@ lbl_800A61F4: /* 800A6260 000A31A0 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A6264 000A31A4 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A6268 000A31A8 38 63 01 1C */ addi r3, r3, 0x11c -/* 800A626C 000A31AC 4B FF 77 F5 */ bl daAlink_c_NS_checkStageName +/* 800A626C 000A31AC 4B FF 77 F5 */ bl checkStageName__9daAlink_cFPCc /* 800A6270 000A31B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A6274 000A31B4 41 82 00 30 */ beq lbl_800A62A4 /* 800A6278 000A31B8 88 1F 04 E2 */ lbz r0, 0x4e2(r31) @@ -9810,7 +5583,7 @@ lbl_800A62A4: /* 800A62A4 000A31E4 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800A62A8 000A31E8 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800A62AC 000A31EC 38 63 04 5D */ addi r3, r3, 0x45d -/* 800A62B0 000A31F0 4B FF 77 B1 */ bl daAlink_c_NS_checkStageName +/* 800A62B0 000A31F0 4B FF 77 B1 */ bl checkStageName__9daAlink_cFPCc /* 800A62B4 000A31F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A62B8 000A31F8 41 82 00 2C */ beq lbl_800A62E4 /* 800A62BC 000A31FC 88 1F 04 E2 */ lbz r0, 0x4e2(r31) @@ -21297,7 +17070,7 @@ lbl_800B04EC: /* 800B053C 000AD47C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B0540 000AD480 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B0544 000AD484 38 63 00 96 */ addi r3, r3, 0x96 -/* 800B0548 000AD488 4B FE D5 19 */ bl daAlink_c_NS_checkStageName +/* 800B0548 000AD488 4B FE D5 19 */ bl checkStageName__9daAlink_cFPCc /* 800B054C 000AD48C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B0550 000AD490 41 82 00 18 */ beq lbl_800B0568 /* 800B0554 000AD494 88 18 04 E2 */ lbz r0, 0x4e2(r24) @@ -26396,7 +22169,7 @@ lbl_800B4BBC: /* 800B4BD8 000B1B18 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B4BDC 000B1B1C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B4BE0 000B1B20 38 63 04 70 */ addi r3, r3, 0x470 -/* 800B4BE4 000B1B24 4B FE 8E 7D */ bl daAlink_c_NS_checkStageName +/* 800B4BE4 000B1B24 4B FE 8E 7D */ bl checkStageName__9daAlink_cFPCc /* 800B4BE8 000B1B28 7C 7F 1B 78 */ mr r31, r3 /* 800B4BEC 000B1B2C 48 00 B7 FD */ bl daAlink_c_NS_checkRoomOnly /* 800B4BF0 000B1B30 54 60 06 3F */ clrlwi. r0, r3, 0x18 @@ -28745,7 +24518,7 @@ lbl_800B6CE4: /* 800B6CFC 000B3C3C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B6D00 000B3C40 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B6D04 000B3C44 38 63 04 78 */ addi r3, r3, 0x478 -/* 800B6D08 000B3C48 4B FE 6D 59 */ bl daAlink_c_NS_checkStageName +/* 800B6D08 000B3C48 4B FE 6D 59 */ bl checkStageName__9daAlink_cFPCc /* 800B6D0C 000B3C4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B6D10 000B3C50 41 82 00 18 */ beq lbl_800B6D28 .global daAlink_searchTagKandelaar @@ -30247,13 +26020,13 @@ lbl_800B8134: /* 800B8178 000B50B8 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B817C 000B50BC 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B8180 000B50C0 38 63 04 7F */ addi r3, r3, 0x47f -/* 800B8184 000B50C4 4B FE 58 DD */ bl daAlink_c_NS_checkStageName +/* 800B8184 000B50C4 4B FE 58 DD */ bl checkStageName__9daAlink_cFPCc /* 800B8188 000B50C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B818C 000B50CC 40 82 00 94 */ bne lbl_800B8220 /* 800B8190 000B50D0 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B8194 000B50D4 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B8198 000B50D8 38 63 01 2C */ addi r3, r3, 0x12c -/* 800B819C 000B50DC 4B FE 58 C5 */ bl daAlink_c_NS_checkStageName +/* 800B819C 000B50DC 4B FE 58 C5 */ bl checkStageName__9daAlink_cFPCc /* 800B81A0 000B50E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B81A4 000B50E4 41 82 00 2C */ beq lbl_800B81D0 /* 800B81A8 000B50E8 88 1F 04 E2 */ lbz r0, 0x4e2(r31) @@ -30274,7 +26047,7 @@ lbl_800B81D0: /* 800B81DC 000B511C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B81E0 000B5120 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B81E4 000B5124 38 63 00 3B */ addi r3, r3, 0x3b -/* 800B81E8 000B5128 4B FE 58 79 */ bl daAlink_c_NS_checkStageName +/* 800B81E8 000B5128 4B FE 58 79 */ bl checkStageName__9daAlink_cFPCc /* 800B81EC 000B512C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B81F0 000B5130 41 82 00 30 */ beq lbl_800B8220 /* 800B81F4 000B5134 C0 3F 36 AC */ lfs f1, 0x36ac(r31) @@ -30504,7 +26277,7 @@ lbl_800B850C: /* 800B850C 000B544C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B8510 000B5450 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B8514 000B5454 38 63 00 6F */ addi r3, r3, 0x6f -/* 800B8518 000B5458 4B FE 55 49 */ bl daAlink_c_NS_checkStageName +/* 800B8518 000B5458 4B FE 55 49 */ bl checkStageName__9daAlink_cFPCc /* 800B851C 000B545C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B8520 000B5460 41 82 00 28 */ beq lbl_800B8548 .global daAlink_searchKolin @@ -30552,7 +26325,7 @@ lbl_800B8598: /* 800B85B0 000B54F0 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B85B4 000B54F4 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B85B8 000B54F8 38 63 00 6F */ addi r3, r3, 0x6f -/* 800B85BC 000B54FC 4B FE 54 A5 */ bl daAlink_c_NS_checkStageName +/* 800B85BC 000B54FC 4B FE 54 A5 */ bl checkStageName__9daAlink_cFPCc /* 800B85C0 000B5500 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B85C4 000B5504 41 82 00 1C */ beq lbl_800B85E0 .global daAlink_searchBouDoor @@ -31683,7 +27456,7 @@ lbl_800B94CC: /* 800B9500 000B6440 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B9504 000B6444 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B9508 000B6448 38 63 01 1C */ addi r3, r3, 0x11c -/* 800B950C 000B644C 4B FE 45 55 */ bl daAlink_c_NS_checkStageName +/* 800B950C 000B644C 4B FE 45 55 */ bl checkStageName__9daAlink_cFPCc /* 800B9510 000B6450 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B9514 000B6454 41 82 00 2C */ beq lbl_800B9540 /* 800B9518 000B6458 88 1F 04 E2 */ lbz r0, 0x4e2(r31) @@ -32078,7 +27851,7 @@ lbl_800B9A4C: /* 800B9A68 000B69A8 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800B9A6C 000B69AC 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800B9A70 000B69B0 38 63 00 6F */ addi r3, r3, 0x6f -/* 800B9A74 000B69B4 4B FE 3F ED */ bl daAlink_c_NS_checkStageName +/* 800B9A74 000B69B4 4B FE 3F ED */ bl checkStageName__9daAlink_cFPCc /* 800B9A78 000B69B8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800B9A7C 000B69BC 40 82 00 40 */ bne lbl_800B9ABC /* 800B9A80 000B69C0 88 1E 05 6A */ lbz r0, 0x56a(r30) @@ -35365,7 +31138,7 @@ lbl_800BC86C: /* 800BC8A8 000B97E8 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800BC8AC 000B97EC 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800BC8B0 000B97F0 38 63 05 1E */ addi r3, r3, 0x51e -/* 800BC8B4 000B97F4 4B FE 11 AD */ bl daAlink_c_NS_checkStageName +/* 800BC8B4 000B97F4 4B FE 11 AD */ bl checkStageName__9daAlink_cFPCc /* 800BC8B8 000B97F8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800BC8BC 000B97FC 41 82 00 14 */ beq lbl_800BC8D0 /* 800BC8C0 000B9800 C0 3F 04 D4 */ lfs f1, 0x4d4(r31) @@ -37347,7 +33120,7 @@ lbl_800BE4A0: /* 800BE4AC 000BB3EC 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800BE4B0 000BB3F0 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800BE4B4 000BB3F4 38 63 05 26 */ addi r3, r3, 0x526 -/* 800BE4B8 000BB3F8 4B FD F5 A9 */ bl daAlink_c_NS_checkStageName +/* 800BE4B8 000BB3F8 4B FD F5 A9 */ bl checkStageName__9daAlink_cFPCc /* 800BE4BC 000BB3FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800BE4C0 000BB400 41 82 00 10 */ beq lbl_800BE4D0 /* 800BE4C4 000BB404 7F A3 EB 78 */ mr r3, r29 @@ -37388,7 +33161,7 @@ lbl_800BE540: /* 800BE540 000BB480 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800BE544 000BB484 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800BE548 000BB488 38 63 05 26 */ addi r3, r3, 0x526 -/* 800BE54C 000BB48C 4B FD F5 15 */ bl daAlink_c_NS_checkStageName +/* 800BE54C 000BB48C 4B FD F5 15 */ bl checkStageName__9daAlink_cFPCc /* 800BE550 000BB490 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800BE554 000BB494 41 82 00 0C */ beq lbl_800BE560 /* 800BE558 000BB498 C0 02 95 08 */ lfs f0, lbl_80452F08-_SDA2_BASE_(r2) @@ -39632,7 +35405,7 @@ daAlink_c_NS_checkLv2DungeonRoomSpecial: /* 800C0460 000BD3A0 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C0464 000BD3A4 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C0468 000BD3A8 38 63 05 2E */ addi r3, r3, 0x52e -/* 800C046C 000BD3AC 4B FD D5 F5 */ bl daAlink_c_NS_checkStageName +/* 800C046C 000BD3AC 4B FD D5 F5 */ bl checkStageName__9daAlink_cFPCc /* 800C0470 000BD3B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C0474 000BD3B4 41 82 00 28 */ beq lbl_800C049C /* 800C0478 000BD3B8 88 0D 87 E4 */ lbz r0, lbl_80450D64-_SDA_BASE_(r13) @@ -39663,7 +35436,7 @@ daAlink_c_NS_checkRoomSpecial: /* 800C04C8 000BD408 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C04CC 000BD40C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C04D0 000BD410 38 63 01 0E */ addi r3, r3, 0x10e -/* 800C04D4 000BD414 4B FD D5 8D */ bl daAlink_c_NS_checkStageName +/* 800C04D4 000BD414 4B FD D5 8D */ bl checkStageName__9daAlink_cFPCc /* 800C04D8 000BD418 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C04DC 000BD41C 41 82 00 1C */ beq lbl_800C04F8 /* 800C04E0 000BD420 88 0D 87 E4 */ lbz r0, lbl_80450D64-_SDA_BASE_(r13) @@ -39702,7 +35475,7 @@ daAlink_c_NS_checkRoom: /* 800C054C 000BD48C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C0550 000BD490 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C0554 000BD494 38 63 01 3C */ addi r3, r3, 0x13c -/* 800C0558 000BD498 4B FD D5 09 */ bl daAlink_c_NS_checkStageName +/* 800C0558 000BD498 4B FD D5 09 */ bl checkStageName__9daAlink_cFPCc /* 800C055C 000BD49C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C0560 000BD4A0 41 82 00 1C */ beq lbl_800C057C /* 800C0564 000BD4A4 38 60 00 0E */ li r3, 0xe @@ -39831,7 +35604,7 @@ lbl_800C06F8: /* 800C06F8 000BD638 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C06FC 000BD63C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C0700 000BD640 38 63 05 35 */ addi r3, r3, 0x535 -/* 800C0704 000BD644 4B FD D3 5D */ bl daAlink_c_NS_checkStageName +/* 800C0704 000BD644 4B FD D3 5D */ bl checkStageName__9daAlink_cFPCc /* 800C0708 000BD648 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C070C 000BD64C 41 82 00 10 */ beq lbl_800C071C /* 800C0710 000BD650 57 C0 04 3E */ clrlwi r0, r30, 0x10 @@ -40142,7 +35915,7 @@ lbl_800C0B20: /* 800C0B3C 000BDA7C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C0B40 000BDA80 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C0B44 000BDA84 38 63 00 7E */ addi r3, r3, 0x7e -/* 800C0B48 000BDA88 4B FD CF 19 */ bl daAlink_c_NS_checkStageName +/* 800C0B48 000BDA88 4B FD CF 19 */ bl checkStageName__9daAlink_cFPCc /* 800C0B4C 000BDA8C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C0B50 000BDA90 40 82 02 0C */ bne lbl_800C0D5C lbl_800C0B54: @@ -40242,7 +36015,7 @@ lbl_800C0C90: /* 800C0CA4 000BDBE4 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C0CA8 000BDBE8 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C0CAC 000BDBEC 38 63 01 15 */ addi r3, r3, 0x115 -/* 800C0CB0 000BDBF0 4B FD CD B1 */ bl daAlink_c_NS_checkStageName +/* 800C0CB0 000BDBF0 4B FD CD B1 */ bl checkStageName__9daAlink_cFPCc /* 800C0CB4 000BDBF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C0CB8 000BDBF8 41 82 00 44 */ beq lbl_800C0CFC /* 800C0CBC 000BDBFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha @@ -40265,7 +36038,7 @@ lbl_800C0CFC: /* 800C0CFC 000BDC3C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C0D00 000BDC40 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C0D04 000BDC44 38 63 00 96 */ addi r3, r3, 0x96 -/* 800C0D08 000BDC48 4B FD CD 59 */ bl daAlink_c_NS_checkStageName +/* 800C0D08 000BDC48 4B FD CD 59 */ bl checkStageName__9daAlink_cFPCc /* 800C0D0C 000BDC4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C0D10 000BDC50 41 82 00 10 */ beq lbl_800C0D20 /* 800C0D14 000BDC54 88 1C 04 E2 */ lbz r0, 0x4e2(r28) @@ -46140,7 +41913,7 @@ lbl_800C6040: /* 800C6040 000C2F80 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C6044 000C2F84 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C6048 000C2F88 38 63 01 06 */ addi r3, r3, 0x106 -/* 800C604C 000C2F8C 4B FD 7A 15 */ bl daAlink_c_NS_checkStageName +/* 800C604C 000C2F8C 4B FD 7A 15 */ bl checkStageName__9daAlink_cFPCc /* 800C6050 000C2F90 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C6054 000C2F94 41 82 00 18 */ beq lbl_800C606C /* 800C6058 000C2F98 C0 02 93 38 */ lfs f0, lbl_80452D38-_SDA2_BASE_(r2) @@ -47879,7 +43652,7 @@ lbl_800C7918: /* 800C7934 000C4874 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C7938 000C4878 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C793C 000C487C 38 63 01 70 */ addi r3, r3, 0x170 -/* 800C7940 000C4880 4B FD 61 21 */ bl daAlink_c_NS_checkStageName +/* 800C7940 000C4880 4B FD 61 21 */ bl checkStageName__9daAlink_cFPCc /* 800C7944 000C4884 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C7948 000C4888 41 82 00 0C */ beq lbl_800C7954 /* 800C794C 000C488C 38 00 00 01 */ li r0, 1 @@ -49226,7 +44999,7 @@ lbl_800C8C8C: /* 800C8CA8 000C5BE8 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C8CAC 000C5BEC 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C8CB0 000C5BF0 38 63 00 7E */ addi r3, r3, 0x7e -/* 800C8CB4 000C5BF4 4B FD 4D AD */ bl daAlink_c_NS_checkStageName +/* 800C8CB4 000C5BF4 4B FD 4D AD */ bl checkStageName__9daAlink_cFPCc /* 800C8CB8 000C5BF8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C8CBC 000C5BFC 41 82 00 14 */ beq lbl_800C8CD0 /* 800C8CC0 000C5C00 7F E3 FB 78 */ mr r3, r31 @@ -49494,7 +45267,7 @@ lbl_800C9018: /* 800C9058 000C5F98 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C905C 000C5F9C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C9060 000C5FA0 38 63 00 A5 */ addi r3, r3, 0xa5 -/* 800C9064 000C5FA4 4B FD 49 FD */ bl daAlink_c_NS_checkStageName +/* 800C9064 000C5FA4 4B FD 49 FD */ bl checkStageName__9daAlink_cFPCc /* 800C9068 000C5FA8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C906C 000C5FAC 41 82 00 3C */ beq lbl_800C90A8 /* 800C9070 000C5FB0 7F 83 E3 78 */ mr r3, r28 @@ -49515,7 +45288,7 @@ lbl_800C90A8: /* 800C90A8 000C5FE8 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C90AC 000C5FEC 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C90B0 000C5FF0 38 63 05 72 */ addi r3, r3, 0x572 -/* 800C90B4 000C5FF4 4B FD 49 AD */ bl daAlink_c_NS_checkStageName +/* 800C90B4 000C5FF4 4B FD 49 AD */ bl checkStageName__9daAlink_cFPCc /* 800C90B8 000C5FF8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C90BC 000C5FFC 41 82 00 74 */ beq lbl_800C9130 /* 800C90C0 000C6000 7F 83 E3 78 */ mr r3, r28 @@ -49550,7 +45323,7 @@ lbl_800C9130: /* 800C9130 000C6070 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800C9134 000C6074 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800C9138 000C6078 38 63 01 06 */ addi r3, r3, 0x106 -/* 800C913C 000C607C 4B FD 49 25 */ bl daAlink_c_NS_checkStageName +/* 800C913C 000C607C 4B FD 49 25 */ bl checkStageName__9daAlink_cFPCc /* 800C9140 000C6080 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800C9144 000C6084 41 82 00 34 */ beq lbl_800C9178 /* 800C9148 000C6088 7F 83 E3 78 */ mr r3, r28 @@ -50581,7 +46354,7 @@ lbl_800C9FF0: /* 800C9FF8 000C6F38 28 03 00 00 */ cmplwi r3, 0 /* 800C9FFC 000C6F3C 40 82 01 54 */ bne lbl_800CA150 /* 800CA000 000C6F40 7F E3 FB 78 */ mr r3, r31 -/* 800CA004 000C6F44 4B FD 50 31 */ bl daAlink_c_NS_setHatAngle +/* 800CA004 000C6F44 4B FD 50 31 */ bl setHatAngle__9daAlink_cFv /* 800CA008 000C6F48 88 7F 2F B0 */ lbz r3, 0x2fb0(r31) /* 800CA00C 000C6F4C 28 03 00 00 */ cmplwi r3, 0 /* 800CA010 000C6F50 41 82 00 0C */ beq lbl_800CA01C @@ -50779,7 +46552,7 @@ lbl_800CA2B8: /* 800CA2DC 000C721C 28 03 00 00 */ cmplwi r3, 0 /* 800CA2E0 000C7220 41 82 00 18 */ beq lbl_800CA2F8 /* 800CA2E4 000C7224 7F E3 FB 78 */ mr r3, r31 -/* 800CA2E8 000C7228 4B FD 4D 4D */ bl daAlink_c_NS_setHatAngle +/* 800CA2E8 000C7228 4B FD 4D 4D */ bl setHatAngle__9daAlink_cFv /* 800CA2EC 000C722C 7F E3 FB 78 */ mr r3, r31 /* 800CA2F0 000C7230 80 9F 06 50 */ lwz r4, 0x650(r31) /* 800CA2F4 000C7234 48 00 1F 69 */ bl daAlink_c_NS_modelCalc @@ -51304,7 +47077,7 @@ lbl_800CAA64: /* 800CAA64 000C79A4 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800CAA68 000C79A8 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800CAA6C 000C79AC 38 63 00 7E */ addi r3, r3, 0x7e -/* 800CAA70 000C79B0 4B FD 2F F1 */ bl daAlink_c_NS_checkStageName +/* 800CAA70 000C79B0 4B FD 2F F1 */ bl checkStageName__9daAlink_cFPCc /* 800CAA74 000C79B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800CAA78 000C79B8 41 82 00 40 */ beq lbl_800CAAB8 /* 800CAA7C 000C79BC 7F E3 FB 78 */ mr r3, r31 @@ -65243,7 +61016,7 @@ daAlink_c_NS_checkMiddleBossGoronRoom: /* 800D6DD0 000D3D10 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800D6DD4 000D3D14 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800D6DD8 000D3D18 38 63 00 3B */ addi r3, r3, 0x3b -/* 800D6DDC 000D3D1C 4B FC 6C 85 */ bl daAlink_c_NS_checkStageName +/* 800D6DDC 000D3D1C 4B FC 6C 85 */ bl checkStageName__9daAlink_cFPCc /* 800D6DE0 000D3D20 80 01 00 14 */ lwz r0, 0x14(r1) /* 800D6DE4 000D3D24 7C 08 03 A6 */ mtlr r0 /* 800D6DE8 000D3D28 38 21 00 10 */ addi r1, r1, 0x10 @@ -72752,7 +68525,7 @@ lbl_800DD7F4: /* 800DD7F4 000DA734 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800DD7F8 000DA738 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800DD7FC 000DA73C 38 63 00 48 */ addi r3, r3, 0x48 -/* 800DD800 000DA740 4B FC 02 61 */ bl daAlink_c_NS_checkStageName +/* 800DD800 000DA740 4B FC 02 61 */ bl checkStageName__9daAlink_cFPCc /* 800DD804 000DA744 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800DD808 000DA748 41 82 00 10 */ beq lbl_800DD818 lbl_800DD80C: @@ -75724,7 +71497,7 @@ daAlink_c_NS_checkBossBabaRoom: /* 800E01AC 000DD0EC 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800E01B0 000DD0F0 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800E01B4 000DD0F4 38 63 00 50 */ addi r3, r3, 0x50 -/* 800E01B8 000DD0F8 4B FB D8 A9 */ bl daAlink_c_NS_checkStageName +/* 800E01B8 000DD0F8 4B FB D8 A9 */ bl checkStageName__9daAlink_cFPCc /* 800E01BC 000DD0FC 80 01 00 14 */ lwz r0, 0x14(r1) /* 800E01C0 000DD100 7C 08 03 A6 */ mtlr r0 /* 800E01C4 000DD104 38 21 00 10 */ addi r1, r1, 0x10 @@ -76983,7 +72756,7 @@ daAlink_c_NS_checkLv6BossRoom: /* 800E12EC 000DE22C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800E12F0 000DE230 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800E12F4 000DE234 38 63 00 58 */ addi r3, r3, 0x58 -/* 800E12F8 000DE238 4B FB C7 69 */ bl daAlink_c_NS_checkStageName +/* 800E12F8 000DE238 4B FB C7 69 */ bl checkStageName__9daAlink_cFPCc /* 800E12FC 000DE23C 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 800E1300 000DE240 80 01 00 14 */ lwz r0, 0x14(r1) /* 800E1304 000DE244 7C 08 03 A6 */ mtlr r0 @@ -77080,7 +72853,7 @@ daAlink_c_NS_checkForestOldCentury: /* 800E141C 000DE35C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800E1420 000DE360 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800E1424 000DE364 38 63 00 60 */ addi r3, r3, 0x60 -/* 800E1428 000DE368 4B FB C6 39 */ bl daAlink_c_NS_checkStageName +/* 800E1428 000DE368 4B FB C6 39 */ bl checkStageName__9daAlink_cFPCc /* 800E142C 000DE36C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800E1430 000DE370 41 82 00 14 */ beq lbl_800E1444 /* 800E1434 000DE374 88 0D 87 E4 */ lbz r0, lbl_80450D64-_SDA_BASE_(r13) @@ -78652,7 +74425,7 @@ lbl_800E29F0: /* 800E29F0 000DF930 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800E29F4 000DF934 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800E29F8 000DF938 38 63 00 68 */ addi r3, r3, 0x68 -/* 800E29FC 000DF93C 4B FB B0 65 */ bl daAlink_c_NS_checkStageName +/* 800E29FC 000DF93C 4B FB B0 65 */ bl checkStageName__9daAlink_cFPCc /* 800E2A00 000DF940 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800E2A04 000DF944 41 82 00 34 */ beq lbl_800E2A38 /* 800E2A08 000DF948 7F C3 F3 78 */ mr r3, r30 @@ -89861,7 +85634,7 @@ daAlink_c_NS_checkHorseDashAccept: /* 800EC7E8 000E9728 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800EC7EC 000E972C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800EC7F0 000E9730 38 63 00 6F */ addi r3, r3, 0x6f -/* 800EC7F4 000E9734 4B FB 12 6D */ bl daAlink_c_NS_checkStageName +/* 800EC7F4 000E9734 4B FB 12 6D */ bl checkStageName__9daAlink_cFPCc /* 800EC7F8 000E9738 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 800EC7FC 000E973C 7C 00 00 34 */ cntlzw r0, r0 /* 800EC800 000E9740 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f @@ -89880,7 +85653,7 @@ daAlink_c_NS_checkCowGame: /* 800EC828 000E9768 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800EC82C 000E976C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800EC830 000E9770 38 63 00 77 */ addi r3, r3, 0x77 -/* 800EC834 000E9774 4B FB 12 2D */ bl daAlink_c_NS_checkStageName +/* 800EC834 000E9774 4B FB 12 2D */ bl checkStageName__9daAlink_cFPCc /* 800EC838 000E9778 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800EC83C 000E977C 41 82 00 28 */ beq lbl_800EC864 /* 800EC840 000E9780 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha @@ -99865,7 +95638,7 @@ lbl_800F546C: /* 800F54C4 000F2404 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 800F54C8 000F2408 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 800F54CC 000F240C 38 63 00 7E */ addi r3, r3, 0x7e -/* 800F54D0 000F2410 4B FA 85 91 */ bl daAlink_c_NS_checkStageName +/* 800F54D0 000F2410 4B FA 85 91 */ bl checkStageName__9daAlink_cFPCc /* 800F54D4 000F2414 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800F54D8 000F2418 40 82 00 10 */ bne lbl_800F54E8 /* 800F54DC 000F241C 7F E3 FB 78 */ mr r3, r31 @@ -121502,7 +117275,7 @@ daAlink_c_NS_checkLv7BossRoom: /* 80108790 001056D0 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80108794 001056D4 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80108798 001056D8 38 63 00 86 */ addi r3, r3, 0x86 -/* 8010879C 001056DC 4B F9 52 C5 */ bl daAlink_c_NS_checkStageName +/* 8010879C 001056DC 4B F9 52 C5 */ bl checkStageName__9daAlink_cFPCc /* 801087A0 001056E0 80 01 00 14 */ lwz r0, 0x14(r1) /* 801087A4 001056E4 7C 08 03 A6 */ mtlr r0 /* 801087A8 001056E8 38 21 00 10 */ addi r1, r1, 0x10 @@ -121688,7 +117461,7 @@ daAlink_c_NS_checkBossOctaIealRoom: /* 801089F4 00105934 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 801089F8 00105938 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 801089FC 0010593C 38 63 00 8E */ addi r3, r3, 0x8e -/* 80108A00 00105940 4B F9 50 61 */ bl daAlink_c_NS_checkStageName +/* 80108A00 00105940 4B F9 50 61 */ bl checkStageName__9daAlink_cFPCc /* 80108A04 00105944 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 80108A08 00105948 80 01 00 14 */ lwz r0, 0x14(r1) /* 80108A0C 0010594C 7C 08 03 A6 */ mtlr r0 @@ -125734,7 +121507,7 @@ lbl_8010C300: /* 8010C318 00109258 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8010C31C 0010925C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8010C320 00109260 38 63 00 96 */ addi r3, r3, 0x96 -/* 8010C324 00109264 4B F9 17 3D */ bl daAlink_c_NS_checkStageName +/* 8010C324 00109264 4B F9 17 3D */ bl checkStageName__9daAlink_cFPCc /* 8010C328 00109268 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8010C32C 0010926C 41 82 00 14 */ beq lbl_8010C340 /* 8010C330 00109270 88 19 04 E2 */ lbz r0, 0x4e2(r25) @@ -127393,7 +123166,7 @@ daAlink_c_NS_checkLv4BossRoom: /* 8010DB08 0010AA48 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8010DB0C 0010AA4C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8010DB10 0010AA50 38 63 00 9D */ addi r3, r3, 0x9d -/* 8010DB14 0010AA54 4B F8 FF 4D */ bl daAlink_c_NS_checkStageName +/* 8010DB14 0010AA54 4B F8 FF 4D */ bl checkStageName__9daAlink_cFPCc /* 8010DB18 0010AA58 80 01 00 14 */ lwz r0, 0x14(r1) /* 8010DB1C 0010AA5C 7C 08 03 A6 */ mtlr r0 /* 8010DB20 0010AA60 38 21 00 10 */ addi r1, r1, 0x10 @@ -131470,7 +127243,7 @@ lbl_8011150C: /* 8011150C 0010E44C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80111510 0010E450 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80111514 0010E454 38 63 00 A5 */ addi r3, r3, 0xa5 -/* 80111518 0010E458 4B F8 C5 49 */ bl daAlink_c_NS_checkStageName +/* 80111518 0010E458 4B F8 C5 49 */ bl checkStageName__9daAlink_cFPCc /* 8011151C 0010E45C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80111520 0010E460 41 82 00 58 */ beq lbl_80111578 .global daAlink_searchTagKtOnFire @@ -136545,7 +132318,7 @@ lbl_80115DD4: /* 80115E0C 00112D4C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80115E10 00112D50 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80115E14 00112D54 38 63 00 BB */ addi r3, r3, 0xbb -/* 80115E18 00112D58 4B F8 7C 49 */ bl daAlink_c_NS_checkStageName +/* 80115E18 00112D58 4B F8 7C 49 */ bl checkStageName__9daAlink_cFPCc /* 80115E1C 00112D5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80115E20 00112D60 41 82 00 2C */ beq lbl_80115E4C /* 80115E24 00112D64 38 60 00 01 */ li r3, 1 @@ -136562,13 +132335,13 @@ lbl_80115E4C: /* 80115E4C 00112D8C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80115E50 00112D90 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80115E54 00112D94 38 63 00 C2 */ addi r3, r3, 0xc2 -/* 80115E58 00112D98 4B F8 7C 09 */ bl daAlink_c_NS_checkStageName +/* 80115E58 00112D98 4B F8 7C 09 */ bl checkStageName__9daAlink_cFPCc /* 80115E5C 00112D9C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80115E60 00112DA0 40 82 00 1C */ bne lbl_80115E7C /* 80115E64 00112DA4 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80115E68 00112DA8 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80115E6C 00112DAC 38 63 00 C9 */ addi r3, r3, 0xc9 -/* 80115E70 00112DB0 4B F8 7B F1 */ bl daAlink_c_NS_checkStageName +/* 80115E70 00112DB0 4B F8 7B F1 */ bl checkStageName__9daAlink_cFPCc /* 80115E74 00112DB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80115E78 00112DB8 41 82 00 10 */ beq lbl_80115E88 lbl_80115E7C: @@ -139785,7 +135558,7 @@ daAlink_c_NS_checkFinalBattle: /* 80118AE4 00115A24 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80118AE8 00115A28 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80118AEC 00115A2C 38 63 00 F6 */ addi r3, r3, 0xf6 -/* 80118AF0 00115A30 4B F8 4F 71 */ bl daAlink_c_NS_checkStageName +/* 80118AF0 00115A30 4B F8 4F 71 */ bl checkStageName__9daAlink_cFPCc /* 80118AF4 00115A34 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80118AF8 00115A38 41 82 00 24 */ beq lbl_80118B1C /* 80118AFC 00115A3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha @@ -141866,7 +137639,7 @@ lbl_8011A80C: /* 8011A844 00117784 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011A848 00117788 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011A84C 0011778C 38 63 00 FE */ addi r3, r3, 0xfe -/* 8011A850 00117790 4B F8 32 11 */ bl daAlink_c_NS_checkStageName +/* 8011A850 00117790 4B F8 32 11 */ bl checkStageName__9daAlink_cFPCc /* 8011A854 00117794 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011A858 00117798 41 82 00 40 */ beq lbl_8011A898 /* 8011A85C 0011779C A0 1D 2F DC */ lhz r0, 0x2fdc(r29) @@ -142489,7 +138262,7 @@ lbl_8011B0FC: /* 8011B128 00118068 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011B12C 0011806C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011B130 00118070 38 63 01 06 */ addi r3, r3, 0x106 -/* 8011B134 00118074 4B F8 29 2D */ bl daAlink_c_NS_checkStageName +/* 8011B134 00118074 4B F8 29 2D */ bl checkStageName__9daAlink_cFPCc /* 8011B138 00118078 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011B13C 0011807C 41 82 00 10 */ beq lbl_8011B14C /* 8011B140 00118080 38 00 00 6E */ li r0, 0x6e @@ -142502,7 +138275,7 @@ lbl_8011B14C: /* 8011B158 00118098 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011B15C 0011809C 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011B160 001180A0 38 63 01 0E */ addi r3, r3, 0x10e -/* 8011B164 001180A4 4B F8 28 FD */ bl daAlink_c_NS_checkStageName +/* 8011B164 001180A4 4B F8 28 FD */ bl checkStageName__9daAlink_cFPCc /* 8011B168 001180A8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011B16C 001180AC 41 82 00 10 */ beq lbl_8011B17C /* 8011B170 001180B0 38 00 05 C0 */ li r0, 0x5c0 @@ -142550,7 +138323,7 @@ lbl_8011B1FC: /* 8011B204 00118144 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011B208 00118148 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011B20C 0011814C 38 63 01 15 */ addi r3, r3, 0x115 -/* 8011B210 00118150 4B F8 28 51 */ bl daAlink_c_NS_checkStageName +/* 8011B210 00118150 4B F8 28 51 */ bl checkStageName__9daAlink_cFPCc /* 8011B214 00118154 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011B218 00118158 41 82 00 10 */ beq lbl_8011B228 /* 8011B21C 0011815C 38 00 01 51 */ li r0, 0x151 @@ -143853,13 +139626,13 @@ lbl_8011C41C: /* 8011C48C 001193CC 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011C490 001193D0 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011C494 001193D4 38 63 01 1C */ addi r3, r3, 0x11c -/* 8011C498 001193D8 4B F8 15 C9 */ bl daAlink_c_NS_checkStageName +/* 8011C498 001193D8 4B F8 15 C9 */ bl checkStageName__9daAlink_cFPCc /* 8011C49C 001193DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011C4A0 001193E0 40 82 00 24 */ bne lbl_8011C4C4 /* 8011C4A4 001193E4 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011C4A8 001193E8 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011C4AC 001193EC 38 63 01 24 */ addi r3, r3, 0x124 -/* 8011C4B0 001193F0 4B F8 15 B1 */ bl daAlink_c_NS_checkStageName +/* 8011C4B0 001193F0 4B F8 15 B1 */ bl checkStageName__9daAlink_cFPCc /* 8011C4B4 001193F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011C4B8 001193F8 41 82 00 14 */ beq lbl_8011C4CC /* 8011C4BC 001193FC 2C 1C 00 37 */ cmpwi r28, 0x37 @@ -143874,7 +139647,7 @@ lbl_8011C4D0: /* 8011C4D4 00119414 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011C4D8 00119418 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011C4DC 0011941C 38 63 01 2C */ addi r3, r3, 0x12c -/* 8011C4E0 00119420 4B F8 15 81 */ bl daAlink_c_NS_checkStageName +/* 8011C4E0 00119420 4B F8 15 81 */ bl checkStageName__9daAlink_cFPCc /* 8011C4E4 00119424 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011C4E8 00119428 41 82 00 3C */ beq lbl_8011C524 /* 8011C4EC 0011942C 2C 1C 00 32 */ cmpwi r28, 0x32 @@ -143919,7 +139692,7 @@ lbl_8011C578: /* 8011C578 001194B8 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011C57C 001194BC 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011C580 001194C0 38 63 01 34 */ addi r3, r3, 0x134 -/* 8011C584 001194C4 4B F8 14 DD */ bl daAlink_c_NS_checkStageName +/* 8011C584 001194C4 4B F8 14 DD */ bl checkStageName__9daAlink_cFPCc /* 8011C588 001194C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011C58C 001194CC 41 82 00 28 */ beq lbl_8011C5B4 /* 8011C590 001194D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha @@ -146749,7 +142522,7 @@ daAlink_c_NS_checkLv7DungeonShop: /* 8011EE54 0011BD94 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011EE58 0011BD98 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011EE5C 0011BD9C 38 63 01 15 */ addi r3, r3, 0x115 -/* 8011EE60 0011BDA0 4B F7 EC 01 */ bl daAlink_c_NS_checkStageName +/* 8011EE60 0011BDA0 4B F7 EC 01 */ bl checkStageName__9daAlink_cFPCc /* 8011EE64 0011BDA4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011EE68 0011BDA8 41 82 00 14 */ beq lbl_8011EE7C /* 8011EE6C 0011BDAC 88 0D 87 E4 */ lbz r0, lbl_80450D64-_SDA_BASE_(r13) @@ -147354,7 +143127,7 @@ lbl_8011F70C: /* 8011F70C 0011C64C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011F710 0011C650 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011F714 0011C654 38 63 01 3C */ addi r3, r3, 0x13c -/* 8011F718 0011C658 4B F7 E3 49 */ bl daAlink_c_NS_checkStageName +/* 8011F718 0011C658 4B F7 E3 49 */ bl checkStageName__9daAlink_cFPCc /* 8011F71C 0011C65C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011F720 0011C660 40 82 00 94 */ bne lbl_8011F7B4 /* 8011F724 0011C664 80 1F 05 74 */ lwz r0, 0x574(r31) @@ -147839,7 +143612,7 @@ lbl_8011FDF0: /* 8011FDFC 0011CD3C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011FE00 0011CD40 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011FE04 0011CD44 38 63 01 68 */ addi r3, r3, 0x168 -/* 8011FE08 0011CD48 4B F7 DC 59 */ bl daAlink_c_NS_checkStageName +/* 8011FE08 0011CD48 4B F7 DC 59 */ bl checkStageName__9daAlink_cFPCc /* 8011FE0C 0011CD4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011FE10 0011CD50 41 82 00 10 */ beq lbl_8011FE20 /* 8011FE14 0011CD54 88 1C 04 E2 */ lbz r0, 0x4e2(r28) @@ -147849,7 +143622,7 @@ lbl_8011FE20: /* 8011FE20 0011CD60 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 8011FE24 0011CD64 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 8011FE28 0011CD68 38 63 01 70 */ addi r3, r3, 0x170 -/* 8011FE2C 0011CD6C 4B F7 DC 35 */ bl daAlink_c_NS_checkStageName +/* 8011FE2C 0011CD6C 4B F7 DC 35 */ bl checkStageName__9daAlink_cFPCc /* 8011FE30 0011CD70 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8011FE34 0011CD74 41 82 00 14 */ beq lbl_8011FE48 /* 8011FE38 0011CD78 88 1C 04 E2 */ lbz r0, 0x4e2(r28) @@ -151042,7 +146815,7 @@ daAlink_c_NS_setElecDamageEffect: /* 80122BDC 0011FB1C 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80122BE0 0011FB20 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80122BE4 0011FB24 38 63 01 2C */ addi r3, r3, 0x12c -/* 80122BE8 0011FB28 4B F7 AE 79 */ bl daAlink_c_NS_checkStageName +/* 80122BE8 0011FB28 4B F7 AE 79 */ bl checkStageName__9daAlink_cFPCc /* 80122BEC 0011FB2C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80122BF0 0011FB30 38 02 96 9C */ addi r0, r2, lbl_8045309C-_SDA2_BASE_ /* 80122BF4 0011FB34 41 82 00 08 */ beq lbl_80122BFC @@ -151137,7 +146910,7 @@ lbl_80122CF4: /* 80122D40 0011FC80 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80122D44 0011FC84 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80122D48 0011FC88 38 63 00 BB */ addi r3, r3, 0xbb -/* 80122D4C 0011FC8C 4B F7 AD 15 */ bl daAlink_c_NS_checkStageName +/* 80122D4C 0011FC8C 4B F7 AD 15 */ bl checkStageName__9daAlink_cFPCc /* 80122D50 0011FC90 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80122D54 0011FC94 41 82 01 AC */ beq lbl_80122F00 /* 80122D58 0011FC98 38 61 00 2C */ addi r3, r1, 0x2c @@ -151806,7 +147579,7 @@ daAlink_c_NS_setBootsLightEffect: /* 801236D4 00120614 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 801236D8 00120618 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 801236DC 0012061C 38 63 01 77 */ addi r3, r3, 0x177 -/* 801236E0 00120620 4B F7 A3 81 */ bl daAlink_c_NS_checkStageName +/* 801236E0 00120620 4B F7 A3 81 */ bl checkStageName__9daAlink_cFPCc /* 801236E4 00120624 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801236E8 00120628 41 82 00 A8 */ beq lbl_80123790 /* 801236EC 0012062C 38 60 00 00 */ li r3, 0 @@ -155237,9 +151010,9 @@ lbl_80126818: /* 80126868 001237A8 54 00 01 46 */ rlwinm r0, r0, 0, 5, 3 /* 8012686C 001237AC 90 1F 05 78 */ stw r0, 0x578(r31) /* 80126870 001237B0 80 7F 21 80 */ lwz r3, 0x2180(r31) -/* 80126874 001237B4 4B F7 70 71 */ bl daAlink_matAnm_c_NS_init +/* 80126874 001237B4 4B F7 70 71 */ bl init__16daAlink_matAnm_cFv /* 80126878 001237B8 80 7F 21 84 */ lwz r3, 0x2184(r31) -/* 8012687C 001237BC 4B F7 70 69 */ bl daAlink_matAnm_c_NS_init +/* 8012687C 001237BC 4B F7 70 69 */ bl init__16daAlink_matAnm_cFv /* 80126880 001237C0 38 00 00 00 */ li r0, 0 /* 80126884 001237C4 98 1F 2F A9 */ stb r0, 0x2fa9(r31) /* 80126888 001237C8 7F E3 FB 78 */ mr r3, r31 @@ -160197,7 +155970,7 @@ lbl_8012AE88: /* 8012AEEC 00127E2C 38 E0 00 00 */ li r7, 0 /* 8012AEF0 00127E30 39 00 00 00 */ li r8, 0 /* 8012AEF4 00127E34 39 20 00 00 */ li r9, 0 -/* 8012AEF8 00127E38 4B F7 2D 75 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 8012AEF8 00127E38 4B F7 2D 75 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 8012AEFC 00127E3C 38 61 00 38 */ addi r3, r1, 0x38 /* 8012AF00 00127E40 7F C4 F3 78 */ mr r4, r30 /* 8012AF04 00127E44 48 21 C4 99 */ bl PSVECSquareDistance @@ -160283,7 +156056,7 @@ lbl_8012AFE8: /* 8012B020 00127F60 38 E0 00 00 */ li r7, 0 /* 8012B024 00127F64 39 00 00 00 */ li r8, 0 /* 8012B028 00127F68 39 21 00 20 */ addi r9, r1, 0x20 -/* 8012B02C 00127F6C 4B F7 2C 41 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 8012B02C 00127F6C 4B F7 2C 41 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 8012B030 00127F70 7F C3 F3 78 */ mr r3, r30 /* 8012B034 00127F74 7F A4 EB 78 */ mr r4, r29 /* 8012B038 00127F78 48 21 C3 65 */ bl PSVECSquareDistance @@ -160369,7 +156142,7 @@ lbl_8012B11C: /* 8012B154 00128094 38 E0 00 00 */ li r7, 0 /* 8012B158 00128098 39 00 00 00 */ li r8, 0 /* 8012B15C 0012809C 39 21 00 20 */ addi r9, r1, 0x20 -/* 8012B160 001280A0 4B F7 2B 0D */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 8012B160 001280A0 4B F7 2B 0D */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 8012B164 001280A4 7F A3 EB 78 */ mr r3, r29 /* 8012B168 001280A8 7F 84 E3 78 */ mr r4, r28 /* 8012B16C 001280AC 48 21 C2 31 */ bl PSVECSquareDistance @@ -160455,7 +156228,7 @@ lbl_8012B250: /* 8012B288 001281C8 38 E0 00 00 */ li r7, 0 /* 8012B28C 001281CC 39 00 00 00 */ li r8, 0 /* 8012B290 001281D0 39 21 00 20 */ addi r9, r1, 0x20 -/* 8012B294 001281D4 4B F7 29 D9 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 8012B294 001281D4 4B F7 29 D9 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 8012B298 001281D8 3A F7 00 01 */ addi r23, r23, 1 /* 8012B29C 001281DC 2C 17 00 02 */ cmpwi r23, 2 /* 8012B2A0 001281E0 3B 7B 00 02 */ addi r27, r27, 2 @@ -160504,7 +156277,7 @@ lbl_8012B2E0: /* 8012B344 00128284 38 E0 00 00 */ li r7, 0 /* 8012B348 00128288 39 00 00 00 */ li r8, 0 /* 8012B34C 0012828C 39 20 00 00 */ li r9, 0 -/* 8012B350 00128290 4B F7 29 1D */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 8012B350 00128290 4B F7 29 1D */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 8012B354 00128294 38 61 00 38 */ addi r3, r1, 0x38 /* 8012B358 00128298 7F C4 F3 78 */ mr r4, r30 /* 8012B35C 0012829C 48 21 C0 41 */ bl PSVECSquareDistance @@ -160590,7 +156363,7 @@ lbl_8012B440: /* 8012B478 001283B8 38 E0 00 00 */ li r7, 0 /* 8012B47C 001283BC 39 00 00 00 */ li r8, 0 /* 8012B480 001283C0 39 21 00 20 */ addi r9, r1, 0x20 -/* 8012B484 001283C4 4B F7 27 E9 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 8012B484 001283C4 4B F7 27 E9 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 8012B488 001283C8 7F C3 F3 78 */ mr r3, r30 /* 8012B48C 001283CC 7F A4 EB 78 */ mr r4, r29 /* 8012B490 001283D0 48 21 BF 0D */ bl PSVECSquareDistance @@ -160676,7 +156449,7 @@ lbl_8012B574: /* 8012B5AC 001284EC 38 E0 00 00 */ li r7, 0 /* 8012B5B0 001284F0 39 00 00 00 */ li r8, 0 /* 8012B5B4 001284F4 39 21 00 20 */ addi r9, r1, 0x20 -/* 8012B5B8 001284F8 4B F7 26 B5 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 8012B5B8 001284F8 4B F7 26 B5 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 8012B5BC 001284FC 7F A3 EB 78 */ mr r3, r29 /* 8012B5C0 00128500 7F 84 E3 78 */ mr r4, r28 /* 8012B5C4 00128504 48 21 BD D9 */ bl PSVECSquareDistance @@ -160762,7 +156535,7 @@ lbl_8012B6A8: /* 8012B6E0 00128620 38 E0 00 00 */ li r7, 0 /* 8012B6E4 00128624 39 00 00 00 */ li r8, 0 /* 8012B6E8 00128628 39 21 00 20 */ addi r9, r1, 0x20 -/* 8012B6EC 0012862C 4B F7 25 81 */ bl daAlink_c_NS_setMatrixWorldAxisRot +/* 8012B6EC 0012862C 4B F7 25 81 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz /* 8012B6F0 00128630 3A F7 00 01 */ addi r23, r23, 1 /* 8012B6F4 00128634 2C 17 00 02 */ cmpwi r23, 2 /* 8012B6F8 00128638 3B 7B 00 02 */ addi r27, r27, 2 @@ -166659,7 +162432,7 @@ lbl_80130B00: /* 80130B44 0012DA84 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80130B48 0012DA88 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80130B4C 0012DA8C 38 63 03 0F */ addi r3, r3, 0x30f -/* 80130B50 0012DA90 4B F6 CF 11 */ bl daAlink_c_NS_checkStageName +/* 80130B50 0012DA90 4B F6 CF 11 */ bl checkStageName__9daAlink_cFPCc /* 80130B54 0012DA94 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80130B58 0012DA98 41 82 00 24 */ beq lbl_80130B7C .global daAlink_searchGoldWolf @@ -177121,7 +172894,7 @@ lbl_80139EB0: /* 80139F14 00136E54 3C 60 80 39 */ lis r3, lbl_80392094@ha /* 80139F18 00136E58 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80139F1C 00136E5C 38 63 03 17 */ addi r3, r3, 0x317 -/* 80139F20 00136E60 4B F6 3B 41 */ bl daAlink_c_NS_checkStageName +/* 80139F20 00136E60 4B F6 3B 41 */ bl checkStageName__9daAlink_cFPCc /* 80139F24 00136E64 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80139F28 00136E68 41 82 00 0C */ beq lbl_80139F34 /* 80139F2C 00136E6C 38 00 00 01 */ li r0, 1 @@ -184161,10 +179934,10 @@ daAlink_c_NS_changeModelDataDirect: /* 801403A4 0013D2E4 80 1F 1F 20 */ lwz r0, 0x1f20(r31) /* 801403A8 0013D2E8 90 03 00 54 */ stw r0, 0x54(r3) /* 801403AC 0013D2EC 38 C0 00 00 */ li r6, 0 -.global daAlink_modelCallBack -/* 801403B0 0013D2F0 3C 60 80 0A */ lis r3, daAlink_modelCallBack@ha -.global daAlink_modelCallBack -/* 801403B4 0013D2F4 38 63 EC 28 */ addi r3, r3, daAlink_modelCallBack@l +.global daAlink_modelCallBack__FP8J3DJointi +/* 801403B0 0013D2F0 3C 60 80 0A */ lis r3, daAlink_modelCallBack__FP8J3DJointi@ha +.global daAlink_modelCallBack__FP8J3DJointi +/* 801403B4 0013D2F4 38 63 EC 28 */ addi r3, r3, daAlink_modelCallBack__FP8J3DJointi@l /* 801403B8 0013D2F8 48 00 00 1C */ b lbl_801403D4 lbl_801403BC: /* 801403BC 0013D2FC 80 BF 06 4C */ lwz r5, 0x64c(r31) @@ -184180,10 +179953,10 @@ lbl_801403D4: /* 801403E0 0013D320 80 7F 06 58 */ lwz r3, 0x658(r31) /* 801403E4 0013D324 80 C3 00 04 */ lwz r6, 4(r3) /* 801403E8 0013D328 38 E0 00 01 */ li r7, 1 -.global daAlink_headModelCallBack -/* 801403EC 0013D32C 3C 60 80 0A */ lis r3, daAlink_headModelCallBack@ha -.global daAlink_headModelCallBack -/* 801403F0 0013D330 38 A3 EF 38 */ addi r5, r3, daAlink_headModelCallBack@l +.global daAlink_headModelCallBack__FP8J3DJointi +/* 801403EC 0013D32C 3C 60 80 0A */ lis r3, daAlink_headModelCallBack__FP8J3DJointi@ha +.global daAlink_headModelCallBack__FP8J3DJointi +/* 801403F0 0013D330 38 A3 EF 38 */ addi r5, r3, daAlink_headModelCallBack__FP8J3DJointi@l /* 801403F4 0013D334 48 00 00 18 */ b lbl_8014040C lbl_801403F8: /* 801403F8 0013D338 80 66 00 28 */ lwz r3, 0x28(r6) @@ -184263,10 +180036,10 @@ lbl_801404F0: /* 80140504 0013D444 54 00 02 D9 */ rlwinm. r0, r0, 0, 0xb, 0xc /* 80140508 0013D448 40 82 00 34 */ bne lbl_8014053C /* 8014050C 0013D44C 38 C0 00 06 */ li r6, 6 -.global daAlink_headModelCallBack -/* 80140510 0013D450 3C 60 80 0A */ lis r3, daAlink_headModelCallBack@ha -.global daAlink_headModelCallBack -/* 80140514 0013D454 38 63 EF 38 */ addi r3, r3, daAlink_headModelCallBack@l +.global daAlink_headModelCallBack__FP8J3DJointi +/* 80140510 0013D450 3C 60 80 0A */ lis r3, daAlink_headModelCallBack__FP8J3DJointi@ha +.global daAlink_headModelCallBack__FP8J3DJointi +/* 80140514 0013D454 38 63 EF 38 */ addi r3, r3, daAlink_headModelCallBack__FP8J3DJointi@l /* 80140518 0013D458 48 00 00 18 */ b lbl_80140530 lbl_8014051C: /* 8014051C 0013D45C 80 85 00 28 */ lwz r4, 0x28(r5) @@ -184317,10 +180090,10 @@ daAlink_c_NS_changeModelDataDirectWolf: /* 801405BC 0013D4FC 80 1F 1F 20 */ lwz r0, 0x1f20(r31) /* 801405C0 0013D500 90 03 00 54 */ stw r0, 0x54(r3) /* 801405C4 0013D504 38 C0 00 00 */ li r6, 0 -.global daAlink_wolfModelCallBack -/* 801405C8 0013D508 3C 60 80 0A */ lis r3, daAlink_wolfModelCallBack@ha -.global daAlink_wolfModelCallBack -/* 801405CC 0013D50C 38 63 EF F0 */ addi r3, r3, daAlink_wolfModelCallBack@l +.global daAlink_wolfModelCallBack__FP8J3DJointi +/* 801405C8 0013D508 3C 60 80 0A */ lis r3, daAlink_wolfModelCallBack__FP8J3DJointi@ha +.global daAlink_wolfModelCallBack__FP8J3DJointi +/* 801405CC 0013D50C 38 63 EF F0 */ addi r3, r3, daAlink_wolfModelCallBack__FP8J3DJointi@l /* 801405D0 0013D510 48 00 00 1C */ b lbl_801405EC lbl_801405D4: /* 801405D4 0013D514 80 BF 06 4C */ lwz r5, 0x64c(r31) diff --git a/asm/d/a/d_a_player.s b/asm/d/a/d_a_player.s index 8bf9aca28da..3194c02b56a 100644 --- a/asm/d/a/d_a_player.s +++ b/asm/d/a/d_a_player.s @@ -1238,7 +1238,7 @@ daPy_py_c_NS_checkNowWolfEyeUp: /* 8015F500 0015C440 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 8015F504 0015C444 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 8015F508 0015C448 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8015F50C 0015C44C 4B F4 12 39 */ bl daAlink_c_NS_setLookPosFromOut +/* 8015F50C 0015C44C 4B F4 12 39 */ bl setLookPosFromOut__9daAlink_cFP4cXyz /* 8015F510 0015C450 80 01 00 14 */ lwz r0, 0x14(r1) /* 8015F514 0015C454 7C 08 03 A6 */ mtlr r0 /* 8015F518 0015C458 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/asm/d/d_camera.s b/asm/d/d_camera.s index 18fde5ea33a..9b4d676ae6b 100644 --- a/asm/d/d_camera.s +++ b/asm/d/d_camera.s @@ -36729,7 +36729,7 @@ preparation: /* 801816B8 0017E5F8 D0 1E 0B 74 */ stfs f0, 0xb74(r30) /* 801816BC 0017E5FC C0 02 9F 1C */ lfs f0, lbl_8045391C-_SDA2_BASE_(r2) /* 801816C0 0017E600 D0 1E 00 D4 */ stfs f0, 0xd4(r30) -/* 801816C4 0017E604 4B F1 C1 B9 */ bl daAlink_c_NS_getE3Zhint +/* 801816C4 0017E604 4B F1 C1 B9 */ bl getE3Zhint__9daAlink_cFv /* 801816C8 0017E608 2C 03 00 00 */ cmpwi r3, 0 /* 801816CC 0017E60C 40 82 00 24 */ bne lbl_801816F0 /* 801816D0 0017E610 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h new file mode 100644 index 00000000000..a581b451d6b --- /dev/null +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -0,0 +1,8 @@ +#ifndef J3DJOINT_H_ +#define J3DJOINT_H_ + +struct J3DJoint{ + +}; + +#endif \ No newline at end of file diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h new file mode 100644 index 00000000000..a42288f94f4 --- /dev/null +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -0,0 +1,8 @@ +#ifndef J3DMODEL_H_ +#define J3DMODEL_H_ + +struct J3DModel{ + +}; + +#endif \ No newline at end of file diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h new file mode 100644 index 00000000000..11bba6653ec --- /dev/null +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -0,0 +1,8 @@ +#ifndef J3DMODELDATA_H_ +#define J3DMODELDATA_H_ + +struct J3DModelData{ + +}; + +#endif \ No newline at end of file diff --git a/include/JSystem/J3DGraphAnimator/J3DModelLoader.h b/include/JSystem/J3DGraphAnimator/J3DModelLoader.h new file mode 100644 index 00000000000..1c6e0a282fc --- /dev/null +++ b/include/JSystem/J3DGraphAnimator/J3DModelLoader.h @@ -0,0 +1,8 @@ +#ifndef J3DMODELLOADER_H_ +#define J3DMODELLOADER_H_ + +struct J3DMaterial{ + +}; + +#endif \ No newline at end of file diff --git a/include/SComponent/c_bg_s_poly_info.h b/include/SComponent/c_bg_s_poly_info.h new file mode 100644 index 00000000000..e484af1a930 --- /dev/null +++ b/include/SComponent/c_bg_s_poly_info.h @@ -0,0 +1,8 @@ +#ifndef C_BG_S_POLY_INFO_H_ +#define C_BG_S_POLY_INFO_H_ + +struct cBgS_PolyInfo{ + +}; + +#endif \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009D884.s b/include/d/d_a/d_a_alink/asm/func_8009D884.s new file mode 100644 index 00000000000..24203e16925 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009D884.s @@ -0,0 +1,2 @@ +/* 8009D884 0009A7C4 38 62 92 90 */ subi r3, r2, 0x6d70 +/* 8009D888 0009A7C8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009D88C.s b/include/d/d_a/d_a_alink/asm/func_8009D88C.s new file mode 100644 index 00000000000..ac28954857b --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009D88C.s @@ -0,0 +1,11 @@ +/* 8009D88C 0009A7CC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009D890 0009A7D0 7C 08 02 A6 */ mflr r0 +/* 8009D894 0009A7D4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009D898 0009A7D8 7C 80 23 78 */ mr r0, r4 +/* 8009D89C 0009A7DC 7C A4 2B 78 */ mr r4, r5 +/* 8009D8A0 0009A7E0 7C 05 03 78 */ mr r5, r0 +/* 8009D8A4 0009A7E4 48 00 01 F5 */ bl tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf +/* 8009D8A8 0009A7E8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009D8AC 0009A7EC 7C 08 03 A6 */ mtlr r0 +/* 8009D8B0 0009A7F0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009D8B4 0009A7F4 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009D8B8.s b/include/d/d_a/d_a_alink/asm/func_8009D8B8.s new file mode 100644 index 00000000000..5b901ebe112 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009D8B8.s @@ -0,0 +1,11 @@ +/* 8009D8B8 0009A7F8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009D8BC 0009A7FC 7C 08 02 A6 */ mflr r0 +/* 8009D8C0 0009A800 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009D8C4 0009A804 7C 80 23 78 */ mr r0, r4 +/* 8009D8C8 0009A808 7C A4 2B 78 */ mr r4, r5 +/* 8009D8CC 0009A80C 7C 05 03 78 */ mr r5, r0 +/* 8009D8D0 0009A810 48 00 02 95 */ bl coHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInf +/* 8009D8D4 0009A814 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009D8D8 0009A818 7C 08 03 A6 */ mtlr r0 +/* 8009D8DC 0009A81C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009D8E0 0009A820 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009D90C.s b/include/d/d_a/d_a_alink/asm/func_8009D90C.s new file mode 100644 index 00000000000..a7a2057e930 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009D90C.s @@ -0,0 +1,91 @@ +/* 8009D90C 0009A84C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8009D910 0009A850 7C 08 02 A6 */ mflr r0 +/* 8009D914 0009A854 90 01 00 24 */ stw r0, 0x24(r1) +/* 8009D918 0009A858 39 61 00 20 */ addi r11, r1, 0x20 +/* 8009D91C 0009A85C 48 2C 48 BD */ bl _savegpr_28 +/* 8009D920 0009A860 7C 7E 1B 78 */ mr r30, r3 +/* 8009D924 0009A864 7C 9F 23 78 */ mr r31, r4 +/* 8009D928 0009A868 48 28 EA 9D */ bl J3DMaterialAnm_NS_calc +/* 8009D92C 0009A86C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8009D930 0009A870 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 8009D934 0009A874 80 63 5D B4 */ lwz r3, 0x5db4(r3) +/* 8009D938 0009A878 80 03 05 78 */ lwz r0, 0x578(r3) +/* 8009D93C 0009A87C 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 +/* 8009D940 0009A880 40 82 01 08 */ bne lbl_8009DA48 +/* 8009D944 0009A884 3B 80 00 00 */ li r28, 0 +/* 8009D948 0009A888 3B A0 00 00 */ li r29, 0 +lbl_8009D94C: +/* 8009D94C 0009A88C 38 7D 00 14 */ addi r3, r29, 0x14 +/* 8009D950 0009A890 7C 7E 1A 14 */ add r3, r30, r3 +/* 8009D954 0009A894 A0 03 00 02 */ lhz r0, 2(r3) +/* 8009D958 0009A898 28 00 00 00 */ cmplwi r0, 0 +/* 8009D95C 0009A89C 41 82 00 DC */ beq lbl_8009DA38 +/* 8009D960 0009A8A0 80 7F 00 28 */ lwz r3, 0x28(r31) +/* 8009D964 0009A8A4 7F 84 E3 78 */ mr r4, r28 +/* 8009D968 0009A8A8 81 83 00 00 */ lwz r12, 0(r3) +/* 8009D96C 0009A8AC 81 8C 00 50 */ lwz r12, 0x50(r12) +/* 8009D970 0009A8B0 7D 89 03 A6 */ mtctr r12 +/* 8009D974 0009A8B4 4E 80 04 21 */ bctrl +/* 8009D978 0009A8B8 88 8D 8A 49 */ lbz r4, lbl_80450FC9-_SDA_BASE_(r13) +/* 8009D97C 0009A8BC 28 04 00 00 */ cmplwi r4, 0 +/* 8009D980 0009A8C0 41 82 00 8C */ beq lbl_8009DA0C +/* 8009D984 0009A8C4 80 1E 01 04 */ lwz r0, 0x104(r30) +/* 8009D988 0009A8C8 2C 00 00 00 */ cmpwi r0, 0 +/* 8009D98C 0009A8CC 40 82 00 6C */ bne lbl_8009D9F8 +/* 8009D990 0009A8D0 C0 42 92 B8 */ lfs f2, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009D994 0009A8D4 38 04 00 01 */ addi r0, r4, 1 +/* 8009D998 0009A8D8 C8 22 92 B0 */ lfd f1, lbl_80452CB0-_SDA2_BASE_(r2) +/* 8009D99C 0009A8DC 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 8009D9A0 0009A8E0 90 01 00 0C */ stw r0, 0xc(r1) +/* 8009D9A4 0009A8E4 3C 00 43 30 */ lis r0, 0x4330 +/* 8009D9A8 0009A8E8 90 01 00 08 */ stw r0, 8(r1) +/* 8009D9AC 0009A8EC C8 01 00 08 */ lfd f0, 8(r1) +/* 8009D9B0 0009A8F0 EC 00 08 28 */ fsubs f0, f0, f1 +/* 8009D9B4 0009A8F4 EC 62 00 24 */ fdivs f3, f2, f0 +/* 8009D9B8 0009A8F8 C0 1E 00 F4 */ lfs f0, 0xf4(r30) +/* 8009D9BC 0009A8FC EC 42 18 28 */ fsubs f2, f2, f3 +/* 8009D9C0 0009A900 EC 20 00 B2 */ fmuls f1, f0, f2 +/* 8009D9C4 0009A904 C0 03 00 1C */ lfs f0, 0x1c(r3) +/* 8009D9C8 0009A908 EC 00 00 F2 */ fmuls f0, f0, f3 +/* 8009D9CC 0009A90C EC 01 00 2A */ fadds f0, f1, f0 +/* 8009D9D0 0009A910 D0 03 00 1C */ stfs f0, 0x1c(r3) +/* 8009D9D4 0009A914 C0 1E 00 F8 */ lfs f0, 0xf8(r30) +/* 8009D9D8 0009A918 EC 20 00 B2 */ fmuls f1, f0, f2 +/* 8009D9DC 0009A91C C0 03 00 20 */ lfs f0, 0x20(r3) +/* 8009D9E0 0009A920 EC 00 00 F2 */ fmuls f0, f0, f3 +/* 8009D9E4 0009A924 EC 01 00 2A */ fadds f0, f1, f0 +/* 8009D9E8 0009A928 D0 03 00 20 */ stfs f0, 0x20(r3) +/* 8009D9EC 0009A92C 38 00 00 01 */ li r0, 1 +/* 8009D9F0 0009A930 90 1E 01 04 */ stw r0, 0x104(r30) +/* 8009D9F4 0009A934 48 00 00 34 */ b lbl_8009DA28 +lbl_8009D9F8: +/* 8009D9F8 0009A938 C0 1E 00 F4 */ lfs f0, 0xf4(r30) +/* 8009D9FC 0009A93C D0 03 00 1C */ stfs f0, 0x1c(r3) +/* 8009DA00 0009A940 C0 1E 00 F8 */ lfs f0, 0xf8(r30) +/* 8009DA04 0009A944 D0 03 00 20 */ stfs f0, 0x20(r3) +/* 8009DA08 0009A948 48 00 00 20 */ b lbl_8009DA28 +lbl_8009DA0C: +/* 8009DA0C 0009A94C 88 0D 8A 48 */ lbz r0, lbl_80450FC8-_SDA_BASE_(r13) +/* 8009DA10 0009A950 28 00 00 00 */ cmplwi r0, 0 +/* 8009DA14 0009A954 41 82 00 14 */ beq lbl_8009DA28 +/* 8009DA18 0009A958 C0 1E 00 FC */ lfs f0, 0xfc(r30) +/* 8009DA1C 0009A95C D0 03 00 1C */ stfs f0, 0x1c(r3) +/* 8009DA20 0009A960 C0 1E 01 00 */ lfs f0, 0x100(r30) +/* 8009DA24 0009A964 D0 03 00 20 */ stfs f0, 0x20(r3) +lbl_8009DA28: +/* 8009DA28 0009A968 C0 03 00 1C */ lfs f0, 0x1c(r3) +/* 8009DA2C 0009A96C D0 1E 00 F4 */ stfs f0, 0xf4(r30) +/* 8009DA30 0009A970 C0 03 00 20 */ lfs f0, 0x20(r3) +/* 8009DA34 0009A974 D0 1E 00 F8 */ stfs f0, 0xf8(r30) +lbl_8009DA38: +/* 8009DA38 0009A978 3B 9C 00 01 */ addi r28, r28, 1 +/* 8009DA3C 0009A97C 28 1C 00 08 */ cmplwi r28, 8 +/* 8009DA40 0009A980 3B BD 00 08 */ addi r29, r29, 8 +/* 8009DA44 0009A984 41 80 FF 08 */ blt lbl_8009D94C +lbl_8009DA48: +/* 8009DA48 0009A988 39 61 00 20 */ addi r11, r1, 0x20 +/* 8009DA4C 0009A98C 48 2C 47 D9 */ bl _restgpr_28 +/* 8009DA50 0009A990 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8009DA54 0009A994 7C 08 03 A6 */ mtlr r0 +/* 8009DA58 0009A998 38 21 00 20 */ addi r1, r1, 0x20 +/* 8009DA5C 0009A99C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009DA60.s b/include/d/d_a/d_a_alink/asm/func_8009DA60.s new file mode 100644 index 00000000000..1060186381c --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009DA60.s @@ -0,0 +1,14 @@ +/* 8009DA60 0009A9A0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009DA64 0009A9A4 7C 08 02 A6 */ mflr r0 +/* 8009DA68 0009A9A8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009DA6C 0009A9AC 7C 64 1B 78 */ mr r4, r3 +/* 8009DA70 0009A9B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 8009DA74 0009A9B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 8009DA78 0009A9B8 38 63 4E 00 */ addi r3, r3, 0x4e00 +/* 8009DA7C 0009A9BC 48 2C AF 19 */ bl strcmp +/* 8009DA80 0009A9C0 7C 60 00 34 */ cntlzw r0, r3 +/* 8009DA84 0009A9C4 54 03 D9 7E */ srwi r3, r0, 5 +/* 8009DA88 0009A9C8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009DA8C 0009A9CC 7C 08 03 A6 */ mtlr r0 +/* 8009DA90 0009A9D0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009DA94 0009A9D4 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009DA98.s b/include/d/d_a/d_a_alink/asm/func_8009DA98.s new file mode 100644 index 00000000000..428ff4da3aa --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009DA98.s @@ -0,0 +1,56 @@ +/* 8009DA98 0009A9D8 80 06 00 10 */ lwz r0, 0x10(r6) +/* 8009DA9C 0009A9DC 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd +/* 8009DAA0 0009A9E0 41 82 00 7C */ beq lbl_8009DB1C +/* 8009DAA4 0009A9E4 C0 06 00 84 */ lfs f0, 0x84(r6) +/* 8009DAA8 0009A9E8 D0 03 36 9C */ stfs f0, 0x369c(r3) +/* 8009DAAC 0009A9EC C0 06 00 88 */ lfs f0, 0x88(r6) +/* 8009DAB0 0009A9F0 D0 03 36 A0 */ stfs f0, 0x36a0(r3) +/* 8009DAB4 0009A9F4 C0 06 00 8C */ lfs f0, 0x8c(r6) +/* 8009DAB8 0009A9F8 D0 03 36 A4 */ stfs f0, 0x36a4(r3) +/* 8009DABC 0009A9FC 38 E0 00 00 */ li r7, 0 +/* 8009DAC0 0009AA00 38 C0 00 00 */ li r6, 0 +/* 8009DAC4 0009AA04 38 00 00 03 */ li r0, 3 +/* 8009DAC8 0009AA08 7C 09 03 A6 */ mtctr r0 +lbl_8009DACC: +/* 8009DACC 0009AA0C 38 06 08 50 */ addi r0, r6, 0x850 +/* 8009DAD0 0009AA10 7C 03 02 14 */ add r0, r3, r0 +/* 8009DAD4 0009AA14 7C 05 00 40 */ cmplw r5, r0 +/* 8009DAD8 0009AA18 40 82 00 34 */ bne lbl_8009DB0C +/* 8009DADC 0009AA1C 88 A3 2F B8 */ lbz r5, 0x2fb8(r3) +/* 8009DAE0 0009AA20 38 00 00 01 */ li r0, 1 +/* 8009DAE4 0009AA24 7C 00 38 30 */ slw r0, r0, r7 +/* 8009DAE8 0009AA28 7C A0 03 78 */ or r0, r5, r0 +/* 8009DAEC 0009AA2C 98 03 2F B8 */ stb r0, 0x2fb8(r3) +/* 8009DAF0 0009AA30 C0 04 04 D0 */ lfs f0, 0x4d0(r4) +/* 8009DAF4 0009AA34 D0 03 36 B4 */ stfs f0, 0x36b4(r3) +/* 8009DAF8 0009AA38 C0 04 04 D4 */ lfs f0, 0x4d4(r4) +/* 8009DAFC 0009AA3C D0 03 36 B8 */ stfs f0, 0x36b8(r3) +/* 8009DB00 0009AA40 C0 04 04 D8 */ lfs f0, 0x4d8(r4) +/* 8009DB04 0009AA44 D0 03 36 BC */ stfs f0, 0x36bc(r3) +/* 8009DB08 0009AA48 4E 80 00 20 */ blr +lbl_8009DB0C: +/* 8009DB0C 0009AA4C 38 E7 00 01 */ addi r7, r7, 1 +/* 8009DB10 0009AA50 38 C6 01 3C */ addi r6, r6, 0x13c +/* 8009DB14 0009AA54 42 00 FF B8 */ bdnz lbl_8009DACC +/* 8009DB18 0009AA58 4E 80 00 20 */ blr +lbl_8009DB1C: +/* 8009DB1C 0009AA5C 38 C0 00 00 */ li r6, 0 +/* 8009DB20 0009AA60 38 80 00 00 */ li r4, 0 +/* 8009DB24 0009AA64 38 00 00 03 */ li r0, 3 +/* 8009DB28 0009AA68 7C 09 03 A6 */ mtctr r0 +lbl_8009DB2C: +/* 8009DB2C 0009AA6C 38 04 08 50 */ addi r0, r4, 0x850 +/* 8009DB30 0009AA70 7C 03 02 14 */ add r0, r3, r0 +/* 8009DB34 0009AA74 7C 05 00 40 */ cmplw r5, r0 +/* 8009DB38 0009AA78 40 82 00 1C */ bne lbl_8009DB54 +/* 8009DB3C 0009AA7C 88 83 2F B8 */ lbz r4, 0x2fb8(r3) +/* 8009DB40 0009AA80 38 00 00 01 */ li r0, 1 +/* 8009DB44 0009AA84 7C 00 30 30 */ slw r0, r0, r6 +/* 8009DB48 0009AA88 7C 80 00 78 */ andc r0, r4, r0 +/* 8009DB4C 0009AA8C 98 03 2F B8 */ stb r0, 0x2fb8(r3) +/* 8009DB50 0009AA90 4E 80 00 20 */ blr +lbl_8009DB54: +/* 8009DB54 0009AA94 38 C6 00 01 */ addi r6, r6, 1 +/* 8009DB58 0009AA98 38 84 01 3C */ addi r4, r4, 0x13c +/* 8009DB5C 0009AA9C 42 00 FF D0 */ bdnz lbl_8009DB2C +/* 8009DB60 0009AAA0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009DB64.s b/include/d/d_a/d_a_alink/asm/func_8009DB64.s new file mode 100644 index 00000000000..a2ce19066ec --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009DB64.s @@ -0,0 +1,74 @@ +/* 8009DB64 0009AAA4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8009DB68 0009AAA8 7C 08 02 A6 */ mflr r0 +/* 8009DB6C 0009AAAC 90 01 00 24 */ stw r0, 0x24(r1) +/* 8009DB70 0009AAB0 39 61 00 20 */ addi r11, r1, 0x20 +/* 8009DB74 0009AAB4 48 2C 46 69 */ bl _savegpr_29 +/* 8009DB78 0009AAB8 7C 7E 1B 78 */ mr r30, r3 +/* 8009DB7C 0009AABC 7C 9D 23 78 */ mr r29, r4 +/* 8009DB80 0009AAC0 7C BF 2B 78 */ mr r31, r5 +/* 8009DB84 0009AAC4 80 03 05 74 */ lwz r0, 0x574(r3) +/* 8009DB88 0009AAC8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 8009DB8C 0009AACC 40 82 00 6C */ bne lbl_8009DBF8 +/* 8009DB90 0009AAD0 80 1E 05 7C */ lwz r0, 0x57c(r30) +/* 8009DB94 0009AAD4 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2 +/* 8009DB98 0009AAD8 40 82 00 60 */ bne lbl_8009DBF8 +/* 8009DB9C 0009AADC A0 1E 2F E8 */ lhz r0, 0x2fe8(r30) +/* 8009DBA0 0009AAE0 28 00 00 2D */ cmplwi r0, 0x2d +/* 8009DBA4 0009AAE4 41 82 00 0C */ beq lbl_8009DBB0 +/* 8009DBA8 0009AAE8 28 00 00 2B */ cmplwi r0, 0x2b +/* 8009DBAC 0009AAEC 40 82 00 10 */ bne lbl_8009DBBC +lbl_8009DBB0: +/* 8009DBB0 0009AAF0 80 1E 28 10 */ lwz r0, 0x2810(r30) +/* 8009DBB4 0009AAF4 7C 1D 00 40 */ cmplw r29, r0 +/* 8009DBB8 0009AAF8 41 82 00 34 */ beq lbl_8009DBEC +lbl_8009DBBC: +/* 8009DBBC 0009AAFC 80 9E 31 A0 */ lwz r4, 0x31a0(r30) +/* 8009DBC0 0009AB00 3C 60 00 01 */ lis r3, 0x00010040@ha +/* 8009DBC4 0009AB04 38 03 00 40 */ addi r0, r3, 0x00010040@l +/* 8009DBC8 0009AB08 7C 80 00 39 */ and. r0, r4, r0 +/* 8009DBCC 0009AB0C 41 82 00 10 */ beq lbl_8009DBDC +/* 8009DBD0 0009AB10 A8 1D 00 08 */ lha r0, 8(r29) +/* 8009DBD4 0009AB14 2C 00 00 BB */ cmpwi r0, 0xbb +/* 8009DBD8 0009AB18 40 82 00 14 */ bne lbl_8009DBEC +lbl_8009DBDC: +/* 8009DBDC 0009AB1C 38 9E 08 14 */ addi r4, r30, 0x814 +/* 8009DBE0 0009AB20 38 7E 37 2C */ addi r3, r30, 0x372c +/* 8009DBE4 0009AB24 7C 65 1B 78 */ mr r5, r3 +/* 8009DBE8 0009AB28 48 2A 94 A9 */ bl PSVECAdd +lbl_8009DBEC: +/* 8009DBEC 0009AB2C A0 7E 30 FE */ lhz r3, 0x30fe(r30) +/* 8009DBF0 0009AB30 38 03 00 01 */ addi r0, r3, 1 +/* 8009DBF4 0009AB34 B0 1E 30 FE */ sth r0, 0x30fe(r30) +lbl_8009DBF8: +/* 8009DBF8 0009AB38 A8 1D 00 08 */ lha r0, 8(r29) +/* 8009DBFC 0009AB3C 2C 00 01 77 */ cmpwi r0, 0x177 +/* 8009DC00 0009AB40 40 82 00 54 */ bne lbl_8009DC54 +/* 8009DC04 0009AB44 80 1E 05 74 */ lwz r0, 0x574(r30) +/* 8009DC08 0009AB48 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 8009DC0C 0009AB4C 41 82 00 3C */ beq lbl_8009DC48 +/* 8009DC10 0009AB50 38 1E 08 50 */ addi r0, r30, 0x850 +/* 8009DC14 0009AB54 7C 1F 00 40 */ cmplw r31, r0 +/* 8009DC18 0009AB58 40 82 00 14 */ bne lbl_8009DC2C +/* 8009DC1C 0009AB5C 80 1E 05 8C */ lwz r0, 0x58c(r30) +/* 8009DC20 0009AB60 60 00 08 00 */ ori r0, r0, 0x800 +/* 8009DC24 0009AB64 90 1E 05 8C */ stw r0, 0x58c(r30) +/* 8009DC28 0009AB68 48 00 00 2C */ b lbl_8009DC54 +lbl_8009DC2C: +/* 8009DC2C 0009AB6C 38 1E 0A C8 */ addi r0, r30, 0xac8 +/* 8009DC30 0009AB70 7C 1F 00 40 */ cmplw r31, r0 +/* 8009DC34 0009AB74 40 82 00 20 */ bne lbl_8009DC54 +/* 8009DC38 0009AB78 80 1E 05 8C */ lwz r0, 0x58c(r30) +/* 8009DC3C 0009AB7C 60 00 10 00 */ ori r0, r0, 0x1000 +/* 8009DC40 0009AB80 90 1E 05 8C */ stw r0, 0x58c(r30) +/* 8009DC44 0009AB84 48 00 00 10 */ b lbl_8009DC54 +lbl_8009DC48: +/* 8009DC48 0009AB88 80 1E 05 8C */ lwz r0, 0x58c(r30) +/* 8009DC4C 0009AB8C 60 00 08 00 */ ori r0, r0, 0x800 +/* 8009DC50 0009AB90 90 1E 05 8C */ stw r0, 0x58c(r30) +lbl_8009DC54: +/* 8009DC54 0009AB94 39 61 00 20 */ addi r11, r1, 0x20 +/* 8009DC58 0009AB98 48 2C 45 D1 */ bl _restgpr_29 +/* 8009DC5C 0009AB9C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8009DC60 0009ABA0 7C 08 03 A6 */ mtlr r0 +/* 8009DC64 0009ABA4 38 21 00 20 */ addi r1, r1, 0x20 +/* 8009DC68 0009ABA8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009DC6C.s b/include/d/d_a/d_a_alink/asm/func_8009DC6C.s new file mode 100644 index 00000000000..bb185beb1c1 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009DC6C.s @@ -0,0 +1,76 @@ +/* 8009DC6C 0009ABAC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8009DC70 0009ABB0 7C 08 02 A6 */ mflr r0 +/* 8009DC74 0009ABB4 90 01 00 34 */ stw r0, 0x34(r1) +/* 8009DC78 0009ABB8 39 61 00 30 */ addi r11, r1, 0x30 +/* 8009DC7C 0009ABBC 48 2C 45 55 */ bl _savegpr_26 +/* 8009DC80 0009ABC0 7C 7A 1B 78 */ mr r26, r3 +/* 8009DC84 0009ABC4 7C 9F 23 78 */ mr r31, r4 +/* 8009DC88 0009ABC8 7C BB 2B 78 */ mr r27, r5 +/* 8009DC8C 0009ABCC 7C DC 33 78 */ mr r28, r6 +/* 8009DC90 0009ABD0 7C FD 3B 78 */ mr r29, r7 +/* 8009DC94 0009ABD4 7D 1E 43 78 */ mr r30, r8 +/* 8009DC98 0009ABD8 C0 04 00 0C */ lfs f0, 0xc(r4) +/* 8009DC9C 0009ABDC D0 01 00 08 */ stfs f0, 8(r1) +/* 8009DCA0 0009ABE0 C0 04 00 1C */ lfs f0, 0x1c(r4) +/* 8009DCA4 0009ABE4 D0 01 00 0C */ stfs f0, 0xc(r1) +/* 8009DCA8 0009ABE8 C0 04 00 2C */ lfs f0, 0x2c(r4) +/* 8009DCAC 0009ABEC D0 01 00 10 */ stfs f0, 0x10(r1) +/* 8009DCB0 0009ABF0 28 09 00 00 */ cmplwi r9, 0 +/* 8009DCB4 0009ABF4 41 82 00 10 */ beq lbl_8009DCC4 +/* 8009DCB8 0009ABF8 7D 23 4B 78 */ mr r3, r9 +/* 8009DCBC 0009ABFC 4B F6 F0 A9 */ bl mDoMtx_stack_c_NS_transS +/* 8009DCC0 0009AC00 48 00 00 0C */ b lbl_8009DCCC +lbl_8009DCC4: +/* 8009DCC4 0009AC04 38 61 00 08 */ addi r3, r1, 8 +/* 8009DCC8 0009AC08 4B F6 F0 9D */ bl mDoMtx_stack_c_NS_transS +lbl_8009DCCC: +/* 8009DCCC 0009AC0C 7F 43 D3 78 */ mr r3, r26 +/* 8009DCD0 0009AC10 48 04 47 2D */ bl daAlink_c_NS_concatMagneBootMtx +/* 8009DCD4 0009AC14 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009DCD8 0009AC18 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009DCDC 0009AC1C A8 9A 04 E6 */ lha r4, 0x4e6(r26) +/* 8009DCE0 0009AC20 4B F6 E7 55 */ bl mDoMtx_YrotM +/* 8009DCE4 0009AC24 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009DCE8 0009AC28 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009DCEC 0009AC2C 7F 64 DB 78 */ mr r4, r27 +/* 8009DCF0 0009AC30 7F 85 E3 78 */ mr r5, r28 +/* 8009DCF4 0009AC34 7F A6 EB 78 */ mr r6, r29 +/* 8009DCF8 0009AC38 4B F6 E5 A9 */ bl mDoMtx_ZXYrotM +/* 8009DCFC 0009AC3C 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009DD00 0009AC40 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009DD04 0009AC44 A8 1A 04 E6 */ lha r0, 0x4e6(r26) +/* 8009DD08 0009AC48 7C 00 00 D0 */ neg r0, r0 +/* 8009DD0C 0009AC4C 7C 04 07 34 */ extsh r4, r0 +/* 8009DD10 0009AC50 4B F6 E7 25 */ bl mDoMtx_YrotM +/* 8009DD14 0009AC54 7F 43 D3 78 */ mr r3, r26 +/* 8009DD18 0009AC58 48 04 47 25 */ bl daAlink_c_NS_concatMagneBootInvMtx +/* 8009DD1C 0009AC5C C0 01 00 08 */ lfs f0, 8(r1) +/* 8009DD20 0009AC60 FC 20 00 50 */ fneg f1, f0 +/* 8009DD24 0009AC64 C0 01 00 0C */ lfs f0, 0xc(r1) +/* 8009DD28 0009AC68 FC 40 00 50 */ fneg f2, f0 +/* 8009DD2C 0009AC6C C0 01 00 10 */ lfs f0, 0x10(r1) +/* 8009DD30 0009AC70 FC 60 00 50 */ fneg f3, f0 +/* 8009DD34 0009AC74 4B F6 F0 69 */ bl mDoMtx_stack_c_NS_transM +/* 8009DD38 0009AC78 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009DD3C 0009AC7C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009DD40 0009AC80 7F E4 FB 78 */ mr r4, r31 +/* 8009DD44 0009AC84 7C 65 1B 78 */ mr r5, r3 +/* 8009DD48 0009AC88 48 2A 87 9D */ bl PSMTXConcat +/* 8009DD4C 0009AC8C 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009DD50 0009AC90 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009DD54 0009AC94 7F E4 FB 78 */ mr r4, r31 +/* 8009DD58 0009AC98 48 2A 87 59 */ bl PSMTXCopy +/* 8009DD5C 0009AC9C 2C 1E 00 00 */ cmpwi r30, 0 +/* 8009DD60 0009ACA0 41 82 00 18 */ beq lbl_8009DD78 +/* 8009DD64 0009ACA4 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009DD68 0009ACA8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009DD6C 0009ACAC 3C 80 80 43 */ lis r4, lbl_80434BE4@ha +/* 8009DD70 0009ACB0 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l +/* 8009DD74 0009ACB4 48 2A 87 3D */ bl PSMTXCopy +lbl_8009DD78: +/* 8009DD78 0009ACB8 39 61 00 30 */ addi r11, r1, 0x30 +/* 8009DD7C 0009ACBC 48 2C 44 A1 */ bl _restgpr_26 +/* 8009DD80 0009ACC0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 8009DD84 0009ACC4 7C 08 03 A6 */ mtlr r0 +/* 8009DD88 0009ACC8 38 21 00 30 */ addi r1, r1, 0x30 +/* 8009DD8C 0009ACCC 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009DD90.s b/include/d/d_a/d_a_alink/asm/func_8009DD90.s new file mode 100644 index 00000000000..340af3476d5 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009DD90.s @@ -0,0 +1,706 @@ +/* 8009DD90 0009ACD0 94 21 FF 50 */ stwu r1, -0xb0(r1) +/* 8009DD94 0009ACD4 7C 08 02 A6 */ mflr r0 +/* 8009DD98 0009ACD8 90 01 00 B4 */ stw r0, 0xb4(r1) +/* 8009DD9C 0009ACDC 39 61 00 B0 */ addi r11, r1, 0xb0 +/* 8009DDA0 0009ACE0 48 2C 44 35 */ bl _savegpr_27 +/* 8009DDA4 0009ACE4 7C 7B 1B 78 */ mr r27, r3 +/* 8009DDA8 0009ACE8 7C 9F 23 78 */ mr r31, r4 +/* 8009DDAC 0009ACEC 38 61 00 10 */ addi r3, r1, 0x10 +/* 8009DDB0 0009ACF0 38 80 00 00 */ li r4, 0 +/* 8009DDB4 0009ACF4 38 A0 00 00 */ li r5, 0 +/* 8009DDB8 0009ACF8 38 C0 00 00 */ li r6, 0 +/* 8009DDBC 0009ACFC 48 1C 96 39 */ bl csXyz_X1_ +/* 8009DDC0 0009AD00 3B 80 00 00 */ li r28, 0 +/* 8009DDC4 0009AD04 80 DB 20 60 */ lwz r6, 0x2060(r27) +/* 8009DDC8 0009AD08 80 06 00 1C */ lwz r0, 0x1c(r6) +/* 8009DDCC 0009AD0C 57 FD 28 34 */ slwi r29, r31, 5 +/* 8009DDD0 0009AD10 7C 60 EA 14 */ add r3, r0, r29 +/* 8009DDD4 0009AD14 38 A1 00 54 */ addi r5, r1, 0x54 +/* 8009DDD8 0009AD18 38 83 FF FC */ addi r4, r3, -4 +/* 8009DDDC 0009AD1C 38 00 00 04 */ li r0, 4 +/* 8009DDE0 0009AD20 7C 09 03 A6 */ mtctr r0 +lbl_8009DDE4: +/* 8009DDE4 0009AD24 80 64 00 04 */ lwz r3, 4(r4) +/* 8009DDE8 0009AD28 84 04 00 08 */ lwzu r0, 8(r4) +/* 8009DDEC 0009AD2C 90 65 00 04 */ stw r3, 4(r5) +/* 8009DDF0 0009AD30 94 05 00 08 */ stwu r0, 8(r5) +/* 8009DDF4 0009AD34 42 00 FF F0 */ bdnz lbl_8009DDE4 +/* 8009DDF8 0009AD38 80 06 00 20 */ lwz r0, 0x20(r6) +/* 8009DDFC 0009AD3C 57 FE 20 36 */ slwi r30, r31, 4 +/* 8009DE00 0009AD40 7C 80 F2 14 */ add r4, r0, r30 +/* 8009DE04 0009AD44 80 64 00 00 */ lwz r3, 0(r4) +/* 8009DE08 0009AD48 80 04 00 04 */ lwz r0, 4(r4) +/* 8009DE0C 0009AD4C 90 61 00 18 */ stw r3, 0x18(r1) +/* 8009DE10 0009AD50 90 01 00 1C */ stw r0, 0x1c(r1) +/* 8009DE14 0009AD54 80 64 00 08 */ lwz r3, 8(r4) +/* 8009DE18 0009AD58 80 04 00 0C */ lwz r0, 0xc(r4) +/* 8009DE1C 0009AD5C 90 61 00 20 */ stw r3, 0x20(r1) +/* 8009DE20 0009AD60 90 01 00 24 */ stw r0, 0x24(r1) +/* 8009DE24 0009AD64 38 61 00 08 */ addi r3, r1, 8 +/* 8009DE28 0009AD68 38 80 00 00 */ li r4, 0 +/* 8009DE2C 0009AD6C 38 A0 00 01 */ li r5, 1 +/* 8009DE30 0009AD70 38 C0 00 02 */ li r6, 2 +/* 8009DE34 0009AD74 48 1C 95 C1 */ bl csXyz_X1_ +/* 8009DE38 0009AD78 80 1B 05 74 */ lwz r0, 0x574(r27) +/* 8009DE3C 0009AD7C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 8009DE40 0009AD80 41 82 02 1C */ beq lbl_8009E05C +/* 8009DE44 0009AD84 2C 1F 00 00 */ cmpwi r31, 0 +/* 8009DE48 0009AD88 40 82 00 E0 */ bne lbl_8009DF28 +/* 8009DE4C 0009AD8C A0 1B 2F E8 */ lhz r0, 0x2fe8(r27) +/* 8009DE50 0009AD90 28 00 01 3D */ cmplwi r0, 0x13d +/* 8009DE54 0009AD94 40 82 00 1C */ bne lbl_8009DE70 +/* 8009DE58 0009AD98 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009DE5C 0009AD9C 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 8009DE60 0009ADA0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009DE64 0009ADA4 D0 03 00 14 */ stfs f0, 0x14(r3) +/* 8009DE68 0009ADA8 D0 03 00 1C */ stfs f0, 0x1c(r3) +/* 8009DE6C 0009ADAC 48 00 00 50 */ b lbl_8009DEBC +lbl_8009DE70: +/* 8009DE70 0009ADB0 88 9B 2F 99 */ lbz r4, 0x2f99(r27) +/* 8009DE74 0009ADB4 54 80 07 7F */ clrlwi. r0, r4, 0x1d +/* 8009DE78 0009ADB8 41 82 00 44 */ beq lbl_8009DEBC +/* 8009DE7C 0009ADBC 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009DE80 0009ADC0 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 8009DE84 0009ADC4 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d +/* 8009DE88 0009ADC8 41 82 00 0C */ beq lbl_8009DE94 +/* 8009DE8C 0009ADCC C0 1B 35 90 */ lfs f0, 0x3590(r27) +/* 8009DE90 0009ADD0 D0 03 00 1C */ stfs f0, 0x1c(r3) +lbl_8009DE94: +/* 8009DE94 0009ADD4 88 1B 2F 99 */ lbz r0, 0x2f99(r27) +/* 8009DE98 0009ADD8 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8009DE9C 0009ADDC 41 82 00 0C */ beq lbl_8009DEA8 +/* 8009DEA0 0009ADE0 C0 1B 35 88 */ lfs f0, 0x3588(r27) +/* 8009DEA4 0009ADE4 D0 03 00 14 */ stfs f0, 0x14(r3) +lbl_8009DEA8: +/* 8009DEA8 0009ADE8 88 1B 2F 99 */ lbz r0, 0x2f99(r27) +/* 8009DEAC 0009ADEC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 8009DEB0 0009ADF0 41 82 00 0C */ beq lbl_8009DEBC +/* 8009DEB4 0009ADF4 C0 1B 33 B0 */ lfs f0, 0x33b0(r27) +/* 8009DEB8 0009ADF8 D0 03 00 18 */ stfs f0, 0x18(r3) +lbl_8009DEBC: +/* 8009DEBC 0009ADFC A8 9B 30 82 */ lha r4, 0x3082(r27) +/* 8009DEC0 0009AE00 A8 1B 30 80 */ lha r0, 0x3080(r27) +/* 8009DEC4 0009AE04 B0 01 00 10 */ sth r0, 0x10(r1) +/* 8009DEC8 0009AE08 38 60 00 00 */ li r3, 0 +/* 8009DECC 0009AE0C B0 61 00 12 */ sth r3, 0x12(r1) +/* 8009DED0 0009AE10 B0 81 00 14 */ sth r4, 0x14(r1) +/* 8009DED4 0009AE14 38 00 00 02 */ li r0, 2 +/* 8009DED8 0009AE18 B0 01 00 08 */ sth r0, 8(r1) +/* 8009DEDC 0009AE1C 38 00 00 01 */ li r0, 1 +/* 8009DEE0 0009AE20 B0 01 00 0A */ sth r0, 0xa(r1) +/* 8009DEE4 0009AE24 B0 61 00 0C */ sth r3, 0xc(r1) +/* 8009DEE8 0009AE28 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009DEEC 0009AE2C 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 8009DEF0 0009AE30 E0 03 00 00 */ psq_l f0, 0(r3), 0, 0 +/* 8009DEF4 0009AE34 F0 01 00 78 */ psq_st f0, 120(r1), 0, 0 +/* 8009DEF8 0009AE38 C0 03 00 08 */ lfs f0, 8(r3) +/* 8009DEFC 0009AE3C D0 01 00 80 */ stfs f0, 0x80(r1) +/* 8009DF00 0009AE40 80 03 00 0C */ lwz r0, 0xc(r3) +/* 8009DF04 0009AE44 90 01 00 84 */ stw r0, 0x84(r1) +/* 8009DF08 0009AE48 A8 03 00 10 */ lha r0, 0x10(r3) +/* 8009DF0C 0009AE4C B0 01 00 88 */ sth r0, 0x88(r1) +/* 8009DF10 0009AE50 E0 03 00 14 */ psq_l f0, 20(r3), 0, 0 +/* 8009DF14 0009AE54 F0 01 00 8C */ psq_st f0, 140(r1), 0, 0 +/* 8009DF18 0009AE58 C0 03 00 1C */ lfs f0, 0x1c(r3) +/* 8009DF1C 0009AE5C D0 01 00 94 */ stfs f0, 0x94(r1) +/* 8009DF20 0009AE60 63 9C 00 02 */ ori r28, r28, 2 +/* 8009DF24 0009AE64 48 00 05 78 */ b lbl_8009E49C +lbl_8009DF28: +/* 8009DF28 0009AE68 2C 1F 00 03 */ cmpwi r31, 3 +/* 8009DF2C 0009AE6C 40 82 00 3C */ bne lbl_8009DF68 +/* 8009DF30 0009AE70 A8 9B 30 B0 */ lha r4, 0x30b0(r27) +/* 8009DF34 0009AE74 A8 7B 30 D6 */ lha r3, 0x30d6(r27) +/* 8009DF38 0009AE78 A8 1B 30 B2 */ lha r0, 0x30b2(r27) +/* 8009DF3C 0009AE7C 7C 03 02 14 */ add r0, r3, r0 +/* 8009DF40 0009AE80 B0 01 00 10 */ sth r0, 0x10(r1) +/* 8009DF44 0009AE84 38 60 00 00 */ li r3, 0 +/* 8009DF48 0009AE88 B0 61 00 12 */ sth r3, 0x12(r1) +/* 8009DF4C 0009AE8C B0 81 00 14 */ sth r4, 0x14(r1) +/* 8009DF50 0009AE90 38 00 00 02 */ li r0, 2 +/* 8009DF54 0009AE94 B0 01 00 08 */ sth r0, 8(r1) +/* 8009DF58 0009AE98 B0 61 00 0A */ sth r3, 0xa(r1) +/* 8009DF5C 0009AE9C 38 00 00 01 */ li r0, 1 +/* 8009DF60 0009AEA0 B0 01 00 0C */ sth r0, 0xc(r1) +/* 8009DF64 0009AEA4 48 00 05 38 */ b lbl_8009E49C +lbl_8009DF68: +/* 8009DF68 0009AEA8 2C 1F 00 1A */ cmpwi r31, 0x1a +/* 8009DF6C 0009AEAC 40 82 00 34 */ bne lbl_8009DFA0 +/* 8009DF70 0009AEB0 A8 1B 2F EC */ lha r0, 0x2fec(r27) +/* 8009DF74 0009AEB4 7C 00 00 D0 */ neg r0, r0 +/* 8009DF78 0009AEB8 38 60 00 00 */ li r3, 0 +/* 8009DF7C 0009AEBC B0 61 00 10 */ sth r3, 0x10(r1) +/* 8009DF80 0009AEC0 B0 01 00 12 */ sth r0, 0x12(r1) +/* 8009DF84 0009AEC4 B0 61 00 14 */ sth r3, 0x14(r1) +/* 8009DF88 0009AEC8 38 00 00 02 */ li r0, 2 +/* 8009DF8C 0009AECC B0 01 00 08 */ sth r0, 8(r1) +/* 8009DF90 0009AED0 38 00 00 01 */ li r0, 1 +/* 8009DF94 0009AED4 B0 01 00 0A */ sth r0, 0xa(r1) +/* 8009DF98 0009AED8 B0 61 00 0C */ sth r3, 0xc(r1) +/* 8009DF9C 0009AEDC 48 00 05 00 */ b lbl_8009E49C +lbl_8009DFA0: +/* 8009DFA0 0009AEE0 2C 1F 00 25 */ cmpwi r31, 0x25 +/* 8009DFA4 0009AEE4 41 80 00 40 */ blt lbl_8009DFE4 +/* 8009DFA8 0009AEE8 2C 1F 00 27 */ cmpwi r31, 0x27 +/* 8009DFAC 0009AEEC 41 81 00 38 */ bgt lbl_8009DFE4 +/* 8009DFB0 0009AEF0 57 E0 08 3C */ slwi r0, r31, 1 +/* 8009DFB4 0009AEF4 7C 7B 02 14 */ add r3, r27, r0 +/* 8009DFB8 0009AEF8 A8 03 30 4A */ lha r0, 0x304a(r3) +/* 8009DFBC 0009AEFC 38 60 00 00 */ li r3, 0 +/* 8009DFC0 0009AF00 B0 61 00 10 */ sth r3, 0x10(r1) +/* 8009DFC4 0009AF04 B0 01 00 12 */ sth r0, 0x12(r1) +/* 8009DFC8 0009AF08 B0 61 00 14 */ sth r3, 0x14(r1) +/* 8009DFCC 0009AF0C 38 00 00 02 */ li r0, 2 +/* 8009DFD0 0009AF10 B0 01 00 08 */ sth r0, 8(r1) +/* 8009DFD4 0009AF14 38 00 00 01 */ li r0, 1 +/* 8009DFD8 0009AF18 B0 01 00 0A */ sth r0, 0xa(r1) +/* 8009DFDC 0009AF1C B0 61 00 0C */ sth r3, 0xc(r1) +/* 8009DFE0 0009AF20 48 00 04 BC */ b lbl_8009E49C +lbl_8009DFE4: +/* 8009DFE4 0009AF24 2C 1F 00 02 */ cmpwi r31, 2 +/* 8009DFE8 0009AF28 40 82 00 34 */ bne lbl_8009E01C +/* 8009DFEC 0009AF2C A8 1B 2F EC */ lha r0, 0x2fec(r27) +/* 8009DFF0 0009AF30 7C 00 00 D0 */ neg r0, r0 +/* 8009DFF4 0009AF34 38 60 00 00 */ li r3, 0 +/* 8009DFF8 0009AF38 B0 61 00 10 */ sth r3, 0x10(r1) +/* 8009DFFC 0009AF3C B0 01 00 12 */ sth r0, 0x12(r1) +/* 8009E000 0009AF40 B0 61 00 14 */ sth r3, 0x14(r1) +/* 8009E004 0009AF44 38 00 00 02 */ li r0, 2 +/* 8009E008 0009AF48 B0 01 00 08 */ sth r0, 8(r1) +/* 8009E00C 0009AF4C 38 00 00 01 */ li r0, 1 +/* 8009E010 0009AF50 B0 01 00 0A */ sth r0, 0xa(r1) +/* 8009E014 0009AF54 B0 61 00 0C */ sth r3, 0xc(r1) +/* 8009E018 0009AF58 48 00 04 84 */ b lbl_8009E49C +lbl_8009E01C: +/* 8009E01C 0009AF5C 2C 1F 00 04 */ cmpwi r31, 4 +/* 8009E020 0009AF60 40 82 04 7C */ bne lbl_8009E49C +/* 8009E024 0009AF64 A8 9B 31 28 */ lha r4, 0x3128(r27) +/* 8009E028 0009AF68 A8 1B 31 26 */ lha r0, 0x3126(r27) +/* 8009E02C 0009AF6C 7C 60 00 D0 */ neg r3, r0 +/* 8009E030 0009AF70 A8 1B 31 24 */ lha r0, 0x3124(r27) +/* 8009E034 0009AF74 B0 01 00 10 */ sth r0, 0x10(r1) +/* 8009E038 0009AF78 B0 61 00 12 */ sth r3, 0x12(r1) +/* 8009E03C 0009AF7C B0 81 00 14 */ sth r4, 0x14(r1) +/* 8009E040 0009AF80 38 00 00 02 */ li r0, 2 +/* 8009E044 0009AF84 B0 01 00 08 */ sth r0, 8(r1) +/* 8009E048 0009AF88 38 00 00 01 */ li r0, 1 +/* 8009E04C 0009AF8C B0 01 00 0A */ sth r0, 0xa(r1) +/* 8009E050 0009AF90 38 00 00 00 */ li r0, 0 +/* 8009E054 0009AF94 B0 01 00 0C */ sth r0, 0xc(r1) +/* 8009E058 0009AF98 48 00 04 44 */ b lbl_8009E49C +lbl_8009E05C: +/* 8009E05C 0009AF9C 2C 1F 00 04 */ cmpwi r31, 4 +/* 8009E060 0009AFA0 40 82 00 3C */ bne lbl_8009E09C +/* 8009E064 0009AFA4 A8 9B 31 28 */ lha r4, 0x3128(r27) +/* 8009E068 0009AFA8 A8 1B 31 26 */ lha r0, 0x3126(r27) +/* 8009E06C 0009AFAC 7C 60 00 D0 */ neg r3, r0 +/* 8009E070 0009AFB0 A8 1B 31 24 */ lha r0, 0x3124(r27) +/* 8009E074 0009AFB4 B0 01 00 10 */ sth r0, 0x10(r1) +/* 8009E078 0009AFB8 B0 61 00 12 */ sth r3, 0x12(r1) +/* 8009E07C 0009AFBC B0 81 00 14 */ sth r4, 0x14(r1) +/* 8009E080 0009AFC0 38 00 00 02 */ li r0, 2 +/* 8009E084 0009AFC4 B0 01 00 08 */ sth r0, 8(r1) +/* 8009E088 0009AFC8 38 00 00 01 */ li r0, 1 +/* 8009E08C 0009AFCC B0 01 00 0A */ sth r0, 0xa(r1) +/* 8009E090 0009AFD0 38 00 00 00 */ li r0, 0 +/* 8009E094 0009AFD4 B0 01 00 0C */ sth r0, 0xc(r1) +/* 8009E098 0009AFD8 48 00 04 04 */ b lbl_8009E49C +lbl_8009E09C: +/* 8009E09C 0009AFDC 2C 1F 00 10 */ cmpwi r31, 0x10 +/* 8009E0A0 0009AFE0 40 82 00 38 */ bne lbl_8009E0D8 +/* 8009E0A4 0009AFE4 A8 1B 30 8A */ lha r0, 0x308a(r27) +/* 8009E0A8 0009AFE8 7C 80 00 D0 */ neg r4, r0 +/* 8009E0AC 0009AFEC A8 1B 30 88 */ lha r0, 0x3088(r27) +/* 8009E0B0 0009AFF0 B0 01 00 10 */ sth r0, 0x10(r1) +/* 8009E0B4 0009AFF4 38 60 00 00 */ li r3, 0 +/* 8009E0B8 0009AFF8 B0 61 00 12 */ sth r3, 0x12(r1) +/* 8009E0BC 0009AFFC B0 81 00 14 */ sth r4, 0x14(r1) +/* 8009E0C0 0009B000 38 00 00 02 */ li r0, 2 +/* 8009E0C4 0009B004 B0 01 00 08 */ sth r0, 8(r1) +/* 8009E0C8 0009B008 B0 61 00 0A */ sth r3, 0xa(r1) +/* 8009E0CC 0009B00C 38 00 00 01 */ li r0, 1 +/* 8009E0D0 0009B010 B0 01 00 0C */ sth r0, 0xc(r1) +/* 8009E0D4 0009B014 48 00 03 C8 */ b lbl_8009E49C +lbl_8009E0D8: +/* 8009E0D8 0009B018 2C 1F 00 01 */ cmpwi r31, 1 +/* 8009E0DC 0009B01C 40 82 00 B0 */ bne lbl_8009E18C +/* 8009E0E0 0009B020 38 00 00 00 */ li r0, 0 +/* 8009E0E4 0009B024 88 7B 2F AA */ lbz r3, 0x2faa(r27) +/* 8009E0E8 0009B028 28 03 00 01 */ cmplwi r3, 1 +/* 8009E0EC 0009B02C 41 82 00 0C */ beq lbl_8009E0F8 +/* 8009E0F0 0009B030 28 03 00 02 */ cmplwi r3, 2 +/* 8009E0F4 0009B034 40 82 00 08 */ bne lbl_8009E0FC +lbl_8009E0F8: +/* 8009E0F8 0009B038 38 00 00 01 */ li r0, 1 +lbl_8009E0FC: +/* 8009E0FC 0009B03C 54 00 06 3F */ clrlwi. r0, r0, 0x18 +/* 8009E100 0009B040 41 82 00 3C */ beq lbl_8009E13C +/* 8009E104 0009B044 7F 63 DB 78 */ mr r3, r27 +/* 8009E108 0009B048 48 04 ED FD */ bl daAlink_c_NS_checkHorseLieAnime +/* 8009E10C 0009B04C 2C 03 00 00 */ cmpwi r3, 0 +/* 8009E110 0009B050 40 82 00 2C */ bne lbl_8009E13C +/* 8009E114 0009B054 A0 1B 2F E8 */ lhz r0, 0x2fe8(r27) +/* 8009E118 0009B058 28 00 00 4F */ cmplwi r0, 0x4f +/* 8009E11C 0009B05C 41 82 00 20 */ beq lbl_8009E13C +/* 8009E120 0009B060 28 00 00 53 */ cmplwi r0, 0x53 +/* 8009E124 0009B064 41 82 00 18 */ beq lbl_8009E13C +/* 8009E128 0009B068 A8 7B 04 E4 */ lha r3, 0x4e4(r27) +/* 8009E12C 0009B06C A8 1B 05 9C */ lha r0, 0x59c(r27) +/* 8009E130 0009B070 7C 03 00 50 */ subf r0, r3, r0 +/* 8009E134 0009B074 7C 05 07 34 */ extsh r5, r0 +/* 8009E138 0009B078 48 00 00 08 */ b lbl_8009E140 +lbl_8009E13C: +/* 8009E13C 0009B07C A8 BB 05 9C */ lha r5, 0x59c(r27) +lbl_8009E140: +/* 8009E140 0009B080 7C A0 07 35 */ extsh. r0, r5 +/* 8009E144 0009B084 40 82 00 1C */ bne lbl_8009E160 +/* 8009E148 0009B088 A8 1B 30 C8 */ lha r0, 0x30c8(r27) +/* 8009E14C 0009B08C 2C 00 00 00 */ cmpwi r0, 0 +/* 8009E150 0009B090 40 82 00 10 */ bne lbl_8009E160 +/* 8009E154 0009B094 A8 1B 05 A0 */ lha r0, 0x5a0(r27) +/* 8009E158 0009B098 2C 00 00 00 */ cmpwi r0, 0 +/* 8009E15C 0009B09C 41 82 03 40 */ beq lbl_8009E49C +lbl_8009E160: +/* 8009E160 0009B0A0 80 7B 06 50 */ lwz r3, 0x650(r27) +/* 8009E164 0009B0A4 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009E168 0009B0A8 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009E16C 0009B0AC 38 83 00 30 */ addi r4, r3, 0x30 +/* 8009E170 0009B0B0 7F 63 DB 78 */ mr r3, r27 +/* 8009E174 0009B0B4 A8 DB 30 C8 */ lha r6, 0x30c8(r27) +/* 8009E178 0009B0B8 A8 FB 05 A0 */ lha r7, 0x5a0(r27) +/* 8009E17C 0009B0BC 39 00 00 01 */ li r8, 1 +/* 8009E180 0009B0C0 39 20 00 00 */ li r9, 0 +/* 8009E184 0009B0C4 4B FF FA E9 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz +/* 8009E188 0009B0C8 48 00 03 14 */ b lbl_8009E49C +lbl_8009E18C: +/* 8009E18C 0009B0CC 2C 1F 00 02 */ cmpwi r31, 2 +/* 8009E190 0009B0D0 40 82 00 3C */ bne lbl_8009E1CC +/* 8009E194 0009B0D4 A8 DB 30 C8 */ lha r6, 0x30c8(r27) +/* 8009E198 0009B0D8 7C C0 07 35 */ extsh. r0, r6 +/* 8009E19C 0009B0DC 41 82 03 00 */ beq lbl_8009E49C +/* 8009E1A0 0009B0E0 80 7B 06 50 */ lwz r3, 0x650(r27) +/* 8009E1A4 0009B0E4 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009E1A8 0009B0E8 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009E1AC 0009B0EC 38 83 00 60 */ addi r4, r3, 0x60 +/* 8009E1B0 0009B0F0 7F 63 DB 78 */ mr r3, r27 +/* 8009E1B4 0009B0F4 38 A0 00 00 */ li r5, 0 +/* 8009E1B8 0009B0F8 38 E0 00 00 */ li r7, 0 +/* 8009E1BC 0009B0FC 39 00 00 01 */ li r8, 1 +/* 8009E1C0 0009B100 39 20 00 00 */ li r9, 0 +/* 8009E1C4 0009B104 4B FF FA A9 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz +/* 8009E1C8 0009B108 48 00 02 D4 */ b lbl_8009E49C +lbl_8009E1CC: +/* 8009E1CC 0009B10C 2C 1F 00 00 */ cmpwi r31, 0 +/* 8009E1D0 0009B110 40 82 01 24 */ bne lbl_8009E2F4 +/* 8009E1D4 0009B114 A0 1B 2F E8 */ lhz r0, 0x2fe8(r27) +/* 8009E1D8 0009B118 28 00 01 3D */ cmplwi r0, 0x13d +/* 8009E1DC 0009B11C 41 82 00 0C */ beq lbl_8009E1E8 +/* 8009E1E0 0009B120 28 00 00 E6 */ cmplwi r0, 0xe6 +/* 8009E1E4 0009B124 40 82 00 1C */ bne lbl_8009E200 +lbl_8009E1E8: +/* 8009E1E8 0009B128 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009E1EC 0009B12C 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 8009E1F0 0009B130 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009E1F4 0009B134 D0 03 00 14 */ stfs f0, 0x14(r3) +/* 8009E1F8 0009B138 D0 03 00 1C */ stfs f0, 0x1c(r3) +/* 8009E1FC 0009B13C 48 00 00 50 */ b lbl_8009E24C +lbl_8009E200: +/* 8009E200 0009B140 88 9B 2F 99 */ lbz r4, 0x2f99(r27) +/* 8009E204 0009B144 54 80 07 7F */ clrlwi. r0, r4, 0x1d +/* 8009E208 0009B148 41 82 00 44 */ beq lbl_8009E24C +/* 8009E20C 0009B14C 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009E210 0009B150 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 8009E214 0009B154 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d +/* 8009E218 0009B158 41 82 00 0C */ beq lbl_8009E224 +/* 8009E21C 0009B15C C0 1B 35 90 */ lfs f0, 0x3590(r27) +/* 8009E220 0009B160 D0 03 00 1C */ stfs f0, 0x1c(r3) +lbl_8009E224: +/* 8009E224 0009B164 88 1B 2F 99 */ lbz r0, 0x2f99(r27) +/* 8009E228 0009B168 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 8009E22C 0009B16C 41 82 00 0C */ beq lbl_8009E238 +/* 8009E230 0009B170 C0 1B 35 88 */ lfs f0, 0x3588(r27) +/* 8009E234 0009B174 D0 03 00 14 */ stfs f0, 0x14(r3) +lbl_8009E238: +/* 8009E238 0009B178 88 1B 2F 99 */ lbz r0, 0x2f99(r27) +/* 8009E23C 0009B17C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 8009E240 0009B180 41 82 00 0C */ beq lbl_8009E24C +/* 8009E244 0009B184 C0 1B 33 B0 */ lfs f0, 0x33b0(r27) +/* 8009E248 0009B188 D0 03 00 18 */ stfs f0, 0x18(r3) +lbl_8009E24C: +/* 8009E24C 0009B18C A8 9B 30 82 */ lha r4, 0x3082(r27) +/* 8009E250 0009B190 A8 1B 30 80 */ lha r0, 0x3080(r27) +/* 8009E254 0009B194 B0 01 00 10 */ sth r0, 0x10(r1) +/* 8009E258 0009B198 38 60 00 00 */ li r3, 0 +/* 8009E25C 0009B19C B0 61 00 12 */ sth r3, 0x12(r1) +/* 8009E260 0009B1A0 B0 81 00 14 */ sth r4, 0x14(r1) +/* 8009E264 0009B1A4 38 00 00 02 */ li r0, 2 +/* 8009E268 0009B1A8 B0 01 00 08 */ sth r0, 8(r1) +/* 8009E26C 0009B1AC B0 61 00 0A */ sth r3, 0xa(r1) +/* 8009E270 0009B1B0 38 00 00 01 */ li r0, 1 +/* 8009E274 0009B1B4 B0 01 00 0C */ sth r0, 0xc(r1) +/* 8009E278 0009B1B8 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009E27C 0009B1BC 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 8009E280 0009B1C0 E0 03 00 00 */ psq_l f0, 0(r3), 0, 0 +/* 8009E284 0009B1C4 F0 01 00 78 */ psq_st f0, 120(r1), 0, 0 +/* 8009E288 0009B1C8 C0 03 00 08 */ lfs f0, 8(r3) +/* 8009E28C 0009B1CC D0 01 00 80 */ stfs f0, 0x80(r1) +/* 8009E290 0009B1D0 80 03 00 0C */ lwz r0, 0xc(r3) +/* 8009E294 0009B1D4 90 01 00 84 */ stw r0, 0x84(r1) +/* 8009E298 0009B1D8 A8 03 00 10 */ lha r0, 0x10(r3) +/* 8009E29C 0009B1DC B0 01 00 88 */ sth r0, 0x88(r1) +/* 8009E2A0 0009B1E0 E0 03 00 14 */ psq_l f0, 20(r3), 0, 0 +/* 8009E2A4 0009B1E4 F0 01 00 8C */ psq_st f0, 140(r1), 0, 0 +/* 8009E2A8 0009B1E8 C0 43 00 1C */ lfs f2, 0x1c(r3) +/* 8009E2AC 0009B1EC D0 41 00 94 */ stfs f2, 0x94(r1) +/* 8009E2B0 0009B1F0 63 9C 00 02 */ ori r28, r28, 2 +/* 8009E2B4 0009B1F4 88 1B 2F 99 */ lbz r0, 0x2f99(r27) +/* 8009E2B8 0009B1F8 28 00 00 60 */ cmplwi r0, 0x60 +/* 8009E2BC 0009B1FC 40 82 01 E0 */ bne lbl_8009E49C +/* 8009E2C0 0009B200 C0 21 00 8C */ lfs f1, 0x8c(r1) +/* 8009E2C4 0009B204 80 7B 38 4C */ lwz r3, 0x384c(r27) +/* 8009E2C8 0009B208 C0 03 00 00 */ lfs f0, 0(r3) +/* 8009E2CC 0009B20C EC 01 00 28 */ fsubs f0, f1, f0 +/* 8009E2D0 0009B210 D0 01 00 8C */ stfs f0, 0x8c(r1) +/* 8009E2D4 0009B214 C0 21 00 90 */ lfs f1, 0x90(r1) +/* 8009E2D8 0009B218 C0 03 00 04 */ lfs f0, 4(r3) +/* 8009E2DC 0009B21C EC 01 00 28 */ fsubs f0, f1, f0 +/* 8009E2E0 0009B220 D0 01 00 90 */ stfs f0, 0x90(r1) +/* 8009E2E4 0009B224 C0 03 00 08 */ lfs f0, 8(r3) +/* 8009E2E8 0009B228 EC 02 00 28 */ fsubs f0, f2, f0 +/* 8009E2EC 0009B22C D0 01 00 94 */ stfs f0, 0x94(r1) +/* 8009E2F0 0009B230 48 00 01 AC */ b lbl_8009E49C +lbl_8009E2F4: +/* 8009E2F4 0009B234 2C 1F 00 1B */ cmpwi r31, 0x1b +/* 8009E2F8 0009B238 40 82 00 38 */ bne lbl_8009E330 +/* 8009E2FC 0009B23C 80 7B 06 50 */ lwz r3, 0x650(r27) +/* 8009E300 0009B240 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009E304 0009B244 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009E308 0009B248 1C 1F 00 30 */ mulli r0, r31, 0x30 +/* 8009E30C 0009B24C 7C 83 02 14 */ add r4, r3, r0 +/* 8009E310 0009B250 7F 63 DB 78 */ mr r3, r27 +/* 8009E314 0009B254 A8 BB 29 0A */ lha r5, 0x290a(r27) +/* 8009E318 0009B258 38 C0 00 00 */ li r6, 0 +/* 8009E31C 0009B25C 38 E0 00 00 */ li r7, 0 +/* 8009E320 0009B260 39 00 00 01 */ li r8, 1 +/* 8009E324 0009B264 39 20 00 00 */ li r9, 0 +/* 8009E328 0009B268 4B FF F9 45 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz +/* 8009E32C 0009B26C 48 00 01 70 */ b lbl_8009E49C +lbl_8009E330: +/* 8009E330 0009B270 2C 1F 00 1D */ cmpwi r31, 0x1d +/* 8009E334 0009B274 40 82 00 38 */ bne lbl_8009E36C +/* 8009E338 0009B278 80 7B 06 50 */ lwz r3, 0x650(r27) +/* 8009E33C 0009B27C 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009E340 0009B280 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009E344 0009B284 1C 1F 00 30 */ mulli r0, r31, 0x30 +/* 8009E348 0009B288 7C 83 02 14 */ add r4, r3, r0 +/* 8009E34C 0009B28C 7F 63 DB 78 */ mr r3, r27 +/* 8009E350 0009B290 A8 BB 29 AE */ lha r5, 0x29ae(r27) +/* 8009E354 0009B294 38 C0 00 00 */ li r6, 0 +/* 8009E358 0009B298 38 E0 00 00 */ li r7, 0 +/* 8009E35C 0009B29C 39 00 00 01 */ li r8, 1 +/* 8009E360 0009B2A0 39 20 00 00 */ li r9, 0 +/* 8009E364 0009B2A4 4B FF F9 09 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz +/* 8009E368 0009B2A8 48 00 01 34 */ b lbl_8009E49C +lbl_8009E36C: +/* 8009E36C 0009B2AC 2C 1F 00 05 */ cmpwi r31, 5 +/* 8009E370 0009B2B0 40 82 00 90 */ bne lbl_8009E400 +/* 8009E374 0009B2B4 38 00 00 00 */ li r0, 0 +/* 8009E378 0009B2B8 88 7B 2F AA */ lbz r3, 0x2faa(r27) +/* 8009E37C 0009B2BC 28 03 00 01 */ cmplwi r3, 1 +/* 8009E380 0009B2C0 41 82 00 0C */ beq lbl_8009E38C +/* 8009E384 0009B2C4 28 03 00 02 */ cmplwi r3, 2 +/* 8009E388 0009B2C8 40 82 00 08 */ bne lbl_8009E390 +lbl_8009E38C: +/* 8009E38C 0009B2CC 38 00 00 01 */ li r0, 1 +lbl_8009E390: +/* 8009E390 0009B2D0 54 00 06 3F */ clrlwi. r0, r0, 0x18 +/* 8009E394 0009B2D4 41 82 01 08 */ beq lbl_8009E49C +/* 8009E398 0009B2D8 7F 63 DB 78 */ mr r3, r27 +/* 8009E39C 0009B2DC 48 04 06 4D */ bl daAlink_c_NS_checkBowAnime +/* 8009E3A0 0009B2E0 2C 03 00 00 */ cmpwi r3, 0 +/* 8009E3A4 0009B2E4 41 82 00 F8 */ beq lbl_8009E49C +/* 8009E3A8 0009B2E8 3B 80 00 01 */ li r28, 1 +/* 8009E3AC 0009B2EC 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009E3B0 0009B2F0 80 03 00 20 */ lwz r0, 0x20(r3) +/* 8009E3B4 0009B2F4 7C 60 F2 14 */ add r3, r0, r30 +/* 8009E3B8 0009B2F8 C0 03 00 00 */ lfs f0, 0(r3) +/* 8009E3BC 0009B2FC D0 01 00 48 */ stfs f0, 0x48(r1) +/* 8009E3C0 0009B300 C0 03 00 04 */ lfs f0, 4(r3) +/* 8009E3C4 0009B304 D0 01 00 4C */ stfs f0, 0x4c(r1) +/* 8009E3C8 0009B308 C0 03 00 08 */ lfs f0, 8(r3) +/* 8009E3CC 0009B30C D0 01 00 50 */ stfs f0, 0x50(r1) +/* 8009E3D0 0009B310 C0 03 00 0C */ lfs f0, 0xc(r3) +/* 8009E3D4 0009B314 D0 01 00 54 */ stfs f0, 0x54(r1) +/* 8009E3D8 0009B318 38 60 00 00 */ li r3, 0 +/* 8009E3DC 0009B31C 38 80 00 00 */ li r4, 0 +/* 8009E3E0 0009B320 38 A0 13 88 */ li r5, 0x1388 +/* 8009E3E4 0009B324 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E3E8 0009B328 48 29 B4 91 */ bl JMAEulerToQuat +/* 8009E3EC 0009B32C 38 61 00 48 */ addi r3, r1, 0x48 +/* 8009E3F0 0009B330 38 81 00 38 */ addi r4, r1, 0x38 +/* 8009E3F4 0009B334 38 A1 00 28 */ addi r5, r1, 0x28 +/* 8009E3F8 0009B338 4B F6 E7 65 */ bl mDoMtx_QuatConcat +/* 8009E3FC 0009B33C 48 00 00 A0 */ b lbl_8009E49C +lbl_8009E400: +/* 8009E400 0009B340 2C 1F 00 0D */ cmpwi r31, 0xd +/* 8009E404 0009B344 41 82 00 0C */ beq lbl_8009E410 +/* 8009E408 0009B348 2C 1F 00 0C */ cmpwi r31, 0xc +/* 8009E40C 0009B34C 40 82 00 90 */ bne lbl_8009E49C +lbl_8009E410: +/* 8009E410 0009B350 38 60 00 00 */ li r3, 0 +/* 8009E414 0009B354 A0 1B 1F BC */ lhz r0, 0x1fbc(r27) +/* 8009E418 0009B358 28 00 00 5D */ cmplwi r0, 0x5d +/* 8009E41C 0009B35C 41 82 00 10 */ beq lbl_8009E42C +/* 8009E420 0009B360 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 8009E424 0009B364 28 00 02 60 */ cmplwi r0, 0x260 +/* 8009E428 0009B368 40 82 00 08 */ bne lbl_8009E430 +lbl_8009E42C: +/* 8009E42C 0009B36C 38 60 00 01 */ li r3, 1 +lbl_8009E430: +/* 8009E430 0009B370 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 8009E434 0009B374 40 82 00 2C */ bne lbl_8009E460 +/* 8009E438 0009B378 7F 63 DB 78 */ mr r3, r27 +/* 8009E43C 0009B37C 38 80 00 E0 */ li r4, 0xe0 +/* 8009E440 0009B380 48 00 E1 19 */ bl daAlink_c_NS_checkUnderMove0BckNoArc +/* 8009E444 0009B384 2C 03 00 00 */ cmpwi r3, 0 +/* 8009E448 0009B388 40 82 00 18 */ bne lbl_8009E460 +/* 8009E44C 0009B38C 7F 63 DB 78 */ mr r3, r27 +/* 8009E450 0009B390 38 80 00 E1 */ li r4, 0xe1 +/* 8009E454 0009B394 48 00 E1 05 */ bl daAlink_c_NS_checkUnderMove0BckNoArc +/* 8009E458 0009B398 2C 03 00 00 */ cmpwi r3, 0 +/* 8009E45C 0009B39C 41 82 00 40 */ beq lbl_8009E49C +lbl_8009E460: +/* 8009E460 0009B3A0 2C 1F 00 0D */ cmpwi r31, 0xd +/* 8009E464 0009B3A4 40 82 00 20 */ bne lbl_8009E484 +/* 8009E468 0009B3A8 A8 1B 31 60 */ lha r0, 0x3160(r27) +/* 8009E46C 0009B3AC B0 01 00 10 */ sth r0, 0x10(r1) +/* 8009E470 0009B3B0 A8 1B 31 62 */ lha r0, 0x3162(r27) +/* 8009E474 0009B3B4 B0 01 00 12 */ sth r0, 0x12(r1) +/* 8009E478 0009B3B8 A8 1B 31 64 */ lha r0, 0x3164(r27) +/* 8009E47C 0009B3BC B0 01 00 14 */ sth r0, 0x14(r1) +/* 8009E480 0009B3C0 48 00 00 1C */ b lbl_8009E49C +lbl_8009E484: +/* 8009E484 0009B3C4 A8 1B 31 5A */ lha r0, 0x315a(r27) +/* 8009E488 0009B3C8 B0 01 00 10 */ sth r0, 0x10(r1) +/* 8009E48C 0009B3CC A8 1B 31 5C */ lha r0, 0x315c(r27) +/* 8009E490 0009B3D0 B0 01 00 12 */ sth r0, 0x12(r1) +/* 8009E494 0009B3D4 A8 1B 31 5E */ lha r0, 0x315e(r27) +/* 8009E498 0009B3D8 B0 01 00 14 */ sth r0, 0x14(r1) +lbl_8009E49C: +/* 8009E49C 0009B3DC A8 01 00 10 */ lha r0, 0x10(r1) +/* 8009E4A0 0009B3E0 2C 00 00 00 */ cmpwi r0, 0 +/* 8009E4A4 0009B3E4 40 82 00 1C */ bne lbl_8009E4C0 +/* 8009E4A8 0009B3E8 A8 01 00 12 */ lha r0, 0x12(r1) +/* 8009E4AC 0009B3EC 2C 00 00 00 */ cmpwi r0, 0 +/* 8009E4B0 0009B3F0 40 82 00 10 */ bne lbl_8009E4C0 +/* 8009E4B4 0009B3F4 A8 01 00 14 */ lha r0, 0x14(r1) +/* 8009E4B8 0009B3F8 2C 00 00 00 */ cmpwi r0, 0 +/* 8009E4BC 0009B3FC 41 82 01 F4 */ beq lbl_8009E6B0 +lbl_8009E4C0: +/* 8009E4C0 0009B400 63 9C 00 01 */ ori r28, r28, 1 +/* 8009E4C4 0009B404 A8 A1 00 12 */ lha r5, 0x12(r1) +/* 8009E4C8 0009B408 7C A0 07 35 */ extsh. r0, r5 +/* 8009E4CC 0009B40C 41 82 00 98 */ beq lbl_8009E564 +/* 8009E4D0 0009B410 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009E4D4 0009B414 80 03 00 20 */ lwz r0, 0x20(r3) +/* 8009E4D8 0009B418 7C 60 F2 14 */ add r3, r0, r30 +/* 8009E4DC 0009B41C C0 03 00 00 */ lfs f0, 0(r3) +/* 8009E4E0 0009B420 D0 01 00 48 */ stfs f0, 0x48(r1) +/* 8009E4E4 0009B424 C0 03 00 04 */ lfs f0, 4(r3) +/* 8009E4E8 0009B428 D0 01 00 4C */ stfs f0, 0x4c(r1) +/* 8009E4EC 0009B42C C0 03 00 08 */ lfs f0, 8(r3) +/* 8009E4F0 0009B430 D0 01 00 50 */ stfs f0, 0x50(r1) +/* 8009E4F4 0009B434 C0 03 00 0C */ lfs f0, 0xc(r3) +/* 8009E4F8 0009B438 D0 01 00 54 */ stfs f0, 0x54(r1) +/* 8009E4FC 0009B43C A8 61 00 0A */ lha r3, 0xa(r1) +/* 8009E500 0009B440 7C 60 07 35 */ extsh. r0, r3 +/* 8009E504 0009B444 40 82 00 1C */ bne lbl_8009E520 +/* 8009E508 0009B448 7C A3 2B 78 */ mr r3, r5 +/* 8009E50C 0009B44C 38 80 00 00 */ li r4, 0 +/* 8009E510 0009B450 38 A0 00 00 */ li r5, 0 +/* 8009E514 0009B454 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E518 0009B458 48 29 B3 61 */ bl JMAEulerToQuat +/* 8009E51C 0009B45C 48 00 00 34 */ b lbl_8009E550 +lbl_8009E520: +/* 8009E520 0009B460 2C 03 00 01 */ cmpwi r3, 1 +/* 8009E524 0009B464 40 82 00 1C */ bne lbl_8009E540 +/* 8009E528 0009B468 38 60 00 00 */ li r3, 0 +/* 8009E52C 0009B46C 7C A4 2B 78 */ mr r4, r5 +/* 8009E530 0009B470 38 A0 00 00 */ li r5, 0 +/* 8009E534 0009B474 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E538 0009B478 48 29 B3 41 */ bl JMAEulerToQuat +/* 8009E53C 0009B47C 48 00 00 14 */ b lbl_8009E550 +lbl_8009E540: +/* 8009E540 0009B480 38 60 00 00 */ li r3, 0 +/* 8009E544 0009B484 38 80 00 00 */ li r4, 0 +/* 8009E548 0009B488 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E54C 0009B48C 48 29 B3 2D */ bl JMAEulerToQuat +lbl_8009E550: +/* 8009E550 0009B490 38 61 00 48 */ addi r3, r1, 0x48 +/* 8009E554 0009B494 38 81 00 38 */ addi r4, r1, 0x38 +/* 8009E558 0009B498 38 A1 00 28 */ addi r5, r1, 0x28 +/* 8009E55C 0009B49C 4B F6 E6 01 */ bl mDoMtx_QuatConcat +/* 8009E560 0009B4A0 48 00 00 30 */ b lbl_8009E590 +lbl_8009E564: +/* 8009E564 0009B4A4 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009E568 0009B4A8 80 03 00 20 */ lwz r0, 0x20(r3) +/* 8009E56C 0009B4AC 7C 60 F2 14 */ add r3, r0, r30 +/* 8009E570 0009B4B0 C0 03 00 00 */ lfs f0, 0(r3) +/* 8009E574 0009B4B4 D0 01 00 28 */ stfs f0, 0x28(r1) +/* 8009E578 0009B4B8 C0 03 00 04 */ lfs f0, 4(r3) +/* 8009E57C 0009B4BC D0 01 00 2C */ stfs f0, 0x2c(r1) +/* 8009E580 0009B4C0 C0 03 00 08 */ lfs f0, 8(r3) +/* 8009E584 0009B4C4 D0 01 00 30 */ stfs f0, 0x30(r1) +/* 8009E588 0009B4C8 C0 03 00 0C */ lfs f0, 0xc(r3) +/* 8009E58C 0009B4CC D0 01 00 34 */ stfs f0, 0x34(r1) +lbl_8009E590: +/* 8009E590 0009B4D0 A8 A1 00 10 */ lha r5, 0x10(r1) +/* 8009E594 0009B4D4 7C A0 07 35 */ extsh. r0, r5 +/* 8009E598 0009B4D8 41 82 00 88 */ beq lbl_8009E620 +/* 8009E59C 0009B4DC C0 01 00 28 */ lfs f0, 0x28(r1) +/* 8009E5A0 0009B4E0 D0 01 00 48 */ stfs f0, 0x48(r1) +/* 8009E5A4 0009B4E4 C0 01 00 2C */ lfs f0, 0x2c(r1) +/* 8009E5A8 0009B4E8 D0 01 00 4C */ stfs f0, 0x4c(r1) +/* 8009E5AC 0009B4EC C0 01 00 30 */ lfs f0, 0x30(r1) +/* 8009E5B0 0009B4F0 D0 01 00 50 */ stfs f0, 0x50(r1) +/* 8009E5B4 0009B4F4 C0 01 00 34 */ lfs f0, 0x34(r1) +/* 8009E5B8 0009B4F8 D0 01 00 54 */ stfs f0, 0x54(r1) +/* 8009E5BC 0009B4FC A8 61 00 08 */ lha r3, 8(r1) +/* 8009E5C0 0009B500 7C 60 07 35 */ extsh. r0, r3 +/* 8009E5C4 0009B504 40 82 00 1C */ bne lbl_8009E5E0 +/* 8009E5C8 0009B508 7C A3 2B 78 */ mr r3, r5 +/* 8009E5CC 0009B50C 38 80 00 00 */ li r4, 0 +/* 8009E5D0 0009B510 38 A0 00 00 */ li r5, 0 +/* 8009E5D4 0009B514 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E5D8 0009B518 48 29 B2 A1 */ bl JMAEulerToQuat +/* 8009E5DC 0009B51C 48 00 00 34 */ b lbl_8009E610 +lbl_8009E5E0: +/* 8009E5E0 0009B520 2C 03 00 01 */ cmpwi r3, 1 +/* 8009E5E4 0009B524 40 82 00 1C */ bne lbl_8009E600 +/* 8009E5E8 0009B528 38 60 00 00 */ li r3, 0 +/* 8009E5EC 0009B52C 7C A4 2B 78 */ mr r4, r5 +/* 8009E5F0 0009B530 38 A0 00 00 */ li r5, 0 +/* 8009E5F4 0009B534 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E5F8 0009B538 48 29 B2 81 */ bl JMAEulerToQuat +/* 8009E5FC 0009B53C 48 00 00 14 */ b lbl_8009E610 +lbl_8009E600: +/* 8009E600 0009B540 38 60 00 00 */ li r3, 0 +/* 8009E604 0009B544 38 80 00 00 */ li r4, 0 +/* 8009E608 0009B548 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E60C 0009B54C 48 29 B2 6D */ bl JMAEulerToQuat +lbl_8009E610: +/* 8009E610 0009B550 38 61 00 48 */ addi r3, r1, 0x48 +/* 8009E614 0009B554 38 81 00 38 */ addi r4, r1, 0x38 +/* 8009E618 0009B558 38 A1 00 28 */ addi r5, r1, 0x28 +/* 8009E61C 0009B55C 4B F6 E5 41 */ bl mDoMtx_QuatConcat +lbl_8009E620: +/* 8009E620 0009B560 A8 A1 00 14 */ lha r5, 0x14(r1) +/* 8009E624 0009B564 7C A0 07 35 */ extsh. r0, r5 +/* 8009E628 0009B568 41 82 00 88 */ beq lbl_8009E6B0 +/* 8009E62C 0009B56C C0 01 00 28 */ lfs f0, 0x28(r1) +/* 8009E630 0009B570 D0 01 00 48 */ stfs f0, 0x48(r1) +/* 8009E634 0009B574 C0 01 00 2C */ lfs f0, 0x2c(r1) +/* 8009E638 0009B578 D0 01 00 4C */ stfs f0, 0x4c(r1) +/* 8009E63C 0009B57C C0 01 00 30 */ lfs f0, 0x30(r1) +/* 8009E640 0009B580 D0 01 00 50 */ stfs f0, 0x50(r1) +/* 8009E644 0009B584 C0 01 00 34 */ lfs f0, 0x34(r1) +/* 8009E648 0009B588 D0 01 00 54 */ stfs f0, 0x54(r1) +/* 8009E64C 0009B58C A8 61 00 0C */ lha r3, 0xc(r1) +/* 8009E650 0009B590 7C 60 07 35 */ extsh. r0, r3 +/* 8009E654 0009B594 40 82 00 1C */ bne lbl_8009E670 +/* 8009E658 0009B598 7C A3 2B 78 */ mr r3, r5 +/* 8009E65C 0009B59C 38 80 00 00 */ li r4, 0 +/* 8009E660 0009B5A0 38 A0 00 00 */ li r5, 0 +/* 8009E664 0009B5A4 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E668 0009B5A8 48 29 B2 11 */ bl JMAEulerToQuat +/* 8009E66C 0009B5AC 48 00 00 34 */ b lbl_8009E6A0 +lbl_8009E670: +/* 8009E670 0009B5B0 2C 03 00 01 */ cmpwi r3, 1 +/* 8009E674 0009B5B4 40 82 00 1C */ bne lbl_8009E690 +/* 8009E678 0009B5B8 38 60 00 00 */ li r3, 0 +/* 8009E67C 0009B5BC 7C A4 2B 78 */ mr r4, r5 +/* 8009E680 0009B5C0 38 A0 00 00 */ li r5, 0 +/* 8009E684 0009B5C4 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E688 0009B5C8 48 29 B1 F1 */ bl JMAEulerToQuat +/* 8009E68C 0009B5CC 48 00 00 14 */ b lbl_8009E6A0 +lbl_8009E690: +/* 8009E690 0009B5D0 38 60 00 00 */ li r3, 0 +/* 8009E694 0009B5D4 38 80 00 00 */ li r4, 0 +/* 8009E698 0009B5D8 38 C1 00 38 */ addi r6, r1, 0x38 +/* 8009E69C 0009B5DC 48 29 B1 DD */ bl JMAEulerToQuat +lbl_8009E6A0: +/* 8009E6A0 0009B5E0 38 61 00 48 */ addi r3, r1, 0x48 +/* 8009E6A4 0009B5E4 38 81 00 38 */ addi r4, r1, 0x38 +/* 8009E6A8 0009B5E8 38 A1 00 28 */ addi r5, r1, 0x28 +/* 8009E6AC 0009B5EC 4B F6 E4 B1 */ bl mDoMtx_QuatConcat +lbl_8009E6B0: +/* 8009E6B0 0009B5F0 2C 1C 00 00 */ cmpwi r28, 0 +/* 8009E6B4 0009B5F4 41 82 00 E8 */ beq lbl_8009E79C +/* 8009E6B8 0009B5F8 80 7B 06 50 */ lwz r3, 0x650(r27) +/* 8009E6BC 0009B5FC 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009E6C0 0009B600 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009E6C4 0009B604 1C 1F 00 30 */ mulli r0, r31, 0x30 +/* 8009E6C8 0009B608 7F E3 02 14 */ add r31, r3, r0 +/* 8009E6CC 0009B60C 57 80 07 BD */ rlwinm. r0, r28, 0, 0x1e, 0x1e +/* 8009E6D0 0009B610 41 82 00 0C */ beq lbl_8009E6DC +/* 8009E6D4 0009B614 3B A1 00 78 */ addi r29, r1, 0x78 +/* 8009E6D8 0009B618 48 00 00 14 */ b lbl_8009E6EC +lbl_8009E6DC: +/* 8009E6DC 0009B61C 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009E6E0 0009B620 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 8009E6E4 0009B624 7C 00 EA 14 */ add r0, r0, r29 +/* 8009E6E8 0009B628 7C 1D 03 78 */ mr r29, r0 +lbl_8009E6EC: +/* 8009E6EC 0009B62C 57 80 07 FF */ clrlwi. r0, r28, 0x1f +/* 8009E6F0 0009B630 41 82 00 0C */ beq lbl_8009E6FC +/* 8009E6F4 0009B634 3B 61 00 28 */ addi r27, r1, 0x28 +/* 8009E6F8 0009B638 48 00 00 14 */ b lbl_8009E70C +lbl_8009E6FC: +/* 8009E6FC 0009B63C 80 7B 20 60 */ lwz r3, 0x2060(r27) +/* 8009E700 0009B640 80 03 00 20 */ lwz r0, 0x20(r3) +/* 8009E704 0009B644 7C 00 F2 14 */ add r0, r0, r30 +/* 8009E708 0009B648 7C 1B 03 78 */ mr r27, r0 +lbl_8009E70C: +/* 8009E70C 0009B64C 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009E710 0009B650 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009E714 0009B654 C0 21 00 6C */ lfs f1, 0x6c(r1) +/* 8009E718 0009B658 C0 41 00 70 */ lfs f2, 0x70(r1) +/* 8009E71C 0009B65C C0 61 00 74 */ lfs f3, 0x74(r1) +/* 8009E720 0009B660 48 2A 81 C9 */ bl PSMTXTrans +/* 8009E724 0009B664 38 61 00 18 */ addi r3, r1, 0x18 +/* 8009E728 0009B668 4B F6 E8 55 */ bl mDoMtx_stack_c_NS_quatM +/* 8009E72C 0009B66C 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009E730 0009B670 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009E734 0009B674 7C 64 1B 78 */ mr r4, r3 +/* 8009E738 0009B678 48 2A 7E 79 */ bl PSMTXInverse +/* 8009E73C 0009B67C 7F E3 FB 78 */ mr r3, r31 +/* 8009E740 0009B680 3C 80 80 3E */ lis r4, lbl_803DD470@ha +/* 8009E744 0009B684 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l +/* 8009E748 0009B688 3C A0 80 43 */ lis r5, lbl_80434BE4@ha +/* 8009E74C 0009B68C 38 A5 4B E4 */ addi r5, r5, lbl_80434BE4@l +/* 8009E750 0009B690 48 2A 7D 95 */ bl PSMTXConcat +/* 8009E754 0009B694 7F E3 FB 78 */ mr r3, r31 +/* 8009E758 0009B698 7F 64 DB 78 */ mr r4, r27 +/* 8009E75C 0009B69C 48 2A 82 8D */ bl PSMTXQuat +/* 8009E760 0009B6A0 C0 1D 00 14 */ lfs f0, 0x14(r29) +/* 8009E764 0009B6A4 D0 1F 00 0C */ stfs f0, 0xc(r31) +/* 8009E768 0009B6A8 C0 1D 00 18 */ lfs f0, 0x18(r29) +/* 8009E76C 0009B6AC D0 1F 00 1C */ stfs f0, 0x1c(r31) +/* 8009E770 0009B6B0 C0 1D 00 1C */ lfs f0, 0x1c(r29) +/* 8009E774 0009B6B4 D0 1F 00 2C */ stfs f0, 0x2c(r31) +/* 8009E778 0009B6B8 3C 60 80 43 */ lis r3, lbl_80434BE4@ha +/* 8009E77C 0009B6BC 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l +/* 8009E780 0009B6C0 7F E4 FB 78 */ mr r4, r31 +/* 8009E784 0009B6C4 7C 65 1B 78 */ mr r5, r3 +/* 8009E788 0009B6C8 48 2A 7D 5D */ bl PSMTXConcat +/* 8009E78C 0009B6CC 3C 60 80 43 */ lis r3, lbl_80434BE4@ha +/* 8009E790 0009B6D0 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l +/* 8009E794 0009B6D4 7F E4 FB 78 */ mr r4, r31 +/* 8009E798 0009B6D8 48 2A 7D 19 */ bl PSMTXCopy +lbl_8009E79C: +/* 8009E79C 0009B6DC 38 60 00 01 */ li r3, 1 +/* 8009E7A0 0009B6E0 39 61 00 B0 */ addi r11, r1, 0xb0 +/* 8009E7A4 0009B6E4 48 2C 3A 7D */ bl _restgpr_27 +/* 8009E7A8 0009B6E8 80 01 00 B4 */ lwz r0, 0xb4(r1) +/* 8009E7AC 0009B6EC 7C 08 03 A6 */ mtlr r0 +/* 8009E7B0 0009B6F0 38 21 00 B0 */ addi r1, r1, 0xb0 +/* 8009E7B4 0009B6F4 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009E7B8.s b/include/d/d_a/d_a_alink/asm/func_8009E7B8.s new file mode 100644 index 00000000000..c0fcef47137 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009E7B8.s @@ -0,0 +1,96 @@ +/* 8009E7B8 0009B6F8 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8009E7BC 0009B6FC 7C 08 02 A6 */ mflr r0 +/* 8009E7C0 0009B700 90 01 00 44 */ stw r0, 0x44(r1) +/* 8009E7C4 0009B704 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 8009E7C8 0009B708 7C 7F 1B 78 */ mr r31, r3 +/* 8009E7CC 0009B70C 38 00 00 00 */ li r0, 0 +/* 8009E7D0 0009B710 88 63 2F AA */ lbz r3, 0x2faa(r3) +/* 8009E7D4 0009B714 28 03 00 01 */ cmplwi r3, 1 +/* 8009E7D8 0009B718 41 82 00 0C */ beq lbl_8009E7E4 +/* 8009E7DC 0009B71C 28 03 00 02 */ cmplwi r3, 2 +/* 8009E7E0 0009B720 40 82 00 08 */ bne lbl_8009E7E8 +lbl_8009E7E4: +/* 8009E7E4 0009B724 38 00 00 01 */ li r0, 1 +lbl_8009E7E8: +/* 8009E7E8 0009B728 54 00 06 3F */ clrlwi. r0, r0, 0x18 +/* 8009E7EC 0009B72C 41 82 00 14 */ beq lbl_8009E800 +/* 8009E7F0 0009B730 7F E3 FB 78 */ mr r3, r31 +/* 8009E7F4 0009B734 48 01 C7 8D */ bl daAlink_c_NS_checkUpperReadyThrowAnime +/* 8009E7F8 0009B738 2C 03 00 00 */ cmpwi r3, 0 +/* 8009E7FC 0009B73C 40 82 00 30 */ bne lbl_8009E82C +lbl_8009E800: +/* 8009E800 0009B740 7F E3 FB 78 */ mr r3, r31 +/* 8009E804 0009B744 81 9F 06 28 */ lwz r12, 0x628(r31) +/* 8009E808 0009B748 81 8C 01 94 */ lwz r12, 0x194(r12) +/* 8009E80C 0009B74C 7D 89 03 A6 */ mtctr r12 +/* 8009E810 0009B750 4E 80 04 21 */ bctrl +/* 8009E814 0009B754 28 03 00 00 */ cmplwi r3, 0 +/* 8009E818 0009B758 41 82 00 F0 */ beq lbl_8009E908 +/* 8009E81C 0009B75C 7F E3 FB 78 */ mr r3, r31 +/* 8009E820 0009B760 48 01 AA 35 */ bl daAlink_c_NS_checkNoUpperAnime +/* 8009E824 0009B764 2C 03 00 00 */ cmpwi r3, 0 +/* 8009E828 0009B768 40 82 00 E0 */ bne lbl_8009E908 +lbl_8009E82C: +/* 8009E82C 0009B76C 3C 60 80 43 */ lis r3, lbl_80434BE4@ha +/* 8009E830 0009B770 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l +/* 8009E834 0009B774 38 9F 2C 18 */ addi r4, r31, 0x2c18 +/* 8009E838 0009B778 48 2A 7C 79 */ bl PSMTXCopy +/* 8009E83C 0009B77C 80 7F 1F 54 */ lwz r3, 0x1f54(r31) +/* 8009E840 0009B780 28 03 00 00 */ cmplwi r3, 0 +/* 8009E844 0009B784 41 82 00 80 */ beq lbl_8009E8C4 +/* 8009E848 0009B788 38 80 00 00 */ li r4, 0 +/* 8009E84C 0009B78C 38 A1 00 18 */ addi r5, r1, 0x18 +/* 8009E850 0009B790 81 83 00 00 */ lwz r12, 0(r3) +/* 8009E854 0009B794 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 8009E858 0009B798 7D 89 03 A6 */ mtctr r12 +/* 8009E85C 0009B79C 4E 80 04 21 */ bctrl +/* 8009E860 0009B7A0 A8 61 00 24 */ lha r3, 0x24(r1) +/* 8009E864 0009B7A4 A8 81 00 26 */ lha r4, 0x26(r1) +/* 8009E868 0009B7A8 A8 A1 00 28 */ lha r5, 0x28(r1) +/* 8009E86C 0009B7AC 38 C1 00 08 */ addi r6, r1, 8 +/* 8009E870 0009B7B0 48 29 B0 09 */ bl JMAEulerToQuat +/* 8009E874 0009B7B4 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009E878 0009B7B8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009E87C 0009B7BC 38 81 00 08 */ addi r4, r1, 8 +/* 8009E880 0009B7C0 48 2A 81 69 */ bl PSMTXQuat +/* 8009E884 0009B7C4 80 7F 06 50 */ lwz r3, 0x650(r31) +/* 8009E888 0009B7C8 38 63 00 24 */ addi r3, r3, 0x24 +/* 8009E88C 0009B7CC 3C 80 80 3E */ lis r4, lbl_803DD470@ha +/* 8009E890 0009B7D0 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l +/* 8009E894 0009B7D4 3C A0 80 43 */ lis r5, lbl_80434BE4@ha +/* 8009E898 0009B7D8 38 A5 4B E4 */ addi r5, r5, lbl_80434BE4@l +/* 8009E89C 0009B7DC 48 2A 7C 49 */ bl PSMTXConcat +/* 8009E8A0 0009B7E0 C0 1F 2C 24 */ lfs f0, 0x2c24(r31) +/* 8009E8A4 0009B7E4 3C 60 80 43 */ lis r3, lbl_80434BE4@ha +/* 8009E8A8 0009B7E8 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l +/* 8009E8AC 0009B7EC D0 03 00 0C */ stfs f0, 0xc(r3) +/* 8009E8B0 0009B7F0 C0 1F 2C 34 */ lfs f0, 0x2c34(r31) +/* 8009E8B4 0009B7F4 D0 03 00 1C */ stfs f0, 0x1c(r3) +/* 8009E8B8 0009B7F8 C0 1F 2C 44 */ lfs f0, 0x2c44(r31) +/* 8009E8BC 0009B7FC D0 03 00 2C */ stfs f0, 0x2c(r3) +/* 8009E8C0 0009B800 48 00 00 40 */ b lbl_8009E900 +lbl_8009E8C4: +/* 8009E8C4 0009B804 80 7F 20 60 */ lwz r3, 0x2060(r31) +/* 8009E8C8 0009B808 80 83 00 20 */ lwz r4, 0x20(r3) +/* 8009E8CC 0009B80C 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009E8D0 0009B810 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009E8D4 0009B814 48 2A 81 15 */ bl PSMTXQuat +/* 8009E8D8 0009B818 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009E8DC 0009B81C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009E8E0 0009B820 7C 64 1B 78 */ mr r4, r3 +/* 8009E8E4 0009B824 48 2A 7C CD */ bl PSMTXInverse +/* 8009E8E8 0009B828 3C 60 80 43 */ lis r3, lbl_80434BE4@ha +/* 8009E8EC 0009B82C 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l +/* 8009E8F0 0009B830 3C 80 80 3E */ lis r4, lbl_803DD470@ha +/* 8009E8F4 0009B834 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l +/* 8009E8F8 0009B838 7C 65 1B 78 */ mr r5, r3 +/* 8009E8FC 0009B83C 48 2A 7B E9 */ bl PSMTXConcat +lbl_8009E900: +/* 8009E900 0009B840 38 00 00 01 */ li r0, 1 +/* 8009E904 0009B844 98 1F 2F 90 */ stb r0, 0x2f90(r31) +lbl_8009E908: +/* 8009E908 0009B848 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 8009E90C 0009B84C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8009E910 0009B850 7C 08 03 A6 */ mtlr r0 +/* 8009E914 0009B854 38 21 00 40 */ addi r1, r1, 0x40 +/* 8009E918 0009B858 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009E91C.s b/include/d/d_a/d_a_alink/asm/func_8009E91C.s new file mode 100644 index 00000000000..72b75a1bf53 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009E91C.s @@ -0,0 +1,147 @@ +/* 8009E91C 0009B85C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009E920 0009B860 7C 08 02 A6 */ mflr r0 +/* 8009E924 0009B864 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009E928 0009B868 88 03 2F B6 */ lbz r0, 0x2fb6(r3) +/* 8009E92C 0009B86C 28 00 00 05 */ cmplwi r0, 5 +/* 8009E930 0009B870 40 82 00 54 */ bne lbl_8009E984 +/* 8009E934 0009B874 2C 04 00 00 */ cmpwi r4, 0 +/* 8009E938 0009B878 40 82 00 10 */ bne lbl_8009E948 +/* 8009E93C 0009B87C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009E940 0009B880 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009E944 0009B884 48 00 01 C4 */ b lbl_8009EB08 +lbl_8009E948: +/* 8009E948 0009B888 2C 04 00 05 */ cmpwi r4, 5 +/* 8009E94C 0009B88C 40 82 00 10 */ bne lbl_8009E95C +/* 8009E950 0009B890 C0 03 34 44 */ lfs f0, 0x3444(r3) +/* 8009E954 0009B894 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009E958 0009B898 48 00 01 B0 */ b lbl_8009EB08 +lbl_8009E95C: +/* 8009E95C 0009B89C 2C 04 00 0A */ cmpwi r4, 0xa +/* 8009E960 0009B8A0 40 82 00 10 */ bne lbl_8009E970 +/* 8009E964 0009B8A4 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009E968 0009B8A8 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009E96C 0009B8AC 48 00 01 9C */ b lbl_8009EB08 +lbl_8009E970: +/* 8009E970 0009B8B0 2C 04 00 0F */ cmpwi r4, 0xf +/* 8009E974 0009B8B4 40 82 01 94 */ bne lbl_8009EB08 +/* 8009E978 0009B8B8 C0 03 34 44 */ lfs f0, 0x3444(r3) +/* 8009E97C 0009B8BC D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009E980 0009B8C0 48 00 01 88 */ b lbl_8009EB08 +lbl_8009E984: +/* 8009E984 0009B8C4 28 00 00 01 */ cmplwi r0, 1 +/* 8009E988 0009B8C8 40 82 00 2C */ bne lbl_8009E9B4 +/* 8009E98C 0009B8CC 2C 04 00 00 */ cmpwi r4, 0 +/* 8009E990 0009B8D0 40 82 00 10 */ bne lbl_8009E9A0 +/* 8009E994 0009B8D4 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009E998 0009B8D8 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009E99C 0009B8DC 48 00 01 6C */ b lbl_8009EB08 +lbl_8009E9A0: +/* 8009E9A0 0009B8E0 2C 04 00 05 */ cmpwi r4, 5 +/* 8009E9A4 0009B8E4 40 82 01 64 */ bne lbl_8009EB08 +/* 8009E9A8 0009B8E8 C0 03 34 44 */ lfs f0, 0x3444(r3) +/* 8009E9AC 0009B8EC D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009E9B0 0009B8F0 48 00 01 58 */ b lbl_8009EB08 +lbl_8009E9B4: +/* 8009E9B4 0009B8F4 28 00 00 02 */ cmplwi r0, 2 +/* 8009E9B8 0009B8F8 40 82 00 2C */ bne lbl_8009E9E4 +/* 8009E9BC 0009B8FC 2C 04 00 0A */ cmpwi r4, 0xa +/* 8009E9C0 0009B900 40 82 00 10 */ bne lbl_8009E9D0 +/* 8009E9C4 0009B904 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009E9C8 0009B908 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009E9CC 0009B90C 48 00 01 3C */ b lbl_8009EB08 +lbl_8009E9D0: +/* 8009E9D0 0009B910 2C 04 00 0F */ cmpwi r4, 0xf +/* 8009E9D4 0009B914 40 82 01 34 */ bne lbl_8009EB08 +/* 8009E9D8 0009B918 C0 03 34 44 */ lfs f0, 0x3444(r3) +/* 8009E9DC 0009B91C D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009E9E0 0009B920 48 00 01 28 */ b lbl_8009EB08 +lbl_8009E9E4: +/* 8009E9E4 0009B924 28 00 00 03 */ cmplwi r0, 3 +/* 8009E9E8 0009B928 40 82 00 2C */ bne lbl_8009EA14 +/* 8009E9EC 0009B92C 2C 04 00 04 */ cmpwi r4, 4 +/* 8009E9F0 0009B930 40 82 00 10 */ bne lbl_8009EA00 +/* 8009E9F4 0009B934 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009E9F8 0009B938 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009E9FC 0009B93C 48 00 01 0C */ b lbl_8009EB08 +lbl_8009EA00: +/* 8009EA00 0009B940 2C 04 00 05 */ cmpwi r4, 5 +/* 8009EA04 0009B944 40 82 01 04 */ bne lbl_8009EB08 +/* 8009EA08 0009B948 C0 03 34 44 */ lfs f0, 0x3444(r3) +/* 8009EA0C 0009B94C D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009EA10 0009B950 48 00 00 F8 */ b lbl_8009EB08 +lbl_8009EA14: +/* 8009EA14 0009B954 28 00 00 07 */ cmplwi r0, 7 +/* 8009EA18 0009B958 40 82 00 54 */ bne lbl_8009EA6C +/* 8009EA1C 0009B95C 2C 04 00 00 */ cmpwi r4, 0 +/* 8009EA20 0009B960 40 82 00 10 */ bne lbl_8009EA30 +/* 8009EA24 0009B964 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009EA28 0009B968 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009EA2C 0009B96C 48 00 00 DC */ b lbl_8009EB08 +lbl_8009EA30: +/* 8009EA30 0009B970 2C 04 00 04 */ cmpwi r4, 4 +/* 8009EA34 0009B974 40 82 00 10 */ bne lbl_8009EA44 +/* 8009EA38 0009B978 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009EA3C 0009B97C D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009EA40 0009B980 48 00 00 C8 */ b lbl_8009EB08 +lbl_8009EA44: +/* 8009EA44 0009B984 2C 04 00 05 */ cmpwi r4, 5 +/* 8009EA48 0009B988 40 82 00 10 */ bne lbl_8009EA58 +/* 8009EA4C 0009B98C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009EA50 0009B990 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009EA54 0009B994 48 00 00 B4 */ b lbl_8009EB08 +lbl_8009EA58: +/* 8009EA58 0009B998 2C 04 00 0F */ cmpwi r4, 0xf +/* 8009EA5C 0009B99C 40 82 00 AC */ bne lbl_8009EB08 +/* 8009EA60 0009B9A0 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009EA64 0009B9A4 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009EA68 0009B9A8 48 00 00 A0 */ b lbl_8009EB08 +lbl_8009EA6C: +/* 8009EA6C 0009B9AC 28 00 00 06 */ cmplwi r0, 6 +/* 8009EA70 0009B9B0 40 82 00 2C */ bne lbl_8009EA9C +/* 8009EA74 0009B9B4 2C 04 00 04 */ cmpwi r4, 4 +/* 8009EA78 0009B9B8 40 82 00 10 */ bne lbl_8009EA88 +/* 8009EA7C 0009B9BC C0 22 92 B8 */ lfs f1, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009EA80 0009B9C0 48 00 DC B9 */ bl daAlink_c_NS_setDoubleAnimeBlendRatio +/* 8009EA84 0009B9C4 48 00 00 84 */ b lbl_8009EB08 +lbl_8009EA88: +/* 8009EA88 0009B9C8 2C 04 00 05 */ cmpwi r4, 5 +/* 8009EA8C 0009B9CC 40 82 00 7C */ bne lbl_8009EB08 +/* 8009EA90 0009B9D0 C0 22 92 C0 */ lfs f1, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009EA94 0009B9D4 48 00 DC A5 */ bl daAlink_c_NS_setDoubleAnimeBlendRatio +/* 8009EA98 0009B9D8 48 00 00 70 */ b lbl_8009EB08 +lbl_8009EA9C: +/* 8009EA9C 0009B9DC 28 00 00 08 */ cmplwi r0, 8 +/* 8009EAA0 0009B9E0 40 82 00 3C */ bne lbl_8009EADC +/* 8009EAA4 0009B9E4 2C 04 00 04 */ cmpwi r4, 4 +/* 8009EAA8 0009B9E8 40 82 00 18 */ bne lbl_8009EAC0 +/* 8009EAAC 0009B9EC C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009EAB0 0009B9F0 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009EAB4 0009B9F4 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009EAB8 0009B9F8 D0 03 1F 48 */ stfs f0, 0x1f48(r3) +/* 8009EABC 0009B9FC 48 00 00 4C */ b lbl_8009EB08 +lbl_8009EAC0: +/* 8009EAC0 0009BA00 2C 04 00 05 */ cmpwi r4, 5 +/* 8009EAC4 0009BA04 40 82 00 44 */ bne lbl_8009EB08 +/* 8009EAC8 0009BA08 C0 03 34 44 */ lfs f0, 0x3444(r3) +/* 8009EACC 0009BA0C D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009EAD0 0009BA10 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009EAD4 0009BA14 D0 03 1F 48 */ stfs f0, 0x1f48(r3) +/* 8009EAD8 0009BA18 48 00 00 30 */ b lbl_8009EB08 +lbl_8009EADC: +/* 8009EADC 0009BA1C 28 00 00 04 */ cmplwi r0, 4 +/* 8009EAE0 0009BA20 40 82 00 28 */ bne lbl_8009EB08 +/* 8009EAE4 0009BA24 2C 04 00 00 */ cmpwi r4, 0 +/* 8009EAE8 0009BA28 40 82 00 10 */ bne lbl_8009EAF8 +/* 8009EAEC 0009BA2C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009EAF0 0009BA30 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +/* 8009EAF4 0009BA34 48 00 00 14 */ b lbl_8009EB08 +lbl_8009EAF8: +/* 8009EAF8 0009BA38 2C 04 00 0D */ cmpwi r4, 0xd +/* 8009EAFC 0009BA3C 40 82 00 0C */ bne lbl_8009EB08 +/* 8009EB00 0009BA40 C0 03 34 44 */ lfs f0, 0x3444(r3) +/* 8009EB04 0009BA44 D0 03 1F 50 */ stfs f0, 0x1f50(r3) +lbl_8009EB08: +/* 8009EB08 0009BA48 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009EB0C 0009BA4C 7C 08 03 A6 */ mtlr r0 +/* 8009EB10 0009BA50 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009EB14 0009BA54 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009EB18.s b/include/d/d_a/d_a_alink/asm/func_8009EB18.s new file mode 100644 index 00000000000..38500a756e3 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009EB18.s @@ -0,0 +1,16 @@ +/* 8009EB18 0009BA58 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009EB1C 0009BA5C 7C 08 02 A6 */ mflr r0 +/* 8009EB20 0009BA60 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009EB24 0009BA64 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8009EB28 0009BA68 7C 7F 1B 78 */ mr r31, r3 +/* 8009EB2C 0009BA6C 38 7F 2C 18 */ addi r3, r31, 0x2c18 +/* 8009EB30 0009BA70 3C 80 80 43 */ lis r4, lbl_80434BE4@ha +/* 8009EB34 0009BA74 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l +/* 8009EB38 0009BA78 48 2A 79 79 */ bl PSMTXCopy +/* 8009EB3C 0009BA7C 38 00 00 00 */ li r0, 0 +/* 8009EB40 0009BA80 98 1F 2F 90 */ stb r0, 0x2f90(r31) +/* 8009EB44 0009BA84 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8009EB48 0009BA88 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009EB4C 0009BA8C 7C 08 03 A6 */ mtlr r0 +/* 8009EB50 0009BA90 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009EB54 0009BA94 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009EB58.s b/include/d/d_a/d_a_alink/asm/func_8009EB58.s new file mode 100644 index 00000000000..72bd0c162a0 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009EB58.s @@ -0,0 +1,58 @@ +/* 8009EB58 0009BA98 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009EB5C 0009BA9C 7C 08 02 A6 */ mflr r0 +/* 8009EB60 0009BAA0 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009EB64 0009BAA4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8009EB68 0009BAA8 93 C1 00 08 */ stw r30, 8(r1) +/* 8009EB6C 0009BAAC 7C 7E 1B 78 */ mr r30, r3 +/* 8009EB70 0009BAB0 7C 9F 23 78 */ mr r31, r4 +/* 8009EB74 0009BAB4 4B FF F2 1D */ bl jointControll__9daAlink_cFi +/* 8009EB78 0009BAB8 2C 1F 00 00 */ cmpwi r31, 0 +/* 8009EB7C 0009BABC 40 82 00 10 */ bne lbl_8009EB8C +/* 8009EB80 0009BAC0 7F C3 F3 78 */ mr r3, r30 +/* 8009EB84 0009BAC4 4B FF FC 35 */ bl setUpperFront__9daAlink_cFv +/* 8009EB88 0009BAC8 48 00 00 40 */ b lbl_8009EBC8 +lbl_8009EB8C: +/* 8009EB8C 0009BACC 2C 1F 00 1A */ cmpwi r31, 0x1a +/* 8009EB90 0009BAD0 40 82 00 38 */ bne lbl_8009EBC8 +/* 8009EB94 0009BAD4 38 00 00 00 */ li r0, 0 +/* 8009EB98 0009BAD8 88 7E 05 6A */ lbz r3, 0x56a(r30) +/* 8009EB9C 0009BADC 28 03 00 00 */ cmplwi r3, 0 +/* 8009EBA0 0009BAE0 41 82 00 10 */ beq lbl_8009EBB0 +/* 8009EBA4 0009BAE4 28 03 00 26 */ cmplwi r3, 0x26 +/* 8009EBA8 0009BAE8 40 80 00 08 */ bge lbl_8009EBB0 +/* 8009EBAC 0009BAEC 38 00 00 01 */ li r0, 1 +lbl_8009EBB0: +/* 8009EBB0 0009BAF0 54 00 06 3F */ clrlwi. r0, r0, 0x18 +/* 8009EBB4 0009BAF4 40 82 00 0C */ bne lbl_8009EBC0 +/* 8009EBB8 0009BAF8 7F C3 F3 78 */ mr r3, r30 +/* 8009EBBC 0009BAFC 48 00 3E 21 */ bl daAlink_c_NS_setFootMatrix +lbl_8009EBC0: +/* 8009EBC0 0009BB00 7F C3 F3 78 */ mr r3, r30 +/* 8009EBC4 0009BB04 48 00 3B 4D */ bl daAlink_c_NS_setArmMatrix +lbl_8009EBC8: +/* 8009EBC8 0009BB08 88 1E 2F B6 */ lbz r0, 0x2fb6(r30) +/* 8009EBCC 0009BB0C 28 00 00 00 */ cmplwi r0, 0 +/* 8009EBD0 0009BB10 41 82 00 3C */ beq lbl_8009EC0C +/* 8009EBD4 0009BB14 2C 1F 00 00 */ cmpwi r31, 0 +/* 8009EBD8 0009BB18 41 82 00 28 */ beq lbl_8009EC00 +/* 8009EBDC 0009BB1C 2C 1F 00 0A */ cmpwi r31, 0xa +/* 8009EBE0 0009BB20 41 82 00 20 */ beq lbl_8009EC00 +/* 8009EBE4 0009BB24 38 1F FF FC */ addi r0, r31, -4 +/* 8009EBE8 0009BB28 28 00 00 01 */ cmplwi r0, 1 +/* 8009EBEC 0009BB2C 40 81 00 14 */ ble lbl_8009EC00 +/* 8009EBF0 0009BB30 2C 1F 00 0D */ cmpwi r31, 0xd +/* 8009EBF4 0009BB34 41 82 00 0C */ beq lbl_8009EC00 +/* 8009EBF8 0009BB38 2C 1F 00 0F */ cmpwi r31, 0xf +/* 8009EBFC 0009BB3C 40 82 00 10 */ bne lbl_8009EC0C +lbl_8009EC00: +/* 8009EC00 0009BB40 7F C3 F3 78 */ mr r3, r30 +/* 8009EC04 0009BB44 7F E4 FB 78 */ mr r4, r31 +/* 8009EC08 0009BB48 4B FF FD 15 */ bl changeBlendRate__9daAlink_cFi +lbl_8009EC0C: +/* 8009EC0C 0009BB4C 38 60 00 01 */ li r3, 1 +/* 8009EC10 0009BB50 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8009EC14 0009BB54 83 C1 00 08 */ lwz r30, 8(r1) +/* 8009EC18 0009BB58 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009EC1C 0009BB5C 7C 08 03 A6 */ mtlr r0 +/* 8009EC20 0009BB60 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009EC24 0009BB64 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009EC28.s b/include/d/d_a/d_a_alink/asm/func_8009EC28.s new file mode 100644 index 00000000000..6b015bffe18 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009EC28.s @@ -0,0 +1,33 @@ +/* 8009EC28 0009BB68 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009EC2C 0009BB6C 7C 08 02 A6 */ mflr r0 +/* 8009EC30 0009BB70 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009EC34 0009BB74 A0 A3 00 14 */ lhz r5, 0x14(r3) +/* 8009EC38 0009BB78 3C 60 80 43 */ lis r3, lbl_80434AC8@ha +/* 8009EC3C 0009BB7C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l +/* 8009EC40 0009BB80 80 63 00 38 */ lwz r3, 0x38(r3) +/* 8009EC44 0009BB84 80 63 00 14 */ lwz r3, 0x14(r3) +/* 8009EC48 0009BB88 2C 04 00 00 */ cmpwi r4, 0 +/* 8009EC4C 0009BB8C 40 82 00 10 */ bne lbl_8009EC5C +/* 8009EC50 0009BB90 7C A4 2B 78 */ mr r4, r5 +/* 8009EC54 0009BB94 4B FF FF 05 */ bl modelCallBack__9daAlink_cFi +/* 8009EC58 0009BB98 48 00 00 34 */ b lbl_8009EC8C +lbl_8009EC5C: +/* 8009EC5C 0009BB9C 2C 04 00 01 */ cmpwi r4, 1 +/* 8009EC60 0009BBA0 40 82 00 2C */ bne lbl_8009EC8C +/* 8009EC64 0009BBA4 38 80 00 00 */ li r4, 0 +/* 8009EC68 0009BBA8 88 03 2F 90 */ lbz r0, 0x2f90(r3) +/* 8009EC6C 0009BBAC 28 00 00 00 */ cmplwi r0, 0 +/* 8009EC70 0009BBB0 41 82 00 10 */ beq lbl_8009EC80 +/* 8009EC74 0009BBB4 2C 05 00 01 */ cmpwi r5, 1 +/* 8009EC78 0009BBB8 40 82 00 08 */ bne lbl_8009EC80 +/* 8009EC7C 0009BBBC 38 80 00 01 */ li r4, 1 +lbl_8009EC80: +/* 8009EC80 0009BBC0 54 80 06 3F */ clrlwi. r0, r4, 0x18 +/* 8009EC84 0009BBC4 41 82 00 08 */ beq lbl_8009EC8C +/* 8009EC88 0009BBC8 4B FF FE 91 */ bl resetRootMtx__9daAlink_cFv +lbl_8009EC8C: +/* 8009EC8C 0009BBCC 38 60 00 01 */ li r3, 1 +/* 8009EC90 0009BBD0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009EC94 0009BBD4 7C 08 03 A6 */ mtlr r0 +/* 8009EC98 0009BBD8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009EC9C 0009BBDC 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009ECA0.s b/include/d/d_a/d_a_alink/asm/func_8009ECA0.s new file mode 100644 index 00000000000..f5609023751 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009ECA0.s @@ -0,0 +1,175 @@ +/* 8009ECA0 0009BBE0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8009ECA4 0009BBE4 7C 08 02 A6 */ mflr r0 +/* 8009ECA8 0009BBE8 90 01 00 24 */ stw r0, 0x24(r1) +/* 8009ECAC 0009BBEC 39 61 00 20 */ addi r11, r1, 0x20 +/* 8009ECB0 0009BBF0 48 2C 35 2D */ bl _savegpr_29 +/* 8009ECB4 0009BBF4 7C 7F 1B 78 */ mr r31, r3 +/* 8009ECB8 0009BBF8 7C 9E 23 78 */ mr r30, r4 +/* 8009ECBC 0009BBFC 80 63 06 B0 */ lwz r3, 0x6b0(r3) +/* 8009ECC0 0009BC00 28 03 00 00 */ cmplwi r3, 0 +/* 8009ECC4 0009BC04 41 82 00 24 */ beq lbl_8009ECE8 +/* 8009ECC8 0009BC08 80 03 00 14 */ lwz r0, 0x14(r3) +/* 8009ECCC 0009BC0C 28 00 00 00 */ cmplwi r0, 0 +/* 8009ECD0 0009BC10 41 82 00 18 */ beq lbl_8009ECE8 +/* 8009ECD4 0009BC14 80 1F 05 8C */ lwz r0, 0x58c(r31) +/* 8009ECD8 0009BC18 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 +/* 8009ECDC 0009BC1C 41 82 01 D0 */ beq lbl_8009EEAC +/* 8009ECE0 0009BC20 2C 1E 00 06 */ cmpwi r30, 6 +/* 8009ECE4 0009BC24 40 80 01 C8 */ bge lbl_8009EEAC +lbl_8009ECE8: +/* 8009ECE8 0009BC28 80 1F 05 78 */ lwz r0, 0x578(r31) +/* 8009ECEC 0009BC2C 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 +/* 8009ECF0 0009BC30 41 82 00 60 */ beq lbl_8009ED50 +/* 8009ECF4 0009BC34 3C 60 80 43 */ lis r3, lbl_80434BE4@ha +/* 8009ECF8 0009BC38 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l +/* 8009ECFC 0009BC3C 3C 80 80 3E */ lis r4, lbl_803DD470@ha +/* 8009ED00 0009BC40 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l +/* 8009ED04 0009BC44 48 2A 77 AD */ bl PSMTXCopy +/* 8009ED08 0009BC48 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009ED0C 0009BC4C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009ED10 0009BC50 38 80 E6 9C */ li r4, -6500 +/* 8009ED14 0009BC54 4B F6 D7 B9 */ bl mDoMtx_ZrotM +/* 8009ED18 0009BC58 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009ED1C 0009BC5C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009ED20 0009BC60 80 9F 06 58 */ lwz r4, 0x658(r31) +/* 8009ED24 0009BC64 80 84 00 84 */ lwz r4, 0x84(r4) +/* 8009ED28 0009BC68 80 84 00 0C */ lwz r4, 0xc(r4) +/* 8009ED2C 0009BC6C 1C 1E 00 30 */ mulli r0, r30, 0x30 +/* 8009ED30 0009BC70 7C 84 02 14 */ add r4, r4, r0 +/* 8009ED34 0009BC74 48 2A 77 7D */ bl PSMTXCopy +/* 8009ED38 0009BC78 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009ED3C 0009BC7C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009ED40 0009BC80 3C 80 80 43 */ lis r4, lbl_80434BE4@ha +/* 8009ED44 0009BC84 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l +/* 8009ED48 0009BC88 48 2A 77 69 */ bl PSMTXCopy +/* 8009ED4C 0009BC8C 48 00 01 60 */ b lbl_8009EEAC +lbl_8009ED50: +/* 8009ED50 0009BC90 2C 1E 00 06 */ cmpwi r30, 6 +/* 8009ED54 0009BC94 41 80 01 10 */ blt lbl_8009EE64 +/* 8009ED58 0009BC98 3C 60 80 43 */ lis r3, lbl_80434BE4@ha +/* 8009ED5C 0009BC9C 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l +/* 8009ED60 0009BCA0 3C 80 80 3E */ lis r4, lbl_803DD470@ha +/* 8009ED64 0009BCA4 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l +/* 8009ED68 0009BCA8 48 2A 77 49 */ bl PSMTXCopy +/* 8009ED6C 0009BCAC 2C 1E 00 06 */ cmpwi r30, 6 +/* 8009ED70 0009BCB0 40 82 00 30 */ bne lbl_8009EDA0 +/* 8009ED74 0009BCB4 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009ED78 0009BCB8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009ED7C 0009BCBC 38 80 00 00 */ li r4, 0 +/* 8009ED80 0009BCC0 A8 1F 30 4E */ lha r0, 0x304e(r31) +/* 8009ED84 0009BCC4 7C 00 0E 70 */ srawi r0, r0, 1 +/* 8009ED88 0009BCC8 7C 05 07 34 */ extsh r5, r0 +/* 8009ED8C 0009BCCC A8 1F 30 3A */ lha r0, 0x303a(r31) +/* 8009ED90 0009BCD0 7C 00 0E 70 */ srawi r0, r0, 1 +/* 8009ED94 0009BCD4 7C 06 07 34 */ extsh r6, r0 +/* 8009ED98 0009BCD8 4B F6 D3 CD */ bl mDoMtx_XYZrotM +/* 8009ED9C 0009BCDC 48 00 00 74 */ b lbl_8009EE10 +lbl_8009EDA0: +/* 8009EDA0 0009BCE0 35 1E FF F9 */ addic. r8, r30, -7 +/* 8009EDA4 0009BCE4 40 82 00 38 */ bne lbl_8009EDDC +/* 8009EDA8 0009BCE8 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009EDAC 0009BCEC 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009EDB0 0009BCF0 38 80 00 00 */ li r4, 0 +/* 8009EDB4 0009BCF4 A8 1F 30 4E */ lha r0, 0x304e(r31) +/* 8009EDB8 0009BCF8 7C 00 0E 70 */ srawi r0, r0, 1 +/* 8009EDBC 0009BCFC 7C 05 07 34 */ extsh r5, r0 +/* 8009EDC0 0009BD00 A8 1F 30 3A */ lha r0, 0x303a(r31) +/* 8009EDC4 0009BD04 7C 06 0E 70 */ srawi r6, r0, 1 +/* 8009EDC8 0009BD08 A8 1F 30 66 */ lha r0, 0x3066(r31) +/* 8009EDCC 0009BD0C 7C 06 02 14 */ add r0, r6, r0 +/* 8009EDD0 0009BD10 7C 06 07 34 */ extsh r6, r0 +/* 8009EDD4 0009BD14 4B F6 D3 91 */ bl mDoMtx_XYZrotM +/* 8009EDD8 0009BD18 48 00 00 38 */ b lbl_8009EE10 +lbl_8009EDDC: +/* 8009EDDC 0009BD1C 57 C0 08 3C */ slwi r0, r30, 1 +/* 8009EDE0 0009BD20 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009EDE4 0009BD24 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009EDE8 0009BD28 38 80 00 00 */ li r4, 0 +/* 8009EDEC 0009BD2C 7C DF 02 14 */ add r6, r31, r0 +/* 8009EDF0 0009BD30 A8 A6 30 40 */ lha r5, 0x3040(r6) +/* 8009EDF4 0009BD34 A8 E6 30 2C */ lha r7, 0x302c(r6) +/* 8009EDF8 0009BD38 55 00 08 3C */ slwi r0, r8, 1 +/* 8009EDFC 0009BD3C 7C DF 02 14 */ add r6, r31, r0 +/* 8009EE00 0009BD40 A8 06 30 66 */ lha r0, 0x3066(r6) +/* 8009EE04 0009BD44 7C 07 02 14 */ add r0, r7, r0 +/* 8009EE08 0009BD48 7C 06 07 34 */ extsh r6, r0 +/* 8009EE0C 0009BD4C 4B F6 D3 59 */ bl mDoMtx_XYZrotM +lbl_8009EE10: +/* 8009EE10 0009BD50 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) +/* 8009EE14 0009BD54 28 00 01 4D */ cmplwi r0, 0x14d +/* 8009EE18 0009BD58 40 82 00 14 */ bne lbl_8009EE2C +/* 8009EE1C 0009BD5C C0 3F 34 7C */ lfs f1, 0x347c(r31) +/* 8009EE20 0009BD60 C0 42 92 B8 */ lfs f2, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009EE24 0009BD64 FC 60 10 90 */ fmr f3, f2 +/* 8009EE28 0009BD68 4B F6 E0 11 */ bl mDoMtx_stack_c_NS_scaleM +lbl_8009EE2C: +/* 8009EE2C 0009BD6C 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009EE30 0009BD70 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009EE34 0009BD74 80 9F 06 58 */ lwz r4, 0x658(r31) +/* 8009EE38 0009BD78 80 84 00 84 */ lwz r4, 0x84(r4) +/* 8009EE3C 0009BD7C 80 84 00 0C */ lwz r4, 0xc(r4) +/* 8009EE40 0009BD80 1C 1E 00 30 */ mulli r0, r30, 0x30 +/* 8009EE44 0009BD84 7C 84 02 14 */ add r4, r4, r0 +/* 8009EE48 0009BD88 48 2A 76 69 */ bl PSMTXCopy +/* 8009EE4C 0009BD8C 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009EE50 0009BD90 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009EE54 0009BD94 3C 80 80 43 */ lis r4, lbl_80434BE4@ha +/* 8009EE58 0009BD98 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l +/* 8009EE5C 0009BD9C 48 2A 76 55 */ bl PSMTXCopy +/* 8009EE60 0009BDA0 48 00 00 4C */ b lbl_8009EEAC +lbl_8009EE64: +/* 8009EE64 0009BDA4 AB BF 04 E6 */ lha r29, 0x4e6(r31) +/* 8009EE68 0009BDA8 A8 1F 30 62 */ lha r0, 0x3062(r31) +/* 8009EE6C 0009BDAC B0 1F 04 E6 */ sth r0, 0x4e6(r31) +/* 8009EE70 0009BDB0 80 7F 06 58 */ lwz r3, 0x658(r31) +/* 8009EE74 0009BDB4 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009EE78 0009BDB8 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009EE7C 0009BDBC 1C 1E 00 30 */ mulli r0, r30, 0x30 +/* 8009EE80 0009BDC0 7C 83 02 14 */ add r4, r3, r0 +/* 8009EE84 0009BDC4 57 C0 08 3C */ slwi r0, r30, 1 +/* 8009EE88 0009BDC8 7F E3 FB 78 */ mr r3, r31 +/* 8009EE8C 0009BDCC 7C FF 02 14 */ add r7, r31, r0 +/* 8009EE90 0009BDD0 A8 A7 30 2C */ lha r5, 0x302c(r7) +/* 8009EE94 0009BDD4 38 C0 00 00 */ li r6, 0 +/* 8009EE98 0009BDD8 A8 E7 30 40 */ lha r7, 0x3040(r7) +/* 8009EE9C 0009BDDC 39 00 00 00 */ li r8, 0 +/* 8009EEA0 0009BDE0 39 20 00 00 */ li r9, 0 +/* 8009EEA4 0009BDE4 4B FF ED C9 */ bl setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz +/* 8009EEA8 0009BDE8 B3 BF 04 E6 */ sth r29, 0x4e6(r31) +lbl_8009EEAC: +/* 8009EEAC 0009BDEC 7F E3 FB 78 */ mr r3, r31 +/* 8009EEB0 0009BDF0 48 02 0F 01 */ bl daAlink_c_NS_checkZoraWearAbility +/* 8009EEB4 0009BDF4 2C 03 00 00 */ cmpwi r3, 0 +/* 8009EEB8 0009BDF8 41 82 00 64 */ beq lbl_8009EF1C +/* 8009EEBC 0009BDFC 2C 1E 00 06 */ cmpwi r30, 6 +/* 8009EEC0 0009BE00 40 82 00 5C */ bne lbl_8009EF1C +/* 8009EEC4 0009BE04 3C 60 80 43 */ lis r3, lbl_80434BE4@ha +/* 8009EEC8 0009BE08 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l +/* 8009EECC 0009BE0C 3C 80 80 3E */ lis r4, lbl_803DD470@ha +/* 8009EED0 0009BE10 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l +/* 8009EED4 0009BE14 48 2A 75 DD */ bl PSMTXCopy +/* 8009EED8 0009BE18 C0 22 94 DC */ lfs f1, lbl_80452EDC-_SDA2_BASE_(r2) +/* 8009EEDC 0009BE1C C0 42 92 B8 */ lfs f2, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009EEE0 0009BE20 FC 60 10 90 */ fmr f3, f2 +/* 8009EEE4 0009BE24 4B F6 DF 55 */ bl mDoMtx_stack_c_NS_scaleM +/* 8009EEE8 0009BE28 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009EEEC 0009BE2C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009EEF0 0009BE30 80 9F 06 58 */ lwz r4, 0x658(r31) +/* 8009EEF4 0009BE34 80 84 00 84 */ lwz r4, 0x84(r4) +/* 8009EEF8 0009BE38 80 84 00 0C */ lwz r4, 0xc(r4) +/* 8009EEFC 0009BE3C 1C 1E 00 30 */ mulli r0, r30, 0x30 +/* 8009EF00 0009BE40 7C 84 02 14 */ add r4, r4, r0 +/* 8009EF04 0009BE44 48 2A 75 AD */ bl PSMTXCopy +/* 8009EF08 0009BE48 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009EF0C 0009BE4C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009EF10 0009BE50 3C 80 80 43 */ lis r4, lbl_80434BE4@ha +/* 8009EF14 0009BE54 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l +/* 8009EF18 0009BE58 48 2A 75 99 */ bl PSMTXCopy +lbl_8009EF1C: +/* 8009EF1C 0009BE5C 38 60 00 01 */ li r3, 1 +/* 8009EF20 0009BE60 39 61 00 20 */ addi r11, r1, 0x20 +/* 8009EF24 0009BE64 48 2C 33 05 */ bl _restgpr_29 +/* 8009EF28 0009BE68 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8009EF2C 0009BE6C 7C 08 03 A6 */ mtlr r0 +/* 8009EF30 0009BE70 38 21 00 20 */ addi r1, r1, 0x20 +/* 8009EF34 0009BE74 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009EF38.s b/include/d/d_a/d_a_alink/asm/func_8009EF38.s new file mode 100644 index 00000000000..99aec0eac3e --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009EF38.s @@ -0,0 +1,18 @@ +/* 8009EF38 0009BE78 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009EF3C 0009BE7C 7C 08 02 A6 */ mflr r0 +/* 8009EF40 0009BE80 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009EF44 0009BE84 A0 03 00 14 */ lhz r0, 0x14(r3) +/* 8009EF48 0009BE88 3C 60 80 43 */ lis r3, lbl_80434AC8@ha +/* 8009EF4C 0009BE8C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l +/* 8009EF50 0009BE90 80 63 00 38 */ lwz r3, 0x38(r3) +/* 8009EF54 0009BE94 80 63 00 14 */ lwz r3, 0x14(r3) +/* 8009EF58 0009BE98 2C 04 00 00 */ cmpwi r4, 0 +/* 8009EF5C 0009BE9C 40 82 00 0C */ bne lbl_8009EF68 +/* 8009EF60 0009BEA0 7C 04 03 78 */ mr r4, r0 +/* 8009EF64 0009BEA4 4B FF FD 3D */ bl headModelCallBack__9daAlink_cFi +lbl_8009EF68: +/* 8009EF68 0009BEA8 38 60 00 01 */ li r3, 1 +/* 8009EF6C 0009BEAC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009EF70 0009BEB0 7C 08 03 A6 */ mtlr r0 +/* 8009EF74 0009BEB4 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009EF78 0009BEB8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009EF7C.s b/include/d/d_a/d_a_alink/asm/func_8009EF7C.s new file mode 100644 index 00000000000..77456eec5f8 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009EF7C.s @@ -0,0 +1,32 @@ +/* 8009EF7C 0009BEBC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009EF80 0009BEC0 7C 08 02 A6 */ mflr r0 +/* 8009EF84 0009BEC4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009EF88 0009BEC8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8009EF8C 0009BECC 93 C1 00 08 */ stw r30, 8(r1) +/* 8009EF90 0009BED0 7C 7E 1B 78 */ mr r30, r3 +/* 8009EF94 0009BED4 7C 9F 23 78 */ mr r31, r4 +/* 8009EF98 0009BED8 4B FF ED F9 */ bl jointControll__9daAlink_cFi +/* 8009EF9C 0009BEDC 2C 1F 00 24 */ cmpwi r31, 0x24 +/* 8009EFA0 0009BEE0 40 82 00 10 */ bne lbl_8009EFB0 +/* 8009EFA4 0009BEE4 7F C3 F3 78 */ mr r3, r30 +/* 8009EFA8 0009BEE8 48 08 BD 75 */ bl daAlink_c_NS_setWolfFootMatrix +/* 8009EFAC 0009BEEC 48 00 00 28 */ b lbl_8009EFD4 +lbl_8009EFB0: +/* 8009EFB0 0009BEF0 2C 1F 00 07 */ cmpwi r31, 7 +/* 8009EFB4 0009BEF4 41 82 00 14 */ beq lbl_8009EFC8 +/* 8009EFB8 0009BEF8 2C 1F 00 02 */ cmpwi r31, 2 +/* 8009EFBC 0009BEFC 41 82 00 0C */ beq lbl_8009EFC8 +/* 8009EFC0 0009BF00 2C 1F 00 03 */ cmpwi r31, 3 +/* 8009EFC4 0009BF04 40 82 00 10 */ bne lbl_8009EFD4 +lbl_8009EFC8: +/* 8009EFC8 0009BF08 7F C3 F3 78 */ mr r3, r30 +/* 8009EFCC 0009BF0C 7F E4 FB 78 */ mr r4, r31 +/* 8009EFD0 0009BF10 48 08 BC FD */ bl daAlink_c_NS_changeWolfBlendRate +lbl_8009EFD4: +/* 8009EFD4 0009BF14 38 60 00 01 */ li r3, 1 +/* 8009EFD8 0009BF18 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8009EFDC 0009BF1C 83 C1 00 08 */ lwz r30, 8(r1) +/* 8009EFE0 0009BF20 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009EFE4 0009BF24 7C 08 03 A6 */ mtlr r0 +/* 8009EFE8 0009BF28 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009EFEC 0009BF2C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009EFF0.s b/include/d/d_a/d_a_alink/asm/func_8009EFF0.s new file mode 100644 index 00000000000..afdc0438003 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009EFF0.s @@ -0,0 +1,18 @@ +/* 8009EFF0 0009BF30 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009EFF4 0009BF34 7C 08 02 A6 */ mflr r0 +/* 8009EFF8 0009BF38 90 01 00 14 */ stw r0, 0x14(r1) +/* 8009EFFC 0009BF3C A0 03 00 14 */ lhz r0, 0x14(r3) +/* 8009F000 0009BF40 3C 60 80 43 */ lis r3, lbl_80434AC8@ha +/* 8009F004 0009BF44 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l +/* 8009F008 0009BF48 80 63 00 38 */ lwz r3, 0x38(r3) +/* 8009F00C 0009BF4C 80 63 00 14 */ lwz r3, 0x14(r3) +/* 8009F010 0009BF50 2C 04 00 00 */ cmpwi r4, 0 +/* 8009F014 0009BF54 40 82 00 0C */ bne lbl_8009F020 +/* 8009F018 0009BF58 7C 04 03 78 */ mr r4, r0 +/* 8009F01C 0009BF5C 4B FF FF 61 */ bl wolfModelCallBack__9daAlink_cFi +lbl_8009F020: +/* 8009F020 0009BF60 38 60 00 01 */ li r3, 1 +/* 8009F024 0009BF64 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8009F028 0009BF68 7C 08 03 A6 */ mtlr r0 +/* 8009F02C 0009BF6C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8009F030 0009BF70 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009F034.s b/include/d/d_a/d_a_alink/asm/func_8009F034.s new file mode 100644 index 00000000000..d9b92c6af4a --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009F034.s @@ -0,0 +1,1106 @@ +/* 8009F034 0009BF74 94 21 FE 80 */ stwu r1, -0x180(r1) +/* 8009F038 0009BF78 7C 08 02 A6 */ mflr r0 +/* 8009F03C 0009BF7C 90 01 01 84 */ stw r0, 0x184(r1) +/* 8009F040 0009BF80 DB E1 01 70 */ stfd f31, 0x170(r1) +/* 8009F044 0009BF84 F3 E1 01 78 */ psq_st f31, 376(r1), 0, 0 +/* 8009F048 0009BF88 DB C1 01 60 */ stfd f30, 0x160(r1) +/* 8009F04C 0009BF8C F3 C1 01 68 */ psq_st f30, 360(r1), 0, 0 +/* 8009F050 0009BF90 DB A1 01 50 */ stfd f29, 0x150(r1) +/* 8009F054 0009BF94 F3 A1 01 58 */ psq_st f29, 344(r1), 0, 0 +/* 8009F058 0009BF98 DB 81 01 40 */ stfd f28, 0x140(r1) +/* 8009F05C 0009BF9C F3 81 01 48 */ psq_st f28, 328(r1), 0, 0 +/* 8009F060 0009BFA0 DB 61 01 30 */ stfd f27, 0x130(r1) +/* 8009F064 0009BFA4 F3 61 01 38 */ psq_st f27, 312(r1), 0, 0 +/* 8009F068 0009BFA8 39 61 01 30 */ addi r11, r1, 0x130 +/* 8009F06C 0009BFAC 48 2C 31 4D */ bl func_803621B8 +/* 8009F070 0009BFB0 7C 7F 1B 78 */ mr r31, r3 +/* 8009F074 0009BFB4 80 63 20 60 */ lwz r3, 0x2060(r3) +/* 8009F078 0009BFB8 88 03 00 00 */ lbz r0, 0(r3) +/* 8009F07C 0009BFBC 28 00 00 00 */ cmplwi r0, 0 +/* 8009F080 0009BFC0 41 82 0F 38 */ beq lbl_8009FFB8 +/* 8009F084 0009BFC4 80 1F 05 88 */ lwz r0, 0x588(r31) +/* 8009F088 0009BFC8 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 +/* 8009F08C 0009BFCC 41 82 00 2C */ beq lbl_8009F0B8 +/* 8009F090 0009BFD0 38 60 00 00 */ li r3, 0 +/* 8009F094 0009BFD4 7C 65 1B 78 */ mr r5, r3 +/* 8009F098 0009BFD8 7C 64 1B 78 */ mr r4, r3 +/* 8009F09C 0009BFDC 38 00 00 03 */ li r0, 3 +/* 8009F0A0 0009BFE0 7C 09 03 A6 */ mtctr r0 +lbl_8009F0A4: +/* 8009F0A4 0009BFE4 7C DF 1A 14 */ add r6, r31, r3 +/* 8009F0A8 0009BFE8 B0 A6 30 54 */ sth r5, 0x3054(r6) +/* 8009F0AC 0009BFEC B0 86 30 5A */ sth r4, 0x305a(r6) +/* 8009F0B0 0009BFF0 38 63 00 02 */ addi r3, r3, 2 +/* 8009F0B4 0009BFF4 42 00 FF F0 */ bdnz lbl_8009F0A4 +lbl_8009F0B8: +/* 8009F0B8 0009BFF8 80 7F 06 58 */ lwz r3, 0x658(r31) +/* 8009F0BC 0009BFFC 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009F0C0 0009C000 80 83 00 0C */ lwz r4, 0xc(r3) +/* 8009F0C4 0009C004 80 1F 05 78 */ lwz r0, 0x578(r31) +/* 8009F0C8 0009C008 54 00 02 D8 */ rlwinm r0, r0, 0, 0xb, 0xc +/* 8009F0CC 0009C00C 20 00 00 00 */ subfic r0, r0, 0 +/* 8009F0D0 0009C010 7C 60 01 10 */ subfe r3, r0, r0 +/* 8009F0D4 0009C014 38 00 00 07 */ li r0, 7 +/* 8009F0D8 0009C018 7C 00 18 78 */ andc r0, r0, r3 +/* 8009F0DC 0009C01C 1C 00 00 30 */ mulli r0, r0, 0x30 +/* 8009F0E0 0009C020 7C 64 02 14 */ add r3, r4, r0 +/* 8009F0E4 0009C024 C0 03 00 0C */ lfs f0, 0xc(r3) +/* 8009F0E8 0009C028 D0 01 00 C4 */ stfs f0, 0xc4(r1) +/* 8009F0EC 0009C02C C0 03 00 1C */ lfs f0, 0x1c(r3) +/* 8009F0F0 0009C030 D0 01 00 C8 */ stfs f0, 0xc8(r1) +/* 8009F0F4 0009C034 C0 03 00 2C */ lfs f0, 0x2c(r3) +/* 8009F0F8 0009C038 D0 01 00 CC */ stfs f0, 0xcc(r1) +/* 8009F0FC 0009C03C 80 1F 05 8C */ lwz r0, 0x58c(r31) +/* 8009F100 0009C040 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc +/* 8009F104 0009C044 40 82 00 48 */ bne lbl_8009F14C +/* 8009F108 0009C048 38 7F 35 B8 */ addi r3, r31, 0x35b8 +/* 8009F10C 0009C04C 48 2A 80 2D */ bl PSVECSquareMag +/* 8009F110 0009C050 C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2) +/* 8009F114 0009C054 FC 01 10 40 */ fcmpo cr0, f1, f2 +/* 8009F118 0009C058 41 81 00 2C */ bgt lbl_8009F144 +/* 8009F11C 0009C05C 80 1F 05 88 */ lwz r0, 0x588(r31) +/* 8009F120 0009C060 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 8009F124 0009C064 41 82 00 28 */ beq lbl_8009F14C +/* 8009F128 0009C068 C0 1F 34 00 */ lfs f0, 0x3400(r31) +/* 8009F12C 0009C06C EC 20 00 32 */ fmuls f1, f0, f0 +/* 8009F130 0009C070 C0 1F 34 04 */ lfs f0, 0x3404(r31) +/* 8009F134 0009C074 EC 00 00 32 */ fmuls f0, f0, f0 +/* 8009F138 0009C078 EC 01 00 2A */ fadds f0, f1, f0 +/* 8009F13C 0009C07C FC 00 10 40 */ fcmpo cr0, f0, f2 +/* 8009F140 0009C080 40 81 00 0C */ ble lbl_8009F14C +lbl_8009F144: +/* 8009F144 0009C084 3B C0 00 01 */ li r30, 1 +/* 8009F148 0009C088 48 00 00 08 */ b lbl_8009F150 +lbl_8009F14C: +/* 8009F14C 0009C08C 3B C0 00 00 */ li r30, 0 +lbl_8009F150: +/* 8009F150 0009C090 38 61 00 C4 */ addi r3, r1, 0xc4 +/* 8009F154 0009C094 38 81 00 D0 */ addi r4, r1, 0xd0 +/* 8009F158 0009C098 38 A1 00 18 */ addi r5, r1, 0x18 +/* 8009F15C 0009C09C 4B FB C1 9D */ bl dKyw_get_AllWind_vec +/* 8009F160 0009C0A0 80 1F 31 A0 */ lwz r0, 0x31a0(r31) +/* 8009F164 0009C0A4 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd +/* 8009F168 0009C0A8 40 82 00 10 */ bne lbl_8009F178 +/* 8009F16C 0009C0AC 80 1F 05 8C */ lwz r0, 0x58c(r31) +/* 8009F170 0009C0B0 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc +/* 8009F174 0009C0B4 41 82 00 10 */ beq lbl_8009F184 +lbl_8009F178: +/* 8009F178 0009C0B8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F17C 0009C0BC D0 01 00 18 */ stfs f0, 0x18(r1) +/* 8009F180 0009C0C0 48 00 00 14 */ b lbl_8009F194 +lbl_8009F184: +/* 8009F184 0009C0C4 2C 1E 00 00 */ cmpwi r30, 0 +/* 8009F188 0009C0C8 41 82 00 0C */ beq lbl_8009F194 +/* 8009F18C 0009C0CC C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009F190 0009C0D0 D0 01 00 18 */ stfs f0, 0x18(r1) +lbl_8009F194: +/* 8009F194 0009C0D4 C0 22 92 9C */ lfs f1, lbl_80452C9C-_SDA2_BASE_(r2) +/* 8009F198 0009C0D8 C0 01 00 18 */ lfs f0, 0x18(r1) +/* 8009F19C 0009C0DC EC 00 00 32 */ fmuls f0, f0, f0 +/* 8009F1A0 0009C0E0 EF 61 00 32 */ fmuls f27, f1, f0 +/* 8009F1A4 0009C0E4 AA FF 30 60 */ lha r23, 0x3060(r31) +/* 8009F1A8 0009C0E8 AB 1F 30 62 */ lha r24, 0x3062(r31) +/* 8009F1AC 0009C0EC 38 61 00 7C */ addi r3, r1, 0x7c +/* 8009F1B0 0009C0F0 38 9F 05 38 */ addi r4, r31, 0x538 +/* 8009F1B4 0009C0F4 38 BF 34 E0 */ addi r5, r31, 0x34e0 +/* 8009F1B8 0009C0F8 48 1C 79 7D */ bl cXyz_NS___mi +/* 8009F1BC 0009C0FC C0 01 00 7C */ lfs f0, 0x7c(r1) +/* 8009F1C0 0009C100 D0 01 00 A0 */ stfs f0, 0xa0(r1) +/* 8009F1C4 0009C104 C0 01 00 80 */ lfs f0, 0x80(r1) +/* 8009F1C8 0009C108 D0 01 00 A4 */ stfs f0, 0xa4(r1) +/* 8009F1CC 0009C10C C0 01 00 84 */ lfs f0, 0x84(r1) +/* 8009F1D0 0009C110 D0 01 00 A8 */ stfs f0, 0xa8(r1) +/* 8009F1D4 0009C114 80 1F 05 70 */ lwz r0, 0x570(r31) +/* 8009F1D8 0009C118 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 +/* 8009F1DC 0009C11C 41 82 00 70 */ beq lbl_8009F24C +/* 8009F1E0 0009C120 38 7F 2C 78 */ addi r3, r31, 0x2c78 +/* 8009F1E4 0009C124 38 81 00 A0 */ addi r4, r1, 0xa0 +/* 8009F1E8 0009C128 7C 85 23 78 */ mr r5, r4 +/* 8009F1EC 0009C12C 48 2A 7C 61 */ bl PSMTXMultVecSR +/* 8009F1F0 0009C130 80 7F 06 58 */ lwz r3, 0x658(r31) +/* 8009F1F4 0009C134 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009F1F8 0009C138 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009F1FC 0009C13C C0 03 00 0C */ lfs f0, 0xc(r3) +/* 8009F200 0009C140 D0 01 00 AC */ stfs f0, 0xac(r1) +/* 8009F204 0009C144 C0 03 00 1C */ lfs f0, 0x1c(r3) +/* 8009F208 0009C148 D0 01 00 B0 */ stfs f0, 0xb0(r1) +/* 8009F20C 0009C14C C0 03 00 2C */ lfs f0, 0x2c(r3) +/* 8009F210 0009C150 D0 01 00 B4 */ stfs f0, 0xb4(r1) +/* 8009F214 0009C154 38 61 00 70 */ addi r3, r1, 0x70 +/* 8009F218 0009C158 38 9F 34 E0 */ addi r4, r31, 0x34e0 +/* 8009F21C 0009C15C 38 A1 00 AC */ addi r5, r1, 0xac +/* 8009F220 0009C160 48 1C 79 15 */ bl cXyz_NS___mi +/* 8009F224 0009C164 C0 01 00 70 */ lfs f0, 0x70(r1) +/* 8009F228 0009C168 D0 01 00 AC */ stfs f0, 0xac(r1) +/* 8009F22C 0009C16C C0 01 00 74 */ lfs f0, 0x74(r1) +/* 8009F230 0009C170 D0 01 00 B0 */ stfs f0, 0xb0(r1) +/* 8009F234 0009C174 C0 01 00 78 */ lfs f0, 0x78(r1) +/* 8009F238 0009C178 D0 01 00 B4 */ stfs f0, 0xb4(r1) +/* 8009F23C 0009C17C 38 7F 2C 78 */ addi r3, r31, 0x2c78 +/* 8009F240 0009C180 38 81 00 AC */ addi r4, r1, 0xac +/* 8009F244 0009C184 7C 85 23 78 */ mr r5, r4 +/* 8009F248 0009C188 48 2A 7C 05 */ bl PSMTXMultVecSR +lbl_8009F24C: +/* 8009F24C 0009C18C 38 61 00 A0 */ addi r3, r1, 0xa0 +/* 8009F250 0009C190 48 1C 7E D9 */ bl cXyz_NS_atan2sX_Z +/* 8009F254 0009C194 B0 7F 30 62 */ sth r3, 0x3062(r31) +/* 8009F258 0009C198 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) +/* 8009F25C 0009C19C 28 00 00 C0 */ cmplwi r0, 0xc0 +/* 8009F260 0009C1A0 40 82 00 34 */ bne lbl_8009F294 +/* 8009F264 0009C1A4 80 7F 06 50 */ lwz r3, 0x650(r31) +/* 8009F268 0009C1A8 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009F26C 0009C1AC 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009F270 0009C1B0 38 63 00 30 */ addi r3, r3, 0x30 +/* 8009F274 0009C1B4 3C 80 80 43 */ lis r4, lbl_80430D24@ha +/* 8009F278 0009C1B8 38 84 0D 24 */ addi r4, r4, lbl_80430D24@l +/* 8009F27C 0009C1BC 38 A1 00 AC */ addi r5, r1, 0xac +/* 8009F280 0009C1C0 48 2A 7B CD */ bl PSMTXMultVecSR +/* 8009F284 0009C1C4 38 61 00 AC */ addi r3, r1, 0xac +/* 8009F288 0009C1C8 48 1C 7E A1 */ bl cXyz_NS_atan2sX_Z +/* 8009F28C 0009C1CC 7C 79 1B 78 */ mr r25, r3 +/* 8009F290 0009C1D0 48 00 00 9C */ b lbl_8009F32C +lbl_8009F294: +/* 8009F294 0009C1D4 7F E3 FB 78 */ mr r3, r31 +/* 8009F298 0009C1D8 38 80 00 52 */ li r4, 0x52 +/* 8009F29C 0009C1DC 48 00 D2 BD */ bl daAlink_c_NS_checkUnderMove0BckNoArc +/* 8009F2A0 0009C1E0 2C 03 00 00 */ cmpwi r3, 0 +/* 8009F2A4 0009C1E4 41 82 00 44 */ beq lbl_8009F2E8 +/* 8009F2A8 0009C1E8 C0 3F 1F E0 */ lfs f1, 0x1fe0(r31) +/* 8009F2AC 0009C1EC C0 02 97 F0 */ lfs f0, lbl_804531F0-_SDA2_BASE_(r2) +/* 8009F2B0 0009C1F0 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F2B4 0009C1F4 40 80 00 34 */ bge lbl_8009F2E8 +/* 8009F2B8 0009C1F8 80 7F 06 50 */ lwz r3, 0x650(r31) +/* 8009F2BC 0009C1FC 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009F2C0 0009C200 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009F2C4 0009C204 38 63 00 C0 */ addi r3, r3, 0xc0 +/* 8009F2C8 0009C208 3C 80 80 43 */ lis r4, lbl_80430D0C@ha +/* 8009F2CC 0009C20C 38 84 0D 0C */ addi r4, r4, lbl_80430D0C@l +/* 8009F2D0 0009C210 38 A1 00 AC */ addi r5, r1, 0xac +/* 8009F2D4 0009C214 48 2A 7B 79 */ bl PSMTXMultVecSR +/* 8009F2D8 0009C218 38 61 00 AC */ addi r3, r1, 0xac +/* 8009F2DC 0009C21C 48 1C 7E 4D */ bl cXyz_NS_atan2sX_Z +/* 8009F2E0 0009C220 7C 79 1B 78 */ mr r25, r3 +/* 8009F2E4 0009C224 48 00 00 48 */ b lbl_8009F32C +lbl_8009F2E8: +/* 8009F2E8 0009C228 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) +/* 8009F2EC 0009C22C 28 00 00 D7 */ cmplwi r0, 0xd7 +/* 8009F2F0 0009C230 40 82 00 2C */ bne lbl_8009F31C +/* 8009F2F4 0009C234 A8 1F 30 0C */ lha r0, 0x300c(r31) +/* 8009F2F8 0009C238 2C 00 00 00 */ cmpwi r0, 0 +/* 8009F2FC 0009C23C 40 82 00 20 */ bne lbl_8009F31C +/* 8009F300 0009C240 A8 1F 04 E6 */ lha r0, 0x4e6(r31) +/* 8009F304 0009C244 A8 7F 05 9E */ lha r3, 0x59e(r31) +/* 8009F308 0009C248 3C 63 00 01 */ addis r3, r3, 1 +/* 8009F30C 0009C24C 38 63 80 00 */ addi r3, r3, -32768 +/* 8009F310 0009C250 7C 00 1A 14 */ add r0, r0, r3 +/* 8009F314 0009C254 7C 19 07 34 */ extsh r25, r0 +/* 8009F318 0009C258 48 00 00 14 */ b lbl_8009F32C +lbl_8009F31C: +/* 8009F31C 0009C25C A8 7F 04 E6 */ lha r3, 0x4e6(r31) +/* 8009F320 0009C260 A8 1F 05 9E */ lha r0, 0x59e(r31) +/* 8009F324 0009C264 7C 03 02 14 */ add r0, r3, r0 +/* 8009F328 0009C268 7C 19 07 34 */ extsh r25, r0 +lbl_8009F32C: +/* 8009F32C 0009C26C A8 7F 30 62 */ lha r3, 0x3062(r31) +/* 8009F330 0009C270 7F 24 CB 78 */ mr r4, r25 +/* 8009F334 0009C274 48 1D 1A F1 */ bl cLib_distanceAngleS +/* 8009F338 0009C278 2C 03 70 00 */ cmpwi r3, 0x7000 +/* 8009F33C 0009C27C 40 81 01 28 */ ble lbl_8009F464 +/* 8009F340 0009C280 C0 01 00 A0 */ lfs f0, 0xa0(r1) +/* 8009F344 0009C284 D0 01 00 34 */ stfs f0, 0x34(r1) +/* 8009F348 0009C288 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F34C 0009C28C D0 01 00 38 */ stfs f0, 0x38(r1) +/* 8009F350 0009C290 C0 01 00 A8 */ lfs f0, 0xa8(r1) +/* 8009F354 0009C294 D0 01 00 3C */ stfs f0, 0x3c(r1) +/* 8009F358 0009C298 38 61 00 34 */ addi r3, r1, 0x34 +/* 8009F35C 0009C29C 48 2A 7D DD */ bl PSVECSquareMag +/* 8009F360 0009C2A0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F364 0009C2A4 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F368 0009C2A8 40 81 00 58 */ ble lbl_8009F3C0 +/* 8009F36C 0009C2AC FC 00 08 34 */ frsqrte f0, f1 +/* 8009F370 0009C2B0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) +/* 8009F374 0009C2B4 FC 44 00 32 */ fmul f2, f4, f0 +/* 8009F378 0009C2B8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) +/* 8009F37C 0009C2BC FC 00 00 32 */ fmul f0, f0, f0 +/* 8009F380 0009C2C0 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009F384 0009C2C4 FC 03 00 28 */ fsub f0, f3, f0 +/* 8009F388 0009C2C8 FC 02 00 32 */ fmul f0, f2, f0 +/* 8009F38C 0009C2CC FC 44 00 32 */ fmul f2, f4, f0 +/* 8009F390 0009C2D0 FC 00 00 32 */ fmul f0, f0, f0 +/* 8009F394 0009C2D4 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009F398 0009C2D8 FC 03 00 28 */ fsub f0, f3, f0 +/* 8009F39C 0009C2DC FC 02 00 32 */ fmul f0, f2, f0 +/* 8009F3A0 0009C2E0 FC 44 00 32 */ fmul f2, f4, f0 +/* 8009F3A4 0009C2E4 FC 00 00 32 */ fmul f0, f0, f0 +/* 8009F3A8 0009C2E8 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009F3AC 0009C2EC FC 03 00 28 */ fsub f0, f3, f0 +/* 8009F3B0 0009C2F0 FC 02 00 32 */ fmul f0, f2, f0 +/* 8009F3B4 0009C2F4 FC 41 00 32 */ fmul f2, f1, f0 +/* 8009F3B8 0009C2F8 FC 40 10 18 */ frsp f2, f2 +/* 8009F3BC 0009C2FC 48 00 00 90 */ b lbl_8009F44C +lbl_8009F3C0: +/* 8009F3C0 0009C300 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) +/* 8009F3C4 0009C304 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F3C8 0009C308 40 80 00 10 */ bge lbl_8009F3D8 +/* 8009F3CC 0009C30C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 8009F3D0 0009C310 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3) +/* 8009F3D4 0009C314 48 00 00 78 */ b lbl_8009F44C +lbl_8009F3D8: +/* 8009F3D8 0009C318 D0 21 00 14 */ stfs f1, 0x14(r1) +/* 8009F3DC 0009C31C 80 81 00 14 */ lwz r4, 0x14(r1) +/* 8009F3E0 0009C320 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 +/* 8009F3E4 0009C324 3C 00 7F 80 */ lis r0, 0x7f80 +/* 8009F3E8 0009C328 7C 03 00 00 */ cmpw r3, r0 +/* 8009F3EC 0009C32C 41 82 00 14 */ beq lbl_8009F400 +/* 8009F3F0 0009C330 40 80 00 40 */ bge lbl_8009F430 +/* 8009F3F4 0009C334 2C 03 00 00 */ cmpwi r3, 0 +/* 8009F3F8 0009C338 41 82 00 20 */ beq lbl_8009F418 +/* 8009F3FC 0009C33C 48 00 00 34 */ b lbl_8009F430 +lbl_8009F400: +/* 8009F400 0009C340 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 8009F404 0009C344 41 82 00 0C */ beq lbl_8009F410 +/* 8009F408 0009C348 38 00 00 01 */ li r0, 1 +/* 8009F40C 0009C34C 48 00 00 28 */ b lbl_8009F434 +lbl_8009F410: +/* 8009F410 0009C350 38 00 00 02 */ li r0, 2 +/* 8009F414 0009C354 48 00 00 20 */ b lbl_8009F434 +lbl_8009F418: +/* 8009F418 0009C358 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 8009F41C 0009C35C 41 82 00 0C */ beq lbl_8009F428 +/* 8009F420 0009C360 38 00 00 05 */ li r0, 5 +/* 8009F424 0009C364 48 00 00 10 */ b lbl_8009F434 +lbl_8009F428: +/* 8009F428 0009C368 38 00 00 03 */ li r0, 3 +/* 8009F42C 0009C36C 48 00 00 08 */ b lbl_8009F434 +lbl_8009F430: +/* 8009F430 0009C370 38 00 00 04 */ li r0, 4 +lbl_8009F434: +/* 8009F434 0009C374 2C 00 00 01 */ cmpwi r0, 1 +/* 8009F438 0009C378 40 82 00 10 */ bne lbl_8009F448 +/* 8009F43C 0009C37C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 8009F440 0009C380 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3) +/* 8009F444 0009C384 48 00 00 08 */ b lbl_8009F44C +lbl_8009F448: +/* 8009F448 0009C388 FC 40 08 90 */ fmr f2, f1 +lbl_8009F44C: +/* 8009F44C 0009C38C C0 01 00 A4 */ lfs f0, 0xa4(r1) +/* 8009F450 0009C390 FC 20 00 50 */ fneg f1, f0 +/* 8009F454 0009C394 FC 40 10 50 */ fneg f2, f2 +/* 8009F458 0009C398 48 1C 82 1D */ bl cM_atan2s +/* 8009F45C 0009C39C B0 7F 30 60 */ sth r3, 0x3060(r31) +/* 8009F460 0009C3A0 48 00 00 10 */ b lbl_8009F470 +lbl_8009F464: +/* 8009F464 0009C3A4 38 61 00 A0 */ addi r3, r1, 0xa0 +/* 8009F468 0009C3A8 48 1C 7C E9 */ bl cXyz_NS_atan2sY_XZ +/* 8009F46C 0009C3AC B0 7F 30 60 */ sth r3, 0x3060(r31) +lbl_8009F470: +/* 8009F470 0009C3B0 C0 01 00 A0 */ lfs f0, 0xa0(r1) +/* 8009F474 0009C3B4 D0 01 00 28 */ stfs f0, 0x28(r1) +/* 8009F478 0009C3B8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F47C 0009C3BC D0 01 00 2C */ stfs f0, 0x2c(r1) +/* 8009F480 0009C3C0 C0 01 00 A8 */ lfs f0, 0xa8(r1) +/* 8009F484 0009C3C4 D0 01 00 30 */ stfs f0, 0x30(r1) +/* 8009F488 0009C3C8 38 61 00 28 */ addi r3, r1, 0x28 +/* 8009F48C 0009C3CC 48 2A 7C AD */ bl PSVECSquareMag +/* 8009F490 0009C3D0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F494 0009C3D4 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F498 0009C3D8 40 81 00 58 */ ble lbl_8009F4F0 +/* 8009F49C 0009C3DC FC 00 08 34 */ frsqrte f0, f1 +/* 8009F4A0 0009C3E0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) +/* 8009F4A4 0009C3E4 FC 44 00 32 */ fmul f2, f4, f0 +/* 8009F4A8 0009C3E8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) +/* 8009F4AC 0009C3EC FC 00 00 32 */ fmul f0, f0, f0 +/* 8009F4B0 0009C3F0 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009F4B4 0009C3F4 FC 03 00 28 */ fsub f0, f3, f0 +/* 8009F4B8 0009C3F8 FC 02 00 32 */ fmul f0, f2, f0 +/* 8009F4BC 0009C3FC FC 44 00 32 */ fmul f2, f4, f0 +/* 8009F4C0 0009C400 FC 00 00 32 */ fmul f0, f0, f0 +/* 8009F4C4 0009C404 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009F4C8 0009C408 FC 03 00 28 */ fsub f0, f3, f0 +/* 8009F4CC 0009C40C FC 02 00 32 */ fmul f0, f2, f0 +/* 8009F4D0 0009C410 FC 44 00 32 */ fmul f2, f4, f0 +/* 8009F4D4 0009C414 FC 00 00 32 */ fmul f0, f0, f0 +/* 8009F4D8 0009C418 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009F4DC 0009C41C FC 03 00 28 */ fsub f0, f3, f0 +/* 8009F4E0 0009C420 FC 02 00 32 */ fmul f0, f2, f0 +/* 8009F4E4 0009C424 FC 21 00 32 */ fmul f1, f1, f0 +/* 8009F4E8 0009C428 FC 20 08 18 */ frsp f1, f1 +/* 8009F4EC 0009C42C 48 00 00 88 */ b lbl_8009F574 +lbl_8009F4F0: +/* 8009F4F0 0009C430 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) +/* 8009F4F4 0009C434 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F4F8 0009C438 40 80 00 10 */ bge lbl_8009F508 +/* 8009F4FC 0009C43C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 8009F500 0009C440 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) +/* 8009F504 0009C444 48 00 00 70 */ b lbl_8009F574 +lbl_8009F508: +/* 8009F508 0009C448 D0 21 00 10 */ stfs f1, 0x10(r1) +/* 8009F50C 0009C44C 80 81 00 10 */ lwz r4, 0x10(r1) +/* 8009F510 0009C450 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 +/* 8009F514 0009C454 3C 00 7F 80 */ lis r0, 0x7f80 +/* 8009F518 0009C458 7C 03 00 00 */ cmpw r3, r0 +/* 8009F51C 0009C45C 41 82 00 14 */ beq lbl_8009F530 +/* 8009F520 0009C460 40 80 00 40 */ bge lbl_8009F560 +/* 8009F524 0009C464 2C 03 00 00 */ cmpwi r3, 0 +/* 8009F528 0009C468 41 82 00 20 */ beq lbl_8009F548 +/* 8009F52C 0009C46C 48 00 00 34 */ b lbl_8009F560 +lbl_8009F530: +/* 8009F530 0009C470 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 8009F534 0009C474 41 82 00 0C */ beq lbl_8009F540 +/* 8009F538 0009C478 38 00 00 01 */ li r0, 1 +/* 8009F53C 0009C47C 48 00 00 28 */ b lbl_8009F564 +lbl_8009F540: +/* 8009F540 0009C480 38 00 00 02 */ li r0, 2 +/* 8009F544 0009C484 48 00 00 20 */ b lbl_8009F564 +lbl_8009F548: +/* 8009F548 0009C488 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 8009F54C 0009C48C 41 82 00 0C */ beq lbl_8009F558 +/* 8009F550 0009C490 38 00 00 05 */ li r0, 5 +/* 8009F554 0009C494 48 00 00 10 */ b lbl_8009F564 +lbl_8009F558: +/* 8009F558 0009C498 38 00 00 03 */ li r0, 3 +/* 8009F55C 0009C49C 48 00 00 08 */ b lbl_8009F564 +lbl_8009F560: +/* 8009F560 0009C4A0 38 00 00 04 */ li r0, 4 +lbl_8009F564: +/* 8009F564 0009C4A4 2C 00 00 01 */ cmpwi r0, 1 +/* 8009F568 0009C4A8 40 82 00 0C */ bne lbl_8009F574 +/* 8009F56C 0009C4AC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 8009F570 0009C4B0 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) +lbl_8009F574: +/* 8009F574 0009C4B4 C0 02 93 88 */ lfs f0, lbl_80452D88-_SDA2_BASE_(r2) +/* 8009F578 0009C4B8 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F57C 0009C4BC 40 80 00 20 */ bge lbl_8009F59C +/* 8009F580 0009C4C0 57 20 04 38 */ rlwinm r0, r25, 0, 0x10, 0x1c +/* 8009F584 0009C4C4 3C 60 80 44 */ lis r3, lbl_80439A20@ha +/* 8009F588 0009C4C8 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l +/* 8009F58C 0009C4CC 7F A3 04 2E */ lfsx f29, r3, r0 +/* 8009F590 0009C4D0 7C 63 02 14 */ add r3, r3, r0 +/* 8009F594 0009C4D4 C3 83 00 04 */ lfs f28, 4(r3) +/* 8009F598 0009C4D8 48 00 00 1C */ b lbl_8009F5B4 +lbl_8009F59C: +/* 8009F59C 0009C4DC C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009F5A0 0009C4E0 EC 20 08 24 */ fdivs f1, f0, f1 +/* 8009F5A4 0009C4E4 C0 01 00 A0 */ lfs f0, 0xa0(r1) +/* 8009F5A8 0009C4E8 EF A0 00 72 */ fmuls f29, f0, f1 +/* 8009F5AC 0009C4EC C0 01 00 A8 */ lfs f0, 0xa8(r1) +/* 8009F5B0 0009C4F0 EF 80 00 72 */ fmuls f28, f0, f1 +lbl_8009F5B4: +/* 8009F5B4 0009C4F4 80 1F 05 88 */ lwz r0, 0x588(r31) +/* 8009F5B8 0009C4F8 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 +/* 8009F5BC 0009C4FC 41 82 00 2C */ beq lbl_8009F5E8 +/* 8009F5C0 0009C500 3C 60 80 43 */ lis r3, lbl_80430CF4@ha +/* 8009F5C4 0009C504 C4 03 0C F4 */ lfsu f0, lbl_80430CF4@l(r3) +/* 8009F5C8 0009C508 D0 01 00 B8 */ stfs f0, 0xb8(r1) +/* 8009F5CC 0009C50C C0 03 00 04 */ lfs f0, 4(r3) +/* 8009F5D0 0009C510 D0 01 00 BC */ stfs f0, 0xbc(r1) +/* 8009F5D4 0009C514 C0 03 00 08 */ lfs f0, 8(r3) +/* 8009F5D8 0009C518 D0 01 00 C0 */ stfs f0, 0xc0(r1) +/* 8009F5DC 0009C51C 3A E0 00 00 */ li r23, 0 +/* 8009F5E0 0009C520 3B 00 00 00 */ li r24, 0 +/* 8009F5E4 0009C524 48 00 00 78 */ b lbl_8009F65C +lbl_8009F5E8: +/* 8009F5E8 0009C528 A8 7F 30 60 */ lha r3, 0x3060(r31) +/* 8009F5EC 0009C52C 7C 17 18 50 */ subf r0, r23, r3 +/* 8009F5F0 0009C530 7C 00 07 34 */ extsh r0, r0 +/* 8009F5F4 0009C534 7C 00 0E 70 */ srawi r0, r0, 1 +/* 8009F5F8 0009C538 7C 17 07 34 */ extsh r23, r0 +/* 8009F5FC 0009C53C 48 2C 5A D5 */ bl func_803650D0 +/* 8009F600 0009C540 2C 03 30 00 */ cmpwi r3, 0x3000 +/* 8009F604 0009C544 40 81 00 1C */ ble lbl_8009F620 +/* 8009F608 0009C548 A8 7F 30 60 */ lha r3, 0x3060(r31) +/* 8009F60C 0009C54C 48 2C 5A C5 */ bl func_803650D0 +/* 8009F610 0009C550 2C 03 50 00 */ cmpwi r3, 0x5000 +/* 8009F614 0009C554 40 80 00 0C */ bge lbl_8009F620 +/* 8009F618 0009C558 3B 00 00 00 */ li r24, 0 +/* 8009F61C 0009C55C 48 00 00 18 */ b lbl_8009F634 +lbl_8009F620: +/* 8009F620 0009C560 A8 1F 30 62 */ lha r0, 0x3062(r31) +/* 8009F624 0009C564 7C 18 00 50 */ subf r0, r24, r0 +/* 8009F628 0009C568 7C 00 07 34 */ extsh r0, r0 +/* 8009F62C 0009C56C 7C 00 0E 70 */ srawi r0, r0, 1 +/* 8009F630 0009C570 7C 18 07 34 */ extsh r24, r0 +lbl_8009F634: +/* 8009F634 0009C574 38 61 00 64 */ addi r3, r1, 0x64 +/* 8009F638 0009C578 38 9F 34 C8 */ addi r4, r31, 0x34c8 +/* 8009F63C 0009C57C 38 A1 00 C4 */ addi r5, r1, 0xc4 +/* 8009F640 0009C580 48 1C 74 F5 */ bl cXyz_NS___mi +/* 8009F644 0009C584 C0 01 00 64 */ lfs f0, 0x64(r1) +/* 8009F648 0009C588 D0 01 00 B8 */ stfs f0, 0xb8(r1) +/* 8009F64C 0009C58C C0 01 00 68 */ lfs f0, 0x68(r1) +/* 8009F650 0009C590 D0 01 00 BC */ stfs f0, 0xbc(r1) +/* 8009F654 0009C594 C0 01 00 6C */ lfs f0, 0x6c(r1) +/* 8009F658 0009C598 D0 01 00 C0 */ stfs f0, 0xc0(r1) +lbl_8009F65C: +/* 8009F65C 0009C59C 80 1F 05 70 */ lwz r0, 0x570(r31) +/* 8009F660 0009C5A0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 +/* 8009F664 0009C5A4 41 82 00 28 */ beq lbl_8009F68C +/* 8009F668 0009C5A8 38 61 00 58 */ addi r3, r1, 0x58 +/* 8009F66C 0009C5AC 38 81 00 D0 */ addi r4, r1, 0xd0 +/* 8009F670 0009C5B0 FC 20 D8 90 */ fmr f1, f27 +/* 8009F674 0009C5B4 48 1C 75 11 */ bl cXyz_NS___ml +/* 8009F678 0009C5B8 38 61 00 B8 */ addi r3, r1, 0xb8 +/* 8009F67C 0009C5BC 38 81 00 58 */ addi r4, r1, 0x58 +/* 8009F680 0009C5C0 7C 65 1B 78 */ mr r5, r3 +/* 8009F684 0009C5C4 48 2A 7A 0D */ bl PSVECAdd +/* 8009F688 0009C5C8 48 00 00 54 */ b lbl_8009F6DC +lbl_8009F68C: +/* 8009F68C 0009C5CC C0 5F 37 A0 */ lfs f2, 0x37a0(r31) +/* 8009F690 0009C5D0 C0 1F 37 98 */ lfs f0, 0x3798(r31) +/* 8009F694 0009C5D4 D0 01 00 40 */ stfs f0, 0x40(r1) +/* 8009F698 0009C5D8 C0 22 92 C0 */ lfs f1, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F69C 0009C5DC D0 21 00 44 */ stfs f1, 0x44(r1) +/* 8009F6A0 0009C5E0 D0 41 00 48 */ stfs f2, 0x48(r1) +/* 8009F6A4 0009C5E4 C0 5F 04 D8 */ lfs f2, 0x4d8(r31) +/* 8009F6A8 0009C5E8 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) +/* 8009F6AC 0009C5EC D0 01 00 4C */ stfs f0, 0x4c(r1) +/* 8009F6B0 0009C5F0 D0 21 00 50 */ stfs f1, 0x50(r1) +/* 8009F6B4 0009C5F4 D0 41 00 54 */ stfs f2, 0x54(r1) +/* 8009F6B8 0009C5F8 38 61 00 40 */ addi r3, r1, 0x40 +/* 8009F6BC 0009C5FC 38 81 00 4C */ addi r4, r1, 0x4c +/* 8009F6C0 0009C600 48 2A 7C DD */ bl PSVECSquareDistance +/* 8009F6C4 0009C604 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009F6C8 0009C608 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F6CC 0009C60C 40 80 00 10 */ bge lbl_8009F6DC +/* 8009F6D0 0009C610 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F6D4 0009C614 D0 01 00 B8 */ stfs f0, 0xb8(r1) +/* 8009F6D8 0009C618 D0 01 00 C0 */ stfs f0, 0xc0(r1) +lbl_8009F6DC: +/* 8009F6DC 0009C61C 38 61 00 B8 */ addi r3, r1, 0xb8 +/* 8009F6E0 0009C620 38 9F 35 B8 */ addi r4, r31, 0x35b8 +/* 8009F6E4 0009C624 7C 65 1B 78 */ mr r5, r3 +/* 8009F6E8 0009C628 48 2A 79 A9 */ bl PSVECAdd +/* 8009F6EC 0009C62C 80 1F 05 88 */ lwz r0, 0x588(r31) +/* 8009F6F0 0009C630 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 8009F6F4 0009C634 41 82 00 24 */ beq lbl_8009F718 +/* 8009F6F8 0009C638 C0 21 00 B8 */ lfs f1, 0xb8(r1) +/* 8009F6FC 0009C63C C0 1F 34 00 */ lfs f0, 0x3400(r31) +/* 8009F700 0009C640 EC 01 00 2A */ fadds f0, f1, f0 +/* 8009F704 0009C644 D0 01 00 B8 */ stfs f0, 0xb8(r1) +/* 8009F708 0009C648 C0 21 00 C0 */ lfs f1, 0xc0(r1) +/* 8009F70C 0009C64C C0 1F 34 04 */ lfs f0, 0x3404(r31) +/* 8009F710 0009C650 EC 01 00 2A */ fadds f0, f1, f0 +/* 8009F714 0009C654 D0 01 00 C0 */ stfs f0, 0xc0(r1) +lbl_8009F718: +/* 8009F718 0009C658 7F E3 FB 78 */ mr r3, r31 +/* 8009F71C 0009C65C 38 81 00 B8 */ addi r4, r1, 0xb8 +/* 8009F720 0009C660 48 04 2D 5D */ bl daAlink_c_NS_multVecMagneBootInvMtx +/* 8009F724 0009C664 80 7F 05 70 */ lwz r3, 0x570(r31) +/* 8009F728 0009C668 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17 +/* 8009F72C 0009C66C 40 82 00 18 */ bne lbl_8009F744 +/* 8009F730 0009C670 C0 21 00 BC */ lfs f1, 0xbc(r1) +/* 8009F734 0009C674 C0 02 93 14 */ lfs f0, lbl_80452D14-_SDA2_BASE_(r2) +/* 8009F738 0009C678 EC 01 00 28 */ fsubs f0, f1, f0 +/* 8009F73C 0009C67C D0 01 00 BC */ stfs f0, 0xbc(r1) +/* 8009F740 0009C680 48 00 00 48 */ b lbl_8009F788 +lbl_8009F744: +/* 8009F744 0009C684 54 60 04 E7 */ rlwinm. r0, r3, 0, 0x13, 0x13 +/* 8009F748 0009C688 41 82 00 30 */ beq lbl_8009F778 +/* 8009F74C 0009C68C 38 7F 1D C0 */ addi r3, r31, 0x1dc0 +/* 8009F750 0009C690 38 80 00 00 */ li r4, 0 +/* 8009F754 0009C694 48 00 2A 8D */ bl daAlink_c_NS_getMoveBGActorName +/* 8009F758 0009C698 7C 60 07 34 */ extsh r0, r3 +/* 8009F75C 0009C69C 2C 00 00 C6 */ cmpwi r0, 0xc6 +/* 8009F760 0009C6A0 40 82 00 18 */ bne lbl_8009F778 +/* 8009F764 0009C6A4 C0 21 00 BC */ lfs f1, 0xbc(r1) +/* 8009F768 0009C6A8 C0 02 93 3C */ lfs f0, lbl_80452D3C-_SDA2_BASE_(r2) +/* 8009F76C 0009C6AC EC 01 00 2A */ fadds f0, f1, f0 +/* 8009F770 0009C6B0 D0 01 00 BC */ stfs f0, 0xbc(r1) +/* 8009F774 0009C6B4 48 00 00 14 */ b lbl_8009F788 +lbl_8009F778: +/* 8009F778 0009C6B8 C0 21 00 BC */ lfs f1, 0xbc(r1) +/* 8009F77C 0009C6BC C0 02 93 3C */ lfs f0, lbl_80452D3C-_SDA2_BASE_(r2) +/* 8009F780 0009C6C0 EC 01 00 28 */ fsubs f0, f1, f0 +/* 8009F784 0009C6C4 D0 01 00 BC */ stfs f0, 0xbc(r1) +lbl_8009F788: +/* 8009F788 0009C6C8 C0 01 00 B8 */ lfs f0, 0xb8(r1) +/* 8009F78C 0009C6CC FC 00 02 10 */ fabs f0, f0 +/* 8009F790 0009C6D0 FC 20 00 18 */ frsp f1, f0 +/* 8009F794 0009C6D4 C0 02 93 88 */ lfs f0, lbl_80452D88-_SDA2_BASE_(r2) +/* 8009F798 0009C6D8 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F79C 0009C6DC 40 80 00 0C */ bge lbl_8009F7A8 +/* 8009F7A0 0009C6E0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F7A4 0009C6E4 D0 01 00 B8 */ stfs f0, 0xb8(r1) +lbl_8009F7A8: +/* 8009F7A8 0009C6E8 C0 01 00 C0 */ lfs f0, 0xc0(r1) +/* 8009F7AC 0009C6EC FC 00 02 10 */ fabs f0, f0 +/* 8009F7B0 0009C6F0 FC 20 00 18 */ frsp f1, f0 +/* 8009F7B4 0009C6F4 C0 02 93 88 */ lfs f0, lbl_80452D88-_SDA2_BASE_(r2) +/* 8009F7B8 0009C6F8 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F7BC 0009C6FC 40 80 00 0C */ bge lbl_8009F7C8 +/* 8009F7C0 0009C700 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F7C4 0009C704 D0 01 00 C0 */ stfs f0, 0xc0(r1) +lbl_8009F7C8: +/* 8009F7C8 0009C708 80 1F 05 70 */ lwz r0, 0x570(r31) +/* 8009F7CC 0009C70C 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 +/* 8009F7D0 0009C710 41 82 00 38 */ beq lbl_8009F808 +/* 8009F7D4 0009C714 38 7F 2C 78 */ addi r3, r31, 0x2c78 +/* 8009F7D8 0009C718 3C 80 80 3E */ lis r4, lbl_803DD470@ha +/* 8009F7DC 0009C71C 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l +/* 8009F7E0 0009C720 48 2A 6C D1 */ bl PSMTXCopy +/* 8009F7E4 0009C724 80 7F 06 50 */ lwz r3, 0x650(r31) +/* 8009F7E8 0009C728 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009F7EC 0009C72C 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009F7F0 0009C730 38 83 00 60 */ addi r4, r3, 0x60 +/* 8009F7F4 0009C734 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009F7F8 0009C738 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009F7FC 0009C73C 7C 65 1B 78 */ mr r5, r3 +/* 8009F800 0009C740 48 2A 6C E5 */ bl PSMTXConcat +/* 8009F804 0009C744 48 00 00 20 */ b lbl_8009F824 +lbl_8009F808: +/* 8009F808 0009C748 80 7F 06 50 */ lwz r3, 0x650(r31) +/* 8009F80C 0009C74C 80 63 00 84 */ lwz r3, 0x84(r3) +/* 8009F810 0009C750 80 63 00 0C */ lwz r3, 0xc(r3) +/* 8009F814 0009C754 38 63 00 60 */ addi r3, r3, 0x60 +/* 8009F818 0009C758 3C 80 80 3E */ lis r4, lbl_803DD470@ha +/* 8009F81C 0009C75C 38 84 D4 70 */ addi r4, r4, lbl_803DD470@l +/* 8009F820 0009C760 48 2A 6C 91 */ bl PSMTXCopy +lbl_8009F824: +/* 8009F824 0009C764 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009F828 0009C768 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009F82C 0009C76C 3C 80 80 43 */ lis r4, lbl_80430D24@ha +/* 8009F830 0009C770 38 84 0D 24 */ addi r4, r4, lbl_80430D24@l +/* 8009F834 0009C774 38 A1 00 94 */ addi r5, r1, 0x94 +/* 8009F838 0009C778 48 2A 76 15 */ bl PSMTXMultVecSR +/* 8009F83C 0009C77C 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009F840 0009C780 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009F844 0009C784 3C 80 80 43 */ lis r4, lbl_80430D0C@ha +/* 8009F848 0009C788 38 84 0D 0C */ addi r4, r4, lbl_80430D0C@l +/* 8009F84C 0009C78C 38 A1 00 88 */ addi r5, r1, 0x88 +/* 8009F850 0009C790 48 2A 75 1D */ bl PSMTXMultVec +/* 8009F854 0009C794 C0 21 00 8C */ lfs f1, 0x8c(r1) +/* 8009F858 0009C798 3C 60 80 3E */ lis r3, lbl_803DD470@ha +/* 8009F85C 0009C79C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l +/* 8009F860 0009C7A0 C0 03 00 1C */ lfs f0, 0x1c(r3) +/* 8009F864 0009C7A4 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F868 0009C7A8 40 80 01 3C */ bge lbl_8009F9A4 +/* 8009F86C 0009C7AC 7F E3 FB 78 */ mr r3, r31 +/* 8009F870 0009C7B0 38 80 01 16 */ li r4, 0x116 +/* 8009F874 0009C7B4 48 00 CC E5 */ bl daAlink_c_NS_checkUnderMove0BckNoArc +/* 8009F878 0009C7B8 2C 03 00 00 */ cmpwi r3, 0 +/* 8009F87C 0009C7BC 40 82 01 28 */ bne lbl_8009F9A4 +/* 8009F880 0009C7C0 C0 01 00 94 */ lfs f0, 0x94(r1) +/* 8009F884 0009C7C4 D0 01 00 1C */ stfs f0, 0x1c(r1) +/* 8009F888 0009C7C8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F88C 0009C7CC D0 01 00 20 */ stfs f0, 0x20(r1) +/* 8009F890 0009C7D0 C0 01 00 9C */ lfs f0, 0x9c(r1) +/* 8009F894 0009C7D4 D0 01 00 24 */ stfs f0, 0x24(r1) +/* 8009F898 0009C7D8 38 61 00 1C */ addi r3, r1, 0x1c +/* 8009F89C 0009C7DC 48 2A 78 9D */ bl PSVECSquareMag +/* 8009F8A0 0009C7E0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009F8A4 0009C7E4 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F8A8 0009C7E8 40 81 00 58 */ ble lbl_8009F900 +/* 8009F8AC 0009C7EC FC 00 08 34 */ frsqrte f0, f1 +/* 8009F8B0 0009C7F0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) +/* 8009F8B4 0009C7F4 FC 44 00 32 */ fmul f2, f4, f0 +/* 8009F8B8 0009C7F8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) +/* 8009F8BC 0009C7FC FC 00 00 32 */ fmul f0, f0, f0 +/* 8009F8C0 0009C800 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009F8C4 0009C804 FC 03 00 28 */ fsub f0, f3, f0 +/* 8009F8C8 0009C808 FC 02 00 32 */ fmul f0, f2, f0 +/* 8009F8CC 0009C80C FC 44 00 32 */ fmul f2, f4, f0 +/* 8009F8D0 0009C810 FC 00 00 32 */ fmul f0, f0, f0 +/* 8009F8D4 0009C814 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009F8D8 0009C818 FC 03 00 28 */ fsub f0, f3, f0 +/* 8009F8DC 0009C81C FC 02 00 32 */ fmul f0, f2, f0 +/* 8009F8E0 0009C820 FC 44 00 32 */ fmul f2, f4, f0 +/* 8009F8E4 0009C824 FC 00 00 32 */ fmul f0, f0, f0 +/* 8009F8E8 0009C828 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009F8EC 0009C82C FC 03 00 28 */ fsub f0, f3, f0 +/* 8009F8F0 0009C830 FC 02 00 32 */ fmul f0, f2, f0 +/* 8009F8F4 0009C834 FC 41 00 32 */ fmul f2, f1, f0 +/* 8009F8F8 0009C838 FC 40 10 18 */ frsp f2, f2 +/* 8009F8FC 0009C83C 48 00 00 90 */ b lbl_8009F98C +lbl_8009F900: +/* 8009F900 0009C840 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) +/* 8009F904 0009C844 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009F908 0009C848 40 80 00 10 */ bge lbl_8009F918 +/* 8009F90C 0009C84C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 8009F910 0009C850 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3) +/* 8009F914 0009C854 48 00 00 78 */ b lbl_8009F98C +lbl_8009F918: +/* 8009F918 0009C858 D0 21 00 0C */ stfs f1, 0xc(r1) +/* 8009F91C 0009C85C 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8009F920 0009C860 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 +/* 8009F924 0009C864 3C 00 7F 80 */ lis r0, 0x7f80 +/* 8009F928 0009C868 7C 03 00 00 */ cmpw r3, r0 +/* 8009F92C 0009C86C 41 82 00 14 */ beq lbl_8009F940 +/* 8009F930 0009C870 40 80 00 40 */ bge lbl_8009F970 +/* 8009F934 0009C874 2C 03 00 00 */ cmpwi r3, 0 +/* 8009F938 0009C878 41 82 00 20 */ beq lbl_8009F958 +/* 8009F93C 0009C87C 48 00 00 34 */ b lbl_8009F970 +lbl_8009F940: +/* 8009F940 0009C880 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 8009F944 0009C884 41 82 00 0C */ beq lbl_8009F950 +/* 8009F948 0009C888 38 00 00 01 */ li r0, 1 +/* 8009F94C 0009C88C 48 00 00 28 */ b lbl_8009F974 +lbl_8009F950: +/* 8009F950 0009C890 38 00 00 02 */ li r0, 2 +/* 8009F954 0009C894 48 00 00 20 */ b lbl_8009F974 +lbl_8009F958: +/* 8009F958 0009C898 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 8009F95C 0009C89C 41 82 00 0C */ beq lbl_8009F968 +/* 8009F960 0009C8A0 38 00 00 05 */ li r0, 5 +/* 8009F964 0009C8A4 48 00 00 10 */ b lbl_8009F974 +lbl_8009F968: +/* 8009F968 0009C8A8 38 00 00 03 */ li r0, 3 +/* 8009F96C 0009C8AC 48 00 00 08 */ b lbl_8009F974 +lbl_8009F970: +/* 8009F970 0009C8B0 38 00 00 04 */ li r0, 4 +lbl_8009F974: +/* 8009F974 0009C8B4 2C 00 00 01 */ cmpwi r0, 1 +/* 8009F978 0009C8B8 40 82 00 10 */ bne lbl_8009F988 +/* 8009F97C 0009C8BC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 8009F980 0009C8C0 C0 43 0A E0 */ lfs f2, lbl_80450AE0@l(r3) +/* 8009F984 0009C8C4 48 00 00 08 */ b lbl_8009F98C +lbl_8009F988: +/* 8009F988 0009C8C8 FC 40 08 90 */ fmr f2, f1 +lbl_8009F98C: +/* 8009F98C 0009C8CC C0 01 00 98 */ lfs f0, 0x98(r1) +/* 8009F990 0009C8D0 FC 20 00 50 */ fneg f1, f0 +/* 8009F994 0009C8D4 FC 40 10 50 */ fneg f2, f2 +/* 8009F998 0009C8D8 48 1C 7C DD */ bl cM_atan2s +/* 8009F99C 0009C8DC 7C 7B 07 34 */ extsh r27, r3 +/* 8009F9A0 0009C8E0 48 00 00 10 */ b lbl_8009F9B0 +lbl_8009F9A4: +/* 8009F9A4 0009C8E4 38 61 00 94 */ addi r3, r1, 0x94 +/* 8009F9A8 0009C8E8 48 1C 77 A9 */ bl cXyz_NS_atan2sY_XZ +/* 8009F9AC 0009C8EC 7C 7B 07 34 */ extsh r27, r3 +lbl_8009F9B0: +/* 8009F9B0 0009C8F0 3B 5F 30 3A */ addi r26, r31, 0x303a +/* 8009F9B4 0009C8F4 3B 3F 30 4E */ addi r25, r31, 0x304e +/* 8009F9B8 0009C8F8 A8 1F 30 3A */ lha r0, 0x303a(r31) +/* 8009F9BC 0009C8FC 7C 17 00 50 */ subf r0, r23, r0 +/* 8009F9C0 0009C900 B0 1F 30 3A */ sth r0, 0x303a(r31) +/* 8009F9C4 0009C904 A8 1F 30 4E */ lha r0, 0x304e(r31) +/* 8009F9C8 0009C908 7C 18 00 50 */ subf r0, r24, r0 +/* 8009F9CC 0009C90C B0 1F 30 4E */ sth r0, 0x304e(r31) +/* 8009F9D0 0009C910 AB BF 30 3A */ lha r29, 0x303a(r31) +/* 8009F9D4 0009C914 AB 9F 30 4E */ lha r28, 0x304e(r31) +/* 8009F9D8 0009C918 C0 01 00 C0 */ lfs f0, 0xc0(r1) +/* 8009F9DC 0009C91C EC 20 07 32 */ fmuls f1, f0, f28 +/* 8009F9E0 0009C920 C0 01 00 B8 */ lfs f0, 0xb8(r1) +/* 8009F9E4 0009C924 EC 00 07 72 */ fmuls f0, f0, f29 +/* 8009F9E8 0009C928 EF C1 00 2A */ fadds f30, f1, f0 +/* 8009F9EC 0009C92C C0 21 00 BC */ lfs f1, 0xbc(r1) +/* 8009F9F0 0009C930 FC 40 F0 50 */ fneg f2, f30 +/* 8009F9F4 0009C934 48 1C 7C 81 */ bl cM_atan2s +/* 8009F9F8 0009C938 A8 9F 30 60 */ lha r4, 0x3060(r31) +/* 8009F9FC 0009C93C 7C 60 07 34 */ extsh r0, r3 +/* 8009FA00 0009C940 7C 04 00 50 */ subf r0, r4, r0 +/* 8009FA04 0009C944 2C 00 C8 00 */ cmpwi r0, -14336 +/* 8009FA08 0009C948 40 80 00 0C */ bge lbl_8009FA14 +/* 8009FA0C 0009C94C 38 60 C8 00 */ li r3, -14336 +/* 8009FA10 0009C950 48 00 00 14 */ b lbl_8009FA24 +lbl_8009FA14: +/* 8009FA14 0009C954 2C 00 38 00 */ cmpwi r0, 0x3800 +/* 8009FA18 0009C958 38 60 38 00 */ li r3, 0x3800 +/* 8009FA1C 0009C95C 41 81 00 08 */ bgt lbl_8009FA24 +/* 8009FA20 0009C960 7C 03 03 78 */ mr r3, r0 +lbl_8009FA24: +/* 8009FA24 0009C964 7C 03 22 14 */ add r0, r3, r4 +/* 8009FA28 0009C968 7C 03 07 34 */ extsh r3, r0 +/* 8009FA2C 0009C96C 38 1B C8 00 */ addi r0, r27, -14336 +/* 8009FA30 0009C970 7C 03 00 00 */ cmpw r3, r0 +/* 8009FA34 0009C974 40 80 00 08 */ bge lbl_8009FA3C +/* 8009FA38 0009C978 7C 03 07 34 */ extsh r3, r0 +lbl_8009FA3C: +/* 8009FA3C 0009C97C 7C 60 07 34 */ extsh r0, r3 +/* 8009FA40 0009C980 7C 84 00 50 */ subf r4, r4, r0 +/* 8009FA44 0009C984 80 1F 05 88 */ lwz r0, 0x588(r31) +/* 8009FA48 0009C988 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 +/* 8009FA4C 0009C98C 41 82 00 0C */ beq lbl_8009FA58 +/* 8009FA50 0009C990 B0 9A 00 00 */ sth r4, 0(r26) +/* 8009FA54 0009C994 48 00 00 18 */ b lbl_8009FA6C +lbl_8009FA58: +/* 8009FA58 0009C998 7F 43 D3 78 */ mr r3, r26 +/* 8009FA5C 0009C99C 7C 84 07 34 */ extsh r4, r4 +/* 8009FA60 0009C9A0 38 A0 00 05 */ li r5, 5 +/* 8009FA64 0009C9A4 38 C0 04 00 */ li r6, 0x400 +/* 8009FA68 0009C9A8 48 1D 0B A1 */ bl cLib_addCalcAngleS2 +lbl_8009FA6C: +/* 8009FA6C 0009C9AC A8 7A 00 00 */ lha r3, 0(r26) +/* 8009FA70 0009C9B0 A8 1F 30 54 */ lha r0, 0x3054(r31) +/* 8009FA74 0009C9B4 7C 03 02 14 */ add r0, r3, r0 +/* 8009FA78 0009C9B8 7C 03 07 34 */ extsh r3, r0 +/* 8009FA7C 0009C9BC 2C 03 C8 00 */ cmpwi r3, -14336 +/* 8009FA80 0009C9C0 40 80 00 0C */ bge lbl_8009FA8C +/* 8009FA84 0009C9C4 38 00 C8 00 */ li r0, -14336 +/* 8009FA88 0009C9C8 48 00 00 14 */ b lbl_8009FA9C +lbl_8009FA8C: +/* 8009FA8C 0009C9CC 2C 03 38 00 */ cmpwi r3, 0x3800 +/* 8009FA90 0009C9D0 38 00 38 00 */ li r0, 0x3800 +/* 8009FA94 0009C9D4 41 81 00 08 */ bgt lbl_8009FA9C +/* 8009FA98 0009C9D8 7C 60 1B 78 */ mr r0, r3 +lbl_8009FA9C: +/* 8009FA9C 0009C9DC B0 1A 00 00 */ sth r0, 0(r26) +/* 8009FAA0 0009C9E0 EC 3E 07 B2 */ fmuls f1, f30, f30 +/* 8009FAA4 0009C9E4 C0 01 00 BC */ lfs f0, 0xbc(r1) +/* 8009FAA8 0009C9E8 EC 00 00 32 */ fmuls f0, f0, f0 +/* 8009FAAC 0009C9EC EC 41 00 2A */ fadds f2, f1, f0 +/* 8009FAB0 0009C9F0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009FAB4 0009C9F4 FC 02 00 40 */ fcmpo cr0, f2, f0 +/* 8009FAB8 0009C9F8 40 81 00 0C */ ble lbl_8009FAC4 +/* 8009FABC 0009C9FC FC 00 10 34 */ frsqrte f0, f2 +/* 8009FAC0 0009CA00 EC 40 00 B2 */ fmuls f2, f0, f2 +lbl_8009FAC4: +/* 8009FAC4 0009CA04 C0 01 00 B8 */ lfs f0, 0xb8(r1) +/* 8009FAC8 0009CA08 EC 20 07 32 */ fmuls f1, f0, f28 +/* 8009FACC 0009CA0C C0 01 00 C0 */ lfs f0, 0xc0(r1) +/* 8009FAD0 0009CA10 EC 00 07 72 */ fmuls f0, f0, f29 +/* 8009FAD4 0009CA14 EC 01 00 28 */ fsubs f0, f1, f0 +/* 8009FAD8 0009CA18 FC 20 00 50 */ fneg f1, f0 +/* 8009FADC 0009CA1C 48 1C 7B 99 */ bl cM_atan2s +/* 8009FAE0 0009CA20 7C 60 07 34 */ extsh r0, r3 +/* 8009FAE4 0009CA24 2C 00 D8 00 */ cmpwi r0, -10240 +/* 8009FAE8 0009CA28 40 80 00 0C */ bge lbl_8009FAF4 +/* 8009FAEC 0009CA2C 38 00 D8 00 */ li r0, -10240 +/* 8009FAF0 0009CA30 48 00 00 14 */ b lbl_8009FB04 +lbl_8009FAF4: +/* 8009FAF4 0009CA34 2C 00 28 00 */ cmpwi r0, 0x2800 +/* 8009FAF8 0009CA38 38 00 28 00 */ li r0, 0x2800 +/* 8009FAFC 0009CA3C 41 81 00 08 */ bgt lbl_8009FB04 +/* 8009FB00 0009CA40 7C 60 1B 78 */ mr r0, r3 +lbl_8009FB04: +/* 8009FB04 0009CA44 7C 04 07 34 */ extsh r4, r0 +/* 8009FB08 0009CA48 80 1F 05 88 */ lwz r0, 0x588(r31) +/* 8009FB0C 0009CA4C 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 +/* 8009FB10 0009CA50 41 82 00 0C */ beq lbl_8009FB1C +/* 8009FB14 0009CA54 B0 99 00 00 */ sth r4, 0(r25) +/* 8009FB18 0009CA58 48 00 00 14 */ b lbl_8009FB2C +lbl_8009FB1C: +/* 8009FB1C 0009CA5C 7F 23 CB 78 */ mr r3, r25 +/* 8009FB20 0009CA60 38 A0 00 05 */ li r5, 5 +/* 8009FB24 0009CA64 38 C0 04 00 */ li r6, 0x400 +/* 8009FB28 0009CA68 48 1D 0A E1 */ bl cLib_addCalcAngleS2 +lbl_8009FB2C: +/* 8009FB2C 0009CA6C A8 79 00 00 */ lha r3, 0(r25) +/* 8009FB30 0009CA70 A8 1F 30 5A */ lha r0, 0x305a(r31) +/* 8009FB34 0009CA74 7C 03 02 14 */ add r0, r3, r0 +/* 8009FB38 0009CA78 7C 03 07 34 */ extsh r3, r0 +/* 8009FB3C 0009CA7C 2C 03 D8 00 */ cmpwi r3, -10240 +/* 8009FB40 0009CA80 40 80 00 0C */ bge lbl_8009FB4C +/* 8009FB44 0009CA84 38 00 D8 00 */ li r0, -10240 +/* 8009FB48 0009CA88 48 00 00 14 */ b lbl_8009FB5C +lbl_8009FB4C: +/* 8009FB4C 0009CA8C 2C 03 28 00 */ cmpwi r3, 0x2800 +/* 8009FB50 0009CA90 38 00 28 00 */ li r0, 0x2800 +/* 8009FB54 0009CA94 41 81 00 08 */ bgt lbl_8009FB5C +/* 8009FB58 0009CA98 7C 60 1B 78 */ mr r0, r3 +lbl_8009FB5C: +/* 8009FB5C 0009CA9C B0 19 00 00 */ sth r0, 0(r25) +/* 8009FB60 0009CAA0 C3 C2 93 F8 */ lfs f30, lbl_80452DF8-_SDA2_BASE_(r2) +/* 8009FB64 0009CAA4 A8 1A 00 00 */ lha r0, 0(r26) +/* 8009FB68 0009CAA8 7C 1D 00 50 */ subf r0, r29, r0 +/* 8009FB6C 0009CAAC CB E2 92 B0 */ lfd f31, lbl_80452CB0-_SDA2_BASE_(r2) +/* 8009FB70 0009CAB0 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 8009FB74 0009CAB4 90 01 00 E4 */ stw r0, 0xe4(r1) +/* 8009FB78 0009CAB8 3F 00 43 30 */ lis r24, 0x4330 +/* 8009FB7C 0009CABC 93 01 00 E0 */ stw r24, 0xe0(r1) +/* 8009FB80 0009CAC0 C8 01 00 E0 */ lfd f0, 0xe0(r1) +/* 8009FB84 0009CAC4 EC 00 F8 28 */ fsubs f0, f0, f31 +/* 8009FB88 0009CAC8 EC 1E 00 32 */ fmuls f0, f30, f0 +/* 8009FB8C 0009CACC FC 00 00 1E */ fctiwz f0, f0 +/* 8009FB90 0009CAD0 D8 01 00 E8 */ stfd f0, 0xe8(r1) +/* 8009FB94 0009CAD4 80 01 00 EC */ lwz r0, 0xec(r1) +/* 8009FB98 0009CAD8 B0 1F 30 54 */ sth r0, 0x3054(r31) +/* 8009FB9C 0009CADC A8 19 00 00 */ lha r0, 0(r25) +/* 8009FBA0 0009CAE0 7C 1C 00 50 */ subf r0, r28, r0 +/* 8009FBA4 0009CAE4 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 8009FBA8 0009CAE8 90 01 00 F4 */ stw r0, 0xf4(r1) +/* 8009FBAC 0009CAEC 93 01 00 F0 */ stw r24, 0xf0(r1) +/* 8009FBB0 0009CAF0 C8 01 00 F0 */ lfd f0, 0xf0(r1) +/* 8009FBB4 0009CAF4 EC 00 F8 28 */ fsubs f0, f0, f31 +/* 8009FBB8 0009CAF8 EC 1E 00 32 */ fmuls f0, f30, f0 +/* 8009FBBC 0009CAFC FC 00 00 1E */ fctiwz f0, f0 +/* 8009FBC0 0009CB00 D8 01 00 F8 */ stfd f0, 0xf8(r1) +/* 8009FBC4 0009CB04 80 01 00 FC */ lwz r0, 0xfc(r1) +/* 8009FBC8 0009CB08 B0 1F 30 5A */ sth r0, 0x305a(r31) +/* 8009FBCC 0009CB0C A8 7A 00 00 */ lha r3, 0(r26) +/* 8009FBD0 0009CB10 A8 1F 30 60 */ lha r0, 0x3060(r31) +/* 8009FBD4 0009CB14 7C 03 02 14 */ add r0, r3, r0 +/* 8009FBD8 0009CB18 7C 17 07 34 */ extsh r23, r0 +/* 8009FBDC 0009CB1C 3A 80 00 01 */ li r20, 1 +/* 8009FBE0 0009CB20 3A DF 30 56 */ addi r22, r31, 0x3056 +/* 8009FBE4 0009CB24 3A BF 30 5C */ addi r21, r31, 0x305c +/* 8009FBE8 0009CB28 3B 7B C8 00 */ addi r27, r27, -14336 +/* 8009FBEC 0009CB2C 3B 5A 00 02 */ addi r26, r26, 2 +/* 8009FBF0 0009CB30 3B 39 00 02 */ addi r25, r25, 2 +lbl_8009FBF4: +/* 8009FBF4 0009CB34 A8 1A FF FE */ lha r0, -2(r26) +/* 8009FBF8 0009CB38 7C 1D 00 50 */ subf r0, r29, r0 +/* 8009FBFC 0009CB3C 7C 00 07 34 */ extsh r0, r0 +/* 8009FC00 0009CB40 7C 03 0E 70 */ srawi r3, r0, 1 +/* 8009FC04 0009CB44 A8 1A 00 00 */ lha r0, 0(r26) +/* 8009FC08 0009CB48 7C 03 00 50 */ subf r0, r3, r0 +/* 8009FC0C 0009CB4C B0 1A 00 00 */ sth r0, 0(r26) +/* 8009FC10 0009CB50 A8 19 FF FE */ lha r0, -2(r25) +/* 8009FC14 0009CB54 7C 1C 00 50 */ subf r0, r28, r0 +/* 8009FC18 0009CB58 7C 00 07 34 */ extsh r0, r0 +/* 8009FC1C 0009CB5C 7C 03 0E 70 */ srawi r3, r0, 1 +/* 8009FC20 0009CB60 A8 19 00 00 */ lha r0, 0(r25) +/* 8009FC24 0009CB64 7C 03 00 50 */ subf r0, r3, r0 +/* 8009FC28 0009CB68 B0 19 00 00 */ sth r0, 0(r25) +/* 8009FC2C 0009CB6C AB BA 00 00 */ lha r29, 0(r26) +/* 8009FC30 0009CB70 AB 99 00 00 */ lha r28, 0(r25) +/* 8009FC34 0009CB74 80 1F 05 88 */ lwz r0, 0x588(r31) +/* 8009FC38 0009CB78 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 +/* 8009FC3C 0009CB7C 41 82 00 14 */ beq lbl_8009FC50 +/* 8009FC40 0009CB80 38 00 00 00 */ li r0, 0 +/* 8009FC44 0009CB84 B0 1A 00 00 */ sth r0, 0(r26) +/* 8009FC48 0009CB88 B0 19 00 00 */ sth r0, 0(r25) +/* 8009FC4C 0009CB8C 48 00 00 2C */ b lbl_8009FC78 +lbl_8009FC50: +/* 8009FC50 0009CB90 7F 43 D3 78 */ mr r3, r26 +/* 8009FC54 0009CB94 38 80 00 00 */ li r4, 0 +/* 8009FC58 0009CB98 38 A0 00 05 */ li r5, 5 +/* 8009FC5C 0009CB9C 38 C0 04 00 */ li r6, 0x400 +/* 8009FC60 0009CBA0 48 1D 09 A9 */ bl cLib_addCalcAngleS2 +/* 8009FC64 0009CBA4 7F 23 CB 78 */ mr r3, r25 +/* 8009FC68 0009CBA8 38 80 00 00 */ li r4, 0 +/* 8009FC6C 0009CBAC 38 A0 00 05 */ li r5, 5 +/* 8009FC70 0009CBB0 38 C0 04 00 */ li r6, 0x400 +/* 8009FC74 0009CBB4 48 1D 09 95 */ bl cLib_addCalcAngleS2 +lbl_8009FC78: +/* 8009FC78 0009CBB8 A8 7A 00 00 */ lha r3, 0(r26) +/* 8009FC7C 0009CBBC A8 16 00 00 */ lha r0, 0(r22) +/* 8009FC80 0009CBC0 7C 03 02 14 */ add r0, r3, r0 +/* 8009FC84 0009CBC4 7C 03 07 34 */ extsh r3, r0 +/* 8009FC88 0009CBC8 2C 03 F0 00 */ cmpwi r3, -4096 +/* 8009FC8C 0009CBCC 40 80 00 0C */ bge lbl_8009FC98 +/* 8009FC90 0009CBD0 38 00 F0 00 */ li r0, -4096 +/* 8009FC94 0009CBD4 48 00 00 14 */ b lbl_8009FCA8 +lbl_8009FC98: +/* 8009FC98 0009CBD8 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 8009FC9C 0009CBDC 38 00 10 00 */ li r0, 0x1000 +/* 8009FCA0 0009CBE0 41 81 00 08 */ bgt lbl_8009FCA8 +/* 8009FCA4 0009CBE4 7C 60 1B 78 */ mr r0, r3 +lbl_8009FCA8: +/* 8009FCA8 0009CBE8 B0 1A 00 00 */ sth r0, 0(r26) +/* 8009FCAC 0009CBEC A8 7A 00 00 */ lha r3, 0(r26) +/* 8009FCB0 0009CBF0 7E F7 1A 14 */ add r23, r23, r3 +/* 8009FCB4 0009CBF4 7E E0 07 34 */ extsh r0, r23 +/* 8009FCB8 0009CBF8 7C 00 D8 00 */ cmpw r0, r27 +/* 8009FCBC 0009CBFC 40 80 00 14 */ bge lbl_8009FCD0 +/* 8009FCC0 0009CC00 7C 00 D8 50 */ subf r0, r0, r27 +/* 8009FCC4 0009CC04 7C 03 02 14 */ add r0, r3, r0 +/* 8009FCC8 0009CC08 B0 1A 00 00 */ sth r0, 0(r26) +/* 8009FCCC 0009CC0C 7F 77 07 34 */ extsh r23, r27 +lbl_8009FCD0: +/* 8009FCD0 0009CC10 A8 79 00 00 */ lha r3, 0(r25) +/* 8009FCD4 0009CC14 A8 15 00 00 */ lha r0, 0(r21) +/* 8009FCD8 0009CC18 7C 03 02 14 */ add r0, r3, r0 +/* 8009FCDC 0009CC1C 7C 03 07 34 */ extsh r3, r0 +/* 8009FCE0 0009CC20 2C 03 E0 00 */ cmpwi r3, -8192 +/* 8009FCE4 0009CC24 40 80 00 0C */ bge lbl_8009FCF0 +/* 8009FCE8 0009CC28 38 00 E0 00 */ li r0, -8192 +/* 8009FCEC 0009CC2C 48 00 00 14 */ b lbl_8009FD00 +lbl_8009FCF0: +/* 8009FCF0 0009CC30 2C 03 20 00 */ cmpwi r3, 0x2000 +/* 8009FCF4 0009CC34 38 00 20 00 */ li r0, 0x2000 +/* 8009FCF8 0009CC38 41 81 00 08 */ bgt lbl_8009FD00 +/* 8009FCFC 0009CC3C 7C 60 1B 78 */ mr r0, r3 +lbl_8009FD00: +/* 8009FD00 0009CC40 B0 19 00 00 */ sth r0, 0(r25) +/* 8009FD04 0009CC44 A8 1A 00 00 */ lha r0, 0(r26) +/* 8009FD08 0009CC48 7C 1D 00 50 */ subf r0, r29, r0 +/* 8009FD0C 0009CC4C 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 8009FD10 0009CC50 90 01 00 FC */ stw r0, 0xfc(r1) +/* 8009FD14 0009CC54 93 01 00 F8 */ stw r24, 0xf8(r1) +/* 8009FD18 0009CC58 C8 01 00 F8 */ lfd f0, 0xf8(r1) +/* 8009FD1C 0009CC5C EC 00 F8 28 */ fsubs f0, f0, f31 +/* 8009FD20 0009CC60 EC 1E 00 32 */ fmuls f0, f30, f0 +/* 8009FD24 0009CC64 FC 00 00 1E */ fctiwz f0, f0 +/* 8009FD28 0009CC68 D8 01 00 F0 */ stfd f0, 0xf0(r1) +/* 8009FD2C 0009CC6C 80 01 00 F4 */ lwz r0, 0xf4(r1) +/* 8009FD30 0009CC70 B0 16 00 00 */ sth r0, 0(r22) +/* 8009FD34 0009CC74 A8 19 00 00 */ lha r0, 0(r25) +/* 8009FD38 0009CC78 7C 1C 00 50 */ subf r0, r28, r0 +/* 8009FD3C 0009CC7C 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 8009FD40 0009CC80 90 01 00 EC */ stw r0, 0xec(r1) +/* 8009FD44 0009CC84 93 01 00 E8 */ stw r24, 0xe8(r1) +/* 8009FD48 0009CC88 C8 01 00 E8 */ lfd f0, 0xe8(r1) +/* 8009FD4C 0009CC8C EC 00 F8 28 */ fsubs f0, f0, f31 +/* 8009FD50 0009CC90 EC 1E 00 32 */ fmuls f0, f30, f0 +/* 8009FD54 0009CC94 FC 00 00 1E */ fctiwz f0, f0 +/* 8009FD58 0009CC98 D8 01 00 E0 */ stfd f0, 0xe0(r1) +/* 8009FD5C 0009CC9C 80 01 00 E4 */ lwz r0, 0xe4(r1) +/* 8009FD60 0009CCA0 B0 15 00 00 */ sth r0, 0(r21) +/* 8009FD64 0009CCA4 3A 94 00 01 */ addi r20, r20, 1 +/* 8009FD68 0009CCA8 2C 14 00 03 */ cmpwi r20, 3 +/* 8009FD6C 0009CCAC 3B 5A 00 02 */ addi r26, r26, 2 +/* 8009FD70 0009CCB0 3B 39 00 02 */ addi r25, r25, 2 +/* 8009FD74 0009CCB4 3A D6 00 02 */ addi r22, r22, 2 +/* 8009FD78 0009CCB8 3A B5 00 02 */ addi r21, r21, 2 +/* 8009FD7C 0009CCBC 41 80 FE 78 */ blt lbl_8009FBF4 +/* 8009FD80 0009CCC0 38 7F 34 C8 */ addi r3, r31, 0x34c8 +/* 8009FD84 0009CCC4 38 81 00 C4 */ addi r4, r1, 0xc4 +/* 8009FD88 0009CCC8 48 2A 76 15 */ bl PSVECSquareDistance +/* 8009FD8C 0009CCCC C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 8009FD90 0009CCD0 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009FD94 0009CCD4 40 81 00 58 */ ble lbl_8009FDEC +/* 8009FD98 0009CCD8 FC 00 08 34 */ frsqrte f0, f1 +/* 8009FD9C 0009CCDC C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) +/* 8009FDA0 0009CCE0 FC 44 00 32 */ fmul f2, f4, f0 +/* 8009FDA4 0009CCE4 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) +/* 8009FDA8 0009CCE8 FC 00 00 32 */ fmul f0, f0, f0 +/* 8009FDAC 0009CCEC FC 01 00 32 */ fmul f0, f1, f0 +/* 8009FDB0 0009CCF0 FC 03 00 28 */ fsub f0, f3, f0 +/* 8009FDB4 0009CCF4 FC 02 00 32 */ fmul f0, f2, f0 +/* 8009FDB8 0009CCF8 FC 44 00 32 */ fmul f2, f4, f0 +/* 8009FDBC 0009CCFC FC 00 00 32 */ fmul f0, f0, f0 +/* 8009FDC0 0009CD00 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009FDC4 0009CD04 FC 03 00 28 */ fsub f0, f3, f0 +/* 8009FDC8 0009CD08 FC 02 00 32 */ fmul f0, f2, f0 +/* 8009FDCC 0009CD0C FC 44 00 32 */ fmul f2, f4, f0 +/* 8009FDD0 0009CD10 FC 00 00 32 */ fmul f0, f0, f0 +/* 8009FDD4 0009CD14 FC 01 00 32 */ fmul f0, f1, f0 +/* 8009FDD8 0009CD18 FC 03 00 28 */ fsub f0, f3, f0 +/* 8009FDDC 0009CD1C FC 02 00 32 */ fmul f0, f2, f0 +/* 8009FDE0 0009CD20 FC 21 00 32 */ fmul f1, f1, f0 +/* 8009FDE4 0009CD24 FC 20 08 18 */ frsp f1, f1 +/* 8009FDE8 0009CD28 48 00 00 88 */ b lbl_8009FE70 +lbl_8009FDEC: +/* 8009FDEC 0009CD2C C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) +/* 8009FDF0 0009CD30 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 8009FDF4 0009CD34 40 80 00 10 */ bge lbl_8009FE04 +/* 8009FDF8 0009CD38 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 8009FDFC 0009CD3C C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) +/* 8009FE00 0009CD40 48 00 00 70 */ b lbl_8009FE70 +lbl_8009FE04: +/* 8009FE04 0009CD44 D0 21 00 08 */ stfs f1, 8(r1) +/* 8009FE08 0009CD48 80 81 00 08 */ lwz r4, 8(r1) +/* 8009FE0C 0009CD4C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 +/* 8009FE10 0009CD50 3C 00 7F 80 */ lis r0, 0x7f80 +/* 8009FE14 0009CD54 7C 03 00 00 */ cmpw r3, r0 +/* 8009FE18 0009CD58 41 82 00 14 */ beq lbl_8009FE2C +/* 8009FE1C 0009CD5C 40 80 00 40 */ bge lbl_8009FE5C +/* 8009FE20 0009CD60 2C 03 00 00 */ cmpwi r3, 0 +/* 8009FE24 0009CD64 41 82 00 20 */ beq lbl_8009FE44 +/* 8009FE28 0009CD68 48 00 00 34 */ b lbl_8009FE5C +lbl_8009FE2C: +/* 8009FE2C 0009CD6C 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 8009FE30 0009CD70 41 82 00 0C */ beq lbl_8009FE3C +/* 8009FE34 0009CD74 38 00 00 01 */ li r0, 1 +/* 8009FE38 0009CD78 48 00 00 28 */ b lbl_8009FE60 +lbl_8009FE3C: +/* 8009FE3C 0009CD7C 38 00 00 02 */ li r0, 2 +/* 8009FE40 0009CD80 48 00 00 20 */ b lbl_8009FE60 +lbl_8009FE44: +/* 8009FE44 0009CD84 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 8009FE48 0009CD88 41 82 00 0C */ beq lbl_8009FE54 +/* 8009FE4C 0009CD8C 38 00 00 05 */ li r0, 5 +/* 8009FE50 0009CD90 48 00 00 10 */ b lbl_8009FE60 +lbl_8009FE54: +/* 8009FE54 0009CD94 38 00 00 03 */ li r0, 3 +/* 8009FE58 0009CD98 48 00 00 08 */ b lbl_8009FE60 +lbl_8009FE5C: +/* 8009FE5C 0009CD9C 38 00 00 04 */ li r0, 4 +lbl_8009FE60: +/* 8009FE60 0009CDA0 2C 00 00 01 */ cmpwi r0, 1 +/* 8009FE64 0009CDA4 40 82 00 0C */ bne lbl_8009FE70 +/* 8009FE68 0009CDA8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 8009FE6C 0009CDAC C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) +lbl_8009FE70: +/* 8009FE70 0009CDB0 C0 02 97 00 */ lfs f0, lbl_80453100-_SDA2_BASE_(r2) +/* 8009FE74 0009CDB4 EC 00 00 72 */ fmuls f0, f0, f1 +/* 8009FE78 0009CDB8 EC 3B 00 2A */ fadds f1, f27, f0 +/* 8009FE7C 0009CDBC C0 02 92 E0 */ lfs f0, lbl_80452CE0-_SDA2_BASE_(r2) +/* 8009FE80 0009CDC0 EC 41 00 24 */ fdivs f2, f1, f0 +/* 8009FE84 0009CDC4 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) +/* 8009FE88 0009CDC8 FC 02 00 40 */ fcmpo cr0, f2, f0 +/* 8009FE8C 0009CDCC 40 81 00 08 */ ble lbl_8009FE94 +/* 8009FE90 0009CDD0 FC 40 00 90 */ fmr f2, f0 +lbl_8009FE94: +/* 8009FE94 0009CDD4 FC 80 10 90 */ fmr f4, f2 +/* 8009FE98 0009CDD8 2C 1E 00 00 */ cmpwi r30, 0 +/* 8009FE9C 0009CDDC 41 82 00 18 */ beq lbl_8009FEB4 +/* 8009FEA0 0009CDE0 80 1F 05 78 */ lwz r0, 0x578(r31) +/* 8009FEA4 0009CDE4 54 00 02 D9 */ rlwinm. r0, r0, 0, 0xb, 0xc +/* 8009FEA8 0009CDE8 40 82 00 0C */ bne lbl_8009FEB4 +/* 8009FEAC 0009CDEC C0 42 96 58 */ lfs f2, lbl_80453058-_SDA2_BASE_(r2) +/* 8009FEB0 0009CDF0 C0 82 92 B8 */ lfs f4, lbl_80452CB8-_SDA2_BASE_(r2) +lbl_8009FEB4: +/* 8009FEB4 0009CDF4 C0 22 95 0C */ lfs f1, lbl_80452F0C-_SDA2_BASE_(r2) +/* 8009FEB8 0009CDF8 C0 02 97 F4 */ lfs f0, lbl_804531F4-_SDA2_BASE_(r2) +/* 8009FEBC 0009CDFC EC 00 00 B2 */ fmuls f0, f0, f2 +/* 8009FEC0 0009CE00 EC 01 00 2A */ fadds f0, f1, f0 +/* 8009FEC4 0009CE04 FC 00 00 1E */ fctiwz f0, f0 +/* 8009FEC8 0009CE08 D8 01 00 F8 */ stfd f0, 0xf8(r1) +/* 8009FECC 0009CE0C 80 81 00 FC */ lwz r4, 0xfc(r1) +/* 8009FED0 0009CE10 A8 1F 30 64 */ lha r0, 0x3064(r31) +/* 8009FED4 0009CE14 7C 00 22 14 */ add r0, r0, r4 +/* 8009FED8 0009CE18 B0 1F 30 64 */ sth r0, 0x3064(r31) +/* 8009FEDC 0009CE1C 39 00 00 00 */ li r8, 0 +/* 8009FEE0 0009CE20 38 60 00 00 */ li r3, 0 +/* 8009FEE4 0009CE24 7C 87 07 34 */ extsh r7, r4 +/* 8009FEE8 0009CE28 3C 80 80 44 */ lis r4, lbl_80439A20@ha +/* 8009FEEC 0009CE2C 38 C4 9A 20 */ addi r6, r4, lbl_80439A20@l +/* 8009FEF0 0009CE30 C0 42 94 D4 */ lfs f2, lbl_80452ED4-_SDA2_BASE_(r2) +/* 8009FEF4 0009CE34 C8 22 92 B0 */ lfd f1, lbl_80452CB0-_SDA2_BASE_(r2) +/* 8009FEF8 0009CE38 3C A0 43 30 */ lis r5, 0x4330 +/* 8009FEFC 0009CE3C 38 00 00 03 */ li r0, 3 +/* 8009FF00 0009CE40 7C 09 03 A6 */ mtctr r0 +lbl_8009FF04: +/* 8009FF04 0009CE44 38 08 00 03 */ addi r0, r8, 3 +/* 8009FF08 0009CE48 7C 80 39 D6 */ mullw r4, r0, r7 +/* 8009FF0C 0009CE4C A8 1F 30 64 */ lha r0, 0x3064(r31) +/* 8009FF10 0009CE50 7C 04 00 50 */ subf r0, r4, r0 +/* 8009FF14 0009CE54 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c +/* 8009FF18 0009CE58 7C 86 02 14 */ add r4, r6, r0 +/* 8009FF1C 0009CE5C C0 64 00 04 */ lfs f3, 4(r4) +/* 8009FF20 0009CE60 38 08 00 01 */ addi r0, r8, 1 +/* 8009FF24 0009CE64 54 00 10 3A */ slwi r0, r0, 2 +/* 8009FF28 0009CE68 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 8009FF2C 0009CE6C 90 01 00 FC */ stw r0, 0xfc(r1) +/* 8009FF30 0009CE70 90 A1 00 F8 */ stw r5, 0xf8(r1) +/* 8009FF34 0009CE74 C8 01 00 F8 */ lfd f0, 0xf8(r1) +/* 8009FF38 0009CE78 EC 00 08 28 */ fsubs f0, f0, f1 +/* 8009FF3C 0009CE7C EC 02 00 32 */ fmuls f0, f2, f0 +/* 8009FF40 0009CE80 FC 00 00 1E */ fctiwz f0, f0 +/* 8009FF44 0009CE84 D8 01 00 F0 */ stfd f0, 0xf0(r1) +/* 8009FF48 0009CE88 80 01 00 F4 */ lwz r0, 0xf4(r1) +/* 8009FF4C 0009CE8C 7C 00 07 34 */ extsh r0, r0 +/* 8009FF50 0009CE90 6C 00 80 00 */ xoris r0, r0, 0x8000 +/* 8009FF54 0009CE94 90 01 00 EC */ stw r0, 0xec(r1) +/* 8009FF58 0009CE98 90 A1 00 E8 */ stw r5, 0xe8(r1) +/* 8009FF5C 0009CE9C C8 01 00 E8 */ lfd f0, 0xe8(r1) +/* 8009FF60 0009CEA0 EC 00 08 28 */ fsubs f0, f0, f1 +/* 8009FF64 0009CEA4 EC 04 00 32 */ fmuls f0, f4, f0 +/* 8009FF68 0009CEA8 EC 00 00 F2 */ fmuls f0, f0, f3 +/* 8009FF6C 0009CEAC FC 00 00 1E */ fctiwz f0, f0 +/* 8009FF70 0009CEB0 D8 01 00 E0 */ stfd f0, 0xe0(r1) +/* 8009FF74 0009CEB4 80 81 00 E4 */ lwz r4, 0xe4(r1) +/* 8009FF78 0009CEB8 38 03 30 66 */ addi r0, r3, 0x3066 +/* 8009FF7C 0009CEBC 7C 9F 03 2E */ sthx r4, r31, r0 +/* 8009FF80 0009CEC0 39 08 00 01 */ addi r8, r8, 1 +/* 8009FF84 0009CEC4 38 63 00 02 */ addi r3, r3, 2 +/* 8009FF88 0009CEC8 42 00 FF 7C */ bdnz lbl_8009FF04 +/* 8009FF8C 0009CECC C0 01 00 C4 */ lfs f0, 0xc4(r1) +/* 8009FF90 0009CED0 D0 1F 34 C8 */ stfs f0, 0x34c8(r31) +/* 8009FF94 0009CED4 C0 01 00 C8 */ lfs f0, 0xc8(r1) +/* 8009FF98 0009CED8 D0 1F 34 CC */ stfs f0, 0x34cc(r31) +/* 8009FF9C 0009CEDC C0 01 00 CC */ lfs f0, 0xcc(r1) +/* 8009FFA0 0009CEE0 D0 1F 34 D0 */ stfs f0, 0x34d0(r31) +/* 8009FFA4 0009CEE4 7F E3 FB 78 */ mr r3, r31 +/* 8009FFA8 0009CEE8 38 81 00 B8 */ addi r4, r1, 0xb8 +/* 8009FFAC 0009CEEC FC 20 E8 90 */ fmr f1, f29 +/* 8009FFB0 0009CEF0 FC 40 E0 90 */ fmr f2, f28 +/* 8009FFB4 0009CEF4 48 00 00 79 */ bl setHairAngle__9daAlink_cFP4cXyzff +lbl_8009FFB8: +/* 8009FFB8 0009CEF8 E3 E1 01 78 */ psq_l f31, 376(r1), 0, 0 +/* 8009FFBC 0009CEFC CB E1 01 70 */ lfd f31, 0x170(r1) +/* 8009FFC0 0009CF00 E3 C1 01 68 */ psq_l f30, 360(r1), 0, 0 +/* 8009FFC4 0009CF04 CB C1 01 60 */ lfd f30, 0x160(r1) +/* 8009FFC8 0009CF08 E3 A1 01 58 */ psq_l f29, 344(r1), 0, 0 +/* 8009FFCC 0009CF0C CB A1 01 50 */ lfd f29, 0x150(r1) +/* 8009FFD0 0009CF10 E3 81 01 48 */ psq_l f28, 328(r1), 0, 0 +/* 8009FFD4 0009CF14 CB 81 01 40 */ lfd f28, 0x140(r1) +/* 8009FFD8 0009CF18 E3 61 01 38 */ psq_l f27, 312(r1), 0, 0 +/* 8009FFDC 0009CF1C CB 61 01 30 */ lfd f27, 0x130(r1) +/* 8009FFE0 0009CF20 39 61 01 30 */ addi r11, r1, 0x130 +/* 8009FFE4 0009CF24 48 2C 22 21 */ bl func_80362204 +/* 8009FFE8 0009CF28 80 01 01 84 */ lwz r0, 0x184(r1) +/* 8009FFEC 0009CF2C 7C 08 03 A6 */ mtlr r0 +/* 8009FFF0 0009CF30 38 21 01 80 */ addi r1, r1, 0x180 +/* 8009FFF4 0009CF34 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_8009FFF8.s b/include/d/d_a/d_a_alink/asm/func_8009FFF8.s new file mode 100644 index 00000000000..85b94d534b8 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_8009FFF8.s @@ -0,0 +1,13 @@ +/* 8009FFF8 0009CF38 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8009FFFC 0009CF3C 7C 08 02 A6 */ mflr r0 +/* 800A0000 0009CF40 90 01 00 14 */ stw r0, 0x14(r1) +/* 800A0004 0009CF44 7C 83 23 78 */ mr r3, r4 +/* 800A0008 0009CF48 38 80 00 00 */ li r4, 0 +/* 800A000C 0009CF4C 38 A0 00 05 */ li r5, 5 +/* 800A0010 0009CF50 38 C0 01 90 */ li r6, 0x190 +/* 800A0014 0009CF54 38 E0 00 32 */ li r7, 0x32 +/* 800A0018 0009CF58 48 1D 05 29 */ bl cLib_addCalcAngleS +/* 800A001C 0009CF5C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800A0020 0009CF60 7C 08 03 A6 */ mtlr r0 +/* 800A0024 0009CF64 38 21 00 10 */ addi r1, r1, 0x10 +/* 800A0028 0009CF68 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_800A002C.s b/include/d/d_a/d_a_alink/asm/func_800A002C.s new file mode 100644 index 00000000000..208a5356a43 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_800A002C.s @@ -0,0 +1,482 @@ +/* 800A002C 0009CF6C 94 21 FF 60 */ stwu r1, -0xa0(r1) +/* 800A0030 0009CF70 7C 08 02 A6 */ mflr r0 +/* 800A0034 0009CF74 90 01 00 A4 */ stw r0, 0xa4(r1) +/* 800A0038 0009CF78 DB E1 00 90 */ stfd f31, 0x90(r1) +/* 800A003C 0009CF7C F3 E1 00 98 */ psq_st f31, 152(r1), 0, 0 +/* 800A0040 0009CF80 DB C1 00 80 */ stfd f30, 0x80(r1) +/* 800A0044 0009CF84 F3 C1 00 88 */ psq_st f30, 136(r1), 0, 0 +/* 800A0048 0009CF88 DB A1 00 70 */ stfd f29, 0x70(r1) +/* 800A004C 0009CF8C F3 A1 00 78 */ psq_st f29, 120(r1), 0, 0 +/* 800A0050 0009CF90 DB 81 00 60 */ stfd f28, 0x60(r1) +/* 800A0054 0009CF94 F3 81 00 68 */ psq_st f28, 104(r1), 0, 0 +/* 800A0058 0009CF98 DB 61 00 50 */ stfd f27, 0x50(r1) +/* 800A005C 0009CF9C F3 61 00 58 */ psq_st f27, 88(r1), 0, 0 +/* 800A0060 0009CFA0 93 E1 00 4C */ stw r31, 0x4c(r1) +/* 800A0064 0009CFA4 93 C1 00 48 */ stw r30, 0x48(r1) +/* 800A0068 0009CFA8 7C 7E 1B 78 */ mr r30, r3 +/* 800A006C 0009CFAC 7C 9F 23 78 */ mr r31, r4 +/* 800A0070 0009CFB0 FF 80 08 90 */ fmr f28, f1 +/* 800A0074 0009CFB4 FF A0 10 90 */ fmr f29, f2 +/* 800A0078 0009CFB8 7F E3 FB 78 */ mr r3, r31 +/* 800A007C 0009CFBC 48 2A 70 BD */ bl PSVECSquareMag +/* 800A0080 0009CFC0 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 800A0084 0009CFC4 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A0088 0009CFC8 40 81 00 58 */ ble lbl_800A00E0 +/* 800A008C 0009CFCC FC 00 08 34 */ frsqrte f0, f1 +/* 800A0090 0009CFD0 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) +/* 800A0094 0009CFD4 FC 44 00 32 */ fmul f2, f4, f0 +/* 800A0098 0009CFD8 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) +/* 800A009C 0009CFDC FC 00 00 32 */ fmul f0, f0, f0 +/* 800A00A0 0009CFE0 FC 01 00 32 */ fmul f0, f1, f0 +/* 800A00A4 0009CFE4 FC 03 00 28 */ fsub f0, f3, f0 +/* 800A00A8 0009CFE8 FC 02 00 32 */ fmul f0, f2, f0 +/* 800A00AC 0009CFEC FC 44 00 32 */ fmul f2, f4, f0 +/* 800A00B0 0009CFF0 FC 00 00 32 */ fmul f0, f0, f0 +/* 800A00B4 0009CFF4 FC 01 00 32 */ fmul f0, f1, f0 +/* 800A00B8 0009CFF8 FC 03 00 28 */ fsub f0, f3, f0 +/* 800A00BC 0009CFFC FC 02 00 32 */ fmul f0, f2, f0 +/* 800A00C0 0009D000 FC 44 00 32 */ fmul f2, f4, f0 +/* 800A00C4 0009D004 FC 00 00 32 */ fmul f0, f0, f0 +/* 800A00C8 0009D008 FC 01 00 32 */ fmul f0, f1, f0 +/* 800A00CC 0009D00C FC 03 00 28 */ fsub f0, f3, f0 +/* 800A00D0 0009D010 FC 02 00 32 */ fmul f0, f2, f0 +/* 800A00D4 0009D014 FF E1 00 32 */ fmul f31, f1, f0 +/* 800A00D8 0009D018 FF E0 F8 18 */ frsp f31, f31 +/* 800A00DC 0009D01C 48 00 00 90 */ b lbl_800A016C +lbl_800A00E0: +/* 800A00E0 0009D020 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) +/* 800A00E4 0009D024 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A00E8 0009D028 40 80 00 10 */ bge lbl_800A00F8 +/* 800A00EC 0009D02C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 800A00F0 0009D030 C3 E3 0A E0 */ lfs f31, lbl_80450AE0@l(r3) +/* 800A00F4 0009D034 48 00 00 78 */ b lbl_800A016C +lbl_800A00F8: +/* 800A00F8 0009D038 D0 21 00 0C */ stfs f1, 0xc(r1) +/* 800A00FC 0009D03C 80 81 00 0C */ lwz r4, 0xc(r1) +/* 800A0100 0009D040 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 +/* 800A0104 0009D044 3C 00 7F 80 */ lis r0, 0x7f80 +/* 800A0108 0009D048 7C 03 00 00 */ cmpw r3, r0 +/* 800A010C 0009D04C 41 82 00 14 */ beq lbl_800A0120 +/* 800A0110 0009D050 40 80 00 40 */ bge lbl_800A0150 +/* 800A0114 0009D054 2C 03 00 00 */ cmpwi r3, 0 +/* 800A0118 0009D058 41 82 00 20 */ beq lbl_800A0138 +/* 800A011C 0009D05C 48 00 00 34 */ b lbl_800A0150 +lbl_800A0120: +/* 800A0120 0009D060 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 800A0124 0009D064 41 82 00 0C */ beq lbl_800A0130 +/* 800A0128 0009D068 38 00 00 01 */ li r0, 1 +/* 800A012C 0009D06C 48 00 00 28 */ b lbl_800A0154 +lbl_800A0130: +/* 800A0130 0009D070 38 00 00 02 */ li r0, 2 +/* 800A0134 0009D074 48 00 00 20 */ b lbl_800A0154 +lbl_800A0138: +/* 800A0138 0009D078 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 800A013C 0009D07C 41 82 00 0C */ beq lbl_800A0148 +/* 800A0140 0009D080 38 00 00 05 */ li r0, 5 +/* 800A0144 0009D084 48 00 00 10 */ b lbl_800A0154 +lbl_800A0148: +/* 800A0148 0009D088 38 00 00 03 */ li r0, 3 +/* 800A014C 0009D08C 48 00 00 08 */ b lbl_800A0154 +lbl_800A0150: +/* 800A0150 0009D090 38 00 00 04 */ li r0, 4 +lbl_800A0154: +/* 800A0154 0009D094 2C 00 00 01 */ cmpwi r0, 1 +/* 800A0158 0009D098 40 82 00 10 */ bne lbl_800A0168 +/* 800A015C 0009D09C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 800A0160 0009D0A0 C3 E3 0A E0 */ lfs f31, lbl_80450AE0@l(r3) +/* 800A0164 0009D0A4 48 00 00 08 */ b lbl_800A016C +lbl_800A0168: +/* 800A0168 0009D0A8 FF E0 08 90 */ fmr f31, f1 +lbl_800A016C: +/* 800A016C 0009D0AC C0 3F 00 08 */ lfs f1, 8(r31) +/* 800A0170 0009D0B0 C0 1F 00 00 */ lfs f0, 0(r31) +/* 800A0174 0009D0B4 D0 01 00 10 */ stfs f0, 0x10(r1) +/* 800A0178 0009D0B8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 800A017C 0009D0BC D0 01 00 14 */ stfs f0, 0x14(r1) +/* 800A0180 0009D0C0 D0 21 00 18 */ stfs f1, 0x18(r1) +/* 800A0184 0009D0C4 38 61 00 10 */ addi r3, r1, 0x10 +/* 800A0188 0009D0C8 48 2A 6F B1 */ bl PSVECSquareMag +/* 800A018C 0009D0CC C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 800A0190 0009D0D0 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A0194 0009D0D4 40 81 00 58 */ ble lbl_800A01EC +/* 800A0198 0009D0D8 FC 00 08 34 */ frsqrte f0, f1 +/* 800A019C 0009D0DC C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) +/* 800A01A0 0009D0E0 FC 44 00 32 */ fmul f2, f4, f0 +/* 800A01A4 0009D0E4 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) +/* 800A01A8 0009D0E8 FC 00 00 32 */ fmul f0, f0, f0 +/* 800A01AC 0009D0EC FC 01 00 32 */ fmul f0, f1, f0 +/* 800A01B0 0009D0F0 FC 03 00 28 */ fsub f0, f3, f0 +/* 800A01B4 0009D0F4 FC 02 00 32 */ fmul f0, f2, f0 +/* 800A01B8 0009D0F8 FC 44 00 32 */ fmul f2, f4, f0 +/* 800A01BC 0009D0FC FC 00 00 32 */ fmul f0, f0, f0 +/* 800A01C0 0009D100 FC 01 00 32 */ fmul f0, f1, f0 +/* 800A01C4 0009D104 FC 03 00 28 */ fsub f0, f3, f0 +/* 800A01C8 0009D108 FC 02 00 32 */ fmul f0, f2, f0 +/* 800A01CC 0009D10C FC 44 00 32 */ fmul f2, f4, f0 +/* 800A01D0 0009D110 FC 00 00 32 */ fmul f0, f0, f0 +/* 800A01D4 0009D114 FC 01 00 32 */ fmul f0, f1, f0 +/* 800A01D8 0009D118 FC 03 00 28 */ fsub f0, f3, f0 +/* 800A01DC 0009D11C FC 02 00 32 */ fmul f0, f2, f0 +/* 800A01E0 0009D120 FF C1 00 32 */ fmul f30, f1, f0 +/* 800A01E4 0009D124 FF C0 F0 18 */ frsp f30, f30 +/* 800A01E8 0009D128 48 00 00 90 */ b lbl_800A0278 +lbl_800A01EC: +/* 800A01EC 0009D12C C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) +/* 800A01F0 0009D130 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A01F4 0009D134 40 80 00 10 */ bge lbl_800A0204 +/* 800A01F8 0009D138 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 800A01FC 0009D13C C3 C3 0A E0 */ lfs f30, lbl_80450AE0@l(r3) +/* 800A0200 0009D140 48 00 00 78 */ b lbl_800A0278 +lbl_800A0204: +/* 800A0204 0009D144 D0 21 00 08 */ stfs f1, 8(r1) +/* 800A0208 0009D148 80 81 00 08 */ lwz r4, 8(r1) +/* 800A020C 0009D14C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 +/* 800A0210 0009D150 3C 00 7F 80 */ lis r0, 0x7f80 +/* 800A0214 0009D154 7C 03 00 00 */ cmpw r3, r0 +/* 800A0218 0009D158 41 82 00 14 */ beq lbl_800A022C +/* 800A021C 0009D15C 40 80 00 40 */ bge lbl_800A025C +/* 800A0220 0009D160 2C 03 00 00 */ cmpwi r3, 0 +/* 800A0224 0009D164 41 82 00 20 */ beq lbl_800A0244 +/* 800A0228 0009D168 48 00 00 34 */ b lbl_800A025C +lbl_800A022C: +/* 800A022C 0009D16C 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 800A0230 0009D170 41 82 00 0C */ beq lbl_800A023C +/* 800A0234 0009D174 38 00 00 01 */ li r0, 1 +/* 800A0238 0009D178 48 00 00 28 */ b lbl_800A0260 +lbl_800A023C: +/* 800A023C 0009D17C 38 00 00 02 */ li r0, 2 +/* 800A0240 0009D180 48 00 00 20 */ b lbl_800A0260 +lbl_800A0244: +/* 800A0244 0009D184 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 800A0248 0009D188 41 82 00 0C */ beq lbl_800A0254 +/* 800A024C 0009D18C 38 00 00 05 */ li r0, 5 +/* 800A0250 0009D190 48 00 00 10 */ b lbl_800A0260 +lbl_800A0254: +/* 800A0254 0009D194 38 00 00 03 */ li r0, 3 +/* 800A0258 0009D198 48 00 00 08 */ b lbl_800A0260 +lbl_800A025C: +/* 800A025C 0009D19C 38 00 00 04 */ li r0, 4 +lbl_800A0260: +/* 800A0260 0009D1A0 2C 00 00 01 */ cmpwi r0, 1 +/* 800A0264 0009D1A4 40 82 00 10 */ bne lbl_800A0274 +/* 800A0268 0009D1A8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 800A026C 0009D1AC C3 C3 0A E0 */ lfs f30, lbl_80450AE0@l(r3) +/* 800A0270 0009D1B0 48 00 00 08 */ b lbl_800A0278 +lbl_800A0274: +/* 800A0274 0009D1B4 FF C0 08 90 */ fmr f30, f1 +lbl_800A0278: +/* 800A0278 0009D1B8 C0 22 92 B8 */ lfs f1, lbl_80452CB8-_SDA2_BASE_(r2) +/* 800A027C 0009D1BC FC 1F 08 40 */ fcmpo cr0, f31, f1 +/* 800A0280 0009D1C0 41 80 00 0C */ blt lbl_800A028C +/* 800A0284 0009D1C4 FC 1E 08 40 */ fcmpo cr0, f30, f1 +/* 800A0288 0009D1C8 40 80 00 94 */ bge lbl_800A031C +lbl_800A028C: +/* 800A028C 0009D1CC 7F C3 F3 78 */ mr r3, r30 +/* 800A0290 0009D1D0 38 9E 30 2E */ addi r4, r30, 0x302e +/* 800A0294 0009D1D4 4B FF FD 65 */ bl calcHairAngle__9daAlink_cFPs +/* 800A0298 0009D1D8 7F C3 F3 78 */ mr r3, r30 +/* 800A029C 0009D1DC 38 9E 30 42 */ addi r4, r30, 0x3042 +/* 800A02A0 0009D1E0 4B FF FD 59 */ bl calcHairAngle__9daAlink_cFPs +/* 800A02A4 0009D1E4 7F C3 F3 78 */ mr r3, r30 +/* 800A02A8 0009D1E8 38 9E 30 30 */ addi r4, r30, 0x3030 +/* 800A02AC 0009D1EC 4B FF FD 4D */ bl calcHairAngle__9daAlink_cFPs +/* 800A02B0 0009D1F0 7F C3 F3 78 */ mr r3, r30 +/* 800A02B4 0009D1F4 38 9E 30 44 */ addi r4, r30, 0x3044 +/* 800A02B8 0009D1F8 4B FF FD 41 */ bl calcHairAngle__9daAlink_cFPs +/* 800A02BC 0009D1FC 7F C3 F3 78 */ mr r3, r30 +/* 800A02C0 0009D200 38 9E 30 32 */ addi r4, r30, 0x3032 +/* 800A02C4 0009D204 4B FF FD 35 */ bl calcHairAngle__9daAlink_cFPs +/* 800A02C8 0009D208 7F C3 F3 78 */ mr r3, r30 +/* 800A02CC 0009D20C 38 9E 30 46 */ addi r4, r30, 0x3046 +/* 800A02D0 0009D210 4B FF FD 29 */ bl calcHairAngle__9daAlink_cFPs +/* 800A02D4 0009D214 7F C3 F3 78 */ mr r3, r30 +/* 800A02D8 0009D218 38 9E 30 34 */ addi r4, r30, 0x3034 +/* 800A02DC 0009D21C 4B FF FD 1D */ bl calcHairAngle__9daAlink_cFPs +/* 800A02E0 0009D220 7F C3 F3 78 */ mr r3, r30 +/* 800A02E4 0009D224 38 9E 30 48 */ addi r4, r30, 0x3048 +/* 800A02E8 0009D228 4B FF FD 11 */ bl calcHairAngle__9daAlink_cFPs +/* 800A02EC 0009D22C 7F C3 F3 78 */ mr r3, r30 +/* 800A02F0 0009D230 38 9E 30 36 */ addi r4, r30, 0x3036 +/* 800A02F4 0009D234 4B FF FD 05 */ bl calcHairAngle__9daAlink_cFPs +/* 800A02F8 0009D238 7F C3 F3 78 */ mr r3, r30 +/* 800A02FC 0009D23C 38 9E 30 4A */ addi r4, r30, 0x304a +/* 800A0300 0009D240 4B FF FC F9 */ bl calcHairAngle__9daAlink_cFPs +/* 800A0304 0009D244 38 00 80 00 */ li r0, -32768 +/* 800A0308 0009D248 B0 1E 30 70 */ sth r0, 0x3070(r30) +/* 800A030C 0009D24C B0 1E 30 72 */ sth r0, 0x3072(r30) +/* 800A0310 0009D250 B0 1E 30 74 */ sth r0, 0x3074(r30) +/* 800A0314 0009D254 B0 1E 30 76 */ sth r0, 0x3076(r30) +/* 800A0318 0009D258 48 00 03 EC */ b lbl_800A0704 +lbl_800A031C: +/* 800A031C 0009D25C C0 02 97 F8 */ lfs f0, lbl_804531F8-_SDA2_BASE_(r2) +/* 800A0320 0009D260 EC 5F 00 32 */ fmuls f2, f31, f0 +/* 800A0324 0009D264 FC 02 08 40 */ fcmpo cr0, f2, f1 +/* 800A0328 0009D268 40 81 00 08 */ ble lbl_800A0330 +/* 800A032C 0009D26C FC 40 08 90 */ fmr f2, f1 +lbl_800A0330: +/* 800A0330 0009D270 C0 22 93 EC */ lfs f1, lbl_80452DEC-_SDA2_BASE_(r2) +/* 800A0334 0009D274 C0 02 95 DC */ lfs f0, lbl_80452FDC-_SDA2_BASE_(r2) +/* 800A0338 0009D278 EC 00 00 B2 */ fmuls f0, f0, f2 +/* 800A033C 0009D27C EF E1 00 2A */ fadds f31, f1, f0 +/* 800A0340 0009D280 C0 22 93 B8 */ lfs f1, lbl_80452DB8-_SDA2_BASE_(r2) +/* 800A0344 0009D284 48 1C 76 11 */ bl cM_rndF +/* 800A0348 0009D288 C0 02 95 08 */ lfs f0, lbl_80452F08-_SDA2_BASE_(r2) +/* 800A034C 0009D28C EC 00 08 2A */ fadds f0, f0, f1 +/* 800A0350 0009D290 EF 7F 00 32 */ fmuls f27, f31, f0 +/* 800A0354 0009D294 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2) +/* 800A0358 0009D298 48 1C 75 FD */ bl cM_rndF +/* 800A035C 0009D29C C0 42 93 B8 */ lfs f2, lbl_80452DB8-_SDA2_BASE_(r2) +/* 800A0360 0009D2A0 EC 02 08 2A */ fadds f0, f2, f1 +/* 800A0364 0009D2A4 EC 00 D8 2A */ fadds f0, f0, f27 +/* 800A0368 0009D2A8 FC 00 00 1E */ fctiwz f0, f0 +/* 800A036C 0009D2AC D8 01 00 20 */ stfd f0, 0x20(r1) +/* 800A0370 0009D2B0 80 61 00 24 */ lwz r3, 0x24(r1) +/* 800A0374 0009D2B4 A8 1E 30 70 */ lha r0, 0x3070(r30) +/* 800A0378 0009D2B8 7C 00 1A 14 */ add r0, r0, r3 +/* 800A037C 0009D2BC B0 1E 30 70 */ sth r0, 0x3070(r30) +/* 800A0380 0009D2C0 FC 20 10 90 */ fmr f1, f2 +/* 800A0384 0009D2C4 48 1C 75 D1 */ bl cM_rndF +/* 800A0388 0009D2C8 C0 02 95 08 */ lfs f0, lbl_80452F08-_SDA2_BASE_(r2) +/* 800A038C 0009D2CC EC 00 08 2A */ fadds f0, f0, f1 +/* 800A0390 0009D2D0 EF 7F 00 32 */ fmuls f27, f31, f0 +/* 800A0394 0009D2D4 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2) +/* 800A0398 0009D2D8 48 1C 75 BD */ bl cM_rndF +/* 800A039C 0009D2DC C0 02 93 B8 */ lfs f0, lbl_80452DB8-_SDA2_BASE_(r2) +/* 800A03A0 0009D2E0 EC 00 08 2A */ fadds f0, f0, f1 +/* 800A03A4 0009D2E4 EC 00 D8 2A */ fadds f0, f0, f27 +/* 800A03A8 0009D2E8 FC 00 00 1E */ fctiwz f0, f0 +/* 800A03AC 0009D2EC D8 01 00 28 */ stfd f0, 0x28(r1) +/* 800A03B0 0009D2F0 80 61 00 2C */ lwz r3, 0x2c(r1) +/* 800A03B4 0009D2F4 A8 1E 30 72 */ lha r0, 0x3072(r30) +/* 800A03B8 0009D2F8 7C 00 1A 14 */ add r0, r0, r3 +/* 800A03BC 0009D2FC B0 1E 30 72 */ sth r0, 0x3072(r30) +/* 800A03C0 0009D300 C0 22 95 0C */ lfs f1, lbl_80452F0C-_SDA2_BASE_(r2) +/* 800A03C4 0009D304 48 1C 75 91 */ bl cM_rndF +/* 800A03C8 0009D308 C0 02 94 60 */ lfs f0, lbl_80452E60-_SDA2_BASE_(r2) +/* 800A03CC 0009D30C EC 00 08 2A */ fadds f0, f0, f1 +/* 800A03D0 0009D310 EF 7F 00 32 */ fmuls f27, f31, f0 +/* 800A03D4 0009D314 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2) +/* 800A03D8 0009D318 48 1C 75 7D */ bl cM_rndF +/* 800A03DC 0009D31C C0 02 93 B8 */ lfs f0, lbl_80452DB8-_SDA2_BASE_(r2) +/* 800A03E0 0009D320 EC 00 08 2A */ fadds f0, f0, f1 +/* 800A03E4 0009D324 EC 00 D8 2A */ fadds f0, f0, f27 +/* 800A03E8 0009D328 FC 00 00 1E */ fctiwz f0, f0 +/* 800A03EC 0009D32C D8 01 00 30 */ stfd f0, 0x30(r1) +/* 800A03F0 0009D330 80 61 00 34 */ lwz r3, 0x34(r1) +/* 800A03F4 0009D334 A8 1E 30 74 */ lha r0, 0x3074(r30) +/* 800A03F8 0009D338 7C 00 1A 14 */ add r0, r0, r3 +/* 800A03FC 0009D33C B0 1E 30 74 */ sth r0, 0x3074(r30) +/* 800A0400 0009D340 C0 22 95 0C */ lfs f1, lbl_80452F0C-_SDA2_BASE_(r2) +/* 800A0404 0009D344 48 1C 75 51 */ bl cM_rndF +/* 800A0408 0009D348 C0 02 94 60 */ lfs f0, lbl_80452E60-_SDA2_BASE_(r2) +/* 800A040C 0009D34C EC 00 08 2A */ fadds f0, f0, f1 +/* 800A0410 0009D350 EF 7F 00 32 */ fmuls f27, f31, f0 +/* 800A0414 0009D354 C0 22 93 18 */ lfs f1, lbl_80452D18-_SDA2_BASE_(r2) +/* 800A0418 0009D358 48 1C 75 3D */ bl cM_rndF +/* 800A041C 0009D35C C0 02 93 B8 */ lfs f0, lbl_80452DB8-_SDA2_BASE_(r2) +/* 800A0420 0009D360 EC 00 08 2A */ fadds f0, f0, f1 +/* 800A0424 0009D364 EC 00 D8 2A */ fadds f0, f0, f27 +/* 800A0428 0009D368 FC 00 00 1E */ fctiwz f0, f0 +/* 800A042C 0009D36C D8 01 00 38 */ stfd f0, 0x38(r1) +/* 800A0430 0009D370 80 61 00 3C */ lwz r3, 0x3c(r1) +/* 800A0434 0009D374 A8 1E 30 76 */ lha r0, 0x3076(r30) +/* 800A0438 0009D378 7C 00 1A 14 */ add r0, r0, r3 +/* 800A043C 0009D37C B0 1E 30 76 */ sth r0, 0x3076(r30) +/* 800A0440 0009D380 C0 A2 92 B8 */ lfs f5, lbl_80452CB8-_SDA2_BASE_(r2) +/* 800A0444 0009D384 EC 25 F0 24 */ fdivs f1, f5, f30 +/* 800A0448 0009D388 C0 1F 00 00 */ lfs f0, 0(r31) +/* 800A044C 0009D38C EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A0450 0009D390 D0 1F 00 00 */ stfs f0, 0(r31) +/* 800A0454 0009D394 C0 1F 00 08 */ lfs f0, 8(r31) +/* 800A0458 0009D398 EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A045C 0009D39C D0 1F 00 08 */ stfs f0, 8(r31) +/* 800A0460 0009D3A0 C0 5F 00 00 */ lfs f2, 0(r31) +/* 800A0464 0009D3A4 EC 22 07 72 */ fmuls f1, f2, f29 +/* 800A0468 0009D3A8 C0 7F 00 08 */ lfs f3, 8(r31) +/* 800A046C 0009D3AC EC 03 07 32 */ fmuls f0, f3, f28 +/* 800A0470 0009D3B0 EC 01 00 28 */ fsubs f0, f1, f0 +/* 800A0474 0009D3B4 EC 42 07 32 */ fmuls f2, f2, f28 +/* 800A0478 0009D3B8 EC 23 07 72 */ fmuls f1, f3, f29 +/* 800A047C 0009D3BC EC 22 08 2A */ fadds f1, f2, f1 +/* 800A0480 0009D3C0 3C 60 80 44 */ lis r3, lbl_80439A20@ha +/* 800A0484 0009D3C4 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l +/* 800A0488 0009D3C8 38 63 00 04 */ addi r3, r3, 4 +/* 800A048C 0009D3CC A8 1E 30 70 */ lha r0, 0x3070(r30) +/* 800A0490 0009D3D0 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 800A0494 0009D3D4 7C 00 1E 70 */ srawi r0, r0, 3 +/* 800A0498 0009D3D8 54 00 18 38 */ slwi r0, r0, 3 +/* 800A049C 0009D3DC 7C 43 04 2E */ lfsx f2, r3, r0 +/* 800A04A0 0009D3E0 C0 C2 92 98 */ lfs f6, lbl_80452C98-_SDA2_BASE_(r2) +/* 800A04A4 0009D3E4 EC 45 10 2A */ fadds f2, f5, f2 +/* 800A04A8 0009D3E8 EC 46 00 B2 */ fmuls f2, f6, f2 +/* 800A04AC 0009D3EC EC 5F 00 B2 */ fmuls f2, f31, f2 +/* 800A04B0 0009D3F0 A8 1E 30 72 */ lha r0, 0x3072(r30) +/* 800A04B4 0009D3F4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c +/* 800A04B8 0009D3F8 7C 63 04 2E */ lfsx f3, r3, r0 +/* 800A04BC 0009D3FC EC 65 18 2A */ fadds f3, f5, f3 +/* 800A04C0 0009D400 EC 66 00 F2 */ fmuls f3, f6, f3 +/* 800A04C4 0009D404 EC 7F 00 F2 */ fmuls f3, f31, f3 +/* 800A04C8 0009D408 A8 1E 30 74 */ lha r0, 0x3074(r30) +/* 800A04CC 0009D40C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c +/* 800A04D0 0009D410 7C 83 04 2E */ lfsx f4, r3, r0 +/* 800A04D4 0009D414 EC 85 20 2A */ fadds f4, f5, f4 +/* 800A04D8 0009D418 EC 86 01 32 */ fmuls f4, f6, f4 +/* 800A04DC 0009D41C EC 9F 01 32 */ fmuls f4, f31, f4 +/* 800A04E0 0009D420 A8 1E 30 76 */ lha r0, 0x3076(r30) +/* 800A04E4 0009D424 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c +/* 800A04E8 0009D428 7C E3 04 2E */ lfsx f7, r3, r0 +/* 800A04EC 0009D42C EC A5 38 2A */ fadds f5, f5, f7 +/* 800A04F0 0009D430 EC A6 01 72 */ fmuls f5, f6, f5 +/* 800A04F4 0009D434 EC BF 01 72 */ fmuls f5, f31, f5 +/* 800A04F8 0009D438 C0 C2 92 C0 */ lfs f6, lbl_80452CC0-_SDA2_BASE_(r2) +/* 800A04FC 0009D43C FC 00 30 40 */ fcmpo cr0, f0, f6 +/* 800A0500 0009D440 40 81 00 94 */ ble lbl_800A0594 +/* 800A0504 0009D444 C0 C2 97 FC */ lfs f6, lbl_804531FC-_SDA2_BASE_(r2) +/* 800A0508 0009D448 EC C6 00 B2 */ fmuls f6, f6, f2 +/* 800A050C 0009D44C EC C6 00 32 */ fmuls f6, f6, f0 +/* 800A0510 0009D450 FC C0 30 1E */ fctiwz f6, f6 +/* 800A0514 0009D454 D8 C1 00 38 */ stfd f6, 0x38(r1) +/* 800A0518 0009D458 80 01 00 3C */ lwz r0, 0x3c(r1) +/* 800A051C 0009D45C B0 1E 30 42 */ sth r0, 0x3042(r30) +/* 800A0520 0009D460 C0 C2 98 00 */ lfs f6, lbl_80453200-_SDA2_BASE_(r2) +/* 800A0524 0009D464 EC C6 00 B2 */ fmuls f6, f6, f2 +/* 800A0528 0009D468 EC C6 00 32 */ fmuls f6, f6, f0 +/* 800A052C 0009D46C FC C0 30 1E */ fctiwz f6, f6 +/* 800A0530 0009D470 D8 C1 00 30 */ stfd f6, 0x30(r1) +/* 800A0534 0009D474 80 01 00 34 */ lwz r0, 0x34(r1) +/* 800A0538 0009D478 B0 1E 30 44 */ sth r0, 0x3044(r30) +/* 800A053C 0009D47C C0 C2 94 4C */ lfs f6, lbl_80452E4C-_SDA2_BASE_(r2) +/* 800A0540 0009D480 EC C6 00 F2 */ fmuls f6, f6, f3 +/* 800A0544 0009D484 EC C6 00 32 */ fmuls f6, f6, f0 +/* 800A0548 0009D488 FC C0 30 1E */ fctiwz f6, f6 +/* 800A054C 0009D48C D8 C1 00 28 */ stfd f6, 0x28(r1) +/* 800A0550 0009D490 80 01 00 2C */ lwz r0, 0x2c(r1) +/* 800A0554 0009D494 B0 1E 30 46 */ sth r0, 0x3046(r30) +/* 800A0558 0009D498 C0 C2 98 04 */ lfs f6, lbl_80453204-_SDA2_BASE_(r2) +/* 800A055C 0009D49C EC C6 01 32 */ fmuls f6, f6, f4 +/* 800A0560 0009D4A0 EC C6 00 32 */ fmuls f6, f6, f0 +/* 800A0564 0009D4A4 FC C0 30 1E */ fctiwz f6, f6 +/* 800A0568 0009D4A8 D8 C1 00 20 */ stfd f6, 0x20(r1) +/* 800A056C 0009D4AC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800A0570 0009D4B0 B0 1E 30 48 */ sth r0, 0x3048(r30) +/* 800A0574 0009D4B4 C0 C2 94 54 */ lfs f6, lbl_80452E54-_SDA2_BASE_(r2) +/* 800A0578 0009D4B8 EC C6 01 72 */ fmuls f6, f6, f5 +/* 800A057C 0009D4BC EC 06 00 32 */ fmuls f0, f6, f0 +/* 800A0580 0009D4C0 FC 00 00 1E */ fctiwz f0, f0 +/* 800A0584 0009D4C4 D8 01 00 40 */ stfd f0, 0x40(r1) +/* 800A0588 0009D4C8 80 01 00 44 */ lwz r0, 0x44(r1) +/* 800A058C 0009D4CC B0 1E 30 4A */ sth r0, 0x304a(r30) +/* 800A0590 0009D4D0 48 00 00 90 */ b lbl_800A0620 +lbl_800A0594: +/* 800A0594 0009D4D4 C0 C2 93 5C */ lfs f6, lbl_80452D5C-_SDA2_BASE_(r2) +/* 800A0598 0009D4D8 EC C6 00 B2 */ fmuls f6, f6, f2 +/* 800A059C 0009D4DC EC C6 00 32 */ fmuls f6, f6, f0 +/* 800A05A0 0009D4E0 FC C0 30 1E */ fctiwz f6, f6 +/* 800A05A4 0009D4E4 D8 C1 00 40 */ stfd f6, 0x40(r1) +/* 800A05A8 0009D4E8 80 01 00 44 */ lwz r0, 0x44(r1) +/* 800A05AC 0009D4EC B0 1E 30 42 */ sth r0, 0x3042(r30) +/* 800A05B0 0009D4F0 C0 C2 94 4C */ lfs f6, lbl_80452E4C-_SDA2_BASE_(r2) +/* 800A05B4 0009D4F4 EC C6 00 B2 */ fmuls f6, f6, f2 +/* 800A05B8 0009D4F8 EC C6 00 32 */ fmuls f6, f6, f0 +/* 800A05BC 0009D4FC FC C0 30 1E */ fctiwz f6, f6 +/* 800A05C0 0009D500 D8 C1 00 38 */ stfd f6, 0x38(r1) +/* 800A05C4 0009D504 80 01 00 3C */ lwz r0, 0x3c(r1) +/* 800A05C8 0009D508 B0 1E 30 44 */ sth r0, 0x3044(r30) +/* 800A05CC 0009D50C C0 C2 98 00 */ lfs f6, lbl_80453200-_SDA2_BASE_(r2) +/* 800A05D0 0009D510 EC C6 00 F2 */ fmuls f6, f6, f3 +/* 800A05D4 0009D514 EC C6 00 32 */ fmuls f6, f6, f0 +/* 800A05D8 0009D518 FC C0 30 1E */ fctiwz f6, f6 +/* 800A05DC 0009D51C D8 C1 00 30 */ stfd f6, 0x30(r1) +/* 800A05E0 0009D520 80 01 00 34 */ lwz r0, 0x34(r1) +/* 800A05E4 0009D524 B0 1E 30 46 */ sth r0, 0x3046(r30) +/* 800A05E8 0009D528 C0 C2 94 54 */ lfs f6, lbl_80452E54-_SDA2_BASE_(r2) +/* 800A05EC 0009D52C EC C6 01 32 */ fmuls f6, f6, f4 +/* 800A05F0 0009D530 EC C6 00 32 */ fmuls f6, f6, f0 +/* 800A05F4 0009D534 FC C0 30 1E */ fctiwz f6, f6 +/* 800A05F8 0009D538 D8 C1 00 28 */ stfd f6, 0x28(r1) +/* 800A05FC 0009D53C 80 01 00 2C */ lwz r0, 0x2c(r1) +/* 800A0600 0009D540 B0 1E 30 48 */ sth r0, 0x3048(r30) +/* 800A0604 0009D544 C0 C2 98 04 */ lfs f6, lbl_80453204-_SDA2_BASE_(r2) +/* 800A0608 0009D548 EC C6 01 72 */ fmuls f6, f6, f5 +/* 800A060C 0009D54C EC 06 00 32 */ fmuls f0, f6, f0 +/* 800A0610 0009D550 FC 00 00 1E */ fctiwz f0, f0 +/* 800A0614 0009D554 D8 01 00 20 */ stfd f0, 0x20(r1) +/* 800A0618 0009D558 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800A061C 0009D55C B0 1E 30 4A */ sth r0, 0x304a(r30) +lbl_800A0620: +/* 800A0620 0009D560 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 800A0624 0009D564 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A0628 0009D568 40 81 00 58 */ ble lbl_800A0680 +/* 800A062C 0009D56C C0 02 98 08 */ lfs f0, lbl_80453208-_SDA2_BASE_(r2) +/* 800A0630 0009D570 EC 00 00 B2 */ fmuls f0, f0, f2 +/* 800A0634 0009D574 EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A0638 0009D578 FC 00 00 1E */ fctiwz f0, f0 +/* 800A063C 0009D57C D8 01 00 40 */ stfd f0, 0x40(r1) +/* 800A0640 0009D580 80 01 00 44 */ lwz r0, 0x44(r1) +/* 800A0644 0009D584 B0 1E 30 2E */ sth r0, 0x302e(r30) +/* 800A0648 0009D588 C0 C2 98 0C */ lfs f6, lbl_8045320C-_SDA2_BASE_(r2) +/* 800A064C 0009D58C EC 06 00 B2 */ fmuls f0, f6, f2 +/* 800A0650 0009D590 EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A0654 0009D594 FC 00 00 1E */ fctiwz f0, f0 +/* 800A0658 0009D598 D8 01 00 38 */ stfd f0, 0x38(r1) +/* 800A065C 0009D59C 80 01 00 3C */ lwz r0, 0x3c(r1) +/* 800A0660 0009D5A0 B0 1E 30 30 */ sth r0, 0x3030(r30) +/* 800A0664 0009D5A4 EC 06 00 F2 */ fmuls f0, f6, f3 +/* 800A0668 0009D5A8 EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A066C 0009D5AC FC 00 00 1E */ fctiwz f0, f0 +/* 800A0670 0009D5B0 D8 01 00 30 */ stfd f0, 0x30(r1) +/* 800A0674 0009D5B4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 800A0678 0009D5B8 B0 1E 30 32 */ sth r0, 0x3032(r30) +/* 800A067C 0009D5BC 48 00 00 54 */ b lbl_800A06D0 +lbl_800A0680: +/* 800A0680 0009D5C0 C0 02 97 58 */ lfs f0, lbl_80453158-_SDA2_BASE_(r2) +/* 800A0684 0009D5C4 EC 00 00 B2 */ fmuls f0, f0, f2 +/* 800A0688 0009D5C8 EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A068C 0009D5CC FC 00 00 1E */ fctiwz f0, f0 +/* 800A0690 0009D5D0 D8 01 00 40 */ stfd f0, 0x40(r1) +/* 800A0694 0009D5D4 80 01 00 44 */ lwz r0, 0x44(r1) +/* 800A0698 0009D5D8 B0 1E 30 2E */ sth r0, 0x302e(r30) +/* 800A069C 0009D5DC C0 C2 94 5C */ lfs f6, lbl_80452E5C-_SDA2_BASE_(r2) +/* 800A06A0 0009D5E0 EC 06 00 B2 */ fmuls f0, f6, f2 +/* 800A06A4 0009D5E4 EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A06A8 0009D5E8 FC 00 00 1E */ fctiwz f0, f0 +/* 800A06AC 0009D5EC D8 01 00 38 */ stfd f0, 0x38(r1) +/* 800A06B0 0009D5F0 80 01 00 3C */ lwz r0, 0x3c(r1) +/* 800A06B4 0009D5F4 B0 1E 30 30 */ sth r0, 0x3030(r30) +/* 800A06B8 0009D5F8 EC 06 00 F2 */ fmuls f0, f6, f3 +/* 800A06BC 0009D5FC EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A06C0 0009D600 FC 00 00 1E */ fctiwz f0, f0 +/* 800A06C4 0009D604 D8 01 00 30 */ stfd f0, 0x30(r1) +/* 800A06C8 0009D608 80 01 00 34 */ lwz r0, 0x34(r1) +/* 800A06CC 0009D60C B0 1E 30 32 */ sth r0, 0x3032(r30) +lbl_800A06D0: +/* 800A06D0 0009D610 C0 42 98 10 */ lfs f2, lbl_80453210-_SDA2_BASE_(r2) +/* 800A06D4 0009D614 EC 02 01 32 */ fmuls f0, f2, f4 +/* 800A06D8 0009D618 EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A06DC 0009D61C FC 00 00 1E */ fctiwz f0, f0 +/* 800A06E0 0009D620 D8 01 00 40 */ stfd f0, 0x40(r1) +/* 800A06E4 0009D624 80 01 00 44 */ lwz r0, 0x44(r1) +/* 800A06E8 0009D628 B0 1E 30 34 */ sth r0, 0x3034(r30) +/* 800A06EC 0009D62C EC 02 01 72 */ fmuls f0, f2, f5 +/* 800A06F0 0009D630 EC 00 00 72 */ fmuls f0, f0, f1 +/* 800A06F4 0009D634 FC 00 00 1E */ fctiwz f0, f0 +/* 800A06F8 0009D638 D8 01 00 38 */ stfd f0, 0x38(r1) +/* 800A06FC 0009D63C 80 01 00 3C */ lwz r0, 0x3c(r1) +/* 800A0700 0009D640 B0 1E 30 36 */ sth r0, 0x3036(r30) +lbl_800A0704: +/* 800A0704 0009D644 E3 E1 00 98 */ psq_l f31, 152(r1), 0, 0 +/* 800A0708 0009D648 CB E1 00 90 */ lfd f31, 0x90(r1) +/* 800A070C 0009D64C E3 C1 00 88 */ psq_l f30, 136(r1), 0, 0 +/* 800A0710 0009D650 CB C1 00 80 */ lfd f30, 0x80(r1) +/* 800A0714 0009D654 E3 A1 00 78 */ psq_l f29, 120(r1), 0, 0 +/* 800A0718 0009D658 CB A1 00 70 */ lfd f29, 0x70(r1) +/* 800A071C 0009D65C E3 81 00 68 */ psq_l f28, 104(r1), 0, 0 +/* 800A0720 0009D660 CB 81 00 60 */ lfd f28, 0x60(r1) +/* 800A0724 0009D664 E3 61 00 58 */ psq_l f27, 88(r1), 0, 0 +/* 800A0728 0009D668 CB 61 00 50 */ lfd f27, 0x50(r1) +/* 800A072C 0009D66C 83 E1 00 4C */ lwz r31, 0x4c(r1) +/* 800A0730 0009D670 83 C1 00 48 */ lwz r30, 0x48(r1) +/* 800A0734 0009D674 80 01 00 A4 */ lwz r0, 0xa4(r1) +/* 800A0738 0009D678 7C 08 03 A6 */ mtlr r0 +/* 800A073C 0009D67C 38 21 00 A0 */ addi r1, r1, 0xa0 +/* 800A0740 0009D680 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_800A0744.s b/include/d/d_a/d_a_alink/asm/func_800A0744.s new file mode 100644 index 00000000000..5f7d42de4f6 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_800A0744.s @@ -0,0 +1,39 @@ +/* 800A0744 0009D684 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800A0748 0009D688 7C 08 02 A6 */ mflr r0 +/* 800A074C 0009D68C 90 01 00 24 */ stw r0, 0x24(r1) +/* 800A0750 0009D690 DB E1 00 10 */ stfd f31, 0x10(r1) +/* 800A0754 0009D694 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 +/* 800A0758 0009D698 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800A075C 0009D69C 93 C1 00 08 */ stw r30, 8(r1) +/* 800A0760 0009D6A0 7C 7E 1B 78 */ mr r30, r3 +/* 800A0764 0009D6A4 7C 9F 23 78 */ mr r31, r4 +/* 800A0768 0009D6A8 80 03 05 88 */ lwz r0, 0x588(r3) +/* 800A076C 0009D6AC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 800A0770 0009D6B0 41 82 00 24 */ beq lbl_800A0794 +/* 800A0774 0009D6B4 38 7E 04 D0 */ addi r3, r30, 0x4d0 +/* 800A0778 0009D6B8 48 2A 6C 25 */ bl PSVECSquareDistance +/* 800A077C 0009D6BC FF E0 08 90 */ fmr f31, f1 +/* 800A0780 0009D6C0 38 7E 04 D0 */ addi r3, r30, 0x4d0 +/* 800A0784 0009D6C4 38 9E 35 7C */ addi r4, r30, 0x357c +/* 800A0788 0009D6C8 48 2A 6C 15 */ bl PSVECSquareDistance +/* 800A078C 0009D6CC FC 01 F8 40 */ fcmpo cr0, f1, f31 +/* 800A0790 0009D6D0 41 80 00 28 */ blt lbl_800A07B8 +lbl_800A0794: +/* 800A0794 0009D6D4 80 1E 05 88 */ lwz r0, 0x588(r30) +/* 800A0798 0009D6D8 60 00 00 04 */ ori r0, r0, 4 +/* 800A079C 0009D6DC 90 1E 05 88 */ stw r0, 0x588(r30) +/* 800A07A0 0009D6E0 C0 1F 00 00 */ lfs f0, 0(r31) +/* 800A07A4 0009D6E4 D0 1E 35 7C */ stfs f0, 0x357c(r30) +/* 800A07A8 0009D6E8 C0 1F 00 04 */ lfs f0, 4(r31) +/* 800A07AC 0009D6EC D0 1E 35 80 */ stfs f0, 0x3580(r30) +/* 800A07B0 0009D6F0 C0 1F 00 08 */ lfs f0, 8(r31) +/* 800A07B4 0009D6F4 D0 1E 35 84 */ stfs f0, 0x3584(r30) +lbl_800A07B8: +/* 800A07B8 0009D6F8 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 +/* 800A07BC 0009D6FC CB E1 00 10 */ lfd f31, 0x10(r1) +/* 800A07C0 0009D700 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800A07C4 0009D704 83 C1 00 08 */ lwz r30, 8(r1) +/* 800A07C8 0009D708 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800A07CC 0009D70C 7C 08 03 A6 */ mtlr r0 +/* 800A07D0 0009D710 38 21 00 20 */ addi r1, r1, 0x20 +/* 800A07D4 0009D714 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_800A07D8.s b/include/d/d_a/d_a_alink/asm/func_800A07D8.s new file mode 100644 index 00000000000..ec79a7fc1cc --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_800A07D8.s @@ -0,0 +1,41 @@ +/* 800A07D8 0009D718 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800A07DC 0009D71C 7C 08 02 A6 */ mflr r0 +/* 800A07E0 0009D720 90 01 00 14 */ stw r0, 0x14(r1) +/* 800A07E4 0009D724 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800A07E8 0009D728 93 C1 00 08 */ stw r30, 8(r1) +/* 800A07EC 0009D72C 7C 7E 1B 78 */ mr r30, r3 +/* 800A07F0 0009D730 80 03 05 74 */ lwz r0, 0x574(r3) +/* 800A07F4 0009D734 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 800A07F8 0009D738 41 82 00 0C */ beq lbl_800A0804 +/* 800A07FC 0009D73C 38 60 00 01 */ li r3, 1 +/* 800A0800 0009D740 48 00 00 50 */ b lbl_800A0850 +lbl_800A0804: +/* 800A0804 0009D744 80 1E 31 A0 */ lwz r0, 0x31a0(r30) +/* 800A0808 0009D748 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 +/* 800A080C 0009D74C 40 82 00 10 */ bne lbl_800A081C +/* 800A0810 0009D750 80 1E 05 88 */ lwz r0, 0x588(r30) +/* 800A0814 0009D754 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 +/* 800A0818 0009D758 41 82 00 14 */ beq lbl_800A082C +lbl_800A081C: +/* 800A081C 0009D75C 3C 60 80 39 */ lis r3, lbl_8038E5A4@ha +/* 800A0820 0009D760 38 63 E5 A4 */ addi r3, r3, lbl_8038E5A4@l +/* 800A0824 0009D764 AB E3 00 52 */ lha r31, 0x52(r3) +/* 800A0828 0009D768 48 00 00 08 */ b lbl_800A0830 +lbl_800A082C: +/* 800A082C 0009D76C 3B E0 60 00 */ li r31, 0x6000 +lbl_800A0830: +/* 800A0830 0009D770 38 7E 34 E0 */ addi r3, r30, 0x34e0 +/* 800A0834 0009D774 48 1D 03 D1 */ bl cLib_targetAngleY +/* 800A0838 0009D778 A8 9E 2F E6 */ lha r4, 0x2fe6(r30) +/* 800A083C 0009D77C 48 1D 05 E9 */ bl cLib_distanceAngleS +/* 800A0840 0009D780 7F E5 FE 70 */ srawi r5, r31, 0x1f +/* 800A0844 0009D784 54 64 0F FE */ srwi r4, r3, 0x1f +/* 800A0848 0009D788 7C 03 F8 10 */ subfc r0, r3, r31 +/* 800A084C 0009D78C 7C 65 21 14 */ adde r3, r5, r4 +lbl_800A0850: +/* 800A0850 0009D790 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800A0854 0009D794 83 C1 00 08 */ lwz r30, 8(r1) +/* 800A0858 0009D798 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800A085C 0009D79C 7C 08 03 A6 */ mtlr r0 +/* 800A0860 0009D7A0 38 21 00 10 */ addi r1, r1, 0x10 +/* 800A0864 0009D7A4 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_800A0868.s b/include/d/d_a/d_a_alink/asm/func_800A0868.s new file mode 100644 index 00000000000..0446930f1db --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_800A0868.s @@ -0,0 +1,58 @@ +/* 800A0868 0009D7A8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800A086C 0009D7AC 7C 08 02 A6 */ mflr r0 +/* 800A0870 0009D7B0 90 01 00 24 */ stw r0, 0x24(r1) +/* 800A0874 0009D7B4 39 61 00 20 */ addi r11, r1, 0x20 +/* 800A0878 0009D7B8 48 2C 19 61 */ bl _savegpr_28 +/* 800A087C 0009D7BC 7C 7C 1B 78 */ mr r28, r3 +/* 800A0880 0009D7C0 7C 9D 23 79 */ or. r29, r4, r4 +/* 800A0884 0009D7C4 7C BE 2B 78 */ mr r30, r5 +/* 800A0888 0009D7C8 41 82 00 98 */ beq lbl_800A0920 +/* 800A088C 0009D7CC 38 9D 05 38 */ addi r4, r29, 0x538 +/* 800A0890 0009D7D0 4B FF FF 49 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz +/* 800A0894 0009D7D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0898 0009D7D8 41 82 00 88 */ beq lbl_800A0920 +/* 800A089C 0009D7DC AB FD 00 08 */ lha r31, 8(r29) +/* 800A08A0 0009D7E0 7F A3 EB 78 */ mr r3, r29 +/* 800A08A4 0009D7E4 48 03 BC A5 */ bl daAlink_c_NS_checkEnemyGroup +/* 800A08A8 0009D7E8 2C 03 00 00 */ cmpwi r3, 0 +/* 800A08AC 0009D7EC 41 82 00 24 */ beq lbl_800A08D0 +/* 800A08B0 0009D7F0 C0 1D 05 38 */ lfs f0, 0x538(r29) +/* 800A08B4 0009D7F4 D0 1C 35 04 */ stfs f0, 0x3504(r28) +/* 800A08B8 0009D7F8 C0 1D 05 3C */ lfs f0, 0x53c(r29) +/* 800A08BC 0009D7FC D0 1C 35 08 */ stfs f0, 0x3508(r28) +/* 800A08C0 0009D800 C0 1D 05 40 */ lfs f0, 0x540(r29) +/* 800A08C4 0009D804 D0 1C 35 0C */ stfs f0, 0x350c(r28) +/* 800A08C8 0009D808 38 00 00 50 */ li r0, 0x50 +/* 800A08CC 0009D80C B0 1C 31 1C */ sth r0, 0x311c(r28) +lbl_800A08D0: +/* 800A08D0 0009D810 2C 1F 01 59 */ cmpwi r31, 0x159 +/* 800A08D4 0009D814 41 82 00 18 */ beq lbl_800A08EC +/* 800A08D8 0009D818 2C 1F 02 16 */ cmpwi r31, 0x216 +/* 800A08DC 0009D81C 40 82 00 34 */ bne lbl_800A0910 +/* 800A08E0 0009D820 88 1D 0B 01 */ lbz r0, 0xb01(r29) +/* 800A08E4 0009D824 28 00 00 00 */ cmplwi r0, 0 +/* 800A08E8 0009D828 40 82 00 28 */ bne lbl_800A0910 +lbl_800A08EC: +/* 800A08EC 0009D82C 80 1C 05 74 */ lwz r0, 0x574(r28) +/* 800A08F0 0009D830 60 00 01 00 */ ori r0, r0, 0x100 +/* 800A08F4 0009D834 90 1C 05 74 */ stw r0, 0x574(r28) +/* 800A08F8 0009D838 C0 1D 05 38 */ lfs f0, 0x538(r29) +/* 800A08FC 0009D83C D0 1C 36 00 */ stfs f0, 0x3600(r28) +/* 800A0900 0009D840 C0 1D 05 3C */ lfs f0, 0x53c(r29) +/* 800A0904 0009D844 D0 1C 36 04 */ stfs f0, 0x3604(r28) +/* 800A0908 0009D848 C0 1D 05 40 */ lfs f0, 0x540(r29) +/* 800A090C 0009D84C D0 1C 36 08 */ stfs f0, 0x3608(r28) +lbl_800A0910: +/* 800A0910 0009D850 38 1D 05 38 */ addi r0, r29, 0x538 +/* 800A0914 0009D854 90 1E 00 00 */ stw r0, 0(r30) +/* 800A0918 0009D858 38 60 00 01 */ li r3, 1 +/* 800A091C 0009D85C 48 00 00 08 */ b lbl_800A0924 +lbl_800A0920: +/* 800A0920 0009D860 38 60 00 00 */ li r3, 0 +lbl_800A0924: +/* 800A0924 0009D864 39 61 00 20 */ addi r11, r1, 0x20 +/* 800A0928 0009D868 48 2C 18 FD */ bl _restgpr_28 +/* 800A092C 0009D86C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800A0930 0009D870 7C 08 03 A6 */ mtlr r0 +/* 800A0934 0009D874 38 21 00 20 */ addi r1, r1, 0x20 +/* 800A0938 0009D878 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/asm/func_800A093C.s b/include/d/d_a/d_a_alink/asm/func_800A093C.s new file mode 100644 index 00000000000..482ce4f3cf0 --- /dev/null +++ b/include/d/d_a/d_a_alink/asm/func_800A093C.s @@ -0,0 +1,769 @@ +/* 800A093C 0009D87C 94 21 FF A0 */ stwu r1, -0x60(r1) +/* 800A0940 0009D880 7C 08 02 A6 */ mflr r0 +/* 800A0944 0009D884 90 01 00 64 */ stw r0, 0x64(r1) +/* 800A0948 0009D888 39 61 00 60 */ addi r11, r1, 0x60 +/* 800A094C 0009D88C 48 2C 18 7D */ bl func_803621C8 +/* 800A0950 0009D890 7C 7F 1B 78 */ mr r31, r3 +/* 800A0954 0009D894 7C 9B 23 78 */ mr r27, r4 +/* 800A0958 0009D898 7C BC 2B 78 */ mr r28, r5 +/* 800A095C 0009D89C 7C DD 33 78 */ mr r29, r6 +/* 800A0960 0009D8A0 3B 40 00 00 */ li r26, 0 +/* 800A0964 0009D8A4 AB C3 31 1C */ lha r30, 0x311c(r3) +/* 800A0968 0009D8A8 38 00 00 00 */ li r0, 0 +/* 800A096C 0009D8AC B0 03 31 1C */ sth r0, 0x311c(r3) +/* 800A0970 0009D8B0 A0 A3 2F E8 */ lhz r5, 0x2fe8(r3) +/* 800A0974 0009D8B4 28 05 00 C0 */ cmplwi r5, 0xc0 +/* 800A0978 0009D8B8 41 82 00 2C */ beq lbl_800A09A4 +/* 800A097C 0009D8BC 28 05 01 48 */ cmplwi r5, 0x148 +/* 800A0980 0009D8C0 41 82 00 24 */ beq lbl_800A09A4 +/* 800A0984 0009D8C4 28 05 01 3C */ cmplwi r5, 0x13c +/* 800A0988 0009D8C8 41 82 00 1C */ beq lbl_800A09A4 +/* 800A098C 0009D8CC 28 05 00 E3 */ cmplwi r5, 0xe3 +/* 800A0990 0009D8D0 41 82 00 14 */ beq lbl_800A09A4 +/* 800A0994 0009D8D4 28 05 00 EA */ cmplwi r5, 0xea +/* 800A0998 0009D8D8 41 82 00 0C */ beq lbl_800A09A4 +/* 800A099C 0009D8DC 28 05 00 C1 */ cmplwi r5, 0xc1 +/* 800A09A0 0009D8E0 40 82 00 0C */ bne lbl_800A09AC +lbl_800A09A4: +/* 800A09A4 0009D8E4 83 5F 28 10 */ lwz r26, 0x2810(r31) +/* 800A09A8 0009D8E8 48 00 02 64 */ b lbl_800A0C0C +lbl_800A09AC: +/* 800A09AC 0009D8EC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha +/* 800A09B0 0009D8F0 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l +/* 800A09B4 0009D8F4 80 04 5F 18 */ lwz r0, 0x5f18(r4) +/* 800A09B8 0009D8F8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b +/* 800A09BC 0009D8FC 41 82 00 D8 */ beq lbl_800A0A94 +/* 800A09C0 0009D900 28 05 01 5B */ cmplwi r5, 0x15b +/* 800A09C4 0009D904 41 82 02 48 */ beq lbl_800A0C0C +/* 800A09C8 0009D908 28 05 01 5C */ cmplwi r5, 0x15c +/* 800A09CC 0009D90C 41 82 02 40 */ beq lbl_800A0C0C +/* 800A09D0 0009D910 28 05 01 5D */ cmplwi r5, 0x15d +/* 800A09D4 0009D914 41 82 02 38 */ beq lbl_800A0C0C +/* 800A09D8 0009D918 4B F7 B1 3D */ bl fopAcM_getTalkEventPartner +/* 800A09DC 0009D91C 7C 7A 1B 79 */ or. r26, r3, r3 +/* 800A09E0 0009D920 41 82 02 2C */ beq lbl_800A0C0C +/* 800A09E4 0009D924 83 0D 8A 98 */ lwz r24, lbl_80451018-_SDA_BASE_(r13) +/* 800A09E8 0009D928 AB 3A 00 08 */ lha r25, 8(r26) +/* 800A09EC 0009D92C 2C 19 00 FF */ cmpwi r25, 0xff +/* 800A09F0 0009D930 41 82 00 5C */ beq lbl_800A0A4C +/* 800A09F4 0009D934 2C 19 02 C7 */ cmpwi r25, 0x2c7 +/* 800A09F8 0009D938 41 82 00 54 */ beq lbl_800A0A4C +/* 800A09FC 0009D93C 2C 19 02 C1 */ cmpwi r25, 0x2c1 +/* 800A0A00 0009D940 40 82 00 10 */ bne lbl_800A0A10 +/* 800A0A04 0009D944 88 1A 05 6D */ lbz r0, 0x56d(r26) +/* 800A0A08 0009D948 28 00 00 FF */ cmplwi r0, 0xff +/* 800A0A0C 0009D94C 41 82 00 40 */ beq lbl_800A0A4C +lbl_800A0A10: +/* 800A0A10 0009D950 2C 19 02 C4 */ cmpwi r25, 0x2c4 +/* 800A0A14 0009D954 40 82 00 10 */ bne lbl_800A0A24 +/* 800A0A18 0009D958 88 1A 05 6B */ lbz r0, 0x56b(r26) +/* 800A0A1C 0009D95C 28 00 00 FF */ cmplwi r0, 0xff +/* 800A0A20 0009D960 41 82 00 2C */ beq lbl_800A0A4C +lbl_800A0A24: +/* 800A0A24 0009D964 2C 19 02 C3 */ cmpwi r25, 0x2c3 +/* 800A0A28 0009D968 40 82 00 34 */ bne lbl_800A0A5C +/* 800A0A2C 0009D96C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 800A0A30 0009D970 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 800A0A34 0009D974 88 9A 05 69 */ lbz r4, 0x569(r26) +/* 800A0A38 0009D978 88 1A 04 BA */ lbz r0, 0x4ba(r26) +/* 800A0A3C 0009D97C 7C 05 07 74 */ extsb r5, r0 +/* 800A0A40 0009D980 4B F9 49 21 */ bl isSwitch__10dSv_info_cCFii +/* 800A0A44 0009D984 2C 03 00 00 */ cmpwi r3, 0 +/* 800A0A48 0009D988 41 82 00 14 */ beq lbl_800A0A5C +lbl_800A0A4C: +/* 800A0A4C 0009D98C 38 00 00 01 */ li r0, 1 +/* 800A0A50 0009D990 90 1C 00 00 */ stw r0, 0(r28) +/* 800A0A54 0009D994 38 78 05 38 */ addi r3, r24, 0x538 +/* 800A0A58 0009D998 48 00 09 BC */ b lbl_800A1414 +lbl_800A0A5C: +/* 800A0A5C 0009D99C 2C 19 02 C1 */ cmpwi r25, 0x2c1 +/* 800A0A60 0009D9A0 41 82 00 0C */ beq lbl_800A0A6C +/* 800A0A64 0009D9A4 2C 19 02 C4 */ cmpwi r25, 0x2c4 +/* 800A0A68 0009D9A8 40 82 01 A4 */ bne lbl_800A0C0C +lbl_800A0A6C: +/* 800A0A6C 0009D9AC 80 18 08 90 */ lwz r0, 0x890(r24) +/* 800A0A70 0009D9B0 64 00 00 02 */ oris r0, r0, 2 +/* 800A0A74 0009D9B4 90 18 08 90 */ stw r0, 0x890(r24) +/* 800A0A78 0009D9B8 C0 1A 05 38 */ lfs f0, 0x538(r26) +/* 800A0A7C 0009D9BC D0 18 09 C4 */ stfs f0, 0x9c4(r24) +/* 800A0A80 0009D9C0 C0 1A 05 3C */ lfs f0, 0x53c(r26) +/* 800A0A84 0009D9C4 D0 18 09 C8 */ stfs f0, 0x9c8(r24) +/* 800A0A88 0009D9C8 C0 1A 05 40 */ lfs f0, 0x540(r26) +/* 800A0A8C 0009D9CC D0 18 09 CC */ stfs f0, 0x9cc(r24) +/* 800A0A90 0009D9D0 48 00 01 7C */ b lbl_800A0C0C +lbl_800A0A94: +/* 800A0A94 0009D9D4 28 05 00 B4 */ cmplwi r5, 0xb4 +/* 800A0A98 0009D9D8 40 82 00 18 */ bne lbl_800A0AB0 +/* 800A0A9C 0009D9DC A0 1F 2F DC */ lhz r0, 0x2fdc(r31) +/* 800A0AA0 0009D9E0 28 00 00 6C */ cmplwi r0, 0x6c +/* 800A0AA4 0009D9E4 40 82 00 0C */ bne lbl_800A0AB0 +/* 800A0AA8 0009D9E8 83 5F 28 60 */ lwz r26, 0x2860(r31) +/* 800A0AAC 0009D9EC 48 00 01 60 */ b lbl_800A0C0C +lbl_800A0AB0: +/* 800A0AB0 0009D9F0 28 05 00 A2 */ cmplwi r5, 0xa2 +/* 800A0AB4 0009D9F4 41 82 00 1C */ beq lbl_800A0AD0 +/* 800A0AB8 0009D9F8 28 05 00 95 */ cmplwi r5, 0x95 +/* 800A0ABC 0009D9FC 41 82 00 14 */ beq lbl_800A0AD0 +/* 800A0AC0 0009DA00 28 05 00 96 */ cmplwi r5, 0x96 +/* 800A0AC4 0009DA04 41 82 00 0C */ beq lbl_800A0AD0 +/* 800A0AC8 0009DA08 28 05 00 97 */ cmplwi r5, 0x97 +/* 800A0ACC 0009DA0C 40 82 00 0C */ bne lbl_800A0AD8 +lbl_800A0AD0: +/* 800A0AD0 0009DA10 83 5F 28 28 */ lwz r26, 0x2828(r31) +/* 800A0AD4 0009DA14 48 00 01 38 */ b lbl_800A0C0C +lbl_800A0AD8: +/* 800A0AD8 0009DA18 80 7F 27 EC */ lwz r3, 0x27ec(r31) +/* 800A0ADC 0009DA1C 7C 7A 1B 78 */ mr r26, r3 +/* 800A0AE0 0009DA20 48 03 BA 69 */ bl daAlink_c_NS_checkEnemyGroup +/* 800A0AE4 0009DA24 2C 03 00 00 */ cmpwi r3, 0 +/* 800A0AE8 0009DA28 41 82 01 14 */ beq lbl_800A0BFC +/* 800A0AEC 0009DA2C 80 7F 27 E0 */ lwz r3, 0x27e0(r31) +/* 800A0AF0 0009DA30 38 80 00 01 */ li r4, 1 +/* 800A0AF4 0009DA34 4B FC FD 51 */ bl dAttention_c_NS_GetLockonList +/* 800A0AF8 0009DA38 28 03 00 00 */ cmplwi r3, 0 +/* 800A0AFC 0009DA3C 41 82 00 1C */ beq lbl_800A0B18 +/* 800A0B00 0009DA40 80 7F 27 E0 */ lwz r3, 0x27e0(r31) +/* 800A0B04 0009DA44 38 80 00 01 */ li r4, 1 +/* 800A0B08 0009DA48 4B FC FD 3D */ bl dAttention_c_NS_GetLockonList +/* 800A0B0C 0009DA4C 4B FD 2D 59 */ bl dAttList_c_NS_getActor +/* 800A0B10 0009DA50 7C 79 1B 78 */ mr r25, r3 +/* 800A0B14 0009DA54 48 00 00 08 */ b lbl_800A0B1C +lbl_800A0B18: +/* 800A0B18 0009DA58 3B 20 00 00 */ li r25, 0 +lbl_800A0B1C: +/* 800A0B1C 0009DA5C 80 7F 28 FC */ lwz r3, 0x28fc(r31) +/* 800A0B20 0009DA60 3C 03 00 01 */ addis r0, r3, 1 +/* 800A0B24 0009DA64 28 00 FF FF */ cmplwi r0, 0xffff +/* 800A0B28 0009DA68 41 82 00 5C */ beq lbl_800A0B84 +/* 800A0B2C 0009DA6C 90 61 00 0C */ stw r3, 0xc(r1) +/* 800A0B30 0009DA70 3C 60 80 02 */ lis r3, fpcSch_JudgeByID@ha +/* 800A0B34 0009DA74 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID@l +/* 800A0B38 0009DA78 38 81 00 0C */ addi r4, r1, 0xc +/* 800A0B3C 0009DA7C 4B F7 8C BD */ bl fopAcIt_Judge +/* 800A0B40 0009DA80 A8 9F 30 F8 */ lha r4, 0x30f8(r31) +/* 800A0B44 0009DA84 38 04 FF FF */ addi r0, r4, -1 +/* 800A0B48 0009DA88 B0 1F 30 F8 */ sth r0, 0x30f8(r31) +/* 800A0B4C 0009DA8C A8 1F 30 F8 */ lha r0, 0x30f8(r31) +/* 800A0B50 0009DA90 2C 00 00 00 */ cmpwi r0, 0 +/* 800A0B54 0009DA94 41 82 00 1C */ beq lbl_800A0B70 +/* 800A0B58 0009DA98 28 03 00 00 */ cmplwi r3, 0 +/* 800A0B5C 0009DA9C 41 82 00 14 */ beq lbl_800A0B70 +/* 800A0B60 0009DAA0 7C 03 C8 40 */ cmplw r3, r25 +/* 800A0B64 0009DAA4 40 82 00 0C */ bne lbl_800A0B70 +/* 800A0B68 0009DAA8 7C 7A 1B 78 */ mr r26, r3 +/* 800A0B6C 0009DAAC 48 00 00 A0 */ b lbl_800A0C0C +lbl_800A0B70: +/* 800A0B70 0009DAB0 38 00 00 00 */ li r0, 0 +/* 800A0B74 0009DAB4 B0 1F 30 F8 */ sth r0, 0x30f8(r31) +/* 800A0B78 0009DAB8 38 00 FF FF */ li r0, -1 +/* 800A0B7C 0009DABC 90 1F 28 FC */ stw r0, 0x28fc(r31) +/* 800A0B80 0009DAC0 48 00 00 8C */ b lbl_800A0C0C +lbl_800A0B84: +/* 800A0B84 0009DAC4 7F 23 CB 78 */ mr r3, r25 +/* 800A0B88 0009DAC8 48 03 B9 C1 */ bl daAlink_c_NS_checkEnemyGroup +/* 800A0B8C 0009DACC 2C 03 00 00 */ cmpwi r3, 0 +/* 800A0B90 0009DAD0 41 82 00 7C */ beq lbl_800A0C0C +/* 800A0B94 0009DAD4 A8 7F 30 F8 */ lha r3, 0x30f8(r31) +/* 800A0B98 0009DAD8 2C 03 FF E2 */ cmpwi r3, -30 +/* 800A0B9C 0009DADC 40 82 00 54 */ bne lbl_800A0BF0 +/* 800A0BA0 0009DAE0 48 1C 6C CD */ bl cM_rnd +/* 800A0BA4 0009DAE4 C0 02 94 44 */ lfs f0, lbl_80452E44-_SDA2_BASE_(r2) +/* 800A0BA8 0009DAE8 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A0BAC 0009DAEC 40 80 00 60 */ bge lbl_800A0C0C +/* 800A0BB0 0009DAF0 C0 22 92 E0 */ lfs f1, lbl_80452CE0-_SDA2_BASE_(r2) +/* 800A0BB4 0009DAF4 48 1C 6D A1 */ bl cM_rndF +/* 800A0BB8 0009DAF8 C0 02 92 E0 */ lfs f0, lbl_80452CE0-_SDA2_BASE_(r2) +/* 800A0BBC 0009DAFC EC 00 08 2A */ fadds f0, f0, f1 +/* 800A0BC0 0009DB00 FC 00 00 1E */ fctiwz f0, f0 +/* 800A0BC4 0009DB04 D8 01 00 30 */ stfd f0, 0x30(r1) +/* 800A0BC8 0009DB08 80 01 00 34 */ lwz r0, 0x34(r1) +/* 800A0BCC 0009DB0C B0 1F 30 F8 */ sth r0, 0x30f8(r31) +/* 800A0BD0 0009DB10 7F 3A CB 78 */ mr r26, r25 +/* 800A0BD4 0009DB14 28 19 00 00 */ cmplwi r25, 0 +/* 800A0BD8 0009DB18 41 82 00 0C */ beq lbl_800A0BE4 +/* 800A0BDC 0009DB1C 80 19 00 04 */ lwz r0, 4(r25) +/* 800A0BE0 0009DB20 48 00 00 08 */ b lbl_800A0BE8 +lbl_800A0BE4: +/* 800A0BE4 0009DB24 38 00 FF FF */ li r0, -1 +lbl_800A0BE8: +/* 800A0BE8 0009DB28 90 1F 28 FC */ stw r0, 0x28fc(r31) +/* 800A0BEC 0009DB2C 48 00 00 20 */ b lbl_800A0C0C +lbl_800A0BF0: +/* 800A0BF0 0009DB30 38 03 FF FF */ addi r0, r3, -1 +/* 800A0BF4 0009DB34 B0 1F 30 F8 */ sth r0, 0x30f8(r31) +/* 800A0BF8 0009DB38 48 00 00 14 */ b lbl_800A0C0C +lbl_800A0BFC: +/* 800A0BFC 0009DB3C 38 00 FF FF */ li r0, -1 +/* 800A0C00 0009DB40 90 1F 28 FC */ stw r0, 0x28fc(r31) +/* 800A0C04 0009DB44 38 00 00 00 */ li r0, 0 +/* 800A0C08 0009DB48 B0 1F 30 F8 */ sth r0, 0x30f8(r31) +lbl_800A0C0C: +/* 800A0C0C 0009DB4C 80 7F 27 E0 */ lwz r3, 0x27e0(r31) +/* 800A0C10 0009DB50 38 80 00 00 */ li r4, 0 +/* 800A0C14 0009DB54 4B FD 29 29 */ bl dAttention_c_NS_LockonTarget +/* 800A0C18 0009DB58 7C 79 1B 78 */ mr r25, r3 +/* 800A0C1C 0009DB5C 28 1A 00 00 */ cmplwi r26, 0 +/* 800A0C20 0009DB60 40 82 00 10 */ bne lbl_800A0C30 +/* 800A0C24 0009DB64 48 0E 0A 1D */ bl dCam_getBody +/* 800A0C28 0009DB68 48 0E 08 D9 */ bl dCamera_c_NS_GetForceLockOnActor +/* 800A0C2C 0009DB6C 7C 7A 1B 78 */ mr r26, r3 +lbl_800A0C30: +/* 800A0C30 0009DB70 7F E3 FB 78 */ mr r3, r31 +/* 800A0C34 0009DB74 7F 44 D3 78 */ mr r4, r26 +/* 800A0C38 0009DB78 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A0C3C 0009DB7C 4B FF FC 2D */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A0C40 0009DB80 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0C44 0009DB84 41 82 00 0C */ beq lbl_800A0C50 +/* 800A0C48 0009DB88 80 61 00 10 */ lwz r3, 0x10(r1) +/* 800A0C4C 0009DB8C 48 00 07 C8 */ b lbl_800A1414 +lbl_800A0C50: +/* 800A0C50 0009DB90 80 9F 31 A0 */ lwz r4, 0x31a0(r31) +/* 800A0C54 0009DB94 3C 60 08 00 */ lis r3, 0x08000100@ha +/* 800A0C58 0009DB98 38 03 01 00 */ addi r0, r3, 0x08000100@l +/* 800A0C5C 0009DB9C 7C 80 00 39 */ and. r0, r4, r0 +/* 800A0C60 0009DBA0 40 82 00 24 */ bne lbl_800A0C84 +/* 800A0C64 0009DBA4 2C 1D 00 00 */ cmpwi r29, 0 +/* 800A0C68 0009DBA8 41 82 00 1C */ beq lbl_800A0C84 +/* 800A0C6C 0009DBAC 7F C0 07 35 */ extsh. r0, r30 +/* 800A0C70 0009DBB0 40 81 00 0C */ ble lbl_800A0C7C +/* 800A0C74 0009DBB4 38 1E FF FF */ addi r0, r30, -1 +/* 800A0C78 0009DBB8 B0 1F 31 1C */ sth r0, 0x311c(r31) +lbl_800A0C7C: +/* 800A0C7C 0009DBBC 38 60 00 00 */ li r3, 0 +/* 800A0C80 0009DBC0 48 00 07 94 */ b lbl_800A1414 +lbl_800A0C84: +/* 800A0C84 0009DBC4 7F E3 FB 78 */ mr r3, r31 +/* 800A0C88 0009DBC8 48 07 4F 99 */ bl daAlink_c_NS_checkEventRun +/* 800A0C8C 0009DBCC 2C 03 00 00 */ cmpwi r3, 0 +/* 800A0C90 0009DBD0 40 82 06 20 */ bne lbl_800A12B0 +/* 800A0C94 0009DBD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 800A0C98 0009DBD8 3B 43 61 C0 */ addi r26, r3, g_dComIfG_gameInfo@l +/* 800A0C9C 0009DBDC 80 1A 5F 1C */ lwz r0, 0x5f1c(r26) +/* 800A0CA0 0009DBE0 74 00 02 01 */ andis. r0, r0, 0x201 +/* 800A0CA4 0009DBE4 41 82 00 20 */ beq lbl_800A0CC4 +/* 800A0CA8 0009DBE8 88 1F 20 68 */ lbz r0, 0x2068(r31) +/* 800A0CAC 0009DBEC 28 00 00 00 */ cmplwi r0, 0 +/* 800A0CB0 0009DBF0 41 82 00 0C */ beq lbl_800A0CBC +/* 800A0CB4 0009DBF4 38 7F 20 6C */ addi r3, r31, 0x206c +/* 800A0CB8 0009DBF8 48 00 07 5C */ b lbl_800A1414 +lbl_800A0CBC: +/* 800A0CBC 0009DBFC 38 60 00 00 */ li r3, 0 +/* 800A0CC0 0009DC00 48 00 07 54 */ b lbl_800A1414 +lbl_800A0CC4: +/* 800A0CC4 0009DC04 38 7A 5B 6C */ addi r3, r26, 0x5b6c +/* 800A0CC8 0009DC08 80 9A 5B 78 */ lwz r4, 0x5b78(r26) +/* 800A0CCC 0009DC0C 4B FD 2F D9 */ bl dAttLook_c_NS_convPId +/* 800A0CD0 0009DC10 28 03 00 00 */ cmplwi r3, 0 +/* 800A0CD4 0009DC14 41 82 00 38 */ beq lbl_800A0D0C +/* 800A0CD8 0009DC18 38 7A 5B 6C */ addi r3, r26, 0x5b6c +/* 800A0CDC 0009DC1C 80 9A 5B 78 */ lwz r4, 0x5b78(r26) +/* 800A0CE0 0009DC20 4B FD 2F C5 */ bl dAttLook_c_NS_convPId +/* 800A0CE4 0009DC24 A8 03 00 08 */ lha r0, 8(r3) +/* 800A0CE8 0009DC28 2C 00 01 E9 */ cmpwi r0, 0x1e9 +/* 800A0CEC 0009DC2C 40 82 00 0C */ bne lbl_800A0CF8 +/* 800A0CF0 0009DC30 38 00 00 00 */ li r0, 0 +/* 800A0CF4 0009DC34 90 1C 00 00 */ stw r0, 0(r28) +lbl_800A0CF8: +/* 800A0CF8 0009DC38 38 7A 5B 6C */ addi r3, r26, 0x5b6c +/* 800A0CFC 0009DC3C 80 9A 5B 78 */ lwz r4, 0x5b78(r26) +/* 800A0D00 0009DC40 4B FD 2F A5 */ bl dAttLook_c_NS_convPId +/* 800A0D04 0009DC44 38 63 05 38 */ addi r3, r3, 0x538 +/* 800A0D08 0009DC48 48 00 07 0C */ b lbl_800A1414 +lbl_800A0D0C: +/* 800A0D0C 0009DC4C 7F E3 FB 78 */ mr r3, r31 +/* 800A0D10 0009DC50 80 9F 27 F0 */ lwz r4, 0x27f0(r31) +/* 800A0D14 0009DC54 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A0D18 0009DC58 4B FF FB 51 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A0D1C 0009DC5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0D20 0009DC60 41 82 00 1C */ beq lbl_800A0D3C +/* 800A0D24 0009DC64 80 7F 27 F0 */ lwz r3, 0x27f0(r31) +/* 800A0D28 0009DC68 28 03 00 00 */ cmplwi r3, 0 +/* 800A0D2C 0009DC6C 41 82 00 40 */ beq lbl_800A0D6C +/* 800A0D30 0009DC70 A8 03 00 08 */ lha r0, 8(r3) +/* 800A0D34 0009DC74 2C 00 01 8B */ cmpwi r0, 0x18b +/* 800A0D38 0009DC78 40 82 00 34 */ bne lbl_800A0D6C +lbl_800A0D3C: +/* 800A0D3C 0009DC7C 7F E3 FB 78 */ mr r3, r31 +/* 800A0D40 0009DC80 7F 24 CB 78 */ mr r4, r25 +/* 800A0D44 0009DC84 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A0D48 0009DC88 4B FF FB 21 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A0D4C 0009DC8C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0D50 0009DC90 40 82 00 1C */ bne lbl_800A0D6C +/* 800A0D54 0009DC94 7F E3 FB 78 */ mr r3, r31 +/* 800A0D58 0009DC98 80 9F 27 F8 */ lwz r4, 0x27f8(r31) +/* 800A0D5C 0009DC9C 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A0D60 0009DCA0 4B FF FB 09 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A0D64 0009DCA4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0D68 0009DCA8 41 82 00 0C */ beq lbl_800A0D74 +lbl_800A0D6C: +/* 800A0D6C 0009DCAC 80 61 00 10 */ lwz r3, 0x10(r1) +/* 800A0D70 0009DCB0 48 00 06 A4 */ b lbl_800A1414 +lbl_800A0D74: +/* 800A0D74 0009DCB4 7F E3 FB 78 */ mr r3, r31 +/* 800A0D78 0009DCB8 80 9F 28 38 */ lwz r4, 0x2838(r31) +/* 800A0D7C 0009DCBC 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A0D80 0009DCC0 4B FF FA E9 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A0D84 0009DCC4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0D88 0009DCC8 41 82 00 0C */ beq lbl_800A0D94 +/* 800A0D8C 0009DCCC 80 61 00 10 */ lwz r3, 0x10(r1) +/* 800A0D90 0009DCD0 48 00 06 84 */ b lbl_800A1414 +lbl_800A0D94: +/* 800A0D94 0009DCD4 7F E3 FB 78 */ mr r3, r31 +/* 800A0D98 0009DCD8 80 9F 28 40 */ lwz r4, 0x2840(r31) +/* 800A0D9C 0009DCDC 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A0DA0 0009DCE0 4B FF FA C9 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A0DA4 0009DCE4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0DA8 0009DCE8 41 82 00 0C */ beq lbl_800A0DB4 +/* 800A0DAC 0009DCEC 80 61 00 10 */ lwz r3, 0x10(r1) +/* 800A0DB0 0009DCF0 48 00 06 64 */ b lbl_800A1414 +lbl_800A0DB4: +/* 800A0DB4 0009DCF4 80 1F 05 88 */ lwz r0, 0x588(r31) +/* 800A0DB8 0009DCF8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d +/* 800A0DBC 0009DCFC 41 82 00 20 */ beq lbl_800A0DDC +/* 800A0DC0 0009DD00 7F E3 FB 78 */ mr r3, r31 +/* 800A0DC4 0009DD04 38 9F 35 7C */ addi r4, r31, 0x357c +/* 800A0DC8 0009DD08 4B FF FA 11 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz +/* 800A0DCC 0009DD0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0DD0 0009DD10 41 82 00 0C */ beq lbl_800A0DDC +/* 800A0DD4 0009DD14 38 7F 35 7C */ addi r3, r31, 0x357c +/* 800A0DD8 0009DD18 48 00 06 3C */ b lbl_800A1414 +lbl_800A0DDC: +/* 800A0DDC 0009DD1C 7F E3 FB 78 */ mr r3, r31 +/* 800A0DE0 0009DD20 80 9F 28 60 */ lwz r4, 0x2860(r31) +/* 800A0DE4 0009DD24 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A0DE8 0009DD28 4B FF FA 81 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A0DEC 0009DD2C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0DF0 0009DD30 41 82 00 0C */ beq lbl_800A0DFC +/* 800A0DF4 0009DD34 80 61 00 10 */ lwz r3, 0x10(r1) +/* 800A0DF8 0009DD38 48 00 06 1C */ b lbl_800A1414 +lbl_800A0DFC: +/* 800A0DFC 0009DD3C A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) +/* 800A0E00 0009DD40 28 00 00 A5 */ cmplwi r0, 0xa5 +/* 800A0E04 0009DD44 40 82 00 6C */ bne lbl_800A0E70 +/* 800A0E08 0009DD48 C0 3F 33 98 */ lfs f1, 0x3398(r31) +/* 800A0E0C 0009DD4C C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 800A0E10 0009DD50 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A0E14 0009DD54 40 81 00 5C */ ble lbl_800A0E70 +/* 800A0E18 0009DD58 3C 60 80 44 */ lis r3, lbl_80439A20@ha +/* 800A0E1C 0009DD5C 38 83 9A 20 */ addi r4, r3, lbl_80439A20@l +/* 800A0E20 0009DD60 A8 1F 04 DE */ lha r0, 0x4de(r31) +/* 800A0E24 0009DD64 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c +/* 800A0E28 0009DD68 7C 64 02 14 */ add r3, r4, r0 +/* 800A0E2C 0009DD6C C0 03 00 04 */ lfs f0, 4(r3) +/* 800A0E30 0009DD70 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) +/* 800A0E34 0009DD74 C0 42 93 68 */ lfs f2, lbl_80452D68-_SDA2_BASE_(r2) +/* 800A0E38 0009DD78 EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A0E3C 0009DD7C EC 81 00 2A */ fadds f4, f1, f0 +/* 800A0E40 0009DD80 C0 22 93 50 */ lfs f1, lbl_80452D50-_SDA2_BASE_(r2) +/* 800A0E44 0009DD84 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) +/* 800A0E48 0009DD88 EC 61 00 2A */ fadds f3, f1, f0 +/* 800A0E4C 0009DD8C 7C 04 04 2E */ lfsx f0, r4, r0 +/* 800A0E50 0009DD90 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) +/* 800A0E54 0009DD94 EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A0E58 0009DD98 EC 01 00 2A */ fadds f0, f1, f0 +/* 800A0E5C 0009DD9C D0 1B 00 00 */ stfs f0, 0(r27) +/* 800A0E60 0009DDA0 D0 7B 00 04 */ stfs f3, 4(r27) +/* 800A0E64 0009DDA4 D0 9B 00 08 */ stfs f4, 8(r27) +/* 800A0E68 0009DDA8 7F 63 DB 78 */ mr r3, r27 +/* 800A0E6C 0009DDAC 48 00 05 A8 */ b lbl_800A1414 +lbl_800A0E70: +/* 800A0E70 0009DDB0 80 1F 31 A0 */ lwz r0, 0x31a0(r31) +/* 800A0E74 0009DDB4 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 800A0E78 0009DDB8 41 82 00 38 */ beq lbl_800A0EB0 +/* 800A0E7C 0009DDBC A0 1F 1F BC */ lhz r0, 0x1fbc(r31) +/* 800A0E80 0009DDC0 28 00 02 02 */ cmplwi r0, 0x202 +/* 800A0E84 0009DDC4 40 82 00 2C */ bne lbl_800A0EB0 +/* 800A0E88 0009DDC8 7F E3 FB 78 */ mr r3, r31 +/* 800A0E8C 0009DDCC 48 04 04 E9 */ bl daAlink_c_NS_getCopyRodControllActor +/* 800A0E90 0009DDD0 7C 64 1B 78 */ mr r4, r3 +/* 800A0E94 0009DDD4 7F E3 FB 78 */ mr r3, r31 +/* 800A0E98 0009DDD8 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A0E9C 0009DDDC 4B FF F9 CD */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A0EA0 0009DDE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0EA4 0009DDE4 41 82 00 0C */ beq lbl_800A0EB0 +/* 800A0EA8 0009DDE8 80 61 00 10 */ lwz r3, 0x10(r1) +/* 800A0EAC 0009DDEC 48 00 05 68 */ b lbl_800A1414 +lbl_800A0EB0: +/* 800A0EB0 0009DDF0 7F E3 FB 78 */ mr r3, r31 +/* 800A0EB4 0009DDF4 38 80 00 01 */ li r4, 1 +/* 800A0EB8 0009DDF8 48 00 6B 35 */ bl daAlink_c_NS_checkWindSpeedOnAngleAnime +/* 800A0EBC 0009DDFC 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0EC0 0009DE00 41 82 01 08 */ beq lbl_800A0FC8 +/* 800A0EC4 0009DE04 80 1F 05 74 */ lwz r0, 0x574(r31) +/* 800A0EC8 0009DE08 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 800A0ECC 0009DE0C 41 82 00 84 */ beq lbl_800A0F50 +/* 800A0ED0 0009DE10 A8 9F 04 E6 */ lha r4, 0x4e6(r31) +/* 800A0ED4 0009DE14 A8 7F 30 CC */ lha r3, 0x30cc(r31) +/* 800A0ED8 0009DE18 3C 63 00 01 */ addis r3, r3, 1 +/* 800A0EDC 0009DE1C 38 03 80 00 */ addi r0, r3, -32768 +/* 800A0EE0 0009DE20 7C 04 00 50 */ subf r0, r4, r0 +/* 800A0EE4 0009DE24 7C 00 07 35 */ extsh. r0, r0 +/* 800A0EE8 0009DE28 C0 5F 04 D8 */ lfs f2, 0x4d8(r31) +/* 800A0EEC 0009DE2C C0 22 93 50 */ lfs f1, lbl_80452D50-_SDA2_BASE_(r2) +/* 800A0EF0 0009DE30 3C 60 80 44 */ lis r3, lbl_80439A20@ha +/* 800A0EF4 0009DE34 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l +/* 800A0EF8 0009DE38 38 04 40 00 */ addi r0, r4, 0x4000 +/* 800A0EFC 0009DE3C 7C 00 07 34 */ extsh r0, r0 +/* 800A0F00 0009DE40 41 80 00 0C */ blt lbl_800A0F0C +/* 800A0F04 0009DE44 38 04 C0 00 */ addi r0, r4, -16384 +/* 800A0F08 0009DE48 7C 00 07 34 */ extsh r0, r0 +lbl_800A0F0C: +/* 800A0F0C 0009DE4C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c +/* 800A0F10 0009DE50 7C 63 02 14 */ add r3, r3, r0 +/* 800A0F14 0009DE54 C0 03 00 04 */ lfs f0, 4(r3) +/* 800A0F18 0009DE58 EC 01 00 32 */ fmuls f0, f1, f0 +/* 800A0F1C 0009DE5C EC 82 00 2A */ fadds f4, f2, f0 +/* 800A0F20 0009DE60 C0 7F 04 D4 */ lfs f3, 0x4d4(r31) +/* 800A0F24 0009DE64 C0 5F 04 D0 */ lfs f2, 0x4d0(r31) +/* 800A0F28 0009DE68 C0 22 93 50 */ lfs f1, lbl_80452D50-_SDA2_BASE_(r2) +/* 800A0F2C 0009DE6C 3C 60 80 44 */ lis r3, lbl_80439A20@ha +/* 800A0F30 0009DE70 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l +/* 800A0F34 0009DE74 7C 03 04 2E */ lfsx f0, r3, r0 +/* 800A0F38 0009DE78 EC 01 00 32 */ fmuls f0, f1, f0 +/* 800A0F3C 0009DE7C EC 02 00 2A */ fadds f0, f2, f0 +/* 800A0F40 0009DE80 D0 1B 00 00 */ stfs f0, 0(r27) +/* 800A0F44 0009DE84 D0 7B 00 04 */ stfs f3, 4(r27) +/* 800A0F48 0009DE88 D0 9B 00 08 */ stfs f4, 8(r27) +/* 800A0F4C 0009DE8C 48 00 00 40 */ b lbl_800A0F8C +lbl_800A0F50: +/* 800A0F50 0009DE90 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) +/* 800A0F54 0009DE94 C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2) +/* 800A0F58 0009DE98 C0 1F 35 C0 */ lfs f0, 0x35c0(r31) +/* 800A0F5C 0009DE9C EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A0F60 0009DEA0 EC 81 00 28 */ fsubs f4, f1, f0 +/* 800A0F64 0009DEA4 C0 22 93 E0 */ lfs f1, lbl_80452DE0-_SDA2_BASE_(r2) +/* 800A0F68 0009DEA8 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) +/* 800A0F6C 0009DEAC EC 61 00 2A */ fadds f3, f1, f0 +/* 800A0F70 0009DEB0 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) +/* 800A0F74 0009DEB4 C0 1F 35 B8 */ lfs f0, 0x35b8(r31) +/* 800A0F78 0009DEB8 EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A0F7C 0009DEBC EC 01 00 28 */ fsubs f0, f1, f0 +/* 800A0F80 0009DEC0 D0 1B 00 00 */ stfs f0, 0(r27) +/* 800A0F84 0009DEC4 D0 7B 00 04 */ stfs f3, 4(r27) +/* 800A0F88 0009DEC8 D0 9B 00 08 */ stfs f4, 8(r27) +lbl_800A0F8C: +/* 800A0F8C 0009DECC 7F E3 FB 78 */ mr r3, r31 +/* 800A0F90 0009DED0 7F 64 DB 78 */ mr r4, r27 +/* 800A0F94 0009DED4 4B FF F8 45 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz +/* 800A0F98 0009DED8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A0F9C 0009DEDC 41 82 04 38 */ beq lbl_800A13D4 +/* 800A0FA0 0009DEE0 80 1F 05 74 */ lwz r0, 0x574(r31) +/* 800A0FA4 0009DEE4 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 800A0FA8 0009DEE8 41 82 00 10 */ beq lbl_800A0FB8 +/* 800A0FAC 0009DEEC 80 1F 05 88 */ lwz r0, 0x588(r31) +/* 800A0FB0 0009DEF0 60 00 40 00 */ ori r0, r0, 0x4000 +/* 800A0FB4 0009DEF4 90 1F 05 88 */ stw r0, 0x588(r31) +lbl_800A0FB8: +/* 800A0FB8 0009DEF8 38 00 00 00 */ li r0, 0 +/* 800A0FBC 0009DEFC 90 1C 00 00 */ stw r0, 0(r28) +/* 800A0FC0 0009DF00 7F 63 DB 78 */ mr r3, r27 +/* 800A0FC4 0009DF04 48 00 04 50 */ b lbl_800A1414 +lbl_800A0FC8: +/* 800A0FC8 0009DF08 C0 3F 35 CC */ lfs f1, 0x35cc(r31) +/* 800A0FCC 0009DF0C C0 1F 35 C4 */ lfs f0, 0x35c4(r31) +/* 800A0FD0 0009DF10 D0 01 00 20 */ stfs f0, 0x20(r1) +/* 800A0FD4 0009DF14 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 800A0FD8 0009DF18 D0 01 00 24 */ stfs f0, 0x24(r1) +/* 800A0FDC 0009DF1C D0 21 00 28 */ stfs f1, 0x28(r1) +/* 800A0FE0 0009DF20 38 61 00 20 */ addi r3, r1, 0x20 +/* 800A0FE4 0009DF24 48 2A 61 55 */ bl PSVECSquareMag +/* 800A0FE8 0009DF28 C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) +/* 800A0FEC 0009DF2C FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A0FF0 0009DF30 40 81 00 68 */ ble lbl_800A1058 +/* 800A0FF4 0009DF34 80 1F 31 A0 */ lwz r0, 0x31a0(r31) +/* 800A0FF8 0009DF38 54 00 07 FF */ clrlwi. r0, r0, 0x1f +/* 800A0FFC 0009DF3C 41 82 00 5C */ beq lbl_800A1058 +/* 800A1000 0009DF40 80 1F 05 74 */ lwz r0, 0x574(r31) +/* 800A1004 0009DF44 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 800A1008 0009DF48 41 82 00 0C */ beq lbl_800A1014 +/* 800A100C 0009DF4C C0 62 93 B0 */ lfs f3, lbl_80452DB0-_SDA2_BASE_(r2) +/* 800A1010 0009DF50 48 00 00 08 */ b lbl_800A1018 +lbl_800A1014: +/* 800A1014 0009DF54 C0 62 93 E0 */ lfs f3, lbl_80452DE0-_SDA2_BASE_(r2) +lbl_800A1018: +/* 800A1018 0009DF58 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) +/* 800A101C 0009DF5C C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2) +/* 800A1020 0009DF60 C0 1F 35 CC */ lfs f0, 0x35cc(r31) +/* 800A1024 0009DF64 EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A1028 0009DF68 EC 81 00 2A */ fadds f4, f1, f0 +/* 800A102C 0009DF6C C0 1F 04 D4 */ lfs f0, 0x4d4(r31) +/* 800A1030 0009DF70 EC 60 18 2A */ fadds f3, f0, f3 +/* 800A1034 0009DF74 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) +/* 800A1038 0009DF78 C0 1F 35 C4 */ lfs f0, 0x35c4(r31) +/* 800A103C 0009DF7C EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A1040 0009DF80 EC 01 00 2A */ fadds f0, f1, f0 +/* 800A1044 0009DF84 D0 1B 00 00 */ stfs f0, 0(r27) +/* 800A1048 0009DF88 D0 7B 00 04 */ stfs f3, 4(r27) +/* 800A104C 0009DF8C D0 9B 00 08 */ stfs f4, 8(r27) +/* 800A1050 0009DF90 7F 63 DB 78 */ mr r3, r27 +/* 800A1054 0009DF94 48 00 03 C0 */ b lbl_800A1414 +lbl_800A1058: +/* 800A1058 0009DF98 C0 3F 35 9C */ lfs f1, 0x359c(r31) +/* 800A105C 0009DF9C C0 1F 35 94 */ lfs f0, 0x3594(r31) +/* 800A1060 0009DFA0 D0 01 00 14 */ stfs f0, 0x14(r1) +/* 800A1064 0009DFA4 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 800A1068 0009DFA8 D0 01 00 18 */ stfs f0, 0x18(r1) +/* 800A106C 0009DFAC D0 21 00 1C */ stfs f1, 0x1c(r1) +/* 800A1070 0009DFB0 38 61 00 14 */ addi r3, r1, 0x14 +/* 800A1074 0009DFB4 48 2A 60 C5 */ bl PSVECSquareMag +/* 800A1078 0009DFB8 C0 02 92 C0 */ lfs f0, lbl_80452CC0-_SDA2_BASE_(r2) +/* 800A107C 0009DFBC FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A1080 0009DFC0 40 81 00 58 */ ble lbl_800A10D8 +/* 800A1084 0009DFC4 FC 00 08 34 */ frsqrte f0, f1 +/* 800A1088 0009DFC8 C8 82 92 E8 */ lfd f4, lbl_80452CE8-_SDA2_BASE_(r2) +/* 800A108C 0009DFCC FC 44 00 32 */ fmul f2, f4, f0 +/* 800A1090 0009DFD0 C8 62 92 F0 */ lfd f3, lbl_80452CF0-_SDA2_BASE_(r2) +/* 800A1094 0009DFD4 FC 00 00 32 */ fmul f0, f0, f0 +/* 800A1098 0009DFD8 FC 01 00 32 */ fmul f0, f1, f0 +/* 800A109C 0009DFDC FC 03 00 28 */ fsub f0, f3, f0 +/* 800A10A0 0009DFE0 FC 02 00 32 */ fmul f0, f2, f0 +/* 800A10A4 0009DFE4 FC 44 00 32 */ fmul f2, f4, f0 +/* 800A10A8 0009DFE8 FC 00 00 32 */ fmul f0, f0, f0 +/* 800A10AC 0009DFEC FC 01 00 32 */ fmul f0, f1, f0 +/* 800A10B0 0009DFF0 FC 03 00 28 */ fsub f0, f3, f0 +/* 800A10B4 0009DFF4 FC 02 00 32 */ fmul f0, f2, f0 +/* 800A10B8 0009DFF8 FC 44 00 32 */ fmul f2, f4, f0 +/* 800A10BC 0009DFFC FC 00 00 32 */ fmul f0, f0, f0 +/* 800A10C0 0009E000 FC 01 00 32 */ fmul f0, f1, f0 +/* 800A10C4 0009E004 FC 03 00 28 */ fsub f0, f3, f0 +/* 800A10C8 0009E008 FC 02 00 32 */ fmul f0, f2, f0 +/* 800A10CC 0009E00C FC 21 00 32 */ fmul f1, f1, f0 +/* 800A10D0 0009E010 FC 20 08 18 */ frsp f1, f1 +/* 800A10D4 0009E014 48 00 00 88 */ b lbl_800A115C +lbl_800A10D8: +/* 800A10D8 0009E018 C8 02 92 F8 */ lfd f0, lbl_80452CF8-_SDA2_BASE_(r2) +/* 800A10DC 0009E01C FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A10E0 0009E020 40 80 00 10 */ bge lbl_800A10F0 +/* 800A10E4 0009E024 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 800A10E8 0009E028 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) +/* 800A10EC 0009E02C 48 00 00 70 */ b lbl_800A115C +lbl_800A10F0: +/* 800A10F0 0009E030 D0 21 00 08 */ stfs f1, 8(r1) +/* 800A10F4 0009E034 80 81 00 08 */ lwz r4, 8(r1) +/* 800A10F8 0009E038 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 +/* 800A10FC 0009E03C 3C 00 7F 80 */ lis r0, 0x7f80 +/* 800A1100 0009E040 7C 03 00 00 */ cmpw r3, r0 +/* 800A1104 0009E044 41 82 00 14 */ beq lbl_800A1118 +/* 800A1108 0009E048 40 80 00 40 */ bge lbl_800A1148 +/* 800A110C 0009E04C 2C 03 00 00 */ cmpwi r3, 0 +/* 800A1110 0009E050 41 82 00 20 */ beq lbl_800A1130 +/* 800A1114 0009E054 48 00 00 34 */ b lbl_800A1148 +lbl_800A1118: +/* 800A1118 0009E058 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 800A111C 0009E05C 41 82 00 0C */ beq lbl_800A1128 +/* 800A1120 0009E060 38 00 00 01 */ li r0, 1 +/* 800A1124 0009E064 48 00 00 28 */ b lbl_800A114C +lbl_800A1128: +/* 800A1128 0009E068 38 00 00 02 */ li r0, 2 +/* 800A112C 0009E06C 48 00 00 20 */ b lbl_800A114C +lbl_800A1130: +/* 800A1130 0009E070 54 80 02 7F */ clrlwi. r0, r4, 9 +/* 800A1134 0009E074 41 82 00 0C */ beq lbl_800A1140 +/* 800A1138 0009E078 38 00 00 05 */ li r0, 5 +/* 800A113C 0009E07C 48 00 00 10 */ b lbl_800A114C +lbl_800A1140: +/* 800A1140 0009E080 38 00 00 03 */ li r0, 3 +/* 800A1144 0009E084 48 00 00 08 */ b lbl_800A114C +lbl_800A1148: +/* 800A1148 0009E088 38 00 00 04 */ li r0, 4 +lbl_800A114C: +/* 800A114C 0009E08C 2C 00 00 01 */ cmpwi r0, 1 +/* 800A1150 0009E090 40 82 00 0C */ bne lbl_800A115C +/* 800A1154 0009E094 3C 60 80 45 */ lis r3, lbl_80450AE0@ha +/* 800A1158 0009E098 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3) +lbl_800A115C: +/* 800A115C 0009E09C C0 02 92 B8 */ lfs f0, lbl_80452CB8-_SDA2_BASE_(r2) +/* 800A1160 0009E0A0 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 800A1164 0009E0A4 40 81 00 70 */ ble lbl_800A11D4 +/* 800A1168 0009E0A8 7F E3 FB 78 */ mr r3, r31 +/* 800A116C 0009E0AC 38 80 00 14 */ li r4, 0x14 +/* 800A1170 0009E0B0 48 00 B3 E9 */ bl daAlink_c_NS_checkUnderMove0BckNoArc +/* 800A1174 0009E0B4 2C 03 00 00 */ cmpwi r3, 0 +/* 800A1178 0009E0B8 40 82 00 18 */ bne lbl_800A1190 +/* 800A117C 0009E0BC 7F E3 FB 78 */ mr r3, r31 +/* 800A1180 0009E0C0 38 80 00 37 */ li r4, 0x37 +/* 800A1184 0009E0C4 48 08 76 89 */ bl daAlink_c_NS_checkUnderMove0BckNoArcWolf +/* 800A1188 0009E0C8 2C 03 00 00 */ cmpwi r3, 0 +/* 800A118C 0009E0CC 41 82 00 48 */ beq lbl_800A11D4 +lbl_800A1190: +/* 800A1190 0009E0D0 C0 3F 04 D8 */ lfs f1, 0x4d8(r31) +/* 800A1194 0009E0D4 C0 42 93 50 */ lfs f2, lbl_80452D50-_SDA2_BASE_(r2) +/* 800A1198 0009E0D8 C0 1F 35 9C */ lfs f0, 0x359c(r31) +/* 800A119C 0009E0DC EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A11A0 0009E0E0 EC 81 00 2A */ fadds f4, f1, f0 +/* 800A11A4 0009E0E4 C0 22 92 E0 */ lfs f1, lbl_80452CE0-_SDA2_BASE_(r2) +/* 800A11A8 0009E0E8 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) +/* 800A11AC 0009E0EC EC 61 00 2A */ fadds f3, f1, f0 +/* 800A11B0 0009E0F0 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) +/* 800A11B4 0009E0F4 C0 1F 35 94 */ lfs f0, 0x3594(r31) +/* 800A11B8 0009E0F8 EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A11BC 0009E0FC EC 01 00 2A */ fadds f0, f1, f0 +/* 800A11C0 0009E100 D0 1B 00 00 */ stfs f0, 0(r27) +/* 800A11C4 0009E104 D0 7B 00 04 */ stfs f3, 4(r27) +/* 800A11C8 0009E108 D0 9B 00 08 */ stfs f4, 8(r27) +/* 800A11CC 0009E10C 7F 63 DB 78 */ mr r3, r27 +/* 800A11D0 0009E110 48 00 02 44 */ b lbl_800A1414 +lbl_800A11D4: +/* 800A11D4 0009E114 80 1F 05 74 */ lwz r0, 0x574(r31) +/* 800A11D8 0009E118 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 800A11DC 0009E11C 41 82 01 F8 */ beq lbl_800A13D4 +/* 800A11E0 0009E120 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) +/* 800A11E4 0009E124 28 00 01 11 */ cmplwi r0, 0x111 +/* 800A11E8 0009E128 40 82 00 28 */ bne lbl_800A1210 +/* 800A11EC 0009E12C 7F E3 FB 78 */ mr r3, r31 +/* 800A11F0 0009E130 38 9F 37 C8 */ addi r4, r31, 0x37c8 +/* 800A11F4 0009E134 4B FF F5 E5 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz +/* 800A11F8 0009E138 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A11FC 0009E13C 41 82 01 D8 */ beq lbl_800A13D4 +/* 800A1200 0009E140 38 00 00 00 */ li r0, 0 +/* 800A1204 0009E144 90 1C 00 00 */ stw r0, 0(r28) +/* 800A1208 0009E148 38 7F 37 C8 */ addi r3, r31, 0x37c8 +/* 800A120C 0009E14C 48 00 02 08 */ b lbl_800A1414 +lbl_800A1210: +/* 800A1210 0009E150 80 1F 27 EC */ lwz r0, 0x27ec(r31) +/* 800A1214 0009E154 28 00 00 00 */ cmplwi r0, 0 +/* 800A1218 0009E158 40 82 01 BC */ bne lbl_800A13D4 +/* 800A121C 0009E15C 7F E3 FB 78 */ mr r3, r31 +/* 800A1220 0009E160 48 01 22 E1 */ bl daAlink_c_NS_checkAttentionState +/* 800A1224 0009E164 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A1228 0009E168 41 82 00 10 */ beq lbl_800A1238 +/* 800A122C 0009E16C A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) +/* 800A1230 0009E170 28 00 00 F6 */ cmplwi r0, 0xf6 +/* 800A1234 0009E174 41 82 00 10 */ beq lbl_800A1244 +lbl_800A1238: +/* 800A1238 0009E178 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) +/* 800A123C 0009E17C 28 00 01 1B */ cmplwi r0, 0x11b +/* 800A1240 0009E180 40 82 01 94 */ bne lbl_800A13D4 +lbl_800A1244: +/* 800A1244 0009E184 3C 60 80 44 */ lis r3, lbl_80439A20@ha +/* 800A1248 0009E188 38 83 9A 20 */ addi r4, r3, lbl_80439A20@l +/* 800A124C 0009E18C A8 1F 2F E4 */ lha r0, 0x2fe4(r31) +/* 800A1250 0009E190 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c +/* 800A1254 0009E194 7C 64 02 14 */ add r3, r4, r0 +/* 800A1258 0009E198 C0 03 00 04 */ lfs f0, 4(r3) +/* 800A125C 0009E19C C0 3F 04 D8 */ lfs f1, 0x4d8(r31) +/* 800A1260 0009E1A0 C0 42 93 B8 */ lfs f2, lbl_80452DB8-_SDA2_BASE_(r2) +/* 800A1264 0009E1A4 EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A1268 0009E1A8 EC 81 00 2A */ fadds f4, f1, f0 +/* 800A126C 0009E1AC C0 7F 05 3C */ lfs f3, 0x53c(r31) +/* 800A1270 0009E1B0 7C 04 04 2E */ lfsx f0, r4, r0 +/* 800A1274 0009E1B4 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) +/* 800A1278 0009E1B8 EC 02 00 32 */ fmuls f0, f2, f0 +/* 800A127C 0009E1BC EC 01 00 2A */ fadds f0, f1, f0 +/* 800A1280 0009E1C0 D0 1B 00 00 */ stfs f0, 0(r27) +/* 800A1284 0009E1C4 D0 7B 00 04 */ stfs f3, 4(r27) +/* 800A1288 0009E1C8 D0 9B 00 08 */ stfs f4, 8(r27) +/* 800A128C 0009E1CC 7F E3 FB 78 */ mr r3, r31 +/* 800A1290 0009E1D0 7F 64 DB 78 */ mr r4, r27 +/* 800A1294 0009E1D4 4B FF F5 45 */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz +/* 800A1298 0009E1D8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A129C 0009E1DC 41 82 01 38 */ beq lbl_800A13D4 +/* 800A12A0 0009E1E0 38 00 00 00 */ li r0, 0 +/* 800A12A4 0009E1E4 90 1C 00 00 */ stw r0, 0(r28) +/* 800A12A8 0009E1E8 7F 63 DB 78 */ mr r3, r27 +/* 800A12AC 0009E1EC 48 00 01 68 */ b lbl_800A1414 +lbl_800A12B0: +/* 800A12B0 0009E1F0 83 3F 06 14 */ lwz r25, 0x614(r31) +/* 800A12B4 0009E1F4 3B C0 00 00 */ li r30, 0 +/* 800A12B8 0009E1F8 80 1F 05 90 */ lwz r0, 0x590(r31) +/* 800A12BC 0009E1FC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 800A12C0 0009E200 41 82 00 60 */ beq lbl_800A1320 +/* 800A12C4 0009E204 3B 40 00 01 */ li r26, 1 +/* 800A12C8 0009E208 48 10 B2 B5 */ bl dKy_darkworld_check +/* 800A12CC 0009E20C 54 60 06 3E */ clrlwi r0, r3, 0x18 +/* 800A12D0 0009E210 28 00 00 01 */ cmplwi r0, 1 +/* 800A12D4 0009E214 41 82 00 24 */ beq lbl_800A12F8 +/* 800A12D8 0009E218 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha +/* 800A12DC 0009E21C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l +/* 800A12E0 0009E220 38 63 00 28 */ addi r3, r3, 0x28 +/* 800A12E4 0009E224 38 80 00 03 */ li r4, 3 +/* 800A12E8 0009E228 4B F9 19 05 */ bl isTransformLV__21dSv_player_status_b_cCFi +/* 800A12EC 0009E22C 2C 03 00 00 */ cmpwi r3, 0 +/* 800A12F0 0009E230 40 82 00 08 */ bne lbl_800A12F8 +/* 800A12F4 0009E234 3B 40 00 00 */ li r26, 0 +lbl_800A12F8: +/* 800A12F8 0009E238 57 40 06 3F */ clrlwi. r0, r26, 0x18 +/* 800A12FC 0009E23C 41 82 00 24 */ beq lbl_800A1320 +/* 800A1300 0009E240 80 1F 05 74 */ lwz r0, 0x574(r31) +/* 800A1304 0009E244 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 +/* 800A1308 0009E248 41 82 00 18 */ beq lbl_800A1320 +/* 800A130C 0009E24C 38 00 00 01 */ li r0, 1 +/* 800A1310 0009E250 90 1C 00 00 */ stw r0, 0(r28) +/* 800A1314 0009E254 80 6D 8A 98 */ lwz r3, lbl_80451018-_SDA_BASE_(r13) +/* 800A1318 0009E258 38 63 05 38 */ addi r3, r3, 0x538 +/* 800A131C 0009E25C 48 00 00 F8 */ b lbl_800A1414 +lbl_800A1320: +/* 800A1320 0009E260 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31) +/* 800A1324 0009E264 28 00 01 4A */ cmplwi r0, 0x14a +/* 800A1328 0009E268 41 82 00 4C */ beq lbl_800A1374 +/* 800A132C 0009E26C 28 19 00 17 */ cmplwi r25, 0x17 +/* 800A1330 0009E270 41 82 00 44 */ beq lbl_800A1374 +/* 800A1334 0009E274 7F E3 FB 78 */ mr r3, r31 +/* 800A1338 0009E278 7F 24 CB 78 */ mr r4, r25 +/* 800A133C 0009E27C 48 07 5B 25 */ bl daAlink_c_NS_checkDemoMoveMode +/* 800A1340 0009E280 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A1344 0009E284 40 82 00 30 */ bne lbl_800A1374 +/* 800A1348 0009E288 28 19 00 01 */ cmplwi r25, 1 +/* 800A134C 0009E28C 41 82 00 28 */ beq lbl_800A1374 +/* 800A1350 0009E290 28 19 00 04 */ cmplwi r25, 4 +/* 800A1354 0009E294 41 82 00 20 */ beq lbl_800A1374 +/* 800A1358 0009E298 28 19 00 2C */ cmplwi r25, 0x2c +/* 800A135C 0009E29C 41 82 00 18 */ beq lbl_800A1374 +/* 800A1360 0009E2A0 38 19 FF D1 */ addi r0, r25, -47 +/* 800A1364 0009E2A4 28 00 00 02 */ cmplwi r0, 2 +/* 800A1368 0009E2A8 40 81 00 0C */ ble lbl_800A1374 +/* 800A136C 0009E2AC 28 19 00 0C */ cmplwi r25, 0xc +/* 800A1370 0009E2B0 40 82 00 44 */ bne lbl_800A13B4 +lbl_800A1374: +/* 800A1374 0009E2B4 7F E3 FB 78 */ mr r3, r31 +/* 800A1378 0009E2B8 48 07 6D 75 */ bl daAlink_c_NS_getDemoLookActor +/* 800A137C 0009E2BC 7C 64 1B 79 */ or. r4, r3, r3 +/* 800A1380 0009E2C0 41 82 00 18 */ beq lbl_800A1398 +/* 800A1384 0009E2C4 A8 04 00 08 */ lha r0, 8(r4) +/* 800A1388 0009E2C8 2C 00 00 FF */ cmpwi r0, 0xff +/* 800A138C 0009E2CC 40 82 00 0C */ bne lbl_800A1398 +/* 800A1390 0009E2D0 38 64 05 38 */ addi r3, r4, 0x538 +/* 800A1394 0009E2D4 48 00 00 80 */ b lbl_800A1414 +lbl_800A1398: +/* 800A1398 0009E2D8 7F E3 FB 78 */ mr r3, r31 +/* 800A139C 0009E2DC 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A13A0 0009E2E0 4B FF F4 C9 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A13A4 0009E2E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A13A8 0009E2E8 41 82 00 2C */ beq lbl_800A13D4 +/* 800A13AC 0009E2EC 80 61 00 10 */ lwz r3, 0x10(r1) +/* 800A13B0 0009E2F0 48 00 00 64 */ b lbl_800A1414 +lbl_800A13B4: +/* 800A13B4 0009E2F4 7F E3 FB 78 */ mr r3, r31 +/* 800A13B8 0009E2F8 80 9F 28 60 */ lwz r4, 0x2860(r31) +/* 800A13BC 0009E2FC 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800A13C0 0009E300 4B FF F4 A9 */ bl checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz +/* 800A13C4 0009E304 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A13C8 0009E308 41 82 00 0C */ beq lbl_800A13D4 +/* 800A13CC 0009E30C 80 61 00 10 */ lwz r3, 0x10(r1) +/* 800A13D0 0009E310 48 00 00 44 */ b lbl_800A1414 +lbl_800A13D4: +/* 800A13D4 0009E314 2C 1D 00 00 */ cmpwi r29, 0 +/* 800A13D8 0009E318 40 82 00 0C */ bne lbl_800A13E4 +/* 800A13DC 0009E31C 38 60 00 00 */ li r3, 0 +/* 800A13E0 0009E320 48 00 00 34 */ b lbl_800A1414 +lbl_800A13E4: +/* 800A13E4 0009E324 7F C0 07 35 */ extsh. r0, r30 +/* 800A13E8 0009E328 40 81 00 28 */ ble lbl_800A1410 +/* 800A13EC 0009E32C 38 1E FF FF */ addi r0, r30, -1 +/* 800A13F0 0009E330 B0 1F 31 1C */ sth r0, 0x311c(r31) +/* 800A13F4 0009E334 7F E3 FB 78 */ mr r3, r31 +/* 800A13F8 0009E338 38 9F 35 04 */ addi r4, r31, 0x3504 +/* 800A13FC 0009E33C 4B FF F3 DD */ bl checkAttentionPosAngle__9daAlink_cFP4cXyz +/* 800A1400 0009E340 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800A1404 0009E344 41 82 00 0C */ beq lbl_800A1410 +/* 800A1408 0009E348 38 7F 35 04 */ addi r3, r31, 0x3504 +/* 800A140C 0009E34C 48 00 00 08 */ b lbl_800A1414 +lbl_800A1410: +/* 800A1410 0009E350 38 60 00 00 */ li r3, 0 +lbl_800A1414: +/* 800A1414 0009E354 39 61 00 60 */ addi r11, r1, 0x60 +/* 800A1418 0009E358 48 2C 0D FD */ bl func_80362214 +/* 800A141C 0009E35C 80 01 00 64 */ lwz r0, 0x64(r1) +/* 800A1420 0009E360 7C 08 03 A6 */ mtlr r0 +/* 800A1424 0009E364 38 21 00 60 */ addi r1, r1, 0x60 +/* 800A1428 0009E368 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/d/d_a/d_a_alink/d_a_alink.h b/include/d/d_a/d_a_alink/d_a_alink.h new file mode 100644 index 00000000000..8792a245104 --- /dev/null +++ b/include/d/d_a/d_a_alink/d_a_alink.h @@ -0,0 +1,368 @@ +#ifndef D_A_ALINK_H_ +#define D_A_ALINK_H_ + +#include "global.h" +#include "f/f_op/f_op_actor.h" +#include "d/d_cc/d_cc_d.h" +#include "d/d_a/d_a_player/d_a_player.h" +#include "d/d_com/d_com_inf_game/d_com_inf_game.h" +#include "d/d_resource/d_resource.h" +#include "d/d_save/d_save/d_save.h" +#include "SComponent/c_bg_s_poly_info.h" +#include "JSystem/J3DGraphAnimator/J3DModelData.h" +#include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/J3DGraphAnimator/J3DModelLoader.h" +#include "JSystem/J3DGraphAnimator/J3DJoint.h" + +typedef u32 daAlink_ANM; +typedef u32 daAlink_UPPER; +typedef u32 daAlink_UNDER; +typedef u32 daAlink_FTANM; + +class daAlink_matAnm_c{ + public: + void init(void); + void calc(J3DMaterial*) const; + + private: + u8 unk0[0xf4]; + float unk244; + float unk248; + float unk252; + float unk256; + u32 unk260; +}; + +class daAlink_footData_c; +class daAlinkHIO_anm_c; +class daPy_frameCtrl_c; +struct cM3dGPla; + +struct csXyz{ //move later + s16 x,y,z; +}; + +class daAlink_c{ + public: + u32 getE3Zhint(void); + const char* getAlinkArcName(void); + u32 checkStageName(const char*); + void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*); + void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*); + void setMatrixWorldAxisRot(float(*)[4],short,short,short,int,const cXyz*); + bool jointControll(int); + void setUpperFront(void); + void changeBlendRate(int); + void resetRootMtx(void); + bool modelCallBack(int); + bool headModelCallBack(int); + bool wolfModelCallBack(int); + void setHatAngle(void); + void calcHairAngle(short*); + void setHairAngle(cXyz*,float,float); + void setLookPosFromOut(cXyz*); + int checkAttentionPosAngle(cXyz*); + bool checkActorPosAngle(fopAc_ac_c*, cXyz**); + cXyz* getNeckAimPos(cXyz*, int*, int); + int getNeckAimAngle(cXyz*, short*, short*, short*, short*); + double setEyeMove(cXyz*, short, short); + void setNeckAngle(void); + bool getStickAngleFromPlayerShape(short*) const; + void commonLineCheck(cXyz*,cXyz*); + int getMoveBGActorName(cBgS_PolyInfo&, int); + bool checkGoronRide(void); + void setMoveSlantAngle(void); + bool setArmMatrix(void); + bool setFootMatrix(void); + void setMatrixOffset(float*,float); + bool setLegAngle(float, daAlink_footData_c*, short*, short*, int); + void footBgCheck(void); + void handBgCheck(void); + void setItemHeap(void); + void setIdxMask(u16*, u16*); + void getAnimeResource(daPy_anmHeap_c*, u16, u32); + u32 initModel(J3DModelData*, u32, u32); + void initModel(u16, u32); + void initModelEnv(u16, u32); + bool initDemoModel(J3DModel**, char const*, u32); + bool initDemoBck(mDoExt_bckAnm**, char const*); + bool createHeap(void); + void setSelectEquipItem(int); + bool checkBoarStart(void); + bool checkCanoeStart(void); + void playerInit(void); + bool checkHorseStart(u32, int); + bool setStartProcInit(void); + u32 create(void); + int setRoomInfo(void); + void setShapeAngleOnGround(void); + void setStepsOffset(void); + void iceSlipBgCheck(void); + void setIceSlipSpeed(void); + double setPolygonSpeed(void); + bool checkWindSpeedOnAngle(void) const; + bool checkWindSpeedOnAngleAnime(int) const; + bool checkDashAnime(void) const; + double checkWindWallRate(cXyz const&); + void setWindSpeed(void); + void setBodyPartPos(void); + u32 setRollJump(float, float, short); + void setAttentionPos(void); + void setMatrix(void); + double simpleAnmPlay(J3DAnmBase*); + void setSwordPos(void); + void setItemMatrix(int); + void setWolfItemMatrix(void); + void setHandIndex(daAlink_ANM); + void setSwordAtCollision(int); + bool checkNoCollisionCorret(void); + void decSwordBlur(void); + void resetWolfAtCollision(void); + void setWolfAtCollision(void); + void resetAtCollision(int); + void setAtCollision(void); + void setWolfCollisionPos(void); + void initLockAt(void); + void cancelLockAt(void); + void setCollisionPos(void); + void setCollision(void); + double getBaseAnimeFrame(void) const; + void setAnimeFrame(float); + void setFrameCtrl(daPy_frameCtrl_c*, u8, short, short, float, float); + u8 getMainBckData(daAlink_ANM); + bool checkUnderMove0BckNoArc(daAlink_ANM) const; + bool checkUnderMove1BckNoArc(daAlink_ANM) const; + u32 getUnderUpperAnime(daAlink_ANM, J3DAnmTransform**, J3DAnmTransform**, int, u32); + void setDoubleAnimeBlendRatio(float); + void commonDoubleAnime(J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, J3DAnmTransform*, float, float, float, int); + bool setDoubleAnime(float, float, float, daAlink_ANM, daAlink_ANM, int, float); + void commonSingleAnime(J3DAnmTransform*, J3DAnmTransform*, float, float, short); + void setSingleAnimeBase(daAlink_ANM); + void setSingleAnimeBaseMorf(daAlink_ANM, float); + void setSingleAnimeBaseSpeed(daAlink_ANM, float, float); + bool setSingleAnime(daAlink_ANM, float, float, short, float); + void setSingleAnimeParam(daAlink_ANM, daAlinkHIO_anm_c const*); + daAlink_c* animePlay(J3DAnmTransform*, daPy_frameCtrl_c*); + void allAnimePlay(void); + void setUpperAnimeMorf(float); + void setUpperAnimeBase(u16); + void setUpperAnimeBaseMorf(u16, float); + void setUpperAnimeBaseSpeed(u16, float, float); + void setUpperAnime(u16, daAlink_UPPER, float, float, short, float); + void setUpperAnimeParam(u16, daAlink_UPPER, daAlinkHIO_anm_c const*); + bool resetUpperAnime(daAlink_UPPER, float); + void setUnderAnimeMorf(float); + bool setUnderAnime(u16, daAlink_UNDER, float, float, short, float); + void setUnderAnimeParam(u16, daAlink_UNDER, daAlinkHIO_anm_c const*); + bool resetUnderAnime(daAlink_UNDER, float); + void setOldRootQuaternion(short, short, short); + bool checkAtnLeftAnime(void); + bool checkAtnRightAnime(void); + double getMoveGroundAngleSpeedRate(void); + void setBlendMoveAnime(float); + void setBlendAtnMoveAnime(float); + void setBlendAtnBackMoveAnime(float); + void setFaceBck(u16, int, u16); + void setFaceBtp(u16, int, u16); + void setFaceBtk(u16, int, u16); + daAlink_FTANM setFaceBasicTexture(daAlink_FTANM); + void setFaceBasicAnime(daAlink_ANM); + void setFacePriTexture(daAlink_FTANM); + void setFacePriAnime(daAlink_ANM); + void resetFacePriBck(void); + void resetFacePriBtp(void); + void resetFacePriBtk(void); + void resetFacePriTexture(void); + void resetFacePriAnime(void); + void playFaceTextureAnime(void); + int getGroundAngle(cBgS_PolyInfo*, short); + int getRoofAngle(cBgS_PolyInfo*, short); + u32 getWallEdgePos(cXyz const&, cM3dGPla*, cM3dGPla*, cXyz*, int); + void setFrontWallType(void); + bool checkWaterPolygonUnder(void); + void setWaterY(void); + void setHangWaterY(void); + void setSandDownBgCheckWallH(void); + void setBgCheckParam(void); + bool checkNotJumpSinkLimit(void); + bool checkNotItemSinkLimit(void); + void setSandShapeOffset(void); + bool checkLv2MiddleBossBgRide(short); + bool getSlidePolygon(cM3dGPla*); + bool checkSlope(void) const; + void setPlayerPosAndAngle(cXyz const*, short, int); + void setPlayerPosAndAngle(cXyz const*, csXyz const*); + void setPlayerPosAndAngle(float(*)[4]); + u32 itemTriggerCheck(u8); + u32 itemButtonCheck(u8); + + private: + u8 unk[14268]; +}; + +extern "C"{ + void tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*); + void coHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInf(fopAc_ac_c*, dCcD_GObjInf*); + void J3DMaterialAnm_NS_calc(void); + void PSVECAdd(Vec*, Vec*, Vec*); + void mDoMtx_stack_c_NS_transM(float, float, float); + void daAlink_c_NS_concatMagneBootInvMtx(void); + void mDoMtx_ZXYrotM(void); + void mDoMtx_YrotM(void); + void daAlink_c_NS_concatMagneBootMtx(void); + void mDoMtx_stack_c_NS_transS(void); + void PSMTXQuat(void); + void PSMTXInverse(void); + void mDoMtx_stack_c_NS_quatM(void); + void PSMTXTrans(void); + void daAlink_c_NS_checkUnderMove0BckNoArc(void); + void mDoMtx_QuatConcat(void); + void JMAEulerToQuat(void); + void daAlink_c_NS_checkBowAnime(void); + void setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz(float(*)[4],short,short,short,int,const cXyz*); + void daAlink_c_NS_checkHorseLieAnime(void); + void csXyz_X1_(void); + void daAlink_c_NS_checkNoUpperAnime(void); + void daAlink_c_NS_checkUpperReadyThrowAnime(void); + void daAlink_c_NS_setDoubleAnimeBlendRatio(void); + void changeBlendRate__9daAlink_cFi(int); + void daAlink_c_NS_setArmMatrix(void); + void daAlink_c_NS_setFootMatrix(void); + void setUpperFront__9daAlink_cFv(void); + bool jointControll__9daAlink_cFi(int); + void resetRootMtx__9daAlink_cFv(void); + bool modelCallBack__9daAlink_cFi(int); + void daAlink_c_NS_checkZoraWearAbility(void); + void mDoMtx_stack_c_NS_scaleM(void); + void mDoMtx_XYZrotM(void); + void mDoMtx_ZrotM(void); + bool headModelCallBack__9daAlink_cFi(int); + void daAlink_c_NS_changeWolfBlendRate(void); + void daAlink_c_NS_setWolfFootMatrix(void); + bool wolfModelCallBack__9daAlink_cFi(int); + void cLib_addCalcAngleS2(void); + void PSMTXMultVec(void); + void daAlink_c_NS_getMoveBGActorName(void); + void daAlink_c_NS_multVecMagneBootInvMtx(void); + void cXyz_NS___ml(void); + void cXyz_NS_atan2sY_XZ(void); + void cM_atan2s(void); + void cLib_distanceAngleS(void); + void cXyz_NS_atan2sX_Z(void); + void PSMTXMultVecSR(void); + void cXyz_NS___mi(void); + void dKyw_get_AllWind_vec(void); + void PSVECSquareMag(void); + void cLib_addCalcAngleS(void); + void cM_rndF(void); + void calcHairAngle__9daAlink_cFPs(short*); + void setHairAngle__9daAlink_cFP4cXyzff(cXyz*,float,float); + void cLib_targetAngleY(void); + void daAlink_c_NS_checkEnemyGroup(void); + int checkAttentionPosAngle__9daAlink_cFP4cXyz(cXyz*); + void daAlink_c_NS_getDemoLookActor(void); + void daAlink_c_NS_checkDemoMoveMode(void); + bool isTransformLV__21dSv_player_status_b_cCFi(int); + void dKy_darkworld_check(void); + void daAlink_c_NS_checkAttentionState(void); + void daAlink_c_NS_checkUnderMove0BckNoArcWolf(void); + void daAlink_c_NS_checkWindSpeedOnAngleAnime(void); + void daAlink_c_NS_getCopyRodControllActor(void); + void dAttLook_c_NS_convPId(void); + void daAlink_c_NS_checkEventRun(void); + bool checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz(fopAc_ac_c*, cXyz**); + void dCamera_c_NS_GetForceLockOnActor(void); + void dCam_getBody(void); + void dAttention_c_NS_LockonTarget(void); + void cM_rnd(void); + void fopAcIt_Judge(void); + void dAttList_c_NS_getActor(void); + void dAttention_c_NS_GetLockonList(void); + void fopAcM_getTalkEventPartner(void); +} + +//daalink_matanm init +extern float lbl_80452CC0; +extern u8 lbl_80450FC8; +extern u8 lbl_80450FC9; + +//daalink_matanm calc +extern double lbl_80452CB0; +extern float lbl_80452CB8; + +//daalink setmatrixworldaxisrot +struct now{ // m_Do_mtx::mDoMtx_stack_c::now + float unk0[4]; + float unk10[4]; + float unk20[4]; +}; +struct mCurrentMtx{ // J3DGraphBase::J3DSys::mCurrentMtx + float unk0[4]; + float unk10[4]; + float unk20[4]; +}; +extern now lbl_803DD470; +extern mCurrentMtx lbl_80434BE4; + +//daalink modelcallback +struct j3dsys; // J3DGraphBase::j3dSys +extern j3dsys lbl_80434AC8; + +//daalink headmodelcallback +extern float lbl_80452EDC; + +//daalink sethatangle +extern float lbl_80452CE0; +extern double lbl_80452CE8; +extern float lbl_80452D50; +extern float lbl_80452DF8; +extern float lbl_80452C9C; +extern double lbl_80452CF0; +extern double lbl_80452CF8; +extern float lbl_80452D14; +extern float lbl_80452D3C; +extern float lbl_80452D88; +extern float lbl_80452ED4; +extern float lbl_80452F0C; +extern float lbl_80453058; +extern float lbl_80453100; +extern float lbl_804531F0; +extern float lbl_804531F4; +extern cXyz lbl_80430CF4; // SComponent::cXyz::Zero +extern cXyz lbl_80430D0C; // SComponent::cXyz::BaseX +extern cXyz lbl_80430D24; // SComponent::cXyz::BaseY +extern u8 lbl_80439A20[65536]; // JMath::JMath::sincosTable_ + +//daalink sethairangle +extern float lbl_80452C98; +extern float lbl_80452D18; +extern float lbl_80452D5C; +extern float lbl_80452DEC; +extern float lbl_80452DB8; +extern float lbl_80452E4C; +extern float lbl_80452E54; +extern float lbl_80452E5C; +extern float lbl_80452E60; +extern float lbl_80452F08; +extern float lbl_80452FDC; +extern float lbl_80453158; +extern float lbl_804531F8; +extern float lbl_804531FC; +extern float lbl_80453200; +extern float lbl_80453204; +extern float lbl_80453208; +extern float lbl_8045320C; +extern float lbl_80453210; + +//daalink checkattentionposangle +extern u8 lbl_8038E5A4[0x6C]; // daAlinkHIO_horse_c0::m + +//daalink getneckaimpos +extern u32 lbl_80451018; // daPy_py_c::m_midnaActor +extern float lbl_80452D68; +extern float lbl_80452DB0; +extern float lbl_80452DE0; +extern float lbl_80452E44; + + +#endif \ No newline at end of file diff --git a/include/d/d_a/d_a_player/d_a_player.h b/include/d/d_a/d_a_player/d_a_player.h new file mode 100644 index 00000000000..8689ae6977d --- /dev/null +++ b/include/d/d_a/d_a_player/d_a_player.h @@ -0,0 +1,8 @@ +#ifndef D_A_PLAYER_H_ +#define D_A_PLAYER_H_ + +class daPy_anmHeap_c{ + +}; + +#endif \ No newline at end of file diff --git a/include/d/d_bomb/d_bomb.h b/include/d/d_bomb/d_bomb.h index d2aef9c456c..a859ffe784b 100644 --- a/include/d/d_bomb/d_bomb.h +++ b/include/d/d_bomb/d_bomb.h @@ -1,6 +1,5 @@ #include "global.h" - -class fopAc_ac_c; +#include "f/f_op/f_op_actor.h" class dBomb_c{ public: diff --git a/include/d/d_cc/d_cc_d.h b/include/d/d_cc/d_cc_d.h new file mode 100644 index 00000000000..cabb243b6ea --- /dev/null +++ b/include/d/d_cc/d_cc_d.h @@ -0,0 +1,8 @@ +#ifndef D_CC_D_H_ +#define D_CC_D_H_ + +struct dCcD_GObjInf{ + +}; + +#endif \ No newline at end of file diff --git a/include/d/d_com/d_com_inf_game/d_com_inf_game.h b/include/d/d_com/d_com_inf_game/d_com_inf_game.h index ad5fb3efc14..8ff028206b8 100644 --- a/include/d/d_com/d_com_inf_game/d_com_inf_game.h +++ b/include/d/d_com/d_com_inf_game/d_com_inf_game.h @@ -36,6 +36,10 @@ class dComIfG_camera_info_class { u8 unk[0x38]; }; +struct mDoExt_bckAnm{ + +}; + struct item_func{ float hearts; //bf80 u32 rupees; //bf84 diff --git a/include/d/d_resource/d_resource.h b/include/d/d_resource/d_resource.h index 9b5df031113..1443040c5bb 100644 --- a/include/d/d_resource/d_resource.h +++ b/include/d/d_resource/d_resource.h @@ -23,4 +23,12 @@ class dRes_info_c { // void** resource_buffer; }; +struct J3DAnmBase{ + +}; + +struct J3DAnmTransform{ + +}; + #endif \ No newline at end of file diff --git a/include/f/f_op/f_op_actor.h b/include/f/f_op/f_op_actor.h new file mode 100644 index 00000000000..f1820b1018c --- /dev/null +++ b/include/f/f_op/f_op_actor.h @@ -0,0 +1,8 @@ +#ifndef F_OP_ACTOR_H_ +#define F_OP_ACTOR_H_ + +class fopAc_ac_c{ + +}; + +#endif \ No newline at end of file diff --git a/ldscript.lcf b/ldscript.lcf index 7ef04761260..7eed48f5afc 100644 --- a/ldscript.lcf +++ b/ldscript.lcf @@ -1304,6 +1304,8 @@ __sinit_JKRDvdAramRipper_cpp __dt__7JKRAramFv __sinit_JKRAram_cpp run__7JKRAramFv +getAlinkArcName__9daAlink_cFv +calc__16daAlink_matAnm_cCFP11J3DMaterial getResetData__6mDoRstFv } /* diff --git a/obj_files.mk b/obj_files.mk index ade8da4192b..cff2f647073 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -147,6 +147,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/d/d_model.o \ $(BUILD_DIR)/asm/d/eye/d_eye_hl.o \ $(BUILD_DIR)/asm/d/error/d_error_msg.o \ + $(BUILD_DIR)/src/d/d_a/d_a_alink.o \ $(BUILD_DIR)/asm/d/a/d_a_alink.o \ $(BUILD_DIR)/asm/d/a/d_a_itembase.o \ $(BUILD_DIR)/asm/d/a/no/chg/d_a_no_chg_room.o \ diff --git a/src/d/d_a/d_a_alink.cpp b/src/d/d_a/d_a_alink.cpp index 4bf93c8658d..8a9e3dc7007 100644 --- a/src/d/d_a/d_a_alink.cpp +++ b/src/d/d_a/d_a_alink.cpp @@ -1 +1,150 @@ -// ok +#include "d/d_a/d_a_alink/d_a_alink.h" +#include "f/f_pc/f_pc_searcher.h" + +u32 daAlink_c::getE3Zhint(void){ + return 0; +} + +asm const char* daAlink_c::getAlinkArcName(void){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009D884.s" +} + +asm void daAlink_tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*,fopAc_ac_c*, dCcD_GObjInf*){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009D88C.s" +} + +asm void daAlink_coHitCallback(fopAc_ac_c*, dCcD_GObjInf*,fopAc_ac_c*, dCcD_GObjInf*){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009D8B8.s" +} + +void daAlink_matAnm_c::init(void){ + float init = lbl_80452CC0; + + unk244 = init; + unk248 = init; + unk252 = init; + unk256 = init; + lbl_80450FC8 = 0; + lbl_80450FC9 = 0; + unk260 = 0; +} + +asm void daAlink_matAnm_c::calc(J3DMaterial*) const{ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009D90C.s" +} + +// 1 missing mr instruction +#ifdef NONMATCHING +u32 daAlink_c::checkStageName(const char* stage){ + return (u32)__cntlzw(strcmp(g_dComIfG_gameInfo.stage,(char*)stage)) >> 5; // no idea if current stage vars are a struct or part of some class +} +#else +asm u32 daAlink_c::checkStageName(char const* stage){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009DA60.s" +} +#endif + +asm void daAlink_c::tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009DA98.s" +} + +asm void daAlink_c::coHitCallback(fopAc_ac_c*, dCcD_GObjInf*){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009DB64.s" +} + +asm void daAlink_c::setMatrixWorldAxisRot(float(*)[4],short,short,short,int,const cXyz*){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009DC6C.s" +} + +asm bool daAlink_c::jointControll(int){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009DD90.s" +} + +asm void daAlink_c::setUpperFront(void){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009E7B8.s" +} + +asm void daAlink_c::changeBlendRate(int){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009E91C.s" +} + +asm void daAlink_c::resetRootMtx(void){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009EB18.s" +} + +asm bool daAlink_c::modelCallBack(int){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009EB58.s" +} + +asm bool daAlink_modelCallBack(J3DJoint*, int){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009EC28.s" +} + +asm bool daAlink_c::headModelCallBack(int){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009ECA0.s" +} + +asm bool daAlink_headModelCallBack(J3DJoint*, int){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009EF38.s" +} + +asm bool daAlink_c::wolfModelCallBack(int){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009EF7C.s" +} + +asm bool daAlink_wolfModelCallBack(J3DJoint*, int){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009EFF0.s" +} + +asm void daAlink_c::setHatAngle(void){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009F034.s" +} + +asm void daAlink_c::calcHairAngle(short*){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_8009FFF8.s" +} + +asm void daAlink_c::setHairAngle(cXyz*,float,float){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_800A002C.s" +} + +asm void daAlink_c::setLookPosFromOut(cXyz*){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_800A0744.s" +} + +asm int daAlink_c::checkAttentionPosAngle(cXyz*){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_800A07D8.s" +} + +asm bool daAlink_c::checkActorPosAngle(fopAc_ac_c*, cXyz**){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_800A0868.s" +} + +asm cXyz* daAlink_c::getNeckAimPos(cXyz*, int*, int){ + nofralloc + #include "d/d_a/d_a_alink/asm/func_800A093C.s" +} \ No newline at end of file