DrawBuffer *drawto_field;
int game_status = -1;
+boolean game_status_last_screen = -1;
boolean level_editor_test_game = FALSE;
boolean network_playing = FALSE;
struct TitleFadingInfo fading;
struct TitleFadingInfo title_initial_default;
struct TitleFadingInfo title_default;
+struct TitleMessageInfo titlescreen_initial_default;
+struct TitleMessageInfo titlescreen_initial_first[MAX_NUM_TITLE_IMAGES];
+struct TitleMessageInfo titlescreen_initial[MAX_NUM_TITLE_IMAGES];
+struct TitleMessageInfo titlescreen_default;
+struct TitleMessageInfo titlescreen_first[MAX_NUM_TITLE_IMAGES];
+struct TitleMessageInfo titlescreen[MAX_NUM_TITLE_IMAGES];
struct TitleMessageInfo titlemessage_initial_default;
+struct TitleMessageInfo titlemessage_initial_first[MAX_NUM_TITLE_MESSAGES];
struct TitleMessageInfo titlemessage_initial[MAX_NUM_TITLE_MESSAGES];
struct TitleMessageInfo titlemessage_default;
+struct TitleMessageInfo titlemessage_first[MAX_NUM_TITLE_MESSAGES];
struct TitleMessageInfo titlemessage[MAX_NUM_TITLE_MESSAGES];
struct TitleMessageInfo readme;
struct InitInfo init, init_last;
{ ".page[30]", ACTION_PAGE_30, FALSE },
{ ".page[31]", ACTION_PAGE_31, FALSE },
{ ".page[32]", ACTION_PAGE_32, FALSE },
+ { ".part_1", ACTION_PART_1, FALSE },
+ { ".part_2", ACTION_PART_2, FALSE },
+ { ".part_3", ACTION_PART_3, FALSE },
+ { ".part_4", ACTION_PART_4, FALSE },
+ { ".part_5", ACTION_PART_5, FALSE },
+ { ".part_6", ACTION_PART_6, FALSE },
+ { ".part_7", ACTION_PART_7, FALSE },
+ { ".part_8", ACTION_PART_8, FALSE },
{ ".other", ACTION_OTHER, FALSE },
/* empty suffix always matches -- check as last entry in InitSoundInfo() */
{ ".[DEFAULT]", GFX_SPECIAL_ARG_DEFAULT, },
{ ".LOADING", GFX_SPECIAL_ARG_LOADING, },
{ ".TITLE_INITIAL", GFX_SPECIAL_ARG_TITLE_INITIAL, },
+ { ".TITLE_INITIAL_1", GFX_SPECIAL_ARG_TITLE_INITIAL_1, },
+ { ".TITLE_INITIAL_2", GFX_SPECIAL_ARG_TITLE_INITIAL_2, },
+ { ".TITLE_INITIAL_3", GFX_SPECIAL_ARG_TITLE_INITIAL_3, },
+ { ".TITLE_INITIAL_4", GFX_SPECIAL_ARG_TITLE_INITIAL_4, },
+ { ".TITLE_INITIAL_5", GFX_SPECIAL_ARG_TITLE_INITIAL_5, },
{ ".TITLE", GFX_SPECIAL_ARG_TITLE, },
+ { ".TITLE_1", GFX_SPECIAL_ARG_TITLE_1, },
+ { ".TITLE_2", GFX_SPECIAL_ARG_TITLE_2, },
+ { ".TITLE_3", GFX_SPECIAL_ARG_TITLE_3, },
+ { ".TITLE_4", GFX_SPECIAL_ARG_TITLE_4, },
+ { ".TITLE_5", GFX_SPECIAL_ARG_TITLE_5, },
{ ".MAIN", GFX_SPECIAL_ARG_MAIN, },
{ ".LEVELS", GFX_SPECIAL_ARG_LEVELS },
{ ".LEVELNR", GFX_SPECIAL_ARG_LEVELNR },
{ ".PANEL", GFX_SPECIAL_ARG_PANEL, },
{ ".PREVIEW", GFX_SPECIAL_ARG_PREVIEW, },
{ ".CRUMBLED", GFX_SPECIAL_ARG_CRUMBLED, },
+ { ".MAINONLY", GFX_SPECIAL_ARG_MAINONLY, },
+ { ".TYPENAME", GFX_SPECIAL_ARG_TYPENAME, },
+ { ".SUBMENU", GFX_SPECIAL_ARG_SUBMENU, },
+ { ".MENU", GFX_SPECIAL_ARG_MENU, },
+ { ".TOONS", GFX_SPECIAL_ARG_TOONS, },
+ { ".FADING", GFX_SPECIAL_ARG_FADING, },
+ { ".QUIT", GFX_SPECIAL_ARG_QUIT, },
/* empty suffix always matches -- check as last entry in InitMusicInfo() */
{ "", GFX_SPECIAL_ARG_DEFAULT, },
{ "font.input_2.active" },
{ "font.input_1" },
{ "font.input_2" },
+ { "font.option_off_narrow" },
{ "font.option_off" },
+ { "font.option_on_narrow" },
{ "font.option_on" },
{ "font.value_1" },
{ "font.value_2" },
{ "font.value_old" },
+ { "font.value_narrow" },
{ "font.level_number.active" },
{ "font.level_number" },
{ "font.tape_recorder" },
{ NULL }
};
+struct GlobalAnimInfo global_anim_info[NUM_GLOBAL_ANIM_TOKENS + 1] =
+{
+ /* (real) graphic definitions used to define animation graphics */
+ { "gfx.global.anim_1", },
+ { "gfx.global.anim_2", },
+ { "gfx.global.anim_3", },
+ { "gfx.global.anim_4", },
+ { "gfx.global.anim_5", },
+ { "gfx.global.anim_6", },
+ { "gfx.global.anim_7", },
+ { "gfx.global.anim_8", },
+
+ /* (dummy) graphic definitions used to define animation controls */
+ { "global.anim_1", },
+ { "global.anim_2", },
+ { "global.anim_3", },
+ { "global.anim_4", },
+ { "global.anim_5", },
+ { "global.anim_6", },
+ { "global.anim_7", },
+ { "global.anim_8", },
+
+ { NULL }
+};
+
/* ------------------------------------------------------------------------- */
/* music token prefix definitions */
"Usage: %s [OPTION]... [HOSTNAME [PORT]]\n"
"\n"
"Options:\n"
- " -d, --display HOSTNAME[:SCREEN] specify X server display\n"
" -b, --basepath DIRECTORY alternative base DIRECTORY\n"
" -l, --level DIRECTORY alternative level DIRECTORY\n"
" -g, --graphics DIRECTORY alternative graphics DIRECTORY\n"
static void print_version()
{
- Print("%s %d.%d.%d.%d\n",
+ Print("%s %d.%d.%d.%d%s\n",
PROGRAM_TITLE_STRING,
PROGRAM_VERSION_MAJOR,
PROGRAM_VERSION_MINOR,
PROGRAM_VERSION_PATCH,
- PROGRAM_VERSION_BUILD);
+ PROGRAM_VERSION_BUILD,
+ PROGRAM_VERSION_EXTRA);
if (options.debug)
{
static void InitProgramConfig(char *command_filename)
{
- char *userdata_basename = getBaseNameNoSuffix(command_filename);
- char *config_filename = getProgramConfigFilename(command_filename);
char *program_title = PROGRAM_TITLE_STRING;
char *program_icon_file = PROGRAM_ICON_FILENAME;
+ char *config_filename = getProgramConfigFilename(command_filename);
+ char *userdata_basename = getBaseNameNoSuffix(command_filename);
char *userdata_subdir;
char *userdata_subdir_unix;
userdata_basename = getBaseName(config_filename);
if (strSuffix(userdata_basename, ".conf"))
- userdata_basename[strlen(userdata_basename) - 4] = '\0';
+ userdata_basename[strlen(userdata_basename) - 5] = '\0';
LoadSetupFromFilename(config_filename);
}
userdata_subdir = USERDATA_DIRECTORY_OTHER;
#endif
+ // set default window size (only relevant on program startup)
+ if (setup.internal.default_window_width != 0 &&
+ setup.internal.default_window_height != 0)
+ {
+ WIN_XSIZE = setup.internal.default_window_width;
+ WIN_YSIZE = setup.internal.default_window_height;
+ }
+
InitProgramInfo(command_filename,
config_filename,
userdata_subdir,
- userdata_subdir_unix,
program_title,
program_title,
program_icon_file,
InitExitFunction(CloseAllAndExit);
InitPlatformDependentStuff();
- GetOptions(argv, print_usage, print_version);
+ GetOptions(argc, argv, print_usage, print_version);
OpenAll();
EventLoop();