From ce0fe82a02c0334a068bd2b78fa1f92e81680806 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 31 Jan 2018 07:10:32 +0100 Subject: [PATCH] Add an argument to look for music only in the base location --- src/event.cxx | 5 ++++- src/event.h | 23 ++++++++++++----------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index e9fe135..d40042b 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -3066,7 +3066,7 @@ CEvent::IsHelpHide () } std::string -CEvent::GetMusicLocation (Sint32 music, std::string & format) +CEvent::GetMusicLocation (Sint32 music, std::string & format, bool onlyBase) { static const std::string exts[] = {"ogg", "mid"}; static const Location locs[] = {LOCATION_USER, LOCATION_BASE}; @@ -3077,6 +3077,9 @@ CEvent::GetMusicLocation (Sint32 music, std::string & format) // Look for music in the user directory, then in the game directory. for (size_t i = 0; i < countof (locs); ++i) { + if (onlyBase && locs[i] != LOCATION_BASE) + continue; + format = exts[g_restoreMidi ? 1 : 0]; auto filename = string_format ("music/music%.3d.%s", music - 1, format.c_str ()); diff --git a/src/event.h b/src/event.h index 3ca7b03..02dbbb9 100644 --- a/src/event.h +++ b/src/event.h @@ -94,17 +94,18 @@ public: Point GetMousePos (); void - Create (CPixmap * pPixmap, CDecor * pDecor, CSound * pSound, CMovie * pMovie); - void SetFullScreen (bool bFullScreen); - Sint32 GetWorld (); - Sint32 GetPhysicalWorld (); - Sint32 GetImageWorld (); - bool IsHelpHide (); - std::string GetMusicLocation (Sint32 music, std::string & format); - bool ChangePhase (Uint32 phase); - bool MovieToStart (); - Uint32 GetPhase (); - void TryInsert (); + Create (CPixmap * pPixmap, CDecor * pDecor, CSound * pSound, CMovie * pMovie); + void SetFullScreen (bool bFullScreen); + Sint32 GetWorld (); + Sint32 GetPhysicalWorld (); + Sint32 GetImageWorld (); + bool IsHelpHide (); + std::string + GetMusicLocation (Sint32 music, std::string & format, bool onlyBase = false); + bool ChangePhase (Uint32 phase); + bool MovieToStart (); + Uint32 GetPhase (); + void TryInsert (); Sint32 GetButtonIndex (Sint32 button); Sint32 GetState (Sint32 button);