2
0
Эх сурвалжийг харах

Empty PhysX Template for ticket #1

DavidWyand-GG 13 жил өмнө
parent
commit
74f265b3b3
100 өөрчлөгдсөн 2556 нэмэгдсэн , 0 устгасан
  1. 1 0
      Templates/Empty PhysX/DeleteCachedDTSs.bat
  2. 15 0
      Templates/Empty PhysX/DeleteCachedDTSs.command
  3. 6 0
      Templates/Empty PhysX/DeleteDSOs.bat
  4. 19 0
      Templates/Empty PhysX/DeleteDSOs.command
  5. 6 0
      Templates/Empty PhysX/DeletePrefs.bat
  6. 3 0
      Templates/Empty PhysX/DeletePrefs.command
  7. 85 0
      Templates/Empty PhysX/buildFiles/VisualStudio 2008/projects/Torque.rc
  8. BIN
      Templates/Empty PhysX/buildFiles/VisualStudio 2008/projects/torque.ico
  9. 11 0
      Templates/Empty PhysX/buildFiles/VisualStudio 2010/projects/Torque.Cpp.Win32.user.props
  10. 11 0
      Templates/Empty PhysX/buildFiles/VisualStudio 2010/projects/Torque.Cpp.x64.user.props
  11. 85 0
      Templates/Empty PhysX/buildFiles/VisualStudio 2010/projects/Torque.rc
  12. BIN
      Templates/Empty PhysX/buildFiles/VisualStudio 2010/projects/torque.ico
  13. 26 0
      Templates/Empty PhysX/buildFiles/Xcode/Info.plist
  14. BIN
      Templates/Empty PhysX/buildFiles/Xcode/torqueDemo.icns
  15. 67 0
      Templates/Empty PhysX/buildFiles/compile.bat
  16. 23 0
      Templates/Empty PhysX/buildFiles/config/project.conf
  17. 16 0
      Templates/Empty PhysX/buildFiles/config/project.mac.conf
  18. 12 0
      Templates/Empty PhysX/buildFiles/config/projectCode.conf
  19. 41 0
      Templates/Empty PhysX/buildFiles/config/webDeploy.conf
  20. 20 0
      Templates/Empty PhysX/buildFiles/config/webDeploy.mac.conf
  21. 7 0
      Templates/Empty PhysX/cleanShaders.bat
  22. 4 0
      Templates/Empty PhysX/cleanShaders.command
  23. BIN
      Templates/Empty PhysX/game/Empty PhysX.dll
  24. BIN
      Templates/Empty PhysX/game/Empty PhysX.exe
  25. 39 0
      Templates/Empty PhysX/game/Empty PhysX.torsion
  26. BIN
      Templates/Empty PhysX/game/IE Empty PhysX Plugin.dll
  27. BIN
      Templates/Empty PhysX/game/NP Empty PhysX Plugin.dll
  28. BIN
      Templates/Empty PhysX/game/PhysXCooking.dll
  29. BIN
      Templates/Empty PhysX/game/PhysXCore.dll
  30. BIN
      Templates/Empty PhysX/game/PhysXDevice.dll
  31. BIN
      Templates/Empty PhysX/game/PhysXLoader.dll
  32. 24 0
      Templates/Empty PhysX/game/art/datablocks/datablockExec.cs
  33. 24 0
      Templates/Empty PhysX/game/art/datablocks/managedDatablocks.cs
  34. 25 0
      Templates/Empty PhysX/game/art/decals/managedDecalData.cs
  35. 79 0
      Templates/Empty PhysX/game/art/gui/StartupGui.gui
  36. BIN
      Templates/Empty PhysX/game/art/gui/Torque-3D-logo-w.png
  37. BIN
      Templates/Empty PhysX/game/art/gui/Torque-3D-logo.png
  38. BIN
      Templates/Empty PhysX/game/art/gui/Torque-3D-logo_alt.png
  39. BIN
      Templates/Empty PhysX/game/art/gui/background.png
  40. 25 0
      Templates/Empty PhysX/game/art/gui/gameProfiles.cs
  41. BIN
      Templates/Empty PhysX/game/art/gui/hudfill.png
  42. 130 0
      Templates/Empty PhysX/game/art/gui/mainMenuGui.gui
  43. 98 0
      Templates/Empty PhysX/game/art/gui/playGui.gui
  44. BIN
      Templates/Empty PhysX/game/art/gui/splash.bmp
  45. 21 0
      Templates/Empty PhysX/game/art/main.cs
  46. 24 0
      Templates/Empty PhysX/game/art/shapes/particles/managedParticleData.cs
  47. 24 0
      Templates/Empty PhysX/game/art/shapes/particles/managedParticleEmitterData.cs
  48. 1 0
      Templates/Empty PhysX/game/art/skies/.gitignore
  49. 22 0
      Templates/Empty PhysX/game/art/terrains/materials.cs
  50. 30 0
      Templates/Empty PhysX/game/core/art/datablocks/camera.cs
  51. 35 0
      Templates/Empty PhysX/game/core/art/datablocks/datablockExec.cs
  52. 66 0
      Templates/Empty PhysX/game/core/art/datablocks/defaultparticle.cs
  53. 608 0
      Templates/Empty PhysX/game/core/art/datablocks/lights.cs
  54. 39 0
      Templates/Empty PhysX/game/core/art/datablocks/markers.cs
  55. BIN
      Templates/Empty PhysX/game/core/art/defaultParticle.png
  56. BIN
      Templates/Empty PhysX/game/core/art/defaultRoadTextureOther.png
  57. BIN
      Templates/Empty PhysX/game/core/art/defaultRoadTextureTop.png
  58. BIN
      Templates/Empty PhysX/game/core/art/defaultpath.png
  59. BIN
      Templates/Empty PhysX/game/core/art/defaultpath_normal.png
  60. BIN
      Templates/Empty PhysX/game/core/art/fizz_noise.dds
  61. BIN
      Templates/Empty PhysX/game/core/art/grids/512_black.png
  62. BIN
      Templates/Empty PhysX/game/core/art/grids/512_blue.png
  63. BIN
      Templates/Empty PhysX/game/core/art/grids/512_forestgreen.png
  64. BIN
      Templates/Empty PhysX/game/core/art/grids/512_forestgreen_lines.png
  65. BIN
      Templates/Empty PhysX/game/core/art/grids/512_green.png
  66. BIN
      Templates/Empty PhysX/game/core/art/grids/512_grey.png
  67. BIN
      Templates/Empty PhysX/game/core/art/grids/512_grey_base.png
  68. BIN
      Templates/Empty PhysX/game/core/art/grids/512_orange.png
  69. BIN
      Templates/Empty PhysX/game/core/art/grids/512_orange_lines.png
  70. BIN
      Templates/Empty PhysX/game/core/art/grids/512_red.png
  71. 91 0
      Templates/Empty PhysX/game/core/art/grids/materials.cs
  72. 28 0
      Templates/Empty PhysX/game/core/art/gui/FrameOverlayGui.gui
  73. 99 0
      Templates/Empty PhysX/game/core/art/gui/RecordingsDlg.gui
  74. 273 0
      Templates/Empty PhysX/game/core/art/gui/chooseLevelDlg.gui
  75. 175 0
      Templates/Empty PhysX/game/core/art/gui/console.gui
  76. 118 0
      Templates/Empty PhysX/game/core/art/gui/consoleVarDlg.gui
  77. BIN
      Templates/Empty PhysX/game/core/art/gui/images/GG_Icon.png
  78. BIN
      Templates/Empty PhysX/game/core/art/gui/images/arrowbtn_d.png
  79. BIN
      Templates/Empty PhysX/game/core/art/gui/images/arrowbtn_n.png
  80. BIN
      Templates/Empty PhysX/game/core/art/gui/images/breadcrumbs.png
  81. BIN
      Templates/Empty PhysX/game/core/art/gui/images/button.png
  82. BIN
      Templates/Empty PhysX/game/core/art/gui/images/buttontab.png
  83. BIN
      Templates/Empty PhysX/game/core/art/gui/images/chatHudBorderArray.png
  84. BIN
      Templates/Empty PhysX/game/core/art/gui/images/checkbox-list.png
  85. BIN
      Templates/Empty PhysX/game/core/art/gui/images/checkbox-list_fliped.png
  86. BIN
      Templates/Empty PhysX/game/core/art/gui/images/checkbox.png
  87. BIN
      Templates/Empty PhysX/game/core/art/gui/images/clear-btn_d.png
  88. BIN
      Templates/Empty PhysX/game/core/art/gui/images/clear-btn_h.png
  89. BIN
      Templates/Empty PhysX/game/core/art/gui/images/clear-btn_n.png
  90. BIN
      Templates/Empty PhysX/game/core/art/gui/images/collapse-toolbar_d.png
  91. BIN
      Templates/Empty PhysX/game/core/art/gui/images/collapse-toolbar_h.png
  92. BIN
      Templates/Empty PhysX/game/core/art/gui/images/collapse-toolbar_n.png
  93. BIN
      Templates/Empty PhysX/game/core/art/gui/images/crosshair.png
  94. BIN
      Templates/Empty PhysX/game/core/art/gui/images/crosshair_blue.png
  95. BIN
      Templates/Empty PhysX/game/core/art/gui/images/default.png
  96. BIN
      Templates/Empty PhysX/game/core/art/gui/images/defaultCursor.png
  97. BIN
      Templates/Empty PhysX/game/core/art/gui/images/dropDown-tab.png
  98. BIN
      Templates/Empty PhysX/game/core/art/gui/images/dropDown.png
  99. BIN
      Templates/Empty PhysX/game/core/art/gui/images/dropdown-button-arrow.png
  100. BIN
      Templates/Empty PhysX/game/core/art/gui/images/dropdown-textEdit.png

+ 1 - 0
Templates/Empty PhysX/DeleteCachedDTSs.bat

@@ -0,0 +1 @@
+for /R %%a IN (*.dae) do IF EXIST "%%~pna.cached.dts" del "%%~pna.cached.dts"

+ 15 - 0
Templates/Empty PhysX/DeleteCachedDTSs.command

