diff --git a/config.cpp b/config.cpp index 829c9b81..d83a8978 100644 --- a/config.cpp +++ b/config.cpp @@ -160,6 +160,7 @@ void initConfig() { addsaver(vid.mobilecompasssize, "mobile compass size", 0); // ISMOBILE || ISPANDORA ? 30 : 0); addsaver(vid.radarsize, "radarsize size", 120); addsaver(vid.axes, "movement help", 1); + addsaver(vid.axes3, "movement help3", false); addsaver(vid.shifttarget, "shift-targetting", 2); addsaver(vid.steamscore, "scores to Steam", 1); initcs(vid.cs); addsaver(vid.cs, "single"); @@ -1853,6 +1854,10 @@ void configureMouse() { dialog::addBoolItem_action(XLAT("draw circle around the target"), (vid.drawmousecircle), 'd'); + if(GDIM == 3) { + dialog::addBoolItem_action(XLAT("highlight the cell forward"), vid.axes3, 'f'); + } + #if ISMOBILE dialog::addBoolItem(XLAT("targetting ranged Orbs long-click only"), (vid.shifttarget&2), 'i'); #else diff --git a/graph.cpp b/graph.cpp index 33052177..d43c02e4 100644 --- a/graph.cpp +++ b/graph.cpp @@ -6860,7 +6860,7 @@ void drawMarkers() { } } - if(GDIM == 3 && !inHighQual && !shmup::on && vid.axes && playermoved) { + if(GDIM == 3 && !inHighQual && !shmup::on && vid.axes3 && playermoved) { cell *c = forwardcell(); IG(c) queuecircleat(c, .8, getcs().uicolor); } diff --git a/hyper.h b/hyper.h index 80930465..c4993585 100644 --- a/hyper.h +++ b/hyper.h @@ -248,6 +248,7 @@ struct videopar { int flashtime; int wallmode, monmode, axes; + bool axes3; bool revcontrol; int msgleft, msglimit; diff --git a/shmup.cpp b/shmup.cpp index 25d58384..732acbd4 100644 --- a/shmup.cpp +++ b/shmup.cpp @@ -395,9 +395,12 @@ struct shmup_configurer { if(players > 4) dialog::addItem(XLAT("configure player 5"), '5'); else if(!shmup::on && !multi::alwaysuse) { - const char *axmodes[5] = {"OFF", "auto", "light", "heavy", "arrows"}; - dialog::addSelItem(XLAT("help for keyboard users"), XLAT(axmodes[vid.axes]), 'h'); - dialog::add_action([] {vid.axes += 60 + (shiftmul > 0 ? 1 : -1); vid.axes %= 5; } ); + if(GDIM == 2) { + const char *axmodes[5] = {"OFF", "auto", "light", "heavy", "arrows"}; + dialog::addSelItem(XLAT("help for keyboard users"), XLAT(axmodes[vid.axes]), 'h'); + dialog::add_action([] {vid.axes += 60 + (shiftmul > 0 ? 1 : -1); vid.axes %= 5; } ); + } + else dialog::addBreak(100); } else if(alwaysuse) dialog::addInfo(XLAT("multiplayer and shmup mode; some features"));