X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=b8ba717bbdeed26f557f54b4f9a4ff92a2a3b2f9;hb=c2641d60f5d3461bbd449dffe85251483f12e6b5;hp=d177897aaff098d49ed4569284178ff3883546e2;hpb=57de370c9ad327ece8d2013095281f6b7bbda658;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index d177897a..b8ba717b 100644 --- a/src/main.h +++ b/src/main.h @@ -215,7 +215,7 @@ typedef unsigned char byte; #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 @@ -297,6 +297,8 @@ struct SetupInfo boolean autorecord; boolean quick_doors; boolean team_mode; + boolean handicap; + boolean time_limit; struct SetupInputInfo input[MAX_PLAYERS]; }; @@ -384,6 +386,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 */ @@ -394,6 +397,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 @@ -428,6 +432,7 @@ struct GameInfo int belt_dir[4]; int belt_dir_nr[4]; int switchgate_pos; + int balloon_dir; }; struct GlobalInfo @@ -516,8 +521,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; @@ -924,7 +927,30 @@ extern char *element_info[]; #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 @@ -1356,6 +1382,25 @@ extern char *element_info[]; #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 "RocksFont" */ #define GFX_CHAR_START (GFX_START_ROCKSFONT) @@ -1410,6 +1455,7 @@ extern char *element_info[]; #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 #define SND_AMOEBE 1