From 2c405028f4cdf0b5bcabafb6af462783c5eeec05 Mon Sep 17 00:00:00 2001 From: Acumen Date: Fri, 10 Mar 2006 21:23:39 +0000 Subject: [PATCH] * Increased Optimus font to 14b. * Got selection healthbars into correct position. * Implemented statistic icons. (todo: tooltips) * Enabled pick lists (had to resort to brute-force check-every-subsection-of-an-entity-property-whenever-I-use-it method). This was SVN commit r3621. --- .../data/mods/official/fonts/optimus12.tga | Bin 8210 -> 8210 bytes .../data/mods/official/fonts/optimus14b.fnt | 100 + .../data/mods/official/fonts/optimus14b.tga | Bin 0 -> 8210 bytes .../data/mods/official/gui/test/4_session.xml | 95 +- .../functions_page_session_status_commands.js | 35 +- .../functions_page_session_status_pane.js | 31 +- .../official/gui/test/functions_sim_player.js | 7 - .../data/mods/official/gui/test/styles.xml | 11 +- binaries/logs/trace.txt | 2078 +++++++++-------- 9 files changed, 1274 insertions(+), 1083 deletions(-) create mode 100644 binaries/data/mods/official/fonts/optimus14b.fnt create mode 100644 binaries/data/mods/official/fonts/optimus14b.tga diff --git a/binaries/data/mods/official/fonts/optimus12.tga b/binaries/data/mods/official/fonts/optimus12.tga index 675c6d6f18a26584c288f8003f8df6951c295be5..284fff9c68b2520710b2c45d4d75bdb00c8cabde 100644 GIT binary patch delta 16 XcmbQ_Fv)?Pfq|K!X4d|V?A!_fCS?R? delta 16 XcmbQ_Fv)?Pfq|JJy(r-?l##%@s2*c%v8R1~`+ zF@|8UU;`AyLQ#o;qNr#@4-`cd6#3uGevguJck_e&w#@E-cXnoWb{~~+u_EK3Jpu0$X(pr2NcH@mmOc%ATQ8X$?Q3nvllKjJ zar3L;WcfQflCcmzL_Z?M#0^1sRgGvT{v}MEfiH+GwqchoIYeQS)ba3VF-p(5J^{LG z+T`bpX#y^5RP{MdS24^39&h1g?)M@J0p47K0A{a$p4R}pr}yO4H*o-s1imJE3{RrX z*ey-7kjUx!+)p`uhxxxDZ6`uCE}1T&AAg9t0#Q;y7HPuq)B0oH{=b4-` z8KQu8(y|6e$?!Yc6XhYs&U8@LW2O-&hZ%1mc&4Y}HLL`Gmo&`8MNT*6FjRYnzczz< z0rgdvp}3^JKLUq4OKvdGLDfi7JvqKH@Ci{EKCui3LRpMN0XRaGit$8vSe2+YUf4>t zQ1{3wK1j2iKc`k{4j2D`zxif&Y66@ZpY#DODN?$Mes8p8xNBk@8T!2*DG1dj}7_c?A z5f{I|Gu&b@TeOgH$0}p4GUxt7V6q^Z=>-0va$7|`%hs>k-#Va)w9U+&O7uR!p2;m+ zsZO<0jNyiQc~@8{9r22%WLSfFq-{V1Ih;Al>$Y0XvmYeg#r}?0DFpi@DlBm65;C05 zAy}C#*G!nG%hh#kFQNu_kj(IqNRurIpn1pQqYoY0sDHnIFVR5 zXIWs?fp^8zvX&*gbbc+KwLyNd*Muu$gE52FZoG!>J9j3Ed94wzq*Hj}Z%4JbILqj~ z)``=3}lY2cOfHE#!G8ZFyu* zT5+r;HU3Og-l8v?hLZm`=Z4U(D=k8=USNsR#DXQ9Iy|^;s(D3;_FFF6#Kf>zeaSE^#b|W<{)RUrn=ix>nqp7F`xA*p&4?4fv

;clfXlc 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 Rz(xs>g;a#%b_>bQ^dA)m!*T!s literal 0 HcmV?d00001 diff --git a/binaries/data/mods/official/gui/test/4_session.xml b/binaries/data/mods/official/gui/test/4_session.xml index a20558e99c..6a69493820 100644 --- a/binaries/data/mods/official/gui/test/4_session.xml +++ b/binaries/data/mods/official/gui/test/4_session.xml @@ -416,6 +416,49 @@ ]]> + + + + + + + + + + + @@ -552,39 +595,29 @@ z="100" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - diff --git a/binaries/data/mods/official/gui/test/functions_page_session_status_commands.js b/binaries/data/mods/official/gui/test/functions_page_session_status_commands.js index 12aab602be..e4ca72fc9c 100644 --- a/binaries/data/mods/official/gui/test/functions_page_session_status_commands.js +++ b/binaries/data/mods/official/gui/test/functions_page_session_status_commands.js @@ -75,9 +75,6 @@ function defineCommandButtons(command) default: var buttonX = getCrd ("snStatusPaneCommand" + (snStatusPaneCommand.split+1) + "_" + listLoop).coord[rb].x; var buttonY = currCrd.coord[rb].y + 3; - - var barX = buttonX; - var barY = buttonY; break; } @@ -92,6 +89,8 @@ function defineCommandButtons(command) +snStatusPaneCommand.span; var buttonY = parentTab.coord[rb].y; } + var barX = buttonX; + var barY = 0; } else // If we're doing the row of tabs, { @@ -126,8 +125,6 @@ function defineCommandButtons(command) buttonWidth, 4); getGUIObjectByName ("snStatusPaneCommand" + tabLoop + "_" + listLoop + "Bar").hidden = false; getGUIObjectByName ("snStatusPaneCommand" + tabLoop + "_" + listLoop + "Bar").caption = 100; - -//console.write ("Done health bar " + "snStatusPaneCommand" + tabLoop + "_" + listLoop + "Bar:" + buttonX + " " + buttonY); } /* // Store indexes to the button for easy future reference. @@ -419,13 +416,18 @@ function refreshCommandButtons() } // Update Barter. (Tab button, persistent buttons, click them to do things.) -// updateTab ("barter", "production", "", selection[0].actions.barter.list); + if (selection[0].actions && selection[0].actions.barter && selection[0].actions.barter.list) + updateTab ("barter", "production", "", selection[0].actions.barter.list); // Update pick lists (formation, stance, trade). (Tab button holds current selection, click a button to select a new option and close the tab.) -// updateTab ("formation", "pick", "", selection[0].traits.formation.type, selection[0].traits.formation.curr); -// updateTab ("stance", "pick", "", selection[0].traits.ai.stance.list, selection[0].traits.ai.stance.curr); -// updateTab ("trade", "pick", "", selection[0].actions.trade.list, selection[0].actions.trade.curr); -// updateTab ("gate", "pick", "", selection[0].actions.gate.list, selection[0].actions.gate.curr); + if (selection[0].traits && selection[0].traits.formation && selection[0].traits.formation.type && selection[0].traits.formation.curr) + updateTab ("formation", "pick", "", selection[0].traits.formation.type, selection[0].traits.formation.curr); + if (selection[0].traits && selection[0].traits.ai && selection[0].traits.ai.stance && selection[0].traits.ai.stance.list && selection[0].traits.ai.stance.curr) + updateTab ("stance", "pick", "", selection[0].traits.ai.stance.list, selection[0].traits.ai.stance.curr); + if (selection[0].actions && selection[0].actions.trade && selection[0].actions.trade.list && selection[0].actions.trade.curr) + updateTab ("trade", "pick", "", selection[0].actions.trade.list, selection[0].actions.trade.curr); + if (selection[0].actions && selection[0].actions.gate && selection[0].actions.gate.list && selection[0].actions.gate.list.curr) + updateTab ("gate", "pick", "", selection[0].actions.gate.list, selection[0].actions.gate.curr); // Update research. (Tab button, persistent buttons, click them to do things.) updateTab ("research", "production", "", selection[0].actions.create.list.research, ""); @@ -471,6 +473,19 @@ function refreshCommandButtons() } } + // Do the selection/garrison list. + tabCounter = snStatusPaneCommand.tab.max; + // If there are entities garrisoned in the current entity, + if (selection[0].traits.garrison && selection[0].traits.garrison.curr > 0) + { + updateTab ("garrison", "production", "", selection, ""); + } + else + { + // If more than one entity is selected, list them. + if (selection.length > 1) + updateTab ("selection", "production", "", selection, ""); + } } diff --git a/binaries/data/mods/official/gui/test/functions_page_session_status_pane.js b/binaries/data/mods/official/gui/test/functions_page_session_status_pane.js index f6b2c3fcaf..646bce13d7 100644 --- a/binaries/data/mods/official/gui/test/functions_page_session_status_pane.js +++ b/binaries/data/mods/official/gui/test/functions_page_session_status_pane.js @@ -74,7 +74,7 @@ function refreshStatusPane() textCaption += '[font=verdana10][color="' + Math.round(selection[0].player.getColour().r*255) + ' ' + Math.round(selection[0].player.getColour().g*255) + ' ' + Math.round(selection[0].player.getColour().b*255) + '"]' + selection[0].player.name + '[/color][/font]\n'; textCaption += "[font=verdana10][color=white]" + selection[0].traits.id.civ + "[/color][/font]\n"; textCaption += "[font=verdana10][color=white]" + selection[0].traits.id.specific + "[/color][/font]\n"; - textCaption += "[font=optimus12][color=gold]" + selection[0].traits.id.generic + "[/color][/font]"; + textCaption += "[font=optimus14b][color=gold]" + selection[0].traits.id.generic + "[/color][/font]"; getGUIObjectByName ("snStatusPaneText").caption = textCaption; } @@ -142,9 +142,38 @@ textCaption += '[font=verdana10][color="' + Math.round(selection[0].player.getCo getGUIObjectByName ("snStatusPaneSupplyIcon").hidden = true; } } + + // Update statistic icons. + statCurr = 1; + if (selection[0].actions && selection[0].actions.attack && selection[0].actions.attack.melee && selection[0].actions.attack.melee.damage) + updateStat ("snStatusPaneStat_", "Attack", "rating", selection[0].actions.attack.melee.damage); + if (selection[0].actions && selection[0].actions.attack && selection[0].actions.attack.melee && selection[0].actions.attack.melee.range) + updateStat ("snStatusPaneStat_", "Statistic", "range", selection[0].actions.attack.melee.range); + if (selection[0].actions && selection[0].actions.attack && selection[0].actions.attack.ranged && selection[0].actions.attack.ranged.damage) + updateStat ("snStatusPaneStat_", "Attack", "rating", selection[0].actions.attack.ranged.damage); + if (selection[0].actions && selection[0].actions.attack && selection[0].actions.attack.ranged && selection[0].actions.attack.ranged.range) + updateStat ("snStatusPaneStat_", "Statistic", "range", selection[0].actions.attack.ranged.range); + if (selection[0].traits && selection[0].traits.armour && selection[0].traits.armour.value) + updateStat ("snStatusPaneStat_", "Armour", "rating", selection[0].traits.armour.value); + if (selection[0].traits && selection[0].traits.vision && selection[0].traits.vision.los) + updateStat ("snStatusPaneStat_", "Statistic", "vision", selection[0].traits.vision.los); // Refresh command buttons. refreshCommandButtons(); } // ==================================================================== + +function updateStat (baseName, cellSheet, cell, statistic) +{ + textStat = getGUIObjectByName (baseName + statCurr); + textStat.sprite = "snIconSheet" + cellSheet; + textStat.cell_id = cellGroup[cellSheet][cell].id; + textStat.tooltip = cellGroup[cellSheet][cell].name; + iconStat = getGUIObjectByName (baseName + (statCurr + 1)) + iconStat.caption = statistic; + iconStat.tooltip = cellGroup[cellSheet][cell].name + ": " + statistic + "."; + statCurr = (statCurr + 2); +} + +// ==================================================================== diff --git a/binaries/data/mods/official/gui/test/functions_sim_player.js b/binaries/data/mods/official/gui/test/functions_sim_player.js index b13f314dd6..fc788c9cb8 100644 --- a/binaries/data/mods/official/gui/test/functions_sim_player.js +++ b/binaries/data/mods/official/gui/test/functions_sim_player.js @@ -274,15 +274,8 @@ function refreshResource (resourceName, resourceIndex) if (coordGroup == GUIType) { // Update counter size. -// resourceObject.size = Crd[getCrd(resourceObject.name, true)].size[GUIType]; -// resourceIconObject.size = Crd[getCrd(resourceIconObject.name, true)].size[GUIType]; - resourceObject.size = Crd[crdResult].size[GUIType]; resourceIconObject.size = Crd[crdIconResult].size[GUIType]; - - console.write (resourceName + " Counter: " + resourceObject.size); - console.write (resourceName + " Icon: " + resourceIconObject.size); - } } } diff --git a/binaries/data/mods/official/gui/test/styles.xml b/binaries/data/mods/official/gui/test/styles.xml index 35204ea67a..932e5bf7f6 100755 --- a/binaries/data/mods/official/gui/test/styles.xml +++ b/binaries/data/mods/official/gui/test/styles.xml @@ -493,7 +493,16 @@ ghost="true" sprite="snIconSheetResource" z="100" - /> + /> + +