Change Wallbuster menu page up / page down actions to add/remove in groups of five, more comfortable for doing partial reloads quickly.

This commit is contained in:
Mari the Deer 2020-06-03 10:21:41 +02:00
commit e0a188f8d6
4 changed files with 36 additions and 14 deletions

View file

@ -318,9 +318,9 @@ SWWM_BUSTERKEYS =
"\cfLeft/Right:\c- Select Ammo Type\n"
"\cfDown:\c- Add Ammo\n"
"\cfUp:\c- Remove Ammo\n"
"\cfPage Up,\c-\n"
"\cfPage Up:\c- Add 5 Ammo\n"
"\cfPage Down:\c- Remove 5 Ammo\n"
"\cfBackspace:\c- Clear Ammo\n"
"\cfPage Down:\c- Auto Fill\n"
"\cfEnter:\c- Initiate Reload\n"
"\cfEnter (if empty):\c- Auto Reload\n"
"\cfEnter (if empty):\c- Full Reload\n"
"\cfEsc:\c- Cancel Reload\n";

View file

@ -315,9 +315,9 @@ SWWM_BUSTERKEYS =
"\cfIzq/Dcha:\c- Seleccionar Munición\n"
"\cfAbajo:\c- Agregar Munición\n"
"\cfArriba:\c- Quitar Munición\n"
"\cfRe Pág,\c-\n"
"\cfRe Pág:\c- Agregar 5 Munición\n"
"\cfAv Pág:\c- Quitar 5 Munición\n"
"\cfRetroceso:\c- Limpiar Munición\n"
"\cfAv Pág:\c- Autorellenado\n"
"\cfEnter:\c- Iniciar Recarga\n"
"\cfEnter (si vacío):\c- Autorrecarga\n"
"\cfEnter (si vacío):\c- Recarga Completa\n"
"\cfEsc:\c- Calcelar recarga\n";

View file

@ -1,2 +1,2 @@
[default]
SWWM_MODVER="\cxSWWM GZ\c- r283 (Wed 3 Jun 02:29:51 CEST 2020)";
SWWM_MODVER="\cxSWWM GZ\c- r284 (Wed 3 Jun 10:21:41 CEST 2020)";

View file

@ -98,6 +98,14 @@ Class WallbusterReloadMenu : GenericMenu
return true;
}
private bool PopAmmo()
{
if ( queue.Size() <= 0 ) return false;
AmmoSets[queue[queue.Size()-1]]--;
queue.Pop();
return true;
}
override bool MenuEvent( int mkey, bool fromcontroller )
{
switch ( mkey )
@ -126,13 +134,13 @@ Class WallbusterReloadMenu : GenericMenu
Close();
return true;
case MKEY_UP:
if ( queue.Size() <= 0 ) MenuSound("menu/noinvuse");
else
if ( queue.Size() <= 0 )
{
MenuSound("menu/demoscroll");
AmmoSets[queue[queue.Size()-1]]--;
queue.Pop();
MenuSound("menu/noinvuse");
return true;
}
PopAmmo();
MenuSound("menu/demoscroll");
return true;
case MKEY_DOWN:
if ( IsDone() )
@ -152,13 +160,28 @@ Class WallbusterReloadMenu : GenericMenu
sel0--;
if ( sel0 < 0 ) sel0 = 3;
return true;
case MKEY_PAGEUP:
if ( queue.Size() <= 0 )
{
MenuSound("menu/noinvuse");
return true;
}
int i = 0;
while ( (queue.Size() > 0) && (++i < 5) )
{
if ( !PopAmmo(true) )
break;
}
MenuSound("menu/demoscroll");
return true;
case MKEY_PAGEDOWN:
if ( IsDone() )
{
MenuSound("menu/noinvuse");
return true;
}
while ( queue.Size() < 25 )
int i = 0;
while ( (queue.Size() < 25) && (++i < 5) )
{
if ( !PushAmmo(true) )
return true;
@ -166,7 +189,6 @@ Class WallbusterReloadMenu : GenericMenu
MenuSound("menu/demosel");
return true;
case MKEY_CLEAR:
case MKEY_PAGEUP:
if ( queue.Size() <= 0 ) MenuSound("menu/noinvuse");
else
{