Bladeren bron

Additional cleanup and add-in of files that were missed.

Areloch 8 jaren geleden
bovenliggende
commit
7e5d2f3eac

+ 0 - 3
Templates/BaseGame/game/core/main.cs

@@ -83,13 +83,10 @@ exec("./gfxData/water.cs");
 exec("./gfxData/scatterSky.cs");
 exec("./gfxData/clouds.cs");
 
-exec("./screenshot.cs");
-
 // Initialize all core post effects.   
 exec("./postFx.cs");
 
 //VR stuff
-exec("./oculusVROverlay.gui");
 exec("./oculusVR.cs");
 
 // Seed the random number generator.

+ 0 - 143
Templates/BaseGame/game/core/screenshot.cs

@@ -1,143 +0,0 @@
-//-----------------------------------------------------------------------------
-// Copyright (c) 2012 GarageGames, LLC
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to
-// deal in the Software without restriction, including without limitation the
-// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-// IN THE SOFTWARE.
-//-----------------------------------------------------------------------------
-
-//---------------------------------------------------------------------------------------------
-// formatImageNumber
-// Preceeds a number with zeros to make it 6 digits long.
-//---------------------------------------------------------------------------------------------
-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;
-}
-
-//---------------------------------------------------------------------------------------------
-// formatSessionNumber
-// Preceeds a number with zeros to make it 4 digits long.
-//---------------------------------------------------------------------------------------------
-function formatSessionNumber(%number)
-{
-   if(%number < 10)
-      %number = "0" @ %number;
-   if(%number < 100)
-      %number = "0" @ %number;
-   return %number;
-}
-
-//---------------------------------------------------------------------------------------------
-// recordMovie
-// Records a movie file from the Canvas content using the specified fps.
-// Possible encoder values are "PNG" and "THEORA" (default).
-//---------------------------------------------------------------------------------------------
-
-$RecordingMovie = false;
-
-function recordMovie(%movieName, %fps, %encoder)
-{
-   // If the canvas doesn't exist yet, setup a flag so it'll 
-   // start capturing as soon as it's created
-   if (!isObject(Canvas))   
-      return;
-   
-   if (%encoder $= "") 
-      %encoder = "THEORA";   
-   %resolution = Canvas.getVideoMode();
-   
-   // Start the movie recording
-   ChatHud.AddLine( "\c4Recording movie file to [\c2" @ %movieName @ "\cr].ogv.");
-   echo("Recording movie to: " @ %movieName);   
-   startVideoCapture(Canvas, %movieName, %encoder, %fps); 
-   
-    $RecordingMovie = true;
-}
-
-function stopMovie()
-{
-   // Stop the current recording
-   ChatHud.AddLine( "\c4Recording movie file finished.");
-   echo("Stopped movie recording");
-   
-   stopVideoCapture();
-
-   $RecordingMovie = false;
-}
-
-/// This is bound in initializeCommon() to take
-/// a screenshot on a keypress.
-function doScreenShot( %val )
-{
-   // This can be bound, so skip key up events.
-   if ( %val == 0 )
-      return;      
-      
-   _screenShot( 1 );
-}
-
-/// A counter for screen shots used by _screenShot().
-$screenshotNumber = 0;
-
-/// Internal function which generates unique filename
-/// and triggers a screenshot capture.
-function _screenShot( %tiles, %overlap )
-{
-   if ( $pref::Video::screenShotSession $= "" )
-      $pref::Video::screenShotSession = 0;
-            
-   if ( $screenshotNumber == 0 )
-      $pref::Video::screenShotSession++;
-            
-   if ( $pref::Video::screenShotSession > 999 )
-      $pref::Video::screenShotSession = 1;
-                  
-   %name = "screenshot_" @ formatSessionNumber($pref::Video::screenShotSession) @ "-" @
-            formatImageNumber($screenshotNumber);            
-   %name = expandFileName( %name );
-   
-   $screenshotNumber++;
-   
-   if (  ( $pref::Video::screenShotFormat $= "JPEG" ) ||
-         ( $pref::video::screenShotFormat $= "JPG" ) )         
-      screenShot( %name, "JPEG", %tiles, %overlap );      
-   else   
-      screenShot( %name, "PNG", %tiles, %overlap );
-}
-
-/// This will close the console and take a large format
-/// screenshot by tiling the current backbuffer and save
-/// it to the root game folder.
-///
-/// For instance a tile setting of 4 with a window set to
-/// 800x600 will output a 3200x2400 screenshot.
-function tiledScreenShot( %tiles, %overlap )
-{
-   // Pop the console off before we take the shot.
-   Canvas.popDialog( ConsoleDlg );
-   
-   _screenShot( %tiles, %overlap );
-}

+ 5 - 2
Templates/BaseGame/game/data/ui/UI.cs

@@ -39,8 +39,9 @@ function UI::create( %this )
    
    exec("./scripts/guis/profiler.gui");
    exec("./scripts/guis/netGraphGui.gui");
-   exec("./scripts/guis/FilDialog.gui");
+   exec("./scripts/guis/FileDialog.gui");
    exec("./scripts/guis/guiMusicPlayer.gui");
+   exec("./scripts/guis/startupGui.gui");
    
    //Load gui companion scripts
    exec("./scripts/chooseLevelDlg.cs");
@@ -59,10 +60,12 @@ function UI::create( %this )
    exec("./scripts/FileDialog.cs");
    exec("./scripts/GuiTreeViewCtrl.cs");
    exec("./scripts/guiMusicPlayer.cs");
+   exec("./scripts/startupGui.cs");
    
    %dbList = new ArrayObject(LevelFilesList);
    
-   Canvas.pushDialog(MainMenuGui);
+   loadStartup();
+   //Canvas.pushDialog(MainMenuGui);
 }
 
 function Game::destroy( %this )

+ 0 - 2
Templates/BaseGame/game/data/ui/scripts/FileDialog.cs

@@ -1,5 +1,3 @@
-exec("./FileDialog.gui");
-
 function PlatformFileDialog::buildFilters(%this)
 {
    %str = strreplace( %this.data.filters, "|", "\t");

+ 79 - 0
Templates/BaseGame/game/data/ui/scripts/guis/startupGui.gui

@@ -0,0 +1,79 @@
+//--- OBJECT WRITE BEGIN ---
+%guiContent = new GuiFadeinBitmapCtrl(StartupGui) {
+   canSaveDynamicFields = "0";
+   Enabled = "1";
+   isContainer = "1";
+   Profile = "GuiInputCtrlProfile";
+   HorizSizing = "right";
+   VertSizing = "bottom";
+   position = "0 0";
+   Extent = "800 600";
+   MinExtent = "8 8";
+   canSave = "1";
+   Visible = "1";
+   tooltipprofile = "GuiToolTipProfile";
+   hovertime = "1000";
+   bitmap = "";
+   wrap = "0";
+   fadeinTime = "1000";
+   waitTime = "4000";
+   fadeoutTime = "1000";
+   done = "1";
+
+   new GuiBitmapButtonCtrl() {
+      canSaveDynamicFields = "1";
+      internalName = "StartupLogo";
+      Enabled = "1";
+      isContainer = "0";
+      Profile = "GuiDefaultProfile";
+      HorizSizing = "center";
+      VertSizing = "center";
+      position = "399 302";
+      Extent = "253  253";
+      MinExtent = "8 2";
+      canSave = "1";
+      Visible = "1";
+      tooltipprofile = "GuiToolTipProfile";
+      hovertime = "1000";
+      bitmap = "";
+      wrap = "0";
+      command = "StartupGui.click();";
+   };
+   new GuiBitmapButtonCtrl() {
+      canSaveDynamicFields = "1";
+      internalName = "StartupLogoSecondary";
+      Enabled = "1";
+      isContainer = "0";
+      Profile = "GuiDefaultProfile";
+      HorizSizing = "left";
+      VertSizing = "top";
+      position = "275 440";
+      Extent = "530 171";
+      MinExtent = "8 2";
+      canSave = "1";
+      Visible = "1";
+      tooltipprofile = "GuiToolTipProfile";
+      hovertime = "1000";
+      bitmap = "";
+      wrap = "0";
+      command = "StartupGui.click();";
+   };
+};
+//--- OBJECT WRITE END ---
+//--- OBJECT WRITE BEGIN ---
+new GuiFadeinBitmapCtrl(BlankGui) {
+   profile = "GuiInputCtrlProfile";
+   horizSizing = "right";
+   vertSizing = "bottom";
+   position = "0 0";
+   extent = "800 600";
+   minExtent = "8 8";
+   visible = "1";
+   helpTag = "0";
+   bitmap = "";
+   wrap = "0";
+   fadeinTime = "100";
+   waitTime   = "2000";
+   fadeoutTime = "100";
+};
+//--- OBJECT WRITE END ---

+ 155 - 0
Templates/BaseGame/game/data/ui/scripts/startupGui.cs

@@ -0,0 +1,155 @@
+//-----------------------------------------------------------------------------
+// Copyright (c) 2012 GarageGames, LLC
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+//-----------------------------------------------------------------------------
+
+//-----------------------------------------------------------------------------
+// StartupGui is the splash screen that initially shows when the game is loaded
+//-----------------------------------------------------------------------------
+
+function loadStartup()
+{
+   // The index of the current splash screen
+   $StartupIdx = 0;
+
+   // A list of the splash screens and logos
+   // to cycle through. Note that they have to
+   // be in consecutive numerical order
+   StartupGui.bitmap[0]     = "data/ui/art/background-dark";
+   StartupGui.logo[0]       = "data/ui/art/Torque-3D-logo";
+   StartupGui.logoPos[0]    = "178 251";
+   StartupGui.logoExtent[0] = "443 139";
+
+   // Call the next() function to set our firt
+   // splash screen
+   StartupGui.next();
+
+   // Play our startup sound
+   //SFXPlayOnce(AudioGui, "art/sound/gui/startup");//SFXPlay(startsnd);
+}
+
+function StartupGui::onWake(%this)
+{
+   $enableDirectInput = "1";
+   activateDirectInput();
+}
+
+function StartupGui::click(%this)
+{
+   %this.done = true;
+   %this.onDone();
+}
+
+function StartupGui::next(%this)
+{
+   // Set us to a blank screen while we load the next one
+   Canvas.setContent(BlankGui);
+
+   // Set our bitmap and reset the done variable
+   %this.setBitmap(%this.bitmap[$StartupIdx]);
+   %this.done = false;
+
+   // If we have a logo then set it
+   if (isObject(%this->StartupLogo))
+   {
+      if (%this.logo[$StartupIdx] !$= "")
+      {
+         %this->StartupLogo.setBitmap(%this.logo[$StartupIdx]);
+
+         if (%this.logoPos[$StartupIdx] !$= "")
+         {
+            %logoPosX = getWord(%this.logoPos[$StartupIdx], 0);
+            %logoPosY = getWord(%this.logoPos[$StartupIdx], 1);
+
+            %this->StartupLogo.setPosition(%logoPosX, %logoPosY);
+         }
+
+         if (%this.logoExtent[$StartupIdx] !$= "")
+            %this->StartupLogo.setExtent(%this.logoExtent[$StartupIdx]);
+
+         %this->StartupLogo.setVisible(true);
+      }
+      else
+         %this->StartupLogo.setVisible(false);
+   }
+
+   // If we have a secondary logo then set it
+   if (isObject(%this->StartupLogoSecondary))
+   {
+      if (%this.seclogo[$StartupIdx] !$= "")
+      {
+         %this->StartupLogoSecondary.setBitmap(%this.seclogo[$StartupIdx]);
+
+         if (%this.seclogoPos[$StartupIdx] !$= "")
+         {
+            %logoPosX = getWord(%this.seclogoPos[$StartupIdx], 0);
+            %logoPosY = getWord(%this.seclogoPos[$StartupIdx], 1);
+
+            %this->StartupLogoSecondary.setPosition(%logoPosX, %logoPosY);
+         }
+
+         if (%this.seclogoExtent[$StartupIdx] !$= "")
+            %this->StartupLogoSecondary.setExtent(%this.seclogoExtent[$StartupIdx]);
+
+         %this->StartupLogoSecondary.setVisible(true);
+      }
+      else
+         %this->StartupLogoSecondary.setVisible(false);
+   }
+
+   // Increment our screen index for the next screen
+   $StartupIdx++;
+
+   // Set the Canvas to our newly updated GuiFadeinBitmapCtrl
+   Canvas.setContent(%this);
+}
+
+function StartupGui::onDone(%this)
+{
+   // If we have been tagged as done decide if we need
+   // to end or cycle to the next one
+   if (%this.done)
+   {
+      // See if we have a valid bitmap for the next screen
+      if (%this.bitmap[$StartupIdx] $= "")
+      {
+         // Clear our data and load the main menu
+         %this.done = true;
+         
+         // NOTE: Don't ever ever delete yourself during a callback from C++.
+         //
+         // Deleting the whole gui itself seems a bit excessive, what if we want 
+         // to return to the startup gui at a later time?  Any bitmaps set on 
+         // the controls should be unloaded automatically if the control is not 
+         // awake, if this is not the case then that's what needs to be fixed.
+         
+         //%this.delete();
+         //BlankGui.delete();
+         //flushTextureCache();
+         
+         Canvas.setContent(MainMenuGui);
+      }
+      else
+      {
+         // We do have a bitmap so cycle to it
+         %this.next();
+      }
+   }
+}