1
0
forked from 0ad/0ad

Updated GUI.

This was SVN commit r1247.
This commit is contained in:
Acumen 2004-10-15 22:15:31 +00:00
parent dfb126ca34
commit c8cb07fb59
15 changed files with 1899 additions and 880 deletions

View File

@ -4,17 +4,77 @@
<objects>
<!--
==========================================
- GLOBAL SCRIPTS -
==========================================
-->
<!--
==========================================
- SCRIPT DECLARATIONS -
==========================================
-->
<script file="gui/test/functions_utility_object.js"><![CDATA[
]]></script>
<!--
==========================================
- GLOBAL OBJECTS -
==========================================
-->
<script file="gui/test/functions_utility_animation.js"><![CDATA[
]]></script>
<script file="gui/test/functions_utility_debug.js"><![CDATA[
]]></script>
<script file="gui/test/functions_test.js"><![CDATA[
]]></script>
<script file="gui/test/functions_pregame.js"><![CDATA[
]]></script>
<script file="gui/test/functions_session.js"><![CDATA[
initSession();
writeConsole("Loaded GUI functions.");
]]></script>
<!--
==========================================
- GLOBAL OBJECTS -
==========================================
-->
<object type="empty" name="always_on" hotkey="alwayson.toggle" size="0 0 100% 100%" z="1" hidden="false">
<action on="Press"><![CDATA[
GUIObjectToggle("always_on");
]]></action>
<object type="button" name="exit_button" sprite="exit_sprite" sprite-over="exit_sprite-over" size="100%-18 2 100%-2 18" z="1000" hidden="false">
<action on="Press"><![CDATA[
exit();
]]></action>
<!-- START temporary code
This code only applies to the main menu, I don't know how it'll behave ingame. It is temporary and should be removed as soon as we got proper tooltip support implemented. -->
<action on="MouseEnter"><![CDATA[
tooltipObject = getGUIObjectByName("pregame-mainmenu-tooltip");
tooltipObject.caption = "Tired of 0 A.D. ? Click here to leave and reenter the real world.";
GUIObjectUnhide("pregame-mainmenu-tooltip");
]]></action>
<action on="MouseLeave"><![CDATA[
GUIObjectHide("pregame-mainmenu-tooltip");
]]></action>
<!-- END temporary code -->
</object>
<!-- TEMPORARY END GAME BUTTON; REMOVE WHEN GAME MENU IMPLEMENTED; BUTTON IS OUTSIDE OF pregame_gui IN ORDER TO BE VISIBLE DURING GAME -->
<object type="button" name="End_Game_Button" sprite="sprite1" sprite-over="sprite1-over" sprite-pressed="sprite1-pressed" z="105" textcolor="0 0 0" text-align="center" text-valign="center" hidden="true">End Game
<action on="Load"><![CDATA[
AddSize(this.name,
"100%-150 100%-53 100%-30 100%-32",
"100%-150 0%+32 100%-30 0%+53");
]]></action>
<action on="Press"><![CDATA[
endGame();
GUIObjectHide("session_gui");
GUIObjectHide("End_Game_Button");
GUIObjectUnhide("pregame_gui");
]]></action>
</object>
</object>
</objects>

View File

@ -10,4 +10,50 @@
==========================================
-->
<object type="empty" name="pregame_gui" size="0 0 100% 100%" z="1" hidden="false">
<object type="image" name="pregame-mainmenu-background-image" sprite="pregame-mainmenu-background" size="0 0 100% 100%" z="100" hidden="false" />
<object type="button" name="pregame-mainmenu-sp-button" sprite-over="pregame-mainmenu-spbt" size="52.9296875% 23.95833333% 67.578125% 42.317708333%" z="101" hidden="false">
<action on="Press"><![CDATA[
startGame();
GUIObjectUnhide("session_gui");
GUIObjectHide("pregame_gui");
GUIObjectUnhide("End_Game_Button");
FlipGUI("top");
]]></action>
<action on="MouseEnter"><![CDATA[
tooltipObject = getGUIObjectByName("pregame-mainmenu-tooltip");
tooltipObject.caption = "Want to move some Dudes around or test something ? Click here to start a new game on the default map.";
GUIObjectUnhide("pregame-mainmenu-tooltip");
]]></action>
<action on="MouseLeave"><![CDATA[
GUIObjectHide("pregame-mainmenu-tooltip");
]]></action>
</object>
<object type="image" name="pregame-mainmenu-0ad-logo" sprite="pregame-mainmenu-0ad-logo-480x218" size="21.1914062% 3.125% 68.0664062% 31.5104166%" z="102" hidden="false" ghost="true"/>
<object type="text" name="pregame-mainmenu-versionnumber" size="43% 24% 43%+282 24%+25" z="103" textcolor="237 227 167" font="prospero16" hidden="false" ghost="true">
{buildTime}
<action on="Load"><![CDATA[
this.caption = "Build: " + buildTime(0) + " " + getLanguageID();
]]></action>
</object>
<object type="image" name="pregame-mainmenu-wfg-logo" sprite="pregame-mainmenu-wfg-logo-256x64" size="10 91.666666%-30 25.9765% 100%-30" z="102" hidden="false">
<action on="MouseEnter"><![CDATA[
tooltipObject = getGUIObjectByName("pregame-mainmenu-tooltip");
tooltipObject.caption = "These are the guys who made this game. Visit them at http://www.wildfiregames.com/0ad/";
GUIObjectUnhide("pregame-mainmenu-tooltip");
]]></action>
<action on="MouseLeave"><![CDATA[
GUIObjectHide("pregame-mainmenu-tooltip");
]]></action>
</object>
<object type="text" name="pregame-mainmenu-tooltip" sprite="tooltip-background" size="69% 6.3802% 97.0703125% 28.125%" font="prospero16" textcolor="255 255 255" z="104" hidden="true" ghost="true">tooltipText</object>
</object>
</objects>

File diff suppressed because it is too large Load Diff

View File

