X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftape.h;h=bc80f440b3ec191dd6f911caf1d1e01674fedd27;hp=e77cd86c99204380aac547261b82fd2fa2def85a;hb=47da774c66f9325f9d27cddb5a697514154e2de9;hpb=f73fd0cea8ac4e9836ea9a4c12c89be0acef03ba diff --git a/src/tape.h b/src/tape.h index e77cd86c..bc80f440 100644 --- a/src/tape.h +++ b/src/tape.h @@ -14,8 +14,9 @@ /* values for TapeTogglePause() */ -#define TAPE_TOGGLE_MANUAL TRUE -#define TAPE_TOGGLE_AUTOMATIC FALSE +#define TAPE_TOGGLE_AUTOMATIC 0 +#define TAPE_TOGGLE_MANUAL (1 << 0) +#define TAPE_TOGGLE_PLAY_PAUSE (1 << 1) /* values for tape properties */ #define MAX_TAPE_LEN (1000 * FRAMES_PER_SECOND) /* max.time x fps */ @@ -37,54 +38,55 @@ /* values for video tape control */ #define VIDEO_STATE_PLAY_OFF (1 << 0) #define VIDEO_STATE_PLAY_ON (1 << 1) -#define VIDEO_STATE_PLAY (VIDEO_STATE_PLAY_OFF | VIDEO_STATE_PLAY_ON) #define VIDEO_STATE_REC_OFF (1 << 2) #define VIDEO_STATE_REC_ON (1 << 3) -#define VIDEO_STATE_REC (VIDEO_STATE_REC_OFF | VIDEO_STATE_REC_ON) #define VIDEO_STATE_PAUSE_OFF (1 << 4) #define VIDEO_STATE_PAUSE_ON (1 << 5) -#define VIDEO_STATE_PAUSE (VIDEO_STATE_PAUSE_OFF | VIDEO_STATE_PAUSE_ON) #define VIDEO_STATE_DATE_OFF (1 << 6) #define VIDEO_STATE_DATE_ON (1 << 7) -#define VIDEO_STATE_DATE (VIDEO_STATE_DATE_OFF | VIDEO_STATE_DATE_ON) #define VIDEO_STATE_TIME_OFF (1 << 8) #define VIDEO_STATE_TIME_ON (1 << 9) -#define VIDEO_STATE_TIME (VIDEO_STATE_TIME_OFF | VIDEO_STATE_TIME_ON) #define VIDEO_STATE_FRAME_OFF (1 << 10) #define VIDEO_STATE_FRAME_ON (1 << 11) -#define VIDEO_STATE_FRAME (VIDEO_STATE_FRAME_OFF | VIDEO_STATE_FRAME_ON) - #define VIDEO_STATE_FFWD_OFF (1 << 12) #define VIDEO_STATE_FFWD_ON (1 << 13) -#define VIDEO_STATE_FFWD (VIDEO_STATE_FFWD_OFF | VIDEO_STATE_FFWD_ON) -#define VIDEO_STATE_PBEND_OFF (1 << 14) -#define VIDEO_STATE_PBEND_ON (1 << 15) -#define VIDEO_STATE_PBEND (VIDEO_STATE_PBEND_OFF | VIDEO_STATE_PBEND_ON) -#define VIDEO_STATE_WARP_OFF (1 << 16) -#define VIDEO_STATE_WARP_ON (1 << 17) -#define VIDEO_STATE_WARP (VIDEO_STATE_WARP_OFF | VIDEO_STATE_WARP_ON) -#define VIDEO_STATE_WARP2_OFF (1 << 18) -#define VIDEO_STATE_WARP2_ON (1 << 19) -#define VIDEO_STATE_WARP2 (VIDEO_STATE_WARP_OFF | VIDEO_STATE_WARP_ON) +#define VIDEO_STATE_WARP_OFF (1 << 14) +#define VIDEO_STATE_WARP_ON (1 << 15) +#define VIDEO_STATE_WARP2_OFF (1 << 16) +#define VIDEO_STATE_WARP2_ON (1 << 17) +#define VIDEO_STATE_PBEND_OFF (1 << 18) +#define VIDEO_STATE_PBEND_ON (1 << 19) #define VIDEO_STATE_1STEP_OFF (1 << 20) #define VIDEO_STATE_1STEP_ON (1 << 21) -#define VIDEO_STATE_1STEP (VIDEO_STATE_1STEP_OFF | VIDEO_STATE_1STEP_ON) #define VIDEO_PRESS_PLAY_ON (1 << 22) #define VIDEO_PRESS_PLAY_OFF (1 << 23) -#define VIDEO_PRESS_PLAY (VIDEO_PRESS_PLAY_OFF | VIDEO_PRESS_PLAY_ON) #define VIDEO_PRESS_REC_ON (1 << 24) #define VIDEO_PRESS_REC_OFF (1 << 25) -#define VIDEO_PRESS_REC (VIDEO_PRESS_REC_OFF | VIDEO_PRESS_REC_ON) #define VIDEO_PRESS_PAUSE_ON (1 << 26) #define VIDEO_PRESS_PAUSE_OFF (1 << 27) -#define VIDEO_PRESS_PAUSE (VIDEO_PRESS_PAUSE_OFF | VIDEO_PRESS_PAUSE_ON) #define VIDEO_PRESS_STOP_ON (1 << 28) #define VIDEO_PRESS_STOP_OFF (1 << 29) -#define VIDEO_PRESS_STOP (VIDEO_PRESS_STOP_OFF | VIDEO_PRESS_STOP_ON) #define VIDEO_PRESS_EJECT_ON (1 << 30) #define VIDEO_PRESS_EJECT_OFF (1 << 31) -#define VIDEO_PRESS_EJECT (VIDEO_PRESS_EJECT_OFF | VIDEO_PRESS_EJECT_ON) + +#define VIDEO_STATE_PLAY(x) ((x) ? VIDEO_STATE_PLAY_ON : VIDEO_STATE_PLAY_OFF) +#define VIDEO_STATE_REC(x) ((x) ? VIDEO_STATE_REC_ON : VIDEO_STATE_REC_OFF) +#define VIDEO_STATE_PAUSE(x) ((x) ? VIDEO_STATE_PAUSE_ON: VIDEO_STATE_PAUSE_OFF) +#define VIDEO_STATE_DATE(x) ((x) ? VIDEO_STATE_DATE_ON : VIDEO_STATE_DATE_OFF) +#define VIDEO_STATE_TIME(x) ((x) ? VIDEO_STATE_TIME_ON : VIDEO_STATE_TIME_OFF) +#define VIDEO_STATE_FRAME(x) ((x) ? VIDEO_STATE_FRAME_ON: VIDEO_STATE_FRAME_OFF) +#define VIDEO_STATE_FFWD(x) ((x) ? VIDEO_STATE_FFWD_ON : VIDEO_STATE_FFWD_OFF) +#define VIDEO_STATE_WARP(x) ((x) ? VIDEO_STATE_WARP_ON : VIDEO_STATE_WARP_OFF) +#define VIDEO_STATE_WARP2(x) ((x) ? VIDEO_STATE_WARP2_ON: VIDEO_STATE_WARP2_OFF) +#define VIDEO_STATE_PBEND(x) ((x) ? VIDEO_STATE_PBEND_ON: VIDEO_STATE_PBEND_OFF) +#define VIDEO_STATE_1STEP(x) ((x) ? VIDEO_STATE_1STEP_ON: VIDEO_STATE_1STEP_OFF) + +#define VIDEO_PRESS_PLAY(x) ((x) ? VIDEO_PRESS_PLAY_ON : VIDEO_PRESS_PLAY_OFF) +#define VIDEO_PRESS_REC(x) ((x) ? VIDEO_PRESS_REC_ON : VIDEO_PRESS_REC_OFF) +#define VIDEO_PRESS_PAUSE(x) ((x) ? VIDEO_PRESS_PAUSE_ON: VIDEO_PRESS_PAUSE_OFF) +#define VIDEO_PRESS_STOP(x) ((x) ? VIDEO_PRESS_STOP_ON : VIDEO_PRESS_STOP_OFF) +#define VIDEO_PRESS_EJECT(x) ((x) ? VIDEO_PRESS_EJECT_ON: VIDEO_PRESS_EJECT_OFF) /* tags to draw video display labels or symbols only */ /* (negative values to prevent misinterpretation in DrawVideoDisplay(), where @@ -165,7 +167,7 @@ struct TapeInfo unsigned int length_frames; unsigned int length_seconds; unsigned int delay_played; - boolean pause_before_death; + boolean pause_before_end; boolean recording, playing, pausing; boolean fast_forward; boolean warp_forward; @@ -230,6 +232,8 @@ void MapTapeEjectButton(); void MapTapeWarpButton(); void MapTapeButtons(); void UnmapTapeButtons(); +void RedrawTapeButtons(); +void RedrawOrRemapTapeButtons(); void HandleTapeButtonKeys(Key);