Ticket #785: gamesetup.diff

File gamesetup.diff, 8.2 KB (added by Adrian, 11 years ago)
  • binaries/data/mods/public/gui/gamesetup/gamesetup.js

     
    107107    var mapTypes = getGUIObjectByName("mapTypeSelection");
    108108    mapTypes.list = ["Scenario","Random"];
    109109    mapTypes.list_data = ["scenario","random"];
     110   
     111    // Init Game speed
     112    var GameSpeed = getGUIObjectByName("gameSpeedSelection");
     113    GameSpeed.list = ["Slow","Normal","Fast","Faster"];
     114    GameSpeed.list_data = [0.5,1,1.5,2];
    110115
     116
    111117    // Setup map filters - will appear in order they are added
    112118    addFilter("Default", function(settings) { return settings && !keywordTestOR(settings.Keywords, ["naval", "demo", "hidden"]); });
    113119    addFilter("Naval Maps", function(settings) { return settings && keywordTestAND(settings.Keywords, ["naval"]); });
     
    125131    {
    126132        mapTypes.selected = 0;
    127133        mapFilters.selected = 0;
    128 
     134        GameSpeed.selected=1;
     135   
    129136        initMapNameList();
    130137
    131138        var numPlayersSelection = getGUIObjectByName("numPlayersSelection");
     
    245252        getGUIObjectByName("mapSelection").hidden = true;
    246253        getGUIObjectByName("victoryConditionText").hidden = false;
    247254        getGUIObjectByName("victoryCondition").hidden = true;
    248        
     255        getGUIObjectByName("gameSpeedSelection").hidden = true;
     256        getGUIObjectByName("gameSpeedText").hidden = false;
     257
    249258        // Disable player and game options controls
    250259        // TODO: Shouldn't players be able to choose their own assignment?
    251260        for (var i = 0; i < MAX_PLAYERS; ++i)
     
    394403        break;
    395404
    396405    case "start":
     406        Engine.SetSimRate(+(g_GameAttributes.settings.gameSpeed)); // change the GameSpeed
    397407        Engine.SwitchGuiPage("page_loading.xml", {
    398408            "attribs": g_GameAttributes,
    399409            "isNetworked" : g_IsNetworked,
     
    804814    updateGameAttributes();
    805815}
    806816
     817
     818function selectGameSpeed(speed)
     819{
     820    // Avoid recursion
     821    if (g_IsInGuiUpdate)
     822    {
     823        return;
     824    }
     825
     826    // Network clients can't change map filter
     827    if (g_IsNetworked && !g_IsController)
     828    {
     829        return;
     830    }
     831
     832    g_GameAttributes.settings.gameSpeed=speed;
     833
     834
     835    updateGameAttributes();
     836}
     837
    807838function launchGame()
    808839{
    809840    if (g_IsNetworked && !g_IsController)
     
    902933            "playerAssignments": g_PlayerAssignments
    903934        });
    904935    }
     936Engine.SetSimRate(+(g_GameAttributes.settings.gameSpeed)); //change the Gamespeed   
    905937}
    906938
    907939////////////////////////////////////////////////////////////////////////////////////////////////
     
    931963        var startingResourcesBox = getGUIObjectByName("startingResources");
    932964        startingResourcesBox.selected = startingResourcesBox.list_data.indexOf(mapSettings.StartingResources);
    933965        initMapNameList();
     966       
     967        var gameSpeedSelection = getGUIObjectByName("gameSpeedSelection");
     968        var indexGameSpeed = gameSpeedSelection.list_data.indexOf(g_GameAttributes.settings.gameSpeed);
     969        getGUIObjectByName("gameSpeedText").caption = gameSpeedSelection.list[indexGameSpeed];
    934970    }
    935971
    936972    // Controls common to all map types
     
    939975    var victoryCondition = getGUIObjectByName("victoryCondition");
    940976    var lockTeams = getGUIObjectByName("lockTeams");
    941977    var mapSize = getGUIObjectByName("mapSize");
     978        var gameSpeed = getGUIObjectByName("gameSpeed");
    942979    var enableCheats = getGUIObjectByName("enableCheats");
    943980    var populationCap = getGUIObjectByName("populationCap");
    944981    var startingResources = getGUIObjectByName("startingResources");
     
    948985    var revealMapText = getGUIObjectByName("revealMapText");
    949986    var victoryConditionText = getGUIObjectByName("victoryConditionText");
    950987    var lockTeamsText = getGUIObjectByName("lockTeamsText");
     988    var gameSpeedText = getGUIObjectByName("gameSpeedText");
    951989    var enableCheatsText = getGUIObjectByName("enableCheatsText");
    952990    var populationCapText = getGUIObjectByName("populationCapText");
    953991    var startingResourcesText = getGUIObjectByName("startingResourcesText");
  • binaries/data/mods/public/gui/gamesetup/gamesetup.xml

     
    9595            </object>
    9696        </object>
    9797        <object size="24 64 100%-460 358" type="image" sprite="CoverFillDark" name="playerAssignmentsPannelCover" hidden="true"/>
    98         <!-- Map selection -->
     98
     99        <!-- Map Preview -->
     100        <object  type="image" sprite="BackgroundIndentFillDark" name="gamePreviewBox" size="100%-426 57 100%-24 359">
     101            <object type="image" sprite="snMapPreview" size="1 1 401 301" name="mapPreview"/>
     102        </object>
     103
     104
     105
     106        <!-- Map selection and Settings -->
    99107       
    100108       
    101         <object size="100%-425 363 100%-325 455" name="mapTypeSelectionTooltip">
     109        <object size="100%-425 363 100%-325 55" name="mapTypeSelectionTooltip">
    102110            <object type="text" style="RightLabelText" size="0 0 100% 30">Match Type:</object>
    103111            <object type="text" style="RightLabelText" size="0 32 100% 62">Map Filter:</object>
    104112            <object type="text" style="RightLabelText" size="0 64 100% 94">Select Map:</object>
    105113            <object type="text" style="RightLabelText" size="0 96 100% 126">Map Size:</object>
     114            <object type="text" style="RightLabelText" size="0 128 100% 158">Game Speed:</object>           
    106115        </object>
    107116
     117
    108118        <object size="100%-327 363 100%-25 423" name="mapFilterSelectionTooltip">
    109119            <object name="mapTypeText" type="text" style="LeftLabelText" size="0 0 100% 30"  hidden="true"/>
    110120            <object name="mapFilterText" type="text" style="LeftLabelText" size="0 32 100% 62"  hidden="true"/>
    111121            <object name="mapSelectionText" type="text" style="LeftLabelText" size="0 64 100% 94"  hidden="true"/>
    112122            <object name="mapSizeText" type="text" style="LeftLabelText" size="0 96 100% 126" hidden="true"/>
     123            <object name="gameSpeedText" type="text" style="LeftLabelText" size="0 128 100% 158" hidden="true"/>
    113124        </object>
    114125       
    115126        <object name="mapTypeSelection"
    116127            type="dropdown"
    117128            style="StoneDropDown"
    118             size="100%-325 363 100%-25 391"
     129            size="100%-320 363 100%-25 391"
    119130            tooltip_style="onscreenToolTip"
    120131            tooltip="Select a map type.">
    121132            <action on="SelectionChange">selectMapType(this.list_data[this.selected]);</action>
     
    124135        <object name="mapFilterSelection"
    125136            type="dropdown"
    126137            style="StoneDropDown"
    127             size="100%-325 395 100%-25 423"
     138            size="100%-320 395 100%-25 423"
    128139            tooltip_style="onscreenToolTip"
    129140            tooltip="Select a map filter.">
    130141            <action on="SelectionChange">selectMapFilter(this.list[this.selected]);</action>
    131142        </object>
    132143       
    133         <object size="100%-325 427 100%-25 455" name="mapSelectionPannel" z="55">
     144        <object size="100%-320 427 100%-25 455" name="mapSelectionPannel" z="55">
    134145
    135146            <object name="mapSelection"
    136147                style="StoneDropDown"
     
    142153            </object>
    143154
    144155        </object>
     156
     157        <object size="100%-320 492 100%-25 519" name="gameSpeedSelectionPannel" z="55">
     158
     159            <object name="gameSpeedSelection"
     160                style="StoneDropDown"
     161                type="dropdown"
     162                size="0 0 100% 100%"
     163                tooltip_style="onscreenToolTip"
     164                tooltip="Select your Gamespeed">
     165                <action on="SelectionChange">selectGameSpeed(this.list_data[this.selected]);</action>
     166            </object>
     167
     168        </object>
     169
     170
    145171       
     172       
    146173        <object name="mapSize" size="100%-325 459 100%-25 487" type="dropdown" style="StoneDropDown" hidden="true" tooltip_style="onscreenToolTip" tooltip="Select map size. (Larger sizes may reduce performance.)"/>     
    147174       
    148         <!-- Map Preview -->
    149         <object  type="image" sprite="BackgroundIndentFillDark" name="gamePreviewBox" size="100%-426 57 100%-24 359">
    150             <object type="image" sprite="snMapPreview" size="1 1 401 301" name="mapPreview"/>
    151         </object>
     175
     176
     177
     178
    152179       
    153180        <!-- Map Description -->
    154         <object size="100%-425 497 100%-25 100%-60">
     181        <object size="100%-425 100%-400 100%-25 100%-60">
    155182            <object name="mapInfoName" type="text" style="LeftLabelText" size="0 0 100%-120 30"/>
    156183            <object type="image" sprite="BackgroundIndentFillDark" size="0 30 100% 100%">
    157184                <object name="mapInfoDescription" type="text" style="MapDescription" size="0 0 100% 100%"/>
     
    159186        </object>
    160187       
    161188        <!-- Options -->
    162         <object name="gameOptionsBox" size="100%-425 497 100%-25 525">
     189        <object name="gameOptionsBox" size="100%-425 100%-432 100%-25 525">
    163190            <!-- More Options Button -->
    164191            <object
    165192                name="showMoreOptions"