Menus all centered

This commit is contained in:
Ben Lankamp
2020-06-15 18:20:13 +02:00
parent 1c1737e10d
commit 2f7e6dbcaa
5 changed files with 59 additions and 255 deletions
+6 -115
View File
@@ -875,6 +875,7 @@ bool Select_Game(bool fade)
break;
}
}
Scen.CarryOverMoney = 0;
BuildLevel = 10;
IsTanyaDead = false;
@@ -882,12 +883,9 @@ bool Select_Game(bool fade)
Whom = HOUSE_GOOD;
if (!Special.IsFromInstall) {
#ifdef FIXIT_ANTS
if (AntsEnabled) {
Scen.Set_Scenario_Name("SCA01EA.INI");
} else {
#endif
#ifdef FIXIT_VERSION_3
switch (WWMessageBox().Process(TXT_CHOOSE, TXT_ALLIES, TXT_CANCEL, TXT_SOVIET)) {
case 2:
Scen.Set_Scenario_Name("SCU01EA.INI");
@@ -895,32 +893,21 @@ bool Select_Game(bool fade)
default:
selection = SEL_NONE;
continue;
#else
switch (WWMessageBox().Process(TXT_CHOOSE, TXT_ALLIES, TXT_SOVIET)) {
case 1:
Scen.Set_Scenario_Name("SCU01EA.INI");
break;
default:
#endif
case 0:
Scen.Set_Scenario_Name("SCG01EA.INI");
break;
}
#ifdef FIXIT_ANTS
}
#endif
Theme.Fade_Out();
Load_Title_Page();
} else {
Theme.Fade_Out();
#ifdef DVD // Denzil ajw Presumably a bug fix.
Choose_Side();
Hide_Mouse();
#else
Hide_Mouse();
Choose_Side();
#endif
if (CurrentCD == 0) {
Scen.Set_Scenario_Name("SCG01EA.INI");
} else {
@@ -932,43 +919,6 @@ bool Select_Game(bool fade)
process = false;
break;
#ifndef FIXIT_VERSION_3 // Removed button from main menu.
#if defined(WIN32) && !defined(INTERNET_OFF) // Denzil 5/1/98 - Internet play
/*
** Internet game is requested
*/
case SEL_INTERNET:
/*
** Only call up the internet menu code if we dont already have connect info from WChat
*/
if (!DDEServer.Get_MPlayer_Game_Info()) {
if (Do_The_Internet_Menu_Thang() && DDEServer.Get_MPlayer_Game_Info()) {
Check_From_WChat(NULL);
selection = SEL_MULTIPLAYER_GAME;
display = false;
Session.Type = GAME_INTERNET;
} else {
selection = SEL_NONE;
display = true;
}
} else {
Check_From_WChat(NULL);
display = false;
Session.Type = GAME_INTERNET;
selection = SEL_MULTIPLAYER_GAME;
}
break;
#endif //WIN32
#endif
// #if defined(MPEGMOVIE) // Denzil 6/25/98
// case SEL_MOVIESETTINGS:
// MpgSettings->Dialog();
// display = true;
// selection = SEL_NONE;
// break;
// #endif
/*
** Load a saved game.
*/
@@ -988,10 +938,6 @@ bool Select_Game(bool fade)
** network play.
*/
case SEL_MULTIPLAYER_GAME:
#ifdef WOLAPI_INTEGRATION
if( !pWolapi )
{
#endif
switch (Session.Type) {
/*
@@ -1001,6 +947,7 @@ bool Select_Game(bool fade)
*/
case GAME_NORMAL:
Session.Type = Select_MPlayer_Game();
if (Session.Type == GAME_NORMAL) { // 'Cancel'
display = true;
selection = SEL_NONE;
@@ -1232,13 +1179,7 @@ bool Select_Game(bool fade)
#endif // !WOLAPI_INTEGRATION
}
#ifdef WOLAPI_INTEGRATION
} // if( !pWolapi )
if( pWolapi )
Session.Type = GAME_INTERNET;
#endif
//debugprint( "Session.Type = %i\n", Session.Type );
switch (Session.Type) {
/*
** Modem, Null-Modem or internet
@@ -1251,11 +1192,7 @@ bool Select_Game(bool fade)
case GAME_SKIRMISH:
Theme.Fade_Out();
process = false;
#ifdef FIXIT_VERSION_3
Options.ScoreVolume = Options.MultiScoreVolume;
#else
Options.ScoreVolume = 0;
#endif
break;
#ifdef WOLAPI_INTEGRATION // implies also WINSOCK_IPX
@@ -1351,48 +1288,6 @@ bool Select_Game(bool fade)
}
break;
#if(TEN)
/*
** TEN: jump straight into the game
*/
case GAME_TEN:
if (Init_TEN()) {
#ifdef FIXIT_VERSION_3
Options.ScoreVolume = Options.MultiScoreVolume;
#else
Options.ScoreVolume = 0;
#endif
process = false;
Theme.Fade_Out();
} else {
WWMessageBox().Process("Unable to initialize TEN!");
//Prog_End();
Emergency_Exit(1);
}
break;
#endif // TEN
#if(MPATH)
/*
** MPATH: jump straight into the game
*/
case GAME_MPATH:
if (Init_MPATH()) {
#ifdef FIXIT_VERSION_3
Options.ScoreVolume = Options.MultiScoreVolume;
#else
Options.ScoreVolume = 0;
#endif
process = false;
Theme.Fade_Out();
} else {
WWMessageBox().Process("Unable to initialize MPATH!");
//Prog_End();
Emergency_Exit(1);
}
break;
#endif // MPATH
}
break;
@@ -1402,9 +1297,6 @@ bool Select_Game(bool fade)
case SEL_INTRO:
Theme.Fade_Out();
Show_Who_Was_Responsible();
/*
if (Debug_Flag) {
Play_Intro(Debug_Flag);
} else {
@@ -1415,11 +1307,10 @@ bool Select_Game(bool fade)
Keyboard->Clear();
Play_Movie(VQ_SIZZLE, THEME_NONE, true);
Play_Movie(VQ_SIZZLE2, THEME_NONE, true);
// Play_Movie(VQ_INTRO_MOVIE, THEME_NONE, false); // has transitino picture to briefing
}
*/
Theme.Queue_Song(THEME_CRUS);
display = true;
fade = true;
selection = SEL_NONE;
+24 -32
View File
@@ -43,8 +43,11 @@
#include <sdl.h>
#undef RESFACTOR
#define RESFACTOR (2 + (ScreenWidth / 640))
// this makes buttons larger on a larger screen
// necessary??
//#undef RESFACTOR
//#define RESFACTOR (2 + (ScreenWidth / 640))
/*****************************
** Function prototypes
@@ -486,11 +489,11 @@ int Main_Menu(unsigned long )
int d_dialog_x = ((SeenBuff.Get_Width() - d_dialog_w) / 2);
int d_dialog_y = ((SeenBuff.Get_Height() - d_dialog_h) / 2);
int d_button_w = 118 * RESFACTOR;
int d_button_h = 9 * RESFACTOR;
int d_button_w = 140 * RESFACTOR;
int d_button_h = 11 * RESFACTOR;
int d_button_dy = d_button_h + 4 * RESFACTOR; // spacing between top of two buttons
int d_button_x = d_dialog_x + ( ( d_dialog_w - d_button_w ) / 2 );
int starty = d_dialog_y + (24 * RESFACTOR);
int d_button_y = d_dialog_y + (24 * RESFACTOR);
static int max_buttons = 7;
@@ -525,43 +528,32 @@ int Main_Menu(unsigned long )
*/
ControlClass * commands = NULL; // the button list
int ystep = 14 * RESFACTOR;
if( bExpansionCS )
{
if( bExpansionAM )
ystep = 12 * RESFACTOR;
else
ystep = 13 * RESFACTOR;
}
else if( bExpansionAM )
ystep = 13 * RESFACTOR;
TextButtonClass expandbtnCS( BUTTON_EXPAND, TXT_WOL_CS_MISSIONS, TPF_BUTTON, d_button_x, starty, d_button_w, d_button_h );
TextButtonClass expandbtnCS( BUTTON_EXPAND, TXT_WOL_CS_MISSIONS, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h );
if( bExpansionCS )
starty += ystep;
TextButtonClass expandbtnAM( BUTTON_EXPAND_AM, TXT_WOL_AM_MISSIONS, TPF_BUTTON, d_button_x, starty, d_button_w, d_button_h);
d_button_y += d_button_dy;
TextButtonClass expandbtnAM( BUTTON_EXPAND_AM, TXT_WOL_AM_MISSIONS, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
if( bExpansionAM )
starty += ystep;
d_button_y += d_button_dy;
TextButtonClass startbtn(BUTTON_START, TXT_START_NEW_GAME, TPF_BUTTON, d_button_x, starty, d_button_w, d_button_h);
starty += ystep;
TextButtonClass startbtn(BUTTON_START, TXT_START_NEW_GAME, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
d_button_y += d_button_dy;
TextButtonClass loadbtn(BUTTON_LOAD, TXT_LOAD_MISSION, TPF_BUTTON, d_button_x, starty, d_button_w, d_button_h);
starty += ystep;
TextButtonClass loadbtn(BUTTON_LOAD, TXT_LOAD_MISSION, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
d_button_y += d_button_dy;
TextButtonClass multibtn(BUTTON_MULTI, TXT_MULTIPLAYER_GAME, TPF_BUTTON, d_button_x, starty, d_button_w, d_button_h);
starty += ystep;
TextButtonClass multibtn(BUTTON_MULTI, TXT_MULTIPLAYER_GAME, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
d_button_y += d_button_dy;
TextButtonClass introbtn(BUTTON_INTRO, TXT_INTRO, TPF_BUTTON, d_button_x, starty, d_button_w, d_button_h);
starty += ystep;
TextButtonClass introbtn(BUTTON_INTRO, TXT_INTRO, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
d_button_y += d_button_dy;
TextButtonClass exitbtn(BUTTON_EXIT, TXT_EXIT_GAME, TPF_BUTTON, d_button_x, starty, d_button_w, d_button_h);
starty += ystep;
TextButtonClass exitbtn(BUTTON_EXIT, TXT_EXIT_GAME, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
d_button_y += d_button_dy;
int version_x = d_button_x + d_button_w;
int version_y = starty + ( 5 * RESFACTOR );
int version_y = d_button_y + ( 5 * RESFACTOR );
/*
** Initialize
+22 -101
View File
@@ -68,50 +68,16 @@ GameType Select_MPlayer_Game (void)
// Dialog & button dimensions
//------------------------------------------------------------------------
int d_dialog_w = 190 *RESFACTOR;
#ifdef WOLAPI_INTEGRATION
int d_dialog_h = 89 * RESFACTOR; // ajw
int d_dialog_y = (((255 * RESFACTOR) - d_dialog_h) / 2);
#else
int d_dialog_h = 78 *RESFACTOR;
int d_dialog_y = 90 * RESFACTOR;
#endif
int d_dialog_x = (((320*RESFACTOR) - d_dialog_w) / 2);
int d_dialog_cx = d_dialog_x + (d_dialog_w / 2);
int d_dialog_h = 78 * RESFACTOR;
int d_txt6_h = 7 *RESFACTOR;
int d_margin = 7 *RESFACTOR;
int d_dialog_x = ((SeenBuff.Get_Width() - d_dialog_w) / 2);
int d_dialog_y = ((SeenBuff.Get_Height() - d_dialog_h) / 2);
int d_modemserial_w = 80 *RESFACTOR;
int d_modemserial_h = 9 *RESFACTOR;
int d_modemserial_x = d_dialog_cx - d_modemserial_w / 2;
int d_modemserial_y = d_dialog_y + d_margin + d_txt6_h + d_margin;
int d_skirmish_w = 80 *RESFACTOR;
int d_skirmish_h = 9 *RESFACTOR;
int d_skirmish_x = d_dialog_cx - d_skirmish_w / 2;
int d_skirmish_y = d_modemserial_y + d_modemserial_h + 2*RESFACTOR;
int d_ipx_w = 80 *RESFACTOR;
int d_ipx_h = 9 *RESFACTOR;
int d_ipx_x = d_dialog_cx - d_ipx_w / 2;
int d_ipx_y = d_skirmish_y + d_skirmish_h + 2*RESFACTOR;
#ifdef WOLAPI_INTEGRATION
// ajw 7/2/98 - added button
int d_wol_w = 80 * RESFACTOR;
int d_wol_h = 9 * RESFACTOR;
int d_wol_x = d_dialog_cx - d_wol_w / 2;
int d_wol_y = d_ipx_y + d_ipx_h + 2*RESFACTOR;
#endif
int d_cancel_w = 60 *RESFACTOR;
int d_cancel_h = 9 *RESFACTOR;
int d_cancel_x = d_dialog_cx - d_cancel_w / 2;
#ifdef WOLAPI_INTEGRATION
int d_cancel_y = d_wol_y + d_wol_h + d_margin;
#else
int d_cancel_y = d_ipx_y + d_ipx_h + d_margin;
#endif
int d_button_w = 80 * RESFACTOR;
int d_button_h = 11 * RESFACTOR;
int d_button_x = d_dialog_x + ((d_dialog_w - d_button_w) / 2);
int d_button_dy = d_button_h + 4 * RESFACTOR; // spacing between top of two buttons
int d_button_y = d_dialog_y + ( 24 * RESFACTOR );
#ifdef WIN32
GraphicBufferClass seen_buff_save(VisiblePage.Get_Width(), VisiblePage.Get_Height(), (void*)NULL);
@@ -172,49 +138,29 @@ GameType Select_MPlayer_Game (void)
// return( Select_Serial_Dialog() );
// }
TextButtonClass modemserialbtn (BUTTON_MODEMSERIAL, TXT_MODEM_SERIAL, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
commands = &modemserialbtn;
d_button_y += d_button_dy;
TextButtonClass modemserialbtn (BUTTON_MODEMSERIAL, TXT_MODEM_SERIAL, TPF_BUTTON,
d_modemserial_x, d_modemserial_y, d_modemserial_w, d_modemserial_h);
TextButtonClass skirmishbtn (BUTTON_SKIRMISH, TXT_SKIRMISH, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
skirmishbtn.Add_Tail(*commands);
d_button_y += d_button_dy;
TextButtonClass skirmishbtn (BUTTON_SKIRMISH, TXT_SKIRMISH, TPF_BUTTON,
d_skirmish_x, d_skirmish_y, d_skirmish_w, d_skirmish_h);
TextButtonClass ipxbtn(BUTTON_IPX, TXT_NETWORK, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
TextButtonClass ipxbtn (BUTTON_IPX, TXT_NETWORK, TPF_BUTTON,
d_ipx_x, d_ipx_y, d_ipx_w, d_ipx_h);
#ifdef WOLAPI_INTEGRATION
// ajw
TextButtonClass wolbtn(BUTTON_WOL, TXT_WOL_INTERNETBUTTON, TPF_BUTTON,
d_wol_x, d_wol_y, d_wol_w, d_wol_h);
#endif
if(!Ipx.Is_IPX()) {
d_cancel_y = d_ipx_y;
d_dialog_h -= d_cancel_h;
if(Ipx.Is_IPX()) {
ipxbtn.Add_Tail(*commands);
d_button_y += d_button_dy;
}
TextButtonClass cancelbtn (BUTTON_CANCEL, TXT_CANCEL, TPF_BUTTON,
d_cancel_x, d_cancel_y, d_cancel_w, d_cancel_h);
TextButtonClass cancelbtn (BUTTON_CANCEL, TXT_CANCEL, TPF_BUTTON, d_button_x, d_button_y, d_button_w, d_button_h);
cancelbtn.Add_Tail(*commands);
//------------------------------------------------------------------------
// Initialize
//------------------------------------------------------------------------
Set_Logic_Page(SeenBuff);
#ifdef WIN32
VisiblePage.Blit(seen_buff_save);
#endif
//------------------------------------------------------------------------
// Create the list
//------------------------------------------------------------------------
commands = &modemserialbtn;
skirmishbtn.Add_Tail(*commands);
if(Ipx.Is_IPX()) {
ipxbtn.Add_Tail(*commands);
}
#ifdef WOLAPI_INTEGRATION
wolbtn.Add_Tail(*commands); // ajw
#endif
cancelbtn.Add_Tail(*commands);
//------------------------------------------------------------------------
// Fill array of button ptrs
@@ -222,22 +168,14 @@ GameType Select_MPlayer_Game (void)
curbutton = 0;
buttons[0] = &modemserialbtn;
buttons[1] = &skirmishbtn;
if(Ipx.Is_IPX()) {
buttons[2] = &ipxbtn;
#ifdef WOLAPI_INTEGRATION
buttons[3] = &wolbtn; // ajw
buttons[4] = &cancelbtn;
#else
buttons[3] = &cancelbtn;
#endif
} else {
#ifdef WOLAPI_INTEGRATION
buttons[2] = &wolbtn; // ajw
buttons[3] = &cancelbtn;
#else
buttons[2] = &cancelbtn;
#endif
}
buttons[curbutton]->Turn_On();
Keyboard->Clear();
@@ -325,13 +263,6 @@ GameType Select_MPlayer_Game (void)
pressed = true;
break;
#ifdef WOLAPI_INTEGRATION
case (BUTTON_WOL | KN_BUTTON): // ajw
selection = BUTTON_WOL;
pressed = true;
break;
#endif
case (KN_ESC):
case (BUTTON_CANCEL | KN_BUTTON):
selection = BUTTON_CANCEL;
@@ -402,11 +333,8 @@ GameType Select_MPlayer_Game (void)
if (Com_Scenario_Dialog(true)) {
retval = GAME_SKIRMISH;
process = false;
#ifdef FIXIT_VERSION_3
bAftermathMultiplayer = Is_Aftermath_Installed();
// ajw I'll bet this was needed before also...
Session.ScenarioIsOfficial = Session.Scenarios[Session.Options.ScenarioIndex]->Get_Official();
#endif
} else {
buttons[curbutton]->IsPressed = false;
Session.Type = GAME_NORMAL;
@@ -419,13 +347,6 @@ GameType Select_MPlayer_Game (void)
process = false;
break;
#ifdef WOLAPI_INTEGRATION
case (BUTTON_WOL): // ajw
retval = GAME_INTERNET;
process = false;
break;
#endif
case (BUTTON_CANCEL):
retval = GAME_NORMAL;
process = false;
+4 -4
View File
@@ -108,10 +108,10 @@ int Com_Scenario_Dialog(bool skirmish)
/*........................................................................
Dialog & button dimensions
........................................................................*/
int d_dialog_w = 320 * RESFACTOR; // dialog width
int d_dialog_h = 200 * RESFACTOR; // dialog height
int d_dialog_x = ((320 * RESFACTOR - d_dialog_w) / 2); // dialog x-coord
int d_dialog_y = ((200 * RESFACTOR - d_dialog_h) / 2); // dialog y-coord
int d_dialog_w = 320 * RESFACTOR;
int d_dialog_h = 200 * RESFACTOR;
int d_dialog_x = ((SeenBuff.Get_Width() - d_dialog_w) / 2);
int d_dialog_y = ((SeenBuff.Get_Height() - d_dialog_h) / 2);
int d_dialog_cx = d_dialog_x + (d_dialog_w / 2); // center x-coord
int d_txt6_h = 6 * RESFACTOR + 1; // ht of 6-pt text
+3 -3
View File
@@ -923,10 +923,10 @@ void Read_Setup_Options( RawFileClass *config_file )
*/
VideoBackBufferAllowed = ini.Get_Bool("Options", "VideoBackBuffer", true);
AllowHardwareBlitFills = ini.Get_Bool("Options", "HardwareFills", true);
// jmarshall
ScreenWidth = 1024;
ScreenHeight = 768; //ini.Get_Bool("Options", "Resolution", false) ? 3072 : 3072;
// jmarshall end
ScreenHeight = 768;
/*
** See if an alternative socket number has been specified
*/