mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
3rdNUP以上の本体ではエラーとするように
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@689 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
b0671a65f2
commit
0d14ccf41e
@ -46,6 +46,13 @@ ScrollBuffer *s_scrollBuffer;
|
||||
|
||||
char s_updaterBuffer[1 << 20] NN_ATTRIBUTE_ALIGN(4096);
|
||||
|
||||
const u8 CUP_MAJOR_VER_3ND_NUP = 4;
|
||||
|
||||
bool IsOver3rdNup(u8 cupMajor)
|
||||
{
|
||||
return CUP_MAJOR_VER_3ND_NUP <= cupMajor;
|
||||
}
|
||||
|
||||
nn::ProgramId GetHomeMenuProgramId(nn::cfg::CTR::CfgRegionCode region)
|
||||
{
|
||||
nn::ProgramId pid;
|
||||
@ -287,14 +294,46 @@ nn::Result ExecuteCup(ScrollBuffer* scrollBuf)
|
||||
return result;
|
||||
}
|
||||
|
||||
void ShowError(const char* str)
|
||||
{
|
||||
s_scrollBuffer->AppendText(str);
|
||||
for (;;)
|
||||
{
|
||||
s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0);
|
||||
s_RenderSystem.SetClearColor(NN_GX_DISPLAY0, 1, 0, 0, 1);
|
||||
s_RenderSystem.Clear();
|
||||
s_RenderSystem.SwapBuffers();
|
||||
s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY1);
|
||||
s_RenderSystem.SetClearColor(NN_GX_DISPLAY1, 1, 0, 0, 1);
|
||||
s_RenderSystem.Clear();
|
||||
s_scrollBuffer->Render();
|
||||
s_RenderSystem.SwapBuffers();
|
||||
|
||||
if (nn::applet::IsExpectedToCloseApplication())
|
||||
{
|
||||
nn::applet::PrepareToCloseApplication();
|
||||
nn::applet::CloseApplication();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void nnMain()
|
||||
{
|
||||
NN_LOG("Start Self Cup\n");
|
||||
nn::Result result;
|
||||
Initialize();
|
||||
VerDef versionData;
|
||||
|
||||
nn::cfg::CfgRegionCode region = nn::cfg::GetRegion();
|
||||
nn::ProgramId MMEN_PROGRAM_ID = GetHomeMenuProgramId(region);
|
||||
GetSystemVersion(&versionData, region);
|
||||
s_scrollBuffer->AppendText("Version: %d.%d.%d-%d%c", versionData.cup.majorVersion, versionData.cup.minorVersion,
|
||||
versionData.cup.microVersion, versionData.nup.majorVersion, nn::cfg::GetRegionCodeA3(region)[0]);
|
||||
|
||||
if(IsOver3rdNup(versionData.cup.majorVersion))
|
||||
{
|
||||
ShowError("Cannot Update");
|
||||
}
|
||||
|
||||
nn::am::ProgramInfo outInfos;
|
||||
result = nn::am::GetProgramInfos(&outInfos, nn::fs::MEDIA_TYPE_NAND, &MMEN_PROGRAM_ID, 1);
|
||||
@ -308,7 +347,6 @@ extern "C" void nnMain()
|
||||
}
|
||||
|
||||
s_scrollBuffer->AppendText("")->Render();
|
||||
VerDef versionData;
|
||||
GetSystemVersion(&versionData, region);
|
||||
|
||||
s_scrollBuffer->AppendText("Version: %d.%d.%d-%d%c", versionData.cup.majorVersion, versionData.cup.minorVersion,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user