From 5417b9f06a5e1121c2087129b63fb1e10e7732c6 Mon Sep 17 00:00:00 2001 From: mcmartin Date: Sat, 29 Nov 2008 00:50:53 +0000 Subject: [PATCH] Changed VIDEO_REF from a DWORD to a pointer to an opaque structure. This should provide better 64-bit cleanliness, and it also puts it in line with the rest of the resources. git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3100 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/sc2code/libs/video/video.c | 11 ++++------- sc2/src/sc2code/libs/video/vidplayer.c | 23 +++++++++-------------- sc2/src/sc2code/libs/vidlib.h | 4 +++- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/sc2/src/sc2code/libs/video/video.c b/sc2/src/sc2code/libs/video/video.c index 3228abd09..f8a80c28d 100644 --- a/sc2/src/sc2code/libs/video/video.c +++ b/sc2/src/sc2code/libs/video/video.c @@ -76,11 +76,10 @@ VidPlaying () } VIDEO_TYPE -VidPlayEx (VIDEO_REF VidRef, MUSIC_REF AudRef, MUSIC_REF SpeechRef, +VidPlayEx (VIDEO_REF vid, MUSIC_REF AudRef, MUSIC_REF SpeechRef, DWORD LoopFrame) { VIDEO_TYPE ret; - TFB_VideoClip* vid = (TFB_VideoClip*) VidRef; if (!vid) return NO_FMV; @@ -108,10 +107,10 @@ VidPlayEx (VIDEO_REF VidRef, MUSIC_REF AudRef, MUSIC_REF SpeechRef, LockMutex (GraphicsLock); SetContext (ScreenContext); // play video in the center of the screen - if (TFB_PlayVideo (VidRef, (SCREEN_WIDTH - vid->w) / 2, + if (TFB_PlayVideo (vid, (SCREEN_WIDTH - vid->w) / 2, (SCREEN_HEIGHT - vid->h) / 2)) { - _cur_video = VidRef; + _cur_video = vid; ret = SOFTWARE_FMV; if (SpeechRef) { @@ -162,10 +161,8 @@ _init_video_file (const char *pStr) } BOOLEAN -DestroyVideo (VIDEO_REF VideoRef) +DestroyVideo (VIDEO_REF vid) { - TFB_VideoClip* vid = (TFB_VideoClip*) VideoRef; - if (!vid) return FALSE; diff --git a/sc2/src/sc2code/libs/video/vidplayer.c b/sc2/src/sc2code/libs/video/vidplayer.c index c9b02d5c6..b60eb3755 100644 --- a/sc2/src/sc2code/libs/video/vidplayer.c +++ b/sc2/src/sc2code/libs/video/vidplayer.c @@ -283,9 +283,8 @@ video_play_task (void *data) } bool -TFB_PlayVideo (VIDEO_REF VidRef, uint32 x, uint32 y) +TFB_PlayVideo (VIDEO_REF vid, uint32 x, uint32 y) { - TFB_VideoClip* vid = (TFB_VideoClip*) VidRef; RECT scrn_r; RECT clip_r = {{0, 0}, {vid->w, vid->h}}; RECT vid_r = {{0, 0}, {SCREEN_WIDTH, SCREEN_HEIGHT}}; @@ -368,7 +367,7 @@ TFB_PlayVideo (VIDEO_REF VidRef, uint32 x, uint32 y) { vid->playing = false; ClearSemaphore (vp_interthread_lock); - TFB_StopVideo (VidRef); + TFB_StopVideo (vid); return false; } @@ -377,10 +376,8 @@ TFB_PlayVideo (VIDEO_REF VidRef, uint32 x, uint32 y) } void -TFB_StopVideo (VIDEO_REF VidRef) +TFB_StopVideo (VIDEO_REF vid) { - TFB_VideoClip* vid = (TFB_VideoClip*) VidRef; - if (!vid) return; @@ -406,10 +403,8 @@ TFB_StopVideo (VIDEO_REF VidRef) } bool -TFB_VideoPlaying (VIDEO_REF VidRef) +TFB_VideoPlaying (VIDEO_REF vid) { - TFB_VideoClip* vid = (TFB_VideoClip*) VidRef; - if (!vid) return false; @@ -420,7 +415,7 @@ static BOOLEAN TFB_DoVideoInput (void *pIS) { VIDEO_INPUT_STATE* pVIS = (VIDEO_INPUT_STATE*) pIS; - TFB_VideoClip* vid = (TFB_VideoClip*) pVIS->CurVideo; + TFB_VideoClip* vid = pVIS->CurVideo; if (!pVIS->CurVideo || !TFB_VideoPlaying (pVIS->CurVideo)) return FALSE; @@ -478,7 +473,7 @@ TFB_VideoInput (VIDEO_REF VidRef) static void vp_BeginFrame (TFB_VideoDecoder* decoder) { - TFB_VideoClip* vid = (TFB_VideoClip*) decoder->data; + TFB_VideoClip* vid = decoder->data; if (vid) TFB_DrawCanvas_Lock (vid->frame->NormalImg); @@ -487,7 +482,7 @@ vp_BeginFrame (TFB_VideoDecoder* decoder) static void vp_EndFrame (TFB_VideoDecoder* decoder) { - TFB_VideoClip* vid = (TFB_VideoClip*) decoder->data; + TFB_VideoClip* vid = decoder->data; if (vid) TFB_DrawCanvas_Unlock (vid->frame->NormalImg); @@ -496,7 +491,7 @@ vp_EndFrame (TFB_VideoDecoder* decoder) static void* vp_GetCanvasLine (TFB_VideoDecoder* decoder, uint32 line) { - TFB_VideoClip* vid = (TFB_VideoClip*) decoder->data; + TFB_VideoClip* vid = decoder->data; if (!vid) return NULL; @@ -516,7 +511,7 @@ vp_GetTicks (TFB_VideoDecoder* decoder) static bool vp_SetTimer (TFB_VideoDecoder* decoder, uint32 msecs) { - TFB_VideoClip* vid = (TFB_VideoClip*) decoder->data; + TFB_VideoClip* vid = decoder->data; if (!vid) return false; diff --git a/sc2/src/sc2code/libs/vidlib.h b/sc2/src/sc2code/libs/vidlib.h index 1ee68b9d7..35be544d8 100644 --- a/sc2/src/sc2code/libs/vidlib.h +++ b/sc2/src/sc2code/libs/vidlib.h @@ -29,7 +29,9 @@ typedef enum SOFTWARE_FMV } VIDEO_TYPE; -typedef DWORD VIDEO_REF; +struct tfb_videoclip; + +typedef struct tfb_videoclip *VIDEO_REF; extern BOOLEAN InitVideoPlayer (BOOLEAN UseCDROM); extern void UninitVideoPlayer (void);