上画面の本体情報のフォントを大きくする

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@18 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2011-02-04 07:50:25 +00:00
parent 2c24127d32
commit 7558677f1f
7 changed files with 255 additions and 157 deletions

View File

@ -36,6 +36,7 @@
#include <string>
#include "ConsoleBackup.h"
#include "DrawSystemState.h"
#include "FileName.h"
#include "Controller.h"
#include "SimplePlayer.h"
@ -55,7 +56,6 @@ namespace {
// グラフィックスに割り当てるメモリ
const size_t s_GxHeapSize = 0x800000;
const u16 PROGRESS_MAX_LINES = 160;
// バッテリ残量
u8 batteryRemain = 100;
@ -80,8 +80,6 @@ nn::Handle s_McuSession;
namespace ConsoleBackup{
u32 GetRenderTarget(u32 target, bool flip = false);
bool IsAdapterConnected()
{
return nn::ptm::CTR::GetAdapterState() == nn::ptm::CTR::ADAPTERSTATE_CONNECTED;
@ -114,25 +112,6 @@ void GetIvs(void** ivs, size_t* size)
*size = s_SizeofIvs;
}
u32 GetRenderTarget(u32 target, bool flip)
{
if(flip)
{
if(target == NN_GX_DISPLAY0)
{
return NN_GX_DISPLAY1;
}
else
{
return NN_GX_DISPLAY0;
}
}
else
{
return target;
}
}
nn::Handle GetMcuHandle()
{
return s_McuSession;
@ -347,66 +326,43 @@ extern "C" void nnMain(void)
ControlState(operationMessage, nextStep, continueBackup);
// デフォルトで上画面に描画するもの
s_RenderSystem.SetRenderTarget(GetRenderTarget(NN_GX_DISPLAY0, flip));
if(IsBackupSucceeded())
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), SUCCESS_COLOR);
}
if(IsBackupFailed())
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), FAIL_COLOR);
}
nn::util::FloatColor titleColor;
s_RenderSystem.Clear();
s_RenderSystem.SetColor(1.f, 1.f, 1.f);
u32 line = 0;
s_RenderSystem.DrawText(0, line++ * 10, "CTR Console Backup %s Rev.%s", __DATE__, BACKUP_VERSION_NUM);
s_RenderSystem.SetColor(0.3f, 0.f, 0.2f);
s_RenderSystem.FillRectangle(0 , (line-1) * 10, 400 , 10);
s_RenderSystem.SetColor(1.f, 1.f, 1.f);
s_RenderSystem.DrawText(0, line++ * 10, "");
s_RenderSystem.DrawText(0, line++ * 10, "System Ver. %d.%d (Rev.%d)", rosi.versionHi, rosi.versionLo, rosi.revision);
s_RenderSystem.DrawText(0, line++ * 10, "System Region %s", nn::cfg::CTR::GetRegionCodeA3(region));
s_RenderSystem.DrawText(0, line++ * 10, "Serial No. %s", s_SerialNo);
s_RenderSystem.DrawText(0, line++ * 10, "Device ID %X", deviceId);
s_RenderSystem.DrawText(0, line++ * 10, "MAC Address %s", macAddress);
s_RenderSystem.DrawText(0, line++ * 10, "Friend Code %04u-%04u-%04u",
static_cast<u32>(friendCode / 100000000ULL % 10000ULL),
static_cast<u32>(friendCode / 10000ULL % 10000ULL),
static_cast<u32>(friendCode % 10000ULL) );
titleColor.r = 0.3f;
titleColor.g = 0.f;
titleColor.b = 0.2f;
s_RenderSystem.DrawText(0, line++ * 10, "Battery %d%%", batteryRemain);
s_RenderSystem.DrawText(0, line++ * 10, "AC Adaper %s", adapterState.c_str());
s_RenderSystem.DrawText(0, line++ * 10, "Progress %02d%%", GetProgress());
s_RenderSystem.SetColor(0.f, 0.2f, 0.f);
s_RenderSystem.DrawLine(19 * 8, (line-1) * 10, 19 * 8 + PROGRESS_MAX_LINES, (line-1) * 10);
s_RenderSystem.DrawLine(19 * 8, (line-1) * 10, 19 * 8, (line) * 10);
s_RenderSystem.DrawLine(19 * 8, (line) * 10, 19 * 8 + PROGRESS_MAX_LINES, (line) * 10);
s_RenderSystem.DrawLine(19 * 8 + PROGRESS_MAX_LINES, (line-1) * 10, 19 * 8 + PROGRESS_MAX_LINES, (line) * 10 + 1);
s_RenderSystem.SetColor(0.f, 0.5f, 0.f);
s_RenderSystem.FillRectangle(19 * 8 , (line-1) * 10, GetProgress() * PROGRESS_MAX_LINES / 100+ 1, 10);
s_RenderSystem.SetColor(1.f, 1.f, 1.f);
s_RenderSystem.DrawText(0, line++ * 10, "");
::std::vector<std::string>::iterator it;
for(it = operationMessage.begin(); it != operationMessage.end(); it++)
{
s_RenderSystem.DrawText(0, line++ * 10 , "%s", it->c_str());
}
// 上画面表示
common::DrawSystemState("CTR Console Backup",
s_RenderSystem,
titleColor,
flip,
adapterState,
BACKUP_VERSION_NUM,
batteryRemain,
deviceId,
friendCode,
GetProgress(),
IsBackupFailed(),
IsBackupSucceeded(),
macAddress,
operationMessage,
region,
rosi,
s_SerialNo
);
s_RenderSystem.SwapBuffers();
// デフォルトで下画面に描画するもの
s_RenderSystem.SetRenderTarget(GetRenderTarget(NN_GX_DISPLAY1, flip));
s_RenderSystem.SetRenderTarget(common::GetRenderTarget(NN_GX_DISPLAY1, flip));
if(IsBackupSucceeded())
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY1, flip), SUCCESS_COLOR);
s_RenderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), SUCCESS_COLOR);
}
if(IsBackupFailed())
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY1, flip), FAIL_COLOR);
s_RenderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), FAIL_COLOR);
}
s_RenderSystem.Clear();
s_RenderSystem.SetColor(1.f, 1.f, 1.f);

