From f94bb344d5b7e0562269273a8b90a435e0d3cb33 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Tue, 17 Oct 2017 20:59:27 +0200 Subject: [PATCH] click the wind icon to go; clicking the Inventory and Wind icons work in Android --- fake-mobile.cpp | 2 ++ hud.cpp | 4 ++++ init.cpp | 20 ++++++++++++++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/fake-mobile.cpp b/fake-mobile.cpp index dc0588e7..8840caf8 100644 --- a/fake-mobile.cpp +++ b/fake-mobile.cpp @@ -110,7 +110,9 @@ int main(int argc, char **argv) { int mx = 0; int my = 0; bool _clicked = false; + inv::on = true; firstland = laMinefield; + activateSafety(laWhirlwind); items[itGreenStone] = 100; items[itDiamond] = 50; diff --git a/hud.cpp b/hud.cpp index 1cdc7354..8ae2889a 100644 --- a/hud.cpp +++ b/hud.cpp @@ -260,6 +260,10 @@ void displayglyph2(int cx, int cy, int buttonsize, int i) { mouseovers += XLAT(" (click to drop)"); getcstat = 'g'; } + if(it == itStrongWind) { + mouseovers += XLAT(" (click to use)"); + getcstat = 't'; + } if(it == itInventory) { mouseovers += XLAT(" (click to use)"); getcstat = 'i'; diff --git a/init.cpp b/init.cpp index b94c3842..41e05f81 100644 --- a/init.cpp +++ b/init.cpp @@ -520,13 +520,29 @@ void handleclick(MOBPAR_FORMAL) { } if(buttonclicked || mouseout()) { + + bool statkeys = andmode == 0 && !shmup::on && size(screens) == 1; - if(andmode == 0 && getcstat == 'g' && !shmup::on && size(screens) == 1) { + if(statkeys && getcstat == 'g') { movepcto(MD_DROP); getcstat = 0; } - else if(getcstat != SDLK_F1) { + else if(statkeys && getcstat == 'i') { + if(inv::on) pushScreen(inv::show); + getcstat = 0; + } + + else if(statkeys && getcstat == 't') { + if(playermoved && items[itStrongWind]) { + cell *c = whirlwind::jumpDestination(cwt.c); + if(c) centerover = c; + } + targetRangedOrb(centerover, roKeyboard); + getcstat = 0; + } + + else if(getcstat != SDLK_F1 && getcstat != 'i' && getcstat != 't') { int px = mousex < vid.xcenter ? 0 : 1; int py = mousey < vid.ycenter ? 0 : 1;