OpenClonk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
C4ControlSyncCheck Class Referenceabstract

#include <C4Control.h>

Inheritance diagram for C4ControlSyncCheck:
[legend]
Collaboration diagram for C4ControlSyncCheck:
[legend]

Public Member Functions

 C4ControlSyncCheck ()
 
void Set ()
 
int32_t getFrame () const
 
bool Sync () const override
 
int32_t getByClient () const
 
bool LocalControl () const
 
bool HostControl () const
 
void SetByClient (int32_t iByClient)
 
virtual bool PreExecute () const
 
virtual void Execute () const =0
 
virtual void PreRec (C4Record *pRecord)
 
virtual bool Lobby () const
 
void CompileFunc (StdCompiler *pComp) override
 
C4NetIOPacket pack (const C4NetIO::addr_t &addr=C4NetIO::addr_t()) const
 
C4NetIOPacket pack (uint8_t cStatus, const C4NetIO::addr_t &addr=C4NetIO::addr_t()) const
 
void unpack (const C4NetIOPacket &Pkt, char *pStatus=nullptr)
 

Static Protected Member Functions

static int32_t GetAllCrewPosX ()
 

Protected Attributes

int32_t Frame
 
int32_t ControlTick
 
int32_t RandomCount
 
int32_t AllCrewPosX
 
int32_t PXSCount
 
int32_t MassMoverIndex
 
int32_t ObjectCount
 
int32_t ObjectEnumerationIndex
 
int32_t SectShapeSum
 
int32_t iByClient
 

Detailed Description

Definition at line 317 of file C4Control.h.

Constructor & Destructor Documentation

C4ControlSyncCheck::C4ControlSyncCheck ( )
default

Member Function Documentation

void C4ControlPacket::CompileFunc ( StdCompiler pComp)
overridevirtualinherited

Implements C4PacketBase.

Definition at line 70 of file C4Control.cpp.

References C4ControlPacket::iByClient, mkIntPackAdapt(), mkNamingAdapt(), and StdCompiler::Value().

71 {
72  // Section must be set by caller
73  pComp->Value(mkNamingAdapt(mkIntPackAdapt(iByClient), "ByClient", -1));
74 }
int32_t iByClient
Definition: C4Control.h:39
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
Definition: StdAdaptors.h:92
void Value(const T &rStruct)
Definition: StdCompiler.h:161
StdIntPackAdapt< T > mkIntPackAdapt(T &rVal)
Definition: StdAdaptors.h:759

Here is the call graph for this function:

virtual void C4ControlPacket::Execute ( ) const
pure virtualinherited

Referenced by C4GameControl::DoSyncCheck(), C4GameControl::ExecControlPacket(), and C4Control::Execute().

Here is the caller graph for this function:

int32_t C4ControlSyncCheck::GetAllCrewPosX ( )
staticprotected

Definition at line 759 of file C4Control.cpp.

References C4Player::Crew, C4PlayerList::First, C4Object::fix_x, fixtoi(), C4Player::Next, and Players.

Referenced by Set().

760 {
761  int32_t cpx=0;
762  for (C4Player *pPlr=::Players.First; pPlr; pPlr=pPlr->Next)
763  for (C4Object *member : pPlr->Crew)
764  cpx += fixtoi(member->fix_x, 100);
765  return cpx;
766 }
C4Player * First
Definition: C4PlayerList.h:31
C4PlayerList Players
C4Real fix_x
Definition: C4Object.h:125
C4Player * Next
Definition: C4Player.h:142
int fixtoi(const C4Fixed &x)
Definition: C4Real.h:259

Here is the call graph for this function:

Here is the caller graph for this function:

int32_t C4ControlPacket::getByClient ( ) const
inlineinherited

Definition at line 42 of file C4Control.h.

References C4ControlPacket::iByClient.

Referenced by C4Network2::GetVote(), and C4Network2::OpenVoteDialog().

42 { return iByClient; }
int32_t iByClient
Definition: C4Control.h:39

Here is the caller graph for this function:

