.include "macros.inc" .section .data .global lbl_803DAA78 lbl_803DAA78: # ROM: 0x3D7A78 .4byte 0 .4byte 0 .4byte __dt__11CScriptDoorFv .4byte Accept__11CScriptDoorFR8IVisitor .4byte PreThink__7CEntityFfR13CStateManager .4byte Think__11CScriptDoorFfR13CStateManager .4byte AcceptScriptMsg__11CScriptDoorF20EScriptObjectMessage9TUniqueIdR13CStateManager .4byte SetActive__6CActorFb .4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes .4byte AddToRenderer__11CScriptDoorCFRC14CFrustumPlanesRC13CStateManager .4byte Render__11CScriptDoorCFRC13CStateManager .4byte CanRenderUnsorted__6CActorCFRC13CStateManager .4byte CalculateRenderBounds__6CActorFv .4byte HealthInfo__6CActorFR13CStateManager .4byte GetDamageVulnerability__6CActorCFv .4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo .4byte GetTouchBounds__11CScriptDoorCFv .4byte Touch__6CActorFR6CActorR13CStateManager .4byte GetOrbitPosition__11CScriptDoorCFRC13CStateManager .4byte GetAimPosition__13CPhysicsActorCFRC13CStateManagerf .4byte GetHomingPosition__6CActorCFRC13CStateManagerf .4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager .4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei .4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager .4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager .4byte GetSortingBounds__6CActorCFRC12CTransform4f .4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventType .4byte GetCollisionPrimitive__13CPhysicsActorCFv .4byte GetPrimitiveTransform__13CPhysicsActorCFv .4byte CollidedWith__13CPhysicsActorFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager .4byte GetStepDownHeight__13CPhysicsActorCFv .4byte GetStepUpHeight__13CPhysicsActorCFv .4byte GetWeight__13CPhysicsActorCFv .global lbl_803DAAFC lbl_803DAAFC: # ROM: 0x3D7AFC .4byte lbl_8007E598 .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E7E8 .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E988 .4byte lbl_8007E93C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E6AC .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E99C .4byte lbl_8007E8B8 .section .sdata .global lbl_805A6FF0 lbl_805A6FF0: # ROM: 0x3F4990 .4byte 0x00000013 .global lbl_805A6FF4 lbl_805A6FF4: # ROM: 0x3F4994 .4byte 0x0000002B .global lbl_805A6FF8 lbl_805A6FF8: # ROM: 0x3F4998 .4byte 0x00000029 .global lbl_805A6FFC lbl_805A6FFC: # ROM: 0x3F499C .4byte 0x0000002B .global lbl_805A7000 lbl_805A7000: # ROM: 0x3F49A0 .4byte 0x0000002A .global lbl_805A7004 lbl_805A7004: # ROM: 0x3F49A4 .4byte 0x00000013 .global lbl_805A7008 lbl_805A7008: # ROM: 0x3F49A8 .4byte 0x00000029 .4byte 0 .section .sbss # CScriptDoor .global lbl_805A8E40 lbl_805A8E40: .skip 0x4 .global lbl_805A8E44 lbl_805A8E44: .skip 0x4 .section .text, "ax" .global __dt__11CScriptDoorFv __dt__11CScriptDoorFv: /* 8007DFF0 0007AF50 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8007DFF4 0007AF54 7C 08 02 A6 */ mflr r0 /* 8007DFF8 0007AF58 90 01 00 14 */ stw r0, 0x14(r1) /* 8007DFFC 0007AF5C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8007E000 0007AF60 7C 9F 23 78 */ mr r31, r4 /* 8007E004 0007AF64 93 C1 00 08 */ stw r30, 8(r1) /* 8007E008 0007AF68 7C 7E 1B 79 */ or. r30, r3, r3 /* 8007E00C 0007AF6C 41 82 00 28 */ beq lbl_8007E034 /* 8007E010 0007AF70 3C A0 80 3E */ lis r5, lbl_803DAA78@ha /* 8007E014 0007AF74 38 80 00 00 */ li r4, 0 /* 8007E018 0007AF78 38 05 AA 78 */ addi r0, r5, lbl_803DAA78@l /* 8007E01C 0007AF7C 90 1E 00 00 */ stw r0, 0(r30) /* 8007E020 0007AF80 48 09 E3 F5 */ bl __dt__13CPhysicsActorFv /* 8007E024 0007AF84 7F E0 07 35 */ extsh. r0, r31 /* 8007E028 0007AF88 40 81 00 0C */ ble lbl_8007E034 /* 8007E02C 0007AF8C 7F C3 F3 78 */ mr r3, r30 /* 8007E030 0007AF90 48 29 79 01 */ bl Free__7CMemoryFPCv lbl_8007E034: /* 8007E034 0007AF94 80 01 00 14 */ lwz r0, 0x14(r1) /* 8007E038 0007AF98 7F C3 F3 78 */ mr r3, r30 /* 8007E03C 0007AF9C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8007E040 0007AFA0 83 C1 00 08 */ lwz r30, 8(r1) /* 8007E044 0007AFA4 7C 08 03 A6 */ mtlr r0 /* 8007E048 0007AFA8 38 21 00 10 */ addi r1, r1, 0x10 /* 8007E04C 0007AFAC 4E 80 00 20 */ blr .global Accept__11CScriptDoorFR8IVisitor Accept__11CScriptDoorFR8IVisitor: /* 8007E050 0007AFB0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8007E054 0007AFB4 7C 08 02 A6 */ mflr r0 /* 8007E058 0007AFB8 90 01 00 14 */ stw r0, 0x14(r1) /* 8007E05C 0007AFBC 7C 60 1B 78 */ mr r0, r3 /* 8007E060 0007AFC0 7C 83 23 78 */ mr r3, r4 /* 8007E064 0007AFC4 81 84 00 00 */ lwz r12, 0(r4) /* 8007E068 0007AFC8 7C 04 03 78 */ mr r4, r0 /* 8007E06C 0007AFCC 81 8C 00 84 */ lwz r12, 0x84(r12) /* 8007E070 0007AFD0 7D 89 03 A6 */ mtctr r12 /* 8007E074 0007AFD4 4E 80 04 21 */ bctrl /* 8007E078 0007AFD8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8007E07C 0007AFDC 7C 08 03 A6 */ mtlr r0 /* 8007E080 0007AFE0 38 21 00 10 */ addi r1, r1, 0x10 /* 8007E084 0007AFE4 4E 80 00 20 */ blr .global Render__11CScriptDoorCFRC13CStateManager Render__11CScriptDoorCFRC13CStateManager: /* 8007E088 0007AFE8 4E 80 00 20 */ blr .global AddToRenderer__11CScriptDoorCFRC14CFrustumPlanesRC13CStateManager AddToRenderer__11CScriptDoorCFRC14CFrustumPlanesRC13CStateManager: /* 8007E08C 0007AFEC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8007E090 0007AFF0 7C 08 02 A6 */ mflr r0 /* 8007E094 0007AFF4 90 01 00 14 */ stw r0, 0x14(r1) /* 8007E098 0007AFF8 88 03 00 E4 */ lbz r0, 0xe4(r3) /* 8007E09C 0007AFFC 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 8007E0A0 0007B000 40 82 00 0C */ bne lbl_8007E0AC /* 8007E0A4 0007B004 7C A4 2B 78 */ mr r4, r5 /* 8007E0A8 0007B008 48 09 C4 41 */ bl Render__13CPhysicsActorCFRC13CStateManager lbl_8007E0AC: /* 8007E0AC 0007B00C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8007E0B0 0007B010 7C 08 03 A6 */ mtlr r0 /* 8007E0B4 0007B014 38 21 00 10 */ addi r1, r1, 0x10 /* 8007E0B8 0007B018 4E 80 00 20 */ blr .global ForceClosed__11CScriptDoorFR13CStateManager ForceClosed__11CScriptDoorFR13CStateManager: /* 8007E0BC 0007B01C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8007E0C0 0007B020 7C 08 02 A6 */ mflr r0 /* 8007E0C4 0007B024 90 01 00 24 */ stw r0, 0x24(r1) /* 8007E0C8 0007B028 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8007E0CC 0007B02C 7C 7F 1B 78 */ mr r31, r3 /* 8007E0D0 0007B030 93 C1 00 18 */ stw r30, 0x18(r1) /* 8007E0D4 0007B034 7C 9E 23 78 */ mr r30, r4 /* 8007E0D8 0007B038 88 C3 02 A8 */ lbz r6, 0x2a8(r3) /* 8007E0DC 0007B03C 54 C0 DF FF */ rlwinm. r0, r6, 0x1b, 0x1f, 0x1f /* 8007E0E0 0007B040 41 82 00 9C */ beq lbl_8007E17C /* 8007E0E4 0007B044 38 60 00 00 */ li r3, 0 /* 8007E0E8 0007B048 38 81 00 14 */ addi r4, r1, 0x14 /* 8007E0EC 0007B04C 50 66 2E B4 */ rlwimi r6, r3, 5, 0x1a, 0x1a /* 8007E0F0 0007B050 98 DF 02 A8 */ stb r6, 0x2a8(r31) /* 8007E0F4 0007B054 88 1F 02 A8 */ lbz r0, 0x2a8(r31) /* 8007E0F8 0007B058 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8007E0FC 0007B05C 98 1F 02 A8 */ stb r0, 0x2a8(r31) /* 8007E100 0007B060 A0 1F 00 08 */ lhz r0, 8(r31) /* 8007E104 0007B064 B0 01 00 14 */ sth r0, 0x14(r1) /* 8007E108 0007B068 80 7E 08 70 */ lwz r3, 0x870(r30) /* 8007E10C 0007B06C B0 01 00 10 */ sth r0, 0x10(r1) /* 8007E110 0007B070 80 63 00 80 */ lwz r3, 0x80(r3) /* 8007E114 0007B074 48 00 50 05 */ bl DoorClosing__11CBallCameraF9TUniqueId /* 8007E118 0007B078 A0 1F 00 08 */ lhz r0, 8(r31) /* 8007E11C 0007B07C 38 81 00 0C */ addi r4, r1, 0xc /* 8007E120 0007B080 B0 01 00 0C */ sth r0, 0xc(r1) /* 8007E124 0007B084 80 7E 08 70 */ lwz r3, 0x870(r30) /* 8007E128 0007B088 B0 01 00 08 */ sth r0, 8(r1) /* 8007E12C 0007B08C 80 63 00 80 */ lwz r3, 0x80(r3) /* 8007E130 0007B090 48 00 4F C5 */ bl DoorClosed__11CBallCameraF9TUniqueId /* 8007E134 0007B094 7F E3 FB 78 */ mr r3, r31 /* 8007E138 0007B098 38 80 00 01 */ li r4, 1 /* 8007E13C 0007B09C 48 00 08 95 */ bl SetDoorAnimation__11CScriptDoorFQ211CScriptDoor13EDoorAnimType /* 8007E140 0007B0A0 7F E3 FB 78 */ mr r3, r31 /* 8007E144 0007B0A4 7F C5 F3 78 */ mr r5, r30 /* 8007E148 0007B0A8 38 80 00 02 */ li r4, 2 /* 8007E14C 0007B0AC 38 C0 FF FF */ li r6, -1 /* 8007E150 0007B0B0 4B FD 2F 71 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 8007E154 0007B0B4 88 1F 02 A8 */ lbz r0, 0x2a8(r31) /* 8007E158 0007B0B8 38 60 00 00 */ li r3, 0 /* 8007E15C 0007B0BC 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 8007E160 0007B0C0 C0 02 89 68 */ lfs f0, lbl_805AA688@sda21(r2) /* 8007E164 0007B0C4 98 1F 02 A8 */ stb r0, 0x2a8(r31) /* 8007E168 0007B0C8 D0 1F 02 5C */ stfs f0, 0x25c(r31) /* 8007E16C 0007B0CC 88 1F 02 A8 */ lbz r0, 0x2a8(r31) /* 8007E170 0007B0D0 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 8007E174 0007B0D4 98 1F 02 A8 */ stb r0, 0x2a8(r31) /* 8007E178 0007B0D8 48 00 00 34 */ b lbl_8007E1AC lbl_8007E17C: /* 8007E17C 0007B0DC 54 C0 E7 FF */ rlwinm. r0, r6, 0x1c, 0x1f, 0x1f /* 8007E180 0007B0E0 41 82 00 2C */ beq lbl_8007E1AC /* 8007E184 0007B0E4 38 E0 00 00 */ li r7, 0 /* 8007E188 0007B0E8 7F C5 F3 78 */ mr r5, r30 /* 8007E18C 0007B0EC 50 E6 26 F6 */ rlwimi r6, r7, 4, 0x1b, 0x1b /* 8007E190 0007B0F0 38 80 00 02 */ li r4, 2 /* 8007E194 0007B0F4 98 DF 02 A8 */ stb r6, 0x2a8(r31) /* 8007E198 0007B0F8 38 C0 FF FF */ li r6, -1 /* 8007E19C 0007B0FC 88 1F 02 A8 */ lbz r0, 0x2a8(r31) /* 8007E1A0 0007B100 50 E0 0F BC */ rlwimi r0, r7, 1, 0x1e, 0x1e /* 8007E1A4 0007B104 98 1F 02 A8 */ stb r0, 0x2a8(r31) /* 8007E1A8 0007B108 4B FD 2F 19 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage lbl_8007E1AC: /* 8007E1AC 0007B10C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8007E1B0 0007B110 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8007E1B4 0007B114 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8007E1B8 0007B118 7C 08 03 A6 */ mtlr r0 /* 8007E1BC 0007B11C 38 21 00 20 */ addi r1, r1, 0x20 /* 8007E1C0 0007B120 4E 80 00 20 */ blr .global IsConnectedToArea__11CScriptDoorCFRC13CStateManager7TAreaId IsConnectedToArea__11CScriptDoorCFRC13CStateManager7TAreaId: /* 8007E1C4 0007B124 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8007E1C8 0007B128 7C 08 02 A6 */ mflr r0 /* 8007E1CC 0007B12C 90 01 00 34 */ stw r0, 0x34(r1) /* 8007E1D0 0007B130 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8007E1D4 0007B134 7C BF 2B 78 */ mr r31, r5 /* 8007E1D8 0007B138 93 C1 00 28 */ stw r30, 0x28(r1) /* 8007E1DC 0007B13C 7C 9E 23 78 */ mr r30, r4 /* 8007E1E0 0007B140 38 81 00 08 */ addi r4, r1, 8 /* 8007E1E4 0007B144 A0 03 02 82 */ lhz r0, 0x282(r3) /* 8007E1E8 0007B148 7F C3 F3 78 */ mr r3, r30 /* 8007E1EC 0007B14C B0 01 00 08 */ sth r0, 8(r1) /* 8007E1F0 0007B150 4B FC E3 B5 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8007E1F4 0007B154 7C 64 1B 78 */ mr r4, r3 /* 8007E1F8 0007B158 38 61 00 18 */ addi r3, r1, 0x18 /* 8007E1FC 0007B15C 48 02 C2 09 */ bl "__ct__25TCastToPtr<11CScriptDock>FP7CEntity" /* 8007E200 0007B160 80 63 00 04 */ lwz r3, 4(r3) /* 8007E204 0007B164 28 03 00 00 */ cmplwi r3, 0 /* 8007E208 0007B168 41 82 00 78 */ beq lbl_8007E280 /* 8007E20C 0007B16C 80 C3 02 60 */ lwz r6, 0x260(r3) /* 8007E210 0007B170 80 1F 00 00 */ lwz r0, 0(r31) /* 8007E214 0007B174 7C 06 00 00 */ cmpw r6, r0 /* 8007E218 0007B178 40 82 00 0C */ bne lbl_8007E224 /* 8007E21C 0007B17C 38 60 00 01 */ li r3, 1 /* 8007E220 0007B180 48 00 00 64 */ b lbl_8007E284 lbl_8007E224: /* 8007E224 0007B184 80 BE 08 50 */ lwz r5, 0x850(r30) /* 8007E228 0007B188 54 C4 18 38 */ slwi r4, r6, 3 /* 8007E22C 0007B18C 80 03 02 5C */ lwz r0, 0x25c(r3) /* 8007E230 0007B190 38 84 00 04 */ addi r4, r4, 4 /* 8007E234 0007B194 80 A5 00 20 */ lwz r5, 0x20(r5) /* 8007E238 0007B198 1C 00 00 4C */ mulli r0, r0, 0x4c /* 8007E23C 0007B19C 90 C1 00 10 */ stw r6, 0x10(r1) /* 8007E240 0007B1A0 7C A5 20 2E */ lwzx r5, r5, r4 /* 8007E244 0007B1A4 7F C4 F3 78 */ mr r4, r30 /* 8007E248 0007B1A8 90 C1 00 14 */ stw r6, 0x14(r1) /* 8007E24C 0007B1AC 80 A5 00 D8 */ lwz r5, 0xd8(r5) /* 8007E250 0007B1B0 7F C5 02 14 */ add r30, r5, r0 /* 8007E254 0007B1B4 48 04 56 B1 */ bl GetDockReference__11CScriptDockCFv /* 8007E258 0007B1B8 7C 65 1B 78 */ mr r5, r3 /* 8007E25C 0007B1BC 7F C4 F3 78 */ mr r4, r30 /* 8007E260 0007B1C0 38 61 00 0C */ addi r3, r1, 0xc /* 8007E264 0007B1C4 4B FE 10 C1 */ bl GetConnectedAreaId__Q29IGameArea4DockCFi /* 8007E268 0007B1C8 80 61 00 0C */ lwz r3, 0xc(r1) /* 8007E26C 0007B1CC 80 1F 00 00 */ lwz r0, 0(r31) /* 8007E270 0007B1D0 7C 03 00 00 */ cmpw r3, r0 /* 8007E274 0007B1D4 40 82 00 0C */ bne lbl_8007E280 /* 8007E278 0007B1D8 38 60 00 01 */ li r3, 1 /* 8007E27C 0007B1DC 48 00 00 08 */ b lbl_8007E284 lbl_8007E280: /* 8007E280 0007B1E0 38 60 00 00 */ li r3, 0 lbl_8007E284: /* 8007E284 0007B1E4 80 01 00 34 */ lwz r0, 0x34(r1) /* 8007E288 0007B1E8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8007E28C 0007B1EC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8007E290 0007B1F0 7C 08 03 A6 */ mtlr r0 /* 8007E294 0007B1F4 38 21 00 30 */ addi r1, r1, 0x30 /* 8007E298 0007B1F8 4E 80 00 20 */ blr .global Think__11CScriptDoorFfR13CStateManager Think__11CScriptDoorFfR13CStateManager: /* 8007E29C 0007B1FC 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8007E2A0 0007B200 7C 08 02 A6 */ mflr r0 /* 8007E2A4 0007B204 90 01 00 54 */ stw r0, 0x54(r1) /* 8007E2A8 0007B208 DB E1 00 40 */ stfd f31, 0x40(r1) /* 8007E2AC 0007B20C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 8007E2B0 0007B210 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8007E2B4 0007B214 93 C1 00 38 */ stw r30, 0x38(r1) /* 8007E2B8 0007B218 88 03 00 30 */ lbz r0, 0x30(r3) /* 8007E2BC 0007B21C FF E0 08 90 */ fmr f31, f1 /* 8007E2C0 0007B220 7C 7E 1B 78 */ mr r30, r3 /* 8007E2C4 0007B224 7C 9F 23 78 */ mr r31, r4 /* 8007E2C8 0007B228 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8007E2CC 0007B22C 41 82 02 64 */ beq lbl_8007E530 /* 8007E2D0 0007B230 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E2D4 0007B234 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 8007E2D8 0007B238 40 82 00 1C */ bne lbl_8007E2F4 /* 8007E2DC 0007B23C C0 3E 02 5C */ lfs f1, 0x25c(r30) /* 8007E2E0 0007B240 C0 02 89 6C */ lfs f0, lbl_805AA68C@sda21(r2) /* 8007E2E4 0007B244 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8007E2E8 0007B248 40 80 00 0C */ bge lbl_8007E2F4 /* 8007E2EC 0007B24C EC 01 F8 2A */ fadds f0, f1, f31 /* 8007E2F0 0007B250 D0 1E 02 5C */ stfs f0, 0x25c(r30) lbl_8007E2F4: /* 8007E2F4 0007B254 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E2F8 0007B258 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 8007E2FC 0007B25C 41 82 00 40 */ beq lbl_8007E33C /* 8007E300 0007B260 7F C3 F3 78 */ mr r3, r30 /* 8007E304 0007B264 7F E4 FB 78 */ mr r4, r31 /* 8007E308 0007B268 48 00 0A 45 */ bl GetDoorOpenCondition__11CScriptDoorFR13CStateManager /* 8007E30C 0007B26C 2C 03 00 02 */ cmpwi r3, 2 /* 8007E310 0007B270 40 82 00 2C */ bne lbl_8007E33C /* 8007E314 0007B274 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E318 0007B278 38 60 00 00 */ li r3, 0 /* 8007E31C 0007B27C 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 8007E320 0007B280 7F C3 F3 78 */ mr r3, r30 /* 8007E324 0007B284 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007E328 0007B288 7F E5 FB 78 */ mr r5, r31 /* 8007E32C 0007B28C 38 81 00 18 */ addi r4, r1, 0x18 /* 8007E330 0007B290 A0 1E 02 80 */ lhz r0, 0x280(r30) /* 8007E334 0007B294 B0 01 00 18 */ sth r0, 0x18(r1) /* 8007E338 0007B298 48 00 07 2D */ bl OpenDoor__11CScriptDoorF9TUniqueIdR13CStateManager lbl_8007E33C: /* 8007E33C 0007B29C 88 7E 02 A8 */ lbz r3, 0x2a8(r30) /* 8007E340 0007B2A0 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f /* 8007E344 0007B2A4 41 82 00 74 */ beq lbl_8007E3B8 /* 8007E348 0007B2A8 38 00 00 00 */ li r0, 0 /* 8007E34C 0007B2AC 38 81 00 14 */ addi r4, r1, 0x14 /* 8007E350 0007B2B0 50 03 36 72 */ rlwimi r3, r0, 6, 0x19, 0x19 /* 8007E354 0007B2B4 98 7E 02 A8 */ stb r3, 0x2a8(r30) /* 8007E358 0007B2B8 A0 1E 00 08 */ lhz r0, 8(r30) /* 8007E35C 0007B2BC B0 01 00 14 */ sth r0, 0x14(r1) /* 8007E360 0007B2C0 80 7F 08 70 */ lwz r3, 0x870(r31) /* 8007E364 0007B2C4 B0 01 00 10 */ sth r0, 0x10(r1) /* 8007E368 0007B2C8 80 63 00 80 */ lwz r3, 0x80(r3) /* 8007E36C 0007B2CC 48 00 4D 89 */ bl DoorClosed__11CBallCameraF9TUniqueId /* 8007E370 0007B2D0 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E374 0007B2D4 38 E0 00 00 */ li r7, 0 /* 8007E378 0007B2D8 50 E0 1F 38 */ rlwimi r0, r7, 3, 0x1c, 0x1c /* 8007E37C 0007B2DC 7F C3 F3 78 */ mr r3, r30 /* 8007E380 0007B2E0 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007E384 0007B2E4 7F E5 FB 78 */ mr r5, r31 /* 8007E388 0007B2E8 38 80 00 02 */ li r4, 2 /* 8007E38C 0007B2EC 38 C0 00 05 */ li r6, 5 /* 8007E390 0007B2F0 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E394 0007B2F4 50 E0 3E 30 */ rlwimi r0, r7, 7, 0x18, 0x18 /* 8007E398 0007B2F8 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007E39C 0007B2FC 4B FD 2D 25 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 8007E3A0 0007B300 C0 02 89 68 */ lfs f0, lbl_805AA688@sda21(r2) /* 8007E3A4 0007B304 38 60 00 00 */ li r3, 0 /* 8007E3A8 0007B308 D0 1E 02 5C */ stfs f0, 0x25c(r30) /* 8007E3AC 0007B30C 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E3B0 0007B310 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 8007E3B4 0007B314 98 1E 02 A8 */ stb r0, 0x2a8(r30) lbl_8007E3B8: /* 8007E3B8 0007B318 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E3BC 0007B31C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 8007E3C0 0007B320 41 82 00 34 */ beq lbl_8007E3F4 /* 8007E3C4 0007B324 80 7E 00 64 */ lwz r3, 0x64(r30) /* 8007E3C8 0007B328 48 09 78 1D */ bl IsAnimating__10CModelDataCFv /* 8007E3CC 0007B32C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8007E3D0 0007B330 40 82 00 24 */ bne lbl_8007E3F4 /* 8007E3D4 0007B334 7F C3 F3 78 */ mr r3, r30 /* 8007E3D8 0007B338 7F E8 FB 78 */ mr r8, r31 /* 8007E3DC 0007B33C 38 80 00 13 */ li r4, 0x13 /* 8007E3E0 0007B340 38 A0 00 2A */ li r5, 0x2a /* 8007E3E4 0007B344 38 C0 00 29 */ li r6, 0x29 /* 8007E3E8 0007B348 38 E0 00 27 */ li r7, 0x27 /* 8007E3EC 0007B34C 4B FD 58 FD */ bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypes14EMaterialTypes14EMaterialTypesR13CStateManager /* 8007E3F0 0007B350 48 00 00 E4 */ b lbl_8007E4D4 lbl_8007E3F4: /* 8007E3F4 0007B354 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E3F8 0007B358 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8007E3FC 0007B35C 41 82 00 88 */ beq lbl_8007E484 /* 8007E400 0007B360 80 7E 00 64 */ lwz r3, 0x64(r30) /* 8007E404 0007B364 48 09 77 E1 */ bl IsAnimating__10CModelDataCFv /* 8007E408 0007B368 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8007E40C 0007B36C 40 82 00 78 */ bne lbl_8007E484 /* 8007E410 0007B370 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E414 0007B374 38 60 00 00 */ li r3, 0 /* 8007E418 0007B378 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8007E41C 0007B37C 38 81 00 0C */ addi r4, r1, 0xc /* 8007E420 0007B380 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007E424 0007B384 A0 1E 00 08 */ lhz r0, 8(r30) /* 8007E428 0007B388 B0 01 00 0C */ sth r0, 0xc(r1) /* 8007E42C 0007B38C 80 7F 08 70 */ lwz r3, 0x870(r31) /* 8007E430 0007B390 B0 01 00 08 */ sth r0, 8(r1) /* 8007E434 0007B394 80 63 00 80 */ lwz r3, 0x80(r3) /* 8007E438 0007B398 48 00 4C BD */ bl DoorClosed__11CBallCameraF9TUniqueId /* 8007E43C 0007B39C 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E440 0007B3A0 38 E0 00 00 */ li r7, 0 /* 8007E444 0007B3A4 50 E0 1F 38 */ rlwimi r0, r7, 3, 0x1c, 0x1c /* 8007E448 0007B3A8 7F C3 F3 78 */ mr r3, r30 /* 8007E44C 0007B3AC 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007E450 0007B3B0 7F E5 FB 78 */ mr r5, r31 /* 8007E454 0007B3B4 38 80 00 02 */ li r4, 2 /* 8007E458 0007B3B8 38 C0 FF FF */ li r6, -1 /* 8007E45C 0007B3BC 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E460 0007B3C0 50 E0 26 F6 */ rlwimi r0, r7, 4, 0x1b, 0x1b /* 8007E464 0007B3C4 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007E468 0007B3C8 4B FD 2C 59 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 8007E46C 0007B3CC C0 02 89 68 */ lfs f0, lbl_805AA688@sda21(r2) /* 8007E470 0007B3D0 38 60 00 00 */ li r3, 0 /* 8007E474 0007B3D4 D0 1E 02 5C */ stfs f0, 0x25c(r30) /* 8007E478 0007B3D8 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E47C 0007B3DC 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 8007E480 0007B3E0 98 1E 02 A8 */ stb r0, 0x2a8(r30) lbl_8007E484: /* 8007E484 0007B3E4 7F C3 F3 78 */ mr r3, r30 /* 8007E488 0007B3E8 4B FD 50 41 */ bl GetScannableObjectInfo__6CActorCFv /* 8007E48C 0007B3EC 28 03 00 00 */ cmplwi r3, 0 /* 8007E490 0007B3F0 41 82 00 28 */ beq lbl_8007E4B8 /* 8007E494 0007B3F4 7F C3 F3 78 */ mr r3, r30 /* 8007E498 0007B3F8 7F E9 FB 78 */ mr r9, r31 /* 8007E49C 0007B3FC 38 80 00 13 */ li r4, 0x13 /* 8007E4A0 0007B400 38 A0 00 02 */ li r5, 2 /* 8007E4A4 0007B404 38 C0 00 2A */ li r6, 0x2a /* 8007E4A8 0007B408 38 E0 00 29 */ li r7, 0x29 /* 8007E4AC 0007B40C 39 00 00 27 */ li r8, 0x27 /* 8007E4B0 0007B410 4B FD 5B 41 */ bl AddMaterial__6CActorF14EMaterialTypes14EMaterialTypes14EMaterialTypes14EMaterialTypes14EMaterialTypesR13CStateManager /* 8007E4B4 0007B414 48 00 00 20 */ b lbl_8007E4D4 lbl_8007E4B8: /* 8007E4B8 0007B418 7F C3 F3 78 */ mr r3, r30 /* 8007E4BC 0007B41C 7F E8 FB 78 */ mr r8, r31 /* 8007E4C0 0007B420 38 80 00 13 */ li r4, 0x13 /* 8007E4C4 0007B424 38 A0 00 02 */ li r5, 2 /* 8007E4C8 0007B428 38 C0 00 2A */ li r6, 0x2a /* 8007E4CC 0007B42C 38 E0 00 29 */ li r7, 0x29 /* 8007E4D0 0007B430 4B FD 5C 31 */ bl AddMaterial__6CActorF14EMaterialTypes14EMaterialTypes14EMaterialTypes14EMaterialTypesR13CStateManager lbl_8007E4D4: /* 8007E4D4 0007B434 80 7E 00 64 */ lwz r3, 0x64(r30) /* 8007E4D8 0007B438 48 09 77 0D */ bl IsAnimating__10CModelDataCFv /* 8007E4DC 0007B43C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8007E4E0 0007B440 41 82 00 30 */ beq lbl_8007E510 /* 8007E4E4 0007B444 80 7E 00 64 */ lwz r3, 0x64(r30) /* 8007E4E8 0007B448 80 9E 02 60 */ lwz r4, 0x260(r30) /* 8007E4EC 0007B44C 48 09 70 41 */ bl GetAnimationDuration__10CModelDataCFi /* 8007E4F0 0007B450 C0 1E 02 58 */ lfs f0, 0x258(r30) /* 8007E4F4 0007B454 7F C4 F3 78 */ mr r4, r30 /* 8007E4F8 0007B458 7F E5 FB 78 */ mr r5, r31 /* 8007E4FC 0007B45C 38 61 00 1C */ addi r3, r1, 0x1c /* 8007E500 0007B460 EC 01 00 24 */ fdivs f0, f1, f0 /* 8007E504 0007B464 38 C0 00 01 */ li r6, 1 /* 8007E508 0007B468 EC 20 07 F2 */ fmuls f1, f0, f31 /* 8007E50C 0007B46C 4B FD 6D 91 */ bl UpdateAnimation__6CActorFfR13CStateManagerb lbl_8007E510: /* 8007E510 0007B470 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 8007E514 0007B474 88 1E 00 E7 */ lbz r0, 0xe7(r30) /* 8007E518 0007B478 80 63 00 00 */ lwz r3, 0(r3) /* 8007E51C 0007B47C 80 63 00 14 */ lwz r3, 0x14(r3) /* 8007E520 0007B480 20 63 00 02 */ subfic r3, r3, 2 /* 8007E524 0007B484 7C 63 00 34 */ cntlzw r3, r3 /* 8007E528 0007B488 50 60 DF FE */ rlwimi r0, r3, 0x1b, 0x1f, 0x1f /* 8007E52C 0007B48C 98 1E 00 E7 */ stb r0, 0xe7(r30) lbl_8007E530: /* 8007E530 0007B490 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 8007E534 0007B494 80 01 00 54 */ lwz r0, 0x54(r1) /* 8007E538 0007B498 CB E1 00 40 */ lfd f31, 0x40(r1) /* 8007E53C 0007B49C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8007E540 0007B4A0 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8007E544 0007B4A4 7C 08 03 A6 */ mtlr r0 /* 8007E548 0007B4A8 38 21 00 50 */ addi r1, r1, 0x50 /* 8007E54C 0007B4AC 4E 80 00 20 */ blr .global AcceptScriptMsg__11CScriptDoorF20EScriptObjectMessage9TUniqueIdR13CStateManager AcceptScriptMsg__11CScriptDoorF20EScriptObjectMessage9TUniqueIdR13CStateManager: /* 8007E550 0007B4B0 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 8007E554 0007B4B4 7C 08 02 A6 */ mflr r0 /* 8007E558 0007B4B8 90 01 00 A4 */ stw r0, 0xa4(r1) /* 8007E55C 0007B4BC 38 04 FF FD */ addi r0, r4, -3 /* 8007E560 0007B4C0 28 00 00 20 */ cmplwi r0, 0x20 /* 8007E564 0007B4C4 93 E1 00 9C */ stw r31, 0x9c(r1) /* 8007E568 0007B4C8 7C DF 33 78 */ mr r31, r6 /* 8007E56C 0007B4CC 93 C1 00 98 */ stw r30, 0x98(r1) /* 8007E570 0007B4D0 7C BE 2B 78 */ mr r30, r5 /* 8007E574 0007B4D4 93 A1 00 94 */ stw r29, 0x94(r1) /* 8007E578 0007B4D8 7C 7D 1B 78 */ mr r29, r3 /* 8007E57C 0007B4DC 41 81 04 20 */ bgt lbl_8007E99C /* 8007E580 0007B4E0 3C 60 80 3E */ lis r3, lbl_803DAAFC@ha /* 8007E584 0007B4E4 54 00 10 3A */ slwi r0, r0, 2 /* 8007E588 0007B4E8 38 63 AA FC */ addi r3, r3, lbl_803DAAFC@l /* 8007E58C 0007B4EC 7C 03 00 2E */ lwzx r0, r3, r0 /* 8007E590 0007B4F0 7C 09 03 A6 */ mtctr r0 /* 8007E594 0007B4F4 4E 80 04 20 */ bctr .global lbl_8007E598 lbl_8007E598: /* 8007E598 0007B4F8 88 1D 00 30 */ lbz r0, 0x30(r29) /* 8007E59C 0007B4FC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8007E5A0 0007B500 41 82 04 14 */ beq lbl_8007E9B4 /* 8007E5A4 0007B504 A0 7D 02 7C */ lhz r3, 0x27c(r29) /* 8007E5A8 0007B508 A0 AD A3 8C */ lhz r5, kInvalidUniqueId@sda21(r13) /* 8007E5AC 0007B50C 7C 03 28 40 */ cmplw r3, r5 /* 8007E5B0 0007B510 41 82 00 10 */ beq lbl_8007E5C0 /* 8007E5B4 0007B514 A0 1E 00 00 */ lhz r0, 0(r30) /* 8007E5B8 0007B518 7C 03 00 40 */ cmplw r3, r0 /* 8007E5BC 0007B51C 40 82 03 F8 */ bne lbl_8007E9B4 lbl_8007E5C0: /* 8007E5C0 0007B520 88 9D 02 A8 */ lbz r4, 0x2a8(r29) /* 8007E5C4 0007B524 54 80 DF FF */ rlwinm. r0, r4, 0x1b, 0x1f, 0x1f /* 8007E5C8 0007B528 41 82 00 B8 */ beq lbl_8007E680 /* 8007E5CC 0007B52C A0 1D 02 7E */ lhz r0, 0x27e(r29) /* 8007E5D0 0007B530 7C 00 28 40 */ cmplw r0, r5 /* 8007E5D4 0007B534 41 82 00 70 */ beq lbl_8007E644 /* 8007E5D8 0007B538 88 0D A2 84 */ lbz r0, lbl_805A8E44@sda21(r13) /* 8007E5DC 0007B53C 7C 00 07 75 */ extsb. r0, r0 /* 8007E5E0 0007B540 40 82 00 14 */ bne lbl_8007E5F4 /* 8007E5E4 0007B544 38 60 00 00 */ li r3, 0 /* 8007E5E8 0007B548 38 00 00 01 */ li r0, 1 /* 8007E5EC 0007B54C 90 6D A2 80 */ stw r3, lbl_805A8E40@sda21(r13) /* 8007E5F0 0007B550 98 0D A2 84 */ stb r0, lbl_805A8E44@sda21(r13) lbl_8007E5F4: /* 8007E5F4 0007B554 A0 1D 02 7E */ lhz r0, 0x27e(r29) /* 8007E5F8 0007B558 7F E3 FB 78 */ mr r3, r31 /* 8007E5FC 0007B55C 38 81 00 54 */ addi r4, r1, 0x54 /* 8007E600 0007B560 B0 01 00 54 */ sth r0, 0x54(r1) /* 8007E604 0007B564 4B FC DF 71 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8007E608 0007B568 7C 64 1B 79 */ or. r4, r3, r3 /* 8007E60C 0007B56C 41 82 00 38 */ beq lbl_8007E644 /* 8007E610 0007B570 80 CD A2 80 */ lwz r6, lbl_805A8E40@sda21(r13) /* 8007E614 0007B574 7F E3 FB 78 */ mr r3, r31 /* 8007E618 0007B578 38 A1 00 50 */ addi r5, r1, 0x50 /* 8007E61C 0007B57C 38 06 00 01 */ addi r0, r6, 1 /* 8007E620 0007B580 38 C0 00 03 */ li r6, 3 /* 8007E624 0007B584 90 0D A2 80 */ stw r0, lbl_805A8E40@sda21(r13) /* 8007E628 0007B588 A0 1D 00 08 */ lhz r0, 8(r29) /* 8007E62C 0007B58C B0 01 00 4C */ sth r0, 0x4c(r1) /* 8007E630 0007B590 B0 01 00 50 */ sth r0, 0x50(r1) /* 8007E634 0007B594 4B FC 58 9D */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage /* 8007E638 0007B598 80 6D A2 80 */ lwz r3, lbl_805A8E40@sda21(r13) /* 8007E63C 0007B59C 38 03 FF FF */ addi r0, r3, -1 /* 8007E640 0007B5A0 90 0D A2 80 */ stw r0, lbl_805A8E40@sda21(r13) lbl_8007E644: /* 8007E644 0007B5A4 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8007E648 0007B5A8 38 60 00 00 */ li r3, 0 /* 8007E64C 0007B5AC 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 8007E650 0007B5B0 7F A3 EB 78 */ mr r3, r29 /* 8007E654 0007B5B4 98 1D 02 A8 */ stb r0, 0x2a8(r29) /* 8007E658 0007B5B8 38 80 00 01 */ li r4, 1 /* 8007E65C 0007B5BC 48 00 03 75 */ bl SetDoorAnimation__11CScriptDoorFQ211CScriptDoor13EDoorAnimType /* 8007E660 0007B5C0 A0 1D 00 08 */ lhz r0, 8(r29) /* 8007E664 0007B5C4 38 81 00 48 */ addi r4, r1, 0x48 /* 8007E668 0007B5C8 B0 01 00 48 */ sth r0, 0x48(r1) /* 8007E66C 0007B5CC 80 7F 08 70 */ lwz r3, 0x870(r31) /* 8007E670 0007B5D0 B0 01 00 44 */ sth r0, 0x44(r1) /* 8007E674 0007B5D4 80 63 00 80 */ lwz r3, 0x80(r3) /* 8007E678 0007B5D8 48 00 4A A1 */ bl DoorClosing__11CBallCameraF9TUniqueId /* 8007E67C 0007B5DC 48 00 03 38 */ b lbl_8007E9B4 lbl_8007E680: /* 8007E680 0007B5E0 54 80 E7 FF */ rlwinm. r0, r4, 0x1c, 0x1f, 0x1f /* 8007E684 0007B5E4 41 82 03 30 */ beq lbl_8007E9B4 /* 8007E688 0007B5E8 38 00 00 00 */ li r0, 0 /* 8007E68C 0007B5EC 7F A3 EB 78 */ mr r3, r29 /* 8007E690 0007B5F0 50 04 26 F6 */ rlwimi r4, r0, 4, 0x1b, 0x1b /* 8007E694 0007B5F4 7F E5 FB 78 */ mr r5, r31 /* 8007E698 0007B5F8 98 9D 02 A8 */ stb r4, 0x2a8(r29) /* 8007E69C 0007B5FC 38 80 00 02 */ li r4, 2 /* 8007E6A0 0007B600 38 C0 FF FF */ li r6, -1 /* 8007E6A4 0007B604 4B FD 2A 1D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 8007E6A8 0007B608 48 00 03 0C */ b lbl_8007E9B4 .global lbl_8007E6AC lbl_8007E6AC: /* 8007E6AC 0007B60C A0 7D 02 7C */ lhz r3, 0x27c(r29) /* 8007E6B0 0007B610 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8007E6B4 0007B614 7C 03 00 40 */ cmplw r3, r0 /* 8007E6B8 0007B618 41 82 00 80 */ beq lbl_8007E738 /* 8007E6BC 0007B61C A0 1D 02 7C */ lhz r0, 0x27c(r29) /* 8007E6C0 0007B620 7F E3 FB 78 */ mr r3, r31 /* 8007E6C4 0007B624 38 81 00 40 */ addi r4, r1, 0x40 /* 8007E6C8 0007B628 B0 01 00 40 */ sth r0, 0x40(r1) /* 8007E6CC 0007B62C 4B FC DE A9 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8007E6D0 0007B630 7C 64 1B 78 */ mr r4, r3 /* 8007E6D4 0007B634 38 61 00 7C */ addi r3, r1, 0x7c /* 8007E6D8 0007B638 48 02 BA 19 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 8007E6DC 0007B63C 83 C3 00 04 */ lwz r30, 4(r3) /* 8007E6E0 0007B640 28 1E 00 00 */ cmplwi r30, 0 /* 8007E6E4 0007B644 41 82 02 D0 */ beq lbl_8007E9B4 /* 8007E6E8 0007B648 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E6EC 0007B64C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 8007E6F0 0007B650 41 82 02 C4 */ beq lbl_8007E9B4 /* 8007E6F4 0007B654 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8007E6F8 0007B658 38 60 00 01 */ li r3, 1 /* 8007E6FC 0007B65C 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 8007E700 0007B660 7F E3 FB 78 */ mr r3, r31 /* 8007E704 0007B664 98 1D 02 A8 */ stb r0, 0x2a8(r29) /* 8007E708 0007B668 7F C4 F3 78 */ mr r4, r30 /* 8007E70C 0007B66C 38 A1 00 3C */ addi r5, r1, 0x3c /* 8007E710 0007B670 38 C0 00 03 */ li r6, 3 /* 8007E714 0007B674 A0 1D 00 08 */ lhz r0, 8(r29) /* 8007E718 0007B678 B0 01 00 38 */ sth r0, 0x38(r1) /* 8007E71C 0007B67C B0 01 00 3C */ sth r0, 0x3c(r1) /* 8007E720 0007B680 4B FC 57 B1 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage /* 8007E724 0007B684 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E728 0007B688 38 60 00 01 */ li r3, 1 /* 8007E72C 0007B68C 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 8007E730 0007B690 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007E734 0007B694 48 00 02 80 */ b lbl_8007E9B4 lbl_8007E738: /* 8007E738 0007B698 88 9D 02 A8 */ lbz r4, 0x2a8(r29) /* 8007E73C 0007B69C 54 80 DF FF */ rlwinm. r0, r4, 0x1b, 0x1f, 0x1f /* 8007E740 0007B6A0 41 82 02 74 */ beq lbl_8007E9B4 /* 8007E744 0007B6A4 38 00 00 01 */ li r0, 1 /* 8007E748 0007B6A8 7F E3 FB 78 */ mr r3, r31 /* 8007E74C 0007B6AC 50 04 0F BC */ rlwimi r4, r0, 1, 0x1e, 0x1e /* 8007E750 0007B6B0 98 9D 02 A8 */ stb r4, 0x2a8(r29) /* 8007E754 0007B6B4 38 81 00 34 */ addi r4, r1, 0x34 /* 8007E758 0007B6B8 A0 1D 02 7E */ lhz r0, 0x27e(r29) /* 8007E75C 0007B6BC B0 01 00 34 */ sth r0, 0x34(r1) /* 8007E760 0007B6C0 4B FC DE 15 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8007E764 0007B6C4 7C 64 1B 78 */ mr r4, r3 /* 8007E768 0007B6C8 38 61 00 74 */ addi r3, r1, 0x74 /* 8007E76C 0007B6CC 48 02 B9 85 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 8007E770 0007B6D0 83 C3 00 04 */ lwz r30, 4(r3) /* 8007E774 0007B6D4 28 1E 00 00 */ cmplwi r30, 0 /* 8007E778 0007B6D8 41 82 00 34 */ beq lbl_8007E7AC /* 8007E77C 0007B6DC A0 1D 00 08 */ lhz r0, 8(r29) /* 8007E780 0007B6E0 7F E3 FB 78 */ mr r3, r31 /* 8007E784 0007B6E4 7F C4 F3 78 */ mr r4, r30 /* 8007E788 0007B6E8 38 A1 00 30 */ addi r5, r1, 0x30 /* 8007E78C 0007B6EC B0 01 00 2C */ sth r0, 0x2c(r1) /* 8007E790 0007B6F0 38 C0 00 03 */ li r6, 3 /* 8007E794 0007B6F4 B0 01 00 30 */ sth r0, 0x30(r1) /* 8007E798 0007B6F8 4B FC 57 39 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage /* 8007E79C 0007B6FC 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007E7A0 0007B700 38 60 00 01 */ li r3, 1 /* 8007E7A4 0007B704 50 60 0F BC */ rlwimi r0, r3, 1, 0x1e, 0x1e /* 8007E7A8 0007B708 98 1E 02 A8 */ stb r0, 0x2a8(r30) lbl_8007E7AC: /* 8007E7AC 0007B70C 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8007E7B0 0007B710 38 60 00 00 */ li r3, 0 /* 8007E7B4 0007B714 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 8007E7B8 0007B718 7F A3 EB 78 */ mr r3, r29 /* 8007E7BC 0007B71C 98 1D 02 A8 */ stb r0, 0x2a8(r29) /* 8007E7C0 0007B720 38 80 00 01 */ li r4, 1 /* 8007E7C4 0007B724 48 00 02 0D */ bl SetDoorAnimation__11CScriptDoorFQ211CScriptDoor13EDoorAnimType /* 8007E7C8 0007B728 A0 1D 00 08 */ lhz r0, 8(r29) /* 8007E7CC 0007B72C 38 81 00 28 */ addi r4, r1, 0x28 /* 8007E7D0 0007B730 B0 01 00 28 */ sth r0, 0x28(r1) /* 8007E7D4 0007B734 80 7F 08 70 */ lwz r3, 0x870(r31) /* 8007E7D8 0007B738 B0 01 00 24 */ sth r0, 0x24(r1) /* 8007E7DC 0007B73C 80 63 00 80 */ lwz r3, 0x80(r3) /* 8007E7E0 0007B740 48 00 49 39 */ bl DoorClosing__11CBallCameraF9TUniqueId /* 8007E7E4 0007B744 48 00 01 D0 */ b lbl_8007E9B4 .global lbl_8007E7E8 lbl_8007E7E8: /* 8007E7E8 0007B748 88 1D 00 30 */ lbz r0, 0x30(r29) /* 8007E7EC 0007B74C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8007E7F0 0007B750 41 82 01 C4 */ beq lbl_8007E9B4 /* 8007E7F4 0007B754 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8007E7F8 0007B758 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 8007E7FC 0007B75C 40 82 01 B8 */ bne lbl_8007E9B4 /* 8007E800 0007B760 A0 1E 00 00 */ lhz r0, 0(r30) /* 8007E804 0007B764 7F E3 FB 78 */ mr r3, r31 /* 8007E808 0007B768 38 81 00 20 */ addi r4, r1, 0x20 /* 8007E80C 0007B76C B0 01 00 20 */ sth r0, 0x20(r1) /* 8007E810 0007B770 4B FC DD 95 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8007E814 0007B774 7C 64 1B 78 */ mr r4, r3 /* 8007E818 0007B778 38 61 00 6C */ addi r3, r1, 0x6c /* 8007E81C 0007B77C 48 02 B8 D5 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 8007E820 0007B780 80 03 00 04 */ lwz r0, 4(r3) /* 8007E824 0007B784 28 00 00 00 */ cmplwi r0, 0 /* 8007E828 0007B788 41 82 00 0C */ beq lbl_8007E834 /* 8007E82C 0007B78C 38 60 00 02 */ li r3, 2 /* 8007E830 0007B790 48 00 00 10 */ b lbl_8007E840 lbl_8007E834: /* 8007E834 0007B794 7F A3 EB 78 */ mr r3, r29 /* 8007E838 0007B798 7F E4 FB 78 */ mr r4, r31 /* 8007E83C 0007B79C 48 00 05 11 */ bl GetDoorOpenCondition__11CScriptDoorFR13CStateManager lbl_8007E840: /* 8007E840 0007B7A0 2C 03 00 01 */ cmpwi r3, 1 /* 8007E844 0007B7A4 41 82 00 18 */ beq lbl_8007E85C /* 8007E848 0007B7A8 40 80 00 08 */ bge lbl_8007E850 /* 8007E84C 0007B7AC 48 00 00 48 */ b lbl_8007E894 lbl_8007E850: /* 8007E850 0007B7B0 2C 03 00 03 */ cmpwi r3, 3 /* 8007E854 0007B7B4 40 80 00 40 */ bge lbl_8007E894 /* 8007E858 0007B7B8 48 00 00 20 */ b lbl_8007E878 lbl_8007E85C: /* 8007E85C 0007B7BC 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8007E860 0007B7C0 38 60 00 01 */ li r3, 1 /* 8007E864 0007B7C4 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 8007E868 0007B7C8 98 1D 02 A8 */ stb r0, 0x2a8(r29) /* 8007E86C 0007B7CC A0 1E 00 00 */ lhz r0, 0(r30) /* 8007E870 0007B7D0 B0 1D 02 80 */ sth r0, 0x280(r29) /* 8007E874 0007B7D4 48 00 01 40 */ b lbl_8007E9B4 lbl_8007E878: /* 8007E878 0007B7D8 A0 1E 00 00 */ lhz r0, 0(r30) /* 8007E87C 0007B7DC 7F A3 EB 78 */ mr r3, r29 /* 8007E880 0007B7E0 7F E5 FB 78 */ mr r5, r31 /* 8007E884 0007B7E4 38 81 00 1C */ addi r4, r1, 0x1c /* 8007E888 0007B7E8 B0 01 00 1C */ sth r0, 0x1c(r1) /* 8007E88C 0007B7EC 48 00 01 D9 */ bl OpenDoor__11CScriptDoorF9TUniqueIdR13CStateManager /* 8007E890 0007B7F0 48 00 01 24 */ b lbl_8007E9B4 lbl_8007E894: /* 8007E894 0007B7F4 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8007E898 0007B7F8 38 60 00 00 */ li r3, 0 /* 8007E89C 0007B7FC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8007E8A0 0007B800 38 60 00 01 */ li r3, 1 /* 8007E8A4 0007B804 98 1D 02 A8 */ stb r0, 0x2a8(r29) /* 8007E8A8 0007B808 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8007E8AC 0007B80C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8007E8B0 0007B810 98 1D 02 A8 */ stb r0, 0x2a8(r29) /* 8007E8B4 0007B814 48 00 01 00 */ b lbl_8007E9B4 .global lbl_8007E8B8 lbl_8007E8B8: /* 8007E8B8 0007B818 83 DD 00 2C */ lwz r30, 0x2c(r29) /* 8007E8BC 0007B81C 48 00 00 64 */ b lbl_8007E920 lbl_8007E8C0: /* 8007E8C0 0007B820 80 1E 00 04 */ lwz r0, 4(r30) /* 8007E8C4 0007B824 2C 00 00 07 */ cmpwi r0, 7 /* 8007E8C8 0007B828 40 82 00 54 */ bne lbl_8007E91C /* 8007E8CC 0007B82C 80 1E 00 08 */ lwz r0, 8(r30) /* 8007E8D0 0007B830 7F E4 FB 78 */ mr r4, r31 /* 8007E8D4 0007B834 38 61 00 14 */ addi r3, r1, 0x14 /* 8007E8D8 0007B838 38 A1 00 60 */ addi r5, r1, 0x60 /* 8007E8DC 0007B83C 90 01 00 60 */ stw r0, 0x60(r1) /* 8007E8E0 0007B840 4B FC 96 3D */ bl GetIdForScript__13CStateManagerCF9TEditorId /* 8007E8E4 0007B844 A0 01 00 14 */ lhz r0, 0x14(r1) /* 8007E8E8 0007B848 7F E3 FB 78 */ mr r3, r31 /* 8007E8EC 0007B84C 38 81 00 18 */ addi r4, r1, 0x18 /* 8007E8F0 0007B850 B0 01 00 18 */ sth r0, 0x18(r1) /* 8007E8F4 0007B854 4B FC DC B1 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8007E8F8 0007B858 7C 64 1B 78 */ mr r4, r3 /* 8007E8FC 0007B85C 38 61 00 64 */ addi r3, r1, 0x64 /* 8007E900 0007B860 48 02 BB 05 */ bl "__ct__25TCastToPtr<11CScriptDock>FP7CEntity" /* 8007E904 0007B864 80 63 00 04 */ lwz r3, 4(r3) /* 8007E908 0007B868 28 03 00 00 */ cmplwi r3, 0 /* 8007E90C 0007B86C 41 82 00 10 */ beq lbl_8007E91C /* 8007E910 0007B870 A0 03 00 08 */ lhz r0, 8(r3) /* 8007E914 0007B874 B0 1D 02 82 */ sth r0, 0x282(r29) /* 8007E918 0007B878 48 00 00 9C */ b lbl_8007E9B4 lbl_8007E91C: /* 8007E91C 0007B87C 3B DE 00 0C */ addi r30, r30, 0xc lbl_8007E920: /* 8007E920 0007B880 80 1D 00 24 */ lwz r0, 0x24(r29) /* 8007E924 0007B884 80 7D 00 2C */ lwz r3, 0x2c(r29) /* 8007E928 0007B888 1C 00 00 0C */ mulli r0, r0, 0xc /* 8007E92C 0007B88C 7C 03 02 14 */ add r0, r3, r0 /* 8007E930 0007B890 7C 1E 00 40 */ cmplw r30, r0 /* 8007E934 0007B894 40 82 FF 8C */ bne lbl_8007E8C0 /* 8007E938 0007B898 48 00 00 7C */ b lbl_8007E9B4 .global lbl_8007E93C lbl_8007E93C: /* 8007E93C 0007B89C 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8007E940 0007B8A0 38 60 00 01 */ li r3, 1 /* 8007E944 0007B8A4 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8007E948 0007B8A8 7F E4 FB 78 */ mr r4, r31 /* 8007E94C 0007B8AC 98 1D 02 A8 */ stb r0, 0x2a8(r29) /* 8007E950 0007B8B0 38 61 00 58 */ addi r3, r1, 0x58 /* 8007E954 0007B8B4 38 A1 00 10 */ addi r5, r1, 0x10 /* 8007E958 0007B8B8 A0 1D 00 08 */ lhz r0, 8(r29) /* 8007E95C 0007B8BC B0 01 00 0C */ sth r0, 0xc(r1) /* 8007E960 0007B8C0 B0 01 00 10 */ sth r0, 0x10(r1) /* 8007E964 0007B8C4 4B FC 95 5D */ bl GetEditorIdForUniqueId__13CStateManagerCF9TUniqueId /* 8007E968 0007B8C8 80 01 00 58 */ lwz r0, 0x58(r1) /* 8007E96C 0007B8CC 38 81 00 5C */ addi r4, r1, 0x5c /* 8007E970 0007B8D0 38 A0 00 01 */ li r5, 1 /* 8007E974 0007B8D4 90 01 00 5C */ stw r0, 0x5c(r1) /* 8007E978 0007B8D8 80 7F 08 C0 */ lwz r3, 0x8c0(r31) /* 8007E97C 0007B8DC 80 63 00 00 */ lwz r3, 0(r3) /* 8007E980 0007B8E0 48 0E 9E 31 */ bl SetDoorVisited__13CMapWorldInfoF9TEditorIdb /* 8007E984 0007B8E4 48 00 00 30 */ b lbl_8007E9B4 .global lbl_8007E988 lbl_8007E988: /* 8007E988 0007B8E8 88 1D 02 A8 */ lbz r0, 0x2a8(r29) /* 8007E98C 0007B8EC 38 60 00 00 */ li r3, 0 /* 8007E990 0007B8F0 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8007E994 0007B8F4 98 1D 02 A8 */ stb r0, 0x2a8(r29) /* 8007E998 0007B8F8 48 00 00 1C */ b lbl_8007E9B4 .global lbl_8007E99C lbl_8007E99C: /* 8007E99C 0007B8FC A0 1E 00 00 */ lhz r0, 0(r30) /* 8007E9A0 0007B900 7F A3 EB 78 */ mr r3, r29 /* 8007E9A4 0007B904 7F E6 FB 78 */ mr r6, r31 /* 8007E9A8 0007B908 38 A1 00 08 */ addi r5, r1, 8 /* 8007E9AC 0007B90C B0 01 00 08 */ sth r0, 8(r1) /* 8007E9B0 0007B910 4B FD 4C 65 */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager lbl_8007E9B4: /* 8007E9B4 0007B914 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 8007E9B8 0007B918 83 E1 00 9C */ lwz r31, 0x9c(r1) /* 8007E9BC 0007B91C 83 C1 00 98 */ lwz r30, 0x98(r1) /* 8007E9C0 0007B920 83 A1 00 94 */ lwz r29, 0x94(r1) /* 8007E9C4 0007B924 7C 08 03 A6 */ mtlr r0 /* 8007E9C8 0007B928 38 21 00 A0 */ addi r1, r1, 0xa0 /* 8007E9CC 0007B92C 4E 80 00 20 */ blr .global SetDoorAnimation__11CScriptDoorFQ211CScriptDoor13EDoorAnimType SetDoorAnimation__11CScriptDoorFQ211CScriptDoor13EDoorAnimType: /* 8007E9D0 0007B930 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8007E9D4 0007B934 7C 08 02 A6 */ mflr r0 /* 8007E9D8 0007B938 38 A0 00 00 */ li r5, 0 /* 8007E9DC 0007B93C 90 01 00 34 */ stw r0, 0x34(r1) /* 8007E9E0 0007B940 90 83 02 60 */ stw r4, 0x260(r3) /* 8007E9E4 0007B944 80 C3 00 64 */ lwz r6, 0x64(r3) /* 8007E9E8 0007B948 28 06 00 00 */ cmplwi r6, 0 /* 8007E9EC 0007B94C 41 82 00 14 */ beq lbl_8007EA00 /* 8007E9F0 0007B950 80 06 00 10 */ lwz r0, 0x10(r6) /* 8007E9F4 0007B954 28 00 00 00 */ cmplwi r0, 0 /* 8007E9F8 0007B958 41 82 00 08 */ beq lbl_8007EA00 /* 8007E9FC 0007B95C 38 A0 00 01 */ li r5, 1 lbl_8007EA00: /* 8007EA00 0007B960 54 A0 06 3F */ clrlwi. r0, r5, 0x18 /* 8007EA04 0007B964 41 82 00 50 */ beq lbl_8007EA54 /* 8007EA08 0007B968 C0 02 89 70 */ lfs f0, lbl_805AA690@sda21(r2) /* 8007EA0C 0007B96C 38 00 00 00 */ li r0, 0 /* 8007EA10 0007B970 38 E0 FF FF */ li r7, -1 /* 8007EA14 0007B974 38 C0 00 01 */ li r6, 1 /* 8007EA18 0007B978 90 81 00 08 */ stw r4, 8(r1) /* 8007EA1C 0007B97C 38 81 00 08 */ addi r4, r1, 8 /* 8007EA20 0007B980 38 A0 00 00 */ li r5, 0 /* 8007EA24 0007B984 90 E1 00 0C */ stw r7, 0xc(r1) /* 8007EA28 0007B988 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8007EA2C 0007B98C 98 C1 00 14 */ stb r6, 0x14(r1) /* 8007EA30 0007B990 90 01 00 18 */ stw r0, 0x18(r1) /* 8007EA34 0007B994 90 01 00 1C */ stw r0, 0x1c(r1) /* 8007EA38 0007B998 98 01 00 20 */ stb r0, 0x20(r1) /* 8007EA3C 0007B99C 90 01 00 24 */ stw r0, 0x24(r1) /* 8007EA40 0007B9A0 90 01 00 28 */ stw r0, 0x28(r1) /* 8007EA44 0007B9A4 90 01 00 2C */ stw r0, 0x2c(r1) /* 8007EA48 0007B9A8 80 63 00 64 */ lwz r3, 0x64(r3) /* 8007EA4C 0007B9AC 80 63 00 10 */ lwz r3, 0x10(r3) /* 8007EA50 0007B9B0 4B FA E3 2D */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb lbl_8007EA54: /* 8007EA54 0007B9B4 80 01 00 34 */ lwz r0, 0x34(r1) /* 8007EA58 0007B9B8 7C 08 03 A6 */ mtlr r0 /* 8007EA5C 0007B9BC 38 21 00 30 */ addi r1, r1, 0x30 /* 8007EA60 0007B9C0 4E 80 00 20 */ blr .global OpenDoor__11CScriptDoorF9TUniqueIdR13CStateManager OpenDoor__11CScriptDoorF9TUniqueIdR13CStateManager: /* 8007EA64 0007B9C4 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 8007EA68 0007B9C8 7C 08 02 A6 */ mflr r0 /* 8007EA6C 0007B9CC 90 01 00 A4 */ stw r0, 0xa4(r1) /* 8007EA70 0007B9D0 BE E1 00 7C */ stmw r23, 0x7c(r1) /* 8007EA74 0007B9D4 7C BE 2B 78 */ mr r30, r5 /* 8007EA78 0007B9D8 7C 9D 23 78 */ mr r29, r4 /* 8007EA7C 0007B9DC 7C 7C 1B 78 */ mr r28, r3 /* 8007EA80 0007B9E0 7F C4 F3 78 */ mr r4, r30 /* 8007EA84 0007B9E4 38 A1 00 2C */ addi r5, r1, 0x2c /* 8007EA88 0007B9E8 A0 03 00 08 */ lhz r0, 8(r3) /* 8007EA8C 0007B9EC 38 61 00 3C */ addi r3, r1, 0x3c /* 8007EA90 0007B9F0 B0 01 00 28 */ sth r0, 0x28(r1) /* 8007EA94 0007B9F4 B0 01 00 2C */ sth r0, 0x2c(r1) /* 8007EA98 0007B9F8 4B FC 94 29 */ bl GetEditorIdForUniqueId__13CStateManagerCF9TUniqueId /* 8007EA9C 0007B9FC 80 01 00 3C */ lwz r0, 0x3c(r1) /* 8007EAA0 0007BA00 38 81 00 40 */ addi r4, r1, 0x40 /* 8007EAA4 0007BA04 38 A0 00 01 */ li r5, 1 /* 8007EAA8 0007BA08 90 01 00 40 */ stw r0, 0x40(r1) /* 8007EAAC 0007BA0C 80 7E 08 C0 */ lwz r3, 0x8c0(r30) /* 8007EAB0 0007BA10 80 63 00 00 */ lwz r3, 0(r3) /* 8007EAB4 0007BA14 48 0E 9C FD */ bl SetDoorVisited__13CMapWorldInfoF9TEditorIdb /* 8007EAB8 0007BA18 88 1C 02 A8 */ lbz r0, 0x2a8(r28) /* 8007EABC 0007BA1C 38 C0 00 01 */ li r6, 1 /* 8007EAC0 0007BA20 50 C0 2E B4 */ rlwimi r0, r6, 5, 0x1a, 0x1a /* 8007EAC4 0007BA24 38 A0 00 00 */ li r5, 0 /* 8007EAC8 0007BA28 98 1C 02 A8 */ stb r0, 0x2a8(r28) /* 8007EACC 0007BA2C 7F C3 F3 78 */ mr r3, r30 /* 8007EAD0 0007BA30 38 81 00 24 */ addi r4, r1, 0x24 /* 8007EAD4 0007BA34 88 1C 02 A8 */ lbz r0, 0x2a8(r28) /* 8007EAD8 0007BA38 50 C0 36 72 */ rlwimi r0, r6, 6, 0x19, 0x19 /* 8007EADC 0007BA3C 98 1C 02 A8 */ stb r0, 0x2a8(r28) /* 8007EAE0 0007BA40 88 1C 02 A8 */ lbz r0, 0x2a8(r28) /* 8007EAE4 0007BA44 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 8007EAE8 0007BA48 98 1C 02 A8 */ stb r0, 0x2a8(r28) /* 8007EAEC 0007BA4C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8007EAF0 0007BA50 B0 1C 02 7C */ sth r0, 0x27c(r28) /* 8007EAF4 0007BA54 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8007EAF8 0007BA58 B0 1C 02 7E */ sth r0, 0x27e(r28) /* 8007EAFC 0007BA5C A0 1D 00 00 */ lhz r0, 0(r29) /* 8007EB00 0007BA60 B0 01 00 24 */ sth r0, 0x24(r1) /* 8007EB04 0007BA64 4B FC DA A1 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8007EB08 0007BA68 7C 64 1B 78 */ mr r4, r3 /* 8007EB0C 0007BA6C 38 61 00 5C */ addi r3, r1, 0x5c /* 8007EB10 0007BA70 48 02 B5 E1 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 8007EB14 0007BA74 80 63 00 04 */ lwz r3, 4(r3) /* 8007EB18 0007BA78 28 03 00 00 */ cmplwi r3, 0 /* 8007EB1C 0007BA7C 41 82 00 0C */ beq lbl_8007EB28 /* 8007EB20 0007BA80 A0 03 00 08 */ lhz r0, 8(r3) /* 8007EB24 0007BA84 B0 1C 02 7C */ sth r0, 0x27c(r28) lbl_8007EB28: /* 8007EB28 0007BA88 7F 83 E3 78 */ mr r3, r28 /* 8007EB2C 0007BA8C 38 80 00 00 */ li r4, 0 /* 8007EB30 0007BA90 4B FF FE A1 */ bl SetDoorAnimation__11CScriptDoorFQ211CScriptDoor13EDoorAnimType /* 8007EB34 0007BA94 A0 7C 02 7C */ lhz r3, 0x27c(r28) /* 8007EB38 0007BA98 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8007EB3C 0007BA9C 7C 03 00 40 */ cmplw r3, r0 /* 8007EB40 0007BAA0 41 82 00 1C */ beq lbl_8007EB5C /* 8007EB44 0007BAA4 7F 83 E3 78 */ mr r3, r28 /* 8007EB48 0007BAA8 7F C5 F3 78 */ mr r5, r30 /* 8007EB4C 0007BAAC 38 80 00 07 */ li r4, 7 /* 8007EB50 0007BAB0 38 C0 FF FF */ li r6, -1 /* 8007EB54 0007BAB4 4B FD 25 6D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage /* 8007EB58 0007BAB8 48 00 00 18 */ b lbl_8007EB70 lbl_8007EB5C: /* 8007EB5C 0007BABC 7F 83 E3 78 */ mr r3, r28 /* 8007EB60 0007BAC0 7F C5 F3 78 */ mr r5, r30 /* 8007EB64 0007BAC4 38 80 00 08 */ li r4, 8 /* 8007EB68 0007BAC8 38 C0 FF FF */ li r6, -1 /* 8007EB6C 0007BACC 4B FD 25 55 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage lbl_8007EB70: /* 8007EB70 0007BAD0 A0 1C 02 82 */ lhz r0, 0x282(r28) /* 8007EB74 0007BAD4 7F C3 F3 78 */ mr r3, r30 /* 8007EB78 0007BAD8 38 81 00 20 */ addi r4, r1, 0x20 /* 8007EB7C 0007BADC B0 01 00 20 */ sth r0, 0x20(r1) /* 8007EB80 0007BAE0 4B FC DA 25 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8007EB84 0007BAE4 7C 64 1B 78 */ mr r4, r3 /* 8007EB88 0007BAE8 38 61 00 54 */ addi r3, r1, 0x54 /* 8007EB8C 0007BAEC 48 02 B8 79 */ bl "__ct__25TCastToPtr<11CScriptDock>FP7CEntity" /* 8007EB90 0007BAF0 83 E3 00 04 */ lwz r31, 4(r3) /* 8007EB94 0007BAF4 28 1F 00 00 */ cmplwi r31, 0 /* 8007EB98 0007BAF8 41 82 01 04 */ beq lbl_8007EC9C /* 8007EB9C 0007BAFC 83 7E 08 48 */ lwz r27, 0x848(r30) /* 8007EBA0 0007BB00 AB 3B 20 08 */ lha r25, 0x2008(r27) /* 8007EBA4 0007BB04 48 00 00 F0 */ b lbl_8007EC94 lbl_8007EBA8: /* 8007EBA8 0007BB08 7F 63 DB 78 */ mr r3, r27 /* 8007EBAC 0007BB0C 7F 24 CB 78 */ mr r4, r25 /* 8007EBB0 0007BB10 4B F9 11 65 */ bl __vc__11CObjectListFi /* 8007EBB4 0007BB14 7C 64 1B 78 */ mr r4, r3 /* 8007EBB8 0007BB18 38 61 00 64 */ addi r3, r1, 0x64 /* 8007EBBC 0007BB1C 48 02 B5 35 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 8007EBC0 0007BB20 83 03 00 04 */ lwz r24, 4(r3) /* 8007EBC4 0007BB24 28 18 00 00 */ cmplwi r24, 0 /* 8007EBC8 0007BB28 41 82 00 B0 */ beq lbl_8007EC78 /* 8007EBCC 0007BB2C A0 78 00 08 */ lhz r3, 8(r24) /* 8007EBD0 0007BB30 A0 1D 00 00 */ lhz r0, 0(r29) /* 8007EBD4 0007BB34 7C 03 00 40 */ cmplw r3, r0 /* 8007EBD8 0007BB38 41 82 00 A0 */ beq lbl_8007EC78 /* 8007EBDC 0007BB3C A0 18 02 82 */ lhz r0, 0x282(r24) /* 8007EBE0 0007BB40 7F C3 F3 78 */ mr r3, r30 /* 8007EBE4 0007BB44 38 81 00 1C */ addi r4, r1, 0x1c /* 8007EBE8 0007BB48 B0 01 00 18 */ sth r0, 0x18(r1) /* 8007EBEC 0007BB4C B0 01 00 1C */ sth r0, 0x1c(r1) /* 8007EBF0 0007BB50 4B FC D9 B5 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8007EBF4 0007BB54 7C 64 1B 78 */ mr r4, r3 /* 8007EBF8 0007BB58 38 61 00 4C */ addi r3, r1, 0x4c /* 8007EBFC 0007BB5C 48 02 B8 09 */ bl "__ct__25TCastToPtr<11CScriptDock>FP7CEntity" /* 8007EC00 0007BB60 82 E3 00 04 */ lwz r23, 4(r3) /* 8007EC04 0007BB64 28 17 00 00 */ cmplwi r23, 0 /* 8007EC08 0007BB68 41 82 00 70 */ beq lbl_8007EC78 /* 8007EC0C 0007BB6C 7F E4 FB 78 */ mr r4, r31 /* 8007EC10 0007BB70 7F C5 F3 78 */ mr r5, r30 /* 8007EC14 0007BB74 38 61 00 38 */ addi r3, r1, 0x38 /* 8007EC18 0007BB78 48 04 4A E9 */ bl GetCurrentConnectedAreaId__11CScriptDockCFRC13CStateManager /* 8007EC1C 0007BB7C 80 77 02 60 */ lwz r3, 0x260(r23) /* 8007EC20 0007BB80 80 01 00 38 */ lwz r0, 0x38(r1) /* 8007EC24 0007BB84 7C 03 00 00 */ cmpw r3, r0 /* 8007EC28 0007BB88 40 82 00 50 */ bne lbl_8007EC78 /* 8007EC2C 0007BB8C 83 5F 02 60 */ lwz r26, 0x260(r31) /* 8007EC30 0007BB90 7E E4 BB 78 */ mr r4, r23 /* 8007EC34 0007BB94 7F C5 F3 78 */ mr r5, r30 /* 8007EC38 0007BB98 38 61 00 34 */ addi r3, r1, 0x34 /* 8007EC3C 0007BB9C 48 04 4A C5 */ bl GetCurrentConnectedAreaId__11CScriptDockCFRC13CStateManager /* 8007EC40 0007BBA0 80 01 00 34 */ lwz r0, 0x34(r1) /* 8007EC44 0007BBA4 7C 00 D0 00 */ cmpw r0, r26 /* 8007EC48 0007BBA8 40 82 00 30 */ bne lbl_8007EC78 /* 8007EC4C 0007BBAC A0 18 00 08 */ lhz r0, 8(r24) /* 8007EC50 0007BBB0 7F C3 F3 78 */ mr r3, r30 /* 8007EC54 0007BBB4 7F 04 C3 78 */ mr r4, r24 /* 8007EC58 0007BBB8 38 A1 00 14 */ addi r5, r1, 0x14 /* 8007EC5C 0007BBBC B0 1C 02 7E */ sth r0, 0x27e(r28) /* 8007EC60 0007BBC0 38 C0 00 09 */ li r6, 9 /* 8007EC64 0007BBC4 A0 1C 00 08 */ lhz r0, 8(r28) /* 8007EC68 0007BBC8 B0 01 00 10 */ sth r0, 0x10(r1) /* 8007EC6C 0007BBCC B0 01 00 14 */ sth r0, 0x14(r1) /* 8007EC70 0007BBD0 4B FC 52 61 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage /* 8007EC74 0007BBD4 48 00 00 28 */ b lbl_8007EC9C lbl_8007EC78: /* 8007EC78 0007BBD8 2C 19 FF FF */ cmpwi r25, -1 /* 8007EC7C 0007BBDC 41 82 00 14 */ beq lbl_8007EC90 /* 8007EC80 0007BBE0 57 23 18 38 */ slwi r3, r25, 3 /* 8007EC84 0007BBE4 38 03 00 08 */ addi r0, r3, 8 /* 8007EC88 0007BBE8 7F 3B 02 AE */ lhax r25, r27, r0 /* 8007EC8C 0007BBEC 48 00 00 08 */ b lbl_8007EC94 lbl_8007EC90: /* 8007EC90 0007BBF0 3B 20 FF FF */ li r25, -1 lbl_8007EC94: /* 8007EC94 0007BBF4 2C 19 FF FF */ cmpwi r25, -1 /* 8007EC98 0007BBF8 40 82 FF 10 */ bne lbl_8007EBA8 lbl_8007EC9C: /* 8007EC9C 0007BBFC A0 1C 02 7C */ lhz r0, 0x27c(r28) /* 8007ECA0 0007BC00 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13) /* 8007ECA4 0007BC04 7C 00 18 40 */ cmplw r0, r3 /* 8007ECA8 0007BC08 40 82 00 90 */ bne lbl_8007ED38 /* 8007ECAC 0007BC0C A0 1C 02 7E */ lhz r0, 0x27e(r28) /* 8007ECB0 0007BC10 7C 00 18 40 */ cmplw r0, r3 /* 8007ECB4 0007BC14 40 82 00 84 */ bne lbl_8007ED38 /* 8007ECB8 0007BC18 83 5C 00 2C */ lwz r26, 0x2c(r28) /* 8007ECBC 0007BC1C 48 00 00 64 */ b lbl_8007ED20 lbl_8007ECC0: /* 8007ECC0 0007BC20 80 1A 00 04 */ lwz r0, 4(r26) /* 8007ECC4 0007BC24 2C 00 00 09 */ cmpwi r0, 9 /* 8007ECC8 0007BC28 40 82 00 54 */ bne lbl_8007ED1C /* 8007ECCC 0007BC2C 80 1A 00 08 */ lwz r0, 8(r26) /* 8007ECD0 0007BC30 7F C4 F3 78 */ mr r4, r30 /* 8007ECD4 0007BC34 38 61 00 08 */ addi r3, r1, 8 /* 8007ECD8 0007BC38 38 A1 00 30 */ addi r5, r1, 0x30 /* 8007ECDC 0007BC3C 90 01 00 30 */ stw r0, 0x30(r1) /* 8007ECE0 0007BC40 4B FC 92 3D */ bl GetIdForScript__13CStateManagerCF9TEditorId /* 8007ECE4 0007BC44 A0 01 00 08 */ lhz r0, 8(r1) /* 8007ECE8 0007BC48 7F C3 F3 78 */ mr r3, r30 /* 8007ECEC 0007BC4C 38 81 00 0C */ addi r4, r1, 0xc /* 8007ECF0 0007BC50 B0 01 00 0C */ sth r0, 0xc(r1) /* 8007ECF4 0007BC54 4B FC D8 B1 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8007ECF8 0007BC58 7C 64 1B 78 */ mr r4, r3 /* 8007ECFC 0007BC5C 38 61 00 44 */ addi r3, r1, 0x44 /* 8007ED00 0007BC60 48 02 B3 F1 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 8007ED04 0007BC64 80 63 00 04 */ lwz r3, 4(r3) /* 8007ED08 0007BC68 28 03 00 00 */ cmplwi r3, 0 /* 8007ED0C 0007BC6C 41 82 00 10 */ beq lbl_8007ED1C /* 8007ED10 0007BC70 A0 03 00 08 */ lhz r0, 8(r3) /* 8007ED14 0007BC74 B0 1C 02 7E */ sth r0, 0x27e(r28) /* 8007ED18 0007BC78 48 00 00 20 */ b lbl_8007ED38 lbl_8007ED1C: /* 8007ED1C 0007BC7C 3B 5A 00 0C */ addi r26, r26, 0xc lbl_8007ED20: /* 8007ED20 0007BC80 80 1C 00 24 */ lwz r0, 0x24(r28) /* 8007ED24 0007BC84 80 7C 00 2C */ lwz r3, 0x2c(r28) /* 8007ED28 0007BC88 1C 00 00 0C */ mulli r0, r0, 0xc /* 8007ED2C 0007BC8C 7C 03 02 14 */ add r0, r3, r0 /* 8007ED30 0007BC90 7C 1A 00 40 */ cmplw r26, r0 /* 8007ED34 0007BC94 40 82 FF 8C */ bne lbl_8007ECC0 lbl_8007ED38: /* 8007ED38 0007BC98 BA E1 00 7C */ lmw r23, 0x7c(r1) /* 8007ED3C 0007BC9C 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 8007ED40 0007BCA0 7C 08 03 A6 */ mtlr r0 /* 8007ED44 0007BCA4 38 21 00 A0 */ addi r1, r1, 0xa0 /* 8007ED48 0007BCA8 4E 80 00 20 */ blr .global GetDoorOpenCondition__11CScriptDoorFR13CStateManager GetDoorOpenCondition__11CScriptDoorFR13CStateManager: /* 8007ED4C 0007BCAC 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8007ED50 0007BCB0 7C 08 02 A6 */ mflr r0 /* 8007ED54 0007BCB4 90 01 00 74 */ stw r0, 0x74(r1) /* 8007ED58 0007BCB8 BF 61 00 5C */ stmw r27, 0x5c(r1) /* 8007ED5C 0007BCBC 7C 9D 23 78 */ mr r29, r4 /* 8007ED60 0007BCC0 7C 7C 1B 78 */ mr r28, r3 /* 8007ED64 0007BCC4 38 81 00 10 */ addi r4, r1, 0x10 /* 8007ED68 0007BCC8 A0 03 02 82 */ lhz r0, 0x282(r3) /* 8007ED6C 0007BCCC 7F A3 EB 78 */ mr r3, r29 /* 8007ED70 0007BCD0 B0 01 00 10 */ sth r0, 0x10(r1) /* 8007ED74 0007BCD4 4B FC D8 01 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8007ED78 0007BCD8 7C 64 1B 78 */ mr r4, r3 /* 8007ED7C 0007BCDC 38 61 00 44 */ addi r3, r1, 0x44 /* 8007ED80 0007BCE0 48 02 B6 85 */ bl "__ct__25TCastToPtr<11CScriptDock>FP7CEntity" /* 8007ED84 0007BCE4 83 C3 00 04 */ lwz r30, 4(r3) /* 8007ED88 0007BCE8 28 1E 00 00 */ cmplwi r30, 0 /* 8007ED8C 0007BCEC 40 82 00 0C */ bne lbl_8007ED98 /* 8007ED90 0007BCF0 38 60 00 02 */ li r3, 2 /* 8007ED94 0007BCF4 48 00 02 AC */ b lbl_8007F040 lbl_8007ED98: /* 8007ED98 0007BCF8 C0 3C 02 5C */ lfs f1, 0x25c(r28) /* 8007ED9C 0007BCFC C0 02 89 6C */ lfs f0, lbl_805AA68C@sda21(r2) /* 8007EDA0 0007BD00 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8007EDA4 0007BD04 41 80 00 10 */ blt lbl_8007EDB4 /* 8007EDA8 0007BD08 88 1C 02 A8 */ lbz r0, 0x2a8(r28) /* 8007EDAC 0007BD0C 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 8007EDB0 0007BD10 41 82 00 0C */ beq lbl_8007EDBC lbl_8007EDB4: /* 8007EDB4 0007BD14 38 60 00 01 */ li r3, 1 /* 8007EDB8 0007BD18 48 00 02 88 */ b lbl_8007F040 lbl_8007EDBC: /* 8007EDBC 0007BD1C 80 DE 02 60 */ lwz r6, 0x260(r30) /* 8007EDC0 0007BD20 38 80 00 00 */ li r4, 0 /* 8007EDC4 0007BD24 80 7D 08 50 */ lwz r3, 0x850(r29) /* 8007EDC8 0007BD28 2C 06 00 00 */ cmpwi r6, 0 /* 8007EDCC 0007BD2C 90 C1 00 30 */ stw r6, 0x30(r1) /* 8007EDD0 0007BD30 90 C1 00 34 */ stw r6, 0x34(r1) /* 8007EDD4 0007BD34 41 80 00 14 */ blt lbl_8007EDE8 /* 8007EDD8 0007BD38 80 03 00 18 */ lwz r0, 0x18(r3) /* 8007EDDC 0007BD3C 7C 06 00 00 */ cmpw r6, r0 /* 8007EDE0 0007BD40 40 80 00 08 */ bge lbl_8007EDE8 /* 8007EDE4 0007BD44 38 80 00 01 */ li r4, 1 lbl_8007EDE8: /* 8007EDE8 0007BD48 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 8007EDEC 0007BD4C 40 82 00 0C */ bne lbl_8007EDF8 /* 8007EDF0 0007BD50 38 60 00 00 */ li r3, 0 /* 8007EDF4 0007BD54 48 00 02 4C */ b lbl_8007F040 lbl_8007EDF8: /* 8007EDF8 0007BD58 54 C4 18 38 */ slwi r4, r6, 3 /* 8007EDFC 0007BD5C 80 A3 00 20 */ lwz r5, 0x20(r3) /* 8007EE00 0007BD60 38 04 00 04 */ addi r0, r4, 4 /* 8007EE04 0007BD64 90 C1 00 28 */ stw r6, 0x28(r1) /* 8007EE08 0007BD68 7C 85 00 2E */ lwzx r4, r5, r0 /* 8007EE0C 0007BD6C 90 C1 00 2C */ stw r6, 0x2c(r1) /* 8007EE10 0007BD70 88 04 00 F0 */ lbz r0, 0xf0(r4) /* 8007EE14 0007BD74 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8007EE18 0007BD78 40 82 00 0C */ bne lbl_8007EE24 /* 8007EE1C 0007BD7C 38 60 00 01 */ li r3, 1 /* 8007EE20 0007BD80 48 00 02 20 */ b lbl_8007F040 lbl_8007EE24: /* 8007EE24 0007BD84 4B FD 73 41 */ bl AreSkyNeedsMet__6CWorldCFv /* 8007EE28 0007BD88 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8007EE2C 0007BD8C 40 82 00 0C */ bne lbl_8007EE38 /* 8007EE30 0007BD90 38 60 00 01 */ li r3, 1 /* 8007EE34 0007BD94 48 00 02 0C */ b lbl_8007F040 lbl_8007EE38: /* 8007EE38 0007BD98 80 FE 02 60 */ lwz r7, 0x260(r30) /* 8007EE3C 0007BD9C 7F C3 F3 78 */ mr r3, r30 /* 8007EE40 0007BDA0 80 DD 08 50 */ lwz r6, 0x850(r29) /* 8007EE44 0007BDA4 7F A4 EB 78 */ mr r4, r29 /* 8007EE48 0007BDA8 54 E5 18 38 */ slwi r5, r7, 3 /* 8007EE4C 0007BDAC 80 1E 02 5C */ lwz r0, 0x25c(r30) /* 8007EE50 0007BDB0 80 C6 00 20 */ lwz r6, 0x20(r6) /* 8007EE54 0007BDB4 38 A5 00 04 */ addi r5, r5, 4 /* 8007EE58 0007BDB8 1C 00 00 4C */ mulli r0, r0, 0x4c /* 8007EE5C 0007BDBC 90 E1 00 20 */ stw r7, 0x20(r1) /* 8007EE60 0007BDC0 7C A6 28 2E */ lwzx r5, r6, r5 /* 8007EE64 0007BDC4 90 E1 00 24 */ stw r7, 0x24(r1) /* 8007EE68 0007BDC8 80 A5 00 D8 */ lwz r5, 0xd8(r5) /* 8007EE6C 0007BDCC 7F E5 02 14 */ add r31, r5, r0 /* 8007EE70 0007BDD0 48 04 4A 95 */ bl GetDockReference__11CScriptDockCFv /* 8007EE74 0007BDD4 7C 65 1B 78 */ mr r5, r3 /* 8007EE78 0007BDD8 7F E4 FB 78 */ mr r4, r31 /* 8007EE7C 0007BDDC 38 61 00 1C */ addi r3, r1, 0x1c /* 8007EE80 0007BDE0 4B FE 04 A5 */ bl GetConnectedAreaId__Q29IGameArea4DockCFi /* 8007EE84 0007BDE4 80 81 00 1C */ lwz r4, 0x1c(r1) /* 8007EE88 0007BDE8 38 60 00 00 */ li r3, 0 /* 8007EE8C 0007BDEC 80 BD 08 50 */ lwz r5, 0x850(r29) /* 8007EE90 0007BDF0 2C 04 00 00 */ cmpwi r4, 0 /* 8007EE94 0007BDF4 90 81 00 38 */ stw r4, 0x38(r1) /* 8007EE98 0007BDF8 90 81 00 18 */ stw r4, 0x18(r1) /* 8007EE9C 0007BDFC 41 80 00 14 */ blt lbl_8007EEB0 /* 8007EEA0 0007BE00 80 05 00 18 */ lwz r0, 0x18(r5) /* 8007EEA4 0007BE04 7C 04 00 00 */ cmpw r4, r0 /* 8007EEA8 0007BE08 40 80 00 08 */ bge lbl_8007EEB0 /* 8007EEAC 0007BE0C 38 60 00 01 */ li r3, 1 lbl_8007EEB0: /* 8007EEB0 0007BE10 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8007EEB4 0007BE14 40 82 00 0C */ bne lbl_8007EEC0 /* 8007EEB8 0007BE18 38 60 00 00 */ li r3, 0 /* 8007EEBC 0007BE1C 48 00 01 84 */ b lbl_8007F040 lbl_8007EEC0: /* 8007EEC0 0007BE20 80 01 00 38 */ lwz r0, 0x38(r1) /* 8007EEC4 0007BE24 80 85 00 20 */ lwz r4, 0x20(r5) /* 8007EEC8 0007BE28 54 03 18 38 */ slwi r3, r0, 3 /* 8007EECC 0007BE2C 90 01 00 14 */ stw r0, 0x14(r1) /* 8007EED0 0007BE30 38 03 00 04 */ addi r0, r3, 4 /* 8007EED4 0007BE34 7F E4 00 2E */ lwzx r31, r4, r0 /* 8007EED8 0007BE38 88 1F 00 F0 */ lbz r0, 0xf0(r31) /* 8007EEDC 0007BE3C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8007EEE0 0007BE40 40 82 00 2C */ bne lbl_8007EF0C /* 8007EEE4 0007BE44 A0 1C 00 08 */ lhz r0, 8(r28) /* 8007EEE8 0007BE48 7F A3 EB 78 */ mr r3, r29 /* 8007EEEC 0007BE4C 7F C4 F3 78 */ mr r4, r30 /* 8007EEF0 0007BE50 38 A1 00 0C */ addi r5, r1, 0xc /* 8007EEF4 0007BE54 B0 01 00 08 */ sth r0, 8(r1) /* 8007EEF8 0007BE58 38 C0 00 0C */ li r6, 0xc /* 8007EEFC 0007BE5C B0 01 00 0C */ sth r0, 0xc(r1) /* 8007EF00 0007BE60 4B FC 4F D1 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage /* 8007EF04 0007BE64 38 60 00 01 */ li r3, 1 /* 8007EF08 0007BE68 48 00 01 38 */ b lbl_8007F040 lbl_8007EF0C: /* 8007EF0C 0007BE6C 80 7F 01 2C */ lwz r3, 0x12c(r31) /* 8007EF10 0007BE70 80 03 11 3C */ lwz r0, 0x113c(r3) /* 8007EF14 0007BE74 2C 00 00 00 */ cmpwi r0, 0 /* 8007EF18 0007BE78 41 82 00 0C */ beq lbl_8007EF24 /* 8007EF1C 0007BE7C 38 60 00 01 */ li r3, 1 /* 8007EF20 0007BE80 48 00 01 20 */ b lbl_8007F040 lbl_8007EF24: /* 8007EF24 0007BE84 83 DD 08 48 */ lwz r30, 0x848(r29) /* 8007EF28 0007BE88 AB 7E 20 08 */ lha r27, 0x2008(r30) /* 8007EF2C 0007BE8C 48 00 00 94 */ b lbl_8007EFC0 lbl_8007EF30: /* 8007EF30 0007BE90 7F C3 F3 78 */ mr r3, r30 /* 8007EF34 0007BE94 7F 64 DB 78 */ mr r4, r27 /* 8007EF38 0007BE98 4B F9 0D A5 */ bl __vc__11CObjectListCFi /* 8007EF3C 0007BE9C 7C 64 1B 78 */ mr r4, r3 /* 8007EF40 0007BEA0 38 61 00 3C */ addi r3, r1, 0x3c /* 8007EF44 0007BEA4 48 02 B1 AD */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity" /* 8007EF48 0007BEA8 80 83 00 04 */ lwz r4, 4(r3) /* 8007EF4C 0007BEAC 28 04 00 00 */ cmplwi r4, 0 /* 8007EF50 0007BEB0 41 82 00 54 */ beq lbl_8007EFA4 /* 8007EF54 0007BEB4 A0 64 00 08 */ lhz r3, 8(r4) /* 8007EF58 0007BEB8 A0 1C 00 08 */ lhz r0, 8(r28) /* 8007EF5C 0007BEBC 7C 03 00 40 */ cmplw r3, r0 /* 8007EF60 0007BEC0 41 82 00 44 */ beq lbl_8007EFA4 /* 8007EF64 0007BEC4 80 64 00 04 */ lwz r3, 4(r4) /* 8007EF68 0007BEC8 80 1C 00 04 */ lwz r0, 4(r28) /* 8007EF6C 0007BECC 7C 03 00 00 */ cmpw r3, r0 /* 8007EF70 0007BED0 41 82 00 10 */ beq lbl_8007EF80 /* 8007EF74 0007BED4 80 01 00 38 */ lwz r0, 0x38(r1) /* 8007EF78 0007BED8 7C 03 00 00 */ cmpw r3, r0 /* 8007EF7C 0007BEDC 40 82 00 28 */ bne lbl_8007EFA4 lbl_8007EF80: /* 8007EF80 0007BEE0 88 04 02 A8 */ lbz r0, 0x2a8(r4) /* 8007EF84 0007BEE4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8007EF88 0007BEE8 41 82 00 1C */ beq lbl_8007EFA4 /* 8007EF8C 0007BEEC A0 64 02 82 */ lhz r3, 0x282(r4) /* 8007EF90 0007BEF0 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8007EF94 0007BEF4 7C 03 00 40 */ cmplw r3, r0 /* 8007EF98 0007BEF8 41 82 00 0C */ beq lbl_8007EFA4 /* 8007EF9C 0007BEFC 38 60 00 01 */ li r3, 1 /* 8007EFA0 0007BF00 48 00 00 A0 */ b lbl_8007F040 lbl_8007EFA4: /* 8007EFA4 0007BF04 2C 1B FF FF */ cmpwi r27, -1 /* 8007EFA8 0007BF08 41 82 00 14 */ beq lbl_8007EFBC /* 8007EFAC 0007BF0C 57 63 18 38 */ slwi r3, r27, 3 /* 8007EFB0 0007BF10 38 03 00 08 */ addi r0, r3, 8 /* 8007EFB4 0007BF14 7F 7E 02 AE */ lhax r27, r30, r0 /* 8007EFB8 0007BF18 48 00 00 08 */ b lbl_8007EFC0 lbl_8007EFBC: /* 8007EFBC 0007BF1C 3B 60 FF FF */ li r27, -1 lbl_8007EFC0: /* 8007EFC0 0007BF20 2C 1B FF FF */ cmpwi r27, -1 /* 8007EFC4 0007BF24 40 82 FF 6C */ bne lbl_8007EF30 /* 8007EFC8 0007BF28 80 7D 08 50 */ lwz r3, 0x850(r29) /* 8007EFCC 0007BF2C 83 83 00 58 */ lwz r28, 0x58(r3) /* 8007EFD0 0007BF30 48 00 00 30 */ b lbl_8007F000 lbl_8007EFD4: /* 8007EFD4 0007BF34 80 7C 00 04 */ lwz r3, 4(r28) /* 8007EFD8 0007BF38 80 1F 00 04 */ lwz r0, 4(r31) /* 8007EFDC 0007BF3C 7C 03 00 00 */ cmpw r3, r0 /* 8007EFE0 0007BF40 41 82 00 1C */ beq lbl_8007EFFC /* 8007EFE4 0007BF44 7F 83 E3 78 */ mr r3, r28 /* 8007EFE8 0007BF48 4B FD F3 55 */ bl IsFinishedOccluding__9CGameAreaCFv /* 8007EFEC 0007BF4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8007EFF0 0007BF50 40 82 00 0C */ bne lbl_8007EFFC /* 8007EFF4 0007BF54 38 60 00 01 */ li r3, 1 /* 8007EFF8 0007BF58 48 00 00 48 */ b lbl_8007F040 lbl_8007EFFC: /* 8007EFFC 0007BF5C 83 9C 01 30 */ lwz r28, 0x130(r28) lbl_8007F000: /* 8007F000 0007BF60 80 0D A2 18 */ lwz r0, lbl_805A8DD8@sda21(r13) /* 8007F004 0007BF64 7C 1C 00 40 */ cmplw r28, r0 /* 8007F008 0007BF68 40 82 FF CC */ bne lbl_8007EFD4 /* 8007F00C 0007BF6C 7F E3 FB 78 */ mr r3, r31 /* 8007F010 0007BF70 4B FD FB 61 */ bl TryTakingOutOfARAM__9CGameAreaFv /* 8007F014 0007BF74 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8007F018 0007BF78 40 82 00 0C */ bne lbl_8007F024 /* 8007F01C 0007BF7C 38 60 00 01 */ li r3, 1 /* 8007F020 0007BF80 48 00 00 20 */ b lbl_8007F040 lbl_8007F024: /* 8007F024 0007BF84 80 7D 08 50 */ lwz r3, 0x850(r29) /* 8007F028 0007BF88 4B FD 86 75 */ bl GetMapWorld__6CWorldCFv /* 8007F02C 0007BF8C 48 02 21 55 */ bl IsMapAreasStreaming__9CMapWorldCFv /* 8007F030 0007BF90 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8007F034 0007BF94 38 60 00 02 */ li r3, 2 /* 8007F038 0007BF98 41 82 00 08 */ beq lbl_8007F040 /* 8007F03C 0007BF9C 38 60 00 01 */ li r3, 1 lbl_8007F040: /* 8007F040 0007BFA0 BB 61 00 5C */ lmw r27, 0x5c(r1) /* 8007F044 0007BFA4 80 01 00 74 */ lwz r0, 0x74(r1) /* 8007F048 0007BFA8 7C 08 03 A6 */ mtlr r0 /* 8007F04C 0007BFAC 38 21 00 70 */ addi r1, r1, 0x70 /* 8007F050 0007BFB0 4E 80 00 20 */ blr .global GetOrbitPosition__11CScriptDoorCFRC13CStateManager GetOrbitPosition__11CScriptDoorCFRC13CStateManager: /* 8007F054 0007BFB4 C0 24 00 40 */ lfs f1, 0x40(r4) /* 8007F058 0007BFB8 C0 04 02 9C */ lfs f0, 0x29c(r4) /* 8007F05C 0007BFBC C0 84 00 50 */ lfs f4, 0x50(r4) /* 8007F060 0007BFC0 C0 64 02 A0 */ lfs f3, 0x2a0(r4) /* 8007F064 0007BFC4 EC 01 00 2A */ fadds f0, f1, f0 /* 8007F068 0007BFC8 C0 44 00 60 */ lfs f2, 0x60(r4) /* 8007F06C 0007BFCC C0 24 02 A4 */ lfs f1, 0x2a4(r4) /* 8007F070 0007BFD0 EC 64 18 2A */ fadds f3, f4, f3 /* 8007F074 0007BFD4 D0 03 00 00 */ stfs f0, 0(r3) /* 8007F078 0007BFD8 EC 02 08 2A */ fadds f0, f2, f1 /* 8007F07C 0007BFDC D0 63 00 04 */ stfs f3, 4(r3) /* 8007F080 0007BFE0 D0 03 00 08 */ stfs f0, 8(r3) /* 8007F084 0007BFE4 4E 80 00 20 */ blr .global GetProjectileBounds__11CScriptDoorCFv GetProjectileBounds__11CScriptDoorCFv: /* 8007F088 0007BFE8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8007F08C 0007BFEC 7C 08 02 A6 */ mflr r0 /* 8007F090 0007BFF0 90 01 00 44 */ stw r0, 0x44(r1) /* 8007F094 0007BFF4 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8007F098 0007BFF8 7C 7F 1B 78 */ mr r31, r3 /* 8007F09C 0007BFFC 88 04 02 A8 */ lbz r0, 0x2a8(r4) /* 8007F0A0 0007C000 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8007F0A4 0007C004 41 82 00 AC */ beq lbl_8007F150 /* 8007F0A8 0007C008 C0 24 02 94 */ lfs f1, 0x294(r4) /* 8007F0AC 0007C00C 38 61 00 20 */ addi r3, r1, 0x20 /* 8007F0B0 0007C010 C0 64 00 50 */ lfs f3, 0x50(r4) /* 8007F0B4 0007C014 38 A1 00 08 */ addi r5, r1, 8 /* 8007F0B8 0007C018 C0 04 02 88 */ lfs f0, 0x288(r4) /* 8007F0BC 0007C01C EC C1 18 2A */ fadds f6, f1, f3 /* 8007F0C0 0007C020 C0 44 02 98 */ lfs f2, 0x298(r4) /* 8007F0C4 0007C024 C0 24 00 60 */ lfs f1, 0x60(r4) /* 8007F0C8 0007C028 EC 80 18 2A */ fadds f4, f0, f3 /* 8007F0CC 0007C02C C0 04 02 8C */ lfs f0, 0x28c(r4) /* 8007F0D0 0007C030 EC A2 08 2A */ fadds f5, f2, f1 /* 8007F0D4 0007C034 EC 60 08 2A */ fadds f3, f0, f1 /* 8007F0D8 0007C038 C0 24 02 90 */ lfs f1, 0x290(r4) /* 8007F0DC 0007C03C C0 44 00 40 */ lfs f2, 0x40(r4) /* 8007F0E0 0007C040 C0 04 02 84 */ lfs f0, 0x284(r4) /* 8007F0E4 0007C044 38 81 00 14 */ addi r4, r1, 0x14 /* 8007F0E8 0007C048 EC 21 10 2A */ fadds f1, f1, f2 /* 8007F0EC 0007C04C EC 00 10 2A */ fadds f0, f0, f2 /* 8007F0F0 0007C050 D0 C1 00 0C */ stfs f6, 0xc(r1) /* 8007F0F4 0007C054 D0 21 00 08 */ stfs f1, 8(r1) /* 8007F0F8 0007C058 D0 A1 00 10 */ stfs f5, 0x10(r1) /* 8007F0FC 0007C05C D0 01 00 14 */ stfs f0, 0x14(r1) /* 8007F100 0007C060 D0 81 00 18 */ stfs f4, 0x18(r1) /* 8007F104 0007C064 D0 61 00 1C */ stfs f3, 0x1c(r1) /* 8007F108 0007C068 48 2B 94 01 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 8007F10C 0007C06C 38 00 00 01 */ li r0, 1 /* 8007F110 0007C070 28 1F 00 00 */ cmplwi r31, 0 /* 8007F114 0007C074 98 1F 00 18 */ stb r0, 0x18(r31) /* 8007F118 0007C078 41 82 00 40 */ beq lbl_8007F158 /* 8007F11C 0007C07C C0 01 00 20 */ lfs f0, 0x20(r1) /* 8007F120 0007C080 D0 1F 00 00 */ stfs f0, 0(r31) /* 8007F124 0007C084 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8007F128 0007C088 D0 1F 00 04 */ stfs f0, 4(r31) /* 8007F12C 0007C08C C0 01 00 28 */ lfs f0, 0x28(r1) /* 8007F130 0007C090 D0 1F 00 08 */ stfs f0, 8(r31) /* 8007F134 0007C094 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 8007F138 0007C098 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 8007F13C 0007C09C C0 01 00 30 */ lfs f0, 0x30(r1) /* 8007F140 0007C0A0 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 8007F144 0007C0A4 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8007F148 0007C0A8 D0 1F 00 14 */ stfs f0, 0x14(r31) /* 8007F14C 0007C0AC 48 00 00 0C */ b lbl_8007F158 lbl_8007F150: /* 8007F150 0007C0B0 38 00 00 00 */ li r0, 0 /* 8007F154 0007C0B4 98 1F 00 18 */ stb r0, 0x18(r31) lbl_8007F158: /* 8007F158 0007C0B8 80 01 00 44 */ lwz r0, 0x44(r1) /* 8007F15C 0007C0BC 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8007F160 0007C0C0 7C 08 03 A6 */ mtlr r0 /* 8007F164 0007C0C4 38 21 00 40 */ addi r1, r1, 0x40 /* 8007F168 0007C0C8 4E 80 00 20 */ blr .global GetTouchBounds__11CScriptDoorCFv GetTouchBounds__11CScriptDoorCFv: /* 8007F16C 0007C0CC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8007F170 0007C0D0 7C 08 02 A6 */ mflr r0 /* 8007F174 0007C0D4 90 01 00 34 */ stw r0, 0x34(r1) /* 8007F178 0007C0D8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8007F17C 0007C0DC 7C 7F 1B 78 */ mr r31, r3 /* 8007F180 0007C0E0 88 04 00 30 */ lbz r0, 0x30(r4) /* 8007F184 0007C0E4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8007F188 0007C0E8 41 82 00 78 */ beq lbl_8007F200 /* 8007F18C 0007C0EC 80 04 00 68 */ lwz r0, 0x68(r4) /* 8007F190 0007C0F0 38 A0 00 00 */ li r5, 0 /* 8007F194 0007C0F4 80 C4 00 6C */ lwz r6, 0x6c(r4) /* 8007F198 0007C0F8 3C 60 00 08 */ lis r3, 8 /* 8007F19C 0007C0FC 7C 00 28 38 */ and r0, r0, r5 /* 8007F1A0 0007C100 7C C3 18 38 */ and r3, r6, r3 /* 8007F1A4 0007C104 7C 63 2A 78 */ xor r3, r3, r5 /* 8007F1A8 0007C108 7C 00 2A 78 */ xor r0, r0, r5 /* 8007F1AC 0007C10C 7C 60 03 79 */ or. r0, r3, r0 /* 8007F1B0 0007C110 41 82 00 50 */ beq lbl_8007F200 /* 8007F1B4 0007C114 38 61 00 08 */ addi r3, r1, 8 /* 8007F1B8 0007C118 48 09 B7 75 */ bl GetBoundingBox__13CPhysicsActorCFv /* 8007F1BC 0007C11C 38 00 00 01 */ li r0, 1 /* 8007F1C0 0007C120 28 1F 00 00 */ cmplwi r31, 0 /* 8007F1C4 0007C124 98 1F 00 18 */ stb r0, 0x18(r31) /* 8007F1C8 0007C128 41 82 00 40 */ beq lbl_8007F208 /* 8007F1CC 0007C12C C0 01 00 08 */ lfs f0, 8(r1) /* 8007F1D0 0007C130 D0 1F 00 00 */ stfs f0, 0(r31) /* 8007F1D4 0007C134 C0 01 00 0C */ lfs f0, 0xc(r1) /* 8007F1D8 0007C138 D0 1F 00 04 */ stfs f0, 4(r31) /* 8007F1DC 0007C13C C0 01 00 10 */ lfs f0, 0x10(r1) /* 8007F1E0 0007C140 D0 1F 00 08 */ stfs f0, 8(r31) /* 8007F1E4 0007C144 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8007F1E8 0007C148 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 8007F1EC 0007C14C C0 01 00 18 */ lfs f0, 0x18(r1) /* 8007F1F0 0007C150 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 8007F1F4 0007C154 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8007F1F8 0007C158 D0 1F 00 14 */ stfs f0, 0x14(r31) /* 8007F1FC 0007C15C 48 00 00 0C */ b lbl_8007F208 lbl_8007F200: /* 8007F200 0007C160 38 00 00 00 */ li r0, 0 /* 8007F204 0007C164 98 1F 00 18 */ stb r0, 0x18(r31) lbl_8007F208: /* 8007F208 0007C168 80 01 00 34 */ lwz r0, 0x34(r1) /* 8007F20C 0007C16C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8007F210 0007C170 7C 08 03 A6 */ mtlr r0 /* 8007F214 0007C174 38 21 00 30 */ addi r1, r1, 0x30 /* 8007F218 0007C178 4E 80 00 20 */ blr .global "__ct__11CScriptDoorF9TUniqueIdRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC16CActorParametersRC9CVector3fRC6CAABoxbbfb" "__ct__11CScriptDoorF9TUniqueIdRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC16CActorParametersRC9CVector3fRC6CAABoxbbfb": /* 8007F21C 0007C17C 94 21 FE E0 */ stwu r1, -0x120(r1) /* 8007F220 0007C180 7C 08 02 A6 */ mflr r0 /* 8007F224 0007C184 90 01 01 24 */ stw r0, 0x124(r1) /* 8007F228 0007C188 DB E1 01 10 */ stfd f31, 0x110(r1) /* 8007F22C 0007C18C F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0 /* 8007F230 0007C190 BE 21 00 D4 */ stmw r17, 0xd4(r1) /* 8007F234 0007C194 FF E0 08 90 */ fmr f31, f1 /* 8007F238 0007C198 82 A1 01 28 */ lwz r21, 0x128(r1) /* 8007F23C 0007C19C 8A 81 01 2F */ lbz r20, 0x12f(r1) /* 8007F240 0007C1A0 7C 7E 1B 78 */ mr r30, r3 /* 8007F244 0007C1A4 8B 81 01 33 */ lbz r28, 0x133(r1) /* 8007F248 0007C1A8 7C 9F 23 78 */ mr r31, r4 /* 8007F24C 0007C1AC 8A 61 01 37 */ lbz r19, 0x137(r1) /* 8007F250 0007C1B0 7C B6 2B 78 */ mr r22, r5 /* 8007F254 0007C1B4 8B A1 01 3B */ lbz r29, 0x13b(r1) /* 8007F258 0007C1B8 7C D7 33 78 */ mr r23, r6 /* 8007F25C 0007C1BC 7C F8 3B 78 */ mr r24, r7 /* 8007F260 0007C1C0 7D 19 43 78 */ mr r25, r8 /* 8007F264 0007C1C4 7D 3A 4B 78 */ mr r26, r9 /* 8007F268 0007C1C8 7D 5B 53 78 */ mr r27, r10 /* 8007F26C 0007C1CC 4B F9 C2 C9 */ bl Identity__10CAxisAngleFv /* 8007F270 0007C1D0 7C 71 1B 78 */ mr r17, r3 /* 8007F274 0007C1D4 4B F9 C2 C1 */ bl Identity__10CAxisAngleFv /* 8007F278 0007C1D8 3C 80 80 5A */ lis r4, skZero3f@ha /* 8007F27C 0007C1DC C4 44 66 A0 */ lfsu f2, skZero3f@l(r4) /* 8007F280 0007C1E0 C0 02 89 70 */ lfs f0, lbl_805AA690@sda21(r2) /* 8007F284 0007C1E4 28 1C 00 00 */ cmplwi r28, 0 /* 8007F288 0007C1E8 C0 64 00 04 */ lfs f3, 4(r4) /* 8007F28C 0007C1EC 3A 41 00 90 */ addi r18, r1, 0x90 /* 8007F290 0007C1F0 C0 84 00 08 */ lfs f4, 8(r4) /* 8007F294 0007C1F4 D0 41 00 90 */ stfs f2, 0x90(r1) /* 8007F298 0007C1F8 D0 61 00 94 */ stfs f3, 0x94(r1) /* 8007F29C 0007C1FC D0 81 00 98 */ stfs f4, 0x98(r1) /* 8007F2A0 0007C200 C0 23 00 00 */ lfs f1, 0(r3) /* 8007F2A4 0007C204 D0 21 00 9C */ stfs f1, 0x9c(r1) /* 8007F2A8 0007C208 C0 23 00 04 */ lfs f1, 4(r3) /* 8007F2AC 0007C20C D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 8007F2B0 0007C210 C0 23 00 08 */ lfs f1, 8(r3) /* 8007F2B4 0007C214 D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 8007F2B8 0007C218 D0 41 00 A8 */ stfs f2, 0xa8(r1) /* 8007F2BC 0007C21C D0 61 00 AC */ stfs f3, 0xac(r1) /* 8007F2C0 0007C220 D0 81 00 B0 */ stfs f4, 0xb0(r1) /* 8007F2C4 0007C224 C0 31 00 00 */ lfs f1, 0(r17) /* 8007F2C8 0007C228 D0 21 00 B4 */ stfs f1, 0xb4(r1) /* 8007F2CC 0007C22C C0 31 00 04 */ lfs f1, 4(r17) /* 8007F2D0 0007C230 D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 8007F2D4 0007C234 C0 31 00 08 */ lfs f1, 8(r17) /* 8007F2D8 0007C238 D0 21 00 BC */ stfs f1, 0xbc(r1) /* 8007F2DC 0007C23C D0 01 00 C0 */ stfs f0, 0xc0(r1) /* 8007F2E0 0007C240 41 82 00 90 */ beq lbl_8007F370 /* 8007F2E4 0007C244 38 00 00 00 */ li r0, 0 /* 8007F2E8 0007C248 80 AD 84 30 */ lwz r5, lbl_805A6FF0@sda21(r13) /* 8007F2EC 0007C24C 90 01 00 2C */ stw r0, 0x2c(r1) /* 8007F2F0 0007C250 38 60 00 00 */ li r3, 0 /* 8007F2F4 0007C254 38 80 00 01 */ li r4, 1 /* 8007F2F8 0007C258 90 01 00 28 */ stw r0, 0x28(r1) /* 8007F2FC 0007C25C 48 30 AB F9 */ bl __shl2i /* 8007F300 0007C260 80 01 00 28 */ lwz r0, 0x28(r1) /* 8007F304 0007C264 80 C1 00 2C */ lwz r6, 0x2c(r1) /* 8007F308 0007C268 7C 00 1B 78 */ or r0, r0, r3 /* 8007F30C 0007C26C 80 AD 84 34 */ lwz r5, lbl_805A6FF4@sda21(r13) /* 8007F310 0007C270 7C C4 23 78 */ or r4, r6, r4 /* 8007F314 0007C274 90 01 00 28 */ stw r0, 0x28(r1) /* 8007F318 0007C278 38 60 00 00 */ li r3, 0 /* 8007F31C 0007C27C 90 81 00 2C */ stw r4, 0x2c(r1) /* 8007F320 0007C280 38 80 00 01 */ li r4, 1 /* 8007F324 0007C284 48 30 AB D1 */ bl __shl2i /* 8007F328 0007C288 80 01 00 28 */ lwz r0, 0x28(r1) /* 8007F32C 0007C28C 80 C1 00 2C */ lwz r6, 0x2c(r1) /* 8007F330 0007C290 7C 00 1B 78 */ or r0, r0, r3 /* 8007F334 0007C294 80 AD 84 38 */ lwz r5, lbl_805A6FF8@sda21(r13) /* 8007F338 0007C298 7C C4 23 78 */ or r4, r6, r4 /* 8007F33C 0007C29C 90 01 00 28 */ stw r0, 0x28(r1) /* 8007F340 0007C2A0 38 60 00 00 */ li r3, 0 /* 8007F344 0007C2A4 90 81 00 2C */ stw r4, 0x2c(r1) /* 8007F348 0007C2A8 38 80 00 01 */ li r4, 1 /* 8007F34C 0007C2AC 48 30 AB A9 */ bl __shl2i /* 8007F350 0007C2B0 80 01 00 28 */ lwz r0, 0x28(r1) /* 8007F354 0007C2B4 39 41 00 28 */ addi r10, r1, 0x28 /* 8007F358 0007C2B8 80 A1 00 2C */ lwz r5, 0x2c(r1) /* 8007F35C 0007C2BC 7C 00 1B 78 */ or r0, r0, r3 /* 8007F360 0007C2C0 7C A3 23 78 */ or r3, r5, r4 /* 8007F364 0007C2C4 90 01 00 28 */ stw r0, 0x28(r1) /* 8007F368 0007C2C8 90 61 00 2C */ stw r3, 0x2c(r1) /* 8007F36C 0007C2CC 48 00 00 B4 */ b lbl_8007F420 lbl_8007F370: /* 8007F370 0007C2D0 38 00 00 00 */ li r0, 0 /* 8007F374 0007C2D4 80 AD 84 3C */ lwz r5, lbl_805A6FFC@sda21(r13) /* 8007F378 0007C2D8 90 01 00 24 */ stw r0, 0x24(r1) /* 8007F37C 0007C2DC 38 60 00 00 */ li r3, 0 /* 8007F380 0007C2E0 38 80 00 01 */ li r4, 1 /* 8007F384 0007C2E4 90 01 00 20 */ stw r0, 0x20(r1) /* 8007F388 0007C2E8 48 30 AB 6D */ bl __shl2i /* 8007F38C 0007C2EC 80 01 00 20 */ lwz r0, 0x20(r1) /* 8007F390 0007C2F0 80 C1 00 24 */ lwz r6, 0x24(r1) /* 8007F394 0007C2F4 7C 00 1B 78 */ or r0, r0, r3 /* 8007F398 0007C2F8 80 AD 84 40 */ lwz r5, lbl_805A7000@sda21(r13) /* 8007F39C 0007C2FC 7C C4 23 78 */ or r4, r6, r4 /* 8007F3A0 0007C300 90 01 00 20 */ stw r0, 0x20(r1) /* 8007F3A4 0007C304 38 60 00 00 */ li r3, 0 /* 8007F3A8 0007C308 90 81 00 24 */ stw r4, 0x24(r1) /* 8007F3AC 0007C30C 38 80 00 01 */ li r4, 1 /* 8007F3B0 0007C310 48 30 AB 45 */ bl __shl2i /* 8007F3B4 0007C314 80 01 00 20 */ lwz r0, 0x20(r1) /* 8007F3B8 0007C318 80 C1 00 24 */ lwz r6, 0x24(r1) /* 8007F3BC 0007C31C 7C 00 1B 78 */ or r0, r0, r3 /* 8007F3C0 0007C320 80 AD 84 44 */ lwz r5, lbl_805A7004@sda21(r13) /* 8007F3C4 0007C324 7C C4 23 78 */ or r4, r6, r4 /* 8007F3C8 0007C328 90 01 00 20 */ stw r0, 0x20(r1) /* 8007F3CC 0007C32C 38 60 00 00 */ li r3, 0 /* 8007F3D0 0007C330 90 81 00 24 */ stw r4, 0x24(r1) /* 8007F3D4 0007C334 38 80 00 01 */ li r4, 1 /* 8007F3D8 0007C338 48 30 AB 1D */ bl __shl2i /* 8007F3DC 0007C33C 80 01 00 20 */ lwz r0, 0x20(r1) /* 8007F3E0 0007C340 80 C1 00 24 */ lwz r6, 0x24(r1) /* 8007F3E4 0007C344 7C 00 1B 78 */ or r0, r0, r3 /* 8007F3E8 0007C348 80 AD 84 48 */ lwz r5, lbl_805A7008@sda21(r13) /* 8007F3EC 0007C34C 7C C4 23 78 */ or r4, r6, r4 /* 8007F3F0 0007C350 90 01 00 20 */ stw r0, 0x20(r1) /* 8007F3F4 0007C354 38 60 00 00 */ li r3, 0 /* 8007F3F8 0007C358 90 81 00 24 */ stw r4, 0x24(r1) /* 8007F3FC 0007C35C 38 80 00 01 */ li r4, 1 /* 8007F400 0007C360 48 30 AA F5 */ bl __shl2i /* 8007F404 0007C364 80 01 00 20 */ lwz r0, 0x20(r1) /* 8007F408 0007C368 39 41 00 20 */ addi r10, r1, 0x20 /* 8007F40C 0007C36C 80 A1 00 24 */ lwz r5, 0x24(r1) /* 8007F410 0007C370 7C 00 1B 78 */ or r0, r0, r3 /* 8007F414 0007C374 7C A3 23 78 */ or r3, r5, r4 /* 8007F418 0007C378 90 01 00 20 */ stw r0, 0x20(r1) /* 8007F41C 0007C37C 90 61 00 24 */ stw r3, 0x24(r1) lbl_8007F420: /* 8007F420 0007C380 A0 1F 00 00 */ lhz r0, 0(r31) /* 8007F424 0007C384 7F C3 F3 78 */ mr r3, r30 /* 8007F428 0007C388 C0 22 89 74 */ lfs f1, lbl_805AA694@sda21(r2) /* 8007F42C 0007C38C 7E 85 A3 78 */ mr r5, r20 /* 8007F430 0007C390 B0 01 00 18 */ sth r0, 0x18(r1) /* 8007F434 0007C394 7E C6 B3 78 */ mr r6, r22 /* 8007F438 0007C398 C0 42 89 78 */ lfs f2, lbl_805AA698@sda21(r2) /* 8007F43C 0007C39C 7E E7 BB 78 */ mr r7, r23 /* 8007F440 0007C3A0 92 A1 00 08 */ stw r21, 8(r1) /* 8007F444 0007C3A4 7F 08 C3 78 */ mr r8, r24 /* 8007F448 0007C3A8 7F 29 CB 78 */ mr r9, r25 /* 8007F44C 0007C3AC 38 81 00 18 */ addi r4, r1, 0x18 /* 8007F450 0007C3B0 92 41 00 0C */ stw r18, 0xc(r1) /* 8007F454 0007C3B4 93 41 00 10 */ stw r26, 0x10(r1) /* 8007F458 0007C3B8 48 09 D0 59 */ bl "__ct__13CPhysicsActorF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC6CAABoxRC10SMoverDataRC16CActorParametersff" /* 8007F45C 0007C3BC 3C 60 80 3E */ lis r3, lbl_803DAA78@ha /* 8007F460 0007C3C0 C0 02 89 68 */ lfs f0, lbl_805AA688@sda21(r2) /* 8007F464 0007C3C4 38 63 AA 78 */ addi r3, r3, lbl_803DAA78@l /* 8007F468 0007C3C8 38 00 00 00 */ li r0, 0 /* 8007F46C 0007C3CC 90 7E 00 00 */ stw r3, 0(r30) /* 8007F470 0007C3D0 7F C4 F3 78 */ mr r4, r30 /* 8007F474 0007C3D4 38 61 00 48 */ addi r3, r1, 0x48 /* 8007F478 0007C3D8 D3 FE 02 58 */ stfs f31, 0x258(r30) /* 8007F47C 0007C3DC D0 1E 02 5C */ stfs f0, 0x25c(r30) /* 8007F480 0007C3E0 90 1E 02 60 */ stw r0, 0x260(r30) /* 8007F484 0007C3E4 48 09 B4 A9 */ bl GetBoundingBox__13CPhysicsActorCFv /* 8007F488 0007C3E8 C0 01 00 48 */ lfs f0, 0x48(r1) /* 8007F48C 0007C3EC 7F 04 C3 78 */ mr r4, r24 /* 8007F490 0007C3F0 38 61 00 60 */ addi r3, r1, 0x60 /* 8007F494 0007C3F4 D0 1E 02 64 */ stfs f0, 0x264(r30) /* 8007F498 0007C3F8 C0 01 00 4C */ lfs f0, 0x4c(r1) /* 8007F49C 0007C3FC D0 1E 02 68 */ stfs f0, 0x268(r30) /* 8007F4A0 0007C400 C0 01 00 50 */ lfs f0, 0x50(r1) /* 8007F4A4 0007C404 D0 1E 02 6C */ stfs f0, 0x26c(r30) /* 8007F4A8 0007C408 C0 01 00 54 */ lfs f0, 0x54(r1) /* 8007F4AC 0007C40C D0 1E 02 70 */ stfs f0, 0x270(r30) /* 8007F4B0 0007C410 C0 01 00 58 */ lfs f0, 0x58(r1) /* 8007F4B4 0007C414 D0 1E 02 74 */ stfs f0, 0x274(r30) /* 8007F4B8 0007C418 C0 01 00 5C */ lfs f0, 0x5c(r1) /* 8007F4BC 0007C41C D0 1E 02 78 */ stfs f0, 0x278(r30) /* 8007F4C0 0007C420 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8007F4C4 0007C424 B0 1E 02 7C */ sth r0, 0x27c(r30) /* 8007F4C8 0007C428 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8007F4CC 0007C42C B0 1E 02 7E */ sth r0, 0x27e(r30) /* 8007F4D0 0007C430 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8007F4D4 0007C434 B0 1E 02 80 */ sth r0, 0x280(r30) /* 8007F4D8 0007C438 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8007F4DC 0007C43C B0 1E 02 82 */ sth r0, 0x282(r30) /* 8007F4E0 0007C440 48 29 37 61 */ bl GetRotation__12CTransform4fCFv /* 8007F4E4 0007C444 7F 24 CB 78 */ mr r4, r25 /* 8007F4E8 0007C448 38 61 00 30 */ addi r3, r1, 0x30 /* 8007F4EC 0007C44C 38 A1 00 60 */ addi r5, r1, 0x60 /* 8007F4F0 0007C450 48 09 62 C5 */ bl GetBounds__10CModelDataCFRC12CTransform4f /* 8007F4F4 0007C454 C0 01 00 30 */ lfs f0, 0x30(r1) /* 8007F4F8 0007C458 38 80 00 00 */ li r4, 0 /* 8007F4FC 0007C45C 38 60 00 01 */ li r3, 1 /* 8007F500 0007C460 28 1C 00 00 */ cmplwi r28, 0 /* 8007F504 0007C464 D0 1E 02 84 */ stfs f0, 0x284(r30) /* 8007F508 0007C468 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8007F50C 0007C46C D0 1E 02 88 */ stfs f0, 0x288(r30) /* 8007F510 0007C470 C0 01 00 38 */ lfs f0, 0x38(r1) /* 8007F514 0007C474 D0 1E 02 8C */ stfs f0, 0x28c(r30) /* 8007F518 0007C478 C0 01 00 3C */ lfs f0, 0x3c(r1) /* 8007F51C 0007C47C D0 1E 02 90 */ stfs f0, 0x290(r30) /* 8007F520 0007C480 C0 01 00 40 */ lfs f0, 0x40(r1) /* 8007F524 0007C484 D0 1E 02 94 */ stfs f0, 0x294(r30) /* 8007F528 0007C488 C0 01 00 44 */ lfs f0, 0x44(r1) /* 8007F52C 0007C48C D0 1E 02 98 */ stfs f0, 0x298(r30) /* 8007F530 0007C490 C0 1B 00 00 */ lfs f0, 0(r27) /* 8007F534 0007C494 D0 1E 02 9C */ stfs f0, 0x29c(r30) /* 8007F538 0007C498 C0 1B 00 04 */ lfs f0, 4(r27) /* 8007F53C 0007C49C D0 1E 02 A0 */ stfs f0, 0x2a0(r30) /* 8007F540 0007C4A0 C0 1B 00 08 */ lfs f0, 8(r27) /* 8007F544 0007C4A4 D0 1E 02 A4 */ stfs f0, 0x2a4(r30) /* 8007F548 0007C4A8 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007F54C 0007C4AC 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 8007F550 0007C4B0 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007F554 0007C4B4 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007F558 0007C4B8 53 80 36 72 */ rlwimi r0, r28, 6, 0x19, 0x19 /* 8007F55C 0007C4BC 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007F560 0007C4C0 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007F564 0007C4C4 53 80 2E B4 */ rlwimi r0, r28, 5, 0x1a, 0x1a /* 8007F568 0007C4C8 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007F56C 0007C4CC 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007F570 0007C4D0 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b /* 8007F574 0007C4D4 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007F578 0007C4D8 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007F57C 0007C4DC 52 60 1F 38 */ rlwimi r0, r19, 3, 0x1c, 0x1c /* 8007F580 0007C4E0 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007F584 0007C4E4 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007F588 0007C4E8 53 A0 17 7A */ rlwimi r0, r29, 2, 0x1d, 0x1d /* 8007F58C 0007C4EC 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007F590 0007C4F0 88 1E 02 A8 */ lbz r0, 0x2a8(r30) /* 8007F594 0007C4F4 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e /* 8007F598 0007C4F8 98 1E 02 A8 */ stb r0, 0x2a8(r30) /* 8007F59C 0007C4FC 88 1E 00 E6 */ lbz r0, 0xe6(r30) /* 8007F5A0 0007C500 50 60 1E F8 */ rlwimi r0, r3, 3, 0x1b, 0x1c /* 8007F5A4 0007C504 98 1E 00 E6 */ stb r0, 0xe6(r30) /* 8007F5A8 0007C508 41 82 00 10 */ beq lbl_8007F5B8 /* 8007F5AC 0007C50C 7F C3 F3 78 */ mr r3, r30 /* 8007F5B0 0007C510 38 80 00 00 */ li r4, 0 /* 8007F5B4 0007C514 4B FF F4 1D */ bl SetDoorAnimation__11CScriptDoorFQ211CScriptDoor13EDoorAnimType lbl_8007F5B8: /* 8007F5B8 0007C518 C0 22 89 68 */ lfs f1, lbl_805AA688@sda21(r2) /* 8007F5BC 0007C51C 7F C3 F3 78 */ mr r3, r30 /* 8007F5C0 0007C520 48 09 B4 C9 */ bl SetMass__13CPhysicsActorFf /* 8007F5C4 0007C524 7F C3 F3 78 */ mr r3, r30 /* 8007F5C8 0007C528 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0 /* 8007F5CC 0007C52C CB E1 01 10 */ lfd f31, 0x110(r1) /* 8007F5D0 0007C530 BA 21 00 D4 */ lmw r17, 0xd4(r1) /* 8007F5D4 0007C534 80 01 01 24 */ lwz r0, 0x124(r1) /* 8007F5D8 0007C538 7C 08 03 A6 */ mtlr r0 /* 8007F5DC 0007C53C 38 21 01 20 */ addi r1, r1, 0x120 /* 8007F5E0 0007C540 4E 80 00 20 */ blr