diff --git a/OTRExporter/OTRExporter/AudioExporter.cpp b/OTRExporter/OTRExporter/AudioExporter.cpp index 7fb065831..eef856723 100644 --- a/OTRExporter/OTRExporter/AudioExporter.cpp +++ b/OTRExporter/OTRExporter/AudioExporter.cpp @@ -41,14 +41,14 @@ void OTRExporter_Audio::WriteSampleEntry(SampleEntry* entry, BinaryWriter* write writer->Write((uint32_t)(entry->loop.count)); writer->Write((uint32_t)entry->loop.states.size()); - for (int i = 0; i < entry->loop.states.size(); i++) + for (size_t i = 0; i < entry->loop.states.size(); i++) writer->Write((entry->loop.states[i])); writer->Write((uint32_t)(entry->book.order)); writer->Write((uint32_t)(entry->book.npredictors)); writer->Write((uint32_t)entry->book.books.size()); - for (int i = 0; i < entry->book.books.size(); i++) + for (size_t i = 0; i < entry->book.books.size(); i++) writer->Write((entry->book.books[i])); } @@ -118,7 +118,7 @@ void OTRExporter_Audio::Save(ZResource* res, const fs::path& outPath, BinaryWrit fntWriter.Write((uint32_t)audio->soundFontTable[i].instruments.size()); fntWriter.Write((uint32_t)audio->soundFontTable[i].soundEffects.size()); - for (int k = 0; k < audio->soundFontTable[i].drums.size(); k++) + for (size_t k = 0; k < audio->soundFontTable[i].drums.size(); k++) { fntWriter.Write(audio->soundFontTable[i].drums[k].releaseRate); fntWriter.Write(audio->soundFontTable[i].drums[k].pan); @@ -130,7 +130,7 @@ void OTRExporter_Audio::Save(ZResource* res, const fs::path& outPath, BinaryWrit fntWriter.Write(audio->soundFontTable[i].drums[k].tuning); } - for (int k = 0; k < audio->soundFontTable[i].instruments.size(); k++) + for (size_t k = 0; k < audio->soundFontTable[i].instruments.size(); k++) { fntWriter.Write((uint8_t)audio->soundFontTable[i].instruments[k].isValidInstrument); @@ -146,7 +146,7 @@ void OTRExporter_Audio::Save(ZResource* res, const fs::path& outPath, BinaryWrit WriteSoundFontEntry(audio->soundFontTable[i].instruments[k].highNotesSound, audio->samples, &fntWriter); } - for (int k = 0; k < audio->soundFontTable[i].soundEffects.size(); k++) + for (size_t k = 0; k < audio->soundFontTable[i].soundEffects.size(); k++) { WriteSoundFontEntry(audio->soundFontTable[i].soundEffects[k], audio->samples, &fntWriter); } @@ -156,7 +156,7 @@ void OTRExporter_Audio::Save(ZResource* res, const fs::path& outPath, BinaryWrit } // Write Sequences - for (int i = 0; i < audio->sequences.size(); i++) + for (size_t i = 0; i < audio->sequences.size(); i++) { auto seq = audio->sequences[i]; diff --git a/OTRExporter/OTRExporter/Makefile b/OTRExporter/OTRExporter/Makefile index 954b183a3..0046df18e 100644 --- a/OTRExporter/OTRExporter/Makefile +++ b/OTRExporter/OTRExporter/Makefile @@ -12,7 +12,8 @@ LTO ?= 0 WARN := -Wall -Wextra -Werror \ -Wno-unused-parameter \ -Wno-unused-function \ - -Wno-unused-variable + -Wno-unused-variable \ + -Wno-error=multichar CXXFLAGS := $(WARN) -std=c++17 @@ -46,6 +47,7 @@ INC_DIRS := $(addprefix -I, \ ../../libultraship/libultraship \ ../../libultraship/libultraship/Lib/spdlog/include \ ../../libultraship/libultraship/Lib/Fast3D/U64 \ + ../../StormLib/src \ ) # create build directories diff --git a/libultraship/libultraship/Audio.cpp b/libultraship/libultraship/Audio.cpp index 801fac554..f7dd5c4f6 100644 --- a/libultraship/libultraship/Audio.cpp +++ b/libultraship/libultraship/Audio.cpp @@ -13,26 +13,26 @@ namespace Ship entry->unk_bit26 = reader->ReadByte(); entry->unk_bit25 = reader->ReadByte(); - int dataSize = reader->ReadInt32(); + uint32_t dataSize = reader->ReadInt32(); - for (size_t i = 0; i < dataSize; i++) + for (uint32_t i = 0; i < dataSize; i++) entry->data.push_back(reader->ReadUByte()); entry->loop.start = reader->ReadUInt32(); entry->loop.end = reader->ReadUInt32(); entry->loop.count = reader->ReadUInt32(); - int loopStateCnt = reader->ReadUInt32(); + uint32_t loopStateCnt = reader->ReadUInt32(); - for (size_t i = 0; i < loopStateCnt; i++) + for (uint32_t i = 0; i < loopStateCnt; i++) entry->loop.states.push_back(reader->ReadInt16()); entry->book.order = reader->ReadInt32(); entry->book.npredictors = reader->ReadInt32(); - int bookSize = reader->ReadInt32(); + uint32_t bookSize = reader->ReadInt32(); - for (size_t i = 0; i < bookSize; i++) + for (uint32_t i = 0; i < bookSize; i++) entry->book.books.push_back(reader->ReadInt16()); } @@ -165,4 +165,4 @@ namespace Ship //for (size_t i = 0; i < sampleCnt; i++) //audio->samples.push_back(ReadSampleEntry(reader)); } -} \ No newline at end of file +} diff --git a/soh/soh/OTRGlobals.h b/soh/soh/OTRGlobals.h index 7a2f63479..f9d622ea7 100644 --- a/soh/soh/OTRGlobals.h +++ b/soh/soh/OTRGlobals.h @@ -76,6 +76,9 @@ int AudioPlayer_GetDesiredBuffered(void); void AudioPlayer_Play(const uint8_t* buf, uint32_t len); void AudioMgr_CreateNextAudioBuffer(s16* samples, u32 num_samples); int Controller_ShouldRumble(size_t i); +char* ResourceMgr_LoadSeqByID(int seqID); +int ResourceMgr_GetSeqSizeByID(int seqID); +SoundFont* ResourceMgr_LoadAudioSoundFont(int fontIndex); #endif -#endif \ No newline at end of file +#endif diff --git a/soh/src/code/audio_load.c b/soh/src/code/audio_load.c index c9a8c6c46..742eeafb3 100644 --- a/soh/src/code/audio_load.c +++ b/soh/src/code/audio_load.c @@ -373,7 +373,7 @@ void AudioLoad_InitTable(AudioTable* table, uintptr_t romAddr, u16 unkMediumPara SoundFontData* AudioLoad_SyncLoadSeqFonts(s32 seqId, u32* outDefaultFontId) { char pad[0x8]; s32 index; - SoundFontData* font; + SoundFontData* font = NULL; s32 numFonts; s32 fontId; s32 i; @@ -575,7 +575,7 @@ s32 AudioLoad_SyncInitSeqPlayerInternal(s32 playerIdx, s32 seqId, s32 arg2) { while (numFonts > 0) { fontId = gAudioContext.sequenceFontTable[index++]; - //if (gUseLegacySD) + if (gUseLegacySD) AudioLoad_SyncLoadFont(fontId); numFonts--; diff --git a/soh/src/code/audio_synthesis.c b/soh/src/code/audio_synthesis.c index 01a1e16c2..db43e64e0 100644 --- a/soh/src/code/audio_synthesis.c +++ b/soh/src/code/audio_synthesis.c @@ -440,11 +440,11 @@ void func_800DBE64(void) { void func_800DBE6C(void) { } -void AudioSynth_LoadFilter(Acmd* cmd, s32 flags, s32 countOrBuf, s32 addr) { +void AudioSynth_LoadFilter(Acmd* cmd, s32 flags, s32 countOrBuf, uintptr_t addr) { aFilter(cmd, flags, countOrBuf, addr); } -void AudioSynth_LoadFilterCount(Acmd* cmd, s32 count, s32 addr) { +void AudioSynth_LoadFilterCount(Acmd* cmd, s32 count, uintptr_t addr) { aFilter(cmd, 2, count, addr); }