diff --git a/trunk/CardSaveDataMover/body/source/savefile/membak.BAK b/trunk/CardSaveDataMover/body/source/savefile/membak.BAK deleted file mode 100644 index 3ce4705..0000000 --- a/trunk/CardSaveDataMover/body/source/savefile/membak.BAK +++ /dev/null @@ -1,228 +0,0 @@ -#include -#include -#include -#include -#include "membak.h" - -using namespace nn; - -namespace -{ - const size_t BUFFER_SIZE = 1024 * 1024; - bit8 s_Buffer[BUFFER_SIZE] NN_ATTRIBUTE_ALIGN(32); -} - -bool info_alive; - -//-------------------------------------------------------------------- -// - - -//コンストラクタ -MemBak::MemBak() -{ - m_Exists = false; - m_pBuffer = s_Buffer; - m_pBufferPos = s_Buffer; - m_pBufferSize = sizeof(s_Buffer); - LastNnResult = ResultSuccess(); - ResetPath(); - - info_alive = false; -} - -void MemBak::Finalize() -{ -} -//デストラクタ -MemBak::~MemBak() -{ -} - - - - - -//-------------------------------------------------------------------- -// mount, unmount, create, delete - -//拡張セーブデータ -//存在確認 -bool MemBak::IsExist() -{ - return m_Exists; -} - -//セーブ作成、成功時はマウント状態 -myResult MemBak::Create(const void* icon,size_t iconSize,u32 entryDir,u32 entryFile) -{ - NN_UNUSED_VAR(icon); - NN_UNUSED_VAR(iconSize); - - if ( m_IsMounted ) - { - return RESULT_ALREADY_MOUNT; - } - - m_NumDirEntry = entryDir; - m_NumFileEntry = entryFile; - - m_Exists = true; - m_IsMounted = true; - return RESULT_OK; -} - -//削除 -bool MemBak::Delete() -{ - m_Exists = false; - info_alive = false; - m_pBufferPos = m_pBuffer; - return true; -} - -//マウント -myResult MemBak::Mount() -{ - if ( m_IsMounted ) - { - return RESULT_ALREADY_MOUNT; - } - - m_IsMounted = true; - return RESULT_OK; -} -void MemBak::Unmount() -{ - m_IsMounted = false; -} - - - - -//-------------------------------------------------------------------- -// SetInfo, GetInfo - -//アーカイブ情報の取得 -bool MemBak::GetInfo(tArcInfo *pinfo) -{ - if (info_alive==false)return false; - *pinfo = m_ArcInfo; - return true; -} - - -//管理用ファイル -//ライト属性で開く -bool MemBak::OpenSysW() -{ - return true; -} -//ライト属性ファイルを閉じる -void MemBak::CloseSysW() -{ -} - -//システムファイルライト -bool MemBak::WriteSys(tArcInfo *pinfo) -{ - info_alive = true; - pinfo->Ver = INFO_VERSION; - m_ArcInfo = *pinfo; - return true; -} - - - - -//-------------------------------------------------------------------- -// Traverse - -//パス検索位置のリセット -void MemBak::ResetPath() -{ - m_pFind = reinterpret_cast(m_pBuffer); -} - - -myResult MemBak::GetPath(wchar_t *path) -{ - if( m_pFind->IsEnd() ) - { - path[0] = '\0'; - return RESULT_OK; - } - - std::wcscpy(path, m_pFind->GetName()); - m_pFind = m_pFind->GetNext(); - - return RESULT_OK; -} - - - - -//-------------------------------------------------------------------- -// Write - -//ライト属性ファイルを閉じる -void MemBak::CloseW() -{ -} - -//ファイルライト -s32 MemBak::Write(char *buffer,size_t size) -{ - return m_ForWrite.Write(buffer, size); -} - - - -//ライト属性ファイルを開く -bool MemBak::OpenW(wchar_t *path,s64 size) -{ - m_ForWrite.Init(reinterpret_cast(m_pBufferPos)); - m_ForWrite.Set(path, size); - m_pBufferPos = reinterpret_cast(m_ForWrite.GetNext()); - return true; -} - -//-------------------------------------------------------------------- -// Read - -//ファイルリード -s32 MemBak::Read(char *buffer,size_t size) -{ - return m_ForRead.Read(buffer, size); -} - - -void MemBak::Close() -{ -} - - -//ファイルを開く -//パス指定はルート以降 -//(ex)data:/dir/file -> dir/file -bool MemBak::Open(wchar_t *path) -{ - EntryHeader* pE = reinterpret_cast(m_pBuffer); - - while( ! pE->IsEnd() ) - { - if( pE->Match(path) ) - { - m_ForRead.Init(pE); - FileSize = m_ForRead.GetSize(); - return true; - } - - pE = pE->GetNext(); - } - - return false; -} - -//-------------------------------------------------------------------- -