From 5f57a833323315e08c41487ef1187c0f19a3d72e Mon Sep 17 00:00:00 2001 From: Kelsi Date: Mon, 9 Feb 2026 02:05:09 -0800 Subject: [PATCH] Test forward slash paths for MPQ file access MPQs may store files internally with forward slashes. Testing both: - Sound/Creature/... (forward slashes) - Sound\Creature\... (backslashes) This should help identify the correct path format for accessing files. --- src/audio/npc_voice_manager.cpp | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/audio/npc_voice_manager.cpp b/src/audio/npc_voice_manager.cpp index cece33a8..6ac22abe 100644 --- a/src/audio/npc_voice_manager.cpp +++ b/src/audio/npc_voice_manager.cpp @@ -20,28 +20,26 @@ bool NpcVoiceManager::initialize(pipeline::AssetManager* assets) { return false; } - // Comprehensive probe - try many path/name variations + // Comprehensive probe - try forward slashes (MPQ internal format) LOG_INFO("=== Searching for NPC voice files (testing patterns) ==="); std::vector testPaths = { - // Wowhead paths + // Forward slashes (MPQ internal format) + "Sound/Creature/HumanMaleStandardNPC/HumanMaleStandardNPCGreetings01.ogg", + "Sound/Creature/HumanFemaleStandardNPC/HumanFemaleStandardNPCGreeting01.ogg", + + // Backslashes (Windows format) "Sound\\Creature\\HumanMaleStandardNPC\\HumanMaleStandardNPCGreetings01.ogg", "Sound\\Creature\\HumanFemaleStandardNPC\\HumanFemaleStandardNPCGreeting01.ogg", - // Try lowercase everything - "sound\\creature\\humanmalestandardnpc\\humanmalestandardnpcgreetings01.ogg", + // Lowercase with forward slashes + "sound/creature/humanmalestandardnpc/humanmalestandardnpcgreetings01.ogg", - // Try PC voice files (player character emotes - these exist!) + // PC voice files with forward slashes + "Sound/Character/Human/HumanVocMaleHello01.wav", + "Sound/Character/Human/HumanVocFemaleHello01.wav", + + // PC voice files with backslashes "Sound\\Character\\Human\\HumanVocMaleHello01.wav", - "Sound\\Character\\Human\\HumanVocMaleHello02.wav", - "Sound\\Character\\Human\\HumanVocFemaleHello01.wav", - - // Try VO directory - "Sound\\VO\\Human\\Male\\Greeting01.wav", - "Sound\\Voice\\HumanMale\\Greeting.wav", - - // Try simpler creature paths - "Sound\\Creature\\Human\\Greeting01.ogg", - "Sound\\Creature\\Humanoid\\MaleGreeting01.ogg", }; for (const auto& path : testPaths) { bool exists = assetManager_->fileExists(path);