ビルドが通るように

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@652 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2012-02-22 04:22:39 +00:00
parent 0d5bf9a14e
commit a6203551a6
9 changed files with 168 additions and 114 deletions

View File

@ -23,18 +23,32 @@ CTR_BANNER_SPEC = AutoBoot.bsf
SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include)
INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \
../../common
../../common \
idb/include \
$(dir $(NW4C_ROOT)/include/) \
SOURCES[] =
main.cpp
syokaikidou.cpp
sysSharedExtSaveData.cpp
sysUserInfoAccessor.cpp
sysFile.cpp
sysInput.cpp
idb/src/IDB.cpp
idb/src/IDBi.cpp
idb/src/IDBUT.cpp
CCFLAGS += --restrict
# RSF
ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf
# DESC
#DESCRIPTOR = $(HORIZON_ROOT)/sources/tools/Config/Config.autogen.desc
DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/RepairTool.desc
DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/systemapplications/Mset.desc
LIBS += lib_demo libnn_ns
LIBS += lib_demo \
libnn_ns \
libnn_am \
include $(ROOT_OMAKE)/modulerules

View File

@ -4,9 +4,9 @@ BasicInfo:
BackupMemoryType: None
TitleInfo:
Use: Evaluation
Category: Application
UniqueId: 0xf8021
Use: System
Category: SystemApplication
UniqueId: 0x00200
Version: 0
SystemControlInfo:

View File

