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);
|
||||
}
|
||||
|