mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Added full ddraw.ini + other config files and all relevant artifacts from latest modderspack.
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,93 @@
|
||||
procedure start;
|
||||
procedure update_shader;
|
||||
|
||||
variable perception;
|
||||
variable boozes;
|
||||
variable shader1;
|
||||
variable shader2;
|
||||
variable shader3;
|
||||
variable shader4;
|
||||
variable drunk_level;
|
||||
variable next_reduction;
|
||||
|
||||
procedure start begin
|
||||
variable new_pe;
|
||||
variable new_booze;
|
||||
variable drunk_count;
|
||||
if (metarule(22,0)) then return;
|
||||
if (game_loaded) then begin
|
||||
if(not graphics_funcs_available) then begin
|
||||
display_msg("ERROR: You must set sfall to use graphics mode 4 or 5 to use this mod");
|
||||
return;
|
||||
end else begin
|
||||
//new_pe:=create_object_sid(125, 0, 0, -1);
|
||||
//add_mult_objs_to_inven(dude_obj, new_pe, 10);
|
||||
perception:=get_pc_extra_stat(1);
|
||||
boozes:=obj_is_carrying_obj_pid(dude_obj, 125);
|
||||
set_global_script_repeat(25);
|
||||
set_global_script_repeat(-1);
|
||||
shader1:=load_shader("booze1.fx");
|
||||
shader2:=load_shader("booze2.fx");
|
||||
shader3:=load_shader("booze3.fx");
|
||||
shader4:=load_shader("booze4.fx");
|
||||
drunk_level:=0;
|
||||
next_reduction:=0;
|
||||
//display_msg("Init: " + perception + ", " + boozes);
|
||||
end
|
||||
end else begin
|
||||
new_pe:=get_pc_extra_stat(1);
|
||||
new_booze:=obj_is_carrying_obj_pid(dude_obj, 125);
|
||||
if( (perception != new_pe) or (boozes != new_booze) ) then begin
|
||||
//display_msg("var change: " + perception + ", " + boozes + " -> " + new_pe + ", " + new_booze);
|
||||
if ( (perception > new_pe) and (boozes > new_booze) ) then begin
|
||||
if ( (perception - new_pe) < (boozes - new_booze) ) then begin
|
||||
drunk_count:=perception - new_pe;
|
||||
end else begin
|
||||
drunk_count:=boozes - new_booze;
|
||||
end
|
||||
drunk_level:=drunk_level + (drunk_count*10);
|
||||
//display_msg("Increasing booze count: " + drunk_level);
|
||||
call update_shader;
|
||||
next_reduction:=game_time + game_ticks(6);
|
||||
end
|
||||
perception:=new_pe;
|
||||
boozes:=new_booze;
|
||||
end
|
||||
if( (next_reduction != 0 ) and (game_time >= next_reduction) ) then begin
|
||||
drunk_level:=drunk_level - 1;
|
||||
if(drunk_level == 0) then next_reduction:=0;
|
||||
else next_reduction:=next_reduction + game_ticks(6);
|
||||
call update_shader;
|
||||
//display_msg("Decreasing booze count: " + drunk_level);
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
procedure update_shader begin
|
||||
if(drunk_level >= 100) then begin
|
||||
deactivate_shader(shader1);
|
||||
deactivate_shader(shader2);
|
||||
deactivate_shader(shader3);
|
||||
activate_shader(shader4);
|
||||
end else if(drunk_level >= 50) then begin
|
||||
deactivate_shader(shader1);
|
||||
deactivate_shader(shader2);
|
||||
activate_shader(shader3);
|
||||
deactivate_shader(shader4);
|
||||
end else if(drunk_level >= 25) then begin
|
||||
deactivate_shader(shader1);
|
||||
activate_shader(shader2);
|
||||
deactivate_shader(shader3);
|
||||
deactivate_shader(shader4);
|
||||
end else if(drunk_level > 0) then begin
|
||||
activate_shader(shader1);
|
||||
deactivate_shader(shader2);
|
||||
deactivate_shader(shader3);
|
||||
deactivate_shader(shader4);
|
||||
end else begin
|
||||
deactivate_shader(shader1);
|
||||
deactivate_shader(shader2);
|
||||
deactivate_shader(shader3);
|
||||
deactivate_shader(shader4);
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,25 @@
|
||||
sampler s0;
|
||||
|
||||
static const float2 rcpres =
|
||||
{
|
||||
0.0015625,
|
||||
0.0020833333333333333333333333333333
|
||||
};
|
||||
|
||||
float4 Blur( float2 Tex : TEXCOORD0 ) : COLOR0
|
||||
{
|
||||
float4 Color = 0;
|
||||
|
||||
Color += tex2D( s0, float2(Tex.x, Tex.y));
|
||||
Color += tex2D( s0, float2(Tex.x + rcpres.x, Tex.y));
|
||||
Color += tex2D( s0, float2(Tex.x - rcpres.x, Tex.y));
|
||||
Color += tex2D( s0, float2(Tex.x, Tex.y + rcpres.y));
|
||||
Color += tex2D( s0, float2(Tex.x, Tex.y - rcpres.y));
|
||||
|
||||
return Color * 0.2;
|
||||
}
|
||||
|
||||
Technique blur
|
||||
{
|
||||
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
sampler s0;
|
||||
|
||||
static const float2 rcpres =
|
||||
{
|
||||
0.0015625,
|
||||
0.0020833333333333333333333333333333
|
||||
};
|
||||
|
||||
float4 Blur( float2 Tex : TEXCOORD0 ) : COLOR0
|
||||
{
|
||||
float4 Color = 0;
|
||||
|
||||
Color += tex2D( s0, float2(Tex.x, Tex.y));
|
||||
Color += tex2D( s0, float2(Tex.x + rcpres.x, Tex.y));
|
||||
Color += tex2D( s0, float2(Tex.x - rcpres.x, Tex.y));
|
||||
Color += tex2D( s0, float2(Tex.x, Tex.y + rcpres.y));
|
||||
Color += tex2D( s0, float2(Tex.x, Tex.y - rcpres.y));
|
||||
|
||||
return Color * 0.2;
|
||||
}
|
||||
|
||||
Technique blur
|
||||
{
|
||||
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
|
||||
Pass P1 { PixelShader = compile ps_2_0 Blur(); }
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
sampler s0;
|
||||
|
||||
static const float2 rcpres =
|
||||
{
|
||||
0.0015625,
|
||||
0.0020833333333333333333333333333333
|
||||
};
|
||||
|
||||
float4 Blur(float2 Tex : TEXCOORD0) : COLOR0
|
||||
{
|
||||
float4 Color = 0;
|
||||
|
||||
Color += tex2D( s0, float2(Tex.x, Tex.y));
|
||||
Color += tex2D(s0, float2(Tex.x + rcpres.x, Tex.y));
|
||||
Color += tex2D(s0, float2(Tex.x - rcpres.x, Tex.y));
|
||||
Color += tex2D(s0, float2(Tex.x, Tex.y + rcpres.y));
|
||||
Color += tex2D(s0, float2(Tex.x, Tex.y - rcpres.y));
|
||||
|
||||
return Color * 0.2;
|
||||
}
|
||||
|
||||
float4 Blind(float2 Tex : TEXCOORD0) : COLOR0
|
||||
{
|
||||
float4 Color = tex2D(s0, Tex);
|
||||
return Color * saturate(1.8 - (length(Tex - 0.5)*2));
|
||||
}
|
||||
|
||||
Technique blur
|
||||
{
|
||||
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
|
||||
Pass P1 { PixelShader = compile ps_2_0 Blur(); }
|
||||
Pass P2 { PixelShader = compile ps_2_0 Blur(); }
|
||||
Pass P3 { PixelShader = compile ps_2_0 Blind(); }
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
sampler s0;
|
||||
|
||||
static const float2 rcpres =
|
||||
{
|
||||
0.0015625,
|
||||
0.0020833333333333333333333333333333
|
||||
};
|
||||
|
||||
float4 Blur(float2 Tex : TEXCOORD0) : COLOR0
|
||||
{
|
||||
float4 Color = 0;
|
||||
|
||||
Color += tex2D( s0, float2(Tex.x, Tex.y));
|
||||
Color += tex2D(s0, float2(Tex.x + rcpres.x, Tex.y));
|
||||
Color += tex2D(s0, float2(Tex.x - rcpres.x, Tex.y));
|
||||
Color += tex2D(s0, float2(Tex.x, Tex.y + rcpres.y));
|
||||
Color += tex2D(s0, float2(Tex.x, Tex.y - rcpres.y));
|
||||
|
||||
return Color * 0.2;
|
||||
}
|
||||
|
||||
float4 Blind(float2 Tex : TEXCOORD0) : COLOR0
|
||||
{
|
||||
float4 Color = tex2D(s0, Tex);
|
||||
return Color * saturate(1.5 - (length(Tex - 0.5)*2));
|
||||
}
|
||||
|
||||
Technique blur
|
||||
{
|
||||
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
|
||||
Pass P1 { PixelShader = compile ps_2_0 Blur(); }
|
||||
Pass P2 { PixelShader = compile ps_2_0 Blur(); }
|
||||
Pass P3 { PixelShader = compile ps_2_0 Blur(); }
|
||||
Pass P4 { PixelShader = compile ps_2_0 Blur(); }
|
||||
Pass P5 { PixelShader = compile ps_2_0 Blind(); }
|
||||
}
|
||||
Reference in New Issue
Block a user