From 4a0c8fc0c9b6666e7933683260e2befbc81917ff Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Wed, 9 Jun 2010 01:37:08 +0000 Subject: 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 --- Source/Core/DiscIO/Src/FileMonitor.cpp | 342 ++++++++++++++++----------------- 1 file changed, 171 insertions(+), 171 deletions(-) (limited to 'Source/Core/DiscIO/Src/FileMonitor.cpp') 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 -#include -#include -#include - - -#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 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 +#include +#include +#include + + +#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 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 -- cgit v1.2.3