summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/Src/FileMonitor.cpp
diff options
context:
space:
mode:
authorShawn Hoffman <godisgovernment@gmail.com>2010-06-09 01:37:08 +0000
committerShawn Hoffman <godisgovernment@gmail.com>2010-06-09 01:37:08 +0000
commit4a0c8fc0c9b6666e7933683260e2befbc81917ff (patch)
treeeb83de83f60b3de6f631bcf5da9c18a07a0f263a /Source/Core/DiscIO/Src/FileMonitor.cpp
parentdacd557f57c73043155c06c060370df9789eb98c (diff)
Hg:
enable newline normalization get revision number via `hg svn info` for svnrev.h ignore incremental/generated binary files (windows/VS at least) leave a comment if some files need native eol set in svnprops git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5637 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DiscIO/Src/FileMonitor.cpp')
-rw-r--r--Source/Core/DiscIO/Src/FileMonitor.cpp342
1 files changed, 171 insertions, 171 deletions
diff --git a/Source/Core/DiscIO/Src/FileMonitor.cpp b/Source/Core/DiscIO/Src/FileMonitor.cpp
index 7cccf15487..ba95f0609e 100644
--- a/Source/Core/DiscIO/Src/FileMonitor.cpp
+++ b/Source/Core/DiscIO/Src/FileMonitor.cpp
@@ -1,171 +1,171 @@
-// Copyright (C) 2003-2008 Dolphin Project.
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 2.0.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License 2.0 for more details.
-
-// A copy of the GPL 2.0 should have been included with the program.
-// If not, see http://www.gnu.org/licenses/
-
-// Official SVN repository and contact information can be found at
-// http://code.google.com/p/dolphin-emu/
-
-
-// -----------
-// Include
-
-#include "stdafx.h"
-#include <iostream>
-#include <vector>
-#include <string>
-#include <algorithm>
-
-
-#include "Common.h" // Common
-#include "IniFile.h"
-#include "LogManager.h"
-
-#include "../../Core/Src/Core.h"
-#include "../../Core/Src/ConfigManager.h"
-#include "FileSystemGCWii.h"
-#include "VolumeCreator.h"
-
-namespace FileMon
-{
-
-DiscIO::IVolume *OpenISO = NULL;
-DiscIO::IFileSystem *pFileSystem = NULL;
-std::vector<const DiscIO::SFileInfo *> GCFiles;
-std::string ISOFile = "", CurrentFile = "";
-bool FileAccess = true;
-
-// Filtered files
-bool ShowSound(std::string FileName)
-{
- std::string Ending;
- SplitPath(FileName, NULL, NULL, &Ending);
- std::transform(Ending.begin(),Ending.end(),Ending.begin(),::tolower);
-
- if (
- (Ending == ".adp") // 1080 Avalanche, Crash Bandicoot, etc
- || (Ending == ".afc") // Zelda WW
- || (Ending == ".ast") // Zelda TP, Mario Kart
- || (Ending == ".dsp") // Metroid Prime
- || (Ending == ".hps") // SSB Melee
-
- || (Ending == ".brstm") // Wii Sports, Wario Land, etc
- || (Ending == ".sad") // Disaster
- )
- return true;
-
- return false;
-}
-
-
-// Read the GC file system
-void ReadGC(std::string FileName)
-{
- // Should have an actual Shutdown procedure or something
- if(OpenISO != NULL)
- {
- delete OpenISO;
- OpenISO = NULL;
- }
- if(pFileSystem != NULL)
- {
- delete pFileSystem;
- pFileSystem = NULL;
- }
- // GCFiles' pointers are no longer valid after pFileSystem is cleared
- GCFiles.clear();
- OpenISO = DiscIO::CreateVolumeFromFilename(FileName);
- if (!OpenISO) return;
- if (!DiscIO::IsVolumeWiiDisc(OpenISO) && !DiscIO::IsVolumeWadFile(OpenISO))
- {
- pFileSystem = DiscIO::CreateFileSystem(OpenISO);
- if(!pFileSystem) return;
- pFileSystem->GetFileList(GCFiles);
- }
- FileAccess = true;
-}
-
-// Check if we should play this file
-void CheckFile(std::string File, u64 Size)
-{
- // Don't do anything if the log is unselected
- if (!LogManager::GetInstance()->isEnable(LogTypes::FILEMON)) 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", ThS(Size, true, 7).c_str(), File.c_str());
- if (ShowSound(File))
- {
- NOTICE_LOG(FILEMON, Str.c_str());
- }
- else
- {
- WARN_LOG(FILEMON, Str.c_str());
- }
-
- // Update the current file
- CurrentFile = File;
-}
-
-
-// Find the GC filename
-void FindFilename(u64 offset)
-{
- // Don't do anything if a game is not running
- if (Core::GetState() != Core::CORE_RUN) return;
- // Or if the log is unselected
- if (!LogManager::GetInstance()->isEnable(LogTypes::FILEMON)) return;
- if (!FileAccess) return;
-
- if (!pFileSystem || ISOFile != SConfig::GetInstance().m_LastFilename)
- {
- FileAccess = false;
- ReadGC(SConfig::GetInstance().m_LastFilename);
- ISOFile = SConfig::GetInstance().m_LastFilename;
- NOTICE_LOG(FILEMON, "Opening '%s'", ISOFile.c_str());
- return;
- }
-
- const char *fname = pFileSystem->GetFileName(offset);
-
- // There's something wrong with the paths
- if (!fname || (strlen(fname) == 512))
- return;
-
- CheckFile(fname, pFileSystem->GetFileSize(fname));
-}
-
-void Close()
-{
- if(OpenISO != NULL)
- {
- delete OpenISO;
- OpenISO = NULL;
- }
-
- if(pFileSystem != NULL)
- {
- delete pFileSystem;
- pFileSystem = NULL;
- }
-
- // GCFiles' pointers are no longer valid after pFileSystem is cleared
- GCFiles.clear();
-
- ISOFile = "";
- CurrentFile = "";
- FileAccess = true;
-}
-
-
-} // FileMon
+// Copyright (C) 2003-2008 Dolphin Project.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 2.0.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License 2.0 for more details.
+
+// A copy of the GPL 2.0 should have been included with the program.
+// If not, see http://www.gnu.org/licenses/
+
+// Official SVN repository and contact information can be found at
+// http://code.google.com/p/dolphin-emu/
+
+
+// -----------
+// Include
+
+#include "stdafx.h"
+#include <iostream>
+#include <vector>
+#include <string>
+#include <algorithm>
+
+
+#include "Common.h" // Common
+#include "IniFile.h"
+#include "LogManager.h"
+
+#include "../../Core/Src/Core.h"
+#include "../../Core/Src/ConfigManager.h"
+#include "FileSystemGCWii.h"
+#include "VolumeCreator.h"
+
+namespace FileMon
+{
+
+DiscIO::IVolume *OpenISO = NULL;
+DiscIO::IFileSystem *pFileSystem = NULL;
+std::vector<const DiscIO::SFileInfo *> GCFiles;
+std::string ISOFile = "", CurrentFile = "";
+bool FileAccess = true;
+
+// Filtered files
+bool ShowSound(std::string FileName)
+{
+ std::string Ending;
+ SplitPath(FileName, NULL, NULL, &Ending);
+ std::transform(Ending.begin(),Ending.end(),Ending.begin(),::tolower);
+
+ if (
+ (Ending == ".adp") // 1080 Avalanche, Crash Bandicoot, etc
+ || (Ending == ".afc") // Zelda WW
+ || (Ending == ".ast") // Zelda TP, Mario Kart
+ || (Ending == ".dsp") // Metroid Prime
+ || (Ending == ".hps") // SSB Melee
+
+ || (Ending == ".brstm") // Wii Sports, Wario Land, etc
+ || (Ending == ".sad") // Disaster
+ )
+ return true;
+
+ return false;
+}
+
+
+// Read the GC file system
+void ReadGC(std::string FileName)
+{
+ // Should have an actual Shutdown procedure or something
+ if(OpenISO != NULL)
+ {
+ delete OpenISO;
+ OpenISO = NULL;
+ }
+ if(pFileSystem != NULL)
+ {
+ delete pFileSystem;
+ pFileSystem = NULL;
+ }
+ // GCFiles' pointers are no longer valid after pFileSystem is cleared
+ GCFiles.clear();
+ OpenISO = DiscIO::CreateVolumeFromFilename(FileName);
+ if (!OpenISO) return;
+ if (!DiscIO::IsVolumeWiiDisc(OpenISO) && !DiscIO::IsVolumeWadFile(OpenISO))
+ {
+ pFileSystem = DiscIO::CreateFileSystem(OpenISO);
+ if(!pFileSystem) return;
+ pFileSystem->GetFileList(GCFiles);
+ }
+ FileAccess = true;
+}
+
+// Check if we should play this file
+void CheckFile(std::string File, u64 Size)
+{
+ // Don't do anything if the log is unselected
+ if (!LogManager::GetInstance()->isEnable(LogTypes::FILEMON)) 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", ThS(Size, true, 7).c_str(), File.c_str());
+ if (ShowSound(File))
+ {
+ NOTICE_LOG(FILEMON, Str.c_str());
+ }
+ else
+ {
+ WARN_LOG(FILEMON, Str.c_str());
+ }
+
+ // Update the current file
+ CurrentFile = File;
+}
+
+
+// Find the GC filename
+void FindFilename(u64 offset)
+{
+ // Don't do anything if a game is not running
+ if (Core::GetState() != Core::CORE_RUN) return;
+ // Or if the log is unselected
+ if (!LogManager::GetInstance()->isEnable(LogTypes::FILEMON)) return;
+ if (!FileAccess) return;
+
+ if (!pFileSystem || ISOFile != SConfig::GetInstance().m_LastFilename)
+ {
+ FileAccess = false;
+ ReadGC(SConfig::GetInstance().m_LastFilename);
+ ISOFile = SConfig::GetInstance().m_LastFilename;
+ NOTICE_LOG(FILEMON, "Opening '%s'", ISOFile.c_str());
+ return;
+ }
+
+ const char *fname = pFileSystem->GetFileName(offset);
+
+ // There's something wrong with the paths
+ if (!fname || (strlen(fname) == 512))
+ return;
+
+ CheckFile(fname, pFileSystem->GetFileSize(fname));
+}
+
+void Close()
+{
+ if(OpenISO != NULL)
+ {
+ delete OpenISO;
+ OpenISO = NULL;
+ }
+
+ if(pFileSystem != NULL)
+ {
+ delete pFileSystem;
+ pFileSystem = NULL;
+ }
+
+ // GCFiles' pointers are no longer valid after pFileSystem is cleared
+ GCFiles.clear();
+
+ ISOFile = "";
+ CurrentFile = "";
+ FileAccess = true;
+}
+
+
+} // FileMon