game.panel.active = TRUE;
game.no_level_time_limit = (level.time == 0);
- game.time_limit = (setup.time_limit);
+ game.time_limit = (leveldir_current->time_limit && setup.time_limit);
game.yamyam_content_nr = 0;
game.robot_wheel_active = FALSE;
boolean explosions_delayed;
boolean envelope_active;
boolean no_level_time_limit; // (variable only in very special case)
- boolean time_limit; // forced by setup option
+ boolean time_limit; // forced by levelset config or setup option
int time_final; // time (in seconds) or steps left or played
int score_time_final; // time (in frames) or steps played
#define LEVELINFO_TOKEN_EMPTY_LEVEL_NAME 27
#define LEVELINFO_TOKEN_FORCE_LEVEL_NAME 28
#define LEVELINFO_TOKEN_HANDICAP 29
-#define LEVELINFO_TOKEN_SKIP_LEVELS 30
-#define LEVELINFO_TOKEN_USE_EMC_TILES 31
+#define LEVELINFO_TOKEN_TIME_LIMIT 30
+#define LEVELINFO_TOKEN_SKIP_LEVELS 31
+#define LEVELINFO_TOKEN_USE_EMC_TILES 32
-#define NUM_LEVELINFO_TOKENS 32
+#define NUM_LEVELINFO_TOKENS 33
static LevelDirTree ldi;
{ TYPE_STRING, &ldi.empty_level_name, "empty_level_name" },
{ TYPE_BOOLEAN, &ldi.force_level_name, "force_level_name" },
{ TYPE_BOOLEAN, &ldi.handicap, "handicap" },
+ { TYPE_BOOLEAN, &ldi.time_limit, "time_limit" },
{ TYPE_BOOLEAN, &ldi.skip_levels, "skip_levels" },
{ TYPE_BOOLEAN, &ldi.use_emc_tiles, "use_emc_tiles" }
};
ti->handicap_level = 0;
ti->readonly = TRUE;
ti->handicap = TRUE;
+ ti->time_limit = TRUE;
ti->skip_levels = FALSE;
ti->use_emc_tiles = FALSE;
ti->handicap_level = parent->handicap_level;
ti->readonly = parent->readonly;
ti->handicap = parent->handicap;
+ ti->time_limit = parent->time_limit;
ti->skip_levels = parent->skip_levels;
ti->use_emc_tiles = parent->use_emc_tiles;
ti_copy->user_defined = ti->user_defined;
ti_copy->readonly = ti->readonly;
ti_copy->handicap = ti->handicap;
+ ti_copy->time_limit = ti->time_limit;
ti_copy->skip_levels = ti->skip_levels;
ti_copy->use_emc_tiles = ti->use_emc_tiles;
boolean user_defined; // levels in user directory and marked as "private"
boolean readonly; // readonly levels can not be changed with editor
boolean handicap; // level set has no handicap when set to "false"
+ boolean time_limit; // level set has no time limit when set to "false"
boolean skip_levels; // levels can be skipped when set to "true"
boolean use_emc_tiles;// use (swapped) V5/V6 EMC tiles when set to "true"