X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=27acc1e1591a774482368562027d7a292482676d;hb=a35852e106072656e444202e672d050ebff03abb;hp=5cfda96e0ec68531089cbfc9c44b0ada4fd3fad1;hpb=5d50a7e10873581345ee63a5afafd43dbd45809b;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 5cfda96e..27acc1e1 100644 --- a/src/main.h +++ b/src/main.h @@ -191,6 +191,7 @@ typedef unsigned char byte; #define TAPE_IS_STOPPED(x) (!(x).recording && !(x).playing &&!(x).pausing) #define PLAYERINFO(x,y) (&stored_player[StorePlayer[x][y]-EL_SPIELER1]) +#define SHIELD_ON(p) ((p)->shield_passive_time_left > 0) /* Pixmaps with graphic file */ #define PIX_BACK 0 @@ -199,22 +200,24 @@ typedef unsigned char byte; #define PIX_TOONS 3 #define PIX_SP 4 #define PIX_DC 5 -#define PIX_BIGFONT 6 -#define PIX_SMALLFONT 7 +#define PIX_MORE 6 +#define PIX_BIGFONT 7 +#define PIX_SMALLFONT 8 +#define PIX_MEDIUMFONT 9 /* Pixmaps without graphic file */ -#define PIX_DB_BACK 8 -#define PIX_DB_DOOR 9 -#define PIX_DB_FIELD 10 +#define PIX_DB_BACK 10 +#define PIX_DB_DOOR 11 +#define PIX_DB_FIELD 12 -#define NUM_PICTURES 8 -#define NUM_PIXMAPS 10 +#define NUM_PICTURES 10 +#define NUM_PIXMAPS 13 /* boundaries of arrays etc. */ #define MAX_PLAYER_NAME_LEN 10 #define MAX_LEVEL_NAME_LEN 32 #define MAX_LEVEL_AUTHOR_LEN 32 #define MAX_TAPELEN (1000 * 50) /* max. time * framerate */ -#define MAX_LEVDIR_ENTRIES 100 +#define MAX_LEVDIR_ENTRIES 250 /* max. level directories */ #define MAX_SCORE_ENTRIES 100 #define MAX_ELEMENTS 700 /* 500 static + 200 runtime */ #define MAX_NUM_AMOEBA 100 @@ -296,6 +299,8 @@ struct SetupInfo boolean autorecord; boolean quick_doors; boolean team_mode; + boolean handicap; + boolean time_limit; struct SetupInputInfo input[MAX_PLAYERS]; }; @@ -353,6 +358,8 @@ struct PlayerInfo int key[4]; int dynamite; int dynabomb_count, dynabomb_size, dynabombs_left, dynabomb_xl; + int shield_passive_time_left; + int shield_active_time_left; }; struct LevelInfo @@ -370,6 +377,8 @@ struct LevelInfo int amoeba_content; int time_magic_wall; int time_wheel; + int time_light; + int time_timegate; boolean double_speed; boolean gravity; }; @@ -379,6 +388,7 @@ struct LevelDirInfo char *filename; /* level series sub-directory inside level directory */ char *name; /* level series name, as displayed on main screen */ char *name_short; /* optional short name for level selection screen */ + char *name_sorting; /* optional sorting name for correct level sorting */ char *author; /* level series author name levels without author */ char *imported_from; /* optional comment for imported level series */ int levels; /* number of levels in level series */ @@ -389,6 +399,7 @@ struct LevelDirInfo boolean readonly; /* readonly levels can not be changed with editor */ int color; /* color to use on selection screen for this level */ char *class_desc; /* description of level series class */ + int handicap_level; /* number of the lowest unsolved level */ }; struct TapeInfo @@ -418,10 +429,12 @@ struct GameInfo int yam_content_nr; boolean magic_wall_active; int magic_wall_time_left; + int light_time_left; + int timegate_time_left; int belt_dir[4]; int belt_dir_nr[4]; int switchgate_pos; - int light_time_left; + int balloon_dir; }; struct GlobalInfo @@ -510,8 +523,6 @@ extern struct SoundInfo Sound[]; extern struct JoystickInfo joystick[]; extern struct OptionInfo options; extern struct SetupInfo setup; -extern struct SetupFileList *setup_list; -extern struct SetupFileList *level_setup_list; extern struct GameInfo game; extern struct GlobalInfo global; @@ -567,6 +578,8 @@ extern char *element_info[]; #define FONT4_YSIZE 16 #define FONT5_XSIZE 10 #define FONT5_YSIZE 14 +#define FONT6_XSIZE 16 +#define FONT6_YSIZE 32 #define GFX_STARTX SX #define GFX_STARTY SY @@ -596,6 +609,14 @@ extern char *element_info[]; #define MINI_DC_PER_LINE 16 #define MICRO_DC_PER_LINE 16 +#define MINI_MORE_STARTX 256 +#define MINI_MORE_STARTY 256 +#define MICRO_MORE_STARTX 384 +#define MICRO_MORE_STARTY 384 +#define MORE_PER_LINE 16 +#define MINI_MORE_PER_LINE 16 +#define MICRO_MORE_PER_LINE 16 + #define FONT_CHARS_PER_LINE 16 #define FONT_LINES_PER_FONT 4 @@ -676,40 +697,40 @@ extern char *element_info[]; #define EL_SOKOBAN_OBJEKT 67 #define EL_SOKOBAN_FELD_LEER 68 #define EL_SOKOBAN_FELD_VOLL 69 -#define EL_BUTTERFLY_R 70 -#define EL_BUTTERFLY_O 71 -#define EL_BUTTERFLY_L 72 -#define EL_BUTTERFLY_U 73 -#define EL_FIREFLY_R 74 -#define EL_FIREFLY_O 75 -#define EL_FIREFLY_L 76 -#define EL_FIREFLY_U 77 -#define EL_BUTTERFLY_1 EL_BUTTERFLY_U -#define EL_BUTTERFLY_2 EL_BUTTERFLY_L -#define EL_BUTTERFLY_3 EL_BUTTERFLY_O -#define EL_BUTTERFLY_4 EL_BUTTERFLY_R -#define EL_FIREFLY_1 EL_FIREFLY_L -#define EL_FIREFLY_2 EL_FIREFLY_U -#define EL_FIREFLY_3 EL_FIREFLY_R -#define EL_FIREFLY_4 EL_FIREFLY_O +#define EL_BUTTERFLY_RIGHT 70 +#define EL_BUTTERFLY_UP 71 +#define EL_BUTTERFLY_LEFT 72 +#define EL_BUTTERFLY_DOWN 73 +#define EL_FIREFLY_RIGHT 74 +#define EL_FIREFLY_UP 75 +#define EL_FIREFLY_LEFT 76 +#define EL_FIREFLY_DOWN 77 +#define EL_BUTTERFLY_1 EL_BUTTERFLY_DOWN +#define EL_BUTTERFLY_2 EL_BUTTERFLY_LEFT +#define EL_BUTTERFLY_3 EL_BUTTERFLY_UP +#define EL_BUTTERFLY_4 EL_BUTTERFLY_RIGHT +#define EL_FIREFLY_1 EL_FIREFLY_LEFT +#define EL_FIREFLY_2 EL_FIREFLY_DOWN +#define EL_FIREFLY_3 EL_FIREFLY_RIGHT +#define EL_FIREFLY_4 EL_FIREFLY_UP #define EL_BUTTERFLY 78 #define EL_FIREFLY 79 #define EL_SPIELER1 80 #define EL_SPIELER2 81 #define EL_SPIELER3 82 #define EL_SPIELER4 83 -#define EL_KAEFER_R 84 -#define EL_KAEFER_O 85 -#define EL_KAEFER_L 86 -#define EL_KAEFER_U 87 -#define EL_FLIEGER_R 88 -#define EL_FLIEGER_O 89 -#define EL_FLIEGER_L 90 -#define EL_FLIEGER_U 91 -#define EL_PACMAN_R 92 -#define EL_PACMAN_O 93 -#define EL_PACMAN_L 94 -#define EL_PACMAN_U 95 +#define EL_KAEFER_RIGHT 84 +#define EL_KAEFER_UP 85 +#define EL_KAEFER_LEFT 86 +#define EL_KAEFER_DOWN 87 +#define EL_FLIEGER_RIGHT 88 +#define EL_FLIEGER_UP 89 +#define EL_FLIEGER_LEFT 90 +#define EL_FLIEGER_DOWN 91 +#define EL_PACMAN_RIGHT 92 +#define EL_PACMAN_UP 93 +#define EL_PACMAN_LEFT 94 +#define EL_PACMAN_DOWN 95 #define EL_EDELSTEIN_ROT 96 #define EL_EDELSTEIN_LILA 97 #define EL_ERZ_EDEL_ROT 98 @@ -728,13 +749,13 @@ extern char *element_info[]; #define EL_BLACK_ORB 108 #define EL_AMOEBA2DIAM 109 -#define EL_MAULWURF 110 +#define EL_MOLE 110 #define EL_PINGUIN 111 #define EL_SONDE 112 -#define EL_PFEIL_L 113 -#define EL_PFEIL_R 114 -#define EL_PFEIL_O 115 -#define EL_PFEIL_U 116 +#define EL_PFEIL_LEFT 113 +#define EL_PFEIL_RIGHT 114 +#define EL_PFEIL_UP 115 +#define EL_PFEIL_DOWN 116 #define EL_SCHWEIN 117 #define EL_DRACHE 118 @@ -850,38 +871,40 @@ extern char *element_info[]; #define EL_DOOR_WHITE 260 #define EL_DOOR_WHITE_GRAY 261 #define EL_KEY_WHITE 262 -#define EL_FORCE_FIELD 263 +#define EL_SHIELD_PASSIVE 263 #define EL_EXTRA_TIME 264 #define EL_SWITCHGATE_OPEN 265 #define EL_SWITCHGATE_CLOSED 266 #define EL_SWITCHGATE_SWITCH_1 267 #define EL_SWITCHGATE_SWITCH_2 268 -#define EL_TIME_GATE 269 -#define EL_TIME_GATE_WHEEL 270 + +#define EL_UNUSED_269 269 +#define EL_UNUSED_270 270 + #define EL_BELT1_LEFT 271 #define EL_BELT1_MIDDLE 272 #define EL_BELT1_RIGHT 273 -#define EL_BELT1_SWITCH_L 274 -#define EL_BELT1_SWITCH_M 275 -#define EL_BELT1_SWITCH_R 276 +#define EL_BELT1_SWITCH_LEFT 274 +#define EL_BELT1_SWITCH_MIDDLE 275 +#define EL_BELT1_SWITCH_RIGHT 276 #define EL_BELT2_LEFT 277 #define EL_BELT2_MIDDLE 278 #define EL_BELT2_RIGHT 279 -#define EL_BELT2_SWITCH_L 280 -#define EL_BELT2_SWITCH_M 281 -#define EL_BELT2_SWITCH_R 282 +#define EL_BELT2_SWITCH_LEFT 280 +#define EL_BELT2_SWITCH_MIDDLE 281 +#define EL_BELT2_SWITCH_RIGHT 282 #define EL_BELT3_LEFT 283 #define EL_BELT3_MIDDLE 284 #define EL_BELT3_RIGHT 285 -#define EL_BELT3_SWITCH_L 286 -#define EL_BELT3_SWITCH_M 287 -#define EL_BELT3_SWITCH_R 288 +#define EL_BELT3_SWITCH_LEFT 286 +#define EL_BELT3_SWITCH_MIDDLE 287 +#define EL_BELT3_SWITCH_RIGHT 288 #define EL_BELT4_LEFT 289 #define EL_BELT4_MIDDLE 290 #define EL_BELT4_RIGHT 291 -#define EL_BELT4_SWITCH_L 292 -#define EL_BELT4_SWITCH_M 293 -#define EL_BELT4_SWITCH_R 294 +#define EL_BELT4_SWITCH_LEFT 292 +#define EL_BELT4_SWITCH_MIDDLE 293 +#define EL_BELT4_SWITCH_RIGHT 294 #define EL_LANDMINE 295 #define EL_ENVELOPE 296 #define EL_LIGHT_SWITCH_OFF 297 @@ -904,8 +927,42 @@ extern char *element_info[]; #define EL_MOLE_DOWN 314 #define EL_STEEL_SLANTED 315 #define EL_SAND_INVISIBLE 316 +#define EL_DX_UNKNOWN_15 317 +#define EL_DX_UNKNOWN_42 318 + +#define EL_UNUSED_319 319 +#define EL_UNUSED_320 320 + +#define EL_SHIELD_ACTIVE 321 +#define EL_TIMEGATE_OPEN 322 +#define EL_TIMEGATE_CLOSED 323 +#define EL_TIMEGATE_SWITCH_ON 324 +#define EL_TIMEGATE_SWITCH_OFF 325 + +#define EL_BALLOON 326 +#define EL_BALLOON_SEND_LEFT 327 +#define EL_BALLOON_SEND_RIGHT 328 +#define EL_BALLOON_SEND_UP 329 +#define EL_BALLOON_SEND_DOWN 330 +#define EL_BALLOON_SEND_ANY 331 + +#define EL_EMC_STEEL_WALL_1 332 +#define EL_EMC_STEEL_WALL_2 333 +#define EL_EMC_STEEL_WALL_3 334 +#define EL_EMC_STEEL_WALL_4 335 +#define EL_EMC_WALL_1 336 +#define EL_EMC_WALL_2 337 +#define EL_EMC_WALL_3 338 +#define EL_EMC_WALL_4 339 +#define EL_EMC_WALL_5 340 +#define EL_EMC_WALL_6 341 +#define EL_EMC_WALL_7 342 +#define EL_EMC_WALL_8 343 + /* "real" (and therefore drawable) runtime elements */ +#define EL_FIRST_RUNTIME_EL 500 + #define EL_SIEB_LEER 500 #define EL_SIEB2_LEER 501 #define EL_SIEB_VOLL 502 @@ -925,6 +982,8 @@ extern char *element_info[]; #define EL_DYNABOMB_ACTIVE_4 516 #define EL_SWITCHGATE_OPENING 517 #define EL_SWITCHGATE_CLOSING 518 +#define EL_TIMEGATE_OPENING 519 +#define EL_TIMEGATE_CLOSING 520 /* "unreal" (and therefore not drawable) runtime elements */ #define EL_BLOCKED 600 @@ -933,9 +992,10 @@ extern char *element_info[]; #define EL_BLURB_LEFT 603 #define EL_BLURB_RIGHT 604 #define EL_AMOEBING 605 -#define EL_MAUERND 606 -#define EL_BURNING 607 -#define EL_PLAYER_IS_LEAVING 608 +#define EL_DEAMOEBING 606 +#define EL_MAUERND 607 +#define EL_BURNING 608 +#define EL_PLAYER_IS_LEAVING 609 /* game graphics: ** 0 - 255: graphics from "RocksScreen" @@ -943,6 +1003,7 @@ extern char *element_info[]; ** 512 - 767: graphics from "RocksHeroes" ** 768 - 1023: graphics from "RocksSP" ** 1024 - 1279: graphics from "RocksDC" +** 1280 - 1535: graphics from "RocksMore" */ #define GFX_START_ROCKSSCREEN 0 @@ -955,8 +1016,10 @@ extern char *element_info[]; #define GFX_END_ROCKSSP 1023 #define GFX_START_ROCKSDC 1024 #define GFX_END_ROCKSDC 1279 +#define GFX_START_ROCKSMORE 1280 +#define GFX_END_ROCKSMORE 1535 -#define NUM_TILES 1280 +#define NUM_TILES 1536 /* graphics from "RocksScreen" */ /* Zeile 0 (0) */ @@ -1007,25 +1070,25 @@ extern char *element_info[]; #define GFX_DYNAMIT_AUS 48 #define GFX_DYNAMIT 49 #define GFX_FLIEGER 56 -#define GFX_FLIEGER_R 56 -#define GFX_FLIEGER_O 57 -#define GFX_FLIEGER_L 58 -#define GFX_FLIEGER_U 59 +#define GFX_FLIEGER_RIGHT 56 +#define GFX_FLIEGER_UP 57 +#define GFX_FLIEGER_LEFT 58 +#define GFX_FLIEGER_DOWN 59 /* Zeile 4 (64) */ #define GFX_EXPLOSION 64 #define GFX_KAEFER 72 -#define GFX_KAEFER_R 72 -#define GFX_KAEFER_O 73 -#define GFX_KAEFER_L 74 -#define GFX_KAEFER_U 75 +#define GFX_KAEFER_RIGHT 72 +#define GFX_KAEFER_UP 73 +#define GFX_KAEFER_LEFT 74 +#define GFX_KAEFER_DOWN 75 /* Zeile 5 (80) */ #define GFX_MAMPFER 80 #define GFX_ROBOT 84 #define GFX_PACMAN 88 -#define GFX_PACMAN_R 88 -#define GFX_PACMAN_O 89 -#define GFX_PACMAN_L 90 -#define GFX_PACMAN_U 91 +#define GFX_PACMAN_RIGHT 88 +#define GFX_PACMAN_UP 89 +#define GFX_PACMAN_LEFT 90 +#define GFX_PACMAN_DOWN 91 /* Zeile 6 (96) */ #define GFX_ABLENK 96 #define GFX_ABLENK_EIN GFX_ABLENK @@ -1070,7 +1133,7 @@ extern char *element_info[]; #define GFX_KUGEL_GRAU 143 /* Zeile 9 (144) */ #define GFX_PINGUIN 144 -#define GFX_MAULWURF 145 +#define GFX_MOLE 145 #define GFX_SCHWEIN 146 #define GFX_DRACHE 147 #define GFX_MAUER_XY 148 @@ -1104,20 +1167,20 @@ extern char *element_info[]; #define GFX_DYNABOMB_NR 188 #define GFX_DYNABOMB_SZ 191 /* Zeile 12 (192) */ -#define GFX_PFEIL_L 192 -#define GFX_PFEIL_R 193 -#define GFX_PFEIL_O 194 -#define GFX_PFEIL_U 195 +#define GFX_PFEIL_LEFT 192 +#define GFX_PFEIL_RIGHT 193 +#define GFX_PFEIL_UP 194 +#define GFX_PFEIL_DOWN 195 #define GFX_BUTTERFLY 196 #define GFX_FIREFLY 198 -#define GFX_BUTTERFLY_R 200 -#define GFX_BUTTERFLY_O 201 -#define GFX_BUTTERFLY_L 202 -#define GFX_BUTTERFLY_U 203 -#define GFX_FIREFLY_R 204 -#define GFX_FIREFLY_O 205 -#define GFX_FIREFLY_L 206 -#define GFX_FIREFLY_U 207 +#define GFX_BUTTERFLY_RIGHT 200 +#define GFX_BUTTERFLY_UP 201 +#define GFX_BUTTERFLY_LEFT 202 +#define GFX_BUTTERFLY_DOWN 203 +#define GFX_FIREFLY_RIGHT 204 +#define GFX_FIREFLY_UP 205 +#define GFX_FIREFLY_LEFT 206 +#define GFX_FIREFLY_DOWN 207 /* only available as size MINI_TILE */ #define GFX_VSTEEL_UPPER_LEFT 208 @@ -1164,6 +1227,8 @@ extern char *element_info[]; #define GFX_SPIELER4_PUSH_LEFT (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE + 4) #define GFX_MAUER_DOWN (GFX_START_ROCKSHEROES +12*HEROES_PER_LINE + 0) #define GFX_MAUER_UP (GFX_START_ROCKSHEROES +12*HEROES_PER_LINE + 3) +#define GFX2_SHIELD_PASSIVE (GFX_START_ROCKSHEROES +13*HEROES_PER_LINE + 1) +#define GFX2_SHIELD_ACTIVE (GFX_START_ROCKSHEROES +13*HEROES_PER_LINE + 5) #define GFX_SONDE_START (GFX_START_ROCKSHEROES + 9*HEROES_PER_LINE + 8) #define GFX_SCHWEIN_DOWN (GFX_START_ROCKSHEROES + 0*HEROES_PER_LINE + 8) @@ -1174,18 +1239,20 @@ extern char *element_info[]; #define GFX_DRACHE_UP (GFX_START_ROCKSHEROES + 2*HEROES_PER_LINE +12) #define GFX_DRACHE_LEFT (GFX_START_ROCKSHEROES + 3*HEROES_PER_LINE + 8) #define GFX_DRACHE_RIGHT (GFX_START_ROCKSHEROES + 3*HEROES_PER_LINE +12) -#define GFX_MAULWURF_DOWN (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE + 8) -#define GFX_MAULWURF_UP (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE +12) -#define GFX_MAULWURF_LEFT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE + 8) -#define GFX_MAULWURF_RIGHT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE +12) +/* +#define GFX_MOLE_DOWN (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE + 8) +#define GFX_MOLE_UP (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE +12) +#define GFX_MOLE_LEFT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE + 8) +#define GFX_MOLE_RIGHT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE +12) +*/ #define GFX_PINGUIN_DOWN (GFX_START_ROCKSHEROES + 6*HEROES_PER_LINE + 8) #define GFX_PINGUIN_UP (GFX_START_ROCKSHEROES + 6*HEROES_PER_LINE +12) #define GFX_PINGUIN_LEFT (GFX_START_ROCKSHEROES + 7*HEROES_PER_LINE + 8) #define GFX_PINGUIN_RIGHT (GFX_START_ROCKSHEROES + 7*HEROES_PER_LINE +12) #define GFX_BLURB_LEFT (GFX_START_ROCKSHEROES +10*HEROES_PER_LINE + 8) #define GFX_BLURB_RIGHT (GFX_START_ROCKSHEROES +10*HEROES_PER_LINE +12) -#define GFX_FUNKELN_BLAU (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE + 8) -#define GFX_FUNKELN_WEISS (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE +12) +#define GFX_FUNKELN_BLAU (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE + 9) +#define GFX_FUNKELN_WEISS (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE +13) #define GFX_FLAMMEN_LEFT (GFX_START_ROCKSHEROES +12*HEROES_PER_LINE + 8) #define GFX_FLAMMEN_RIGHT (GFX_START_ROCKSHEROES +13*HEROES_PER_LINE + 8) #define GFX_FLAMMEN_UP (GFX_START_ROCKSHEROES +14*HEROES_PER_LINE + 8) @@ -1294,25 +1361,24 @@ extern char *element_info[]; #define GFX_BELT4_MIDDLE (GFX_START_ROCKSDC + 9 * DC_PER_LINE + 0) #define GFX_BELT4_LEFT (GFX_START_ROCKSDC + 10 * DC_PER_LINE + 0) #define GFX_BELT4_RIGHT (GFX_START_ROCKSDC + 11 * DC_PER_LINE + 0) -#define GFX_BELT1_SWITCH_L (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 0) -#define GFX_BELT2_SWITCH_L (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 1) -#define GFX_BELT3_SWITCH_L (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 2) -#define GFX_BELT4_SWITCH_L (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 3) -#define GFX_BELT1_SWITCH_M (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 0) -#define GFX_BELT2_SWITCH_M (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 1) -#define GFX_BELT3_SWITCH_M (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 2) -#define GFX_BELT4_SWITCH_M (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 3) -#define GFX_BELT1_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 0) -#define GFX_BELT2_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 1) -#define GFX_BELT3_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 2) -#define GFX_BELT4_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 3) - -#define GFX_SWITCHGATE_OPEN (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 4) -#define GFX_SWITCHGATE_CLOSED (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 0) +#define GFX_BELT1_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 0) +#define GFX_BELT2_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 1) +#define GFX_BELT3_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 2) +#define GFX_BELT4_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 3) +#define GFX_BELT1_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 0) +#define GFX_BELT2_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 1) +#define GFX_BELT3_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 2) +#define GFX_BELT4_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 3) +#define GFX_BELT1_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 0) +#define GFX_BELT2_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 1) +#define GFX_BELT3_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 2) +#define GFX_BELT4_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 3) + #define GFX_SWITCHGATE_SWITCH_1 (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 4) #define GFX_SWITCHGATE_SWITCH_2 (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 5) #define GFX_LIGHT_SWITCH_OFF (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 6) #define GFX_LIGHT_SWITCH_ON (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 7) +#define GFX_TIMEGATE_SWITCH (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 0) #define GFX_ENVELOPE (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 4) #define GFX_SIGN_EXCLAMATION (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 5) @@ -1321,7 +1387,47 @@ extern char *element_info[]; #define GFX_STEEL_SLANTED (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 5) #define GFX_EXTRA_TIME (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 8) -#define GFX_FORCE_FIELD (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 8) +#define GFX_SHIELD_ACTIVE (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 8) +#define GFX_SHIELD_PASSIVE (GFX_START_ROCKSDC + 2 * DC_PER_LINE + 8) +#define GFX_MOLE_DOWN (GFX_START_ROCKSDC + 3 * DC_PER_LINE + 8) +#define GFX_MOLE_UP (GFX_START_ROCKSDC + 3 * DC_PER_LINE + 12) +#define GFX_MOLE_LEFT (GFX_START_ROCKSDC + 4 * DC_PER_LINE + 8) +#define GFX_MOLE_RIGHT (GFX_START_ROCKSDC + 4 * DC_PER_LINE + 12) +#define GFX_SWITCHGATE_CLOSED (GFX_START_ROCKSDC + 5 * DC_PER_LINE + 8) +#define GFX_SWITCHGATE_OPEN (GFX_START_ROCKSDC + 5 * DC_PER_LINE + 12) +#define GFX_TIMEGATE_CLOSED (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 8) +#define GFX_TIMEGATE_OPEN (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 12) +#define GFX_BALLOON_SEND_LEFT (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 8) +#define GFX_BALLOON_SEND_RIGHT (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 9) +#define GFX_BALLOON_SEND_UP (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 10) +#define GFX_BALLOON_SEND_DOWN (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 11) +#define GFX_BALLOON (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 12) +#define GFX_BALLOON_SEND_ANY (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 15) + +#define GFX_EMC_STEEL_WALL_1 (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 14) +#define GFX_EMC_STEEL_WALL_2 (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 14) +#define GFX_EMC_STEEL_WALL_3 (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 14) +#define GFX_EMC_STEEL_WALL_4 (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 14) +#define GFX_EMC_WALL_1 (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 13) +#define GFX_EMC_WALL_2 (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 14) +#define GFX_EMC_WALL_3 (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 15) +#define GFX_EMC_WALL_4 (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 14) +#define GFX_EMC_WALL_5 (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 15) +#define GFX_EMC_WALL_6 (GFX_START_ROCKSDC + 2 * DC_PER_LINE + 14) +#define GFX_EMC_WALL_7 (GFX_START_ROCKSDC + 2 * DC_PER_LINE + 15) +#define GFX_EMC_WALL_8 (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 14) + +/* graphics from "RocksMore" */ +#define GFX_ARROW_BLUE_LEFT (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 0) +#define GFX_ARROW_BLUE_RIGHT (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 1) +#define GFX_ARROW_BLUE_UP (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 2) +#define GFX_ARROW_BLUE_DOWN (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 3) +#define GFX_ARROW_RED_LEFT (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 0) +#define GFX_ARROW_RED_RIGHT (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 1) +#define GFX_ARROW_RED_UP (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 2) +#define GFX_ARROW_RED_DOWN (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 3) +#define GFX_SCROLLBAR_BLUE (GFX_START_ROCKSMORE + 2 * MORE_PER_LINE + 0) +#define GFX_SCROLLBAR_RED (GFX_START_ROCKSMORE + 2 * MORE_PER_LINE + 1) /* graphics from "RocksFont" */ #define GFX_CHAR_START (GFX_START_ROCKSFONT) @@ -1363,8 +1469,6 @@ extern char *element_info[]; #define GFX_DOOR_WHITE GFX_CHAR_FRAGE #define GFX_DOOR_WHITE_GRAY GFX_CHAR_FRAGE #define GFX_KEY_WHITE GFX_CHAR_FRAGE -#define GFX_TIME_GATE GFX_CHAR_FRAGE -#define GFX_TIME_GATE_WHEEL GFX_CHAR_FRAGE #define GFX_SIGN_RADIOACTIVITY GFX_CHAR_FRAGE #define GFX_SIGN_WHEELCHAIR GFX_CHAR_FRAGE #define GFX_SIGN_PARKING GFX_CHAR_FRAGE @@ -1375,10 +1479,9 @@ extern char *element_info[]; #define GFX_SIGN_EXIT GFX_CHAR_FRAGE #define GFX_SIGN_YINYANG GFX_CHAR_FRAGE #define GFX_SIGN_OTHER GFX_CHAR_FRAGE -#define GFX_MOLE_LEFT GFX_CHAR_FRAGE -#define GFX_MOLE_RIGHT GFX_CHAR_FRAGE -#define GFX_MOLE_UP GFX_CHAR_FRAGE -#define GFX_MOLE_DOWN GFX_CHAR_FRAGE +#define GFX_DX_UNKNOWN_15 GFX_CHAR_FRAGE +#define GFX_DX_UNKNOWN_42 GFX_CHAR_FRAGE + /* the names of the sounds */ #define SND_ALCHEMY 0 @@ -1467,6 +1570,7 @@ extern char *element_info[]; /* font types */ #define FS_SMALL 0 #define FS_BIG 1 +#define FS_MEDIUM 2 /* font colors */ #define FC_RED 0 #define FC_BLUE 1