Smacker Video Technology
 
Home
 
Bink
 
Miles
 
Granny
 
Pixomatic
 
Smacker
Main
Design Goals
Advantages
Quality Tips
SDK Features
Customers
Download
History
FAQ
Tools Help
 
Sales
 
Support
 
About RAD
 
 
 
 

Smacker SDK Features

 
425.893.4300 phone      New! 425.609.2463 fax      sales3@radgametools.com
 
 
 

The Smacker SDK includes everything necessary to playback Smacker movies quickly and easily. It is available for Win32, Macintosh PowerPC and 68K, 16-bit Windows and DOS.

Microsoft Windows 95, 98, Me, NT, 2000, XP
  • Available as a DLL file that ships with your application.
  • Should work fine with any Windows C/C++ compiler (including Microsoft Visual Studio 6 and .NET which we build with).
  • Supports the Miles Sound System, DirectSound, or waveout for sound output.
  • Can decompress directly to 8-bit or 16-bit pixel formats.
  • The Smacker DLL is about 163 KB and is completely standalone (no other DLLs are required).
  • At playback time, Smacker needs about 12 KB to 600 KB of tables, and a one second data rate buffer.
  • Can open from a filename string, or a file handle.
  • Includes a full-featured blitting and buffering API on Windows. This SmackBuffer API can use DirectDraw, DIBs, and DIBSections. Blitting is normally complicated on Windows due to the huge number of APIs - Smacker simplies this down to one simple API.
  • Includes a low-level, extremely-fast, MMX-optimized memory to memory bliting API. Great for super-fast video sprites.
  • Extremely fast - 640x480 can take as little as 10% of the CPU on a P3/750. Great for fast video textures!

Macintosh
  • Available as a Carbon shared library, a CFM shared library, a Codewarrior PPC static library, a CodeWarrior 68K static library.
  • Should work fine with any Mac C/C++ compiler (including CodeWarrior which is what we build with).
  • Supports the Sound Manager (and sits along side the Miles Sound System) for sound output.
  • Can decompress directly to 8-bit pixel formats.
  • The Smacker libraries are about 150 KB and are completely standalone (no other libraries are required).
  • At playback time, Smacker needs about 12 KB to 600 KB of tables, and a one second data rate buffer.
  • Can open from a filename string, or an FSSpec pointer.
  • Includes a full-featured blitting and buffering API on MacOS. This SmackBuffer API uses QuickDraw to gain direct access to the frame buffer and provider GWorld blitting on MacOS 8 to X. This API is compatible with the Windows version, so moving Smacker playback between Windows and MacOS is painless.
  • Includes a low-level, extremely-fast, assembly-optimized memory to memory bliting API. Great for super-fast video sprites.
  • Extremely fast - 640x480 can take as little as 15% of the CPU on a G3/750. Great for fast video textures!

Microsoft Windows 3.x (16-bit Windows)
  • Available as a 16-bit DLL file that ships with your application. Smacker is still 32-bit internally, but we expose the codec as a normal 16-bit DLL.
  • Should work fine with any Windows 16-bit C/C++ compiler (including Watcom which we build with).
  • Supports the Miles Sound System, waveout, and Diamondware for sound output.
  • Can decompress directly to 8-bit or 16-bit pixel formats.
  • The Smacker DLLs are about 330 KB and are completely standalone (no other DLLs are required).
  • At playback time, Smacker needs about 12 KB to 600 KB of tables, and a one second data rate buffer.
  • Can open from a filename string, or a file handle.
  • Includes a full-featured blitting and buffering API on Windows. This SmackBuffer API can use DirectDraw, DIBs, and DIBSections. Blitting is normally complicated on Windows due to the huge number of APIs - Smacker simplies this down to one simple API.
  • Includes a low-level, extremely-fast, MMX-optimized memory to memory bliting API. Great for super-fast video sprites.
  • Extremely fast - 640x480 can take as little as 10% of the CPU on a P3/750. Great for fast video textures!

