This commit is contained in:
romkazvo
2023-08-07 19:29:24 +08:00
commit 34d6c5d489
4832 changed files with 1389451 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Acknowledgments</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Acknowledgments">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Acknowledgments</h1>
<h4>Discussion</h4>
<p> The product name Bink, Bink Video, and the Bink logo are all copyrighted and trademarked by RAD Game Tools, Inc. Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved. Printed and produced in the United States of America. As a licensee of Bink, you must abide by the terms set forth in your license agreement. Please refer to that agreement if you have any questions about what you may or may not do with this documentation or the software to which it pertains. Bink is not copy protected, but <i>it is copyrighted</i>. We think our license agreements are fair, and that our software is reasonably priced for the quality and effort we have put into it. Using our software in ways other than allowed by your license agreement violates federal, civil, and criminal law. We rely primarily on your good faith not to violate our copyright; please respect it. This software and documentation are provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. In no event will RAD Game Tools, Inc. be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the product (including, but not limited to, loss of data). <b>Bink and Smacker were written by me, Jeff Roberts.</b> I had lots of help, but, at the end of the day, I wrote them, I documented them, and I decided what they do and what they don't. So, if you hate 'em, then it's my fault. But if you like them, well, that's my fault too... Special thanks to Mitch Soule, John Miles, Casey Muratori, Mike Sartain, Mike Abrash, Steve Theodore, and my wife, Alicia Fukunaga, someone I try to be more like. Lee Powell wrote most of the terrific optimized x86 YUV conversion routines in Bink. John Miles wrote the original speedy x86 YUV convertors. Mark Engelberg and Jeff Roberts did the original research work on Bink. David Lawrence at Blizzard did much of the heavy lifting of porting Bink to MacOS (and he tolerated many questions). Mike Sartain did the port to GameCube and wrote several of the Xbox examples. Thanks also to Brian Kearney, Ken Coburn, Chris Hecker, Access Software, Microsoft (both for the nice tools and the tough competition), and all our Bink and Smacker licensees. RAD's automatic documentation system was written by Casey Muratori. All brand and product names mentioned in this documentation are trademarks or registered trademarks of their respective companies. </p>
<p>
</p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,38 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Alpha Planes</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Alpha Planes">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Alpha Planes</h1>
<h4>Discussion</h4>
<p>Alpha planes are bitplanes that describe what is and what isn't transparent or translucent on a video frame. They are much more useful than simple color keying because you control the transparency right to the pixel - no more weird problems when the color key blends into the edges of the non-transparent pixels! You create alpha planes with a video editing package like Adode Premiere, or by telling your 3D package to generate alpha planes as it renders the video frames. Playing back alpha planes is a little tricky because applying alpha transparency is fairly expensive CPU-wise. To keep performance up, we recommend using your 3D video card to merge bitmap using alpha planes. Harnessing your 3D video card means that you must use <a href="OpenGL.html">OpenGL</a>, <a href="Direct3D.html">Direct3D</a>, or your console's 3D library to talk to your video card. On Win32, Bink includes an example that can play alpha transparent video for both OpenGL and Direct3D (<b>"ExamAlph.C"</b>). To use OpenGL, or Direct3D, you just link to the appropiate 3D interface file ("GLRAD3D.C", "DX8RAD3D.CPP', or "DX7RAD3D.CPP'). On Xbox, Bink include an example that uses Direct3D to play alpha translucent video (<b>ExamXAlf.CPP</b>). You'll also need the Xbox 3D interface file, XbxRAD3D.CPP. On Nintendo GameCube, Bink include an example that uses the OS to play alpha translucent video (<b>ExamNAlf.CPP</b>). You'll also need the GameCube 3D interface file, NGCRAD3D.CPP. </p>
<p>
<br>
<b>Group:</b>
<a href="Background Concepts.html">Background Concepts</a><br>
<b>Related Sections:</b>
<a href="Bink Examples for Win32.html">Bink Examples for Win32</a>, <a href="Bink Examples for th43an3m.html">Bink Examples for the Nintendo GameCube</a>, <a href="Bink Examples for th19saaa.html">Bink Examples for the Xbox</a>, <a href="Bink Playback on the43an3m.html">Bink Playback on the Nintendo GameCube</a>, <a href="Bink Playback on the Xbox.html">Bink Playback on the Xbox</a>, <a href="Bink Playback under MacOS.html">Bink Playback under MacOS</a>, <a href="Bink Playback under Win32.html">Bink Playback under Win32</a>, <a href="Direct3D.html">Direct3D</a>, <a href="OpenGL.html">OpenGL</a><br>
<b>Related Basic Types:</b>
<a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,40 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Audio Tracks in Bink</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Audio Tracks in Bink">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Audio Tracks in Bink</h1>
<h4>Discussion</h4>
<p>Bink allows any number of audio tracks to be added to a Bink file. You can decompress or not decompress any tracks you wish. You could, for example, store all the music in one track, and multiple languages in other tracks. Each audio track in Bink is either a mono or stereo track. The person creating the Bink files chooses a new track ID for each audio file that is mixed in (by default, track zero is used). Generally, audio is automatically routed by Bink to your sound library automatically. You just specify the tracks you want to play with the <a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a> functions and Bink takes care of the rest. The Bink high-level audio functions (<a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a>, <a href="BinkSetVolume.html">BinkSetVolume</a> and <a href="BinkSetPan.html">BinkSetPan</a>) all take track IDs. These are the same numbers that the person mixing in the audio uses in the RAD Video Tools. So, usually, you simply need to set some standard - track 0 is the music, track 1 is English, track 2 is French, etc. Then, your game can select the correct tracks to start and control with simple defines that specify which localization you are building. Bink also has low-level audio functions that let you query what audio tracks are present and extract the PCM samples directly. These functions take a track index rather than a track ID. A track index ranges from zero to the total number of tracks in the Bink file. So, you could have track IDs of 42 and 118, or, 65 and 12, but the track indexes will still range from zero to one. You can get the total number of audio tracks in a Bink file by looking at the NumTracks field of the <a href="BINK.html">BINK</a> structure. You can correlate a track index to a track ID with the <a href="BinkGetTrackID.html">BinkGetTrackID</a> function. As noted above, though, you normally just let Bink handle the audio details and you simply choose which tracks to play. </p>
<p><a href="Colorspace - RGB vs. YUV.html">Previous Topic (Colorspace - RGB vs. YUV)</a> </p><p>
<br>
<b>Group:</b>
<a href="Bink Overview.html">Bink Overview</a><br>
<b>Related Sections:</b>
<a href="Sound on the Nintendyrr8cb.html">Sound on the Nintendo GameCube</a>, <a href="Sound on the Xbox.html">Sound on the Xbox</a>, <a href="Sound under MacOS.html">Sound under MacOS</a>, <a href="Sound under Win32.html">Sound under Win32</a><br>
<b>Related Functions:</b>
<a href="BinkGetTrackID.html">BinkGetTrackID</a>, <a href="BinkSetMixBinVolumes.html">BinkSetMixBinVolumes</a>, <a href="BinkSetMixBins.html">BinkSetMixBins</a>, <a href="BinkSetPan.html">BinkSetPan</a>, <a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a>, <a href="BinkSetVolume.html">BinkSetVolume</a><br>
<b>Related Structures:</b>
<a href="BINK.html">BINK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,86 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINK</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="is a structure returned from BinkOpen.">
<meta name="ms-hkwd" content="BINK">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINK</h1>
<p>The structure <b>BINK</b> is a structure returned from BinkOpen.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b>struct <a href="BINK.html" class=trn>BINK</a>
{
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Width</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Height</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Frames</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameNum</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameRate</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameRateDiv</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> ReadError</i><b>;
&nbsp&nbsp<a href="BINK_OPEN_FLAGS.html" class=trn>BINK_OPEN_FLAGS</a></b><i> OpenFlags</i><b>;
&nbsp&nbsp<a href="BINKRECT_ARRAY.html" class=trn>BINKRECT_ARRAY</a></b><i> FrameRects</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> NumRects</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> NumTracks</i><b>;
};</b></pre>
</td>
</tr>
</table>
<h4>Out Members</h4>
<dl>
<dt><i>Width</i></dt>
<dd>Specifies the width of the Bink file.</dd>
<dt><i>Height</i></dt>
<dd>Specifies the height of the Bink file.</dd>
<dt><i>Frames</i></dt>
<dd>Specifies the number of frames in the Bink file.</dd>
<dt><i>FrameNum</i></dt>
<dd>Specifies the frame to be displayed of the Bink file.</dd>
<dt><i>FrameRate</i></dt>
<dd>Along with FrameRateDiv, specifies the frame rate of the Bink file. The frame rate is calculated by (bink->FrameRate/bink->FrameRateDiv). So, for example, at 15 fps, FrameRate would be 15 and FrameRateDiv would be 1.</dd>
<dt><i>FrameRateDiv</i></dt>
<dd>Specifies the frame rate divisor of the Bink file.</dd>
<dt><i>ReadError</i></dt>
<dd>set to non-zero if an IO error has occurred during playback.</dd>
<dt><i>OpenFlags</i></dt>
<dd>Specifies the flags currently being used by the open Bink file.</dd>
<dt><i>FrameRects</i></dt>
<dd>Returns the dirty rectangles from the last call to <a href="BinkGetRects.html">BinkGetRects</a>.</dd>
<dt><i>NumRects</i></dt>
<dd>Returns the number of dirty rectangles from the last call to <a href="BinkGetRects.html">BinkGetRects</a>.</dd>
<dt><i>NumTracks</i></dt>
<dd>Returns the number of audio tracks in the Bink file.</dd>
</dl>
<h4>Discussion</h4>
<p>The BINK structure is pointed to by the HBINK handle that is returned from <a href="BinkOpen.html">BinkOpen</a>. You can dereference the pointer to access any of these information fields. Note that you should <b>never</b> change any of these values!</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Audio Tracks in Bink.html">Audio Tracks in Bink</a>, <a href="Critical File I-O haq3ylyt.html">Critical File I/O handling in Bink</a><br>
<b>Related Functions:</b>
<a href="BinkGetRects.html">BinkGetRects</a>, <a href="BinkGetTrackID.html">BinkGetTrackID</a>, <a href="BinkMacOpen.html">BinkMacOpen</a>, <a href="BinkOpen.html">BinkOpen</a>, <a href="BinkOpenTrack.html">BinkOpenTrack</a><br>
<b>Related Basic Types:</b>
<a href="BINKRECT_ARRAY.html">BINKRECT_ARRAY</a>, <a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="HBINK.html">HBINK</a>, <a href="U32.html">U32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,81 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINKBUFFER</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="is a structure returned from BinkBufferOpen.">
<meta name="ms-hkwd" content="BINKBUFFER">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINKBUFFER</h1>
<p>The structure <b>BINKBUFFER</b> is a structure returned from BinkBufferOpen.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b>struct <a href="BINKBUFFER.html" class=trn>BINKBUFFER</a>
{
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Width</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Height</i><b>;
&nbsp&nbsp<a href="VOID_PTR.html" class=trn>VOID_PTR</a></b><i> Buffer</i><b>;
&nbsp&nbsp<a href="S32.html" class=trn>S32</a></b><i> BufferPitch</i><b>;
&nbsp&nbsp<a href="BINK_COPY_FLAGS.html" class=trn>BINK_COPY_FLAGS</a></b><i> SurfaceType</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> WindowWidth</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> WindowHeight</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> ScreenWidth</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> ScreenHeight</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> ScreenDepth</i><b>;
};</b></pre>
</td>
</tr>
</table>
<h4>Out Members</h4>
<dl>
<dt><i>Width</i></dt>
<dd>Specifies the width of the BinkBuffer.</dd>
<dt><i>Height</i></dt>
<dd>Specifies the height of the BinkBuffer.</dd>
<dt><i>Buffer</i></dt>
<dd>Specifies the address of the internal pixel buffer. This value is only valid inside of <a href="BinkBufferLock.html">BinkBufferLock</a> and <a href="BinkBufferUnlock.html">BinkBufferUnlock</a> function calls.</dd>
<dt><i>BufferPitch</i></dt>
<dd>Specifies the pitch in bytes of the internal pixel buffer. This value is only valid inside of <a href="BinkBufferLock.html">BinkBufferLock</a> and <a href="BinkBufferUnlock.html">BinkBufferUnlock</a> function calls.</dd>
<dt><i>SurfaceType</i></dt>
<dd>Specifies the flags that should be passed to <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> to copy into this BinkBuffer correctly.</dd>
<dt><i>WindowWidth</i></dt>
<dd>Specifies the width that you should set your window to - it takes into account alignment and the window style of the window that you pass to <a href="BinkBufferOpen.html">BinkBufferOpen</a>.</dd>
<dt><i>WindowHeight</i></dt>
<dd>Specifies the height that you should set your window to - it takes into account alignment and the window style of the window that you pass to <a href="BinkBufferOpen.html">BinkBufferOpen</a>.</dd>
<dt><i>ScreenWidth</i></dt>
<dd>Specifies the current width of the screen in pixels. This is useful to see if your resolution change request was successful.</dd>
<dt><i>ScreenHeight</i></dt>
<dd>Specifies the current height of the screen in pixels. This is useful to see if your resolution change request was successful.</dd>
<dt><i>ScreenDepth</i></dt>
<dd>Specifies the current color depth of the screen (8, 16, 24, or 32) in bits. This is useful to see if your resolution change request was successful.</dd>
</dl>
<h4>Discussion</h4>
<p>The BINKBUFFER structure is pointed to by the HBINKBUFFER handle that is returned from <a href="BinkBufferOpen.html">BinkBufferOpen</a>. You can dereference the pointer to access any of these information fields. Note that you should <b>never</b> change any of these values!</p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkBufferLock.html">BinkBufferLock</a>, <a href="BinkBufferOpen.html">BinkBufferOpen</a>, <a href="BinkBufferUnlock.html">BinkBufferUnlock</a>, <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a><br>
<b>Related Basic Types:</b>
<a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="HBINKBUFFER.html">HBINKBUFFER</a>, <a href="S32.html">S32</a>, <a href="U32.html">U32</a>, <a href="VOID_PTR.html">VOID_PTR</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,136 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINKBUFFER_OPEN_FLAGS</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="describes the type and capabilities of the BinkBuffer that you wish to open.">
<meta name="ms-hkwd" content="BINKBUFFER_OPEN_FLAGS">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINKBUFFER_OPEN_FLAGS</h1>
<p>The basic type <b>BINKBUFFER_OPEN_FLAGS</b> describes the type and capabilities of the BinkBuffer that you wish to open.</p>
<h4>Fundamental Values</h4>
<table class=list width=90%>
<tr valign=top class=list>
<th width=29% height=25 valign=middle class=list>&nbsp;Value</th>
<th width=71% height=25 valign=middle class=list>&nbsp;Description</th>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERAUTO" href="#BINKBUFFERAUTO" class=trn>&nbsp;BINKBUFFERAUTO</a></td>
<td width=71% height=25 valign=middle class=list>Chooses the best BinkBuffer blitting style available. On Win32, Bink will try to open each of the blitting styles from <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERPRIMARY">BINKBUFFERPRIMARY</a> to <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERRGBOFFSCREENSYSTEM">BINKBUFFERRGBOFFSCREENSYSTEM</a>, looking for the best blitting style that matches your resolution and scaling requirements. On MacOS, Bink will try the <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERDIRECT">BINKBUFFERDIRECT</a> and the <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERGWORLD">BINKBUFFERGWORLD</a>, looking for the best style that matches your specifications.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERPRIMARY" href="#BINKBUFFERPRIMARY" class=trn>&nbsp;BINKBUFFERPRIMARY</a></td>
<td width=71% height=25 valign=middle class=list><b>Win32:</b> Opens a BinkBuffer to the primary surface. This blitting style uses the built-in Bink YUV to RGB conversions, so it is guaranteed to look perfect - it just might be a little slower than hardware conversion styles. The primary surface blitting style is unable to perform any scaling or clipping (but you can use the 2x stretching flags as a parameter to <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> to get simple 2x stretching). <a href="BinkBufferBlit.html">BinkBufferBlit</a> doesn't have to do any work with this blitting style, because the pixels are put directly on-screen inside the <a href="BinkBufferLock.html">BinkBufferLock</a>/<a href="BinkBufferUnlock.html">BinkBufferUnlock</a> block).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERDIBSECTION" href="#BINKBUFFERDIBSECTION" class=trn>&nbsp;BINKBUFFERDIBSECTION</a></td>
<td width=71% height=25 valign=middle class=list><b>Win32:</b> Opens a BinkBuffer that is just a thin layer on top of a Windows DIBSection. This is the only blitting style that doesn't require DirectDraw. The BinkBuffer DIB will be created in the same format as the desktop for the fastest possible blitting. You can still use the <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERRESOLUTION">BINKBUFFERRESOLUTION</a> flag with this blit type - it will use ChangeDisplaySettings instead of DirectDraw to switch modes.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERYV12OVERLAY" href="#BINKBUFFERYV12OVERLAY" class=trn>&nbsp;BINKBUFFERYV12OVERLAY</a></td>
<td width=71% height=25 valign=middle class=list><b>Win32:</b> Opens a BinkBuffer to a YV12 overlay surface. This is the fastest possible blitting style, but it is also the rarest for a video card to support (some ATI and nVidia cards support it). This blitting style may or may not be able to perform scaling and clipping. <a href="BinkBufferBlit.html">BinkBufferBlit</a> doesn't copy the pixels to the screen with this blitting style, rather, it blits color-keyed pixels onto the screen (which causes the overlay pixels to show through). If the color-keyed pixels are already on the screen, then the converted pixels will appear as soon as they are written to inside the <a href="BinkBufferLock.html">BinkBufferLock</a>/<a href="BinkBufferUnlock.html">BinkBufferUnlock</a> block - just like the primary surface blitting style.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERUYVYOVERLAY" href="#BINKBUFFERUYVYOVERLAY" class=trn>&nbsp;BINKBUFFERUYVYOVERLAY</a></td>
<td width=71% height=25 valign=middle class=list>See next...</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERYUY2OVERLAY" href="#BINKBUFFERYUY2OVERLAY" class=trn>&nbsp;BINKBUFFERYUY2OVERLAY</a></td>
<td width=71% height=25 valign=middle class=list><b>Win32:</b> These two flags open a BinkBuffer to a YUY2 or UYVY overlay surface. These are the most common overlay surfaces and are supported by almost all video cards. This blitting style may or may not be able to perform scaling and clipping. <a href="BinkBufferBlit.html">BinkBufferBlit</a> doesn't copy the pixels to the screen with this blitting style, rather, it blits color-keyed pixels onto the screen (which causes the overlay pixels to show through). If the color-keyed pixels are already on the screen, then the converted pixels will appear as soon as they are written to inside the <a href="BinkBufferLock.html">BinkBufferLock</a>/<a href="BinkBufferUnlock.html">BinkBufferUnlock</a> block - just like the primary surface blitting style.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERYV12OFFSCREEN" href="#BINKBUFFERYV12OFFSCREEN" class=trn>&nbsp;BINKBUFFERYV12OFFSCREEN</a></td>
<td width=71% height=25 valign=middle class=list><b>Win32:</b> Opens a BinkBuffer to a YV12 off-screen buffer. With this blitting style, the video driver converts the YUV data to RGB during the blitting stage. This blitting style may or may not perform scaling or clipping. <a href="BinkBufferBlit.html">BinkBufferBlit</a> copies the pixels onto the screen - the <a href="BinkBufferLock.html">BinkBufferLock</a>/<a href="BinkBufferUnlock.html">BinkBufferUnlock</a> block just loads the Bink pixels into the off-screen buffer. The Bink software blitters are usually faster than this blitting style.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERUYVYOFFSCREEN" href="#BINKBUFFERUYVYOFFSCREEN" class=trn>&nbsp;BINKBUFFERUYVYOFFSCREEN</a></td>
<td width=71% height=25 valign=middle class=list>See next...</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERYUY2OFFSCREEN" href="#BINKBUFFERYUY2OFFSCREEN" class=trn>&nbsp;BINKBUFFERYUY2OFFSCREEN</a></td>
<td width=71% height=25 valign=middle class=list><b>Win32:</b> These two flags open a BinkBuffer to a YUY2 or UYVY off-screen buffer. With this blitting style, the video driver converts the YUV data to RGB during the blitting stage. This blitting style may or may not perform scaling or clipping. <a href="BinkBufferBlit.html">BinkBufferBlit</a> copies the pixels onto the screen - the <a href="BinkBufferLock.html">BinkBufferLock</a>/<a href="BinkBufferUnlock.html">BinkBufferUnlock</a> block just loads the Bink pixels into the off-screen buffer. Pretty much all video cards support at least this level of hardware YUV to RGB conversion. The Bink software blitters are usually faster than this blitting style.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERRGBOFFSCREENVIDEO" href="#BINKBUFFERRGBOFFSCREENVIDEO" class=trn>&nbsp;BINKBUFFERRGBOFFSCREENVIDEO</a></td>
<td width=71% height=25 valign=middle class=list><b>Win32:</b> Opens a BinkBuffer to an off-screen RGB buffer that resides in the video card RAM. With this blitting style, Bink converts the YUV data to an off-screen RGB format. This blitting style is almost always able to perform scaling and clipping. <a href="BinkBufferBlit.html">BinkBufferBlit</a> copies the pixels onto the screen - the <a href="BinkBufferLock.html">BinkBufferLock</a>/<a href="BinkBufferUnlock.html">BinkBufferUnlock</a> block just gets the RGB Bink pixels into the off-screen buffer.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERRGBOFFSCREENSYSTEM" href="#BINKBUFFERRGBOFFSCREENSYSTEM" class=trn>&nbsp;BINKBUFFERRGBOFFSCREENSYSTEM</a></td>
<td width=71% height=25 valign=middle class=list><b>Win32:</b> Opens a BinkBuffer to an off-screen RGB buffer that resides in the system card RAM. With this blitting style, Bink converts the YUV data to an off-screen RGB format in system memory. This blitting style supports scaling and clipping, but it is the slowest of all of the blitting styles. <a href="BinkBufferBlit.html">BinkBufferBlit</a> copies the pixels onto the screen - the <a href="BinkBufferLock.html">BinkBufferLock</a>/<a href="BinkBufferUnlock.html">BinkBufferUnlock</a> block just gets the RGB Bink pixels into the off-screen buffer. You should almost always use the <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERDIBSECTION">BINKBUFFERDIBSECTION</a> style instead of this option - it will have the same or better capabilities and is more more widely compatible.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERDIRECT" href="#BINKBUFFERDIRECT" class=trn>&nbsp;BINKBUFFERDIRECT</a></td>
<td width=71% height=25 valign=middle class=list><b>MacOS:</b> Opens a BinkBuffer in direct-to-screen mode. This blitting style uses the built-in Bink YUV to RGB conversions, so it is guaranteed to look perfect and will run very fast. The direct-to-screen blitting style is unable to perform any scaling or clipping (but you can use the 2x stretching flags as a parameter to <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> to get simple 2x stretching). <a href="BinkBufferBlit.html">BinkBufferBlit</a> doesn't have to do any work with this blitting style, because the pixels are put directly on-screen inside the <a href="BinkBufferLock.html">BinkBufferLock</a>/<a href="BinkBufferUnlock.html">BinkBufferUnlock</a> block).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERGWORLD" href="#BINKBUFFERGWORLD" class=trn>&nbsp;BINKBUFFERGWORLD</a></td>
<td width=71% height=25 valign=middle class=list><b>MacOS:</b> Opens a BinkBuffer to a standard MacOS GWorld graphics buffer. This blitting style is the most compatible on MacOS machines, but it will be slower than BINKBUFFERDIRECT. This blitting style is capable of both clipping and scaling. With this blitting style, <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> copies into the GWorld and you use <a href="BinkBufferBlit.html">BinkBufferBlit</a> to blit the pixels onto the screen.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERRESOLUTION" href="#BINKBUFFERRESOLUTION" class=trn>&nbsp;BINKBUFFERRESOLUTION</a></td>
<td width=71% height=25 valign=middle class=list>Add this flag to one of the above blitting styles to force Bink to switch video mode resolutions when the BinkBuffer is opened. You must call the <a href="BinkBufferSetResolution.html">BinkBufferSetResolution</a> function before using this flag to tell Bink what resolution to switch into. Note that the BinkBuffer will still be opened even if Bink was unable to switch to your requested mode. You should examine the ScreenWidth, ScreenHeight and ScreenDepth fields of the BinkBuffer structure to see if your requested mode was successfully set.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERSTRETCHXINT" href="#BINKBUFFERSTRETCHXINT" class=trn>&nbsp;BINKBUFFERSTRETCHXINT</a></td>
<td width=71% height=25 valign=middle class=list>See next...</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERSTRETCHX" href="#BINKBUFFERSTRETCHX" class=trn>&nbsp;BINKBUFFERSTRETCHX</a></td>
<td width=71% height=25 valign=middle class=list>See next...</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERSHRINKXINT" href="#BINKBUFFERSHRINKXINT" class=trn>&nbsp;BINKBUFFERSHRINKXINT</a></td>
<td width=71% height=25 valign=middle class=list>See next...</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERSHRINKX" href="#BINKBUFFERSHRINKX" class=trn>&nbsp;BINKBUFFERSHRINKX</a></td>
<td width=71% height=25 valign=middle class=list>Add one or more of these flags to request the type of X (width) stretching and/or shrinking that you require. The flags with "INT" on the end mean integral stretching or shrinking (a 2x zoom, or a half-size shrink, for example). Many cards can only do integral scaling, so be sure to use the integral flag if that's all you need, or the BinkBuffer could otherwise fail to open.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERSTRETCHYINT" href="#BINKBUFFERSTRETCHYINT" class=trn>&nbsp;BINKBUFFERSTRETCHYINT</a></td>
<td width=71% height=25 valign=middle class=list>See next...</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERSTRETCHY" href="#BINKBUFFERSTRETCHY" class=trn>&nbsp;BINKBUFFERSTRETCHY</a></td>
<td width=71% height=25 valign=middle class=list>See next...</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERSHRINKYINT" href="#BINKBUFFERSHRINKYINT" class=trn>&nbsp;BINKBUFFERSHRINKYINT</a></td>
<td width=71% height=25 valign=middle class=list>See next...</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKBUFFERSHRINKY" href="#BINKBUFFERSHRINKY" class=trn>&nbsp;BINKBUFFERSHRINKY</a></td>
<td width=71% height=25 valign=middle class=list>Add one or more of these flags to request the type of Y (height) stretching and/or shrinking that you require. The flags with "INT" on the end mean integral stretching or shrinking (a 2x zoom, or a half-size shrink, for example). Many cards can only do integral scaling, so be sure to use the integral flag if that's all you need, or the BinkBuffer could otherwise fail to open.</td>
</tr>
</table>
<h4>Discussion</h4>
<p>Use these flags as the open_flags parameter in the <a href="BinkBufferOpen.html">BinkBufferOpen</a> function. They specify the type and capabilities of the YUV blitting buffer that you require. Note that if you don't specify any of the various scaling flags, then you might still get a blitting style that allows scaling with <a href="BinkBufferSetScale.html">BinkBufferSetScale</a> function - <b>but probably not!</b> So, if you know that you're going to be scaling, then you should always use one of the scaling flags when calling <a href="BinkBufferOpen.html">BinkBufferOpen</a>.</p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Sections:</b>
<a href="Locking and Unlocking.html">Locking and Unlocking</a>, <a href="Scaling.html">Scaling</a><br>
<b>Related Functions:</b>
<a href="BinkBufferBlit.html">BinkBufferBlit</a>, <a href="BinkBufferGetDescription.html">BinkBufferGetDescription</a>, <a href="BinkBufferLock.html">BinkBufferLock</a>, <a href="BinkBufferOpen.html">BinkBufferOpen</a>, <a href="BinkBufferSetResolution.html">BinkBufferSetResolution</a>, <a href="BinkBufferSetScale.html">BinkBufferSetScale</a>, <a href="BinkBufferUnlock.html">BinkBufferUnlock</a>, <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a><br>
<b>Related Basic Types:</b>
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,93 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINKREALTIME</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="is a structure used to return realtime playback information from BinkGetRealtime.">
<meta name="ms-hkwd" content="BINKREALTIME">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINKREALTIME</h1>
<p>The structure <b>BINKREALTIME</b> is a structure used to return realtime playback information from BinkGetRealtime.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b>struct <a href="BINKREALTIME.html" class=trn>BINKREALTIME</a>
{
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameNum</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameRate</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameRateDiv</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Frames</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FramesTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameVideoDecompTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameAudioDecompTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameReadTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameIdleReadTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameThreadReadTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FramesBlitTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> ReadBufferSize</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> ReadBufferUsed</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FramesDataRate</i><b>;
};</b></pre>
</td>
</tr>
</table>
<h4>Out Members</h4>
<dl>
<dt><i>FrameNum</i></dt>
<dd>Specifies the current frame number.</dd>
<dt><i>FrameRate</i></dt>
<dd>Along with FrameRateDiv, specifies the frame rate of the Bink file. The frame rate is calculated by (realtime->FrameRate/realtime->FrameRateDiv). So, for example, at 15 fps, FrameRate would be 15 and FrameRateDiv would be 1.</dd>
<dt><i>FrameRateDiv</i></dt>
<dd>Specifies the frame rate divisor of the Bink file.</dd>
<dt><i>Frames</i></dt>
<dd>Specifies the number of frames in the frame window.</dd>
<dt><i>FramesTime</i></dt>
<dd>Specifies the total time that the frame window covers (in milliseconds).</dd>
<dt><i>FrameVideoDecompTime</i></dt>
<dd>Specifies the amount of time spent decompressing the video inside the frame window.</dd>
<dt><i>FrameAudioDecompTime</i></dt>
<dd>Specifies the amount of time spent decompressing the audio inside the frame window.</dd>
<dt><i>FrameReadTime</i></dt>
<dd>Specifies the amount of time spent reading from the device in the foreground inside the frame window.</dd>
<dt><i>FrameIdleReadTime</i></dt>
<dd>Specifies the amount of time spent reading from the device during idle time inside the frame window.</dd>
<dt><i>FrameThreadReadTime</i></dt>
<dd>Specifies the amount of time spent reading from the device in the background thread inside the frame window.</dd>
<dt><i>FramesBlitTime</i></dt>
<dd>Specifies the amount of time spent blitting to the screen inside the frame window.</dd>
<dt><i>ReadBufferSize</i></dt>
<dd>Specifies the current maximum IO buffer size in bytes.</dd>
<dt><i>ReadBufferUsed</i></dt>
<dd>Specifies the current IO buffer size that is preloaded (divide this value by ReadBufferSize for a percent-full indicator).</dd>
<dt><i>FramesDataRate</i></dt>
<dd>Specifies the current frame window data rate in bytes per second.</dd>
</dl>
<h4>Discussion</h4>
<p>The BINKREALTIME structure is used in the <a href="BinkGetRealtime.html">BinkGetRealtime</a> function. It returns the realtime playback statistics of a playing Bink file.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkGetRealtime.html">BinkGetRealtime</a><br>
<b>Related Basic Types:</b>
<a href="U32.html">U32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINKRECT</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="is a structure describing a rectangular area.">
<meta name="ms-hkwd" content="BINKRECT">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINKRECT</h1>
<p>The structure <b>BINKRECT</b> is a structure describing a rectangular area.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b>struct <a href="BINKRECT.html" class=trn>BINKRECT</a>
{
&nbsp&nbsp<a href="S32.html" class=trn>S32</a></b><i> Left</i><b>;
&nbsp&nbsp<a href="S32.html" class=trn>S32</a></b><i> Top</i><b>;
&nbsp&nbsp<a href="S32.html" class=trn>S32</a></b><i> Width</i><b>;
&nbsp&nbsp<a href="S32.html" class=trn>S32</a></b><i> Height</i><b>;
};</b></pre>
</td>
</tr>
</table>
<h4>Out Members</h4>
<dl>
<dt><i>Left</i></dt>
<dd>Specifies the left coordinate (zero-based).</dd>
<dt><i>Top</i></dt>
<dd>Specifies the top coordinate (zero-based).</dd>
<dt><i>Width</i></dt>
<dd>Specifies the width of the rectangle (one-based).</dd>
<dt><i>Height</i></dt>
<dd>Specifies the height of the rectangle (one-based).</dd>
</dl>
<p>
<br>
<b>Group:</b>
<a href="Basic Types.html">Basic Types</a><br>
<b>Related Basic Types:</b>
<a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,37 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINKRECT_ARRAY</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="is an array of structures describing rectangular areas.">
<meta name="ms-hkwd" content="BINKRECT_ARRAY">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINKRECT_ARRAY</h1>
<p>The basic type <b>BINKRECT_ARRAY</b> is an array of structures describing rectangular areas.</p>
<p>
<br>
<b>Group:</b>
<a href="Basic Types.html">Basic Types</a><br>
<b>Related Functions:</b>
<a href="BinkBufferBlit.html">BinkBufferBlit</a><br>
<b>Related Structures:</b>
<a href="BINK.html">BINK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,144 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINKSUMMARY</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="is a structure used to return playback summary information from BinkGetSummary.">
<meta name="ms-hkwd" content="BINKSUMMARY">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINKSUMMARY</h1>
<p>The structure <b>BINKSUMMARY</b> is a structure used to return playback summary information from BinkGetSummary.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b>struct <a href="BINKSUMMARY.html" class=trn>BINKSUMMARY</a>
{
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Width</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Height</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FileFrameRate</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FileFrameRateDiv</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameRate</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> FrameRateDiv</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalOpenTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalFrames</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalPlayedFrames</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> SkippedFrames</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> SkippedBlits</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> SoundSkips</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalBlitTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalReadTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalVideoDecompTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalAudioDecompTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalIdleReadTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalBackReadTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalReadSpeed</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> SlowestFrameTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Slowest2FrameTime</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> SlowestFrameNum</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Slowest2FrameNum</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> AverageDataRate</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> AverageFrameSize</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> HighestMemAmount</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> TotalIOMemory</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> HighestIOUsed</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Highest1SecRate</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Highest1SecFrame</i><b>;
};</b></pre>
</td>
</tr>
</table>
<h4>Out Members</h4>
<dl>
<dt><i>Width</i></dt>
<dd>Specifies the width of the Bink file.</dd>
<dt><i>Height</i></dt>
<dd>Specifies the height of the Bink file.</dd>
<dt><i>TotalTime</i></dt>
<dd>Specifies the total playback time (in milliseconds).</dd>
<dt><i>FileFrameRate</i></dt>
<dd>Along with FileFrameRateDiv, specifies the original frame rate of the Bink file. The frame rate is calculated by (summary->FileFrameRate/summary->FileFrameRateDiv). The file frame rate is the frame rate of the file before you overrode the frame rate with <a href="BinkSetFrameRate.html">BinkSetFrameRate</a>.</dd>
<dt><i>FileFrameRateDiv</i></dt>
<dd>Specifies the original frame rate divisor of the Bink file.</dd>
<dt><i>FrameRate</i></dt>
<dd>Along with FrameRateDiv, specifies the frame rate of the Bink file. The frame rate is calculated by (summary->FrameRate/summary->FrameRateDiv).</dd>
<dt><i>FrameRateDiv</i></dt>
<dd>Specifies the frame rate divisor of the Bink file.</dd>
<dt><i>TotalOpenTime</i></dt>
<dd>Specifies the time to open and prepare the Bink file for decompression.</dd>
<dt><i>TotalFrames</i></dt>
<dd>Specifies the number of frames in the Bink file.</dd>
<dt><i>TotalPlayedFrames</i></dt>
<dd>Specifies the number of frames played.</dd>
<dt><i>SkippedFrames</i></dt>
<dd>Specifies the number of frames that had to be skipped during playback.</dd>
<dt><i>SkippedBlits</i></dt>
<dd>Specifies the number of blitting stages that had to be skipped during playback.</dd>
<dt><i>SoundSkips</i></dt>
<dd>Specifies the number of times that the sound dropped out during playback.</dd>
<dt><i>TotalBlitTime</i></dt>
<dd>Specifies the time spent blitting (in milliseconds).</dd>
<dt><i>TotalReadTime</i></dt>
<dd>Specifies the time spent reading in the foreground (in milliseconds).</dd>
<dt><i>TotalVideoDecompTime</i></dt>
<dd>Specifies the time spent decompressing the video (in milliseconds).</dd>
<dt><i>TotalAudioDecompTime</i></dt>
<dd>Specifies the time spent decompressing the audio (in milliseconds).</dd>
<dt><i>TotalIdleReadTime</i></dt>
<dd>Specifies the time spent reading at idle time (in milliseconds).</dd>
<dt><i>TotalBackReadTime</i></dt>
<dd>Specifies the time spent reading in the background thread (in milliseconds).</dd>
<dt><i>TotalReadSpeed</i></dt>
<dd>Specifies the device reading IO speed (in bytes/second).</dd>
<dt><i>SlowestFrameTime</i></dt>
<dd>Specifies the slowest single frame time (in milliseconds).</dd>
<dt><i>Slowest2FrameTime</i></dt>
<dd>Specifies the second-slowest single frame time (in milliseconds).</dd>
<dt><i>SlowestFrameNum</i></dt>
<dd>Specifies the slowest single frame number.</dd>
<dt><i>Slowest2FrameNum</i></dt>
<dd>Specifies the second-slowest single frame number.</dd>
<dt><i>AverageDataRate</i></dt>
<dd>Specifies the average data rate of the movie (in bytes/second).</dd>
<dt><i>AverageFrameSize</i></dt>
<dd>Specifies the average size of the frames (in bytes).</dd>
<dt><i>HighestMemAmount</i></dt>
<dd>Specifies the highest amount of memory allocated at one time during playback (in bytes).</dd>
<dt><i>TotalIOMemory</i></dt>
<dd>Specifies the size of the IO buffer used to read ahead in the Bink file (in bytes).</dd>
<dt><i>HighestIOUsed</i></dt>
<dd>Specifies the highest level that the read ahead IO buffer was filled to (in bytes).</dd>
<dt><i>Highest1SecRate</i></dt>
<dd>Specifies the highest one second data rate in the Bink file (in bytes/second).</dd>
<dt><i>Highest1SecFrame</i></dt>
<dd>Specifies the starting frame of the highest one second data rate in the Bink file.</dd>
</dl>
<h4>Discussion</h4>
<p>The BINKSUMMARY structure is used in the <a href="BinkGetSummary.html">BinkGetSummary</a> function. It returns the playback statistics of a complete playback of a Bink file.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkGetSummary.html">BinkGetSummary</a>, <a href="BinkSetFrameRate.html">BinkSetFrameRate</a><br>
<b>Related Basic Types:</b>
<a href="U32.html">U32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,63 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINKTRACK</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="is a structure returned from BinkOpenTrack.">
<meta name="ms-hkwd" content="BINKTRACK">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINKTRACK</h1>
<p>The structure <b>BINKTRACK</b> is a structure returned from BinkOpenTrack.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b>struct <a href="BINKTRACK.html" class=trn>BINKTRACK</a>
{
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Frequency</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Bits</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> Channels</i><b>;
&nbsp&nbsp<a href="U32.html" class=trn>U32</a></b><i> MaxSize</i><b>;
};</b></pre>
</td>
</tr>
</table>
<h4>Out Members</h4>
<dl>
<dt><i>Frequency</i></dt>
<dd>Specifies the sound frequency of the audio track.</dd>
<dt><i>Bits</i></dt>
<dd>Specifies the bit depth of the audio track (8 or 16).</dd>
<dt><i>Channels</i></dt>
<dd>Specifies the number of channels in the audio track (1 = mono, 2 = stereo).</dd>
<dt><i>MaxSize</i></dt>
<dd>Specifies the maximum amount of sound data in bytes that is stored in any one video frame of the movie (usually frame 1). You need to allocate this large of a buffer for the destination address passed to <a href="BinkGetTrackData.html">BinkGetTrackData</a>.</dd>
</dl>
<h4>Discussion</h4>
<p>The BINKTRACK structure is pointed to by the HBINKTRACK handle that is returned from <a href="BinkOpenTrack.html">BinkOpenTrack</a>. You can dereference the pointer to access any of these information fields. Note that you should <b>never</b> change any of these values!</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkGetTrackData.html">BinkGetTrackData</a>, <a href="BinkOpenTrack.html">BinkOpenTrack</a><br>
<b>Related Basic Types:</b>
<a href="HBINKTRACK.html">HBINKTRACK</a>, <a href="U32.html">U32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,94 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINK_CONVERTER_FLAGS</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="Specifies the class of Bink YUV converters to load or unload.">
<meta name="ms-hkwd" content="BINK_CONVERTER_FLAGS">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINK_CONVERTER_FLAGS</h1>
<p>The basic type <b>BINK_CONVERTER_FLAGS</b> Specifies the class of Bink YUV converters to load or unload.</p>
<h4>Fundamental Values</h4>
<table class=list width=90%>
<tr valign=top class=list>
<th width=29% height=25 valign=middle class=list>&nbsp;Value</th>
<th width=71% height=25 valign=middle class=list>&nbsp;Description</th>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCONVERTERSALL" href="#BINKCONVERTERSALL" class=trn>&nbsp;BINKCONVERTERSALL</a></td>
<td width=71% height=25 valign=middle class=list>Loads or unloads <b>all</b> of the Bink YUV converters.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE32" href="#BINKSURFACE32" class=trn>&nbsp;BINKSURFACE32</a></td>
<td width=71% height=25 valign=middle class=list>32-bit native RGB data (on Win32: BGRxBGRx, etc; on MacOS: xRGBxRGB, etc).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE32A" href="#BINKSURFACE32A" class=trn>&nbsp;BINKSURFACE32A</a></td>
<td width=71% height=25 valign=middle class=list>32-bit native RGB data with alpha (On Win32: BGRABGRA, etc).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE32R" href="#BINKSURFACE32R" class=trn>&nbsp;BINKSURFACE32R</a></td>
<td width=71% height=25 valign=middle class=list>32-bit reversed RGB data (RGBxRGBx, etc). This surface type isn't supported on Xbox.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE32RA" href="#BINKSURFACE32RA" class=trn>&nbsp;BINKSURFACE32RA</a></td>
<td width=71% height=25 valign=middle class=list>32-bit reversed RGB data with alpha (RGBARGBA, etc). In OpenGL, this is GL_RGBA. This surface type isn't supported on Xbox.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE555" href="#BINKSURFACE555" class=trn>&nbsp;BINKSURFACE555</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 555 RGB high-color surface.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE565" href="#BINKSURFACE565" class=trn>&nbsp;BINKSURFACE565</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 565 RGB high-color surface.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE655" href="#BINKSURFACE655" class=trn>&nbsp;BINKSURFACE655</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 655 RGB high-color surface.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE664" href="#BINKSURFACE664" class=trn>&nbsp;BINKSURFACE664</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 664 RGB high-color surface.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE4444" href="#BINKSURFACE4444" class=trn>&nbsp;BINKSURFACE4444</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 4444 RGB high-color surface with alpha.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE5551" href="#BINKSURFACE5551" class=trn>&nbsp;BINKSURFACE5551</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 5551 RGB high-color surface with one bit alpha.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCONVERTERSMONO" href="#BINKCONVERTERSMONO" class=trn>&nbsp;BINKCONVERTERSMONO</a></td>
<td width=71% height=25 valign=middle class=list>Used with one of the surface flags to test Bink to unload or load the monochrome version of the converter too.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCONVERTERS2X" href="#BINKCONVERTERS2X" class=trn>&nbsp;BINKCONVERTERS2X</a></td>
<td width=71% height=25 valign=middle class=list>Used with one of the surface flags to test Bink to unload or load the 2x width version of the converter too.</td>
</tr>
</table>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkLoadConverter.html">BinkLoadConverter</a>, <a href="BinkUnloadConverter.html">BinkUnloadConverter</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,154 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINK_COPY_FLAGS</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="describes the destination buffer type as well as special or unusual ways of converting Bink's internal YUV data.">
<meta name="ms-hkwd" content="BINK_COPY_FLAGS">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINK_COPY_FLAGS</h1>
<p>The basic type <b>BINK_COPY_FLAGS</b> describes the destination buffer type as well as special or unusual ways of converting Bink's internal YUV data.</p>
<h4>Fundamental Values</h4>
<table class=list width=90%>
<tr valign=top class=list>
<th width=29% height=25 valign=middle class=list>&nbsp;Value</th>
<th width=71% height=25 valign=middle class=list>&nbsp;Description</th>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE24" href="#BINKSURFACE24" class=trn>&nbsp;BINKSURFACE24</a></td>
<td width=71% height=25 valign=middle class=list>24-bit RGB data (BGRBGR, etc). This surface type isn't supported on MacOS, Xbox, or GameCube.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE32" href="#BINKSURFACE32" class=trn>&nbsp;BINKSURFACE32</a></td>
<td width=71% height=25 valign=middle class=list>32-bit native RGB data (on x86: BGRxBGRx, etc; on PPC: xRGBxRGB, etc). On GameCube, this format is swizzled.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE32A" href="#BINKSURFACE32A" class=trn>&nbsp;BINKSURFACE32A</a></td>
<td width=71% height=25 valign=middle class=list>32-bit native RGB data with alpha (On Win32: BGRABGRA, etc). On GameCube, this format is swizzled.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE24R" href="#BINKSURFACE24R" class=trn>&nbsp;BINKSURFACE24R</a></td>
<td width=71% height=25 valign=middle class=list>24-bit reversed RGB data (RGBRGB, etc). This surface type isn't supported on MacOS, Xbox, or GameCube.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE32R" href="#BINKSURFACE32R" class=trn>&nbsp;BINKSURFACE32R</a></td>
<td width=71% height=25 valign=middle class=list>32-bit reversed RGB data (RGBxRGBx, etc). This surface type isn't supported on Xbox, or GameCube.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE32RA" href="#BINKSURFACE32RA" class=trn>&nbsp;BINKSURFACE32RA</a></td>
<td width=71% height=25 valign=middle class=list>32-bit reversed RGB data with alpha (RGBARGBA, etc). In OpenGL, this is GL_RGBA. This surface type isn't supported on Xbox, or GameCube.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE555" href="#BINKSURFACE555" class=trn>&nbsp;BINKSURFACE555</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 555 RGB high-color surface. On GameCube, this format is swizzled.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE565" href="#BINKSURFACE565" class=trn>&nbsp;BINKSURFACE565</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 565 RGB high-color surface. On GameCube, this format is swizzled.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE655" href="#BINKSURFACE655" class=trn>&nbsp;BINKSURFACE655</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 655 RGB high-color surface. On GameCube, this format is swizzled.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE664" href="#BINKSURFACE664" class=trn>&nbsp;BINKSURFACE664</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 664 RGB high-color surface. On GameCube, this format is swizzled.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE4444" href="#BINKSURFACE4444" class=trn>&nbsp;BINKSURFACE4444</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 4444 RGB high-color surface with alpha. On GameCube, this is actually 4443 format (3-bits of alpha) and is swizzled.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACE5551" href="#BINKSURFACE5551" class=trn>&nbsp;BINKSURFACE5551</a></td>
<td width=71% height=25 valign=middle class=list>16-bit 5551 RGB high-color surface with one bit alpha. On GameCube, this format is swizzled.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACEYUY2" href="#BINKSURFACEYUY2" class=trn>&nbsp;BINKSURFACEYUY2</a></td>
<td width=71% height=25 valign=middle class=list>YUY2 format surface (YUYVYUYV, etc.) - effective 16-bits per pixel. This surface type isn't supported on MacOS. On GameCube, this format is <b>not</b> swizzled, so you can use it to copy directly to the video back buffer.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACEUYVY" href="#BINKSURFACEUYVY" class=trn>&nbsp;BINKSURFACEUYVY</a></td>
<td width=71% height=25 valign=middle class=list>UYVY format surface (UYVYUYVY, etc.) - effective 16-bits per pixel. This surface type isn't supported on MacOS, Xbox, or GameCube.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACEYV12" href="#BINKSURFACEYV12" class=trn>&nbsp;BINKSURFACEYV12</a></td>
<td width=71% height=25 valign=middle class=list>YV12 format planar surface (complete Y plane, complete U plane, complete V plane) - effective 12-bits per pixel (Bink's native internal format). This surface type isn't supported on Xbox.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPYALL" href="#BINKCOPYALL" class=trn>&nbsp;BINKCOPYALL</a></td>
<td width=71% height=25 valign=middle class=list>Copy all of the pixels to the destination buffer, not just the pixels that changed. Normally, Bink will try to copy just the pixels that changed into the destination buffer - this flag causes Bink to re-copy every pixel over to the destination buffer.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKGRAYSCALE" href="#BINKGRAYSCALE" class=trn>&nbsp;BINKGRAYSCALE</a></td>
<td width=71% height=25 valign=middle class=list>This flag tells Bink that you want to convert the pixels in grayscale mode. Grayscale mode is much faster in blitting, but it can be even faster when we skip the decompression. Therefore, you should usually use this flag in <a href="BinkOpen.html">BinkOpen</a> instead of <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a>, so you get the benefit of the faster decompression too. If you compressed the Bink file in grayscale mode, then this flag will automatically be set.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKNOSKIP" href="#BINKNOSKIP" class=trn>&nbsp;BINKNOSKIP</a></td>
<td width=71% height=25 valign=middle class=list>Bink will skip the copy step if the video begins to fall behind the audio. Bink won't skip copying at all if the Bink file contains no audio, or if you use this flag. This flag is useful when you want the video quality to have precedence over the sound quality (good for cartoon-style animations).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XH" href="#BINKCOPY2XH" class=trn>&nbsp;BINKCOPY2XH</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to convert the video in 2x height doubled mode. This will cause each line to be duplicated (which will double the height). If the video was compressed in 2x height doubled mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XHI" href="#BINKCOPY2XHI" class=trn>&nbsp;BINKCOPY2XHI</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to convert the video in 2x height interlaced mode. This will cause the video to be expanded to every other scanline (which will double the height). If the video was compressed in interlaced mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XW" href="#BINKCOPY2XW" class=trn>&nbsp;BINKCOPY2XW</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to convert the video in 2x width doubled mode. This will cause each pixel to be duplicated (which will double the width). If the video was compressed in 2x width doubled mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XWH" href="#BINKCOPY2XWH" class=trn>&nbsp;BINKCOPY2XWH</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to convert the video in 2x width and height doubled mode. This will cause each line and each pixel to be duplicated (which will double both the width and height). If the video was compressed in 2x width and height doubled mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XWHI" href="#BINKCOPY2XWHI" class=trn>&nbsp;BINKCOPY2XWHI</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to convert the video in 2x width doubled and height interlaced mode. This will cause each pixel to be duplicated and every other scanline to be skipped (which will double both the width and height). If the video was compressed in 2x width and height interlaced mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY1XI" href="#BINKCOPY1XI" class=trn>&nbsp;BINKCOPY1XI</a></td>
<td width=71% height=25 valign=middle class=list>This copy flag tells Bink to convert the movie in normal 1x mode, but to only copy ever other scanline during playback. This saves half the time of a normal frame copy, so it is useful on under-powered machines.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPYNOSCALING" href="#BINKCOPYNOSCALING" class=trn>&nbsp;BINKCOPYNOSCALING</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to convert the video without any doubling or interlacing. Use this flag to counteract the automatic effect of a video compressed in one of the interlaced or doubled modes.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKNOMMX" href="#BINKNOMMX" class=trn>&nbsp;BINKNOMMX</a></td>
<td width=71% height=25 valign=middle class=list>This flag tells Bink not to use MMX while when converting colorspaces. Bink runs much slower without MMX, so you will usually just want to leave this flag alone. This flag isn't supported on Xbox - MMX is always used when running on the Xbox.</td>
</tr>
</table>
<h4>Discussion</h4>
<p>The copy flags passed to <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> perform two services. First, they tell Bink what kind of surface you are copying into. And second, they allow you to change the copying style and options during playback instead of just at <a href="BinkOpen.html">BinkOpen</a> time. If you are using BinkBuffers, you will usually use the bink_buf->SurfaceType for the copy_flags parameter. If you are using DirectDraw or DirectX 8, then you will usually use the value returned from <a href="BinkDDSurfaceType.html">BinkDDSurfaceType</a> or <a href="BinkDX8SurfaceType.html">BinkDX8SurfaceType</a>. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a>, <a href="Scaling.html">Scaling</a><br>
<b>Related Functions:</b>
<a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a>, <a href="BinkCopyToBufferRect.html">BinkCopyToBufferRect</a>, <a href="BinkDDSurfaceType.html">BinkDDSurfaceType</a>, <a href="BinkDX8SurfaceType.html">BinkDX8SurfaceType</a>, <a href="BinkGDSurfaceType.html">BinkGDSurfaceType</a>, <a href="BinkLoadConverter.html">BinkLoadConverter</a>, <a href="BinkOpen.html">BinkOpen</a>, <a href="BinkUnloadConverter.html">BinkUnloadConverter</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a><br>
<b>Related Structures:</b>
<a href="BINKBUFFER.html">BINKBUFFER</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINK_GETKEY_FLAGS</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="Specifies the type of key frame search to perform.">
<meta name="ms-hkwd" content="BINK_GETKEY_FLAGS">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINK_GETKEY_FLAGS</h1>
<p>The basic type <b>BINK_GETKEY_FLAGS</b> Specifies the type of key frame search to perform.</p>
<h4>Fundamental Values</h4>
<table class=list width=90%>
<tr valign=top class=list>
<th width=29% height=25 valign=middle class=list>&nbsp;Value</th>
<th width=71% height=25 valign=middle class=list>&nbsp;Description</th>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKGETKEYPREVIOUS" href="#BINKGETKEYPREVIOUS" class=trn>&nbsp;BINKGETKEYPREVIOUS</a></td>
<td width=71% height=25 valign=middle class=list>Finds the first key frame before or equal to frame.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKGETKEYNEXT" href="#BINKGETKEYNEXT" class=trn>&nbsp;BINKGETKEYNEXT</a></td>
<td width=71% height=25 valign=middle class=list>Finds the first key frame after or equal to frame.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKGETKEYCLOSEST" href="#BINKGETKEYCLOSEST" class=trn>&nbsp;BINKGETKEYCLOSEST</a></td>
<td width=71% height=25 valign=middle class=list>Find the key frame closest or equal to frame (searches before and after).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKGETKEYNOTEQUAL" href="#BINKGETKEYNOTEQUAL" class=trn>&nbsp;BINKGETKEYNOTEQUAL</a></td>
<td width=71% height=25 valign=middle class=list>You use this flag OR-ed with one of the other flags to tell Bink not to return a key frame equal to your specified frame.</td>
</tr>
</table>
<h4>Discussion</h4>
<p>These flags are used with the <a href="BinkGetKeyFrame.html">BinkGetKeyFrame</a> function to specify which type of key frame search that you wish to perform. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkGetKeyFrame.html">BinkGetKeyFrame</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,56 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINK_GETRECTS_FLAGS</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="Specifies the type of rectangle list you'd prefer from the BinkGetRects function.">
<meta name="ms-hkwd" content="BINK_GETRECTS_FLAGS">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINK_GETRECTS_FLAGS</h1>
<p>The basic type <b>BINK_GETRECTS_FLAGS</b> Specifies the type of rectangle list you'd prefer from the BinkGetRects function.</p>
<h4>Fundamental Values</h4>
<table class=list width=90%>
<tr valign=top class=list>
<th width=29% height=25 valign=middle class=list>&nbsp;Value</th>
<th width=71% height=25 valign=middle class=list>&nbsp;Description</th>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACEFAST" href="#BINKSURFACEFAST" class=trn>&nbsp;BINKSURFACEFAST</a></td>
<td width=71% height=25 valign=middle class=list>Return lots of little rectangles (for fast blitters).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACESLOW" href="#BINKSURFACESLOW" class=trn>&nbsp;BINKSURFACESLOW</a></td>
<td width=71% height=25 valign=middle class=list>Return just one or two rectangles (for slow blitters).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSURFACEFAST" href="#BINKSURFACEFAST" class=trn>&nbsp;BINKSURFACEFAST</a></td>
<td width=71% height=25 valign=middle class=list>Return no rectangles at all (when copying to the primary surface, for example).</td>
</tr>
</table>
<h4>Discussion</h4>
<p>These flags are used with the <a href="BinkGetRects.html">BinkGetRects</a> function to specify which type of dirty rectangles you'd prefer.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkGetRects.html">BinkGetRects</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,56 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINK_GOTO_FLAGS</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="Specifies the type of jump to perform.">
<meta name="ms-hkwd" content="BINK_GOTO_FLAGS">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINK_GOTO_FLAGS</h1>
<p>The basic type <b>BINK_GOTO_FLAGS</b> Specifies the type of jump to perform.</p>
<h4>Fundamental Values</h4>
<table class=list width=90%>
<tr valign=top class=list>
<th width=29% height=25 valign=middle class=list>&nbsp;Value</th>
<th width=71% height=25 valign=middle class=list>&nbsp;Description</th>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#NULL" href="#NULL" class=trn>&nbsp;NULL</a></td>
<td width=71% height=25 valign=middle class=list>By default (using no flags), Bink performs a jump by seeking to the nearest key frame and then decompressing up to your specified frame.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKGOTOQUICK" href="#BINKGOTOQUICK" class=trn>&nbsp;BINKGOTOQUICK</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to force Bink to jump directly to the frame, and not bother with the key frame seek first (this may cause the frames after a jump to be displayed incorrectly).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKGOTOQUICKSOUND" href="#BINKGOTOQUICKSOUND" class=trn>&nbsp;BINKGOTOQUICKSOUND</a></td>
<td width=71% height=25 valign=middle class=list>Bink stores the first 750 milliseconds of audio in the first frame of the movie. That means if you go to, say, frame 500, Bink has to internally jump to frame 500 minus 750 milliseconds so that the sound starts immediately when you begin playing again. <br><br>All of these internal gymnastics to start the sound exactly at your frame is transparent to you, except that extra I/O is performed as well as a little extra CPU is consumed to make it all happen. <br><br>However, if you use the BINKGOTOQUICKSOUND flag, then you save this I/O and CPU - Bink just doesn't skip back the 750 milliseconds, so the first 750 ms after the <a href="BinkGoto.html">BinkGoto</a> will be just silence. This is handy when you need the fastest possible jump without concern for the sound.</td>
</tr>
</table>
<h4>Discussion</h4>
<p>These flags are used with the <a href="BinkGoto.html">BinkGoto</a> function to specify which type of jump you want to perform. You can also find the nearest key frame manually with the <a href="BinkGetKeyFrame.html">BinkGetKeyFrame</a> function.</p>
<p>
<br>
<b>Group:</b>
<a href="Basic Types.html">Basic Types</a>, <a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkGetKeyFrame.html">BinkGetKeyFrame</a>, <a href="BinkGoto.html">BinkGoto</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,134 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINK_OPEN_FLAGS</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="describes the special or unusual ways of opening a Bink file.">
<meta name="ms-hkwd" content="BINK_OPEN_FLAGS">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINK_OPEN_FLAGS</h1>
<p>The basic type <b>BINK_OPEN_FLAGS</b> describes the special or unusual ways of opening a Bink file.</p>
<h4>Fundamental Values</h4>
<table class=list width=90%>
<tr valign=top class=list>
<th width=29% height=25 valign=middle class=list>&nbsp;Value</th>
<th width=71% height=25 valign=middle class=list>&nbsp;Description</th>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKFILEHANDLE" href="#BINKFILEHANDLE" class=trn>&nbsp;BINKFILEHANDLE</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink that the file name that you passed in isn't a file name at all, but rather a file handle. Bink will then use this handle instead of opening a new file. Note that you have to typecast the file handle to a "char*" when using this flag. This flag is useful when you'd like to have a resource file that contains multiple Bink files. When you use this flag, Bink won't open (or close) the file handle. <br><br>Under Win32 and Xbox, the file handle value must be a handle returned from the system function "CreateFile".<br><br>Under MacOS, the file handle value must be a pointer returned from the system function "FSpOpenDF".<br><br>On the Nintendo GameCube, this file handle value must be a DVDFileInfo pointer returned from the system function "DVDFastOpen". On the GameCube, you must also fill in the userData field (fileInfo->cb.userData) in the DVDFileInfo pointer with the starting file offset of the video in this file handle (usually zero). This oddness is because there is no system function for determining the current file position on the GameCube. Also note that this starting file offset must be a multiple of 32.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKFROMMEMORY" href="#BINKFROMMEMORY" class=trn>&nbsp;BINKFROMMEMORY</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink that the file name that you passed in isn't a file name at all, but rather a pointer to an entire Bink file already loaded into memory. Bink will then use this memory to play from. You must not free the memory address that you pass in until you have called <a href="BinkClose.html">BinkClose</a>. On <b>MacOS and GameCube</b>, you must first dword endian-swap your memory buffer before passing it to <a href="BinkOpen.html">BinkOpen</a>.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSNDTRACK" href="#BINKSNDTRACK" class=trn>&nbsp;BINKSNDTRACK</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to play a specific sound track. By default, Bink will play the first sound track in the Bink file, so use this flag to force Bink to use the track ID set in a previous call to the <a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a> function. So, to use this flag, you must first call <a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a> with the desired track ID number, and then open the Bink file using this flag.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKNOSKIP" href="#BINKNOSKIP" class=trn>&nbsp;BINKNOSKIP</a></td>
<td width=71% height=25 valign=middle class=list>Bink will skip frames if the video begins to fall behind the audio. Bink won't skip frames at all if the Bink file contains no audio, or if you use this flag. This flag is useful when you want the video quality to have precedence over the sound quality (good for cartoon-style animations).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKPRELOADALL" href="#BINKPRELOADALL" class=trn>&nbsp;BINKPRELOADALL</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to preload the entire animation into memory. If Bink is unable to preload the animation into memory, then the open will fail.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKALPHA" href="#BINKALPHA" class=trn>&nbsp;BINKALPHA</a></td>
<td width=71% height=25 valign=middle class=list>This flag tells Bink that you want to decompress the alpha plane data if it is present in the file. By default, Bink does not decompress the alpha plane, so you must set this flag if you intend to use any of the alpha bitplane formats (<a href="BINK_COPY_FLAGS.html#BINKSURFACE32A">BINKSURFACE32A</a> or <a href="BINK_COPY_FLAGS.html#BINKSURFACE4444">BINKSURFACE4444</a>).</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKGRAYSCALE" href="#BINKGRAYSCALE" class=trn>&nbsp;BINKGRAYSCALE</a></td>
<td width=71% height=25 valign=middle class=list>This flag tells Bink that you want to play the Bink file back in grayscale mode. Grayscale mode is much faster in both the decompression step (Bink only has to decompress the Y plane) and the YUV conversion step. If you compressed the Bink file in grayscale mode, then this flag will automatically be set.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKFRAMERATE" href="#BINKFRAMERATE" class=trn>&nbsp;BINKFRAMERATE</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to override the frame rate in the Bink file and use the frame rate specified by a previous call to the <a href="BinkSetFrameRate.html">BinkSetFrameRate</a> function. So, to use this flag, you first call <a href="BinkSetFrameRate.html">BinkSetFrameRate</a> with the desired rate, and then open the Bink file using this flag.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XH" href="#BINKCOPY2XH" class=trn>&nbsp;BINKCOPY2XH</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to playback the video in 2x height doubled mode. This will cause each line to be duplicated (which will double the height). If the video was compressed in 2x height doubled mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XHI" href="#BINKCOPY2XHI" class=trn>&nbsp;BINKCOPY2XHI</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to playback the video in 2x height interlaced mode. This will cause the video to be expanded to every other scanline (which will double the height). If the video was compressed in interlaced mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XW" href="#BINKCOPY2XW" class=trn>&nbsp;BINKCOPY2XW</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to playback the video in 2x width doubled mode. This will cause each pixel to be duplicated (which will double the width). If the video was compressed in 2x width doubled mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XWH" href="#BINKCOPY2XWH" class=trn>&nbsp;BINKCOPY2XWH</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to playback the video in 2x width and height doubled mode. This will cause each line and each pixel to be duplicated (which will double both the width and height). If the video was compressed in 2x width and height doubled mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY2XWHI" href="#BINKCOPY2XWHI" class=trn>&nbsp;BINKCOPY2XWHI</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to playback the video in 2x width doubled and height interlaced mode. This will cause each pixel to be duplicated and every other scanline to be skipped (which will double both the width and height). If the video was compressed in 2x width and height interlaced mode with the Bink compressor, then this flag will automatically be set - you can override it with any of the other COPY flags.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPY1XI" href="#BINKCOPY1XI" class=trn>&nbsp;BINKCOPY1XI</a></td>
<td width=71% height=25 valign=middle class=list>This copy flag tells Bink to play the movie in normal 1x mode, but to only copy ever other scanline during playback. This saves half the time of a normal frame copy, so it is useful on under-powered machines.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKCOPYNOSCALING" href="#BINKCOPYNOSCALING" class=trn>&nbsp;BINKCOPYNOSCALING</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to playback the video without any doubling or interlacing. Use this flag to counteract the automatic effect of a video compressed in one of the interlaced or doubled modes.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKNOMMX" href="#BINKNOMMX" class=trn>&nbsp;BINKNOMMX</a></td>
<td width=71% height=25 valign=middle class=list>This flag tells Bink not to use MMX while decompressing or when converting colorspaces. Bink runs much slower without MMX, so you will usually just want to leave this flag alone. This flag isn't supported on Xbox - MMX is always used when running on the Xbox.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKSIMULATE" href="#BINKSIMULATE" class=trn>&nbsp;BINKSIMULATE</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to simulate the device speed set in a previous call to the <a href="BinkSetSimulate.html">BinkSetSimulate</a> function. To use this flag, you first call <a href="BinkSetSimulate.html">BinkSetSimulate</a> with the device speed, and then open the Bink file using this flag.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKIOSIZE" href="#BINKIOSIZE" class=trn>&nbsp;BINKIOSIZE</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink to override the default IO buffer size with the size set in a previous call to the <a href="BinkSetIOSize.html">BinkSetIOSize</a> function. To use this flag, you must first call BinkSetIOSize with the IO size, and then open the Bink file using this flag.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKNOFILLIOBUF" href="#BINKNOFILLIOBUF" class=trn>&nbsp;BINKNOFILLIOBUF</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink not to fill the IO buffer in <a href="BinkOpen.html">BinkOpen</a>. By default, Bink completely fills the IO buffer before returning from <a href="BinkOpen.html">BinkOpen</a>. Using this flag will speed up the opening process, but it can cause skipping early in the movie.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKIOPROCESSOR" href="#BINKIOPROCESSOR" class=trn>&nbsp;BINKIOPROCESSOR</a></td>
<td width=71% height=25 valign=middle class=list>This flag lets you completely replace the file IO system that Bink will use to read the Bink file. This is a not a trivial job, but you can perform any type of IO using this flag (even streaming from an Internet address). If you are interested in using this flag, contact RAD for more information.</td>
</tr>
<tr valign=top class=list>
<td width=29% height=25 valign=middle class=list><a name="#BINKNOTHREADEDIO" href="#BINKNOTHREADEDIO" class=trn>&nbsp;BINKNOTHREADEDIO</a></td>
<td width=71% height=25 valign=middle class=list>Use this flag to tell Bink not to use multi-threaded IO. By default, Bink creates a background thread that reads from the Bink file in the background. If you don't want Bink to do any of this background processing, then you can turn it off with this flag.</td>
</tr>
</table>
<h4>Discussion</h4>
<p>The Bink flags are passed to the <a href="BinkOpen.html">BinkOpen</a> function to enable special or unusual processing modes. You will almost always pass zero for the Bink flags, but you can use any of these options when the need arises. The various COPY flags are very useful for creating really scalable video playback. For example, say you have a 320x240 movie, using the different COPY flags, you could offer the following playback modes: <br> 1) No flags - normal 320x240 playback <br> 2) <a href="BINK_OPEN_FLAGS.html#BINKCOPY1XI">BINKCOPY1XI</a> - 320x240 with 1x interlacing for slow machines. <br> 3) <a href="BINK_OPEN_FLAGS.html#BINKCOPY2XWHI">BINKCOPY2XWHI</a> - 640x480 with 2x interlacing for medium machines. <br> 4) <a href="BINK_OPEN_FLAGS.html#BINKCOPY2XWH">BINKCOPY2XWH</a> - 640x480 with 2x doubling for fast machines. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a>, <a href="Scaling.html">Scaling</a><br>
<b>Related Functions:</b>
<a href="BinkClose.html">BinkClose</a>, <a href="BinkDoFrame.html">BinkDoFrame</a>, <a href="BinkGetLogoAddress.html">BinkGetLogoAddress</a>, <a href="BinkMacOpen.html">BinkMacOpen</a>, <a href="BinkOpen.html">BinkOpen</a>, <a href="BinkSetFrameRate.html">BinkSetFrameRate</a>, <a href="BinkSetIO.html">BinkSetIO</a>, <a href="BinkSetIOSize.html">BinkSetIOSize</a>, <a href="BinkSetSimulate.html">BinkSetSimulate</a>, <a href="BinkSetSoundOnOff.html">BinkSetSoundOnOff</a>, <a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a><br>
<b>Related Basic Types:</b>
<a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a><br>
<b>Related Structures:</b>
<a href="BINK.html">BINK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,35 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BINK_STRING</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="describes a normal zero-terminated C-style string.">
<meta name="ms-hkwd" content="BINK_STRING">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BINK_STRING</h1>
<p>The basic type <b>BINK_STRING</b> describes a normal zero-terminated C-style string.</p>
<p>
<br>
<b>Group:</b>
<a href="Basic Types.html">Basic Types</a><br>
<b>Related Functions:</b>
<a href="BinkBufferGetDescription.html">BinkBufferGetDescription</a>, <a href="BinkBufferGetError.html">BinkBufferGetError</a>, <a href="BinkGetError.html">BinkGetError</a>, <a href="BinkOpen.html">BinkOpen</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,56 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Background Concepts</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Background Concepts">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Background Concepts</h1>
<h4>Discussion</h4>
<p>Background concepts are short bits of text discussing general topics either directly or indirectly relating to Bink.</p>
<table class=toc width=90%>
<tr class=toc>
<th height=25 valign=top class=toc><a href="Background Concepts.html">Background Concepts</a></th>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Open and Close.html">Open and Close</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Locking and Unlocking.html">Locking and Unlocking</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Alpha Planes.html">Alpha Planes</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="OpenGL.html">OpenGL</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Direct3D.html">Direct3D</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Scaling.html">Scaling</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Mouse Cursors.html">Mouse Cursors</a></td>
</tr>
</table>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,155 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Basic Types</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Basic Types">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Basic Types</h1>
<h4>Discussion</h4>
<p>Bink strives to be as cross-platform as possible. To this end, Bink uses a set of basic types that are configured for each platform to ensure consistency in the API. These basic types include simple integer types, float types, and more. In general, it is best if an application uses Bink's types internally in places where it interfaces to Bink, as this ensures that porting the application to other Bink platforms will be quick and easy.</p>
<table class=toc width=90%>
<tr class=toc>
<th height=25 valign=top class=toc><a href="Basic Types.html">Basic Types</a></th>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="S8.html">S8</a></td>
<td height=25 valign=top class=toc>describes a signed 8-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="U8.html">U8</a></td>
<td height=25 valign=top class=toc>describes an unsigned 8-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="S16.html">S16</a></td>
<td height=25 valign=top class=toc>describes a signed 16-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="U16.html">U16</a></td>
<td height=25 valign=top class=toc>describes an unsigned 16-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="S64.html">S64</a></td>
<td height=25 valign=top class=toc>describes a signed 64-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="U64.html">U64</a></td>
<td height=25 valign=top class=toc>describes an unsigned 64-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="S32.html">S32</a></td>
<td height=25 valign=top class=toc>describes a signed 32-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="U32.html">U32</a></td>
<td height=25 valign=top class=toc>describes an unsigned 32-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="s32_ptr.html">s32_ptr</a></td>
<td height=25 valign=top class=toc>describes a pointer to a signed 32-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="u32_ptr.html">u32_ptr</a></td>
<td height=25 valign=top class=toc>describes a pointer to an unsigned 32-bit integer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="F32.html">F32</a></td>
<td height=25 valign=top class=toc>describes a standard 32-bit floating-point number.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="F64.html">F64</a></td>
<td height=25 valign=top class=toc>describes a standard 64-bit double-precision floating-point number.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="void.html">void</a></td>
<td height=25 valign=top class=toc>describes a standard C/C++ void return type.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="NULL.html">NULL</a></td>
<td height=25 valign=top class=toc>describes a standard C/C++ NULL pointer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="OS_WND.html">OS_WND</a></td>
<td height=25 valign=top class=toc>describes a standard HWND window handle on Win32, or a
standard WindowPtr under MacOS.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="HCURSOR.html">HCURSOR</a></td>
<td height=25 valign=top class=toc>describes a standard Win32 HCURSOR cursor handle.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="LPDIRECTSOUND.html">LPDIRECTSOUND</a></td>
<td height=25 valign=top class=toc>describes a pointer to a DirectSound object.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="LPDIRECTDRAW.html">LPDIRECTDRAW</a></td>
<td height=25 valign=top class=toc>describes a pointer to a DirectDraw object.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="LPDIRECTDRAWSURFACE.html">LPDIRECTDRAWSURFACE</a></td>
<td height=25 valign=top class=toc>describes a pointer to a DirectDraw surface
object.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="LPDIRECT3DSURFACE8.html">LPDIRECT3DSURFACE8</a></td>
<td height=25 valign=top class=toc>describes a pointer to a DirectX 8 Direct3D surface
object.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="FSSpec_PTR.html">FSSpec_PTR</a></td>
<td height=25 valign=top class=toc>describes a pointer to a MacOS filespec.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="GDHandle.html">GDHandle</a></td>
<td height=25 valign=top class=toc>describes a standard MacOS Graphics Device pointer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="VOID_PTR.html">VOID_PTR</a></td>
<td height=25 valign=top class=toc>describes a standard C/C++ untyped memory pointer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINK_STRING.html">BINK_STRING</a></td>
<td height=25 valign=top class=toc>describes a normal zero-terminated C-style string.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="HBINK.html">HBINK</a></td>
<td height=25 valign=top class=toc>is a handle to an opened Bink file.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="HBINKTRACK.html">HBINKTRACK</a></td>
<td height=25 valign=top class=toc>is a handle to an opened Bink audio track.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="HBINKBUFFER.html">HBINKBUFFER</a></td>
<td height=25 valign=top class=toc>is a handle to an opened BinkBuffer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINKRECT.html">BINKRECT</a></td>
<td height=25 valign=top class=toc>is a structure describing a rectangular area.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINKRECT_ARRAY.html">BINKRECT_ARRAY</a></td>
<td height=25 valign=top class=toc>is an array of structures describing rectangular
areas.</td>
</tr>
</table>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,296 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink API</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink API">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink API</h1>
<h4>Discussion</h4>
<p>The Bink API is the API that you use to decompress each frame of a Bink file. The Bink API is used to open the file, decompress video frames, wait for the next frame, skip to the next frame, etc. The Bink API doesn't, however, draw anything onto the screen. All the Bink API does is place data into a linear memory buffer. This buffer can be a DirectDraw surface, a DIBSection, or even a plain old malloc-ed chunk of memory. The Bink API doesn't know or care about where it places the data. Because Bink doesn't blit directly to the screen, you have a lot more flexibility - you can use Bink to compress not just to compress videos, but bitmaps, textures, light maps, height maps, etc. Any rectangular data set can be compressed. Blitting is, however, a complicated situation on most platforms (especially Win32), so we also supply a ready-made blitting API (called the BinkBuffer API). This API is separate from the Bink API, though, so it is up to you whether you use it or not. The BinkBuffer API is described later in this manual. </p>
<table class=toc width=90%>
<tr class=toc>
<th height=25 valign=top class=toc><a href="Bink API.html">Bink API</a></th>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkOpen.html">BinkOpen</a></td>
<td height=25 valign=top class=toc>opens the specified Bink file for decompression.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkMacOpen.html">BinkMacOpen</a></td>
<td height=25 valign=top class=toc>opens the specified Bink file for decompression.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINK.html">BINK</a></td>
<td height=25 valign=top class=toc>is a structure returned from BinkOpen.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a></td>
<td height=25 valign=top class=toc>describes the special or unusual ways of opening a
Bink file.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkClose.html">BinkClose</a></td>
<td height=25 valign=top class=toc>closes the specified Bink handle.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkDoFrame.html">BinkDoFrame</a></td>
<td height=25 valign=top class=toc>decompresses the next frame of video.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a></td>
<td height=25 valign=top class=toc>copies a video frame from the internal Bink memory
buffers to a specified memory address.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkCopyToBufferRect.html">BinkCopyToBufferRect</a></td>
<td height=25 valign=top class=toc>copies a piece of the video frame from the internal Bink memory
buffers to a specified memory address.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a></td>
<td height=25 valign=top class=toc>describes the destination buffer type as well as
special or unusual ways of converting Bink's internal YUV data.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkNextFrame.html">BinkNextFrame</a></td>
<td height=25 valign=top class=toc>moves to the next video frame in the Bink file.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkWait.html">BinkWait</a></td>
<td height=25 valign=top class=toc>tells you when to move to the next Bink frame (based on the
frame rate of the file).</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkPause.html">BinkPause</a></td>
<td height=25 valign=top class=toc>pauses and resumes playback of a Bink file.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGetRects.html">BinkGetRects</a></td>
<td height=25 valign=top class=toc>returns the dirty rectangles of the last decompressed video frame.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINK_GETRECTS_FLAGS.html">BINK_GETRECTS_FLAGS</a></td>
<td height=25 valign=top class=toc>Specifies the type of rectangle list
you'd prefer from the BinkGetRects function.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGoto.html">BinkGoto</a></td>
<td height=25 valign=top class=toc>jumps to a new frame inside the Bink file.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINK_GOTO_FLAGS.html">BINK_GOTO_FLAGS</a></td>
<td height=25 valign=top class=toc>Specifies the type of jump to perform.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGetKeyFrame.html">BinkGetKeyFrame</a></td>
<td height=25 valign=top class=toc>finds a key frame near another specified frame.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINK_GETKEY_FLAGS.html">BINK_GETKEY_FLAGS</a></td>
<td height=25 valign=top class=toc>Specifies the type of key frame search to perform.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkService.html">BinkService</a></td>
<td height=25 valign=top class=toc>gives some explicit idle time to Bink to
service any of its internal tasks.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSoundUseMiles.html">BinkSoundUseMiles</a></td>
<td height=25 valign=top class=toc>tells Bink to use the Miles Sound System as its sound
output system.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSoundUseDirectSound.html">BinkSoundUseDirectSound</a></td>
<td height=25 valign=top class=toc>tells Bink to use DirectSound as its sound
output system.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSoundUseSoundManager.html">BinkSoundUseSoundManager</a></td>
<td height=25 valign=top class=toc>tells Bink to use the MacOS Sound Manager as its sound
output system.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSoundUseAX.html">BinkSoundUseAX</a></td>
<td height=25 valign=top class=toc>tells Bink to use AX as its sound
output system on the Nintendo GameCube.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSoundUseMusyX.html">BinkSoundUseMusyX</a></td>
<td height=25 valign=top class=toc>tells Bink to use MusyX as its sound
output system on the Nintendo GameCube.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="RADARAMCALLBACKS.html">RADARAMCALLBACKS</a></td>
<td height=25 valign=top class=toc>specifies a set of replacement audio RAM memory management functions for use with AX on the Nintendo GameCube.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="RADARAMALLOC.html">RADARAMALLOC</a></td>
<td height=25 valign=top class=toc>points to a function that will allocate audio memory on Bink's
behalf when using AX on the Nintendo GameCube.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="RADARAMFREE.html">RADARAMFREE</a></td>
<td height=25 valign=top class=toc>points to a function that will free memory allocated by
a previous call to the RADARAMALLOC function.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetSoundSystem.html">BinkSetSoundSystem</a></td>
<td height=25 valign=top class=toc>tells Bink to use a custom sound provider as its
sound output system.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetVolume.html">BinkSetVolume</a></td>
<td height=25 valign=top class=toc>sets the volume of a Bink sound track.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetPan.html">BinkSetPan</a></td>
<td height=25 valign=top class=toc>sets the speaker pan (left to right balance) of a Bink
sound track.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetMixBins.html">BinkSetMixBins</a></td>
<td height=25 valign=top class=toc>sets the mix bin destination of the sound track on an Xbox.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetMixBinVolumes.html">BinkSetMixBinVolumes</a></td>
<td height=25 valign=top class=toc>sets the volumes of the individual mix bins on an Xbox.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetVideoOnOff.html">BinkSetVideoOnOff</a></td>
<td height=25 valign=top class=toc>tells Bink not to decompress the video frames when
BinkDoFrame is called.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetSoundOnOff.html">BinkSetSoundOnOff</a></td>
<td height=25 valign=top class=toc>tells Bink not to decompress the audio and
release any audio resources.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGetSummary.html">BinkGetSummary</a></td>
<td height=25 valign=top class=toc>returns playback information about the specified Bink
handle.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINKSUMMARY.html">BINKSUMMARY</a></td>
<td height=25 valign=top class=toc>is a structure used to return playback summary
information from BinkGetSummary.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGetRealtime.html">BinkGetRealtime</a></td>
<td height=25 valign=top class=toc>returns realtime playback information about the specified Bink
handle.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINKREALTIME.html">BINKREALTIME</a></td>
<td height=25 valign=top class=toc>is a structure used to return realtime playback
information from BinkGetRealtime.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGetTrackID.html">BinkGetTrackID</a></td>
<td height=25 valign=top class=toc>returns the track ID for the specified track index.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkOpenTrack.html">BinkOpenTrack</a></td>
<td height=25 valign=top class=toc>opens a handle to the low-level audio track decoder.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINKTRACK.html">BINKTRACK</a></td>
<td height=25 valign=top class=toc>is a structure returned from BinkOpenTrack.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkCloseTrack.html">BinkCloseTrack</a></td>
<td height=25 valign=top class=toc>closes a low-level audio track decoder handle.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGetTrackData.html">BinkGetTrackData</a></td>
<td height=25 valign=top class=toc>extracts all of the sound in the current video
frame.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetFrameRate.html">BinkSetFrameRate</a></td>
<td height=25 valign=top class=toc>overrides the Bink file's built-in frame rate.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a></td>
<td height=25 valign=top class=toc>overrides the Bink file's default sound track.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetSimulate.html">BinkSetSimulate</a></td>
<td height=25 valign=top class=toc>tells Bink to simulate a specified device I/O speed.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetIOSize.html">BinkSetIOSize</a></td>
<td height=25 valign=top class=toc>Specifies the size of the I/O memory buffer that Bink reads
into.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkSetIO.html">BinkSetIO</a></td>
<td height=25 valign=top class=toc>specifies a set of replacement file I/O functions.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="RADSetMemory.html">RADSetMemory</a></td>
<td height=25 valign=top class=toc>specifies a set of replacement memory management functions.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="RADMEMALLOC.html">RADMEMALLOC</a></td>
<td height=25 valign=top class=toc>points to a function that will allocate memory on Bink's
behalf.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="RADMEMFREE.html">RADMEMFREE</a></td>
<td height=25 valign=top class=toc>points to a function that will free memory allocated by
a previous call to the RADMEMALLOC function.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGetError.html">BinkGetError</a></td>
<td height=25 valign=top class=toc>returns a string that describes the last global Bink error.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGetLogoAddress.html">BinkGetLogoAddress</a></td>
<td height=25 valign=top class=toc>returns a pointer to an embedded Bink logo file.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkLoad.html">BinkLoad</a></td>
<td height=25 valign=top class=toc>reloads the Bink sections on an Xbox (if it had been unloaded by BinkUnload).</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkUnload.html">BinkUnload</a></td>
<td height=25 valign=top class=toc>unloads the Bink sections on an Xbox.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkLoadConverter.html">BinkLoadConverter</a></td>
<td height=25 valign=top class=toc>reloads one or more of the Bink YUV to RGB
converters (if they had been unloaded by BinkUnloadConverter).</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkUnloadConverter.html">BinkUnloadConverter</a></td>
<td height=25 valign=top class=toc>unloads one or more of the Bink YUV to RGB
converters.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINK_CONVERTER_FLAGS.html">BINK_CONVERTER_FLAGS</a></td>
<td height=25 valign=top class=toc>Specifies the class of Bink YUV converters to
load or unload.</td>
</tr>
</table>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Examples for MacOS</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Examples for MacOS">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Examples for MacOS</h1>
<h4>Discussion</h4>
<p>The Bink SDK supplies the full source code and resourcses for the Bink Player we supply on our web site. To build the examples, follow these steps: <br> 1) Create a new MacOS Toolbox for C project for Classic, Carbon or MachO in CodeWarrior. <br> 2) Add the "player.c", "player.r", and "playerbinary.rsrc" files into the project. For Carbon projects, also add "carbon.h" to the project. <br> 3) Copy the appropriate Bink library ("BinkClassicLibrary", "BinkCarbonLibrary", or "libBinkMachO.dylib") into the executable directory. Note that MachO applications place the executables for an application package in a subfolder called "Contents/MacOS". MachO application packages are just a defined set of folders, so to open the Contents subfolder in Finder, Control-click on the application icon and choose "Show Package Contents". Then just place the libBinkMachO.dylib file into the "Contents/MacOS" folder. <br> 4) Add the Bink library that you just copied into the project. <br> 5) Remove the sample source files that CodeWarrior places into the project by default. <br> And that's it! You should be able to build and run the same Bink example that we redistribute. </p>
<p><a href="Sharing the CPU unde9ijdaa.html">Previous Topic (Sharing the CPU under MacOS)</a> </p><p>
<br>
<b>Group:</b>
<a href="The MacOS Platform.html">The MacOS Platform</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Examples for Win32</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Examples for Win32">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Examples for Win32</h1>
<h4>Discussion</h4>
<p>The Bink SDK supplies several example programs for Win32. To create these examples in an IDE-based environment, just create a new project and include the appropriate C source file (ExamW32.C, ExamMSS.C, or ExamDDP.C), and then add the Bink for Windows import library to the project (BinkW32.LIB). <br> The following is a list of the example files that you can experiment with: <br> For an example player using the BinkBuffer API, see the <b>"ExamW32.C"</b> file. <br> For an example player using the Miles Sound System and the BinkBuffer API, see the <b>"ExamMSS.C"</b> file. <br> For an example player using DirectDraw, see the <b>"ExamDDP.C"</b> file. <br> For an example of using a Bink alpha plane with <a href="OpenGL.html">OpenGL</a>, see the <b>"ExamAlph.C"</b> file. This example can use OpenGL or Direct3D - to use OpenGL just link with the <b>"GLRAD3D.C"</b> file. <br> For an example of using a Bink alpha plane with Direct3D <a href="Direct3D.html#8">8</a>, see the <b>"ExamAlph.C"</b> file. This example can use OpenGL or Direct3D - to use Direct3D just link with the <b>"DX8RAD3D.CPP"</b> file. For an example of using a Bink alpha plane with Direct3D <a href="Direct3D.html#7">7</a>, see the <b>"ExamAlph.C"</b> file. This example can use OpenGL or Direct3D - to use Direct3D just link with the <b>"DX7RAD3D.CPP"</b> file. </p>
<p><a href="Sharing the CPU unde2nabaa.html">Previous Topic (Sharing the CPU under Win32)</a> </p><p>
<br>
<b>Group:</b>
<a href="The Win32 Platform.html">The Win32 Platform</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a>, <a href="Direct3D.html">Direct3D</a>, <a href="OpenGL.html">OpenGL</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Examples for the Xbox</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Examples for the Xbox">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Examples for the Xbox</h1>
<h4>Discussion</h4>
<p>The Bink SDK supplies several example programs for Xbox. To create these examples in Visual C, just create a new project and include the appropriate C source file (ExamXbox.C, for example), and then add the Bink for Xbox static library to the project (BinkXbox.LIB or BinkXbox.LTCG.LIB). <br> The following is a list of the example files that you can experiment with: <br> For an example of using an overlay to display the Bink video, see the <b>"ExamXbox.C"</b> file. This is the best way to get simple video playback into your game quickly. <br> For an example of using a YUV Direct3D texture to display the Bink video, see the <b>"ExamXTex.C"</b> file. This example uses our simple Direct3D wrapper, so be sure to also add the <b>"XBXRAD3D.CPP"</b> file to your project. <br> For an example of using a Bink alpha plane with <a href="Direct3D.html">Direct3D</a>, see the <b>"ExamXAlf.C"</b> file. This example uses our simple Direct3D wrapper, so be sure to also add the <b>"XBXRAD3D.CPP"</b> file to your project. <br> For an example of having Bink copy directly onto the Direct3D back buffer, see the <b>"ExamXbb.C"</b> file. Overlays are almost always preferable to this option, however.</p>
<p><a href="Sharing the CPU on t9jibaa.html">Previous Topic (Sharing the CPU on the Xbox)</a> </p><p>
<br>
<b>Group:</b>
<a href="The Xbox Platform.html">The Xbox Platform</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a>, <a href="Direct3D.html">Direct3D</a>, <a href="OpenGL.html">OpenGL</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,38 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Examples for the Nintendo GameCube</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Examples for the Nintendo GameCube">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Examples for the Nintendo GameCube</h1>
<h4>Discussion</h4>
<p>The Bink SDK supplies several example programs for Nintendo GameCube. To create these examples with SN Systems or CodeWarrior, just create a new project and include the appropriate C source file (ExamNbb.C, ExamNTex.C or ExamNAlf.C), and then add the Bink for Nintendo GameCube static library to the project (BinkNGC.a). <br> The following is a list of the example files that you can experiment with: <br> For an example of using Bink to display a video directly to the GameCube's YUV back buffer, see the <b>"ExamNbb.C"</b> file. This example is extremely simple because it doesn't use the GPU to render the video - it's just blasts it right to the back buffer. It's also very fast, because Bink doesn't have to convert out of YUV format. <br> For an example of using Bink to decompress onto a texture and then render the texture to the screen, see the <b>"ExamNTex.C"</b> file. This example uses our simple 3D wrapper, so be sure to also add the <b>"NGCRAD3D.C"</b> file to your project. Bink converts from YUV format directly into the GameCube's swizzled format inside the <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> function, so you can render the texture immediately! For an example of using Bink with alpha videos and then render the textures to the screen, see the <b>"ExamNAlf.C"</b> file. This example also uses our simple 3D wrapper, so be sure to also add the <b>"NGCRAD3D.C"</b> file to your project. You can download a small alpha test movie from our ftp-site<ftp://ftp.radgametools.com/bink>. All of these examples also use a simple file to setup the GameCube for use, so you'll also need to include "NGCDemo.c" in your sample projects. </p>
<p><a href="Sharing the CPU on t86r93m.html">Previous Topic (Sharing the CPU on the Nintendo GameCube)</a> </p><p>
<br>
<b>Group:</b>
<a href="The Nintendo GameCubm0rzpb.html">The Nintendo GameCube Platform</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a><br>
<b>Related Functions:</b>
<a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,50 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Overview</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Overview">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Overview</h1>
<h4>Discussion</h4>
<p>This section will describe the Bink SDK in the generic, non-platform-specific sense. We'll talk about creating the Bink files that you'll be playing, then we'll talk about Bink playback itself, and finally we'll wrap up with a description of the YUV colorspace that Bink uses.</p>
<table class=toc width=90%>
<tr class=toc>
<th height=25 valign=top class=toc><a href="Bink Overview.html">Bink Overview</a></th>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Compressing with Bink.html">Compressing with Bink</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Bink Video Playback.html">Bink Video Playback</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Colorspace - RGB vs. YUV.html">Colorspace - RGB vs. YUV</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Audio Tracks in Bink.html">Audio Tracks in Bink</a></td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc colspan="2"><a href="Critical File I-O haq3ylyt.html">Critical File I/O handling in Bink</a></td>
</tr>
</table>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Playback on the Xbox</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Playback on the Xbox">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Playback on the Xbox</h1>
<h4>Discussion</h4>
<p> Video playback on the Xbox is pretty easy compared to a PC - the hardware is damn fast and, most importantly, it is constant. If it plays back perfectly on your machine, then it will on everyone else's too! The other nice thing is that the Xbox gives you so many ways to get video onto the screen. You can use an overlay (by far the easiest way to go), a YUV format D3D texture, a RGB linear format D3D texture (for alpha), or just dump it on the backbuffer before you flip! Overlays are the easiest way to get video into your game. Overlays float over the frame buffer pixels, so they don't disturb anything else in your game. Your rendering and page-flipping code all stays exactly the same with overlays. This is definitely the way to put simple cut-scenes in your game. Overlays can't be textured (but they can be scaled), and they can't do translucency (but they can do color-keyed on/off transparency). See <b>ExamXbox.cpp</b> for an example of using Xbox overlays with Bink. The next display method is using a YUV format texture. Bink's native format is YUV, so it can copy into a YUV texture <b>very</b> quickly. The Xbox graphics chip can then do the conversion to RGB as it renders the texture. This is very fast, and very flexible because you can use the video as a texture for any surface in your game (a TV monitor in a scene for example). The only downside to this method is that YUV textures can't contain an alpha plane. See <b>ExamXTex.cpp</b> for an example of using Xbox YUV textures with Bink. If you need to use an alpha plane, then Bink still has you covered. Just use an RGB format texture like 16-bit RGBA 4444, or 32-bit RGBA 8888 (which Bink can convert directly into using internal super-optimized software converters). The Xbox hardware helps you here too - it supports linear RGB textures, so that you don't even have to swizzle the video frames before passing it to Direct3D. To allocate a linear texture, you just use one of the textures with "_LIN_" in the D3DFORMAT enumerant name. You also have to be careful to select <i>clamping</i> for linear textures - tiling and mirroring isn't supported when using this texture format. See <b>ExamXAlf.cpp</b> for an example of using Xbox alpha RGB textures with Bink. Finally, you can simply lock the video back buffer, and just have Bink copy the video frame directly into the buffer pixels. This is a pretty easy way to get Bink running in your game, but overlays are just about as easy and usually much faster. See <b>ExamXbb.cpp</b> for an example of using the Xbox back buffer with Bink. Video on the Xbox really is an embarassment of riches - you've just got tons of options! To summarize: If you just want to play plain-old, straight-on video (cut-scenes), use overlays. If you want the video textured onto an object, use a YUV texture. If you need alpha support, use a linear RGB texture.</p>
<p><a href="Sections on the Xbox.html">Next Topic (Sections on the Xbox)</a> </p><p><a href="Distributing Bink onxuuiga.html">Previous Topic (Distributing Bink on the Xbox)</a> </p><p>
<br>
<b>Group:</b>
<a href="The Xbox Platform.html">The Xbox Platform</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,38 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Playback on the Nintendo GameCube</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Playback on the Nintendo GameCube">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Playback on the Nintendo GameCube</h1>
<h4>Discussion</h4>
<p> Video playback on the Nintendo GameCube is pretty easy compared to a PC or Mac - the hardware is damn fast and, most importantly, it is constant. If it plays back perfectly on your machine, then it will on everyone else's too! You have a couple options for blitting the video frames onto the screen with a GameCube - copying to the back buffer, or copying to a texture and then rendering. The simplest way is definitely the back buffer option - just have Bink copy its YUV data directly to your screen's YUV back buffer. This is also the highest performance method, because not only do you keep the renderer out of the loop, but Bink doesn't even have to convert from its internal YUV format. Very fast, very simple. See the "ExamNbb.C" for an example of this kind of playback. The more flexible option is to have Bink copy into a texture, and then render that texture onto the screen. This lets you do all kinds of sophisticated stuff like <a href="Alpha Planes.html#alpha">alpha</a> transluncency, animated textures, video in a window with 3D objects in the scene, etc. The GameCube's texture formats are nice and simple. First off, they can be non-power-of-2 which is really nice for video. However, they do have to be swizzled to the GPU's internal format (which is usually painful). Fortunately, the <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> functions, <b>automatically swizzle</b> the pixels as it converts its YUV data into the RGB destination. That means you simply need to call <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> to move the pixels from Bink's YUV buffers into your RGB texture and your texture is ready! Note that due to the swizzled output, you must use divisible-by-four values for the X offset, Y offset, width, and height parameters in <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> on the GameCube. See the "ExamNTex.C" for an example of this kind of playback. </p>
<p><a href="NTSC and PAL on the cadb3m.html">Next Topic (NTSC and PAL on the Nintendo GameCube)</a> </p><p><a href="Distributing Bink on8uyiaz.html">Previous Topic (Distributing Bink on the Nintendo GameCube)</a> </p><p>
<br>
<b>Group:</b>
<a href="The Nintendo GameCubm0rzpb.html">The Nintendo GameCube Platform</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a><br>
<b>Related Functions:</b>
<a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Playback under MacOS</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Playback under MacOS">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Playback under MacOS</h1>
<h4>Discussion</h4>
<p> True-color video playback under MacOS is simpler than Windows (mainly because the hardware is less varied), but still a little tricky. Like most true color codecs, Bink doesn't operate in RGB colorspace, but rather YUV. To get this necessary colorspace conversion fast and reliable, Bink includes built-in, well-optimized YUV to RGB software conversion routines. We include 1x and 2x width, height interlacing, height doubling, alpha plane merging, and color or grayscale routines that can copy into 16-bit and 32-bit RGB formats. The permutations total 80 different hand-optimized routines! As you might guess, the majority of the Bink Shared Library is the colorspace converters. Because Bink buffers your video frames internally in YUV colorspace, it can make a big difference in playback speed to convert from YUV directly into the video frame buffer (directly onto the screen). This is the default mode of playback in Bink - it just tries to get that video onto the screen as fast as possible! There are, however, good reasons to use standard MacOS GWorlds - highest possible compatibility, clipping, and unusual scaling, for example. So, you have a choice between super-fast direct to screen, and not-as-fast GWorlds. Let's look at the pros and cons of each technique... </p>
<p><a href="Pros and Cons of Dire7y86m.html">Next Topic (Pros and Cons of Direct to Screen Blitting under MacOS)</a> </p><p><a href="Distributing the Bindt3i85.html">Previous Topic (Distributing the Bink Shared Library under MacOS)</a> </p><p>
<br>
<b>Group:</b>
<a href="The MacOS Platform.html">The MacOS Platform</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Playback under Win32</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Playback under Win32">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Playback under Win32</h1>
<h4>Discussion</h4>
<p> True-color video playback under Windows is tricky for several reasons. First off, true color codecs (including Bink) generally don't operate in RGB colorspace, but rather YUV. Secondly, Windows video drivers are generally slower and more bug prone in high-color than 256 colors. Other minor difficulties include a complicated blitting architecture and no asynchronous reads under Win95/98 (which Bink gets around by doing I/O on another thread). I suppose the good news, however, is that using true color means that you never have to wrestle with the palette manager again! On the Windows platform, Bink includes incredibly fast YUV to RGB software conversion routines. We include MMX and non-MMX, 1x and 2x width, height interlacing, height doubling, alpha plane merging, and color or grayscale routines that can copy into 16-bit, 24-bit and 32-bit RGB formats. The permutations total 120 different hand-optimized assembly conversion routines - whew! In fact, unsurprisingly, the majority of the BinkW32.DLL is the colorspace converters. We wrote all of these different YUV to RGB converters because we've found the YUV to RGB hardware on PC video cards to be fairly unreliable - especially when flipping video modes or using the video card's 3D features (which means, <i>sigh</i>, pretty much all PC video games). This means you have a choice between software and, if it is available, hardware blitting. Video cards currently can provide two types of YUV hardware converts - YUV overlays and YUV off-screen buffers. YUV overlays are really amazing when they work - they are basically windows on the desktop that live at a different color resolution than the desktop! You could have a YUV true color overlay being displayed while the rest of the Windows desktop is being displayed at even 256 colors, for example. Fewer cards support overlays than off-screen buffers. YUV off-screen buffers are simply DirectDraw secondary surfaces that convert from YUV to RGB when you blit them onto the primary surface. They are nice because you get things like clipping for free. The conversion technique (software, overlays, or off-screens) that you choose for your game depends on several factors. Let's look at the pros and cons of each technique... </p>
<p><a href="Pros and Cons of Sofv5ld0h.html">Next Topic (Pros and Cons of Software Blitting under Win32)</a> </p><p><a href="Distributing the Binbatocy.html">Previous Topic (Distributing the Bink DLL under Win32)</a> </p><p>
<br>
<b>Group:</b>
<a href="The Win32 Platform.html">The Win32 Platform</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Bink Video Playback</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Bink Video Playback">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Bink Video Playback</h1>
<h4>Discussion</h4>
<p>Bink is very different than other video codecs. Most noticeably, Bink doesn't plug into one of the monolithic video codec architectures. Instead, it stands on its own two feet, doing everything itself. While this is a little more work on the content creation side (you have to run the Bink tools and actually Bink the file), it is a huge win on the playback side - you just have to ship a single DLL, we can improve the codec much faster than the architectures are updated, we have more control over the various compression stages, we don't have to over-abstract video playback into playback of other media types, etc. Also because Bink stands on its own, we've also been able to create a clean, simple and streamlined way to playback videos. Instead of relying on complicated and difficult-to-debug callbacks or events, <b>your application</b> drives the Bink playback. That means that rather than calling a function like "Play" that goes away for ten minutes, you remain in control the entire time. For example, with Bink, you call a function to decompress a frame, then you call a function to move to the next frame, and then you wait until Bink says it's time to move to the next frame. While this sounds more complicated, it's actually much, much simpler. Let's look at an example. The basic code to open and close a Bink file looks like this (there will be subtle differences on a platform-basis, but this is the gist): </p><code><font size=3 color=#006000><pre>HBINK bink = BinkOpen( "mybink.bik", 0 );<br><i>// use the Bink handle to play the movie</i><br>BinkClose( bink );</pre></font></code><p>Now that we've got a Bink handle to use, let's look at the basic playback loop: </p><code><font size=3 color=#006000><pre>while ( 1 ){ BinkDoFrame( bink );<br> <i>// blit the frame onto the screen here (platform specific)</i><br> if ( bink->FrameNum == bink->Frames ) break; <i>// done at the point</i> else BinkNextFrame( bink ); <i>// skip to the next frame</i><br> while ( BinkWait( bink ) ) do_idle(); <i>// pump message loop, process other tasks - whatever</i>}</pre></font></code><p>So, basically, we decompress a frame with <a href="BinkDoFrame.html">BinkDoFrame</a>, we move to the next frame with <a href="BinkNextFrame.html">BinkNextFrame</a>, and finally, we wait until <a href="BinkWait.html">BinkWait</a> says that it is time to move on. Pretty simple and you've haven't given up any control at all! This example didn't show the details of blitting the video pixels onto the screen, because that is fairly platform-specific and isn't all that different from any other codec. On Win32, we even supply a high-level blitting API (called the BinkBuffer API) that makes getting the pixels onto the screen completely painless. </p>
<p><a href="Colorspace - RGB vs. YUV.html">Next Topic (Colorspace - RGB vs. YUV)</a> </p><p><a href="Compressing with Bink.html">Previous Topic (Compressing with Bink)</a> </p><p>
<br>
<b>Group:</b>
<a href="Bink Overview.html">Bink Overview</a><br>
<b>Related Functions:</b>
<a href="BinkDoFrame.html">BinkDoFrame</a>, <a href="BinkNextFrame.html">BinkNextFrame</a>, <a href="BinkWait.html">BinkWait</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,133 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBuffer API</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="BinkBuffer API">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBuffer API</h1>
<h4>Discussion</h4>
<p>The BinkBuffer API was written to make adding YUV blitting to your applications easy. Under Win32, the BinkBuffer API supports five different primary blitting styles (primary, DIBSection, overlay, YUV off-screen and RGB off-screen) and allows you to switch easily between them. Under MacOS, the API the direct-to-screen and GWorld blitting styles. The BinkBuffer API is almost identical on Win32 and MacOS, so porting will be easy. <b>The BinkBuffer API is <i>not</i> supported on the Xbox (see ExamXbox.CPP) or Nintendo GameCube (see ExamNbb.C).</b> Note that the BinkBuffer API will get your applications up and running almost immediately, but <b>it is optional</b>. If you already have DirectDraw, Direct3D or your own blitting solution up and running, you can skip the whole BinkBuffer API completely, and just have the Bink API copy right into your surface pointers. Also, BinkBuffers don't necessarily use any extra system memory. Overlays and most of the off-screen surfaces exist in video memory, and primary surface BinkBuffers don't require any extra memory at all! BinkBuffers are used a lot like the Bink API - you open and receive an HBINKBUFFER handle (which is a pointer to a BINKBUFFER structure), use the handle with the BinkBuffer API functions, and finally, close the BinkBuffer when you're done. See the ExamW32.C or ExampleMac.c files for simple examples. </p>
<table class=toc width=90%>
<tr class=toc>
<th height=25 valign=top class=toc><a href="BinkBuffer API.html">BinkBuffer API</a></th>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferOpen.html">BinkBufferOpen</a></td>
<td height=25 valign=top class=toc>opens a BinkBuffer (which simplifies blitting YUV
data onto the screen).</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINKBUFFER.html">BINKBUFFER</a></td>
<td height=25 valign=top class=toc>is a structure returned from BinkBufferOpen.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a></td>
<td height=25 valign=top class=toc>describes the type and capabilities of the
BinkBuffer that you wish to open.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferClose.html">BinkBufferClose</a></td>
<td height=25 valign=top class=toc>closes the specified BinkBuffer handle.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferSetDirectDraw.html">BinkBufferSetDirectDraw</a></td>
<td height=25 valign=top class=toc>sets the DirectDraw object and primary surface
pointers.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferLock.html">BinkBufferLock</a></td>
<td height=25 valign=top class=toc>locks the BinkBuffer for reading or writing to the
pixel buffer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferUnlock.html">BinkBufferUnlock</a></td>
<td height=25 valign=top class=toc>unlocks a BinkBuffer that has been locked with
BinkBufferLock.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferBlit.html">BinkBufferBlit</a></td>
<td height=25 valign=top class=toc>copies the pixel data onto the screen (for the
off-screen variety of BinkBuffers).</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferCheckWinPos.html">BinkBufferCheckWinPos</a></td>
<td height=25 valign=top class=toc>adjusts the specified window position
coordinates for validity with the current BinkBuffer type.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferSetOffset.html">BinkBufferSetOffset</a></td>
<td height=25 valign=top class=toc>tells the BinkBuffer that either the window
position on the desktop or that the playback offset within the window has
changed.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferSetScale.html">BinkBufferSetScale</a></td>
<td height=25 valign=top class=toc>sets a new shrinking or stretching scale to use
during blitting.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferSetResolution.html">BinkBufferSetResolution</a></td>
<td height=25 valign=top class=toc>tells Bink to switch video resolution when
opening the BinkBuffer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferGetDescription.html">BinkBufferGetDescription</a></td>
<td height=25 valign=top class=toc>returns a string describing the blitting
style being used by the BinkBuffer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkBufferGetError.html">BinkBufferGetError</a></td>
<td height=25 valign=top class=toc>returns a string that describes the last global BinkBuffer error.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkDDSurfaceType.html">BinkDDSurfaceType</a></td>
<td height=25 valign=top class=toc>returns a value describing the format of the specified
DirectDraw surface.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkDX8SurfaceType.html">BinkDX8SurfaceType</a></td>
<td height=25 valign=top class=toc>returns a value describing the format of the specified
DirectX 8 surface.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkGDSurfaceType.html">BinkGDSurfaceType</a></td>
<td height=25 valign=top class=toc>returns a value describing the format of the specified
MacOS Graphics Device.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkIsSoftwareCursor.html">BinkIsSoftwareCursor</a></td>
<td height=25 valign=top class=toc>determines whether the specified mouse cursor
is software-based on the specified DirectDraw surface pointer.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkCheckCursor.html">BinkCheckCursor</a></td>
<td height=25 valign=top class=toc>checks to see if the mouse is currently inside the
specified window rectangle, and, if so, hides it.</td>
</tr>
<tr class=grid>
<td height=25 valign=top class=toc ><a href="BinkRestoreCursor.html">BinkRestoreCursor</a></td>
<td height=25 valign=top class=toc>restores the mouse cursor to its original state
after a BinkCheckCursor call.</td>
</tr>
</table>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferBlit</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="copies the pixel data onto the screen (for the off-screen variety of BinkBuffers).">
<meta name="ms-hkwd" content="BinkBufferBlit">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferBlit</h1>
<p>The function <b>BinkBufferBlit</b> copies the pixel data onto the screen (for the off-screen variety of BinkBuffers).</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkBufferBlit.html" class=trn>BinkBufferBlit</a>(</b>
<b>&nbsp&nbsp<a href="HBINKBUFFER.html" class=trn>HBINKBUFFER</a>&nbsp</b><i>bink_buf</i><b>,</b>
<b>&nbsp&nbsp<a href="BINKRECT_ARRAY.html" class=trn>BINKRECT_ARRAY</a>&nbsp</b><i>rects</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>num_rects</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_buf</i></dt>
<dd>Specifies the BinkBuffer handle.</dd>
<dt><i>rects</i></dt>
<dd>Specifies a pointer to an array of rectangular areas to copy.</dd>
<dt><i>num_rects</i></dt>
<dd>Specifies the number rectangles pointed to by the rects parameter.</dd>
</dl>
<h4>Discussion</h4>
<p>This function blits the pixel data onto the screen for the off-screen style BinkBuffers. For overlay BinkBuffers, this function blits the color key pixels into your window (this allows the overlay to appear on the screen). For primary surface BinkBuffers, this function simply returns without doing anything. You will almost always call this function with the FrameRects field from the Bink structure after calling <a href="BinkGetRects.html">BinkGetRects</a>. <a href="BinkGetRects.html">BinkGetRects</a> fills the FrameRects field with the dirty rectangles from the most recently decompressed Bink frame. So, the blitting logic would look something like this: </p><code><font size=3 color=#006000><pre>BinkDoFrame( bink ); <i>// decompress a frame</i><br>if ( BinkBufferLock( bink_buf ) ){ BinkCopyToBuffer( bink, <i>// copy into the BinkBuffer</i> bink_buf->Buffer, bink_buf->BufferPitch, bink_buf->Height, 0,0, bink_buf->SurfaceType ); BinkBufferUnlock( bink_buf );}<br><i>// blit the data onto the screen</i>BinkBufferBlit( bink_buf, bink->FrameRects, BinkGetRects( bink, bink_buf->SurfaceType ) );</pre></font></code><p>Note that you shouldn't call the BinkBufferBlit function while the buffer is locked - always call <a href="BinkBufferUnlock.html">BinkBufferUnlock</a> before calling BinkBufferBlit. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkBufferLock.html">BinkBufferLock</a>, <a href="BinkBufferOpen.html">BinkBufferOpen</a>, <a href="BinkBufferUnlock.html">BinkBufferUnlock</a>, <a href="BinkGetRects.html">BinkGetRects</a><br>
<b>Related Basic Types:</b>
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a>, <a href="BINKRECT_ARRAY.html">BINKRECT_ARRAY</a>, <a href="HBINKBUFFER.html">HBINKBUFFER</a>, <a href="U32.html">U32</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferCheckWinPos</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="adjusts the specified window position coordinates for validity with the current BinkBuffer type.">
<meta name="ms-hkwd" content="BinkBufferCheckWinPos">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferCheckWinPos</h1>
<p>The function <b>BinkBufferCheckWinPos</b> adjusts the specified window position coordinates for validity with the current BinkBuffer type.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkBufferCheckWinPos.html" class=trn>BinkBufferCheckWinPos</a>(</b>
<b>&nbsp&nbsp<a href="HBINKBUFFER.html" class=trn>HBINKBUFFER</a>&nbsp</b><i>bink_buf</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp*</b><i>new_window_x</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp*</b><i>new_window_y</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_buf</i></dt>
<dd>Specifies the BinkBuffer handle.</dd>
</dl>
<h4>Out Parameters</h4>
<dl>
<dt><i>new_window_x</i></dt>
<dd>Specifies the X (left) coordinate that you want to check.</dd>
<dt><i>new_window_y</i></dt>
<dd>Specifies the Y (top) coordinate that you want to check.</dd>
</dl>
<h4>Discussion</h4>
<p>This function will adjust the supplied window position coordinates for validity with the current BinkBuffer blitting style. Because different blitting styles have different constraints (the primary surface blitting style can't be positioned partially off-screen, some overlay hardware doesn't allow partially off-screen surfaces, etc), this function will let the playback window be dragged safely. Normally under Win32, you should call this function in your WM_WINDOWPOSCHANGING message handler to prevent the window from <b>ever</b> moving to an invalid location. The NewWindowX and NewWindowY coordinates are global screen coordinates, so your default processing logic for WM_WINDOWPOSCHANGING should look something like this: </p><code><font size=3 color=#006000><pre>case WM_WINDOWPOSCHANGING: if ( ( ( ( WINDOWPOS* ) lparam )->flags & SWP_NOMOVE ) == 0 ) { if ( bink_buf ) { S32 x,y;<br> x = ( ( WINDOWPOS* ) lparam )->x; y = ( ( WINDOWPOS* ) lparam )->y; BinkBufferCheckWinPos( bink_buf, &x, &y ); ( ( WINDOWPOS* )lparam )->x = x; ( ( WINDOWPOS* )lparam )->y = y; } } break;</pre></font></code><p></p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkBufferSetOffset.html">BinkBufferSetOffset</a><br>
<b>Related Basic Types:</b>
<a href="HBINKBUFFER.html">HBINKBUFFER</a>, <a href="S32.html">S32</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferClose</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="closes the specified BinkBuffer handle.">
<meta name="ms-hkwd" content="BinkBufferClose">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferClose</h1>
<p>The function <b>BinkBufferClose</b> closes the specified BinkBuffer handle.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkBufferClose.html" class=trn>BinkBufferClose</a>(</b>
<b>&nbsp&nbsp<a href="HBINKBUFFER.html" class=trn>HBINKBUFFER</a>&nbsp</b><i>bink_buf</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_buf</i></dt>
<dd>Specifies the BinkBuffer handle that you wish to close.</dd>
</dl>
<h4>Discussion</h4>
<p>This function simply closes a BinkBuffer and releases all of the associated memory and system resources. You should close any BinkBuffers that you open or you could leak memory or system resources.</p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Sections:</b>
<a href="Open and Close.html">Open and Close</a><br>
<b>Related Functions:</b>
<a href="BinkBufferOpen.html">BinkBufferOpen</a><br>
<b>Related Basic Types:</b>
<a href="HBINKBUFFER.html">HBINKBUFFER</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferGetDescription</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns a string describing the blitting style being used by the BinkBuffer.">
<meta name="ms-hkwd" content="BinkBufferGetDescription">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferGetDescription</h1>
<p>The function <b>BinkBufferGetDescription</b> returns a string describing the blitting style being used by the BinkBuffer.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="BINK_STRING.html" class=trn>BINK_STRING</a> <a href="BinkBufferGetDescription.html" class=trn>BinkBufferGetDescription</a>(</b>
<b>&nbsp&nbsp<a href="HBINKBUFFER.html" class=trn>HBINKBUFFER</a>&nbsp</b><i>bink_buf</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_buf</i></dt>
<dd>Specifies the BinkBuffer handle.</dd>
</dl>
<h4>Returns</h4>
<p>Returns a description string.</p>
<h4>Discussion</h4>
<p>This function will return a string constant that describes the blitting style used by the specified BinkBuffer. It is useful to display what type of technology the BinkBuffer is using (especially if it was opened with the <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERAUTO">BINKBUFFERAUTO</a> blitting style).</p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Basic Types:</b>
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a>, <a href="BINK_STRING.html">BINK_STRING</a>, <a href="HBINKBUFFER.html">HBINKBUFFER</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferGetError</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns a string that describes the last global BinkBuffer error.">
<meta name="ms-hkwd" content="BinkBufferGetError">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferGetError</h1>
<p>The function <b>BinkBufferGetError</b> returns a string that describes the last global BinkBuffer error.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="BINK_STRING.html" class=trn>BINK_STRING</a> <a href="BinkBufferGetError.html" class=trn>BinkBufferGetError</a>(</b><b>);</b></pre>
</td>
</tr>
</table>
<h4>Returns</h4>
<p>Returns the last global BinkBuffer error.</p>
<h4>Discussion</h4>
<p>This function returns a string describing the last global BinkBuffer error. It is especially handy if <a href="BinkBufferOpen.html">BinkBufferOpen</a> fails. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkBufferOpen.html">BinkBufferOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINK_STRING.html">BINK_STRING</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferLock</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="locks the BinkBuffer for reading or writing to the pixel buffer.">
<meta name="ms-hkwd" content="BinkBufferLock">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferLock</h1>
<p>The function <b>BinkBufferLock</b> locks the BinkBuffer for reading or writing to the pixel buffer.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkBufferLock.html" class=trn>BinkBufferLock</a>(</b>
<b>&nbsp&nbsp<a href="HBINKBUFFER.html" class=trn>HBINKBUFFER</a>&nbsp</b><i>bink_buf</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_buf</i></dt>
<dd>Specifies the BinkBuffer handle.</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether the BinkBuffer was successfully locked (non-zero) or not (zero).</p>
<h4>Discussion</h4>
<p>This function locks the BinkBuffer for reading or writing to the pixel buffer. Once you lock a BinkBuffer, the Buffer and BufferPitch fields of the BinkBuffer structure will be set and available for use. Note that DirectDraw can be locked during a BinkBuffer lock, so be quick - do the lock, do whatever you want to the buffer as quickly as possible, and then do the unlock. For primary surface and overlay BinkBuffers, data written to a locked BinkBuffer will appear on the screen immediately. For off-screen BinkBuffers, you must lock, copy the pixel data, unlock, and then blit before the data will appear on the screen. To blit a frame onto the screen, you lock the buffer, copy from the Bink internal buffers into the BinkBuffer, unlock the buffer, and then blit the BinkBuffer onto the screen. So, to blit a frame of a Bink file onto the screen, you'll use code something like this: </p><code><font size=3 color=#006000><pre>BinkDoFrame( bink ); <i>// decompress a frame</i><br>if ( BinkBufferLock( bink_buf ) ){ BinkCopyToBuffer( bink, <i>// copy into the BinkBuffer</i> bink_buf->Buffer, bink_buf->BufferPitch, bink_buf->Height, 0,0, bink_buf->SurfaceType );<br> BinkBufferUnlock( bink_buf );}<br><i>// blit the data onto the screen</i>BinkBufferBlit( bink_buf, bink->FrameRects, BinkGetRects( bink, bink_buf->SurfaceType ) );</pre></font></code><p>This function will return a non-zero value if the lock succeeded, and a zero if the BinkBuffer couldn't be locked. Note that DirectDraw doesn't allow you to step through a DirectDraw lock, so never single step over a BinkBufferLock call, or your machine will lock up. Always set a breakpoint after the <a href="BinkBufferUnlock.html">BinkBufferUnlock</a> call, and then just run to the breakpoint. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Sections:</b>
<a href="Locking and Unlocking.html">Locking and Unlocking</a><br>
<b>Related Functions:</b>
<a href="BinkBufferBlit.html">BinkBufferBlit</a>, <a href="BinkBufferUnlock.html">BinkBufferUnlock</a>, <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a><br>
<b>Related Basic Types:</b>
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a>, <a href="HBINKBUFFER.html">HBINKBUFFER</a>, <a href="S32.html">S32</a><br>
<b>Related Structures:</b>
<a href="BINKBUFFER.html">BINKBUFFER</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,68 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferOpen</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="opens a BinkBuffer (which simplifies blitting YUV data onto the screen).">
<meta name="ms-hkwd" content="BinkBufferOpen">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferOpen</h1>
<p>The function <b>BinkBufferOpen</b> opens a BinkBuffer (which simplifies blitting YUV data onto the screen).</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="HBINKBUFFER.html" class=trn>HBINKBUFFER</a> <a href="BinkBufferOpen.html" class=trn>BinkBufferOpen</a>(</b>
<b>&nbsp&nbsp<a href="OS_WND.html" class=trn>OS_WND</a>&nbsp</b><i>window</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>width</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>height</i><b>,</b>
<b>&nbsp&nbsp<a href="BINKBUFFER_OPEN_FLAGS.html" class=trn>BINKBUFFER_OPEN_FLAGS</a>&nbsp</b><i>open_flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>window</i></dt>
<dd>Specifies the window handle (under Win32) or window pointer (under MacOs) that the Bink file will be playing into. If you are using DirectDraw under Win32, this should be the HWND passed to SetCooperativeLevel.</dd>
<dt><i>width</i></dt>
<dd>Specifies the non-scaled width of the BinkBuffer (this is usually bink->Width).</dd>
<dt><i>height</i></dt>
<dd>Specifies the non-scaled height of the BinkBuffer (this is usually bink->Height).</dd>
<dt><i>open_flags</i></dt>
<dd>Specifies the type of blitting style and blitting functionality that you need. You will almost always just use <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERAUTO">BINKBUFFERAUTO</a> for the open_flags parameter.</dd>
</dl>
<h4>Returns</h4>
<p>Returns an HBINKBUFFER handle that the other BinkBuffer API functions require. Returns zero if an error occurs.</p>
<h4>Discussion</h4>
<p>The BinkBuffer API simply provides an easy, abstracted way to access most of the YUV blitting techniques that are available under Win32 or MacOS. You will usually open a BinkBuffer like: </p><code><font size=3 color=#006000><pre>bink_buf = BinkBufferOpen( ourwind, bink->Width, bink->Height, BINKBUFFERAUTO );</pre></font></code><p>Once the BinkBuffer is open, you must then resize your playback window to fit the Bink output (unless you are running full-screen or under DirectDraw and you've already set up your HWND). To do this under Win32, use a call like this: </p><code><font size=3 color=#006000><pre>SetWindowPos( hwnd, 0, 0, 0, bink_buf->WindowWidth, bink_buf->WindowHeight, SWP_NOMOVE );</pre></font></code><p>To blit a frame onto the screen, you lock the buffer, copy from the Bink internal buffers into the BinkBuffer, unlock the buffer, and then blit the BinkBuffer onto the screen. So, to blit a frame of a Bink file onto the screen, you'll use code something like this: </p><code><font size=3 color=#006000><pre>BinkDoFrame( bink ); <i>// decompress a frame</i><br>if ( BinkBufferLock( bink_buf ) ){ BinkCopyToBuffer( bink, <i>// copy into the BinkBuffer</i> bink_buf->Buffer, bink_buf->BufferPitch, bink_buf->Height, 0, 0, bink_buf->SurfaceType );<br> BinkBufferUnlock( bink_buf );}<br><i>// blit the data onto the screen</i>BinkBufferBlit( bink_buf, bink->FrameRects, BinkGetRects( bink, bink_buf->SurfaceType ) );</pre></font></code><p>Depending on the blitting style, the video's pixels may appear on the screen during the <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> call, or later, during the <a href="BinkBufferBlit.html">BinkBufferBlit</a> call. If DirectDraw is installed and your aren't scaling, then you will usually be given a BinkBuffer that abstracts the DirectDraw primary video surface. In almost all other cases, you will be given a BinkBuffer that is an abstracted Windows DIBSection. If you want to use a YUV overlay or a YUV off-screen, then you must use the appropriate, specific BinkBuffer flag. Note that if you don't specify any of the various scaling flags, then you might still get a blitting style that allows scaling with <a href="BinkBufferSetScale.html">BinkBufferSetScale</a> function - <b>but probably not!</b> So, if you know that you're going to be scaling, then you should always use one of the scaling flags when calling BinkBufferOpen. If the BinkBuffer couldn't be created (lack of memory, low resources, etc), then this function will return zero. You must make sure to call <a href="BinkBufferClose.html">BinkBufferClose</a> on any buffer allocated by BinkBufferOpen. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Sections:</b>
<a href="Locking and Unlocking.html">Locking and Unlocking</a>, <a href="Open and Close.html">Open and Close</a>, <a href="Scaling.html">Scaling</a><br>
<b>Related Functions:</b>
<a href="BinkBufferBlit.html">BinkBufferBlit</a>, <a href="BinkBufferClose.html">BinkBufferClose</a>, <a href="BinkBufferGetError.html">BinkBufferGetError</a>, <a href="BinkBufferSetDirectDraw.html">BinkBufferSetDirectDraw</a>, <a href="BinkBufferSetResolution.html">BinkBufferSetResolution</a>, <a href="BinkBufferSetScale.html">BinkBufferSetScale</a>, <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a><br>
<b>Related Basic Types:</b>
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a>, <a href="HBINKBUFFER.html">HBINKBUFFER</a>, <a href="OS_WND.html">OS_WND</a>, <a href="U32.html">U32</a><br>
<b>Related Structures:</b>
<a href="BINKBUFFER.html">BINKBUFFER</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,56 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferSetDirectDraw</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="sets the DirectDraw object and primary surface pointers.">
<meta name="ms-hkwd" content="BinkBufferSetDirectDraw">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferSetDirectDraw</h1>
<p>The function <b>BinkBufferSetDirectDraw</b> sets the DirectDraw object and primary surface pointers.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkBufferSetDirectDraw.html" class=trn>BinkBufferSetDirectDraw</a>(</b>
<b>&nbsp&nbsp<a href="LPDIRECTDRAW.html" class=trn>LPDIRECTDRAW</a>&nbsp</b><i>lpDirectDraw</i><b>,</b>
<b>&nbsp&nbsp<a href="LPDIRECTDRAWSURFACE.html" class=trn>LPDIRECTDRAWSURFACE</a>&nbsp</b><i>lpddsPrimary</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>lpDirectDraw</i></dt>
<dd>specifies the DirectDraw object pointer to use.</dd>
<dt><i>lpddsPrimary</i></dt>
<dd>specifies the DirectDraw primary surface object pointer to use.</dd>
</dl>
<h4>Discussion</h4>
<p>By default, Bink creates its own DirectDraw and primary surface objects. This function is used when you already have DirectDraw up and running in your application. So, if you have already created your own DirectDraw objects, then you should call this function before your first call to <a href="BinkBufferOpen.html">BinkBufferOpen</a>.</p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkBufferOpen.html">BinkBufferOpen</a><br>
<b>Related Basic Types:</b>
<a href="LPDIRECTDRAW.html">LPDIRECTDRAW</a>, <a href="LPDIRECTDRAWSURFACE.html">LPDIRECTDRAWSURFACE</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,61 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferSetOffset</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells the BinkBuffer that either the window position on the desktop or that the playback offset within the window has changed.">
<meta name="ms-hkwd" content="BinkBufferSetOffset">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferSetOffset</h1>
<p>The function <b>BinkBufferSetOffset</b> tells the BinkBuffer that either the window position on the desktop or that the playback offset within the window has changed.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkBufferSetOffset.html" class=trn>BinkBufferSetOffset</a>(</b>
<b>&nbsp&nbsp<a href="HBINKBUFFER.html" class=trn>HBINKBUFFER</a>&nbsp</b><i>bink_buf</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>dest_x</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>dest_y</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_buf</i></dt>
<dd>Specifies the BinkBuffer handle.</dd>
<dt><i>dest_x</i></dt>
<dd>Specifies the X (left) coordinate (relative to the upper-left of the window) that you want to blit to.</dd>
<dt><i>dest_y</i></dt>
<dd>Specifies the Y (top) coordinate (relative to the upper-left of the window) that you want to blit to.</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether the BinkBuffer was successfully repositioned (non-zero) or whether the specified coordinates were invalid (zero).</p>
<h4>Discussion</h4>
<p>This function tells the BinkBuffer that either the playback window position itself or the playback offset within the window has been changed. Normally under Win32, you will want to call this function from the WM_WINDOWPOSCHANGED message in your window procedure. The dest_x and dest_y are offsets in client coordinates, so if you want the video to play in the upper left of your window, you should use zero for both offsets. So, the default code for your WM_WINDOWPOSCHANGED message would be: </p><code><font size=3 color=#006000><pre>case WM_WINDOWPOSCHANGED: if ( bink_buf ) BinkBufferSetOffset( bink_buf, 0, 0 ); break;</pre></font></code><p>DirectDraw overlays won't move if you drag the video playback window to a new position and you fail to call this function. This function will return a non-zero if the BinkBuffer was repositioned, or zero if the BinkBuffer couldn't be positioned to the given coordinates. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkBufferCheckWinPos.html">BinkBufferCheckWinPos</a><br>
<b>Related Basic Types:</b>
<a href="HBINKBUFFER.html">HBINKBUFFER</a>, <a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferSetResolution</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink to switch video resolution when opening the BinkBuffer.">
<meta name="ms-hkwd" content="BinkBufferSetResolution">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferSetResolution</h1>
<p>The function <b>BinkBufferSetResolution</b> tells Bink to switch video resolution when opening the BinkBuffer.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkBufferSetResolution.html" class=trn>BinkBufferSetResolution</a>(</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>width</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>height</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>color_depth</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>width</i></dt>
<dd>Specifies the screen width that you wish to switch into (in pixels).</dd>
<dt><i>height</i></dt>
<dd>Specifies the screen height that you wish to switch into (in pixels).</dd>
<dt><i>color_depth</i></dt>
<dd>Specifies the screen color depth that you wish to switch into (in bits: 8, 16, 24, or 32). You can also use several color depth macros: 1=at least high-color (tries 16-bit, then 32-bit, and then 24-bit), 2=attempt true-color (tries 32-bit, then 24-bit, and then 16-bit), or 3=true-color only (tries 32-bit, then 24-bit).</dd>
</dl>
<h4>Discussion</h4>
<p>This function tells Bink what resolution to use when playing the Bink file. This function won't actually switch the resolution - it just requests that it be used when the BinkBuffer is opened. To use this function, you first call this function, and then you call call <a href="BinkOpen.html">BinkOpen</a> using the <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERRESOLUTION">BINKBUFFERRESOLUTION</a> flag. Note that if you have already switched the resolution using DirectDraw, then you don't have to do it again with the BinkBuffer API. If you used the <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERDIBSECTION">BINKBUFFERDIBSECTION</a> flag to open this BinkBuffer, then Bink will use ChangeDisplaySettings to switch the video mode. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkBufferOpen.html">BinkBufferOpen</a>, <a href="BinkOpen.html">BinkOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a>, <a href="U32.html">U32</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,63 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferSetScale</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="sets a new shrinking or stretching scale to use during blitting.">
<meta name="ms-hkwd" content="BinkBufferSetScale">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferSetScale</h1>
<p>The function <b>BinkBufferSetScale</b> sets a new shrinking or stretching scale to use during blitting.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkBufferSetScale.html" class=trn>BinkBufferSetScale</a>(</b>
<b>&nbsp&nbsp<a href="HBINKBUFFER.html" class=trn>HBINKBUFFER</a>&nbsp</b><i>bink_buf</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>width</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>height</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_buf</i></dt>
<dd>Specifies the BinkBuffer handle.</dd>
<dt><i>width</i></dt>
<dd>Specifies the width that you would like the blitting stretched or shrunk to.</dd>
<dt><i>height</i></dt>
<dd>Specifies the height that you would like the blitting stretched or shrunk to.</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether the BinkBuffer was successfully able to use this scale (non-zero) or whether the specified scale was invalid (zero).</p>
<h4>Discussion</h4>
<p>This function sets a new shrink/stretch scale to use. Not all of the blitting styles can do shrinking or stretching, so be sure to specify one of the <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERSTRETCHX">BINKBUFFERSTRETCHX</a>, <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERSTRETCHY">BINKBUFFERSTRETCHY</a>, <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERSHRINKX">BINKBUFFERSHRINKX</a>, or <a href="BINKBUFFER_OPEN_FLAGS.html#BINKBUFFERSHRINKY">BINKBUFFERSHRINKY</a> constants when you open the BinkBuffer, or your scale factor may be ignored. Stretching and shrinking is almost always faster (even in hardware) when using an integral factor (2x, for example). The WindowWidth and WindowHeight fields in the BinkBuffer structure will be updated to new sizes if this function is successful. This function returns non-zero if the BinkBuffer is able to perform the scale, or zero if the BinkBuffer is unable to scale. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Sections:</b>
<a href="Scaling.html">Scaling</a><br>
<b>Related Functions:</b>
<a href="BinkBufferOpen.html">BinkBufferOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a>, <a href="HBINKBUFFER.html">HBINKBUFFER</a>, <a href="S32.html">S32</a>, <a href="U32.html">U32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBufferUnlock</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="unlocks a BinkBuffer that has been locked with BinkBufferLock.">
<meta name="ms-hkwd" content="BinkBufferUnlock">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBufferUnlock</h1>
<p>The function <b>BinkBufferUnlock</b> unlocks a BinkBuffer that has been locked with BinkBufferLock.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkBufferUnlock.html" class=trn>BinkBufferUnlock</a>(</b>
<b>&nbsp&nbsp<a href="HBINKBUFFER.html" class=trn>HBINKBUFFER</a>&nbsp</b><i>bink_buf</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_buf</i></dt>
<dd>Specifies the BinkBuffer handle.</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether the BinkBuffer was successfully unlocked (non-zero) or not (zero).</p>
<h4>Discussion</h4>
<p>This function will unlock a locked BinkBuffer. You must unlock any BinkBuffers that you've locked with the <a href="BinkBufferLock.html">BinkBufferLock</a> function as quickly as possible. If you fail to unlock a BinkBuffer, DirectDraw will usually lock out your display and you'll have to reboot. Note that DirectDraw doesn't allow you to step through a DirectDraw lock, so never single step over a <a href="BinkBufferLock.html">BinkBufferLock</a> call, or your machine will lock up. Always set a breakpoint after the BinkBufferUnlock call, and then just run to the breakpoint. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Sections:</b>
<a href="Locking and Unlocking.html">Locking and Unlocking</a><br>
<b>Related Functions:</b>
<a href="BinkBufferBlit.html">BinkBufferBlit</a>, <a href="BinkBufferLock.html">BinkBufferLock</a>, <a href="BinkBufferUnlock.html">BinkBufferUnlock</a>, <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a><br>
<b>Related Basic Types:</b>
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a>, <a href="HBINKBUFFER.html">HBINKBUFFER</a>, <a href="S32.html">S32</a><br>
<b>Related Structures:</b>
<a href="BINKBUFFER.html">BINKBUFFER</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkBuffers to the Rescue</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="BinkBuffers to the Rescue">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkBuffers to the Rescue</h1>
<h4>Discussion</h4>
<p>So, which technology should you use? Bink's built-in software, overlays, or off-screen buffers? To help with this dilemma, Bink includes the BinkBuffer API. BinkBuffers hide a bunch of the DirectDraw complexity to make switching between the various colorspace options really easy. The Bink player, the ExamW32.C example, and the ExamMSS.C example all use the BinkBuffer API to make displaying Bink frames simple. Note, however, that the BinkBuffer API is fairly high-level, so if you've already got DirectDraw or Direct3D running in your application, you may simply want to skip BinkBuffers completely and use the internal Bink software routines to convert directly onto the primary or a secondary surface. See the ExamDDP.C file for an example of this type of playback. </p>
<p><a href="Sound under Win32.html">Next Topic (Sound under Win32)</a> </p><p><a href="Pros and Cons of YUVkjct5t.html">Previous Topic (Pros and Cons of YUV Off-screen Buffers under Win32)</a> </p><p>
<br>
<b>Group:</b>
<a href="The Win32 Platform.html">The Win32 Platform</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,69 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkCheckCursor</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="checks to see if the mouse is currently inside the specified window rectangle, and, if so, hides it.">
<meta name="ms-hkwd" content="BinkCheckCursor">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkCheckCursor</h1>
<p>The function <b>BinkCheckCursor</b> checks to see if the mouse is currently inside the specified window rectangle, and, if so, hides it.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkCheckCursor.html" class=trn>BinkCheckCursor</a>(</b>
<b>&nbsp&nbsp<a href="OS_WND.html" class=trn>OS_WND</a>&nbsp</b><i>window</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>check_x</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>check_y</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>width</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>height</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>window</i></dt>
<dd>Specifies the window handle (under Win32) or window pointer (under MacOS) that the check_x and check_y parameters are relative to. You can pass in NULL for this parameter.</dd>
<dt><i>check_x</i></dt>
<dd>Specifies the X (left) coordinate of the test rectangle.</dd>
<dt><i>check_y</i></dt>
<dd>Specifies the X (left) coordinate of the test rectangle.</dd>
<dt><i>width</i></dt>
<dd>Specifies the width of the test rectangle.</dd>
<dt><i>height</i></dt>
<dd>Specifies the height of the test rectangle.</dd>
</dl>
<h4>Returns</h4>
<p>Returns the total number of times cursor had to be hidden (which is passed to <a href="BinkRestoreCursor.html">BinkRestoreCursor</a>).</p>
<h4>Discussion</h4>
<p>This function will determine if the mouse is currently in the specified window rectangle, and, if it is, hide it. This will let you move the mouse without leaving mouse trails behind with software-drawn mouse cursors. You have to call this function before you lock the primary surface, or the cursor won't be hidden. Check out the <a href="BinkIsSoftwareCursor.html">BinkIsSoftwareCursor</a> function for an example of how to use this function. This function returns a count value that you need to pass to the <a href="BinkRestoreCursor.html">BinkRestoreCursor</a> function to restore the mouse cursor to its original state. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Sections:</b>
<a href="Mouse Cursors.html">Mouse Cursors</a><br>
<b>Related Functions:</b>
<a href="BinkIsSoftwareCursor.html">BinkIsSoftwareCursor</a>, <a href="BinkRestoreCursor.html">BinkRestoreCursor</a><br>
<b>Related Basic Types:</b>
<a href="OS_WND.html">OS_WND</a>, <a href="S32.html">S32</a>, <a href="U32.html">U32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkClose</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="closes the specified Bink handle.">
<meta name="ms-hkwd" content="BinkClose">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkClose</h1>
<p>The function <b>BinkClose</b> closes the specified Bink handle.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkClose.html" class=trn>BinkClose</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle that you wish to close.</dd>
</dl>
<h4>Discussion</h4>
<p>This function simply closes a Bink file and releases all of the associated memory. You should close all Bink files that you open or you could leak memory or system resources.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Open and Close.html">Open and Close</a><br>
<b>Related Functions:</b>
<a href="BinkGetSummary.html">BinkGetSummary</a>, <a href="BinkMacOpen.html">BinkMacOpen</a>, <a href="BinkOpen.html">BinkOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="HBINK.html">HBINK</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkCloseTrack</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="closes a low-level audio track decoder handle.">
<meta name="ms-hkwd" content="BinkCloseTrack">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkCloseTrack</h1>
<p>The function <b>BinkCloseTrack</b> closes a low-level audio track decoder handle.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkCloseTrack.html" class=trn>BinkCloseTrack</a>(</b>
<b>&nbsp&nbsp<a href="HBINKTRACK.html" class=trn>HBINKTRACK</a>&nbsp</b><i>bink_track</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_track</i></dt>
<dd>Specifies the handle to close.</dd>
</dl>
<h4>Discussion</h4>
<p>This function closes a Bink audio track handle that was opened with the <a href="BinkOpenTrack.html">BinkOpenTrack</a> function. This function is rarely used - most of the time audio playback is completely automatic with Bink. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkCloseTrack.html">BinkCloseTrack</a>, <a href="BinkGetTrackData.html">BinkGetTrackData</a>, <a href="BinkGetTrackID.html">BinkGetTrackID</a>, <a href="BinkOpenTrack.html">BinkOpenTrack</a><br>
<b>Related Basic Types:</b>
<a href="HBINKTRACK.html">HBINKTRACK</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,77 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkCopyToBuffer</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="copies a video frame from the internal Bink memory buffers to a specified memory address.">
<meta name="ms-hkwd" content="BinkCopyToBuffer">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkCopyToBuffer</h1>
<p>The function <b>BinkCopyToBuffer</b> copies a video frame from the internal Bink memory buffers to a specified memory address.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkCopyToBuffer.html" class=trn>BinkCopyToBuffer</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="VOID_PTR.html" class=trn>VOID_PTR</a>&nbsp</b><i>dest_addr</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>dest_pitch</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>dest_height</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>dest_x</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>dest_y</i><b>,</b>
<b>&nbsp&nbsp<a href="BINK_COPY_FLAGS.html" class=trn>BINK_COPY_FLAGS</a>&nbsp</b><i>copy_flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>dest_addr</i></dt>
<dd>Address of the destination memory buffer.</dd>
<dt><i>dest_pitch</i></dt>
<dd>Pitch of the destination buffer in bytes.</dd>
<dt><i>dest_height</i></dt>
<dd>Height of the destination buffer in pixels.</dd>
<dt><i>dest_x</i></dt>
<dd>X (left) pixel offset into the destination buffer.</dd>
<dt><i>dest_y</i></dt>
<dd>Y (top) pixel offset into the destination buffer.</dd>
<dt><i>copy_flags</i></dt>
<dd>Specifies the flags that describe the destination buffer type and other special copy options.</dd>
</dl>
<h4>Returns</h4>
<p>Returns one if the frame was skipped, or zero otherwise.</p>
<h4>Discussion</h4>
<p>Use this function to copy the decompressed pixels from Bink's internal decompression buffers into a destination address. This destination address can be any linear piece of memory - malloc-ed memory, DirectDraw surface pointers, the Buffer address in a BinkBuffer structure, etc. If the destination uses the RGB colorspace, then this function also performs the conversion from YUV to RGB. If you are using the BinkBuffer API, use the bink_buf->Buffer field for the dest_addr parameter, the bink_buf->BufferPitch field for the dest_pitch parameter, the bink_buf->Height field for the dest_height parameter, and the bink_buf->SurfaceType field for the copy_flags parameter. Also make sure you call <a href="BinkBufferLock.html">BinkBufferLock</a> before calling BinkCopyToBuffer and <a href="BinkBufferUnlock.html">BinkBufferUnlock</a> immediately after. See ExamW32.C for details. If you are using DirectDraw, then simply lock the surface you want to copy to, call BinkCopyToBuffer (with lpSurface for the dest_addr parameter and lPitch for the dest_pitch), and then unlock the surface. See ExamDDP.C for details. Note that if the video is falling behind the audio, then this function may return without copying any pixels. If the copy is skipped, then this function will return a non-zero value. If copy was successful, then a zero will be returned. To copy just a piece of the internal buffers, use the <a href="BinkCopyToBufferRect.html">BinkCopyToBufferRect</a> function. On the Nintendo GameCube, note that due to the swizzled output, you must use divisible-by-four values for the X offset, Y offset, width, and height parameters. Inverted scanline buffers (bottom-up) are also supported (although rarely necessary now a days). To specify an inverted buffer, pass in a negative pitch. Inverted buffers will be slower than standard top-down buffers. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Bink Examples for th43an3m.html">Bink Examples for the Nintendo GameCube</a>, <a href="Bink Playback on the43an3m.html">Bink Playback on the Nintendo GameCube</a>, <a href="Scaling.html">Scaling</a><br>
<b>Related Functions:</b>
<a href="BinkBufferLock.html">BinkBufferLock</a>, <a href="BinkBufferOpen.html">BinkBufferOpen</a>, <a href="BinkBufferUnlock.html">BinkBufferUnlock</a>, <a href="BinkCopyToBufferRect.html">BinkCopyToBufferRect</a>, <a href="BinkDDSurfaceType.html">BinkDDSurfaceType</a>, <a href="BinkDX8SurfaceType.html">BinkDX8SurfaceType</a>, <a href="BinkDoFrame.html">BinkDoFrame</a>, <a href="BinkGDSurfaceType.html">BinkGDSurfaceType</a><br>
<b>Related Basic Types:</b>
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a>, <a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a>, <a href="U32.html">U32</a>, <a href="VOID_PTR.html">VOID_PTR</a><br>
<b>Related Structures:</b>
<a href="BINKBUFFER.html">BINKBUFFER</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,87 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkCopyToBufferRect</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="copies a piece of the video frame from the internal Bink memory buffers to a specified memory address.">
<meta name="ms-hkwd" content="BinkCopyToBufferRect">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkCopyToBufferRect</h1>
<p>The function <b>BinkCopyToBufferRect</b> copies a piece of the video frame from the internal Bink memory buffers to a specified memory address.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkCopyToBufferRect.html" class=trn>BinkCopyToBufferRect</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="VOID_PTR.html" class=trn>VOID_PTR</a>&nbsp</b><i>dest_addr</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>dest_pitch</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>dest_height</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>dest_x</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>dest_y</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>src_x</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>src_y</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>src_w</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>src_h</i><b>,</b>
<b>&nbsp&nbsp<a href="BINK_COPY_FLAGS.html" class=trn>BINK_COPY_FLAGS</a>&nbsp</b><i>copy_flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>dest_addr</i></dt>
<dd>Address of the destination memory buffer.</dd>
<dt><i>dest_pitch</i></dt>
<dd>Pitch of the destination buffer in bytes.</dd>
<dt><i>dest_height</i></dt>
<dd>Height of the destination buffer in pixels.</dd>
<dt><i>dest_x</i></dt>
<dd>X (left) pixel offset into the destination buffer.</dd>
<dt><i>dest_y</i></dt>
<dd>Y (top) pixel offset into the destination buffer.</dd>
<dt><i>src_x</i></dt>
<dd>The X pixel offset in the internal Bink buffer. This must be divisible by 16 unless you use the <a href="BINK_COPY_FLAGS.html#BINKCOPYALL">BINKCOPYALL</a> flag.</dd>
<dt><i>src_y</i></dt>
<dd>The Y pixel offiset in the internal Bink buffer.</dd>
<dt><i>src_w</i></dt>
<dd>The width in pixels to copy.</dd>
<dt><i>src_h</i></dt>
<dd>The height in pixels to copy.</dd>
<dt><i>copy_flags</i></dt>
<dd>Specifies the flags that describe the destination buffer type and other special copy options.</dd>
</dl>
<h4>Returns</h4>
<p>Returns one if the frame was skipped, or zero otherwise.</p>
<h4>Discussion</h4>
<p>Use this function to copy the decompressed pixels from Bink's internal decompression buffers into a destination address just like <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a>. The only difference between this function and <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> is that this function can copy a sub-rectangle of Bink's internal buffers. This is handy when you don't need the entire video frame, or when a single video frame is being broken up into multiple output buffers (like when you are using tiled 256x256 textures, for example. When using this function without the <a href="BINK_COPY_FLAGS.html#BINKCOPYALL">BINKCOPYALL</a> flag, you must use a divisible by 16 value for the src_x parameter.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Scaling.html">Scaling</a><br>
<b>Related Functions:</b>
<a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a>, <a href="BinkDDSurfaceType.html">BinkDDSurfaceType</a>, <a href="BinkDoFrame.html">BinkDoFrame</a>, <a href="BinkGDSurfaceType.html">BinkGDSurfaceType</a><br>
<b>Related Basic Types:</b>
<a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a>, <a href="U32.html">U32</a>, <a href="VOID_PTR.html">VOID_PTR</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkDDSurfaceType</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns a value describing the format of the specified DirectDraw surface.">
<meta name="ms-hkwd" content="BinkDDSurfaceType">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkDDSurfaceType</h1>
<p>The function <b>BinkDDSurfaceType</b> returns a value describing the format of the specified DirectDraw surface.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="BINK_COPY_FLAGS.html" class=trn>BINK_COPY_FLAGS</a> <a href="BinkDDSurfaceType.html" class=trn>BinkDDSurfaceType</a>(</b>
<b>&nbsp&nbsp<a href="LPDIRECTDRAWSURFACE.html" class=trn>LPDIRECTDRAWSURFACE</a>&nbsp</b><i>lpDirectDrawSurface</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>lpDirectDrawSurface</i></dt>
<dd>Specifies the surface that you want to query.</dd>
</dl>
<h4>Returns</h4>
<p>Returns a value describing the format of the surface.</p>
<h4>Discussion</h4>
<p>This function returns a value describing the supplied DirectDraw surface. You can use this function to obtain the surface type to pass to the <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> function. If the surface type is unknown or unsupported, then this function returns -1. For DirectX 8 surfaces, use the <a href="BinkDX8SurfaceType.html">BinkDX8SurfaceType</a> function - <b>not BinkDDSurfaceType!</b> On MacOS, use the <a href="BinkGDSurfaceType.html">BinkGDSurfaceType</a> function. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a>, <a href="BinkCopyToBufferRect.html">BinkCopyToBufferRect</a>, <a href="BinkDX8SurfaceType.html">BinkDX8SurfaceType</a>, <a href="BinkGDSurfaceType.html">BinkGDSurfaceType</a><br>
<b>Related Basic Types:</b>
<a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="LPDIRECTDRAWSURFACE.html">LPDIRECTDRAWSURFACE</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkDX8SurfaceType</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns a value describing the format of the specified DirectX 8 surface.">
<meta name="ms-hkwd" content="BinkDX8SurfaceType">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkDX8SurfaceType</h1>
<p>The function <b>BinkDX8SurfaceType</b> returns a value describing the format of the specified DirectX 8 surface.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="BINK_COPY_FLAGS.html" class=trn>BINK_COPY_FLAGS</a> <a href="BinkDX8SurfaceType.html" class=trn>BinkDX8SurfaceType</a>(</b>
<b>&nbsp&nbsp<a href="LPDIRECT3DSURFACE8.html" class=trn>LPDIRECT3DSURFACE8</a>&nbsp</b><i>lpDirect3DSurface</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>lpDirect3DSurface</i></dt>
<dd>Specifies the surface that you want to query.</dd>
</dl>
<h4>Returns</h4>
<p>Returns a value describing the format of the surface.</p>
<h4>Discussion</h4>
<p>This function returns a value describing the supplied DirectX 8 surface. You can use this function to obtain the surface type to pass to the <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> function. If the surface type is unknown or unsupported, then this function returns -1. For earlier versions of DirectX, use the <a href="BinkDDSurfaceType.html">BinkDDSurfaceType</a> function. On MacOS, use the <a href="BinkGDSurfaceType.html">BinkGDSurfaceType</a> function. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a>, <a href="BinkDDSurfaceType.html">BinkDDSurfaceType</a>, <a href="BinkGDSurfaceType.html">BinkGDSurfaceType</a><br>
<b>Related Basic Types:</b>
<a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="LPDIRECT3DSURFACE8.html">LPDIRECT3DSURFACE8</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,57 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkDoFrame</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="decompresses the next frame of video.">
<meta name="ms-hkwd" content="BinkDoFrame">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkDoFrame</h1>
<p>The function <b>BinkDoFrame</b> decompresses the next frame of video.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkDoFrame.html" class=trn>BinkDoFrame</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
</dl>
<h4>Returns</h4>
<p>Returns one if the frame was skipped, or zero otherwise.</p>
<h4>Discussion</h4>
<p>This function does the actual decompression of the next Bink frame. Bink decompresses the compressed Bink frame into the three internal YUV memory buffers, so you must then copy the data out of the internal buffers with the <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> function. If the audio is falling behind the video, this function may skip decompressing the video frame. You can determine how many frames have been skipped by examining the SkippedFrames field of the Bink summary structure (see the <a href="BinkGetSummary.html">BinkGetSummary</a> function for details). If you specified the <a href="BINK_OPEN_FLAGS.html#BINKNOSKIP">BINKNOSKIP</a> flag in <a href="BinkOpen.html">BinkOpen</a>, then <a href="BinkDoFrame.html">BinkDoFrame</a> will never skip a frame. You should call <a href="BinkNextFrame.html">BinkNextFrame</a> before calling this function again. This function returns one if the frame was skipped, or zero otherwise. If you specified the <a href="BINK_OPEN_FLAGS.html#BINKNOSKIP">BINKNOSKIP</a> flag in <a href="BinkOpen.html">BinkOpen</a>, then this function returns a non-zero value if the frame <b>should</b> have been skipped. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Bink Video Playback.html">Bink Video Playback</a>, <a href="Open and Close.html">Open and Close</a><br>
<b>Related Functions:</b>
<a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a>, <a href="BinkCopyToBufferRect.html">BinkCopyToBufferRect</a>, <a href="BinkDoFrame.html">BinkDoFrame</a>, <a href="BinkGetRects.html">BinkGetRects</a>, <a href="BinkGetSummary.html">BinkGetSummary</a>, <a href="BinkNextFrame.html">BinkNextFrame</a>, <a href="BinkOpen.html">BinkOpen</a>, <a href="BinkWait.html">BinkWait</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGDSurfaceType</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns a value describing the format of the specified MacOS Graphics Device.">
<meta name="ms-hkwd" content="BinkGDSurfaceType">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGDSurfaceType</h1>
<p>The function <b>BinkGDSurfaceType</b> returns a value describing the format of the specified MacOS Graphics Device.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="BINK_COPY_FLAGS.html" class=trn>BINK_COPY_FLAGS</a> <a href="BinkGDSurfaceType.html" class=trn>BinkGDSurfaceType</a>(</b>
<b>&nbsp&nbsp<a href="GDHandle.html" class=trn>GDHandle</a>&nbsp</b><i>gdevice</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>gdevice</i></dt>
<dd>Specifies the graphics device that you want to query.</dd>
</dl>
<h4>Returns</h4>
<p>Returns a value describing the format of the surface.</p>
<h4>Discussion</h4>
<p>This function returns a value describing the supplied Graphics Device. You can use this function to obtain the surface type to pass to the <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a> function. If the surface type is unknown or unsupported, then this function returns -1. On Win32, use the <a href="BinkDDSurfaceType.html">BinkDDSurfaceType</a> or <a href="BinkDX8SurfaceType.html">BinkDX8SurfaceType</a> functions. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Functions:</b>
<a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a>, <a href="BinkCopyToBufferRect.html">BinkCopyToBufferRect</a>, <a href="BinkDDSurfaceType.html">BinkDDSurfaceType</a>, <a href="BinkDX8SurfaceType.html">BinkDX8SurfaceType</a><br>
<b>Related Basic Types:</b>
<a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="GDHandle.html">GDHandle</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGetError</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns a string that describes the last global Bink error.">
<meta name="ms-hkwd" content="BinkGetError">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGetError</h1>
<p>The function <b>BinkGetError</b> returns a string that describes the last global Bink error.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="BINK_STRING.html" class=trn>BINK_STRING</a> <a href="BinkGetError.html" class=trn>BinkGetError</a>(</b><b>);</b></pre>
</td>
</tr>
</table>
<h4>Returns</h4>
<p>Returns the last global Bink error.</p>
<h4>Discussion</h4>
<p>This function returns a string describing the last global Bink error. It is especially handy if <a href="BinkOpen.html">BinkOpen</a> fails. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkMacOpen.html">BinkMacOpen</a>, <a href="BinkOpen.html">BinkOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINK_STRING.html">BINK_STRING</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,61 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGetKeyFrame</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="finds a key frame near another specified frame.">
<meta name="ms-hkwd" content="BinkGetKeyFrame">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGetKeyFrame</h1>
<p>The function <b>BinkGetKeyFrame</b> finds a key frame near another specified frame.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="U32.html" class=trn>U32</a> <a href="BinkGetKeyFrame.html" class=trn>BinkGetKeyFrame</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>frame_num</i><b>,</b>
<b>&nbsp&nbsp<a href="BINK_GETKEY_FLAGS.html" class=trn>BINK_GETKEY_FLAGS</a>&nbsp</b><i>getkey_flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>frame_num</i></dt>
<dd>Specifies the frame number to search on.</dd>
<dt><i>getkey_flags</i></dt>
<dd>Specifies the type of key frame search to perform.</dd>
</dl>
<h4>Returns</h4>
<p>Returns the nearest key frame.</p>
<h4>Discussion</h4>
<p>This function allows you to find key frames near the specified frame number. Simply pass in the frame number that you're interested in, and Bink will find the closest key frame using the search style specified by the flags parameter. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkGoto.html">BinkGoto</a><br>
<b>Related Basic Types:</b>
<a href="BINK_GETKEY_FLAGS.html">BINK_GETKEY_FLAGS</a>, <a href="BINK_GOTO_FLAGS.html">BINK_GOTO_FLAGS</a>, <a href="HBINK.html">HBINK</a>, <a href="U32.html">U32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGetLogoAddress</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns a pointer to an embedded Bink logo file.">
<meta name="ms-hkwd" content="BinkGetLogoAddress">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGetLogoAddress</h1>
<p>The function <b>BinkGetLogoAddress</b> returns a pointer to an embedded Bink logo file.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="VOID_PTR.html" class=trn>VOID_PTR</a> <a href="BinkGetLogoAddress.html" class=trn>BinkGetLogoAddress</a>(</b><b>);</b></pre>
</td>
</tr>
</table>
<h4>Returns</h4>
<p>Returns a pointer to a Bink file that displays the Bink logo.</p>
<h4>Discussion</h4>
<p>This function returns the address of the embedded Bink logo file. The address returned from this function can be passed directly to <a href="BinkOpen.html">BinkOpen</a> using the <a href="BINK_OPEN_FLAGS.html#BINKFROMMEMORY">BINKFROMMEMORY</a> flag. This is a convenient way to access the Bink logo for credits display. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="VOID_PTR.html">VOID_PTR</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGetRealtime</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns realtime playback information about the specified Bink handle.">
<meta name="ms-hkwd" content="BinkGetRealtime">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGetRealtime</h1>
<p>The function <b>BinkGetRealtime</b> returns realtime playback information about the specified Bink handle.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkGetRealtime.html" class=trn>BinkGetRealtime</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="BINKREALTIME.html" class=trn>BINKREALTIME</a>&nbsp*</b><i>real_time</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>frame_window_length</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>frame_window_length</i></dt>
<dd>Specifies the frame window length to return the realtime information for (in frames).</dd>
</dl>
<h4>Out Parameters</h4>
<dl>
<dt><i>real_time</i></dt>
<dd>Specifies the structure to return the realtime information in.</dd>
</dl>
<h4>Discussion</h4>
<p>This function returns realtime information about the currently playing Bink file. You can display exactly what's going on in the Bink playback while you watch the movie! You can examine the realtime information over one or more frame's worth of time by setting the frame_window_length parameter. For simplicity, you can just use 0 for the frame_window_length parameter (which tells Bink to report on the last one second's worth of frames).</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkGetSummary.html">BinkGetSummary</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="U32.html">U32</a>, <a href="void.html">void</a><br>
<b>Related Structures:</b>
<a href="BINKREALTIME.html">BINKREALTIME</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGetRects</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns the dirty rectangles of the last decompressed video frame.">
<meta name="ms-hkwd" content="BinkGetRects">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGetRects</h1>
<p>The function <b>BinkGetRects</b> returns the dirty rectangles of the last decompressed video frame.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkGetRects.html" class=trn>BinkGetRects</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="BINK_GETRECTS_FLAGS.html" class=trn>BINK_GETRECTS_FLAGS</a>&nbsp</b><i>getrects_flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>getrects_flags</i></dt>
<dd>Specifies the type of rectangle list you'd prefer.</dd>
</dl>
<h4>Returns</h4>
<p>Returns the number of dirty rectangles found.</p>
<h4>Discussion</h4>
<p>This function returns one or more dirty rectangles that outline the frame areas that changed in the last call to <a href="BinkDoFrame.html">BinkDoFrame</a>. "Dirty rectangles" are the rectangles that enclose all of the pixels that changes from the previous frame to this frame. The dirty rectangles are placed in the FrameRects field of the <a href="BINK.html">BINK</a> structure. You will usually pass the dirty rectangle information directly to the <a href="BinkBufferBlit.html">BinkBufferBlit</a> function for blasting onto the screen. If you are using BinkBuffers, you can use the SurfaceType field in your BinkBuffer structure for the getrects_flags parameter. This function returns the number of dirty rectangles found.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkBufferBlit.html">BinkBufferBlit</a>, <a href="BinkDoFrame.html">BinkDoFrame</a><br>
<b>Related Basic Types:</b>
<a href="BINK_GETRECTS_FLAGS.html">BINK_GETRECTS_FLAGS</a>, <a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a><br>
<b>Related Structures:</b>
<a href="BINK.html">BINK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,63 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGetSummary</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns playback information about the specified Bink handle.">
<meta name="ms-hkwd" content="BinkGetSummary">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGetSummary</h1>
<p>The function <b>BinkGetSummary</b> returns playback information about the specified Bink handle.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkGetSummary.html" class=trn>BinkGetSummary</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="BINKSUMMARY.html" class=trn>BINKSUMMARY</a>&nbsp*</b><i>summary</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
</dl>
<h4>Out Parameters</h4>
<dl>
<dt><i>summary</i></dt>
<dd>Specifies the structure to return the summary information in.</dd>
</dl>
<h4>Discussion</h4>
<p>This function returns all kinds of useful information about a Bink file that you have just played. You will usually call this function right before you close the Bink file.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Memory management on8uyiaz.html">Memory management on the Nintendo GameCube</a>, <a href="Memory management onxuuiga.html">Memory management on the Xbox</a>, <a href="Memory management un1cdaca.html">Memory management under MacOS</a>, <a href="Memory management uni4hsaa.html">Memory management under Win32</a><br>
<b>Related Functions:</b>
<a href="BinkClose.html">BinkClose</a>, <a href="BinkDoFrame.html">BinkDoFrame</a>, <a href="BinkGetRealtime.html">BinkGetRealtime</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="void.html">void</a><br>
<b>Related Structures:</b>
<a href="BINKSUMMARY.html">BINKSUMMARY</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGetTrackData</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="extracts all of the sound in the current video frame.">
<meta name="ms-hkwd" content="BinkGetTrackData">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGetTrackData</h1>
<p>The function <b>BinkGetTrackData</b> extracts all of the sound in the current video frame.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="U32.html" class=trn>U32</a> <a href="BinkGetTrackData.html" class=trn>BinkGetTrackData</a>(</b>
<b>&nbsp&nbsp<a href="HBINKTRACK.html" class=trn>HBINKTRACK</a>&nbsp</b><i>bink_track</i><b>,</b>
<b>&nbsp&nbsp<a href="VOID_PTR.html" class=trn>VOID_PTR</a>&nbsp</b><i>dest_addr</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink_track</i></dt>
<dd>Specifies the handle to extract from.</dd>
<dt><i>dest_addr</i></dt>
<dd>Address where the samples should be decoded into.</dd>
</dl>
<h4>Returns</h4>
<p>Returns the number of bytes decoded.</p>
<h4>Discussion</h4>
<p>This function extracts all of the audio data for the current video frame. The dest_addr pointer must be large enough to contain the maximum amount of sound that will be decoded (which will be on frame 1). You can get the largest size necessary by looking at the MaxSize field in the <a href="BINKTRACK.html">BINKTRACK</a> structure. This function is rarely used - most of the time audio playback is completely automatic with Bink. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkCloseTrack.html">BinkCloseTrack</a>, <a href="BinkOpenTrack.html">BinkOpenTrack</a><br>
<b>Related Basic Types:</b>
<a href="HBINKTRACK.html">HBINKTRACK</a>, <a href="U32.html">U32</a>, <a href="VOID_PTR.html">VOID_PTR</a><br>
<b>Related Structures:</b>
<a href="BINKTRACK.html">BINKTRACK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGetTrackID</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="returns the track ID for the specified track index.">
<meta name="ms-hkwd" content="BinkGetTrackID">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGetTrackID</h1>
<p>The function <b>BinkGetTrackID</b> returns the track ID for the specified track index.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="U32.html" class=trn>U32</a> <a href="BinkGetTrackID.html" class=trn>BinkGetTrackID</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>track_index</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>track_index</i></dt>
<dd>Specifies the track index to query.</dd>
</dl>
<h4>Returns</h4>
<p>Returns the track ID of the specified track index.</p>
<h4>Discussion</h4>
<p>Track indexes in Bink always range from zero to the maximum number of audio tracks in the file. This function allows you to get the original track ID that was entered by the person that mixed your Bink files. The maximum number of tracks in a Bink file is specified by the NumTracks field of the <a href="BINK.html">BINK</a> structure. So, if NumTracks was 2, then valid track indexes would be 0 and 1. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Audio Tracks in Bink.html">Audio Tracks in Bink</a><br>
<b>Related Functions:</b>
<a href="BinkCloseTrack.html">BinkCloseTrack</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="U32.html">U32</a><br>
<b>Related Structures:</b>
<a href="BINK.html">BINK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,61 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkGoto</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="jumps to a new frame inside the Bink file.">
<meta name="ms-hkwd" content="BinkGoto">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkGoto</h1>
<p>The function <b>BinkGoto</b> jumps to a new frame inside the Bink file.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkGoto.html" class=trn>BinkGoto</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>frame_num</i><b>,</b>
<b>&nbsp&nbsp<a href="BINK_GOTO_FLAGS.html" class=trn>BINK_GOTO_FLAGS</a>&nbsp</b><i>goto_flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>frame_num</i></dt>
<dd>Specifies the frame number to jump to.</dd>
<dt><i>goto_flags</i></dt>
<dd>Specifies the type of jump to perform.</dd>
</dl>
<h4>Discussion</h4>
<p>This function allows you to immediately skip to another frame in a Bink file. The frame_num parameter specifies which frame to skip to (the first frame is frame 1). If the new frame data is in Bink's read ahead memory, then this function will be performed instantly (only a few pointers are updated). However, if the new frame data is outside Bink's read buffer, then Bink has to do a seek (slow on a CD-ROM), and then read the frame's data. Even with a seek, though, BinkGoto is still pretty fast. It's often difficult to notice a seek pause at all. You can also find the nearest key frame manually with the <a href="BinkGetKeyFrame.html">BinkGetKeyFrame</a> function. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Critical File I-O haq3ylyt.html">Critical File I/O handling in Bink</a><br>
<b>Related Functions:</b>
<a href="BinkGetKeyFrame.html">BinkGetKeyFrame</a><br>
<b>Related Basic Types:</b>
<a href="BINK_GOTO_FLAGS.html">BINK_GOTO_FLAGS</a>, <a href="HBINK.html">HBINK</a>, <a href="U32.html">U32</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkIsSoftwareCursor</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="determines whether the specified mouse cursor is software-based on the specified DirectDraw surface pointer.">
<meta name="ms-hkwd" content="BinkIsSoftwareCursor">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkIsSoftwareCursor</h1>
<p>The function <b>BinkIsSoftwareCursor</b> determines whether the specified mouse cursor is software-based on the specified DirectDraw surface pointer.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkIsSoftwareCursor.html" class=trn>BinkIsSoftwareCursor</a>(</b>
<b>&nbsp&nbsp<a href="LPDIRECTDRAWSURFACE.html" class=trn>LPDIRECTDRAWSURFACE</a>&nbsp</b><i>lpDirectDrawSurface</i><b>,</b>
<b>&nbsp&nbsp<a href="HCURSOR.html" class=trn>HCURSOR</a>&nbsp</b><i>cursor</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>lpDirectDrawSurface</i></dt>
<dd>Specifies the surface that you want to check.</dd>
<dt><i>cursor</i></dt>
<dd>Specifies the cursor to test.</dd>
</dl>
<h4>Returns</h4>
<p>Returns non-zero if the cursor is software-based, zero if the cursor is hardware-based.</p>
<h4>Discussion</h4>
<p>This function will figure out if the specified mouse cursor is software-based on the given primary surface pointer. If the cursor is software-based, then you must hide the cursor before drawing on the primary surface (or you get mouse trails on the screen). If the cursor is hardware-based, then you don't need to hide it (hiding and showing the mouse will cause the pointer to flash annoyingly - we should avoid it if we can). This is a pretty slow function (you wouldn't believe how complicated the source code is), so try to call it only once at startup time. For example, to manage the cursor when drawing directly to the primary surface under Win32, do something like this: </p><code><font size=3 color=#006000><pre>HCURSOR Cursor = LoadCursor( 0, IDC_ARROW );S32 Soft_cursor = BinkIsSoftwareCursor( lpDDprim, Cursor );<br>void Blit_frame( HWND wnd, S32 x, S32 y, S32 w, S32 h ){ S32 count; DDSURFACEDESC DDSdesc;<br> if ( Soft_cursor ) count = BinkCheckCursor( wnd, x, y, w, h );<br> lpDDprim->Lock( NULL, &DDSdesc, DDLOCK_WAIT, 0 );<br> <i>// do whatever to the primary surface here</i><br> lpDDprim->Unlock( DDSdesc.lpSurface );<br> if ( Soft_cursor ) BinkRestoreCursor( count );}</pre></font></code><p>Note that under Win32 if you don't know the HCURSOR, but you do know the HWND, you can use the GetClassLong Windows function with the GCL_HCURSOR flag to find the correct HCURSOR value. This function is automatically called inside the high-level BinkBuffer API. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Sections:</b>
<a href="Mouse Cursors.html">Mouse Cursors</a><br>
<b>Related Functions:</b>
<a href="BinkCheckCursor.html">BinkCheckCursor</a>, <a href="BinkRestoreCursor.html">BinkRestoreCursor</a><br>
<b>Related Basic Types:</b>
<a href="HCURSOR.html">HCURSOR</a>, <a href="LPDIRECTDRAWSURFACE.html">LPDIRECTDRAWSURFACE</a>, <a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkLoad</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="reloads the Bink sections on an Xbox (if it had been unloaded by BinkUnload).">
<meta name="ms-hkwd" content="BinkLoad">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkLoad</h1>
<p>The function <b>BinkLoad</b> reloads the Bink sections on an Xbox (if it had been unloaded by BinkUnload).</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkLoad.html" class=trn>BinkLoad</a>(</b><b>);</b></pre>
</td>
</tr>
</table>
<h4>Discussion</h4>
<p>This function reloads Bink into memory if you have unloaded it with the <a href="BinkUnload.html">BinkUnload</a> function. By default, both Bink and all of its YUV converters are loaded when your application starts up. You have to unload it before you will need to call this function. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Memory management onxuuiga.html">Memory management on the Xbox</a>, <a href="Sections on the Xbox.html">Sections on the Xbox</a><br>
<b>Related Functions:</b>
<a href="BinkLoadConverter.html">BinkLoadConverter</a>, <a href="BinkUnload.html">BinkUnload</a><br>
<b>Related Basic Types:</b>
<a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkLoadConverter</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="reloads one or more of the Bink YUV to RGB converters (if they had been unloaded by BinkUnloadConverter).">
<meta name="ms-hkwd" content="BinkLoadConverter">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkLoadConverter</h1>
<p>The function <b>BinkLoadConverter</b> reloads one or more of the Bink YUV to RGB converters (if they had been unloaded by BinkUnloadConverter).</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkLoadConverter.html" class=trn>BinkLoadConverter</a>(</b>
<b>&nbsp&nbsp<a href="BINK_CONVERTER_FLAGS.html" class=trn>BINK_CONVERTER_FLAGS</a>&nbsp</b><i>flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>flags</i></dt>
<dd>Specifies the converter to load.</dd>
</dl>
<h4>Discussion</h4>
<p>This function reloads one or more of the Bink YUV converters into memory. You can use memory most effectively by loading just the YUV converters that your game actually uses. For example, say you use the <a href="BINK_COPY_FLAGS.html#BINKSURFACE32">BINKSURFACE32</a> and <a href="BINK_COPY_FLAGS.html#BINKSURFACE32A">BINKSURFACE32A</a> surface types, use the following code to load the minimum coverters: </p><code><font size=3 color=#006000><pre><br>// First, unload all of the converters.BinkUnloadConverter( BINKCONVERTERSALL );<br>// Next, load just the converters you're going to use.BinkLoadConverter( BINKSURFACEYUY2 );BinkLoadConverter( BINKSURFACE32A );</pre></font></code><p></p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Memory management onxuuiga.html">Memory management on the Xbox</a>, <a href="Sections on the Xbox.html">Sections on the Xbox</a><br>
<b>Related Functions:</b>
<a href="BinkLoad.html">BinkLoad</a>, <a href="BinkUnloadConverter.html">BinkUnloadConverter</a><br>
<b>Related Basic Types:</b>
<a href="BINK_CONVERTER_FLAGS.html">BINK_CONVERTER_FLAGS</a>, <a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkMacOpen</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="opens the specified Bink file for decompression.">
<meta name="ms-hkwd" content="BinkMacOpen">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkMacOpen</h1>
<p>The function <b>BinkMacOpen</b> opens the specified Bink file for decompression.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="HBINK.html" class=trn>HBINK</a> <a href="BinkMacOpen.html" class=trn>BinkMacOpen</a>(</b>
<b>&nbsp&nbsp<a href="FSSpec_PTR.html" class=trn>FSSpec_PTR</a>&nbsp</b><i>file_spec</i><b>,</b>
<b>&nbsp&nbsp<a href="BINK_OPEN_FLAGS.html" class=trn>BINK_OPEN_FLAGS</a>&nbsp</b><i>open_flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>file_spec</i></dt>
<dd>The pointer to the MacOS filespec to open.</dd>
<dt><i>open_flags</i></dt>
<dd>The flags to use when opening the file.</dd>
</dl>
<h4>Returns</h4>
<p>Handle to the opened Bink file or zero on error</p>
<h4>Discussion</h4>
<p>This function works exactly like BinkOpen, only it takes a MacOS filespec to be opened. The returned HBINK handle is also a pointer to a <a href="BINK.html">BINK</a> structure which contains information about the opened file. If the BinkMacOpen call fails, then zero will be returned. You can get a description of the error by calling <a href="BinkGetError.html">BinkGetError</a>.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Open and Close.html">Open and Close</a><br>
<b>Related Functions:</b>
<a href="BinkClose.html">BinkClose</a>, <a href="BinkGetError.html">BinkGetError</a>, <a href="BinkOpen.html">BinkOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="FSSpec_PTR.html">FSSpec_PTR</a>, <a href="HBINK.html">HBINK</a><br>
<b>Related Structures:</b>
<a href="BINK.html">BINK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkNextFrame</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="moves to the next video frame in the Bink file.">
<meta name="ms-hkwd" content="BinkNextFrame">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkNextFrame</h1>
<p>The function <b>BinkNextFrame</b> moves to the next video frame in the Bink file.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkNextFrame.html" class=trn>BinkNextFrame</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
</dl>
<h4>Discussion</h4>
<p> This function actually moves you to the next frame. It is usually called after you have decompressed the frame with <a href="BinkDoFrame.html">BinkDoFrame</a> and have blitted it onto the screen. This function is should be the last function in your playback logic before the <a href="BinkWait.html">BinkWait</a> delay loop. Make sure that you always call this function before waiting in your <a href="BinkWait.html">BinkWait</a> loop, or your playback will be jerky. For example, this is an example of good playback logic: </p><code><font size=3 color=#006000><pre>for( i=0 ; ; i++ ){ BinkDoFrame( bink ); BinkNextFrame( bink ); <i>//***** Good, notice how this line is before the BinkWait delay loop</i><br> while ( BinkWait( bink ) ) ; <i>//***** Good, notice how this line is after the BinkNextFrame call</i>}</pre></font></code><p>This is an example of incorrect playback logic: </p><code><font size=3 color=#006000><pre>for( i=0 ; ; i++ ){ <i>//***** THIS IS AN INCORRECT PLAYBACK LOOP!</i> BinkDoFrame( bink ); while (BinkWait( bink ) ) ; <i>//***** WRONG!! THIS SHOULD BE AFTER BINKNEXTFRAME</i> BinkNextFrame( bink ); <i>//***** WRONG!! THIS SHOULD BE BEFORE THE BINKWAIT LOOP</i>}</pre></font></code><p></p><p>Note that if you call this function on the last frame of a Bink file, then Bink will loop around back to the first frame. This means that if you are only playing your animations once (not looping them), then you need to add extra logic to avoid calling this function for the very last frame (otherwise there will be a delay at the end of your videos while Bink seeks back to the beginning of the file). For example, a simple playback loop that only plays the Bink file once would look like this: </p><code><font size=3 color=#006000><pre>for( i=0 ; ; i++ ){ BinkDoFrame( bink ); if ( i == bink->Frames ) <i>// Break out of loop before BinkNextFrame if at the end of the file</i> break;<br> BinkNextFrame( bink ); while ( BinkWait( bink ) ) ;}</pre></font></code><p></p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Bink Video Playback.html">Bink Video Playback</a>, <a href="Critical File I-O haq3ylyt.html">Critical File I/O handling in Bink</a><br>
<b>Related Functions:</b>
<a href="BinkDoFrame.html">BinkDoFrame</a>, <a href="BinkWait.html">BinkWait</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkOpen</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="opens the specified Bink file for decompression.">
<meta name="ms-hkwd" content="BinkOpen">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkOpen</h1>
<p>The function <b>BinkOpen</b> opens the specified Bink file for decompression.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="HBINK.html" class=trn>HBINK</a> <a href="BinkOpen.html" class=trn>BinkOpen</a>(</b>
<b>&nbsp&nbsp<a href="BINK_STRING.html" class=trn>BINK_STRING</a>&nbsp</b><i>file_name</i><b>,</b>
<b>&nbsp&nbsp<a href="BINK_OPEN_FLAGS.html" class=trn>BINK_OPEN_FLAGS</a>&nbsp</b><i>open_flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>file_name</i></dt>
<dd>The name of the file to open.</dd>
<dt><i>open_flags</i></dt>
<dd>The flags to use when opening the file.</dd>
</dl>
<h4>Returns</h4>
<p>Handle to the opened Bink file or zero on error</p>
<h4>Discussion</h4>
<p>This function returns an HBINK handle which is used with all of the Bink API functions. The returned HBINK handle is also a pointer to a <a href="BINK.html">BINK</a> structure which contains information about the opened file. If the BinkOpen call fails, then zero will be returned. You can get a description of the error by calling <a href="BinkGetError.html">BinkGetError</a>.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Open and Close.html">Open and Close</a><br>
<b>Related Functions:</b>
<a href="BinkBufferSetResolution.html">BinkBufferSetResolution</a>, <a href="BinkClose.html">BinkClose</a>, <a href="BinkDoFrame.html">BinkDoFrame</a>, <a href="BinkGetError.html">BinkGetError</a>, <a href="BinkGetLogoAddress.html">BinkGetLogoAddress</a>, <a href="BinkMacOpen.html">BinkMacOpen</a>, <a href="BinkSetFrameRate.html">BinkSetFrameRate</a>, <a href="BinkSetIO.html">BinkSetIO</a>, <a href="BinkSetIOSize.html">BinkSetIOSize</a>, <a href="BinkSetSimulate.html">BinkSetSimulate</a>, <a href="BinkSetSoundSystem.html">BinkSetSoundSystem</a>, <a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a>, <a href="BinkSoundUseAX.html">BinkSoundUseAX</a>, <a href="BinkSoundUseDirectSound.html">BinkSoundUseDirectSound</a>, <a href="BinkSoundUseMiles.html">BinkSoundUseMiles</a>, <a href="BinkSoundUseMusyX.html">BinkSoundUseMusyX</a>, <a href="BinkSoundUseSoundManager.html">BinkSoundUseSoundManager</a><br>
<b>Related Basic Types:</b>
<a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="BINK_STRING.html">BINK_STRING</a>, <a href="HBINK.html">HBINK</a><br>
<b>Related Structures:</b>
<a href="BINK.html">BINK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkOpenTrack</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="opens a handle to the low-level audio track decoder.">
<meta name="ms-hkwd" content="BinkOpenTrack">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkOpenTrack</h1>
<p>The function <b>BinkOpenTrack</b> opens a handle to the low-level audio track decoder.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="HBINKTRACK.html" class=trn>HBINKTRACK</a> <a href="BinkOpenTrack.html" class=trn>BinkOpenTrack</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>track_index</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>track_index</i></dt>
<dd>Specifies the track index to open.</dd>
</dl>
<h4>Returns</h4>
<p>Returns a track ID handle to extract audio from.</p>
<h4>Discussion</h4>
<p>This function allows you to open an audio track that you can use to extract the low-level sound data from. This function is usually used by applications that are routing sound to their own audio playback system. The returned HBINKTRACK handle is also a pointer to a <a href="BINKTRACK.html">BINKTRACK</a> structure which contains format information about the audio track. The maximum number of tracks in a Bink file is specified by the NumTracks field of the <a href="BINK.html">BINK</a> structure. So, if NumTracks was 2, then valid track indexes would be 0 and 1. This function is rarely used - most of the time audio playback is completely automatic with Bink. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkCloseTrack.html">BinkCloseTrack</a>, <a href="BinkGetTrackData.html">BinkGetTrackData</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="HBINKTRACK.html">HBINKTRACK</a>, <a href="U32.html">U32</a><br>
<b>Related Structures:</b>
<a href="BINK.html">BINK</a>, <a href="BINKTRACK.html">BINKTRACK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,58 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkPause</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="pauses and resumes playback of a Bink file.">
<meta name="ms-hkwd" content="BinkPause">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkPause</h1>
<p>The function <b>BinkPause</b> pauses and resumes playback of a Bink file.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkPause.html" class=trn>BinkPause</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>pause</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>pause</i></dt>
<dd>Specifies whether to pause (non-zero) or resume the movie (zero).</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether the movie is currently paused or playing</p>
<h4>Discussion</h4>
<p>This function allows you to easily pause the Bink playback. Pass in a non-zero value to pause the movie, and a zero to resume the movie after a pause. Once you call this function, <a href="BinkWait.html">BinkWait</a> will return 1 until you resume the movie. The audio will also be paused after this function has been called.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkWait.html">BinkWait</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkRestoreCursor</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="restores the mouse cursor to its original state after a BinkCheckCursor call.">
<meta name="ms-hkwd" content="BinkRestoreCursor">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkRestoreCursor</h1>
<p>The function <b>BinkRestoreCursor</b> restores the mouse cursor to its original state after a BinkCheckCursor call.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkRestoreCursor.html" class=trn>BinkRestoreCursor</a>(</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>check_count</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>check_count</i></dt>
<dd>The count value returned from a call to <a href="BinkCheckCursor.html">BinkCheckCursor</a>.</dd>
</dl>
<h4>Discussion</h4>
<p>This function will restore the mouse cursor to its original state after a <a href="BinkCheckCursor.html">BinkCheckCursor</a> call. You have to call this function after you unlock the primary surface, or the cursor won't be restored. Check out the <a href="BinkIsSoftwareCursor.html">BinkIsSoftwareCursor</a> function for an example of how to use this function. </p>
<p>
<br>
<b>Group:</b>
<a href="BinkBuffer API.html">BinkBuffer API</a><br>
<b>Related Sections:</b>
<a href="Mouse Cursors.html">Mouse Cursors</a><br>
<b>Related Functions:</b>
<a href="BinkCheckCursor.html">BinkCheckCursor</a>, <a href="BinkIsSoftwareCursor.html">BinkIsSoftwareCursor</a><br>
<b>Related Basic Types:</b>
<a href="S32.html">S32</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,51 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkService</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="gives some explicit idle time to Bink to service any of its internal tasks.">
<meta name="ms-hkwd" content="BinkService">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkService</h1>
<p>The function <b>BinkService</b> gives some explicit idle time to Bink to service any of its internal tasks.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkService.html" class=trn>BinkService</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
</dl>
<h4>Discussion</h4>
<p> This function will perform any background Bink services explicitly. This function can be called periodically when you have an extremely CPU-intensive task that is causing the sound to break up. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetFrameRate</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="overrides the Bink file's built-in frame rate.">
<meta name="ms-hkwd" content="BinkSetFrameRate">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetFrameRate</h1>
<p>The function <b>BinkSetFrameRate</b> overrides the Bink file's built-in frame rate.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkSetFrameRate.html" class=trn>BinkSetFrameRate</a>(</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>frame_rate</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>frame_rate_div</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>frame_rate</i></dt>
<dd>Along with FrameRateDiv, specifies the frame rate to use. The frame rate is calculated as FrameRate/FrameRateDiv. So, for example, at 15 fps, FrameRate would be 15 and FrameRateDiv would be 1.</dd>
<dt><i>frame_rate_div</i></dt>
<dd>Specifies the frame rate divisor.</dd>
</dl>
<h4>Discussion</h4>
<p>This function allows you to alter the playback speed of a Bink file at run-time. If the Bink file has audio, the sound will be sped-up or slowed-down to maintain audio/video sync. To use this function, you first make this call and then you add the <a href="BINK_OPEN_FLAGS.html#BINKFRAMERATE">BINKFRAMERATE</a> flag in your <a href="BinkOpen.html">BinkOpen</a> call. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="NTSC and PAL on the cadb3m.html">NTSC and PAL on the Nintendo GameCube</a>, <a href="NTSC and PAL on the Xbox.html">NTSC and PAL on the Xbox</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="U32.html">U32</a>, <a href="void.html">void</a><br>
<b>Related Structures:</b>
<a href="BINKSUMMARY.html">BINKSUMMARY</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetIO</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="specifies a set of replacement file I/O functions.">
<meta name="ms-hkwd" content="BinkSetIO">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetIO</h1>
<p>The function <b>BinkSetIO</b> specifies a set of replacement file I/O functions.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkSetIO.html" class=trn>BinkSetIO</a>(</b>
<b>&nbsp&nbsp<a href="VOID_PTR.html" class=trn>VOID_PTR</a>&nbsp</b><i>BinkOpenFileFunction</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>BinkOpenFileFunction</i></dt>
<dd>Specifies the function to call to open the Bink file.</dd>
</dl>
<h4>Discussion</h4>
<p>This function allows you to replace the entire Bink IO system. This is definitely a non-trivial job, but with it, you can cause Bink to read from any type of device. Note that this function is almost never necessary! If you are trying to read out of a packed file, then you should use the <a href="BINK_OPEN_FLAGS.html#BINKFILEHANDLE">BINKFILEHANDLE</a> flag - it is much, much simpler. If you are still interested in this support, give us a call at RAD Game Tools and we can get you the source code for the normal file system IO provider as a reference. To use this function, you first make this call and then you add the <a href="BINK_OPEN_FLAGS.html#BINKIOPROCESSOR">BINKIOPROCESSOR</a> flag in your <a href="BinkOpen.html">BinkOpen</a> call. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="VOID_PTR.html">VOID_PTR</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetIOSize</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="Specifies the size of the I/O memory buffer that Bink reads into.">
<meta name="ms-hkwd" content="BinkSetIOSize">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetIOSize</h1>
<p>The function <b>BinkSetIOSize</b> Specifies the size of the I/O memory buffer that Bink reads into.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkSetIOSize.html" class=trn>BinkSetIOSize</a>(</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>io_size</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>io_size</i></dt>
<dd>Specifies the size in bytes that Bink should use for its read ahead IO buffer.</dd>
</dl>
<h4>Discussion</h4>
<p>This function allows you to set the size of the IO buffer that Bink uses to read ahead in the Bink file. By default, the IO buffer is the size of the highest one-second data rate in the movie. To use this function, you first make this call and then you add the <a href="BINK_OPEN_FLAGS.html#BINKIOSIZE">BINKIOSIZE</a> flag in your <a href="BinkOpen.html">BinkOpen</a> call. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="U32.html">U32</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetMixBinVolumes</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="sets the volumes of the individual mix bins on an Xbox.">
<meta name="ms-hkwd" content="BinkSetMixBinVolumes">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetMixBinVolumes</h1>
<p>The function <b>BinkSetMixBinVolumes</b> sets the volumes of the individual mix bins on an Xbox.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkSetMixBinVolumes.html" class=trn>BinkSetMixBinVolumes</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>trackID</i><b>,</b>
<b>&nbsp&nbsp<a href="u32_ptr.html" class=trn>u32_ptr</a>&nbsp</b><i>mix_bins</i><b>,</b>
<b>&nbsp&nbsp<a href="s32_ptr.html" class=trn>s32_ptr</a>&nbsp</b><i>volumes</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>total</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>trackID</i></dt>
<dd>Specifies the track ID to change the mix bin volumes for.</dd>
<dt><i>mix_bins</i></dt>
<dd>Points to an array of the mix bins for each of the volumes.</dd>
<dt><i>volumes</i></dt>
<dd>Points to an array of the new volume levels.</dd>
<dt><i>total</i></dt>
<dd>The number of mix bins and volumes in the <i>mix_bins</i> and <i>volumes</i> arrays.</dd>
</dl>
<h4>Discussion</h4>
<p>This function allows you to set the volume for each of the mix bin destinations on an Xbox. See the Xbox documentation for the mix bin destination values. The volume parameter specifies the new volume setting from 0 (silent) to 32768 (normal) to 65536 (maximum amplification). Note that most sound systems don't do amplification (neither Miles nor DirectSound does) - in these cases, volumes above 32768 are the same as 32768. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Audio Tracks in Bink.html">Audio Tracks in Bink</a><br>
<b>Related Functions:</b>
<a href="BinkSetMixBins.html">BinkSetMixBins</a>, <a href="BinkSetPan.html">BinkSetPan</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="U32.html">U32</a>, <a href="s32_ptr.html">s32_ptr</a>, <a href="u32_ptr.html">u32_ptr</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetMixBins</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="sets the mix bin destination of the sound track on an Xbox.">
<meta name="ms-hkwd" content="BinkSetMixBins">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetMixBins</h1>
<p>The function <b>BinkSetMixBins</b> sets the mix bin destination of the sound track on an Xbox.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkSetMixBins.html" class=trn>BinkSetMixBins</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>trackID</i><b>,</b>
<b>&nbsp&nbsp<a href="u32_ptr.html" class=trn>u32_ptr</a>&nbsp</b><i>mix_bins</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>total</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>trackID</i></dt>
<dd>Specifies the track ID to change the mix bin for.</dd>
<dt><i>mix_bins</i></dt>
<dd>Points to an array of mix bin destinations.</dd>
<dt><i>total</i></dt>
<dd>The number of mix bins in the <i>mix_bins</i> array.</dd>
</dl>
<h4>Discussion</h4>
<p>This function sets the mix bins for the currently playing Bink sound track on an Xbox. See the Xbox documentation for the mix bin destination values. You usually use this function to play back 5.1 sound tracks on an Xbox. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Audio Tracks in Bink.html">Audio Tracks in Bink</a>, <a href="Sound on the Xbox.html">Sound on the Xbox</a><br>
<b>Related Functions:</b>
<a href="BinkSetMixBinVolumes.html">BinkSetMixBinVolumes</a>, <a href="BinkSetPan.html">BinkSetPan</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="U32.html">U32</a>, <a href="u32_ptr.html">u32_ptr</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,61 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetPan</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="sets the speaker pan (left to right balance) of a Bink sound track.">
<meta name="ms-hkwd" content="BinkSetPan">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetPan</h1>
<p>The function <b>BinkSetPan</b> sets the speaker pan (left to right balance) of a Bink sound track.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkSetPan.html" class=trn>BinkSetPan</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>trackID</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>pan</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>trackID</i></dt>
<dd>Specifies the track ID to change the pan for.</dd>
<dt><i>pan</i></dt>
<dd>Specifies the new pan setting.</dd>
</dl>
<h4>Discussion</h4>
<p>This function sets the speaker pan (left to right balance) for the currently playing Bink sound track. The pan parameter specifies the new left to right balance setting from 0 (all the way left) to 32768 (split evenly between left and right), and 65536 (all the way right). You can't set the pan on an Xbox. To control the pan on an Xbox, use the <a href="BinkSetMixBins.html">BinkSetMixBins</a> and <a href="BinkSetMixBinVolumes.html">BinkSetMixBinVolumes</a> functions. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Audio Tracks in Bink.html">Audio Tracks in Bink</a><br>
<b>Related Functions:</b>
<a href="BinkSetMixBinVolumes.html">BinkSetMixBinVolumes</a>, <a href="BinkSetMixBins.html">BinkSetMixBins</a>, <a href="BinkSetVolume.html">BinkSetVolume</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a>, <a href="U32.html">U32</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetSimulate</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink to simulate a specified device I/O speed.">
<meta name="ms-hkwd" content="BinkSetSimulate">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetSimulate</h1>
<p>The function <b>BinkSetSimulate</b> tells Bink to simulate a specified device I/O speed.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkSetSimulate.html" class=trn>BinkSetSimulate</a>(</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>sim_speed</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>sim_speed</i></dt>
<dd>Specifies the speed in bytes per second to simulate.</dd>
</dl>
<h4>Discussion</h4>
<p>This function allows you to simulate a given playback speed. This is handy when you want to see how a Bink movie will play on a particular speed of CD-ROM. This value is set in bytes per second, so use 150,000 for a 1xCD, 300,000 for a 2xCD, and 600,000 for a 4xCD. To use this function, you first make this call and then you add the <a href="BINK_OPEN_FLAGS.html#BINKSIMULATE">BINKSIMULATE</a> flag in your <a href="BinkOpen.html">BinkOpen</a> call. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="U32.html">U32</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,58 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetSoundOnOff</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink not to decompress the audio and release any audio resources.">
<meta name="ms-hkwd" content="BinkSetSoundOnOff">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetSoundOnOff</h1>
<p>The function <b>BinkSetSoundOnOff</b> tells Bink not to decompress the audio and release any audio resources.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkSetSoundOnOff.html" class=trn>BinkSetSoundOnOff</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>on_off</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>on_off</i></dt>
<dd>Specifies the whether the sound track should be processed (non-zero), or whether Bink skip decompressing the audio.</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether the sound is currently on (non-zero) or off (zero).</p>
<h4>Discussion</h4>
<p>This function allows you to shut off the audio playback of a Bink file. This is useful if you want to stop all sound completely, or if you need to release the digital sound resource handles to play a wave or AVI file. Note that this function is <b>not</b> a mute function! If you want to mute the audio, call <a href="BinkSetVolume.html">BinkSetVolume</a> with zero for the volume level. If you know that you are never going to play the audio, then don't use this function and instead call <a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a> with zero for both parameters before opening the Bink file with the <a href="BINK_OPEN_FLAGS.html#BINKSNDTRACK">BINKSNDTRACK</a> flag. This function is a toggle, so you call it once with zero to turn off the sound, and then you call it again with a non-zero value to start the audio playback again. This function returns non-zero if the audio is on, and zero if the audio is turned off. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkSetSoundTrack.html">BinkSetSoundTrack</a>, <a href="BinkSetVideoOnOff.html">BinkSetVideoOnOff</a>, <a href="BinkSetVolume.html">BinkSetVolume</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,58 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetSoundSystem</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink to use a custom sound provider as its sound output system.">
<meta name="ms-hkwd" content="BinkSetSoundSystem">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetSoundSystem</h1>
<p>The function <b>BinkSetSoundSystem</b> tells Bink to use a custom sound provider as its sound output system.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkSetSoundSystem.html" class=trn>BinkSetSoundSystem</a>(</b>
<b>&nbsp&nbsp<a href="VOID_PTR.html" class=trn>VOID_PTR</a>&nbsp</b><i>BinkOpenSoundSystemFunction</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>param_value</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>BinkOpenSoundSystemFunction</i></dt>
<dd>Specifies the function to call to open the custom sound system object.</dd>
<dt><i>param_value</i></dt>
<dd>Specifies a 32-bit sound system defined parameter to pass to the OpenSoundSystemFunction function.</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether Bink successfully switched to the new sound system.</p>
<h4>Discussion</h4>
<p>This function is the low-level method of switching to a new sound system in Bink. Both <a href="BinkSoundUseMiles.html">BinkSoundUseMiles</a> and <a href="BinkSoundUseDirectSound.html">BinkSoundUseDirectSound</a> are simply macros that just call this function. You can use this function to write your own sound system provider, but you should note that sound providers are not trivial to write and are almost never necessary. If you are still interested in writing your own provider, contact RAD for details. This function is global - you only need to call it once. You must, however, call it before you call <a href="BinkOpen.html">BinkOpen</a> for the first time, or the function will fail.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a>, <a href="BinkSoundUseAX.html">BinkSoundUseAX</a>, <a href="BinkSoundUseDirectSound.html">BinkSoundUseDirectSound</a>, <a href="BinkSoundUseMiles.html">BinkSoundUseMiles</a>, <a href="BinkSoundUseMusyX.html">BinkSoundUseMusyX</a>, <a href="BinkSoundUseSoundManager.html">BinkSoundUseSoundManager</a><br>
<b>Related Basic Types:</b>
<a href="S32.html">S32</a>, <a href="U32.html">U32</a>, <a href="VOID_PTR.html">VOID_PTR</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,58 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetSoundTrack</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="overrides the Bink file's default sound track.">
<meta name="ms-hkwd" content="BinkSetSoundTrack">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetSoundTrack</h1>
<p>The function <b>BinkSetSoundTrack</b> overrides the Bink file's default sound track.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkSetSoundTrack.html" class=trn>BinkSetSoundTrack</a>(</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>track_count</i><b>,</b>
<b>&nbsp&nbsp<a href="u32_ptr.html" class=trn>u32_ptr</a>&nbsp</b><i>track_id</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>track_count</i></dt>
<dd>Specifies the number of tracks to play (the number of tracks in the <i>track_ids</i> array). To play no sound at all, use zero for this parameter.</dd>
<dt><i>track_id</i></dt>
<dd>Points to an array of sound track IDs to play.</dd>
</dl>
<h4>Discussion</h4>
<p>This function allows you to set the sound track IDs to play when opening a Bink file. By default, Bink plays the first sound track in the file. If you don't want any sound tracks to play at all, use zero for the <i>track_count</i> parameter. To use this function, you first make this call and then you add the <a href="BINK_OPEN_FLAGS.html#BINKSNDTRACK">BINKSNDTRACK</a> flag in your <a href="BinkOpen.html">BinkOpen</a> call. You can use this function to play back 5.1 audio on an Xbox. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Audio Tracks in Bink.html">Audio Tracks in Bink</a>, <a href="Sound on the Xbox.html">Sound on the Xbox</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a>, <a href="BinkSetSoundOnOff.html">BinkSetSoundOnOff</a><br>
<b>Related Basic Types:</b>
<a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a>, <a href="U32.html">U32</a>, <a href="u32_ptr.html">u32_ptr</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,58 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetVideoOnOff</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink not to decompress the video frames when BinkDoFrame is called.">
<meta name="ms-hkwd" content="BinkSetVideoOnOff">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetVideoOnOff</h1>
<p>The function <b>BinkSetVideoOnOff</b> tells Bink not to decompress the video frames when BinkDoFrame is called.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkSetVideoOnOff.html" class=trn>BinkSetVideoOnOff</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>on_off</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>on_off</i></dt>
<dd>Specifies the whether the video should be decompressed (non-zero), or whether just the audio should be decompressed (zero).</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether the video is currently on (non-zero) or off (zero).</p>
<h4>Discussion</h4>
<p>This function allows you to shut off the video decompression of a playing Bink file. This is useful when you want to only play the audio track of a Bink file and don't care about decompressing the video track. This function is a toggle, so you call it once with a zero to turn off the video, and then you call it again with a non-zero value to start the video playback again. This function returns non-zero if the video is on, and a zero if the video is turned off. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkSetSoundOnOff.html">BinkSetSoundOnOff</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,61 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSetVolume</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="sets the volume of a Bink sound track.">
<meta name="ms-hkwd" content="BinkSetVolume">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSetVolume</h1>
<p>The function <b>BinkSetVolume</b> sets the volume of a Bink sound track.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkSetVolume.html" class=trn>BinkSetVolume</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i><b>,</b>
<b>&nbsp&nbsp<a href="U32.html" class=trn>U32</a>&nbsp</b><i>trackID</i><b>,</b>
<b>&nbsp&nbsp<a href="S32.html" class=trn>S32</a>&nbsp</b><i>volume</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
<dt><i>trackID</i></dt>
<dd>Specifies the track ID to change the volume for.</dd>
<dt><i>volume</i></dt>
<dd>Specifies the new volume level.</dd>
</dl>
<h4>Discussion</h4>
<p>This function sets the volume for the currently playing Bink sound track. The volume parameter specifies the new volume setting from 0 (silent) to 32768 (normal) to 65536 (maximum amplification). Note that most sound systems don't do amplification (neither Miles nor DirectSound does) - in these cases, volumes above 32768 are the same as 32768. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Audio Tracks in Bink.html">Audio Tracks in Bink</a><br>
<b>Related Functions:</b>
<a href="BinkSetPan.html">BinkSetPan</a>, <a href="BinkSetSoundOnOff.html">BinkSetSoundOnOff</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a>, <a href="U32.html">U32</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSoundUseAX</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink to use AX as its sound output system on the Nintendo GameCube.">
<meta name="ms-hkwd" content="BinkSoundUseAX">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSoundUseAX</h1>
<p>The function <b>BinkSoundUseAX</b> tells Bink to use AX as its sound output system on the Nintendo GameCube.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkSoundUseAX.html" class=trn>BinkSoundUseAX</a>(</b>
<b>&nbsp&nbsp<a href="RADARAMCALLBACKS.html" class=trn>RADARAMCALLBACKS</a>&nbspconst *</b><i>callbacks</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>callbacks</i></dt>
<dd>a pointer to a <a href="RADARAMCALLBACKS.html">RADARAMCALLBACKS</a> structure that contains the ARAM memory management callbacks to use.</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether Bink successfully switched to AX as its output layer (non-zero for success, zero for failure).</p>
<h4>Discussion</h4>
<p>This function (macro actually) tells Bink to use AX for its audio output on the Nintendo GameCude. MusyX users should use <a href="BinkSoundUseMusyX.html">BinkSoundUseMusyX</a> instead. This function is global - you only need to call it once. You must, however, call it before you call <a href="BinkOpen.html">BinkOpen</a> for the first time, or the function will fail.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Sound on the Nintendyrr8cb.html">Sound on the Nintendo GameCube</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a>, <a href="BinkSetSoundSystem.html">BinkSetSoundSystem</a>, <a href="BinkSoundUseDirectSound.html">BinkSoundUseDirectSound</a>, <a href="BinkSoundUseMiles.html">BinkSoundUseMiles</a>, <a href="BinkSoundUseMusyX.html">BinkSoundUseMusyX</a>, <a href="BinkSoundUseSoundManager.html">BinkSoundUseSoundManager</a>, <a href="RADARAMALLOC.html">RADARAMALLOC</a>, <a href="RADARAMFREE.html">RADARAMFREE</a><br>
<b>Related Basic Types:</b>
<a href="S32.html">S32</a><br>
<b>Related Structures:</b>
<a href="RADARAMCALLBACKS.html">RADARAMCALLBACKS</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,57 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSoundUseDirectSound</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink to use DirectSound as its sound output system.">
<meta name="ms-hkwd" content="BinkSoundUseDirectSound">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSoundUseDirectSound</h1>
<p>The function <b>BinkSoundUseDirectSound</b> tells Bink to use DirectSound as its sound output system.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkSoundUseDirectSound.html" class=trn>BinkSoundUseDirectSound</a>(</b>
<b>&nbsp&nbsp<a href="LPDIRECTSOUND.html" class=trn>LPDIRECTSOUND</a>&nbsp</b><i>lpDirectSound</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>lpDirectSound</i></dt>
<dd>Specifies the DirectSound object handle that is returned from the DirectSound function, CreateDirectSound.</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether Bink successfully switched to DirectSound as its output layer (non-zero for success, zero for failure).</p>
<h4>Discussion</h4>
<p>This function (macro actually) tells Bink to use DirectSound for its audio output. This function is global - you only need to call it once. You must, however, call it before you call <a href="BinkOpen.html">BinkOpen</a> for the first time, or the function will fail.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Sound under Win32.html">Sound under Win32</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a>, <a href="BinkSetSoundSystem.html">BinkSetSoundSystem</a>, <a href="BinkSoundUseAX.html">BinkSoundUseAX</a>, <a href="BinkSoundUseMiles.html">BinkSoundUseMiles</a>, <a href="BinkSoundUseMusyX.html">BinkSoundUseMusyX</a>, <a href="BinkSoundUseSoundManager.html">BinkSoundUseSoundManager</a><br>
<b>Related Basic Types:</b>
<a href="LPDIRECTSOUND.html">LPDIRECTSOUND</a>, <a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,57 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSoundUseMiles</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink to use the Miles Sound System as its sound output system.">
<meta name="ms-hkwd" content="BinkSoundUseMiles">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSoundUseMiles</h1>
<p>The function <b>BinkSoundUseMiles</b> tells Bink to use the Miles Sound System as its sound output system.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkSoundUseMiles.html" class=trn>BinkSoundUseMiles</a>(</b>
<b>&nbsp&nbsp<a href="VOID_PTR.html" class=trn>VOID_PTR</a>&nbsp</b><i>hDigDriver</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>hDigDriver</i></dt>
<dd>Specifies the Miles Sound System HDIGDRIVER handle that is returned from the Miles function, AIL_waveOutOpen.</dd>
</dl>
<h4>Returns</h4>
<p>Returns whether Bink successfully switched to Miles as its output layer (non-zero for success, zero for failure).</p>
<h4>Discussion</h4>
<p>This function (macro actually) tells Bink to use the Miles Sound System for its audio output. This function is global - you only need to call it once. You must, however, call it before you call <a href="BinkOpen.html">BinkOpen</a> for the first time, or the function will fail.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Sound under Win32.html">Sound under Win32</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a>, <a href="BinkSetSoundSystem.html">BinkSetSoundSystem</a>, <a href="BinkSoundUseAX.html">BinkSoundUseAX</a>, <a href="BinkSoundUseDirectSound.html">BinkSoundUseDirectSound</a>, <a href="BinkSoundUseMusyX.html">BinkSoundUseMusyX</a>, <a href="BinkSoundUseSoundManager.html">BinkSoundUseSoundManager</a><br>
<b>Related Basic Types:</b>
<a href="S32.html">S32</a>, <a href="VOID_PTR.html">VOID_PTR</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,50 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSoundUseMusyX</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink to use MusyX as its sound output system on the Nintendo GameCube.">
<meta name="ms-hkwd" content="BinkSoundUseMusyX">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSoundUseMusyX</h1>
<p>The function <b>BinkSoundUseMusyX</b> tells Bink to use MusyX as its sound output system on the Nintendo GameCube.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkSoundUseMusyX.html" class=trn>BinkSoundUseMusyX</a>(</b><b>);</b></pre>
</td>
</tr>
</table>
<h4>Returns</h4>
<p>Returns whether Bink successfully switched to MusyX as its output layer (non-zero for success, zero for failure).</p>
<h4>Discussion</h4>
<p>This function (macro actually) tells Bink to use MusyX for its audio output on the Nintendo GameCude. AX users should use <a href="BinkSoundUseAX.html">BinkSoundUseAX</a> instead. This function is global - you only need to call it once. You must, however, call it before you call <a href="BinkOpen.html">BinkOpen</a> for the first time, or the function will fail.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Sound on the Nintendyrr8cb.html">Sound on the Nintendo GameCube</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a>, <a href="BinkSetSoundSystem.html">BinkSetSoundSystem</a>, <a href="BinkSoundUseAX.html">BinkSoundUseAX</a>, <a href="BinkSoundUseDirectSound.html">BinkSoundUseDirectSound</a>, <a href="BinkSoundUseMiles.html">BinkSoundUseMiles</a>, <a href="BinkSoundUseSoundManager.html">BinkSoundUseSoundManager</a><br>
<b>Related Basic Types:</b>
<a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkSoundUseSoundManager</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells Bink to use the MacOS Sound Manager as its sound output system.">
<meta name="ms-hkwd" content="BinkSoundUseSoundManager">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkSoundUseSoundManager</h1>
<p>The function <b>BinkSoundUseSoundManager</b> tells Bink to use the MacOS Sound Manager as its sound output system.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkSoundUseSoundManager.html" class=trn>BinkSoundUseSoundManager</a>(</b><b>);</b></pre>
</td>
</tr>
</table>
<h4>Returns</h4>
<p>Returns whether Bink successfully switched to Sound Manager as its output layer (non-zero for success, zero for failure).</p>
<h4>Discussion</h4>
<p>This function (macro actually) tells Bink to use the MacOS Sound Manager for its audio output. You usually don't have to call this function - it is automatically called inside <a href="BinkOpen.html">BinkOpen</a> on the Mac. This function is global - you only need to call it once. You must, however, call it before you call <a href="BinkOpen.html">BinkOpen</a> for the first time, or the function will fail.</p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Functions:</b>
<a href="BinkOpen.html">BinkOpen</a>, <a href="BinkSetSoundSystem.html">BinkSetSoundSystem</a>, <a href="BinkSoundUseAX.html">BinkSoundUseAX</a>, <a href="BinkSoundUseDirectSound.html">BinkSoundUseDirectSound</a>, <a href="BinkSoundUseMiles.html">BinkSoundUseMiles</a>, <a href="BinkSoundUseMusyX.html">BinkSoundUseMusyX</a><br>
<b>Related Basic Types:</b>
<a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkUnload</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="unloads the Bink sections on an Xbox.">
<meta name="ms-hkwd" content="BinkUnload">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkUnload</h1>
<p>The function <b>BinkUnload</b> unloads the Bink sections on an Xbox.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkUnload.html" class=trn>BinkUnload</a>(</b><b>);</b></pre>
</td>
</tr>
</table>
<h4>Discussion</h4>
<p>This function unloads Bink from memory. This will save about 100K of memory. Note that you have to unload the Bink YUV converters before calling this function to free <i>all</i> Bink memory. For example, to unload Bink completely from memory, use something like this: </p><code><font size=3 color=#006000><pre><br>// unload Bink:BinkUnloadConverters( BINKCONVERTERSALL );BinkUnload();// and then to reload Bink, use:BinkLoad();// plus whatever converters your game uses:BinkLoadConverters( BINKSURFACE32 );</pre></font></code><p>Note that once you have unloaded Bink, you must reload it before calling <b>any</b> Bink function other than <a href="BinkLoad.html">BinkLoad</a>. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Memory management onxuuiga.html">Memory management on the Xbox</a><br>
<b>Related Functions:</b>
<a href="BinkLoad.html">BinkLoad</a>, <a href="BinkUnloadConverter.html">BinkUnloadConverter</a><br>
<b>Related Basic Types:</b>
<a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkUnloadConverter</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="unloads one or more of the Bink YUV to RGB converters.">
<meta name="ms-hkwd" content="BinkUnloadConverter">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkUnloadConverter</h1>
<p>The function <b>BinkUnloadConverter</b> unloads one or more of the Bink YUV to RGB converters.</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="void.html" class=trn>void</a> <a href="BinkUnloadConverter.html" class=trn>BinkUnloadConverter</a>(</b>
<b>&nbsp&nbsp<a href="BINK_CONVERTER_FLAGS.html" class=trn>BINK_CONVERTER_FLAGS</a>&nbsp</b><i>flags</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>flags</i></dt>
<dd>Specifies the converter to unload.</dd>
</dl>
<h4>Discussion</h4>
<p>This function unloads one or more of the Bink YUV converters from memory. You can use memory most effectively by loading just the YUV converters that your game actually uses. For example, say you use the <a href="BINK_COPY_FLAGS.html#BINKSURFACE32">BINKSURFACE32</a> and <a href="BINK_COPY_FLAGS.html#BINKSURFACE32A">BINKSURFACE32A</a> surface types, use the following code to load the minimum coverters: </p><code><font size=3 color=#006000><pre><br>// First, unload all of the converters.BinkUnloadConverter( BINKCONVERTERSALL );<br>// Next, load just the converters you're going to use.BinkLoadConverter( BINKSURFACEYUY2 );BinkLoadConverter( BINKSURFACE32A );</pre></font></code><p></p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Memory management onxuuiga.html">Memory management on the Xbox</a><br>
<b>Related Functions:</b>
<a href="BinkLoadConverter.html">BinkLoadConverter</a>, <a href="BinkUnload.html">BinkUnload</a><br>
<b>Related Basic Types:</b>
<a href="BINK_CONVERTER_FLAGS.html">BINK_CONVERTER_FLAGS</a>, <a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="void.html">void</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>BinkWait</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="tells you when to move to the next Bink frame (based on the frame rate of the file).">
<meta name="ms-hkwd" content="BinkWait">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>BinkWait</h1>
<p>The function <b>BinkWait</b> tells you when to move to the next Bink frame (based on the frame rate of the file).</p>
<table width=100% cellspacing=0 class=pre>
<tr class=pre>
<td class=pre>
<pre><b><a href="S32.html" class=trn>S32</a> <a href="BinkWait.html" class=trn>BinkWait</a>(</b>
<b>&nbsp&nbsp<a href="HBINK.html" class=trn>HBINK</a>&nbsp</b><i>bink</i>
<b>);</b></pre>
</td>
</tr>
</table>
<h4>In Parameters</h4>
<dl>
<dt><i>bink</i></dt>
<dd>Specifies the Bink handle.</dd>
</dl>
<h4>Discussion</h4>
<p> This function tells you whether it's time to move onto the next frame. It will return a 1 if you should keep waiting, and a 0 if you should move onto the next frame. Basically, the core Bink playback loop is: <br> 1) display a frame, <br> 2) wait until BinkWait returns a zero, <br> 3) loop back to step 1. <br> Note that there is a lot of logic hidden behind this tiny interface: sound-synchronization, preloading upcoming data, sound servicing, etc. Because all this timing sensitive work is being done in this one little function, you need to call it frequently - several times the frame rate frequency at least. Under Windows and MacOS, you need to yield and process messages while you're waiting on BinkWait. The best way to handle this is to place the call to BinkWait inside your message handling loop. For example, you could do something like this on Win32: </p><code><font size=3 color=#006000><pre>if ( PeekMessage( &msg, 0, 0, 0, PM_REMOVE ) ){ if ( msg.message == WM_QUIT ) break;<br> TranslateMessage( &msg ); DispatchMessage( &msg );}else{ if ( !BinkWait( bink ) ) { <i>// do the BinkDoFrame, BinkCopyToBuffer, BinkNextFrame, blitting, etc in this function</i> Show_next_frame( bink, bink_buf ); }}</pre></font></code><p>Message handling code like this allows Bink to continue to run while other processes still receive their messages. However, sometimes logic like this is difficult to implement (as in MFC or OWL applications). In these cases, it is still best to try to implement message handling like the example above. This can be accomplished by overloading the appropriate message dispatching function (contact RAD Game Tools for more details on this type of code). Another playback alternative is to use a timer callback and check the BinkWait status there. Note that although this technique can work, Bink really needs BinkWait to be called much more frequently than a timer can usually provide. However, if you create a timer callback that operates at 4 or 5 times the frame rate (so, with a 15 fps Bink file, check BinkWait 75 times a second), then this method may be easier to integrate. If neither a message loop nor a timer call back will work for you, contact RAD Game Tools for other more-complicated alternatives. </p>
<p>
<br>
<b>Group:</b>
<a href="Bink API.html">Bink API</a><br>
<b>Related Sections:</b>
<a href="Bink Video Playback.html">Bink Video Playback</a>, <a href="NTSC and PAL on the cadb3m.html">NTSC and PAL on the Nintendo GameCube</a>, <a href="NTSC and PAL on the Xbox.html">NTSC and PAL on the Xbox</a>, <a href="Sharing the CPU on t86r93m.html">Sharing the CPU on the Nintendo GameCube</a>, <a href="Sharing the CPU on t9jibaa.html">Sharing the CPU on the Xbox</a>, <a href="Sharing the CPU unde9ijdaa.html">Sharing the CPU under MacOS</a>, <a href="Sharing the CPU unde2nabaa.html">Sharing the CPU under Win32</a><br>
<b>Related Functions:</b>
<a href="BinkDoFrame.html">BinkDoFrame</a>, <a href="BinkNextFrame.html">BinkNextFrame</a>, <a href="BinkPause.html">BinkPause</a><br>
<b>Related Basic Types:</b>
<a href="HBINK.html">HBINK</a>, <a href="S32.html">S32</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,610 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Change Log</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Change Log">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h4>Discussion</h4>
<p>This change log includes the entire Bink development history. </p>
<h1>Changes from version 1.5u to 1.5v (04-12-2003)</h1>
<ul>
<li>Fixed a bug where the Bink player for Mac couldn't highlight pre-compiled EXE video files.</li>
<li>Fixed a bug on the Mac in the BINKSURFACE32R and BINKSURFACE32RA YUV to RGB pixel converters where a non-divisible by 4 right edge would draw with the wrong colors.</li>
<li>Fixed a bug in the Mac Classic versions of the library and player where RemoveTimeTask couldn't be found on pre-9.0 MacOS.</li>
<li>Added Mach-O format Carbon dynamic libraries for building Project Builder or CodeWarrior Mach-O applications without thunking.</li>
<li>Brought Bink Mac up to the latest PC source base (now uses Perforce and command line building just like the PC, so it will always stay in sync).</li>
</ul>
<h1>Changes from version 1.5t to 1.5u (03-16-2003)</h1>
<ul>
<li>Bink playback is now much smoother on medium to low-end machines running Win 9x, due to working around a multi-threaded bug in the system function, timeGetTime, that was eating up to 30% of the CPU!</li>
<li>Now properly handle the window being minimized when using DirectDraw primary surface blitting in the Bink player.</li>
<li>Fixed an edge bug when using BinkCopyToBufferRect with a non-visible-by-4 width or height and a non-zero left or top offset.</li>
</ul>
<h1>Changes from version 1.5s to 1.5t (02-06-2003)</h1>
<ul>
<li>Fixed the Smack and SmackMix tools when using old format Bink audio tracks.</li>
<li>We more support more dialects of TGA import files. This means we resort to QuickTime less often (which is good because QuickTime is slooow).</li>
<li>Fixed an debug assert in the Xbox SDK when setting very quiet (or silent) mix bin volume levels.</li>
<li>Fixed a crash when using waveOut audio output and the "play as fast as possible" frame rate option.</li>
</ul>
<h1>Changes from version 1.5r to 1.5s (01-14-2003)</h1>
<ul>
<li>Allowed the Smack and SmackMix tools to create old format Bink audio tracks.</li>
<li>Increased the Bink I/O block size from 8K to 16K (since Bink videos are slowly using higher data rates).</li>
<li>Fixed a setting in the Bink SDK help where the navigation tab would disappear when the focus was lost. One stupid downside is that WinHelp remembers what the setting used to be, so if you have no nagivation tab at all, then choose "Options... Show Tabs" on the menu bar.</li>
</ul>
<h1>Changes from version 1.5q to 1.5r (01-01-2003)</h1>
<ul>
<li>Fixed the accidental exclusion of the RADSetMemory function header file from the Bink SDKs.</li>
<li>Made the Bink Player only ask to check for updates if it is in the same directory as the RAD Video Tools. This means that the free Bink Player can be distributed without popping up update requests.</li>
<li>We now poll the DirectSound buffer positions much less frequently to handle sound drivers that report these positions slowly.</li>
<li>We added a non-LTCG version of Bink for Xbox, so that "Edit and Continue" can be used again.</li>
</ul>
<h1>Changes from version 1.5p to 1.5q (11-18-2002)</h1>
<ul>
<li>Fixed a problem where our JPEG reader was detecting motion-JPEG QuickTime movies as a single frame JPEG. This had the effect of making motion-JPEG movies only appear to be one frame, so only the first frame of the movie was ever converted. We now force the use of QuickTime when the JPEG file is over 1.5 MB in size, or when the extension is .QT or .MOV.</li>
<li>Fixed a bug when using the old Bink audio codec where stereo sound files would get converted to mono during compression. Note that there was no problem if you were using the new Bink audio codec (which you should be anyway).</li>
<li>Fixed a bug when compiling a Smacker for DOS or Win16 video executable.</li>
<li>Did the big switch over to Perforce source code control.</li>
</ul>
<h1>Changes from version 1.5m to 1.5p (10-18-2002)</h1>
<ul>
<li>Added MusyX audio output support for the GameCube SDK. This caused a few API changes on the GameCube (even for non-MusyX games) because we no longer automatically assume you are using AX. So, you must now call BinkSoundUseAX or BinkSoundUseMusyX before the first call to BinkOpen, or you won't get any sound. Also, RADSetAudioMemory has been removed (because only AX used it) - instead, you now pass in the ARAM callbacks to the BinkSoundUseAX function.</li>
<li>Updated all of the GameCude examples to let them be built AX or MusyX.</li>
</ul>
<h1>Changes from version 1.5L to 1.5m (10-04-2002)</h1>
<ul>
<li>Made the lower Bink audio compression levels less lossy (the levels less than 4).</li>
<li>Changed the GameCube I/O code to check the global DVD status (vs. the file status) so that errors are still reported even if other async I/O intervenes.</li>
<li>Worked around buggy Windows XP sound drivers that report bogus playback positions (which was causing occasional skips).</li>
<li>Switched to using QuickTime to load PNGs when compressing alpha planes.</li>
</ul>
<h1>Changes from version 1.5k to 1.5L (09-25-2002)</h1>
<ul>
<li>Fixed a problem on the GameCube where stereo audio playback was overly noisy.</li>
<li>Fixed a few subtle timing issues to allow seamless audio looping.</li>
</ul>
<h1>Changes from version 1.5J to 1.5k (09-09-2002)</h1>
<ul>
<li>Added batch functionality to the RAD Video Tools! Now you can highlight a group of input files and process them all one by one.</li>
<li>The RAD Video Tools now has built-in support for TGA and TIFF alpha planes (previously QuickTime was used for alpha input). Our built-in support is almost 20 times faster than QuickTime, so compressing large numbers of still images is now much, much faster!</li>
<li>Fixed a bug in the DirectSound support where changing the volume could be ignored.</li>
<li>Bumped up the default compression data rate to 400 kps.</li>
<li>Added a warning when you ask to compress an alpha plane and the input file has no alpha plane.</li>
<li>Switched to .NET for building the tools (a little faster compiled code, but the debugger is frustrating).</li>
<li>Changed the sound support so that we only reset the sound system every 2 minutes of video (less popping at loop points). We also do the reset on the first frame (previously we did it on the last frame which occasionally popped).</li>
<li>Moved the end of file logic in the Xbox and GameCube example source to fix a problem where playback could stop one frame early.</li>
<li>Show 2 decimal places when displaying frame rates in the RAD Video Tools.</li>
<li>We now free the 2x height doubled YUV scanline buffers in BinkClose (vs. shutdown in previous versions). This only saves about 1500 bytes, but it helps with fragmentation.</li>
<li>Changed the GameCube SDK to account for the slightly faster rate that the NGC DSP <i>really</i> runs at. Fixes sync problems with longer movies on the GameCube.</li>
<li>Changed the Xbox and PC SDK to allocate the sound sample buffer on the stack - saves 16K of global memory.</li>
<li>Now build the Xbox library using VC7's link time code generation. This will generate both faster and smaller code. The file size of the library is large because the linker does the compilation - the link size in bytes will be 10K to 50K smaller.</li>
</ul>
<h1>Changes from version 1.5i to 1.5J (06-24-2002)</h1>
<ul>
<li>Updated the sound code for the Miles Sound System to work with Miles 6.5.</li>
<li>Updated the sound code for DirectSound to be loudness based (vs. amplitude based).</li>
<li>Updated the Nintendo GameCube examples to work with Patch 3.</li>
</ul>
<h1>Changes from version 1.5h to 1.5i (06-15-2002)</h1>
<ul>
<li>Fixed a no-volume problem when using the latest GameCube audio libraries.</li>
</ul>
<h1>Changes from version 1.5g to 1.5h (06-12-2002)</h1>
<ul>
<li>Made BinkOpen use async reads on the GameCube to avoid lock ups when opening the door at the wrong time.</li>
<li>Re-enabled the BinkDX8SurfaceType function on the Xbox.</li>
</ul>
<h1>Changes from version 1.5f to 1.5g (05-15-2002)</h1>
<ul>
<li>Fixed the GameCube not playing some soundtracks.</li>
<li>Fixed two ugly bugs on the GameCube when closing a Bink file.</li>
<li>Fixed an periodic clicking on the GameCube with some audio sample rates.</li>
<li>Fixed the little glitch of audio when playing 8-bit data on the GameCube.</li>
</ul>
<h1>Changes from version 1.5e to 1.5f (05-08-2002)</h1>
<ul>
<li>Fixed a crash when compressing some audio files.</li>
</ul>
<h1>Changes from version 1.5d to 1.5e (04-29-2002)</h1>
<ul>
<li>Fixed a bug when compressing or mixing using the old Bink audio compressor.</li>
<li>Fixed a debug message that displayed while compressing.</li>
</ul>
<h1>Changes from version 1.5c to 1.5d (04-27-2002)</h1>
<ul>
<li>Fixed a few linker errors on GameCube when using CodeWarrior.</li>
</ul>
<h1>Changes from version 1.5b to 1.5c (04-17-2002)</h1>
<ul>
<li>Worked around a compiler bug that could cause the Bink compressor to crash on some input files.</li>
</ul>
<h1>Changes from version 1.5a to 1.5b (04-03-2002)</h1>
<ul>
<li>Added the BinkCopyToBufferRect function to the Bink SDK. This function allows you to partially copy a Bink frame to another buffer. You can draw with tiled Direct3D textures much faster with this function.</li>
<li>Updated the DX8 and DX7 example programs to use the BinkCopyToBufferRect function.</li>
<li>Changed the RAD 3D wrapper API slightly on PC to handle direct locking of tiled textures. You now need to call Lock_RAD_3D_image in a loop to obtain each buffer pointer to copy into. See ExamAlph.c for the updated example.</li>
<li>Released a new Carbon version of the Mac player (compatible with MacOS X and 9)!</li>
<li>Fixed a false positive condition when writing out an AVI that could cause the 'Windows has crashed' message to appear when everything was fine.</li>
<li>Updated the Mac version to the latest codebase.</li>
<li>Fixed an offset bug on the Mac in BinkBufferLock when running on certain multi-monitor configurations.</li>
<li>Switched to an all new internal task sharing model on the Mac - replaces all the cooperative thread stuff with timers and critical sections. Much better IO and sound performance (fixes the MacOS X multi-CPU sound skips).</li>
<li>On MacOS X, switched to using normal IO on a background thread instead of async IO.</li>
<li>Fixed a few bugs on the GameCube when playing videos with no sound.</li>
<li>Fixed the mixer to accept lossy levels greater than 100 (to specify the old Bink encoder format).</li>
<li>Fixed the delay when using BinkGoto on a video without sound.</li>
</ul>
<h1>Changes from version 1.2J to 1.5a (03-15-2002)</h1>
<ul>
<li>Added an all new Bink audio encoder! Sounds much better and can compress up to half the old data rate!</li>
<li>Added crash protection around all calls to Windows or QuickTime - we should now withstand crashes in buggy 3rd party codecs. The specific frame that was being decompressed will be blank, but the rest of the movie should survive.</li>
<li>Added several new Xbox SDK examples showing overlay and back buffer support. Overlays are really cool - they are definitely the best way to play most videos on the Xbox.</li>
<li>Added YUY2 blitting support to the Xbox SDK - this allows the Xbox hardware to do the YUV to RGB conversion (which is usually much faster). Most of the examples now use YUY2 as the default texture format.</li>
<li>Added support for 3D Studio Max's RLA file format. This format supports RGB, alpha, Z-depth info, UV-coordinates, and normals - all per pixel! This lets you do some amazing post-process stuff with video that you'd swear couldn't be pre-rendered. We'll put up some demos of this soon!</li>
<li>Added lots of new configuration detection to the System Info button in the RAD Video Tools (Duron, P4, Celeron, Itanium, Me, 2000, XP, video card, audio card, memory, and disk space).</li>
<li>Detect larger than 2 GB AVI files and warn the user that they are not supported by the Windows reader.</li>
</ul>
<h1>Changes from version 1.2i to 1.2J (02-18-2002)</h1>
<ul>
<li>Released the all new Nintendo GameCube support! The platforms keep coming!</li>
<li>Fixed a stupid memory leak in BinkOpen - everyone using 1.2i should upgrade.</li>
<li>Rewrote BinkGoto completely - you can now jump directly to a frame and the sound will begin immediately (vs. the old 750 millisecond silence delay).</li>
<li>Added new Direct3D 8 example texture support code. Includes support for dynamic and non-power of 2 textures (both of which can improve playback dramatically).</li>
</ul>
<h1>Changes from version 1.2h to 1.2i (01-18-2002)</h1>
<ul>
<li>Detected when DirectDraw can't lock the primary surface and switch to DIBSections. This fixes the problem with blank video windows on XP or when NetMeeting was running.</li>
<li>Fixed a rare deadlock problem when a movie would loop (or when you called BinkSetSoundOnOff).</li>
<li>Fixed a data overrun that could cause pauses when playing a movie that had no sound.</li>
<li>Made BinkGoto start the audio from the "gone-to" frame instead of whatever filled up the sound buffer first.</li>
<li>Fixed BinkGoto to not unpause the movie if it was previously paused.</li>
<li>Removed Windows.h from the Bink header file (for faster compilation).</li>
</ul>
<h1>Changes from version 1.2g to 1.2h (11-07-2001)</h1>
<ul>
<li>Made the default mix bins on the Xbox to be all speakers (instead of the normal Xbox default of just the front-left and front-right speakers).</li>
</ul>
<h1>Changes from version 1.2f to 1.2g (11-06-2001)</h1>
<ul>
<li>Switched to the November Xbox SDK which required slightly changing the BinkSetMixBins and BinkSetMixBinVolumes functions.</li>
</ul>
<h1>Changes from version 1.2e to 1.2f (10-26-2001)</h1>
<ul>
<li>Fixed a silly regression bug where videos without audio would play with the wrong frame rate.</li>
</ul>
<h1>Changes from version 1.2d to 1.2e (10-19-2001)</h1>
<ul>
<li>Bink can now play multiple sound tracks at once. This means that the BinkSetSoundTrack function now takes an array of track IDs to play instead of a single value. Also, the BINKNOSOUND constant has been removed - to play without any sound, pass a zero for the track count in BinkSetSoundTrack.</li>
<li>Added example code in ExamXbox.cpp that shows how to play 5.1 audio on an Xbox.</li>
<li>Added the BinkSetMixBinVolumes function to adjust the mix bin volumes individually on the Xbox.</li>
<li>BinkSetVolume, BinkSetPan, BinkSetMixBins functions all now take a track ID to control which sound track is changed.</li>
<li>Worked around a DirectSound bug on the Xbox where the audio tracks sometimes wouldn't start. If we notice the sound positions aren't updating, we restart the audio track.</li>
</ul>
<h1>Changes from version 1.2c to 1.2d (10-02-2001)</h1>
<ul>
<li>Fixed a bug in the Miles sound module where sound wouldn't restart after a skip.</li>
</ul>
<h1>Changes from version 1.2b to 1.2c (09-30-2001)</h1>
<ul>
<li>Worked around a nasty bug in the Xbox system software where the machine can occasionally get in a state where QueryPerformanceCounter actually runs backwards.</li>
<li>Fixed a bug where Bink wouldn't play the audio track of very short videos (the entire video had to be less than 250 milliseconds long).</li>
</ul>
<h1>Changes from version 1.2a to 1.2b (09-24-2001)</h1>
<ul>
<li>Put all of Bink in separate sections, so that it can be loaded and unloaded on an Xbox. Use the new BinkUnload and BinkUnloadConverters to manage Bink's sections.</li>
<li>Set the headroom on the Bink DirectSound buffer to zero (the default is too quiet on the Xbox).</li>
<li>Added a new BinkSetMixBins function to allow the management of Xbox mix bin destination buffers.</li>
</ul>
<h1>Changes from version 1.1d to 1.2a (08-28-2001)</h1>
<ul>
<li><b>Huge quality improvements</b> on videos with color gradiants, washes, or fades as a result of cleaning up noise contamination all the way through the Bink pixel pipeline. In some cases, equivalent quality can be obtained at 1/4 the bandwidth! If you need highest possible quality, <b>we recommend recompressing</b> all your Bink videos. The only downside is that video compression time is longer when using super-high data rates (which you may not need any more). These improvements aren't hype - the quality difference is amazing in most cases!</li>
<li>Added a new denoising video filter (which is now rarely necessary with the new quality improvements).</li>
<li>Fixed a front-end problem in the video converter where half-toning was being applied if you selected "half-tone always" in the 256-color section.</li>
</ul>
<h1>Changes from version 1.1c to 1.1d (08-21-2001)</h1>
<ul>
<li>Worked around an Xbox DirectSound bug that caused movies to skip or slip out of synch at the start of a movie.</li>
<li>Fixed a bug that caused Bink's DirectSound code to take lock the DirectSound buffer too frequently.</li>
<li>Bink for Xbox now allocates it's sound buffer from the RAD memory allocation functions.</li>
<li>Bink's threads now use 12K of stack space instead of the executable default. This can save a fair amount of memory on the Xbox.</li>
<li>Added a workaround in the Bink timer code for buggy motherboards that advance the QueryPerformanceCounter incorrectly under heavy loads.</li>
</ul>
<h1>Changes from version 1.1b to 1.1c (07-12-2001)</h1>
<ul>
<li>Added new QuickTime importing code to support the video track of MPEG and Flash movies. QuickTime doesn't support audio exporting from either of these file types yet, unfortunately.</li>
<li>Added new QuickTime importing code to support AVIs that Windows can't open (like DV formatted AVIs).</li>
<li>Switched to the July version of the Xbox SDK.</li>
</ul>
<h1>Changes from version 1.1a to 1.1b (06-18-2001)</h1>
<ul>
<li>Fixed bug when opening a Bink file with multi-threaded I/O turned off. This caused several of the tools to lock up when processing Bink files as input files.</li>
</ul>
<h1>Changes from version 1.0x to 1.1a (06-14-2001)</h1>
<ul>
<li>Added new audio encoder that provides much higher quality sound on deep tones (may still have to use 0 lossy level on some files, though).</li>
<li>Rewritten DirectSound layer - much more tolerant of CPU starvation. Also worked around buggy SBLive drivers that would cause periodic skipping under Windows 2000.</li>
<li>All new threading model - instead of one thread per open Bink, there are simply two global threads for all open Bink files. Also fixed a few very rare thread deadlocks on multi-CPU machines (typically exhibited after more than 12 hours of looped playback).</li>
<li>Built with new beta versions of the Xbox system software - fixes crash in BinkOpen on beta 1 and 2 Xbox hardware.</li>
<li>Fixed compression of unusual AVIs where the video stream format doesn't match the file format (usually seen in Debabilizer AVI files).</li>
<li>Fixed a bug compressing unusual QuickTime movies where the audio started at a non-zero offset.</li>
<li>Improved the Bink I/O system to give better playback when playing files that are very close to the data rate limit of the playback device.</li>
<li>Added a new BinkDX8SurfaceType function that returns the type of a DirectX 8 surface.</li>
</ul>
<h1>Changes from version 1.0w to 1.0x (02-15-2001)</h1>
<ul>
<li>First release of the Bink SDK for Xbox! Use Bink files on the Xbox!</li>
<li>Fixed a several precision issues in the front-end tools that caused a variety of odd problems when working with very long video files.</li>
<li>Updated the 3D example files to support scaling the video while blitting.</li>
<li>Fixed a thread deadlock when running under Windows 98 and another background application was pounding on the DirectSound device.</li>
<li>Fixed a bug on the Mac when using the BINKSURFACE32A surface type.</li>
</ul>
<h1>Changes from version 1.0v to 1.0w (11-26-2000)</h1>
<ul>
<li>All Bink example files have been rewritten - much cleaner and easier to understand.</li>
<li>The example programs for performing alpha on OpenGL or Direct3D have been merged into one file (ExamAlph.C). The example now uses a simple wrapper API to both OpenGL (GLRAD3D.C) and Direct3D (D3DRAD3D.CPP).</li>
<li>Added a Carbon version of the Bink library for MacOS X.</li>
<li>Made the Bink Mac player show double-clicked or dropped files from the Finder.</li>
<li>Fixed a few bugs in the video resizer - should look better when using small resize ratios (like resizing a 320x240 video to 352x256, for example).</li>
<li>Fixed a bug in the video smoother where small artifacts could appear.</li>
<li>Allow more video files to be added to a single compiled executable.</li>
<li>Fixed a bug where bi-linear filtering was forced on when compressing an alpha plane.</li>
<li>When adding three or more files to a list file, the files are sorted as they are placed into the list.</li>
<li>List files now store complete pathnames internally, so you can copy them to other locations and the list file will still work.</li>
</ul>
<h1>Changes from version 1.0u to 1.0v (10-03-2000)</h1>
<ul>
<li>Fixed a silly bug in the still image importer where the frame range was used incorrectly.</li>
</ul>
<h1>Changes from version 1.0t to 1.0u (09-28-2000)</h1>
<ul>
<li>Fixed a bug in Smacker's lossless mode where it wasn't lossless if the input file had a very high data rate.</li>
<li>Fixed a bug when using a list file containing a series of still images with local start and end frame offsets.</li>
<li>Fixed a display bug in file information window where large file sizes could be displayed as negative numbers.</li>
<li>Switched to the new RAD make tool - very cool.</li>
</ul>
<h1>Changes from version 1.0s to 1.0t (09-09-2000)</h1>
<ul>
<li>Added video resizing! You can now shrink or zooming during compression or conversion. We use bi-cubic interpolation for extremely high quality scaling.</li>
<li>Added a bunch of digital video filters for use during compression and conversion - contrast, smoothing, brightness, clamp to black, gamma correction, and video de-interlacing are all now available!</li>
<li>Fixed a subtle bug in the QuickTime importer where the first frame was sometimes duplicated.</li>
<li>Added new 256-color small and large icons for Bink and Smacker.</li>
<li>Added a workaround to a SBLive driver bug that was causing waveOut mode not to work under Win98.</li>
<li>Fixed some thread contention problems that were causing audio decompression to take a bit more CPU than necessary.</li>
<li>Fixed the non-client area not being redrawn in the players after a window resize under Win2K.</li>
<li>Changed a few variable names in RAD.H to avoid conflicts with AMD's 3DNow header file.</li>
<li>Fixed a bug where a list file containing files with different original frame rates would wrap around if an adjusted frame rate was used on the list file.</li>
</ul>
<h1>Changes from version 1.0r to 1.0s (08-08-2000)</h1>
<ul>
<li>Made the player periodically ask to check for updates (since many users just double-click in Explorer and never run the tools).</li>
<li>Fixed a stupid bug where Bink videos without sound would play as fast possible.</li>
</ul>
<h1>Changes from version 1.0q to 1.0r (08-03-2000)</h1>
<ul>
<li>Sped up the decompressor by 12% on Mac and 5% on PC.</li>
<li>Fixed a audio problem on the Mac where audio playback was noisy.</li>
<li>An error is now shown when the audio track of a locked QuickTime file is opened (rather than just converting silence).</li>
<li>When executing an internal video utility and the control key is held down, we now put the command onto the clipboard (this makes it easy to copy the command line into a batch file).</li>
<li>An hourglass is displayed when reading long series of image files.</li>
<li>Fixed a bug where the wrong window style was used in the Bink player.</li>
<li>Fixed a goofy bug where BinkSetSoundOnOff only allowed zero or one (vs. zero or non-zero).</li>
</ul>
<h1>Changes from version 1.0p to 1.0q (07-10-2000)</h1>
<ul>
<li>Fixed a subtle aliasing error when using the 'adjust to frame rate' option with non-integral multiples.</li>
<li>Fixed a bug where the alpha plane of an imported Bink file was ignored.</li>
<li>Fixed a bug where the alpha plane of a TGA file was ignored if you imported the file as one of a series of still images.</li>
<li>Switched to a new EXE compressor (UPX) under Win32 that gets better compression and that should be more widely compatible.</li>
</ul>
<h1>Changes from version 1.0n to 1.0p (06-26-2000)</h1>
<ul>
<li>Switched to the real FFT instead of the complex FFT which can double audio decompression performance on some CPUs!</li>
<li>Made the RAD Video Tools must better at detecting series of numbered files.</li>
</ul>
<h1>Changes from version 1.0m to 1.0n (06-12-2000)</h1>
<ul>
<li>Compiled EXE Bink and Smacker files can now be used by most of the tools - you can convert them into AVIs, recompress them, remix audio from them, click on advanced play to change the built-in playback settings, etc.</li>
<li>You can now use the Bink and Smacker sound mixers to remove an audio track - just use '-' for the sound filename to mix.</li>
<li>The Mac player can now play PC EXE compiled videos - just highlight EXE file and hit Play!</li>
<li>Video playback is now centered by default on the Mac.</li>
<li>The background screen is cleared to black by default on the Mac.</li>
<li>Added options to not clear the background screen and to hide the mouse during playback on the Mac.</li>
<li>The Smacker player can now hide the mouse cursor during playback.</li>
<li>Fixed crash when encountering a file IO error (such as the CD being ejected during playback) on both PC and Mac.</li>
<li>Fixed an offset bug when using negative X offsets in the RAD graphics file importer when outputting true-color files.</li>
<li>Added the new RADSetMemory function that allows you to replace Bink's or Smacker's memory allocation and freeing routines on both PC and Mac.</li>
</ul>
<h1>Changes from version 1.0k to 1.0m (06-02-2000)</h1>
<ul>
<li>Switched to a faster FFT routine (speeds up audio decompression).</li>
<li>Fixed BinkCopyToBuffer to return a 1, if the blit was skipped.</li>
<li>Exported the BinkSetIO function correctly.</li>
<li>Fixed a wrap around bug when converting long wave files with the Bink converter.</li>
</ul>
<h1>Changes from version 1.0j to 1.0k (05-22-2000)</h1>
<ul>
<li>Fixed some surface byte ordering issues on MacOS - BINKSURFACE32 is now the correct format for the MacOS desktop.</li>
<li>Fixed a millisecond overflow problem on MacOS.</li>
<li>Buffer more sound data on MacOS - should give smoother playback.</li>
<li>Use less aggressive frame skipping on both PC and Mac.</li>
<li>Fixed a bug in the Bink IO speed simulator.</li>
<li>Fixed a crash when importing a Smacker file with Bink audio.</li>
<li>Added waveOut support to Bink - it can now run completely without DirectX.</li>
</ul>
<h1>Changes from version 1.0i to 1.0j (04-30-2000)</h1>
<ul>
<li>First version of Bink for Mac! The full Bink SDK and player is now available for MacOS!</li>
<li>Fixed a bug when pausing a video before a single frame had been decompressed.</li>
</ul>
<h1>Changes from version 1.0h to 1.0i (04-05-2000)</h1>
<ul>
<li>Added three new display color depth options to the Bink player - "at least high-color" (tries 16-bit, then 32-bit, and then 24-bit), "try true-color" (tries 32-bit, then 24-bit, and then 16-bit), and "true-color only" (tries 32-bit, and then tries 24-bit).</li>
<li>Checks the actual bit depth set after a call to ChangeDisplaySettings to work around a bug in the NVidia drivers.</li>
<li>Bink player doesn't decompress sound that is going to be skipped when playing in "as fast as possible" mode.</li>
<li>Fixed a bug in the 5551 merged alpha blitters.</li>
<li>Added two Bink alpha plane playback examples - DXALPHA.CPP for Direct3D and GLALPHA.C for OpenGL.</li>
<li>First version of Smacker 4.0 for the Mac! PowerPC and 68K are both supported (you should avoid using Bink audio in Smacker files that will be played on 68K machines, though).</li>
<li>Fixed a bug in the Smacker encoder where files compressed with Bink audio tracks would be aligned incorrectly. This led to too slow Smacker files on the PC and unplayable files on the Mac. You have to recompress the Smacker file to fix the problem, though.</li>
<li>Renamed the SmackTimerRead function to RADTimerRead and switched to using QueryPerformanceCounter (from timeGetTime) on Win32 - should make movies play a little more smoothly on Windows NT and 2000.</li>
<li>Fixed a bug in the SmackGetRects function where an extra bogus rectangle would be returned on a frame where a palette change occurred, but no pixels changed.</li>
<li>In the Smacker player and SDK, broke out the time spent in the audio and video decoders into separate values.</li>
<li>Fixed a bug in the Smacker player that cause an extra millisecond of sleep for every frame.</li>
<li>Fixed a bug where the Bink encoder wouldn't read the alpha channel out of an input Bink file.</li>
<li>Fixed a crash in the Mac SmackBuffer API when a NULL rectangle was passing to SmackBufferBlit.</li>
<li>You can now override settings on the command line with a remove switch. For example, if you run "BinkPlay test /L", you can tell Bink to ignore the loop switch with "BinkPlay test /L /-L". The "slash-minus-L" tells Bink to skip the earlier L switch. This is mostly useful for overriding the switches that are compiled into a self-playing Bink or Smacker file.</li>
</ul>
<h1>Changes from version 1.0g to 1.0h (03-14-2000)</h1>
<ul>
<li>Under NT, sped up mixing time dramatically by flushing the file less often.</li>
<li>Fixed a problem where a user-specified DirectSound object could cause audio not to play.</li>
<li>Fixed a bug in the Smacker mixer where forcing a frame rate would cause the audio to be mixed incorrectly.</li>
</ul>
<h1>Changes from version 1.0f to 1.0g (03-08-2000)</h1>
<ul>
<li>Added multi-CPU support to the Bink compressor! Compression scales close to linearly with multiple CPUs - twice as fast for two CPUs, four times as fast for four CPUs, etc.</li>
<li>Added reversed order blitters (BINKSURFACE24R and BINKSURFACE32R). These are convenient under OpenGL where the reversed byte path is more optimized.</li>
<li>Added merging alpha blitters (BINKSURFACE32A, BINKSURFACE32RA, and BINKSURFACE4444). These are used with Bink files that are compressed with an alpha plane to get the merged formats commonly used by the 3D APIs.</li>
<li>Added the new online documentation system (with the system that Casey created for Granny).</li>
<li>Fixed a bug in the BinkBuffer API where the YUV formats were never tried if the DIBSection blitter failed.</li>
</ul>
<h1>Changes from version 1.0e to 1.0f (02-08-2000)</h1>
<ul>
<li>Made the Bink compressor up to 25% faster with better video quality.</li>
<li>Made the core Bink decompressor about 12% faster on all CPUs.</li>
<li>Made the decompressor another 5% faster if you recompress your Bink files.</li>
<li>When compressing with alpha, we now use QuickTime to load the files first (which lets us read the alpha planes out of most files - including TGAs).</li>
<li>Fixed a few bugs in the alpha plane compressor and decompressor.</li>
<li>Switched to a new internal frame format as a precursor to multi-CPU (SMP) decompression.</li>
<li>Merged the Bink for PC and Mac into one code base (for the upcoming Mac release).</li>
<li>Fixed a crash in the Bink DLL when shutting down under NT 4.</li>
<li>Made the Bink and Smacker players for Win32 take longer lists of filenames (up to 50 files can now be compiled into an EXE).</li>
</ul>
<h1>Changes from version 1.0d to 1.0e (02-01-2000)</h1>
<ul>
<li>Worked around a Windows buffer limit that was causing doubled-clicked files in the RAD Video Tools not to play.</li>
<li>Fixed a potential crash when decompressing alpha plane data.</li>
</ul>
<h1>Changes from version 1.0c to 1.0d (01-27-2000)</h1>
<ul>
<li>Fixed a bug in the QuickTime sound importer - there should be no more glitches with compressed MOV soundtracks, MP3 files or other compressed wave files.</li>
<li>Fixed the Bink converter using the wrong value when displaying percent complete during a sound file conversion.</li>
<li>Fixed some YUV conversion problems when using non-zero offsets to the BinkCopyToBuffer function.</li>
<li>Sped up mono 2x blitting on non-MMX CPUs.</li>
<li>Fixed a bug where DirectDraw was still required even when using DIBSections.</li>
<li>Fixed a bug in the standalone player where the DirectSound object was deadlocking when being released under NT 4 at shutdown time.</li>
<li>Fixed some bugs in the measuring of total read time (and added reporting of idle reading time and background thread reading time in both the summary and the real time statistics).</li>
<li>Fixed a bug when simulating a device speed where the device speed was overestimated.</li>
<li>Made the list file button handle lists as large as Windows itself can handle.</li>
<li>Made the list file button much faster when used with huge lists of files.</li>
<li>Made the file info button display the true color depth of an AVI file (8, 16, 24, or 32 instead of always 8 or 24).</li>
</ul>
<h1>Changes from version 1.0c to 1.0b (01-04-2000)</h1>
<ul>
<li>Sped up mono blitting on non-MMX CPUs.</li>
<li>Fixed a bug in the YUY2 and UYVY 2X stretchers.</li>
</ul>
<h1>Changes from version 1.0a to 1.0b (12-28-1999)</h1>
<ul>
<li>Added 2x height, 2x width, and 2x width and height stretching software blitters - up to four times faster than Windows.</li>
<li>Added scaling compression support for 2x height, 2x width, and 2x width and height.</li>
<li>Fixed the Bink colorspace conversion to match YUV hardware exactly (Bink videos should look identical whether displayed with the hardware or our optimized software blitters now). This also had the nice side effect of making videos with lots of reddish hues compress better.</li>
<li>Added much faster blitter support for non-aligned destination memory addresses.</li>
<li>Made the Bink compressor display more information when loading lists and runs of files.</li>
<li>Fixed a bug in the Smacker player for DOS when playing new Smacker 4.0 files.</li>
<li>Fixed a bug in the Smacker player for DOS when playing an audio track compressed with the Bink audio codec.</li>
<li>Fixed edge support for mono and 2x blitters.</li>
<li>Fixed a bug in both the Bink and Smacker compressors, where the start sound offset would be wrong if you adjusted the output frame rate.</li>
<li>Fixed a bug where the Bink player would wait the first frame's time before beginning playback.</li>
<li>Fixed a bug in the Bink player where the final frame wasn't displayed long enough.</li>
</ul>
<h1>Changes from version 0.9n to 1.0a (12-01-1999)</h1>
<ul>
<li>Bink compression is now twice as fast! Compress your movies in half the time.</li>
<li>Bink player now shares the CPU much more nicely.</li>
<li>Added video smoothing and contrast control to the Bink compressor (usually makes a huge difference in video quality).</li>
<li>Smacker has been upgraded to version 4.0 and has been fully integrated.</li>
<li>New Smacker 4.0 compression - double the quality of your Smacker movies!</li>
<li>Smacker 4.0 now includes optional Bink audio compression. You can now use Bink's perceptually-lossless 8 to 1 audio compressor.</li>
<li>Smacker 4.0 player now shares the CPU much more nicely.</li>
<li>Smacker 4.0 player now correctly shows the logo if the movie was paused.</li>
<li>Smacker 4.0 DOS player now uses Miles 6.0 (smaller compiled DOS EXEs).</li>
<li>Smacker 4.0 uses the Bink bandwidth allocation routines to intelligently reallocate bandwidth to the frames that need it most.</li>
<li>Added a SmackGetKeyFrame function to the Smacker 4.0 SDK.</li>
<li>The analyze window now tags key frames in Bink and Smacker 4 files.</li>
<li>Added an always-on-top option to both the Bink and Smacker players.</li>
<li>The Bink compressor can now compress to grayscale-only Bink files.</li>
<li>Added an option for the Bink compressor to compress the alpha plane of the input file (only Bink SDK users can access the alpha plane currently).</li>
<li>Made window alignment dependent on pixel size (rather than always 4) in Bink.</li>
<li>Made the compressors, converter, and mixers front-ends more consistent.</li>
<li>Bink video window isn't cleared to black before playback begins.</li>
<li>Fixed a nasty bug in the masking YUV blitter that would cause some unusual frames not to be completely copied (leaving little artifacts behind).</li>
<li>Fixed a crash when looping short Bink movies.</li>
<li>Fixed a bug in the Bink converter when converting RAW sound files into wave files.</li>
<li>Fixed a bug in Bink where the first frame would be skipped after a go to or a loop around (which also fixed a weird problem when Smacking a Bink file).</li>
</ul>
<h1>Changes from version 0.9m to 0.9n (11-02-1999)</h1>
<ul>
<li>Added new YUV to RGB blitters specifically for video memory - up to 100% faster when converting directly into video memory.</li>
<li>Fixed a memory leak in BinkClose.</li>
<li>Fixed a bug when playing multiple files when using the fill-screen-to-black option.</li>
</ul>
<h1>Changes from version 0.9k to 0.9m (10-14-1999)</h1>
<ul>
<li>Added a grayscale blitting mode (much faster - useful on slow machines).</li>
<li>Further tweaked the frame skipping logic for slower machines.</li>
<li>Made the DIBSection blitter chosen before the overlay and off-screen surfaces (should be more compatible).</li>
</ul>
<h1>Changes from version 0.9j to 0.9k (10-13-1999)</h1>
<ul>
<li>Made sound synchronization much more accurate after a frame skip or a pause - we should recover from frame skips on low end machines much cleaner now.</li>
<li>Fixed a problem with videos stopping with the SDK when using Miles.</li>
</ul>
<h1>Changes from version 0.9i to 0.9j (10-11-1999)</h1>
<ul>
<li>Further optimized the 24-bit and 32-bit non-MMX blitting routines.</li>
<li>Fixed the background of the Bink Tools dialog boxes under NT.</li>
<li>Fixed a bug with compiled EXE Bink files not playing under NT.</li>
</ul>
<h1>Changes from version 0.9h to 0.9i (09-09-1999)</h1>
<ul>
<li>Added DIB Section support for non-DirectX blitting.</li>
<li>Changed DirectDraw off-screen system blitter to check the DirectDraw scale flags to see if it supported stretching.</li>
<li>Added new non-MMX 16-bit, 24-bit, and 32-bit blitters that are all much faster on Pentium Pros.</li>
<li>Added additional optimized data alignment paths in the 16-bit non-MMX blitters.</li>
<li>Fixed a bug in the sound mixer where key frame markers would be lost.</li>
<li>Fixed a bug in the compressor where the hint file frame numbers were off by one.</li>
<li>Added a switch (/C) to hide the Windows mouse cursor inside the Bink window.</li>
</ul>
<h1>Changes from version 0.9g to 0.9h (09-02-1999)</h1>
<ul>
<li>Fixed a stupid, but pesky audio mixing bug where the "mix at what frame" setting could be ignored.</li>
<li>Fixed a sporadic crash when compressing file with more than 50000 frames.</li>
<li>Fixed a bug where the left edge of the desktop could peek through when using the "clear screen to black" setting.</li>
<li>Fixed a bug in the SDK when BinkCopyToBuffer wouldn't work inside when the Bink file was paused.</li>
</ul>
<h1>Changes from version 0.9f to 0.9g (08-05-1999)</h1>
<ul>
<li>Added a new P5-scheduled version of the 24-bit RGB blitter.</li>
<li>Fixed bug when canceling a Bink compression, but keeping the existing frames.</li>
<li>Fixed a bug when skipping into a Bink file inside a list file.</li>
</ul>
<h1>Changes from version 0.9e to 0.9f (08-03-1999)</h1>
<ul>
<li>Fixed a goofy bug in the Bink player that causes video EXE files not to use the embedded options.</li>
</ul>
<h1>Changes from version 0.9d to 0.9e (07-30-1999)</h1>
<ul>
<li>Added Compile to EXE support for both Bink and Smacker files.</li>
<li>Adjusted the Bink data rate algorithms to minimize periodic data spikes and data drop outs. It's usually worthwhile to recompress your videos.</li>
<li>Added peak data rate control in the Bink compressor - this allows you to keep the peak rates under control when applying bandwidth reallocation.</li>
<li>You can now highlight and play multiple files at once (both in quick mode and advanced).</li>
<li>Added a View button to the Bink and Smacker mixers.</li>
<li>The players now also adjust the sound playback rate when playing back at a forced frame rate. This keeps the audio in sync on forced frame rates.</li>
<li>Added new optimized MMX 24-bit and 32-bit blitters - up to 50% faster blitting in these modes.</li>
<li>Added a periodic reminder to check for a new Bink version.</li>
</ul>
<h1>Changes from version 0.9c to 0.9d (07-12-1999)</h1>
<ul>
<li>Add detection for the AMD Athlon processor (which is pretty awesome, by the way).</li>
<li>Fixed a stupid bug when playing Bink or Smacker files from the front-end that had spaces in the filename.</li>
<li>Fixed a bug when pressing Escape while the video was paused.</li>
</ul>
<h1>Changes from version 0.9b to 0.9c (07-01-1999)</h1>
<ul>
<li>Made the front-end always call the Bink and Smacker players directly.</li>
<li>Fixed the Bink player credits window with playing in 320x200 or 320x240 mode.</li>
<li>Fixed a crash in the player when trying to play a non-Smacker file.</li>
</ul>
<h1>Changes from version 0.9a to 0.9b (06-29-1999)</h1>
<ul>
<li>Fixed a DirectDraw related bug where the video frames would never be displayed if full screen mode was requested.</li>
<li>Split out video decompression time and audio decompression time in the runtime and summary info.</li>
</ul>
<h1>Changes from version 0.8i to 0.9a (06-25-1999)</h1>
<ul>
<li>Added separate "Advanced play" windows for Bink and Smacker.</li>
<li>Added a button to check for the latest version of the RAD Video Tools.</li>
<li>Added the Video Analysis window to the Bink Tools.</li>
<li>Fixed looping so that the movie would remain in sync.</li>
<li>Added the BinkSetSoundOnOff command to the SDK.</li>
<li>Added the Smacker Player and Smacker Mixer to the front-end (just the compressor to go).</li>
<li>Wrote and implemented the new Bink help system.</li>
<li>Much faster (up to twice as fast) 16-bit RGB blitting on MMX machines.</li>
<li>Fixed a bug where the background I/O task would consume too much CPU time when the movie was done streaming (or close to done streaming).</li>
<li>Added the BinkBufferSetDDPrimary function call to the SDK to allow BinkBuffers to be used with full-screen DirectDraw applications.</li>
<li>Fixed an end-of-movie sound glitch when using DirectSound.</li>
</ul>
<h1>Changes from version 0.8h to 0.8i (05-12-1999)</h1>
<ul>
<li>Added the Bink converter which replaces the Graphics and Sound Processor in Smacker.</li>
<li>The Bink converter can now convert video *and* audio at the same time - allowing direct conversions from Bink or QuickTime into AVIs.</li>
<li>Fixed a threading crash if rapidly opening and closing Bink files.</li>
<li>Fixed the importing of 16-bit BMP files.</li>
<li>Added importing and exporting of PNG files.</li>
<li>Fixed monotonous multiple prompting for series of files when creating a list when a run of files are selected.</li>
</ul>
<h1>Changes from version 0.8g to 0.8h (04-21-1999)</h1>
<ul>
<li>Added a frame rate adjustment feature. Unlike the existing frame rate changer, this feature will add or remove frames to maintain your specified frame rate. So, if you have a 15 fps animation and you adjust it to 30 fps, then every frame will be copied twice.</li>
<li>Added decoding of Bink audio tracks to the utilities (you can now Bink or Smack a Bink file). This allows you to archive your videos in much, much less space than uncompressed AVIs (just use a really high data rate for archival purposes, say 2000000).</li>
</ul>
<h1>Changes from version 0.8f to 0.8g (04-16-1999)</h1>
<ul>
<li>Fixed an overwrite bug when compressing small resolution videos.</li>
</ul>
<h1>Changes from version 0.8e to 0.8f (04-12-1999)</h1>
<ul>
<li>Added the Bink SDK manual and cleaned up a few problems in the SDK.</li>
<li>Fixed a bug when playing under NT close to the max data rate of the device.</li>
</ul>
<h1>Changes from version 0.8d to 0.8e (04-02-1999)</h1>
<ul>
<li>Fixed a nasty overflow in the data rate parameters which could cause the data rate to grow linearly during a compression. If the data rate of your movies seems too high, then you probably ran into this bug.</li>
<li>Smoothed playback somewhat for movies that are playing very close to the maximum data rate of the playback device.</li>
</ul>
<h1>Changes from version 0.8c to 0.8d (03-31-1999)</h1>
<ul>
<li>Added much better background IO routines - can approach 100% background IO even on Windows 95/98.</li>
<li>Made audio decompression much faster.</li>
<li>Added better frame skipping techniques.</li>
<li>Improved Bink compression speed somewhat.</li>
<li>Added a new redistributable Bink player (with no RAD credits) for licensing.</li>
</ul>
<h1>Changes from version 0.8b to 0.8c (03-24-1999)</h1>
<ul>
<li>Added a list file editor.</li>
<li>Fixed a bug when Binking a wave file.</li>
<li>Can detect pretty much any type of CPU now (used the Scitech code).</li>
</ul>
<h1>Changes from version 0.8a to 0.8b (03-23-1999)</h1>
<ul>
<li>Rebuilt the Bink installation program to include the mixer.</li>
</ul>
<h1>Changes from version 0.0 to 0.8a (03-22-1999)</h1>
<ul>
<li>The first version of Bink for general testing is released (Bink Release Candidate 1)!</li>
<li>File format changed from earlier betas, this came with an almost 2x quality improvement however - especially on low-bandwidth materials.</li>
<li>Codec technology is completely finished - tools still need minor polishing, including the integration of Smacker.</li>
<li>This version of Bink requires DirectX to be installed.</li>
</ul>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Colorspace - RGB vs. YUV</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Colorspace - RGB vs. YUV">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Colorspace - RGB vs. YUV</h1>
<h4>Discussion</h4>
<p>A colorspace is simply the name given to a system of describing colors. The RGB colorspace is the one we're all familiar with - 8 bits for Red, Green, and Blue. Other colorspaces include CMYK (for printing), and YUV (which Bink uses internally). The YUV (or, more accurately YCrCb) colorspace uses 24 bits to represent color (like RGB), but rather than shades of red, green and blue, YUV uses luminance (kind of like brightness), and two chrominance (color) channels. There are simple formulas to convert back and forth between YUV and RGB losslessly, but this conversion does take cycles - even on a fast CPU, you're looking at 25% to 50% of the total playback time! So why does Bink use this more complicated and slower colorspace? Well, there are two reasons. First, the YUV colorspace is much less correlated than RGB. Being less correlated means that there is less redundacy across the Y, U, and V planes - the planes tend to come apart entropy-wise very cleanly, and less cross-planar redundancy means better compression. The second and more important reason for using YUV colorspace is the fact that people see luminance information much more accurately than they see color information. This means that you don't have to store a U and a V value for every Y value, because humans can't tell the difference anyway. This pre-compression technique is called "sub-sampling". Bink uses a 2 to 1 UV horizontal and vertical sub-sample - so, on a 640x480 image, we store a 640x480 Y plane, but only a 320x240 U and V plane. Bink averages each set of 4x4 pixels in the original 640x480 U and V planes to create the 320x240 U and V planes. Like Bink, MPEG and MPEG II also use a 2 to 1 UV horizontal and vertical sub-sampling. Indeo actually uses a 4 to 1 (!) UV horizontal and vertical sub-sample, but that's a little too aggressive for us and the compression community has been clamoring for Intel to release a 2 to 1 subsampling Indeo version for a long time. Most of the time, you won't have to worry about the YUV colorspace - Bink contains internal highly-optimized routines that automatically convert the YUV data into RGB data. However, interestingly, many video cards also have hardware to convert between YUV and RGB colorspace. This is really cool in theory, because the hardware could do this tricky colorspace conversion faster than our software conversion routines. Unfortunately there's always that pesky reality lurking behind the theory, but more on that in the platform specific chapters. </p>
<p><a href="Bink Video Playback.html">Previous Topic (Bink Video Playback)</a> </p><p>
<br>
<b>Group:</b>
<a href="Bink Overview.html">Bink Overview</a><br>
<b>Related Sections:</b>
<a href="Scaling.html">Scaling</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Compressing with Bink</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Compressing with Bink">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Compressing with Bink</h1>
<h4>Discussion</h4>
<p>The RAD Video Tools are used to compress your video files into Bink files. These tools are supplied on the Bink SDK CD and can also be downloaded from our <a href="http://www.radgametools.com">web-site</a> at any time. Binking your input video files is usually as easy as highlighting the file and clicking 'Bink'. However, for <b>all</b> the details on compressing your files, use the "Help" button inside the RAD Video Tools window.</p>
<p><a href="Bink Video Playback.html">Next Topic (Bink Video Playback)</a> </p><p>
<br>
<b>Group:</b>
<a href="Bink Overview.html">Bink Overview</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,38 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Critical File I/O handling in Bink</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Critical File I/O handling in Bink">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Critical File I/O handling in Bink</h1>
<h4>Discussion</h4>
<p>Bink is very conservative about critical errors encountered during playback. We would rather end a movie too soon than potentially crash due to a bad data read. When Bink encounters an I/O error, it will set the ReadError field in the <a href="BINK.html">BINK</a> structure to non-zero, and will then skip all remaining frames. This means that if you don't check for I/O errors, then your playback logic will end normally and you won't have to do anything special. If you <b>do</b> want to watch for I/O errors (to display an error message, for example), then you just need to check for ReadError going to non-zero after each call to <a href="BinkNextFrame.html">BinkNextFrame</a>. If you want to restart the movie after an error, then you must close the Bink movie, and then reopen it again. To pick up where you left off in the playback, you can use the <a href="BinkGoto.html">BinkGoto</a> function to jump to the right location. </p>
<p><a href="Audio Tracks in Bink.html">Previous Topic (Audio Tracks in Bink)</a> </p><p>
<br>
<b>Group:</b>
<a href="Bink Overview.html">Bink Overview</a><br>
<b>Related Functions:</b>
<a href="BinkGoto.html">BinkGoto</a>, <a href="BinkNextFrame.html">BinkNextFrame</a><br>
<b>Related Structures:</b>
<a href="BINK.html">BINK</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Direct3D</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Direct3D">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Direct3D</h1>
<h4>Discussion</h4>
<p>Direct3D is a Microsoft supplied 3D graphics API. It is used to drive your 3D graphics card. You can use Direct3D to do fast alpha-plane controlled transparent video playback (see <b>"ExamAlph.C" and "DX8RAD3D.CPP"</b> for a DirectX 8 example). You always use Direct3D to display your video frames on the Xbox - there is no 2D blitting API available yet. The Xbox supports linear, non-power-of-2 textures, though, so this won't hurt your video playback at all. You can read more about Direct3D at the Microsoft <a href="http://msdn.microsoft.com/directx/">DirectX</a> website. </p>
<p>
<br>
<b>Group:</b>
<a href="Background Concepts.html">Background Concepts</a><br>
<b>Related Sections:</b>
<a href="Alpha Planes.html">Alpha Planes</a>, <a href="Bink Examples for Win32.html">Bink Examples for Win32</a>, <a href="Bink Examples for th19saaa.html">Bink Examples for the Xbox</a>, <a href="OpenGL.html">OpenGL</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Distributing Bink on the Nintendo GameCube</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Distributing Bink on the Nintendo GameCube">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Distributing Bink on the Nintendo GameCube</h1>
<h4>Discussion</h4>
<p>To distribute an application that uses Bink, you don't have to include anything other than your ELF and the Bink movies that you want to play. Bink is supplied as a static library that is linked directly into your application, so nothing else is required. </p>
<p><a href="Bink Playback on the43an3m.html">Next Topic (Bink Playback on the Nintendo GameCube)</a> </p><p><a href="Integrating Bink int5dcu9k.html">Previous Topic (Integrating Bink into an Nintendo GameCube Build Environment)</a> </p><p>
<br>
<b>Group:</b>
<a href="The Nintendo GameCubm0rzpb.html">The Nintendo GameCube Platform</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!-- This page was created with the RAD auto-doc generator. -->
<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title>Distributing Bink on the Xbox</title>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<meta name="ms.locale" content="en-us">
<meta name="description" content="">
<meta name="ms-hkwd" content="Distributing Bink on the Xbox">
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
</head>
<body topmargin="0">
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
<tr class=bar>
<td class=bar>
<i>&nbsp;<a href="index.html" class=trn>Bink SDK 1.5v</a></i>
</td>
</tr>
</table>
<h1>Distributing Bink on the Xbox</h1>
<h4>Discussion</h4>
<p>To distribute an application that uses Bink, you don't have to include anything other than your XBE and the Bink movies that you want to play. Bink is supplied as a static library that is linked directly into your application, so nothing else is required. </p>
<p><a href="Bink Playback on the Xbox.html">Next Topic (Bink Playback on the Xbox)</a> </p><p><a href="Integrating Bink intrv9x5q.html">Previous Topic (Integrating Bink into an Xbox Build Environment)</a> </p><p>
<br>
<b>Group:</b>
<a href="The Xbox Platform.html">The Xbox Platform</a></p>
<p align=center>
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
<br>
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">&#169; Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
</p>
<br>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More