#include "events.h"
#include "config.h"
-Bitmap *bitmap_db_store;
-Bitmap *bitmap_db_cross;
Bitmap *bitmap_db_field;
Bitmap *bitmap_db_panel;
Bitmap *bitmap_db_door_1;
Bitmap *bitmap_db_door_2;
-Bitmap *bitmap_db_toons;
+Bitmap *bitmap_db_store_1;
+Bitmap *bitmap_db_store_2;
DrawBuffer *fieldbuffer;
DrawBuffer *drawto_field;
int ScreenMovDir = MV_NONE, ScreenMovPos = 0;
int ScreenGfxPos = 0;
int BorderElement = EL_STEELWALL;
+int MenuFrameDelay = MENU_FRAME_DELAY;
int GameFrameDelay = GAME_FRAME_DELAY;
int FfwdFrameDelay = FFWD_FRAME_DELAY;
int BX1, BY1;
struct BorderInfo border;
struct ViewportInfo viewport;
struct TitleFadingInfo fading;
+struct TitleFadingInfo title_initial_first_default;
struct TitleFadingInfo title_initial_default;
+struct TitleFadingInfo title_first_default;
struct TitleFadingInfo title_default;
+struct TitleMessageInfo titlescreen_initial_first_default;
+struct TitleMessageInfo titlescreen_initial_first[MAX_NUM_TITLE_IMAGES];
+struct TitleMessageInfo titlescreen_initial_default;
+struct TitleMessageInfo titlescreen_initial[MAX_NUM_TITLE_IMAGES];
+struct TitleMessageInfo titlescreen_first_default;
+struct TitleMessageInfo titlescreen_first[MAX_NUM_TITLE_IMAGES];
+struct TitleMessageInfo titlescreen_default;
+struct TitleMessageInfo titlescreen[MAX_NUM_TITLE_IMAGES];
+struct TitleMessageInfo titlemessage_initial_first_default;
+struct TitleMessageInfo titlemessage_initial_first[MAX_NUM_TITLE_MESSAGES];
struct TitleMessageInfo titlemessage_initial_default;
struct TitleMessageInfo titlemessage_initial[MAX_NUM_TITLE_MESSAGES];
+struct TitleMessageInfo titlemessage_first_default;
+struct TitleMessageInfo titlemessage_first[MAX_NUM_TITLE_MESSAGES];
struct TitleMessageInfo titlemessage_default;
struct TitleMessageInfo titlemessage[MAX_NUM_TITLE_MESSAGES];
struct TitleMessageInfo readme;
{ ".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"
" -s, --sounds DIRECTORY alternative sounds DIRECTORY\n"
" -m, --music DIRECTORY alternative music DIRECTORY\n"
+ " --mytapes use private tapes for tape tests\n"
" -n, --network network multiplayer game\n"
" --serveronly only start network server\n"
" -v, --verbose verbose mode\n"
" \"autotest LEVELDIR [NR ...]\" test level tapes for LEVELDIR\n"
" \"autoplay LEVELDIR [NR ...]\" play level tapes for LEVELDIR\n"
" \"autoffwd LEVELDIR [NR ...]\" ffwd level tapes for LEVELDIR\n"
+ " \"autowarp LEVELDIR [NR ...]\" warp level tapes for LEVELDIR\n"
" \"convert LEVELDIR [NR]\" convert levels in LEVELDIR\n"
" \"create images DIRECTORY\" write BMP images to DIRECTORY\n"
" \"create CE image DIRECTORY\" write BMP image to 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)
{
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,