mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Handle a <param name="game_id"> by passing it in to the C side as
argv[1], which in turn feeds it into the midend as a game ID. This can of course take any of the forms supported by the native C puzzles: a pure game parameter string, a params:description specific game ID, or a params#seed random game ID. [originally from svn r8095]
This commit is contained in:
@ -33,6 +33,7 @@ public class PuzzleApplet extends JApplet implements Runtime.CallJavaCB {
|
|||||||
private JLabel statusBar;
|
private JLabel statusBar;
|
||||||
private PuzzlePanel pp;
|
private PuzzlePanel pp;
|
||||||
private Runtime runtime;
|
private Runtime runtime;
|
||||||
|
private String[] puzzle_args;
|
||||||
private Graphics2D gg;
|
private Graphics2D gg;
|
||||||
private Timer timer;
|
private Timer timer;
|
||||||
private int xarg1, xarg2, xarg3;
|
private int xarg1, xarg2, xarg3;
|
||||||
@ -172,9 +173,23 @@ public class PuzzleApplet extends JApplet implements Runtime.CallJavaCB {
|
|||||||
runtimeCall("jcallback_timer_func", new int[0]);
|
runtimeCall("jcallback_timer_func", new int[0]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
String gameid;
|
||||||
|
try {
|
||||||
|
gameid = getParameter("game_id");
|
||||||
|
} catch (java.lang.NullPointerException ex) {
|
||||||
|
gameid = null;
|
||||||
|
}
|
||||||
|
System.out.println("ooh " + gameid);
|
||||||
|
if (gameid == null) {
|
||||||
|
puzzle_args = null;
|
||||||
|
} else {
|
||||||
|
puzzle_args = new String[2];
|
||||||
|
puzzle_args[0] = "puzzle";
|
||||||
|
puzzle_args[1] = gameid;
|
||||||
|
}
|
||||||
SwingUtilities.invokeLater(new Runnable() {
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
runtime.start();
|
runtime.start(puzzle_args);
|
||||||
runtime.execute();
|
runtime.execute();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -376,6 +376,8 @@ int main(int argc, char **argv)
|
|||||||
_fe = snew(frontend);
|
_fe = snew(frontend);
|
||||||
_fe->timer_active = FALSE;
|
_fe->timer_active = FALSE;
|
||||||
_fe->me = midend_new(_fe, &thegame, &nestedvm_drawing, _fe);
|
_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);
|
midend_new_game(_fe->me);
|
||||||
|
|
||||||
if ((n = midend_num_presets(_fe->me)) > 0) {
|
if ((n = midend_num_presets(_fe->me)) > 0) {
|
||||||
|
Reference in New Issue
Block a user