1.1.2, minor update (no need to change DR):
- Increased ambient light on kinsie's test map. - Bullet trails now cause splashes when crossing 3D water.
This commit is contained in:
parent
94cba843e4
commit
090768e544
2 changed files with 43 additions and 4 deletions
|
|
@ -64,7 +64,7 @@ This mod requires GZDoom 4.2.4 or later.
|
||||||
|
|
||||||
## In progress
|
## In progress
|
||||||
|
|
||||||
- N/A this is the 1.1.1 release.
|
- N/A this is the 1.1.2 release.
|
||||||
|
|
||||||
## Planned
|
## Planned
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2783,10 +2783,28 @@ Class UTTeleParticle : UTMeshParticle
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Class WaterHit
|
||||||
|
{
|
||||||
|
Sector sect;
|
||||||
|
Vector3 hitpos;
|
||||||
|
}
|
||||||
|
|
||||||
|
Class UTInvisibleSplasher : Actor
|
||||||
|
{
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
TNT1 A 2;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Follows a single line trail, spawns bubbles if underwater
|
// Follows a single line trail, spawns bubbles if underwater
|
||||||
// In addition, also activates shoot-through lines, since LineTrace can't do it
|
// In addition, also activates shoot-through lines, since LineTrace can't do it
|
||||||
|
// Also spawns splashes when crossing water sectors
|
||||||
Class UTBulletTrail : LineTracer
|
Class UTBulletTrail : LineTracer
|
||||||
{
|
{
|
||||||
|
Array<WaterHit> WaterHitList;
|
||||||
Array<Line> ShootThroughList;
|
Array<Line> ShootThroughList;
|
||||||
Actor ignoreme;
|
Actor ignoreme;
|
||||||
|
|
||||||
|
|
@ -2794,10 +2812,16 @@ Class UTBulletTrail : LineTracer
|
||||||
{
|
{
|
||||||
let t = new("UTBulletTrail");
|
let t = new("UTBulletTrail");
|
||||||
t.ignoreme = target;
|
t.ignoreme = target;
|
||||||
|
t.WaterHitList.Clear();
|
||||||
t.ShootThroughList.Clear();
|
t.ShootThroughList.Clear();
|
||||||
t.Trace(pos,level.PointInSector(pos.xy),dir,dist,0);
|
t.Trace(pos,level.PointInSector(pos.xy),dir,dist,0);
|
||||||
for ( int i=0; i<t.ShootThroughList.Size(); i++ )
|
for ( int i=0; i<t.ShootThroughList.Size(); i++ )
|
||||||
t.ShootThroughList[i].Activate(target,0,SPAC_PCross);
|
t.ShootThroughList[i].Activate(target,0,SPAC_PCross);
|
||||||
|
for ( int i=0; i<t.WaterHitList.Size(); i++ )
|
||||||
|
{
|
||||||
|
let b = Actor.Spawn("UTInvisibleSplasher",t.WaterHitList[0].hitpos);
|
||||||
|
b.A_CheckTerrain();
|
||||||
|
}
|
||||||
for ( int i=5; i<t.Results.Distance; i+=10 )
|
for ( int i=5; i<t.Results.Distance; i+=10 )
|
||||||
{
|
{
|
||||||
if ( !Random[Boolet](0,bubblechance) ) continue;
|
if ( !Random[Boolet](0,bubblechance) ) continue;
|
||||||
|
|
@ -2809,6 +2833,21 @@ Class UTBulletTrail : LineTracer
|
||||||
|
|
||||||
override ETraceStatus TraceCallback()
|
override ETraceStatus TraceCallback()
|
||||||
{
|
{
|
||||||
|
// liquid splashes
|
||||||
|
if ( Results.CrossedWater )
|
||||||
|
{
|
||||||
|
let hl = new("WaterHit");
|
||||||
|
hl.sect = Results.CrossedWater;
|
||||||
|
hl.hitpos = Results.CrossedWaterPos;
|
||||||
|
WaterHitList.Push(hl);
|
||||||
|
}
|
||||||
|
else if ( Results.Crossed3DWater )
|
||||||
|
{
|
||||||
|
let hl = new("WaterHit");
|
||||||
|
hl.sect = Results.Crossed3DWater;
|
||||||
|
hl.hitpos = Results.Crossed3DWaterPos;
|
||||||
|
WaterHitList.Push(hl);
|
||||||
|
}
|
||||||
if ( Results.HitType == TRACE_HitActor )
|
if ( Results.HitType == TRACE_HitActor )
|
||||||
{
|
{
|
||||||
if ( Results.HitActor == ignoreme ) return TRACE_Skip;
|
if ( Results.HitActor == ignoreme ) return TRACE_Skip;
|
||||||
|
|
@ -3232,9 +3271,9 @@ Class UTMainHandler : EventHandler
|
||||||
// prettify Kinsie's test map for a more Unreal feel
|
// prettify Kinsie's test map for a more Unreal feel
|
||||||
for ( int i=0; i<level.sectors.size(); i++ )
|
for ( int i=0; i<level.sectors.size(); i++ )
|
||||||
{
|
{
|
||||||
level.sectors[i].lightlevel = min(level.sectors[i].lightlevel,96);
|
level.sectors[i].lightlevel = min(level.sectors[i].lightlevel,128);
|
||||||
if ( level.sectors[i].GetPlaneLight(0) ) level.sectors[i].SetPlaneLight(0,96);
|
if ( level.sectors[i].GetPlaneLight(0) ) level.sectors[i].SetPlaneLight(0,128);
|
||||||
if ( level.sectors[i].GetPlaneLight(1) ) level.sectors[i].SetPlaneLight(1,96);
|
if ( level.sectors[i].GetPlaneLight(1) ) level.sectors[i].SetPlaneLight(1,128);
|
||||||
// open some ceilings
|
// open some ceilings
|
||||||
if ( level.sectors[i].ceilingplane.ZAtPoint(level.sectors[i].centerspot) == 1280 )
|
if ( level.sectors[i].ceilingplane.ZAtPoint(level.sectors[i].centerspot) == 1280 )
|
||||||
level.sectors[i].SetTexture(1,skyflatnum);
|
level.sectors[i].SetTexture(1,skyflatnum);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue