added everything
This commit is contained in:
111
example/common/client/recordings.cs
Executable file
111
example/common/client/recordings.cs
Executable file
@@ -0,0 +1,111 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Torque Game Engine
|
||||
// Copyright (C) GarageGames.com, Inc.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// RecordingsGui is the main TSControl through which the a demo game recording
|
||||
// is viewed.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function recordingsDlg::onWake()
|
||||
{
|
||||
RecordingsDlgList.clear();
|
||||
%i = 0;
|
||||
%filespec = $currentMod @ "/recordings/*.rec";
|
||||
echo(%filespec);
|
||||
for(%file = findFirstFile(%filespec); %file !$= ""; %file = findNextFile(%filespec))
|
||||
{
|
||||
%fileName = fileBase(%file);
|
||||
if (strStr(%file, "/CVS/") == -1)
|
||||
{
|
||||
RecordingsDlgList.addRow(%i++, %fileName);
|
||||
}
|
||||
}
|
||||
RecordingsDlgList.sort(0);
|
||||
RecordingsDlgList.setSelectedRow(0);
|
||||
RecordingsDlgList.scrollVisible(0);
|
||||
}
|
||||
|
||||
function StartSelectedDemo()
|
||||
{
|
||||
// first unit is filename
|
||||
%sel = RecordingsDlgList.getSelectedId();
|
||||
%rowText = RecordingsDlgList.getRowTextById(%sel);
|
||||
|
||||
%file = $currentMod @ "/recordings/" @ getField(%rowText, 0) @ ".rec";
|
||||
|
||||
new GameConnection(ServerConnection);
|
||||
RootGroup.add(ServerConnection);
|
||||
|
||||
if(ServerConnection.playDemo(%file))
|
||||
{
|
||||
Canvas.setContent(PlayGui);
|
||||
Canvas.popDialog(RecordingsDlg);
|
||||
ServerConnection.prepDemoPlayback();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBoxOK("Playback Failed", "Demo playback failed for file '" @ %file @ "'.");
|
||||
if (isObject(ServerConnection)) {
|
||||
ServerConnection.delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function startDemoRecord()
|
||||
{
|
||||
// make sure that current recording stream is stopped
|
||||
ServerConnection.stopRecording();
|
||||
|
||||
// make sure we aren't playing a demo
|
||||
if(ServerConnection.isDemoPlaying())
|
||||
return;
|
||||
|
||||
for(%i = 0; %i < 1000; %i++)
|
||||
{
|
||||
%num = %i;
|
||||
if(%num < 10)
|
||||
%num = "0" @ %num;
|
||||
if(%num < 100)
|
||||
%num = "0" @ %num;
|
||||
|
||||
%file = $currentMod @ "/recordings/demo" @ %num @ ".rec";
|
||||
if(!isfile(%file))
|
||||
break;
|
||||
}
|
||||
if(%i == 1000)
|
||||
return;
|
||||
|
||||
$DemoFileName = %file;
|
||||
|
||||
ChatHud.AddLine( "\c4Recording to file [\c2" @ $DemoFileName @ "\cr].");
|
||||
|
||||
ServerConnection.prepDemoRecord();
|
||||
ServerConnection.startRecording($DemoFileName);
|
||||
|
||||
// make sure start worked
|
||||
if(!ServerConnection.isDemoRecording())
|
||||
{
|
||||
deleteFile($DemoFileName);
|
||||
ChatHud.AddLine( "\c3 *** Failed to record to file [\c2" @ $DemoFileName @ "\cr].");
|
||||
$DemoFileName = "";
|
||||
}
|
||||
}
|
||||
|
||||
function stopDemoRecord()
|
||||
{
|
||||
// make sure we are recording
|
||||
if(ServerConnection.isDemoRecording())
|
||||
{
|
||||
ChatHud.AddLine( "\c4Recording file [\c2" @ $DemoFileName @ "\cr] finished.");
|
||||
ServerConnection.stopRecording();
|
||||
}
|
||||
}
|
||||
|
||||
function demoPlaybackComplete()
|
||||
{
|
||||
disconnect();
|
||||
Canvas.setContent("MainMenuGui");
|
||||
Canvas.pushDialog(RecordingsDlg);
|
||||
}
|
||||
Reference in New Issue
Block a user