]> git.localhorst.tv Git - l2e.git/blobdiff - src/menu/CapsuleChangeMenu.cpp
accept A button to return from capsule change
[l2e.git] / src / menu / CapsuleChangeMenu.cpp
index 912f81aa513b6fde2e19d0bc2fc638256b3e0802..386d22cf79c891834633dfd4f5d4c2a7a8b3b06b 100644 (file)
@@ -51,7 +51,8 @@ void CapsuleChangeMenu::OnResize(int width, int height) {
 
 
 void CapsuleChangeMenu::HandleEvents(const Input &input) {
-       if (input.JustPressed(Input::ACTION_B)) {
+       if (input.JustPressed(Input::ACTION_A)
+                       || input.JustPressed(Input::ACTION_B)) {
                Ctrl().PopState();
        }
 
@@ -70,6 +71,7 @@ void CapsuleChangeMenu::HandleEvents(const Input &input) {
 }
 
 void CapsuleChangeMenu::NextCapsule() {
+       int storedClass = parent->Game().state->GetCapsule().ClassIndex();
        int &index = parent->Game().state->capsule;
        ++index;
        index %= parent->Game().state->NumCapsules();
@@ -78,9 +80,11 @@ void CapsuleChangeMenu::NextCapsule() {
                ++index;
                index %= parent->Game().state->NumCapsules();
        }
+       parent->Game().state->GetCapsule().SetClass(storedClass);
 }
 
 void CapsuleChangeMenu::PreviousCapsule() {
+       int storedClass = parent->Game().state->GetCapsule().ClassIndex();
        int &index = parent->Game().state->capsule;
        --index;
        if (index < 0) index += parent->Game().state->NumCapsules();
@@ -89,6 +93,7 @@ void CapsuleChangeMenu::PreviousCapsule() {
                --index;
                if (index < 0) index += parent->Game().state->NumCapsules();
        }
+       parent->Game().state->GetCapsule().SetClass(storedClass);
 }
 
 void CapsuleChangeMenu::NextClass() {