Files
ss/include/d/d_thp_player.h
T
2025-08-15 10:02:19 +02:00

72 lines
1.6 KiB
C++

#ifndef D_THP_PLAYER_H
#define D_THP_PLAYER_H
#include "THPPlayer/THPInfo.h"
#include "common.h"
#include "d/d_base.h"
#include "m/m2d.h"
#include "m/m_dvd.h"
#include "sized_string.h"
class ThpVideoScreen : public m2d::Base_c {
public:
ThpVideoScreen() {
mEfbWidth = 0;
mEfbHeight = 0;
mVideoWidth = 0;
mVideoHeight = 0;
}
virtual void draw() override;
void setEfbWidth(s16 width) {
mEfbWidth = width;
}
void setEfbHeight(s16 height) {
mEfbHeight = height;
}
void setVideoDimensions(u32 width, u32 height) {
mVideoWidth = width;
mVideoHeight = height;
}
private:
/* 0x10 */ s32 mEfbWidth;
/* 0x14 */ s32 mEfbHeight;
/* 0x18 */ s32 mVideoWidth;
/* 0x1C */ s32 mVideoHeight;
};
class dThpPlayer_c : public dBase_c {
public:
dThpPlayer_c();
~dThpPlayer_c();
virtual int create() override;
virtual int doDelete() override;
virtual int execute() override;
virtual int draw() override;
void reallyExecute();
void reallyCreate(u16, u16);
s32 isDone();
s32 play();
s32 destroy();
void open();
void setupFile(char *filename, s32 loadAllAtOnce);
private:
/* 0x68 */ mDvd_callback_c *mDvdCallback;
/* 0x6C */ SizedString<0x20> mFilename;
/* 0x8C */ THPVideoInfo mVideoComponent;
/* 0x98 */ THPAudioInfo mAudioComponent;
/* 0xA8 */ s32 mLoadAllAtOnce;
/* 0xAC */ s32 mFilenameSet;
/* 0xB0 */ s32 mSetupDone;
/* 0xB4 */ s32 isPlaying;
/* 0xB8 */ u8 *mBuffer;
/* 0xBC */ ThpVideoScreen mScreen;
/* 0xDC */ s32 mSpecialType;
};
#endif