summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO
diff options
context:
space:
mode:
authorSonicadvance1 <sonicadvance1@gmail.com>2008-09-18 03:18:19 +0000
committerSonicadvance1 <sonicadvance1@gmail.com>2008-09-18 03:18:19 +0000
commit28cd7e220c5176b463c1602319fc9daf28f8b718 (patch)
treee73c23fd072fcf1bcbca9111bb59934f689778ee /Source/Core/DiscIO
parent07421b08eb67996e0318a96cb90e1aa424f80132 (diff)
Started Work on File System Viewer. It isn't very pretty yet
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@570 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DiscIO')
-rw-r--r--Source/Core/DiscIO/Src/FileSystemGCWii.cpp11
-rw-r--r--Source/Core/DiscIO/Src/FileSystemGCWii.h13
-rw-r--r--Source/Core/DiscIO/Src/Filesystem.h2
-rw-r--r--Source/Core/DiscIO/Src/Volume.h11
4 files changed, 24 insertions, 13 deletions
diff --git a/Source/Core/DiscIO/Src/FileSystemGCWii.cpp b/Source/Core/DiscIO/Src/FileSystemGCWii.cpp
index 439317d746..31efdb0ec4 100644
--- a/Source/Core/DiscIO/Src/FileSystemGCWii.cpp
+++ b/Source/Core/DiscIO/Src/FileSystemGCWii.cpp
@@ -159,8 +159,17 @@ void CFileSystemGCWii::GetStringFromOffset(u64 _Offset, char* Filename) const
m_rVolume.Read(_Offset, 255, (u8*)Filename);
}
+size_t CFileSystemGCWii::GetFileList(std::vector<SFileInfo> *_rFilenames)
+{
+ (*_rFilenames).resize(m_FileInfoVector.size());
+ for (size_t i = 0; i < m_FileInfoVector.size(); i++)
+ {
+ (*_rFilenames)[i] = m_FileInfoVector[i];
+ }
+ return m_FileInfoVector.size();
+}
-const CFileSystemGCWii::SFileInfo*
+const SFileInfo*
CFileSystemGCWii::FindFileInfo(const char* _rFullPath) const
{
for (size_t i = 0; i < m_FileInfoVector.size(); i++)
diff --git a/Source/Core/DiscIO/Src/FileSystemGCWii.h b/Source/Core/DiscIO/Src/FileSystemGCWii.h
index caadabe45d..0584c4e80f 100644
--- a/Source/Core/DiscIO/Src/FileSystemGCWii.h
+++ b/Source/Core/DiscIO/Src/FileSystemGCWii.h
@@ -48,17 +48,6 @@ class CFileSystemGCWii
private:
- // file info of an FST entry
- struct SFileInfo
- {
- u32 m_NameOffset;
- u64 m_Offset;
- u32 m_FileSize;
- char m_FullPath[512];
-
- bool IsDirectory() {return((m_NameOffset& 0xFF000000) != 0 ? true : false);}
- };
-
typedef std::vector<SFileInfo>CFileInfoVector;
CFileInfoVector m_FileInfoVector;
@@ -68,6 +57,8 @@ class CFileSystemGCWii
u32 Read32(u64 _Offset) const;
+ virtual size_t GetFileList(std::vector<SFileInfo> *_rFilenames);
+
void GetStringFromOffset(u64 _Offset, char* Filename) const;
const SFileInfo* FindFileInfo(const char* _rFullPath) const;
diff --git a/Source/Core/DiscIO/Src/Filesystem.h b/Source/Core/DiscIO/Src/Filesystem.h
index 98ac81cf0e..b2532a3206 100644
--- a/Source/Core/DiscIO/Src/Filesystem.h
+++ b/Source/Core/DiscIO/Src/Filesystem.h
@@ -33,7 +33,7 @@ class IFileSystem
virtual bool IsInitialized() = 0;
-// virtual size_t GetFileList(std::vector<std::string&> _rFilenames) = 0;
+ virtual size_t GetFileList(std::vector<SFileInfo> *_rFilenames) = 0;
virtual size_t GetFileSize(const char* _rFullPath) = 0;
diff --git a/Source/Core/DiscIO/Src/Volume.h b/Source/Core/DiscIO/Src/Volume.h
index 6fb958d965..c6448dfbbb 100644
--- a/Source/Core/DiscIO/Src/Volume.h
+++ b/Source/Core/DiscIO/Src/Volume.h
@@ -19,9 +19,20 @@
#define _VOLUME_H
#include <string>
+#include <vector>
#include "Common.h"
+// file info of an FST entry
+struct SFileInfo
+{
+ u32 m_NameOffset;
+ u64 m_Offset;
+ u32 m_FileSize;
+ char m_FullPath[512];
+
+ bool IsDirectory() {return((m_NameOffset& 0xFF000000) != 0 ? true : false);}
+};
namespace DiscIO
{
class IVolume