|
From: Tapio V. <aa...@us...> - 2010-08-23 21:18:26
|
Module: performous
Branch: master
Commit: 48f88df7c2d81a10eba1de36e21e812ab93f0822
Author: Tapio Vierros <tap...@gm...>
Date: Tue Aug 24 00:06:35 2010 +0300
Change joinmenu navigation.
* Guitar strum for up/down
* Guitar green/red for left/right
* Drum yellow/blue for up/down
* Drum red/green+kick left/right
* Start for "right"
TODO: Lefty-mode handling
TODO: Update visual hints
---
game/guitargraph.cc | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index f4f1d17..8df4f45 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -301,15 +301,20 @@ void GuitarGraph::engine() {
if (menuOpen()) {
// Check first regular keys
if (ev.type == input::Event::PRESS && ev.button >= 0 && ev.button < m_pads) {
- if (m_drums && ev.button == 0) m_menu.action(); // Kick substitutes for strum
- else { // Hilight item
- int sel = m_drums ? ((ev.button + m_pads - 1) % m_pads) : ev.button;
- m_menu.select(sel);
+ if (m_drums) { // Drums
+ if (ev.button == 0) m_menu.action(); // Kick for action
+ else if (ev.button == 1) m_menu.action(-1); // Red for left
+ else if (ev.button == 2) m_menu.move(-1); // Yellow for up
+ else if (ev.button == 3) m_menu.move(1); // Blue for down
+ else if (ev.button == 4) m_menu.action(1); // Green for right
+ } else { // Guitar
+ if (ev.button == 0) m_menu.action(-1); // Green for left
+ else if (ev.button == 1) m_menu.action(1); // Red for right
}
}
// Strum (strum of keyboard-as-guitar doesn't generate nav-events)
- else if (ev.type == input::Event::PICK && ev.button == 0) m_menu.action(1);
- else if (ev.type == input::Event::PICK && ev.button == 1) m_menu.action(-1);
+ else if (ev.type == input::Event::PICK && ev.button == 0) m_menu.move(1);
+ else if (ev.type == input::Event::PICK && ev.button == 1) m_menu.move(-1);
else if (ev.nav == input::START) m_menu.action();
// See if anything changed
if (!m_drums && m_selectedTrack.so() != m_track_index->first) setTrack(m_selectedTrack.so());
|