new GuiDirectoryFileListCtrl(demosList)
{
// filePath = "legions/data/recordings";
// fileFilter = "*.rec";
AllowMultipleSelections = "0";
fitParentWidth = "1";
isContainer = "0";
Profile = "ServerListTextListProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = "3 23";
extent = "583 437";
canSave = "0";
Visible = "1";
tooltipprofile = "GuiToolTipProfile";
hovertime = "1000";
canSaveDynamicFields = "0";
};
new GuiScrollCtrl()
{
isContainer = "1";
profile = "ServerListScrollProfile";
horizSizing = "right";
vertSizing = "bottom";
extent = "583 437";
position = "3 23";
hScrollBar = "alwaysOff";
vScrollBar = "dynamic";
new GuiDirectoryFileListCtrl(demosList)
{
// filePath = "legions/data/recordings";
// fileFilter = "*.rec";
AllowMultipleSelections = "0";
fitParentWidth = "1";
fitParentHeight = "1";
isContainer = "0";
Profile = "ServerListTextListProfile";
HorizSizing = "right";
VertSizing = "bottom";
position = "0 0";
canSave = "0";
Visible = "1";
tooltipprofile = "GuiToolTipProfile";
hovertime = "1000";
canSaveDynamicFields = "0";
};
};
Gotta love the Today show. Australian television at it's finest...
function LoadDemoKeyBindings()
{
if($demoMode)
{
GlobalActionMap.bind(keyboard, "p", PausePlayDemo);
GlobalActionMap.bind(keyboard, "pageup", SpeedUpDemo);
GlobalActionMap.bind(keyboard, "pagedown", SlowDownDemo);
}
}
function GameHud::onWake(%this)
{
parent::onWake(%this);
LoadDemoKeyBindings();
}
function PausePlayDemo(%val)
{
if (!%val)
return;
if ($timeScale == 0)
demoQuit.onClick();
else
demoPause.onClick();
}
function SpeedUpDemo(%val)
{
if(!%val)
return;
else
{
demoSpeedText.setText(demoSpeedText.getText() + 1);
demoSetSpeed.onClick();
}
}
function SlowDownDemo(%val)
{
if(!%val)
return;
else if(demoSpeedText.getText() >= 2)
{
demoSpeedText.setText(demoSpeedText.getText() - 1);
demoSetSpeed.onClick();
}
else
return;
}
$demo_lastTimeScale = 1;
PASTE IT HERE...
function demoPlay::onClick(%this)
{
$timeScale = $demo_lastTimeScale;
}
Does the pause/play work? Or are they both (pause/play and the speed) not working?Nice! I poked around the code and wanted to do this a while ago but didn't really know where to start.
edit: Doesn't appear to be working for me. This is what it looks like.
Hmm, interesting. Did you try clearing the dsos?Neither of the new keybinds are working. Panel still works.
function loadDemoBtn::onClick(%this)
{
%selection = demosList.getSelectedFile();
echo (%selection);
DemoRecording::playDemo($Pref::Demos::Directory @ %selection @ "");
Canvas.popDialog(loadDemo);
$demoMode = 1;
//Legions::exportPrefs();
}
Yeah, that's what it is supposed to do. I didn't even think about making it turn the demo to slow-mo. It can definitely be done.$demoMode = 1; was indeed missing. After trying it again, P(pause) works, as does PageUP for speeding up the gameplay. However, PageDOWN does not slow down the base speed. It only slows it back down to normal if I speed it up. Is this working as intended?
function SpeedUpDemo(%val)
{
if(!%val)
return;
else if(demoSpeedText.getText() >= 1)
{
demoSpeedText.setText(demoSpeedText.getText() + 1);
demoSetSpeed.onClick();
return;
}
if(demoSpeedText.getText() < 1 && (demoSpeedText.getText() >= 0))
{
demoSpeedText.setText(demoSpeedText.getText() + 0.05);
demoSetSpeed.onClick();
return;
}
}
function SlowDownDemo(%val)
{
if(!%val)
return;
else if(demoSpeedText.getText() > 1)
{
demoSpeedText.setText(demoSpeedText.getText() - 1);
demoSetSpeed.onClick();
return;
}
if(demoSpeedText.getText() <= 1 && (demoSpeedText.getText() >= 0.05))
{
demoSpeedText.setText(demoSpeedText.getText() - 0.05);
demoSetSpeed.onClick();
return;
}
}