diff --git a/ZAPDTR/ZAPD/ZAudio.cpp b/ZAPDTR/ZAPD/ZAudio.cpp index a502a0545..a8b0f1fa1 100644 --- a/ZAPDTR/ZAPD/ZAudio.cpp +++ b/ZAPDTR/ZAPD/ZAudio.cpp @@ -11,9 +11,10 @@ REGISTER_ZFILENODE(Audio, ZAudio); ZAudio::ZAudio(ZFile* nParent) : ZResource(nParent) { - //RegisterRequiredAttribute("CodeOffset"); - //RegisterOptionalAttribute("LangOffset", "0"); - + RegisterRequiredAttribute("SoundFontTableOffset"); + RegisterRequiredAttribute("SequenceTableOffset"); + RegisterRequiredAttribute("SampleBankTableOffset"); + RegisterRequiredAttribute("SequenceFontTableOffset"); } void ZAudio::ParseXML(tinyxml2::XMLElement* reader) @@ -156,11 +157,6 @@ SampleEntry* ZAudio::ParseSampleEntry(std::vector audioBank, sample->loop.end = BitConverter::ToInt32BE(audioBank, loopOffset + 4); sample->loop.count = BitConverter::ToInt32BE(audioBank, loopOffset + 8); - if (sample->loop.start == 0x3ADB) - { - int bp = 0; - } - if (sample->loop.count != 0) { for (int i = 0; i < 16; i++) @@ -341,30 +337,30 @@ void ZAudio::ParseRawData() audioSeqData = Globals::Instance->GetBaseromFile(Globals::Instance->baseRomPath.string() + "Audioseq"); - //codeData = File::ReadAllBytes("baserom/code_ntsc"); - //audioTableData = File::ReadAllBytes("baserom/Audiotable_ntsc"); - //audioSeqData = File::ReadAllBytes("baserom/Audioseq_ntsc"); - //audioBankData = File::ReadAllBytes("baserom/Audiobank_ntsc"); - // TABLE PARSING // GC PAL - //int gSoundFontTableOffset = 0x138270; // OTRTODO: Make this an XML Param - //int gSequenceTableOffset = 0x1386A0; // OTRTODO: Make this an XML Param - //int gSampleBankTableOffset = 0x138D90; // OTRTODO: Make this an XML Param - //int gSequenceFontTableOffset = 0x1384E0; // OTRTODO: Make this an XML Param + //int gSoundFontTableOffset = 0x138270; + //int gSequenceTableOffset = 0x1386A0; + //int gSampleBankTableOffset = 0x138D90; + //int gSequenceFontTableOffset = 0x1384E0; // NMQ DBG ROM - int gSoundFontTableOffset = 0x138290; // OTRTODO: Make this an XML Param - int gSequenceTableOffset = 0x1386C0; // OTRTODO: Make this an XML Param - int gSampleBankTableOffset = 0x138DB0; // OTRTODO: Make this an XML Param - int gSequenceFontTableOffset = 0x138500; // OTRTODO: Make this an XML Param + //int gSoundFontTableOffset = 0x138290; + //int gSequenceTableOffset = 0x1386C0; + //int gSampleBankTableOffset = 0x138DB0; + //int gSequenceFontTableOffset = 0x138500; // NTSC 1.0 - //int gSoundFontTableOffset = 0x1026A0; // OTRTODO: Make this an XML Param - //int gSequenceTableOffset = 0x102AD0; // OTRTODO: Make this an XML Param - //int gSampleBankTableOffset = 0x1031C0; // OTRTODO: Make this an XML Param - //int gSequenceFontTableOffset = 0x102910; // OTRTODO: Make this an XML Param + //int gSoundFontTableOffset = 0x1026A0; + //int gSequenceTableOffset = 0x102AD0; + //int gSampleBankTableOffset = 0x1031C0; + //int gSequenceFontTableOffset = 0x102910; + + int gSoundFontTableOffset = StringHelper::StrToL(registeredAttributes.at("SoundFontTableOffset").value, 16); + int gSequenceTableOffset = StringHelper::StrToL(registeredAttributes.at("SequenceTableOffset").value, 16); + int gSampleBankTableOffset = StringHelper::StrToL(registeredAttributes.at("SampleBankTableOffset").value, 16); + int gSequenceFontTableOffset = StringHelper::StrToL(registeredAttributes.at("SequenceFontTableOffset").value, 16); soundFontTable = ParseAudioTable(codeData, gSoundFontTableOffset); sequenceTable = ParseAudioTable(codeData, gSequenceTableOffset); diff --git a/soh/assets/xml/GC_NMQ_D/audio/Audio.xml b/soh/assets/xml/GC_NMQ_D/audio/Audio.xml index e021bb0ac..f0ce2eefa 100644 --- a/soh/assets/xml/GC_NMQ_D/audio/Audio.xml +++ b/soh/assets/xml/GC_NMQ_D/audio/Audio.xml @@ -1,6 +1,6 @@ -