mirror of
https://github.com/shavitush/bhoptimer.git
synced 2025-12-06 18:08:26 +00:00
add beam_ignorez to draw beams through walls when setting up zones #618
This commit is contained in:
parent
19c5ccb7f3
commit
d1e415498e
@ -7,7 +7,8 @@
|
||||
"Sprites"
|
||||
{
|
||||
"beam" "shavit/zone_beam.vmt"
|
||||
"downloads" "materials/shavit/zone_beam.vtf; materials/shavit/zone_beam.vmt"
|
||||
"beam_ignorez" "shavit/zone_beam_ignorez.vmt" // for seeing the zones through walls when creating them
|
||||
"downloads" "materials/shavit/zone_beam.vtf; materials/shavit/zone_beam.vmt; materials/shavit/zone_beam_ignorez.vmt"
|
||||
}
|
||||
|
||||
"Colors"
|
||||
|
||||
@ -137,6 +137,8 @@ bool gB_ZonesCreated = false;
|
||||
int gI_LastStage[MAXPLAYERS+1];
|
||||
|
||||
char gS_BeamSprite[PLATFORM_MAX_PATH];
|
||||
char gS_BeamSpriteIgnoreZ[PLATFORM_MAX_PATH];
|
||||
int gI_BeamSpriteIgnoreZ;
|
||||
|
||||
// admin menu
|
||||
TopMenu gH_AdminMenu = null;
|
||||
@ -607,6 +609,7 @@ bool LoadZonesConfig()
|
||||
|
||||
kv.JumpToKey("Sprites");
|
||||
kv.GetString("beam", gS_BeamSprite, PLATFORM_MAX_PATH);
|
||||
kv.GetString("beam_ignorez", gS_BeamSpriteIgnoreZ, PLATFORM_MAX_PATH, gS_BeamSprite);
|
||||
|
||||
char sDownloads[PLATFORM_MAX_PATH * 8];
|
||||
kv.GetString("downloads", sDownloads, (PLATFORM_MAX_PATH * 8));
|
||||
@ -716,6 +719,8 @@ void LoadZoneSettings()
|
||||
customBeam = defaultBeam;
|
||||
}
|
||||
|
||||
gI_BeamSpriteIgnoreZ = PrecacheModel(gS_BeamSpriteIgnoreZ, true);
|
||||
|
||||
for (int i = 0; i < ZONETYPES_SIZE; i++)
|
||||
{
|
||||
for (int j = 0; j < TRACKS_SIZE; j++)
|
||||
@ -2854,7 +2859,7 @@ public Action Timer_Draw(Handle Timer, any data)
|
||||
// This is here to make the zone setup grid snapping be 1:1 to how it looks when done with the setup.
|
||||
origin = points[7];
|
||||
|
||||
DrawZone(points, GetZoneColors(type, track, 125), 0.1, gA_ZoneSettings[type][track].fWidth, false, origin, gA_ZoneSettings[type][track].iBeam, gA_ZoneSettings[type][track].iHalo);
|
||||
DrawZone(points, GetZoneColors(type, track, 125), 0.1, gA_ZoneSettings[type][track].fWidth, false, origin, gI_BeamSpriteIgnoreZ, gA_ZoneSettings[type][track].iHalo);
|
||||
|
||||
if(gI_ZoneType[client] == Zone_Teleport && !EmptyVector(gV_Teleport[client]))
|
||||
{
|
||||
@ -2867,7 +2872,7 @@ public Action Timer_Draw(Handle Timer, any data)
|
||||
{
|
||||
origin[2] -= gCV_Height.FloatValue;
|
||||
|
||||
TE_SetupBeamPoints(vPlayerOrigin, origin, gA_ZoneSettings[type][track].iBeam, gA_ZoneSettings[type][track].iHalo, 0, 0, 0.1, 1.0, 1.0, 0, 0.0, {255, 255, 255, 75}, 0);
|
||||
TE_SetupBeamPoints(vPlayerOrigin, origin, gI_BeamSpriteIgnoreZ, gA_ZoneSettings[type][track].iHalo, 0, 0, 0.1, 1.0, 1.0, 0, 0.0, {255, 255, 255, 75}, 0);
|
||||
TE_SendToAll(0.0);
|
||||
|
||||
// visualize grid snap
|
||||
@ -2882,7 +2887,7 @@ public Action Timer_Draw(Handle Timer, any data)
|
||||
snap2 = origin;
|
||||
snap2[i] += (gI_GridSnap[client] / 2);
|
||||
|
||||
TE_SetupBeamPoints(snap1, snap2, gA_ZoneSettings[type][track].iBeam, gA_ZoneSettings[type][track].iHalo, 0, 0, 0.1, 1.0, 1.0, 0, 0.0, {255, 255, 255, 75}, 0);
|
||||
TE_SetupBeamPoints(snap1, snap2, gI_BeamSpriteIgnoreZ, gA_ZoneSettings[type][track].iHalo, 0, 0, 0.1, 1.0, 1.0, 0, 0.0, {255, 255, 255, 75}, 0);
|
||||
TE_SendToAll(0.0);
|
||||
}
|
||||
}
|
||||
|
||||
7
materials/shavit/zone_beam_ignorez.vmt
Normal file
7
materials/shavit/zone_beam_ignorez.vmt
Normal file
@ -0,0 +1,7 @@
|
||||
"Sprite"
|
||||
{
|
||||
"$spriteorientation" "vp_parallel"
|
||||
"$spriteorigin" "[ 0.50 0.50 ]"
|
||||
"$basetexture" "shavit/zone_beam"
|
||||
"$ignorez" "1"
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user