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@762 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
e1e5748ccf
commit
05cf83f264
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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_ */
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
【ビルド環境】
|
||||
【ビルド環境】
|
||||
|
||||
・SDK
|
||||
・SDK
|
||||
CTR_SDK-3_3 branch r54527
|
||||
|
||||
Loading…
Reference in New Issue
Block a user