jedi-academy/codemp/ui/ui_public.h

254 lines
5.0 KiB
C

// Copyright (C) 1999-2000 Id Software, Inc.
//
#ifndef __UI_PUBLIC_H__
#define __UI_PUBLIC_H__
#define UI_API_VERSION 7
typedef struct {
connstate_t connState;
int connectPacketCount;
int clientNum;
char servername[MAX_STRING_CHARS];
char updateInfoString[MAX_STRING_CHARS];
char messageString[MAX_STRING_CHARS];
} uiClientState_t;
typedef enum {
UI_ERROR,
UI_PRINT,
UI_MILLISECONDS,
UI_CVAR_SET,
UI_CVAR_VARIABLEVALUE,
UI_CVAR_VARIABLESTRINGBUFFER,
UI_CVAR_SETVALUE,
UI_CVAR_RESET,
UI_CVAR_CREATE,
UI_CVAR_INFOSTRINGBUFFER,
UI_ARGC,
UI_ARGV,
UI_CMD_EXECUTETEXT,
UI_FS_FOPENFILE,
UI_FS_READ,
UI_FS_WRITE,
UI_FS_FCLOSEFILE,
UI_FS_GETFILELIST,
UI_R_REGISTERMODEL,
UI_R_REGISTERSKIN,
UI_R_REGISTERSHADERNOMIP,
UI_R_SHADERNAMEFROMINDEX,
UI_R_CLEARSCENE,
UI_R_ADDREFENTITYTOSCENE,
UI_R_ADDPOLYTOSCENE,
UI_R_ADDLIGHTTOSCENE,
UI_R_RENDERSCENE,
UI_R_SETCOLOR,
UI_R_DRAWSTRETCHPIC,
UI_UPDATESCREEN,
UI_CM_LERPTAG,
UI_CM_LOADMODEL,
UI_S_REGISTERSOUND,
UI_S_STARTLOCALSOUND,
UI_KEY_KEYNUMTOSTRINGBUF,
UI_KEY_GETBINDINGBUF,
UI_KEY_SETBINDING,
UI_KEY_ISDOWN,
UI_KEY_GETOVERSTRIKEMODE,
UI_KEY_SETOVERSTRIKEMODE,
UI_KEY_CLEARSTATES,
UI_KEY_GETCATCHER,
UI_KEY_SETCATCHER,
UI_GETCLIPBOARDDATA,
UI_GETGLCONFIG,
UI_GETCLIENTSTATE,
UI_GETCONFIGSTRING,
UI_LAN_GETPINGQUEUECOUNT,
UI_LAN_CLEARPING,
UI_LAN_GETPING,
UI_LAN_GETPINGINFO,
UI_CVAR_REGISTER,
UI_CVAR_UPDATE,
UI_MEMORY_REMAINING,
UI_GET_CDKEY,
UI_SET_CDKEY,
UI_VERIFY_CDKEY,
UI_R_REGISTERFONT,
UI_R_FONT_STRLENPIXELS,
UI_R_FONT_STRLENCHARS,
UI_R_FONT_STRHEIGHTPIXELS,
UI_R_FONT_DRAWSTRING,
UI_LANGUAGE_ISASIAN,
UI_LANGUAGE_USESSPACES,
UI_ANYLANGUAGE_READCHARFROMSTRING,
UI_R_MODELBOUNDS,
UI_PC_ADD_GLOBAL_DEFINE,
UI_PC_LOAD_SOURCE,
UI_PC_FREE_SOURCE,
UI_PC_READ_TOKEN,
UI_PC_SOURCE_FILE_AND_LINE,
UI_PC_LOAD_GLOBAL_DEFINES,
UI_PC_REMOVE_ALL_GLOBAL_DEFINES,
UI_S_STOPBACKGROUNDTRACK,
UI_S_STARTBACKGROUNDTRACK,
UI_REAL_TIME,
UI_LAN_GETSERVERCOUNT,
UI_LAN_GETSERVERADDRESSSTRING,
UI_LAN_GETSERVERINFO,
UI_LAN_MARKSERVERVISIBLE,
UI_LAN_UPDATEVISIBLEPINGS,
UI_LAN_RESETPINGS,
UI_LAN_LOADCACHEDSERVERS,
UI_LAN_SAVECACHEDSERVERS,
UI_LAN_ADDSERVER,
UI_LAN_REMOVESERVER,
UI_CIN_PLAYCINEMATIC,
UI_CIN_STOPCINEMATIC,
UI_CIN_RUNCINEMATIC,
UI_CIN_DRAWCINEMATIC,
UI_CIN_SETEXTENTS,
UI_R_REMAP_SHADER,
UI_LAN_SERVERSTATUS,
UI_LAN_GETSERVERPING,
UI_LAN_SERVERISVISIBLE,
UI_LAN_COMPARESERVERS,
UI_MEMSET = 100,
UI_MEMCPY,
UI_STRNCPY,
UI_SIN,
UI_COS,
UI_ATAN2,
UI_SQRT,
UI_MATRIXMULTIPLY,
UI_ANGLEVECTORS,
UI_PERPENDICULARVECTOR,
UI_FLOOR,
UI_CEIL,
UI_TESTPRINTINT,
UI_TESTPRINTFLOAT,
UI_ACOS,
UI_ASIN,
UI_SP_GETNUMLANGUAGES,
UI_SP_GETLANGUAGENAME,
UI_SP_GETSTRINGTEXTSTRING = 200,
/*
Ghoul2 Insert Start
*/
UI_G2_LISTSURFACES,
UI_G2_LISTBONES,
UI_G2_SETMODELS,
UI_G2_HAVEWEGHOULMODELS,
UI_G2_GETBOLT,
UI_G2_GETBOLT_NOREC,
UI_G2_GETBOLT_NOREC_NOROT,
UI_G2_INITGHOUL2MODEL,
UI_G2_COLLISIONDETECT,
UI_G2_COLLISIONDETECTCACHE,
UI_G2_CLEANMODELS,
UI_G2_ANGLEOVERRIDE,
UI_G2_PLAYANIM,
UI_G2_GETBONEANIM,
UI_G2_GETBONEFRAME, //trimmed down version of GBA, so I don't have to pass all those unused args across the VM-exe border
UI_G2_GETGLANAME,
UI_G2_COPYGHOUL2INSTANCE,
UI_G2_COPYSPECIFICGHOUL2MODEL,
UI_G2_DUPLICATEGHOUL2INSTANCE,
UI_G2_HASGHOUL2MODELONINDEX,
UI_G2_REMOVEGHOUL2MODEL,
UI_G2_ADDBOLT,
UI_G2_SETBOLTON,
UI_G2_SETROOTSURFACE,
UI_G2_SETSURFACEONOFF,
UI_G2_SETNEWORIGIN,
UI_G2_GETTIME,
UI_G2_SETTIME,
/*
//rww - RAGDOLL_BEGIN
*/
UI_G2_SETRAGDOLL,
UI_G2_ANIMATEG2MODELS,
/*
//rww - RAGDOLL_END
*/
//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.
UI_G2_SETBONEIKSTATE,
UI_G2_IKMOVE,
UI_G2_GETSURFACENAME,
UI_G2_SETSKIN,
UI_G2_ATTACHG2MODEL,
/*
Ghoul2 Insert End
*/
} uiImport_t;
typedef enum {
UIMENU_NONE,
UIMENU_MAIN,
UIMENU_INGAME,
UIMENU_PLAYERCONFIG,
UIMENU_TEAM,
UIMENU_POSTGAME,
UIMENU_PLAYERFORCE,
UIMENU_SIEGEMESSAGE,
UIMENU_SIEGEOBJECTIVES,
UIMENU_VOICECHAT,
UIMENU_CLOSEALL,
UIMENU_CLASSSEL
};
typedef int uiMenuCommand_t;
#define SORT_HOST 0
#define SORT_MAP 1
#define SORT_CLIENTS 2
#define SORT_GAME 3
#define SORT_PING 4
typedef enum {
UI_GETAPIVERSION = 0, // system reserved
UI_INIT,
// void UI_Init( void );
UI_SHUTDOWN,
// void UI_Shutdown( void );
UI_KEY_EVENT,
// void UI_KeyEvent( int key );
UI_MOUSE_EVENT,
// void UI_MouseEvent( int dx, int dy );
UI_REFRESH,
// void UI_Refresh( int time );
UI_IS_FULLSCREEN,
// qboolean UI_IsFullscreen( void );
UI_SET_ACTIVE_MENU,
// void UI_SetActiveMenu( uiMenuCommand_t menu );
UI_CONSOLE_COMMAND,
// qboolean UI_ConsoleCommand( int realTime );
UI_DRAW_CONNECT_SCREEN,
// void UI_DrawConnectScreen( qboolean overlay );
UI_HASUNIQUECDKEY,
// if !overlay, the background will be drawn, otherwise it will be
// overlayed over whatever the cgame has drawn.
// a GetClientState syscall will be made to get the current strings
UI_MENU_RESET
} uiExport_t;
#endif