mirror of
https://github.com/HarbourMasters/Starship
synced 2026-05-22 22:44:42 -04:00
format
This commit is contained in:
@@ -200,7 +200,7 @@ f32 Audio_AdsrUpdate(AdsrState* adsr) {
|
||||
adsr->state = ADSR_STATE_LOOP;
|
||||
case_ADSR_STATE_LOOP:
|
||||
case ADSR_STATE_LOOP:
|
||||
adsr->delay = (s16)BSWAP16(adsr->envelope[adsr->envIndex].delay);
|
||||
adsr->delay = (s16) BSWAP16(adsr->envelope[adsr->envIndex].delay);
|
||||
switch (adsr->delay) {
|
||||
case ADSR_DISABLE:
|
||||
adsr->state = ADSR_STATE_DISABLED;
|
||||
@@ -209,7 +209,7 @@ f32 Audio_AdsrUpdate(AdsrState* adsr) {
|
||||
adsr->state = ADSR_STATE_HANG;
|
||||
break;
|
||||
case ADSR_GOTO:
|
||||
adsr->envIndex = (s16)BSWAP16(adsr->envelope[adsr->envIndex].arg);
|
||||
adsr->envIndex = (s16) BSWAP16(adsr->envelope[adsr->envIndex].arg);
|
||||
goto case_ADSR_STATE_LOOP;
|
||||
case ADSR_RESTART:
|
||||
adsr->state = ADSR_STATE_INITIAL;
|
||||
@@ -223,7 +223,7 @@ f32 Audio_AdsrUpdate(AdsrState* adsr) {
|
||||
adsr->delay = 1;
|
||||
}
|
||||
|
||||
adsr->target = (s16)BSWAP16(adsr->envelope[adsr->envIndex].arg) / 32767.0f;
|
||||
adsr->target = (s16) BSWAP16(adsr->envelope[adsr->envIndex].arg) / 32767.0f;
|
||||
adsr->target = SQ(adsr->target);
|
||||
adsr->velocity = (adsr->target - adsr->current) / adsr->delay;
|
||||
adsr->state = ADSR_STATE_FADE;
|
||||
|
||||
+40
-41
@@ -389,7 +389,7 @@ void AudioLoad_SyncInitSeqPlayerInternal(s32 playerIdx, s32 seqId, s32 arg2) {
|
||||
s32 fontId;
|
||||
s32 i;
|
||||
|
||||
// seqId = AudioLoad_GetLoadTableIndex(SEQUENCE_TABLE, seqId);
|
||||
// seqId = AudioLoad_GetLoadTableIndex(SEQUENCE_TABLE, seqId);
|
||||
|
||||
AudioSeq_SequencePlayerDisable(&gSeqPlayers[playerIdx]);
|
||||
|
||||
@@ -427,7 +427,7 @@ void* AudioLoad_SyncLoadSeq(s32 seqId) {
|
||||
|
||||
void* AudioLoad_SyncLoadSampleBank(u32 sampleBankId, s32* outMedium) {
|
||||
return NULL;
|
||||
|
||||
|
||||
void* ramAddr;
|
||||
AudioTable* sampleBankTable = AudioLoad_GetLoadTable(2);
|
||||
s32 cachePolicy;
|
||||
@@ -436,7 +436,7 @@ void* AudioLoad_SyncLoadSampleBank(u32 sampleBankId, s32* outMedium) {
|
||||
sampleBankId = AudioLoad_GetLoadTableIndex(SAMPLE_TABLE, sampleBankId);
|
||||
gSampleFontLoadStatus[sampleBankId] = 2;
|
||||
|
||||
// return Audio_LoadBlob(gAudioTable, sampleBankTable->entries[sampleBankId].romAddr);
|
||||
// return Audio_LoadBlob(gAudioTable, sampleBankTable->entries[sampleBankId].romAddr);
|
||||
|
||||
ramAddr = AudioLoad_SearchCaches(2, sampleBankId);
|
||||
if (ramAddr != NULL) {
|
||||
@@ -528,7 +528,7 @@ void* AudioLoad_SyncLoad(u32 tableType, u32 id, s32* didAllocate) {
|
||||
return ResourceGetDataByCrc((uint64_t) table->entries[id].romAddr);
|
||||
case FONT_TABLE:
|
||||
gFontLoadStatus[id] = LOAD_STATUS_COMPLETE;
|
||||
//ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_PERSISTENT, id);
|
||||
// ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_PERSISTENT, id);
|
||||
return Audio_LoadFont(table->entries[id], id);
|
||||
case SAMPLE_TABLE:
|
||||
loadStatus = 0;
|
||||
@@ -616,7 +616,6 @@ void AudioLoad_RelocateFont(s32 fontId, uintptr_t fontBaseAddr, SampleBankRelocI
|
||||
SoundFont* font = Audio_LoadFont(table->entries[fontId], fontId);
|
||||
|
||||
gSoundFontList[fontId] = *font;
|
||||
|
||||
}
|
||||
|
||||
void AudioLoad_SyncDma(uintptr_t devAddr, u8* ramAddr, u32 size, s32 medium) {
|
||||
@@ -723,7 +722,7 @@ void* AudioLoad_AsyncLoadInner(s32 tableType, s32 id, s32 nChunks, s32 retData,
|
||||
case SAMPLE_TABLE:
|
||||
gSampleFontLoadStatus[id] = LOAD_STATUS_COMPLETE;
|
||||
// LTODO: Validate this
|
||||
// return Audio_LoadSample(table->entries[id].romAddr, table->entries[id], id);
|
||||
// return Audio_LoadSample(table->entries[id].romAddr, table->entries[id], id);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -740,39 +739,39 @@ void* AudioLoad_AsyncLoadInner(s32 tableType, s32 id, s32 nChunks, s32 retData,
|
||||
romAddr = table->entries[id].romAddr;
|
||||
loadStatus = LOAD_STATUS_COMPLETE;
|
||||
|
||||
switch (cachePolicy) {
|
||||
case CACHEPOLICY_0:
|
||||
ramAddr = AudioHeap_AllocPermanent(tableType, id, size);
|
||||
if (ramAddr == NULL) {
|
||||
return ramAddr;
|
||||
}
|
||||
loadStatus = LOAD_STATUS_PERMANENTLY_LOADED;
|
||||
break;
|
||||
|
||||
case CACHEPOLICY_1:
|
||||
ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_PERSISTENT, id);
|
||||
if (ramAddr == NULL) {
|
||||
return ramAddr;
|
||||
}
|
||||
break;
|
||||
|
||||
case CACHEPOLICY_2:
|
||||
ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_TEMPORARY, id);
|
||||
if (ramAddr == NULL) {
|
||||
return ramAddr;
|
||||
}
|
||||
break;
|
||||
|
||||
case CACHEPOLICY_3:
|
||||
case CACHEPOLICY_4:
|
||||
ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_EITHER, id);
|
||||
if (ramAddr == NULL) {
|
||||
return ramAddr;
|
||||
}
|
||||
break;
|
||||
switch (cachePolicy) {
|
||||
case CACHEPOLICY_0:
|
||||
ramAddr = AudioHeap_AllocPermanent(tableType, id, size);
|
||||
if (ramAddr == NULL) {
|
||||
return ramAddr;
|
||||
}
|
||||
AudioLoad_StartAsyncLoad(romAddr, ramAddr, size, medium, nChunks, retQueue,
|
||||
(retData << 0x18) | (tableType << 0x10) | (id << 8) | loadStatus);
|
||||
loadStatus = LOAD_STATUS_PERMANENTLY_LOADED;
|
||||
break;
|
||||
|
||||
case CACHEPOLICY_1:
|
||||
ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_PERSISTENT, id);
|
||||
if (ramAddr == NULL) {
|
||||
return ramAddr;
|
||||
}
|
||||
break;
|
||||
|
||||
case CACHEPOLICY_2:
|
||||
ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_TEMPORARY, id);
|
||||
if (ramAddr == NULL) {
|
||||
return ramAddr;
|
||||
}
|
||||
break;
|
||||
|
||||
case CACHEPOLICY_3:
|
||||
case CACHEPOLICY_4:
|
||||
ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_EITHER, id);
|
||||
if (ramAddr == NULL) {
|
||||
return ramAddr;
|
||||
}
|
||||
break;
|
||||
}
|
||||
AudioLoad_StartAsyncLoad(romAddr, ramAddr, size, medium, nChunks, retQueue,
|
||||
(retData << 0x18) | (tableType << 0x10) | (id << 8) | loadStatus);
|
||||
}
|
||||
|
||||
switch (tableType) {
|
||||
@@ -1219,12 +1218,12 @@ void AudioLoad_RelocateSample(TunedSample* tSample, u32 fontDataAddr, SampleBank
|
||||
// switch (baseSample->medium) {
|
||||
// case MEDIUM_RAM:
|
||||
//// baseSample->sampleAddr = Audio_LoadCopy(relocInfo->baseAddr1 + BSWAP32(baseSample->sampleAddr),
|
||||
///BSWAP32(baseSample->size));
|
||||
/// BSWAP32(baseSample->size));
|
||||
// baseSample->medium = relocInfo->medium1;
|
||||
// break;
|
||||
// case MEDIUM_UNK:
|
||||
//// baseSample->sampleAddr = Audio_LoadCopy(relocInfo->baseAddr2 + BSWAP32(baseSample->sampleAddr),
|
||||
///BSWAP32(baseSample->size));
|
||||
/// BSWAP32(baseSample->size));
|
||||
// baseSample->medium = relocInfo->medium2;
|
||||
// break;
|
||||
// case MEDIUM_CART:
|
||||
@@ -1469,4 +1468,4 @@ s32 AudioLoad_GetSamplesForFont(s32 fontId, Sample** sampleSet) {
|
||||
}
|
||||
|
||||
return numLoaded;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,10 +142,9 @@ void Audio_InitNoteSub(Note* note, NoteAttributes* noteAttr) {
|
||||
// Surround 5.1
|
||||
if (stereo.s.is_voice) { // VOICE
|
||||
panVolumeCenter = 1.0f;
|
||||
}
|
||||
else if (stereo.s.is_sfx) { // SFX
|
||||
} else if (stereo.s.is_sfx) { // SFX
|
||||
float pan_angle = ((float) pan) / 128 * 2 * M_PI;
|
||||
|
||||
|
||||
// Speaker angles in radians
|
||||
const float front_left = (CVarGetInteger("gPositionFrontLeft", 240) - 90) * (M_PI / 180.0f);
|
||||
const float front_right = (CVarGetInteger("gPositionFrontRight", 300) - 90) * (M_PI / 180.0f);
|
||||
@@ -153,11 +152,11 @@ void Audio_InitNoteSub(Note* note, NoteAttributes* noteAttr) {
|
||||
const float rear_right = (CVarGetInteger("gPositionRearRight", 20) - 90) * (M_PI / 180.0f);
|
||||
|
||||
// Calculate volumes using cosine panning law
|
||||
panVolumeLeft = fmaxf(0, cosf(pan_angle - front_left)); // Front Left
|
||||
panVolumeRight = fmaxf(0, cosf(pan_angle - front_right)); // Front Right
|
||||
panVolumeLeft = fmaxf(0, cosf(pan_angle - front_left)); // Front Left
|
||||
panVolumeRight = fmaxf(0, cosf(pan_angle - front_right)); // Front Right
|
||||
panVolumeRearLeft = fmaxf(0, cosf(pan_angle - rear_left)); // Rear Left
|
||||
panVolumeRearRight = fmaxf(0, cosf(pan_angle - rear_right)); // Rear Right
|
||||
} else { // MUSIC
|
||||
panVolumeRearRight = fmaxf(0, cosf(pan_angle - rear_right)); // Rear Right
|
||||
} else { // MUSIC
|
||||
panVolumeLeft = gStereoPanVolume[pan];
|
||||
panVolumeRight = gStereoPanVolume[ARRAY_COUNT(gStereoPanVolume) - 1 - pan];
|
||||
|
||||
|
||||
@@ -149,7 +149,7 @@ void AudioSeq_SeqLayerDisable(SequenceLayer* layer) {
|
||||
void AudioSeq_SeqLayerFree(SequenceChannel* channel, s32 layerIndex) {
|
||||
if (layerIndex < 4) {
|
||||
SequenceLayer* layer = channel->layers[layerIndex];
|
||||
|
||||
|
||||
if (layer != NULL) {
|
||||
AudioSeq_AudioListPushBack(&gLayerFreeList, &layer->listItem);
|
||||
AudioSeq_SeqLayerDisable(layer);
|
||||
@@ -785,7 +785,7 @@ void AudioSeq_SequenceChannelProcessScript(SequenceChannel* channel) {
|
||||
s8 sp4B;
|
||||
u8* seqData;
|
||||
s32 pad;
|
||||
|
||||
|
||||
if (!channel->enabled) {
|
||||
return;
|
||||
}
|
||||
@@ -912,10 +912,8 @@ void AudioSeq_SequenceChannelProcessScript(SequenceChannel* channel) {
|
||||
sp52 = ((u16*) gSeqFontTable)[seqPlayer->seqId];
|
||||
loBits = gSeqFontTable[sp52];
|
||||
cmd = gSeqFontTable[sp52 + loBits - cmd];
|
||||
//if (AudioHeap_SearchCaches(FONT_TABLE, CACHE_EITHER, cmd) != NULL)
|
||||
{
|
||||
channel->fontId = cmd;
|
||||
}
|
||||
// if (AudioHeap_SearchCaches(FONT_TABLE, CACHE_EITHER, cmd) != NULL)
|
||||
{ channel->fontId = cmd; }
|
||||
/* fallthrough */
|
||||
case 0xC1:
|
||||
cmd = AudioSeq_ScriptReadU8(state);
|
||||
@@ -1020,10 +1018,8 @@ void AudioSeq_SequenceChannelProcessScript(SequenceChannel* channel) {
|
||||
loBits = gSeqFontTable[sp52];
|
||||
cmd = gSeqFontTable[sp52 + loBits - cmd];
|
||||
|
||||
//if (AudioHeap_SearchCaches(FONT_TABLE, CACHE_EITHER, cmd) != NULL)
|
||||
{
|
||||
channel->fontId = cmd;
|
||||
}
|
||||
// if (AudioHeap_SearchCaches(FONT_TABLE, CACHE_EITHER, cmd) != NULL)
|
||||
{ channel->fontId = cmd; }
|
||||
break;
|
||||
|
||||
case 0xC7:
|
||||
|
||||
+26
-18
@@ -702,8 +702,7 @@ Acmd* AudioSynth_Update(Acmd* aList, s32* cmdCount, s16* aiBufStart, s32 aiBufLe
|
||||
}
|
||||
}
|
||||
|
||||
aCmdPtr =
|
||||
AudioSynth_DoOneAudioUpdate(aiBufPtr, chunkLen, aCmdPtr, gAudioBufferParams.ticksPerUpdate - i);
|
||||
aCmdPtr = AudioSynth_DoOneAudioUpdate(aiBufPtr, chunkLen, aCmdPtr, gAudioBufferParams.ticksPerUpdate - i);
|
||||
aiBufLen -= chunkLen;
|
||||
|
||||
int num_audio_channels = GetNumAudioChannels();
|
||||
@@ -855,7 +854,8 @@ Acmd* AudioSynth_DoOneAudioUpdate(s16* aiBuf, s32 aiBufLen, Acmd* aList, s32 upd
|
||||
j = aiBufLen * num_audio_channels * sizeof(s16);
|
||||
// Set rsp output buffer to DMEM_TEMP with size j
|
||||
aSetBuffer(aList++, 0, 0, DMEM_TEMP, j);
|
||||
aInterleave(aList++, DMEM_LEFT_CH, DMEM_RIGHT_CH, DMEM_CENTER_CH, DMEM_SUBWOOFER_CH, DMEM_REAR_LEFT_CH, DMEM_REAR_RIGHT_CH, num_audio_channels);
|
||||
aInterleave(aList++, DMEM_LEFT_CH, DMEM_RIGHT_CH, DMEM_CENTER_CH, DMEM_SUBWOOFER_CH, DMEM_REAR_LEFT_CH,
|
||||
DMEM_REAR_RIGHT_CH, num_audio_channels);
|
||||
// Copy j bytes from DMEM_TEMP to aiBuf
|
||||
aSaveBuffer(aList++, DMEM_TEMP, OS_K0_TO_PHYSICAL(aiBuf), j);
|
||||
|
||||
@@ -1048,7 +1048,7 @@ Acmd* AudioSynth_ProcessNote(s32 noteIndex, NoteSubEu* noteSub, NoteSynthesisSta
|
||||
sampleDmaStart = 0;
|
||||
break;
|
||||
|
||||
case CODEC_S16_INMEMORY:
|
||||
case CODEC_S16_INMEMORY:
|
||||
buffAddr = func_800097A8(bookSample, numSamplesToLoadAdj, flags,
|
||||
&synthState->synthesisBuffers->unk_40);
|
||||
aLoadBuffer(aList++, OS_K0_TO_PHYSICAL(buffAddr), DMEM_UNCOMPRESSED_NOTE,
|
||||
@@ -1061,22 +1061,22 @@ Acmd* AudioSynth_ProcessNote(s32 noteIndex, NoteSubEu* noteSub, NoteSynthesisSta
|
||||
|
||||
case CODEC_S16:
|
||||
aClearBuffer(aList++, DMEM_UNCOMPRESSED_NOTE,
|
||||
(numSamplesToLoadAdj + SAMPLES_PER_FRAME) * SAMPLE_SIZE);
|
||||
|
||||
(numSamplesToLoadAdj + SAMPLES_PER_FRAME) * SAMPLE_SIZE);
|
||||
|
||||
flags = A_CONTINUE;
|
||||
skipBytes = 0;
|
||||
size_t bytesToRead;
|
||||
numSamplesProcessed += numSamplesToLoadAdj;
|
||||
dmemUncompressedAddrOffset1 = numSamplesToLoadAdj;
|
||||
|
||||
if (((synthState->samplePosInt * 2) + (numSamplesToLoadAdj)*SAMPLE_SIZE) < bookSample->size) {
|
||||
bytesToRead = (numSamplesToLoadAdj + 16)*SAMPLE_SIZE;
|
||||
if (((synthState->samplePosInt * 2) + (numSamplesToLoadAdj) *SAMPLE_SIZE) < bookSample->size) {
|
||||
bytesToRead = (numSamplesToLoadAdj + 16) * SAMPLE_SIZE;
|
||||
} else {
|
||||
bytesToRead = bookSample->size - (synthState->samplePosInt * 2);
|
||||
}
|
||||
// 2S2H [Port] [Custom audio] Handle decoding OPUS data
|
||||
aLoadBuffer(cmd++, sampleAddr + (synthState->samplePosInt * 2), DMEM_UNCOMPRESSED_NOTE,
|
||||
bytesToRead);
|
||||
bytesToRead);
|
||||
|
||||
goto skip;
|
||||
}
|
||||
@@ -1086,7 +1086,7 @@ Acmd* AudioSynth_ProcessNote(s32 noteIndex, NoteSubEu* noteSub, NoteSynthesisSta
|
||||
|
||||
#if __SANITIZE_ADDRESS__
|
||||
uintptr_t actualAddrLoaded = samplesToLoadAddr - sampleDataChunkAlignPad;
|
||||
uintptr_t offset = actualAddrLoaded - (uintptr_t)sampleAddr;
|
||||
uintptr_t offset = actualAddrLoaded - (uintptr_t) sampleAddr;
|
||||
if (offset + aligned > bookSample->size) {
|
||||
aligned -= (offset + aligned - bookSample->size);
|
||||
}
|
||||
@@ -1202,7 +1202,8 @@ Acmd* AudioSynth_ProcessNote(s32 noteIndex, NoteSubEu* noteSub, NoteSynthesisSta
|
||||
case 2:
|
||||
switch (curPart) {
|
||||
case 0:
|
||||
aInterl(aList++, skipBytes + DMEM_UNCOMPRESSED_NOTE, DMEM_WET_SCRATCH, ALIGN8(numSamplesToLoadAdj / 2));
|
||||
aInterl(aList++, skipBytes + DMEM_UNCOMPRESSED_NOTE, DMEM_WET_SCRATCH,
|
||||
ALIGN8(numSamplesToLoadAdj / 2));
|
||||
resampledTempLen = numSamplesToLoadAdj;
|
||||
noteSamplesDmemAddrBeforeResampling = DMEM_WET_SCRATCH;
|
||||
if (noteSub->bitField0.finished) {
|
||||
@@ -1373,30 +1374,37 @@ Acmd* AudioSynth_ProcessEnvelope(Acmd* aList, NoteSubEu* noteSub, NoteSynthesisS
|
||||
if (noteSub->bitField0.usesHeadsetPanEffects) {
|
||||
int32_t num_audio_channels = 2;
|
||||
aClearBuffer(aList++, DMEM_HAAS_TEMP, DMEM_1CH_SIZE);
|
||||
aEnvSetup1(aList++, (sourceReverbVol & 0x7F), rampReverb, rampLeft, rampRight, rampCenter, rampLfe, rampRLeft, rampRRight);
|
||||
aEnvSetup1(aList++, (sourceReverbVol & 0x7F), rampReverb, rampLeft, rampRight, rampCenter, rampLfe, rampRLeft,
|
||||
rampRRight);
|
||||
aEnvSetup2(aList++, curVolLeft, curVolRight, curVolCenter, curVolLfe, curVolRLeft, curVolRRight);
|
||||
|
||||
switch (delaySide) {
|
||||
case HAAS_EFFECT_DELAY_LEFT:
|
||||
aEnvMixer(aList++, dmemSrc, aiBufLen, ((sourceReverbVol & 0x80) >> 7),
|
||||
noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft, (DMEM_WET_LEFT_CH << 16) | DMEM_LEFT_CH, DMEM_HAAS_TEMP << 16, num_audio_channels, cutoffFreqLfe);
|
||||
noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft,
|
||||
(DMEM_WET_LEFT_CH << 16) | DMEM_LEFT_CH, DMEM_HAAS_TEMP << 16, num_audio_channels,
|
||||
cutoffFreqLfe);
|
||||
break;
|
||||
|
||||
case HAAS_EFFECT_DELAY_RIGHT:
|
||||
aEnvMixer(aList++, dmemSrc, aiBufLen, ((sourceReverbVol & 0x80) >> 7),
|
||||
noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft, (DMEM_WET_LEFT_CH << 16) | DMEM_LEFT_CH, DMEM_HAAS_TEMP, num_audio_channels, cutoffFreqLfe);
|
||||
noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft,
|
||||
(DMEM_WET_LEFT_CH << 16) | DMEM_LEFT_CH, DMEM_HAAS_TEMP, num_audio_channels, cutoffFreqLfe);
|
||||
break;
|
||||
|
||||
default: // HAAS_EFFECT_DELAY_NONE
|
||||
aEnvMixer(aList++, dmemSrc, aiBufLen, ((sourceReverbVol & 0x80) >> 7),
|
||||
noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft, (DMEM_WET_LEFT_CH << 16) | DMEM_LEFT_CH, 0, num_audio_channels, cutoffFreqLfe);
|
||||
noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft,
|
||||
(DMEM_WET_LEFT_CH << 16) | DMEM_LEFT_CH, 0, num_audio_channels, cutoffFreqLfe);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
aEnvSetup1(aList++, (sourceReverbVol & 0x7F), rampReverb, rampLeft, rampRight, rampCenter, rampLfe, rampRLeft, rampRRight);
|
||||
aEnvSetup1(aList++, (sourceReverbVol & 0x7F), rampReverb, rampLeft, rampRight, rampCenter, rampLfe, rampRLeft,
|
||||
rampRRight);
|
||||
aEnvSetup2(aList++, curVolLeft, curVolRight, curVolCenter, curVolLfe, curVolRLeft, curVolRRight);
|
||||
aEnvMixer(aList++, dmemSrc, aiBufLen, ((sourceReverbVol & 0x80) >> 7),
|
||||
noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft, (DMEM_WET_LEFT_CH << 16) | DMEM_LEFT_CH, 0, GetNumAudioChannels(), cutoffFreqLfe);
|
||||
aEnvMixer(aList++, dmemSrc, aiBufLen, ((sourceReverbVol & 0x80) >> 7), noteSub->bitField0.stereoStrongRight,
|
||||
noteSub->bitField0.stereoStrongLeft, (DMEM_WET_LEFT_CH << 16) | DMEM_LEFT_CH, 0,
|
||||
GetNumAudioChannels(), cutoffFreqLfe);
|
||||
}
|
||||
|
||||
return aList;
|
||||
|
||||
@@ -186,7 +186,7 @@ SPTask* AudioThread_CreateTask() {
|
||||
|
||||
task->output_buff = NULL;
|
||||
task->output_buff_size = NULL;
|
||||
|
||||
|
||||
task->data_ptr = (u64*) gAbiCmdBuffs[aiBuffIndex];
|
||||
task->data_size = abiCmdCount * sizeof(Acmd);
|
||||
|
||||
|
||||
+78
-78
@@ -6,82 +6,82 @@
|
||||
{ NULL, { NULL, NULL }, false }
|
||||
|
||||
// DmaEntry gDmaTable[90] = {
|
||||
// { SEGMENT_ROM_START(makerom), { SEGMENT_ROM_START(makerom), SEGMENT_ROM_END(makerom) }, false },
|
||||
// { SEGMENT_ROM_START(main), { SEGMENT_ROM_START(main), SEGMENT_ROM_END(main) }, false },
|
||||
// { SEGMENT_ROM_START(dma_table), { SEGMENT_ROM_START(dma_table), SEGMENT_ROM_END(dma_table) }, false },
|
||||
// { SEGMENT_ROM_START(audio_seq), { SEGMENT_ROM_START(audio_seq), SEGMENT_ROM_END(audio_seq) }, false },
|
||||
// { SEGMENT_ROM_START(audio_bank), { SEGMENT_ROM_START(audio_bank), SEGMENT_ROM_END(audio_bank) }, false },
|
||||
// { SEGMENT_ROM_START(audio_table), { SEGMENT_ROM_START(audio_table), SEGMENT_ROM_END(audio_table) }, false },
|
||||
// { SEGMENT_ROM_START(ast_common), { SEGMENT_ROM_START(ast_common), SEGMENT_ROM_END(ast_common) }, false },
|
||||
// { SEGMENT_ROM_START(ast_bg_space), { SEGMENT_ROM_START(ast_bg_space), SEGMENT_ROM_END(ast_bg_space) }, false },
|
||||
// { SEGMENT_ROM_START(ast_bg_planet), { SEGMENT_ROM_START(ast_bg_planet), SEGMENT_ROM_END(ast_bg_planet) }, false },
|
||||
// { SEGMENT_ROM_START(ast_arwing), { SEGMENT_ROM_START(ast_arwing), SEGMENT_ROM_END(ast_arwing) }, false },
|
||||
// { SEGMENT_ROM_START(ast_landmaster),
|
||||
// { SEGMENT_ROM_START(ast_landmaster), SEGMENT_ROM_END(ast_landmaster) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_blue_marine),
|
||||
// { SEGMENT_ROM_START(ast_blue_marine), SEGMENT_ROM_END(ast_blue_marine) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_vs_player), { SEGMENT_ROM_START(ast_vs_player), SEGMENT_ROM_END(ast_vs_player) }, false },
|
||||
// { SEGMENT_ROM_START(ast_enmy_planet),
|
||||
// { SEGMENT_ROM_START(ast_enmy_planet), SEGMENT_ROM_END(ast_enmy_planet) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_enmy_space),
|
||||
// { SEGMENT_ROM_START(ast_enmy_space), SEGMENT_ROM_END(ast_enmy_space) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_great_fox), { SEGMENT_ROM_START(ast_great_fox), SEGMENT_ROM_END(ast_great_fox) }, false },
|
||||
// { SEGMENT_ROM_START(ast_star_wolf), { SEGMENT_ROM_START(ast_star_wolf), SEGMENT_ROM_END(ast_star_wolf) }, false },
|
||||
// { SEGMENT_ROM_START(ast_allies), { SEGMENT_ROM_START(ast_allies), SEGMENT_ROM_END(ast_allies) }, false },
|
||||
// { SEGMENT_ROM_START(ast_corneria), { SEGMENT_ROM_START(ast_corneria), SEGMENT_ROM_END(ast_corneria) }, false },
|
||||
// { SEGMENT_ROM_START(ast_meteo), { SEGMENT_ROM_START(ast_meteo), SEGMENT_ROM_END(ast_meteo) }, false },
|
||||
// { SEGMENT_ROM_START(ast_titania), { SEGMENT_ROM_START(ast_titania), SEGMENT_ROM_END(ast_titania) }, false },
|
||||
// { SEGMENT_ROM_START(ast_7_ti_2), { SEGMENT_ROM_START(ast_7_ti_2), SEGMENT_ROM_END(ast_7_ti_2) }, false },
|
||||
// { SEGMENT_ROM_START(ast_8_ti), { SEGMENT_ROM_START(ast_8_ti), SEGMENT_ROM_END(ast_8_ti) }, false },
|
||||
// { SEGMENT_ROM_START(ast_9_ti), { SEGMENT_ROM_START(ast_9_ti), SEGMENT_ROM_END(ast_9_ti) }, false },
|
||||
// { SEGMENT_ROM_START(ast_A_ti), { SEGMENT_ROM_START(ast_A_ti), SEGMENT_ROM_END(ast_A_ti) }, false },
|
||||
// { SEGMENT_ROM_START(ast_7_ti_1), { SEGMENT_ROM_START(ast_7_ti_1), SEGMENT_ROM_END(ast_7_ti_1) }, false },
|
||||
// { SEGMENT_ROM_START(ast_sector_x), { SEGMENT_ROM_START(ast_sector_x), SEGMENT_ROM_END(ast_sector_x) }, false },
|
||||
// { SEGMENT_ROM_START(ast_sector_z), { SEGMENT_ROM_START(ast_sector_z), SEGMENT_ROM_END(ast_sector_z) }, false },
|
||||
// { SEGMENT_ROM_START(ast_aquas), { SEGMENT_ROM_START(ast_aquas), SEGMENT_ROM_END(ast_aquas) }, false },
|
||||
// { SEGMENT_ROM_START(ast_area_6), { SEGMENT_ROM_START(ast_area_6), SEGMENT_ROM_END(ast_area_6) }, false },
|
||||
// { SEGMENT_ROM_START(ast_venom_1), { SEGMENT_ROM_START(ast_venom_1), SEGMENT_ROM_END(ast_venom_1) }, false },
|
||||
// { SEGMENT_ROM_START(ast_venom_2), { SEGMENT_ROM_START(ast_venom_2), SEGMENT_ROM_END(ast_venom_2) }, false },
|
||||
// { SEGMENT_ROM_START(ast_ve1_boss), { SEGMENT_ROM_START(ast_ve1_boss), SEGMENT_ROM_END(ast_ve1_boss) }, false },
|
||||
// { SEGMENT_ROM_START(ast_bolse), { SEGMENT_ROM_START(ast_bolse), SEGMENT_ROM_END(ast_bolse) }, false },
|
||||
// { SEGMENT_ROM_START(ast_fortuna), { SEGMENT_ROM_START(ast_fortuna), SEGMENT_ROM_END(ast_fortuna) }, false },
|
||||
// { SEGMENT_ROM_START(ast_sector_y), { SEGMENT_ROM_START(ast_sector_y), SEGMENT_ROM_END(ast_sector_y) }, false },
|
||||
// { SEGMENT_ROM_START(ast_solar), { SEGMENT_ROM_START(ast_solar), SEGMENT_ROM_END(ast_solar) }, false },
|
||||
// { SEGMENT_ROM_START(ast_zoness), { SEGMENT_ROM_START(ast_zoness), SEGMENT_ROM_END(ast_zoness) }, false },
|
||||
// { SEGMENT_ROM_START(ast_katina), { SEGMENT_ROM_START(ast_katina), SEGMENT_ROM_END(ast_katina) }, false },
|
||||
// { SEGMENT_ROM_START(ast_macbeth), { SEGMENT_ROM_START(ast_macbeth), SEGMENT_ROM_END(ast_macbeth) }, false },
|
||||
// { SEGMENT_ROM_START(ast_warp_zone), { SEGMENT_ROM_START(ast_warp_zone), SEGMENT_ROM_END(ast_warp_zone) }, false },
|
||||
// { SEGMENT_ROM_START(ast_title), { SEGMENT_ROM_START(ast_title), SEGMENT_ROM_END(ast_title) }, false },
|
||||
// { SEGMENT_ROM_START(ast_map), { SEGMENT_ROM_START(ast_map), SEGMENT_ROM_END(ast_map) }, false },
|
||||
// { SEGMENT_ROM_START(ast_option), { SEGMENT_ROM_START(ast_option), SEGMENT_ROM_END(ast_option) }, false },
|
||||
// { SEGMENT_ROM_START(ast_versus), { SEGMENT_ROM_START(ast_versus), SEGMENT_ROM_END(ast_versus) }, false },
|
||||
// { SEGMENT_ROM_START(ast_font), { SEGMENT_ROM_START(ast_font), SEGMENT_ROM_END(ast_font) }, false },
|
||||
// { SEGMENT_ROM_START(ast_font_3d), { SEGMENT_ROM_START(ast_font_3d), SEGMENT_ROM_END(ast_font_3d) }, false },
|
||||
// { SEGMENT_ROM_START(ast_andross), { SEGMENT_ROM_START(ast_andross), SEGMENT_ROM_END(ast_andross) }, false },
|
||||
// { SEGMENT_ROM_START(ast_logo), { SEGMENT_ROM_START(ast_logo), SEGMENT_ROM_END(ast_logo) }, false },
|
||||
// { SEGMENT_ROM_START(ast_ending), { SEGMENT_ROM_START(ast_ending), SEGMENT_ROM_END(ast_ending) }, false },
|
||||
// { SEGMENT_ROM_START(ast_ending_award_front),
|
||||
// { SEGMENT_ROM_START(ast_ending_award_front), SEGMENT_ROM_END(ast_ending_award_front) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_ending_award_back),
|
||||
// { SEGMENT_ROM_START(ast_ending_award_back), SEGMENT_ROM_END(ast_ending_award_back) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_ending_expert),
|
||||
// { SEGMENT_ROM_START(ast_ending_expert), SEGMENT_ROM_END(ast_ending_expert) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_training), { SEGMENT_ROM_START(ast_training), SEGMENT_ROM_END(ast_training) }, false },
|
||||
// { SEGMENT_ROM_START(ast_radio), { SEGMENT_ROM_START(ast_radio), SEGMENT_ROM_END(ast_radio) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i1), { SEGMENT_ROM_START(ovl_i1), SEGMENT_ROM_END(ovl_i1) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i2), { SEGMENT_ROM_START(ovl_i2), SEGMENT_ROM_END(ovl_i2) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i3), { SEGMENT_ROM_START(ovl_i3), SEGMENT_ROM_END(ovl_i3) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i4), { SEGMENT_ROM_START(ovl_i4), SEGMENT_ROM_END(ovl_i4) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i5), { SEGMENT_ROM_START(ovl_i5), SEGMENT_ROM_END(ovl_i5) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i6), { SEGMENT_ROM_START(ovl_i6), SEGMENT_ROM_END(ovl_i6) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_menu), { SEGMENT_ROM_START(ovl_menu), SEGMENT_ROM_END(ovl_menu) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_ending), { SEGMENT_ROM_START(ovl_ending), SEGMENT_ROM_END(ovl_ending) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_unused), { SEGMENT_ROM_START(ovl_unused), SEGMENT_ROM_END(ovl_unused) }, false },
|
||||
// { SEGMENT_ROM_START(makerom), { SEGMENT_ROM_START(makerom), SEGMENT_ROM_END(makerom) }, false },
|
||||
// { SEGMENT_ROM_START(main), { SEGMENT_ROM_START(main), SEGMENT_ROM_END(main) }, false },
|
||||
// { SEGMENT_ROM_START(dma_table), { SEGMENT_ROM_START(dma_table), SEGMENT_ROM_END(dma_table) }, false },
|
||||
// { SEGMENT_ROM_START(audio_seq), { SEGMENT_ROM_START(audio_seq), SEGMENT_ROM_END(audio_seq) }, false },
|
||||
// { SEGMENT_ROM_START(audio_bank), { SEGMENT_ROM_START(audio_bank), SEGMENT_ROM_END(audio_bank) }, false },
|
||||
// { SEGMENT_ROM_START(audio_table), { SEGMENT_ROM_START(audio_table), SEGMENT_ROM_END(audio_table) }, false },
|
||||
// { SEGMENT_ROM_START(ast_common), { SEGMENT_ROM_START(ast_common), SEGMENT_ROM_END(ast_common) }, false },
|
||||
// { SEGMENT_ROM_START(ast_bg_space), { SEGMENT_ROM_START(ast_bg_space), SEGMENT_ROM_END(ast_bg_space) }, false },
|
||||
// { SEGMENT_ROM_START(ast_bg_planet), { SEGMENT_ROM_START(ast_bg_planet), SEGMENT_ROM_END(ast_bg_planet) }, false },
|
||||
// { SEGMENT_ROM_START(ast_arwing), { SEGMENT_ROM_START(ast_arwing), SEGMENT_ROM_END(ast_arwing) }, false },
|
||||
// { SEGMENT_ROM_START(ast_landmaster),
|
||||
// { SEGMENT_ROM_START(ast_landmaster), SEGMENT_ROM_END(ast_landmaster) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_blue_marine),
|
||||
// { SEGMENT_ROM_START(ast_blue_marine), SEGMENT_ROM_END(ast_blue_marine) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_vs_player), { SEGMENT_ROM_START(ast_vs_player), SEGMENT_ROM_END(ast_vs_player) }, false },
|
||||
// { SEGMENT_ROM_START(ast_enmy_planet),
|
||||
// { SEGMENT_ROM_START(ast_enmy_planet), SEGMENT_ROM_END(ast_enmy_planet) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_enmy_space),
|
||||
// { SEGMENT_ROM_START(ast_enmy_space), SEGMENT_ROM_END(ast_enmy_space) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_great_fox), { SEGMENT_ROM_START(ast_great_fox), SEGMENT_ROM_END(ast_great_fox) }, false },
|
||||
// { SEGMENT_ROM_START(ast_star_wolf), { SEGMENT_ROM_START(ast_star_wolf), SEGMENT_ROM_END(ast_star_wolf) }, false },
|
||||
// { SEGMENT_ROM_START(ast_allies), { SEGMENT_ROM_START(ast_allies), SEGMENT_ROM_END(ast_allies) }, false },
|
||||
// { SEGMENT_ROM_START(ast_corneria), { SEGMENT_ROM_START(ast_corneria), SEGMENT_ROM_END(ast_corneria) }, false },
|
||||
// { SEGMENT_ROM_START(ast_meteo), { SEGMENT_ROM_START(ast_meteo), SEGMENT_ROM_END(ast_meteo) }, false },
|
||||
// { SEGMENT_ROM_START(ast_titania), { SEGMENT_ROM_START(ast_titania), SEGMENT_ROM_END(ast_titania) }, false },
|
||||
// { SEGMENT_ROM_START(ast_7_ti_2), { SEGMENT_ROM_START(ast_7_ti_2), SEGMENT_ROM_END(ast_7_ti_2) }, false },
|
||||
// { SEGMENT_ROM_START(ast_8_ti), { SEGMENT_ROM_START(ast_8_ti), SEGMENT_ROM_END(ast_8_ti) }, false },
|
||||
// { SEGMENT_ROM_START(ast_9_ti), { SEGMENT_ROM_START(ast_9_ti), SEGMENT_ROM_END(ast_9_ti) }, false },
|
||||
// { SEGMENT_ROM_START(ast_A_ti), { SEGMENT_ROM_START(ast_A_ti), SEGMENT_ROM_END(ast_A_ti) }, false },
|
||||
// { SEGMENT_ROM_START(ast_7_ti_1), { SEGMENT_ROM_START(ast_7_ti_1), SEGMENT_ROM_END(ast_7_ti_1) }, false },
|
||||
// { SEGMENT_ROM_START(ast_sector_x), { SEGMENT_ROM_START(ast_sector_x), SEGMENT_ROM_END(ast_sector_x) }, false },
|
||||
// { SEGMENT_ROM_START(ast_sector_z), { SEGMENT_ROM_START(ast_sector_z), SEGMENT_ROM_END(ast_sector_z) }, false },
|
||||
// { SEGMENT_ROM_START(ast_aquas), { SEGMENT_ROM_START(ast_aquas), SEGMENT_ROM_END(ast_aquas) }, false },
|
||||
// { SEGMENT_ROM_START(ast_area_6), { SEGMENT_ROM_START(ast_area_6), SEGMENT_ROM_END(ast_area_6) }, false },
|
||||
// { SEGMENT_ROM_START(ast_venom_1), { SEGMENT_ROM_START(ast_venom_1), SEGMENT_ROM_END(ast_venom_1) }, false },
|
||||
// { SEGMENT_ROM_START(ast_venom_2), { SEGMENT_ROM_START(ast_venom_2), SEGMENT_ROM_END(ast_venom_2) }, false },
|
||||
// { SEGMENT_ROM_START(ast_ve1_boss), { SEGMENT_ROM_START(ast_ve1_boss), SEGMENT_ROM_END(ast_ve1_boss) }, false },
|
||||
// { SEGMENT_ROM_START(ast_bolse), { SEGMENT_ROM_START(ast_bolse), SEGMENT_ROM_END(ast_bolse) }, false },
|
||||
// { SEGMENT_ROM_START(ast_fortuna), { SEGMENT_ROM_START(ast_fortuna), SEGMENT_ROM_END(ast_fortuna) }, false },
|
||||
// { SEGMENT_ROM_START(ast_sector_y), { SEGMENT_ROM_START(ast_sector_y), SEGMENT_ROM_END(ast_sector_y) }, false },
|
||||
// { SEGMENT_ROM_START(ast_solar), { SEGMENT_ROM_START(ast_solar), SEGMENT_ROM_END(ast_solar) }, false },
|
||||
// { SEGMENT_ROM_START(ast_zoness), { SEGMENT_ROM_START(ast_zoness), SEGMENT_ROM_END(ast_zoness) }, false },
|
||||
// { SEGMENT_ROM_START(ast_katina), { SEGMENT_ROM_START(ast_katina), SEGMENT_ROM_END(ast_katina) }, false },
|
||||
// { SEGMENT_ROM_START(ast_macbeth), { SEGMENT_ROM_START(ast_macbeth), SEGMENT_ROM_END(ast_macbeth) }, false },
|
||||
// { SEGMENT_ROM_START(ast_warp_zone), { SEGMENT_ROM_START(ast_warp_zone), SEGMENT_ROM_END(ast_warp_zone) }, false },
|
||||
// { SEGMENT_ROM_START(ast_title), { SEGMENT_ROM_START(ast_title), SEGMENT_ROM_END(ast_title) }, false },
|
||||
// { SEGMENT_ROM_START(ast_map), { SEGMENT_ROM_START(ast_map), SEGMENT_ROM_END(ast_map) }, false },
|
||||
// { SEGMENT_ROM_START(ast_option), { SEGMENT_ROM_START(ast_option), SEGMENT_ROM_END(ast_option) }, false },
|
||||
// { SEGMENT_ROM_START(ast_versus), { SEGMENT_ROM_START(ast_versus), SEGMENT_ROM_END(ast_versus) }, false },
|
||||
// { SEGMENT_ROM_START(ast_font), { SEGMENT_ROM_START(ast_font), SEGMENT_ROM_END(ast_font) }, false },
|
||||
// { SEGMENT_ROM_START(ast_font_3d), { SEGMENT_ROM_START(ast_font_3d), SEGMENT_ROM_END(ast_font_3d) }, false },
|
||||
// { SEGMENT_ROM_START(ast_andross), { SEGMENT_ROM_START(ast_andross), SEGMENT_ROM_END(ast_andross) }, false },
|
||||
// { SEGMENT_ROM_START(ast_logo), { SEGMENT_ROM_START(ast_logo), SEGMENT_ROM_END(ast_logo) }, false },
|
||||
// { SEGMENT_ROM_START(ast_ending), { SEGMENT_ROM_START(ast_ending), SEGMENT_ROM_END(ast_ending) }, false },
|
||||
// { SEGMENT_ROM_START(ast_ending_award_front),
|
||||
// { SEGMENT_ROM_START(ast_ending_award_front), SEGMENT_ROM_END(ast_ending_award_front) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_ending_award_back),
|
||||
// { SEGMENT_ROM_START(ast_ending_award_back), SEGMENT_ROM_END(ast_ending_award_back) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_ending_expert),
|
||||
// { SEGMENT_ROM_START(ast_ending_expert), SEGMENT_ROM_END(ast_ending_expert) },
|
||||
// false },
|
||||
// { SEGMENT_ROM_START(ast_training), { SEGMENT_ROM_START(ast_training), SEGMENT_ROM_END(ast_training) }, false },
|
||||
// { SEGMENT_ROM_START(ast_radio), { SEGMENT_ROM_START(ast_radio), SEGMENT_ROM_END(ast_radio) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i1), { SEGMENT_ROM_START(ovl_i1), SEGMENT_ROM_END(ovl_i1) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i2), { SEGMENT_ROM_START(ovl_i2), SEGMENT_ROM_END(ovl_i2) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i3), { SEGMENT_ROM_START(ovl_i3), SEGMENT_ROM_END(ovl_i3) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i4), { SEGMENT_ROM_START(ovl_i4), SEGMENT_ROM_END(ovl_i4) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i5), { SEGMENT_ROM_START(ovl_i5), SEGMENT_ROM_END(ovl_i5) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_i6), { SEGMENT_ROM_START(ovl_i6), SEGMENT_ROM_END(ovl_i6) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_menu), { SEGMENT_ROM_START(ovl_menu), SEGMENT_ROM_END(ovl_menu) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_ending), { SEGMENT_ROM_START(ovl_ending), SEGMENT_ROM_END(ovl_ending) }, false },
|
||||
// { SEGMENT_ROM_START(ovl_unused), { SEGMENT_ROM_START(ovl_unused), SEGMENT_ROM_END(ovl_unused) }, false },
|
||||
// };
|
||||
|
||||
+44
-44
@@ -34,60 +34,60 @@ f32 Math_RoundF(f32 x) {
|
||||
|
||||
f32 Math_FAtanF(f32 x) {
|
||||
return atanf(x);
|
||||
/*
|
||||
s32 sector;
|
||||
s32 i;
|
||||
f32 sq;
|
||||
f32 conv = 0.0f;
|
||||
f32 z;
|
||||
/*
|
||||
s32 sector;
|
||||
s32 i;
|
||||
f32 sq;
|
||||
f32 conv = 0.0f;
|
||||
f32 z;
|
||||
|
||||
if (x > 1.0f) {
|
||||
sector = 1;
|
||||
x = 1.0f / x;
|
||||
} else if (x < -1.0f) {
|
||||
sector = -1;
|
||||
x = 1.0f / x;
|
||||
} else {
|
||||
sector = 0;
|
||||
}
|
||||
if (x > 1.0f) {
|
||||
sector = 1;
|
||||
x = 1.0f / x;
|
||||
} else if (x < -1.0f) {
|
||||
sector = -1;
|
||||
x = 1.0f / x;
|
||||
} else {
|
||||
sector = 0;
|
||||
}
|
||||
|
||||
sq = SQ(x);
|
||||
sq = SQ(x);
|
||||
|
||||
for (z = i = 24; i != 0; i--) {
|
||||
conv = SQ(z) * sq / (2.0f * z + 1.0f + conv);
|
||||
z -= 1.0f;
|
||||
}
|
||||
for (z = i = 24; i != 0; i--) {
|
||||
conv = SQ(z) * sq / (2.0f * z + 1.0f + conv);
|
||||
z -= 1.0f;
|
||||
}
|
||||
|
||||
if (sector > 0) {
|
||||
return M_PI / 2.0f - (x / (1.0f + conv));
|
||||
} else if (sector < 0) {
|
||||
return -M_PI / 2.0f - (x / (1.0f + conv));
|
||||
} else {
|
||||
return x / (1.0f + conv);
|
||||
}
|
||||
*/
|
||||
if (sector > 0) {
|
||||
return M_PI / 2.0f - (x / (1.0f + conv));
|
||||
} else if (sector < 0) {
|
||||
return -M_PI / 2.0f - (x / (1.0f + conv));
|
||||
} else {
|
||||
return x / (1.0f + conv);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
f32 Math_FAtan2F(f32 y, f32 x) {
|
||||
return atan2f(y, x);
|
||||
/*
|
||||
if ((y == 0.0f) && (x == 0.0f)) {
|
||||
return 0.0f;
|
||||
}
|
||||
if (x == 0.0f) {
|
||||
if (y < 0.0f) {
|
||||
return -M_PI / 2.0f;
|
||||
/*
|
||||
if ((y == 0.0f) && (x == 0.0f)) {
|
||||
return 0.0f;
|
||||
}
|
||||
return M_PI / 2.0f;
|
||||
}
|
||||
if (x < 0.0f) {
|
||||
if (y < 0.0f) {
|
||||
return -(M_PI - Math_FAtanF(fabs(y / x)));
|
||||
if (x == 0.0f) {
|
||||
if (y < 0.0f) {
|
||||
return -M_PI / 2.0f;
|
||||
}
|
||||
return M_PI / 2.0f;
|
||||
}
|
||||
return M_PI - Math_FAtanF(fabs(y / x));
|
||||
}
|
||||
return Math_FAtanF(y / x);
|
||||
*/
|
||||
if (x < 0.0f) {
|
||||
if (y < 0.0f) {
|
||||
return -(M_PI - Math_FAtanF(fabs(y / x)));
|
||||
}
|
||||
return M_PI - Math_FAtanF(fabs(y / x));
|
||||
}
|
||||
return Math_FAtanF(y / x);
|
||||
*/
|
||||
}
|
||||
|
||||
f32 Math_FAsinF(f32 x) {
|
||||
|
||||
Reference in New Issue
Block a user