Initial commit.
This commit is contained in:
73
codemp/client/BinkVideo.h
Normal file
73
codemp/client/BinkVideo.h
Normal file
@@ -0,0 +1,73 @@
|
||||
#ifndef NS_BINKVIDEO
|
||||
#define NS_BINKVIDEO
|
||||
|
||||
#include "bink.h"
|
||||
#define NS_BV_DEFAULT_CIN_BPS (2)
|
||||
#define MAX_WIDTH 512
|
||||
#define MAX_HEIGHT 512
|
||||
|
||||
#define XBOX_MEM_STAGE_1 32640
|
||||
#define XBOX_MEM_STAGE_2 786528
|
||||
#define XBOX_MEM_STAGE_3 557152
|
||||
#define XBOX_MEM_STAGE_4 106560
|
||||
#define XBOX_MEM_STAGE_5 138304
|
||||
#define XBOX_MEM_STAGE_6 25696
|
||||
#define XBOX_MEM_STAGE_7 100
|
||||
#define XBOX_MEM_STAGE_8 100
|
||||
|
||||
#define XBOX_BUFFER_SIZE NS_BV_DEFAULT_CIN_BPS * MAX_WIDTH * MAX_HEIGHT
|
||||
|
||||
typedef enum {
|
||||
NS_BV_PLAYING, // Movie is playing
|
||||
NS_BV_STOPPED, // Movie is stopped
|
||||
NS_BV_PAUSED // Movie is paused
|
||||
};
|
||||
|
||||
class BinkVideo
|
||||
{
|
||||
private:
|
||||
HBINK bink;
|
||||
void* buffer;
|
||||
int texture;
|
||||
int status;
|
||||
bool looping;
|
||||
float x1;
|
||||
float y1;
|
||||
float x2;
|
||||
float y2;
|
||||
float w;
|
||||
float h;
|
||||
|
||||
#ifdef _XBOX
|
||||
bool initialized;
|
||||
#endif
|
||||
|
||||
void Draw(void);
|
||||
S32 DecompressFrame();
|
||||
|
||||
|
||||
public:
|
||||
|
||||
BinkVideo();
|
||||
~BinkVideo();
|
||||
bool Start(const char *filename, float xOrigin, float yOrigin, float width, float height);
|
||||
bool Run(void);
|
||||
void Stop(void);
|
||||
void Pause(void);
|
||||
void SetExtents(float xOrigin, float yOrigin, float width, float height);
|
||||
int GetStatus(void) { return status; }
|
||||
void SetLooping(bool loop) { looping = loop; }
|
||||
void* GetBinkData(void);
|
||||
int GetBinkWidth(void) { return this->bink->Width; }
|
||||
int GetBinkHeight(void) { return this->bink->Height; }
|
||||
void SetMasterVolume(s32 volume);
|
||||
#ifdef _XBOX
|
||||
void AllocateXboxMem(void);
|
||||
void FreeXboxMem(void);
|
||||
#endif
|
||||
static void* Allocate(U32 size);
|
||||
static void Free(void* ptr);
|
||||
bool Ready(void) { return this->bink != NULL; }
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user