Changed: Add free-view mouse tablet mode option

This commit is contained in:
Nimetu 2016-11-26 14:55:38 +02:00
parent 68755139e2
commit fba5689b41
5 changed files with 17 additions and 1 deletions

View file

@ -113,6 +113,7 @@ FreeLookAcceleration_min = 20;
FreeLookAcceleration_max = 80;
FreeLookInverted = 0;
FreeLookTablet = 0;
AutomaticCamera = 0;
DblClickMode = 1;
AutoEquipTool = 1;

View file

@ -2689,6 +2689,13 @@
posref="BL TL"
x="0"
y="-2" />
<instance template="tgcw_checkbox"
id="tablet"
text="uiMouseTablet"
posparent="dbl"
posref="BL TL"
x="0"
y="-2" />
<view style="sgc_title2"
type="text"
id="inter"
@ -3833,6 +3840,11 @@
widget="boolbut"
link="DblClickMode"
realtime="true" />
<param ui="mouse:tablet:c"
type="cfg"
widget="boolbut"
link="FreeLookTablet"
realtime="true" />
<param ui="mouse:dcspeed:c"
type="db"
widget="sbint"

View file

@ -354,6 +354,7 @@ CClientConfig::CClientConfig()
FreeLookAcceleration = 0; // Default FreeLookAcceleration
FreeLookSmoothingPeriod = 0.f; // when in absolute mode, free look factor is used instead of speed, the mouse gives the absolute angle
FreeLookInverted = false;
FreeLookTablet = false; // Mouse reports absolute coordinates, so avoid mouse recentering
AutomaticCamera = true;
DblClickMode = true; // when in dbl click mode, a double click is needed to execute default contextual action
AutoEquipTool = true; // when true player will auto-equip last used weapon or forage tool when doing an action
@ -859,6 +860,7 @@ void CClientConfig::setValues()
READ_INT_FV(FreeLookAcceleration)
READ_FLOAT_FV(FreeLookSmoothingPeriod)
READ_BOOL_FV(FreeLookInverted)
READ_BOOL_FV(FreeLookTablet)
READ_BOOL_FV(AutomaticCamera)
READ_BOOL_FV(DblClickMode)
READ_BOOL_FV(AutoEquipTool)

View file

@ -199,6 +199,7 @@ struct CClientConfig
uint FreeLookAcceleration;
float FreeLookSmoothingPeriod;
bool FreeLookInverted;
bool FreeLookTablet;
// true if camera is centered when user casts a spell
bool AutomaticCamera;
bool DblClickMode;

View file

@ -204,7 +204,7 @@ void CEventsListener::operator()(const CEvent& event)
// updateFreeLookPos is called in updateMouseSmoothing per frame
// Center cursor
if (outsideBounds && !s_MouseFreeLookWaitCenter)
if (outsideBounds && !s_MouseFreeLookWaitCenter && !ClientCfg.FreeLookTablet)
{
s_MouseFreeLookWaitCenter = true;
Driver->setMousePos(0.5f, 0.5f);