DVARs (BO2): Difference between revisions
Aerosoul94 (talk | contribs) Created page with "Category:DVARs Category:BO2 <syntaxhighlight lang="cpp"> →dvar->flags: #define DVAR_ARCHIVE (1 << 0) // 0x0001 #define DVAR_USERINFO (1 << 1) // 0x0002 #define D..." |
Aerosoul94 (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
[[Category: | [[Category:Game Structures]] | ||
[[Category:BO2]] | [[Category:BO2]] | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
Revision as of 05:47, 8 August 2014
/* dvar->flags */
#define DVAR_ARCHIVE (1 << 0) // 0x0001
#define DVAR_USERINFO (1 << 1) // 0x0002
#define DVAR_SERVERINFO (1 << 2) // 0x0004
#define DVAR_SYSTEMINFO (1 << 3) // 0x0008
#define DVAR_INIT (1 << 4) // 0x0010
#define DVAR_LATCH (1 << 5) // 0x0020
#define DVAR_ROM (1 << 6) // 0x0040
#define DVAR_CHEAT (1 << 7) // 0x0080
#define DVAR_DEVELOPER (1 << 8) // 0x0100
#define DVAR_SAVED (1 << 9) // 0x0200
#define DVAR_NORESTART (1 << 10) // 0x0400
#define DVAR_CHANGEABLE_RESET (1 << 12) // 0x1000
#define DVAR_EXTERNAL (1 << 14) // 0x4000
#define DVAR_AUTOEXEC (1 << 15) // 0x8000
/* dvar->type */
#define DVAR_TYPE_BOOL 0
#define DVAR_TYPE_FLOAT 1
#define DVAR_TYPE_FLOAT_2 2
#define DVAR_TYPE_FLOAT_3 3
#define DVAR_TYPE_FLOAT_4 4
#define DVAR_TYPE_INT 5
#define DVAR_TYPE_ENUM 6
#define DVAR_TYPE_STRING 7
#define DVAR_TYPE_COLOR 8
#define DVAR_TYPE_INT64 9
#define DVAR_TYPE_LINEAR_COLOR_RGB 10
#define DVAR_TYPE_COLOR_XYZ 11
union DvarLimits
{
struct {
int stringCount;
const char **strings;
} enumeration;
struct {
int min;
int max;
} integer;
struct {
float min;
float max;
} value, vector;
struct {
unsigned long long min;
unsigned long long max;
} integer64;
};
union DvarValue
{
bool enabled;
int integer;
unsigned int unsignedInt;
unsigned long long integer64;
float value;
float vector[4];
const char *string;
char color[4];
};
#pragma pack(push, 4)
struct dvar_s
{
char *name;
char *unknown; // description?
int hashForName;
int flags;
int type;
bool modified;
DvarValue current;
short unk1;
short unk2;
DvarValue latched;
short unk3;
short unk4;
DvarValue reset;
short unk5;
short unk6;
DvarLimits limits;
short unk7;
short unk8;
dvar_s *next;
int unknown3;
};
#pragma pack(pop)