From 876f0b3e500c3b60c6d69b3d3abbfe3b29837201 Mon Sep 17 00:00:00 2001 From: Treeki Date: Mon, 28 Jan 2013 02:46:50 +0100 Subject: implement the Konami Code into Newer --- NewerProjectKP.yaml | 2 +- src/apDebug.cpp | 4 +++- src/koopatlas/starcoin.cpp | 27 +++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/NewerProjectKP.yaml b/NewerProjectKP.yaml index bb0ee2c..a8369d8 100644 --- a/NewerProjectKP.yaml +++ b/NewerProjectKP.yaml @@ -3,7 +3,7 @@ code_address: 0x808D9000 modules: - processed/prolog.yaml - processed/corseClear.yaml -# - processed/apDebug.yaml + - processed/apDebug.yaml # - processed/layoutDebug.yaml - processed/flipblock.yaml - processed/fileselect.yaml diff --git a/src/apDebug.cpp b/src/apDebug.cpp index ee31c28..bcaf33f 100644 --- a/src/apDebug.cpp +++ b/src/apDebug.cpp @@ -32,9 +32,11 @@ class APDebugDrawer : public m3d::proc_c { static APDebugDrawer defaultInstance; +static bool enableDebugMode = false; int APDebugDraw() { - defaultInstance.drawMe(); + if (enableDebugMode) + defaultInstance.drawMe(); return 1; } diff --git a/src/koopatlas/starcoin.cpp b/src/koopatlas/starcoin.cpp index 24176f5..a0def97 100644 --- a/src/koopatlas/starcoin.cpp +++ b/src/koopatlas/starcoin.cpp @@ -365,10 +365,21 @@ void dWMStarCoin_c::beginState_Hidden() { } void dWMStarCoin_c::executeState_Hidden() { } void dWMStarCoin_c::endState_Hidden() { } +static const int secretCode[] = { + WPAD_UP,WPAD_UP,WPAD_DOWN,WPAD_DOWN, + WPAD_LEFT,WPAD_RIGHT,WPAD_LEFT,WPAD_RIGHT, + WPAD_ONE,WPAD_TWO,0 +}; +static const int secretCodeButtons = WPAD_UP|WPAD_DOWN|WPAD_LEFT|WPAD_RIGHT|WPAD_ONE|WPAD_TWO; +static int secretCodeIndex = 0; +extern bool enableDebugMode; + void dWMStarCoin_c::beginState_ShowWait() { visible = true; loadInfo(); layout.enableNonLoopAnim(SHOW_ALL); + + secretCodeIndex = 0; } void dWMStarCoin_c::executeState_ShowWait() { if (!layout.isAnimOn(SHOW_ALL)) @@ -395,6 +406,22 @@ void dWMStarCoin_c::beginState_Wait() { } void dWMStarCoin_c::executeState_Wait() { int nowPressed = Remocon_GetPressed(GetActiveRemocon()); + if (nowPressed & secretCodeButtons) { + int nextKey = secretCode[secretCodeIndex]; + if (nowPressed & nextKey) { + secretCodeIndex++; + if (secretCode[secretCodeIndex] == 0) { + secretCodeIndex = 0; + MapSoundPlayer(SoundRelatedClass, SE_VOC_MA_THANK_YOU, 1); + enableDebugMode = !enableDebugMode; + OSReport("Debug mode toggled!\n"); + } + return; + } else { + secretCodeIndex = 0; + } + } + if (nowPressed & WPAD_ONE) { MapSoundPlayer(SoundRelatedClass, SE_SYS_DIALOGUE_OUT_AUTO, 1); willExit = true; -- cgit v1.2.3