OpenClonk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
C4Team Class Reference

#include <C4Teams.h>

Collaboration diagram for C4Team:
[legend]

Public Member Functions

 C4Team (const C4Team &rCopy)
 
C4Teamoperator= (const C4Team &rCopy)
 
 C4Team ()
 
 ~C4Team ()
 
void Clear ()
 
void AddPlayer (class C4PlayerInfo &rInfo, bool fAdjustPlayer)
 
void RemoveIndexedPlayer (int32_t iIndex)
 
void RemovePlayerByID (int32_t iID)
 
int32_t GetPlayerCount () const
 
const char * GetName () const
 
int32_t GetID () const
 
bool IsPlayerIDInTeam (int32_t iID)
 
int32_t GetFirstUnjoinedPlayerID () const
 
int32_t GetPlrStartIndex () const
 
uint32_t GetColor () const
 
const char * GetIconSpec () const
 
bool IsFull () const
 
StdStrBuf GetNameWithParticipants () const
 
bool HasWon () const
 
int32_t GetIndexedPlayer (int32_t iIndex) const
 
void CompileFunc (StdCompiler *pComp)
 
void RecheckPlayers ()
 
void RecheckColor (C4TeamList &rForList)
 

Protected Attributes

int32_t iID
 
char Name [C4MaxName+1]
 
int32_t iPlrStartIndex
 
uint32_t dwClr
 
StdCopyStrBuf sIconSpec
 
int32_t iMaxPlayer
 

Friends

class C4TeamList
 

Detailed Description

Definition at line 30 of file C4Teams.h.

Constructor & Destructor Documentation

C4Team::C4Team ( const C4Team rCopy)

Definition at line 31 of file C4Teams.cpp.

References C4MaxName, GetIndexedPlayer(), GetName(), Name, and SCopy().

32  : piPlayers(new int32_t[rCopy.GetPlayerCount()]),
33  iPlayerCount(rCopy.GetPlayerCount()),
34  iPlayerCapacity(rCopy.GetPlayerCount()),
35  iID(rCopy.GetID()), iPlrStartIndex(rCopy.iPlrStartIndex), dwClr(rCopy.dwClr),
37 {
38  // copy name
39  SCopy(rCopy.GetName(), Name, C4MaxName);
40  // copy players
41  for (int32_t i = 0; i < iPlayerCount; i++)
42  piPlayers[i] = rCopy.GetIndexedPlayer(i);
43 }
int32_t GetPlayerCount() const
Definition: C4Teams.h:64
const char * GetIconSpec() const
Definition: C4Teams.h:71
int32_t GetID() const
Definition: C4Teams.h:66
void SCopy(const char *szSource, char *sTarget, size_t iMaxL)
Definition: Standard.cpp:122
char Name[C4MaxName+1]
Definition: C4Teams.h:47
int32_t iPlrStartIndex
Definition: C4Teams.h:48
const unsigned int C4MaxName
const char * GetName() const
Definition: C4Teams.h:65
uint32_t dwClr
Definition: C4Teams.h:49
StdCopyStrBuf sIconSpec
Definition: C4Teams.h:50
int32_t iID
Definition: C4Teams.h:46
int32_t iMaxPlayer
Definition: C4Teams.h:51
int32_t GetIndexedPlayer(int32_t iIndex) const
Definition: C4Teams.h:76

Here is the call graph for this function:

C4Team::C4Team ( )
inline

Definition at line 56 of file C4Teams.h.

56 : piPlayers(nullptr), iPlayerCount(0), iPlayerCapacity(0), iID(0), iPlrStartIndex(0), dwClr(0), iMaxPlayer(0) { *Name=0; }
char Name[C4MaxName+1]
Definition: C4Teams.h:47
int32_t iPlrStartIndex
Definition: C4Teams.h:48
uint32_t dwClr
Definition: C4Teams.h:49
int32_t iID
Definition: C4Teams.h:46
int32_t iMaxPlayer
Definition: C4Teams.h:51
C4Team::~C4Team ( )
inline

Definition at line 57 of file C4Teams.h.

References Clear().

57 { Clear(); }
void Clear()
Definition: C4Teams.cpp:45

Here is the call graph for this function:

Member Function Documentation

void C4Team::AddPlayer ( class C4PlayerInfo rInfo,
bool  fAdjustPlayer 
)

Definition at line 53 of file C4Teams.cpp.

