OpenXcom  1.0
Open-source clone of the original X-Com
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Flc.h
1 /* vi:set nowrap ts=2 sw=2:
2 */
23 #ifndef __OXC_FLC_H
24 #define __OXC_FLC_H
25 
26 #include <SDL.h>
27 
28 namespace OpenXcom
29 {
30 
31 class Screen;
32 
33 namespace Flc
34 
35 {
36 
37 struct Flc_t {
38  FILE *file;
39  Uint8 *pMembuf;
40  Uint32 membufSize;
41  Uint8 *pFrame;
42  Uint8 *pChunk;
43  Uint16 FrameCount; /* Frame Counter */
44  /*
45  */
46  Uint32 HeaderSize; /* Fli file size */
47  Uint16 HeaderCheck; /* Fli header check */
48  Uint16 HeaderFrames; /* Number of frames in flic */
49  Uint16 HeaderWidth; /* Fli width */
50  Uint16 HeaderHeight; /* Fli heigth */
51  Uint16 HeaderDepth; /* Color depth */
52  double HeaderSpeed; /* Number of video ticks between frame */
53  Uint32 FrameSize; /* Frame size in bytes */
54  Uint16 FrameCheck; /* Frame check */
55  Uint16 FrameChunks; /* Number of chunks in frame */
56  Uint32 ChunkSize; /* Size of chunk */
57  Uint16 ChunkType; /* Type of chunk */
58  /*
59  */
60  // FRAME_TYPE extension, see http://www.compuphase.com/flic.htm
61  Uint16 DelayOverride;
62  //
63 
64  SDL_Surface *mainscreen;
65  Screen *realscreen;
66  SDL_Color colors[256];
67  int screen_w;
68  int screen_h;
69  int screen_depth;
70  int loop;
71  int dx, dy;
72  int offset;
73  bool quit;
74 };
75 
76 extern struct Flc_t flc;
77 
79 int FlcInit(const char *filename);
81 void FlcMain(void (*frameCallBack)());
83 void FlcDeInit();
84 
85 // lower-level functions:
86 
88 void FlcReadFile(Uint32 frameSize);
90 void FlcDoOneFrame();
91 
92 }
93 
94 }
95 
96 #endif
Definition: Flc.h:37
A display screen, handles rendering onto the game window.
Definition: Screen.h:40