Ticket #785: gamespeed.diff

File gamespeed.diff, 5.3 KB (added by smarlowe, 12 years ago)
  • binaries/data/mods/public/gui/gamesetup/gamesetup.js

     
    118118    mapFilters.list = getFilters();
    119119    g_GameAttributes.mapFilter = "Default";
    120120
     121    // Init game speeds
     122    initGameSpeedList();
     123
    121124    // Setup controls for host only
    122125    if (g_IsController)
    123126    {
     
    453456    }
    454457}
    455458
     459function initGameSpeedList() {
     460    g_GameAttributes.settings.GameSpeed = 1.0;
     461    var gameSpeeds = getGUIObjectByName("gameSpeedSelection");
     462    gameSpeeds.list = ["Slow", "Normal", "Fast"];
     463    gameSpeeds.list_data = [0.5, 1.0, 1.5];
     464    gameSpeeds.selected = 1.0;
     465}
     466
    456467// Initialise the list control containing all the available maps
    457468function initMapNameList()
    458469{
     
    759770    updateGameAttributes();
    760771}
    761772
     773// Called when user selects a speed from the list
     774function selectGameSpeed(speed)
     775{
     776    // Avoid recursion
     777    if (g_IsInGuiUpdate)
     778    {
     779        return;
     780    }
     781   
     782    // Network clients can't change game speed
     783    if (g_IsNetworked && !g_IsController)
     784    {
     785        return;
     786    }
     787
     788    g_GameAttributes.settings.GameSpeed = speed;
     789   
     790}
     791
     792
    762793function launchGame()
    763794{
    764795    if (g_IsNetworked && !g_IsController)
     
    837868        }
    838869        // Remove extra player data
    839870        g_GameAttributes.settings.PlayerData = g_GameAttributes.settings.PlayerData.slice(0, numPlayers);
    840 
    841871        Engine.StartGame(g_GameAttributes, playerID);
    842872        Engine.SwitchGuiPage("page_loading.xml", {
    843873            "attribs": g_GameAttributes,
     
    845875            "playerAssignments": g_PlayerAssignments
    846876        });
    847877    }
     878    Engine.SetSimRate(+(g_GameAttributes.settings.GameSpeed));
    848879}
    849880
    850881////////////////////////////////////////////////////////////////////////////////////////////////
     
    878909    var victoryCondition = getGUIObjectByName("victoryCondition");
    879910    var lockTeams = getGUIObjectByName("lockTeams");
    880911    var mapSize = getGUIObjectByName("mapSize");
     912    var gameSpeed = getGUIObjectByName("gameSpeed");
    881913    var enableCheats = getGUIObjectByName("enableCheats");
    882914   
    883915    var numPlayersText= getGUIObjectByName("numPlayersText");
     
    885917    var revealMapText = getGUIObjectByName("revealMapText");
    886918    var victoryConditionText = getGUIObjectByName("victoryConditionText");
    887919    var lockTeamsText = getGUIObjectByName("lockTeamsText");
     920    var gameSpeedText = getGUIObjectByName("gameSpeedText");
    888921    var enableCheatsText = getGUIObjectByName("enableCheatsText");
    889922   
    890923    var sizeIdx = (g_MapSizes.tiles.indexOf(mapSettings.Size) != -1 ? g_MapSizes.tiles.indexOf(mapSettings.Size) : g_MapSizes.default);
  • binaries/data/mods/public/gui/gamesetup/gamesetup.xml

     
    3636
    3737       
    3838        <!-- Player assignments -->
    39         <object size="24 59 100%-440 358" type="image" sprite="BackgroundIndentFillDark" name="playerAssignmentsPannel">
     39        <object size="24 59 100%-440 358" type="image" sprite="BackgroundIndentFillDark" name="playerAssignmentsPanel">
    4040            <object size="0 6 100% 30">
    4141                <object name="playerNameHeading" type="text" style="CenteredLabelText" size="0 0 25% 100%">Player Name</object>
    4242                <object name="playerPlacementHeading" type="text" style="CenteredLabelText" size="25%+5 0 55% 100%">Player Placement</object>
     
    7373                </repeat>
    7474            </object>
    7575        </object>
    76         <object size="24 64 100%-460 358" type="image" sprite="CoverFillDark" name="playerAssignmentsPannelCover" hidden="true"/>
     76        <object size="24 64 100%-460 358" type="image" sprite="CoverFillDark" name="playerAssignmentsPanelCover" hidden="true"/>
    7777        <!-- Map selection -->
    7878       
    7979       
     
    107107            <action on="SelectionChange">selectMapFilter(this.list[this.selected]);</action>
    108108        </object>
    109109       
    110         <object size="10.9% 427 28% 455" name="mapSelectionPannel" z="55">
     110        <object size="10.9% 427 28% 455" name="mapSelectionPanel" z="55">
    111111
    112112            <object name="mapSelection"
    113113                style="StoneDropDown"
     
    120120
    121121        </object>
    122122       
    123         <object size="20 463.8 11% 615" name="enableCheatsDesc" hidden="true">
     123
     124        <object size="20 463.8 11% 615" name="gameSpeedDesc">
     125            <object size="0 0 100% 28">
     126                <object size="0 0 100% 100%" type="text" style="RightLabelText">Game Speed:</object>
     127            </object>
     128        </object>
     129
     130            <object name="gameSpeedSelection"
     131                type="dropdown"
     132                style="StoneDropDown"
     133                size="10.9% 463.8 28% 491.8"
     134                tooltip_style="onscreenToolTip"
     135                tooltip="Select game simulation speed.">
     136                <action on="SelectionChange">selectGameSpeed(this.list_data[this.selected]);</action>
     137            </object>               
     138
     139        <object size="20 495.8 11% 615" name="enableCheatsDesc" hidden="true">
    124140            <object size="0 0 100% 32">
    125141                <object size="0 0 100% 100%" type="text" style="RightLabelText">Cheats:</object>
    126142            </object>
    127143        </object>
    128144           
    129         <object size="10.9% 463.8 28% 615">
     145        <object size="10.9% 495.8 28% 615">
    130146            <object size="0 0 100% 32">
    131147                <object name="enableCheatsText" size="0 0 100% 100%" type="text" style="LeftLabelText" hidden="true"/>
    132148                <object name="enableCheats" size="0 50%-8 16 50%+8" type="checkbox" style="StoneCrossBox" hidden="true" tooltip_style="onscreenToolTip" tooltip="Toggle the usability of cheats."/>