References C4PT_Script, Game, C4PlayerList::GetByInfoID(), GetColor(), GetID(), C4PlayerInfo::GetID(), C4PlayerInfo::GetType(), C4PlayerInfo::IsJoined(), C4TeamList::IsTeamColors(), Players, C4PlayerInfo::SetColor(), C4Player::SetPlayerColor(), C4PlayerInfo::SetTeam(), C4Player::Team, and C4Game::Teams.

Referenced by C4TeamList::RecheckPlayerInfoTeams(), RecheckPlayers(), C4TeamList::RecheckTeams(), and C4Player::ScenarioAndTeamInit().

54 {
55  // must not happen!
56  assert(rInfo.GetID());
57  if (!rInfo.GetID()) return;
58  // add player; grow vector if necessary
59  if (iPlayerCount >= iPlayerCapacity)
60  {
61  int32_t *piNewPlayers = new int32_t[iPlayerCapacity = (iPlayerCount+4)&~3];
62  if (iPlayerCount) memcpy(piNewPlayers, piPlayers, iPlayerCount*sizeof(int32_t));
63  delete [] piPlayers; piPlayers = piNewPlayers;
64  }
65  // store new player
66  piPlayers[iPlayerCount++] = rInfo.GetID();
67  if (!fAdjustPlayer) return;
68  // set values in info
69  rInfo.SetTeam(GetID());
70  if (Game.Teams.IsTeamColors()) rInfo.SetColor(GetColor());
71  // and in actual player, if it is joined already
72  if (rInfo.IsJoined())
73  {
74  C4Player *pJoinedPlr = ::Players.GetByInfoID(rInfo.GetID());
75  assert(pJoinedPlr || (rInfo.GetType() == C4PT_Script));
76  if (pJoinedPlr)
77  {
78  pJoinedPlr->Team = GetID();
79  if (Game.Teams.IsTeamColors()) pJoinedPlr->SetPlayerColor(GetColor());
80  }
81  }
82 }
int32_t GetID() const
Definition: C4Teams.h:66
int32_t Team
Definition: C4Player.h:90
C4Game Game
Definition: C4Globals.cpp:52
bool IsTeamColors() const
Definition: C4Teams.h:170
uint32_t GetColor() const
Definition: C4Teams.h:70
C4TeamList & Teams
Definition: C4Game.h:72
C4PlayerList Players
C4Player * GetByInfoID(int iInfoID) const
void SetPlayerColor(uint32_t dwNewClr)
Definition: C4Player.cpp:1714

Here is the call graph for this function:

Here is the caller graph for this function:

void C4Team::Clear ( )

Definition at line 45 of file C4Teams.cpp.

References StdStrBuf::Clear(), iID, iMaxPlayer, Name, and sIconSpec.

Referenced by CompileFunc(), and ~C4Team().

46 {
47  delete [] piPlayers; piPlayers = nullptr;
48  iPlayerCount = iPlayerCapacity = iMaxPlayer = 0;
49  iID = 0; *Name=0;
50  sIconSpec.Clear();
51 }
char Name[C4MaxName+1]
Definition: C4Teams.h:47
void Clear()
Definition: StdBuf.h:474
StdCopyStrBuf sIconSpec
Definition: C4Teams.h:50
int32_t iID
Definition: C4Teams.h:46
int32_t iMaxPlayer
Definition: C4Teams.h:51

Here is the call graph for this function:

Here is the caller graph for this function:

void C4Team::CompileFunc ( StdCompiler pComp)

Definition at line 126 of file C4Teams.cpp.

References Clear(), dwClr, iID, iMaxPlayer, iPlrStartIndex, StdCompiler::isDeserializer(), mkArrayAdapt(), mkNamingAdapt(), mkParAdapt(), mkStringAdaptMA, Name, StdCompiler::RCT_All, sIconSpec, StdCompiler::Value(), and ZeroMem().

