\hypertarget{sv__ctf_8cpp}{
\section{server/src/sv\_\-ctf.cpp File Reference}
\label{de/db9/sv__ctf_8cpp}\index{server/src/sv\_\-ctf.cpp@{server/src/sv\_\-ctf.cpp}}
}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{sv__ctf_8cpp_ae830abe28ef29f4cb3eba115cb2de61c}{G\_\-CheckSpot} (\hyperlink{classplayer__s}{player\_\-t} \&player, \hyperlink{structMapThing}{mapthing2\_\-t} $\ast$mthing)
\item 
\hyperlink{sv__ctf_8cpp_a2fec98a1aad59f04407ee4e02d3c0343}{EXTERN\_\-CVAR} (sv\_\-teamsinplay) EXTERN\_\-CVAR(sv\_\-scorelimit) EXTERN\_\-CVAR(ctf\_\-manualreturn) EXTERN\_\-CVAR(ctf\_\-flagathometoscore) EXTERN\_\-CVAR(ctf\_\-flagtimeout) \hyperlink{structflagdata}{flagdata} \hyperlink{p__ctf_8h_a49ea4e37f0339ea57288fe5d2555f2ea}{CTFdata}\mbox{[}NUMFLAGS\mbox{]}
\item 
void \hyperlink{sv__ctf_8cpp_a06cf97ce1bf162f2c933d1a290fee383}{SV\_\-CTFEvent} (\hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f, \hyperlink{p__ctf_8h_af4e698dc3bba504c0c550750abe47c89}{flag\_\-score\_\-t} \hyperlink{structevent}{event}, \hyperlink{classplayer__s}{player\_\-t} \&who)
\item 
void \hyperlink{sv__ctf_8cpp_a58491c36821c7a3352a72da1306a5332}{CTF\_\-Connect} (\hyperlink{classplayer__s}{player\_\-t} \&player)
\item 
void \hyperlink{sv__ctf_8cpp_abf513b137894c6527d0adc83b6d0ac04}{SV\_\-FlagGrab} (\hyperlink{classplayer__s}{player\_\-t} \&player, \hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f, bool firstgrab)
\item 
void \hyperlink{sv__ctf_8cpp_a30ee21d2590a6e9aa83f6699250709af}{SV\_\-FlagReturn} (\hyperlink{classplayer__s}{player\_\-t} \&player, \hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f)
\item 
void \hyperlink{sv__ctf_8cpp_a563fa0fea4b5010478d2cb33ea9e285b}{SV\_\-FlagScore} (\hyperlink{classplayer__s}{player\_\-t} \&player, \hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f)
\item 
bool \hyperlink{sv__ctf_8cpp_a9fc7ed47bd22d440c457acacafacfdfb}{SV\_\-FlagTouch} (\hyperlink{classplayer__s}{player\_\-t} \&player, \hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f, bool firstgrab)
\item 
void \hyperlink{sv__ctf_8cpp_a22c3954b0b4b73b356424ed75f56bd88}{SV\_\-SocketTouch} (\hyperlink{classplayer__s}{player\_\-t} \&player, \hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f)
\item 
void \hyperlink{sv__ctf_8cpp_ab8332a43813c2ac91f4356567fefb8b9}{SV\_\-FlagDrop} (\hyperlink{classplayer__s}{player\_\-t} \&player, \hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f)
\item 
void \hyperlink{sv__ctf_8cpp_a8201b13cf4582b74783e7d41597bea0d}{CTF\_\-RunTics} (void)
\item 
void \hyperlink{sv__ctf_8cpp_a20b652ad99a5db88b152517dbd03e4da}{CTF\_\-SpawnFlag} (\hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f)
\item 
void \hyperlink{sv__ctf_8cpp_a735c0b67c3e380b272fbbcc8b9356833}{CTF\_\-SpawnDroppedFlag} (\hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f, int \hyperlink{cl__main_8cpp_ad4dec120c8756cb4abbd4bd41f63f9bf}{x}, int \hyperlink{v__video_8cpp_a0a2f84ed7838f07779ae24c5a9086d33}{y}, int z)
\item 
void \hyperlink{sv__ctf_8cpp_a7c4b4fcece41d72fba6a0262993774a5}{CTF\_\-CheckFlags} (\hyperlink{classplayer__s}{player\_\-t} \&player)
\item 
void \hyperlink{sv__ctf_8cpp_a201e827df82e657369286e48a3ab70ff}{CTF\_\-RememberFlagPos} (\hyperlink{structMapThing}{mapthing2\_\-t} $\ast$mthing)
\item 
\hyperlink{structMapThing}{mapthing2\_\-t} $\ast$ \hyperlink{sv__ctf_8cpp_a5a1450035fe2d7ec0bfd221e75dcef2a}{CTF\_\-SelectTeamPlaySpot} (\hyperlink{classplayer__s}{player\_\-t} \&player, int selections)
\item 
void \hyperlink{sv__ctf_8cpp_ac5b64bac7e86c46346e141d4fe488e27}{CTF\_\-Sound} (\hyperlink{doomdef_8h_ae9d2c5c5af031e3a3fda58fa173cb4db}{flag\_\-t} f, \hyperlink{p__ctf_8h_af4e698dc3bba504c0c550750abe47c89}{flag\_\-score\_\-t} \hyperlink{structevent}{event})
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{sv__ctf_8cpp_a9b42a97a4238e4fe445ba94b0cef860f}{shotclock}
\item 
int \hyperlink{sv__ctf_8cpp_a28f85bf320761727e67634a50810044d}{TEAMpoints} \mbox{[}NUMFLAGS\mbox{]}
\item 
char $\ast$ \hyperlink{sv__ctf_8cpp_a1fc6793fbdec1b7a81f4a26abc3f43a0}{team\_\-names} \mbox{[}NUMTEAMS+2\mbox{]}
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{sv__ctf_8cpp_a7c4b4fcece41d72fba6a0262993774a5}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!CTF\_\-CheckFlags@{CTF\_\-CheckFlags}}
\index{CTF\_\-CheckFlags@{CTF\_\-CheckFlags}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{CTF\_\-CheckFlags}]{\setlength{\rightskip}{0pt plus 5cm}void CTF\_\-CheckFlags (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a7c4b4fcece41d72fba6a0262993774a5}
\hypertarget{sv__ctf_8cpp_a58491c36821c7a3352a72da1306a5332}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!CTF\_\-Connect@{CTF\_\-Connect}}
\index{CTF\_\-Connect@{CTF\_\-Connect}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{CTF\_\-Connect}]{\setlength{\rightskip}{0pt plus 5cm}void CTF\_\-Connect (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a58491c36821c7a3352a72da1306a5332}
\hypertarget{sv__ctf_8cpp_a201e827df82e657369286e48a3ab70ff}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!CTF\_\-RememberFlagPos@{CTF\_\-RememberFlagPos}}
\index{CTF\_\-RememberFlagPos@{CTF\_\-RememberFlagPos}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{CTF\_\-RememberFlagPos}]{\setlength{\rightskip}{0pt plus 5cm}void CTF\_\-RememberFlagPos (
\begin{DoxyParamCaption}
\item[{{\bf mapthing2\_\-t} $\ast$}]{mthing}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a201e827df82e657369286e48a3ab70ff}
\hypertarget{sv__ctf_8cpp_a8201b13cf4582b74783e7d41597bea0d}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!CTF\_\-RunTics@{CTF\_\-RunTics}}
\index{CTF\_\-RunTics@{CTF\_\-RunTics}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{CTF\_\-RunTics}]{\setlength{\rightskip}{0pt plus 5cm}void CTF\_\-RunTics (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a8201b13cf4582b74783e7d41597bea0d}
\hypertarget{sv__ctf_8cpp_a5a1450035fe2d7ec0bfd221e75dcef2a}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!CTF\_\-SelectTeamPlaySpot@{CTF\_\-SelectTeamPlaySpot}}
\index{CTF\_\-SelectTeamPlaySpot@{CTF\_\-SelectTeamPlaySpot}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{CTF\_\-SelectTeamPlaySpot}]{\setlength{\rightskip}{0pt plus 5cm}{\bf mapthing2\_\-t}$\ast$ CTF\_\-SelectTeamPlaySpot (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player, }
\item[{int}]{selections}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a5a1450035fe2d7ec0bfd221e75dcef2a}
\hypertarget{sv__ctf_8cpp_ac5b64bac7e86c46346e141d4fe488e27}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!CTF\_\-Sound@{CTF\_\-Sound}}
\index{CTF\_\-Sound@{CTF\_\-Sound}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{CTF\_\-Sound}]{\setlength{\rightskip}{0pt plus 5cm}void CTF\_\-Sound (
\begin{DoxyParamCaption}
\item[{{\bf flag\_\-t}}]{f, }
\item[{{\bf flag\_\-score\_\-t}}]{event}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_ac5b64bac7e86c46346e141d4fe488e27}
\hypertarget{sv__ctf_8cpp_a735c0b67c3e380b272fbbcc8b9356833}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!CTF\_\-SpawnDroppedFlag@{CTF\_\-SpawnDroppedFlag}}
\index{CTF\_\-SpawnDroppedFlag@{CTF\_\-SpawnDroppedFlag}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{CTF\_\-SpawnDroppedFlag}]{\setlength{\rightskip}{0pt plus 5cm}void CTF\_\-SpawnDroppedFlag (
\begin{DoxyParamCaption}
\item[{{\bf flag\_\-t}}]{f, }
\item[{int}]{x, }
\item[{int}]{y, }
\item[{int}]{z}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a735c0b67c3e380b272fbbcc8b9356833}
\hypertarget{sv__ctf_8cpp_a20b652ad99a5db88b152517dbd03e4da}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!CTF\_\-SpawnFlag@{CTF\_\-SpawnFlag}}
\index{CTF\_\-SpawnFlag@{CTF\_\-SpawnFlag}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{CTF\_\-SpawnFlag}]{\setlength{\rightskip}{0pt plus 5cm}void CTF\_\-SpawnFlag (
\begin{DoxyParamCaption}
\item[{{\bf flag\_\-t}}]{f}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a20b652ad99a5db88b152517dbd03e4da}
\hypertarget{sv__ctf_8cpp_a2fec98a1aad59f04407ee4e02d3c0343}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!EXTERN\_\-CVAR@{EXTERN\_\-CVAR}}
\index{EXTERN\_\-CVAR@{EXTERN\_\-CVAR}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{EXTERN\_\-CVAR}]{\setlength{\rightskip}{0pt plus 5cm}EXTERN\_\-CVAR (
\begin{DoxyParamCaption}
\item[{sv\_\-teamsinplay}]{}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a2fec98a1aad59f04407ee4e02d3c0343}
\hypertarget{sv__ctf_8cpp_ae830abe28ef29f4cb3eba115cb2de61c}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!G\_\-CheckSpot@{G\_\-CheckSpot}}
\index{G\_\-CheckSpot@{G\_\-CheckSpot}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{G\_\-CheckSpot}]{\setlength{\rightskip}{0pt plus 5cm}bool G\_\-CheckSpot (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player, }
\item[{{\bf mapthing2\_\-t} $\ast$}]{mthing}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_ae830abe28ef29f4cb3eba115cb2de61c}
\hypertarget{sv__ctf_8cpp_a06cf97ce1bf162f2c933d1a290fee383}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!SV\_\-CTFEvent@{SV\_\-CTFEvent}}
\index{SV\_\-CTFEvent@{SV\_\-CTFEvent}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{SV\_\-CTFEvent}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-CTFEvent (
\begin{DoxyParamCaption}
\item[{{\bf flag\_\-t}}]{f, }
\item[{{\bf flag\_\-score\_\-t}}]{event, }
\item[{{\bf player\_\-t} \&}]{who}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a06cf97ce1bf162f2c933d1a290fee383}
\hypertarget{sv__ctf_8cpp_ab8332a43813c2ac91f4356567fefb8b9}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!SV\_\-FlagDrop@{SV\_\-FlagDrop}}
\index{SV\_\-FlagDrop@{SV\_\-FlagDrop}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{SV\_\-FlagDrop}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-FlagDrop (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player, }
\item[{{\bf flag\_\-t}}]{f}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_ab8332a43813c2ac91f4356567fefb8b9}
\hypertarget{sv__ctf_8cpp_abf513b137894c6527d0adc83b6d0ac04}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!SV\_\-FlagGrab@{SV\_\-FlagGrab}}
\index{SV\_\-FlagGrab@{SV\_\-FlagGrab}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{SV\_\-FlagGrab}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-FlagGrab (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player, }
\item[{{\bf flag\_\-t}}]{f, }
\item[{bool}]{firstgrab}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_abf513b137894c6527d0adc83b6d0ac04}
\hypertarget{sv__ctf_8cpp_a30ee21d2590a6e9aa83f6699250709af}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!SV\_\-FlagReturn@{SV\_\-FlagReturn}}
\index{SV\_\-FlagReturn@{SV\_\-FlagReturn}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{SV\_\-FlagReturn}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-FlagReturn (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player, }
\item[{{\bf flag\_\-t}}]{f}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a30ee21d2590a6e9aa83f6699250709af}
\hypertarget{sv__ctf_8cpp_a563fa0fea4b5010478d2cb33ea9e285b}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!SV\_\-FlagScore@{SV\_\-FlagScore}}
\index{SV\_\-FlagScore@{SV\_\-FlagScore}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{SV\_\-FlagScore}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-FlagScore (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player, }
\item[{{\bf flag\_\-t}}]{f}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a563fa0fea4b5010478d2cb33ea9e285b}
\hypertarget{sv__ctf_8cpp_a9fc7ed47bd22d440c457acacafacfdfb}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!SV\_\-FlagTouch@{SV\_\-FlagTouch}}
\index{SV\_\-FlagTouch@{SV\_\-FlagTouch}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{SV\_\-FlagTouch}]{\setlength{\rightskip}{0pt plus 5cm}bool SV\_\-FlagTouch (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player, }
\item[{{\bf flag\_\-t}}]{f, }
\item[{bool}]{firstgrab}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a9fc7ed47bd22d440c457acacafacfdfb}
\hypertarget{sv__ctf_8cpp_a22c3954b0b4b73b356424ed75f56bd88}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!SV\_\-SocketTouch@{SV\_\-SocketTouch}}
\index{SV\_\-SocketTouch@{SV\_\-SocketTouch}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{SV\_\-SocketTouch}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SocketTouch (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player, }
\item[{{\bf flag\_\-t}}]{f}
\end{DoxyParamCaption}
)}}
\label{de/db9/sv__ctf_8cpp_a22c3954b0b4b73b356424ed75f56bd88}


