diff options
Diffstat (limited to 'apps/plugins/puzzles/src/nestedvm.c')
-rw-r--r-- | apps/plugins/puzzles/src/nestedvm.c | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/apps/plugins/puzzles/src/nestedvm.c b/apps/plugins/puzzles/src/nestedvm.c index f7a2ae8ec5..0ad0f3fab4 100644 --- a/apps/plugins/puzzles/src/nestedvm.c +++ b/apps/plugins/puzzles/src/nestedvm.c | |||
@@ -17,7 +17,7 @@ | |||
17 | extern void _pause(); | 17 | extern void _pause(); |
18 | extern int _call_java(int cmd, int arg1, int arg2, int arg3); | 18 | extern int _call_java(int cmd, int arg1, int arg2, int arg3); |
19 | 19 | ||
20 | void fatal(char *fmt, ...) | 20 | void fatal(const char *fmt, ...) |
21 | { | 21 | { |
22 | va_list ap; | 22 | va_list ap; |
23 | fprintf(stderr, "fatal error: "); | 23 | fprintf(stderr, "fatal error: "); |
@@ -53,7 +53,7 @@ void frontend_default_colour(frontend *fe, float *output) | |||
53 | output[0] = output[1]= output[2] = 0.8f; | 53 | output[0] = output[1]= output[2] = 0.8f; |
54 | } | 54 | } |
55 | 55 | ||
56 | void nestedvm_status_bar(void *handle, char *text) | 56 | void nestedvm_status_bar(void *handle, const char *text) |
57 | { | 57 | { |
58 | _call_java(4,0,(int)text,0); | 58 | _call_java(4,0,(int)text,0); |
59 | } | 59 | } |
@@ -79,7 +79,7 @@ void nestedvm_unclip(void *handle) | |||
79 | } | 79 | } |
80 | 80 | ||
81 | void nestedvm_draw_text(void *handle, int x, int y, int fonttype, int fontsize, | 81 | void nestedvm_draw_text(void *handle, int x, int y, int fonttype, int fontsize, |
82 | int align, int colour, char *text) | 82 | int align, int colour, const char *text) |
83 | { | 83 | { |
84 | frontend *fe = (frontend *)handle; | 84 | frontend *fe = (frontend *)handle; |
85 | _call_java(5, x + fe->ox, y + fe->oy, | 85 | _call_java(5, x + fe->ox, y + fe->oy, |
@@ -259,7 +259,7 @@ void activate_timer(frontend *fe) | |||
259 | void jcallback_config_ok() | 259 | void jcallback_config_ok() |
260 | { | 260 | { |
261 | frontend *fe = (frontend *)_fe; | 261 | frontend *fe = (frontend *)_fe; |
262 | char *err; | 262 | const char *err; |
263 | 263 | ||
264 | err = midend_set_config(fe->me, fe->cfg_which, fe->cfg); | 264 | err = midend_set_config(fe->me, fe->cfg_which, fe->cfg); |
265 | 265 | ||
@@ -273,19 +273,22 @@ void jcallback_config_ok() | |||
273 | void jcallback_config_set_string(int item_ptr, int char_ptr) { | 273 | void jcallback_config_set_string(int item_ptr, int char_ptr) { |
274 | config_item *i = (config_item *)item_ptr; | 274 | config_item *i = (config_item *)item_ptr; |
275 | char* newval = (char*) char_ptr; | 275 | char* newval = (char*) char_ptr; |
276 | sfree(i->sval); | 276 | assert(i->type == C_STRING); |
277 | i->sval = dupstr(newval); | 277 | sfree(i->u.string.sval); |
278 | i->u.string.sval = dupstr(newval); | ||
278 | free(newval); | 279 | free(newval); |
279 | } | 280 | } |
280 | 281 | ||
281 | void jcallback_config_set_boolean(int item_ptr, int selected) { | 282 | void jcallback_config_set_boolean(int item_ptr, int selected) { |
282 | config_item *i = (config_item *)item_ptr; | 283 | config_item *i = (config_item *)item_ptr; |
283 | i->ival = selected != 0 ? TRUE : FALSE; | 284 | assert(i->type == C_BOOLEAN); |
285 | i->u.boolean.bval = selected != 0 ? TRUE : FALSE; | ||
284 | } | 286 | } |
285 | 287 | ||
286 | void jcallback_config_set_choice(int item_ptr, int selected) { | 288 | void jcallback_config_set_choice(int item_ptr, int selected) { |
287 | config_item *i = (config_item *)item_ptr; | 289 | config_item *i = (config_item *)item_ptr; |
288 | i->ival = selected; | 290 | assert(i->type == C_CHOICES); |
291 | i->u.choices.selected = selected; | ||
289 | } | 292 | } |
290 | 293 | ||
291 | static int get_config(frontend *fe, int which) | 294 | static int get_config(frontend *fe, int which) |
@@ -298,7 +301,18 @@ static int get_config(frontend *fe, int which) | |||
298 | _call_java(10, (int)title, 0, 0); | 301 | _call_java(10, (int)title, 0, 0); |
299 | for (i = fe->cfg; i->type != C_END; i++) { | 302 | for (i = fe->cfg; i->type != C_END; i++) { |
300 | _call_java(5, (int)i, i->type, (int)i->name); | 303 | _call_java(5, (int)i, i->type, (int)i->name); |
301 | _call_java(11, (int)i->sval, i->ival, 0); | 304 | switch (i->type) { |
305 | case C_STRING: | ||
306 | _call_java(11, (int)i->u.string.sval, 0, 0); | ||
307 | break; | ||
308 | case C_BOOLEAN: | ||
309 | _call_java(11, 0, i->u.boolean.bval, 0); | ||
310 | break; | ||
311 | case C_CHOICES: | ||
312 | _call_java(11, (int)i->u.choices.choicenames, | ||
313 | i->u.choices.selected, 0); | ||
314 | break; | ||
315 | } | ||
302 | } | 316 | } |
303 | _call_java(12,0,0,0); | 317 | _call_java(12,0,0,0); |
304 | free_cfg(fe->cfg); | 318 | free_cfg(fe->cfg); |
@@ -363,7 +377,7 @@ int jcallback_preset_event(int ptr_game_params) | |||
363 | int jcallback_solve_event() | 377 | int jcallback_solve_event() |
364 | { | 378 | { |
365 | frontend *fe = (frontend *)_fe; | 379 | frontend *fe = (frontend *)_fe; |
366 | char *msg; | 380 | const char *msg; |
367 | 381 | ||
368 | msg = midend_solve(fe->me); | 382 | msg = midend_solve(fe->me); |
369 | 383 | ||