127 {
128  if (pComp->isDeserializer()) Clear();
129  pComp->Value(mkNamingAdapt(iID, "id", 0));
130  pComp->Value(mkNamingAdapt(mkStringAdaptMA(Name), "Name", ""));
131  pComp->Value(mkNamingAdapt(iPlrStartIndex, "PlrStartIndex", 0));
132  pComp->Value(mkNamingAdapt(iPlayerCount, "PlayerCount", 0));
133  if (pComp->isDeserializer()) { delete [] piPlayers; piPlayers = new int32_t [iPlayerCapacity = iPlayerCount]; ZeroMem(piPlayers, sizeof(*piPlayers) * iPlayerCount); }
134  pComp->Value(mkNamingAdapt(mkArrayAdapt(piPlayers, iPlayerCount, -1), "Players"));
135  pComp->Value(mkNamingAdapt(dwClr, "Color", 0u));
137  "IconSpec", StdCopyStrBuf()));
138  pComp->Value(mkNamingAdapt(iMaxPlayer, "MaxPlayer", 0));
139 }
char Name[C4MaxName+1]
Definition: C4Teams.h:47
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
Definition: StdAdaptors.h:93
int32_t iPlrStartIndex
Definition: C4Teams.h:48
StdArrayAdapt< T > mkArrayAdapt(T *pArray, int iSize)
Definition: StdAdaptors.h:308
void Value(const T &rStruct)
Definition: StdCompiler.h:171
virtual bool isDeserializer()
Definition: StdCompiler.h:63
uint32_t dwClr
Definition: C4Teams.h:49
StdCopyStrBuf sIconSpec
Definition: C4Teams.h:50
#define mkStringAdaptMA(szString)
Definition: StdAdaptors.h:191
StdParameterAdapt< T, P > mkParAdapt(T &&rObj, P &&rPar)
Definition: StdAdaptors.h:456
int32_t iID
Definition: C4Teams.h:46
std::enable_if< std::is_pod< T >::value >::type ZeroMem(T *lpMem, size_t dwSize)
Definition: Standard.h:63
int32_t iMaxPlayer
Definition: C4Teams.h:51
void Clear()
Definition: C4Teams.cpp:45

Here is the call graph for this function:

uint32_t C4Team::GetColor ( ) const
inline

Definition at line 70 of file C4Teams.h.

References dwClr.

Referenced by AddPlayer(), C4MainMenu::DoRefillInternal(), RecheckColor(), and C4PlayerInfoList::UpdatePlayerAttributes().

70 { return dwClr; }
uint32_t dwClr
Definition: C4Teams.h:49

Here is the caller graph for this function:

int32_t C4Team::GetFirstUnjoinedPlayerID ( ) const

Definition at line 113 of file C4Teams.cpp.

References Game, C4PlayerInfoList::GetPlayerInfoByID(), C4PlayerInfo::HasJoinIssued(), and C4Game::PlayerInfos.

Referenced by C4TeamList::RecheckTeams().

114 {
115  // search for a player that does not have the join-flag set
116  int32_t i=iPlayerCount, idPlr, *piPlr = piPlayers;
117  C4PlayerInfo *pInfo;
118  while (i--)
119  if ((pInfo = Game.PlayerInfos.GetPlayerInfoByID(idPlr = *piPlr++)))
120  if (!pInfo->HasJoinIssued())
121  return idPlr;
122  // none found
123  return 0;
124 }
C4Game Game
Definition: C4Globals.cpp:52
C4PlayerInfo * GetPlayerInfoByID(int32_t id) const
bool HasJoinIssued() const
Definition: C4PlayerInfo.h:170
C4PlayerInfoList & PlayerInfos
Definition: C4Game.h:73

Here is the call graph for this function:

Here is the caller graph for this function:

const char* C4Team::GetIconSpec ( ) const
inline

Definition at line 71 of file C4Teams.h.

References StdStrBuf::getData().

Referenced by C4MainMenu::DoRefillInternal().

71 { return sIconSpec.getData(); }
const char * getData() const
Definition: StdBuf.h:450
StdCopyStrBuf sIconSpec
Definition: C4Teams.h:50

Here is the call graph for this function:

Here is the caller graph for this function:

int32_t C4Team::GetID ( ) const
inline

Definition at line 66 of file C4Teams.h.

References iID.

Referenced by AddPlayer(), C4GameOverDlg::C4GameOverDlg(), C4MainMenu::DoRefillInternal(), C4TeamList::GetForcedTeamSelection(), C4TeamList::RecheckPlayerInfoTeams(), RecheckPlayers(), C4Player::ScenarioAndTeamInit(), and C4GameSave::WriteDescPlayers().

66 { return iID; }
int32_t iID
Definition: C4Teams.h:46

Here is the caller graph for this function:

int32_t C4Team::GetIndexedPlayer ( int32_t  iIndex) const
inline

Definition at line 76 of file C4Teams.h.

