OpenClonk
C4Record.h File Reference
#include "c4group/C4Group.h"
#include "control/C4Control.h"
Include dependency graph for C4Record.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  C4DebugRecOff
 
struct  C4RecordChunkHead
 
struct  C4RecordChunk
 
struct  C4RCSetPix
 
struct  C4RCExecObj
 
struct  C4RCMassMover
 
struct  C4RCRandom
 
struct  C4RCCreateObj
 
struct  C4RCSin
 
struct  C4RCRotVtx
 
struct  C4RCExecPXS
 
struct  C4RCTrf
 
struct  C4RCPos
 
struct  C4RCObjectCom
 
struct  C4RCMatScan
 
struct  C4RCArea
 
struct  C4RCMenuAdd
 
struct  C4RCOCF
 
class  C4PktDebugRec
 
class  C4Record
 
class  C4Playback
 
union  C4RecordChunk.__unnamed7__
 

Macros

#define DEBUGREC_OFF   ++DoNoDebugRec;
 
#define DEBUGREC_ON   --DoNoDebugRec;
 

Enumerations

enum  C4RecordChunkType {
  RCT_Ctrl = 0x00 , RCT_CtrlPkt = 0x01 , RCT_Frame = 0x02 , RCT_End = 0x10 ,
  RCT_Log = 0x20 , RCT_File = 0x30 , RCT_DbgFrame = 0x81 , RCT_Block = 0x82 ,
  RCT_SetPix = 0x83 , RCT_ExecObj = 0x84 , RCT_Random = 0x85 , RCT_Rn3 = 0x86 ,
  RCT_MMC = 0x87 , RCT_MMD = 0x88 , RCT_CrObj = 0x89 , RCT_DsObj = 0x8A ,
  RCT_GetPix = 0x8B , RCT_RotVtx1 = 0x8C , RCT_RotVtx2 = 0x8D , RCT_ExecPXS = 0x8E ,
  RCT_Sin = 0x8F , RCT_Cos = 0x90 , RCT_Map = 0x91 , RCT_Ls = 0x92 ,
  RCT_MCT1 = 0x93 , RCT_MCT2 = 0x94 , RCT_AulFunc = 0x9A , RCT_ObjCom = 0x9B ,
  RCT_PlrCom = 0x9C , RCT_PlrInCom = 0x9D , RCT_MatScan = 0x9E , RCT_MatScanDo = 0x9F ,
  RCT_Area = 0xA0 , RCT_MenuAdd = 0xA1 , RCT_MenuAddC = 0xA2 , RCT_OCF = 0xA3 ,
  RCT_DirectExec = 0xA4 , RCT_Definition = 0xA5 , RCT_SetProperty = 0xA6 , RCT_Custom = 0xc0 ,
  RCT_Undefined = 0xff
}
 

Functions

void AddDbgRec (C4RecordChunkType eType, const void *pData=nullptr, int iSize=0)
 

Variables

int DoNoDebugRec
 

Class Documentation

◆ C4RecordChunkHead

struct C4RecordChunkHead

Definition at line 97 of file C4Record.h.

Class Members
uint8_t iFrm
uint8_t Type

◆ C4RCSetPix

struct C4RCSetPix

Definition at line 122 of file C4Record.h.

Class Members
BYTE bgClr
BYTE clr
int x
int y

◆ C4RCExecObj

struct C4RCExecObj

Definition at line 129 of file C4Record.h.

Collaboration diagram for C4RCExecObj:
[legend]
Class Members
C4Real fr
C4Real fx
C4Real fy
int Number

◆ C4RCMassMover

struct C4RCMassMover

Definition at line 135 of file C4Record.h.

Class Members
int x
int y

◆ C4RCRandom

struct C4RCRandom

Definition at line 140 of file C4Record.h.

Class Members
int Cnt
uint32_t Range
uint32_t Val

◆ C4RCCreateObj

struct C4RCCreateObj

Definition at line 147 of file C4Record.h.

Class Members
char id[32+1]
int oei
int ownr
int x
int y

◆ C4RCSin

struct C4RCSin

Definition at line 154 of file C4Record.h.

Class Members
double r
double v

◆ C4RCRotVtx

struct C4RCRotVtx

Definition at line 160 of file C4Record.h.

Class Members
int hgt
int r
int VtxX[4]
int VtxY[4]
int wdt
int x
int y

◆ C4RCExecPXS

struct C4RCExecPXS

Definition at line 168 of file C4Record.h.

Collaboration diagram for C4RCExecPXS:
[legend]
Class Members
int32_t iMat
int32_t pos
C4Real x
C4Real y

◆ C4RCTrf

struct C4RCTrf

Definition at line 178 of file C4Record.h.

Class Members
int Rotate
int Turbulence
int x
int y

◆ C4RCPos