@ -20,6 +20,8 @@
#include <nn/cfg/CTR/detail/cfg_Keys.h>
#include <nn/ns.h>
#include "syokaikidou.h"
#include "demo.h"
#define HANDLE_ERROR(result) \
@ -73,20 +75,8 @@ extern "C" void nnMain()
result = nn::ns::InitializeForShell();
HANDLE_ERROR(result);
nn::cfg::detail::FirstLaunchInfoCfgData firstLaunch;
firstLaunch.mmen = 1;
firstLaunch.internet = 0;
firstLaunch.rsv = 0;
result = nn::cfg::CTR::init::SetConfig(
GET_CFG_KEY(nn::cfg::CTR::detail::NN_CFG_MENU, nn::cfg::CTR::detail::NN_CFG_MENU_FIRST_LAUNCH), &firstLaunch,
sizeof(firstLaunch));
HANDLE_ERROR(result);
result = nn::cfg::CTR::init::FlushConfig();
HANDLE_ERROR(result);
nn::cfg::CTR::init::Finalize();
fnc_1st_setting();
fnc_starting_set();
for(;;)
{

View File

@ -1,9 +1,36 @@

#include <nn/fs.h>
#include <nn/fs/CTR/fs_ApiSystemMenu.h>
#include <nn/am.h>
#include <nn/CTR/CTR_SystemMenuData.h>
#include <nn/pl/CTR/pl_PlayHistoryApiSysmenu.h>
#include <nn/pl/CTR/pl_PedometerApiSys.h>
#include "sysSharedExtSaveData.h"
#include "sysUserInfoAccessor.h"
#include "IDB.h"
#include "IDBi.h"
#include "IDBUT.h"
namespace System
{
nn::cfg::CfgRegionCode getRegion()
{
return nn::cfg::GetRegion();
}
nn::cfg::CfgLanguageCode getCfgLanguage()
{
return nn::cfg::GetLanguage();
}
}
//==========================================================================
// 初回起動時処理
//==========================================================================
void OtherFnc::fnc_1st_setting()
void fnc_1st_setting()
{
sys::SharedExtSaveData::deleteData();
sys::SharedExtSaveData::createData();
@ -11,7 +38,8 @@ void OtherFnc::fnc_1st_setting()
// IDBの初期化
{
u32 size = IDB_GetBufferSize();
u8* buf = new( sys::Mem::getMainHeap() ) u8[size];
u8* buf;
//u8* buf = new( sys::Mem::getMainHeap() ) u8[size];
IDB_Initialize( buf, false, false );
@ -24,12 +52,8 @@ void OtherFnc::fnc_1st_setting()
nn::am::ProgramInfo pinfo;
nn::ProgramId pids[2] =
{
nn::CTR::MakeProgramId( nn::CTR::PROGRAM_ID_CATEGORY_SYSTEM_APPLICATION,
get_programid_mset_with_region_(),
nn::CTR::PROGRAM_ID_VERSION_APP ), // MSETのプログラムID
nn::CTR::MakeProgramId( nn::CTR::PROGRAM_ID_CATEGORY_SYSTEM_APPLICATION,
get_programid_pnote_with_region_(),
nn::CTR::PROGRAM_ID_VERSION_APP ), // PNOTEのプログラムID
sys::UserInfoAccessor::getMsetPid(),
sys::UserInfoAccessor::getPnotePid()
};
for( int i = 0; i < 2; i++ )
@ -75,7 +99,7 @@ void OtherFnc::fnc_1st_setting()
//==========================================================================
// 初回起動時処理2
//==========================================================================
void OtherFnc::fnc_starting_set()
void fnc_starting_set()
{
// プレイ履歴クリア
nn::pl::CTR::ClearPlayHistory();
@ -87,6 +111,7 @@ void OtherFnc::fnc_starting_set()
sys::UserInfoAccessor::setBossTask();
u8 net = 0;
sys::UserInfoAccessor::saveFirstInfo( 1, net );
// cfg 情報送信のタスク登録

View File

@ -2,8 +2,10 @@
@file sysFile.cpp
@brief
*/
#include "sys.h"
//#include "sys.h"
#include <nn/cfg.h>
#include <nn/fs.h>
#include "sysFile.h"
#include <nn/fs/CTR/MPCore/fs_FileSystemBasePrivate.h>
#include <nn/fs/fs_ApiSysSaveData.h>
@ -33,7 +35,7 @@ bool File::smDebugPrintFlag = true;
u8* File::read( const char* fileName, u32* size, bool device, bool prefix )
{
wchar_t name[128];
memset( name, 0, sizeof( name ) );
std::memset( name, 0, sizeof( name ) );
int i = 0;
while( fileName[i] != '\0' )
@ -59,7 +61,7 @@ u8* File::read( const wchar_t* fileName, u32* size, bool device, bool prefix )
s32 readSize = 0;
wchar_t name[128];
memset( name, 0, sizeof( name ) );
std::memset( name, 0, sizeof( name ) );
if( prefix )
{
@ -68,12 +70,12 @@ u8* File::read( const wchar_t* fileName, u32* size, bool device, bool prefix )
#ifdef NW_PLATFORM_CTR
swprintf( name, 128, L"rom:/%ls", (wchar_t*)fileName );
#else
swprintf( name, 128, L"data/%s", fileName );
std::swprintf( name, 128, L"data/%s", fileName );
#endif
}
else
{
swprintf( name, 128, fileName );
std::swprintf( name, 128, fileName );
}
result = fileReader.TryInitialize( name );
@ -94,8 +96,8 @@ u8* File::read( const wchar_t* fileName, u32* size, bool device, bool prefix )
}
*size = static_cast<u32>( fileSize );
if( device ) buffer = new( Mem::getDeviceHeap(), sys::cDefaultDeviceAlignment ) u8[ *size ];
else buffer = new( Mem::getMainHeap() ) u8[ *size ];
//if( device ) buffer = new( Mem::getDeviceHeap(), sys::cDefaultDeviceAlignment ) u8[ *size ];
//else buffer = new( Mem::getMainHeap() ) u8[ *size ];
if( buffer == NULL )
{
@ -123,6 +125,7 @@ u8* File::read( const wchar_t* fileName, u32* size, bool device, bool prefix )
*/
u8* File::readLZ( const char* fileName, u32* size )
{
#if 0
u8* comp_buf = read( fileName, size, false, false );
u32 arc_size = nn::cx::GetUncompressedSize( comp_buf );
u8* arc_buf = new( Mem::getDeviceHeap() ) u8[arc_size];
@ -134,6 +137,7 @@ u8* File::readLZ( const char* fileName, u32* size )
delete []comp_buf;
return arc_buf;
#endif
}
/*!
@ -141,6 +145,7 @@ u8* File::readLZ( const char* fileName, u32* size )
*/
u8* File::mountShare( const char* name, nn::ProgramId tit_id, int data_num, int files, int dirs )
{
#if 0
int size = nn::fs::GetContentRequiredMemorySize( nn::fs::MEDIA_TYPE_NAND,
tit_id, data_num, files, dirs );
u8* buf = new( Mem::getMainHeap() ) u8[size];
@ -154,6 +159,7 @@ u8* File::mountShare( const char* name, nn::ProgramId tit_id, int data_num, int
}
return buf;
#endif
}
/*!
@ -164,7 +170,7 @@ void File::initializeMsetSys()
nn::Result result = nn::fs::MountSystemSaveData( mMsetSysArcName, getMsetSaveDataId() );
NN_DBG_PRINT_RESULT( result );
if( result.IsFailure() )
{
nn::fs::SystemSaveDataId saveDataId = getMsetSaveDataId();
@ -172,7 +178,7 @@ nn::Result result = nn::fs::MountSystemSaveData( mMsetSysArcName, getMsetSaveDat
size_t maxFiles = 2;
size_t maxDirectories = 1;
bool isDuplicateAll = true;
if( result <= nn::fs::ResultNotFound() )
{
// 存在していないため、作成する必要があります。
@ -236,8 +242,8 @@ nn::Result result = nn::fs::MountSystemSaveData( mMsetSysArcName, getMsetSaveDat
}
NN_DBG_PRINT_RESULT( result );
// フォーマット後の判定
// フォーマット後の判定
if( result.IsFailure() )
{
// セーブデータのフォーマットが失敗することはまずありません。
@ -281,7 +287,7 @@ int File::checkMsetExt()
{
nn::Result result = nn::fs::MountExtSaveData( mMsetExtArcName, getMsetExtSaveDataId() );
int ret = eExtResultSuccess;
NN_LOG( "check ext save data\n" );
NN_DBG_PRINT_RESULT( result );
@ -332,7 +338,7 @@ int File::initializeMsetExt()
{
nn::Result result = nn::fs::MountExtSaveData( mMsetExtArcName, getMsetExtSaveDataId() );
int ret = eExtResultSuccess;
NN_LOG( "mount ext save data\n" );
NN_DBG_PRINT_RESULT( result );
@ -344,7 +350,7 @@ int ret = eExtResultSuccess;
// ファイルの最大数とディレクトリの最大数は念のため多めにとっておきます。
u32 maxDirectories = 1;
u32 maxFiles = 2;
if( result <= nn::fs::ResultNotFound() )
{
if( result <= nn::fs::ResultMediaNotFound() )
@ -502,18 +508,18 @@ u8* pTmp = NULL;
case eSysSaveDataTypeDsi:
// ファイルがないので初期化
// 無効な programID で埋める
memset( pSaveData, 0xFF, size );
std::memset( pSaveData, 0xFF, size );
break;
case eSysSaveDataTypeBoss:
memset( pSaveData, 0, size );
std::memset( pSaveData, 0, size );
break;
}
}
else
{
// 管理ファイルが読み込めた
memcpy( pSaveData, pTmp, size );
std::memcpy( pSaveData, pTmp, size );
delete[] pTmp;
}
}
@ -532,12 +538,12 @@ u8* pTmp = NULL;
{
// ファイルがないので初期化
// 無効な programID で埋める
memset( pSaveData, 0xFF, size );
std::memset( pSaveData, 0xFF, size );
}
else
{
// 管理ファイルが読み込めた
memcpy( pSaveData, pTmp, size );
std::memcpy( pSaveData, pTmp, size );
delete[] pTmp;
}
}
@ -551,7 +557,7 @@ void File::saveMmenSys( const u8* saveData, const size_t size )
{
nn::Result result;
nn::fs::FileWriter fileWriter;
// 自分で他のセーブデータへファイルをつくることはしない
result = fileWriter.TryInitialize( mMmenSysSaveDataPath, false );
NN_LOG("mmen sys try initialize\n");
@ -581,7 +587,7 @@ void File::saveMsetSys( const u8* saveData, const size_t size, int type )
{
nn::Result result;
nn::fs::FileOutputStream fileWriter;
// なかった場合はファイル作成
result = fileWriter.TryInitialize( mMsetSysSaveDataPath[ type ], false );
if( result.IsFailure() )
@ -681,7 +687,7 @@ void File::saveMsetExt( const u8* saveData, const size_t size, int type )
{
nn::Result result;
nn::fs::FileOutputStream fileWriter;
// なかった場合はファイル作成
result = fileWriter.TryInitialize( mMsetExtSaveDataPath[ type ], false );
@ -889,7 +895,7 @@ nn::fs::SystemSaveDataId ret;
ret = 0x00020210;
break;
}
return ret;
}
@ -920,7 +926,7 @@ nn::fs::ExtSaveDataId ret;
ret = nn::CTR::PROGRAM_ID_UNIQUE_ID_MSET_US;
break;
}
return ret;
}

View File

@ -2,12 +2,12 @@
@file sysInput.cpp
@brief
*/
#include "sys.h"
//#include "sys.h"
#include "sysInput.h"
#ifndef NW_RELEASE
#include "utScreenCapture.h"
//#include "utScreenCapture.h"
#endif
#ifdef DEBUG_TEXT
@ -38,6 +38,7 @@ nn::hid::CTR::PadReaderWithSvr2* Input::smpPadReaderWithSvr2;
*/
void Input::init()
{
#if 0
msPad = 0;
msPadPrev = 0;
msPadTrig = 0;
@ -55,6 +56,7 @@ void Input::init()
mspTpStatus = new( sys::Mem::getMainHeap() ) nn::hid::CTR::TouchPanelStatus();
smpPadReaderWithSvr2 = new( sys::Mem::getMainHeap() ) nn::hid::CTR::PadReaderWithSvr2();
#endif
}
/*!
@ -62,6 +64,7 @@ void Input::init()
*/
void Input::update( int system_stt )
{
#if 0
// ステートが通常以外になったときは更新を止めつつ、処理をリセットさせる
if( system_stt != sys::eSystemStt_Normal )
{
@ -129,6 +132,7 @@ void Input::update( int system_stt )
lyt::Manager::setDebugVisible( visible );
}
#endif
#endif
}
/*!

View File

@ -5,6 +5,8 @@
#ifndef SYS_INPUT_H_
#define SYS_INPUT_H_
#include <nw.h>
#ifdef NW_PLATFORM_CTR
#include <nn/hid.h>
#include <nn/hid/CTR/hid_PadReaderWithSvr2.h>
@ -12,33 +14,33 @@
#include <windows.h>
#endif
#include "guiManager.h"
#include "guiButton.h"
#include "guiRadioButton.h"
#include "guiRepeatButton.h"
#include "guiSliderBar.h"
#include "guiMayaButton.h"
#include "guiTouchSlider.h"
#include "utUtil.h"
#include "sysDialogManager.h"
//#include "guiManager.h"
//#include "guiButton.h"
//#include "guiRadioButton.h"
//#include "guiRepeatButton.h"
//#include "guiSliderBar.h"
//#include "guiMayaButton.h"
//#include "guiTouchSlider.h"
//#include "utUtil.h"
//#include "sysDialogManager.h"
#include "sceneCalibrationLayout.h"
#include "sceneCalibrationGuiOperator.h"
#include "sceneStartLayout.h"
#include "sceneCoppaLayout.h"
//#include "sceneCalibrationLayout.h"
//#include "sceneCalibrationGuiOperator.h"
//#include "sceneStartLayout.h"
//#include "sceneCoppaLayout.h"
#ifndef NW_RELEASE
#include "sceneSceneController.h"
#include "sceneDebugLayout.h"
#include "sceneDialogScene.h"
#include "sceneDataMngLayout.h"
#include "sceneDataCmmLayout.h"
//#include "sceneSceneController.h"
//#include "sceneDebugLayout.h"
//#include "sceneDialogScene.h"
//#include "sceneDataMngLayout.h"
//#include "sceneDataCmmLayout.h"
#ifdef NW_PLATFORM_CTR
#include "sceneInternetThread.h"
#include "sceneDataMngThread.h"
#include "sceneCoppaThread.h"
#include "sceneCheckScene.h"
//#include "sceneInternetThread.h"
//#include "sceneDataMngThread.h"
//#include "sceneCoppaThread.h"
//#include "sceneCheckScene.h"
#endif
#endif
@ -125,33 +127,33 @@ private:
static LRESULT Callback( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, BOOL *handled );
#endif
friend class gui::Manager;
friend class gui::Button;
friend class gui::RepeatButton;
friend class gui::RadioButton;
friend class gui::SliderBar;
friend class gui::MayaButton;
friend class gui::TouchSlider;
friend class DialogManager;
friend class DialogButton;
friend int ut::IsInBoundPane( lyt::Object* lyt_obj, const char* group_name );
//friend class gui::Manager;
//friend class gui::Button;
//friend class gui::RepeatButton;
//friend class gui::RadioButton;
//friend class gui::SliderBar;
//friend class gui::MayaButton;
//friend class gui::TouchSlider;
//friend class DialogManager;
//friend class DialogButton;
//friend int ut::IsInBoundPane( lyt::Object* lyt_obj, const char* group_name );
friend class scene::CalibrationLayout;
friend class scene::CalibrationGuiOperator;
friend class scene::StartLayout;
friend class scene::CoppaLayout;
//friend class scene::CalibrationLayout;
//friend class scene::CalibrationGuiOperator;
//friend class scene::StartLayout;
//friend class scene::CoppaLayout;
#ifndef NW_RELEASE
friend class scene::SceneController;
friend class scene::DebugLayout;
friend class scene::DialogScene;
friend class scene::DataMngLayout;
friend class scene::DataCmmLayout;
friend class scene::CheckScene;
//friend class scene::SceneController;
//friend class scene::DebugLayout;
//friend class scene::DialogScene;
//friend class scene::DataMngLayout;
//friend class scene::DataCmmLayout;
//friend class scene::CheckScene;
friend class scene::InternetFnc;
friend class scene::DataMngFnc;
friend class scene::CoppaFnc;
//friend class scene::InternetFnc;
//friend class scene::DataMngFnc;
//friend class scene::CoppaFnc;
#endif
};

View File

@ -4,18 +4,18 @@
*/
#ifndef MAKE_AREACHECK
#include "sys.h"
//#include "sys.h"
#include "sysUserInfoAccessor.h"
#include "sysKeyboardManager.h"
#include "sysSystem.h"
//#include "sysKeyboardManager.h"
//#include "sysSystem.h"
#include "sysFile.h"
#include "sysInput.h"
#include "sceneOtherThread.h"
#include "sceneDataTable.h"
//#include "sceneOtherThread.h"
//#include "sceneDataTable.h"
#include "ImageDb.h"
//#include "ImageDb.h"
#include <nn/cfg/CTR/cfg_ApiInit.h>
#include <nn/pl/CTR/pl_SharedDataTitleId.h>
@ -28,12 +28,14 @@
#include <nn/ssl/ssl_Const.h>
#ifndef NW_RELEASE
#include "sceneDebugLayout.h"
//#include "sceneDebugLayout.h"
#endif
#define MOUNT_SHARED_AREA
#define MOUNT_SHARED_EULA
#include "syokaikidou.h"
namespace sys
{
@ -261,6 +263,7 @@ const wchar_t* UserInfoAccessor::mspSlideFact[UserInfoAccessor::eFactNum] =
//==========================================================================
void UserInfoAccessor::init( int flg )
{
#if 0
int event = eUserInfo_Save1;
// 各Infoのクリア
@ -332,6 +335,7 @@ int event = eUserInfo_Save1;
if( msFirstInfo.mmen == 0 ) msDirty &= ~eNetInfo;
eventProc( event );
#endif
}
@ -350,6 +354,7 @@ void UserInfoAccessor::destroy()
//==========================================================================
u8* UserInfoAccessor::readCountryData( int flg )
{
#if 0
u8* p_data = NULL;
u8* mount_buf = NULL;
u32 size;
@ -395,6 +400,7 @@ u32 size;
#endif
return p_data;
#endif
}
@ -403,6 +409,7 @@ u32 size;
//==========================================================================
void UserInfoAccessor::check_first_set_()
{
#if 0
#ifdef MAKE_ACCTEST
// 接続検証
{
@ -520,6 +527,7 @@ void UserInfoAccessor::check_first_set_()
msBackupCoppaInfo = msCoppaInfo;
}
#endif
#endif
}
@ -528,6 +536,7 @@ void UserInfoAccessor::check_first_set_()
//==========================================================================
void UserInfoAccessor::set_country_info_()
{
#if 0
u8* mount_buf = NULL;
{
@ -627,6 +636,7 @@ u8* mount_buf = NULL;
}
break;
}
#endif
}
@ -708,6 +718,7 @@ void UserInfoAccessor::setFirstAll( bool set )
//*********************************************************************************
void UserInfoAccessor::eventProc( int info_event )
{
#if 0
int type = 1;
bool lang_change = false;
@ -903,6 +914,7 @@ bool lang_change = false;
{
sys::KeyboardManager::repreload();
}
#endif
}
@ -1764,7 +1776,7 @@ bit32 key;
ret = result.IsSuccess();
#ifndef NW_RELEASE
scene::DebugLayout::setSaveScc( ret, kind );
//scene::DebugLayout::setSaveScc( ret, kind );
#endif
NN_LOG( "save %d ( %d )\n", kind, result.IsSuccess() );
}
@ -2162,7 +2174,7 @@ size_t readDataSize = 0;
sys::File::finalizeMsetSys();
return;
}
readDataSha1 = new( sys::Mem::getMainHeap(), 4 ) u8[ nn::crypto::Sha1Context::HASH_SIZE ];
//readDataSha1 = new( sys::Mem::getMainHeap(), 4 ) u8[ nn::crypto::Sha1Context::HASH_SIZE ];
nn::crypto::CalculateSha1( readDataSha1, readData, readDataSize );
snprintf( setSha1Hash, setSha1HashLen,
"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x\n",
@ -2250,7 +2262,8 @@ nn::Result result;
bool UserInfoAccessor::save_boss_send_info_()
{
size_t size = sizeof( BossSendInfo );
BossSendInfo* pSaveData = new( sys::Mem::getMainHeap() ) BossSendInfo;
//BossSendInfo* pSaveData = new( sys::Mem::getMainHeap() ) BossSendInfo;
BossSendInfo* pSaveData;
bool ret = false;
sys::File::initializeMsetSys();

View File

@ -16,7 +16,7 @@
#include <nn/cfg/CTR/cfg_NtrSettings.h>
#include <nn/cfg/CTR/cfg_Coppacs.h>
#include "sysProcessManager.h"
//#include "sysProcessManager.h"
namespace sys
{
@ -279,7 +279,7 @@ public:
//TWLで入力不可能な文字を'?'に置換する(TWLで入力可能な文字テーブルを使用する方法)
static void replaceUnusableStringWithTwlUserInfoFontTable(wchar_t* buffer, int len);
static bool binarySearchFromTwlUserInfoFontTable(u16 wc);
//==========================================================================
// ネットワーク設定アクセス用
static bool isCheckNetworkInfo(); // オリジナルとバックアップの比較setting単位
@ -387,7 +387,7 @@ private:
static void prepare_boss_send_cfg_info_();
static void prepare_boss_send_net_info_();
static void prepare_boss_send_factory_cal_info_();
#ifndef NW_RELEASE
//二分探索するため、テーブルが昇順で並んでいることを確認する(Development用)。
//昇順であればtrue,そうでなければfalse。