53 virtual bool Lobby()
const {
return false; }
55 virtual bool Sync()
const {
return true; }
60 #define DECLARE_C4CONTROL_VIRTUALS \
61 void Execute() const override; \
62 void CompileFunc(StdCompiler *pComp) override;
153 : reply(reply), target(target), player(player)
172 : command(command), parameter(parameter), player(player)
251 int32_t target_obj{0};
303 int32_t param_int{0};
308 CPA_IPC_HasKeyboard = 1<<0,
309 CPA_IPC_HasMouse = 1<<1,
310 CPA_IPC_HasGamepad = 1<<2
334 bool Sync()
const override {
return false; }
360 bool Sync()
const override {
return false; }
361 bool Lobby()
const override {
return true; }
378 static const int32_t MinReadyAnnouncementDelay = 1;
384 bool Sync()
const override {
return false; }
385 bool Lobby()
const override {
return true; }
398 bool Sync()
const override {
return false; }
399 bool Lobby()
const override {
return true; }
415 bool Sync()
const override {
return false; }
416 bool Lobby()
const override {
return true; }
470 void MoveObject(
C4Object *moved_object,
bool move_forced)
const;
490 int32_t
iX=-1, int32_t
iY=-1, int32_t
iX2=-1, int32_t
iY2=-1, int32_t
iGrade=-1,
491 const char *szMaterial=
nullptr,
const char *szTexture=
nullptr,
492 const char *szBackMaterial=
nullptr,
const char *szBackTexture=
nullptr);
529 bool Sync()
const override {
return false; }
530 bool Lobby()
const override {
return true; }
571 : eType(eType), fApprove(fApprove), iData(iData)
587 bool Sync()
const override {
return false; }
599 bool Sync()
const override {
return true; }
629 : path(path), action(action), index(index), x(x), y(y) { }
633 int32_t index=-1, x=0, y=0;
640 int32_t
GetX()
const {
return x; }
641 int32_t
GetY()
const {
return y; }
const int32_t C4ClientIDHost
#define DECLARE_C4CONTROL_VIRTUALS
bool Sync() const override
C4ControlClientJoin()=default
C4ControlClientJoin(const C4ClientCore &Core)
bool Lobby() const override
C4ControlClientRemove()=default
C4ControlClientRemove(int32_t iID, const char *szReason="")
bool Sync() const override
bool Lobby() const override
bool Sync() const override
C4ControlClientUpdType eType
C4ControlClientUpdate(int32_t iID, C4ControlClientUpdType eType, int32_t iData=0)
bool Lobby() const override
C4ControlClientUpdate()=default
C4ControlDebugRec()=default
C4ControlDebugRec(StdBuf &Data)
static C4ControlEMMoveObject * CreateObject(const C4ID &id, C4Real x, C4Real y, C4Object *container)
~C4ControlEMMoveObject() override
C4ControlEMObjectAction eAction
C4ControlEditGraph(const char *path, Action action, int32_t index, int32_t x, int32_t y)
DECLARE_C4CONTROL_VIRTUALS const char * GetPath() const
C4ControlEditGraph()=default
void PreRec(C4Record *pRecord) const
C4IDPacket * firstPkt() const
void Append(const C4Control &Ctrl)
void CompileFunc(StdCompiler *pComp) override
void Take(C4Control &Ctrl)
void Add(C4PacketType eType, C4ControlPacket *pCtrl)
void Remove(C4IDPacket *pPkt)
void Delete(C4IDPacket *pPkt)
void Copy(const C4Control &Ctrl)
void AddHead(C4PacketType eType, C4ControlPacket *pCtrl)
C4IDPacket * nextPkt(C4IDPacket *pPkt) const
C4ControlMenuCommand()=default
C4ControlMessage()=default
C4ControlMessageType eType
bool Lobby() const override
bool Sync() const override
C4ControlMessage(C4ControlMessageType eType, const char *szMessage, int32_t iPlayer=-1, int32_t iToPlayer=-1)
C4ControlMsgBoardCmd(const char *command, const char *parameter, int32_t player)
C4ControlMsgBoardReply(const char *reply, int32_t target, int32_t player)
virtual void PreRec(C4Record *pRecord)
int32_t getByClient() const
void CompileFunc(StdCompiler *pComp) override
bool LocalControl() const
virtual bool PreExecute() const
virtual void Execute() const =0
virtual bool Sync() const
~C4ControlPacket() override
void SetByClient(int32_t iByClient)
virtual bool Lobby() const
static C4ControlPlayerAction * InitScenarioPlayer(const C4Player *source, int32_t team)
C4ControlPlayerAction(const C4Player *source=nullptr)
static C4ControlPlayerAction * SetHostility(const C4Player *source, const C4Player *target, bool hostile)
static C4ControlPlayerAction * InitPlayerControl(const C4Player *source, const C4PlayerControlAssignmentSet *ctrl_set=nullptr)
static C4ControlPlayerAction * Eliminate(const C4Player *source)
static C4ControlPlayerAction * ActivateGoal(const C4Player *source, const C4Object *target)
static C4ControlPlayerAction * SetTeam(const C4Player *source, int32_t team)
static C4ControlPlayerAction * ActivateGoalMenu(const C4Player *source)
static C4ControlPlayerAction * Surrender(const C4Player *source)
const C4KeyEventData & GetExtraData() const
C4ControlPlayerControl()=default
C4ControlPlayerControl(int32_t iPlr, C4PlayerControl::ControlState state, const C4KeyEventData &rExtraData)
ControlItemVec ControlItems
C4PlayerControl::ControlState GetState() const
DECLARE_C4CONTROL_VIRTUALS void AddControl(int32_t iControl, int32_t iTriggerMode)
const ControlItemVec & GetControlItems() const
C4ControlPlayerControl(int32_t iPlr, int32_t iControl, int32_t iExtraData)
std::vector< ControlItem > ControlItemVec
void SetExtraData(const C4KeyEventData &new_extra_data)
bool Sync() const override
C4ControlPlayerInfo(const C4ClientPlayerInfos &PlrInfo)
const C4ClientPlayerInfos & GetInfo() const
C4ClientPlayerInfos PlrInfo
C4ControlPlayerInfo()=default
bool Lobby() const override
static C4ControlPlayerMouse * Hover(const C4Player *player, const C4Object *target, const C4Object *old_target, const C4Object *drag=nullptr)
static C4ControlPlayerMouse * DragDrop(const C4Player *player, const C4Object *target, const C4Object *drag)
C4ControlPlayerSelect()=default
~C4ControlPlayerSelect() override
C4ControlRemovePlr()=default
C4ControlRemovePlr(int32_t iPlr, bool fDisconnected)
C4ControlScript(const char *szScript, int32_t iTargetObj, bool fUseVarsFromCallerContext=false, bool editor_select_result=false)
bool fUseVarsFromCallerContext
C4ControlScript()=default
bool editor_select_result
void SetTargetObj(int32_t iObj)
bool Lobby() const override
C4ControlSet(C4CtrlValueType eValType, int32_t iData)
bool Sync() const override
static int32_t GetAllCrewPosX()
int32_t ObjectEnumerationIndex
C4ControlSynchronize(bool fSavePlrFiles=false, bool fSyncClearance=false)
C4ControlVoteEnd(C4ControlVoteType eType=VT_None, bool fApprove=true, int iData=0)
bool Sync() const override
C4ControlVote(C4ControlVoteType eType=VT_None, bool fApprove=true, int iData=0)
bool Sync() const override
C4ControlVoteType getType() const
StdStrBuf getDesc() const
StdStrBuf getDescWarning() const
C4IDPacket * firstPkt() const
void Delete(C4IDPacket *pPkt)
void AddHead(C4IDPacket *pPkt)
void Take(C4PacketList &List)
void Add(C4IDPacket *pPkt)
void Append(const C4PacketList &List)
void Remove(C4IDPacket *pPkt)
C4IDPacket * nextPkt(C4IDPacket *pPkt) const
const char * getData() const
DECLARE_C4CONTROL_VIRTUALS bool PreExecute() const override
C4ControlJoinPlayer()=default
void PreRec(C4Record *pRecord) override
C4Network2ResCore ResCore
bool operator==(const struct ControlItem &cmp) const
void CompileFunc(StdCompiler *pComp)
ControlItem(int32_t iControl, int32_t iTriggerMode)
C4ControlReInitScenario()