View File

@ -35,14 +35,5 @@ const u32 CONSOLE_MAX_LINE = 1000;
}
// 描画色の定義
#define WHITE_COLOR 1.f, 1.f, 1.f, 1.f
#define GRAY_COLOR 0.5, 0.5, 0.5, 1.f
#define RED_COLOR 1.f, 0.f, 0.f, 1.f
#define GREEN_COLOR 0.f, 1.f, 0.f, 1.f
#define BLUE_COLOR 0.f, 0.f, 1.f, 1.f
#define SUCCESS_COLOR 0.f, 0.6f,0.f, 1.f
#define FAIL_COLOR 0.6f, 0.f,0.f, 1.f
/* NN_CONSOLEBACKUP_H_ */
#endif

View File

@ -29,6 +29,7 @@ SOURCES[] =
ConsoleBackup.cpp
Controller.cpp
Exporter.cpp
../common/DrawSystemState.cpp
../common/FileTransfer.cpp
../common/SdReaderWriter.cpp
../common/HeapManager.cpp

View File

@ -37,6 +37,7 @@
#include <string>
#include "ConsoleRestore.h"
#include "DrawSystemState.h"
#include "Controller.h"
#include "SimplePlayer.h"
#include "CommonLogger.h"
@ -57,8 +58,6 @@ const size_t s_GxHeapSize = 0x800000;
demo::RenderSystemDrawing s_RenderSystem;
nn::Handle s_McuSession;
const u16 PROGRESS_MAX_LINES = 160;
// バッテリ残量
u8 batteryRemain = 100;
@ -81,8 +80,6 @@ bool s_CanReadIvs = false;
namespace ConsoleRestore{
u32 GetRenderTarget(u32 target, bool flip = false);
bool IsAdapterConnected()
{
return nn::ptm::CTR::GetAdapterState() == nn::ptm::CTR::ADAPTERSTATE_CONNECTED;
@ -115,25 +112,6 @@ void GetIvs(void** ivs, size_t* size)
*size = s_SizeofIvs;
}
u32 GetRenderTarget(u32 target, bool flip)
{
if(flip)
{
if(target == NN_GX_DISPLAY0)
{
return NN_GX_DISPLAY1;
}
else
{
return NN_GX_DISPLAY0;
}
}
else
{
return target;
}
}
void FinalizeAll()
{
common::Logger::GetLoggerInstance()->Finalize();
@ -367,74 +345,47 @@ extern "C" void nnMain(void)
ControlState(operationMessage, nextStep, continueRestore);
// デフォルトで上画面に描画するもの
s_RenderSystem.SetRenderTarget(GetRenderTarget(NN_GX_DISPLAY0, flip));
if(IsRestoreSucceeded())
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), SUCCESS_COLOR);
}
else if(IsRestoreFailed())
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), FAIL_COLOR);
}
else
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), NORMAL_COLOR);
}
nn::util::FloatColor titleColor;
s_RenderSystem.Clear();
s_RenderSystem.SetColor(1.f, 1.f, 1.f);
u32 line = 0;
s_RenderSystem.DrawText(0, line++ * 10, "CTR Console Restore %s Rev.%s", __DATE__, RESTORE_VERSION_NUM);
s_RenderSystem.SetColor(0.1f, 0.25f, 0.1f);
s_RenderSystem.FillRectangle(0 , (line-1) * 10, 400 , 10);
s_RenderSystem.SetColor(1.f, 1.f, 1.f);
s_RenderSystem.DrawText(0, line++ * 10, "");
s_RenderSystem.DrawText(0, line++ * 10, "System Ver. %d.%d (Rev.%d)", rosi.versionHi, rosi.versionLo, rosi.revision);
s_RenderSystem.DrawText(0, line++ * 10, "System Region %s", nn::cfg::CTR::GetRegionCodeA3(region));
s_RenderSystem.DrawText(0, line++ * 10, "Serial No. %s", s_SerialNo);
s_RenderSystem.DrawText(0, line++ * 10, "Device ID %X", deviceId);
s_RenderSystem.DrawText(0, line++ * 10, "MAC Address %s", macAddress);
s_RenderSystem.DrawText(0, line++ * 10, "Friend Code %04u-%04u-%04u",
static_cast<u32>(friendCode / 100000000ULL % 10000ULL),
static_cast<u32>(friendCode / 10000ULL % 10000ULL),
static_cast<u32>(friendCode % 10000ULL) );
titleColor.r = 0.1f;
titleColor.g = 0.25f;
titleColor.b = 0.1f;
s_RenderSystem.DrawText(0, line++ * 10, "Battery %d%%", batteryRemain);
s_RenderSystem.DrawText(0, line++ * 10, "AC Adaper %s", adapterState.c_str());
s_RenderSystem.DrawText(0, line++ * 10, "Progress %02d%%", GetProgress());
s_RenderSystem.SetColor(0.f, 0.2f, 0.f);
s_RenderSystem.DrawLine(19 * 8, (line-1) * 10, 19 * 8 + PROGRESS_MAX_LINES, (line-1) * 10);
s_RenderSystem.DrawLine(19 * 8, (line-1) * 10, 19 * 8, (line) * 10);
s_RenderSystem.DrawLine(19 * 8, (line) * 10, 19 * 8 + PROGRESS_MAX_LINES, (line) * 10);
s_RenderSystem.DrawLine(19 * 8 + PROGRESS_MAX_LINES, (line-1) * 10, 19 * 8 + PROGRESS_MAX_LINES, (line) * 10 + 1);
s_RenderSystem.SetColor(0.f, 0.5f, 0.f);
s_RenderSystem.FillRectangle(19 * 8 , (line-1) * 10, GetProgress() * PROGRESS_MAX_LINES / 100+ 1, 10);
s_RenderSystem.SetColor(1.f, 1.f, 1.f);
s_RenderSystem.DrawText(0, line++ * 10, "");
::std::vector<std::string>::iterator it;
for(it = operationMessage.begin(); it != operationMessage.end(); it++)
{
s_RenderSystem.DrawText(0, line++ * 10 , "%s", it->c_str());
}
// 上画面表示
common::DrawSystemState("CTR Console Restore",
s_RenderSystem,
titleColor,
flip,
adapterState,
RESTORE_VERSION_NUM,
batteryRemain,
deviceId,
friendCode,
GetProgress(),
IsRestoreFailed(),
IsRestoreSucceeded(),
macAddress,
operationMessage,
region,
rosi,
s_SerialNo
);
s_RenderSystem.SwapBuffers();
// デフォルトで下画面に描画するもの
s_RenderSystem.SetRenderTarget(GetRenderTarget(NN_GX_DISPLAY1, flip));
s_RenderSystem.SetRenderTarget(common::GetRenderTarget(NN_GX_DISPLAY1, flip));
if(IsRestoreSucceeded())
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY1, flip), SUCCESS_COLOR);
s_RenderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), SUCCESS_COLOR);
}
else if(IsRestoreFailed())
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY1, flip), FAIL_COLOR);
s_RenderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), FAIL_COLOR);
}
else
{
s_RenderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY1, flip), NORMAL_COLOR);
s_RenderSystem.SetClearColor(common::GetRenderTarget(NN_GX_DISPLAY1, flip), NORMAL_COLOR);
}
s_RenderSystem.Clear();
s_RenderSystem.SetColor(1.f, 1.f, 1.f);

