Ticket #4237: DiplomacyWinLosePatch_EvenMoreFinalThanBefore.diff

File DiplomacyWinLosePatch_EvenMoreFinalThanBefore.diff, 5.8 KB (added by elexis, 7 years ago)
  • binaries/data/mods/public/gui/common/gamedescription.js

    function getGameDescription(extended = f  
    327327            title.value === true ? translateWithContext("gamesetup option", "enabled") :
    328328            !title.value ? translateWithContext("gamesetup option", "disabled") :
    329329            title.value
    330330    })).join("\n");
    331331}
     332
     333/**
     334 * Sets the win/defeat icon to indicate current player's state.
     335 * @param {string} state - The current in-game state of the player.
     336 * @param {string} imageID - The name of the XML image object to update.
     337 */
     338function setOutcomeIcon(state, imageID)
     339{
     340    let image = Engine.GetGUIObjectByName(imageID);
     341    image.tooltip = escapeText(imageID);
     342
     343    if (state == "won")
     344    {
     345        image.sprite = "stretched:session/icons/stances/violent.png";
     346        image.tooltip = translate("Victory");
     347    }
     348    else if (state == "defeated")
     349    {
     350        image.sprite = "stretched:session/icons/stances/passive.png";
     351        image.tooltip = translate("Defeated");
     352    }
     353}
  • binaries/data/mods/public/gui/session/diplomacy_window.xml

     
    99    <object type="text" style="TitleText" size="50%-96 -16 50%+96 16">
    1010        <translatableAttribute id="caption">Diplomacy</translatableAttribute>
    1111    </object>
    1212
    1313    <object name="diplomacyHeader" size="32 32 100%-32 64">
    14         <object name="diplomacyHeaderName" size="0 0 140 100%" type="text" style="DiplomacyText" ghost="true" text_align="center">
     14        <object name="diplomacyHeaderName" size="20 0 140 100%" type="text" style="DiplomacyText" ghost="true" text_align="center">
    1515            <translatableAttribute id="caption">Name</translatableAttribute>
    1616        </object>
    1717        <object name="diplomacyHeaderCiv" size="150 0 250 100%" type="text" style="DiplomacyText" ghost="true">
    1818            <translatableAttribute id="caption">Civilization</translatableAttribute>
    1919        </object>
     
    3939            <translatableAttribute id="caption">Tribute</translatableAttribute>
    4040        </object>
    4141    </object>
    4242
    4343    <object size="32 64 100%-32 384">
    44         <repeat count="16" var="n">
     44        <repeat count="8" var="n">
    4545            <object name="diplomacyPlayer[n]" size="0 0 100% 20" type="image" hidden="false">
    46                 <object name="diplomacyPlayerName[n]" size="0 0 150 100%" type="text" style="DiplomacyText" ghost="true"/>
     46                <object name="diplomacyPlayerOutcome[n]" type="image" size="0 0 25 100%" tooltip_style="sessionToolTipBold"/>
     47                <object name="diplomacyPlayerName[n]" size="25 0 150 100%" type="text" style="DiplomacyText" ghost="true"/>
    4748                <object name="diplomacyPlayerCiv[n]" size="150 0 250 100%" type="text" style="DiplomacyText" ghost="true"/>
    4849                <object name="diplomacyPlayerTeam[n]" size="250 0 300 100%" type="text" style="DiplomacyText" ghost="true"/>
    4950                <object name="diplomacyPlayerTheirs[n]" size="300 0 360 100%" type="text" style="DiplomacyText" ghost="true"/>
    5051
    5152                <!-- Diplomatic stance - selection -->
  • binaries/data/mods/public/gui/session/menu.js

    function diplomacySetupTexts(i, rowsize)  
    344344    size.bottom = rowsize * i;
    345345    row.size = size;
    346346
    347347    row.sprite = "color: " + rgbToGuiColor(g_Players[i].color) + " 32";
    348348
     349    setOutcomeIcon(g_Players[i].state, "diplomacyPlayerOutcome["+(i-1)+"]");
     350
    349351    Engine.GetGUIObjectByName("diplomacyPlayerName["+(i-1)+"]").caption = colorizePlayernameByID(i);
    350352    Engine.GetGUIObjectByName("diplomacyPlayerCiv["+(i-1)+"]").caption = g_CivData[g_Players[i].civ].Name;
    351353
    352354    Engine.GetGUIObjectByName("diplomacyPlayerTeam["+(i-1)+"]").caption =
    353355        g_Players[i].team < 0 ? translateWithContext("team", "None") : g_Players[i].team+1;
  • binaries/data/mods/public/gui/summary/summary.js

    function updatePanelData(panelInfo)  
    116116
    117117        let boxSize = rowPlayerObject.size;
    118118        boxSize.right = rowPlayerObjectWidth;
    119119        rowPlayerObject.size = boxSize;
    120120
    121         let outcome = Engine.GetGUIObjectByName(playerOutcome);
    122         if (playerState.state == "won")
    123         {
    124             outcome.sprite = "stretched:session/icons/stances/violent.png";
    125             outcome.tooltip = translate("Victory");
    126         }
    127         else if (playerState.state == "defeated")
    128         {
    129             outcome.sprite = "stretched:session/icons/stances/passive.png";
    130             outcome.tooltip = translate("Defeated");
    131         }
     121        setOutcomeIcon(playerState.state, playerOutcome);
    132122
    133123        Engine.GetGUIObjectByName(playerNameColumn).caption = g_GameData.sim.playerStates[i+1].name;
    134124
    135125        let civIcon = Engine.GetGUIObjectByName(playerCivicBoxColumn);
    136126        civIcon.sprite = "stretched:" + g_CivData[playerState.civ].Emblem;
  • binaries/data/mods/public/gui/summary/summary.xml

     
    22
    33<objects>
    44    <script file="gui/common/functions_global_object.js"/>
    55    <script file="gui/common/functions_civinfo.js"/>
    66    <script file="gui/common/functions_utility.js"/>
     7    <script file="gui/common/gamedescription.js"/>
    78    <script file="gui/common/settings.js"/>
    89
    910    <!-- After settings.js, which defines g_Settings and g_MaxPlayers. -->
    1011    <script file="gui/summary/counters.js"/>
    1112    <script file="gui/summary/summary.js"/>