mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-10 10:47:58 -05:00
498 lines
14 KiB
Plaintext
498 lines
14 KiB
Plaintext
#include maps/mp/_utility;
|
|
#include common_scripts/utility;
|
|
|
|
main()
|
|
{
|
|
/#
|
|
if ( getDvar( "scr_art_tweak" ) == "" || getDvar( "scr_art_tweak" ) == "0" )
|
|
{
|
|
setdvar( "scr_art_tweak", 0 );
|
|
}
|
|
if ( getDvar( "scr_dof_enable" ) == "" )
|
|
{
|
|
setdvar( "scr_dof_enable", "1" );
|
|
}
|
|
if ( getDvar( "scr_cinematic_autofocus" ) == "" )
|
|
{
|
|
setdvar( "scr_cinematic_autofocus", "1" );
|
|
}
|
|
if ( getDvar( "scr_art_visionfile" ) == "" && isDefined( level.script ) )
|
|
{
|
|
setdvar( "scr_art_visionfile", level.script );
|
|
}
|
|
if ( getDvar( "debug_reflection" ) == "" )
|
|
{
|
|
setdvar( "debug_reflection", "0" );
|
|
}
|
|
if ( getDvar( "debug_reflection_matte" ) == "" )
|
|
{
|
|
setdvar( "debug_reflection_matte", "0" );
|
|
}
|
|
if ( getDvar( "debug_color_pallete" ) == "" )
|
|
{
|
|
setdvar( "debug_color_pallete", "0" );
|
|
}
|
|
precachemodel( "test_sphere_lambert" );
|
|
precachemodel( "test_macbeth_chart" );
|
|
precachemodel( "test_macbeth_chart_unlit" );
|
|
precachemodel( "test_sphere_silver" );
|
|
level thread debug_reflection();
|
|
level thread debug_reflection_matte();
|
|
level thread debug_color_pallete();
|
|
#/
|
|
if ( !isDefined( level.dofdefault ) )
|
|
{
|
|
level.dofdefault[ "nearStart" ] = 0;
|
|
level.dofdefault[ "nearEnd" ] = 1;
|
|
level.dofdefault[ "farStart" ] = 8000;
|
|
level.dofdefault[ "farEnd" ] = 10000;
|
|
level.dofdefault[ "nearBlur" ] = 6;
|
|
level.dofdefault[ "farBlur" ] = 0;
|
|
}
|
|
level.curdof = ( level.dofdefault[ "farStart" ] - level.dofdefault[ "nearEnd" ] ) / 2;
|
|
/#
|
|
thread tweakart();
|
|
#/
|
|
if ( !isDefined( level.script ) )
|
|
{
|
|
level.script = tolower( getDvar( "mapname" ) );
|
|
}
|
|
}
|
|
|
|
artfxprintln( file, string )
|
|
{
|
|
/#
|
|
if ( file == -1 )
|
|
{
|
|
return;
|
|
}
|
|
fprintln( file, string );
|
|
#/
|
|
}
|
|
|
|
strtok_loc( string, par1 )
|
|
{
|
|
stringlist = [];
|
|
indexstring = "";
|
|
i = 0;
|
|
while ( i < string.size )
|
|
{
|
|
if ( string[ i ] == " " )
|
|
{
|
|
stringlist[ stringlist.size ] = indexstring;
|
|
indexstring = "";
|
|
i++;
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
indexstring += string[ i ];
|
|
}
|
|
i++;
|
|
}
|
|
if ( indexstring.size )
|
|
{
|
|
stringlist[ stringlist.size ] = indexstring;
|
|
}
|
|
return stringlist;
|
|
}
|
|
|
|
setfogsliders()
|
|
{
|
|
fogall = strtok_loc( getDvar( "g_fogColorReadOnly" ), " " );
|
|
red = fogall[ 0 ];
|
|
green = fogall[ 1 ];
|
|
blue = fogall[ 2 ];
|
|
halfplane = getDvar( "g_fogHalfDistReadOnly" );
|
|
nearplane = getDvar( "g_fogStartDistReadOnly" );
|
|
if ( isDefined( red ) && isDefined( green ) || !isDefined( blue ) && !isDefined( halfplane ) )
|
|
{
|
|
red = 1;
|
|
green = 1;
|
|
blue = 1;
|
|
halfplane = 10000001;
|
|
nearplane = 10000000;
|
|
}
|
|
setdvar( "scr_fog_exp_halfplane", halfplane );
|
|
setdvar( "scr_fog_nearplane", nearplane );
|
|
setdvar( "scr_fog_color", ( red + " " ) + green + " " + blue );
|
|
}
|
|
|
|
tweakart()
|
|
{
|
|
/#
|
|
if ( !isDefined( level.tweakfile ) )
|
|
{
|
|
level.tweakfile = 0;
|
|
}
|
|
if ( getDvar( "scr_fog_baseheight" ) == "" )
|
|
{
|
|
setdvar( "scr_fog_exp_halfplane", "500" );
|
|
setdvar( "scr_fog_exp_halfheight", "500" );
|
|
setdvar( "scr_fog_nearplane", "0" );
|
|
setdvar( "scr_fog_baseheight", "0" );
|
|
}
|
|
setdvar( "scr_fog_fraction", "1.0" );
|
|
setdvar( "scr_art_dump", "0" );
|
|
setdvar( "scr_art_sun_fog_dir_set", "0" );
|
|
setdvar( "scr_dof_nearStart", level.dofdefault[ "nearStart" ] );
|
|
setdvar( "scr_dof_nearEnd", level.dofdefault[ "nearEnd" ] );
|
|
setdvar( "scr_dof_farStart", level.dofdefault[ "farStart" ] );
|
|
setdvar( "scr_dof_farEnd", level.dofdefault[ "farEnd" ] );
|
|
setdvar( "scr_dof_nearBlur", level.dofdefault[ "nearBlur" ] );
|
|
setdvar( "scr_dof_farBlur", level.dofdefault[ "farBlur" ] );
|
|
file = undefined;
|
|
filename = undefined;
|
|
tweak_toggle = 1;
|
|
for ( ;; )
|
|
{
|
|
while ( getDvarInt( "scr_art_tweak" ) == 0 )
|
|
{
|
|
tweak_toggle = 1;
|
|
wait 0,05;
|
|
}
|
|
if ( tweak_toggle )
|
|
{
|
|
tweak_toggle = 0;
|
|
fogsettings = getfogsettings();
|
|
setdvar( "scr_fog_nearplane", fogsettings[ 0 ] );
|
|
setdvar( "scr_fog_exp_halfplane", fogsettings[ 1 ] );
|
|
setdvar( "scr_fog_exp_halfheight", fogsettings[ 3 ] );
|
|
setdvar( "scr_fog_baseheight", fogsettings[ 2 ] );
|
|
setdvar( "scr_fog_color", fogsettings[ 4 ] + " " + fogsettings[ 5 ] + " " + fogsettings[ 6 ] );
|
|
setdvar( "scr_fog_color_scale", fogsettings[ 7 ] );
|
|
setdvar( "scr_sun_fog_color", fogsettings[ 8 ] + " " + fogsettings[ 9 ] + " " + fogsettings[ 10 ] );
|
|
level.fogsundir = [];
|
|
level.fogsundir[ 0 ] = fogsettings[ 11 ];
|
|
level.fogsundir[ 1 ] = fogsettings[ 12 ];
|
|
level.fogsundir[ 2 ] = fogsettings[ 13 ];
|
|
setdvar( "scr_sun_fog_start_angle", fogsettings[ 14 ] );
|
|
setdvar( "scr_sun_fog_end_angle", fogsettings[ 15 ] );
|
|
setdvar( "scr_fog_max_opacity", fogsettings[ 16 ] );
|
|
}
|
|
level.fogexphalfplane = getDvarFloat( "scr_fog_exp_halfplane" );
|
|
level.fogexphalfheight = getDvarFloat( "scr_fog_exp_halfheight" );
|
|
level.fognearplane = getDvarFloat( "scr_fog_nearplane" );
|
|
level.fogbaseheight = getDvarFloat( "scr_fog_baseheight" );
|
|
level.fogcolorred = getDvarColorRed( "scr_fog_color" );
|
|
level.fogcolorgreen = getDvarColorGreen( "scr_fog_color" );
|
|
level.fogcolorblue = getDvarColorBlue( "scr_fog_color" );
|
|
level.fogcolorscale = getDvarFloat( "scr_fog_color_scale" );
|
|
level.sunfogcolorred = getDvarColorRed( "scr_sun_fog_color" );
|
|
level.sunfogcolorgreen = getDvarColorGreen( "scr_sun_fog_color" );
|
|
level.sunfogcolorblue = getDvarColorBlue( "scr_sun_fog_color" );
|
|
level.sunstartangle = getDvarFloat( "scr_sun_fog_start_angle" );
|
|
level.sunendangle = getDvarFloat( "scr_sun_fog_end_angle" );
|
|
level.fogmaxopacity = getDvarFloat( "scr_fog_max_opacity" );
|
|
if ( getDvarInt( "scr_art_sun_fog_dir_set" ) )
|
|
{
|
|
setdvar( "scr_art_sun_fog_dir_set", "0" );
|
|
println( "Setting sun fog direction to facing of player" );
|
|
players = get_players();
|
|
dir = vectornormalize( anglesToForward( players[ 0 ] getplayerangles() ) );
|
|
level.fogsundir = [];
|
|
level.fogsundir[ 0 ] = dir[ 0 ];
|
|
level.fogsundir[ 1 ] = dir[ 1 ];
|
|
level.fogsundir[ 2 ] = dir[ 2 ];
|
|
}
|
|
fovslidercheck();
|
|
dumpsettings();
|
|
if ( !getDvarInt( "scr_fog_disable" ) )
|
|
{
|
|
if ( !isDefined( level.fogsundir ) )
|
|
{
|
|
level.fogsundir = [];
|
|
level.fogsundir[ 0 ] = 1;
|
|
level.fogsundir[ 1 ] = 0;
|
|
level.fogsundir[ 2 ] = 0;
|
|
}
|
|
setvolfog( level.fognearplane, level.fogexphalfplane, level.fogexphalfheight, level.fogbaseheight, level.fogcolorred, level.fogcolorgreen, level.fogcolorblue, level.fogcolorscale, level.sunfogcolorred, level.sunfogcolorgreen, level.sunfogcolorblue, level.fogsundir[ 0 ], level.fogsundir[ 1 ], level.fogsundir[ 2 ], level.sunstartangle, level.sunendangle, 0, level.fogmaxopacity );
|
|
}
|
|
else
|
|
{
|
|
setexpfog( 100000000, 100000001, 0, 0, 0, 0 );
|
|
}
|
|
wait 0,1;
|
|
#/
|
|
}
|
|
}
|
|
|
|
fovslidercheck()
|
|
{
|
|
if ( level.dofdefault[ "nearStart" ] >= level.dofdefault[ "nearEnd" ] )
|
|
{
|
|
level.dofdefault[ "nearStart" ] = level.dofdefault[ "nearEnd" ] - 1;
|
|
setdvar( "scr_dof_nearStart", level.dofdefault[ "nearStart" ] );
|
|
}
|
|
if ( level.dofdefault[ "nearEnd" ] <= level.dofdefault[ "nearStart" ] )
|
|
{
|
|
level.dofdefault[ "nearEnd" ] = level.dofdefault[ "nearStart" ] + 1;
|
|
setdvar( "scr_dof_nearEnd", level.dofdefault[ "nearEnd" ] );
|
|
}
|
|
if ( level.dofdefault[ "farStart" ] >= level.dofdefault[ "farEnd" ] )
|
|
{
|
|
level.dofdefault[ "farStart" ] = level.dofdefault[ "farEnd" ] - 1;
|
|
setdvar( "scr_dof_farStart", level.dofdefault[ "farStart" ] );
|
|
}
|
|
if ( level.dofdefault[ "farEnd" ] <= level.dofdefault[ "farStart" ] )
|
|
{
|
|
level.dofdefault[ "farEnd" ] = level.dofdefault[ "farStart" ] + 1;
|
|
setdvar( "scr_dof_farEnd", level.dofdefault[ "farEnd" ] );
|
|
}
|
|
if ( level.dofdefault[ "farBlur" ] >= level.dofdefault[ "nearBlur" ] )
|
|
{
|
|
level.dofdefault[ "farBlur" ] = level.dofdefault[ "nearBlur" ] - 0,1;
|
|
setdvar( "scr_dof_farBlur", level.dofdefault[ "farBlur" ] );
|
|
}
|
|
if ( level.dofdefault[ "farStart" ] <= level.dofdefault[ "nearEnd" ] )
|
|
{
|
|
level.dofdefault[ "farStart" ] = level.dofdefault[ "nearEnd" ] + 1;
|
|
setdvar( "scr_dof_farStart", level.dofdefault[ "farStart" ] );
|
|
}
|
|
}
|
|
|
|
dumpsettings()
|
|
{
|
|
/#
|
|
if ( getDvar( "scr_art_dump" ) != "0" )
|
|
{
|
|
println( "\tstart_dist = " + level.fognearplane + ";" );
|
|
println( "\thalf_dist = " + level.fogexphalfplane + ";" );
|
|
println( "\thalf_height = " + level.fogexphalfheight + ";" );
|
|
println( "\tbase_height = " + level.fogbaseheight + ";" );
|
|
println( "\tfog_r = " + level.fogcolorred + ";" );
|
|
println( "\tfog_g = " + level.fogcolorgreen + ";" );
|
|
println( "\tfog_b = " + level.fogcolorblue + ";" );
|
|
println( "\tfog_scale = " + level.fogcolorscale + ";" );
|
|
println( "\tsun_col_r = " + level.sunfogcolorred + ";" );
|
|
println( "\tsun_col_g = " + level.sunfogcolorgreen + ";" );
|
|
println( "\tsun_col_b = " + level.sunfogcolorblue + ";" );
|
|
println( "\tsun_dir_x = " + level.fogsundir[ 0 ] + ";" );
|
|
println( "\tsun_dir_y = " + level.fogsundir[ 1 ] + ";" );
|
|
println( "\tsun_dir_z = " + level.fogsundir[ 2 ] + ";" );
|
|
println( "\tsun_start_ang = " + level.sunstartangle + ";" );
|
|
println( "\tsun_stop_ang = " + level.sunendangle + ";" );
|
|
println( "\ttime = 0;" );
|
|
println( "\tmax_fog_opacity = " + level.fogmaxopacity + ";" );
|
|
println( "" );
|
|
println( "\tsetVolFog(start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale," );
|
|
println( "\t\tsun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, " );
|
|
println( "\t\tsun_stop_ang, time, max_fog_opacity);" );
|
|
setdvar( "scr_art_dump", "0" );
|
|
#/
|
|
}
|
|
}
|
|
|
|
debug_reflection()
|
|
{
|
|
/#
|
|
level.debug_reflection = 0;
|
|
while ( 1 )
|
|
{
|
|
wait 0,1;
|
|
if ( getDvar( "debug_reflection" ) == "2" || level.debug_reflection != 2 && getDvar( "debug_reflection" ) == "3" && level.debug_reflection != 3 )
|
|
{
|
|
remove_reflection_objects();
|
|
if ( getDvar( "debug_reflection" ) == "2" )
|
|
{
|
|
create_reflection_objects();
|
|
level.debug_reflection = 2;
|
|
}
|
|
else
|
|
{
|
|
create_reflection_objects();
|
|
create_reflection_object();
|
|
level.debug_reflection = 3;
|
|
}
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
if ( getDvar( "debug_reflection" ) == "1" && level.debug_reflection != 1 )
|
|
{
|
|
setdvar( "debug_reflection_matte", "0" );
|
|
setdvar( "debug_color_pallete", "0" );
|
|
remove_reflection_objects();
|
|
create_reflection_object();
|
|
level.debug_reflection = 1;
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
if ( getDvar( "debug_reflection" ) == "0" && level.debug_reflection != 0 )
|
|
{
|
|
remove_reflection_objects();
|
|
level.debug_reflection = 0;
|
|
}
|
|
}
|
|
}
|
|
#/
|
|
}
|
|
}
|
|
|
|
remove_reflection_objects()
|
|
{
|
|
/#
|
|
if ( level.debug_reflection != 2 && level.debug_reflection == 3 && isDefined( level.debug_reflection_objects ) )
|
|
{
|
|
i = 0;
|
|
while ( i < level.debug_reflection_objects.size )
|
|
{
|
|
level.debug_reflection_objects[ i ] delete();
|
|
i++;
|
|
}
|
|
level.debug_reflection_objects = undefined;
|
|
}
|
|
if ( level.debug_reflection != 1 && level.debug_reflection != 3 && level.debug_reflection_matte != 1 || level.debug_color_pallete == 1 && level.debug_color_pallete == 2 )
|
|
{
|
|
if ( isDefined( level.debug_reflectionobject ) )
|
|
{
|
|
level.debug_reflectionobject delete();
|
|
#/
|
|
}
|
|
}
|
|
}
|
|
|
|
create_reflection_objects()
|
|
{
|
|
/#
|
|
reflection_locs = getreflectionlocs();
|
|
i = 0;
|
|
while ( i < reflection_locs.size )
|
|
{
|
|
level.debug_reflection_objects[ i ] = spawn( "script_model", reflection_locs[ i ] );
|
|
level.debug_reflection_objects[ i ] setmodel( "test_sphere_silver" );
|
|
i++;
|
|
#/
|
|
}
|
|
}
|
|
|
|
create_reflection_object( model )
|
|
{
|
|
if ( !isDefined( model ) )
|
|
{
|
|
model = "test_sphere_silver";
|
|
}
|
|
/#
|
|
if ( isDefined( level.debug_reflectionobject ) )
|
|
{
|
|
level.debug_reflectionobject delete();
|
|
}
|
|
players = get_players();
|
|
player = players[ 0 ];
|
|
level.debug_reflectionobject = spawn( "script_model", player geteye() + vectorScale( anglesToForward( player.angles ), 100 ) );
|
|
level.debug_reflectionobject setmodel( model );
|
|
level.debug_reflectionobject.origin = player geteye() + vectorScale( anglesToForward( player getplayerangles() ), 100 );
|
|
level.debug_reflectionobject linkto( player );
|
|
thread debug_reflection_buttons();
|
|
#/
|
|
}
|
|
|
|
debug_reflection_buttons()
|
|
{
|
|
/#
|
|
level notify( "new_reflection_button_running" );
|
|
level endon( "new_reflection_button_running" );
|
|
level.debug_reflectionobject endon( "death" );
|
|
offset = 100;
|
|
lastoffset = offset;
|
|
while ( getDvar( "debug_reflection" ) != "1" && getDvar( "debug_reflection" ) != "3" && getDvar( "debug_reflection_matte" ) != "1" || getDvar( "debug_color_pallete" ) == "1" && getDvar( "debug_color_pallete" ) == "2" )
|
|
{
|
|
players = get_players();
|
|
if ( players[ 0 ] buttonpressed( "BUTTON_X" ) )
|
|
{
|
|
offset += 50;
|
|
}
|
|
if ( players[ 0 ] buttonpressed( "BUTTON_Y" ) )
|
|
{
|
|
offset -= 50;
|
|
}
|
|
if ( offset > 1000 )
|
|
{
|
|
offset = 1000;
|
|
}
|
|
if ( offset < 64 )
|
|
{
|
|
offset = 64;
|
|
}
|
|
level.debug_reflectionobject unlink();
|
|
level.debug_reflectionobject.origin = players[ 0 ] geteye() + vectorScale( anglesToForward( players[ 0 ] getplayerangles() ), offset );
|
|
temp_angles = vectorToAngle( players[ 0 ].origin - level.debug_reflectionobject.origin );
|
|
level.debug_reflectionobject.angles = ( 0, temp_angles[ 1 ], 0 );
|
|
lastoffset = offset;
|
|
line( level.debug_reflectionobject.origin, getreflectionorigin( level.debug_reflectionobject.origin ), ( 1, 0, 0 ), 1, 1 );
|
|
wait 0,05;
|
|
if ( isDefined( level.debug_reflectionobject ) )
|
|
{
|
|
level.debug_reflectionobject linkto( players[ 0 ] );
|
|
}
|
|
#/
|
|
}
|
|
}
|
|
|
|
debug_reflection_matte()
|
|
{
|
|
/#
|
|
level.debug_reflection_matte = 0;
|
|
while ( 1 )
|
|
{
|
|
wait 0,1;
|
|
if ( getDvar( "debug_reflection_matte" ) == "1" && level.debug_reflection_matte != 1 )
|
|
{
|
|
setdvar( "debug_reflection", "0" );
|
|
setdvar( "debug_color_pallete", "0" );
|
|
remove_reflection_objects();
|
|
create_reflection_object( "test_sphere_lambert" );
|
|
level.debug_reflection_matte = 1;
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
if ( getDvar( "debug_reflection_matte" ) == "0" && level.debug_reflection_matte != 0 )
|
|
{
|
|
remove_reflection_objects();
|
|
level.debug_reflection_matte = 0;
|
|
}
|
|
}
|
|
#/
|
|
}
|
|
}
|
|
|
|
debug_color_pallete()
|
|
{
|
|
/#
|
|
level.debug_color_pallete = 0;
|
|
while ( 1 )
|
|
{
|
|
wait 0,1;
|
|
if ( getDvar( "debug_color_pallete" ) == "1" && level.debug_color_pallete != 1 )
|
|
{
|
|
setdvar( "debug_reflection", "0" );
|
|
setdvar( "debug_reflection_matte", "0" );
|
|
remove_reflection_objects();
|
|
create_reflection_object( "test_macbeth_chart" );
|
|
level.debug_color_pallete = 1;
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
if ( getDvar( "debug_color_pallete" ) == "2" && level.debug_color_pallete != 2 )
|
|
{
|
|
remove_reflection_objects();
|
|
create_reflection_object( "test_macbeth_chart_unlit" );
|
|
level.debug_color_pallete = 2;
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
if ( getDvar( "debug_color_pallete" ) == "0" && level.debug_color_pallete != 0 )
|
|
{
|
|
remove_reflection_objects();
|
|
level.debug_color_pallete = 0;
|
|
}
|
|
}
|
|
}
|
|
#/
|
|
}
|
|
}
|