NEVERMIND I FIXED IT.

This commit is contained in:
Marisa the Magician 2021-01-24 16:45:05 +01:00
commit 982bd42f60
6 changed files with 93 additions and 34 deletions

View file

@ -58,7 +58,7 @@ This mod requires GZDoom 4.3 or later.
- Hexen compatibility - Hexen compatibility
- Fancy titlemap - Fancy titlemap
- Semi-accurate UT sound behaviour - Semi-accurate UT sound behaviour
- Hacky cameratexture ammo counters for Pulsegun, Minigun, Flak Cannon and rocket launcher (TEMPORARILY DISABLED DUE TO A MAJOR BUG) - Hacky cameratexture ammo counters for Pulsegun, Minigun, Flak Cannon and rocket launcher (may break)
## In progress ## In progress

View file

@ -1,7 +1,7 @@
const PULSELEDBASE = 60000; const PULSELEDBASE = 60000.;
const FLAKLEDBASE = 61000; const FLAKLEDBASE = 61000.;
const MINILEDBASE = 62000; const MINILEDBASE = 62000.;
const ROCKETLEDBASE = 63000; const ROCKETLEDBASE = 63000.;
Class PulseGunLED : Actor Class PulseGunLED : Actor
{ {
@ -20,11 +20,30 @@ Class PulseGunLED : Actor
override void PostBeginPlay() override void PostBeginPlay()
{ {
SetOrigin((PULSELEDBASE+64,128,99),false); SetOrigin((PULSELEDBASE+128,0,0),false);
pitch = 90; SetZ(floorz);
if ( !base ) base = Spawn("AmmoLEDScreen",(PULSELEDBASE+128,0,0)); roll = 180;
for ( int i=0; i<3; i++ ) if ( !digits[i] ) digits[i] = Spawn("LEDFont",(PULSELEDBASE+99,104+48*i,1)); angle = 180;
if ( !bar ) bar = Spawn("AmmoCountBar",(PULSELEDBASE+110,30,1)); double stretch = level.pixelstretch;
double halfstretch = (1.+level.pixelstretch)/2.;
if ( !base )
{
base = Spawn("AmmoLEDScreen",(PULSELEDBASE,-128.,floorz+64./halfstretch));
base.scale.y /= level.pixelstretch;
}
for ( int i=0; i<3; i++ )
{
if ( !digits[i] )
{
digits[i] = Spawn("LEDFont",(PULSELEDBASE+1.,-72.+48.*i,floorz+50./halfstretch));
digits[i].scale.y /= level.pixelstretch;
}
}
if ( !bar )
{
bar = Spawn("AmmoCountBar",(PULSELEDBASE+1.,-98.,floorz-26./halfstretch));
bar.scale.y /= level.pixelstretch;
}
} }
override void Tick() override void Tick()
{ {
@ -68,10 +87,25 @@ Class FlakCannonLED : Actor
override void PostBeginPlay() override void PostBeginPlay()
{ {
SetOrigin((FLAKLEDBASE+32,64,45),false); SetOrigin((FLAKLEDBASE+64,0,0),false);
pitch = 90; SetZ(floorz);
if ( !base ) base = Spawn("AmmoLEDScreen",(FLAKLEDBASE+64,0,0)); roll = 180;
for ( int i=0; i<3; i++ ) if ( !digits[i] ) digits[i] = Spawn("LEDFont",(FLAKLEDBASE+51,54+20*i,1)); angle = 180;
double stretch = level.pixelstretch;
double halfstretch = (1.+level.pixelstretch)/2.;
if ( !base )
{
base = Spawn("AmmoLEDScreen",(FLAKLEDBASE,-64.,floorz+32./halfstretch));
base.scale.y /= level.pixelstretch;
}
for ( int i=0; i<3; i++ )
{
if ( !digits[i] )
{
digits[i] = Spawn("LEDFont",(FLAKLEDBASE+1.,-30.+20.*i,floorz+16./halfstretch));
digits[i].scale.y /= level.pixelstretch;
}
}
} }
override void Tick() override void Tick()
{ {
@ -104,10 +138,25 @@ Class MinigunLED : Actor
override void PostBeginPlay() override void PostBeginPlay()
{ {
SetOrigin((MINILEDBASE+32,32,18),false); SetOrigin((MINILEDBASE+32,0,0),false);
pitch = 90; SetZ(floorz);
if ( !base ) base = Spawn("AmmoLEDScreen",(MINILEDBASE+64,0,0)); roll = 180;
for ( int i=0; i<3; i++ ) if ( !digits[i] ) digits[i] = Spawn("LEDFont",(MINILEDBASE+51,22+20*i,1)); angle = 180;
double stretch = level.pixelstretch;
double halfstretch = (1.+level.pixelstretch)/2.;
if ( !base )
{
base = Spawn("AmmoLEDScreen",(MINILEDBASE,-32.,floorz+32./halfstretch));
base.scale.y /= level.pixelstretch;
}
for ( int i=0; i<3; i++ )
{
if ( !digits[i] )
{
digits[i] = Spawn("LEDFont",(MINILEDBASE+1.,-30.+20.*i,floorz+16./halfstretch));
digits[i].scale.y /= level.pixelstretch;
}
}
} }
override void Tick() override void Tick()
{ {
@ -130,10 +179,25 @@ Class UTRocketLauncherLED : Actor
override void PostBeginPlay() override void PostBeginPlay()
{ {
SetOrigin((ROCKETLEDBASE+32,32,18),false); SetOrigin((ROCKETLEDBASE+32,0,0),false);
pitch = 90; SetZ(floorz);
if ( !base ) base = Spawn("AmmoLEDScreen",(ROCKETLEDBASE+64,0,0)); roll = 180;
for ( int i=0; i<3; i++ ) if ( !digits[i] ) digits[i] = Spawn("LEDFont",(ROCKETLEDBASE+51,22+20*i,1)); angle = 180;
double stretch = level.pixelstretch;
double halfstretch = (1.+level.pixelstretch)/2.;
if ( !base )
{
base = Spawn("AmmoLEDScreen",(ROCKETLEDBASE,-32.,floorz+32./halfstretch));
base.scale.y /= level.pixelstretch;
}
for ( int i=0; i<3; i++ )
{
if ( !digits[i] )
{
digits[i] = Spawn("LEDFont",(ROCKETLEDBASE+1.,-30.+20.*i,floorz+16./halfstretch));
digits[i].scale.y /= level.pixelstretch;
}
}
} }
override void Tick() override void Tick()
{ {
@ -162,8 +226,7 @@ Class LEDFont : Actor
+NOGRAVITY; +NOGRAVITY;
+NOINTERACTION; +NOINTERACTION;
+DONTSPLASH; +DONTSPLASH;
+FLATSPRITE; +WALLSPRITE;
+YFLIP; // flatsprites™
} }
States States
{ {
@ -186,9 +249,7 @@ Class AmmoCountBar : Actor
+NOGRAVITY; +NOGRAVITY;
+NOINTERACTION; +NOINTERACTION;
+DONTSPLASH; +DONTSPLASH;
+FLATSPRITE; +WALLSPRITE;
+XFLIP; // flatsprites™
+YFLIP; // flatsprites™
} }
States States
{ {
@ -209,9 +270,7 @@ Class AmmoLEDScreen : Actor
+NOGRAVITY; +NOGRAVITY;
+NOINTERACTION; +NOINTERACTION;
+DONTSPLASH; +DONTSPLASH;
+FLATSPRITE; +WALLSPRITE;
+XFLIP; // flatsprites™
+YFLIP; // flatsprites™
} }
States States
{ {

View file

@ -307,7 +307,7 @@ Class UTRocketLauncher : UTWeapon
} }
if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return; if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return;
ammoled.mygun = self; ammoled.mygun = self;
//TexMan.SetCameraToTexture(ammoled,"RAmmoLed",90); TexMan.SetCameraToTexture(ammoled,"RAmmoLed",90);
} }
override void PostBeginPlay() override void PostBeginPlay()

View file

@ -650,7 +650,7 @@ Class FlakCannon : UTWeapon
} }
if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return; if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return;
ammoled.mygun = self; ammoled.mygun = self;
//TexMan.SetCameraToTexture(ammoled,"FlakALed",90); TexMan.SetCameraToTexture(ammoled,"FlakALed",90);
} }
action void A_Loading( bool first = false ) action void A_Loading( bool first = false )

View file

@ -87,7 +87,7 @@ Class Minigun : UTWeapon
} }
if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return; if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return;
ammoled.mygun = self; ammoled.mygun = self;
//TexMan.SetCameraToTexture(ammoled,"MiniALed",90); TexMan.SetCameraToTexture(ammoled,"MiniALed",90);
} }
action void A_FireBullet( bool alt = false ) action void A_FireBullet( bool alt = false )

View file

@ -579,7 +579,7 @@ Class PulseGun : UTWeapon
} }
if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return; if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return;
ammoled.mygun = self; ammoled.mygun = self;
//TexMan.SetCameraToTexture(ammoled,"PAmmoLed",90); TexMan.SetCameraToTexture(ammoled,"PAmmoLed",90);
} }
override int, int, bool, bool GetClipAmount() override int, int, bool, bool GetClipAmount()