Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

ui_loadconfig.c File Reference

#include "ui_local.h"

Include dependency graph for ui_loadconfig.c:

Include dependency graph

Go to the source code of this file.

Data Structures

struct  configs_t

Defines

#define ARROWS_HEIGHT   48
#define ARROWS_WIDTH   128
#define ART_ARROWLEFT   "menu/art/arrows_horz_left"
#define ART_ARROWRIGHT   "menu/art/arrows_horz_right"
#define ART_ARROWS   "menu/art/arrows_horz_0"
#define ART_BACK0   "menu/art/back_0"
#define ART_BACK1   "menu/art/back_1"
#define ART_FIGHT0   "menu/art/load_0"
#define ART_FIGHT1   "menu/art/load_1"
#define ART_FRAMEL   "menu/art/frame2_l"
#define ART_FRAMER   "menu/art/frame1_r"
#define ID_BACK   10
#define ID_GO   11
#define ID_LEFT   13
#define ID_LIST   12
#define ID_RIGHT   14
#define MAX_CONFIGS   128
#define NAMEBUFSIZE   ( MAX_CONFIGS * 16 )

Functions

void LoadConfig_MenuEvent (void *ptr, int event)
void LoadConfig_MenuInit (void)
void UI_LoadConfig_Cache (void)
void UI_LoadConfigMenu (void)

Variables

configs_t s_configs


Define Documentation

#define ARROWS_HEIGHT   48
 

Definition at line 54 of file ui_loadconfig.c.

#define ARROWS_WIDTH   128
 

Definition at line 53 of file ui_loadconfig.c.

#define ART_ARROWLEFT   "menu/art/arrows_horz_left"
 

Definition at line 41 of file ui_loadconfig.c.

#define ART_ARROWRIGHT   "menu/art/arrows_horz_right"
 

Definition at line 42 of file ui_loadconfig.c.

#define ART_ARROWS   "menu/art/arrows_horz_0"
 

Definition at line 40 of file ui_loadconfig.c.

#define ART_BACK0   "menu/art/back_0"
 

Definition at line 34 of file ui_loadconfig.c.

#define ART_BACK1   "menu/art/back_1"
 

Definition at line 35 of file ui_loadconfig.c.

#define ART_FIGHT0   "menu/art/load_0"
 

Definition at line 36 of file ui_loadconfig.c.

#define ART_FIGHT1   "menu/art/load_1"
 

Definition at line 37 of file ui_loadconfig.c.

#define ART_FRAMEL   "menu/art/frame2_l"
 

Definition at line 38 of file ui_loadconfig.c.

#define ART_FRAMER   "menu/art/frame1_r"
 

Definition at line 39 of file ui_loadconfig.c.

#define ID_BACK   10
 

Definition at line 47 of file ui_loadconfig.c.

#define ID_GO   11
 

Definition at line 48 of file ui_loadconfig.c.

#define ID_LEFT   13
 

Definition at line 50 of file ui_loadconfig.c.

#define ID_LIST   12
 

Definition at line 49 of file ui_loadconfig.c.

#define ID_RIGHT   14
 

Definition at line 51 of file ui_loadconfig.c.

#define MAX_CONFIGS   128
 

Definition at line 44 of file ui_loadconfig.c.

#define NAMEBUFSIZE   ( MAX_CONFIGS * 16 )
 

Definition at line 45 of file ui_loadconfig.c.


Function Documentation

void LoadConfig_MenuEvent void *  ptr,
int  event
[static]
 

Definition at line 84 of file ui_loadconfig.c.

References menulist_s::curvalue, EXEC_APPEND, ID_BACK, ID_GO, ID_LEFT, ID_RIGHT, menulist_s::itemnames, K_LEFTARROW, K_RIGHTARROW, configs_t::list, s_configs, ScrollList_Key(), trap_Cmd_ExecuteText(), UI_PopMenu(), and va().

00084                                                          {
00085     if( event != QM_ACTIVATED ) {
00086         return;
00087     }
00088 
00089     switch ( ((menucommon_s*)ptr)->id ) {
00090     case ID_GO:
00091         trap_Cmd_ExecuteText( EXEC_APPEND, va( "exec %s\n", s_configs.list.itemnames[s_configs.list.curvalue] ) );
00092         UI_PopMenu();
00093         break;
00094 
00095     case ID_BACK:
00096         UI_PopMenu();
00097         break;
00098 
00099     case ID_LEFT:
00100         ScrollList_Key( &s_configs.list, K_LEFTARROW );
00101         break;
00102 
00103     case ID_RIGHT:
00104         ScrollList_Key( &s_configs.list, K_RIGHTARROW );
00105         break;
00106     }
00107 }

Here is the call graph for this function:

void LoadConfig_MenuInit void   )  [static]
 

Definition at line 115 of file ui_loadconfig.c.

