1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2026-05-31 09:52:11 +00:00

3d:: mouse aiming

This commit is contained in:
?
2019-02-26 02:35:30 +01:00
committed by Zeno Rogue
parent 3cf1236a0a
commit 71f02d5dc2
4 changed files with 53 additions and 2 deletions
+19 -2
View File
@@ -764,12 +764,23 @@ void handleInput(int delta) {
if(actionspressed[58] && !lactionpressed[58])
pushScreen(showMainMenu);
panx *= d;
pany *= d;
panspin *= d;
panmove *= d;
if(lctrlclick) {
panx += mouseaim_x / 2;
pany += mouseaim_y / 2;
mouseaim_x = mouseaim_y = 0;
}
if(panx || pany || panspin || (DIM == 3 && panmove)) {
if(DIM == 2)
View = xpush(-panx * d) * ypush(-pany * d) * spin(panspin * d) * View;
View = xpush(-panx) * ypush(-pany) * spin(panspin) * View;
else
View = cspin(0, 2, panx/10) * cspin(0, 1, pany/10) * spin(panspin * d) * cpush(2, panmove/10) * View;
View = cspin(0, 2, panx*2) * cspin(0, 1, pany*2) * spin(panspin) * cpush(2, panmove*2) * View;
playermoved = false;
}
#endif
@@ -1710,6 +1721,12 @@ void movePlayer(monster *m, int delta) {
playerstrafe[cpid] = mturn * SCALE * delta / 600;
playerturn[cpid] = mdx * SCALE * delta / 200;
playerturny[cpid] = mdy * SCALE * delta / 200;
if(!lctrlclick) {
playerturn[cpid] += mouseaim_x;
playerturny[cpid] += mouseaim_y;
mouseaim_x = mouseaim_y = 0;
}
}
if(playergo[cpid] && markOrb(itOrbDash)) playergo[cpid] *= 1.5;