#include "game_em/game_em.h"
#include "game_sp/game_sp.h"
#include "game_mm/game_mm.h"
+#include "engines.h"
#include "conf_gfx.h" /* include auto-generated data structure definitions */
#include "conf_snd.h" /* include auto-generated data structure definitions */
#define IS_NEXT_FRAME(f, g) (IS_NEW_FRAME(f, g) && (f) > 0)
#define IS_LOOP_SOUND(s) (sound_info[s].loop)
+#define IS_LOOP_MUSIC(s) (music_info[s].loop)
#define IS_SPECIAL_GFX_ARG(a) ((a) >= 0 && (a) < NUM_SPECIAL_GFX_ARGS)
/* program information and versioning definitions */
#define PROGRAM_VERSION_SUPER 4
#define PROGRAM_VERSION_MAJOR 1
-#define PROGRAM_VERSION_MINOR 0
+#define PROGRAM_VERSION_MINOR 1
#define PROGRAM_VERSION_PATCH 1
#define PROGRAM_VERSION_EXTRA ""
boolean em_explodes_by_fire; /* EM style chain explosion behaviour */
boolean use_spring_bug; /* for compatibility with old levels */
boolean use_time_orb_bug; /* for compatibility with old levels */
+ boolean use_life_bugs; /* for compatibility with old levels */
boolean instant_relocation; /* no visual delay when relocating player */
boolean shifted_relocation; /* no level centering when relocating player */
boolean lazy_relocation; /* only redraw off-screen player relocation */
boolean can_pass_to_walkable; /* player can pass to empty or walkable tile */
boolean grow_into_diggable; /* amoeba can grow into anything diggable */
boolean auto_exit_sokoban; /* automatically finish solved Sokoban levels */
+ boolean solved_by_one_player; /* level is solved if one player enters exit */
boolean continuous_snapping; /* repeated snapping without releasing key */
boolean block_snap_field; /* snapping blocks field to show animation */
boolean use_action_after_change_bug;
};
+struct NetworkLevelInfo
+{
+ char *leveldir_identifier; /* network levelset identifier */
+
+ struct LevelFileInfo file_info; /* file info for level file */
+ struct LevelFileInfo tmpl_info; /* file info for level template */
+
+ boolean use_network_level_files; /* use levels from network server */
+ boolean use_custom_template; /* use CEs from level template */
+};
+
struct GlobalInfo
{
char *autoplay_leveldir;
extern int key_joystick_mapping;
extern short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short Last[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
extern short MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
extern short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
extern short MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];