{
int cx = DOOR_GFX_PAGEX3, cy = DOOR_GFX_PAGEY2;
- BlitBitmap(new_graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
+ BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
cx + VIDEO_REC_LABEL_XPOS,
cy + VIDEO_REC_LABEL_YPOS,
VIDEO_PBEND_LABEL_XSIZE,
cx = DOOR_GFX_PAGEX3; /* i gerade => STATE_OFF / PRESS_ON */
if (video_pos[pos][part_label][0] && value != VIDEO_DISPLAY_SYMBOL_ONLY)
- BlitBitmap(new_graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
+ BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
cx + video_pos[pos][part_label][xpos],
cy + video_pos[pos][part_label][ypos],
video_pos[pos][part_label][xsize],
VX + video_pos[pos][part_label][xpos],
VY + video_pos[pos][part_label][ypos]);
if (video_pos[pos][part_symbol][0] && value != VIDEO_DISPLAY_LABEL_ONLY)
- BlitBitmap(new_graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
+ BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
cx + video_pos[pos][part_symbol][xpos],
cy + video_pos[pos][part_symbol][ypos],
video_pos[pos][part_symbol][xsize],
{
int cx = DOOR_GFX_PAGEX4, cy = DOOR_GFX_PAGEY2;
- BlitBitmap(new_graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
+ BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
cx + VIDEO_PLAY_SYMBOL_XPOS,
cy + VIDEO_PLAY_SYMBOL_YPOS,
VIDEO_PLAY_SYMBOL_XSIZE - 2,
{
int cx = DOOR_GFX_PAGEX6, cy = DOOR_GFX_PAGEY1;
- BlitBitmap(new_graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
+ BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
cx + VIDEO_PBEND_LABEL_XPOS,
cy + VIDEO_PBEND_LABEL_YPOS,
VIDEO_PBEND_LABEL_XSIZE,
int monat = (value/100) % 100;
int jahr = (value/10000);
- DrawText(VX+VIDEO_DATE_XPOS,VY+VIDEO_DATE_YPOS,
- int2str(tag,2),FS_SMALL,FC_SPECIAL1);
- DrawText(VX+VIDEO_DATE_XPOS+27,VY+VIDEO_DATE_YPOS,
- monatsname[monat],FS_SMALL,FC_SPECIAL1);
- DrawText(VX+VIDEO_DATE_XPOS+64,VY+VIDEO_DATE_YPOS,
- int2str(jahr,2),FS_SMALL,FC_SPECIAL1);
+ DrawText(VX + VIDEO_DATE_XPOS, VY + VIDEO_DATE_YPOS,
+ int2str(tag, 2), FONT_SPECIAL_TAPE);
+ DrawText(VX + VIDEO_DATE_XPOS + 27, VY + VIDEO_DATE_YPOS,
+ monatsname[monat], FONT_SPECIAL_TAPE);
+ DrawText(VX + VIDEO_DATE_XPOS + 64, VY + VIDEO_DATE_YPOS,
+ int2str(jahr, 2), FONT_SPECIAL_TAPE);
}
if (state & VIDEO_STATE_TIME_ON)
int min = value / 60;
int sec = value % 60;
- DrawText(VX+VIDEO_TIME_XPOS,VY+VIDEO_TIME_YPOS,
- int2str(min,2),FS_SMALL,FC_SPECIAL1);
- DrawText(VX+VIDEO_TIME_XPOS+27,VY+VIDEO_TIME_YPOS,
- int2str(sec,2),FS_SMALL,FC_SPECIAL1);
+ DrawText(VX + VIDEO_TIME_XPOS, VY + VIDEO_TIME_YPOS,
+ int2str(min, 2), FONT_SPECIAL_TAPE);
+ DrawText(VX + VIDEO_TIME_XPOS + 27, VY + VIDEO_TIME_YPOS,
+ int2str(sec, 2), FONT_SPECIAL_TAPE);
}
if (state & VIDEO_STATE_DATE)
void DrawCompleteVideoDisplay()
{
- BlitBitmap(new_graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
+ BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
DOOR_GFX_PAGEX3, DOOR_GFX_PAGEY2,
gfx.vxsize, gfx.vysize, gfx.vx, gfx.vy);
- BlitBitmap(new_graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
+ BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
DOOR_GFX_PAGEX4 + VIDEO_CONTROL_XPOS,
DOOR_GFX_PAGEY2 + VIDEO_CONTROL_YPOS,
VIDEO_CONTROL_XSIZE, VIDEO_CONTROL_YSIZE,
* tape autoplay functions
* ------------------------------------------------------------------------- */
+#define MAX_NUM_AUTOPLAY_LEVELS 1000
+
void AutoPlayTape()
{
static LevelDirTree *autoplay_leveldir = NULL;
static boolean autoplay_initialized = FALSE;
static int autoplay_level_nr = -1;
- static int levels_played = 0;
- static int levels_solved = 0;
+ static int num_levels_played = 0;
+ static int num_levels_solved = 0;
+ static boolean levels_failed[MAX_NUM_AUTOPLAY_LEVELS];
+ int i;
if (autoplay_initialized)
{
/* just finished auto-playing tape */
printf("%s.\n", tape.auto_play_level_solved ? "solved" : "NOT SOLVED");
- levels_played++;
+ num_levels_played++;
if (tape.auto_play_level_solved)
- levels_solved++;
+ num_levels_solved++;
+ else if (level_nr >= 0 && level_nr < MAX_NUM_AUTOPLAY_LEVELS)
+ levels_failed[level_nr] = TRUE;
}
else
{
autoplay_level_nr = autoplay_leveldir->first_level;
- printf_line('=', 79);
+ printf_line("=", 79);
printf("Automatically playing level tapes\n");
- printf_line('-', 79);
+ printf_line("-", 79);
printf("Level series identifier: '%s'\n", autoplay_leveldir->identifier);
printf("Level series name: '%s'\n", autoplay_leveldir->name);
printf("Level series author: '%s'\n", autoplay_leveldir->author);
printf("Number of levels: %d\n", autoplay_leveldir->levels);
- printf_line('=', 79);
+ printf_line("=", 79);
printf("\n");
+ for (i=0; i<MAX_NUM_AUTOPLAY_LEVELS; i++)
+ levels_failed[i] = FALSE;
+
autoplay_initialized = TRUE;
}
}
printf("\n");
- printf_line('=', 79);
- printf("Number of levels played: %d\n", levels_played);
- printf("Number of levels solved: %d (%d%%)\n", levels_solved,
- levels_solved * 100 / levels_played);
- printf_line('-', 79);
+ printf_line("=", 79);
+ printf("Number of levels played: %d\n", num_levels_played);
+ printf("Number of levels solved: %d (%d%%)\n", num_levels_solved,
+ (num_levels_played ? num_levels_solved * 100 / num_levels_played :0));
+ printf_line("-", 79);
printf("Summary (for automatic parsing by scripts):\n");
- printf("LEVELDIR '%s', SOLVED %d/%d (%d%%)\n",
- autoplay_leveldir->identifier, levels_solved, levels_played,
- levels_solved * 100 / levels_played);
- printf_line('=', 79);
+ printf("LEVELDIR '%s', SOLVED %d/%d (%d%%)",
+ autoplay_leveldir->identifier, num_levels_solved, num_levels_played,
+ (num_levels_played ? num_levels_solved * 100 / num_levels_played :0));
+ if (num_levels_played != num_levels_solved)
+ {
+ printf(", FAILED:");
+ for (i=0; i<MAX_NUM_AUTOPLAY_LEVELS; i++)
+ if (levels_failed[i])
+ printf(" %03d", i);
+ }
+ printf("\n");
+ printf_line("=", 79);
CloseAllAndExit(0);
}
for (i=0; i<NUM_TAPE_BUTTONS; i++)
{
- Bitmap *gd_bitmap = new_graphic_info[IMG_GLOBAL_DOOR].bitmap;
+ Bitmap *gd_bitmap = graphic_info[IMG_GLOBAL_DOOR].bitmap;
struct GadgetInfo *gi;
int gd_xoffset, gd_yoffset;
int gd_x1, gd_x2, gd_y;