ns/releases/3.1.2/source/cl_dll/demo.h

56 lines
1.7 KiB
C

#if !defined( DEMOH )
#define DEMOH
#pragma once
// Types of demo messages we can write/parse
enum
{
TYPE_SNIPERDOT = 0,
TYPE_ZOOM,
TYPE_BASESTATE,
TYPE_MOUSEVIS,
TYPE_MOUSEX,
TYPE_MOUSEY,
TYPE_VIEWORIGIN,
TYPE_VIEWANGLES,
TYPE_PARTICLES,
// More base state that wasn't originally saved (made a separate type for backwards-compatibility)
TYPE_BASESTATE2,
TYPE_PLAYERINFO,
TYPE_WEAPONINFO,
};
void Demo_WriteVector(int inType, vec3_t inVector);
void Demo_WriteByte(int inType, unsigned char inByte);
void Demo_WriteFloat(int inType, float inFloat);
void Demo_WriteInt(int inType, int inInt);
void Demo_WriteBuffer( int type, int size, unsigned char *buffer );
#define LOAD_DATA(x) LoadData(&x, inBuffer, sizeof(x), theBytesRead);
#define SAVE_DATA(x) SaveData(theCharArray, &x, sizeof(x), theCounter);
int GetDataSize(const string& inString);
void LoadData(void* inBuffer, const unsigned char* inData, int inSizeToCopy, int& inSizeVariable);
void LoadStringData(string& outString, const unsigned char* inData, int& inBytesRead);
void LoadVectorData(float* outData, const unsigned char* inData, int& inBytesRead);
void SaveData(unsigned char* inBuffer, const void* inData, int inSizeToCopy, int& inSizeVariable);
void SaveStringData(unsigned char* inBuffer, const string& inString, int& inSizeVariable);
void SaveVectorData(unsigned char* inBuffer, float* inData, int& inSizeVariable);
extern int g_demosniper;
extern int g_demosniperdamage;
extern float g_demosniperorg[3];
extern float g_demosniperangles[3];
extern float g_demozoom;
extern float gNormMouseX;
extern float gNormMouseY;
extern int gVisibleMouse;
extern vec3_t v_angles;
extern vec3_t v_origin;
#endif