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@563 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
4a966ec4fd
commit
a5045a5376
@ -19,8 +19,8 @@
|
|||||||
struct CountryData
|
struct CountryData
|
||||||
{
|
{
|
||||||
u32 id; // 上記定数にあるように、国IDと地域IDを組み合わせたID
|
u32 id; // 上記定数にあるように、国IDと地域IDを組み合わせたID
|
||||||
u16 regionName[16][64]; // NULL終端込み
|
u16 regionName[nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NUM_LANGUAGES][nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NAME_LENGTH]; // NULL終端込み
|
||||||
u8 order[16]; // 言語ごとの地域名並び順(「未設定」が0になるので、最初の地域は1)
|
u8 order[nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NUM_LANGUAGES]; // 言語ごとの地域名並び順(「未設定」が0になるので、最初の地域は1)
|
||||||
u16 latitude; // リストの値を 65536/360 倍して格納して下さい
|
u16 latitude; // リストの値を 65536/360 倍して格納して下さい
|
||||||
u16 longitude; // リストの値を 65536/360 倍して格納して下さい
|
u16 longitude; // リストの値を 65536/360 倍して格納して下さい
|
||||||
};
|
};
|
||||||
@ -68,14 +68,15 @@ bool RegionIdModifier::IsValid()
|
|||||||
const PathList* RegionIdModifier::GetDirectoryPath()
|
const PathList* RegionIdModifier::GetDirectoryPath()
|
||||||
{
|
{
|
||||||
// 範囲外のリージョン
|
// 範囲外のリージョン
|
||||||
if (2 < m_RegionCode)
|
if (nn::cfg::CTR::CFG_REGION_EUROPE < m_RegionCode)
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (u8 i = 0; i < 3; i++)
|
for (u8 i = 0; i < nn::cfg::CTR::CFG_REGION_EUROPE + 1; i++)
|
||||||
{
|
{
|
||||||
std::wcsncpy(m_DirectoryPathBuf[i].path, DIR_PATH[m_RegionCode + i * 3], 32);
|
std::wcsncpy(m_DirectoryPathBuf[i].path, DIR_PATH[m_RegionCode + i * (nn::cfg::CTR::CFG_REGION_EUROPE + 1)],
|
||||||
|
PATHLIST_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_DirectoryPathBuf;
|
return m_DirectoryPathBuf;
|
||||||
@ -84,7 +85,7 @@ const PathList* RegionIdModifier::GetDirectoryPath()
|
|||||||
size_t RegionIdModifier::GetDirectoryPathNum()
|
size_t RegionIdModifier::GetDirectoryPathNum()
|
||||||
{
|
{
|
||||||
// 範囲外のリージョン
|
// 範囲外のリージョン
|
||||||
if (2 < m_RegionCode)
|
if (nn::cfg::CTR::CFG_REGION_EUROPE < m_RegionCode)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -114,7 +115,7 @@ const PathList* RegionIdModifier::GetFilePath()
|
|||||||
{
|
{
|
||||||
size_t writeSize = std::wcslen(m_DirectoryPathBuf[i].path);
|
size_t writeSize = std::wcslen(m_DirectoryPathBuf[i].path);
|
||||||
std::wcsncpy(m_FilePathBuf[i].path, m_DirectoryPathBuf[i].path, writeSize);
|
std::wcsncpy(m_FilePathBuf[i].path, m_DirectoryPathBuf[i].path, writeSize);
|
||||||
std::wcsncat(m_FilePathBuf[i].path, GetFileName(), 32 - writeSize);
|
std::wcsncat(m_FilePathBuf[i].path, GetFileName(), PATHLIST_LENGTH - writeSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_FilePathBuf;
|
return m_FilePathBuf;
|
||||||
|
|||||||
@ -17,14 +17,17 @@
|
|||||||
|
|
||||||
#if defined(__ARMCC_VERSION)
|
#if defined(__ARMCC_VERSION)
|
||||||
#include <nn.h>
|
#include <nn.h>
|
||||||
|
#include <nn/cfg.h>
|
||||||
#else
|
#else
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
#include "stub.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const size_t PATHLIST_LENGTH = 32;
|
||||||
struct PathList
|
struct PathList
|
||||||
{
|
{
|
||||||
wchar_t path[32];
|
wchar_t path[PATHLIST_LENGTH];
|
||||||
};
|
};
|
||||||
|
|
||||||
//! @brief データ移行ツールで破壊した地域idを修正するためのクラスです
|
//! @brief データ移行ツールで破壊した地域idを修正するためのクラスです
|
||||||
@ -75,14 +78,14 @@ class RegionIdModifier
|
|||||||
//! @brief リージョンコード
|
//! @brief リージョンコード
|
||||||
u8 m_RegionCode;
|
u8 m_RegionCode;
|
||||||
//! @brief 地域名
|
//! @brief 地域名
|
||||||
wchar_t m_RegionName[64];
|
wchar_t m_RegionName[nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NAME_LENGTH];
|
||||||
|
|
||||||
//! @brief ファイル名を保存するバッファ
|
//! @brief ファイル名を保存するバッファ
|
||||||
wchar_t m_FileNameBuf[32];
|
wchar_t m_FileNameBuf[PATHLIST_LENGTH];
|
||||||
//! @brief ディレクトリパスを保存するバッファ
|
//! @brief ディレクトリパスを保存するバッファ
|
||||||
PathList m_DirectoryPathBuf[3];
|
PathList m_DirectoryPathBuf[nn::cfg::CTR::CFG_REGION_EUROPE + 1];
|
||||||
//! @brief ファイルパスを保存するバッファ
|
//! @brief ファイルパスを保存するバッファ
|
||||||
PathList m_FilePathBuf[3];
|
PathList m_FilePathBuf[nn::cfg::CTR::CFG_REGION_EUROPE + 1];
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _REGION_ID_MODIFIER_H_
|
#endif // _REGION_ID_MODIFIER_H_
|
||||||
|
|||||||
@ -0,0 +1,15 @@
|
|||||||
|
#ifndef STUB_H_
|
||||||
|
#define STUB_H_
|
||||||
|
|
||||||
|
namespace nn { namespace cfg { namespace CTR {
|
||||||
|
enum CfgRegionCode
|
||||||
|
{
|
||||||
|
CFG_REGION_EUROPE = 2
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 CFG_SIMPLE_ADDRESS_NUM_LANGUAGES = 16;
|
||||||
|
const u8 CFG_SIMPLE_ADDRESS_NAME_LENGTH = 64;
|
||||||
|
|
||||||
|
}}}
|
||||||
|
|
||||||
|
#endif /* STUB_H_ */
|
||||||
Loading…
Reference in New Issue
Block a user