diff options
Diffstat (limited to '')
-rw-r--r-- | src/koopatlas/player.cpp | 154 |
1 files changed, 89 insertions, 65 deletions
diff --git a/src/koopatlas/player.cpp b/src/koopatlas/player.cpp index f8e491a..c6820a0 100644 --- a/src/koopatlas/player.cpp +++ b/src/koopatlas/player.cpp @@ -17,6 +17,13 @@ int daWMPlayer_c::onCreate() { current_param = 0; + hasEffect = false; + hasSound = false; + step = false; + effectName = ""; + soundName = 0; + timer = 0; + return true; } @@ -31,77 +38,94 @@ int daWMPlayer_c::onExecute() { this->modelHandler->update(); this->modelHandler->setSRT(this->pos, this->rot, this->scale); -#ifdef MARIO_OPTIONS - // Before we leave, do the debug movement stuff - int heldButtons = Remocon_GetButtons(GetActiveRemocon()); - int nowPressed = Remocon_GetPressed(GetActiveRemocon()); - char buf[100]; - bool updated = false; - if (nowPressed & WPAD_LEFT) { - current_param--; - updated = true; - } + if (hasEffect) { effect.spawn(effectName, 0, &pos, &rot, &scale); } - if (nowPressed & WPAD_RIGHT) { - current_param++; - updated = true; - } + if (hasSound) { + timer++; - if (current_param < 0) - current_param = 8; - - if (current_param > 8) - current_param = 0; - - float pos_mod = 0.0f; - short rot_mod = 0.0f; - float scale_mod = 0.0f; - if (nowPressed & WPAD_ONE) { - pos_mod -= 5.0f; - rot_mod -= 0x1000; - scale_mod -= 0.1f; - updated = true; - } else if (nowPressed & WPAD_TWO) { - pos_mod += 5.0f; - rot_mod += 0x1000; - scale_mod += 0.1f; - updated = true; - } + if (timer == 10) { + if (step) { MapSoundPlayer(SoundRelatedClass, soundName, 1); step = false; } + else { MapSoundPlayer(SoundRelatedClass, soundName+1, 1); step = true; } + timer = 0; + } - if (!updated) return true; - - if (current_param == 0) { - pos.x += pos_mod; - sprintf(buf, "X position: %f", pos.x); - } else if (current_param == 1) { - pos.y += pos_mod; - sprintf(buf, "Y position: %f", pos.y); - } else if (current_param == 2) { - pos.z += pos_mod; - sprintf(buf, "Z position: %f", pos.z); - } else if (current_param == 3) { - rot.x += rot_mod; - sprintf(buf, "X rotation: 0x%04x", rot.x); - } else if (current_param == 4) { - rot.y += rot_mod; - sprintf(buf, "Y rotation: 0x%04x", rot.y); - } else if (current_param == 5) { - rot.z += rot_mod; - sprintf(buf, "Z rotation: 0x%04x", rot.z); - } else if (current_param == 6) { - scale.x += scale_mod; - sprintf(buf, "X scale: %f", scale.x); - } else if (current_param == 7) { - scale.y += scale_mod; - sprintf(buf, "Y scale: %f", scale.y); - } else if (current_param == 8) { - scale.z += scale_mod; - sprintf(buf, "Z scale: %f", scale.z); + if (timer > 10) { timer = 0; } } - dScNewerWorldMap_c::instance->SetTitle(buf); -#endif + + +// #ifdef MARIO_OPTIONS +// // Before we leave, do the debug movement stuff +// int heldButtons = Remocon_GetButtons(GetActiveRemocon()); +// int nowPressed = Remocon_GetPressed(GetActiveRemocon()); +// char buf[100]; +// bool updated = false; + +// if (nowPressed & WPAD_LEFT) { +// current_param--; +// updated = true; +// } + +// if (nowPressed & WPAD_RIGHT) { +// current_param++; +// updated = true; +// } + +// if (current_param < 0) +// current_param = 8; + +// if (current_param > 8) +// current_param = 0; + +// float pos_mod = 0.0f; +// short rot_mod = 0.0f; +// float scale_mod = 0.0f; +// if (nowPressed & WPAD_ONE) { +// pos_mod -= 5.0f; +// rot_mod -= 0x1000; +// scale_mod -= 0.1f; +// updated = true; +// } else if (nowPressed & WPAD_TWO) { +// pos_mod += 5.0f; +// rot_mod += 0x1000; +// scale_mod += 0.1f; +// updated = true; +// } + +// if (!updated) return true; + +// if (current_param == 0) { +// pos.x += pos_mod; +// sprintf(buf, "X position: %f", pos.x); +// } else if (current_param == 1) { +// pos.y += pos_mod; +// sprintf(buf, "Y position: %f", pos.y); +// } else if (current_param == 2) { +// pos.z += pos_mod; +// sprintf(buf, "Z position: %f", pos.z); +// } else if (current_param == 3) { +// rot.x += rot_mod; +// sprintf(buf, "X rotation: 0x%04x", rot.x); +// } else if (current_param == 4) { +// rot.y += rot_mod; +// sprintf(buf, "Y rotation: 0x%04x", rot.y); +// } else if (current_param == 5) { +// rot.z += rot_mod; +// sprintf(buf, "Z rotation: 0x%04x", rot.z); +// } else if (current_param == 6) { +// scale.x += scale_mod; +// sprintf(buf, "X scale: %f", scale.x); +// } else if (current_param == 7) { +// scale.y += scale_mod; +// sprintf(buf, "Y scale: %f", scale.y); +// } else if (current_param == 8) { +// scale.z += scale_mod; +// sprintf(buf, "Z scale: %f", scale.z); +// } + +// dScNewerWorldMap_c::instance->SetTitle(buf); +// #endif return true; } |