From 05cf83f26494d2a992d98c63340bb2da6cf2d1ca Mon Sep 17 00:00:00 2001 From: N2614 Date: Mon, 18 Nov 2013 02:22:18 +0000 Subject: [PATCH] =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E5=8F=96=E3=82=8A=E8=BE=BC?= =?UTF-8?q?=E3=81=BF=E6=99=82=E3=81=AB=E3=82=A4=E3=83=B3=E3=82=BF=E3=83=BC?= =?UTF-8?q?=E3=83=8D=E3=83=83=E3=83=88=E8=A8=AD=E5=AE=9A=E3=81=8C=E7=A9=BA?= =?UTF-8?q?=E3=81=AE=E5=A0=B4=E5=90=88=E3=82=A8=E3=83=A9=E3=83=BC=E3=81=AB?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@762 385bec56-5757-e545-9c3a-d8741f4650f1 --- trunk/Initializer2ndNUP/AcChanger.cpp | 96 +++++++++++++++++---------- trunk/Initializer2ndNUP/AcChanger.h | 7 ++ trunk/Initializer2ndNUP/Readme.txt | 4 +- 3 files changed, 69 insertions(+), 38 deletions(-) diff --git a/trunk/Initializer2ndNUP/AcChanger.cpp b/trunk/Initializer2ndNUP/AcChanger.cpp index 186feb7..15fe9f3 100644 --- a/trunk/Initializer2ndNUP/AcChanger.cpp +++ b/trunk/Initializer2ndNUP/AcChanger.cpp @@ -114,24 +114,33 @@ nn::Result AcChanger::GetAcData() nn::Result result; // インターネット接続設定取得 - result = nn::ac::CTR::InitializeInternal(); - if (result.IsSuccess()) + NN_UTIL_RETURN_IF_FAILED( + nn::ac::CTR::InitializeInternal() + ); + + + ClearNetworkSettingCheck(); + for (s32 i = 0; i < 3; i++) { - for(s32 i = 0; i < 3; i++) + result = nn::ac::CTR::LoadNetworkSetting(i, s_SaveData.m_NetworkSetting[i]); + if (result.IsFailure()) { - result = nn::ac::CTR::LoadNetworkSetting(i, s_SaveData.m_NetworkSetting[i]); - if(result.IsFailure()) - { - std::memset(&s_SaveData.m_NetworkSetting[i], 0 , sizeof(s_SaveData.m_NetworkSetting[i])); - } + std::memset(&s_SaveData.m_NetworkSetting[i], 0, sizeof(s_SaveData.m_NetworkSetting[i])); + } + else + { + m_IsNetworkSettingValid[i] = true; } - NN_UTIL_RETURN_IF_FAILED( - nn::ac::CTR::FinalizeInternal() - ); } - else + NN_UTIL_RETURN_IF_FAILED( + nn::ac::CTR::FinalizeInternal() + ); + + // 設定が1つも書かれていない + if(IsNetworkSettingAllInvalid()) { - std::memset(s_SaveData.m_NetworkSetting, 0, sizeof(s_SaveData.m_NetworkSetting)); + return nn::MakePermanentResult(nn::Result::SUMMARY_NOT_FOUND, nn::Result::MODULE_APPLICATION, + nn::Result::DESCRIPTION_NOT_FOUND); } return nn::ResultSuccess(); @@ -147,17 +156,17 @@ nn::Result AcChanger::ImportAcDatatoBackup() NN_UTIL_RETURN_IF_FAILED( file.TryInitialize(L"data:/savedata.bin", true) ); - + s32 writeSize; NN_UTIL_RETURN_IF_FAILED( file.TryWrite(&writeSize, &s_SaveData, sizeof(s_SaveData), true) - ); + ); NN_UTIL_RETURN_IF_FAILED( nn::fs::CommitSaveData("data:") ); - NN_UTIL_RETURN_IF_FAILED( + NN_UTIL_RETURN_IF_FAILED( nn::fs::Unmount("data:") ); @@ -167,7 +176,7 @@ nn::Result AcChanger::ImportAcDatatoBackup() nn::Result AcChanger::RestoreAcDataFromBackup() { nn::fs::FileInputStream file; - NN_UTIL_RETURN_IF_FAILED( + NN_UTIL_RETURN_IF_FAILED( file.TryInitialize(L"data:/savedata.bin") ); @@ -177,29 +186,44 @@ nn::Result AcChanger::RestoreAcDataFromBackup() ); // インターネット接続設定 - nn::Result result = nn::ac::CTR::InitializeInternal(); - if (result.IsSuccess()) + NN_UTIL_RETURN_IF_FAILED( + nn::ac::CTR::InitializeInternal() + ); + + for (s32 i = 0; i < 3; i++) { - for(s32 i = 0; i < 3; i++) - { - result = nn::ac::CTR::UpdateNetworkSetting(i, s_SaveData.m_NetworkSetting[i]); - if(result.IsFailure()) - { - std::memset(&s_SaveData.m_NetworkSetting[i], 0 , sizeof(s_SaveData.m_NetworkSetting[i])); - } - } NN_UTIL_RETURN_IF_FAILED( - nn::ac::CTR::FlushNetworkSetting() - ); - - NN_UTIL_RETURN_IF_FAILED( - nn::ac::CTR::FinalizeInternal() + nn::ac::CTR::UpdateNetworkSetting(i, s_SaveData.m_NetworkSetting[i]) ); } - else - { - std::memset(s_SaveData.m_NetworkSetting, 0, sizeof(s_SaveData.m_NetworkSetting)); - } + NN_UTIL_RETURN_IF_FAILED( + nn::ac::CTR::FlushNetworkSetting() + ); + + NN_UTIL_RETURN_IF_FAILED( + nn::ac::CTR::FinalizeInternal() + ); return nn::ResultSuccess(); } + +void AcChanger::ClearNetworkSettingCheck() +{ + for(s32 i = 0; i < 3; i++) + { + m_IsNetworkSettingValid[i] = false; + } +} + +bool AcChanger::IsNetworkSettingAllInvalid() +{ + if(!m_IsNetworkSettingValid[0] && !m_IsNetworkSettingValid[1] && !m_IsNetworkSettingValid[2]) + { + return true; + } + else + { + return false; + } +} + diff --git a/trunk/Initializer2ndNUP/AcChanger.h b/trunk/Initializer2ndNUP/AcChanger.h index e06c66a..6363b6a 100644 --- a/trunk/Initializer2ndNUP/AcChanger.h +++ b/trunk/Initializer2ndNUP/AcChanger.h @@ -44,9 +44,16 @@ private: // acのデータをバックアップメモリから書き込みます nn::Result RestoreAcDataFromBackup(); + // ネットワーク設定の確認フラグのクリア + void ClearNetworkSettingCheck(); + + // ネットワーク設定がされていないかどうか + bool IsNetworkSettingAllInvalid(); + static const size_t FILE_NUM = 1; static const size_t DIR_NUM = 1; static const bool DUPLICATE = true; + bool m_IsNetworkSettingValid[3]; }; #endif /* ACCHANGER_H_ */ diff --git a/trunk/Initializer2ndNUP/Readme.txt b/trunk/Initializer2ndNUP/Readme.txt index 7d63a1c..cbd4e02 100644 --- a/trunk/Initializer2ndNUP/Readme.txt +++ b/trunk/Initializer2ndNUP/Readme.txt @@ -1,4 +1,4 @@ -yrh‹z +【ビルド環境】 -ESDK +・SDK CTR_SDK-3_3 branch r54527