diff --git a/binaries/data/mods/official/gui/test/1_global.xml b/binaries/data/mods/official/gui/test/1_global.xml
index 96dc0d03d6..9c88527235 100755
--- a/binaries/data/mods/official/gui/test/1_global.xml
+++ b/binaries/data/mods/official/gui/test/1_global.xml
@@ -4,17 +4,77 @@
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/official/gui/test/2_mainmenu.xml b/binaries/data/mods/official/gui/test/2_mainmenu.xml
index 62612645e1..6ecc126523 100755
--- a/binaries/data/mods/official/gui/test/2_mainmenu.xml
+++ b/binaries/data/mods/official/gui/test/2_mainmenu.xml
@@ -10,4 +10,50 @@
==========================================
-->
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {buildTime}
+
+
+
+
+
+
+
+
+ tooltipText
+
+
+
diff --git a/binaries/data/mods/official/gui/test/3_session.xml b/binaries/data/mods/official/gui/test/3_session.xml
index 0a3579bfd1..28a357191f 100755
--- a/binaries/data/mods/official/gui/test/3_session.xml
+++ b/binaries/data/mods/official/gui/test/3_session.xml
@@ -10,4 +10,1129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 2
+
+
+
+
+
+
+ 3
+
+
+
+
+
+
+ 4
+
+
+
+
+
+
+ 5
+
+
+
+
+
+
+ 6
+
+
+
+
+
+
+ 7
+
+
+
+
+
+
+ 8
+
+
+
+
+
+
+ 9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/official/gui/test/basefunctions.js b/binaries/data/mods/official/gui/test/basefunctions.js
deleted file mode 100755
index b079102b20..0000000000
--- a/binaries/data/mods/official/gui/test/basefunctions.js
+++ /dev/null
@@ -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();
-}
diff --git a/binaries/data/mods/official/gui/test/functions_pregame.js b/binaries/data/mods/official/gui/test/functions_pregame.js
new file mode 100755
index 0000000000..e69de29bb2
diff --git a/binaries/data/mods/official/gui/test/functions_session.js b/binaries/data/mods/official/gui/test/functions_session.js
new file mode 100755
index 0000000000..b6dd1273b8
--- /dev/null
+++ b/binaries/data/mods/official/gui/test/functions_session.js
@@ -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 );
+}
diff --git a/binaries/data/mods/official/gui/test/functions_test.js b/binaries/data/mods/official/gui/test/functions_test.js
new file mode 100755
index 0000000000..53ab70cb30
--- /dev/null
+++ b/binaries/data/mods/official/gui/test/functions_test.js
@@ -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);
+ }
+ }
+
diff --git a/binaries/data/mods/official/gui/test/animation.js b/binaries/data/mods/official/gui/test/functions_utility_animation.js
similarity index 100%
rename from binaries/data/mods/official/gui/test/animation.js
rename to binaries/data/mods/official/gui/test/functions_utility_animation.js
diff --git a/binaries/data/mods/official/gui/test/functions_utility_debug.js b/binaries/data/mods/official/gui/test/functions_utility_debug.js
new file mode 100755
index 0000000000..09f2b8eb18
--- /dev/null
+++ b/binaries/data/mods/official/gui/test/functions_utility_debug.js
@@ -0,0 +1,5 @@
+function UpdateFPSCounter()
+{
+ getGUIObjectByName('FPS_Counter').caption = "FPS: " + getFPS();
+}
+
diff --git a/binaries/data/mods/official/gui/test/functions_utility_object.js b/binaries/data/mods/official/gui/test/functions_utility_object.js
new file mode 100755
index 0000000000..115e860a6b
--- /dev/null
+++ b/binaries/data/mods/official/gui/test/functions_utility_object.js
@@ -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;
+}
+
diff --git a/binaries/data/mods/official/gui/test/hello.xml b/binaries/data/mods/official/gui/test/hello.xml
index 202eeac906..6e70027b19 100755
--- a/binaries/data/mods/official/gui/test/hello.xml
+++ b/binaries/data/mods/official/gui/test/hello.xml
@@ -2,421 +2,15 @@
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {buildTime}
-
-
-
-
- tooltipText
-
-
-
-
-
-
-
-
-
-
-
-
- End Game
-
-
-
-
-
-
-
-
-
- Make random dude
-
-
-
-
-
-
-
-
-
-
-
- 123,456
-
-
-
-
-
- 789,012
-
-
-
-
-
- 345,678
-
-
-
-
-
- 910,123
-
-
-
-
-
- 100/150
-
-
-
- Village
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
diff --git a/binaries/data/mods/official/gui/test/setup.xml b/binaries/data/mods/official/gui/test/setup.xml
index c3b7a90994..732d733784 100755
--- a/binaries/data/mods/official/gui/test/setup.xml
+++ b/binaries/data/mods/official/gui/test/setup.xml
@@ -14,7 +14,7 @@
sprite-bar-vertical-pressed="null"
sprite-button-bottom-pressed="sprite2-pressed"
sprite-button-top-pressed="sprite2-pressed"
- />
+ />
+ />
+
+
+
+
diff --git a/binaries/data/mods/official/gui/test/sprite1.xml b/binaries/data/mods/official/gui/test/sprite1.xml
index 0d093b31df..e63fa6c452 100755
--- a/binaries/data/mods/official/gui/test/sprite1.xml
+++ b/binaries/data/mods/official/gui/test/sprite1.xml
@@ -4,333 +4,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/data/mods/official/gui/test/styles.xml b/binaries/data/mods/official/gui/test/styles.xml
index a903036ffd..f38ac47758 100755
--- a/binaries/data/mods/official/gui/test/styles.xml
+++ b/binaries/data/mods/official/gui/test/styles.xml
@@ -22,4 +22,13 @@
sprite2-pressed="sprite2-pressed"
sprite2-disabled="sprite2-disabled"
/>
+
+
+
+
diff --git a/binaries/data/mods/official/gui/test/test.js b/binaries/data/mods/official/gui/test/test.js
deleted file mode 100755
index 9f907660ad..0000000000
--- a/binaries/data/mods/official/gui/test/test.js
+++ /dev/null
@@ -1 +0,0 @@
-writeConsole("External JS file loaded");
\ No newline at end of file