#define IMG_SP_EMPTY IMG_SP_EMPTY_SPACE
#define IMG_EXPLOSION IMG_DEFAULT_EXPLODING
#define IMG_CHAR_START IMG_CHAR_SPACE
+#define IMG_STEEL_CHAR_START IMG_STEEL_CHAR_SPACE
#define IMG_CUSTOM_START IMG_CUSTOM_1
#define SND_UNDEFINED (-1)
#define SCREENY(a) ((a) - scroll_y)
#define LEVELX(a) ((a) + scroll_x)
#define LEVELY(a) ((a) + scroll_y)
-#define IN_VIS_FIELD(x,y) ((x)>=0 && (x)<SCR_FIELDX && (y)>=0 &&(y)<SCR_FIELDY)
-#define IN_SCR_FIELD(x,y) ((x)>=BX1 && (x)<=BX2 && (y)>=BY1 &&(y)<=BY2)
-#define IN_LEV_FIELD(x,y) ((x)>=0 && (x)<lev_fieldx && (y)>=0 &&(y)<lev_fieldy)
+
+#define IN_FIELD(x, y, xsize, ysize) ((x) >= 0 && (x) < (xsize) && \
+ (y) >= 0 && (y) < (ysize))
+#define IN_FIELD_MINMAX(x, y, xmin, ymin, xmax, ymax) \
+ ((x) >= (xmin) && (x) <= (xmax) && \
+ (y) >= (ymin) && (y) <= (ymax))
+
+#define IN_VIS_FIELD(x, y) IN_FIELD(x, y, SCR_FIELDX, SCR_FIELDY)
+#define IN_LEV_FIELD(x, y) IN_FIELD(x, y, lev_fieldx, lev_fieldy)
+#define IN_SCR_FIELD(x, y) IN_FIELD_MINMAX(x,y, BX1,BY1, BX2,BY2)
/* values for configurable properties (custom elem's only, else pre-defined) */
#define EP_DIGGABLE 0
#define EL_SIGN_STOP 301
#define EL_SIGN_WHEELCHAIR 302
#define EL_SIGN_PARKING 303
-#define EL_SIGN_ONEWAY 304
-#define EL_SIGN_HEART 305
-#define EL_SIGN_TRIANGLE 306
-#define EL_SIGN_ROUND 307
-#define EL_SIGN_EXIT 308
-#define EL_SIGN_YINYANG 309
-#define EL_SIGN_OTHER 310
+#define EL_SIGN_NO_ENTRY 304
+#define EL_SIGN_UNUSED_1 305
+#define EL_SIGN_GIVE_WAY 306
+#define EL_SIGN_ENTRY_FORBIDDEN 307
+#define EL_SIGN_EMERGENCY_EXIT 308
+#define EL_SIGN_YIN_YANG 309
+#define EL_SIGN_UNUSED_2 310
#define EL_MOLE_LEFT 311
#define EL_MOLE_RIGHT 312
#define EL_MOLE_UP 313
#define EL_NEXT_CE_8 730
#define EL_ANY_ELEMENT 731
-#define NUM_FILE_ELEMENTS 732
+#define EL_STEEL_CHAR_START 732
+#define EL_STEEL_CHAR_ASCII0 (EL_STEEL_CHAR_START - 32)
+#define EL_STEEL_CHAR_ASCII0_START (EL_STEEL_CHAR_ASCII0 + 32)
+
+/* (auto-generated data structure definitions included with normal chars) */
+
+#define EL_STEEL_CHAR_ASCII0_END (EL_STEEL_CHAR_ASCII0 + 111)
+#define EL_STEEL_CHAR_END (EL_STEEL_CHAR_START + 79)
+
+#define EL_STEEL_CHAR(c) (EL_STEEL_CHAR_ASCII0+MAP_FONT_ASCII(c))
+
+#define EL_SPERMS 812
+#define EL_BULLET 813
+#define EL_HEART 814
+#define EL_CROSS 815
+#define EL_FRANKIE 816
+#define EL_SIGN_SPERMS 817
+#define EL_SIGN_BULLET 818
+#define EL_SIGN_HEART 819
+#define EL_SIGN_CROSS 820
+#define EL_SIGN_FRANKIE 821
+
+#define EL_STEEL_EXIT_CLOSED 822
+#define EL_STEEL_EXIT_OPEN 823
+
+#define EL_DC_STEELWALL_1_LEFT 824
+#define EL_DC_STEELWALL_1_RIGHT 825
+#define EL_DC_STEELWALL_1_TOP 826
+#define EL_DC_STEELWALL_1_BOTTOM 827
+#define EL_DC_STEELWALL_1_HORIZONTAL 828
+#define EL_DC_STEELWALL_1_VERTICAL 829
+#define EL_DC_STEELWALL_1_TOPLEFT 830
+#define EL_DC_STEELWALL_1_TOPRIGHT 831
+#define EL_DC_STEELWALL_1_BOTTOMLEFT 832
+#define EL_DC_STEELWALL_1_BOTTOMRIGHT 833
+#define EL_DC_STEELWALL_1_TOPLEFT_2 834
+#define EL_DC_STEELWALL_1_TOPRIGHT_2 835
+#define EL_DC_STEELWALL_1_BOTTOMLEFT_2 836
+#define EL_DC_STEELWALL_1_BOTTOMRIGHT_2 837
+
+#define EL_DC_STEELWALL_2_LEFT 838
+#define EL_DC_STEELWALL_2_RIGHT 839
+#define EL_DC_STEELWALL_2_TOP 840
+#define EL_DC_STEELWALL_2_BOTTOM 841
+#define EL_DC_STEELWALL_2_HORIZONTAL 842
+#define EL_DC_STEELWALL_2_VERTICAL 843
+#define EL_DC_STEELWALL_2_MIDDLE 844
+#define EL_DC_STEELWALL_2_SINGLE 845
+
+#define EL_DC_SWITCHGATE_SWITCH_UP 846
+#define EL_DC_SWITCHGATE_SWITCH_DOWN 847
+#define EL_DC_TIMEGATE_SWITCH 848
+#define EL_DC_TIMEGATE_SWITCH_ACTIVE 849
+
+#define EL_DC_LANDMINE 850
+
+#define EL_EXPANDABLE_STEELWALL 851
+#define EL_EXPANDABLE_STEELWALL_HORIZONTAL 852
+#define EL_EXPANDABLE_STEELWALL_VERTICAL 853
+#define EL_EXPANDABLE_STEELWALL_ANY 854
+
+#define NUM_FILE_ELEMENTS 855
/* "real" (and therefore drawable) runtime elements */
#define EL_CONVEYOR_BELT_4_RIGHT_ACTIVE (EL_FIRST_RUNTIME_REAL + 25)
#define EL_EXIT_OPENING (EL_FIRST_RUNTIME_REAL + 26)
#define EL_EXIT_CLOSING (EL_FIRST_RUNTIME_REAL + 27)
-#define EL_SP_EXIT_OPENING (EL_FIRST_RUNTIME_REAL + 28)
-#define EL_SP_EXIT_CLOSING (EL_FIRST_RUNTIME_REAL + 29)
-#define EL_SP_EXIT_OPEN (EL_FIRST_RUNTIME_REAL + 30)
-#define EL_SP_TERMINAL_ACTIVE (EL_FIRST_RUNTIME_REAL + 31)
-#define EL_SP_BUGGY_BASE_ACTIVATING (EL_FIRST_RUNTIME_REAL + 32)
-#define EL_SP_BUGGY_BASE_ACTIVE (EL_FIRST_RUNTIME_REAL + 33)
-#define EL_SP_MURPHY_CLONE (EL_FIRST_RUNTIME_REAL + 34)
-#define EL_AMOEBA_DROPPING (EL_FIRST_RUNTIME_REAL + 35)
-#define EL_QUICKSAND_EMPTYING (EL_FIRST_RUNTIME_REAL + 36)
-#define EL_MAGIC_WALL_ACTIVE (EL_FIRST_RUNTIME_REAL + 37)
-#define EL_BD_MAGIC_WALL_ACTIVE (EL_FIRST_RUNTIME_REAL + 38)
-#define EL_MAGIC_WALL_FULL (EL_FIRST_RUNTIME_REAL + 39)
-#define EL_BD_MAGIC_WALL_FULL (EL_FIRST_RUNTIME_REAL + 40)
-#define EL_MAGIC_WALL_EMPTYING (EL_FIRST_RUNTIME_REAL + 41)
-#define EL_BD_MAGIC_WALL_EMPTYING (EL_FIRST_RUNTIME_REAL + 42)
-#define EL_MAGIC_WALL_DEAD (EL_FIRST_RUNTIME_REAL + 43)
-#define EL_BD_MAGIC_WALL_DEAD (EL_FIRST_RUNTIME_REAL + 44)
-#define EL_EMC_FAKE_GRASS_ACTIVE (EL_FIRST_RUNTIME_REAL + 45)
-#define EL_GATE_1_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 46)
-#define EL_GATE_2_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 47)
-#define EL_GATE_3_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 48)
-#define EL_GATE_4_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 49)
-#define EL_EM_GATE_1_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 50)
-#define EL_EM_GATE_2_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 51)
-#define EL_EM_GATE_3_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 52)
-#define EL_EM_GATE_4_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 53)
-#define EL_EMC_GATE_5_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 54)
-#define EL_EMC_GATE_6_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 55)
-#define EL_EMC_GATE_7_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 56)
-#define EL_EMC_GATE_8_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 57)
-#define EL_EMC_DRIPPER_ACTIVE (EL_FIRST_RUNTIME_REAL + 58)
-#define EL_EMC_SPRING_BUMPER_ACTIVE (EL_FIRST_RUNTIME_REAL + 59)
+#define EL_STEEL_EXIT_OPENING (EL_FIRST_RUNTIME_REAL + 28)
+#define EL_STEEL_EXIT_CLOSING (EL_FIRST_RUNTIME_REAL + 29)
+#define EL_SP_EXIT_OPENING (EL_FIRST_RUNTIME_REAL + 30)
+#define EL_SP_EXIT_CLOSING (EL_FIRST_RUNTIME_REAL + 31)
+#define EL_SP_EXIT_OPEN (EL_FIRST_RUNTIME_REAL + 32)
+#define EL_SP_TERMINAL_ACTIVE (EL_FIRST_RUNTIME_REAL + 33)
+#define EL_SP_BUGGY_BASE_ACTIVATING (EL_FIRST_RUNTIME_REAL + 34)
+#define EL_SP_BUGGY_BASE_ACTIVE (EL_FIRST_RUNTIME_REAL + 35)
+#define EL_SP_MURPHY_CLONE (EL_FIRST_RUNTIME_REAL + 36)
+#define EL_AMOEBA_DROPPING (EL_FIRST_RUNTIME_REAL + 37)
+#define EL_QUICKSAND_EMPTYING (EL_FIRST_RUNTIME_REAL + 38)
+#define EL_MAGIC_WALL_ACTIVE (EL_FIRST_RUNTIME_REAL + 39)
+#define EL_BD_MAGIC_WALL_ACTIVE (EL_FIRST_RUNTIME_REAL + 40)
+#define EL_MAGIC_WALL_FULL (EL_FIRST_RUNTIME_REAL + 41)
+#define EL_BD_MAGIC_WALL_FULL (EL_FIRST_RUNTIME_REAL + 42)
+#define EL_MAGIC_WALL_EMPTYING (EL_FIRST_RUNTIME_REAL + 43)
+#define EL_BD_MAGIC_WALL_EMPTYING (EL_FIRST_RUNTIME_REAL + 44)
+#define EL_MAGIC_WALL_DEAD (EL_FIRST_RUNTIME_REAL + 45)
+#define EL_BD_MAGIC_WALL_DEAD (EL_FIRST_RUNTIME_REAL + 46)
+#define EL_EMC_FAKE_GRASS_ACTIVE (EL_FIRST_RUNTIME_REAL + 47)
+#define EL_GATE_1_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 48)
+#define EL_GATE_2_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 49)
+#define EL_GATE_3_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 50)
+#define EL_GATE_4_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 51)
+#define EL_EM_GATE_1_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 52)
+#define EL_EM_GATE_2_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 53)
+#define EL_EM_GATE_3_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 54)
+#define EL_EM_GATE_4_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 55)
+#define EL_EMC_GATE_5_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 56)
+#define EL_EMC_GATE_6_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 57)
+#define EL_EMC_GATE_7_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 58)
+#define EL_EMC_GATE_8_GRAY_ACTIVE (EL_FIRST_RUNTIME_REAL + 59)
+#define EL_EMC_DRIPPER_ACTIVE (EL_FIRST_RUNTIME_REAL + 60)
+#define EL_EMC_SPRING_BUMPER_ACTIVE (EL_FIRST_RUNTIME_REAL + 61)
/* "unreal" (and therefore not drawable) runtime elements */
-#define EL_FIRST_RUNTIME_UNREAL (EL_FIRST_RUNTIME_REAL + 60)
+#define EL_FIRST_RUNTIME_UNREAL (EL_FIRST_RUNTIME_REAL + 62)
#define EL_BLOCKED (EL_FIRST_RUNTIME_UNREAL + 0)
#define EL_EXPLOSION (EL_FIRST_RUNTIME_UNREAL + 1)
#define EL_AMOEBA_GROWING (EL_FIRST_RUNTIME_UNREAL + 6)
#define EL_AMOEBA_SHRINKING (EL_FIRST_RUNTIME_UNREAL + 7)
#define EL_EXPANDABLE_WALL_GROWING (EL_FIRST_RUNTIME_UNREAL + 8)
-#define EL_FLAMES (EL_FIRST_RUNTIME_UNREAL + 9)
-#define EL_PLAYER_IS_LEAVING (EL_FIRST_RUNTIME_UNREAL + 10)
-#define EL_PLAYER_IS_EXPLODING_1 (EL_FIRST_RUNTIME_UNREAL + 11)
-#define EL_PLAYER_IS_EXPLODING_2 (EL_FIRST_RUNTIME_UNREAL + 12)
-#define EL_PLAYER_IS_EXPLODING_3 (EL_FIRST_RUNTIME_UNREAL + 13)
-#define EL_PLAYER_IS_EXPLODING_4 (EL_FIRST_RUNTIME_UNREAL + 14)
-#define EL_QUICKSAND_FILLING (EL_FIRST_RUNTIME_UNREAL + 15)
-#define EL_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 16)
-#define EL_BD_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 17)
-#define EL_ELEMENT_SNAPPING (EL_FIRST_RUNTIME_UNREAL + 18)
-#define EL_DIAGONAL_SHRINKING (EL_FIRST_RUNTIME_UNREAL + 19)
-#define EL_DIAGONAL_GROWING (EL_FIRST_RUNTIME_UNREAL + 20)
-
-#define NUM_RUNTIME_ELEMENTS (EL_FIRST_RUNTIME_UNREAL + 21)
+#define EL_EXPANDABLE_STEELWALL_GROWING (EL_FIRST_RUNTIME_UNREAL + 9)
+#define EL_FLAMES (EL_FIRST_RUNTIME_UNREAL + 10)
+#define EL_PLAYER_IS_LEAVING (EL_FIRST_RUNTIME_UNREAL + 11)
+#define EL_PLAYER_IS_EXPLODING_1 (EL_FIRST_RUNTIME_UNREAL + 12)
+#define EL_PLAYER_IS_EXPLODING_2 (EL_FIRST_RUNTIME_UNREAL + 13)
+#define EL_PLAYER_IS_EXPLODING_3 (EL_FIRST_RUNTIME_UNREAL + 14)
+#define EL_PLAYER_IS_EXPLODING_4 (EL_FIRST_RUNTIME_UNREAL + 15)
+#define EL_QUICKSAND_FILLING (EL_FIRST_RUNTIME_UNREAL + 16)
+#define EL_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 17)
+#define EL_BD_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 18)
+#define EL_ELEMENT_SNAPPING (EL_FIRST_RUNTIME_UNREAL + 19)
+#define EL_DIAGONAL_SHRINKING (EL_FIRST_RUNTIME_UNREAL + 20)
+#define EL_DIAGONAL_GROWING (EL_FIRST_RUNTIME_UNREAL + 21)
+
+#define NUM_RUNTIME_ELEMENTS (EL_FIRST_RUNTIME_UNREAL + 22)
/* dummy elements (never used as game elements, only used as graphics) */
#define EL_FIRST_DUMMY NUM_RUNTIME_ELEMENTS
#define EL_INTERNAL_CASCADE_DX_ACTIVE (EL_FIRST_INTERNAL + 19)
#define EL_INTERNAL_CASCADE_CHARS (EL_FIRST_INTERNAL + 20)
#define EL_INTERNAL_CASCADE_CHARS_ACTIVE (EL_FIRST_INTERNAL + 21)
-#define EL_INTERNAL_CASCADE_CE (EL_FIRST_INTERNAL + 22)
-#define EL_INTERNAL_CASCADE_CE_ACTIVE (EL_FIRST_INTERNAL + 23)
-#define EL_INTERNAL_CASCADE_GE (EL_FIRST_INTERNAL + 24)
-#define EL_INTERNAL_CASCADE_GE_ACTIVE (EL_FIRST_INTERNAL + 25)
-#define EL_INTERNAL_CASCADE_REF (EL_FIRST_INTERNAL + 26)
-#define EL_INTERNAL_CASCADE_REF_ACTIVE (EL_FIRST_INTERNAL + 27)
-#define EL_INTERNAL_CASCADE_USER (EL_FIRST_INTERNAL + 28)
-#define EL_INTERNAL_CASCADE_USER_ACTIVE (EL_FIRST_INTERNAL + 29)
-#define EL_INTERNAL_CASCADE_DYNAMIC (EL_FIRST_INTERNAL + 30)
-#define EL_INTERNAL_CASCADE_DYNAMIC_ACTIVE (EL_FIRST_INTERNAL + 31)
+#define EL_INTERNAL_CASCADE_STEEL_CHARS (EL_FIRST_INTERNAL + 22)
+#define EL_INTERNAL_CASCADE_STEEL_CHARS_ACTIVE (EL_FIRST_INTERNAL + 23)
+#define EL_INTERNAL_CASCADE_CE (EL_FIRST_INTERNAL + 24)
+#define EL_INTERNAL_CASCADE_CE_ACTIVE (EL_FIRST_INTERNAL + 25)
+#define EL_INTERNAL_CASCADE_GE (EL_FIRST_INTERNAL + 26)
+#define EL_INTERNAL_CASCADE_GE_ACTIVE (EL_FIRST_INTERNAL + 27)
+#define EL_INTERNAL_CASCADE_REF (EL_FIRST_INTERNAL + 28)
+#define EL_INTERNAL_CASCADE_REF_ACTIVE (EL_FIRST_INTERNAL + 29)
+#define EL_INTERNAL_CASCADE_USER (EL_FIRST_INTERNAL + 30)
+#define EL_INTERNAL_CASCADE_USER_ACTIVE (EL_FIRST_INTERNAL + 31)
+#define EL_INTERNAL_CASCADE_DYNAMIC (EL_FIRST_INTERNAL + 32)
+#define EL_INTERNAL_CASCADE_DYNAMIC_ACTIVE (EL_FIRST_INTERNAL + 33)
#define EL_INTERNAL_CLIPBOARD_START (EL_FIRST_INTERNAL + 0)
#define EL_INTERNAL_CLIPBOARD_END (EL_FIRST_INTERNAL + 2)
#define EL_INTERNAL_START (EL_FIRST_INTERNAL + 0)
-#define EL_INTERNAL_END (EL_FIRST_INTERNAL + 31)
+#define EL_INTERNAL_END (EL_FIRST_INTERNAL + 33)
-#define MAX_NUM_ELEMENTS (EL_FIRST_INTERNAL + 32)
+#define MAX_NUM_ELEMENTS (EL_FIRST_INTERNAL + 34)
/* values for graphics/sounds action types */
/* values for special image configuration suffixes (must match game mode) */
#define GFX_SPECIAL_ARG_DEFAULT 0
#define GFX_SPECIAL_ARG_TITLE 1
-#define GFX_SPECIAL_ARG_MAIN 2
-#define GFX_SPECIAL_ARG_LEVELS 3
-#define GFX_SPECIAL_ARG_SCORES 4
-#define GFX_SPECIAL_ARG_EDITOR 5
-#define GFX_SPECIAL_ARG_INFO 6
-#define GFX_SPECIAL_ARG_SETUP 7
-#define GFX_SPECIAL_ARG_PLAYING 8
-#define GFX_SPECIAL_ARG_DOOR 9
-#define GFX_SPECIAL_ARG_PREVIEW 10
-#define GFX_SPECIAL_ARG_CRUMBLED 11
-
-#define NUM_SPECIAL_GFX_ARGS 12
+#define GFX_SPECIAL_ARG_MESSAGE 2
+#define GFX_SPECIAL_ARG_MAIN 3
+#define GFX_SPECIAL_ARG_LEVELS 4
+#define GFX_SPECIAL_ARG_SCORES 5
+#define GFX_SPECIAL_ARG_EDITOR 6
+#define GFX_SPECIAL_ARG_INFO 7
+#define GFX_SPECIAL_ARG_SETUP 8
+#define GFX_SPECIAL_ARG_PLAYING 9
+#define GFX_SPECIAL_ARG_DOOR 10
+#define GFX_SPECIAL_ARG_PREVIEW 11
+#define GFX_SPECIAL_ARG_CRUMBLED 12
+
+#define NUM_SPECIAL_GFX_ARGS 13
/* these additional definitions are currently only used for draw offsets */
#define GFX_SPECIAL_ARG_INFO_MAIN 0
/* values for game_status (must match special image configuration suffixes) */
#define GAME_MODE_DEFAULT 0
#define GAME_MODE_TITLE 1
-#define GAME_MODE_MAIN 2
-#define GAME_MODE_LEVELS 3
-#define GAME_MODE_SCORES 4
-#define GAME_MODE_EDITOR 5
-#define GAME_MODE_INFO 6
-#define GAME_MODE_SETUP 7
-#define GAME_MODE_PLAYING 8
-#define GAME_MODE_PSEUDO_DOOR 9
-#define GAME_MODE_PSEUDO_PREVIEW 10
-#define GAME_MODE_PSEUDO_CRUMBLED 11
+#define GAME_MODE_MESSAGE 2
+#define GAME_MODE_MAIN 3
+#define GAME_MODE_LEVELS 4
+#define GAME_MODE_SCORES 5
+#define GAME_MODE_EDITOR 6
+#define GAME_MODE_INFO 7
+#define GAME_MODE_SETUP 8
+#define GAME_MODE_PLAYING 9
+#define GAME_MODE_PSEUDO_DOOR 10
+#define GAME_MODE_PSEUDO_PREVIEW 11
+#define GAME_MODE_PSEUDO_CRUMBLED 12
/* there are no special config file suffixes for these modes */
-#define GAME_MODE_PSEUDO_TYPENAME 12
-#define GAME_MODE_QUIT 13
+#define GAME_MODE_PSEUDO_TYPENAME 13
+#define GAME_MODE_QUIT 14
/* special definitions currently only used for custom artwork configuration */
#define MUSIC_PREFIX_BACKGROUND 0
/* program information and versioning definitions */
#define PROGRAM_VERSION_MAJOR 3
#define PROGRAM_VERSION_MINOR 2
-#define PROGRAM_VERSION_PATCH 3
+#define PROGRAM_VERSION_PATCH 4
#define PROGRAM_VERSION_BUILD 0
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"