ui_public.h (4304B)
1 /* 2 =========================================================================== 3 Copyright (C) 1999-2005 Id Software, Inc. 4 5 This file is part of Quake III Arena source code. 6 7 Quake III Arena source code is free software; you can redistribute it 8 and/or modify it under the terms of the GNU General Public License as 9 published by the Free Software Foundation; either version 2 of the License, 10 or (at your option) any later version. 11 12 Quake III Arena source code is distributed in the hope that it will be 13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with Foobar; if not, write to the Free Software 19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 =========================================================================== 21 */ 22 // 23 #ifndef __UI_PUBLIC_H__ 24 #define __UI_PUBLIC_H__ 25 26 #define UI_API_VERSION 6 27 28 typedef struct { 29 connstate_t connState; 30 int connectPacketCount; 31 int clientNum; 32 char servername[MAX_STRING_CHARS]; 33 char updateInfoString[MAX_STRING_CHARS]; 34 char messageString[MAX_STRING_CHARS]; 35 } uiClientState_t; 36 37 typedef enum { 38 UI_ERROR, 39 UI_PRINT, 40 UI_MILLISECONDS, 41 UI_CVAR_SET, 42 UI_CVAR_VARIABLEVALUE, 43 UI_CVAR_VARIABLESTRINGBUFFER, 44 UI_CVAR_SETVALUE, 45 UI_CVAR_RESET, 46 UI_CVAR_CREATE, 47 UI_CVAR_INFOSTRINGBUFFER, 48 UI_ARGC, 49 UI_ARGV, 50 UI_CMD_EXECUTETEXT, 51 UI_FS_FOPENFILE, 52 UI_FS_READ, 53 UI_FS_WRITE, 54 UI_FS_FCLOSEFILE, 55 UI_FS_GETFILELIST, 56 UI_R_REGISTERMODEL, 57 UI_R_REGISTERSKIN, 58 UI_R_REGISTERSHADERNOMIP, 59 UI_R_CLEARSCENE, 60 UI_R_ADDREFENTITYTOSCENE, 61 UI_R_ADDPOLYTOSCENE, 62 UI_R_ADDLIGHTTOSCENE, 63 UI_R_RENDERSCENE, 64 UI_R_SETCOLOR, 65 UI_R_DRAWSTRETCHPIC, 66 UI_UPDATESCREEN, 67 UI_CM_LERPTAG, 68 UI_CM_LOADMODEL, 69 UI_S_REGISTERSOUND, 70 UI_S_STARTLOCALSOUND, 71 UI_KEY_KEYNUMTOSTRINGBUF, 72 UI_KEY_GETBINDINGBUF, 73 UI_KEY_SETBINDING, 74 UI_KEY_ISDOWN, 75 UI_KEY_GETOVERSTRIKEMODE, 76 UI_KEY_SETOVERSTRIKEMODE, 77 UI_KEY_CLEARSTATES, 78 UI_KEY_GETCATCHER, 79 UI_KEY_SETCATCHER, 80 UI_GETCLIPBOARDDATA, 81 UI_GETGLCONFIG, 82 UI_GETCLIENTSTATE, 83 UI_GETCONFIGSTRING, 84 UI_LAN_GETPINGQUEUECOUNT, 85 UI_LAN_CLEARPING, 86 UI_LAN_GETPING, 87 UI_LAN_GETPINGINFO, 88 UI_CVAR_REGISTER, 89 UI_CVAR_UPDATE, 90 UI_MEMORY_REMAINING, 91 UI_GET_CDKEY, 92 UI_SET_CDKEY, 93 UI_R_REGISTERFONT, 94 UI_R_MODELBOUNDS, 95 UI_PC_ADD_GLOBAL_DEFINE, 96 UI_PC_LOAD_SOURCE, 97 UI_PC_FREE_SOURCE, 98 UI_PC_READ_TOKEN, 99 UI_PC_SOURCE_FILE_AND_LINE, 100 UI_S_STOPBACKGROUNDTRACK, 101 UI_S_STARTBACKGROUNDTRACK, 102 UI_REAL_TIME, 103 UI_LAN_GETSERVERCOUNT, 104 UI_LAN_GETSERVERADDRESSSTRING, 105 UI_LAN_GETSERVERINFO, 106 UI_LAN_MARKSERVERVISIBLE, 107 UI_LAN_UPDATEVISIBLEPINGS, 108 UI_LAN_RESETPINGS, 109 UI_LAN_LOADCACHEDSERVERS, 110 UI_LAN_SAVECACHEDSERVERS, 111 UI_LAN_ADDSERVER, 112 UI_LAN_REMOVESERVER, 113 UI_CIN_PLAYCINEMATIC, 114 UI_CIN_STOPCINEMATIC, 115 UI_CIN_RUNCINEMATIC, 116 UI_CIN_DRAWCINEMATIC, 117 UI_CIN_SETEXTENTS, 118 UI_R_REMAP_SHADER, 119 UI_VERIFY_CDKEY, 120 UI_LAN_SERVERSTATUS, 121 UI_LAN_GETSERVERPING, 122 UI_LAN_SERVERISVISIBLE, 123 UI_LAN_COMPARESERVERS, 124 // 1.32 125 UI_FS_SEEK, 126 UI_SET_PBCLSTATUS, 127 128 UI_MEMSET = 100, 129 UI_MEMCPY, 130 UI_STRNCPY, 131 UI_SIN, 132 UI_COS, 133 UI_ATAN2, 134 UI_SQRT, 135 UI_FLOOR, 136 UI_CEIL 137 } uiImport_t; 138 139 typedef enum { 140 UIMENU_NONE, 141 UIMENU_MAIN, 142 UIMENU_INGAME, 143 UIMENU_NEED_CD, 144 UIMENU_BAD_CD_KEY, 145 UIMENU_TEAM, 146 UIMENU_POSTGAME 147 } uiMenuCommand_t; 148 149 #define SORT_HOST 0 150 #define SORT_MAP 1 151 #define SORT_CLIENTS 2 152 #define SORT_GAME 3 153 #define SORT_PING 4 154 #define SORT_PUNKBUSTER 5 155 156 typedef enum { 157 UI_GETAPIVERSION = 0, // system reserved 158 159 UI_INIT, 160 // void UI_Init( void ); 161 162 UI_SHUTDOWN, 163 // void UI_Shutdown( void ); 164 165 UI_KEY_EVENT, 166 // void UI_KeyEvent( int key ); 167 168 UI_MOUSE_EVENT, 169 // void UI_MouseEvent( int dx, int dy ); 170 171 UI_REFRESH, 172 // void UI_Refresh( int time ); 173 174 UI_IS_FULLSCREEN, 175 // qboolean UI_IsFullscreen( void ); 176 177 UI_SET_ACTIVE_MENU, 178 // void UI_SetActiveMenu( uiMenuCommand_t menu ); 179 180 UI_CONSOLE_COMMAND, 181 // qboolean UI_ConsoleCommand( int realTime ); 182 183 UI_DRAW_CONNECT_SCREEN, 184 // void UI_DrawConnectScreen( qboolean overlay ); 185 UI_HASUNIQUECDKEY 186 // if !overlay, the background will be drawn, otherwise it will be 187 // overlayed over whatever the cgame has drawn. 188 // a GetClientState syscall will be made to get the current strings 189 } uiExport_t; 190 191 #endif