View File

@ -31,6 +31,7 @@ SOURCES[] =
Importer.cpp
Updater.cpp
Ntpclient.cpp
../common/DrawSystemState.cpp
../common/FileTransfer.cpp
../common/SdReaderWriter.cpp
../common/HeapManager.cpp

View File

@ -0,0 +1,129 @@
/*---------------------------------------------------------------------------*
Project: Horizon
File: DrawSystemState.cpp
Copyright 2009 Nintendo. 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$
*---------------------------------------------------------------------------*/
#include "DrawSystemState.h"
const u16 PROGRESS_MAX_LINES = 129;
namespace common
{
u32 GetRenderTarget(u32 target, bool flip)
{
if(flip)
{
if(target == NN_GX_DISPLAY0)
{
return NN_GX_DISPLAY1;
}
else
{
return NN_GX_DISPLAY0;
}
}
else
{
return target;
}
}
void DrawSystemState
(
const char* toolName,
demo::RenderSystemDrawing& renderSystem,
nn::util::FloatColor titleColor,
bool flip,
std::string& adapterState,
const char* toolVersion,
u8 batteryRemain,
bit32 deviceId,
u64 friendCode,
u32 progress,
bool isBackupFailed,
bool isBackupSucceeded,
char8* macAddress,
::std::vector<std::string>& operationMessage,
nn::cfg::CTR::CfgRegionCode region,
const nn::os::ReadOnlySharedInfo& rosi,
u8* s_SerialNo
)
{
// デフォルトで上画面に描画するもの
renderSystem.SetRenderTarget(GetRenderTarget(NN_GX_DISPLAY0, flip));
if (isBackupSucceeded)
{
renderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), SUCCESS_COLOR);
}
if (isBackupFailed)
{
renderSystem.SetClearColor(GetRenderTarget(NN_GX_DISPLAY0, flip), FAIL_COLOR);
}
renderSystem.Clear();
renderSystem.SetColor(1.f, 1.f, 1.f);
u32 line = 0;
size_t fontSize = 8;
size_t spaceSize = fontSize + 2;
renderSystem.SetFontSize(fontSize);
renderSystem.DrawText(0, line++ * spaceSize, "%s %s Rev.%s", toolName, __DATE__, toolVersion);
renderSystem.SetColor(titleColor.r, titleColor.g, titleColor.b);
renderSystem.FillRectangle(0, (line - 1) * spaceSize, 400, spaceSize);
renderSystem.SetColor(1.f, 1.f, 1.f);
renderSystem.DrawText(0, line++ * spaceSize, "");
fontSize += 2;
spaceSize = fontSize + 2;
renderSystem.SetFontSize(fontSize);
renderSystem.DrawText(0, line++ * spaceSize, "System Ver. %d.%d (Rev.%d)", rosi.versionHi, rosi.versionLo,
rosi.revision);
renderSystem.DrawText(0, line++ * spaceSize, "System Region %s", nn::cfg::CTR::GetRegionCodeA3(region));
renderSystem.DrawText(0, line++ * spaceSize, "Serial No. %s", s_SerialNo);
renderSystem.DrawText(0, line++ * spaceSize, "Device ID %X", deviceId);
renderSystem.DrawText(0, line++ * spaceSize, "MAC Address %s", macAddress);
renderSystem.DrawText(0, line++ * spaceSize, "Friend Code %04u-%04u-%04u", static_cast<u32> (friendCode
/ 100000000ULL % 10000ULL), static_cast<u32> (friendCode / 10000ULL % 10000ULL),
static_cast<u32> (friendCode % 10000ULL));
renderSystem.DrawText(0, line++ * spaceSize, "Battery %d%%", batteryRemain);
renderSystem.DrawText(0, line++ * spaceSize, "AC Adaper %s", adapterState.c_str());
renderSystem.DrawText(0, line++ * spaceSize, "Progress %02d%%", progress);
renderSystem.SetColor(0.f, 0.2f, 0.f);
renderSystem.DrawLine(19 * fontSize, (line - 1) * spaceSize, 19 * fontSize + PROGRESS_MAX_LINES, (line - 1)
* spaceSize);
renderSystem.DrawLine(19 * fontSize, (line - 1) * spaceSize, 19 * fontSize, (line) * spaceSize);
renderSystem.DrawLine(19 * fontSize, (line) * spaceSize, 19 * fontSize + PROGRESS_MAX_LINES, (line) * spaceSize);
renderSystem.DrawLine(19 * fontSize + PROGRESS_MAX_LINES, (line - 1) * spaceSize, 19 * fontSize
+ PROGRESS_MAX_LINES, (line) * spaceSize + 1);
renderSystem.SetColor(0.f, 0.5f, 0.f);
renderSystem.FillRectangle(19 * fontSize, (line - 1) * spaceSize, progress * PROGRESS_MAX_LINES / 100 + 1,
spaceSize);
renderSystem.SetColor(1.f, 1.f, 1.f);
renderSystem.DrawText(0, line++ * spaceSize, "");
::std::vector<std::string>::iterator it;
for (it = operationMessage.begin(); it != operationMessage.end(); it++)
{
renderSystem.DrawText(0, line++ * spaceSize, "%s", it->c_str());
}
fontSize -= 2;
renderSystem.SetFontSize(fontSize);
}
}

