.include "macros.inc" .section .data .balign 8 .global __vt__13CScriptRipple __vt__13CScriptRipple: # ROM: 0x3E0E28 .4byte 0 .4byte 0 .4byte __dt__13CScriptRippleFv .4byte Accept__13CScriptRippleFR8IVisitor .4byte PreThink__7CEntityFfR13CStateManager .4byte Think__13CScriptRippleFfR13CStateManager .4byte AcceptScriptMsg__13CScriptRippleF20EScriptObjectMessage9TUniqueIdR13CStateManager .4byte SetActive__7CEntityFUc .section .text, "ax" .global Accept__13CScriptRippleFR8IVisitor Accept__13CScriptRippleFR8IVisitor: /* 80174F14 00171E74 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80174F18 00171E78 7C 08 02 A6 */ mflr r0 /* 80174F1C 00171E7C 90 01 00 14 */ stw r0, 0x14(r1) /* 80174F20 00171E80 7C 60 1B 78 */ mr r0, r3 /* 80174F24 00171E84 7C 83 23 78 */ mr r3, r4 /* 80174F28 00171E88 81 84 00 00 */ lwz r12, 0(r4) /* 80174F2C 00171E8C 7C 04 03 78 */ mr r4, r0 /* 80174F30 00171E90 81 8C 00 24 */ lwz r12, 0x24(r12) /* 80174F34 00171E94 7D 89 03 A6 */ mtctr r12 /* 80174F38 00171E98 4E 80 04 21 */ bctrl /* 80174F3C 00171E9C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80174F40 00171EA0 7C 08 03 A6 */ mtlr r0 /* 80174F44 00171EA4 38 21 00 10 */ addi r1, r1, 0x10 /* 80174F48 00171EA8 4E 80 00 20 */ blr .global Think__13CScriptRippleFfR13CStateManager Think__13CScriptRippleFfR13CStateManager: /* 80174F4C 00171EAC 4E 80 00 20 */ blr .global AcceptScriptMsg__13CScriptRippleF20EScriptObjectMessage9TUniqueIdR13CStateManager AcceptScriptMsg__13CScriptRippleF20EScriptObjectMessage9TUniqueIdR13CStateManager: /* 80174F50 00171EB0 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80174F54 00171EB4 7C 08 02 A6 */ mflr r0 /* 80174F58 00171EB8 2C 04 00 14 */ cmpwi r4, 0x14 /* 80174F5C 00171EBC 90 01 00 54 */ stw r0, 0x54(r1) /* 80174F60 00171EC0 93 E1 00 4C */ stw r31, 0x4c(r1) /* 80174F64 00171EC4 7C DF 33 78 */ mr r31, r6 /* 80174F68 00171EC8 93 C1 00 48 */ stw r30, 0x48(r1) /* 80174F6C 00171ECC 7C 7E 1B 78 */ mr r30, r3 /* 80174F70 00171ED0 93 A1 00 44 */ stw r29, 0x44(r1) /* 80174F74 00171ED4 41 82 00 08 */ beq lbl_80174F7C /* 80174F78 00171ED8 48 00 00 F4 */ b lbl_8017506C lbl_80174F7C: /* 80174F7C 00171EDC 88 1E 00 30 */ lbz r0, 0x30(r30) /* 80174F80 00171EE0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80174F84 00171EE4 41 82 00 F8 */ beq lbl_8017507C /* 80174F88 00171EE8 83 BE 00 2C */ lwz r29, 0x2c(r30) /* 80174F8C 00171EEC 48 00 00 C4 */ b lbl_80175050 lbl_80174F90: /* 80174F90 00171EF0 80 1D 00 00 */ lwz r0, 0(r29) /* 80174F94 00171EF4 2C 00 00 00 */ cmpwi r0, 0 /* 80174F98 00171EF8 40 82 00 B4 */ bne lbl_8017504C /* 80174F9C 00171EFC 80 1D 00 04 */ lwz r0, 4(r29) /* 80174FA0 00171F00 2C 00 00 08 */ cmpwi r0, 8 /* 80174FA4 00171F04 40 82 00 A8 */ bne lbl_8017504C /* 80174FA8 00171F08 80 1D 00 08 */ lwz r0, 8(r29) /* 80174FAC 00171F0C 7F E4 FB 78 */ mr r4, r31 /* 80174FB0 00171F10 38 61 00 24 */ addi r3, r1, 0x24 /* 80174FB4 00171F14 38 A1 00 18 */ addi r5, r1, 0x18 /* 80174FB8 00171F18 90 01 00 18 */ stw r0, 0x18(r1) /* 80174FBC 00171F1C 4B ED 30 0D */ bl GetIdListForScript__13CStateManagerCF9TEditorId /* 80174FC0 00171F20 80 A1 00 24 */ lwz r5, 0x24(r1) /* 80174FC4 00171F24 38 60 00 00 */ li r3, 0 /* 80174FC8 00171F28 80 01 00 2C */ lwz r0, 0x2c(r1) /* 80174FCC 00171F2C 80 81 00 28 */ lwz r4, 0x28(r1) /* 80174FD0 00171F30 7C 05 00 40 */ cmplw r5, r0 /* 80174FD4 00171F34 80 01 00 30 */ lwz r0, 0x30(r1) /* 80174FD8 00171F38 40 82 00 0C */ bne lbl_80174FE4 /* 80174FDC 00171F3C 7C 04 00 40 */ cmplw r4, r0 /* 80174FE0 00171F40 41 82 00 08 */ beq lbl_80174FE8 lbl_80174FE4: /* 80174FE4 00171F44 38 60 00 01 */ li r3, 1 lbl_80174FE8: /* 80174FE8 00171F48 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80174FEC 00171F4C 41 82 00 60 */ beq lbl_8017504C /* 80174FF0 00171F50 A0 05 00 14 */ lhz r0, 0x14(r5) /* 80174FF4 00171F54 7F E3 FB 78 */ mr r3, r31 /* 80174FF8 00171F58 38 81 00 14 */ addi r4, r1, 0x14 /* 80174FFC 00171F5C B0 01 00 14 */ sth r0, 0x14(r1) /* 80175000 00171F60 4B ED 75 75 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80175004 00171F64 7C 64 1B 78 */ mr r4, r3 /* 80175008 00171F68 38 61 00 1C */ addi r3, r1, 0x1c /* 8017500C 00171F6C 4B F3 18 55 */ bl "__ct__26TCastToPtr<12CScriptWater>FP7CEntity" /* 80175010 00171F70 80 C3 00 04 */ lwz r6, 4(r3) /* 80175014 00171F74 28 06 00 00 */ cmplwi r6, 0 /* 80175018 00171F78 41 82 00 34 */ beq lbl_8017504C /* 8017501C 00171F7C A0 1E 00 08 */ lhz r0, 8(r30) /* 80175020 00171F80 7F E7 FB 78 */ mr r7, r31 /* 80175024 00171F84 38 81 00 10 */ addi r4, r1, 0x10 /* 80175028 00171F88 38 BE 00 38 */ addi r5, r30, 0x38 /* 8017502C 00171F8C B0 01 00 10 */ sth r0, 0x10(r1) /* 80175030 00171F90 80 66 01 B4 */ lwz r3, 0x1b4(r6) /* 80175034 00171F94 B0 01 00 0C */ sth r0, 0xc(r1) /* 80175038 00171F98 81 83 00 00 */ lwz r12, 0(r3) /* 8017503C 00171F9C C0 3E 00 34 */ lfs f1, 0x34(r30) /* 80175040 00171FA0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80175044 00171FA4 7D 89 03 A6 */ mtctr r12 /* 80175048 00171FA8 4E 80 04 21 */ bctrl lbl_8017504C: /* 8017504C 00171FAC 3B BD 00 0C */ addi r29, r29, 0xc lbl_80175050: /* 80175050 00171FB0 80 1E 00 24 */ lwz r0, 0x24(r30) /* 80175054 00171FB4 80 7E 00 2C */ lwz r3, 0x2c(r30) /* 80175058 00171FB8 1C 00 00 0C */ mulli r0, r0, 0xc /* 8017505C 00171FBC 7C 03 02 14 */ add r0, r3, r0 /* 80175060 00171FC0 7C 1D 00 40 */ cmplw r29, r0 /* 80175064 00171FC4 40 82 FF 2C */ bne lbl_80174F90 /* 80175068 00171FC8 48 00 00 14 */ b lbl_8017507C lbl_8017506C: /* 8017506C 00171FCC A0 05 00 00 */ lhz r0, 0(r5) /* 80175070 00171FD0 38 A1 00 08 */ addi r5, r1, 8 /* 80175074 00171FD4 B0 01 00 08 */ sth r0, 8(r1) /* 80175078 00171FD8 4B ED C0 E5 */ bl AcceptScriptMsg__7CEntityF20EScriptObjectMessage9TUniqueIdR13CStateManager lbl_8017507C: /* 8017507C 00171FDC 80 01 00 54 */ lwz r0, 0x54(r1) /* 80175080 00171FE0 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 80175084 00171FE4 83 C1 00 48 */ lwz r30, 0x48(r1) /* 80175088 00171FE8 83 A1 00 44 */ lwz r29, 0x44(r1) /* 8017508C 00171FEC 7C 08 03 A6 */ mtlr r0 /* 80175090 00171FF0 38 21 00 50 */ addi r1, r1, 0x50 /* 80175094 00171FF4 4E 80 00 20 */ blr .global __dt__13CScriptRippleFv __dt__13CScriptRippleFv: /* 80175098 00171FF8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8017509C 00171FFC 7C 08 02 A6 */ mflr r0 /* 801750A0 00172000 90 01 00 14 */ stw r0, 0x14(r1) /* 801750A4 00172004 93 E1 00 0C */ stw r31, 0xc(r1) /* 801750A8 00172008 7C 9F 23 78 */ mr r31, r4 /* 801750AC 0017200C 93 C1 00 08 */ stw r30, 8(r1) /* 801750B0 00172010 7C 7E 1B 79 */ or. r30, r3, r3 /* 801750B4 00172014 41 82 00 28 */ beq lbl_801750DC /* 801750B8 00172018 3C A0 80 3E */ lis r5, __vt__13CScriptRipple@ha /* 801750BC 0017201C 38 80 00 00 */ li r4, 0 /* 801750C0 00172020 38 05 3E 28 */ addi r0, r5, __vt__13CScriptRipple@l /* 801750C4 00172024 90 1E 00 00 */ stw r0, 0(r30) /* 801750C8 00172028 4B ED C1 AD */ bl __dt__7CEntityFv /* 801750CC 0017202C 7F E0 07 35 */ extsh. r0, r31 /* 801750D0 00172030 40 81 00 0C */ ble lbl_801750DC /* 801750D4 00172034 7F C3 F3 78 */ mr r3, r30 /* 801750D8 00172038 48 1A 08 59 */ bl Free__7CMemoryFPCv lbl_801750DC: /* 801750DC 0017203C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801750E0 00172040 7F C3 F3 78 */ mr r3, r30 /* 801750E4 00172044 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801750E8 00172048 83 C1 00 08 */ lwz r30, 8(r1) /* 801750EC 0017204C 7C 08 03 A6 */ mtlr r0 /* 801750F0 00172050 38 21 00 10 */ addi r1, r1, 0x10 /* 801750F4 00172054 4E 80 00 20 */ blr .global "__ct__13CScriptRippleF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC9CVector3fbf" "__ct__13CScriptRippleF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC9CVector3fbf": /* 801750F8 00172058 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801750FC 0017205C 7C 08 02 A6 */ mflr r0 /* 80175100 00172060 90 01 00 34 */ stw r0, 0x34(r1) /* 80175104 00172064 DB E1 00 20 */ stfd f31, 0x20(r1) /* 80175108 00172068 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 8017510C 0017206C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80175110 00172070 93 C1 00 18 */ stw r30, 0x18(r1) /* 80175114 00172074 A0 04 00 00 */ lhz r0, 0(r4) /* 80175118 00172078 7C A4 2B 78 */ mr r4, r5 /* 8017511C 0017207C FF E0 08 90 */ fmr f31, f1 /* 80175120 00172080 7C FF 3B 78 */ mr r31, r7 /* 80175124 00172084 B0 01 00 08 */ sth r0, 8(r1) /* 80175128 00172088 7C C5 33 78 */ mr r5, r6 /* 8017512C 0017208C 7C 87 23 78 */ mr r7, r4 /* 80175130 00172090 7C 7E 1B 78 */ mr r30, r3 /* 80175134 00172094 7D 06 43 78 */ mr r6, r8 /* 80175138 00172098 38 81 00 08 */ addi r4, r1, 8 /* 8017513C 0017209C 4B ED C1 E9 */ bl "__ct__7CEntityF9TUniqueIdRC11CEntityInfobRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>" /* 80175140 001720A0 C0 02 A1 70 */ lfs f0, lbl_805ABE90@sda21(r2) /* 80175144 001720A4 3C 60 80 3E */ lis r3, __vt__13CScriptRipple@ha /* 80175148 001720A8 38 03 3E 28 */ addi r0, r3, __vt__13CScriptRipple@l /* 8017514C 001720AC FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80175150 001720B0 90 1E 00 00 */ stw r0, 0(r30) /* 80175154 001720B4 4C 41 13 82 */ cror 2, 1, 2 /* 80175158 001720B8 40 82 00 0C */ bne lbl_80175164 /* 8017515C 001720BC FC 00 F8 90 */ fmr f0, f31 /* 80175160 001720C0 48 00 00 08 */ b lbl_80175168 lbl_80175164: /* 80175164 001720C4 C0 02 96 D0 */ lfs f0, lbl_805AB3F0@sda21(r2) lbl_80175168: /* 80175168 001720C8 D0 1E 00 34 */ stfs f0, 0x34(r30) /* 8017516C 001720CC 7F C3 F3 78 */ mr r3, r30 /* 80175170 001720D0 C0 1F 00 00 */ lfs f0, 0(r31) /* 80175174 001720D4 D0 1E 00 38 */ stfs f0, 0x38(r30) /* 80175178 001720D8 C0 1F 00 04 */ lfs f0, 4(r31) /* 8017517C 001720DC D0 1E 00 3C */ stfs f0, 0x3c(r30) /* 80175180 001720E0 C0 1F 00 08 */ lfs f0, 8(r31) /* 80175184 001720E4 D0 1E 00 40 */ stfs f0, 0x40(r30) /* 80175188 001720E8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 8017518C 001720EC 80 01 00 34 */ lwz r0, 0x34(r1) /* 80175190 001720F0 CB E1 00 20 */ lfd f31, 0x20(r1) /* 80175194 001720F4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80175198 001720F8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8017519C 001720FC 7C 08 03 A6 */ mtlr r0 /* 801751A0 00172100 38 21 00 30 */ addi r1, r1, 0x30 /* 801751A4 00172104 4E 80 00 20 */ blr .section .sdata2, "a" .balign 8 .global lbl_805ABE90 lbl_805ABE90: # ROM: 0x3F8730 .4byte 0 .4byte 0