q3map2 -scale: new arg -spawn_ref - sets reference point in spawnpoints
This commit is contained in:
parent
e2bde4a529
commit
b9177e76bf
|
|
@ -1189,12 +1189,13 @@ int ScaleBSPMain( int argc, char **argv )
|
||||||
int uniform, axis;
|
int uniform, axis;
|
||||||
qboolean texscale;
|
qboolean texscale;
|
||||||
float *old_xyzst = NULL;
|
float *old_xyzst = NULL;
|
||||||
|
float spawn_ref = 0;
|
||||||
|
|
||||||
|
|
||||||
/* arg checking */
|
/* arg checking */
|
||||||
if( argc < 3 )
|
if( argc < 3 )
|
||||||
{
|
{
|
||||||
Sys_Printf( "Usage: q3map [-v] -scale [-tex] <value> <mapname>\n" );
|
Sys_Printf( "Usage: q3map [-v] -scale [-tex] [-spawn_ref <value>] <value> <mapname>\n" );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1205,13 +1206,25 @@ int ScaleBSPMain( int argc, char **argv )
|
||||||
if(argc >= 5)
|
if(argc >= 5)
|
||||||
scale[0] = atof( argv[ argc - 4 ] );
|
scale[0] = atof( argv[ argc - 4 ] );
|
||||||
|
|
||||||
texscale = !strcmp(argv[1], "-tex");
|
texscale = false;
|
||||||
|
for(i = 1; i < argc-1; ++i)
|
||||||
|
{
|
||||||
|
if(!strcmp(argv[i], "-tex"))
|
||||||
|
{
|
||||||
|
texscale = true;
|
||||||
|
}
|
||||||
|
else if(!strcmp(argv[i], "-spawn_ref"))
|
||||||
|
{
|
||||||
|
spawn_ref = atof(argv[i+1]);
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
uniform = ((scale[0] == scale[1]) && (scale[1] == scale[2]));
|
uniform = ((scale[0] == scale[1]) && (scale[1] == scale[2]));
|
||||||
|
|
||||||
if( scale[0] == 0.0f || scale[1] == 0.0f || scale[2] == 0.0f )
|
if( scale[0] == 0.0f || scale[1] == 0.0f || scale[2] == 0.0f )
|
||||||
{
|
{
|
||||||
Sys_Printf( "Usage: q3map [-v] -scale [-tex] <value> <mapname>\n" );
|
Sys_Printf( "Usage: q3map [-v] -scale [-tex] [-spawn_ref <value>] <value> <mapname>\n" );
|
||||||
Sys_Printf( "Non-zero scale value required.\n" );
|
Sys_Printf( "Non-zero scale value required.\n" );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -1237,9 +1250,13 @@ int ScaleBSPMain( int argc, char **argv )
|
||||||
GetVectorForKey( &entities[ i ], "origin", vec );
|
GetVectorForKey( &entities[ i ], "origin", vec );
|
||||||
if( (vec[ 0 ] || vec[ 1 ] || vec[ 2 ]) )
|
if( (vec[ 0 ] || vec[ 1 ] || vec[ 2 ]) )
|
||||||
{
|
{
|
||||||
|
if(!strncmp(ValueForKey(&entities[i], "classname"), "info_player_", 12))
|
||||||
|
vec[2] += spawn_ref;
|
||||||
vec[0] *= scale[0];
|
vec[0] *= scale[0];
|
||||||
vec[1] *= scale[1];
|
vec[1] *= scale[1];
|
||||||
vec[2] *= scale[2];
|
vec[2] *= scale[2];
|
||||||
|
if(!strncmp(ValueForKey(&entities[i], "classname"), "info_player_", 12))
|
||||||
|
vec[2] -= spawn_ref;
|
||||||
sprintf( str, "%f %f %f", vec[ 0 ], vec[ 1 ], vec[ 2 ] );
|
sprintf( str, "%f %f %f", vec[ 0 ], vec[ 1 ], vec[ 2 ] );
|
||||||
SetKeyValue( &entities[ i ], "origin", str );
|
SetKeyValue( &entities[ i ], "origin", str );
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user