git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@258 385bec56-5757-e545-9c3a-d8741f4650f1

This commit is contained in:
mizu 2011-05-18 04:58:21 +00:00
parent cd895df3ca
commit 09a6b5a638
8 changed files with 17 additions and 14 deletions

View File

@ -1,2 +1,3 @@
# #
EJF10000237 EJF10000237
EJF10000308

View File

@ -31,7 +31,7 @@
#include "../../../common/sleep.h" #include "../../../common/sleep.h"
#include "../../../common/common.h" #include "../../../common/common.h"
#include "../../../common/shfnt.h" #include "../../../common/shfnt.h"
#include "test_data.h" #include "../../../common/test_data.h"
#define INF_FILE "sdmc:/csm_inf.txt" #define INF_FILE "sdmc:/csm_inf.txt"

View File

@ -284,7 +284,7 @@ void nnMain( void )
// s_RenderSystem.SetFontSize(12); // s_RenderSystem.SetFontSize(12);
shf_SetScale(0.8,0.6); shf_SetScale(0.8,0.6);
setColor(1.0,1.0,1.0,1.0); setColor(1.0,1.0,1.0,1.0);
drawText(20,20,"CTR Card Savedata to SD Setup"); drawText(20,20,"CTR Card Savedata Exporter Setup");
s_RenderSystem.SwapBuffers(); s_RenderSystem.SwapBuffers();
shf_SetScale(0.5,0.5); shf_SetScale(0.5,0.5);

View File

@ -194,7 +194,7 @@ void touchQuit(u32 pos NN_IS_UNUSED_VAR)
//‰º‰æ–Ê //‰º‰æ–Ê
//Top Menu //Top Menu
const tPanel panel_Read = {(uptr)touchRead,"to SD",80+20,30,160,80,PANEL_READ,SCREEN_LOWER}; const tPanel panel_Read = {(uptr)touchRead,"Export",80+20,30,160,80,PANEL_READ,SCREEN_LOWER};
//const tPanel panel_Write = {(uptr)touchWrite,"Restore",80+20,130,160,80,PANEL_WRITE,SCREEN_LOWER}; //const tPanel panel_Write = {(uptr)touchWrite,"Restore",80+20,130,160,80,PANEL_WRITE,SCREEN_LOWER};
//const tPanel panel_End = {(uptr)touchEnd,"End",80,180,160,30,PANEL_END,SCREEN_LOWER}; //const tPanel panel_End = {(uptr)touchEnd,"End",80,180,160,30,PANEL_END,SCREEN_LOWER};
@ -262,7 +262,7 @@ const tMessage mess_version = {"version",LOC_TITL_W-FONT_SIZE_PRODUCT*6,FONT_SIZ
#define FONT_SIZE 10 #define FONT_SIZE 10
#define STR_LINE(ln) (FONT_SIZE + 2)*ln #define STR_LINE(ln) (FONT_SIZE + 2)*ln
const tPanel panel_menu = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_MENU,SCREEN_UPPER}; const tPanel panel_menu = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_MENU,SCREEN_UPPER};
const tMessage mess_menu_read = {"[to SD] Write to SD",10,STR_LINE(1),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_READ,PANEL_MENU}; const tMessage mess_menu_read = {"[Export] Write to SD",10,STR_LINE(1),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_READ,PANEL_MENU};
//const tMessage mess_menu_write = {"[Restore] restore to Card",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_WRITE,PANEL_MENU}; //const tMessage mess_menu_write = {"[Restore] restore to Card",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_WRITE,PANEL_MENU};
//const tMessage mess_menu_end = {"[End] close this apprication",10,STR_LINE(3),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_END,PANEL_MENU}; //const tMessage mess_menu_end = {"[End] close this apprication",10,STR_LINE(3),COLOR_WHITE,FONT_SIZE,MESSAGE_MENU_END,PANEL_MENU};
const tMessage mess_menu_operate = {"touch below",10,STR_LINE(4),COLOR_GREEN,FONT_SIZE,MESSAGE_MENU_OPERATE,PANEL_MENU}; const tMessage mess_menu_operate = {"touch below",10,STR_LINE(4),COLOR_GREEN,FONT_SIZE,MESSAGE_MENU_OPERATE,PANEL_MENU};
@ -528,7 +528,7 @@ void scr_TopMenu(bool formatted,bool inserted,bool sdins,int err)
mask | = ( nn::hid::BUTTON_DOWN | nn::hid::BUTTON_Y | nn::hid::BUTTON_L | nn::hid::BUTTON_R); mask | = ( nn::hid::BUTTON_DOWN | nn::hid::BUTTON_Y | nn::hid::BUTTON_L | nn::hid::BUTTON_R);
#endif #endif
gui.MessStr(MESSAGE_TITLE," < CTR Card Savedata to SD >"); gui.MessStr(MESSAGE_TITLE," < CTR Card Savedata Exporter >");
gui.MessEffective(MESSAGE_MENU_ERROR,false,false); gui.MessEffective(MESSAGE_MENU_ERROR,false,false);
gui.MessEffective(MESSAGE_MENU_CAUTION,false,false); gui.MessEffective(MESSAGE_MENU_CAUTION,false,false);

