sof-sdk/Source/Game/qcommon/fields.h
2000-06-15 00:00:00 +00:00

53 lines
1.1 KiB
C

#pragma once
//
// fields are needed for spawning from the entity string
// and saving / loading games
//
#define FFL_SPAWNTEMP 1
#define MAX_GHOULINST_SIZE 16384
#define FOFS(x) (int)&(((edict_t *)0)->x)
#define STOFS(x) (int)&(((spawn_temp_t *)0)->x)
#define LLOFS(x) (int)&(((level_locals_t *)0)->x)
#define CLOFS(x) (int)&(((gclient_t *)0)->x)
typedef enum
{
F_INT,
F_SHORT,
F_FLOAT,
F_STRING, // string
F_VECTOR,
F_ANGLEHACK, // One var, presumed to be index 1 of vector
F_NULL, // A ptr to null out
F_EDICT, // Edict pointer handling
F_ITEM, // Item pointer handling
F_MMOVE, // Mmove pointer handling
F_OSD, // ObjectSpawnData object handling
F_CLIENT, // Client pointer handling
F_BOOLPTR, // Generic pointer that is recreated later
F_THINK_F, // All types of function pointers
F_BLOCKED_F,
F_TOUCH_F,
F_USE_F,
F_PLUSE_F,
F_PAIN_F,
F_DIE_F,
F_RESPAWN_F,
F_IGNORE
} fieldtype_t;
typedef struct
{
char *name;
int ofs;
fieldtype_t type;
int flags;
} field_t;
extern field_t fields[];
// end