native_mm_level.time_bomb = 75;
native_mm_level.time_ball = 75;
native_mm_level.time_block = 75;
- native_mm_level.laser_red = FALSE;
- native_mm_level.laser_green = FALSE;
- native_mm_level.laser_blue = TRUE;
+ native_mm_level.mm_laser_red = FALSE;
+ native_mm_level.mm_laser_green = FALSE;
+ native_mm_level.mm_laser_blue = TRUE;
+ native_mm_level.df_laser_red = TRUE;
+ native_mm_level.df_laser_green = TRUE;
+ native_mm_level.df_laser_blue = FALSE;
for (i = 0; i < MAX_LEVEL_NAME_LEN; i++)
native_mm_level.name[i] = '\0';
for (i = 0; i < LEVEL_SCORE_ELEMENTS; i++)
native_mm_level.score[i] = 10;
+ int ball_content[] =
+ {
+ EL_MIRROR_START,
+ EL_MIRROR_FIXED_START,
+ EL_POLAR_START,
+ EL_POLAR_CROSS_START,
+ EL_PACMAN_START,
+ EL_KETTLE,
+ EL_BOMB,
+ EL_PRISM
+ };
+ int num_ball_contents = sizeof(ball_content) / sizeof(int);
+
+ native_mm_level.num_ball_contents = num_ball_contents;
+ native_mm_level.ball_choice_mode = ANIM_RANDOM;
+
+ for (i = 0; i < num_ball_contents; i++)
+ native_mm_level.ball_content[i] = ball_content[i];
+
native_mm_level.field[0][0] = Ur[0][0] = EL_MCDUFFIN_RIGHT;
native_mm_level.field[STD_LEV_FIELDX-1][STD_LEV_FIELDY-1] =
Ur[STD_LEV_FIELDX-1][STD_LEV_FIELDY-1] = EL_EXIT_CLOSED;
level->time_fuse = 25;
laser_color = getFile8Bit(file);
- level->laser_red = (laser_color >> 2) & 0x01;
- level->laser_green = (laser_color >> 1) & 0x01;
- level->laser_blue = (laser_color >> 0) & 0x01;
+ level->mm_laser_red = (laser_color >> 2) & 0x01;
+ level->mm_laser_green = (laser_color >> 1) & 0x01;
+ level->mm_laser_blue = (laser_color >> 0) & 0x01;
level->encoding_16bit_field = (getFile8Bit(file) == 1 ? TRUE : FALSE);
fputc(level->amoeba_speed, file);
fputc(level->time_fuse, file);
- laser_color = ((level->laser_red << 2) |
- (level->laser_green << 1) |
- (level->laser_blue << 0));
+ laser_color = ((level->mm_laser_red << 2) |
+ (level->mm_laser_green << 1) |
+ (level->mm_laser_blue << 0));
fputc(laser_color, file);
fputc((level->encoding_16bit_field ? 1 : 0), file);