Mercurial > mm7
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 |