From a215ab462a0f14fa4042e26be9b48c0a45f37257 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Tue, 15 Sep 2020 19:12:54 +0200 Subject: [PATCH] rug::mouse_control_rug flag --- control.cpp | 9 +++++++-- rug.cpp | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/control.cpp b/control.cpp index 3148d174..c8884450 100644 --- a/control.cpp +++ b/control.cpp @@ -623,6 +623,11 @@ int lastframe; EX int sc_ticks; +EX bool mouseaiming(bool shmupon) { + return + (GDIM == 3 && !shmupon) || (rug::rugged && (lctrlclick ^ rug::mouse_control_rug)); + } + EX void mainloopiter() { DEBB(DF_GRAPH, ("main loop\n")); @@ -659,7 +664,7 @@ EX void mainloopiter() { mousepan = cmode & sm::NORMAL; if((cmode & (sm::DRAW | sm::MAP)) && !hiliteclick) mousepan = true; - mousepan = mousepan && (GDIM == 3 || (rug::rugged && lctrlclick)) && mouseaim_sensitivity; + mousepan = mousepan && mouseaiming(false) && mouseaim_sensitivity; if(mousepan != oldmousepan) { oldmousepan = mousepan; #if CAP_MOUSEGRAB @@ -748,7 +753,7 @@ EX void mainloopiter() { SDL_Event ev; DEBB(DF_GRAPH, ("polling for events\n")); - if((GDIM == 3 && !shmup::on) || (lctrlclick && rug::rugged)) { + if(mouseaiming(shmup::on)) { #if CAP_MOUSEGRAB rug::using_rugview urv; dynamicval ds(didsomething, didsomething); diff --git a/rug.cpp b/rug.cpp index b3de7800..ed52fc2f 100644 --- a/rug.cpp +++ b/rug.cpp @@ -19,6 +19,8 @@ EX bool rug_failure = false; EX namespace rug { +EX bool mouse_control_rug = false; + EX transmatrix rugView; EX ld lwidth = 2;