Referenced by C4Team(), C4Player::FindNewOwner(), and GetNameWithParticipants().

76 { return Inside<int32_t>(iIndex, 0, iPlayerCount-1) ? piPlayers[iIndex] : 0; }

Here is the caller graph for this function:

const char* C4Team::GetName ( ) const
inline

Definition at line 65 of file C4Teams.h.

References Name.

Referenced by C4Team(), GetNameWithParticipants(), and C4GameSave::WriteDescPlayers().

65 { return Name; }
char Name[C4MaxName+1]
Definition: C4Teams.h:47

Here is the caller graph for this function:

StdStrBuf C4Team::GetNameWithParticipants ( ) const

Definition at line 210 of file C4Teams.cpp.

References StdStrBuf::Append(), StdStrBuf::AppendChar(), StdStrBuf::Copy(), Game, GetIndexedPlayer(), GetName(), C4PlayerInfo::GetName(), GetPlayerCount(), C4PlayerInfoList::GetPlayerInfoByID(), and C4Game::PlayerInfos.

Referenced by C4MainMenu::DoRefillInternal().

211 {
212  // compose team name like "Team 1 (boni, GhostBear, Clonko)"
213  // or just "Team 1" for empty team
214  StdStrBuf sTeamName;
215  sTeamName.Copy(GetName());
216  if (GetPlayerCount())
217  {
218  sTeamName.Append(" (");
219  int32_t iTeamPlrCount=0;
220  for (int32_t j=0; j<GetPlayerCount(); ++j)
221  {
222  int32_t iPlr = GetIndexedPlayer(j);
223  C4PlayerInfo *pPlrInfo;
224  if (iPlr) if ((pPlrInfo = Game.PlayerInfos.GetPlayerInfoByID(iPlr)))
225  {
226  if (iTeamPlrCount++) sTeamName.Append(", ");
227  sTeamName.Append(pPlrInfo->GetName());
228  }
229  }
230  sTeamName.AppendChar(')');
231  }
232  return sTeamName;
233 }
int32_t GetPlayerCount() const
Definition: C4Teams.h:64
const char * GetName() const
Definition: C4PlayerInfo.h:160
C4Game Game
Definition: C4Globals.cpp:52
C4PlayerInfo * GetPlayerInfoByID(int32_t id) const
void AppendChar(char cChar)
Definition: StdBuf.h:596
void Append(const char *pnData, size_t iChars)
Definition: StdBuf.h:527
const char * GetName() const
Definition: C4Teams.h:65
C4PlayerInfoList & PlayerInfos
Definition: C4Game.h:73
void Copy()
Definition: StdBuf.h:475
int32_t GetIndexedPlayer(int32_t iIndex) const
Definition: C4Teams.h:76

Here is the call graph for this function:

Here is the caller graph for this function:

int32_t C4Team::GetPlayerCount ( ) const
inline

Definition at line 64 of file C4Teams.h.

Referenced by C4MainMenu::DoRefillInternal(), C4Player::FindNewOwner(), GetNameWithParticipants(), C4TeamList::GetRandomSmallestTeam(), C4TeamList::GetStartupTeamCount(), C4TeamList::RecheckPlayerInfoTeams(), and C4TeamList::RecheckTeams().

64 { return iPlayerCount; }

Here is the caller graph for this function:

int32_t C4Team::GetPlrStartIndex ( ) const
inline

Definition at line 69 of file C4Teams.h.

References iPlrStartIndex.

Referenced by C4Player::Execute(), and C4Player::ScenarioInit().

69 { return iPlrStartIndex; }
int32_t iPlrStartIndex
Definition: C4Teams.h:48

Here is the caller graph for this function:

bool C4Team::HasWon ( ) const

Definition at line 235 of file C4Teams.cpp.

References Game, C4PlayerInfoList::GetPlayerInfoByID(), C4PlayerInfo::HasWon(), and C4Game::PlayerInfos.

Referenced by C4PlayerInfo::HasTeamWon().

236 {
237  // return true if any member player of the team has won
238  bool fHasWon = false;
239  for (int32_t i=0; i<iPlayerCount; ++i)
240  {
241  int32_t id; C4PlayerInfo *pInfo;
242  if ((id = piPlayers[i]))
243  if ((pInfo = Game.PlayerInfos.GetPlayerInfoByID(id)))
244  if (pInfo->HasWon())
245  {
246  fHasWon = true;
247  break;
248  }
249  }
250  return fHasWon;
251 }
C4Game Game
Definition: C4Globals.cpp:52
bool HasWon() const
Definition: C4PlayerInfo.h:184
C4PlayerInfo * GetPlayerInfoByID(int32_t id) const
C4PlayerInfoList & PlayerInfos
Definition: C4Game.h:73

