rpgxef/code/ui/ui_local.h
Walter Julius Hennecke a39565b783 Integrated RPG-X2 rpgxEF edition into the rpgxEF repo
... not quite content with where the project files lie but it is ok for
now.
... compiling works fine so far (only tested mingw32 right now)
2012-08-04 12:54:37 +02:00

2451 lines
54 KiB
C

// Copyright (C) 1999-2000 Id Software, Inc.
//
#ifndef __UI_LOCAL_H__
#define __UI_LOCAL_H__
#include "../game/q_shared.h"
#include "../cgame/tr_types.h"
#include "ui_public.h"
#include "keycodes.h"
#include "../game/bg_public.h"
//RPG-X : TiM
//Defines for animation code in UI module
// RPG-X
int UI_GetAnim ( int anim, int weapon, qboolean upper );
#define ANIM_IDLE 0
#define ANIM_RUN 1
#define ANIM_WALK 2
#define ANIM_BACK 3
#define ANIM_JUMP 4
#define ANIM_CROUCH 5
#define ANIM_STEPLEFT 6
#define ANIM_STEPRIGHT 7
#define ANIM_TURNLEFT 8
#define ANIM_TURNRIGHT 9
#define ANIM_LOOKUP 10
#define ANIM_LOOKDOWN 11
#define ANIM_WEAPON1 12
#define ANIM_WEAPON2 13
#define ANIM_WEAPON3 14
#define ANIM_WEAPON4 15
#define ANIM_WEAPON5 16
#define ANIM_WEAPON6 17
#define ANIM_WEAPON7 18
#define ANIM_WEAPON8 19
#define ANIM_WEAPON9 20
#define ANIM_WEAPON10 21
#define ANIM_ATTACK 22
#define ANIM_GESTURE 23
#define ANIM_DIE 24
#define ANIM_CHAT 25
//Ranks
#define MAX_RANKSETS 16
#define MAX_NAMELENGTH 24
//Classes
#define MAX_CLASSSETS 16
//TiM - Struct to hold all the data on rank sets
typedef struct {
char rankSetNames[MAX_RANKSETS][128]; //Character pointers piss me off sooooo bad. >:(
char rankSetName[MAX_NAMELENGTH];
rankNames_t rankNames[MAX_RANKS];
} rankSets_t;
//TiM - UI Struct to hold all the data on current
//class settings
typedef struct {
char classNameFull[25];
char classNameConsole[15];
} classData_t;
// Menu Normal Text enum
typedef enum
{
MNT_NONE,
// Main Screen Headings
MNT_MAINMENU_TITLE,
MNT_CDKEYMENU_TITLE,
MNT_DEMOS_TITLE,
MNT_CONTROLSMENU_TITLE,
MNT_SINGLEPLAYER_TITLE,
MNT_MULTIPLAYER_TITLE,
MNT_MODS_TITLE,
MNT_CREDITS_TITLE, //TiM:
MNT_QUITMENU_TITLE,
MNT_INGAMEMAIN_TITLE,
MNT_TEAMMENU_TITLE,
MNT_EMOTES_MENU,
MNT_ADMIN_MENU,
MNT_CLIENT_MENU,
MNT_AUDIO_MENU,
// Ingame Menu
MNT_INGAME_MENU,
// Team Menu
MNT_TEAM_MENU,
// Demos Screen
MNT_DEMOS,
MNT_CURRENTFILE,
MNT_CURRENTDEMOSAVAILABLE,
// Main Menu
MNT_ALPHA,
MNT_STELLAR_CARTOGRAPHY,
MNT_FEDERATION_TXT,
MNT_CARDASSIA_TXT,
MNT_FERENGI_TXT,
MNT_ROMULAN_TXT,
MNT_KLINGON_TXT,
MNT_DOMINION_TXT,
MNT_VOYAGER_TXT,
MNT_BORG_TXT,
MNT_WORMHOLE_TXT,
MNT_GALACTICCORE_TXT,
MNT_ALPHAQUAD_TXT,
MNT_BETAQUAD_TXT,
MNT_DELTAQUAD_TXT,
MNT_GAMMAQUAD_TXT,
// Video Setup Menu
MNT_VIDEOSETUP,
MNT_VIDEO_HIGH_QUALITY,
MNT_VIDEO_NORMAL,
MNT_VIDEO_FAST,
MNT_VIDEO_FASTEST,
MNT_VIDEO_CUSTOM,
MNT_VIDEO_DRIVER_DEFAULT,
MNT_VIDEO_DRIVER_VOODOO,
MNT_4X3,
MNT_16X9,
MNT_16X10,
MNT_OFF,
MNT_ON,
MNT_320X200,
MNT_400X300,
MNT_512X384,
MNT_640X480,
MNT_800X600,
MNT_960X720,
MNT_1024X768,
MNT_1152X864,
MNT_1280X960,
MNT_1600X1200,
MNT_2048X1536,
MNT_856x480WIDE,
MNT_DEFAULT,
MNT_16BIT,
MNT_32BIT,
MNT_LIGHTMAP,
MNT_VERTEX,
MNT_LOW,
MNT_MEDIUM,
MNT_HIGH,
MNT_VERY_HIGH,
MNT_BILINEAR,
MNT_TRILINEAR,
// Player setup
MNT_CHANGEPLAYER_TITLE,
MNT_PLAYERSETUP,
MNT_HANDICAP_NONE,
MNT_HANDICAP_95,
MNT_HANDICAP_90,
MNT_HANDICAP_85,
MNT_HANDICAP_80,
MNT_HANDICAP_75,
MNT_HANDICAP_70,
MNT_HANDICAP_65,
MNT_HANDICAP_60,
MNT_HANDICAP_55,
MNT_HANDICAP_50,
MNT_HANDICAP_45,
MNT_HANDICAP_40,
MNT_HANDICAP_35,
MNT_HANDICAP_30,
MNT_HANDICAP_25,
MNT_HANDICAP_20,
MNT_HANDICAP_15,
MNT_HANDICAP_10,
MNT_HANDICAP_05,
// Video Driver Menu
MNT_VIDEODRIVER,
MNT_VIDEODRIVERS,
MNT_VENDOR,
MNT_VERSION,
MNT_RENDERER,
MNT_PIXELFORMAT,
MNT_EXTENSIONS,
// Setup / Controls / Weapons
MNT_WEAPONKEY_SETUP,
// Sound Menu
MNT_SOUND_SETUP,
// Game Options
MNT_CROSSHAIR_NONE,
MNT_GAMEOPTION_LABEL,
// Quit screen
MNT_SHIP_SYSTEMS,
MNT_QUIT_ELITE_FORCE,
// Multiplayer Server
MNT_MASTER_ITEMS_LOCAL,
MNT_MASTER_ITEMS_MPLAYER,
MNT_MASTER_ITEMS_INTERNET1,
MNT_MASTER_ITEMS_FAVORITES,
MNT_SERVERTYPE_ALL,
MNT_SERVERTYPE_FREE_FOR_ALL,
MNT_SERVERTYPE_TEAM_DEATHMATCH,
MNT_SERVERTYPE_TOURNAMENT,
MNT_SERVERTYPE_CAPTURETHEFLAG,
MNT_SERVERTYPE_EXCESSIVE,
MNT_SERVERTYPE_FEDERATION,
MNT_SERVERTYPE_GLADIATOR,
MNT_SERVERTYPE_IN2TAGIB,
MNT_SERVERTYPE_PINBALL,
MNT_SERVERTYPE_Q32EF,
MNT_SERVERTYPE_RPG,
MNT_SERVERTYPE_TEAMELITE,
MNT_SERVERTYPE_RPGX, //RPG-X: TiM - Cycle RPG-X as a gtype option as well :)
MNT_SORTKEY_SERVER_NAME,
MNT_SORTKEY_MAP_NAME,
MNT_SORTKEY_OPENPLAYER,
MNT_SORTKEY_GAMETYPE,
MNT_SORTKEY_PINGTIME,
MNT_FINDSERVER,
MNT_CREATESERVER,
MNT_SPECIFYSERVER,
// Specify server
MNT_SERVER_ADDRESS,
MNT_SERVER_PORT,
MNT_TYPE_FREEFORALL,
MNT_TYPE_TEAMDEATHMATCH,
MNT_TYPE_TOURNAMENT,
MNT_TYPE_CAPTURETHEFLAG,
MNT_NO,
MNT_YES,
// Mods Menu
MNT_ELITEFORCE_HOLOMATCH,
MNT_MODS,
MNT_AVAILABLEMODS,
// Single Player Menu
MNT_SINGLEPLAYER,
MNT_TIER,
MNT_ACCESSDENIED,
MNT_OPPONENTS,
MNT_PLAYER_DATA,
// Change Player Menu
MNT_CHANGEPLAYER,
// Single Player Reset Menu
MNT_RESETPLAYER,
// Setup / Controls / Attack/Look
MNT_ATTACKLOOKKEY_SETUP,
// Setup / Controls / Movement
MNT_MOVEMENTKEYS_SETUP,
// Setup / Controls / Mouse/JoyStick
MNT_MOUSEJOYSTICK_SETUP,
MNT_MOUSE,
MNT_JOYSTICK,
// Skill levels
MNT_BABYLEVEL,
MNT_EASYLEVEL,
MNT_MEDIUMLEVEL,
MNT_HARDLEVEL,
MNT_NIGHTMARELEVEL,
// Dedicated server
MNT_DEDICATED_NO,
MNT_DEDICATED_LAN,
MNT_DEDICATED_INTERNET,
// Player type
MNT_OPEN,
MNT_BOT,
MNT_CLOSED,
// Player team
MNT_TEAM_BLUE,
MNT_TEAM_RED,
// Single Player Reset
MNT_PLAYER_RESET1,
MNT_PLAYER_RESET2,
MNT_PLAYER_RESET3,
MNT_RESET_PLAYER,
//Demo screen
MNT_NO_DEMOS_FOUND,
MNT_ENTER_CDKEY,
MNT_VALID_CDKEY,
MNT_CDKEY_INVALID,
MNT_LOADING,
MNT_CONNECTINGTO,
MNT_PRESSESCAPETOABORT,
MNT_WAITINGFORNEWKEY,
MNT_CLICKTOCHANGE,
MNT_BACKSPACETOCLEAR,
MNT_USEARROWKEYS,
MNT_RESET1,
MNT_RESET2,
MNT_QUIT1,
MNT_QUIT2,
MNT_NAME,
MNT_EFFECTS,
MNT_ENTERFILENAME,
MNT_HOSTNAME,
MNT_MAP,
MNT_PLAYERS,
MNT_TYPE,
MNT_PORT,
MNT_PING,
MNT_DEFAULT1,
MNT_DEFAULT2,
MNT_ELIMINATED,
MNT_TIE,
MNT_COMPLETERESET1,
MNT_COMPLETERESET2,
MNT_COMPLETERESET3,
MNT_COMPLETERESET4,
MNT_NOLIMIT,
MNT_SHORTCUT_KEY,
MNT_SHORTCUT_SCORES,
MNT_SHORTCUT_USE,
MNT_SHORTCUT_RUNWALK,
MNT_SHORTCUT_WALKFORWARD,
MNT_SHORTCUT_BACKPEDAL,
MNT_SHORTCUT_STEPLEFT,
MNT_SHORTCUT_STEPRIGHT,
MNT_SHORTCUT_UPJUMP,
MNT_SHORTCUT_DOWNCROUCH,
MNT_SHORTCUT_TURNLEFT,
MNT_SHORTCUT_TURNRIGHT,
MNT_SHORTCUT_SIDESTEPTURN,
MNT_SHORTCUT_LOOKUP,
MNT_SHORTCUT_LOOKDOWN,
MNT_SHORTCUT_MOUSELOOK,
MNT_SHORTCUT_CENTERVIEW,
MNT_SHORTCUT_ZOOMVIEW,
MNT_SHORTCUT_WEAPON0,
MNT_SHORTCUT_WEAPON1,
MNT_SHORTCUT_WEAPON2,
MNT_SHORTCUT_WEAPON3,
MNT_SHORTCUT_WEAPON4,
MNT_SHORTCUT_WEAPON5,
MNT_SHORTCUT_WEAPON6,
MNT_SHORTCUT_WEAPON7,
MNT_SHORTCUT_WEAPON8,
MNT_SHORTCUT_WEAPON9,
MNT_SHORTCUT_ATTACK,
MNT_SHORTCUT_ALTATTCK,
MNT_SHORTCUT_PREVWEAPON,
MNT_SHORTCUT_NEXTWEAPON,
MNT_SHORTCUT_GESTURE,
MNT_SHORTCUT_EQUIP,
MNT_SHORTCUT_DROP, // RPG-X | Marcin | 04/12/2008
MNT_SHORTCUT_CHAT,
MNT_SHORTCUT_CHATTEAM,
MNT_SHORTCUT_CHATTARGET,
MNT_SHORTCUT_CHATATTACKER,
MNT_SHORTCUT_CHATCLASS,
//TiM - 3rd Person view commands (Not necessarily modelview related )
MNT_SHORTCUT_TOGGLE3RDPERSON,
MNT_SHORTCUT_COMMITANGLES,
MNT_SHORTCUT_REVERTANGLES,
MNT_SHORTCUT_RESETANGLES,
//RPG-X TiM - Modelview Buttonzors
MNT_SHORTCUT_MODELVIEW_FORWARD,
MNT_SHORTCUT_MODELVIEW_BACKWARD,
MNT_SHORTCUT_MODELVIEW_LEFT,
MNT_SHORTCUT_MODELVIEW_RIGHT,
MNT_SHORTCUT_MODELVIEW_UP,
MNT_SHORTCUT_MODELVIEW_DOWN,
MNT_SHORTCUT_MODELVIEW_ROTLEFT,
MNT_SHORTCUT_MODELVIEW_ROTRIGHT,
MNT_SHORTCUT_MODELVIEW_PITCHUP,
MNT_SHORTCUT_MODELVIEW_PITCHDOWN,
MNT_MODELVIEW_SETUP, //RPG-X TiM
MNT_DEFAULT_WARNING1,
MNT_DEFAULT_WARNING2,
MNT_DEFAULT_WARNING3,
MNT_CONTINUE_WARNING,
MNT_DEFAULT_SETUP,
MNT_OTHEROPTIONS_SETUP,
MNT_COMMANDKEYS_SETUP,
MNT_TO_OFF,
MNT_TO_UPPER_RIGHT,
MNT_TO_LOWER_RIGHT,
MNT_TO_LOWER_LEFT,
MNT_NW_28,
MNT_NW_33,
MNT_NW_56,
MNT_NW_ISDN,
MNT_NW_CABLE,
MNT_NETWORKSETUP,
MNT_SERVERINFO,
MNT_SERVEROPTIONS,
MNT_HCSELECT,
MNT_SERVERINFO_TITLE,
MNT_FREE,
MNT_ADD_HCS_TITLE,
MNT_ADD_HCS,
MNT_HOLOGRAPHIC_CHARS,
MNT_SETTINGS,
MNT_REMOVE_HCS_TITLE,
MNT_REMOVE_HCS,
MNT_TEAM_ORDERS_TITLE,
MNT_TEAM_ORDERS,
MNT_ORDER_IMLEADER,
MNT_ORDER_DEFEND,
MNT_ORDER_FOLLOW,
MNT_ORDER_GETFLAG,
MNT_ORDER_CAMP,
MNT_ORDER_REPORT,
MNT_ORDER_IRELINQUISH,
MNT_ORDER_ROAM,
MNT_ORDER_NAME_DEFEND,
MNT_ORDER_NAME_FOLLOW,
MNT_ORDER_NAME_GETFLAG,
MNT_ORDER_NAME_CAMP,
MNT_ORDER_NAME_REPORT,
MNT_ORDER_NAME_ROAM,
MNT_NETWORK,
MNT_SOUND,
MNT_CNT_SERVERS,
MNT_SPACETOSTOP,
MNT_NORESPONSE_MASTER,
MNT_NO_SERVERS,
MNT_HITREFRESH,
MNT_SCANNINGFORSERVERS,
MNT_CURRENTMAP,
MNT_SORTPARMS,
MNT_SERVERINFORMATION,
MNT_WINNERS1,
MNT_WINNERS2,
MNT_ENGLISH,
MNT_GERMAN,
MNT_BRIDGE_DESC1,
MNT_PHASER_STRIP1_DESC1,
MNT_TORPEDOS_DESC1,
MNT_VENTRAL_DESC1,
MNT_MIDHULL_DESC1,
MNT_BUSSARD_DESC1,
MNT_NACELLES_DESC1,
MNT_THRUSTERS_DESC1,
MNT_VOYAGER_DESC1,
MNT_SOLOMATCHTYPES,
MNT_LEVELS,
MNT_SKILLLEVEL,
MNT_POINTLIMIT,
MNT_HUMAN,
MNT_SERVERPLAYERS,
MNT_ACCESSING,
MNT_HOLOCHARSLINE,
MNT_SAFE,
MNT_BEST,
MNT_MODELS,
MNT_CDKEY,
MNT_AWAITINGCHALLENGE,
MNT_AWAITINGAUTHORIZATION,
MNT_AWAITINGCONNECTION,
MNT_AWAITINGGAMESTATE,
MNT_DUTCH,
MNT_NOMAPSFOUND,
MNT_ADVANCEDSERVER,
MNT_ADV_ERROR,
MNT_ADV_STATUS1_RESPAWN,
MNT_ADV_STATUS1_MAXCLIENTS,
MNT_ADV_STATUS1_RUNSPEED,
MNT_ADV_STATUS1_GRAVITY,
MNT_ADV_STATUS1_KNOCKBACK,
MNT_ADV_STATUS1_DMGMULT,
MNT_ADV_STATUS1_BOT_MINPLAYERS,
MNT_HOLODECK1,
MNT_WELCOMETOHOLMATCH,
MNT_HOLOTITLE1,
MNT_HOLOTITLE2,
MNT_HOLOTITLE3,
MNT_HOLOTITLE4,
MNT_HOLOTITLE5,
MNT_HOLOTITLE6,
MNT_HOLOTITLE7,
MNT_HOLOTITLE8,
MNT_HOLOTITLE9,
MNT_HOLOTITLE10,
MNT_HOLOTITLE11,
MNT_HOLOTITLE12,
MNT_HOLOTITLE13,
MNT_HOLOTITLE14,
MNT_HOLOTITLE15,
MNT_HOLOTITLE16,
MNT_HOLOTITLE17,
MNT_HOLOTITLE18,
MNT_HOLOMATCH,
MNT_PARAMOUNT_LEGAL,
MNT_ID_LEGAL,
MNT_LEAVINGHOLMATCH,
MNT_OR,
MNT_CONFIRMATIONMENU_TITLE,
MNT_CONFIRMATION,
MNT_RESTART_MATCH,
MNT_MASTER_ITEMS_INTERNET2,
MNT_MASTER_ITEMS_INTERNET3,
MNT_MASTER_ITEMS_INTERNET4,
MNT_MASTER_ITEMS_INTERNET5,
MNT_ADV_STATUS2_RESPAWN,
MNT_ADV_STATUS2_MAXCLIENTS,
MNT_ADV_STATUS2_RUNSPEED,
MNT_ADV_STATUS2_GRAVITY,
MNT_ADV_STATUS2_KNOCKBACK,
MNT_ADV_STATUS2_DMGMULT,
MNT_ADV_STATUS2_BOT_MINPLAYERS,
MNT_STARTREK1,
MNT_STARTREK2,
MNT_FORMOREINFO,
MNT_UBERGAMES,
MNT_UBERGAMES2,
MNT_UBERGAMESINFO,
MNT_BACKSPACE,
MNT_GAMMA_LINE1,
MNT_GAMMA_LINE2,
MNT_GAMMA_LINE3,
MNT_INITIALSETUP_TITLE,
MNT_INITIALSETUP,
MNT_WEAPON1_DESC,
MNT_WEAPON2_DESC,
MNT_WEAPON3_DESC,
MNT_WEAPON4_DESC,
MNT_WEAPON5_DESC,
MNT_WEAPON6_DESC,
MNT_WEAPON7_DESC,
MNT_WEAPON8_DESC,
MNT_WEAPON9_DESC,
MNT_ACCESSINGLCARS,
MNT_CLOSINGLCARS,
MNT_INSERTCD,
MNT_BADCDKEY,
MNT_ADV_STATUS1_FORCEPLAYERRESPAWN,
MNT_ADV_STATUS2_FORCEPLAYERRESPAWN,
MNT_ADV_STATUS1_RESPAWNINVULNERABILITY,
MNT_ADV_STATUS2_RESPAWNINVULNERABILITY,
MNT_ADV_STATUS1_DOWARMUP,
MNT_ADV_STATUS2_DOWARMUP,
MNT_HOLODECKSIMULATION,
MNT_HOLOMATCHWEAPONRY,
MNT_BLUE,
MNT_RED,
MNT_SCREEN,
MNT_OF,
MNT_DOWNLOADING,
MNT_ESTIMATEDTIMELEFT,
MNT_TRANSFERRATE,
MNT_ESTIMATING,
MNT_OFCOPIED,
MNT_COPIED,
MNT_SEC,
MNT_ANVANCEDMENU_TITLE,
MNT_LEAVE_MATCH,
MNT_FONTS_DEVELOPER,
MNT_THISWILLRESETMENU,
MNT_GAMMA2_LINE1,
MNT_GAMMA2_LINE2,
MNT_RECOMMENDEDPLAYERS,
MNT_LOOSEVIDSETTINGS,
MNT_UNPURECLIENT,
MNT_CANNOTVALIDATE,
MNT_KICKED,
MNT_TIMEDOUT,
MNT_SERVERSHUTDOWN,
MNT_DISCONNECTED,
MNT_BROKENDOWNLOAD,
MNT_SERVERCOMMANDOVERFLOW,
MNT_LOSTRELIABLECOMMANDS,
MNT_A3DNOTAVAILABLE,
MNT_PC_NOCLASS,
MNT_PC_INFILTRATOR,
MNT_PC_SNIPER,
MNT_PC_HEAVY,
MNT_PC_DEMO,
MNT_PC_MEDIC,
MNT_PC_TECH,
MNT_PC_BORG,
MNT_SHORTCUT_USEINVENTORY,
MNT_SHORTCUT_USEOBJECT,
MNT_SHORTCUT_OBJECTIVES,
MNT_PARAMETERS,
MNT_ADV_STATUS1_NOJOINTIMEOUT,
MNT_ADV_STATUS2_NOJOINTIMEOUT,
MNT_ADV_STATUS1_CLASSCHANGETIMEOUT,
MNT_ADV_STATUS2_CLASSCHANGETIMEOUT,
MNT_ACTIONHERO,
//RPG-X: Redtechie - For added class support in UI Menu
// Credits Menu
MNT_CREDITS,
//Emotes,
MNT_EMOTES,
//ADmin
MNT_ADMIN,
MNT_PC_ALPHAOMEGA22,
MNT_PC_N00B,
MNT_CHANGEAPPLIED,
MNT_CHARS,
MNT_CHARDATA,
MNT_CHOOSEEMOTE,
MNT_MODELOFFSET,
MNT_EMOTELIST,
MNT_EMOTEPARAM,
MNT_PLAYERSTATS,
MNT_CLASS,
MNT_RANK,
MNT_AGE,
MNT_RACE,
MNT_HEIGHT,
MNT_WEIGHT,
MNT_MODEL,
MNT_ID,
MNT_PLAYERSTATUS,
MNT_QUICKCONNECT,
MNT_QUICKMESSAGE,
MNT_QUICKMESSAGE2,
MNT_MAIN_CMDS,
MNT_GIVE_CMDS,
MNT_REVIVE_CMDS,
MNT_BROADCAST_CMDS,
MNT_USEENT_CMDS,
MNT_BEAM_CMDS,
MNT_FXGUN_CMDS,
MNT_SPAWN_CMDS,
MNT_BIND_CMDS,
MNT_MYSELF,
MNT_EVERYONE,
MNT_MINE,
MNT_ALL,
MNT_RADIUS,
MNT_CHUNKTYPE,
MNT_SPARKINTERVAL,
MNT_TIMELENGTH,
MNT_DRIPTYPE,
MNT_DRIPINTENSITY,
MNT_SHAKEINTENSITY,
MNT_KEYBINDINGS,
MNT_CLIENT_INFO_CMDS,
MNT_KICK_CLIENT_CMDS,
MNT_FORCE_PARAM_CMDS,
MNT_PLAYMUSIC,
MNT_PLAYSOUND,
MNT_TURBOLIFT,
MNT_SPECFICYDECK,
MNT_TRANSPORTER,
MNT_HOLODECK,
MNT_ID_NOTTHERE,
MNT_ID_WRONGSIZE,
MNT_ID_INVALID,
MNT_MAX
} menuNormalTextType_t;
extern const char *menu_normal_text[MNT_MAX];
// Menu Button Text enum
typedef enum
{
MBT_NONE,
// Main Menu
MBT_MULTIPLAYER,
MBT_SETUP,
MBT_DEMO,
MBT_QUIT,
MBT_MODS,
MBT_CREDITS,
// Generic Stuff
MBT_GENERIC_NO,
MBT_GENERIC_YES,
// Demos Screen
MBT_MAINMENU,
MBT_ENGAGEDEMO,
MBT_DEMOLINE,
//Credits
MBT_LEADS,
MBT_CODERS,
MBT_2D,
MBT_3D,
MBT_MAPPING,
MBT_SOUNDS,
MBT_EXTRAS,
MBT_BETAS,
MBT_THANKS,
// Settings Top Buttons
MBT_VIDEOSETTINGS,
MBT_CONTROLS,
MBT_SOUNDSETTINGS,
MBT_GAMEOPTIONS,
MBT_CDKEY,
MBT_PLAYER,
MBT_FONTS,
// Video Data
MBT_VIDEOOPTIONS,
//MBT_VIDEODRIVER,
MBT_ASPECTRATIO,
MBT_VIDEOGLEXTENTIONS,
MBT_VIDEOMODE,
MBT_VIDEOCOLORDEPTH,
MBT_VIDEOFULLSCREEN,
MBT_VIDEOLIGHTING,
MBT_VIDEOGEOMETRY,
MBT_VIDEOTEXTUREDETAIL,
MBT_VIDEOTEXTUREBITS,
MBT_VIDEOTEXTUREFILTER,
MBT_VIDEOAPPLYCHANGES,
MBT_VIDEODATA,
MBT_VIDEODATA2,
MBT_VIDEODRIVERS,
// Video 2 Data
MBT_BRIGHTNESS,
MBT_SCREENSIZE,
// Setup / Sound
MBT_EFFECTSVOLUME,
MBT_MUSICVOLUME,
MBT_VOICEVOLUME,
MBT_SOUNDQUALITY,
MBT_A3D,
MBT_WAITFORKEY,
MBT_WEAPONKEYS,
MBT_LOOKKEYS,
MBT_MOVEMENTKEYS,
MBT_COMMANDKEYS,
MBT_MODELVIEWKEYS,
MBT_MOUSECONFIG,
MBT_OTHEROPTIONS,
MBT_ON,
MBT_OFF,
// Player settings
MBT_PLAYER_HANDICAP,
MBT_PLAYER_NAME,
// Game Options
MBT_WALLMARKS1,
MBT_WALLMARKS2,
MBT_DYNAMICLIGHTS1,
MBT_DYNAMICLIGHTS2,
MBT_LIGHTFLARES1,
MBT_LIGHTFLARES2,
MBT_IDENTIFYTARGET1,
MBT_IDENTIFYTARGET2,
MBT_SYNCEVERYFRAME1,
MBT_SYNCEVERYFRAME2,
MBT_CROSSHAIR,
// Quit Game
MBT_QUITGAME_YES,
MBT_QUITGAME_NO,
// Single Player Server
/*MBT_RESETSTANDINGS,
MBT_CREATEMATCH,
MBT_PRESETGAME,
MBT_NEXTGRADE,
MBT_PREVGRADE,
MBT_PLAYERINFO,
MBT_STARTMATCH1,
MBT_STARTMATCH2,
MBT_ABORT,*/
MBT_ENGAGE,
// Skill levels
MBT_BABYLEVEL,
MBT_EASYLEVEL,
MBT_MEDIUMLEVEL,
MBT_HARDLEVEL,
MBT_NIGHTMARELEVEL,
// Multiplayer Server
MBT_SERVERS,
MBT_SERVERTYPE_GAMETYPE,
MBT_SORTTYPE,
MBT_SHOWFULL,
MBT_SHOWEMPTY,
MBT_REFRESH,
MBT_STOPREFRESH,
MBT_GAMETYPE,
MBT_SEARCHSERVER,
MBT_SPECIFY,
MBT_CREATE,
MBT_ENGAGEMULTIPLAYER,
MBT_LOADMOD,
// Single Player reset
MBT_YESRESET,
MBT_NORESET,
MBT_CHANGEMODEL,
// Ingame menu
MBT_INGAMETEAM,
MBT_INGAMEADDSIMULANTS,
MBT_INGAMEREMOVESIMULANTS,
MBT_INGAMETEAMORDERS,
MBT_INGAMESETUP,
MBT_INGAMESERVERDATA,
MBT_INGAMERESTART,
MBT_INGAMERESUME,
MBT_INGAMELEAVE,
MBT_GAMEQUIT,
// Team menu
MBT_REDTEAM,
MBT_BLUETEAM,
MBT_JOINMATCH,
MBT_OBSERVER,
MBT_INGAMEMENU,
// Setup/ Controls / Mouse Config
MBT_MOUSEFREELOOK,
MBT_MOUSESPEED,
MBT_MOUSEINVERT,
MBT_MOUSESMOOTH,
MBT_JOYSTICKENABLE,
MBT_JOYSTICKTHRESHOLD,
MBT_FORCEFEEDBACK,
MBT_BACK,
MBT_PLAYERDATA,
MBT_NEXTPAGE,
MBT_PREVPAGE,
// Ingame Quit Screen
MBT_QUIT_NO,
MBT_QUIT_YES,
MBT_CDKEY2,
MBT_MISSION,
MBT_SETDEFAULT,
MBT_DEFAULT_NO,
MBT_DEFAULT_YES,
MBT_KEYTURNSPEED,
MBT_ALWAYSRUN,
MBT_LOOKSPRING,
MBT_AUTOSWITCHWEAPONS,
MBT_FORCEMODEL,
MBT_DRAWTEAMOVERLAY,
MBT_ALLOWDOWNLOAD,
MBT_SIMPLEITEMS,
MBT_NETWORK,
MBT_DATARATE,
MBT_ADDTOFAVS,
MBT_PREVMAPS,
MBT_NEXTMAPS,
MBT_SETPARAMETERS,
MBT_POINTLIMIT,
MBT_CAPTURELIMIT,
MBT_TIMELIMIT,
MBT_FRIENDLYFIRE,
MBT_PURESERVER,
MBT_DEDICATEDSERVER,
MBT_HOSTNAME,
MBT_HCSKILL,
MBT_PLAYER1,
MBT_PLAYER2,
MBT_PLAYER3,
MBT_PLAYER4,
MBT_PLAYER5,
MBT_PLAYER6,
MBT_PLAYER7,
MBT_PLAYER8,
MBT_PLAYER9,
MBT_PLAYER10,
MBT_PLAYER11,
MBT_PLAYER12,
MBT_CHOOSEMAP,
MBT_PREVHC,
MBT_NEXTHC,
MBT_ACCEPT,
MBT_TEAM,
MBT_SKILL,
MBT_REMOVE_HOLO,
MBT_ARROW_UP,
MBT_ARROW_DOWN,
MBT_REMOVE,
MBT_ADDRESS,
MBT_PORT,
MBT_REPLAY,
MBT_NEXTMATCH,
MBT_RETURNMENU,
MBT_LANGUAGE,
MBT_FEDERATION_LABEL,
MBT_CARDASSIA_LABEL,
MBT_FERENGI_LABEL,
MBT_ROMULAN_LABEL,
MBT_KLINGON_LABEL,
MBT_DOMINION_LABEL,
MBT_VOYAGER_LABEL1,
MBT_VOYAGER_LABEL2,
MBT_BORG_LABEL1,
MBT_BORG_LABEL2,
MBT_WORMHOLE_LABEL1,
MBT_WORMHOLE_LABEL2,
MBT_GALACTICCORE_LABEL,
MBT_ALPHA,
MBT_BETA,
MBT_DELTA,
MBT_GAMMA,
MBT_QUADRANT,
MBT_V_PHASER_LABEL,
MBT_V_TORPEDOS_LABEL,
MBT_V_TORPEDOS_LABEL2,
MBT_V_TORPEDOS_LABEL3,
MBT_V_VENTRAL_LABEL,
MBT_V_MIDHULL_LABEL,
MBT_V_MIDHULL_LABEL2,
MBT_V_BUSSARD_LABEL,
MBT_V_NACELLES_LABEL,
MBT_V_THRUSTERS_LABEL,
MBT_V_VOYAGER_LABEL,
MBT_V_BRIDGE_LABEL,
MBT_SCREENSHOT,
MBT_SKINDEFAULT,
MBT_SKINRED,
MBT_SKINBLUE,
MBT_LIGHTFLARES,
MBT_ADVANCEDSERVER,
MBT_AUTOJOIN,
MBT_AUTOBALANCE,
MBT_MAXCLIENTS,
MBT_FALLINGDAMAGE,
MBT_RESPAWNTIME,
MBT_RUNSPEED,
MBT_GRAVITY,
MBT_KNOCKBACK,
MBT_DMGMULT,
MBT_SIMPLESHADER,
MBT_BOT_MINPLAYERS,
MBT_WEAPON1,
MBT_WEAPON2,
MBT_WEAPON3,
MBT_WEAPON4,
MBT_WEAPON5,
MBT_WEAPON6,
MBT_WEAPON7,
MBT_WEAPON8,
MBT_WEAPON9,
MBT_ANISOTROPICFILTERING,
MBT_COMPRESSEDTEXTURES,
MBT_ADAPTITEMRESPAWN,
MBT_HOLODECKINTRO,
MBT_FORCEPLAYERRESPAWN,
MBT_RESPAWNINVULNERABILITY,
MBT_WARMUP,
MBT_BLUETEAMGROUP,
MBT_REDTEAMGROUP,
MBT_TEXTLANGUAGE,
MBT_VOICELANGUAGE,
MBT_RESETPROGRESS,
MBT_GROUPFILTER,
MBT_CHECKKEYLATER,
MBT_FONTSSMALL,
MBT_FONTSMEDIUM,
MBT_FONTSLARGE,
MBT_FONTSGRID,
MBT_KEYBOARDLANGUAGE,
MBT_X_AXIS,
MBT_Y_AXIS,
MBT_ASSIMILATION,
MBT_SPECIALTIES,
MBT_DISINTEGRATION,
MBT_ACTIONHERO,
MBT_ELIMINATION,
MBT_PLAYERCLASS,
MBT_TEAMCLASS,
MBT_AUTOTEAM,
MBT_NOJOINTIMEOUT,
MBT_CLASSCHANGE,
MBT_CLASS,
MBT_RANK,
MBT_OTHER,
//Player Settings
MBT_AGE,
MBT_RACE,
MBT_HEIGHT,
MBT_WEIGHT,
MBT_COMMIT,
MBT_RANKSETS,
MBT_CLASSSETS,
MBT_CHARMODEL,
MBT_CHARSKIN,
MBT_RACEFILTER,
MBT_GENDERFILTER,
MBT_PROFILESCROLL,
MBT_LOADPROFILE,
MBT_PROFILENAME,
MBT_SAVEPROFILE,
//RPG-X Emotes
MBT_EMOTES_MENU,
MBT_RECENT_FILTER,
MBT_FAV_FILTER,
MBT_ALL_FILTER,
MBT_SITTING_FILTER,
MBT_CONSOLE_FILTER,
MBT_GESTURE_FILTER,
MBT_FULLMOTION_FILTER,
MBT_INJURED_FILTER,
MBT_MISC_FILTER,
MBT_MODEL_OFFSET,
MBT_KEY_BIND,
MBT_PRESS_KEY,
MBT_FAV_EMOTE,
MBT_KILL_FAV_EMOTE,
MBT_DO_EMOTE,
MBT_CHANGE_OFFSET,
MBT_ADMIN_MENU,
MBT_ADMIN_MAIN,
MBT_ADMIN_CLIENTS,
MBT_ADMIN_AUDIO,
MBT_ADMIN_EXECUTE,
MBT_ADMIN_GOD,
MBT_ADMIN_NOCLIP,
MBT_ADMIN_CLOAK,
MBT_ADMIN_FLIGHT,
MBT_ADMIN_ITEM,
MBT_ADMIN_REVIVE,
MBT_ADMIN_MESSAGE,
MBT_ADMIN_ENTITY,
MBT_ADMIN_BEAMLOC,
MBT_ADMIN_BEAMPLAYER,
MBT_ADMIN_FX,
MBT_ADMIN_PARM1,
MBT_ADMIN_PARM2,
MBT_ADMIN_PARM3,
MBT_ADMIN_SPAWN,
MBT_ADMIN_REMOVE,
MBT_ADMIN_SPAWNB,
MBT_ADMIN_USEENTB,
MBT_ADMIN_KICKB,
MBT_CLIENT_SELECT,
MBT_CLIENT_KICK,
MBT_CLIENT_FORCE,
MBT_CLIENT_PARAM,
MBT_AUDIO_PLAYSONG,
MBT_AUDIO_STOPSONG,
MBT_AUDIO_PLAYSND,
MBT_DECK,
MBT_CONTINUE,
MBT_MOTD, // RPG-X | Marcin | 03/01/2009
MBT_RESPAWN,// RPG-X | Marcin | 03/01/2009
MBT_TRANS_EXTERN,
MBT_TRANS_DELAY,
MBT_TRANS_DELAY_PARAM,
MBT_HOLODECK_LIST,
MBT_HOLODECK_START,
MBT_HOLODECK_LEAVE,
MBT_MAX
} menuButtonTextType_t;
#define GRAPHIC_BUTTONRIGHT "menu/new/bar1.tga"
#define GRAPHIC_BUTTONLEFT "menu/new/bar2.tga"
#define GRAPHIC_BUTTONSLIDER "menu/common/slider.tga"
#define GRAPHIC_BUTTONROUND "button_round.tga"
#define MENU_BUTTON_MED_HEIGHT 18
#define MENU_BUTTON_MED_WIDTH 130
#define MENU_TITLE_X 611
#define MENU_TITLE_Y 24
#define MENU_DESC_X 100
#define MENU_DESC_Y 444
#define MENU_BUTTON_TEXT_X 5
#define MENU_BUTTON_TEXT_Y 1
#define MG_OFF 0
#define MG_STRING 1
#define MG_GRAPHIC 2
#define MG_NUMBER 3
#define MG_NONE 4
#define MG_VAR 5
extern const char *menu_button_text[MBT_MAX][2];
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_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_botminplayers;
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_weaponrespawn;
extern vmCvar_t ui_speed;
extern vmCvar_t ui_gravity;
extern vmCvar_t ui_knockback;
extern vmCvar_t ui_dmgmult;
extern vmCvar_t ui_adaptRespawn;
extern vmCvar_t ui_holoIntro;
extern vmCvar_t ui_forcerespawn;
extern vmCvar_t ui_respawnGhostTime;
extern vmCvar_t ui_warmup;
extern vmCvar_t ui_dowarmup;
extern vmCvar_t ui_team_race_blue;
extern vmCvar_t ui_team_race_red;
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_brassTime;
extern vmCvar_t ui_drawCrosshair;
extern vmCvar_t ui_drawCrosshairNames;
extern vmCvar_t ui_marks;
extern vmCvar_t ui_defaultChar;
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_server17;
extern vmCvar_t ui_server18;
extern vmCvar_t ui_server19;
extern vmCvar_t ui_server20;
extern vmCvar_t ui_server21;
extern vmCvar_t ui_server22;
extern vmCvar_t ui_server23;
extern vmCvar_t ui_server24;
extern vmCvar_t ui_server25;
extern vmCvar_t ui_server26;
extern vmCvar_t ui_server27;
extern vmCvar_t ui_server28;
extern vmCvar_t ui_server29;
extern vmCvar_t ui_server30;
extern vmCvar_t ui_server31;
extern vmCvar_t ui_server32;
extern vmCvar_t ui_cdkeychecked;
extern vmCvar_t ui_cdkeychecked2;
extern vmCvar_t ui_playerClass;
extern vmCvar_t ui_playerRank;
extern vmCvar_t ui_allowvote;
extern vmCvar_t ui_chatsallowed;
extern vmCvar_t ui_allowsuicide;
extern vmCvar_t ui_selfdamage;
extern vmCvar_t ui_rpg;
extern vmCvar_t ui_kickspammers;
extern vmCvar_t ui_kicksuiciders;
extern vmCvar_t ui_allowspmaps;
extern vmCvar_t ui_rangetricorder;
extern vmCvar_t ui_rangehypo;
extern vmCvar_t ui_norpgclasses;
extern vmCvar_t ui_forceclasscolor;
extern vmCvar_t ui_nosecurity;
extern vmCvar_t ui_nomarine;
extern vmCvar_t ui_nomedical;
extern vmCvar_t ui_noscience;
extern vmCvar_t ui_nocommand;
extern vmCvar_t ui_noengineer;
extern vmCvar_t ui_noalien;
extern vmCvar_t ui_nomaker;
extern vmCvar_t ui_nocloak;
extern vmCvar_t ui_noflight;
extern vmCvar_t ui_phaserdmg;
extern vmCvar_t ui_rifledmg;
extern vmCvar_t ui_stasisdmg;
extern vmCvar_t ui_imoddmg;
extern vmCvar_t ui_noweapons;
extern vmCvar_t ui_alienflags;
extern vmCvar_t ui_marineflags;
extern vmCvar_t ui_securityflags;
extern vmCvar_t ui_makerflags;
extern vmCvar_t ui_medicalflags;
extern vmCvar_t ui_scienceflags;
extern vmCvar_t ui_commandflags;
extern vmCvar_t ui_engineerflags;
extern vmCvar_t ui_dynamicCrosshair;
extern vmCvar_t ui_dynamicLensFlares;
extern vmCvar_t ui_currentRankSet;
extern vmCvar_t ui_currentClassSet;
extern vmCvar_t ui_age;
extern vmCvar_t ui_height;
extern vmCvar_t ui_weight;
extern vmCvar_t ui_race;
//Emote related CVARs
extern vmCvar_t ui_recentEmote1;
extern vmCvar_t ui_recentEmote2;
extern vmCvar_t ui_recentEmote3;
extern vmCvar_t ui_recentEmote4;
extern vmCvar_t ui_recentEmote5;
extern vmCvar_t ui_recentEmote6;
extern vmCvar_t ui_recentEmote7;
extern vmCvar_t ui_recentEmote8;
extern vmCvar_t ui_recentEmote9;
extern vmCvar_t ui_recentEmote10;
extern vmCvar_t ui_recentEmote11;
extern vmCvar_t ui_recentEmote12;
extern vmCvar_t ui_recentEmote13;
extern vmCvar_t ui_recentEmote14;
extern vmCvar_t ui_recentEmote15;
extern vmCvar_t ui_recentEmote16;
//-Users can have up to 16 favorite emotes
extern vmCvar_t ui_favoriteEmote1;
extern vmCvar_t ui_favoriteEmote2;
extern vmCvar_t ui_favoriteEmote3;
extern vmCvar_t ui_favoriteEmote4;
extern vmCvar_t ui_favoriteEmote5;
extern vmCvar_t ui_favoriteEmote6;
extern vmCvar_t ui_favoriteEmote7;
extern vmCvar_t ui_favoriteEmote8;
extern vmCvar_t ui_favoriteEmote9;
extern vmCvar_t ui_favoriteEmote10;
extern vmCvar_t ui_favoriteEmote11;
extern vmCvar_t ui_favoriteEmote12;
extern vmCvar_t ui_favoriteEmote13;
extern vmCvar_t ui_favoriteEmote14;
extern vmCvar_t ui_favoriteEmote15;
extern vmCvar_t ui_favoriteEmote16;
//TiM - Ban system
extern vmCvar_t sv_securityHash;
extern vmCvar_t sv_securityCode;
extern vmCvar_t ui_handleWidescreen;
#define GRAPHIC_SQUARE "menu/common/square.tga"
#define BUTTON_GRAPHIC_LONGRIGHT "menu/common/bar1.tga"
//
// 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
#define MAX_MENUITEMS 64
#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
#define QMF_BLINK 0x00000001
#define QMF_SMALLFONT 0x00000002
#define QMF_LEFT_JUSTIFY 0x00000004
#define QMF_CENTER_JUSTIFY 0x00000008
#define QMF_RIGHT_JUSTIFY 0x00000010
#define QMF_NUMBERSONLY 0x00000020 // edit field is only numbers
#define QMF_HIGHLIGHT 0x00000040
#define QMF_HIGHLIGHT_IF_FOCUS 0x00000080 // steady focus
#define QMF_PULSEIFFOCUS 0x00000100 // pulse if focus
#define QMF_HASMOUSEFOCUS 0x00000200
#define QMF_NOONOFFTEXT 0x00000400
#define QMF_MOUSEONLY 0x00000800 // only mouse input allowed
#define QMF_HIDDEN 0x00001000 // skips drawing
#define QMF_GRAYED 0x00002000 // grays and disables
#define QMF_INACTIVE 0x00004000 // disables any input
#define QMF_NODEFAULTINIT 0x00008000 // skip default initialization
#define QMF_OWNERDRAW 0x00010000
#define QMF_PULSE 0x00020000
#define QMF_LOWERCASE 0x00040000 // edit field is all lower case
#define QMF_UPPERCASE 0x00080000 // edit field is all upper case
#define QMF_SILENT 0x00100000
#define QMF_ALTERNATE 0x00200000 // use sqare buttion instead of round one
#define QMF_ALTERNATE2 0x00400000
// 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 nobackground;
qboolean initialized; // Have the structures for this menu been initialized?
int descX; // Description x pos
int descY; // Description y pos
int listX; // Beginning X position of list
int listY; // Beginning Y position of list
int titleX; // Title x pos
int titleY; // Title y pos
int titleI; // The title
int footNoteEnum; // Footnote text
void *displaySpinList; //if not NULL, display the list from this one (must be typecast as menulist_s when used)
qboolean noNewSelecting; //used when we want to stop other buttons getting selected. mainly for the spin list, and slider dragging
} 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 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;
int style;
int titleEnum; // Label
int titlecolor; // Normal color
int textcolor; // Normal color
int textcolor2; // Highlight color
} mfield_t;
typedef struct
{
menucommon_s generic;
mfield_t field;
} menufield_s;
typedef struct
{
menucommon_s generic;
float minvalue;
float maxvalue;
float curvalue;
float defvalue; //RPG-X: TiM | I'm going to make it if u click the button part, it'll reset to this default value
int focusWidth; // For graph
int focusHeight; // For graph
int color; // Normal color
int color2; // Highlight color
int shader; // Graph shader
int width; // Graph bitmap width
int height; // Graph bitmap height
char *thumbName; // Thumb file name
int thumbShader; // THumb shader
int thumbWidth; // Width of thumb graphic
int thumbHeight; // Height of thumb graphic
int thumbColor; // Normal color
int thumbColor2; // Highlight color
int thumbGraphicWidth; // Width of visible part of graphic
char *picName;
int picShader;
int picWidth;
int picHeight;
int picX;
int picY;
int textX;
int textY;
int textEnum; // Label on pic
int textcolor; // Normal color
int textcolor2; // Highlight color
float range;
qboolean mouseDown;
} menuslider_s;
typedef struct {
int left;
int right;
int up;
int down;
int xOffset; //offsets in case the calculated box will exceed the darn screen lol
int yOffset; //Stored here, so they may be applied to the text as well
} drawList_t;
#define MAX_LIST 30
typedef struct
{
menucommon_s generic;
int oldvalue;
int curvalue;
int numitems;
int top;
const char **itemnames;
int *listnames;
int *listshaders;
int width;
int height;
int columns;
int seperation;
int color; // Normal color
int color2; // Highlight color
int textEnum;
int textX;
int textY;
int textFlags;
int textcolor; // Normal color
int textcolor2; // Highlight color
byte updated; // 1 if changed
int focusWidth; //
int focusHeight; //
int listX;
int listY;
int listFlags;
int listcolor;
int maxChars; //TiM - max number of characters it can display
//TiM - draw list params
drawList_t drawList;
qboolean ignoreList; //maybe don't show the list :P
} menulist_s;
typedef struct
{
menucommon_s generic;
int color; // Normal color
int color2; // Highlight color
int color3; // Greyed color
int textEnum;
int textEnum2; // If there's a second line of text
int textX;
int textY;
int textcolor; // Normal color
int textcolor2; // Highlight color
int textcolor3; // Grayed color
int width;
int height;
byte updated; // 1 if changed
} 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 focusX;
int focusY;
int focusWidth;
int focusHeight;
int width;
int height;
float* focuscolor;
int color; // Normal color
int color2; // Highlight color
char *textPtr; // In case an enum doesn't work
int textEnum;
int textEnum2; // If there's a second line of text
int textX;
int textY;
int textcolor; // Normal color
int textcolor2; // Highlight color
int textStyle; // Style of text (UI_SMALLFONT)
} menubitmap_s;
typedef struct
{
menucommon_s generic;
char* string; // A normal string
int normaltextEnum; // Enum from normal menu text
int buttontextEnum; // Enum from button text
int normaltextEnum2; // Enum from normal menu text
int buttontextEnum2; // Enum from button text
int normaltextEnum3; // Enum from normal menu text
int buttontextEnum3; // Enum from button text
int style;
float *color; // Normal color
float *color2; // Highlight color
int focusX;
int focusY;
int focusWidth;
int focusHeight;
} menutext_s;
typedef struct
{
int type; // STRING or GRAPHIC
float timer; // When it changes
int x; // X position
int y; // Y positon
int width; // Graphic width
int height; // Graphic height
const char *file; // File name of graphic/ text if STRING
int normaltextEnum; // Text comes from Menu_Normal_text
qhandle_t graphic; // Handle of graphic if GRAPHIC
int min; //
int max;
int target; // Final value
int inc;
int style;
int color; // Normal color
void *pointer; // To an address
} menugraphics_s;
extern void Mouse_Hide(void);
extern void Mouse_Show(void);
extern void UI_HolomatchInMenu_Cache (void);
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 menu_rpgx_theme; //J2J
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;
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;
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,int cursor );
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 );
extern void UI_Setup_MenuButtons(void);
extern void UI_QuitMenu( void );
extern void UI_ChooseServerTypeMenu( void );
extern void UI_QuitMenu_Cache(void);
//
// ui_demo2.c
//
extern void UI_DemosMenu_Cache(void);
//
// ui_ingame.c
//
extern int ingameFlag; // true when ingame menu is in use
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 ) );
//
// 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 Controls_Cache( void );
extern void UI_ControlsMouseJoyStickMenu_Cache(void);
void SetupMenu_TopButtons(menuframework_s *menu,int menuType,menuaction_s *s_video_apply_action);
#define MENU_CONTROLS 1
#define MENU_VIDEO 2
#define MENU_SOUND 3
#define MENU_GAME 4
#define MENU_CDKEY 5
#define MENU_PLAYER 6
#define MENU_FONTS 7
#define MENU_DEFAULT 8
#define MENU_CONTROLS_WEAPON 9
#define MENU_CONTROLS_LOOK 10
#define MENU_CONTROLS_MOVEMENT 11
#define MENU_CONTROLS_COMMAND 12
#define MENU_CONTROLS_MODELVIEW 17 //RPG-X TiM
#define MENU_CONTROLS_MOUSE 13
#define MENU_CONTROLS_OTHER 14
#define MENU_NETWORK 15
#define MENU_VIDEODATA 16
//
// ui_motd.c
//
extern void UI_MotdMenu( void );
extern void UI_MotdMenu_Cache( void );
extern void MotdReceiveLine( const char *txt );
extern void MotdReset( void );
//
// ui_holodeck.c
//
extern void HoloDataReceived(const char *data);
//
// ui_admin.c
//
extern void UI_AdminMenu( qboolean fromConsole );
extern void UI_AdminMenu_Cache( void );
//
// ui_transporter.c
//
extern void UI_TransporterMenu(int trNum);
extern void TransDataReceived(const char *data);
//
// ui_login.c
//
/* TODO remove me ? */
extern void UI_LoginSetSqlkey(int key);
//
// ui_demo2.c
//
extern void UI_DemosMenu( void );
//
// ui_mods.c
//
extern void UI_ModsMenu( void );
extern void UI_ModsMenu_Cache( void );
//
// ui_credits.c
//
extern void UI_CreditsMenu( void );
extern void UI_CreditsMenu_Cache( void );
//
//ui_library.c
//
//extern void UI_LibraryMenu( void );
//extern void UI_LibraryMenu_Cache( void );
//extern void UI_AccessingMenu( void );
//extern void UI_AccessingMenu_Cache (void);
//
// ui_mods.c
//
extern void UI_ModsMenu( void );
extern void UI_ModsMenu_Cache( void );
// ui_emotes.c
extern void UI_EmotesMenu ( qboolean fromConsole );
extern void UI_PlayerEmotes_Cache( void );
//
// ui_cdkey.c
//
extern void UI_CDKeyMenu( void );
extern void UI_CDKeyMenu_Cache( void );
extern void UI_CDKeyMenu_f( void );
extern void UI_CDKeyMenu2( void );
//
// ui_playermodel.c
//
extern void UI_PlayerModelMenu(int menuFrom);
extern void PlayerModel_Cache( void );
//
// ui_playersettings.c
//
extern void UI_PlayerSettingsMenu(int menuFrom);
extern void PlayerSettings_Cache( void );
#define PS_MENU_CONTROLS 0
#define PS_MENU_SINGLEPLAYER 1
#define PS_MENU_SERVER 2
//
// ui_preferences.c
//
//extern void UI_PreferencesMenu( void );
//extern void Preferences_Cache( void );
extern void UI_GameOptionsMenu( void );
extern void UI_GameOptionsMenu_Cache(void);
extern int s_textlanguage_Names[];
extern int s_voicelanguage_Names[];
//
// ui_specifyserver.c
//
extern void UI_SpecifyServerMenu( void );
extern void SpecifyServer_Cache( void );
//
// ui_servers2.c
//
#define MAX_FAVORITESERVERS 32
extern void UI_ArenaServersMenu( void );
extern void ArenaServers_Cache( void );
extern void UI_ChooseServerTypeMenu_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_turbolift.c
extern void UI_TurboliftMenu ( int liftNum );
extern void UI_TurboliftMenu_Cache (void);
//
// ui_video.c
//
//extern void GraphicsOptions_Cache( void );
extern void DriverInfo_Cache( void );
extern void UI_VideoDataMenu( void );
extern void UI_VideoDataMenu_Cache(void);
extern void UI_VideoData2Menu_Cache(void);
extern void UI_VideoDriverMenu_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;
//TiM : Model system relevent parameters
#define MAX_BOLTONS 10
#define MAX_TALK_SKINS 4
typedef enum {
BOLTON_HEAD = 0,
BOLTON_TORSO,
BOLTON_LEGS,
BOLTON_MAX
} boltonLoc_t;
//min and max value for any timed events
typedef struct {
int nextTime;
int minSeconds;
int maxSeconds;
} charSecs_t;
//bolton info
typedef struct {
int modelBase;
char tagName[MAX_QPATH];
qhandle_t tagModel;
} boltonTags_t;
typedef struct {
// model info
char modelName[MAX_QPATH];
gender_t gender;
float height;
float weight;
qhandle_t legsModel;
qhandle_t legsSkin;
lerpFrame_t legs;
qhandle_t torsoModel;
qhandle_t torsoSkin;
lerpFrame_t torso;
qhandle_t headModel;
qhandle_t headSkin;
//TiM : model system data
qhandle_t headSkinBlink;
qhandle_t headSkinTalk[MAX_TALK_SKINS];
boltonTags_t boltonTags[MAX_BOLTONS];
qboolean hasRanks;
charSecs_t headBlinkTime;
int nextTalkTime;
qhandle_t currentTalkSkin;
qboolean upperEmoting;
qboolean lowerEmoting; //set to qtrue when performing a non-loop emote.
//so as to let the code know to cancel it when the timer ends
char race[256];
animation_t animations[MAX_ANIMATIONS];
qhandle_t weaponModel;
qhandle_t barrelModel;
qhandle_t flashModel;
vec3_t flashDlightColor;
int muzzleFlashTime;
// 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;
//TiM - Just to give this thing a little spice. :)
qboolean randomEmote; //if qtrue, player will play STAND1_* random gestures every minute or so
int nextEmoteTime;
int upperLoopEmote; //Model just finished emoting, so put them into the new loop animation
int lowerLoopEmote;
int realWeapon;
} playerInfo_t;
void UI_DrawPlayer( float x, float y, float w, float h, vec3_t pOrigin, playerInfo_t *pi, int time ); //RPG-X : TiM- origin
void UI_PlayerInfo_SetModel( playerInfo_t *pi, const char *model );
void UI_PlayerInfo_SetInfo( playerInfo_t *pi, int legsAnim, int torsoAnim, vec3_t viewAngles, vec3_t moveAngles, weapon_t weaponNum, float height, float weight, qboolean chat );
qboolean UI_RegisterClientModelname( playerInfo_t *pi, const char *modelSkinName );
//
// ui_atoms.c
//
void UI_LanguageFilename(char *baseName,char *baseExtension,char *finalName);
//typedef char string[128];
typedef struct {
int frametime;
int realtime;
//RPG-X : TiM
int cursorpx;
qboolean spinView;
int lastYaw;
qboolean playCinematic;
//Ranks Data
rankSets_t rankSet; //Main Storage for all the current rankset data
int currentRank;
// /RPG-X
//RPG-X Class Data
classData_t classData[MAX_CLASSES];
char classList[MAX_CLASSSETS][MAX_NAMELENGTH];
char classSetName[36];
int cursorx;
int cursory;
int menusp;
menuframework_s* activemenu;
menuframework_s* stack[MAX_MENUDEPTH];
glconfig_t glconfig;
qboolean debug;
qhandle_t whiteShader;
qhandle_t menuBackShader;
qhandle_t charset;
qhandle_t charsetPropTiny;
qhandle_t charsetPropBig;
qhandle_t charsetProp;
// qhandle_t charsetPropGlow;
qboolean cursorDraw;
qhandle_t charsetPropB;
qhandle_t cursor;
qhandle_t rb_on;
qhandle_t rb_off;
float scalex;
float scaley;
// float bias;
qboolean demoversion;
qboolean firstdraw;
//widescreen data
widescreen_t widescreen;
// Common Menu Graphics
qhandle_t smallNumbers[10];
qhandle_t graphicButtonLeftEnd; // Rounded left button end
qhandle_t graphicCircle; // Solid circle
qhandle_t graphicBracket1CornerLU; // Thin Left side upper corner
qhandle_t corner_12_18;
qhandle_t halfroundr_22;
qhandle_t graphicButtonLeft;
sfxHandle_t menu_choice1_snd;
sfxHandle_t menu_datadisp1_snd;
sfxHandle_t menu_datadisp2_snd;
sfxHandle_t menu_datadisp3_snd;
} uiStatic_t;
extern void UI_LoadMenuText(void);
extern void UI_LoadButtonText(void);
extern void UI_InitSpinControl(menulist_s *spincontrol);
extern void UI_Init( void );
extern void UI_Shutdown( void );
extern void UI_KeyEvent( int key );
extern void UI_MouseEvent( int dx, int dy );
extern void UI_Refresh( int realtime );
extern qboolean UI_ConsoleCommand( void );
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_DrawHandleStretchPic( float x, float y, float w, float h, float s0, float t0, float s1, float t1, 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_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 int UI_ProportionalStringWidth( const char* str,int style );
extern void UI_DrawString( int x, int y, const char* str, int style, vec4_t color, qboolean highRes );
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_KeyEvent( int key );
//extern int UI_RandomNumbers(int max);
extern void UI_PrecacheMenuGraphics(menugraphics_s *menuGraphics,int maxI);
extern void UI_MenuFrame(menuframework_s *menu);
extern void UI_MenuFrame2(menuframework_s *menu);
extern int UI_PopulateRanksArray( char* ranks[] ); //RPG-X: TiM
extern int UI_PopulateRankSetArray( char *rankSets[] );
extern void UI_InitRanksData( char* ranksName );
extern int UI_LoadClassString( void );
extern int UI_PopulateClassSetArray( char *classSets[] );
extern int UI_PopulateClassArray( char *classes[] );
extern int UI_InitClassData( char* fileName );
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 );
extern void UI_ResetGameMenu_Cache(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 );
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 );
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 );
void 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 );
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_GetLocalServerCount( void );
void trap_LAN_GetLocalServerAddressString( int n, char *buf, int buflen );
int trap_LAN_GetGlobalServerCount( void );
void trap_LAN_GetGlobalServerAddressString( int n, char *buf, int buflen );
int trap_LAN_GetPingQueueCount( void );
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 );
qboolean trap_SetCDKey( char *buf );
void trap_R_ModelBounds( clipHandle_t model, vec3_t mins, vec3_t maxs );
//
// 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( int fromMenu );
extern void UI_TeamOrdersMenu_f( void );
extern void UI_TeamOrdersMenu_Cache( 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 );
extern float setup_menubuttons[8][2];
void UI_SoundMenu( void);
void UI_SoundMenu_Cache(void);
//
// ui_fonts.c
//
void UI_FontsMenu( void);
//
// ui_cvars.c
//
extern void GammaCallback( void *s, int notification );
extern void ScreensizeCallback( void *s, int notification );
//
// ui_network.c
//
void UI_NetworkOptionsMenu_Cache( void );
void UI_NetworkOptionsMenu( void );
//
// ui_gameinfo.c
//
typedef enum {
AWARD_EFFICIENCY, // Accuracy
AWARD_SHARPSHOOTER, // Most compression rifle frags
AWARD_UNTOUCHABLE, // Perfect (no deaths)
AWARD_LOGISTICS, // Most pickups
AWARD_TACTICIAN, // Kills with all weapons
AWARD_DEMOLITIONIST, // Most explosive damage kills
AWARD_STREAK, // Ace/Expert/Master/Champion
AWARD_TEAM, // MVP/Defender/Warrior/Carrier/Interceptor/Bravery
AWARD_SECTION31, // All-around god
AWARD_MAX
} 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 );
void UI_ServerAdvancedOptions(int fromMenu);
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( int curLevel );
void UI_NewGame( void );
void UI_LogAwardData( int award, int data );
int UI_GetAwardLevel( int award );
void UI_InitGameinfo( void );
void UI_MenuBottomLineEnd_Graphics (const char *string,int color, qboolean *space );
void UI_PrintMenuGraphics(menugraphics_s *menuGraphics,int maxI);
//
// ui_cvars.c
//
extern void InvertMouseCallback(void *s, int notification);
extern void MouseSpeedCallback( void *s, int notification );
extern void SmoothMouseCallback( void *s, int notification );
extern void AnisotropicFilteringCallback( void *s, int notification );
extern void JoyXButtonCallback( void *s, int notification );
extern void JoyYButtonCallback( void *s, int notification );
//
// ui_admin.c -- additional
//
typedef struct {
int id;
char name[36];
} clientData_t;
//Generic data, used in more than one menu
typedef struct {
char locList[MAX_LOCATIONS][32];
char *locListPtr[MAX_LOCATIONS+1]; //ghey....
int numLocs;
clientData_t charList[MAX_CLIENTS];
char *charListPtr[MAX_CLIENTS+1]; //really ghey
int numChars;
char* giveItems[25];
} adminGeneric_t;
#endif