Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

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