/* =========================================================================== Copyright (C) 1999-2005 Id Software, Inc. Copyright (C) 2002-2015 Q3Rally Team (Per Thormann - q3rally@gmail.com) This file is part of q3rally source code. q3rally source code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. q3rally source code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with q3rally; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA =========================================================================== */ // #ifndef __UI_LOCAL_H__ #define __UI_LOCAL_H__ #include "../qcommon/q_shared.h" #include "../renderer/tr_types.h" //NOTE: include the ui_public.h from the new UI #include "../ui/ui_public.h" //redefine to old API version #undef UI_API_VERSION #define UI_API_VERSION 4 #include "../client/keycodes.h" #include "../game/bg_public.h" typedef void (*voidfunc_f)(void); // STONELANCE #define MENU_TRANSITION_TIME 1000 #define DEFAULT_MODEL "sidepipe" #define DEFAULT_SKIN "red" #define DEFAULT_TEAM_MODEL "sidepipe" #define DEFAULT_TEAM_HEAD "doom" #define DEFAULT_HEAD "doom" #define DEFAULT_RIM "svt_cobra" #define DEFAULT_PLATE "plate_usa" #define DEFAULT_PLATE_SKIN "default" // END // STONELANCE /* extern vmCvar_t ui_ffa_fraglimit; extern vmCvar_t ui_ffa_timelimit; extern vmCvar_t ui_tourney_fraglimit; extern vmCvar_t ui_tourney_timelimit; */ extern vmCvar_t ui_racing_laplimit; extern vmCvar_t ui_racing_timelimit; extern vmCvar_t ui_team_racing_laplimit; extern vmCvar_t ui_team_racing_timelimit; extern vmCvar_t ui_team_racing_friendly; extern vmCvar_t ui_derby_timelimit; extern vmCvar_t ui_dm_fraglimit; extern vmCvar_t ui_dm_timelimit; extern vmCvar_t ui_racing_tracklength; extern vmCvar_t ui_racing_trackreversed; // END extern vmCvar_t ui_team_fraglimit; extern vmCvar_t ui_team_timelimit; extern vmCvar_t ui_team_friendly; extern vmCvar_t ui_ctf_capturelimit; extern vmCvar_t ui_ctf_timelimit; extern vmCvar_t ui_ctf_friendly; extern vmCvar_t ui_arenasFile; extern vmCvar_t ui_botsFile; extern vmCvar_t ui_spScores1; extern vmCvar_t ui_spScores2; extern vmCvar_t ui_spScores3; extern vmCvar_t ui_spScores4; extern vmCvar_t ui_spScores5; extern vmCvar_t ui_spAwards; extern vmCvar_t ui_spVideos; extern vmCvar_t ui_spSkill; extern vmCvar_t ui_spSelection; extern vmCvar_t ui_browserMaster; extern vmCvar_t ui_browserGameType; extern vmCvar_t ui_browserSortKey; extern vmCvar_t ui_browserShowFull; extern vmCvar_t ui_browserShowEmpty; extern vmCvar_t ui_browserOnlyHumans; extern vmCvar_t ui_brassTime; extern vmCvar_t ui_drawCrosshair; extern vmCvar_t ui_drawCrosshairNames; extern vmCvar_t ui_marks; extern vmCvar_t ui_server1; extern vmCvar_t ui_server2; extern vmCvar_t ui_server3; extern vmCvar_t ui_server4; extern vmCvar_t ui_server5; extern vmCvar_t ui_server6; extern vmCvar_t ui_server7; extern vmCvar_t ui_server8; extern vmCvar_t ui_server9; extern vmCvar_t ui_server10; extern vmCvar_t ui_server11; extern vmCvar_t ui_server12; extern vmCvar_t ui_server13; extern vmCvar_t ui_server14; extern vmCvar_t ui_server15; extern vmCvar_t ui_server16; extern vmCvar_t ui_cdkey; extern vmCvar_t ui_cdkeychecked; extern vmCvar_t ui_ioq3; // STONELANCE extern vmCvar_t ui_favoritecar1; extern vmCvar_t ui_favoritecar2; extern vmCvar_t ui_favoritecar3; extern vmCvar_t ui_favoritecar4; extern vmCvar_t ui_trackReversed; extern vmCvar_t ui_metricUnits; extern vmCvar_t ui_controlMode; extern vmCvar_t ui_manualShift; extern vmCvar_t ui_minSkidLength; extern vmCvar_t ui_drawRearView; extern vmCvar_t ui_checkpointArrowMode; extern vmCvar_t ui_atmosphericLevel; extern vmCvar_t ui_drawPositionSprites; extern vmCvar_t ui_engineSounds; extern vmCvar_t ui_tightCamTracking; extern vmCvar_t ui_rearViewRenderLevel; extern vmCvar_t ui_mainViewRenderLevel; // END // // ui_qmenu.c // #define RCOLUMN_OFFSET ( BIGCHAR_WIDTH ) #define LCOLUMN_OFFSET (-BIGCHAR_WIDTH ) #define SLIDER_RANGE 10 #define MAX_EDIT_LINE 256 #define MAX_MENUDEPTH 8 // STONELANCE // #define MAX_MENUITEMS 64 #define MAX_MENUITEMS 128 // END #define MTYPE_NULL 0 #define MTYPE_SLIDER 1 #define MTYPE_ACTION 2 #define MTYPE_SPINCONTROL 3 #define MTYPE_FIELD 4 #define MTYPE_RADIOBUTTON 5 #define MTYPE_BITMAP 6 #define MTYPE_TEXT 7 #define MTYPE_SCROLLLIST 8 #define MTYPE_PTEXT 9 #define MTYPE_BTEXT 10 // STONELANCE #define MTYPE_LISTBOX 11 #define SB_WIDTH 16 #define SB_NONE 0 #define SB_LEFT 1 #define SB_RIGHT 2 #define SB_TOP 4 #define SB_BOTTOM 8 #define SB_HIDE 16 // END #define QMF_BLINK ((unsigned int) 0x00000001) #define QMF_SMALLFONT ((unsigned int) 0x00000002) #define QMF_LEFT_JUSTIFY ((unsigned int) 0x00000004) #define QMF_CENTER_JUSTIFY ((unsigned int) 0x00000008) #define QMF_RIGHT_JUSTIFY ((unsigned int) 0x00000010) #define QMF_NUMBERSONLY ((unsigned int) 0x00000020) // edit field is only numbers #define QMF_HIGHLIGHT ((unsigned int) 0x00000040) #define QMF_HIGHLIGHT_IF_FOCUS ((unsigned int) 0x00000080) // steady focus #define QMF_PULSEIFFOCUS ((unsigned int) 0x00000100) // pulse if focus #define QMF_HASMOUSEFOCUS ((unsigned int) 0x00000200) #define QMF_NOONOFFTEXT ((unsigned int) 0x00000400) #define QMF_MOUSEONLY ((unsigned int) 0x00000800) // only mouse input allowed #define QMF_HIDDEN ((unsigned int) 0x00001000) // skips drawing #define QMF_GRAYED ((unsigned int) 0x00002000) // grays and disables #define QMF_INACTIVE ((unsigned int) 0x00004000) // disables any input #define QMF_NODEFAULTINIT ((unsigned int) 0x00008000) // skip default initialization #define QMF_OWNERDRAW ((unsigned int) 0x00010000) #define QMF_PULSE ((unsigned int) 0x00020000) #define QMF_LOWERCASE ((unsigned int) 0x00040000) // edit field is all lower case #define QMF_UPPERCASE ((unsigned int) 0x00080000) // edit field is all upper case #define QMF_SILENT ((unsigned int) 0x00100000) // STONELANCE #define QMF_SCROLL_ONLY ((unsigned int) 0x00200000) // END // callback notifications #define QM_GOTFOCUS 1 #define QM_LOSTFOCUS 2 #define QM_ACTIVATED 3 typedef struct _tag_menuframework { int cursor; int cursor_prev; int nitems; void *items[MAX_MENUITEMS]; void (*draw) (void); sfxHandle_t (*key) (int key); qboolean wrapAround; qboolean fullscreen; qboolean showlogo; // STONELANCE qboolean transparent; void (*transition) (float frac); void (*changeMenu) (int menuId); int transitionMenu; // END } menuframework_s; typedef struct { int type; const char *name; int id; int x, y; int left; int top; int right; int bottom; menuframework_s *parent; int menuPosition; unsigned int flags; void (*callback)( void *self, int event ); void (*statusbar)( void *self ); void (*ownerdraw)( void *self ); } menucommon_s; typedef struct { int cursor; int scroll; int widthInChars; char buffer[MAX_EDIT_LINE]; int maxchars; } mfield_t; typedef struct { menucommon_s generic; mfield_t field; } menufield_s; typedef struct { menucommon_s generic; float minvalue; float maxvalue; float curvalue; float range; } menuslider_s; typedef struct { menucommon_s generic; int oldvalue; int curvalue; int numitems; int top; const char **itemnames; int width; int height; int columns; int seperation; // STONELANCE int scrollbarAlignment; int dragY; // END } menulist_s; typedef struct { menucommon_s generic; } menuaction_s; typedef struct { menucommon_s generic; int curvalue; } menuradiobutton_s; typedef struct { menucommon_s generic; char* focuspic; char* errorpic; qhandle_t shader; qhandle_t focusshader; int width; int height; float* focuscolor; } menubitmap_s; typedef struct { menucommon_s generic; char* string; int style; float* color; } menutext_s; // STONELANCE typedef enum { MS_NUMSTARTS, MS_LAPS, MS_TRACKLENGTH, MS_NUMCHECKPOINTS, MS_NUMOBSERVERSPOTS, MS_NUMWEAPONS, MS_NUMPOWERUPS, MS_REVERSABLE, MS_TRACKLENGTHS, MS_MAX_MAPSTATS } mapstats_t; // END extern void Menu_Cache( void ); extern void Menu_Focus( menucommon_s *m ); extern void Menu_AddItem( menuframework_s *menu, void *item ); extern void Menu_AdjustCursor( menuframework_s *menu, int dir ); extern void Menu_Draw( menuframework_s *menu ); extern void *Menu_ItemAtCursor( menuframework_s *m ); extern sfxHandle_t Menu_ActivateItem( menuframework_s *s, menucommon_s* item ); extern void Menu_SetCursor( menuframework_s *s, int cursor ); extern void Menu_SetCursorToItem( menuframework_s *m, void* ptr ); extern sfxHandle_t Menu_DefaultKey( menuframework_s *s, int key ); extern void Bitmap_Init( menubitmap_s *b ); extern void Bitmap_Draw( menubitmap_s *b ); extern void ScrollList_Draw( menulist_s *l ); extern sfxHandle_t ScrollList_Key( menulist_s *l, int key ); extern sfxHandle_t menu_in_sound; extern sfxHandle_t menu_move_sound; extern sfxHandle_t menu_out_sound; extern sfxHandle_t menu_buzz_sound; extern sfxHandle_t menu_null_sound; extern sfxHandle_t weaponChangeSound; extern vec4_t menu_text_color; extern vec4_t menu_grayed_color; extern vec4_t menu_dark_color; extern vec4_t menu_highlight_color; extern vec4_t menu_red_color; extern vec4_t menu_black_color; extern vec4_t menu_dim_color; // STONELANCE extern vec4_t menu_back_color; // END extern vec4_t color_black; extern vec4_t color_white; extern vec4_t color_yellow; extern vec4_t color_blue; extern vec4_t color_orange; extern vec4_t color_red; extern vec4_t color_dim; extern vec4_t name_color; extern vec4_t list_color; extern vec4_t listbar_color; extern vec4_t text_color_disabled; extern vec4_t text_color_normal; extern vec4_t text_color_highlight; // STONELANCE extern vec4_t text_color; // END extern char *ui_medalNames[]; extern char *ui_medalPicNames[]; extern char *ui_medalSounds[]; // // ui_mfield.c // extern void MField_Clear( mfield_t *edit ); extern void MField_KeyDownEvent( mfield_t *edit, int key ); extern void MField_CharEvent( mfield_t *edit, int ch ); extern void MField_Draw( mfield_t *edit, int x, int y, int style, vec4_t color ); extern void MenuField_Init( menufield_s* m ); extern void MenuField_Draw( menufield_s *f ); extern sfxHandle_t MenuField_Key( menufield_s* m, int* key ); // // ui_menu.c // extern void MainMenu_Cache( void ); extern void UI_MainMenu(void); extern void UI_RegisterCvars( void ); extern void UI_UpdateCvars( void ); // // ui_credits.c // extern void UI_CreditMenu( void ); // STONELANCE // // ui_rally_gfxloading.c // extern void UI_GFX_Loading( void ); // // ui_rally_credits.c // extern void UI_Rally_CreditMenu( void ); // // ui_rally_filelist.c // // extern int UI_BuildFileList( char *directory, char *extension, char *prefix, char *list[], int maxListItems); // END // // ui_ingame.c // extern void InGame_Cache( void ); extern void UI_InGameMenu(void); // // ui_confirm.c // extern void ConfirmMenu_Cache( void ); extern void UI_ConfirmMenu( const char *question, void (*draw)( void ), void (*action)( qboolean result ) ); extern void UI_ConfirmMenu_Style( const char *question, int style, void (*draw)( void ), void (*action)( qboolean result ) ); extern void UI_Message( const char **lines ); // // ui_setup.c // extern void UI_SetupMenu_Cache( void ); extern void UI_SetupMenu(void); // // ui_team.c // extern void UI_TeamMainMenu( void ); extern void TeamMain_Cache( void ); // // ui_connect.c // extern void UI_DrawConnectScreen( qboolean overlay ); // // ui_controls2.c // extern void UI_ControlsMenu( void ); extern void Controls_Cache( void ); // // ui_demo2.c // extern void UI_DemosMenu( void ); extern void Demos_Cache( void ); // // ui_cinematics.c // extern void UI_CinematicsMenu( void ); extern void UI_CinematicsMenu_f( void ); extern void UI_CinematicsMenu_Cache( void ); // // ui_mods.c // extern void UI_ModsMenu( void ); extern void UI_ModsMenu_Cache( void ); // // ui_cdkey.c // extern void UI_CDKeyMenu( void ); extern void UI_CDKeyMenu_Cache( void ); extern void UI_CDKeyMenu_f( void ); // // ui_playermodel.c // // STONELANCE // extern void UI_PlayerModelMenu( void ); extern void UI_PlayerModelMenu( const char *modelName ); // END extern void PlayerModel_Cache( void ); // // ui_playersettings.c // extern void UI_PlayerSettingsMenu( void ); extern void PlayerSettings_Cache( void ); // STONELANCE extern void PlayerSettings_Update( void ); extern void UI_PlateSelectionMenu( void ); // END // // ui_preferences.c // extern void UI_PreferencesMenu( void ); extern void Preferences_Cache( void ); // // ui_specifyleague.c // extern void UI_SpecifyLeagueMenu( void ); extern void SpecifyLeague_Cache( void ); // // ui_specifyserver.c // extern void UI_SpecifyServerMenu( void ); extern void SpecifyServer_Cache( void ); // // ui_servers2.c // #define MAX_FAVORITESERVERS 16 extern void UI_ArenaServersMenu( void ); extern void ArenaServers_Cache( void ); // // ui_startserver.c // extern void UI_StartServerMenu( qboolean multiplayer ); extern void StartServer_Cache( void ); extern void ServerOptions_Cache( void ); extern void UI_BotSelectMenu( char *bot ); extern void UI_BotSelectMenu_Cache( void ); // // ui_serverinfo.c // extern void UI_ServerInfoMenu( void ); extern void ServerInfo_Cache( void ); // // ui_video.c // extern void UI_GraphicsOptionsMenu( void ); extern void GraphicsOptions_Cache( void ); extern void DriverInfo_Cache( void ); // // ui_players.c // //FIXME ripped from cg_local.h typedef struct { int oldFrame; int oldFrameTime; // time when ->oldFrame was exactly on int frame; int frameTime; // time when ->frame will be exactly on float backlerp; float yawAngle; qboolean yawing; float pitchAngle; qboolean pitching; int animationNumber; // may include ANIM_TOGGLEBIT animation_t *animation; int animationTime; // time when the first frame of the animation will be exact } lerpFrame_t; typedef struct { // model info // STONELANCE /* qhandle_t legsModel; qhandle_t legsSkin; lerpFrame_t legs; qhandle_t torsoModel; qhandle_t torsoSkin; lerpFrame_t torso; */ // END qhandle_t headModel; qhandle_t headSkin; // STONELANCE qhandle_t bodyModel; qhandle_t bodySkin; qhandle_t wheelModel; qhandle_t wheelSkin; // animation_t animations[MAX_ANIMATIONS]; // other models qhandle_t plateModel; qhandle_t plateShader; qhandle_t suspCModel; /* qhandle_t suspFModel; qhandle_t suspRModel; */ float wheelAngle; // END qhandle_t weaponModel; qhandle_t barrelModel; qhandle_t flashModel; vec3_t flashDlightColor; int muzzleFlashTime; vec3_t color1; byte c1RGBA[4]; // currently in use drawing parms vec3_t viewAngles; vec3_t moveAngles; weapon_t currentWeapon; int legsAnim; int torsoAnim; // animation vars weapon_t weapon; weapon_t lastWeapon; weapon_t pendingWeapon; int weaponTimer; int pendingLegsAnim; int torsoAnimationTimer; int pendingTorsoAnim; int legsAnimationTimer; qboolean chat; qboolean newModel; qboolean barrelSpinning; float barrelAngle; int barrelTime; int realWeapon; // STONELANCE qboolean headLights; qboolean brake; qboolean reverse; qboolean turbo; char plateName[MAX_QPATH]; // END } playerInfo_t; void UI_DrawPlayer( float x, float y, float w, float h, playerInfo_t *pi, int time ); // STONELANCE // void UI_PlayerInfo_SetModel( playerInfo_t *pi, const char *model ); void UI_PlayerInfo_SetModel( playerInfo_t *pi, const char *model, const char *rim, const char *head, const char *plate ); // END void UI_PlayerInfo_SetInfo( playerInfo_t *pi, int legsAnim, int torsoAnim, vec3_t viewAngles, vec3_t moveAngles, weapon_t weaponNum, qboolean chat ); // STONELANCE // qboolean UI_RegisterClientModelname( playerInfo_t *pi, const char *modelSkinName ); qboolean UI_RegisterClientModelname( playerInfo_t *pi, const char *modelSkinName, const char *rimName, const char *headName, const char *plateName ); // END // // ui_atoms.c // typedef struct { int frametime; int realtime; int cursorx; int cursory; // STONELANCE int cursorpx; // previous position int cursorpy; // previous position // END int menusp; menuframework_s* activemenu; menuframework_s* stack[MAX_MENUDEPTH]; glconfig_t glconfig; qboolean debug; qhandle_t whiteShader; qhandle_t menuBackShader; qhandle_t menuBackNoLogoShader; qhandle_t charset; qhandle_t charsetProp; qhandle_t charsetPropGlow; qhandle_t charsetPropB; qhandle_t cursor; qhandle_t rb_on; qhandle_t rb_off; // STONELANCE qhandle_t sbtop; qhandle_t sbmid; qhandle_t sbbot; qhandle_t sb_u0; qhandle_t sb_u1; qhandle_t sb_d0; qhandle_t sb_d1; // END float xscale; float yscale; float bias; qboolean demoversion; qboolean firstdraw; // STONELANCE qhandle_t cursorModel; qhandle_t cursorShader; int transitionIn; int transitionOut; qboolean mainMenu; qboolean spinView; // car models qhandle_t headLightGlow; qhandle_t brakeLightGlow; qhandle_t reverseLightGlow; qhandle_t turboModel; // menu graphics qhandle_t port; qhandle_t select; qhandle_t selected; qhandle_t arrow_l0; qhandle_t arrow_l1; qhandle_t arrow_r0; qhandle_t arrow_r1; // transition variables vec4_t text_color; float tFrac; // END } uiStatic_t; extern void UI_Init( void ); extern void UI_Shutdown( void ); extern void UI_KeyEvent( int key, int down ); extern void UI_MouseEvent( int dx, int dy ); extern void UI_Refresh( int realtime ); extern qboolean UI_ConsoleCommand( int realTime ); extern float UI_ClampCvar( float min, float max, float value ); extern void UI_DrawNamedPic( float x, float y, float width, float height, const char *picname ); extern void UI_DrawHandlePic( float x, float y, float w, float h, qhandle_t hShader ); extern void UI_FillRect( float x, float y, float width, float height, const float *color ); extern void UI_DrawRect( float x, float y, float width, float height, const float *color ); extern void UI_UpdateScreen( void ); extern void UI_SetColor( const float *rgba ); extern void UI_LerpColor(vec4_t a, vec4_t b, vec4_t c, float t); extern void UI_DrawBannerString( int x, int y, const char* str, int style, vec4_t color ); extern float UI_ProportionalSizeScale( int style ); extern void UI_DrawProportionalString( int x, int y, const char* str, int style, vec4_t color ); extern void UI_DrawProportionalString_AutoWrapped( int x, int ystart, int xmax, int ystep, const char* str, int style, vec4_t color ); extern int UI_ProportionalStringWidth( const char* str ); extern void UI_DrawString( int x, int y, const char* str, int style, vec4_t color ); extern void UI_DrawChar( int x, int y, int ch, int style, vec4_t color ); extern qboolean UI_CursorInRect (int x, int y, int width, int height); extern void UI_AdjustFrom640( float *x, float *y, float *w, float *h ); extern void UI_DrawTextBox (int x, int y, int width, int lines); extern qboolean UI_IsFullscreen( void ); extern void UI_SetActiveMenu( uiMenuCommand_t menu ); extern void UI_PushMenu ( menuframework_s *menu ); extern void UI_PopMenu (void); extern void UI_ForceMenuOff (void); extern char *UI_Argv( int arg ); extern char *UI_Cvar_VariableString( const char *var_name ); extern void UI_Refresh( int time ); extern void UI_StartDemoLoop( void ); extern qboolean m_entersound; extern uiStatic_t uis; // // ui_spLevel.c // void UI_SPLevelMenu_Cache( void ); void UI_SPLevelMenu( void ); void UI_SPLevelMenu_f( void ); void UI_SPLevelMenu_ReInit( void ); // // ui_spArena.c // void UI_SPArena_Start( const char *arenaInfo ); // // ui_spPostgame.c // void UI_SPPostgameMenu_Cache( void ); void UI_SPPostgameMenu_f( void ); // // ui_spSkill.c // void UI_SPSkillMenu( const char *arenaInfo ); void UI_SPSkillMenu_Cache( void ); // // ui_syscalls.c // void trap_Print( const char *string ); void trap_Error( const char *string ) __attribute__((noreturn)); int trap_Milliseconds( void ); void trap_Cvar_Register( vmCvar_t *vmCvar, const char *varName, const char *defaultValue, int flags ); void trap_Cvar_Update( vmCvar_t *vmCvar ); void trap_Cvar_Set( const char *var_name, const char *value ); float trap_Cvar_VariableValue( const char *var_name ); void trap_Cvar_VariableStringBuffer( const char *var_name, char *buffer, int bufsize ); void trap_Cvar_SetValue( const char *var_name, float value ); void trap_Cvar_Reset( const char *name ); void trap_Cvar_Create( const char *var_name, const char *var_value, int flags ); void trap_Cvar_InfoStringBuffer( int bit, char *buffer, int bufsize ); int trap_Argc( void ); void trap_Argv( int n, char *buffer, int bufferLength ); void trap_Cmd_ExecuteText( int exec_when, const char *text ); // don't use EXEC_NOW! int trap_FS_FOpenFile( const char *qpath, fileHandle_t *f, fsMode_t mode ); void trap_FS_Read( void *buffer, int len, fileHandle_t f ); void trap_FS_Write( const void *buffer, int len, fileHandle_t f ); void trap_FS_FCloseFile( fileHandle_t f ); int trap_FS_GetFileList( const char *path, const char *extension, char *listbuf, int bufsize ); int trap_FS_Seek( fileHandle_t f, long offset, int origin ); // fsOrigin_t qhandle_t trap_R_RegisterModel( const char *name ); qhandle_t trap_R_RegisterSkin( const char *name ); qhandle_t trap_R_RegisterShaderNoMip( const char *name ); void trap_R_ClearScene( void ); void trap_R_AddRefEntityToScene( const refEntity_t *re ); void trap_R_AddPolyToScene( qhandle_t hShader , int numVerts, const polyVert_t *verts ); void trap_R_AddLightToScene( const vec3_t org, float intensity, float r, float g, float b ); void trap_R_RenderScene( const refdef_t *fd ); void trap_R_SetColor( const float *rgba ); void trap_R_DrawStretchPic( float x, float y, float w, float h, float s1, float t1, float s2, float t2, qhandle_t hShader ); void trap_UpdateScreen( void ); int trap_CM_LerpTag( orientation_t *tag, clipHandle_t mod, int startFrame, int endFrame, float frac, const char *tagName ); void trap_S_StartLocalSound( sfxHandle_t sfx, int channelNum ); sfxHandle_t trap_S_RegisterSound( const char *sample, qboolean compressed ); void trap_Key_KeynumToStringBuf( int keynum, char *buf, int buflen ); void trap_Key_GetBindingBuf( int keynum, char *buf, int buflen ); void trap_Key_SetBinding( int keynum, const char *binding ); qboolean trap_Key_IsDown( int keynum ); qboolean trap_Key_GetOverstrikeMode( void ); void trap_Key_SetOverstrikeMode( qboolean state ); void trap_Key_ClearStates( void ); int trap_Key_GetCatcher( void ); void trap_Key_SetCatcher( int catcher ); void trap_GetClipboardData( char *buf, int bufsize ); void trap_GetClientState( uiClientState_t *state ); void trap_GetGlconfig( glconfig_t *glconfig ); int trap_GetConfigString( int index, char* buff, int buffsize ); int trap_LAN_GetServerCount( int source ); void trap_LAN_GetServerAddressString( int source, int n, char *buf, int buflen ); void trap_LAN_GetServerInfo( int source, int n, char *buf, int buflen ); int trap_LAN_GetPingQueueCount( void ); int trap_LAN_ServerStatus( const char *serverAddress, char *serverStatus, int maxLen ); void trap_LAN_ClearPing( int n ); void trap_LAN_GetPing( int n, char *buf, int buflen, int *pingtime ); void trap_LAN_GetPingInfo( int n, char *buf, int buflen ); int trap_MemoryRemaining( void ); void trap_GetCDKey( char *buf, int buflen ); void trap_SetCDKey( char *buf ); qboolean trap_VerifyCDKey( const char *key, const char *chksum); void trap_SetPbClStatus( int status ); // // ui_addbots.c // void UI_AddBots_Cache( void ); void UI_AddBotsMenu( void ); // // ui_removebots.c // void UI_RemoveBots_Cache( void ); void UI_RemoveBotsMenu( void ); // // ui_teamorders.c // extern void UI_TeamOrdersMenu( void ); extern void UI_TeamOrdersMenu_f( void ); extern void UI_TeamOrdersMenu_Cache( void ); // // ui_loadconfig.c // void UI_LoadConfig_Cache( void ); void UI_LoadConfigMenu( void ); // // ui_saveconfig.c // void UI_SaveConfigMenu_Cache( void ); void UI_SaveConfigMenu( void ); // // ui_display.c // void UI_DisplayOptionsMenu_Cache( void ); void UI_DisplayOptionsMenu( void ); // // ui_sound.c // void UI_SoundOptionsMenu_Cache( void ); void UI_SoundOptionsMenu( void ); // STONELANCE // // ui_rally_tools.c // #define BL_INCLUDE 0 #define BL_EXCLUDE 1 #define BL_ONLY 2 float UI_Random( void ); int UI_BuildFileList( const char *directory, const char *extension, const char *prefix, qboolean excludeDirectory, qboolean excludeFileNames, int specialCases, int startIndex, char list[256][64]); // // ui_rally_favorites.c // qboolean GetValuesFromFavorite( const char *favorite, char *modelName, char *skinName, char *rimName, char *headName ); // // ui_rally_options.c // qboolean isRaceObserver( int clientNum ); void UI_Q3ROptionsMenu( void ); // END // // ui_network.c // void UI_NetworkOptionsMenu_Cache( void ); void UI_NetworkOptionsMenu( void ); // // ui_gameinfo.c // typedef enum { AWARD_ACCURACY, AWARD_IMPRESSIVE, AWARD_EXCELLENT, AWARD_GAUNTLET, AWARD_FRAGS, AWARD_PERFECT } awardType_t; const char *UI_GetArenaInfoByNumber( int num ); const char *UI_GetArenaInfoByMap( const char *map ); const char *UI_GetSpecialArenaInfo( const char *tag ); int UI_GetNumArenas( void ); int UI_GetNumSPArenas( void ); int UI_GetNumSPTiers( void ); char *UI_GetBotInfoByNumber( int num ); char *UI_GetBotInfoByName( const char *name ); int UI_GetNumBots( void ); void UI_GetBestScore( int level, int *score, int *skill ); void UI_SetBestScore( int level, int score ); int UI_TierCompleted( int levelWon ); qboolean UI_ShowTierVideo( int tier ); qboolean UI_CanShowTierVideo( int tier ); int UI_GetCurrentGame( void ); void UI_NewGame( void ); void UI_LogAwardData( int award, int data ); int UI_GetAwardLevel( int award ); void UI_SPUnlock_f( void ); void UI_SPUnlockMedals_f( void ); void UI_InitGameinfo( void ); //GRank // // ui_rankings.c // void Rankings_DrawText( void* self ); void Rankings_DrawName( void* self ); void Rankings_DrawPassword( void* self ); void Rankings_Cache( void ); void UI_RankingsMenu( void ); // // ui_login.c // void Login_Cache( void ); void UI_LoginMenu( void ); // // ui_signup.c // void Signup_Cache( void ); void UI_SignupMenu( void ); // // ui_rankstatus.c // void RankStatus_Cache( void ); void UI_RankStatusMenu( void ); #endif