Skip to content

Commit c06badb

Browse files
committed
changes
1 parent b2371cd commit c06badb

File tree

1 file changed

+50
-28
lines changed

1 file changed

+50
-28
lines changed

lua/autorun/client/!dynamic-light-controller-entities.yue

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ PRE_HOOK = PRE_HOOK or HOOK_MONITOR_HIGH
33
CreateClientConVar = CreateClientConVar
44
entities = list.GetForEdit( addonName )
55
:GetClass = FindMetaTable( "Entity" )
6-
:CreateClientside = ents
7-
:Add = hook
6+
import CreateClientside from ents
7+
import Add from hook
88

99
blacklist = {}
1010

@@ -129,35 +129,27 @@ Add( "EntityRemoved", addonName, ( entity, fullUpdate ) ->
129129

130130
PRE_HOOK )
131131

132-
entities[ "entityflame" ] = ( entity, dlight ) ->
133-
parent = entity\GetParent!
134-
unless parent and parent\IsValid!
135-
return false
132+
do
136133

137-
parent.__dlight = dlight
134+
dlight_controllers_env_fire = CreateClientConVar( "dlight_controllers_env_fire", "0", true, false, "Enables creation dynamic light emitters for env_fire.", 0, 1 )
138135

139-
dlight\SetStyle( 5 )
140-
dlight\SetRadius( 128 )
141-
dlight\SetBrightness( 1 )
142-
dlight\SetParent( parent )
143-
dlight\SetLightColor( 255, 100, 0 )
144-
dlight\SetLocalPos( entity\OBBCenter! )
145-
return true
136+
entities[ "env_fire" ] = ( entity, dlight ) ->
137+
unless dlight_controllers_env_fire\GetBool!
138+
return false
146139

147-
entities[ "env_fire" ] = ( entity, dlight ) ->
148-
dlight\SetSprite( "sprites/gmdm_pickups/light" )
149-
dlight\SetLightColor( 255, 100, 0 )
150-
dlight\SetSpriteAlpha( 255 )
151-
dlight\SetSpriteScale( 0.5 )
152-
dlight\SetBrightness( 1 )
153-
dlight\SetRadius( 256 )
154-
dlight\SetStyle( 5 )
140+
dlight\SetSprite( "sprites/gmdm_pickups/light" )
141+
dlight\SetLightColor( 255, 100, 0 )
142+
dlight\SetSpriteAlpha( 255 )
143+
dlight\SetSpriteScale( 0.5 )
144+
dlight\SetBrightness( 1 )
145+
dlight\SetRadius( 256 )
146+
dlight\SetStyle( 5 )
155147

156-
dlight.LightThink = ->
157-
if entity\IsValid!
158-
dlight\SetPos( entity\GetPos! )
148+
dlight.LightThink = ->
149+
if entity\IsValid!
150+
dlight\SetPos( entity\GetPos! )
159151

160-
return true
152+
return true
161153

162154
do
163155

@@ -354,10 +346,9 @@ entities[ "env_sprite" ] = ( entity, dlight ) ->
354346
dlight\SetRadius( 32 )
355347

356348
else
357-
358349
dlight\SetLightColor( entity\GetColor! )
359350
dlight\SetBrightness( 1 )
360-
dlight\SetRadius( 48 )
351+
dlight\SetRadius( 32 )
361352

362353
return true
363354

@@ -394,6 +385,37 @@ do
394385

395386
PRE_HOOK )
396387

388+
do
389+
390+
import Iterator from ents
391+
392+
hook.Add "Think", addonName, ->
393+
for _, entity in Iterator!
394+
if entity\IsOnFire!
395+
dlight = entity.m_eFireDLight
396+
if dlight and dlight\IsValid!
397+
continue
398+
399+
dlight = CreateClientside( "dlight_controller" )
400+
entity.m_eFireDLight = dlight
401+
402+
dlight\SetStyle( 5 )
403+
dlight\SetRadius( 128 )
404+
dlight\SetBrightness( 0.5 )
405+
dlight\SetEnabled( true )
406+
dlight\SetParent( entity )
407+
dlight\SetLightColor( 255, 100, 0 )
408+
dlight\SetLocalPos( entity\OBBCenter! )
409+
dlight\Spawn!
410+
continue
411+
412+
dlight = entity.m_eFireDLight
413+
if dlight
414+
if dlight\IsValid!
415+
dlight\Remove!
416+
417+
dlight.m_eFireDLight = nil
418+
397419
do
398420

399421
dlight_controllers_explosions = CreateClientConVar( "dlight_controllers_explosions", "1", true, false, "Enables creation of dynamic light emitters when something explode.", 0, 1 )

0 commit comments

Comments
 (0)