added everything
							
								
								
									
										8
									
								
								example/starter.racing/client/ui/0. About.hfl
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,8 @@
 | 
			
		||||
<lmargin%:5><rmargin%:95><font:Arial:16>Welcome to the Racing starter Kit.
 | 
			
		||||
 | 
			
		||||
<font:Arial Bold:16>About the Starter Kit:<font:Arial:16>The starter kit is a simple example game for you to use in building your own game. This kit is not a complete game in itself, but does illustrate basic play mechanics as well as provide example art. This is a starting point for your future hit title!
 | 
			
		||||
 | 
			
		||||
<font:Arial Bold:16>About GarageGames.com:<font:Arial:16> <a:www.garagegames.com>GarageGames</a> is a unique Internet publishing label for independent games and gamemakers. We are a band of professional gaming industry veterans committed to publishing truly original and exciting titles on our own terms.   Our mission? To provide the independent developer with tools, knowledge, co-conspirators - whatever is needed to unleash the creative spirit and get great innovative independent games to market.
 | 
			
		||||
 
 | 
			
		||||
<font:Arial Bold:16>About the Torque Game Engine:<font:Arial:16> The <a:www.garagegames.com/pg/product/view.php?id=1>Torque Game Engine</a> (TGE) is the game engine that powers Tribes 2 developed by Dynamix. TGE is a full featured AAA title engine with the latest in scripting, geometry, particle effects, animation and texturing, as well as award winning multi-player networking code. Check out the <a:www.garagegames.com/pg/product/view.php?id=1#features>feature list</a> for more details.  For $100 per programmer, you get the source to the engine of a major product from a major game publisher! Not possible? Check the <a:www.garagegames.com/index.php?sec=mg&mod=resource&page=category&qid=122>FAQ</a> for the details.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										68
									
								
								example/starter.racing/client/ui/1. Credits.hfl
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,68 @@
 | 
			
		||||
<just:center><lmargin%:5><rmargin%:95><font:Arial Bold:20>Torque Game Engine Demo Credits...
 | 
			
		||||
<bitmap:demo/client/ui/seperator>
 | 
			
		||||
<font:Arial Bold:20>GarageGames.com Staff<font:Arial:16>
 | 
			
		||||
	<a:www.garagegames.com/my/home/view.profile.php?qid=3>Jeff "MotoMan" Tunnell</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=1>Tim "Slacker" Gift</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=2>Rick "Entropy" Overman</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=55>Mark "Got Milk?" Frohnmayer</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=32699>Timothy Aste</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=4517>Robert Blanchet Jr.</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=70688>Thomas Buscaglia</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=26331>Chris Calef</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=5249>Justin DuJardin</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=6452>Clark Fagot</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=985>Matt Fairfax</a>
 | 
			
		||||
<a:www.www.garagegames.com/my/home/view.profile.php?qid=5318>Nate Feyma</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=10309>Jacob Fike</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=17830>Eric Fritz</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=8863>Ben Garney</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=75501>Kenneth Holst</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=54612>Davey Jackson</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=33542>Matthew Langley</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=36339>Adam Larson</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=1449>Joe Maruschak</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=22782>Mark McCoy</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=46929>Karen Peal</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=6645>John Quigley</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=5030>Brian "Twitch" Ramage</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=10513>Paul Scott</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=69526>Sean Sullivan</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=5263>Alex Swanson</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=71087>James Wiley</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=20592>Josh Williams</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=370>Pat "Killer Bunny" Wilson</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=37827>Zachary Zadell</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=34977>Stephen Zepp</a>
 | 
			
		||||
 | 
			
		||||
<bitmap:demo/client/ui/seperator>
 | 
			
		||||
<font:Arial Bold:20>Special Thanks<font:Arial:16>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=56310>Jon Jorajuria</a>
 | 
			
		||||
...for revamping the audio of the 1.5 demo!
 | 
			
		||||
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=44513>Todd Pickens</a>
 | 
			
		||||
...for donating
 | 
			
		||||
<a:www.garagegames.com/products/104>FPS Environment Pack Art!</a>
 | 
			
		||||
	
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=21036>John Kabus</a>
 | 
			
		||||
...for his work with the Torque Lighting Kit!
 | 
			
		||||
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=37490>Joshua Dallman</a>
 | 
			
		||||
...for
 | 
			
		||||
<a:www.redthumbgames.com>Red Thumb Game's</a>
 | 
			
		||||
contribution of Skybox starter material!
 | 
			
		||||
 | 
			
		||||
<a:www.garagegames.com/company/associates/>GarageGames Associates</a>
 | 
			
		||||
 | 
			
		||||
Some open-source textures used courtesy of...
 | 
			
		||||
<a:wadfather.planethalflife.gamespy.com/new/>WAD Father - Graphics for Game Developers</a>
 | 
			
		||||
	
 | 
			
		||||
<bitmap:demo/client/ui/seperator>
 | 
			
		||||
<font:Arial Bold:20>Torque Engine Original Programmers<font:Arial:16>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=438>Dave "Symlink" Moore</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=572>John "Uberbob" Folliard</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=4872>Greg "Jett" Lancaster</a>
 | 
			
		||||
<a:www.garagegames.com/my/home/view.profile.php?qid=6019>Tim "Kidney Thief" Anderson</a>
 | 
			
		||||
John "Sne/\ker" Alden
 | 
			
		||||
Lincoln "Missing" Hutton
 | 
			
		||||
Brad "BigDevDawg" Heinz
 | 
			
		||||
Shawn Eastley
 | 
			
		||||
							
								
								
									
										24
									
								
								example/starter.racing/client/ui/1.1 Game Controls.hfl
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
			
		||||
<lmargin%:5><rmargin%:95><font:Arial Bold:20>Default Game Control Setup...<font:Arial:16>
 | 
			
		||||
<tab:105,200>
 | 
			
		||||
<font:Arial Bold:16>Movement<font:Arial:16>
 | 
			
		||||
Up Arrow		Accelerate
 | 
			
		||||
Down Arrow 	Brake/Reverse
 | 
			
		||||
Left Arrow		Turn Left
 | 
			
		||||
Right Arrow	Turn Right
 | 
			
		||||
Mouse				Turn Left/Right
 | 
			
		||||
Space				HandBrake
 | 
			
		||||
 | 
			
		||||
<font:Arial Bold:16>View Control<font:Arial:16>
 | 
			
		||||
E	Zoom
 | 
			
		||||
R	Set zoom FOV
 | 
			
		||||
TAB	First/Third person camera
 | 
			
		||||
Alt-C	Toggle between camera/player
 | 
			
		||||
 | 
			
		||||
<font:Arial Bold:16>Chat<font:Arial:16>
 | 
			
		||||
U	Send public chat message
 | 
			
		||||
 | 
			
		||||
<font:Arial Bold:16>Misc Functions<font:Arial:16>
 | 
			
		||||
Ctrl-O	Open in-game options dialog
 | 
			
		||||
Ctrl-R	Reset car
 | 
			
		||||
F7	Drop the player at the camera
 | 
			
		||||
