summaryrefslogtreecommitdiff
path: root/apps/plugins/sokoban.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/sokoban.c')
-rw-r--r--apps/plugins/sokoban.c61
1 files changed, 48 insertions, 13 deletions
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index c8a6ba7c92..2b12a3da58 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -278,25 +278,52 @@ extern const fb_data sokoban_tiles[];
278#define SOKOBAN_RC_MENU BUTTON_REC 278#define SOKOBAN_RC_MENU BUTTON_REC
279 279
280#elif CONFIG_KEYPAD == COWOND2_PAD 280#elif CONFIG_KEYPAD == COWOND2_PAD
281#define SOKOBAN_LEFT BUTTON_LEFT
282#define SOKOBAN_RIGHT BUTTON_RIGHT
283#define SOKOBAN_UP BUTTON_UP
284#define SOKOBAN_DOWN BUTTON_DOWN
285#define SOKOBAN_MENU BUTTON_MENU 281#define SOKOBAN_MENU BUTTON_MENU
286#define SOKOBAN_UNDO_PRE BUTTON_PLUS 282#define SOKOBAN_MENU_NAME "[MENU]"
287#define SOKOBAN_UNDO (BUTTON_LEFT|BUTTON_MENU)
288#define SOKOBAN_REDO (BUTTON_RIGHT | BUTTON_MENU)
289#define SOKOBAN_LEVEL_DOWN (BUTTON_MENU | BUTTON_DOWN)
290#define SOKOBAN_LEVEL_UP (BUTTON_MENU | BUTTON_UP)
291#define SOKOBAN_LEVEL_REPEAT (BUTTON_SELECT|BUTTON_MENU)
292#define SOKOBAN_PAUSE BUTTON_SELECT
293#define BUTTON_SAVE BUTTON_SELECT
294#define BUTTON_SAVE_NAME "SELECT"
295 283
296#else 284#else
297#error No keymap defined! 285#error No keymap defined!
298#endif 286#endif
299 287
288#ifdef HAVE_TOUCHPAD
289#ifndef SOKOBAN_LEFT
290#define SOKOBAN_LEFT BUTTON_MIDLEFT
291#endif
292#ifndef SOKOBAN_RIGHT
293#define SOKOBAN_RIGHT BUTTON_MIDRIGHT
294#endif
295#ifndef SOKOBAN_UP
296#define SOKOBAN_UP BUTTON_TOPMIDDLE
297#endif
298#ifndef SOKOBAN_DOWN
299#define SOKOBAN_DOWN BUTTON_BOTTOMMIDDLE
300#endif
301#ifndef SOKOBAN_MENU
302#define SOKOBAN_MENU BUTTON_TOPLEFT
303#define SOKOBAN_MENU_NAME "[TOPLEFT]"
304#endif
305#ifndef SOKOBAN_UNDO
306#define SOKOBAN_UNDO BUTTON_BOTTOMRIGHT
307#define SOKOBAN_UNDO_NAME "[BOTTOMRIGHT]"
308#endif
309#ifndef SOKOBAN_REDO
310#define SOKOBAN_REDO BUTTON_BOTTOMLEFT
311#define SOKOBAN_REDO_NAME "[BOTTOMLEFT]"
312#endif
313#ifndef SOKOBAN_PAUSE
314#define SOKOBAN_PAUSE BUTTON_CENTER
315#define SOKOBAN_PAUSE_NAME "[CENTER]"
316#endif
317#ifndef SOKOBAN_LEVEL_REPEAT
318#define SOKOBAN_LEVEL_REPEAT BUTTON_TOPRIGHT
319#define SOKOBAN_LEVEL_REPEAT_NAME "[TOPRIGHT]"
320#endif
321#ifndef BUTTON_SAVE
322#define BUTTON_SAVE BUTTON_CENTER
323#define BUTTON_SAVE_NAME "CENTER"
324#endif
325#endif
326
300#define SOKOBAN_FONT FONT_SYSFIXED 327#define SOKOBAN_FONT FONT_SYSFIXED
301 328
302 329
@@ -1261,6 +1288,14 @@ static int sokoban_menu(void)
1261 rb->lcd_putsxy(3, 56, "[SELECT+UP] Next Level"); 1288 rb->lcd_putsxy(3, 56, "[SELECT+UP] Next Level");
1262#endif 1289#endif
1263 1290
1291#ifdef HAVE_TOUCHPAD
1292 rb->lcd_putsxy(3, 6, SOKOBAN_MENU_NAME " Menu");
1293 rb->lcd_putsxy(3, 16, SOKOBAN_UNDO_NAME " Undo");
1294 rb->lcd_putsxy(3, 26, SOKOBAN_REDO_NAME " Redo");
1295 rb->lcd_putsxy(3, 36, SOKOBAN_PAUSE_NAME " Pause");
1296 rb->lcd_putsxy(3, 46, SOKOBAN_LEVEL_REPEAT_NAME " Restart Level");
1297#endif
1298
1264 FOR_NB_SCREENS(i) 1299 FOR_NB_SCREENS(i)
1265 rb->screens[i]->update(); 1300 rb->screens[i]->update();
1266 1301