summaryrefslogtreecommitdiff
path: root/apps/plugins/jewels.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/jewels.c')
-rw-r--r--apps/plugins/jewels.c66
1 files changed, 60 insertions, 6 deletions
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 08051c8e9e..f19c63fd24 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -38,6 +38,8 @@ PLUGIN_HEADER
38#define JEWELS_RIGHT BUTTON_RIGHT 38#define JEWELS_RIGHT BUTTON_RIGHT
39#define JEWELS_SELECT BUTTON_PLAY 39#define JEWELS_SELECT BUTTON_PLAY
40#define JEWELS_CANCEL BUTTON_OFF 40#define JEWELS_CANCEL BUTTON_OFF
41#define HK_SELECT "PLAY"
42#define HK_CANCEL "OFF"
41 43
42#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD 44#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
43#define JEWELS_UP BUTTON_UP 45#define JEWELS_UP BUTTON_UP
@@ -46,6 +48,8 @@ PLUGIN_HEADER
46#define JEWELS_RIGHT BUTTON_RIGHT 48#define JEWELS_RIGHT BUTTON_RIGHT
47#define JEWELS_SELECT BUTTON_SELECT 49#define JEWELS_SELECT BUTTON_SELECT
48#define JEWELS_CANCEL BUTTON_OFF 50#define JEWELS_CANCEL BUTTON_OFF
51#define HK_SELECT "SELECT"
52#define HK_CANCEL "OFF"
49 53
50#elif CONFIG_KEYPAD == ONDIO_PAD 54#elif CONFIG_KEYPAD == ONDIO_PAD
51#define JEWELS_UP BUTTON_UP 55#define JEWELS_UP BUTTON_UP
@@ -54,6 +58,8 @@ PLUGIN_HEADER
54#define JEWELS_RIGHT BUTTON_RIGHT 58#define JEWELS_RIGHT BUTTON_RIGHT
55#define JEWELS_SELECT BUTTON_MENU 59#define JEWELS_SELECT BUTTON_MENU
56#define JEWELS_CANCEL BUTTON_OFF 60#define JEWELS_CANCEL BUTTON_OFF
61#define HK_SELECT "MENU"
62#define HK_CANCEL "OFF"
57 63
58#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) 64#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD)
59#define JEWELS_UP BUTTON_UP 65#define JEWELS_UP BUTTON_UP
@@ -63,6 +69,8 @@ PLUGIN_HEADER
63#define JEWELS_SELECT BUTTON_SELECT 69#define JEWELS_SELECT BUTTON_SELECT
64#define JEWELS_CANCEL BUTTON_OFF 70#define JEWELS_CANCEL BUTTON_OFF
65#define JEWELS_RC_CANCEL BUTTON_RC_STOP 71#define JEWELS_RC_CANCEL BUTTON_RC_STOP
72#define HK_SELECT "SELECT"
73#define HK_CANCEL "OFF"
66 74
67#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 75#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
68 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 76 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
@@ -75,6 +83,8 @@ PLUGIN_HEADER
75#define JEWELS_NEXT BUTTON_SCROLL_FWD 83#define JEWELS_NEXT BUTTON_SCROLL_FWD
76#define JEWELS_SELECT BUTTON_SELECT 84#define JEWELS_SELECT BUTTON_SELECT
77#define JEWELS_CANCEL (BUTTON_SELECT | BUTTON_MENU) 85#define JEWELS_CANCEL (BUTTON_SELECT | BUTTON_MENU)
86#define HK_SELECT "SELECT"
87#define HK_CANCEL "SEL + MENU"
78 88
79#elif (CONFIG_KEYPAD == IPOD_3G_PAD) 89#elif (CONFIG_KEYPAD == IPOD_3G_PAD)
80#define JEWELS_LEFT BUTTON_LEFT 90#define JEWELS_LEFT BUTTON_LEFT
@@ -83,6 +93,8 @@ PLUGIN_HEADER
83#define JEWELS_DOWN BUTTON_SCROLL_FWD 93#define JEWELS_DOWN BUTTON_SCROLL_FWD
84#define JEWELS_SELECT BUTTON_SELECT 94#define JEWELS_SELECT BUTTON_SELECT
85#define JEWELS_CANCEL BUTTON_MENU 95#define JEWELS_CANCEL BUTTON_MENU
96#define HK_SELECT "SELECT"
97#define HK_CANCEL "MENU"
86 98
87#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 99#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
88#define JEWELS_UP BUTTON_UP 100#define JEWELS_UP BUTTON_UP
@@ -91,6 +103,8 @@ PLUGIN_HEADER
91#define JEWELS_RIGHT BUTTON_RIGHT 103#define JEWELS_RIGHT BUTTON_RIGHT
92#define JEWELS_SELECT BUTTON_SELECT 104#define JEWELS_SELECT BUTTON_SELECT
93#define JEWELS_CANCEL BUTTON_PLAY 105#define JEWELS_CANCEL BUTTON_PLAY
106#define HK_SELECT "SELECT"
107#define HK_CANCEL "PLAY"
94 108
95#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD 109#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
96#define JEWELS_UP BUTTON_UP 110#define JEWELS_UP BUTTON_UP
@@ -99,6 +113,8 @@ PLUGIN_HEADER
99#define JEWELS_RIGHT BUTTON_RIGHT 113#define JEWELS_RIGHT BUTTON_RIGHT
100#define JEWELS_SELECT BUTTON_SELECT 114#define JEWELS_SELECT BUTTON_SELECT
101#define JEWELS_CANCEL BUTTON_POWER 115#define JEWELS_CANCEL BUTTON_POWER
116#define HK_SELECT "SELECT"
117#define HK_CANCEL "POWER"
102 118
103#elif CONFIG_KEYPAD == GIGABEAT_PAD 119#elif CONFIG_KEYPAD == GIGABEAT_PAD
104#define JEWELS_UP BUTTON_UP 120#define JEWELS_UP BUTTON_UP
@@ -107,6 +123,8 @@ PLUGIN_HEADER
107#define JEWELS_RIGHT BUTTON_RIGHT 123#define JEWELS_RIGHT BUTTON_RIGHT
108#define JEWELS_SELECT BUTTON_SELECT 124#define JEWELS_SELECT BUTTON_SELECT
109#define JEWELS_CANCEL BUTTON_POWER 125#define JEWELS_CANCEL BUTTON_POWER
126#define HK_SELECT "SELECT"
127#define HK_CANCEL "POWER"
110 128
111#elif CONFIG_KEYPAD == SANSA_E200_PAD 129#elif CONFIG_KEYPAD == SANSA_E200_PAD
112#define JEWELS_SCROLLWHEEL 130#define JEWELS_SCROLLWHEEL
@@ -118,6 +136,8 @@ PLUGIN_HEADER
118#define JEWELS_NEXT BUTTON_SCROLL_FWD 136#define JEWELS_NEXT BUTTON_SCROLL_FWD
119#define JEWELS_SELECT BUTTON_SELECT 137#define JEWELS_SELECT BUTTON_SELECT
120#define JEWELS_CANCEL BUTTON_POWER 138#define JEWELS_CANCEL BUTTON_POWER
139#define HK_SELECT "SELECT"
140#define HK_CANCEL "POWER"
121 141
122#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) 142#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
123#define JEWELS_SCROLLWHEEL 143#define JEWELS_SCROLLWHEEL
@@ -129,6 +149,8 @@ PLUGIN_HEADER
129#define JEWELS_NEXT BUTTON_SCROLL_FWD 149#define JEWELS_NEXT BUTTON_SCROLL_FWD
130#define JEWELS_SELECT BUTTON_SELECT 150#define JEWELS_SELECT BUTTON_SELECT
131#define JEWELS_CANCEL (BUTTON_HOME|BUTTON_REPEAT) 151#define JEWELS_CANCEL (BUTTON_HOME|BUTTON_REPEAT)
152#define HK_SELECT "SELECT"
153#define HK_CANCEL "HOME"
132 154
133#elif CONFIG_KEYPAD == SANSA_C200_PAD || \ 155#elif CONFIG_KEYPAD == SANSA_C200_PAD || \
134CONFIG_KEYPAD == SANSA_CLIP_PAD || \ 156CONFIG_KEYPAD == SANSA_CLIP_PAD || \
@@ -139,6 +161,8 @@ CONFIG_KEYPAD == SANSA_M200_PAD
139#define JEWELS_RIGHT BUTTON_RIGHT 161#define JEWELS_RIGHT BUTTON_RIGHT
140#define JEWELS_SELECT BUTTON_SELECT 162#define JEWELS_SELECT BUTTON_SELECT
141#define JEWELS_CANCEL BUTTON_POWER 163#define JEWELS_CANCEL BUTTON_POWER
164#define HK_SELECT "SELECT"
165#define HK_CANCEL "POWER"
142 166
143#elif CONFIG_KEYPAD == IRIVER_H10_PAD 167#elif CONFIG_KEYPAD == IRIVER_H10_PAD
144#define JEWELS_UP BUTTON_SCROLL_UP 168#define JEWELS_UP BUTTON_SCROLL_UP
@@ -147,6 +171,8 @@ CONFIG_KEYPAD == SANSA_M200_PAD
147#define JEWELS_RIGHT BUTTON_RIGHT 171#define JEWELS_RIGHT BUTTON_RIGHT
148#define JEWELS_SELECT BUTTON_PLAY 172#define JEWELS_SELECT BUTTON_PLAY
149#define JEWELS_CANCEL BUTTON_POWER 173#define JEWELS_CANCEL BUTTON_POWER
174#define HK_SELECT "PLAY"
175#define HK_CANCEL "POWER"
150 176
151#elif CONFIG_KEYPAD == GIGABEAT_S_PAD 177#elif CONFIG_KEYPAD == GIGABEAT_S_PAD
152#define JEWELS_UP BUTTON_UP 178#define JEWELS_UP BUTTON_UP
@@ -155,6 +181,8 @@ CONFIG_KEYPAD == SANSA_M200_PAD
155#define JEWELS_RIGHT BUTTON_RIGHT 181#define JEWELS_RIGHT BUTTON_RIGHT
156#define JEWELS_SELECT BUTTON_SELECT 182#define JEWELS_SELECT BUTTON_SELECT
157#define JEWELS_CANCEL BUTTON_BACK 183#define JEWELS_CANCEL BUTTON_BACK
184#define HK_SELECT "SELECT"
185#define HK_CANCEL "BACK"
158 186
159#elif CONFIG_KEYPAD == MROBE100_PAD 187#elif CONFIG_KEYPAD == MROBE100_PAD
160#define JEWELS_UP BUTTON_UP 188#define JEWELS_UP BUTTON_UP
@@ -163,6 +191,8 @@ CONFIG_KEYPAD == SANSA_M200_PAD
163#define JEWELS_RIGHT BUTTON_RIGHT 191#define JEWELS_RIGHT BUTTON_RIGHT
164#define JEWELS_SELECT BUTTON_SELECT 192#define JEWELS_SELECT BUTTON_SELECT
165#define JEWELS_CANCEL BUTTON_POWER 193#define JEWELS_CANCEL BUTTON_POWER
194#define HK_SELECT "SELECT"
195#define HK_CANCEL "POWER"
166 196
167#elif CONFIG_KEYPAD == IAUDIO_M3_PAD 197#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
168#define JEWELS_UP BUTTON_RC_VOL_UP 198#define JEWELS_UP BUTTON_RC_VOL_UP
@@ -171,10 +201,14 @@ CONFIG_KEYPAD == SANSA_M200_PAD
171#define JEWELS_RIGHT BUTTON_RC_FF 201#define JEWELS_RIGHT BUTTON_RC_FF
172#define JEWELS_SELECT BUTTON_RC_PLAY 202#define JEWELS_SELECT BUTTON_RC_PLAY
173#define JEWELS_CANCEL BUTTON_RC_REC 203#define JEWELS_CANCEL BUTTON_RC_REC
204#define HK_SELECT "PLAY"
205#define HK_CANCEL "REC"
206
174#define JEWELS_RC_CANCEL BUTTON_REC 207#define JEWELS_RC_CANCEL BUTTON_REC
175 208
176#elif CONFIG_KEYPAD == COWOND2_PAD 209#elif CONFIG_KEYPAD == COWOND2_PAD
177#define JEWELS_CANCEL BUTTON_POWER 210#define JEWELS_CANCEL BUTTON_POWER
211#define HK_CANCEL "POWER"
178 212
179#elif CONFIG_KEYPAD == IAUDIO67_PAD 213#elif CONFIG_KEYPAD == IAUDIO67_PAD
180#define JEWELS_UP BUTTON_STOP 214#define JEWELS_UP BUTTON_STOP
@@ -183,6 +217,8 @@ CONFIG_KEYPAD == SANSA_M200_PAD
183#define JEWELS_RIGHT BUTTON_RIGHT 217#define JEWELS_RIGHT BUTTON_RIGHT
184#define JEWELS_SELECT BUTTON_MENU 218#define JEWELS_SELECT BUTTON_MENU
185#define JEWELS_CANCEL BUTTON_POWER 219#define JEWELS_CANCEL BUTTON_POWER
220#define HK_SELECT "MENU"
221#define HK_CANCEL "POWER"
186 222
187#elif CONFIG_KEYPAD == CREATIVEZVM_PAD 223#elif CONFIG_KEYPAD == CREATIVEZVM_PAD
188#define JEWELS_UP BUTTON_UP 224#define JEWELS_UP BUTTON_UP
@@ -191,6 +227,8 @@ CONFIG_KEYPAD == SANSA_M200_PAD
191#define JEWELS_RIGHT BUTTON_RIGHT 227#define JEWELS_RIGHT BUTTON_RIGHT
192#define JEWELS_SELECT BUTTON_SELECT 228#define JEWELS_SELECT BUTTON_SELECT
193#define JEWELS_CANCEL BUTTON_BACK 229#define JEWELS_CANCEL BUTTON_BACK
230#define HK_SELECT "MIDDLE"
231#define HK_CANCEL "BACK"
194 232
195#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 233#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
196#define JEWELS_UP BUTTON_UP 234#define JEWELS_UP BUTTON_UP
@@ -199,10 +237,13 @@ CONFIG_KEYPAD == SANSA_M200_PAD
199#define JEWELS_RIGHT BUTTON_RIGHT 237#define JEWELS_RIGHT BUTTON_RIGHT
200#define JEWELS_SELECT BUTTON_SELECT 238#define JEWELS_SELECT BUTTON_SELECT
201#define JEWELS_CANCEL BUTTON_POWER 239#define JEWELS_CANCEL BUTTON_POWER
240#define HK_SELECT "SELECT"
241#define HK_CANCEL "POWER"
202 242
203#elif CONFIG_KEYPAD == ONDAVX747_PAD || \ 243#elif CONFIG_KEYPAD == ONDAVX747_PAD || \
204CONFIG_KEYPAD == MROBE500_PAD 244CONFIG_KEYPAD == MROBE500_PAD
205#define JEWELS_CANCEL BUTTON_POWER 245#define JEWELS_CANCEL BUTTON_POWER
246#define HK_CANCEL "POWER"
206 247
207#else 248#else
208#error No keymap defined! 249#error No keymap defined!
@@ -223,9 +264,11 @@ CONFIG_KEYPAD == MROBE500_PAD
223#endif 264#endif
224#ifndef JEWELS_SELECT 265#ifndef JEWELS_SELECT
225#define JEWELS_SELECT BUTTON_CENTER 266#define JEWELS_SELECT BUTTON_CENTER
267#define HK_SELECT "CENTER"
226#endif 268#endif
227#ifndef JEWELS_CANCEL 269#ifndef JEWELS_CANCEL
228#define JEWELS_CANCEL BUTTON_TOPLEFT 270#define JEWELS_CANCEL BUTTON_TOPLEFT
271#define HK_CANCEL "TOPLEFT"
229#endif 272#endif
230#endif 273#endif
231 274
@@ -1312,15 +1355,26 @@ static int jewels_help(void)
1312 rb->lcd_setfont(FONT_UI); 1355 rb->lcd_setfont(FONT_UI);
1313#define WORDS (sizeof help_text / sizeof (char*)) 1356#define WORDS (sizeof help_text / sizeof (char*))
1314 static char *help_text[] = { 1357 static char *help_text[] = {
1315 "Jewels", "", "Aim", "", "Swap", "pairs", "of", "jewels", "to", 1358 "Jewels", "", "Aim", "",
1316 "form", "connected", "segments", "of", "three", "or", "more", "of", 1359 "Swap", "pairs", "of", "jewels", "to", "form", "connected",
1317 "the", "same", "type.", "", "The", "goal", "of", "the", "game", 1360 "segments", "of", "three", "or", "more", "of", "the", "same",
1318 "is", "to", "score", "as", "many", "points", "as", "possible", 1361 "type.", "",
1319 "before", "running", "out", "of", "available", "moves." 1362 "The", "goal", "of", "the", "game", "is", "to", "score", "as", "many",
1363 "points", "as", "possible", "before", "running", "out", "of",
1364 "available", "moves.", "", "",
1365 "Controls", "",
1366 "Directions",
1367#ifdef JEWELS_SCROLLWHEEL
1368 "or", "scroll",
1369#endif
1370 "to", "move", "",
1371 HK_SELECT, "to", "select", "",
1372 HK_CANCEL, "to", "go", "to", "menu"
1320 }; 1373 };
1321 static struct style_text formation[]={ 1374 static struct style_text formation[]={
1322 { 0, TEXT_CENTER|TEXT_UNDERLINE }, 1375 { 0, TEXT_CENTER|TEXT_UNDERLINE },
1323 { 2, C_RED } 1376 { 2, C_RED },
1377 { -1, 0 }
1324 }; 1378 };
1325 1379
1326#ifdef HAVE_LCD_COLOR 1380#ifdef HAVE_LCD_COLOR