diff --git a/src/game_system.cpp b/src/game_system.cpp index eab52055451..ffa36c48723 100644 --- a/src/game_system.cpp +++ b/src/game_system.cpp @@ -23,6 +23,7 @@ #include "baseui.h" #include "bitmap.h" #include "cache.h" +#include "output.h" #include "graphics.h" #include "main_data.h" #include "scene_save.h" @@ -86,16 +87,30 @@ void Game_System::BgmStop() { } void Game_System::SePlay(RPG::Sound const& se) { - if (!se.name.empty() && se.name != "(OFF)" && se.name != "(Brak)") { - // Yume Nikki plays hundreds of sound effects at 0% volume on - // startup. Probably for caching. This triggers "No free channels" - // warnings. - if (se.volume > 0) { - FileRequestAsync* request = AsyncHandler::RequestFile("Sound", se.name); - se_request_ids[se.name] = request->Bind(boost::bind(&Game_System::OnSeReady, _1, se.volume, se.tempo)); - request->Start(); + static bool ineluki_warning_shown = false; + + if (se.name.empty() || se.name == "(OFF)" || se.name == "(Brak)") + return; + + std::string end = ".script"; + if (se.name.length() >= end.length() && + 0 == se.name.compare(se.name.length() - end.length(), end.length(), end)) { + if (!ineluki_warning_shown) { + Output::Warning("\nThis game seems to use an unsupported patch to\n" + "support additional keys. This will likely not work!"); + ineluki_warning_shown = true; } + return; } + + // NOTE: Yume Nikki plays hundreds of sound effects at 0% volume on startup, + // probably for caching. This avoids "No free channels" warnings. + if (se.volume == 0) + return; + + FileRequestAsync* request = AsyncHandler::RequestFile("Sound", se.name); + se_request_ids[se.name] = request->Bind(boost::bind(&Game_System::OnSeReady, _1, se.volume, se.tempo)); + request->Start(); } std::string Game_System::GetSystemName() {