References configs_t::arrows, ARROWS_WIDTH, configs_t::back, configs_t::banner, menucommon_s::callback, menutext_s::color, menulist_s::columns, configs_t::configlist, menucommon_s::flags, menubitmap_s::focuspic, configs_t::framel, configs_t::framer, _tag_menuframework::fullscreen, menulist_s::generic, menubitmap_s::generic, menutext_s::generic, configs_t::go, menulist_s::height, menubitmap_s::height, i, menucommon_s::id, menulist_s::itemnames, configs_t::left, configs_t::list, memset(), configs_t::menu, Menu_AddItem(), menucommon_s::name, NAMEBUFSIZE, configs_t::names, menulist_s::numitems, Q_stricmp(), Q_strupr(), QMF_INACTIVE, QMF_LEFT_JUSTIFY, QMF_PULSEIFFOCUS, QMF_RIGHT_JUSTIFY, configs_t::right, s_configs, strcpy(), menutext_s::string, strlen(), menutext_s::style, trap_FS_GetFileList(), menucommon_s::type, UI_LoadConfig_Cache(), menulist_s::width, menubitmap_s::width, _tag_menuframework::wrapAround, menucommon_s::x, and menucommon_s::y.

Referenced by UI_LoadConfigMenu().

00115                                         {
00116     int     i;
00117     int     len;
00118     char    *configname;
00119 
00120     UI_LoadConfig_Cache();
00121 
00122     memset( &s_configs, 0 ,sizeof(configs_t) );
00123     s_configs.menu.wrapAround = qtrue;
00124     s_configs.menu.fullscreen = qtrue;
00125 
00126     s_configs.banner.generic.type   = MTYPE_BTEXT;
00127     s_configs.banner.generic.x      = 320;
00128     s_configs.banner.generic.y      = 16;
00129     s_configs.banner.string         = "LOAD CONFIG";
00130     s_configs.banner.color          = color_white;
00131     s_configs.banner.style          = UI_CENTER;
00132 
00133     s_configs.framel.generic.type   = MTYPE_BITMAP;
00134     s_configs.framel.generic.name   = ART_FRAMEL;
00135     s_configs.framel.generic.flags  = QMF_INACTIVE;
00136     s_configs.framel.generic.x      = 0;  
00137     s_configs.framel.generic.y      = 78;
00138     s_configs.framel.width          = 256;
00139     s_configs.framel.height         = 329;
00140 
00141     s_configs.framer.generic.type   = MTYPE_BITMAP;
00142     s_configs.framer.generic.name   = ART_FRAMER;
00143     s_configs.framer.generic.flags  = QMF_INACTIVE;
00144     s_configs.framer.generic.x      = 376;
00145     s_configs.framer.generic.y      = 76;
00146     s_configs.framer.width          = 256;
00147     s_configs.framer.height         = 334;
00148 
00149     s_configs.arrows.generic.type   = MTYPE_BITMAP;
00150     s_configs.arrows.generic.name   = ART_ARROWS;
00151     s_configs.arrows.generic.flags  = QMF_INACTIVE;
00152     s_configs.arrows.generic.x      = 320-ARROWS_WIDTH/2;
00153     s_configs.arrows.generic.y      = 400;
00154     s_configs.arrows.width          = ARROWS_WIDTH;
00155     s_configs.arrows.height         = ARROWS_HEIGHT;
00156 
00157     s_configs.left.generic.type     = MTYPE_BITMAP;
00158     s_configs.left.generic.flags    = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS|QMF_MOUSEONLY;
00159     s_configs.left.generic.x        = 320-ARROWS_WIDTH/2;
00160     s_configs.left.generic.y        = 400;
00161     s_configs.left.generic.id       = ID_LEFT;
00162     s_configs.left.generic.callback = LoadConfig_MenuEvent;
00163     s_configs.left.width            = ARROWS_WIDTH/2;
00164     s_configs.left.height           = ARROWS_HEIGHT;
00165     s_configs.left.focuspic         = ART_ARROWLEFT;
00166 
00167     s_configs.right.generic.type    = MTYPE_BITMAP;
00168     s_configs.right.generic.flags   = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS|QMF_MOUSEONLY;
00169     s_configs.right.generic.x       = 320;
00170     s_configs.right.generic.y       = 400;
00171     s_configs.right.generic.id      = ID_RIGHT;
00172     s_configs.right.generic.callback = LoadConfig_MenuEvent;
00173     s_configs.right.width           = ARROWS_WIDTH/2;
00174     s_configs.right.height          = ARROWS_HEIGHT;
00175     s_configs.right.focuspic        = ART_ARROWRIGHT;
00176 
00177     s_configs.back.generic.type     = MTYPE_BITMAP;
00178     s_configs.back.generic.name     = ART_BACK0;
00179     s_configs.back.generic.flags    = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
00180     s_configs.back.generic.id       = ID_BACK;
00181     s_configs.back.generic.callback = LoadConfig_MenuEvent;
00182     s_configs.back.generic.x        = 0;
00183     s_configs.back.generic.y        = 480-64;
00184     s_configs.back.width            = 128;
00185     s_configs.back.height           = 64;
00186     s_configs.back.focuspic         = ART_BACK1;
00187 
00188     s_configs.go.generic.type       = MTYPE_BITMAP;
00189     s_configs.go.generic.name       = ART_FIGHT0;
00190     s_configs.go.generic.flags      = QMF_RIGHT_JUSTIFY|QMF_PULSEIFFOCUS;
00191     s_configs.go.generic.id         = ID_GO;
00192     s_configs.go.generic.callback   = LoadConfig_MenuEvent;
00193     s_configs.go.generic.x          = 640;
00194     s_configs.go.generic.y          = 480-64;
00195     s_configs.go.width              = 128;
00196     s_configs.go.height             = 64;
00197     s_configs.go.focuspic           = ART_FIGHT1;
00198 
00199     // scan for configs
00200     s_configs.list.generic.type     = MTYPE_SCROLLLIST;
00201     s_configs.list.generic.flags    = QMF_PULSEIFFOCUS;
00202     s_configs.list.generic.callback = LoadConfig_MenuEvent;
00203     s_configs.list.generic.id       = ID_LIST;
00204     s_configs.list.generic.x        = 118;
00205     s_configs.list.generic.y        = 130;
00206     s_configs.list.width            = 16;
00207     s_configs.list.height           = 14;
00208     s_configs.list.numitems         = trap_FS_GetFileList( "", "cfg", s_configs.names, NAMEBUFSIZE );
00209     s_configs.list.itemnames        = (const char **)s_configs.configlist;
00210     s_configs.list.columns          = 3;
00211 
00212     if (!s_configs.list.numitems) {
00213         strcpy(s_configs.names,"No Files Found.");
00214         s_configs.list.numitems = 1;
00215 
00216         //degenerate case, not selectable
00217         s_configs.go.generic.flags |= (QMF_INACTIVE|QMF_HIDDEN);
00218     }
00219     else if (s_configs.list.numitems > MAX_CONFIGS)
00220         s_configs.list.numitems = MAX_CONFIGS;
00221     
00222     configname = s_configs.names;
00223     for ( i = 0; i < s_configs.list.numitems; i++ ) {
00224         s_configs.list.itemnames[i] = configname;
00225         
00226         // strip extension
00227         len = strlen( configname );
00228         if (!Q_stricmp(configname +  len - 4,".cfg"))
00229             configname[len-4] = '\0';
00230 
00231         Q_strupr(configname);
00232 
00233         configname += len + 1;
00234     }
00235 
00236     Menu_AddItem( &s_configs.menu, &s_configs.banner );
00237     Menu_AddItem( &s_configs.menu, &s_configs.framel );
00238     Menu_AddItem( &s_configs.menu, &s_configs.framer );
00239     Menu_AddItem( &s_configs.menu, &s_configs.list );
00240     Menu_AddItem( &s_configs.menu, &s_configs.arrows );
00241     Menu_AddItem( &s_configs.menu, &s_configs.left );
00242     Menu_AddItem( &s_configs.menu, &s_configs.right );
00243     Menu_AddItem( &s_configs.menu, &s_configs.back );
00244     Menu_AddItem( &s_configs.menu, &s_configs.go );
00245 }

