mirror of https://github.com/PrimeDecomp/prime.git
92 lines
2.7 KiB
C
92 lines
2.7 KiB
C
#ifndef _THP_THPPLAYER_H
|
|
#define _THP_THPPLAYER_H
|
|
|
|
#include "types.h"
|
|
#include "Dolphin/os.h"
|
|
#include "Dolphin/gx.h"
|
|
#include "THP/THPBuffer.h"
|
|
#include "THP/THPFile.h"
|
|
#include "THP/THPInfo.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// Size: 0x1D0
|
|
typedef struct THPPlayer {
|
|
DVDFileInfo mFileInfo; // _00
|
|
THPHeader mHeader; // _3C
|
|
THPFrameCompInfo mCompInfo; // _6C
|
|
THPVideoInfo mVideoInfo; // _80
|
|
THPAudioInfo mAudioInfo; // _8C
|
|
void* mThpWorkArea; // _9C
|
|
BOOL mIsOpen; // _A0
|
|
u8 mState; // _A4
|
|
u8 mInternalState; // _A5
|
|
u8 mPlayFlag; // _A6
|
|
u8 mAudioExist; // _A7
|
|
s32 mDvdError; // _A8
|
|
s32 mVideoError; // _AC
|
|
BOOL mIsOnMemory; // _B0
|
|
u8* mMovieData; // _B4
|
|
s32 mInitOffset; // _B8
|
|
s32 mInitReadSize; // _BC
|
|
s32 mInitReadFrame; // _C0
|
|
u32 mCurField; // _C4
|
|
s64 mRetraceCount; // _C8
|
|
s32 mPrevCount; // _D0
|
|
s32 mCurCount; // _D4
|
|
s32 mVideoDecodeCount; // _D8
|
|
f32 mCurVolume; // _DC
|
|
f32 mTargetVolume; // _E0
|
|
f32 mDeltaVolume; // _E4
|
|
s32 mRampCount; // _E8
|
|
s32 mCurAudioTrack; // _EC
|
|
s32 mCurVideoNumber; // _F0
|
|
s32 mCurAudioNumber; // _F4
|
|
THPTextureSet* mDispTextureSet; // _F8
|
|
THPAudioBuffer* mPlayAudioBuffer; // _FC
|
|
THPReadBuffer mReadBuffer[10]; // _100
|
|
THPTextureSet mTextureSet[3]; // _178
|
|
THPAudioBuffer mAudioBuffer[3]; // _1A8
|
|
} THPPlayer;
|
|
|
|
extern THPPlayer ActivePlayer;
|
|
|
|
BOOL THPPlayerInit(int _);
|
|
void THPPlayerQuit();
|
|
BOOL THPPlayerOpen(const char* fileName, BOOL onMemory);
|
|
BOOL THPPlayerClose();
|
|
BOOL THPPlayerPlay();
|
|
void THPPlayerStop();
|
|
BOOL THPPlayerPause();
|
|
BOOL THPPlayerPrepare(int offset, u8 flag, int audioTrack);
|
|
|
|
BOOL THPPlayerSetBuffer(u8* data);
|
|
|
|
u32 THPPlayerCalcNeedMemory();
|
|
|
|
BOOL THPPlayerGetVideoInfo(void* dst);
|
|
BOOL THPPlayerGetAudioInfo(void* dst);
|
|
// f32 THPPlayerGetFrameRate();
|
|
BOOL THPPlayerSetVolume(int vol, int duration);
|
|
|
|
int THPPlayerDrawCurrentFrame(GXRenderModeObj* obj, int x, int y, int polyWidth,
|
|
int polyHeight); // TODO, parameter names from dwarf info if it exists
|
|
u32 THPPlayerGetTotalFrame();
|
|
u8 THPPlayerGetState();
|
|
|
|
void THPPlayerDrawDone();
|
|
void THPPlayerPostDrawDone();
|
|
|
|
// this should go in a dolphin THP header eventually
|
|
BOOL THPInit(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
void PrepareReady(int msg);
|
|
|
|
#endif /* _THP_THPPLAYER_H */
|