Added new GUI from Malte, with a few improvements when merging (note: needs new art in Art Pack too).

This was SVN commit r928.
This commit is contained in:
Acumen 2004-08-06 15:36:19 +00:00
parent c248ae93eb
commit ba122796f7
4 changed files with 403 additions and 30 deletions

View File

@ -0,0 +1,29 @@
/* Global functions for GUI animation (sliding in/out, fading etc.) */
function GUISlideIn(GUIObject, SlideSpeed)
{
// Just me testing some stuff :)
var SlideObject = getGUIObjectByName(GUIObject);
var SizeVar = SlideObject.size;
//var Sizes = SizeVar.split(" ");
//var x_s = Sizes[0];
//var y_s = Sizes[1];
//var x_e = Sizes[2];
//var y_e = Sizes[3];
//var height = x_e - x_s;
//var Time = new Date();
//var StartTime = Time.getTime();
var i = 0;
while(i <= 2) {
i++;
SlideObject.size = new GUISize(x_s, 0 + i, x_e, 0 + i + height);
}
}

View File

@ -0,0 +1,78 @@
function GUIObjectHide(objectName) {
// Hide our GUI object
GUIObject = getGUIObjectByName(objectName);
GUIObject.hidden = true;
}
function GUIObjectUnhide(objectName) {
// Unhide our GUI object
GUIObject = getGUIObjectByName(objectName);
GUIObject.hidden = false;
}
function GUIObjectToggle(objectName) {
// Get our GUI object
GUIObject = getGUIObjectByName(objectName);
// Toggle it
GUIObject.hidden = !GUIObject.hidden;
}
function GUIUpdateObjectInfo() {
// Get GUI Objects needed
ObjectNameText = getGUIObjectByName("selection_name_test");
ObjectPositionText = getGUIObjectByName("selection_pos_test");
ObjectSpeedText = getGUIObjectByName("selection_speed_test");
// Check number of selected entities
if (selection.length > 1) {
var MultipleEntitiesSelected = true;
ObjectNameText.caption = "Selected " + selection.length + " entities.";
ObjectNameText.hidden = false;
ObjectPositionText.hidden = true;
ObjectSpeedText.hidden = true;
} else {
if (!selection[0]) {
// Reset object name
ObjectNameText.caption = "";
ObjectNameText.hidden = true;
// Reset position
ObjectPositionText.caption = "";
ObjectPositionText.hidden = true;
// Reset Speed
ObjectSpeedText.caption = "";
ObjectSpeedText.hidden = true;
} else {
// Update object name
ObjectNameText.caption = selection[0].name;
ObjectNameText.hidden = false;
// Update position
var strString = "" + selection[0].position;
ObjectPositionText.caption = "Position: " + strString.substring(20,strString.length-3);
//ObjectPositionText.caption = strString;
ObjectPositionText.hidden = false;
// Update speed
ObjectSpeedText.caption = "Speed: " + selection[0].speed;
ObjectSpeedText.hidden = false;
}
}
}

View File

