Minigames begin.

This commit is contained in:
Mari the Deer 2022-04-15 18:30:29 +02:00
commit faed30c118
12 changed files with 473 additions and 35 deletions

View file

@ -188,6 +188,7 @@ Class DemolitionistMenu : GenericMenu
'DemolitionistLibraryTab',
'DemolitionistStoreTab',
'DemolitionistChatTab',
'DemolitionistGameTab',
'DemolitionistHelpTab',
'DemolitionistSecretTab'
};
@ -218,44 +219,48 @@ Class DemolitionistMenu : GenericMenu
override bool MenuEvent( int mkey, bool fromcontroller )
{
switch ( kcode )
// pachinko code only handled if the tab lacks direct input
if ( !tabs[curtab].bDirectInput )
{
case 0:
case 1:
if ( mkey == MKEY_UP ) kcode++;
else kcode = 0;
break;
case 2:
case 3:
if ( mkey == MKEY_DOWN ) kcode++;
else kcode = 0;
break;
case 4:
case 6:
if ( mkey == MKEY_LEFT ) kcode++;
else kcode = 0;
break;
case 5:
case 7:
if ( mkey == MKEY_RIGHT ) kcode++;
else kcode = 0;
break;
case 10:
if ( mkey == MKEY_ENTER )
switch ( kcode )
{
int secret = FindTabType('DemolitionistSecretTab');
if ( curtab != secret )
case 0:
case 1:
if ( mkey == MKEY_UP ) kcode++;
else kcode = 0;
break;
case 2:
case 3:
if ( mkey == MKEY_DOWN ) kcode++;
else kcode = 0;
break;
case 4:
case 6:
if ( mkey == MKEY_LEFT ) kcode++;
else kcode = 0;
break;
case 5:
case 7:
if ( mkey == MKEY_RIGHT ) kcode++;
else kcode = 0;
break;
case 10:
if ( mkey == MKEY_ENTER )
{
MenuSound("misc/secret");
tabs[curtab].OnDeselect();
curtab = secret;
tabs[curtab].OnSelect();
}
int secret = FindTabType('DemolitionistSecretTab');
if ( curtab != secret )
{
MenuSound("misc/secret");
tabs[curtab].OnDeselect();
curtab = secret;
tabs[curtab].OnSelect();
}
}
default:
kcode = 0;
break;
}
default:
kcode = 0;
break;
}
switch ( mkey )
{
@ -384,6 +389,8 @@ Class DemolitionistMenu : GenericMenu
override bool OnUiEvent( UIEvent ev )
{
if ( tabs[curtab].bDirectInput && ((ev.type == UIEvent.Type_KeyDown) || (ev.type == UIEvent.Type_KeyUp)) )
return tabs[curtab].DirectInput(ev);
switch ( ev.type )
{
case UIEvent.Type_KeyDown: