You've already forked smb-decomp
mirror of
https://github.com/encounter/smb-decomp.git
synced 2026-03-30 11:38:28 -07:00
d69cf621b6
* initial work on reldisasm * super janky WIP elf2rel tool finally produces a matching file * build mkbe.sel_stage.rel * decompile mkbe.sel_stage.rel * oops * accentally broke dependencies * disassemble mkbe.rel_mini_pilot.rel * refactor elf2dol * disassemble mkbe.option.rel * disassemble mkbe.rel_mini_bowling.rel * disassemble mkbe.rel_mini_race.rel * disassemble mkbe.test_mode.rel * disassemble mkbe.sel_ngc.rel * disassemble mkbe.rel_mini_fight.rel * disassemble mkbe.rel_mini_billiards.rel * disassemble mkbe.rel_mini_golf.rel
7427 lines
347 KiB
ArmAsm
7427 lines
347 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x800065A0 - 0x8010F860
|
|
|
|
.global g_handle_ball_stage_collision
|
|
g_handle_ball_stage_collision:
|
|
/* 8003DABC 000399DC 7C 08 02 A6 */ mflr r0
|
|
/* 8003DAC0 000399E0 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003DAC4 000399E4 94 21 FF 98 */ stwu r1, -0x68(r1)
|
|
/* 8003DAC8 000399E8 BF 41 00 50 */ stmw r26, 0x50(r1)
|
|
/* 8003DACC 000399EC 3B 83 00 00 */ addi r28, r3, 0
|
|
/* 8003DAD0 000399F0 3B A4 00 00 */ addi r29, r4, 0
|
|
/* 8003DAD4 000399F4 80 0D 9C FC */ lwz r0, dipSwitches@sda21(r13)
|
|
/* 8003DAD8 000399F8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
|
|
/* 8003DADC 000399FC 41 82 00 8C */ beq lbl_8003DB68
|
|
/* 8003DAE0 00039A00 C0 62 8E 08 */ lfs f3, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003DAE4 00039A04 38 A0 C0 00 */ li r5, -16384
|
|
/* 8003DAE8 00039A08 C0 42 8E 0C */ lfs f2, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 8003DAEC 00039A0C 38 00 00 00 */ li r0, 0
|
|
/* 8003DAF0 00039A10 D0 61 00 10 */ stfs f3, 0x10(r1)
|
|
/* 8003DAF4 00039A14 C0 22 8E 10 */ lfs f1, lbl_802F3610-_SDA2_BASE_(r2)
|
|
/* 8003DAF8 00039A18 7F 83 E3 78 */ mr r3, r28
|
|
/* 8003DAFC 00039A1C D0 61 00 14 */ stfs f3, 0x14(r1)
|
|
/* 8003DB00 00039A20 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 8003DB04 00039A24 C0 02 8E 14 */ lfs f0, lbl_802F3614-_SDA2_BASE_(r2)
|
|
/* 8003DB08 00039A28 D0 61 00 18 */ stfs f3, 0x18(r1)
|
|
/* 8003DB0C 00039A2C D0 61 00 1C */ stfs f3, 0x1c(r1)
|
|
/* 8003DB10 00039A30 D0 41 00 20 */ stfs f2, 0x20(r1)
|
|
/* 8003DB14 00039A34 D0 61 00 24 */ stfs f3, 0x24(r1)
|
|
/* 8003DB18 00039A38 B0 A1 00 28 */ sth r5, 0x28(r1)
|
|
/* 8003DB1C 00039A3C B0 01 00 2A */ sth r0, 0x2a(r1)
|
|
/* 8003DB20 00039A40 B0 01 00 2C */ sth r0, 0x2c(r1)
|
|
/* 8003DB24 00039A44 D0 21 00 30 */ stfs f1, 0x30(r1)
|
|
/* 8003DB28 00039A48 D0 61 00 34 */ stfs f3, 0x34(r1)
|
|
/* 8003DB2C 00039A4C D0 61 00 38 */ stfs f3, 0x38(r1)
|
|
/* 8003DB30 00039A50 D0 21 00 3C */ stfs f1, 0x3c(r1)
|
|
/* 8003DB34 00039A54 D0 01 00 40 */ stfs f0, 0x40(r1)
|
|
/* 8003DB38 00039A58 D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
/* 8003DB3C 00039A5C D0 41 00 48 */ stfs f2, 0x48(r1)
|
|
/* 8003DB40 00039A60 D0 61 00 4C */ stfs f3, 0x4c(r1)
|
|
/* 8003DB44 00039A64 90 1C 00 58 */ stw r0, 0x58(r28)
|
|
/* 8003DB48 00039A68 48 00 02 E5 */ bl func_8003DE2C
|
|
/* 8003DB4C 00039A6C 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DB50 00039A70 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 8003DB54 00039A74 48 00 05 39 */ bl func_8003E08C
|
|
/* 8003DB58 00039A78 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DB5C 00039A7C 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 8003DB60 00039A80 48 00 0A 75 */ bl func_8003E5D4
|
|
/* 8003DB64 00039A84 48 00 01 A4 */ b lbl_8003DD08
|
|
lbl_8003DB68:
|
|
/* 8003DB68 00039A88 83 FD 00 0C */ lwz r31, 0xc(r29)
|
|
/* 8003DB6C 00039A8C 3B C0 00 00 */ li r30, 0
|
|
/* 8003DB70 00039A90 48 00 01 60 */ b lbl_8003DCD0
|
|
lbl_8003DB74:
|
|
/* 8003DB74 00039A94 80 1C 00 58 */ lwz r0, 0x58(r28)
|
|
/* 8003DB78 00039A98 7C 1E 00 00 */ cmpw r30, r0
|
|
/* 8003DB7C 00039A9C 41 82 00 10 */ beq lbl_8003DB8C
|
|
/* 8003DB80 00039AA0 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DB84 00039AA4 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 8003DB88 00039AA8 48 00 44 79 */ bl func_80042000
|
|
lbl_8003DB8C:
|
|
/* 8003DB8C 00039AAC C0 3C 00 04 */ lfs f1, 4(r28)
|
|
/* 8003DB90 00039AB0 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003DB94 00039AB4 C0 5C 00 0C */ lfs f2, 0xc(r28)
|
|
/* 8003DB98 00039AB8 48 00 01 85 */ bl func_8003DD1C
|
|
/* 8003DB9C 00039ABC 7C 7A 1B 79 */ or. r26, r3, r3
|
|
/* 8003DBA0 00039AC0 41 82 00 88 */ beq lbl_8003DC28
|
|
/* 8003DBA4 00039AC4 7F 5B D3 78 */ mr r27, r26
|
|
/* 8003DBA8 00039AC8 48 00 00 1C */ b lbl_8003DBC4
|
|
lbl_8003DBAC:
|
|
/* 8003DBAC 00039ACC 80 9F 00 1C */ lwz r4, 0x1c(r31)
|
|
/* 8003DBB0 00039AD0 54 60 30 32 */ slwi r0, r3, 6
|
|
/* 8003DBB4 00039AD4 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DBB8 00039AD8 7C 84 02 14 */ add r4, r4, r0
|
|
/* 8003DBBC 00039ADC 48 00 02 71 */ bl func_8003DE2C
|
|
/* 8003DBC0 00039AE0 3B 7B 00 02 */ addi r27, r27, 2
|
|
lbl_8003DBC4:
|
|
/* 8003DBC4 00039AE4 A8 7B 00 00 */ lha r3, 0(r27)
|
|
/* 8003DBC8 00039AE8 7C 60 07 35 */ extsh. r0, r3
|
|
/* 8003DBCC 00039AEC 40 80 FF E0 */ bge lbl_8003DBAC
|
|
/* 8003DBD0 00039AF0 7F 5B D3 78 */ mr r27, r26
|
|
/* 8003DBD4 00039AF4 48 00 00 1C */ b lbl_8003DBF0
|
|
lbl_8003DBD8:
|
|
/* 8003DBD8 00039AF8 80 9F 00 1C */ lwz r4, 0x1c(r31)
|
|
/* 8003DBDC 00039AFC 54 60 30 32 */ slwi r0, r3, 6
|
|
/* 8003DBE0 00039B00 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DBE4 00039B04 7C 84 02 14 */ add r4, r4, r0
|
|
/* 8003DBE8 00039B08 48 00 04 A5 */ bl func_8003E08C
|
|
/* 8003DBEC 00039B0C 3B 7B 00 02 */ addi r27, r27, 2
|
|
lbl_8003DBF0:
|
|
/* 8003DBF0 00039B10 A8 7B 00 00 */ lha r3, 0(r27)
|
|
/* 8003DBF4 00039B14 7C 60 07 35 */ extsh. r0, r3
|
|
/* 8003DBF8 00039B18 40 80 FF E0 */ bge lbl_8003DBD8
|
|
/* 8003DBFC 00039B1C 7F 5B D3 78 */ mr r27, r26
|
|
/* 8003DC00 00039B20 48 00 00 1C */ b lbl_8003DC1C
|
|
lbl_8003DC04:
|
|
/* 8003DC04 00039B24 80 9F 00 1C */ lwz r4, 0x1c(r31)
|
|
/* 8003DC08 00039B28 54 60 30 32 */ slwi r0, r3, 6
|
|
/* 8003DC0C 00039B2C 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DC10 00039B30 7C 84 02 14 */ add r4, r4, r0
|
|
/* 8003DC14 00039B34 48 00 09 C1 */ bl func_8003E5D4
|
|
/* 8003DC18 00039B38 3B 7B 00 02 */ addi r27, r27, 2
|
|
lbl_8003DC1C:
|
|
/* 8003DC1C 00039B3C A8 7B 00 00 */ lha r3, 0(r27)
|
|
/* 8003DC20 00039B40 7C 60 07 35 */ extsh. r0, r3
|
|
/* 8003DC24 00039B44 40 80 FF E0 */ bge lbl_8003DC04
|
|
lbl_8003DC28:
|
|
/* 8003DC28 00039B48 83 5F 00 68 */ lwz r26, 0x68(r31)
|
|
/* 8003DC2C 00039B4C 83 7F 00 64 */ lwz r27, 0x64(r31)
|
|
/* 8003DC30 00039B50 48 00 00 18 */ b lbl_8003DC48
|
|
lbl_8003DC34:
|
|
/* 8003DC34 00039B54 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DC38 00039B58 38 9A 00 00 */ addi r4, r26, 0
|
|
/* 8003DC3C 00039B5C 48 00 17 3D */ bl func_8003F378
|
|
/* 8003DC40 00039B60 3B 7B FF FF */ addi r27, r27, -1
|
|
/* 8003DC44 00039B64 3B 5A 00 20 */ addi r26, r26, 0x20
|
|
lbl_8003DC48:
|
|
/* 8003DC48 00039B68 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 8003DC4C 00039B6C 41 81 FF E8 */ bgt lbl_8003DC34
|
|
/* 8003DC50 00039B70 83 5F 00 70 */ lwz r26, 0x70(r31)
|
|
/* 8003DC54 00039B74 83 7F 00 6C */ lwz r27, 0x6c(r31)
|
|
/* 8003DC58 00039B78 48 00 00 18 */ b lbl_8003DC70
|
|
lbl_8003DC5C:
|
|
/* 8003DC5C 00039B7C 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DC60 00039B80 38 9A 00 00 */ addi r4, r26, 0
|
|
/* 8003DC64 00039B84 48 00 15 E5 */ bl func_8003F248
|
|
/* 8003DC68 00039B88 3B 7B FF FF */ addi r27, r27, -1
|
|
/* 8003DC6C 00039B8C 3B 5A 00 14 */ addi r26, r26, 0x14
|
|
lbl_8003DC70:
|
|
/* 8003DC70 00039B90 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 8003DC74 00039B94 41 81 FF E8 */ bgt lbl_8003DC5C
|
|
/* 8003DC78 00039B98 83 5F 00 78 */ lwz r26, 0x78(r31)
|
|
/* 8003DC7C 00039B9C 83 7F 00 74 */ lwz r27, 0x74(r31)
|
|
/* 8003DC80 00039BA0 48 00 00 18 */ b lbl_8003DC98
|
|
lbl_8003DC84:
|
|
/* 8003DC84 00039BA4 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DC88 00039BA8 38 9A 00 00 */ addi r4, r26, 0
|
|
/* 8003DC8C 00039BAC 48 00 11 25 */ bl func_8003EDB0
|
|
/* 8003DC90 00039BB0 3B 7B FF FF */ addi r27, r27, -1
|
|
/* 8003DC94 00039BB4 3B 5A 00 1C */ addi r26, r26, 0x1c
|
|
lbl_8003DC98:
|
|
/* 8003DC98 00039BB8 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 8003DC9C 00039BBC 41 81 FF E8 */ bgt lbl_8003DC84
|
|
/* 8003DCA0 00039BC0 83 5F 00 40 */ lwz r26, 0x40(r31)
|
|
/* 8003DCA4 00039BC4 83 7F 00 3C */ lwz r27, 0x3c(r31)
|
|
/* 8003DCA8 00039BC8 48 00 00 18 */ b lbl_8003DCC0
|
|
lbl_8003DCAC:
|
|
/* 8003DCAC 00039BCC 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DCB0 00039BD0 38 9A 00 00 */ addi r4, r26, 0
|
|
/* 8003DCB4 00039BD4 48 00 2E 6D */ bl func_80040B20
|
|
/* 8003DCB8 00039BD8 3B 7B FF FF */ addi r27, r27, -1
|
|
/* 8003DCBC 00039BDC 3B 5A 00 14 */ addi r26, r26, 0x14
|
|
lbl_8003DCC0:
|
|
/* 8003DCC0 00039BE0 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 8003DCC4 00039BE4 41 81 FF E8 */ bgt lbl_8003DCAC
|
|
/* 8003DCC8 00039BE8 3B DE 00 01 */ addi r30, r30, 1
|
|
/* 8003DCCC 00039BEC 3B FF 00 C4 */ addi r31, r31, 0xc4
|
|
lbl_8003DCD0:
|
|
/* 8003DCD0 00039BF0 80 1D 00 08 */ lwz r0, 8(r29)
|
|
/* 8003DCD4 00039BF4 7C 1E 00 00 */ cmpw r30, r0
|
|
/* 8003DCD8 00039BF8 41 80 FE 9C */ blt lbl_8003DB74
|
|
/* 8003DCDC 00039BFC 80 1C 00 58 */ lwz r0, 0x58(r28)
|
|
/* 8003DCE0 00039C00 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8003DCE4 00039C04 41 82 00 10 */ beq lbl_8003DCF4
|
|
/* 8003DCE8 00039C08 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003DCEC 00039C0C 38 80 00 00 */ li r4, 0
|
|
/* 8003DCF0 00039C10 48 00 43 11 */ bl func_80042000
|
|
lbl_8003DCF4:
|
|
/* 8003DCF4 00039C14 80 8D 9D 64 */ lwz r4, lbl_802F1F44@sda21(r13)
|
|
/* 8003DCF8 00039C18 28 04 00 00 */ cmplwi r4, 0
|
|
/* 8003DCFC 00039C1C 41 82 00 0C */ beq lbl_8003DD08
|
|
/* 8003DD00 00039C20 7F 83 E3 78 */ mr r3, r28
|
|
/* 8003DD04 00039C24 48 00 35 29 */ bl func_8004122C
|
|
lbl_8003DD08:
|
|
/* 8003DD08 00039C28 BB 41 00 50 */ lmw r26, 0x50(r1)
|
|
/* 8003DD0C 00039C2C 80 01 00 6C */ lwz r0, 0x6c(r1)
|
|
/* 8003DD10 00039C30 38 21 00 68 */ addi r1, r1, 0x68
|
|
/* 8003DD14 00039C34 7C 08 03 A6 */ mtlr r0
|
|
/* 8003DD18 00039C38 4E 80 00 20 */ blr
|
|
|
|
.global func_8003DD1C
|
|
func_8003DD1C:
|
|
/* 8003DD1C 00039C3C 94 21 FF B8 */ stwu r1, -0x48(r1)
|
|
/* 8003DD20 00039C40 38 00 00 00 */ li r0, 0
|
|
/* 8003DD24 00039C44 80 83 00 20 */ lwz r4, 0x20(r3)
|
|
/* 8003DD28 00039C48 7C 04 00 40 */ cmplw r4, r0
|
|
/* 8003DD2C 00039C4C 40 82 00 0C */ bne lbl_8003DD38
|
|
/* 8003DD30 00039C50 38 60 00 00 */ li r3, 0
|
|
/* 8003DD34 00039C54 48 00 00 F0 */ b lbl_8003DE24
|
|
lbl_8003DD38:
|
|
/* 8003DD38 00039C58 C0 63 00 24 */ lfs f3, 0x24(r3)
|
|
/* 8003DD3C 00039C5C C0 03 00 2C */ lfs f0, 0x2c(r3)
|
|
/* 8003DD40 00039C60 EC 21 18 28 */ fsubs f1, f1, f3
|
|
/* 8003DD44 00039C64 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 8003DD48 00039C68 FC 00 04 8E */ mffs f0
|
|
/* 8003DD4C 00039C6C FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 8003DD50 00039C70 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 8003DD54 00039C74 FC 20 08 1C */ fctiw f1, f1
|
|
/* 8003DD58 00039C78 D8 21 00 1C */ stfd f1, 0x1c(r1)
|
|
/* 8003DD5C 00039C7C FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 8003DD60 00039C80 C0 03 00 28 */ lfs f0, 0x28(r3)
|
|
/* 8003DD64 00039C84 80 01 00 20 */ lwz r0, 0x20(r1)
|
|
/* 8003DD68 00039C88 3C 80 43 30 */ lis r4, 0x4330
|
|
/* 8003DD6C 00039C8C EC 22 00 28 */ fsubs f1, f2, f0
|
|
/* 8003DD70 00039C90 C0 03 00 30 */ lfs f0, 0x30(r3)
|
|
/* 8003DD74 00039C94 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8003DD78 00039C98 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 8003DD7C 00039C9C EC 41 00 24 */ fdivs f2, f1, f0
|
|
/* 8003DD80 00039CA0 C8 22 8E 18 */ lfd f1, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 8003DD84 00039CA4 90 81 00 40 */ stw r4, 0x40(r1)
|
|
/* 8003DD88 00039CA8 C8 01 00 40 */ lfd f0, 0x40(r1)
|
|
/* 8003DD8C 00039CAC EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 8003DD90 00039CB0 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 8003DD94 00039CB4 D8 01 00 38 */ stfd f0, 0x38(r1)
|
|
/* 8003DD98 00039CB8 80 A1 00 3C */ lwz r5, 0x3c(r1)
|
|
/* 8003DD9C 00039CBC FC 00 04 8E */ mffs f0
|
|
/* 8003DDA0 00039CC0 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 8003DDA4 00039CC4 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 8003DDA8 00039CC8 FC 40 10 1C */ fctiw f2, f2
|
|
/* 8003DDAC 00039CCC D8 41 00 14 */ stfd f2, 0x14(r1)
|
|
/* 8003DDB0 00039CD0 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 8003DDB4 00039CD4 80 01 00 18 */ lwz r0, 0x18(r1)
|
|
/* 8003DDB8 00039CD8 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 8003DDBC 00039CDC 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8003DDC0 00039CE0 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8003DDC4 00039CE4 90 81 00 30 */ stw r4, 0x30(r1)
|
|
/* 8003DDC8 00039CE8 C8 01 00 30 */ lfd f0, 0x30(r1)
|
|
/* 8003DDCC 00039CEC EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 8003DDD0 00039CF0 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 8003DDD4 00039CF4 D8 01 00 28 */ stfd f0, 0x28(r1)
|
|
/* 8003DDD8 00039CF8 80 C1 00 2C */ lwz r6, 0x2c(r1)
|
|
/* 8003DDDC 00039CFC 41 80 00 10 */ blt lbl_8003DDEC
|
|
/* 8003DDE0 00039D00 80 83 00 34 */ lwz r4, 0x34(r3)
|
|
/* 8003DDE4 00039D04 7C 05 20 00 */ cmpw r5, r4
|
|
/* 8003DDE8 00039D08 41 80 00 0C */ blt lbl_8003DDF4
|
|
lbl_8003DDEC:
|
|
/* 8003DDEC 00039D0C 38 60 00 00 */ li r3, 0
|
|
/* 8003DDF0 00039D10 48 00 00 34 */ b lbl_8003DE24
|
|
lbl_8003DDF4:
|
|
/* 8003DDF4 00039D14 2C 06 00 00 */ cmpwi r6, 0
|
|
/* 8003DDF8 00039D18 41 80 00 10 */ blt lbl_8003DE08
|
|
/* 8003DDFC 00039D1C 80 03 00 38 */ lwz r0, 0x38(r3)
|
|
/* 8003DE00 00039D20 7C 06 00 00 */ cmpw r6, r0
|
|
/* 8003DE04 00039D24 41 80 00 0C */ blt lbl_8003DE10
|
|
lbl_8003DE08:
|
|
/* 8003DE08 00039D28 38 60 00 00 */ li r3, 0
|
|
/* 8003DE0C 00039D2C 48 00 00 18 */ b lbl_8003DE24
|
|
lbl_8003DE10:
|
|
/* 8003DE10 00039D30 7C 06 21 D6 */ mullw r0, r6, r4
|
|
/* 8003DE14 00039D34 80 63 00 20 */ lwz r3, 0x20(r3)
|
|
/* 8003DE18 00039D38 7C 05 02 14 */ add r0, r5, r0
|
|
/* 8003DE1C 00039D3C 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 8003DE20 00039D40 7C 63 00 2E */ lwzx r3, r3, r0
|
|
lbl_8003DE24:
|
|
/* 8003DE24 00039D44 38 21 00 48 */ addi r1, r1, 0x48
|
|
/* 8003DE28 00039D48 4E 80 00 20 */ blr
|
|
|
|
.global func_8003DE2C
|
|
func_8003DE2C:
|
|
/* 8003DE2C 00039D4C 7C 08 02 A6 */ mflr r0
|
|
/* 8003DE30 00039D50 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003DE34 00039D54 94 21 FF 88 */ stwu r1, -0x78(r1)
|
|
/* 8003DE38 00039D58 93 E1 00 74 */ stw r31, 0x74(r1)
|
|
/* 8003DE3C 00039D5C 7C 9F 23 78 */ mr r31, r4
|
|
/* 8003DE40 00039D60 93 C1 00 70 */ stw r30, 0x70(r1)
|
|
/* 8003DE44 00039D64 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8003DE48 00039D68 80 63 00 10 */ lwz r3, 0x10(r3)
|
|
/* 8003DE4C 00039D6C 80 1E 00 14 */ lwz r0, 0x14(r30)
|
|
/* 8003DE50 00039D70 C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003DE54 00039D74 90 61 00 30 */ stw r3, 0x30(r1)
|
|
/* 8003DE58 00039D78 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8003DE5C 00039D7C 80 1E 00 18 */ lwz r0, 0x18(r30)
|
|
/* 8003DE60 00039D80 90 01 00 38 */ stw r0, 0x38(r1)
|
|
/* 8003DE64 00039D84 80 7E 00 04 */ lwz r3, 4(r30)
|
|
/* 8003DE68 00039D88 80 1E 00 08 */ lwz r0, 8(r30)
|
|
/* 8003DE6C 00039D8C C0 41 00 30 */ lfs f2, 0x30(r1)
|
|
/* 8003DE70 00039D90 90 61 00 3C */ stw r3, 0x3c(r1)
|
|
/* 8003DE74 00039D94 C0 61 00 38 */ lfs f3, 0x38(r1)
|
|
/* 8003DE78 00039D98 90 01 00 40 */ stw r0, 0x40(r1)
|
|
/* 8003DE7C 00039D9C 80 1E 00 0C */ lwz r0, 0xc(r30)
|
|
/* 8003DE80 00039DA0 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 8003DE84 00039DA4 C0 E4 00 00 */ lfs f7, 0(r4)
|
|
/* 8003DE88 00039DA8 C1 24 00 08 */ lfs f9, 8(r4)
|
|
/* 8003DE8C 00039DAC C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 8003DE90 00039DB0 EC 42 38 28 */ fsubs f2, f2, f7
|
|
/* 8003DE94 00039DB4 C0 A4 00 04 */ lfs f5, 4(r4)
|
|
/* 8003DE98 00039DB8 EC 63 48 28 */ fsubs f3, f3, f9
|
|
/* 8003DE9C 00039DBC C0 C4 00 0C */ lfs f6, 0xc(r4)
|
|
/* 8003DEA0 00039DC0 C1 04 00 14 */ lfs f8, 0x14(r4)
|
|
/* 8003DEA4 00039DC4 EC 21 28 28 */ fsubs f1, f1, f5
|
|
/* 8003DEA8 00039DC8 C0 84 00 10 */ lfs f4, 0x10(r4)
|
|
/* 8003DEAC 00039DCC EC 42 01 B2 */ fmuls f2, f2, f6
|
|
/* 8003DEB0 00039DD0 EC 63 02 32 */ fmuls f3, f3, f8
|
|
/* 8003DEB4 00039DD4 EC 21 01 32 */ fmuls f1, f1, f4
|
|
/* 8003DEB8 00039DD8 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003DEBC 00039DDC EC 23 08 2A */ fadds f1, f3, f1
|
|
/* 8003DEC0 00039DE0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003DEC4 00039DE4 41 80 01 B0 */ blt lbl_8003E074
|
|
/* 8003DEC8 00039DE8 C0 21 00 3C */ lfs f1, 0x3c(r1)
|
|
/* 8003DECC 00039DEC C0 01 00 40 */ lfs f0, 0x40(r1)
|
|
/* 8003DED0 00039DF0 EC 41 38 28 */ fsubs f2, f1, f7
|
|
/* 8003DED4 00039DF4 C0 61 00 44 */ lfs f3, 0x44(r1)
|
|
/* 8003DED8 00039DF8 EC 20 28 28 */ fsubs f1, f0, f5
|
|
/* 8003DEDC 00039DFC C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003DEE0 00039E00 EC 63 48 28 */ fsubs f3, f3, f9
|
|
/* 8003DEE4 00039E04 EC 42 01 B2 */ fmuls f2, f2, f6
|
|
/* 8003DEE8 00039E08 EC 21 01 32 */ fmuls f1, f1, f4
|
|
/* 8003DEEC 00039E0C EC 63 02 32 */ fmuls f3, f3, f8
|
|
/* 8003DEF0 00039E10 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003DEF4 00039E14 EC 23 08 2A */ fadds f1, f3, f1
|
|
/* 8003DEF8 00039E18 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003DEFC 00039E1C 41 81 01 78 */ bgt lbl_8003E074
|
|
/* 8003DF00 00039E20 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003DF04 00039E24 4B FC 96 B9 */ bl mathutil_mtxA_from_translate
|
|
/* 8003DF08 00039E28 A8 7F 00 1A */ lha r3, 0x1a(r31)
|
|
/* 8003DF0C 00039E2C 4B FC A0 F1 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003DF10 00039E30 A8 7F 00 18 */ lha r3, 0x18(r31)
|
|
/* 8003DF14 00039E34 4B FC A0 75 */ bl mathutil_mtxA_rotate_x
|
|
/* 8003DF18 00039E38 A8 7F 00 1C */ lha r3, 0x1c(r31)
|
|
/* 8003DF1C 00039E3C 4B FC A1 6D */ bl mathutil_mtxA_rotate_z
|
|
/* 8003DF20 00039E40 38 61 00 30 */ addi r3, r1, 0x30
|
|
/* 8003DF24 00039E44 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003DF28 00039E48 4B FC 9F A5 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003DF2C 00039E4C 38 61 00 3C */ addi r3, r1, 0x3c
|
|
/* 8003DF30 00039E50 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003DF34 00039E54 4B FC 9F 99 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003DF38 00039E58 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003DF3C 00039E5C C0 C1 00 30 */ lfs f6, 0x30(r1)
|
|
/* 8003DF40 00039E60 C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 8003DF44 00039E64 C0 A1 00 34 */ lfs f5, 0x34(r1)
|
|
/* 8003DF48 00039E68 EC 21 01 B2 */ fmuls f1, f1, f6
|
|
/* 8003DF4C 00039E6C C0 82 8E 28 */ lfs f4, lbl_802F3628-_SDA2_BASE_(r2)
|
|
/* 8003DF50 00039E70 EC 00 01 72 */ fmuls f0, f0, f5
|
|
/* 8003DF54 00039E74 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8003DF58 00039E78 FC 00 20 40 */ fcmpo cr0, f0, f4
|
|
/* 8003DF5C 00039E7C 41 80 00 5C */ blt lbl_8003DFB8
|
|
/* 8003DF60 00039E80 C0 3F 00 20 */ lfs f1, 0x20(r31)
|
|
/* 8003DF64 00039E84 C0 1F 00 24 */ lfs f0, 0x24(r31)
|
|
/* 8003DF68 00039E88 EC 46 08 28 */ fsubs f2, f6, f1
|
|
/* 8003DF6C 00039E8C C0 7F 00 30 */ lfs f3, 0x30(r31)
|
|
/* 8003DF70 00039E90 EC 05 00 28 */ fsubs f0, f5, f0
|
|
/* 8003DF74 00039E94 C0 3F 00 34 */ lfs f1, 0x34(r31)
|
|
/* 8003DF78 00039E98 EC 43 00 B2 */ fmuls f2, f3, f2
|
|
/* 8003DF7C 00039E9C EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8003DF80 00039EA0 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8003DF84 00039EA4 FC 00 20 40 */ fcmpo cr0, f0, f4
|
|
/* 8003DF88 00039EA8 41 80 00 30 */ blt lbl_8003DFB8
|
|
/* 8003DF8C 00039EAC C0 3F 00 28 */ lfs f1, 0x28(r31)
|
|
/* 8003DF90 00039EB0 C0 1F 00 2C */ lfs f0, 0x2c(r31)
|
|
/* 8003DF94 00039EB4 EC 46 08 28 */ fsubs f2, f6, f1
|
|
/* 8003DF98 00039EB8 C0 7F 00 38 */ lfs f3, 0x38(r31)
|
|
/* 8003DF9C 00039EBC EC 05 00 28 */ fsubs f0, f5, f0
|
|
/* 8003DFA0 00039EC0 C0 3F 00 3C */ lfs f1, 0x3c(r31)
|
|
/* 8003DFA4 00039EC4 EC 43 00 B2 */ fmuls f2, f3, f2
|
|
/* 8003DFA8 00039EC8 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8003DFAC 00039ECC EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8003DFB0 00039ED0 FC 00 20 40 */ fcmpo cr0, f0, f4
|
|
/* 8003DFB4 00039ED4 40 80 00 84 */ bge lbl_8003E038
|
|
lbl_8003DFB8:
|
|
/* 8003DFB8 00039ED8 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003DFBC 00039EDC C0 C1 00 3C */ lfs f6, 0x3c(r1)
|
|
/* 8003DFC0 00039EE0 C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 8003DFC4 00039EE4 C0 A1 00 40 */ lfs f5, 0x40(r1)
|
|
/* 8003DFC8 00039EE8 EC 21 01 B2 */ fmuls f1, f1, f6
|
|
/* 8003DFCC 00039EEC C0 82 8E 28 */ lfs f4, lbl_802F3628-_SDA2_BASE_(r2)
|
|
/* 8003DFD0 00039EF0 EC 00 01 72 */ fmuls f0, f0, f5
|
|
/* 8003DFD4 00039EF4 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8003DFD8 00039EF8 FC 00 20 40 */ fcmpo cr0, f0, f4
|
|
/* 8003DFDC 00039EFC 41 80 00 98 */ blt lbl_8003E074
|
|
/* 8003DFE0 00039F00 C0 3F 00 20 */ lfs f1, 0x20(r31)
|
|
/* 8003DFE4 00039F04 C0 1F 00 24 */ lfs f0, 0x24(r31)
|
|
/* 8003DFE8 00039F08 EC 46 08 28 */ fsubs f2, f6, f1
|
|
/* 8003DFEC 00039F0C C0 7F 00 30 */ lfs f3, 0x30(r31)
|
|
/* 8003DFF0 00039F10 EC 05 00 28 */ fsubs f0, f5, f0
|
|
/* 8003DFF4 00039F14 C0 3F 00 34 */ lfs f1, 0x34(r31)
|
|
/* 8003DFF8 00039F18 EC 43 00 B2 */ fmuls f2, f3, f2
|
|
/* 8003DFFC 00039F1C EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8003E000 00039F20 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8003E004 00039F24 FC 00 20 40 */ fcmpo cr0, f0, f4
|
|
/* 8003E008 00039F28 41 80 00 6C */ blt lbl_8003E074
|
|
/* 8003E00C 00039F2C C0 3F 00 28 */ lfs f1, 0x28(r31)
|
|
/* 8003E010 00039F30 C0 1F 00 2C */ lfs f0, 0x2c(r31)
|
|
/* 8003E014 00039F34 EC 46 08 28 */ fsubs f2, f6, f1
|
|
/* 8003E018 00039F38 C0 7F 00 38 */ lfs f3, 0x38(r31)
|
|
/* 8003E01C 00039F3C EC 05 00 28 */ fsubs f0, f5, f0
|
|
/* 8003E020 00039F40 C0 3F 00 3C */ lfs f1, 0x3c(r31)
|
|
/* 8003E024 00039F44 EC 43 00 B2 */ fmuls f2, f3, f2
|
|
/* 8003E028 00039F48 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8003E02C 00039F4C EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8003E030 00039F50 FC 00 20 40 */ fcmpo cr0, f0, f4
|
|
/* 8003E034 00039F54 41 80 00 40 */ blt lbl_8003E074
|
|
lbl_8003E038:
|
|
/* 8003E038 00039F58 80 BF 00 00 */ lwz r5, 0(r31)
|
|
/* 8003E03C 00039F5C 7F C3 F3 78 */ mr r3, r30
|
|
/* 8003E040 00039F60 80 1F 00 04 */ lwz r0, 4(r31)
|
|
/* 8003E044 00039F64 38 81 00 54 */ addi r4, r1, 0x54
|
|
/* 8003E048 00039F68 90 A1 00 54 */ stw r5, 0x54(r1)
|
|
/* 8003E04C 00039F6C 90 01 00 58 */ stw r0, 0x58(r1)
|
|
/* 8003E050 00039F70 80 1F 00 08 */ lwz r0, 8(r31)
|
|
/* 8003E054 00039F74 90 01 00 5C */ stw r0, 0x5c(r1)
|
|
/* 8003E058 00039F78 80 BF 00 0C */ lwz r5, 0xc(r31)
|
|
/* 8003E05C 00039F7C 80 1F 00 10 */ lwz r0, 0x10(r31)
|
|
/* 8003E060 00039F80 90 A1 00 60 */ stw r5, 0x60(r1)
|
|
/* 8003E064 00039F84 90 01 00 64 */ stw r0, 0x64(r1)
|
|
/* 8003E068 00039F88 80 1F 00 14 */ lwz r0, 0x14(r31)
|
|
/* 8003E06C 00039F8C 90 01 00 68 */ stw r0, 0x68(r1)
|
|
/* 8003E070 00039F90 48 00 15 99 */ bl func_8003F608
|
|
lbl_8003E074:
|
|
/* 8003E074 00039F94 80 01 00 7C */ lwz r0, 0x7c(r1)
|
|
/* 8003E078 00039F98 83 E1 00 74 */ lwz r31, 0x74(r1)
|
|
/* 8003E07C 00039F9C 83 C1 00 70 */ lwz r30, 0x70(r1)
|
|
/* 8003E080 00039FA0 7C 08 03 A6 */ mtlr r0
|
|
/* 8003E084 00039FA4 38 21 00 78 */ addi r1, r1, 0x78
|
|
/* 8003E088 00039FA8 4E 80 00 20 */ blr
|
|
|
|
.global func_8003E08C
|
|
func_8003E08C:
|
|
/* 8003E08C 00039FAC 7C 08 02 A6 */ mflr r0
|
|
/* 8003E090 00039FB0 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003E094 00039FB4 94 21 FF 90 */ stwu r1, -0x70(r1)
|
|
/* 8003E098 00039FB8 93 E1 00 6C */ stw r31, 0x6c(r1)
|
|
/* 8003E09C 00039FBC 7C 9F 23 78 */ mr r31, r4
|
|
/* 8003E0A0 00039FC0 93 C1 00 68 */ stw r30, 0x68(r1)
|
|
/* 8003E0A4 00039FC4 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8003E0A8 00039FC8 80 63 00 10 */ lwz r3, 0x10(r3)
|
|
/* 8003E0AC 00039FCC 80 1E 00 14 */ lwz r0, 0x14(r30)
|
|
/* 8003E0B0 00039FD0 C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003E0B4 00039FD4 90 61 00 28 */ stw r3, 0x28(r1)
|
|
/* 8003E0B8 00039FD8 90 01 00 2C */ stw r0, 0x2c(r1)
|
|
/* 8003E0BC 00039FDC 80 1E 00 18 */ lwz r0, 0x18(r30)
|
|
/* 8003E0C0 00039FE0 90 01 00 30 */ stw r0, 0x30(r1)
|
|
/* 8003E0C4 00039FE4 80 7E 00 04 */ lwz r3, 4(r30)
|
|
/* 8003E0C8 00039FE8 80 1E 00 08 */ lwz r0, 8(r30)
|
|
/* 8003E0CC 00039FEC C0 41 00 28 */ lfs f2, 0x28(r1)
|
|
/* 8003E0D0 00039FF0 90 61 00 34 */ stw r3, 0x34(r1)
|
|
/* 8003E0D4 00039FF4 C0 61 00 30 */ lfs f3, 0x30(r1)
|
|
/* 8003E0D8 00039FF8 90 01 00 38 */ stw r0, 0x38(r1)
|
|
/* 8003E0DC 00039FFC 80 1E 00 0C */ lwz r0, 0xc(r30)
|
|
/* 8003E0E0 0003A000 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 8003E0E4 0003A004 C0 E4 00 00 */ lfs f7, 0(r4)
|
|
/* 8003E0E8 0003A008 C1 24 00 08 */ lfs f9, 8(r4)
|
|
/* 8003E0EC 0003A00C C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 8003E0F0 0003A010 EC 42 38 28 */ fsubs f2, f2, f7
|
|
/* 8003E0F4 0003A014 C0 A4 00 04 */ lfs f5, 4(r4)
|
|
/* 8003E0F8 0003A018 EC 63 48 28 */ fsubs f3, f3, f9
|
|
/* 8003E0FC 0003A01C C0 C4 00 0C */ lfs f6, 0xc(r4)
|
|
/* 8003E100 0003A020 C1 04 00 14 */ lfs f8, 0x14(r4)
|
|
/* 8003E104 0003A024 EC 21 28 28 */ fsubs f1, f1, f5
|
|
/* 8003E108 0003A028 C0 84 00 10 */ lfs f4, 0x10(r4)
|
|
/* 8003E10C 0003A02C EC 42 01 B2 */ fmuls f2, f2, f6
|
|
/* 8003E110 0003A030 EC 63 02 32 */ fmuls f3, f3, f8
|
|
/* 8003E114 0003A034 EC 21 01 32 */ fmuls f1, f1, f4
|
|
/* 8003E118 0003A038 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E11C 0003A03C EC 23 08 2A */ fadds f1, f3, f1
|
|
/* 8003E120 0003A040 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E124 0003A044 41 80 02 1C */ blt lbl_8003E340
|
|
/* 8003E128 0003A048 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 8003E12C 0003A04C C0 01 00 38 */ lfs f0, 0x38(r1)
|
|
/* 8003E130 0003A050 EC 41 38 28 */ fsubs f2, f1, f7
|
|
/* 8003E134 0003A054 C0 61 00 3C */ lfs f3, 0x3c(r1)
|
|
/* 8003E138 0003A058 EC 20 28 28 */ fsubs f1, f0, f5
|
|
/* 8003E13C 0003A05C C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003E140 0003A060 EC 63 48 28 */ fsubs f3, f3, f9
|
|
/* 8003E144 0003A064 EC 42 01 B2 */ fmuls f2, f2, f6
|
|
/* 8003E148 0003A068 EC 21 01 32 */ fmuls f1, f1, f4
|
|
/* 8003E14C 0003A06C EC 63 02 32 */ fmuls f3, f3, f8
|
|
/* 8003E150 0003A070 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E154 0003A074 EC 23 08 2A */ fadds f1, f3, f1
|
|
/* 8003E158 0003A078 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E15C 0003A07C 41 81 01 E4 */ bgt lbl_8003E340
|
|
/* 8003E160 0003A080 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003E164 0003A084 4B FC 94 59 */ bl mathutil_mtxA_from_translate
|
|
/* 8003E168 0003A088 A8 7F 00 1A */ lha r3, 0x1a(r31)
|
|
/* 8003E16C 0003A08C 4B FC 9E 91 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003E170 0003A090 A8 7F 00 18 */ lha r3, 0x18(r31)
|
|
/* 8003E174 0003A094 4B FC 9E 15 */ bl mathutil_mtxA_rotate_x
|
|
/* 8003E178 0003A098 A8 7F 00 1C */ lha r3, 0x1c(r31)
|
|
/* 8003E17C 0003A09C 4B FC 9F 0D */ bl mathutil_mtxA_rotate_z
|
|
/* 8003E180 0003A0A0 38 61 00 28 */ addi r3, r1, 0x28
|
|
/* 8003E184 0003A0A4 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003E188 0003A0A8 4B FC 9D 45 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E18C 0003A0AC 38 61 00 34 */ addi r3, r1, 0x34
|
|
/* 8003E190 0003A0B0 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003E194 0003A0B4 4B FC 9D 39 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E198 0003A0B8 C0 82 8E 08 */ lfs f4, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003E19C 0003A0BC C0 C1 00 34 */ lfs f6, 0x34(r1)
|
|
/* 8003E1A0 0003A0C0 C0 62 8E 0C */ lfs f3, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 8003E1A4 0003A0C4 C0 A1 00 38 */ lfs f5, 0x38(r1)
|
|
/* 8003E1A8 0003A0C8 EC 44 01 B2 */ fmuls f2, f4, f6
|
|
/* 8003E1AC 0003A0CC C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003E1B0 0003A0D0 EC 23 01 72 */ fmuls f1, f3, f5
|
|
/* 8003E1B4 0003A0D4 FC 00 00 50 */ fneg f0, f0
|
|
/* 8003E1B8 0003A0D8 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E1BC 0003A0DC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E1C0 0003A0E0 40 80 00 20 */ bge lbl_8003E1E0
|
|
/* 8003E1C4 0003A0E4 C0 41 00 28 */ lfs f2, 0x28(r1)
|
|
/* 8003E1C8 0003A0E8 C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 8003E1CC 0003A0EC EC 44 00 B2 */ fmuls f2, f4, f2
|
|
/* 8003E1D0 0003A0F0 EC 23 00 72 */ fmuls f1, f3, f1
|
|
/* 8003E1D4 0003A0F4 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E1D8 0003A0F8 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E1DC 0003A0FC 41 80 01 64 */ blt lbl_8003E340
|
|
lbl_8003E1E0:
|
|
/* 8003E1E0 0003A100 C1 1F 00 20 */ lfs f8, 0x20(r31)
|
|
/* 8003E1E4 0003A104 C0 FF 00 24 */ lfs f7, 0x24(r31)
|
|
/* 8003E1E8 0003A108 EC 46 40 28 */ fsubs f2, f6, f8
|
|
/* 8003E1EC 0003A10C C0 9F 00 30 */ lfs f4, 0x30(r31)
|
|
/* 8003E1F0 0003A110 EC 25 38 28 */ fsubs f1, f5, f7
|
|
/* 8003E1F4 0003A114 C0 7F 00 34 */ lfs f3, 0x34(r31)
|
|
/* 8003E1F8 0003A118 EC 44 00 B2 */ fmuls f2, f4, f2
|
|
/* 8003E1FC 0003A11C EC 23 00 72 */ fmuls f1, f3, f1
|
|
/* 8003E200 0003A120 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E204 0003A124 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E208 0003A128 40 80 00 28 */ bge lbl_8003E230
|
|
/* 8003E20C 0003A12C C0 41 00 28 */ lfs f2, 0x28(r1)
|
|
/* 8003E210 0003A130 C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 8003E214 0003A134 EC 42 40 28 */ fsubs f2, f2, f8
|
|
/* 8003E218 0003A138 EC 21 38 28 */ fsubs f1, f1, f7
|
|
/* 8003E21C 0003A13C EC 44 00 B2 */ fmuls f2, f4, f2
|
|
/* 8003E220 0003A140 EC 23 00 72 */ fmuls f1, f3, f1
|
|
/* 8003E224 0003A144 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E228 0003A148 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E22C 0003A14C 41 80 01 14 */ blt lbl_8003E340
|
|
lbl_8003E230:
|
|
/* 8003E230 0003A150 C1 1F 00 28 */ lfs f8, 0x28(r31)
|
|
/* 8003E234 0003A154 C0 FF 00 2C */ lfs f7, 0x2c(r31)
|
|
/* 8003E238 0003A158 EC 46 40 28 */ fsubs f2, f6, f8
|
|
/* 8003E23C 0003A15C C0 9F 00 38 */ lfs f4, 0x38(r31)
|
|
/* 8003E240 0003A160 EC 25 38 28 */ fsubs f1, f5, f7
|
|
/* 8003E244 0003A164 C0 7F 00 3C */ lfs f3, 0x3c(r31)
|
|
/* 8003E248 0003A168 EC 44 00 B2 */ fmuls f2, f4, f2
|
|
/* 8003E24C 0003A16C EC 23 00 72 */ fmuls f1, f3, f1
|
|
/* 8003E250 0003A170 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E254 0003A174 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E258 0003A178 40 80 00 28 */ bge lbl_8003E280
|
|
/* 8003E25C 0003A17C C0 41 00 28 */ lfs f2, 0x28(r1)
|
|
/* 8003E260 0003A180 C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 8003E264 0003A184 EC 42 40 28 */ fsubs f2, f2, f8
|
|
/* 8003E268 0003A188 EC 21 38 28 */ fsubs f1, f1, f7
|
|
/* 8003E26C 0003A18C EC 44 00 B2 */ fmuls f2, f4, f2
|
|
/* 8003E270 0003A190 EC 23 00 72 */ fmuls f1, f3, f1
|
|
/* 8003E274 0003A194 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E278 0003A198 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E27C 0003A19C 41 80 00 C4 */ blt lbl_8003E340
|
|
lbl_8003E280:
|
|
/* 8003E280 0003A1A0 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003E284 0003A1A4 7F C3 F3 78 */ mr r3, r30
|
|
/* 8003E288 0003A1A8 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 8003E28C 0003A1AC D0 21 00 4C */ stfs f1, 0x4c(r1)
|
|
/* 8003E290 0003A1B0 38 A1 00 28 */ addi r5, r1, 0x28
|
|
/* 8003E294 0003A1B4 38 C1 00 4C */ addi r6, r1, 0x4c
|
|
/* 8003E298 0003A1B8 D0 21 00 50 */ stfs f1, 0x50(r1)
|
|
/* 8003E29C 0003A1BC C0 1F 00 20 */ lfs f0, 0x20(r31)
|
|
/* 8003E2A0 0003A1C0 D0 01 00 54 */ stfs f0, 0x54(r1)
|
|
/* 8003E2A4 0003A1C4 C0 1F 00 24 */ lfs f0, 0x24(r31)
|
|
/* 8003E2A8 0003A1C8 D0 01 00 58 */ stfs f0, 0x58(r1)
|
|
/* 8003E2AC 0003A1CC D0 21 00 5C */ stfs f1, 0x5c(r1)
|
|
/* 8003E2B0 0003A1D0 C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 8003E2B4 0003A1D4 D0 01 00 60 */ stfs f0, 0x60(r1)
|
|
/* 8003E2B8 0003A1D8 48 00 00 A1 */ bl func_8003E358
|
|
/* 8003E2BC 0003A1DC C0 1F 00 20 */ lfs f0, 0x20(r31)
|
|
/* 8003E2C0 0003A1E0 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003E2C4 0003A1E4 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 8003E2C8 0003A1E8 D0 01 00 4C */ stfs f0, 0x4c(r1)
|
|
/* 8003E2CC 0003A1EC 38 A1 00 28 */ addi r5, r1, 0x28
|
|
/* 8003E2D0 0003A1F0 38 C1 00 4C */ addi r6, r1, 0x4c
|
|
/* 8003E2D4 0003A1F4 C0 1F 00 24 */ lfs f0, 0x24(r31)
|
|
/* 8003E2D8 0003A1F8 D0 01 00 50 */ stfs f0, 0x50(r1)
|
|
/* 8003E2DC 0003A1FC C0 1F 00 28 */ lfs f0, 0x28(r31)
|
|
/* 8003E2E0 0003A200 D0 01 00 54 */ stfs f0, 0x54(r1)
|
|
/* 8003E2E4 0003A204 C0 1F 00 2C */ lfs f0, 0x2c(r31)
|
|
/* 8003E2E8 0003A208 D0 01 00 58 */ stfs f0, 0x58(r1)
|
|
/* 8003E2EC 0003A20C C0 1F 00 30 */ lfs f0, 0x30(r31)
|
|
/* 8003E2F0 0003A210 D0 01 00 5C */ stfs f0, 0x5c(r1)
|
|
/* 8003E2F4 0003A214 C0 1F 00 34 */ lfs f0, 0x34(r31)
|
|
/* 8003E2F8 0003A218 D0 01 00 60 */ stfs f0, 0x60(r1)
|
|
/* 8003E2FC 0003A21C 48 00 00 5D */ bl func_8003E358
|
|
/* 8003E300 0003A220 C0 1F 00 28 */ lfs f0, 0x28(r31)
|
|
/* 8003E304 0003A224 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003E308 0003A228 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 8003E30C 0003A22C D0 01 00 4C */ stfs f0, 0x4c(r1)
|
|
/* 8003E310 0003A230 38 A1 00 28 */ addi r5, r1, 0x28
|
|
/* 8003E314 0003A234 38 C1 00 4C */ addi r6, r1, 0x4c
|
|
/* 8003E318 0003A238 C0 1F 00 2C */ lfs f0, 0x2c(r31)
|
|
/* 8003E31C 0003A23C D0 01 00 50 */ stfs f0, 0x50(r1)
|
|
/* 8003E320 0003A240 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003E324 0003A244 D0 01 00 54 */ stfs f0, 0x54(r1)
|
|
/* 8003E328 0003A248 D0 01 00 58 */ stfs f0, 0x58(r1)
|
|
/* 8003E32C 0003A24C C0 1F 00 38 */ lfs f0, 0x38(r31)
|
|
/* 8003E330 0003A250 D0 01 00 5C */ stfs f0, 0x5c(r1)
|
|
/* 8003E334 0003A254 C0 1F 00 3C */ lfs f0, 0x3c(r31)
|
|
/* 8003E338 0003A258 D0 01 00 60 */ stfs f0, 0x60(r1)
|
|
/* 8003E33C 0003A25C 48 00 00 1D */ bl func_8003E358
|
|
lbl_8003E340:
|
|
/* 8003E340 0003A260 80 01 00 74 */ lwz r0, 0x74(r1)
|
|
/* 8003E344 0003A264 83 E1 00 6C */ lwz r31, 0x6c(r1)
|
|
/* 8003E348 0003A268 83 C1 00 68 */ lwz r30, 0x68(r1)
|
|
/* 8003E34C 0003A26C 7C 08 03 A6 */ mtlr r0
|
|
/* 8003E350 0003A270 38 21 00 70 */ addi r1, r1, 0x70
|
|
/* 8003E354 0003A274 4E 80 00 20 */ blr
|
|
|
|
.global func_8003E358
|
|
func_8003E358:
|
|
/* 8003E358 0003A278 7C 08 02 A6 */ mflr r0
|
|
/* 8003E35C 0003A27C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003E360 0003A280 94 21 FF 88 */ stwu r1, -0x78(r1)
|
|
/* 8003E364 0003A284 DB E1 00 70 */ stfd f31, 0x70(r1)
|
|
/* 8003E368 0003A288 93 E1 00 6C */ stw r31, 0x6c(r1)
|
|
/* 8003E36C 0003A28C 3B E6 00 00 */ addi r31, r6, 0
|
|
/* 8003E370 0003A290 93 C1 00 68 */ stw r30, 0x68(r1)
|
|
/* 8003E374 0003A294 3B C5 00 00 */ addi r30, r5, 0
|
|
/* 8003E378 0003A298 93 A1 00 64 */ stw r29, 0x64(r1)
|
|
/* 8003E37C 0003A29C 3B A4 00 00 */ addi r29, r4, 0
|
|
/* 8003E380 0003A2A0 93 81 00 60 */ stw r28, 0x60(r1)
|
|
/* 8003E384 0003A2A4 3B 83 00 00 */ addi r28, r3, 0
|
|
/* 8003E388 0003A2A8 4B FC 94 69 */ bl mathutil_mtxA_push
|
|
/* 8003E38C 0003A2AC 4B FC 91 D9 */ bl mathutil_mtxA_from_identity
|
|
/* 8003E390 0003A2B0 C0 3F 00 00 */ lfs f1, 0(r31)
|
|
/* 8003E394 0003A2B4 C0 5F 00 04 */ lfs f2, 4(r31)
|
|
/* 8003E398 0003A2B8 C0 62 8E 08 */ lfs f3, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003E39C 0003A2BC 4B FC 99 95 */ bl mathutil_mtxA_translate_xyz
|
|
/* 8003E3A0 0003A2C0 C0 3F 00 10 */ lfs f1, 0x10(r31)
|
|
/* 8003E3A4 0003A2C4 C0 5F 00 14 */ lfs f2, 0x14(r31)
|
|
/* 8003E3A8 0003A2C8 4B FC 8E FD */ bl mathutil_atan2
|
|
/* 8003E3AC 0003A2CC 7C 60 07 34 */ extsh r0, r3
|
|
/* 8003E3B0 0003A2D0 7C 60 00 D0 */ neg r3, r0
|
|
/* 8003E3B4 0003A2D4 4B FC 9C D5 */ bl mathutil_mtxA_rotate_z
|
|
/* 8003E3B8 0003A2D8 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003E3BC 0003A2DC 38 81 00 3C */ addi r4, r1, 0x3c
|
|
/* 8003E3C0 0003A2E0 4B FC 9B 0D */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E3C4 0003A2E4 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 8003E3C8 0003A2E8 38 81 00 30 */ addi r4, r1, 0x30
|
|
/* 8003E3CC 0003A2EC 4B FC 9B 01 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E3D0 0003A2F0 C0 3F 00 08 */ lfs f1, 8(r31)
|
|
/* 8003E3D4 0003A2F4 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 8003E3D8 0003A2F8 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003E3DC 0003A2FC 7C 64 1B 78 */ mr r4, r3
|
|
/* 8003E3E0 0003A300 D0 21 00 24 */ stfs f1, 0x24(r1)
|
|
/* 8003E3E4 0003A304 C0 3F 00 0C */ lfs f1, 0xc(r31)
|
|
/* 8003E3E8 0003A308 D0 21 00 28 */ stfs f1, 0x28(r1)
|
|
/* 8003E3EC 0003A30C D0 01 00 2C */ stfs f0, 0x2c(r1)
|
|
/* 8003E3F0 0003A310 4B FC 9A DD */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E3F4 0003A314 C0 41 00 34 */ lfs f2, 0x34(r1)
|
|
/* 8003E3F8 0003A318 C0 01 00 40 */ lfs f0, 0x40(r1)
|
|
/* 8003E3FC 0003A31C C0 21 00 38 */ lfs f1, 0x38(r1)
|
|
/* 8003E400 0003A320 EC 42 00 28 */ fsubs f2, f2, f0
|
|
/* 8003E404 0003A324 C0 01 00 44 */ lfs f0, 0x44(r1)
|
|
/* 8003E408 0003A328 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003E40C 0003A32C D0 41 00 1C */ stfs f2, 0x1c(r1)
|
|
/* 8003E410 0003A330 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003E414 0003A334 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 8003E418 0003A338 C0 41 00 20 */ lfs f2, 0x20(r1)
|
|
/* 8003E41C 0003A33C 4B FC 8E 89 */ bl mathutil_atan2
|
|
/* 8003E420 0003A340 7C 60 07 34 */ extsh r0, r3
|
|
/* 8003E424 0003A344 7C 60 00 D0 */ neg r3, r0
|
|
/* 8003E428 0003A348 38 63 80 00 */ addi r3, r3, -32768
|
|
/* 8003E42C 0003A34C 4B FC 9B 5D */ bl mathutil_mtxA_rotate_x
|
|
/* 8003E430 0003A350 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 8003E434 0003A354 38 81 00 30 */ addi r4, r1, 0x30
|
|
/* 8003E438 0003A358 4B FC 9A 95 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E43C 0003A35C 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003E440 0003A360 38 81 00 3C */ addi r4, r1, 0x3c
|
|
/* 8003E444 0003A364 4B FC 9A 89 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E448 0003A368 C3 E1 00 34 */ lfs f31, 0x34(r1)
|
|
/* 8003E44C 0003A36C C0 1C 00 28 */ lfs f0, 0x28(r28)
|
|
/* 8003E450 0003A370 FC 20 FA 10 */ fabs f1, f31
|
|
/* 8003E454 0003A374 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E458 0003A378 40 81 00 0C */ ble lbl_8003E464
|
|
/* 8003E45C 0003A37C 4B FC 93 D9 */ bl mathutil_mtxA_pop
|
|
/* 8003E460 0003A380 48 00 01 50 */ b lbl_8003E5B0
|
|
lbl_8003E464:
|
|
/* 8003E464 0003A384 EC 20 00 32 */ fmuls f1, f0, f0
|
|
/* 8003E468 0003A388 EC 1F 07 F2 */ fmuls f0, f31, f31
|
|
/* 8003E46C 0003A38C EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 8003E470 0003A390 4B FC 8C 89 */ bl mathutil_sqrt
|
|
/* 8003E474 0003A394 C0 01 00 38 */ lfs f0, 0x38(r1)
|
|
/* 8003E478 0003A398 FC 00 02 10 */ fabs f0, f0
|
|
/* 8003E47C 0003A39C FC 00 08 40 */ fcmpo cr0, f0, f1
|
|
/* 8003E480 0003A3A0 40 81 00 0C */ ble lbl_8003E48C
|
|
/* 8003E484 0003A3A4 4B FC 93 B1 */ bl mathutil_mtxA_pop
|
|
/* 8003E488 0003A3A8 48 00 01 28 */ b lbl_8003E5B0
|
|
lbl_8003E48C:
|
|
/* 8003E48C 0003A3AC C0 41 00 44 */ lfs f2, 0x44(r1)
|
|
/* 8003E490 0003A3B0 C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003E494 0003A3B4 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8003E498 0003A3B8 40 80 00 08 */ bge lbl_8003E4A0
|
|
/* 8003E49C 0003A3BC FC 20 08 50 */ fneg f1, f1
|
|
lbl_8003E4A0:
|
|
/* 8003E4A0 0003A3C0 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003E4A4 0003A3C4 C0 41 00 44 */ lfs f2, 0x44(r1)
|
|
/* 8003E4A8 0003A3C8 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 8003E4AC 0003A3CC FC 02 08 40 */ fcmpo cr0, f2, f1
|
|
/* 8003E4B0 0003A3D0 D3 E1 00 1C */ stfs f31, 0x1c(r1)
|
|
/* 8003E4B4 0003A3D4 D0 21 00 20 */ stfs f1, 0x20(r1)
|
|
/* 8003E4B8 0003A3D8 40 81 00 34 */ ble lbl_8003E4EC
|
|
/* 8003E4BC 0003A3DC C0 01 00 38 */ lfs f0, 0x38(r1)
|
|
/* 8003E4C0 0003A3E0 FC 00 08 40 */ fcmpo cr0, f0, f1
|
|
/* 8003E4C4 0003A3E4 40 80 00 28 */ bge lbl_8003E4EC
|
|
/* 8003E4C8 0003A3E8 EC 21 10 28 */ fsubs f1, f1, f2
|
|
/* 8003E4CC 0003A3EC C0 61 00 3C */ lfs f3, 0x3c(r1)
|
|
/* 8003E4D0 0003A3F0 EC 00 10 28 */ fsubs f0, f0, f2
|
|
/* 8003E4D4 0003A3F4 C0 41 00 30 */ lfs f2, 0x30(r1)
|
|
/* 8003E4D8 0003A3F8 EC 42 18 28 */ fsubs f2, f2, f3
|
|
/* 8003E4DC 0003A3FC EC 01 00 24 */ fdivs f0, f1, f0
|
|
/* 8003E4E0 0003A400 EC 02 00 32 */ fmuls f0, f2, f0
|
|
/* 8003E4E4 0003A404 EC 23 00 2A */ fadds f1, f3, f0
|
|
/* 8003E4E8 0003A408 48 00 00 08 */ b lbl_8003E4F0
|
|
lbl_8003E4EC:
|
|
/* 8003E4EC 0003A40C C0 21 00 30 */ lfs f1, 0x30(r1)
|
|
lbl_8003E4F0:
|
|
/* 8003E4F0 0003A410 C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003E4F4 0003A414 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E4F8 0003A418 41 80 00 10 */ blt lbl_8003E508
|
|
/* 8003E4FC 0003A41C C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003E500 0003A420 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E504 0003A424 40 81 00 0C */ ble lbl_8003E510
|
|
lbl_8003E508:
|
|
/* 8003E508 0003A428 4B FC 93 2D */ bl mathutil_mtxA_pop
|
|
/* 8003E50C 0003A42C 48 00 00 A4 */ b lbl_8003E5B0
|
|
lbl_8003E510:
|
|
/* 8003E510 0003A430 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 8003E514 0003A434 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 8003E518 0003A438 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003E51C 0003A43C EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003E520 0003A440 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003E524 0003A444 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E528 0003A448 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8003E52C 0003A44C 40 82 00 0C */ bne lbl_8003E538
|
|
/* 8003E530 0003A450 4B FC 93 05 */ bl mathutil_mtxA_pop
|
|
/* 8003E534 0003A454 48 00 00 7C */ b lbl_8003E5B0
|
|
lbl_8003E538:
|
|
/* 8003E538 0003A458 4B FC 8C 01 */ bl mathutil_rsqrt
|
|
/* 8003E53C 0003A45C C0 01 00 1C */ lfs f0, 0x1c(r1)
|
|
/* 8003E540 0003A460 38 61 00 18 */ addi r3, r1, 0x18
|
|
/* 8003E544 0003A464 38 81 00 54 */ addi r4, r1, 0x54
|
|
/* 8003E548 0003A468 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003E54C 0003A46C D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003E550 0003A470 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 8003E554 0003A474 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003E558 0003A478 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003E55C 0003A47C 4B FC 98 E1 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003E560 0003A480 3B E1 00 48 */ addi r31, r1, 0x48
|
|
/* 8003E564 0003A484 38 9F 00 04 */ addi r4, r31, 4
|
|
/* 8003E568 0003A488 38 7F 00 08 */ addi r3, r31, 8
|
|
/* 8003E56C 0003A48C 3C A0 E0 00 */ lis r5, 0xE000000C@ha
|
|
/* 8003E570 0003A490 C0 45 00 0C */ lfs f2, 0xE000000C@l(r5)
|
|
/* 8003E574 0003A494 C0 25 00 1C */ lfs f1, 0x1c(r5)
|
|
/* 8003E578 0003A498 C0 05 00 2C */ lfs f0, 0x2c(r5)
|
|
/* 8003E57C 0003A49C D0 41 00 48 */ stfs f2, 0x48(r1)
|
|
/* 8003E580 0003A4A0 D0 24 00 00 */ stfs f1, 0(r4)
|
|
/* 8003E584 0003A4A4 D0 03 00 00 */ stfs f0, 0(r3)
|
|
/* 8003E588 0003A4A8 4B FC 92 AD */ bl mathutil_mtxA_pop
|
|
/* 8003E58C 0003A4AC 38 61 00 54 */ addi r3, r1, 0x54
|
|
/* 8003E590 0003A4B0 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003E594 0003A4B4 4B FC 98 A9 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003E598 0003A4B8 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 8003E59C 0003A4BC 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 8003E5A0 0003A4C0 4B FC 98 8D */ bl mathutil_mtxA_tf_point
|
|
/* 8003E5A4 0003A4C4 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003E5A8 0003A4C8 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 8003E5AC 0003A4CC 48 00 10 5D */ bl func_8003F608
|
|
lbl_8003E5B0:
|
|
/* 8003E5B0 0003A4D0 80 01 00 7C */ lwz r0, 0x7c(r1)
|
|
/* 8003E5B4 0003A4D4 CB E1 00 70 */ lfd f31, 0x70(r1)
|
|
/* 8003E5B8 0003A4D8 83 E1 00 6C */ lwz r31, 0x6c(r1)
|
|
/* 8003E5BC 0003A4DC 7C 08 03 A6 */ mtlr r0
|
|
/* 8003E5C0 0003A4E0 83 C1 00 68 */ lwz r30, 0x68(r1)
|
|
/* 8003E5C4 0003A4E4 83 A1 00 64 */ lwz r29, 0x64(r1)
|
|
/* 8003E5C8 0003A4E8 83 81 00 60 */ lwz r28, 0x60(r1)
|
|
/* 8003E5CC 0003A4EC 38 21 00 78 */ addi r1, r1, 0x78
|
|
/* 8003E5D0 0003A4F0 4E 80 00 20 */ blr
|
|
|
|
.global func_8003E5D4
|
|
func_8003E5D4:
|
|
/* 8003E5D4 0003A4F4 7C 08 02 A6 */ mflr r0
|
|
/* 8003E5D8 0003A4F8 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003E5DC 0003A4FC 94 21 FF A8 */ stwu r1, -0x58(r1)
|
|
/* 8003E5E0 0003A500 93 E1 00 54 */ stw r31, 0x54(r1)
|
|
/* 8003E5E4 0003A504 7C 9F 23 78 */ mr r31, r4
|
|
/* 8003E5E8 0003A508 93 C1 00 50 */ stw r30, 0x50(r1)
|
|
/* 8003E5EC 0003A50C 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8003E5F0 0003A510 80 63 00 10 */ lwz r3, 0x10(r3)
|
|
/* 8003E5F4 0003A514 80 1E 00 14 */ lwz r0, 0x14(r30)
|
|
/* 8003E5F8 0003A518 C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003E5FC 0003A51C 90 61 00 28 */ stw r3, 0x28(r1)
|
|
/* 8003E600 0003A520 90 01 00 2C */ stw r0, 0x2c(r1)
|
|
/* 8003E604 0003A524 80 1E 00 18 */ lwz r0, 0x18(r30)
|
|
/* 8003E608 0003A528 90 01 00 30 */ stw r0, 0x30(r1)
|
|
/* 8003E60C 0003A52C C0 81 00 28 */ lfs f4, 0x28(r1)
|
|
/* 8003E610 0003A530 C0 64 00 00 */ lfs f3, 0(r4)
|
|
/* 8003E614 0003A534 C0 41 00 2C */ lfs f2, 0x2c(r1)
|
|
/* 8003E618 0003A538 C0 24 00 04 */ lfs f1, 4(r4)
|
|
/* 8003E61C 0003A53C EC 84 18 28 */ fsubs f4, f4, f3
|
|
/* 8003E620 0003A540 C0 64 00 0C */ lfs f3, 0xc(r4)
|
|
/* 8003E624 0003A544 EC 42 08 28 */ fsubs f2, f2, f1
|
|
/* 8003E628 0003A548 C0 24 00 10 */ lfs f1, 0x10(r4)
|
|
/* 8003E62C 0003A54C C0 C1 00 30 */ lfs f6, 0x30(r1)
|
|
/* 8003E630 0003A550 C0 A4 00 08 */ lfs f5, 8(r4)
|
|
/* 8003E634 0003A554 EC 64 00 F2 */ fmuls f3, f4, f3
|
|
/* 8003E638 0003A558 EC 22 00 72 */ fmuls f1, f2, f1
|
|
/* 8003E63C 0003A55C C0 44 00 14 */ lfs f2, 0x14(r4)
|
|
/* 8003E640 0003A560 EC 86 28 28 */ fsubs f4, f6, f5
|
|
/* 8003E644 0003A564 EC 23 08 2A */ fadds f1, f3, f1
|
|
/* 8003E648 0003A568 EC 44 00 B2 */ fmuls f2, f4, f2
|
|
/* 8003E64C 0003A56C EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E650 0003A570 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E654 0003A574 41 80 01 00 */ blt lbl_8003E754
|
|
/* 8003E658 0003A578 80 7E 00 04 */ lwz r3, 4(r30)
|
|
/* 8003E65C 0003A57C 80 1E 00 08 */ lwz r0, 8(r30)
|
|
/* 8003E660 0003A580 90 61 00 34 */ stw r3, 0x34(r1)
|
|
/* 8003E664 0003A584 90 01 00 38 */ stw r0, 0x38(r1)
|
|
/* 8003E668 0003A588 80 1E 00 0C */ lwz r0, 0xc(r30)
|
|
/* 8003E66C 0003A58C 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 8003E670 0003A590 C0 61 00 34 */ lfs f3, 0x34(r1)
|
|
/* 8003E674 0003A594 C0 5F 00 00 */ lfs f2, 0(r31)
|
|
/* 8003E678 0003A598 C0 21 00 38 */ lfs f1, 0x38(r1)
|
|
/* 8003E67C 0003A59C C0 1F 00 04 */ lfs f0, 4(r31)
|
|
/* 8003E680 0003A5A0 EC 63 10 28 */ fsubs f3, f3, f2
|
|
/* 8003E684 0003A5A4 C0 5F 00 0C */ lfs f2, 0xc(r31)
|
|
/* 8003E688 0003A5A8 EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 8003E68C 0003A5AC C0 1F 00 10 */ lfs f0, 0x10(r31)
|
|
/* 8003E690 0003A5B0 C0 A1 00 3C */ lfs f5, 0x3c(r1)
|
|
/* 8003E694 0003A5B4 C0 9F 00 08 */ lfs f4, 8(r31)
|
|
/* 8003E698 0003A5B8 EC 43 00 B2 */ fmuls f2, f3, f2
|
|
/* 8003E69C 0003A5BC EC 21 00 32 */ fmuls f1, f1, f0
|
|
/* 8003E6A0 0003A5C0 C0 7F 00 14 */ lfs f3, 0x14(r31)
|
|
/* 8003E6A4 0003A5C4 EC 85 20 28 */ fsubs f4, f5, f4
|
|
/* 8003E6A8 0003A5C8 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003E6AC 0003A5CC EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E6B0 0003A5D0 EC 44 00 F2 */ fmuls f2, f4, f3
|
|
/* 8003E6B4 0003A5D4 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E6B8 0003A5D8 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E6BC 0003A5DC 41 81 00 98 */ bgt lbl_8003E754
|
|
/* 8003E6C0 0003A5E0 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003E6C4 0003A5E4 4B FC 8E F9 */ bl mathutil_mtxA_from_translate
|
|
/* 8003E6C8 0003A5E8 A8 7F 00 1A */ lha r3, 0x1a(r31)
|
|
/* 8003E6CC 0003A5EC 4B FC 99 31 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003E6D0 0003A5F0 A8 7F 00 18 */ lha r3, 0x18(r31)
|
|
/* 8003E6D4 0003A5F4 4B FC 98 B5 */ bl mathutil_mtxA_rotate_x
|
|
/* 8003E6D8 0003A5F8 A8 7F 00 1C */ lha r3, 0x1c(r31)
|
|
/* 8003E6DC 0003A5FC 4B FC 99 AD */ bl mathutil_mtxA_rotate_z
|
|
/* 8003E6E0 0003A600 38 61 00 28 */ addi r3, r1, 0x28
|
|
/* 8003E6E4 0003A604 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003E6E8 0003A608 4B FC 97 E5 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E6EC 0003A60C 38 61 00 34 */ addi r3, r1, 0x34
|
|
/* 8003E6F0 0003A610 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003E6F4 0003A614 4B FC 97 D9 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E6F8 0003A618 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003E6FC 0003A61C 7F C3 F3 78 */ mr r3, r30
|
|
/* 8003E700 0003A620 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 8003E704 0003A624 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003E708 0003A628 38 A1 00 1C */ addi r5, r1, 0x1c
|
|
/* 8003E70C 0003A62C D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003E710 0003A630 48 00 00 5D */ bl func_8003E76C
|
|
/* 8003E714 0003A634 C0 1F 00 20 */ lfs f0, 0x20(r31)
|
|
/* 8003E718 0003A638 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003E71C 0003A63C 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 8003E720 0003A640 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003E724 0003A644 38 A1 00 1C */ addi r5, r1, 0x1c
|
|
/* 8003E728 0003A648 C0 1F 00 24 */ lfs f0, 0x24(r31)
|
|
/* 8003E72C 0003A64C D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003E730 0003A650 48 00 00 3D */ bl func_8003E76C
|
|
/* 8003E734 0003A654 C0 1F 00 28 */ lfs f0, 0x28(r31)
|
|
/* 8003E738 0003A658 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003E73C 0003A65C 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 8003E740 0003A660 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003E744 0003A664 38 A1 00 1C */ addi r5, r1, 0x1c
|
|
/* 8003E748 0003A668 C0 1F 00 2C */ lfs f0, 0x2c(r31)
|
|
/* 8003E74C 0003A66C D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003E750 0003A670 48 00 00 1D */ bl func_8003E76C
|
|
lbl_8003E754:
|
|
/* 8003E754 0003A674 80 01 00 5C */ lwz r0, 0x5c(r1)
|
|
/* 8003E758 0003A678 83 E1 00 54 */ lwz r31, 0x54(r1)
|
|
/* 8003E75C 0003A67C 83 C1 00 50 */ lwz r30, 0x50(r1)
|
|
/* 8003E760 0003A680 7C 08 03 A6 */ mtlr r0
|
|
/* 8003E764 0003A684 38 21 00 58 */ addi r1, r1, 0x58
|
|
/* 8003E768 0003A688 4E 80 00 20 */ blr
|
|
|
|
.global func_8003E76C
|
|
func_8003E76C:
|
|
/* 8003E76C 0003A68C 7C 08 02 A6 */ mflr r0
|
|
/* 8003E770 0003A690 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003E774 0003A694 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 8003E778 0003A698 93 E1 00 3C */ stw r31, 0x3c(r1)
|
|
/* 8003E77C 0003A69C 7C BF 2B 78 */ mr r31, r5
|
|
/* 8003E780 0003A6A0 93 C1 00 38 */ stw r30, 0x38(r1)
|
|
/* 8003E784 0003A6A4 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8003E788 0003A6A8 C0 24 00 00 */ lfs f1, 0(r4)
|
|
/* 8003E78C 0003A6AC C0 05 00 00 */ lfs f0, 0(r5)
|
|
/* 8003E790 0003A6B0 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003E794 0003A6B4 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 8003E798 0003A6B8 C0 24 00 04 */ lfs f1, 4(r4)
|
|
/* 8003E79C 0003A6BC C0 05 00 04 */ lfs f0, 4(r5)
|
|
/* 8003E7A0 0003A6C0 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003E7A4 0003A6C4 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 8003E7A8 0003A6C8 C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 8003E7AC 0003A6CC D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003E7B0 0003A6D0 C0 41 00 1C */ lfs f2, 0x1c(r1)
|
|
/* 8003E7B4 0003A6D4 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8003E7B8 0003A6D8 C0 21 00 14 */ lfs f1, 0x14(r1)
|
|
/* 8003E7BC 0003A6DC EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003E7C0 0003A6E0 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003E7C4 0003A6E4 EC 22 08 BA */ fmadds f1, f2, f2, f1
|
|
/* 8003E7C8 0003A6E8 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003E7CC 0003A6EC EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003E7D0 0003A6F0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E7D4 0003A6F4 41 81 00 80 */ bgt lbl_8003E854
|
|
/* 8003E7D8 0003A6F8 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003E7DC 0003A6FC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E7E0 0003A700 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8003E7E4 0003A704 41 82 00 70 */ beq lbl_8003E854
|
|
/* 8003E7E8 0003A708 4B FC 89 51 */ bl mathutil_rsqrt
|
|
/* 8003E7EC 0003A70C C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 8003E7F0 0003A710 38 61 00 14 */ addi r3, r1, 0x14
|
|
/* 8003E7F4 0003A714 38 81 00 2C */ addi r4, r1, 0x2c
|
|
/* 8003E7F8 0003A718 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003E7FC 0003A71C D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 8003E800 0003A720 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8003E804 0003A724 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003E808 0003A728 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 8003E80C 0003A72C C0 01 00 1C */ lfs f0, 0x1c(r1)
|
|
/* 8003E810 0003A730 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003E814 0003A734 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003E818 0003A738 4B FC 96 25 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003E81C 0003A73C C0 3F 00 00 */ lfs f1, 0(r31)
|
|
/* 8003E820 0003A740 38 61 00 14 */ addi r3, r1, 0x14
|
|
/* 8003E824 0003A744 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003E828 0003A748 38 81 00 20 */ addi r4, r1, 0x20
|
|
/* 8003E82C 0003A74C D0 21 00 14 */ stfs f1, 0x14(r1)
|
|
/* 8003E830 0003A750 C0 3F 00 04 */ lfs f1, 4(r31)
|
|
/* 8003E834 0003A754 D0 21 00 18 */ stfs f1, 0x18(r1)
|
|
/* 8003E838 0003A758 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003E83C 0003A75C 4B FC 95 F1 */ bl mathutil_mtxA_tf_point
|
|
/* 8003E840 0003A760 4B FC 8F B1 */ bl mathutil_mtxA_push
|
|
/* 8003E844 0003A764 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003E848 0003A768 38 81 00 20 */ addi r4, r1, 0x20
|
|
/* 8003E84C 0003A76C 48 00 0D BD */ bl func_8003F608
|
|
/* 8003E850 0003A770 4B FC 8F E5 */ bl mathutil_mtxA_pop
|
|
lbl_8003E854:
|
|
/* 8003E854 0003A774 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 8003E858 0003A778 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
|
/* 8003E85C 0003A77C 83 C1 00 38 */ lwz r30, 0x38(r1)
|
|
/* 8003E860 0003A780 7C 08 03 A6 */ mtlr r0
|
|
/* 8003E864 0003A784 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 8003E868 0003A788 4E 80 00 20 */ blr
|
|
|
|
.global func_8003E86C
|
|
func_8003E86C:
|
|
/* 8003E86C 0003A78C 7C 08 02 A6 */ mflr r0
|
|
/* 8003E870 0003A790 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003E874 0003A794 94 21 FF 90 */ stwu r1, -0x70(r1)
|
|
/* 8003E878 0003A798 DB E1 00 68 */ stfd f31, 0x68(r1)
|
|
/* 8003E87C 0003A79C DB C1 00 60 */ stfd f30, 0x60(r1)
|
|
/* 8003E880 0003A7A0 93 E1 00 5C */ stw r31, 0x5c(r1)
|
|
/* 8003E884 0003A7A4 7C 9F 23 78 */ mr r31, r4
|
|
/* 8003E888 0003A7A8 93 C1 00 58 */ stw r30, 0x58(r1)
|
|
/* 8003E88C 0003A7AC 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8003E890 0003A7B0 80 63 00 10 */ lwz r3, 0x10(r3)
|
|
/* 8003E894 0003A7B4 80 1E 00 14 */ lwz r0, 0x14(r30)
|
|
/* 8003E898 0003A7B8 C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003E89C 0003A7BC 90 61 00 28 */ stw r3, 0x28(r1)
|
|
/* 8003E8A0 0003A7C0 90 01 00 2C */ stw r0, 0x2c(r1)
|
|
/* 8003E8A4 0003A7C4 80 1E 00 18 */ lwz r0, 0x18(r30)
|
|
/* 8003E8A8 0003A7C8 90 01 00 30 */ stw r0, 0x30(r1)
|
|
/* 8003E8AC 0003A7CC C0 41 00 28 */ lfs f2, 0x28(r1)
|
|
/* 8003E8B0 0003A7D0 C0 24 00 00 */ lfs f1, 0(r4)
|
|
/* 8003E8B4 0003A7D4 C0 61 00 2C */ lfs f3, 0x2c(r1)
|
|
/* 8003E8B8 0003A7D8 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 8003E8BC 0003A7DC C0 41 00 30 */ lfs f2, 0x30(r1)
|
|
/* 8003E8C0 0003A7E0 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003E8C4 0003A7E4 C0 24 00 04 */ lfs f1, 4(r4)
|
|
/* 8003E8C8 0003A7E8 EC 23 08 28 */ fsubs f1, f3, f1
|
|
/* 8003E8CC 0003A7EC D0 21 00 20 */ stfs f1, 0x20(r1)
|
|
/* 8003E8D0 0003A7F0 C0 24 00 08 */ lfs f1, 8(r4)
|
|
/* 8003E8D4 0003A7F4 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 8003E8D8 0003A7F8 D0 21 00 24 */ stfs f1, 0x24(r1)
|
|
/* 8003E8DC 0003A7FC C0 81 00 1C */ lfs f4, 0x1c(r1)
|
|
/* 8003E8E0 0003A800 C0 64 00 14 */ lfs f3, 0x14(r4)
|
|
/* 8003E8E4 0003A804 C0 41 00 20 */ lfs f2, 0x20(r1)
|
|
/* 8003E8E8 0003A808 C0 24 00 18 */ lfs f1, 0x18(r4)
|
|
/* 8003E8EC 0003A80C EC 64 00 F2 */ fmuls f3, f4, f3
|
|
/* 8003E8F0 0003A810 C0 81 00 24 */ lfs f4, 0x24(r1)
|
|
/* 8003E8F4 0003A814 EC 22 00 72 */ fmuls f1, f2, f1
|
|
/* 8003E8F8 0003A818 C0 44 00 1C */ lfs f2, 0x1c(r4)
|
|
/* 8003E8FC 0003A81C EC 44 00 B2 */ fmuls f2, f4, f2
|
|
/* 8003E900 0003A820 EC 23 08 2A */ fadds f1, f3, f1
|
|
/* 8003E904 0003A824 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E908 0003A828 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E90C 0003A82C 41 80 04 84 */ blt lbl_8003ED90
|
|
/* 8003E910 0003A830 80 7E 00 04 */ lwz r3, 4(r30)
|
|
/* 8003E914 0003A834 80 1E 00 08 */ lwz r0, 8(r30)
|
|
/* 8003E918 0003A838 90 61 00 34 */ stw r3, 0x34(r1)
|
|
/* 8003E91C 0003A83C 90 01 00 38 */ stw r0, 0x38(r1)
|
|
/* 8003E920 0003A840 80 1E 00 0C */ lwz r0, 0xc(r30)
|
|
/* 8003E924 0003A844 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 8003E928 0003A848 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 8003E92C 0003A84C C0 1F 00 00 */ lfs f0, 0(r31)
|
|
/* 8003E930 0003A850 C0 41 00 38 */ lfs f2, 0x38(r1)
|
|
/* 8003E934 0003A854 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003E938 0003A858 C0 21 00 3C */ lfs f1, 0x3c(r1)
|
|
/* 8003E93C 0003A85C D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003E940 0003A860 C0 1F 00 04 */ lfs f0, 4(r31)
|
|
/* 8003E944 0003A864 EC 02 00 28 */ fsubs f0, f2, f0
|
|
/* 8003E948 0003A868 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003E94C 0003A86C C0 1F 00 08 */ lfs f0, 8(r31)
|
|
/* 8003E950 0003A870 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003E954 0003A874 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003E958 0003A878 C0 61 00 1C */ lfs f3, 0x1c(r1)
|
|
/* 8003E95C 0003A87C C0 5F 00 14 */ lfs f2, 0x14(r31)
|
|
/* 8003E960 0003A880 C0 21 00 20 */ lfs f1, 0x20(r1)
|
|
/* 8003E964 0003A884 C0 1F 00 18 */ lfs f0, 0x18(r31)
|
|
/* 8003E968 0003A888 EC 43 00 B2 */ fmuls f2, f3, f2
|
|
/* 8003E96C 0003A88C C0 81 00 24 */ lfs f4, 0x24(r1)
|
|
/* 8003E970 0003A890 EC 21 00 32 */ fmuls f1, f1, f0
|
|
/* 8003E974 0003A894 C0 7F 00 1C */ lfs f3, 0x1c(r31)
|
|
/* 8003E978 0003A898 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003E97C 0003A89C EC 64 00 F2 */ fmuls f3, f4, f3
|
|
/* 8003E980 0003A8A0 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003E984 0003A8A4 EC 23 08 2A */ fadds f1, f3, f1
|
|
/* 8003E988 0003A8A8 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003E98C 0003A8AC 41 81 04 04 */ bgt lbl_8003ED90
|
|
/* 8003E990 0003A8B0 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003E994 0003A8B4 4B FC 8C 29 */ bl mathutil_mtxA_from_translate
|
|
/* 8003E998 0003A8B8 C0 3F 00 14 */ lfs f1, 0x14(r31)
|
|
/* 8003E99C 0003A8BC C0 5F 00 1C */ lfs f2, 0x1c(r31)
|
|
/* 8003E9A0 0003A8C0 4B FC 89 05 */ bl mathutil_atan2
|
|
/* 8003E9A4 0003A8C4 7C 63 07 34 */ extsh r3, r3
|
|
/* 8003E9A8 0003A8C8 4B FC 96 55 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003E9AC 0003A8CC C0 1F 00 1C */ lfs f0, 0x1c(r31)
|
|
/* 8003E9B0 0003A8D0 C0 3F 00 14 */ lfs f1, 0x14(r31)
|
|
/* 8003E9B4 0003A8D4 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003E9B8 0003A8D8 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003E9BC 0003A8DC 4B FC 87 3D */ bl mathutil_sqrt
|
|
/* 8003E9C0 0003A8E0 FC 40 08 90 */ fmr f2, f1
|
|
/* 8003E9C4 0003A8E4 C0 3F 00 18 */ lfs f1, 0x18(r31)
|
|
/* 8003E9C8 0003A8E8 4B FC 88 DD */ bl mathutil_atan2
|
|
/* 8003E9CC 0003A8EC 7C 60 07 34 */ extsh r0, r3
|
|
/* 8003E9D0 0003A8F0 7C 60 00 D0 */ neg r3, r0
|
|
/* 8003E9D4 0003A8F4 4B FC 95 B5 */ bl mathutil_mtxA_rotate_x
|
|
/* 8003E9D8 0003A8F8 38 61 00 34 */ addi r3, r1, 0x34
|
|
/* 8003E9DC 0003A8FC 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 8003E9E0 0003A900 4B FC 94 ED */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003E9E4 0003A904 C8 42 8E 30 */ lfd f2, lbl_802F3630-_SDA2_BASE_(r2)
|
|
/* 8003E9E8 0003A908 C0 3F 00 20 */ lfs f1, 0x20(r31)
|
|
/* 8003E9EC 0003A90C C0 1F 00 24 */ lfs f0, 0x24(r31)
|
|
/* 8003E9F0 0003A910 FF E2 00 72 */ fmul f31, f2, f1
|
|
/* 8003E9F4 0003A914 C0 7E 00 28 */ lfs f3, 0x28(r30)
|
|
/* 8003E9F8 0003A918 C0 A1 00 10 */ lfs f5, 0x10(r1)
|
|
/* 8003E9FC 0003A91C FF C2 00 32 */ fmul f30, f2, f0
|
|
/* 8003EA00 0003A920 FF E0 F8 18 */ frsp f31, f31
|
|
/* 8003EA04 0003A924 FF C0 F0 18 */ frsp f30, f30
|
|
/* 8003EA08 0003A928 FC 80 F8 50 */ fneg f4, f31
|
|
/* 8003EA0C 0003A92C EC 04 18 28 */ fsubs f0, f4, f3
|
|
/* 8003EA10 0003A930 FC 05 00 40 */ fcmpo cr0, f5, f0
|
|
/* 8003EA14 0003A934 41 80 03 7C */ blt lbl_8003ED90
|
|
/* 8003EA18 0003A938 EC 1F 18 2A */ fadds f0, f31, f3
|
|
/* 8003EA1C 0003A93C FC 05 00 40 */ fcmpo cr0, f5, f0
|
|
/* 8003EA20 0003A940 41 81 03 70 */ bgt lbl_8003ED90
|
|
/* 8003EA24 0003A944 FC 20 F0 50 */ fneg f1, f30
|
|
/* 8003EA28 0003A948 C0 41 00 14 */ lfs f2, 0x14(r1)
|
|
/* 8003EA2C 0003A94C EC 01 18 28 */ fsubs f0, f1, f3
|
|
/* 8003EA30 0003A950 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8003EA34 0003A954 41 80 03 5C */ blt lbl_8003ED90
|
|
/* 8003EA38 0003A958 EC 1E 18 2A */ fadds f0, f30, f3
|
|
/* 8003EA3C 0003A95C FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8003EA40 0003A960 41 81 03 50 */ bgt lbl_8003ED90
|
|
/* 8003EA44 0003A964 FC 05 20 40 */ fcmpo cr0, f5, f4
|
|
/* 8003EA48 0003A968 40 80 00 B8 */ bge lbl_8003EB00
|
|
/* 8003EA4C 0003A96C EC 25 F8 2A */ fadds f1, f5, f31
|
|
/* 8003EA50 0003A970 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8003EA54 0003A974 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003EA58 0003A978 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003EA5C 0003A97C C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003EA60 0003A980 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 8003EA64 0003A984 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003EA68 0003A988 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003EA6C 0003A98C C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003EA70 0003A990 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003EA74 0003A994 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003EA78 0003A998 41 81 03 18 */ bgt lbl_8003ED90
|
|
/* 8003EA7C 0003A99C C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003EA80 0003A9A0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003EA84 0003A9A4 40 81 00 2C */ ble lbl_8003EAB0
|
|
/* 8003EA88 0003A9A8 4B FC 86 B1 */ bl mathutil_rsqrt
|
|
/* 8003EA8C 0003A9AC C0 41 00 1C */ lfs f2, 0x1c(r1)
|
|
/* 8003EA90 0003A9B0 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EA94 0003A9B4 EC 42 00 72 */ fmuls f2, f2, f1
|
|
/* 8003EA98 0003A9B8 D0 41 00 1C */ stfs f2, 0x1c(r1)
|
|
/* 8003EA9C 0003A9BC D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003EAA0 0003A9C0 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003EAA4 0003A9C4 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003EAA8 0003A9C8 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003EAAC 0003A9CC 48 00 00 18 */ b lbl_8003EAC4
|
|
lbl_8003EAB0:
|
|
/* 8003EAB0 0003A9D0 C0 22 8E 38 */ lfs f1, lbl_802F3638-_SDA2_BASE_(r2)
|
|
/* 8003EAB4 0003A9D4 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EAB8 0003A9D8 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003EABC 0003A9DC D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003EAC0 0003A9E0 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
lbl_8003EAC4:
|
|
/* 8003EAC4 0003A9E4 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003EAC8 0003A9E8 38 81 00 4C */ addi r4, r1, 0x4c
|
|
/* 8003EACC 0003A9EC 4B FC 93 71 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003EAD0 0003A9F0 FC 20 F8 50 */ fneg f1, f31
|
|
/* 8003EAD4 0003A9F4 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EAD8 0003A9F8 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003EADC 0003A9FC 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003EAE0 0003AA00 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003EAE4 0003AA04 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003EAE8 0003AA08 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003EAEC 0003AA0C 4B FC 93 41 */ bl mathutil_mtxA_tf_point
|
|
/* 8003EAF0 0003AA10 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003EAF4 0003AA14 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003EAF8 0003AA18 48 00 0B 11 */ bl func_8003F608
|
|
/* 8003EAFC 0003AA1C 48 00 02 94 */ b lbl_8003ED90
|
|
lbl_8003EB00:
|
|
/* 8003EB00 0003AA20 FC 05 F8 40 */ fcmpo cr0, f5, f31
|
|
/* 8003EB04 0003AA24 40 81 00 B4 */ ble lbl_8003EBB8
|
|
/* 8003EB08 0003AA28 EC 25 F8 28 */ fsubs f1, f5, f31
|
|
/* 8003EB0C 0003AA2C C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8003EB10 0003AA30 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003EB14 0003AA34 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003EB18 0003AA38 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003EB1C 0003AA3C C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 8003EB20 0003AA40 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003EB24 0003AA44 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003EB28 0003AA48 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003EB2C 0003AA4C EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003EB30 0003AA50 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003EB34 0003AA54 41 81 02 5C */ bgt lbl_8003ED90
|
|
/* 8003EB38 0003AA58 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003EB3C 0003AA5C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003EB40 0003AA60 40 81 00 2C */ ble lbl_8003EB6C
|
|
/* 8003EB44 0003AA64 4B FC 85 F5 */ bl mathutil_rsqrt
|
|
/* 8003EB48 0003AA68 C0 41 00 1C */ lfs f2, 0x1c(r1)
|
|
/* 8003EB4C 0003AA6C C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EB50 0003AA70 EC 42 00 72 */ fmuls f2, f2, f1
|
|
/* 8003EB54 0003AA74 D0 41 00 1C */ stfs f2, 0x1c(r1)
|
|
/* 8003EB58 0003AA78 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003EB5C 0003AA7C C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003EB60 0003AA80 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003EB64 0003AA84 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003EB68 0003AA88 48 00 00 18 */ b lbl_8003EB80
|
|
lbl_8003EB6C:
|
|
/* 8003EB6C 0003AA8C C0 22 8E 0C */ lfs f1, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 8003EB70 0003AA90 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EB74 0003AA94 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003EB78 0003AA98 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003EB7C 0003AA9C D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
lbl_8003EB80:
|
|
/* 8003EB80 0003AAA0 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003EB84 0003AAA4 38 81 00 4C */ addi r4, r1, 0x4c
|
|
/* 8003EB88 0003AAA8 4B FC 92 B5 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003EB8C 0003AAAC D3 E1 00 1C */ stfs f31, 0x1c(r1)
|
|
/* 8003EB90 0003AAB0 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003EB94 0003AAB4 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EB98 0003AAB8 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003EB9C 0003AABC D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003EBA0 0003AAC0 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003EBA4 0003AAC4 4B FC 92 89 */ bl mathutil_mtxA_tf_point
|
|
/* 8003EBA8 0003AAC8 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003EBAC 0003AACC 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003EBB0 0003AAD0 48 00 0A 59 */ bl func_8003F608
|
|
/* 8003EBB4 0003AAD4 48 00 01 DC */ b lbl_8003ED90
|
|
lbl_8003EBB8:
|
|
/* 8003EBB8 0003AAD8 FC 02 08 40 */ fcmpo cr0, f2, f1
|
|
/* 8003EBBC 0003AADC 40 80 00 B8 */ bge lbl_8003EC74
|
|
/* 8003EBC0 0003AAE0 EC 22 F0 2A */ fadds f1, f2, f30
|
|
/* 8003EBC4 0003AAE4 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8003EBC8 0003AAE8 D0 21 00 20 */ stfs f1, 0x20(r1)
|
|
/* 8003EBCC 0003AAEC D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003EBD0 0003AAF0 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003EBD4 0003AAF4 C0 21 00 20 */ lfs f1, 0x20(r1)
|
|
/* 8003EBD8 0003AAF8 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003EBDC 0003AAFC EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003EBE0 0003AB00 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003EBE4 0003AB04 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003EBE8 0003AB08 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003EBEC 0003AB0C 41 81 01 A4 */ bgt lbl_8003ED90
|
|
/* 8003EBF0 0003AB10 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003EBF4 0003AB14 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003EBF8 0003AB18 40 81 00 2C */ ble lbl_8003EC24
|
|
/* 8003EBFC 0003AB1C 4B FC 85 3D */ bl mathutil_rsqrt
|
|
/* 8003EC00 0003AB20 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EC04 0003AB24 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003EC08 0003AB28 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 8003EC0C 0003AB2C EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003EC10 0003AB30 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003EC14 0003AB34 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003EC18 0003AB38 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003EC1C 0003AB3C D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003EC20 0003AB40 48 00 00 18 */ b lbl_8003EC38
|
|
lbl_8003EC24:
|
|
/* 8003EC24 0003AB44 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EC28 0003AB48 C0 02 8E 38 */ lfs f0, lbl_802F3638-_SDA2_BASE_(r2)
|
|
/* 8003EC2C 0003AB4C D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003EC30 0003AB50 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003EC34 0003AB54 D0 21 00 24 */ stfs f1, 0x24(r1)
|
|
lbl_8003EC38:
|
|
/* 8003EC38 0003AB58 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003EC3C 0003AB5C 38 81 00 4C */ addi r4, r1, 0x4c
|
|
/* 8003EC40 0003AB60 4B FC 91 FD */ bl mathutil_mtxA_tf_vec
|
|
/* 8003EC44 0003AB64 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EC48 0003AB68 FC 00 F0 50 */ fneg f0, f30
|
|
/* 8003EC4C 0003AB6C 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003EC50 0003AB70 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003EC54 0003AB74 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003EC58 0003AB78 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003EC5C 0003AB7C D0 21 00 24 */ stfs f1, 0x24(r1)
|
|
/* 8003EC60 0003AB80 4B FC 91 CD */ bl mathutil_mtxA_tf_point
|
|
/* 8003EC64 0003AB84 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003EC68 0003AB88 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003EC6C 0003AB8C 48 00 09 9D */ bl func_8003F608
|
|
/* 8003EC70 0003AB90 48 00 01 20 */ b lbl_8003ED90
|
|
lbl_8003EC74:
|
|
/* 8003EC74 0003AB94 FC 02 F0 40 */ fcmpo cr0, f2, f30
|
|
/* 8003EC78 0003AB98 40 81 00 B4 */ ble lbl_8003ED2C
|
|
/* 8003EC7C 0003AB9C EC 22 F0 28 */ fsubs f1, f2, f30
|
|
/* 8003EC80 0003ABA0 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8003EC84 0003ABA4 D0 21 00 20 */ stfs f1, 0x20(r1)
|
|
/* 8003EC88 0003ABA8 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003EC8C 0003ABAC C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003EC90 0003ABB0 C0 21 00 20 */ lfs f1, 0x20(r1)
|
|
/* 8003EC94 0003ABB4 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003EC98 0003ABB8 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003EC9C 0003ABBC C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003ECA0 0003ABC0 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003ECA4 0003ABC4 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003ECA8 0003ABC8 41 81 00 E8 */ bgt lbl_8003ED90
|
|
/* 8003ECAC 0003ABCC C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003ECB0 0003ABD0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003ECB4 0003ABD4 40 81 00 2C */ ble lbl_8003ECE0
|
|
/* 8003ECB8 0003ABD8 4B FC 84 81 */ bl mathutil_rsqrt
|
|
/* 8003ECBC 0003ABDC C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003ECC0 0003ABE0 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003ECC4 0003ABE4 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 8003ECC8 0003ABE8 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003ECCC 0003ABEC D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003ECD0 0003ABF0 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003ECD4 0003ABF4 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003ECD8 0003ABF8 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003ECDC 0003ABFC 48 00 00 18 */ b lbl_8003ECF4
|
|
lbl_8003ECE0:
|
|
/* 8003ECE0 0003AC00 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003ECE4 0003AC04 C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 8003ECE8 0003AC08 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003ECEC 0003AC0C D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003ECF0 0003AC10 D0 21 00 24 */ stfs f1, 0x24(r1)
|
|
lbl_8003ECF4:
|
|
/* 8003ECF4 0003AC14 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003ECF8 0003AC18 38 81 00 4C */ addi r4, r1, 0x4c
|
|
/* 8003ECFC 0003AC1C 4B FC 91 41 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003ED00 0003AC20 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003ED04 0003AC24 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003ED08 0003AC28 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003ED0C 0003AC2C D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003ED10 0003AC30 D3 C1 00 20 */ stfs f30, 0x20(r1)
|
|
/* 8003ED14 0003AC34 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003ED18 0003AC38 4B FC 91 15 */ bl mathutil_mtxA_tf_point
|
|
/* 8003ED1C 0003AC3C 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003ED20 0003AC40 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003ED24 0003AC44 48 00 08 E5 */ bl func_8003F608
|
|
/* 8003ED28 0003AC48 48 00 00 68 */ b lbl_8003ED90
|
|
lbl_8003ED2C:
|
|
/* 8003ED2C 0003AC4C FC 05 20 40 */ fcmpo cr0, f5, f4
|
|
/* 8003ED30 0003AC50 41 80 00 60 */ blt lbl_8003ED90
|
|
/* 8003ED34 0003AC54 FC 05 F8 40 */ fcmpo cr0, f5, f31
|
|
/* 8003ED38 0003AC58 40 81 00 08 */ ble lbl_8003ED40
|
|
/* 8003ED3C 0003AC5C 48 00 00 54 */ b lbl_8003ED90
|
|
lbl_8003ED40:
|
|
/* 8003ED40 0003AC60 FC 02 08 40 */ fcmpo cr0, f2, f1
|
|
/* 8003ED44 0003AC64 41 80 00 4C */ blt lbl_8003ED90
|
|
/* 8003ED48 0003AC68 FC 02 F0 40 */ fcmpo cr0, f2, f30
|
|
/* 8003ED4C 0003AC6C 40 81 00 08 */ ble lbl_8003ED54
|
|
/* 8003ED50 0003AC70 48 00 00 40 */ b lbl_8003ED90
|
|
lbl_8003ED54:
|
|
/* 8003ED54 0003AC74 80 BF 00 00 */ lwz r5, 0(r31)
|
|
/* 8003ED58 0003AC78 7F C3 F3 78 */ mr r3, r30
|
|
/* 8003ED5C 0003AC7C 80 1F 00 04 */ lwz r0, 4(r31)
|
|
/* 8003ED60 0003AC80 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003ED64 0003AC84 90 A1 00 40 */ stw r5, 0x40(r1)
|
|
/* 8003ED68 0003AC88 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 8003ED6C 0003AC8C 80 1F 00 08 */ lwz r0, 8(r31)
|
|
/* 8003ED70 0003AC90 90 01 00 48 */ stw r0, 0x48(r1)
|
|
/* 8003ED74 0003AC94 80 BF 00 14 */ lwz r5, 0x14(r31)
|
|
/* 8003ED78 0003AC98 80 1F 00 18 */ lwz r0, 0x18(r31)
|
|
/* 8003ED7C 0003AC9C 90 A1 00 4C */ stw r5, 0x4c(r1)
|
|
/* 8003ED80 0003ACA0 90 01 00 50 */ stw r0, 0x50(r1)
|
|
/* 8003ED84 0003ACA4 80 1F 00 1C */ lwz r0, 0x1c(r31)
|
|
/* 8003ED88 0003ACA8 90 01 00 54 */ stw r0, 0x54(r1)
|
|
/* 8003ED8C 0003ACAC 48 00 08 7D */ bl func_8003F608
|
|
lbl_8003ED90:
|
|
/* 8003ED90 0003ACB0 80 01 00 74 */ lwz r0, 0x74(r1)
|
|
/* 8003ED94 0003ACB4 CB E1 00 68 */ lfd f31, 0x68(r1)
|
|
/* 8003ED98 0003ACB8 CB C1 00 60 */ lfd f30, 0x60(r1)
|
|
/* 8003ED9C 0003ACBC 7C 08 03 A6 */ mtlr r0
|
|
/* 8003EDA0 0003ACC0 83 E1 00 5C */ lwz r31, 0x5c(r1)
|
|
/* 8003EDA4 0003ACC4 83 C1 00 58 */ lwz r30, 0x58(r1)
|
|
/* 8003EDA8 0003ACC8 38 21 00 70 */ addi r1, r1, 0x70
|
|
/* 8003EDAC 0003ACCC 4E 80 00 20 */ blr
|
|
|
|
.global func_8003EDB0
|
|
func_8003EDB0:
|
|
/* 8003EDB0 0003ACD0 7C 08 02 A6 */ mflr r0
|
|
/* 8003EDB4 0003ACD4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003EDB8 0003ACD8 94 21 FF 70 */ stwu r1, -0x90(r1)
|
|
/* 8003EDBC 0003ACDC DB E1 00 88 */ stfd f31, 0x88(r1)
|
|
/* 8003EDC0 0003ACE0 93 E1 00 84 */ stw r31, 0x84(r1)
|
|
/* 8003EDC4 0003ACE4 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 8003EDC8 0003ACE8 93 C1 00 80 */ stw r30, 0x80(r1)
|
|
/* 8003EDCC 0003ACEC 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 8003EDD0 0003ACF0 C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 8003EDD4 0003ACF4 C0 04 00 00 */ lfs f0, 0(r4)
|
|
/* 8003EDD8 0003ACF8 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003EDDC 0003ACFC D0 01 00 58 */ stfs f0, 0x58(r1)
|
|
/* 8003EDE0 0003AD00 C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 8003EDE4 0003AD04 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 8003EDE8 0003AD08 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003EDEC 0003AD0C D0 01 00 5C */ stfs f0, 0x5c(r1)
|
|
/* 8003EDF0 0003AD10 C0 23 00 0C */ lfs f1, 0xc(r3)
|
|
/* 8003EDF4 0003AD14 C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 8003EDF8 0003AD18 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003EDFC 0003AD1C D0 01 00 60 */ stfs f0, 0x60(r1)
|
|
/* 8003EE00 0003AD20 C0 21 00 60 */ lfs f1, 0x60(r1)
|
|
/* 8003EE04 0003AD24 C0 01 00 5C */ lfs f0, 0x5c(r1)
|
|
/* 8003EE08 0003AD28 C3 E1 00 58 */ lfs f31, 0x58(r1)
|
|
/* 8003EE0C 0003AD2C EF FF 07 F2 */ fmuls f31, f31, f31
|
|
/* 8003EE10 0003AD30 EF E0 F8 3A */ fmadds f31, f0, f0, f31
|
|
/* 8003EE14 0003AD34 EF E1 F8 7A */ fmadds f31, f1, f1, f31
|
|
/* 8003EE18 0003AD38 C0 1F 00 10 */ lfs f0, 0x10(r31)
|
|
/* 8003EE1C 0003AD3C C0 3F 00 0C */ lfs f1, 0xc(r31)
|
|
/* 8003EE20 0003AD40 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003EE24 0003AD44 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003EE28 0003AD48 4B FC 82 D1 */ bl mathutil_sqrt
|
|
/* 8003EE2C 0003AD4C C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003EE30 0003AD50 EC 00 08 2A */ fadds f0, f0, f1
|
|
/* 8003EE34 0003AD54 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003EE38 0003AD58 FC 1F 00 40 */ fcmpo cr0, f31, f0
|
|
/* 8003EE3C 0003AD5C 41 81 01 D4 */ bgt lbl_8003F010
|
|
/* 8003EE40 0003AD60 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003EE44 0003AD64 4B FC 87 79 */ bl mathutil_mtxA_from_translate
|
|
/* 8003EE48 0003AD68 A8 7F 00 18 */ lha r3, 0x18(r31)
|
|
/* 8003EE4C 0003AD6C 4B FC 92 3D */ bl mathutil_mtxA_rotate_z
|
|
/* 8003EE50 0003AD70 A8 7F 00 16 */ lha r3, 0x16(r31)
|
|
/* 8003EE54 0003AD74 4B FC 91 A9 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003EE58 0003AD78 A8 7F 00 14 */ lha r3, 0x14(r31)
|
|
/* 8003EE5C 0003AD7C 4B FC 91 2D */ bl mathutil_mtxA_rotate_x
|
|
/* 8003EE60 0003AD80 38 7E 00 04 */ addi r3, r30, 4
|
|
/* 8003EE64 0003AD84 38 81 00 4C */ addi r4, r1, 0x4c
|
|
/* 8003EE68 0003AD88 4B FC 90 65 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003EE6C 0003AD8C 38 7E 00 10 */ addi r3, r30, 0x10
|
|
/* 8003EE70 0003AD90 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8003EE74 0003AD94 4B FC 90 59 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003EE78 0003AD98 C0 01 00 54 */ lfs f0, 0x54(r1)
|
|
/* 8003EE7C 0003AD9C C0 41 00 4C */ lfs f2, 0x4c(r1)
|
|
/* 8003EE80 0003ADA0 EC 42 00 B2 */ fmuls f2, f2, f2
|
|
/* 8003EE84 0003ADA4 EC 40 10 3A */ fmadds f2, f0, f0, f2
|
|
/* 8003EE88 0003ADA8 C0 3F 00 0C */ lfs f1, 0xc(r31)
|
|
/* 8003EE8C 0003ADAC C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003EE90 0003ADB0 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8003EE94 0003ADB4 FC 20 10 90 */ fmr f1, f2
|
|
/* 8003EE98 0003ADB8 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003EE9C 0003ADBC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003EEA0 0003ADC0 41 81 01 70 */ bgt lbl_8003F010
|
|
/* 8003EEA4 0003ADC4 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003EEA8 0003ADC8 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003EEAC 0003ADCC 41 80 01 64 */ blt lbl_8003F010
|
|
/* 8003EEB0 0003ADD0 C0 5F 00 10 */ lfs f2, 0x10(r31)
|
|
/* 8003EEB4 0003ADD4 C8 62 8E 30 */ lfd f3, lbl_802F3630-_SDA2_BASE_(r2)
|
|
/* 8003EEB8 0003ADD8 FC 00 10 50 */ fneg f0, f2
|
|
/* 8003EEBC 0003ADDC C0 81 00 44 */ lfs f4, 0x44(r1)
|
|
/* 8003EEC0 0003ADE0 FC 03 00 32 */ fmul f0, f3, f0
|
|
/* 8003EEC4 0003ADE4 FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8003EEC8 0003ADE8 40 80 00 64 */ bge lbl_8003EF2C
|
|
/* 8003EECC 0003ADEC C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EED0 0003ADF0 38 61 00 28 */ addi r3, r1, 0x28
|
|
/* 8003EED4 0003ADF4 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003EED8 0003ADF8 D0 21 00 28 */ stfs f1, 0x28(r1)
|
|
/* 8003EEDC 0003ADFC C0 1F 00 10 */ lfs f0, 0x10(r31)
|
|
/* 8003EEE0 0003AE00 FC 00 00 50 */ fneg f0, f0
|
|
/* 8003EEE4 0003AE04 FC 03 00 32 */ fmul f0, f3, f0
|
|
/* 8003EEE8 0003AE08 FC 00 00 18 */ frsp f0, f0
|
|
/* 8003EEEC 0003AE0C D0 01 00 2C */ stfs f0, 0x2c(r1)
|
|
/* 8003EEF0 0003AE10 D0 21 00 30 */ stfs f1, 0x30(r1)
|
|
/* 8003EEF4 0003AE14 4B FC 8F 39 */ bl mathutil_mtxA_tf_point
|
|
/* 8003EEF8 0003AE18 C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003EEFC 0003AE1C 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003EF00 0003AE20 38 81 00 28 */ addi r4, r1, 0x28
|
|
/* 8003EF04 0003AE24 D0 01 00 34 */ stfs f0, 0x34(r1)
|
|
/* 8003EF08 0003AE28 A8 BF 00 14 */ lha r5, 0x14(r31)
|
|
/* 8003EF0C 0003AE2C 38 05 80 00 */ addi r0, r5, -32768
|
|
/* 8003EF10 0003AE30 B0 01 00 38 */ sth r0, 0x38(r1)
|
|
/* 8003EF14 0003AE34 A8 1F 00 16 */ lha r0, 0x16(r31)
|
|
/* 8003EF18 0003AE38 B0 01 00 3A */ sth r0, 0x3a(r1)
|
|
/* 8003EF1C 0003AE3C A8 1F 00 18 */ lha r0, 0x18(r31)
|
|
/* 8003EF20 0003AE40 B0 01 00 3C */ sth r0, 0x3c(r1)
|
|
/* 8003EF24 0003AE44 48 00 01 09 */ bl func_8003F02C
|
|
/* 8003EF28 0003AE48 48 00 00 E8 */ b lbl_8003F010
|
|
lbl_8003EF2C:
|
|
/* 8003EF2C 0003AE4C FC 03 00 B2 */ fmul f0, f3, f2
|
|
/* 8003EF30 0003AE50 FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8003EF34 0003AE54 40 81 00 5C */ ble lbl_8003EF90
|
|
/* 8003EF38 0003AE58 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EF3C 0003AE5C 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 8003EF40 0003AE60 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003EF44 0003AE64 D0 21 00 10 */ stfs f1, 0x10(r1)
|
|
/* 8003EF48 0003AE68 C0 1F 00 10 */ lfs f0, 0x10(r31)
|
|
/* 8003EF4C 0003AE6C FC 03 00 32 */ fmul f0, f3, f0
|
|
/* 8003EF50 0003AE70 FC 00 00 18 */ frsp f0, f0
|
|
/* 8003EF54 0003AE74 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 8003EF58 0003AE78 D0 21 00 18 */ stfs f1, 0x18(r1)
|
|
/* 8003EF5C 0003AE7C 4B FC 8E D1 */ bl mathutil_mtxA_tf_point
|
|
/* 8003EF60 0003AE80 C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003EF64 0003AE84 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003EF68 0003AE88 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 8003EF6C 0003AE8C D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003EF70 0003AE90 A8 1F 00 14 */ lha r0, 0x14(r31)
|
|
/* 8003EF74 0003AE94 B0 01 00 20 */ sth r0, 0x20(r1)
|
|
/* 8003EF78 0003AE98 A8 1F 00 16 */ lha r0, 0x16(r31)
|
|
/* 8003EF7C 0003AE9C B0 01 00 22 */ sth r0, 0x22(r1)
|
|
/* 8003EF80 0003AEA0 A8 1F 00 18 */ lha r0, 0x18(r31)
|
|
/* 8003EF84 0003AEA4 B0 01 00 24 */ sth r0, 0x24(r1)
|
|
/* 8003EF88 0003AEA8 48 00 00 A5 */ bl func_8003F02C
|
|
/* 8003EF8C 0003AEAC 48 00 00 84 */ b lbl_8003F010
|
|
lbl_8003EF90:
|
|
/* 8003EF90 0003AEB0 4B FC 81 A9 */ bl mathutil_rsqrt
|
|
/* 8003EF94 0003AEB4 C0 41 00 4C */ lfs f2, 0x4c(r1)
|
|
/* 8003EF98 0003AEB8 38 61 00 70 */ addi r3, r1, 0x70
|
|
/* 8003EF9C 0003AEBC C0 01 00 54 */ lfs f0, 0x54(r1)
|
|
/* 8003EFA0 0003AEC0 7C 64 1B 78 */ mr r4, r3
|
|
/* 8003EFA4 0003AEC4 EC 82 00 72 */ fmuls f4, f2, f1
|
|
/* 8003EFA8 0003AEC8 C0 62 8E 08 */ lfs f3, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003EFAC 0003AECC EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003EFB0 0003AED0 C0 41 00 50 */ lfs f2, 0x50(r1)
|
|
/* 8003EFB4 0003AED4 D0 81 00 70 */ stfs f4, 0x70(r1)
|
|
/* 8003EFB8 0003AED8 D0 61 00 74 */ stfs f3, 0x74(r1)
|
|
/* 8003EFBC 0003AEDC D0 01 00 78 */ stfs f0, 0x78(r1)
|
|
/* 8003EFC0 0003AEE0 C0 21 00 70 */ lfs f1, 0x70(r1)
|
|
/* 8003EFC4 0003AEE4 C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003EFC8 0003AEE8 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8003EFCC 0003AEEC D0 01 00 64 */ stfs f0, 0x64(r1)
|
|
/* 8003EFD0 0003AEF0 C0 21 00 74 */ lfs f1, 0x74(r1)
|
|
/* 8003EFD4 0003AEF4 C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003EFD8 0003AEF8 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8003EFDC 0003AEFC EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8003EFE0 0003AF00 D0 01 00 68 */ stfs f0, 0x68(r1)
|
|
/* 8003EFE4 0003AF04 C0 21 00 78 */ lfs f1, 0x78(r1)
|
|
/* 8003EFE8 0003AF08 C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003EFEC 0003AF0C EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8003EFF0 0003AF10 D0 01 00 6C */ stfs f0, 0x6c(r1)
|
|
/* 8003EFF4 0003AF14 4B FC 8E 49 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003EFF8 0003AF18 38 61 00 64 */ addi r3, r1, 0x64
|
|
/* 8003EFFC 0003AF1C 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003F000 0003AF20 4B FC 8E 2D */ bl mathutil_mtxA_tf_point
|
|
/* 8003F004 0003AF24 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003F008 0003AF28 38 81 00 64 */ addi r4, r1, 0x64
|
|
/* 8003F00C 0003AF2C 48 00 05 FD */ bl func_8003F608
|
|
lbl_8003F010:
|
|
/* 8003F010 0003AF30 80 01 00 94 */ lwz r0, 0x94(r1)
|
|
/* 8003F014 0003AF34 CB E1 00 88 */ lfd f31, 0x88(r1)
|
|
/* 8003F018 0003AF38 83 E1 00 84 */ lwz r31, 0x84(r1)
|
|
/* 8003F01C 0003AF3C 7C 08 03 A6 */ mtlr r0
|
|
/* 8003F020 0003AF40 83 C1 00 80 */ lwz r30, 0x80(r1)
|
|
/* 8003F024 0003AF44 38 21 00 90 */ addi r1, r1, 0x90
|
|
/* 8003F028 0003AF48 4E 80 00 20 */ blr
|
|
|
|
.global func_8003F02C
|
|
func_8003F02C:
|
|
/* 8003F02C 0003AF4C 7C 08 02 A6 */ mflr r0
|
|
/* 8003F030 0003AF50 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003F034 0003AF54 94 21 FF B8 */ stwu r1, -0x48(r1)
|
|
/* 8003F038 0003AF58 93 E1 00 44 */ stw r31, 0x44(r1)
|
|
/* 8003F03C 0003AF5C 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 8003F040 0003AF60 93 C1 00 40 */ stw r30, 0x40(r1)
|
|
/* 8003F044 0003AF64 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 8003F048 0003AF68 C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 8003F04C 0003AF6C C0 04 00 00 */ lfs f0, 0(r4)
|
|
/* 8003F050 0003AF70 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F054 0003AF74 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 8003F058 0003AF78 C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 8003F05C 0003AF7C C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 8003F060 0003AF80 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F064 0003AF84 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 8003F068 0003AF88 C0 23 00 0C */ lfs f1, 0xc(r3)
|
|
/* 8003F06C 0003AF8C C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 8003F070 0003AF90 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F074 0003AF94 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 8003F078 0003AF98 C0 21 00 18 */ lfs f1, 0x18(r1)
|
|
/* 8003F07C 0003AF9C C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 8003F080 0003AFA0 C0 41 00 10 */ lfs f2, 0x10(r1)
|
|
/* 8003F084 0003AFA4 EC 42 00 B2 */ fmuls f2, f2, f2
|
|
/* 8003F088 0003AFA8 EC 40 10 3A */ fmadds f2, f0, f0, f2
|
|
/* 8003F08C 0003AFAC EC 41 10 7A */ fmadds f2, f1, f1, f2
|
|
/* 8003F090 0003AFB0 C0 3E 00 28 */ lfs f1, 0x28(r30)
|
|
/* 8003F094 0003AFB4 C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003F098 0003AFB8 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8003F09C 0003AFBC EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003F0A0 0003AFC0 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8003F0A4 0003AFC4 41 81 01 8C */ bgt lbl_8003F230
|
|
/* 8003F0A8 0003AFC8 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003F0AC 0003AFCC 4B FC 85 11 */ bl mathutil_mtxA_from_translate
|
|
/* 8003F0B0 0003AFD0 A8 7F 00 14 */ lha r3, 0x14(r31)
|
|
/* 8003F0B4 0003AFD4 4B FC 8F D5 */ bl mathutil_mtxA_rotate_z
|
|
/* 8003F0B8 0003AFD8 A8 7F 00 12 */ lha r3, 0x12(r31)
|
|
/* 8003F0BC 0003AFDC 4B FC 8F 41 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003F0C0 0003AFE0 A8 7F 00 10 */ lha r3, 0x10(r31)
|
|
/* 8003F0C4 0003AFE4 4B FC 8E C5 */ bl mathutil_mtxA_rotate_x
|
|
/* 8003F0C8 0003AFE8 38 7E 00 04 */ addi r3, r30, 4
|
|
/* 8003F0CC 0003AFEC 38 81 00 1C */ addi r4, r1, 0x1c
|
|
/* 8003F0D0 0003AFF0 4B FC 8D FD */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003F0D4 0003AFF4 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003F0D8 0003AFF8 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 8003F0DC 0003AFFC EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003F0E0 0003B000 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003F0E4 0003B004 C0 5F 00 0C */ lfs f2, 0xc(r31)
|
|
/* 8003F0E8 0003B008 EC 02 00 B2 */ fmuls f0, f2, f2
|
|
/* 8003F0EC 0003B00C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003F0F0 0003B010 40 80 00 5C */ bge lbl_8003F14C
|
|
/* 8003F0F4 0003B014 3B E1 00 28 */ addi r31, r1, 0x28
|
|
/* 8003F0F8 0003B018 38 9F 00 04 */ addi r4, r31, 4
|
|
/* 8003F0FC 0003B01C 38 7F 00 08 */ addi r3, r31, 8
|
|
/* 8003F100 0003B020 3C A0 E0 00 */ lis r5, 0xE000000C@ha
|
|
/* 8003F104 0003B024 C0 45 00 0C */ lfs f2, 0xE000000C@l(r5)
|
|
/* 8003F108 0003B028 C0 25 00 1C */ lfs f1, 0x1c(r5)
|
|
/* 8003F10C 0003B02C C0 05 00 2C */ lfs f0, 0x2c(r5)
|
|
/* 8003F110 0003B030 D0 41 00 28 */ stfs f2, 0x28(r1)
|
|
/* 8003F114 0003B034 D0 24 00 00 */ stfs f1, 0(r4)
|
|
/* 8003F118 0003B038 D0 03 00 00 */ stfs f0, 0(r3)
|
|
/* 8003F11C 0003B03C 38 61 00 34 */ addi r3, r1, 0x34
|
|
/* 8003F120 0003B040 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003F124 0003B044 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003F128 0003B048 C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 8003F12C 0003B04C D0 21 00 34 */ stfs f1, 0x34(r1)
|
|
/* 8003F130 0003B050 D0 01 00 38 */ stfs f0, 0x38(r1)
|
|
/* 8003F134 0003B054 D0 21 00 3C */ stfs f1, 0x3c(r1)
|
|
/* 8003F138 0003B058 4B FC 8D 05 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003F13C 0003B05C 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003F140 0003B060 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 8003F144 0003B064 48 00 04 C5 */ bl func_8003F608
|
|
/* 8003F148 0003B068 48 00 00 E8 */ b lbl_8003F230
|
|
lbl_8003F14C:
|
|
/* 8003F14C 0003B06C C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003F150 0003B070 EC 00 10 2A */ fadds f0, f0, f2
|
|
/* 8003F154 0003B074 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003F158 0003B078 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003F15C 0003B07C 40 80 00 D4 */ bge lbl_8003F230
|
|
/* 8003F160 0003B080 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003F164 0003B084 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003F168 0003B088 40 81 00 C8 */ ble lbl_8003F230
|
|
/* 8003F16C 0003B08C 4B FC 7F CD */ bl mathutil_rsqrt
|
|
/* 8003F170 0003B090 C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003F174 0003B094 C0 A1 00 1C */ lfs f5, 0x1c(r1)
|
|
/* 8003F178 0003B098 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003F17C 0003B09C C0 81 00 24 */ lfs f4, 0x24(r1)
|
|
/* 8003F180 0003B0A0 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003F184 0003B0A4 C0 41 00 20 */ lfs f2, 0x20(r1)
|
|
/* 8003F188 0003B0A8 EC 65 00 32 */ fmuls f3, f5, f0
|
|
/* 8003F18C 0003B0AC EC 04 00 32 */ fmuls f0, f4, f0
|
|
/* 8003F190 0003B0B0 D0 61 00 28 */ stfs f3, 0x28(r1)
|
|
/* 8003F194 0003B0B4 D0 21 00 2C */ stfs f1, 0x2c(r1)
|
|
/* 8003F198 0003B0B8 D0 01 00 30 */ stfs f0, 0x30(r1)
|
|
/* 8003F19C 0003B0BC C0 01 00 28 */ lfs f0, 0x28(r1)
|
|
/* 8003F1A0 0003B0C0 C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 8003F1A4 0003B0C4 EC 65 00 28 */ fsubs f3, f5, f0
|
|
/* 8003F1A8 0003B0C8 C0 01 00 30 */ lfs f0, 0x30(r1)
|
|
/* 8003F1AC 0003B0CC EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 8003F1B0 0003B0D0 EC 04 00 28 */ fsubs f0, f4, f0
|
|
/* 8003F1B4 0003B0D4 D0 61 00 10 */ stfs f3, 0x10(r1)
|
|
/* 8003F1B8 0003B0D8 D0 21 00 14 */ stfs f1, 0x14(r1)
|
|
/* 8003F1BC 0003B0DC D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 8003F1C0 0003B0E0 C0 41 00 18 */ lfs f2, 0x18(r1)
|
|
/* 8003F1C4 0003B0E4 C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 8003F1C8 0003B0E8 C0 21 00 10 */ lfs f1, 0x10(r1)
|
|
/* 8003F1CC 0003B0EC EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003F1D0 0003B0F0 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003F1D4 0003B0F4 EC 22 08 BA */ fmadds f1, f2, f2, f1
|
|
/* 8003F1D8 0003B0F8 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003F1DC 0003B0FC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003F1E0 0003B100 40 81 00 50 */ ble lbl_8003F230
|
|
/* 8003F1E4 0003B104 4B FC 7F 55 */ bl mathutil_rsqrt
|
|
/* 8003F1E8 0003B108 C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 8003F1EC 0003B10C 38 61 00 28 */ addi r3, r1, 0x28
|
|
/* 8003F1F0 0003B110 C0 41 00 14 */ lfs f2, 0x14(r1)
|
|
/* 8003F1F4 0003B114 7C 64 1B 78 */ mr r4, r3
|
|
/* 8003F1F8 0003B118 EC 60 00 72 */ fmuls f3, f0, f1
|
|
/* 8003F1FC 0003B11C C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8003F200 0003B120 EC 42 00 72 */ fmuls f2, f2, f1
|
|
/* 8003F204 0003B124 D0 61 00 34 */ stfs f3, 0x34(r1)
|
|
/* 8003F208 0003B128 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003F20C 0003B12C D0 41 00 38 */ stfs f2, 0x38(r1)
|
|
/* 8003F210 0003B130 D0 01 00 3C */ stfs f0, 0x3c(r1)
|
|
/* 8003F214 0003B134 4B FC 8C 19 */ bl mathutil_mtxA_tf_point
|
|
/* 8003F218 0003B138 38 61 00 34 */ addi r3, r1, 0x34
|
|
/* 8003F21C 0003B13C 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003F220 0003B140 4B FC 8C 1D */ bl mathutil_mtxA_tf_vec
|
|
/* 8003F224 0003B144 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003F228 0003B148 38 81 00 28 */ addi r4, r1, 0x28
|
|
/* 8003F22C 0003B14C 48 00 03 DD */ bl func_8003F608
|
|
lbl_8003F230:
|
|
/* 8003F230 0003B150 80 01 00 4C */ lwz r0, 0x4c(r1)
|
|
/* 8003F234 0003B154 83 E1 00 44 */ lwz r31, 0x44(r1)
|
|
/* 8003F238 0003B158 83 C1 00 40 */ lwz r30, 0x40(r1)
|
|
/* 8003F23C 0003B15C 7C 08 03 A6 */ mtlr r0
|
|
/* 8003F240 0003B160 38 21 00 48 */ addi r1, r1, 0x48
|
|
/* 8003F244 0003B164 4E 80 00 20 */ blr
|
|
|
|
.global func_8003F248
|
|
func_8003F248:
|
|
/* 8003F248 0003B168 7C 08 02 A6 */ mflr r0
|
|
/* 8003F24C 0003B16C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003F250 0003B170 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 8003F254 0003B174 93 E1 00 3C */ stw r31, 0x3c(r1)
|
|
/* 8003F258 0003B178 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 8003F25C 0003B17C 93 C1 00 38 */ stw r30, 0x38(r1)
|
|
/* 8003F260 0003B180 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 8003F264 0003B184 C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 8003F268 0003B188 C0 04 00 00 */ lfs f0, 0(r4)
|
|
/* 8003F26C 0003B18C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F270 0003B190 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 8003F274 0003B194 C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 8003F278 0003B198 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 8003F27C 0003B19C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F280 0003B1A0 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 8003F284 0003B1A4 C0 23 00 0C */ lfs f1, 0xc(r3)
|
|
/* 8003F288 0003B1A8 C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 8003F28C 0003B1AC EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F290 0003B1B0 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 8003F294 0003B1B4 C0 21 00 18 */ lfs f1, 0x18(r1)
|
|
/* 8003F298 0003B1B8 C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 8003F29C 0003B1BC C0 41 00 10 */ lfs f2, 0x10(r1)
|
|
/* 8003F2A0 0003B1C0 EC 42 00 B2 */ fmuls f2, f2, f2
|
|
/* 8003F2A4 0003B1C4 EC 40 10 3A */ fmadds f2, f0, f0, f2
|
|
/* 8003F2A8 0003B1C8 EC 41 10 7A */ fmadds f2, f1, f1, f2
|
|
/* 8003F2AC 0003B1CC C0 3F 00 0C */ lfs f1, 0xc(r31)
|
|
/* 8003F2B0 0003B1D0 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003F2B4 0003B1D4 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8003F2B8 0003B1D8 FC 20 10 90 */ fmr f1, f2
|
|
/* 8003F2BC 0003B1DC EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003F2C0 0003B1E0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003F2C4 0003B1E4 41 81 00 9C */ bgt lbl_8003F360
|
|
/* 8003F2C8 0003B1E8 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003F2CC 0003B1EC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003F2D0 0003B1F0 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8003F2D4 0003B1F4 41 82 00 8C */ beq lbl_8003F360
|
|
/* 8003F2D8 0003B1F8 4B FC 7E 61 */ bl mathutil_rsqrt
|
|
/* 8003F2DC 0003B1FC C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 8003F2E0 0003B200 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003F2E4 0003B204 38 81 00 1C */ addi r4, r1, 0x1c
|
|
/* 8003F2E8 0003B208 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003F2EC 0003B20C D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 8003F2F0 0003B210 C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 8003F2F4 0003B214 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003F2F8 0003B218 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 8003F2FC 0003B21C C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8003F300 0003B220 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003F304 0003B224 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 8003F308 0003B228 C0 81 00 10 */ lfs f4, 0x10(r1)
|
|
/* 8003F30C 0003B22C C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003F310 0003B230 C0 5F 00 00 */ lfs f2, 0(r31)
|
|
/* 8003F314 0003B234 EC 04 00 32 */ fmuls f0, f4, f0
|
|
/* 8003F318 0003B238 C0 61 00 14 */ lfs f3, 0x14(r1)
|
|
/* 8003F31C 0003B23C C0 21 00 18 */ lfs f1, 0x18(r1)
|
|
/* 8003F320 0003B240 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8003F324 0003B244 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003F328 0003B248 C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003F32C 0003B24C C0 5F 00 04 */ lfs f2, 4(r31)
|
|
/* 8003F330 0003B250 EC 03 00 32 */ fmuls f0, f3, f0
|
|
/* 8003F334 0003B254 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8003F338 0003B258 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003F33C 0003B25C C0 1F 00 0C */ lfs f0, 0xc(r31)
|
|
/* 8003F340 0003B260 C0 5F 00 08 */ lfs f2, 8(r31)
|
|
/* 8003F344 0003B264 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 8003F348 0003B268 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8003F34C 0003B26C D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003F350 0003B270 D0 81 00 28 */ stfs f4, 0x28(r1)
|
|
/* 8003F354 0003B274 D0 61 00 2C */ stfs f3, 0x2c(r1)
|
|
/* 8003F358 0003B278 D0 21 00 30 */ stfs f1, 0x30(r1)
|
|
/* 8003F35C 0003B27C 48 00 02 AD */ bl func_8003F608
|
|
lbl_8003F360:
|
|
/* 8003F360 0003B280 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 8003F364 0003B284 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
|
/* 8003F368 0003B288 83 C1 00 38 */ lwz r30, 0x38(r1)
|
|
/* 8003F36C 0003B28C 7C 08 03 A6 */ mtlr r0
|
|
/* 8003F370 0003B290 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 8003F374 0003B294 4E 80 00 20 */ blr
|
|
|
|
.global func_8003F378
|
|
func_8003F378:
|
|
/* 8003F378 0003B298 7C 08 02 A6 */ mflr r0
|
|
/* 8003F37C 0003B29C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003F380 0003B2A0 94 21 FF B8 */ stwu r1, -0x48(r1)
|
|
/* 8003F384 0003B2A4 93 E1 00 44 */ stw r31, 0x44(r1)
|
|
/* 8003F388 0003B2A8 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 8003F38C 0003B2AC 93 C1 00 40 */ stw r30, 0x40(r1)
|
|
/* 8003F390 0003B2B0 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 8003F394 0003B2B4 C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 8003F398 0003B2B8 C0 04 00 00 */ lfs f0, 0(r4)
|
|
/* 8003F39C 0003B2BC EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F3A0 0003B2C0 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003F3A4 0003B2C4 C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 8003F3A8 0003B2C8 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 8003F3AC 0003B2CC EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F3B0 0003B2D0 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003F3B4 0003B2D4 C0 23 00 0C */ lfs f1, 0xc(r3)
|
|
/* 8003F3B8 0003B2D8 C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 8003F3BC 0003B2DC EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F3C0 0003B2E0 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003F3C4 0003B2E4 C0 41 00 24 */ lfs f2, 0x24(r1)
|
|
/* 8003F3C8 0003B2E8 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 8003F3CC 0003B2EC C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 8003F3D0 0003B2F0 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003F3D4 0003B2F4 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003F3D8 0003B2F8 EC 22 08 BA */ fmadds f1, f2, f2, f1
|
|
/* 8003F3DC 0003B2FC C0 5F 00 14 */ lfs f2, 0x14(r31)
|
|
/* 8003F3E0 0003B300 C0 1F 00 18 */ lfs f0, 0x18(r31)
|
|
/* 8003F3E4 0003B304 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8003F3E8 0003B308 40 81 00 08 */ ble lbl_8003F3F0
|
|
/* 8003F3EC 0003B30C 48 00 00 08 */ b lbl_8003F3F4
|
|
lbl_8003F3F0:
|
|
/* 8003F3F0 0003B310 FC 40 00 90 */ fmr f2, f0
|
|
lbl_8003F3F4:
|
|
/* 8003F3F4 0003B314 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003F3F8 0003B318 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 8003F3FC 0003B31C EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003F400 0003B320 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003F404 0003B324 41 81 01 EC */ bgt lbl_8003F5F0
|
|
/* 8003F408 0003B328 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003F40C 0003B32C 4B FC 81 B1 */ bl mathutil_mtxA_from_translate
|
|
/* 8003F410 0003B330 A8 7F 00 10 */ lha r3, 0x10(r31)
|
|
/* 8003F414 0003B334 4B FC 8C 75 */ bl mathutil_mtxA_rotate_z
|
|
/* 8003F418 0003B338 A8 7F 00 0E */ lha r3, 0xe(r31)
|
|
/* 8003F41C 0003B33C 4B FC 8B E1 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003F420 0003B340 A8 7F 00 0C */ lha r3, 0xc(r31)
|
|
/* 8003F424 0003B344 4B FC 8B 65 */ bl mathutil_mtxA_rotate_x
|
|
/* 8003F428 0003B348 38 7E 00 04 */ addi r3, r30, 4
|
|
/* 8003F42C 0003B34C 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 8003F430 0003B350 4B FC 8A 9D */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003F434 0003B354 C0 3E 00 28 */ lfs f1, 0x28(r30)
|
|
/* 8003F438 0003B358 C0 61 00 14 */ lfs f3, 0x14(r1)
|
|
/* 8003F43C 0003B35C FC 00 08 50 */ fneg f0, f1
|
|
/* 8003F440 0003B360 FC 03 00 40 */ fcmpo cr0, f3, f0
|
|
/* 8003F444 0003B364 41 80 01 AC */ blt lbl_8003F5F0
|
|
/* 8003F448 0003B368 C0 5F 00 18 */ lfs f2, 0x18(r31)
|
|
/* 8003F44C 0003B36C EC 02 08 2A */ fadds f0, f2, f1
|
|
/* 8003F450 0003B370 FC 03 00 40 */ fcmpo cr0, f3, f0
|
|
/* 8003F454 0003B374 41 81 01 9C */ bgt lbl_8003F5F0
|
|
/* 8003F458 0003B378 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 8003F45C 0003B37C C0 61 00 10 */ lfs f3, 0x10(r1)
|
|
/* 8003F460 0003B380 EC 63 00 F2 */ fmuls f3, f3, f3
|
|
/* 8003F464 0003B384 EC 60 18 3A */ fmadds f3, f0, f0, f3
|
|
/* 8003F468 0003B388 C0 1F 00 14 */ lfs f0, 0x14(r31)
|
|
/* 8003F46C 0003B38C EC 00 08 2A */ fadds f0, f0, f1
|
|
/* 8003F470 0003B390 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 8003F474 0003B394 FC 03 00 40 */ fcmpo cr0, f3, f0
|
|
/* 8003F478 0003B398 41 81 01 78 */ bgt lbl_8003F5F0
|
|
/* 8003F47C 0003B39C C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003F480 0003B3A0 FC 60 08 90 */ fmr f3, f1
|
|
/* 8003F484 0003B3A4 4B FC 88 AD */ bl mathutil_mtxA_translate_xyz
|
|
/* 8003F488 0003B3A8 C0 21 00 18 */ lfs f1, 0x18(r1)
|
|
/* 8003F48C 0003B3AC C0 41 00 10 */ lfs f2, 0x10(r1)
|
|
/* 8003F490 0003B3B0 4B FC 7E 15 */ bl mathutil_atan2
|
|
/* 8003F494 0003B3B4 7C 60 07 34 */ extsh r0, r3
|
|
/* 8003F498 0003B3B8 7C 60 00 D0 */ neg r3, r0
|
|
/* 8003F49C 0003B3BC 4B FC 8B 61 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003F4A0 0003B3C0 C0 3F 00 18 */ lfs f1, 0x18(r31)
|
|
/* 8003F4A4 0003B3C4 C0 5F 00 14 */ lfs f2, 0x14(r31)
|
|
/* 8003F4A8 0003B3C8 4B FC 7D FD */ bl mathutil_atan2
|
|
/* 8003F4AC 0003B3CC 7C 60 07 34 */ extsh r0, r3
|
|
/* 8003F4B0 0003B3D0 7C 60 00 D0 */ neg r3, r0
|
|
/* 8003F4B4 0003B3D4 4B FC 8B D5 */ bl mathutil_mtxA_rotate_z
|
|
/* 8003F4B8 0003B3D8 38 7E 00 04 */ addi r3, r30, 4
|
|
/* 8003F4BC 0003B3DC 38 81 00 1C */ addi r4, r1, 0x1c
|
|
/* 8003F4C0 0003B3E0 4B FC 8A 0D */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003F4C4 0003B3E4 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 8003F4C8 0003B3E8 C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003F4CC 0003B3EC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003F4D0 0003B3F0 40 80 00 A4 */ bge lbl_8003F574
|
|
/* 8003F4D4 0003B3F4 3B E1 00 28 */ addi r31, r1, 0x28
|
|
/* 8003F4D8 0003B3F8 38 9F 00 04 */ addi r4, r31, 4
|
|
/* 8003F4DC 0003B3FC 38 7F 00 08 */ addi r3, r31, 8
|
|
/* 8003F4E0 0003B400 3C A0 E0 00 */ lis r5, 0xE000000C@ha
|
|
/* 8003F4E4 0003B404 C0 45 00 0C */ lfs f2, 0xE000000C@l(r5)
|
|
/* 8003F4E8 0003B408 C0 25 00 1C */ lfs f1, 0x1c(r5)
|
|
/* 8003F4EC 0003B40C C0 05 00 2C */ lfs f0, 0x2c(r5)
|
|
/* 8003F4F0 0003B410 D0 41 00 28 */ stfs f2, 0x28(r1)
|
|
/* 8003F4F4 0003B414 D0 24 00 00 */ stfs f1, 0(r4)
|
|
/* 8003F4F8 0003B418 D0 03 00 00 */ stfs f0, 0(r3)
|
|
/* 8003F4FC 0003B41C C0 41 00 24 */ lfs f2, 0x24(r1)
|
|
/* 8003F500 0003B420 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 8003F504 0003B424 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 8003F508 0003B428 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003F50C 0003B42C EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003F510 0003B430 EC 22 08 BA */ fmadds f1, f2, f2, f1
|
|
/* 8003F514 0003B434 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003F518 0003B438 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003F51C 0003B43C 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8003F520 0003B440 41 82 00 D0 */ beq lbl_8003F5F0
|
|
/* 8003F524 0003B444 4B FC 7B D5 */ bl mathutil_sqrt
|
|
/* 8003F528 0003B448 C8 42 8E 40 */ lfd f2, lbl_802F3640-_SDA2_BASE_(r2)
|
|
/* 8003F52C 0003B44C 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003F530 0003B450 C0 01 00 1C */ lfs f0, 0x1c(r1)
|
|
/* 8003F534 0003B454 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 8003F538 0003B458 FC 22 08 24 */ fdiv f1, f2, f1
|
|
/* 8003F53C 0003B45C FC 20 08 18 */ frsp f1, f1
|
|
/* 8003F540 0003B460 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003F544 0003B464 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 8003F548 0003B468 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 8003F54C 0003B46C EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003F550 0003B470 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003F554 0003B474 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8003F558 0003B478 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8003F55C 0003B47C D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8003F560 0003B480 4B FC 88 DD */ bl mathutil_mtxA_tf_vec
|
|
/* 8003F564 0003B484 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003F568 0003B488 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 8003F56C 0003B48C 48 00 00 9D */ bl func_8003F608
|
|
/* 8003F570 0003B490 48 00 00 80 */ b lbl_8003F5F0
|
|
lbl_8003F574:
|
|
/* 8003F574 0003B494 C0 1F 00 18 */ lfs f0, 0x18(r31)
|
|
/* 8003F578 0003B498 C0 3F 00 14 */ lfs f1, 0x14(r31)
|
|
/* 8003F57C 0003B49C EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8003F580 0003B4A0 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8003F584 0003B4A4 4B FC 7B 75 */ bl mathutil_sqrt
|
|
/* 8003F588 0003B4A8 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 8003F58C 0003B4AC C0 41 00 1C */ lfs f2, 0x1c(r1)
|
|
/* 8003F590 0003B4B0 EC 00 08 2A */ fadds f0, f0, f1
|
|
/* 8003F594 0003B4B4 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8003F598 0003B4B8 41 81 00 58 */ bgt lbl_8003F5F0
|
|
/* 8003F59C 0003B4BC 3B E1 00 28 */ addi r31, r1, 0x28
|
|
/* 8003F5A0 0003B4C0 38 9F 00 04 */ addi r4, r31, 4
|
|
/* 8003F5A4 0003B4C4 38 7F 00 08 */ addi r3, r31, 8
|
|
/* 8003F5A8 0003B4C8 3C A0 E0 00 */ lis r5, 0xE000000C@ha
|
|
/* 8003F5AC 0003B4CC C0 45 00 0C */ lfs f2, 0xE000000C@l(r5)
|
|
/* 8003F5B0 0003B4D0 C0 25 00 1C */ lfs f1, 0x1c(r5)
|
|
/* 8003F5B4 0003B4D4 C0 05 00 2C */ lfs f0, 0x2c(r5)
|
|
/* 8003F5B8 0003B4D8 D0 41 00 28 */ stfs f2, 0x28(r1)
|
|
/* 8003F5BC 0003B4DC D0 24 00 00 */ stfs f1, 0(r4)
|
|
/* 8003F5C0 0003B4E0 D0 03 00 00 */ stfs f0, 0(r3)
|
|
/* 8003F5C4 0003B4E4 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 8003F5C8 0003B4E8 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 8003F5CC 0003B4EC C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003F5D0 0003B4F0 C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 8003F5D4 0003B4F4 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 8003F5D8 0003B4F8 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 8003F5DC 0003B4FC D0 21 00 24 */ stfs f1, 0x24(r1)
|
|
/* 8003F5E0 0003B500 4B FC 88 5D */ bl mathutil_mtxA_tf_vec
|
|
/* 8003F5E4 0003B504 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8003F5E8 0003B508 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 8003F5EC 0003B50C 48 00 00 1D */ bl func_8003F608
|
|
lbl_8003F5F0:
|
|
/* 8003F5F0 0003B510 80 01 00 4C */ lwz r0, 0x4c(r1)
|
|
/* 8003F5F4 0003B514 83 E1 00 44 */ lwz r31, 0x44(r1)
|
|
/* 8003F5F8 0003B518 83 C1 00 40 */ lwz r30, 0x40(r1)
|
|
/* 8003F5FC 0003B51C 7C 08 03 A6 */ mtlr r0
|
|
/* 8003F600 0003B520 38 21 00 48 */ addi r1, r1, 0x48
|
|
/* 8003F604 0003B524 4E 80 00 20 */ blr
|
|
|
|
.global func_8003F608
|
|
func_8003F608:
|
|
/* 8003F608 0003B528 94 21 FF 98 */ stwu r1, -0x68(r1)
|
|
/* 8003F60C 0003B52C DB E1 00 60 */ stfd f31, 0x60(r1)
|
|
/* 8003F610 0003B530 DB C1 00 58 */ stfd f30, 0x58(r1)
|
|
/* 8003F614 0003B534 DB A1 00 50 */ stfd f29, 0x50(r1)
|
|
/* 8003F618 0003B538 80 A3 00 04 */ lwz r5, 4(r3)
|
|
/* 8003F61C 0003B53C 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 8003F620 0003B540 90 A1 00 28 */ stw r5, 0x28(r1)
|
|
/* 8003F624 0003B544 90 01 00 2C */ stw r0, 0x2c(r1)
|
|
/* 8003F628 0003B548 80 03 00 0C */ lwz r0, 0xc(r3)
|
|
/* 8003F62C 0003B54C 90 01 00 30 */ stw r0, 0x30(r1)
|
|
/* 8003F630 0003B550 C0 61 00 28 */ lfs f3, 0x28(r1)
|
|
/* 8003F634 0003B554 C0 44 00 00 */ lfs f2, 0(r4)
|
|
/* 8003F638 0003B558 C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 8003F63C 0003B55C C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 8003F640 0003B560 EC 43 10 28 */ fsubs f2, f3, f2
|
|
/* 8003F644 0003B564 C0 A4 00 0C */ lfs f5, 0xc(r4)
|
|
/* 8003F648 0003B568 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8003F64C 0003B56C C0 C4 00 10 */ lfs f6, 0x10(r4)
|
|
/* 8003F650 0003B570 C0 81 00 30 */ lfs f4, 0x30(r1)
|
|
/* 8003F654 0003B574 C0 64 00 08 */ lfs f3, 8(r4)
|
|
/* 8003F658 0003B578 EC 22 01 72 */ fmuls f1, f2, f5
|
|
/* 8003F65C 0003B57C EC 00 01 B2 */ fmuls f0, f0, f6
|
|
/* 8003F660 0003B580 C0 E4 00 14 */ lfs f7, 0x14(r4)
|
|
/* 8003F664 0003B584 EC 44 18 28 */ fsubs f2, f4, f3
|
|
/* 8003F668 0003B588 C0 63 00 28 */ lfs f3, 0x28(r3)
|
|
/* 8003F66C 0003B58C EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8003F670 0003B590 EC 22 01 F2 */ fmuls f1, f2, f7
|
|
/* 8003F674 0003B594 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8003F678 0003B598 FC 00 18 40 */ fcmpo cr0, f0, f3
|
|
/* 8003F67C 0003B59C 41 81 02 00 */ bgt lbl_8003F87C
|
|
/* 8003F680 0003B5A0 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 8003F684 0003B5A4 38 C0 FF FF */ li r6, -1
|
|
/* 8003F688 0003B5A8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8003F68C 0003B5AC 40 82 00 08 */ bne lbl_8003F694
|
|
/* 8003F690 0003B5B0 38 C0 00 00 */ li r6, 0
|
|
lbl_8003F694:
|
|
/* 8003F694 0003B5B4 EC 03 00 28 */ fsubs f0, f3, f0
|
|
/* 8003F698 0003B5B8 C0 61 00 28 */ lfs f3, 0x28(r1)
|
|
/* 8003F69C 0003B5BC EC 45 00 32 */ fmuls f2, f5, f0
|
|
/* 8003F6A0 0003B5C0 EC 26 00 32 */ fmuls f1, f6, f0
|
|
/* 8003F6A4 0003B5C4 EC 07 00 32 */ fmuls f0, f7, f0
|
|
/* 8003F6A8 0003B5C8 EC 43 10 2A */ fadds f2, f3, f2
|
|
/* 8003F6AC 0003B5CC D0 41 00 28 */ stfs f2, 0x28(r1)
|
|
/* 8003F6B0 0003B5D0 C0 41 00 2C */ lfs f2, 0x2c(r1)
|
|
/* 8003F6B4 0003B5D4 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 8003F6B8 0003B5D8 D0 21 00 2C */ stfs f1, 0x2c(r1)
|
|
/* 8003F6BC 0003B5DC C0 21 00 30 */ lfs f1, 0x30(r1)
|
|
/* 8003F6C0 0003B5E0 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8003F6C4 0003B5E4 D0 01 00 30 */ stfs f0, 0x30(r1)
|
|
/* 8003F6C8 0003B5E8 80 A1 00 28 */ lwz r5, 0x28(r1)
|
|
/* 8003F6CC 0003B5EC 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 8003F6D0 0003B5F0 90 A3 00 04 */ stw r5, 4(r3)
|
|
/* 8003F6D4 0003B5F4 90 03 00 08 */ stw r0, 8(r3)
|
|
/* 8003F6D8 0003B5F8 80 01 00 30 */ lwz r0, 0x30(r1)
|
|
/* 8003F6DC 0003B5FC 90 03 00 0C */ stw r0, 0xc(r3)
|
|
/* 8003F6E0 0003B600 80 A4 00 0C */ lwz r5, 0xc(r4)
|
|
/* 8003F6E4 0003B604 80 04 00 10 */ lwz r0, 0x10(r4)
|
|
/* 8003F6E8 0003B608 C8 42 8E 20 */ lfd f2, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003F6EC 0003B60C 90 A1 00 34 */ stw r5, 0x34(r1)
|
|
/* 8003F6F0 0003B610 90 01 00 38 */ stw r0, 0x38(r1)
|
|
/* 8003F6F4 0003B614 80 04 00 14 */ lwz r0, 0x14(r4)
|
|
/* 8003F6F8 0003B618 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 8003F6FC 0003B61C C1 03 00 1C */ lfs f8, 0x1c(r3)
|
|
/* 8003F700 0003B620 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 8003F704 0003B624 C0 C3 00 20 */ lfs f6, 0x20(r3)
|
|
/* 8003F708 0003B628 C0 01 00 38 */ lfs f0, 0x38(r1)
|
|
/* 8003F70C 0003B62C EC 81 02 32 */ fmuls f4, f1, f8
|
|
/* 8003F710 0003B630 C1 43 00 24 */ lfs f10, 0x24(r3)
|
|
/* 8003F714 0003B634 EC 60 01 B2 */ fmuls f3, f0, f6
|
|
/* 8003F718 0003B638 C0 21 00 3C */ lfs f1, 0x3c(r1)
|
|
/* 8003F71C 0003B63C EC A1 02 B2 */ fmuls f5, f1, f10
|
|
/* 8003F720 0003B640 EC 64 18 2A */ fadds f3, f4, f3
|
|
/* 8003F724 0003B644 ED 65 18 2A */ fadds f11, f5, f3
|
|
/* 8003F728 0003B648 FC 0B 10 40 */ fcmpo cr0, f11, f2
|
|
/* 8003F72C 0003B64C 40 80 01 0C */ bge lbl_8003F838
|
|
/* 8003F730 0003B650 C0 63 00 30 */ lfs f3, 0x30(r3)
|
|
/* 8003F734 0003B654 C0 42 8E 2C */ lfs f2, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003F738 0003B658 FC 03 10 40 */ fcmpo cr0, f3, f2
|
|
/* 8003F73C 0003B65C 40 81 00 FC */ ble lbl_8003F838
|
|
/* 8003F740 0003B660 C0 43 00 34 */ lfs f2, 0x34(r3)
|
|
/* 8003F744 0003B664 FC 0B 10 40 */ fcmpo cr0, f11, f2
|
|
/* 8003F748 0003B668 40 80 00 14 */ bge lbl_8003F75C
|
|
/* 8003F74C 0003B66C D1 63 00 34 */ stfs f11, 0x34(r3)
|
|
/* 8003F750 0003B670 38 C0 00 00 */ li r6, 0
|
|
/* 8003F754 0003B674 80 03 00 58 */ lwz r0, 0x58(r3)
|
|
/* 8003F758 0003B678 90 03 00 50 */ stw r0, 0x50(r3)
|
|
lbl_8003F75C:
|
|
/* 8003F75C 0003B67C C0 E1 00 34 */ lfs f7, 0x34(r1)
|
|
/* 8003F760 0003B680 ED A0 02 F2 */ fmuls f13, f0, f11
|
|
/* 8003F764 0003B684 EF E1 02 F2 */ fmuls f31, f1, f11
|
|
/* 8003F768 0003B688 C8 42 8E 48 */ lfd f2, lbl_802F3648-_SDA2_BASE_(r2)
|
|
/* 8003F76C 0003B68C ED 87 02 F2 */ fmuls f12, f7, f11
|
|
/* 8003F770 0003B690 C3 C3 00 2C */ lfs f30, 0x2c(r3)
|
|
/* 8003F774 0003B694 EC 66 68 28 */ fsubs f3, f6, f13
|
|
/* 8003F778 0003B698 FF A2 07 B2 */ fmul f29, f2, f30
|
|
/* 8003F77C 0003B69C C0 A3 00 54 */ lfs f5, 0x54(r3)
|
|
/* 8003F780 0003B6A0 EC 88 60 28 */ fsubs f4, f8, f12
|
|
/* 8003F784 0003B6A4 EC 4A F8 28 */ fsubs f2, f10, f31
|
|
/* 8003F788 0003B6A8 FC 0B E8 40 */ fcmpo cr0, f11, f29
|
|
/* 8003F78C 0003B6AC EC 84 01 72 */ fmuls f4, f4, f5
|
|
/* 8003F790 0003B6B0 EC 63 01 72 */ fmuls f3, f3, f5
|
|
/* 8003F794 0003B6B4 EC 42 01 72 */ fmuls f2, f2, f5
|
|
/* 8003F798 0003B6B8 ED 08 20 28 */ fsubs f8, f8, f4
|
|
/* 8003F79C 0003B6BC ED 26 18 28 */ fsubs f9, f6, f3
|
|
/* 8003F7A0 0003B6C0 4C 41 13 82 */ cror 2, 1, 2
|
|
/* 8003F7A4 0003B6C4 ED 4A 10 28 */ fsubs f10, f10, f2
|
|
/* 8003F7A8 0003B6C8 40 82 00 14 */ bne lbl_8003F7BC
|
|
/* 8003F7AC 0003B6CC ED 08 60 28 */ fsubs f8, f8, f12
|
|
/* 8003F7B0 0003B6D0 ED 29 68 28 */ fsubs f9, f9, f13
|
|
/* 8003F7B4 0003B6D4 ED 4A F8 28 */ fsubs f10, f10, f31
|
|
/* 8003F7B8 0003B6D8 48 00 00 74 */ b lbl_8003F82C
|
|
lbl_8003F7BC:
|
|
/* 8003F7BC 0003B6DC C8 42 8E 50 */ lfd f2, lbl_802F3650-_SDA2_BASE_(r2)
|
|
/* 8003F7C0 0003B6E0 FC C7 07 72 */ fmul f6, f7, f29
|
|
/* 8003F7C4 0003B6E4 C8 62 8E 40 */ lfd f3, lbl_802F3640-_SDA2_BASE_(r2)
|
|
/* 8003F7C8 0003B6E8 FC 82 07 B2 */ fmul f4, f2, f30
|
|
/* 8003F7CC 0003B6EC C0 43 00 30 */ lfs f2, 0x30(r3)
|
|
/* 8003F7D0 0003B6F0 FC A0 07 72 */ fmul f5, f0, f29
|
|
/* 8003F7D4 0003B6F4 FD 6B 20 2A */ fadd f11, f11, f4
|
|
/* 8003F7D8 0003B6F8 FC 81 07 72 */ fmul f4, f1, f29
|
|
/* 8003F7DC 0003B6FC FD 60 58 18 */ frsp f11, f11
|
|
/* 8003F7E0 0003B700 FD 08 30 28 */ fsub f8, f8, f6
|
|
/* 8003F7E4 0003B704 FD 29 28 28 */ fsub f9, f9, f5
|
|
/* 8003F7E8 0003B708 FC A3 10 2A */ fadd f5, f3, f2
|
|
/* 8003F7EC 0003B70C EC 67 02 F2 */ fmuls f3, f7, f11
|
|
/* 8003F7F0 0003B710 EC 40 02 F2 */ fmuls f2, f0, f11
|
|
/* 8003F7F4 0003B714 EC 01 02 F2 */ fmuls f0, f1, f11
|
|
/* 8003F7F8 0003B718 FD 4A 20 28 */ fsub f10, f10, f4
|
|
/* 8003F7FC 0003B71C FC 65 00 F2 */ fmul f3, f5, f3
|
|
/* 8003F800 0003B720 FD 00 40 18 */ frsp f8, f8
|
|
/* 8003F804 0003B724 FC 25 00 B2 */ fmul f1, f5, f2
|
|
/* 8003F808 0003B728 FD 20 48 18 */ frsp f9, f9
|
|
/* 8003F80C 0003B72C FD 08 18 28 */ fsub f8, f8, f3
|
|
/* 8003F810 0003B730 FC 05 00 32 */ fmul f0, f5, f0
|
|
/* 8003F814 0003B734 FD 40 50 18 */ frsp f10, f10
|
|
/* 8003F818 0003B738 FD 29 08 28 */ fsub f9, f9, f1
|
|
/* 8003F81C 0003B73C FD 00 40 18 */ frsp f8, f8
|
|
/* 8003F820 0003B740 FD 4A 00 28 */ fsub f10, f10, f0
|
|
/* 8003F824 0003B744 FD 20 48 18 */ frsp f9, f9
|
|
/* 8003F828 0003B748 FD 40 50 18 */ frsp f10, f10
|
|
lbl_8003F82C:
|
|
/* 8003F82C 0003B74C D1 03 00 1C */ stfs f8, 0x1c(r3)
|
|
/* 8003F830 0003B750 D1 23 00 20 */ stfs f9, 0x20(r3)
|
|
/* 8003F834 0003B754 D1 43 00 24 */ stfs f10, 0x24(r3)
|
|
lbl_8003F838:
|
|
/* 8003F838 0003B758 28 06 00 00 */ cmplwi r6, 0
|
|
/* 8003F83C 0003B75C 40 82 00 34 */ bne lbl_8003F870
|
|
/* 8003F840 0003B760 80 A4 00 00 */ lwz r5, 0(r4)
|
|
/* 8003F844 0003B764 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 8003F848 0003B768 90 A3 00 38 */ stw r5, 0x38(r3)
|
|
/* 8003F84C 0003B76C 90 03 00 3C */ stw r0, 0x3c(r3)
|
|
/* 8003F850 0003B770 80 A4 00 08 */ lwz r5, 8(r4)
|
|
/* 8003F854 0003B774 80 04 00 0C */ lwz r0, 0xc(r4)
|
|
/* 8003F858 0003B778 90 A3 00 40 */ stw r5, 0x40(r3)
|
|
/* 8003F85C 0003B77C 90 03 00 44 */ stw r0, 0x44(r3)
|
|
/* 8003F860 0003B780 80 A4 00 10 */ lwz r5, 0x10(r4)
|
|
/* 8003F864 0003B784 80 04 00 14 */ lwz r0, 0x14(r4)
|
|
/* 8003F868 0003B788 90 A3 00 48 */ stw r5, 0x48(r3)
|
|
/* 8003F86C 0003B78C 90 03 00 4C */ stw r0, 0x4c(r3)
|
|
lbl_8003F870:
|
|
/* 8003F870 0003B790 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 8003F874 0003B794 60 00 00 01 */ ori r0, r0, 1
|
|
/* 8003F878 0003B798 90 03 00 00 */ stw r0, 0(r3)
|
|
lbl_8003F87C:
|
|
/* 8003F87C 0003B79C CB E1 00 60 */ lfd f31, 0x60(r1)
|
|
/* 8003F880 0003B7A0 CB C1 00 58 */ lfd f30, 0x58(r1)
|
|
/* 8003F884 0003B7A4 CB A1 00 50 */ lfd f29, 0x50(r1)
|
|
/* 8003F888 0003B7A8 38 21 00 68 */ addi r1, r1, 0x68
|
|
/* 8003F88C 0003B7AC 4E 80 00 20 */ blr
|
|
|
|
.global func_8003F890
|
|
func_8003F890:
|
|
/* 8003F890 0003B7B0 7C 08 02 A6 */ mflr r0
|
|
/* 8003F894 0003B7B4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003F898 0003B7B8 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 8003F89C 0003B7BC 93 E1 00 3C */ stw r31, 0x3c(r1)
|
|
/* 8003F8A0 0003B7C0 7C BF 2B 78 */ mr r31, r5
|
|
/* 8003F8A4 0003B7C4 80 C3 00 00 */ lwz r6, 0(r3)
|
|
/* 8003F8A8 0003B7C8 80 03 00 04 */ lwz r0, 4(r3)
|
|
/* 8003F8AC 0003B7CC 90 C1 00 2C */ stw r6, 0x2c(r1)
|
|
/* 8003F8B0 0003B7D0 90 01 00 30 */ stw r0, 0x30(r1)
|
|
/* 8003F8B4 0003B7D4 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 8003F8B8 0003B7D8 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003F8BC 0003B7DC 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8003F8C0 0003B7E0 80 A4 00 00 */ lwz r5, 0(r4)
|
|
/* 8003F8C4 0003B7E4 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 8003F8C8 0003B7E8 90 A1 00 20 */ stw r5, 0x20(r1)
|
|
/* 8003F8CC 0003B7EC 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8003F8D0 0003B7F0 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 8003F8D4 0003B7F4 90 01 00 28 */ stw r0, 0x28(r1)
|
|
/* 8003F8D8 0003B7F8 4B FC 7C E5 */ bl mathutil_mtxA_from_translate
|
|
/* 8003F8DC 0003B7FC A8 7F 00 10 */ lha r3, 0x10(r31)
|
|
/* 8003F8E0 0003B800 4B FC 87 A9 */ bl mathutil_mtxA_rotate_z
|
|
/* 8003F8E4 0003B804 A8 7F 00 0E */ lha r3, 0xe(r31)
|
|
/* 8003F8E8 0003B808 4B FC 87 15 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003F8EC 0003B80C A8 7F 00 0C */ lha r3, 0xc(r31)
|
|
/* 8003F8F0 0003B810 4B FC 86 99 */ bl mathutil_mtxA_rotate_x
|
|
/* 8003F8F4 0003B814 38 61 00 2C */ addi r3, r1, 0x2c
|
|
/* 8003F8F8 0003B818 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003F8FC 0003B81C 4B FC 85 D1 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003F900 0003B820 38 61 00 20 */ addi r3, r1, 0x20
|
|
/* 8003F904 0003B824 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003F908 0003B828 4B FC 85 C5 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003F90C 0003B82C C0 61 00 28 */ lfs f3, 0x28(r1)
|
|
/* 8003F910 0003B830 C8 22 8E 20 */ lfd f1, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003F914 0003B834 FC 03 08 40 */ fcmpo cr0, f3, f1
|
|
/* 8003F918 0003B838 40 80 00 10 */ bge lbl_8003F928
|
|
/* 8003F91C 0003B83C C0 01 00 34 */ lfs f0, 0x34(r1)
|
|
/* 8003F920 0003B840 FC 00 08 40 */ fcmpo cr0, f0, f1
|
|
/* 8003F924 0003B844 41 80 00 1C */ blt lbl_8003F940
|
|
lbl_8003F928:
|
|
/* 8003F928 0003B848 C8 22 8E 20 */ lfd f1, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003F92C 0003B84C FC 03 08 40 */ fcmpo cr0, f3, f1
|
|
/* 8003F930 0003B850 40 81 00 18 */ ble lbl_8003F948
|
|
/* 8003F934 0003B854 C0 01 00 34 */ lfs f0, 0x34(r1)
|
|
/* 8003F938 0003B858 FC 00 08 40 */ fcmpo cr0, f0, f1
|
|
/* 8003F93C 0003B85C 40 81 00 0C */ ble lbl_8003F948
|
|
lbl_8003F940:
|
|
/* 8003F940 0003B860 38 60 00 00 */ li r3, 0
|
|
/* 8003F944 0003B864 48 00 00 9C */ b lbl_8003F9E0
|
|
lbl_8003F948:
|
|
/* 8003F948 0003B868 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 8003F94C 0003B86C C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8003F950 0003B870 EC 81 18 28 */ fsubs f4, f1, f3
|
|
/* 8003F954 0003B874 C0 41 00 2C */ lfs f2, 0x2c(r1)
|
|
/* 8003F958 0003B878 C0 A1 00 20 */ lfs f5, 0x20(r1)
|
|
/* 8003F95C 0003B87C C0 21 00 30 */ lfs f1, 0x30(r1)
|
|
/* 8003F960 0003B880 C0 C1 00 24 */ lfs f6, 0x24(r1)
|
|
/* 8003F964 0003B884 FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8003F968 0003B888 EC 02 28 28 */ fsubs f0, f2, f5
|
|
/* 8003F96C 0003B88C EC 41 30 28 */ fsubs f2, f1, f6
|
|
/* 8003F970 0003B890 40 81 00 18 */ ble lbl_8003F988
|
|
/* 8003F974 0003B894 EC 63 20 24 */ fdivs f3, f3, f4
|
|
/* 8003F978 0003B898 EC 20 00 F2 */ fmuls f1, f0, f3
|
|
/* 8003F97C 0003B89C EC 02 00 F2 */ fmuls f0, f2, f3
|
|
/* 8003F980 0003B8A0 EC A5 08 28 */ fsubs f5, f5, f1
|
|
/* 8003F984 0003B8A4 EC C6 00 28 */ fsubs f6, f6, f0
|
|
lbl_8003F988:
|
|
/* 8003F988 0003B8A8 C8 42 8E 30 */ lfd f2, lbl_802F3630-_SDA2_BASE_(r2)
|
|
/* 8003F98C 0003B8AC C0 3F 00 20 */ lfs f1, 0x20(r31)
|
|
/* 8003F990 0003B8B0 C0 1F 00 24 */ lfs f0, 0x24(r31)
|
|
/* 8003F994 0003B8B4 FC 22 00 72 */ fmul f1, f2, f1
|
|
/* 8003F998 0003B8B8 FC 42 00 32 */ fmul f2, f2, f0
|
|
/* 8003F99C 0003B8BC FC 20 08 18 */ frsp f1, f1
|
|
/* 8003F9A0 0003B8C0 FC 40 10 18 */ frsp f2, f2
|
|
/* 8003F9A4 0003B8C4 FC 00 08 50 */ fneg f0, f1
|
|
/* 8003F9A8 0003B8C8 FC 05 00 40 */ fcmpo cr0, f5, f0
|
|
/* 8003F9AC 0003B8CC 41 80 00 0C */ blt lbl_8003F9B8
|
|
/* 8003F9B0 0003B8D0 FC 05 08 40 */ fcmpo cr0, f5, f1
|
|
/* 8003F9B4 0003B8D4 40 81 00 0C */ ble lbl_8003F9C0
|
|
lbl_8003F9B8:
|
|
/* 8003F9B8 0003B8D8 38 60 00 00 */ li r3, 0
|
|
/* 8003F9BC 0003B8DC 48 00 00 24 */ b lbl_8003F9E0
|
|
lbl_8003F9C0:
|
|
/* 8003F9C0 0003B8E0 FC 00 10 50 */ fneg f0, f2
|
|
/* 8003F9C4 0003B8E4 FC 06 00 40 */ fcmpo cr0, f6, f0
|
|
/* 8003F9C8 0003B8E8 41 80 00 0C */ blt lbl_8003F9D4
|
|
/* 8003F9CC 0003B8EC FC 06 10 40 */ fcmpo cr0, f6, f2
|
|
/* 8003F9D0 0003B8F0 40 81 00 0C */ ble lbl_8003F9DC
|
|
lbl_8003F9D4:
|
|
/* 8003F9D4 0003B8F4 38 60 00 00 */ li r3, 0
|
|
/* 8003F9D8 0003B8F8 48 00 00 08 */ b lbl_8003F9E0
|
|
lbl_8003F9DC:
|
|
/* 8003F9DC 0003B8FC 38 60 00 01 */ li r3, 1
|
|
lbl_8003F9E0:
|
|
/* 8003F9E0 0003B900 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 8003F9E4 0003B904 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
|
/* 8003F9E8 0003B908 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 8003F9EC 0003B90C 7C 08 03 A6 */ mtlr r0
|
|
/* 8003F9F0 0003B910 4E 80 00 20 */ blr
|
|
|
|
.global func_8003F9F4
|
|
func_8003F9F4:
|
|
/* 8003F9F4 0003B914 7C 08 02 A6 */ mflr r0
|
|
/* 8003F9F8 0003B918 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003F9FC 0003B91C 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8003FA00 0003B920 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 8003FA04 0003B924 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 8003FA08 0003B928 93 A1 00 24 */ stw r29, 0x24(r1)
|
|
/* 8003FA0C 0003B92C 3B A4 00 00 */ addi r29, r4, 0
|
|
/* 8003FA10 0003B930 93 81 00 20 */ stw r28, 0x20(r1)
|
|
/* 8003FA14 0003B934 3B 83 00 00 */ addi r28, r3, 0
|
|
/* 8003FA18 0003B938 38 7D 00 58 */ addi r3, r29, 0x58
|
|
/* 8003FA1C 0003B93C 4B FC 7B A1 */ bl mathutil_mtxA_from_translate
|
|
/* 8003FA20 0003B940 A8 7D 00 70 */ lha r3, 0x70(r29)
|
|
/* 8003FA24 0003B944 4B FC 85 65 */ bl mathutil_mtxA_rotate_x
|
|
/* 8003FA28 0003B948 A8 7D 00 72 */ lha r3, 0x72(r29)
|
|
/* 8003FA2C 0003B94C 4B FC 85 D1 */ bl mathutil_mtxA_rotate_y
|
|
/* 8003FA30 0003B950 A8 7D 00 74 */ lha r3, 0x74(r29)
|
|
/* 8003FA34 0003B954 4B FC 86 55 */ bl mathutil_mtxA_rotate_z
|
|
/* 8003FA38 0003B958 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003FA3C 0003B95C 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 8003FA40 0003B960 48 00 25 69 */ bl func_80041FA8
|
|
/* 8003FA44 0003B964 80 BC 00 04 */ lwz r5, 4(r28)
|
|
/* 8003FA48 0003B968 3C 60 80 1B */ lis r3, lbl_801B7EE8@ha
|
|
/* 8003FA4C 0003B96C 80 9C 00 08 */ lwz r4, 8(r28)
|
|
/* 8003FA50 0003B970 38 03 7E E8 */ addi r0, r3, lbl_801B7EE8@l
|
|
/* 8003FA54 0003B974 7C 1F 03 78 */ mr r31, r0
|
|
/* 8003FA58 0003B978 90 A1 00 14 */ stw r5, 0x14(r1)
|
|
/* 8003FA5C 0003B97C 3B C0 00 00 */ li r30, 0
|
|
/* 8003FA60 0003B980 90 81 00 18 */ stw r4, 0x18(r1)
|
|
/* 8003FA64 0003B984 80 1C 00 0C */ lwz r0, 0xc(r28)
|
|
/* 8003FA68 0003B988 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
lbl_8003FA6C:
|
|
/* 8003FA6C 0003B98C 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003FA70 0003B990 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 8003FA74 0003B994 4B FF ED F9 */ bl func_8003E86C
|
|
/* 8003FA78 0003B998 3B DE 00 01 */ addi r30, r30, 1
|
|
/* 8003FA7C 0003B99C 2C 1E 00 04 */ cmpwi r30, 4
|
|
/* 8003FA80 0003B9A0 3B FF 00 28 */ addi r31, r31, 0x28
|
|
/* 8003FA84 0003B9A4 41 80 FF E8 */ blt lbl_8003FA6C
|
|
/* 8003FA88 0003B9A8 C0 3C 00 0C */ lfs f1, 0xc(r28)
|
|
/* 8003FA8C 0003B9AC C0 01 00 1C */ lfs f0, 0x1c(r1)
|
|
/* 8003FA90 0003B9B0 C8 42 8E 58 */ lfd f2, lbl_802F3658-_SDA2_BASE_(r2)
|
|
/* 8003FA94 0003B9B4 EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 8003FA98 0003B9B8 C0 1D 00 BC */ lfs f0, 0xbc(r29)
|
|
/* 8003FA9C 0003B9BC FC 22 00 72 */ fmul f1, f2, f1
|
|
/* 8003FAA0 0003B9C0 FC 20 08 18 */ frsp f1, f1
|
|
/* 8003FAA4 0003B9C4 EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 8003FAA8 0003B9C8 D0 1D 00 BC */ stfs f0, 0xbc(r29)
|
|
/* 8003FAAC 0003B9CC C0 1C 00 0C */ lfs f0, 0xc(r28)
|
|
/* 8003FAB0 0003B9D0 EC 00 08 2A */ fadds f0, f0, f1
|
|
/* 8003FAB4 0003B9D4 D0 1C 00 0C */ stfs f0, 0xc(r28)
|
|
/* 8003FAB8 0003B9D8 C0 5D 00 C8 */ lfs f2, 0xc8(r29)
|
|
/* 8003FABC 0003B9DC C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 8003FAC0 0003B9E0 EC 21 00 B2 */ fmuls f1, f1, f2
|
|
/* 8003FAC4 0003B9E4 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003FAC8 0003B9E8 40 81 00 34 */ ble lbl_8003FAFC
|
|
/* 8003FACC 0003B9EC C8 02 8E 30 */ lfd f0, lbl_802F3630-_SDA2_BASE_(r2)
|
|
/* 8003FAD0 0003B9F0 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 8003FAD4 0003B9F4 FC 00 00 18 */ frsp f0, f0
|
|
/* 8003FAD8 0003B9F8 D0 1D 00 C8 */ stfs f0, 0xc8(r29)
|
|
/* 8003FADC 0003B9FC C0 1D 00 C8 */ lfs f0, 0xc8(r29)
|
|
/* 8003FAE0 0003BA00 C8 22 8E 60 */ lfd f1, lbl_802F3660-_SDA2_BASE_(r2)
|
|
/* 8003FAE4 0003BA04 EC 02 00 28 */ fsubs f0, f2, f0
|
|
/* 8003FAE8 0003BA08 C0 5C 00 24 */ lfs f2, 0x24(r28)
|
|
/* 8003FAEC 0003BA0C FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8003FAF0 0003BA10 FC 02 00 2A */ fadd f0, f2, f0
|
|
/* 8003FAF4 0003BA14 FC 00 00 18 */ frsp f0, f0
|
|
/* 8003FAF8 0003BA18 D0 1C 00 24 */ stfs f0, 0x24(r28)
|
|
lbl_8003FAFC:
|
|
/* 8003FAFC 0003BA1C 38 7D 00 58 */ addi r3, r29, 0x58
|
|
/* 8003FB00 0003BA20 4B FC 7A BD */ bl mathutil_mtxA_from_translate
|
|
/* 8003FB04 0003BA24 A8 7D 00 70 */ lha r3, 0x70(r29)
|
|
/* 8003FB08 0003BA28 4B FC 84 81 */ bl mathutil_mtxA_rotate_x
|
|
/* 8003FB0C 0003BA2C A8 7D 00 72 */ lha r3, 0x72(r29)
|
|
/* 8003FB10 0003BA30 4B FC 84 ED */ bl mathutil_mtxA_rotate_y
|
|
/* 8003FB14 0003BA34 A8 7D 00 74 */ lha r3, 0x74(r29)
|
|
/* 8003FB18 0003BA38 4B FC 85 71 */ bl mathutil_mtxA_rotate_z
|
|
/* 8003FB1C 0003BA3C 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8003FB20 0003BA40 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 8003FB24 0003BA44 48 00 24 2D */ bl func_80041F50
|
|
/* 8003FB28 0003BA48 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 8003FB2C 0003BA4C 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 8003FB30 0003BA50 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 8003FB34 0003BA54 7C 08 03 A6 */ mtlr r0
|
|
/* 8003FB38 0003BA58 83 A1 00 24 */ lwz r29, 0x24(r1)
|
|
/* 8003FB3C 0003BA5C 83 81 00 20 */ lwz r28, 0x20(r1)
|
|
/* 8003FB40 0003BA60 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 8003FB44 0003BA64 4E 80 00 20 */ blr
|
|
|
|
.global func_8003FB48
|
|
func_8003FB48:
|
|
/* 8003FB48 0003BA68 7C 08 02 A6 */ mflr r0
|
|
/* 8003FB4C 0003BA6C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8003FB50 0003BA70 38 00 00 00 */ li r0, 0
|
|
/* 8003FB54 0003BA74 94 21 FF 10 */ stwu r1, -0xf0(r1)
|
|
/* 8003FB58 0003BA78 DB E1 00 E8 */ stfd f31, 0xe8(r1)
|
|
/* 8003FB5C 0003BA7C DB C1 00 E0 */ stfd f30, 0xe0(r1)
|
|
/* 8003FB60 0003BA80 DB A1 00 D8 */ stfd f29, 0xd8(r1)
|
|
/* 8003FB64 0003BA84 BE C1 00 B0 */ stmw r22, 0xb0(r1)
|
|
/* 8003FB68 0003BA88 3B 04 00 00 */ addi r24, r4, 0
|
|
/* 8003FB6C 0003BA8C 7C 77 1B 78 */ mr r23, r3
|
|
/* 8003FB70 0003BA90 7C B9 2B 78 */ mr r25, r5
|
|
/* 8003FB74 0003BA94 3B 40 00 00 */ li r26, 0
|
|
/* 8003FB78 0003BA98 3B 60 00 00 */ li r27, 0
|
|
/* 8003FB7C 0003BA9C 3F E0 43 30 */ lis r31, 0x4330
|
|
/* 8003FB80 0003BAA0 90 04 00 00 */ stw r0, 0(r4)
|
|
/* 8003FB84 0003BAA4 3C 80 80 20 */ lis r4, lbl_80206E48@ha
|
|
/* 8003FB88 0003BAA8 38 04 6E 48 */ addi r0, r4, lbl_80206E48@l
|
|
/* 8003FB8C 0003BAAC 80 8D 9D 50 */ lwz r4, decodedStageLzPtr@sda21(r13)
|
|
/* 8003FB90 0003BAB0 7C 1E 03 78 */ mr r30, r0
|
|
/* 8003FB94 0003BAB4 CB E2 8E 18 */ lfd f31, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 8003FB98 0003BAB8 83 A4 00 0C */ lwz r29, 0xc(r4)
|
|
/* 8003FB9C 0003BABC C3 A2 8E 08 */ lfs f29, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8003FBA0 0003BAC0 C3 C2 8E 38 */ lfs f30, lbl_802F3638-_SDA2_BASE_(r2)
|
|
/* 8003FBA4 0003BAC4 48 00 04 04 */ b lbl_8003FFA8
|
|
lbl_8003FBA8:
|
|
/* 8003FBA8 0003BAC8 C0 17 00 00 */ lfs f0, 0(r23)
|
|
/* 8003FBAC 0003BACC 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 8003FBB0 0003BAD0 D0 01 00 84 */ stfs f0, 0x84(r1)
|
|
/* 8003FBB4 0003BAD4 C0 17 00 04 */ lfs f0, 4(r23)
|
|
/* 8003FBB8 0003BAD8 D0 01 00 88 */ stfs f0, 0x88(r1)
|
|
/* 8003FBBC 0003BADC C0 17 00 08 */ lfs f0, 8(r23)
|
|
/* 8003FBC0 0003BAE0 D3 A1 00 6C */ stfs f29, 0x6c(r1)
|
|
/* 8003FBC4 0003BAE4 D3 C1 00 70 */ stfs f30, 0x70(r1)
|
|
/* 8003FBC8 0003BAE8 D0 01 00 8C */ stfs f0, 0x8c(r1)
|
|
/* 8003FBCC 0003BAEC D3 A1 00 74 */ stfs f29, 0x74(r1)
|
|
/* 8003FBD0 0003BAF0 40 81 00 24 */ ble lbl_8003FBF4
|
|
/* 8003FBD4 0003BAF4 38 7E 00 24 */ addi r3, r30, 0x24
|
|
/* 8003FBD8 0003BAF8 4B FC 7C D9 */ bl mathutil_mtxA_from_mtx
|
|
/* 8003FBDC 0003BAFC 38 61 00 84 */ addi r3, r1, 0x84
|
|
/* 8003FBE0 0003BB00 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003FBE4 0003BB04 4B FC 82 E9 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 8003FBE8 0003BB08 38 61 00 6C */ addi r3, r1, 0x6c
|
|
/* 8003FBEC 0003BB0C 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003FBF0 0003BB10 4B FC 83 31 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
lbl_8003FBF4:
|
|
/* 8003FBF4 0003BB14 80 1D 00 20 */ lwz r0, 0x20(r29)
|
|
/* 8003FBF8 0003BB18 38 60 00 00 */ li r3, 0
|
|
/* 8003FBFC 0003BB1C C0 61 00 8C */ lfs f3, 0x8c(r1)
|
|
/* 8003FC00 0003BB20 7C 00 18 40 */ cmplw r0, r3
|
|
/* 8003FC04 0003BB24 C0 41 00 84 */ lfs f2, 0x84(r1)
|
|
/* 8003FC08 0003BB28 40 82 00 08 */ bne lbl_8003FC10
|
|
/* 8003FC0C 0003BB2C 48 00 00 E8 */ b lbl_8003FCF4
|
|
lbl_8003FC10:
|
|
/* 8003FC10 0003BB30 C0 3D 00 24 */ lfs f1, 0x24(r29)
|
|
/* 8003FC14 0003BB34 C0 1D 00 2C */ lfs f0, 0x2c(r29)
|
|
/* 8003FC18 0003BB38 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 8003FC1C 0003BB3C EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 8003FC20 0003BB40 FC 00 04 8E */ mffs f0
|
|
/* 8003FC24 0003BB44 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 8003FC28 0003BB48 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 8003FC2C 0003BB4C FC 20 08 1C */ fctiw f1, f1
|
|
/* 8003FC30 0003BB50 D8 21 00 1C */ stfd f1, 0x1c(r1)
|
|
/* 8003FC34 0003BB54 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 8003FC38 0003BB58 C0 1D 00 28 */ lfs f0, 0x28(r29)
|
|
/* 8003FC3C 0003BB5C 80 01 00 20 */ lwz r0, 0x20(r1)
|
|
/* 8003FC40 0003BB60 EC 23 00 28 */ fsubs f1, f3, f0
|
|
/* 8003FC44 0003BB64 C0 1D 00 30 */ lfs f0, 0x30(r29)
|
|
/* 8003FC48 0003BB68 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8003FC4C 0003BB6C EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 8003FC50 0003BB70 90 01 00 AC */ stw r0, 0xac(r1)
|
|
/* 8003FC54 0003BB74 93 E1 00 A8 */ stw r31, 0xa8(r1)
|
|
/* 8003FC58 0003BB78 C8 01 00 A8 */ lfd f0, 0xa8(r1)
|
|
/* 8003FC5C 0003BB7C EC 00 F8 28 */ fsubs f0, f0, f31
|
|
/* 8003FC60 0003BB80 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 8003FC64 0003BB84 D8 01 00 A0 */ stfd f0, 0xa0(r1)
|
|
/* 8003FC68 0003BB88 80 A1 00 A4 */ lwz r5, 0xa4(r1)
|
|
/* 8003FC6C 0003BB8C FC 00 04 8E */ mffs f0
|
|
/* 8003FC70 0003BB90 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 8003FC74 0003BB94 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 8003FC78 0003BB98 FC 20 08 1C */ fctiw f1, f1
|
|
/* 8003FC7C 0003BB9C D8 21 00 14 */ stfd f1, 0x14(r1)
|
|
/* 8003FC80 0003BBA0 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 8003FC84 0003BBA4 80 01 00 18 */ lwz r0, 0x18(r1)
|
|
/* 8003FC88 0003BBA8 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 8003FC8C 0003BBAC 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8003FC90 0003BBB0 90 01 00 9C */ stw r0, 0x9c(r1)
|
|
/* 8003FC94 0003BBB4 93 E1 00 98 */ stw r31, 0x98(r1)
|
|
/* 8003FC98 0003BBB8 C8 01 00 98 */ lfd f0, 0x98(r1)
|
|
/* 8003FC9C 0003BBBC EC 00 F8 28 */ fsubs f0, f0, f31
|
|
/* 8003FCA0 0003BBC0 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 8003FCA4 0003BBC4 D8 01 00 90 */ stfd f0, 0x90(r1)
|
|
/* 8003FCA8 0003BBC8 80 81 00 94 */ lwz r4, 0x94(r1)
|
|
/* 8003FCAC 0003BBCC 41 80 00 10 */ blt lbl_8003FCBC
|
|
/* 8003FCB0 0003BBD0 80 7D 00 34 */ lwz r3, 0x34(r29)
|
|
/* 8003FCB4 0003BBD4 7C 05 18 00 */ cmpw r5, r3
|
|
/* 8003FCB8 0003BBD8 41 80 00 0C */ blt lbl_8003FCC4
|
|
lbl_8003FCBC:
|
|
/* 8003FCBC 0003BBDC 38 60 00 00 */ li r3, 0
|
|
/* 8003FCC0 0003BBE0 48 00 00 34 */ b lbl_8003FCF4
|
|
lbl_8003FCC4:
|
|
/* 8003FCC4 0003BBE4 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 8003FCC8 0003BBE8 41 80 00 10 */ blt lbl_8003FCD8
|
|
/* 8003FCCC 0003BBEC 80 1D 00 38 */ lwz r0, 0x38(r29)
|
|
/* 8003FCD0 0003BBF0 7C 04 00 00 */ cmpw r4, r0
|
|
/* 8003FCD4 0003BBF4 41 80 00 0C */ blt lbl_8003FCE0
|
|
lbl_8003FCD8:
|
|
/* 8003FCD8 0003BBF8 38 60 00 00 */ li r3, 0
|
|
/* 8003FCDC 0003BBFC 48 00 00 18 */ b lbl_8003FCF4
|
|
lbl_8003FCE0:
|
|
/* 8003FCE0 0003BC00 7C 04 19 D6 */ mullw r0, r4, r3
|
|
/* 8003FCE4 0003BC04 80 7D 00 20 */ lwz r3, 0x20(r29)
|
|
/* 8003FCE8 0003BC08 7C 05 02 14 */ add r0, r5, r0
|
|
/* 8003FCEC 0003BC0C 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 8003FCF0 0003BC10 7C 63 00 2E */ lwzx r3, r3, r0
|
|
lbl_8003FCF4:
|
|
/* 8003FCF4 0003BC14 38 00 00 00 */ li r0, 0
|
|
/* 8003FCF8 0003BC18 7C 03 00 40 */ cmplw r3, r0
|
|
/* 8003FCFC 0003BC1C 41 82 00 C0 */ beq lbl_8003FDBC
|
|
/* 8003FD00 0003BC20 7C 7C 1B 78 */ mr r28, r3
|
|
/* 8003FD04 0003BC24 48 00 00 AC */ b lbl_8003FDB0
|
|
lbl_8003FD08:
|
|
/* 8003FD08 0003BC28 C0 01 00 84 */ lfs f0, 0x84(r1)
|
|
/* 8003FD0C 0003BC2C 38 61 00 78 */ addi r3, r1, 0x78
|
|
/* 8003FD10 0003BC30 C0 21 00 88 */ lfs f1, 0x88(r1)
|
|
/* 8003FD14 0003BC34 38 81 00 6C */ addi r4, r1, 0x6c
|
|
/* 8003FD18 0003BC38 D0 01 00 78 */ stfs f0, 0x78(r1)
|
|
/* 8003FD1C 0003BC3C C0 01 00 8C */ lfs f0, 0x8c(r1)
|
|
/* 8003FD20 0003BC40 D0 21 00 7C */ stfs f1, 0x7c(r1)
|
|
/* 8003FD24 0003BC44 D0 01 00 80 */ stfs f0, 0x80(r1)
|
|
/* 8003FD28 0003BC48 A8 1C 00 00 */ lha r0, 0(r28)
|
|
/* 8003FD2C 0003BC4C 80 BD 00 1C */ lwz r5, 0x1c(r29)
|
|
/* 8003FD30 0003BC50 54 00 30 32 */ slwi r0, r0, 6
|
|
/* 8003FD34 0003BC54 7E C5 02 14 */ add r22, r5, r0
|
|
/* 8003FD38 0003BC58 38 B6 00 00 */ addi r5, r22, 0
|
|
/* 8003FD3C 0003BC5C 48 00 03 FD */ bl func_80040138
|
|
/* 8003FD40 0003BC60 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8003FD44 0003BC64 41 82 00 68 */ beq lbl_8003FDAC
|
|
/* 8003FD48 0003BC68 38 7E 00 24 */ addi r3, r30, 0x24
|
|
/* 8003FD4C 0003BC6C 4B FC 7B 65 */ bl mathutil_mtxA_from_mtx
|
|
/* 8003FD50 0003BC70 38 61 00 78 */ addi r3, r1, 0x78
|
|
/* 8003FD54 0003BC74 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003FD58 0003BC78 4B FC 80 D5 */ bl mathutil_mtxA_tf_point
|
|
/* 8003FD5C 0003BC7C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8003FD60 0003BC80 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8003FD64 0003BC84 41 82 00 14 */ beq lbl_8003FD78
|
|
/* 8003FD68 0003BC88 C0 21 00 7C */ lfs f1, 0x7c(r1)
|
|
/* 8003FD6C 0003BC8C C0 18 00 08 */ lfs f0, 8(r24)
|
|
/* 8003FD70 0003BC90 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003FD74 0003BC94 40 81 00 38 */ ble lbl_8003FDAC
|
|
lbl_8003FD78:
|
|
/* 8003FD78 0003BC98 A0 16 00 1E */ lhz r0, 0x1e(r22)
|
|
/* 8003FD7C 0003BC9C 38 76 00 0C */ addi r3, r22, 0xc
|
|
/* 8003FD80 0003BCA0 38 98 00 10 */ addi r4, r24, 0x10
|
|
/* 8003FD84 0003BCA4 60 00 00 01 */ ori r0, r0, 1
|
|
/* 8003FD88 0003BCA8 90 18 00 00 */ stw r0, 0(r24)
|
|
/* 8003FD8C 0003BCAC C0 01 00 78 */ lfs f0, 0x78(r1)
|
|
/* 8003FD90 0003BCB0 D0 18 00 04 */ stfs f0, 4(r24)
|
|
/* 8003FD94 0003BCB4 C0 01 00 7C */ lfs f0, 0x7c(r1)
|
|
/* 8003FD98 0003BCB8 D0 18 00 08 */ stfs f0, 8(r24)
|
|
/* 8003FD9C 0003BCBC C0 01 00 80 */ lfs f0, 0x80(r1)
|
|
/* 8003FDA0 0003BCC0 D0 18 00 0C */ stfs f0, 0xc(r24)
|
|
/* 8003FDA4 0003BCC4 4B FC 80 99 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003FDA8 0003BCC8 7F 7A DB 78 */ mr r26, r27
|
|
lbl_8003FDAC:
|
|
/* 8003FDAC 0003BCCC 3B 9C 00 02 */ addi r28, r28, 2
|
|
lbl_8003FDB0:
|
|
/* 8003FDB0 0003BCD0 A8 1C 00 00 */ lha r0, 0(r28)
|
|
/* 8003FDB4 0003BCD4 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8003FDB8 0003BCD8 40 80 FF 50 */ bge lbl_8003FD08
|
|
lbl_8003FDBC:
|
|
/* 8003FDBC 0003BCDC 82 DD 00 68 */ lwz r22, 0x68(r29)
|
|
/* 8003FDC0 0003BCE0 83 9D 00 64 */ lwz r28, 0x64(r29)
|
|
/* 8003FDC4 0003BCE4 48 00 00 90 */ b lbl_8003FE54
|
|
lbl_8003FDC8:
|
|
/* 8003FDC8 0003BCE8 38 B6 00 00 */ addi r5, r22, 0
|
|
/* 8003FDCC 0003BCEC 38 61 00 84 */ addi r3, r1, 0x84
|
|
/* 8003FDD0 0003BCF0 38 81 00 6C */ addi r4, r1, 0x6c
|
|
/* 8003FDD4 0003BCF4 38 C1 00 78 */ addi r6, r1, 0x78
|
|
/* 8003FDD8 0003BCF8 38 E1 00 60 */ addi r7, r1, 0x60
|
|
/* 8003FDDC 0003BCFC 48 00 05 5D */ bl func_80040338
|
|
/* 8003FDE0 0003BD00 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8003FDE4 0003BD04 41 82 00 68 */ beq lbl_8003FE4C
|
|
/* 8003FDE8 0003BD08 38 7E 00 24 */ addi r3, r30, 0x24
|
|
/* 8003FDEC 0003BD0C 4B FC 7A C5 */ bl mathutil_mtxA_from_mtx
|
|
/* 8003FDF0 0003BD10 38 61 00 78 */ addi r3, r1, 0x78
|
|
/* 8003FDF4 0003BD14 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003FDF8 0003BD18 4B FC 80 35 */ bl mathutil_mtxA_tf_point
|
|
/* 8003FDFC 0003BD1C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8003FE00 0003BD20 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8003FE04 0003BD24 41 82 00 14 */ beq lbl_8003FE18
|
|
/* 8003FE08 0003BD28 C0 21 00 7C */ lfs f1, 0x7c(r1)
|
|
/* 8003FE0C 0003BD2C C0 18 00 08 */ lfs f0, 8(r24)
|
|
/* 8003FE10 0003BD30 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003FE14 0003BD34 40 81 00 38 */ ble lbl_8003FE4C
|
|
lbl_8003FE18:
|
|
/* 8003FE18 0003BD38 A0 16 00 12 */ lhz r0, 0x12(r22)
|
|
/* 8003FE1C 0003BD3C 38 61 00 60 */ addi r3, r1, 0x60
|
|
/* 8003FE20 0003BD40 38 98 00 10 */ addi r4, r24, 0x10
|
|
/* 8003FE24 0003BD44 60 00 00 01 */ ori r0, r0, 1
|
|
/* 8003FE28 0003BD48 90 18 00 00 */ stw r0, 0(r24)
|
|
/* 8003FE2C 0003BD4C C0 01 00 78 */ lfs f0, 0x78(r1)
|
|
/* 8003FE30 0003BD50 D0 18 00 04 */ stfs f0, 4(r24)
|
|
/* 8003FE34 0003BD54 C0 01 00 7C */ lfs f0, 0x7c(r1)
|
|
/* 8003FE38 0003BD58 D0 18 00 08 */ stfs f0, 8(r24)
|
|
/* 8003FE3C 0003BD5C C0 01 00 80 */ lfs f0, 0x80(r1)
|
|
/* 8003FE40 0003BD60 D0 18 00 0C */ stfs f0, 0xc(r24)
|
|
/* 8003FE44 0003BD64 4B FC 7F F9 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003FE48 0003BD68 7F 7A DB 78 */ mr r26, r27
|
|
lbl_8003FE4C:
|
|
/* 8003FE4C 0003BD6C 3B 9C FF FF */ addi r28, r28, -1
|
|
/* 8003FE50 0003BD70 3A D6 00 20 */ addi r22, r22, 0x20
|
|
lbl_8003FE54:
|
|
/* 8003FE54 0003BD74 2C 1C 00 00 */ cmpwi r28, 0
|
|
/* 8003FE58 0003BD78 41 81 FF 70 */ bgt lbl_8003FDC8
|
|
/* 8003FE5C 0003BD7C 82 DD 00 70 */ lwz r22, 0x70(r29)
|
|
/* 8003FE60 0003BD80 83 9D 00 6C */ lwz r28, 0x6c(r29)
|
|
/* 8003FE64 0003BD84 48 00 00 90 */ b lbl_8003FEF4
|
|
lbl_8003FE68:
|
|
/* 8003FE68 0003BD88 38 B6 00 00 */ addi r5, r22, 0
|
|
/* 8003FE6C 0003BD8C 38 61 00 84 */ addi r3, r1, 0x84
|
|
/* 8003FE70 0003BD90 38 81 00 6C */ addi r4, r1, 0x6c
|
|
/* 8003FE74 0003BD94 38 C1 00 78 */ addi r6, r1, 0x78
|
|
/* 8003FE78 0003BD98 38 E1 00 54 */ addi r7, r1, 0x54
|
|
/* 8003FE7C 0003BD9C 48 00 07 A9 */ bl func_80040624
|
|
/* 8003FE80 0003BDA0 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8003FE84 0003BDA4 41 82 00 68 */ beq lbl_8003FEEC
|
|
/* 8003FE88 0003BDA8 38 7E 00 24 */ addi r3, r30, 0x24
|
|
/* 8003FE8C 0003BDAC 4B FC 7A 25 */ bl mathutil_mtxA_from_mtx
|
|
/* 8003FE90 0003BDB0 38 61 00 78 */ addi r3, r1, 0x78
|
|
/* 8003FE94 0003BDB4 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003FE98 0003BDB8 4B FC 7F 95 */ bl mathutil_mtxA_tf_point
|
|
/* 8003FE9C 0003BDBC 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8003FEA0 0003BDC0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8003FEA4 0003BDC4 41 82 00 14 */ beq lbl_8003FEB8
|
|
/* 8003FEA8 0003BDC8 C0 21 00 7C */ lfs f1, 0x7c(r1)
|
|
/* 8003FEAC 0003BDCC C0 18 00 08 */ lfs f0, 8(r24)
|
|
/* 8003FEB0 0003BDD0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003FEB4 0003BDD4 40 81 00 38 */ ble lbl_8003FEEC
|
|
lbl_8003FEB8:
|
|
/* 8003FEB8 0003BDD8 A0 16 00 10 */ lhz r0, 0x10(r22)
|
|
/* 8003FEBC 0003BDDC 38 61 00 54 */ addi r3, r1, 0x54
|
|
/* 8003FEC0 0003BDE0 38 98 00 10 */ addi r4, r24, 0x10
|
|
/* 8003FEC4 0003BDE4 60 00 00 01 */ ori r0, r0, 1
|
|
/* 8003FEC8 0003BDE8 90 18 00 00 */ stw r0, 0(r24)
|
|
/* 8003FECC 0003BDEC C0 01 00 78 */ lfs f0, 0x78(r1)
|
|
/* 8003FED0 0003BDF0 D0 18 00 04 */ stfs f0, 4(r24)
|
|
/* 8003FED4 0003BDF4 C0 01 00 7C */ lfs f0, 0x7c(r1)
|
|
/* 8003FED8 0003BDF8 D0 18 00 08 */ stfs f0, 8(r24)
|
|
/* 8003FEDC 0003BDFC C0 01 00 80 */ lfs f0, 0x80(r1)
|
|
/* 8003FEE0 0003BE00 D0 18 00 0C */ stfs f0, 0xc(r24)
|
|
/* 8003FEE4 0003BE04 4B FC 7F 59 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003FEE8 0003BE08 7F 7A DB 78 */ mr r26, r27
|
|
lbl_8003FEEC:
|
|
/* 8003FEEC 0003BE0C 3B 9C FF FF */ addi r28, r28, -1
|
|
/* 8003FEF0 0003BE10 3A D6 00 14 */ addi r22, r22, 0x14
|
|
lbl_8003FEF4:
|
|
/* 8003FEF4 0003BE14 2C 1C 00 00 */ cmpwi r28, 0
|
|
/* 8003FEF8 0003BE18 41 81 FF 70 */ bgt lbl_8003FE68
|
|
/* 8003FEFC 0003BE1C 82 DD 00 78 */ lwz r22, 0x78(r29)
|
|
/* 8003FF00 0003BE20 83 9D 00 74 */ lwz r28, 0x74(r29)
|
|
/* 8003FF04 0003BE24 48 00 00 90 */ b lbl_8003FF94
|
|
lbl_8003FF08:
|
|
/* 8003FF08 0003BE28 38 B6 00 00 */ addi r5, r22, 0
|
|
/* 8003FF0C 0003BE2C 38 61 00 84 */ addi r3, r1, 0x84
|
|
/* 8003FF10 0003BE30 38 81 00 6C */ addi r4, r1, 0x6c
|
|
/* 8003FF14 0003BE34 38 C1 00 78 */ addi r6, r1, 0x78
|
|
/* 8003FF18 0003BE38 38 E1 00 48 */ addi r7, r1, 0x48
|
|
/* 8003FF1C 0003BE3C 48 00 08 ED */ bl func_80040808
|
|
/* 8003FF20 0003BE40 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8003FF24 0003BE44 41 82 00 68 */ beq lbl_8003FF8C
|
|
/* 8003FF28 0003BE48 38 7E 00 24 */ addi r3, r30, 0x24
|
|
/* 8003FF2C 0003BE4C 4B FC 79 85 */ bl mathutil_mtxA_from_mtx
|
|
/* 8003FF30 0003BE50 38 61 00 78 */ addi r3, r1, 0x78
|
|
/* 8003FF34 0003BE54 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8003FF38 0003BE58 4B FC 7E F5 */ bl mathutil_mtxA_tf_point
|
|
/* 8003FF3C 0003BE5C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 8003FF40 0003BE60 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 8003FF44 0003BE64 41 82 00 14 */ beq lbl_8003FF58
|
|
/* 8003FF48 0003BE68 C0 21 00 7C */ lfs f1, 0x7c(r1)
|
|
/* 8003FF4C 0003BE6C C0 18 00 08 */ lfs f0, 8(r24)
|
|
/* 8003FF50 0003BE70 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8003FF54 0003BE74 40 81 00 38 */ ble lbl_8003FF8C
|
|
lbl_8003FF58:
|
|
/* 8003FF58 0003BE78 A0 16 00 1A */ lhz r0, 0x1a(r22)
|
|
/* 8003FF5C 0003BE7C 38 61 00 48 */ addi r3, r1, 0x48
|
|
/* 8003FF60 0003BE80 38 98 00 10 */ addi r4, r24, 0x10
|
|
/* 8003FF64 0003BE84 60 00 00 01 */ ori r0, r0, 1
|
|
/* 8003FF68 0003BE88 90 18 00 00 */ stw r0, 0(r24)
|
|
/* 8003FF6C 0003BE8C C0 01 00 78 */ lfs f0, 0x78(r1)
|
|
/* 8003FF70 0003BE90 D0 18 00 04 */ stfs f0, 4(r24)
|
|
/* 8003FF74 0003BE94 C0 01 00 7C */ lfs f0, 0x7c(r1)
|
|
/* 8003FF78 0003BE98 D0 18 00 08 */ stfs f0, 8(r24)
|
|
/* 8003FF7C 0003BE9C C0 01 00 80 */ lfs f0, 0x80(r1)
|
|
/* 8003FF80 0003BEA0 D0 18 00 0C */ stfs f0, 0xc(r24)
|
|
/* 8003FF84 0003BEA4 4B FC 7E B9 */ bl mathutil_mtxA_tf_vec
|
|
/* 8003FF88 0003BEA8 7F 7A DB 78 */ mr r26, r27
|
|
lbl_8003FF8C:
|
|
/* 8003FF8C 0003BEAC 3B 9C FF FF */ addi r28, r28, -1
|
|
/* 8003FF90 0003BEB0 3A D6 00 1C */ addi r22, r22, 0x1c
|
|
lbl_8003FF94:
|
|
/* 8003FF94 0003BEB4 2C 1C 00 00 */ cmpwi r28, 0
|
|
/* 8003FF98 0003BEB8 41 81 FF 70 */ bgt lbl_8003FF08
|
|
/* 8003FF9C 0003BEBC 3B 7B 00 01 */ addi r27, r27, 1
|
|
/* 8003FFA0 0003BEC0 3B DE 00 84 */ addi r30, r30, 0x84
|
|
/* 8003FFA4 0003BEC4 3B BD 00 C4 */ addi r29, r29, 0xc4
|
|
lbl_8003FFA8:
|
|
/* 8003FFA8 0003BEC8 80 6D 9D 50 */ lwz r3, decodedStageLzPtr@sda21(r13)
|
|
/* 8003FFAC 0003BECC 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 8003FFB0 0003BED0 7C 1B 00 00 */ cmpw r27, r0
|
|
/* 8003FFB4 0003BED4 41 80 FB F4 */ blt lbl_8003FBA8
|
|
/* 8003FFB8 0003BED8 80 CD 9D 64 */ lwz r6, lbl_802F1F44@sda21(r13)
|
|
/* 8003FFBC 0003BEDC 28 06 00 00 */ cmplwi r6, 0
|
|
/* 8003FFC0 0003BEE0 41 82 00 94 */ beq lbl_80040054
|
|
/* 8003FFC4 0003BEE4 C0 01 00 84 */ lfs f0, 0x84(r1)
|
|
/* 8003FFC8 0003BEE8 38 61 00 78 */ addi r3, r1, 0x78
|
|
/* 8003FFCC 0003BEEC C0 21 00 88 */ lfs f1, 0x88(r1)
|
|
/* 8003FFD0 0003BEF0 7C 64 1B 78 */ mr r4, r3
|
|
/* 8003FFD4 0003BEF4 D0 01 00 78 */ stfs f0, 0x78(r1)
|
|
/* 8003FFD8 0003BEF8 C0 01 00 8C */ lfs f0, 0x8c(r1)
|
|
/* 8003FFDC 0003BEFC 38 A1 00 3C */ addi r5, r1, 0x3c
|
|
/* 8003FFE0 0003BF00 D0 21 00 7C */ stfs f1, 0x7c(r1)
|
|
/* 8003FFE4 0003BF04 D0 01 00 80 */ stfs f0, 0x80(r1)
|
|
/* 8003FFE8 0003BF08 81 86 00 10 */ lwz r12, 0x10(r6)
|
|
/* 8003FFEC 0003BF0C 7D 88 03 A6 */ mtlr r12
|
|
/* 8003FFF0 0003BF10 4E 80 00 21 */ blrl
|
|
/* 8003FFF4 0003BF14 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8003FFF8 0003BF18 41 82 00 5C */ beq lbl_80040054
|
|
/* 8003FFFC 0003BF1C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80040000 0003BF20 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 80040004 0003BF24 41 82 00 14 */ beq lbl_80040018
|
|
/* 80040008 0003BF28 C0 21 00 7C */ lfs f1, 0x7c(r1)
|
|
/* 8004000C 0003BF2C C0 18 00 08 */ lfs f0, 8(r24)
|
|
/* 80040010 0003BF30 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80040014 0003BF34 40 81 00 40 */ ble lbl_80040054
|
|
lbl_80040018:
|
|
/* 80040018 0003BF38 38 00 00 01 */ li r0, 1
|
|
/* 8004001C 0003BF3C 90 18 00 00 */ stw r0, 0(r24)
|
|
/* 80040020 0003BF40 3B 40 00 00 */ li r26, 0
|
|
/* 80040024 0003BF44 C0 01 00 78 */ lfs f0, 0x78(r1)
|
|
/* 80040028 0003BF48 D0 18 00 04 */ stfs f0, 4(r24)
|
|
/* 8004002C 0003BF4C C0 01 00 7C */ lfs f0, 0x7c(r1)
|
|
/* 80040030 0003BF50 D0 18 00 08 */ stfs f0, 8(r24)
|
|
/* 80040034 0003BF54 C0 01 00 80 */ lfs f0, 0x80(r1)
|
|
/* 80040038 0003BF58 D0 18 00 0C */ stfs f0, 0xc(r24)
|
|
/* 8004003C 0003BF5C C0 01 00 3C */ lfs f0, 0x3c(r1)
|
|
/* 80040040 0003BF60 D0 18 00 10 */ stfs f0, 0x10(r24)
|
|
/* 80040044 0003BF64 C0 01 00 40 */ lfs f0, 0x40(r1)
|
|
/* 80040048 0003BF68 D0 18 00 14 */ stfs f0, 0x14(r24)
|
|
/* 8004004C 0003BF6C C0 01 00 44 */ lfs f0, 0x44(r1)
|
|
/* 80040050 0003BF70 D0 18 00 18 */ stfs f0, 0x18(r24)
|
|
lbl_80040054:
|
|
/* 80040054 0003BF74 28 19 00 00 */ cmplwi r25, 0
|
|
/* 80040058 0003BF78 41 82 00 AC */ beq lbl_80040104
|
|
/* 8004005C 0003BF7C 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80040060 0003BF80 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
|
/* 80040064 0003BF84 41 82 00 90 */ beq lbl_800400F4
|
|
/* 80040068 0003BF88 2C 1A 00 00 */ cmpwi r26, 0
|
|
/* 8004006C 0003BF8C 40 81 00 88 */ ble lbl_800400F4
|
|
/* 80040070 0003BF90 C0 18 00 04 */ lfs f0, 4(r24)
|
|
/* 80040074 0003BF94 3C 60 80 20 */ lis r3, lbl_80206E48@ha
|
|
/* 80040078 0003BF98 1C 9A 00 84 */ mulli r4, r26, 0x84
|
|
/* 8004007C 0003BF9C D0 01 00 30 */ stfs f0, 0x30(r1)
|
|
/* 80040080 0003BFA0 C0 18 00 08 */ lfs f0, 8(r24)
|
|
/* 80040084 0003BFA4 38 03 6E 48 */ addi r0, r3, lbl_80206E48@l
|
|
/* 80040088 0003BFA8 7F C0 22 14 */ add r30, r0, r4
|
|
/* 8004008C 0003BFAC D0 01 00 34 */ stfs f0, 0x34(r1)
|
|
/* 80040090 0003BFB0 38 7E 00 24 */ addi r3, r30, 0x24
|
|
/* 80040094 0003BFB4 C0 18 00 0C */ lfs f0, 0xc(r24)
|
|
/* 80040098 0003BFB8 D0 01 00 38 */ stfs f0, 0x38(r1)
|
|
/* 8004009C 0003BFBC 4B FC 78 15 */ bl mathutil_mtxA_from_mtx
|
|
/* 800400A0 0003BFC0 38 61 00 30 */ addi r3, r1, 0x30
|
|
/* 800400A4 0003BFC4 38 81 00 78 */ addi r4, r1, 0x78
|
|
/* 800400A8 0003BFC8 4B FC 7E 25 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 800400AC 0003BFCC 38 7E 00 54 */ addi r3, r30, 0x54
|
|
/* 800400B0 0003BFD0 4B FC 78 01 */ bl mathutil_mtxA_from_mtx
|
|
/* 800400B4 0003BFD4 38 61 00 78 */ addi r3, r1, 0x78
|
|
/* 800400B8 0003BFD8 38 81 00 24 */ addi r4, r1, 0x24
|
|
/* 800400BC 0003BFDC 4B FC 7D 71 */ bl mathutil_mtxA_tf_point
|
|
/* 800400C0 0003BFE0 C0 21 00 30 */ lfs f1, 0x30(r1)
|
|
/* 800400C4 0003BFE4 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 800400C8 0003BFE8 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800400CC 0003BFEC D0 19 00 00 */ stfs f0, 0(r25)
|
|
/* 800400D0 0003BFF0 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 800400D4 0003BFF4 C0 01 00 28 */ lfs f0, 0x28(r1)
|
|
/* 800400D8 0003BFF8 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800400DC 0003BFFC D0 19 00 04 */ stfs f0, 4(r25)
|
|
/* 800400E0 0003C000 C0 21 00 38 */ lfs f1, 0x38(r1)
|
|
/* 800400E4 0003C004 C0 01 00 2C */ lfs f0, 0x2c(r1)
|
|
/* 800400E8 0003C008 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800400EC 0003C00C D0 19 00 08 */ stfs f0, 8(r25)
|
|
/* 800400F0 0003C010 48 00 00 14 */ b lbl_80040104
|
|
lbl_800400F4:
|
|
/* 800400F4 0003C014 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 800400F8 0003C018 D0 19 00 00 */ stfs f0, 0(r25)
|
|
/* 800400FC 0003C01C D0 19 00 04 */ stfs f0, 4(r25)
|
|
/* 80040100 0003C020 D0 19 00 08 */ stfs f0, 8(r25)
|
|
lbl_80040104:
|
|
/* 80040104 0003C024 80 18 00 00 */ lwz r0, 0(r24)
|
|
/* 80040108 0003C028 54 00 07 FE */ clrlwi r0, r0, 0x1f
|
|
/* 8004010C 0003C02C 7C 60 00 D0 */ neg r3, r0
|
|
/* 80040110 0003C030 30 03 FF FF */ addic r0, r3, -1
|
|
/* 80040114 0003C034 7C 60 19 10 */ subfe r3, r0, r3
|
|
/* 80040118 0003C038 80 01 00 F4 */ lwz r0, 0xf4(r1)
|
|
/* 8004011C 0003C03C CB E1 00 E8 */ lfd f31, 0xe8(r1)
|
|
/* 80040120 0003C040 CB C1 00 E0 */ lfd f30, 0xe0(r1)
|
|
/* 80040124 0003C044 CB A1 00 D8 */ lfd f29, 0xd8(r1)
|
|
/* 80040128 0003C048 BA C1 00 B0 */ lmw r22, 0xb0(r1)
|
|
/* 8004012C 0003C04C 38 21 00 F0 */ addi r1, r1, 0xf0
|
|
/* 80040130 0003C050 7C 08 03 A6 */ mtlr r0
|
|
/* 80040134 0003C054 4E 80 00 20 */ blr
|
|
|
|
.global func_80040138
|
|
func_80040138:
|
|
/* 80040138 0003C058 7C 08 02 A6 */ mflr r0
|
|
/* 8004013C 0003C05C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80040140 0003C060 94 21 FF 98 */ stwu r1, -0x68(r1)
|
|
/* 80040144 0003C064 93 E1 00 64 */ stw r31, 0x64(r1)
|
|
/* 80040148 0003C068 7C BF 2B 78 */ mr r31, r5
|
|
/* 8004014C 0003C06C 93 C1 00 60 */ stw r30, 0x60(r1)
|
|
/* 80040150 0003C070 7C 9E 23 78 */ mr r30, r4
|
|
/* 80040154 0003C074 93 A1 00 5C */ stw r29, 0x5c(r1)
|
|
/* 80040158 0003C078 7C 7D 1B 78 */ mr r29, r3
|
|
/* 8004015C 0003C07C C0 45 00 00 */ lfs f2, 0(r5)
|
|
/* 80040160 0003C080 C0 83 00 00 */ lfs f4, 0(r3)
|
|
/* 80040164 0003C084 C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 80040168 0003C088 C0 05 00 04 */ lfs f0, 4(r5)
|
|
/* 8004016C 0003C08C EC 44 10 28 */ fsubs f2, f4, f2
|
|
/* 80040170 0003C090 C0 E5 00 0C */ lfs f7, 0xc(r5)
|
|
/* 80040174 0003C094 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80040178 0003C098 C0 C5 00 10 */ lfs f6, 0x10(r5)
|
|
/* 8004017C 0003C09C C0 A3 00 08 */ lfs f5, 8(r3)
|
|
/* 80040180 0003C0A0 C0 85 00 08 */ lfs f4, 8(r5)
|
|
/* 80040184 0003C0A4 EC 22 01 F2 */ fmuls f1, f2, f7
|
|
/* 80040188 0003C0A8 EC 00 01 B2 */ fmuls f0, f0, f6
|
|
/* 8004018C 0003C0AC C1 05 00 14 */ lfs f8, 0x14(r5)
|
|
/* 80040190 0003C0B0 EC 45 20 28 */ fsubs f2, f5, f4
|
|
/* 80040194 0003C0B4 C8 62 8E 20 */ lfd f3, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 80040198 0003C0B8 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8004019C 0003C0BC EC 22 02 32 */ fmuls f1, f2, f8
|
|
/* 800401A0 0003C0C0 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 800401A4 0003C0C4 FC 00 18 40 */ fcmpo cr0, f0, f3
|
|
/* 800401A8 0003C0C8 40 80 00 0C */ bge lbl_800401B4
|
|
/* 800401AC 0003C0CC 38 60 00 00 */ li r3, 0
|
|
/* 800401B0 0003C0D0 48 00 01 6C */ b lbl_8004031C
|
|
lbl_800401B4:
|
|
/* 800401B4 0003C0D4 C0 3E 00 00 */ lfs f1, 0(r30)
|
|
/* 800401B8 0003C0D8 C0 1E 00 04 */ lfs f0, 4(r30)
|
|
/* 800401BC 0003C0DC EC 21 01 F2 */ fmuls f1, f1, f7
|
|
/* 800401C0 0003C0E0 C0 5E 00 08 */ lfs f2, 8(r30)
|
|
/* 800401C4 0003C0E4 EC 00 01 B2 */ fmuls f0, f0, f6
|
|
/* 800401C8 0003C0E8 EC 42 02 32 */ fmuls f2, f2, f8
|
|
/* 800401CC 0003C0EC EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 800401D0 0003C0F0 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800401D4 0003C0F4 FC 00 18 40 */ fcmpo cr0, f0, f3
|
|
/* 800401D8 0003C0F8 40 81 00 0C */ ble lbl_800401E4
|
|
/* 800401DC 0003C0FC 38 60 00 00 */ li r3, 0
|
|
/* 800401E0 0003C100 48 00 01 3C */ b lbl_8004031C
|
|
lbl_800401E4:
|
|
/* 800401E4 0003C104 7F E3 FB 78 */ mr r3, r31
|
|
/* 800401E8 0003C108 4B FC 73 D5 */ bl mathutil_mtxA_from_translate
|
|
/* 800401EC 0003C10C A8 7F 00 1A */ lha r3, 0x1a(r31)
|
|
/* 800401F0 0003C110 4B FC 7E 0D */ bl mathutil_mtxA_rotate_y
|
|
/* 800401F4 0003C114 A8 7F 00 18 */ lha r3, 0x18(r31)
|
|
/* 800401F8 0003C118 4B FC 7D 91 */ bl mathutil_mtxA_rotate_x
|
|
/* 800401FC 0003C11C A8 7F 00 1C */ lha r3, 0x1c(r31)
|
|
/* 80040200 0003C120 4B FC 7E 89 */ bl mathutil_mtxA_rotate_z
|
|
/* 80040204 0003C124 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 80040208 0003C128 38 81 00 40 */ addi r4, r1, 0x40
|
|
/* 8004020C 0003C12C 4B FC 7C C1 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80040210 0003C130 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 80040214 0003C134 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 80040218 0003C138 4B FC 7D 09 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
/* 8004021C 0003C13C C0 81 00 3C */ lfs f4, 0x3c(r1)
|
|
/* 80040220 0003C140 C8 02 8E 68 */ lfd f0, lbl_802F3668-_SDA2_BASE_(r2)
|
|
/* 80040224 0003C144 FC 20 22 10 */ fabs f1, f4
|
|
/* 80040228 0003C148 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 8004022C 0003C14C 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 80040230 0003C150 40 82 00 0C */ bne lbl_8004023C
|
|
/* 80040234 0003C154 38 60 00 00 */ li r3, 0
|
|
/* 80040238 0003C158 48 00 00 E4 */ b lbl_8004031C
|
|
lbl_8004023C:
|
|
/* 8004023C 0003C15C C0 01 00 48 */ lfs f0, 0x48(r1)
|
|
/* 80040240 0003C160 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 80040244 0003C164 FC 60 00 50 */ fneg f3, f0
|
|
/* 80040248 0003C168 C0 41 00 40 */ lfs f2, 0x40(r1)
|
|
/* 8004024C 0003C16C C0 01 00 38 */ lfs f0, 0x38(r1)
|
|
/* 80040250 0003C170 EC 63 20 24 */ fdivs f3, f3, f4
|
|
/* 80040254 0003C174 EC 21 00 F2 */ fmuls f1, f1, f3
|
|
/* 80040258 0003C178 EC 00 00 F2 */ fmuls f0, f0, f3
|
|
/* 8004025C 0003C17C EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 80040260 0003C180 D0 21 00 40 */ stfs f1, 0x40(r1)
|
|
/* 80040264 0003C184 C0 21 00 44 */ lfs f1, 0x44(r1)
|
|
/* 80040268 0003C188 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8004026C 0003C18C D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
/* 80040270 0003C190 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040274 0003C194 D0 21 00 48 */ stfs f1, 0x48(r1)
|
|
/* 80040278 0003C198 C0 C1 00 40 */ lfs f6, 0x40(r1)
|
|
/* 8004027C 0003C19C C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 80040280 0003C1A0 C0 A1 00 44 */ lfs f5, 0x44(r1)
|
|
/* 80040284 0003C1A4 EC 21 01 B2 */ fmuls f1, f1, f6
|
|
/* 80040288 0003C1A8 C8 82 8E 70 */ lfd f4, lbl_802F3670-_SDA2_BASE_(r2)
|
|
/* 8004028C 0003C1AC EC 00 01 72 */ fmuls f0, f0, f5
|
|
/* 80040290 0003C1B0 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80040294 0003C1B4 FC 00 20 40 */ fcmpo cr0, f0, f4
|
|
/* 80040298 0003C1B8 40 80 00 0C */ bge lbl_800402A4
|
|
/* 8004029C 0003C1BC 38 60 00 00 */ li r3, 0
|
|
/* 800402A0 0003C1C0 48 00 00 7C */ b lbl_8004031C
|
|
lbl_800402A4:
|
|
/* 800402A4 0003C1C4 C0 3F 00 20 */ lfs f1, 0x20(r31)
|
|
/* 800402A8 0003C1C8 C0 1F 00 24 */ lfs f0, 0x24(r31)
|
|
/* 800402AC 0003C1CC EC 46 08 28 */ fsubs f2, f6, f1
|
|
/* 800402B0 0003C1D0 C0 7F 00 30 */ lfs f3, 0x30(r31)
|
|
/* 800402B4 0003C1D4 EC 05 00 28 */ fsubs f0, f5, f0
|
|
/* 800402B8 0003C1D8 C0 3F 00 34 */ lfs f1, 0x34(r31)
|
|
/* 800402BC 0003C1DC EC 43 00 B2 */ fmuls f2, f3, f2
|
|
/* 800402C0 0003C1E0 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 800402C4 0003C1E4 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800402C8 0003C1E8 FC 00 20 40 */ fcmpo cr0, f0, f4
|
|
/* 800402CC 0003C1EC 40 80 00 0C */ bge lbl_800402D8
|
|
/* 800402D0 0003C1F0 38 60 00 00 */ li r3, 0
|
|
/* 800402D4 0003C1F4 48 00 00 48 */ b lbl_8004031C
|
|
lbl_800402D8:
|
|
/* 800402D8 0003C1F8 C0 3F 00 28 */ lfs f1, 0x28(r31)
|
|
/* 800402DC 0003C1FC C0 1F 00 2C */ lfs f0, 0x2c(r31)
|
|
/* 800402E0 0003C200 EC 46 08 28 */ fsubs f2, f6, f1
|
|
/* 800402E4 0003C204 C0 7F 00 38 */ lfs f3, 0x38(r31)
|
|
/* 800402E8 0003C208 EC 05 00 28 */ fsubs f0, f5, f0
|
|
/* 800402EC 0003C20C C0 3F 00 3C */ lfs f1, 0x3c(r31)
|
|
/* 800402F0 0003C210 EC 43 00 B2 */ fmuls f2, f3, f2
|
|
/* 800402F4 0003C214 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 800402F8 0003C218 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800402FC 0003C21C FC 00 20 40 */ fcmpo cr0, f0, f4
|
|
/* 80040300 0003C220 40 80 00 0C */ bge lbl_8004030C
|
|
/* 80040304 0003C224 38 60 00 00 */ li r3, 0
|
|
/* 80040308 0003C228 48 00 00 14 */ b lbl_8004031C
|
|
lbl_8004030C:
|
|
/* 8004030C 0003C22C 38 61 00 40 */ addi r3, r1, 0x40
|
|
/* 80040310 0003C230 38 9D 00 00 */ addi r4, r29, 0
|
|
/* 80040314 0003C234 4B FC 7B 19 */ bl mathutil_mtxA_tf_point
|
|
/* 80040318 0003C238 38 60 00 01 */ li r3, 1
|
|
lbl_8004031C:
|
|
/* 8004031C 0003C23C 80 01 00 6C */ lwz r0, 0x6c(r1)
|
|
/* 80040320 0003C240 83 E1 00 64 */ lwz r31, 0x64(r1)
|
|
/* 80040324 0003C244 83 C1 00 60 */ lwz r30, 0x60(r1)
|
|
/* 80040328 0003C248 7C 08 03 A6 */ mtlr r0
|
|
/* 8004032C 0003C24C 83 A1 00 5C */ lwz r29, 0x5c(r1)
|
|
/* 80040330 0003C250 38 21 00 68 */ addi r1, r1, 0x68
|
|
/* 80040334 0003C254 4E 80 00 20 */ blr
|
|
|
|
.global func_80040338
|
|
func_80040338:
|
|
/* 80040338 0003C258 7C 08 02 A6 */ mflr r0
|
|
/* 8004033C 0003C25C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80040340 0003C260 94 21 FF 90 */ stwu r1, -0x70(r1)
|
|
/* 80040344 0003C264 DB E1 00 68 */ stfd f31, 0x68(r1)
|
|
/* 80040348 0003C268 DB C1 00 60 */ stfd f30, 0x60(r1)
|
|
/* 8004034C 0003C26C DB A1 00 58 */ stfd f29, 0x58(r1)
|
|
/* 80040350 0003C270 BF 61 00 44 */ stmw r27, 0x44(r1)
|
|
/* 80040354 0003C274 3B A5 00 00 */ addi r29, r5, 0
|
|
/* 80040358 0003C278 3B 63 00 00 */ addi r27, r3, 0
|
|
/* 8004035C 0003C27C 3B 84 00 00 */ addi r28, r4, 0
|
|
/* 80040360 0003C280 3B C6 00 00 */ addi r30, r6, 0
|
|
/* 80040364 0003C284 3B E7 00 00 */ addi r31, r7, 0
|
|
/* 80040368 0003C288 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 8004036C 0003C28C 4B FC 72 51 */ bl mathutil_mtxA_from_translate
|
|
/* 80040370 0003C290 A8 7D 00 10 */ lha r3, 0x10(r29)
|
|
/* 80040374 0003C294 4B FC 7D 15 */ bl mathutil_mtxA_rotate_z
|
|
/* 80040378 0003C298 A8 7D 00 0E */ lha r3, 0xe(r29)
|
|
/* 8004037C 0003C29C 4B FC 7C 81 */ bl mathutil_mtxA_rotate_y
|
|
/* 80040380 0003C2A0 A8 7D 00 0C */ lha r3, 0xc(r29)
|
|
/* 80040384 0003C2A4 4B FC 7C 05 */ bl mathutil_mtxA_rotate_x
|
|
/* 80040388 0003C2A8 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 8004038C 0003C2AC C0 5D 00 18 */ lfs f2, 0x18(r29)
|
|
/* 80040390 0003C2B0 FC 60 08 90 */ fmr f3, f1
|
|
/* 80040394 0003C2B4 4B FC 79 9D */ bl mathutil_mtxA_translate_xyz
|
|
/* 80040398 0003C2B8 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 8004039C 0003C2BC 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 800403A0 0003C2C0 4B FC 7B 2D */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 800403A4 0003C2C4 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 800403A8 0003C2C8 38 81 00 1C */ addi r4, r1, 0x1c
|
|
/* 800403AC 0003C2CC 4B FC 7B 75 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
/* 800403B0 0003C2D0 C0 3D 00 14 */ lfs f1, 0x14(r29)
|
|
/* 800403B4 0003C2D4 C0 1D 00 18 */ lfs f0, 0x18(r29)
|
|
/* 800403B8 0003C2D8 C0 E1 00 1C */ lfs f7, 0x1c(r1)
|
|
/* 800403BC 0003C2DC EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 800403C0 0003C2E0 C0 C1 00 24 */ lfs f6, 0x24(r1)
|
|
/* 800403C4 0003C2E4 C0 41 00 20 */ lfs f2, 0x20(r1)
|
|
/* 800403C8 0003C2E8 C8 02 8E 68 */ lfd f0, lbl_802F3668-_SDA2_BASE_(r2)
|
|
/* 800403CC 0003C2EC EC 87 01 F2 */ fmuls f4, f7, f7
|
|
/* 800403D0 0003C2F0 EC 66 01 B2 */ fmuls f3, f6, f6
|
|
/* 800403D4 0003C2F4 ED 01 00 72 */ fmuls f8, f1, f1
|
|
/* 800403D8 0003C2F8 EC 22 00 B2 */ fmuls f1, f2, f2
|
|
/* 800403DC 0003C2FC EC 64 18 2A */ fadds f3, f4, f3
|
|
/* 800403E0 0003C300 EC 28 00 72 */ fmuls f1, f8, f1
|
|
/* 800403E4 0003C304 EF E3 08 28 */ fsubs f31, f3, f1
|
|
/* 800403E8 0003C308 FC 20 FA 10 */ fabs f1, f31
|
|
/* 800403EC 0003C30C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800403F0 0003C310 40 80 00 0C */ bge lbl_800403FC
|
|
/* 800403F4 0003C314 38 60 00 00 */ li r3, 0
|
|
/* 800403F8 0003C318 48 00 02 0C */ b lbl_80040604
|
|
lbl_800403FC:
|
|
/* 800403FC 0003C31C C0 61 00 34 */ lfs f3, 0x34(r1)
|
|
/* 80040400 0003C320 EC 82 02 32 */ fmuls f4, f2, f8
|
|
/* 80040404 0003C324 C0 41 00 3C */ lfs f2, 0x3c(r1)
|
|
/* 80040408 0003C328 C0 A1 00 38 */ lfs f5, 0x38(r1)
|
|
/* 8004040C 0003C32C EC E7 00 F2 */ fmuls f7, f7, f3
|
|
/* 80040410 0003C330 EC C6 00 B2 */ fmuls f6, f6, f2
|
|
/* 80040414 0003C334 EC 25 01 72 */ fmuls f1, f5, f5
|
|
/* 80040418 0003C338 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8004041C 0003C33C EC 63 00 F2 */ fmuls f3, f3, f3
|
|
/* 80040420 0003C340 EC 42 00 B2 */ fmuls f2, f2, f2
|
|
/* 80040424 0003C344 EC C7 30 2A */ fadds f6, f7, f6
|
|
/* 80040428 0003C348 EC 85 01 32 */ fmuls f4, f5, f4
|
|
/* 8004042C 0003C34C EC 43 10 2A */ fadds f2, f3, f2
|
|
/* 80040430 0003C350 EC 28 00 72 */ fmuls f1, f8, f1
|
|
/* 80040434 0003C354 EF C6 20 28 */ fsubs f30, f6, f4
|
|
/* 80040438 0003C358 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 8004043C 0003C35C EC 5E 07 B2 */ fmuls f2, f30, f30
|
|
/* 80040440 0003C360 EC 3F 00 72 */ fmuls f1, f31, f1
|
|
/* 80040444 0003C364 EF A2 08 28 */ fsubs f29, f2, f1
|
|
/* 80040448 0003C368 FC 1D 00 40 */ fcmpo cr0, f29, f0
|
|
/* 8004044C 0003C36C 40 80 00 0C */ bge lbl_80040458
|
|
/* 80040450 0003C370 38 60 00 00 */ li r3, 0
|
|
/* 80040454 0003C374 48 00 01 B0 */ b lbl_80040604
|
|
lbl_80040458:
|
|
/* 80040458 0003C378 FC 20 E8 90 */ fmr f1, f29
|
|
/* 8004045C 0003C37C 4B FC 6C 9D */ bl mathutil_sqrt
|
|
/* 80040460 0003C380 EC 1E 08 2A */ fadds f0, f30, f1
|
|
/* 80040464 0003C384 C0 A1 00 1C */ lfs f5, 0x1c(r1)
|
|
/* 80040468 0003C388 C0 61 00 20 */ lfs f3, 0x20(r1)
|
|
/* 8004046C 0003C38C C0 C1 00 34 */ lfs f6, 0x34(r1)
|
|
/* 80040470 0003C390 FC 00 00 50 */ fneg f0, f0
|
|
/* 80040474 0003C394 C0 21 00 24 */ lfs f1, 0x24(r1)
|
|
/* 80040478 0003C398 C0 81 00 38 */ lfs f4, 0x38(r1)
|
|
/* 8004047C 0003C39C EC E0 F8 24 */ fdivs f7, f0, f31
|
|
/* 80040480 0003C3A0 C0 41 00 3C */ lfs f2, 0x3c(r1)
|
|
/* 80040484 0003C3A4 C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 80040488 0003C3A8 EC A5 01 F2 */ fmuls f5, f5, f7
|
|
/* 8004048C 0003C3AC EC 63 01 F2 */ fmuls f3, f3, f7
|
|
/* 80040490 0003C3B0 EC 21 01 F2 */ fmuls f1, f1, f7
|
|
/* 80040494 0003C3B4 EC A6 28 2A */ fadds f5, f6, f5
|
|
/* 80040498 0003C3B8 EC 64 18 2A */ fadds f3, f4, f3
|
|
/* 8004049C 0003C3BC EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 800404A0 0003C3C0 D0 A1 00 28 */ stfs f5, 0x28(r1)
|
|
/* 800404A4 0003C3C4 D0 61 00 2C */ stfs f3, 0x2c(r1)
|
|
/* 800404A8 0003C3C8 D0 21 00 30 */ stfs f1, 0x30(r1)
|
|
/* 800404AC 0003C3CC C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 800404B0 0003C3D0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800404B4 0003C3D4 41 81 00 14 */ bgt lbl_800404C8
|
|
/* 800404B8 0003C3D8 C0 1D 00 18 */ lfs f0, 0x18(r29)
|
|
/* 800404BC 0003C3DC FC 00 00 50 */ fneg f0, f0
|
|
/* 800404C0 0003C3E0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800404C4 0003C3E4 40 80 00 7C */ bge lbl_80040540
|
|
lbl_800404C8:
|
|
/* 800404C8 0003C3E8 FC 20 E8 90 */ fmr f1, f29
|
|
/* 800404CC 0003C3EC 4B FC 6C 2D */ bl mathutil_sqrt
|
|
/* 800404D0 0003C3F0 EC 1E 08 28 */ fsubs f0, f30, f1
|
|
/* 800404D4 0003C3F4 C0 A1 00 1C */ lfs f5, 0x1c(r1)
|
|
/* 800404D8 0003C3F8 C0 61 00 20 */ lfs f3, 0x20(r1)
|
|
/* 800404DC 0003C3FC C0 C1 00 34 */ lfs f6, 0x34(r1)
|
|
/* 800404E0 0003C400 FC 00 00 50 */ fneg f0, f0
|
|
/* 800404E4 0003C404 C0 21 00 24 */ lfs f1, 0x24(r1)
|
|
/* 800404E8 0003C408 C0 81 00 38 */ lfs f4, 0x38(r1)
|
|
/* 800404EC 0003C40C EC E0 F8 24 */ fdivs f7, f0, f31
|
|
/* 800404F0 0003C410 C0 41 00 3C */ lfs f2, 0x3c(r1)
|
|
/* 800404F4 0003C414 C8 02 8E 20 */ lfd f0, lbl_802F3620-_SDA2_BASE_(r2)
|
|
/* 800404F8 0003C418 EC A5 01 F2 */ fmuls f5, f5, f7
|
|
/* 800404FC 0003C41C EC 63 01 F2 */ fmuls f3, f3, f7
|
|
/* 80040500 0003C420 EC 21 01 F2 */ fmuls f1, f1, f7
|
|
/* 80040504 0003C424 EC A6 28 2A */ fadds f5, f6, f5
|
|
/* 80040508 0003C428 EC 64 18 2A */ fadds f3, f4, f3
|
|
/* 8004050C 0003C42C EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 80040510 0003C430 D0 A1 00 28 */ stfs f5, 0x28(r1)
|
|
/* 80040514 0003C434 D0 61 00 2C */ stfs f3, 0x2c(r1)
|
|
/* 80040518 0003C438 D0 21 00 30 */ stfs f1, 0x30(r1)
|
|
/* 8004051C 0003C43C C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 80040520 0003C440 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80040524 0003C444 41 81 00 14 */ bgt lbl_80040538
|
|
/* 80040528 0003C448 C0 1D 00 18 */ lfs f0, 0x18(r29)
|
|
/* 8004052C 0003C44C FC 00 00 50 */ fneg f0, f0
|
|
/* 80040530 0003C450 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80040534 0003C454 40 80 00 0C */ bge lbl_80040540
|
|
lbl_80040538:
|
|
/* 80040538 0003C458 38 60 00 00 */ li r3, 0
|
|
/* 8004053C 0003C45C 48 00 00 C8 */ b lbl_80040604
|
|
lbl_80040540:
|
|
/* 80040540 0003C460 38 61 00 28 */ addi r3, r1, 0x28
|
|
/* 80040544 0003C464 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 80040548 0003C468 4B FC 78 E5 */ bl mathutil_mtxA_tf_point
|
|
/* 8004054C 0003C46C C0 21 00 28 */ lfs f1, 0x28(r1)
|
|
/* 80040550 0003C470 C0 01 00 30 */ lfs f0, 0x30(r1)
|
|
/* 80040554 0003C474 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 80040558 0003C478 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 8004055C 0003C47C C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 80040560 0003C480 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 80040564 0003C484 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 80040568 0003C488 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8004056C 0003C48C C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 80040570 0003C490 FF A0 08 90 */ fmr f29, f1
|
|
/* 80040574 0003C494 FC 1D 00 40 */ fcmpo cr0, f29, f0
|
|
/* 80040578 0003C498 40 81 00 68 */ ble lbl_800405E0
|
|
/* 8004057C 0003C49C FC 20 E8 90 */ fmr f1, f29
|
|
/* 80040580 0003C4A0 4B FC 6B 79 */ bl mathutil_sqrt
|
|
/* 80040584 0003C4A4 C0 5D 00 14 */ lfs f2, 0x14(r29)
|
|
/* 80040588 0003C4A8 C0 1D 00 18 */ lfs f0, 0x18(r29)
|
|
/* 8004058C 0003C4AC EC 22 00 72 */ fmuls f1, f2, f1
|
|
/* 80040590 0003C4B0 EC 01 00 24 */ fdivs f0, f1, f0
|
|
/* 80040594 0003C4B4 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 80040598 0003C4B8 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 8004059C 0003C4BC EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 800405A0 0003C4C0 EF BD 00 2A */ fadds f29, f29, f0
|
|
/* 800405A4 0003C4C4 FC 20 E8 90 */ fmr f1, f29
|
|
/* 800405A8 0003C4C8 4B FC 6B 91 */ bl mathutil_rsqrt
|
|
/* 800405AC 0003C4CC C0 01 00 1C */ lfs f0, 0x1c(r1)
|
|
/* 800405B0 0003C4D0 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 800405B4 0003C4D4 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 800405B8 0003C4D8 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 800405BC 0003C4DC D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 800405C0 0003C4E0 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 800405C4 0003C4E4 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 800405C8 0003C4E8 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 800405CC 0003C4EC C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 800405D0 0003C4F0 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 800405D4 0003C4F4 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 800405D8 0003C4F8 4B FC 78 65 */ bl mathutil_mtxA_tf_vec
|
|
/* 800405DC 0003C4FC 48 00 00 24 */ b lbl_80040600
|
|
lbl_800405E0:
|
|
/* 800405E0 0003C500 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 800405E4 0003C504 7F E4 FB 78 */ mr r4, r31
|
|
/* 800405E8 0003C508 C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 800405EC 0003C50C 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 800405F0 0003C510 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 800405F4 0003C514 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 800405F8 0003C518 D0 21 00 24 */ stfs f1, 0x24(r1)
|
|
/* 800405FC 0003C51C 4B FC 78 41 */ bl mathutil_mtxA_tf_vec
|
|
lbl_80040600:
|
|
/* 80040600 0003C520 38 60 00 01 */ li r3, 1
|
|
lbl_80040604:
|
|
/* 80040604 0003C524 BB 61 00 44 */ lmw r27, 0x44(r1)
|
|
/* 80040608 0003C528 80 01 00 74 */ lwz r0, 0x74(r1)
|
|
/* 8004060C 0003C52C CB E1 00 68 */ lfd f31, 0x68(r1)
|
|
/* 80040610 0003C530 CB C1 00 60 */ lfd f30, 0x60(r1)
|
|
/* 80040614 0003C534 7C 08 03 A6 */ mtlr r0
|
|
/* 80040618 0003C538 CB A1 00 58 */ lfd f29, 0x58(r1)
|
|
/* 8004061C 0003C53C 38 21 00 70 */ addi r1, r1, 0x70
|
|
/* 80040620 0003C540 4E 80 00 20 */ blr
|
|
|
|
.global func_80040624
|
|
func_80040624:
|
|
/* 80040624 0003C544 7C 08 02 A6 */ mflr r0
|
|
/* 80040628 0003C548 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8004062C 0003C54C 94 21 FF A8 */ stwu r1, -0x58(r1)
|
|
/* 80040630 0003C550 DB E1 00 50 */ stfd f31, 0x50(r1)
|
|
/* 80040634 0003C554 DB C1 00 48 */ stfd f30, 0x48(r1)
|
|
/* 80040638 0003C558 93 E1 00 44 */ stw r31, 0x44(r1)
|
|
/* 8004063C 0003C55C 3B E7 00 00 */ addi r31, r7, 0
|
|
/* 80040640 0003C560 93 C1 00 40 */ stw r30, 0x40(r1)
|
|
/* 80040644 0003C564 3B C6 00 00 */ addi r30, r6, 0
|
|
/* 80040648 0003C568 93 A1 00 3C */ stw r29, 0x3c(r1)
|
|
/* 8004064C 0003C56C 3B A5 00 00 */ addi r29, r5, 0
|
|
/* 80040650 0003C570 93 81 00 38 */ stw r28, 0x38(r1)
|
|
/* 80040654 0003C574 3B 83 00 00 */ addi r28, r3, 0
|
|
/* 80040658 0003C578 C0 04 00 00 */ lfs f0, 0(r4)
|
|
/* 8004065C 0003C57C D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 80040660 0003C580 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 80040664 0003C584 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 80040668 0003C588 C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 8004066C 0003C58C D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 80040670 0003C590 C0 23 00 00 */ lfs f1, 0(r3)
|
|
/* 80040674 0003C594 C0 05 00 00 */ lfs f0, 0(r5)
|
|
/* 80040678 0003C598 C0 E1 00 24 */ lfs f7, 0x24(r1)
|
|
/* 8004067C 0003C59C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80040680 0003C5A0 C0 81 00 20 */ lfs f4, 0x20(r1)
|
|
/* 80040684 0003C5A4 C3 E1 00 1C */ lfs f31, 0x1c(r1)
|
|
/* 80040688 0003C5A8 D0 01 00 28 */ stfs f0, 0x28(r1)
|
|
/* 8004068C 0003C5AC C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 80040690 0003C5B0 C0 05 00 04 */ lfs f0, 4(r5)
|
|
/* 80040694 0003C5B4 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80040698 0003C5B8 D0 01 00 2C */ stfs f0, 0x2c(r1)
|
|
/* 8004069C 0003C5BC C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 800406A0 0003C5C0 C0 05 00 08 */ lfs f0, 8(r5)
|
|
/* 800406A4 0003C5C4 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800406A8 0003C5C8 D0 01 00 30 */ stfs f0, 0x30(r1)
|
|
/* 800406AC 0003C5CC EF FF 07 F2 */ fmuls f31, f31, f31
|
|
/* 800406B0 0003C5D0 EF E4 F9 3A */ fmadds f31, f4, f4, f31
|
|
/* 800406B4 0003C5D4 EF E7 F9 FA */ fmadds f31, f7, f7, f31
|
|
/* 800406B8 0003C5D8 C0 C2 8E 2C */ lfs f6, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 800406BC 0003C5DC FC 1F 30 40 */ fcmpo cr0, f31, f6
|
|
/* 800406C0 0003C5E0 40 80 00 0C */ bge lbl_800406CC
|
|
/* 800406C4 0003C5E4 38 60 00 00 */ li r3, 0
|
|
/* 800406C8 0003C5E8 48 00 01 18 */ b lbl_800407E0
|
|
lbl_800406CC:
|
|
/* 800406CC 0003C5EC C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 800406D0 0003C5F0 C0 41 00 1C */ lfs f2, 0x1c(r1)
|
|
/* 800406D4 0003C5F4 C0 61 00 28 */ lfs f3, 0x28(r1)
|
|
/* 800406D8 0003C5F8 EC 04 00 72 */ fmuls f0, f4, f1
|
|
/* 800406DC 0003C5FC C0 A1 00 30 */ lfs f5, 0x30(r1)
|
|
/* 800406E0 0003C600 EC 42 00 F2 */ fmuls f2, f2, f3
|
|
/* 800406E4 0003C604 EC 87 01 72 */ fmuls f4, f7, f5
|
|
/* 800406E8 0003C608 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800406EC 0003C60C EF C4 00 2A */ fadds f30, f4, f0
|
|
/* 800406F0 0003C610 EC 43 00 F2 */ fmuls f2, f3, f3
|
|
/* 800406F4 0003C614 EC 41 10 7A */ fmadds f2, f1, f1, f2
|
|
/* 800406F8 0003C618 EC 45 11 7A */ fmadds f2, f5, f5, f2
|
|
/* 800406FC 0003C61C C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 80040700 0003C620 EC 3E 07 B2 */ fmuls f1, f30, f30
|
|
/* 80040704 0003C624 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 80040708 0003C628 EC 42 00 28 */ fsubs f2, f2, f0
|
|
/* 8004070C 0003C62C EC 1F 00 B2 */ fmuls f0, f31, f2
|
|
/* 80040710 0003C630 EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 80040714 0003C634 FC 01 30 40 */ fcmpo cr0, f1, f6
|
|
/* 80040718 0003C638 40 80 00 0C */ bge lbl_80040724
|
|
/* 8004071C 0003C63C 38 60 00 00 */ li r3, 0
|
|
/* 80040720 0003C640 48 00 00 C0 */ b lbl_800407E0
|
|
lbl_80040724:
|
|
/* 80040724 0003C644 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040728 0003C648 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 8004072C 0003C64C 40 80 00 0C */ bge lbl_80040738
|
|
/* 80040730 0003C650 38 60 00 00 */ li r3, 0
|
|
/* 80040734 0003C654 48 00 00 AC */ b lbl_800407E0
|
|
lbl_80040738:
|
|
/* 80040738 0003C658 FC 1E 00 40 */ fcmpo cr0, f30, f0
|
|
/* 8004073C 0003C65C 40 81 00 0C */ ble lbl_80040748
|
|
/* 80040740 0003C660 38 60 00 00 */ li r3, 0
|
|
/* 80040744 0003C664 48 00 00 9C */ b lbl_800407E0
|
|
lbl_80040748:
|
|
/* 80040748 0003C668 4B FC 69 B1 */ bl mathutil_sqrt
|
|
/* 8004074C 0003C66C EC 5E 08 2A */ fadds f2, f30, f1
|
|
/* 80040750 0003C670 C0 01 00 1C */ lfs f0, 0x1c(r1)
|
|
/* 80040754 0003C674 C0 3C 00 00 */ lfs f1, 0(r28)
|
|
/* 80040758 0003C678 38 60 00 01 */ li r3, 1
|
|
/* 8004075C 0003C67C FC 40 10 50 */ fneg f2, f2
|
|
/* 80040760 0003C680 EC 42 F8 24 */ fdivs f2, f2, f31
|
|
/* 80040764 0003C684 EC 00 00 B2 */ fmuls f0, f0, f2
|
|
/* 80040768 0003C688 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8004076C 0003C68C D0 1E 00 00 */ stfs f0, 0(r30)
|
|
/* 80040770 0003C690 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 80040774 0003C694 C0 3C 00 04 */ lfs f1, 4(r28)
|
|
/* 80040778 0003C698 EC 00 00 B2 */ fmuls f0, f0, f2
|
|
/* 8004077C 0003C69C EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80040780 0003C6A0 D0 1E 00 04 */ stfs f0, 4(r30)
|
|
/* 80040784 0003C6A4 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 80040788 0003C6A8 C0 3C 00 08 */ lfs f1, 8(r28)
|
|
/* 8004078C 0003C6AC EC 00 00 B2 */ fmuls f0, f0, f2
|
|
/* 80040790 0003C6B0 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80040794 0003C6B4 D0 1E 00 08 */ stfs f0, 8(r30)
|
|
/* 80040798 0003C6B8 C0 5E 00 00 */ lfs f2, 0(r30)
|
|
/* 8004079C 0003C6BC C0 3D 00 00 */ lfs f1, 0(r29)
|
|
/* 800407A0 0003C6C0 C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 800407A4 0003C6C4 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800407A8 0003C6C8 EC 01 00 24 */ fdivs f0, f1, f0
|
|
/* 800407AC 0003C6CC D0 1F 00 00 */ stfs f0, 0(r31)
|
|
/* 800407B0 0003C6D0 C0 5E 00 04 */ lfs f2, 4(r30)
|
|
/* 800407B4 0003C6D4 C0 3D 00 04 */ lfs f1, 4(r29)
|
|
/* 800407B8 0003C6D8 C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 800407BC 0003C6DC EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800407C0 0003C6E0 EC 01 00 24 */ fdivs f0, f1, f0
|
|
/* 800407C4 0003C6E4 D0 1F 00 04 */ stfs f0, 4(r31)
|
|
/* 800407C8 0003C6E8 C0 5E 00 08 */ lfs f2, 8(r30)
|
|
/* 800407CC 0003C6EC C0 3D 00 08 */ lfs f1, 8(r29)
|
|
/* 800407D0 0003C6F0 C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 800407D4 0003C6F4 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800407D8 0003C6F8 EC 01 00 24 */ fdivs f0, f1, f0
|
|
/* 800407DC 0003C6FC D0 1F 00 08 */ stfs f0, 8(r31)
|
|
lbl_800407E0:
|
|
/* 800407E0 0003C700 80 01 00 5C */ lwz r0, 0x5c(r1)
|
|
/* 800407E4 0003C704 CB E1 00 50 */ lfd f31, 0x50(r1)
|
|
/* 800407E8 0003C708 CB C1 00 48 */ lfd f30, 0x48(r1)
|
|
/* 800407EC 0003C70C 7C 08 03 A6 */ mtlr r0
|
|
/* 800407F0 0003C710 83 E1 00 44 */ lwz r31, 0x44(r1)
|
|
/* 800407F4 0003C714 83 C1 00 40 */ lwz r30, 0x40(r1)
|
|
/* 800407F8 0003C718 83 A1 00 3C */ lwz r29, 0x3c(r1)
|
|
/* 800407FC 0003C71C 83 81 00 38 */ lwz r28, 0x38(r1)
|
|
/* 80040800 0003C720 38 21 00 58 */ addi r1, r1, 0x58
|
|
/* 80040804 0003C724 4E 80 00 20 */ blr
|
|
|
|
.global func_80040808
|
|
func_80040808:
|
|
/* 80040808 0003C728 7C 08 02 A6 */ mflr r0
|
|
/* 8004080C 0003C72C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80040810 0003C730 94 21 FF 98 */ stwu r1, -0x68(r1)
|
|
/* 80040814 0003C734 DB E1 00 60 */ stfd f31, 0x60(r1)
|
|
/* 80040818 0003C738 DB C1 00 58 */ stfd f30, 0x58(r1)
|
|
/* 8004081C 0003C73C BF 61 00 44 */ stmw r27, 0x44(r1)
|
|
/* 80040820 0003C740 3B A5 00 00 */ addi r29, r5, 0
|
|
/* 80040824 0003C744 3B 63 00 00 */ addi r27, r3, 0
|
|
/* 80040828 0003C748 3B 84 00 00 */ addi r28, r4, 0
|
|
/* 8004082C 0003C74C 3B C6 00 00 */ addi r30, r6, 0
|
|
/* 80040830 0003C750 3B E7 00 00 */ addi r31, r7, 0
|
|
/* 80040834 0003C754 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 80040838 0003C758 4B FC 6D 85 */ bl mathutil_mtxA_from_translate
|
|
/* 8004083C 0003C75C A8 7D 00 18 */ lha r3, 0x18(r29)
|
|
/* 80040840 0003C760 4B FC 78 49 */ bl mathutil_mtxA_rotate_z
|
|
/* 80040844 0003C764 A8 7D 00 16 */ lha r3, 0x16(r29)
|
|
/* 80040848 0003C768 4B FC 77 B5 */ bl mathutil_mtxA_rotate_y
|
|
/* 8004084C 0003C76C A8 7D 00 14 */ lha r3, 0x14(r29)
|
|
/* 80040850 0003C770 4B FC 77 39 */ bl mathutil_mtxA_rotate_x
|
|
/* 80040854 0003C774 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 80040858 0003C778 38 81 00 28 */ addi r4, r1, 0x28
|
|
/* 8004085C 0003C77C 4B FC 76 71 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80040860 0003C780 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 80040864 0003C784 38 81 00 1C */ addi r4, r1, 0x1c
|
|
/* 80040868 0003C788 4B FC 76 B9 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
/* 8004086C 0003C78C C0 E1 00 1C */ lfs f7, 0x1c(r1)
|
|
/* 80040870 0003C790 C0 C1 00 24 */ lfs f6, 0x24(r1)
|
|
/* 80040874 0003C794 EC 27 01 F2 */ fmuls f1, f7, f7
|
|
/* 80040878 0003C798 C0 A2 8E 2C */ lfs f5, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 8004087C 0003C79C EC 06 01 B2 */ fmuls f0, f6, f6
|
|
/* 80040880 0003C7A0 EF E1 00 2A */ fadds f31, f1, f0
|
|
/* 80040884 0003C7A4 FC 1F 28 40 */ fcmpo cr0, f31, f5
|
|
/* 80040888 0003C7A8 41 80 01 18 */ blt lbl_800409A0
|
|
/* 8004088C 0003C7AC C0 81 00 28 */ lfs f4, 0x28(r1)
|
|
/* 80040890 0003C7B0 C0 61 00 30 */ lfs f3, 0x30(r1)
|
|
/* 80040894 0003C7B4 EC 44 01 32 */ fmuls f2, f4, f4
|
|
/* 80040898 0003C7B8 C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 8004089C 0003C7BC EC 23 00 F2 */ fmuls f1, f3, f3
|
|
/* 800408A0 0003C7C0 EC 87 01 32 */ fmuls f4, f7, f4
|
|
/* 800408A4 0003C7C4 EC 66 00 F2 */ fmuls f3, f6, f3
|
|
/* 800408A8 0003C7C8 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 800408AC 0003C7CC EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 800408B0 0003C7D0 EF C4 18 2A */ fadds f30, f4, f3
|
|
/* 800408B4 0003C7D4 EC 41 00 28 */ fsubs f2, f1, f0
|
|
/* 800408B8 0003C7D8 EC 3E 07 B2 */ fmuls f1, f30, f30
|
|
/* 800408BC 0003C7DC EC 1F 00 B2 */ fmuls f0, f31, f2
|
|
/* 800408C0 0003C7E0 EC 21 00 28 */ fsubs f1, f1, f0
|
|
/* 800408C4 0003C7E4 FC 01 28 40 */ fcmpo cr0, f1, f5
|
|
/* 800408C8 0003C7E8 40 80 00 0C */ bge lbl_800408D4
|
|
/* 800408CC 0003C7EC 38 60 00 00 */ li r3, 0
|
|
/* 800408D0 0003C7F0 48 00 02 34 */ b lbl_80040B04
|
|
lbl_800408D4:
|
|
/* 800408D4 0003C7F4 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 800408D8 0003C7F8 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 800408DC 0003C7FC 41 80 00 C4 */ blt lbl_800409A0
|
|
/* 800408E0 0003C800 FC 1E 00 40 */ fcmpo cr0, f30, f0
|
|
/* 800408E4 0003C804 40 81 00 0C */ ble lbl_800408F0
|
|
/* 800408E8 0003C808 38 60 00 00 */ li r3, 0
|
|
/* 800408EC 0003C80C 48 00 02 18 */ b lbl_80040B04
|
|
lbl_800408F0:
|
|
/* 800408F0 0003C810 4B FC 68 09 */ bl mathutil_sqrt
|
|
/* 800408F4 0003C814 EC 1E 08 2A */ fadds f0, f30, f1
|
|
/* 800408F8 0003C818 C0 A1 00 1C */ lfs f5, 0x1c(r1)
|
|
/* 800408FC 0003C81C C0 61 00 20 */ lfs f3, 0x20(r1)
|
|
/* 80040900 0003C820 C0 C1 00 28 */ lfs f6, 0x28(r1)
|
|
/* 80040904 0003C824 FC 20 00 50 */ fneg f1, f0
|
|
/* 80040908 0003C828 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 8004090C 0003C82C C0 81 00 2C */ lfs f4, 0x2c(r1)
|
|
/* 80040910 0003C830 EC E1 F8 24 */ fdivs f7, f1, f31
|
|
/* 80040914 0003C834 C0 41 00 30 */ lfs f2, 0x30(r1)
|
|
/* 80040918 0003C838 C8 22 8E 30 */ lfd f1, lbl_802F3630-_SDA2_BASE_(r2)
|
|
/* 8004091C 0003C83C EC A5 01 F2 */ fmuls f5, f5, f7
|
|
/* 80040920 0003C840 EC 63 01 F2 */ fmuls f3, f3, f7
|
|
/* 80040924 0003C844 EC 00 01 F2 */ fmuls f0, f0, f7
|
|
/* 80040928 0003C848 EC A6 28 2A */ fadds f5, f6, f5
|
|
/* 8004092C 0003C84C EC 64 18 2A */ fadds f3, f4, f3
|
|
/* 80040930 0003C850 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 80040934 0003C854 D0 A1 00 34 */ stfs f5, 0x34(r1)
|
|
/* 80040938 0003C858 D0 61 00 38 */ stfs f3, 0x38(r1)
|
|
/* 8004093C 0003C85C D0 01 00 3C */ stfs f0, 0x3c(r1)
|
|
/* 80040940 0003C860 C0 1D 00 10 */ lfs f0, 0x10(r29)
|
|
/* 80040944 0003C864 C0 41 00 38 */ lfs f2, 0x38(r1)
|
|
/* 80040948 0003C868 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8004094C 0003C86C FC 20 12 10 */ fabs f1, f2
|
|
/* 80040950 0003C870 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80040954 0003C874 41 81 00 4C */ bgt lbl_800409A0
|
|
/* 80040958 0003C878 38 61 00 34 */ addi r3, r1, 0x34
|
|
/* 8004095C 0003C87C 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 80040960 0003C880 4B FC 74 CD */ bl mathutil_mtxA_tf_point
|
|
/* 80040964 0003C884 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 80040968 0003C888 7F E3 FB 78 */ mr r3, r31
|
|
/* 8004096C 0003C88C C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 80040970 0003C890 7F E4 FB 78 */ mr r4, r31
|
|
/* 80040974 0003C894 EC 01 00 24 */ fdivs f0, f1, f0
|
|
/* 80040978 0003C898 D0 1F 00 00 */ stfs f0, 0(r31)
|
|
/* 8004097C 0003C89C C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040980 0003C8A0 D0 1F 00 04 */ stfs f0, 4(r31)
|
|
/* 80040984 0003C8A4 C0 21 00 3C */ lfs f1, 0x3c(r1)
|
|
/* 80040988 0003C8A8 C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 8004098C 0003C8AC EC 01 00 24 */ fdivs f0, f1, f0
|
|
/* 80040990 0003C8B0 D0 1F 00 08 */ stfs f0, 8(r31)
|
|
/* 80040994 0003C8B4 4B FC 74 A9 */ bl mathutil_mtxA_tf_vec
|
|
/* 80040998 0003C8B8 38 60 00 01 */ li r3, 1
|
|
/* 8004099C 0003C8BC 48 00 01 68 */ b lbl_80040B04
|
|
lbl_800409A0:
|
|
/* 800409A0 0003C8C0 C0 A1 00 20 */ lfs f5, 0x20(r1)
|
|
/* 800409A4 0003C8C4 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 800409A8 0003C8C8 FC 05 00 40 */ fcmpo cr0, f5, f0
|
|
/* 800409AC 0003C8CC 40 80 00 A8 */ bge lbl_80040A54
|
|
/* 800409B0 0003C8D0 C8 22 8E 30 */ lfd f1, lbl_802F3630-_SDA2_BASE_(r2)
|
|
/* 800409B4 0003C8D4 C0 1D 00 10 */ lfs f0, 0x10(r29)
|
|
/* 800409B8 0003C8D8 C0 81 00 2C */ lfs f4, 0x2c(r1)
|
|
/* 800409BC 0003C8DC FC C1 00 32 */ fmul f6, f1, f0
|
|
/* 800409C0 0003C8E0 C0 41 00 1C */ lfs f2, 0x1c(r1)
|
|
/* 800409C4 0003C8E4 C0 61 00 28 */ lfs f3, 0x28(r1)
|
|
/* 800409C8 0003C8E8 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 800409CC 0003C8EC C0 21 00 30 */ lfs f1, 0x30(r1)
|
|
/* 800409D0 0003C8F0 FC C0 30 18 */ frsp f6, f6
|
|
/* 800409D4 0003C8F4 EC 86 20 28 */ fsubs f4, f6, f4
|
|
/* 800409D8 0003C8F8 EC E4 28 24 */ fdivs f7, f4, f5
|
|
/* 800409DC 0003C8FC EC 42 01 F2 */ fmuls f2, f2, f7
|
|
/* 800409E0 0003C900 EC 00 01 F2 */ fmuls f0, f0, f7
|
|
/* 800409E4 0003C904 EC 43 10 2A */ fadds f2, f3, f2
|
|
/* 800409E8 0003C908 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 800409EC 0003C90C D0 41 00 34 */ stfs f2, 0x34(r1)
|
|
/* 800409F0 0003C910 D0 C1 00 38 */ stfs f6, 0x38(r1)
|
|
/* 800409F4 0003C914 D0 01 00 3C */ stfs f0, 0x3c(r1)
|
|
/* 800409F8 0003C918 C0 01 00 3C */ lfs f0, 0x3c(r1)
|
|
/* 800409FC 0003C91C C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 80040A00 0003C920 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 80040A04 0003C924 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 80040A08 0003C928 C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 80040A0C 0003C92C EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 80040A10 0003C930 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80040A14 0003C934 40 81 00 0C */ ble lbl_80040A20
|
|
/* 80040A18 0003C938 38 60 00 00 */ li r3, 0
|
|
/* 80040A1C 0003C93C 48 00 00 E8 */ b lbl_80040B04
|
|
lbl_80040A20:
|
|
/* 80040A20 0003C940 38 61 00 34 */ addi r3, r1, 0x34
|
|
/* 80040A24 0003C944 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 80040A28 0003C948 4B FC 74 05 */ bl mathutil_mtxA_tf_point
|
|
/* 80040A2C 0003C94C C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040A30 0003C950 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 80040A34 0003C954 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 80040A38 0003C958 D0 3F 00 00 */ stfs f1, 0(r31)
|
|
/* 80040A3C 0003C95C C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 80040A40 0003C960 D0 1F 00 04 */ stfs f0, 4(r31)
|
|
/* 80040A44 0003C964 D0 3F 00 08 */ stfs f1, 8(r31)
|
|
/* 80040A48 0003C968 4B FC 73 F5 */ bl mathutil_mtxA_tf_vec
|
|
/* 80040A4C 0003C96C 38 60 00 01 */ li r3, 1
|
|
/* 80040A50 0003C970 48 00 00 B4 */ b lbl_80040B04
|
|
lbl_80040A54:
|
|
/* 80040A54 0003C974 40 81 00 AC */ ble lbl_80040B00
|
|
/* 80040A58 0003C978 C0 1D 00 10 */ lfs f0, 0x10(r29)
|
|
/* 80040A5C 0003C97C C8 22 8E 30 */ lfd f1, lbl_802F3630-_SDA2_BASE_(r2)
|
|
/* 80040A60 0003C980 FC 00 00 50 */ fneg f0, f0
|
|
/* 80040A64 0003C984 C0 81 00 2C */ lfs f4, 0x2c(r1)
|
|
/* 80040A68 0003C988 C0 41 00 1C */ lfs f2, 0x1c(r1)
|
|
/* 80040A6C 0003C98C C0 61 00 28 */ lfs f3, 0x28(r1)
|
|
/* 80040A70 0003C990 FC C1 00 32 */ fmul f6, f1, f0
|
|
/* 80040A74 0003C994 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 80040A78 0003C998 C0 21 00 30 */ lfs f1, 0x30(r1)
|
|
/* 80040A7C 0003C99C FC C0 30 18 */ frsp f6, f6
|
|
/* 80040A80 0003C9A0 EC 86 20 28 */ fsubs f4, f6, f4
|
|
/* 80040A84 0003C9A4 EC E4 28 24 */ fdivs f7, f4, f5
|
|
/* 80040A88 0003C9A8 EC 42 01 F2 */ fmuls f2, f2, f7
|
|
/* 80040A8C 0003C9AC EC 00 01 F2 */ fmuls f0, f0, f7
|
|
/* 80040A90 0003C9B0 EC 43 10 2A */ fadds f2, f3, f2
|
|
/* 80040A94 0003C9B4 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80040A98 0003C9B8 D0 41 00 34 */ stfs f2, 0x34(r1)
|
|
/* 80040A9C 0003C9BC D0 C1 00 38 */ stfs f6, 0x38(r1)
|
|
/* 80040AA0 0003C9C0 D0 01 00 3C */ stfs f0, 0x3c(r1)
|
|
/* 80040AA4 0003C9C4 C0 01 00 3C */ lfs f0, 0x3c(r1)
|
|
/* 80040AA8 0003C9C8 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 80040AAC 0003C9CC EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 80040AB0 0003C9D0 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 80040AB4 0003C9D4 C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 80040AB8 0003C9D8 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 80040ABC 0003C9DC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80040AC0 0003C9E0 40 81 00 0C */ ble lbl_80040ACC
|
|
/* 80040AC4 0003C9E4 38 60 00 00 */ li r3, 0
|
|
/* 80040AC8 0003C9E8 48 00 00 3C */ b lbl_80040B04
|
|
lbl_80040ACC:
|
|
/* 80040ACC 0003C9EC 38 61 00 34 */ addi r3, r1, 0x34
|
|
/* 80040AD0 0003C9F0 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 80040AD4 0003C9F4 4B FC 73 59 */ bl mathutil_mtxA_tf_point
|
|
/* 80040AD8 0003C9F8 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040ADC 0003C9FC 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 80040AE0 0003CA00 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 80040AE4 0003CA04 D0 3F 00 00 */ stfs f1, 0(r31)
|
|
/* 80040AE8 0003CA08 C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 80040AEC 0003CA0C D0 1F 00 04 */ stfs f0, 4(r31)
|
|
/* 80040AF0 0003CA10 D0 3F 00 08 */ stfs f1, 8(r31)
|
|
/* 80040AF4 0003CA14 4B FC 73 49 */ bl mathutil_mtxA_tf_vec
|
|
/* 80040AF8 0003CA18 38 60 00 01 */ li r3, 1
|
|
/* 80040AFC 0003CA1C 48 00 00 08 */ b lbl_80040B04
|
|
lbl_80040B00:
|
|
/* 80040B00 0003CA20 38 60 00 00 */ li r3, 0
|
|
lbl_80040B04:
|
|
/* 80040B04 0003CA24 BB 61 00 44 */ lmw r27, 0x44(r1)
|
|
/* 80040B08 0003CA28 80 01 00 6C */ lwz r0, 0x6c(r1)
|
|
/* 80040B0C 0003CA2C CB E1 00 60 */ lfd f31, 0x60(r1)
|
|
/* 80040B10 0003CA30 CB C1 00 58 */ lfd f30, 0x58(r1)
|
|
/* 80040B14 0003CA34 7C 08 03 A6 */ mtlr r0
|
|
/* 80040B18 0003CA38 38 21 00 68 */ addi r1, r1, 0x68
|
|
/* 80040B1C 0003CA3C 4E 80 00 20 */ blr
|
|
|
|
.global func_80040B20
|
|
func_80040B20:
|
|
/* 80040B20 0003CA40 7C 08 02 A6 */ mflr r0
|
|
/* 80040B24 0003CA44 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80040B28 0003CA48 94 21 FF 78 */ stwu r1, -0x88(r1)
|
|
/* 80040B2C 0003CA4C DB E1 00 80 */ stfd f31, 0x80(r1)
|
|
/* 80040B30 0003CA50 93 E1 00 7C */ stw r31, 0x7c(r1)
|
|
/* 80040B34 0003CA54 93 C1 00 78 */ stw r30, 0x78(r1)
|
|
/* 80040B38 0003CA58 3B C4 00 00 */ addi r30, r4, 0
|
|
/* 80040B3C 0003CA5C 93 A1 00 74 */ stw r29, 0x74(r1)
|
|
/* 80040B40 0003CA60 3B A3 00 00 */ addi r29, r3, 0
|
|
/* 80040B44 0003CA64 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 80040B48 0003CA68 4B FC 6A 75 */ bl mathutil_mtxA_from_translate
|
|
/* 80040B4C 0003CA6C A8 7E 00 10 */ lha r3, 0x10(r30)
|
|
/* 80040B50 0003CA70 4B FC 75 39 */ bl mathutil_mtxA_rotate_z
|
|
/* 80040B54 0003CA74 A8 7E 00 0E */ lha r3, 0xe(r30)
|
|
/* 80040B58 0003CA78 4B FC 74 A5 */ bl mathutil_mtxA_rotate_y
|
|
/* 80040B5C 0003CA7C A8 7E 00 0C */ lha r3, 0xc(r30)
|
|
/* 80040B60 0003CA80 4B FC 74 29 */ bl mathutil_mtxA_rotate_x
|
|
/* 80040B64 0003CA84 80 6D 99 24 */ lwz r3, lbl_802F1B04@sda21(r13)
|
|
/* 80040B68 0003CA88 38 81 00 48 */ addi r4, r1, 0x48
|
|
/* 80040B6C 0003CA8C 80 63 00 14 */ lwz r3, 0x14(r3)
|
|
/* 80040B70 0003CA90 C3 E3 00 14 */ lfs f31, 0x14(r3)
|
|
/* 80040B74 0003CA94 38 63 00 08 */ addi r3, r3, 8
|
|
/* 80040B78 0003CA98 4B FC 72 B5 */ bl mathutil_mtxA_tf_point
|
|
/* 80040B7C 0003CA9C 38 7D 00 04 */ addi r3, r29, 4
|
|
/* 80040B80 0003CAA0 3B E1 00 48 */ addi r31, r1, 0x48
|
|
/* 80040B84 0003CAA4 C0 A1 00 48 */ lfs f5, 0x48(r1)
|
|
/* 80040B88 0003CAA8 C0 43 00 00 */ lfs f2, 0(r3)
|
|
/* 80040B8C 0003CAAC C0 81 00 4C */ lfs f4, 0x4c(r1)
|
|
/* 80040B90 0003CAB0 C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 80040B94 0003CAB4 C0 61 00 50 */ lfs f3, 0x50(r1)
|
|
/* 80040B98 0003CAB8 C0 03 00 08 */ lfs f0, 8(r3)
|
|
/* 80040B9C 0003CABC EC A5 10 28 */ fsubs f5, f5, f2
|
|
/* 80040BA0 0003CAC0 EC 84 08 28 */ fsubs f4, f4, f1
|
|
/* 80040BA4 0003CAC4 EC 63 00 28 */ fsubs f3, f3, f0
|
|
/* 80040BA8 0003CAC8 EC 25 01 72 */ fmuls f1, f5, f5
|
|
/* 80040BAC 0003CACC EC 24 09 3A */ fmadds f1, f4, f4, f1
|
|
/* 80040BB0 0003CAD0 EC 23 08 FA */ fmadds f1, f3, f3, f1
|
|
/* 80040BB4 0003CAD4 4B FC 65 45 */ bl mathutil_sqrt
|
|
/* 80040BB8 0003CAD8 FC 01 F8 40 */ fcmpo cr0, f1, f31
|
|
/* 80040BBC 0003CADC 41 81 01 7C */ bgt lbl_80040D38
|
|
/* 80040BC0 0003CAE0 4B FC 6C 31 */ bl mathutil_mtxA_push
|
|
/* 80040BC4 0003CAE4 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040BC8 0003CAE8 7F E3 FB 78 */ mr r3, r31
|
|
/* 80040BCC 0003CAEC C0 02 8E 78 */ lfs f0, lbl_802F3678-_SDA2_BASE_(r2)
|
|
/* 80040BD0 0003CAF0 38 81 00 2C */ addi r4, r1, 0x2c
|
|
/* 80040BD4 0003CAF4 D0 21 00 48 */ stfs f1, 0x48(r1)
|
|
/* 80040BD8 0003CAF8 D0 01 00 4C */ stfs f0, 0x4c(r1)
|
|
/* 80040BDC 0003CAFC D0 21 00 50 */ stfs f1, 0x50(r1)
|
|
/* 80040BE0 0003CB00 4B FC 72 4D */ bl mathutil_mtxA_tf_point
|
|
/* 80040BE4 0003CB04 C0 22 8E 7C */ lfs f1, lbl_802F367C-_SDA2_BASE_(r2)
|
|
/* 80040BE8 0003CB08 7F A3 EB 78 */ mr r3, r29
|
|
/* 80040BEC 0003CB0C C0 02 8E 80 */ lfs f0, lbl_802F3680-_SDA2_BASE_(r2)
|
|
/* 80040BF0 0003CB10 38 81 00 2C */ addi r4, r1, 0x2c
|
|
/* 80040BF4 0003CB14 D0 21 00 38 */ stfs f1, 0x38(r1)
|
|
/* 80040BF8 0003CB18 D0 01 00 3C */ stfs f0, 0x3c(r1)
|
|
/* 80040BFC 0003CB1C A8 1E 00 0C */ lha r0, 0xc(r30)
|
|
/* 80040C00 0003CB20 B0 01 00 40 */ sth r0, 0x40(r1)
|
|
/* 80040C04 0003CB24 A8 1E 00 0E */ lha r0, 0xe(r30)
|
|
/* 80040C08 0003CB28 B0 01 00 42 */ sth r0, 0x42(r1)
|
|
/* 80040C0C 0003CB2C A8 1E 00 10 */ lha r0, 0x10(r30)
|
|
/* 80040C10 0003CB30 B0 01 00 44 */ sth r0, 0x44(r1)
|
|
/* 80040C14 0003CB34 48 00 03 29 */ bl func_80040F3C
|
|
/* 80040C18 0003CB38 4B FC 6C 1D */ bl mathutil_mtxA_pop
|
|
/* 80040C1C 0003CB3C 4B FC 6B D5 */ bl mathutil_mtxA_push
|
|
/* 80040C20 0003CB40 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040C24 0003CB44 7F E3 FB 78 */ mr r3, r31
|
|
/* 80040C28 0003CB48 C0 02 8E 78 */ lfs f0, lbl_802F3678-_SDA2_BASE_(r2)
|
|
/* 80040C2C 0003CB4C 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 80040C30 0003CB50 D0 21 00 48 */ stfs f1, 0x48(r1)
|
|
/* 80040C34 0003CB54 D0 01 00 4C */ stfs f0, 0x4c(r1)
|
|
/* 80040C38 0003CB58 D0 21 00 50 */ stfs f1, 0x50(r1)
|
|
/* 80040C3C 0003CB5C 4B FC 71 F1 */ bl mathutil_mtxA_tf_point
|
|
/* 80040C40 0003CB60 C0 22 8E 7C */ lfs f1, lbl_802F367C-_SDA2_BASE_(r2)
|
|
/* 80040C44 0003CB64 7F A3 EB 78 */ mr r3, r29
|
|
/* 80040C48 0003CB68 C0 02 8E 80 */ lfs f0, lbl_802F3680-_SDA2_BASE_(r2)
|
|
/* 80040C4C 0003CB6C 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 80040C50 0003CB70 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 80040C54 0003CB74 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 80040C58 0003CB78 A8 1E 00 0C */ lha r0, 0xc(r30)
|
|
/* 80040C5C 0003CB7C B0 01 00 24 */ sth r0, 0x24(r1)
|
|
/* 80040C60 0003CB80 A8 1E 00 0E */ lha r0, 0xe(r30)
|
|
/* 80040C64 0003CB84 B0 01 00 26 */ sth r0, 0x26(r1)
|
|
/* 80040C68 0003CB88 A8 1E 00 10 */ lha r0, 0x10(r30)
|
|
/* 80040C6C 0003CB8C B0 01 00 28 */ sth r0, 0x28(r1)
|
|
/* 80040C70 0003CB90 48 00 03 95 */ bl func_80041004
|
|
/* 80040C74 0003CB94 4B FC 6B C1 */ bl mathutil_mtxA_pop
|
|
/* 80040C78 0003CB98 4B FC 6B 79 */ bl mathutil_mtxA_push
|
|
/* 80040C7C 0003CB9C C0 02 8E 84 */ lfs f0, lbl_802F3684-_SDA2_BASE_(r2)
|
|
/* 80040C80 0003CBA0 7F E3 FB 78 */ mr r3, r31
|
|
/* 80040C84 0003CBA4 C0 22 8E 88 */ lfs f1, lbl_802F3688-_SDA2_BASE_(r2)
|
|
/* 80040C88 0003CBA8 38 81 00 54 */ addi r4, r1, 0x54
|
|
/* 80040C8C 0003CBAC D0 01 00 48 */ stfs f0, 0x48(r1)
|
|
/* 80040C90 0003CBB0 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040C94 0003CBB4 D0 21 00 4C */ stfs f1, 0x4c(r1)
|
|
/* 80040C98 0003CBB8 D0 01 00 50 */ stfs f0, 0x50(r1)
|
|
/* 80040C9C 0003CBBC 4B FC 71 91 */ bl mathutil_mtxA_tf_point
|
|
/* 80040CA0 0003CBC0 A8 1E 00 0C */ lha r0, 0xc(r30)
|
|
/* 80040CA4 0003CBC4 7F A3 EB 78 */ mr r3, r29
|
|
/* 80040CA8 0003CBC8 C0 22 8E 8C */ lfs f1, lbl_802F368C-_SDA2_BASE_(r2)
|
|
/* 80040CAC 0003CBCC 38 81 00 54 */ addi r4, r1, 0x54
|
|
/* 80040CB0 0003CBD0 B0 01 00 68 */ sth r0, 0x68(r1)
|
|
/* 80040CB4 0003CBD4 C0 02 8E 90 */ lfs f0, lbl_802F3690-_SDA2_BASE_(r2)
|
|
/* 80040CB8 0003CBD8 A8 1E 00 0E */ lha r0, 0xe(r30)
|
|
/* 80040CBC 0003CBDC B0 01 00 6A */ sth r0, 0x6a(r1)
|
|
/* 80040CC0 0003CBE0 A8 1E 00 10 */ lha r0, 0x10(r30)
|
|
/* 80040CC4 0003CBE4 B0 01 00 6C */ sth r0, 0x6c(r1)
|
|
/* 80040CC8 0003CBE8 D0 21 00 60 */ stfs f1, 0x60(r1)
|
|
/* 80040CCC 0003CBEC D0 01 00 64 */ stfs f0, 0x64(r1)
|
|
/* 80040CD0 0003CBF0 4B FF E0 E1 */ bl func_8003EDB0
|
|
/* 80040CD4 0003CBF4 4B FC 6B 61 */ bl mathutil_mtxA_pop
|
|
/* 80040CD8 0003CBF8 4B FC 6B 19 */ bl mathutil_mtxA_push
|
|
/* 80040CDC 0003CBFC C0 02 8E 94 */ lfs f0, lbl_802F3694-_SDA2_BASE_(r2)
|
|
/* 80040CE0 0003CC00 7F E3 FB 78 */ mr r3, r31
|
|
/* 80040CE4 0003CC04 C0 22 8E 88 */ lfs f1, lbl_802F3688-_SDA2_BASE_(r2)
|
|
/* 80040CE8 0003CC08 38 81 00 54 */ addi r4, r1, 0x54
|
|
/* 80040CEC 0003CC0C D0 01 00 48 */ stfs f0, 0x48(r1)
|
|
/* 80040CF0 0003CC10 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040CF4 0003CC14 D0 21 00 4C */ stfs f1, 0x4c(r1)
|
|
/* 80040CF8 0003CC18 D0 01 00 50 */ stfs f0, 0x50(r1)
|
|
/* 80040CFC 0003CC1C 4B FC 71 31 */ bl mathutil_mtxA_tf_point
|
|
/* 80040D00 0003CC20 A8 1E 00 0C */ lha r0, 0xc(r30)
|
|
/* 80040D04 0003CC24 7F A3 EB 78 */ mr r3, r29
|
|
/* 80040D08 0003CC28 C0 22 8E 8C */ lfs f1, lbl_802F368C-_SDA2_BASE_(r2)
|
|
/* 80040D0C 0003CC2C 38 81 00 54 */ addi r4, r1, 0x54
|
|
/* 80040D10 0003CC30 B0 01 00 68 */ sth r0, 0x68(r1)
|
|
/* 80040D14 0003CC34 C0 02 8E 90 */ lfs f0, lbl_802F3690-_SDA2_BASE_(r2)
|
|
/* 80040D18 0003CC38 A8 1E 00 0E */ lha r0, 0xe(r30)
|
|
/* 80040D1C 0003CC3C B0 01 00 6A */ sth r0, 0x6a(r1)
|
|
/* 80040D20 0003CC40 A8 1E 00 10 */ lha r0, 0x10(r30)
|
|
/* 80040D24 0003CC44 B0 01 00 6C */ sth r0, 0x6c(r1)
|
|
/* 80040D28 0003CC48 D0 21 00 60 */ stfs f1, 0x60(r1)
|
|
/* 80040D2C 0003CC4C D0 01 00 64 */ stfs f0, 0x64(r1)
|
|
/* 80040D30 0003CC50 4B FF E0 81 */ bl func_8003EDB0
|
|
/* 80040D34 0003CC54 4B FC 6B 01 */ bl mathutil_mtxA_pop
|
|
lbl_80040D38:
|
|
/* 80040D38 0003CC58 80 01 00 8C */ lwz r0, 0x8c(r1)
|
|
/* 80040D3C 0003CC5C CB E1 00 80 */ lfd f31, 0x80(r1)
|
|
/* 80040D40 0003CC60 83 E1 00 7C */ lwz r31, 0x7c(r1)
|
|
/* 80040D44 0003CC64 7C 08 03 A6 */ mtlr r0
|
|
/* 80040D48 0003CC68 83 C1 00 78 */ lwz r30, 0x78(r1)
|
|
/* 80040D4C 0003CC6C 83 A1 00 74 */ lwz r29, 0x74(r1)
|
|
/* 80040D50 0003CC70 38 21 00 88 */ addi r1, r1, 0x88
|
|
/* 80040D54 0003CC74 4E 80 00 20 */ blr
|
|
|
|
.global func_80040D58
|
|
func_80040D58:
|
|
/* 80040D58 0003CC78 7C 08 02 A6 */ mflr r0
|
|
/* 80040D5C 0003CC7C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80040D60 0003CC80 94 21 FF 88 */ stwu r1, -0x78(r1)
|
|
/* 80040D64 0003CC84 DB E1 00 70 */ stfd f31, 0x70(r1)
|
|
/* 80040D68 0003CC88 DB C1 00 68 */ stfd f30, 0x68(r1)
|
|
/* 80040D6C 0003CC8C 93 E1 00 64 */ stw r31, 0x64(r1)
|
|
/* 80040D70 0003CC90 93 C1 00 60 */ stw r30, 0x60(r1)
|
|
/* 80040D74 0003CC94 7C 9E 23 78 */ mr r30, r4
|
|
/* 80040D78 0003CC98 93 A1 00 5C */ stw r29, 0x5c(r1)
|
|
/* 80040D7C 0003CC9C 7C 7D 1B 78 */ mr r29, r3
|
|
/* 80040D80 0003CCA0 3B FD 00 04 */ addi r31, r29, 4
|
|
/* 80040D84 0003CCA4 C0 44 00 0C */ lfs f2, 0xc(r4)
|
|
/* 80040D88 0003CCA8 C0 04 00 10 */ lfs f0, 0x10(r4)
|
|
/* 80040D8C 0003CCAC C0 63 00 28 */ lfs f3, 0x28(r3)
|
|
/* 80040D90 0003CCB0 EC 22 00 2A */ fadds f1, f2, f0
|
|
/* 80040D94 0003CCB4 EC 02 00 28 */ fsubs f0, f2, f0
|
|
/* 80040D98 0003CCB8 EF E3 08 2A */ fadds f31, f3, f1
|
|
/* 80040D9C 0003CCBC EF C0 18 28 */ fsubs f30, f0, f3
|
|
/* 80040DA0 0003CCC0 C0 BF 00 00 */ lfs f5, 0(r31)
|
|
/* 80040DA4 0003CCC4 C0 5E 00 00 */ lfs f2, 0(r30)
|
|
/* 80040DA8 0003CCC8 C0 9F 00 04 */ lfs f4, 4(r31)
|
|
/* 80040DAC 0003CCCC C0 3E 00 04 */ lfs f1, 4(r30)
|
|
/* 80040DB0 0003CCD0 C0 7F 00 08 */ lfs f3, 8(r31)
|
|
/* 80040DB4 0003CCD4 C0 1E 00 08 */ lfs f0, 8(r30)
|
|
/* 80040DB8 0003CCD8 EC A5 10 28 */ fsubs f5, f5, f2
|
|
/* 80040DBC 0003CCDC EC 84 08 28 */ fsubs f4, f4, f1
|
|
/* 80040DC0 0003CCE0 EC 63 00 28 */ fsubs f3, f3, f0
|
|
/* 80040DC4 0003CCE4 EC 25 01 72 */ fmuls f1, f5, f5
|
|
/* 80040DC8 0003CCE8 EC 24 09 3A */ fmadds f1, f4, f4, f1
|
|
/* 80040DCC 0003CCEC EC 23 08 FA */ fmadds f1, f3, f3, f1
|
|
/* 80040DD0 0003CCF0 4B FC 63 29 */ bl mathutil_sqrt
|
|
/* 80040DD4 0003CCF4 FC 01 F8 40 */ fcmpo cr0, f1, f31
|
|
/* 80040DD8 0003CCF8 41 81 01 40 */ bgt lbl_80040F18
|
|
/* 80040DDC 0003CCFC FC 01 F0 40 */ fcmpo cr0, f1, f30
|
|
/* 80040DE0 0003CD00 40 80 00 08 */ bge lbl_80040DE8
|
|
/* 80040DE4 0003CD04 48 00 01 34 */ b lbl_80040F18
|
|
lbl_80040DE8:
|
|
/* 80040DE8 0003CD08 7F C3 F3 78 */ mr r3, r30
|
|
/* 80040DEC 0003CD0C 4B FC 67 D1 */ bl mathutil_mtxA_from_translate
|
|
/* 80040DF0 0003CD10 A8 7E 00 18 */ lha r3, 0x18(r30)
|
|
/* 80040DF4 0003CD14 4B FC 72 95 */ bl mathutil_mtxA_rotate_z
|
|
/* 80040DF8 0003CD18 A8 7E 00 16 */ lha r3, 0x16(r30)
|
|
/* 80040DFC 0003CD1C 4B FC 72 01 */ bl mathutil_mtxA_rotate_y
|
|
/* 80040E00 0003CD20 A8 7E 00 14 */ lha r3, 0x14(r30)
|
|
/* 80040E04 0003CD24 4B FC 71 85 */ bl mathutil_mtxA_rotate_x
|
|
/* 80040E08 0003CD28 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 80040E0C 0003CD2C 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 80040E10 0003CD30 4B FC 70 BD */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80040E14 0003CD34 38 7D 00 10 */ addi r3, r29, 0x10
|
|
/* 80040E18 0003CD38 38 81 00 28 */ addi r4, r1, 0x28
|
|
/* 80040E1C 0003CD3C 4B FC 70 B1 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80040E20 0003CD40 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 80040E24 0003CD44 38 61 00 40 */ addi r3, r1, 0x40
|
|
/* 80040E28 0003CD48 C0 01 00 28 */ lfs f0, 0x28(r1)
|
|
/* 80040E2C 0003CD4C 7C 64 1B 78 */ mr r4, r3
|
|
/* 80040E30 0003CD50 C0 41 00 38 */ lfs f2, 0x38(r1)
|
|
/* 80040E34 0003CD54 EC 61 00 2A */ fadds f3, f1, f0
|
|
/* 80040E38 0003CD58 C0 21 00 2C */ lfs f1, 0x2c(r1)
|
|
/* 80040E3C 0003CD5C C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040E40 0003CD60 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 80040E44 0003CD64 D0 61 00 40 */ stfs f3, 0x40(r1)
|
|
/* 80040E48 0003CD68 D0 21 00 44 */ stfs f1, 0x44(r1)
|
|
/* 80040E4C 0003CD6C D0 01 00 48 */ stfs f0, 0x48(r1)
|
|
/* 80040E50 0003CD70 C0 3E 00 0C */ lfs f1, 0xc(r30)
|
|
/* 80040E54 0003CD74 4B FC 73 21 */ bl mathutil_vec_set_len
|
|
/* 80040E58 0003CD78 38 A1 00 40 */ addi r5, r1, 0x40
|
|
/* 80040E5C 0003CD7C C0 3D 00 28 */ lfs f1, 0x28(r29)
|
|
/* 80040E60 0003CD80 C0 5E 00 10 */ lfs f2, 0x10(r30)
|
|
/* 80040E64 0003CD84 38 C5 00 00 */ addi r6, r5, 0
|
|
/* 80040E68 0003CD88 38 61 00 28 */ addi r3, r1, 0x28
|
|
/* 80040E6C 0003CD8C 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 80040E70 0003CD90 48 02 9B 49 */ bl func_8006A9B8
|
|
/* 80040E74 0003CD94 28 03 00 00 */ cmplwi r3, 0
|
|
/* 80040E78 0003CD98 41 82 00 A0 */ beq lbl_80040F18
|
|
/* 80040E7C 0003CD9C C0 21 00 28 */ lfs f1, 0x28(r1)
|
|
/* 80040E80 0003CDA0 38 61 00 4C */ addi r3, r1, 0x4c
|
|
/* 80040E84 0003CDA4 C0 01 00 40 */ lfs f0, 0x40(r1)
|
|
/* 80040E88 0003CDA8 C0 61 00 2C */ lfs f3, 0x2c(r1)
|
|
/* 80040E8C 0003CDAC EC 81 00 28 */ fsubs f4, f1, f0
|
|
/* 80040E90 0003CDB0 C0 41 00 44 */ lfs f2, 0x44(r1)
|
|
/* 80040E94 0003CDB4 C0 21 00 30 */ lfs f1, 0x30(r1)
|
|
/* 80040E98 0003CDB8 C0 01 00 48 */ lfs f0, 0x48(r1)
|
|
/* 80040E9C 0003CDBC EC 43 10 28 */ fsubs f2, f3, f2
|
|
/* 80040EA0 0003CDC0 D0 81 00 4C */ stfs f4, 0x4c(r1)
|
|
/* 80040EA4 0003CDC4 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80040EA8 0003CDC8 D0 41 00 50 */ stfs f2, 0x50(r1)
|
|
/* 80040EAC 0003CDCC D0 01 00 54 */ stfs f0, 0x54(r1)
|
|
/* 80040EB0 0003CDD0 4B FC 72 4D */ bl mathutil_vec_normalize_len
|
|
/* 80040EB4 0003CDD4 38 61 00 4C */ addi r3, r1, 0x4c
|
|
/* 80040EB8 0003CDD8 38 81 00 1C */ addi r4, r1, 0x1c
|
|
/* 80040EBC 0003CDDC 4B FC 6F 81 */ bl mathutil_mtxA_tf_vec
|
|
/* 80040EC0 0003CDE0 C3 FE 00 10 */ lfs f31, 0x10(r30)
|
|
/* 80040EC4 0003CDE4 38 61 00 40 */ addi r3, r1, 0x40
|
|
/* 80040EC8 0003CDE8 C0 01 00 4C */ lfs f0, 0x4c(r1)
|
|
/* 80040ECC 0003CDEC 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 80040ED0 0003CDF0 C0 21 00 50 */ lfs f1, 0x50(r1)
|
|
/* 80040ED4 0003CDF4 EC 40 07 F2 */ fmuls f2, f0, f31
|
|
/* 80040ED8 0003CDF8 C0 61 00 40 */ lfs f3, 0x40(r1)
|
|
/* 80040EDC 0003CDFC C0 01 00 54 */ lfs f0, 0x54(r1)
|
|
/* 80040EE0 0003CE00 EC 21 07 F2 */ fmuls f1, f1, f31
|
|
/* 80040EE4 0003CE04 EC 43 10 2A */ fadds f2, f3, f2
|
|
/* 80040EE8 0003CE08 EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 80040EEC 0003CE0C D0 41 00 40 */ stfs f2, 0x40(r1)
|
|
/* 80040EF0 0003CE10 C0 41 00 44 */ lfs f2, 0x44(r1)
|
|
/* 80040EF4 0003CE14 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 80040EF8 0003CE18 D0 21 00 44 */ stfs f1, 0x44(r1)
|
|
/* 80040EFC 0003CE1C C0 21 00 48 */ lfs f1, 0x48(r1)
|
|
/* 80040F00 0003CE20 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80040F04 0003CE24 D0 01 00 48 */ stfs f0, 0x48(r1)
|
|
/* 80040F08 0003CE28 4B FC 6F 25 */ bl mathutil_mtxA_tf_point
|
|
/* 80040F0C 0003CE2C 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 80040F10 0003CE30 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 80040F14 0003CE34 4B FF E6 F5 */ bl func_8003F608
|
|
lbl_80040F18:
|
|
/* 80040F18 0003CE38 80 01 00 7C */ lwz r0, 0x7c(r1)
|
|
/* 80040F1C 0003CE3C CB E1 00 70 */ lfd f31, 0x70(r1)
|
|
/* 80040F20 0003CE40 CB C1 00 68 */ lfd f30, 0x68(r1)
|
|
/* 80040F24 0003CE44 7C 08 03 A6 */ mtlr r0
|
|
/* 80040F28 0003CE48 83 E1 00 64 */ lwz r31, 0x64(r1)
|
|
/* 80040F2C 0003CE4C 83 C1 00 60 */ lwz r30, 0x60(r1)
|
|
/* 80040F30 0003CE50 83 A1 00 5C */ lwz r29, 0x5c(r1)
|
|
/* 80040F34 0003CE54 38 21 00 78 */ addi r1, r1, 0x78
|
|
/* 80040F38 0003CE58 4E 80 00 20 */ blr
|
|
|
|
.global func_80040F3C
|
|
func_80040F3C:
|
|
/* 80040F3C 0003CE5C 7C 08 02 A6 */ mflr r0
|
|
/* 80040F40 0003CE60 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80040F44 0003CE64 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 80040F48 0003CE68 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 80040F4C 0003CE6C 7C 9F 23 78 */ mr r31, r4
|
|
/* 80040F50 0003CE70 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 80040F54 0003CE74 7C 7E 1B 78 */ mr r30, r3
|
|
/* 80040F58 0003CE78 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 80040F5C 0003CE7C C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80040F60 0003CE80 7C 64 1B 78 */ mr r4, r3
|
|
/* 80040F64 0003CE84 C0 02 8E 38 */ lfs f0, lbl_802F3638-_SDA2_BASE_(r2)
|
|
/* 80040F68 0003CE88 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
|
/* 80040F6C 0003CE8C D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 80040F70 0003CE90 D0 21 00 24 */ stfs f1, 0x24(r1)
|
|
/* 80040F74 0003CE94 4B FC 6E C9 */ bl mathutil_mtxA_tf_vec
|
|
/* 80040F78 0003CE98 C0 3E 00 04 */ lfs f1, 4(r30)
|
|
/* 80040F7C 0003CE9C 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 80040F80 0003CEA0 C0 1F 00 00 */ lfs f0, 0(r31)
|
|
/* 80040F84 0003CEA4 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80040F88 0003CEA8 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 80040F8C 0003CEAC C0 3E 00 08 */ lfs f1, 8(r30)
|
|
/* 80040F90 0003CEB0 C0 1F 00 04 */ lfs f0, 4(r31)
|
|
/* 80040F94 0003CEB4 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80040F98 0003CEB8 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 80040F9C 0003CEBC C0 3E 00 0C */ lfs f1, 0xc(r30)
|
|
/* 80040FA0 0003CEC0 C0 1F 00 08 */ lfs f0, 8(r31)
|
|
/* 80040FA4 0003CEC4 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80040FA8 0003CEC8 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 80040FAC 0003CECC 4B FC 71 51 */ bl mathutil_vec_normalize_len
|
|
/* 80040FB0 0003CED0 C0 A1 00 1C */ lfs f5, 0x1c(r1)
|
|
/* 80040FB4 0003CED4 C0 41 00 10 */ lfs f2, 0x10(r1)
|
|
/* 80040FB8 0003CED8 C0 81 00 20 */ lfs f4, 0x20(r1)
|
|
/* 80040FBC 0003CEDC C0 21 00 14 */ lfs f1, 0x14(r1)
|
|
/* 80040FC0 0003CEE0 C0 61 00 24 */ lfs f3, 0x24(r1)
|
|
/* 80040FC4 0003CEE4 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 80040FC8 0003CEE8 EC 45 00 B2 */ fmuls f2, f5, f2
|
|
/* 80040FCC 0003CEEC EC 44 10 7A */ fmadds f2, f4, f1, f2
|
|
/* 80040FD0 0003CEF0 EC 43 10 3A */ fmadds f2, f3, f0, f2
|
|
/* 80040FD4 0003CEF4 C8 02 8E 98 */ lfd f0, lbl_802F3698-_SDA2_BASE_(r2)
|
|
/* 80040FD8 0003CEF8 FC 02 00 40 */ fcmpo cr0, f2, f0
|
|
/* 80040FDC 0003CEFC 41 81 00 10 */ bgt lbl_80040FEC
|
|
/* 80040FE0 0003CF00 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 80040FE4 0003CF04 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 80040FE8 0003CF08 4B FF FD 71 */ bl func_80040D58
|
|
lbl_80040FEC:
|
|
/* 80040FEC 0003CF0C 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80040FF0 0003CF10 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 80040FF4 0003CF14 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 80040FF8 0003CF18 7C 08 03 A6 */ mtlr r0
|
|
/* 80040FFC 0003CF1C 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80041000 0003CF20 4E 80 00 20 */ blr
|
|
|
|
.global func_80041004
|
|
func_80041004:
|
|
/* 80041004 0003CF24 7C 08 02 A6 */ mflr r0
|
|
/* 80041008 0003CF28 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8004100C 0003CF2C 94 21 FF 90 */ stwu r1, -0x70(r1)
|
|
/* 80041010 0003CF30 DB E1 00 68 */ stfd f31, 0x68(r1)
|
|
/* 80041014 0003CF34 93 E1 00 64 */ stw r31, 0x64(r1)
|
|
/* 80041018 0003CF38 93 C1 00 60 */ stw r30, 0x60(r1)
|
|
/* 8004101C 0003CF3C 7C 9E 23 78 */ mr r30, r4
|
|
/* 80041020 0003CF40 93 A1 00 5C */ stw r29, 0x5c(r1)
|
|
/* 80041024 0003CF44 7C 7D 1B 78 */ mr r29, r3
|
|
/* 80041028 0003CF48 3B FD 00 04 */ addi r31, r29, 4
|
|
/* 8004102C 0003CF4C C0 24 00 0C */ lfs f1, 0xc(r4)
|
|
/* 80041030 0003CF50 C0 04 00 10 */ lfs f0, 0x10(r4)
|
|
/* 80041034 0003CF54 C0 43 00 28 */ lfs f2, 0x28(r3)
|
|
/* 80041038 0003CF58 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 8004103C 0003CF5C EF E2 00 2A */ fadds f31, f2, f0
|
|
/* 80041040 0003CF60 C0 BF 00 00 */ lfs f5, 0(r31)
|
|
/* 80041044 0003CF64 C0 5E 00 00 */ lfs f2, 0(r30)
|
|
/* 80041048 0003CF68 C0 9F 00 04 */ lfs f4, 4(r31)
|
|
/* 8004104C 0003CF6C C0 3E 00 04 */ lfs f1, 4(r30)
|
|
/* 80041050 0003CF70 C0 7F 00 08 */ lfs f3, 8(r31)
|
|
/* 80041054 0003CF74 C0 1E 00 08 */ lfs f0, 8(r30)
|
|
/* 80041058 0003CF78 EC A5 10 28 */ fsubs f5, f5, f2
|
|
/* 8004105C 0003CF7C EC 84 08 28 */ fsubs f4, f4, f1
|
|
/* 80041060 0003CF80 EC 63 00 28 */ fsubs f3, f3, f0
|
|
/* 80041064 0003CF84 EC 25 01 72 */ fmuls f1, f5, f5
|
|
/* 80041068 0003CF88 EC 24 09 3A */ fmadds f1, f4, f4, f1
|
|
/* 8004106C 0003CF8C EC 23 08 FA */ fmadds f1, f3, f3, f1
|
|
/* 80041070 0003CF90 4B FC 60 89 */ bl mathutil_sqrt
|
|
/* 80041074 0003CF94 FC 01 F8 40 */ fcmpo cr0, f1, f31
|
|
/* 80041078 0003CF98 41 81 01 94 */ bgt lbl_8004120C
|
|
/* 8004107C 0003CF9C 7F C3 F3 78 */ mr r3, r30
|
|
/* 80041080 0003CFA0 4B FC 65 3D */ bl mathutil_mtxA_from_translate
|
|
/* 80041084 0003CFA4 A8 7E 00 18 */ lha r3, 0x18(r30)
|
|
/* 80041088 0003CFA8 4B FC 70 01 */ bl mathutil_mtxA_rotate_z
|
|
/* 8004108C 0003CFAC A8 7E 00 16 */ lha r3, 0x16(r30)
|
|
/* 80041090 0003CFB0 4B FC 6F 6D */ bl mathutil_mtxA_rotate_y
|
|
/* 80041094 0003CFB4 A8 7E 00 14 */ lha r3, 0x14(r30)
|
|
/* 80041098 0003CFB8 4B FC 6E F1 */ bl mathutil_mtxA_rotate_x
|
|
/* 8004109C 0003CFBC 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 800410A0 0003CFC0 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 800410A4 0003CFC4 4B FC 6E 29 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 800410A8 0003CFC8 38 7D 00 10 */ addi r3, r29, 0x10
|
|
/* 800410AC 0003CFCC 38 81 00 28 */ addi r4, r1, 0x28
|
|
/* 800410B0 0003CFD0 4B FC 6E 1D */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 800410B4 0003CFD4 C0 61 00 34 */ lfs f3, 0x34(r1)
|
|
/* 800410B8 0003CFD8 C0 41 00 28 */ lfs f2, 0x28(r1)
|
|
/* 800410BC 0003CFDC C0 21 00 38 */ lfs f1, 0x38(r1)
|
|
/* 800410C0 0003CFE0 C0 01 00 2C */ lfs f0, 0x2c(r1)
|
|
/* 800410C4 0003CFE4 EC 63 10 2A */ fadds f3, f3, f2
|
|
/* 800410C8 0003CFE8 C8 82 8E 30 */ lfd f4, lbl_802F3630-_SDA2_BASE_(r2)
|
|
/* 800410CC 0003CFEC EC 41 00 2A */ fadds f2, f1, f0
|
|
/* 800410D0 0003CFF0 C0 22 8E 08 */ lfs f1, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 800410D4 0003CFF4 FC 64 00 F2 */ fmul f3, f4, f3
|
|
/* 800410D8 0003CFF8 C0 02 8E A0 */ lfs f0, lbl_802F36A0-_SDA2_BASE_(r2)
|
|
/* 800410DC 0003CFFC FC 44 00 B2 */ fmul f2, f4, f2
|
|
/* 800410E0 0003D000 FC 60 18 18 */ frsp f3, f3
|
|
/* 800410E4 0003D004 FC 40 10 18 */ frsp f2, f2
|
|
/* 800410E8 0003D008 D0 61 00 40 */ stfs f3, 0x40(r1)
|
|
/* 800410EC 0003D00C D0 41 00 44 */ stfs f2, 0x44(r1)
|
|
/* 800410F0 0003D010 D0 21 00 48 */ stfs f1, 0x48(r1)
|
|
/* 800410F4 0003D014 C0 21 00 44 */ lfs f1, 0x44(r1)
|
|
/* 800410F8 0003D018 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800410FC 0003D01C 40 80 00 08 */ bge lbl_80041104
|
|
/* 80041100 0003D020 D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
lbl_80041104:
|
|
/* 80041104 0003D024 C0 01 00 44 */ lfs f0, 0x44(r1)
|
|
/* 80041108 0003D028 C0 21 00 40 */ lfs f1, 0x40(r1)
|
|
/* 8004110C 0003D02C EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 80041110 0003D030 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 80041114 0003D034 4B FC 5F E5 */ bl mathutil_sqrt
|
|
/* 80041118 0003D038 C0 1E 00 0C */ lfs f0, 0xc(r30)
|
|
/* 8004111C 0003D03C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80041120 0003D040 40 81 00 2C */ ble lbl_8004114C
|
|
/* 80041124 0003D044 EC 20 08 24 */ fdivs f1, f0, f1
|
|
/* 80041128 0003D048 C0 01 00 40 */ lfs f0, 0x40(r1)
|
|
/* 8004112C 0003D04C EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 80041130 0003D050 D0 01 00 40 */ stfs f0, 0x40(r1)
|
|
/* 80041134 0003D054 C0 01 00 44 */ lfs f0, 0x44(r1)
|
|
/* 80041138 0003D058 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 8004113C 0003D05C D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
/* 80041140 0003D060 C0 01 00 48 */ lfs f0, 0x48(r1)
|
|
/* 80041144 0003D064 EC 00 00 72 */ fmuls f0, f0, f1
|
|
/* 80041148 0003D068 D0 01 00 48 */ stfs f0, 0x48(r1)
|
|
lbl_8004114C:
|
|
/* 8004114C 0003D06C 38 A1 00 40 */ addi r5, r1, 0x40
|
|
/* 80041150 0003D070 C0 3D 00 28 */ lfs f1, 0x28(r29)
|
|
/* 80041154 0003D074 C0 5E 00 10 */ lfs f2, 0x10(r30)
|
|
/* 80041158 0003D078 38 C5 00 00 */ addi r6, r5, 0
|
|
/* 8004115C 0003D07C 38 61 00 28 */ addi r3, r1, 0x28
|
|
/* 80041160 0003D080 38 81 00 34 */ addi r4, r1, 0x34
|
|
/* 80041164 0003D084 48 02 98 55 */ bl func_8006A9B8
|
|
/* 80041168 0003D088 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8004116C 0003D08C 41 82 00 A0 */ beq lbl_8004120C
|
|
/* 80041170 0003D090 C0 21 00 28 */ lfs f1, 0x28(r1)
|
|
/* 80041174 0003D094 38 61 00 4C */ addi r3, r1, 0x4c
|
|
/* 80041178 0003D098 C0 01 00 40 */ lfs f0, 0x40(r1)
|
|
/* 8004117C 0003D09C C0 61 00 2C */ lfs f3, 0x2c(r1)
|
|
/* 80041180 0003D0A0 EC 81 00 28 */ fsubs f4, f1, f0
|
|
/* 80041184 0003D0A4 C0 41 00 44 */ lfs f2, 0x44(r1)
|
|
/* 80041188 0003D0A8 C0 21 00 30 */ lfs f1, 0x30(r1)
|
|
/* 8004118C 0003D0AC C0 01 00 48 */ lfs f0, 0x48(r1)
|
|
/* 80041190 0003D0B0 EC 43 10 28 */ fsubs f2, f3, f2
|
|
/* 80041194 0003D0B4 D0 81 00 4C */ stfs f4, 0x4c(r1)
|
|
/* 80041198 0003D0B8 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8004119C 0003D0BC D0 41 00 50 */ stfs f2, 0x50(r1)
|
|
/* 800411A0 0003D0C0 D0 01 00 54 */ stfs f0, 0x54(r1)
|
|
/* 800411A4 0003D0C4 4B FC 6F 59 */ bl mathutil_vec_normalize_len
|
|
/* 800411A8 0003D0C8 38 61 00 4C */ addi r3, r1, 0x4c
|
|
/* 800411AC 0003D0CC 38 81 00 1C */ addi r4, r1, 0x1c
|
|
/* 800411B0 0003D0D0 4B FC 6C 8D */ bl mathutil_mtxA_tf_vec
|
|
/* 800411B4 0003D0D4 C3 FE 00 10 */ lfs f31, 0x10(r30)
|
|
/* 800411B8 0003D0D8 38 61 00 40 */ addi r3, r1, 0x40
|
|
/* 800411BC 0003D0DC C0 01 00 4C */ lfs f0, 0x4c(r1)
|
|
/* 800411C0 0003D0E0 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 800411C4 0003D0E4 C0 21 00 50 */ lfs f1, 0x50(r1)
|
|
/* 800411C8 0003D0E8 EC 40 07 F2 */ fmuls f2, f0, f31
|
|
/* 800411CC 0003D0EC C0 61 00 40 */ lfs f3, 0x40(r1)
|
|
/* 800411D0 0003D0F0 C0 01 00 54 */ lfs f0, 0x54(r1)
|
|
/* 800411D4 0003D0F4 EC 21 07 F2 */ fmuls f1, f1, f31
|
|
/* 800411D8 0003D0F8 EC 43 10 2A */ fadds f2, f3, f2
|
|
/* 800411DC 0003D0FC EC 00 07 F2 */ fmuls f0, f0, f31
|
|
/* 800411E0 0003D100 D0 41 00 40 */ stfs f2, 0x40(r1)
|
|
/* 800411E4 0003D104 C0 41 00 44 */ lfs f2, 0x44(r1)
|
|
/* 800411E8 0003D108 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 800411EC 0003D10C D0 21 00 44 */ stfs f1, 0x44(r1)
|
|
/* 800411F0 0003D110 C0 21 00 48 */ lfs f1, 0x48(r1)
|
|
/* 800411F4 0003D114 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 800411F8 0003D118 D0 01 00 48 */ stfs f0, 0x48(r1)
|
|
/* 800411FC 0003D11C 4B FC 6C 31 */ bl mathutil_mtxA_tf_point
|
|
/* 80041200 0003D120 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 80041204 0003D124 38 81 00 10 */ addi r4, r1, 0x10
|
|
/* 80041208 0003D128 4B FF E4 01 */ bl func_8003F608
|
|
lbl_8004120C:
|
|
/* 8004120C 0003D12C 80 01 00 74 */ lwz r0, 0x74(r1)
|
|
/* 80041210 0003D130 CB E1 00 68 */ lfd f31, 0x68(r1)
|
|
/* 80041214 0003D134 83 E1 00 64 */ lwz r31, 0x64(r1)
|
|
/* 80041218 0003D138 7C 08 03 A6 */ mtlr r0
|
|
/* 8004121C 0003D13C 83 C1 00 60 */ lwz r30, 0x60(r1)
|
|
/* 80041220 0003D140 83 A1 00 5C */ lwz r29, 0x5c(r1)
|
|
/* 80041224 0003D144 38 21 00 70 */ addi r1, r1, 0x70
|
|
/* 80041228 0003D148 4E 80 00 20 */ blr
|
|
|
|
.global func_8004122C
|
|
func_8004122C:
|
|
/* 8004122C 0003D14C 7C 08 02 A6 */ mflr r0
|
|
/* 80041230 0003D150 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80041234 0003D154 94 21 F6 80 */ stwu r1, -0x980(r1)
|
|
/* 80041238 0003D158 DB E1 09 78 */ stfd f31, 0x978(r1)
|
|
/* 8004123C 0003D15C DB C1 09 70 */ stfd f30, 0x970(r1)
|
|
/* 80041240 0003D160 DB A1 09 68 */ stfd f29, 0x968(r1)
|
|
/* 80041244 0003D164 DB 81 09 60 */ stfd f28, 0x960(r1)
|
|
/* 80041248 0003D168 BE 81 09 30 */ stmw r20, 0x930(r1)
|
|
/* 8004124C 0003D16C 7C 76 1B 78 */ mr r22, r3
|
|
/* 80041250 0003D170 C8 22 8E 40 */ lfd f1, lbl_802F3640-_SDA2_BASE_(r2)
|
|
/* 80041254 0003D174 C0 03 00 04 */ lfs f0, 4(r3)
|
|
/* 80041258 0003D178 83 44 00 10 */ lwz r26, 0x10(r4)
|
|
/* 8004125C 0003D17C FC 40 08 28 */ fsub f2, f0, f1
|
|
/* 80041260 0003D180 FC 40 10 18 */ frsp f2, f2
|
|
/* 80041264 0003D184 FC 00 04 8E */ mffs f0
|
|
/* 80041268 0003D188 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 8004126C 0003D18C FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 80041270 0003D190 FC 40 10 1C */ fctiw f2, f2
|
|
/* 80041274 0003D194 D8 41 00 18 */ stfd f2, 0x18(r1)
|
|
/* 80041278 0003D198 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 8004127C 0003D19C 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 80041280 0003D1A0 C0 16 00 0C */ lfs f0, 0xc(r22)
|
|
/* 80041284 0003D1A4 3F 20 43 30 */ lis r25, 0x4330
|
|
/* 80041288 0003D1A8 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8004128C 0003D1AC 90 01 09 2C */ stw r0, 0x92c(r1)
|
|
/* 80041290 0003D1B0 FC 20 08 28 */ fsub f1, f0, f1
|
|
/* 80041294 0003D1B4 CB C2 8E 18 */ lfd f30, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 80041298 0003D1B8 93 21 09 28 */ stw r25, 0x928(r1)
|
|
/* 8004129C 0003D1BC FC 20 08 18 */ frsp f1, f1
|
|
/* 800412A0 0003D1C0 C8 01 09 28 */ lfd f0, 0x928(r1)
|
|
/* 800412A4 0003D1C4 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 800412A8 0003D1C8 FF A0 00 18 */ frsp f29, f0
|
|
/* 800412AC 0003D1CC FC 00 04 8E */ mffs f0
|
|
/* 800412B0 0003D1D0 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 800412B4 0003D1D4 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 800412B8 0003D1D8 FC 20 08 1C */ fctiw f1, f1
|
|
/* 800412BC 0003D1DC D8 21 00 10 */ stfd f1, 0x10(r1)
|
|
/* 800412C0 0003D1E0 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 800412C4 0003D1E4 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 800412C8 0003D1E8 3A E0 00 00 */ li r23, 0
|
|
/* 800412CC 0003D1EC 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800412D0 0003D1F0 90 01 09 24 */ stw r0, 0x924(r1)
|
|
/* 800412D4 0003D1F4 3A A0 00 00 */ li r21, 0
|
|
/* 800412D8 0003D1F8 93 21 09 20 */ stw r25, 0x920(r1)
|
|
/* 800412DC 0003D1FC C8 01 09 20 */ lfd f0, 0x920(r1)
|
|
/* 800412E0 0003D200 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 800412E4 0003D204 FF 80 00 18 */ frsp f28, f0
|
|
/* 800412E8 0003D208 C3 E2 8E 08 */ lfs f31, lbl_802F3608-_SDA2_BASE_(r2)
|
|
lbl_800412EC:
|
|
/* 800412EC 0003D20C 3B 00 00 00 */ li r24, 0
|
|
/* 800412F0 0003D210 6E F4 80 00 */ xoris r20, r23, 0x8000
|
|
lbl_800412F4:
|
|
/* 800412F4 0003D214 6F 00 80 00 */ xoris r0, r24, 0x8000
|
|
/* 800412F8 0003D218 92 81 09 2C */ stw r20, 0x92c(r1)
|
|
/* 800412FC 0003D21C 7C 78 AA 14 */ add r3, r24, r21
|
|
/* 80041300 0003D220 90 01 09 24 */ stw r0, 0x924(r1)
|
|
/* 80041304 0003D224 39 9A 00 00 */ addi r12, r26, 0
|
|
/* 80041308 0003D228 54 60 20 36 */ slwi r0, r3, 4
|
|
/* 8004130C 0003D22C 7D 88 03 A6 */ mtlr r12
|
|
/* 80041310 0003D230 93 21 09 20 */ stw r25, 0x920(r1)
|
|
/* 80041314 0003D234 3B 61 00 20 */ addi r27, r1, 0x20
|
|
/* 80041318 0003D238 C8 01 09 20 */ lfd f0, 0x920(r1)
|
|
/* 8004131C 0003D23C 7F 7B 02 14 */ add r27, r27, r0
|
|
/* 80041320 0003D240 93 21 09 28 */ stw r25, 0x928(r1)
|
|
/* 80041324 0003D244 7F 63 DB 78 */ mr r3, r27
|
|
/* 80041328 0003D248 FC 20 F0 28 */ fsub f1, f0, f30
|
|
/* 8004132C 0003D24C C8 01 09 28 */ lfd f0, 0x928(r1)
|
|
/* 80041330 0003D250 38 9B 00 00 */ addi r4, r27, 0
|
|
/* 80041334 0003D254 38 A0 00 00 */ li r5, 0
|
|
/* 80041338 0003D258 FC 3D 08 2A */ fadd f1, f29, f1
|
|
/* 8004133C 0003D25C FC 00 F0 28 */ fsub f0, f0, f30
|
|
/* 80041340 0003D260 FC 20 08 18 */ frsp f1, f1
|
|
/* 80041344 0003D264 FC 1C 00 2A */ fadd f0, f28, f0
|
|
/* 80041348 0003D268 D0 3B 00 00 */ stfs f1, 0(r27)
|
|
/* 8004134C 0003D26C FC 00 00 18 */ frsp f0, f0
|
|
/* 80041350 0003D270 D3 FB 00 04 */ stfs f31, 4(r27)
|
|
/* 80041354 0003D274 D0 1B 00 08 */ stfs f0, 8(r27)
|
|
/* 80041358 0003D278 4E 80 00 21 */ blrl
|
|
/* 8004135C 0003D27C 3B 18 00 01 */ addi r24, r24, 1
|
|
/* 80041360 0003D280 90 7B 00 0C */ stw r3, 0xc(r27)
|
|
/* 80041364 0003D284 2C 18 00 04 */ cmpwi r24, 4
|
|
/* 80041368 0003D288 41 80 FF 8C */ blt lbl_800412F4
|
|
/* 8004136C 0003D28C 3A F7 00 01 */ addi r23, r23, 1
|
|
/* 80041370 0003D290 2C 17 00 04 */ cmpwi r23, 4
|
|
/* 80041374 0003D294 3A B5 00 04 */ addi r21, r21, 4
|
|
/* 80041378 0003D298 41 80 FF 74 */ blt lbl_800412EC
|
|
/* 8004137C 0003D29C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
|
|
/* 80041380 0003D2A0 3B 81 01 20 */ addi r28, r1, 0x120
|
|
/* 80041384 0003D2A4 3A 83 FF FF */ addi r20, r3, 0x0000FFFF@l
|
|
/* 80041388 0003D2A8 3A E0 00 00 */ li r23, 0
|
|
/* 8004138C 0003D2AC 3A A0 00 00 */ li r21, 0
|
|
lbl_80041390:
|
|
/* 80041390 0003D2B0 38 17 00 01 */ addi r0, r23, 1
|
|
/* 80041394 0003D2B4 54 1D 10 3A */ slwi r29, r0, 2
|
|
/* 80041398 0003D2B8 3B DD 00 01 */ addi r30, r29, 1
|
|
/* 8004139C 0003D2BC 3B F5 00 01 */ addi r31, r21, 1
|
|
/* 800413A0 0003D2C0 3B 00 00 00 */ li r24, 0
|
|
lbl_800413A4:
|
|
/* 800413A4 0003D2C4 7C 18 AA 14 */ add r0, r24, r21
|
|
/* 800413A8 0003D2C8 54 00 20 36 */ slwi r0, r0, 4
|
|
/* 800413AC 0003D2CC 3B 61 00 20 */ addi r27, r1, 0x20
|
|
/* 800413B0 0003D2D0 7F 7B 02 14 */ add r27, r27, r0
|
|
/* 800413B4 0003D2D4 80 1B 00 0C */ lwz r0, 0xc(r27)
|
|
/* 800413B8 0003D2D8 7C B8 EA 14 */ add r5, r24, r29
|
|
/* 800413BC 0003D2DC 7C 98 F2 14 */ add r4, r24, r30
|
|
/* 800413C0 0003D2E0 7C 78 FA 14 */ add r3, r24, r31
|
|
/* 800413C4 0003D2E4 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 800413C8 0003D2E8 54 A6 20 36 */ slwi r6, r5, 4
|
|
/* 800413CC 0003D2EC 38 A1 00 20 */ addi r5, r1, 0x20
|
|
/* 800413D0 0003D2F0 54 84 20 36 */ slwi r4, r4, 4
|
|
/* 800413D4 0003D2F4 3B 41 00 20 */ addi r26, r1, 0x20
|
|
/* 800413D8 0003D2F8 54 60 20 36 */ slwi r0, r3, 4
|
|
/* 800413DC 0003D2FC 3B 21 00 20 */ addi r25, r1, 0x20
|
|
/* 800413E0 0003D300 7C A5 32 14 */ add r5, r5, r6
|
|
/* 800413E4 0003D304 7F 5A 22 14 */ add r26, r26, r4
|
|
/* 800413E8 0003D308 7F 39 02 14 */ add r25, r25, r0
|
|
/* 800413EC 0003D30C 41 82 00 30 */ beq lbl_8004141C
|
|
/* 800413F0 0003D310 80 05 00 0C */ lwz r0, 0xc(r5)
|
|
/* 800413F4 0003D314 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 800413F8 0003D318 41 82 00 24 */ beq lbl_8004141C
|
|
/* 800413FC 0003D31C 80 1A 00 0C */ lwz r0, 0xc(r26)
|
|
/* 80041400 0003D320 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041404 0003D324 41 82 00 18 */ beq lbl_8004141C
|
|
/* 80041408 0003D328 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8004140C 0003D32C 38 9B 00 00 */ addi r4, r27, 0
|
|
/* 80041410 0003D330 38 DA 00 00 */ addi r6, r26, 0
|
|
/* 80041414 0003D334 48 00 08 A5 */ bl func_80041CB8
|
|
/* 80041418 0003D338 48 00 00 08 */ b lbl_80041420
|
|
lbl_8004141C:
|
|
/* 8004141C 0003D33C B2 9C 00 1E */ sth r20, 0x1e(r28)
|
|
lbl_80041420:
|
|
/* 80041420 0003D340 80 1B 00 0C */ lwz r0, 0xc(r27)
|
|
/* 80041424 0003D344 3B 9C 00 40 */ addi r28, r28, 0x40
|
|
/* 80041428 0003D348 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8004142C 0003D34C 41 82 00 34 */ beq lbl_80041460
|
|
/* 80041430 0003D350 80 1A 00 0C */ lwz r0, 0xc(r26)
|
|
/* 80041434 0003D354 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041438 0003D358 41 82 00 28 */ beq lbl_80041460
|
|
/* 8004143C 0003D35C 80 19 00 0C */ lwz r0, 0xc(r25)
|
|
/* 80041440 0003D360 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041444 0003D364 41 82 00 1C */ beq lbl_80041460
|
|
/* 80041448 0003D368 38 7C 00 00 */ addi r3, r28, 0
|
|
/* 8004144C 0003D36C 38 9B 00 00 */ addi r4, r27, 0
|
|
/* 80041450 0003D370 38 BA 00 00 */ addi r5, r26, 0
|
|
/* 80041454 0003D374 38 D9 00 00 */ addi r6, r25, 0
|
|
/* 80041458 0003D378 48 00 08 61 */ bl func_80041CB8
|
|
/* 8004145C 0003D37C 48 00 00 08 */ b lbl_80041464
|
|
lbl_80041460:
|
|
/* 80041460 0003D380 B2 9C 00 1E */ sth r20, 0x1e(r28)
|
|
lbl_80041464:
|
|
/* 80041464 0003D384 3B 18 00 01 */ addi r24, r24, 1
|
|
/* 80041468 0003D388 2C 18 00 03 */ cmpwi r24, 3
|
|
/* 8004146C 0003D38C 3B 9C 00 40 */ addi r28, r28, 0x40
|
|
/* 80041470 0003D390 41 80 FF 34 */ blt lbl_800413A4
|
|
/* 80041474 0003D394 3A F7 00 01 */ addi r23, r23, 1
|
|
/* 80041478 0003D398 2C 17 00 03 */ cmpwi r23, 3
|
|
/* 8004147C 0003D39C 3A B5 00 04 */ addi r21, r21, 4
|
|
/* 80041480 0003D3A0 41 80 FF 10 */ blt lbl_80041390
|
|
/* 80041484 0003D3A4 3B 81 01 20 */ addi r28, r1, 0x120
|
|
/* 80041488 0003D3A8 3A E0 00 03 */ li r23, 3
|
|
lbl_8004148C:
|
|
/* 8004148C 0003D3AC 3B 00 00 03 */ li r24, 3
|
|
lbl_80041490:
|
|
/* 80041490 0003D3B0 A0 1C 00 1E */ lhz r0, 0x1e(r28)
|
|
/* 80041494 0003D3B4 28 00 00 00 */ cmplwi r0, 0
|
|
/* 80041498 0003D3B8 40 82 00 10 */ bne lbl_800414A8
|
|
/* 8004149C 0003D3BC 38 76 00 00 */ addi r3, r22, 0
|
|
/* 800414A0 0003D3C0 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 800414A4 0003D3C4 4B FF C9 89 */ bl func_8003DE2C
|
|
lbl_800414A8:
|
|
/* 800414A8 0003D3C8 A0 1C 00 5E */ lhz r0, 0x5e(r28)
|
|
/* 800414AC 0003D3CC 3B 9C 00 40 */ addi r28, r28, 0x40
|
|
/* 800414B0 0003D3D0 28 00 00 00 */ cmplwi r0, 0
|
|
/* 800414B4 0003D3D4 40 82 00 10 */ bne lbl_800414C4
|
|
/* 800414B8 0003D3D8 38 76 00 00 */ addi r3, r22, 0
|
|
/* 800414BC 0003D3DC 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 800414C0 0003D3E0 4B FF C9 6D */ bl func_8003DE2C
|
|
lbl_800414C4:
|
|
/* 800414C4 0003D3E4 37 18 FF FF */ addic. r24, r24, -1
|
|
/* 800414C8 0003D3E8 3B 9C 00 40 */ addi r28, r28, 0x40
|
|
/* 800414CC 0003D3EC 41 81 FF C4 */ bgt lbl_80041490
|
|
/* 800414D0 0003D3F0 36 F7 FF FF */ addic. r23, r23, -1
|
|
/* 800414D4 0003D3F4 41 81 FF B8 */ bgt lbl_8004148C
|
|
/* 800414D8 0003D3F8 3B 81 01 20 */ addi r28, r1, 0x120
|
|
/* 800414DC 0003D3FC 3A E0 00 03 */ li r23, 3
|
|
lbl_800414E0:
|
|
/* 800414E0 0003D400 3B 00 00 03 */ li r24, 3
|
|
lbl_800414E4:
|
|
/* 800414E4 0003D404 A0 1C 00 1E */ lhz r0, 0x1e(r28)
|
|
/* 800414E8 0003D408 28 00 00 00 */ cmplwi r0, 0
|
|
/* 800414EC 0003D40C 40 82 00 10 */ bne lbl_800414FC
|
|
/* 800414F0 0003D410 38 76 00 00 */ addi r3, r22, 0
|
|
/* 800414F4 0003D414 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 800414F8 0003D418 4B FF CB 95 */ bl func_8003E08C
|
|
lbl_800414FC:
|
|
/* 800414FC 0003D41C A0 1C 00 5E */ lhz r0, 0x5e(r28)
|
|
/* 80041500 0003D420 3B 9C 00 40 */ addi r28, r28, 0x40
|
|
/* 80041504 0003D424 28 00 00 00 */ cmplwi r0, 0
|
|
/* 80041508 0003D428 40 82 00 10 */ bne lbl_80041518
|
|
/* 8004150C 0003D42C 38 76 00 00 */ addi r3, r22, 0
|
|
/* 80041510 0003D430 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 80041514 0003D434 4B FF CB 79 */ bl func_8003E08C
|
|
lbl_80041518:
|
|
/* 80041518 0003D438 37 18 FF FF */ addic. r24, r24, -1
|
|
/* 8004151C 0003D43C 3B 9C 00 40 */ addi r28, r28, 0x40
|
|
/* 80041520 0003D440 41 81 FF C4 */ bgt lbl_800414E4
|
|
/* 80041524 0003D444 36 F7 FF FF */ addic. r23, r23, -1
|
|
/* 80041528 0003D448 41 81 FF B8 */ bgt lbl_800414E0
|
|
/* 8004152C 0003D44C 3B 81 01 20 */ addi r28, r1, 0x120
|
|
/* 80041530 0003D450 3A E0 00 00 */ li r23, 0
|
|
lbl_80041534:
|
|
/* 80041534 0003D454 3B 00 00 00 */ li r24, 0
|
|
lbl_80041538:
|
|
/* 80041538 0003D458 A0 1C 00 1E */ lhz r0, 0x1e(r28)
|
|
/* 8004153C 0003D45C 28 00 00 00 */ cmplwi r0, 0
|
|
/* 80041540 0003D460 40 82 00 10 */ bne lbl_80041550
|
|
/* 80041544 0003D464 38 76 00 00 */ addi r3, r22, 0
|
|
/* 80041548 0003D468 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 8004154C 0003D46C 4B FF D0 89 */ bl func_8003E5D4
|
|
lbl_80041550:
|
|
/* 80041550 0003D470 A0 1C 00 5E */ lhz r0, 0x5e(r28)
|
|
/* 80041554 0003D474 3B 9C 00 40 */ addi r28, r28, 0x40
|
|
/* 80041558 0003D478 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8004155C 0003D47C 40 82 00 10 */ bne lbl_8004156C
|
|
/* 80041560 0003D480 38 76 00 00 */ addi r3, r22, 0
|
|
/* 80041564 0003D484 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 80041568 0003D488 4B FF D0 6D */ bl func_8003E5D4
|
|
lbl_8004156C:
|
|
/* 8004156C 0003D48C 3B 18 00 01 */ addi r24, r24, 1
|
|
/* 80041570 0003D490 2C 18 00 03 */ cmpwi r24, 3
|
|
/* 80041574 0003D494 3B 9C 00 40 */ addi r28, r28, 0x40
|
|
/* 80041578 0003D498 41 80 FF C0 */ blt lbl_80041538
|
|
/* 8004157C 0003D49C 3A F7 00 01 */ addi r23, r23, 1
|
|
/* 80041580 0003D4A0 2C 17 00 03 */ cmpwi r23, 3
|
|
/* 80041584 0003D4A4 41 80 FF B0 */ blt lbl_80041534
|
|
/* 80041588 0003D4A8 BA 81 09 30 */ lmw r20, 0x930(r1)
|
|
/* 8004158C 0003D4AC 80 01 09 84 */ lwz r0, 0x984(r1)
|
|
/* 80041590 0003D4B0 CB E1 09 78 */ lfd f31, 0x978(r1)
|
|
/* 80041594 0003D4B4 CB C1 09 70 */ lfd f30, 0x970(r1)
|
|
/* 80041598 0003D4B8 7C 08 03 A6 */ mtlr r0
|
|
/* 8004159C 0003D4BC CB A1 09 68 */ lfd f29, 0x968(r1)
|
|
/* 800415A0 0003D4C0 CB 81 09 60 */ lfd f28, 0x960(r1)
|
|
/* 800415A4 0003D4C4 38 21 09 80 */ addi r1, r1, 0x980
|
|
/* 800415A8 0003D4C8 4E 80 00 20 */ blr
|
|
|
|
.global func_800415AC
|
|
func_800415AC:
|
|
/* 800415AC 0003D4CC 7C 08 02 A6 */ mflr r0
|
|
/* 800415B0 0003D4D0 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 800415B4 0003D4D4 94 21 FF 60 */ stwu r1, -0xa0(r1)
|
|
/* 800415B8 0003D4D8 DB E1 00 98 */ stfd f31, 0x98(r1)
|
|
/* 800415BC 0003D4DC 38 81 00 24 */ addi r4, r1, 0x24
|
|
/* 800415C0 0003D4E0 BF 21 00 7C */ stmw r25, 0x7c(r1)
|
|
/* 800415C4 0003D4E4 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 800415C8 0003D4E8 83 CD 9D 38 */ lwz r30, currentBallStructPtr@sda21(r13)
|
|
/* 800415CC 0003D4EC 38 63 00 30 */ addi r3, r3, 0x30
|
|
/* 800415D0 0003D4F0 4B FC 64 4D */ bl mathutil_mtx_copy
|
|
/* 800415D4 0003D4F4 80 6D 9D 50 */ lwz r3, decodedStageLzPtr@sda21(r13)
|
|
/* 800415D8 0003D4F8 3C 80 80 20 */ lis r4, lbl_80206E48@ha
|
|
/* 800415DC 0003D4FC 38 04 6E 48 */ addi r0, r4, lbl_80206E48@l
|
|
/* 800415E0 0003D500 CB E2 8E 18 */ lfd f31, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 800415E4 0003D504 83 83 00 0C */ lwz r28, 0xc(r3)
|
|
/* 800415E8 0003D508 7C 1D 03 78 */ mr r29, r0
|
|
/* 800415EC 0003D50C 3B 60 00 00 */ li r27, 0
|
|
/* 800415F0 0003D510 3F E0 43 30 */ lis r31, 0x4330
|
|
/* 800415F4 0003D514 48 00 03 00 */ b lbl_800418F4
|
|
lbl_800415F8:
|
|
/* 800415F8 0003D518 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 800415FC 0003D51C 40 81 00 20 */ ble lbl_8004161C
|
|
/* 80041600 0003D520 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 80041604 0003D524 4B FC 62 AD */ bl mathutil_mtxA_from_mtx
|
|
/* 80041608 0003D528 38 7D 00 24 */ addi r3, r29, 0x24
|
|
/* 8004160C 0003D52C 4B FC 66 35 */ bl mathutil_mtxA_mult_right
|
|
/* 80041610 0003D530 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 80041614 0003D534 38 63 00 30 */ addi r3, r3, 0x30
|
|
/* 80041618 0003D538 4B FC 62 61 */ bl mathutil_mtxA_to_mtx
|
|
lbl_8004161C:
|
|
/* 8004161C 0003D53C C0 1E 00 04 */ lfs f0, 4(r30)
|
|
/* 80041620 0003D540 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 80041624 0003D544 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 80041628 0003D548 C0 1E 00 08 */ lfs f0, 8(r30)
|
|
/* 8004162C 0003D54C D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 80041630 0003D550 C0 1E 00 0C */ lfs f0, 0xc(r30)
|
|
/* 80041634 0003D554 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 80041638 0003D558 40 81 00 18 */ ble lbl_80041650
|
|
/* 8004163C 0003D55C 38 7D 00 24 */ addi r3, r29, 0x24
|
|
/* 80041640 0003D560 4B FC 62 71 */ bl mathutil_mtxA_from_mtx
|
|
/* 80041644 0003D564 38 61 00 18 */ addi r3, r1, 0x18
|
|
/* 80041648 0003D568 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8004164C 0003D56C 4B FC 68 81 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
lbl_80041650:
|
|
/* 80041650 0003D570 80 1C 00 20 */ lwz r0, 0x20(r28)
|
|
/* 80041654 0003D574 38 60 00 00 */ li r3, 0
|
|
/* 80041658 0003D578 C0 61 00 20 */ lfs f3, 0x20(r1)
|
|
/* 8004165C 0003D57C 7C 00 18 40 */ cmplw r0, r3
|
|
/* 80041660 0003D580 C0 41 00 18 */ lfs f2, 0x18(r1)
|
|
/* 80041664 0003D584 40 82 00 08 */ bne lbl_8004166C
|
|
/* 80041668 0003D588 48 00 00 E8 */ b lbl_80041750
|
|
lbl_8004166C:
|
|
/* 8004166C 0003D58C C0 3C 00 24 */ lfs f1, 0x24(r28)
|
|
/* 80041670 0003D590 C0 1C 00 2C */ lfs f0, 0x2c(r28)
|
|
/* 80041674 0003D594 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 80041678 0003D598 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 8004167C 0003D59C FC 00 04 8E */ mffs f0
|
|
/* 80041680 0003D5A0 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 80041684 0003D5A4 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 80041688 0003D5A8 FC 20 08 1C */ fctiw f1, f1
|
|
/* 8004168C 0003D5AC D8 21 00 10 */ stfd f1, 0x10(r1)
|
|
/* 80041690 0003D5B0 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 80041694 0003D5B4 C0 1C 00 28 */ lfs f0, 0x28(r28)
|
|
/* 80041698 0003D5B8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8004169C 0003D5BC EC 23 00 28 */ fsubs f1, f3, f0
|
|
/* 800416A0 0003D5C0 C0 1C 00 30 */ lfs f0, 0x30(r28)
|
|
/* 800416A4 0003D5C4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800416A8 0003D5C8 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 800416AC 0003D5CC 90 01 00 74 */ stw r0, 0x74(r1)
|
|
/* 800416B0 0003D5D0 93 E1 00 70 */ stw r31, 0x70(r1)
|
|
/* 800416B4 0003D5D4 C8 01 00 70 */ lfd f0, 0x70(r1)
|
|
/* 800416B8 0003D5D8 EC 00 F8 28 */ fsubs f0, f0, f31
|
|
/* 800416BC 0003D5DC FC 00 00 1E */ fctiwz f0, f0
|
|
/* 800416C0 0003D5E0 D8 01 00 68 */ stfd f0, 0x68(r1)
|
|
/* 800416C4 0003D5E4 80 A1 00 6C */ lwz r5, 0x6c(r1)
|
|
/* 800416C8 0003D5E8 FC 00 04 8E */ mffs f0
|
|
/* 800416CC 0003D5EC FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 800416D0 0003D5F0 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 800416D4 0003D5F4 FC 20 08 1C */ fctiw f1, f1
|
|
/* 800416D8 0003D5F8 D8 21 00 08 */ stfd f1, 8(r1)
|
|
/* 800416DC 0003D5FC FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 800416E0 0003D600 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
/* 800416E4 0003D604 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 800416E8 0003D608 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800416EC 0003D60C 90 01 00 64 */ stw r0, 0x64(r1)
|
|
/* 800416F0 0003D610 93 E1 00 60 */ stw r31, 0x60(r1)
|
|
/* 800416F4 0003D614 C8 01 00 60 */ lfd f0, 0x60(r1)
|
|
/* 800416F8 0003D618 EC 00 F8 28 */ fsubs f0, f0, f31
|
|
/* 800416FC 0003D61C FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80041700 0003D620 D8 01 00 58 */ stfd f0, 0x58(r1)
|
|
/* 80041704 0003D624 80 81 00 5C */ lwz r4, 0x5c(r1)
|
|
/* 80041708 0003D628 41 80 00 10 */ blt lbl_80041718
|
|
/* 8004170C 0003D62C 80 7C 00 34 */ lwz r3, 0x34(r28)
|
|
/* 80041710 0003D630 7C 05 18 00 */ cmpw r5, r3
|
|
/* 80041714 0003D634 41 80 00 0C */ blt lbl_80041720
|
|
lbl_80041718:
|
|
/* 80041718 0003D638 38 60 00 00 */ li r3, 0
|
|
/* 8004171C 0003D63C 48 00 00 34 */ b lbl_80041750
|
|
lbl_80041720:
|
|
/* 80041720 0003D640 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 80041724 0003D644 41 80 00 10 */ blt lbl_80041734
|
|
/* 80041728 0003D648 80 1C 00 38 */ lwz r0, 0x38(r28)
|
|
/* 8004172C 0003D64C 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80041730 0003D650 41 80 00 0C */ blt lbl_8004173C
|
|
lbl_80041734:
|
|
/* 80041734 0003D654 38 60 00 00 */ li r3, 0
|
|
/* 80041738 0003D658 48 00 00 18 */ b lbl_80041750
|
|
lbl_8004173C:
|
|
/* 8004173C 0003D65C 7C 04 19 D6 */ mullw r0, r4, r3
|
|
/* 80041740 0003D660 80 7C 00 20 */ lwz r3, 0x20(r28)
|
|
/* 80041744 0003D664 7C 05 02 14 */ add r0, r5, r0
|
|
/* 80041748 0003D668 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 8004174C 0003D66C 7C 63 00 2E */ lwzx r3, r3, r0
|
|
lbl_80041750:
|
|
/* 80041750 0003D670 3B 43 00 00 */ addi r26, r3, 0
|
|
/* 80041754 0003D674 38 00 00 00 */ li r0, 0
|
|
/* 80041758 0003D678 7C 1A 00 40 */ cmplw r26, r0
|
|
/* 8004175C 0003D67C 41 82 00 2C */ beq lbl_80041788
|
|
/* 80041760 0003D680 48 00 00 1C */ b lbl_8004177C
|
|
lbl_80041764:
|
|
/* 80041764 0003D684 A8 1A 00 00 */ lha r0, 0(r26)
|
|
/* 80041768 0003D688 80 7C 00 1C */ lwz r3, 0x1c(r28)
|
|
/* 8004176C 0003D68C 54 00 30 32 */ slwi r0, r0, 6
|
|
/* 80041770 0003D690 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80041774 0003D694 48 00 04 31 */ bl func_80041BA4
|
|
/* 80041778 0003D698 3B 5A 00 02 */ addi r26, r26, 2
|
|
lbl_8004177C:
|
|
/* 8004177C 0003D69C A8 1A 00 00 */ lha r0, 0(r26)
|
|
/* 80041780 0003D6A0 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041784 0003D6A4 40 80 FF E0 */ bge lbl_80041764
|
|
lbl_80041788:
|
|
/* 80041788 0003D6A8 83 5C 00 68 */ lwz r26, 0x68(r28)
|
|
/* 8004178C 0003D6AC 83 3C 00 64 */ lwz r25, 0x64(r28)
|
|
/* 80041790 0003D6B0 48 00 00 7C */ b lbl_8004180C
|
|
lbl_80041794:
|
|
/* 80041794 0003D6B4 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 80041798 0003D6B8 38 63 00 30 */ addi r3, r3, 0x30
|
|
/* 8004179C 0003D6BC 4B FC 61 15 */ bl mathutil_mtxA_from_mtx
|
|
/* 800417A0 0003D6C0 7F 43 D3 78 */ mr r3, r26
|
|
/* 800417A4 0003D6C4 4B FC 65 7D */ bl mathutil_mtxA_translate
|
|
/* 800417A8 0003D6C8 A8 7A 00 10 */ lha r3, 0x10(r26)
|
|
/* 800417AC 0003D6CC 4B FC 68 DD */ bl mathutil_mtxA_rotate_z
|
|
/* 800417B0 0003D6D0 A8 7A 00 0E */ lha r3, 0xe(r26)
|
|
/* 800417B4 0003D6D4 4B FC 68 49 */ bl mathutil_mtxA_rotate_y
|
|
/* 800417B8 0003D6D8 A8 7A 00 0C */ lha r3, 0xc(r26)
|
|
/* 800417BC 0003D6DC 4B FC 67 CD */ bl mathutil_mtxA_rotate_x
|
|
/* 800417C0 0003D6E0 38 7A 00 14 */ addi r3, r26, 0x14
|
|
/* 800417C4 0003D6E4 4B FC 65 F5 */ bl mathutil_mtxA_scale
|
|
/* 800417C8 0003D6E8 C0 3A 00 14 */ lfs f1, 0x14(r26)
|
|
/* 800417CC 0003D6EC C0 1A 00 18 */ lfs f0, 0x18(r26)
|
|
/* 800417D0 0003D6F0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800417D4 0003D6F4 40 81 00 08 */ ble lbl_800417DC
|
|
/* 800417D8 0003D6F8 48 00 00 08 */ b lbl_800417E0
|
|
lbl_800417DC:
|
|
/* 800417DC 0003D6FC FC 20 00 90 */ fmr f1, f0
|
|
lbl_800417E0:
|
|
/* 800417E0 0003D700 C0 1A 00 1C */ lfs f0, 0x1c(r26)
|
|
/* 800417E4 0003D704 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800417E8 0003D708 40 81 00 08 */ ble lbl_800417F0
|
|
/* 800417EC 0003D70C FC 00 08 90 */ fmr f0, f1
|
|
lbl_800417F0:
|
|
/* 800417F0 0003D710 FC 20 00 90 */ fmr f1, f0
|
|
/* 800417F4 0003D714 4B FE F3 B5 */ bl func_80030BA8
|
|
/* 800417F8 0003D718 80 6D 99 24 */ lwz r3, lbl_802F1B04@sda21(r13)
|
|
/* 800417FC 0003D71C 80 63 00 B8 */ lwz r3, 0xb8(r3)
|
|
/* 80041800 0003D720 4B FE FA 11 */ bl func_80031210
|
|
/* 80041804 0003D724 3B 39 FF FF */ addi r25, r25, -1
|
|
/* 80041808 0003D728 3B 5A 00 20 */ addi r26, r26, 0x20
|
|
lbl_8004180C:
|
|
/* 8004180C 0003D72C 2C 19 00 00 */ cmpwi r25, 0
|
|
/* 80041810 0003D730 41 81 FF 84 */ bgt lbl_80041794
|
|
/* 80041814 0003D734 83 3C 00 70 */ lwz r25, 0x70(r28)
|
|
/* 80041818 0003D738 83 5C 00 6C */ lwz r26, 0x6c(r28)
|
|
/* 8004181C 0003D73C 48 00 00 44 */ b lbl_80041860
|
|
lbl_80041820:
|
|
/* 80041820 0003D740 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 80041824 0003D744 38 63 00 30 */ addi r3, r3, 0x30
|
|
/* 80041828 0003D748 4B FC 60 89 */ bl mathutil_mtxA_from_mtx
|
|
/* 8004182C 0003D74C 7F 23 CB 78 */ mr r3, r25
|
|
/* 80041830 0003D750 4B FC 64 F1 */ bl mathutil_mtxA_translate
|
|
/* 80041834 0003D754 C0 39 00 0C */ lfs f1, 0xc(r25)
|
|
/* 80041838 0003D758 FC 40 08 90 */ fmr f2, f1
|
|
/* 8004183C 0003D75C FC 60 08 90 */ fmr f3, f1
|
|
/* 80041840 0003D760 4B FC 65 99 */ bl mathutil_mtxA_scale_xyz
|
|
/* 80041844 0003D764 C0 39 00 0C */ lfs f1, 0xc(r25)
|
|
/* 80041848 0003D768 4B FE F3 61 */ bl func_80030BA8
|
|
/* 8004184C 0003D76C 80 6D 99 24 */ lwz r3, lbl_802F1B04@sda21(r13)
|
|
/* 80041850 0003D770 80 63 00 C0 */ lwz r3, 0xc0(r3)
|
|
/* 80041854 0003D774 4B FE F9 BD */ bl func_80031210
|
|
/* 80041858 0003D778 3B 5A FF FF */ addi r26, r26, -1
|
|
/* 8004185C 0003D77C 3B 39 00 14 */ addi r25, r25, 0x14
|
|
lbl_80041860:
|
|
/* 80041860 0003D780 2C 1A 00 00 */ cmpwi r26, 0
|
|
/* 80041864 0003D784 41 81 FF BC */ bgt lbl_80041820
|
|
/* 80041868 0003D788 83 3C 00 78 */ lwz r25, 0x78(r28)
|
|
/* 8004186C 0003D78C 83 5C 00 74 */ lwz r26, 0x74(r28)
|
|
/* 80041870 0003D790 48 00 00 70 */ b lbl_800418E0
|
|
lbl_80041874:
|
|
/* 80041874 0003D794 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 80041878 0003D798 38 63 00 30 */ addi r3, r3, 0x30
|
|
/* 8004187C 0003D79C 4B FC 60 35 */ bl mathutil_mtxA_from_mtx
|
|
/* 80041880 0003D7A0 7F 23 CB 78 */ mr r3, r25
|
|
/* 80041884 0003D7A4 4B FC 64 9D */ bl mathutil_mtxA_translate
|
|
/* 80041888 0003D7A8 A8 79 00 18 */ lha r3, 0x18(r25)
|
|
/* 8004188C 0003D7AC 4B FC 67 FD */ bl mathutil_mtxA_rotate_z
|
|
/* 80041890 0003D7B0 A8 79 00 16 */ lha r3, 0x16(r25)
|
|
/* 80041894 0003D7B4 4B FC 67 69 */ bl mathutil_mtxA_rotate_y
|
|
/* 80041898 0003D7B8 A8 79 00 14 */ lha r3, 0x14(r25)
|
|
/* 8004189C 0003D7BC 4B FC 66 ED */ bl mathutil_mtxA_rotate_x
|
|
/* 800418A0 0003D7C0 C0 39 00 0C */ lfs f1, 0xc(r25)
|
|
/* 800418A4 0003D7C4 C0 59 00 10 */ lfs f2, 0x10(r25)
|
|
/* 800418A8 0003D7C8 FC 60 08 90 */ fmr f3, f1
|
|
/* 800418AC 0003D7CC 4B FC 65 2D */ bl mathutil_mtxA_scale_xyz
|
|
/* 800418B0 0003D7D0 C0 39 00 0C */ lfs f1, 0xc(r25)
|
|
/* 800418B4 0003D7D4 C0 19 00 10 */ lfs f0, 0x10(r25)
|
|
/* 800418B8 0003D7D8 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800418BC 0003D7DC 40 81 00 08 */ ble lbl_800418C4
|
|
/* 800418C0 0003D7E0 48 00 00 08 */ b lbl_800418C8
|
|
lbl_800418C4:
|
|
/* 800418C4 0003D7E4 FC 20 00 90 */ fmr f1, f0
|
|
lbl_800418C8:
|
|
/* 800418C8 0003D7E8 4B FE F2 E1 */ bl func_80030BA8
|
|
/* 800418CC 0003D7EC 80 6D 99 24 */ lwz r3, lbl_802F1B04@sda21(r13)
|
|
/* 800418D0 0003D7F0 80 63 00 BC */ lwz r3, 0xbc(r3)
|
|
/* 800418D4 0003D7F4 4B FE F9 3D */ bl func_80031210
|
|
/* 800418D8 0003D7F8 3B 5A FF FF */ addi r26, r26, -1
|
|
/* 800418DC 0003D7FC 3B 39 00 1C */ addi r25, r25, 0x1c
|
|
lbl_800418E0:
|
|
/* 800418E0 0003D800 2C 1A 00 00 */ cmpwi r26, 0
|
|
/* 800418E4 0003D804 41 81 FF 90 */ bgt lbl_80041874
|
|
/* 800418E8 0003D808 3B 7B 00 01 */ addi r27, r27, 1
|
|
/* 800418EC 0003D80C 3B BD 00 84 */ addi r29, r29, 0x84
|
|
/* 800418F0 0003D810 3B 9C 00 C4 */ addi r28, r28, 0xc4
|
|
lbl_800418F4:
|
|
/* 800418F4 0003D814 80 6D 9D 50 */ lwz r3, decodedStageLzPtr@sda21(r13)
|
|
/* 800418F8 0003D818 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 800418FC 0003D81C 7C 1B 00 00 */ cmpw r27, r0
|
|
/* 80041900 0003D820 41 80 FC F8 */ blt lbl_800415F8
|
|
/* 80041904 0003D824 80 8D 99 80 */ lwz r4, mathutilData@sda21(r13)
|
|
/* 80041908 0003D828 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 8004190C 0003D82C 38 84 00 30 */ addi r4, r4, 0x30
|
|
/* 80041910 0003D830 4B FC 61 0D */ bl mathutil_mtx_copy
|
|
/* 80041914 0003D834 80 6D 9D 64 */ lwz r3, lbl_802F1F44@sda21(r13)
|
|
/* 80041918 0003D838 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8004191C 0003D83C 41 82 00 08 */ beq lbl_80041924
|
|
/* 80041920 0003D840 48 00 00 1D */ bl func_8004193C
|
|
lbl_80041924:
|
|
/* 80041924 0003D844 BB 21 00 7C */ lmw r25, 0x7c(r1)
|
|
/* 80041928 0003D848 80 01 00 A4 */ lwz r0, 0xa4(r1)
|
|
/* 8004192C 0003D84C CB E1 00 98 */ lfd f31, 0x98(r1)
|
|
/* 80041930 0003D850 38 21 00 A0 */ addi r1, r1, 0xa0
|
|
/* 80041934 0003D854 7C 08 03 A6 */ mtlr r0
|
|
/* 80041938 0003D858 4E 80 00 20 */ blr
|
|
|
|
.global func_8004193C
|
|
func_8004193C:
|
|
/* 8004193C 0003D85C 7C 08 02 A6 */ mflr r0
|
|
/* 80041940 0003D860 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80041944 0003D864 94 21 FE 48 */ stwu r1, -0x1b8(r1)
|
|
/* 80041948 0003D868 DB E1 01 B0 */ stfd f31, 0x1b0(r1)
|
|
/* 8004194C 0003D86C DB C1 01 A8 */ stfd f30, 0x1a8(r1)
|
|
/* 80041950 0003D870 DB A1 01 A0 */ stfd f29, 0x1a0(r1)
|
|
/* 80041954 0003D874 DB 81 01 98 */ stfd f28, 0x198(r1)
|
|
/* 80041958 0003D878 BE E1 01 74 */ stmw r23, 0x174(r1)
|
|
/* 8004195C 0003D87C 80 8D 9D 38 */ lwz r4, currentBallStructPtr@sda21(r13)
|
|
/* 80041960 0003D880 C8 22 8E 40 */ lfd f1, lbl_802F3640-_SDA2_BASE_(r2)
|
|
/* 80041964 0003D884 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 80041968 0003D888 83 A3 00 10 */ lwz r29, 0x10(r3)
|
|
/* 8004196C 0003D88C FC 40 08 28 */ fsub f2, f0, f1
|
|
/* 80041970 0003D890 FC 40 10 18 */ frsp f2, f2
|
|
/* 80041974 0003D894 FC 00 04 8E */ mffs f0
|
|
/* 80041978 0003D898 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 8004197C 0003D89C FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 80041980 0003D8A0 FC 40 10 1C */ fctiw f2, f2
|
|
/* 80041984 0003D8A4 D8 41 00 14 */ stfd f2, 0x14(r1)
|
|
/* 80041988 0003D8A8 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 8004198C 0003D8AC 80 01 00 18 */ lwz r0, 0x18(r1)
|
|
/* 80041990 0003D8B0 C0 04 00 0C */ lfs f0, 0xc(r4)
|
|
/* 80041994 0003D8B4 3F 60 43 30 */ lis r27, 0x4330
|
|
/* 80041998 0003D8B8 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8004199C 0003D8BC 90 01 01 6C */ stw r0, 0x16c(r1)
|
|
/* 800419A0 0003D8C0 FC 20 08 28 */ fsub f1, f0, f1
|
|
/* 800419A4 0003D8C4 CB C2 8E 18 */ lfd f30, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 800419A8 0003D8C8 93 61 01 68 */ stw r27, 0x168(r1)
|
|
/* 800419AC 0003D8CC FC 20 08 18 */ frsp f1, f1
|
|
/* 800419B0 0003D8D0 C8 01 01 68 */ lfd f0, 0x168(r1)
|
|
/* 800419B4 0003D8D4 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 800419B8 0003D8D8 FF A0 00 18 */ frsp f29, f0
|
|
/* 800419BC 0003D8DC FC 00 04 8E */ mffs f0
|
|
/* 800419C0 0003D8E0 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 800419C4 0003D8E4 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 800419C8 0003D8E8 FC 20 08 1C */ fctiw f1, f1
|
|
/* 800419CC 0003D8EC D8 21 00 0C */ stfd f1, 0xc(r1)
|
|
/* 800419D0 0003D8F0 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 800419D4 0003D8F4 80 01 00 10 */ lwz r0, 0x10(r1)
|
|
/* 800419D8 0003D8F8 3B 00 00 00 */ li r24, 0
|
|
/* 800419DC 0003D8FC 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800419E0 0003D900 90 01 01 64 */ stw r0, 0x164(r1)
|
|
/* 800419E4 0003D904 3A E0 00 00 */ li r23, 0
|
|
/* 800419E8 0003D908 93 61 01 60 */ stw r27, 0x160(r1)
|
|
/* 800419EC 0003D90C C8 01 01 60 */ lfd f0, 0x160(r1)
|
|
/* 800419F0 0003D910 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 800419F4 0003D914 FF 80 00 18 */ frsp f28, f0
|
|
/* 800419F8 0003D918 C3 E2 8E 08 */ lfs f31, lbl_802F3608-_SDA2_BASE_(r2)
|
|
lbl_800419FC:
|
|
/* 800419FC 0003D91C 3B 20 00 00 */ li r25, 0
|
|
/* 80041A00 0003D920 6F 1A 80 00 */ xoris r26, r24, 0x8000
|
|
lbl_80041A04:
|
|
/* 80041A04 0003D924 6F 20 80 00 */ xoris r0, r25, 0x8000
|
|
/* 80041A08 0003D928 93 41 01 6C */ stw r26, 0x16c(r1)
|
|
/* 80041A0C 0003D92C 7C 79 BA 14 */ add r3, r25, r23
|
|
/* 80041A10 0003D930 90 01 01 64 */ stw r0, 0x164(r1)
|
|
/* 80041A14 0003D934 39 9D 00 00 */ addi r12, r29, 0
|
|
/* 80041A18 0003D938 54 60 20 36 */ slwi r0, r3, 4
|
|
/* 80041A1C 0003D93C 7D 88 03 A6 */ mtlr r12
|
|
/* 80041A20 0003D940 93 61 01 60 */ stw r27, 0x160(r1)
|
|
/* 80041A24 0003D944 3B 81 00 1C */ addi r28, r1, 0x1c
|
|
/* 80041A28 0003D948 C8 01 01 60 */ lfd f0, 0x160(r1)
|
|
/* 80041A2C 0003D94C 7F 9C 02 14 */ add r28, r28, r0
|
|
/* 80041A30 0003D950 93 61 01 68 */ stw r27, 0x168(r1)
|
|
/* 80041A34 0003D954 7F 83 E3 78 */ mr r3, r28
|
|
/* 80041A38 0003D958 FC 20 F0 28 */ fsub f1, f0, f30
|
|
/* 80041A3C 0003D95C C8 01 01 68 */ lfd f0, 0x168(r1)
|
|
/* 80041A40 0003D960 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 80041A44 0003D964 38 A0 00 00 */ li r5, 0
|
|
/* 80041A48 0003D968 FC 3D 08 2A */ fadd f1, f29, f1
|
|
/* 80041A4C 0003D96C FC 00 F0 28 */ fsub f0, f0, f30
|
|
/* 80041A50 0003D970 FC 20 08 18 */ frsp f1, f1
|
|
/* 80041A54 0003D974 FC 1C 00 2A */ fadd f0, f28, f0
|
|
/* 80041A58 0003D978 D0 3C 00 00 */ stfs f1, 0(r28)
|
|
/* 80041A5C 0003D97C FC 00 00 18 */ frsp f0, f0
|
|
/* 80041A60 0003D980 D3 FC 00 04 */ stfs f31, 4(r28)
|
|
/* 80041A64 0003D984 D0 1C 00 08 */ stfs f0, 8(r28)
|
|
/* 80041A68 0003D988 4E 80 00 21 */ blrl
|
|
/* 80041A6C 0003D98C 3B 39 00 01 */ addi r25, r25, 1
|
|
/* 80041A70 0003D990 90 7C 00 0C */ stw r3, 0xc(r28)
|
|
/* 80041A74 0003D994 2C 19 00 04 */ cmpwi r25, 4
|
|
/* 80041A78 0003D998 41 80 FF 8C */ blt lbl_80041A04
|
|
/* 80041A7C 0003D99C 3B 18 00 01 */ addi r24, r24, 1
|
|
/* 80041A80 0003D9A0 2C 18 00 04 */ cmpwi r24, 4
|
|
/* 80041A84 0003D9A4 3A F7 00 04 */ addi r23, r23, 4
|
|
/* 80041A88 0003D9A8 41 80 FF 74 */ blt lbl_800419FC
|
|
/* 80041A8C 0003D9AC 3B 00 00 00 */ li r24, 0
|
|
/* 80041A90 0003D9B0 3A E0 00 00 */ li r23, 0
|
|
lbl_80041A94:
|
|
/* 80041A94 0003D9B4 38 18 00 01 */ addi r0, r24, 1
|
|
/* 80041A98 0003D9B8 54 1D 10 3A */ slwi r29, r0, 2
|
|
/* 80041A9C 0003D9BC 3B DD 00 01 */ addi r30, r29, 1
|
|
/* 80041AA0 0003D9C0 3B F7 00 01 */ addi r31, r23, 1
|
|
/* 80041AA4 0003D9C4 3B 20 00 00 */ li r25, 0
|
|
lbl_80041AA8:
|
|
/* 80041AA8 0003D9C8 7C 19 BA 14 */ add r0, r25, r23
|
|
/* 80041AAC 0003D9CC 54 00 20 36 */ slwi r0, r0, 4
|
|
/* 80041AB0 0003D9D0 3B 81 00 1C */ addi r28, r1, 0x1c
|
|
/* 80041AB4 0003D9D4 7F 9C 02 14 */ add r28, r28, r0
|
|
/* 80041AB8 0003D9D8 80 1C 00 0C */ lwz r0, 0xc(r28)
|
|
/* 80041ABC 0003D9DC 7C B9 EA 14 */ add r5, r25, r29
|
|
/* 80041AC0 0003D9E0 7C 99 F2 14 */ add r4, r25, r30
|
|
/* 80041AC4 0003D9E4 7C 79 FA 14 */ add r3, r25, r31
|
|
/* 80041AC8 0003D9E8 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041ACC 0003D9EC 54 A6 20 36 */ slwi r6, r5, 4
|
|
/* 80041AD0 0003D9F0 38 A1 00 1C */ addi r5, r1, 0x1c
|
|
/* 80041AD4 0003D9F4 54 84 20 36 */ slwi r4, r4, 4
|
|
/* 80041AD8 0003D9F8 3B 61 00 1C */ addi r27, r1, 0x1c
|
|
/* 80041ADC 0003D9FC 54 60 20 36 */ slwi r0, r3, 4
|
|
/* 80041AE0 0003DA00 3B 41 00 1C */ addi r26, r1, 0x1c
|
|
/* 80041AE4 0003DA04 7C A5 32 14 */ add r5, r5, r6
|
|
/* 80041AE8 0003DA08 7F 7B 22 14 */ add r27, r27, r4
|
|
/* 80041AEC 0003DA0C 7F 5A 02 14 */ add r26, r26, r0
|
|
/* 80041AF0 0003DA10 41 82 00 34 */ beq lbl_80041B24
|
|
/* 80041AF4 0003DA14 80 05 00 0C */ lwz r0, 0xc(r5)
|
|
/* 80041AF8 0003DA18 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041AFC 0003DA1C 41 82 00 28 */ beq lbl_80041B24
|
|
/* 80041B00 0003DA20 80 1B 00 0C */ lwz r0, 0xc(r27)
|
|
/* 80041B04 0003DA24 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041B08 0003DA28 41 82 00 1C */ beq lbl_80041B24
|
|
/* 80041B0C 0003DA2C 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 80041B10 0003DA30 38 DB 00 00 */ addi r6, r27, 0
|
|
/* 80041B14 0003DA34 38 61 01 1C */ addi r3, r1, 0x11c
|
|
/* 80041B18 0003DA38 48 00 01 A1 */ bl func_80041CB8
|
|
/* 80041B1C 0003DA3C 38 61 01 1C */ addi r3, r1, 0x11c
|
|
/* 80041B20 0003DA40 48 00 00 85 */ bl func_80041BA4
|
|
lbl_80041B24:
|
|
/* 80041B24 0003DA44 80 1C 00 0C */ lwz r0, 0xc(r28)
|
|
/* 80041B28 0003DA48 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041B2C 0003DA4C 41 82 00 38 */ beq lbl_80041B64
|
|
/* 80041B30 0003DA50 80 1B 00 0C */ lwz r0, 0xc(r27)
|
|
/* 80041B34 0003DA54 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041B38 0003DA58 41 82 00 2C */ beq lbl_80041B64
|
|
/* 80041B3C 0003DA5C 80 1A 00 0C */ lwz r0, 0xc(r26)
|
|
/* 80041B40 0003DA60 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80041B44 0003DA64 41 82 00 20 */ beq lbl_80041B64
|
|
/* 80041B48 0003DA68 38 9C 00 00 */ addi r4, r28, 0
|
|
/* 80041B4C 0003DA6C 38 BB 00 00 */ addi r5, r27, 0
|
|
/* 80041B50 0003DA70 38 DA 00 00 */ addi r6, r26, 0
|
|
/* 80041B54 0003DA74 38 61 01 1C */ addi r3, r1, 0x11c
|
|
/* 80041B58 0003DA78 48 00 01 61 */ bl func_80041CB8
|
|
/* 80041B5C 0003DA7C 38 61 01 1C */ addi r3, r1, 0x11c
|
|
/* 80041B60 0003DA80 48 00 00 45 */ bl func_80041BA4
|
|
lbl_80041B64:
|
|
/* 80041B64 0003DA84 3B 39 00 01 */ addi r25, r25, 1
|
|
/* 80041B68 0003DA88 2C 19 00 03 */ cmpwi r25, 3
|
|
/* 80041B6C 0003DA8C 41 80 FF 3C */ blt lbl_80041AA8
|
|
/* 80041B70 0003DA90 3B 18 00 01 */ addi r24, r24, 1
|
|
/* 80041B74 0003DA94 2C 18 00 03 */ cmpwi r24, 3
|
|
/* 80041B78 0003DA98 3A F7 00 04 */ addi r23, r23, 4
|
|
/* 80041B7C 0003DA9C 41 80 FF 18 */ blt lbl_80041A94
|
|
/* 80041B80 0003DAA0 BA E1 01 74 */ lmw r23, 0x174(r1)
|
|
/* 80041B84 0003DAA4 80 01 01 BC */ lwz r0, 0x1bc(r1)
|
|
/* 80041B88 0003DAA8 CB E1 01 B0 */ lfd f31, 0x1b0(r1)
|
|
/* 80041B8C 0003DAAC CB C1 01 A8 */ lfd f30, 0x1a8(r1)
|
|
/* 80041B90 0003DAB0 7C 08 03 A6 */ mtlr r0
|
|
/* 80041B94 0003DAB4 CB A1 01 A0 */ lfd f29, 0x1a0(r1)
|
|
/* 80041B98 0003DAB8 CB 81 01 98 */ lfd f28, 0x198(r1)
|
|
/* 80041B9C 0003DABC 38 21 01 B8 */ addi r1, r1, 0x1b8
|
|
/* 80041BA0 0003DAC0 4E 80 00 20 */ blr
|
|
|
|
.global func_80041BA4
|
|
func_80041BA4:
|
|
/* 80041BA4 0003DAC4 7C 08 02 A6 */ mflr r0
|
|
/* 80041BA8 0003DAC8 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80041BAC 0003DACC 94 21 FF B0 */ stwu r1, -0x50(r1)
|
|
/* 80041BB0 0003DAD0 93 E1 00 4C */ stw r31, 0x4c(r1)
|
|
/* 80041BB4 0003DAD4 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80041BB8 0003DAD8 4B FC 5A 05 */ bl mathutil_mtxA_from_translate
|
|
/* 80041BBC 0003DADC A8 7F 00 1A */ lha r3, 0x1a(r31)
|
|
/* 80041BC0 0003DAE0 4B FC 64 3D */ bl mathutil_mtxA_rotate_y
|
|
/* 80041BC4 0003DAE4 A8 7F 00 18 */ lha r3, 0x18(r31)
|
|
/* 80041BC8 0003DAE8 4B FC 63 C1 */ bl mathutil_mtxA_rotate_x
|
|
/* 80041BCC 0003DAEC A8 7F 00 1C */ lha r3, 0x1c(r31)
|
|
/* 80041BD0 0003DAF0 4B FC 64 B9 */ bl mathutil_mtxA_rotate_z
|
|
/* 80041BD4 0003DAF4 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80041BD8 0003DAF8 4B FC 5C A1 */ bl mathutil_mtxA_to_mtx
|
|
/* 80041BDC 0003DAFC C0 3F 00 20 */ lfs f1, 0x20(r31)
|
|
/* 80041BE0 0003DB00 38 61 00 3C */ addi r3, r1, 0x3c
|
|
/* 80041BE4 0003DB04 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80041BE8 0003DB08 7C 64 1B 78 */ mr r4, r3
|
|
/* 80041BEC 0003DB0C D0 21 00 3C */ stfs f1, 0x3c(r1)
|
|
/* 80041BF0 0003DB10 C0 3F 00 24 */ lfs f1, 0x24(r31)
|
|
/* 80041BF4 0003DB14 D0 21 00 40 */ stfs f1, 0x40(r1)
|
|
/* 80041BF8 0003DB18 D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
/* 80041BFC 0003DB1C 4B FC 62 41 */ bl mathutil_mtxA_tf_vec
|
|
/* 80041C00 0003DB20 C0 21 00 3C */ lfs f1, 0x3c(r1)
|
|
/* 80041C04 0003DB24 38 61 00 3C */ addi r3, r1, 0x3c
|
|
/* 80041C08 0003DB28 C0 01 00 40 */ lfs f0, 0x40(r1)
|
|
/* 80041C0C 0003DB2C 7C 64 1B 78 */ mr r4, r3
|
|
/* 80041C10 0003DB30 D0 21 00 0C */ stfs f1, 0xc(r1)
|
|
/* 80041C14 0003DB34 C0 21 00 44 */ lfs f1, 0x44(r1)
|
|
/* 80041C18 0003DB38 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 80041C1C 0003DB3C C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80041C20 0003DB40 D0 21 00 2C */ stfs f1, 0x2c(r1)
|
|
/* 80041C24 0003DB44 C0 3F 00 28 */ lfs f1, 0x28(r31)
|
|
/* 80041C28 0003DB48 D0 21 00 3C */ stfs f1, 0x3c(r1)
|
|
/* 80041C2C 0003DB4C C0 3F 00 2C */ lfs f1, 0x2c(r31)
|
|
/* 80041C30 0003DB50 D0 21 00 40 */ stfs f1, 0x40(r1)
|
|
/* 80041C34 0003DB54 D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
/* 80041C38 0003DB58 4B FC 62 05 */ bl mathutil_mtxA_tf_vec
|
|
/* 80041C3C 0003DB5C C0 01 00 3C */ lfs f0, 0x3c(r1)
|
|
/* 80041C40 0003DB60 80 6D 99 80 */ lwz r3, mathutilData@sda21(r13)
|
|
/* 80041C44 0003DB64 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 80041C48 0003DB68 C0 21 00 40 */ lfs f1, 0x40(r1)
|
|
/* 80041C4C 0003DB6C 38 63 00 30 */ addi r3, r3, 0x30
|
|
/* 80041C50 0003DB70 C0 01 00 44 */ lfs f0, 0x44(r1)
|
|
/* 80041C54 0003DB74 D0 21 00 20 */ stfs f1, 0x20(r1)
|
|
/* 80041C58 0003DB78 D0 01 00 30 */ stfs f0, 0x30(r1)
|
|
/* 80041C5C 0003DB7C 4B FC 5C 55 */ bl mathutil_mtxA_from_mtx
|
|
/* 80041C60 0003DB80 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80041C64 0003DB84 4B FC 5F DD */ bl mathutil_mtxA_mult_right
|
|
/* 80041C68 0003DB88 C0 3F 00 24 */ lfs f1, 0x24(r31)
|
|
/* 80041C6C 0003DB8C C0 1F 00 20 */ lfs f0, 0x20(r31)
|
|
/* 80041C70 0003DB90 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 80041C74 0003DB94 EC 01 00 7A */ fmadds f0, f1, f1, f0
|
|
/* 80041C78 0003DB98 C0 5F 00 2C */ lfs f2, 0x2c(r31)
|
|
/* 80041C7C 0003DB9C C0 3F 00 28 */ lfs f1, 0x28(r31)
|
|
/* 80041C80 0003DBA0 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 80041C84 0003DBA4 EC 22 08 BA */ fmadds f1, f2, f2, f1
|
|
/* 80041C88 0003DBA8 FC 00 08 40 */ fcmpo cr0, f0, f1
|
|
/* 80041C8C 0003DBAC 40 81 00 08 */ ble lbl_80041C94
|
|
/* 80041C90 0003DBB0 FC 20 00 90 */ fmr f1, f0
|
|
lbl_80041C94:
|
|
/* 80041C94 0003DBB4 4B FE EF 15 */ bl func_80030BA8
|
|
/* 80041C98 0003DBB8 80 6D 99 24 */ lwz r3, lbl_802F1B04@sda21(r13)
|
|
/* 80041C9C 0003DBBC 80 63 00 28 */ lwz r3, 0x28(r3)
|
|
/* 80041CA0 0003DBC0 4B FE F5 71 */ bl func_80031210
|
|
/* 80041CA4 0003DBC4 80 01 00 54 */ lwz r0, 0x54(r1)
|
|
/* 80041CA8 0003DBC8 83 E1 00 4C */ lwz r31, 0x4c(r1)
|
|
/* 80041CAC 0003DBCC 38 21 00 50 */ addi r1, r1, 0x50
|
|
/* 80041CB0 0003DBD0 7C 08 03 A6 */ mtlr r0
|
|
/* 80041CB4 0003DBD4 4E 80 00 20 */ blr
|
|
|
|
.global func_80041CB8
|
|
func_80041CB8:
|
|
/* 80041CB8 0003DBD8 7C 08 02 A6 */ mflr r0
|
|
/* 80041CBC 0003DBDC 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80041CC0 0003DBE0 94 21 FF 98 */ stwu r1, -0x68(r1)
|
|
/* 80041CC4 0003DBE4 DB E1 00 60 */ stfd f31, 0x60(r1)
|
|
/* 80041CC8 0003DBE8 DB C1 00 58 */ stfd f30, 0x58(r1)
|
|
/* 80041CCC 0003DBEC 93 E1 00 54 */ stw r31, 0x54(r1)
|
|
/* 80041CD0 0003DBF0 3B E1 00 24 */ addi r31, r1, 0x24
|
|
/* 80041CD4 0003DBF4 93 C1 00 50 */ stw r30, 0x50(r1)
|
|
/* 80041CD8 0003DBF8 3B C1 00 18 */ addi r30, r1, 0x18
|
|
/* 80041CDC 0003DBFC 93 A1 00 4C */ stw r29, 0x4c(r1)
|
|
/* 80041CE0 0003DC00 7C 7D 1B 78 */ mr r29, r3
|
|
/* 80041CE4 0003DC04 C0 25 00 00 */ lfs f1, 0(r5)
|
|
/* 80041CE8 0003DC08 C0 04 00 00 */ lfs f0, 0(r4)
|
|
/* 80041CEC 0003DC0C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80041CF0 0003DC10 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 80041CF4 0003DC14 C0 25 00 04 */ lfs f1, 4(r5)
|
|
/* 80041CF8 0003DC18 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 80041CFC 0003DC1C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80041D00 0003DC20 D0 01 00 28 */ stfs f0, 0x28(r1)
|
|
/* 80041D04 0003DC24 C0 25 00 08 */ lfs f1, 8(r5)
|
|
/* 80041D08 0003DC28 C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 80041D0C 0003DC2C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80041D10 0003DC30 D0 01 00 2C */ stfs f0, 0x2c(r1)
|
|
/* 80041D14 0003DC34 C0 26 00 00 */ lfs f1, 0(r6)
|
|
/* 80041D18 0003DC38 C0 04 00 00 */ lfs f0, 0(r4)
|
|
/* 80041D1C 0003DC3C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80041D20 0003DC40 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 80041D24 0003DC44 C0 26 00 04 */ lfs f1, 4(r6)
|
|
/* 80041D28 0003DC48 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 80041D2C 0003DC4C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80041D30 0003DC50 D0 01 00 1C */ stfs f0, 0x1c(r1)
|
|
/* 80041D34 0003DC54 C0 26 00 08 */ lfs f1, 8(r6)
|
|
/* 80041D38 0003DC58 C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 80041D3C 0003DC5C EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80041D40 0003DC60 D0 01 00 20 */ stfs f0, 0x20(r1)
|
|
/* 80041D44 0003DC64 C0 E1 00 28 */ lfs f7, 0x28(r1)
|
|
/* 80041D48 0003DC68 C0 61 00 20 */ lfs f3, 0x20(r1)
|
|
/* 80041D4C 0003DC6C C0 C1 00 2C */ lfs f6, 0x2c(r1)
|
|
/* 80041D50 0003DC70 C0 A1 00 18 */ lfs f5, 0x18(r1)
|
|
/* 80041D54 0003DC74 C1 01 00 24 */ lfs f8, 0x24(r1)
|
|
/* 80041D58 0003DC78 C0 81 00 1C */ lfs f4, 0x1c(r1)
|
|
/* 80041D5C 0003DC7C EC 47 00 F2 */ fmuls f2, f7, f3
|
|
/* 80041D60 0003DC80 EC 26 01 72 */ fmuls f1, f6, f5
|
|
/* 80041D64 0003DC84 EC 08 01 32 */ fmuls f0, f8, f4
|
|
/* 80041D68 0003DC88 EC 46 11 3C */ fnmsubs f2, f6, f4, f2
|
|
/* 80041D6C 0003DC8C D0 41 00 3C */ stfs f2, 0x3c(r1)
|
|
/* 80041D70 0003DC90 EC 28 08 FC */ fnmsubs f1, f8, f3, f1
|
|
/* 80041D74 0003DC94 D0 21 00 40 */ stfs f1, 0x40(r1)
|
|
/* 80041D78 0003DC98 EC 07 01 7C */ fnmsubs f0, f7, f5, f0
|
|
/* 80041D7C 0003DC9C D0 01 00 44 */ stfs f0, 0x44(r1)
|
|
/* 80041D80 0003DCA0 80 64 00 00 */ lwz r3, 0(r4)
|
|
/* 80041D84 0003DCA4 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 80041D88 0003DCA8 90 7D 00 00 */ stw r3, 0(r29)
|
|
/* 80041D8C 0003DCAC 90 1D 00 04 */ stw r0, 4(r29)
|
|
/* 80041D90 0003DCB0 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 80041D94 0003DCB4 90 1D 00 08 */ stw r0, 8(r29)
|
|
/* 80041D98 0003DCB8 C0 21 00 3C */ lfs f1, 0x3c(r1)
|
|
/* 80041D9C 0003DCBC C0 41 00 44 */ lfs f2, 0x44(r1)
|
|
/* 80041DA0 0003DCC0 4B FC 55 05 */ bl mathutil_atan2
|
|
/* 80041DA4 0003DCC4 B0 7D 00 1A */ sth r3, 0x1a(r29)
|
|
/* 80041DA8 0003DCC8 C0 21 00 3C */ lfs f1, 0x3c(r1)
|
|
/* 80041DAC 0003DCCC C0 01 00 44 */ lfs f0, 0x44(r1)
|
|
/* 80041DB0 0003DCD0 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 80041DB4 0003DCD4 EC 00 00 32 */ fmuls f0, f0, f0
|
|
/* 80041DB8 0003DCD8 EC 21 00 2A */ fadds f1, f1, f0
|
|
/* 80041DBC 0003DCDC 4B FC 53 3D */ bl mathutil_sqrt
|
|
/* 80041DC0 0003DCE0 FC 40 08 90 */ fmr f2, f1
|
|
/* 80041DC4 0003DCE4 C0 21 00 40 */ lfs f1, 0x40(r1)
|
|
/* 80041DC8 0003DCE8 4B FC 54 DD */ bl mathutil_atan2
|
|
/* 80041DCC 0003DCEC 7C 03 00 D0 */ neg r0, r3
|
|
/* 80041DD0 0003DCF0 B0 1D 00 18 */ sth r0, 0x18(r29)
|
|
/* 80041DD4 0003DCF4 4B FC 57 91 */ bl mathutil_mtxA_from_identity
|
|
/* 80041DD8 0003DCF8 A8 7D 00 1A */ lha r3, 0x1a(r29)
|
|
/* 80041DDC 0003DCFC 4B FC 62 21 */ bl mathutil_mtxA_rotate_y
|
|
/* 80041DE0 0003DD00 A8 7D 00 18 */ lha r3, 0x18(r29)
|
|
/* 80041DE4 0003DD04 4B FC 61 A5 */ bl mathutil_mtxA_rotate_x
|
|
/* 80041DE8 0003DD08 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 80041DEC 0003DD0C 38 81 00 30 */ addi r4, r1, 0x30
|
|
/* 80041DF0 0003DD10 4B FC 61 31 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
/* 80041DF4 0003DD14 C0 21 00 34 */ lfs f1, 0x34(r1)
|
|
/* 80041DF8 0003DD18 C0 41 00 30 */ lfs f2, 0x30(r1)
|
|
/* 80041DFC 0003DD1C 4B FC 54 A9 */ bl mathutil_atan2
|
|
/* 80041E00 0003DD20 B0 7D 00 1C */ sth r3, 0x1c(r29)
|
|
/* 80041E04 0003DD24 A8 7D 00 1C */ lha r3, 0x1c(r29)
|
|
/* 80041E08 0003DD28 4B FC 62 81 */ bl mathutil_mtxA_rotate_z
|
|
/* 80041E0C 0003DD2C 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 80041E10 0003DD30 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 80041E14 0003DD34 4B FC 60 B9 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80041E18 0003DD38 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 80041E1C 0003DD3C 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 80041E20 0003DD40 4B FC 60 AD */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80041E24 0003DD44 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80041E28 0003DD48 38 7D 00 0C */ addi r3, r29, 0xc
|
|
/* 80041E2C 0003DD4C 38 83 00 00 */ addi r4, r3, 0
|
|
/* 80041E30 0003DD50 D0 1D 00 0C */ stfs f0, 0xc(r29)
|
|
/* 80041E34 0003DD54 D0 1D 00 10 */ stfs f0, 0x10(r29)
|
|
/* 80041E38 0003DD58 C0 02 8E 0C */ lfs f0, lbl_802F360C-_SDA2_BASE_(r2)
|
|
/* 80041E3C 0003DD5C D0 1D 00 14 */ stfs f0, 0x14(r29)
|
|
/* 80041E40 0003DD60 4B FC 5F FD */ bl mathutil_mtxA_tf_vec
|
|
/* 80041E44 0003DD64 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 80041E48 0003DD68 D0 1D 00 20 */ stfs f0, 0x20(r29)
|
|
/* 80041E4C 0003DD6C C0 01 00 28 */ lfs f0, 0x28(r1)
|
|
/* 80041E50 0003DD70 D0 1D 00 24 */ stfs f0, 0x24(r29)
|
|
/* 80041E54 0003DD74 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 80041E58 0003DD78 D0 1D 00 28 */ stfs f0, 0x28(r29)
|
|
/* 80041E5C 0003DD7C C0 01 00 1C */ lfs f0, 0x1c(r1)
|
|
/* 80041E60 0003DD80 D0 1D 00 2C */ stfs f0, 0x2c(r29)
|
|
/* 80041E64 0003DD84 C0 21 00 1C */ lfs f1, 0x1c(r1)
|
|
/* 80041E68 0003DD88 C0 01 00 28 */ lfs f0, 0x28(r1)
|
|
/* 80041E6C 0003DD8C C0 41 00 18 */ lfs f2, 0x18(r1)
|
|
/* 80041E70 0003DD90 EC 61 00 28 */ fsubs f3, f1, f0
|
|
/* 80041E74 0003DD94 C0 21 00 24 */ lfs f1, 0x24(r1)
|
|
/* 80041E78 0003DD98 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 80041E7C 0003DD9C EF C2 08 28 */ fsubs f30, f2, f1
|
|
/* 80041E80 0003DDA0 FF E0 18 50 */ fneg f31, f3
|
|
/* 80041E84 0003DDA4 EC 3E 07 B2 */ fmuls f1, f30, f30
|
|
/* 80041E88 0003DDA8 EC 5F 07 F2 */ fmuls f2, f31, f31
|
|
/* 80041E8C 0003DDAC EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 80041E90 0003DDB0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80041E94 0003DDB4 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 80041E98 0003DDB8 40 82 00 1C */ bne lbl_80041EB4
|
|
/* 80041E9C 0003DDBC 3C 60 80 1B */ lis r3, lbl_801B7F88@ha
|
|
/* 80041EA0 0003DDC0 4C C6 31 82 */ crclr 6
|
|
/* 80041EA4 0003DDC4 38 83 7F 88 */ addi r4, r3, lbl_801B7F88@l
|
|
/* 80041EA8 0003DDC8 38 60 00 02 */ li r3, 2
|
|
/* 80041EAC 0003DDCC 4B FE E3 C1 */ bl func_8003026C
|
|
/* 80041EB0 0003DDD0 48 00 00 7C */ b lbl_80041F2C
|
|
lbl_80041EB4:
|
|
/* 80041EB4 0003DDD4 4B FC 52 85 */ bl mathutil_rsqrt
|
|
/* 80041EB8 0003DDD8 EC 5F 00 72 */ fmuls f2, f31, f1
|
|
/* 80041EBC 0003DDDC EC 1E 00 72 */ fmuls f0, f30, f1
|
|
/* 80041EC0 0003DDE0 D0 5D 00 30 */ stfs f2, 0x30(r29)
|
|
/* 80041EC4 0003DDE4 D0 1D 00 34 */ stfs f0, 0x34(r29)
|
|
/* 80041EC8 0003DDE8 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 80041ECC 0003DDEC C3 E1 00 1C */ lfs f31, 0x1c(r1)
|
|
/* 80041ED0 0003DDF0 FF C0 00 50 */ fneg f30, f0
|
|
/* 80041ED4 0003DDF4 C0 02 8E 2C */ lfs f0, lbl_802F362C-_SDA2_BASE_(r2)
|
|
/* 80041ED8 0003DDF8 FF E0 F8 18 */ frsp f31, f31
|
|
/* 80041EDC 0003DDFC FF C0 F0 18 */ frsp f30, f30
|
|
/* 80041EE0 0003DE00 EC 5F 07 F2 */ fmuls f2, f31, f31
|
|
/* 80041EE4 0003DE04 EC 3E 07 B2 */ fmuls f1, f30, f30
|
|
/* 80041EE8 0003DE08 EC 22 08 2A */ fadds f1, f2, f1
|
|
/* 80041EEC 0003DE0C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80041EF0 0003DE10 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 80041EF4 0003DE14 40 82 00 1C */ bne lbl_80041F10
|
|
/* 80041EF8 0003DE18 3C 60 80 1B */ lis r3, lbl_801B7F88@ha
|
|
/* 80041EFC 0003DE1C 4C C6 31 82 */ crclr 6
|
|
/* 80041F00 0003DE20 38 83 7F 88 */ addi r4, r3, lbl_801B7F88@l
|
|
/* 80041F04 0003DE24 38 60 00 02 */ li r3, 2
|
|
/* 80041F08 0003DE28 4B FE E3 65 */ bl func_8003026C
|
|
/* 80041F0C 0003DE2C 48 00 00 20 */ b lbl_80041F2C
|
|
lbl_80041F10:
|
|
/* 80041F10 0003DE30 4B FC 52 29 */ bl mathutil_rsqrt
|
|
/* 80041F14 0003DE34 EC 5F 00 72 */ fmuls f2, f31, f1
|
|
/* 80041F18 0003DE38 38 00 00 00 */ li r0, 0
|
|
/* 80041F1C 0003DE3C EC 1E 00 72 */ fmuls f0, f30, f1
|
|
/* 80041F20 0003DE40 D0 5D 00 38 */ stfs f2, 0x38(r29)
|
|
/* 80041F24 0003DE44 D0 1D 00 3C */ stfs f0, 0x3c(r29)
|
|
/* 80041F28 0003DE48 B0 1D 00 1E */ sth r0, 0x1e(r29)
|
|
lbl_80041F2C:
|
|
/* 80041F2C 0003DE4C 80 01 00 6C */ lwz r0, 0x6c(r1)
|
|
/* 80041F30 0003DE50 CB E1 00 60 */ lfd f31, 0x60(r1)
|
|
/* 80041F34 0003DE54 CB C1 00 58 */ lfd f30, 0x58(r1)
|
|
/* 80041F38 0003DE58 7C 08 03 A6 */ mtlr r0
|
|
/* 80041F3C 0003DE5C 83 E1 00 54 */ lwz r31, 0x54(r1)
|
|
/* 80041F40 0003DE60 83 C1 00 50 */ lwz r30, 0x50(r1)
|
|
/* 80041F44 0003DE64 83 A1 00 4C */ lwz r29, 0x4c(r1)
|
|
/* 80041F48 0003DE68 38 21 00 68 */ addi r1, r1, 0x68
|
|
/* 80041F4C 0003DE6C 4E 80 00 20 */ blr
|
|
|
|
.global func_80041F50
|
|
func_80041F50:
|
|
/* 80041F50 0003DE70 7C 08 02 A6 */ mflr r0
|
|
/* 80041F54 0003DE74 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80041F58 0003DE78 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 80041F5C 0003DE7C 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 80041F60 0003DE80 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 80041F64 0003DE84 38 9F 00 04 */ addi r4, r31, 4
|
|
/* 80041F68 0003DE88 93 C1 00 10 */ stw r30, 0x10(r1)
|
|
/* 80041F6C 0003DE8C 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 80041F70 0003DE90 38 7E 00 04 */ addi r3, r30, 4
|
|
/* 80041F74 0003DE94 4B FC 5E B9 */ bl mathutil_mtxA_tf_point
|
|
/* 80041F78 0003DE98 38 7E 00 10 */ addi r3, r30, 0x10
|
|
/* 80041F7C 0003DE9C 38 9F 00 10 */ addi r4, r31, 0x10
|
|
/* 80041F80 0003DEA0 4B FC 5E AD */ bl mathutil_mtxA_tf_point
|
|
/* 80041F84 0003DEA4 38 7E 00 1C */ addi r3, r30, 0x1c
|
|
/* 80041F88 0003DEA8 38 9F 00 1C */ addi r4, r31, 0x1c
|
|
/* 80041F8C 0003DEAC 4B FC 5E B1 */ bl mathutil_mtxA_tf_vec
|
|
/* 80041F90 0003DEB0 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 80041F94 0003DEB4 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 80041F98 0003DEB8 83 C1 00 10 */ lwz r30, 0x10(r1)
|
|
/* 80041F9C 0003DEBC 7C 08 03 A6 */ mtlr r0
|
|
/* 80041FA0 0003DEC0 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 80041FA4 0003DEC4 4E 80 00 20 */ blr
|
|
|
|
.global func_80041FA8
|
|
func_80041FA8:
|
|
/* 80041FA8 0003DEC8 7C 08 02 A6 */ mflr r0
|
|
/* 80041FAC 0003DECC 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80041FB0 0003DED0 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 80041FB4 0003DED4 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 80041FB8 0003DED8 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 80041FBC 0003DEDC 38 9F 00 04 */ addi r4, r31, 4
|
|
/* 80041FC0 0003DEE0 93 C1 00 10 */ stw r30, 0x10(r1)
|
|
/* 80041FC4 0003DEE4 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 80041FC8 0003DEE8 38 7E 00 04 */ addi r3, r30, 4
|
|
/* 80041FCC 0003DEEC 4B FC 5F 01 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80041FD0 0003DEF0 38 7E 00 10 */ addi r3, r30, 0x10
|
|
/* 80041FD4 0003DEF4 38 9F 00 10 */ addi r4, r31, 0x10
|
|
/* 80041FD8 0003DEF8 4B FC 5E F5 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80041FDC 0003DEFC 38 7E 00 1C */ addi r3, r30, 0x1c
|
|
/* 80041FE0 0003DF00 38 9F 00 1C */ addi r4, r31, 0x1c
|
|
/* 80041FE4 0003DF04 4B FC 5F 3D */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
/* 80041FE8 0003DF08 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 80041FEC 0003DF0C 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 80041FF0 0003DF10 83 C1 00 10 */ lwz r30, 0x10(r1)
|
|
/* 80041FF4 0003DF14 7C 08 03 A6 */ mtlr r0
|
|
/* 80041FF8 0003DF18 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 80041FFC 0003DF1C 4E 80 00 20 */ blr
|
|
|
|
.global func_80042000
|
|
func_80042000:
|
|
/* 80042000 0003DF20 7C 08 02 A6 */ mflr r0
|
|
/* 80042004 0003DF24 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80042008 0003DF28 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8004200C 0003DF2C 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 80042010 0003DF30 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 80042014 0003DF34 3B C4 00 00 */ addi r30, r4, 0
|
|
/* 80042018 0003DF38 93 A1 00 24 */ stw r29, 0x24(r1)
|
|
/* 8004201C 0003DF3C 7C 7D 1B 78 */ mr r29, r3
|
|
/* 80042020 0003DF40 80 03 00 58 */ lwz r0, 0x58(r3)
|
|
/* 80042024 0003DF44 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80042028 0003DF48 40 81 00 E4 */ ble lbl_8004210C
|
|
/* 8004202C 0003DF4C C0 3D 00 04 */ lfs f1, 4(r29)
|
|
/* 80042030 0003DF50 1C 80 00 84 */ mulli r4, r0, 0x84
|
|
/* 80042034 0003DF54 C0 1D 00 10 */ lfs f0, 0x10(r29)
|
|
/* 80042038 0003DF58 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8004203C 0003DF5C 3C 60 80 20 */ lis r3, lbl_80206E48@ha
|
|
/* 80042040 0003DF60 38 03 6E 48 */ addi r0, r3, lbl_80206E48@l
|
|
/* 80042044 0003DF64 7F E0 22 14 */ add r31, r0, r4
|
|
/* 80042048 0003DF68 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 8004204C 0003DF6C 38 7F 00 24 */ addi r3, r31, 0x24
|
|
/* 80042050 0003DF70 C0 3D 00 08 */ lfs f1, 8(r29)
|
|
/* 80042054 0003DF74 C0 1D 00 14 */ lfs f0, 0x14(r29)
|
|
/* 80042058 0003DF78 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8004205C 0003DF7C D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 80042060 0003DF80 C0 3D 00 0C */ lfs f1, 0xc(r29)
|
|
/* 80042064 0003DF84 C0 1D 00 18 */ lfs f0, 0x18(r29)
|
|
/* 80042068 0003DF88 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 8004206C 0003DF8C D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 80042070 0003DF90 4B FC 58 41 */ bl mathutil_mtxA_from_mtx
|
|
/* 80042074 0003DF94 38 7D 00 04 */ addi r3, r29, 4
|
|
/* 80042078 0003DF98 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8004207C 0003DF9C 4B FC 5D B1 */ bl mathutil_mtxA_tf_point
|
|
/* 80042080 0003DFA0 38 7D 00 1C */ addi r3, r29, 0x1c
|
|
/* 80042084 0003DFA4 38 83 00 00 */ addi r4, r3, 0
|
|
/* 80042088 0003DFA8 4B FC 5D B5 */ bl mathutil_mtxA_tf_vec
|
|
/* 8004208C 0003DFAC 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 80042090 0003DFB0 38 83 00 00 */ addi r4, r3, 0
|
|
/* 80042094 0003DFB4 4B FC 5D A9 */ bl mathutil_mtxA_tf_vec
|
|
/* 80042098 0003DFB8 38 7F 00 54 */ addi r3, r31, 0x54
|
|
/* 8004209C 0003DFBC 4B FC 58 15 */ bl mathutil_mtxA_from_mtx
|
|
/* 800420A0 0003DFC0 38 7D 00 10 */ addi r3, r29, 0x10
|
|
/* 800420A4 0003DFC4 38 83 00 00 */ addi r4, r3, 0
|
|
/* 800420A8 0003DFC8 4B FC 5D 85 */ bl mathutil_mtxA_tf_point
|
|
/* 800420AC 0003DFCC C0 5D 00 04 */ lfs f2, 4(r29)
|
|
/* 800420B0 0003DFD0 C0 3D 00 10 */ lfs f1, 0x10(r29)
|
|
/* 800420B4 0003DFD4 C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 800420B8 0003DFD8 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800420BC 0003DFDC C0 5D 00 1C */ lfs f2, 0x1c(r29)
|
|
/* 800420C0 0003DFE0 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800420C4 0003DFE4 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800420C8 0003DFE8 D0 1D 00 1C */ stfs f0, 0x1c(r29)
|
|
/* 800420CC 0003DFEC C0 5D 00 08 */ lfs f2, 8(r29)
|
|
/* 800420D0 0003DFF0 C0 3D 00 14 */ lfs f1, 0x14(r29)
|
|
/* 800420D4 0003DFF4 C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 800420D8 0003DFF8 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800420DC 0003DFFC C0 5D 00 20 */ lfs f2, 0x20(r29)
|
|
/* 800420E0 0003E000 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800420E4 0003E004 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800420E8 0003E008 D0 1D 00 20 */ stfs f0, 0x20(r29)
|
|
/* 800420EC 0003E00C C0 5D 00 0C */ lfs f2, 0xc(r29)
|
|
/* 800420F0 0003E010 C0 3D 00 18 */ lfs f1, 0x18(r29)
|
|
/* 800420F4 0003E014 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 800420F8 0003E018 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800420FC 0003E01C C0 5D 00 24 */ lfs f2, 0x24(r29)
|
|
/* 80042100 0003E020 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80042104 0003E024 EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 80042108 0003E028 D0 1D 00 24 */ stfs f0, 0x24(r29)
|
|
lbl_8004210C:
|
|
/* 8004210C 0003E02C 2C 1E 00 00 */ cmpwi r30, 0
|
|
/* 80042110 0003E030 40 81 00 E4 */ ble lbl_800421F4
|
|
/* 80042114 0003E034 C0 3D 00 04 */ lfs f1, 4(r29)
|
|
/* 80042118 0003E038 3C 60 80 20 */ lis r3, lbl_80206E48@ha
|
|
/* 8004211C 0003E03C C0 1D 00 10 */ lfs f0, 0x10(r29)
|
|
/* 80042120 0003E040 1C 9E 00 84 */ mulli r4, r30, 0x84
|
|
/* 80042124 0003E044 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80042128 0003E048 38 03 6E 48 */ addi r0, r3, lbl_80206E48@l
|
|
/* 8004212C 0003E04C 7F E0 22 14 */ add r31, r0, r4
|
|
/* 80042130 0003E050 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 80042134 0003E054 38 7F 00 24 */ addi r3, r31, 0x24
|
|
/* 80042138 0003E058 C0 3D 00 08 */ lfs f1, 8(r29)
|
|
/* 8004213C 0003E05C C0 1D 00 14 */ lfs f0, 0x14(r29)
|
|
/* 80042140 0003E060 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80042144 0003E064 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 80042148 0003E068 C0 3D 00 0C */ lfs f1, 0xc(r29)
|
|
/* 8004214C 0003E06C C0 1D 00 18 */ lfs f0, 0x18(r29)
|
|
/* 80042150 0003E070 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 80042154 0003E074 D0 01 00 18 */ stfs f0, 0x18(r1)
|
|
/* 80042158 0003E078 4B FC 57 59 */ bl mathutil_mtxA_from_mtx
|
|
/* 8004215C 0003E07C 38 7D 00 04 */ addi r3, r29, 4
|
|
/* 80042160 0003E080 38 83 00 00 */ addi r4, r3, 0
|
|
/* 80042164 0003E084 4B FC 5D 69 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80042168 0003E088 38 7D 00 1C */ addi r3, r29, 0x1c
|
|
/* 8004216C 0003E08C 38 83 00 00 */ addi r4, r3, 0
|
|
/* 80042170 0003E090 4B FC 5D B1 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
/* 80042174 0003E094 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 80042178 0003E098 38 83 00 00 */ addi r4, r3, 0
|
|
/* 8004217C 0003E09C 4B FC 5D A5 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
/* 80042180 0003E0A0 38 7F 00 54 */ addi r3, r31, 0x54
|
|
/* 80042184 0003E0A4 4B FC 57 2D */ bl mathutil_mtxA_from_mtx
|
|
/* 80042188 0003E0A8 38 7D 00 10 */ addi r3, r29, 0x10
|
|
/* 8004218C 0003E0AC 38 83 00 00 */ addi r4, r3, 0
|
|
/* 80042190 0003E0B0 4B FC 5D 3D */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
/* 80042194 0003E0B4 C0 5D 00 04 */ lfs f2, 4(r29)
|
|
/* 80042198 0003E0B8 C0 3D 00 10 */ lfs f1, 0x10(r29)
|
|
/* 8004219C 0003E0BC C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 800421A0 0003E0C0 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800421A4 0003E0C4 C0 5D 00 1C */ lfs f2, 0x1c(r29)
|
|
/* 800421A8 0003E0C8 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800421AC 0003E0CC EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800421B0 0003E0D0 D0 1D 00 1C */ stfs f0, 0x1c(r29)
|
|
/* 800421B4 0003E0D4 C0 5D 00 08 */ lfs f2, 8(r29)
|
|
/* 800421B8 0003E0D8 C0 3D 00 14 */ lfs f1, 0x14(r29)
|
|
/* 800421BC 0003E0DC C0 01 00 14 */ lfs f0, 0x14(r1)
|
|
/* 800421C0 0003E0E0 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800421C4 0003E0E4 C0 5D 00 20 */ lfs f2, 0x20(r29)
|
|
/* 800421C8 0003E0E8 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800421CC 0003E0EC EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800421D0 0003E0F0 D0 1D 00 20 */ stfs f0, 0x20(r29)
|
|
/* 800421D4 0003E0F4 C0 5D 00 0C */ lfs f2, 0xc(r29)
|
|
/* 800421D8 0003E0F8 C0 3D 00 18 */ lfs f1, 0x18(r29)
|
|
/* 800421DC 0003E0FC C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 800421E0 0003E100 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800421E4 0003E104 C0 5D 00 24 */ lfs f2, 0x24(r29)
|
|
/* 800421E8 0003E108 EC 01 00 28 */ fsubs f0, f1, f0
|
|
/* 800421EC 0003E10C EC 02 00 2A */ fadds f0, f2, f0
|
|
/* 800421F0 0003E110 D0 1D 00 24 */ stfs f0, 0x24(r29)
|
|
lbl_800421F4:
|
|
/* 800421F4 0003E114 93 DD 00 58 */ stw r30, 0x58(r29)
|
|
/* 800421F8 0003E118 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 800421FC 0003E11C 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 80042200 0003E120 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 80042204 0003E124 7C 08 03 A6 */ mtlr r0
|
|
/* 80042208 0003E128 83 A1 00 24 */ lwz r29, 0x24(r1)
|
|
/* 8004220C 0003E12C 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80042210 0003E130 4E 80 00 20 */ blr
|
|
|
|
glabel func_80042214
|
|
/* 80042214 0003E134 54 60 04 21 */ rlwinm. r0, r3, 0, 0x10, 0x10
|
|
/* 80042218 0003E138 40 82 00 0C */ bne lbl_80042224
|
|
/* 8004221C 0003E13C 38 60 00 00 */ li r3, 0
|
|
/* 80042220 0003E140 4E 80 00 20 */ blr
|
|
lbl_80042224:
|
|
/* 80042224 0003E144 54 63 FC BE */ rlwinm r3, r3, 0x1f, 0x12, 0x1f
|
|
/* 80042228 0003E148 4E 80 00 20 */ blr
|
|
|
|
glabel func_8004222C
|
|
/* 8004222C 0003E14C 7C 08 02 A6 */ mflr r0
|
|
/* 80042230 0003E150 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80042234 0003E154 94 21 FF 70 */ stwu r1, -0x90(r1)
|
|
/* 80042238 0003E158 DB E1 00 88 */ stfd f31, 0x88(r1)
|
|
/* 8004223C 0003E15C DB C1 00 80 */ stfd f30, 0x80(r1)
|
|
/* 80042240 0003E160 BF 21 00 64 */ stmw r25, 0x64(r1)
|
|
/* 80042244 0003E164 7C 9C 23 78 */ mr r28, r4
|
|
/* 80042248 0003E168 3B 63 00 00 */ addi r27, r3, 0
|
|
/* 8004224C 0003E16C 3B A0 00 00 */ li r29, 0
|
|
/* 80042250 0003E170 3F E0 43 30 */ lis r31, 0x4330
|
|
/* 80042254 0003E174 CB C2 8E 18 */ lfd f30, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 80042258 0003E178 83 C4 00 0C */ lwz r30, 0xc(r4)
|
|
/* 8004225C 0003E17C 48 00 02 00 */ b lbl_8004245C
|
|
lbl_80042260:
|
|
/* 80042260 0003E180 80 1B 00 58 */ lwz r0, 0x58(r27)
|
|
/* 80042264 0003E184 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 80042268 0003E188 41 82 00 10 */ beq lbl_80042278
|
|
/* 8004226C 0003E18C 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 80042270 0003E190 38 9D 00 00 */ addi r4, r29, 0
|
|
/* 80042274 0003E194 4B FF FD 8D */ bl func_80042000
|
|
lbl_80042278:
|
|
/* 80042278 0003E198 80 1E 00 20 */ lwz r0, 0x20(r30)
|
|
/* 8004227C 0003E19C 38 60 00 00 */ li r3, 0
|
|
/* 80042280 0003E1A0 C0 7B 00 18 */ lfs f3, 0x18(r27)
|
|
/* 80042284 0003E1A4 7C 00 18 40 */ cmplw r0, r3
|
|
/* 80042288 0003E1A8 C0 5B 00 10 */ lfs f2, 0x10(r27)
|
|
/* 8004228C 0003E1AC 40 82 00 08 */ bne lbl_80042294
|
|
/* 80042290 0003E1B0 48 00 00 E8 */ b lbl_80042378
|
|
lbl_80042294:
|
|
/* 80042294 0003E1B4 C0 3E 00 24 */ lfs f1, 0x24(r30)
|
|
/* 80042298 0003E1B8 C0 1E 00 2C */ lfs f0, 0x2c(r30)
|
|
/* 8004229C 0003E1BC EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800422A0 0003E1C0 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 800422A4 0003E1C4 FC 00 04 8E */ mffs f0
|
|
/* 800422A8 0003E1C8 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 800422AC 0003E1CC FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 800422B0 0003E1D0 FC 20 08 1C */ fctiw f1, f1
|
|
/* 800422B4 0003E1D4 D8 21 00 38 */ stfd f1, 0x38(r1)
|
|
/* 800422B8 0003E1D8 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 800422BC 0003E1DC C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 800422C0 0003E1E0 80 01 00 3C */ lwz r0, 0x3c(r1)
|
|
/* 800422C4 0003E1E4 EC 23 00 28 */ fsubs f1, f3, f0
|
|
/* 800422C8 0003E1E8 C0 1E 00 30 */ lfs f0, 0x30(r30)
|
|
/* 800422CC 0003E1EC 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800422D0 0003E1F0 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 800422D4 0003E1F4 90 01 00 5C */ stw r0, 0x5c(r1)
|
|
/* 800422D8 0003E1F8 93 E1 00 58 */ stw r31, 0x58(r1)
|
|
/* 800422DC 0003E1FC C8 01 00 58 */ lfd f0, 0x58(r1)
|
|
/* 800422E0 0003E200 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 800422E4 0003E204 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 800422E8 0003E208 D8 01 00 50 */ stfd f0, 0x50(r1)
|
|
/* 800422EC 0003E20C 80 A1 00 54 */ lwz r5, 0x54(r1)
|
|
/* 800422F0 0003E210 FC 00 04 8E */ mffs f0
|
|
/* 800422F4 0003E214 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 800422F8 0003E218 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 800422FC 0003E21C FC 20 08 1C */ fctiw f1, f1
|
|
/* 80042300 0003E220 D8 21 00 30 */ stfd f1, 0x30(r1)
|
|
/* 80042304 0003E224 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 80042308 0003E228 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 8004230C 0003E22C 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 80042310 0003E230 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 80042314 0003E234 90 01 00 4C */ stw r0, 0x4c(r1)
|
|
/* 80042318 0003E238 93 E1 00 48 */ stw r31, 0x48(r1)
|
|
/* 8004231C 0003E23C C8 01 00 48 */ lfd f0, 0x48(r1)
|
|
/* 80042320 0003E240 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 80042324 0003E244 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80042328 0003E248 D8 01 00 40 */ stfd f0, 0x40(r1)
|
|
/* 8004232C 0003E24C 80 81 00 44 */ lwz r4, 0x44(r1)
|
|
/* 80042330 0003E250 41 80 00 10 */ blt lbl_80042340
|
|
/* 80042334 0003E254 80 7E 00 34 */ lwz r3, 0x34(r30)
|
|
/* 80042338 0003E258 7C 05 18 00 */ cmpw r5, r3
|
|
/* 8004233C 0003E25C 41 80 00 0C */ blt lbl_80042348
|
|
lbl_80042340:
|
|
/* 80042340 0003E260 38 60 00 00 */ li r3, 0
|
|
/* 80042344 0003E264 48 00 00 34 */ b lbl_80042378
|
|
lbl_80042348:
|
|
/* 80042348 0003E268 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 8004234C 0003E26C 41 80 00 10 */ blt lbl_8004235C
|
|
/* 80042350 0003E270 80 1E 00 38 */ lwz r0, 0x38(r30)
|
|
/* 80042354 0003E274 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80042358 0003E278 41 80 00 0C */ blt lbl_80042364
|
|
lbl_8004235C:
|
|
/* 8004235C 0003E27C 38 60 00 00 */ li r3, 0
|
|
/* 80042360 0003E280 48 00 00 18 */ b lbl_80042378
|
|
lbl_80042364:
|
|
/* 80042364 0003E284 7C 04 19 D6 */ mullw r0, r4, r3
|
|
/* 80042368 0003E288 80 7E 00 20 */ lwz r3, 0x20(r30)
|
|
/* 8004236C 0003E28C 7C 05 02 14 */ add r0, r5, r0
|
|
/* 80042370 0003E290 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 80042374 0003E294 7C 63 00 2E */ lwzx r3, r3, r0
|
|
lbl_80042378:
|
|
/* 80042378 0003E298 38 00 00 00 */ li r0, 0
|
|
/* 8004237C 0003E29C 7C 03 00 40 */ cmplw r3, r0
|
|
/* 80042380 0003E2A0 41 82 00 34 */ beq lbl_800423B4
|
|
/* 80042384 0003E2A4 7C 7A 1B 78 */ mr r26, r3
|
|
/* 80042388 0003E2A8 48 00 00 20 */ b lbl_800423A8
|
|
lbl_8004238C:
|
|
/* 8004238C 0003E2AC A8 1A 00 00 */ lha r0, 0(r26)
|
|
/* 80042390 0003E2B0 7F 63 DB 78 */ mr r3, r27
|
|
/* 80042394 0003E2B4 80 9E 00 1C */ lwz r4, 0x1c(r30)
|
|
/* 80042398 0003E2B8 54 00 30 32 */ slwi r0, r0, 6
|
|
/* 8004239C 0003E2BC 7C 84 02 14 */ add r4, r4, r0
|
|
/* 800423A0 0003E2C0 4B FF BA 8D */ bl func_8003DE2C
|
|
/* 800423A4 0003E2C4 3B 5A 00 02 */ addi r26, r26, 2
|
|
lbl_800423A8:
|
|
/* 800423A8 0003E2C8 A8 1A 00 00 */ lha r0, 0(r26)
|
|
/* 800423AC 0003E2CC 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 800423B0 0003E2D0 40 80 FF DC */ bge lbl_8004238C
|
|
lbl_800423B4:
|
|
/* 800423B4 0003E2D4 83 5E 00 68 */ lwz r26, 0x68(r30)
|
|
/* 800423B8 0003E2D8 83 3E 00 64 */ lwz r25, 0x64(r30)
|
|
/* 800423BC 0003E2DC 48 00 00 18 */ b lbl_800423D4
|
|
lbl_800423C0:
|
|
/* 800423C0 0003E2E0 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 800423C4 0003E2E4 38 9A 00 00 */ addi r4, r26, 0
|
|
/* 800423C8 0003E2E8 4B FF CF B1 */ bl func_8003F378
|
|
/* 800423CC 0003E2EC 3B 39 FF FF */ addi r25, r25, -1
|
|
/* 800423D0 0003E2F0 3B 5A 00 20 */ addi r26, r26, 0x20
|
|
lbl_800423D4:
|
|
/* 800423D4 0003E2F4 2C 19 00 00 */ cmpwi r25, 0
|
|
/* 800423D8 0003E2F8 41 81 FF E8 */ bgt lbl_800423C0
|
|
/* 800423DC 0003E2FC 83 3E 00 70 */ lwz r25, 0x70(r30)
|
|
/* 800423E0 0003E300 83 5E 00 6C */ lwz r26, 0x6c(r30)
|
|
/* 800423E4 0003E304 48 00 00 18 */ b lbl_800423FC
|
|
lbl_800423E8:
|
|
/* 800423E8 0003E308 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 800423EC 0003E30C 38 99 00 00 */ addi r4, r25, 0
|
|
/* 800423F0 0003E310 4B FF CE 59 */ bl func_8003F248
|
|
/* 800423F4 0003E314 3B 5A FF FF */ addi r26, r26, -1
|
|
/* 800423F8 0003E318 3B 39 00 14 */ addi r25, r25, 0x14
|
|
lbl_800423FC:
|
|
/* 800423FC 0003E31C 2C 1A 00 00 */ cmpwi r26, 0
|
|
/* 80042400 0003E320 41 81 FF E8 */ bgt lbl_800423E8
|
|
/* 80042404 0003E324 83 3E 00 78 */ lwz r25, 0x78(r30)
|
|
/* 80042408 0003E328 83 5E 00 74 */ lwz r26, 0x74(r30)
|
|
/* 8004240C 0003E32C 48 00 00 18 */ b lbl_80042424
|
|
lbl_80042410:
|
|
/* 80042410 0003E330 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 80042414 0003E334 38 99 00 00 */ addi r4, r25, 0
|
|
/* 80042418 0003E338 4B FF C9 99 */ bl func_8003EDB0
|
|
/* 8004241C 0003E33C 3B 5A FF FF */ addi r26, r26, -1
|
|
/* 80042420 0003E340 3B 39 00 1C */ addi r25, r25, 0x1c
|
|
lbl_80042424:
|
|
/* 80042424 0003E344 2C 1A 00 00 */ cmpwi r26, 0
|
|
/* 80042428 0003E348 41 81 FF E8 */ bgt lbl_80042410
|
|
/* 8004242C 0003E34C 83 3E 00 40 */ lwz r25, 0x40(r30)
|
|
/* 80042430 0003E350 83 5E 00 3C */ lwz r26, 0x3c(r30)
|
|
/* 80042434 0003E354 48 00 00 18 */ b lbl_8004244C
|
|
lbl_80042438:
|
|
/* 80042438 0003E358 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 8004243C 0003E35C 38 99 00 00 */ addi r4, r25, 0
|
|
/* 80042440 0003E360 4B FF E6 E1 */ bl func_80040B20
|
|
/* 80042444 0003E364 3B 5A FF FF */ addi r26, r26, -1
|
|
/* 80042448 0003E368 3B 39 00 14 */ addi r25, r25, 0x14
|
|
lbl_8004244C:
|
|
/* 8004244C 0003E36C 2C 1A 00 00 */ cmpwi r26, 0
|
|
/* 80042450 0003E370 41 81 FF E8 */ bgt lbl_80042438
|
|
/* 80042454 0003E374 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 80042458 0003E378 3B DE 00 C4 */ addi r30, r30, 0xc4
|
|
lbl_8004245C:
|
|
/* 8004245C 0003E37C 80 1C 00 08 */ lwz r0, 8(r28)
|
|
/* 80042460 0003E380 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 80042464 0003E384 41 80 FD FC */ blt lbl_80042260
|
|
/* 80042468 0003E388 C3 FB 00 30 */ lfs f31, 0x30(r27)
|
|
/* 8004246C 0003E38C 3B A0 00 00 */ li r29, 0
|
|
/* 80042470 0003E390 C0 02 8E 08 */ lfs f0, lbl_802F3608-_SDA2_BASE_(r2)
|
|
/* 80042474 0003E394 3F E0 43 30 */ lis r31, 0x4330
|
|
/* 80042478 0003E398 D0 1B 00 30 */ stfs f0, 0x30(r27)
|
|
/* 8004247C 0003E39C 83 DC 00 0C */ lwz r30, 0xc(r28)
|
|
/* 80042480 0003E3A0 CB C2 8E 18 */ lfd f30, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 80042484 0003E3A4 48 00 01 60 */ b lbl_800425E4
|
|
lbl_80042488:
|
|
/* 80042488 0003E3A8 80 1B 00 58 */ lwz r0, 0x58(r27)
|
|
/* 8004248C 0003E3AC 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 80042490 0003E3B0 41 82 00 10 */ beq lbl_800424A0
|
|
/* 80042494 0003E3B4 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 80042498 0003E3B8 38 9D 00 00 */ addi r4, r29, 0
|
|
/* 8004249C 0003E3BC 4B FF FB 65 */ bl func_80042000
|
|
lbl_800424A0:
|
|
/* 800424A0 0003E3C0 80 1E 00 20 */ lwz r0, 0x20(r30)
|
|
/* 800424A4 0003E3C4 38 60 00 00 */ li r3, 0
|
|
/* 800424A8 0003E3C8 C0 7B 00 18 */ lfs f3, 0x18(r27)
|
|
/* 800424AC 0003E3CC 7C 00 18 40 */ cmplw r0, r3
|
|
/* 800424B0 0003E3D0 C0 5B 00 10 */ lfs f2, 0x10(r27)
|
|
/* 800424B4 0003E3D4 40 82 00 08 */ bne lbl_800424BC
|
|
/* 800424B8 0003E3D8 48 00 00 E8 */ b lbl_800425A0
|
|
lbl_800424BC:
|
|
/* 800424BC 0003E3DC C0 3E 00 24 */ lfs f1, 0x24(r30)
|
|
/* 800424C0 0003E3E0 C0 1E 00 2C */ lfs f0, 0x2c(r30)
|
|
/* 800424C4 0003E3E4 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 800424C8 0003E3E8 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 800424CC 0003E3EC FC 00 04 8E */ mffs f0
|
|
/* 800424D0 0003E3F0 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 800424D4 0003E3F4 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 800424D8 0003E3F8 FC 20 08 1C */ fctiw f1, f1
|
|
/* 800424DC 0003E3FC D8 21 00 28 */ stfd f1, 0x28(r1)
|
|
/* 800424E0 0003E400 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 800424E4 0003E404 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 800424E8 0003E408 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 800424EC 0003E40C EC 23 00 28 */ fsubs f1, f3, f0
|
|
/* 800424F0 0003E410 C0 1E 00 30 */ lfs f0, 0x30(r30)
|
|
/* 800424F4 0003E414 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800424F8 0003E418 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 800424FC 0003E41C 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 80042500 0003E420 93 E1 00 40 */ stw r31, 0x40(r1)
|
|
/* 80042504 0003E424 C8 01 00 40 */ lfd f0, 0x40(r1)
|
|
/* 80042508 0003E428 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 8004250C 0003E42C FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80042510 0003E430 D8 01 00 48 */ stfd f0, 0x48(r1)
|
|
/* 80042514 0003E434 80 A1 00 4C */ lwz r5, 0x4c(r1)
|
|
/* 80042518 0003E438 FC 00 04 8E */ mffs f0
|
|
/* 8004251C 0003E43C FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 80042520 0003E440 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 80042524 0003E444 FC 20 08 1C */ fctiw f1, f1
|
|
/* 80042528 0003E448 D8 21 00 20 */ stfd f1, 0x20(r1)
|
|
/* 8004252C 0003E44C FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 80042530 0003E450 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80042534 0003E454 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 80042538 0003E458 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8004253C 0003E45C 90 01 00 54 */ stw r0, 0x54(r1)
|
|
/* 80042540 0003E460 93 E1 00 50 */ stw r31, 0x50(r1)
|
|
/* 80042544 0003E464 C8 01 00 50 */ lfd f0, 0x50(r1)
|
|
/* 80042548 0003E468 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 8004254C 0003E46C FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80042550 0003E470 D8 01 00 58 */ stfd f0, 0x58(r1)
|
|
/* 80042554 0003E474 80 81 00 5C */ lwz r4, 0x5c(r1)
|
|
/* 80042558 0003E478 41 80 00 10 */ blt lbl_80042568
|
|
/* 8004255C 0003E47C 80 7E 00 34 */ lwz r3, 0x34(r30)
|
|
/* 80042560 0003E480 7C 05 18 00 */ cmpw r5, r3
|
|
/* 80042564 0003E484 41 80 00 0C */ blt lbl_80042570
|
|
lbl_80042568:
|
|
/* 80042568 0003E488 38 60 00 00 */ li r3, 0
|
|
/* 8004256C 0003E48C 48 00 00 34 */ b lbl_800425A0
|
|
lbl_80042570:
|
|
/* 80042570 0003E490 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 80042574 0003E494 41 80 00 10 */ blt lbl_80042584
|
|
/* 80042578 0003E498 80 1E 00 38 */ lwz r0, 0x38(r30)
|
|
/* 8004257C 0003E49C 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80042580 0003E4A0 41 80 00 0C */ blt lbl_8004258C
|
|
lbl_80042584:
|
|
/* 80042584 0003E4A4 38 60 00 00 */ li r3, 0
|
|
/* 80042588 0003E4A8 48 00 00 18 */ b lbl_800425A0
|
|
lbl_8004258C:
|
|
/* 8004258C 0003E4AC 7C 04 19 D6 */ mullw r0, r4, r3
|
|
/* 80042590 0003E4B0 80 7E 00 20 */ lwz r3, 0x20(r30)
|
|
/* 80042594 0003E4B4 7C 05 02 14 */ add r0, r5, r0
|
|
/* 80042598 0003E4B8 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 8004259C 0003E4BC 7C 63 00 2E */ lwzx r3, r3, r0
|
|
lbl_800425A0:
|
|
/* 800425A0 0003E4C0 38 00 00 00 */ li r0, 0
|
|
/* 800425A4 0003E4C4 7C 03 00 40 */ cmplw r3, r0
|
|
/* 800425A8 0003E4C8 41 82 00 34 */ beq lbl_800425DC
|
|
/* 800425AC 0003E4CC 7C 79 1B 78 */ mr r25, r3
|
|
/* 800425B0 0003E4D0 48 00 00 20 */ b lbl_800425D0
|
|
lbl_800425B4:
|
|
/* 800425B4 0003E4D4 A8 19 00 00 */ lha r0, 0(r25)
|
|
/* 800425B8 0003E4D8 7F 63 DB 78 */ mr r3, r27
|
|
/* 800425BC 0003E4DC 80 9E 00 1C */ lwz r4, 0x1c(r30)
|
|
/* 800425C0 0003E4E0 54 00 30 32 */ slwi r0, r0, 6
|
|
/* 800425C4 0003E4E4 7C 84 02 14 */ add r4, r4, r0
|
|
/* 800425C8 0003E4E8 4B FF BA C5 */ bl func_8003E08C
|
|
/* 800425CC 0003E4EC 3B 39 00 02 */ addi r25, r25, 2
|
|
lbl_800425D0:
|
|
/* 800425D0 0003E4F0 A8 19 00 00 */ lha r0, 0(r25)
|
|
/* 800425D4 0003E4F4 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 800425D8 0003E4F8 40 80 FF DC */ bge lbl_800425B4
|
|
lbl_800425DC:
|
|
/* 800425DC 0003E4FC 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 800425E0 0003E500 3B DE 00 C4 */ addi r30, r30, 0xc4
|
|
lbl_800425E4:
|
|
/* 800425E4 0003E504 80 1C 00 08 */ lwz r0, 8(r28)
|
|
/* 800425E8 0003E508 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 800425EC 0003E50C 41 80 FE 9C */ blt lbl_80042488
|
|
/* 800425F0 0003E510 83 DC 00 0C */ lwz r30, 0xc(r28)
|
|
/* 800425F4 0003E514 3B A0 00 00 */ li r29, 0
|
|
/* 800425F8 0003E518 CB C2 8E 18 */ lfd f30, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 800425FC 0003E51C 3F E0 43 30 */ lis r31, 0x4330
|
|
/* 80042600 0003E520 48 00 01 60 */ b lbl_80042760
|
|
lbl_80042604:
|
|
/* 80042604 0003E524 80 1B 00 58 */ lwz r0, 0x58(r27)
|
|
/* 80042608 0003E528 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 8004260C 0003E52C 41 82 00 10 */ beq lbl_8004261C
|
|
/* 80042610 0003E530 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 80042614 0003E534 38 9D 00 00 */ addi r4, r29, 0
|
|
/* 80042618 0003E538 4B FF F9 E9 */ bl func_80042000
|
|
lbl_8004261C:
|
|
/* 8004261C 0003E53C 80 1E 00 20 */ lwz r0, 0x20(r30)
|
|
/* 80042620 0003E540 38 60 00 00 */ li r3, 0
|
|
/* 80042624 0003E544 C0 7B 00 18 */ lfs f3, 0x18(r27)
|
|
/* 80042628 0003E548 7C 00 18 40 */ cmplw r0, r3
|
|
/* 8004262C 0003E54C C0 5B 00 10 */ lfs f2, 0x10(r27)
|
|
/* 80042630 0003E550 40 82 00 08 */ bne lbl_80042638
|
|
/* 80042634 0003E554 48 00 00 E8 */ b lbl_8004271C
|
|
lbl_80042638:
|
|
/* 80042638 0003E558 C0 3E 00 24 */ lfs f1, 0x24(r30)
|
|
/* 8004263C 0003E55C C0 1E 00 2C */ lfs f0, 0x2c(r30)
|
|
/* 80042640 0003E560 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 80042644 0003E564 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 80042648 0003E568 FC 00 04 8E */ mffs f0
|
|
/* 8004264C 0003E56C FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 80042650 0003E570 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 80042654 0003E574 FC 20 08 1C */ fctiw f1, f1
|
|
/* 80042658 0003E578 D8 21 00 18 */ stfd f1, 0x18(r1)
|
|
/* 8004265C 0003E57C FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 80042660 0003E580 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 80042664 0003E584 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 80042668 0003E588 EC 23 00 28 */ fsubs f1, f3, f0
|
|
/* 8004266C 0003E58C C0 1E 00 30 */ lfs f0, 0x30(r30)
|
|
/* 80042670 0003E590 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 80042674 0003E594 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 80042678 0003E598 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 8004267C 0003E59C 93 E1 00 40 */ stw r31, 0x40(r1)
|
|
/* 80042680 0003E5A0 C8 01 00 40 */ lfd f0, 0x40(r1)
|
|
/* 80042684 0003E5A4 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 80042688 0003E5A8 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 8004268C 0003E5AC D8 01 00 48 */ stfd f0, 0x48(r1)
|
|
/* 80042690 0003E5B0 80 A1 00 4C */ lwz r5, 0x4c(r1)
|
|
/* 80042694 0003E5B4 FC 00 04 8E */ mffs f0
|
|
/* 80042698 0003E5B8 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 8004269C 0003E5BC FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 800426A0 0003E5C0 FC 20 08 1C */ fctiw f1, f1
|
|
/* 800426A4 0003E5C4 D8 21 00 10 */ stfd f1, 0x10(r1)
|
|
/* 800426A8 0003E5C8 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 800426AC 0003E5CC 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 800426B0 0003E5D0 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 800426B4 0003E5D4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800426B8 0003E5D8 90 01 00 54 */ stw r0, 0x54(r1)
|
|
/* 800426BC 0003E5DC 93 E1 00 50 */ stw r31, 0x50(r1)
|
|
/* 800426C0 0003E5E0 C8 01 00 50 */ lfd f0, 0x50(r1)
|
|
/* 800426C4 0003E5E4 EC 00 F0 28 */ fsubs f0, f0, f30
|
|
/* 800426C8 0003E5E8 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 800426CC 0003E5EC D8 01 00 58 */ stfd f0, 0x58(r1)
|
|
/* 800426D0 0003E5F0 80 81 00 5C */ lwz r4, 0x5c(r1)
|
|
/* 800426D4 0003E5F4 41 80 00 10 */ blt lbl_800426E4
|
|
/* 800426D8 0003E5F8 80 7E 00 34 */ lwz r3, 0x34(r30)
|
|
/* 800426DC 0003E5FC 7C 05 18 00 */ cmpw r5, r3
|
|
/* 800426E0 0003E600 41 80 00 0C */ blt lbl_800426EC
|
|
lbl_800426E4:
|
|
/* 800426E4 0003E604 38 60 00 00 */ li r3, 0
|
|
/* 800426E8 0003E608 48 00 00 34 */ b lbl_8004271C
|
|
lbl_800426EC:
|
|
/* 800426EC 0003E60C 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 800426F0 0003E610 41 80 00 10 */ blt lbl_80042700
|
|
/* 800426F4 0003E614 80 1E 00 38 */ lwz r0, 0x38(r30)
|
|
/* 800426F8 0003E618 7C 04 00 00 */ cmpw r4, r0
|
|
/* 800426FC 0003E61C 41 80 00 0C */ blt lbl_80042708
|
|
lbl_80042700:
|
|
/* 80042700 0003E620 38 60 00 00 */ li r3, 0
|
|
/* 80042704 0003E624 48 00 00 18 */ b lbl_8004271C
|
|
lbl_80042708:
|
|
/* 80042708 0003E628 7C 04 19 D6 */ mullw r0, r4, r3
|
|
/* 8004270C 0003E62C 80 7E 00 20 */ lwz r3, 0x20(r30)
|
|
/* 80042710 0003E630 7C 05 02 14 */ add r0, r5, r0
|
|
/* 80042714 0003E634 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 80042718 0003E638 7C 63 00 2E */ lwzx r3, r3, r0
|
|
lbl_8004271C:
|
|
/* 8004271C 0003E63C 38 00 00 00 */ li r0, 0
|
|
/* 80042720 0003E640 7C 03 00 40 */ cmplw r3, r0
|
|
/* 80042724 0003E644 41 82 00 34 */ beq lbl_80042758
|
|
/* 80042728 0003E648 7C 79 1B 78 */ mr r25, r3
|
|
/* 8004272C 0003E64C 48 00 00 20 */ b lbl_8004274C
|
|
lbl_80042730:
|
|
/* 80042730 0003E650 A8 19 00 00 */ lha r0, 0(r25)
|
|
/* 80042734 0003E654 7F 63 DB 78 */ mr r3, r27
|
|
/* 80042738 0003E658 80 9E 00 1C */ lwz r4, 0x1c(r30)
|
|
/* 8004273C 0003E65C 54 00 30 32 */ slwi r0, r0, 6
|
|
/* 80042740 0003E660 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80042744 0003E664 4B FF BE 91 */ bl func_8003E5D4
|
|
/* 80042748 0003E668 3B 39 00 02 */ addi r25, r25, 2
|
|
lbl_8004274C:
|
|
/* 8004274C 0003E66C A8 19 00 00 */ lha r0, 0(r25)
|
|
/* 80042750 0003E670 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80042754 0003E674 40 80 FF DC */ bge lbl_80042730
|
|
lbl_80042758:
|
|
/* 80042758 0003E678 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 8004275C 0003E67C 3B DE 00 C4 */ addi r30, r30, 0xc4
|
|
lbl_80042760:
|
|
/* 80042760 0003E680 80 1C 00 08 */ lwz r0, 8(r28)
|
|
/* 80042764 0003E684 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 80042768 0003E688 41 80 FE 9C */ blt lbl_80042604
|
|
/* 8004276C 0003E68C D3 FB 00 30 */ stfs f31, 0x30(r27)
|
|
/* 80042770 0003E690 80 1B 00 58 */ lwz r0, 0x58(r27)
|
|
/* 80042774 0003E694 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80042778 0003E698 41 82 00 10 */ beq lbl_80042788
|
|
/* 8004277C 0003E69C 38 7B 00 00 */ addi r3, r27, 0
|
|
/* 80042780 0003E6A0 38 80 00 00 */ li r4, 0
|
|
/* 80042784 0003E6A4 4B FF F8 7D */ bl func_80042000
|
|
lbl_80042788:
|
|
/* 80042788 0003E6A8 BB 21 00 64 */ lmw r25, 0x64(r1)
|
|
/* 8004278C 0003E6AC 80 01 00 94 */ lwz r0, 0x94(r1)
|
|
/* 80042790 0003E6B0 CB E1 00 88 */ lfd f31, 0x88(r1)
|
|
/* 80042794 0003E6B4 CB C1 00 80 */ lfd f30, 0x80(r1)
|
|
/* 80042798 0003E6B8 7C 08 03 A6 */ mtlr r0
|
|
/* 8004279C 0003E6BC 38 21 00 90 */ addi r1, r1, 0x90
|
|
/* 800427A0 0003E6C0 4E 80 00 20 */ blr
|
|
|
|
.global func_800427A4
|
|
func_800427A4:
|
|
/* 800427A4 0003E6C4 7C 08 02 A6 */ mflr r0
|
|
/* 800427A8 0003E6C8 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 800427AC 0003E6CC 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 800427B0 0003E6D0 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 800427B4 0003E6D4 7C 9F 23 78 */ mr r31, r4
|
|
/* 800427B8 0003E6D8 80 A3 00 04 */ lwz r5, 4(r3)
|
|
/* 800427BC 0003E6DC 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 800427C0 0003E6E0 90 A1 00 10 */ stw r5, 0x10(r1)
|
|
/* 800427C4 0003E6E4 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 800427C8 0003E6E8 80 03 00 0C */ lwz r0, 0xc(r3)
|
|
/* 800427CC 0003E6EC 90 01 00 18 */ stw r0, 0x18(r1)
|
|
/* 800427D0 0003E6F0 80 03 00 58 */ lwz r0, 0x58(r3)
|
|
/* 800427D4 0003E6F4 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 800427D8 0003E6F8 40 81 00 28 */ ble lbl_80042800
|
|
/* 800427DC 0003E6FC 1C 80 00 84 */ mulli r4, r0, 0x84
|
|
/* 800427E0 0003E700 3C 60 80 20 */ lis r3, lbl_80206E48@ha
|
|
/* 800427E4 0003E704 38 03 6E 48 */ addi r0, r3, lbl_80206E48@l
|
|
/* 800427E8 0003E708 7C 60 22 14 */ add r3, r0, r4
|
|
/* 800427EC 0003E70C 38 63 00 24 */ addi r3, r3, 0x24
|
|
/* 800427F0 0003E710 4B FC 50 C1 */ bl mathutil_mtxA_from_mtx
|
|
/* 800427F4 0003E714 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 800427F8 0003E718 38 83 00 00 */ addi r4, r3, 0
|
|
/* 800427FC 0003E71C 4B FC 56 31 */ bl mathutil_mtxA_tf_point
|
|
lbl_80042800:
|
|
/* 80042800 0003E720 2C 1F 00 00 */ cmpwi r31, 0
|
|
/* 80042804 0003E724 40 81 00 28 */ ble lbl_8004282C
|
|
/* 80042808 0003E728 1C 9F 00 84 */ mulli r4, r31, 0x84
|
|
/* 8004280C 0003E72C 3C 60 80 20 */ lis r3, lbl_80206E48@ha
|
|
/* 80042810 0003E730 38 03 6E 48 */ addi r0, r3, lbl_80206E48@l
|
|
/* 80042814 0003E734 7C 60 22 14 */ add r3, r0, r4
|
|
/* 80042818 0003E738 38 63 00 24 */ addi r3, r3, 0x24
|
|
/* 8004281C 0003E73C 4B FC 50 95 */ bl mathutil_mtxA_from_mtx
|
|
/* 80042820 0003E740 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 80042824 0003E744 38 83 00 00 */ addi r4, r3, 0
|
|
/* 80042828 0003E748 4B FC 56 A5 */ bl mathutil_mtxA_rigid_inv_tf_point
|
|
lbl_8004282C:
|
|
/* 8004282C 0003E74C 80 6D 9D 50 */ lwz r3, decodedStageLzPtr@sda21(r13)
|
|
/* 80042830 0003E750 1C 1F 00 C4 */ mulli r0, r31, 0xc4
|
|
/* 80042834 0003E754 C0 81 00 10 */ lfs f4, 0x10(r1)
|
|
/* 80042838 0003E758 80 63 00 0C */ lwz r3, 0xc(r3)
|
|
/* 8004283C 0003E75C 7C 83 02 14 */ add r4, r3, r0
|
|
/* 80042840 0003E760 C0 64 00 24 */ lfs f3, 0x24(r4)
|
|
/* 80042844 0003E764 FC 04 18 40 */ fcmpo cr0, f4, f3
|
|
/* 80042848 0003E768 40 80 00 0C */ bge lbl_80042854
|
|
/* 8004284C 0003E76C 38 60 00 00 */ li r3, 0
|
|
/* 80042850 0003E770 48 00 00 90 */ b lbl_800428E0
|
|
lbl_80042854:
|
|
/* 80042854 0003E774 C0 C1 00 18 */ lfs f6, 0x18(r1)
|
|
/* 80042858 0003E778 C0 A4 00 28 */ lfs f5, 0x28(r4)
|
|
/* 8004285C 0003E77C FC 06 28 40 */ fcmpo cr0, f6, f5
|
|
/* 80042860 0003E780 40 80 00 0C */ bge lbl_8004286C
|
|
/* 80042864 0003E784 38 60 00 00 */ li r3, 0
|
|
/* 80042868 0003E788 48 00 00 78 */ b lbl_800428E0
|
|
lbl_8004286C:
|
|
/* 8004286C 0003E78C 80 04 00 34 */ lwz r0, 0x34(r4)
|
|
/* 80042870 0003E790 3C 60 43 30 */ lis r3, 0x4330
|
|
/* 80042874 0003E794 C8 42 8E 18 */ lfd f2, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 80042878 0003E798 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8004287C 0003E79C C0 24 00 2C */ lfs f1, 0x2c(r4)
|
|
/* 80042880 0003E7A0 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80042884 0003E7A4 90 61 00 20 */ stw r3, 0x20(r1)
|
|
/* 80042888 0003E7A8 C8 01 00 20 */ lfd f0, 0x20(r1)
|
|
/* 8004288C 0003E7AC EC 00 10 28 */ fsubs f0, f0, f2
|
|
/* 80042890 0003E7B0 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 80042894 0003E7B4 EC 03 00 2A */ fadds f0, f3, f0
|
|
/* 80042898 0003E7B8 FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 8004289C 0003E7BC 40 81 00 0C */ ble lbl_800428A8
|
|
/* 800428A0 0003E7C0 38 60 00 00 */ li r3, 0
|
|
/* 800428A4 0003E7C4 48 00 00 3C */ b lbl_800428E0
|
|
lbl_800428A8:
|
|
/* 800428A8 0003E7C8 80 04 00 38 */ lwz r0, 0x38(r4)
|
|
/* 800428AC 0003E7CC C0 24 00 30 */ lfs f1, 0x30(r4)
|
|
/* 800428B0 0003E7D0 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800428B4 0003E7D4 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800428B8 0003E7D8 90 61 00 20 */ stw r3, 0x20(r1)
|
|
/* 800428BC 0003E7DC C8 01 00 20 */ lfd f0, 0x20(r1)
|
|
/* 800428C0 0003E7E0 EC 00 10 28 */ fsubs f0, f0, f2
|
|
/* 800428C4 0003E7E4 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 800428C8 0003E7E8 EC 05 00 2A */ fadds f0, f5, f0
|
|
/* 800428CC 0003E7EC FC 06 00 40 */ fcmpo cr0, f6, f0
|
|
/* 800428D0 0003E7F0 40 81 00 0C */ ble lbl_800428DC
|
|
/* 800428D4 0003E7F4 38 60 00 00 */ li r3, 0
|
|
/* 800428D8 0003E7F8 48 00 00 08 */ b lbl_800428E0
|
|
lbl_800428DC:
|
|
/* 800428DC 0003E7FC 38 60 00 01 */ li r3, 1
|
|
lbl_800428E0:
|
|
/* 800428E0 0003E800 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 800428E4 0003E804 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 800428E8 0003E808 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 800428EC 0003E80C 7C 08 03 A6 */ mtlr r0
|
|
/* 800428F0 0003E810 4E 80 00 20 */ blr
|
|
|
|
glabel func_800428F4
|
|
/* 800428F4 0003E814 7C 08 02 A6 */ mflr r0
|
|
/* 800428F8 0003E818 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 800428FC 0003E81C 94 21 FF 98 */ stwu r1, -0x68(r1)
|
|
/* 80042900 0003E820 DB E1 00 60 */ stfd f31, 0x60(r1)
|
|
/* 80042904 0003E824 BF 21 00 44 */ stmw r25, 0x44(r1)
|
|
/* 80042908 0003E828 7C 9B 23 78 */ mr r27, r4
|
|
/* 8004290C 0003E82C 3B 43 00 00 */ addi r26, r3, 0
|
|
/* 80042910 0003E830 3B A0 00 00 */ li r29, 0
|
|
/* 80042914 0003E834 3F E0 43 30 */ lis r31, 0x4330
|
|
/* 80042918 0003E838 CB E2 8E 18 */ lfd f31, lbl_802F3618-_SDA2_BASE_(r2)
|
|
/* 8004291C 0003E83C 83 C4 00 0C */ lwz r30, 0xc(r4)
|
|
/* 80042920 0003E840 48 00 02 78 */ b lbl_80042B98
|
|
lbl_80042924:
|
|
/* 80042924 0003E844 38 7A 00 00 */ addi r3, r26, 0
|
|
/* 80042928 0003E848 38 9D 00 00 */ addi r4, r29, 0
|
|
/* 8004292C 0003E84C 4B FF FE 79 */ bl func_800427A4
|
|
/* 80042930 0003E850 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80042934 0003E854 41 82 02 5C */ beq lbl_80042B90
|
|
/* 80042938 0003E858 80 1A 00 58 */ lwz r0, 0x58(r26)
|
|
/* 8004293C 0003E85C 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 80042940 0003E860 41 82 00 10 */ beq lbl_80042950
|
|
/* 80042944 0003E864 38 7A 00 00 */ addi r3, r26, 0
|
|
/* 80042948 0003E868 38 9D 00 00 */ addi r4, r29, 0
|
|
/* 8004294C 0003E86C 4B FF F6 B5 */ bl func_80042000
|
|
lbl_80042950:
|
|
/* 80042950 0003E870 80 1E 00 20 */ lwz r0, 0x20(r30)
|
|
/* 80042954 0003E874 38 60 00 00 */ li r3, 0
|
|
/* 80042958 0003E878 C0 7A 00 0C */ lfs f3, 0xc(r26)
|
|
/* 8004295C 0003E87C 7C 00 18 40 */ cmplw r0, r3
|
|
/* 80042960 0003E880 C0 5A 00 04 */ lfs f2, 4(r26)
|
|
/* 80042964 0003E884 40 82 00 08 */ bne lbl_8004296C
|
|
/* 80042968 0003E888 48 00 00 E8 */ b lbl_80042A50
|
|
lbl_8004296C:
|
|
/* 8004296C 0003E88C C0 3E 00 24 */ lfs f1, 0x24(r30)
|
|
/* 80042970 0003E890 C0 1E 00 2C */ lfs f0, 0x2c(r30)
|
|
/* 80042974 0003E894 EC 22 08 28 */ fsubs f1, f2, f1
|
|
/* 80042978 0003E898 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 8004297C 0003E89C FC 00 04 8E */ mffs f0
|
|
/* 80042980 0003E8A0 FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 80042984 0003E8A4 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 80042988 0003E8A8 FC 20 08 1C */ fctiw f1, f1
|
|
/* 8004298C 0003E8AC D8 21 00 18 */ stfd f1, 0x18(r1)
|
|
/* 80042990 0003E8B0 FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 80042994 0003E8B4 C0 1E 00 28 */ lfs f0, 0x28(r30)
|
|
/* 80042998 0003E8B8 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 8004299C 0003E8BC EC 23 00 28 */ fsubs f1, f3, f0
|
|
/* 800429A0 0003E8C0 C0 1E 00 30 */ lfs f0, 0x30(r30)
|
|
/* 800429A4 0003E8C4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800429A8 0003E8C8 EC 21 00 24 */ fdivs f1, f1, f0
|
|
/* 800429AC 0003E8CC 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 800429B0 0003E8D0 93 E1 00 38 */ stw r31, 0x38(r1)
|
|
/* 800429B4 0003E8D4 C8 01 00 38 */ lfd f0, 0x38(r1)
|
|
/* 800429B8 0003E8D8 EC 00 F8 28 */ fsubs f0, f0, f31
|
|
/* 800429BC 0003E8DC FC 00 00 1E */ fctiwz f0, f0
|
|
/* 800429C0 0003E8E0 D8 01 00 30 */ stfd f0, 0x30(r1)
|
|
/* 800429C4 0003E8E4 80 A1 00 34 */ lwz r5, 0x34(r1)
|
|
/* 800429C8 0003E8E8 FC 00 04 8E */ mffs f0
|
|
/* 800429CC 0003E8EC FF C0 00 4C */ mtfsb1 0x1e
|
|
/* 800429D0 0003E8F0 FF E0 00 4C */ mtfsb1 0x1f
|
|
/* 800429D4 0003E8F4 FC 20 08 1C */ fctiw f1, f1
|
|
/* 800429D8 0003E8F8 D8 21 00 10 */ stfd f1, 0x10(r1)
|
|
/* 800429DC 0003E8FC FD FE 05 8E */ mtfsf 0xff, f0
|
|
/* 800429E0 0003E900 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 800429E4 0003E904 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 800429E8 0003E908 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800429EC 0003E90C 90 01 00 2C */ stw r0, 0x2c(r1)
|
|
/* 800429F0 0003E910 93 E1 00 28 */ stw r31, 0x28(r1)
|
|
/* 800429F4 0003E914 C8 01 00 28 */ lfd f0, 0x28(r1)
|
|
/* 800429F8 0003E918 EC 00 F8 28 */ fsubs f0, f0, f31
|
|
/* 800429FC 0003E91C FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80042A00 0003E920 D8 01 00 20 */ stfd f0, 0x20(r1)
|
|
/* 80042A04 0003E924 80 81 00 24 */ lwz r4, 0x24(r1)
|
|
/* 80042A08 0003E928 41 80 00 10 */ blt lbl_80042A18
|
|
/* 80042A0C 0003E92C 80 7E 00 34 */ lwz r3, 0x34(r30)
|
|
/* 80042A10 0003E930 7C 05 18 00 */ cmpw r5, r3
|
|
/* 80042A14 0003E934 41 80 00 0C */ blt lbl_80042A20
|
|
lbl_80042A18:
|
|
/* 80042A18 0003E938 38 60 00 00 */ li r3, 0
|
|
/* 80042A1C 0003E93C 48 00 00 34 */ b lbl_80042A50
|
|
lbl_80042A20:
|
|
/* 80042A20 0003E940 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 80042A24 0003E944 41 80 00 10 */ blt lbl_80042A34
|
|
/* 80042A28 0003E948 80 1E 00 38 */ lwz r0, 0x38(r30)
|
|
/* 80042A2C 0003E94C 7C 04 00 00 */ cmpw r4, r0
|
|
/* 80042A30 0003E950 41 80 00 0C */ blt lbl_80042A3C
|
|
lbl_80042A34:
|
|
/* 80042A34 0003E954 38 60 00 00 */ li r3, 0
|
|
/* 80042A38 0003E958 48 00 00 18 */ b lbl_80042A50
|
|
lbl_80042A3C:
|
|
/* 80042A3C 0003E95C 7C 04 19 D6 */ mullw r0, r4, r3
|
|
/* 80042A40 0003E960 80 7E 00 20 */ lwz r3, 0x20(r30)
|
|
/* 80042A44 0003E964 7C 05 02 14 */ add r0, r5, r0
|
|
/* 80042A48 0003E968 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 80042A4C 0003E96C 7C 63 00 2E */ lwzx r3, r3, r0
|
|
lbl_80042A50:
|
|
/* 80042A50 0003E970 3B 23 00 00 */ addi r25, r3, 0
|
|
/* 80042A54 0003E974 38 00 00 00 */ li r0, 0
|
|
/* 80042A58 0003E978 7C 19 00 40 */ cmplw r25, r0
|
|
/* 80042A5C 0003E97C 41 82 00 94 */ beq lbl_80042AF0
|
|
/* 80042A60 0003E980 7F 3C CB 78 */ mr r28, r25
|
|
/* 80042A64 0003E984 48 00 00 20 */ b lbl_80042A84
|
|
lbl_80042A68:
|
|
/* 80042A68 0003E988 A8 1C 00 00 */ lha r0, 0(r28)
|
|
/* 80042A6C 0003E98C 7F 43 D3 78 */ mr r3, r26
|
|
/* 80042A70 0003E990 80 9E 00 1C */ lwz r4, 0x1c(r30)
|
|
/* 80042A74 0003E994 54 00 30 32 */ slwi r0, r0, 6
|
|
/* 80042A78 0003E998 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80042A7C 0003E99C 4B FF B3 B1 */ bl func_8003DE2C
|
|
/* 80042A80 0003E9A0 3B 9C 00 02 */ addi r28, r28, 2
|
|
lbl_80042A84:
|
|
/* 80042A84 0003E9A4 A8 1C 00 00 */ lha r0, 0(r28)
|
|
/* 80042A88 0003E9A8 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80042A8C 0003E9AC 40 80 FF DC */ bge lbl_80042A68
|
|
/* 80042A90 0003E9B0 7F 3C CB 78 */ mr r28, r25
|
|
/* 80042A94 0003E9B4 48 00 00 20 */ b lbl_80042AB4
|
|
lbl_80042A98:
|
|
/* 80042A98 0003E9B8 A8 1C 00 00 */ lha r0, 0(r28)
|
|
/* 80042A9C 0003E9BC 7F 43 D3 78 */ mr r3, r26
|
|
/* 80042AA0 0003E9C0 80 9E 00 1C */ lwz r4, 0x1c(r30)
|
|
/* 80042AA4 0003E9C4 54 00 30 32 */ slwi r0, r0, 6
|
|
/* 80042AA8 0003E9C8 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80042AAC 0003E9CC 4B FF B5 E1 */ bl func_8003E08C
|
|
/* 80042AB0 0003E9D0 3B 9C 00 02 */ addi r28, r28, 2
|
|
lbl_80042AB4:
|
|
/* 80042AB4 0003E9D4 A8 1C 00 00 */ lha r0, 0(r28)
|
|
/* 80042AB8 0003E9D8 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80042ABC 0003E9DC 40 80 FF DC */ bge lbl_80042A98
|
|
/* 80042AC0 0003E9E0 7F 3C CB 78 */ mr r28, r25
|
|
/* 80042AC4 0003E9E4 48 00 00 20 */ b lbl_80042AE4
|
|
lbl_80042AC8:
|
|
/* 80042AC8 0003E9E8 A8 1C 00 00 */ lha r0, 0(r28)
|
|
/* 80042ACC 0003E9EC 7F 43 D3 78 */ mr r3, r26
|
|
/* 80042AD0 0003E9F0 80 9E 00 1C */ lwz r4, 0x1c(r30)
|
|
/* 80042AD4 0003E9F4 54 00 30 32 */ slwi r0, r0, 6
|
|
/* 80042AD8 0003E9F8 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80042ADC 0003E9FC 4B FF BA F9 */ bl func_8003E5D4
|
|
/* 80042AE0 0003EA00 3B 9C 00 02 */ addi r28, r28, 2
|
|
lbl_80042AE4:
|
|
/* 80042AE4 0003EA04 A8 1C 00 00 */ lha r0, 0(r28)
|
|
/* 80042AE8 0003EA08 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80042AEC 0003EA0C 40 80 FF DC */ bge lbl_80042AC8
|
|
lbl_80042AF0:
|
|
/* 80042AF0 0003EA10 83 3E 00 68 */ lwz r25, 0x68(r30)
|
|
/* 80042AF4 0003EA14 83 9E 00 64 */ lwz r28, 0x64(r30)
|
|
/* 80042AF8 0003EA18 48 00 00 18 */ b lbl_80042B10
|
|
lbl_80042AFC:
|
|
/* 80042AFC 0003EA1C 38 7A 00 00 */ addi r3, r26, 0
|
|
/* 80042B00 0003EA20 38 99 00 00 */ addi r4, r25, 0
|
|
/* 80042B04 0003EA24 4B FF C8 75 */ bl func_8003F378
|
|
/* 80042B08 0003EA28 3B 9C FF FF */ addi r28, r28, -1
|
|
/* 80042B0C 0003EA2C 3B 39 00 20 */ addi r25, r25, 0x20
|
|
lbl_80042B10:
|
|
/* 80042B10 0003EA30 2C 1C 00 00 */ cmpwi r28, 0
|
|
/* 80042B14 0003EA34 41 81 FF E8 */ bgt lbl_80042AFC
|
|
/* 80042B18 0003EA38 83 3E 00 70 */ lwz r25, 0x70(r30)
|
|
/* 80042B1C 0003EA3C 83 9E 00 6C */ lwz r28, 0x6c(r30)
|
|
/* 80042B20 0003EA40 48 00 00 18 */ b lbl_80042B38
|
|
lbl_80042B24:
|
|
/* 80042B24 0003EA44 38 7A 00 00 */ addi r3, r26, 0
|
|
/* 80042B28 0003EA48 38 99 00 00 */ addi r4, r25, 0
|
|
/* 80042B2C 0003EA4C 4B FF C7 1D */ bl func_8003F248
|
|
/* 80042B30 0003EA50 3B 9C FF FF */ addi r28, r28, -1
|
|
/* 80042B34 0003EA54 3B 39 00 14 */ addi r25, r25, 0x14
|
|
lbl_80042B38:
|
|
/* 80042B38 0003EA58 2C 1C 00 00 */ cmpwi r28, 0
|
|
/* 80042B3C 0003EA5C 41 81 FF E8 */ bgt lbl_80042B24
|
|
/* 80042B40 0003EA60 83 3E 00 78 */ lwz r25, 0x78(r30)
|
|
/* 80042B44 0003EA64 83 9E 00 74 */ lwz r28, 0x74(r30)
|
|
/* 80042B48 0003EA68 48 00 00 18 */ b lbl_80042B60
|
|
lbl_80042B4C:
|
|
/* 80042B4C 0003EA6C 38 7A 00 00 */ addi r3, r26, 0
|
|
/* 80042B50 0003EA70 38 99 00 00 */ addi r4, r25, 0
|
|
/* 80042B54 0003EA74 4B FF C2 5D */ bl func_8003EDB0
|
|
/* 80042B58 0003EA78 3B 9C FF FF */ addi r28, r28, -1
|
|
/* 80042B5C 0003EA7C 3B 39 00 1C */ addi r25, r25, 0x1c
|
|
lbl_80042B60:
|
|
/* 80042B60 0003EA80 2C 1C 00 00 */ cmpwi r28, 0
|
|
/* 80042B64 0003EA84 41 81 FF E8 */ bgt lbl_80042B4C
|
|
/* 80042B68 0003EA88 83 3E 00 40 */ lwz r25, 0x40(r30)
|
|
/* 80042B6C 0003EA8C 83 9E 00 3C */ lwz r28, 0x3c(r30)
|
|
/* 80042B70 0003EA90 48 00 00 18 */ b lbl_80042B88
|
|
lbl_80042B74:
|
|
/* 80042B74 0003EA94 38 7A 00 00 */ addi r3, r26, 0
|
|
/* 80042B78 0003EA98 38 99 00 00 */ addi r4, r25, 0
|
|
/* 80042B7C 0003EA9C 4B FF DF A5 */ bl func_80040B20
|
|
/* 80042B80 0003EAA0 3B 9C FF FF */ addi r28, r28, -1
|
|
/* 80042B84 0003EAA4 3B 39 00 14 */ addi r25, r25, 0x14
|
|
lbl_80042B88:
|
|
/* 80042B88 0003EAA8 2C 1C 00 00 */ cmpwi r28, 0
|
|
/* 80042B8C 0003EAAC 41 81 FF E8 */ bgt lbl_80042B74
|
|
lbl_80042B90:
|
|
/* 80042B90 0003EAB0 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 80042B94 0003EAB4 3B DE 00 C4 */ addi r30, r30, 0xc4
|
|
lbl_80042B98:
|
|
/* 80042B98 0003EAB8 80 1B 00 08 */ lwz r0, 8(r27)
|
|
/* 80042B9C 0003EABC 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 80042BA0 0003EAC0 41 80 FD 84 */ blt lbl_80042924
|
|
/* 80042BA4 0003EAC4 80 1A 00 58 */ lwz r0, 0x58(r26)
|
|
/* 80042BA8 0003EAC8 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80042BAC 0003EACC 41 82 00 10 */ beq lbl_80042BBC
|
|
/* 80042BB0 0003EAD0 38 7A 00 00 */ addi r3, r26, 0
|
|
/* 80042BB4 0003EAD4 38 80 00 00 */ li r4, 0
|
|
/* 80042BB8 0003EAD8 4B FF F4 49 */ bl func_80042000
|
|
lbl_80042BBC:
|
|
/* 80042BBC 0003EADC BB 21 00 44 */ lmw r25, 0x44(r1)
|
|
/* 80042BC0 0003EAE0 80 01 00 6C */ lwz r0, 0x6c(r1)
|
|
/* 80042BC4 0003EAE4 CB E1 00 60 */ lfd f31, 0x60(r1)
|
|
/* 80042BC8 0003EAE8 38 21 00 68 */ addi r1, r1, 0x68
|
|
/* 80042BCC 0003EAEC 7C 08 03 A6 */ mtlr r0
|
|
/* 80042BD0 0003EAF0 4E 80 00 20 */ blr
|
|
.global ev_world_init
|
|
ev_world_init:
|
|
/* 80042BD4 0003EAF4 7C 08 02 A6 */ mflr r0
|
|
/* 80042BD8 0003EAF8 3C 60 80 20 */ lis r3, lbl_80206BF0@ha
|
|
/* 80042BDC 0003EAFC 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80042BE0 0003EB00 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 80042BE4 0003EB04 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 80042BE8 0003EB08 3B E3 6B F0 */ addi r31, r3, lbl_80206BF0@l
|
|
/* 80042BEC 0003EB0C 93 C1 00 10 */ stw r30, 0x10(r1)
|
|
/* 80042BF0 0003EB10 3B DF 00 00 */ addi r30, r31, 0
|
|
/* 80042BF4 0003EB14 93 A1 00 0C */ stw r29, 0xc(r1)
|
|
/* 80042BF8 0003EB18 3B A0 00 00 */ li r29, 0
|
|
lbl_80042BFC:
|
|
/* 80042BFC 0003EB1C 7F C3 F3 78 */ mr r3, r30
|
|
/* 80042C00 0003EB20 48 00 03 31 */ bl world_clear
|
|
/* 80042C04 0003EB24 7F A0 07 74 */ extsb r0, r29
|
|
/* 80042C08 0003EB28 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 80042C0C 0003EB2C 98 1E 00 09 */ stb r0, 9(r30)
|
|
/* 80042C10 0003EB30 2C 1D 00 04 */ cmpwi r29, 4
|
|
/* 80042C14 0003EB34 3B DE 00 40 */ addi r30, r30, 0x40
|
|
/* 80042C18 0003EB38 41 80 FF E4 */ blt lbl_80042BFC
|
|
/* 80042C1C 0003EB3C C0 22 8E A8 */ lfs f1, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 80042C20 0003EB40 D0 3F 01 00 */ stfs f1, 0x100(r31)
|
|
/* 80042C24 0003EB44 C0 02 8E AC */ lfs f0, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80042C28 0003EB48 D0 1F 01 04 */ stfs f0, 0x104(r31)
|
|
/* 80042C2C 0003EB4C D0 3F 01 08 */ stfs f1, 0x108(r31)
|
|
/* 80042C30 0003EB50 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 80042C34 0003EB54 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 80042C38 0003EB58 83 C1 00 10 */ lwz r30, 0x10(r1)
|
|
/* 80042C3C 0003EB5C 83 A1 00 0C */ lwz r29, 0xc(r1)
|
|
/* 80042C40 0003EB60 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 80042C44 0003EB64 7C 08 03 A6 */ mtlr r0
|
|
/* 80042C48 0003EB68 4E 80 00 20 */ blr
|
|
.global ev_world_main
|
|
ev_world_main:
|
|
/* 80042C4C 0003EB6C 7C 08 02 A6 */ mflr r0
|
|
/* 80042C50 0003EB70 3C 60 80 20 */ lis r3, spritePoolInfo@ha
|
|
/* 80042C54 0003EB74 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80042C58 0003EB78 94 21 FF C8 */ stwu r1, -0x38(r1)
|
|
/* 80042C5C 0003EB7C BF 21 00 1C */ stmw r25, 0x1c(r1)
|
|
/* 80042C60 0003EB80 3B E3 59 88 */ addi r31, r3, spritePoolInfo@l
|
|
/* 80042C64 0003EB84 3C 60 80 20 */ lis r3, lbl_80206BF0@ha
|
|
/* 80042C68 0003EB88 3B C3 6B F0 */ addi r30, r3, lbl_80206BF0@l
|
|
/* 80042C6C 0003EB8C 3C 60 80 1C */ lis r3, lbl_801B86A8@ha
|
|
/* 80042C70 0003EB90 3B BF 00 0C */ addi r29, r31, 0xc
|
|
/* 80042C74 0003EB94 3B 9E 00 00 */ addi r28, r30, 0
|
|
/* 80042C78 0003EB98 3B 23 86 A8 */ addi r25, r3, lbl_801B86A8@l
|
|
/* 80042C7C 0003EB9C 3B 40 00 00 */ li r26, 0
|
|
/* 80042C80 0003EBA0 83 7F 00 0C */ lwz r27, 0xc(r31)
|
|
/* 80042C84 0003EBA4 48 00 00 B4 */ b lbl_80042D38
|
|
lbl_80042C88:
|
|
/* 80042C88 0003EBA8 88 7B 00 00 */ lbz r3, 0(r27)
|
|
/* 80042C8C 0003EBAC 7C 60 07 75 */ extsb. r0, r3
|
|
/* 80042C90 0003EBB0 41 82 00 9C */ beq lbl_80042D2C
|
|
/* 80042C94 0003EBB4 7C 60 07 74 */ extsb r0, r3
|
|
/* 80042C98 0003EBB8 2C 00 00 04 */ cmpwi r0, 4
|
|
/* 80042C9C 0003EBBC 41 82 00 90 */ beq lbl_80042D2C
|
|
/* 80042CA0 0003EBC0 7F 40 07 74 */ extsb r0, r26
|
|
/* 80042CA4 0003EBC4 98 1C 00 09 */ stb r0, 9(r28)
|
|
/* 80042CA8 0003EBC8 88 1C 00 08 */ lbz r0, 8(r28)
|
|
/* 80042CAC 0003EBCC 7C 00 07 74 */ extsb r0, r0
|
|
/* 80042CB0 0003EBD0 28 00 00 0B */ cmplwi r0, 0xb
|
|
/* 80042CB4 0003EBD4 41 81 00 64 */ bgt lbl_80042D18
|
|
/* 80042CB8 0003EBD8 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 80042CBC 0003EBDC 7C 19 00 2E */ lwzx r0, r25, r0
|
|
/* 80042CC0 0003EBE0 7C 09 03 A6 */ mtctr r0
|
|
/* 80042CC4 0003EBE4 4E 80 04 20 */ bctr
|
|
.global lbl_80042CC8
|
|
lbl_80042CC8:
|
|
/* 80042CC8 0003EBE8 7F 83 E3 78 */ mr r3, r28
|
|
/* 80042CCC 0003EBEC 48 00 02 A9 */ bl world_sub_1
|
|
/* 80042CD0 0003EBF0 48 00 00 48 */ b lbl_80042D18
|
|
.global lbl_80042CD4
|
|
lbl_80042CD4:
|
|
/* 80042CD4 0003EBF4 7F 83 E3 78 */ mr r3, r28
|
|
/* 80042CD8 0003EBF8 48 00 03 15 */ bl world_sub_2
|
|
/* 80042CDC 0003EBFC 48 00 00 3C */ b lbl_80042D18
|
|
.global lbl_80042CE0
|
|
lbl_80042CE0:
|
|
/* 80042CE0 0003EC00 7F 83 E3 78 */ mr r3, r28
|
|
/* 80042CE4 0003EC04 48 00 08 CD */ bl world_sub_6
|
|
.global lbl_80042CE8
|
|
lbl_80042CE8:
|
|
/* 80042CE8 0003EC08 7F 83 E3 78 */ mr r3, r28
|
|
/* 80042CEC 0003EC0C 48 00 08 D1 */ bl world_sub_7
|
|
/* 80042CF0 0003EC10 48 00 00 28 */ b lbl_80042D18
|
|
.global lbl_80042CF4
|
|
lbl_80042CF4:
|
|
/* 80042CF4 0003EC14 7F 83 E3 78 */ mr r3, r28
|
|
/* 80042CF8 0003EC18 48 00 09 B5 */ bl world_sub_8
|
|
.global lbl_80042CFC
|
|
lbl_80042CFC:
|
|
/* 80042CFC 0003EC1C 7F 83 E3 78 */ mr r3, r28
|
|
/* 80042D00 0003EC20 48 00 09 B9 */ bl world_sub_9
|
|
/* 80042D04 0003EC24 48 00 00 14 */ b lbl_80042D18
|
|
.global lbl_80042D08
|
|
lbl_80042D08:
|
|
/* 80042D08 0003EC28 7F 83 E3 78 */ mr r3, r28
|
|
/* 80042D0C 0003EC2C 48 00 0A 79 */ bl world_sub_10
|
|
.global lbl_80042D10
|
|
lbl_80042D10:
|
|
/* 80042D10 0003EC30 7F 83 E3 78 */ mr r3, r28
|
|
/* 80042D14 0003EC34 48 00 0A 7D */ bl world_sub_11
|
|
lbl_80042D18:
|
|
.global lbl_80042D18
|
|
/* 80042D18 0003EC38 A8 7C 00 20 */ lha r3, 0x20(r28)
|
|
/* 80042D1C 0003EC3C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80042D20 0003EC40 40 81 00 0C */ ble lbl_80042D2C
|
|
/* 80042D24 0003EC44 38 03 FF FF */ addi r0, r3, -1
|
|
/* 80042D28 0003EC48 B0 1C 00 20 */ sth r0, 0x20(r28)
|
|
lbl_80042D2C:
|
|
/* 80042D2C 0003EC4C 3B 5A 00 01 */ addi r26, r26, 1
|
|
/* 80042D30 0003EC50 3B 9C 00 40 */ addi r28, r28, 0x40
|
|
/* 80042D34 0003EC54 3B 7B 00 01 */ addi r27, r27, 1
|
|
lbl_80042D38:
|
|
/* 80042D38 0003EC58 80 9F 00 08 */ lwz r4, 8(r31)
|
|
/* 80042D3C 0003EC5C 7C 1A 20 00 */ cmpw r26, r4
|
|
/* 80042D40 0003EC60 41 80 FF 48 */ blt lbl_80042C88
|
|
/* 80042D44 0003EC64 3C 60 80 1F */ lis r3, modeCtrl@ha
|
|
/* 80042D48 0003EC68 38 63 EC 20 */ addi r3, r3, modeCtrl@l
|
|
/* 80042D4C 0003EC6C 80 03 00 28 */ lwz r0, 0x28(r3)
|
|
/* 80042D50 0003EC70 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 80042D54 0003EC74 41 82 00 F0 */ beq lbl_80042E44
|
|
/* 80042D58 0003EC78 40 80 00 10 */ bge lbl_80042D68
|
|
/* 80042D5C 0003EC7C 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 80042D60 0003EC80 40 80 00 10 */ bge lbl_80042D70
|
|
/* 80042D64 0003EC84 48 00 00 E0 */ b lbl_80042E44
|
|
lbl_80042D68:
|
|
/* 80042D68 0003EC88 2C 00 00 05 */ cmpwi r0, 5
|
|
/* 80042D6C 0003EC8C 40 80 00 D8 */ bge lbl_80042E44
|
|
lbl_80042D70:
|
|
/* 80042D70 0003EC90 C0 02 8E A8 */ lfs f0, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 80042D74 0003EC94 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 80042D78 0003EC98 7C 89 03 A6 */ mtctr r4
|
|
/* 80042D7C 0003EC9C 38 9E 00 00 */ addi r4, r30, 0
|
|
/* 80042D80 0003ECA0 D0 01 00 08 */ stfs f0, 8(r1)
|
|
/* 80042D84 0003ECA4 D0 01 00 0C */ stfs f0, 0xc(r1)
|
|
/* 80042D88 0003ECA8 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 80042D8C 0003ECAC 80 BD 00 00 */ lwz r5, 0(r29)
|
|
/* 80042D90 0003ECB0 40 81 00 58 */ ble lbl_80042DE8
|
|
lbl_80042D94:
|
|
/* 80042D94 0003ECB4 88 65 00 00 */ lbz r3, 0(r5)
|
|
/* 80042D98 0003ECB8 7C 60 07 75 */ extsb. r0, r3
|
|
/* 80042D9C 0003ECBC 41 82 00 40 */ beq lbl_80042DDC
|
|
/* 80042DA0 0003ECC0 7C 60 07 74 */ extsb r0, r3
|
|
/* 80042DA4 0003ECC4 2C 00 00 04 */ cmpwi r0, 4
|
|
/* 80042DA8 0003ECC8 41 82 00 34 */ beq lbl_80042DDC
|
|
/* 80042DAC 0003ECCC C0 21 00 08 */ lfs f1, 8(r1)
|
|
/* 80042DB0 0003ECD0 C0 04 00 10 */ lfs f0, 0x10(r4)
|
|
/* 80042DB4 0003ECD4 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80042DB8 0003ECD8 D0 01 00 08 */ stfs f0, 8(r1)
|
|
/* 80042DBC 0003ECDC C0 21 00 0C */ lfs f1, 0xc(r1)
|
|
/* 80042DC0 0003ECE0 C0 04 00 14 */ lfs f0, 0x14(r4)
|
|
/* 80042DC4 0003ECE4 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80042DC8 0003ECE8 D0 01 00 0C */ stfs f0, 0xc(r1)
|
|
/* 80042DCC 0003ECEC C0 21 00 10 */ lfs f1, 0x10(r1)
|
|
/* 80042DD0 0003ECF0 C0 04 00 18 */ lfs f0, 0x18(r4)
|
|
/* 80042DD4 0003ECF4 EC 01 00 2A */ fadds f0, f1, f0
|
|
/* 80042DD8 0003ECF8 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
lbl_80042DDC:
|
|
/* 80042DDC 0003ECFC 38 84 00 40 */ addi r4, r4, 0x40
|
|
/* 80042DE0 0003ED00 38 A5 00 01 */ addi r5, r5, 1
|
|
/* 80042DE4 0003ED04 42 00 FF B0 */ bdnz lbl_80042D94
|
|
lbl_80042DE8:
|
|
/* 80042DE8 0003ED08 C0 22 8E A8 */ lfs f1, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 80042DEC 0003ED0C C0 01 00 08 */ lfs f0, 8(r1)
|
|
/* 80042DF0 0003ED10 FC 01 00 00 */ fcmpu cr0, f1, f0
|
|
/* 80042DF4 0003ED14 40 82 00 1C */ bne lbl_80042E10
|
|
/* 80042DF8 0003ED18 C0 01 00 0C */ lfs f0, 0xc(r1)
|
|
/* 80042DFC 0003ED1C FC 01 00 00 */ fcmpu cr0, f1, f0
|
|
/* 80042E00 0003ED20 40 82 00 10 */ bne lbl_80042E10
|
|
/* 80042E04 0003ED24 C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 80042E08 0003ED28 FC 01 00 00 */ fcmpu cr0, f1, f0
|
|
/* 80042E0C 0003ED2C 41 82 00 28 */ beq lbl_80042E34
|
|
lbl_80042E10:
|
|
/* 80042E10 0003ED30 80 81 00 08 */ lwz r4, 8(r1)
|
|
/* 80042E14 0003ED34 38 7E 01 00 */ addi r3, r30, 0x100
|
|
/* 80042E18 0003ED38 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
/* 80042E1C 0003ED3C 90 9E 01 00 */ stw r4, 0x100(r30)
|
|
/* 80042E20 0003ED40 90 1E 01 04 */ stw r0, 0x104(r30)
|
|
/* 80042E24 0003ED44 80 01 00 10 */ lwz r0, 0x10(r1)
|
|
/* 80042E28 0003ED48 90 1E 01 08 */ stw r0, 0x108(r30)
|
|
/* 80042E2C 0003ED4C 4B FC 52 D1 */ bl mathutil_vec_normalize_len
|
|
/* 80042E30 0003ED50 48 00 00 40 */ b lbl_80042E70
|
|
lbl_80042E34:
|
|
/* 80042E34 0003ED54 D0 3E 01 00 */ stfs f1, 0x100(r30)
|
|
/* 80042E38 0003ED58 D0 3E 01 04 */ stfs f1, 0x104(r30)
|
|
/* 80042E3C 0003ED5C D0 3E 01 08 */ stfs f1, 0x108(r30)
|
|
/* 80042E40 0003ED60 48 00 00 30 */ b lbl_80042E70
|
|
lbl_80042E44:
|
|
/* 80042E44 0003ED64 3C 60 80 1F */ lis r3, modeCtrl@ha
|
|
/* 80042E48 0003ED68 38 63 EC 20 */ addi r3, r3, modeCtrl@l
|
|
/* 80042E4C 0003ED6C 80 03 00 2C */ lwz r0, 0x2c(r3)
|
|
/* 80042E50 0003ED70 54 00 30 32 */ slwi r0, r0, 6
|
|
/* 80042E54 0003ED74 7C 9E 02 14 */ add r4, r30, r0
|
|
/* 80042E58 0003ED78 80 64 00 10 */ lwz r3, 0x10(r4)
|
|
/* 80042E5C 0003ED7C 80 04 00 14 */ lwz r0, 0x14(r4)
|
|
/* 80042E60 0003ED80 90 7E 01 00 */ stw r3, 0x100(r30)
|
|
/* 80042E64 0003ED84 90 1E 01 04 */ stw r0, 0x104(r30)
|
|
/* 80042E68 0003ED88 80 04 00 18 */ lwz r0, 0x18(r4)
|
|
/* 80042E6C 0003ED8C 90 1E 01 08 */ stw r0, 0x108(r30)
|
|
lbl_80042E70:
|
|
/* 80042E70 0003ED90 BB 21 00 1C */ lmw r25, 0x1c(r1)
|
|
/* 80042E74 0003ED94 80 01 00 3C */ lwz r0, 0x3c(r1)
|
|
/* 80042E78 0003ED98 38 21 00 38 */ addi r1, r1, 0x38
|
|
/* 80042E7C 0003ED9C 7C 08 03 A6 */ mtlr r0
|
|
/* 80042E80 0003EDA0 4E 80 00 20 */ blr
|
|
.global ev_world_dest
|
|
ev_world_dest:
|
|
/* 80042E84 0003EDA4 7C 08 02 A6 */ mflr r0
|
|
/* 80042E88 0003EDA8 3C 60 80 20 */ lis r3, spritePoolInfo@ha
|
|
/* 80042E8C 0003EDAC 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80042E90 0003EDB0 3C 80 80 20 */ lis r4, lbl_80206BF0@ha
|
|
/* 80042E94 0003EDB4 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 80042E98 0003EDB8 DB E1 00 28 */ stfd f31, 0x28(r1)
|
|
/* 80042E9C 0003EDBC DB C1 00 20 */ stfd f30, 0x20(r1)
|
|
/* 80042EA0 0003EDC0 BF 61 00 0C */ stmw r27, 0xc(r1)
|
|
/* 80042EA4 0003EDC4 3B E3 59 88 */ addi r31, r3, spritePoolInfo@l
|
|
/* 80042EA8 0003EDC8 3B C4 6B F0 */ addi r30, r4, lbl_80206BF0@l
|
|
/* 80042EAC 0003EDCC 3B BE 00 00 */ addi r29, r30, 0
|
|
/* 80042EB0 0003EDD0 3B 60 00 00 */ li r27, 0
|
|
/* 80042EB4 0003EDD4 C3 C2 8E AC */ lfs f30, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80042EB8 0003EDD8 C3 E2 8E B0 */ lfs f31, lbl_802F36B0-_SDA2_BASE_(r2)
|
|
/* 80042EBC 0003EDDC 83 9F 00 0C */ lwz r28, 0xc(r31)
|
|
/* 80042EC0 0003EDE0 48 00 00 34 */ b lbl_80042EF4
|
|
lbl_80042EC4:
|
|
/* 80042EC4 0003EDE4 88 1C 00 00 */ lbz r0, 0(r28)
|
|
/* 80042EC8 0003EDE8 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 80042ECC 0003EDEC 40 82 00 1C */ bne lbl_80042EE8
|
|
/* 80042ED0 0003EDF0 38 7D 00 00 */ addi r3, r29, 0
|
|
/* 80042ED4 0003EDF4 38 80 00 00 */ li r4, 0
|
|
/* 80042ED8 0003EDF8 38 A0 00 40 */ li r5, 0x40
|
|
/* 80042EDC 0003EDFC 4B FC 04 45 */ bl memset
|
|
/* 80042EE0 0003EE00 D3 DD 00 14 */ stfs f30, 0x14(r29)
|
|
/* 80042EE4 0003EE04 D3 FD 00 1C */ stfs f31, 0x1c(r29)
|
|
lbl_80042EE8:
|
|
/* 80042EE8 0003EE08 3B 7B 00 01 */ addi r27, r27, 1
|
|
/* 80042EEC 0003EE0C 3B BD 00 40 */ addi r29, r29, 0x40
|
|
/* 80042EF0 0003EE10 3B 9C 00 01 */ addi r28, r28, 1
|
|
lbl_80042EF4:
|
|
/* 80042EF4 0003EE14 80 1F 00 08 */ lwz r0, 8(r31)
|
|
/* 80042EF8 0003EE18 7C 1B 00 00 */ cmpw r27, r0
|
|
/* 80042EFC 0003EE1C 41 80 FF C8 */ blt lbl_80042EC4
|
|
/* 80042F00 0003EE20 C0 22 8E A8 */ lfs f1, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 80042F04 0003EE24 D0 3E 01 00 */ stfs f1, 0x100(r30)
|
|
/* 80042F08 0003EE28 C0 02 8E AC */ lfs f0, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80042F0C 0003EE2C D0 1E 01 04 */ stfs f0, 0x104(r30)
|
|
/* 80042F10 0003EE30 D0 3E 01 08 */ stfs f1, 0x108(r30)
|
|
/* 80042F14 0003EE34 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80042F18 0003EE38 CB E1 00 28 */ lfd f31, 0x28(r1)
|
|
/* 80042F1C 0003EE3C CB C1 00 20 */ lfd f30, 0x20(r1)
|
|
/* 80042F20 0003EE40 BB 61 00 0C */ lmw r27, 0xc(r1)
|
|
/* 80042F24 0003EE44 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80042F28 0003EE48 7C 08 03 A6 */ mtlr r0
|
|
/* 80042F2C 0003EE4C 4E 80 00 20 */ blr
|
|
|
|
.global world_clear
|
|
world_clear:
|
|
/* 80042F30 0003EE50 7C 08 02 A6 */ mflr r0
|
|
/* 80042F34 0003EE54 38 80 00 00 */ li r4, 0
|
|
/* 80042F38 0003EE58 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80042F3C 0003EE5C 38 A0 00 40 */ li r5, 0x40
|
|
/* 80042F40 0003EE60 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 80042F44 0003EE64 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 80042F48 0003EE68 3B E3 00 00 */ addi r31, r3, 0
|
|
/* 80042F4C 0003EE6C 4B FC 03 D5 */ bl memset
|
|
/* 80042F50 0003EE70 C0 02 8E AC */ lfs f0, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80042F54 0003EE74 D0 1F 00 14 */ stfs f0, 0x14(r31)
|
|
/* 80042F58 0003EE78 C0 02 8E B0 */ lfs f0, lbl_802F36B0-_SDA2_BASE_(r2)
|
|
/* 80042F5C 0003EE7C D0 1F 00 1C */ stfs f0, 0x1c(r31)
|
|
/* 80042F60 0003EE80 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 80042F64 0003EE84 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 80042F68 0003EE88 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 80042F6C 0003EE8C 7C 08 03 A6 */ mtlr r0
|
|
/* 80042F70 0003EE90 4E 80 00 20 */ blr
|
|
|
|
.global world_sub_1
|
|
world_sub_1:
|
|
/* 80042F74 0003EE94 7C 08 02 A6 */ mflr r0
|
|
/* 80042F78 0003EE98 38 80 00 00 */ li r4, 0
|
|
/* 80042F7C 0003EE9C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80042F80 0003EEA0 38 A0 00 40 */ li r5, 0x40
|
|
/* 80042F84 0003EEA4 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 80042F88 0003EEA8 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 80042F8C 0003EEAC 3B E3 00 00 */ addi r31, r3, 0
|
|
/* 80042F90 0003EEB0 4B FC 03 91 */ bl memset
|
|
/* 80042F94 0003EEB4 C0 02 8E AC */ lfs f0, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80042F98 0003EEB8 3C 60 80 1F */ lis r3, modeCtrl@ha
|
|
/* 80042F9C 0003EEBC 38 63 EC 20 */ addi r3, r3, modeCtrl@l
|
|
/* 80042FA0 0003EEC0 D0 1F 00 14 */ stfs f0, 0x14(r31)
|
|
/* 80042FA4 0003EEC4 C0 02 8E B0 */ lfs f0, lbl_802F36B0-_SDA2_BASE_(r2)
|
|
/* 80042FA8 0003EEC8 D0 1F 00 1C */ stfs f0, 0x1c(r31)
|
|
/* 80042FAC 0003EECC 80 03 00 28 */ lwz r0, 0x28(r3)
|
|
/* 80042FB0 0003EED0 2C 00 00 04 */ cmpwi r0, 4
|
|
/* 80042FB4 0003EED4 41 82 00 08 */ beq lbl_80042FBC
|
|
/* 80042FB8 0003EED8 48 00 00 10 */ b lbl_80042FC8
|
|
lbl_80042FBC:
|
|
/* 80042FBC 0003EEDC C0 02 8E B4 */ lfs f0, lbl_802F36B4-_SDA2_BASE_(r2)
|
|
/* 80042FC0 0003EEE0 D0 1F 00 0C */ stfs f0, 0xc(r31)
|
|
/* 80042FC4 0003EEE4 48 00 00 0C */ b lbl_80042FD0
|
|
lbl_80042FC8:
|
|
/* 80042FC8 0003EEE8 C0 02 8E B8 */ lfs f0, lbl_802F36B8-_SDA2_BASE_(r2)
|
|
/* 80042FCC 0003EEEC D0 1F 00 0C */ stfs f0, 0xc(r31)
|
|
lbl_80042FD0:
|
|
/* 80042FD0 0003EEF0 38 00 00 02 */ li r0, 2
|
|
/* 80042FD4 0003EEF4 98 1F 00 08 */ stb r0, 8(r31)
|
|
/* 80042FD8 0003EEF8 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 80042FDC 0003EEFC 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 80042FE0 0003EF00 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 80042FE4 0003EF04 7C 08 03 A6 */ mtlr r0
|
|
/* 80042FE8 0003EF08 4E 80 00 20 */ blr
|
|
|
|
.global world_sub_2
|
|
world_sub_2:
|
|
/* 80042FEC 0003EF0C 7C 08 02 A6 */ mflr r0
|
|
/* 80042FF0 0003EF10 3C 80 80 1B */ lis r4, lbl_801B7FA8@ha
|
|
/* 80042FF4 0003EF14 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80042FF8 0003EF18 94 21 FF A0 */ stwu r1, -0x60(r1)
|
|
/* 80042FFC 0003EF1C DB E1 00 58 */ stfd f31, 0x58(r1)
|
|
/* 80043000 0003EF20 93 E1 00 54 */ stw r31, 0x54(r1)
|
|
/* 80043004 0003EF24 3B E4 7F A8 */ addi r31, r4, lbl_801B7FA8@l
|
|
/* 80043008 0003EF28 93 C1 00 50 */ stw r30, 0x50(r1)
|
|
/* 8004300C 0003EF2C 93 A1 00 4C */ stw r29, 0x4c(r1)
|
|
/* 80043010 0003EF30 3B A3 00 00 */ addi r29, r3, 0
|
|
/* 80043014 0003EF34 93 81 00 48 */ stw r28, 0x48(r1)
|
|
/* 80043018 0003EF38 80 0D 9D 00 */ lwz r0, lbl_802F1EE0@sda21(r13)
|
|
/* 8004301C 0003EF3C 70 00 00 0A */ andi. r0, r0, 0xa
|
|
/* 80043020 0003EF40 40 82 05 6C */ bne lbl_8004358C
|
|
/* 80043024 0003EF44 A8 0D 99 B2 */ lha r0, gameMode@sda21(r13)
|
|
/* 80043028 0003EF48 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8004302C 0003EF4C 40 82 00 24 */ bne lbl_80043050
|
|
/* 80043030 0003EF50 3C 60 80 1F */ lis r3, lbl_801EED2C@ha
|
|
/* 80043034 0003EF54 38 63 ED 2C */ addi r3, r3, lbl_801EED2C@l
|
|
/* 80043038 0003EF58 80 03 00 04 */ lwz r0, 4(r3)
|
|
/* 8004303C 0003EF5C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
|
/* 80043040 0003EF60 40 82 00 10 */ bne lbl_80043050
|
|
/* 80043044 0003EF64 A8 0D 99 AE */ lha r0, gameSubmode@sda21(r13)
|
|
/* 80043048 0003EF68 2C 00 00 0E */ cmpwi r0, 0xe
|
|
/* 8004304C 0003EF6C 40 82 05 40 */ bne lbl_8004358C
|
|
lbl_80043050:
|
|
/* 80043050 0003EF70 A8 0D 99 AE */ lha r0, gameSubmode@sda21(r13)
|
|
/* 80043054 0003EF74 2C 00 00 0E */ cmpwi r0, 0xe
|
|
/* 80043058 0003EF78 40 82 01 14 */ bne lbl_8004316C
|
|
/* 8004305C 0003EF7C 3C 60 80 1F */ lis r3, modeCtrl@ha
|
|
/* 80043060 0003EF80 C8 22 8E F0 */ lfd f1, lbl_802F36F0-_SDA2_BASE_(r2)
|
|
/* 80043064 0003EF84 80 A3 EC 20 */ lwz r5, modeCtrl@l(r3)
|
|
/* 80043068 0003EF88 3C 80 43 30 */ lis r4, 0x4330
|
|
/* 8004306C 0003EF8C A8 1D 00 00 */ lha r0, 0(r29)
|
|
/* 80043070 0003EF90 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 80043074 0003EF94 20 A5 11 1C */ subfic r5, r5, 0x111c
|
|
/* 80043078 0003EF98 B0 1D 00 04 */ sth r0, 4(r29)
|
|
/* 8004307C 0003EF9C 6C A0 80 00 */ xoris r0, r5, 0x8000
|
|
/* 80043080 0003EFA0 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 80043084 0003EFA4 A8 1D 00 02 */ lha r0, 2(r29)
|
|
/* 80043088 0003EFA8 90 81 00 40 */ stw r4, 0x40(r1)
|
|
/* 8004308C 0003EFAC C8 01 00 40 */ lfd f0, 0x40(r1)
|
|
/* 80043090 0003EFB0 B0 1D 00 06 */ sth r0, 6(r29)
|
|
/* 80043094 0003EFB4 EF E0 08 28 */ fsubs f31, f0, f1
|
|
/* 80043098 0003EFB8 FC 20 F8 90 */ fmr f1, f31
|
|
/* 8004309C 0003EFBC 48 04 9D 25 */ bl func_8008CDC0
|
|
/* 800430A0 0003EFC0 FC 00 08 1E */ fctiwz f0, f1
|
|
/* 800430A4 0003EFC4 3C 60 80 1F */ lis r3, lbl_801EED3C@ha
|
|
/* 800430A8 0003EFC8 FC 20 F8 90 */ fmr f1, f31
|
|
/* 800430AC 0003EFCC 3B 83 ED 3C */ addi r28, r3, lbl_801EED3C@l
|
|
/* 800430B0 0003EFD0 38 7F 01 90 */ addi r3, r31, 0x190
|
|
/* 800430B4 0003EFD4 D8 01 00 38 */ stfd f0, 0x38(r1)
|
|
/* 800430B8 0003EFD8 80 01 00 3C */ lwz r0, 0x3c(r1)
|
|
/* 800430BC 0003EFDC 90 1C 00 00 */ stw r0, 0(r28)
|
|
/* 800430C0 0003EFE0 7C 1E 03 78 */ mr r30, r0
|
|
/* 800430C4 0003EFE4 48 04 9C FD */ bl func_8008CDC0
|
|
/* 800430C8 0003EFE8 FC 00 08 1E */ fctiwz f0, f1
|
|
/* 800430CC 0003EFEC D8 01 00 30 */ stfd f0, 0x30(r1)
|
|
/* 800430D0 0003EFF0 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 800430D4 0003EFF4 90 1C 00 04 */ stw r0, 4(r28)
|
|
/* 800430D8 0003EFF8 7C 1F 03 78 */ mr r31, r0
|
|
/* 800430DC 0003EFFC 4B FC 44 89 */ bl mathutil_mtxA_from_identity
|
|
/* 800430E0 0003F000 88 1D 00 09 */ lbz r0, 9(r29)
|
|
/* 800430E4 0003F004 3C 60 80 1F */ lis r3, cameraInfo@ha
|
|
/* 800430E8 0003F008 38 63 EF 00 */ addi r3, r3, cameraInfo@l
|
|
/* 800430EC 0003F00C 7C 00 07 74 */ extsb r0, r0
|
|
/* 800430F0 0003F010 1C 00 02 84 */ mulli r0, r0, 0x284
|
|
/* 800430F4 0003F014 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800430F8 0003F018 A8 63 00 1A */ lha r3, 0x1a(r3)
|
|
/* 800430FC 0003F01C 4B FC 4F 01 */ bl mathutil_mtxA_rotate_y
|
|
/* 80043100 0003F020 7F C3 F3 78 */ mr r3, r30
|
|
/* 80043104 0003F024 4B FC 4E 85 */ bl mathutil_mtxA_rotate_x
|
|
/* 80043108 0003F028 7F E3 FB 78 */ mr r3, r31
|
|
/* 8004310C 0003F02C 4B FC 4F 7D */ bl mathutil_mtxA_rotate_z
|
|
/* 80043110 0003F030 C0 22 8E A8 */ lfs f1, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 80043114 0003F034 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80043118 0003F038 C0 02 8E B0 */ lfs f0, lbl_802F36B0-_SDA2_BASE_(r2)
|
|
/* 8004311C 0003F03C 7C 64 1B 78 */ mr r4, r3
|
|
/* 80043120 0003F040 D0 21 00 0C */ stfs f1, 0xc(r1)
|
|
/* 80043124 0003F044 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 80043128 0003F048 D0 21 00 14 */ stfs f1, 0x14(r1)
|
|
/* 8004312C 0003F04C 4B FC 4D 11 */ bl mathutil_mtxA_tf_vec
|
|
/* 80043130 0003F050 C0 21 00 14 */ lfs f1, 0x14(r1)
|
|
/* 80043134 0003F054 C0 41 00 10 */ lfs f2, 0x10(r1)
|
|
/* 80043138 0003F058 4B FC 41 6D */ bl mathutil_atan2
|
|
/* 8004313C 0003F05C C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 80043140 0003F060 7C 7E 07 34 */ extsh r30, r3
|
|
/* 80043144 0003F064 C0 21 00 14 */ lfs f1, 0x14(r1)
|
|
/* 80043148 0003F068 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 8004314C 0003F06C EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 80043150 0003F070 4B FC 3F A9 */ bl mathutil_sqrt
|
|
/* 80043154 0003F074 FC 40 08 90 */ fmr f2, f1
|
|
/* 80043158 0003F078 C0 21 00 0C */ lfs f1, 0xc(r1)
|
|
/* 8004315C 0003F07C 4B FC 41 49 */ bl mathutil_atan2
|
|
/* 80043160 0003F080 7C 60 07 34 */ extsh r0, r3
|
|
/* 80043164 0003F084 7F E0 00 D0 */ neg r31, r0
|
|
/* 80043168 0003F088 48 00 02 EC */ b lbl_80043454
|
|
lbl_8004316C:
|
|
/* 8004316C 0003F08C 3C 60 80 1F */ lis r3, lbl_801EED2C@ha
|
|
/* 80043170 0003F090 38 63 ED 2C */ addi r3, r3, lbl_801EED2C@l
|
|
/* 80043174 0003F094 80 03 00 04 */ lwz r0, 4(r3)
|
|
/* 80043178 0003F098 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
|
/* 8004317C 0003F09C 41 82 00 A0 */ beq lbl_8004321C
|
|
/* 80043180 0003F0A0 80 83 00 08 */ lwz r4, 8(r3)
|
|
/* 80043184 0003F0A4 3C 60 43 30 */ lis r3, 0x4330
|
|
/* 80043188 0003F0A8 C8 22 8E F0 */ lfd f1, lbl_802F36F0-_SDA2_BASE_(r2)
|
|
/* 8004318C 0003F0AC A8 1D 00 00 */ lha r0, 0(r29)
|
|
/* 80043190 0003F0B0 6C 84 80 00 */ xoris r4, r4, 0x8000
|
|
/* 80043194 0003F0B4 90 81 00 34 */ stw r4, 0x34(r1)
|
|
/* 80043198 0003F0B8 B0 1D 00 04 */ sth r0, 4(r29)
|
|
/* 8004319C 0003F0BC A8 1D 00 02 */ lha r0, 2(r29)
|
|
/* 800431A0 0003F0C0 90 61 00 30 */ stw r3, 0x30(r1)
|
|
/* 800431A4 0003F0C4 B0 1D 00 06 */ sth r0, 6(r29)
|
|
/* 800431A8 0003F0C8 C8 01 00 30 */ lfd f0, 0x30(r1)
|
|
/* 800431AC 0003F0CC 88 1D 00 09 */ lbz r0, 9(r29)
|
|
/* 800431B0 0003F0D0 EF E0 08 28 */ fsubs f31, f0, f1
|
|
/* 800431B4 0003F0D4 7C 00 07 74 */ extsb r0, r0
|
|
/* 800431B8 0003F0D8 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 800431BC 0003F0DC 7C 7F 02 14 */ add r3, r31, r0
|
|
/* 800431C0 0003F0E0 FC 20 F8 90 */ fmr f1, f31
|
|
/* 800431C4 0003F0E4 80 63 06 E0 */ lwz r3, 0x6e0(r3)
|
|
/* 800431C8 0003F0E8 48 04 9B F9 */ bl func_8008CDC0
|
|
/* 800431CC 0003F0EC FC 00 08 1E */ fctiwz f0, f1
|
|
/* 800431D0 0003F0F0 3C 60 80 1F */ lis r3, lbl_801EED3C@ha
|
|
/* 800431D4 0003F0F4 3B 83 ED 3C */ addi r28, r3, lbl_801EED3C@l
|
|
/* 800431D8 0003F0F8 FC 20 F8 90 */ fmr f1, f31
|
|
/* 800431DC 0003F0FC D8 01 00 38 */ stfd f0, 0x38(r1)
|
|
/* 800431E0 0003F100 80 01 00 3C */ lwz r0, 0x3c(r1)
|
|
/* 800431E4 0003F104 90 1C 00 00 */ stw r0, 0(r28)
|
|
/* 800431E8 0003F108 7C 1E 03 78 */ mr r30, r0
|
|
/* 800431EC 0003F10C 88 1D 00 09 */ lbz r0, 9(r29)
|
|
/* 800431F0 0003F110 7C 00 07 74 */ extsb r0, r0
|
|
/* 800431F4 0003F114 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 800431F8 0003F118 7C 7F 02 14 */ add r3, r31, r0
|
|
/* 800431FC 0003F11C 80 63 06 F0 */ lwz r3, 0x6f0(r3)
|
|
/* 80043200 0003F120 48 04 9B C1 */ bl func_8008CDC0
|
|
/* 80043204 0003F124 FC 00 08 1E */ fctiwz f0, f1
|
|
/* 80043208 0003F128 D8 01 00 40 */ stfd f0, 0x40(r1)
|
|
/* 8004320C 0003F12C 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 80043210 0003F130 90 1C 00 04 */ stw r0, 4(r28)
|
|
/* 80043214 0003F134 7C 1F 03 78 */ mr r31, r0
|
|
/* 80043218 0003F138 48 00 02 3C */ b lbl_80043454
|
|
lbl_8004321C:
|
|
/* 8004321C 0003F13C 88 1D 00 09 */ lbz r0, 9(r29)
|
|
/* 80043220 0003F140 3C 60 80 20 */ lis r3, ballInfo@ha
|
|
/* 80043224 0003F144 38 63 5E 60 */ addi r3, r3, ballInfo@l
|
|
/* 80043228 0003F148 7C 00 07 74 */ extsb r0, r0
|
|
/* 8004322C 0003F14C 1C 00 01 A4 */ mulli r0, r0, 0x1a4
|
|
/* 80043230 0003F150 7C 63 02 14 */ add r3, r3, r0
|
|
/* 80043234 0003F154 80 03 00 94 */ lwz r0, 0x94(r3)
|
|
/* 80043238 0003F158 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
|
|
/* 8004323C 0003F15C 40 82 00 28 */ bne lbl_80043264
|
|
/* 80043240 0003F160 A8 1D 00 20 */ lha r0, 0x20(r29)
|
|
/* 80043244 0003F164 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80043248 0003F168 41 81 00 1C */ bgt lbl_80043264
|
|
/* 8004324C 0003F16C 88 03 00 03 */ lbz r0, 3(r3)
|
|
/* 80043250 0003F170 2C 00 00 17 */ cmpwi r0, 0x17
|
|
/* 80043254 0003F174 40 82 00 1C */ bne lbl_80043270
|
|
/* 80043258 0003F178 88 03 01 48 */ lbz r0, 0x148(r3)
|
|
/* 8004325C 0003F17C 28 00 00 02 */ cmplwi r0, 2
|
|
/* 80043260 0003F180 40 82 00 10 */ bne lbl_80043270
|
|
lbl_80043264:
|
|
/* 80043264 0003F184 3B C0 00 00 */ li r30, 0
|
|
/* 80043268 0003F188 3B E0 00 00 */ li r31, 0
|
|
/* 8004326C 0003F18C 48 00 01 E8 */ b lbl_80043454
|
|
lbl_80043270:
|
|
/* 80043270 0003F190 A8 1D 00 00 */ lha r0, 0(r29)
|
|
/* 80043274 0003F194 3C 60 80 20 */ lis r3, lbl_80206BD0@ha
|
|
/* 80043278 0003F198 3C 80 80 1F */ lis r4, controllerInfo@ha
|
|
/* 8004327C 0003F19C B0 1D 00 04 */ sth r0, 4(r29)
|
|
/* 80043280 0003F1A0 38 03 6B D0 */ addi r0, r3, lbl_80206BD0@l
|
|
/* 80043284 0003F1A4 38 A4 3B 70 */ addi r5, r4, controllerInfo@l
|
|
/* 80043288 0003F1A8 A8 9D 00 02 */ lha r4, 2(r29)
|
|
/* 8004328C 0003F1AC 3C 60 43 30 */ lis r3, 0x4330
|
|
/* 80043290 0003F1B0 B0 9D 00 06 */ sth r4, 6(r29)
|
|
/* 80043294 0003F1B4 88 9D 00 09 */ lbz r4, 9(r29)
|
|
/* 80043298 0003F1B8 C8 82 8E F0 */ lfd f4, lbl_802F36F0-_SDA2_BASE_(r2)
|
|
/* 8004329C 0003F1BC 7C 84 07 74 */ extsb r4, r4
|
|
/* 800432A0 0003F1C0 C8 42 8E C0 */ lfd f2, lbl_802F36C0-_SDA2_BASE_(r2)
|
|
/* 800432A4 0003F1C4 54 84 10 3A */ slwi r4, r4, 2
|
|
/* 800432A8 0003F1C8 C8 02 8E C8 */ lfd f0, lbl_802F36C8-_SDA2_BASE_(r2)
|
|
/* 800432AC 0003F1CC 7C 80 22 14 */ add r4, r0, r4
|
|
/* 800432B0 0003F1D0 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 800432B4 0003F1D4 1C 00 00 3C */ mulli r0, r0, 0x3c
|
|
/* 800432B8 0003F1D8 7C A5 02 14 */ add r5, r5, r0
|
|
/* 800432BC 0003F1DC 88 85 00 02 */ lbz r4, 2(r5)
|
|
/* 800432C0 0003F1E0 88 05 00 03 */ lbz r0, 3(r5)
|
|
/* 800432C4 0003F1E4 7C 84 07 74 */ extsb r4, r4
|
|
/* 800432C8 0003F1E8 6C 84 80 00 */ xoris r4, r4, 0x8000
|
|
/* 800432CC 0003F1EC 90 81 00 34 */ stw r4, 0x34(r1)
|
|
/* 800432D0 0003F1F0 7C 00 07 74 */ extsb r0, r0
|
|
/* 800432D4 0003F1F4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800432D8 0003F1F8 90 61 00 30 */ stw r3, 0x30(r1)
|
|
/* 800432DC 0003F1FC 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 800432E0 0003F200 C8 21 00 30 */ lfd f1, 0x30(r1)
|
|
/* 800432E4 0003F204 90 61 00 38 */ stw r3, 0x38(r1)
|
|
/* 800432E8 0003F208 FC 61 20 28 */ fsub f3, f1, f4
|
|
/* 800432EC 0003F20C C8 21 00 38 */ lfd f1, 0x38(r1)
|
|
/* 800432F0 0003F210 EC 21 20 28 */ fsubs f1, f1, f4
|
|
/* 800432F4 0003F214 FC 63 10 24 */ fdiv f3, f3, f2
|
|
/* 800432F8 0003F218 FC 20 08 50 */ fneg f1, f1
|
|
/* 800432FC 0003F21C FC 60 18 18 */ frsp f3, f3
|
|
/* 80043300 0003F220 FC 81 10 24 */ fdiv f4, f1, f2
|
|
/* 80043304 0003F224 FC 03 00 40 */ fcmpo cr0, f3, f0
|
|
/* 80043308 0003F228 FC 80 20 18 */ frsp f4, f4
|
|
/* 8004330C 0003F22C 40 80 00 0C */ bge lbl_80043318
|
|
/* 80043310 0003F230 C0 62 8E AC */ lfs f3, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80043314 0003F234 48 00 00 14 */ b lbl_80043328
|
|
lbl_80043318:
|
|
/* 80043318 0003F238 C8 02 8E D0 */ lfd f0, lbl_802F36D0-_SDA2_BASE_(r2)
|
|
/* 8004331C 0003F23C FC 03 00 40 */ fcmpo cr0, f3, f0
|
|
/* 80043320 0003F240 40 81 00 08 */ ble lbl_80043328
|
|
/* 80043324 0003F244 C0 62 8E B0 */ lfs f3, lbl_802F36B0-_SDA2_BASE_(r2)
|
|
lbl_80043328:
|
|
/* 80043328 0003F248 C8 02 8E C8 */ lfd f0, lbl_802F36C8-_SDA2_BASE_(r2)
|
|
/* 8004332C 0003F24C FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 80043330 0003F250 40 80 00 0C */ bge lbl_8004333C
|
|
/* 80043334 0003F254 C0 82 8E AC */ lfs f4, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80043338 0003F258 48 00 00 14 */ b lbl_8004334C
|
|
lbl_8004333C:
|
|
/* 8004333C 0003F25C C8 02 8E D0 */ lfd f0, lbl_802F36D0-_SDA2_BASE_(r2)
|
|
/* 80043340 0003F260 FC 04 00 40 */ fcmpo cr0, f4, f0
|
|
/* 80043344 0003F264 40 81 00 08 */ ble lbl_8004334C
|
|
/* 80043348 0003F268 C0 82 8E B0 */ lfs f4, lbl_802F36B0-_SDA2_BASE_(r2)
|
|
lbl_8004334C:
|
|
/* 8004334C 0003F26C C0 42 8E D8 */ lfs f2, lbl_802F36D8-_SDA2_BASE_(r2)
|
|
/* 80043350 0003F270 3C 60 43 30 */ lis r3, 0x4330
|
|
/* 80043354 0003F274 C0 1D 00 0C */ lfs f0, 0xc(r29)
|
|
/* 80043358 0003F278 FC 20 18 50 */ fneg f1, f3
|
|
/* 8004335C 0003F27C C8 62 8E F0 */ lfd f3, lbl_802F36F0-_SDA2_BASE_(r2)
|
|
/* 80043360 0003F280 EC 02 00 32 */ fmuls f0, f2, f0
|
|
/* 80043364 0003F284 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80043368 0003F288 D8 01 00 30 */ stfd f0, 0x30(r1)
|
|
/* 8004336C 0003F28C D8 01 00 28 */ stfd f0, 0x28(r1)
|
|
/* 80043370 0003F290 80 81 00 34 */ lwz r4, 0x34(r1)
|
|
/* 80043374 0003F294 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 80043378 0003F298 7C 84 07 34 */ extsh r4, r4
|
|
/* 8004337C 0003F29C 7C 00 07 34 */ extsh r0, r0
|
|
/* 80043380 0003F2A0 6C 84 80 00 */ xoris r4, r4, 0x8000
|
|
/* 80043384 0003F2A4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 80043388 0003F2A8 90 81 00 3C */ stw r4, 0x3c(r1)
|
|
/* 8004338C 0003F2AC 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80043390 0003F2B0 90 61 00 38 */ stw r3, 0x38(r1)
|
|
/* 80043394 0003F2B4 90 61 00 20 */ stw r3, 0x20(r1)
|
|
/* 80043398 0003F2B8 C8 41 00 38 */ lfd f2, 0x38(r1)
|
|
/* 8004339C 0003F2BC C8 01 00 20 */ lfd f0, 0x20(r1)
|
|
/* 800433A0 0003F2C0 EC 42 18 28 */ fsubs f2, f2, f3
|
|
/* 800433A4 0003F2C4 EC 00 18 28 */ fsubs f0, f0, f3
|
|
/* 800433A8 0003F2C8 EC 44 00 B2 */ fmuls f2, f4, f2
|
|
/* 800433AC 0003F2CC EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 800433B0 0003F2D0 FC 20 10 1E */ fctiwz f1, f2
|
|
/* 800433B4 0003F2D4 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 800433B8 0003F2D8 D8 21 00 40 */ stfd f1, 0x40(r1)
|
|
/* 800433BC 0003F2DC D8 01 00 18 */ stfd f0, 0x18(r1)
|
|
/* 800433C0 0003F2E0 83 C1 00 44 */ lwz r30, 0x44(r1)
|
|
/* 800433C4 0003F2E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 800433C8 0003F2E8 4B FC 41 9D */ bl mathutil_mtxA_from_identity
|
|
/* 800433CC 0003F2EC 88 1D 00 09 */ lbz r0, 9(r29)
|
|
/* 800433D0 0003F2F0 3C 60 80 1F */ lis r3, cameraInfo@ha
|
|
/* 800433D4 0003F2F4 38 63 EF 00 */ addi r3, r3, cameraInfo@l
|
|
/* 800433D8 0003F2F8 7C 00 07 74 */ extsb r0, r0
|
|
/* 800433DC 0003F2FC 1C 00 02 84 */ mulli r0, r0, 0x284
|
|
/* 800433E0 0003F300 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800433E4 0003F304 A8 63 00 1A */ lha r3, 0x1a(r3)
|
|
/* 800433E8 0003F308 4B FC 4C 15 */ bl mathutil_mtxA_rotate_y
|
|
/* 800433EC 0003F30C 7F C3 F3 78 */ mr r3, r30
|
|
/* 800433F0 0003F310 4B FC 4B 99 */ bl mathutil_mtxA_rotate_x
|
|
/* 800433F4 0003F314 7F E3 FB 78 */ mr r3, r31
|
|
/* 800433F8 0003F318 4B FC 4C 91 */ bl mathutil_mtxA_rotate_z
|
|
/* 800433FC 0003F31C C0 22 8E A8 */ lfs f1, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 80043400 0003F320 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80043404 0003F324 C0 02 8E B0 */ lfs f0, lbl_802F36B0-_SDA2_BASE_(r2)
|
|
/* 80043408 0003F328 7C 64 1B 78 */ mr r4, r3
|
|
/* 8004340C 0003F32C D0 21 00 0C */ stfs f1, 0xc(r1)
|
|
/* 80043410 0003F330 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 80043414 0003F334 D0 21 00 14 */ stfs f1, 0x14(r1)
|
|
/* 80043418 0003F338 4B FC 4A 25 */ bl mathutil_mtxA_tf_vec
|
|
/* 8004341C 0003F33C C0 21 00 14 */ lfs f1, 0x14(r1)
|
|
/* 80043420 0003F340 C0 41 00 10 */ lfs f2, 0x10(r1)
|
|
/* 80043424 0003F344 4B FC 3E 81 */ bl mathutil_atan2
|
|
/* 80043428 0003F348 C0 01 00 10 */ lfs f0, 0x10(r1)
|
|
/* 8004342C 0003F34C 7C 7E 07 34 */ extsh r30, r3
|
|
/* 80043430 0003F350 C0 21 00 14 */ lfs f1, 0x14(r1)
|
|
/* 80043434 0003F354 EC 21 00 72 */ fmuls f1, f1, f1
|
|
/* 80043438 0003F358 EC 20 08 3A */ fmadds f1, f0, f0, f1
|
|
/* 8004343C 0003F35C 4B FC 3C BD */ bl mathutil_sqrt
|
|
/* 80043440 0003F360 FC 40 08 90 */ fmr f2, f1
|
|
/* 80043444 0003F364 C0 21 00 0C */ lfs f1, 0xc(r1)
|
|
/* 80043448 0003F368 4B FC 3E 5D */ bl mathutil_atan2
|
|
/* 8004344C 0003F36C 7C 60 07 34 */ extsh r0, r3
|
|
/* 80043450 0003F370 7F E0 00 D0 */ neg r31, r0
|
|
lbl_80043454:
|
|
/* 80043454 0003F374 A8 9D 00 00 */ lha r4, 0(r29)
|
|
/* 80043458 0003F378 3C 60 43 30 */ lis r3, 0x4330
|
|
/* 8004345C 0003F37C A8 BD 00 02 */ lha r5, 2(r29)
|
|
/* 80043460 0003F380 7C 04 F0 50 */ subf r0, r4, r30
|
|
/* 80043464 0003F384 C8 82 8E F0 */ lfd f4, lbl_802F36F0-_SDA2_BASE_(r2)
|
|
/* 80043468 0003F388 7C 1E 07 34 */ extsh r30, r0
|
|
/* 8004346C 0003F38C C8 42 8E E0 */ lfd f2, lbl_802F36E0-_SDA2_BASE_(r2)
|
|
/* 80043470 0003F390 6F C0 80 00 */ xoris r0, r30, 0x8000
|
|
/* 80043474 0003F394 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80043478 0003F398 6C 84 80 00 */ xoris r4, r4, 0x8000
|
|
/* 8004347C 0003F39C 7C 05 F8 50 */ subf r0, r5, r31
|
|
/* 80043480 0003F3A0 90 61 00 20 */ stw r3, 0x20(r1)
|
|
/* 80043484 0003F3A4 7C 1F 07 34 */ extsh r31, r0
|
|
/* 80043488 0003F3A8 6F E0 80 00 */ xoris r0, r31, 0x8000
|
|
/* 8004348C 0003F3AC 90 81 00 1C */ stw r4, 0x1c(r1)
|
|
/* 80043490 0003F3B0 C8 01 00 20 */ lfd f0, 0x20(r1)
|
|
/* 80043494 0003F3B4 90 61 00 18 */ stw r3, 0x18(r1)
|
|
/* 80043498 0003F3B8 FC 00 20 28 */ fsub f0, f0, f4
|
|
/* 8004349C 0003F3BC C8 61 00 18 */ lfd f3, 0x18(r1)
|
|
/* 800434A0 0003F3C0 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 800434A4 0003F3C4 FC 22 00 32 */ fmul f1, f2, f0
|
|
/* 800434A8 0003F3C8 90 61 00 38 */ stw r3, 0x38(r1)
|
|
/* 800434AC 0003F3CC FC 63 20 28 */ fsub f3, f3, f4
|
|
/* 800434B0 0003F3D0 C8 01 00 38 */ lfd f0, 0x38(r1)
|
|
/* 800434B4 0003F3D4 FC 23 08 2A */ fadd f1, f3, f1
|
|
/* 800434B8 0003F3D8 FC 00 20 28 */ fsub f0, f0, f4
|
|
/* 800434BC 0003F3DC FC 20 08 1E */ fctiwz f1, f1
|
|
/* 800434C0 0003F3E0 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 800434C4 0003F3E4 D8 21 00 28 */ stfd f1, 0x28(r1)
|
|
/* 800434C8 0003F3E8 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 800434CC 0003F3EC B0 1D 00 00 */ sth r0, 0(r29)
|
|
/* 800434D0 0003F3F0 A8 1D 00 02 */ lha r0, 2(r29)
|
|
/* 800434D4 0003F3F4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800434D8 0003F3F8 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 800434DC 0003F3FC 90 61 00 30 */ stw r3, 0x30(r1)
|
|
/* 800434E0 0003F400 C8 21 00 30 */ lfd f1, 0x30(r1)
|
|
/* 800434E4 0003F404 FC 21 20 28 */ fsub f1, f1, f4
|
|
/* 800434E8 0003F408 FC 01 00 2A */ fadd f0, f1, f0
|
|
/* 800434EC 0003F40C FC 00 00 1E */ fctiwz f0, f0
|
|
/* 800434F0 0003F410 D8 01 00 40 */ stfd f0, 0x40(r1)
|
|
/* 800434F4 0003F414 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 800434F8 0003F418 B0 1D 00 02 */ sth r0, 2(r29)
|
|
/* 800434FC 0003F41C A8 0D 99 AE */ lha r0, gameSubmode@sda21(r13)
|
|
/* 80043500 0003F420 2C 00 00 93 */ cmpwi r0, 0x93
|
|
/* 80043504 0003F424 40 82 00 3C */ bne lbl_80043540
|
|
/* 80043508 0003F428 38 00 00 00 */ li r0, 0
|
|
/* 8004350C 0003F42C B0 1D 00 00 */ sth r0, 0(r29)
|
|
/* 80043510 0003F430 A8 1D 00 02 */ lha r0, 2(r29)
|
|
/* 80043514 0003F434 C8 02 8E E8 */ lfd f0, lbl_802F36E8-_SDA2_BASE_(r2)
|
|
/* 80043518 0003F438 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8004351C 0003F43C 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 80043520 0003F440 90 61 00 18 */ stw r3, 0x18(r1)
|
|
/* 80043524 0003F444 C8 21 00 18 */ lfd f1, 0x18(r1)
|
|
/* 80043528 0003F448 FC 21 20 28 */ fsub f1, f1, f4
|
|
/* 8004352C 0003F44C FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 80043530 0003F450 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80043534 0003F454 D8 01 00 20 */ stfd f0, 0x20(r1)
|
|
/* 80043538 0003F458 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8004353C 0003F45C B0 1D 00 02 */ sth r0, 2(r29)
|
|
lbl_80043540:
|
|
/* 80043540 0003F460 A8 0D 99 AE */ lha r0, gameSubmode@sda21(r13)
|
|
/* 80043544 0003F464 2C 00 00 9F */ cmpwi r0, 0x9f
|
|
/* 80043548 0003F468 40 82 00 10 */ bne lbl_80043558
|
|
/* 8004354C 0003F46C 38 00 00 00 */ li r0, 0
|
|
/* 80043550 0003F470 B0 1D 00 00 */ sth r0, 0(r29)
|
|
/* 80043554 0003F474 B0 1D 00 02 */ sth r0, 2(r29)
|
|
lbl_80043558:
|
|
/* 80043558 0003F478 C0 22 8E A8 */ lfs f1, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 8004355C 0003F47C C0 02 8E AC */ lfs f0, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80043560 0003F480 D0 21 00 0C */ stfs f1, 0xc(r1)
|
|
/* 80043564 0003F484 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 80043568 0003F488 D0 21 00 14 */ stfs f1, 0x14(r1)
|
|
/* 8004356C 0003F48C 4B FC 3F F9 */ bl mathutil_mtxA_from_identity
|
|
/* 80043570 0003F490 A8 7D 00 00 */ lha r3, 0(r29)
|
|
/* 80043574 0003F494 4B FC 4A 15 */ bl mathutil_mtxA_rotate_x
|
|
/* 80043578 0003F498 A8 7D 00 02 */ lha r3, 2(r29)
|
|
/* 8004357C 0003F49C 4B FC 4B 0D */ bl mathutil_mtxA_rotate_z
|
|
/* 80043580 0003F4A0 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80043584 0003F4A4 38 9D 00 10 */ addi r4, r29, 0x10
|
|
/* 80043588 0003F4A8 4B FC 49 99 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
lbl_8004358C:
|
|
/* 8004358C 0003F4AC 80 01 00 64 */ lwz r0, 0x64(r1)
|
|
/* 80043590 0003F4B0 CB E1 00 58 */ lfd f31, 0x58(r1)
|
|
/* 80043594 0003F4B4 83 E1 00 54 */ lwz r31, 0x54(r1)
|
|
/* 80043598 0003F4B8 7C 08 03 A6 */ mtlr r0
|
|
/* 8004359C 0003F4BC 83 C1 00 50 */ lwz r30, 0x50(r1)
|
|
/* 800435A0 0003F4C0 83 A1 00 4C */ lwz r29, 0x4c(r1)
|
|
/* 800435A4 0003F4C4 83 81 00 48 */ lwz r28, 0x48(r1)
|
|
/* 800435A8 0003F4C8 38 21 00 60 */ addi r1, r1, 0x60
|
|
/* 800435AC 0003F4CC 4E 80 00 20 */ blr
|
|
|
|
.global world_sub_6
|
|
world_sub_6:
|
|
/* 800435B0 0003F4D0 38 00 00 07 */ li r0, 7
|
|
/* 800435B4 0003F4D4 98 03 00 08 */ stb r0, 8(r3)
|
|
/* 800435B8 0003F4D8 4E 80 00 20 */ blr
|
|
|
|
.global world_sub_7
|
|
world_sub_7:
|
|
/* 800435BC 0003F4DC 7C 08 02 A6 */ mflr r0
|
|
/* 800435C0 0003F4E0 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 800435C4 0003F4E4 94 21 FF D8 */ stwu r1, -0x28(r1)
|
|
/* 800435C8 0003F4E8 93 E1 00 24 */ stw r31, 0x24(r1)
|
|
/* 800435CC 0003F4EC 3B E3 00 00 */ addi r31, r3, 0
|
|
/* 800435D0 0003F4F0 80 0D 9D 00 */ lwz r0, lbl_802F1EE0@sda21(r13)
|
|
/* 800435D4 0003F4F4 70 00 00 0A */ andi. r0, r0, 0xa
|
|
/* 800435D8 0003F4F8 40 82 00 C0 */ bne lbl_80043698
|
|
/* 800435DC 0003F4FC 88 1F 00 09 */ lbz r0, 9(r31)
|
|
/* 800435E0 0003F500 3C 60 80 25 */ lis r3, lbl_80250A68@ha
|
|
/* 800435E4 0003F504 38 63 0A 68 */ addi r3, r3, lbl_80250A68@l
|
|
/* 800435E8 0003F508 7C 00 07 74 */ extsb r0, r0
|
|
/* 800435EC 0003F50C C0 23 00 10 */ lfs f1, 0x10(r3)
|
|
/* 800435F0 0003F510 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 800435F4 0003F514 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800435F8 0003F518 80 63 00 00 */ lwz r3, 0(r3)
|
|
/* 800435FC 0003F51C 38 81 00 0C */ addi r4, r1, 0xc
|
|
/* 80043600 0003F520 48 00 66 1D */ bl func_80049C1C
|
|
/* 80043604 0003F524 A8 9F 00 00 */ lha r4, 0(r31)
|
|
/* 80043608 0003F528 3C 60 80 1F */ lis r3, lbl_801F3A58@ha
|
|
/* 8004360C 0003F52C A8 BF 00 02 */ lha r5, 2(r31)
|
|
/* 80043610 0003F530 7C 04 00 D0 */ neg r0, r4
|
|
/* 80043614 0003F534 7C 00 07 34 */ extsh r0, r0
|
|
/* 80043618 0003F538 7C 00 16 70 */ srawi r0, r0, 2
|
|
/* 8004361C 0003F53C 7C 04 02 14 */ add r0, r4, r0
|
|
/* 80043620 0003F540 B0 1F 00 00 */ sth r0, 0(r31)
|
|
/* 80043624 0003F544 7C 05 00 D0 */ neg r0, r5
|
|
/* 80043628 0003F548 7C 00 07 34 */ extsh r0, r0
|
|
/* 8004362C 0003F54C A8 9F 00 02 */ lha r4, 2(r31)
|
|
/* 80043630 0003F550 7C 00 16 70 */ srawi r0, r0, 2
|
|
/* 80043634 0003F554 7C 04 02 14 */ add r0, r4, r0
|
|
/* 80043638 0003F558 B0 1F 00 02 */ sth r0, 2(r31)
|
|
/* 8004363C 0003F55C C0 22 8E A8 */ lfs f1, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 80043640 0003F560 C0 02 8E AC */ lfs f0, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80043644 0003F564 D0 21 00 10 */ stfs f1, 0x10(r1)
|
|
/* 80043648 0003F568 D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 8004364C 0003F56C D0 21 00 18 */ stfs f1, 0x18(r1)
|
|
/* 80043650 0003F570 80 03 3A 58 */ lwz r0, lbl_801F3A58@l(r3)
|
|
/* 80043654 0003F574 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
|
|
/* 80043658 0003F578 41 82 00 28 */ beq lbl_80043680
|
|
/* 8004365C 0003F57C 4B FC 3F 09 */ bl mathutil_mtxA_from_identity
|
|
/* 80043660 0003F580 A8 61 00 0C */ lha r3, 0xc(r1)
|
|
/* 80043664 0003F584 4B FC 49 25 */ bl mathutil_mtxA_rotate_x
|
|
/* 80043668 0003F588 A8 61 00 0E */ lha r3, 0xe(r1)
|
|
/* 8004366C 0003F58C 4B FC 4A 1D */ bl mathutil_mtxA_rotate_z
|
|
/* 80043670 0003F590 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 80043674 0003F594 38 9F 00 10 */ addi r4, r31, 0x10
|
|
/* 80043678 0003F598 4B FC 48 A9 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
/* 8004367C 0003F59C 48 00 00 1C */ b lbl_80043698
|
|
lbl_80043680:
|
|
/* 80043680 0003F5A0 80 61 00 10 */ lwz r3, 0x10(r1)
|
|
/* 80043684 0003F5A4 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80043688 0003F5A8 90 7F 00 10 */ stw r3, 0x10(r31)
|
|
/* 8004368C 0003F5AC 90 1F 00 14 */ stw r0, 0x14(r31)
|
|
/* 80043690 0003F5B0 80 01 00 18 */ lwz r0, 0x18(r1)
|
|
/* 80043694 0003F5B4 90 1F 00 18 */ stw r0, 0x18(r31)
|
|
lbl_80043698:
|
|
/* 80043698 0003F5B8 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 8004369C 0003F5BC 83 E1 00 24 */ lwz r31, 0x24(r1)
|
|
/* 800436A0 0003F5C0 38 21 00 28 */ addi r1, r1, 0x28
|
|
/* 800436A4 0003F5C4 7C 08 03 A6 */ mtlr r0
|
|
/* 800436A8 0003F5C8 4E 80 00 20 */ blr
|
|
|
|
.global world_sub_8
|
|
world_sub_8:
|
|
/* 800436AC 0003F5CC 38 00 00 09 */ li r0, 9
|
|
/* 800436B0 0003F5D0 98 03 00 08 */ stb r0, 8(r3)
|
|
/* 800436B4 0003F5D4 4E 80 00 20 */ blr
|
|
|
|
.global world_sub_9
|
|
world_sub_9:
|
|
/* 800436B8 0003F5D8 7C 08 02 A6 */ mflr r0
|
|
/* 800436BC 0003F5DC 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 800436C0 0003F5E0 94 21 FF D8 */ stwu r1, -0x28(r1)
|
|
/* 800436C4 0003F5E4 93 E1 00 24 */ stw r31, 0x24(r1)
|
|
/* 800436C8 0003F5E8 3B E3 00 00 */ addi r31, r3, 0
|
|
/* 800436CC 0003F5EC 80 0D 9D 00 */ lwz r0, lbl_802F1EE0@sda21(r13)
|
|
/* 800436D0 0003F5F0 70 00 00 0A */ andi. r0, r0, 0xa
|
|
/* 800436D4 0003F5F4 40 82 00 9C */ bne lbl_80043770
|
|
/* 800436D8 0003F5F8 88 1F 00 09 */ lbz r0, 9(r31)
|
|
/* 800436DC 0003F5FC 3C 60 80 25 */ lis r3, lbl_80250A68@ha
|
|
/* 800436E0 0003F600 38 63 0A 68 */ addi r3, r3, lbl_80250A68@l
|
|
/* 800436E4 0003F604 7C 00 07 74 */ extsb r0, r0
|
|
/* 800436E8 0003F608 C0 23 00 10 */ lfs f1, 0x10(r3)
|
|
/* 800436EC 0003F60C 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 800436F0 0003F610 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800436F4 0003F614 80 63 00 00 */ lwz r3, 0(r3)
|
|
/* 800436F8 0003F618 38 81 00 18 */ addi r4, r1, 0x18
|
|
/* 800436FC 0003F61C 48 00 65 21 */ bl func_80049C1C
|
|
/* 80043700 0003F620 A8 7F 00 00 */ lha r3, 0(r31)
|
|
/* 80043704 0003F624 A8 01 00 18 */ lha r0, 0x18(r1)
|
|
/* 80043708 0003F628 A8 BF 00 02 */ lha r5, 2(r31)
|
|
/* 8004370C 0003F62C 7C 03 00 50 */ subf r0, r3, r0
|
|
/* 80043710 0003F630 A8 81 00 1A */ lha r4, 0x1a(r1)
|
|
/* 80043714 0003F634 7C 00 07 34 */ extsh r0, r0
|
|
/* 80043718 0003F638 7C 00 16 70 */ srawi r0, r0, 2
|
|
/* 8004371C 0003F63C 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80043720 0003F640 B0 1F 00 00 */ sth r0, 0(r31)
|
|
/* 80043724 0003F644 7C 05 20 50 */ subf r0, r5, r4
|
|
/* 80043728 0003F648 7C 00 07 34 */ extsh r0, r0
|
|
/* 8004372C 0003F64C A8 7F 00 02 */ lha r3, 2(r31)
|
|
/* 80043730 0003F650 7C 00 16 70 */ srawi r0, r0, 2
|
|
/* 80043734 0003F654 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80043738 0003F658 B0 1F 00 02 */ sth r0, 2(r31)
|
|
/* 8004373C 0003F65C C0 22 8E A8 */ lfs f1, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 80043740 0003F660 C0 02 8E AC */ lfs f0, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 80043744 0003F664 D0 21 00 0C */ stfs f1, 0xc(r1)
|
|
/* 80043748 0003F668 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 8004374C 0003F66C D0 21 00 14 */ stfs f1, 0x14(r1)
|
|
/* 80043750 0003F670 4B FC 3E 15 */ bl mathutil_mtxA_from_identity
|
|
/* 80043754 0003F674 A8 7F 00 00 */ lha r3, 0(r31)
|
|
/* 80043758 0003F678 4B FC 48 31 */ bl mathutil_mtxA_rotate_x
|
|
/* 8004375C 0003F67C A8 7F 00 02 */ lha r3, 2(r31)
|
|
/* 80043760 0003F680 4B FC 49 29 */ bl mathutil_mtxA_rotate_z
|
|
/* 80043764 0003F684 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 80043768 0003F688 38 9F 00 10 */ addi r4, r31, 0x10
|
|
/* 8004376C 0003F68C 4B FC 47 B5 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
lbl_80043770:
|
|
/* 80043770 0003F690 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 80043774 0003F694 83 E1 00 24 */ lwz r31, 0x24(r1)
|
|
/* 80043778 0003F698 38 21 00 28 */ addi r1, r1, 0x28
|
|
/* 8004377C 0003F69C 7C 08 03 A6 */ mtlr r0
|
|
/* 80043780 0003F6A0 4E 80 00 20 */ blr
|
|
|
|
.global world_sub_10
|
|
world_sub_10:
|
|
/* 80043784 0003F6A4 38 00 00 0B */ li r0, 0xb
|
|
/* 80043788 0003F6A8 98 03 00 08 */ stb r0, 8(r3)
|
|
/* 8004378C 0003F6AC 4E 80 00 20 */ blr
|
|
|
|
.global world_sub_11
|
|
world_sub_11:
|
|
/* 80043790 0003F6B0 7C 08 02 A6 */ mflr r0
|
|
/* 80043794 0003F6B4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80043798 0003F6B8 94 21 FF B0 */ stwu r1, -0x50(r1)
|
|
/* 8004379C 0003F6BC 93 E1 00 4C */ stw r31, 0x4c(r1)
|
|
/* 800437A0 0003F6C0 3B E3 00 00 */ addi r31, r3, 0
|
|
/* 800437A4 0003F6C4 80 0D 9D 00 */ lwz r0, lbl_802F1EE0@sda21(r13)
|
|
/* 800437A8 0003F6C8 70 00 00 0A */ andi. r0, r0, 0xa
|
|
/* 800437AC 0003F6CC 40 82 01 58 */ bne lbl_80043904
|
|
/* 800437B0 0003F6D0 88 1F 00 09 */ lbz r0, 9(r31)
|
|
/* 800437B4 0003F6D4 3C 60 80 20 */ lis r3, lbl_80206BD0@ha
|
|
/* 800437B8 0003F6D8 3C A0 80 1F */ lis r5, controllerInfo@ha
|
|
/* 800437BC 0003F6DC C8 62 8E F0 */ lfd f3, lbl_802F36F0-_SDA2_BASE_(r2)
|
|
/* 800437C0 0003F6E0 7C 00 07 74 */ extsb r0, r0
|
|
/* 800437C4 0003F6E4 54 04 10 3A */ slwi r4, r0, 2
|
|
/* 800437C8 0003F6E8 C8 22 8E C0 */ lfd f1, lbl_802F36C0-_SDA2_BASE_(r2)
|
|
/* 800437CC 0003F6EC 38 03 6B D0 */ addi r0, r3, lbl_80206BD0@l
|
|
/* 800437D0 0003F6F0 C8 02 8E C8 */ lfd f0, lbl_802F36C8-_SDA2_BASE_(r2)
|
|
/* 800437D4 0003F6F4 7C 60 22 14 */ add r3, r0, r4
|
|
/* 800437D8 0003F6F8 80 63 00 00 */ lwz r3, 0(r3)
|
|
/* 800437DC 0003F6FC 38 85 3B 70 */ addi r4, r5, controllerInfo@l
|
|
/* 800437E0 0003F700 3C 00 43 30 */ lis r0, 0x4330
|
|
/* 800437E4 0003F704 1C 63 00 3C */ mulli r3, r3, 0x3c
|
|
/* 800437E8 0003F708 7C 64 1A 14 */ add r3, r4, r3
|
|
/* 800437EC 0003F70C 88 63 00 02 */ lbz r3, 2(r3)
|
|
/* 800437F0 0003F710 7C 63 07 74 */ extsb r3, r3
|
|
/* 800437F4 0003F714 6C 63 80 00 */ xoris r3, r3, 0x8000
|
|
/* 800437F8 0003F718 90 61 00 44 */ stw r3, 0x44(r1)
|
|
/* 800437FC 0003F71C 90 01 00 40 */ stw r0, 0x40(r1)
|
|
/* 80043800 0003F720 C8 41 00 40 */ lfd f2, 0x40(r1)
|
|
/* 80043804 0003F724 FC 42 18 28 */ fsub f2, f2, f3
|
|
/* 80043808 0003F728 FC 22 08 24 */ fdiv f1, f2, f1
|
|
/* 8004380C 0003F72C FC 20 08 18 */ frsp f1, f1
|
|
/* 80043810 0003F730 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80043814 0003F734 40 80 00 0C */ bge lbl_80043820
|
|
/* 80043818 0003F738 C0 22 8E AC */ lfs f1, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 8004381C 0003F73C 48 00 00 14 */ b lbl_80043830
|
|
lbl_80043820:
|
|
/* 80043820 0003F740 C8 02 8E D0 */ lfd f0, lbl_802F36D0-_SDA2_BASE_(r2)
|
|
/* 80043824 0003F744 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80043828 0003F748 40 81 00 08 */ ble lbl_80043830
|
|
/* 8004382C 0003F74C C0 22 8E B0 */ lfs f1, lbl_802F36B0-_SDA2_BASE_(r2)
|
|
lbl_80043830:
|
|
/* 80043830 0003F750 FC 00 08 50 */ fneg f0, f1
|
|
/* 80043834 0003F754 C0 22 8E F8 */ lfs f1, lbl_802F36F8-_SDA2_BASE_(r2)
|
|
/* 80043838 0003F758 A8 9F 00 02 */ lha r4, 2(r31)
|
|
/* 8004383C 0003F75C 3C 60 43 30 */ lis r3, 0x4330
|
|
/* 80043840 0003F760 C8 62 8E F0 */ lfd f3, lbl_802F36F0-_SDA2_BASE_(r2)
|
|
/* 80043844 0003F764 EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 80043848 0003F768 6C 80 80 00 */ xoris r0, r4, 0x8000
|
|
/* 8004384C 0003F76C 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 80043850 0003F770 C8 22 8E E0 */ lfd f1, lbl_802F36E0-_SDA2_BASE_(r2)
|
|
/* 80043854 0003F774 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80043858 0003F778 90 61 00 38 */ stw r3, 0x38(r1)
|
|
/* 8004385C 0003F77C D8 01 00 40 */ stfd f0, 0x40(r1)
|
|
/* 80043860 0003F780 C8 01 00 38 */ lfd f0, 0x38(r1)
|
|
/* 80043864 0003F784 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 80043868 0003F788 FC 40 18 28 */ fsub f2, f0, f3
|
|
/* 8004386C 0003F78C 7C 04 00 50 */ subf r0, r4, r0
|
|
/* 80043870 0003F790 7C 00 07 34 */ extsh r0, r0
|
|
/* 80043874 0003F794 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 80043878 0003F798 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8004387C 0003F79C 90 61 00 30 */ stw r3, 0x30(r1)
|
|
/* 80043880 0003F7A0 C8 01 00 30 */ lfd f0, 0x30(r1)
|
|
/* 80043884 0003F7A4 FC 00 18 28 */ fsub f0, f0, f3
|
|
/* 80043888 0003F7A8 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 8004388C 0003F7AC FC 02 00 2A */ fadd f0, f2, f0
|
|
/* 80043890 0003F7B0 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 80043894 0003F7B4 D8 01 00 28 */ stfd f0, 0x28(r1)
|
|
/* 80043898 0003F7B8 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 8004389C 0003F7BC B0 1F 00 02 */ sth r0, 2(r31)
|
|
/* 800438A0 0003F7C0 A8 1F 00 02 */ lha r0, 2(r31)
|
|
/* 800438A4 0003F7C4 C8 02 8E E8 */ lfd f0, lbl_802F36E8-_SDA2_BASE_(r2)
|
|
/* 800438A8 0003F7C8 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800438AC 0003F7CC 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 800438B0 0003F7D0 90 61 00 20 */ stw r3, 0x20(r1)
|
|
/* 800438B4 0003F7D4 C8 21 00 20 */ lfd f1, 0x20(r1)
|
|
/* 800438B8 0003F7D8 FC 21 18 28 */ fsub f1, f1, f3
|
|
/* 800438BC 0003F7DC FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 800438C0 0003F7E0 FC 00 00 1E */ fctiwz f0, f0
|
|
/* 800438C4 0003F7E4 D8 01 00 18 */ stfd f0, 0x18(r1)
|
|
/* 800438C8 0003F7E8 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 800438CC 0003F7EC B0 1F 00 02 */ sth r0, 2(r31)
|
|
/* 800438D0 0003F7F0 C0 22 8E A8 */ lfs f1, lbl_802F36A8-_SDA2_BASE_(r2)
|
|
/* 800438D4 0003F7F4 C0 02 8E AC */ lfs f0, lbl_802F36AC-_SDA2_BASE_(r2)
|
|
/* 800438D8 0003F7F8 D0 21 00 0C */ stfs f1, 0xc(r1)
|
|
/* 800438DC 0003F7FC D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 800438E0 0003F800 D0 21 00 14 */ stfs f1, 0x14(r1)
|
|
/* 800438E4 0003F804 4B FC 3C 81 */ bl mathutil_mtxA_from_identity
|
|
/* 800438E8 0003F808 A8 7F 00 02 */ lha r3, 2(r31)
|
|
/* 800438EC 0003F80C 4B FC 47 9D */ bl mathutil_mtxA_rotate_z
|
|
/* 800438F0 0003F810 A8 7F 00 00 */ lha r3, 0(r31)
|
|
/* 800438F4 0003F814 4B FC 46 95 */ bl mathutil_mtxA_rotate_x
|
|
/* 800438F8 0003F818 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 800438FC 0003F81C 38 9F 00 10 */ addi r4, r31, 0x10
|
|
/* 80043900 0003F820 4B FC 46 21 */ bl mathutil_mtxA_rigid_inv_tf_vec
|
|
lbl_80043904:
|
|
/* 80043904 0003F824 80 01 00 54 */ lwz r0, 0x54(r1)
|
|
/* 80043908 0003F828 83 E1 00 4C */ lwz r31, 0x4c(r1)
|
|
/* 8004390C 0003F82C 38 21 00 50 */ addi r1, r1, 0x50
|
|
/* 80043910 0003F830 7C 08 03 A6 */ mtlr r0
|
|
/* 80043914 0003F834 4E 80 00 20 */ blr
|
|
|
|
.global func_80043918
|
|
func_80043918:
|
|
/* 80043918 0003F838 2C 03 00 02 */ cmpwi r3, 2
|
|
/* 8004391C 0003F83C 41 80 00 14 */ blt lbl_80043930
|
|
/* 80043920 0003F840 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 80043924 0003F844 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80043928 0003F848 4C 40 13 82 */ cror 2, 0, 2
|
|
/* 8004392C 0003F84C 40 82 00 0C */ bne lbl_80043938
|
|
lbl_80043930:
|
|
/* 80043930 0003F850 C0 24 00 08 */ lfs f1, 8(r4)
|
|
/* 80043934 0003F854 4E 80 00 20 */ blr
|
|
lbl_80043938:
|
|
/* 80043938 0003F858 1C 03 00 14 */ mulli r0, r3, 0x14
|
|
/* 8004393C 0003F85C 7C A4 02 14 */ add r5, r4, r0
|
|
/* 80043940 0003F860 C0 05 FF F0 */ lfs f0, -0x10(r5)
|
|
/* 80043944 0003F864 FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 80043948 0003F868 4C 41 13 82 */ cror 2, 1, 2
|
|
/* 8004394C 0003F86C 40 82 00 0C */ bne lbl_80043958
|
|
/* 80043950 0003F870 C0 25 FF F4 */ lfs f1, -0xc(r5)
|
|
/* 80043954 0003F874 4E 80 00 20 */ blr
|
|
lbl_80043958:
|
|
/* 80043958 0003F878 38 63 FF FF */ addi r3, r3, -1
|
|
/* 8004395C 0003F87C 38 03 FF FF */ addi r0, r3, -1
|
|
/* 80043960 0003F880 2C 03 00 01 */ cmpwi r3, 1
|
|
/* 80043964 0003F884 7C 09 03 A6 */ mtctr r0
|
|
/* 80043968 0003F888 38 84 00 14 */ addi r4, r4, 0x14
|
|
/* 8004396C 0003F88C 40 81 00 18 */ ble lbl_80043984
|
|
lbl_80043970:
|
|
/* 80043970 0003F890 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 80043974 0003F894 FC 00 08 40 */ fcmpo cr0, f0, f1
|
|
/* 80043978 0003F898 41 81 00 0C */ bgt lbl_80043984
|
|
/* 8004397C 0003F89C 38 84 00 14 */ addi r4, r4, 0x14
|
|
/* 80043980 0003F8A0 42 00 FF F0 */ bdnz lbl_80043970
|
|
lbl_80043984:
|
|
/* 80043984 0003F8A4 80 04 FF EC */ lwz r0, -0x14(r4)
|
|
/* 80043988 0003F8A8 38 64 FF EC */ addi r3, r4, -20
|
|
/* 8004398C 0003F8AC 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 80043990 0003F8B0 41 82 00 1C */ beq lbl_800439AC
|
|
/* 80043994 0003F8B4 40 80 00 50 */ bge lbl_800439E4
|
|
/* 80043998 0003F8B8 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 8004399C 0003F8BC 40 80 00 08 */ bge lbl_800439A4
|
|
/* 800439A0 0003F8C0 48 00 00 44 */ b lbl_800439E4
|
|
lbl_800439A4:
|
|
/* 800439A4 0003F8C4 C0 23 00 08 */ lfs f1, 8(r3)
|
|
/* 800439A8 0003F8C8 4E 80 00 20 */ blr
|
|
lbl_800439AC:
|
|
/* 800439AC 0003F8CC C0 43 00 04 */ lfs f2, 4(r3)
|
|
/* 800439B0 0003F8D0 C0 04 00 04 */ lfs f0, 4(r4)
|
|
/* 800439B4 0003F8D4 EC 81 10 28 */ fsubs f4, f1, f2
|
|
/* 800439B8 0003F8D8 C8 22 8F 00 */ lfd f1, lbl_802F3700-_SDA2_BASE_(r2)
|
|
/* 800439BC 0003F8DC EC 60 10 28 */ fsubs f3, f0, f2
|
|
/* 800439C0 0003F8E0 C0 43 00 08 */ lfs f2, 8(r3)
|
|
/* 800439C4 0003F8E4 C0 04 00 08 */ lfs f0, 8(r4)
|
|
/* 800439C8 0003F8E8 EC 64 18 24 */ fdivs f3, f4, f3
|
|
/* 800439CC 0003F8EC FC 21 18 28 */ fsub f1, f1, f3
|
|
/* 800439D0 0003F8F0 EC 00 00 F2 */ fmuls f0, f0, f3
|
|
/* 800439D4 0003F8F4 FC 22 00 72 */ fmul f1, f2, f1
|
|
/* 800439D8 0003F8F8 FC 21 00 2A */ fadd f1, f1, f0
|
|
/* 800439DC 0003F8FC FC 20 08 18 */ frsp f1, f1
|
|
/* 800439E0 0003F900 4E 80 00 20 */ blr
|
|
lbl_800439E4:
|
|
/* 800439E4 0003F904 C0 63 00 04 */ lfs f3, 4(r3)
|
|
/* 800439E8 0003F908 C0 44 00 04 */ lfs f2, 4(r4)
|
|
/* 800439EC 0003F90C EC 01 18 28 */ fsubs f0, f1, f3
|
|
/* 800439F0 0003F910 C8 82 8F 10 */ lfd f4, lbl_802F3710-_SDA2_BASE_(r2)
|
|
/* 800439F4 0003F914 ED 62 18 28 */ fsubs f11, f2, f3
|
|
/* 800439F8 0003F918 C8 C2 8F 08 */ lfd f6, lbl_802F3708-_SDA2_BASE_(r2)
|
|
/* 800439FC 0003F91C C8 42 8F 18 */ lfd f2, lbl_802F3718-_SDA2_BASE_(r2)
|
|
/* 80043A00 0003F920 ED 40 58 24 */ fdivs f10, f0, f11
|
|
/* 80043A04 0003F924 C8 E2 8F 00 */ lfd f7, lbl_802F3700-_SDA2_BASE_(r2)
|
|
/* 80043A08 0003F928 C0 63 00 10 */ lfs f3, 0x10(r3)
|
|
/* 80043A0C 0003F92C C1 03 00 08 */ lfs f8, 8(r3)
|
|
/* 80043A10 0003F930 C0 A4 00 08 */ lfs f5, 8(r4)
|
|
/* 80043A14 0003F934 ED 8A 02 B2 */ fmuls f12, f10, f10
|
|
/* 80043A18 0003F938 C0 24 00 0C */ lfs f1, 0xc(r4)
|
|
/* 80043A1C 0003F93C ED AC 02 B2 */ fmuls f13, f12, f10
|
|
/* 80043A20 0003F940 FC 04 03 32 */ fmul f0, f4, f12
|
|
/* 80043A24 0003F944 FD 26 03 32 */ fmul f9, f6, f12
|
|
/* 80043A28 0003F948 FC 84 03 72 */ fmul f4, f4, f13
|
|
/* 80043A2C 0003F94C FC 42 03 72 */ fmul f2, f2, f13
|
|
/* 80043A30 0003F950 FC 0D 00 28 */ fsub f0, f13, f0
|
|
/* 80043A34 0003F954 FC C4 48 28 */ fsub f6, f4, f9
|
|
/* 80043A38 0003F958 FC 82 48 2A */ fadd f4, f2, f9
|
|
/* 80043A3C 0003F95C FC 4A 00 2A */ fadd f2, f10, f0
|
|
/* 80043A40 0003F960 FC C7 30 2A */ fadd f6, f7, f6
|
|
/* 80043A44 0003F964 EC 0D 60 28 */ fsubs f0, f13, f12
|
|
/* 80043A48 0003F968 FC 43 00 B2 */ fmul f2, f3, f2
|
|
/* 80043A4C 0003F96C EC 01 00 32 */ fmuls f0, f1, f0
|
|
/* 80043A50 0003F970 FC 68 01 B2 */ fmul f3, f8, f6
|
|
/* 80043A54 0003F974 FC 25 01 32 */ fmul f1, f5, f4
|
|
/* 80043A58 0003F978 FC 02 00 2A */ fadd f0, f2, f0
|
|
/* 80043A5C 0003F97C FC 23 08 2A */ fadd f1, f3, f1
|
|
/* 80043A60 0003F980 FC 0B 00 32 */ fmul f0, f11, f0
|
|
/* 80043A64 0003F984 FC 20 08 18 */ frsp f1, f1
|
|
/* 80043A68 0003F988 FC 21 00 2A */ fadd f1, f1, f0
|
|
/* 80043A6C 0003F98C FC 20 08 18 */ frsp f1, f1
|
|
/* 80043A70 0003F990 4E 80 00 20 */ blr
|
|
|
|
.section .sdata2
|
|
|
|
.global lbl_802F3608
|
|
lbl_802F3608:
|
|
# ROM: 0x1ED028
|
|
.4byte 0
|
|
|
|
.global lbl_802F360C
|
|
lbl_802F360C:
|
|
# ROM: 0x1ED02C
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
|
|
.global lbl_802F3610
|
|
lbl_802F3610:
|
|
# ROM: 0x1ED030
|
|
.byte 0x41, 0x20, 0x00, 0x00
|
|
|
|
.global lbl_802F3614
|
|
lbl_802F3614:
|
|
# ROM: 0x1ED034
|
|
.byte 0xBF, 0x35, 0x04, 0x81
|
|
|
|
.global lbl_802F3618
|
|
lbl_802F3618:
|
|
# ROM: 0x1ED038
|
|
.byte 0x43, 0x30, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00
|
|
|
|
.global lbl_802F3620
|
|
lbl_802F3620:
|
|
# ROM: 0x1ED040
|
|
.4byte 0
|
|
.4byte 0
|
|
|
|
.global lbl_802F3628
|
|
lbl_802F3628:
|
|
# ROM: 0x1ED048
|
|
.byte 0xB4, 0x00, 0x00, 0x00
|
|
|
|
.global lbl_802F362C
|
|
lbl_802F362C:
|
|
# ROM: 0x1ED04C
|
|
.byte 0x34, 0x00, 0x00, 0x00
|
|
|
|
.global lbl_802F3630
|
|
lbl_802F3630:
|
|
# ROM: 0x1ED050
|
|
.byte 0x3F, 0xE0, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3638
|
|
lbl_802F3638:
|
|
# ROM: 0x1ED058
|
|
.byte 0xBF, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3640
|
|
lbl_802F3640:
|
|
# ROM: 0x1ED060
|
|
.byte 0x3F, 0xF0, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3648
|
|
lbl_802F3648:
|
|
# ROM: 0x1ED068
|
|
.byte 0xC0, 0x14, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3650
|
|
lbl_802F3650:
|
|
# ROM: 0x1ED070
|
|
.byte 0x40, 0x14, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3658
|
|
lbl_802F3658:
|
|
# ROM: 0x1ED078
|
|
.byte 0x3F, 0xE8, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3660
|
|
lbl_802F3660:
|
|
# ROM: 0x1ED080
|
|
.byte 0x40, 0x04, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3668
|
|
lbl_802F3668:
|
|
# ROM: 0x1ED088
|
|
.byte 0x3E, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3670
|
|
lbl_802F3670:
|
|
# ROM: 0x1ED090
|
|
.byte 0xBF, 0x84, 0x7A, 0xE1
|
|
.byte 0x47, 0xAE, 0x14, 0x7B
|
|
|
|
.global lbl_802F3678
|
|
lbl_802F3678:
|
|
# ROM: 0x1ED098
|
|
.byte 0x40, 0x4C, 0xCC, 0xCD
|
|
|
|
.global lbl_802F367C
|
|
lbl_802F367C:
|
|
# ROM: 0x1ED09C
|
|
.byte 0x40, 0x10, 0x00, 0x00
|
|
|
|
.global lbl_802F3680
|
|
lbl_802F3680:
|
|
# ROM: 0x1ED0A0
|
|
.byte 0x3D, 0xCC, 0xCC, 0xCD
|
|
|
|
.global lbl_802F3684
|
|
lbl_802F3684:
|
|
# ROM: 0x1ED0A4
|
|
.byte 0x3F, 0x8C, 0xCC, 0xCD
|
|
|
|
.global lbl_802F3688
|
|
lbl_802F3688:
|
|
# ROM: 0x1ED0A8
|
|
.byte 0x3F, 0x40, 0x00, 0x00
|
|
|
|
.global lbl_802F368C
|
|
lbl_802F368C:
|
|
# ROM: 0x1ED0AC
|
|
.byte 0x3E, 0x4C, 0xCC, 0xCD
|
|
|
|
.global lbl_802F3690
|
|
lbl_802F3690:
|
|
# ROM: 0x1ED0B0
|
|
.byte 0x3F, 0xC0, 0x00, 0x00
|
|
|
|
.global lbl_802F3694
|
|
lbl_802F3694:
|
|
# ROM: 0x1ED0B4
|
|
.byte 0xBF, 0x8C, 0xCC, 0xCD
|
|
|
|
.global lbl_802F3698
|
|
lbl_802F3698:
|
|
# ROM: 0x1ED0B8
|
|
.byte 0x3F, 0xE8, 0xBE, 0x62
|
|
.byte 0xBE, 0x94, 0x8F, 0x69
|
|
|
|
.global lbl_802F36A0
|
|
lbl_802F36A0:
|
|
# ROM: 0x1ED0C0
|
|
.byte 0xBF, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F36A8
|
|
lbl_802F36A8:
|
|
# ROM: 0x1ED0C8
|
|
.4byte 0
|
|
|
|
.global lbl_802F36AC
|
|
lbl_802F36AC:
|
|
# ROM: 0x1ED0CC
|
|
.byte 0xBF, 0x80, 0x00, 0x00
|
|
|
|
.global lbl_802F36B0
|
|
lbl_802F36B0:
|
|
# ROM: 0x1ED0D0
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
|
|
.global lbl_802F36B4
|
|
lbl_802F36B4:
|
|
# ROM: 0x1ED0D4
|
|
.byte 0x42, 0x0A, 0x00, 0x00
|
|
|
|
.global lbl_802F36B8
|
|
lbl_802F36B8:
|
|
# ROM: 0x1ED0D8
|
|
.byte 0x41, 0xB8, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F36C0
|
|
lbl_802F36C0:
|
|
# ROM: 0x1ED0E0
|
|
.byte 0x40, 0x4E, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F36C8
|
|
lbl_802F36C8:
|
|
# ROM: 0x1ED0E8
|
|
.byte 0xBF, 0xF0, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F36D0
|
|
lbl_802F36D0:
|
|
# ROM: 0x1ED0F0
|
|
.byte 0x3F, 0xF0, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F36D8
|
|
lbl_802F36D8:
|
|
# ROM: 0x1ED0F8
|
|
.byte 0x43, 0x36, 0x0B, 0x61
|
|
.4byte 0
|
|
|
|
.global lbl_802F36E0
|
|
lbl_802F36E0:
|
|
# ROM: 0x1ED100
|
|
.byte 0x3F, 0xC9, 0x99, 0x99
|
|
.byte 0x99, 0x99, 0x99, 0x9A
|
|
|
|
.global lbl_802F36E8
|
|
lbl_802F36E8:
|
|
# ROM: 0x1ED108
|
|
.byte 0x3F, 0xE9, 0x99, 0x99
|
|
.byte 0x99, 0x99, 0x99, 0x9A
|
|
|
|
.global lbl_802F36F0
|
|
lbl_802F36F0:
|
|
# ROM: 0x1ED110
|
|
.byte 0x43, 0x30, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00
|
|
|
|
.global lbl_802F36F8
|
|
lbl_802F36F8:
|
|
# ROM: 0x1ED118
|
|
.byte 0x45, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3700
|
|
lbl_802F3700:
|
|
# ROM: 0x1ED120
|
|
.byte 0x3F, 0xF0, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3708
|
|
lbl_802F3708:
|
|
# ROM: 0x1ED128
|
|
.byte 0x40, 0x08, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3710
|
|
lbl_802F3710:
|
|
# ROM: 0x1ED130
|
|
.byte 0x40, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.global lbl_802F3718
|
|
lbl_802F3718:
|
|
# ROM: 0x1ED138
|
|
.byte 0xC0, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
|
|
.section .rodata
|
|
|
|
.balign 8
|
|
|
|
.section .data
|
|
|
|
.balign 8
|
|
|
|
.global lbl_801B7EE8
|
|
lbl_801B7EE8:
|
|
# ROM: 0x1B4EE8
|
|
.4byte 0
|
|
.byte 0x3F, 0x00, 0x00, 0x00
|
|
.byte 0x3F, 0xE0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
.byte 0xBF, 0x00, 0x00, 0x00
|
|
.byte 0x3F, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0xC0, 0x00
|
|
.4byte 0
|
|
.byte 0xBF, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x40, 0x60, 0x00, 0x00
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
.byte 0x3F, 0x00, 0x00, 0x00
|
|
.byte 0xBF, 0xE0, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x80, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0xBF, 0x80, 0x00, 0x00
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
.byte 0x3F, 0x00, 0x00, 0x00
|
|
.byte 0x3F, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x40, 0x00
|
|
.4byte 0
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x40, 0x60, 0x00, 0x00
|
|
.byte 0x3F, 0x80, 0x00, 0x00
|
|
|
|
.global lbl_801B7F88
|
|
lbl_801B7F88:
|
|
# ROM: 0x1B4F88
|
|
glabel string_edge_length_is_too_short_n
|
|
.asciz "edge length is too short\n"
|
|
.balign 4
|
|
.4byte 0
|
|
|
|
.global lbl_801B7FA8
|
|
lbl_801B7FA8:
|
|
# ROM: 0x1B4FA8
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x00, 0xF0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x01, 0x2C
|
|
.byte 0xC3, 0xC0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x01, 0xE0
|
|
.byte 0xC3, 0xC0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x02, 0x1C
|
|
.byte 0xC3, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x02, 0xD0
|
|
.byte 0xC3, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x03, 0x0C
|
|
.byte 0xC2, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x03, 0xC0
|
|
.byte 0xC2, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x03, 0xFC
|
|
.byte 0x41, 0xB8, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x04, 0x92
|
|
.byte 0x41, 0xB8, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x04, 0xB0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x70
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0xAC
|
|
.byte 0xC3, 0x50, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0A, 0x8C
|
|
.byte 0xC3, 0x50, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x7C
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0xB8
|
|
.byte 0xC3, 0xC0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0xF4
|
|
.byte 0xC3, 0xC0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0C, 0x12
|
|
.byte 0xC5, 0x24, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0D, 0x20
|
|
.byte 0xC5, 0x24, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0D, 0x3E
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0E, 0xD3
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0E, 0xD4
|
|
.byte 0xC5, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0F, 0x1E
|
|
.byte 0xC5, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0F, 0x3C
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x11, 0x1C
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x02, 0x1C
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x02, 0x94
|
|
.byte 0xC3, 0xE0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x03, 0x0C
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x70
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0xAC
|
|
.byte 0xC2, 0x30, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0xE8
|
|
.byte 0xC2, 0x30, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x09, 0x24
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x7C
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0xF4
|
|
.byte 0x44, 0x58, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0C, 0x1A
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0C, 0x30
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0C, 0x6C
|
|
.byte 0x43, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0C, 0xA8
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x11, 0x1C
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x05, 0x19
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x05, 0x1A
|
|
.byte 0xC5, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0x14
|
|
.byte 0xC4, 0xA0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0x63
|
|
.byte 0xC4, 0xA0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0x64
|
|
.byte 0x44, 0xA0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCB
|
|
.byte 0x43, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCC
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.byte 0xC4, 0xC0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x09, 0x1D
|
|
.byte 0xC5, 0x20, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x56
|
|
.byte 0xC5, 0x20, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x05, 0x19
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x05, 0x1A
|
|
.byte 0xC4, 0x70, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x05, 0xBF
|
|
.byte 0xC4, 0x70, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCB
|
|
.byte 0x44, 0xD8, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCC
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x56
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCB
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCC
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0x02
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0x03
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0x3A
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xA8
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xA1
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x77
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.byte 0xC5, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x56
|
|
.byte 0xC5, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCB
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCC
|
|
.byte 0xC4, 0xC0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0x03
|
|
.byte 0xC3, 0x80, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xA1
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x77
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x56
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCB
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCC
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xA1
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x77
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.byte 0xC5, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x56
|
|
.byte 0xC5, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCB
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x06, 0xCC
|
|
.byte 0xC4, 0xC0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0x03
|
|
.byte 0xC3, 0x00, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xA1
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x77
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x56
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xA1
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xA2
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xD9
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x77
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.byte 0xC5, 0x40, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x09, 0x1D
|
|
.byte 0xC4, 0xC0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x56
|
|
.byte 0xC4, 0xC0, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xA1
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xA2
|
|
.byte 0xC5, 0x40, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x07, 0xD9
|
|
.byte 0xC5, 0x40, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x77
|
|
.byte 0xC5, 0x40, 0x00, 0x00
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x08, 0x78
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.byte 0x00, 0x00, 0x0B, 0x56
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0x801B8228 ;# ptr
|
|
.4byte 0x801B8378 ;# ptr
|
|
.4byte 0x801B84A8 ;# ptr
|
|
.4byte 0x801B8598 ;# ptr
|
|
.4byte 0x801B82E8 ;# ptr
|
|
.4byte 0x801B8428 ;# ptr
|
|
.4byte 0x801B8518 ;# ptr
|
|
.4byte 0x801B8618 ;# ptr
|
|
|
|
.global lbl_801B86A8
|
|
lbl_801B86A8:
|
|
# ROM: 0x1B56A8
|
|
.4byte lbl_80042D18 ;# ptr
|
|
.4byte lbl_80042CC8 ;# ptr
|
|
.4byte lbl_80042CD4 ;# ptr
|
|
.4byte lbl_80042D18 ;# ptr
|
|
.4byte lbl_80042D18 ;# ptr
|
|
.4byte lbl_80042D18 ;# ptr
|
|
.4byte lbl_80042CE0 ;# ptr
|
|
.4byte lbl_80042CE8 ;# ptr
|
|
.4byte lbl_80042CF4 ;# ptr
|
|
.4byte lbl_80042CFC ;# ptr
|
|
.4byte lbl_80042D08 ;# ptr
|
|
.4byte lbl_80042D10 ;# ptr
|
|
|
|
.section .sdata
|
|
|
|
.global lbl_802F0990
|
|
lbl_802F0990:
|
|
# ROM: 0x1EB0D0
|
|
.byte 0x00, 0x00, 0x00, 0x5C
|
|
.4byte lbl_80206D00 ;# ptr
|
|
|
|
.global lbl_802F0998
|
|
lbl_802F0998:
|
|
# ROM: 0x1EB0D8
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF
|
|
|
|
.global lbl_802F099C
|
|
lbl_802F099C:
|
|
# ROM: 0x1EB0DC
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF
|
|
|
|
.section .bss
|
|
|
|
.global lbl_80206BF0
|
|
lbl_80206BF0:
|
|
.skip 0x100
|
|
.global lbl_80206CF0
|
|
lbl_80206CF0:
|
|
.skip 0x10
|