81 lines
2.1 KiB
C#
Executable File
81 lines
2.1 KiB
C#
Executable File
//-----------------------------------------------------------------------------
|
|
// Torque Game Engine
|
|
// Copyright (C) GarageGames.com, Inc.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
function formatImageNumber(%number)
|
|
{
|
|
if(%number < 10)
|
|
%number = "0" @ %number;
|
|
if(%number < 100)
|
|
%number = "0" @ %number;
|
|
if(%number < 1000)
|
|
%number = "0" @ %number;
|
|
if(%number < 10000)
|
|
%number = "0" @ %number;
|
|
return %number;
|
|
}
|
|
|
|
function formatSessionNumber(%number)
|
|
{
|
|
if(%number < 10)
|
|
%number = "0" @ %number;
|
|
if(%number < 100)
|
|
%number = "0" @ %number;
|
|
return %number;
|
|
}
|
|
|
|
|
|
//----------------------------------------
|
|
function recordMovie(%movieName, %fps)
|
|
{
|
|
$timeAdvance = 1000 / %fps;
|
|
$screenGrabThread = schedule($timeAdvance,0,movieGrabScreen,%movieName,0);
|
|
}
|
|
|
|
function movieGrabScreen(%movieName, %frameNumber)
|
|
{
|
|
screenshot(%movieName @ formatImageNumber(%frameNumber) @ ".png", "PNG");
|
|
$screenGrabThread = schedule($timeAdvance, 0, movieGrabScreen, %movieName, %frameNumber + 1);
|
|
}
|
|
|
|
function stopMovie()
|
|
{
|
|
$timeAdvance = 0;
|
|
cancel($screenGrabThread);
|
|
}
|
|
|
|
|
|
//----------------------------------------
|
|
$screenshotNumber = 0;
|
|
|
|
function doScreenShot( %val )
|
|
{
|
|
if (%val)
|
|
{
|
|
if ($pref::Video::screenShotSession $= "")
|
|
$pref::Video::screenShotSession = 0;
|
|
if ($screenshotNumber == 0)
|
|
$pref::Video::screenShotSession++;
|
|
if ($pref::Video::screenShotSession > 999)
|
|
$pref::Video::screenShotSession = 1;
|
|
|
|
$pref::interior::showdetailmaps = false;
|
|
$name = "screenshot_" @ formatSessionNumber($pref::Video::screenShotSession) @ "-" @ formatImageNumber($screenshotNumber++);
|
|
|
|
if($pref::Video::screenShotFormat $= "JPEG")
|
|
screenShot($name @ ".jpg", "JPEG");
|
|
else
|
|
if($pref::Video::screenShotFormat $= "PNG")
|
|
screenShot($name @ ".png", "PNG");
|
|
else
|
|
screenShot($name @ ".png", "PNG");
|
|
}
|
|
}
|
|
|
|
|
|
// bind key to take screenshots
|
|
GlobalActionMap.bind(keyboard, "ctrl p", doScreenShot);
|
|
|