mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
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:
parent
cd895df3ca
commit
09a6b5a638
@ -1,2 +1,3 @@
|
|||||||
#
|
#
|
||||||
EJF10000237
|
EJF10000237
|
||||||
|
EJF10000308
|
||||||
|
|||||||
Binary file not shown.
@ -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"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -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);
|
||||||
|
|||||||
Binary file not shown.
@ -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);
|
||||||
|
|||||||
@ -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);//追記
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user