Here is the call graph for this function:

Here is the caller graph for this function:

bool C4Team::IsFull ( ) const
inline

Definition at line 72 of file C4Teams.h.

References iMaxPlayer.

Referenced by C4TeamList::IsJoin2TeamAllowed().

72 { return iMaxPlayer && (iPlayerCount >= iMaxPlayer); } // whether no more players may join this team
int32_t iMaxPlayer
Definition: C4Teams.h:51

Here is the caller graph for this function:

bool C4Team::IsPlayerIDInTeam ( int32_t  iID)

Definition at line 106 of file C4Teams.cpp.

Referenced by RecheckPlayers().

107 {
108  int32_t i=iPlayerCount, *piPlr = piPlayers;
109  while (i--) if (*piPlr++ == iID) return true;
110  return false;
111 }
int32_t iID
Definition: C4Teams.h:46

Here is the caller graph for this function:

C4Team& C4Team::operator= ( const C4Team rCopy)
void C4Team::RecheckColor ( C4TeamList rForList)

Definition at line 170 of file C4Teams.cpp.

References dwClr, GenerateRandomPlayerColor(), GetColor(), C4TeamList::GetTeamByIndex(), iID, and IsColorConflict().

Referenced by C4TeamList::CreateTeam(), and C4TeamList::Load().

171 {
172  // number of times trying new player colors
173  const int32_t C4MaxTeamColorChangeTries = 100;
174  if (!dwClr)
175  {
176  const int defTeamColorCount = 10;
177  DWORD defTeamColorRGB[defTeamColorCount] = { 0xF40000, 0x00C800, 0xFCF41C, 0x2020FF, // red, green, yellow, blue,
178  0xC48444, 0xFFFFFF, 0x848484, 0xFF00EF, // brown, white, grey, pink,
179  0x00FFFF, 0x784830
180  }; // cyan, dk brown
181  // no color assigned yet: Generate by team ID
182  if (iID >=1 && iID <=defTeamColorCount)
183  {
184  // default colors
185  dwClr = defTeamColorRGB[iID-1] | 0xff000000;
186  }
187  else
188  {
189  // find a new, unused color
190  for (int32_t iTry=1; iTry<C4MaxTeamColorChangeTries; ++iTry)
191  {
193  int32_t iIdx=0; C4Team *pTeam; bool fOK=true;
194  while ((pTeam = rForList.GetTeamByIndex(iIdx++)))
195  if (pTeam != this)
196  if (IsColorConflict(pTeam->GetColor(), dwClr))
197  {
198  fOK=false;
199  break;
200  }
201  // color is fine?
202  if (fOK) return;
203  // it's not; try next color
204  }
205  // Giving up: Use last generated color
206  }
207  }
208 }
Definition: C4Teams.h:30
uint32_t GetColor() const
Definition: C4Teams.h:70
DWORD GenerateRandomPlayerColor(int32_t iTry)
C4Team * GetTeamByIndex(int32_t iIndex) const
Definition: C4Teams.cpp:405
uint32_t dwClr
Definition: C4Teams.h:49
bool IsColorConflict(DWORD dwClr1, DWORD dwClr2)
int32_t iID
Definition: C4Teams.h:46
uint32_t DWORD

Here is the call graph for this function:

Here is the caller graph for this function:

void C4Team::RecheckPlayers ( )

Definition at line 141 of file C4Teams.cpp.

References AddPlayer(), Game, GetID(), C4PlayerInfo::GetID(), C4PlayerInfoList::GetNextPlayerInfoByID(), C4PlayerInfoList::GetPlayerInfoByID(), C4PlayerInfo::GetTeam(), IsPlayerIDInTeam(), C4PlayerInfo::IsUsingTeam(), C4Game::PlayerInfos, and RemoveIndexedPlayer().

