summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/apDebug.cpp4
-rw-r--r--src/koopatlas/starcoin.cpp27
2 files changed, 30 insertions, 1 deletions
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;