Menu: Added fallback mode for missing btns_main.bmp and header_*.bmp files,
also support for basic Quake III Arena player model selection if you happen to play with that (like Xylemon will!)
This commit is contained in:
parent
53ed1962eb
commit
dd741c1c39
26 changed files with 262 additions and 120 deletions
Binary file not shown.
Before Width: | Height: | Size: 821 KiB |
|
@ -91,6 +91,6 @@ seta "com_nogamedirnativecode" "0"
|
|||
seta "con_logcenterprint" "0"
|
||||
seta "con_notifylines" "0"
|
||||
seta "lang" "en_us"
|
||||
seta "r_imageexensions" "tga bmp pcx png jpg"
|
||||
seta "r_imageextensions" "tga bmp pcx png jpg"
|
||||
seta "scr_sshot_type" "tga"
|
||||
seta "media_repeat "0"
|
||||
|
|
|
@ -15,82 +15,82 @@
|
|||
*/
|
||||
|
||||
string g_bmp[76] = {
|
||||
"gfx/shell/btns_main.bmp",
|
||||
"gfx/shell/cb_checked.bmp",
|
||||
"gfx/shell/cb_disabled.bmp",
|
||||
"gfx/shell/cb_down.bmp",
|
||||
"gfx/shell/cb_empty.bmp",
|
||||
"gfx/shell/cb_over.bmp",
|
||||
"gfx/shell/cls_d.bmp",
|
||||
"gfx/shell/cls_f.bmp",
|
||||
"gfx/shell/cls_n.bmp",
|
||||
"gfx/shell/dedicate.bmp",
|
||||
"gfx/shell/divider.bmp",
|
||||
"gfx/shell/dnarrowd.bmp",
|
||||
"gfx/shell/dnarrowf.bmp",
|
||||
"gfx/shell/dnarrowp.bmp",
|
||||
"gfx/shell/down.bmp",
|
||||
"gfx/shell/favorite.bmp",
|
||||
"gfx/shell/gamma.bmp",
|
||||
"gfx/shell/head_advanced.bmp",
|
||||
"gfx/shell/head_advoptions.bmp",
|
||||
"gfx/shell/head_audio.bmp",
|
||||
"gfx/shell/head_config.bmp",
|
||||
"gfx/shell/head_controls.bmp",
|
||||
"gfx/shell/head_creategame.bmp",
|
||||
"gfx/shell/head_createroom.bmp",
|
||||
"gfx/shell/head_custom.bmp",
|
||||
"gfx/shell/head_customize.bmp",
|
||||
"gfx/shell/head_filter.bmp",
|
||||
"gfx/shell/head_gameopts.bmp",
|
||||
"gfx/shell/head_gore.bmp",
|
||||
"gfx/shell/head_inetgames.bmp",
|
||||
"gfx/shell/head_keyboard.bmp",
|
||||
"gfx/shell/head_lan.bmp",
|
||||
"gfx/shell/head_load.bmp",
|
||||
"gfx/shell/head_multi.bmp",
|
||||
"gfx/shell/head_newgame.bmp",
|
||||
"gfx/shell/head_readme.bmp",
|
||||
"gfx/shell/head_room.bmp",
|
||||
"gfx/shell/head_rooms.bmp",
|
||||
"gfx/shell/head_save.bmp",
|
||||
"gfx/shell/head_saveload.bmp",
|
||||
"gfx/shell/head_single.bmp",
|
||||
"gfx/shell/head_specgames.bmp",
|
||||
"gfx/shell/head_video.bmp",
|
||||
"gfx/shell/head_vidmodes.bmp",
|
||||
"gfx/shell/head_vidoptions.bmp",
|
||||
"gfx/shell/larrowdefault.bmp",
|
||||
"gfx/shell/larrowflyover.bmp",
|
||||
"gfx/shell/larrowpressed.bmp",
|
||||
"gfx/shell/linux.bmp",
|
||||
"gfx/shell/listen.bmp",
|
||||
"gfx/shell/lock.bmp",
|
||||
"gfx/shell/min_d.bmp",
|
||||
"gfx/shell/min_f.bmp",
|
||||
"gfx/shell/min_n.bmp",
|
||||
"gfx/shell/nonfav.bmp",
|
||||
"gfx/shell/notsecure.bmp",
|
||||
"gfx/shell/pcg.bmp",
|
||||
"gfx/shell/proxy.bmp",
|
||||
"gfx/shell/rarrowdefault.bmp",
|
||||
"gfx/shell/rarrowflyover.bmp",
|
||||
"gfx/shell/rarrowpressed.bmp",
|
||||
"gfx/shell/scrn.bmp",
|
||||
"gfx/shell/secure.bmp",
|
||||
"gfx/shell/slider.bmp",
|
||||
"gfx/shell/sm_dnarf.bmp",
|
||||
"gfx/shell/sm_dnarw.bmp",
|
||||
"gfx/shell/splash8bit.bmp",
|
||||
"gfx/shell/splash.bmp",
|
||||
"gfx/shell/thumb.bmp",
|
||||
"gfx/shell/unlock.bmp",
|
||||
"gfx/shell/uparrowd.bmp",
|
||||
"gfx/shell/uparrowf.bmp",
|
||||
"gfx/shell/uparrowp.bmp",
|
||||
"gfx/shell/up.bmp",
|
||||
"gfx/shell/windows.bmp",
|
||||
"gfx/shell/won_logo.bmp"
|
||||
"gfx/shell/btns_main",
|
||||
"gfx/shell/cb_checked",
|
||||
"gfx/shell/cb_disabled",
|
||||
"gfx/shell/cb_down",
|
||||
"gfx/shell/cb_empty",
|
||||
"gfx/shell/cb_over",
|
||||
"gfx/shell/cls_d",
|
||||
"gfx/shell/cls_f",
|
||||
"gfx/shell/cls_n",
|
||||
"gfx/shell/dedicate",
|
||||
"gfx/shell/divider",
|
||||
"gfx/shell/dnarrowd",
|
||||
"gfx/shell/dnarrowf",
|
||||
"gfx/shell/dnarrowp",
|
||||
"gfx/shell/down",
|
||||
"gfx/shell/favorite",
|
||||
"gfx/shell/gamma",
|
||||
"gfx/shell/head_advanced",
|
||||
"gfx/shell/head_advoptions",
|
||||
"gfx/shell/head_audio",
|
||||
"gfx/shell/head_config",
|
||||
"gfx/shell/head_controls",
|
||||
"gfx/shell/head_creategame",
|
||||
"gfx/shell/head_createroom",
|
||||
"gfx/shell/head_custom",
|
||||
"gfx/shell/head_customize",
|
||||
"gfx/shell/head_filter",
|
||||
"gfx/shell/head_gameopts",
|
||||
"gfx/shell/head_gore",
|
||||
"gfx/shell/head_inetgames",
|
||||
"gfx/shell/head_keyboard",
|
||||
"gfx/shell/head_lan",
|
||||
"gfx/shell/head_load",
|
||||
"gfx/shell/head_multi",
|
||||
"gfx/shell/head_newgame",
|
||||
"gfx/shell/head_readme",
|
||||
"gfx/shell/head_room",
|
||||
"gfx/shell/head_rooms",
|
||||
"gfx/shell/head_save",
|
||||
"gfx/shell/head_saveload",
|
||||
"gfx/shell/head_single",
|
||||
"gfx/shell/head_specgames",
|
||||
"gfx/shell/head_video",
|
||||
"gfx/shell/head_vidmodes",
|
||||
"gfx/shell/head_vidoptions",
|
||||
"gfx/shell/larrowdefault",
|
||||
"gfx/shell/larrowflyover",
|
||||
"gfx/shell/larrowpressed",
|
||||
"gfx/shell/linux",
|
||||
"gfx/shell/listen",
|
||||
"gfx/shell/lock",
|
||||
"gfx/shell/min_d",
|
||||
"gfx/shell/min_f",
|
||||
"gfx/shell/min_n",
|
||||
"gfx/shell/nonfav",
|
||||
"gfx/shell/notsecure",
|
||||
"gfx/shell/pcg",
|
||||
"gfx/shell/proxy",
|
||||
"gfx/shell/rarrowdefault",
|
||||
"gfx/shell/rarrowflyover",
|
||||
"gfx/shell/rarrowpressed",
|
||||
"gfx/shell/scrn",
|
||||
"gfx/shell/secure",
|
||||
"gfx/shell/slider",
|
||||
"gfx/shell/sm_dnarf",
|
||||
"gfx/shell/sm_dnarw",
|
||||
"gfx/shell/splash8bit",
|
||||
"gfx/shell/splash",
|
||||
"gfx/shell/thumb",
|
||||
"gfx/shell/unlock",
|
||||
"gfx/shell/uparrowd",
|
||||
"gfx/shell/uparrowf",
|
||||
"gfx/shell/uparrowp",
|
||||
"gfx/shell/up",
|
||||
"gfx/shell/windows",
|
||||
"gfx/shell/won_logo"
|
||||
};
|
||||
|
||||
enum
|
||||
|
|
|
@ -201,11 +201,7 @@ void
|
|||
menu_advancedcontrols_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_advcontrols);
|
||||
drawpic([g_menuofs[0]+45, g_menuofs[1]+45],
|
||||
g_bmp[HEAD_ADVANCED],
|
||||
[460,80],
|
||||
[1,1,1],
|
||||
1.0f, 1);
|
||||
Header_Draw(HEAD_ADVANCED);
|
||||
|
||||
/* now come the checkbox / slider labels */
|
||||
WLabel_Static(80, 148,
|
||||
|
|
|
@ -69,7 +69,7 @@ void
|
|||
menu_advancedcustomize_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_advcustomize);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_ADVOPTIONS],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_ADVOPTIONS);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -144,7 +144,7 @@ void
|
|||
menu_audio_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_audio);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_AUDIO],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_AUDIO);
|
||||
|
||||
WLabel_Static(206, 143, m_reslbl[IDS_AUDIO_VOLUME], 14, 14, [1,1,1],
|
||||
1.0f, 0, font_label_b);
|
||||
|
|
|
@ -132,7 +132,7 @@ void
|
|||
menu_chatroomslist_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_chatroomslist);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_ROOMS],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_ROOMS);
|
||||
drawpic([g_menuofs[0]+550,g_menuofs[1]+10], "gfx/shell/fragnet",[80,80], [1,1,1], 1.0f, 0);
|
||||
|
||||
if (crl_iLoading) {
|
||||
|
|
|
@ -152,7 +152,7 @@ void
|
|||
menu_configuration_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_configuration);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_CONFIG],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_CONFIG);
|
||||
|
||||
WLabel_Static(215, 148, m_reslbl[IDS_CFG_CONTROLHELP], 10, 10, col_help,
|
||||
1.0f, 0, font_label);
|
||||
|
|
|
@ -110,7 +110,7 @@ void
|
|||
menu_contentcontrol_draw(void)
|
||||
{
|
||||
Widget_Draw(cc_gore);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_GORE],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_GORE);
|
||||
|
||||
WField_Static(208, 140, g_cc_descr, 256, 64, col_help,
|
||||
1.0f, 1, font_label);
|
||||
|
|
|
@ -271,7 +271,7 @@ menu_controls_draw(void)
|
|||
{
|
||||
|
||||
Widget_Draw(fn_controls);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_CONTROLS],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_CONTROLS);
|
||||
|
||||
WField_Static(50,236+32, m_reslbl[IDS_CONTROLS_KEYHELP], 169, 64, col_help,
|
||||
1.0f, 1, font_label);
|
||||
|
|
|
@ -195,7 +195,7 @@ menu_creategame_init(void)
|
|||
void
|
||||
menu_creategame_draw(void)
|
||||
{
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_CREATEGAME],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_CREATEGAME);
|
||||
|
||||
WLabel_Static(216, 143, m_reslbl[IDS_CREATESERVER_NAME], 14, 14, [1,1,1],
|
||||
1.0f, 0, font_arial);
|
||||
|
|
|
@ -90,7 +90,7 @@ menu_creategameinet_init(void)
|
|||
void
|
||||
menu_creategameinet_draw(void)
|
||||
{
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_CREATEGAME],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_CREATEGAME);
|
||||
drawpic([g_menuofs[0]+550,g_menuofs[1]+10], "gfx/shell/fragnet",[80,80], [1,1,1], 1.0f, 0);
|
||||
|
||||
WLabel_Static(216, 143, m_reslbl[IDS_CREATESERVER_NAME], 14, 14, [1,1,1],
|
||||
|
|
|
@ -497,7 +497,7 @@ menu_customgame_init(void)
|
|||
void
|
||||
menu_customgame_draw(void)
|
||||
{
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_CUSTOM],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_CUSTOM);
|
||||
Widget_Draw(fn_customgame);
|
||||
|
||||
WLabel_Static(155, 143, m_reslbl[IDS_MODLIST_TYPE], 11, 11, [1,1,1],
|
||||
|
|
|
@ -64,6 +64,9 @@ cz_cbModelChanged(void)
|
|||
tokenizebyseparator(mdl, "/");
|
||||
localcmd(sprintf("seta _cl_playermodel %s\n", argv(2)));
|
||||
localcmd(sprintf("setinfo model %s\n", argv(2)));
|
||||
localcmd(sprintf("headmodel %s\n", argv(2)));
|
||||
localcmd(sprintf("team_model %s\n", argv(2)));
|
||||
localcmd(sprintf("team_headmodel %s\n", argv(2)));
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -106,7 +109,7 @@ menu_customize_init(void)
|
|||
search_end(searchy);
|
||||
|
||||
/* scan and cache the models */
|
||||
searchy = search_begin("models/player/*/*.bmp:models/player/*/*.tga", SEARCH_MULTISEARCH | SEARCH_NAMESORT, TRUE);
|
||||
searchy = search_begin("models/player/*/*.bmp:models/player/*/*.tga:models/players/*/icon_blue.tga", SEARCH_MULTISEARCH | SEARCH_NAMESORT, TRUE);
|
||||
|
||||
g_modelcount = search_getsize(searchy);
|
||||
g_models = memalloc(sizeof(string) * g_modelcount);
|
||||
|
@ -164,7 +167,7 @@ void
|
|||
menu_customize_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_customize);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_CUSTOMIZE],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_CUSTOMIZE);
|
||||
WLabel_Static(212, 140, m_reslbl[IDS_PLAYERINFO_NAME], 14, 14, [1,1,1],
|
||||
1.0f, 0, font_arial);
|
||||
WLabel_Static(410, 140, sprintf(m_reslbl[IDS_MODEL_NAME], cvar_string("_cl_playermodel")), 14, 14, [1,1,1],
|
||||
|
|
|
@ -285,7 +285,7 @@ menu_internetgames_draw(void)
|
|||
{
|
||||
Widget_Draw(fn_inet);
|
||||
resorthostcache();
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_INETGAMES],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_INETGAMES);
|
||||
drawpic([g_menuofs[0]+550,g_menuofs[1]+10], "gfx/shell/fragnet",[80,80], [1,1,1], 1.0f, 0);
|
||||
|
||||
/* Labels */
|
||||
|
|
|
@ -223,7 +223,7 @@ menu_langames_draw(void)
|
|||
{
|
||||
Widget_Draw(fn_lan);
|
||||
Master_ResortCache();
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_LAN],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_LAN);
|
||||
|
||||
/* Labels */
|
||||
WLabel_Static(282, 128, m_reslbl[IDS_SERVER_GAMESERVER], 10, 10, [1,1,1],
|
||||
|
|
|
@ -138,7 +138,7 @@ void
|
|||
menu_loadgame_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_loadgame);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_LOAD],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_LOAD);
|
||||
|
||||
if (!g_savegame_count) {
|
||||
return;
|
||||
|
|
|
@ -210,7 +210,7 @@ void
|
|||
menu_multiplayer_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_multiplayer);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_MULTI],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_MULTI);
|
||||
|
||||
WLabel_Static(215, 148, m_reslbl[IDS_MAIN_QUICKHELP], 10, 10, col_help,
|
||||
1.0f, 0, font_label);
|
||||
|
|
|
@ -125,7 +125,7 @@ void
|
|||
menu_newgame_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_newgame);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_NEWGAME],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_NEWGAME);
|
||||
|
||||
WLabel_Static(215, 148, m_reslbl[IDS_NEWGAME_EASYHELP], 10, 10, col_help,
|
||||
1.0f, 0, font_label);
|
||||
|
|
|
@ -265,7 +265,7 @@ menu_updates_draw(void)
|
|||
}
|
||||
|
||||
Widget_Draw(fn_updates);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_CONFIG],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_CONFIG);
|
||||
|
||||
WLabel_Static(50, 143, "Data files:", 11, 11, [1,1,1],
|
||||
1.0f, 0, font_arial);
|
||||
|
|
|
@ -92,7 +92,7 @@ void
|
|||
menu_video_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_video);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_VIDEO],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_VIDEO);
|
||||
WLabel_Static(215, 148, m_reslbl[IDS_VIDSELECT_OPTIONSHELP], 10, 10, col_help,
|
||||
1.0f, 0, font_label);
|
||||
WLabel_Static(215, 180, m_reslbl[IDS_VIDSELECT_MODESHELP], 10, 10, col_help,
|
||||
|
|
|
@ -177,8 +177,7 @@ void
|
|||
menu_videomodes_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_vidmodes);
|
||||
drawpic([g_menuofs[0] + 45, g_menuofs[1] + 45], g_bmp[HEAD_VIDMODES],
|
||||
[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_VIDMODES);
|
||||
|
||||
WLabel_Static(270, 393, m_reslbl[IDS_VIDMODE_WINDOWED], 12, 12, [0.75,0.75,0.75],
|
||||
1.0f, 0, font_arial);
|
||||
|
|
|
@ -92,8 +92,7 @@ void
|
|||
menu_videooptions_draw(void)
|
||||
{
|
||||
Widget_Draw(fn_vidoptions);
|
||||
drawpic([g_menuofs[0] + 45, g_menuofs[1] + 45], g_bmp[HEAD_VIDOPTIONS],
|
||||
[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_VIDOPTIONS);
|
||||
|
||||
drawfill([g_menuofs[0] + 246, g_menuofs[1] + 140], [288, 280],
|
||||
[1,0,0], 1.0f);
|
||||
|
|
|
@ -85,7 +85,7 @@ void
|
|||
menu_viewreadme_draw(void)
|
||||
{
|
||||
Widget_Draw(vr_readme);
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[HEAD_README],[460,80], [1,1,1], 1.0f, 1);
|
||||
Header_Draw(HEAD_README);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -14,6 +14,37 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
string g_header_text[] = {
|
||||
"ADVANCED",
|
||||
"ADV. OPTIONS",
|
||||
"AUDIO",
|
||||
"CONFIGURATION",
|
||||
"CONTROLS",
|
||||
"CREATE GAME",
|
||||
"CREATE ROOM",
|
||||
"CUSTOM GAME",
|
||||
"CUSTOMIZE",
|
||||
"FILTER",
|
||||
"GAME OPTIONS",
|
||||
"GORE",
|
||||
"INTERNET GAMES",
|
||||
"KEYBOARD",
|
||||
"LAN",
|
||||
"LOAD GAME",
|
||||
"MULTIPLAYER",
|
||||
"NEW GAME",
|
||||
"README",
|
||||
"ROOM",
|
||||
"ROOMS",
|
||||
"SAVE",
|
||||
"SAVE & LOAD",
|
||||
"SINGLEPLAYER",
|
||||
"SPECTATE GAMES",
|
||||
"VIDEO",
|
||||
"VIDEO MODES",
|
||||
"VIDEO OPTIONS"
|
||||
};
|
||||
|
||||
class CHeader:CWidget
|
||||
{
|
||||
int m_header;
|
||||
|
@ -52,7 +83,11 @@ CHeader::Draw(void)
|
|||
size[0] = lerp(m_start_w, m_end_w, m_lerp);
|
||||
size[1] = lerp(m_start_h, m_end_h, m_lerp);
|
||||
|
||||
drawpic([pos[0],pos[1]], g_bmp[m_header],[size[0],size[1]], [1,1,1], 1.0f, 1);
|
||||
if (whichpack(strcat(g_bmp[m_header],".bmp"))) {
|
||||
drawpic([pos[0],pos[1]], g_bmp[m_header],[size[0],size[1]], [1,1,1], 1.0f, 1);
|
||||
} else {
|
||||
drawstring([pos[0],pos[1]], g_header_text[m_header-HEAD_ADVANCED], [32,32], [1,1,1], 1.0f, 1);
|
||||
}
|
||||
|
||||
#if 0
|
||||
m_lerp += frametime * 0.25;
|
||||
|
@ -103,4 +138,15 @@ CHeader::SetStartEndSize(int x1, int y1, int x2, int y2)
|
|||
m_end_h = y2;
|
||||
}
|
||||
|
||||
void
|
||||
Header_Draw(int id)
|
||||
{
|
||||
if (whichpack(strcat(g_bmp[id],".bmp"))) {
|
||||
drawpic([g_menuofs[0]+45,g_menuofs[1]+45], g_bmp[id],[460,80], [1,1,1], 1.0f, 1);
|
||||
} else {
|
||||
drawfont = font_label_p;
|
||||
drawstring([g_menuofs[0]+45,g_menuofs[1]+45], g_header_text[id-HEAD_ADVANCED], [32,32], [1,1,1], 1.0f, 1);
|
||||
}
|
||||
}
|
||||
|
||||
CHeader header;
|
||||
|
|
|
@ -88,6 +88,79 @@ enum
|
|||
BTN_SPECTATEGAMES
|
||||
};
|
||||
|
||||
string g_mainbtn_text[] = {
|
||||
"NEW GAME",
|
||||
"RESUME GAME",
|
||||
"TRAINING",
|
||||
"CONFIG",
|
||||
"LOAD GAME",
|
||||
"SAVE LOAD",
|
||||
"README",
|
||||
"QUIT",
|
||||
"MULTIPLAYER",
|
||||
"EASY",
|
||||
"MEDIUM",
|
||||
"DIFFICULT",
|
||||
"SAVE GAME",
|
||||
"LOAD GAME",
|
||||
"CANCEL",
|
||||
"OPTIONS",
|
||||
"VIDEO",
|
||||
"AUDIO",
|
||||
"CONTROLS",
|
||||
"DONE",
|
||||
"QUICK START",
|
||||
"DEFAULTS",
|
||||
"OK",
|
||||
"VIDEO OPTIONS",
|
||||
"VIDEO MODES",
|
||||
"ADV. CONTROLS",
|
||||
"ORDER",
|
||||
"DELETE",
|
||||
"INTERNET GAME",
|
||||
"IRC CHAT",
|
||||
"LAN GAME",
|
||||
"CUSTOMIZE",
|
||||
"SKIP",
|
||||
"EXIT",
|
||||
"CONNECT",
|
||||
"REFRESH",
|
||||
"FILTER1",
|
||||
"FILTER2",
|
||||
"CREATE",
|
||||
"CREATE GAME",
|
||||
"CHAT ROOMS",
|
||||
"LIST ROOMS",
|
||||
"SEARCH",
|
||||
"SERVERS",
|
||||
"JOIN",
|
||||
"FIND",
|
||||
"CREATE ROOM",
|
||||
"JOIN GAME",
|
||||
"SEARCH GAMES",
|
||||
"FIND GAME",
|
||||
"START GAME",
|
||||
"GAME INFO",
|
||||
"UPDATE LIST",
|
||||
"ADD SERVER",
|
||||
"DISCONNECT",
|
||||
"CONSOLE",
|
||||
"CONTENT CONTROL",
|
||||
"UPDATE",
|
||||
"VISIT FRAG-NET",
|
||||
"PREVIEWS",
|
||||
"ADV. OPTIONS",
|
||||
"3D INFO",
|
||||
"CUSTOM GAME",
|
||||
"ACTIVATE",
|
||||
"INSTALL",
|
||||
"VISITWEB",
|
||||
"REFRESH LIST",
|
||||
"DEACTIVATE",
|
||||
"SPECTATE GAME",
|
||||
"SPECTATE GAMES"
|
||||
};
|
||||
|
||||
class CMainButton:CWidget
|
||||
{
|
||||
int m_bitmap;
|
||||
|
@ -114,26 +187,52 @@ CMainButton::CMainButton(void)
|
|||
m_length = 156;
|
||||
}
|
||||
|
||||
static int g_btns_present;
|
||||
|
||||
void
|
||||
CMainButton::Draw(void)
|
||||
{
|
||||
if (!m_execute) {
|
||||
if (!g_btns_present) {
|
||||
if (whichpack(strcat(g_bmp[0],".bmp"))) {
|
||||
g_btns_present = 1;
|
||||
} else {
|
||||
g_btns_present = 2;
|
||||
}
|
||||
}
|
||||
|
||||
/* if we have btns_main */
|
||||
if (g_btns_present == 1) {
|
||||
if (!m_execute) {
|
||||
drawsubpic([g_menuofs[0]+m_x,g_menuofs[1]+m_y], [156,26], g_bmp[0],
|
||||
[0,(m_bitmap * 3) * g_btnofs], [1,g_btnofs], [1,1,1], 0.75f, 1);
|
||||
return;
|
||||
}
|
||||
if (m_click) {
|
||||
drawsubpic([g_menuofs[0]+m_x,g_menuofs[1]+m_y], [156,26], g_bmp[0],
|
||||
[0,((m_bitmap * 3)+2) * g_btnofs], [1,g_btnofs],
|
||||
[1,1,1], 1.0f, 1);
|
||||
return;
|
||||
}
|
||||
drawsubpic([g_menuofs[0]+m_x,g_menuofs[1]+m_y], [156,26], g_bmp[0],
|
||||
[0,(m_bitmap * 3) * g_btnofs], [1,g_btnofs], [1,1,1], 0.75f, 1);
|
||||
return;
|
||||
}
|
||||
if (m_click) {
|
||||
[0,(m_bitmap * 3) * g_btnofs], [1,g_btnofs], [1,1,1], 1.0f, 1);
|
||||
|
||||
drawsubpic([g_menuofs[0]+m_x,g_menuofs[1]+m_y], [156,26], g_bmp[0],
|
||||
[0,((m_bitmap * 3)+2) * g_btnofs], [1,g_btnofs],
|
||||
[1,1,1], 1.0f, 1);
|
||||
return;
|
||||
[0,((m_bitmap * 3)+1) * g_btnofs], [1,g_btnofs],
|
||||
[1,1,1], 1 - m_alpha, 1);
|
||||
} else {
|
||||
drawfont = font_label_p;
|
||||
if (!m_execute) {
|
||||
drawstring([g_menuofs[0]+m_x,g_menuofs[1]+m_y], g_mainbtn_text[m_bitmap], [16,16], [0.25,0.25,0.25], 1.0, 0);
|
||||
return;
|
||||
}
|
||||
if (m_click) {
|
||||
drawstring([g_menuofs[0]+m_x,g_menuofs[1]+m_y], g_mainbtn_text[m_bitmap], [16,16], [1,1,0], 1.0, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
drawstring([g_menuofs[0]+m_x,g_menuofs[1]+m_y], g_mainbtn_text[m_bitmap], [16,16], [1,1,1], 1.0, 0);
|
||||
drawstring([g_menuofs[0]+m_x,g_menuofs[1]+m_y], g_mainbtn_text[m_bitmap], [16,16], [1,0,0], 1 - m_alpha, 0);
|
||||
}
|
||||
drawsubpic([g_menuofs[0]+m_x,g_menuofs[1]+m_y], [156,26], g_bmp[0],
|
||||
[0,(m_bitmap * 3) * g_btnofs], [1,g_btnofs], [1,1,1], 1.0f, 1);
|
||||
|
||||
drawsubpic([g_menuofs[0]+m_x,g_menuofs[1]+m_y], [156,26], g_bmp[0],
|
||||
[0,((m_bitmap * 3)+1) * g_btnofs], [1,g_btnofs],
|
||||
[1,1,1], 1 - m_alpha, 1);
|
||||
|
||||
if (m_hover) {
|
||||
m_alpha -= frametime * 16;
|
||||
|
|
Loading…
Reference in a new issue