1 /***********************************************************
2 * Rocks'n'Diamonds -- McDuffin Strikes Back! *
3 *----------------------------------------------------------*
4 * (c) 1995-2001 Artsoft Entertainment *
6 * Detmolder Strasse 189 *
9 * e-mail: info@artsoft.org *
10 *----------------------------------------------------------*
12 ***********************************************************/
19 /* some positions in the video tape control window */
20 #define VIDEO_DISPLAY1_XPOS 5
21 #define VIDEO_DISPLAY1_YPOS 5
22 #define VIDEO_DISPLAY2_XPOS 5
23 #define VIDEO_DISPLAY2_YPOS 41
24 #define VIDEO_DISPLAY_XSIZE 90
25 #define VIDEO_DISPLAY_YSIZE 31
26 #define VIDEO_BUTTON_XSIZE 18
27 #define VIDEO_BUTTON_YSIZE 18
28 #define VIDEO_CONTROL_XPOS 5
29 #define VIDEO_CONTROL_YPOS 77
30 #define VIDEO_CONTROL_XSIZE VIDEO_DISPLAY_XSIZE
31 #define VIDEO_CONTROL_YSIZE VIDEO_BUTTON_YSIZE
33 /* values for video tape control */
34 #define VIDEO_STATE_PLAY_OFF (1L << 0)
35 #define VIDEO_STATE_PLAY_ON (1L << 1)
36 #define VIDEO_STATE_PLAY (VIDEO_STATE_PLAY_OFF | VIDEO_STATE_PLAY_ON)
37 #define VIDEO_STATE_REC_OFF (1L << 2)
38 #define VIDEO_STATE_REC_ON (1L << 3)
39 #define VIDEO_STATE_REC (VIDEO_STATE_REC_OFF | VIDEO_STATE_REC_ON)
40 #define VIDEO_STATE_PAUSE_OFF (1L << 4)
41 #define VIDEO_STATE_PAUSE_ON (1L << 5)
42 #define VIDEO_STATE_PAUSE (VIDEO_STATE_PAUSE_OFF | VIDEO_STATE_PAUSE_ON)
43 #define VIDEO_STATE_DATE_OFF (1L << 6)
44 #define VIDEO_STATE_DATE_ON (1L << 7)
45 #define VIDEO_STATE_DATE (VIDEO_STATE_DATE_OFF | VIDEO_STATE_DATE_ON)
46 #define VIDEO_STATE_TIME_OFF (1L << 8)
47 #define VIDEO_STATE_TIME_ON (1L << 9)
48 #define VIDEO_STATE_TIME (VIDEO_STATE_TIME_OFF | VIDEO_STATE_TIME_ON)
49 #define VIDEO_PRESS_PLAY_ON (1L << 10)
50 #define VIDEO_PRESS_PLAY_OFF (1L << 11)
51 #define VIDEO_PRESS_PLAY (VIDEO_PRESS_PLAY_OFF | VIDEO_PRESS_PLAY_ON)
52 #define VIDEO_PRESS_REC_ON (1L << 12)
53 #define VIDEO_PRESS_REC_OFF (1L << 13)
54 #define VIDEO_PRESS_REC (VIDEO_PRESS_REC_OFF | VIDEO_PRESS_REC_ON)
55 #define VIDEO_PRESS_PAUSE_ON (1L << 14)
56 #define VIDEO_PRESS_PAUSE_OFF (1L << 15)
57 #define VIDEO_PRESS_PAUSE (VIDEO_PRESS_PAUSE_OFF | VIDEO_PRESS_PAUSE_ON)
58 #define VIDEO_PRESS_STOP_ON (1L << 16)
59 #define VIDEO_PRESS_STOP_OFF (1L << 17)
60 #define VIDEO_PRESS_STOP (VIDEO_PRESS_STOP_OFF | VIDEO_PRESS_STOP_ON)
61 #define VIDEO_PRESS_EJECT_ON (1L << 18)
62 #define VIDEO_PRESS_EJECT_OFF (1L << 19)
63 #define VIDEO_PRESS_EJECT (VIDEO_PRESS_EJECT_OFF | VIDEO_PRESS_EJECT_ON)
66 #define VIDEO_STATE_FFWD_OFF ((1L << 20) | VIDEO_STATE_PAUSE_OFF)
67 #define VIDEO_STATE_FFWD_ON (1L << 21)
68 #define VIDEO_STATE_FFWD (VIDEO_STATE_FFWD_OFF | VIDEO_STATE_FFWD_ON)
69 #define VIDEO_STATE_PBEND_OFF (1L << 22)
70 #define VIDEO_STATE_PBEND_ON (1L << 23)
71 #define VIDEO_STATE_PBEND (VIDEO_STATE_PBEND_OFF | VIDEO_STATE_PBEND_ON)
73 /* tags to draw video display labels or symbols only */
74 #define VIDEO_DISPLAY_DEFAULT 0
75 #define VIDEO_DISPLAY_LABEL_ONLY 1
76 #define VIDEO_DISPLAY_SYMBOL_ONLY 2
79 void DrawVideoDisplay(unsigned long, unsigned long);
80 void DrawCompleteVideoDisplay(void);
82 void TapeStartRecording(void);
83 void TapeHaltRecording(void);
84 void TapeStopRecording(void);
85 void TapeRecordAction(byte *);
86 void TapeTogglePause(void);
87 void TapeStartPlaying(void);
88 void TapeStopPlaying(void);
89 byte *TapePlayAction(void);
92 unsigned int GetTapeLength(void);
93 void TapeIndexSearch(void);
94 void TapeQuickSave(void);
95 void TapeQuickLoad(void);
97 void CreateTapeButtons();
98 void MapTapeEjectButton();
99 void MapTapeIndexButton();
100 void MapTapeButtons();
101 void UnmapTapeButtons();