Some random fixes

This commit is contained in:
KiritoDv 2024-11-15 00:09:15 -06:00
parent 85dbf74ee4
commit 8da3a6e866
3 changed files with 11 additions and 18 deletions

View File

@ -558,6 +558,8 @@ void AudioHeap_ClearCurrentAiBuffer(void) {
} }
} }
extern s16 audio_buffer[];
s32 AudioHeap_ResetStep(void) { s32 AudioHeap_ResetStep(void) {
s32 i; s32 i;
s32 j; s32 j;
@ -597,11 +599,7 @@ s32 AudioHeap_ResetStep(void) {
gResetFadeoutFramesLeft--; gResetFadeoutFramesLeft--;
AudioHeap_UpdateReverbs(); AudioHeap_UpdateReverbs();
} else { } else {
for (i = 0; i < 3; i++) { memset(audio_buffer, 0, (1056 * 2 * 3) * 2 * 2);
for (j = 0; j < AIBUF_LEN; j++) {
gAiBuffers[i][j] = 0;
}
}
gResetFadeoutFramesLeft = 4 / sp24; gResetFadeoutFramesLeft = 4 / sp24;
gAudioResetStep--; gAudioResetStep--;
break; // needed to match break; // needed to match
@ -619,12 +617,7 @@ s32 AudioHeap_ResetStep(void) {
case 1: case 1:
AudioHeap_Init(); AudioHeap_Init();
gAudioResetStep = 0; gAudioResetStep = 0;
for (i = 0; i < 3; i++) { memset(audio_buffer, 0, (1056 * 2 * 3) * 2 * 2);
gAiBuffLengths[i] = gAudioBufferParams.maxAiBufferLength;
for (j = 0; j < AIBUF_LEN; j++) {
gAiBuffers[i][j] = 0;
}
}
break; break;
} }
if (gAudioResetStep < 3) { if (gAudioResetStep < 3) {

View File

@ -16,10 +16,9 @@
#define ROUND_DOWN_16(v) ((v) & ~0xf) #define ROUND_DOWN_16(v) ((v) & ~0xf)
//#define DMEM_BUF_SIZE (0x1000 - 0x0330 - 0x10 - 0x40) //#define DMEM_BUF_SIZE (0x1000 - 0x0330 - 0x10 - 0x40)
//#define DMEM_BUF_SIZE (0x1000 - 0x450 - 0x40) #define DMEM_BUF_SIZE 0xC80
#define DMEM_BUF_SIZE 0xC90 #define BUF_U8(a) (rspa.buf.as_u8 + ((a)-0x0330))
#define BUF_U8(a) (rspa.buf.as_u8 + ((a)-0x450)) #define BUF_S16(a) (rspa.buf.as_s16 + ((a)-0x0330) / sizeof(int16_t))
#define BUF_S16(a) (rspa.buf.as_s16 + ((a)-0x450) / sizeof(int16_t))
static struct { static struct {
uint16_t in; uint16_t in;
@ -133,7 +132,7 @@ void aInterleaveImpl(uint16_t dest, uint16_t left, uint16_t right, uint16_t c) {
return; return;
} }
int count = ROUND_UP_32(rspa.nbytes) >> 3; int count = ROUND_UP_16(rspa.nbytes) >> 2;
int16_t *l = BUF_S16(left); int16_t *l = BUF_S16(left);
int16_t *r = BUF_S16(right); int16_t *r = BUF_S16(right);

View File

@ -68,7 +68,7 @@ GameEngine::GameEngine() {
} }
this->context = this->context =
Ship::Context::CreateInstance("Starship", "ship", "starship.cfg.json", OTRFiles, {}, 3, { 44100, 1024, 2480 }); Ship::Context::CreateInstance("Starship", "ship", "starship.cfg.json", OTRFiles, {}, 3, { 44100, 1056, 1056 * 2 });
auto loader = context->GetResourceManager()->GetResourceLoader(); auto loader = context->GetResourceManager()->GetResourceLoader();
loader->RegisterResourceFactory(std::make_shared<SF64::ResourceFactoryBinaryAnimV0>(), RESOURCE_FORMAT_BINARY, loader->RegisterResourceFactory(std::make_shared<SF64::ResourceFactoryBinaryAnimV0>(), RESOURCE_FORMAT_BINARY,
@ -150,10 +150,11 @@ void GameEngine::StartFrame() const {
} }
#define SAMPLES_HIGH 1056 #define SAMPLES_HIGH 1056
#define SAMPLES_LOW 890 #define SAMPLES_LOW 880
#define NUM_AUDIO_CHANNELS 2 #define NUM_AUDIO_CHANNELS 2
#define SAMPLES_PER_FRAME (SAMPLES_HIGH * NUM_AUDIO_CHANNELS * 3) #define SAMPLES_PER_FRAME (SAMPLES_HIGH * NUM_AUDIO_CHANNELS * 3)
extern "C"
s16 audio_buffer[SAMPLES_PER_FRAME * 2 * 2] = { 0 }; s16 audio_buffer[SAMPLES_PER_FRAME * 2 * 2] = { 0 };
extern "C" s32 audBuffer = 0; extern "C" s32 audBuffer = 0;