#ifndef ETWOLF_GAMEPAD_COMMON_H
#define ETWOLF_GAMEPAD_COMMON_H
#include <Windows.h>
#include "common.h"
#define CVAR_ARCHIVE 1
#define BUTTON_WALKING 16
#define BUTTON_SPRINT 32
typedef enum {
SE_NONE = 0,
SE_KEY,
SE_CHAR,
SE_MOUSE,
SE_JOYSTICK_AXIS,
SE_CONSOLE,
SE_PACKET
} sysEventType_t;
enum {
CG_INIT,
CG_SHUTDOWN,
CG_CONSOLE_COMMAND,
CG_DRAW_ACTIVE_FRAME,
CG_GETCURRENTCMDNUMBER = 82,
CG_GETUSERCMD = 83,
};
typedef struct usercmd_s {
int serverTime;
byte buttons;
byte wbuttons;
byte weapon;
byte flags;
int angles[3];
signed char forwardmove, rightmove, upmove;
byte doubleTap;
byte identClient;
} usercmd_t;
struct game {
void *cgame;
void (*cg_dllEntry)(int (*)(int, ...));
int (*cg_vmMain)(int, ...);
int (*syscall)(int, ...);
void (*ETPro_AC)(void*, void*, void*, int, void*, char*);
void* (*ETPro_AC2)(DWORD);
usercmd_t (*CL_CreateCmd)(void);
void (*Sys_QueEvent)(int time, sysEventType_t type, int value, int value2, int ptrLength, void *ptr);
void (*IN_JoyMove)(void);
HINSTANCE (__stdcall *LoadLibraryA)(LPCSTR);
FARPROC (__stdcall *GetProcAddress)(HMODULE, LPCSTR);
float *mouseX;
float *mouseY;
} game;
typedef struct cvar_s {
char *name;
char *string;
char *resetString;
char *latchedString;
int flags;
BOOL modified;
int modificationCount;
float value;
int integer;
struct cvar_s *next;
struct cvar_s *hashNext;
} cvar_t;
cvar_t *cvar_vars;
void (*Com_Printf)(const char *msg, ...);
char* (*Cmd_Argv)(int arg);
cvar_t* (*Cvar_Get)(const char *, const char *, int flags);
void (*trap_Cvar_Set)(const char *, const char *);
#endif