@@ -0,0 +1,15 @@
+#!/bin/sh
+
+cd "`dirname "$0"`"
+
+for i in $(find . -type f \( -iname "*.dae" \))
+do
+	len=$((${#i} - 4))
+   file=${i:0:$len}.cached.dts
+   if [ -e $file ]
+   then
+   	echo "Removing ${file}"
+   	rm $file
+   fi
+done
+

+ 6 - 0
Templates/Empty PhysX/DeleteDSOs.bat

@@ -0,0 +1,6 @@
+for /R %%a IN (*.cs) do IF EXIST "%%a.dso" del "%%a.dso"
+for /R %%a IN (*.cs) do IF EXIST "%%a.edso" del "%%a.edso"
+for /R %%a IN (*.gui) do IF EXIST "%%a.dso" del "%%a.dso"
+for /R %%a IN (*.gui) do IF EXIST "%%a.edso" del "%%a.edso"
+for /R %%a IN (*.ts) do IF EXIST "%%a.dso" del "%%a.dso"
+for /R %%a IN (*.ts) do IF EXIST "%%a.edso" del "%%a.edso"

+ 19 - 0
Templates/Empty PhysX/DeleteDSOs.command

@@ -0,0 +1,19 @@
+#!/bin/sh
+
+cd "`dirname "$0"`"
+
+for i in $(find . -type f \( -iname "*.cs" \))
+do
+   file=${i}.dso
+   if [ -e $file ]
+   then
+   	echo "Removing ${file}"
+   	rm $file
+   fi
+   file=${i}.edso
+   if [ -e $file ]
+   then
+   	echo "Removing ${file}"
+      rm $file
+   fi
+done

+ 6 - 0
Templates/Empty PhysX/DeletePrefs.bat

@@ -0,0 +1,6 @@
+del /s prefs.cs
+del /s config.cs
+del /s banlist.cs
+del /s config.cs.dso
+del /s prefs.cs.dso
+del /s banlist.cs.dso

+ 3 - 0
Templates/Empty PhysX/DeletePrefs.command

@@ -0,0 +1,3 @@
+#!/bin/sh
+
+find "`dirname "$0"`" -type f \( -name "prefs.cs" -or -name "config.cs" -or -name "banlist.cs" -or -name "prefs.cs.dso" -or -name "config.cs.dso" -or -name "banlist.cs.dso" \) -exec rm {} \;

+ 85 - 0
Templates/Empty PhysX/buildFiles/VisualStudio 2008/projects/Torque.rc

@@ -0,0 +1,85 @@
+//Microsoft Developer Studio generated resource script.
+//
+#define IDI_ICON1                       103
+#define IDI_ICON2                       107
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        108
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1000
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "windows.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ICON1               ICON    DISCARDABLE     "torque.ico"
+IDI_ICON2               ICON    DISCARDABLE     "torque.ico"
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""windows.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+#endif    // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+

BIN
Templates/Empty PhysX/buildFiles/VisualStudio 2008/projects/torque.ico


+ 11 - 0
Templates/Empty PhysX/buildFiles/VisualStudio 2010/projects/Torque.Cpp.Win32.user.props

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ExecutablePath>$(DXSDK_DIR)\Utilities\bin\x86;$(ExecutablePath)</ExecutablePath>
+    <IncludePath>$(DXSDK_DIR)\Include;$(IncludePath)</IncludePath>
+    <ReferencePath>$(ReferencePath)</ReferencePath>
+    <LibraryPath>$(DXSDK_DIR)\Lib\x86;$(LibraryPath)</LibraryPath>
+    <SourcePath>$(SourcePath)</SourcePath>
+    <ExcludePath>$(ExcludePath)</ExcludePath>
+  </PropertyGroup>
+</Project>

+ 11 - 0
Templates/Empty PhysX/buildFiles/VisualStudio 2010/projects/Torque.Cpp.x64.user.props

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ExecutablePath>$(DXSDK_DIR)\Utilities\bin\x64;$(ExecutablePath)</ExecutablePath>
+    <IncludePath>$(DXSDK_DIR)\Include;$(IncludePath)</IncludePath>
+    <ReferencePath>$(ReferencePath)</ReferencePath>
+    <LibraryPath>$(DXSDK_DIR)\Lib\x64;$(LibraryPath)</LibraryPath>
+    <SourcePath>$(SourcePath)</SourcePath>
+    <ExcludePath>$(ExcludePath)</ExcludePath>
+  </PropertyGroup>
+</Project>

+ 85 - 0
Templates/Empty PhysX/buildFiles/VisualStudio 2010/projects/Torque.rc

@@ -0,0 +1,85 @@
+//Microsoft Developer Studio generated resource script.
+//
+#define IDI_ICON1                       103
+#define IDI_ICON2                       107
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        108
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1000
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "windows.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ICON1               ICON    DISCARDABLE     "torque.ico"
+IDI_ICON2               ICON    DISCARDABLE     "torque.ico"
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""windows.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+#endif    // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+

BIN
Templates/Empty PhysX/buildFiles/VisualStudio 2010/projects/torque.ico


+ 26 - 0
Templates/Empty PhysX/buildFiles/Xcode/Info.plist

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${EXECUTABLE_NAME}</string>
+	<key>CFBundleIconFile</key>
+	<string>torqueDemo</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.garagegames.${EXECUTABLE_NAME}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleSignature</key>
+	<string>GG3d</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>NSMainNibFile</key>
+	<string>mainMenu</string>
+	<key>NSPrincipalClass</key>
+	<string>macApplication</string>
+</dict>
+</plist>

BIN
Templates/Empty PhysX/buildFiles/Xcode/torqueDemo.icns


+ 67 - 0
Templates/Empty PhysX/buildFiles/compile.bat

@@ -0,0 +1,67 @@
+@echo off
+SETLOCAL
+
+REM Handle our optional parameters
+SET COMPILER=%1
+SET CONFIG=%2
+
+IF NOT DEFINED COMPILER SET COMPILER=VS2008
+IF NOT DEFINED CONFIG   SET CONFIG=Release
+
+REM Setting up some variables
+
+REM Detecting the correct Program Files
+IF DEFINED PROGRAMFILES(X86) SET PROGRAMROOT=%ProgramFiles(x86)%
+IF NOT DEFINED PROGRAMROOT   SET PROGRAMROOT=%ProgramFiles%
+
+REM First the defaults (set up for VS2008 by default)
+SET ENVVAR="%PROGRAMROOT%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
+SET BUILDCMD=devenv.com
+SET OPTIONS=/useenv /build "%CONFIG%|Win32"
+SET BUILDDIR="VisualStudio 2008"
+
+REM Handle the non-defaults
+IF %COMPILER% == VS2010 SET ENVVAR="%PROGRAMROOT%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
+
+IF EXIST "%PROGRAMROOT%\Xoreax\IncrediBuild\BuildConsole.exe" SET BUILDCMD="%PROGRAMROOT%\Xoreax\IncrediBuild\BuildConsole.exe"
+IF EXIST "%PROGRAMROOT%\Xoreax\IncrediBuild\BuildConsole.exe" SET OPTIONS=/build "%CONFIG%|Win32"
+
+IF %COMPILER% == VS2010 SET BUILDDIR="VisualStudio 2010"
+
+
+echo Building all solutions under %COMPILER% with the %CONFIG% configuration
+
+echo Initializing %COMPILER% environment variables...
+call %ENVVAR%
+
+echo Initializing the DirectX SDK environment variables...
+
+IF "%DXSDK_DIR%" == "" goto error_no_DXSDK_DIR
+call "%DXSDK_DIR%Utilities\Bin\dx_setenv.cmd" x86
+
+echo Moving to our build directory
+cd %BUILDDIR%
+
+echo      - Building
+for %%a in (*.sln) do %BUILDCMD% "%%a" %OPTIONS% & IF ERRORLEVEL 1 goto error_compile
+
+REM It is just polite for a batch file to leave you in the same dir you started in
+cd ..
+
+REM We were successful in everything so go to the end
+goto :end
+
+:error_no_DXSDK_DIR
+@echo ERROR: DXSDK_DIR variable is not set. Make sure the DirectX SDK is installed properly.
+@goto end_error
+
+:error_compile
+@echo ERROR: There was an error compiling a solution in %CD%
+@goto end_error
+
+:end_error
+ENDLOCAL
+EXIT /B 1
+
+:end
+ENDLOCAL

+ 23 - 0
Templates/Empty PhysX/buildFiles/config/project.conf

@@ -0,0 +1,23 @@
+<?php
+
+// Set this true to enable hifi networking instead of standard.
+// In general ... hifi is designed to better deal with fast
+// moving players in close proximity to each other, such as
+// a racing game.
+$TORQUE_HIFI_NET = false;
+
+// Configure Torque 3D
+Torque3D::beginConfig( "win32", "Empty PhysX" );
+
+    // Include Web Deployment module
+    includeModule( 'webDeploy' );
+    
+    // Include PhysX physics over Torque's.
+    includeModule( 'physx' );
+        
+    // Enable for optional minidump debugging support
+    // addProjectDefine( 'TORQUE_MINIDUMP' );
+        
+Torque3D::endConfig();
+
+?>

+ 16 - 0
Templates/Empty PhysX/buildFiles/config/project.mac.conf

@@ -0,0 +1,16 @@
+<?php
+
+// Set this true to enable hifi networking instead of standard.
+// In general ... hifi is designed to better deal with fast
+// moving players in close proximity to each other, such as
+// a racing game.
+$TORQUE_HIFI_NET = false;
+
+Torque3D::beginConfig( "mac", "Empty PhysX" );
+
+    // Include Web Deployment module
+    includeModule( 'webDeploy' );
+                
+Torque3D::endConfig();
+
+?>

+ 12 - 0
Templates/Empty PhysX/buildFiles/config/projectCode.conf

@@ -0,0 +1,12 @@
+<?php
+
+   // This file is used to add your project specific code to the Torque 3D Game Engine
+   
+   // by default we add the project's source folders recursively
+   addSrcDir('../source', true);
+
+   // Here is an example of how to include your project specific code 
+   // In this case all the code in the "custom" folder in your project's source directory would be added
+   // addSrcDir('../source/custom');
+
+?>

+ 41 - 0
Templates/Empty PhysX/buildFiles/config/webDeploy.conf

@@ -0,0 +1,41 @@
+<?php
+
+class WebDeploymentWindows
+{
+
+    public static $plugin = "WebEmptyPhysXTemplate";
+
+    //------ NP plugin settings
+
+    // The plugin MUST begin with NP for Firefox to recognize it
+    // setup in project.conf
+    public static $npPluginName = "";
+    
+    public static $company = "My Game Company";
+	public static $companyKey = "mygamecompany";
+	public static $productName = "My Web Game";
+	public static $version = "1.0";
+	public static $description = "My Web Game Plugin";
+        
+    // Before you should specify a unique MIME type for your game    
+    public static $mimeType = "x-emptyphysxtemplateplugin";
+    
+    //------ ActiveX plugin settings
+    
+    // setup in project.conf
+    public static $axPluginName = "";
+    
+    // Before shipping the UUID should be changed to unique numbers for your game
+    
+    // This UUID is used by CLSID in object tag in your site's html
+    public static $axWebGameLibUUID = "D62D1B36-253D-4218-B033-5ACE0B42B8BF";
+
+    // Other UUID used by registry
+    public static $axAppUUID = "AB7615A3-A918-488B-B128-96DD62D0AE36";
+    public static $axWebGameUUID = "5240D24D-FBCE-4AF2-99FC-4C7AD4318E91";
+    public static $axWebGameCtrlUUID = "FC143328-E29C-4BC4-8C83-618FEB562532";
+    
+    
+};
+
+?>

+ 20 - 0
Templates/Empty PhysX/buildFiles/config/webDeploy.mac.conf

@@ -0,0 +1,20 @@
+<?php
+
+class WebDeploymentOSX
+{
+
+    // setup in project.conf
+    public static $safariPluginName = ""; 
+    
+    public static $identifier = "com.mygamecompany.emptyphysxtemplateplugin";
+
+    public static $description = "Empty PhysX Template Plugin";
+    
+    public static $version = "1.0";
+        
+    // Before you should specify a unique MIME type for your game
+    public static $mimeType = "x-emptyphysxtemplateplugin";
+    
+};
+
+?>

+ 7 - 0
Templates/Empty PhysX/cleanShaders.bat

@@ -0,0 +1,7 @@
+REM Delete procedural shaders
+
+del /q /a:-R game\shaders\procedural\*.*
+
+REM Delete dumped shader disassembly files
+
+del /q /s /a:-R *_dis.txt

+ 4 - 0
Templates/Empty PhysX/cleanShaders.command

@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd "`dirname "$0"`"
+rm -rf game/shaders/procedural/*.*

BIN
Templates/Empty PhysX/game/Empty PhysX.dll


BIN
Templates/Empty PhysX/game/Empty PhysX.exe


+ 39 - 0
Templates/Empty PhysX/game/Empty PhysX.torsion

@@ -0,0 +1,39 @@
+<TorsionProject>
+<Name>Empty PhysX</Name>
+<WorkingDir/>
+<EntryScript>main.cs</EntryScript>
+<DebugHook>dbgSetParameters( #port#, "#password#", true );</DebugHook>
+<Mods>
+<Folder>core</Folder>
+<Folder>scripts</Folder>
+<Folder>art</Folder>
+<Folder>levels</Folder>
+<Folder>shaders</Folder>
+<Folder>tools</Folder>
+</Mods>
+<ScannerExts>cs; gui</ScannerExts>
+<Configs>
+<Config>
+<Name>Release</Name>
+<Executable>Empty PhysX.exe</Executable>
+<Arguments/>
+<HasExports>true</HasExports>
+<Precompile>true</Precompile>
+<InjectDebugger>true</InjectDebugger>
+<UseSetModPaths>false</UseSetModPaths>
+</Config>
+<Config>
+<Name>Debug</Name>
+<Executable>Empty PhysX_DEBUG.exe</Executable>
+<Arguments/>
+<HasExports>false</HasExports>
+<Precompile>false</Precompile>
+<InjectDebugger>true</InjectDebugger>
+<UseSetModPaths>false</UseSetModPaths>
+</Config>
+</Configs>
+<SearchURL/>
+<SearchProduct>Empty PhysX</SearchProduct>
+<SearchVersion>HEAD</SearchVersion>
+<ExecModifiedScripts>true</ExecModifiedScripts>
+</TorsionProject>

BIN
Templates/Empty PhysX/game/IE Empty PhysX Plugin.dll


BIN
Templates/Empty PhysX/game/NP Empty PhysX Plugin.dll


BIN
Templates/Empty PhysX/game/PhysXCooking.dll


BIN
Templates/Empty PhysX/game/PhysXCore.dll


BIN
Templates/Empty PhysX/game/PhysXDevice.dll


BIN
Templates/Empty PhysX/game/PhysXLoader.dll


+ 24 - 0
Templates/Empty PhysX/game/art/datablocks/datablockExec.cs

@@ -0,0 +1,24 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+// Load up all datablocks.  This function is called when
+// a server is constructed.

+ 24 - 0
Templates/Empty PhysX/game/art/datablocks/managedDatablocks.cs

@@ -0,0 +1,24 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+// This is the default save location for any Datablocks created in the
+// Datablock Editor (this script is executed from onServerCreated())

+ 25 - 0
Templates/Empty PhysX/game/art/decals/managedDecalData.cs

@@ -0,0 +1,25 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+// This is the default save location for any Decal datablocks created in the
+// Decal Editor (this script is executed from onServerCreated())
+

+ 79 - 0
Templates/Empty PhysX/game/art/gui/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 ---

BIN
Templates/Empty PhysX/game/art/gui/Torque-3D-logo-w.png


BIN
Templates/Empty PhysX/game/art/gui/Torque-3D-logo.png


BIN
Templates/Empty PhysX/game/art/gui/Torque-3D-logo_alt.png


BIN
Templates/Empty PhysX/game/art/gui/background.png


+ 25 - 0
Templates/Empty PhysX/game/art/gui/gameProfiles.cs

@@ -0,0 +1,25 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+//-----------------------------------------------------------------------------
+// Game specific profiles are located here
+//-----------------------------------------------------------------------------

BIN
Templates/Empty PhysX/game/art/gui/hudfill.png


+ 130 - 0
Templates/Empty PhysX/game/art/gui/mainMenuGui.gui

@@ -0,0 +1,130 @@
+//--- OBJECT WRITE BEGIN ---
+%guiContent = new GuiChunkedBitmapCtrl(MainMenuGui) {
+   canSaveDynamicFields = "0";
+   Enabled = "1";
+   isContainer = "1";
+   Profile = "GuiContentProfile";
+   HorizSizing = "width";
+   VertSizing = "height";
+   Position = "0 0";
+   Extent = "1024 768";
+   MinExtent = "8 8";
+   canSave = "1";
+   isDecoy = "0";
+   Visible = "1";
+   tooltipprofile = "GuiToolTipProfile";
+   hovertime = "1000";
+   bitmap = "art/gui/background";
+   useVariable = "0";
+   tile = "0";
+
+   new GuiBitmapCtrl(MainMenuAppLogo) {
+      canSaveDynamicFields = "1";
+      Enabled = "1";
+      isContainer = "0";
+      Profile = "GuiDefaultProfile";
+      HorizSizing = "left";
+      VertSizing = "bottom";
+      Position = "540 30";
+      Extent = "443 139";
+      MinExtent = "8 2";
+      canSave = "1";
+      isDecoy = "0";
+      Visible = "1";
+      tooltipprofile = "GuiToolTipProfile";
+      hovertime = "1000";
+      bitmap = "art/gui/Torque-3D-logo.png";
+      wrap = "0";
+   };
+   new GuiControl() {
+      canSaveDynamicFields = "0";
+      Enabled = "1";
+      isContainer = "1";
+      Profile = "GuiDefaultProfile";
+      HorizSizing = "center";
+      VertSizing = "center";
+      Position = "359 171";
+      Extent = "306 425";
+      MinExtent = "8 2";
+      canSave = "1";
+      isDecoy = "0";
+      Visible = "1";
+      tooltipprofile = "GuiToolTipProfile";
+      hovertime = "1000";
+
+      new GuiButtonCtrl() {
+         canSaveDynamicFields = "0";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "GuiMenuButtonProfile";
+         HorizSizing = "relative";
+         VertSizing = "bottom";
+         Position = "9 114";
+         Extent = "289 75";
+         MinExtent = "8 8";
+         canSave = "1";
+         isDecoy = "0";
+         Visible = "1";
+         Command = "Canvas.pushDialog(ChooseLevelDlg);";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         text = "Play";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "1";
+      };
+      new GuiButtonCtrl() {
+         canSaveDynamicFields = "0";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "GuiMenuButtonProfile";
+         HorizSizing = "relative";
+         VertSizing = "bottom";
+         Position = "9 190";
+         Extent = "289 75";
+         MinExtent = "8 8";
+         canSave = "1";
+         isDecoy = "0";
+         Visible = "1";
+         Command = "Canvas.pushDialog(optionsDlg);";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         text = "Options";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+
+      };
+      new GuiButtonCtrl() {
+         canSaveDynamicFields = "0";
+         Enabled = "1";
+         internalName = "ExitButton";
+         isContainer = "0";
+         Profile = "GuiMenuButtonProfile";
+         HorizSizing = "relative";
+         VertSizing = "bottom";
+         Position = "9 267";
+         Extent = "289 75";
+         MinExtent = "8 8";
+         canSave = "1";
+         isDecoy = "0";
+         Visible = "1";
+         Command = "quit();";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         text = "Exit";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+      };
+   };
+};
+//--- OBJECT WRITE END ---
+
+function MainMenuGui::onWake(%this)
+{
+   if (isFunction("getWebDeployment") &&
+       getWebDeployment() &&
+       isObject(%this-->ExitButton))
+      %this-->ExitButton.setVisible(false);
+}

+ 98 - 0
Templates/Empty PhysX/game/art/gui/playGui.gui

@@ -0,0 +1,98 @@
+//--- OBJECT WRITE BEGIN ---
+%guiContent = new GameTSCtrl(PlayGui) {
+   canSaveDynamicFields = "1";
+   isContainer = "1";
+   Profile = "GuiContentProfile";
+   HorizSizing = "right";
+   VertSizing = "bottom";
+   position = "0 0";
+   Extent = "1024 768";
+   MinExtent = "8 8";
+   canSave = "1";
+   Visible = "1";
+   tooltipprofile = "GuiToolTipProfile";
+   hovertime = "1000";
+   Margin = "0 0 0 0";
+   Padding = "0 0 0 0";
+   AnchorTop = "1";
+   AnchorBottom = "0";
+   AnchorLeft = "1";
+   AnchorRight = "0";
+   cameraZRot = "0";
+   forceFOV = "0";
+      Enabled = "1";
+      helpTag = "0";
+      noCursor = "1";
+
+   new GuiBitmapCtrl(CenterPrintDlg) {
+      canSaveDynamicFields = "0";
+      isContainer = "0";
+      Profile = "CenterPrintProfile";
+      HorizSizing = "center";
+      VertSizing = "center";
+      position = "237 375";
+      Extent = "550 20";
+      MinExtent = "8 8";
+      canSave = "1";
+      Visible = "0";
+      tooltipprofile = "GuiToolTipProfile";
+      hovertime = "1000";
+      bitmap = "art/gui/hudfill.png";
+      wrap = "0";
+
+      new GuiMLTextCtrl(CenterPrintText) {
+         canSaveDynamicFields = "0";
+         isContainer = "0";
+         Profile = "CenterPrintTextProfile";
+         HorizSizing = "center";
+         VertSizing = "center";
+         position = "0 0";
+         Extent = "546 12";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         lineSpacing = "2";
+         allowColorChars = "0";
+         maxChars = "-1";
+         useURLMouseCursor = "0";
+      };
+   };
+   new GuiBitmapCtrl(BottomPrintDlg) {
+      canSaveDynamicFields = "0";
+      isContainer = "0";
+      Profile = "CenterPrintProfile";
+      HorizSizing = "center";
+      VertSizing = "top";
+      position = "237 719";
+      Extent = "550 20";
+      MinExtent = "8 8";
+      canSave = "1";
+      Visible = "0";
+      tooltipprofile = "GuiToolTipProfile";
+      hovertime = "1000";
+      bitmap = "art/gui/hudfill.png";
+      wrap = "0";
+
+      new GuiMLTextCtrl(BottomPrintText) {
+         canSaveDynamicFields = "0";
+         isContainer = "0";
+         Profile = "CenterPrintTextProfile";
+         HorizSizing = "center";
+         VertSizing = "center";
+         position = "0 0";
+         Extent = "546 12";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         lineSpacing = "2";
+         allowColorChars = "0";
+         maxChars = "-1";
+         useURLMouseCursor = "0";
+      };
+   };
+};
+//--- OBJECT WRITE END ---

BIN
Templates/Empty PhysX/game/art/gui/splash.bmp


+ 21 - 0
Templates/Empty PhysX/game/art/main.cs

@@ -0,0 +1,21 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------

+ 24 - 0
Templates/Empty PhysX/game/art/shapes/particles/managedParticleData.cs

@@ -0,0 +1,24 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+// This is the default save location for any Particle datablocks created in the
+// Particle Editor (this script is executed from onServerCreated())

+ 24 - 0
Templates/Empty PhysX/game/art/shapes/particles/managedParticleEmitterData.cs

@@ -0,0 +1,24 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+// This is the default save location for any Particle Emitter datablocks created in the
+// Particle Editor (this script is executed from onServerCreated())

+ 1 - 0
Templates/Empty PhysX/game/art/skies/.gitignore

@@ -0,0 +1 @@
+# Keep directory in git repo

+ 22 - 0
Templates/Empty PhysX/game/art/terrains/materials.cs

@@ -0,0 +1,22 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+

+ 30 - 0
Templates/Empty PhysX/game/core/art/datablocks/camera.cs

@@ -0,0 +1,30 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+//-----------------------------------------------------------------------------
+// Define a datablock class to use for our observer camera
+//-----------------------------------------------------------------------------
+
+datablock CameraData(Observer)
+{
+   mode = "Observer";
+};

+ 35 - 0
Templates/Empty PhysX/game/core/art/datablocks/datablockExec.cs

@@ -0,0 +1,35 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+// Load up all datablocks.  This function is called when
+// a server is constructed.
+
+// Set up the Camera's
+exec("./camera.cs");
+
+// Common Marker's
+exec("./markers.cs");
+
+exec("./defaultparticle.cs");
+
+// LightFlareData and LightAnimData(s)
+exec("./lights.cs");

+ 66 - 0
Templates/Empty PhysX/game/core/art/datablocks/defaultparticle.cs

@@ -0,0 +1,66 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+datablock ParticleData(DefaultParticle)
+{
+   textureName = "core/art/defaultParticle";
+   dragCoefficient = 0.498534;
+   gravityCoefficient = 0;
+   inheritedVelFactor = 0.499022;
+   constantAcceleration = 0.0;
+   lifetimeMS = 1313;
+   lifetimeVarianceMS = 500;
+   useInvAlpha = true;
+   spinRandomMin = -360;
+   spinRandomMax = 360;
+   spinSpeed = 1;
+
+   colors[0] = "0.992126 0.00787402 0.0314961 1";
+   colors[1] = "1 0.834646 0 0.645669";
+   colors[2] = "1 0.299213 0 0.330709";
+   colors[3] = "0.732283 1 0 0";
+   
+   sizes[0] = 0;
+   sizes[1] = 0.497467;
+   sizes[2] = 0.73857;
+   sizes[3] = 0.997986;
+   
+   times[0] = 0.0;
+   times[1] = 0.247059;
+   times[2] = 0.494118;
+   times[3] = 1;
+   
+   animTexName = "core/art/defaultParticle";
+};
+
+datablock ParticleEmitterData(DefaultEmitter)
+{
+   ejectionPeriodMS = "50";
+   ejectionVelocity = "1";
+   velocityVariance = "0";
+   ejectionOffset = "0.2";
+   thetaMax = "40";
+   particles = "DefaultParticle";
+   blendStyle = "ADDITIVE";
+   softParticles = "0";
+   softnessDistance = "1000";
+};

+ 608 - 0
Templates/Empty PhysX/game/core/art/datablocks/lights.cs

@@ -0,0 +1,608 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+// LightAnimData
+//------------------------------------------------------------------------------
+
+datablock LightAnimData( NullLightAnim )
+{   
+   animEnabled = false;
+};
+
+datablock LightAnimData( PulseLightAnim )
+{   
+   brightnessA = 0;
+   brightnessZ = 1;
+   brightnessPeriod = 1;
+   brightnessKeys = "aza";
+   brightnessSmooth = true;
+};
+
+datablock LightAnimData( SubtlePulseLightAnim )
+{
+   brightnessA = 0.5;
+   brightnessZ = 1;
+   brightnessPeriod = 1;
+   brightnessKeys = "aza";
+   brightnessSmooth = true;
+};
+
+datablock LightAnimData( FlickerLightAnim )
+{
+   brightnessA = 1;
+   brightnessZ = 0;
+   brightnessPeriod = 5;
+   brightnessKeys = "aaazaaaaaazaaazaaazaaaaazaaaazzaaaazaaaaaazaaaazaaaza";
+   brightnessSmooth = false;
+};
+
+datablock LightAnimData( BlinkLightAnim )
+{
+   brightnessA = 0;
+   brightnessZ = 1;
+   brightnessPeriod = 5;
+   brightnessKeys = "azaaaazazaaaaaazaaaazaaaazzaaaaaazaazaaazaaaaaaa";
+   brightnessSmooth = false;
+};
+
+datablock LightAnimData( FireLightAnim )
+{
+   brightnessA = 0.75;
+   brightnessZ = 1;
+   brightnessPeriod = 0.7;
+   brightnessKeys = "annzzznnnzzzaznzzzz";
+   brightnessSmooth = 0;
+   offsetA[0] = "-0.05";
+   offsetA[1] = "-0.05";
+   offsetA[2] = "-0.05";
+   offsetZ[0] = "0.05";
+   offsetZ[1] = "0.05";
+   offsetZ[2] = "0.05";
+   offsetPeriod[0] = "1.25";
+   offsetPeriod[1] = "1.25";
+   offsetPeriod[2] = "1.25";
+   offsetKeys[0] = "ahahaazahakayajza";
+   offsetKeys[1] = "ahahaazahakayajza";
+   offsetKeys[2] = "ahahaazahakayajza";
+   rotKeys[0] = "";
+   rotKeys[1] = "";
+   rotKeys[2] = "";
+   colorKeys[0] = "";
+   colorKeys[1] = "";
+   colorKeys[2] = "";
+};
+
+datablock LightAnimData( SpinLightAnim )
+{
+   rotA[2] = "0";
+   rotZ[2] = "360";
+   rotPeriod[2] = "1";
+   rotKeys[2] = "az";
+   rotSmooth[2] = true;
+};
+
+
+//------------------------------------------------------------------------------
+// LightFlareData
+//------------------------------------------------------------------------------
+
+datablock LightFlareData( NullLightFlare )
+{
+   flareEnabled = false;
+};
+
+datablock LightFlareData( SunFlareExample )
+{      
+   overallScale = 4.0;
+   flareEnabled = true;
+   renderReflectPass = false;
+   flareTexture = "./../special/lensFlareSheet0";  
+
+   elementRect[0] = "512 0 512 512";
+   elementDist[0] = 0.0;
+   elementScale[0] = 2.0;
+   elementTint[0] = "0.6 0.6 0.6";
+   elementRotate[0] = true;
+   elementUseLightColor[0] = true;
+   
+   elementRect[1] = "1152 0 128 128";
+   elementDist[1] = 0.3;
+   elementScale[1] = 0.7;
+   elementTint[1] = "1.0 1.0 1.0";
+   elementRotate[1] = true;
+   elementUseLightColor[1] = true;
+   
+   elementRect[2] = "1024 0 128 128";
+   elementDist[2] = 0.5;
+   elementScale[2] = 0.25;   
+   elementTint[2] = "1.0 1.0 1.0";
+   elementRotate[2] = true;
+   elementUseLightColor[2] = true;
+   
+   elementRect[3] = "1024 128 128 128";
+   elementDist[3] = 0.8;
+   elementScale[3] = 0.7;   
+   elementTint[3] = "1.0 1.0 1.0";
+   elementRotate[3] = true;
+   elementUseLightColor[3] = true;
+   
+   elementRect[4] = "1024 0 128 128";
+   elementDist[4] = 1.18;
+   elementScale[4] = 0.5;   
+   elementTint[4] = "1.0 1.0 1.0";
+   elementRotate[4] = true;
+   elementUseLightColor[4] = true;
+   
+   elementRect[5] = "1152 128 128 128";
+   elementDist[5] = 1.25;
+   elementScale[5] = 0.25;   
+   elementTint[5] = "1.0 1.0 1.0";
+   elementRotate[5] = true;
+   elementUseLightColor[5] = true;
+   
+   elementRect[6] = "1024 0 128 128";
+   elementDist[6] = 2.0;
+   elementScale[6] = 0.25;      
+   elementTint[6] = "1.0 1.0 1.0";
+   elementRotate[6] = true;
+   elementUseLightColor[6] = true;
+   occlusionRadius = "0.25";
+};
+
+datablock LightFlareData( SunFlareExample2 )
+{      
+   overallScale = 2.0;
+   flareEnabled = true;
+   renderReflectPass = false;
+   flareTexture = "./../special/lensFlareSheet0";  
+   
+   elementRect[0] = "1024 0 128 128";
+   elementDist[0] = 0.5;
+   elementScale[0] = 0.25;   
+   elementTint[0] = "1.0 1.0 1.0";
+   elementRotate[0] = true;
+   elementUseLightColor[0] = true;
+   
+   elementRect[1] = "1024 128 128 128";
+   elementDist[1] = 0.8;
+   elementScale[1] = 0.7;   
+   elementTint[1] = "1.0 1.0 1.0";
+   elementRotate[1] = true;
+   elementUseLightColor[1] = true;
+   
+   elementRect[2] = "1024 0 128 128";
+   elementDist[2] = 1.18;
+   elementScale[2] = 0.5;   
+   elementTint[2] = "1.0 1.0 1.0";
+   elementRotate[2] = true;
+   elementUseLightColor[2] = true;
+   
+   elementRect[3] = "1152 128 128 128";
+   elementDist[3] = 1.25;
+   elementScale[3] = 0.25;   
+   elementTint[3] = "1.0 1.0 1.0";
+   elementRotate[3] = true;
+   elementUseLightColor[3] = true;
+   
+   elementRect[4] = "1024 0 128 128";
+   elementDist[4] = 2.0;
+   elementScale[4] = 0.25;      
+   elementTint[4] = "0.7 0.7 0.7";
+   elementRotate[4] = true;
+   elementUseLightColor[4] = true;
+   occlusionRadius = "0.25";
+};
+
+datablock LightFlareData(SunFlareExample3)
+{
+   overallScale = 2.0;
+   flareEnabled = true;
+   renderReflectPass = false;
+   flareTexture = "core/art/special/lensflareSheet3.png";  
+   
+   elementRect[0] = "0 256 256 256";
+   elementDist[0] = "-0.6";
+   elementScale[0] = "3.5";   
+   elementTint[0] = "0.537255 0.537255 0.537255 1";
+   elementRotate[0] = true;
+   elementUseLightColor[0] = true;
+   
+   elementRect[1] = "128 128 128 128";
+   elementDist[1] = "0.1";
+   elementScale[1] = "1.5";   
+   elementTint[1] = "0.996078 0.976471 0.721569 1";
+   elementRotate[1] = true;
+   elementUseLightColor[1] = true;
+   
+   elementRect[2] = "0 0 64 64";
+   elementDist[2] = "0.4";
+   elementScale[2] = "0.25";   
+   elementTint[2] = "0 0 1 1";
+   elementRotate[2] = true;
+   elementUseLightColor[2] = true;
+   
+   elementRect[3] = "0 0 64 64";
+   elementDist[3] = "0.45";
+   elementScale[3] = 0.25;   
+   elementTint[3] = "0 1 0 1";
+   elementRotate[3] = true;
+   elementUseLightColor[3] = true;
+   
+   elementRect[4] = "0 0 64 64";
+   elementDist[4] = "0.5";
+   elementScale[4] = 0.25;      
+   elementTint[4] = "1 0 0 1";
+   elementRotate[4] = true;
+   elementUseLightColor[4] = true;
+   elementRect[9] = "256 0 256 256";
+   elementDist[3] = "0.45";
+   elementScale[3] = "0.25";
+   elementScale[9] = "2";
+   elementRect[4] = "0 0 64 64";
+   elementRect[5] = "128 0 128 128";
+   elementDist[4] = "0.5";
+   elementDist[5] = "1.2";
+   elementScale[1] = "1.5";
+   elementScale[4] = "0.25";
+   elementScale[5] = "0.5";
+   elementTint[1] = "0.996078 0.976471 0.721569 1";
+   elementTint[2] = "0 0 1 1";
+   elementTint[5] = "0.721569 0 1 1";
+   elementRotate[5] = "0";
+   elementUseLightColor[5] = "1";
+   elementRect[0] = "0 256 256 256";
+   elementRect[1] = "128 128 128 128";
+   elementRect[2] = "0 0 64 64";
+   elementRect[3] = "0 0 64 64";
+   elementDist[0] = "-0.6";
+   elementDist[1] = "0.1";
+   elementDist[2] = "0.4";
+   elementScale[0] = "3.5";
+   elementScale[2] = "0.25";
+   elementTint[0] = "0.537255 0.537255 0.537255 1";
+   elementTint[3] = "0 1 0 1";
+   elementTint[4] = "1 0 0 1";
+   elementRect[6] = "64 64 64 64";
+   elementDist[6] = "0.9";
+   elementScale[6] = "4";
+   elementTint[6] = "0.00392157 0.721569 0.00392157 1";
+   elementRotate[6] = "0";
+   elementUseLightColor[6] = "1";
+   elementRect[7] = "64 64 64 64";
+   elementRect[8] = "64 64 64 64";
+   elementDist[7] = "0.25";
+   elementDist[8] = "0.18";
+   elementDist[9] = "0";
+   elementScale[7] = "2";
+   elementScale[8] = "0.5";
+   elementTint[7] = "0.6 0.0117647 0.741176 1";
+   elementTint[8] = "0.027451 0.690196 0.0117647 1";
+   elementTint[9] = "0.647059 0.647059 0.647059 1";
+   elementRotate[9] = "0";
+   elementUseLightColor[7] = "1";
+   elementUseLightColor[8] = "1";
+   elementRect[10] = "256 256 256 256";
+   elementRect[11] = "0 64 64 64";
+   elementRect[12] = "0 64 64 64";
+   elementRect[13] = "64 0 64 64";
+   elementDist[10] = "0";
+   elementDist[11] = "-0.3";
+   elementDist[12] = "-0.32";
+   elementDist[13] = "1";
+   elementScale[10] = "10";
+   elementScale[11] = "2.5";
+   elementScale[12] = "0.3";
+   elementScale[13] = "0.4";
+   elementTint[10] = "0.321569 0.321569 0.321569 1";
+   elementTint[11] = "0.443137 0.0431373 0.00784314 1";
+   elementTint[12] = "0.00784314 0.996078 0.0313726 1";
+   elementTint[13] = "0.996078 0.94902 0.00784314 1";
+   elementUseLightColor[10] = "1";
+   elementUseLightColor[11] = "1";
+   elementUseLightColor[13] = "1";
+   elementRect[14] = "0 0 64 64";
+   elementDist[14] = "0.15";
+   elementScale[14] = "0.8";
+   elementTint[14] = "0.505882 0.0470588 0.00784314 1";
+   elementRotate[14] = "1";
+   elementUseLightColor[9] = "1";
+   elementUseLightColor[14] = "1";
+   elementRect[15] = "64 64 64 64";
+   elementRect[16] = "0 64 64 64";
+   elementRect[17] = "0 0 64 64";
+   elementRect[18] = "0 64 64 64";
+   elementRect[19] = "256 0 256 256";
+   elementDist[15] = "0.8";
+   elementDist[16] = "0.7";
+   elementDist[17] = "1.4";
+   elementDist[18] = "-0.5";
+   elementDist[19] = "-1.5";
+   elementScale[15] = "3";
+   elementScale[16] = "0.3";
+   elementScale[17] = "0.2";
+   elementScale[18] = "1";
+   elementScale[19] = "35";
+   elementTint[15] = "0.00784314 0.00784314 0.996078 1";
+   elementTint[16] = "0.992157 0.992157 0.992157 1";
+   elementTint[17] = "0.996078 0.603922 0.00784314 1";
+   elementTint[18] = "0.2 0.00392157 0.47451 1";
+   elementTint[19] = "0.607843 0.607843 0.607843 1";
+   elementUseLightColor[15] = "1";
+   elementUseLightColor[18] = "1";
+   elementUseLightColor[19] = "1";
+   occlusionRadius = "0.25";
+};
+
+
+
+datablock LightFlareData(SunFlarePacificIsland)
+{
+   overallScale = 2.0;
+   flareEnabled = true;
+   renderReflectPass = false;
+   flareTexture = "art/special/lensflareSheet3.png";  
+   
+   elementRect[0] = "0 256 256 256";
+   elementDist[0] = "-0.6";
+   elementScale[0] = "3.5";   
+   elementTint[0] = "0.537255 0.537255 0.537255 1";
+   elementRotate[0] = true;
+   elementUseLightColor[0] = true;
+   
+   elementRect[1] = "128 128 128 128";
+   elementDist[1] = "0.1";
+   elementScale[1] = "1.5";   
+   elementTint[1] = "0.996078 0.976471 0.721569 1";
+   elementRotate[1] = true;
+   elementUseLightColor[1] = true;
+   
+   elementRect[2] = "0 0 64 64";
+   elementDist[2] = "0.4";
+   elementScale[2] = "0.25";   
+   elementTint[2] = "0 0 1 1";
+   elementRotate[2] = true;
+   elementUseLightColor[2] = true;
+   
+   elementRect[3] = "0 0 64 64";
+   elementDist[3] = "0.45";
+   elementScale[3] = 0.25;   
+   elementTint[3] = "0 1 0 1";
+   elementRotate[3] = true;
+   elementUseLightColor[3] = true;
+   
+   elementRect[4] = "0 0 64 64";
+   elementDist[4] = "0.5";
+   elementScale[4] = 0.25;      
+   elementTint[4] = "1 0 0 1";
+   elementRotate[4] = true;
+   elementUseLightColor[4] = true;
+   elementRect[9] = "256 0 256 256";
+   elementDist[3] = "0.45";
+   elementScale[3] = "0.25";
+   elementScale[9] = "2";
+   elementRect[4] = "0 0 64 64";
+   elementRect[5] = "128 0 128 128";
+   elementDist[4] = "0.5";
+   elementDist[5] = "1.2";
+   elementScale[1] = "1.5";
+   elementScale[4] = "0.25";
+   elementScale[5] = "0.5";
+   elementTint[1] = "0.996078 0.976471 0.721569 1";
+   elementTint[2] = "0 0 1 1";
+   elementTint[5] = "0.721569 0 1 1";
+   elementRotate[5] = "0";
+   elementUseLightColor[5] = "1";
+   elementRect[0] = "0 256 256 256";
+   elementRect[1] = "128 128 128 128";
+   elementRect[2] = "0 0 64 64";
+   elementRect[3] = "0 0 64 64";
+   elementDist[0] = "-0.6";
+   elementDist[1] = "0.1";
+   elementDist[2] = "0.4";
+   elementScale[0] = "3.5";
+   elementScale[2] = "0.25";
+   elementTint[0] = "0.537255 0.537255 0.537255 1";
+   elementTint[3] = "0 1 0 1";
+   elementTint[4] = "1 0 0 1";
+   elementRect[6] = "64 64 64 64";
+   elementDist[6] = "0.9";
+   elementScale[6] = "4";
+   elementTint[6] = "0.00392157 0.721569 0.00392157 1";
+   elementRotate[6] = "0";
+   elementUseLightColor[6] = "1";
+   elementRect[7] = "64 64 64 64";
+   elementRect[8] = "64 64 64 64";
+   elementDist[7] = "0.25";
+   elementDist[8] = "0.18";
+   elementDist[9] = "0";
+   elementScale[7] = "2";
+   elementScale[8] = "0.5";
+   elementTint[7] = "0.6 0.0117647 0.741176 1";
+   elementTint[8] = "0.027451 0.690196 0.0117647 1";
+   elementTint[9] = "0.647059 0.647059 0.647059 1";
+   elementRotate[9] = "0";
+   elementUseLightColor[7] = "1";
+   elementUseLightColor[8] = "1";
+   elementRect[10] = "256 256 256 256";
+   elementRect[11] = "0 64 64 64";
+   elementRect[12] = "0 64 64 64";
+   elementRect[13] = "64 0 64 64";
+   elementDist[10] = "0";
+   elementDist[11] = "-0.3";
+   elementDist[12] = "-0.32";
+   elementDist[13] = "1";
+   elementScale[10] = "10";
+   elementScale[11] = "2.5";
+   elementScale[12] = "0.3";
+   elementScale[13] = "0.4";
+   elementTint[10] = "0.321569 0.321569 0.321569 1";
+   elementTint[11] = "0.443137 0.0431373 0.00784314 1";
+   elementTint[12] = "0.00784314 0.996078 0.0313726 1";
+   elementTint[13] = "0.996078 0.94902 0.00784314 1";
+   elementUseLightColor[10] = "1";
+   elementUseLightColor[11] = "1";
+   elementUseLightColor[13] = "1";
+   elementRect[14] = "0 0 64 64";
+   elementDist[14] = "0.15";
+   elementScale[14] = "0.8";
+   elementTint[14] = "0.505882 0.0470588 0.00784314 1";
+   elementRotate[14] = "1";
+   elementUseLightColor[9] = "1";
+   elementUseLightColor[14] = "1";
+   elementRect[15] = "64 64 64 64";
+   elementRect[16] = "0 64 64 64";
+   elementRect[17] = "0 0 64 64";
+   elementRect[18] = "0 64 64 64";
+   elementRect[19] = "256 0 256 256";
+   elementDist[15] = "0.8";
+   elementDist[16] = "0.7";
+   elementDist[17] = "1.4";
+   elementDist[18] = "-0.5";
+   elementDist[19] = "-1.5";
+   elementScale[15] = "3";
+   elementScale[16] = "0.3";
+   elementScale[17] = "0.2";
+   elementScale[18] = "1";
+   elementScale[19] = "35";
+   elementTint[15] = "0.00784314 0.00784314 0.996078 1";
+   elementTint[16] = "0.992157 0.992157 0.992157 1";
+   elementTint[17] = "0.996078 0.603922 0.00784314 1";
+   elementTint[18] = "0.2 0.00392157 0.47451 1";
+   elementTint[19] = "0.607843 0.607843 0.607843 1";
+   elementUseLightColor[15] = "1";
+   elementUseLightColor[18] = "1";
+   elementUseLightColor[19] = "1";
+};
+
+
+
+datablock LightFlareData( LightFlareExample0 )
+{
+   overallScale = 2.0;
+   flareEnabled = true;
+   renderReflectPass = true;
+   flareTexture = "./../special/lensFlareSheet1";
+   
+   elementRect[0] = "0 512 512 512";
+   elementDist[0] = 0.0;
+   elementScale[0] = 0.5;
+   elementTint[0] = "1.0 1.0 1.0";
+   elementRotate[0] = false;
+   elementUseLightColor[0] = false;
+   
+   elementRect[1] = "512 0 512 512";
+   elementDist[1] = 0.0;
+   elementScale[1] = 2.0;
+   elementTint[1] = "0.5 0.5 0.5";
+   elementRotate[1] = false;
+   elementUseLightColor[1] = false;
+   occlusionRadius = "0.25";
+};
+
+datablock LightFlareData( LightFlareExample1 )
+{
+   overallScale = 2.0;
+   flareEnabled = true;
+   renderReflectPass = true;
+   flareTexture = "./../special/lensFlareSheet1";
+   
+   elementRect[0] = "512 512 512 512";
+   elementDist[0] = 0.0;
+   elementScale[0] = 0.5;
+   elementTint[0] = "1.0 1.0 1.0";
+   elementRotate[0] = false;
+   elementUseLightColor[0] = false;
+   
+   elementRect[1] = "512 0 512 512";
+   elementDist[1] = 0.0;
+   elementScale[1] = 2.0;
+   elementTint[1] = "0.5 0.5 0.5";
+   elementRotate[1] = false;
+   elementUseLightColor[1] = false;
+   occlusionRadius = "0.25";
+};
+
+datablock LightFlareData( LightFlareExample2 )
+{
+   overallScale = 2.0;
+   flareEnabled = true;
+   renderReflectPass = true;
+   flareTexture = "./../special/lensFlareSheet0";  
+
+   elementRect[0] = "512 512 512 512";
+   elementDist[0] = 0.0;
+   elementScale[0] = 0.5;
+   elementTint[0] = "1.0 1.0 1.0";
+   elementRotate[0] = true;
+   elementUseLightColor[0] = true;
+   
+   elementRect[1] = "512 0 512 512";
+   elementDist[1] = 0.0;
+   elementScale[1] = 2.0;
+   elementTint[1] = "0.7 0.7 0.7";
+   elementRotate[1] = true;
+   elementUseLightColor[1] = true;
+   
+   elementRect[2] = "1152 0 128 128";
+   elementDist[2] = 0.3;
+   elementScale[2] = 0.5;
+   elementTint[2] = "1.0 1.0 1.0";
+   elementRotate[2] = true;
+   elementUseLightColor[2] = true;
+   
+   elementRect[3] = "1024 0 128 128";
+   elementDist[3] = 0.5;
+   elementScale[3] = 0.25;   
+   elementTint[3] = "1.0 1.0 1.0";
+   elementRotate[3] = true;
+   elementUseLightColor[3] = true;
+   
+   elementRect[4] = "1024 128 128 128";
+   elementDist[4] = 0.8;
+   elementScale[4] = 0.6;   
+   elementTint[4] = "1.0 1.0 1.0";
+   elementRotate[4] = true;
+   elementUseLightColor[4] = true;
+   
+   elementRect[5] = "1024 0 128 128";
+   elementDist[5] = 1.18;
+   elementScale[5] = 0.5;   
+   elementTint[5] = "0.7 0.7 0.7";
+   elementRotate[5] = true;
+   elementUseLightColor[5] = true;
+   
+   elementRect[6] = "1152 128 128 128";
+   elementDist[6] = 1.25;
+   elementScale[6] = 0.35;   
+   elementTint[6] = "0.8 0.8 0.8";
+   elementRotate[6] = true;
+   elementUseLightColor[6] = true;
+   
+   elementRect[7] = "1024 0 128 128";
+   elementDist[7] = 2.0;
+   elementScale[7] = 0.25;      
+   elementTint[7] = "1.0 1.0 1.0";
+   elementRotate[7] = true;
+   elementUseLightColor[7] = true;
+};

+ 39 - 0
Templates/Empty PhysX/game/core/art/datablocks/markers.cs

@@ -0,0 +1,39 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+datablock MissionMarkerData(WayPointMarker)
+{
+   category = "Misc";
+   shapeFile = "core/art/shapes/octahedron.dts";
+};
+
+datablock MissionMarkerData(SpawnSphereMarker)
+{
+   category = "Misc";
+   shapeFile = "core/art/shapes/octahedron.dts";
+};
+
+datablock MissionMarkerData(CameraBookmarkMarker)
+{
+   category = "Misc";
+   shapeFile = "core/art/shapes/camera.dts";
+};

BIN
Templates/Empty PhysX/game/core/art/defaultParticle.png


BIN
Templates/Empty PhysX/game/core/art/defaultRoadTextureOther.png


BIN
Templates/Empty PhysX/game/core/art/defaultRoadTextureTop.png


BIN
Templates/Empty PhysX/game/core/art/defaultpath.png


BIN
Templates/Empty PhysX/game/core/art/defaultpath_normal.png


BIN
Templates/Empty PhysX/game/core/art/fizz_noise.dds


BIN
Templates/Empty PhysX/game/core/art/grids/512_black.png


BIN
Templates/Empty PhysX/game/core/art/grids/512_blue.png


BIN
Templates/Empty PhysX/game/core/art/grids/512_forestgreen.png


BIN
Templates/Empty PhysX/game/core/art/grids/512_forestgreen_lines.png


BIN
Templates/Empty PhysX/game/core/art/grids/512_green.png


BIN
Templates/Empty PhysX/game/core/art/grids/512_grey.png


BIN
Templates/Empty PhysX/game/core/art/grids/512_grey_base.png


BIN
Templates/Empty PhysX/game/core/art/grids/512_orange.png


BIN
Templates/Empty PhysX/game/core/art/grids/512_orange_lines.png


BIN
Templates/Empty PhysX/game/core/art/grids/512_red.png


+ 91 - 0
Templates/Empty PhysX/game/core/art/grids/materials.cs

@@ -0,0 +1,91 @@
+//-----------------------------------------------------------------------------
+// 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.
+//-----------------------------------------------------------------------------
+
+singleton Material( Grid512_Black_Mat )
+{
+   mapTo = "Grid512_Black_Mat";
+   diffuseMap[0] = "512_black";
+   materialTag0 = "TestMaterial";
+};
+
+singleton Material( Grid512_Blue_Mat )
+{
+   mapTo = "Grid512_Blue_Mat";
+   diffuseMap[0] = "512_blue";
+   materialTag0 = "TestMaterial";
+};
+
+singleton Material( Grid512_ForestGreen_Mat )
+{
+   mapTo = "Grid512_ForestGreen_Mat";
+   diffuseMap[0] = "512_forestgreen";
+   materialTag0 = "TestMaterial";
+};
+
+singleton Material( Grid512_ForestGreenLines_Mat )
+{
+   mapTo = "Grid512_ForestGreenLines_Mat";
+   diffuseMap[0] = "512_forestgreen_lines";
+   materialTag0 = "TestMaterial";
+};
+
+singleton Material( Grid512_Green_Mat )
+{
+   mapTo = "Grid512_Green_Mat";
+   diffuseMap[0] = "512_green";
+   materialTag0 = "TestMaterial";
+};
+
+singleton Material( Grid512_Grey_Mat )
+{
+   mapTo = "Grid512_Grey_Mat";
+   diffuseMap[0] = "512_grey";
+   materialTag0 = "TestMaterial";
+};
+
+singleton Material( Grid512_GreyBase_Mat )
+{
+   mapTo = "Grid512_GreyBase_Mat";
+   diffuseMap[0] = "512_grey_base";
+   materialTag0 = "TestMaterial";
+};
+
+singleton Material( Grid512_Orange_Mat )
+{
+   mapTo = "Grid512_Orange_Mat";
+   diffuseMap[0] = "512_orange";
+   materialTag0 = "TestMaterial";
+};
+
+singleton Material( Grid512_OrangeLines_Mat )
+{
+   mapTo = "Grid512_OrangeLines_Mat";
+   diffuseMap[0] = "512_orange_lines";
+   materialTag0 = "TestMaterial";
+};
+
+singleton Material( Grid512_Red_Mat )
+{
+   mapTo = "Grid512_Red_Mat";
+   diffuseMap[0] = "512_red";
+   materialTag0 = "TestMaterial";
+};

+ 28 - 0
Templates/Empty PhysX/game/core/art/gui/FrameOverlayGui.gui

@@ -0,0 +1,28 @@
+//--- OBJECT WRITE BEGIN ---
+%guiContent = new GuiControl(FrameOverlayGui) {
+	profile = "GuiModelessDialogProfile";
+	horizSizing = "right";
+	vertSizing = "bottom";
+	position = "0 0";
+	extent = "640 480";
+	minExtent = "8 8";
+	visible = "True";
+	setFirstResponder = "True";
+	modal = "false";
+	helpTag = "0";
+   noCursor = true;
+	new GuiConsoleTextCtrl(TextOverlayControl) {
+		profile = "GuiConsoleTextProfile";
+		horizSizing = "right";
+		vertSizing = "bottom";
+		position = "5 5";
+		extent = "130 18";
+		minExtent = "4 4";
+		visible = "True";
+		setFirstResponder = "True";
+		modal = "True";
+		helpTag = "0";
+		expression = "10";
+	};
+};
+//--- OBJECT WRITE END ---

+ 99 - 0
Templates/Empty PhysX/game/core/art/gui/RecordingsDlg.gui

@@ -0,0 +1,99 @@
+//--- OBJECT WRITE BEGIN ---
+%guiContent = new GuiControl(recordingsDlg) {
+   profile = "GuiDefaultProfile";
+   horizSizing = "right";
+   vertSizing = "bottom";
+   position = "0 0";
+   extent = "640 480";
+   minExtent = "8 8";
+   visible = "1";
+   helpTag = "0";
+
+   new GuiWindowCtrl() {
+      profile = "GuiWindowProfile";
+      horizSizing = "center";
+      vertSizing = "center";
+      position = "55 65";
+      extent = "530 338";
+      minExtent = "48 92";
+      visible = "1";
+      helpTag = "0";
+      text = "Demo Recordings";
+      maxLength = "255";
+      resizeWidth = "0";
+      resizeHeight = "0";
+      canMove = "1";
+      canClose = "1";
+      canMinimize = "0";
+      canMaximize = "0";
+      minSize = "50 50";
+      closeCommand = "Canvas.popDialog(recordingsDlg);";
+
+      new GuiScrollCtrl() {
+         profile = "GuiScrollProfile";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         position = "23 37";
+         extent = "484 260";
+         minExtent = "32 32";
+         visible = "1";
+         helpTag = "0";
+         willFirstRespond = "1";
+         hScrollBar = "dynamic";
+         vScrollBar = "alwaysOn";
+         lockHorizScroll = "false";
+         lockVertScroll = "false";
+         constantThumbHeight = "0";
+         childMargin = "0 0";
+         defaultLineHeight = "15";
+
+         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";
+            resizeCell = "1";
+            fitParentWidth = "1";
+            clipColumnText = "0";
+            noDuplicates = "false";
+         };
+      };
+      new GuiButtonCtrl(DR_CancelBtn) {
+         profile = "GuiButtonProfile";
+         horizSizing = "right";
+         vertSizing = "top";
+         position = "396 306";
+         extent = "110 20";
+         minExtent = "8 8";
+         visible = "1";
+         command = "Canvas.popDialog(recordingsDlg);";
+         accelerator = "escape";
+         helpTag = "0";
+         text = "Cancel";
+         groupNum = "-1";
+         buttonType = "PushButton";
+      };
+      new GuiButtonCtrl(DR_StartDemoBtn) {
+         profile = "GuiButtonProfile";
+         horizSizing = "right";
+         vertSizing = "top";
+         position = "25 305";
+         extent = "110 20";
+         minExtent = "8 8";
+         visible = "1";
+         command = "StartSelectedDemo();";
+         helpTag = "0";
+         text = "Play";
+         groupNum = "-1";
+         buttonType = "PushButton";
+      };
+   };
+};
+//--- OBJECT WRITE END ---
+

+ 273 - 0
Templates/Empty PhysX/game/core/art/gui/chooseLevelDlg.gui

@@ -0,0 +1,273 @@
+//--- OBJECT WRITE BEGIN ---
+%guiContent = new GuiControl(ChooseLevelDlg) {
+   canSaveDynamicFields = "0";
+   Enabled = "1";
+   isContainer = "1";
+   Profile = "GuiOverlayProfile";
+   HorizSizing = "width";
+   VertSizing = "height";
+   position = "0 0";
+   Extent = "1024 768";
+   MinExtent = "8 8";
+   canSave = "1";
+   Visible = "1";
+   tooltipprofile = "GuiToolTipProfile";
+   hovertime = "1000";
+
+   new GuiWindowCtrl(ChooseLevelWindow) {
+      canSaveDynamicFields = "0";
+      Enabled = "1";
+      isContainer = "1";
+      Profile = "GuiWindowProfile";
+      HorizSizing = "center";
+      VertSizing = "center";
+      Position = "252 224";
+      Extent = "600 433";
+      MinExtent = "8 8";
+      canSave = "1";
+      isDecoy = "0";
+      Visible = "1";
+      tooltipprofile = "GuiToolTipProfile";
+      hovertime = "1000";
+      Margin = "0 0 0 0";
+      Padding = "0 0 0 0";
+      AnchorTop = "1";
+      AnchorBottom = "0";
+      AnchorLeft = "1";
+      AnchorRight = "0";
+      resizeWidth = "0";
+      resizeHeight = "0";
+      canMove = "1";
+      canClose = "1";
+      canMinimize = "0";
+      canMaximize = "0";
+      minSize = "50 50";
+      EdgeSnap = "1";
+      text = "Choose Level";
+      closeCommand = "Canvas.popDialog(ChooseLevelDlg);";
+
+      new GuiBitmapCtrl() {
+         canSaveDynamicFields = "1";
+         internalName = "CurrentPreview";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "GuiDefaultProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "10 31";
+         Extent = "400 300";
+         MinExtent = "8 2";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         bitmap = "./images/no-preview";
+         wrap = "0";
+      };
+
+      new GuiTextCtrl() {
+         canSaveDynamicFields = "0";
+         Enabled = "1";
+         internalName = "LevelName";
+         isContainer = "0";
+         Profile = "GuiMediumTextProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "420 31";
+         Extent = "165 18";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         Margin = "0 0 0 0";
+         Padding = "0 0 0 0";
+         AnchorTop = "1";
+         AnchorBottom = "0";
+         AnchorLeft = "1";
+         AnchorRight = "0";
+         text = "Level";
+         maxLength = "255";
+      };
+      new GuiTextCtrl() {
+         canSaveDynamicFields = "0";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "GuiTextProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "420 50";
+         Extent = "72 18";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         Margin = "0 0 0 0";
+         Padding = "0 0 0 0";
+         AnchorTop = "1";
+         AnchorBottom = "0";
+         AnchorLeft = "1";
+         AnchorRight = "0";
+         text = "Description:";
+         maxLength = "255";
+      };
+      new GuiMLTextCtrl() {
+         canSaveDynamicFields = "0";
+         Enabled = "1";
+         internalName = "LevelDescription";
+         isContainer = "0";
+         Profile = "GuiMLTextProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "420 76";
+         Extent = "165 189";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         Margin = "0 0 0 0";
+         Padding = "0 0 0 0";
+         AnchorTop = "1";
+         AnchorBottom = "0";
+         AnchorLeft = "1";
+         AnchorRight = "0";
+         text = "";
+         maxLength = "255";
+      };
+      new GuiCheckBoxCtrl() {
+         canSaveDynamicFields = "0";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "GuiCheckBoxProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "420 303";
+         Extent = "45 23";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "1";
+         Variable = "pref::HostMultiPlayer";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         text = " Host";
+         groupNum = "-1";
+         buttonType = "ToggleButton";
+         useMouseEvents = "0";
+         useInactiveState = "0";
+      };
+      new GuiButtonCtrl(ChooseLevelDlgGoBtn) {
+         canSaveDynamicFields = "0";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "GuiMenuButtonProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "458 287";
+         Extent = "143 56";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         text = "Go!";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "1";
+      };
+
+      new GuiBitmapButtonCtrl() {
+         canSaveDynamicFields = "1";
+         internalName = "PreviousSmallPreviews";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "GuiDefaultProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "10 343";
+         Extent = "11 81";
+         MinExtent = "8 2";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         bitmap = "core/art/gui/images/previous-button";
+         wrap = "0";
+         command = "ChooseLevelWindow.previousPreviews();";
+      };
+
+      new GuiDynamicCtrlArrayControl() {
+         internalName = "SmallPreviews";
+         position = "24 343";
+         extent = "600 81";
+         autoCellSize = true;
+         colSpacing = 3;
+         colCount = 5;
+         rowCount = 1;
+      };
+
+      new GuiBitmapButtonCtrl() {
+         canSaveDynamicFields = "1";
+         internalName = "NextSmallPreviews";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "GuiDefaultProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "579 343";
+         Extent = "11 81";
+         MinExtent = "8 2";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         bitmap = "core/art/gui/images/next-button";
+         wrap = "0";
+         command = "ChooseLevelWindow.nextPreviews();";
+      };
+
+      new GuiTextListCtrl(CL_levelList) {
+         canSaveDynamicFields = "0";
+         Enabled = "1";
+         isContainer = "1";
+         Profile = "GuiTextArrayProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "1 1";
+         Extent = "421 144";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "0";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         enumerate = "0";
+         resizeCell = "1";
+         columns = "0";
+         fitParentWidth = "1";
+         clipColumnText = "0";
+      };
+   };
+};
+//--- OBJECT WRITE END ---
+
+// Do this onMouseUp not via Command which occurs onMouseDown so we do
+// not have a lingering mouseUp event lingering in the ether.
+function ChooseLevelDlgGoBtn::onMouseUp( %this )
+{
+   // So we can't fire the button when loading is in progress.
+   if ( isObject( ServerGroup ) )
+      return;
+
+   // Launch the chosen level with the editor open?
+   if ( ChooseLevelDlg.launchInEditor )
+   {
+      activatePackage( "BootEditor" );
+      ChooseLevelDlg.launchInEditor = false; 
+      StartLevel("", "SinglePlayer");
+   }
+   else
+   {
+      StartLevel(); 
+   }
+}

+ 175 - 0
Templates/Empty PhysX/game/core/art/gui/console.gui

@@ -0,0 +1,175 @@
+//--- OBJECT WRITE BEGIN ---
+%guiContent = new GuiControl(ConsoleDlg) {
+   profile = "GuiDefaultProfile";
+   horizSizing = "right";
+   vertSizing = "bottom";
+   position = "0 0";
+   extent = "640 480";
+   minExtent = "8 8";
+   visible = "1";
+   helpTag = "0";
+
+   new GuiConsoleEditCtrl(ConsoleEntry) {
+      profile = "ConsoleTextEditProfile";
+      horizSizing = "width";
+      vertSizing = "top";
+      position = "0 462";
+      extent = "640 18";
+      minExtent = "8 8";
+      visible = "1";
+      altCommand = "ConsoleEntry::eval();";
+      helpTag = "0";
+      maxLength = "255";
+      historySize = "40";
+      password = "0";
+      tabComplete = "0";
+      sinkAllKeyEvents = "1";
+      useSiblingScroller = "1";
+   };
+   new GuiScrollCtrl() {
+      internalName = "Scroll";
+      profile = "ConsoleScrollProfile";
+      horizSizing = "width";
+      vertSizing = "height";
+      position = "0 0";
+      extent = "640 462";
+      minExtent = "8 8";
+      visible = "1";
+      helpTag = "0";
+      willFirstRespond = "1";
+      hScrollBar = "alwaysOn";
+      vScrollBar = "alwaysOn";
+      lockHorizScroll = "false";
+      lockVertScroll = "false";
+      constantThumbHeight = "0";
+      childMargin = "0 0";
+
+         new GuiConsole( ConsoleMessageLogView ) {
+            profile = "GuiConsoleProfile";
+            position = "0 0";
+         };
+      };
+};
+//--- OBJECT WRITE END ---
+
+
+function ConsoleEntry::eval()
+{
+   %text = trim( ConsoleEntry.getValue() );
+   if( %text $= "" )
+      return;
+   
+   // If it's missing a trailing () and it's not a variable,
+   // append the parentheses.
+
+   if( strpos(%text, "(") == -1 && !isDefined( %text ) )
+   {
+      if(strpos(%text, "=") == -1 && strpos(%text, " ") == -1)
+      {
+         if(strpos(%text, "{") == -1 && strpos(%text, "}") == -1)
+         {
+            %text = %text @ "()";
+         }
+      }
+   }
+   
+   // Append a semicolon if need be.
+
+   %pos = strlen(%text) - 1;
+   if(strpos(%text, ";", %pos) == -1 && strpos(%text, "}") == -1)
+   {
+      %text = %text @ ";";
+   }
+   
+   // Turn off warnings for assigning from void
+   // and evaluate the snippet.
+   
+   if( !isDefined( "$Con::warnVoidAssignment" ) )
+      %oldWarnVoidAssignment = true;
+   else
+      %oldWarnVoidAssignment = $Con::warnVoidAssignment;
+   $Con::warnVoidAssignment = false;
+   
+   echo("==>" @ %text);
+   if(    !startsWith( %text, "function " )
+       && !startsWith( %text, "datablock " )
+       && !startsWith( %text, "foreach(" )
+       && !startsWith( %text, "foreach$(" )
+       && !startsWith( %text, "if(" )
+       && !startsWith( %text, "while(" )
+       && !startsWith( %text, "for(" )
+       && !startsWith( %text, "switch(" )
+       && !startsWith( %text, "switch$(" ) )
+      eval( "%result = " @ %text );
+   else
+      eval( %text );
+   $Con::warnVoidAssignment = %oldWarnVoidAssignment;
+   
+   ConsoleEntry.setValue("");
+   
+   // Echo result.
+   
+   if( %result !$= "" )
+      echo( %result );
+}
+
+function ToggleConsole(%make)
+{
+   if (%make)
+   {
+      if (ConsoleDlg.isAwake())
+      {
+         // Deactivate the console.
+         Canvas.popDialog(ConsoleDlg);
+      }
+      else
+      {
+         Canvas.pushDialog(ConsoleDlg, 99);         
+      }
+   }
+}
+
+function ConsoleDlg::hideWindow( %this )
+{
+   %this-->Scroll.setVisible( false );
+}
+
+function ConsoleDlg::showWindow( %this )
+{
+   %this-->Scroll.setVisible( true );
+}
+
+function ConsoleDlg::setAlpha(  %this, %alpha )
+{
+   if ( %alpha $= "" )
+      ConsoleScrollProfile.fillColor = $ConsoleDefaultFillColor;
+   else
+      ConsoleScrollProfile.fillColor = getWords( $ConsoleDefaultFillColor, 0, 2 ) SPC %alpha * 255.0;
+}
+
+// If a message is selected that has a source location preceding it, allow jumping to the
+// source location in Torsion by clicking on the message in the log view.
+function ConsoleMessageLogView::onMessageSelected( %this, %level, %message )
+{
+   if( !isFunction( "EditorOpenFileInTorsion" ) )
+      return;
+      
+   %fileText = getWord( %message, 0 );
+   %lineText = getWord( %message, 1 );
+   
+   if( %fileText $= "" || %lineText $= "" )
+      return;
+   
+   %fileName = makeFullPath( %fileText );
+   if( !isFile( %fileName ) )
+      return;
+      
+   %lineTextLen = strlen( %lineText );
+   if( !startsWith( %lineText, "(" ) ||
+       !endsWith( %lineText, "):" ) )
+      return;
+      
+   %lineNumber = getSubStr( %lineText, 1, %lineTextLen - 2 );
+   
+   EditorOpenFileInTorsion( %fileName, %lineNumber );
+}

+ 118 - 0
Templates/Empty PhysX/game/core/art/gui/consoleVarDlg.gui

@@ -0,0 +1,118 @@
+//--- OBJECT WRITE BEGIN ---
+%guiContent = new GuiControl(ConsoleVarDlg) {
+   isContainer = "1";
+   Profile = "GuiModelessDialogProfile";
+   HorizSizing = "right";
+   VertSizing = "bottom";
+   position = "0 0";
+   Extent = "1024 768";
+   MinExtent = "8 2";
+   canSave = "1";
+   Visible = "1";
+   tooltipprofile = "GuiToolTipProfile";
+   hovertime = "1000";
+   canSaveDynamicFields = "1";
+   noCursor = true;
+
+   new GuiWindowCtrl() {
+      resizeWidth = "1";
+      resizeHeight = "1";
+      canMove = "1";
+      canClose = "1";
+      canMinimize = "1";
+      canMaximize = "1";
+      minSize = "50 50";
+      EdgeSnap = "1";
+      text = "Console Variables";
+      Margin = "0 0 0 0";
+      Padding = "0 0 0 0";
+      AnchorTop = "1";
+      AnchorBottom = "0";
+      AnchorLeft = "1";
+      AnchorRight = "0";
+      isContainer = "1";
+      Profile = "GuiWindowProfile";
+      HorizSizing = "right";
+      VertSizing = "bottom";
+      position = "131 153";
+      Extent = "194 324";
+      MinExtent = "8 2";
+      canSave = "1";
+      Visible = "1";
+      tooltipprofile = "GuiToolTipProfile";
+      hovertime = "1000";
+      internalName = "window";
+      canSaveDynamicFields = "0";
+      closeCommand = "Canvas.popDialog( ConsoleVarDlg );";
+
+      new GuiScrollCtrl() {
+         willFirstRespond = "1";
+         hScrollBar = "alwaysOff";
+         vScrollBar = "dynamic";
+         lockHorizScroll = "0";
+         lockVertScroll = "0";
+         constantThumbHeight = "0";
+         childMargin = "0 0";
+         mouseWheelScrollSpeed = "-1";
+         Docking = "Client";
+         Margin = "0 0 0 0";
+         Padding = "0 0 0 0";
+         AnchorTop = "1";
+         AnchorBottom = "0";
+         AnchorLeft = "1";
+         AnchorRight = "0";
+         isContainer = "1";
+         Profile = "GuiScrollProfile";
+         HorizSizing = "right";
+         VertSizing = "bottom";
+         position = "1 21";
+         Extent = "192 300";
+         MinExtent = "8 2";
+         canSave = "1";
+         Visible = "1";
+         tooltipprofile = "GuiToolTipProfile";
+         hovertime = "1000";
+         internalName = "Scroll";
+         canSaveDynamicFields = "0";
+         
+         new GuiVariableInspector(ConsoleVarInspector) {
+            StackingType = "Vertical";
+            HorizStacking = "Left to Right";
+            VertStacking = "Top to Bottom";
+            Padding = "1";
+            canSaveDynamicFields = "0";
+            Enabled = "1";
+            isContainer = "1";
+            Profile = "GuiTransparentProfile";
+            HorizSizing = "width";
+            VertSizing = "bottom";
+            Position = "1 1";
+            Extent = "190 298";
+            MinExtent = "16 16";
+            canSave = "1";
+            isDecoy = "0";
+            Visible = "1";
+            tooltipprofile = "GuiToolTipProfile";
+            hovertime = "1000";
+            dividerMargin = "5";
+         };
+      };
+   };
+};
+//--- OBJECT WRITE END ---
+
+function InspectVars( %filter )
+{
+   if ( %filter $= "" )
+      %filter = "*";
+   
+   //if ( !ConsoleVarDlg.isAwake() )   
+      Canvas.pushDialog( ConsoleVarDlg, 100 );
+      
+   ConsoleVarInspector.loadVars( %filter );
+}
+
+function InspectVarsToggleCursor()
+{
+   ConsoleVarDlg.noCursor = !(ConsoleVarDlg.noCursor);
+}

BIN
Templates/Empty PhysX/game/core/art/gui/images/GG_Icon.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/arrowbtn_d.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/arrowbtn_n.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/breadcrumbs.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/button.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/buttontab.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/chatHudBorderArray.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/checkbox-list.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/checkbox-list_fliped.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/checkbox.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/clear-btn_d.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/clear-btn_h.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/clear-btn_n.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/collapse-toolbar_d.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/collapse-toolbar_h.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/collapse-toolbar_n.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/crosshair.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/crosshair_blue.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/default.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/defaultCursor.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/dropDown-tab.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/dropDown.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/dropdown-button-arrow.png


BIN
Templates/Empty PhysX/game/core/art/gui/images/dropdown-textEdit.png


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно