Bitmap *bitmap_db_field;
Bitmap *bitmap_db_panel;
Bitmap *bitmap_db_door;
+Bitmap *bitmap_db_toons;
DrawBuffer *fieldbuffer;
DrawBuffer *drawto_field;
int key_joystick_mapping = 0;
+#if 1
+boolean redraw[MAX_LEV_FIELDX + 2][MAX_LEV_FIELDY + 2];
+#else
boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
+#endif
int redraw_x1 = 0, redraw_y1 = 0;
short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
int GfxElement[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
int GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
int GfxDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+int GfxRedraw[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
int ActiveElement[MAX_NUM_ELEMENTS];
int ActiveButton[NUM_IMAGE_FILES];
int lev_fieldx, lev_fieldy;
int scroll_x, scroll_y;
+int WIN_XSIZE = 672, WIN_YSIZE = 560;
+int SCR_FIELDX = 17, SCR_FIELDY = 17;
+int SX = 8, SY = 8;
+int REAL_SX = 6, REAL_SY = 6;
+int DX = 566, DY = 60;
+int VX = 566, VY = 400;
+int EX = 566, EY = 356;
+
+#if 1
+int FX, FY;
+#else
int FX = SX, FY = SY;
+#endif
int ScrollStepSize;
int ScreenMovDir = MV_NONE, ScreenMovPos = 0;
int ScreenGfxPos = 0;
int BorderElement = EL_STEELWALL;
int GameFrameDelay = GAME_FRAME_DELAY;
int FfwdFrameDelay = FFWD_FRAME_DELAY;
+#if 1
+int BX1, BY1;
+int BX2, BY2;
+#else
int BX1 = 0, BY1 = 0;
int BX2 = SCR_FIELDX - 1, BY2 = SCR_FIELDY - 1;
+#endif
int SBX_Left, SBX_Right;
int SBY_Upper, SBY_Lower;
int ZX, ZY;
struct GameInfo game;
struct GlobalInfo global;
struct BorderInfo border;
+struct ViewportInfo viewport;
struct TitleFadingInfo fading;
struct TitleFadingInfo title_initial_default;
struct TitleFadingInfo title_default;
struct TitleMessageInfo titlemessage_default;
struct TitleMessageInfo titlemessage[MAX_NUM_TITLE_MESSAGES];
struct TitleMessageInfo readme;
+struct InitInfo init, init_last;
struct MenuInfo menu;
struct DoorInfo door_1, door_2;
struct PreviewInfo preview;
struct MusicFileInfo *music_file_info = NULL;
struct HelpAnimInfo *helpanim_info = NULL;
SetupFileHash *helptext_info = NULL;
+SetupFileHash *image_config_hash = NULL;
+SetupFileHash *element_token_hash = NULL;
+SetupFileHash *graphic_token_hash = NULL;
+SetupFileHash *font_token_hash = NULL;
/* ------------------------------------------------------------------------- */
},
{
"sp_gravity_port_right",
- "sp_port",
- "gravity port (leading right)"
+ "sp_gravity_port",
+ "gravity-on/off port (leading right)"
},
{
"sp_gravity_port_down",
- "sp_port",
- "gravity port (leading down)"
+ "sp_gravity_port",
+ "gravity-on/off port (leading down)"
},
{
"sp_gravity_port_left",
- "sp_port",
- "gravity port (leading left)"
+ "sp_gravity_port",
+ "gravity-on/off port (leading left)"
},
{
"sp_gravity_port_up",
- "sp_port",
- "gravity port (leading up)"
+ "sp_gravity_port",
+ "gravity-on/off port (leading up)"
},
{
"sp_sniksnak",
},
{
"sp_gravity_on_port_right",
- "sp_port",
- "gravity on port (leading right)"
+ "sp_gravity_on_port",
+ "gravity-on port (leading right)"
},
{
"sp_gravity_on_port_down",
- "sp_port",
- "gravity on port (leading down)"
+ "sp_gravity_on_port",
+ "gravity-on port (leading down)"
},
{
"sp_gravity_on_port_left",
- "sp_port",
- "gravity on port (leading left)"
+ "sp_gravity_on_port",
+ "gravity-on port (leading left)"
},
{
"sp_gravity_on_port_up",
- "sp_port",
- "gravity on port (leading up)"
+ "sp_gravity_on_port",
+ "gravity-on port (leading up)"
},
{
"sp_gravity_off_port_right",
- "sp_port",
- "gravity off port (leading right)"
+ "sp_gravity_off_port",
+ "gravity-off port (leading right)"
},
{
"sp_gravity_off_port_down",
- "sp_port",
- "gravity off port (leading down)"
+ "sp_gravity_off_port",
+ "gravity-off port (leading down)"
},
{
"sp_gravity_off_port_left",
- "sp_port",
- "gravity off port (leading left)"
+ "sp_gravity_off_port",
+ "gravity-off port (leading left)"
},
{
"sp_gravity_off_port_up",
- "sp_port",
- "gravity off port (leading up)"
+ "sp_gravity_off_port",
+ "gravity-off port (leading up)"
},
{
"balloon_switch_none",
"quicksand",
"fast quicksand (with rock)"
},
+ {
+ "from_level_template",
+ "from_level_template",
+ "element taken from level template"
+ },
/* ----------------------------------------------------------------------- */
/* "real" (and therefore drawable) runtime elements */
struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1 + 1] =
{
{ ".[DEFAULT]", GFX_SPECIAL_ARG_DEFAULT, },
+ { ".LOADING", GFX_SPECIAL_ARG_LOADING, },
{ ".TITLE_INITIAL", GFX_SPECIAL_ARG_TITLE_INITIAL, },
{ ".TITLE", GFX_SPECIAL_ARG_TITLE, },
{ ".MAIN", GFX_SPECIAL_ARG_MAIN, },
{ "font.game_info" },
{ "font.info.elements" },
{ "font.info.levelset" },
+
+ { NULL }
};
" --serveronly only start network server\n"
" -v, --verbose verbose mode\n"
" --debug display debugging information\n"
+ " --debug-x11-sync enable X11 synchronous mode\n"
" -e, --execute COMMAND execute batch COMMAND\n"
"\n"
"Valid commands for '--execute' option:\n"
" \"dump tape FILE\" dump tape data from FILE\n"
" \"autoplay LEVELDIR [NR ...]\" play level tapes for LEVELDIR\n"
" \"convert LEVELDIR [NR]\" convert levels in LEVELDIR\n"
+ " \"create images DIRECTORY\" write BMP images to DIRECTORY\n"
"\n",
program.command_basename);
}