597 lines
14 KiB
C
597 lines
14 KiB
C
// Copyright (C) 1999-2000 Id Software, Inc.
|
|
//
|
|
#ifndef __CG_PUBLIC_H
|
|
#define __CG_PUBLIC_H
|
|
|
|
#define CMD_BACKUP 64
|
|
#define CMD_MASK (CMD_BACKUP - 1)
|
|
// allow a lot of command backups for very fast systems
|
|
// multiple commands may be combined into a single packet, so this
|
|
// needs to be larger than PACKET_BACKUP
|
|
|
|
|
|
#define MAX_ENTITIES_IN_SNAPSHOT 256
|
|
|
|
// snapshots are a view of the server at a given time
|
|
|
|
// Snapshots are generated at regular time intervals by the server,
|
|
// but they may not be sent if a client's rate level is exceeded, or
|
|
// they may be dropped by the network.
|
|
typedef struct {
|
|
int snapFlags; // SNAPFLAG_RATE_DELAYED, etc
|
|
int ping;
|
|
|
|
int serverTime; // server time the message is valid for (in msec)
|
|
|
|
byte areamask[MAX_MAP_AREA_BYTES]; // portalarea visibility bits
|
|
|
|
playerState_t ps; // complete information about the current player at this time
|
|
playerState_t vps; //vehicle I'm riding's playerstate (if applicable) -rww
|
|
|
|
int numEntities; // all of the entities that need to be presented
|
|
entityState_t entities[MAX_ENTITIES_IN_SNAPSHOT]; // at the time of this snapshot
|
|
|
|
int numServerCommands; // text based server commands to execute when this
|
|
int serverCommandSequence; // snapshot becomes current
|
|
} snapshot_t;
|
|
|
|
enum {
|
|
CGAME_EVENT_NONE,
|
|
CGAME_EVENT_TEAMMENU,
|
|
CGAME_EVENT_SCOREBOARD,
|
|
CGAME_EVENT_EDITHUD
|
|
};
|
|
|
|
|
|
/*
|
|
==================================================================
|
|
|
|
functions imported from the main executable
|
|
|
|
==================================================================
|
|
*/
|
|
|
|
#define CGAME_IMPORT_API_VERSION 5
|
|
|
|
typedef enum {
|
|
CG_PRINT = 0,
|
|
CG_ERROR,
|
|
CG_MILLISECONDS,
|
|
|
|
//Also for profiling.. do not use for game related tasks.
|
|
CG_PRECISIONTIMER_START,
|
|
CG_PRECISIONTIMER_END,
|
|
|
|
CG_CVAR_REGISTER,
|
|
CG_CVAR_UPDATE,
|
|
CG_CVAR_SET,
|
|
CG_CVAR_VARIABLESTRINGBUFFER,
|
|
CG_CVAR_GETHIDDENVALUE,
|
|
CG_ARGC,
|
|
CG_ARGV,
|
|
CG_ARGS,
|
|
CG_FS_FOPENFILE,
|
|
CG_FS_READ,
|
|
CG_FS_WRITE,
|
|
CG_FS_FCLOSEFILE,
|
|
CG_FS_GETFILELIST,
|
|
CG_SENDCONSOLECOMMAND,
|
|
CG_ADDCOMMAND,
|
|
CG_REMOVECOMMAND,
|
|
CG_SENDCLIENTCOMMAND,
|
|
CG_UPDATESCREEN,
|
|
CG_CM_LOADMAP,
|
|
CG_CM_NUMINLINEMODELS,
|
|
CG_CM_INLINEMODEL,
|
|
CG_CM_TEMPBOXMODEL,
|
|
CG_CM_TEMPCAPSULEMODEL,
|
|
CG_CM_POINTCONTENTS,
|
|
CG_CM_TRANSFORMEDPOINTCONTENTS,
|
|
CG_CM_BOXTRACE,
|
|
CG_CM_CAPSULETRACE,
|
|
CG_CM_TRANSFORMEDBOXTRACE,
|
|
CG_CM_TRANSFORMEDCAPSULETRACE,
|
|
CG_CM_MARKFRAGMENTS,
|
|
CG_S_GETVOICEVOLUME,
|
|
CG_S_MUTESOUND,
|
|
CG_S_STARTSOUND,
|
|
CG_S_STARTLOCALSOUND,
|
|
CG_S_CLEARLOOPINGSOUNDS,
|
|
CG_S_ADDLOOPINGSOUND,
|
|
CG_S_UPDATEENTITYPOSITION,
|
|
CG_S_ADDREALLOOPINGSOUND,
|
|
CG_S_STOPLOOPINGSOUND,
|
|
CG_S_RESPATIALIZE,
|
|
CG_S_SHUTUP,
|
|
CG_S_REGISTERSOUND,
|
|
CG_S_STARTBACKGROUNDTRACK,
|
|
|
|
//rww - AS trap implem
|
|
CG_S_UPDATEAMBIENTSET,
|
|
CG_AS_PARSESETS,
|
|
CG_AS_ADDPRECACHEENTRY,
|
|
CG_S_ADDLOCALSET,
|
|
CG_AS_GETBMODELSOUND,
|
|
|
|
CG_R_LOADWORLDMAP,
|
|
CG_R_REGISTERMODEL,
|
|
CG_R_REGISTERSKIN,
|
|
CG_R_REGISTERSHADER,
|
|
CG_R_REGISTERSHADERNOMIP,
|
|
CG_R_REGISTERFONT,
|
|
CG_R_FONT_STRLENPIXELS,
|
|
CG_R_FONT_STRLENCHARS,
|
|
CG_R_FONT_STRHEIGHTPIXELS,
|
|
CG_R_FONT_DRAWSTRING,
|
|
CG_LANGUAGE_ISASIAN,
|
|
CG_LANGUAGE_USESSPACES,
|
|
CG_ANYLANGUAGE_READCHARFROMSTRING,
|
|
|
|
CGAME_MEMSET = 100,
|
|
CGAME_MEMCPY,
|
|
CGAME_STRNCPY,
|
|
CGAME_SIN,
|
|
CGAME_COS,
|
|
CGAME_ATAN2,
|
|
CGAME_SQRT,
|
|
CGAME_MATRIXMULTIPLY,
|
|
CGAME_ANGLEVECTORS,
|
|
CGAME_PERPENDICULARVECTOR,
|
|
CGAME_FLOOR,
|
|
CGAME_CEIL,
|
|
|
|
CGAME_TESTPRINTINT,
|
|
CGAME_TESTPRINTFLOAT,
|
|
|
|
CGAME_ACOS,
|
|
CGAME_ASIN,
|
|
|
|
CG_R_CLEARSCENE = 200,
|
|
CG_R_CLEARDECALS,
|
|
CG_R_ADDREFENTITYTOSCENE,
|
|
CG_R_ADDPOLYTOSCENE,
|
|
CG_R_ADDPOLYSTOSCENE,
|
|
CG_R_ADDDECALTOSCENE,
|
|
CG_R_LIGHTFORPOINT,
|
|
CG_R_ADDLIGHTTOSCENE,
|
|
CG_R_ADDADDITIVELIGHTTOSCENE,
|
|
CG_R_RENDERSCENE,
|
|
CG_R_SETCOLOR,
|
|
CG_R_DRAWSTRETCHPIC,
|
|
CG_R_MODELBOUNDS,
|
|
CG_R_LERPTAG,
|
|
CG_R_DRAWROTATEPIC,
|
|
CG_R_DRAWROTATEPIC2,
|
|
CG_R_SETRANGEFOG, //linear fogging, with settable range -rww
|
|
CG_R_SETREFRACTIONPROP, //set some properties for the draw layer for my refractive effect (here primarily for mod authors) -rww
|
|
CG_R_REMAP_SHADER,
|
|
CG_R_GET_LIGHT_STYLE,
|
|
CG_R_SET_LIGHT_STYLE,
|
|
CG_R_GET_BMODEL_VERTS,
|
|
CG_R_GETDISTANCECULL,
|
|
|
|
CG_R_GETREALRES,
|
|
CG_R_AUTOMAPELEVADJ,
|
|
CG_R_INITWIREFRAMEAUTO,
|
|
|
|
CG_FX_ADDLINE,
|
|
|
|
CG_GETGLCONFIG,
|
|
CG_GETGAMESTATE,
|
|
CG_GETCURRENTSNAPSHOTNUMBER,
|
|
CG_GETSNAPSHOT,
|
|
CG_GETDEFAULTSTATE,
|
|
CG_GETSERVERCOMMAND,
|
|
CG_GETCURRENTCMDNUMBER,
|
|
CG_GETUSERCMD,
|
|
CG_SETUSERCMDVALUE,
|
|
CG_SETCLIENTFORCEANGLE,
|
|
CG_SETCLIENTTURNEXTENT,
|
|
CG_OPENUIMENU,
|
|
CG_TESTPRINTINT,
|
|
CG_TESTPRINTFLOAT,
|
|
CG_MEMORY_REMAINING,
|
|
CG_KEY_ISDOWN,
|
|
CG_KEY_GETCATCHER,
|
|
CG_KEY_SETCATCHER,
|
|
CG_KEY_GETKEY,
|
|
|
|
CG_PC_ADD_GLOBAL_DEFINE,
|
|
CG_PC_LOAD_SOURCE,
|
|
CG_PC_FREE_SOURCE,
|
|
CG_PC_READ_TOKEN,
|
|
CG_PC_SOURCE_FILE_AND_LINE,
|
|
CG_PC_LOAD_GLOBAL_DEFINES,
|
|
CG_PC_REMOVE_ALL_GLOBAL_DEFINES,
|
|
|
|
CG_S_STOPBACKGROUNDTRACK,
|
|
CG_REAL_TIME,
|
|
CG_SNAPVECTOR,
|
|
CG_CIN_PLAYCINEMATIC,
|
|
CG_CIN_STOPCINEMATIC,
|
|
CG_CIN_RUNCINEMATIC,
|
|
CG_CIN_DRAWCINEMATIC,
|
|
CG_CIN_SETEXTENTS,
|
|
|
|
CG_GET_ENTITY_TOKEN,
|
|
CG_R_INPVS,
|
|
|
|
CG_FX_REGISTER_EFFECT,
|
|
CG_FX_PLAY_EFFECT,
|
|
CG_FX_PLAY_ENTITY_EFFECT,
|
|
CG_FX_PLAY_EFFECT_ID,
|
|
CG_FX_PLAY_PORTAL_EFFECT_ID,
|
|
CG_FX_PLAY_ENTITY_EFFECT_ID,
|
|
CG_FX_PLAY_BOLTED_EFFECT_ID,
|
|
CG_FX_ADD_SCHEDULED_EFFECTS,
|
|
CG_FX_INIT_SYSTEM,
|
|
CG_FX_SET_REFDEF,
|
|
CG_FX_FREE_SYSTEM,
|
|
CG_FX_ADJUST_TIME,
|
|
CG_FX_DRAW_2D_EFFECTS,
|
|
CG_FX_RESET,
|
|
CG_FX_ADDPOLY,
|
|
CG_FX_ADDBEZIER,
|
|
CG_FX_ADDPRIMITIVE,
|
|
CG_FX_ADDSPRITE,
|
|
CG_FX_ADDELECTRICITY,
|
|
|
|
// CG_SP_PRINT,
|
|
CG_SP_GETSTRINGTEXTSTRING,
|
|
|
|
CG_ROFF_CLEAN,
|
|
CG_ROFF_UPDATE_ENTITIES,
|
|
CG_ROFF_CACHE,
|
|
CG_ROFF_PLAY,
|
|
CG_ROFF_PURGE_ENT,
|
|
|
|
|
|
//rww - dynamic vm memory allocation!
|
|
CG_TRUEMALLOC,
|
|
CG_TRUEFREE,
|
|
|
|
/*
|
|
Ghoul2 Insert Start
|
|
*/
|
|
CG_G2_LISTSURFACES,
|
|
CG_G2_LISTBONES,
|
|
CG_G2_SETMODELS,
|
|
CG_G2_HAVEWEGHOULMODELS,
|
|
CG_G2_GETBOLT,
|
|
CG_G2_GETBOLT_NOREC,
|
|
CG_G2_GETBOLT_NOREC_NOROT,
|
|
CG_G2_INITGHOUL2MODEL,
|
|
CG_G2_SETSKIN,
|
|
CG_G2_COLLISIONDETECT,
|
|
CG_G2_COLLISIONDETECTCACHE,
|
|
CG_G2_CLEANMODELS,
|
|
CG_G2_ANGLEOVERRIDE,
|
|
CG_G2_PLAYANIM,
|
|
CG_G2_GETBONEANIM,
|
|
CG_G2_GETBONEFRAME, //trimmed down version of GBA, so I don't have to pass all those unused args across the VM-exe border
|
|
CG_G2_GETGLANAME,
|
|
CG_G2_COPYGHOUL2INSTANCE,
|
|
CG_G2_COPYSPECIFICGHOUL2MODEL,
|
|
CG_G2_DUPLICATEGHOUL2INSTANCE,
|
|
CG_G2_HASGHOUL2MODELONINDEX,
|
|
CG_G2_REMOVEGHOUL2MODEL,
|
|
CG_G2_SKINLESSMODEL,
|
|
CG_G2_GETNUMGOREMARKS,
|
|
CG_G2_ADDSKINGORE,
|
|
CG_G2_CLEARSKINGORE,
|
|
CG_G2_SIZE,
|
|
CG_G2_ADDBOLT,
|
|
CG_G2_ATTACHENT,
|
|
CG_G2_SETBOLTON,
|
|
CG_G2_SETROOTSURFACE,
|
|
CG_G2_SETSURFACEONOFF,
|
|
CG_G2_SETNEWORIGIN,
|
|
CG_G2_DOESBONEEXIST,
|
|
CG_G2_GETSURFACERENDERSTATUS,
|
|
|
|
CG_G2_GETTIME,
|
|
CG_G2_SETTIME,
|
|
|
|
CG_G2_ABSURDSMOOTHING,
|
|
|
|
/*
|
|
//rww - RAGDOLL_BEGIN
|
|
*/
|
|
CG_G2_SETRAGDOLL,
|
|
CG_G2_ANIMATEG2MODELS,
|
|
/*
|
|
//rww - RAGDOLL_END
|
|
*/
|
|
|
|
//additional ragdoll options -rww
|
|
CG_G2_RAGPCJCONSTRAINT,
|
|
CG_G2_RAGPCJGRADIENTSPEED,
|
|
CG_G2_RAGEFFECTORGOAL,
|
|
CG_G2_GETRAGBONEPOS,
|
|
CG_G2_RAGEFFECTORKICK,
|
|
CG_G2_RAGFORCESOLVE,
|
|
|
|
//rww - ik move method, allows you to specify a bone and move it to a world point (within joint constraints)
|
|
//by using the majority of gil's existing bone angling stuff from the ragdoll code.
|
|
CG_G2_SETBONEIKSTATE,
|
|
CG_G2_IKMOVE,
|
|
|
|
CG_G2_REMOVEBONE,
|
|
|
|
CG_G2_ATTACHINSTANCETOENTNUM,
|
|
CG_G2_CLEARATTACHEDINSTANCE,
|
|
CG_G2_CLEANENTATTACHMENTS,
|
|
CG_G2_OVERRIDESERVER,
|
|
|
|
CG_G2_GETSURFACENAME,
|
|
|
|
CG_SET_SHARED_BUFFER,
|
|
|
|
CG_CM_REGISTER_TERRAIN,
|
|
CG_RMG_INIT,
|
|
CG_RE_INIT_RENDERER_TERRAIN,
|
|
CG_R_WEATHER_CONTENTS_OVERRIDE,
|
|
CG_R_WORLDEFFECTCOMMAND,
|
|
//Adding trap to get weather working
|
|
CG_WE_ADDWEATHERZONE
|
|
|
|
/*
|
|
Ghoul2 Insert End
|
|
*/
|
|
} cgameImport_t;
|
|
|
|
|
|
/*
|
|
==================================================================
|
|
|
|
functions exported to the main executable
|
|
|
|
==================================================================
|
|
*/
|
|
|
|
typedef enum {
|
|
CG_INIT,
|
|
// void CG_Init( int serverMessageNum, int serverCommandSequence, int clientNum )
|
|
// called when the level loads or when the renderer is restarted
|
|
// all media should be registered at this time
|
|
// cgame will display loading status by calling SCR_Update, which
|
|
// will call CG_DrawInformation during the loading process
|
|
// reliableCommandSequence will be 0 on fresh loads, but higher for
|
|
// demos, tourney restarts, or vid_restarts
|
|
|
|
CG_SHUTDOWN,
|
|
// void (*CG_Shutdown)( void );
|
|
// oportunity to flush and close any open files
|
|
|
|
CG_CONSOLE_COMMAND,
|
|
// qboolean (*CG_ConsoleCommand)( void );
|
|
// a console command has been issued locally that is not recognized by the
|
|
// main game system.
|
|
// use Cmd_Argc() / Cmd_Argv() to read the command, return qfalse if the
|
|
// command is not known to the game
|
|
|
|
CG_DRAW_ACTIVE_FRAME,
|
|
// void (*CG_DrawActiveFrame)( int serverTime, stereoFrame_t stereoView, qboolean demoPlayback );
|
|
// Generates and draws a game scene and status information at the given time.
|
|
// If demoPlayback is set, local movement prediction will not be enabled
|
|
|
|
CG_CROSSHAIR_PLAYER,
|
|
// int (*CG_CrosshairPlayer)( void );
|
|
|
|
CG_LAST_ATTACKER,
|
|
// int (*CG_LastAttacker)( void );
|
|
|
|
CG_KEY_EVENT,
|
|
// void (*CG_KeyEvent)( int key, qboolean down );
|
|
|
|
CG_MOUSE_EVENT,
|
|
// void (*CG_MouseEvent)( int dx, int dy );
|
|
CG_EVENT_HANDLING,
|
|
// void (*CG_EventHandling)(int type);
|
|
|
|
CG_POINT_CONTENTS,
|
|
// int CG_PointContents( const vec3_t point, int passEntityNum );
|
|
|
|
CG_GET_LERP_ORIGIN,
|
|
// void CG_LerpOrigin(int num, vec3_t result);
|
|
|
|
CG_GET_LERP_DATA,
|
|
CG_GET_GHOUL2,
|
|
CG_GET_MODEL_LIST,
|
|
|
|
CG_CALC_LERP_POSITIONS,
|
|
// void CG_CalcEntityLerpPositions(int num);
|
|
|
|
CG_TRACE,
|
|
CG_G2TRACE,
|
|
//void CG_Trace( trace_t *result, const vec3_t start, const vec3_t mins, const vec3_t maxs, const vec3_t end,
|
|
// int skipNumber, int mask );
|
|
|
|
CG_G2MARK,
|
|
|
|
CG_RAG_CALLBACK,
|
|
|
|
CG_INCOMING_CONSOLE_COMMAND,
|
|
|
|
CG_GET_USEABLE_FORCE,
|
|
|
|
CG_GET_ORIGIN, // int entnum, vec3_t origin
|
|
CG_GET_ANGLES, // int entnum, vec3_t angle
|
|
|
|
CG_GET_ORIGIN_TRAJECTORY, // int entnum
|
|
CG_GET_ANGLE_TRAJECTORY, // int entnum
|
|
|
|
CG_ROFF_NOTETRACK_CALLBACK, // int entnum, char *notetrack
|
|
|
|
CG_IMPACT_MARK,
|
|
//void CG_ImpactMark( qhandle_t markShader, const vec3_t origin, const vec3_t dir,
|
|
// float orientation, float red, float green, float blue, float alpha,
|
|
// qboolean alphaFade, float radius, qboolean temporary )
|
|
|
|
CG_MAP_CHANGE,
|
|
|
|
CG_AUTOMAP_INPUT,
|
|
|
|
CG_MISC_ENT, //rwwRMG - added
|
|
|
|
CG_GET_SORTED_FORCE_POWER,
|
|
|
|
CG_FX_CAMERASHAKE,//mcg post-gold added
|
|
} cgameExport_t;
|
|
|
|
typedef struct
|
|
{
|
|
float up;
|
|
float down;
|
|
float yaw;
|
|
float pitch;
|
|
qboolean goToDefaults;
|
|
} autoMapInput_t;
|
|
|
|
// CG_POINT_CONTENTS
|
|
typedef struct
|
|
{
|
|
vec3_t mPoint; // input
|
|
int mPassEntityNum; // input
|
|
} TCGPointContents;
|
|
|
|
// CG_GET_BOLT_POS
|
|
typedef struct
|
|
{
|
|
vec3_t mOrigin; // output
|
|
vec3_t mAngles; // output
|
|
vec3_t mScale; // output
|
|
int mEntityNum; // input
|
|
} TCGGetBoltData;
|
|
|
|
// CG_IMPACT_MARK
|
|
typedef struct
|
|
{
|
|
int mHandle;
|
|
vec3_t mPoint;
|
|
vec3_t mAngle;
|
|
float mRotation;
|
|
float mRed;
|
|
float mGreen;
|
|
float mBlue;
|
|
float mAlphaStart;
|
|
float mSizeStart;
|
|
} TCGImpactMark;
|
|
|
|
// CG_GET_LERP_ORIGIN
|
|
// CG_GET_LERP_ANGLES
|
|
// CG_GET_MODEL_SCALE
|
|
typedef struct
|
|
{
|
|
int mEntityNum; // input
|
|
vec3_t mPoint; // output
|
|
} TCGVectorData;
|
|
|
|
// CG_TRACE/CG_G2TRACE
|
|
typedef struct
|
|
{
|
|
trace_t mResult; // output
|
|
vec3_t mStart, mMins, mMaxs, mEnd; // input
|
|
int mSkipNumber, mMask; // input
|
|
} TCGTrace;
|
|
|
|
// CG_G2MARK
|
|
typedef struct
|
|
{
|
|
int shader;
|
|
float size;
|
|
vec3_t start, dir;
|
|
} TCGG2Mark;
|
|
|
|
// CG_INCOMING_CONSOLE_COMMAND
|
|
typedef struct
|
|
{
|
|
char conCommand[1024];
|
|
} TCGIncomingConsoleCommand;
|
|
|
|
// CG_FX_CAMERASHAKE
|
|
typedef struct
|
|
{
|
|
vec3_t mOrigin; // input
|
|
float mIntensity; // input
|
|
int mRadius; // input
|
|
int mTime; // input
|
|
} TCGCameraShake;
|
|
|
|
// CG_MISC_ENT
|
|
typedef struct
|
|
{
|
|
char mModel[MAX_QPATH]; // input
|
|
vec3_t mOrigin, mAngles, mScale; // input
|
|
} TCGMiscEnt;
|
|
|
|
typedef struct
|
|
{
|
|
refEntity_t ent; // output
|
|
void *ghoul2; // input
|
|
int modelIndex; // input
|
|
int boltIndex; // input
|
|
vec3_t origin; // input
|
|
vec3_t angles; // input
|
|
vec3_t modelScale; // input
|
|
} TCGPositionOnBolt;
|
|
|
|
//ragdoll callback structs -rww
|
|
#define RAG_CALLBACK_NONE 0
|
|
#define RAG_CALLBACK_DEBUGBOX 1
|
|
typedef struct
|
|
{
|
|
vec3_t mins;
|
|
vec3_t maxs;
|
|
int duration;
|
|
} ragCallbackDebugBox_t;
|
|
|
|
#define RAG_CALLBACK_DEBUGLINE 2
|
|
typedef struct
|
|
{
|
|
vec3_t start;
|
|
vec3_t end;
|
|
int time;
|
|
int color;
|
|
int radius;
|
|
} ragCallbackDebugLine_t;
|
|
|
|
#define RAG_CALLBACK_BONESNAP 3
|
|
typedef struct
|
|
{
|
|
char boneName[128]; //name of the bone in question
|
|
int entNum; //index of entity who owns the bone in question
|
|
} ragCallbackBoneSnap_t;
|
|
|
|
#define RAG_CALLBACK_BONEIMPACT 4
|
|
typedef struct
|
|
{
|
|
char boneName[128]; //name of the bone in question
|
|
int entNum; //index of entity who owns the bone in question
|
|
} ragCallbackBoneImpact_t;
|
|
|
|
#define RAG_CALLBACK_BONEINSOLID 5
|
|
typedef struct
|
|
{
|
|
vec3_t bonePos; //world coordinate position of the bone
|
|
int entNum; //index of entity who owns the bone in question
|
|
int solidCount; //higher the count, the longer we've been in solid (the worse off we are)
|
|
} ragCallbackBoneInSolid_t;
|
|
|
|
#define RAG_CALLBACK_TRACELINE 6
|
|
typedef struct
|
|
{
|
|
trace_t tr;
|
|
vec3_t start;
|
|
vec3_t end;
|
|
vec3_t mins;
|
|
vec3_t maxs;
|
|
int ignore;
|
|
int mask;
|
|
} ragCallbackTraceLine_t;
|
|
|
|
#define MAX_CG_SHARED_BUFFER_SIZE 2048
|
|
|
|
//----------------------------------------------
|
|
|
|
#endif // __CG_PUBLIC_H
|