@ -4,15 +4,20 @@
<objects>
<script file="gui/test/test.js"><![CDATA[
writeConsole("GUI file loading");
<!--
==========================================
- GLOBAL SCRIPTS -
==========================================
-->
dudes = 0;
<script file="gui/test/basefunctions.js"><![CDATA[
writeConsole("GUI file loading");
function MakeDude(x, y, z) {
DudeSpawnPoint = new Vector3D(x, y, z);
new Entity(getEntityTemplate("Prometheus Dude"), DudeSpawnPoint, 1.0);
writeConsole("Dude created at " + DudeSpawnPoint + "; " + ++dudes + " Dudes created this way." );
writeConsole("Dude created at " + DudeSpawnPoint);
writeConsole("Made MakeDude " + MakeDude);
}
function selected()
@ -61,11 +66,64 @@
ball.size = new GUISize(g_ballx-r, g_bally-r, g_ballx+r, g_bally+r);
}
}
writeConsole("Made MakeDude " + MakeDude);
]]></script>
<object type="button" name="exit_button" sprite="exit_sprite" size="100%-18 2 100%-2 18" z="100" hidden="false">
<script file="gui/test/animation.js"><![CDATA[
writeConsole("GUI anim script loading");
]]></script>
<!--
==========================================
- GLOBAL OBJECTS -
==========================================
-->
<object type="empty" name="all_gui" size="0 0 100% 100%" z="1" hidden="false">
<!--
==========================================
- START/END GAME BUTTONS -
==========================================
-->
<object type="empty" name="pregame_gui" size="0 0 100% 100%" z="1" hidden="false">
<object type="button" name="Start_Game_Button" sprite="sprite1" sprite-over="sprite1-over" sprite-pressed="sprite1-pressed" size="10%+128 80% 10%+256 80%+20" z="100" textcolor="0 0 0" hidden="false">
Start Game
<action on="Press"><![CDATA[
<!-- startGame(); -->
GUIObjectUnhide("session_gui");
GUIObjectHide("Start_Game_Button")
GUIObjectUnhide("End_Game_Button")
]]></action>
</object>
<object type="button" name="End_Game_Button" sprite="sprite1" sprite-over="sprite1-over" sprite-pressed="sprite1-pressed" size="10%+128 80%+22 10%+256 80%+42" z="100" textcolor="0 0 0" hidden="true">
End Game
<action on="Press"><![CDATA[
<!-- endGame(); -->
GUIObjectHide("session_gui");
GUIObjectHide("End_Game_Button")
GUIObjectUnhide("Start_Game_Button")
]]></action>
</object>
</object>
<object type="empty" name="always_on" size="0 0 100% 100%" z="1" hidden="false">
<!--
==========================================
- EXIT BUTTON -
==========================================
-->
<object type="button" name="exit_button" sprite="exit_sprite" sprite-over="exit_sprite-over" size="100%-18 2 100%-2 18" z="100" hidden="false">
<action on="Load"><![CDATA[
writeConsole("(GUI) Exit button successfully loaded.");
]]></action>
@ -73,24 +131,16 @@
exit();
]]></action>
</object>
<object type="button" name="Start_Game_Button" sprite="sprite1" sprite-over="sprite1-over" sprite-pressed="sprite1-pressed" size="10%+128 80% 10%+256 80%+20" z="100" textcolor="0 0 0">
Start game
</object>
<action on="Press">
startGame();
</action>
</object>
<object type="empty" name="session_gui" size="0 0 100% 100%" z="1" hidden="true">
<object type="button" name="End_Game_Button" sprite="sprite1" sprite-over="sprite1-over" sprite-pressed="sprite1-pressed" size="10%+128 80%+22 10%+256 80%+42" z="100" textcolor="0 0 0">
End game
<action on="Press">
endGame();
</action>
</object>
<!--
==========================================
- DUDE PRODUCTION BUTTONS -
==========================================
-->
<object type="button" name="Dude_Production_Button" sprite="sprite1" sprite-over="sprite1-over" sprite-pressed="sprite1-pressed" size="10% 80% 10%+128 80%+20" z="100" textcolor="0 0 0">
@ -115,14 +165,134 @@
]]></action>
</object>
<!--
==========================================
- MISCELLANEOUS -
==========================================
-->
<object type="text" name="wfg_logo" sprite="wfg_logo_128" size="20 20 148 148" z="100" hidden="false">
</object>
<!--
==========================================
- BOTTOM PANEL IN SESSION UI -
==========================================
-->
<object type="text" name="session_panel" hidden="false">
<object type="text" name="session_panel_bg_left" sprite="session_panel_bg_left" size="0 100%-161 258 100%" z="50" hidden="false" />
<object type="text" name="session_panel_minimap_bg" sprite="session_panel_minimap_bg" size="0%-14 100%-235 242 100%+16" z="60" hidden="false" />
<object type="text" name="session_panel_minimap_dummy" sprite="session_panel_minimap_dummy" size="0%-14 100%-235 242 100%+16" z="60" hidden="false" />
<object type="text" name="session_panel_bg_middle" sprite="session_panel_bg_middle" size="50%-257 100%-161 50%+274 100%" z="50" hidden="false">
<action on="Tick"><![CDATA[
getGUIGlobal().GUIUpdateObjectInfo();
]]></action>
</object>
<!-- Entity info text objects -->
<object type="text" name="selection_name_test" size="50%-240 100%-140 50%+200 100%-120" font="giovanni22bold" textcolor="255 255 255" z="60" hidden="false" />
<object type="text" name="selection_pos_test" size="50%-240 100%-115 50%+200 100%-95" textcolor="255 255 255" z="60" hidden="false" />
<object type="text" name="selection_speed_test" size="50%-240 100%-90 50%+200 100%-70" textcolor="255 255 255" z="60" hidden="false" />
<!-- / Entity info text objects -->
<object type="text" name="session_panel_bg_right" sprite="session_panel_bg_right" size="100%-241 100%-161 100% 100%" z="50" hidden="false" />
<object type="text" name="session_panel_tabs_bg_left" sprite="session_panel_tabs_bg1" size="100%-235 100%-152 100%-176 100%-7" z="60" hidden="false" />
<object type="text" name="session_panel_tabs_bg_right" sprite="session_panel_tabs_bg2" size="100%-197 100%-152 100%-7 100%-7" z="61" hidden="false" />
<object type="button" name="session_panel_tabs_command_activebg" sprite="session_panel_tabs_activetabbg"
size="100%-235 100%-152 100%-195 100%-112" z="62" hidden="false">
<object type="button" name="normal_mode_button" sprite="portrait_unit_dude_sml" sprite-over="portrait_unit_dude_sml_over" size="100%-190 100%-145 100%-158 100%-113" z="64" hidden="false">
<action on="Press"><![CDATA[
MakeDude(15,0,15);
]]></action>
</object>
</object>
<object type="button" name="session_panel_tabs_buildcivil_activebg" sprite="session_panel_tabs_activetabbg"
size="100%-235 100%-117 100%-195 100%-77" z="62" hidden="true">
</object>
<object type="button" name="session_panel_tabs_buildmil_activebg" sprite="session_panel_tabs_activetabbg"
size="100%-235 100%-82 100%-195 100%-42" z="62" hidden="true">
</object>
<object type="button" name="session_panel_tabs_formations_activebg" sprite="session_panel_tabs_activetabbg"
size="100%-235 100%-47 100%-195 100%-7" z="62" hidden="true">
</object>
<object type="button" name="session_panel_tabs_command_bt" sprite="icon_command" size="100%-230 100%-147 100%-198 100%-115" z="63" hidden="false">
<action on="Press"><![CDATA[
GUIObjectUnhide("session_panel_tabs_command_activebg");
GUIObjectHide("session_panel_tabs_buildcivil_activebg");
GUIObjectHide("session_panel_tabs_buildmil_activebg");
GUIObjectHide("session_panel_tabs_formations_activebg");
]]></action>
</object>
<object type="button" name="session_panel_tabs_buildcivil_bt" sprite="icon_buildcivil" size="100%-230 100%-112 100%-198 100%-80" z="63" hidden="false">
<action on="Press"><![CDATA[
GUIObjectUnhide("session_panel_tabs_buildcivil_activebg");
GUIObjectHide("session_panel_tabs_command_activebg");
GUIObjectHide("session_panel_tabs_buildmil_activebg");
GUIObjectHide("session_panel_tabs_formations_activebg");
]]></action>
</object>
<object type="button" name="session_panel_tabs_buildmil_bt" sprite="icon_buildmil" size="100%-230 100%-77 100%-198 100%-45" z="63" hidden="false">
<action on="Press"><![CDATA[
GUIObjectUnhide("session_panel_tabs_buildmil_activebg");
GUIObjectHide("session_panel_tabs_command_activebg");
GUIObjectHide("session_panel_tabs_buildcivil_activebg");
GUIObjectHide("session_panel_tabs_formations_activebg");
]]></action>
</object>
<object type="button" name="session_panel_tabs_formations_bt" sprite="icon_formations" size="100%-230 100%-42 100%-198 100%-10" z="63" hidden="false">
<action on="Press"><![CDATA[
GUIObjectUnhide("session_panel_tabs_formations_activebg");
GUIObjectHide("session_panel_tabs_command_activebg");
GUIObjectHide("session_panel_tabs_buildcivil_activebg");
GUIObjectHide("session_panel_tabs_buildmil_activebg");
]]></action>
</object>
</object>
<!--
==========================================
- END BOTTOM PANEL -
==========================================
-->
<!--
==========================================
- ORBITAL BALL ARENA OBJECTS -
==========================================
-->
<object type="button" name="arena" sprite="sprite1" sprite-over="sprite1-over" size="0 0 600 400" z="100" hidden="true" textcolor="127 0 0">
<!-- stress-test the text renderer -->
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer nisl libero, ornare sit amet, feugiat sit amet, pretium vitae, tellus. Etiam tempor est vel neque rutrum congue. Quisque sed elit. Suspendisse vel tellus consectetuer lacus blandit varius. Etiam pretium malesuada turpis. Pellentesque urna justo, facilisis sodales, ultrices eget, pretium vestibulum, nibh. Mauris vulputate. Aliquam luctus feugiat felis. In venenatis, nulla eu suscipit auctor, turpis purus tincidunt arcu, non mattis pede urna nec est. Quisque sodales dolor sit amet odio. Suspendisse rutrum tellus ut sem. Vestibulum consequat est.
<!-- stress-test the text renderer -->
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer nisl libero, ornare sit amet, feugiat sit amet, pretium vitae, tellus. Etiam tempor est vel neque rutrum congue. Quisque sed elit. Suspendisse vel tellus consectetuer lacus blandit varius. Etiam pretium malesuada turpis. Pellentesque urna justo, facilisis sodales, ultrices eget, pretium vestibulum, nibh. Mauris vulputate. Aliquam luctus feugiat felis. In venenatis, nulla eu suscipit auctor, turpis purus tincidunt arcu, non mattis pede urna nec est. Quisque sodales dolor sit amet odio. Suspendisse rutrum tellus ut sem. Vestibulum consequat est.
Sed nec quam sit amet mi blandit ornare. Phasellus condimentum varius urna. Suspendisse velit leo, feugiat sit amet, mattis quis, adipiscing placerat, enim. Vivamus dapibus. Fusce porta felis ac diam. Vestibulum mollis augue non quam. Vestibulum id sapien. Donec ornare felis non eros. Curabitur eget dui. Suspendisse potenti. Phasellus ultrices, sem ac consequat aliquet, felis tellus mollis dui, vitae imperdiet mi arcu eu augue. Duis libero neque, tristique eu, pellentesque et, facilisis sit amet, est. Vestibulum vehicula aliquam enim. Maecenas hendrerit nunc in orci sagittis ullamcorper. Donec cursus, sapien eget luctus tincidunt, mi ante accumsan leo, non fermentum diam ipsum ac tellus. Pellentesque ipsum sapien, mollis a, viverra eget, malesuada id, est. Sed nec tellus nec velit posuere euismod. Aenean turpis. Donec eu nibh. Fusce in libero.
Sed nec quam sit amet mi blandit ornare. Phasellus condimentum varius urna. Suspendisse velit leo, feugiat sit amet, mattis quis, adipiscing placerat, enim. Vivamus dapibus. Fusce porta felis ac diam. Vestibulum mollis augue non quam. Vestibulum id sapien. Donec ornare felis non eros. Curabitur eget dui. Suspendisse potenti. Phasellus ultrices, sem ac consequat aliquet, felis tellus mollis dui, vitae imperdiet mi arcu eu augue. Duis libero neque, tristique eu, pellentesque et, facilisis sit amet, est. Vestibulum vehicula aliquam enim. Maecenas hendrerit nunc in orci sagittis ullamcorper. Donec cursus, sapien eget luctus tincidunt, mi ante accumsan leo, non fermentum diam ipsum ac tellus. Pellentesque ipsum sapien, mollis a, viverra eget, malesuada id, est. Sed nec tellus nec velit posuere euismod. Aenean turpis. Donec eu nibh. Fusce in libero.
Nunc bibendum metus a tellus. Nulla lorem metus, convallis id, lobortis eu, elementum ut, tellus. Suspendisse et risus sit amet arcu volutpat volutpat. Maecenas vel tortor id lectus suscipit suscipit. Maecenas condimentum ipsum eu augue. Nunc nisl. Etiam libero augue, gravida ac, imperdiet vel, sollicitudin ac, dui. Sed ullamcorper faucibus libero. Etiam egestas tellus vel justo. Etiam venenatis metus in pede. Pellentesque quam tellus, elementum eu, elementum ut, auctor a, velit. Suspendisse potenti. Quisque fermentum justo ut pede. Donec adipiscing, dolor ut consequat eleifend, neque nunc iaculis arcu, et nonummy elit tortor sed enim. Cras ultricies nunc ac massa. Ut turpis massa, sodales et, tincidunt vel, elementum eu, dolor.
Nunc bibendum metus a tellus. Nulla lorem metus, convallis id, lobortis eu, elementum ut, tellus. Suspendisse et risus sit amet arcu volutpat volutpat. Maecenas vel tortor id lectus suscipit suscipit. Maecenas condimentum ipsum eu augue. Nunc nisl. Etiam libero augue, gravida ac, imperdiet vel, sollicitudin ac, dui. Sed ullamcorper faucibus libero. Etiam egestas tellus vel justo. Etiam venenatis metus in pede. Pellentesque quam tellus, elementum eu, elementum ut, auctor a, velit. Suspendisse potenti. Quisque fermentum justo ut pede. Donec adipiscing, dolor ut consequat eleifend, neque nunc iaculis arcu, et nonummy elit tortor sed enim. Cras ultricies nunc ac massa. Ut turpis massa, sodales et, tincidunt vel, elementum eu, dolor.
<action on="Load"><![CDATA[
g_ballx = 300;
@ -157,4 +327,14 @@ Nunc bibendum metus a tellus. Nulla lorem metus, convallis id, lobortis eu, elem
]]></action>
</object>
<!--
==========================================
- END ORBITAL BALL ARENA OBJECTS -
==========================================
-->
</object>
</object>
</objects>

