summaryrefslogtreecommitdiff
path: root/src/fmv.h
blob: 364d963aa7e9b3611c8b3ec07454009e41398612 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef FMV_H
#define FMV_H

typedef struct
{
	IMAGEHEADER *ImagePtr;
	int SoundVolume;
	int IsTriggeredPlotFMV;
	int StaticImageDrawn;

	int MessageNumber;

	// disabled direct3d stuff
	//LPDIRECTDRAWSURFACE SrcSurface;
	//LPDIRECT3DTEXTURE SrcTexture;
	//LPDIRECT3DTEXTURE DestTexture;
	PALETTEENTRY SrcPalette[256];
	
	// buffer used for opengl texture uploads
	unsigned char* PalettedBuf;
	unsigned char* RGBBuf;
	
	int RedScale;
	int GreenScale;
	int BlueScale;

} FMVTEXTURE;


extern int NextFMVTextureFrame(FMVTEXTURE *ftPtr, void *bufferPtr);
extern void UpdateFMVTexturePalette(FMVTEXTURE *ftPtr);
extern void InitialiseTriggeredFMVs(void);
extern void StartTriggerPlotFMV(int number);

extern void StartFMVAtFrame(int number, int frame);
extern void GetFMVInformation(int *messageNumberPtr, int *frameNumberPtr);

void UpdateAllFMVTextures(void);
void ScanImagesForFMVs(void);
void ReleaseAllFMVTextures(void);

void PlayBinkedFMV(char *filenamePtr);

#endif