mirror of
https://github.com/GTAmodding/re3.git
synced 2024-12-02 12:25:40 +00:00
92 lines
2.2 KiB
C
92 lines
2.2 KiB
C
|
#pragma once
|
||
|
|
||
|
enum eVarConsoleEntryType
|
||
|
{
|
||
|
VCE_TYPE_INT8,
|
||
|
VCE_TYPE_INT16,
|
||
|
VCE_TYPE_INT32,
|
||
|
VCE_TYPE_INT64,
|
||
|
VCE_TYPE_UINT8,
|
||
|
VCE_TYPE_UINT16,
|
||
|
VCE_TYPE_UINT32,
|
||
|
VCE_TYPE_UINT64,
|
||
|
VCE_TYPE_FLOAT,
|
||
|
VCE_TYPE_BOOL,
|
||
|
VCE_TYPE_BOOL8,
|
||
|
VCE_TYPE_BOOL16,
|
||
|
VCE_TYPE_BOOL32,
|
||
|
VCE_TYPE_FUNCTION,
|
||
|
};
|
||
|
|
||
|
struct CVarConsoleEntry
|
||
|
{
|
||
|
char *text;
|
||
|
int8 *pInt8Value;
|
||
|
int16 *pInt16Value;
|
||
|
int32 *pInt32Value;
|
||
|
int64 *pInt64Value;
|
||
|
uint8 *pUint8Value;
|
||
|
uint16 *pUint16Value;
|
||
|
uint32 *pUint32Value;
|
||
|
uint64 *pUint64Value;
|
||
|
float *pFloatValue;
|
||
|
bool *pBoolValue;
|
||
|
void (*pCallback)(void);
|
||
|
int8 I8_step, I8_max, I8_min;
|
||
|
int16 I16_step, I16_max, I16_min;
|
||
|
int32 I32_step, I32_max, I32_min;
|
||
|
int64 I64_step, I64_max, I64_min;
|
||
|
float F_step, F_max, F_min;
|
||
|
bool8 bAllowExceedBounds;
|
||
|
uint8 VarType;
|
||
|
};
|
||
|
|
||
|
|
||
|
class CVarConsole
|
||
|
{
|
||
|
int32 m_nCountEntries;
|
||
|
bool8 m_bIsOpen;
|
||
|
int32 m_nCurEntry;
|
||
|
int32 m_nFirstEntryOnPage;
|
||
|
int32 m_nCurPage;
|
||
|
int32 m_nNumPages;
|
||
|
CVarConsoleEntry m_aEntries[91];
|
||
|
public:
|
||
|
#ifdef FIX_BUGS
|
||
|
CVarConsole() { Initialise(); }
|
||
|
#endif
|
||
|
void Initialise();
|
||
|
void Add(char *text, int8 *pVal, uint8 step, int8 min, int8 max, bool8 isVar);
|
||
|
void Add(char *text, int16 *pVal, uint16 step, int16 min, int16 max, bool8 isVar);
|
||
|
void Add(char *text, int32 *pVal, uint32 step, int32 min, int32 max, bool8 isVar);
|
||
|
void Add(char *text, int64 *pVal, uint64 step, int64 min, int64 max, bool8 isVar);
|
||
|
void Add(char *text, uint8 *pVal, uint8 step, int8 min, int8 max, bool8 isVar);
|
||
|
void Add(char *text, uint16 *pVal, uint16 step, int16 min, int16 max, bool8 isVar);
|
||
|
void Add(char *text, uint32 *pVal, uint32 step, int32 min, int32 max, bool8 isVar);
|
||
|
void Add(char *text, uint64 *pVal, uint64 step, int64 min, int64 max, bool8 isVar);
|
||
|
void Add(char *text, float *pVal, float step, float min, float max, bool8 isVar);
|
||
|
void Add(char *text, bool *pVal, bool8 isVar);
|
||
|
void Add(char *text, bool8 *pVal, bool8 isVar);
|
||
|
void Add(char *text, bool16 *pVal, bool8 isVar);
|
||
|
void Add(char *text, bool32 *pVal, bool8 isVar);
|
||
|
void Add(char *text, void (*pVar)(void));
|
||
|
|
||
|
void Remove(char *text);
|
||
|
|
||
|
void SortPages();
|
||
|
void Display();
|
||
|
|
||
|
void ModifyLeft();
|
||
|
void ModifyRight();
|
||
|
|
||
|
void Enter();
|
||
|
void Exit();
|
||
|
|
||
|
void Input();
|
||
|
void Process();
|
||
|
|
||
|
bool8 Open();
|
||
|
void Check();
|
||
|
};
|
||
|
|
||
|
extern CVarConsole VarConsole;
|