DOS
  • Available as a 32-bit static library.
  • Builds with Watcom 10.6 and 11.0 and DOS/4GW or Causeway.
  • Supports the Miles Sound System, HMI's SOS, and MSSLite (supplied) for sound output.
  • Can decompress directly to 8-bit or 16-bit pixel formats. Can even decompress directly to banked SVGA memory.
  • The Smacker library is about 400 KB and is completely standalone (no other libraries are required).
  • At playback time, Smacker needs about 12 KB to 600 KB of tables, and a one second data rate buffer.
  • Can open from a filename string, or a file handle.
  • Includes a complete SVGA VESA wrapper layer for 8-bit and 16-bit modes.
  • Includes a low-level, extremely-fast, MMX-optimized memory to memory bliting API. Great for super-fast video sprites.
  • Extremely fast - 640x480 can take as little as 10% of the CPU on a P3/750. Great for fast video textures!

Smacker Functions:

This is the primary Smacker API. This API controls the decompression and playback of a Smacker movie.

  • SmackOpen / SmackMacOpen
  • SmackClose
  • SmackDoFrame
  • SmackToBuffer
  • SmackToScreem
  • SmackWait
  • SmackNextFrame
  • SmackToBufferRect
  • SmackGoto
  • SmackGetKeyFrame
  • SmackColorRemap
  • SmackColorTrans
  • SmackSoundUseMiles
  • SmackSoundUseDirectSound
  • SmackSoundUseSOS3
  • SmackSoundUseSOS4
  • SmackSoundUseDW
  • SmackVolumePan
  • SmackSetSoundOnOff
  • SmackSummary
  • SmackSoundInTrack
  • SmackGetTrackData
  • SmackeSimulate
  • SmackSoundCheck
  • SmackGetLogoAddress

SmackBuffer Functions for Win16, Win32 and MacOS:

A SmackBuffer is a chunk of memory, a palette, and an associated way of getting all of it onto the video screen. For example, you can create DIBSection SmackBuffers for Windows, or Gworld SmackBuffer for MacOS, and the API is exactly the same. Note that if you're using DirectDraw, you may want to skip the SmackBuffer API completely and use the new SmackBlit API which performs high-speed direct memory to memory blitting. SmackBuffers are used a lot like you use the Smacker API - open and receive a pointer to a SmackBuffer structure, use API functions on the pointer, and, finally, close the SmackBuffer.

  • SmackBufferOpen
  • SmackBufferClose
  • SmackBufferBlit
  • SmackBufferNewPalette
  • SmackBufferSetPalette
  • SmackBufferFocused
  • SmackBufferToBuffer
  • SmackBufferToBufferTrans
  • SmackBufferToBufferMerge
  • SmackBufferToBufferMask
  • SmackBufferFromScreen
  • SmackBufferCopyPalette
  • SmackBufferClear
  • SmackBufferSetSystemRes
  • SmackIsSoftwareCursor
  • SmackCheckCursor
  • SmackRestoreCursor

Smacker Blitting API for Win16, Win32, DOS and MacOS Functions:

The Smacker Blitting API is a simple set of functions that allow you to copy rectangular blocks of memory as fast as possible. It assumes the input buffers are 8-bit, but it can copy to either 8-bit or 16-bit destination surfaces. The SmackBlit API doesn't care whether the destination or source buffers are in system or video RAM, so it's a nice way to copy buffers to the screen if you have direct access to the frame buffer.

Note that this API doesn't manage the buffer memory! All it does it copy to or from memory that you allocated elsewhere. This makes it an excellent way to play Smacker movies with DirectDraw.

  • SmackBlitOpen
  • SmackBlitClose
  • SmackBlitSetPalette
  • SmackBlit
  • SmackBlitClose
  • SmackBlitTrans
  • SmackBlitMerge
  • SmackBlitMask
  • SmackBlitClear

Smacker Graphics Functions for DOS:

These functions handle VESA initialization and blitting for you.

  • SVGAMode
  • SVGADetect
  • SVGADetected
  • SVGASetup
  • SVGASetText
  • SVGASetGraph
  • SVGAClear
  • SVGABlit
  • SVGABlitTrans
  • SVGABlitMerge
  • SVGABlitMask
  • SVGASetPalette
 
 

 
Home       Bink       Miles       Granny       Pixomatic       Sales       Support       About RAD
 
send comments to:
the webmaster
 
Copyright © 1991-2008
RAD Game Tools, Inc.
425.893.4300
updated 2/18/08