X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/2c9308077cfcf702a04a37b7d633e912f05e3aee..08d8cd006043dd895777fdd3196ff271863fbdd4:/nestedvm.c diff --git a/nestedvm.c b/nestedvm.c index 0a23a30..9381b6c 100644 --- a/nestedvm.c +++ b/nestedvm.c @@ -167,6 +167,16 @@ void nestedvm_end_draw(void *handle) _call_java(4,2,0,0); } +char *nestedvm_text_fallback(void *handle, const char *const *strings, + int nstrings) +{ + /* + * We assume Java can cope with any UTF-8 likely to be emitted + * by a puzzle. + */ + return dupstr(strings[0]); +} + const struct drawing_api nestedvm_drawing = { nestedvm_draw_text, nestedvm_draw_rect, @@ -184,7 +194,8 @@ const struct drawing_api nestedvm_drawing = { nestedvm_blitter_save, nestedvm_blitter_load, NULL, NULL, NULL, NULL, NULL, NULL, /* {begin,end}_{doc,page,puzzle} */ - NULL, /* line_width */ + NULL, NULL, /* line_width, line_dotted */ + nestedvm_text_fallback, }; int jcallback_key_event(int x, int y, int keyval) @@ -376,6 +387,8 @@ int main(int argc, char **argv) _fe = snew(frontend); _fe->timer_active = FALSE; _fe->me = midend_new(_fe, &thegame, &nestedvm_drawing, _fe); + if (argc > 1) + midend_game_id(_fe->me, argv[1]); /* ignore failure */ midend_new_game(_fe->me); if ((n = midend_num_presets(_fe->me)) > 0) {