View File

@ -0,0 +1,69 @@
/*---------------------------------------------------------------------------*
Project: Horizon
File: DrawSystemState.h
Copyright 2009 Nintendo. 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 DRAWSYSTEMSTATE_H_
#define DRAWSYSTEMSTATE_H_
#include <nn.h>
#include "demo.h"
#include <nn/cfg/CTR/cfg_RegionCode.h>
#include <nn/os/os_SharedInfo.h>
#include <nn/cfg/CTR/cfg_Api.h>
#include <nn/cfg/CTR/cfg_ApiInit.h>
#include <nn/cfg/CTR/cfg_ApiSys.h>
#include <nn/util/util_Color.h>
#include <string>
#include <vector>
// 描画色の定義
#define WHITE_COLOR 1.f, 1.f, 1.f, 1.f
#define GRAY_COLOR 0.5, 0.5, 0.5, 1.f
#define RED_COLOR 1.f, 0.f, 0.f, 1.f
#define GREEN_COLOR 0.f, 1.f, 0.f, 1.f
#define BLUE_COLOR 0.f, 0.f, 1.f, 1.f
#define SUCCESS_COLOR 0.f, 0.6f,0.f, 1.f
#define FAIL_COLOR 0.6f, 0.f,0.f, 1.f
namespace common
{
u32 GetRenderTarget(u32 target, bool flip = false);
void DrawSystemState
(
const char* toolName,
demo::RenderSystemDrawing& renderSystem,
nn::util::FloatColor titleColor,
bool flip,
std::string& adapterState,
const char* toolVersion,
u8 batteryRemain,
bit32 deviceId,
u64 friendCode,
u32 progress,
bool isBackupFailed,
bool isBackupSucceeded,
char8* macAddress,
::std::vector<std::string>& operationMessage,
nn::cfg::CTR::CfgRegionCode region,
const nn::os::ReadOnlySharedInfo& rosi,
u8* s_SerialNo
);
}
#endif /* DRAWSYSTEMSTATE_H_ */