Merge pull request #8308 from ChillerDragon/pr_team_enum

Use enum for teams (Closed #8306)
This commit is contained in:
Dennis Felsing 2024-05-05 03:59:35 +00:00 committed by GitHub
commit 2b2e57c2bb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 70 additions and 75 deletions

View file

@ -4,9 +4,12 @@ import network
from datatypes import EmitDefinition, EmitTypeDeclaration from datatypes import EmitDefinition, EmitTypeDeclaration
def create_enum_table(names, num): def create_enum_table(names, num, start = 0):
lines = [] lines = []
lines += ["enum", "{"] lines += ["enum", "{"]
if len(names) > 0 and start != 0:
lines += [f"\t{names[0]} = {start},"]
names = names[1:]
for name in names: for name in names:
lines += [f"\t{name},"] lines += [f"\t{name},"]
lines += [f"\t{num}", "};"] lines += [f"\t{num}", "};"]
@ -48,7 +51,7 @@ def gen_network_header():
print(network.RawHeader) print(network.RawHeader)
for e in network.Enums: for e in network.Enums:
for line in create_enum_table([f"{e.name}_{v}" for v in e.values], f'NUM_{e.name}S'): # pylint: disable=no-member for line in create_enum_table([f"{e.name}_{v}" for v in e.values], f'NUM_{e.name}S', e.start): # pylint: disable=no-member
print(line) print(line)
print("") print("")

View file

@ -196,9 +196,10 @@ class Object:
pass pass
class Enum: class Enum:
def __init__(self, name, values): def __init__(self, name, values, start = 0):
self.name = name self.name = name
self.values = values self.values = values
self.start = start
class Flags: class Flags:
def __init__(self, name, values): def __init__(self, name, values):

View file

@ -49,6 +49,7 @@ Emoticons = ["OOP", "EXCLAMATION", "HEARTS", "DROP", "DOTDOT", "MUSIC", "SORRY",
Powerups = ["HEALTH", "ARMOR", "WEAPON", "NINJA", "ARMOR_SHOTGUN", "ARMOR_GRENADE", "ARMOR_NINJA", "ARMOR_LASER"] Powerups = ["HEALTH", "ARMOR", "WEAPON", "NINJA", "ARMOR_SHOTGUN", "ARMOR_GRENADE", "ARMOR_NINJA", "ARMOR_LASER"]
Authed = ["NO", "HELPER", "MOD", "ADMIN"] Authed = ["NO", "HELPER", "MOD", "ADMIN"]
EntityClasses = ["PROJECTILE", "DOOR", "DRAGGER_WEAK", "DRAGGER_NORMAL", "DRAGGER_STRONG", "GUN_NORMAL", "GUN_EXPLOSIVE", "GUN_FREEZE", "GUN_UNFREEZE", "LIGHT", "PICKUP"] EntityClasses = ["PROJECTILE", "DOOR", "DRAGGER_WEAK", "DRAGGER_NORMAL", "DRAGGER_STRONG", "GUN_NORMAL", "GUN_EXPLOSIVE", "GUN_FREEZE", "GUN_UNFREEZE", "LIGHT", "PICKUP"]
Teams = ["ALL", "SPECTATORS", "RED", "BLUE", "WHISPER_SEND", "WHISPER_RECV"]
RawHeader = ''' RawHeader = '''
#include <engine/shared/teehistorian_ex.h> #include <engine/shared/teehistorian_ex.h>
@ -60,10 +61,6 @@ enum
enum enum
{ {
TEAM_SPECTATORS=-1,
TEAM_RED,
TEAM_BLUE,
FLAG_MISSING=-3, FLAG_MISSING=-3,
FLAG_ATSTAND, FLAG_ATSTAND,
FLAG_TAKEN, FLAG_TAKEN,
@ -87,6 +84,7 @@ Enums = [
Enum("LASERTYPE", LaserTypes), Enum("LASERTYPE", LaserTypes),
Enum("LASERDRAGGERTYPE", DraggerTypes), Enum("LASERDRAGGERTYPE", DraggerTypes),
Enum("LASERGUNTYPE", GunTypes), Enum("LASERGUNTYPE", GunTypes),
Enum("TEAM", Teams, -2),
] ]
Flags = [ Flags = [

View file

@ -815,14 +815,14 @@ void CChat::AddLine(int ClientId, int Team, const char *pLine)
pCurrentLine->m_NameColor = TEAM_BLUE; pCurrentLine->m_NameColor = TEAM_BLUE;
} }
if(Team == 2) // whisper send if(Team == TEAM_WHISPER_SEND)
{ {
str_format(pCurrentLine->m_aName, sizeof(pCurrentLine->m_aName), "→ %s", LineAuthor.m_aName); str_format(pCurrentLine->m_aName, sizeof(pCurrentLine->m_aName), "→ %s", LineAuthor.m_aName);
pCurrentLine->m_NameColor = TEAM_BLUE; pCurrentLine->m_NameColor = TEAM_BLUE;
pCurrentLine->m_Highlighted = false; pCurrentLine->m_Highlighted = false;
Highlighted = false; Highlighted = false;
} }
else if(Team == 3) // whisper recv else if(Team == TEAM_WHISPER_RECV)
{ {
str_format(pCurrentLine->m_aName, sizeof(pCurrentLine->m_aName), "← %s", LineAuthor.m_aName); str_format(pCurrentLine->m_aName, sizeof(pCurrentLine->m_aName), "← %s", LineAuthor.m_aName);
pCurrentLine->m_NameColor = TEAM_RED; pCurrentLine->m_NameColor = TEAM_RED;
@ -894,7 +894,7 @@ void CChat::AddLine(int ClientId, int Team, const char *pLine)
} }
} }
} }
else if(Team != 2) else if(Team != TEAM_WHISPER_SEND)
{ {
if(Now - m_aLastSoundPlayed[CHAT_CLIENT] >= time_freq() * 3 / 10) if(Now - m_aLastSoundPlayed[CHAT_CLIENT] >= time_freq() * 3 / 10)
{ {

View file

@ -1052,7 +1052,7 @@ void CGameContext::AttemptJoinTeam(int ClientId, int Team)
str_format(aBuf, sizeof(aBuf), "'%s' joined team %d", str_format(aBuf, sizeof(aBuf), "'%s' joined team %d",
Server()->ClientName(pPlayer->GetCid()), Server()->ClientName(pPlayer->GetCid()),
Team); Team);
SendChat(-1, CGameContext::CHAT_ALL, aBuf); SendChat(-1, TEAM_ALL, aBuf);
pPlayer->m_Last_Team = Server()->Tick(); pPlayer->m_Last_Team = Server()->Tick();
if(m_pController->Teams().IsPractice(Team)) if(m_pController->Teams().IsPractice(Team))
@ -1286,7 +1286,7 @@ void CGameContext::ConMe(IConsole::IResult *pResult, void *pUserData)
pSelf->Server()->ClientName(pResult->m_ClientId), pSelf->Server()->ClientName(pResult->m_ClientId),
pResult->GetString(0)); pResult->GetString(0));
if(g_Config.m_SvSlashMe) if(g_Config.m_SvSlashMe)
pSelf->SendChat(-2, CGameContext::CHAT_ALL, aBuf, pResult->m_ClientId); pSelf->SendChat(-2, TEAM_ALL, aBuf, pResult->m_ClientId);
else else
pSelf->Console()->Print( pSelf->Console()->Print(
IConsole::OUTPUT_LEVEL_STANDARD, IConsole::OUTPUT_LEVEL_STANDARD,
@ -1552,7 +1552,7 @@ void CGameContext::ConSayTimeAll(IConsole::IResult *pResult, void *pUserData)
const char *pName = pSelf->Server()->ClientName(pResult->m_ClientId); const char *pName = pSelf->Server()->ClientName(pResult->m_ClientId);
str_time(Time, TIME_HOURS, aBufTime, sizeof(aBufTime)); str_time(Time, TIME_HOURS, aBufTime, sizeof(aBufTime));
str_format(aBuf, sizeof(aBuf), "%s\'s current race time is %s", pName, aBufTime); str_format(aBuf, sizeof(aBuf), "%s\'s current race time is %s", pName, aBufTime);
pSelf->SendChat(-1, CGameContext::CHAT_ALL, aBuf, pResult->m_ClientId); pSelf->SendChat(-1, TEAM_ALL, aBuf, pResult->m_ClientId);
} }
void CGameContext::ConTime(IConsole::IResult *pResult, void *pUserData) void CGameContext::ConTime(IConsole::IResult *pResult, void *pUserData)

View file

@ -95,7 +95,7 @@ void CGameContext::ConKillPlayer(IConsole::IResult *pResult, void *pUserData)
str_format(aBuf, sizeof(aBuf), "%s was killed by %s", str_format(aBuf, sizeof(aBuf), "%s was killed by %s",
pSelf->Server()->ClientName(Victim), pSelf->Server()->ClientName(Victim),
pSelf->Server()->ClientName(pResult->m_ClientId)); pSelf->Server()->ClientName(pResult->m_ClientId));
pSelf->SendChat(-1, CGameContext::CHAT_ALL, aBuf); pSelf->SendChat(-1, TEAM_ALL, aBuf);
} }
} }
@ -489,7 +489,7 @@ void CGameContext::VoteMute(const NETADDR *pAddr, int Secs, const char *pReason,
else else
str_format(aBuf, sizeof(aBuf), "'%s' banned '%s' for %d seconds from voting", str_format(aBuf, sizeof(aBuf), "'%s' banned '%s' for %d seconds from voting",
Server()->ClientName(AuthedId), pDisplayName, Secs); Server()->ClientName(AuthedId), pDisplayName, Secs);
SendChat(-1, CHAT_ALL, aBuf); SendChat(-1, TEAM_ALL, aBuf);
} }
bool CGameContext::VoteUnmute(const NETADDR *pAddr, const char *pDisplayName, int AuthedId) bool CGameContext::VoteUnmute(const NETADDR *pAddr, const char *pDisplayName, int AuthedId)
@ -562,7 +562,7 @@ void CGameContext::Mute(const NETADDR *pAddr, int Secs, const char *pDisplayName
str_format(aBuf, sizeof(aBuf), "'%s' has been muted for %d seconds (%s)", pDisplayName, Secs, pReason); str_format(aBuf, sizeof(aBuf), "'%s' has been muted for %d seconds (%s)", pDisplayName, Secs, pReason);
else else
str_format(aBuf, sizeof(aBuf), "'%s' has been muted for %d seconds", pDisplayName, Secs); str_format(aBuf, sizeof(aBuf), "'%s' has been muted for %d seconds", pDisplayName, Secs);
SendChat(-1, CHAT_ALL, aBuf); SendChat(-1, TEAM_ALL, aBuf);
} }
void CGameContext::ConVoteMute(IConsole::IResult *pResult, void *pUserData) void CGameContext::ConVoteMute(IConsole::IResult *pResult, void *pUserData)
@ -764,10 +764,10 @@ void CGameContext::ConModerate(IConsole::IResult *pResult, void *pUserData)
pPlayer->m_Moderating = !pPlayer->m_Moderating; pPlayer->m_Moderating = !pPlayer->m_Moderating;
if(!HadModerator && pPlayer->m_Moderating) if(!HadModerator && pPlayer->m_Moderating)
pSelf->SendChat(-1, CHAT_ALL, "Server kick/spec votes will now be actively moderated.", 0); pSelf->SendChat(-1, TEAM_ALL, "Server kick/spec votes will now be actively moderated.", 0);
if(!pSelf->PlayerModerating()) if(!pSelf->PlayerModerating())
pSelf->SendChat(-1, CHAT_ALL, "Server kick/spec votes are no longer actively moderated.", 0); pSelf->SendChat(-1, TEAM_ALL, "Server kick/spec votes are no longer actively moderated.", 0);
if(pPlayer->m_Moderating) if(pPlayer->m_Moderating)
pSelf->SendChatTarget(pResult->m_ClientId, "Active moderator mode enabled for you."); pSelf->SendChatTarget(pResult->m_ClientId, "Active moderator mode enabled for you.");
@ -822,7 +822,7 @@ void CGameContext::ConFreezeHammer(IConsole::IResult *pResult, void *pUserData)
char aBuf[128]; char aBuf[128];
str_format(aBuf, sizeof(aBuf), "'%s' got freeze hammer!", str_format(aBuf, sizeof(aBuf), "'%s' got freeze hammer!",
pSelf->Server()->ClientName(Victim)); pSelf->Server()->ClientName(Victim));
pSelf->SendChat(-1, CHAT_ALL, aBuf); pSelf->SendChat(-1, TEAM_ALL, aBuf);
pChr->m_FreezeHammer = true; pChr->m_FreezeHammer = true;
} }
@ -840,7 +840,7 @@ void CGameContext::ConUnFreezeHammer(IConsole::IResult *pResult, void *pUserData
char aBuf[128]; char aBuf[128];
str_format(aBuf, sizeof(aBuf), "'%s' lost freeze hammer!", str_format(aBuf, sizeof(aBuf), "'%s' lost freeze hammer!",
pSelf->Server()->ClientName(Victim)); pSelf->Server()->ClientName(Victim));
pSelf->SendChat(-1, CHAT_ALL, aBuf); pSelf->SendChat(-1, TEAM_ALL, aBuf);
pChr->m_FreezeHammer = false; pChr->m_FreezeHammer = false;
} }