View File

@ -1,14 +1,77 @@
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE sprites SYSTEM "..\gui.dtd">
<!DOCTYPE sprites SYSTEM "../gui.dtd">
<sprites>
<!-- Exit Button -->
<sprite name="exit_sprite">
<image backcolor="255 255 255" size="0 0 100% 100%" />
<image backcolor="0 0 0" size="50% 2 50%+2 100%-1" />
<image backcolor="0 0 0" size="2 50% 100%-1 50%+2" />
<image texture="exit_button_16.png" texture-size="0 0 16 16" size="0 0 100% 100%" />
</sprite>
<sprite name="exit_sprite-over">
<image texture="exit_button_16-over.png" texture-size="0 0 16 16" size="0 0 100% 100%" />
</sprite>
<!-- WFG logo -->
<sprite name="wfg_logo_128">
<image texture="wfg_logo_128.tga" texture-size="0 0 128 128" size="0 0 128 128" />
</sprite>
<!--
==========================================
BOTTOM PANEL IN SESSION UI
==========================================
-->
<sprite name="session_panel_bg_left">
<image texture="ui_session_panel_bg_left.png" texture-size="0 0 512 512" size="0 0 258 161" />
</sprite>
<sprite name="session_panel_minimap_bg">
<image texture="ui_session_panel_minimap_bg.png" texture-size="0 0 256 256" size="0 0 256 256" />
</sprite>
<sprite name="session_panel_minimap_dummy">
<image texture="ui_session_panel_minimap_dummy.png" texture-size="0 0 256 256" size="0 0 256 256" />
</sprite>
<sprite name="session_panel_bg_middle">
<image texture="ui_session_panel_bg_middle.png" texture-size="0 0 1024 1024" size="0 0 531 161" />
</sprite>
<sprite name="session_panel_bg_right">
<image texture="ui_session_panel_bg_right.png" texture-size="0 0 256 256" size="0 0 241 161" />
</sprite>
<sprite name="session_panel_tabs_bg1">
<image texture="ui_session_panel_tabs_bg1.png" texture-size="0 0 256 256" size="0 0 59 145" />
</sprite>
<sprite name="session_panel_tabs_bg2">
<image texture="ui_session_panel_tabs_bg2.png" texture-size="0 0 256 256" size="0 0 190 145" />
</sprite>
<sprite name="session_panel_tabs_activetabbg">
<image texture="ui_session_panel_tabs_activetabbg.png" texture-size="0 0 64 64" size="0 0 40 40" />
</sprite>
<sprite name="icon_command">
<image texture="ui_session_panel_tabs_command_bt.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<sprite name="icon_buildcivil">
<image texture="ui_session_panel_tabs_buildcivil_bt.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<sprite name="icon_buildmil">
<image texture="ui_session_panel_tabs_buildmil_bt.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<sprite name="icon_formations">
<image texture="ui_session_panel_tabs_formations_bt.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!-- Generic buttons -->
<sprite name="sprite1">
<!-- Starting with top left corner continuing in a clockwise manner -->
<image backcolor="255 255 255" size="0 1 1 100%-1" />
@ -96,4 +159,27 @@
<!--<image backcolor="128 128 128" size="0 0 100% 100%" />-->
<image backcolor="150 105 180" size="2 0 100%-2 100%" z-level="1" />
</sprite>
<!--
==========================================
PORTRAIT ICONS
==========================================
-->
<sprite name="portrait_unit_dude">
<image texture="ui_portrait_unit_dude.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_unit_dude_sml">
<image texture="ui_portrait_unit_dude_sml.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<sprite name="portrait_unit_dude_over">
<image texture="ui_portrait_unit_dude_over.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_unit_dude_sml_over">
<image texture="ui_portrait_unit_dude_sml_over.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
</sprites>