2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-10 01:47:43 +00:00

Working THP audio and deinterlacing

This commit is contained in:
Jack Andersen
2016-03-07 21:10:52 -10:00
parent 718bf6151e
commit 9a43c518f9
7 changed files with 115 additions and 24 deletions

View File

@@ -86,6 +86,8 @@ private:
boo::ITextureD* Y[2] = {};
boo::ITextureD* U = nullptr;
boo::ITextureD* V = nullptr;
u32 playedSamples = 0;
u32 audioSamples = 0;
std::unique_ptr<s16[]> audioBuf;
boo::IShaderDataBinding* binding[2] = {};
};
@@ -103,7 +105,7 @@ private:
u32 xc8_curFrame = 0;
u32 xcc_decodedTexSlot = 0;
u32 xd0_drawTexSlot = -1;
u32 xd4_ = -1;
u32 xd4_audioSlot = -1;
s32 xd8_decodedTexCount = 0;
float xdc_frameRem = 0.f;
EPlayMode xe0_playMode = EPlayMode::Playing;
@@ -142,8 +144,8 @@ public:
static void DisableStaticAudio();
static void SetStaticAudioVolume(int vol);
static void SetStaticAudio(const void* data, u32 length, u32 loopStart, u32 loopEnd);
void MixAudio(short* out, const short* in, u32 length);
static void MixStaticAudio(short* out, const short* in, u32 length);
void MixAudio(s16* out, const s16* in, u32 samples);
static void MixStaticAudio(short* out, const short* in, u32 samples);
static void StaticMyAudioCallback();
void Rewind();