View file

@ -534,7 +534,7 @@ void CGameContext::CallVote(int ClientId, const char *pDesc, const char *pCmd, c
if(!pPlayer) if(!pPlayer)
return; return;
SendChat(-1, CGameContext::CHAT_ALL, pChatmsg, -1, CHAT_SIX); SendChat(-1, TEAM_ALL, pChatmsg, -1, CHAT_SIX);
if(!pSixupDesc) if(!pSixupDesc)
pSixupDesc = pDesc; pSixupDesc = pDesc;
@ -601,9 +601,9 @@ void CGameContext::SendChat(int ChatterClientId, int Team, const char *pText, in
} }
else else
str_format(aBuf, sizeof(aBuf), "*** %s", aText); str_format(aBuf, sizeof(aBuf), "*** %s", aText);
Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, Team != CHAT_ALL ? "teamchat" : "chat", aBuf); Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, Team != TEAM_ALL ? "teamchat" : "chat", aBuf);
if(Team == CHAT_ALL) if(Team == TEAM_ALL)
{ {
CNetMsg_Sv_Chat Msg; CNetMsg_Sv_Chat Msg;
Msg.m_Team = 0; Msg.m_Team = 0;
@ -646,16 +646,16 @@ void CGameContext::SendChat(int ChatterClientId, int Team, const char *pText, in
{ {
if(m_apPlayers[i] != 0) if(m_apPlayers[i] != 0)
{ {
if(Team == CHAT_SPEC) if(Team == TEAM_SPECTATORS)
{ {
if(m_apPlayers[i]->GetTeam() == CHAT_SPEC) if(m_apPlayers[i]->GetTeam() == TEAM_SPECTATORS)
{ {
Server()->SendPackMsg(&Msg, MSGFLAG_VITAL | MSGFLAG_NORECORD, i); Server()->SendPackMsg(&Msg, MSGFLAG_VITAL | MSGFLAG_NORECORD, i);
} }
} }
else else
{ {
if(pTeams->Team(i) == Team && m_apPlayers[i]->GetTeam() != CHAT_SPEC) if(pTeams->Team(i) == Team && m_apPlayers[i]->GetTeam() != TEAM_SPECTATORS)
{ {
Server()->SendPackMsg(&Msg, MSGFLAG_VITAL | MSGFLAG_NORECORD, i); Server()->SendPackMsg(&Msg, MSGFLAG_VITAL | MSGFLAG_NORECORD, i);
} }
@ -1033,14 +1033,14 @@ void CGameContext::OnTick()
// abort the kick-vote on player-leave // abort the kick-vote on player-leave
if(m_VoteEnforce == VOTE_ENFORCE_ABORT) if(m_VoteEnforce == VOTE_ENFORCE_ABORT)
{ {
SendChat(-1, CGameContext::CHAT_ALL, "Vote aborted"); SendChat(-1, TEAM_ALL, "Vote aborted");
EndVote(); EndVote();
} }
else if(m_VoteEnforce == VOTE_ENFORCE_CANCEL) else if(m_VoteEnforce == VOTE_ENFORCE_CANCEL)
{ {
char aBuf[64]; char aBuf[64];
str_format(aBuf, sizeof(aBuf), "'%s' canceled their vote", Server()->ClientName(m_VoteCreator)); str_format(aBuf, sizeof(aBuf), "'%s' canceled their vote", Server()->ClientName(m_VoteCreator));
SendChat(-1, CGameContext::CHAT_ALL, aBuf); SendChat(-1, TEAM_ALL, aBuf);
EndVote(); EndVote();
} }
else else
@ -1169,7 +1169,7 @@ void CGameContext::OnTick()
Console()->ExecuteLine(m_aVoteCommand); Console()->ExecuteLine(m_aVoteCommand);
Server()->SetRconCid(IServer::RCON_CID_SERV); Server()->SetRconCid(IServer::RCON_CID_SERV);
EndVote(); EndVote();
SendChat(-1, CGameContext::CHAT_ALL, "Vote passed", -1, CHAT_SIX); SendChat(-1, TEAM_ALL, "Vote passed", -1, CHAT_SIX);
if(m_apPlayers[m_VoteCreator] && !IsKickVote() && !IsSpecVote()) if(m_apPlayers[m_VoteCreator] && !IsKickVote() && !IsSpecVote())
m_apPlayers[m_VoteCreator]->m_LastVoteCall = 0; m_apPlayers[m_VoteCreator]->m_LastVoteCall = 0;
@ -1177,22 +1177,22 @@ void CGameContext::OnTick()
else if(m_VoteEnforce == VOTE_ENFORCE_YES_ADMIN) else if(m_VoteEnforce == VOTE_ENFORCE_YES_ADMIN)
{ {
Console()->ExecuteLine(m_aVoteCommand, m_VoteEnforcer); Console()->ExecuteLine(m_aVoteCommand, m_VoteEnforcer);
SendChat(-1, CGameContext::CHAT_ALL, "Vote passed enforced by authorized player", -1, CHAT_SIX); SendChat(-1, TEAM_ALL, "Vote passed enforced by authorized player", -1, CHAT_SIX);
EndVote(); EndVote();
} }
else if(m_VoteEnforce == VOTE_ENFORCE_NO_ADMIN) else if(m_VoteEnforce == VOTE_ENFORCE_NO_ADMIN)
{ {
EndVote(); EndVote();
SendChat(-1, CGameContext::CHAT_ALL, "Vote failed enforced by authorized player", -1, CHAT_SIX); SendChat(-1, TEAM_ALL, "Vote failed enforced by authorized player", -1, CHAT_SIX);
} }
//else if(m_VoteEnforce == VOTE_ENFORCE_NO || time_get() > m_VoteCloseTime) //else if(m_VoteEnforce == VOTE_ENFORCE_NO || time_get() > m_VoteCloseTime)
else if(m_VoteEnforce == VOTE_ENFORCE_NO || (time_get() > m_VoteCloseTime && g_Config.m_SvVoteMajority)) else if(m_VoteEnforce == VOTE_ENFORCE_NO || (time_get() > m_VoteCloseTime && g_Config.m_SvVoteMajority))
{ {
EndVote(); EndVote();
if(VetoStop || (m_VoteWillPass && Veto)) if(VetoStop || (m_VoteWillPass && Veto))
SendChat(-1, CGameContext::CHAT_ALL, "Vote failed because of veto. Find an empty server instead", -1, CHAT_SIX); SendChat(-1, TEAM_ALL, "Vote failed because of veto. Find an empty server instead", -1, CHAT_SIX);
else else
SendChat(-1, CGameContext::CHAT_ALL, "Vote failed", -1, CHAT_SIX); SendChat(-1, TEAM_ALL, "Vote failed", -1, CHAT_SIX);
} }
else if(m_VoteUpdate) else if(m_VoteUpdate)
{ {
@ -1222,7 +1222,7 @@ void CGameContext::OnTick()
{ {
const char *pLine = Server()->GetAnnouncementLine(g_Config.m_SvAnnouncementFileName); const char *pLine = Server()->GetAnnouncementLine(g_Config.m_SvAnnouncementFileName);
if(pLine) if(pLine)
SendChat(-1, CGameContext::CHAT_ALL, pLine); SendChat(-1, TEAM_ALL, pLine);
} }
for(auto &Switcher : Switchers()) for(auto &Switcher : Switchers())
@ -2127,9 +2127,9 @@ void CGameContext::OnSayNetMessage(const CNetMsg_Cl_Say *pMsg, int ClientId, con
int GameTeam = GetDDRaceTeam(pPlayer->GetCid()); int GameTeam = GetDDRaceTeam(pPlayer->GetCid());
if(Team) if(Team)
Team = ((pPlayer->GetTeam() == TEAM_SPECTATORS) ? CHAT_SPEC : GameTeam); Team = ((pPlayer->GetTeam() == TEAM_SPECTATORS) ? TEAM_SPECTATORS : GameTeam);
else else
Team = CHAT_ALL; Team = TEAM_ALL;
if(pMsg->m_pMessage[0] == '/') if(pMsg->m_pMessage[0] == '/')
{ {
@ -2609,7 +2609,7 @@ void CGameContext::OnChangeInfoNetMessage(const CNetMsg_Cl_ChangeInfo *pMsg, int
char aChatText[256]; char aChatText[256];
str_format(aChatText, sizeof(aChatText), "'%s' changed name to '%s'", aOldName, Server()->ClientName(ClientId)); str_format(aChatText, sizeof(aChatText), "'%s' changed name to '%s'", aOldName, Server()->ClientName(ClientId));
SendChat(-1, CGameContext::CHAT_ALL, aChatText); SendChat(-1, TEAM_ALL, aChatText);
// reload scores // reload scores
Score()->PlayerData(ClientId)->Reset(); Score()->PlayerData(ClientId)->Reset();
@ -3150,7 +3150,7 @@ void CGameContext::ConBroadcast(IConsole::IResult *pResult, void *pUserData)
void CGameContext::ConSay(IConsole::IResult *pResult, void *pUserData) void CGameContext::ConSay(IConsole::IResult *pResult, void *pUserData)
{ {
CGameContext *pSelf = (CGameContext *)pUserData; CGameContext *pSelf = (CGameContext *)pUserData;
pSelf->SendChat(-1, CGameContext::CHAT_ALL, pResult->GetString(0)); pSelf->SendChat(-1, TEAM_ALL, pResult->GetString(0));
} }
void CGameContext::ConSetTeam(IConsole::IResult *pResult, void *pUserData) void CGameContext::ConSetTeam(IConsole::IResult *pResult, void *pUserData)
@ -3180,7 +3180,7 @@ void CGameContext::ConSetTeamAll(IConsole::IResult *pResult, void *pUserData)
char aBuf[256]; char aBuf[256];
str_format(aBuf, sizeof(aBuf), "All players were moved to the %s", pSelf->m_pController->GetTeamName(Team)); str_format(aBuf, sizeof(aBuf), "All players were moved to the %s", pSelf->m_pController->GetTeamName(Team));
pSelf->SendChat(-1, CGameContext::CHAT_ALL, aBuf); pSelf->SendChat(-1, TEAM_ALL, aBuf);
for(auto &pPlayer : pSelf->m_apPlayers) for(auto &pPlayer : pSelf->m_apPlayers)
if(pPlayer) if(pPlayer)
@ -4588,7 +4588,7 @@ void CGameContext::WhisperId(int ClientId, int VictimId, const char *pMessage)
else if(GetClientVersion(ClientId) >= VERSION_DDNET_WHISPER) else if(GetClientVersion(ClientId) >= VERSION_DDNET_WHISPER)
{ {
CNetMsg_Sv_Chat Msg; CNetMsg_Sv_Chat Msg;
Msg.m_Team = CHAT_WHISPER_SEND; Msg.m_Team = TEAM_WHISPER_SEND;
Msg.m_ClientId = VictimId; Msg.m_ClientId = VictimId;
Msg.m_pMessage = aCensoredMessage; Msg.m_pMessage = aCensoredMessage;
if(g_Config.m_SvDemoChat) if(g_Config.m_SvDemoChat)
@ -4615,7 +4615,7 @@ void CGameContext::WhisperId(int ClientId, int VictimId, const char *pMessage)
else if(GetClientVersion(VictimId) >= VERSION_DDNET_WHISPER) else if(GetClientVersion(VictimId) >= VERSION_DDNET_WHISPER)
{ {
CNetMsg_Sv_Chat Msg2; CNetMsg_Sv_Chat Msg2;
Msg2.m_Team = CHAT_WHISPER_RECV; Msg2.m_Team = TEAM_WHISPER_RECV;
Msg2.m_ClientId = ClientId; Msg2.m_ClientId = ClientId;
Msg2.m_pMessage = aCensoredMessage; Msg2.m_pMessage = aCensoredMessage;
if(g_Config.m_SvDemoChat) if(g_Config.m_SvDemoChat)

View file

@ -248,13 +248,6 @@ public:
enum enum
{ {
CHAT_ALL = -2,
CHAT_SPEC = -1,
CHAT_RED = 0,
CHAT_BLUE = 1,
CHAT_WHISPER_SEND = 2,
CHAT_WHISPER_RECV = 3,
CHAT_SIX = 1 << 0, CHAT_SIX = 1 << 0,
CHAT_SIXUP = 1 << 1, CHAT_SIXUP = 1 << 1,
}; };

View file

@ -410,7 +410,7 @@ void IGameController::OnPlayerDisconnect(class CPlayer *pPlayer, const char *pRe
str_format(aBuf, sizeof(aBuf), "'%s' has left the game (%s)", Server()->ClientName(ClientId), pReason); str_format(aBuf, sizeof(aBuf), "'%s' has left the game (%s)", Server()->ClientName(ClientId), pReason);
else else
str_format(aBuf, sizeof(aBuf), "'%s' has left the game", Server()->ClientName(ClientId)); str_format(aBuf, sizeof(aBuf), "'%s' has left the game", Server()->ClientName(ClientId));
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf, -1, CGameContext::CHAT_SIX); GameServer()->SendChat(-1, TEAM_ALL, aBuf, -1, CGameContext::CHAT_SIX);
str_format(aBuf, sizeof(aBuf), "leave player='%d:%s'", ClientId, Server()->ClientName(ClientId)); str_format(aBuf, sizeof(aBuf), "leave player='%d:%s'", ClientId, Server()->ClientName(ClientId));
GameServer()->Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "game", aBuf); GameServer()->Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "game", aBuf);
@ -722,7 +722,7 @@ void IGameController::DoTeamChange(CPlayer *pPlayer, int Team, bool DoChatMsg)
if(DoChatMsg) if(DoChatMsg)
{ {
str_format(aBuf, sizeof(aBuf), "'%s' joined the %s", Server()->ClientName(ClientId), GameServer()->m_pController->GetTeamName(Team)); str_format(aBuf, sizeof(aBuf), "'%s' joined the %s", Server()->ClientName(ClientId), GameServer()->m_pController->GetTeamName(Team));
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf); GameServer()->SendChat(-1, TEAM_ALL, aBuf);
} }
str_format(aBuf, sizeof(aBuf), "team_join player='%d:%s' m_Team=%d", ClientId, Server()->ClientName(ClientId), Team); str_format(aBuf, sizeof(aBuf), "team_join player='%d:%s' m_Team=%d", ClientId, Server()->ClientName(ClientId), Team);

View file

@ -127,7 +127,7 @@ void CGameControllerDDRace::OnPlayerConnect(CPlayer *pPlayer)
{ {
char aBuf[512]; char aBuf[512];
str_format(aBuf, sizeof(aBuf), "'%s' entered and joined the %s", Server()->ClientName(ClientId), GetTeamName(pPlayer->GetTeam())); str_format(aBuf, sizeof(aBuf), "'%s' entered and joined the %s", Server()->ClientName(ClientId), GetTeamName(pPlayer->GetTeam()));
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf, -1, CGameContext::CHAT_SIX); GameServer()->SendChat(-1, TEAM_ALL, aBuf, -1, CGameContext::CHAT_SIX);
GameServer()->SendChatTarget(ClientId, "DDraceNetwork Mod. Version: " GAME_VERSION); GameServer()->SendChatTarget(ClientId, "DDraceNetwork Mod. Version: " GAME_VERSION);
GameServer()->SendChatTarget(ClientId, "please visit DDNet.org or say /info and make sure to read our /rules"); GameServer()->SendChatTarget(ClientId, "please visit DDNet.org or say /info and make sure to read our /rules");
@ -142,7 +142,7 @@ void CGameControllerDDRace::OnPlayerDisconnect(CPlayer *pPlayer, const char *pRe
IGameController::OnPlayerDisconnect(pPlayer, pReason); IGameController::OnPlayerDisconnect(pPlayer, pReason);
if(!GameServer()->PlayerModerating() && WasModerator) if(!GameServer()->PlayerModerating() && WasModerator)
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, "Server kick/spec votes are no longer actively moderated."); GameServer()->SendChat(-1, TEAM_ALL, "Server kick/spec votes are no longer actively moderated.");
if(g_Config.m_SvTeam != SV_TEAM_FORCED_SOLO) if(g_Config.m_SvTeam != SV_TEAM_FORCED_SOLO)
Teams().SetForceCharacterTeam(ClientId, TEAM_FLOCK); Teams().SetForceCharacterTeam(ClientId, TEAM_FLOCK);

View file

@ -212,7 +212,7 @@ void CGameWorld::Tick()
if(!m_Paused) if(!m_Paused)
{ {
if(GameServer()->m_pController->IsForceBalanced()) if(GameServer()->m_pController->IsForceBalanced())
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, "Teams have been balanced"); GameServer()->SendChat(-1, TEAM_ALL, "Teams have been balanced");
// update all objects // update all objects
for(int i = 0; i < NUM_ENTTYPES; i++) for(int i = 0; i < NUM_ENTTYPES; i++)

View file

@ -183,7 +183,7 @@ void CPlayer::Tick()
GameServer()->SendChatTarget(m_ClientId, "Active moderator mode disabled because you are afk."); GameServer()->SendChatTarget(m_ClientId, "Active moderator mode disabled because you are afk.");
if(!GameServer()->PlayerModerating()) if(!GameServer()->PlayerModerating())
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, "Server kick/spec votes are no longer actively moderated."); GameServer()->SendChat(-1, TEAM_ALL, "Server kick/spec votes are no longer actively moderated.");
} }
// do latency stuff // do latency stuff
@ -213,7 +213,7 @@ void CPlayer::Tick()
char aBuf[512]; char aBuf[512];
str_format(aBuf, sizeof(aBuf), "'%s' would have timed out, but can use timeout protection now", Server()->ClientName(m_ClientId)); str_format(aBuf, sizeof(aBuf), "'%s' would have timed out, but can use timeout protection now", Server()->ClientName(m_ClientId));
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf); GameServer()->SendChat(-1, TEAM_ALL, aBuf);
Server()->ResetNetErrorString(m_ClientId); Server()->ResetNetErrorString(m_ClientId);
} }
@ -799,7 +799,7 @@ int CPlayer::Pause(int State, bool Force)
if(g_Config.m_SvPauseMessages) if(g_Config.m_SvPauseMessages)
{ {
str_format(aBuf, sizeof(aBuf), (State > PAUSE_NONE) ? "'%s' speced" : "'%s' resumed", Server()->ClientName(m_ClientId)); str_format(aBuf, sizeof(aBuf), (State > PAUSE_NONE) ? "'%s' speced" : "'%s' resumed", Server()->ClientName(m_ClientId));
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf); GameServer()->SendChat(-1, TEAM_ALL, aBuf);
} }
break; break;
} }
@ -829,7 +829,7 @@ int CPlayer::ForcePause(int Time)
{ {
char aBuf[128]; char aBuf[128];
str_format(aBuf, sizeof(aBuf), "'%s' was force-paused for %ds", Server()->ClientName(m_ClientId), Time); str_format(aBuf, sizeof(aBuf), "'%s' was force-paused for %ds", Server()->ClientName(m_ClientId), Time);
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf); GameServer()->SendChat(-1, TEAM_ALL, aBuf);
} }
return Pause(PAUSE_SPEC, true); return Pause(PAUSE_SPEC, true);
@ -885,7 +885,7 @@ void CPlayer::ProcessScoreResult(CScorePlayerResult &Result)
if(GameServer()->ProcessSpamProtection(m_ClientId) && PrimaryMessage) if(GameServer()->ProcessSpamProtection(m_ClientId) && PrimaryMessage)
break; break;
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aMessage, -1); GameServer()->SendChat(-1, TEAM_ALL, aMessage, -1);
PrimaryMessage = false; PrimaryMessage = false;
} }
break; break;
@ -924,7 +924,7 @@ void CPlayer::ProcessScoreResult(CScorePlayerResult &Result)
str_format(aBuf, sizeof(aBuf), str_format(aBuf, sizeof(aBuf),
"Happy DDNet birthday to %s for finishing their first map %d year%s ago!", "Happy DDNet birthday to %s for finishing their first map %d year%s ago!",
Server()->ClientName(m_ClientId), Birthday, Birthday > 1 ? "s" : ""); Server()->ClientName(m_ClientId), Birthday, Birthday > 1 ? "s" : "");
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf, m_ClientId); GameServer()->SendChat(-1, TEAM_ALL, aBuf, m_ClientId);
str_format(aBuf, sizeof(aBuf), str_format(aBuf, sizeof(aBuf),
"Happy DDNet birthday, %s!\nYou have finished your first map exactly %d year%s ago!", "Happy DDNet birthday, %s!\nYou have finished your first map exactly %d year%s ago!",
Server()->ClientName(m_ClientId), Birthday, Birthday > 1 ? "s" : ""); Server()->ClientName(m_ClientId), Birthday, Birthday > 1 ? "s" : "");

View file

@ -28,7 +28,7 @@ void CGameTeams::Reset()
SendTeamsState(i); SendTeamsState(i);
} }
for(int i = 0; i < NUM_TEAMS; ++i) for(int i = 0; i < NUM_DDRACE_TEAMS; ++i)
{ {
m_aTeamState[i] = TEAMSTATE_EMPTY; m_aTeamState[i] = TEAMSTATE_EMPTY;
m_aTeamLocked[i] = false; m_aTeamLocked[i] = false;
@ -681,7 +681,7 @@ void CGameTeams::OnTeamFinish(int Team, CPlayer **Players, unsigned int Size, in
char aBuf[512]; char aBuf[512];
str_format(aBuf, sizeof(aBuf), "'%s' joined team 0", str_format(aBuf, sizeof(aBuf), "'%s' joined team 0",
GameServer()->Server()->ClientName(Players[i]->GetCid())); GameServer()->Server()->ClientName(Players[i]->GetCid()));
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf); GameServer()->SendChat(-1, TEAM_ALL, aBuf);
} }
} }
@ -710,7 +710,7 @@ void CGameTeams::OnFinish(CPlayer *Player, int TimeTicks, const char *pTimestamp
if(g_Config.m_SvHideScore || !g_Config.m_SvSaveWorseScores) if(g_Config.m_SvHideScore || !g_Config.m_SvSaveWorseScores)
GameServer()->SendChatTarget(ClientId, aBuf, CGameContext::CHAT_SIX); GameServer()->SendChatTarget(ClientId, aBuf, CGameContext::CHAT_SIX);
else else
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf, -1., CGameContext::CHAT_SIX); GameServer()->SendChat(-1, TEAM_ALL, aBuf, -1., CGameContext::CHAT_SIX);
float Diff = absolute(Time - pData->m_BestTime); float Diff = absolute(Time - pData->m_BestTime);
@ -729,7 +729,7 @@ void CGameTeams::OnFinish(CPlayer *Player, int TimeTicks, const char *pTimestamp
if(g_Config.m_SvHideScore || !g_Config.m_SvSaveWorseScores) if(g_Config.m_SvHideScore || !g_Config.m_SvSaveWorseScores)
GameServer()->SendChatTarget(ClientId, aBuf, CGameContext::CHAT_SIX); GameServer()->SendChatTarget(ClientId, aBuf, CGameContext::CHAT_SIX);
else else
GameServer()->SendChat(-1, CGameContext::CHAT_ALL, aBuf, -1, CGameContext::CHAT_SIX); GameServer()->SendChat(-1, TEAM_ALL, aBuf, -1, CGameContext::CHAT_SIX);
} }
else if(pData->m_BestTime != 0) // tee has already finished? else if(pData->m_BestTime != 0) // tee has already finished?
{ {
@ -969,7 +969,7 @@ void CGameTeams::SwapTeamCharacters(CPlayer *pPrimaryPlayer, CPlayer *pTargetPla
void CGameTeams::ProcessSaveTeam() void CGameTeams::ProcessSaveTeam()
{ {
for(int Team = 0; Team < NUM_TEAMS; Team++) for(int Team = 0; Team < NUM_DDRACE_TEAMS; Team++)
{ {
if(m_apSaveTeamResult[Team] == nullptr || !m_apSaveTeamResult[Team]->m_Completed) if(m_apSaveTeamResult[Team] == nullptr || !m_apSaveTeamResult[Team]->m_Completed)
continue; continue;

View file

@ -23,19 +23,19 @@ class CGameTeams
bool m_aTeeFinished[MAX_CLIENTS]; bool m_aTeeFinished[MAX_CLIENTS];
int m_aLastChat[MAX_CLIENTS]; int m_aLastChat[MAX_CLIENTS];
int m_aTeamState[NUM_TEAMS]; int m_aTeamState[NUM_DDRACE_TEAMS];
bool m_aTeamLocked[NUM_TEAMS]; bool m_aTeamLocked[NUM_DDRACE_TEAMS];
bool m_aTeamFlock[NUM_TEAMS]; bool m_aTeamFlock[NUM_DDRACE_TEAMS];
CClientMask m_aInvited[NUM_TEAMS]; CClientMask m_aInvited[NUM_DDRACE_TEAMS];
bool m_aPractice[NUM_TEAMS]; bool m_aPractice[NUM_DDRACE_TEAMS];
std::shared_ptr<CScoreSaveResult> m_apSaveTeamResult[NUM_TEAMS]; std::shared_ptr<CScoreSaveResult> m_apSaveTeamResult[NUM_DDRACE_TEAMS];
uint64_t m_aLastSwap[MAX_CLIENTS]; // index is id of player who initiated swap uint64_t m_aLastSwap[MAX_CLIENTS]; // index is id of player who initiated swap
bool m_aTeamSentStartWarning[NUM_TEAMS]; bool m_aTeamSentStartWarning[NUM_DDRACE_TEAMS];
// `m_aTeamUnfinishableKillTick` is -1 by default and gets set when a // `m_aTeamUnfinishableKillTick` is -1 by default and gets set when a
// team becomes unfinishable. If the team hasn't entered practice mode // team becomes unfinishable. If the team hasn't entered practice mode
// by that time, it'll get killed to prevent people not understanding // by that time, it'll get killed to prevent people not understanding
// the message from playing for a long time in an unfinishable team. // the message from playing for a long time in an unfinishable team.
int m_aTeamUnfinishableKillTick[NUM_TEAMS]; int m_aTeamUnfinishableKillTick[NUM_DDRACE_TEAMS];
class CGameContext *m_pGameContext; class CGameContext *m_pGameContext;

View file

@ -8,7 +8,7 @@ enum
{ {
TEAM_FLOCK = 0, TEAM_FLOCK = 0,
TEAM_SUPER = MAX_CLIENTS, TEAM_SUPER = MAX_CLIENTS,
NUM_TEAMS = TEAM_SUPER + 1, NUM_DDRACE_TEAMS = TEAM_SUPER + 1,
VANILLA_TEAM_SUPER = VANILLA_MAX_CLIENTS VANILLA_TEAM_SUPER = VANILLA_MAX_CLIENTS
}; };

View file

@ -173,9 +173,9 @@ public:
return; return;
} }
if(pMsg->m_Team == 2) // WHISPER SEND if(pMsg->m_Team == TEAM_WHISPER_SEND)
printf("%s: -> %s: %s\n", Prefix, m_pClientSnapshotHandler->m_aClients[pMsg->m_ClientId].m_aName, pMsg->m_pMessage); printf("%s: -> %s: %s\n", Prefix, m_pClientSnapshotHandler->m_aClients[pMsg->m_ClientId].m_aName, pMsg->m_pMessage);
else if(pMsg->m_Team == 3) // WHISPER RECEIVE else if(pMsg->m_Team == TEAM_WHISPER_RECV)
printf("%s: <- %s: %s\n", Prefix, m_pClientSnapshotHandler->m_aClients[pMsg->m_ClientId].m_aName, pMsg->m_pMessage); printf("%s: <- %s: %s\n", Prefix, m_pClientSnapshotHandler->m_aClients[pMsg->m_ClientId].m_aName, pMsg->m_pMessage);
else else
printf("%s: %s: %s\n", Prefix, m_pClientSnapshotHandler->m_aClients[pMsg->m_ClientId].m_aName, pMsg->m_pMessage); printf("%s: %s: %s\n", Prefix, m_pClientSnapshotHandler->m_aClients[pMsg->m_ClientId].m_aName, pMsg->m_pMessage);