X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=62069398a849b7b5aa877e95ead9b6a120ee4db1;hb=28f12e15d6cc932d5c2b6ae5a621fa024f3a1a2b;hp=b48fcf4a1482b38942301fbadb8396be182513f0;hpb=f187fddd964c6da2ab42b3da9f43961842f62572;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index b48fcf4a..62069398 100644 --- a/src/files.c +++ b/src/files.c @@ -273,6 +273,24 @@ static struct LevelFileConfigInfo chunk_config_INFO[] = &li.rate_time_over_score, FALSE }, + { + -1, -1, + TYPE_BOOLEAN, CONF_VALUE_8_BIT(14), + &li.bd_intermission, FALSE + }, + + { + -1, -1, + TYPE_INTEGER, CONF_VALUE_8_BIT(15), + &li.bd_scheduling_type, GD_SCHEDULING_MILLISECONDS + }, + + { + -1, -1, + TYPE_BOOLEAN, CONF_VALUE_8_BIT(16), + &li.bd_pal_timing, FALSE + }, + { -1, -1, -1, -1, @@ -570,6 +588,12 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] = &li.bd_diagonal_movements, FALSE }, + { + EL_BD_DIAMOND, -1, + TYPE_INTEGER, CONF_VALUE_16_BIT(1), + &li.score[SC_DIAMOND_EXTRA], 20 + }, + // (the following values are related to various game elements) { @@ -952,14 +976,6 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] = &li.score[SC_ELEM_BONUS], 10 }, - // ---------- unused values ------------------------------------------------- - - { - EL_UNKNOWN, SAVE_CONF_NEVER, - TYPE_INTEGER, CONF_VALUE_16_BIT(1), - &li.score[SC_UNKNOWN_15], 10 - }, - { -1, -1, -1, -1, @@ -3714,11 +3730,14 @@ static void CopyNativeLevel_RND_to_BD(struct LevelInfo *level) cave->level_timevalue[i] = level->score[SC_TIME_BONUS]; } - cave->diamond_value = level->score[SC_DIAMOND]; - cave->extra_diamond_value = level->score[SC_DIAMOND]; + cave->diamond_value = level->score[SC_EMERALD]; + cave->extra_diamond_value = level->score[SC_DIAMOND_EXTRA]; cave->level_speed[0] = 160; // set cave speed + cave->scheduling = level->bd_scheduling_type; + cave->pal_timing = level->bd_pal_timing; + cave->intermission = level->bd_intermission; cave->diagonal_movements = level->bd_diagonal_movements; strncpy(cave->name, level->name, sizeof(GdString)); @@ -3739,14 +3758,18 @@ static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level) level->fieldx = MIN(cave->w, MAX_LEV_FIELDX); level->fieldy = MIN(cave->h, MAX_LEV_FIELDY); - level->time = cave->level_time[bd_level_nr]; - level->gems_needed = cave->level_diamonds[bd_level_nr]; - level->time_magic_wall = cave->level_magic_wall_time[bd_level_nr]; + level->time = cave->level_time[bd_level_nr]; + level->gems_needed = cave->level_diamonds[bd_level_nr]; + level->time_magic_wall = cave->level_magic_wall_time[bd_level_nr]; - level->score[SC_TIME_BONUS] = cave->level_timevalue[bd_level_nr]; - level->score[SC_DIAMOND] = cave->diamond_value; + level->score[SC_TIME_BONUS] = cave->level_timevalue[bd_level_nr]; + level->score[SC_EMERALD] = cave->diamond_value; + level->score[SC_DIAMOND_EXTRA] = cave->extra_diamond_value; - level->bd_diagonal_movements = cave->diagonal_movements; + level->bd_scheduling_type = cave->scheduling; + level->bd_pal_timing = cave->pal_timing; + level->bd_intermission = cave->intermission; + level->bd_diagonal_movements = cave->diagonal_movements; strncpy(level->name, cave->name, MAX_LEVEL_NAME_LEN); level->name[MAX_LEVEL_NAME_LEN] = '\0';