diff options
Diffstat (limited to 'apps/plugins/sokoban.c')
-rw-r--r-- | apps/plugins/sokoban.c | 50 |
1 files changed, 42 insertions, 8 deletions
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 66492fd3d5..d665a0a622 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c | |||
@@ -105,6 +105,8 @@ extern const fb_data sokoban_tiles[]; | |||
105 | /* variable button definitions */ | 105 | /* variable button definitions */ |
106 | #if (CONFIG_KEYPAD == RECORDER_PAD) || \ | 106 | #if (CONFIG_KEYPAD == RECORDER_PAD) || \ |
107 | (CONFIG_KEYPAD == ARCHOS_AV300_PAD) | 107 | (CONFIG_KEYPAD == ARCHOS_AV300_PAD) |
108 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
109 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
108 | #define SOKOBAN_UP BUTTON_UP | 110 | #define SOKOBAN_UP BUTTON_UP |
109 | #define SOKOBAN_DOWN BUTTON_DOWN | 111 | #define SOKOBAN_DOWN BUTTON_DOWN |
110 | #define SOKOBAN_MENU BUTTON_OFF | 112 | #define SOKOBAN_MENU BUTTON_OFF |
@@ -118,6 +120,8 @@ extern const fb_data sokoban_tiles[]; | |||
118 | #define BUTTON_SAVE_NAME "ON" | 120 | #define BUTTON_SAVE_NAME "ON" |
119 | 121 | ||
120 | #elif CONFIG_KEYPAD == ONDIO_PAD | 122 | #elif CONFIG_KEYPAD == ONDIO_PAD |
123 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
124 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
121 | #define SOKOBAN_UP BUTTON_UP | 125 | #define SOKOBAN_UP BUTTON_UP |
122 | #define SOKOBAN_DOWN BUTTON_DOWN | 126 | #define SOKOBAN_DOWN BUTTON_DOWN |
123 | #define SOKOBAN_MENU BUTTON_OFF | 127 | #define SOKOBAN_MENU BUTTON_OFF |
@@ -133,6 +137,8 @@ extern const fb_data sokoban_tiles[]; | |||
133 | 137 | ||
134 | #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ | 138 | #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ |
135 | (CONFIG_KEYPAD == IRIVER_H300_PAD) | 139 | (CONFIG_KEYPAD == IRIVER_H300_PAD) |
140 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
141 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
136 | #define SOKOBAN_UP BUTTON_UP | 142 | #define SOKOBAN_UP BUTTON_UP |
137 | #define SOKOBAN_DOWN BUTTON_DOWN | 143 | #define SOKOBAN_DOWN BUTTON_DOWN |
138 | #define SOKOBAN_MENU BUTTON_OFF | 144 | #define SOKOBAN_MENU BUTTON_OFF |
@@ -150,6 +156,8 @@ extern const fb_data sokoban_tiles[]; | |||
150 | #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ | 156 | #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ |
151 | (CONFIG_KEYPAD == IPOD_3G_PAD) || \ | 157 | (CONFIG_KEYPAD == IPOD_3G_PAD) || \ |
152 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) | 158 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) |
159 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
160 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
153 | #define SOKOBAN_UP BUTTON_MENU | 161 | #define SOKOBAN_UP BUTTON_MENU |
154 | #define SOKOBAN_DOWN BUTTON_PLAY | 162 | #define SOKOBAN_DOWN BUTTON_PLAY |
155 | #define SOKOBAN_MENU (BUTTON_SELECT | BUTTON_MENU) | 163 | #define SOKOBAN_MENU (BUTTON_SELECT | BUTTON_MENU) |
@@ -165,6 +173,8 @@ extern const fb_data sokoban_tiles[]; | |||
165 | /* FIXME: if/when simultaneous button presses work for X5/M5, | 173 | /* FIXME: if/when simultaneous button presses work for X5/M5, |
166 | * add level up/down */ | 174 | * add level up/down */ |
167 | #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD | 175 | #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD |
176 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
177 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
168 | #define SOKOBAN_UP BUTTON_UP | 178 | #define SOKOBAN_UP BUTTON_UP |
169 | #define SOKOBAN_DOWN BUTTON_DOWN | 179 | #define SOKOBAN_DOWN BUTTON_DOWN |
170 | #define SOKOBAN_MENU BUTTON_POWER | 180 | #define SOKOBAN_MENU BUTTON_POWER |
@@ -177,6 +187,8 @@ extern const fb_data sokoban_tiles[]; | |||
177 | #define BUTTON_SAVE_NAME "SELECT" | 187 | #define BUTTON_SAVE_NAME "SELECT" |
178 | 188 | ||
179 | #elif CONFIG_KEYPAD == IRIVER_H10_PAD | 189 | #elif CONFIG_KEYPAD == IRIVER_H10_PAD |
190 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
191 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
180 | #define SOKOBAN_UP BUTTON_SCROLL_UP | 192 | #define SOKOBAN_UP BUTTON_SCROLL_UP |
181 | #define SOKOBAN_DOWN BUTTON_SCROLL_DOWN | 193 | #define SOKOBAN_DOWN BUTTON_SCROLL_DOWN |
182 | #define SOKOBAN_MENU BUTTON_POWER | 194 | #define SOKOBAN_MENU BUTTON_POWER |
@@ -191,6 +203,8 @@ extern const fb_data sokoban_tiles[]; | |||
191 | #define BUTTON_SAVE_NAME "PLAY" | 203 | #define BUTTON_SAVE_NAME "PLAY" |
192 | 204 | ||
193 | #elif CONFIG_KEYPAD == GIGABEAT_PAD | 205 | #elif CONFIG_KEYPAD == GIGABEAT_PAD |
206 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
207 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
194 | #define SOKOBAN_UP BUTTON_UP | 208 | #define SOKOBAN_UP BUTTON_UP |
195 | #define SOKOBAN_DOWN BUTTON_DOWN | 209 | #define SOKOBAN_DOWN BUTTON_DOWN |
196 | #define SOKOBAN_MENU BUTTON_POWER | 210 | #define SOKOBAN_MENU BUTTON_POWER |
@@ -204,6 +218,8 @@ extern const fb_data sokoban_tiles[]; | |||
204 | #define BUTTON_SAVE_NAME "SELECT" | 218 | #define BUTTON_SAVE_NAME "SELECT" |
205 | 219 | ||
206 | #elif CONFIG_KEYPAD == SANSA_E200_PAD | 220 | #elif CONFIG_KEYPAD == SANSA_E200_PAD |
221 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
222 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
207 | #define SOKOBAN_UP BUTTON_UP | 223 | #define SOKOBAN_UP BUTTON_UP |
208 | #define SOKOBAN_DOWN BUTTON_DOWN | 224 | #define SOKOBAN_DOWN BUTTON_DOWN |
209 | #define SOKOBAN_MENU BUTTON_POWER | 225 | #define SOKOBAN_MENU BUTTON_POWER |
@@ -218,6 +234,8 @@ extern const fb_data sokoban_tiles[]; | |||
218 | #define BUTTON_SAVE_NAME "SELECT" | 234 | #define BUTTON_SAVE_NAME "SELECT" |
219 | 235 | ||
220 | #elif CONFIG_KEYPAD == GIGABEAT_S_PAD | 236 | #elif CONFIG_KEYPAD == GIGABEAT_S_PAD |
237 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
238 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
221 | #define SOKOBAN_UP BUTTON_UP | 239 | #define SOKOBAN_UP BUTTON_UP |
222 | #define SOKOBAN_DOWN BUTTON_DOWN | 240 | #define SOKOBAN_DOWN BUTTON_DOWN |
223 | #define SOKOBAN_MENU BUTTON_MENU | 241 | #define SOKOBAN_MENU BUTTON_MENU |
@@ -231,6 +249,8 @@ extern const fb_data sokoban_tiles[]; | |||
231 | #define BUTTON_SAVE_NAME "SELECT" | 249 | #define BUTTON_SAVE_NAME "SELECT" |
232 | 250 | ||
233 | #elif CONFIG_KEYPAD == MROBE100_PAD | 251 | #elif CONFIG_KEYPAD == MROBE100_PAD |
252 | #define SOKOBAN_LEFT BUTTON_LEFT | ||
253 | #define SOKOBAN_RIGHT BUTTON_RIGHT | ||
234 | #define SOKOBAN_UP BUTTON_UP | 254 | #define SOKOBAN_UP BUTTON_UP |
235 | #define SOKOBAN_DOWN BUTTON_DOWN | 255 | #define SOKOBAN_DOWN BUTTON_DOWN |
236 | #define SOKOBAN_MENU BUTTON_POWER | 256 | #define SOKOBAN_MENU BUTTON_POWER |
@@ -243,6 +263,20 @@ extern const fb_data sokoban_tiles[]; | |||
243 | #define BUTTON_SAVE BUTTON_SELECT | 263 | #define BUTTON_SAVE BUTTON_SELECT |
244 | #define BUTTON_SAVE_NAME "SELECT" | 264 | #define BUTTON_SAVE_NAME "SELECT" |
245 | 265 | ||
266 | #elif CONFIG_KEYPAD == IAUDIO_M3_PAD | ||
267 | #define SOKOBAN_LEFT BUTTON_RC_REW | ||
268 | #define SOKOBAN_RIGHT BUTTON_RC_FF | ||
269 | #define SOKOBAN_UP BUTTON_RC_VOL_UP | ||
270 | #define SOKOBAN_DOWN BUTTON_RC_VOL_DOWN | ||
271 | #define SOKOBAN_MENU BUTTON_RC_REC | ||
272 | #define SOKOBAN_UNDO BUTTON_RC_MODE | ||
273 | #define SOKOBAN_REDO BUTTON_RC_MENU | ||
274 | #define SOKOBAN_PAUSE BUTTON_RC_PLAY | ||
275 | #define BUTTON_SAVE BUTTON_RC_PLAY | ||
276 | #define BUTTON_SAVE_NAME "PLAY" | ||
277 | |||
278 | #define SOKOBAN_RC_MENU BUTTON_REC | ||
279 | |||
246 | #else | 280 | #else |
247 | #error No keymap defined! | 281 | #error No keymap defined! |
248 | #endif | 282 | #endif |
@@ -1043,8 +1077,8 @@ static bool load(char *filename, bool silent) | |||
1043 | paused = !paused; | 1077 | paused = !paused; |
1044 | break; | 1078 | break; |
1045 | 1079 | ||
1046 | case BUTTON_LEFT: | 1080 | case SOKOBAN_LEFT: |
1047 | case BUTTON_LEFT | BUTTON_REPEAT: | 1081 | case SOKOBAN_LEFT | BUTTON_REPEAT: |
1048 | /* Go back one move */ | 1082 | /* Go back one move */ |
1049 | if (paused) { | 1083 | if (paused) { |
1050 | if (undo()) | 1084 | if (undo()) |
@@ -1054,8 +1088,8 @@ static bool load(char *filename, bool silent) | |||
1054 | } | 1088 | } |
1055 | break; | 1089 | break; |
1056 | 1090 | ||
1057 | case BUTTON_RIGHT: | 1091 | case SOKOBAN_RIGHT: |
1058 | case BUTTON_RIGHT | BUTTON_REPEAT: | 1092 | case SOKOBAN_RIGHT | BUTTON_REPEAT: |
1059 | /* Go forward one move */ | 1093 | /* Go forward one move */ |
1060 | if (paused) { | 1094 | if (paused) { |
1061 | if (redo()) | 1095 | if (redo()) |
@@ -1336,13 +1370,13 @@ static bool sokoban_loop(void) | |||
1336 | break; | 1370 | break; |
1337 | #endif | 1371 | #endif |
1338 | 1372 | ||
1339 | case BUTTON_LEFT: | 1373 | case SOKOBAN_LEFT: |
1340 | case BUTTON_LEFT | BUTTON_REPEAT: | 1374 | case SOKOBAN_LEFT | BUTTON_REPEAT: |
1341 | moved = move(SOKOBAN_MOVE_LEFT, false); | 1375 | moved = move(SOKOBAN_MOVE_LEFT, false); |
1342 | break; | 1376 | break; |
1343 | 1377 | ||
1344 | case BUTTON_RIGHT: | 1378 | case SOKOBAN_RIGHT: |
1345 | case BUTTON_RIGHT | BUTTON_REPEAT: | 1379 | case SOKOBAN_RIGHT | BUTTON_REPEAT: |
1346 | moved = move(SOKOBAN_MOVE_RIGHT, false); | 1380 | moved = move(SOKOBAN_MOVE_RIGHT, false); |
1347 | break; | 1381 | break; |
1348 | 1382 | ||