private JLabel statusBar;
private PuzzlePanel pp;
private Runtime runtime;
+ private String[] puzzle_args;
private Graphics2D gg;
private Timer timer;
private int xarg1, xarg2, xarg3;
runtimeCall("jcallback_timer_func", new int[0]);
}
});
+ String gameid;
+ try {
+ gameid = getParameter("game_id");
+ } catch (java.lang.NullPointerException ex) {
+ gameid = null;
+ }
+ if (gameid == null) {
+ puzzle_args = null;
+ } else {
+ puzzle_args = new String[2];
+ puzzle_args[0] = "puzzle";
+ puzzle_args[1] = gameid;
+ }
SwingUtilities.invokeLater(new Runnable() {
public void run() {
- runtime.start();
+ runtime.start(puzzle_args);
runtime.execute();
}
});
case 7: // string
gg.setColor(colors[arg2]);
{
- String text = runtime.cstring(arg3);
+ String text = runtime.utfstring(arg3);
Font ft = new Font((xarg3 & 0x10) != 0 ? "Monospaced" : "Dialog",
Font.PLAIN, 100);
int height100 = this.getFontMetrics(ft).getHeight();
int asc = fm.getAscent(), desc = fm.getDescent();
if ((xarg3 & ALIGN_VCENTRE) != 0)
xarg2 += asc - (asc+desc)/2;
- else
- xarg2 += asc;
int wid = fm.stringWidth(text);
if ((xarg3 & ALIGN_HCENTRE) != 0)
xarg1 -= wid / 2;
break;
case C_CHOICES:
JComboBox jcm = (JComboBox)cc.component;
- runtimeCall("jcallback_config_set_boolean", new int[] {cc.configItemPointer, jcm.getSelectedIndex()});
+ runtimeCall("jcallback_config_set_choice", new int[] {cc.configItemPointer, jcm.getSelectedIndex()});
break;
}
}