142 {
143  // check all players within the team
144  for (int32_t i=0; i<iPlayerCount; ++i)
145  {
146  bool fIsValid = false; int32_t id; C4PlayerInfo *pInfo;
147  if ((id = piPlayers[i]))
148  if ((pInfo = Game.PlayerInfos.GetPlayerInfoByID(id)))
149  if (pInfo->GetTeam() == GetID())
150  if (pInfo->IsUsingTeam())
151  fIsValid = true;
152  // removal will decrease iPlayerCount, which will abort the loop earlier
153  if (!fIsValid) RemoveIndexedPlayer(i--);
154  }
155  // now check for any new players in the team
156  int32_t id = 0; C4PlayerInfo *pInfo;
157  while ((pInfo = Game.PlayerInfos.GetNextPlayerInfoByID(id)))
158  {
159  id = pInfo->GetID();
160  if (pInfo->GetTeam() == GetID())
161  if (pInfo->IsUsingTeam())
162  if (!IsPlayerIDInTeam(id))
163  AddPlayer(*pInfo, false);
164  }
165 }
int32_t GetID() const
Definition: C4Teams.h:66
C4Game Game
Definition: C4Globals.cpp:52
C4PlayerInfo * GetNextPlayerInfoByID(int32_t id) const
C4PlayerInfo * GetPlayerInfoByID(int32_t id) const
void RemoveIndexedPlayer(int32_t iIndex)
Definition: C4Teams.cpp:84
void AddPlayer(class C4PlayerInfo &rInfo, bool fAdjustPlayer)
Definition: C4Teams.cpp:53
int32_t GetTeam() const
Definition: C4PlayerInfo.h:198
bool IsUsingTeam() const
Definition: C4PlayerInfo.h:176
C4PlayerInfoList & PlayerInfos
Definition: C4Game.h:73
bool IsPlayerIDInTeam(int32_t iID)
Definition: C4Teams.cpp:106
int32_t GetID() const
Definition: C4PlayerInfo.h:197

Here is the call graph for this function:

void C4Team::RemoveIndexedPlayer ( int32_t  iIndex)

Definition at line 84 of file C4Teams.cpp.

Referenced by RecheckPlayers(), and RemovePlayerByID().

85 {
86  // safety
87  assert(Inside<int32_t>(iIndex, 0, iPlayerCount-1));
88  if (!Inside<int32_t>(iIndex, 0, iPlayerCount-1)) return;
89  // move other players done
90  for (int32_t i = iIndex+1; i < iPlayerCount; ++i)
91  piPlayers[i-1] = piPlayers[i];
92  --iPlayerCount;
93 }

Here is the caller graph for this function:

void C4Team::RemovePlayerByID ( int32_t  iID)

Definition at line 95 of file C4Teams.cpp.

References RemoveIndexedPlayer().

Referenced by C4TeamList::RecheckTeams(), and C4Player::ScenarioAndTeamInit().

96 {
97  // get index
98  int32_t i;
99  for (i=0; i < iPlayerCount; ++i)
100  if (piPlayers[i] == iID) break;
101  if (i == iPlayerCount) { assert(false); return; } // ID not found
102  // remove it
104 }
void RemoveIndexedPlayer(int32_t iIndex)
Definition: C4Teams.cpp:84
int32_t iID
Definition: C4Teams.h:46

Here is the call graph for this function:

Here is the caller graph for this function:

Friends And Related Function Documentation

friend class C4TeamList
friend

Definition at line 53 of file C4Teams.h.

Member Data Documentation

uint32_t C4Team::dwClr
protected

Definition at line 49 of file C4Teams.h.

Referenced by CompileFunc(), GetColor(), and RecheckColor().

int32_t C4Team::iID
protected

Definition at line 46 of file C4Teams.h.

Referenced by Clear(), CompileFunc(), C4TeamList::CreateTeam(), GetID(), and RecheckColor().

int32_t C4Team::iMaxPlayer
protected

Definition at line 51 of file C4Teams.h.

Referenced by Clear(), CompileFunc(), and IsFull().

int32_t C4Team::iPlrStartIndex
protected

Definition at line 48 of file C4Teams.h.

Referenced by CompileFunc(), and GetPlrStartIndex().

char C4Team::Name[C4MaxName+1]
protected

Definition at line 47 of file C4Teams.h.

Referenced by C4Team(), Clear(), CompileFunc(), C4TeamList::CreateTeam(), and GetName().

StdCopyStrBuf C4Team::sIconSpec
protected

Definition at line 50 of file C4Teams.h.

Referenced by Clear(), and CompileFunc().


The documentation for this class was generated from the following files: