Browse Source

Merge pull request #1661 from John3/enableDemoRec

Enable demo rec
Areloch 9 years ago
parent
commit
2478aacd47

+ 23 - 3
Templates/Empty/game/art/gui/mainMenuGui.gui

@@ -16,7 +16,7 @@
    isContainer = "1";
    isContainer = "1";
    canSave = "1";
    canSave = "1";
    canSaveDynamicFields = "1";
    canSaveDynamicFields = "1";
-      enabled = "1";
+      Enabled = "1";
       isDecoy = "0";
       isDecoy = "0";
 
 
    new GuiBitmapCtrl(MainMenuAppLogo) {
    new GuiBitmapCtrl(MainMenuAppLogo) {
@@ -35,7 +35,7 @@
       isContainer = "0";
       isContainer = "0";
       canSave = "1";
       canSave = "1";
       canSaveDynamicFields = "1";
       canSaveDynamicFields = "1";
-         enabled = "1";
+         Enabled = "1";
          isDecoy = "0";
          isDecoy = "0";
    };
    };
    new GuiControl() {
    new GuiControl() {
@@ -59,7 +59,7 @@
          buttonType = "PushButton";
          buttonType = "PushButton";
          useMouseEvents = "1";
          useMouseEvents = "1";
          position = "9 26";
          position = "9 26";
-         extent = "289 75";
+         extent = "219 75";
          minExtent = "8 8";
          minExtent = "8 8";
          horizSizing = "relative";
          horizSizing = "relative";
          vertSizing = "bottom";
          vertSizing = "bottom";
@@ -158,6 +158,26 @@
          canSave = "1";
          canSave = "1";
          canSaveDynamicFields = "0";
          canSaveDynamicFields = "0";
       };
       };
+      new GuiButtonCtrl() {
+         text = "Replay";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+         position = "215 26";
+         extent = "83 75";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiMenuButtonProfile";
+         visible = "1";
+         active = "1";
+         command = "Canvas.pushDialog(RecordingsDlg);";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
    };
    };
 };
 };
 //--- OBJECT WRITE END ---
 //--- OBJECT WRITE END ---

+ 180 - 49
Templates/Empty/game/core/art/gui/RecordingsDlg.gui

