projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed graphical bugs when using smooth movements with BD engine
[rocksndiamonds.git]
/
src
/
files.c
diff --git
a/src/files.c
b/src/files.c
index 433f68134896aac251a6ea338c3f831509e7dc5c..b48fcf4a1482b38942301fbadb8396be182513f0 100644
(file)
--- a/
src/files.c
+++ b/
src/files.c
@@
-563,6
+563,15
@@
static struct LevelFileConfigInfo chunk_config_ELEM[] =
&li.initial_inventory_size[3], 1, MAX_INITIAL_INVENTORY_SIZE
},
&li.initial_inventory_size[3], 1, MAX_INITIAL_INVENTORY_SIZE
},
+ // (these values are only valid for BD style levels)
+ {
+ EL_BD_PLAYER, -1,
+ TYPE_BOOLEAN, CONF_VALUE_8_BIT(1),
+ &li.bd_diagonal_movements, FALSE
+ },
+
+ // (the following values are related to various game elements)
+
{
EL_EMERALD, -1,
TYPE_INTEGER, CONF_VALUE_16_BIT(1),
{
EL_EMERALD, -1,
TYPE_INTEGER, CONF_VALUE_16_BIT(1),
@@
-3710,6
+3719,8
@@
static void CopyNativeLevel_RND_to_BD(struct LevelInfo *level)
cave->level_speed[0] = 160; // set cave speed
cave->level_speed[0] = 160; // set cave speed
+ cave->diagonal_movements = level->bd_diagonal_movements;
+
strncpy(cave->name, level->name, sizeof(GdString));
cave->name[sizeof(GdString) - 1] = '\0';
strncpy(cave->name, level->name, sizeof(GdString));
cave->name[sizeof(GdString) - 1] = '\0';
@@
-3735,6
+3746,8
@@
static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level)
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_DIAMOND] = cave->diamond_value;
+ level->bd_diagonal_movements = cave->diagonal_movements;
+
strncpy(level->name, cave->name, MAX_LEVEL_NAME_LEN);
level->name[MAX_LEVEL_NAME_LEN] = '\0';
strncpy(level->name, cave->name, MAX_LEVEL_NAME_LEN);
level->name[MAX_LEVEL_NAME_LEN] = '\0';