1352 lines
56 KiB
Plaintext
1352 lines
56 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
sat_room_camera()
|
|
{
|
|
common_scripts\utility::flag_wait( "start_camera_moment" );
|
|
level.player give_camera();
|
|
thread sat_camera_monitor();
|
|
}
|
|
|
|
sat_camera_monitor()
|
|
{
|
|
thread maps\_utility::display_hint( "camera_use" );
|
|
thread sat_nag_camera( "camera_used" );
|
|
common_scripts\utility::flag_wait( "player_using_camera" );
|
|
level notify( "camera_used" );
|
|
setup_camera_feedback_system();
|
|
common_scripts\utility::flag_wait( "sat_begin_looking_for_B" );
|
|
level.player thread camera_disabled_nag();
|
|
var_0 = getent( "sat_target_B", "targetname" );
|
|
level.sat_current_target = var_0;
|
|
level.player thread sat_camera_proximity_scan( var_0 );
|
|
level.player thread sat_camera_feedback( var_0 );
|
|
level.player sat_camera_found_target( var_0 );
|
|
common_scripts\utility::flag_set( "cam_B_confirmed" );
|
|
level notify( "stop_nag" );
|
|
wait 8.0;
|
|
level.sat_current_target = undefined;
|
|
}
|
|
|
|
setup_camera_feedback_system()
|
|
{
|
|
level.sat_feedback_right = [ "factory_hqr_abitmoreto", "factory_hqr_overtotheright" ];
|
|
level.sat_feedback_right_down = [ "factory_hqr_itsdownandto", "factory_hqr_downandalittle" ];
|
|
level.sat_feedback_right_up = [ "factory_hqr_lookupanda", "factory_hqr_upandright" ];
|
|
level.sat_feedback_left = [ "factory_hqr_itstoyourleft", "factory_hqr_moretoyourleft" ];
|
|
level.sat_feedback_left_down = [ "factory_hqr_lookalittlelower", "factory_hqr_belowthattothe" ];
|
|
level.sat_feedback_left_up = [ "factory_hqr_itstoyourleft_2", "factory_hqr_leftandabovethat" ];
|
|
level.sat_feedback_down = [ "factory_hqr_yourelookingtoohigh", "factory_hqr_downlower" ];
|
|
level.sat_feedback_up = [ "factory_hqr_upabithigher", "factory_hqr_abovethat" ];
|
|
level.sat_feedback_behind = [ "factory_hqr_turnarounditsbehind", "factory_hqr_icantseeit" ];
|
|
level.sat_feedback_rods = [ "factory_hqr_lookfortherods", "factory_hqr_getoneofthe" ];
|
|
level.sat_feedback_found = [ "factory_hqr_bingo", "factory_hqr_righttherethatsit" ];
|
|
}
|
|
|
|
sat_camera_proximity_scan( var_0 )
|
|
{
|
|
level endon( "found_sat_target" );
|
|
|
|
for (;;)
|
|
{
|
|
var_1 = level.player geteye();
|
|
var_2 = level.player getplayerangles();
|
|
var_3 = vectornormalize( var_0.origin - var_1 );
|
|
var_4 = anglestoup( var_2 );
|
|
var_5 = anglestoright( level.player.angles );
|
|
var_6 = anglestoforward( level.player.angles );
|
|
self.cam_offsetright = vectordot( var_3, var_5 );
|
|
self.cam_offsetup = vectordot( var_3, var_4 );
|
|
self.cam_offsetforward = vectordot( var_3, var_6 );
|
|
wait 0.1;
|
|
}
|
|
}
|
|
|
|
sat_camera_feedback( var_0 )
|
|
{
|
|
level endon( "found_sat_target" );
|
|
level.camera_feedback_active = 1;
|
|
var_1 = 0.15;
|
|
|
|
for (;;)
|
|
{
|
|
while ( self.binoculars_active == 0 )
|
|
wait 0.1;
|
|
|
|
if ( self.cam_offsetforward <= -0.5 )
|
|
sat_give_feedback( level.sat_feedback_behind );
|
|
else if ( self.cam_offsetright >= var_1 )
|
|
{
|
|
if ( self.cam_offsetup <= -1 * var_1 )
|
|
sat_give_feedback( level.sat_feedback_right_down );
|
|
else if ( self.cam_offsetup >= var_1 )
|
|
sat_give_feedback( level.sat_feedback_right_up );
|
|
else
|
|
sat_give_feedback( level.sat_feedback_right );
|
|
}
|
|
else if ( self.cam_offsetright <= -1 * var_1 )
|
|
{
|
|
if ( self.cam_offsetup <= -1 * var_1 )
|
|
sat_give_feedback( level.sat_feedback_left_down );
|
|
else if ( self.cam_offsetup >= var_1 )
|
|
sat_give_feedback( level.sat_feedback_left_up );
|
|
else
|
|
sat_give_feedback( level.sat_feedback_left );
|
|
}
|
|
else if ( self.cam_offsetup <= -1 * var_1 )
|
|
sat_give_feedback( level.sat_feedback_down );
|
|
else if ( self.cam_offsetup >= var_1 )
|
|
sat_give_feedback( level.sat_feedback_up );
|
|
|
|
wait( randomfloatrange( 2.5, 4.0 ) );
|
|
}
|
|
}
|
|
|
|
sat_give_feedback( var_0 )
|
|
{
|
|
var_1 = [];
|
|
|
|
if ( !common_scripts\utility::flag( "cam_B_confirmed" ) )
|
|
{
|
|
var_1 = common_scripts\utility::array_combine( var_0, level.sat_feedback_rods );
|
|
var_1 = common_scripts\utility::array_combine( var_0, var_1 );
|
|
}
|
|
|
|
thread maps\_utility::smart_radio_dialogue( var_1[randomint( var_1.size )] );
|
|
}
|
|
|
|
sat_camera_found_target( var_0 )
|
|
{
|
|
for (;;)
|
|
{
|
|
while ( self.binoculars_active == 0 )
|
|
wait 0.1;
|
|
|
|
var_1 = anglestoforward( self getplayerangles() );
|
|
self.binoculars_trace = bullettrace( self geteye(), self geteye() + var_1 * 50000, 1, self, 1 );
|
|
|
|
if ( isdefined( self.binoculars_trace["entity"] ) && isdefined( self.binoculars_trace["entity"].targetname ) && self.binoculars_trace["entity"].targetname == var_0.target )
|
|
{
|
|
thread maps\factory_audio::aud_binoculars_on_target();
|
|
wait 0.75;
|
|
|
|
if ( !common_scripts\utility::flag( "cam_B_confirmed" ) )
|
|
thread maps\_utility::smart_radio_dialogue_interrupt( "factory_hqr_righttherethatsit" );
|
|
|
|
level notify( "found_sat_target" );
|
|
level.camera_feedback_active = 0;
|
|
return;
|
|
}
|
|
|
|
wait 0.1;
|
|
}
|
|
}
|
|
|
|
camera_activate_hint( var_0, var_1, var_2 )
|
|
{
|
|
level endon( "camera_used" );
|
|
|
|
if ( isdefined( var_2 ) )
|
|
common_scripts\utility::flag_wait( var_2 );
|
|
|
|
wait( var_0 );
|
|
level.player thread maps\_utility::display_hint( var_1 );
|
|
|
|
for (;;)
|
|
{
|
|
wait 5.0;
|
|
level.player thread maps\_utility::display_hint( var_1 );
|
|
}
|
|
}
|
|
|
|
intro_binoculars_hint( var_0, var_1, var_2, var_3 )
|
|
{
|
|
level endon( var_3 );
|
|
|
|
if ( isdefined( var_2 ) )
|
|
common_scripts\utility::flag_wait( var_2 );
|
|
|
|
wait( var_0 );
|
|
|
|
while ( level.player.binoculars_active == 0 )
|
|
common_scripts\utility::waitframe();
|
|
|
|
level.player thread maps\_utility::display_hint( var_1 );
|
|
|
|
for (;;)
|
|
{
|
|
wait 7.0;
|
|
|
|
while ( level.player.binoculars_active == 0 )
|
|
common_scripts\utility::waitframe();
|
|
|
|
level.player thread maps\_utility::display_hint( var_1 );
|
|
}
|
|
}
|
|
|
|
camera_disabled_nag()
|
|
{
|
|
level endon( "stop_nag" );
|
|
var_0 = 0;
|
|
level.camera_feedback_active = 0;
|
|
|
|
for (;;)
|
|
{
|
|
if ( !self.binoculars_active && level.camera_feedback_active )
|
|
{
|
|
if ( !var_0 )
|
|
{
|
|
var_0 = 1;
|
|
thread sat_nag_camera( "player_using_camera" );
|
|
thread maps\_utility::display_hint( "camera_use" );
|
|
wait 0.25;
|
|
}
|
|
}
|
|
|
|
wait 0.1;
|
|
}
|
|
}
|
|
|
|
sat_nag_camera( var_0 )
|
|
{
|
|
var_1 = [ "factory_mrk_adamuseyourcamera", "factory_mrk_adamgetanupload", "factory_mrk_adamwereona" ];
|
|
level.squad["ALLY_ALPHA"] thread maps\factory_util::nag_line_generator( var_1, var_0, undefined, 7 );
|
|
}
|
|
|
|
binoculars_init( var_0 )
|
|
{
|
|
precacheshader( "cnd_binoculars_hud_id_box" );
|
|
precacheshader( "overlay_static" );
|
|
precachemodel( "tag_turret" );
|
|
precacheturret( "player_view_controller_binoculars" );
|
|
precacheshader( "fac_gfx_laser" );
|
|
precacheshader( "fac_gfx_laser_light" );
|
|
precacheshader( "fac_dpad_camera" );
|
|
precacheshader( "fac_headcam_hud_center_01" );
|
|
precacheshader( "fac_headcam_hud_corner_01" );
|
|
precacheshader( "fac_headcam_hud_corner_02" );
|
|
precacheshader( "fac_headcam_hud_corner_03" );
|
|
precacheshader( "fac_headcam_hud_corner_04" );
|
|
precacheshader( "fac_headcam_hud_focus_guides_01" );
|
|
precacheshader( "fac_headcam_hud_focus_guides_02" );
|
|
precacheshader( "fac_headcam_hud_rec_dot_01" );
|
|
level.default_visionset = var_0;
|
|
precachestring( &"FACTORY_CAMERA_USE_HINT" );
|
|
precachestring( &"FACTORY_CAMERA_REMOVE_HINT" );
|
|
maps\_utility::add_hint_string( "camera_use", &"FACTORY_CAMERA_USE_HINT", ::hint_camera_use_should_break );
|
|
maps\_utility::add_hint_string( "camera_deactivate", &"FACTORY_CAMERA_REMOVE_HINT" );
|
|
}
|
|
|
|
hint_camera_use_should_break()
|
|
{
|
|
if ( common_scripts\utility::flag( "player_using_camera" ) )
|
|
return 1;
|
|
|
|
return 0;
|
|
}
|
|
|
|
give_camera()
|
|
{
|
|
if ( !isdefined( self.has_binoculars ) || !self.has_binoculars )
|
|
{
|
|
self.has_binoculars = 1;
|
|
self.binoculars_active = 0;
|
|
level.sat_lock_target = "sat_target_A";
|
|
level.sat_current_target = undefined;
|
|
self.default_fov = getdvarint( "cg_fov" );
|
|
binoculars_set_default_zoom_level( 0 );
|
|
binoculars_enable_zoom( 1 );
|
|
thread binoculars_hud();
|
|
}
|
|
}
|
|
|
|
take_binoculars()
|
|
{
|
|
self notify( "stop_using_binoculars" );
|
|
self notify( "take_binoculars" );
|
|
|
|
if ( isdefined( self.binoculars_active ) && self.binoculars_active )
|
|
binoculars_clear_hud();
|
|
|
|
self.has_binoculars = 0;
|
|
common_scripts\utility::flag_clear( "player_using_camera" );
|
|
self setmovespeedscale( 1.0 );
|
|
self setweaponhudiconoverride( "actionslot1", "none" );
|
|
}
|
|
|
|
disable_camera()
|
|
{
|
|
level.player take_binoculars();
|
|
self notify( "stop_using_binoculars" );
|
|
common_scripts\utility::flag_clear( "player_using_camera" );
|
|
}
|
|
|
|
binoculars_set_default_zoom_level( var_0 )
|
|
{
|
|
self.binoculars_default_zoom_level = var_0;
|
|
}
|
|
|
|
binoculars_set_vision_set( var_0 )
|
|
{
|
|
self.binoculars_vision_set = var_0;
|
|
|
|
if ( isdefined( self.binoculars_active ) && self.binoculars_active )
|
|
self visionsetnightforplayer( self.binoculars_vision_set, 5.0 );
|
|
}
|
|
|
|
binoculars_enable_zoom( var_0 )
|
|
{
|
|
self.binoculars_zoom_enabled = var_0;
|
|
|
|
if ( isdefined( self.binoculars_active ) && self.binoculars_active )
|
|
{
|
|
self.current_binocular_zoom_level = 0;
|
|
binoculars_zoom();
|
|
}
|
|
}
|
|
|
|
binoculars_hud()
|
|
{
|
|
self endon( "take_binoculars" );
|
|
self setweaponhudiconoverride( "actionslot1", "fac_dpad_camera" );
|
|
self notifyonplayercommand( "use_binoculars", "+actionslot 1" );
|
|
self notifyonplayercommand( "binocular_zoom", "+sprint_zoom" );
|
|
self notifyonplayercommand( "binocular_zoom", "+melee_zoom" );
|
|
self notifyonplayercommand( "fired_laser", "+frag" );
|
|
self.camera_hud_item = [];
|
|
|
|
for (;;)
|
|
{
|
|
for (;;)
|
|
{
|
|
self waittill( "use_binoculars", var_0 );
|
|
|
|
if ( self isonground() && !self.active_anim || isdefined( var_0 ) )
|
|
break;
|
|
|
|
wait 0.1;
|
|
}
|
|
|
|
common_scripts\utility::flag_set( "player_using_camera" );
|
|
binoculars_init_hud();
|
|
wait 1.5;
|
|
|
|
for (;;)
|
|
{
|
|
common_scripts\utility::waittill_either( "use_binoculars", "stop_using_binoculars" );
|
|
|
|
if ( !self.active_anim )
|
|
break;
|
|
|
|
wait 0.1;
|
|
}
|
|
|
|
self notify( "stop_using_binoculars" );
|
|
common_scripts\utility::flag_clear( "player_using_camera" );
|
|
binoculars_clear_hud();
|
|
wait 1.5;
|
|
}
|
|
}
|
|
|
|
binoculars_init_hud()
|
|
{
|
|
self endon( "take_binoculars" );
|
|
self.binoculars_active = 1;
|
|
common_scripts\utility::_disableoffhandweapons();
|
|
setsaveddvar( "ammoCounterHide", "1" );
|
|
setsaveddvar( "actionSlotsHide", "1" );
|
|
setsaveddvar( "hud_showStance", 0 );
|
|
setsaveddvar( "compass", 0 );
|
|
setsaveddvar( "cg_drawCrosshair", 0 );
|
|
common_scripts\utility::_disableweapon();
|
|
self allowmelee( 0 );
|
|
thread zoom_lerp_dof();
|
|
self.camera_hud_item["binocular_goggles"] = maps\_hud_util::create_client_overlay( "nightvision_overlay_goggles", 1.0, self );
|
|
self.camera_hud_item["hud_center"] = maps\_hud_util::createicon( "fac_headcam_hud_center_01", 256, 256 );
|
|
self.camera_hud_item["hud_center"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_center"].alignx = "center";
|
|
self.camera_hud_item["hud_center"].aligny = "middle";
|
|
self.camera_hud_item["hud_center"].alpha = 1.0;
|
|
self.camera_hud_item["hud_rec_dot"] = maps\_hud_util::createicon( "fac_headcam_hud_rec_dot_01", 32, 32 );
|
|
self.camera_hud_item["hud_rec_dot"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_rec_dot"].alignx = "center";
|
|
self.camera_hud_item["hud_rec_dot"].aligny = "middle";
|
|
self.camera_hud_item["hud_rec_dot"].horzalign = "left";
|
|
self.camera_hud_item["hud_rec_dot"].vertalign = "bottom";
|
|
self.camera_hud_item["hud_rec_dot"].x = 24;
|
|
self.camera_hud_item["hud_rec_dot"].y = -20;
|
|
self.camera_hud_item["hud_rec_dot"].alpha = 1.0;
|
|
self.camera_hud_item["hud_rec_dot"] thread sat_camera_rec_dot_flash( 0.66 );
|
|
self.camera_hud_item["hud_corner_01"] = maps\_hud_util::createicon( "fac_headcam_hud_corner_01", 128, 128 );
|
|
self.camera_hud_item["hud_corner_01"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_corner_01"].alignx = "left";
|
|
self.camera_hud_item["hud_corner_01"].aligny = "top";
|
|
self.camera_hud_item["hud_corner_01"].horzalign = "left";
|
|
self.camera_hud_item["hud_corner_01"].vertalign = "top";
|
|
self.camera_hud_item["hud_corner_01"].alpha = 1.0;
|
|
self.camera_hud_item["hud_corner_02"] = maps\_hud_util::createicon( "fac_headcam_hud_corner_02", 128, 128 );
|
|
self.camera_hud_item["hud_corner_02"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_corner_02"].alignx = "right";
|
|
self.camera_hud_item["hud_corner_02"].aligny = "top";
|
|
self.camera_hud_item["hud_corner_02"].horzalign = "right";
|
|
self.camera_hud_item["hud_corner_02"].vertalign = "top";
|
|
self.camera_hud_item["hud_corner_02"].alpha = 1.0;
|
|
self.camera_hud_item["hud_corner_03"] = maps\_hud_util::createicon( "fac_headcam_hud_corner_03", 128, 128 );
|
|
self.camera_hud_item["hud_corner_03"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_corner_03"].alignx = "left";
|
|
self.camera_hud_item["hud_corner_03"].aligny = "bottom";
|
|
self.camera_hud_item["hud_corner_03"].horzalign = "left";
|
|
self.camera_hud_item["hud_corner_03"].vertalign = "bottom";
|
|
self.camera_hud_item["hud_corner_03"].alpha = 1.0;
|
|
self.camera_hud_item["hud_corner_04"] = maps\_hud_util::createicon( "fac_headcam_hud_corner_04", 128, 128 );
|
|
self.camera_hud_item["hud_corner_04"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_corner_04"].alignx = "right";
|
|
self.camera_hud_item["hud_corner_04"].aligny = "bottom";
|
|
self.camera_hud_item["hud_corner_04"].horzalign = "right";
|
|
self.camera_hud_item["hud_corner_04"].vertalign = "bottom";
|
|
self.camera_hud_item["hud_corner_04"].alpha = 1.0;
|
|
self.camera_hud_item["hud_focus_01"] = maps\_hud_util::createicon( "fac_headcam_hud_focus_guides_02", 48, 48 );
|
|
self.camera_hud_item["hud_focus_01"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_focus_01"].alignx = "center";
|
|
self.camera_hud_item["hud_focus_01"].aligny = "middle";
|
|
self.camera_hud_item["hud_focus_01"].x = 0;
|
|
self.camera_hud_item["hud_focus_01"].y = 80;
|
|
self.camera_hud_item["hud_focus_01"].alpha = 1.0;
|
|
self.camera_hud_item["hud_focus_02"] = maps\_hud_util::createicon( "fac_headcam_hud_focus_guides_02", 48, 48 );
|
|
self.camera_hud_item["hud_focus_02"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_focus_02"].alignx = "center";
|
|
self.camera_hud_item["hud_focus_02"].aligny = "middle";
|
|
self.camera_hud_item["hud_focus_02"].x = 0;
|
|
self.camera_hud_item["hud_focus_02"].y = -80;
|
|
self.camera_hud_item["hud_focus_02"].alpha = 1.0;
|
|
self.camera_hud_item["hud_focus_03"] = maps\_hud_util::createicon( "fac_headcam_hud_focus_guides_01", 48, 48 );
|
|
self.camera_hud_item["hud_focus_03"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_focus_03"].alignx = "center";
|
|
self.camera_hud_item["hud_focus_03"].aligny = "middle";
|
|
self.camera_hud_item["hud_focus_03"].x = 160;
|
|
self.camera_hud_item["hud_focus_03"].y = 0;
|
|
self.camera_hud_item["hud_focus_03"].alpha = 1.0;
|
|
self.camera_hud_item["hud_focus_04"] = maps\_hud_util::createicon( "fac_headcam_hud_focus_guides_01", 48, 48 );
|
|
self.camera_hud_item["hud_focus_04"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_focus_04"].alignx = "center";
|
|
self.camera_hud_item["hud_focus_04"].aligny = "middle";
|
|
self.camera_hud_item["hud_focus_04"].x = -160;
|
|
self.camera_hud_item["hud_focus_04"].y = 0;
|
|
self.camera_hud_item["hud_focus_04"].alpha = 1.0;
|
|
self.camera_hud_item["hud_focus_05"] = maps\_hud_util::createicon( "fac_headcam_hud_focus_guides_01", 48, 48 );
|
|
self.camera_hud_item["hud_focus_05"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_focus_05"].alignx = "center";
|
|
self.camera_hud_item["hud_focus_05"].aligny = "middle";
|
|
self.camera_hud_item["hud_focus_05"].x = 80;
|
|
self.camera_hud_item["hud_focus_05"].y = 40;
|
|
self.camera_hud_item["hud_focus_05"].alpha = 1.0;
|
|
self.camera_hud_item["hud_focus_06"] = maps\_hud_util::createicon( "fac_headcam_hud_focus_guides_01", 48, 48 );
|
|
self.camera_hud_item["hud_focus_06"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_focus_06"].alignx = "center";
|
|
self.camera_hud_item["hud_focus_06"].aligny = "middle";
|
|
self.camera_hud_item["hud_focus_06"].x = -80;
|
|
self.camera_hud_item["hud_focus_06"].y = 40;
|
|
self.camera_hud_item["hud_focus_06"].alpha = 1.0;
|
|
self.camera_hud_item["hud_focus_07"] = maps\_hud_util::createicon( "fac_headcam_hud_focus_guides_01", 48, 48 );
|
|
self.camera_hud_item["hud_focus_07"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_focus_07"].alignx = "center";
|
|
self.camera_hud_item["hud_focus_07"].aligny = "middle";
|
|
self.camera_hud_item["hud_focus_07"].x = 80;
|
|
self.camera_hud_item["hud_focus_07"].y = -40;
|
|
self.camera_hud_item["hud_focus_07"].alpha = 1.0;
|
|
self.camera_hud_item["hud_focus_08"] = maps\_hud_util::createicon( "fac_headcam_hud_focus_guides_01", 48, 48 );
|
|
self.camera_hud_item["hud_focus_08"] set_default_hud_parameters();
|
|
self.camera_hud_item["hud_focus_08"].alignx = "center";
|
|
self.camera_hud_item["hud_focus_08"].aligny = "middle";
|
|
self.camera_hud_item["hud_focus_08"].x = -80;
|
|
self.camera_hud_item["hud_focus_08"].y = -40;
|
|
self.camera_hud_item["hud_focus_08"].alpha = 1.0;
|
|
self.camera_hud_item["reticle_line_top"] = maps\_hud_util::createicon( "white", 1, 8 );
|
|
self.camera_hud_item["reticle_line_top"].target_width = 1;
|
|
self.camera_hud_item["reticle_line_top"].no_target_width = 1;
|
|
self.camera_hud_item["reticle_line_top"].target_height = 32;
|
|
self.camera_hud_item["reticle_line_top"].no_target_height = 32;
|
|
self.camera_hud_item["reticle_line_top"].target_x = 0;
|
|
self.camera_hud_item["reticle_line_top"].no_target_x = 0;
|
|
self.camera_hud_item["reticle_line_top"].target_y = -16;
|
|
self.camera_hud_item["reticle_line_top"].no_target_y = -16;
|
|
self.camera_hud_item["reticle_line_top"] set_default_hud_parameters();
|
|
self.camera_hud_item["reticle_line_top"].aligny = "bottom";
|
|
self.camera_hud_item["reticle_line_top"].alpha = 0.0;
|
|
self.camera_hud_item["reticle_line_top"].y = -27;
|
|
self.camera_hud_item["reticle_line_bottom"] = maps\_hud_util::createicon( "white", 1, 8 );
|
|
self.camera_hud_item["reticle_line_bottom"].target_width = 1;
|
|
self.camera_hud_item["reticle_line_bottom"].no_target_width = 1;
|
|
self.camera_hud_item["reticle_line_bottom"].target_height = 32;
|
|
self.camera_hud_item["reticle_line_bottom"].no_target_height = 32;
|
|
self.camera_hud_item["reticle_line_bottom"].target_x = 0;
|
|
self.camera_hud_item["reticle_line_bottom"].no_target_x = 0;
|
|
self.camera_hud_item["reticle_line_bottom"].target_y = 16;
|
|
self.camera_hud_item["reticle_line_bottom"].no_target_y = 16;
|
|
self.camera_hud_item["reticle_line_bottom"] set_default_hud_parameters();
|
|
self.camera_hud_item["reticle_line_bottom"].aligny = "top";
|
|
self.camera_hud_item["reticle_line_bottom"].alpha = 0.0;
|
|
self.camera_hud_item["reticle_line_bottom"].y = 27;
|
|
self.camera_hud_item["reticle_line_left"] = maps\_hud_util::createicon( "white", 8, 1 );
|
|
self.camera_hud_item["reticle_line_left"].target_width = 32;
|
|
self.camera_hud_item["reticle_line_left"].no_target_width = 32;
|
|
self.camera_hud_item["reticle_line_left"].target_height = 1;
|
|
self.camera_hud_item["reticle_line_left"].no_target_height = 1;
|
|
self.camera_hud_item["reticle_line_left"].target_x = -16;
|
|
self.camera_hud_item["reticle_line_left"].no_target_x = -50;
|
|
self.camera_hud_item["reticle_line_left"].target_y = 0;
|
|
self.camera_hud_item["reticle_line_left"].no_target_y = 0;
|
|
self.camera_hud_item["reticle_line_left"] set_default_hud_parameters();
|
|
self.camera_hud_item["reticle_line_left"].alignx = "right";
|
|
self.camera_hud_item["reticle_line_left"].alpha = 0.0;
|
|
self.camera_hud_item["reticle_line_left"].x = -27;
|
|
self.camera_hud_item["reticle_line_right"] = maps\_hud_util::createicon( "white", 8, 1 );
|
|
self.camera_hud_item["reticle_line_right"].target_width = 32;
|
|
self.camera_hud_item["reticle_line_right"].no_target_width = 32;
|
|
self.camera_hud_item["reticle_line_right"].target_height = 1;
|
|
self.camera_hud_item["reticle_line_right"].no_target_height = 1;
|
|
self.camera_hud_item["reticle_line_right"].target_x = 16;
|
|
self.camera_hud_item["reticle_line_right"].no_target_x = 50;
|
|
self.camera_hud_item["reticle_line_right"].target_y = 0;
|
|
self.camera_hud_item["reticle_line_right"].no_target_y = 0;
|
|
self.camera_hud_item["reticle_line_right"] set_default_hud_parameters();
|
|
self.camera_hud_item["reticle_line_right"].alignx = "left";
|
|
self.camera_hud_item["reticle_line_right"].alpha = 0.0;
|
|
self.camera_hud_item["reticle_line_right"].x = 27;
|
|
self.binocular_reticle_pieces = [];
|
|
self.binocular_reticle_pieces[self.binocular_reticle_pieces.size] = self.camera_hud_item["reticle_line_top"];
|
|
self.binocular_reticle_pieces[self.binocular_reticle_pieces.size] = self.camera_hud_item["reticle_line_bottom"];
|
|
self.binocular_reticle_pieces[self.binocular_reticle_pieces.size] = self.camera_hud_item["reticle_line_left"];
|
|
self.binocular_reticle_pieces[self.binocular_reticle_pieces.size] = self.camera_hud_item["reticle_line_right"];
|
|
var_0 = -10;
|
|
self.camera_hud_item["zoom_level_1"] = maps\_hud_util::createclientfontstring( "default", 1.0 );
|
|
self.camera_hud_item["zoom_level_1"] set_default_hud_parameters();
|
|
self.camera_hud_item["zoom_level_1"].alignx = "left";
|
|
self.camera_hud_item["zoom_level_1"].aligny = "top";
|
|
self.camera_hud_item["zoom_level_1"].horzalign = "right";
|
|
self.camera_hud_item["zoom_level_1"].alpha = 1;
|
|
self.camera_hud_item["zoom_level_1"].x = var_0 - 18;
|
|
self.camera_hud_item["zoom_level_1"].y = -28;
|
|
self.camera_hud_item["zoom_level_1"] settext( "x1.0" );
|
|
self.camera_hud_item["zoom_level_15"] = maps\_hud_util::createclientfontstring( "default", 1.0 );
|
|
self.camera_hud_item["zoom_level_15"] set_default_hud_parameters();
|
|
self.camera_hud_item["zoom_level_15"].alignx = "left";
|
|
self.camera_hud_item["zoom_level_15"].aligny = "top";
|
|
self.camera_hud_item["zoom_level_15"].horzalign = "right";
|
|
self.camera_hud_item["zoom_level_15"].alpha = 0.25;
|
|
self.camera_hud_item["zoom_level_15"].x = var_0 - 18;
|
|
self.camera_hud_item["zoom_level_15"].y = -5;
|
|
self.camera_hud_item["zoom_level_15"] settext( "x1.5" );
|
|
self.camera_hud_item["zoom_level_24"] = maps\_hud_util::createclientfontstring( "default", 1.0 );
|
|
self.camera_hud_item["zoom_level_24"] set_default_hud_parameters();
|
|
self.camera_hud_item["zoom_level_24"].alignx = "left";
|
|
self.camera_hud_item["zoom_level_24"].aligny = "top";
|
|
self.camera_hud_item["zoom_level_24"].horzalign = "right";
|
|
self.camera_hud_item["zoom_level_24"].alpha = 0.25;
|
|
self.camera_hud_item["zoom_level_24"].x = var_0 - 18;
|
|
self.camera_hud_item["zoom_level_24"].y = 18;
|
|
self.camera_hud_item["zoom_level_24"] settext( "x2.4" );
|
|
self.camera_hud_item["zoom_level_background"] = maps\_hud_util::createicon( "white", 20, self.camera_hud_item["zoom_level_24"].height * 5 );
|
|
self.camera_hud_item["zoom_level_background"] set_default_hud_parameters();
|
|
self.camera_hud_item["zoom_level_background"].alignx = "left";
|
|
self.camera_hud_item["zoom_level_background"].aligny = "middle";
|
|
self.camera_hud_item["zoom_level_background"].horzalign = "right";
|
|
self.camera_hud_item["zoom_level_background"].alpha = 0.1;
|
|
self.camera_hud_item["zoom_level_background"].x = var_0 - self.camera_hud_item["zoom_level_background"].width;
|
|
self.camera_hud_item["zoom_level_background"].sort = self.camera_hud_item["zoom_level_24"].sort - 1;
|
|
self.camera_hud_item["top_bar"] = maps\_hud_util::createicon( "white", 100, 16 );
|
|
self.camera_hud_item["top_bar"] set_default_hud_parameters();
|
|
self.camera_hud_item["top_bar"].alignx = "center";
|
|
self.camera_hud_item["top_bar"].aligny = "top";
|
|
self.camera_hud_item["top_bar"].horzalign = "center";
|
|
self.camera_hud_item["top_bar"].vertalign = "top";
|
|
self.camera_hud_item["top_bar"].alpha = 0.1;
|
|
self.camera_hud_item["top_bar"].sort = self.camera_hud_item["zoom_level_background"].sort - 1;
|
|
maps\_utility::vision_set_fog_changes( "factory_weapon_camera", 0.25 );
|
|
thread maps\factory_audio::aud_binoculars_vision_on();
|
|
thread maps\factory_audio::aud_binoculars_bg_loop();
|
|
thread binoculars_calculate_range();
|
|
thread static_overlay();
|
|
thread binoculars_monitor_scanning();
|
|
thread monitor_binoculars_variable_zoom();
|
|
thread binoculars_angles_display();
|
|
thread setup_tagged_entities();
|
|
thread sat_camera_reticule();
|
|
}
|
|
|
|
sat_camera_rec_dot_flash( var_0 )
|
|
{
|
|
self endon( "death" );
|
|
|
|
for (;;)
|
|
{
|
|
if ( !isdefined( self ) )
|
|
return;
|
|
|
|
self.alpha = 0.0;
|
|
wait( var_0 );
|
|
|
|
if ( !isdefined( self ) )
|
|
return;
|
|
|
|
self.alpha = 1.0;
|
|
wait( var_0 );
|
|
}
|
|
}
|
|
|
|
binoculars_clear_hud()
|
|
{
|
|
self.binoculars_active = 0;
|
|
thread maps\factory_audio::aud_binoculars_vision_off();
|
|
self notify( "stop_binocular_bg_loop_sound" );
|
|
self notify( "cancel_laser" );
|
|
thread static_overlay_off();
|
|
thread zoom_lerp_dof();
|
|
maps\_utility::vision_set_fog_changes( "", 0.25 );
|
|
self allowmelee( 1 );
|
|
common_scripts\utility::_enableoffhandweapons();
|
|
setsaveddvar( "ammoCounterHide", "0" );
|
|
setsaveddvar( "actionSlotsHide", "0" );
|
|
setsaveddvar( "hud_showStance", 1 );
|
|
setsaveddvar( "compass", 1 );
|
|
setsaveddvar( "cg_drawCrosshair", 1 );
|
|
common_scripts\utility::_enableweapon();
|
|
var_0 = getarraykeys( self.camera_hud_item );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
self.camera_hud_item[var_2] destroy();
|
|
self.camera_hud_item[var_2] = undefined;
|
|
}
|
|
|
|
thread remove_tagged_entities();
|
|
maps\_art::dof_disable_script( 0.0 );
|
|
setsaveddvar( "cg_fov", self.default_fov );
|
|
self nightvisionviewoff();
|
|
}
|
|
|
|
binoculars_calculate_range()
|
|
{
|
|
self endon( "stop_using_binoculars" );
|
|
self endon( "binoculars_hud_off" );
|
|
self endon( "take_binoculars" );
|
|
|
|
for (;;)
|
|
{
|
|
var_0 = anglestoforward( self getplayerangles() );
|
|
|
|
if ( self islinked() && isdefined( self.linked_world_space_forward ) )
|
|
var_0 = self.linked_world_space_forward;
|
|
|
|
for ( self.binoculars_trace = bullettrace( self geteye(), self geteye() + var_0 * 50000, 1, self, 1 ); isdefined( self.binoculars_trace["surfacetype"] ) && self.binoculars_trace["surfacetype"] == "glass"; self.binoculars_trace = bullettrace( self.binoculars_trace["position"] + var_0 * 20, self.binoculars_trace["position"] + var_0 * 50000, 1, self ) )
|
|
{
|
|
|
|
}
|
|
|
|
var_1 = distance( self geteye(), self.binoculars_trace["position"] );
|
|
var_1 = var_1 * 0.0254;
|
|
var_1 = int( var_1 * 100 ) * 0.01;
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
binoculars_lock_to_target( var_0 )
|
|
{
|
|
if ( !self islinked() )
|
|
{
|
|
self.binoculars_linked_to_target = 1;
|
|
|
|
if ( !isdefined( self.player_view_controller_model ) )
|
|
{
|
|
self.player_view_controller_model = spawn( "script_model", self.origin );
|
|
self.player_view_controller_model setmodel( "tag_origin" );
|
|
}
|
|
|
|
self.player_view_controller_model.origin = self.origin;
|
|
self.player_view_controller_model.angles = self getplayerangles();
|
|
|
|
if ( !isdefined( self.player_view_controller ) )
|
|
self.player_view_controller = maps\_utility::get_player_view_controller( self.player_view_controller_model, "tag_origin", ( 0, 0, 0 ), "player_view_controller_binoculars" );
|
|
|
|
if ( !isdefined( self.turret_look_at_ent ) )
|
|
{
|
|
self.turret_look_at_ent = spawn( "script_model", self.origin );
|
|
self.turret_look_at_ent setmodel( "tag_origin" );
|
|
}
|
|
|
|
self.turret_look_at_ent.origin = self.origin + anglestoforward( self getplayerangles() ) * 1000;
|
|
self.player_view_controller snaptotargetentity( self.turret_look_at_ent );
|
|
self.prev_origin = self.origin;
|
|
self playerlinktodelta( self.player_view_controller, "tag_aim", 0.0, 0, 0, 0, 0, 1 );
|
|
self.player_view_controller settargetentity( var_0, self.origin - self geteye() );
|
|
}
|
|
}
|
|
|
|
binoculars_unlock_from_target()
|
|
{
|
|
if ( isdefined( self.binoculars_linked_to_target ) && self.binoculars_linked_to_target )
|
|
{
|
|
self unlink();
|
|
self.binoculars_linked_to_target = 0;
|
|
|
|
if ( isdefined( self.prev_origin ) )
|
|
{
|
|
self setorigin( self.prev_origin );
|
|
self.prev_origin = undefined;
|
|
}
|
|
|
|
if ( isdefined( self.player_view_controller ) )
|
|
{
|
|
self.player_view_controller delete();
|
|
self.player_view_controller = undefined;
|
|
}
|
|
|
|
if ( isdefined( self.player_view_controller_model ) )
|
|
{
|
|
self.player_view_controller_model delete();
|
|
self.player_view_controller_model = undefined;
|
|
}
|
|
|
|
if ( isdefined( self.turret_look_at_ent ) )
|
|
{
|
|
self.turret_look_at_ent delete();
|
|
self.turret_look_at_ent = undefined;
|
|
}
|
|
}
|
|
}
|
|
|
|
binocular_face_scanning( var_0 )
|
|
{
|
|
self endon( "stop_using_binoculars" );
|
|
self endon( "take_binoculars" );
|
|
self endon( "stop_scanning" );
|
|
self endon( "scanning_complete" );
|
|
self.camera_hud_item["profile"] = maps\_hud_util::createicon( "white", 128, 128 );
|
|
self.camera_hud_item["profile"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile"].alignx = "left";
|
|
self.camera_hud_item["profile"].aligny = "middle";
|
|
self.camera_hud_item["profile"].horzalign = "left";
|
|
self.camera_hud_item["profile"].vertalign = "middle";
|
|
self.camera_hud_item["profile"].x = 0;
|
|
self.camera_hud_item["profile"].y = 50;
|
|
self.camera_hud_item["profile"].alpha = 0.9;
|
|
}
|
|
|
|
binocular_face_scanning_data()
|
|
{
|
|
self endon( "stop_using_binoculars" );
|
|
self endon( "take_binoculars" );
|
|
self.camera_hud_item["profile_data_line_1"] = maps\_hud_util::createicon( "white", self.camera_hud_item["profile"].width, 10 );
|
|
self.camera_hud_item["profile_data_line_1"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile_data_line_1"].alignx = "left";
|
|
self.camera_hud_item["profile_data_line_1"].horzalign = "left";
|
|
self.camera_hud_item["profile_data_line_1"].x = 0;
|
|
self.camera_hud_item["profile_data_line_1"].y = 10 + self.camera_hud_item["profile"].y + self.camera_hud_item["profile"].height * 0.5;
|
|
self.camera_hud_item["profile_data_line_1"].alpha = 0.25;
|
|
self.camera_hud_item["profile_data_line_2"] = maps\_hud_util::createicon( "white", self.camera_hud_item["profile"].width, 10 );
|
|
self.camera_hud_item["profile_data_line_2"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile_data_line_2"].alignx = "left";
|
|
self.camera_hud_item["profile_data_line_2"].horzalign = "left";
|
|
self.camera_hud_item["profile_data_line_2"].x = 0;
|
|
self.camera_hud_item["profile_data_line_2"].y = self.camera_hud_item["profile_data_line_1"].y + self.camera_hud_item["profile_data_line_1"].height;
|
|
self.camera_hud_item["profile_data_line_2"].alpha = 0.15;
|
|
self.camera_hud_item["profile_data_line_3"] = maps\_hud_util::createicon( "white", self.camera_hud_item["profile"].width, 10 );
|
|
self.camera_hud_item["profile_data_line_3"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile_data_line_3"].alignx = "left";
|
|
self.camera_hud_item["profile_data_line_3"].horzalign = "left";
|
|
self.camera_hud_item["profile_data_line_3"].x = 0;
|
|
self.camera_hud_item["profile_data_line_3"].y = self.camera_hud_item["profile_data_line_2"].y + self.camera_hud_item["profile_data_line_2"].height;
|
|
self.camera_hud_item["profile_data_line_3"].alpha = 0.25;
|
|
self.camera_hud_item["profile_data_feed_1"] = maps\_hud_util::createclientfontstring( "default", 0.6 );
|
|
self.camera_hud_item["profile_data_feed_1"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile_data_feed_1"].horzalign = "left";
|
|
self.camera_hud_item["profile_data_feed_1"].x = self.camera_hud_item["profile_data_line_1"].x + 1;
|
|
self.camera_hud_item["profile_data_feed_1"].y = self.camera_hud_item["profile_data_line_1"].y;
|
|
self.camera_hud_item["profile_data_feed_1"].alpha = 0.75;
|
|
self.camera_hud_item["profile_data_feed_1"].defaulttext = "FEED " + randomintrange( 10, 99 ) + " -- ";
|
|
self.camera_hud_item["profile_data_feed_2"] = maps\_hud_util::createclientfontstring( "default", 0.6 );
|
|
self.camera_hud_item["profile_data_feed_2"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile_data_feed_2"].horzalign = "left";
|
|
self.camera_hud_item["profile_data_feed_2"].x = int( self.camera_hud_item["profile_data_line_1"].width / 2 ) + 1;
|
|
self.camera_hud_item["profile_data_feed_2"].y = self.camera_hud_item["profile_data_line_1"].y;
|
|
self.camera_hud_item["profile_data_feed_2"].alpha = 0.75;
|
|
self.camera_hud_item["profile_data_feed_2"].defaulttext = " FEED " + randomintrange( 10, 99 ) + " -- ";
|
|
self.camera_hud_item["profile_data_feed_3"] = maps\_hud_util::createclientfontstring( "default", 0.6 );
|
|
self.camera_hud_item["profile_data_feed_3"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile_data_feed_3"].horzalign = "left";
|
|
self.camera_hud_item["profile_data_feed_3"].x = self.camera_hud_item["profile_data_line_2"].x + 1;
|
|
self.camera_hud_item["profile_data_feed_3"].y = self.camera_hud_item["profile_data_line_2"].y;
|
|
self.camera_hud_item["profile_data_feed_3"].alpha = 0.75;
|
|
self.camera_hud_item["profile_data_feed_3"].defaulttext = "FEED " + randomintrange( 10, 99 ) + " -- ";
|
|
self.camera_hud_item["profile_data_feed_4"] = maps\_hud_util::createclientfontstring( "default", 0.6 );
|
|
self.camera_hud_item["profile_data_feed_4"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile_data_feed_4"].horzalign = "left";
|
|
self.camera_hud_item["profile_data_feed_4"].x = int( self.camera_hud_item["profile_data_line_2"].width / 2 ) + 1;
|
|
self.camera_hud_item["profile_data_feed_4"].y = self.camera_hud_item["profile_data_line_2"].y;
|
|
self.camera_hud_item["profile_data_feed_4"].alpha = 0.75;
|
|
self.camera_hud_item["profile_data_feed_4"].defaulttext = " FEED " + randomintrange( 10, 99 ) + " -- ";
|
|
self.camera_hud_item["profile_data_feed_5"] = maps\_hud_util::createclientfontstring( "default", 0.6 );
|
|
self.camera_hud_item["profile_data_feed_5"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile_data_feed_5"].horzalign = "left";
|
|
self.camera_hud_item["profile_data_feed_5"].x = self.camera_hud_item["profile_data_line_3"].x + 1;
|
|
self.camera_hud_item["profile_data_feed_5"].y = self.camera_hud_item["profile_data_line_3"].y;
|
|
self.camera_hud_item["profile_data_feed_5"].alpha = 0.75;
|
|
self.camera_hud_item["profile_data_feed_5"].defaulttext = "FEED " + randomintrange( 1, 100 ) + " -- ";
|
|
self.camera_hud_item["profile_data_feed_6"] = maps\_hud_util::createclientfontstring( "default", 0.6 );
|
|
self.camera_hud_item["profile_data_feed_6"] set_default_hud_parameters();
|
|
self.camera_hud_item["profile_data_feed_6"].horzalign = "left";
|
|
self.camera_hud_item["profile_data_feed_6"].x = int( self.camera_hud_item["profile_data_line_3"].width / 2 ) + 1;
|
|
self.camera_hud_item["profile_data_feed_6"].y = self.camera_hud_item["profile_data_line_3"].y;
|
|
self.camera_hud_item["profile_data_feed_6"].alpha = 0.75;
|
|
self.camera_hud_item["profile_data_feed_6"].defaulttext = "FEED " + randomintrange( 1, 100 ) + " -- ";
|
|
self.camera_hud_item["upload_ellipsis_1"] = maps\_hud_util::createclientfontstring( "default", 1.5 );
|
|
self.camera_hud_item["upload_ellipsis_1"] set_default_hud_parameters();
|
|
self.camera_hud_item["upload_ellipsis_1"].alignx = "left";
|
|
self.camera_hud_item["upload_ellipsis_1"].aligny = "bottom";
|
|
self.camera_hud_item["upload_ellipsis_1"].horzalign = "left";
|
|
self.camera_hud_item["upload_ellipsis_1"].x = 0;
|
|
self.camera_hud_item["upload_ellipsis_1"].y = ( self.camera_hud_item["profile"].height / 2 - self.camera_hud_item["profile"].y + 2 ) * -1;
|
|
self.camera_hud_item["upload_ellipsis_1"].alpha = 0.9;
|
|
self.camera_hud_item["upload_ellipsis_1"] settext( "." );
|
|
self.camera_hud_item["upload_ellipsis_2"] = maps\_hud_util::createclientfontstring( "default", 1.5 );
|
|
self.camera_hud_item["upload_ellipsis_2"] set_default_hud_parameters();
|
|
self.camera_hud_item["upload_ellipsis_2"].alignx = "left";
|
|
self.camera_hud_item["upload_ellipsis_2"].aligny = "bottom";
|
|
self.camera_hud_item["upload_ellipsis_2"].horzalign = "left";
|
|
self.camera_hud_item["upload_ellipsis_2"].x = 0;
|
|
self.camera_hud_item["upload_ellipsis_2"].y = ( self.camera_hud_item["profile"].height / 2 - self.camera_hud_item["profile"].y + 2 ) * -1;
|
|
self.camera_hud_item["upload_ellipsis_2"].alpha = 0.3;
|
|
self.camera_hud_item["upload_ellipsis_2"] settext( " ." );
|
|
self.camera_hud_item["upload_ellipsis_3"] = maps\_hud_util::createclientfontstring( "default", 1.5 );
|
|
self.camera_hud_item["upload_ellipsis_3"] set_default_hud_parameters();
|
|
self.camera_hud_item["upload_ellipsis_3"].alignx = "left";
|
|
self.camera_hud_item["upload_ellipsis_3"].aligny = "bottom";
|
|
self.camera_hud_item["upload_ellipsis_3"].horzalign = "left";
|
|
self.camera_hud_item["upload_ellipsis_3"].x = 0;
|
|
self.camera_hud_item["upload_ellipsis_3"].y = ( self.camera_hud_item["profile"].height / 2 - self.camera_hud_item["profile"].y + 2 ) * -1;
|
|
self.camera_hud_item["upload_ellipsis_3"].alpha = 0.6;
|
|
self.camera_hud_item["upload_ellipsis_3"] settext( " ." );
|
|
self.camera_hud_item["secure"] = maps\_hud_util::createclientfontstring( "default", 1.0 );
|
|
self.camera_hud_item["secure"] set_default_hud_parameters();
|
|
self.camera_hud_item["secure"].horzalign = "left";
|
|
self.camera_hud_item["secure"].x = 0;
|
|
self.camera_hud_item["secure"].y = self.camera_hud_item["profile_data_line_3"].y + self.camera_hud_item["profile_data_line_3"].height;
|
|
self.camera_hud_item["secure"].alpha = 0.75;
|
|
self.camera_hud_item["secure"] settext( "SECURE" );
|
|
var_0 = 1;
|
|
var_1 = 0;
|
|
var_2 = self.binoculars_scan_time / 5;
|
|
var_3 = 0.0;
|
|
var_4 = [];
|
|
var_4[var_4.size] = self.camera_hud_item["profile_data_feed_1"];
|
|
var_4[var_4.size] = self.camera_hud_item["profile_data_feed_2"];
|
|
var_4[var_4.size] = self.camera_hud_item["profile_data_feed_3"];
|
|
var_4[var_4.size] = self.camera_hud_item["profile_data_feed_4"];
|
|
var_4[var_4.size] = self.camera_hud_item["profile_data_feed_5"];
|
|
|
|
for ( var_4[var_4.size] = self.camera_hud_item["profile_data_feed_6"]; !self.binoculars_scanning_complete && !self.binoculars_stop_scanning; var_1 = !var_1 )
|
|
{
|
|
if ( var_1 )
|
|
{
|
|
var_0 = var_0 + 1;
|
|
|
|
if ( var_0 > 3 )
|
|
var_0 = 1;
|
|
|
|
switch ( var_0 )
|
|
{
|
|
case 1:
|
|
self.camera_hud_item["upload_ellipsis_1"].alpha = 0.9;
|
|
self.camera_hud_item["upload_ellipsis_2"].alpha = 0.3;
|
|
self.camera_hud_item["upload_ellipsis_3"].alpha = 0.6;
|
|
break;
|
|
case 2:
|
|
self.camera_hud_item["upload_ellipsis_1"].alpha = 0.6;
|
|
self.camera_hud_item["upload_ellipsis_2"].alpha = 0.9;
|
|
self.camera_hud_item["upload_ellipsis_3"].alpha = 0.3;
|
|
break;
|
|
case 3:
|
|
self.camera_hud_item["upload_ellipsis_1"].alpha = 0.3;
|
|
self.camera_hud_item["upload_ellipsis_2"].alpha = 0.6;
|
|
self.camera_hud_item["upload_ellipsis_3"].alpha = 0.9;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ( var_3 > var_2 && var_4.size > 1 )
|
|
{
|
|
var_3 = 0.0;
|
|
var_4[0].alpha = 1.0;
|
|
var_4 = maps\_utility::array_remove_index( var_4, 0 );
|
|
}
|
|
|
|
foreach ( var_6 in var_4 )
|
|
var_6 settext( var_6.defaulttext + int( randomfloatrange( 0.0, 10000 ) * 100000 ) / 100000 );
|
|
|
|
wait 0.05;
|
|
var_3 = var_3 + 0.05;
|
|
}
|
|
|
|
if ( !self.binoculars_stop_scanning )
|
|
{
|
|
self.camera_hud_item["upload_ellipsis_1"].alpha = 0.0;
|
|
self.camera_hud_item["upload_ellipsis_2"].alpha = 0.0;
|
|
self.camera_hud_item["upload_ellipsis_3"].alpha = 0.0;
|
|
self waittill( "stop_scanning" );
|
|
}
|
|
|
|
self.camera_hud_item["profile_data_line_1"] destroy();
|
|
self.camera_hud_item["profile_data_line_1"] = undefined;
|
|
self.camera_hud_item["profile_data_line_2"] destroy();
|
|
self.camera_hud_item["profile_data_line_2"] = undefined;
|
|
self.camera_hud_item["profile_data_line_3"] destroy();
|
|
self.camera_hud_item["profile_data_line_3"] = undefined;
|
|
self.camera_hud_item["profile_data_feed_1"] destroy();
|
|
self.camera_hud_item["profile_data_feed_1"] = undefined;
|
|
self.camera_hud_item["profile_data_feed_2"] destroy();
|
|
self.camera_hud_item["profile_data_feed_2"] = undefined;
|
|
self.camera_hud_item["profile_data_feed_3"] destroy();
|
|
self.camera_hud_item["profile_data_feed_3"] = undefined;
|
|
self.camera_hud_item["profile_data_feed_4"] destroy();
|
|
self.camera_hud_item["profile_data_feed_4"] = undefined;
|
|
self.camera_hud_item["profile_data_feed_5"] destroy();
|
|
self.camera_hud_item["profile_data_feed_5"] = undefined;
|
|
self.camera_hud_item["profile_data_feed_6"] destroy();
|
|
self.camera_hud_item["profile_data_feed_6"] = undefined;
|
|
self.camera_hud_item["upload_ellipsis_1"] destroy();
|
|
self.camera_hud_item["upload_ellipsis_1"] = undefined;
|
|
self.camera_hud_item["upload_ellipsis_2"] destroy();
|
|
self.camera_hud_item["upload_ellipsis_2"] = undefined;
|
|
self.camera_hud_item["upload_ellipsis_3"] destroy();
|
|
self.camera_hud_item["upload_ellipsis_3"] = undefined;
|
|
self.camera_hud_item["secure"] destroy();
|
|
self.camera_hud_item["secure"] = undefined;
|
|
}
|
|
|
|
binoculars_monitor_scanning()
|
|
{
|
|
self endon( "stop_using_binoculars" );
|
|
self endon( "take_binoculars" );
|
|
self notifyonplayercommand( "scanning", "+attack" );
|
|
self notifyonplayercommand( "stop_scanning", "-attack" );
|
|
|
|
for (;;)
|
|
{
|
|
self waittill( "scanning" );
|
|
var_0 = 1;
|
|
|
|
if ( var_0 && common_scripts\utility::flag( "sat_allow_scan" ) )
|
|
{
|
|
var_1 = getent( level.sat_lock_target, "targetname" );
|
|
thread binoculars_lock_to_target( var_1 );
|
|
self notify( "scanning_target" );
|
|
|
|
if ( !self attackbuttonpressed() )
|
|
{
|
|
self notify( "stop_binocular_flash" );
|
|
binoculars_unlock_from_target();
|
|
continue;
|
|
}
|
|
|
|
self.binoculars_scanning_complete = 0;
|
|
self.binoculars_stop_scanning = 0;
|
|
thread maps\factory_audio::aud_binoculars_scan_loop();
|
|
thread binocular_face_scanning( var_1 );
|
|
self.camera_hud_item["uploading_bar"] = maps\_hud_util::createicon( "white", 1, 8 );
|
|
self.camera_hud_item["uploading_bar"] set_default_hud_parameters();
|
|
self.camera_hud_item["uploading_bar"].aligny = "bottom";
|
|
self.camera_hud_item["uploading_bar"].horzalign = "left";
|
|
self.camera_hud_item["uploading_bar"].x = 0;
|
|
self.camera_hud_item["uploading_bar"].y = self.camera_hud_item["profile"].height - 5;
|
|
self.camera_hud_item["uploading_bar"].alpha = 0.9;
|
|
self.binoculars_scan_time = 2.0;
|
|
thread binocular_face_scanning_data();
|
|
self.camera_hud_item["recognition_system"].alpha = 1.0;
|
|
var_2 = 0.0;
|
|
|
|
while ( self attackbuttonpressed() && var_2 < self.binoculars_scan_time )
|
|
{
|
|
var_2 = var_2 + 0.05;
|
|
wait 0.05;
|
|
self.camera_hud_item["uploading_bar"] setshader( "white", int( var_2 / 2.0 * ( self.camera_hud_item["profile"].width - 3 ) ), 8 );
|
|
}
|
|
|
|
if ( var_2 >= 1.0 )
|
|
{
|
|
self notify( "scanning_complete" );
|
|
self.binoculars_scanning_complete = 1;
|
|
|
|
while ( self attackbuttonpressed() && var_2 < 1.5 )
|
|
{
|
|
var_2 = var_2 + 0.05;
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
self notify( "stop_binocular_scan_loop_sound" );
|
|
|
|
if ( var_2 >= 1.5 )
|
|
{
|
|
switch ( level.sat_lock_target )
|
|
{
|
|
case "sat_target_A":
|
|
common_scripts\utility::flag_set( "cam_A_scanned" );
|
|
level.sat_lock_target = "sat_target_B";
|
|
break;
|
|
case "sat_target_B":
|
|
level notify( "stop_nag" );
|
|
common_scripts\utility::flag_set( "cam_B_scanned" );
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
thread maps\factory_audio::aud_binoculars_scan_positive();
|
|
self.camera_hud_item["id_confirmed"] = maps\_hud_util::createclientfontstring( "default", 1.25 );
|
|
self.camera_hud_item["id_confirmed"] set_default_hud_parameters();
|
|
self.camera_hud_item["id_confirmed"].aligny = "middle";
|
|
self.camera_hud_item["id_confirmed"].horzalign = "left";
|
|
self.camera_hud_item["id_confirmed"].x = self.camera_hud_item["profile"].x + self.camera_hud_item["profile"].width + 1;
|
|
self.camera_hud_item["id_confirmed"].y = self.camera_hud_item["profile"].y;
|
|
self.camera_hud_item["id_confirmed"].alpha = 0.9;
|
|
self.camera_hud_item["id_confirmed"] settext( "Payload Confirmed" );
|
|
self notify( "stop_binocular_flash" );
|
|
|
|
while ( self attackbuttonpressed() )
|
|
wait 0.05;
|
|
|
|
if ( isdefined( self.camera_hud_item["id_confirmed"] ) )
|
|
{
|
|
self.camera_hud_item["id_confirmed"] destroy();
|
|
self.camera_hud_item["id_confirmed"] = undefined;
|
|
}
|
|
|
|
if ( isdefined( self.camera_hud_item["incomplete_data"] ) )
|
|
{
|
|
self.camera_hud_item["incomplete_data"] destroy();
|
|
self.camera_hud_item["incomplete_data"] = undefined;
|
|
}
|
|
|
|
if ( isdefined( self.camera_hud_item["unknown"] ) )
|
|
{
|
|
self.camera_hud_item["unknown"] destroy();
|
|
self.camera_hud_item["unknown"] = undefined;
|
|
}
|
|
|
|
if ( isdefined( self.camera_hud_item["match_percent"] ) )
|
|
{
|
|
self.camera_hud_item["match_percent"] destroy();
|
|
self.camera_hud_item["match_percent"] = undefined;
|
|
}
|
|
}
|
|
else
|
|
thread maps\factory_audio::aud_binoculars_scan_negative();
|
|
|
|
self.binoculars_stop_scanning = 1;
|
|
self.camera_hud_item["recognition_system"].alpha = 0.25;
|
|
self.camera_hud_item["uploading_bar"] destroy();
|
|
self.camera_hud_item["uploading_bar"] = undefined;
|
|
self.camera_hud_item["profile"] destroy();
|
|
self.camera_hud_item["profile"] = undefined;
|
|
binoculars_unlock_from_target();
|
|
wait 0.2;
|
|
}
|
|
}
|
|
}
|
|
|
|
static_overlay()
|
|
{
|
|
self endon( "stop_using_binoculars" );
|
|
self endon( "take_binoculars" );
|
|
self.camera_hud_item["static"] = newclienthudelem( self );
|
|
self.camera_hud_item["static"].x = 0;
|
|
self.camera_hud_item["static"].y = 0;
|
|
self.camera_hud_item["static"].alignx = "left";
|
|
self.camera_hud_item["static"].aligny = "top";
|
|
self.camera_hud_item["static"].horzalign = "fullscreen";
|
|
self.camera_hud_item["static"].vertalign = "fullscreen";
|
|
self.camera_hud_item["static"] setshader( "overlay_static", 640, 480 );
|
|
self.camera_hud_item["static"].alpha = 0.75;
|
|
self.camera_hud_item["static"].sort = -3;
|
|
self.camera_hud_item["static"] fadeovertime( 0.05 );
|
|
self.camera_hud_item["static"].alpha = 0.9;
|
|
wait 0.05;
|
|
self.camera_hud_item["static"] fadeovertime( 0.15 );
|
|
self.camera_hud_item["static"].alpha = 0.0;
|
|
wait 0.15;
|
|
self.camera_hud_item["static"] destroy();
|
|
self.camera_hud_item["static"] = undefined;
|
|
}
|
|
|
|
static_overlay_off()
|
|
{
|
|
self endon( "player_using_camera" );
|
|
self.static_overlay = newclienthudelem( self );
|
|
self.static_overlay.x = 0;
|
|
self.static_overlay.y = 0;
|
|
self.static_overlay.alignx = "left";
|
|
self.static_overlay.aligny = "top";
|
|
self.static_overlay.horzalign = "fullscreen";
|
|
self.static_overlay.vertalign = "fullscreen";
|
|
self.static_overlay setshader( "overlay_static", 640, 480 );
|
|
self.static_overlay.alpha = 0.75;
|
|
self.static_overlay.sort = -3;
|
|
self.static_overlay fadeovertime( 0.05 );
|
|
self.static_overlay.alpha = 0.9;
|
|
wait 0.05;
|
|
self.static_overlay fadeovertime( 0.05 );
|
|
self.static_overlay.alpha = 0.0;
|
|
wait 0.05;
|
|
self.static_overlay destroy();
|
|
self.static_overlay = undefined;
|
|
}
|
|
|
|
monitor_binoculars_variable_zoom()
|
|
{
|
|
self endon( "stop_using_binoculars" );
|
|
self endon( "take_binoculars" );
|
|
self.current_binocular_zoom_level = self.binoculars_default_zoom_level;
|
|
self.binocular_zoom_levels = 3;
|
|
self.first_zoom_level_fov = 4;
|
|
binoculars_zoom();
|
|
|
|
for (;;)
|
|
{
|
|
self waittill( "binocular_zoom" );
|
|
level notify( "binocular_zoom" );
|
|
|
|
if ( self.binoculars_zoom_enabled && !self attackbuttonpressed() )
|
|
{
|
|
self.binocular_zooming = 1;
|
|
self.current_binocular_zoom_level++;
|
|
|
|
if ( self.current_binocular_zoom_level >= self.binocular_zoom_levels )
|
|
{
|
|
self.current_binocular_zoom_level = 0;
|
|
thread maps\factory_audio::aud_binoculars_zoom_out();
|
|
}
|
|
else
|
|
thread maps\factory_audio::aud_binoculars_zoom_in();
|
|
|
|
foreach ( var_1 in self.binocular_reticle_pieces )
|
|
var_1.alpha = 1.0;
|
|
|
|
wait 0.15;
|
|
binoculars_zoom();
|
|
|
|
if ( self.current_binocular_zoom_level < 3 )
|
|
thread zoom_lerp_dof();
|
|
|
|
if ( isdefined( self.binoculars_trace["entity"] ) && isai( self.binoculars_trace["entity"] ) && self.binoculars_trace["entity"] isbadguy() )
|
|
{
|
|
foreach ( var_1 in self.binocular_reticle_pieces )
|
|
var_1.alpha = 1.0;
|
|
}
|
|
else
|
|
{
|
|
foreach ( var_1 in self.binocular_reticle_pieces )
|
|
var_1.alpha = 0.0;
|
|
}
|
|
|
|
wait 0.1;
|
|
self.binocular_zooming = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
binoculars_zoom()
|
|
{
|
|
switch ( self.current_binocular_zoom_level )
|
|
{
|
|
case 0:
|
|
self.camera_hud_item["zoom_level_1"].alpha = 1.0;
|
|
self.camera_hud_item["zoom_level_24"].alpha = 0.25;
|
|
break;
|
|
case 1:
|
|
self.camera_hud_item["zoom_level_15"].alpha = 1.0;
|
|
self.camera_hud_item["zoom_level_1"].alpha = 0.25;
|
|
break;
|
|
case 2:
|
|
self.camera_hud_item["zoom_level_24"].alpha = 1.0;
|
|
self.camera_hud_item["zoom_level_15"].alpha = 0.25;
|
|
break;
|
|
}
|
|
|
|
if ( self.current_binocular_zoom_level == 0 )
|
|
setsaveddvar( "cg_fov", 65 );
|
|
else if ( self.current_binocular_zoom_level == 1 )
|
|
setsaveddvar( "cg_fov", 43 );
|
|
else if ( self.current_binocular_zoom_level == 2 )
|
|
setsaveddvar( "cg_fov", 27 );
|
|
}
|
|
|
|
zoom_lerp_dof()
|
|
{
|
|
self notify( "binoculars_lerp_dof" );
|
|
self endon( "binoculars_lerp_dof" );
|
|
maps\_art::dof_enable_script( 50, 100, 10, 100, 200, 6, 0.0 );
|
|
maps\_art::dof_disable_script( 0.5 );
|
|
}
|
|
|
|
binoculars_angles_display()
|
|
{
|
|
self endon( "stop_using_binoculars" );
|
|
self endon( "take_binoculars" );
|
|
self.camera_hud_item["angles"] = maps\_hud_util::createclientfontstring( "default", 1.25 );
|
|
self.camera_hud_item["angles"].x = 0;
|
|
self.camera_hud_item["angles"].y = 0;
|
|
self.camera_hud_item["angles"].alignx = "center";
|
|
self.camera_hud_item["angles"].aligny = "top";
|
|
self.camera_hud_item["angles"].horzalign = "center";
|
|
self.camera_hud_item["angles"].vertalign = "top";
|
|
self.camera_hud_item["angles"].color = ( 1, 1, 1 );
|
|
self.camera_hud_item["angles"].alpha = 1.0;
|
|
self.camera_hud_item["heading"] = maps\_hud_util::createclientfontstring( "default", 1.25 );
|
|
self.camera_hud_item["heading"].x = 0;
|
|
self.camera_hud_item["heading"].y = self.camera_hud_item["angles"].height * 1.1;
|
|
self.camera_hud_item["heading"].alignx = "center";
|
|
self.camera_hud_item["heading"].aligny = "top";
|
|
self.camera_hud_item["heading"].horzalign = "center";
|
|
self.camera_hud_item["heading"].vertalign = "top";
|
|
self.camera_hud_item["heading"].color = ( 1, 1, 1 );
|
|
self.camera_hud_item["heading"].alpha = 1.0;
|
|
var_0 = getnorthyaw();
|
|
|
|
for (;;)
|
|
{
|
|
var_1 = abs( angleclamp( 0 - self getplayerangles()[1] ) - var_0 );
|
|
var_2 = ( var_1 - int( var_1 ) ) * 60.0;
|
|
var_3 = ( var_2 - int( var_2 ) ) * 60.0;
|
|
var_4 = "" + int( var_2 );
|
|
|
|
if ( var_2 < 10 )
|
|
var_4 = "0" + int( var_2 );
|
|
|
|
var_5 = "" + int( var_3 );
|
|
|
|
if ( var_3 < 10 )
|
|
var_5 = "0" + int( var_3 );
|
|
|
|
self.camera_hud_item["angles"] settext( int( var_1 ) + " " + var_4 + "' " + var_5 + "\"" );
|
|
|
|
if ( var_1 > 337.5 || var_1 < 22.5 )
|
|
self.camera_hud_item["heading"] settext( "N" );
|
|
else if ( var_1 < 67.5 )
|
|
self.camera_hud_item["heading"] settext( "NE" );
|
|
else if ( var_1 < 112.5 )
|
|
self.camera_hud_item["heading"] settext( "E" );
|
|
else if ( var_1 < 157.5 )
|
|
self.camera_hud_item["heading"] settext( "SE" );
|
|
else if ( var_1 < 202.5 )
|
|
self.camera_hud_item["heading"] settext( "S" );
|
|
else if ( var_1 < 247.5 )
|
|
self.camera_hud_item["heading"] settext( "SW" );
|
|
else if ( var_1 < 292.5 )
|
|
self.camera_hud_item["heading"] settext( "W" );
|
|
else
|
|
self.camera_hud_item["heading"] settext( "NW" );
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
sat_camera_reticule()
|
|
{
|
|
self endon( "stop_using_binoculars" );
|
|
self endon( "take_binoculars" );
|
|
var_0 = 0;
|
|
|
|
while ( !common_scripts\utility::flag( "cam_B_confirmed" ) )
|
|
{
|
|
if ( isdefined( level.sat_current_target ) )
|
|
{
|
|
if ( isdefined( self.binoculars_trace["entity"] ) && isdefined( self.binoculars_trace["entity"].targetname ) && self.binoculars_trace["entity"].targetname == level.sat_current_target.target )
|
|
var_0 = 1;
|
|
else
|
|
var_0 = 0;
|
|
}
|
|
else
|
|
var_0 = 0;
|
|
|
|
wait 0.1;
|
|
}
|
|
}
|
|
|
|
setup_tagged_entities()
|
|
{
|
|
self endon( "stop_using_binoculars" );
|
|
self endon( "take_binoculars" );
|
|
level.tag_nodes = [];
|
|
var_0 = [];
|
|
|
|
if ( !common_scripts\utility::flag( "cam_B_confirmed" ) )
|
|
{
|
|
level waittill( "found_sat_target" );
|
|
var_0 = [];
|
|
var_0[var_0.size] = getent( "satellite_ROG_01", "targetname" );
|
|
var_0[var_0.size] = getent( "satellite_ROG_02", "targetname" );
|
|
var_0[var_0.size] = getent( "satellite_ROG_03", "targetname" );
|
|
var_0[var_0.size] = getent( "satellite_ROG_04", "targetname" );
|
|
var_0[var_0.size] = getent( "satellite_ROG_05", "targetname" );
|
|
var_0[var_0.size] = getent( "satellite_ROG_06", "targetname" );
|
|
|
|
foreach ( var_3, var_2 in var_0 )
|
|
{
|
|
var_2 thread add_tag( 35 );
|
|
wait( randomfloatrange( 0.01, 0.22 ) );
|
|
}
|
|
}
|
|
}
|
|
|
|
add_tag( var_0 )
|
|
{
|
|
setsaveddvar( "r_hudoutlineenable", 1 );
|
|
self hudoutlineenable( 5, 0 );
|
|
level.tag_nodes = common_scripts\utility::array_add( level.tag_nodes, self );
|
|
}
|
|
|
|
remove_tagged_entities()
|
|
{
|
|
self hudoutlinedisable();
|
|
setsaveddvar( "r_hudoutlineenable", 0 );
|
|
|
|
if ( isdefined( level.tag_nodes ) && level.tag_nodes.size != 0 )
|
|
{
|
|
foreach ( var_1 in level.tag_nodes )
|
|
{
|
|
if ( target_istarget( var_1 ) )
|
|
target_remove( var_1 );
|
|
}
|
|
}
|
|
}
|
|
|
|
set_default_hud_parameters()
|
|
{
|
|
self.alignx = "left";
|
|
self.aligny = "top";
|
|
self.horzalign = "center";
|
|
self.vertalign = "middle";
|
|
self.hidewhendead = 0;
|
|
self.hidewheninmenu = 0;
|
|
self.sort = 205;
|
|
self.foreground = 1;
|
|
self.alpha = 0.65;
|
|
}
|
|
|
|
game_is_pc()
|
|
{
|
|
if ( level.xenon )
|
|
return 0;
|
|
|
|
if ( level.ps3 )
|
|
return 0;
|
|
|
|
if ( level.ps4 )
|
|
return 0;
|
|
|
|
if ( level.xb3 )
|
|
return 0;
|
|
|
|
return 1;
|
|
}
|