int32_t C4ControlSyncCheck::getFrame ( ) const
inline

Definition at line 333 of file C4Control.h.

References Frame.

Referenced by C4GameControl::GetSyncCheck(), and C4GameControl::RemoveOldSyncChecks().

333 { return Frame; }

Here is the caller graph for this function:

bool C4ControlPacket::HostControl ( ) const
inlineinherited

Definition at line 44 of file C4Control.h.

References C4ClientIDHost.

44 { return iByClient == C4ClientIDHost; }
int32_t iByClient
Definition: C4Control.h:39
const int32_t C4ClientIDHost
Definition: C4Client.h:25
virtual bool C4ControlPacket::Lobby ( ) const
inlinevirtualinherited

Reimplemented in C4ControlMessage, C4ControlPlayerInfo, C4ControlClientRemove, C4ControlClientUpdate, C4ControlClientJoin, and C4ControlSet.

Definition at line 53 of file C4Control.h.

Referenced by C4GameControl::DoInput().

53 { return false; }

Here is the caller graph for this function:

bool C4ControlPacket::LocalControl ( ) const
inherited

Definition at line 60 of file C4Control.cpp.

References C4GameControl::ClientID(), Control, and C4ControlPacket::iByClient.

61 {
62  return iByClient == ::Control.ClientID();
63 }
int32_t iByClient
Definition: C4Control.h:39
C4GameControl Control
int32_t ClientID() const

Here is the call graph for this function:

C4NetIOPacket C4PacketBase::pack ( const C4NetIO::addr_t addr = C4NetIO::addr_t()) const
inherited

Definition at line 149 of file C4Packet2.cpp.

Referenced by MkC4NetIOPacket().

150 {
151  return C4NetIOPacket(DecompileToBuf<StdCompilerBinWrite>(*this), addr);
152 }

Here is the caller graph for this function:

C4NetIOPacket C4PacketBase::pack ( uint8_t  cStatus,
const C4NetIO::addr_t addr = C4NetIO::addr_t() 
) const
inherited

Definition at line 154 of file C4Packet2.cpp.

References mkDecompileAdapt(), and mkInsertAdapt().

155 {
156  return C4NetIOPacket(DecompileToBuf<StdCompilerBinWrite>(mkInsertAdapt(mkDecompileAdapt(*this), cStatus)), addr);
157 }
StdDecompileAdapt< T > mkDecompileAdapt(const T &rValue)
Definition: StdAdaptors.h:153
StdInsertAdapt< T, I > mkInsertAdapt(T &&rObj, I &&rIns, bool fBefore=true)
Definition: StdAdaptors.h:437

Here is the call graph for this function:

virtual bool C4ControlPacket::PreExecute ( ) const
inlinevirtualinherited

Reimplemented in C4ControlJoinPlayer.

Definition at line 48 of file C4Control.h.

Referenced by C4GameControl::ExecControlPacket(), and C4Control::PreExecute().

48 { return true; }

Here is the caller graph for this function:

virtual void C4ControlPacket::PreRec ( C4Record pRecord)
inlinevirtualinherited

Reimplemented in C4ControlJoinPlayer.

Definition at line 50 of file C4Control.h.

Referenced by C4Control::PreRec(), and C4Record::Rec().

50 { }

Here is the caller graph for this function:

void C4ControlSyncCheck::Set ( )

Definition at line 746 of file C4Control.cpp.

References AllCrewPosX, Control, C4GameControl::ControlTick, ControlTick, C4PXSSystem::Count, C4MassMoverSet::CreatePtr, Frame, C4Game::FrameCounter, Game, GetAllCrewPosX(), C4PropListNumbered::GetEnumerationIndex(), C4LSectors::getShapeSum(), MassMover, MassMoverIndex, C4ObjectList::ObjectCount(), ObjectCount, ObjectEnumerationIndex, Objects, PXS, PXSCount, RandomCount, C4GameObjects::Sectors, and SectShapeSum.

Referenced by C4GameControl::DoSyncCheck().

