.include "macros.inc" .section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860 .global __ct__Q34nw4r2ef16DrawLineStrategyFv __ct__Q34nw4r2ef16DrawLineStrategyFv: /* 800BF960 000BB7A0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800BF964 000BB7A4 7C 08 02 A6 */ mflr r0 /* 800BF968 000BB7A8 90 01 00 14 */ stw r0, 0x14(r1) /* 800BF96C 000BB7AC 93 E1 00 0C */ stw r31, 0xc(r1) /* 800BF970 000BB7B0 7C 7F 1B 78 */ mr r31, r3 /* 800BF974 000BB7B4 4B FF 91 DD */ bl __ct__Q34nw4r2ef16DrawStrategyImplFv /* 800BF978 000BB7B8 3C 80 80 44 */ lis r4, __vt__Q34nw4r2ef16DrawLineStrategy@ha /* 800BF97C 000BB7BC 7F E3 FB 78 */ mr r3, r31 /* 800BF980 000BB7C0 38 84 04 68 */ addi r4, r4, __vt__Q34nw4r2ef16DrawLineStrategy@l /* 800BF984 000BB7C4 90 9F 00 00 */ stw r4, 0x0(r31) /* 800BF988 000BB7C8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800BF98C 000BB7CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 800BF990 000BB7D0 7C 08 03 A6 */ mtlr r0 /* 800BF994 000BB7D4 38 21 00 10 */ addi r1, r1, 0x10 /* 800BF998 000BB7D8 4E 80 00 20 */ blr /* 800BF99C 000BB7DC 00 00 00 00 */ .4byte 0x00000000 .global Draw__Q34nw4r2ef16DrawLineStrategyFRCQ34nw4r2ef8DrawInfoPQ34nw4r2ef15ParticleManager Draw__Q34nw4r2ef16DrawLineStrategyFRCQ34nw4r2ef8DrawInfoPQ34nw4r2ef15ParticleManager: /* 800BF9A0 000BB7E0 94 21 FE D0 */ stwu r1, -0x130(r1) /* 800BF9A4 000BB7E4 7C 08 02 A6 */ mflr r0 /* 800BF9A8 000BB7E8 90 01 01 34 */ stw r0, 0x134(r1) /* 800BF9AC 000BB7EC 39 61 01 00 */ addi r11, r1, 0x100 /* 800BF9B0 000BB7F0 DB E1 01 20 */ stfd f31, 0x120(r1) /* 800BF9B4 000BB7F4 F3 E1 01 28 */ psq_st f31, 0x128(r1), 0, qr0 /* 800BF9B8 000BB7F8 DB C1 01 10 */ stfd f30, 0x110(r1) /* 800BF9BC 000BB7FC F3 C1 01 18 */ psq_st f30, 0x118(r1), 0, qr0 /* 800BF9C0 000BB800 DB A1 01 00 */ stfd f29, 0x100(r1) /* 800BF9C4 000BB804 F3 A1 01 08 */ psq_st f29, 0x108(r1), 0, qr0 /* 800BF9C8 000BB808 4B F4 79 55 */ bl lbl_8000731C /* 800BF9CC 000BB80C 80 E5 00 24 */ lwz r7, 0x24(r5) /* 800BF9D0 000BB810 7C 95 23 78 */ mr r21, r4 /* 800BF9D4 000BB814 7C B6 2B 78 */ mr r22, r5 /* 800BF9D8 000BB818 7C 74 1B 78 */ mr r20, r3 /* 800BF9DC 000BB81C 7E C4 B3 78 */ mr r4, r22 /* 800BF9E0 000BB820 7E A6 AB 78 */ mr r6, r21 /* 800BF9E4 000BB824 38 A7 00 9C */ addi r5, r7, 0x9c /* 800BF9E8 000BB828 4B FF 92 19 */ bl Initialize__Q34nw4r2ef16DrawStrategyImplFPQ34nw4r2ef15ParticleManagerRCQ34nw4r2ef18EmitterDrawSettingRCQ34nw4r2ef8DrawInfo /* 800BF9EC 000BB82C 38 60 00 00 */ li r3, 0x0 /* 800BF9F0 000BB830 38 80 00 01 */ li r4, 0x1 /* 800BF9F4 000BB834 38 A0 00 01 */ li r5, 0x1 /* 800BF9F8 000BB838 4B F7 5B 29 */ bl GXEnableTexOffsets /* 800BF9FC 000BB83C 4B F7 43 B5 */ bl GXClearVtxDesc /* 800BFA00 000BB840 38 60 00 09 */ li r3, 0x9 /* 800BFA04 000BB844 38 80 00 01 */ li r4, 0x1 /* 800BFA08 000BB848 4B F7 3D 99 */ bl GXSetVtxDesc /* 800BFA0C 000BB84C 88 14 00 D0 */ lbz r0, 0xd0(r20) /* 800BFA10 000BB850 2C 00 00 00 */ cmpwi r0, 0x0 /* 800BFA14 000BB854 41 82 00 10 */ beq lbl_800BFA24 /* 800BFA18 000BB858 38 60 00 0D */ li r3, 0xd /* 800BFA1C 000BB85C 38 80 00 01 */ li r4, 0x1 /* 800BFA20 000BB860 4B F7 3D 81 */ bl GXSetVtxDesc .global lbl_800BFA24 lbl_800BFA24: /* 800BFA24 000BB864 38 60 00 00 */ li r3, 0x0 /* 800BFA28 000BB868 38 80 00 09 */ li r4, 0x9 /* 800BFA2C 000BB86C 38 A0 00 01 */ li r5, 0x1 /* 800BFA30 000BB870 38 C0 00 04 */ li r6, 0x4 /* 800BFA34 000BB874 38 E0 00 00 */ li r7, 0x0 /* 800BFA38 000BB878 4B F7 43 B9 */ bl GXSetVtxAttrFmt /* 800BFA3C 000BB87C 38 60 00 00 */ li r3, 0x0 /* 800BFA40 000BB880 38 80 00 0D */ li r4, 0xd /* 800BFA44 000BB884 38 A0 00 01 */ li r5, 0x1 /* 800BFA48 000BB888 38 C0 00 04 */ li r6, 0x4 /* 800BFA4C 000BB88C 38 E0 00 00 */ li r7, 0x0 /* 800BFA50 000BB890 4B F7 43 A1 */ bl GXSetVtxAttrFmt /* 800BFA54 000BB894 38 60 00 00 */ li r3, 0x0 /* 800BFA58 000BB898 4B F7 92 E9 */ bl GXSetCurrentMtx /* 800BFA5C 000BB89C 88 B4 00 D0 */ lbz r5, 0xd0(r20) /* 800BFA60 000BB8A0 7E C3 B3 78 */ mr r3, r22 /* 800BFA64 000BB8A4 80 D6 00 24 */ lwz r6, 0x24(r22) /* 800BFA68 000BB8A8 38 81 00 88 */ addi r4, r1, 0x88 /* 800BFA6C 000BB8AC 7C 05 00 D0 */ neg r0, r5 /* 800BFA70 000BB8B0 7C 00 2B 78 */ or r0, r0, r5 /* 800BFA74 000BB8B4 3B 66 00 9C */ addi r27, r6, 0x9c /* 800BFA78 000BB8B8 54 1F 0F FE */ srwi r31, r0, 31 /* 800BFA7C 000BB8BC 4B FF 23 F5 */ bl CalcGlobalMtx__Q34nw4r2ef15ParticleManagerFPQ34nw4r4math5MTX34 /* 800BFA80 000BB8C0 80 75 00 00 */ lwz r3, 0x0(r21) /* 800BFA84 000BB8C4 80 15 00 04 */ lwz r0, 0x4(r21) /* 800BFA88 000BB8C8 90 01 00 5C */ stw r0, 0x5c(r1) /* 800BFA8C 000BB8CC C0 22 8E 18 */ lfs f1, "@11851"@sda21(r2) /* 800BFA90 000BB8D0 90 61 00 58 */ stw r3, 0x58(r1) /* 800BFA94 000BB8D4 80 75 00 08 */ lwz r3, 0x8(r21) /* 800BFA98 000BB8D8 80 15 00 0C */ lwz r0, 0xc(r21) /* 800BFA9C 000BB8DC 90 01 00 64 */ stw r0, 0x64(r1) /* 800BFAA0 000BB8E0 90 61 00 60 */ stw r3, 0x60(r1) /* 800BFAA4 000BB8E4 80 75 00 10 */ lwz r3, 0x10(r21) /* 800BFAA8 000BB8E8 80 15 00 14 */ lwz r0, 0x14(r21) /* 800BFAAC 000BB8EC 90 01 00 6C */ stw r0, 0x6c(r1) /* 800BFAB0 000BB8F0 90 61 00 68 */ stw r3, 0x68(r1) /* 800BFAB4 000BB8F4 80 75 00 18 */ lwz r3, 0x18(r21) /* 800BFAB8 000BB8F8 80 15 00 1C */ lwz r0, 0x1c(r21) /* 800BFABC 000BB8FC 90 01 00 74 */ stw r0, 0x74(r1) /* 800BFAC0 000BB900 90 61 00 70 */ stw r3, 0x70(r1) /* 800BFAC4 000BB904 80 75 00 20 */ lwz r3, 0x20(r21) /* 800BFAC8 000BB908 80 15 00 24 */ lwz r0, 0x24(r21) /* 800BFACC 000BB90C 90 01 00 7C */ stw r0, 0x7c(r1) /* 800BFAD0 000BB910 90 61 00 78 */ stw r3, 0x78(r1) /* 800BFAD4 000BB914 80 75 00 28 */ lwz r3, 0x28(r21) /* 800BFAD8 000BB918 80 15 00 2C */ lwz r0, 0x2c(r21) /* 800BFADC 000BB91C 90 01 00 84 */ stw r0, 0x84(r1) /* 800BFAE0 000BB920 90 61 00 80 */ stw r3, 0x80(r1) /* 800BFAE4 000BB924 C0 15 00 88 */ lfs f0, 0x88(r21) /* 800BFAE8 000BB928 FC 01 00 00 */ fcmpu cr0, f1, f0 /* 800BFAEC 000BB92C 41 82 01 14 */ beq lbl_800BFC00 /* 800BFAF0 000BB930 38 61 00 3C */ addi r3, r1, 0x3c /* 800BFAF4 000BB934 4B F7 90 ED */ bl GXGetProjectionv /* 800BFAF8 000BB938 C0 01 00 3C */ lfs f0, 0x3c(r1) /* 800BFAFC 000BB93C FC 00 00 1E */ fctiwz f0, f0 /* 800BFB00 000BB940 D8 01 00 B8 */ stfd f0, 0xb8(r1) /* 800BFB04 000BB944 80 01 00 BC */ lwz r0, 0xbc(r1) /* 800BFB08 000BB948 2C 00 00 00 */ cmpwi r0, 0x0 /* 800BFB0C 000BB94C 41 82 00 18 */ beq lbl_800BFB24 /* 800BFB10 000BB950 D8 01 00 B8 */ stfd f0, 0xb8(r1) /* 800BFB14 000BB954 80 01 00 BC */ lwz r0, 0xbc(r1) /* 800BFB18 000BB958 2C 00 00 01 */ cmpwi r0, 0x1 /* 800BFB1C 000BB95C 41 82 00 D4 */ beq lbl_800BFBF0 /* 800BFB20 000BB960 48 00 00 E0 */ b lbl_800BFC00 .global lbl_800BFB24 lbl_800BFB24: /* 800BFB24 000BB964 7E A3 AB 78 */ mr r3, r21 /* 800BFB28 000BB968 38 95 00 8C */ addi r4, r21, 0x8c /* 800BFB2C 000BB96C 38 A1 00 18 */ addi r5, r1, 0x18 /* 800BFB30 000BB970 4B F7 15 C1 */ bl PSMTXMultVec /* 800BFB34 000BB974 38 61 00 18 */ addi r3, r1, 0x18 /* 800BFB38 000BB978 7C 64 1B 78 */ mr r4, r3 /* 800BFB3C 000BB97C 4B FF 3E 95 */ bl Normalize__Q24nw4r2efFPQ34nw4r4math4VEC3PCQ34nw4r4math4VEC3 /* 800BFB40 000BB980 2C 03 00 00 */ cmpwi r3, 0x0 /* 800BFB44 000BB984 41 82 00 98 */ beq lbl_800BFBDC /* 800BFB48 000BB988 C0 21 00 20 */ lfs f1, 0x20(r1) /* 800BFB4C 000BB98C C0 02 8E 18 */ lfs f0, "@11851"@sda21(r2) /* 800BFB50 000BB990 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800BFB54 000BB994 4C 41 13 82 */ cror eq, gt, eq /* 800BFB58 000BB998 40 82 00 44 */ bne lbl_800BFB9C /* 800BFB5C 000BB99C C0 75 00 88 */ lfs f3, 0x88(r21) /* 800BFB60 000BB9A0 C0 81 00 18 */ lfs f4, 0x18(r1) /* 800BFB64 000BB9A4 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 800BFB68 000BB9A8 EC 21 00 F2 */ fmuls f1, f1, f3 /* 800BFB6C 000BB9AC EC A4 00 F2 */ fmuls f5, f4, f3 /* 800BFB70 000BB9B0 C0 01 00 84 */ lfs f0, 0x84(r1) /* 800BFB74 000BB9B4 EC 62 00 F2 */ fmuls f3, f2, f3 /* 800BFB78 000BB9B8 C0 81 00 64 */ lfs f4, 0x64(r1) /* 800BFB7C 000BB9BC C0 41 00 74 */ lfs f2, 0x74(r1) /* 800BFB80 000BB9C0 EC 84 28 2A */ fadds f4, f4, f5 /* 800BFB84 000BB9C4 EC 42 18 2A */ fadds f2, f2, f3 /* 800BFB88 000BB9C8 EC 00 08 2A */ fadds f0, f0, f1 /* 800BFB8C 000BB9CC D0 81 00 64 */ stfs f4, 0x64(r1) /* 800BFB90 000BB9D0 D0 41 00 74 */ stfs f2, 0x74(r1) /* 800BFB94 000BB9D4 D0 01 00 84 */ stfs f0, 0x84(r1) /* 800BFB98 000BB9D8 48 00 00 68 */ b lbl_800BFC00 .global lbl_800BFB9C lbl_800BFB9C: /* 800BFB9C 000BB9DC C0 75 00 88 */ lfs f3, 0x88(r21) /* 800BFBA0 000BB9E0 C0 81 00 18 */ lfs f4, 0x18(r1) /* 800BFBA4 000BB9E4 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 800BFBA8 000BB9E8 EC 21 00 F2 */ fmuls f1, f1, f3 /* 800BFBAC 000BB9EC EC A4 00 F2 */ fmuls f5, f4, f3 /* 800BFBB0 000BB9F0 C0 01 00 84 */ lfs f0, 0x84(r1) /* 800BFBB4 000BB9F4 EC 62 00 F2 */ fmuls f3, f2, f3 /* 800BFBB8 000BB9F8 C0 81 00 64 */ lfs f4, 0x64(r1) /* 800BFBBC 000BB9FC C0 41 00 74 */ lfs f2, 0x74(r1) /* 800BFBC0 000BBA00 EC 84 28 28 */ fsubs f4, f4, f5 /* 800BFBC4 000BBA04 EC 42 18 28 */ fsubs f2, f2, f3 /* 800BFBC8 000BBA08 EC 00 08 28 */ fsubs f0, f0, f1 /* 800BFBCC 000BBA0C D0 81 00 64 */ stfs f4, 0x64(r1) /* 800BFBD0 000BBA10 D0 41 00 74 */ stfs f2, 0x74(r1) /* 800BFBD4 000BBA14 D0 01 00 84 */ stfs f0, 0x84(r1) /* 800BFBD8 000BBA18 48 00 00 28 */ b lbl_800BFC00 .global lbl_800BFBDC lbl_800BFBDC: /* 800BFBDC 000BBA1C C0 21 00 84 */ lfs f1, 0x84(r1) /* 800BFBE0 000BBA20 C0 15 00 88 */ lfs f0, 0x88(r21) /* 800BFBE4 000BBA24 EC 01 00 2A */ fadds f0, f1, f0 /* 800BFBE8 000BBA28 D0 01 00 84 */ stfs f0, 0x84(r1) /* 800BFBEC 000BBA2C 48 00 00 14 */ b lbl_800BFC00 .global lbl_800BFBF0 lbl_800BFBF0: /* 800BFBF0 000BBA30 C0 21 00 84 */ lfs f1, 0x84(r1) /* 800BFBF4 000BBA34 C0 15 00 88 */ lfs f0, 0x88(r21) /* 800BFBF8 000BBA38 EC 01 00 2A */ fadds f0, f1, f0 /* 800BFBFC 000BBA3C D0 01 00 84 */ stfs f0, 0x84(r1) .global lbl_800BFC00 lbl_800BFC00: /* 800BFC00 000BBA40 38 61 00 58 */ addi r3, r1, 0x58 /* 800BFC04 000BBA44 38 81 00 88 */ addi r4, r1, 0x88 /* 800BFC08 000BBA48 7C 65 1B 78 */ mr r5, r3 /* 800BFC0C 000BBA4C 4B F7 09 45 */ bl PSMTXConcat /* 800BFC10 000BBA50 38 61 00 58 */ addi r3, r1, 0x58 /* 800BFC14 000BBA54 38 80 00 00 */ li r4, 0x0 /* 800BFC18 000BBA58 4B F7 90 09 */ bl GXLoadPosMtxImm /* 800BFC1C 000BBA5C 81 94 00 00 */ lwz r12, 0x0(r20) /* 800BFC20 000BBA60 7E 83 A3 78 */ mr r3, r20 /* 800BFC24 000BBA64 A0 1B 00 00 */ lhz r0, 0x0(r27) /* 800BFC28 000BBA68 81 8C 00 10 */ lwz r12, 0x10(r12) /* 800BFC2C 000BBA6C 54 04 05 28 */ rlwinm r4, r0, 0, 20, 20 /* 800BFC30 000BBA70 7D 89 03 A6 */ mtctr r12 /* 800BFC34 000BBA74 4E 80 04 21 */ bctrl /* 800BFC38 000BBA78 81 94 00 00 */ lwz r12, 0x0(r20) /* 800BFC3C 000BBA7C 7C 73 1B 78 */ mr r19, r3 /* 800BFC40 000BBA80 A0 1B 00 00 */ lhz r0, 0x0(r27) /* 800BFC44 000BBA84 7E 83 A3 78 */ mr r3, r20 /* 800BFC48 000BBA88 81 8C 00 14 */ lwz r12, 0x14(r12) /* 800BFC4C 000BBA8C 54 04 05 28 */ rlwinm r4, r0, 0, 20, 20 /* 800BFC50 000BBA90 7D 89 03 A6 */ mtctr r12 /* 800BFC54 000BBA94 4E 80 04 21 */ bctrl /* 800BFC58 000BBA98 7E 6C 9B 78 */ mr r12, r19 /* 800BFC5C 000BBA9C 7C 7A 1B 78 */ mr r26, r3 /* 800BFC60 000BBAA0 7E C3 B3 78 */ mr r3, r22 /* 800BFC64 000BBAA4 3B 20 00 00 */ li r25, 0x0 /* 800BFC68 000BBAA8 3B 00 00 01 */ li r24, 0x1 /* 800BFC6C 000BBAAC 7D 89 03 A6 */ mtctr r12 /* 800BFC70 000BBAB0 4E 80 04 21 */ bctrl /* 800BFC74 000BBAB4 C3 E2 8E 20 */ lfs f31, "@11853"@sda21(r2) /* 800BFC78 000BBAB8 7C 77 1B 78 */ mr r23, r3 /* 800BFC7C 000BBABC C3 C2 8E 1C */ lfs f30, "@11852"@sda21(r2) /* 800BFC80 000BBAC0 3B C1 00 24 */ addi r30, r1, 0x24 /* 800BFC84 000BBAC4 3B A1 00 0C */ addi r29, r1, 0xc /* 800BFC88 000BBAC8 3B 81 00 30 */ addi r28, r1, 0x30 /* 800BFC8C 000BBACC 3E 60 CC 01 */ lis r19, 0xCC008000@ha /* 800BFC90 000BBAD0 48 00 02 84 */ b lbl_800BFF14 .global lbl_800BFC94 lbl_800BFC94: /* 800BFC94 000BBAD4 C0 37 00 30 */ lfs f1, 0x30(r23) /* 800BFC98 000BBAD8 C0 17 00 38 */ lfs f0, 0x38(r23) /* 800BFC9C 000BBADC 80 77 00 C8 */ lwz r3, 0xc8(r23) /* 800BFCA0 000BBAE0 EC 21 00 32 */ fmuls f1, f1, f0 /* 800BFCA4 000BBAE4 C0 03 00 58 */ lfs f0, 0x58(r3) /* 800BFCA8 000BBAE8 EC 01 00 32 */ fmuls f0, f1, f0 /* 800BFCAC 000BBAEC D0 01 00 08 */ stfs f0, 0x8(r1) /* 800BFCB0 000BBAF0 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 800BFCB4 000BBAF4 41 80 02 48 */ blt lbl_800BFEFC /* 800BFCB8 000BBAF8 80 97 00 C8 */ lwz r4, 0xc8(r23) /* 800BFCBC 000BBAFC 80 64 00 24 */ lwz r3, 0x24(r4) /* 800BFCC0 000BBB00 A0 03 00 9C */ lhz r0, 0x9c(r3) /* 800BFCC4 000BBB04 54 00 04 64 */ rlwinm r0, r0, 0, 17, 18 /* 800BFCC8 000BBB08 2C 00 40 00 */ cmpwi r0, 0x4000 /* 800BFCCC 000BBB0C 41 82 00 18 */ beq lbl_800BFCE4 /* 800BFCD0 000BBB10 2C 00 20 00 */ cmpwi r0, 0x2000 /* 800BFCD4 000BBB14 41 82 00 20 */ beq lbl_800BFCF4 /* 800BFCD8 000BBB18 2C 00 60 00 */ cmpwi r0, 0x6000 /* 800BFCDC 000BBB1C 41 82 00 28 */ beq lbl_800BFD04 /* 800BFCE0 000BBB20 48 00 00 34 */ b lbl_800BFD14 .global lbl_800BFCE4 lbl_800BFCE4: /* 800BFCE4 000BBB24 C0 37 00 34 */ lfs f1, 0x34(r23) /* 800BFCE8 000BBB28 C0 17 00 38 */ lfs f0, 0x38(r23) /* 800BFCEC 000BBB2C EC 21 00 32 */ fmuls f1, f1, f0 /* 800BFCF0 000BBB30 48 00 00 30 */ b lbl_800BFD20 .global lbl_800BFCF4 lbl_800BFCF4: /* 800BFCF4 000BBB34 C0 37 00 30 */ lfs f1, 0x30(r23) /* 800BFCF8 000BBB38 C0 17 00 3C */ lfs f0, 0x3c(r23) /* 800BFCFC 000BBB3C EC 21 00 32 */ fmuls f1, f1, f0 /* 800BFD00 000BBB40 48 00 00 20 */ b lbl_800BFD20 .global lbl_800BFD04 lbl_800BFD04: /* 800BFD04 000BBB44 C0 37 00 30 */ lfs f1, 0x30(r23) /* 800BFD08 000BBB48 C0 17 00 38 */ lfs f0, 0x38(r23) /* 800BFD0C 000BBB4C EC 21 00 32 */ fmuls f1, f1, f0 /* 800BFD10 000BBB50 48 00 00 10 */ b lbl_800BFD20 .global lbl_800BFD14 lbl_800BFD14: /* 800BFD14 000BBB54 C0 37 00 34 */ lfs f1, 0x34(r23) /* 800BFD18 000BBB58 C0 17 00 3C */ lfs f0, 0x3c(r23) /* 800BFD1C 000BBB5C EC 21 00 32 */ fmuls f1, f1, f0 .global lbl_800BFD20 lbl_800BFD20: /* 800BFD20 000BBB60 C0 04 00 5C */ lfs f0, 0x5c(r4) /* 800BFD24 000BBB64 EF A1 00 32 */ fmuls f29, f1, f0 /* 800BFD28 000BBB68 FC 1D F0 40 */ fcmpo cr0, f29, f30 /* 800BFD2C 000BBB6C 41 80 01 D0 */ blt lbl_800BFEFC /* 800BFD30 000BBB70 E0 57 00 AC */ psq_l f2, 0xac(r23), 0, qr0 /* 800BFD34 000BBB74 E0 37 00 B8 */ psq_l f1, 0xb8(r23), 0, qr0 /* 800BFD38 000BBB78 80 97 00 AC */ lwz r4, 0xac(r23) /* 800BFD3C 000BBB7C 10 02 08 28 */ ps_sub f0, f2, f1 /* 800BFD40 000BBB80 E0 57 80 B4 */ psq_l f2, 0xb4(r23), 1, qr0 /* 800BFD44 000BBB84 E0 37 80 C0 */ psq_l f1, 0xc0(r23), 1, qr0 /* 800BFD48 000BBB88 F0 1D 00 00 */ psq_st f0, 0x0(r29), 0, qr0 /* 800BFD4C 000BBB8C 10 02 08 28 */ ps_sub f0, f2, f1 /* 800BFD50 000BBB90 80 77 00 B0 */ lwz r3, 0xb0(r23) /* 800BFD54 000BBB94 C0 21 00 10 */ lfs f1, 0x10(r1) /* 800BFD58 000BBB98 F0 1D 80 08 */ psq_st f0, 0x8(r29), 1, qr0 /* 800BFD5C 000BBB9C C0 41 00 0C */ lfs f2, 0xc(r1) /* 800BFD60 000BBBA0 C0 01 00 14 */ lfs f0, 0x14(r1) /* 800BFD64 000BBBA4 D0 21 00 28 */ stfs f1, 0x28(r1) /* 800BFD68 000BBBA8 80 17 00 B4 */ lwz r0, 0xb4(r23) /* 800BFD6C 000BBBAC D0 01 00 2C */ stfs f0, 0x2c(r1) /* 800BFD70 000BBBB0 E0 1E 00 04 */ psq_l f0, 0x4(r30), 0, qr0 /* 800BFD74 000BBBB4 D0 41 00 24 */ stfs f2, 0x24(r1) /* 800BFD78 000BBBB8 10 00 00 32 */ ps_mul f0, f0, f0 /* 800BFD7C 000BBBBC E0 3E 80 00 */ psq_l f1, 0x0(r30), 1, qr0 /* 800BFD80 000BBBC0 90 81 00 30 */ stw r4, 0x30(r1) /* 800BFD84 000BBBC4 10 21 00 7A */ ps_madd f1, f1, f1, f0 /* 800BFD88 000BBBC8 90 61 00 34 */ stw r3, 0x34(r1) /* 800BFD8C 000BBBCC 10 21 00 14 */ ps_sum0 f1, f1, f0, f0 /* 800BFD90 000BBBD0 90 01 00 38 */ stw r0, 0x38(r1) /* 800BFD94 000BBBD4 FC 01 F0 40 */ fcmpo cr0, f1, f30 /* 800BFD98 000BBBD8 40 80 00 0C */ bge lbl_800BFDA4 /* 800BFD9C 000BBBDC 38 00 00 00 */ li r0, 0x0 /* 800BFDA0 000BBBE0 48 00 00 24 */ b lbl_800BFDC4 .global lbl_800BFDA4 lbl_800BFDA4: /* 800BFDA4 000BBBE4 48 03 EC CD */ bl FrSqrt__Q24nw4r4mathFf /* 800BFDA8 000BBBE8 E0 5E 00 00 */ psq_l f2, 0x0(r30), 0, qr0 /* 800BFDAC 000BBBEC 38 00 00 01 */ li r0, 0x1 /* 800BFDB0 000BBBF0 10 02 00 58 */ ps_muls0 f0, f2, f1 /* 800BFDB4 000BBBF4 E0 5E 80 08 */ psq_l f2, 0x8(r30), 1, qr0 /* 800BFDB8 000BBBF8 F0 1E 00 00 */ psq_st f0, 0x0(r30), 0, qr0 /* 800BFDBC 000BBBFC 10 02 00 58 */ ps_muls0 f0, f2, f1 /* 800BFDC0 000BBC00 F0 1E 80 08 */ psq_st f0, 0x8(r30), 1, qr0 .global lbl_800BFDC4 lbl_800BFDC4: /* 800BFDC4 000BBC04 2C 00 00 00 */ cmpwi r0, 0x0 /* 800BFDC8 000BBC08 41 82 01 34 */ beq lbl_800BFEFC /* 800BFDCC 000BBC0C E0 1E 00 00 */ psq_l f0, 0x0(r30), 0, qr0 /* 800BFDD0 000BBC10 E0 9C 00 00 */ psq_l f4, 0x0(r28), 0, qr0 /* 800BFDD4 000BBC14 10 40 07 58 */ ps_muls0 f2, f0, f29 /* 800BFDD8 000BBC18 E0 1E 80 08 */ psq_l f0, 0x8(r30), 1, qr0 /* 800BFDDC 000BBC1C C0 21 00 08 */ lfs f1, 0x8(r1) /* 800BFDE0 000BBC20 F0 5E 00 00 */ psq_st f2, 0x0(r30), 0, qr0 /* 800BFDE4 000BBC24 10 40 07 58 */ ps_muls0 f2, f0, f29 /* 800BFDE8 000BBC28 C0 0D 85 A8 */ lfs f0, "@11461"@sda21(r13) /* 800BFDEC 000BBC2C E0 7E 00 00 */ psq_l f3, 0x0(r30), 0, qr0 /* 800BFDF0 000BBC30 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800BFDF4 000BBC34 10 04 18 28 */ ps_sub f0, f4, f3 /* 800BFDF8 000BBC38 E0 9C 80 08 */ psq_l f4, 0x8(r28), 1, qr0 /* 800BFDFC 000BBC3C F0 1E 00 00 */ psq_st f0, 0x0(r30), 0, qr0 /* 800BFE00 000BBC40 10 04 10 28 */ ps_sub f0, f4, f2 /* 800BFE04 000BBC44 F0 1E 80 08 */ psq_st f0, 0x8(r30), 1, qr0 /* 800BFE08 000BBC48 40 80 00 0C */ bge lbl_800BFE14 /* 800BFE0C 000BBC4C 38 61 00 08 */ addi r3, r1, 0x8 /* 800BFE10 000BBC50 48 00 00 08 */ b lbl_800BFE18 .global lbl_800BFE14 lbl_800BFE14: /* 800BFE14 000BBC54 38 6D 85 A8 */ addi r3, r13, "@11461"@sda21 .global lbl_800BFE18 lbl_800BFE18: /* 800BFE18 000BBC58 C0 03 00 00 */ lfs f0, 0x0(r3) /* 800BFE1C 000BBC5C EC 1F 00 32 */ fmuls f0, f31, f0 /* 800BFE20 000BBC60 FC 00 00 1E */ fctiwz f0, f0 /* 800BFE24 000BBC64 D8 01 00 B8 */ stfd f0, 0xb8(r1) /* 800BFE28 000BBC68 80 81 00 BC */ lwz r4, 0xbc(r1) /* 800BFE2C 000BBC6C 54 83 06 3F */ clrlwi. r3, r4, 24 /* 800BFE30 000BBC70 41 82 00 CC */ beq lbl_800BFEFC /* 800BFE34 000BBC74 57 20 06 3E */ clrlwi r0, r25, 24 /* 800BFE38 000BBC78 7C 00 18 40 */ cmplw r0, r3 /* 800BFE3C 000BBC7C 41 82 00 30 */ beq lbl_800BFE6C /* 800BFE40 000BBC80 7C 99 23 78 */ mr r25, r4 /* 800BFE44 000BBC84 38 80 00 05 */ li r4, 0x5 /* 800BFE48 000BBC88 4B F7 56 59 */ bl GXSetLineWidth /* 800BFE4C 000BBC8C 7E 83 A3 78 */ mr r3, r20 /* 800BFE50 000BBC90 7E E4 BB 78 */ mr r4, r23 /* 800BFE54 000BBC94 7F 65 DB 78 */ mr r5, r27 /* 800BFE58 000BBC98 7E A6 AB 78 */ mr r6, r21 /* 800BFE5C 000BBC9C 7F 07 C3 78 */ mr r7, r24 /* 800BFE60 000BBCA0 39 00 00 01 */ li r8, 0x1 /* 800BFE64 000BBCA4 4B FF 95 0D */ bl SetupGP__Q34nw4r2ef16DrawStrategyImplFPQ34nw4r2ef8ParticleRCQ34nw4r2ef18EmitterDrawSettingRCQ34nw4r2ef8DrawInfobb /* 800BFE68 000BBCA8 48 00 00 20 */ b lbl_800BFE88 .global lbl_800BFE6C lbl_800BFE6C: /* 800BFE6C 000BBCAC 7E 83 A3 78 */ mr r3, r20 /* 800BFE70 000BBCB0 7E E4 BB 78 */ mr r4, r23 /* 800BFE74 000BBCB4 7F 65 DB 78 */ mr r5, r27 /* 800BFE78 000BBCB8 7E A6 AB 78 */ mr r6, r21 /* 800BFE7C 000BBCBC 7F 07 C3 78 */ mr r7, r24 /* 800BFE80 000BBCC0 39 00 00 00 */ li r8, 0x0 /* 800BFE84 000BBCC4 4B FF 94 ED */ bl SetupGP__Q34nw4r2ef16DrawStrategyImplFPQ34nw4r2ef8ParticleRCQ34nw4r2ef18EmitterDrawSettingRCQ34nw4r2ef8DrawInfobb .global lbl_800BFE88 lbl_800BFE88: /* 800BFE88 000BBCC8 3B 00 00 00 */ li r24, 0x0 /* 800BFE8C 000BBCCC 38 60 00 A8 */ li r3, 0xa8 /* 800BFE90 000BBCD0 38 80 00 00 */ li r4, 0x0 /* 800BFE94 000BBCD4 38 A0 00 02 */ li r5, 0x2 /* 800BFE98 000BBCD8 4B F7 53 D9 */ bl GXBegin /* 800BFE9C 000BBCDC C0 01 00 30 */ lfs f0, 0x30(r1) /* 800BFEA0 000BBCE0 2C 1F 00 00 */ cmpwi r31, 0x0 /* 800BFEA4 000BBCE4 D0 13 80 00 */ stfs f0, 0xCC008000@l(r19) /* 800BFEA8 000BBCE8 C0 01 00 34 */ lfs f0, 0x34(r1) /* 800BFEAC 000BBCEC D0 13 80 00 */ stfs f0, -0x8000(r19) /* 800BFEB0 000BBCF0 C0 01 00 38 */ lfs f0, 0x38(r1) /* 800BFEB4 000BBCF4 D0 13 80 00 */ stfs f0, -0x8000(r19) /* 800BFEB8 000BBCF8 41 82 00 14 */ beq lbl_800BFECC /* 800BFEBC 000BBCFC C0 02 8E 18 */ lfs f0, "@11851"@sda21(r2) /* 800BFEC0 000BBD00 D0 13 80 00 */ stfs f0, -0x8000(r19) /* 800BFEC4 000BBD04 C0 02 8E 18 */ lfs f0, "@11851"@sda21(r2) /* 800BFEC8 000BBD08 D0 13 80 00 */ stfs f0, -0x8000(r19) .global lbl_800BFECC lbl_800BFECC: /* 800BFECC 000BBD0C C0 01 00 24 */ lfs f0, 0x24(r1) /* 800BFED0 000BBD10 2C 1F 00 00 */ cmpwi r31, 0x0 /* 800BFED4 000BBD14 D0 13 80 00 */ stfs f0, -0x8000(r19) /* 800BFED8 000BBD18 C0 01 00 28 */ lfs f0, 0x28(r1) /* 800BFEDC 000BBD1C D0 13 80 00 */ stfs f0, -0x8000(r19) /* 800BFEE0 000BBD20 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 800BFEE4 000BBD24 D0 13 80 00 */ stfs f0, -0x8000(r19) /* 800BFEE8 000BBD28 41 82 00 14 */ beq lbl_800BFEFC /* 800BFEEC 000BBD2C C0 02 8E 18 */ lfs f0, "@11851"@sda21(r2) /* 800BFEF0 000BBD30 D0 13 80 00 */ stfs f0, -0x8000(r19) /* 800BFEF4 000BBD34 C0 02 8E 24 */ lfs f0, "@11854"@sda21(r2) /* 800BFEF8 000BBD38 D0 13 80 00 */ stfs f0, -0x8000(r19) .global lbl_800BFEFC lbl_800BFEFC: /* 800BFEFC 000BBD3C 7F 4C D3 78 */ mr r12, r26 /* 800BFF00 000BBD40 7E C3 B3 78 */ mr r3, r22 /* 800BFF04 000BBD44 7E E4 BB 78 */ mr r4, r23 /* 800BFF08 000BBD48 7D 89 03 A6 */ mtctr r12 /* 800BFF0C 000BBD4C 4E 80 04 21 */ bctrl /* 800BFF10 000BBD50 7C 77 1B 78 */ mr r23, r3 .global lbl_800BFF14 lbl_800BFF14: /* 800BFF14 000BBD54 2C 17 00 00 */ cmpwi r23, 0x0 /* 800BFF18 000BBD58 40 82 FD 7C */ bne lbl_800BFC94 /* 800BFF1C 000BBD5C 39 61 01 00 */ addi r11, r1, 0x100 /* 800BFF20 000BBD60 E3 E1 01 28 */ psq_l f31, 0x128(r1), 0, qr0 /* 800BFF24 000BBD64 CB E1 01 20 */ lfd f31, 0x120(r1) /* 800BFF28 000BBD68 E3 C1 01 18 */ psq_l f30, 0x118(r1), 0, qr0 /* 800BFF2C 000BBD6C CB C1 01 10 */ lfd f30, 0x110(r1) /* 800BFF30 000BBD70 E3 A1 01 08 */ psq_l f29, 0x108(r1), 0, qr0 /* 800BFF34 000BBD74 CB A1 01 00 */ lfd f29, 0x100(r1) /* 800BFF38 000BBD78 4B F4 74 31 */ bl lbl_80007368 /* 800BFF3C 000BBD7C 80 01 01 34 */ lwz r0, 0x134(r1) /* 800BFF40 000BBD80 7C 08 03 A6 */ mtlr r0 /* 800BFF44 000BBD84 38 21 01 30 */ addi r1, r1, 0x130 /* 800BFF48 000BBD88 4E 80 00 20 */ blr /* 800BFF4C 000BBD8C 00 00 00 00 */ .4byte 0x00000000 .global __dt__Q34nw4r2ef16DrawLineStrategyFv __dt__Q34nw4r2ef16DrawLineStrategyFv: /* 800BFF50 000BBD90 4B FE 4E 60 */ b __dt__Q34nw4r2ef7EmitterFv /* 800BFF54 000BBD94 00 00 00 00 */ .4byte 0x00000000 /* 800BFF58 000BBD98 00 00 00 00 */ .4byte 0x00000000 /* 800BFF5C 000BBD9C 00 00 00 00 */ .4byte 0x00000000