struct C4RCPos

Definition at line 183 of file C4Record.h.

Class Members
int x
int y

◆ C4RCObjectCom

struct C4RCObjectCom

Definition at line 188 of file C4Record.h.

Class Members
BYTE com
int32_t data
int32_t o

◆ C4RCMatScan

struct C4RCMatScan

Definition at line 195 of file C4Record.h.

Class Members
int32_t conv_to
int32_t cx
int32_t cy
int32_t dir
int32_t mat
int32_t mconvs

◆ C4RCArea

struct C4RCArea

Definition at line 200 of file C4Record.h.

Class Members
int32_t dpitch
int32_t obj
char op
bool out
int32_t x1
int32_t xL
int32_t y1
int32_t yL

◆ C4RCMenuAdd

struct C4RCMenuAdd

Definition at line 208 of file C4Record.h.

Collaboration diagram for C4RCMenuAdd:
[legend]
Class Members
bool fIsSelectable
bool fOwnValue
int32_t iCount
C4ID idID
int32_t iObjNum
int32_t iValue

◆ C4RCOCF

struct C4RCOCF

Definition at line 218 of file C4Record.h.

Class Members
uint32_t dwOCFNew
uint32_t dwOCFOld
bool fUpdate

◆ C4RecordChunk.__unnamed7__

union C4RecordChunk.__unnamed7__

Definition at line 107 of file C4Record.h.

Class Members
C4Control * pCtrl
class C4PktDebugRec * pDbg
StdBuf * pFileData
C4IDPacket * pPkt

Macro Definition Documentation

◆ DEBUGREC_OFF

#define DEBUGREC_OFF   ++DoNoDebugRec;

Definition at line 28 of file C4Record.h.

◆ DEBUGREC_ON

#define DEBUGREC_ON   --DoNoDebugRec;

Definition at line 29 of file C4Record.h.

Enumeration Type Documentation

◆ C4RecordChunkType

Enumerator
RCT_Ctrl 
RCT_CtrlPkt 
RCT_Frame 
RCT_End 
RCT_Log 
RCT_File 
RCT_DbgFrame 
RCT_Block 
RCT_SetPix 
RCT_ExecObj 
RCT_Random 
RCT_Rn3 
RCT_MMC 
RCT_MMD 
RCT_CrObj 
RCT_DsObj 
RCT_GetPix 
RCT_RotVtx1 
RCT_RotVtx2 
RCT_ExecPXS 
RCT_Sin 
RCT_Cos 
RCT_Map 
RCT_Ls 
RCT_MCT1 
RCT_MCT2 
RCT_AulFunc 
RCT_ObjCom 
RCT_PlrCom 
RCT_PlrInCom 
RCT_MatScan 
RCT_MatScanDo 
RCT_Area 
RCT_MenuAdd 
RCT_MenuAddC 
RCT_OCF 
RCT_DirectExec 
RCT_Definition 
RCT_SetProperty 
RCT_Custom 
RCT_Undefined 

Definition at line 44 of file C4Record.h.