747 {
752  PXSCount = ::PXS.Count;
757 }
int32_t ControlTick
Definition: C4GameControl.h:89
static int32_t GetAllCrewPosX()
Definition: C4Control.cpp:759
C4Game Game
Definition: C4Globals.cpp:52
int32_t FrameCounter
Definition: C4Game.h:128
int32_t AllCrewPosX
Definition: C4Control.h:325
static int32_t GetEnumerationIndex()
Definition: C4PropList.h:225
C4GameControl Control
C4PXSSystem PXS
Definition: C4PXS.cpp:525
int32_t ControlTick
Definition: C4Control.h:323
C4LSectors Sectors
Definition: C4GameObjects.h:42
C4MassMoverSet MassMover
int ObjectCount(C4ID id=C4ID::None) const
int32_t SectShapeSum
Definition: C4Control.h:330
int32_t ObjectEnumerationIndex
Definition: C4Control.h:329
int32_t MassMoverIndex
Definition: C4Control.h:327
int32_t RandomCount
Definition: C4Control.h:324
int getShapeSum() const
Definition: C4Sector.cpp:199
C4GameObjects Objects
Definition: C4Globals.cpp:48
int32_t CreatePtr
Definition: C4MassMover.h:44
int32_t ObjectCount
Definition: C4Control.h:328
int32_t Count
Definition: C4PXS.h:45

Here is the call graph for this function:

Here is the caller graph for this function:

void C4ControlPacket::SetByClient ( int32_t  iByClient)
inherited

Definition at line 65 of file C4Control.cpp.

References C4ControlPacket::iByClient.

66 {
67  iByClient = inByClient;
68 }
int32_t iByClient
Definition: C4Control.h:39
bool C4ControlSyncCheck::Sync ( ) const
inlineoverridevirtual

Reimplemented from C4ControlPacket.

Definition at line 334 of file C4Control.h.

334 { return false; }
void C4PacketBase::unpack ( const C4NetIOPacket Pkt,
char *  pStatus = nullptr 
)
inherited

Definition at line 159 of file C4Packet2.cpp.

References C4NetIOPacket::getPBuf(), C4NetIOPacket::getRef(), and C4NetIOPacket::getStatus().

Referenced by C4IDPacket::C4IDPacket(), and C4Network2IO::HandlePacket().

160 {
161  if (pStatus) *pStatus = Pkt.getStatus();
162  CompileFromBuf<StdCompilerBinRead>(*this, pStatus ? Pkt.getPBuf() : Pkt.getRef());
163 }
StdBuf getPBuf() const
Definition: C4NetIO.h:320
C4NetIOPacket getRef() const
Definition: C4NetIO.h:323
uint8_t getStatus() const
Definition: C4NetIO.h:317

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

int32_t C4ControlSyncCheck::AllCrewPosX
protected

Definition at line 325 of file C4Control.h.

Referenced by Set().

int32_t C4ControlSyncCheck::ControlTick
protected

Definition at line 323 of file C4Control.h.

Referenced by Set().

int32_t C4ControlSyncCheck::Frame
protected

Definition at line 322 of file C4Control.h.

Referenced by getFrame(), and Set().

int32_t C4ControlPacket::iByClient
protectedinherited
int32_t C4ControlSyncCheck::MassMoverIndex
protected

Definition at line 327 of file C4Control.h.

Referenced by Set().

int32_t C4ControlSyncCheck::ObjectCount
protected

Definition at line 328 of file C4Control.h.

Referenced by Set().

int32_t C4ControlSyncCheck::ObjectEnumerationIndex
protected

Definition at line 329 of file C4Control.h.

Referenced by Set().

int32_t C4ControlSyncCheck::PXSCount
protected

Definition at line 326 of file C4Control.h.

Referenced by Set().

int32_t C4ControlSyncCheck::RandomCount
protected

Definition at line 324 of file C4Control.h.

Referenced by Set().

int32_t C4ControlSyncCheck::SectShapeSum
protected

Definition at line 330 of file C4Control.h.

Referenced by Set().


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