diff --git a/trunk/CardSaveData/ToSD/Imp/OMakefile b/trunk/CardSaveData/ToSD/Imp/OMakefile index c55d0fe..156dcee 100644 --- a/trunk/CardSaveData/ToSD/Imp/OMakefile +++ b/trunk/CardSaveData/ToSD/Imp/OMakefile @@ -59,7 +59,7 @@ ROMFS_IMPORTEE_PATH = L\"rom:/$(IMPORTEE_CIA)\" CCFLAGS += -DROMFS_IMPORTEE_PATH=$(ROMFS_IMPORTEE_PATH) ROM_SPEC_FILE = Imp.rsf -DESCRIPTOR = $(CTRSDK_ROOT)/resources/specfiles/repairtool.desc +DESCRIPTOR = $(CTRSDK_ROOT)/resources/specfiles/private/repairtool.desc # バナー、アイコン CTR_BANNER_SPEC = banner.bsf diff --git a/trunk/CardSaveData/ToSD/Imp/source/main.cpp b/trunk/CardSaveData/ToSD/Imp/source/main.cpp index cbb5ec1..37626dc 100644 --- a/trunk/CardSaveData/ToSD/Imp/source/main.cpp +++ b/trunk/CardSaveData/ToSD/Imp/source/main.cpp @@ -342,7 +342,7 @@ void nnMain( void ) //シリアル表示(オプション)後にチェック //デバッガ=15,実機=11 - if (GettedSerLen < 11)ErrorStop("invalid Serial"); + //if (GettedSerLen < 11)ErrorStop("invalid Serial"); fsize = FileRead(SIGN_FILE);//署名リード if(fsize != 256)ErrorStop("sign file");//鍵のbit長は2046固定 @@ -394,7 +394,7 @@ void nnMain( void ) //文字数チェック //開発初期のファームアップで空ID本体が発生してたので念の為 //2011.5現在、製品で報告はない - if (GettedSerLen < 11)ErrorStop("invalid Serial"); + //if (GettedSerLen < 11)ErrorStop("invalid Serial"); //本体シリアルがリストにあるかチェック n =0; diff --git a/trunk/CardSaveData/ToSD/Imp/マスタリング時はomakeのIMPOTEE_PATH確認 b/trunk/CardSaveData/ToSD/Imp/マスタリング時はomakeのIMPOTEE_PATH確認 new file mode 100644 index 0000000..e69de29 diff --git a/trunk/CardSaveData/ToSD/body/OMakefile b/trunk/CardSaveData/ToSD/body/OMakefile index e219081..bf2b7d5 100644 --- a/trunk/CardSaveData/ToSD/body/OMakefile +++ b/trunk/CardSaveData/ToSD/body/OMakefile @@ -47,7 +47,7 @@ TITLE = body # Ǝ RSF t@Cw肷ꍇ ROM_SPEC_FILE = body.rsf -DESCRIPTOR = $(CTRSDK_ROOT)/resources/specfiles/repairtool.desc +DESCRIPTOR = $(CTRSDK_ROOT)/resources/specfiles/private/repairtool.desc # oi[AACR CTR_BANNER_SPEC = banner.bsf diff --git a/trunk/CardSaveData/ToSD/body/source/main.cpp b/trunk/CardSaveData/ToSD/body/source/main.cpp index 32ccd77..0124c02 100644 --- a/trunk/CardSaveData/ToSD/body/source/main.cpp +++ b/trunk/CardSaveData/ToSD/body/source/main.cpp @@ -46,6 +46,7 @@ nn::os::LightEvent insEvntSd(false); bool Active,Formatted; bool exActive; tArcInfo arcInfo,arcInfo_ex;//アーカイブ情報 +tDcList dcList,dcList2;//ディレクトリ格納 //Top画面エラー表示 int tmerr; @@ -71,7 +72,7 @@ tIsInsEject isInsEject; extern u8 scr_evnt; void WaitUI(); -void PutError(ErcDev dev,int cd=0); +void PutError(TgtDev dev,int cd=0); bool CheckInsExit(); @@ -113,16 +114,16 @@ char fileBuffer_ex[512] NN_ATTRIBUTE_ALIGN(4); #define FILEBUFF_SIZE sizeof(fileBuffer) //エラー表示 -char sts[64]; -void PutError(ErcDev dev,int cd) +wchar_t sts[64]; +void PutError(TgtDev dev,int cd) { nn::Result res; switch (dev) { - case ERC_DEV_CARD: res = savedata.LastNnResult;break; - case ERC_DEV_OUT: res = exsave.LastNnResult;break; + case TGT_CARD: res = savedata.LastNnResult;break; + case TGT_SD: res = exsave.LastNnResult;break; } - GetErrorStr(dev,res,cd,sts); + GetErrorStr(dev,res,cd,(tChar*)sts); scr_Status(sts,COLOR_RED); } @@ -139,15 +140,15 @@ void waitSec(int sec) } -char mes[128]; +wchar_t mes[128]; //保存先のディレクトリ削除 bool TryDeleteDir() { if(exsave.Delete())return true; //フォルダ削除に失敗したら手削除 - strcpy(mes,"Illegal folder [ "); - strcat(mes,exsave.DirName);//フォルダ名 - strcat(mes," ]"); + wcscpy(mes,L"Illegal folder [ "); + wcscat(mes,exsave.DirName);//フォルダ名 + wcscat(mes,L" ]"); //scr_Status(sts,COLOR_RED); scr_MessOnCount(mes); return false; @@ -184,30 +185,30 @@ RetCode Card2Sd() //保存先ディレクトリ作成 //ディレクトリ作成時にクラスタサイズ、空き容量を取得 - scr_Status("Create Dir to SD",COLOR_YELLO); + scr_Status(L"Create Dir to SD",COLOR_YELLO); if (exsave.Create() == false) { - PutError(ERC_DEV_OUT); + PutError(TGT_SD); return ERROR; } //セーブデータのマウント - scr_Status("Mount SaveData",COLOR_YELLO); + scr_Status(L"Mount SaveData",COLOR_YELLO); res = savedata.Mount(); if(res != RESULT_OK){ exsave.Unmount(); TryDeleteDir(); - PutError(ERC_DEV_CARD); + PutError(TGT_CARD); return ERROR; } - //ディレクトリ情報 - scr_Status("Get Directry",COLOR_YELLO); - if(savedata.GetInfo(&arcInfo,exsave.ClasterSize)==false) + //ディレクトリ情報 + scr_Status(L"Get Directry",COLOR_YELLO); + if(savedata.GetInfo(&arcInfo,&dcList,exsave.ClasterSize)==false) { savedata.Unmount(); exsave.Unmount(); - PutError(ERC_DEV_CARD); + PutError(TGT_CARD); TryDeleteDir(); return ERROR; } @@ -217,7 +218,7 @@ RetCode Card2Sd() {//容量不足 savedata.Unmount(); exsave.Unmount(); - PutError(ERC_DEV_OUT,ERC_WRITE_NS); + PutError(TGT_SD,ERC_NOSPACE); TryDeleteDir(); return ERROR; } @@ -226,21 +227,70 @@ RetCode Card2Sd() if (arcInfo.FileCount > arcInfo.FileEntry){ savedata.Unmount(); exsave.Unmount(); - PutError(ERC_DEV_OTHER,ERC_EXEC); + PutError(TGT_NONE,ERC_EXEC); TryDeleteDir(); return ERROR; } + if (arcInfo.DirCount > arcInfo.DirEntry) + { + savedata.Unmount(); + PutError(TGT_NONE,ERC_EXEC); + return ERROR; + } + + if(arcInfo.DirCount >= MAX_DCLIST) + {//ディレクトリ数が多すぎ + savedata.Unmount(); + PutError(TGT_MEM,ERC_EXEC); + return ERROR; + } + + bool mkdir; + //ディレクトリ作成 + //空ディレクトリもチェックするゲームあるので(マリカ7) + //ファイルの存在と関係なく作成 + //todo:パス名チェック + if(dcList.num >0) + { + int i,rev=0; + for (i=0;i #include +#include +#include #include "screen.h" #include "../../../../common/my_defs.h" #include "../../ver.h" @@ -181,45 +183,45 @@ void touchQuit(u32 pos NN_IS_UNUSED_VAR) // //Top Menu -const tPanel panel_Read = {(uptr)touchRead,"Export",80+20,30,160,80,PANEL_READ,SCREEN_LOWER}; +const tPanel panel_Read = {(uptr)touchRead,L"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_End = {(uptr)touchEnd,"End",80,180,160,30,PANEL_END,SCREEN_LOWER}; //Yes No -const tPanel panel_Yes = {(uptr)touchYes,"YES",40+10,60,80,120,PANEL_YES,SCREEN_LOWER}; -const tPanel panel_No = {(uptr)touchNo,"NO",200+30,60,80,120,PANEL_NO,SCREEN_LOWER}; +const tPanel panel_Yes = {(uptr)touchYes,L"YES",40+10,60,80,120,PANEL_YES,SCREEN_LOWER}; +const tPanel panel_No = {(uptr)touchNo,L"NO",200+30,60,80,120,PANEL_NO,SCREEN_LOWER}; //Quit -const tPanel panel_Quit = {(uptr)touchQuit,"Quit",80+20,60,160,120,PANEL_QUIT,SCREEN_LOWER}; +const tPanel panel_Quit = {(uptr)touchQuit,L"Quit",80+20,60,160,120,PANEL_QUIT,SCREEN_LOWER}; // //foOp //G[\ const tPanel panel_Error = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_ERROR,SCREEN_UPPER}; -const tMessage mess_Title_Err = {"title",10,10,COLOR_RED,8,MESSAGE_ERROR_TITLE,PANEL_ERROR}; -const tMessage mess_Info_Err = {"info",10,22,COLOR_RED,8,MESSAGE_ERROR_INFO,PANEL_ERROR}; -const tMessage mess_Info2_Err = {"info2",10,40,COLOR_RED,8,MESSAGE_ERROR_INFO2,PANEL_ERROR}; -const tMessage mess_Info3_Err = {"info3",10,50,COLOR_RED,8,MESSAGE_ERROR_INFO3,PANEL_ERROR}; +const tMessage mess_Title_Err = {L"title",10,10,COLOR_RED,8,MESSAGE_ERROR_TITLE,PANEL_ERROR}; +const tMessage mess_Info_Err = {L"info",10,22,COLOR_RED,8,MESSAGE_ERROR_INFO,PANEL_ERROR}; +const tMessage mess_Info2_Err = {L"info2",10,40,COLOR_RED,8,MESSAGE_ERROR_INFO2,PANEL_ERROR}; +const tMessage mess_Info3_Err = {L"info3",10,50,COLOR_RED,8,MESSAGE_ERROR_INFO3,PANEL_ERROR}; // const tPanel panel_Success = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_SUCCESS,SCREEN_UPPER}; -const tMessage mess_Title_Suc = {"title",10,10,COLOR_GREEN,8,MESSAGE_SUCCESS_TITLE,PANEL_SUCCESS}; -const tMessage mess_Info_Suc = {"info",10,40,COLOR_WHITE,8,MESSAGE_SUCCESS_INFO,PANEL_SUCCESS}; -const tMessage mess_Info2_Suc = {"info2",10,50,COLOR_WHITE,8,MESSAGE_SUCCESS_INFO2,PANEL_SUCCESS}; +const tMessage mess_Title_Suc = {L"title",10,10,COLOR_GREEN,8,MESSAGE_SUCCESS_TITLE,PANEL_SUCCESS}; +const tMessage mess_Info_Suc = {L"info",10,40,COLOR_WHITE,8,MESSAGE_SUCCESS_INFO,PANEL_SUCCESS}; +const tMessage mess_Info2_Suc = {L"info2",10,50,COLOR_WHITE,8,MESSAGE_SUCCESS_INFO2,PANEL_SUCCESS}; //smF const tPanel panel_Confirm = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_CONFIRM,SCREEN_UPPER}; -const tMessage mess_conf_Title = {"title",10,10,COLOR_YELLO,8,MESSAGE_CONFIRM_TITLE,PANEL_CONFIRM}; -const tMessage mess_conf_Msg = {"Do you execute?",10,40,COLOR_WHITE,8,MESSAGE_CONFIRM_MSG,PANEL_CONFIRM}; +const tMessage mess_conf_Title = {L"title",10,10,COLOR_YELLO,8,MESSAGE_CONFIRM_TITLE,PANEL_CONFIRM}; +const tMessage mess_conf_Msg = {L"Do you execute?",10,40,COLOR_WHITE,8,MESSAGE_CONFIRM_MSG,PANEL_CONFIRM}; //gbvj[ const tPanel panel_topmenu_help = {NULL_PTR,NULL_STR,LOC_CONF_X,LOC_CONF_Y,LOC_CONF_W,LOC_CONF_H,PANEL_TOPMENU,SCREEN_UPPER}; -const tMessage mess_topmenu_help_read = {"[Backup] Card -> SD",10,4,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_READ,PANEL_TOPMENU}; -const tMessage mess_topmenu_help_notread = {"[Backup] is Invalid",10,4,COLOR_RED,8,MESSAGE_TOPMENU_HELP_READ,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_read = {L"[Backup] Card -> SD",10,4,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_READ,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_notread = {L"[Backup] is Invalid",10,4,COLOR_RED,8,MESSAGE_TOPMENU_HELP_READ,PANEL_TOPMENU}; //const tMessage mess_topmenu_help_write = {"[Restore] bkup -> Card",10,16,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_WRITE,PANEL_TOPMENU}; //const tMessage mess_topmenu_help_notwrite = {"[Restore] is Invalid",10,16,COLOR_RED,8,MESSAGE_TOPMENU_HELP_WRITE,PANEL_TOPMENU}; //const tMessage mess_topmenu_help_end = {"[End] return to SystemMenu",10,28,COLOR_WHITE,8,MESSAGE_TOPMENU_HELP_END,PANEL_TOPMENU}; -const tMessage mess_topmenu_help_operate = {"touch below",10,48,COLOR_GREEN,8,MESSAGE_TOPMENU_HELP_OPERATE,PANEL_TOPMENU}; +const tMessage mess_topmenu_help_operate = {L"touch below",10,48,COLOR_GREEN,8,MESSAGE_TOPMENU_HELP_OPERATE,PANEL_TOPMENU}; //O\ const tPanel panel_dbglog = {NULL_PTR,NULL_STR,LOC_LOG_X,LOC_LOG_Y,LOC_LOG_W,LOC_LOG_H,PANEL_DBGLOG,SCREEN_UPPER}; @@ -235,10 +237,10 @@ const tMemo memo_dbglog = {LOG_MAX,10,10,COLOR_WHITE,8,MEMO_DBGLOG,PANEL_DBGLOG} #define LOC_TITL_H 50 #define FONT_SIZE_PRODUCT 10 const tPanel panel_title = {NULL_PTR,NULL_STR,LOC_TITL_X,LOC_TITL_Y,LOC_TITL_W,LOC_TITL_H,PANEL_TITLE,SCREEN_UPPER}; -const tMessage mess_title = {"title",0,0,COLOR_WHITE,FONT_SIZE_TITLE,MESSAGE_TITLE,PANEL_TITLE}; -const tMessage mess_product = {"product",0,LOC_TITL_H - 22,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_PRODUCT,PANEL_TITLE}; +const tMessage mess_title = {L"title",0,0,COLOR_WHITE,FONT_SIZE_TITLE,MESSAGE_TITLE,PANEL_TITLE}; +const tMessage mess_product = {L"product",0,LOC_TITL_H - 22,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_PRODUCT,PANEL_TITLE}; //const tMessage mess_product2 = {"product2",0,LOC_TITL_H - 10,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_PRODUCT2,PANEL_TITLE}; -const tMessage mess_version = {"version",LOC_TITL_W-FONT_SIZE_PRODUCT*6,FONT_SIZE_TITLE+2,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_VERSION,PANEL_TITLE}; +const tMessage mess_version = {L"version",LOC_TITL_W-FONT_SIZE_PRODUCT*6,FONT_SIZE_TITLE+2,COLOR_WHITE,FONT_SIZE_PRODUCT,MESSAGE_VERSION,PANEL_TITLE}; #define LOC_MESS_X 20 #define LOC_MESS_W (400 - LOC_MESS_X*2) @@ -249,48 +251,48 @@ const tMessage mess_version = {"version",LOC_TITL_W-FONT_SIZE_PRODUCT*6,FONT_SIZ #define FONT_SIZE 10 #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 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_read = {L"[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_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_bkuperr = {"SD error",10,STR_LINE(6),COLOR_RED,FONT_SIZE,MESSAGE_MENU_ERROR,PANEL_MENU}; -const tMessage mess_carderr = {"CARD error",10,STR_LINE(7),COLOR_YELLO,FONT_SIZE,MESSAGE_MENU_CAUTION,PANEL_MENU}; +const tMessage mess_menu_operate = {L"touch below",10,STR_LINE(4),COLOR_GREEN,FONT_SIZE,MESSAGE_MENU_OPERATE,PANEL_MENU}; +const tMessage mess_bkuperr = {L"SD error",10,STR_LINE(6),COLOR_RED,FONT_SIZE,MESSAGE_MENU_ERROR,PANEL_MENU}; +const tMessage mess_carderr = {L"CARD error",10,STR_LINE(7),COLOR_YELLO,FONT_SIZE,MESSAGE_MENU_CAUTION,PANEL_MENU}; //const tMessage mess_debug = {"Crush Mode",10,STR_LINE(3),COLOR_YELLO,FONT_SIZE,MESSAGE_MENU_DEBUG,PANEL_MENU}; //Backup //const tPanel panel_bkup = {NULL_PTR,NULL_STR,LOC_LOG_X,LOC_LOG_Y,LOC_LOG_W,LOC_LOG_H,PANEL_BKUP,SCREEN_UPPER}; const tPanel panel_bkup = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_BKUP,SCREEN_UPPER}; -const tMessage mess_quit_operate = {"touch [Quit],or Push B",10,STR_LINE(4),COLOR_SKY,FONT_SIZE,MESSAGE_QUIT_OPERATE,PANEL_BKUP}; -const tMessage mess_conf = {"Do you execute?",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_CONF,PANEL_BKUP}; -const tMessage mess_result = {"result",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_RESULT,PANEL_BKUP}; -const tMessage mess_operate = {"touch below",10,STR_LINE(4),COLOR_GREEN,FONT_SIZE,MESSAGE_OPERATE,PANEL_BKUP}; -const tMessage mess_status = {"status",10,STR_LINE(7),COLOR_WHITE,FONT_SIZE,MESSAGE_STATUS,PANEL_BKUP}; -const tMessage mess_count = {"count",10,STR_LINE(8),COLOR_WHITE,FONT_SIZE,MESSAGE_COUNT,PANEL_BKUP}; -const tMessage mess_count2 = {"count2",10,STR_LINE(9),COLOR_GREEN,FONT_SIZE,MESSAGE_COUNT2,PANEL_BKUP}; +const tMessage mess_quit_operate = {L"touch [Quit],or Push B",10,STR_LINE(4),COLOR_SKY,FONT_SIZE,MESSAGE_QUIT_OPERATE,PANEL_BKUP}; +const tMessage mess_conf = {L"Do you execute?",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_CONF,PANEL_BKUP}; +const tMessage mess_result = {L"result",10,STR_LINE(2),COLOR_WHITE,FONT_SIZE,MESSAGE_RESULT,PANEL_BKUP}; +const tMessage mess_operate = {L"touch below",10,STR_LINE(4),COLOR_GREEN,FONT_SIZE,MESSAGE_OPERATE,PANEL_BKUP}; +const tMessage mess_status = {L"status",10,STR_LINE(7),COLOR_WHITE,FONT_SIZE,MESSAGE_STATUS,PANEL_BKUP}; +const tMessage mess_count = {L"count",10,STR_LINE(8),COLOR_WHITE,FONT_SIZE,MESSAGE_COUNT,PANEL_BKUP}; +const tMessage mess_count2 = {L"count2",10,STR_LINE(9),COLOR_GREEN,FONT_SIZE,MESSAGE_COUNT2,PANEL_BKUP}; //} //const tPanel panel_insexit = {NULL_PTR,NULL_STR,LOC_LOG_X,LOC_LOG_Y,LOC_LOG_W,LOC_LOG_H,PANEL_INSEXIT,SCREEN_UPPER}; const tPanel panel_insexit = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y,LOC_MESS_W,LOC_MESS_H,PANEL_INSEXIT,SCREEN_UPPER}; -const tMessage mess_insexit = {"device insert or pull out is detected",10,STR_LINE(3),COLOR_RED,8,MESSAGE_INSEXT_1,PANEL_INSEXIT}; -const tMessage mess_insexit2 = {"return to top menu",10,STR_LINE(5),COLOR_WHITE,8,MESSAGE_INSEXT_2,PANEL_INSEXIT}; -const tMessage mess_insexit3 = {"please touch or push B",10,STR_LINE(6),COLOR_WHITE,8,MESSAGE_INSEXT_3,PANEL_INSEXIT}; +const tMessage mess_insexit = {L"device insert or pull out is detected",10,STR_LINE(3),COLOR_RED,8,MESSAGE_INSEXT_1,PANEL_INSEXIT}; +const tMessage mess_insexit2 = {L"return to top menu",10,STR_LINE(5),COLOR_WHITE,8,MESSAGE_INSEXT_2,PANEL_INSEXIT}; +const tMessage mess_insexit3 = {L"please touch or push B",10,STR_LINE(6),COLOR_WHITE,8,MESSAGE_INSEXT_3,PANEL_INSEXIT}; //폜mF //const tPanel panel_delconf = {NULL_PTR,NULL_STR,LOC_CONF_X-10,LOC_CONF_Y,LOC_CONF_W+10,LOC_CONF_H*2,PANEL_DELCONF,SCREEN_UPPER}; const tPanel panel_delconf = {NULL_PTR,NULL_STR,LOC_MESS_X,LOC_MESS_Y-36,LOC_MESS_W,LOC_MESS_H,PANEL_DELCONF,SCREEN_UPPER}; -const tMessage mess_delconf_Title = {" *** DELETE *** ",10,10,COLOR_YELLO,16,MESSAGE_DELCONF_TITLE,PANEL_DELCONF}; -const tMessage mess_delconf_Msg = {" caution!",10,50,COLOR_YELLO,12,MESSAGE_DELCONF_MSG,PANEL_DELCONF}; -const tMessage mess_delconf_Msg2 = {"this is delete data on SD",10,70,COLOR_YELLO,12,MESSAGE_DELCONF_MSG2,PANEL_DELCONF}; -const tMessage mess_delconf_Msg3 = {"Do you execute?",10,90,COLOR_YELLO,12,MESSAGE_DELCONF_MSG3,PANEL_DELCONF}; +const tMessage mess_delconf_Title = {L" *** DELETE *** ",10,10,COLOR_YELLO,16,MESSAGE_DELCONF_TITLE,PANEL_DELCONF}; +const tMessage mess_delconf_Msg = {L" caution!",10,50,COLOR_YELLO,12,MESSAGE_DELCONF_MSG,PANEL_DELCONF}; +const tMessage mess_delconf_Msg2 = {L"this is delete data on SD",10,70,COLOR_YELLO,12,MESSAGE_DELCONF_MSG2,PANEL_DELCONF}; +const tMessage mess_delconf_Msg3 = {L"Do you execute?",10,90,COLOR_YELLO,12,MESSAGE_DELCONF_MSG3,PANEL_DELCONF}; nn::os::LightEvent stopEvnt(true); -char scr_ver[16]; -char scr_err[32]; -char scr_debug[32]; +wchar_t scr_ver[16]; +wchar_t scr_err[32]; +wchar_t scr_debug[32]; //menu bool ScrInitialize(uptr heap,u32 size) { @@ -364,9 +366,10 @@ bool ScrInitialize(uptr heap,u32 size) gui.MessSet(&mess_insexit2); gui.MessSet(&mess_insexit3); - gui.MemoSet(&memo_dbglog); - gui.MemoEffective(MESSAGE_PRODUCT); + //gui.MemoSet(&memo_dbglog); + //gui.MemoEffective(MESSAGE_PRODUCT); + gui.MessEffective(MESSAGE_ERROR_TITLE); gui.MessEffective(MESSAGE_ERROR_INFO); gui.MessEffective(MESSAGE_ERROR_INFO2); @@ -393,11 +396,11 @@ bool ScrInitialize(uptr heap,u32 size) gui.MessEffective(MESSAGE_INSEXT_3); gui.MessEffective(MESSAGE_TITLE); gui.MessEffective(MESSAGE_VERSION); - gui.MemoEffective(MEMO_DBGLOG); +// gui.MemoEffective(MEMO_DBGLOG); gui.PanelLineStyle(PANEL_DELCONF,COLOR_YELLO); - sprintf(scr_ver,"ver %.2f",VERSION); + swprintf(scr_ver,10,L"ver %.2f",VERSION); gui.MessStr(MESSAGE_VERSION,scr_ver); gui.MessStr(MESSAGE_MENU_CAUTION,scr_err); gui.MessStr(MESSAGE_MENU_ERROR,scr_err); @@ -471,15 +474,16 @@ void scr_TopMenuDbg(bool formatted,bool insertted)// //v_NgR[h //:J[hAgZ[uɋL^ꂽ -char scr_pcode[32]; +wchar_t scr_pcode[32]; void scr_PrdCode(char *s) { - strcpy(scr_pcode,"CARD : "); - if (s[0]==0) strcat(scr_pcode,"----"); - else strcat(scr_pcode,s); + wcscpy(scr_pcode,L"CARD : "); + if (s[0]==0) wcscat(scr_pcode,L"----"); + else mbstowcs(&scr_pcode[7],s,30); gui.MessStr(MESSAGE_PRODUCT,scr_pcode); } + /* char scr_pcode2[64]; void scr_PrdCodeEx(char *s) @@ -512,7 +516,7 @@ void scr_TopMenu(bool formatted,bool inserted,bool sdins,int err) u32 mask = 0; mask |= (nn::hid::BUTTON_LEFT | nn::hid::BUTTON_X);//LEFT+X = Delete L - gui.MessStr(MESSAGE_TITLE," < CTR Card Savedata Exporter >"); + gui.MessStr(MESSAGE_TITLE,L" < CTR Card Savedata Exporter >"); gui.MessEffective(MESSAGE_MENU_ERROR,false,false); gui.MessEffective(MESSAGE_MENU_CAUTION,false,false); @@ -528,19 +532,19 @@ void scr_TopMenu(bool formatted,bool inserted,bool sdins,int err) if (inserted == false) { - strcpy(scr_err,"Please Insert Card"); + wcscpy(scr_err,L"Please Insert Card"); gui.MessEffective(MESSAGE_MENU_CAUTION); }else if (sdins == false) { - strcpy(scr_err,"SD protected or not Insert"); + wcscpy(scr_err,L"SD protected or not Insert"); gui.MessEffective(MESSAGE_MENU_CAUTION); }else{ - if (err & SDATA_ERRPUT_MEDIA) i = ERC_MEDIA + ERC_DEV_CARD;//obNAbvȂ - else i = ERC_DEV_OTHER;//s - sprintf(scr_err,"ERROR %d",i); + if (err & SDATA_ERRPUT_MEDIA) i = ERC_MEDIA + TGT_CARD;//obNAbvȂ + else i = ERC_EXEC;//s + swprintf(scr_err,12,L"ERROR %d",i); gui.MessEffective(MESSAGE_MENU_ERROR); } } @@ -581,7 +585,7 @@ void scr_Backup() { scr_evnt = EVNT_NONE; gui.PanelLineStyle(PANEL_BKUP,COLOR_SKY); - gui.MessStr(MESSAGE_TITLE," --- Backup Card Savedata ---"); + gui.MessStr(MESSAGE_TITLE,L" --- Backup Card Savedata ---"); gui.PanelEffective(PANEL_TITLE); ClearBkupMess(); gui.Draw(); @@ -600,7 +604,7 @@ void scr_Restore() { scr_evnt = EVNT_NONE; gui.PanelLineStyle(PANEL_BKUP,COLOR_PARPL); - gui.MessStr(MESSAGE_TITLE,"--- Restore Card Savedata ---"); + gui.MessStr(MESSAGE_TITLE,L"--- Restore Card Savedata ---"); gui.PanelEffective(PANEL_TITLE); ClearBkupMess();//backupƓplg gui.Draw(); @@ -615,7 +619,7 @@ void scr_RestoreYesNo() } -void scr_Status(char *s,eColor col) +void scr_Status(wchar_t *s,eColor col) { gui.MessCol(MESSAGE_STATUS,col); gui.MessStr(MESSAGE_STATUS,s); @@ -623,7 +627,7 @@ void scr_Status(char *s,eColor col) gui.Draw(); } -void scr_ResultQuit(char *s,eColor col) +void scr_ResultQuit(wchar_t *s,eColor col) { gui.MessCol(MESSAGE_RESULT,col); gui.MessStr(MESSAGE_RESULT,s); @@ -642,11 +646,11 @@ void scr_InsExitQuit() } // JEg/MAX \ -char str_Counter[128]; -char str_Counter2[128]; +wchar_t str_Counter[128]; +wchar_t str_Counter2[128]; void scr_CountPerMax(int ct,int max) { - sprintf(str_Counter,"%d / %d",ct,max); + swprintf(str_Counter,16,L"%d / %d",ct,max); gui.MessStr(MESSAGE_COUNT,str_Counter); gui.MessEffective(MESSAGE_COUNT); gui.Draw(); @@ -658,7 +662,7 @@ void scr_CountPerMax2(int ct,int max,int total) if (total == -1) str_Counter2[0]=0; else if (total != 0){ // gui.MessCol(MESSAGE_COUNT2,COLOR_WHITE); - sprintf(str_Counter2,"total size %d",total); + swprintf(str_Counter2,20,L"total size %d",total); }else{ // gui.MessCol(MESSAGE_COUNT2,COLOR_YELLO); int i; @@ -674,7 +678,7 @@ void scr_CountPerMax2(int ct,int max,int total) } -void scr_MessOnCount2(char *str) +void scr_MessOnCount2(wchar_t *str) { // gui.MessCol(MESSAGE_COUNT2,COLOR_YELLO); gui.MessStr(MESSAGE_COUNT2,str); @@ -682,7 +686,7 @@ void scr_MessOnCount2(char *str) gui.Draw(); } -void scr_MessOnCount(char *str) +void scr_MessOnCount(wchar_t *str) { // gui.MessCol(MESSAGE_COUNT2,COLOR_YELLO); gui.MessStr(MESSAGE_COUNT,str); @@ -691,7 +695,7 @@ void scr_MessOnCount(char *str) } - +/* //smF void scr_ConfirmDbg(char *str) { @@ -701,7 +705,6 @@ void scr_ConfirmDbg(char *str) YesNo(); } - //G[\Quit{^ void scr_ErrorQuitDbg(tColStr **s) { @@ -731,26 +734,9 @@ void scr_SuccessQuitDbg(tColStr **s) gui.PanelEffective(PANEL_SUCCESS); Quit(); } +*/ -//fobOO -void scr_DgbLog(cStrLst *p) -{ - gui.PanelLineStyle(PANEL_DBGLOG,COLOR_BLUE); - - for (int i=0;igetpos()+1;i++)gui.MemoStr(MEMO_DBGLOG,p->line(i),i); - - gui.PanelEffective(PANEL_DBGLOG); - gui.Draw(); -} - - - -int ScrDbgLogGetMax() -{ - return LOG_MAX; -} - void scr_Draw() { diff --git a/trunk/CardSaveData/ToSD/body/source/screen/screen.h b/trunk/CardSaveData/ToSD/body/source/screen/screen.h index 1e8f7dc..8180608 100644 --- a/trunk/CardSaveData/ToSD/body/source/screen/screen.h +++ b/trunk/CardSaveData/ToSD/body/source/screen/screen.h @@ -87,28 +87,29 @@ public: bool ScrInitialize(uptr heap,u32 size); void ScrFinalize(); void ScrClr(); -int ScrDbgLogGetMax(); +//int ScrDbgLogGetMax(); void ScrStep(); -void scr_TopMenuDbg(bool formatted,bool insertted); +//void scr_TopMenuDbg(bool formatted,bool insertted); +//void scr_SuccessQuitDbg(tColStr **s); +//void scr_ErrorQuitDbg(tColStr **s); +//void scr_ConfirmDbg(char *str); +//void scr_DgbLog(cStrLst *p); + void scr_TopMenu(bool formatted,bool inserted,bool sdins,int err); -void scr_ErrorQuitDbg(tColStr **s); -void scr_SuccessQuitDbg(tColStr **s); -void scr_ConfirmDbg(char *str); -void scr_DgbLog(cStrLst *p); void scr_BackupYesNo(); void scr_Backup(); void scr_RestoreYesNo(); void scr_Restore(); void scr_InsExitQuit(); -void scr_Status(char *s,eColor col); -void scr_ResultQuit(char *s,eColor col); +void scr_Status(wchar_t *s,eColor col); +void scr_ResultQuit(wchar_t *s,eColor col); void scr_CountPerMax(int ct,int max); void scr_CountPerMax2(int ct,int max,int total); void scr_PrdCode(char *s); -void scr_PrdCodeEx(char *s); +//void scr_PrdCodeEx(char *s); void scr_DelConf(); -void scr_MessOnCount2(char *str); -void scr_MessOnCount(char *str); +void scr_MessOnCount2(wchar_t *str); +void scr_MessOnCount(wchar_t *str); void scr_Draw(); void scr_GetEvnt();