2012-01-21 21:57:41 +01:00
|
|
|
#ifndef WII_MOVIE_H_
|
|
|
|
#define WII_MOVIE_H_
|
|
|
|
|
|
|
|
#include "gcvid.h"
|
|
|
|
#include "Timer.h"
|
|
|
|
#include "texture.hpp"
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
class WiiMovie
|
|
|
|
{
|
2012-12-28 15:19:40 +01:00
|
|
|
public:
|
2014-03-01 00:11:02 +01:00
|
|
|
void Init(const char * filepath);
|
|
|
|
void DeInit();
|
|
|
|
bool Play(TexData *Background, bool loop = false);
|
2012-12-28 15:19:40 +01:00
|
|
|
void Stop();
|
2014-03-01 00:11:02 +01:00
|
|
|
bool Continue();
|
|
|
|
volatile bool loaded;
|
|
|
|
volatile bool rendered;
|
2012-12-28 15:19:40 +01:00
|
|
|
protected:
|
|
|
|
static void * UpdateThread(void *arg);
|
|
|
|
void FrameLoadLoop();
|
|
|
|
void ReadNextFrame();
|
|
|
|
void LoadNextFrame();
|
2012-01-21 21:57:41 +01:00
|
|
|
|
2012-12-28 15:19:40 +01:00
|
|
|
u8 * ThreadStack;
|
|
|
|
lwp_t ReadThread;
|
2012-01-21 21:57:41 +01:00
|
|
|
|
2014-03-01 00:11:02 +01:00
|
|
|
ThpVideoFile Video;
|
|
|
|
FILE *vFile;
|
2012-12-28 15:19:40 +01:00
|
|
|
float fps;
|
|
|
|
Timer PlayTime;
|
|
|
|
u32 VideoFrameCount;
|
2014-03-01 00:11:02 +01:00
|
|
|
TexData *Frame;
|
2012-12-28 15:19:40 +01:00
|
|
|
bool Playing;
|
|
|
|
bool ExitRequested;
|
2012-01-21 21:57:41 +01:00
|
|
|
};
|
|
|
|
|
2014-03-01 00:11:02 +01:00
|
|
|
extern WiiMovie movie;
|
|
|
|
|
2012-01-21 21:57:41 +01:00
|
|
|
#endif
|