@@ -1,97 +1,228 @@
 //--- OBJECT WRITE BEGIN ---
 //--- OBJECT WRITE BEGIN ---
 %guiContent = new GuiControl(recordingsDlg) {
 %guiContent = new GuiControl(recordingsDlg) {
-   profile = "GuiDefaultProfile";
-   horizSizing = "right";
-   vertSizing = "bottom";
    position = "0 0";
    position = "0 0";
-   extent = "640 480";
+   extent = "1024 768";
    minExtent = "8 8";
    minExtent = "8 8";
+   horizSizing = "right";
+   vertSizing = "bottom";
+   profile = "GuiDefaultProfile";
    visible = "1";
    visible = "1";
-   helpTag = "0";
+   active = "1";
+   tooltipProfile = "GuiToolTipProfile";
+   hovertime = "1000";
+   isContainer = "1";
+   canSave = "1";
+   canSaveDynamicFields = "1";
+      helpTag = "0";
 
 
    new GuiWindowCtrl() {
    new GuiWindowCtrl() {
-      profile = "GuiWindowProfile";
-      horizSizing = "center";
-      vertSizing = "center";
-      position = "55 65";
-      extent = "530 338";
-      minExtent = "48 92";
-      visible = "1";
-      helpTag = "0";
       text = "Demo Recordings";
       text = "Demo Recordings";
-      maxLength = "255";
       resizeWidth = "0";
       resizeWidth = "0";
       resizeHeight = "0";
       resizeHeight = "0";
       canMove = "1";
       canMove = "1";
       canClose = "1";
       canClose = "1";
       canMinimize = "0";
       canMinimize = "0";
       canMaximize = "0";
       canMaximize = "0";
-      minSize = "50 50";
+      canCollapse = "0";
       closeCommand = "Canvas.popDialog(recordingsDlg);";
       closeCommand = "Canvas.popDialog(recordingsDlg);";
+      edgeSnap = "1";
+      margin = "0 0 0 0";
+      padding = "0 0 0 0";
+      anchorTop = "1";
+      anchorBottom = "0";
+      anchorLeft = "1";
+      anchorRight = "0";
+      position = "247 215";
+      extent = "530 338";
+      minExtent = "48 92";
+      horizSizing = "center";
+      vertSizing = "center";
+      profile = "GuiWindowProfile";
+      visible = "1";
+      active = "1";
+      tooltipProfile = "GuiToolTipProfile";
+      hovertime = "1000";
+      isContainer = "1";
+      canSave = "1";
+      canSaveDynamicFields = "0";
 
 
       new GuiScrollCtrl() {
       new GuiScrollCtrl() {
-         profile = "GuiScrollProfile";
-         horizSizing = "right";
-         vertSizing = "bottom";
-         position = "23 37";
-         extent = "484 260";
-         minExtent = "32 32";
-         visible = "1";
-         helpTag = "0";
          willFirstRespond = "1";
          willFirstRespond = "1";
          hScrollBar = "dynamic";
          hScrollBar = "dynamic";
          vScrollBar = "alwaysOn";
          vScrollBar = "alwaysOn";
-         lockHorizScroll = "false";
-         lockVertScroll = "false";
+         lockHorizScroll = "0";
+         lockVertScroll = "0";
          constantThumbHeight = "0";
          constantThumbHeight = "0";
          childMargin = "0 0";
          childMargin = "0 0";
-         defaultLineHeight = "15";
+         mouseWheelScrollSpeed = "-1";
+         margin = "0 0 0 0";
+         padding = "0 0 0 0";
+         anchorTop = "1";
+         anchorBottom = "0";
+         anchorLeft = "1";
+         anchorRight = "0";
+         position = "23 60";
+         extent = "484 237";
+         minExtent = "32 32";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiScrollProfile";
+         visible = "1";
+         active = "1";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "1";
+         canSave = "1";
+         canSaveDynamicFields = "0";
 
 
          new GuiTextListCtrl(RecordingsDlgList) {
          new GuiTextListCtrl(RecordingsDlgList) {
-            profile = "GuiTextArrayProfile";
-            horizSizing = "right";
-            vertSizing = "bottom";
-            position = "2 2";
-            extent = "462 20";
-            minExtent = "8 20";
-            visible = "1";
-            helpTag = "0";
-            enumerate = "0";
             columns = "0";
             columns = "0";
-            resizeCell = "1";
             fitParentWidth = "1";
             fitParentWidth = "1";
             clipColumnText = "0";
             clipColumnText = "0";
-            noDuplicates = "false";
+            position = "1 1";
+            extent = "469 32";
+            minExtent = "8 20";
+            horizSizing = "right";
+            vertSizing = "bottom";
+            profile = "GuiTextArrayProfile";
+            visible = "1";
+            active = "1";
+            tooltipProfile = "GuiToolTipProfile";
+            hovertime = "1000";
+            isContainer = "1";
+            canSave = "1";
+            canSaveDynamicFields = "0";
          };
          };
       };
       };
       new GuiButtonCtrl(DR_CancelBtn) {
       new GuiButtonCtrl(DR_CancelBtn) {
-         profile = "GuiButtonProfile";
-         horizSizing = "right";
-         vertSizing = "top";
+         text = "Cancel";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
          position = "396 306";
          position = "396 306";
          extent = "110 20";
          extent = "110 20";
          minExtent = "8 8";
          minExtent = "8 8";
+         horizSizing = "right";
+         vertSizing = "top";
+         profile = "GuiButtonProfile";
          visible = "1";
          visible = "1";
+         active = "1";
          command = "Canvas.popDialog(recordingsDlg);";
          command = "Canvas.popDialog(recordingsDlg);";
          accelerator = "escape";
          accelerator = "escape";
-         helpTag = "0";
-         text = "Cancel";
-         groupNum = "-1";
-         buttonType = "PushButton";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "1";
+         canSaveDynamicFields = "0";
       };
       };
       new GuiButtonCtrl(DR_StartDemoBtn) {
       new GuiButtonCtrl(DR_StartDemoBtn) {
-         profile = "GuiButtonProfile";
-         horizSizing = "right";
-         vertSizing = "top";
+         text = "Play";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
          position = "25 305";
          position = "25 305";
          extent = "110 20";
          extent = "110 20";
          minExtent = "8 8";
          minExtent = "8 8";
+         horizSizing = "right";
+         vertSizing = "top";
+         profile = "GuiButtonProfile";
          visible = "1";
          visible = "1";
+         active = "1";
          command = "StartSelectedDemo();";
          command = "StartSelectedDemo();";
-         helpTag = "0";
-         text = "Play";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
+      new GuiTextCtrl() {
+         text = "During gameplay press the following keys:";
+         maxLength = "1024";
+         margin = "0 0 0 0";
+         padding = "0 0 0 0";
+         anchorTop = "1";
+         anchorBottom = "0";
+         anchorLeft = "1";
+         anchorRight = "0";
+         position = "23 30";
+         extent = "206 18";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiTextProfile";
+         visible = "1";
+         active = "1";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "1";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
+      new GuiTextCtrl() {
+         text = "Start = F3";
+         maxLength = "1024";
+         margin = "0 0 0 0";
+         padding = "0 0 0 0";
+         anchorTop = "1";
+         anchorBottom = "0";
+         anchorLeft = "1";
+         anchorRight = "0";
+         position = "253 32";
+         extent = "50 15";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiTextProfile";
+         visible = "1";
+         active = "1";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "1";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
+      new GuiTextCtrl() {
+         text = "Stop = F4";
+         maxLength = "1024";
+         margin = "0 0 0 0";
+         padding = "0 0 0 0";
+         anchorTop = "1";
+         anchorBottom = "0";
+         anchorLeft = "1";
+         anchorRight = "0";
+         position = "320 32";
+         extent = "49 13";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiTextProfile";
+         visible = "1";
+         active = "1";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "1";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
+      new GuiButtonCtrl(DR_DelDemoBtn) {
+         text = "Delete";
          groupNum = "-1";
          groupNum = "-1";
          buttonType = "PushButton";
          buttonType = "PushButton";
+         useMouseEvents = "0";
+         position = "210 305";
+         extent = "110 20";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiButtonProfile";
+         visible = "1";
+         active = "1";
+         command = "deleteDemoRecord();";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "1";
+         canSaveDynamicFields = "0";
       };
       };
    };
    };
 };
 };

+ 1 - 0
Templates/Empty/game/core/scripts/client/core.cs

@@ -73,6 +73,7 @@ function initializeCore()
    exec("~/art/gui/console.gui");
    exec("~/art/gui/console.gui");
    exec("~/art/gui/consoleVarDlg.gui");
    exec("~/art/gui/consoleVarDlg.gui");
    exec("~/art/gui/netGraphGui.gui");
    exec("~/art/gui/netGraphGui.gui");
+   exec("~/art/gui/RecordingsDlg.gui");
    
    
    // Gui Helper Scripts.
    // Gui Helper Scripts.
    exec("~/scripts/gui/help.cs");
    exec("~/scripts/gui/help.cs");

+ 16 - 0
Templates/Empty/game/core/scripts/client/recordings.cs

@@ -134,3 +134,19 @@ function demoPlaybackComplete()
 
 
    Canvas.pushDialog(RecordingsDlg);
    Canvas.pushDialog(RecordingsDlg);
 }
 }
+
+function deleteDemoRecord()
+{
+   %sel = RecordingsDlgList.getSelectedId();
+   %rowText = RecordingsDlgList.getRowTextById(%sel);
+   %file = $currentMod @ "/recordings/" @ getField(%rowText, 0) @ ".rec";
+   
+   if(!isfile(%file))
+   {
+      RecordingsDlgList.removeRowById(%sel);
+      return;
+   }
+   
+   RecordingsDlgList.removeRowById(%sel);
+   fileDelete(%file);
+}

+ 23 - 3
Templates/Full/game/art/gui/mainMenuGui.gui

@@ -16,7 +16,7 @@
    isContainer = "1";
    isContainer = "1";
    canSave = "1";
    canSave = "1";
    canSaveDynamicFields = "1";
    canSaveDynamicFields = "1";
-      enabled = "1";
+      Enabled = "1";
       isDecoy = "0";
       isDecoy = "0";
 
 
    new GuiBitmapCtrl(MainMenuAppLogo) {
    new GuiBitmapCtrl(MainMenuAppLogo) {
@@ -35,7 +35,7 @@
       isContainer = "0";
       isContainer = "0";
       canSave = "1";
       canSave = "1";
       canSaveDynamicFields = "1";
       canSaveDynamicFields = "1";
-         enabled = "1";
+         Enabled = "1";
          isDecoy = "0";
          isDecoy = "0";
    };
    };
    new GuiControl() {
    new GuiControl() {
@@ -59,7 +59,7 @@
          buttonType = "PushButton";
          buttonType = "PushButton";
          useMouseEvents = "1";
          useMouseEvents = "1";
          position = "9 18";
          position = "9 18";
-         extent = "289 75";
+         extent = "219 75";
          minExtent = "8 8";
          minExtent = "8 8";
          horizSizing = "relative";
          horizSizing = "relative";
          vertSizing = "bottom";
          vertSizing = "bottom";
@@ -178,6 +178,26 @@
          canSave = "1";
          canSave = "1";
          canSaveDynamicFields = "0";
          canSaveDynamicFields = "0";
       };
       };
+      new GuiButtonCtrl() {
+         text = "Replay";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+         position = "215 18";
+         extent = "83 75";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiMenuButtonProfile";
+         visible = "1";
+         active = "1";
+         command = "Canvas.pushDialog(RecordingsDlg);";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
    };
    };
 };
 };
 //--- OBJECT WRITE END ---
 //--- OBJECT WRITE END ---