\subsection{Variable Documentation}
\hypertarget{sv__ctf_8cpp_a9b42a97a4238e4fe445ba94b0cef860f}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!shotclock@{shotclock}}
\index{shotclock@{shotclock}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{shotclock}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf shotclock}}}
\label{de/db9/sv__ctf_8cpp_a9b42a97a4238e4fe445ba94b0cef860f}
\hypertarget{sv__ctf_8cpp_a1fc6793fbdec1b7a81f4a26abc3f43a0}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!team\_\-names@{team\_\-names}}
\index{team\_\-names@{team\_\-names}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{team\_\-names}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf team\_\-names}\mbox{[}NUMTEAMS+2\mbox{]}}}
\label{de/db9/sv__ctf_8cpp_a1fc6793fbdec1b7a81f4a26abc3f43a0}
{\bfseries Initial value:}
\begin{DoxyCode}

{
        "BLUE", "RED", "", ""
}
\end{DoxyCode}
\hypertarget{sv__ctf_8cpp_a28f85bf320761727e67634a50810044d}{
\index{sv\_\-ctf.cpp@{sv\_\-ctf.cpp}!TEAMpoints@{TEAMpoints}}
\index{TEAMpoints@{TEAMpoints}!sv_ctf.cpp@{sv\_\-ctf.cpp}}
\subsubsection[{TEAMpoints}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf TEAMpoints}\mbox{[}NUMFLAGS\mbox{]}}}
\label{de/db9/sv__ctf_8cpp_a28f85bf320761727e67634a50810044d}