Here is the call graph for this function:

void UI_LoadConfig_Cache void   ) 
 

Definition at line 252 of file ui_loadconfig.c.

References ART_ARROWLEFT, ART_ARROWRIGHT, ART_ARROWS, ART_BACK0, ART_BACK1, ART_FIGHT0, ART_FIGHT1, ART_FRAMEL, ART_FRAMER, and trap_R_RegisterShaderNoMip().

Referenced by LoadConfig_MenuInit().

00252                                  {
00253     trap_R_RegisterShaderNoMip( ART_BACK0 );
00254     trap_R_RegisterShaderNoMip( ART_BACK1 );
00255     trap_R_RegisterShaderNoMip( ART_FIGHT0 );
00256     trap_R_RegisterShaderNoMip( ART_FIGHT1 );
00257     trap_R_RegisterShaderNoMip( ART_FRAMEL );
00258     trap_R_RegisterShaderNoMip( ART_FRAMER );
00259     trap_R_RegisterShaderNoMip( ART_ARROWS );
00260     trap_R_RegisterShaderNoMip( ART_ARROWLEFT );
00261     trap_R_RegisterShaderNoMip( ART_ARROWRIGHT );
00262 }

Here is the call graph for this function:

void UI_LoadConfigMenu void   ) 
 

Definition at line 270 of file ui_loadconfig.c.

References LoadConfig_MenuInit(), configs_t::menu, s_configs, and UI_PushMenu().

00270                                {
00271     LoadConfig_MenuInit();
00272     UI_PushMenu( &s_configs.menu );
00273 }

Here is the call graph for this function:


Variable Documentation

configs_t s_configs [static]
 

Definition at line 76 of file ui_loadconfig.c.

Referenced by LoadConfig_MenuEvent(), LoadConfig_MenuInit(), and UI_LoadConfigMenu().


Generated on Thu Aug 25 14:28:50 2005 for Quake III Arena by  doxygen 1.3.9.1