@ -1,115 +0,0 @@
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");
ObjectPortrait = getGUIObjectByName("selection_portrait_test");
ObjectStatAttack = getGUIObjectByName("statistic_attack");
ObjectStatHack = getGUIObjectByName("statistic_hack");
ObjectStatPierce = getGUIObjectByName("statistic_pierce");
ObjectStatAccuracy = getGUIObjectByName("statistic_accuracy");
ObjectStatLOS = getGUIObjectByName("statistic_los");
ObjectStatSpeed = getGUIObjectByName("statistic_speed");
// 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.length ) {
// Reset portrait
ObjectPortrait.hidden = true;
// Reset statistic icons.
ObjectStatAttack.hidden = true;
ObjectStatHack.hidden = true;
ObjectStatPierce.hidden = true;
ObjectStatAccuracy.hidden = true;
ObjectStatLOS.hidden = true;
ObjectStatSpeed.hidden = true;
// Reset object name
ObjectNameText.caption = "";
ObjectNameText.hidden = true;
// Reset position
ObjectPositionText.caption = "";
ObjectPositionText.hidden = true;
// Reset Speed
ObjectSpeedText.caption = "";
ObjectSpeedText.hidden = true;
} else {
// Update portrait
ObjectPortrait.sprite = selection[0].traits.id.icon;
ObjectPortrait.hidden = false;
// Turn on statistic icons.
ObjectStatAttack.hidden = false;
ObjectStatHack.hidden = false;
ObjectStatPierce.hidden = false;
ObjectStatAccuracy.hidden = false;
ObjectStatLOS.hidden = false;
ObjectStatSpeed.hidden = false;
// Update object name
ObjectNameText.caption = selection[0].traits.id.generic;
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 = selection[0].actions.move.speed;
ObjectSpeedText.hidden = false;
}
}
}
function UpdateFPSCounter()
{
getGUIObjectByName('FPS_Counter').caption = "FPS: " + getFPS();
}

View File

@ -0,0 +1,288 @@
function initSession()
{
GUIType="top";
GUIStyleName = new Array();
GUIStyleSize1 = new Array();
GUIStyleSize2 = new Array();
GUIStyle_Last = 0;
}
// ====================================================================
function setPortrait(objectName, portraitString)
{
// Use this function as a shortcut to change a portrait object to a different portrait image.
// Accepts an object and specifies its default, rollover (lit) and disabled (grey) sprites.
// Sprite Format: "ui_portrait_"portraitString"_64"
// Sprite Format: "ui_portrait_"portraitString"_64""-lit"
// Sprite Format: "ui_portrait_"portraitString"_64""-grey"
// Note: Make sure the file follows this naming convention or bad things could happen.
// Get GUI object
GUIObject = getGUIObjectByName(objectName);
// Set the three portraits.
GUIObject.sprite = "ui_portrait_" + portraitString + "_64";
// Note we need to use a special syntax here (object["param"] instead of object.param) because dashes aren't actually in JS's variable-naming conventions.
GUIObject["sprite-over"] = GUIObject.sprite + "-lit";
GUIObject["sprite-disabled"] = GUIObject.sprite + "-grey";
}
// ====================================================================
function setSize(objectName, sizeString)
{
// Use this function as a shortcut to change the size of a GUI control.
// Get GUI object
GUIObject = getGUIObjectByName(objectName);
// Set size
GUIObject.size = sizeString;
}
// ====================================================================
function getObjectInfo()
{
// Updated each tick to extract entity information from selected unit(s).
if (!selection.length) // If no entity selected,
{
// Hide Status Orb
getGUIObjectByName("session_status_orb").hidden = true;
// Hide Group Pane.
getGUIObjectByName("session_group_pane").hidden = true;
}
else // If at least one entity selected,
{
// Store globals for entity information.
// EntityName = selection[0].traits.id.generic;
// strString = "" + selection[0].position;
// EntityPos = strString.substring(20,strString.length-3);
// Update portrait
setPortrait("session_panel_status_portrait", selection[0].traits.id.icon);
// Reveal Status Orb
getGUIObjectByName("session_status_orb").hidden = false;
// Check if a group of entities selected
if (selection.length > 1)
{
// If a group pane isn't already open, and we don't have the same set as last time,
// NOTE: This "if" is an optimisation because the game crawls if this set of processing occurs every frame.
// It's quite possible for the player to select another group of the same size and for it to not be recognised.
// Best solution would be to base this off a "new entities selected" instead of an on-tick.
if (getGUIObjectByName("session_group_pane").hidden == true || selection.length != MultipleEntitiesSelected)
{
// Reveal Group Pane.
getGUIObjectByName("session_group_pane").hidden = false;
// Set size of Group Pane background.
if (selection.length <= 13)
{
switch (GUIType)
{
case "top":
setSize("session_group_pane_bg", "0%+20 0% 100%-20 0%+86");
break;
case "bottom":
setSize("session_group_pane_bg", "0%+20 100%-86 100%-20 100%");
break;
}
}
else
if (selection.length > 13 && selection.length < 26)
{
switch (GUIType)
{
case "top":
setSize("session_group_pane_bg", GUIStyleSize1[FlipGUILoop]);
break;
case "bottom":
setSize("session_group_pane_bg", GUIStyleSize2[FlipGUILoop]);
break;
}
}
else
{
switch (GUIType)
{
case "top":
setSize("session_group_pane_bg", "0%+20 0% 100%-20 0%+168");
break;
case "bottom":
setSize("session_group_pane_bg", "0%+20 100%-168 100%-20 100%");
break;
}
}
// Display appropriate portraits.
for (groupPaneLoop = 1; groupPaneLoop <= 39; groupPaneLoop++)
{
groupPanePortrait = getGUIObjectByName("session_group_pane_portrait_" + groupPaneLoop);
groupPaneBar = getGUIObjectByName("session_group_pane_portrait_" + groupPaneLoop + "_bar");
// If it's a valid entity,
if (groupPaneLoop <= selection.length){
// Reveal and set to display this entity's portrait in the group pane.
groupPanePortrait.hidden = false;
groupPaneBar.hidden = false;
setPortrait("session_group_pane_portrait_" + groupPaneLoop, selection[groupPaneLoop-1].traits.id.icon);
}
// If it's empty, hide its group portrait.
else
{
groupPanePortrait.hidden = true;
groupPaneBar.hidden = true;
}
}
MultipleEntitiesSelected = selection.length;
}
}
else
{
MultipleEntitiesSelected = 0;
// Hide Group Pane.
getGUIObjectByName("session_group_pane").hidden = true;
}
}
}
// ====================================================================
function AddSize(objectName, objectSize1, objectSize2)
{
// Used to store the two GUI style sizes for an object on creation.
// Used later by FlipGUI() to switch the objects to a new set of positions.
GUIStyleName[GUIStyle_Last] = objectName;
GUIStyleSize1[GUIStyle_Last] = objectSize1;
GUIStyleSize2[GUIStyle_Last] = objectSize2;
// writeConsole("Added " + GUIStyle_Last + ": " + GUIStyleName[GUIStyle_Last] + " (" + GUIStyleSize1[GUIStyle_Last] + ", " + GUIStyleSize2[GUIStyle_Last] + ").");
GUIStyle_Last++; // Increment counter for next entry.
}
// ====================================================================
function FlipGUI(NewGUIType)
{
// Sets the GUI coordinates and graphics so that the panel is either at the top or bottom of the screen.
switch (NewGUIType)
{
// Set which GUI to use.
case "top":
case "bottom":
case "none":
GUIType=NewGUIType;
break;
default:
// If no type specified, toggle.
if (GUIType == "top")
GUIType = "bottom";
else
if (GUIType == "bottom")
GUIType = "none";
else
GUIType = "top";
break;
}
if (GUIType != "none")
{
GUIObjectUnhide("session_gui");
GUIObjectUnhide("always_on");
// Seek through all sizes created.
for (FlipGUILoop = 0; FlipGUILoop < GUIStyle_Last; FlipGUILoop++)
{
// Set each object to the other size.
switch (GUIType)
{
case "top":
setSize(GUIStyleName[FlipGUILoop], GUIStyleSize1[FlipGUILoop]);
switch (GUIStyleName[FlipGUILoop]){
case "session_panel_minimap_segbottom1":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = GUIStyleName[FlipGUILoop];
break;
case "session_panel_minimap_segbottom2":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = GUIStyleName[FlipGUILoop];
break;
case "session_panel_minimap_segbottom3":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = GUIStyleName[FlipGUILoop];
break;
case "session_panel_minimap_segbottom4":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = GUIStyleName[FlipGUILoop];
break;
case "session_panel_status_bg":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = "session_panel_status_bg-top";
break;
default:
break;
}
break;
case "bottom":
setSize(GUIStyleName[FlipGUILoop], GUIStyleSize2[FlipGUILoop]);
switch (GUIStyleName[FlipGUILoop]){
case "session_panel_minimap_segbottom1":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = "session_panel_minimap_segtop1";
break;
case "session_panel_minimap_segbottom2":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = "session_panel_minimap_segtop2";
break;
case "session_panel_minimap_segbottom3":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = "session_panel_minimap_segtop3";
break;
case "session_panel_minimap_segbottom4":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = "session_panel_minimap_segtop4";
break;
case "session_panel_status_bg":
getGUIObjectByName(GUIStyleName[FlipGUILoop]).sprite = "session_panel_status_bg-bottom";
break;
default:
break;
}
break;
}
}
}
else
{
GUIObjectHide("session_gui");
GUIObjectHide("always_on");
}
writeConsole("GUI flipped to " + GUIType + ".");
}
// ====================================================================
function MakeUnit(x, y, z, MakeUnitName)
{
// Spawn an entity at the given coordinates.
DudeSpawnPoint = new Vector3D(x, y, z);
new Entity(getEntityTemplate(MakeUnitName), DudeSpawnPoint, 1.0);
// writeConsole(MakeUnitName + " created at " + DudeSpawnPoint);
}
// ====================================================================
function selected()
{
// Returns how many units selected.
if( selection.length > 0 )
return( selection[0] );
return( null );
}

