Ticket #1778: 0ad-adding-GetDefaultMPServer.diff

File 0ad-adding-GetDefaultMPServer.diff, 2.9 KB (added by Aurélio A. Heckert, 11 years ago)

50% of the feature request, adding the ability to remember the server.

  • source/ps/GameSetup/Config.cpp

     
    3535
    3636bool g_PauseOnFocusLoss = false;
    3737CStr g_PlayerName = "";
     38CStr g_MPServer = "";
    3839
    3940bool g_Shadows = false;
    4041bool g_ShadowPCF = false;
     
    8687    CFG_GET_USER_VAL("novbo", Bool, g_NoGLVBO);
    8788    CFG_GET_USER_VAL("pauseonfocusloss", Bool, g_PauseOnFocusLoss);
    8889    CFG_GET_USER_VAL("playername", String, g_PlayerName);
     90    CFG_GET_USER_VAL("multiplayerserver", String, g_MPServer);
    8991    CFG_GET_USER_VAL("shadows", Bool, g_Shadows);
    9092    CFG_GET_USER_VAL("shadowpcf", Bool, g_ShadowPCF);
    9193   
  • source/ps/GameSetup/Config.h

     
    4747// default player name to use in multiplayer
    4848extern CStr g_PlayerName;
    4949
     50// default server name or IP to use in multiplayer
     51extern CStr g_MPServer;
     52
    5053// flag to switch on shadows
    5154extern bool g_Shadows;
    5255
  • source/gui/scripting/ScriptFunctions.cpp

     
    179179    return name;
    180180}
    181181
     182std::wstring GetDefaultMPServer(void* UNUSED(cbdata))
     183{
     184    std::wstring server = g_MPServer.FromUTF8();
     185    if (server.empty())
     186        server = L"127.0.0.1";
     187    return server;
     188}
     189
    182190void StartNetworkGame(void* UNUSED(cbdata))
    183191{
    184192    ENSURE(g_NetServer);
     
    634642    scriptInterface.RegisterFunction<std::wstring, std::wstring, &SetCursor>("SetCursor");
    635643    scriptInterface.RegisterFunction<int, &GetPlayerID>("GetPlayerID");
    636644    scriptInterface.RegisterFunction<std::wstring, &GetDefaultPlayerName>("GetDefaultPlayerName");
     645    scriptInterface.RegisterFunction<std::wstring, &GetDefaultMPServer>("GetDefaultMPServer");
    637646    scriptInterface.RegisterFunction<void, std::string, &OpenURL>("OpenURL");
    638647    scriptInterface.RegisterFunction<void, &RestartInAtlas>("RestartInAtlas");
    639648    scriptInterface.RegisterFunction<bool, &AtlasIsAvailable>("AtlasIsAvailable");
  • binaries/data/mods/public/gui/gamesetup/gamesetup_mp.xml

     
    4040            </object>
    4141
    4242            <object name="joinIP" type="input" size="210 80 100%-32 104" style="StoneInput">
    43                 127.0.0.1
     43                <action on="Load"><![CDATA[
     44                    this.caption = Engine.GetDefaultMPServer();
     45                ]]></action>
    4446            </object>3 100%-33 103 100%-3
    4547
    4648            <object type="button" size="50%-144 100%-60 50%-16 100%-32" style="StoneButton">