1
0

Merge branch 'master' into PreventNewWarnings

This commit is contained in:
tycho 2015-05-23 06:50:28 -07:00
commit b29ae54d91
4 changed files with 38 additions and 30 deletions

View File

@ -52,6 +52,9 @@ if(MSVC OR MSVC_IDE)
endif()
endif()
set(BUILD_TOOLS OFF CACHE BOOL "")
set(SELF_TEST OFF CACHE BOOL "")
# This has to be done before any flags have been set up.
if(${BUILD_TOOLS})
message("Building tools")

View File

@ -1212,6 +1212,15 @@ void cPlayer::SetGameMode(eGameMode a_GameMode)
SetCanFly(false);
}
if (IsGameModeSpectator() && IsVisible())
{
SetVisible(false);
}
else if (!IsVisible())
{
SetVisible(true);
}
m_World->BroadcastPlayerListUpdateGameMode(*this);
}

View File

@ -260,7 +260,7 @@ bool cOverridesSettingsRepository::DeleteValue(const AString & a_KeyName, const
}
else
{
return m_Overrides->DeleteValue(a_KeyName, a_ValueName);
return m_Main->DeleteValue(a_KeyName, a_ValueName);
}
}

View File

@ -374,6 +374,14 @@ std::unique_ptr<cMemorySettingsRepository> parseArguments(int argc, char **argv)
TCLAP::MultiArg<int> portsArg("p", "port", "The port number the server should listen to", false, "port", cmd);
TCLAP::SwitchArg commLogArg("", "log-comm", "Log server client communications to file", cmd);
TCLAP::SwitchArg commLogInArg("", "log-comm-in", "Log inbound server client communications to file", cmd);
TCLAP::SwitchArg commLogOutArg("", "log-comm-out", "Log outbound server client communications to file", cmd);
TCLAP::SwitchArg noBufArg("", "no-output-buffering", "Disable output buffering", cmd);
cmd.parse(argc, argv);
auto repo = cpp14::make_unique<cMemorySettingsRepository>();
@ -396,6 +404,22 @@ std::unique_ptr<cMemorySettingsRepository> parseArguments(int argc, char **argv)
}
}
if (commLogArg.getValue())
{
g_ShouldLogCommIn = true;
g_ShouldLogCommOut = true;
}
else
{
g_ShouldLogCommIn = commLogInArg.getValue();
g_ShouldLogCommOut = commLogOutArg.getValue();
}
if (noBufArg.getValue())
{
setvbuf(stdout, nullptr, _IONBF, 0);
}
repo->SetReadOnly();
return repo;
@ -473,35 +497,7 @@ int main(int argc, char **argv)
for (int i = 0; i < argc; i++)
{
AString Arg(argv[i]);
if (
(NoCaseCompare(Arg, "/commlog") == 0) ||
(NoCaseCompare(Arg, "/logcomm") == 0)
)
{
g_ShouldLogCommIn = true;
g_ShouldLogCommOut = true;
}
else if (
(NoCaseCompare(Arg, "/commlogin") == 0) ||
(NoCaseCompare(Arg, "/comminlog") == 0) ||
(NoCaseCompare(Arg, "/logcommin") == 0)
)
{
g_ShouldLogCommIn = true;
}
else if (
(NoCaseCompare(Arg, "/commlogout") == 0) ||
(NoCaseCompare(Arg, "/commoutlog") == 0) ||
(NoCaseCompare(Arg, "/logcommout") == 0)
)
{
g_ShouldLogCommOut = true;
}
else if (NoCaseCompare(Arg, "nooutbuf") == 0)
{
setvbuf(stdout, nullptr, _IONBF, 0);
}
else if (NoCaseCompare(Arg, "/service") == 0)
if (NoCaseCompare(Arg, "/service") == 0)
{
cRoot::m_RunAsService = true;
}