diff options
| author | Nicholas Estelami <NEstelami@users.noreply.github.com> | 2022-06-01 13:06:32 -0400 |
|---|---|---|
| committer | Nicholas Estelami <NEstelami@users.noreply.github.com> | 2022-06-01 13:06:32 -0400 |
| commit | 6f5ce7d7157d60c22ca7cd43ff576fc54dc50dbc (patch) | |
| tree | e1951884c7dc3dd77b45e46d8a615361c0ae9dd4 | |
| parent | 72bacabf4556ea6c3bc49fdd333d84e49e54b8b3 (diff) | |
Audio decompiled and WIP custom sample support
47 files changed, 3619 insertions, 3936 deletions
diff --git a/OTRExporter/.gitignore b/OTRExporter/.gitignore index 005fe6b8c..2080ab480 100644 --- a/OTRExporter/.gitignore +++ b/OTRExporter/.gitignore @@ -341,6 +341,7 @@ build/ ZAPDUtils/build/ ZAPD/BuildInfo.h baserom/ +baserom_ntsc/ *.vtx.inc *.otr *.swp diff --git a/OTRExporter/OTRExporter/AudioExporter.cpp b/OTRExporter/OTRExporter/AudioExporter.cpp new file mode 100644 index 000000000..7fb065831 --- /dev/null +++ b/OTRExporter/OTRExporter/AudioExporter.cpp @@ -0,0 +1,174 @@ +#include "AudioExporter.h" +#include "Main.h" +#include <Animation.h> +#include <Utils/MemoryStream.h> +#include <Globals.h> +#include <Utils/File.h> +#include "DisplayListExporter.h" + +void OTRExporter_Audio::WriteSampleEntryReference(SampleEntry* entry, std::map<uint32_t, SampleEntry*> samples, BinaryWriter* writer) +{ + writer->Write((uint8_t)(entry != nullptr ? 1 : 0)); + + uint32_t addr = 0; + + for (auto pair : samples) + { + if (pair.second == entry) + { + addr = pair.first; + break; + } + } + + writer->Write(addr); +} + +void OTRExporter_Audio::WriteSampleEntry(SampleEntry* entry, BinaryWriter* writer) +{ + WriteHeader(nullptr, "", writer, Ship::ResourceType::AudioSample); + + writer->Write(entry->codec); + writer->Write(entry->medium); + writer->Write(entry->unk_bit26); + writer->Write(entry->unk_bit25); + + writer->Write((uint32_t)entry->data.size()); + writer->Write((char*)entry->data.data(), entry->data.size()); + + writer->Write((uint32_t)(entry->loop.start)); + writer->Write((uint32_t)(entry->loop.end)); + 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++) + 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++) + writer->Write((entry->book.books[i])); +} + +void OTRExporter_Audio::WriteSoundFontEntry(SoundFontEntry* entry, std::map<uint32_t, SampleEntry*> samples, BinaryWriter* writer) +{ + writer->Write((uint8_t)(entry != nullptr ? 1 : 0)); + + if (entry != nullptr) + { + WriteSampleEntryReference(entry->sampleEntry, samples, writer); + writer->Write(entry->tuning); + } +} + +void OTRExporter_Audio::WriteEnvData(std::vector<AdsrEnvelope*> envelopes, BinaryWriter* writer) +{ + writer->Write((uint32_t)envelopes.size()); + + for (auto env : envelopes) + { + writer->Write(env->delay); + writer->Write(env->arg); + } +} + +void OTRExporter_Audio::Save(ZResource* res, const fs::path& outPath, BinaryWriter* writer) +{ + ZAudio* audio = (ZAudio*)res; + + WriteHeader(res, outPath, writer, Ship::ResourceType::Audio); + + // Write Samples as individual files + for (auto pair : audio->samples) + { + MemoryStream* sampleStream = new MemoryStream(); + BinaryWriter sampleWriter = BinaryWriter(sampleStream); + + WriteSampleEntry(pair.second, &sampleWriter); + + std::string fName = OTRExporter_DisplayList::GetPathToRes(res, StringHelper::Sprintf("samples/sample_%08X", pair.first)); + AddFile(fName, sampleStream->ToVector()); + } + + // Write the samplebank table + //writer->Write((uint32_t)audio->sampleBankTable.size()); + //for (size_t i = 0; i < audio->sampleBankTable.size(); i++) + //{ + //} + + // Write the soundfont table + //writer->Write((uint32_t)audio->soundFontTable.size()); + + for (size_t i = 0; i < audio->soundFontTable.size(); i++) + { + MemoryStream* fntStream = new MemoryStream(); + BinaryWriter fntWriter = BinaryWriter(fntStream); + + WriteHeader(nullptr, "", &fntWriter, Ship::ResourceType::AudioSoundFont); + + fntWriter.Write(audio->soundFontTable[i].medium); + fntWriter.Write(audio->soundFontTable[i].cachePolicy); + fntWriter.Write(audio->soundFontTable[i].data1); + fntWriter.Write(audio->soundFontTable[i].data2); + fntWriter.Write(audio->soundFontTable[i].data3); + + fntWriter.Write((uint32_t)audio->soundFontTable[i].drums.size()); + 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++) + { + fntWriter.Write(audio->soundFontTable[i].drums[k].releaseRate); + fntWriter.Write(audio->soundFontTable[i].drums[k].pan); + fntWriter.Write(audio->soundFontTable[i].drums[k].loaded); + + WriteEnvData(audio->soundFontTable[i].drums[k].env, &fntWriter); + + WriteSampleEntryReference(audio->soundFontTable[i].drums[k].sample, audio->samples, &fntWriter); + fntWriter.Write(audio->soundFontTable[i].drums[k].tuning); + } + + for (int k = 0; k < audio->soundFontTable[i].instruments.size(); k++) + { + fntWriter.Write((uint8_t)audio->soundFontTable[i].instruments[k].isValidInstrument); + + fntWriter.Write(audio->soundFontTable[i].instruments[k].loaded); + fntWriter.Write(audio->soundFontTable[i].instruments[k].normalRangeLo); + fntWriter.Write(audio->soundFontTable[i].instruments[k].normalRangeHi); + fntWriter.Write(audio->soundFontTable[i].instruments[k].releaseRate); + + WriteEnvData(audio->soundFontTable[i].instruments[k].env, &fntWriter); + + WriteSoundFontEntry(audio->soundFontTable[i].instruments[k].lowNotesSound, audio->samples, &fntWriter); + WriteSoundFontEntry(audio->soundFontTable[i].instruments[k].normalNotesSound, audio->samples, &fntWriter); + WriteSoundFontEntry(audio->soundFontTable[i].instruments[k].highNotesSound, audio->samples, &fntWriter); + } + + for (int k = 0; k < audio->soundFontTable[i].soundEffects.size(); k++) + { + WriteSoundFontEntry(audio->soundFontTable[i].soundEffects[k], audio->samples, &fntWriter); + } + + std::string fName = OTRExporter_DisplayList::GetPathToRes(res, StringHelper::Sprintf("fonts/font_%02X", i)); + AddFile(fName, fntStream->ToVector()); + } + + // Write Sequences + for (int i = 0; i < audio->sequences.size(); i++) + { + auto seq = audio->sequences[i]; + + MemoryStream* seqStream = new MemoryStream(); + BinaryWriter seqWriter = BinaryWriter(seqStream); + + seqWriter.Write((uint8_t)audio->sequenceTable[i].medium); + seqWriter.Write((uint8_t)audio->sequenceTable[i].cachePolicy); + + seqWriter.Write(seq.data(), seq.size()); + + std::string fName = OTRExporter_DisplayList::GetPathToRes(res, StringHelper::Sprintf("sequences/seq_%02X", i)); + AddFile(fName, seqStream->ToVector()); + } +} diff --git a/OTRExporter/OTRExporter/AudioExporter.h b/OTRExporter/OTRExporter/AudioExporter.h new file mode 100644 index 000000000..bd91da67f --- /dev/null +++ b/OTRExporter/OTRExporter/AudioExporter.h @@ -0,0 +1,16 @@ +#pragma once + +#include "ZResource.h" +#include "ZAudio.h" +#include "Exporter.h" +#include <Utils/BinaryWriter.h> + +class OTRExporter_Audio : public OTRExporter +{ +public: + void WriteSampleEntry(SampleEntry* entry, BinaryWriter* writer); + void WriteSampleEntryReference(SampleEntry* entry, std::map<uint32_t, SampleEntry*> samples, BinaryWriter* writer); + void WriteSoundFontEntry(SoundFontEntry* entry, std::map<uint32_t, SampleEntry*> samples, BinaryWriter* writer); + void WriteEnvData(std::vector<AdsrEnvelope*> envelopes, BinaryWriter* writer); + virtual void Save(ZResource* res, const fs::path& outPath, BinaryWriter* writer) override; +};
\ No newline at end of file diff --git a/OTRExporter/OTRExporter/DisplayListExporter.cpp b/OTRExporter/OTRExporter/DisplayListExporter.cpp index d03a06333..ed4694397 100644 --- a/OTRExporter/OTRExporter/DisplayListExporter.cpp +++ b/OTRExporter/OTRExporter/DisplayListExporter.cpp @@ -362,18 +362,7 @@ void OTRExporter_DisplayList::Save(ZResource* res, const fs::path& outPath, Bina BinaryWriter dlWriter = BinaryWriter(dlStream); Save(dList->otherDLists[i], outPath, &dlWriter); - -#ifdef _DEBUG - //if (otrArchive->HasFile(fName)) - //otrArchive->RemoveFile(fName); -#endif - - if (Globals::Instance->fileMode != ZFileMode::ExtractDirectory) - File::WriteAllBytes("Extract/" + fName, dlStream->ToVector()); - else - files[fName] = dlStream->ToVector(); - - //otrArchive->AddFile(fName, (uintptr_t)dlStream->ToVector().data(), dlWriter.GetBaseAddress()); + AddFile(fName, dlStream->ToVector()); } } else @@ -460,10 +449,7 @@ void OTRExporter_DisplayList::Save(ZResource* res, const fs::path& outPath, Bina Save(dList->otherDLists[i], outPath, &dlWriter); - if (Globals::Instance->fileMode != ZFileMode::ExtractDirectory) - File::WriteAllBytes("Extract/" + fName, dlStream->ToVector()); - else - files[fName] = dlStream->ToVector(); + AddFile(fName, dlStream->ToVector()); } } else @@ -827,10 +813,7 @@ void OTRExporter_DisplayList::Save(ZResource* res, const fs::path& outPath, Bina } } - if (Globals::Instance->fileMode != ZFileMode::ExtractDirectory) - File::WriteAllBytes("Extract/" + fName, vtxStream->ToVector()); - else - files[fName] = vtxStream->ToVector(); + AddFile(fName, vtxStream->ToVector()); auto end = std::chrono::steady_clock::now(); size_t diff = std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count(); diff --git a/OTRExporter/OTRExporter/Main.cpp b/OTRExporter/OTRExporter/Main.cpp index 2ed9cb427..e0a5254c5 100644 --- a/OTRExporter/OTRExporter/Main.cpp +++ b/OTRExporter/OTRExporter/Main.cpp @@ -15,6 +15,7 @@ #include "TextExporter.h" #include "BlobExporter.h" #include "MtxExporter.h" +#include "AudioExporter.h" #include <Globals.h> #include <Utils/File.h> #include <Utils/Directory.h> @@ -26,6 +27,7 @@ std::shared_ptr<Ship::Archive> otrArchive; BinaryWriter* fileWriter; std::chrono::steady_clock::time_point fileStart, resStart; std::map<std::string, std::vector<char>> files; +std::mutex fileMutex; void InitVersionInfo(); @@ -45,7 +47,7 @@ static void ExporterParseFileMode(const std::string& buildMode, ZFileMode& fileM if (File::Exists(otrFileName)) otrArchive = std::shared_ptr<Ship::Archive>(new Ship::Archive(otrFileName, true)); else - otrArchive = Ship::Archive::CreateArchive(otrFileName, 65536 / 2); + otrArchive = Ship::Archive::CreateArchive(otrFileName, 40000); auto lst = Directory::ListFiles("Extract"); @@ -62,7 +64,7 @@ static void ExporterProgramEnd() if (Globals::Instance->fileMode == ZFileMode::ExtractDirectory) { printf("Generating OTR Archive...\n"); - otrArchive = Ship::Archive::CreateArchive(otrFileName, 65536 / 2); + otrArchive = Ship::Archive::CreateArchive(otrFileName, 40000); for (auto item : files) { @@ -79,9 +81,9 @@ static void ExporterProgramEnd() otrArchive->AddFile(StringHelper::Split(item, "Extract/")[1], (uintptr_t)fileData.data(), fileData.size()); } - otrArchive->AddFile("Audiobank", (uintptr_t)Globals::Instance->GetBaseromFile("Audiobank").data(), Globals::Instance->GetBaseromFile("Audiobank").size()); - otrArchive->AddFile("Audioseq", (uintptr_t)Globals::Instance->GetBaseromFile("Audioseq").data(), Globals::Instance->GetBaseromFile("Audioseq").size()); - otrArchive->AddFile("Audiotable", (uintptr_t)Globals::Instance->GetBaseromFile("Audiotable").data(), Globals::Instance->GetBaseromFile("Audiotable").size()); + //otrArchive->AddFile("Audiobank", (uintptr_t)Globals::Instance->GetBaseromFile("Audiobank").data(), Globals::Instance->GetBaseromFile("Audiobank").size()); + //otrArchive->AddFile("Audioseq", (uintptr_t)Globals::Instance->GetBaseromFile("Audioseq").data(), Globals::Instance->GetBaseromFile("Audioseq").size()); + //otrArchive->AddFile("Audiotable", (uintptr_t)Globals::Instance->GetBaseromFile("Audiotable").data(), Globals::Instance->GetBaseromFile("Audiotable").size()); } } @@ -158,7 +160,10 @@ static void ExporterResourceEnd(ZResource* res, BinaryWriter& writer) fName = StringHelper::Sprintf("%s/%s", oName.c_str(), rName.c_str()); if (Globals::Instance->fileMode == ZFileMode::ExtractDirectory) + { + std::unique_lock Lock(fileMutex); files[fName] = strem->ToVector(); + } else File::WriteAllBytes("Extract/" + fName, strem->ToVector()); } @@ -178,6 +183,17 @@ static void ExporterXMLEnd() { } +void AddFile(std::string fName, std::vector<char> data) +{ + if (Globals::Instance->fileMode != ZFileMode::ExtractDirectory) + File::WriteAllBytes("Extract/" + fName, data); + else + { + std::unique_lock Lock(fileMutex); + files[fName] = data; + } +} + static void ImportExporters() { // In this example we set up a new exporter called "EXAMPLE". @@ -211,6 +227,7 @@ static void ImportExporters() exporterSet->exporters[ZResourceType::Text] = new OTRExporter_Text(); exporterSet->exporters[ZResourceType::Blob] = new OTRExporter_Blob(); exporterSet->exporters[ZResourceType::Mtx] = new OTRExporter_MtxExporter(); + exporterSet->exporters[ZResourceType::Audio] = new OTRExporter_Audio(); Globals::AddExporter("OTR", exporterSet); diff --git a/OTRExporter/OTRExporter/Main.h b/OTRExporter/OTRExporter/Main.h index af4ada763..df98bfe15 100644 --- a/OTRExporter/OTRExporter/Main.h +++ b/OTRExporter/OTRExporter/Main.h @@ -3,4 +3,6 @@ #include <Archive.h> extern std::shared_ptr<Ship::Archive> otrArchive; -extern std::map<std::string, std::vector<char>> files;
\ No newline at end of file +extern std::map<std::string, std::vector<char>> files; + +void AddFile(std::string fName, std::vector<char> data);
\ No newline at end of file diff --git a/OTRExporter/OTRExporter/OTRExporter.vcxproj b/OTRExporter/OTRExporter/OTRExporter.vcxproj index 4ed7d72e1..9ec691d79 100644 --- a/OTRExporter/OTRExporter/OTRExporter.vcxproj +++ b/OTRExporter/OTRExporter/OTRExporter.vcxproj @@ -20,6 +20,7 @@ </ItemGroup>
<ItemGroup>
<ClInclude Include="ArrayExporter.h" />
+ <ClInclude Include="AudioExporter.h" />
<ClInclude Include="BackgroundExporter.h" />
<ClInclude Include="BlobExporter.h" />
<ClInclude Include="CollisionExporter.h" />
@@ -44,6 +45,7 @@ </ItemGroup>
<ItemGroup>
<ClCompile Include="ArrayExporter.cpp" />
+ <ClCompile Include="AudioExporter.cpp" />
<ClCompile Include="BackgroundExporter.cpp" />
<ClCompile Include="BlobExporter.cpp" />
<ClCompile Include="CollisionExporter.cpp" />
diff --git a/OTRExporter/OTRExporter/OTRExporter.vcxproj.filters b/OTRExporter/OTRExporter/OTRExporter.vcxproj.filters index 8ecc347dc..a8cf56737 100644 --- a/OTRExporter/OTRExporter/OTRExporter.vcxproj.filters +++ b/OTRExporter/OTRExporter/OTRExporter.vcxproj.filters @@ -81,6 +81,9 @@ <ClInclude Include="VersionInfo.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="AudioExporter.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="CollisionExporter.cpp">
@@ -140,5 +143,8 @@ <ClCompile Include="VersionInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="AudioExporter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
</Project>
\ No newline at end of file diff --git a/OTRExporter/OTRExporter/RoomExporter.cpp b/OTRExporter/OTRExporter/RoomExporter.cpp index 9a5704bbc..fe022a691 100644 --- a/OTRExporter/OTRExporter/RoomExporter.cpp +++ b/OTRExporter/OTRExporter/RoomExporter.cpp @@ -453,13 +453,7 @@ void OTRExporter_Room::Save(ZResource* res, const fs::path& outPath, BinaryWrite OTRExporter_Cutscene cs; cs.Save(cmdSetCutscenes->cutscenes[0], "", &csWriter); - if (Globals::Instance->fileMode != ZFileMode::ExtractDirectory) - File::WriteAllBytes("Extract/" + fName, csStream->ToVector()); - else - files[fName] = csStream->ToVector(); - - //std::string fName = OTRExporter_DisplayList::GetPathToRes(res, vtxDecl->varName); - //otrArchive->AddFile(fName, (uintptr_t)csStream->ToVector().data(), csWriter.GetBaseAddress()); + AddFile(fName, csStream->ToVector()); } break; case RoomCommand::SetPathways: @@ -480,14 +474,7 @@ void OTRExporter_Room::Save(ZResource* res, const fs::path& outPath, BinaryWrite OTRExporter_Path pathExp; pathExp.Save(&cmdSetPathways->pathwayList, outPath, &pathWriter); - if (Globals::Instance->fileMode != ZFileMode::ExtractDirectory) - File::WriteAllBytes("Extract/" + path, pathStream->ToVector()); - else - files[path] = pathStream->ToVector(); - - //otrArchive->AddFile(path, (uintptr_t)pathStream->ToVector().data(), pathWriter.GetBaseAddress()); - - int bp = 0; + AddFile(path, pathStream->ToVector()); } } break; diff --git a/ZAPDTR/ZAPD/Main.cpp b/ZAPDTR/ZAPD/Main.cpp index 65a65fea6..a9f70eed5 100644 --- a/ZAPDTR/ZAPD/Main.cpp +++ b/ZAPDTR/ZAPD/Main.cpp @@ -39,7 +39,7 @@ extern "C" void Audio_SetGameVolume(int player_id, float volume) extern "C" int ResourceMgr_OTRSigCheck(char* imgData) { - + return 0; } void DebugConsole_SaveCVars() diff --git a/ZAPDTR/ZAPD/ZAPD.vcxproj b/ZAPDTR/ZAPD/ZAPD.vcxproj index 91ff515a2..940d3b2ed 100644 --- a/ZAPDTR/ZAPD/ZAPD.vcxproj +++ b/ZAPDTR/ZAPD/ZAPD.vcxproj @@ -195,6 +195,8 @@ <ClCompile Include="WarningHandler.cpp" /> <ClCompile Include="yaz0\yaz0.cpp" /> <ClCompile Include="ZArray.cpp" /> + <ClCompile Include="ZAudio.cpp" /> + <ClCompile Include="ZAudioDecode.cpp" /> <ClCompile Include="ZBackground.cpp" /> <ClCompile Include="ZCutsceneMM.cpp" /> <ClCompile Include="ZLimb.cpp" /> @@ -288,6 +290,7 @@ <ClInclude Include="yaz0\yaz0.h" /> <ClInclude Include="ZAnimation.h" /> <ClInclude Include="ZArray.h" /> + <ClInclude Include="ZAudio.h" /> <ClInclude Include="ZBackground.h" /> <ClInclude Include="ZBlob.h" /> <ClInclude Include="ZCollision.h" /> diff --git a/ZAPDTR/ZAPD/ZAPD.vcxproj.filters b/ZAPDTR/ZAPD/ZAPD.vcxproj.filters index c122b7e56..82fa8acb2 100644 --- a/ZAPDTR/ZAPD/ZAPD.vcxproj.filters +++ b/ZAPDTR/ZAPD/ZAPD.vcxproj.filters @@ -297,6 +297,12 @@ <ClCompile Include="FileWorker.cpp"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="ZAudio.cpp"> + <Filter>Source Files\Z64</Filter> + </ClCompile> + <ClCompile Include="ZAudioDecode.cpp"> + <Filter>Source Files\Z64</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="ZRoom\ZRoom.h"> @@ -569,6 +575,9 @@ <ClInclude Include="ctpl_stl.h"> <Filter>Header Files\Libraries</Filter> </ClInclude> + <ClInclude Include="ZAudio.h"> + <Filter>Header Files\Z64</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <Text Include="..\SymbolMap_OoTMqDbg.txt"> diff --git a/ZAPDTR/ZAPD/ZAudio.cpp b/ZAPDTR/ZAPD/ZAudio.cpp new file mode 100644 index 000000000..1c24c824a --- /dev/null +++ b/ZAPDTR/ZAPD/ZAudio.cpp @@ -0,0 +1,325 @@ +#include "ZAudio.h" + +#include "Globals.h" +#include "Utils/BitConverter.h" +#include "Utils/File.h" +#include "Utils/Path.h" +#include "Utils/StringHelper.h" +#include "ZFile.h" + +REGISTER_ZFILENODE(Audio, ZAudio); + +ZAudio::ZAudio(ZFile* nParent) : ZResource(nParent) +{ + //RegisterRequiredAttribute("CodeOffset"); + //RegisterOptionalAttribute("LangOffset", "0"); +} + +void ZAudio::DecodeADPCMSample(SampleEntry* sample) +{ + int16_t buffer[1024 * 128]; + + int16_t* out = &buffer[0]; +} + +std::vector<AdsrEnvelope*> ZAudio::ParseEnvelopeData(std::vector<uint8_t> audioBank, std::vector<uint8_t> audioTable, int envelopeOffset, int baseOffset) +{ + std::vector<AdsrEnvelope*> result; + + //bool process = true; + + //for (int i = 0; i < 4; i++) + while (true) + { + AdsrEnvelope* env = new AdsrEnvelope(); + + env->delay = BitConverter::ToInt16BE(audioBank, envelopeOffset + 0); + env->arg = BitConverter::ToInt16BE(audioBank, envelopeOffset + 2); + + envelopeOffset += 4; + + result.push_back(env); + + if (env->delay < 0) + break; + } + + return result; +} + +SoundFontEntry* ZAudio::ParseSoundFontEntry(std::vector<uint8_t> audioBank, + std::vector<uint8_t> audioTable, + AudioTableEntry audioSampleBankEntry, + int soundFontOffset, + int baseOffset) +{ + SoundFontEntry* soundFont = new SoundFontEntry(); + soundFont->sampleEntry = ParseSampleEntry( + audioBank, audioTable, audioSampleBankEntry, + BitConverter::ToInt32BE(audioBank, soundFontOffset + 0) + baseOffset, baseOffset); + soundFont->tuning = BitConverter::ToFloatBE(audioBank, soundFontOffset + 4); + + return soundFont; +} + +SampleEntry* ZAudio::ParseSampleEntry(std::vector<uint8_t> audioBank, + std::vector<uint8_t> audioTable, + AudioTableEntry audioSampleBankEntry, + int sampleOffset, + int baseOffset) +{ + int sampleDataOffset = BitConverter::ToInt32BE(audioBank, sampleOffset + 4) + audioSampleBankEntry.ptr; + + if (samples.find(sampleOffset) == samples.end()) + { + SampleEntry* sample = new SampleEntry(); + + int sampleSize = BitConverter::ToInt32BE(audioBank, sampleOffset + 0) & 0x00FFFFFF; + int loopOffset = BitConverter::ToInt32BE(audioBank, sampleOffset + 8) + baseOffset; + int bookOffset = BitConverter::ToInt32BE(audioBank, sampleOffset + 12) + baseOffset; + + char* sampleData = (char*)malloc(sampleSize); + memcpy(sampleData, audioTable.data() + sampleDataOffset, sampleSize); + sample->data = std::vector<uint8_t>(sampleSize); + memcpy(sample->data.data(), sampleData, sampleSize); + + uint32_t origField = (BitConverter::ToUInt32BE(audioBank, sampleOffset + 0)); + sample->codec = (origField >> 28) & 0x0F; + sample->medium = (origField >> 24) & 0x03; + sample->unk_bit26 = (origField >> 22) & 0x01; + sample->unk_bit25 = (origField >> 21) & 0x01; + + sample->loop.start = BitConverter::ToInt32BE(audioBank, loopOffset + 0); + sample->loop.end = BitConverter::ToInt32BE(audioBank, loopOffset + 4); + sample->loop.count = BitConverter::ToInt32BE(audioBank, loopOffset + 8); + + if (sample->loop.count != 0xFFFFFFFF) + { + for (int i = 0; i < sample->loop.count; i++) + { + int16_t state = BitConverter::ToInt16BE(sample->data, loopOffset + 16 + (i * 2)); + sample->loop.states.push_back(state); + } + } + + sample->book.order = BitConverter::ToInt32BE(audioBank, bookOffset + 0); + sample->book.npredictors = BitConverter::ToInt32BE(audioBank, bookOffset + 4); + + for (int i = 0; i < sample->book.npredictors * sample->book.order * 8; i++) + { + sample->book.books.push_back( + BitConverter::ToInt16BE(audioBank, bookOffset + 8 + (i * 2))); + } + + samples[sampleOffset] = sample; + + return sample; + } + else + { + return samples[sampleOffset]; + } +} + +std::vector<AudioTableEntry> ZAudio::ParseAudioTable(std::vector<uint8_t> codeData, int baseOffset) +{ + std::vector<AudioTableEntry> entries; + + int numEntries = BitConverter::ToInt16BE(codeData, baseOffset + 0); + int romAddr = BitConverter::ToInt16BE(codeData, baseOffset + 4); + + int currentOffset = baseOffset + 16; + + for (int i = 0; i < numEntries; i++) + { + AudioTableEntry entry; + + entry.ptr = BitConverter::ToInt32BE(codeData, currentOffset + 0); + entry.size = BitConverter::ToInt32BE(codeData, currentOffset + 4); + entry.medium = codeData[currentOffset + 8]; + entry.cachePolicy = codeData[currentOffset + 9]; + entry.data1 = BitConverter::ToInt16BE(codeData, currentOffset + 10); + entry.data2 = BitConverter::ToInt16BE(codeData, currentOffset + 12); + entry.data3 = BitConverter::ToInt16BE(codeData, currentOffset + 14); + + entries.push_back(entry); + + currentOffset += 16; + } + + return entries; +} + +void ZAudio::ParseSoundFont(std::vector<uint8_t> codeData, std::vector<uint8_t> audioTable, + std::vector<AudioTableEntry> audioSampleBank, + AudioTableEntry& entry) +{ + int ptr = entry.ptr; + int size = entry.size; + int sampleBankId1 = (entry.data1 >> 8) & 0xFF; + int sampleBankId2 = (entry.data1) & 0xFF; + int numInstruments = (entry.data2 >> 8) & 0xFF; + int numDrums = entry.data2 & 0xFF; + int numSfx = entry.data3; + + int currentOffset = BitConverter::ToInt32BE(codeData, ptr) + ptr; + for (int i = 0; i < numDrums; i++) + { + DrumEntry drum; + + int samplePtr = BitConverter::ToInt32BE(codeData, currentOffset); + + if (samplePtr != 0) + { + samplePtr += ptr; + + drum.sample = ParseSampleEntry(codeData, audioTable, audioSampleBank[sampleBankId1], + BitConverter::ToInt32BE(codeData, samplePtr + 4) + ptr, ptr); + + drum.releaseRate = codeData[samplePtr + 0]; + drum.pan = codeData[samplePtr + 1]; + drum.loaded = codeData[samplePtr + 2]; + drum.tuning = BitConverter::ToFloatBE(codeData, samplePtr + 8); + + //int sampleDefOffset = BitConverter::ToInt32BE(codeData, samplePtr + 4); + drum.env = ParseEnvelopeData(codeData, audioTable, BitConverter::ToInt32BE(codeData, samplePtr + 12) + ptr, ptr); + } + + entry.drums.push_back(drum); + + currentOffset += 4; + } + + currentOffset = BitConverter::ToInt32BE(codeData, ptr + 4) + ptr; + for (int i = 0; i < numSfx; i++) + { + SoundFontEntry* sfx; + sfx = ParseSoundFontEntry(codeData, audioTable, audioSampleBank[sampleBankId1], + currentOffset, ptr); + entry.soundEffects.push_back(sfx); + + currentOffset += 8; + } + + for (int i = 0; i < numInstruments; i++) + { + InstrumentEntry instrument; + + currentOffset = BitConverter::ToInt32BE(codeData, ptr + 8 + (i * 4)); + + instrument.isValidInstrument = currentOffset != 0; + + if (currentOffset != 0) + { + currentOffset += ptr; + + instrument.loaded = codeData[currentOffset + 0]; + instrument.normalRangeLo = codeData[currentOffset + 1]; + instrument.normalRangeHi = codeData[currentOffset + 2]; + instrument.releaseRate = codeData[currentOffset + 3]; + instrument.env = ParseEnvelopeData(codeData, audioTable, BitConverter::ToInt32BE(codeData, currentOffset + 4) + ptr, ptr); + + if (BitConverter::ToInt32BE(codeData, currentOffset + 8) != 0) + instrument.lowNotesSound = ParseSoundFontEntry( + codeData, audioTable, audioSampleBank[sampleBankId1], currentOffset + 8, ptr); + + if (BitConverter::ToInt32BE(codeData, currentOffset + 16) != 0) + instrument.normalNotesSound = ParseSoundFontEntry( + codeData, audioTable, audioSampleBank[sampleBankId1], currentOffset + 16, ptr); + + if (BitConverter::ToInt32BE(codeData, currentOffset + 24) != 0 && + instrument.normalRangeHi != 0x7F) + instrument.highNotesSound = ParseSoundFontEntry( + codeData, audioTable, audioSampleBank[sampleBankId1], currentOffset + 24, ptr); + } + + entry.instruments.push_back(instrument); + } +} + +void ZAudio::ParseRawData() +{ + ZResource::ParseRawData(); + + std::vector<uint8_t> codeData; + std::vector<uint8_t> audioTableData; + std::vector<uint8_t> audioBankData; + std::vector<uint8_t> audioSeqData; + + if (Globals::Instance->fileMode == ZFileMode::ExtractDirectory) + codeData = Globals::Instance->GetBaseromFile("code"); + else + codeData = Globals::Instance->GetBaseromFile(Globals::Instance->baseRomPath.string() + "code"); + + if (Globals::Instance->fileMode == ZFileMode::ExtractDirectory) + audioTableData = Globals::Instance->GetBaseromFile("Audiotable"); + else + audioTableData = Globals::Instance->GetBaseromFile(Globals::Instance->baseRomPath.string() + "Audiotable"); + + if (Globals::Instance->fileMode == ZFileMode::ExtractDirectory) + audioBankData = Globals::Instance->GetBaseromFile("Audiobank"); + else + audioBankData = Globals::Instance->GetBaseromFile(Globals::Instance->baseRomPath.string() + "Audiobank"); + + if (Globals::Instance->fileMode == ZFileMode::ExtractDirectory) + audioSeqData = Globals::Instance->GetBaseromFile("Audioseq"); + else + audioSeqData = Globals::Instance->GetBaseromFile(Globals::Instance->baseRomPath.string() + + "Audioseq"); + + // TABLE PARSING + //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 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 + soundFontTable = ParseAudioTable(codeData, gSoundFontTableOffset); + sequenceTable = ParseAudioTable(codeData, gSequenceTableOffset); + sampleBankTable = ParseAudioTable(codeData, gSampleBankTableOffset); + // int gSequenceFontTableOffset = 0x1384E0; // OTRTODO: Make this an XML Param + + + // SAMPLE/FONT PARSING + for (int i = 0; i < soundFontTable.size(); i++) + { + ParseSoundFont(audioBankData, audioTableData, sampleBankTable, soundFontTable[i]); + } + + + // SOUNDBANK PARSING + /*for (int i = 0; i < sampleBankTable.size(); i++) + { + + }*/ + + // SEQUENCE PARSING + for (int i = 0; i < sequenceTable.size(); i++) + { + int seqDestIdx = i; + + if (sequenceTable[i].size == 0) + seqDestIdx = sequenceTable[i].ptr; + + std::vector<char> seqVec = std::vector<char>(sequenceTable[seqDestIdx].size); + memcpy(seqVec.data(), audioSeqData.data() + sequenceTable[seqDestIdx].ptr, + sequenceTable[seqDestIdx].size); + + sequences.push_back(seqVec); + } +} + +std::string ZAudio::GetSourceTypeName() const +{ + return "u8"; +} + +size_t ZAudio::GetRawDataSize() const +{ + return 1; +} + +ZResourceType ZAudio::GetResourceType() const +{ + return ZResourceType::Audio; +} diff --git a/ZAPDTR/ZAPD/ZAudio.h b/ZAPDTR/ZAPD/ZAudio.h new file mode 100644 index 000000000..a7c88410f --- /dev/null +++ b/ZAPDTR/ZAPD/ZAudio.h @@ -0,0 +1,122 @@ +#pragma once + +#include "ZResource.h" +#include "tinyxml2.h" + +struct AdsrEnvelope +{ + int16_t delay; + int16_t arg; +}; + +struct AdpcmBook +{ + /* 0x00 */ int32_t order; + /* 0x04 */ int32_t npredictors; + /* 0x08 */ std::vector<int16_t> books; // size 8 * order * npredictors. 8-byte aligned +}; + +struct AdpcmLoop +{ + /* 0x00 */ uint32_t start; + /* 0x04 */ uint32_t end; + /* 0x08 */ uint32_t count; + ///* 0x10 */ int16_t state[16]; // only exists if count != 0. 8-byte aligned + /* 0x10 */ std::vector<int16_t> states; +}; + +struct SampleEntry +{ + uint8_t codec; + uint8_t medium; + uint8_t unk_bit26; + uint8_t unk_bit25; + + std::vector<uint8_t> data; + AdpcmLoop loop; + AdpcmBook book; +}; + +struct SoundFontEntry +{ + SampleEntry* sampleEntry = nullptr; + float tuning; +}; + +struct DrumEntry +{ + uint8_t releaseRate; + uint8_t pan; + uint8_t loaded; + uint32_t offset; + float tuning; + std::vector<AdsrEnvelope*> env; + //AdsrEnvelope* env = nullptr; + SampleEntry* sample = nullptr; +}; + +struct InstrumentEntry +{ + bool isValidInstrument; + uint8_t loaded; + uint8_t normalRangeLo; + uint8_t normalRangeHi; + uint8_t releaseRate; + std::vector<AdsrEnvelope*> env; + //AdsrEnvelope* env = nullptr; + SoundFontEntry* lowNotesSound = nullptr; + SoundFontEntry* normalNotesSound = nullptr; + SoundFontEntry* highNotesSound = nullptr; +}; + +struct AudioTableEntry +{ + uint32_t ptr; + uint32_t size; + uint8_t medium; + uint8_t cachePolicy; + uint16_t data1; + uint16_t data2; + uint16_t data3; + + std::vector<DrumEntry> drums; + std::vector<SoundFontEntry*> soundEffects; + std::vector<InstrumentEntry> instruments; +}; + +class ZAudio : public ZResource +{ +public: + std::vector<AudioTableEntry> soundFontTable; + std::vector<AudioTableEntry> sequenceTable; + std::vector<AudioTableEntry> sampleBankTable; + std::vector<std::vector<char>> sequences; + std::map<uint32_t, SampleEntry*> samples; + + ZAudio(ZFile* nParent); + + void DecodeADPCMSample(SampleEntry* sample); + std::vector<AdsrEnvelope*> ParseEnvelopeData(std::vector<uint8_t> audioBank, std::vector<uint8_t> audioTable, + int envelopeOffset, int baseOffset); + + SoundFontEntry* ParseSoundFontEntry(std::vector<uint8_t> audioBank, + std::vector<uint8_t> audioTable, + AudioTableEntry audioSampleBankEntry, + int soundFontOffset, + int baseOffset); + + SampleEntry* ParseSampleEntry(std::vector<uint8_t> audioBank, std::vector<uint8_t> audioTable, + AudioTableEntry audioSampleBankEntry, + int sampleOffset, int baseOffset); + + std::vector<AudioTableEntry> ParseAudioTable(std::vector<uint8_t> codeData, int baseOffset); + void ParseSoundFont(std::vector<uint8_t> codeData, std::vector<uint8_t> audioTable, + std::vector<AudioTableEntry> audioSampleBank, AudioTableEntry& entry); + + void ParseRawData() override; + + std::string GetSourceTypeName() const override; + ZResourceType GetResourceType() const override; + + size_t GetRawDataSize() const override; +}; diff --git a/ZAPDTR/ZAPD/ZAudioDecode.cpp b/ZAPDTR/ZAPD/ZAudioDecode.cpp new file mode 100644 index 000000000..b8b066474 --- /dev/null +++ b/ZAPDTR/ZAPD/ZAudioDecode.cpp @@ -0,0 +1,669 @@ +/** + * Bruteforcing decoder for converting ADPCM-encoded AIFC into AIFF, in a way + * that roundtrips with vadpcm_enc. + */ +#include <assert.h> +#include <math.h> +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +//#include <unistd.h> + +typedef signed char s8; +typedef short s16; +typedef int s32; +typedef long long s64; +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; +typedef unsigned long long u64; +typedef float f32; +typedef double f64; + +#ifdef _MSC_VER +#define __builtin_bswap16 _byteswap_ushort +#define __builtin_bswap32 _byteswap_ulong +#endif + +#define bswap16(x) __builtin_bswap16(x) +#define bswap32(x) __builtin_bswap32(x) +#define BSWAP16(x) x = __builtin_bswap16(x) +#define BSWAP32(x) x = __builtin_bswap32(x) +#define BSWAP16_MANY(x, n) \ + for (s32 _i = 0; _i < n; _i++) \ + BSWAP16((x)[_i]) + +#define NORETURN __attribute__((noreturn)) +#define UNUSED __attribute__((unused)) + +typedef struct +{ + u32 ckID; + u32 ckSize; +} ChunkHeader; + +typedef struct +{ + u32 ckID; + u32 ckSize; + u32 formType; +} Chunk; + +typedef struct +{ + s16 numChannels; + u16 numFramesH; + u16 numFramesL; + s16 sampleSize; + s16 sampleRate[5]; // 80-bit float + u16 compressionTypeH; + u16 compressionTypeL; +} CommonChunk; + +typedef struct +{ + s16 MarkerID; + u16 positionH; + u16 positionL; +} Marker; + +typedef struct +{ + s16 playMode; + s16 beginLoop; + s16 endLoop; +} Loop; + +typedef struct +{ + s8 baseNote; + s8 detune; + s8 lowNote; + s8 highNote; + s8 lowVelocity; + s8 highVelocity; + s16 gain; + Loop sustainLoop; + Loop releaseLoop; +} InstrumentChunk; + +typedef struct +{ + s32 offset; + s32 blockSize; +} SoundDataChunk; + +typedef struct +{ + s16 version; + s16 order; + s16 nEntries; +} CodeChunk; + +typedef struct +{ + u32 start; + u32 end; + u32 count; + s16 state[16]; +} ALADPCMloop; + +static char usage[] = "input.aifc output.aiff"; +static const char *progname, *infilename; +static int framesize = 9; + +void fail_parse(const char* fmt, ...) +{ + char* formatted = NULL; + va_list ap; + va_start(ap, fmt); + int size = vsnprintf(NULL, 0, fmt, ap); + va_end(ap); + if (size >= 0) + { + size++; + formatted = (char*)malloc(size); + if (formatted != NULL) + { + va_start(ap, fmt); + size = vsnprintf(formatted, size, fmt, ap); + va_end(ap); + if (size < 0) + { + free(formatted); + formatted = NULL; + } + } + } + + if (formatted != NULL) + { + fprintf(stderr, "%s: %s [%s]\n", progname, formatted, infilename); + free(formatted); + } + exit(1); +} + + +s32 myrand() +{ + static u64 state = 1619236481962341ULL; + state *= 3123692312237ULL; + state += 1; + return state >> 33; +} + +s16 qsample(f32 x, s32 scale) +{ + if (x > 0.0f) + { + return (s16)((x / scale) + 0.4999999); + } + else + { + return (s16)((x / scale) - 0.4999999); + } +} + +void clamp_to_s16(f32* in, s32* out) +{ + f32 llevel = -0x8000; + f32 ulevel = 0x7fff; + + for (s32 i = 0; i < 16; i++) + { + if (in[i] > ulevel) + in[i] = ulevel; + if (in[i] < llevel) + in[i] = llevel; + + if (in[i] > 0.0f) + { + out[i] = (s32)(in[i] + 0.5); + } + else + { + out[i] = (s32)(in[i] - 0.5); + } + } +} + +s16 clamp_bits(s32 x, s32 bits) +{ + s32 lim = 1 << (bits - 1); + if (x < -lim) + return -lim; + if (x > lim - 1) + return lim - 1; + return x; +} + +s32 readaifccodebook(FILE* fhandle, s32**** table, s16* order, s16* npredictors) +{ + BSWAP16(*order); + BSWAP16(*npredictors); + *table = (s32***)malloc(*npredictors * sizeof(s32**)); + for (s32 i = 0; i < *npredictors; i++) + { + (*table)[i] = (s32**)malloc(8 * sizeof(s32*)); + for (s32 j = 0; j < 8; j++) + { + (*table)[i][j] = (s32*)malloc((*order + 8) * sizeof(s32)); + } + } + + for (s32 i = 0; i < *npredictors; i++) + { + s32** table_entry = (*table)[i]; + for (s32 j = 0; j < *order; j++) + { + for (s32 k = 0; k < 8; k++) + { + s16 ts = 0; + BSWAP16(ts); + table_entry[k][j] = ts; + } + } + + for (s32 k = 1; k < 8; k++) + { + table_entry[k][*order] = table_entry[k - 1][*order - 1]; + } + + table_entry[0][*order] = 1 << 11; + + for (s32 k = 1; k < 8; k++) + { + s32 j = 0; + for (; j < k; j++) + { + table_entry[j][k + *order] = 0; + } + + for (; j < 8; j++) + { + table_entry[j][k + *order] = table_entry[j - k][*order]; + } + } + } + return 0; +} + +ALADPCMloop* readlooppoints(FILE* ifile, s16* nloops) +{ + BSWAP16(*nloops); + ALADPCMloop* al = (ALADPCMloop*)malloc(*nloops * sizeof(ALADPCMloop)); + for (s32 i = 0; i < *nloops; i++) + { + BSWAP32(al[i].start); + BSWAP32(al[i].end); + BSWAP32(al[i].count); + BSWAP16_MANY(al[i].state, 16); + } + return al; +} + +s32 inner_product(s32 length, s32* v1, s32* v2) +{ + s32 out = 0; + for (s32 i = 0; i < length; i++) + { + out += v1[i] * v2[i]; + } + + // Compute "out / 2^11", rounded down. + s32 dout = out / (1 << 11); + s32 fiout = dout * (1 << 11); + return dout - (out - fiout < 0); +} + +void my_decodeframe(u8* frame, s32* decompressed, s32* state, s32 order, s32*** coefTable) +{ + s32 ix[16]; + + u8 header = frame[0]; + s32 scale = 1 << (header >> 4); + s32 optimalp = header & 0xf; + + if (framesize == 5) + { + for (s32 i = 0; i < 16; i += 4) + { + u8 c = frame[1 + i / 4]; + ix[i] = c >> 6; + ix[i + 1] = (c >> 4) & 0x3; + ix[i + 2] = (c >> 2) & 0x3; + ix[i + 3] = c & 0x3; + } + } + else + { + for (s32 i = 0; i < 16; i += 2) + { + u8 c = frame[1 + i / 2]; + ix[i] = c >> 4; + ix[i + 1] = c & 0xf; + } + } + + for (s32 i = 0; i < 16; i++) + { + if (framesize == 5) + { + if (ix[i] >= 2) + ix[i] -= 4; + } + else + { + if (ix[i] >= 8) + ix[i] -= 16; + } + decompressed[i] = ix[i]; + ix[i] *= scale; + } + + for (s32 j = 0; j < 2; j++) + { + s32 in_vec[16]; + if (j == 0) + { + for (s32 i = 0; i < order; i++) + { + in_vec[i] = state[16 - order + i]; + } + } + else + { + for (s32 i = 0; i < order; i++) + { + in_vec[i] = state[8 - order + i]; + } + } + + for (s32 i = 0; i < 8; i++) + { + s32 ind = j * 8 + i; + in_vec[order + i] = ix[ind]; + state[ind] = inner_product(order + i, coefTable[optimalp][i], in_vec) + ix[ind]; + } + } +} + +void get_bounds(s32* in, s32* decompressed, s32 scale, s32* minVals, s32* maxVals) +{ + s32 minv, maxv; + if (framesize == 9) + { + minv = -8; + maxv = 7; + } + else + { + minv = -2; + maxv = 1; + } + for (s32 i = 0; i < 16; i++) + { + s32 lo = in[i] - scale / 2; + s32 hi = in[i] + scale / 2; + lo -= scale; + hi += scale; + if (decompressed[i] == minv) + lo -= scale; + else if (decompressed[i] == maxv) + hi += scale; + minVals[i] = lo; + maxVals[i] = hi; + } +} + +void write_header(FILE* ofile, const char* id, s32 size) +{ + fwrite(id, 4, 1, ofile); + BSWAP32(size); + fwrite(&size, sizeof(s32), 1, ofile); +} + +char* OldMain(char* infilename) +{ + s16 order = -1; + s16 nloops = 0; + ALADPCMloop* aloops = NULL; + s16 npredictors = -1; + s32*** coefTable = NULL; + s32 state[16]; + s32 decompressed[16]; + s32 soundPointer = -1; + s32 currPos = 0; + s32 nSamples = 0; + Chunk FormChunk = Chunk(); + ChunkHeader Header = ChunkHeader(); + CommonChunk CommChunk = CommonChunk(); + InstrumentChunk InstChunk; + SoundDataChunk SndDChunk = SoundDataChunk(); + FILE* ifile = NULL; + FILE* ofile = NULL; + + if ((ifile = fopen(infilename, "rb")) == NULL) + { + fail_parse("AIFF-C file could not be opened"); + exit(1); + } + + memset(&InstChunk, 0, sizeof(InstChunk)); + + BSWAP32(FormChunk.ckID); + BSWAP32(FormChunk.formType); + if ((FormChunk.ckID != 0x464f524d) || (FormChunk.formType != 0x41494643)) + { // FORM, AIFC + fail_parse("not an AIFF-C file"); + } + + for (;;) + { + s32 num = fread(&Header, sizeof(Header), 1, ifile); + u32 ts = 0; + + if (num <= 0) + break; + + BSWAP32(Header.ckID); + BSWAP32(Header.ckSize); + + Header.ckSize++; + Header.ckSize &= ~1; + s32 offset = ftell(ifile); + + switch (Header.ckID) + { + case 0x434f4d4d: // COMM + { + BSWAP16(CommChunk.numChannels); + BSWAP16(CommChunk.numFramesH); + BSWAP16(CommChunk.numFramesL); + BSWAP16(CommChunk.sampleSize); + BSWAP16(CommChunk.compressionTypeH); + BSWAP16(CommChunk.compressionTypeL); + s32 cType = (CommChunk.compressionTypeH << 16) + CommChunk.compressionTypeL; + if (cType == 0x56415043 || cType == 0x41445039) + { // VAPC or ADP9 + framesize = 9; + } + else if (cType == 0x41445035) + { // ADP5 + framesize = 5; + } + else if (cType == 0x4850434d) + { // HPCM + framesize = 16; + } + else + { + char comprType[5] = { + CommChunk.compressionTypeH >> 8, CommChunk.compressionTypeH & 0xFF, + CommChunk.compressionTypeL >> 8, CommChunk.compressionTypeL & 0xFF, 0}; + fail_parse("file is of the wrong compression type [got %s (%08x)]", &comprType, + cType); + } + if (CommChunk.numChannels != 1) + { + fail_parse("file contains %d channels, only 1 channel supported", + CommChunk.numChannels); + } + if (CommChunk.sampleSize != 16) + { + fail_parse("file contains %d bit samples, only 16 bit samples supported", + CommChunk.sampleSize); + } + + nSamples = (CommChunk.numFramesH << 16) + CommChunk.numFramesL; + + // Allow broken input lengths + if (nSamples % 16) + { + nSamples -= (nSamples % 16); + } + + if (nSamples % 16 != 0) + { + fail_parse("number of chunks must be a multiple of 16, found %d with remainder %d", + nSamples, nSamples % 16); + } + } + break; + + case 0x53534e44: // SSND + BSWAP32(SndDChunk.offset); + BSWAP32(SndDChunk.blockSize); + assert(SndDChunk.offset == 0); + assert(SndDChunk.blockSize == 0); + soundPointer = ftell(ifile); + break; + + case 0x4150504c: // APPL + BSWAP32(ts); + if (ts == 0x73746f63) + { // stoc + u8 len = 0; + if (len == 11) + { + char ChunkName[12]; + s16 version; + ChunkName[11] = '\0'; + if (strcmp("VADPCMCODES", ChunkName) == 0) + { + BSWAP16(version); + if (version != 1) + { + fail_parse("Unknown codebook chunk version"); + } + readaifccodebook(ifile, &coefTable, &order, &npredictors); + } + else if (strcmp("VADPCMLOOPS", ChunkName) == 0) + { + BSWAP16(version); + if (version != 1) + { + fail_parse("Unknown loop chunk version"); + } + aloops = readlooppoints(ifile, &nloops); + if (nloops != 1) + { + fail_parse("Only a single loop supported"); + } + } + } + } + break; + } + + fseek(ifile, offset + Header.ckSize, SEEK_SET); + } + + if (coefTable == NULL) + { + fail_parse("Codebook missing from bitstream"); + } + + for (s32 i = 0; i < order; i++) + { + state[15 - i] = 0; + } + + u32 outputBytes = nSamples * sizeof(s16); + u8* outputBuf = (u8*)malloc(outputBytes); + + fseek(ifile, soundPointer, SEEK_SET); + s32 fails = 0; + while (currPos < nSamples) + { + u8 input[9]; + u8 encoded[9]; + s32 lastState[16]; + s32 decoded[16]; + s16 guess[16]; + s16 origGuess[16]; + + memcpy(lastState, state, sizeof(state)); + + // Decode for real + my_decodeframe(input, decompressed, state, order, coefTable); + memcpy(decoded, state, sizeof(state)); + + // Create a guess from that, by clamping to 16 bits + for (s32 i = 0; i < 16; i++) + { + origGuess[i] = clamp_bits(state[i], 16); + } + + memcpy(state, decoded, sizeof(state)); + memcpy(outputBuf + currPos * 2, decoded, sizeof(decoded)); + currPos += 16; + } + if (fails) + { + fprintf(stderr, "%s %d\n", infilename, fails); + } + + // Write an incomplete file header. We'll fill in the size later. + fwrite("FORM\0\0\0\0AIFF", 12, 1, ofile); + + // Subtract 4 from the COMM size to skip the compression field. + write_header(ofile, "COMM", sizeof(CommonChunk) - 4); + CommChunk.numFramesH = nSamples >> 16; + CommChunk.numFramesL = nSamples & 0xffff; + BSWAP16(CommChunk.numChannels); + BSWAP16(CommChunk.numFramesH); + BSWAP16(CommChunk.numFramesL); + BSWAP16(CommChunk.sampleSize); + fwrite(&CommChunk, sizeof(CommonChunk) - 4, 1, ofile); + + if (nloops > 0) + { + s32 startPos = aloops[0].start, endPos = aloops[0].end; + const char* markerNames[2] = {"start", "end"}; + Marker markers[2] = {{1, startPos >> 16, startPos & 0xffff}, + {2, endPos >> 16, endPos & 0xffff}}; + write_header(ofile, "MARK", 2 + 2 * sizeof(Marker) + 1 + 5 + 1 + 3); + s16 numMarkers = bswap16(2); + fwrite(&numMarkers, sizeof(s16), 1, ofile); + for (s32 i = 0; i < 2; i++) + { + u8 len = (u8)strlen(markerNames[i]); + BSWAP16(markers[i].MarkerID); + BSWAP16(markers[i].positionH); + BSWAP16(markers[i].positionL); + fwrite(&markers[i], sizeof(Marker), 1, ofile); + fwrite(&len, 1, 1, ofile); + fwrite(markerNames[i], len, 1, ofile); + } + + write_header(ofile, "INST", sizeof(InstrumentChunk)); + InstChunk.sustainLoop.playMode = bswap16(1); + InstChunk.sustainLoop.beginLoop = bswap16(1); + InstChunk.sustainLoop.endLoop = bswap16(2); + InstChunk.releaseLoop.playMode = 0; + InstChunk.releaseLoop.beginLoop = 0; + InstChunk.releaseLoop.endLoop = 0; + fwrite(&InstChunk, sizeof(InstrumentChunk), 1, ofile); + } + + // Save the coefficient table for use when encoding. Ideally this wouldn't + // be needed and "tabledesign -s 1" would generate the right table, but in + // practice it's difficult to adjust samples to make that happen. + write_header(ofile, "APPL", 4 + 12 + sizeof(CodeChunk) + npredictors * order * 8 * 2); + fwrite("stoc", 4, 1, ofile); + CodeChunk cChunk; + cChunk.version = bswap16(1); + cChunk.order = bswap16(order); + cChunk.nEntries = bswap16(npredictors); + fwrite("\x0bVADPCMCODES", 12, 1, ofile); + fwrite(&cChunk, sizeof(CodeChunk), 1, ofile); + for (s32 i = 0; i < npredictors; i++) + { + for (s32 j = 0; j < order; j++) + { + for (s32 k = 0; k < 8; k++) + { + s16 ts = bswap16(coefTable[i][k][j]); + fwrite(&ts, sizeof(s16), 1, ofile); + } + } + } + + write_header(ofile, "SSND", outputBytes + 8); + SndDChunk.offset = 0; + SndDChunk.blockSize = 0; + fwrite(&SndDChunk, sizeof(SoundDataChunk), 1, ofile); + fwrite(outputBuf, outputBytes, 1, ofile); + + // Fix the size in the header + s32 fileSize = bswap32(ftell(ofile) - 8); + fseek(ofile, 4, SEEK_SET); + fwrite(&fileSize, 4, 1, ofile); + + fclose(ifile); + fclose(ofile); + return 0; +}
\ No newline at end of file diff --git a/ZAPDTR/ZAPD/ZResource.h b/ZAPDTR/ZAPD/ZResource.h index 82709aec0..8b1055a4b 100644 --- a/ZAPDTR/ZAPD/ZResource.h +++ b/ZAPDTR/ZAPD/ZResource.h @@ -50,7 +50,8 @@ enum class ZResourceType TextureAnimationParams, Vector, Vertex, - Text + Text, + Audio }; class ResourceAttribute diff --git a/ZAPDTR/ZAPD/ZRom.cpp b/ZAPDTR/ZAPD/ZRom.cpp index 2a1d3c8a1..a311714dd 100644 --- a/ZAPDTR/ZAPD/ZRom.cpp +++ b/ZAPDTR/ZAPD/ZRom.cpp @@ -191,6 +191,8 @@ ZRom::ZRom(std::string romPath) } else files[lines[i]] = outData; + + //File::WriteAllBytes(StringHelper::Sprintf("baserom/%s", lines[i]), files[lines[i]]); } int bp = 0; diff --git a/libultraship/libultraship/Archive.cpp b/libultraship/libultraship/Archive.cpp index e4646c305..8bc4948b2 100644 --- a/libultraship/libultraship/Archive.cpp +++ b/libultraship/libultraship/Archive.cpp @@ -142,7 +142,7 @@ namespace Ship { return FileToLoad; } - bool Archive::AddFile(const std::string& path, uintptr_t fileData, DWORD dwFileSize) { + bool Archive::AddFile(const std::string& oPath, uintptr_t fileData, DWORD dwFileSize) { HANDLE hFile; #ifdef _WIN32 SYSTEMTIME sysTime; @@ -154,6 +154,11 @@ namespace Ship { time_t stupidHack; time(&stupidHack); #endif + + std::string path = oPath; + + StringHelper::ReplaceOriginal(path, "\\", "/"); + if (!SFileCreateFile(mainMPQ, path.c_str(), stupidHack, dwFileSize, 0, MPQ_FILE_COMPRESS, &hFile)) { SPDLOG_ERROR("({}) Failed to create file of {} bytes {} in archive {}", GetLastError(), dwFileSize, path.c_str(), MainPath.c_str()); return false; diff --git a/libultraship/libultraship/Array.h b/libultraship/libultraship/Array.h index 6bccb2d7d..a84d8ec17 100644 --- a/libultraship/libultraship/Array.h +++ b/libultraship/libultraship/Array.h @@ -67,6 +67,7 @@ namespace Ship TextureAnimationParams, Vector, Vertex, + Audio }; class ArrayV0 : public ResourceFile diff --git a/libultraship/libultraship/Audio.cpp b/libultraship/libultraship/Audio.cpp new file mode 100644 index 000000000..801fac554 --- /dev/null +++ b/libultraship/libultraship/Audio.cpp @@ -0,0 +1,168 @@ +#include "Audio.h" + +namespace Ship +{ + void AudioSampleV1::ParseFileBinary(BinaryReader* reader, Resource* res) + { + AudioSample* entry = (AudioSample*)res; + + ResourceFile::ParseFileBinary(reader, res); + + entry->codec = reader->ReadByte(); + entry->medium = reader->ReadByte(); + entry->unk_bit26 = reader->ReadByte(); + entry->unk_bit25 = reader->ReadByte(); + + int dataSize = reader->ReadInt32(); + + for (size_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(); + + for (size_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(); + + for (size_t i = 0; i < bookSize; i++) + entry->book.books.push_back(reader->ReadInt16()); + } + + void AudioSoundFontV1::ParseFileBinary(BinaryReader* reader, Resource* res) + { + AudioSoundFont* soundFont = (AudioSoundFont*)res; + + ResourceFile::ParseFileBinary(reader, res); + + soundFont->medium = reader->ReadByte(); + soundFont->cachePolicy = reader->ReadByte(); + soundFont->data1 = reader->ReadInt16(); + soundFont->data2 = reader->ReadInt16(); + soundFont->data3 = reader->ReadInt16(); + + int drumCnt = reader->ReadInt32(); + int instrumentCnt = reader->ReadInt32(); + int sfxCnt = reader->ReadInt32(); + + for (int i = 0; i < drumCnt; i++) + { + DrumEntry drum; + drum.releaseRate = reader->ReadUByte(); + drum.pan = reader->ReadUByte(); + drum.loaded = reader->ReadUByte(); + + drum.env = ReadEnvelopeData(reader); + + bool hasSample = reader->ReadByte(); + drum.offset = reader->ReadInt32(); + drum.tuning = reader->ReadSingle(); + + soundFont->drums.push_back(drum); + } + + for (int i = 0; i < instrumentCnt; i++) + { + InstrumentEntry entry; + + entry.isValidEntry = reader->ReadByte(); + entry.loaded = reader->ReadByte(); + entry.normalRangeLo = reader->ReadByte(); + entry.normalRangeHi = reader->ReadByte(); + entry.releaseRate = reader->ReadByte(); + + entry.env = ReadEnvelopeData(reader); + + { + bool hasSFEntry = reader->ReadByte(); + + if (hasSFEntry) + { + entry.lowNotesSound = new SoundFontEntry(); + bool hasSampleRef = reader->ReadByte(); + entry.lowNotesSound->sampleOffset = reader->ReadInt32(); + entry.lowNotesSound->tuning = reader->ReadSingle(); + } + } + + { + bool hasSFEntry = reader->ReadByte(); + + if (hasSFEntry) + { + entry.normalNotesSound = new SoundFontEntry(); + bool hasSampleRef = reader->ReadByte(); + entry.normalNotesSound->sampleOffset = reader->ReadInt32(); + entry.normalNotesSound->tuning = reader->ReadSingle(); + } + } + + { + bool hasSFEntry = reader->ReadByte(); + + if (hasSFEntry) + { + entry.highNotesSound = new SoundFontEntry(); + bool hasSampleRef = reader->ReadByte(); + entry.highNotesSound->sampleOffset = reader->ReadInt32(); + entry.highNotesSound->tuning = reader->ReadSingle(); + } + } + + soundFont->instruments.push_back(entry); + } + + for (int i = 0; i < sfxCnt; i++) + { + SoundFontEntry* entry = new SoundFontEntry(); + + bool hasSFEntry = reader->ReadByte(); + + if (hasSFEntry) + { + bool hasSampleRef = reader->ReadByte(); + entry->sampleOffset = reader->ReadInt32(); + entry->tuning = reader->ReadSingle(); + } + + soundFont->soundEffects.push_back(entry); + } + } + + std::vector<AdsrEnvelope*> AudioSoundFontV1::ReadEnvelopeData(BinaryReader* reader) + { + std::vector<AdsrEnvelope*> envelopes; + + int envelopeCnt = reader->ReadInt32(); + + for (int i = 0; i < envelopeCnt; i++) + { + AdsrEnvelope* env = new AdsrEnvelope(); + env->delay = reader->ReadInt16(); + env->arg = reader->ReadInt16(); + + envelopes.push_back(env); + } + + return envelopes; + } + + void AudioV1::ParseFileBinary(BinaryReader* reader, Resource* res) + { + Audio* audio = (Audio*)res; + + ResourceFile::ParseFileBinary(reader, res); + + //int sampleCnt = reader->ReadInt32(); + + //for (size_t i = 0; i < sampleCnt; i++) + //audio->samples.push_back(ReadSampleEntry(reader)); + } +}
\ No newline at end of file diff --git a/libultraship/libultraship/Audio.h b/libultraship/libultraship/Audio.h new file mode 100644 index 000000000..e66846bc0 --- /dev/null +++ b/libultraship/libultraship/Audio.h @@ -0,0 +1,120 @@ +#pragma once + +#include "Resource.h" +#include <vector> +#include <map> + +namespace Ship +{ + struct AdsrEnvelope + { + int16_t delay; + int16_t arg; + }; + + struct AdpcmBook + { + /* 0x00 */ int32_t order; + /* 0x04 */ int32_t npredictors; + /* 0x08 */ std::vector<int16_t> books; // size 8 * order * npredictors. 8-byte aligned + }; + + struct AdpcmLoop + { + /* 0x00 */ uint32_t start; + /* 0x04 */ uint32_t end; + /* 0x08 */ uint32_t count; + ///* 0x10 */ int16_t state[16]; // only exists if count != 0. 8-byte aligned + /* 0x10 */ std::vector<int16_t> states; + }; + + struct SoundFontEntry + { + //SampleEntry* sampleEntry = nullptr; + uint32_t sampleOffset; + float tuning; + }; + + struct DrumEntry + { + uint8_t releaseRate; + uint8_t pan; + uint8_t loaded; + uint32_t offset; + float tuning; + std::vector<AdsrEnvelope*> env; + //SampleEntry* sample = nullptr; + }; + + struct InstrumentEntry + { + bool isValidEntry; + uint8_t loaded; + uint8_t normalRangeLo; + uint8_t normalRangeHi; + uint8_t releaseRate; + std::vector<AdsrEnvelope*> env; + SoundFontEntry* lowNotesSound = nullptr; + SoundFontEntry* normalNotesSound = nullptr; + SoundFontEntry* highNotesSound = nullptr; + }; + + class AudioSoundFontV1 : public ResourceFile + { + public: + void ParseFileBinary(BinaryReader* reader, Resource* res) override; + static std::vector<AdsrEnvelope*> ReadEnvelopeData(BinaryReader* reader); + }; + + class AudioSampleV1 : public ResourceFile + { + public: + void ParseFileBinary(BinaryReader* reader, Resource* res) override; + }; + + class AudioV1 : public ResourceFile + { + public: + void ParseFileBinary(BinaryReader* reader, Resource* res) override; + }; + + struct AudioSoundFont : public Resource + { + public: + uint32_t ptr; + uint32_t size; + uint8_t medium; + uint8_t cachePolicy; + uint16_t data1; + uint16_t data2; + uint16_t data3; + + std::vector<DrumEntry> drums; + std::vector<SoundFontEntry*> soundEffects; + std::vector<InstrumentEntry> instruments; + }; + + class AudioSample : public Resource + { + public: + uint8_t codec; + uint8_t medium; + uint8_t unk_bit26; + uint8_t unk_bit25; + + std::vector<uint8_t> data; + AdpcmLoop loop; + AdpcmBook book; + }; + + class Audio : public Resource + { + public: + //std::vector<AudioTableEntry> soundFontTable; + //std::vector<AudioTableEntry> sequenceTable; + //std::vector<AudioTableEntry> sampleBankTable; + //std::vector<char*> sequences; + //std::vector<SampleEntry*> samples; + + }; +}
\ No newline at end of file diff --git a/libultraship/libultraship/Cutscene.cpp b/libultraship/libultraship/Cutscene.cpp index 4d804167b..420d491f1 100644 --- a/libultraship/libultraship/Cutscene.cpp +++ b/libultraship/libultraship/Cutscene.cpp @@ -16,6 +16,4 @@ void Ship::CutsceneV0::ParseFileBinary(BinaryReader* reader, Resource* res) cs->commands.push_back(data); } - - //int bp = 0; } diff --git a/libultraship/libultraship/Factories/AudioFactory.cpp b/libultraship/libultraship/Factories/AudioFactory.cpp new file mode 100644 index 000000000..e4639feae --- /dev/null +++ b/libultraship/libultraship/Factories/AudioFactory.cpp @@ -0,0 +1,69 @@ +#include "AudioFactory.h" + +namespace Ship +{ + Audio* AudioFactory::ReadAudio(BinaryReader* reader) + { + Audio* audio = new Audio(); + Version version = (Version)reader->ReadUInt32(); + + switch (version) + { + case Version::Roy: + { + AudioV1 audioFac = AudioV1(); + audioFac.ParseFileBinary(reader, audio); + } + break; + default: + // VERSION NOT SUPPORTED + break; + } + + return audio; + } + + AudioSample* AudioSampleFactory::ReadAudioSample(BinaryReader* reader) + { + AudioSample* audioSample = new AudioSample(); + Version version = (Version)reader->ReadUInt32(); + + switch (version) + { + case Version::Deckard: // OTRTODO: Remove this line after we merge in that refactor + case Version::Roy: + { + AudioSampleV1 audioSampleFac = AudioSampleV1(); + audioSampleFac.ParseFileBinary(reader, audioSample); + } + break; + default: + // VERSION NOT SUPPORTED + break; + } + + return audioSample; + } + + AudioSoundFont* AudioSoundFontFactory::ReadAudioSoundFont(BinaryReader* reader) + { + AudioSoundFont* audioSF = new AudioSoundFont(); + Version version = (Version)reader->ReadUInt32(); + + switch (version) + { + case Version::Deckard: // OTRTODO: Remove this line after we merge in that refactor + case Version::Roy: + { + AudioSoundFontV1 audioSFFac = AudioSoundFontV1(); + audioSFFac.ParseFileBinary(reader, audioSF); + } + break; + default: + // VERSION NOT SUPPORTED + break; + } + + return audioSF; + } +};
\ No newline at end of file diff --git a/libultraship/libultraship/Factories/AudioFactory.h b/libultraship/libultraship/Factories/AudioFactory.h new file mode 100644 index 000000000..40c0c689b --- /dev/null +++ b/libultraship/libultraship/Factories/AudioFactory.h @@ -0,0 +1,23 @@ +#include "../Audio.h" +#include "Utils/BinaryReader.h" + +namespace Ship +{ + class AudioFactory + { + public: + static Audio* ReadAudio(BinaryReader* reader); + }; + + class AudioSampleFactory + { + public: + static AudioSample* ReadAudioSample(BinaryReader* reader); + }; + + class AudioSoundFontFactory + { + public: + static AudioSoundFont* ReadAudioSoundFont(BinaryReader* reader); + }; +}
\ No newline at end of file diff --git a/libultraship/libultraship/Factories/ResourceLoader.cpp b/libultraship/libultraship/Factories/ResourceLoader.cpp index 7faec20f7..099d71931 100644 --- a/libultraship/libultraship/Factories/ResourceLoader.cpp +++ b/libultraship/libultraship/Factories/ResourceLoader.cpp @@ -15,6 +15,7 @@ #include "TextureFactory.h" #include "BlobFactory.h" #include "MtxFactory.h" +#include "AudioFactory.h" #include <Utils/MemoryStream.h> namespace Ship @@ -84,6 +85,15 @@ namespace Ship case ResourceType::Matrix: result = MtxFactory::ReadMtx(reader.get()); break; + case ResourceType::Audio: + result = AudioFactory::ReadAudio(reader.get()); + break; + case ResourceType::AudioSample: + result = AudioSampleFactory::ReadAudioSample(reader.get()); + break; + case ResourceType::AudioSoundFont: + result = AudioSoundFontFactory::ReadAudioSoundFont(reader.get()); + break; default: // RESOURCE TYPE NOT SUPPORTED break; diff --git a/libultraship/libultraship/Resource.h b/libultraship/libultraship/Resource.h index ae8dc6ce5..01949675e 100644 --- a/libultraship/libultraship/Resource.h +++ b/libultraship/libultraship/Resource.h @@ -30,6 +30,9 @@ namespace Ship Array = 0x4F415252, // OARR Text = 0x4F545854, // OTXT Blob = 0x4F424C42, // OBLB + Audio = 'OAUD', + AudioSample = 'OSMP', + AudioSoundFont = 'OSFT', }; enum class DataType diff --git a/libultraship/libultraship/ResourceMgr.cpp b/libultraship/libultraship/ResourceMgr.cpp index 0033ef442..2c8e60026 100644 --- a/libultraship/libultraship/ResourceMgr.cpp +++ b/libultraship/libultraship/ResourceMgr.cpp @@ -204,7 +204,8 @@ namespace Ship { return fileCacheFind->second; } - std::shared_ptr<File> ResourceMgr::LoadFile(std::string FilePath) { + std::shared_ptr<File> ResourceMgr::LoadFile(std::string FilePath) + { auto ToLoad = LoadFileAsync(FilePath); // Wait for the File to actually be loaded if we are told to block. std::unique_lock<std::mutex> Lock(ToLoad->FileLoadMutex); diff --git a/libultraship/libultraship/StormLibDUS32.lib b/libultraship/libultraship/StormLibDUS32.lib Binary files differindex 4619586a9..35259b775 100644 --- a/libultraship/libultraship/StormLibDUS32.lib +++ b/libultraship/libultraship/StormLibDUS32.lib diff --git a/libultraship/libultraship/StormLibRUS32.lib b/libultraship/libultraship/StormLibRUS32.lib Binary files differindex 23af59fe5..aab5f12a0 100644 --- a/libultraship/libultraship/StormLibRUS32.lib +++ b/libultraship/libultraship/StormLibRUS32.lib diff --git a/libultraship/libultraship/StormLibRUS64.lib b/libultraship/libultraship/StormLibRUS64.lib Binary files differindex 266f5ee2f..6803e9462 100644 --- a/libultraship/libultraship/StormLibRUS64.lib +++ b/libultraship/libultraship/StormLibRUS64.lib diff --git a/libultraship/libultraship/Window.cpp b/libultraship/libultraship/Window.cpp index bbd906c76..b6c5f9e8f 100644 --- a/libultraship/libultraship/Window.cpp +++ b/libultraship/libultraship/Window.cpp @@ -200,12 +200,14 @@ extern "C" { char* ResourceMgr_LoadTexByName(char* texPath) { const auto res = static_cast<Ship::Texture*>(Ship::GlobalCtx2::GetInstance()->GetResourceManager()->LoadResource(texPath).get()); + ModInternal::bindHook(LOAD_TEXTURE); ModInternal::initBindHook(2, HookParameter({ .name = "path", .parameter = (void*)texPath }), HookParameter({ .name = "texture", .parameter = static_cast<void*>(&res->imageData) }) ); ModInternal::callBindHook(0); + return (char*)res->imageData; } diff --git a/libultraship/libultraship/libultraship.vcxproj b/libultraship/libultraship/libultraship.vcxproj index b3448e7b0..5439e7466 100644 --- a/libultraship/libultraship/libultraship.vcxproj +++ b/libultraship/libultraship/libultraship.vcxproj @@ -253,9 +253,11 @@ </Link> </ItemDefinitionGroup> <ItemGroup> + <ClCompile Include="Audio.cpp" /> <ClCompile Include="Blob.cpp" /> <ClCompile Include="Cvar.cpp" /> <ClCompile Include="Environment.cpp" /> + <ClCompile Include="Factories\AudioFactory.cpp" /> <ClCompile Include="GameOverlay.cpp" /> <ClCompile Include="GameSettings.cpp" /> <ClCompile Include="Lib\ImGui\backends\imgui_impl_dx11.cpp" /> @@ -340,10 +342,12 @@ </ItemGroup> <ItemGroup> <ClInclude Include="abi.h" /> + <ClInclude Include="Audio.h" /> <ClInclude Include="AudioPlayer.h" /> <ClInclude Include="Blob.h" /> <ClInclude Include="Cvar.h" /> <ClInclude Include="Environment.h" /> + <ClInclude Include="Factories\AudioFactory.h" /> <ClInclude Include="GameOverlay.h" /> <ClInclude Include="GameSettings.h" /> <ClInclude Include="GameVersions.h" /> diff --git a/libultraship/libultraship/libultraship.vcxproj.filters b/libultraship/libultraship/libultraship.vcxproj.filters index 8ac4f0afb..074b32bbe 100644 --- a/libultraship/libultraship/libultraship.vcxproj.filters +++ b/libultraship/libultraship/libultraship.vcxproj.filters @@ -345,6 +345,12 @@ <ClCompile Include="GameOverlay.cpp">
<Filter>Source Files\CustomImpl\Overlay</Filter>
</ClCompile>
+ <ClCompile Include="Audio.cpp">
+ <Filter>Source Files\Resources\Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Factories\AudioFactory.cpp">
+ <Filter>Source Files\Resources\Factories</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Lib\tinyxml2\tinyxml2.h">
@@ -638,5 +644,11 @@ <ClInclude Include="GameOverlay.h">
<Filter>Source Files\CustomImpl\Overlay</Filter>
</ClInclude>
+ <ClInclude Include="Audio.h">
+ <Filter>Header Files\Resources\Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Factories\AudioFactory.h">
+ <Filter>Header Files\Resources\Factories</Filter>
+ </ClInclude>
</ItemGroup>
</Project>
\ No newline at end of file diff --git a/soh/assets/xml/GC_NMQ_D/audio/Audio.xml b/soh/assets/xml/GC_NMQ_D/audio/Audio.xml new file mode 100644 index 000000000..af810ab0c --- /dev/null +++ b/soh/assets/xml/GC_NMQ_D/audio/Audio.xml @@ -0,0 +1,5 @@ +<Root> + <File Name="code" OutName="audio" RangeStart="0x0" RangeEnd="0x12CBB0"> + <Audio Name="audio" Offset="0x00"/> + </File> +</Root> diff --git a/soh/assets/xml/GC_NMQ_PAL_F/audio/Audio.xml b/soh/assets/xml/GC_NMQ_PAL_F/audio/Audio.xml new file mode 100644 index 000000000..af810ab0c --- /dev/null +++ b/soh/assets/xml/GC_NMQ_PAL_F/audio/Audio.xml @@ -0,0 +1,5 @@ +<Root> + <File Name="code" OutName="audio" RangeStart="0x0" RangeEnd="0x12CBB0"> + <Audio Name="audio" Offset="0x00"/> + </File> +</Root> diff --git a/soh/include/z64.h b/soh/include/z64.h index 7720144b4..05a32a1f9 100644 --- a/soh/include/z64.h +++ b/soh/include/z64.h @@ -30,7 +30,8 @@ #include "ichain.h" #include "regs.h" -#define AUDIO_HEAP_SIZE 0x38000 +//#define AUDIO_HEAP_SIZE 0x38000 +#define AUDIO_HEAP_SIZE 0x3800000 // The original audio heap size was too small. The heap would exceed capacity and corrupt everything in its path. #define SYSTEM_HEAP_SIZE (1024 * 1024 * 4) #ifdef __cplusplus diff --git a/soh/include/z64audio.h b/soh/include/z64audio.h index 78f262dbf..09840def7 100644 --- a/soh/include/z64audio.h +++ b/soh/include/z64audio.h @@ -120,7 +120,8 @@ typedef struct { /* 0x08 */ s16 book[1]; // size 8 * order * npredictors. 8-byte aligned } AdpcmBook; // size >= 0x8 -typedef struct { +typedef struct +{ union { struct { /* 0x00 */ u32 codec : 4; diff --git a/soh/soh.vcxproj.filters b/soh/soh.vcxproj.filters index 04f6030a8..6783efdc4 100644 --- a/soh/soh.vcxproj.filters +++ b/soh/soh.vcxproj.filters @@ -1,3778 +1,1241 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> - </Filter> - <Filter Include="Resource Files"> - <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> - </Filter> - <Filter Include="Source Files\src"> - <UniqueIdentifier>{8d479b58-9306-40c3-9728-2cf5b185f5c4}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\libultra"> - <UniqueIdentifier>{8ebc52ba-5b1d-4bb3-9848-ba9ea57fc49f}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\buffers"> - <UniqueIdentifier>{54c2fe99-a68e-4ce2-813d-bce0ab1ac24f}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\code"> - <UniqueIdentifier>{0b91ecc8-6f20-4da1-87ca-6c7263aab3db}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\boot"> - <UniqueIdentifier>{2104d3ab-707c-4ab2-bb1a-5cdce5c3d07d}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays"> - <UniqueIdentifier>{022552c8-3bb8-4ba5-904c-e2c3eb28ce10}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\include"> - <UniqueIdentifier>{3ab8c311-cbfb-4eca-88af-2446ce3c89b0}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\effects"> - <UniqueIdentifier>{8f2da1b8-973e-4be0-a036-c79a63bc3067}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\gamestates"> - <UniqueIdentifier>{1a584bc2-7081-4251-a953-cdc7b611d62b}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\gamestates\ovl_title"> - <UniqueIdentifier>{49bb84e4-a0b9-4733-9720-1ea120795083}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\gamestates\ovl_select"> - <UniqueIdentifier>{d4794b4c-ae5d-4bf0-96f4-077f03807f5e}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\gamestates\ovl_opening"> - <UniqueIdentifier>{981df102-b362-4e2b-8efc-62756c28aa60}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\gamestates\ovl_file_choose"> - <UniqueIdentifier>{f8b2165f-9b32-4be1-a285-49349e09bef5}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\soh"> - <UniqueIdentifier>{fcaae731-4e17-448b-b6c7-36e4c8413838}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\soh\Enhancements"> - <UniqueIdentifier>{264ed8f8-f42b-475f-82ca-c264225ef56c}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\soh"> - <UniqueIdentifier>{5fde6633-a728-4eea-a616-59d413bec476}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\soh\Enhancements"> - <UniqueIdentifier>{3aeae6ac-1340-4a7b-bf34-cd196667fe37}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\misc"> - <UniqueIdentifier>{fe745190-d4ec-4dc3-a9fd-ea553a971b14}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\misc\ovl_map_mark_data"> - <UniqueIdentifier>{06ba0ec4-2ee7-4454-93b5-5fd804723b6d}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\misc\ovl_kaleido_scope"> - <UniqueIdentifier>{ffe200b9-a955-4843-a1ce-3603c132e591}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\src\overlays\actors"> - <UniqueIdentifier>{18b9727f-30de-4ab8-a317-916090d4a110}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\soh\Enhancements\debugger"> - <UniqueIdentifier>{9a4378ec-e30f-47b6-9ad6-5ce738b4cf99}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\soh\Enhancements\debugger"> - <UniqueIdentifier>{04fc1c52-49ff-48e2-ae23-2c00867374f8}</UniqueIdentifier> - </Filter> + <ClCompile Include="soh\frame_interpolation.cpp" /> + <ClCompile Include="soh\Enhancements\bootcommands.c" /> + <ClCompile Include="soh\Enhancements\debugconsole.cpp" /> + <ClCompile Include="soh\Enhancements\debugger\colViewer.cpp" /> + <ClCompile Include="soh\Enhancements\debugger\debugger.cpp" /> + <ClCompile Include="soh\Enhancements\debugger\debugSaveEditor.cpp" /> + <ClCompile Include="soh\Enhancements\debugger\ImGuiHelpers.cpp" /> + <ClCompile Include="soh\Enhancements\gameconsole.c" /> + <ClCompile Include="soh\Enhancements\savestates.cpp" /> + <ClCompile Include="soh\GbiWrap.cpp" /> + <ClCompile Include="soh\gu_pc.c" /> + <ClCompile Include="soh\OTRGlobals.cpp" /> + <ClCompile Include="soh\stubs.c" /> + <ClCompile Include="soh\util.cpp" /> + <ClCompile Include="soh\z_message_OTR.cpp" /> + <ClCompile Include="soh\z_play_otr.cpp" /> + <ClCompile Include="soh\z_scene_otr.cpp" /> + <ClCompile Include="src\boot\assert.c" /> + <ClCompile Include="src\boot\boot_main.c" /> + <ClCompile Include="src\boot\build.c" /> + <ClCompile Include="src\boot\idle.c" /> + <ClCompile Include="src\boot\is_debug.c" /> + <ClCompile Include="src\boot\logutils.c" /> + <ClCompile Include="src\boot\missing_gcc_functions.c" /> + <ClCompile Include="src\boot\stackcheck.c" /> + <ClCompile Include="src\boot\viconfig.c" /> + <ClCompile Include="src\boot\yaz0.c" /> + <ClCompile Include="src\boot\z_locale.c" /> + <ClCompile Include="src\boot\z_std_dma.c" /> + <ClCompile Include="src\buffers\gfxbuffers.c" /> + <ClCompile Include="src\buffers\heaps.c" /> + <ClCompile Include="src\buffers\zbuffer.c" /> + <ClCompile Include="src\code\audioMgr.c" /> + <ClCompile Include="src\code\audio_data.c" /> + <ClCompile Include="src\code\audio_effects.c" /> + <ClCompile Include="src\code\audio_heap.c" /> + <ClCompile Include="src\code\audio_init_params.c" /> + <ClCompile Include="src\code\audio_load.c" /> + <ClCompile Include="src\code\audio_playback.c" /> + <ClCompile Include="src\code\audio_seqplayer.c" /> + <ClCompile Include="src\code\audio_sound_params.c" /> + <ClCompile Include="src\code\audio_synthesis.c" /> + <ClCompile Include="src\code\code_800430A0.c" /> + <ClCompile Include="src\code\code_80043480.c" /> + <ClCompile Include="src\code\code_8006C3A0.c" /> + <ClCompile Include="src\code\code_8006C510.c" /> + <ClCompile Include="src\code\code_80097A00.c" /> + <ClCompile Include="src\code\code_800A9F30.c" /> + <ClCompile Include="src\code\code_800ACE70.c" /> + <ClCompile Include="src\code\code_800AD920.c" /> + <ClCompile Include="src\code\code_800BB0A0.c" /> + <ClCompile Include="src\code\code_800C3C20.c" /> + <ClCompile Include="src\code\code_800D2E30.c" /> + <ClCompile Include="src\code\code_800D31A0.c" /> + <ClCompile Include="src\code\code_800E4FE0.c" /> + <ClCompile Include="src\code\code_800E6840.c" /> + <ClCompile Include="src\code\code_800EC960.c" /> + <ClCompile Include="src\code\code_800F7260.c" /> + <ClCompile Include="src\code\code_800F9280.c" /> + <ClCompile Include="src\code\code_800FBCE0.c" /> + <ClCompile Include="src\code\code_800FC620.c" /> + <ClCompile Include="src\code\code_800FCE80.c" /> + <ClCompile Include="src\code\code_800FD970.c" /> + <ClCompile Include="src\code\code_801067F0.c" /> + <ClCompile Include="src\code\code_801068B0.c" /> + <ClCompile Include="src\code\db_camera.c" /> + <ClCompile Include="src\code\debug_malloc.c" /> + <ClCompile Include="src\code\fault.c" /> + <ClCompile Include="src\code\fault_drawer.c" /> + <ClCompile Include="src\code\flg_set.c" /> + <ClCompile Include="src\code\game.c" /> + <ClCompile Include="src\code\gamealloc.c" /> + <ClCompile Include="src\code\gfxprint.c" /> + <ClCompile Include="src\code\graph.c" /> + <ClCompile Include="src\code\irqmgr.c" /> + <ClCompile Include="src\code\jpegdecoder.c" /> + <ClCompile Include="src\code\jpegutils.c" /> + <ClCompile Include="src\code\listalloc.c" /> + <ClCompile Include="src\code\loadfragment2.c" /> + <ClCompile Include="src\code\logseverity.c" /> + <ClCompile Include="src\code\main.c" /> + <ClCompile Include="src\code\mempak.c" /> + <ClCompile Include="src\code\mtxuty-cvt.c" /> + <ClCompile Include="src\code\padmgr.c" /> + <ClCompile Include="src\code\padsetup.c" /> + <ClCompile Include="src\code\padutils.c" /> + <ClCompile Include="src\code\PreRender.c" /> + <ClCompile Include="src\code\printutils.c" /> + <ClCompile Include="src\code\relocation.c" /> + <ClCompile Include="src\code\sched.c" /> + <ClCompile Include="src\code\shrink_window.c" /> + <ClCompile Include="src\code\sleep.c" /> + <ClCompile Include="src\code\speed_meter.c" /> + <ClCompile Include="src\code\system_malloc.c" /> + <ClCompile Include="src\code\sys_cfb.c" /> + <ClCompile Include="src\code\sys_math.c" /> + <ClCompile Include="src\code\sys_math3d.c" /> + <ClCompile Include="src\code\sys_math_atan.c" /> + <ClCompile Include="src\code\sys_matrix.c" /> + <ClCompile Include="src\code\sys_ucode.c" /> + <ClCompile Include="src\code\title_setup.c" /> + <ClCompile Include="src\code\TwoHeadArena.c" /> + <ClCompile Include="src\code\ucode_disas.c" /> + <ClCompile Include="src\code\z_actor.c" /> + <ClCompile Include="src\code\z_actor_dlftbls.c" /> + <ClCompile Include="src\code\z_bgcheck.c" /> + <ClCompile Include="src\code\z_camera.c" /> + <ClCompile Include="src\code\z_cheap_proc.c" /> + <ClCompile Include="src\code\z_collision_btltbls.c" /> + <ClCompile Include="src\code\z_collision_check.c" /> + <ClCompile Include="src\code\z_common_data.c" /> + <ClCompile Include="src\code\z_construct.c" /> + <ClCompile Include="src\code\z_debug.c" /> + <ClCompile Include="src\code\z_debug_display.c" /> + <ClCompile Include="src\code\z_demo.c" /> + <ClCompile Include="src\code\z_DLF.c" /> + <ClCompile Include="src\code\z_draw.c" /> + <ClCompile Include="src\code\z_effect.c" /> + <ClCompile Include="src\code\z_effect_soft_sprite.c" /> + <ClCompile Include="src\code\z_effect_soft_sprite_dlftbls.c" /> + <ClCompile Include="src\code\z_effect_soft_sprite_old_init.c" /> + <ClCompile Include="src\code\z_eff_blure.c" /> + <ClCompile Include="src\code\z_eff_shield_particle.c" /> + <ClCompile Include="src\code\z_eff_spark.c" /> + <ClCompile Include="src\code\z_eff_ss_dead.c" /> + <ClCompile Include="src\code\z_elf_message.c" /> + <ClCompile Include="src\code\z_en_a_keep.c" /> + <ClCompile Include="src\code\z_en_item00.c" /> + <ClCompile Include="src\code\z_face_reaction.c" /> + <ClCompile Include="src\code\z_fbdemo.c" /> + <ClCompile Include="src\code\z_fbdemo_circle.c" /> + <ClCompile Include="src\code\z_fbdemo_fade.c" /> + <ClCompile Include="src\code\z_fbdemo_triforce.c" /> + <ClCompile Include="src\code\z_fbdemo_wipe1.c" /> + <ClCompile Include="src\code\z_fcurve_data_skelanime.c" /> + <ClCompile Include="src\code\z_frame_advance.c" /> + <ClCompile Include="src\code\z_game_dlftbls.c" /> + <ClCompile Include="src\code\z_game_over.c" /> + <ClCompile Include="src\code\z_horse.c" /> + <ClCompile Include="src\code\z_jpeg.c" /> + <ClCompile Include="src\code\z_kaleido_manager.c" /> + <ClCompile Include="src\code\z_kaleido_scope_call.c" /> + <ClCompile Include="src\code\z_kaleido_setup.c" /> + <ClCompile Include="src\code\z_kanfont.c" /> + <ClCompile Include="src\code\z_kankyo.c" /> + <ClCompile Include="src\code\z_lib.c" /> + <ClCompile Include="src\code\z_lifemeter.c" /> + <ClCompile Include="src\code\z_lights.c" /> + <ClCompile Include="src\code\z_malloc.c" /> + <ClCompile Include="src\code\z_map_data.c" /> + <ClCompile Include="src\code\z_map_exp.c" /> + <ClCompile Include="src\code\z_map_mark.c" /> + <ClCompile Include="src\code\z_message_PAL.c" /> + <ClCompile Include="src\code\z_moji.c" /> + <ClCompile Include="src\code\z_msgevent.c" /> + <ClCompile Include="src\code\z_olib.c" /> + <ClCompile Include="src\code\z_onepointdemo.c" /> + <ClCompile Include="src\code\z_parameter.c" /> + <ClCompile Include="src\code\z_path.c" /> + <ClCompile Include="src\code\z_play.c" /> + <ClCompile Include="src\code\z_player_call.c" /> + <ClCompile Include="src\code\z_player_lib.c" /> + <ClCompile Include="src\code\z_prenmi.c" /> + <ClCompile Include="src\code\z_prenmi_buff.c" /> + <ClCompile Include="src\code\z_quake.c" /> + <ClCompile Include="src\code\z_rcp.c" /> + <ClCompile Include="src\code\z_room.c" /> + <ClCompile Include="src\code\z_sample.c" /> + <ClCompile Include="src\code\z_scene.c" /> + <ClCompile Include="src\code\z_scene_table.c" /> + <ClCompile Include="src\code\z_skelanime.c" /> + <ClCompile Include="src\code\z_skin.c" /> + <ClCompile Include="src\code\z_skin_awb.c" /> + <ClCompile Include="src\code\z_skin_matrix.c" /> + <ClCompile Include="src\code\z_sound_source.c" /> + <ClCompile Include="src\code\z_sram.c" /> + <ClCompile Include="src\code\z_ss_sram.c" /> + <ClCompile Include="src\code\z_view.c" /> + <ClCompile Include="src\code\z_vimode.c" /> + <ClCompile Include="src\code\z_vismono.c" /> + <ClCompile Include="src\code\z_vr_box.c" /> + <ClCompile Include="src\code\z_vr_box_draw.c" /> + <ClCompile Include="src\code\__osMalloc.c" /> + <ClCompile Include="src\libultra\gu\coss.c" /> + <ClCompile Include="src\libultra\gu\guLookAt.c" /> + <ClCompile Include="src\libultra\gu\guLookAtHilite.c" /> + <ClCompile Include="src\libultra\gu\guPerspectiveF.c" /> + <ClCompile Include="src\libultra\gu\guPosition.c" /> + <ClCompile Include="src\libultra\gu\guS2DInitBg.c" /> + <ClCompile Include="src\libultra\gu\ortho.c" /> + <ClCompile Include="src\libultra\gu\rotate.c" /> + <ClCompile Include="src\libultra\gu\sins.c" /> + <ClCompile Include="src\libultra\gu\sintable.c" /> + <ClCompile Include="src\libultra\libc\sprintf.c" /> + <ClCompile Include="src\overlays\actors\ovl_Arms_Hook\z_arms_hook.c" /> + <ClCompile Include="src\overlays\actors\ovl_Arrow_Fire\z_arrow_fire.c" /> + <ClCompile Include="src\overlays\actors\ovl_Arrow_Ice\z_arrow_ice.c" /> + <ClCompile Include="src\overlays\actors\ovl_Arrow_Light\z_arrow_light.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Bdan_Objects\z_bg_bdan_objects.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Bdan_Switch\z_bg_bdan_switch.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Bombwall\z_bg_bombwall.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Bom_Guard\z_bg_bom_guard.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Bowl_Wall\z_bg_bowl_wall.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Breakwall\z_bg_breakwall.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ddan_Jd\z_bg_ddan_jd.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ddan_Kd\z_bg_ddan_kd.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Dodoago\z_bg_dodoago.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Dy_Yoseizo\z_bg_dy_yoseizo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ganon_Otyuka\z_bg_ganon_otyuka.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Gate_Shutter\z_bg_gate_shutter.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Gjyo_Bridge\z_bg_gjyo_bridge.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Darkmeiro\z_bg_gnd_darkmeiro.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Firemeiro\z_bg_gnd_firemeiro.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Iceblock\z_bg_gnd_iceblock.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Nisekabe\z_bg_gnd_nisekabe.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Soulmeiro\z_bg_gnd_soulmeiro.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka\z_bg_haka.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Gate\z_bg_haka_gate.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Huta\z_bg_haka_huta.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_MeganeBG\z_bg_haka_meganebg.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Megane\z_bg_haka_megane.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Sgami\z_bg_haka_sgami.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Ship\z_bg_haka_ship.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Trap\z_bg_haka_trap.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Tubo\z_bg_haka_tubo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Water\z_bg_haka_water.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Zou\z_bg_haka_zou.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Heavy_Block\z_bg_heavy_block.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Curtain\z_bg_hidan_curtain.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Dalm\z_bg_hidan_dalm.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Firewall\z_bg_hidan_firewall.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Fslift\z_bg_hidan_fslift.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Fwbig\z_bg_hidan_fwbig.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Hamstep\z_bg_hidan_hamstep.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Hrock\z_bg_hidan_hrock.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Kousi\z_bg_hidan_kousi.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Kowarerukabe\z_bg_hidan_kowarerukabe.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Rock\z_bg_hidan_rock.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Rsekizou\z_bg_hidan_rsekizou.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Sekizou\z_bg_hidan_sekizou.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Sima\z_bg_hidan_sima.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Syoku\z_bg_hidan_syoku.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ice_Objects\z_bg_ice_objects.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ice_Shelter\z_bg_ice_shelter.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ice_Shutter\z_bg_ice_shutter.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ice_Turara\z_bg_ice_turara.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ingate\z_bg_ingate.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_1flift\z_bg_jya_1flift.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Amishutter\z_bg_jya_amishutter.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Bigmirror\z_bg_jya_bigmirror.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Block\z_bg_jya_block.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Bombchuiwa\z_bg_jya_bombchuiwa.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Bombiwa\z_bg_jya_bombiwa.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Cobra\z_bg_jya_cobra.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Goroiwa\z_bg_jya_goroiwa.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Haheniron\z_bg_jya_haheniron.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Ironobj\z_bg_jya_ironobj.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Kanaami\z_bg_jya_kanaami.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Lift\z_bg_jya_lift.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Megami\z_bg_jya_megami.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Zurerukabe\z_bg_jya_zurerukabe.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Menkuri_Eye\z_bg_menkuri_eye.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Menkuri_Kaiten\z_bg_menkuri_kaiten.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Menkuri_Nisekabe\z_bg_menkuri_nisekabe.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Bwall\z_bg_mizu_bwall.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Movebg\z_bg_mizu_movebg.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Shutter\z_bg_mizu_shutter.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Uzu\z_bg_mizu_uzu.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Water\z_bg_mizu_water.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mjin\z_bg_mjin.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Bigst\z_bg_mori_bigst.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Elevator\z_bg_mori_elevator.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Hashigo\z_bg_mori_hashigo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Hashira4\z_bg_mori_hashira4.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Hineri\z_bg_mori_hineri.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Idomizu\z_bg_mori_idomizu.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Kaitenkabe\z_bg_mori_kaitenkabe.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Rakkatenjo\z_bg_mori_rakkatenjo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Po_Event\z_bg_po_event.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Po_Syokudai\z_bg_po_syokudai.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Pushbox\z_bg_pushbox.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Relay_Objects\z_bg_relay_objects.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot00_Break\z_bg_spot00_break.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot00_Hanebasi\z_bg_spot00_hanebasi.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Fusya\z_bg_spot01_fusya.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Idohashira\z_bg_spot01_idohashira.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Idomizu\z_bg_spot01_idomizu.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Idosoko\z_bg_spot01_idosoko.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Objects2\z_bg_spot01_objects2.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot02_Objects\z_bg_spot02_objects.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot03_Taki\z_bg_spot03_taki.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot05_Soko\z_bg_spot05_soko.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot06_Objects\z_bg_spot06_objects.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot07_Taki\z_bg_spot07_taki.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot08_Bakudankabe\z_bg_spot08_bakudankabe.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot08_Iceblock\z_bg_spot08_iceblock.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot09_Obj\z_bg_spot09_obj.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot11_Bakudankabe\z_bg_spot11_bakudankabe.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot11_Oasis\z_bg_spot11_oasis.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot12_Gate\z_bg_spot12_gate.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot12_Saku\z_bg_spot12_saku.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot15_Rrbox\z_bg_spot15_rrbox.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot15_Saku\z_bg_spot15_saku.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot16_Bombstone\z_bg_spot16_bombstone.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot16_Doughnut\z_bg_spot16_doughnut.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot17_Bakudankabe\z_bg_spot17_bakudankabe.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot17_Funen\z_bg_spot17_funen.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot18_Basket\z_bg_spot18_basket.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot18_Futa\z_bg_spot18_futa.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot18_Obj\z_bg_spot18_obj.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Spot18_Shutter\z_bg_spot18_shutter.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Sst_Floor\z_bg_sst_floor.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Hikari\z_bg_toki_hikari.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd_cutscene_data_1.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd_cutscene_data_2.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd_cutscene_data_3.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Treemouth\z_bg_treemouth.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Treemouth\z_bg_treemouth_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Umajump\z_bg_umajump.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Vb_Sima\z_bg_vb_sima.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ydan_Hasi\z_bg_ydan_hasi.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ydan_Maruta\z_bg_ydan_maruta.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Ydan_Sp\z_bg_ydan_sp.c" /> + <ClCompile Include="src\overlays\actors\ovl_Bg_Zg\z_bg_zg.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Dodongo\z_boss_dodongo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Dodongo\z_boss_dodongo_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Fd2\z_boss_fd2.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Fd2\z_boss_fd2_colchk.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Fd\z_boss_fd.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Fd\z_boss_fd_colchk.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Ganon2\z_boss_ganon2.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Ganon2\z_boss_ganon2_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Ganondrof\z_boss_ganondrof.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Ganon\z_boss_ganon.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Goma\z_boss_goma.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Mo\z_boss_mo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Mo\z_boss_mo_colchk.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Sst\z_boss_sst.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Sst\z_boss_sst_colchk.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Tw\z_boss_tw.c" /> + <ClCompile Include="src\overlays\actors\ovl_Boss_Va\z_boss_va.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_6K\z_demo_6k.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Du\z_demo_du.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Du\z_demo_du_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Ec\z_demo_ec.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Effect\z_demo_effect.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Ext\z_demo_ext.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Geff\z_demo_geff.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Gj\z_demo_gj.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Go\z_demo_go.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Gt\z_demo_gt.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Ik\z_demo_ik.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Im\z_demo_im.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Im\z_demo_im_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data1.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data2.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data3.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data4.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data5.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data6.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data7.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data8.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Kekkai\z_demo_kekkai.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Sa\z_demo_sa.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Sa\z_demo_sa_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Shd\z_demo_shd.c" /> + <ClCompile Include="src\overlays\actors\ovl_Demo_Tre_Lgt\z_demo_tre_lgt.c" /> + <ClCompile Include="src\overlays\actors\ovl_Door_Ana\z_door_ana.c" /> + <ClCompile Include="src\overlays\actors\ovl_Door_Gerudo\z_door_gerudo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Door_Killer\z_door_killer.c" /> + <ClCompile Include="src\overlays\actors\ovl_Door_Shutter\z_door_shutter.c" /> + <ClCompile Include="src\overlays\actors\ovl_Door_Toki\z_door_toki.c" /> + <ClCompile Include="src\overlays\actors\ovl_Door_Warp1\z_door_warp1.c" /> + <ClCompile Include="src\overlays\actors\ovl_Efc_Erupc\z_efc_erupc.c" /> + <ClCompile Include="src\overlays\actors\ovl_Eff_Dust\z_eff_dust.c" /> + <ClCompile Include="src\overlays\actors\ovl_Elf_Msg2\z_elf_msg2.c" /> + <ClCompile Include="src\overlays\actors\ovl_Elf_Msg\z_elf_msg.c" /> + <ClCompile Include="src\overlays\actors\ovl_End_Title\z_end_title.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Am\z_en_am.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ani\z_en_ani.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Anubice\z_en_anubice.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Anubice_Fire\z_en_anubice_fire.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Anubice_Tag\z_en_anubice_tag.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Arow_Trap\z_en_arow_trap.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Arrow\z_en_arrow.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Attack_Niw\z_en_attack_niw.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ba\z_en_ba.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bb\z_en_bb.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bdfire\z_en_bdfire.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bigokuta\z_en_bigokuta.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bili\z_en_bili.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bird\z_en_bird.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Blkobj\z_en_blkobj.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bombf\z_en_bombf.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bom\z_en_bom.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bom_Bowl_Man\z_en_bom_bowl_man.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bom_Bowl_Pit\z_en_bom_bowl_pit.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bom_Chu\z_en_bom_chu.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Boom\z_en_boom.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Box\z_en_box.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Brob\z_en_brob.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bubble\z_en_bubble.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Butte\z_en_butte.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bw\z_en_bw.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Bx\z_en_bx.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Changer\z_en_changer.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Clear_Tag\z_en_clear_tag.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Cow\z_en_cow.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Crow\z_en_crow.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Cs\z_en_cs.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Daiku\z_en_daiku.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Daiku_Kakariko\z_en_daiku_kakariko.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dekubaba\z_en_dekubaba.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dekunuts\z_en_dekunuts.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dha\z_en_dha.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dh\z_en_dh.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Diving_Game\z_en_diving_game.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dns\z_en_dns.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dnt_Demo\z_en_dnt_demo.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dnt_Jiji\z_en_dnt_jiji.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dnt_Nomal\z_en_dnt_nomal.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dodojr\z_en_dodojr.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dodongo\z_en_dodongo.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dog\z_en_dog.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Door\z_en_door.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ds\z_en_ds.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Du\z_en_du.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Dy_Extra\z_en_dy_extra.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Eg\z_en_eg.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Eiyer\z_en_eiyer.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Elf\z_en_elf.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Encount1\z_en_encount1.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Encount2\z_en_encount2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ex_Item\z_en_ex_item.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ex_Ruppy\z_en_ex_ruppy.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Fd\z_en_fd.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Fd_Fire\z_en_fd_fire.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_fHG\z_en_fhg.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Fhg_Fire\z_en_fhg_fire.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Firefly\z_en_firefly.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Fire_Rock\z_en_fire_rock.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Fish\z_en_fish.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Floormas\z_en_floormas.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Fr\z_en_fr.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Fu\z_en_fu.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Fw\z_en_fw.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Fz\z_en_fz.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ganon_Mant\z_en_ganon_mant.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ganon_Organ\z_en_ganon_organ.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Gb\z_en_gb.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ge1\z_en_ge1.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ge2\z_en_ge2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ge3\z_en_ge3.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_GeldB\z_en_geldb.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_GirlA\z_en_girla.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Gm\z_en_gm.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Go2\z_en_go2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Goma\z_en_goma.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Goroiwa\z_en_goroiwa.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Go\z_en_go.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Gs\z_en_gs.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Guest\z_en_guest.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_G_Switch\z_en_g_switch.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Hata\z_en_hata.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Heishi1\z_en_heishi1.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Heishi2\z_en_heishi2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Heishi3\z_en_heishi3.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Heishi4\z_en_heishi4.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Hintnuts\z_en_hintnuts.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Holl\z_en_holl.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Honotrap\z_en_honotrap.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Horse\z_en_horse.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Horse_Game_Check\z_en_horse_game_check.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Horse_Ganon\z_en_horse_ganon.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Horse_Link_Child\z_en_horse_link_child.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Horse_Normal\z_en_horse_normal.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Horse_Zelda\z_en_horse_zelda.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Hs2\z_en_hs2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Hs\z_en_hs.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Hy\z_en_hy.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ice_Hono\z_en_ice_hono.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ik\z_en_ik.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Insect\z_en_insect.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_In\z_en_in.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ishi\z_en_ishi.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_It\z_en_it.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Jj\z_en_jj.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Jj\z_en_jj_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Jsjutan\z_en_jsjutan.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Js\z_en_js.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Kakasi2\z_en_kakasi2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Kakasi3\z_en_kakasi3.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Kakasi\z_en_kakasi.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Kanban\z_en_kanban.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Kanban\z_en_kanban_gfx.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Karebaba\z_en_karebaba.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ko\z_en_ko.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Kusa\z_en_kusa.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Kz\z_en_kz.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Lightbox\z_en_lightbox.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Light\z_en_light.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ma1\z_en_ma1.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ma2\z_en_ma2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ma3\z_en_ma3.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Mag\z_en_mag.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Mb\z_en_mb.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Md\z_en_md.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Mk\z_en_mk.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Mm2\z_en_mm2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Mm\z_en_mm.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ms\z_en_ms.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Mu\z_en_mu.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_M_Fire1\z_en_m_fire1.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_M_Thunder\z_en_m_thunder.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Nb\z_en_nb.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Nb\z_en_nb_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Niw\z_en_niw.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Niw_Girl\z_en_niw_girl.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Niw_Lady\z_en_niw_lady.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Nutsball\z_en_nutsball.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Nwc\z_en_nwc.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ny\z_en_ny.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_OE2\z_en_oe2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Okarina_Effect\z_en_okarina_effect.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Okarina_Tag\z_en_okarina_tag.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Okarina_Tag\z_en_okarina_tag_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Okuta\z_en_okuta.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ossan\z_en_ossan.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Owl\z_en_owl.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Part\z_en_part.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Peehat\z_en_peehat.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Poh\z_en_poh.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Po_Desert\z_en_po_desert.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Po_Field\z_en_po_field.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Po_Relay\z_en_po_relay.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Po_Sisters\z_en_po_sisters.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Pu_box\z_en_pu_box.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Rd\z_en_rd.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Reeba\z_en_reeba.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_River_Sound\z_en_river_sound.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Rl\z_en_rl.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Rr\z_en_rr.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ru1\z_en_ru1.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ru1\z_en_ru1_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ru2\z_en_ru2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ru2\z_en_ru2_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Sa\z_en_sa.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Sb\z_en_sb.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Scene_Change\z_en_scene_change.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Sda\z_en_sda.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Shopnuts\z_en_shopnuts.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Siofuki\z_en_siofuki.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Si\z_en_si.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Skb\z_en_skb.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Skjneedle\z_en_skjneedle.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Skj\z_en_skj.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ssh\z_en_ssh.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Sth\z_en_sth.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Stream\z_en_stream.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_St\z_en_st.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Sw\z_en_sw.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Syateki_Itm\z_en_syateki_itm.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Syateki_Man\z_en_syateki_man.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Syateki_Niw\z_en_syateki_niw.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Takara_Man\z_en_takara_man.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Tana\z_en_tana.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Ta\z_en_ta.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Test\z_en_test.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Tg\z_en_tg.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Tite\z_en_tite.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Tk\z_en_tk.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Torch2\z_en_torch2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Torch\z_en_torch.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Toryo\z_en_toryo.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Tp\z_en_tp.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Trap\z_en_trap.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Tr\z_en_tr.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Tubo_Trap\z_en_tubo_trap.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Vali\z_en_vali.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Vase\z_en_vase.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Vb_Ball\z_en_vb_ball.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Viewer\z_en_viewer.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Vm\z_en_vm.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Wallmas\z_en_wallmas.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Wall_Tubo\z_en_wall_tubo.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Weather_Tag\z_en_weather_tag.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Weiyer\z_en_weiyer.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Wf\z_en_wf.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Wonder_Item\z_en_wonder_item.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Wonder_Talk2\z_en_wonder_talk2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Wonder_Talk\z_en_wonder_talk.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Wood02\z_en_wood02.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Xc\z_en_xc.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Yabusame_Mark\z_en_yabusame_mark.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Yukabyun\z_en_yukabyun.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Zf\z_en_zf.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Zl1\z_en_zl1.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Zl1\z_en_zl1_camera_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Zl1\z_en_zl1_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Zl2\z_en_zl2.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Zl3\z_en_zl3.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Zl4\z_en_zl4.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Zl4\z_en_zl4_cutscene_data.c" /> + <ClCompile Include="src\overlays\actors\ovl_En_Zo\z_en_zo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Fishing\z_fishing.c" /> + <ClCompile Include="src\overlays\actors\ovl_Item_B_Heart\z_item_b_heart.c" /> + <ClCompile Include="src\overlays\actors\ovl_Item_Etcetera\z_item_etcetera.c" /> + <ClCompile Include="src\overlays\actors\ovl_Item_Inbox\z_item_inbox.c" /> + <ClCompile Include="src\overlays\actors\ovl_Item_Ocarina\z_item_ocarina.c" /> + <ClCompile Include="src\overlays\actors\ovl_Item_Shield\z_item_shield.c" /> + <ClCompile Include="src\overlays\actors\ovl_Magic_Dark\z_magic_dark.c" /> + <ClCompile Include="src\overlays\actors\ovl_Magic_Fire\z_magic_fire.c" /> + <ClCompile Include="src\overlays\actors\ovl_Magic_Wind\z_magic_wind.c" /> + <ClCompile Include="src\overlays\actors\ovl_Mir_Ray\z_mir_ray.c" /> + <ClCompile Include="src\overlays\actors\ovl_Object_Kankyo\z_object_kankyo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Bean\z_obj_bean.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Blockstop\z_obj_blockstop.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Bombiwa\z_obj_bombiwa.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Comb\z_obj_comb.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Dekujr\z_obj_dekujr.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Elevator\z_obj_elevator.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Hamishi\z_obj_hamishi.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Hana\z_obj_hana.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Hsblock\z_obj_hsblock.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Ice_Poly\z_obj_ice_poly.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Kibako2\z_obj_kibako2.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Kibako\z_obj_kibako.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Lift\z_obj_lift.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Lightswitch\z_obj_lightswitch.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Makekinsuta\z_obj_makekinsuta.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Makeoshihiki\z_obj_makeoshihiki.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Mure2\z_obj_mure2.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Mure3\z_obj_mure3.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Mure\z_obj_mure.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Oshihiki\z_obj_oshihiki.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Roomtimer\z_obj_roomtimer.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Switch\z_obj_switch.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Syokudai\z_obj_syokudai.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Timeblock\z_obj_timeblock.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Tsubo\z_obj_tsubo.c" /> + <ClCompile Include="src\overlays\actors\ovl_Obj_Warp2block\z_obj_warp2block.c" /> + <ClCompile Include="src\overlays\actors\ovl_Oceff_Spot\z_oceff_spot.c" /> + <ClCompile Include="src\overlays\actors\ovl_Oceff_Storm\z_oceff_storm.c" /> + <ClCompile Include="src\overlays\actors\ovl_Oceff_Wipe2\z_oceff_wipe2.c" /> + <ClCompile Include="src\overlays\actors\ovl_Oceff_Wipe3\z_oceff_wipe3.c" /> + <ClCompile Include="src\overlays\actors\ovl_Oceff_Wipe4\z_oceff_wipe4.c" /> + <ClCompile Include="src\overlays\actors\ovl_Oceff_Wipe\z_oceff_wipe.c" /> + <ClCompile Include="src\overlays\actors\ovl_player_actor\z_player.c" /> + <ClCompile Include="src\overlays\actors\ovl_Shot_Sun\z_shot_sun.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Blast\z_eff_ss_blast.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Bomb2\z_eff_ss_bomb2.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Bomb\z_eff_ss_bomb.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Bubble\z_eff_ss_bubble.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dead_Db\z_eff_ss_dead_db.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dead_Dd\z_eff_ss_dead_dd.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dead_Ds\z_eff_ss_dead_ds.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dead_Sound\z_eff_ss_dead_sound.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dt_Bubble\z_eff_ss_dt_bubble.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dust\z_eff_ss_dust.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_D_Fire\z_eff_ss_d_fire.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_En_Fire\z_eff_ss_en_fire.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_En_Ice\z_eff_ss_en_ice.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Extra\z_eff_ss_extra.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Fcircle\z_eff_ss_fcircle.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Fhg_Flash\z_eff_ss_fhg_flash.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Fire_Tail\z_eff_ss_fire_tail.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Fire\z_eff_ss_g_fire.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Magma2\z_eff_ss_g_magma2.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Magma\z_eff_ss_g_magma.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Ripple\z_eff_ss_g_ripple.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Spk\z_eff_ss_g_spk.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Splash\z_eff_ss_g_splash.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Hahen\z_eff_ss_hahen.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_HitMark\z_eff_ss_hitmark.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Ice_Piece\z_eff_ss_ice_piece.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Ice_Smoke\z_eff_ss_ice_smoke.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Kakera\z_eff_ss_kakera.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_KiraKira\z_eff_ss_kirakira.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_K_Fire\z_eff_ss_k_fire.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Lightning\z_eff_ss_lightning.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Sibuki2\z_eff_ss_sibuki2.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Sibuki\z_eff_ss_sibuki.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Solder_Srch_Ball\z_eff_ss_solder_srch_ball.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Stick\z_eff_ss_stick.c" /> + <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Stone1\z_eff_ss_stone1.c" /> + <ClCompile Include="src\overlays\gamestates\ovl_file_choose\z_file_choose.c" /> + <ClCompile Include="src\overlays\gamestates\ovl_file_choose\z_file_copy_erase.c" /> + <ClCompile Include="src\overlays\gamestates\ovl_file_choose\z_file_nameset_data.c" /> + <ClCompile Include="src\overlays\gamestates\ovl_file_choose\z_file_nameset_PAL.c" /> + <ClCompile Include="src\overlays\gamestates\ovl_opening\z_opening.c" /> + <ClCompile Include="src\overlays\gamestates\ovl_select\z_select.c" /> + <ClCompile Include="src\overlays\gamestates\ovl_title\z_title.c" /> + <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_collect.c" /> + <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_debug.c" /> + <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_equipment.c" /> + <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_item.c" /> + <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_map_PAL.c" /> + <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_prompt.c" /> + <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_scope_PAL.c" /> + <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_lmap_mark.c" /> + <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_lmap_mark_data.c" /> + <ClCompile Include="src\overlays\misc\ovl_map_mark_data\z_map_mark_data.c" /> </ItemGroup> <ItemGroup> - <ClCompile Include="src\boot\assert.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\boot_main.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\build.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\idle.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\is_debug.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\logutils.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\missing_gcc_functions.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\stackcheck.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\viconfig.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\yaz0.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\z_locale.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\boot\z_std_dma.c"> - <Filter>Source Files\src\boot</Filter> - </ClCompile> - <ClCompile Include="src\buffers\gfxbuffers.c"> - <Filter>Source Files\src\buffers</Filter> - </ClCompile> - <ClCompile Include="src\buffers\heaps.c"> - <Filter>Source Files\src\buffers</Filter> - </ClCompile> - <ClCompile Include="src\buffers\zbuffer.c"> - <Filter>Source Files\src\buffers</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Blast\z_eff_ss_blast.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Bomb\z_eff_ss_bomb.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Bomb2\z_eff_ss_bomb2.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Bubble\z_eff_ss_bubble.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_D_Fire\z_eff_ss_d_fire.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dead_Db\z_eff_ss_dead_db.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dead_Dd\z_eff_ss_dead_dd.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dead_Ds\z_eff_ss_dead_ds.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dead_Sound\z_eff_ss_dead_sound.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dt_Bubble\z_eff_ss_dt_bubble.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Dust\z_eff_ss_dust.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_En_Fire\z_eff_ss_en_fire.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_En_Ice\z_eff_ss_en_ice.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Extra\z_eff_ss_extra.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Fcircle\z_eff_ss_fcircle.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Fhg_Flash\z_eff_ss_fhg_flash.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Fire_Tail\z_eff_ss_fire_tail.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Fire\z_eff_ss_g_fire.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Magma\z_eff_ss_g_magma.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Magma2\z_eff_ss_g_magma2.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Ripple\z_eff_ss_g_ripple.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Spk\z_eff_ss_g_spk.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_G_Splash\z_eff_ss_g_splash.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Hahen\z_eff_ss_hahen.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_HitMark\z_eff_ss_hitmark.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Ice_Piece\z_eff_ss_ice_piece.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Ice_Smoke\z_eff_ss_ice_smoke.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_K_Fire\z_eff_ss_k_fire.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Kakera\z_eff_ss_kakera.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_KiraKira\z_eff_ss_kirakira.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Lightning\z_eff_ss_lightning.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Sibuki\z_eff_ss_sibuki.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Sibuki2\z_eff_ss_sibuki2.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Solder_Srch_Ball\z_eff_ss_solder_srch_ball.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Stick\z_eff_ss_stick.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\effects\ovl_Effect_Ss_Stone1\z_eff_ss_stone1.c"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClCompile> - <ClCompile Include="src\overlays\gamestates\ovl_title\z_title.c"> - <Filter>Source Files\src\overlays\gamestates\ovl_title</Filter> - </ClCompile> - <ClCompile Include="src\overlays\gamestates\ovl_select\z_select.c"> - <Filter>Source Files\src\overlays\gamestates\ovl_select</Filter> - </ClCompile> - <ClCompile Include="src\overlays\gamestates\ovl_opening\z_opening.c"> - <Filter>Source Files\src\overlays\gamestates\ovl_opening</Filter> - </ClCompile> - <ClCompile Include="src\overlays\gamestates\ovl_file_choose\z_file_nameset_PAL.c"> - <Filter>Source Files\src\overlays\gamestates\ovl_file_choose</Filter> - </ClCompile> - <ClCompile Include="src\overlays\gamestates\ovl_file_choose\z_file_choose.c"> - <Filter>Source Files\src\overlays\gamestates\ovl_file_choose</Filter> - </ClCompile> - <ClCompile Include="soh\OTRGlobals.cpp"> - <Filter>Source Files\soh</Filter> - </ClCompile> - <ClCompile Include="soh\stubs.c"> - <Filter>Source Files\soh</Filter> - </ClCompile> - <ClCompile Include="soh\z_play_otr.cpp"> - <Filter>Source Files\soh</Filter> - </ClCompile> - <ClCompile Include="soh\z_scene_otr.cpp"> - <Filter>Source Files\soh</Filter> - </ClCompile> - <ClCompile Include="src\code\__osMalloc.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\audio_effects.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\audio_heap.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\audio_load.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\audio_playback.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\audio_seqplayer.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\audio_sound_params.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\audio_synthesis.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\audioMgr.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800A9F30.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800ACE70.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800AD920.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800BB0A0.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800C3C20.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800D2E30.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800D31A0.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800E4FE0.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800EC960.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800F7260.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800F9280.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800FBCE0.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800FC620.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800FCE80.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800FD970.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_8006C3A0.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_8006C510.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_80097A00.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800430A0.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_801067F0.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_801068B0.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_80043480.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\db_camera.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\debug_malloc.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\fault.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\fault_drawer.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\flg_set.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\game.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\gamealloc.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\gfxprint.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\graph.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\irqmgr.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\jpegdecoder.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\jpegutils.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\listalloc.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\loadfragment2.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\logseverity.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\main.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\mempak.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\mtxuty-cvt.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\padmgr.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\padsetup.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\padutils.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\PreRender.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\printutils.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\relocation.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\sched.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\shrink_window.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\sleep.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\speed_meter.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\sys_cfb.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\sys_math.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\sys_math_atan.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\sys_math3d.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\sys_matrix.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\sys_ucode.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\system_malloc.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\title_setup.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\TwoHeadArena.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\ucode_disas.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_actor.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_actor_dlftbls.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_bgcheck.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_camera.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_collision_btltbls.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_collision_check.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_common_data.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_construct.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_debug.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_debug_display.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_demo.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_DLF.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_draw.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_eff_blure.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_eff_shield_particle.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_eff_spark.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_eff_ss_dead.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_effect.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_effect_soft_sprite.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_effect_soft_sprite_dlftbls.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_effect_soft_sprite_old_init.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_elf_message.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_en_a_keep.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_en_item00.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_face_reaction.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_fbdemo.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_fbdemo_circle.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_fbdemo_fade.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_fbdemo_triforce.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_fbdemo_wipe1.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_fcurve_data_skelanime.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_frame_advance.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_game_dlftbls.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_game_over.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_horse.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_jpeg.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_kaleido_manager.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_kaleido_scope_call.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_kaleido_setup.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_kanfont.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_kankyo.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_lib.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_lifemeter.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_lights.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_malloc.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_map_data.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_map_exp.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_map_mark.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_message_PAL.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_moji.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_msgevent.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_olib.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_onepointdemo.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_parameter.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_path.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_play.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_player_call.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_player_lib.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_prenmi.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_prenmi_buff.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_quake.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_rcp.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_room.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_sample.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_scene.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_scene_table.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_skelanime.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_skin.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_skin_awb.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_skin_matrix.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_sram.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_ss_sram.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_view.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_vimode.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_vismono.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_vr_box.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_vr_box_draw.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\coss.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\guLookAt.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\guLookAtHilite.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\guPosition.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\guS2DInitBg.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\ortho.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\rotate.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\sins.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\sintable.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\libc\sprintf.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\libultra\gu\guPerspectiveF.c"> - <Filter>Source Files\src\libultra</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_collect.c"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_debug.c"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_equipment.c"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_item.c"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_map_PAL.c"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_prompt.c"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_scope_PAL.c"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_lmap_mark.c"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_kaleido_scope\z_lmap_mark_data.c"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClCompile> - <ClCompile Include="src\overlays\gamestates\ovl_file_choose\z_file_copy_erase.c"> - <Filter>Source Files\src\overlays\gamestates\ovl_file_choose</Filter> - </ClCompile> - <ClCompile Include="src\code\audio_data.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\code_800E6840.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\audio_init_params.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\code\z_sound_source.c"> - <Filter>Source Files\src\code</Filter> - </ClCompile> - <ClCompile Include="src\overlays\gamestates\ovl_file_choose\z_file_nameset_data.c"> - <Filter>Source Files\src\overlays\gamestates\ovl_file_choose</Filter> - </ClCompile> - <ClCompile Include="src\overlays\misc\ovl_map_mark_data\z_map_mark_data.c"> - <Filter>Source Files\src\overlays\misc\ovl_map_mark_data</Filter> - </ClCompile> - <ClCompile Include="soh\z_message_OTR.cpp"> - <Filter>Source Files\soh</Filter> - </ClCompile> - <ClCompile Include="soh\Enhancements\bootcommands.c"> - <Filter>Source Files\soh\Enhancements</Filter> - </ClCompile> - <ClCompile Include="soh\Enhancements\debugconsole.cpp"> - <Filter>Source Files\soh\Enhancements</Filter> - </ClCompile> - <ClCompile Include="soh\Enhancements\gameconsole.c"> - <Filter>Source Files\soh\Enhancements</Filter> - </ClCompile> - <ClCompile Include="soh\GbiWrap.cpp"> - <Filter>Source Files\soh</Filter> - </ClCompile> - <ClCompile Include="soh\gu_pc.c"> - <Filter>Source Files\soh</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Arms_Hook\z_arms_hook.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Arrow_Fire\z_arrow_fire.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Arrow_Ice\z_arrow_ice.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Arrow_Light\z_arrow_light.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Bdan_Objects\z_bg_bdan_objects.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Bdan_Switch\z_bg_bdan_switch.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Bom_Guard\z_bg_bom_guard.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Bombwall\z_bg_bombwall.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Bowl_Wall\z_bg_bowl_wall.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Breakwall\z_bg_breakwall.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ddan_Jd\z_bg_ddan_jd.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ddan_Kd\z_bg_ddan_kd.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Dodoago\z_bg_dodoago.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Dy_Yoseizo\z_bg_dy_yoseizo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ganon_Otyuka\z_bg_ganon_otyuka.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Gate_Shutter\z_bg_gate_shutter.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Gjyo_Bridge\z_bg_gjyo_bridge.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Darkmeiro\z_bg_gnd_darkmeiro.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Firemeiro\z_bg_gnd_firemeiro.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Iceblock\z_bg_gnd_iceblock.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Nisekabe\z_bg_gnd_nisekabe.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Gnd_Soulmeiro\z_bg_gnd_soulmeiro.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka\z_bg_haka.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Gate\z_bg_haka_gate.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Huta\z_bg_haka_huta.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Megane\z_bg_haka_megane.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_MeganeBG\z_bg_haka_meganebg.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Sgami\z_bg_haka_sgami.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Ship\z_bg_haka_ship.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Trap\z_bg_haka_trap.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Tubo\z_bg_haka_tubo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Water\z_bg_haka_water.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Haka_Zou\z_bg_haka_zou.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Heavy_Block\z_bg_heavy_block.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Curtain\z_bg_hidan_curtain.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Dalm\z_bg_hidan_dalm.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Firewall\z_bg_hidan_firewall.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Fslift\z_bg_hidan_fslift.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Fwbig\z_bg_hidan_fwbig.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Hamstep\z_bg_hidan_hamstep.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Hrock\z_bg_hidan_hrock.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Kousi\z_bg_hidan_kousi.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Kowarerukabe\z_bg_hidan_kowarerukabe.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Rock\z_bg_hidan_rock.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Rsekizou\z_bg_hidan_rsekizou.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Sekizou\z_bg_hidan_sekizou.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Sima\z_bg_hidan_sima.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Hidan_Syoku\z_bg_hidan_syoku.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ice_Objects\z_bg_ice_objects.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ice_Shelter\z_bg_ice_shelter.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ice_Shutter\z_bg_ice_shutter.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ice_Turara\z_bg_ice_turara.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ingate\z_bg_ingate.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_1flift\z_bg_jya_1flift.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Amishutter\z_bg_jya_amishutter.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Bigmirror\z_bg_jya_bigmirror.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Block\z_bg_jya_block.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Bombchuiwa\z_bg_jya_bombchuiwa.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Bombiwa\z_bg_jya_bombiwa.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Cobra\z_bg_jya_cobra.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Goroiwa\z_bg_jya_goroiwa.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Haheniron\z_bg_jya_haheniron.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Ironobj\z_bg_jya_ironobj.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Kanaami\z_bg_jya_kanaami.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Lift\z_bg_jya_lift.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Megami\z_bg_jya_megami.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Jya_Zurerukabe\z_bg_jya_zurerukabe.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Menkuri_Eye\z_bg_menkuri_eye.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Menkuri_Kaiten\z_bg_menkuri_kaiten.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Menkuri_Nisekabe\z_bg_menkuri_nisekabe.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Bwall\z_bg_mizu_bwall.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Movebg\z_bg_mizu_movebg.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Shutter\z_bg_mizu_shutter.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Uzu\z_bg_mizu_uzu.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mizu_Water\z_bg_mizu_water.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mjin\z_bg_mjin.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Bigst\z_bg_mori_bigst.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Elevator\z_bg_mori_elevator.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Hashigo\z_bg_mori_hashigo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Hashira4\z_bg_mori_hashira4.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Hineri\z_bg_mori_hineri.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Idomizu\z_bg_mori_idomizu.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Kaitenkabe\z_bg_mori_kaitenkabe.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Mori_Rakkatenjo\z_bg_mori_rakkatenjo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Po_Event\z_bg_po_event.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Po_Syokudai\z_bg_po_syokudai.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Pushbox\z_bg_pushbox.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Relay_Objects\z_bg_relay_objects.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot00_Break\z_bg_spot00_break.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot00_Hanebasi\z_bg_spot00_hanebasi.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Fusya\z_bg_spot01_fusya.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Idohashira\z_bg_spot01_idohashira.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Idomizu\z_bg_spot01_idomizu.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Idosoko\z_bg_spot01_idosoko.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot01_Objects2\z_bg_spot01_objects2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot02_Objects\z_bg_spot02_objects.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot03_Taki\z_bg_spot03_taki.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot05_Soko\z_bg_spot05_soko.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot06_Objects\z_bg_spot06_objects.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot07_Taki\z_bg_spot07_taki.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot08_Bakudankabe\z_bg_spot08_bakudankabe.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot08_Iceblock\z_bg_spot08_iceblock.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot09_Obj\z_bg_spot09_obj.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot11_Bakudankabe\z_bg_spot11_bakudankabe.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot11_Oasis\z_bg_spot11_oasis.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot12_Gate\z_bg_spot12_gate.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot12_Saku\z_bg_spot12_saku.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot15_Rrbox\z_bg_spot15_rrbox.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot15_Saku\z_bg_spot15_saku.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot16_Bombstone\z_bg_spot16_bombstone.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot16_Doughnut\z_bg_spot16_doughnut.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot17_Bakudankabe\z_bg_spot17_bakudankabe.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot17_Funen\z_bg_spot17_funen.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot18_Basket\z_bg_spot18_basket.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot18_Futa\z_bg_spot18_futa.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot18_Obj\z_bg_spot18_obj.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Spot18_Shutter\z_bg_spot18_shutter.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Sst_Floor\z_bg_sst_floor.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Hikari\z_bg_toki_hikari.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd_cutscene_data_1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd_cutscene_data_2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd_cutscene_data_3.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Treemouth\z_bg_treemouth.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Treemouth\z_bg_treemouth_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Umajump\z_bg_umajump.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Vb_Sima\z_bg_vb_sima.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ydan_Hasi\z_bg_ydan_hasi.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ydan_Maruta\z_bg_ydan_maruta.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Ydan_Sp\z_bg_ydan_sp.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Bg_Zg\z_bg_zg.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Dodongo\z_boss_dodongo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Dodongo\z_boss_dodongo_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Fd\z_boss_fd.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Fd\z_boss_fd_colchk.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Fd2\z_boss_fd2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Fd2\z_boss_fd2_colchk.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Ganon\z_boss_ganon.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Ganon2\z_boss_ganon2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Ganon2\z_boss_ganon2_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Ganondrof\z_boss_ganondrof.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Goma\z_boss_goma.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Mo\z_boss_mo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Mo\z_boss_mo_colchk.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Sst\z_boss_sst.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Sst\z_boss_sst_colchk.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Tw\z_boss_tw.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Boss_Va\z_boss_va.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_6K\z_demo_6k.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Du\z_demo_du.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Du\z_demo_du_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Ec\z_demo_ec.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Effect\z_demo_effect.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Ext\z_demo_ext.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Geff\z_demo_geff.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Gj\z_demo_gj.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Go\z_demo_go.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Gt\z_demo_gt.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Ik\z_demo_ik.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Im\z_demo_im.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Im\z_demo_im_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data3.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data4.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data5.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data6.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data7.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo_cutscene_data8.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Kekkai\z_demo_kekkai.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Sa\z_demo_sa.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Sa\z_demo_sa_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Shd\z_demo_shd.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Demo_Tre_Lgt\z_demo_tre_lgt.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Door_Ana\z_door_ana.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Door_Gerudo\z_door_gerudo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Door_Killer\z_door_killer.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Door_Shutter\z_door_shutter.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Door_Toki\z_door_toki.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Door_Warp1\z_door_warp1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Efc_Erupc\z_efc_erupc.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Eff_Dust\z_eff_dust.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Elf_Msg\z_elf_msg.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Elf_Msg2\z_elf_msg2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Am\z_en_am.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ani\z_en_ani.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Anubice\z_en_anubice.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Anubice_Fire\z_en_anubice_fire.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Anubice_Tag\z_en_anubice_tag.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Arow_Trap\z_en_arow_trap.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Arrow\z_en_arrow.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Attack_Niw\z_en_attack_niw.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ba\z_en_ba.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bb\z_en_bb.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bdfire\z_en_bdfire.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bigokuta\z_en_bigokuta.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bili\z_en_bili.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bird\z_en_bird.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Blkobj\z_en_blkobj.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bom\z_en_bom.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bom_Bowl_Man\z_en_bom_bowl_man.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bom_Bowl_Pit\z_en_bom_bowl_pit.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bom_Chu\z_en_bom_chu.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bombf\z_en_bombf.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Boom\z_en_boom.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Box\z_en_box.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Brob\z_en_brob.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bubble\z_en_bubble.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Butte\z_en_butte.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bw\z_en_bw.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Bx\z_en_bx.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Changer\z_en_changer.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Clear_Tag\z_en_clear_tag.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Cow\z_en_cow.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Crow\z_en_crow.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Cs\z_en_cs.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Daiku\z_en_daiku.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Daiku_Kakariko\z_en_daiku_kakariko.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dekubaba\z_en_dekubaba.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dekunuts\z_en_dekunuts.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dh\z_en_dh.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dha\z_en_dha.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Diving_Game\z_en_diving_game.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dns\z_en_dns.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dnt_Demo\z_en_dnt_demo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dnt_Jiji\z_en_dnt_jiji.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dnt_Nomal\z_en_dnt_nomal.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dodojr\z_en_dodojr.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dodongo\z_en_dodongo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dog\z_en_dog.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Door\z_en_door.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ds\z_en_ds.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Du\z_en_du.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Dy_Extra\z_en_dy_extra.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Eg\z_en_eg.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Eiyer\z_en_eiyer.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Elf\z_en_elf.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Encount1\z_en_encount1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Encount2\z_en_encount2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ex_Item\z_en_ex_item.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ex_Ruppy\z_en_ex_ruppy.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Fd\z_en_fd.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Fd_Fire\z_en_fd_fire.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_fHG\z_en_fhg.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Fhg_Fire\z_en_fhg_fire.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Fire_Rock\z_en_fire_rock.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Firefly\z_en_firefly.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Fish\z_en_fish.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Floormas\z_en_floormas.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Fr\z_en_fr.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Fu\z_en_fu.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Fw\z_en_fw.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Fz\z_en_fz.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_G_Switch\z_en_g_switch.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ganon_Mant\z_en_ganon_mant.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ganon_Organ\z_en_ganon_organ.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Gb\z_en_gb.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ge1\z_en_ge1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ge2\z_en_ge2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ge3\z_en_ge3.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_GeldB\z_en_geldb.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_GirlA\z_en_girla.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Gm\z_en_gm.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Go\z_en_go.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Go2\z_en_go2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Goma\z_en_goma.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Goroiwa\z_en_goroiwa.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Gs\z_en_gs.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Guest\z_en_guest.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Hata\z_en_hata.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Heishi1\z_en_heishi1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Heishi2\z_en_heishi2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Heishi3\z_en_heishi3.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Heishi4\z_en_heishi4.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Hintnuts\z_en_hintnuts.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Holl\z_en_holl.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Honotrap\z_en_honotrap.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Horse\z_en_horse.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Horse_Game_Check\z_en_horse_game_check.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Horse_Ganon\z_en_horse_ganon.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Horse_Link_Child\z_en_horse_link_child.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Horse_Normal\z_en_horse_normal.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Horse_Zelda\z_en_horse_zelda.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Hs\z_en_hs.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Hs2\z_en_hs2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Hy\z_en_hy.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ice_Hono\z_en_ice_hono.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ik\z_en_ik.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_In\z_en_in.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Insect\z_en_insect.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ishi\z_en_ishi.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_It\z_en_it.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Jj\z_en_jj.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Jj\z_en_jj_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Js\z_en_js.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Jsjutan\z_en_jsjutan.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Kakasi\z_en_kakasi.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Kakasi2\z_en_kakasi2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Kakasi3\z_en_kakasi3.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Kanban\z_en_kanban.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Kanban\z_en_kanban_gfx.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Karebaba\z_en_karebaba.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ko\z_en_ko.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Kusa\z_en_kusa.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Kz\z_en_kz.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Light\z_en_light.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Lightbox\z_en_lightbox.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_M_Fire1\z_en_m_fire1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_M_Thunder\z_en_m_thunder.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ma1\z_en_ma1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ma2\z_en_ma2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ma3\z_en_ma3.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Mag\z_en_mag.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Mb\z_en_mb.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Md\z_en_md.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Mk\z_en_mk.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Mm\z_en_mm.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Mm2\z_en_mm2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ms\z_en_ms.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Mu\z_en_mu.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Nb\z_en_nb.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Nb\z_en_nb_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Niw\z_en_niw.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Niw_Girl\z_en_niw_girl.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Niw_Lady\z_en_niw_lady.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Nutsball\z_en_nutsball.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Nwc\z_en_nwc.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ny\z_en_ny.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_OE2\z_en_oe2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Okarina_Effect\z_en_okarina_effect.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Okarina_Tag\z_en_okarina_tag.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Okarina_Tag\z_en_okarina_tag_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Okuta\z_en_okuta.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ossan\z_en_ossan.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Owl\z_en_owl.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Part\z_en_part.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Peehat\z_en_peehat.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Po_Desert\z_en_po_desert.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Po_Field\z_en_po_field.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Po_Relay\z_en_po_relay.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Po_Sisters\z_en_po_sisters.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Poh\z_en_poh.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Pu_box\z_en_pu_box.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Rd\z_en_rd.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Reeba\z_en_reeba.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_River_Sound\z_en_river_sound.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Rl\z_en_rl.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Rr\z_en_rr.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ru1\z_en_ru1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ru1\z_en_ru1_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ru2\z_en_ru2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ru2\z_en_ru2_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Sa\z_en_sa.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Sb\z_en_sb.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Scene_Change\z_en_scene_change.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Sda\z_en_sda.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Shopnuts\z_en_shopnuts.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Si\z_en_si.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Siofuki\z_en_siofuki.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Skb\z_en_skb.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Skj\z_en_skj.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Skjneedle\z_en_skjneedle.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ssh\z_en_ssh.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_St\z_en_st.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Sth\z_en_sth.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Stream\z_en_stream.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Sw\z_en_sw.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Syateki_Itm\z_en_syateki_itm.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Syateki_Man\z_en_syateki_man.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Syateki_Niw\z_en_syateki_niw.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Ta\z_en_ta.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Takara_Man\z_en_takara_man.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Tana\z_en_tana.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Test\z_en_test.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Tg\z_en_tg.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Tite\z_en_tite.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Tk\z_en_tk.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Torch\z_en_torch.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Torch2\z_en_torch2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Toryo\z_en_toryo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Tp\z_en_tp.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Tr\z_en_tr.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Trap\z_en_trap.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Tubo_Trap\z_en_tubo_trap.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Vali\z_en_vali.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Vase\z_en_vase.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Vb_Ball\z_en_vb_ball.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Viewer\z_en_viewer.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Vm\z_en_vm.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Wall_Tubo\z_en_wall_tubo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Wallmas\z_en_wallmas.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Weather_Tag\z_en_weather_tag.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Weiyer\z_en_weiyer.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Wf\z_en_wf.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Wonder_Item\z_en_wonder_item.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Wonder_Talk\z_en_wonder_talk.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Wonder_Talk2\z_en_wonder_talk2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Wood02\z_en_wood02.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Xc\z_en_xc.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Yabusame_Mark\z_en_yabusame_mark.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Yukabyun\z_en_yukabyun.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Zf\z_en_zf.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Zl1\z_en_zl1.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Zl1\z_en_zl1_camera_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Zl1\z_en_zl1_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Zl2\z_en_zl2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Zl3\z_en_zl3.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Zl4\z_en_zl4.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Zl4\z_en_zl4_cutscene_data.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_En_Zo\z_en_zo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_End_Title\z_end_title.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Fishing\z_fishing.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Item_B_Heart\z_item_b_heart.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Item_Etcetera\z_item_etcetera.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Item_Inbox\z_item_inbox.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Item_Ocarina\z_item_ocarina.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Item_Shield\z_item_shield.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Magic_Dark\z_magic_dark.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Magic_Fire\z_magic_fire.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Magic_Wind\z_magic_wind.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Mir_Ray\z_mir_ray.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Bean\z_obj_bean.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Blockstop\z_obj_blockstop.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Bombiwa\z_obj_bombiwa.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Comb\z_obj_comb.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Dekujr\z_obj_dekujr.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Elevator\z_obj_elevator.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Hamishi\z_obj_hamishi.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Hana\z_obj_hana.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Hsblock\z_obj_hsblock.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Ice_Poly\z_obj_ice_poly.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Kibako\z_obj_kibako.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Kibako2\z_obj_kibako2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Lift\z_obj_lift.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Lightswitch\z_obj_lightswitch.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Makekinsuta\z_obj_makekinsuta.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Makeoshihiki\z_obj_makeoshihiki.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Mure\z_obj_mure.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Mure2\z_obj_mure2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Mure3\z_obj_mure3.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Oshihiki\z_obj_oshihiki.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Roomtimer\z_obj_roomtimer.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Switch\z_obj_switch.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Syokudai\z_obj_syokudai.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Timeblock\z_obj_timeblock.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Tsubo\z_obj_tsubo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Obj_Warp2block\z_obj_warp2block.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Object_Kankyo\z_object_kankyo.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Oceff_Spot\z_oceff_spot.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Oceff_Storm\z_oceff_storm.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Oceff_Wipe\z_oceff_wipe.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Oceff_Wipe2\z_oceff_wipe2.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Oceff_Wipe3\z_oceff_wipe3.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Oceff_Wipe4\z_oceff_wipe4.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_player_actor\z_player.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="src\overlays\actors\ovl_Shot_Sun\z_shot_sun.c"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClCompile> - <ClCompile Include="soh\Enhancements\debugger\debugger.cpp"> - <Filter>Source Files\soh\Enhancements\debugger</Filter> - </ClCompile> - <ClCompile Include="soh\Enhancements\debugger\debugSaveEditor.cpp"> - <Filter>Source Files\soh\Enhancements\debugger</Filter> - </ClCompile> - <ClCompile Include="soh\util.cpp"> - <Filter>Source Files\soh</Filter> - </ClCompile> - <ClCompile Include="soh\Enhancements\debugger\colViewer.cpp"> - <Filter>Source Files\soh\Enhancements\debugger</Filter> - </ClCompile> - <ClCompile Include="soh\Enhancements\debugger\ImGuiHelpers.cpp"> - <Filter>Source Files\soh\Enhancements\debugger</Filter> - <ClCompile Include="soh\frame_interpolation.cpp"> - <Filter>Source Files\soh</Filter> - </ClCompile> - <ClCompile Include="src\code\z_cheap_proc.c"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="soh\Enhancements\savestates.cpp"> - <Filter>Source Files\soh\Enhancements</Filter> - </ClCompile> + <ClInclude Include="soh\frame_interpolation.h" /> + <ClInclude Include="include\alloca.h" /> + <ClInclude Include="include\bgm.h" /> + <ClInclude Include="include\color.h" /> + <ClInclude Include="include\command_macros_base.h" /> + <ClInclude Include="include\fp.h" /> + <ClInclude Include="include\functions.h" /> + <ClInclude Include="include\global.h" /> + <ClInclude Include="include\ichain.h" /> + <ClInclude Include="include\macros.h" /> + <ClInclude Include="include\math_n64.h" /> + <ClInclude Include="include\regs.h" /> + <ClInclude Include="include\segment_symbols.h" /> + <ClInclude Include="include\sfx.h" /> + <ClInclude Include="include\stdarg.h" /> + <ClInclude Include="include\stdbool_n64.h" /> + <ClInclude Include="include\stddef_n64.h" /> + <ClInclude Include="include\stdlib_n64.h" /> + <ClInclude Include="include\ultra64.h" /> + <ClInclude Include="include\unk.h" /> + <ClInclude Include="include\variables.h" /> + <ClInclude Include="include\vt.h" /> + <ClInclude Include="include\z64.h" /> + <ClInclude Include="include\z64actor.h" /> + <ClInclude Include="include\z64animation.h" /> + <ClInclude Include="include\z64audio.h" /> + <ClInclude Include="include\z64bgcheck.h" /> + <ClInclude Include="include\z64camera.h" /> + <ClInclude Include="include\z64collision_check.h" /> + <ClInclude Include="include\z64cutscene.h" /> + <ClInclude Include="include\z64cutscene_commands.h" /> + <ClInclude Include="include\z64dma.h" /> + <ClInclude Include="include\z64effect.h" /> + <ClInclude Include="include\z64environment.h" /> + <ClInclude Include="include\z64interface.h" /> + <ClInclude Include="include\z64item.h" /> + <ClInclude Include="include\z64light.h" /> + <ClInclude Include="include\z64map_mark.h" /> + <ClInclude Include="include\z64math.h" /> + <ClInclude Include="include\z64object.h" /> + <ClInclude Include="include\z64player.h" /> + <ClInclude Include="include\z64save.h" /> + <ClInclude Include="include\z64scene.h" /> + <ClInclude Include="include\z64transition.h" /> + <ClInclude Include="resource.h" /> + <ClInclude Include="soh\Enhancements\bootcommands.h" /> + <ClInclude Include="soh\Enhancements\cvar.h" /> + <ClInclude Include="soh\Enhancements\debugconsole.h" /> + <ClInclude Include="soh\Enhancements\debugger\colViewer.h" /> + <ClInclude Include="soh\Enhancements\savestates.h" /> + <ClInclude Include="soh\Enhancements\debugger\debugger.h" /> + <ClInclude Include="soh\Enhancements\debugger\debugSaveEditor.h" /> + <ClInclude Include="soh\Enhancements\debugger\ImGuiHelpers.h" /> + <ClInclude Include="soh\gameconsole.h" /> + <ClInclude Include="soh\OTRAudio.h" /> + <ClInclude Include="soh\OTRGlobals.h" /> + <ClInclude Include="soh\util.h" /> + <ClInclude Include="src\overlays\actors\ovl_Arms_Hook\z_arms_hook.h" /> + <ClInclude Include="src\overlays\actors\ovl_Arrow_Fire\z_arrow_fire.h" /> + <ClInclude Include="src\overlays\actors\ovl_Arrow_Ice\z_arrow_ice.h" /> + <ClInclude Include="src\overlays\actors\ovl_Arrow_Light\z_arrow_light.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Bdan_Objects\z_bg_bdan_objects.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Bdan_Switch\z_bg_bdan_switch.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Bombwall\z_bg_bombwall.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Bom_Guard\z_bg_bom_guard.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Bowl_Wall\z_bg_bowl_wall.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Breakwall\z_bg_breakwall.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ddan_Jd\z_bg_ddan_jd.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ddan_Kd\z_bg_ddan_kd.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Dodoago\z_bg_dodoago.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Dy_Yoseizo\z_bg_dy_yoseizo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ganon_Otyuka\z_bg_ganon_otyuka.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Gate_Shutter\z_bg_gate_shutter.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Gjyo_Bridge\z_bg_gjyo_bridge.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Darkmeiro\z_bg_gnd_darkmeiro.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Firemeiro\z_bg_gnd_firemeiro.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Iceblock\z_bg_gnd_iceblock.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Nisekabe\z_bg_gnd_nisekabe.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Soulmeiro\z_bg_gnd_soulmeiro.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka\z_bg_haka.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Gate\z_bg_haka_gate.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Huta\z_bg_haka_huta.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_MeganeBG\z_bg_haka_meganebg.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Megane\z_bg_haka_megane.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Sgami\z_bg_haka_sgami.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Ship\z_bg_haka_ship.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Trap\z_bg_haka_trap.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Tubo\z_bg_haka_tubo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Water\z_bg_haka_water.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Zou\z_bg_haka_zou.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Heavy_Block\z_bg_heavy_block.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Curtain\z_bg_hidan_curtain.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Dalm\z_bg_hidan_dalm.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Firewall\z_bg_hidan_firewall.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Fslift\z_bg_hidan_fslift.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Fwbig\z_bg_hidan_fwbig.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Hamstep\z_bg_hidan_hamstep.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Hrock\z_bg_hidan_hrock.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Kousi\z_bg_hidan_kousi.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Kowarerukabe\z_bg_hidan_kowarerukabe.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Rock\z_bg_hidan_rock.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Rsekizou\z_bg_hidan_rsekizou.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Sekizou\z_bg_hidan_sekizou.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Sima\z_bg_hidan_sima.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Syoku\z_bg_hidan_syoku.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ice_Objects\z_bg_ice_objects.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ice_Shelter\z_bg_ice_shelter.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ice_Shutter\z_bg_ice_shutter.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ice_Turara\z_bg_ice_turara.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ingate\z_bg_ingate.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_1flift\z_bg_jya_1flift.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Amishutter\z_bg_jya_amishutter.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Bigmirror\z_bg_jya_bigmirror.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Block\z_bg_jya_block.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Bombchuiwa\z_bg_jya_bombchuiwa.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Bombiwa\z_bg_jya_bombiwa.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Cobra\z_bg_jya_cobra.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Goroiwa\z_bg_jya_goroiwa.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Haheniron\z_bg_jya_haheniron.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Ironobj\z_bg_jya_ironobj.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Kanaami\z_bg_jya_kanaami.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Lift\z_bg_jya_lift.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Megami\z_bg_jya_megami.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Zurerukabe\z_bg_jya_zurerukabe.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Menkuri_Eye\z_bg_menkuri_eye.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Menkuri_Kaiten\z_bg_menkuri_kaiten.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Menkuri_Nisekabe\z_bg_menkuri_nisekabe.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Bwall\z_bg_mizu_bwall.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Movebg\z_bg_mizu_movebg.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Shutter\z_bg_mizu_shutter.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Uzu\z_bg_mizu_uzu.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Water\z_bg_mizu_water.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mjin\z_bg_mjin.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Bigst\z_bg_mori_bigst.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Elevator\z_bg_mori_elevator.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Hashigo\z_bg_mori_hashigo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Hashira4\z_bg_mori_hashira4.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Hineri\z_bg_mori_hineri.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Idomizu\z_bg_mori_idomizu.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Kaitenkabe\z_bg_mori_kaitenkabe.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Rakkatenjo\z_bg_mori_rakkatenjo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Po_Event\z_bg_po_event.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Po_Syokudai\z_bg_po_syokudai.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Pushbox\z_bg_pushbox.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Relay_Objects\z_bg_relay_objects.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot00_Break\z_bg_spot00_break.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot00_Hanebasi\z_bg_spot00_hanebasi.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Fusya\z_bg_spot01_fusya.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Idohashira\z_bg_spot01_idohashira.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Idomizu\z_bg_spot01_idomizu.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Idosoko\z_bg_spot01_idosoko.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Objects2\z_bg_spot01_objects2.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot02_Objects\z_bg_spot02_objects.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot03_Taki\z_bg_spot03_taki.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot05_Soko\z_bg_spot05_soko.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot06_Objects\z_bg_spot06_objects.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot07_Taki\z_bg_spot07_taki.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot08_Bakudankabe\z_bg_spot08_bakudankabe.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot08_Iceblock\z_bg_spot08_iceblock.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot09_Obj\z_bg_spot09_obj.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot11_Bakudankabe\z_bg_spot11_bakudankabe.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot11_Oasis\z_bg_spot11_oasis.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot12_Gate\z_bg_spot12_gate.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot12_Saku\z_bg_spot12_saku.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot15_Rrbox\z_bg_spot15_rrbox.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot15_Saku\z_bg_spot15_saku.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot16_Bombstone\z_bg_spot16_bombstone.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot16_Doughnut\z_bg_spot16_doughnut.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot17_Bakudankabe\z_bg_spot17_bakudankabe.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot17_Funen\z_bg_spot17_funen.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot18_Basket\z_bg_spot18_basket.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot18_Futa\z_bg_spot18_futa.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot18_Obj\z_bg_spot18_obj.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Spot18_Shutter\z_bg_spot18_shutter.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Sst_Floor\z_bg_sst_floor.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Toki_Hikari\z_bg_toki_hikari.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Treemouth\z_bg_treemouth.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Umajump\z_bg_umajump.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Vb_Sima\z_bg_vb_sima.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ydan_Hasi\z_bg_ydan_hasi.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ydan_Maruta\z_bg_ydan_maruta.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Ydan_Sp\z_bg_ydan_sp.h" /> + <ClInclude Include="src\overlays\actors\ovl_Bg_Zg\z_bg_zg.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Dodongo\z_boss_dodongo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Fd2\z_boss_fd2.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Fd\z_boss_fd.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Ganon2\z_boss_ganon2.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Ganondrof\z_boss_ganondrof.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Ganon\z_boss_ganon.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Goma\z_boss_goma.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Mo\z_boss_mo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Sst\z_boss_sst.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Tw\z_boss_tw.h" /> + <ClInclude Include="src\overlays\actors\ovl_Boss_Va\z_boss_va.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_6K\z_demo_6k.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Du\z_demo_du.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Ec\z_demo_ec.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Effect\z_demo_effect.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Ext\z_demo_ext.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Geff\z_demo_geff.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Gj\z_demo_gj.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Go\z_demo_go.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Gt\z_demo_gt.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Ik\z_demo_ik.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Im\z_demo_im.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Kekkai\z_demo_kekkai.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Sa\z_demo_sa.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Shd\z_demo_shd.h" /> + <ClInclude Include="src\overlays\actors\ovl_Demo_Tre_Lgt\z_demo_tre_lgt.h" /> + <ClInclude Include="src\overlays\actors\ovl_Door_Ana\z_door_ana.h" /> + <ClInclude Include="src\overlays\actors\ovl_Door_Gerudo\z_door_gerudo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Door_Killer\z_door_killer.h" /> + <ClInclude Include="src\overlays\actors\ovl_Door_Shutter\z_door_shutter.h" /> + <ClInclude Include="src\overlays\actors\ovl_Door_Toki\z_door_toki.h" /> + <ClInclude Include="src\overlays\actors\ovl_Door_Warp1\z_door_warp1.h" /> + <ClInclude Include="src\overlays\actors\ovl_Efc_Erupc\z_efc_erupc.h" /> + <ClInclude Include="src\overlays\actors\ovl_Eff_Dust\z_eff_dust.h" /> + <ClInclude Include="src\overlays\actors\ovl_Elf_Msg2\z_elf_msg2.h" /> + <ClInclude Include="src\overlays\actors\ovl_Elf_Msg\z_elf_msg.h" /> + <ClInclude Include="src\overlays\actors\ovl_End_Title\z_end_title.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Am\z_en_am.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ani\z_en_ani.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Anubice\z_en_anubice.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Anubice_Fire\z_en_anubice_fire.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Anubice_Tag\z_en_anubice_tag.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Arow_Trap\z_en_arow_trap.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Arrow\z_en_arrow.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Attack_Niw\z_en_attack_niw.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ba\z_en_ba.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bb\z_en_bb.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bdfire\z_en_bdfire.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bigokuta\z_en_bigokuta.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bili\z_en_bili.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bird\z_en_bird.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Blkobj\z_en_blkobj.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bombf\z_en_bombf.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bom\z_en_bom.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bom_Bowl_Man\z_en_bom_bowl_man.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bom_Bowl_Pit\z_en_bom_bowl_pit.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bom_Chu\z_en_bom_chu.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Boom\z_en_boom.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Box\z_en_box.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Brob\z_en_brob.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bubble\z_en_bubble.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Butte\z_en_butte.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bw\z_en_bw.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Bx\z_en_bx.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Changer\z_en_changer.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Clear_Tag\z_en_clear_tag.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Cow\z_en_cow.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Crow\z_en_crow.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Cs\z_en_cs.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Daiku\z_en_daiku.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Daiku_Kakariko\z_en_daiku_kakariko.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dekubaba\z_en_dekubaba.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dekunuts\z_en_dekunuts.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dha\z_en_dha.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dh\z_en_dh.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Diving_Game\z_en_diving_game.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dns\z_en_dns.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dnt_Demo\z_en_dnt_demo.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dnt_Jiji\z_en_dnt_jiji.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dnt_Nomal\z_en_dnt_nomal.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dodojr\z_en_dodojr.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dodongo\z_en_dodongo.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dog\z_en_dog.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Door\z_en_door.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ds\z_en_ds.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Du\z_en_du.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Dy_Extra\z_en_dy_extra.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Eg\z_en_eg.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Eiyer\z_en_eiyer.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Elf\z_en_elf.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Encount1\z_en_encount1.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Encount2\z_en_encount2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ex_Item\z_en_ex_item.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ex_Ruppy\z_en_ex_ruppy.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Fd\z_en_fd.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Fd_Fire\z_en_fd_fire.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_fHG\z_en_fhg.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Fhg_Fire\z_en_fhg_fire.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Firefly\z_en_firefly.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Fire_Rock\z_en_fire_rock.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Fish\z_en_fish.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Floormas\z_en_floormas.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Fr\z_en_fr.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Fu\z_en_fu.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Fw\z_en_fw.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Fz\z_en_fz.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ganon_Mant\z_en_ganon_mant.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ganon_Organ\z_en_ganon_organ.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Gb\z_en_gb.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ge1\z_en_ge1.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ge2\z_en_ge2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ge3\z_en_ge3.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_GeldB\z_en_geldb.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_GirlA\z_en_girla.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Gm\z_en_gm.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Go2\z_en_go2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Goma\z_en_goma.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Goroiwa\z_en_goroiwa.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Go\z_en_go.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Gs\z_en_gs.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Guest\z_en_guest.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_G_Switch\z_en_g_switch.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Hata\z_en_hata.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Heishi1\z_en_heishi1.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Heishi2\z_en_heishi2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Heishi3\z_en_heishi3.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Heishi4\z_en_heishi4.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Hintnuts\z_en_hintnuts.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Holl\z_en_holl.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Honotrap\z_en_honotrap.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Horse\z_en_horse.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Horse_Game_Check\z_en_horse_game_check.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Horse_Ganon\z_en_horse_ganon.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Horse_Link_Child\z_en_horse_link_child.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Horse_Normal\z_en_horse_normal.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Horse_Zelda\z_en_horse_zelda.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Hs2\z_en_hs2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Hs\z_en_hs.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Hy\z_en_hy.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ice_Hono\z_en_ice_hono.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ik\z_en_ik.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Insect\z_en_insect.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_In\z_en_in.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ishi\z_en_ishi.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_It\z_en_it.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Jj\z_en_jj.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Jsjutan\z_en_jsjutan.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Js\z_en_js.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Kakasi2\z_en_kakasi2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Kakasi3\z_en_kakasi3.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Kakasi\z_en_kakasi.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Kanban\z_en_kanban.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Karebaba\z_en_karebaba.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ko\z_en_ko.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Kusa\z_en_kusa.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Kz\z_en_kz.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Lightbox\z_en_lightbox.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Light\z_en_light.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ma1\z_en_ma1.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ma2\z_en_ma2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ma3\z_en_ma3.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Mag\z_en_mag.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Mb\z_en_mb.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Md\z_en_md.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Mk\z_en_mk.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Mm2\z_en_mm2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Mm\z_en_mm.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ms\z_en_ms.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Mu\z_en_mu.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_M_Fire1\z_en_m_fire1.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_M_Thunder\z_en_m_thunder.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Nb\z_en_nb.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Niw\z_en_niw.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Niw_Girl\z_en_niw_girl.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Niw_Lady\z_en_niw_lady.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Nutsball\z_en_nutsball.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Nwc\z_en_nwc.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ny\z_en_ny.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_OE2\z_en_oe2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Okarina_Effect\z_en_okarina_effect.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Okarina_Tag\z_en_okarina_tag.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Okuta\z_en_okuta.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ossan\z_en_ossan.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Owl\z_en_owl.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Part\z_en_part.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Peehat\z_en_peehat.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Poh\z_en_poh.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Po_Desert\z_en_po_desert.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Po_Field\z_en_po_field.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Po_Relay\z_en_po_relay.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Po_Sisters\z_en_po_sisters.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Pu_box\z_en_pu_box.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Rd\z_en_rd.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Reeba\z_en_reeba.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_River_Sound\z_en_river_sound.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Rl\z_en_rl.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Rr\z_en_rr.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ru1\z_en_ru1.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ru2\z_en_ru2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Sa\z_en_sa.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Sb\z_en_sb.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Scene_Change\z_en_scene_change.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Sda\z_en_sda.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Shopnuts\z_en_shopnuts.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Siofuki\z_en_siofuki.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Si\z_en_si.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Skb\z_en_skb.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Skjneedle\z_en_skjneedle.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Skj\z_en_skj.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ssh\z_en_ssh.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Sth\z_en_sth.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Stream\z_en_stream.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_St\z_en_st.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Sw\z_en_sw.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Syateki_Itm\z_en_syateki_itm.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Syateki_Man\z_en_syateki_man.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Syateki_Niw\z_en_syateki_niw.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Takara_Man\z_en_takara_man.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Tana\z_en_tana.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Ta\z_en_ta.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Test\z_en_test.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Tg\z_en_tg.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Tite\z_en_tite.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Tk\z_en_tk.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Torch2\z_en_torch2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Torch\z_en_torch.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Toryo\z_en_toryo.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Tp\z_en_tp.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Trap\z_en_trap.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Tr\z_en_tr.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Tubo_Trap\z_en_tubo_trap.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Vali\z_en_vali.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Vase\z_en_vase.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Vb_Ball\z_en_vb_ball.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Viewer\z_en_viewer.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Vm\z_en_vm.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Wallmas\z_en_wallmas.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Wall_Tubo\z_en_wall_tubo.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Weather_Tag\z_en_weather_tag.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Weiyer\z_en_weiyer.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Wf\z_en_wf.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Wonder_Item\z_en_wonder_item.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Wonder_Talk2\z_en_wonder_talk2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Wonder_Talk\z_en_wonder_talk.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Wood02\z_en_wood02.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Xc\z_en_xc.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Yabusame_Mark\z_en_yabusame_mark.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Yukabyun\z_en_yukabyun.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Zf\z_en_zf.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Zl1\z_en_zl1.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Zl2\z_en_zl2.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Zl3\z_en_zl3.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Zl4\z_en_zl4.h" /> + <ClInclude Include="src\overlays\actors\ovl_En_Zo\z_en_zo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Fishing\z_fishing.h" /> + <ClInclude Include="src\overlays\actors\ovl_Item_B_Heart\z_item_b_heart.h" /> + <ClInclude Include="src\overlays\actors\ovl_Item_Etcetera\z_item_etcetera.h" /> + <ClInclude Include="src\overlays\actors\ovl_Item_Inbox\z_item_inbox.h" /> + <ClInclude Include="src\overlays\actors\ovl_Item_Ocarina\z_item_ocarina.h" /> + <ClInclude Include="src\overlays\actors\ovl_Item_Shield\z_item_shield.h" /> + <ClInclude Include="src\overlays\actors\ovl_kaleido_scope\z_kaleido_scope.h" /> + <ClInclude Include="src\overlays\actors\ovl_Magic_Dark\z_magic_dark.h" /> + <ClInclude Include="src\overlays\actors\ovl_Magic_Fire\z_magic_fire.h" /> + <ClInclude Include="src\overlays\actors\ovl_Magic_Wind\z_magic_wind.h" /> + <ClInclude Include="src\overlays\actors\ovl_Mir_Ray\z_mir_ray.h" /> + <ClInclude Include="src\overlays\actors\ovl_Object_Kankyo\z_object_kankyo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Bean\z_obj_bean.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Blockstop\z_obj_blockstop.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Bombiwa\z_obj_bombiwa.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Comb\z_obj_comb.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Dekujr\z_obj_dekujr.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Elevator\z_obj_elevator.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Hamishi\z_obj_hamishi.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Hana\z_obj_hana.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Hsblock\z_obj_hsblock.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Ice_Poly\z_obj_ice_poly.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Kibako2\z_obj_kibako2.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Kibako\z_obj_kibako.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Lift\z_obj_lift.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Lightswitch\z_obj_lightswitch.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Makekinsuta\z_obj_makekinsuta.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Makeoshihiki\z_obj_makeoshihiki.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Mure2\z_obj_mure2.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Mure3\z_obj_mure3.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Mure\z_obj_mure.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Oshihiki\z_obj_oshihiki.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Roomtimer\z_obj_roomtimer.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Switch\z_obj_switch.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Syokudai\z_obj_syokudai.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Timeblock\z_obj_timeblock.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Tsubo\z_obj_tsubo.h" /> + <ClInclude Include="src\overlays\actors\ovl_Obj_Warp2block\z_obj_warp2block.h" /> + <ClInclude Include="src\overlays\actors\ovl_Oceff_Spot\z_oceff_spot.h" /> + <ClInclude Include="src\overlays\actors\ovl_Oceff_Storm\z_oceff_storm.h" /> + <ClInclude Include="src\overlays\actors\ovl_Oceff_Wipe2\z_oceff_wipe2.h" /> + <ClInclude Include="src\overlays\actors\ovl_Oceff_Wipe3\z_oceff_wipe3.h" /> + <ClInclude Include="src\overlays\actors\ovl_Oceff_Wipe4\z_oceff_wipe4.h" /> + <ClInclude Include="src\overlays\actors\ovl_Oceff_Wipe\z_oceff_wipe.h" /> + <ClInclude Include="src\overlays\actors\ovl_Shot_Sun\z_shot_sun.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Blast\z_eff_ss_blast.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Bomb2\z_eff_ss_bomb2.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Bomb\z_eff_ss_bomb.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Bubble\z_eff_ss_bubble.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dead_Db\z_eff_ss_dead_db.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dead_Dd\z_eff_ss_dead_dd.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dead_Ds\z_eff_ss_dead_ds.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dead_Sound\z_eff_ss_dead_sound.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dt_Bubble\z_eff_ss_dt_bubble.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dust\z_eff_ss_dust.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_D_Fire\z_eff_ss_d_fire.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_En_Fire\z_eff_ss_en_fire.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_En_Ice\z_eff_ss_en_ice.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Extra\z_eff_ss_extra.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Fcircle\z_eff_ss_fcircle.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Fhg_Flash\z_eff_ss_fhg_flash.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Fire_Tail\z_eff_ss_fire_tail.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Fire\z_eff_ss_g_fire.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Magma2\z_eff_ss_g_magma2.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Magma\z_eff_ss_g_magma.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Ripple\z_eff_ss_g_ripple.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Spk\z_eff_ss_g_spk.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Splash\z_eff_ss_g_splash.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Hahen\z_eff_ss_hahen.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_HitMark\z_eff_ss_hitmark.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Ice_Piece\z_eff_ss_ice_piece.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Ice_Smoke\z_eff_ss_ice_smoke.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Kakera\z_eff_ss_kakera.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_KiraKira\z_eff_ss_kirakira.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_K_Fire\z_eff_ss_k_fire.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Lightning\z_eff_ss_lightning.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Sibuki2\z_eff_ss_sibuki2.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Sibuki\z_eff_ss_sibuki.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Solder_Srch_Ball\z_eff_ss_solder_srch_ball.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Stick\z_eff_ss_stick.h" /> + <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Stone1\z_eff_ss_stone1.h" /> + <ClInclude Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_scope.h" /> </ItemGroup> <ItemGroup> - <ClInclude Include="src\overlays\actors\ovl_kaleido_scope\z_kaleido_scope.h"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClInclude> - <ClInclude Include="include\alloca.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\bgm.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\color.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\command_macros_base.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\fp.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\functions.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\global.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\ichain.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\macros.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\math_n64.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\regs.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\segment_symbols.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\sfx.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\stdarg.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\stdbool_n64.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\stddef_n64.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\ultra64.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\unk.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\variables.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\vt.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64actor.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64animation.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64audio.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64bgcheck.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64camera.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64collision_check.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64cutscene.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64cutscene_commands.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64dma.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64effect.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64environment.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64interface.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64item.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64light.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64map_mark.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64math.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64object.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64player.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64save.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64scene.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="include\z64transition.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Stone1\z_eff_ss_stone1.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Stick\z_eff_ss_stick.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Solder_Srch_Ball\z_eff_ss_solder_srch_ball.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Sibuki2\z_eff_ss_sibuki2.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Sibuki\z_eff_ss_sibuki.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Lightning\z_eff_ss_lightning.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_KiraKira\z_eff_ss_kirakira.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Kakera\z_eff_ss_kakera.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_K_Fire\z_eff_ss_k_fire.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Ice_Smoke\z_eff_ss_ice_smoke.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Ice_Piece\z_eff_ss_ice_piece.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_HitMark\z_eff_ss_hitmark.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Hahen\z_eff_ss_hahen.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Splash\z_eff_ss_g_splash.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Spk\z_eff_ss_g_spk.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Ripple\z_eff_ss_g_ripple.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Magma2\z_eff_ss_g_magma2.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Magma\z_eff_ss_g_magma.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_G_Fire\z_eff_ss_g_fire.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Fire_Tail\z_eff_ss_fire_tail.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Fhg_Flash\z_eff_ss_fhg_flash.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Fcircle\z_eff_ss_fcircle.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Extra\z_eff_ss_extra.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_En_Ice\z_eff_ss_en_ice.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_En_Fire\z_eff_ss_en_fire.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dust\z_eff_ss_dust.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dt_Bubble\z_eff_ss_dt_bubble.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dead_Sound\z_eff_ss_dead_sound.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dead_Ds\z_eff_ss_dead_ds.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dead_Dd\z_eff_ss_dead_dd.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Dead_Db\z_eff_ss_dead_db.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_D_Fire\z_eff_ss_d_fire.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Bubble\z_eff_ss_bubble.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Bomb2\z_eff_ss_bomb2.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Bomb\z_eff_ss_bomb.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="src\overlays\effects\ovl_Effect_Ss_Blast\z_eff_ss_blast.h"> - <Filter>Source Files\src\overlays\effects</Filter> - </ClInclude> - <ClInclude Include="include\stdlib_n64.h"> - <Filter>Header Files\include</Filter> - </ClInclude> - <ClInclude Include="soh\OTRGlobals.h"> - <Filter>Source Files\soh</Filter> - </ClInclude> - <ClInclude Include="src\overlays\misc\ovl_kaleido_scope\z_kaleido_scope.h"> - <Filter>Source Files\src\overlays\misc\ovl_kaleido_scope</Filter> - </ClInclude> - <ClInclude Include="soh\gameconsole.h"> - <Filter>Header Files\soh\Enhancements</Filter> - </ClInclude> - <ClInclude Include="soh\Enhancements\bootcommands.h"> - <Filter>Header Files\soh\Enhancements</Filter> - </ClInclude> - <ClInclude Include="soh\Enhancements\cvar.h"> - <Filter>Header Files\soh\Enhancements</Filter> - </ClInclude> - <ClInclude Include="soh\Enhancements\debugconsole.h"> - <Filter>Header Files\soh\Enhancements</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Arms_Hook\z_arms_hook.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Arrow_Fire\z_arrow_fire.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Arrow_Ice\z_arrow_ice.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Arrow_Light\z_arrow_light.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Bdan_Objects\z_bg_bdan_objects.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Bdan_Switch\z_bg_bdan_switch.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Bom_Guard\z_bg_bom_guard.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Bombwall\z_bg_bombwall.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Bowl_Wall\z_bg_bowl_wall.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Breakwall\z_bg_breakwall.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ddan_Jd\z_bg_ddan_jd.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ddan_Kd\z_bg_ddan_kd.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Dodoago\z_bg_dodoago.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Dy_Yoseizo\z_bg_dy_yoseizo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ganon_Otyuka\z_bg_ganon_otyuka.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Gate_Shutter\z_bg_gate_shutter.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Gjyo_Bridge\z_bg_gjyo_bridge.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Darkmeiro\z_bg_gnd_darkmeiro.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Firemeiro\z_bg_gnd_firemeiro.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Iceblock\z_bg_gnd_iceblock.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Nisekabe\z_bg_gnd_nisekabe.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Gnd_Soulmeiro\z_bg_gnd_soulmeiro.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka\z_bg_haka.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Gate\z_bg_haka_gate.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Huta\z_bg_haka_huta.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Megane\z_bg_haka_megane.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_MeganeBG\z_bg_haka_meganebg.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Sgami\z_bg_haka_sgami.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Ship\z_bg_haka_ship.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Trap\z_bg_haka_trap.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Tubo\z_bg_haka_tubo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Water\z_bg_haka_water.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Haka_Zou\z_bg_haka_zou.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Heavy_Block\z_bg_heavy_block.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Curtain\z_bg_hidan_curtain.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Dalm\z_bg_hidan_dalm.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Firewall\z_bg_hidan_firewall.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Fslift\z_bg_hidan_fslift.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Fwbig\z_bg_hidan_fwbig.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Hamstep\z_bg_hidan_hamstep.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Hrock\z_bg_hidan_hrock.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Kousi\z_bg_hidan_kousi.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Kowarerukabe\z_bg_hidan_kowarerukabe.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Rock\z_bg_hidan_rock.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Rsekizou\z_bg_hidan_rsekizou.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Sekizou\z_bg_hidan_sekizou.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Sima\z_bg_hidan_sima.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Hidan_Syoku\z_bg_hidan_syoku.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ice_Objects\z_bg_ice_objects.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ice_Shelter\z_bg_ice_shelter.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ice_Shutter\z_bg_ice_shutter.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ice_Turara\z_bg_ice_turara.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ingate\z_bg_ingate.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_1flift\z_bg_jya_1flift.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Amishutter\z_bg_jya_amishutter.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Bigmirror\z_bg_jya_bigmirror.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Block\z_bg_jya_block.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Bombchuiwa\z_bg_jya_bombchuiwa.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Bombiwa\z_bg_jya_bombiwa.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Cobra\z_bg_jya_cobra.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Goroiwa\z_bg_jya_goroiwa.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Haheniron\z_bg_jya_haheniron.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Ironobj\z_bg_jya_ironobj.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Kanaami\z_bg_jya_kanaami.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Lift\z_bg_jya_lift.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Megami\z_bg_jya_megami.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Jya_Zurerukabe\z_bg_jya_zurerukabe.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Menkuri_Eye\z_bg_menkuri_eye.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Menkuri_Kaiten\z_bg_menkuri_kaiten.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Menkuri_Nisekabe\z_bg_menkuri_nisekabe.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Bwall\z_bg_mizu_bwall.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Movebg\z_bg_mizu_movebg.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Shutter\z_bg_mizu_shutter.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Uzu\z_bg_mizu_uzu.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mizu_Water\z_bg_mizu_water.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mjin\z_bg_mjin.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Bigst\z_bg_mori_bigst.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Elevator\z_bg_mori_elevator.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Hashigo\z_bg_mori_hashigo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Hashira4\z_bg_mori_hashira4.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Hineri\z_bg_mori_hineri.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Idomizu\z_bg_mori_idomizu.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Kaitenkabe\z_bg_mori_kaitenkabe.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Mori_Rakkatenjo\z_bg_mori_rakkatenjo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Po_Event\z_bg_po_event.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Po_Syokudai\z_bg_po_syokudai.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Pushbox\z_bg_pushbox.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Relay_Objects\z_bg_relay_objects.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot00_Break\z_bg_spot00_break.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot00_Hanebasi\z_bg_spot00_hanebasi.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Fusya\z_bg_spot01_fusya.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Idohashira\z_bg_spot01_idohashira.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Idomizu\z_bg_spot01_idomizu.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Idosoko\z_bg_spot01_idosoko.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot01_Objects2\z_bg_spot01_objects2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot02_Objects\z_bg_spot02_objects.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot03_Taki\z_bg_spot03_taki.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot05_Soko\z_bg_spot05_soko.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot06_Objects\z_bg_spot06_objects.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot07_Taki\z_bg_spot07_taki.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot08_Bakudankabe\z_bg_spot08_bakudankabe.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot08_Iceblock\z_bg_spot08_iceblock.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot09_Obj\z_bg_spot09_obj.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot11_Bakudankabe\z_bg_spot11_bakudankabe.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot11_Oasis\z_bg_spot11_oasis.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot12_Gate\z_bg_spot12_gate.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot12_Saku\z_bg_spot12_saku.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot15_Rrbox\z_bg_spot15_rrbox.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot15_Saku\z_bg_spot15_saku.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot16_Bombstone\z_bg_spot16_bombstone.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot16_Doughnut\z_bg_spot16_doughnut.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot17_Bakudankabe\z_bg_spot17_bakudankabe.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot17_Funen\z_bg_spot17_funen.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot18_Basket\z_bg_spot18_basket.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot18_Futa\z_bg_spot18_futa.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot18_Obj\z_bg_spot18_obj.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Spot18_Shutter\z_bg_spot18_shutter.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Sst_Floor\z_bg_sst_floor.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Toki_Hikari\z_bg_toki_hikari.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Toki_Swd\z_bg_toki_swd.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Treemouth\z_bg_treemouth.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Umajump\z_bg_umajump.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Vb_Sima\z_bg_vb_sima.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ydan_Hasi\z_bg_ydan_hasi.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ydan_Maruta\z_bg_ydan_maruta.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Ydan_Sp\z_bg_ydan_sp.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Bg_Zg\z_bg_zg.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Dodongo\z_boss_dodongo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Fd\z_boss_fd.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Fd2\z_boss_fd2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Ganon\z_boss_ganon.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Ganon2\z_boss_ganon2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Ganondrof\z_boss_ganondrof.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Goma\z_boss_goma.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Mo\z_boss_mo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Sst\z_boss_sst.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Tw\z_boss_tw.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Boss_Va\z_boss_va.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_6K\z_demo_6k.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Du\z_demo_du.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Ec\z_demo_ec.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Effect\z_demo_effect.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Ext\z_demo_ext.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Geff\z_demo_geff.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Gj\z_demo_gj.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Go\z_demo_go.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Gt\z_demo_gt.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Ik\z_demo_ik.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Im\z_demo_im.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Kankyo\z_demo_kankyo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Kekkai\z_demo_kekkai.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Sa\z_demo_sa.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Shd\z_demo_shd.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Demo_Tre_Lgt\z_demo_tre_lgt.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Door_Ana\z_door_ana.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Door_Gerudo\z_door_gerudo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Door_Killer\z_door_killer.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Door_Shutter\z_door_shutter.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Door_Toki\z_door_toki.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Door_Warp1\z_door_warp1.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Efc_Erupc\z_efc_erupc.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Eff_Dust\z_eff_dust.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Elf_Msg\z_elf_msg.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Elf_Msg2\z_elf_msg2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Am\z_en_am.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ani\z_en_ani.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Anubice\z_en_anubice.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Anubice_Fire\z_en_anubice_fire.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Anubice_Tag\z_en_anubice_tag.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Arow_Trap\z_en_arow_trap.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Arrow\z_en_arrow.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Attack_Niw\z_en_attack_niw.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ba\z_en_ba.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bb\z_en_bb.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bdfire\z_en_bdfire.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bigokuta\z_en_bigokuta.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bili\z_en_bili.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bird\z_en_bird.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Blkobj\z_en_blkobj.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bom\z_en_bom.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bom_Bowl_Man\z_en_bom_bowl_man.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bom_Bowl_Pit\z_en_bom_bowl_pit.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bom_Chu\z_en_bom_chu.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bombf\z_en_bombf.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Boom\z_en_boom.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Box\z_en_box.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Brob\z_en_brob.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bubble\z_en_bubble.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Butte\z_en_butte.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bw\z_en_bw.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Bx\z_en_bx.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Changer\z_en_changer.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Clear_Tag\z_en_clear_tag.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Cow\z_en_cow.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Crow\z_en_crow.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Cs\z_en_cs.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Daiku\z_en_daiku.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Daiku_Kakariko\z_en_daiku_kakariko.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dekubaba\z_en_dekubaba.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dekunuts\z_en_dekunuts.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dh\z_en_dh.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dha\z_en_dha.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Diving_Game\z_en_diving_game.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dns\z_en_dns.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dnt_Demo\z_en_dnt_demo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dnt_Jiji\z_en_dnt_jiji.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dnt_Nomal\z_en_dnt_nomal.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dodojr\z_en_dodojr.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dodongo\z_en_dodongo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dog\z_en_dog.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Door\z_en_door.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ds\z_en_ds.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Du\z_en_du.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Dy_Extra\z_en_dy_extra.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Eg\z_en_eg.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Eiyer\z_en_eiyer.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Elf\z_en_elf.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Encount1\z_en_encount1.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Encount2\z_en_encount2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ex_Item\z_en_ex_item.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ex_Ruppy\z_en_ex_ruppy.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Fd\z_en_fd.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Fd_Fire\z_en_fd_fire.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_fHG\z_en_fhg.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Fhg_Fire\z_en_fhg_fire.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Fire_Rock\z_en_fire_rock.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Firefly\z_en_firefly.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Fish\z_en_fish.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Floormas\z_en_floormas.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Fr\z_en_fr.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Fu\z_en_fu.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Fw\z_en_fw.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Fz\z_en_fz.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_G_Switch\z_en_g_switch.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ganon_Mant\z_en_ganon_mant.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ganon_Organ\z_en_ganon_organ.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Gb\z_en_gb.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ge1\z_en_ge1.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ge2\z_en_ge2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ge3\z_en_ge3.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_GeldB\z_en_geldb.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_GirlA\z_en_girla.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Gm\z_en_gm.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Go\z_en_go.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Go2\z_en_go2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Goma\z_en_goma.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Goroiwa\z_en_goroiwa.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Gs\z_en_gs.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Guest\z_en_guest.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Hata\z_en_hata.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Heishi1\z_en_heishi1.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Heishi2\z_en_heishi2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Heishi3\z_en_heishi3.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Heishi4\z_en_heishi4.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Hintnuts\z_en_hintnuts.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Holl\z_en_holl.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Honotrap\z_en_honotrap.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Horse\z_en_horse.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Horse_Game_Check\z_en_horse_game_check.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Horse_Ganon\z_en_horse_ganon.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Horse_Link_Child\z_en_horse_link_child.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Horse_Normal\z_en_horse_normal.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Horse_Zelda\z_en_horse_zelda.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Hs\z_en_hs.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Hs2\z_en_hs2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Hy\z_en_hy.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ice_Hono\z_en_ice_hono.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ik\z_en_ik.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_In\z_en_in.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Insect\z_en_insect.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ishi\z_en_ishi.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_It\z_en_it.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Jj\z_en_jj.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Js\z_en_js.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Jsjutan\z_en_jsjutan.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Kakasi\z_en_kakasi.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Kakasi2\z_en_kakasi2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Kakasi3\z_en_kakasi3.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Kanban\z_en_kanban.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Karebaba\z_en_karebaba.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ko\z_en_ko.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Kusa\z_en_kusa.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Kz\z_en_kz.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Light\z_en_light.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Lightbox\z_en_lightbox.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_M_Fire1\z_en_m_fire1.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_M_Thunder\z_en_m_thunder.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ma1\z_en_ma1.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ma2\z_en_ma2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ma3\z_en_ma3.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Mag\z_en_mag.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Mb\z_en_mb.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Md\z_en_md.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Mk\z_en_mk.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Mm\z_en_mm.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Mm2\z_en_mm2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ms\z_en_ms.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Mu\z_en_mu.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Nb\z_en_nb.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Niw\z_en_niw.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Niw_Girl\z_en_niw_girl.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Niw_Lady\z_en_niw_lady.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Nutsball\z_en_nutsball.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Nwc\z_en_nwc.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ny\z_en_ny.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_OE2\z_en_oe2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Okarina_Effect\z_en_okarina_effect.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Okarina_Tag\z_en_okarina_tag.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Okuta\z_en_okuta.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ossan\z_en_ossan.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Owl\z_en_owl.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Part\z_en_part.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Peehat\z_en_peehat.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Po_Desert\z_en_po_desert.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Po_Field\z_en_po_field.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Po_Relay\z_en_po_relay.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Po_Sisters\z_en_po_sisters.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Poh\z_en_poh.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Pu_box\z_en_pu_box.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Rd\z_en_rd.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Reeba\z_en_reeba.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_River_Sound\z_en_river_sound.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Rl\z_en_rl.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Rr\z_en_rr.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ru1\z_en_ru1.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ru2\z_en_ru2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Sa\z_en_sa.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Sb\z_en_sb.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Scene_Change\z_en_scene_change.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Sda\z_en_sda.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Shopnuts\z_en_shopnuts.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Si\z_en_si.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Siofuki\z_en_siofuki.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Skb\z_en_skb.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Skj\z_en_skj.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Skjneedle\z_en_skjneedle.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ssh\z_en_ssh.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_St\z_en_st.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Sth\z_en_sth.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Stream\z_en_stream.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Sw\z_en_sw.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Syateki_Itm\z_en_syateki_itm.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Syateki_Man\z_en_syateki_man.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Syateki_Niw\z_en_syateki_niw.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Ta\z_en_ta.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Takara_Man\z_en_takara_man.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Tana\z_en_tana.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Test\z_en_test.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Tg\z_en_tg.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Tite\z_en_tite.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Tk\z_en_tk.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Torch\z_en_torch.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Torch2\z_en_torch2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Toryo\z_en_toryo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Tp\z_en_tp.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Tr\z_en_tr.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Trap\z_en_trap.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Tubo_Trap\z_en_tubo_trap.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Vali\z_en_vali.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Vase\z_en_vase.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Vb_Ball\z_en_vb_ball.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Viewer\z_en_viewer.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Vm\z_en_vm.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Wall_Tubo\z_en_wall_tubo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Wallmas\z_en_wallmas.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Weather_Tag\z_en_weather_tag.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Weiyer\z_en_weiyer.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Wf\z_en_wf.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Wonder_Item\z_en_wonder_item.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Wonder_Talk\z_en_wonder_talk.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Wonder_Talk2\z_en_wonder_talk2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Wood02\z_en_wood02.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Xc\z_en_xc.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Yabusame_Mark\z_en_yabusame_mark.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Yukabyun\z_en_yukabyun.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Zf\z_en_zf.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Zl1\z_en_zl1.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Zl2\z_en_zl2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Zl3\z_en_zl3.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Zl4\z_en_zl4.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_En_Zo\z_en_zo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_End_Title\z_end_title.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Fishing\z_fishing.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Item_B_Heart\z_item_b_heart.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Item_Etcetera\z_item_etcetera.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Item_Inbox\z_item_inbox.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Item_Ocarina\z_item_ocarina.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Item_Shield\z_item_shield.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Magic_Dark\z_magic_dark.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Magic_Fire\z_magic_fire.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Magic_Wind\z_magic_wind.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Mir_Ray\z_mir_ray.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Bean\z_obj_bean.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Blockstop\z_obj_blockstop.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Bombiwa\z_obj_bombiwa.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Comb\z_obj_comb.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Dekujr\z_obj_dekujr.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Elevator\z_obj_elevator.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Hamishi\z_obj_hamishi.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Hana\z_obj_hana.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Hsblock\z_obj_hsblock.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Ice_Poly\z_obj_ice_poly.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Kibako\z_obj_kibako.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Kibako2\z_obj_kibako2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Lift\z_obj_lift.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Lightswitch\z_obj_lightswitch.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Makekinsuta\z_obj_makekinsuta.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Makeoshihiki\z_obj_makeoshihiki.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Mure\z_obj_mure.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Mure2\z_obj_mure2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Mure3\z_obj_mure3.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Oshihiki\z_obj_oshihiki.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Roomtimer\z_obj_roomtimer.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Switch\z_obj_switch.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Syokudai\z_obj_syokudai.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Timeblock\z_obj_timeblock.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Tsubo\z_obj_tsubo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Obj_Warp2block\z_obj_warp2block.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Object_Kankyo\z_object_kankyo.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Oceff_Spot\z_oceff_spot.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Oceff_Storm\z_oceff_storm.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Oceff_Wipe\z_oceff_wipe.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Oceff_Wipe2\z_oceff_wipe2.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Oceff_Wipe3\z_oceff_wipe3.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Oceff_Wipe4\z_oceff_wipe4.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="src\overlays\actors\ovl_Shot_Sun\z_shot_sun.h"> - <Filter>Source Files\src\overlays\actors</Filter> - </ClInclude> - <ClInclude Include="resource.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="soh\Enhancements\debugger\debugger.h"> - <Filter>Header Files\soh\Enhancements\debugger</Filter> - </ClInclude> - <ClInclude Include="soh\Enhancements\debugger\debugSaveEditor.h"> - <Filter>Header Files\soh\Enhancements\debugger</Filter> - </ClInclude> - <ClInclude Include="soh\util.h"> - <Filter>Header Files\soh</Filter> - </ClInclude> - <ClInclude Include="soh\Enhancements\debugger\colViewer.h"> - <Filter>Header Files\soh\Enhancements\debugger</Filter> - </ClInclude> - <ClInclude Include="soh\Enhancements\debugger\ImGuiHelpers.h"> - <Filter>Header Files\soh\Enhancements\debugger</Filter> - <ClInclude Include="soh\frame_interpolation.h"> - <Filter>Header Files\soh</Filter> - </ClInclude> - <ClInclude Include="soh\Enhancements\savestates.h"> - <Filter>Source Files\soh\Enhancements</Filter> - </ClInclude> - <ClInclude Include="soh\OTRAudio.h"> - <Filter>Source Files\soh</Filter> - </ClInclude> + <ResourceCompile Include="Resource.rc" /> </ItemGroup> <ItemGroup> - <None Include="include\macro.inc"> - <Filter>Header Files\include</Filter> - </None> + <Image Include="SHIPOFHARKINIAN.ico" /> </ItemGroup> <ItemGroup> - <ResourceCompile Include="Resource.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <Image Include="SHIPOFHARKINIAN.ico"> - <Filter>Resource Files</Filter> - </Image> + <None Include="include\macro.inc" /> </ItemGroup> </Project>
\ No newline at end of file diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index e8e1b31c1..e0593643e 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -36,6 +36,7 @@ #include <Utils/StringHelper.h> #include <SDL2/SDL_scancode.h> +#include <Audio.h> OTRGlobals* OTRGlobals::Instance; @@ -57,8 +58,15 @@ extern "C" void AudioMgr_CreateNextAudioBuffer(s16* samples, u32 num_samples); extern "C" void AudioPlayer_Play(const uint8_t* buf, uint32_t len); extern "C" int AudioPlayer_Buffered(void); extern "C" int AudioPlayer_GetDesiredBuffered(void); +extern "C" void ResourceMgr_CacheDirectory(const char* resName); // C->C++ Bridge +extern "C" void OTRAudio_Init() +{ + // Precache all our samples, sequences, etc... + ResourceMgr_CacheDirectory("audio"); +} + extern "C" void InitOTR() { OTRGlobals::Instance = new OTRGlobals(); auto t = OTRGlobals::Instance->context->GetResourceManager()->LoadFile("version"); @@ -72,6 +80,7 @@ extern "C" void InitOTR() { clearMtx = (uintptr_t)&gMtxClear; OTRMessage_Init(); + OTRAudio_Init(); DebugConsole_Init(); Debug_Init(); } @@ -502,12 +511,235 @@ extern "C" CollisionHeader* ResourceMgr_LoadColByName(const char* path) return (CollisionHeader*)colHeader; } -extern "C" Vtx * ResourceMgr_LoadVtxByName(const char* path) +extern "C" Vtx* ResourceMgr_LoadVtxByName(const char* path) { auto res = std::static_pointer_cast<Ship::Array>(OTRGlobals::Instance->context->GetResourceManager()->LoadResource(path)); return (Vtx*)res->vertices.data(); } +extern "C" char* ResourceMgr_LoadSeqByID(int seqID) +{ + std::string fmtStr = "audio/sequences/seq_%02X"; + return OTRGlobals::Instance->context->GetResourceManager()->LoadFile(StringHelper::Sprintf(fmtStr.c_str(), seqID)).get()->buffer.get(); +} + +extern "C" int ResourceMgr_GetSeqSizeByID(int seqID) +{ + return OTRGlobals::Instance->context->GetResourceManager() + ->LoadFile(StringHelper::Sprintf("audio/sequences/seq_%02X", seqID)) + .get() + ->dwBufferSize; +} + +std::map<std::string, SoundFontSample*> cachedCustomSFs; + +extern "C" SoundFontSample* ResourceMgr_LoadAudioSample(int romOffset) +{ + auto str = StringHelper::Sprintf("audio/samples/sample_%08X", romOffset); + + if (cachedCustomSFs.find(str) != cachedCustomSFs.end()) + return cachedCustomSFs[str]; + + // Check if our file is actually a wav... + auto sampleRaw = OTRGlobals::Instance->context->GetResourceManager()->LoadFile(str); + uint32_t* strem = (uint32_t*)sampleRaw->buffer.get(); + uint8_t* strem2 = (uint8_t*)strem; + + if (strem2[0] == 'R' && strem2[1] == 'I' && strem2[2] == 'F' && strem2[3] == 'F') + { + SoundFontSample* sampleC = (SoundFontSample*)malloc(sizeof(SoundFontSample)); + + *strem++; // RIFF + *strem++; // size + *strem++; // WAVE + + *strem++; // fmt + int fmtChunkSize = *strem++; + // OTRTODO: Make sure wav format is what the audio driver wants! + + strem = (uint32_t*)&strem2[0x0C + fmtChunkSize + 8 + 4]; + sampleC->size = *strem++; + sampleC->sampleAddr = (uint8_t*)strem; + sampleC->codec = CODEC_S16; + + // OTRTODO: Grab loop data from wav + sampleC->loop = (AdpcmLoop*)malloc(sizeof(AdpcmLoop)); + sampleC->loop->start = 0; + sampleC->loop->end = sampleC->size / 2; + sampleC->loop->count = 0; + + cachedCustomSFs[str] = sampleC; + return sampleC; + } + + auto sample = std::static_pointer_cast<Ship::AudioSample>(OTRGlobals::Instance->context->GetResourceManager()->LoadResource(str)); + + if (sample == nullptr) + return NULL; + + if (sample->cachedGameAsset != nullptr) + { + SoundFontSample* sampleC = (SoundFontSample*)sample->cachedGameAsset; + + return (SoundFontSample*)sample->cachedGameAsset; + } + else + { + SoundFontSample* sampleC = (SoundFontSample*)malloc(sizeof(SoundFontSample)); + + sampleC->sampleAddr = sample->data.data(); + + sampleC->size = sample->data.size(); + sampleC->codec = sample->codec; + sampleC->medium = sample->medium; + sampleC->unk_bit26 = sample->unk_bit26; + sampleC->unk_bit25 = sample->unk_bit25; + + sampleC->book = (AdpcmBook*)malloc(sizeof(AdpcmBook) + (sample->book.books.size() * sizeof(int16_t))); + sampleC->book->npredictors = sample->book.npredictors; + sampleC->book->order = sample->book.order; + + for (int i = 0; i < sample->book.books.size(); i++) + sampleC->book->book[i] = sample->book.books[i]; + + sampleC->loop = (AdpcmLoop*)malloc(sizeof(AdpcmLoop)); + sampleC->loop->start = sample->loop.start; + sampleC->loop->end = sample->loop.end; + sampleC->loop->count = sample->loop.count; + + for (int i = 0; i < sample->loop.states.size(); i++) + sampleC->loop->state[i] = sample->loop.states[i]; + + sample->cachedGameAsset = sampleC; + return sampleC; + } +} + +extern "C" SoundFont* ResourceMgr_LoadAudioSoundFont(int fontIndex) { + auto soundFont = + std::static_pointer_cast<Ship::AudioSoundFont>(OTRGlobals::Instance->context->GetResourceManager()->LoadResource( + StringHelper::Sprintf("audio/fonts/font_%02X", fontIndex))); + + if (soundFont == nullptr) + return NULL; + + if (soundFont->cachedGameAsset != nullptr) + { + return (SoundFont*)soundFont->cachedGameAsset; + } + else + { + SoundFont* soundFontC = (SoundFont*)malloc(sizeof(SoundFont)); + + soundFontC->numDrums = soundFont->drums.size(); + soundFontC->numInstruments = soundFont->instruments.size(); + soundFontC->numSfx = soundFont->soundEffects.size(); + soundFontC->sampleBankId1 = soundFont->data1 >> 8; + soundFontC->sampleBankId2 = soundFont->data1 & 0xFF; + + soundFontC->drums = (Drum**)malloc(sizeof(Drum*) * soundFont->drums.size()); + + for (int i = 0; i < soundFont->drums.size(); i++) + { + Drum* drum = (Drum*)malloc(sizeof(Drum)); + + drum->releaseRate = soundFont->drums[i].releaseRate; + drum->pan = soundFont->drums[i].pan; + drum->loaded = 0; + + if (soundFont->drums[i].env.size() == 0) + drum->envelope = NULL; + else + { + drum->envelope = (AdsrEnvelope*)malloc(sizeof(AdsrEnvelope) * soundFont->drums[i].env.size()); + + for (int k = 0; k < soundFont->drums[i].env.size(); k++) + { + drum->envelope[k].delay = BOMSWAP16(soundFont->drums[i].env[k]->delay); + drum->envelope[k].arg = BOMSWAP16(soundFont->drums[i].env[k]->arg); + } + } + + drum->sound.sample = ResourceMgr_LoadAudioSample(soundFont->drums[i].offset); + drum->sound.tuning = soundFont->drums[i].tuning; + + soundFontC->drums[i] = drum; + } + + soundFontC->instruments = (Instrument**)malloc(sizeof(Instrument*) * soundFont->instruments.size()); + + for (int i = 0; i < soundFont->instruments.size(); i++) { + + if (soundFont->instruments[i].isValidEntry) + { + Instrument* inst = (Instrument*)malloc(sizeof(Instrument)); + + inst->loaded = 0; + inst->releaseRate = soundFont->instruments[i].releaseRate; + inst->normalRangeLo = soundFont->instruments[i].normalRangeLo; + inst->normalRangeHi = soundFont->instruments[i].normalRangeHi; + + if (soundFont->instruments[i].env.size() == 0) + inst->envelope = NULL; + else + { + inst->envelope = (AdsrEnvelope*)malloc(sizeof(AdsrEnvelope) * soundFont->instruments[i].env.size()); + + for (int k = 0; k < soundFont->instruments[i].env.size(); k++) + { + inst->envelope[k].delay = BOMSWAP16(soundFont->instruments[i].env[k]->delay); + inst->envelope[k].arg = BOMSWAP16(soundFont->instruments[i].env[k]->arg); + } + } + if (soundFont->instruments[i].lowNotesSound != nullptr) + { + inst->lowNotesSound.sample = + ResourceMgr_LoadAudioSample(soundFont->instruments[i].lowNotesSound->sampleOffset); + inst->lowNotesSound.tuning = soundFont->instruments[i].lowNotesSound->tuning; + } else { + inst->lowNotesSound.sample = NULL; + inst->lowNotesSound.tuning = 0; + } + + if (soundFont->instruments[i].normalNotesSound != nullptr) { + inst->normalNotesSound.sample = + ResourceMgr_LoadAudioSample(soundFont->instruments[i].normalNotesSound->sampleOffset); + inst->normalNotesSound.tuning = soundFont->instruments[i].normalNotesSound->tuning; + + } else { + inst->normalNotesSound.sample = NULL; + inst->normalNotesSound.tuning = 0; + } + + if (soundFont->instruments[i].highNotesSound != nullptr) { + inst->highNotesSound.sample = + ResourceMgr_LoadAudioSample(soundFont->instruments[i].highNotesSound->sampleOffset); + inst->highNotesSound.tuning = soundFont->instruments[i].highNotesSound->tuning; + } else { + inst->highNotesSound.sample = NULL; + inst->highNotesSound.tuning = 0; + } + + soundFontC->instruments[i] = inst; + } else + { + soundFontC->instruments[i] = nullptr; + } + } + + soundFontC->soundEffects = (SoundFontSound*)malloc(sizeof(SoundFontSound) * soundFont->soundEffects.size()); + + for (int i = 0; i < soundFont->soundEffects.size(); i++) + { + soundFontC->soundEffects[i].sample = ResourceMgr_LoadAudioSample(soundFont->soundEffects[i]->sampleOffset); + soundFontC->soundEffects[i].tuning = soundFont->soundEffects[i]->tuning; + } + + soundFont->cachedGameAsset = soundFontC; + return soundFontC; + } +} + extern "C" int ResourceMgr_OTRSigCheck(char* imgData) { uintptr_t i = (uintptr_t)(imgData); diff --git a/soh/soh/OTRGlobals.h b/soh/soh/OTRGlobals.h index 0a318de73..d21d94ca5 100644 --- a/soh/soh/OTRGlobals.h +++ b/soh/soh/OTRGlobals.h @@ -24,8 +24,8 @@ private: #endif #ifndef __cplusplus -void InitOTR(); -void Graph_ProcessFrame(void (*run_one_game_iter)(void)); +void OTRAudio_Init(); +void InitAudio(); void Graph_StartFrame(); void Graph_ProcessGfxCommands(Gfx* commands); void OTRLogString(const char* src); diff --git a/soh/soh/stubs.c b/soh/soh/stubs.c index 98f3b4823..26f4d0ae6 100644 --- a/soh/soh/stubs.c +++ b/soh/soh/stubs.c @@ -445,7 +445,9 @@ void osViExtendVStart(u32 arg0) } - +#if 0 +AudioTable gSoundFontTable = { 0 }; +#else AudioTable gSoundFontTable = { 0x0026, 0x0000, 0x00000000, @@ -795,7 +797,11 @@ AudioTable gSoundFontTable = { 0x0026, }, } }; +#endif +#if 0 +AudioTable gSequenceTable = { 0 }; +#else AudioTable gSequenceTable = { 0x006E, 0x0000, 0x00000000, @@ -1585,7 +1591,7 @@ AudioTable gSequenceTable = { 0x006E, 0x0000, }, { - 0x00000028, + 0x00000028, 0x00000000, 0x02, 0x02, @@ -1791,9 +1797,12 @@ AudioTable gSequenceTable = { 0x006E, 0x0000, 0x0000, }, - } - }; + } }; +#endif +#if 0 +AudioTable gSampleBankTable = { 0 }; +#else AudioTable gSampleBankTable = { 0x0007, 0x0000, 0x00000000, @@ -1864,7 +1873,9 @@ AudioTable gSampleBankTable = { 0x0007, }, } }; +#endif +// OTRTODO: Implement This in OTR File u8 gSequenceFontTable[0x1C0] = { 0xDC, 0x00, diff --git a/soh/src/code/audio_heap.c b/soh/src/code/audio_heap.c index 765fd8b09..84e91d439 100644 --- a/soh/src/code/audio_heap.c +++ b/soh/src/code/audio_heap.c @@ -10,6 +10,8 @@ void AudioHeap_DiscardSampleCaches(void); void AudioHeap_DiscardSampleBank(s32 sampleBankId); void AudioHeap_DiscardSampleBanks(void); +extern bool gUseLegacySD; + f32 func_800DDE20(f32 arg0) { return 256.0f * gAudioContext.audioBufferParameters.unkUpdatesPerFrameScaled / arg0; } @@ -1201,7 +1203,11 @@ void AudioHeap_DiscardSampleCacheEntry(SampleCacheEntry* entry) { } } -void AudioHeap_UnapplySampleCache(SampleCacheEntry* entry, SoundFontSample* sample) { +void AudioHeap_UnapplySampleCache(SampleCacheEntry* entry, SoundFontSample* sample) +{ + if (!gUseLegacySD) + return; + if (sample != NULL) { if (sample->sampleAddr == entry->allocatedAddr) { sample->sampleAddr = entry->sampleAddr; diff --git a/soh/src/code/audio_load.c b/soh/src/code/audio_load.c index 7af9037a6..ecb6eab2d 100644 --- a/soh/src/code/audio_load.c +++ b/soh/src/code/audio_load.c @@ -4,6 +4,7 @@ #include "ultra64.h" #include "global.h" +#include "soh/OTRGlobals.h" #define MK_ASYNC_MSG(retData, tableType, id, status) (((retData) << 24) | ((tableType) << 16) | ((id) << 8) | (status)) #define ASYNC_TBLTYPE(v) ((u8)(v >> 16)) @@ -37,7 +38,7 @@ void AudioLoad_ProcessAsyncLoads(s32 resetStatus); void AudioLoad_ProcessAsyncLoadUnkMedium(AudioAsyncLoad* asyncLoad, s32 resetStatus); void AudioLoad_ProcessAsyncLoad(AudioAsyncLoad* asyncLoad, s32 resetStatus); void AudioLoad_RelocateFontAndPreloadSamples(s32 fontId, SoundFontData* mem, RelocInfo* relocInfo, s32 temporary); -void AudioLoad_RelocateSample(SoundFontSound* sound, SoundFontData* mem, RelocInfo* relocInfo); +void AudioLoad_RelocateSample(SoundFontSound* sound, SoundFontData* mem, RelocInfo* relocInfo, int fontId); void AudioLoad_DiscardFont(s32 fontId); u32 AudioLoad_TrySyncLoadSampleBank(u32 sampleBankId, u32* outMedium, s32 noLoad); void* AudioLoad_SyncLoad(u32 tableType, u32 tableId, s32* didAllocate); @@ -74,6 +75,11 @@ void* sUnusedHandler = NULL; s32 gAudioContextInitalized = false; +uintptr_t fontStart; +uint32_t fontOffsets[8192]; + +bool gUseLegacySD = false; + void AudioLoad_DecreaseSampleDmaTtls(void) { u32 i; @@ -278,8 +284,11 @@ void AudioLoad_InitSampleDmaBuffers(s32 arg0) { } s32 AudioLoad_IsFontLoadComplete(s32 fontId) { + return true; + if (fontId == 0xFF) { return true; + } else if (gAudioContext.fontLoadStatus[fontId] >= 2) { return true; } else if (gAudioContext.fontLoadStatus[AudioLoad_GetRealTableIndex(FONT_TABLE, fontId)] >= 2) { @@ -352,6 +361,9 @@ void AudioLoad_InitTable(AudioTable* table, uintptr_t romAddr, u16 unkMediumPara for (i = 0; i < table->numEntries; i++) { if ((table->entries[i].size != 0) && (table->entries[i].medium == MEDIUM_CART)) { + if (romAddr == fontStart) + fontOffsets[i] = table->entries[i].romAddr; + table->entries[i].romAddr += romAddr; } } @@ -400,7 +412,8 @@ void AudioLoad_SyncLoadSeqParts(s32 seqId, s32 arg1) { s32 AudioLoad_SyncLoadSample(SoundFontSample* sample, s32 fontId) { void* sampleAddr; - if (sample->unk_bit25 == 1) { + if (sample->unk_bit25 == 1) + { if (sample->medium != MEDIUM_RAM) { sampleAddr = AudioHeap_AllocSampleCache(sample->size, fontId, (void*)sample->sampleAddr, sample->medium, CACHE_PERSISTENT); @@ -544,7 +557,7 @@ s32 AudioLoad_SyncInitSeqPlayerInternal(s32 playerIdx, s32 seqId, s32 arg2) { s32 numFonts; s32 fontId; - if (seqId >= gAudioContext.numSequences) { + if (gUseLegacySD && seqId >= gAudioContext.numSequences) { return 0; } @@ -556,18 +569,27 @@ s32 AudioLoad_SyncInitSeqPlayerInternal(s32 playerIdx, s32 seqId, s32 arg2) { while (numFonts > 0) { fontId = gAudioContext.sequenceFontTable[index++]; - AudioLoad_SyncLoadFont(fontId); + + //if (gUseLegacySD) + AudioLoad_SyncLoadFont(fontId); + numFonts--; } seqData = AudioLoad_SyncLoadSeq(seqId); + if (seqData == NULL) { return 0; } AudioSeq_ResetSequencePlayer(seqPlayer); seqPlayer->seqId = seqId; - seqPlayer->defaultFont = AudioLoad_GetRealTableIndex(FONT_TABLE, fontId); + + if (gUseLegacySD) + seqPlayer->defaultFont = AudioLoad_GetRealTableIndex(FONT_TABLE, fontId); + else + seqPlayer->defaultFont = fontId; + seqPlayer->seqData = seqData; seqPlayer->enabled = 1; seqPlayer->scriptState.pc = seqData; @@ -633,12 +655,22 @@ SoundFontData* AudioLoad_SyncLoadFont(u32 fontId) { s32 didAllocate; RelocInfo relocInfo; s32 realFontId = AudioLoad_GetRealTableIndex(FONT_TABLE, fontId); + //s32 realFontId = fontId; if (gAudioContext.fontLoadStatus[realFontId] == 1) { return NULL; } - sampleBankId1 = gAudioContext.soundFonts[realFontId].sampleBankId1; - sampleBankId2 = gAudioContext.soundFonts[realFontId].sampleBankId2; + + if (!gUseLegacySD) { + SoundFont* sf = ResourceMgr_LoadAudioSoundFont(fontId); + + sampleBankId1 = sf->sampleBankId1; + sampleBankId2 = sf->sampleBankId2; + } else { + + sampleBankId1 = gAudioContext.soundFonts[realFontId].sampleBankId1; + sampleBankId2 = gAudioContext.soundFonts[realFontId].sampleBankId2; + } relocInfo.sampleBankId1 = sampleBankId1; relocInfo.sampleBankId2 = sampleBankId2; @@ -681,13 +713,39 @@ void* AudioLoad_SyncLoad(u32 tableType, u32 id, s32* didAllocate) { if (ret != NULL) { *didAllocate = false; status = 2; - } else { - table = AudioLoad_GetLoadTable(tableType); - size = table->entries[realId].size; - size = ALIGN16(size); - medium = table->entries[id].medium; - cachePolicy = table->entries[id].cachePolicy; - romAddr = table->entries[realId].romAddr; + } else + { + char* seqData = 0; + SoundFont* fnt; + + if (!gUseLegacySD && tableType == SEQUENCE_TABLE) + { + seqData = ResourceMgr_LoadSeqByID(id); + size = ResourceMgr_GetSeqSizeByID(id); + size -= 2; + medium = seqData[0]; + cachePolicy = seqData[1]; + romAddr = 0; + seqData += 2; + } + else if (!gUseLegacySD && tableType == FONT_TABLE) + { + fnt = ResourceMgr_LoadAudioSoundFont(id); + size = sizeof(SoundFont); + medium = 2; + cachePolicy = 0; + romAddr = 0; + } + else + { + table = AudioLoad_GetLoadTable(tableType); + size = table->entries[realId].size; + size = ALIGN16(size); + medium = table->entries[id].medium; + cachePolicy = table->entries[id].cachePolicy; + romAddr = table->entries[realId].romAddr; + } + switch (cachePolicy) { case 0: ret = AudioHeap_AllocPermanent(tableType, realId, size); @@ -720,7 +778,14 @@ void* AudioLoad_SyncLoad(u32 tableType, u32 id, s32* didAllocate) { if (medium == MEDIUM_UNK) { AudioLoad_SyncDmaUnkMedium(romAddr, ret, size, (s16)table->unkMediumParam); } else { - AudioLoad_SyncDma(romAddr, ret, size, medium); + if (!gUseLegacySD && tableType == SEQUENCE_TABLE && seqData != NULL) { + AudioLoad_SyncDma(seqData, ret, size, medium); + } else if (!gUseLegacySD && tableType == FONT_TABLE) { + AudioLoad_SyncDma(fnt, ret, size, medium); + } + else { + AudioLoad_SyncDma(romAddr, ret, size, medium); + } } status = cachePolicy == 0 ? 5 : 2; @@ -743,9 +808,16 @@ void* AudioLoad_SyncLoad(u32 tableType, u32 id, s32* didAllocate) { return ret; } -u32 AudioLoad_GetRealTableIndex(s32 tableType, u32 id) { +u32 AudioLoad_GetRealTableIndex(s32 tableType, u32 id) +{ + if ((tableType == SEQUENCE_TABLE || tableType == FONT_TABLE) && !gUseLegacySD) { + return id; + } + AudioTable* table = AudioLoad_GetLoadTable(tableType); + // If the size is 0, then this entry actually redirects to another entry. + // The rom address is actually an index into the same table where the "real" data is. if (table->entries[id].size == 0) { id = table->entries[id].romAddr; } @@ -796,29 +868,63 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* mem, RelocInfo* relocInfo Drum* drum; SoundFontSound* sfx; s32 i; - s32 numDrums = gAudioContext.soundFonts[fontId].numDrums; - s32 numInstruments = gAudioContext.soundFonts[fontId].numInstruments; - s32 numSfx = gAudioContext.soundFonts[fontId].numSfx; + SoundFont* sf = ResourceMgr_LoadAudioSoundFont(fontId); + + s32 numDrums = 0; + s32 numInstruments = 0; + s32 numSfx = 0; + + if (gUseLegacySD) { + numDrums = gAudioContext.soundFonts[fontId].numDrums; + numInstruments = gAudioContext.soundFonts[fontId].numInstruments; + numSfx = gAudioContext.soundFonts[fontId].numSfx; + } else { + numDrums = sf->numDrums; + numInstruments = sf->numInstruments; + numSfx = sf->numSfx; + } + void** ptrs = (void**)mem; + #define BASE_OFFSET(x) (void*)((u32)(x) + (u32)(mem)) reloc2 = ptrs[0]; if (1) {} - if ((reloc2 != 0) && (numDrums != 0)) { + if ((reloc2 != 0 || !gUseLegacySD) && (numDrums != 0)) + { ptrs[0] = BASE_OFFSET(reloc2); - for (i = 0; i < numDrums; i++) { - reloc = ((Drum**)ptrs[0])[i]; - - if (reloc != 0) { - reloc = BASE_OFFSET(reloc); - - ((Drum**)ptrs[0])[i] = drum = reloc; - if (!drum->loaded) { - AudioLoad_RelocateSample(&drum->sound, mem, relocInfo); - reloc = drum->envelope; - drum->envelope = BASE_OFFSET(reloc); - drum->loaded = 1; + for (i = 0; i < numDrums; i++) + { + if (gUseLegacySD) + reloc = ((Drum**)ptrs[0])[i]; + + if (reloc != 0 || !gUseLegacySD) + { + if (gUseLegacySD) + { + reloc = BASE_OFFSET(reloc); + ((Drum**)ptrs[0])[i] = drum = reloc; + } + + if (!gUseLegacySD) + drum = sf->drums[i]; + + if (!drum->loaded) + { + if (!gUseLegacySD) + { + AudioLoad_RelocateSample(&sf->drums[i]->sound, mem, relocInfo, fontOffsets[fontId]); + //reloc = drum->envelope; + drum->loaded = 1; + } + else + { + AudioLoad_RelocateSample(&drum->sound, mem, relocInfo, fontOffsets[fontId]); + reloc = drum->envelope; + drum->envelope = BASE_OFFSET(reloc); + drum->loaded = 1; + } } } } @@ -826,39 +932,56 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* mem, RelocInfo* relocInfo reloc2 = ptrs[1]; if (1) {} - if ((reloc2 != 0) && (numSfx != 0)) { + if ((reloc2 != 0 || !gUseLegacySD) && (numSfx != 0)) { ptrs[1] = BASE_OFFSET(reloc2); for (i = 0; i < numSfx; i++) { reloc = (SoundFontSound*)ptrs[1] + i; - if (reloc != 0) { - sfx = reloc; - if (sfx->sample != NULL) { - AudioLoad_RelocateSample(sfx, mem, relocInfo); + if (reloc != 0 || !gUseLegacySD) + { + if (!gUseLegacySD) { + AudioLoad_RelocateSample(&sf->soundEffects[i].sample, mem, relocInfo, fontOffsets[fontId]); + } else { + sfx = reloc; + if (sfx->sample != NULL) { + AudioLoad_RelocateSample(sfx, mem, relocInfo, fontOffsets[fontId]); + } } } } } - + if (numInstruments > 0x7E) { numInstruments = 0x7E; } - for (i = 2; i <= 2 + numInstruments - 1; i++) { - if (ptrs[i] != NULL) { + int startI = gUseLegacySD ? 2 : 0; + int startEC = gUseLegacySD ? 2 + numInstruments - 1 : numInstruments - 1; + //for (i = 2; i <= 2 + numInstruments - 1; i++) { + for (i = startI; i <= startEC; i++) { + if (!gUseLegacySD || ptrs[i] != NULL) + { ptrs[i] = BASE_OFFSET(ptrs[i]); - inst = ptrs[i]; - if (!inst->loaded) { - if (inst->normalRangeLo != 0) { - AudioLoad_RelocateSample(&inst->lowNotesSound, mem, relocInfo); + if (gUseLegacySD) + inst = ptrs[i]; + else + inst = sf->instruments[i]; + + if (inst != NULL && !inst->loaded) { + if (inst->normalRangeLo != 0) + { + AudioLoad_RelocateSample(&inst->lowNotesSound, mem, relocInfo, fontOffsets[fontId]); } - AudioLoad_RelocateSample(&inst->normalNotesSound, mem, relocInfo); + AudioLoad_RelocateSample(&inst->normalNotesSound, mem, relocInfo, fontOffsets[fontId]); if (inst->normalRangeHi != 0x7F) { - AudioLoad_RelocateSample(&inst->highNotesSound, mem, relocInfo); + AudioLoad_RelocateSample(&inst->highNotesSound, mem, relocInfo, fontOffsets[fontId]); } reloc = inst->envelope; - inst->envelope = BASE_OFFSET(reloc); + + if (gUseLegacySD) + inst->envelope = BASE_OFFSET(reloc); + inst->loaded = 1; } } @@ -866,9 +989,11 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* mem, RelocInfo* relocInfo #undef BASE_OFFSET - gAudioContext.soundFonts[fontId].drums = ptrs[0]; - gAudioContext.soundFonts[fontId].soundEffects = ptrs[1]; - gAudioContext.soundFonts[fontId].instruments = (Instrument**)(ptrs + 2); + if (gUseLegacySD) { + gAudioContext.soundFonts[fontId].drums = ptrs[0]; + gAudioContext.soundFonts[fontId].soundEffects = ptrs[1]; + gAudioContext.soundFonts[fontId].instruments = (Instrument**)(ptrs + 2); + } } void AudioLoad_SyncDma(u32 devAddr, u8* addr, size_t size, s32 medium) { @@ -1270,17 +1395,21 @@ void AudioLoad_Init(void* heap, u32 heapSize) { uintptr_t bankStart = ResourceMgr_LoadFileRaw(_AudiobankSegmentRomStart); uintptr_t tableStart = ResourceMgr_LoadFileRaw(_AudiotableSegmentRomStart); + fontStart = bankStart; + AudioLoad_InitTable(gAudioContext.sequenceTable, seqStart, 0); AudioLoad_InitTable(gAudioContext.soundFontTable, bankStart, 0); AudioLoad_InitTable(gAudioContext.sampleBankTable, tableStart, 0); numFonts = gAudioContext.soundFontTable->numEntries; gAudioContext.soundFonts = AudioHeap_Alloc(&gAudioContext.audioInitPool, numFonts * sizeof(SoundFont)); - for (i = 0; i < numFonts; i++) { - AudioLoad_InitSoundFontMeta(i); - } + if (gUseLegacySD) { + for (i = 0; i < numFonts; i++) { + AudioLoad_InitSoundFontMeta(i); + } - AudioLoad_InitSwapFont(); + AudioLoad_InitSwapFont(); + } if (temp_v0_3 = AudioHeap_Alloc(&gAudioContext.audioInitPool, D_8014A6C4.permanentPoolSize), temp_v0_3 == NULL) { // cast away const from D_8014A6C4 @@ -1454,28 +1583,40 @@ s32 AudioLoad_SlowLoadSeq(s32 seqId, u8* ramAddr, s8* isDone) { AudioTable* seqTable; size_t size; - if (seqId >= gAudioContext.numSequences) { + if (gUseLegacySD && seqId >= gAudioContext.numSequences) { *isDone = 0; return -1; } seqId = AudioLoad_GetRealTableIndex(SEQUENCE_TABLE, seqId); + seqTable = AudioLoad_GetLoadTable(SEQUENCE_TABLE); + slowLoad = &gAudioContext.slowLoads[gAudioContext.slowLoadPos]; if (slowLoad->status == LOAD_STATUS_DONE) { slowLoad->status = LOAD_STATUS_WAITING; } + slowLoad->sample.sampleAddr = NULL; slowLoad->isDone = isDone; - size = seqTable->entries[seqId].size; - size = ALIGN16(size); + + if (!gUseLegacySD) { + char* seqData = ResourceMgr_LoadSeqByID(seqId); + size = ResourceMgr_GetSeqSizeByID(seqId) - 2; + slowLoad->curDevAddr = seqData + 2; + slowLoad->medium = seqData[0]; + } else { + size = seqTable->entries[seqId].size; + size = ALIGN16(size); + slowLoad->curDevAddr = seqTable->entries[seqId].romAddr; + slowLoad->medium = seqTable->entries[seqId].medium; + } + slowLoad->curRamAddr = ramAddr; slowLoad->status = LOAD_STATUS_START; slowLoad->bytesRemaining = size; slowLoad->ramAddr = ramAddr; - slowLoad->curDevAddr = seqTable->entries[seqId].romAddr; - slowLoad->medium = seqTable->entries[seqId].medium; slowLoad->seqOrFontId = seqId; if (slowLoad->medium == MEDIUM_UNK) { @@ -1687,7 +1828,7 @@ void AudioLoad_AsyncDmaUnkMedium(u32 devAddr, void* ramAddr, size_t size, s16 ar #define RELOC(v, base) (reloc = (void*)((u32)(v) + (u32)(base))) -void AudioLoad_RelocateSample(SoundFontSound* sound, SoundFontData* mem, RelocInfo* relocInfo) { +void AudioLoad_RelocateSample(SoundFontSound* sound, SoundFontData* mem, RelocInfo* relocInfo, int fontId) { // OTRTODO: This is hack to detect whether or not the sample has been relocated. size_t maxSoundBankSize = 0x3EB2A0; // sample bank 0 is largest size at 0x3EB2A0 if ((uintptr_t)mem <= maxSoundBankSize) { @@ -1699,32 +1840,58 @@ void AudioLoad_RelocateSample(SoundFontSound* sound, SoundFontData* mem, RelocIn void* reloc; // OTRTODO: Seems precarious to assume the RAM is never <= 0x3EB2A0, but it largely works. - if ((uintptr_t)sound->sample < maxSoundBankSize) { - sample = sound->sample = RELOC(sound->sample, mem); - if (sample->size != 0 && sample->unk_bit25 != 1) { - sample->loop = RELOC(sample->loop, mem); - sample->book = RELOC(sample->book, mem); - - // Resolve the sample medium 2-bit bitfield into a real value based on relocInfo. - switch (sample->medium) { - case 0: - sample->sampleAddr = RELOC(sample->sampleAddr, relocInfo->baseAddr1); - sample->medium = relocInfo->medium1; - break; - case 1: - sample->sampleAddr = RELOC(sample->sampleAddr, relocInfo->baseAddr2); - sample->medium = relocInfo->medium2; - break; - case 2: - case 3: - // Invalid? This leaves sample->medium as MEDIUM_CART and MEDIUM_DISK_DRIVE - // respectively, and the sampleAddr unrelocated. - break; + if ((uintptr_t)sound->sample < maxSoundBankSize || !gUseLegacySD) + { + if (!gUseLegacySD) { + SoundFontSample* sample2 = sound; + + if (sample2->unk_bit25 != 1) + { + //if (sample2->size == 0x5CC8) + //{ + // switch (sample2->medium) { + // case 0: + // sample2->medium = relocInfo->medium1; + // break; + // case 1: + // sample2->medium = relocInfo->medium2; + // break; + // } + + // sample2->unk_bit25 = 1; + // if (sample2->unk_bit26 && (sample2->medium != MEDIUM_RAM)) { + // // gAudioContext.usedSamples[gAudioContext.numUsedSamples++] = sample2; + // } + //} } + } else { + sample = sound->sample = RELOC(sound->sample, mem); + + if (sample->size != 0 && sample->unk_bit25 != 1) { + sample->loop = RELOC(sample->loop, mem); + sample->book = RELOC(sample->book, mem); + + // Resolve the sample medium 2-bit bitfield into a real value based on relocInfo. + switch (sample->medium) { + case 0: + sample->sampleAddr = RELOC(sample->sampleAddr, relocInfo->baseAddr1); + sample->medium = relocInfo->medium1; + break; + case 1: + sample->sampleAddr = RELOC(sample->sampleAddr, relocInfo->baseAddr2); + sample->medium = relocInfo->medium2; + break; + case 2: + case 3: + // Invalid? This leaves sample->medium as MEDIUM_CART and MEDIUM_DISK_DRIVE + // respectively, and the sampleAddr unrelocated. + break; + } - sample->unk_bit25 = 1; - if (sample->unk_bit26 && (sample->medium != MEDIUM_RAM)) { - gAudioContext.usedSamples[gAudioContext.numUsedSamples++] = sample; + sample->unk_bit25 = 1; + if (sample->unk_bit26 && (sample->medium != MEDIUM_RAM)) { + gAudioContext.usedSamples[gAudioContext.numUsedSamples++] = sample; + } } } } @@ -1977,9 +2144,17 @@ void AudioLoad_PreloadSamplesForFont(s32 fontId, s32 async, RelocInfo* relocInfo gAudioContext.numUsedSamples = 0; - numDrums = gAudioContext.soundFonts[fontId].numDrums; - numInstruments = gAudioContext.soundFonts[fontId].numInstruments; - numSfx = gAudioContext.soundFonts[fontId].numSfx; + if (!gUseLegacySD) { + SoundFont* sf = ResourceMgr_LoadAudioSoundFont(fontId); + + numDrums = sf->numDrums; + numInstruments = sf->numInstruments; + numSfx = sf->numSfx; + } else { + numDrums = gAudioContext.soundFonts[fontId].numDrums; + numInstruments = gAudioContext.soundFonts[fontId].numInstruments; + numSfx = gAudioContext.soundFonts[fontId].numSfx; + } for (i = 0; i < numInstruments; i++) { instrument = Audio_GetInstrumentInner(fontId, i); @@ -2024,6 +2199,7 @@ void AudioLoad_PreloadSamplesForFont(s32 fontId, s32 async, RelocInfo* relocInfo } sample = gAudioContext.usedSamples[i]; + if (sample->medium == MEDIUM_RAM) { continue; } @@ -2100,10 +2276,19 @@ void AudioLoad_LoadPermanentSamples(void) { for (i = 0; i < gAudioContext.permanentPool.count; i++) { RelocInfo relocInfo; - if (gAudioContext.permanentCache[i].tableType == FONT_TABLE) { + if (gAudioContext.permanentCache[i].tableType == FONT_TABLE) + { fontId = AudioLoad_GetRealTableIndex(FONT_TABLE, gAudioContext.permanentCache[i].id); - relocInfo.sampleBankId1 = gAudioContext.soundFonts[fontId].sampleBankId1; - relocInfo.sampleBankId2 = gAudioContext.soundFonts[fontId].sampleBankId2; + //fontId = gAudioContext.permanentCache[i].id; + + if (!gUseLegacySD) { + SoundFont* sf = ResourceMgr_LoadAudioSoundFont(fontId); + relocInfo.sampleBankId1 = sf->sampleBankId1; + relocInfo.sampleBankId2 = sf->sampleBankId2; + } else { + relocInfo.sampleBankId1 = gAudioContext.soundFonts[fontId].sampleBankId1; + relocInfo.sampleBankId2 = gAudioContext.soundFonts[fontId].sampleBankId2; + } if (relocInfo.sampleBankId1 != 0xFF) { relocInfo.sampleBankId1 = AudioLoad_GetRealTableIndex(SAMPLE_TABLE, relocInfo.sampleBankId1); diff --git a/soh/src/code/audio_playback.c b/soh/src/code/audio_playback.c index c116b4ddb..5d43118b8 100644 --- a/soh/src/code/audio_playback.c +++ b/soh/src/code/audio_playback.c @@ -1,6 +1,8 @@ #include "global.h" #include "Cvar.h" +extern bool gUseLegacySD; + void Audio_InitNoteSub(Note* note, NoteSubEu* sub, NoteSubAttributes* attrs) { f32 volRight, volLeft; s32 smallPanIndex; @@ -307,7 +309,7 @@ SoundFontSound* Audio_InstrumentGetSound(Instrument* instrument, s32 semitone) { Instrument* Audio_GetInstrumentInner(s32 fontId, s32 instId) { Instrument* inst; - + if (fontId == 0xFF) { return NULL; } @@ -317,16 +319,31 @@ Instrument* Audio_GetInstrumentInner(s32 fontId, s32 instId) { return NULL; } - if (instId >= gAudioContext.soundFonts[fontId].numInstruments) { - gAudioContext.audioErrorFlags = ((fontId << 8) + instId) + 0x3000000; - return NULL; + int instCnt = 0; + + if (gUseLegacySD) { + instCnt = gAudioContext.soundFonts[fontId].numInstruments; + inst = gAudioContext.soundFonts[fontId].instruments[instId]; + + if (instId >= gAudioContext.soundFonts[fontId].numInstruments) + if (instId >= instCnt) { + gAudioContext.audioErrorFlags = ((fontId << 8) + instId) + 0x3000000; + return NULL; + } + } else { + SoundFont* sf = ResourceMgr_LoadAudioSoundFont(fontId); + + if (instId >= sf->numInstruments) + return NULL; + + inst = sf->instruments[instId]; } - inst = gAudioContext.soundFonts[fontId].instruments[instId]; if (inst == NULL) { gAudioContext.audioErrorFlags = ((fontId << 8) + instId) + 0x1000000; return inst; } + return inst; } @@ -343,12 +360,17 @@ Drum* Audio_GetDrum(s32 fontId, s32 drumId) { return NULL; } - if (drumId >= gAudioContext.soundFonts[fontId].numDrums) { - gAudioContext.audioErrorFlags = ((fontId << 8) + drumId) + 0x4000000; - return NULL; - } + if (gUseLegacySD) { + if (drumId >= gAudioContext.soundFonts[fontId].numDrums) { + gAudioContext.audioErrorFlags = ((fontId << 8) + drumId) + 0x4000000; + return NULL; + } - drum = gAudioContext.soundFonts[fontId].drums[drumId]; + drum = gAudioContext.soundFonts[fontId].drums[drumId]; + } else { + SoundFont* sf = ResourceMgr_LoadAudioSoundFont(fontId); + drum = sf->drums[drumId]; + } if (drum == NULL) { gAudioContext.audioErrorFlags = ((fontId << 8) + drumId) + 0x5000000; @@ -369,12 +391,17 @@ SoundFontSound* Audio_GetSfx(s32 fontId, s32 sfxId) { return NULL; } - if (sfxId >= gAudioContext.soundFonts[fontId].numSfx) { - gAudioContext.audioErrorFlags = ((fontId << 8) + sfxId) + 0x4000000; - return NULL; - } + if (gUseLegacySD) { + if (sfxId >= gAudioContext.soundFonts[fontId].numSfx) { + gAudioContext.audioErrorFlags = ((fontId << 8) + sfxId) + 0x4000000; + return NULL; + } - sfx = &gAudioContext.soundFonts[fontId].soundEffects[sfxId]; + sfx = &gAudioContext.soundFonts[fontId].soundEffects[sfxId]; + } else { + SoundFont* sf = ResourceMgr_LoadAudioSoundFont(fontId); + sfx = &sf->soundEffects[sfxId]; + } if (sfx == NULL) { gAudioContext.audioErrorFlags = ((fontId << 8) + sfxId) + 0x5000000; diff --git a/soh/src/code/audio_seqplayer.c b/soh/src/code/audio_seqplayer.c index 3dd7b811e..52d14a9a1 100644 --- a/soh/src/code/audio_seqplayer.c +++ b/soh/src/code/audio_seqplayer.c @@ -938,8 +938,16 @@ u8 AudioSeq_GetInstrument(SequenceChannel* channel, u8 instId, Instrument** inst *instOut = NULL; return 0; } - adsr->envelope = inst->envelope; - adsr->releaseRate = inst->releaseRate; + + if (inst->envelope != NULL) + { + adsr->envelope = inst->envelope; + adsr->releaseRate = (inst->releaseRate); + } + else { + adsr->envelope = gDefaultEnvelope; + } + *instOut = inst; instId += 2; return instId; diff --git a/soh/src/code/audio_synthesis.c b/soh/src/code/audio_synthesis.c index 037bd2ec3..b567dd0ef 100644 --- a/soh/src/code/audio_synthesis.c +++ b/soh/src/code/audio_synthesis.c @@ -749,8 +749,10 @@ Acmd* AudioSynth_ProcessNote(s32 noteIndex, NoteSubEu* noteSubEu, NoteSynthesisS cmd = AudioSynth_LoadWaveSamples(cmd, noteSubEu, synthState, nSamplesToLoad); noteSamplesDmemAddrBeforeResampling = DMEM_UNCOMPRESSED_NOTE + (synthState->samplePosInt * 2); synthState->samplePosInt += nSamplesToLoad; - } else { + } else + { audioFontSample = noteSubEu->sound.soundFontSound->sample; + loopInfo = audioFontSample->loop; loopEndPos = loopInfo->end; sampleAddr = audioFontSample->sampleAddr; @@ -822,6 +824,7 @@ Acmd* AudioSynth_ProcessNote(s32 noteIndex, NoteSubEu* noteSubEu, NoteSynthesisS noteFinished = true; } } + switch (audioFontSample->codec) { case CODEC_ADPCM: @@ -848,6 +851,9 @@ Acmd* AudioSynth_ProcessNote(s32 noteIndex, NoteSubEu* noteSubEu, NoteSynthesisS goto skip; case CODEC_S16: AudioSynth_ClearBuffer(cmd++, DMEM_UNCOMPRESSED_NOTE, (samplesLenAdjusted * 2) + 0x20); + AudioSynth_LoadBuffer(cmd++, DMEM_UNCOMPRESSED_NOTE, ALIGN16(nSamplesToLoad * 2), + audioFontSample->sampleAddr + (synthState->samplePosInt * 2)); + flags = A_CONTINUE; skipBytes = 0; nSamplesProcessed = samplesLenAdjusted; @@ -860,7 +866,8 @@ Acmd* AudioSynth_ProcessNote(s32 noteIndex, NoteSubEu* noteSubEu, NoteSynthesisS if (nFramesToDecode != 0) { frameIndex = (synthState->samplePosInt + skipInitialSamples - nFirstFrameSamplesToIgnore) / 16; sampleDataOffset = frameIndex * frameSize; - if (audioFontSample->medium == MEDIUM_RAM) { + if (audioFontSample->medium == MEDIUM_RAM) + { sampleData = (u8*)(sampleDataStart + sampleDataOffset + sampleAddr); } else if (audioFontSample->medium == MEDIUM_UNK) { return cmd; @@ -1024,7 +1031,8 @@ Acmd* AudioSynth_ProcessNote(s32 noteIndex, NoteSubEu* noteSubEu, NoteSynthesisS unk7 = noteSubEu->unk_07; unkE = noteSubEu->unk_0E; buf = &synthState->synthesisBuffers->panSamplesBuffer[0x18]; - if (unk7 != 0 && noteSubEu->unk_0E != 0) { + if (unk7 != 0 && noteSubEu->unk_0E != 0) + { AudioSynth_DMemMove(cmd++, DMEM_TEMP, DMEM_SCRATCH2, aiBufLen * 2); thing = DMEM_SCRATCH2 - unk7; if (synthState->unk_1A != 0) { diff --git a/soh/src/code/code_800E4FE0.c b/soh/src/code/code_800E4FE0.c index c46ae7a07..d88e731f4 100644 --- a/soh/src/code/code_800E4FE0.c +++ b/soh/src/code/code_800E4FE0.c @@ -213,11 +213,7 @@ AudioTask* func_800E5000(void) { task = &gAudioContext.currTask->task.t; task->type = M_AUDTASK; task->flags = 0; - //task->ucode_boot = D_801120C0; task->ucode_boot_size = 0x1000; - //task->ucode_data_size = ((rspAspMainDataEnd - rspAspMainDataStart) * sizeof(u64)) - 1; - //task->ucode = D_801120C0; - //task->ucode_data = rspAspMainDataStart; task->ucode_size = 0x1000; task->dram_stack = NULL; task->dram_stack_size = 0; |