F8	Drop the camera at the player
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/1.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 7.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/2.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/3.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/GarageGames.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 378 KiB  | 
							
								
								
									
										49
									
								
								example/starter.racing/client/ui/StartupGui.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,49 @@
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiFadeinBitmapCtrl(StartupGui) {
 | 
			
		||||
   profile = "GuiInputCtrlProfile";
 | 
			
		||||
   horizSizing = "right";
 | 
			
		||||
   vertSizing = "bottom";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   helpTag = "0";
 | 
			
		||||
   bitmap = "./GarageGames";
 | 
			
		||||
   wrap = "0";
 | 
			
		||||
   fadeinTime = "125";
 | 
			
		||||
   waitTime   = "3000";
 | 
			
		||||
   fadeoutTime = "125";
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
 | 
			
		||||
function loadStartup()
 | 
			
		||||
{
 | 
			
		||||
   StartupGui.done = false;
 | 
			
		||||
   Canvas.setContent( StartupGui );
 | 
			
		||||
   schedule(100, 0, checkStartupDone );
 | 
			
		||||
   // If you want a sound or music to play add a new AudioProfile to client\scripts\audioProfiles.cs
 | 
			
		||||
   // that is named AudioStartup and uncomment the line below. You can see an example of this in the
 | 
			
		||||
   // demo scripts.
 | 
			
		||||
   //alxPlay(AudioStartup);
 | 
			
		||||
}
 | 
			
		||||
   
 | 
			
		||||
 | 
			
		||||
//-------------------------------------
 | 
			
		||||
function StartupGui::click()
 | 
			
		||||
{
 | 
			
		||||
   StartupGui.done = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//-------------------------------------
 | 
			
		||||
function checkStartupDone()
 | 
			
		||||
{
 | 
			
		||||
   if (StartupGui.done)
 | 
			
		||||
   {
 | 
			
		||||
   	  echo ("*** Load Main Menu");
 | 
			
		||||
      loadMainMenu();
 | 
			
		||||
   }
 | 
			
		||||
   else
 | 
			
		||||
      schedule(100, 0, checkStartupDone );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										96
									
								
								example/starter.racing/client/ui/aboutDlg.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,96 @@
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Torque Game Engine
 | 
			
		||||
// 
 | 
			
		||||
// Copyright (c) 2001 GarageGames.Com
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiControl(aboutDlg) {
 | 
			
		||||
   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 = "132 88";
 | 
			
		||||
      extent = "376 303";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
      text = "About...";
 | 
			
		||||
      maxLength = "255";
 | 
			
		||||
      resizeWidth = "0";
 | 
			
		||||
      resizeHeight = "0";
 | 
			
		||||
      canMove = "1";
 | 
			
		||||
      canClose = "1";
 | 
			
		||||
      canMinimize = "0";
 | 
			
		||||
      canMaximize = "0";
 | 
			
		||||
      minSize = "50 50";
 | 
			
		||||
      closeCommand = "Canvas.popDialog(aboutDlg);";
 | 
			
		||||
 | 
			
		||||
      new GuiMLTextCtrl(aboutText) {
 | 
			
		||||
         profile = "GuiMLTextProfile";
 | 
			
		||||
         horizSizing = "width";
 | 
			
		||||
         vertSizing = "relative";
 | 
			
		||||
         position = "19 36";
 | 
			
		||||
         extent = "336 241";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         lineSpacing = "2";
 | 
			
		||||
         allowColorChars = "0";
 | 
			
		||||
         maxChars = "-1";
 | 
			
		||||
            text = "This is a test";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl() {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "303 268";
 | 
			
		||||
         extent = "60 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "Canvas.popDialog(aboutDlg);";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         text = "OK";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl() {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "12 268";
 | 
			
		||||
         extent = "76 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "getHelp(\"4. License\");";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         text = "License...";
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function aboutDlg::onWake(%this)
 | 
			
		||||
{
 | 
			
		||||
   %text="<just:center><font:Arial Bold:20>Racing Starter Kit\n"@
 | 
			
		||||
         "<font:Arial:12>"@ getCompileTimeString() @", "@ getBuildString() @"Build\n\n"@
 | 
			
		||||
         "<font:Arial:16>Copyright (c) 2001 <a:www.garagegames.com>GarageGames.Com</a>\n"@
 | 
			
		||||
         "<bitmap:rw/client/ui/gglogo150.png>";
 | 
			
		||||
   aboutText.setText(%text);   
 | 
			
		||||
}   
 | 
			
		||||
 | 
			
		||||
function aboutText::onURL(%this, %url)
 | 
			
		||||
{
 | 
			
		||||
   echo(%this);
 | 
			
		||||
   echo(%url);
 | 
			
		||||
   gotoWebPage( %url );
 | 
			
		||||
}   
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/background.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 348 KiB  | 
							
								
								
									
										160
									
								
								example/starter.racing/client/ui/chatHud.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,160 @@
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Chat edit window
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
new GuiControl(MessageHud)
 | 
			
		||||
{
 | 
			
		||||
   profile = "GuiDefaultProfile";
 | 
			
		||||
   horizSizing = "width";
 | 
			
		||||
   vertSizing = "height";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "0";
 | 
			
		||||
   noCursor = true;
 | 
			
		||||
 | 
			
		||||
   new GuiBitmapBorderCtrl(MessageHud_Frame) {
 | 
			
		||||
      profile = "ChatHudBorderProfile";
 | 
			
		||||
      horizSizing = "right";
 | 
			
		||||
      vertSizing = "bottom";
 | 
			
		||||
      position = "120 375";
 | 
			
		||||
      extent = "400 40";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
 | 
			
		||||
      new GuiBitmapCtrl() {
 | 
			
		||||
         profile = "GuiDefaultProfile";
 | 
			
		||||
         horizSizing = "width";
 | 
			
		||||
         vertSizing = "height";
 | 
			
		||||
         position = "8 8";
 | 
			
		||||
         extent = "384 24";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         bitmap = "./hudfill.png";
 | 
			
		||||
         wrap = "0";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      new GuiTextCtrl(MessageHud_Text)
 | 
			
		||||
      {
 | 
			
		||||
         profile = "ChatHudTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "14 12";
 | 
			
		||||
         extent = "10 22";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      new GuiTextEditCtrl(MessageHud_Edit)
 | 
			
		||||
      {
 | 
			
		||||
         profile = "ChatHudEditProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "0 13";
 | 
			
		||||
         extent = "10 22";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         altCommand = "$ThisControl.eval();";
 | 
			
		||||
         escapeCommand = "MessageHud_Edit.onEscape();";
 | 
			
		||||
         historySize = "5";
 | 
			
		||||
         maxLength = "120";
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiControl(MainChatHud) {
 | 
			
		||||
   profile = "GuiModelessDialogProfile";
 | 
			
		||||
   horizSizing = "width";
 | 
			
		||||
   vertSizing = "height";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   helpTag = "0";
 | 
			
		||||
      noCursor = "1";
 | 
			
		||||
 | 
			
		||||
   new GuiControl() {
 | 
			
		||||
      profile = "GuiDefaultProfile";
 | 
			
		||||
      horizSizing = "relative";
 | 
			
		||||
      vertSizing = "bottom";
 | 
			
		||||
      position = "0 0";
 | 
			
		||||
      extent = "400 300";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
 | 
			
		||||
      new GuiBitmapBorderCtrl(OuterChatHud) {
 | 
			
		||||
         profile = "ChatHudBorderProfile";
 | 
			
		||||
         horizSizing = "width";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "0 0";
 | 
			
		||||
         extent = "272 88";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
            useVariable = "0";
 | 
			
		||||
            tile = "0";
 | 
			
		||||
 | 
			
		||||
         new GuiBitmapCtrl() {
 | 
			
		||||
            profile = "GuiDefaultProfile";
 | 
			
		||||
            horizSizing = "width";
 | 
			
		||||
            vertSizing = "height";
 | 
			
		||||
            position = "8 8";
 | 
			
		||||
            extent = "256 72";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            bitmap = "./hudfill.png";
 | 
			
		||||
            wrap = "0";
 | 
			
		||||
         };
 | 
			
		||||
 | 
			
		||||
         new GuiButtonCtrl(chatPageDown) {
 | 
			
		||||
            profile = "GuiButtonProfile";
 | 
			
		||||
            horizSizing = "left";
 | 
			
		||||
            vertSizing = "top";
 | 
			
		||||
            position = "220 58";
 | 
			
		||||
            extent = "36 14";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "0";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Dwn";
 | 
			
		||||
            groupNum = "-1";
 | 
			
		||||
            buttonType = "PushButton";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiScrollCtrl(ChatScrollHud) {
 | 
			
		||||
            profile = "ChatHudScrollProfile";
 | 
			
		||||
            horizSizing = "width";
 | 
			
		||||
            vertSizing = "height";
 | 
			
		||||
            position = "8 8";
 | 
			
		||||
            extent = "256 72";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            willFirstRespond = "1";
 | 
			
		||||
            hScrollBar = "alwaysOff";
 | 
			
		||||
            vScrollBar = "alwaysOff";
 | 
			
		||||
            constantThumbHeight = "0";
 | 
			
		||||
            childMargin = "0 0";
 | 
			
		||||
 | 
			
		||||
            new GuiMessageVectorCtrl(ChatHud) {
 | 
			
		||||
               profile = "ChatHudMessageProfile";
 | 
			
		||||
               horizSizing = "width";
 | 
			
		||||
               vertSizing = "height";
 | 
			
		||||
               position = "1 1";
 | 
			
		||||
               extent = "252 16";
 | 
			
		||||
               minExtent = "8 8";
 | 
			
		||||
               visible = "1";
 | 
			
		||||
               helpTag = "0";
 | 
			
		||||
               lineSpacing = "0";
 | 
			
		||||
               lineContinuedIndex = "10";
 | 
			
		||||
               allowedMatches[0] = "http";
 | 
			
		||||
               allowedMatches[1] = "tgeserver";
 | 
			
		||||
               matchColor = "0 0 255 255";
 | 
			
		||||
               maxColorIndex = "5";
 | 
			
		||||
            };
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/chatHudBorderArray.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 8.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/crossHair.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 329 B  | 
							
								
								
									
										109
									
								
								example/starter.racing/client/ui/customProfiles.cs
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,109 @@
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Torque Game Engine 
 | 
			
		||||
// Copyright (c) 2002 GarageGames.Com
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile (GuiDefaultProfile)
 | 
			
		||||
{
 | 
			
		||||
   tab = false;
 | 
			
		||||
   canKeyFocus = false;
 | 
			
		||||
   hasBitmapArray = false;
 | 
			
		||||
   mouseOverSelected = false;
 | 
			
		||||
 | 
			
		||||
   // fill color
 | 
			
		||||
   opaque = false;
 | 
			
		||||
   fillColor = "201 182 153";
 | 
			
		||||
   fillColorHL = "221 202 173";
 | 
			
		||||
   fillColorNA = "221 202 173";
 | 
			
		||||
 | 
			
		||||
   // border color
 | 
			
		||||
   border = false;
 | 
			
		||||
   borderColor   = "0 0 0"; 
 | 
			
		||||
   borderColorHL = "179 134 94";
 | 
			
		||||
   borderColorNA = "126 79 37";
 | 
			
		||||
   
 | 
			
		||||
   // bevel color
 | 
			
		||||
   bevelColorHL = "255 255 255";
 | 
			
		||||
   bevelColorLL = "0 0 0";
 | 
			
		||||
 | 
			
		||||
   // font
 | 
			
		||||
   fontType = "Arial";
 | 
			
		||||
   fontSize = 14;
 | 
			
		||||
   fontCharset = CHINESEBIG5;
 | 
			
		||||
 | 
			
		||||
   fontColor = "0 0 0";
 | 
			
		||||
   fontColorHL = "32 100 100";
 | 
			
		||||
   fontColorNA = "0 0 0";
 | 
			
		||||
   fontColorSEL= "200 200 200";
 | 
			
		||||
 | 
			
		||||
   // bitmap information
 | 
			
		||||
   bitmap = "./demoWindow";
 | 
			
		||||
   bitmapBase = "";
 | 
			
		||||
   textOffset = "0 0";
 | 
			
		||||
 | 
			
		||||
   // used by guiTextControl
 | 
			
		||||
   modal = true;
 | 
			
		||||
   justify = "left";
 | 
			
		||||
   autoSizeWidth = false;
 | 
			
		||||
   autoSizeHeight = false;
 | 
			
		||||
   returnTab = false;
 | 
			
		||||
   numbersOnly = false;
 | 
			
		||||
   cursorColor = "0 0 0 255";
 | 
			
		||||
 | 
			
		||||
   // sounds
 | 
			
		||||
   soundButtonDown = "";
 | 
			
		||||
   soundButtonOver = "";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile (GuiWindowProfile)
 | 
			
		||||
{
 | 
			
		||||
   opaque = true;
 | 
			
		||||
   border = 2;
 | 
			
		||||
   fillColor = "201 182 153";
 | 
			
		||||
   fillColorHL = "221 202 173";
 | 
			
		||||
   fillColorNA = "221 202 173";
 | 
			
		||||
   fontColor = "255 255 255";
 | 
			
		||||
   fontColorHL = "255 255 255";
 | 
			
		||||
   text = "GuiWindowCtrl test";
 | 
			
		||||
   bitmap = "./demoWindow";
 | 
			
		||||
   textOffset = "6 6";
 | 
			
		||||
   hasBitmapArray = true;
 | 
			
		||||
   justify = "center";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile (GuiScrollProfile)
 | 
			
		||||
{
 | 
			
		||||
   opaque = true;
 | 
			
		||||
   fillColor = "255 255 255";
 | 
			
		||||
   border = 3;
 | 
			
		||||
   borderThickness = 2;
 | 
			
		||||
   borderColor = "0 0 0";
 | 
			
		||||
   bitmap = "./demoScroll";
 | 
			
		||||
   hasBitmapArray = true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile (GuiCheckBoxProfile)
 | 
			
		||||
{
 | 
			
		||||
   opaque = false;
 | 
			
		||||
   fillColor = "232 232 232";
 | 
			
		||||
   border = false;
 | 
			
		||||
   borderColor = "0 0 0";
 | 
			
		||||
   fontSize = 14;
 | 
			
		||||
   fontColor = "0 0 0";
 | 
			
		||||
   fontColorHL = "32 100 100";
 | 
			
		||||
   fixedExtent = true;
 | 
			
		||||
   justify = "left";
 | 
			
		||||
   bitmap = "./demoCheck";
 | 
			
		||||
   hasBitmapArray = true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile (GuiRadioProfile)
 | 
			
		||||
{
 | 
			
		||||
   fontSize = 14;
 | 
			
		||||
   fillColor = "232 232 232";
 | 
			
		||||
   fontColorHL = "32 100 100";
 | 
			
		||||
   fixedExtent = true;
 | 
			
		||||
   bitmap = "./demoRadio";
 | 
			
		||||
   hasBitmapArray = true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										124
									
								
								example/starter.racing/client/ui/defaultGameProfiles.cs
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,124 @@
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Torque Game Engine 
 | 
			
		||||
// Copyright (C) GarageGames.com, Inc.
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Override base controls
 | 
			
		||||
GuiButtonProfile.soundButtonOver = "AudioButtonOver";
 | 
			
		||||
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Chat Hud profiles
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile (ChatHudEditProfile)
 | 
			
		||||
{
 | 
			
		||||
   opaque = false;
 | 
			
		||||
   fillColor = "255 255 255";
 | 
			
		||||
   fillColorHL = "128 128 128";
 | 
			
		||||
   border = false;
 | 
			
		||||
   borderThickness = 0;
 | 
			
		||||
   borderColor = "40 231 240";
 | 
			
		||||
   fontColor = "40 231 240";
 | 
			
		||||
   fontColorHL = "40 231 240";
 | 
			
		||||
   fontColorNA = "128 128 128";
 | 
			
		||||
   textOffset = "0 2";
 | 
			
		||||
   autoSizeWidth = false;
 | 
			
		||||
   autoSizeHeight = true;
 | 
			
		||||
   tab = true;
 | 
			
		||||
   canKeyFocus = true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile (ChatHudTextProfile)
 | 
			
		||||
{
 | 
			
		||||
   opaque = false;
 | 
			
		||||
   fillColor = "255 255 255";
 | 
			
		||||
   fillColorHL = "128 128 128";
 | 
			
		||||
   border = false;
 | 
			
		||||
   borderThickness = 0;
 | 
			
		||||
   borderColor = "40 231 240";
 | 
			
		||||
   fontColor = "40 231 240";
 | 
			
		||||
   fontColorHL = "40 231 240";
 | 
			
		||||
   fontColorNA = "128 128 128";
 | 
			
		||||
   textOffset = "0 0";
 | 
			
		||||
   autoSizeWidth = true;
 | 
			
		||||
   autoSizeHeight = true;
 | 
			
		||||
   tab = true;
 | 
			
		||||
   canKeyFocus = true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile ("ChatHudMessageProfile")
 | 
			
		||||
{
 | 
			
		||||
   fontType = "Arial";
 | 
			
		||||
   fontSize = 16;
 | 
			
		||||
   fontColor = "44 172 181";      // default color (death msgs, scoring, inventory)
 | 
			
		||||
   fontColors[1] = "4 235 105";   // client join/drop, tournament mode
 | 
			
		||||
   fontColors[2] = "219 200 128"; // gameplay, admin/voting, pack/deployable
 | 
			
		||||
   fontColors[3] = "77 253 95";   // team chat, spam protection message, client tasks
 | 
			
		||||
   fontColors[4] = "40 231 240";  // global chat
 | 
			
		||||
   fontColors[5] = "200 200 50 200";  // used in single player game
 | 
			
		||||
   // WARNING! Colors 6-9 are reserved for name coloring 
 | 
			
		||||
   autoSizeWidth = true;
 | 
			
		||||
   autoSizeHeight = true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile ("ChatHudScrollProfile")
 | 
			
		||||
{
 | 
			
		||||
   opaque = false;
 | 
			
		||||
   border = false;
 | 
			
		||||
   borderColor = "0 255 0";
 | 
			
		||||
   bitmap = "common/ui/darkScroll";
 | 
			
		||||
   hasBitmapArray = true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Common Hud profiles
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile ("HudScrollProfile")
 | 
			
		||||
{
 | 
			
		||||
   opaque = false;
 | 
			
		||||
   border = true;
 | 
			
		||||
   borderColor = "0 255 0";
 | 
			
		||||
   bitmap = "common/ui/darkScroll";
 | 
			
		||||
   hasBitmapArray = true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile ("HudTextProfile")
 | 
			
		||||
{
 | 
			
		||||
   opaque = false;
 | 
			
		||||
   fillColor = "128 128 128";
 | 
			
		||||
   fontColor = "0 255 0";
 | 
			
		||||
   border = true;
 | 
			
		||||
   borderColor = "0 255 0";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile ("ChatHudBorderProfile")
 | 
			
		||||
{
 | 
			
		||||
   bitmap = "./chatHudBorderArray";
 | 
			
		||||
   hasBitmapArray = true;
 | 
			
		||||
   opaque = false;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Center and bottom print
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile ("CenterPrintProfile")
 | 
			
		||||
{
 | 
			
		||||
   opaque = false;
 | 
			
		||||
   fillColor = "128 128 128";
 | 
			
		||||
   fontColor = "0 255 0";
 | 
			
		||||
   border = true;
 | 
			
		||||
   borderColor = "0 255 0";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
new GuiControlProfile ("CenterPrintTextProfile")
 | 
			
		||||
{
 | 
			
		||||
   opaque = false;
 | 
			
		||||
   fontType = "Arial";
 | 
			
		||||
   fontSize = 12;
 | 
			
		||||
   fontColor = "0 255 0";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/demoCheck.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 304 B  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/demoMenu.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/demoRadio.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 528 B  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/demoScroll.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/demoWindow.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.5 KiB  | 
							
								
								
									
										3
									
								
								example/starter.racing/client/ui/disclaimer.dtx
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,3 @@
 | 
			
		||||
<lmargin%:6><rmargin%:94><font:Arial:16>Thank you for checking out the GarageGames Community Project - Realm Wars.
 | 
			
		||||
 | 
			
		||||
Realm Wars is a work in progress.  If you are a game player looking for an epic multiplayer fantasy action game, stay tuned at <a:www.garagegames.com>GarageGames</a> for information about the progress of Realm Wars.  If you are a game developer (or aspiring to be one) and want to contribute to the project, <a:www.garagegames.com/mg/projects/realmwars/>click here</a> to get involved.
 | 
			
		||||
							
								
								
									
										71
									
								
								example/starter.racing/client/ui/endGameGui.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,71 @@
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiChunkedBitmapCtrl(EndGameGui) {
 | 
			
		||||
   profile = "GuiContentProfile";
 | 
			
		||||
   horizSizing = "width";
 | 
			
		||||
   vertSizing = "height";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   helpTag = "0";
 | 
			
		||||
   bitmap = "./background";
 | 
			
		||||
   useVariable = "0";
 | 
			
		||||
   tile = "0";
 | 
			
		||||
 | 
			
		||||
   new GuiControl() {
 | 
			
		||||
      profile = "GuiWindowProfile";
 | 
			
		||||
      horizSizing = "center";
 | 
			
		||||
      vertSizing = "center";
 | 
			
		||||
      position = "92 86";
 | 
			
		||||
      extent = "455 308";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiMediumTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "101 15";
 | 
			
		||||
         extent = "251 28";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         text = "Game Over - Final Scores:";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiScrollCtrl() {
 | 
			
		||||
         profile = "GuiScrollProfile";
 | 
			
		||||
         horizSizing = "width";
 | 
			
		||||
         vertSizing = "height";
 | 
			
		||||
         position = "5 51";
 | 
			
		||||
         extent = "444 251";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         willFirstRespond = "1";
 | 
			
		||||
         hScrollBar = "alwaysOff";
 | 
			
		||||
         vScrollBar = "dynamic";
 | 
			
		||||
         constantThumbHeight = "0";
 | 
			
		||||
         childMargin = "0 0";
 | 
			
		||||
            defaultLineHeight = "15";
 | 
			
		||||
 | 
			
		||||
         new GuiTextListCtrl(EndGameGuiList) {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "width";
 | 
			
		||||
            vertSizing = "height";
 | 
			
		||||
            position = "2 2";
 | 
			
		||||
            extent = "440 16";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            enumerate = "0";
 | 
			
		||||
            resizeCell = "1";
 | 
			
		||||
            columns = "0 256";
 | 
			
		||||
            fitParentWidth = "1";
 | 
			
		||||
            clipColumnText = "0";
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/gglogo150.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 12 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/go.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 32 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/hudfill.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 510 B  | 
							
								
								
									
										439
									
								
								example/starter.racing/client/ui/joinServerGui.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,439 @@
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiChunkedBitmapCtrl(JoinServerGui) {
 | 
			
		||||
   profile = "GuiContentProfile";
 | 
			
		||||
   horizSizing = "width";
 | 
			
		||||
   vertSizing = "height";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   bitmap = "./background.jpg";
 | 
			
		||||
   useVariable = "0";
 | 
			
		||||
   tile = "0";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
 | 
			
		||||
   new GuiControl() {
 | 
			
		||||
      profile = "GuiWindowProfile";
 | 
			
		||||
      horizSizing = "center";
 | 
			
		||||
      vertSizing = "center";
 | 
			
		||||
      position = "60 80";
 | 
			
		||||
      extent = "520 320";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "14 59";
 | 
			
		||||
         extent = "24 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Server Name";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl(JS_queryMaster) {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "top";
 | 
			
		||||
         position = "216 289";
 | 
			
		||||
         extent = "90 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "Canvas.getContent().query();";
 | 
			
		||||
         text = "Query Master";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "PushButton";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl(JS_queryLan) {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "top";
 | 
			
		||||
         position = "114 289";
 | 
			
		||||
         extent = "90 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "Canvas.getContent().queryLan();";
 | 
			
		||||
         text = "Query LAN";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "PushButton";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl(JS_refreshServer) {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "top";
 | 
			
		||||
         position = "318 289";
 | 
			
		||||
         extent = "90 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "Canvas.getContent().refresh();";
 | 
			
		||||
         text = "Refresh Server";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "PushButton";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl(JS_joinServer) {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "top";
 | 
			
		||||
         position = "420 289";
 | 
			
		||||
         extent = "90 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "Canvas.getContent().join();";
 | 
			
		||||
         text = "Join Server!";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "PushButton";
 | 
			
		||||
            active = "0";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiScrollCtrl() {
 | 
			
		||||
         profile = "GuiScrollProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "10 92";
 | 
			
		||||
         extent = "500 186";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         willFirstRespond = "1";
 | 
			
		||||
         hScrollBar = "dynamic";
 | 
			
		||||
         vScrollBar = "alwaysOn";
 | 
			
		||||
         constantThumbHeight = "0";
 | 
			
		||||
         childMargin = "0 0";
 | 
			
		||||
            defaultLineHeight = "15";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
 | 
			
		||||
         new GuiTextListCtrl(JS_serverList) {
 | 
			
		||||
            profile = "GuiTextArrayProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "2 2";
 | 
			
		||||
            extent = "478 8";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            enumerate = "0";
 | 
			
		||||
            resizeCell = "1";
 | 
			
		||||
            columns = "0 305 370 500";
 | 
			
		||||
            fitParentWidth = "1";
 | 
			
		||||
            clipColumnText = "0";
 | 
			
		||||
               noDuplicates = "false";
 | 
			
		||||
               helpTag = "0";
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextEditCtrl() {
 | 
			
		||||
         profile = "GuiTextEditProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "98 34";
 | 
			
		||||
         extent = "134 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         variable = "pref::Player::Name";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
         historySize = "0";
 | 
			
		||||
         password = "0";
 | 
			
		||||
         tabComplete = "0";
 | 
			
		||||
         sinkAllKeyEvents = "0";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "12 30";
 | 
			
		||||
         extent = "63 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Player Name:";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "269 59";
 | 
			
		||||
         extent = "36 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Players";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "335 59";
 | 
			
		||||
         extent = "38 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Version";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "412 59";
 | 
			
		||||
         extent = "28 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Game";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "212 59";
 | 
			
		||||
         extent = "20 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Ping";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "72 59";
 | 
			
		||||
         extent = "63 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Server Name";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl() {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "top";
 | 
			
		||||
         position = "12 289";
 | 
			
		||||
         extent = "90 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "Canvas.getContent().exit();";
 | 
			
		||||
         text = "<< Back";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "PushButton";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiControl(JS_queryStatus) {
 | 
			
		||||
         profile = "GuiWindowProfile";
 | 
			
		||||
         horizSizing = "center";
 | 
			
		||||
         vertSizing = "center";
 | 
			
		||||
         position = "105 135";
 | 
			
		||||
         extent = "310 50";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "0";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
 | 
			
		||||
         new GuiButtonCtrl(JS_cancelQuery) {
 | 
			
		||||
            profile = "GuiButtonProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "9 15";
 | 
			
		||||
            extent = "64 20";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            command = "Canvas.getContent().cancel();";
 | 
			
		||||
            text = "Cancel!";
 | 
			
		||||
            groupNum = "-1";
 | 
			
		||||
            buttonType = "PushButton";
 | 
			
		||||
               helpTag = "0";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiProgressCtrl(JS_statusBar) {
 | 
			
		||||
            profile = "GuiProgressProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "84 15";
 | 
			
		||||
            extent = "207 20";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
               helpTag = "0";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiTextCtrl(JS_statusText) {
 | 
			
		||||
            profile = "GuiProgressTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "85 14";
 | 
			
		||||
            extent = "205 20";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
               helpTag = "0";
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextCtrl(JS_status) {
 | 
			
		||||
         profile = "GuiBigTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "243 14";
 | 
			
		||||
         extent = "266 40";
 | 
			
		||||
         minExtent = "266 40";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function JoinServerGui::onWake()
 | 
			
		||||
{
 | 
			
		||||
   // Double check the status. Tried setting this the control
 | 
			
		||||
   // inactive to start with, but that didn't seem to work.
 | 
			
		||||
   JS_joinServer.setActive(JS_serverList.rowCount() > 0);
 | 
			
		||||
}   
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function JoinServerGui::query(%this)
 | 
			
		||||
{
 | 
			
		||||
   queryMasterServer(
 | 
			
		||||
      0,          // Query flags
 | 
			
		||||
      $Client::GameTypeQuery,       // gameTypes
 | 
			
		||||
      $Client::MissionTypeQuery,    // missionType
 | 
			
		||||
      0,          // minPlayers
 | 
			
		||||
      100,        // maxPlayers
 | 
			
		||||
      0,          // maxBots
 | 
			
		||||
      2,          // regionMask
 | 
			
		||||
      0,          // maxPing
 | 
			
		||||
      100,        // minCPU
 | 
			
		||||
      0           // filterFlags
 | 
			
		||||
      );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function JoinServerGui::queryLan(%this)
 | 
			
		||||
{
 | 
			
		||||
   queryLANServers(
 | 
			
		||||
      28000,      // lanPort for local queries
 | 
			
		||||
      0,          // Query flags
 | 
			
		||||
      $Client::GameTypeQuery,       // gameTypes
 | 
			
		||||
      $Client::MissionTypeQuery,    // missionType
 | 
			
		||||
      0,          // minPlayers
 | 
			
		||||
      100,        // maxPlayers
 | 
			
		||||
      0,          // maxBots
 | 
			
		||||
      2,          // regionMask
 | 
			
		||||
      0,          // maxPing
 | 
			
		||||
      100,        // minCPU
 | 
			
		||||
      0           // filterFlags
 | 
			
		||||
      );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function JoinServerGui::cancel(%this)
 | 
			
		||||
{
 | 
			
		||||
   cancelServerQuery();
 | 
			
		||||
   JS_queryStatus.setVisible(false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function JoinServerGui::join(%this)
 | 
			
		||||
{
 | 
			
		||||
   cancelServerQuery();
 | 
			
		||||
   %id = JS_serverList.getSelectedId();
 | 
			
		||||
 | 
			
		||||
   // The server info index is stored in the row along with the
 | 
			
		||||
   // rest of displayed info.
 | 
			
		||||
   %index = getField(JS_serverList.getRowTextById(%id),3);
 | 
			
		||||
   if (setServerInfo(%index)) {
 | 
			
		||||
      %conn = new GameConnection(ServerConnection);
 | 
			
		||||
      %conn.setConnectArgs($pref::Player::Name);
 | 
			
		||||
      %conn.setJoinPassword($Client::Password);
 | 
			
		||||
      %conn.connect($ServerInfo::Address);
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function JoinServerGui::refresh(%this)
 | 
			
		||||
{
 | 
			
		||||
   cancelServerQuery();
 | 
			
		||||
   %id = JS_serverList.getSelectedId();
 | 
			
		||||
 | 
			
		||||
   // The server info index is stored in the row along with the
 | 
			
		||||
   // rest of displayed info.
 | 
			
		||||
   %index = getField(JS_serverList.getRowTextById(%id),3);
 | 
			
		||||
   if (setServerInfo(%index)) {
 | 
			
		||||
      querySingleServer( $ServerInfo::Address, 0 );
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function JoinServerGui::refreshSelectedServer( %this )
 | 
			
		||||
{
 | 
			
		||||
   querySingleServer( $JoinGameAddress, 0 );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function JoinServerGui::exit(%this)
 | 
			
		||||
{
 | 
			
		||||
   cancelServerQuery();
 | 
			
		||||
   Canvas.setContent(mainMenuGui);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function JoinServerGui::update(%this)
 | 
			
		||||
{
 | 
			
		||||
   // Copy the servers into the server list.
 | 
			
		||||
   JS_queryStatus.setVisible(false);
 | 
			
		||||
   JS_serverList.clear();
 | 
			
		||||
   %sc = getServerCount();
 | 
			
		||||
   for (%i = 0; %i < %sc; %i++) {
 | 
			
		||||
      setServerInfo(%i);
 | 
			
		||||
      JS_serverList.addRow(%i,
 | 
			
		||||
         $ServerInfo::Name TAB
 | 
			
		||||
         $ServerInfo::Ping TAB
 | 
			
		||||
         $ServerInfo::PlayerCount @ "/" @ $ServerInfo::MaxPlayers TAB
 | 
			
		||||
         %i);  // ServerInfo index stored also
 | 
			
		||||
   }
 | 
			
		||||
   JS_serverList.sort(0);
 | 
			
		||||
   JS_serverList.setSelectedRow(0);
 | 
			
		||||
   JS_serverList.scrollVisible(0);
 | 
			
		||||
 | 
			
		||||
   JS_joinServer.setActive(JS_serverList.rowCount() > 0);
 | 
			
		||||
} 
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function onServerQueryStatus(%status, %msg, %value)
 | 
			
		||||
{
 | 
			
		||||
	echo("ServerQuery: " SPC %status SPC %msg SPC %value);
 | 
			
		||||
   // Update query status
 | 
			
		||||
   // States: start, update, ping, query, done
 | 
			
		||||
   // value = % (0-1) done for ping and query states
 | 
			
		||||
   if (!JS_queryStatus.isVisible())
 | 
			
		||||
      JS_queryStatus.setVisible(true);
 | 
			
		||||
 | 
			
		||||
   switch$ (%status) {
 | 
			
		||||
      case "start":
 | 
			
		||||
         JS_joinServer.setActive(false);
 | 
			
		||||
         JS_queryMaster.setActive(false);
 | 
			
		||||
         JS_statusText.setText(%msg);
 | 
			
		||||
         JS_statusBar.setValue(0);
 | 
			
		||||
         JS_serverList.clear();
 | 
			
		||||
 | 
			
		||||
      case "ping":
 | 
			
		||||
         JS_statusText.setText("Ping Servers");
 | 
			
		||||
         JS_statusBar.setValue(%value);
 | 
			
		||||
 | 
			
		||||
      case "query":
 | 
			
		||||
         JS_statusText.setText("Query Servers");
 | 
			
		||||
         JS_statusBar.setValue(%value);
 | 
			
		||||
 | 
			
		||||
      case "done":
 | 
			
		||||
         JS_queryMaster.setActive(true);
 | 
			
		||||
         JS_queryStatus.setVisible(false);
 | 
			
		||||
         JS_status.setText(%msg);
 | 
			
		||||
         JoinServerGui.update();
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/lagIcon.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.9 KiB  | 
							
								
								
									
										99
									
								
								example/starter.racing/client/ui/loadingGui.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,99 @@
 | 
			
		||||
new GuiControlProfile ("LoadingGuiContentProfile")
 | 
			
		||||
{
 | 
			
		||||
   opaque = true;
 | 
			
		||||
   fillColor = "200 200 200";
 | 
			
		||||
   border = true;
 | 
			
		||||
   borderColor   = "0 0 0";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiChunkedBitmapCtrl(LoadingGui) {
 | 
			
		||||
   profile = "GuiContentProfile";
 | 
			
		||||
   horizSizing = "width";
 | 
			
		||||
   vertSizing = "height";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   bitmap = "./background";
 | 
			
		||||
   useVariable = "0";
 | 
			
		||||
   tile = "0";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
      qLineCount = "0";
 | 
			
		||||
 | 
			
		||||
   new GuiControl() {
 | 
			
		||||
      profile = "GuiWindowProfile";
 | 
			
		||||
      horizSizing = "center";
 | 
			
		||||
      vertSizing = "center";
 | 
			
		||||
      position = "92 86";
 | 
			
		||||
      extent = "455 308";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
 | 
			
		||||
      new GuiTextCtrl(LOAD_MapName) {
 | 
			
		||||
         profile = "GuiMediumTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "7 6";
 | 
			
		||||
         extent = "8 28";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Map Name";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiMLTextCtrl(LOAD_MapDescription) {
 | 
			
		||||
         profile = "GuiMLTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "7 62";
 | 
			
		||||
         extent = "440 14";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         lineSpacing = "2";
 | 
			
		||||
         allowColorChars = "0";
 | 
			
		||||
         maxChars = "-1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiProgressCtrl(LoadingProgress) {
 | 
			
		||||
         profile = "GuiProgressProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "top";
 | 
			
		||||
         position = "128 262";
 | 
			
		||||
         extent = "262 25";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
 | 
			
		||||
         new GuiTextCtrl(LoadingProgressTxt) {
 | 
			
		||||
            profile = "GuiProgressTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "-4 3";
 | 
			
		||||
            extent = "262 20";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            text = "LOADING MISSION";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
               helpTag = "0";
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl() {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "top";
 | 
			
		||||
         position = "58 262";
 | 
			
		||||
         extent = "65 25";
 | 
			
		||||
         minExtent = "20 20";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "disconnect();";
 | 
			
		||||
         accelerator = "escape";
 | 
			
		||||
         text = "Cancel!";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "PushButton";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
							
								
								
									
										89
									
								
								example/starter.racing/client/ui/mainMenuGui.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,89 @@
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiChunkedBitmapCtrl(MainMenuGui) {
 | 
			
		||||
   profile = "GuiContentProfile";
 | 
			
		||||
   horizSizing = "width";
 | 
			
		||||
   vertSizing = "height";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   bitmap = "./background";
 | 
			
		||||
   useVariable = "0";
 | 
			
		||||
   tile = "0";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
 | 
			
		||||
   new GuiButtonCtrl() {
 | 
			
		||||
      profile = "GuiButtonProfile";
 | 
			
		||||
      horizSizing = "right";
 | 
			
		||||
      vertSizing = "top";
 | 
			
		||||
      position = "36 413";
 | 
			
		||||
      extent = "110 20";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      command = "quit();";
 | 
			
		||||
      text = "Quit!";
 | 
			
		||||
      groupNum = "-1";
 | 
			
		||||
      buttonType = "PushButton";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
   };
 | 
			
		||||
   new GuiButtonCtrl() {
 | 
			
		||||
      profile = "GuiButtonProfile";
 | 
			
		||||
      horizSizing = "right";
 | 
			
		||||
      vertSizing = "top";
 | 
			
		||||
      position = "36 237";
 | 
			
		||||
      extent = "110 20";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      command = "Canvas.setContent(startMissionGui);";
 | 
			
		||||
      text = "Start Mission...";
 | 
			
		||||
      groupNum = "-1";
 | 
			
		||||
      buttonType = "PushButton";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
   };
 | 
			
		||||
   new GuiButtonCtrl() {
 | 
			
		||||
      profile = "GuiButtonProfile";
 | 
			
		||||
      horizSizing = "right";
 | 
			
		||||
      vertSizing = "top";
 | 
			
		||||
      position = "36 264";
 | 
			
		||||
      extent = "110 20";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      command = "Canvas.setContent(JoinServerGui);";
 | 
			
		||||
      text = "Join Server...";
 | 
			
		||||
      groupNum = "-1";
 | 
			
		||||
      buttonType = "PushButton";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
   };
 | 
			
		||||
   new GuiButtonCtrl() {
 | 
			
		||||
      profile = "GuiButtonProfile";
 | 
			
		||||
      horizSizing = "right";
 | 
			
		||||
      vertSizing = "top";
 | 
			
		||||
      position = "36 291";
 | 
			
		||||
      extent = "110 20";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      command = "Canvas.pushDialog(optionsDlg);";
 | 
			
		||||
      text = "Options...";
 | 
			
		||||
      groupNum = "-1";
 | 
			
		||||
      buttonType = "PushButton";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
   };
 | 
			
		||||
   new GuiButtonCtrl() {
 | 
			
		||||
      profile = "GuiButtonProfile";
 | 
			
		||||
      horizSizing = "right";
 | 
			
		||||
      vertSizing = "top";
 | 
			
		||||
      position = "36 318";
 | 
			
		||||
      extent = "110 20";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      command = "getHelp(\"1. About\");";
 | 
			
		||||
      text = "About...";
 | 
			
		||||
      groupNum = "-1";
 | 
			
		||||
      buttonType = "PushButton";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										433
									
								
								example/starter.racing/client/ui/optionsDlg.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,433 @@
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiControl(optionsDlg) {
 | 
			
		||||
   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 = "131 88";
 | 
			
		||||
      extent = "377 303";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
      text = "Options";
 | 
			
		||||
      maxLength = "255";
 | 
			
		||||
      resizeWidth = "0";
 | 
			
		||||
      resizeHeight = "0";
 | 
			
		||||
      canMove = "1";
 | 
			
		||||
      canClose = "1";
 | 
			
		||||
      canMinimize = "0";
 | 
			
		||||
      canMaximize = "0";
 | 
			
		||||
      minSize = "50 50";
 | 
			
		||||
      closeCommand = "Canvas.popDialog(optionsDlg);";
 | 
			
		||||
 | 
			
		||||
      new GuiButtonCtrl() {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "305 270";
 | 
			
		||||
         extent = "60 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "Canvas.popDialog(optionsDlg);";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         text = "OK";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "PushButton";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl(OptGraphicsButton) {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "9 28";
 | 
			
		||||
         extent = "117 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "optionsDlg.setPane(Graphics);";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         text = "Graphics";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "RadioButton";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl() {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "129 28";
 | 
			
		||||
         extent = "117 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "optionsDlg.setPane(Audio);";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         text = "Audio";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "RadioButton";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiControl(OptControlsPane) {
 | 
			
		||||
         profile = "GuiWindowProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "9 55";
 | 
			
		||||
         extent = "357 208";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "0";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
 | 
			
		||||
         new GuiScrollCtrl() {
 | 
			
		||||
            profile = "GuiScrollProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "0 26";
 | 
			
		||||
            extent = "357 182";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            willFirstRespond = "1";
 | 
			
		||||
            hScrollBar = "alwaysOff";
 | 
			
		||||
            vScrollBar = "alwaysOn";
 | 
			
		||||
            constantThumbHeight = "0";
 | 
			
		||||
            childMargin = "0 0";
 | 
			
		||||
               defaultLineHeight = "15";
 | 
			
		||||
 | 
			
		||||
            new GuiTextListCtrl(OptRemapList) {
 | 
			
		||||
               profile = "GuiTextListProfile";
 | 
			
		||||
               horizSizing = "right";
 | 
			
		||||
               vertSizing = "bottom";
 | 
			
		||||
               position = "2 2";
 | 
			
		||||
               extent = "337 8";
 | 
			
		||||
               minExtent = "8 8";
 | 
			
		||||
               visible = "1";
 | 
			
		||||
               altCommand = "OptRemapList.doRemap();";
 | 
			
		||||
               helpTag = "0";
 | 
			
		||||
               enumerate = "0";
 | 
			
		||||
               resizeCell = "1";
 | 
			
		||||
               columns = "0 160";
 | 
			
		||||
               fitParentWidth = "1";
 | 
			
		||||
               clipColumnText = "0";
 | 
			
		||||
            };
 | 
			
		||||
         };
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "5 2";
 | 
			
		||||
            extent = "64 18";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Control Name";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "166 2";
 | 
			
		||||
            extent = "72 18";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Control Binding";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl() {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "249 28";
 | 
			
		||||
         extent = "117 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "optionsDlg.setPane(Controls);";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         text = "Controls";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "RadioButton";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiControl(OptAudioPane) {
 | 
			
		||||
         profile = "GuiWindowProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "9 55";
 | 
			
		||||
         extent = "357 208";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "0";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
 | 
			
		||||
         new GuiSliderCtrl(OptAudioVolumeSim) {
 | 
			
		||||
            profile = "GuiSliderProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "107 172";
 | 
			
		||||
            extent = "240 34";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            variable = "value";
 | 
			
		||||
            altCommand = "OptAudioUpdateChannelVolume($SimAudioType, OptAudioVolumeSim.value);";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            range = "0.000000 1.000000";
 | 
			
		||||
            ticks = "8";
 | 
			
		||||
            value = "0.8";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "11 94";
 | 
			
		||||
            extent = "72 18";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Master Volume";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "22 132";
 | 
			
		||||
            extent = "62 18";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Shell Volume";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "28 169";
 | 
			
		||||
            extent = "56 18";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Sim Volume";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiSliderCtrl(OptAudioVolumeMaster) {
 | 
			
		||||
            profile = "GuiSliderProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "106 98";
 | 
			
		||||
            extent = "240 34";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            variable = "value";
 | 
			
		||||
            altCommand = "OptAudioUpdateMasterVolume(OptAudioVolumeMaster.value);";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            range = "0.000000 1.000000";
 | 
			
		||||
            ticks = "8";
 | 
			
		||||
            value = "0.852174";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiSliderCtrl(OptAudioVolumeShell) {
 | 
			
		||||
            profile = "GuiSliderProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "106 135";
 | 
			
		||||
            extent = "240 34";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            variable = "value";
 | 
			
		||||
            altCommand = "OptAudioUpdateChannelVolume($GuiAudioType, OptAudioVolumeShell.value);";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            range = "0.000000 1.000000";
 | 
			
		||||
            ticks = "8";
 | 
			
		||||
            value = "0.8";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiMLTextCtrl(OptAudioInfo) {
 | 
			
		||||
            profile = "GuiMLTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "149 10";
 | 
			
		||||
            extent = "190 14";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            lineSpacing = "2";
 | 
			
		||||
            allowColorChars = "0";
 | 
			
		||||
            maxChars = "-1";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiPopUpMenuCtrl(OptAudioDriverList) {
 | 
			
		||||
            profile = "GuiPopUpMenuProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "10 32";
 | 
			
		||||
            extent = "120 20";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
            maxPopupHeight = "200";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "11 9";
 | 
			
		||||
            extent = "63 18";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Audio Driver:";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
      new GuiControl(OptGraphicsPane) {
 | 
			
		||||
         profile = "GuiWindowProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "9 55";
 | 
			
		||||
         extent = "357 208";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "21 10";
 | 
			
		||||
            extent = "70 18";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Display Driver:";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "21 34";
 | 
			
		||||
            extent = "53 18";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Resolution:";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiCheckBoxCtrl(OptGraphicsFullscreenToggle) {
 | 
			
		||||
            profile = "GuiCheckBoxProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "21 120";
 | 
			
		||||
            extent = "137 25";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            variable = "$pref::Video::fullScreen";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Fullscreen Video";
 | 
			
		||||
            groupNum = "-1";
 | 
			
		||||
            buttonType = "ToggleButton";
 | 
			
		||||
               maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiButtonCtrl() {
 | 
			
		||||
            profile = "GuiButtonProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "149 171";
 | 
			
		||||
            extent = "78 23";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            command = "optionsDlg.applyGraphics();";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Apply";
 | 
			
		||||
            groupNum = "-1";
 | 
			
		||||
            buttonType = "PushButton";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiPopUpMenuCtrl(OptGraphicsDriverMenu) {
 | 
			
		||||
            profile = "GuiPopUpMenuProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "113 10";
 | 
			
		||||
            extent = "130 23";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
            maxPopupHeight = "200";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiPopUpMenuCtrl(OptGraphicsResolutionMenu) {
 | 
			
		||||
            profile = "GuiPopUpMenuProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "113 36";
 | 
			
		||||
            extent = "130 23";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
            maxPopupHeight = "200";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "21 60";
 | 
			
		||||
            extent = "46 18";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Bit Depth:";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiPopUpMenuCtrl(OptGraphicsBPPMenu) {
 | 
			
		||||
            profile = "GuiPopUpMenuProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "113 62";
 | 
			
		||||
            extent = "130 23";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
            maxPopupHeight = "200";
 | 
			
		||||
         };
 | 
			
		||||
	 new GuiTextCtrl() {
 | 
			
		||||
            profile = "GuiTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "21 86";
 | 
			
		||||
            extent = "59 18";
 | 
			
		||||
            minExtent = "8 2";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Screenshot:";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiPopUpMenuCtrl(OptScreenshotMenu) {
 | 
			
		||||
            profile = "GuiPopUpMenuProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "113 88";
 | 
			
		||||
            extent = "130 23";
 | 
			
		||||
            minExtent = "8 2";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
            maxPopupHeight = "200";
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
      new GuiControl(OptNetworkPane) {
 | 
			
		||||
         profile = "GuiWindowProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "9 55";
 | 
			
		||||
         extent = "357 208";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "0";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
							
								
								
									
										136
									
								
								example/starter.racing/client/ui/playGui.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,136 @@
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GameTSCtrl(PlayGui) {
 | 
			
		||||
   canSaveDynamicFields = "1";
 | 
			
		||||
   profile = "GuiContentProfile";
 | 
			
		||||
   horizSizing = "right";
 | 
			
		||||
   vertSizing = "bottom";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   cameraZRot = "0";
 | 
			
		||||
   forceFOV = "0";
 | 
			
		||||
   noCursor = "1";
 | 
			
		||||
 | 
			
		||||
   new GuiBitmapCtrl(CenterPrintDlg) {
 | 
			
		||||
      profile = "CenterPrintProfile";
 | 
			
		||||
      horizSizing = "center";
 | 
			
		||||
      vertSizing = "center";
 | 
			
		||||
      position = "45 230";
 | 
			
		||||
      extent = "550 20";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "0";
 | 
			
		||||
      bitmap = "./hudfill.png";
 | 
			
		||||
      wrap = "0";
 | 
			
		||||
 | 
			
		||||
      new GuiMLTextCtrl(CenterPrintText) {
 | 
			
		||||
         profile = "CenterPrintTextProfile";
 | 
			
		||||
         horizSizing = "center";
 | 
			
		||||
         vertSizing = "center";
 | 
			
		||||
         position = "0 0";
 | 
			
		||||
         extent = "546 12";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         lineSpacing = "2";
 | 
			
		||||
         allowColorChars = "0";
 | 
			
		||||
         maxChars = "-1";
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
   new GuiBitmapCtrl(BottomPrintDlg) {
 | 
			
		||||
      profile = "CenterPrintProfile";
 | 
			
		||||
      horizSizing = "center";
 | 
			
		||||
      vertSizing = "top";
 | 
			
		||||
      position = "45 375";
 | 
			
		||||
      extent = "550 20";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "0";
 | 
			
		||||
      bitmap = "./hudfill.png";
 | 
			
		||||
      wrap = "0";
 | 
			
		||||
 | 
			
		||||
      new GuiMLTextCtrl(BottomPrintText) {
 | 
			
		||||
         profile = "CenterPrintTextProfile";
 | 
			
		||||
         horizSizing = "center";
 | 
			
		||||
         vertSizing = "center";
 | 
			
		||||
         position = "0 0";
 | 
			
		||||
         extent = "546 12";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         lineSpacing = "2";
 | 
			
		||||
         allowColorChars = "0";
 | 
			
		||||
         maxChars = "-1";
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
   new GuiBitmapCtrl(LagIcon) {
 | 
			
		||||
      profile = "GuiDefaultProfile";
 | 
			
		||||
      horizSizing = "right";
 | 
			
		||||
      vertSizing = "bottom";
 | 
			
		||||
      position = "572 3";
 | 
			
		||||
      extent = "32 32";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "0";
 | 
			
		||||
      bitmap = "./lagIcon.png";
 | 
			
		||||
      wrap = "0";
 | 
			
		||||
   };
 | 
			
		||||
   new GuiShapeNameHud() {
 | 
			
		||||
      profile = "GuiDefaultProfile";
 | 
			
		||||
      horizSizing = "width";
 | 
			
		||||
      vertSizing = "height";
 | 
			
		||||
      position = "2 -1";
 | 
			
		||||
      extent = "653 485";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      fillColor = "0.000000 0.000000 0.000000 0.250000";
 | 
			
		||||
      frameColor = "0.000000 1.000000 0.000000 1.000000";
 | 
			
		||||
      textColor = "0.000000 1.000000 0.000000 1.000000";
 | 
			
		||||
      showFill = "0";
 | 
			
		||||
      showFrame = "0";
 | 
			
		||||
      verticalOffset = "0.2";
 | 
			
		||||
      distanceFade = "0.1";
 | 
			
		||||
         damageFrameColor = "1.000000 0.600000 0.000000 1.000000";
 | 
			
		||||
         damageRect = "30 4";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         damageFillColor = "0.000000 1.000000 0.000000 1.000000";
 | 
			
		||||
   };
 | 
			
		||||
   new GuiSpeedometerHud() {
 | 
			
		||||
      profile = "GuiDefaultProfile";
 | 
			
		||||
      horizSizing = "left";
 | 
			
		||||
      vertSizing = "top";
 | 
			
		||||
      position = "440 280";
 | 
			
		||||
      extent = "200 200";
 | 
			
		||||
      minExtent = "8 2";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      bitmap = "./speedometer";
 | 
			
		||||
      wrap = "0";
 | 
			
		||||
      maxSpeed = "100";
 | 
			
		||||
      minAngle = "215";
 | 
			
		||||
      maxAngle = "0";
 | 
			
		||||
      color = "1.000000 0.300000 0.300000 1.000000";
 | 
			
		||||
      center = "130.000000 123.000000";
 | 
			
		||||
      length = "100";
 | 
			
		||||
      width = "2";
 | 
			
		||||
      tail = "0";
 | 
			
		||||
   };
 | 
			
		||||
   new GuiBitmapCtrl(counter) {
 | 
			
		||||
      profile = "GuiDefaultProfile";
 | 
			
		||||
      horizSizing = "center";
 | 
			
		||||
      vertSizing = "center";
 | 
			
		||||
      position = "130 110";
 | 
			
		||||
      extent = "380 260";
 | 
			
		||||
      minExtent = "8 2";
 | 
			
		||||
      visible = "0";
 | 
			
		||||
      bitmap = "./hud/go.png";
 | 
			
		||||
      wrap = "0";
 | 
			
		||||
   };
 | 
			
		||||
   new GuiTextCtrl(LapCounter) {
 | 
			
		||||
      profile = "GuiBigTextProfile";
 | 
			
		||||
      horizSizing = "left";
 | 
			
		||||
      vertSizing = "bottom";
 | 
			
		||||
      position = "450 5";
 | 
			
		||||
      extent = "170 39";
 | 
			
		||||
      minExtent = "8 2";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      text = "Laps: 0";
 | 
			
		||||
      maxLength = "255";
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
							
								
								
									
										148
									
								
								example/starter.racing/client/ui/playerList.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,148 @@
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
// Torque Game Engine
 | 
			
		||||
// 
 | 
			
		||||
// Copyright (c) 2001 GarageGames.Com
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiControl(PlayerListGui) {
 | 
			
		||||
   profile = "GuiModelessDialogProfile";
 | 
			
		||||
   horizSizing = "right";
 | 
			
		||||
   vertSizing = "bottom";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   helpTag = "0";
 | 
			
		||||
      noCursor = "1";
 | 
			
		||||
 | 
			
		||||
   new GuiBitmapBorderCtrl() {
 | 
			
		||||
      profile = "GuiBitmapBorderProfile";
 | 
			
		||||
      horizSizing = "center";
 | 
			
		||||
      vertSizing = "center";
 | 
			
		||||
      position = "241 119";
 | 
			
		||||
      extent = "158 242";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
 | 
			
		||||
      new GuiBitmapCtrl() {
 | 
			
		||||
         profile = "HudScrollProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "5 5";
 | 
			
		||||
         extent = "147 231";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         bitmap = "./hudfill.png";
 | 
			
		||||
         wrap = "0";
 | 
			
		||||
 | 
			
		||||
         new GuiTextCtrl() {
 | 
			
		||||
            profile = "HudTextProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "37 2";
 | 
			
		||||
            extent = "76 20";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            text = "Score Board";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
         };
 | 
			
		||||
         new GuiScrollCtrl() {
 | 
			
		||||
            profile = "HudScrollProfile";
 | 
			
		||||
            horizSizing = "width";
 | 
			
		||||
            vertSizing = "height";
 | 
			
		||||
            position = "0 24";
 | 
			
		||||
            extent = "147 207";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            willFirstRespond = "1";
 | 
			
		||||
            hScrollBar = "alwaysOff";
 | 
			
		||||
            vScrollBar = "dynamic";
 | 
			
		||||
            constantThumbHeight = "0";
 | 
			
		||||
            childMargin = "0 0";
 | 
			
		||||
               defaultLineHeight = "15";
 | 
			
		||||
 | 
			
		||||
            new GuiTextListCtrl(PlayerListGuiList) {
 | 
			
		||||
               profile = "HudTextProfile";
 | 
			
		||||
               horizSizing = "width";
 | 
			
		||||
               vertSizing = "height";
 | 
			
		||||
               position = "1 1";
 | 
			
		||||
               extent = "145 16";
 | 
			
		||||
               minExtent = "8 8";
 | 
			
		||||
               visible = "1";
 | 
			
		||||
               helpTag = "0";
 | 
			
		||||
               enumerate = "0";
 | 
			
		||||
               resizeCell = "1";
 | 
			
		||||
               columns = "0 120";
 | 
			
		||||
               fitParentWidth = "1";
 | 
			
		||||
               clipColumnText = "0";
 | 
			
		||||
            };
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
 | 
			
		||||
function PlayerListGui::update(%this,%clientId,%name,%isSuperAdmin,%isAdmin,%isAI,%score)
 | 
			
		||||
{
 | 
			
		||||
   // Build the row to display.  The name can have ML control tags,
 | 
			
		||||
   // including color and font.  Since we're not using and
 | 
			
		||||
   // ML control here, we need to strip them off.
 | 
			
		||||
   %tag = %isSuperAdmin? "[Super]":
 | 
			
		||||
          (%isAdmin? "[Admin]":
 | 
			
		||||
          (%isAI? "[Bot]":
 | 
			
		||||
          ""));
 | 
			
		||||
   %text = StripMLControlChars(%name) SPC %tag TAB %score;
 | 
			
		||||
 | 
			
		||||
   // Update or add the player to the control
 | 
			
		||||
   if (PlayerListGuiList.getRowNumById(%clientId) == -1)
 | 
			
		||||
      PlayerListGuiList.addRow(%clientId, %text);
 | 
			
		||||
   else
 | 
			
		||||
      PlayerListGuiList.setRowById(%clientId, %text);
 | 
			
		||||
 | 
			
		||||
   // Sorts by score
 | 
			
		||||
   PlayerListGuiList.sortNumerical(1,false);
 | 
			
		||||
   PlayerListGuiList.clearSelection();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function PlayerListGui::updateScore(%this,%clientId,%score)
 | 
			
		||||
{
 | 
			
		||||
   %text = PlayerListGuiList.getRowTextById(%clientId);
 | 
			
		||||
   %text = setField(%text,1,%score);
 | 
			
		||||
   PlayerListGuiList.setRowById(%clientId, %text);
 | 
			
		||||
   PlayerListGuiList.sortNumerical(1,false);
 | 
			
		||||
   PlayerListGuiList.clearSelection();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function PlayerListGui::remove(%this,%clientId)
 | 
			
		||||
{
 | 
			
		||||
   PlayerListGuiList.removeRowById(%clientId);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function PlayerListGui::toggle(%this)
 | 
			
		||||
{
 | 
			
		||||
   if (%this.isAwake())
 | 
			
		||||
      Canvas.popDialog(%this);
 | 
			
		||||
   else
 | 
			
		||||
      Canvas.pushDialog(%this);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function PlayerListGui::clear(%this)
 | 
			
		||||
{
 | 
			
		||||
   // Override to clear the list.
 | 
			
		||||
   PlayerListGuiList.clear();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function PlayerListGui::zeroScores(%this)
 | 
			
		||||
{
 | 
			
		||||
   for (%i = 0; %i < PlayerListGuiList.rowCount(); %i++) {
 | 
			
		||||
      %text = PlayerListGuiList.getRowText(%i);
 | 
			
		||||
      %text = setField(%text,1,"0");
 | 
			
		||||
      PlayerListGuiList.setRowById(PlayerListGuiList.getRowId(%i), %text);
 | 
			
		||||
   }
 | 
			
		||||
   PlayerListGuiList.clearSelection();
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										46
									
								
								example/starter.racing/client/ui/remapDlg.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,46 @@
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiControl(RemapDlg) {
 | 
			
		||||
   profile = "GuiDialogProfile";
 | 
			
		||||
   horizSizing = "right";
 | 
			
		||||
   vertSizing = "bottom";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   helpTag = "0";
 | 
			
		||||
 | 
			
		||||
   new GuiControl(OptRemapDlg) {
 | 
			
		||||
      profile = "GuiWindowProfile";
 | 
			
		||||
      horizSizing = "center";
 | 
			
		||||
      vertSizing = "center";
 | 
			
		||||
      position = "213 213";
 | 
			
		||||
      extent = "243 64";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
 | 
			
		||||
      new GuiTextCtrl(OptRemapText) {
 | 
			
		||||
         profile = "GuiCenterTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "2 21";
 | 
			
		||||
         extent = "99 20";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
         text = "Re-bind control...";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
      };
 | 
			
		||||
		new GuiInputCtrl(OptRemapInputCtrl) {
 | 
			
		||||
			profile = "GuiInputCtrlProfile";
 | 
			
		||||
			horizSizing = "center";
 | 
			
		||||
			vertSizing = "bottom";
 | 
			
		||||
			position = "0 0";
 | 
			
		||||
			extent = "64 64";
 | 
			
		||||
			minExtent = "8 8";
 | 
			
		||||
			visible = "1";
 | 
			
		||||
			helpTag = "0";
 | 
			
		||||
		};
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/seperator.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/starter.racing/client/ui/speedometer.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 30 KiB  | 
							
								
								
									
										218
									
								
								example/starter.racing/client/ui/startMissionGui.gui
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,218 @@
 | 
			
		||||
//--- OBJECT WRITE BEGIN ---
 | 
			
		||||
new GuiChunkedBitmapCtrl(startMissionGui) {
 | 
			
		||||
   profile = "GuiContentProfile";
 | 
			
		||||
   horizSizing = "width";
 | 
			
		||||
   vertSizing = "height";
 | 
			
		||||
   position = "0 0";
 | 
			
		||||
   extent = "640 480";
 | 
			
		||||
   minExtent = "8 8";
 | 
			
		||||
   visible = "1";
 | 
			
		||||
   bitmap = "./background";
 | 
			
		||||
   useVariable = "0";
 | 
			
		||||
   tile = "0";
 | 
			
		||||
      helpTag = "0";
 | 
			
		||||
 | 
			
		||||
   new GuiControl() {
 | 
			
		||||
      profile = "GuiWindowProfile";
 | 
			
		||||
      horizSizing = "center";
 | 
			
		||||
      vertSizing = "center";
 | 
			
		||||
      position = "92 86";
 | 
			
		||||
      extent = "455 308";
 | 
			
		||||
      minExtent = "8 8";
 | 
			
		||||
      visible = "1";
 | 
			
		||||
         helpTag = "0";
 | 
			
		||||
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "12 36";
 | 
			
		||||
         extent = "72 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Select Mission:";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiCheckBoxCtrl(ML_isMultiplayer) {
 | 
			
		||||
         profile = "GuiCheckBoxProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "155 272";
 | 
			
		||||
         extent = "147 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         variable = "pref::HostMultiPlayer";
 | 
			
		||||
         text = "Host Multiplayer";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "ToggleButton";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            maxLength = "255";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl() {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "320 271";
 | 
			
		||||
         extent = "127 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "SM_StartMission();";
 | 
			
		||||
         text = "Launch Mission!";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "PushButton";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiScrollCtrl() {
 | 
			
		||||
         profile = "GuiScrollProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "10 62";
 | 
			
		||||
         extent = "436 200";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         willFirstRespond = "1";
 | 
			
		||||
         hScrollBar = "dynamic";
 | 
			
		||||
         vScrollBar = "alwaysOn";
 | 
			
		||||
         constantThumbHeight = "0";
 | 
			
		||||
         childMargin = "0 0";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
            defaultLineHeight = "15";
 | 
			
		||||
 | 
			
		||||
         new GuiTextListCtrl(SM_missionList) {
 | 
			
		||||
            profile = "GuiTextArrayProfile";
 | 
			
		||||
            horizSizing = "right";
 | 
			
		||||
            vertSizing = "bottom";
 | 
			
		||||
            position = "2 2";
 | 
			
		||||
            extent = "414 16";
 | 
			
		||||
            minExtent = "8 8";
 | 
			
		||||
            visible = "1";
 | 
			
		||||
            enumerate = "0";
 | 
			
		||||
            resizeCell = "1";
 | 
			
		||||
            columns = "0";
 | 
			
		||||
            fitParentWidth = "1";
 | 
			
		||||
            clipColumnText = "0";
 | 
			
		||||
               helpTag = "0";
 | 
			
		||||
               noDuplicates = "false";
 | 
			
		||||
         };
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextEditCtrl() {
 | 
			
		||||
         profile = "GuiTextEditProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "98 15";
 | 
			
		||||
         extent = "134 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         variable = "pref::Player::Name";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
         historySize = "0";
 | 
			
		||||
         password = "0";
 | 
			
		||||
         tabComplete = "0";
 | 
			
		||||
         sinkAllKeyEvents = "0";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiTextCtrl() {
 | 
			
		||||
         profile = "GuiTextProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "12 11";
 | 
			
		||||
         extent = "63 18";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         text = "Player Name:";
 | 
			
		||||
         maxLength = "255";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
      new GuiButtonCtrl() {
 | 
			
		||||
         profile = "GuiButtonProfile";
 | 
			
		||||
         horizSizing = "right";
 | 
			
		||||
         vertSizing = "bottom";
 | 
			
		||||
         position = "10 272";
 | 
			
		||||
         extent = "127 23";
 | 
			
		||||
         minExtent = "8 8";
 | 
			
		||||
         visible = "1";
 | 
			
		||||
         command = "Canvas.setContent(mainMenuGui);";
 | 
			
		||||
         text = "<< Back";
 | 
			
		||||
         groupNum = "-1";
 | 
			
		||||
         buttonType = "PushButton";
 | 
			
		||||
            helpTag = "0";
 | 
			
		||||
      };
 | 
			
		||||
   };
 | 
			
		||||
};
 | 
			
		||||
//--- OBJECT WRITE END ---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function SM_StartMission()
 | 
			
		||||
{
 | 
			
		||||
   %id = SM_missionList.getSelectedId();
 | 
			
		||||
   %mission = getField(SM_missionList.getRowTextById(%id), 1);
 | 
			
		||||
 | 
			
		||||
   if ($pref::HostMultiPlayer)
 | 
			
		||||
      %serverType = "MultiPlayer";
 | 
			
		||||
   else
 | 
			
		||||
      %serverType = "SinglePlayer";
 | 
			
		||||
 | 
			
		||||
   createServer(%serverType, %mission);
 | 
			
		||||
   %conn = new GameConnection(ServerConnection);
 | 
			
		||||
   RootGroup.add(ServerConnection);
 | 
			
		||||
   %conn.setConnectArgs($pref::Player::Name);
 | 
			
		||||
   %conn.setJoinPassword($Client::Password);
 | 
			
		||||
   %conn.connectLocal();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function startMissionGui::onWake()
 | 
			
		||||
{
 | 
			
		||||
   SM_missionList.clear();
 | 
			
		||||
   %i = 0;
 | 
			
		||||
   for(%file = findFirstFile($Server::MissionFileSpec); %file !$= ""; %file = findNextFile($Server::MissionFileSpec))  
 | 
			
		||||
      if (strStr(%file, "/CVS/") == -1)
 | 
			
		||||
         SM_missionList.addRow(%i++, getMissionDisplayName(%file) @ "\t" @ %file );
 | 
			
		||||
   SM_missionList.sort(0);
 | 
			
		||||
   SM_missionList.setSelectedRow(0);
 | 
			
		||||
   SM_missionList.scrollVisible(0);
 | 
			
		||||
}   
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
function getMissionDisplayName( %missionFile ) 
 | 
			
		||||
{
 | 
			
		||||
   %file = new FileObject();
 | 
			
		||||
   
 | 
			
		||||
   %MissionInfoObject = "";
 | 
			
		||||
   
 | 
			
		||||
   if ( %file.openForRead( %missionFile ) ) {
 | 
			
		||||
		%inInfoBlock = false;
 | 
			
		||||
		
 | 
			
		||||
		while ( !%file.isEOF() ) {
 | 
			
		||||
			%line = %file.readLine();
 | 
			
		||||
			%line = trim( %line );
 | 
			
		||||
			
 | 
			
		||||
			if( %line $= "new ScriptObject(MissionInfo) {" )
 | 
			
		||||
				%inInfoBlock = true;
 | 
			
		||||
			else if( %inInfoBlock && %line $= "};" ) {
 | 
			
		||||
				%inInfoBlock = false;
 | 
			
		||||
				%MissionInfoObject = %MissionInfoObject @ %line; 
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			if( %inInfoBlock )
 | 
			
		||||
			   %MissionInfoObject = %MissionInfoObject @ %line @ " "; 	
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		%file.close();
 | 
			
		||||
	}
 | 
			
		||||
	%MissionInfoObject = "%MissionInfoObject = " @ %MissionInfoObject;
 | 
			
		||||
	eval( %MissionInfoObject );
 | 
			
		||||
	
 | 
			
		||||
   %file.delete();
 | 
			
		||||
 | 
			
		||||
   if( %MissionInfoObject.name !$= "" )
 | 
			
		||||
      return %MissionInfoObject.name;
 | 
			
		||||
   else
 | 
			
		||||
      return fileBase(%missionFile); 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||