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