iw6-scripts/maps/mp/_compass.gsc
2024-02-13 13:20:49 +01:00

79 lines
1.9 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
setupminimap( var_0 )
{
var_1 = level.requiredmapaspectratio;
var_2 = getentarray( "minimap_corner", "targetname" );
if ( var_2.size != 2 )
return;
var_3 = ( var_2[0].origin[0], var_2[0].origin[1], 0 );
var_4 = ( var_2[1].origin[0], var_2[1].origin[1], 0 );
var_5 = var_4 - var_3;
var_6 = ( cos( getnorthyaw() ), sin( getnorthyaw() ), 0 );
var_7 = ( 0 - var_6[1], var_6[0], 0 );
if ( vectordot( var_5, var_7 ) > 0 )
{
if ( vectordot( var_5, var_6 ) > 0 )
{
var_8 = var_4;
var_9 = var_3;
}
else
{
var_10 = vecscale( var_6, vectordot( var_5, var_6 ) );
var_8 = var_4 - var_10;
var_9 = var_3 + var_10;
}
}
else if ( vectordot( var_5, var_6 ) > 0 )
{
var_10 = vecscale( var_6, vectordot( var_5, var_6 ) );
var_8 = var_3 + var_10;
var_9 = var_4 - var_10;
}
else
{
var_8 = var_3;
var_9 = var_4;
}
if ( getdvar( "mapname" ) == "mp_boneyard_ns" )
{
var_9 = var_9 - ( 220, 220, 0 );
var_8 = var_8 + ( 220, 220, 0 );
}
if ( var_1 > 0 )
{
var_11 = vectordot( var_8 - var_9, var_6 );
var_12 = vectordot( var_8 - var_9, var_7 );
var_13 = var_12 / var_11;
if ( var_13 < var_1 )
{
var_14 = var_1 / var_13;
var_15 = vecscale( var_7, var_12 * ( var_14 - 1 ) * 0.5 );
}
else
{
var_14 = var_13 / var_1;
var_15 = vecscale( var_6, var_11 * ( var_14 - 1 ) * 0.5 );
}
var_8 = var_8 + var_15;
var_9 = var_9 - var_15;
}
level.mapsize = vectordot( var_8 - var_9, var_6 );
setminimap( var_0, var_8[0], var_8[1], var_9[0], var_9[1] );
}
vecscale( var_0, var_1 )
{
return ( var_0[0] * var_1, var_0[1] * var_1, var_0[2] * var_1 );
}