.include "macros.inc" .section .data .balign 8 .global lbl_803DF3B8 lbl_803DF3B8: # ROM: 0x3DC3B8 .4byte 0 .4byte 0 .4byte __dt__10CGameLightFv .4byte Accept__10CGameLightFR8IVisitor .4byte PreThink__7CEntityFfR13CStateManager .4byte Think__10CGameLightFfR13CStateManager .4byte AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager .4byte SetActive__6CActorFb .4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes .4byte AddToRenderer__6CActorCFRC14CFrustumPlanesRC13CStateManager .4byte Render__6CActorCFRC13CStateManager .4byte CanRenderUnsorted__6CActorCFRC13CStateManager .4byte CalculateRenderBounds__6CActorFv .4byte HealthInfo__6CActorFR13CStateManager .4byte GetDamageVulnerability__6CActorCFv .4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo .4byte GetTouchBounds__6CActorCFv .4byte Touch__6CActorFR6CActorR13CStateManager .4byte GetOrbitPosition__6CActorCFRC13CStateManager .4byte GetAimPosition__6CActorCFRC13CStateManagerf .4byte GetHomingPosition__6CActorCFRC13CStateManagerf .4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager .4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei .4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager .4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager .4byte GetSortingBounds__6CActorCFRC12CTransform4f .4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventType .4byte 0 .section .sdata .balign 8 .global lbl_805A7218 lbl_805A7218: # ROM: 0x3F4BB8 .4byte 0 .4byte 0 .section .sdata2, "a" .balign 8 .global lbl_805AAA10 lbl_805AAA10: # ROM: 0x3F72B0 .float 0.0 .4byte 0 .section .text, "ax" .global __dt__10CGameLightFv __dt__10CGameLightFv: /* 800B55A0 000B2500 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800B55A4 000B2504 7C 08 02 A6 */ mflr r0 /* 800B55A8 000B2508 90 01 00 14 */ stw r0, 0x14(r1) /* 800B55AC 000B250C 93 E1 00 0C */ stw r31, 0xc(r1) /* 800B55B0 000B2510 7C 9F 23 78 */ mr r31, r4 /* 800B55B4 000B2514 93 C1 00 08 */ stw r30, 8(r1) /* 800B55B8 000B2518 7C 7E 1B 79 */ or. r30, r3, r3 /* 800B55BC 000B251C 41 82 00 28 */ beq lbl_800B55E4 /* 800B55C0 000B2520 3C A0 80 3E */ lis r5, lbl_803DF3B8@ha /* 800B55C4 000B2524 38 80 00 00 */ li r4, 0 /* 800B55C8 000B2528 38 05 F3 B8 */ addi r0, r5, lbl_803DF3B8@l /* 800B55CC 000B252C 90 1E 00 00 */ stw r0, 0(r30) /* 800B55D0 000B2530 4B FA 01 21 */ bl __dt__6CActorFv /* 800B55D4 000B2534 7F E0 07 35 */ extsh. r0, r31 /* 800B55D8 000B2538 40 81 00 0C */ ble lbl_800B55E4 /* 800B55DC 000B253C 7F C3 F3 78 */ mr r3, r30 /* 800B55E0 000B2540 48 26 03 51 */ bl Free__7CMemoryFPCv lbl_800B55E4: /* 800B55E4 000B2544 80 01 00 14 */ lwz r0, 0x14(r1) /* 800B55E8 000B2548 7F C3 F3 78 */ mr r3, r30 /* 800B55EC 000B254C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800B55F0 000B2550 83 C1 00 08 */ lwz r30, 8(r1) /* 800B55F4 000B2554 7C 08 03 A6 */ mtlr r0 /* 800B55F8 000B2558 38 21 00 10 */ addi r1, r1, 0x10 /* 800B55FC 000B255C 4E 80 00 20 */ blr .global SetLightPriorityAndId__10CGameLightFv SetLightPriorityAndId__10CGameLightFv: /* 800B5600 000B2560 80 03 01 40 */ lwz r0, 0x140(r3) /* 800B5604 000B2564 90 03 01 28 */ stw r0, 0x128(r3) /* 800B5608 000B2568 80 03 01 3C */ lwz r0, 0x13c(r3) /* 800B560C 000B256C 90 03 01 2C */ stw r0, 0x12c(r3) /* 800B5610 000B2570 4E 80 00 20 */ blr .global Accept__10CGameLightFR8IVisitor Accept__10CGameLightFR8IVisitor: /* 800B5614 000B2574 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800B5618 000B2578 7C 08 02 A6 */ mflr r0 /* 800B561C 000B257C 90 01 00 14 */ stw r0, 0x14(r1) /* 800B5620 000B2580 7C 60 1B 78 */ mr r0, r3 /* 800B5624 000B2584 7C 83 23 78 */ mr r3, r4 /* 800B5628 000B2588 81 84 00 00 */ lwz r12, 0(r4) /* 800B562C 000B258C 7C 04 03 78 */ mr r4, r0 /* 800B5630 000B2590 81 8C 00 38 */ lwz r12, 0x38(r12) /* 800B5634 000B2594 7D 89 03 A6 */ mtctr r12 /* 800B5638 000B2598 4E 80 04 21 */ bctrl /* 800B563C 000B259C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800B5640 000B25A0 7C 08 03 A6 */ mtlr r0 /* 800B5644 000B25A4 38 21 00 10 */ addi r1, r1, 0x10 /* 800B5648 000B25A8 4E 80 00 20 */ blr .global Think__10CGameLightFfR13CStateManager Think__10CGameLightFfR13CStateManager: /* 800B564C 000B25AC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800B5650 000B25B0 7C 08 02 A6 */ mflr r0 /* 800B5654 000B25B4 C0 42 8C F0 */ lfs f2, lbl_805AAA10@sda21(r2) /* 800B5658 000B25B8 90 01 00 14 */ stw r0, 0x14(r1) /* 800B565C 000B25BC C0 03 01 44 */ lfs f0, 0x144(r3) /* 800B5660 000B25C0 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 800B5664 000B25C4 40 81 00 34 */ ble lbl_800B5698 /* 800B5668 000B25C8 EC 00 08 28 */ fsubs f0, f0, f1 /* 800B566C 000B25CC D0 03 01 44 */ stfs f0, 0x144(r3) /* 800B5670 000B25D0 C0 03 01 44 */ lfs f0, 0x144(r3) /* 800B5674 000B25D4 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 800B5678 000B25D8 4C 40 13 82 */ cror 2, 0, 2 /* 800B567C 000B25DC 40 82 00 1C */ bne lbl_800B5698 /* 800B5680 000B25E0 A0 03 00 08 */ lhz r0, 8(r3) /* 800B5684 000B25E4 7C 83 23 78 */ mr r3, r4 /* 800B5688 000B25E8 38 81 00 0C */ addi r4, r1, 0xc /* 800B568C 000B25EC B0 01 00 08 */ sth r0, 8(r1) /* 800B5690 000B25F0 B0 01 00 0C */ sth r0, 0xc(r1) /* 800B5694 000B25F4 4B F9 6B D9 */ bl FreeScriptObject__13CStateManagerF9TUniqueId lbl_800B5698: /* 800B5698 000B25F8 80 01 00 14 */ lwz r0, 0x14(r1) /* 800B569C 000B25FC 7C 08 03 A6 */ mtlr r0 /* 800B56A0 000B2600 38 21 00 10 */ addi r1, r1, 0x10 /* 800B56A4 000B2604 4E 80 00 20 */ blr .global GetLight__10CGameLightCFv GetLight__10CGameLightCFv: /* 800B56A8 000B2608 94 21 FF 70 */ stwu r1, -0x90(r1) /* 800B56AC 000B260C 7C 08 02 A6 */ mflr r0 /* 800B56B0 000B2610 90 01 00 94 */ stw r0, 0x94(r1) /* 800B56B4 000B2614 93 E1 00 8C */ stw r31, 0x8c(r1) /* 800B56B8 000B2618 7C 9F 23 78 */ mr r31, r4 /* 800B56BC 000B261C 38 9F 00 EC */ addi r4, r31, 0xec /* 800B56C0 000B2620 93 C1 00 88 */ stw r30, 0x88(r1) /* 800B56C4 000B2624 7C 7E 1B 78 */ mr r30, r3 /* 800B56C8 000B2628 38 61 00 2C */ addi r3, r1, 0x2c /* 800B56CC 000B262C 4B F8 5E A5 */ bl __ct__6CLightFCR6CLight /* 800B56D0 000B2630 38 61 00 20 */ addi r3, r1, 0x20 /* 800B56D4 000B2634 38 9F 00 34 */ addi r4, r31, 0x34 /* 800B56D8 000B2638 38 BF 00 EC */ addi r5, r31, 0xec /* 800B56DC 000B263C 48 25 D4 0D */ bl __ml__12CTransform4fCFRC9CVector3f /* 800B56E0 000B2640 38 61 00 2C */ addi r3, r1, 0x2c /* 800B56E4 000B2644 38 81 00 20 */ addi r4, r1, 0x20 /* 800B56E8 000B2648 48 25 0C 59 */ bl SetPosition__6CLightFRC9CVector3f /* 800B56EC 000B264C 80 01 00 48 */ lwz r0, 0x48(r1) /* 800B56F0 000B2650 2C 00 00 01 */ cmpwi r0, 1 /* 800B56F4 000B2654 41 82 00 2C */ beq lbl_800B5720 /* 800B56F8 000B2658 38 61 00 08 */ addi r3, r1, 8 /* 800B56FC 000B265C 38 9F 00 34 */ addi r4, r31, 0x34 /* 800B5700 000B2660 38 BF 00 F8 */ addi r5, r31, 0xf8 /* 800B5704 000B2664 48 25 D3 7D */ bl Rotate__12CTransform4fCFRC9CVector3f /* 800B5708 000B2668 38 61 00 14 */ addi r3, r1, 0x14 /* 800B570C 000B266C 38 81 00 08 */ addi r4, r1, 8 /* 800B5710 000B2670 48 25 F1 41 */ bl AsNormalized__9CVector3fCFv /* 800B5714 000B2674 38 61 00 2C */ addi r3, r1, 0x2c /* 800B5718 000B2678 38 81 00 14 */ addi r4, r1, 0x14 /* 800B571C 000B267C 48 25 0C 09 */ bl SetDirection__6CLightFRC9CVector3f lbl_800B5720: /* 800B5720 000B2680 7F C3 F3 78 */ mr r3, r30 /* 800B5724 000B2684 38 81 00 2C */ addi r4, r1, 0x2c /* 800B5728 000B2688 4B F8 5E 49 */ bl __ct__6CLightFCR6CLight /* 800B572C 000B268C 80 01 00 94 */ lwz r0, 0x94(r1) /* 800B5730 000B2690 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 800B5734 000B2694 83 C1 00 88 */ lwz r30, 0x88(r1) /* 800B5738 000B2698 7C 08 03 A6 */ mtlr r0 /* 800B573C 000B269C 38 21 00 90 */ addi r1, r1, 0x90 /* 800B5740 000B26A0 4E 80 00 20 */ blr .global SetLight__10CGameLightFRC6CLight SetLight__10CGameLightFRC6CLight: /* 800B5744 000B26A4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800B5748 000B26A8 7C 08 02 A6 */ mflr r0 /* 800B574C 000B26AC 90 01 00 14 */ stw r0, 0x14(r1) /* 800B5750 000B26B0 93 E1 00 0C */ stw r31, 0xc(r1) /* 800B5754 000B26B4 7C 7F 1B 78 */ mr r31, r3 /* 800B5758 000B26B8 38 7F 00 EC */ addi r3, r31, 0xec /* 800B575C 000B26BC 80 A4 00 00 */ lwz r5, 0(r4) /* 800B5760 000B26C0 80 04 00 04 */ lwz r0, 4(r4) /* 800B5764 000B26C4 90 BF 00 EC */ stw r5, 0xec(r31) /* 800B5768 000B26C8 90 1F 00 F0 */ stw r0, 0xf0(r31) /* 800B576C 000B26CC 80 04 00 08 */ lwz r0, 8(r4) /* 800B5770 000B26D0 90 1F 00 F4 */ stw r0, 0xf4(r31) /* 800B5774 000B26D4 80 A4 00 0C */ lwz r5, 0xc(r4) /* 800B5778 000B26D8 80 04 00 10 */ lwz r0, 0x10(r4) /* 800B577C 000B26DC 90 BF 00 F8 */ stw r5, 0xf8(r31) /* 800B5780 000B26E0 90 1F 00 FC */ stw r0, 0xfc(r31) /* 800B5784 000B26E4 80 04 00 14 */ lwz r0, 0x14(r4) /* 800B5788 000B26E8 90 1F 01 00 */ stw r0, 0x100(r31) /* 800B578C 000B26EC 80 04 00 18 */ lwz r0, 0x18(r4) /* 800B5790 000B26F0 90 1F 01 04 */ stw r0, 0x104(r31) /* 800B5794 000B26F4 80 04 00 1C */ lwz r0, 0x1c(r4) /* 800B5798 000B26F8 90 1F 01 08 */ stw r0, 0x108(r31) /* 800B579C 000B26FC C0 04 00 20 */ lfs f0, 0x20(r4) /* 800B57A0 000B2700 D0 1F 01 0C */ stfs f0, 0x10c(r31) /* 800B57A4 000B2704 C0 04 00 24 */ lfs f0, 0x24(r4) /* 800B57A8 000B2708 D0 1F 01 10 */ stfs f0, 0x110(r31) /* 800B57AC 000B270C C0 04 00 28 */ lfs f0, 0x28(r4) /* 800B57B0 000B2710 D0 1F 01 14 */ stfs f0, 0x114(r31) /* 800B57B4 000B2714 C0 04 00 2C */ lfs f0, 0x2c(r4) /* 800B57B8 000B2718 D0 1F 01 18 */ stfs f0, 0x118(r31) /* 800B57BC 000B271C C0 04 00 30 */ lfs f0, 0x30(r4) /* 800B57C0 000B2720 D0 1F 01 1C */ stfs f0, 0x11c(r31) /* 800B57C4 000B2724 C0 04 00 34 */ lfs f0, 0x34(r4) /* 800B57C8 000B2728 D0 1F 01 20 */ stfs f0, 0x120(r31) /* 800B57CC 000B272C C0 04 00 38 */ lfs f0, 0x38(r4) /* 800B57D0 000B2730 D0 1F 01 24 */ stfs f0, 0x124(r31) /* 800B57D4 000B2734 80 04 00 3C */ lwz r0, 0x3c(r4) /* 800B57D8 000B2738 90 1F 01 28 */ stw r0, 0x128(r31) /* 800B57DC 000B273C 80 04 00 40 */ lwz r0, 0x40(r4) /* 800B57E0 000B2740 90 1F 01 2C */ stw r0, 0x12c(r31) /* 800B57E4 000B2744 C0 04 00 44 */ lfs f0, 0x44(r4) /* 800B57E8 000B2748 D0 1F 01 30 */ stfs f0, 0x130(r31) /* 800B57EC 000B274C C0 04 00 48 */ lfs f0, 0x48(r4) /* 800B57F0 000B2750 D0 1F 01 34 */ stfs f0, 0x134(r31) /* 800B57F4 000B2754 88 04 00 4C */ lbz r0, 0x4c(r4) /* 800B57F8 000B2758 98 1F 01 38 */ stb r0, 0x138(r31) /* 800B57FC 000B275C 48 25 0A D9 */ bl GetRadius__6CLightCFv /* 800B5800 000B2760 38 7F 00 EC */ addi r3, r31, 0xec /* 800B5804 000B2764 48 25 09 51 */ bl GetIntensity__6CLightCFv /* 800B5808 000B2768 7F E3 FB 78 */ mr r3, r31 /* 800B580C 000B276C 4B FF FD F5 */ bl SetLightPriorityAndId__10CGameLightFv /* 800B5810 000B2770 80 01 00 14 */ lwz r0, 0x14(r1) /* 800B5814 000B2774 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800B5818 000B2778 7C 08 03 A6 */ mtlr r0 /* 800B581C 000B277C 38 21 00 10 */ addi r1, r1, 0x10 /* 800B5820 000B2780 4E 80 00 20 */ blr .global "__ct__10CGameLightF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4f9TUniqueIdRC6CLightUiUif" "__ct__10CGameLightF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4f9TUniqueIdRC6CLightUiUif": /* 800B5824 000B2784 94 21 FE C0 */ stwu r1, -0x140(r1) /* 800B5828 000B2788 7C 08 02 A6 */ mflr r0 /* 800B582C 000B278C 3D 60 80 57 */ lis r11, lbl_8056D410@ha /* 800B5830 000B2790 90 01 01 44 */ stw r0, 0x144(r1) /* 800B5834 000B2794 DB E1 01 38 */ stfd f31, 0x138(r1) /* 800B5838 000B2798 FF E0 08 90 */ fmr f31, f1 /* 800B583C 000B279C BE E1 01 14 */ stmw r23, 0x114(r1) /* 800B5840 000B27A0 7C 77 1B 78 */ mr r23, r3 /* 800B5844 000B27A4 7C 98 23 78 */ mr r24, r4 /* 800B5848 000B27A8 7C D9 33 78 */ mr r25, r6 /* 800B584C 000B27AC 83 C1 01 48 */ lwz r30, 0x148(r1) /* 800B5850 000B27B0 7C FA 3B 78 */ mr r26, r7 /* 800B5854 000B27B4 83 E1 01 4C */ lwz r31, 0x14c(r1) /* 800B5858 000B27B8 7D 1B 43 78 */ mr r27, r8 /* 800B585C 000B27BC 7D 3C 4B 78 */ mr r28, r9 /* 800B5860 000B27C0 7D 5D 53 78 */ mr r29, r10 /* 800B5864 000B27C4 38 61 00 38 */ addi r3, r1, 0x38 /* 800B5868 000B27C8 38 81 00 2C */ addi r4, r1, 0x2c /* 800B586C 000B27CC 38 C1 00 28 */ addi r6, r1, 0x28 /* 800B5870 000B27D0 80 05 00 00 */ lwz r0, 0(r5) /* 800B5874 000B27D4 38 AB D4 10 */ addi r5, r11, lbl_8056D410@l /* 800B5878 000B27D8 81 8D A3 88 */ lwz r12, kInvalidEditorId@sda21(r13) /* 800B587C 000B27DC 90 01 00 2C */ stw r0, 0x2c(r1) /* 800B5880 000B27E0 91 81 00 28 */ stw r12, 0x28(r1) /* 800B5884 000B27E4 4B F9 BC 01 */ bl "__ct__11CEntityInfoF7TAreaIdRCQ24rstl48vector<11SConnection,Q24rstl17rmemory_allocator>9TEditorId" /* 800B5888 000B27E8 38 61 00 B8 */ addi r3, r1, 0xb8 /* 800B588C 000B27EC 4B F8 4F 19 */ bl CModelDataNull__10CModelDataFv /* 800B5890 000B27F0 38 61 00 50 */ addi r3, r1, 0x50 /* 800B5894 000B27F4 4B F6 55 A5 */ bl None__16CActorParametersFv /* 800B5898 000B27F8 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13) /* 800B589C 000B27FC 38 00 00 00 */ li r0, 0 /* 800B58A0 000B2800 80 AD 86 58 */ lwz r5, lbl_805A7218@sda21(r13) /* 800B58A4 000B2804 38 60 00 00 */ li r3, 0 /* 800B58A8 000B2808 B0 81 00 10 */ sth r4, 0x10(r1) /* 800B58AC 000B280C 38 80 00 01 */ li r4, 1 /* 800B58B0 000B2810 90 01 00 34 */ stw r0, 0x34(r1) /* 800B58B4 000B2814 90 01 00 30 */ stw r0, 0x30(r1) /* 800B58B8 000B2818 48 2D 46 3D */ bl __shl2i /* 800B58BC 000B281C 80 A1 00 30 */ lwz r5, 0x30(r1) /* 800B58C0 000B2820 39 61 00 50 */ addi r11, r1, 0x50 /* 800B58C4 000B2824 80 C1 00 34 */ lwz r6, 0x34(r1) /* 800B58C8 000B2828 38 01 00 10 */ addi r0, r1, 0x10 /* 800B58CC 000B282C 7C A3 1B 78 */ or r3, r5, r3 /* 800B58D0 000B2830 A0 F8 00 00 */ lhz r7, 0(r24) /* 800B58D4 000B2834 7C C4 23 78 */ or r4, r6, r4 /* 800B58D8 000B2838 90 61 00 30 */ stw r3, 0x30(r1) /* 800B58DC 000B283C 7E E3 BB 78 */ mr r3, r23 /* 800B58E0 000B2840 7F 25 CB 78 */ mr r5, r25 /* 800B58E4 000B2844 90 81 00 34 */ stw r4, 0x34(r1) /* 800B58E8 000B2848 7F 46 D3 78 */ mr r6, r26 /* 800B58EC 000B284C 7F 68 DB 78 */ mr r8, r27 /* 800B58F0 000B2850 38 81 00 14 */ addi r4, r1, 0x14 /* 800B58F4 000B2854 B0 E1 00 14 */ sth r7, 0x14(r1) /* 800B58F8 000B2858 38 E1 00 38 */ addi r7, r1, 0x38 /* 800B58FC 000B285C 39 21 00 B8 */ addi r9, r1, 0xb8 /* 800B5900 000B2860 39 41 00 30 */ addi r10, r1, 0x30 /* 800B5904 000B2864 91 61 00 08 */ stw r11, 8(r1) /* 800B5908 000B2868 90 01 00 0C */ stw r0, 0xc(r1) /* 800B590C 000B286C 4B F9 FF 15 */ bl "__ct__6CActorF9TUniqueIdbRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC16CActorParameters9TUniqueId" /* 800B5910 000B2870 38 61 00 50 */ addi r3, r1, 0x50 /* 800B5914 000B2874 38 80 FF FF */ li r4, -1 /* 800B5918 000B2878 48 05 0C F1 */ bl __dt__16CActorParametersFv /* 800B591C 000B287C 38 61 00 B8 */ addi r3, r1, 0xb8 /* 800B5920 000B2880 38 80 FF FF */ li r4, -1 /* 800B5924 000B2884 48 06 11 29 */ bl __dt__10CModelDataFv /* 800B5928 000B2888 80 01 00 40 */ lwz r0, 0x40(r1) /* 800B592C 000B288C 80 61 00 48 */ lwz r3, 0x48(r1) /* 800B5930 000B2890 1C 00 00 0C */ mulli r0, r0, 0xc /* 800B5934 000B2894 90 61 00 1C */ stw r3, 0x1c(r1) /* 800B5938 000B2898 7C 64 1B 78 */ mr r4, r3 /* 800B593C 000B289C 7C 03 02 14 */ add r0, r3, r0 /* 800B5940 000B28A0 90 61 00 18 */ stw r3, 0x18(r1) /* 800B5944 000B28A4 90 01 00 24 */ stw r0, 0x24(r1) /* 800B5948 000B28A8 90 01 00 20 */ stw r0, 0x20(r1) /* 800B594C 000B28AC 48 00 00 08 */ b lbl_800B5954 lbl_800B5950: /* 800B5950 000B28B0 38 84 00 0C */ addi r4, r4, 0xc lbl_800B5954: /* 800B5954 000B28B4 7C 04 00 40 */ cmplw r4, r0 /* 800B5958 000B28B8 40 82 FF F8 */ bne lbl_800B5950 /* 800B595C 000B28BC 28 03 00 00 */ cmplwi r3, 0 /* 800B5960 000B28C0 41 82 00 08 */ beq lbl_800B5968 /* 800B5964 000B28C4 48 25 FF CD */ bl Free__7CMemoryFPCv lbl_800B5968: /* 800B5968 000B28C8 3C 60 80 3E */ lis r3, lbl_803DF3B8@ha /* 800B596C 000B28CC 7F A4 EB 78 */ mr r4, r29 /* 800B5970 000B28D0 38 03 F3 B8 */ addi r0, r3, lbl_803DF3B8@l /* 800B5974 000B28D4 38 77 00 EC */ addi r3, r23, 0xec /* 800B5978 000B28D8 90 17 00 00 */ stw r0, 0(r23) /* 800B597C 000B28DC A0 1C 00 00 */ lhz r0, 0(r28) /* 800B5980 000B28E0 B0 17 00 E8 */ sth r0, 0xe8(r23) /* 800B5984 000B28E4 4B F8 5B ED */ bl __ct__6CLightFCR6CLight /* 800B5988 000B28E8 93 D7 01 3C */ stw r30, 0x13c(r23) /* 800B598C 000B28EC 38 77 00 EC */ addi r3, r23, 0xec /* 800B5990 000B28F0 93 F7 01 40 */ stw r31, 0x140(r23) /* 800B5994 000B28F4 D3 F7 01 44 */ stfs f31, 0x144(r23) /* 800B5998 000B28F8 48 25 09 3D */ bl GetRadius__6CLightCFv /* 800B599C 000B28FC 38 77 00 EC */ addi r3, r23, 0xec /* 800B59A0 000B2900 48 25 07 B5 */ bl GetIntensity__6CLightCFv /* 800B59A4 000B2904 7E E3 BB 78 */ mr r3, r23 /* 800B59A8 000B2908 4B FF FC 59 */ bl SetLightPriorityAndId__10CGameLightFv /* 800B59AC 000B290C 7E E3 BB 78 */ mr r3, r23 /* 800B59B0 000B2910 CB E1 01 38 */ lfd f31, 0x138(r1) /* 800B59B4 000B2914 BA E1 01 14 */ lmw r23, 0x114(r1) /* 800B59B8 000B2918 80 01 01 44 */ lwz r0, 0x144(r1) /* 800B59BC 000B291C 7C 08 03 A6 */ mtlr r0 /* 800B59C0 000B2920 38 21 01 40 */ addi r1, r1, 0x140 /* 800B59C4 000B2924 4E 80 00 20 */ blr