View File

@ -0,0 +1,40 @@
function updateOrbital()
{
if( !getGUIObjectByName( 'arena' ).hidden )
{
g_ballx += g_balldx;
g_bally += g_balldy;
if (g_ballx > 600) {
g_balldx *= -0.9;
g_ballx = 600-(g_ballx-600);
}
else if (g_ballx < 0) {
g_balldx *= -0.9;
g_ballx = -g_ballx;
}
if (g_bally > 400) {
g_balldy *= -0.9;
g_bally = 400-(g_bally-400);
}
else if (g_bally < 0) {
g_balldy *= -0.9;
g_bally = -g_bally;
}
// Gravitate towards the mouse
var vect_x = g_ballx-g_mousex;
var vect_y = g_bally-g_mousey;
var dsquared = vect_x*vect_x + vect_y*vect_y;
if (dsquared < 1000) dsquared = 1000;
var force = 10000.0 / dsquared;
var mag = Math.sqrt(dsquared);
vect_x /= mag; vect_y /= mag;
g_balldx -= force * vect_x;
g_balldy -= force * vect_y;
var ball = getGUIObjectByName('ball');
var r=5;
ball.size = new GUISize(g_ballx-r, g_bally-r, g_ballx+r, g_bally+r);
}
}

View File

@ -0,0 +1,5 @@
function UpdateFPSCounter()
{
getGUIObjectByName('FPS_Counter').caption = "FPS: " + getFPS();
}

View File

@ -0,0 +1,29 @@
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;
}

View File