45 {
46  RCT_Ctrl = 0x00, // control
47  RCT_CtrlPkt= 0x01, // control packet
48  RCT_Frame = 0x02, // beginning frame
49  RCT_End = 0x10, // --- the end ---
50  RCT_Log = 0x20, // log message
51  // Streaming
52  RCT_File = 0x30, // file data
53  // DEBUGREC
54  RCT_DbgFrame= 0x81, // frame start in Game::Execute
55  RCT_Block = 0x82, // point in Game::Execute
56  RCT_SetPix = 0x83, // set landscape pixel
57  RCT_ExecObj = 0x84, // exec object
58  RCT_Random = 0x85, // Random()-call
59  RCT_Rn3 = 0x86, // Rn3()-call
60  RCT_MMC = 0x87, // create MassMover
61  RCT_MMD = 0x88, // destroy MassMover
62  RCT_CrObj = 0x89, // create object
63  RCT_DsObj = 0x8A, // remove object
64  RCT_GetPix = 0x8B, // get landscape pixel; let the Gigas flow!
65  RCT_RotVtx1 = 0x8C, // before shape is rotated
66  RCT_RotVtx2 = 0x8D, // after shape is rotated
67  RCT_ExecPXS = 0x8E, // execute pxs system
68  RCT_Sin = 0x8F, // sin by Shape-Rotation
69  RCT_Cos = 0x90, // cos by Shape-Rotation
70  RCT_Map = 0x91, // map dump
71  RCT_Ls = 0x92, // complete landscape dump!
72  RCT_MCT1 = 0x93, // MapCreatorS2: before transformation
73  RCT_MCT2 = 0x94, // MapCreatorS2: after transformation
74  RCT_AulFunc = 0x9A, // script function call
75  RCT_ObjCom = 0x9B, // object com
76  RCT_PlrCom = 0x9C, // player com
77  RCT_PlrInCom= 0x9D, // player InCom
78  RCT_MatScan = 0x9E, // landscape scan execute
79  RCT_MatScanDo= 0x9F, // landscape scan mat change
80  RCT_Area = 0xA0, // object area change
81  RCT_MenuAdd = 0xA1, // add menu item
82  RCT_MenuAddC = 0xA2, // add menu item: Following commands
83  RCT_OCF = 0xA3, // OCF setting of updating
84  RCT_DirectExec = 0xA4, // a DirectExec-script
85  RCT_Definition = 0xA5, // Definition callback
86  RCT_SetProperty= 0xA6, // set a property in a proplist
87 
88  RCT_Custom = 0xc0, // varies
89 
90  RCT_Undefined = 0xff
91 };
@ RCT_Area
Definition: C4Record.h:80
@ RCT_DsObj
Definition: C4Record.h:63
@ RCT_MCT2
Definition: C4Record.h:73
@ RCT_PlrCom
Definition: C4Record.h:76
@ RCT_Rn3
Definition: C4Record.h:59
@ RCT_Ctrl
Definition: C4Record.h:46
@ RCT_MenuAdd
Definition: C4Record.h:81
@ RCT_End
Definition: C4Record.h:49
@ RCT_Block
Definition: C4Record.h:55
@ RCT_ObjCom
Definition: C4Record.h:75
@ RCT_DbgFrame
Definition: C4Record.h:54
@ RCT_SetPix
Definition: C4Record.h:56
@ RCT_ExecPXS
Definition: C4Record.h:67
@ RCT_GetPix
Definition: C4Record.h:64
@ RCT_Undefined
Definition: C4Record.h:90
@ RCT_AulFunc
Definition: C4Record.h:74
@ RCT_MenuAddC
Definition: C4Record.h:82
@ RCT_DirectExec
Definition: C4Record.h:84
@ RCT_RotVtx2
Definition: C4Record.h:66
@ RCT_PlrInCom
Definition: C4Record.h:77
@ RCT_Map
Definition: C4Record.h:70
@ RCT_Cos
Definition: C4Record.h:69
@ RCT_Custom
Definition: C4Record.h:88
@ RCT_MatScan
Definition: C4Record.h:78
@ RCT_MCT1
Definition: C4Record.h:72
@ RCT_RotVtx1
Definition: C4Record.h:65
@ RCT_ExecObj
Definition: C4Record.h:57
@ RCT_MatScanDo
Definition: C4Record.h:79
@ RCT_Log
Definition: C4Record.h:50
@ RCT_MMD
Definition: C4Record.h:61
@ RCT_OCF
Definition: C4Record.h:83
@ RCT_Sin
Definition: C4Record.h:68
@ RCT_Ls
Definition: C4Record.h:71
@ RCT_Frame
Definition: C4Record.h:48
@ RCT_MMC
Definition: C4Record.h:60
@ RCT_Random
Definition: C4Record.h:58
@ RCT_CtrlPkt
Definition: C4Record.h:47
@ RCT_SetProperty
Definition: C4Record.h:86
@ RCT_CrObj
Definition: C4Record.h:62
@ RCT_Definition
Definition: C4Record.h:85
@ RCT_File
Definition: C4Record.h:52

Function Documentation

◆ AddDbgRec()

void AddDbgRec ( C4RecordChunkType  eType,
const void *  pData = nullptr,
int  iSize = 0 
)

Definition at line 32 of file C4Record.cpp.

33 {
34  ::Control.DbgRec(eType, (const uint8_t *) pData, iSize);
35 }
C4GameControl Control
int iSize
Definition: TstC4NetIO.cpp:32
void DbgRec(C4RecordChunkType eType, const uint8_t *pData=nullptr, size_t iSize=0)

References Control, C4GameControl::DbgRec(), and iSize.

Referenced by C4Landscape::_SetPix2(), C4Object::AssignRemoval(), C4MassMover::Cease(), C4MCOverlay::CheckMask(), C4MassMoverSet::Create(), C4PXS::Deactivate(), C4LArea::DebugRec(), C4AulExec::DirectExec(), C4Landscape::P::DoScan(), C4Game::ExecObjects(), C4Game::Execute(), C4PXS::Execute(), C4Object::Execute(), C4PlayerControl::ExecuteControlPacket(), C4Landscape::P::ExecuteScan(), C4Game::NewObject(), RecordRandom(), C4Shape::Rotate(), C4Object::SetOCF(), and C4Object::UpdateOCF().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ DoNoDebugRec

int DoNoDebugRec
extern

Definition at line 30 of file C4Record.cpp.

Referenced by C4Playback::Check(), and C4GameControl::DbgRec().