mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2071 b08762b0-b915-fc4b-9d8c-17b2551a87ff
149 lines
4.3 KiB
C++
149 lines
4.3 KiB
C++
/*---------------------------------------------------------------------------*
|
|
Project: TwlSDK - Wireless Checker
|
|
File: main.cpp
|
|
|
|
Copyright 2007 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.
|
|
|
|
$Date:: $
|
|
$Rev$
|
|
$Author$
|
|
*---------------------------------------------------------------------------*/
|
|
|
|
#include "util/util.h"
|
|
#include "util/canvas.h"
|
|
#include "frame.h"
|
|
|
|
namespace
|
|
{
|
|
|
|
}
|
|
|
|
CFrame::CFrame() : m_itemIndex(ITEM_TEST_WM)
|
|
{
|
|
OS_InitMessageQueue(&m_EntrMsgq, m_EntrMsg, sizeof(m_EntrMsg)/sizeof(m_EntrMsg[0]));
|
|
|
|
}
|
|
|
|
CFrame::CFrame(u8 item)
|
|
{
|
|
m_itemIndex = item;
|
|
OS_InitMessageQueue(&m_EntrMsgq, m_EntrMsg, sizeof(m_EntrMsg)/sizeof(m_EntrMsg[0]));
|
|
}
|
|
|
|
CFrame::~CFrame()
|
|
{
|
|
|
|
}
|
|
|
|
void
|
|
CFrame::InitDisp()
|
|
{
|
|
util::CCanvas* pcm = util::GetMain1Canvas();
|
|
util::CCanvas* pcs = util::GetSub1Canvas();
|
|
|
|
pcm->Clear(util::COLOR_BLACK);
|
|
pcs->Clear(util::COLOR_BLACK);
|
|
pcm->Printf(16*5, 0, util::COLOR_WHITE, L"無線機能確認ツール");
|
|
pcm->Printf(96, 16*1, util::COLOR_WHITE, L"BUILD TIME: %s %s", L""__DATE__, L""__TIME__);
|
|
|
|
DrawBorder(pcm, 4, 16*2 + 4, 256 - 8, 192 - (16*2 + 4), util::COLOR_WHITE);
|
|
pcm->Printf(16*1, 16*3, util::COLOR_WHITE, L"無線ON/OFF設定[ %s ]", TRUE == OS_IsAvailableWireless() ? L"ON ":L"OFF");
|
|
pcm->Printf(16*8, 16*3, util::COLOR_WHITE, L"無線強制OFF本体[ %s ]", TRUE == OS_IsForceDisableWireless() ? L"Yes":L"No ");
|
|
|
|
pcm->Printf(16*2, 16*5, util::COLOR_WHITE, L"DS無線の初期化テスト");
|
|
pcm->Printf(16*2, 16*6, util::COLOR_WHITE, L"TWL無線の初期化テスト");
|
|
pcm->Printf(16*2, 16*7, util::COLOR_WHITE, L"FATALエラーエミュレーション");
|
|
pcm->Printf(16*2, 16*8, util::COLOR_WHITE, L"FATALエラーリカバリテスト");
|
|
|
|
DrawBorder(pcs, 4, 16*9 + 4, 256 - 8, 192 - (16*9 + 4), util::COLOR_WHITE);
|
|
}
|
|
|
|
void
|
|
CFrame::CursorDisp(int xpos, int ystart, util::PaletteColor color)
|
|
{
|
|
util::CCanvas* pcm = util::GetMain1Canvas();
|
|
pcm->Clear(xpos, ystart, 16, 16*ITEM_NUM, util::COLOR_BLACK);
|
|
pcm->Print(xpos, ystart + 16*GetItemIndex(), color, L"■");
|
|
}
|
|
|
|
void
|
|
CFrame::HelpDisp(util::PaletteColor color)
|
|
{
|
|
util::CCanvas* pcs = util::GetSub1Canvas();
|
|
pcs->Clear(8, 16*9 + 8, 256 - 16, 16*2, util::COLOR_BLACK);
|
|
|
|
wchar_t *pHelpString1, *pHelpString2;
|
|
|
|
switch (GetItemIndex())
|
|
{
|
|
case ITEM_TEST_WM:
|
|
pHelpString1 = L"DS無線の初期化テストを行います。";
|
|
pHelpString2 = L"LEDの点滅を確認してください。";
|
|
break;
|
|
case ITEM_TEST_NWM:
|
|
pHelpString1 = L"TWL無線の初期化テストを行います。";
|
|
pHelpString2 = L"LEDの点滅を確認してください。";
|
|
break;
|
|
case ITEM_TEST_FATAL:
|
|
pHelpString1 = L"FATALエラーを発生させ、TWL無線を使えなくします";
|
|
pHelpString2 = L"HWリセットで回復します。";
|
|
break;
|
|
case ITEM_TEST_RECOVERY:
|
|
pHelpString1 = L"FATALエラーのリカバリーをテストします。";
|
|
pHelpString2 = L"再起動後にTWL無線初期化を確認してください。";
|
|
break;
|
|
}
|
|
pcs->Print(8, 16*9 + 8, color, pHelpString1);
|
|
pcs->Print(8, 16*10 + 8, color, pHelpString2);
|
|
}
|
|
|
|
BOOL
|
|
CFrame::AutoEnter()
|
|
{
|
|
return OS_SendMessage(&m_EntrMsgq, (OSMessage)TRUE, OS_MESSAGE_NOBLOCK);
|
|
}
|
|
|
|
void
|
|
CFrame::ProcessButton()
|
|
{
|
|
if (util::IsPadTrigger(PAD_KEY_UP))
|
|
{
|
|
decRound();
|
|
} else
|
|
if (util::IsPadTrigger(PAD_KEY_DOWN))
|
|
{
|
|
incRound();
|
|
}
|
|
|
|
if (util::IsPadTrigger(PAD_BUTTON_A))
|
|
{
|
|
if (FALSE == OS_SendMessage(&m_EntrMsgq, (OSMessage)TRUE, OS_MESSAGE_NOBLOCK))
|
|
{
|
|
// already entered
|
|
}
|
|
}
|
|
}
|
|
|
|
BOOL
|
|
CFrame::IsEnter()
|
|
{
|
|
OSMessage msg;
|
|
return OS_ReceiveMessage(&m_EntrMsgq, &msg, OS_MESSAGE_NOBLOCK);
|
|
|
|
}
|
|
|
|
void
|
|
CFrame::DrawBorder(util::CCanvas* pCanvas, int px, int py, int pw, int ph, util::PaletteColor color)
|
|
{
|
|
pCanvas->Clear(px, py, pw, 1, color);
|
|
pCanvas->Clear(px, py + ph - 1, pw, 1, color);
|
|
pCanvas->Clear(px, py + 1, 1, ph - 2, color);
|
|
pCanvas->Clear(px + pw - 1, py + 1, 1, ph - 2, color);
|
|
}
|