small fixes for mazezam.

* enable repeating direction key for the targets using PLA.
* clear the check point after user clear the last level.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22188 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Teruaki Kawashima 2009-08-06 13:21:08 +00:00
parent c4dc61a2a6
commit 357f1f454c

View file

@ -34,6 +34,10 @@ PLUGIN_HEADER
# define MAZEZAM_LEFT BUTTON_LEFT # define MAZEZAM_LEFT BUTTON_LEFT
# define MAZEZAM_UP BUTTON_MENU # define MAZEZAM_UP BUTTON_MENU
# define MAZEZAM_DOWN BUTTON_PLAY # define MAZEZAM_DOWN BUTTON_PLAY
# define MAZEZAM_RIGHT_REPEAT (BUTTON_RIGHT|BUTTON_REPEAT)
# define MAZEZAM_LEFT_REPEAT (BUTTON_LEFT|BUTTON_REPEAT)
# define MAZEZAM_UP_REPEAT (BUTTON_MENU|BUTTON_REPEAT)
# define MAZEZAM_DOWN_REPEAT (BUTTON_PLAY|BUTTON_REPEAT)
#elif (CONFIG_KEYPAD == IPOD_3G_PAD) #elif (CONFIG_KEYPAD == IPOD_3G_PAD)
# define MAZEZAM_MENU BUTTON_MENU # define MAZEZAM_MENU BUTTON_MENU
@ -41,6 +45,10 @@ PLUGIN_HEADER
# define MAZEZAM_LEFT BUTTON_LEFT # define MAZEZAM_LEFT BUTTON_LEFT
# define MAZEZAM_UP BUTTON_SCROLL_BACK # define MAZEZAM_UP BUTTON_SCROLL_BACK
# define MAZEZAM_DOWN BUTTON_SCROLL_FWD # define MAZEZAM_DOWN BUTTON_SCROLL_FWD
# define MAZEZAM_RIGHT_REPEAT (BUTTON_RIGHT|BUTTON_REPEAT)
# define MAZEZAM_LEFT_REPEAT (BUTTON_LEFT|BUTTON_REPEAT)
# define MAZEZAM_UP_REPEAT (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
# define MAZEZAM_DOWN_REPEAT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) #elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
# define MAZEZAM_MENU (BUTTON_HOME | BUTTON_REPEAT) # define MAZEZAM_MENU (BUTTON_HOME | BUTTON_REPEAT)
@ -48,6 +56,10 @@ PLUGIN_HEADER
# define MAZEZAM_LEFT BUTTON_LEFT # define MAZEZAM_LEFT BUTTON_LEFT
# define MAZEZAM_UP BUTTON_UP # define MAZEZAM_UP BUTTON_UP
# define MAZEZAM_DOWN BUTTON_DOWN # define MAZEZAM_DOWN BUTTON_DOWN
# define MAZEZAM_RIGHT_REPEAT (BUTTON_RIGHT|BUTTON_REPEAT)
# define MAZEZAM_LEFT_REPEAT (BUTTON_LEFT|BUTTON_REPEAT)
# define MAZEZAM_UP_REPEAT (BUTTON_UP|BUTTON_REPEAT)
# define MAZEZAM_DOWN_REPEAT (BUTTON_DOWN|BUTTON_REPEAT)
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) #elif (CONFIG_KEYPAD == SANSA_E200_PAD)
# define MAZEZAM_MENU BUTTON_POWER # define MAZEZAM_MENU BUTTON_POWER
@ -56,6 +68,10 @@ PLUGIN_HEADER
# define MAZEZAM_LEFT BUTTON_LEFT # define MAZEZAM_LEFT BUTTON_LEFT
# define MAZEZAM_UP BUTTON_UP # define MAZEZAM_UP BUTTON_UP
# define MAZEZAM_DOWN BUTTON_DOWN # define MAZEZAM_DOWN BUTTON_DOWN
# define MAZEZAM_RIGHT_REPEAT (BUTTON_RIGHT|BUTTON_REPEAT)
# define MAZEZAM_LEFT_REPEAT (BUTTON_LEFT|BUTTON_REPEAT)
# define MAZEZAM_UP_REPEAT (BUTTON_UP|BUTTON_REPEAT)
# define MAZEZAM_DOWN_REPEAT (BUTTON_DOWN|BUTTON_REPEAT)
#else #else
# include "lib/pluginlib_actions.h" # include "lib/pluginlib_actions.h"
@ -64,6 +80,10 @@ PLUGIN_HEADER
# define MAZEZAM_LEFT PLA_LEFT # define MAZEZAM_LEFT PLA_LEFT
# define MAZEZAM_UP PLA_UP # define MAZEZAM_UP PLA_UP
# define MAZEZAM_DOWN PLA_DOWN # define MAZEZAM_DOWN PLA_DOWN
# define MAZEZAM_RIGHT_REPEAT PLA_RIGHT_REPEAT
# define MAZEZAM_LEFT_REPEAT PLA_LEFT_REPEAT
# define MAZEZAM_UP_REPEAT PLA_UP_REPEAT
# define MAZEZAM_DOWN_REPEAT PLA_DOWN_REPEAT
const struct button_mapping *plugin_contexts[] const struct button_mapping *plugin_contexts[]
= {generic_directions, generic_actions}; = {generic_directions, generic_actions};
#endif #endif
@ -574,7 +594,7 @@ static void level_loop(struct level_info* li, short* shift, short *x, short *y)
switch (button) { switch (button) {
case MAZEZAM_UP: case MAZEZAM_UP:
case (MAZEZAM_UP|BUTTON_REPEAT): case MAZEZAM_UP_REPEAT:
if ((*y > 0) && (*x >= 0) && (*x < li->width)) { if ((*y > 0) && (*x >= 0) && (*x < li->width)) {
for (i = 0; i < li->cd.l_num[*y-1]; i++) for (i = 0; i < li->cd.l_num[*y-1]; i++)
blocked = blocked || blocked = blocked ||
@ -585,10 +605,8 @@ static void level_loop(struct level_info* li, short* shift, short *x, short *y)
} }
break; break;
case MAZEZAM_DOWN: case MAZEZAM_DOWN:
case (MAZEZAM_DOWN|BUTTON_REPEAT): case MAZEZAM_DOWN_REPEAT:
if ((*y < li->height-1) && (*x >= 0) && (*x < li->width)) { if ((*y < li->height-1) && (*x >= 0) && (*x < li->width)) {
for (i = 0; i < li->cd.l_num[*y+1]; i++) for (i = 0; i < li->cd.l_num[*y+1]; i++)
blocked = blocked || blocked = blocked ||
@ -600,7 +618,7 @@ static void level_loop(struct level_info* li, short* shift, short *x, short *y)
break; break;
case MAZEZAM_LEFT: case MAZEZAM_LEFT:
case (MAZEZAM_LEFT|BUTTON_REPEAT): case MAZEZAM_LEFT_REPEAT:
if (*x > 0) { if (*x > 0) {
for (i = 0; i < li->cd.l_num[*y]; i++) for (i = 0; i < li->cd.l_num[*y]; i++)
blocked = blocked || blocked = blocked ||
@ -615,7 +633,7 @@ static void level_loop(struct level_info* li, short* shift, short *x, short *y)
break; break;
case MAZEZAM_RIGHT: case MAZEZAM_RIGHT:
case (MAZEZAM_RIGHT|BUTTON_REPEAT): case MAZEZAM_RIGHT_REPEAT:
if (*x < li->width-1) { if (*x < li->width-1) {
for (i = 0; i < li->cd.l_num[*y]; i++) for (i = 0; i < li->cd.l_num[*y]; i++)
blocked = blocked || blocked = blocked ||
@ -817,6 +835,7 @@ static void game_loop(struct resume_data *r)
break; break;
case STATE_WELLDONE: case STATE_WELLDONE:
r->level = 0;
welldone_screen(); welldone_screen();
break; break;