static const struct option lopts[] = { LOPTS_INITIALIZER, {0} };
static char * const default_resources[] = {
+ "*title: RRace",
"*game.height: 371", // 365 + 2*shadowThickness
"*game.width: 498",
"*game.XmFrame.shadowThickness: 3",
"*game.XmFrame.shadowType: shadow_in",
"*goalArea.leftOffset: 1",
- "*gameCanvas.background: #202020",
"*gameNew.accelerator: Ctrl<Key>N",
"*gameNew.acceleratorText: Ctrl+N",
static void print_help(void)
{
+ struct lopt_help help = {0};
const struct option *opt;
print_usage(stdout);
putchar('\n');
puts("Options:");
for (opt = lopts; opt->name; opt++) {
- struct lopt_help help;
-
if (!lopt_get_help(opt, &help))
continue;
help_print_option(opt, help.arg, help.desc, 20);
}
}
- shell = XtOpenApplication(app, PROGNAME, NULL, 0,
+ shell = XtOpenApplication(app, PACKAGE_TARNAME, NULL, 0,
&argc, argv, (String *)default_resources,
- sessionShellWidgetClass, NULL, 0);
+ sessionShellWidgetClass, NULL, 0);
opterr = optind = 1;
while ((opt = getopt_long_only(argc, argv, "", lopts, NULL)) != -1) {
shell = XtParent(shell);
game_reset(&state.board);
+
x11_redraw_goal(&state, -1);
x11_redraw_game(&state, -1);
x11_redraw_icon(&state, shell);
+
+ game_begin(&state.board);
}
static const XtActionsRec menu_actions[] = {
{
XtAppContext app;
Widget shell;
+ int i;
if (argc > 0)
progname = argv[0];
shell = early_setup(&app, argc, argv);
XtAppAddActions(app, (void *)menu_actions, XtNumber(menu_actions));
ui_initialize(&state, shell);
- x11_initialize(&state, XtScreen(shell));
+ x11_initialize(&state, shell);
+
+ /* Begin with the game in winning state */
game_reset(&state.board);
+ for (i = 0; i < 3; i++)
+ state.board.game[i] = state.board.goal[i] << GOAL_SHIFT;
+ game_finish(&state.board);
+
state.use_ewmh_icons = ewmh_probe_wm_icon(shell);
XtRealizeWidget(shell);