View File

@ -27,8 +27,8 @@ wchar_t latestPath_w[MAX_PATH_LENGTH];//filer/UserSaveData/YearMtDtHrMtSc
bool created; bool created;
bool IsMounted; bool IsMounted;
//SDKツールのSaveFilerのフォーマットに合わせる //SDKツールのSaveFiler用の情報ファイル
//------------ sources\tools\NandFiler\nandf_Dialog.h 参照 //-------ources\tools\NandFiler\nandf_Dialog.h 参照
const wchar_t *SDMC_ROOT_DIR_NAME = L"/filer"; const wchar_t *SDMC_ROOT_DIR_NAME = L"/filer";
struct FormatParameters struct FormatParameters
@ -42,7 +42,7 @@ struct FormatParameters
FormatParameters() FormatParameters()
: m_LimitSize(0),m_IconSize(0), m_pIconData(0) {} : m_LimitSize(0),m_IconSize(0), m_pIconData(0) {}
//オリジナルはLinitSize不定 //オリジナルはLimitSize不定
}; };
struct AdditionalInfo struct AdditionalInfo
@ -53,7 +53,9 @@ struct AdditionalInfo
AdditionalInfo() AdditionalInfo()
: m_Version(0), m_Id(0) {} : m_Version(0), m_Id(0) {}
}; };
//--------------------------- nandf_util.cpp 参照
//保存先:日時をディレクトリ名
//-------- nandf_util.cpp 参照
std::wstring Sdmcwo::GetDateName() std::wstring Sdmcwo::GetDateName()
{ {
nn::fnd::DateTime tm = nn::fnd::DateTime::GetNow(); nn::fnd::DateTime tm = nn::fnd::DateTime::GetNow();
@ -79,7 +81,7 @@ bit64 ChangeId(bit64 id, bit64 key)
return id ^ key ^ 0xce8a4d52f7105339; return id ^ key ^ 0xce8a4d52f7105339;
} }
//----------------------------- //----------------------------------------------------------
//ディレクトリ作成 //ディレクトリ作成
//ディレクトリオープンも出来ないので、ライト試行 //ディレクトリオープンも出来ないので、ライト試行
@ -170,11 +172,13 @@ myResult Sdmcwo::Mount()
IsMounted = true; IsMounted = true;
return RESULT_OK; return RESULT_OK;
} }
void Sdmcwo::Unmount() void Sdmcwo::Unmount()
{ {
IsMounted = false; IsMounted = false;
nn::fs::Unmount(devName); nn::fs::Unmount(devName);
} }
//ライト属性ファイルを閉じる //ライト属性ファイルを閉じる
void Sdmcwo::CloseW() void Sdmcwo::CloseW()
{ {
@ -209,7 +213,6 @@ bool Sdmcwo::OpenW(wchar_t *path,s64 size,bool *mkdir)
if (pos <= 0)return false;//rootかパスが不正 if (pos <= 0)return false;//rootかパスが不正
wcscpy(expathw_w,expath_w);//ワークにコピー wcscpy(expathw_w,expath_w);//ワークにコピー
while (LastNnResult.IsFailure()){//ディレクトリ作成できるまで遡る while (LastNnResult.IsFailure()){//ディレクトリ作成できるまで遡る
//if(LastNnResult.GetDescription()!=nn::fs::DESCRIPTION_DBM_DIRECTORY_NOT_FOUND)return false;
if(nn::fs::ResultNotFound::Includes(LastNnResult)==false)return false; if(nn::fs::ResultNotFound::Includes(LastNnResult)==false)return false;
pos2 = GetPosDelmLast(expathw_w,ROOTLENGTH_SD);//境界位置を探す pos2 = GetPosDelmLast(expathw_w,ROOTLENGTH_SD);//境界位置を探す
if (pos2 == 0)return false;//root到達 if (pos2 == 0)return false;//root到達
@ -222,15 +225,14 @@ bool Sdmcwo::OpenW(wchar_t *path,s64 size,bool *mkdir)
} }
//パス名エラーで作成できない場合の退避先 //パス名エラーで作成できない場合の格納先
//例FAT規約違反、"/ test"->"/test"、SD格納先ディレクトリでパス長オーバー
bool Sdmcwo::OpenVnfW(wchar_t *path,s64 size) bool Sdmcwo::OpenVnfW(wchar_t *path,s64 size)
{ {
s32 sz; s32 sz;
tVnf vnf; tVnf vnf;
//パス名&オフセット用ファイル //パス名&オフセット用ファイル
wcscpy(expath_w,latestPath_w); wcscpy(expath_w,latestPath_w);
wcscat(expath_w,L"/00000000.vnf"); wcscat(expath_w,L"/00000000.vnf");// 00000000.vnf
LastNnResult = writer.TryInitialize(expath_w,false); LastNnResult = writer.TryInitialize(expath_w,false);
if (LastNnResult.IsSuccess()){ if (LastNnResult.IsSuccess()){
LastNnResult = writer.TrySeek(0,nn::fs::POSITION_BASE_END);//追記 LastNnResult = writer.TrySeek(0,nn::fs::POSITION_BASE_END);//追記