@ -2,421 +2,15 @@
<!DOCTYPE objects SYSTEM "../gui.dtd">
<!--
==========================================
- TEST STUFF, MISCELLANEOUS, ARCHIVE -
==========================================
-->
<objects>
<!--
==========================================
- GLOBAL SCRIPTS -
==========================================
-->
<script file="gui/test/basefunctions.js"><![CDATA[
writeConsole("GUI file loading");
function MakeUnit(x, y, z, MakeUnitName) {
DudeSpawnPoint = new Vector3D(x, y, z);
new Entity(getEntityTemplate(MakeUnitName), DudeSpawnPoint, 1.0);
writeConsole(MakeUnitName + " created at " + DudeSpawnPoint);
}
function selected()
{
if( selection.length > 0 )
return( selection[0] );
return( null );
}
function updateOrbital()
{
if( !getGUIObjectByName( 'arena' ).hidden )
{
g_ballx += g_balldx;
g_bally += g_balldy;
if (g_ballx > 600) {
g_balldx *= -0.9;
g_ballx = 600-(g_ballx-600);
}
else if (g_ballx < 0) {
g_balldx *= -0.9;
g_ballx = -g_ballx;
}
if (g_bally > 400) {
g_balldy *= -0.9;
g_bally = 400-(g_bally-400);
}
else if (g_bally < 0) {
g_balldy *= -0.9;
g_bally = -g_bally;
}
// Gravitate towards the mouse
var vect_x = g_ballx-g_mousex;
var vect_y = g_bally-g_mousey;
var dsquared = vect_x*vect_x + vect_y*vect_y;
if (dsquared < 1000) dsquared = 1000;
var force = 10000.0 / dsquared;
var mag = Math.sqrt(dsquared);
vect_x /= mag; vect_y /= mag;
g_balldx -= force * vect_x;
g_balldy -= force * vect_y;
var ball = getGUIObjectByName('ball');
var r=5;
ball.size = new GUISize(g_ballx-r, g_bally-r, g_ballx+r, g_bally+r);
}
}
function StartGame()
{
var gameAttribs=new Object();
gameAttribs.mapFile="test_01.pmp";
startGame(gameAttribs);
}
]]></script>
<!--
==========================================
- GLOBAL OBJECTS -
==========================================
-->
<object type="empty" name="all_gui" size="0 0 100% 100%" z="1" hidden="false">
<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="1000" hidden="false">
<action on="Load"><![CDATA[
writeConsole("(GUI) Exit button successfully loaded.");
]]></action>
<action on="Press"><![CDATA[
exit();
]]></action>
<!-- START temporary code
This code only applies to the main menu, I don't know how it'll behave ingame. It is temporary and should be removed as soon as we got proper
tooltip support implemented. -->
<action on="MouseEnter"><![CDATA[
tooltipObject = getGUIObjectByName("pregame-mainmenu-tooltip");
tooltipObject.caption = "Tired of 0 A.D. ? Click here to leave and reenter the real world.";
GUIObjectUnhide("pregame-mainmenu-tooltip");
]]></action>
<action on="MouseLeave"><![CDATA[
GUIObjectHide("pregame-mainmenu-tooltip");
]]></action>
<!-- END temporary code -->
</object>
</object>
<!--
==========================================
- MAIN MENU -
==========================================
-->
<object type="empty" name="pregame_gui" size="0 0 100% 100%" z="1" hidden="false">
<object type="image" name="pregame-mainmenu-background-image" sprite="pregame-mainmenu-background" size="0 0 100% 100%" z="100" hidden="false" />
<object type="button" name="pregame-mainmenu-sp-button" sprite-over="pregame-mainmenu-spbt" size="52.9296875% 23.95833333% 67.578125% 42.317708333%" z="101" hidden="false">
<action on="Press"><![CDATA[
startGame();
GUIObjectUnhide("session_gui");
GUIObjectHide("pregame_gui")
GUIObjectUnhide("End_Game_Button")
]]></action>
<action on="MouseEnter"><![CDATA[
tooltipObject = getGUIObjectByName("pregame-mainmenu-tooltip");
tooltipObject.caption = "Want to move some Dudes around or test something ? Click here to start a new game on the default map.";
GUIObjectUnhide("pregame-mainmenu-tooltip");
]]></action>
<action on="MouseLeave"><![CDATA[
GUIObjectHide("pregame-mainmenu-tooltip");
]]></action>
</object>
<object type="image" name="pregame-mainmenu-0ad-logo" sprite="pregame-mainmenu-0ad-logo-480x218" size="21.1914062% 3.125% 68.0664062% 31.5104166%" z="102" hidden="false" ghost="true">
</object>
<object type="text" name="pregame-mainmenu-versionnumber" size="43% 24% 43%+282 24%+25" z="103" textcolor="237 227 167" font="prospero16" hidden="false" ghost="true">
{buildTime}
<action on="Load"><![CDATA[
this.caption = "Build: " + buildTime(0) + " " + getLanguageID();
]]></action>
</object>
<object type="text" name="pregame-mainmenu-tooltip" sprite="tooltip-background" size="69% 6.3802% 97.0703125% 28.125%" font="prospero16" textcolor="255 255 255" z="104" hidden="true" ghost="true">
tooltipText
</object>
<object type="image" name="pregame-mainmenu-wfg-logo" sprite="pregame-mainmenu-wfg-logo-256x64" size="10 91.666666%-30 25.9765% 100%-30" z="102" hidden="false">
<action on="MouseEnter"><![CDATA[
tooltipObject = getGUIObjectByName("pregame-mainmenu-tooltip");
tooltipObject.caption = "These are the guys who made this game. Visit them at http://www.wildfiregames.com/0ad/";
GUIObjectUnhide("pregame-mainmenu-tooltip");
]]></action>
<action on="MouseLeave"><![CDATA[
GUIObjectHide("pregame-mainmenu-tooltip");
]]></action>
</object>
</object>
<!-- TEMPORARY END GAME BUTTON; REMOVE WHEN GAME MENU IMPLEMENTED; BUTTON IS OUTSIDE OF pregame_gui IN ORDER TO BE VISIBLE DURING GAME -->
<object type="button" name="End_Game_Button" sprite="sprite1" sprite-over="sprite1-over" sprite-pressed="sprite1-pressed" size="100%-150 32 100%-30 53" z="105" textcolor="0 0 0" hidden="true">
End Game
<action on="Press"><![CDATA[
endGame();
GUIObjectHide("session_gui");
GUIObjectHide("End_Game_Button");
GUIObjectUnhide("pregame_gui");
]]></action>
</object>
<object type="empty" name="session_gui" size="0 0 100% 100%" z="1" hidden="true">
<!--
==========================================
- DUDE PRODUCTION BUTTONS -
==========================================
-->
<object type="button" name="Dude_Production_Button_random" hotkey="dudemachine.random" sprite="sprite1" sprite-over="sprite1-over" sprite-pressed="sprite1-pressed" size="100%-288 32 100%-160 53" z="100" textcolor="0 0 0" text-align="center" text-valign="center">
Make random dude
<action on="Press"><![CDATA[
// Generate random numbers
rand_x = Math.round(Math.random()*100);
rand_y = Math.round(Math.random()*100);
rand_z = Math.round(Math.random()*100);
MakeUnit(rand_x, rand_y, rand_z, "Prometheus Dude");
]]></action>
</object>
<object type="empty" name="top_bar" size="0 0 100% 100%" z="1" hidden="false">
<!--
==========================================
- RESOURCE ICONS -
==========================================
-->
<!-- FOOD -->
<!-- icon/background/text -->
<object type="text" name="resource_food" sprite="resource_food" size="100%-456 4 20 20" z="100" hidden="false"></object>
<object type="text" name="resource_food_counter" sprite="resource_counter" size="100%-436 5 1 1" z="90" hidden="false"></object>
<object type="text" name="resource_food_text" size="100%-438 -3 1 1" font="prospero16" textcolor="255 255 255" z="100" hidden="false"> 123,456</object>
<!-- WOOD -->
<!-- icon/background/text -->
<object type="text" name="resource_wood" sprite="resource_wood" size="100%-376 4 20 20" z="100" hidden="false"></object>
<object type="text" name="resource_wood_counter" sprite="resource_counter" size="100%-356 5 1 1" z="90" hidden="false"></object>
<object type="text" name="resource_wood_text" size="100%-358 -3 1 1" font="prospero16" textcolor="255 255 255" z="100" hidden="false"> 789,012</object>
<!-- STONE -->
<!-- icon/background/text -->
<object type="text" name="resource_stone" sprite="resource_stone" size="100%-296 4 20 20" z="100" hidden="false"></object>
<object type="text" name="resource_stone_counter" sprite="resource_counter" size="100%-276 5 1 1" z="90" hidden="false"></object>
<object type="text" name="resource_stone_text" size="100%-278 -3 1 1" font="prospero16" textcolor="255 255 255" z="100" hidden="false"> 345,678</object>
<!-- ORE -->
<!-- icon/background/text -->
<object type="text" name="resource_ore" sprite="resource_ore" size="100%-216 4 20 20" z="100" hidden="false"></object>
<object type="text" name="resource_ore_counter" sprite="resource_counter" size="100%-196 5 1 1" z="90" hidden="false"></object>
<object type="text" name="resource_ore_text" size="100%-198 -3 1 1" font="prospero16" textcolor="255 255 255" z="100" hidden="false"> 910,123</object>
<!-- POPULATION -->
<!-- icon/background/text -->
<object type="text" name="resource_population" sprite="resource_population" size="100%-136 4 20 20" z="100" hidden="false"></object>
<object type="text" name="resource_population_counter" sprite="resource_counter_long" size="100%-116 5 1 1" z="90" hidden="false"></object>
<object type="text" name="resource_population_text" size="100%-118 -3 1 1" font="prospero16" textcolor="255 255 255" z="100" hidden="false"> 100/150</object>
<!--
==========================================
- PHASE BANNER -
==========================================
ATTENTION: This is temporary code. We will have a nice-looking graphical banner here later.
-->
<object type="button" name="phase_banner" sprite="white-border" size="50%-50 2 50%+50 23" z="50" textcolor="255 255 255" text-align="center" text-valign="center">Village
<action on="Press"><![CDATA[
ObjectPhaseBanner = getGUIObjectByName("phase_banner");
switch (ObjectPhaseBanner.caption)
{
case ("Village"):
ObjectPhaseBanner.caption = "Town";
break;
case ("Town"):
ObjectPhaseBanner.caption = "City";
break;
case ("City"):
ObjectPhaseBanner.caption = "Village";
break;
default:
break;
}
]]></action>
</object>
</object>
<!--
==========================================
- MISCELLANEOUS -
==========================================
There's always MISC :) This is mainly temporary fun-stuff.
-->
<object type="text" name="wfg_logo" sprite="wfg_logo_128" size="20 20 148 148" z="100" hidden="false" />
<!--
==========================================
- BOTTOM PANEL IN SESSION UI -
==========================================
-->
<object type="text" name="session_panel" hidden="false">
<!-- PANEL BACKGROUND -->
<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 100%-179 100% 100%" 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>
<object type="text" name="session_panel_bg_right" sprite="session_panel_bg_right" size="100%-241 100%-161 100% 100%" z="50" hidden="false" />
<!-- MINIMAP - TEMP: Insert real minimap here later. -->
<!--<object type="text" name="session_panel_minimap_dummy" sprite="session_panel_minimap_dummy" size="9 100%-169 100% 100%" z="60" hidden="false" />-->
<object type="minimap" name="session_panel_minimap_dummy" sprite="session_panel_minimap_dummy" size="0%+9 100%-169 0%+169 100%-9" z="60" hidden="false" />
<!--
==========================================
- INFO PANEL -
==========================================
-->
<!-- Entity info objects -->
<object type="text" name="selection_portrait_test" sprite="portrait_unit_dude_lrg" size="50%-250 100%-130 64 64" z="60" hidden="true" />
<object type="text" name="selection_name_test" size="50%-180 100%-140 50%+200 100%-120" font="prospero24b" textcolor="255 255 255" z="60" hidden="false" />
<object type="text" name="selection_pos_test" size="50%-250 100%-60 50%+200 100%-95" textcolor="255 255 255" z="60" hidden="false" />
<object type="text" name="selection_speed_test" size="50%+200 100%-43 100%-241 0" textcolor="255 255 255" z="60" hidden="false" />
<!-- / Entity info objects -->
<!-- Entity Statistics -->
<object type="text" name="statistic_attack" sprite="statistic_attack" size="50%+75 100%-110 20 20" z="100" hidden="false"></object>
<object type="text" name="statistic_hack" sprite="statistic_hack" size="50%+75 100%-75 20 20" z="100" hidden="false"></object>
<object type="text" name="statistic_pierce" sprite="statistic_pierce" size="50%+75 100%-40 20 20" z="100" hidden="false"></object>
<object type="text" name="statistic_accuracy" sprite="statistic_accuracy" size="50%+175 100%-110 20 20" z="100" hidden="false"></object>
<object type="text" name="statistic_los" sprite="statistic_los" size="50%+175 100%-75 20 20" z="100" hidden="false"></object>
<object type="text" name="statistic_speed" sprite="statistic_speed" size="50%+175 100%-40 20 20" z="100" hidden="false"></object>
<!-- / Entity Statistics -->
<!-- TABS - Background -->
<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" />
<!-- TABS MAIN -->
<!-- TAB: [1] COMMAND -->
<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">
<!-- DUDEMAKER BUTTONS -->
<object type="button" name="normal_mode_button_dude" sprite="portrait_unit_dude_sml" sprite-over="portrait_unit_dude_sml_over" size="100%-190 100%-143 100%-158 100%-111" z="64" hidden="false">
<action on="Press"><![CDATA[
MakeUnit(15,0,15,"Prometheus Dude");
]]></action>
</object>
<object type="button" name="normal_mode_button_dudette" sprite="portrait_unit_dudette_sml" sprite-over="portrait_unit_dudette_sml_over" size="100%-150 100%-143 100%-117 100%-111" z="64" hidden="false">
<action on="Press"><![CDATA[
MakeUnit(15,0,15,"Prometheus Dudette");
]]></action>
</object>
<object type="button" name="normal_mode_button_cavalrydude" sprite="portrait_unit_cavalrydude_sml" sprite-over="portrait_unit_cavalrydude_sml_over" size="100%-110 100%-143 100%-77 100%-111" z="64" hidden="false">
<action on="Press"><![CDATA[
MakeUnit(15,0,15,"Cavalry Dude");
]]></action>
</object>
</object>
<!-- TAB: [2] BUILD CIVIL -->
<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>
<!-- TAB: [3] BUILD MILITARY -->
<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>
<!-- TAB: [4] FORMATIONS -->
<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>
<!-- / TABS MAIN -->
<!-- TABS - Tab Buttons -->
<!-- BUTTON: [1] Command -->
<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>
<!-- BUTTON: [2] Build Civil -->
<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>
<!-- BUTTON: [3] Build Military -->
<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>
<!-- BUTTON: [4] Formations -->
<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>
<!--
==========================================
- FPS COUNTER -
==========================================
-->
<object type="text" name="FPS_Counter" size="18 100%-35 200 100%" z="100" hotkey="hotkey.fps.toggle" textcolor="200 200 0" font="verdana16" hidden="false">
<action on="Load"><![CDATA[
setInterval(UpdateFPSCounter, 50);
]]></action>
</object>
<object type="text" name="wfg_logo" sprite="wfg_logo_128" size="20 20 148 148" z="100" hidden="true" />
<!--
==========================================
@ -446,7 +40,7 @@
]]></action>
</object>
<object type="button" name="ball" sprite="sprite1" size="0 0 1 1" z="120" hotkey="orbital.cheat">
<object type="button" name="ball" sprite="sprite1" size="0 0 1 1" z="120" hotkey="orbital.cheat" hidden="true">
<action on="Press"><![CDATA[
writeConsole(mouse);
g_balldx = 0;
@ -454,7 +48,7 @@
]]></action>
</object>
<object type="button" name="arena-button" sprite="sprite1" size="710 32 726 48" z="200" hotkey="orbital.toggle" font="prospero14" text-align="center" text-valign="center">v
<object type="button" name="arena-button" sprite="sprite1" size="710 32 726 48" z="200" hotkey="orbital.toggle" font="prospero14" text-align="center" text-valign="center" hidden="true">v
<action on="Press"><![CDATA[
var arena = getGUIObjectByName('arena');
arena.hidden = !arena.hidden;
@ -468,14 +62,4 @@
==========================================
-->
<!-- / SESSION GUI -->
</object>
<!-- TEST -->
<object type="image" name="darkening_test" sprite="tooltip-background" size="0 0 100% 100%" z="1000" hidden="true">
</object>
<!-- / ALL GUI -->
</object>
</objects>

View File

@ -14,7 +14,7 @@
sprite-bar-vertical-pressed="null"
sprite-button-bottom-pressed="sprite2-pressed"
sprite-button-top-pressed="sprite2-pressed"
/>
/>
<scrollbar name="sb2" width="37" minimum-bar-size="5"
sprite-button-top="scroll"
@ -27,6 +27,19 @@
sprite-bar-vertical-pressed="null"
sprite-button-bottom-pressed="scroll"
sprite-button-top-pressed="scroll"
/>
/>
<icon name="smiley" texture="test2" size="16 16" />
<!-- Commented out until tooltips are implemented as documented.
<tooltip name="session_tooltip"
maxwidth="300"
pos="10 10"
time="5"
sprite="tooltip-background"
font="prospero16"
textcolor="255 255 255"
/>
-->
</setup>

View File

@ -4,333 +4,6 @@
<sprites>
<!--
==========================================
TEMPORARY IMAGES
==========================================
-->
<!-- Exit Button -->
<sprite name="exit_sprite">
<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>
<!-- Some more temps /Gee -->
<sprite name="test">
<image size="0 0 100% 100%" backcolor="100 100 250" />
</sprite>
<sprite name="test2">
<image size="0 0 100% 100%" backcolor="200 100 050" />
</sprite>
<!--
==========================================
PREGAME GUI
==========================================
-->
<sprite name="pregame-mainmenu-background">
<image texture="ui_pregame_mainmenu_background.png" real-texture-placement="0 0 1024 768" size="0 0 100% 100%" />
</sprite>
<sprite name="pregame-mainmenu-0ad-logo-480x218">
<image texture="ui_pregame_mainmenu_0ad_logo.png" real-texture-placement="0 0 480 218" size="0 0 100% 100%" />
</sprite>
<sprite name="pregame-mainmenu-wfg-logo-256x64">
<image texture="ui_pregame_mainmenu_wfg_logo.png" real-texture-placement="0 0 256 64" size="0 0 100% 100%" />
</sprite>
<sprite name="pregame-mainmenu-spbt">
<image texture="ui_pregame_mainmenu_spbt_over.png" real-texture-placement="1 1 151 142" size="0 0 100% 100%" />
</sprite>
<sprite name="tooltip-background">
<image texture="black_16x16.png" texture-size="0 0 16 16" size="0 0 100% 100%" />
</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 183 180" />
</sprite>
<sprite name="session_panel_minimap_dummy">
<image texture="ui_session_panel_minimap_dummy.png" texture-size="0 0 256 256" size="0 0 163 161" />
</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_32.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_32.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_32.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_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<sprite name="icon_research">
<image texture="ui_session_panel_tabs_research_bt_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!--
==========================================
RESOURCE ICONS
==========================================
-->
<sprite name="resource_food">
<image texture="ui_icon_resource_food_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_wood">
<image texture="ui_icon_resource_wood_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_stone">
<image texture="ui_icon_resource_stone_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_ore">
<image texture="ui_icon_resource_ore_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_population">
<image texture="ui_icon_resource_population_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_counter">
<image texture="ui_icon_resource_counter.png" texture-size="0 0 64 64" size="0 0 53 19" />
</sprite>
<sprite name="resource_counter_long">
<image texture="ui_icon_resource_counter_long.png" texture-size="0 0 64 64" size="0 0 62 19" />
</sprite>
<!--
==========================================
STATISTIC ICONS
==========================================
-->
<sprite name="statistic_attack">
<image texture="ui_icon_statistic_attack_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="statistic_accuracy">
<image texture="ui_icon_statistic_accuracy_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="statistic_los">
<image texture="ui_icon_statistic_los_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="statistic_pierce">
<image texture="ui_icon_statistic_pierce_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="statistic_hack">
<image texture="ui_icon_statistic_hack_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="statistic_speed">
<image texture="ui_icon_statistic_speed_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<!--
==========================================
UNIT PORTRAIT ICONS
==========================================
-->
<!-- The Dude -->
<sprite name="portrait_unit_dude_lrg">
<image texture="ui_portrait_unit_dude_64.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_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<sprite name="portrait_unit_dude_lrg_over">
<image texture="ui_portrait_unit_dude_64_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_32_over.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!-- The Dudette -->
<sprite name="portrait_unit_dudette_lrg">
<image texture="ui_portrait_unit_dudette_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_unit_dudette_sml">
<image texture="ui_portrait_unit_dudette_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<sprite name="portrait_unit_dudette_lrg_over">
<image texture="ui_portrait_unit_dudette_64_over.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_unit_dudette_sml_over">
<image texture="ui_portrait_unit_dudette_32_over.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!-- The Cavalry Dude -->
<sprite name="portrait_unit_cavalrydude_lrg">
<image texture="ui_portrait_unit_cavalrydude_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_unit_cavalrydude_sml">
<image texture="ui_portrait_unit_cavalrydude_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<sprite name="portrait_unit_cavalrydude_lrg_over">
<image texture="ui_portrait_unit_cavalrydude_64_over.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_unit_cavalrydude_sml_over">
<image texture="ui_portrait_unit_cavalrydude_32_over.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!--
==========================================
STRUCTURE PORTRAIT ICONS
==========================================
-->
<!-- Hellenic Civic Centre -->
<sprite name="portrait_structure_helecc_lrg">
<image texture="ui_portrait_structure_helecc_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_structure_helecc_sml">
<image texture="ui_portrait_structure_helecc_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!-- Hellenic House -->
<sprite name="portrait_structure_heleho_lrg">
<image texture="ui_portrait_structure_heleho_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_structure_heleho_sml">
<image texture="ui_portrait_structure_heleho_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!--
==========================================
TECH PORTRAIT ICONS
==========================================
-->
<!-- Axe Tech -->
<sprite name="portrait_tech_axe_lrg">
<image texture="ui_portrait_tech_axe_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_tech_axe_sml">
<image texture="ui_portrait_tech_axe_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!-- Tree Tech -->
<sprite name="portrait_tech_tree_lrg">
<image texture="ui_portrait_tech_tree_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_tech_tree_sml">
<image texture="ui_portrait_tech_tree_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!-- Wood Tech -->
<sprite name="portrait_tech_wood_lrg">
<image texture="ui_portrait_tech_wood_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_tech_wood_sml">
<image texture="ui_portrait_tech_wood_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!--
==========================================
FLORA PORTRAIT ICONS
==========================================
-->
<!-- Deciduous Tree -->
<sprite name="portrait_flora_deciduotree_lrg">
<image texture="ui_portrait_flora_deciduotree_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_flora_deciduotree_sml">
<image texture="ui_portrait_flora_deciduotree_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!--
==========================================
ACTION PORTRAIT ICONS
==========================================
-->
<!-- Build Action -->
<sprite name="portrait_action_build_lrg">
<image texture="ui_portrait_action_build_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_action_build_sml">
<image texture="ui_portrait_action_build_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!-- Chop Action -->
<sprite name="portrait_action_chop_lrg">
<image texture="ui_portrait_action_chop_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_action_chop_sml">
<image texture="ui_portrait_action_chop_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!--
==========================================
MISCELLANEOUS PORTRAIT ICONS
==========================================
-->
<!-- Placeholder for Missing Portrait -->
<sprite name="portrait_unknown_lrg">
<image texture="ui_portrait_unknown_64.png" texture-size="0 0 64 64" size="0 0 64 64" />
</sprite>
<sprite name="portrait_unknown_sml">
<image texture="ui_portrait_unknown_32.png" texture-size="0 0 32 32" size="0 0 32 32" />
</sprite>
<!--
==========================================
GENERIC BUTTONS
@ -425,4 +98,267 @@
<image backcolor="150 105 180" size="2 0 100%-2 100%" z-level="1" />
</sprite>
<!--
==========================================
PREGAME GUI
==========================================
-->
<sprite name="pregame-mainmenu-background">
<image texture="ui_pregame_mainmenu_background.png" real-texture-placement="0 0 1024 768" size="0 0 100% 100%" />
</sprite>
<sprite name="pregame-mainmenu-0ad-logo-480x218">
<image texture="ui_pregame_mainmenu_0ad_logo.png" real-texture-placement="0 0 480 218" size="0 0 100% 100%" />
</sprite>
<sprite name="pregame-mainmenu-wfg-logo-256x64">
<image texture="ui_pregame_mainmenu_wfg_logo.png" real-texture-placement="0 0 256 64" size="0 0 100% 100%" />
</sprite>
<sprite name="pregame-mainmenu-spbt">
<image texture="ui_pregame_mainmenu_spbt_over.png" real-texture-placement="1 1 151 142" size="0 0 100% 100%" />
</sprite>
<sprite name="tooltip-background">
<image texture="black_16x16.png" texture-size="0 0 16 16" size="0 0 100% 100%" />
</sprite>
<!--
==========================================
MAP ORB
==========================================
-->
<sprite name="session_panel_minimap_bg">
<image texture="ui_session_panel_minimap_bg.png" texture-size="0 0 256 256" size="0 0 176 176" />
</sprite>
<sprite name="session_panel_minimap_dummy">
<image texture="ui_session_panel_minimap_dummy.png" texture-size="0 0 256 256" size="0 0 172 172" />
</sprite>
<sprite name="session_panel_minimap_segleft1">
<image texture="ui_session_panel_minimap_segleft1.png" texture-size="0 0 64 64" size="0 0 32 46" />
</sprite>
<sprite name="session_panel_minimap_segleft2">
<image texture="ui_session_panel_minimap_segleft2.png" texture-size="0 0 64 64" size="0 0 40 44" />
</sprite>
<sprite name="session_panel_minimap_segleft3">
<image texture="ui_session_panel_minimap_segleft3.png" texture-size="0 0 64 64" size="0 0 40 44" />
</sprite>
<sprite name="session_panel_minimap_segleft4">
<image texture="ui_session_panel_minimap_segleft4.png" texture-size="0 0 64 64" size="0 0 32 46" />
</sprite>
<sprite name="session_panel_minimap_segbottom1">
<image texture="ui_session_panel_minimap_segbottom1.png" texture-size="0 0 64 64" size="0 0 44 40" />
</sprite>
<sprite name="session_panel_minimap_segbottom2">
<image texture="ui_session_panel_minimap_segbottom2.png" texture-size="0 0 64 64" size="0 0 46 46" />
</sprite>
<sprite name="session_panel_minimap_segbottom3">
<image texture="ui_session_panel_minimap_segbottom3.png" texture-size="0 0 64 64" size="0 0 46 46" />
</sprite>
<sprite name="session_panel_minimap_segbottom4">
<image texture="ui_session_panel_minimap_segbottom4.png" texture-size="0 0 64 64" size="0 0 44 40" />
</sprite>
<sprite name="session_panel_minimap_segtop1">
<image texture="ui_session_panel_minimap_segtop1.png" texture-size="0 0 64 64" size="0 0 44 40" />
</sprite>
<sprite name="session_panel_minimap_segtop2">
<image texture="ui_session_panel_minimap_segtop2.png" texture-size="0 0 64 64" size="0 0 46 46" />
</sprite>
<sprite name="session_panel_minimap_segtop3">
<image texture="ui_session_panel_minimap_segtop3.png" texture-size="0 0 64 64" size="0 0 46 46" />
</sprite>
<sprite name="session_panel_minimap_segtop4">
<image texture="ui_session_panel_minimap_segtop4.png" texture-size="0 0 64 64" size="0 0 44 40" />
</sprite>
<!--
==========================================
STATUS ORB
==========================================
-->
<sprite name="session_panel_status_bg-top">
<image texture="ui_session_panel_status_bg-top.png" texture-size="0 0 256 256" size="0 0 184 184" />
</sprite>
<sprite name="session_panel_status_bg-bottom">
<image texture="ui_session_panel_status_bg-bottom.png" texture-size="0 0 256 256" size="0 0 184 184" />
</sprite>
<!--
==========================================
TOP BAR
==========================================
-->
<sprite name="resource_food">
<image texture="ui_icon_resource_food_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_wood">
<image texture="ui_icon_resource_wood_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_stone">
<image texture="ui_icon_resource_stone_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_ore">
<image texture="ui_icon_resource_ore_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_population">
<image texture="ui_icon_resource_population_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="resource_counter">
<image texture="ui_icon_resource_counter.png" texture-size="0 0 64 64" size="0 0 53 19" />
</sprite>
<sprite name="resource_counter_long">
<image texture="ui_icon_resource_counter_long.png" texture-size="0 0 64 64" size="0 0 62 19" />
</sprite>
<!--
==========================================
STATISTIC ICONS
==========================================
-->
<sprite name="statistic_hp">
<image texture="ui_icon_statistic_hp_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="statistic_rank1">
<image texture="ui_icon_statistic_rank1_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="statistic_rank2">
<image texture="ui_icon_statistic_rank2_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="statistic_rank3">
<image texture="ui_icon_statistic_rank3_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<sprite name="statistic_garrison">
<image texture="ui_icon_statistic_garrison_20.png" texture-size="0 0 32 32" size="0 0 20 20" />
</sprite>
<!--
==========================================
ENTITY PORTRAITS
==========================================
-->
<!-- Default (empty) portrait. -->
<sprite name="ui_portrait_default_64">
<image texture="ui_portrait_default_64.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_default_64-lit">
<image texture="ui_portrait_default_64-lit.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_default_64-grey">
<image texture="ui_portrait_default_64-grey.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<!-- Prometheus Dude portrait. -->
<sprite name="ui_portrait_unit_dude_64">
<image texture="ui_portrait_unit_dude_64.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_unit_dude_64-lit">
<image texture="ui_portrait_unit_dude_64-lit.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_unit_dude_64-grey">
<image texture="ui_portrait_unit_dude_64-grey.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<!-- Prometheus Dudette portrait. -->
<sprite name="ui_portrait_unit_dudette_64">
<image texture="ui_portrait_unit_dudette_64.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_unit_dudette_64-lit">
<image texture="ui_portrait_unit_dudette_64-lit.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_unit_dudette_64-grey">
<image texture="ui_portrait_unit_dudette_64-grey.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<!-- Prometheus Cavalry Dude portrait. -->
<sprite name="ui_portrait_unit_cavalrydude_64">
<image texture="ui_portrait_unit_cavalrydude_64.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_unit_cavalrydude_64-lit">
<image texture="ui_portrait_unit_cavalrydude_64-lit.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_unit_cavalrydude_64-grey">
<image texture="ui_portrait_unit_cavalrydude_64-grey.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<!-- Deciduous Tree portrait. -->
<sprite name="ui_portrait_flora_deciduotree_64">
<image texture="ui_portrait_flora_deciduotree_64.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_flora_deciduotree_64-lit">
<image texture="ui_portrait_flora_deciduotree_64-lit.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_flora_deciduotree_64-grey">
<image texture="ui_portrait_flora_deciduotree_64-grey.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<!-- Structure: Hellenic House portrait. -->
<sprite name="ui_portrait_structure_heleho_64">
<image texture="ui_portrait_structure_heleho_64.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_structure_heleho_64-lit">
<image texture="ui_portrait_structure_heleho_64-lit.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<sprite name="ui_portrait_structure_heleho_64-grey">
<image texture="ui_portrait_structure_heleho_64-grey.png" texture-size="0 0 100% 100%" size="0 0 100% 100%" />
</sprite>
<!--
==========================================
TEMPORARY IMAGES
==========================================
-->
<!-- Exit Button -->
<sprite name="exit_sprite">
<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>
<!-- Some more temps /Gee -->
<sprite name="test">
<image size="0 0 100% 100%" backcolor="100 100 250" />
</sprite>
<sprite name="test2">
<image size="0 0 100% 100%" backcolor="200 100 050" />
</sprite>
<!--
==========================================
TEST
==========================================
-->
</sprites>

View File

@ -22,4 +22,13 @@
sprite2-pressed="sprite2-pressed"
sprite2-disabled="sprite2-disabled"
/>
<!-- Empty entity portrait. -->
<style name="portrait"
sprite="ui_portrait_default_64"
sprite-over="ui_portrait_default_64-lit"
sprite-disabled="ui_portrait_default_64-grey"
tooltip-style="session-tooltip"
/>
</styles>

View File

@ -1 +0,0 @@
writeConsole("External JS file loaded");