comparison Bink_Smacker.h @ 0:9c0607679772

init
author Ritor1
date Sat, 12 Jan 2013 09:45:18 +0600
parents
children c067c5739e1f
comparison
equal deleted inserted replaced
-1:000000000000 0:9c0607679772
1 #pragma once
2 #include "AIL.h"
3
4
5
6
7 void BINKW32_DLL_Initialize();
8
9
10 int __stdcall BinkDDSurfaceType(struct IDirectDrawSurface *);
11 int __stdcall BinkSetSoundSystem(void *pSoundSystem, HDIGDRIVER hDrv);
12 int __stdcall BinkOpenMiles(int);
13 HBINK __stdcall BinkOpen(void *hFileHandle, unsigned int uFlags);
14 int __stdcall BinkWait(HBINK);
15 int __stdcall BinkDoFrame(HBINK);
16 int __stdcall BinkNextFrame(HBINK);
17 int __stdcall BinkGetRects(HBINK hBink, unsigned int uFlags);
18 int __stdcall BinkCopyToBuffer(HBINK hBink, void *pBuffer, unsigned int lPitch, unsigned int uNumLines, unsigned int uX, unsigned int uY, unsigned int uFlags);
19 int __stdcall BinkPause(HBINK, int bPause);
20 int __stdcall BinkClose(HBINK);
21 int __stdcall BinkGoto(HBINK, long a2, long a3);
22
23 int __stdcall BinkBufferSetOffset(void *, int, int);
24 int __stdcall BinkBufferSetScale(void *, unsigned int uWidth, unsigned int uHeight);
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 void SMACKW32_DLL_Initialize();
43
44 struct _SMACK
45 {
46 unsigned int Version; // SMK2 only right now
47 unsigned int Width; // Width (1 based, 640 for example)
48 unsigned int Height; // Height (1 based, 480 for example)
49 unsigned int Frames; // Number of frames (1 based, 100 = 100 frames)
50 unsigned int MSPerFrame; // Frame Rate
51 unsigned int SmackerType; // bit 0 set=ring frame
52 unsigned int LargestInTrack[7]; // Largest single size for each track
53 unsigned int tablesize; // Size of the init tables
54 unsigned int codesize; // Compression info
55 unsigned int absize; // ditto
56 unsigned int detailsize; // ditto
57 unsigned int typesize; // ditto
58 unsigned int TrackType[7]; // high byte=0x80-Comp,0x40-PCM data,0x20-16 bit,0x10-stereo
59 unsigned int extra; // extra value (should be zero)
60 unsigned int NewPalette; // set to one if the palette changed
61 unsigned char Palette[772]; // palette data
62 unsigned int PalType; // type of palette
63 unsigned int FrameNum; // 0374 Frame Number to be displayed
64 unsigned int FrameSize; // The current frame's size in bytes
65 unsigned int SndSize; // The current frame sound tracks' size in bytes
66 int LastRectx; // 0380 Rect set in from SmackToBufferRect (X coord)
67 int LastRecty; // Rect set in from SmackToBufferRect (Y coord)
68 int LastRectw; // Rect set in from SmackToBufferRect (Width)
69 int LastRecth; // 038C Rect set in from SmackToBufferRect (Height)
70 unsigned int OpenFlags; // flags used on open
71 unsigned int LeftOfs; // Left Offset used in SmackTo
72 unsigned int TopOfs; // Top Offset used in SmackTo
73 unsigned int LargestFrameSize; // Largest frame size
74 unsigned int Highest1SecRate; // Highest 1 sec data rate
75 unsigned int Highest1SecFrame; // Highest 1 sec data rate starting frame
76 unsigned int ReadError; // Set to non-zero if a read error has ocurred
77 unsigned int addr32; // translated address for 16 bit interface
78 };
79
80
81
82 struct _SMACKBLIT
83 {
84 unsigned int Flags;
85 unsigned char *Palette;
86 unsigned int PalType;
87 unsigned short *SmoothTable;
88 unsigned short *Conv8to16Table;
89 unsigned int whichmode;
90 unsigned int palindex;
91 unsigned int t16index;
92 unsigned int smoothindex;
93 unsigned int smoothtype;
94 unsigned int firstpalette;
95 };
96
97 struct _SMACKBUF
98 {
99 unsigned int Reversed; // 1 if the buffer is upside down
100 unsigned int SurfaceType; // SMACKSURFACExxxx defines
101 unsigned int BlitType; // SMACKxxxxBLIT defines
102 unsigned int FullScreen; // 1 if full-screen
103 unsigned int Width;
104 unsigned int Height;
105 unsigned int Pitch;
106 unsigned int Zoomed;
107 unsigned int ZWidth;
108 unsigned int ZHeight;
109 unsigned int DispColors; // colors on the screen
110 unsigned int MaxPalColors; // total possible colors in palette (usually 256)
111 unsigned int PalColorsInUse; // Used colors in palette (usually 236)
112 unsigned int StartPalColor; // first usable color index (usually 10)
113 unsigned int EndPalColor; // last usable color index (usually 246)
114 RGBQUAD Palette[256];
115 unsigned int PalType;
116 unsigned int forceredraw; // force a complete redraw on next blit (for >8bit)
117 unsigned int didapalette; // force an invalidate on the next palette change
118
119 void * Buffer;
120 void * DIBRestore;
121 unsigned int OurBitmap;
122 unsigned int OrigBitmap;
123 unsigned int OurPalette;
124 unsigned int WinGDC;
125 unsigned int FullFocused;
126 unsigned int ParentHwnd;
127 unsigned int OldParWndProc;
128 unsigned int OldDispWndProc;
129 unsigned int DispHwnd;
130 unsigned int WinGBufHandle;
131 void * lpDD;
132 void * lpDDSP;
133 unsigned int DDSurfaceType;
134 struct _SMACKBLIT DDblit;
135 int ddSoftwarecur;
136 int didaddblit;
137 int lastwasdd;
138 RECT ddscreen;
139 int manyblits;
140 int * blitrects;
141 int * rectsptr;
142 int maxrects;
143 int numrects;
144 HDC lastdc;
145 };
146
147
148
149 int __stdcall SmackSoundUseMSS(HDIGDRIVER hDrv);
150 unsigned int __stdcall SmackUseMMX(unsigned int flag);
151 HSMACK __stdcall SmackOpen(HANDLE hSourceFile, unsigned int uFlags, unsigned int uExtraBuffers);
152 HSMACKBLIT __stdcall SmackBlitOpen(unsigned int uSurfaceFormat);
153 void __stdcall SmackToBuffer(HSMACK, unsigned int uX, unsigned int uY, unsigned int uPitch, unsigned int uHeight, void *pBuffer, unsigned int uFlags);
154 void __stdcall SmackBlitSetPalette(HSMACKBLIT hBlit, void *pPalette, unsigned int uPalType);
155 unsigned int __stdcall SmackDoFrame(HSMACK);
156 unsigned int __stdcall SmackToBufferRect(HSMACK, unsigned int uSmackSurface);
157 void __stdcall SmackBlit(HSMACKBLIT, void *pDest, unsigned int uDestPitch, unsigned int uDestX, unsigned int uDestY, void *pSrc, unsigned int uSrcPitch, unsigned int uSrcX, unsigned int uSrcY, unsigned int uSrcZ, unsigned int uSrcW);
158 void __stdcall SmackNextFrame(HSMACK);
159 unsigned int __stdcall SmackWait(HSMACK);
160 unsigned int __stdcall SmackSoundOnOff(HSMACK, unsigned int bOn);
161 void __stdcall SmackClose(HSMACK);
162 void __stdcall SmackBufferClose(HSMACKBUF);
163 void __stdcall SmackBlitClose(HSMACKBLIT);
164 int __stdcall SmackBlitClear(HSMACKBLIT a1, unsigned short *pFrameData, unsigned int uTargetSurfacePitch, unsigned int uOutX, unsigned int uOutY, unsigned int uOutZ, unsigned int uOutW, int a8);
165
166
167
168
169
170 int __stdcall SmackBufferOpen(HWND a1, long a2, long a3, long a4, long a5, long a6);
171 int __fastcall SmackVolumePan(long a1, long a2, _SMACK *a3, long a4, long a5, long a6);
172
173 int __stdcall SmackGoto(_SMACK *a1, long a2);
174
175 // sub_4D83D0: using guessed type int __stdcall SmackBufferNewPalette(_DWORD, _DWORD, _DWORD);
176 int __stdcall SmackBufferNewPalette(long a1, long a2, long a3);
177
178 // sub_4D83D4: using guessed type int __stdcall SmackColorRemapWithTrans(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
179 int __stdcall SmackColorRemapWithTrans(long a1, long a2, long a3, long a4, long a5);
180
181
182
183
184
185
186
187
188
189
190
191
192
193