移行しないcfgデータ群の構造体をConsoleRestoreに切り出し

QUANTUMとDECADEの、calに基づくcfgデータを移行しないように

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@805 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2014-07-31 04:42:35 +00:00
parent 0c0f0d8fa4
commit e37b1cbc1f
3 changed files with 70 additions and 18 deletions

View File

@ -53,6 +53,7 @@
#include "VersionDetect.h"
#include "SaveDataMover.h"
#include "RegionIdModifier.h"
#include "RestoreTypes.h"
#include <string>
#include <cstring>
@ -1626,7 +1627,7 @@ nn::Result ExportCalData()
using namespace nn::cfg::CTR::detail;
nn::Result result;
common::CfgCalData cfgCalData;
CfgCalData cfgCalData;
common::SdReaderWriter sdWriter;
COMMON_LOGGER("Export CalData\n");
@ -1666,6 +1667,18 @@ nn::Result ExportCalData()
GET_CFG_KEY(NN_CFG_MCU, NN_CFG_MCU_SLIDE_VOLUME));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.qtmCameraCfgData, sizeof(QtmCameraCfgData),
GET_CFG_KEY(NN_CFG_QTM, NN_CFG_QTM_CAL_CAMERA));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.qtmCfgData, sizeof(QtmCfgData),
GET_CFG_KEY(NN_CFG_QTM, NN_CFG_QTM_ACTIVATION_MODE));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = nn::cfg::CTR::init::GetConfig(&cfgCalData.rightStickCfgData, sizeof(RightStickCfgData),
GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_RIGHT_STICK));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = sdWriter.WriteBufWithCmac(common::CFG_CALIBRATION_PATHNAME, &cfgCalData, sizeof(cfgCalData));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
@ -1675,7 +1688,7 @@ nn::Result ExportCalData()
return nn::ResultSuccess();
}
nn::Result ImportCalData(common::CfgCalData *data)
nn::Result ImportCalData(CfgCalData *data)
{
using namespace nn::cfg::CTR::detail;
@ -1720,7 +1733,7 @@ nn::Result InitializeHardwareDependentSetting()
using namespace nn::cfg::CTR::detail;
nn::Result result = nn::ResultSuccess();
common::CfgCalData cfgCalData;
CfgCalData cfgCalData;
result = ImportCalData(&cfgCalData);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
@ -1756,6 +1769,19 @@ nn::Result InitializeHardwareDependentSetting()
&cfgCalData.mcuSlideVolumeRangeCfgData, sizeof(McuSlideVolumeRangeCfgData));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_QTM, NN_CFG_QTM_CAL_CAMERA),
&cfgCalData.qtmCameraCfgData, sizeof(QtmCameraCfgData));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_QTM, NN_CFG_QTM_ACTIVATION_MODE),
&cfgCalData.qtmCfgData, sizeof(QtmCfgData));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_RIGHT_STICK),
&cfgCalData.rightStickCfgData, sizeof(RightStickCfgData));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
NN_LOG("Set cfgCalData\n");
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);

View File

@ -0,0 +1,41 @@
/*---------------------------------------------------------------------------*
Project: Horizon
File: RestoreTypes.h
Copyright (C)2014 Nintendo Co., Ltd. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Rev$
*---------------------------------------------------------------------------*/
#ifndef REOSTORE_TYPES_H_
#define REOSTORE_TYPES_H_
namespace ConsoleRestore
{
// CALに依存するCFGパラメータ
struct CfgCalData
{
nn::cfg::CTR::detail::TouchPanelCfgData touchPanelCfgData;
nn::cfg::CTR::detail::LcdFlickerCfgData lcdFlickerCfgData;
nn::cfg::CTR::detail::FcramCfgData fcramCfgData;
nn::cfg::CTR::detail::RtcCfgData rtcCfgData;
nn::cfg::CTR::detail::GyroscopeCfgData gyroscopeCfgData;
nn::cfg::CTR::detail::AccelCfgData accelCfgData;
nn::cfg::CTR::detail::CodecCfgData codecCfgData;
nn::cfg::CTR::detail::McuSlideVolumeRangeCfgData mcuSlideVolumeRangeCfgData;
NN_PADDING2;
nn::cfg::CTR::detail::QtmCameraCfgData qtmCameraCfgData;
nn::cfg::CTR::detail::QtmCfgData qtmCfgData;
nn::cfg::CTR::detail::RightStickCfgData rightStickCfgData;
};
}
#endif /* REOSTORE_TYPES_H_ */

View File

@ -64,21 +64,6 @@ struct VerDef
nn::pl::CTR::NetworkUpdateVersion nup;
};
// CALに依存するCFGパラメータ
struct CfgCalData
{
nn::cfg::CTR::detail::TouchPanelCfgData touchPanelCfgData;
nn::cfg::CTR::detail::LcdFlickerCfgData lcdFlickerCfgData;
nn::cfg::CTR::detail::FcramCfgData fcramCfgData;
nn::cfg::CTR::detail::RtcCfgData rtcCfgData;
nn::cfg::CTR::detail::GyroscopeCfgData gyroscopeCfgData;
nn::cfg::CTR::detail::AccelCfgData accelCfgData;
nn::cfg::CTR::detail::CodecCfgData codecCfgData;
nn::cfg::CTR::detail::McuSlideVolumeRangeCfgData mcuSlideVolumeRangeCfgData;
NN_PADDING2;
};
// TODO:リージョン追加時に範囲外アクセスにならないよう注意
const nn::ProgramId cCupVerId[] =
{