-
Notifications
You must be signed in to change notification settings - Fork 0
/
zscript.txt
executable file
·88 lines (72 loc) · 2.67 KB
/
zscript.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
version "2.5"
const DISTORTION_SHADER = "TrippyPerlin";
class EffectPlayer : DoomPlayer
{
override void Tick()
{
Super.Tick();
if (!player || !player.mo || player.mo != self)
return;
let timescale = CVar.FindCVar("timescale");
let scale = CVar.FindCVar("scale");
let distortion = CVar.FindCVar("distortion");
let subtractive = CVar.FindCVar("subtractive");
let animh = CVar.FindCVar("animh");
let anims = CVar.FindCVar("anims");
let animv = CVar.FindCVar("animv");
let tintr = CVar.FindCVar("tintr");
let tintg = CVar.FindCVar("tintg");
let tintb = CVar.FindCVar("tintb");
Shader.SetUniform1f(Player, DISTORTION_SHADER, "scale", scale.GetFloat());
Shader.SetUniform1f(Player, DISTORTION_SHADER, "distortionMultiplier", distortion.GetFloat());
Shader.SetUniform1f(Player, DISTORTION_SHADER, "subtractiveDistortionMultiplier", subtractive.GetFloat());
Shader.SetUniform1f(Player, DISTORTION_SHADER, "NewTime", level.time * timescale.GetFloat());
Shader.SetUniform3f(Player, DISTORTION_SHADER, "tintColor", (tintr.GetFloat(), tintg.GetFloat(), tintb.GetFloat()));
let hue = animh.GetBool() ? sin(level.time) : 0;
let sat = anims.GetBool() ? cos(level.time) * 2 : 0;
let val = animv.GetBool() ? (sin(level.time) + 1) / 2.5 : 0;
Shader.SetUniform3f(Player, DISTORTION_SHADER, "hsvShift", (hue, sat, val));
}
override void PostBeginPlay()
{
Console.Printf("Player init");
super.PostBeginPlay();
//Shader.SetEnabled(Player, DISTORTION_SHADER, true);
/*
ThinkerIterator MonsterFinder = ThinkerIterator.Create("Actor");
Actor mo;
while ( mo = Actor(MonsterFinder.Next()) )
{
if ( mo.bIsMonster )
{
//mo.RenderStyle = "Fuzzy";
Console.Printf("Got monster" .. mo);
}
}
*/
}
}
/*
class WaterHandler : StaticEventHandler
{
override void RenderOverlay(RenderEvent e)
{
// set the player's timer up correctly (more-than-1-tick precision)
PlayerInfo p = players[consoleplayer];
Shader.SetUniform1f(p, "watershader", "timer", gametic + e.FracTic);
if (p.mo.waterlevel >= 3)
{
Shader.SetEnabled(p, "watershader", true);
Shader.SetEnabled(p, "waterzoomshader", true);
double effectSize = CVar.GetCVar("uw_effectsize", p).GetFloat();
Shader.SetUniform1f(p, "watershader", "waterFactor", effectSize);
Shader.SetUniform1f(p, "waterzoomshader", "zoomFactor", 1 - (effectSize * 2));
}
else
{
Shader.SetEnabled(p, "watershader", false);
Shader.SetEnabled(p, "waterzoomshader", false);
}
}
}
*/