Changeset 25116

Timestamp:
Mar 25, 2021, 7:58:47 AM (3 years ago)
Author:
Freagarach
Message:

Give option to switch between specific and/or generic entity names.

As requested on the forums (e.g. https://wildfiregames.com/forum/index.php?/topic/25202-transliteration-of-ancient-greek-into-english/&tab=comments#comment-378174).

Differential revision: D2126
Closes: #3397

Location:
ps/trunk/binaries/data
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • ps/trunk/binaries/data/config/default.cfg

    r25070 r25116  
    411411defaultformation = "special/formations/box" ; For walking orders, automatically put units into this formation if they don't have one already.
    412412formationwalkonly = "true"                  ; Formations are disabled when giving gather/attack/... orders.
     413
    413414
    414415[gui.session.minimap]
  • ps/trunk/binaries/data/mods/public/gui/common/tooltips.js

    r24989 r25116  
    44    "body": { "font": "sans-13" },
    55    "comma": { "font": "sans-12" },
    6     "nameSpecificBig": { "font": "sans-bold-16" },
    7     "nameSpecificSmall": { "font": "sans-bold-12" },
    8     "nameGeneric": { "font": "sans-bold-16" }
     6    "nameBig": { "font": "sans-bold-16" },
     7    "nameSmall": { "font": "sans-bold-12" },
     8    "name": { "font": "sans-bold-16" }
    99};
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
    1021
    1122/**
     
    10471058        return template.name.specific;
    10481059
    1049     return sprintf(translate("%(specificName)s (%(genericName)s)"), {
    1050         "specificName": template.name.specific,
    1051         "genericName": template.name.generic
     1060    let primaryName = g_SpecificNamesPrimary ? template.name.specific : template.name.generic;
     1061    let secondaryName;
     1062    if (g_ShowSecondaryNames)
     1063        secondaryName = g_SpecificNamesPrimary ? template.name.generic : template.name.specific;
     1064
     1065    if (secondaryName)
     1066        return sprintf(translate("%(primaryName)s (%(secondaryName)s)"), {
     1067            "primaryName": primaryName,
     1068            "secondaryName": secondaryName
     1069        });
     1070    return sprintf(translate("%(primaryName)s"), {
     1071        "primaryName": primaryName
    10521072    });
    10531073
     
    10571077{
    10581078    if (!template.name.specific)
    1059         return setStringTags(template.name.generic, g_TooltipTextFormats.nameSpecificBig);
     1079        return setStringTags(template.name.generic, g_TooltipTextFormats.namePrimaryBig);
     1080
     1081    let primaryName = g_SpecificNamesPrimary ? template.name.specific : template.name.generic;
     1082    let secondaryName;
     1083    if (g_ShowSecondaryNames)
     1084        secondaryName = g_SpecificNamesPrimary ? template.name.generic : template.name.specific;
     1085
     1086    if (!secondaryName || primaryName == secondaryName)
     1087        return sprintf(translate("%(primaryName)s"), {
     1088            "primaryName":
     1089            setStringTags(primaryName[0], g_TooltipTextFormats.namePrimaryBig) +
     1090            setStringTags(primaryName.slice(1).toUpperCase(), g_TooltipTextFormats.namePrimarySmall)
     1091        });
    10601092
    10611093    // Translation: Example: "Epibátēs Athēnaîos [font="sans-bold-16"](Athenian Marine)[/font]"
    1062     return sprintf(translate("%(specificName)s %(fontStart)s(%(genericName)s)%(fontEnd)s"), {
    1063         "specificName": getEntitySpecificNameFormatted(template),
    1064         "genericName": template.name.generic,
    1065         "fontStart": '[font="' + g_TooltipTextFormats.nameGeneric.font + '"]',
    1066         "fontEnd": '[/font]'
    1067     });
    1068 }
    1069 
    1070 function getEntitySpecificNameFormatted(template)
    1071 {
    1072     if (!template.name.specific)
    1073         return setStringTags(template.name.generic, g_TooltipTextFormats.nameSpecificBig);
    1074 
    1075     return setStringTags(template.name.specific[0], g_TooltipTextFormats.nameSpecificBig) +
    1076         setStringTags(template.name.specific.slice(1).toUpperCase(), g_TooltipTextFormats.nameSpecificSmall);
     1094    return sprintf(translate("%(primaryName)s (%(secondaryName)s)"), {
     1095        "primaryName":
     1096            setStringTags(primaryName[0], g_TooltipTextFormats.namePrimaryBig) +
     1097            setStringTags(primaryName.slice(1).toUpperCase(), g_TooltipTextFormats.namePrimarySmall),
     1098        "secondaryName": setStringTags(secondaryName, g_TooltipTextFormats.nameSecondary)
     1099    });
     1100}
     1101
     1102function getEntityPrimaryNameFormatted(template)
     1103{
     1104    let primaryName = g_SpecificNamesPrimary ? template.name.specific : template.name.generic;
     1105    if (!primaryName)
     1106        return setStringTags(g_SpecificNamesPrimary ? template.name.generic : template.name.specific, g_TooltipTextFormats.namePrimaryBig);
     1107
     1108    return setStringTags(primaryName[0], g_TooltipTextFormats.namePrimaryBig) +
     1109        setStringTags(primaryName.slice(1).toUpperCase(), g_TooltipTextFormats.namePrimarySmall);
    10771110}
    10781111
  • ps/trunk/binaries/data/mods/public/gui/options/options.json

    r24703 r25116  
    8282                "tooltip": "Display the time at which a chat message was posted.",
    8383                "config": "chat.timestamp"
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
     100
     101
     102
     103
     104
     105
     106
     107
     108
     109
     110
     111
    84112            }
    85113        ]
  • ps/trunk/binaries/data/mods/public/gui/reference/catafalque/Emblem.js

    r24726 r25116  
    2222        this.EmblemImage.sprite = "stretched:" + civData.Emblem;
    2323        this.EmblemImage.tooltip = getAurasTooltip(template);
    24         this.EmblemCaption.caption = getEntitySpecificNameFormatted(template);
     24        this.EmblemCaption.caption = getEntityNameFormatted(template);
    2525        this.Emblem.hidden = false;
    2626        return true;
  • ps/trunk/binaries/data/mods/public/gui/reference/structree/Boxes/EntityBox.js

    r23808 r25116  
    2727
    2828        let caption = this.gui.children[0];
    29         caption.caption = translate(this.template.name.specific);
     29        caption.caption = g_SpecificNamesPrimary ?
     30            translate(this.template.name.specific) :
     31            translate(this.template.name.generic);
    3032
    3133        let icon = this.gui.children[1];
  • ps/trunk/binaries/data/mods/public/gui/reference/structree/Sections/Trainer/TrainerSection.xml

    r23808 r25116  
    1414        <repeat count="6" var="t">
    1515            <object type="image" style="StructBox" name="trainer[t]">
    16                 <object type="text" style="StructNameSpecific" name="trainer[t]_name"/>
     16                <object type="text" style="StructName" name="trainer[t]_name"/>
    1717                <object type="button" style="StructIcon" name="trainer[t]_icon"/>
    1818                <object name="trainer[t]_productionRows">
  • ps/trunk/binaries/data/mods/public/gui/reference/structree/Sections/Tree/TreeSection.xml

    r23808 r25116  
    1919        <repeat count="40" var="s">
    2020            <object type="image" style="StructBox" name="structure[s]">
    21                 <object type="text" style="StructNameSpecific" name="structure[s]_name"/>
     21                <object type="text" style="StructName" name="structure[s]_name"/>
    2222                <object type="button" style="StructIcon" name="structure[s]_icon"/>
    2323                <object name="structure[s]_productionRows">
  • ps/trunk/binaries/data/mods/public/gui/reference/structree/styles.xml

    r23808 r25116  
    55    />
    66
    7     <style name="StructNameSpecific"
     7    <style name="StructName"
    88        font="sans-12"
    99        size="0 0 100% 20"
  • ps/trunk/binaries/data/mods/public/gui/reference/viewer/viewer.js

    r23991 r25116  
    11/**
    2  * Override style so we can get a bigger specific name.
     2 * Override style so we can get a bigger name.
    33 */
    4 g_TooltipTextFormats.nameSpecificBig.font = "sans-bold-20";
    5 g_TooltipTextFormats.nameSpecificSmall.font = "sans-bold-16";
    6 g_TooltipTextFormats.nameGeneric.font = "sans-bold-16";
     4g_TooltipTextFormats.nameBig.font = "sans-bold-20";
     5g_TooltipTextFormats.nameSmall.font = "sans-bold-16";
     6g_TooltipTextFormats.name.font = "sans-bold-16";
    77
    88/**
  • ps/trunk/binaries/data/mods/public/gui/session/PanelEntity.js

    r24327 r25116  
    3232        let entityState = GetEntityState(entityID);
    3333        let template = GetTemplateData(entityState.template);
    34         this.nameTooltip = setStringTags(template.name.specific, this.NameTags) + "\n";
     34        this.nameTooltip = setStringTags(ic, this.NameTags) + "\n";
    3535
    3636        Engine.GetGUIObjectByName("panelEntityHealthSection[" + buttonID + "]").hidden = !entityState.hitpoints;
  • ps/trunk/binaries/data/mods/public/gui/session/selection_details.js

    r25110 r25116  
    5252function displaySingle(entState)
    5353{
    54     // Get general unit and player data
    5554    let template = GetTemplateData(entState.template);
    56     let specificName = template.name.specific;
    57     let genericName = template.name.generic;
    58     // If packed, add that to the generic name (reduces template clutter)
    59     if (genericName && template.pack && template.pack.state == "packed")
    60         genericName = sprintf(translate("%(genericName)s — Packed"), { "genericName": genericName });
     55
     56    let primaryName = g_SpecificNamesPrimary ? template.name.specific : template.name.generic;
     57    let secondaryName;
     58    if (g_ShowSecondaryNames)
     59        secondaryName = g_SpecificNamesPrimary ? template.name.generic : template.name.specific;
     60
     61    // If packed, add that to the generic name (reduces template clutter).
     62    if (template.pack && template.pack.state == "packed")
     63    {
     64        if (secondaryName && g_ShowSecondaryNames)
     65            secondaryName = sprintf(translate("%(secondaryName)s — Packed"), { "secondaryName": secondaryName });
     66        else
     67            secondaryName = sprintf(translate("Packed"));
     68    }
    6169    let playerState = g_Players[entState.player];
    6270
     
    289297    }
    290298
    291     Engine.GetGUIObjectByName("specific").caption = specificName;
    292299    Engine.GetGUIObjectByName("player").caption = playerName;
    293300
     
    295302        "color:" + g_DiplomacyColors.getPlayerColor(entState.player, 128);
    296303
    297     Engine.GetGUIObjectByName("generic").caption = genericName == specificName ? "" :
    298         sprintf(translate("(%(genericName)s)"), {
    299             "genericName": genericName
     304    Engine.GetGUIObjectByName("primary").caption = primaryName;
     305    Engine.GetGUIObjectByName("secondary").caption = !secondaryName || primaryName == secondaryName ? "" :
     306        sprintf(translate("(%(secondaryName)s)"), {
     307            "secondaryName": secondaryName
    300308        });
    301309
     
    333341    let iconTooltips = [];
    334342
    335     if (genericName)
    336         iconTooltips.push("[font=\"sans-bold-16\"]" + genericName + "[/font]");
    337 
     343    iconTooltips.push(setStringTags(primaryName, g_TooltipTextFormats.namePrimaryBig));
    338344    iconTooltips = iconTooltips.concat([
    339345        getVisibleEntityClassesFormatted,
  • ps/trunk/binaries/data/mods/public/gui/session/selection_panels.js

    r25110 r25116  
    10661066        if (!upgradingEntStates.length && upgradableEntStates.length)
    10671067        {
     1068
     1069
     1070
     1071
     1072
    10681073            let tooltips = [];
    1069             if (data.item.tooltip)
    1070                 tooltips.push(sprintf(translate("Upgrade to %(name)s. %(tooltip)s"), {
    1071                     "name": template.name.generic,
    1072                     "tooltip": translate(data.item.tooltip)
    1073                 }));
     1074            if (g_ShowSecondaryNames)
     1075            {
     1076                if (data.item.tooltip)
     1077                    tooltips.push(sprintf(translate("Upgrade to a %(primaryName)s (%(secondaryName)s). %(tooltip)s"), {
     1078                        "primaryName": primaryName,
     1079                        "secondaryName": secondaryName,
     1080                        "tooltip": translate(data.item.tooltip)
     1081                    }));
     1082                else
     1083                    tooltips.push(sprintf(translate("Upgrade to a %(primaryName)s (%(secondaryName)s)."), {
     1084                        "primaryName": primaryName,
     1085                        "secondaryName": secondaryName
     1086                    }));
     1087            }
    10741088            else
    1075                 tooltips.push(sprintf(translate("Upgrade to %(name)s."), {
    1076                     "name": template.name.generic
    1077                 }));
     1089            {
     1090                if (data.item.tooltip)
     1091                    tooltips.push(sprintf(translate("Upgrade to a %(primaryName)s. %(tooltip)s"), {
     1092                        "primaryName": primaryName,
     1093                        "tooltip": translate(data.item.tooltip)
     1094                    }));
     1095                else
     1096                    tooltips.push(sprintf(translate("Upgrade to a %(primaryName)s."), {
     1097                        "primaryName": primaryName
     1098                    }));
     1099            }
    10781100
    10791101            tooltips.push(
  • ps/trunk/binaries/data/mods/public/gui/session/selection_panels_middle/single_details_area.xml

    r24028 r25116  
    9898    <object size="0 92 100% 100%" name="statsArea" type="image" sprite="edgedPanelShader">
    9999
    100         <!-- Specific and generic names. -->
     100        <!-- names. -->
    101101        <object z="30">
    102             <object size="0 2 100% 22" name="specific" ghost="true" type="text" style="SpecificNameCentered"/>
    103             <object size="0 17 100% 37" name="generic" ghost="true" type="text" style="GenericNameCentered"/>
     102            <object size="0 2 100% 22" name="NameCentered"/>
     103            <object size="0 17 100% 37" name="NameCentered"/>
    104104        </object>
    105105
  • ps/trunk/binaries/data/mods/public/gui/session/session.js

    r25083 r25116  
    304304
    305305    initBatchTrain();
     306
    306307    initSelectionPanels();
    307308    LoadModificationTemplates();
     
    778779
    779780/**
     781
     782
     783
     784
     785
     786
     787
     788
     789
    780790 * Inverts the given configuration boolean and returns the current state.
    781791 * For example "silhouettes".
  • ps/trunk/binaries/data/mods/public/gui/session/styles.xml

    r24565 r25116  
    157157    />
    158158
    159     <style name="SpecificNameCentered"
     159    <style name="NameCentered"
    160160        font="sans-bold-stroke-13"
    161161        textcolor="gold"
     
    165165    />
    166166
    167     <style name="GenericNameCentered"
     167    <style name="NameCentered"
    168168        font="sans-stroke-12"
    169169        textcolor="white"
Note: See TracChangeset for help on using the changeset viewer.