Fix ammo leds if OOB camera is in liquid terrain.

This commit is contained in:
Marisa the Magician 2022-06-19 17:40:10 +02:00
commit 903bc9a5e4

View file

@ -20,18 +20,18 @@ Class PulseGunLED : Actor
override void PostBeginPlay()
{
SetOrigin((PULSELEDBASE+128,PULSELEDBASE,0),false);
SetOrigin((PULSELEDBASE+128.,PULSELEDBASE,0),false);
SetZ(floorz);
roll = 180;
angle = 180;
double halfstretch = (1.+level.pixelstretch)/2.;
if ( !base ) base = Spawn("AmmoLEDScreen",(PULSELEDBASE,PULSELEDBASE-128.,floorz+64.*halfstretch));
if ( !base ) base = Spawn("AmmoLEDScreen",(PULSELEDBASE,PULSELEDBASE-128.,pos.z+64.*halfstretch-GetFloorTerrain().footclip*16.));
for ( int i=0; i<3; i++ )
{
if ( !digits[i] )
digits[i] = Spawn("LEDFont",(PULSELEDBASE+1.,PULSELEDBASE-72.+48.*i,floorz+50.*halfstretch));
digits[i] = Spawn("LEDFont",(PULSELEDBASE+1.,PULSELEDBASE-72.+48.*i,pos.z+50.*halfstretch-GetFloorTerrain().footclip*16.));
}
if ( !bar ) bar = Spawn("AmmoCountBar",(PULSELEDBASE+1.,PULSELEDBASE-98.,floorz-26.*halfstretch));
if ( !bar ) bar = Spawn("AmmoCountBar",(PULSELEDBASE+1.,PULSELEDBASE-98.,pos.z-26.*halfstretch-GetFloorTerrain().footclip*16.));
}
override void Tick()
{
@ -80,11 +80,11 @@ Class FlakCannonLED : Actor
roll = 180;
angle = 180;
double halfstretch = (1.+level.pixelstretch)/2.;
if ( !base ) base = Spawn("AmmoLEDScreen",(FLAKLEDBASE,FLAKLEDBASE-64.,floorz+32.*halfstretch));
if ( !base ) base = Spawn("AmmoLEDScreen",(FLAKLEDBASE,FLAKLEDBASE-64.,floorz+32.*halfstretch-GetFloorTerrain().footclip*16.));
for ( int i=0; i<3; i++ )
{
if ( !digits[i] )
digits[i] = Spawn("LEDFont",(FLAKLEDBASE+1.,FLAKLEDBASE-30.+20.*i,floorz+16.*halfstretch));
digits[i] = Spawn("LEDFont",(FLAKLEDBASE+1.,FLAKLEDBASE-30.+20.*i,floorz+16.*halfstretch-GetFloorTerrain().footclip*16.));
}
}
override void Tick()
@ -123,11 +123,11 @@ Class MinigunLED : Actor
roll = 180;
angle = 180;
double halfstretch = (1.+level.pixelstretch)/2.;
if ( !base ) base = Spawn("AmmoLEDScreen",(MINILEDBASE,MINILEDBASE-32.,floorz+32.*halfstretch));
if ( !base ) base = Spawn("AmmoLEDScreen",(MINILEDBASE,MINILEDBASE-32.,floorz+32.*halfstretch-GetFloorTerrain().footclip*16.));
for ( int i=0; i<3; i++ )
{
if ( !digits[i] )
digits[i] = Spawn("LEDFont",(MINILEDBASE+1.,MINILEDBASE-30.+20.*i,floorz+16.*halfstretch));
digits[i] = Spawn("LEDFont",(MINILEDBASE+1.,MINILEDBASE-30.+20.*i,floorz+16.*halfstretch-GetFloorTerrain().footclip*16.));
}
}
override void Tick()
@ -166,11 +166,11 @@ Class UTRocketLauncherLED : Actor
roll = 180;
angle = 180;
double halfstretch = (1.+level.pixelstretch)/2.;
if ( !base ) base = Spawn("AmmoLEDScreen",(ROCKETLEDBASE,ROCKETLEDBASE-32.,floorz+32.*halfstretch));
if ( !base ) base = Spawn("AmmoLEDScreen",(ROCKETLEDBASE,ROCKETLEDBASE-32.,floorz+32.*halfstretch-GetFloorTerrain().footclip*16.));
for ( int i=0; i<3; i++ )
{
if ( !digits[i] )
digits[i] = Spawn("LEDFont",(ROCKETLEDBASE+1.,ROCKETLEDBASE-30.+20.*i,floorz+16.*halfstretch));
digits[i] = Spawn("LEDFont",(ROCKETLEDBASE+1.,ROCKETLEDBASE-30.+20.*i,floorz+16.*halfstretch-GetFloorTerrain().footclip*16.));
}
}
override void Tick()