summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/FileMonitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DiscIO/FileMonitor.cpp')
-rw-r--r--Source/Core/DiscIO/FileMonitor.cpp151
1 files changed, 0 insertions, 151 deletions
diff --git a/Source/Core/DiscIO/FileMonitor.cpp b/Source/Core/DiscIO/FileMonitor.cpp
deleted file mode 100644
index adc29de250..0000000000
--- a/Source/Core/DiscIO/FileMonitor.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-// Copyright 2009 Dolphin Emulator Project
-// Licensed under GPLv2+
-// Refer to the license.txt file included.
-
-#include <algorithm>
-#include <cctype>
-#include <cstring>
-#include <memory>
-#include <string>
-#include <unordered_set>
-#include <vector>
-
-#include "Common/CommonTypes.h"
-#include "Common/Logging/LogManager.h"
-#include "Common/StringUtil.h"
-
-#include "Core/Boot/Boot.h"
-#include "Core/ConfigManager.h"
-#include "Core/Core.h"
-
-#include "DiscIO/Enums.h"
-#include "DiscIO/FileMonitor.h"
-#include "DiscIO/Filesystem.h"
-#include "DiscIO/Volume.h"
-#include "DiscIO/VolumeCreator.h"
-
-namespace FileMon
-{
-static std::unique_ptr<DiscIO::IVolume> s_open_iso;
-static std::unique_ptr<DiscIO::IFileSystem> s_filesystem;
-static std::string ISOFile = "", CurrentFile = "";
-static bool FileAccess = true;
-
-// Filtered files
-bool IsSoundFile(const std::string& filename)
-{
- std::string extension;
- SplitPath(filename, nullptr, nullptr, &extension);
- std::transform(extension.begin(), extension.end(), extension.begin(), ::tolower);
-
- static std::unordered_set<std::string> extensions = {
- ".adp", // 1080 Avalanche, Crash Bandicoot, etc.
- ".adx", // Sonic Adventure 2 Battle, etc.
- ".afc", // Zelda WW
- ".ast", // Zelda TP, Mario Kart
- ".brstm", // Wii Sports, Wario Land, etc.
- ".dsp", // Metroid Prime
- ".hps", // SSB Melee
- ".ogg", // Tony Hawk's Underground 2
- ".sad", // Disaster
- ".snd", // Tales of Symphonia
- ".song", // Tales of Symphonia
- ".ssm", // Custom Robo, Kirby Air Ride, etc.
- ".str", // Harry Potter & the Sorcerer's Stone
- };
-
- return extensions.find(extension) != extensions.end();
-}
-
-// Read the file system
-void ReadFileSystem(const std::string& filename)
-{
- // Should have an actual Shutdown procedure or something
- s_open_iso.reset();
- s_filesystem.reset();
-
- s_open_iso = DiscIO::CreateVolumeFromFilename(filename);
- if (!s_open_iso)
- return;
-
- if (s_open_iso->GetVolumeType() != DiscIO::Platform::WII_WAD)
- {
- s_filesystem = DiscIO::CreateFileSystem(s_open_iso.get());
-
- if (!s_filesystem)
- return;
- }
-
- FileAccess = true;
-}
-
-// Logs a file if it passes a few checks
-void CheckFile(const std::string& file, u64 size)
-{
- // Don't do anything if the log is unselected
- if (!LogManager::GetInstance()->IsEnabled(LogTypes::FILEMON, LogTypes::LWARNING))
- return;
- // Do nothing if we found the same file again
- if (CurrentFile == file)
- return;
-
- if (size > 0)
- size = (size / 1000);
-
- std::string str = StringFromFormat("%s kB %s", ThousandSeparate(size, 7).c_str(), file.c_str());
- if (IsSoundFile(file))
- {
- INFO_LOG(FILEMON, "%s", str.c_str());
- }
- else
- {
- WARN_LOG(FILEMON, "%s", str.c_str());
- }
-
- // Update the current file
- CurrentFile = file;
-}
-
-// Find the filename
-void FindFilename(u64 offset)
-{
- // Don't do anything if a game is not running
- if (Core::GetState() != Core::State::Running)
- return;
-
- // Or if the log is unselected
- if (!LogManager::GetInstance()->IsEnabled(LogTypes::FILEMON, LogTypes::LWARNING))
- return;
-
- // Or if we don't have file access
- if (!FileAccess)
- return;
-
- if (!s_filesystem || ISOFile != SConfig::GetInstance().m_LastFilename)
- {
- FileAccess = false;
- ReadFileSystem(SConfig::GetInstance().m_LastFilename);
- ISOFile = SConfig::GetInstance().m_LastFilename;
- INFO_LOG(FILEMON, "Opening '%s'", ISOFile.c_str());
- return;
- }
-
- const std::string filename = s_filesystem->GetFileName(offset);
-
- if (filename.empty())
- return;
-
- CheckFile(filename, s_filesystem->GetFileSize(filename));
-}
-
-void Close()
-{
- s_open_iso.reset();
- s_filesystem.reset();
-
- ISOFile = "";
- CurrentFile = "";
- FileAccess = true;
-}
-
-} // FileMon