+ 180 - 49
Templates/Full/game/core/art/gui/RecordingsDlg.gui

@@ -1,97 +1,228 @@
 //--- OBJECT WRITE BEGIN ---
 //--- OBJECT WRITE BEGIN ---
 %guiContent = new GuiControl(recordingsDlg) {
 %guiContent = new GuiControl(recordingsDlg) {
-   profile = "GuiDefaultProfile";
-   horizSizing = "right";
-   vertSizing = "bottom";
    position = "0 0";
    position = "0 0";
-   extent = "640 480";
+   extent = "1024 768";
    minExtent = "8 8";
    minExtent = "8 8";
+   horizSizing = "right";
+   vertSizing = "bottom";
+   profile = "GuiDefaultProfile";
    visible = "1";
    visible = "1";
-   helpTag = "0";
+   active = "1";
+   tooltipProfile = "GuiToolTipProfile";
+   hovertime = "1000";
+   isContainer = "1";
+   canSave = "1";
+   canSaveDynamicFields = "1";
+      helpTag = "0";
 
 
    new GuiWindowCtrl() {
    new GuiWindowCtrl() {
-      profile = "GuiWindowProfile";
-      horizSizing = "center";
-      vertSizing = "center";
-      position = "55 65";
-      extent = "530 338";
-      minExtent = "48 92";
-      visible = "1";
-      helpTag = "0";
       text = "Demo Recordings";
       text = "Demo Recordings";
-      maxLength = "255";
       resizeWidth = "0";
       resizeWidth = "0";
       resizeHeight = "0";
       resizeHeight = "0";
       canMove = "1";
       canMove = "1";
       canClose = "1";
       canClose = "1";
       canMinimize = "0";
       canMinimize = "0";
       canMaximize = "0";
       canMaximize = "0";
-      minSize = "50 50";
+      canCollapse = "0";
       closeCommand = "Canvas.popDialog(recordingsDlg);";
       closeCommand = "Canvas.popDialog(recordingsDlg);";
+      edgeSnap = "1";
+      margin = "0 0 0 0";
+      padding = "0 0 0 0";
+      anchorTop = "1";
+      anchorBottom = "0";
+      anchorLeft = "1";
+      anchorRight = "0";
+      position = "247 215";
+      extent = "530 338";
+      minExtent = "48 92";
+      horizSizing = "center";
+      vertSizing = "center";
+      profile = "GuiWindowProfile";
+      visible = "1";
+      active = "1";
+      tooltipProfile = "GuiToolTipProfile";
+      hovertime = "1000";
+      isContainer = "1";
+      canSave = "1";
+      canSaveDynamicFields = "0";
 
 
       new GuiScrollCtrl() {
       new GuiScrollCtrl() {
-         profile = "GuiScrollProfile";
-         horizSizing = "right";
-         vertSizing = "bottom";
-         position = "23 37";
-         extent = "484 260";
-         minExtent = "32 32";
-         visible = "1";
-         helpTag = "0";
          willFirstRespond = "1";
          willFirstRespond = "1";
          hScrollBar = "dynamic";
          hScrollBar = "dynamic";
          vScrollBar = "alwaysOn";
          vScrollBar = "alwaysOn";
-         lockHorizScroll = "false";
-         lockVertScroll = "false";
+         lockHorizScroll = "0";
+         lockVertScroll = "0";
          constantThumbHeight = "0";
          constantThumbHeight = "0";
          childMargin = "0 0";
          childMargin = "0 0";
-         defaultLineHeight = "15";
+         mouseWheelScrollSpeed = "-1";
+         margin = "0 0 0 0";
+         padding = "0 0 0 0";
+         anchorTop = "1";
+         anchorBottom = "0";
+         anchorLeft = "1";
+         anchorRight = "0";
+         position = "23 60";
+         extent = "484 237";
+         minExtent = "32 32";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiScrollProfile";
+         visible = "1";
+         active = "1";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "1";
+         canSave = "1";
+         canSaveDynamicFields = "0";
 
 
          new GuiTextListCtrl(RecordingsDlgList) {
          new GuiTextListCtrl(RecordingsDlgList) {
-            profile = "GuiTextArrayProfile";
-            horizSizing = "right";
-            vertSizing = "bottom";
-            position = "2 2";
-            extent = "462 20";
-            minExtent = "8 20";
-            visible = "1";
-            helpTag = "0";
-            enumerate = "0";
             columns = "0";
             columns = "0";
-            resizeCell = "1";
             fitParentWidth = "1";
             fitParentWidth = "1";
             clipColumnText = "0";
             clipColumnText = "0";
-            noDuplicates = "false";
+            position = "1 1";
+            extent = "469 32";
+            minExtent = "8 20";
+            horizSizing = "right";
+            vertSizing = "bottom";
+            profile = "GuiTextArrayProfile";
+            visible = "1";
+            active = "1";
+            tooltipProfile = "GuiToolTipProfile";
+            hovertime = "1000";
+            isContainer = "1";
+            canSave = "1";
+            canSaveDynamicFields = "0";
          };
          };
       };
       };
       new GuiButtonCtrl(DR_CancelBtn) {
       new GuiButtonCtrl(DR_CancelBtn) {
-         profile = "GuiButtonProfile";
-         horizSizing = "right";
-         vertSizing = "top";
+         text = "Cancel";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
          position = "396 306";
          position = "396 306";
          extent = "110 20";
          extent = "110 20";
          minExtent = "8 8";
          minExtent = "8 8";
+         horizSizing = "right";
+         vertSizing = "top";
+         profile = "GuiButtonProfile";
          visible = "1";
          visible = "1";
+         active = "1";
          command = "Canvas.popDialog(recordingsDlg);";
          command = "Canvas.popDialog(recordingsDlg);";
          accelerator = "escape";
          accelerator = "escape";
-         helpTag = "0";
-         text = "Cancel";
-         groupNum = "-1";
-         buttonType = "PushButton";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "1";
+         canSaveDynamicFields = "0";
       };
       };
       new GuiButtonCtrl(DR_StartDemoBtn) {
       new GuiButtonCtrl(DR_StartDemoBtn) {
-         profile = "GuiButtonProfile";
-         horizSizing = "right";
-         vertSizing = "top";
+         text = "Play";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
          position = "25 305";
          position = "25 305";
          extent = "110 20";
          extent = "110 20";
          minExtent = "8 8";
          minExtent = "8 8";
+         horizSizing = "right";
+         vertSizing = "top";
+         profile = "GuiButtonProfile";
          visible = "1";
          visible = "1";
+         active = "1";
          command = "StartSelectedDemo();";
          command = "StartSelectedDemo();";
-         helpTag = "0";
-         text = "Play";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
+      new GuiTextCtrl() {
+         text = "During gameplay press the following keys:";
+         maxLength = "1024";
+         margin = "0 0 0 0";
+         padding = "0 0 0 0";
+         anchorTop = "1";
+         anchorBottom = "0";
+         anchorLeft = "1";
+         anchorRight = "0";
+         position = "23 30";
+         extent = "206 18";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiTextProfile";
+         visible = "1";
+         active = "1";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "1";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
+      new GuiTextCtrl() {
+         text = "Start = F3";
+         maxLength = "1024";
+         margin = "0 0 0 0";
+         padding = "0 0 0 0";
+         anchorTop = "1";
+         anchorBottom = "0";
+         anchorLeft = "1";
+         anchorRight = "0";
+         position = "253 32";
+         extent = "50 15";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiTextProfile";
+         visible = "1";
+         active = "1";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "1";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
+      new GuiTextCtrl() {
+         text = "Stop = F4";
+         maxLength = "1024";
+         margin = "0 0 0 0";
+         padding = "0 0 0 0";
+         anchorTop = "1";
+         anchorBottom = "0";
+         anchorLeft = "1";
+         anchorRight = "0";
+         position = "320 32";
+         extent = "49 13";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiTextProfile";
+         visible = "1";
+         active = "1";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "1";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+      };
+      new GuiButtonCtrl(DR_DelDemoBtn) {
+         text = "Delete";
          groupNum = "-1";
          groupNum = "-1";
          buttonType = "PushButton";
          buttonType = "PushButton";
+         useMouseEvents = "0";
+         position = "210 305";
+         extent = "110 20";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "GuiButtonProfile";
+         visible = "1";
+         active = "1";
+         command = "deleteDemoRecord();";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "1";
+         canSaveDynamicFields = "0";
       };
       };
    };
    };
 };
 };

+ 1 - 0
Templates/Full/game/core/scripts/client/core.cs

@@ -73,6 +73,7 @@ function initializeCore()
    exec("~/art/gui/console.gui");
    exec("~/art/gui/console.gui");
    exec("~/art/gui/consoleVarDlg.gui");
    exec("~/art/gui/consoleVarDlg.gui");
    exec("~/art/gui/netGraphGui.gui");
    exec("~/art/gui/netGraphGui.gui");
+   exec("~/art/gui/RecordingsDlg.gui");
    
    
    // Gui Helper Scripts.
    // Gui Helper Scripts.
    exec("~/scripts/gui/help.cs");
    exec("~/scripts/gui/help.cs");

+ 16 - 0
Templates/Full/game/core/scripts/client/recordings.cs

@@ -134,3 +134,19 @@ function demoPlaybackComplete()
 
 
    Canvas.pushDialog(RecordingsDlg);
    Canvas.pushDialog(RecordingsDlg);
 }
 }
+
+function deleteDemoRecord()
+{
+   %sel = RecordingsDlgList.getSelectedId();
+   %rowText = RecordingsDlgList.getRowTextById(%sel);
+   %file = $currentMod @ "/recordings/" @ getField(%rowText, 0) @ ".rec";
+   
+   if(!isfile(%file))
+   {
+      RecordingsDlgList.removeRowById(%sel);
+      return;
+   }
+   
+   RecordingsDlgList.removeRowById(%sel);
+   fileDelete(%file);
+}