mirror of
https://github.com/ddnet/ddnet.git
synced 2024-10-20 07:48:18 +00:00
17402cc43f
This is the strict version, ID → Id, UI → Ui, except DDNet which stays DDNet. This would fix #7750. Done using a naive rename script (for bash, use `shopt -s globstar`): ```fish sed -i \ -e 's/\([a-z]_\?\)ID/\1Id/g' \ -e 's/\([^ ]\)\<UI\>/\1Ui/g' \ -e 's/UI()/Ui()/g' \ -e 's/\<CUI\>/CUi/g' \ -e 's/\([\ta-z.(&]\|[,=|] \)ID\>/\1Id/g' \ -e 's/\<ID\>\([^ ").]\)/Id\1/g' \ -e 's/\<ID\([0-9]\)/Id\1/g' \ -e 's/\<ID\>\( [<=>:+*/-]\)/Id\1/g' \ -e 's/int ID/int Id/g' \ -e 's/\([a-z]_\?\)GPU/\1Gpu/g' \ -e 's/\([a-z]_\?\)IP/\1Ip/g' \ -e 's/\([a-z]_\?\)CID/\1Cid/g' \ -e 's/\([a-z]_\?\)MySQL/\1Mysql/g' \ -e 's/MySql/Mysql/g' \ -e 's/\([a-xz]_\?\)SQL/\1Sql/g' \ -e 's/DPMode/DpMode/g' \ -e 's/TTWGraphics/TTwGraphics/g' \ \ -e 's/Ipointer/IPointer/g' \ -e 's/\.vendorId/.vendorID/g' \ -e 's/\.windowId/.windowID/g' \ -e 's/SDL_GetWindowFromId/SDL_GetWindowFromID/g' \ -e 's/SDL_AudioDeviceId/SDL_AudioDeviceID/g' \ -e 's/SDL_JoystickId/SDL_JoystickID/g' \ -e 's/SDL_JoystickInstanceId/SDL_JoystickInstanceID/g' \ -e 's/AVCodecId/AVCodecID/g' \ src/**/*.cpp src/**/*.h {datasrc,scripts}/**/*.py git checkout -- src/engine/external ``` I like this option because it presents clear rules. Still needs fixups because of the naive replacement, I'd do this if we want this merged.
69 lines
1.8 KiB
C++
69 lines
1.8 KiB
C++
/* (c) Shereef Marzouk. See "licence DDRace.txt" and the readme.txt in the root of the distribution for more information. */
|
|
#include "teamscore.h"
|
|
#include <base/system.h>
|
|
#include <engine/shared/config.h>
|
|
|
|
CTeamsCore::CTeamsCore()
|
|
{
|
|
Reset();
|
|
}
|
|
|
|
bool CTeamsCore::SameTeam(int ClientId1, int ClientId2) const
|
|
{
|
|
return m_aTeam[ClientId1] == TEAM_SUPER || m_aTeam[ClientId2] == TEAM_SUPER || m_aTeam[ClientId1] == m_aTeam[ClientId2];
|
|
}
|
|
|
|
int CTeamsCore::Team(int ClientId) const
|
|
{
|
|
return m_aTeam[ClientId];
|
|
}
|
|
|
|
void CTeamsCore::Team(int ClientId, int Team)
|
|
{
|
|
dbg_assert(Team >= TEAM_FLOCK && Team <= TEAM_SUPER, "invalid team");
|
|
m_aTeam[ClientId] = Team;
|
|
}
|
|
|
|
bool CTeamsCore::CanKeepHook(int ClientId1, int ClientId2) const
|
|
{
|
|
if(m_aTeam[ClientId1] == (m_IsDDRace16 ? VANILLA_TEAM_SUPER : TEAM_SUPER) || m_aTeam[ClientId2] == (m_IsDDRace16 ? VANILLA_TEAM_SUPER : TEAM_SUPER) || ClientId1 == ClientId2)
|
|
return true;
|
|
return m_aTeam[ClientId1] == m_aTeam[ClientId2];
|
|
}
|
|
|
|
bool CTeamsCore::CanCollide(int ClientId1, int ClientId2) const
|
|
{
|
|
if(m_aTeam[ClientId1] == (m_IsDDRace16 ? VANILLA_TEAM_SUPER : TEAM_SUPER) || m_aTeam[ClientId2] == (m_IsDDRace16 ? VANILLA_TEAM_SUPER : TEAM_SUPER) || ClientId1 == ClientId2)
|
|
return true;
|
|
if(m_aIsSolo[ClientId1] || m_aIsSolo[ClientId2])
|
|
return false;
|
|
return m_aTeam[ClientId1] == m_aTeam[ClientId2];
|
|
}
|
|
|
|
void CTeamsCore::Reset()
|
|
{
|
|
m_IsDDRace16 = false;
|
|
|
|
for(int i = 0; i < MAX_CLIENTS; ++i)
|
|
{
|
|
if(g_Config.m_SvTeam == SV_TEAM_FORCED_SOLO)
|
|
m_aTeam[i] = i;
|
|
else
|
|
m_aTeam[i] = TEAM_FLOCK;
|
|
m_aIsSolo[i] = false;
|
|
}
|
|
}
|
|
|
|
void CTeamsCore::SetSolo(int ClientId, bool Value)
|
|
{
|
|
dbg_assert(ClientId >= 0 && ClientId < MAX_CLIENTS, "Invalid client id");
|
|
m_aIsSolo[ClientId] = Value;
|
|
}
|
|
|
|
bool CTeamsCore::GetSolo(int ClientId) const
|
|
{
|
|
if(ClientId < 0 || ClientId >= MAX_CLIENTS)
|
|
return false;
|
|
return m_aIsSolo[ClientId];
|
|
}
|