projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added option for magic wall timer of zero for native BD engine
[rocksndiamonds.git]
/
src
/
files.c
diff --git
a/src/files.c
b/src/files.c
index a0c0564cb99a1e2215169e8ec59b2a23186a8c00..25943b63f123b597870bcc4a56141b6d48997023 100644
(file)
--- a/
src/files.c
+++ b/
src/files.c
@@
-737,6
+737,11
@@
static struct LevelFileConfigInfo chunk_config_ELEM[] =
TYPE_BOOLEAN, CONF_VALUE_8_BIT(2),
&li.bd_magic_wall_stops_amoeba, TRUE
},
TYPE_BOOLEAN, CONF_VALUE_8_BIT(2),
&li.bd_magic_wall_stops_amoeba, TRUE
},
+ {
+ EL_BD_MAGIC_WALL, -1,
+ TYPE_BOOLEAN, CONF_VALUE_8_BIT(3),
+ &li.bd_magic_wall_zero_infinite, TRUE
+ },
{
EL_BD_MAGIC_WALL, -1,
TYPE_ELEMENT, CONF_VALUE_16_BIT(1),
{
EL_BD_MAGIC_WALL, -1,
TYPE_ELEMENT, CONF_VALUE_16_BIT(1),
@@
-950,6
+955,12
@@
static struct LevelFileConfigInfo chunk_config_ELEM[] =
&li.bd_hammer_walls_reappear_delay, 100
},
&li.bd_hammer_walls_reappear_delay, 100
},
+ {
+ EL_BD_ROCKET_LAUNCHER, -1,
+ TYPE_BOOLEAN, CONF_VALUE_8_BIT(1),
+ &li.bd_infinite_rockets, FALSE
+ },
+
{
EL_BD_SKELETON, -1,
TYPE_INTEGER, CONF_VALUE_8_BIT(1),
{
EL_BD_SKELETON, -1,
TYPE_INTEGER, CONF_VALUE_8_BIT(1),
@@
-4258,6
+4269,7
@@
static void CopyNativeLevel_RND_to_BD(struct LevelInfo *level)
cave->voodoo_disappear_in_explosion = level->bd_voodoo_vanish_by_explosion;
cave->level_penalty_time[0] = level->bd_voodoo_penalty_time;
cave->level_magic_wall_time[0] = level->time_magic_wall;
cave->voodoo_disappear_in_explosion = level->bd_voodoo_vanish_by_explosion;
cave->level_penalty_time[0] = level->bd_voodoo_penalty_time;
cave->level_magic_wall_time[0] = level->time_magic_wall;
+ cave->magic_timer_zero_is_infinite = level->bd_magic_wall_zero_infinite;
cave->magic_timer_wait_for_hatching = level->bd_magic_wall_wait_hatching;
cave->magic_wall_stops_amoeba = level->bd_magic_wall_stops_amoeba;
cave->magic_timer_wait_for_hatching = level->bd_magic_wall_wait_hatching;
cave->magic_wall_stops_amoeba = level->bd_magic_wall_stops_amoeba;
@@
-4326,6
+4338,8
@@
static void CopyNativeLevel_RND_to_BD(struct LevelInfo *level)
cave->hammered_walls_reappear = level->bd_hammer_walls_reappear;
cave->hammered_wall_reappear_frame = level->bd_hammer_walls_reappear_delay;
cave->hammered_walls_reappear = level->bd_hammer_walls_reappear;
cave->hammered_wall_reappear_frame = level->bd_hammer_walls_reappear_delay;
+ cave->infinite_rockets = level->bd_infinite_rockets;
+
cave->skeletons_needed_for_pot = level->bd_num_skeletons_needed_for_pot;
cave->skeletons_worth_diamonds = level->bd_skeleton_worth_num_diamonds;
cave->skeletons_needed_for_pot = level->bd_num_skeletons_needed_for_pot;
cave->skeletons_worth_diamonds = level->bd_skeleton_worth_num_diamonds;
@@
-4419,6
+4433,7
@@
static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level)
level->bd_voodoo_vanish_by_explosion = cave->voodoo_disappear_in_explosion;
level->bd_voodoo_penalty_time = cave->level_penalty_time[bd_level_nr];
level->time_magic_wall = cave->level_magic_wall_time[bd_level_nr];
level->bd_voodoo_vanish_by_explosion = cave->voodoo_disappear_in_explosion;
level->bd_voodoo_penalty_time = cave->level_penalty_time[bd_level_nr];
level->time_magic_wall = cave->level_magic_wall_time[bd_level_nr];
+ level->bd_magic_wall_zero_infinite = cave->magic_timer_zero_is_infinite;
level->bd_magic_wall_wait_hatching = cave->magic_timer_wait_for_hatching;
level->bd_magic_wall_stops_amoeba = cave->magic_wall_stops_amoeba;
level->bd_magic_wall_wait_hatching = cave->magic_timer_wait_for_hatching;
level->bd_magic_wall_stops_amoeba = cave->magic_wall_stops_amoeba;
@@
-4487,6
+4502,8
@@
static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level)
level->bd_hammer_walls_reappear = cave->hammered_walls_reappear;
level->bd_hammer_walls_reappear_delay = cave->hammered_wall_reappear_frame;
level->bd_hammer_walls_reappear = cave->hammered_walls_reappear;
level->bd_hammer_walls_reappear_delay = cave->hammered_wall_reappear_frame;
+ level->bd_infinite_rockets = cave->infinite_rockets;
+
level->bd_num_skeletons_needed_for_pot= cave->skeletons_needed_for_pot;
level->bd_skeleton_worth_num_diamonds = cave->skeletons_worth_diamonds;
level->bd_num_skeletons_needed_for_pot= cave->skeletons_needed_for_pot;
level->bd_skeleton_worth_num_diamonds = cave->skeletons_worth_diamonds;
@@
-4597,6
+4614,9
@@
static void CopyNativeTape_BD_to_RND(struct LevelInfo *level)
}
TapeHaltRecording();
}
TapeHaltRecording();
+
+ if (!replay->success)
+ Warn("BD replay is marked as not successful");
}
}