X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftape.c;h=40a5126b160dbcff66f561b2c847e1bc91f81fa6;hb=f857fec3082c785b0dd271b6ad1b7642a2ed4e65;hp=7543d425df07b89fd328463cf0039531f8b2ec76;hpb=4be46f1030df4cb7db0ce7c46d2518334861731a;p=rocksndiamonds.git diff --git a/src/tape.c b/src/tape.c index 7543d425..40a5126b 100644 --- a/src/tape.c +++ b/src/tape.c @@ -50,7 +50,7 @@ static struct GadgetInfo *tape_gadget[NUM_TAPE_BUTTONS]; #define VIDEO_DATE_LABEL_YPOS (VIDEO_DISPLAY1_YPOS) #define VIDEO_DATE_LABEL_XSIZE (VIDEO_DISPLAY_XSIZE) #define VIDEO_DATE_LABEL_YSIZE (VIDEO_DISPLAY_YSIZE) -#define VIDEO_DATE_XPOS (VIDEO_DISPLAY1_XPOS + 1) +#define VIDEO_DATE_XPOS (VIDEO_DISPLAY1_XPOS + 2) #define VIDEO_DATE_YPOS (VIDEO_DISPLAY1_YPOS + 14) #define VIDEO_DATE_XSIZE (VIDEO_DISPLAY_XSIZE) #define VIDEO_DATE_YSIZE 16 @@ -78,7 +78,7 @@ static struct GadgetInfo *tape_gadget[NUM_TAPE_BUTTONS]; #define VIDEO_PAUSE_SYMBOL_YPOS (VIDEO_DISPLAY2_YPOS) #define VIDEO_PAUSE_SYMBOL_XSIZE 17 #define VIDEO_PAUSE_SYMBOL_YSIZE 13 -#define VIDEO_TIME_XPOS (VIDEO_DISPLAY2_XPOS + 38) +#define VIDEO_TIME_XPOS (VIDEO_DISPLAY2_XPOS + 39) #define VIDEO_TIME_YPOS (VIDEO_DISPLAY2_YPOS + 14) #define VIDEO_TIME_XSIZE 50 #define VIDEO_TIME_YSIZE 16 @@ -168,7 +168,7 @@ void DrawVideoDisplay(unsigned long state, unsigned long value) { 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, @@ -189,7 +189,7 @@ void DrawVideoDisplay(unsigned long state, unsigned long value) 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], @@ -197,7 +197,7 @@ void DrawVideoDisplay(unsigned long state, unsigned long value) 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], @@ -211,7 +211,7 @@ void DrawVideoDisplay(unsigned long state, unsigned long value) { 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, @@ -224,7 +224,7 @@ void DrawVideoDisplay(unsigned long state, unsigned long value) { 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, @@ -239,12 +239,12 @@ void DrawVideoDisplay(unsigned long state, unsigned long value) 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_TAPE_RECORDER); + DrawText(VX + VIDEO_DATE_XPOS + 27, VY + VIDEO_DATE_YPOS, + monatsname[monat], FONT_TAPE_RECORDER); + DrawText(VX + VIDEO_DATE_XPOS + 64, VY + VIDEO_DATE_YPOS, + int2str(jahr, 2), FONT_TAPE_RECORDER); } if (state & VIDEO_STATE_TIME_ON) @@ -252,10 +252,10 @@ void DrawVideoDisplay(unsigned long state, unsigned long value) 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_TAPE_RECORDER); + DrawText(VX + VIDEO_TIME_XPOS + 27, VY + VIDEO_TIME_YPOS, + int2str(sec, 2), FONT_TAPE_RECORDER); } if (state & VIDEO_STATE_DATE) @@ -268,10 +268,10 @@ void DrawVideoDisplay(unsigned long state, unsigned long value) 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, @@ -302,6 +302,9 @@ void TapeErase() tape.length = 0; tape.counter = 0; + if (leveldir_current) + setString(&tape.level_identifier, leveldir_current->identifier); + tape.level_nr = level_nr; tape.pos[tape.counter].delay = 0; tape.changed = TRUE; @@ -363,7 +366,7 @@ static void TapeStartGameRecording() else #endif { - game_status = PLAYING; + game_status = GAME_MODE_PLAYING; StopAnimation(); InitGame(); } @@ -508,7 +511,7 @@ static void TapeStartGamePlaying() { TapeStartPlaying(); - game_status = PLAYING; + game_status = GAME_MODE_PLAYING; StopAnimation(); InitGame(); } @@ -588,8 +591,10 @@ void TapeStop() DrawVideoDisplay(VIDEO_STATE_TIME_ON, tape.length_seconds); } +#if 0 if (tape.auto_play) AutoPlayTape(); /* continue automatically playing next tape */ +#endif } unsigned int GetTapeLength() @@ -643,7 +648,7 @@ static void TapeSingleStep() void TapeQuickSave() { - if (game_status == PLAYING) + if (game_status == GAME_MODE_PLAYING) { if (tape.recording) TapeHaltRecording(); /* prepare tape for saving on-the-fly */ @@ -653,13 +658,13 @@ void TapeQuickSave() else SaveTape(tape.level_nr); } - else if (game_status == MAINMENU) + else if (game_status == GAME_MODE_MAIN) Request("No game that can be saved !", REQ_CONFIRM); } void TapeQuickLoad() { - if (game_status == PLAYING || game_status == MAINMENU) + if (game_status == GAME_MODE_PLAYING || game_status == GAME_MODE_MAIN) { TapeStop(); TapeErase(); @@ -727,14 +732,14 @@ void AutoPlayTape() 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; iidentifier, num_levels_solved, num_levels_played, - num_levels_solved * 100 / num_levels_played); + (num_levels_played ? num_levels_solved * 100 / num_levels_played :0)); if (num_levels_played != num_levels_solved) { printf(", FAILED:"); @@ -791,7 +796,7 @@ void AutoPlayTape() printf(" %03d", i); } printf("\n"); - printf_line('=', 79); + printf_line("=", 79); CloseAllAndExit(0); } @@ -857,7 +862,7 @@ void CreateTapeButtons() for (i=0; icustom_id; - if (game_status != MAINMENU && game_status != PLAYING) + if (game_status != GAME_MODE_MAIN && game_status != GAME_MODE_PLAYING) return; switch (id)