Ejemplo n.º 1
0
//	screenshot
//	screenshot [silent]
//	screenshot [levelshot]
//	screenshot [filename]
//
//	Doesn't print the pacifier message if specified silent
void R_ScreenShot_f() {
	// if we have saved a previous screenshot, don't scan
	// again, because recording demo avis can involve
	// thousands of shots
	static int lastNumber = 0;

	if ( !String::Cmp( Cmd_Argv( 1 ), "levelshot" ) ) {
		R_LevelShot();
		return;
	}

	bool silent = !String::Cmp( Cmd_Argv( 1 ), "silent" );

	char checkname[ MAX_OSPATH ];
	if ( Cmd_Argc() == 2 && !silent ) {
		// explicit filename
		String::Sprintf( checkname, MAX_OSPATH, "screenshots/%s.tga", Cmd_Argv( 1 ) );
	} else {
		// scan for a free filename
		if ( !R_FindAvailableScreenshotFilename( lastNumber, checkname, "tga" ) ) {
			return;
		}
	}

	if ( GGameType & GAME_Tech3 ) {
		R_TakeScreenshot( 0, 0, glConfig.vidWidth, glConfig.vidHeight, checkname, false );
	} else {
		RB_TakeScreenshot( 0, 0, glConfig.vidWidth, glConfig.vidHeight, checkname, false );
	}

	if ( !silent ) {
		common->Printf( "Wrote %s\n", checkname );
	}
}
Ejemplo n.º 2
0
const void* RB_TakeScreenshotCmd( const void* data ) {
	const screenshotCommand_t* cmd = ( const screenshotCommand_t* )data;

	RB_TakeScreenshot( cmd->x, cmd->y, cmd->width, cmd->height, cmd->fileName, cmd->jpeg );

	return ( const void* )( cmd + 1 );
}
Ejemplo n.º 3
0
/*
==================
RB_TakeScreenshotCmd
==================
*/
const void *RB_TakeScreenshotCmd(const void *data)
{
	const screenshotCommand_t *cmd = ( const screenshotCommand_t * ) data;

	if (cmd->jpeg)
	{
		RB_TakeScreenshotJPEG(cmd->x, cmd->y, cmd->width, cmd->height, cmd->fileName);
	}
	else
	{
		RB_TakeScreenshot(cmd->x, cmd->y, cmd->width, cmd->height, cmd->fileName);
	}

	return ( const void * ) (cmd + 1);
}
Ejemplo n.º 4
0
/*
==================
RB_TakeScreenshotCmd
==================
*/
const void *RB_TakeScreenshotCmd( const void *data ) {
	const screenshotCommand_t	*cmd;
	
	cmd = (const screenshotCommand_t *)data;

	// finish any 2D drawing if needed
	if(tess.numIndexes)
		RB_EndSurface();

	if (cmd->jpeg)
		RB_TakeScreenshotJPEG( cmd->x, cmd->y, cmd->width, cmd->height, cmd->fileName);
	else
		RB_TakeScreenshot( cmd->x, cmd->y, cmd->width, cmd->height, cmd->fileName);
	
	return (const void *)(cmd + 1);	
}