aboutsummaryrefslogtreecommitdiff
path: root/Source/Menu.c
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2017-05-01 23:05:51 +0200
committerXaviDCR92 <xavi.dcr@gmail.com>2017-05-01 23:05:51 +0200
commit83b4684d7cb9934371909b522d6daa0f16cc0396 (patch)
tree39fa1ca99061b12203dae50898a2b3dec3b5f276 /Source/Menu.c
parent8629c228db1fe1f206d409356ad75995060a0ca8 (diff)
downloadairport-83b4684d7cb9934371909b522d6daa0f16cc0396.tar.gz
* Added some comments on System.
* New routine PadOneKeySinglePress() and PadTwoKeySinglePress(). * Temp waypoints now turn red when colliding with an aircraft or with a previously existing waypoint. * When loading files, GPU operation is finishedbefore calling fopen. Also, I_MASK is disabled just in case. * For PLT files, actual tile needs to be set instead of parking number.
Diffstat (limited to 'Source/Menu.c')
-rw-r--r--Source/Menu.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/Source/Menu.c b/Source/Menu.c
index 411c276..32d0e45 100644
--- a/Source/Menu.c
+++ b/Source/Menu.c
@@ -121,10 +121,13 @@ static char * MainMenuFiles[] = { "cdrom:\\DATA\\SPRITES\\MAINMENU.TIM;1" ,
"cdrom:\\DATA\\SPRITES\\PSXDISK.TIM;1" ,
"cdrom:\\DATA\\SPRITES\\INTROFNT.TIM;1" ,
"cdrom:\\DATA\\SPRITES\\BUTTONS.TIM;1" ,
+#ifndef NO_INTRO
"cdrom:\\DATA\\SPRITES\\GPL.TIM;1" ,
"cdrom:\\DATA\\SPRITES\\OPENSRC.TIM;1" ,
"cdrom:\\DATA\\SOUNDS\\TRAYCL.VAG;1" ,
- "cdrom:\\DATA\\SOUNDS\\SPINDISK.VAG;1" };
+ "cdrom:\\DATA\\SOUNDS\\SPINDISK.VAG;1"
+#endif // NO_INTRO
+ };
static void * MainMenuDest[] = { (GsSprite*)&MenuSpr ,
(SsVag*)&BellSnd ,
@@ -132,10 +135,13 @@ static void * MainMenuDest[] = { (GsSprite*)&MenuSpr ,
(GsSprite*)&PsxDisk ,
(GsSprite*)&PSXSDKIntroFont ,
(GsSprite*)&PSXButtons ,
+#ifndef NO_INTRO
(GsSprite*)&GPL_Logo ,
(GsSprite*)&OpenSource_Logo ,
(SsVag*)&TrayClSnd ,
- (SsVag*)&SpinDiskSnd };
+ (SsVag*)&SpinDiskSnd
+#endif // NO_INTRO
+ };
static TYPE_MMBtn MainMenuBtn[MAIN_MENU_BUTTONS_MAX];
static MainMenuLevel menuLevel;
@@ -254,12 +260,13 @@ void MainMenu(void)
while(1)
{
+ while(GfxIsGPUBusy() == true);
+
MainMenuButtonHandler();
switch(menuLevel)
{
case PLAY_OPTIONS_LEVEL:
- while(SystemDMAReady() == false);
GsSortCls(0,0,40);
MainMenuDrawButton(&MainMenuBtn[PLAY_BUTTON_INDEX]);
@@ -269,7 +276,6 @@ void MainMenu(void)
break;
case ONE_TWO_PLAYERS_LEVEL:
- while(SystemDMAReady() == false);
GsSortCls(0,0,40);
MainMenuDrawButton(&MainMenuBtn[ONE_PLAYER_BUTTON_INDEX]);
@@ -320,9 +326,9 @@ void MainMenuButtonHandler(void)
}
}
- if( (PadOneKeyReleased(PAD_CROSS) == true)
+ if( (PadOneKeySinglePress(PAD_CROSS) == true)
||
- (PadOneKeyReleased(PAD_TRIANGLE) == true) )
+ (PadOneKeySinglePress(PAD_TRIANGLE) == true) )
{
SfxPlaySound(&AcceptSnd);
}
@@ -335,7 +341,7 @@ void MainMenuButtonHandler(void)
case ONE_TWO_PLAYERS_LEVEL:
max_buttons = MAIN_MENU_ONE_TWO_PLAYERS_LEVEL_BUTTONS;
- if(PadOneKeyReleased(PAD_TRIANGLE) == true)
+ if(PadOneKeySinglePress(PAD_TRIANGLE) == true)
{
menuLevel = PLAY_OPTIONS_LEVEL;
MainMenuMinimumBtn = PLAY_BUTTON_INDEX;
@@ -351,14 +357,14 @@ void MainMenuButtonHandler(void)
MainMenuBtn[previous_btn_selected].was_selected = MainMenuBtn[previous_btn_selected].selected;
MainMenuBtn[btn_selected].was_selected = MainMenuBtn[btn_selected].selected;
- if(PadOneKeyReleased(PAD_LEFT) && (btn_selected > 0) )
+ if(PadOneKeySinglePress(PAD_LEFT) && (btn_selected > 0) )
{
MainMenuBtn[btn_selected].selected = false;
previous_btn_selected = btn_selected;
btn_selected--;
SfxPlaySound(&BellSnd);
}
- else if(PadOneKeyReleased(PAD_RIGHT)
+ else if(PadOneKeySinglePress(PAD_RIGHT)
&&
(btn_selected < (max_buttons - 1 + MainMenuMinimumBtn) ) )
{
@@ -379,7 +385,7 @@ void MainMenuButtonHandler(void)
btn_selected = (max_buttons - 1 + MainMenuMinimumBtn);
}
- if(PadOneKeyReleased(PAD_CROSS) )
+ if(PadOneKeySinglePress(PAD_CROSS) )
{
if(menuLevel == ONE_TWO_PLAYERS_LEVEL)
{