tape.date, tape.length);
#endif
+#if 1
+
+ struct GraphicInfo *g_tape = &graphic_info[IMG_BACKGROUND_TAPE];
+
+ /* draw tape background */
+ BlitBitmap(g_tape->bitmap, drawto, g_tape->src_x, g_tape->src_y,
+ gfx.vxsize, gfx.vysize, gfx.vx, gfx.vy);
+
+ /* draw tape buttons (forced) */
+ UnmapTapeButtons();
+ MapTapeButtons();
+
+#else
+
+#if 1
+ struct GraphicInfo *g_tape = &graphic_info[IMG_BACKGROUND_TAPE];
+ int tape_button_graphics[] =
+ {
+ IMG_TAPE_BUTTON_GFX_EJECT,
+ IMG_TAPE_BUTTON_GFX_STOP,
+ IMG_TAPE_BUTTON_GFX_PAUSE,
+ IMG_TAPE_BUTTON_GFX_RECORD,
+ IMG_TAPE_BUTTON_GFX_PLAY
+ };
+ struct Rect *tape_button_positions[] =
+ {
+ &tape.button.eject,
+ &tape.button.stop,
+ &tape.button.pause,
+ &tape.button.record,
+ &tape.button.play
+ };
+ int i;
+
+ BlitBitmap(g_tape->bitmap, drawto, g_tape->src_x, g_tape->src_y,
+ gfx.vxsize, gfx.vysize, gfx.vx, gfx.vy);
+
+ for (i = 0; i < SIZEOF_ARRAY_INT(tape_button_graphics); i++)
+ {
+ struct GraphicInfo *g = &graphic_info[tape_button_graphics[i]];
+ struct Rect *pos = tape_button_positions[i];
+
+ BlitBitmap(g->bitmap, drawto, g->src_x, g->src_y,
+ g->width, g->height, gfx.vx + pos->x, gfx.vy + pos->y);
+ }
+#else
BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto,
DOOR_GFX_PAGEX3, DOOR_GFX_PAGEY2,
gfx.vxsize, gfx.vysize, gfx.vx, gfx.vy);
DOOR_GFX_PAGEY2 + VIDEO_CONTROL_YPOS,
VIDEO_CONTROL_XSIZE, VIDEO_CONTROL_YSIZE,
gfx.vx + VIDEO_CONTROL_XPOS, gfx.vy + VIDEO_CONTROL_YPOS);
+#endif
+
+#endif
DrawVideoDisplay(VIDEO_ALL_OFF, 0);
}
#endif
+#if 1
+ BlitBitmap(drawto, bitmap_db_door_2, gfx.vx, gfx.vy, gfx.vxsize, gfx.vysize,
+ 0, 0);
+#else
BlitBitmap(drawto, bitmap_db_door, gfx.vx, gfx.vy, gfx.vxsize, gfx.vysize,
DOOR_GFX_PAGEX1, DOOR_GFX_PAGEY2);
+#endif
}
void TapeDeactivateDisplayOn()
{
if (game_status == GAME_MODE_MAIN)
{
- Request("No game that can be saved !", REQ_CONFIRM);
+ Request("No game that can be saved!", REQ_CONFIRM);
return;
}
if (TAPE_IS_EMPTY(tape))
{
- Request("No tape that can be saved !", REQ_CONFIRM);
+ Request("No tape that can be saved!", REQ_CONFIRM);
return;
}
if (!fileExists(filename))
{
- Request("No tape for this level !", REQ_CONFIRM);
+ Request("No tape for this level!", REQ_CONFIRM);
return;
}
- if (tape.recording && !Request("Stop recording and load tape ?",
+ if (tape.recording && !Request("Stop recording and load tape?",
REQ_ASK | REQ_STAY_CLOSED))
{
OpenDoor(DOOR_OPEN_1 | DOOR_COPY_BACK);
if (CheckEngineSnapshot())
{
+#if 0
+ printf("::: MARK 1\n");
+#endif
+
TapeStartGamePlaying();
LoadEngineSnapshot();
return;
}
+#if 0
+ printf("::: MARK 2\n");
+#endif
+
TapeStop();
TapeErase();
{
int reopen_door = (game_status == GAME_MODE_PLAYING ? REQ_REOPEN : 0);
- Request("No tape for this level !", REQ_CONFIRM | reopen_door);
+ Request("No tape for this level!", REQ_CONFIRM | reopen_door);
}
}
LoadSolutionTape(level_nr);
if (TAPE_IS_EMPTY(tape))
- Request("No solution tape for this level !", REQ_CONFIRM);
+ Request("No solution tape for this level!", REQ_CONFIRM);
DrawCompleteVideoDisplay();
}
static int num_levels_solved = 0;
static int num_tape_missing = 0;
static boolean level_failed[MAX_TAPES_PER_SET];
+#if 0
static boolean tape_missing[MAX_TAPES_PER_SET];
+#endif
int i;
if (autoplay_initialized)
for (i = 0; i < MAX_TAPES_PER_SET; i++)
{
level_failed[i] = FALSE;
+#if 0
tape_missing[i] = FALSE;
+#endif
}
autoplay_initialized = TRUE;
if (tape.no_valid_file)
{
num_tape_missing++;
+#if 0
if (level_nr >= 0 && level_nr < MAX_TAPES_PER_SET)
tape_missing[level_nr] = TRUE;
+#endif
printf("(no tape)\n");
continue;
if (tape.recording || tape.playing)
MapTapeWarpButton();
+
+ if (tape.show_game_buttons)
+ MapGameButtons();
}
void UnmapTapeButtons()
LoadTape(level_nr);
if (TAPE_IS_EMPTY(tape))
- Request("No tape for this level !", REQ_CONFIRM);
+ Request("No tape for this level!", REQ_CONFIRM);
}
else
{