projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
extended maximum number of android clone elements from 16 to 32
[rocksndiamonds.git]
/
src
/
files.c
diff --git
a/src/files.c
b/src/files.c
index b2856c69f4650af16f3307dfbf9312dccb7efe28..14f9f175cd7ab6be38ee36b66432b63b85f5b2c3 100644
(file)
--- a/
src/files.c
+++ b/
src/files.c
@@
-768,9
+768,15
@@
static struct LevelFileConfigInfo chunk_config_ELEM[] =
&li.android_clone_time, 10
},
{
&li.android_clone_time, 10
},
{
- EL_EMC_ANDROID,
-1
,
+ EL_EMC_ANDROID,
SAVE_CONF_NEVER
,
TYPE_ELEMENT_LIST, CONF_VALUE_BYTES(1),
&li.android_clone_element[0], EL_EMPTY, NULL,
TYPE_ELEMENT_LIST, CONF_VALUE_BYTES(1),
&li.android_clone_element[0], EL_EMPTY, NULL,
+ &li.num_android_clone_elements, 1, MAX_ANDROID_ELEMENTS_OLD
+ },
+ {
+ EL_EMC_ANDROID, -1,
+ TYPE_ELEMENT_LIST, CONF_VALUE_BYTES(2),
+ &li.android_clone_element[0], EL_EMPTY, NULL,
&li.num_android_clone_elements, 1, MAX_ANDROID_ELEMENTS
},
&li.num_android_clone_elements, 1, MAX_ANDROID_ELEMENTS
},
@@
-3515,14
+3521,14
@@
static void CopyNativeLevel_RND_to_EM(struct LevelInfo *level)
{ 2, 2 },
};
struct LevelInfo_EM *level_em = level->native_em_level;
{ 2, 2 },
};
struct LevelInfo_EM *level_em = level->native_em_level;
- struct
LEVEL
*cav = level_em->cav;
+ struct
CAVE
*cav = level_em->cav;
int i, j, x, y;
cav->width = MIN(level->fieldx, MAX_PLAYFIELD_WIDTH);
cav->height = MIN(level->fieldy, MAX_PLAYFIELD_HEIGHT);
int i, j, x, y;
cav->width = MIN(level->fieldx, MAX_PLAYFIELD_WIDTH);
cav->height = MIN(level->fieldy, MAX_PLAYFIELD_HEIGHT);
- cav->time_seconds
= level->time;
- cav->
required_initial
= level->gems_needed;
+ cav->time_seconds = level->time;
+ cav->
gems_needed
= level->gems_needed;
cav->emerald_score = level->score[SC_EMERALD];
cav->diamond_score = level->score[SC_DIAMOND];
cav->emerald_score = level->score[SC_EMERALD];
cav->diamond_score = level->score[SC_DIAMOND];
@@
-3539,16
+3545,16
@@
static void CopyNativeLevel_RND_to_EM(struct LevelInfo *level)
for (y = 0; y < 3; y++)
for (x = 0; x < 3; x++)
cav->eater_array[i][y * 3 + x] =
for (y = 0; y < 3; y++)
for (x = 0; x < 3; x++)
cav->eater_array[i][y * 3 + x] =
- map_element_RND_to_EM(level->yamyam_content[i].e[x][y]);
+ map_element_RND_to_EM
_cave
(level->yamyam_content[i].e[x][y]);
cav->amoeba_time = level->amoeba_speed;
cav->amoeba_time = level->amoeba_speed;
- cav->wonderwall_time
_initial
= level->time_magic_wall;
+ cav->wonderwall_time
= level->time_magic_wall;
cav->wheel_time = level->time_wheel;
cav->android_move_time = level->android_move_time;
cav->android_clone_time = level->android_clone_time;
cav->ball_random = level->ball_random;
cav->wheel_time = level->time_wheel;
cav->android_move_time = level->android_move_time;
cav->android_clone_time = level->android_clone_time;
cav->ball_random = level->ball_random;
- cav->ball_state
_initial
= level->ball_state_initial;
+ cav->ball_state
= level->ball_state_initial;
cav->ball_time = level->ball_time;
cav->num_ball_arrays = level->num_ball_contents;
cav->ball_time = level->ball_time;
cav->num_ball_arrays = level->num_ball_contents;
@@
-3559,33
+3565,33
@@
static void CopyNativeLevel_RND_to_EM(struct LevelInfo *level)
cav->lenses_time = level->lenses_time;
cav->magnify_time = level->magnify_time;
cav->lenses_time = level->lenses_time;
cav->magnify_time = level->magnify_time;
- cav->wind_direction
_initial
=
+ cav->wind_direction =
map_direction_RND_to_EM(level->wind_direction_initial);
map_direction_RND_to_EM(level->wind_direction_initial);
- cav->wind_cnt
_initial
= (level->wind_direction_initial != MV_NONE ?
-
cav->wind_time : 0);
+ cav->wind_cnt = (level->wind_direction_initial != MV_NONE ?
+ cav->wind_time : 0);
for (i = 0; i < MAX_ELEMENT_CONTENTS; i++)
for (j = 0; j < 8; j++)
cav->ball_array[i][j] =
for (i = 0; i < MAX_ELEMENT_CONTENTS; i++)
for (j = 0; j < 8; j++)
cav->ball_array[i][j] =
- map_element_RND_to_EM
(level->
-
ball_content[i].
e[ball_xy[j][0]][ball_xy[j][1]]);
+ map_element_RND_to_EM
_cave(level->ball_content[i].
+
e[ball_xy[j][0]][ball_xy[j][1]]);
map_android_clone_elements_RND_to_EM(level);
map_android_clone_elements_RND_to_EM(level);
- // first fill the complete playfield with the
default border
element
+ // first fill the complete playfield with the
empty space
element
for (y = 0; y < EM_MAX_CAVE_HEIGHT; y++)
for (x = 0; x < EM_MAX_CAVE_WIDTH; x++)
for (y = 0; y < EM_MAX_CAVE_HEIGHT; y++)
for (x = 0; x < EM_MAX_CAVE_WIDTH; x++)
-
level_em->cave[x][y] = Zborder
;
+
cav->cave[x][y] = Cblank
;
// then copy the real level contents from level file into the playfield
for (y = 0; y < cav->height; y++) for (x = 0; x < cav->width; x++)
{
// then copy the real level contents from level file into the playfield
for (y = 0; y < cav->height; y++) for (x = 0; x < cav->width; x++)
{
- int new_element = map_element_RND_to_EM(level->field[x][y]);
+ int new_element = map_element_RND_to_EM
_cave
(level->field[x][y]);
if (level->field[x][y] == EL_AMOEBA_DEAD)
if (level->field[x][y] == EL_AMOEBA_DEAD)
- new_element = map_element_RND_to_EM(EL_AMOEBA_WET);
+ new_element = map_element_RND_to_EM
_cave
(EL_AMOEBA_WET);
-
level_em
->cave[x][y] = new_element;
+
cav
->cave[x][y] = new_element;
}
for (i = 0; i < MAX_PLAYERS; i++)
}
for (i = 0; i < MAX_PLAYERS; i++)
@@
-3604,7
+3610,7
@@
static void CopyNativeLevel_RND_to_EM(struct LevelInfo *level)
cav->player_x[player_nr] = x;
cav->player_y[player_nr] = y;
cav->player_x[player_nr] = x;
cav->player_y[player_nr] = y;
-
level_em->cave[x][y] = map_element_RND_to_EM
(EL_EMPTY);
+
cav->cave[x][y] = map_element_RND_to_EM_cave
(EL_EMPTY);
}
}
}
}
}
}
@@
-3623,14
+3629,14
@@
static void CopyNativeLevel_EM_to_RND(struct LevelInfo *level)
{ 2, 2 },
};
struct LevelInfo_EM *level_em = level->native_em_level;
{ 2, 2 },
};
struct LevelInfo_EM *level_em = level->native_em_level;
- struct
LEVEL
*cav = level_em->cav;
+ struct
CAVE
*cav = level_em->cav;
int i, j, x, y;
level->fieldx = MIN(cav->width, MAX_LEV_FIELDX);
level->fieldy = MIN(cav->height, MAX_LEV_FIELDY);
level->time = cav->time_seconds;
int i, j, x, y;
level->fieldx = MIN(cav->width, MAX_LEV_FIELDX);
level->fieldy = MIN(cav->height, MAX_LEV_FIELDY);
level->time = cav->time_seconds;
- level->gems_needed = cav->
required_initial
;
+ level->gems_needed = cav->
gems_needed
;
sprintf(level->name, "Level %d", level->file_info.nr);
sprintf(level->name, "Level %d", level->file_info.nr);
@@
-3651,16
+3657,16
@@
static void CopyNativeLevel_EM_to_RND(struct LevelInfo *level)
for (y = 0; y < 3; y++)
for (x = 0; x < 3; x++)
level->yamyam_content[i].e[x][y] =
for (y = 0; y < 3; y++)
for (x = 0; x < 3; x++)
level->yamyam_content[i].e[x][y] =
- map_element_EM_to_RND(cav->eater_array[i][y * 3 + x]);
+ map_element_EM_to_RND
_cave
(cav->eater_array[i][y * 3 + x]);
level->amoeba_speed = cav->amoeba_time;
level->amoeba_speed = cav->amoeba_time;
- level->time_magic_wall = cav->wonderwall_time
_initial
;
+ level->time_magic_wall = cav->wonderwall_time;
level->time_wheel = cav->wheel_time;
level->android_move_time = cav->android_move_time;
level->android_clone_time = cav->android_clone_time;
level->ball_random = cav->ball_random;
level->time_wheel = cav->wheel_time;
level->android_move_time = cav->android_move_time;
level->android_clone_time = cav->android_clone_time;
level->ball_random = cav->ball_random;
- level->ball_state_initial = cav->ball_state
_initial
;
+ level->ball_state_initial = cav->ball_state;
level->ball_time = cav->ball_time;
level->num_ball_contents = cav->num_ball_arrays;
level->ball_time = cav->ball_time;
level->num_ball_contents = cav->num_ball_arrays;
@@
-3672,19
+3678,19
@@
static void CopyNativeLevel_EM_to_RND(struct LevelInfo *level)
level->magnify_time = cav->magnify_time;
level->wind_direction_initial =
level->magnify_time = cav->magnify_time;
level->wind_direction_initial =
- map_direction_EM_to_RND(cav->wind_direction
_initial
);
+ map_direction_EM_to_RND(cav->wind_direction);
for (i = 0; i < MAX_ELEMENT_CONTENTS; i++)
for (j = 0; j < 8; j++)
level->ball_content[i].e[ball_xy[j][0]][ball_xy[j][1]] =
for (i = 0; i < MAX_ELEMENT_CONTENTS; i++)
for (j = 0; j < 8; j++)
level->ball_content[i].e[ball_xy[j][0]][ball_xy[j][1]] =
- map_element_EM_to_RND(cav->ball_array[i][j]);
+ map_element_EM_to_RND
_cave
(cav->ball_array[i][j]);
map_android_clone_elements_EM_to_RND(level);
// convert the playfield (some elements need special treatment)
for (y = 0; y < level->fieldy; y++) for (x = 0; x < level->fieldx; x++)
{
map_android_clone_elements_EM_to_RND(level);
// convert the playfield (some elements need special treatment)
for (y = 0; y < level->fieldy; y++) for (x = 0; x < level->fieldx; x++)
{
- int new_element = map_element_EM_to_RND
(level_em
->cave[x][y]);
+ int new_element = map_element_EM_to_RND
_cave(cav
->cave[x][y]);
if (new_element == EL_AMOEBA_WET && level->amoeba_speed == 0)
new_element = EL_AMOEBA_DEAD;
if (new_element == EL_AMOEBA_WET && level->amoeba_speed == 0)
new_element = EL_AMOEBA_DEAD;