X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftape.h;h=0e6d11d880404fb244a792bc8c1bd6a98c7153d5;hp=cafa235d41170fc46ad4191df5a0509510b17172;hb=abe44529b439ad39b4d8dbf19cbd67c9b9844279;hpb=d442dd6ca65b694c37fbd3c93505644fe8478263 diff --git a/src/tape.h b/src/tape.h index cafa235d..0e6d11d8 100644 --- a/src/tape.h +++ b/src/tape.h @@ -1,15 +1,13 @@ -/*********************************************************** -* Rocks'n'Diamonds -- McDuffin Strikes Back! * -*----------------------------------------------------------* -* (c) 1995-2006 Artsoft Entertainment * -* Holger Schemel * -* Detmolder Strasse 189 * -* 33604 Bielefeld * -* Germany * -* e-mail: info@artsoft.org * -*----------------------------------------------------------* -* tape.h * -***********************************************************/ +// ============================================================================ +// Rocks'n'Diamonds - McDuffin Strikes Back! +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// http://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// tape.h +// ============================================================================ #ifndef TAPE_H #define TAPE_H @@ -93,6 +91,51 @@ #define VIDEO_DISPLAY_SYMBOL_ONLY -2 +struct TapeButtonInfo +{ + struct Rect eject; + struct Rect stop; + struct Rect pause; + struct Rect record; + struct Rect play; +}; + +struct TapeSymbolInfo +{ + struct Rect eject; + struct Rect stop; + struct Rect pause; + struct Rect record; + struct Rect play; + struct Rect fast_forward; + struct Rect warp_forward; + struct Rect warp_forward_blind; + struct Rect pause_before_end; + struct Rect single_step; +}; + +struct TapeLabelInfo +{ + struct Rect eject; + struct Rect stop; + struct Rect pause; + struct Rect record; + struct Rect play; + struct Rect fast_forward; + struct Rect warp_forward; + struct Rect warp_forward_blind; + struct Rect pause_before_end; + struct Rect single_step; + struct Rect date; + struct Rect time; +}; + +struct TapeTextInfo +{ + struct TextPosInfo date; + struct TextPosInfo time; +}; + struct TapeInfo { int file_version; /* file format version the tape is stored with */ @@ -101,11 +144,11 @@ struct TapeInfo char *level_identifier; int level_nr; - unsigned long random_seed; - unsigned long date; - unsigned long counter; - unsigned long length; - unsigned long length_seconds; + unsigned int random_seed; + unsigned int date; + unsigned int counter; + unsigned int length; + unsigned int length_seconds; unsigned int delay_played; boolean pause_before_death; boolean recording, playing, pausing; @@ -128,11 +171,18 @@ struct TapeInfo byte delay; } pos[MAX_TAPE_LEN]; + struct TapeButtonInfo button; + struct TapeSymbolInfo symbol; + struct TapeLabelInfo label; + struct TapeTextInfo text; + + boolean show_game_buttons; /* show game buttons in tape viewport */ + boolean no_valid_file; /* set when tape file missing or invalid */ }; -void DrawVideoDisplay(unsigned long, unsigned long); +void DrawVideoDisplay(unsigned int, unsigned int); void DrawCompleteVideoDisplay(void); void TapeDeactivateDisplayOn(); @@ -141,7 +191,7 @@ void TapeDeactivateDisplayOff(boolean); void TapeSetDateFromEpochSeconds(time_t); void TapeSetDateFromNow(); -void TapeStartRecording(long); +void TapeStartRecording(int); void TapeHaltRecording(void); void TapeStopRecording(void); void TapeRecordAction(byte *);