#define MICROLABEL1_YPOS (MICROLEVEL_YPOS - 36)
#define MICROLABEL2_YPOS (MICROLEVEL_YPOS + MICROLEVEL_YSIZE + 7)
+/* values for GfxRedraw */
+#define GFX_REDRAW_NONE (0)
+#define GFX_REDRAW_TILE (1 << 0)
+#define GFX_REDRAW_TILE_CRUMBLED (1 << 1)
+#define GFX_REDRAW_TILE_CRUMBLED_NEIGHBOURS (1 << 2)
+#define GFX_REDRAW_TILE_TWINKLED (1 << 3)
/* score for elements */
#define SC_EMERALD 0
#define PROGRAM_GAME_BY_STRING "A Game by Artsoft Entertainment"
#define PROGRAM_UNIX_DATADIR_STRING ".rocksndiamonds"
-#if CREATE_SPECIAL_EDITION_RND_JUE
+#if defined(CREATE_SPECIAL_EDITION_RND_JUE)
#undef PROGRAM_TITLE_STRING
-#define PROGRAM_TITLE_STRING "R'n'D - jue"
+#define PROGRAM_TITLE_STRING "R'n'D jue"
#undef PROGRAM_UNIX_DATADIR_STRING
-#define PROGRAM_UNIX_DATADIR_STRING ".rocksndiamonds-jue"
+#define PROGRAM_UNIX_DATADIR_STRING ".rnd_jue"
#endif
#define ICON_TITLE_STRING PROGRAM_TITLE_STRING
char *convert_leveldir;
int convert_level_nr;
+ char *create_images_dir;
+
int num_toons;
float frames_per_second;
int delay_random; /* added frame delay before changed (random) */
int delay_frames; /* either 1 (frames) or 50 (seconds; 50 fps) */
- int trigger_element; /* element triggering change */
+ int initial_trigger_element; /* initial element triggering change */
struct Content target_content;/* elements for extended change target */
boolean use_target_content; /* use extended change target */
/* ---------- internal values used at runtime when playing ---------- */
+ int trigger_element; /* element triggering change */
+
/* functions that are called before, while and after the change of an
element -- currently only used for non-custom elements */
void (*pre_change_function)(int x, int y);
extern Bitmap *bitmap_db_field;
extern Bitmap *bitmap_db_panel;
extern Bitmap *bitmap_db_door;
+extern Bitmap *bitmap_db_toons;
extern Pixmap tile_clipmask[];
extern DrawBuffer *fieldbuffer;
extern DrawBuffer *drawto_field;
extern int GfxElement[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
extern int GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
extern int GfxDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern int GfxRedraw[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
extern int ActiveElement[MAX_NUM_ELEMENTS];
extern int ActiveButton[NUM_IMAGE_FILES];