1 #ifndef FMV_H
2 #define FMV_H
3 
4 typedef struct
5 {
6 	IMAGEHEADER *ImagePtr;
7 	int SoundVolume;
8 	int IsTriggeredPlotFMV;
9 	int StaticImageDrawn;
10 
11 	int MessageNumber;
12 
13 	// disabled direct3d stuff
14 	//LPDIRECTDRAWSURFACE SrcSurface;
15 	//LPDIRECT3DTEXTURE SrcTexture;
16 	//LPDIRECT3DTEXTURE DestTexture;
17 	PALETTEENTRY SrcPalette[256];
18 
19 	// buffer used for opengl texture uploads
20 	unsigned char* PalettedBuf;
21 	unsigned char* RGBBuf;
22 
23 	int RedScale;
24 	int GreenScale;
25 	int BlueScale;
26 
27 } FMVTEXTURE;
28 
29 
30 extern int NextFMVTextureFrame(FMVTEXTURE *ftPtr, void *bufferPtr);
31 extern void UpdateFMVTexturePalette(FMVTEXTURE *ftPtr);
32 extern void InitialiseTriggeredFMVs(void);
33 extern void StartTriggerPlotFMV(int number);
34 
35 extern void StartFMVAtFrame(int number, int frame);
36 extern void GetFMVInformation(int *messageNumberPtr, int *frameNumberPtr);
37 
38 void UpdateAllFMVTextures(void);
39 void ScanImagesForFMVs(void);
40 void ReleaseAllFMVTextures(void);
41 
42 void PlayBinkedFMV(char *filenamePtr);
43 
44 #endif
45