Skip to content

Commit

Permalink
Merge pull request #381 from jlmjlm/tabsd
Browse files Browse the repository at this point in the history
Select the keyboard push-subdirection with Tab.
  • Loading branch information
zenorogue authored Oct 11, 2024
2 parents c3306cd + 261ebad commit 74dcd03
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 7 deletions.
5 changes: 5 additions & 0 deletions control.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ EX void movepckeydir(int d) {
if(protect_memory()) return;

movedir md = vectodir(move_destination_vec(d));
md.subdir = keybd_subdir ? 1 : -1;

if(!canmove) movepcto(md), remission(); else movepcto(md);
}
Expand Down Expand Up @@ -618,6 +619,10 @@ EX void handleKeyNormal(int sym, int uni) {
else restart_game();
}

if(sym == SDLK_TAB) {
keybd_subdir = !keybd_subdir;
}

if(sym == SDLK_ESCAPE) {
if(bow::fire_mode)
bow::switch_fire_mode();
Expand Down
7 changes: 4 additions & 3 deletions graph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3597,8 +3597,9 @@ EX transmatrix applyDowndir(cell *c, const cellfunction& cf) {
return ddspin180(c, patterns::downdir(c, cf));
}

void draw_movement_arrows(cell *c, const transmatrix& V, int df) {
EX bool keybd_subdir;

void draw_movement_arrows(cell *c, const transmatrix& V, int df) {
if(viewdists) return;

string keylist = "";
Expand Down Expand Up @@ -3628,8 +3629,8 @@ void draw_movement_arrows(cell *c, const transmatrix& V, int df) {

if((c->type & 1) && (isStunnable(c->monst) || isPushable(c->wall))) {
transmatrix Centered = rgpushxto0(unshift(tC0(cwtV)));
int sd = md.subdir;
int sd = keybd_subdir ? 1 : -1;

transmatrix T = iso_inverse(Centered) * rgpushxto0(Centered * tC0(V)) * lrspintox(Centered*tC0(V)) * spin(-sd * M_PI/S7) * xpush(0.2);

if(vid.axes >= 5)
Expand Down
4 changes: 2 additions & 2 deletions help.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ string pushtext(stringpar p) {
"\n\nNote: when pushing %the1 off a heptagonal cell, you can control the pushing direction "
"by clicking left or right half of the heptagon.", p);
#if !ISMOBILE
s += XLAT(" With the keyboard, you can rotate the view for a similar effect (Page Up/Down).");
s += XLAT(" With the keyboard, you can press Tab to invert the way the pushing direction leans.");
#endif
return s;
}
Expand Down Expand Up @@ -678,7 +678,7 @@ EX string generateHelpForMonster(eMonster m) {
}

s += XLAT(minf[m].help);
if(m == moPalace || m == moSkeleton)
if(isStunnable(m))
s += pushtext(m);
if(m == moTroll) s += XLAT(trollhelp2);

Expand Down
5 changes: 3 additions & 2 deletions pcmove.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,8 @@ EX bool movepcto(int d, int subdir IS(1), bool checkonly IS(false)) {
checked_move_issue.type = miVALID;
pcmove pcm;
pcm.checkonly = checkonly;
pcm.d = d; pcm.subdir = subdir;
pcm.d = d;
pcm.subdir = subdir;
auto b = pcm.movepcto();
global_pushto = pcm.mip.t;
return b;
Expand Down Expand Up @@ -1855,4 +1856,4 @@ EX void movecost(cell* from, cell *to, int phase) {
}
}

}
}

0 comments on commit 74dcd03

Please sign in to comment.