8#define SMACKVERSION "2.0y"
60#define SmackHeaderSize(smk) ((((u8*)&((smk)->extra))-((u8*)(smk)))+4)
63#define SMACKNEEDPAN 0x00020L
64#define SMACKNEEDVOLUME 0x00040L
65#define SMACKFRAMERATE 0x00080L
66#define SMACKLOADEXTRA 0x00100L
67#define SMACKPRELOADALL 0x00200L
68#define SMACKNOSKIP 0x00400L
69#define SMACKSIMULATE 0x00800L
70#define SMACKFILEHANDLE 0x01000L
71#define SMACKTRACK1 0x02000L
72#define SMACKTRACK2 0x04000L
73#define SMACKTRACK3 0x08000L
74#define SMACKTRACK4 0x10000L
75#define SMACKTRACK5 0x20000L
76#define SMACKTRACK6 0x40000L
77#define SMACKTRACK7 0x80000L
78#define SMACKTRACKS (SMACKTRACK1|SMACKTRACK2|SMACKTRACK3|SMACKTRACK4|SMACKTRACK5|SMACKTRACK6|SMACKTRACK7)
80#define SMACKAUTOEXTRA 0xffffffffL
83#define SMACKSURFACEFAST 0
84#define SMACKSURFACESLOW 1
85#define SMACKSURFACEDIRECT 2
130 #define SMACKSOUNDNONE -1
132 extern void* cdecl SmackTimerSetupAddr;
133 extern void* cdecl SmackTimerReadAddr;
134 extern void* cdecl SmackTimerDoneAddr;
136 typedef void RADLINK (*SmackTimerSetupType)();
138 typedef void RADLINK (*SmackTimerDoneType)();
140 #define SmackTimerSetup() ((SmackTimerSetupType)(SmackTimerSetupAddr))()
141 #define SmackTimerRead() ((SmackTimerReadType)(SmackTimerReadAddr))()
142 #define SmackTimerDone() ((SmackTimerDoneType)(SmackTimerDoneAddr))()
154 #define SmackSoundUseSOS3 SmackSoundUseSOS3r
155 #define SmackSoundUseSOS4 SmackSoundUseSOS4r
157 #define SmackSoundUseSOS3 SmackSoundUseSOS3s
158 #define SmackSoundUseSOS4 SmackSoundUseSOS4s
163 #define SMACKRESRESET 0
164 #define SMACKRES640X400 1
165 #define SMACKRES640X480 2
166 #define SMACKRES800X600 3
167 #define SMACKRES1024X768 4
174 #include <palettes.h>
175 #include <qdoffscreen.h>
178 typedef struct SmkTMInfoTag {
183 extern SmkTMInfo __SmackTimeInfo;
187 #define SmackTimerRead() (__SmackTimeInfo.milli)
189 #define SMACKAUTOBLIT 0
190 #define SMACKDIRECTBLIT 1
191 #define SMACKGWORLDBLIT 2
193 typedef struct SmackBufTag {
222 #define INCLUDE_MMSYSTEM_H
224 #include "windowsx.h"
226 #define SMACKAUTOBLIT 0
227 #define SMACKFULL320X240BLIT 1
228 #define SMACKFULL320X200BLIT 2
229 #define SMACKSTANDARDBLIT 3
230 #define SMACKWINGBLIT 4
232 #define WM_SMACKACTIVATE WM_USER+0x5678
234 typedef struct SmackBufTag {
249 RGBQUAD Palette[256];
253 void PTR4* DIBRestore;
272 #define SmackTimerSetup()
273 #define SmackTimerDone()
274 #define SmackTimerRead timeGetTime
u32 RADEXPLINK SmackSoundInTrack(Smack PTR4 *smk, u32 trackflags)
u32 RADEXPLINK SmackToBufferRect(Smack PTR4 *smk, u32 SmackSurface)
void RADEXPLINK SmackFrameRate(u32 forcerate)
struct SmackSumTag SmackSum
void RADEXPLINK SmackBufferCopyPalette(SmackBuf PTR4 *destbuf, SmackBuf PTR4 *sourcebuf, u16 remap)
void RADEXPLINK SmackBufferClose(SmackBuf PTR4 *sbuf)
u32 RADEXPLINK SmackSoundOnOff(Smack PTR4 *smk, u32 on)
void RADEXPLINK SmackSimulate(u32 sim)
u32 RADEXPLINK SmackWait(Smack PTR4 *smk)
u16 RADEXPLINK SmackBufferBlit(SmackBuf PTR4 *sbuf, HDC dc, u16 hwndx, u16 hwndy, u16 subx, u16 suby, u16 subw, u16 subh)
void RADEXPLINK SmackSummary(Smack PTR4 *smk, SmackSum PTR4 *sum)
void RADEXPLINK SmackBufferNewPalette(SmackBuf PTR4 *sbuf, void PTR4 *pal, u16 paltype)
void RADEXPLINK SmackBufferToBuffer(SmackBuf PTR4 *destbuf, u16 destx, u16 desty, SmackBuf PTR4 *sourcebuf, u16 sourcex, u16 sourcey, u16 sourcew, u16 sourceh)
void RADEXPLINK SmackClose(Smack PTR4 *smk)
void RADEXPLINK SmackGoto(Smack PTR4 *smk, u32 frame)
void RADEXPLINK SmackBufferFromScreen(SmackBuf PTR4 *destbuf, HWND hw, u16 x, u16 y)
u32 RADEXPLINK SmackDoFrame(Smack PTR4 *smk)
void RADEXPLINK SmackBufferClear(SmackBuf PTR4 *destbuf, u16 color)
u32 RADEXPLINK SmackGetTrackData(Smack PTR4 *smk, void PTR4 *dest, u32 trackflag)
void RADEXPLINK SmackColorTrans(Smack PTR4 *smk, void PTR4 *trans)
void RADEXPLINK SmackToScreen(Smack PTR4 *smk, u32 left, u32 top, u32 BytesPS, u16 PTR4 *WinTbl, u32 SetBank)
char PTR4 *RADEXPLINK SmackBufferString(char PTR4 *dest, u16 BlitType)
void RADEXPLINK SmackVolumePan(Smack PTR4 *smk, u32 trackflag, u32 volume, u32 pan)
u16 RADEXPLINK SmackBufferSetPalette(SmackBuf PTR4 *sbuf)
u32 RADEXPLINK SmackSetSystemRes(u32 mode)
SmackBuf PTR4 *RADEXPLINK SmackBufferOpen(HWND wnd, u16 BlitType, u16 width, u16 height, u16 ZoomW, u16 ZoomH)
void RADEXPLINK SmackNextFrame(Smack PTR4 *smk)
void RADEXPLINK SmackBufferToBufferTrans(SmackBuf PTR4 *destbuf, u16 destx, u16 desty, SmackBuf PTR4 *sourcebuf, u16 sourcex, u16 sourcey, u16 sourcew, u16 sourceh, u16 TransColor)
Smack PTR4 *RADEXPLINK SmackOpen(char PTR4 *name, u32 flags, u32 extrabuf)
u16 RADEXPLINK SmackBufferFocused(SmackBuf PTR4 *sbuf)
void RADEXPLINK SmackColorRemap(Smack PTR4 *smk, void PTR4 *remappal, u32 numcolors, u32 paltype)
void RADEXPLINK SmackSoundCheck()
void RADEXPLINK SmackToBuffer(Smack PTR4 *smk, u32 left, u32 top, u32 Pitch, u32 destheight, void PTR4 *buf, u32 Reversed)