Changed: Add free-view mouse tablet mode option

--HG--
branch : develop
This commit is contained in:
Nimetu 2016-11-26 14:55:38 +02:00
parent 040f7c0fae
commit cf338681fa
5 changed files with 17 additions and 1 deletions

View file

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

View file

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

View file

@ -354,6 +354,7 @@ CClientConfig::CClientConfig()
FreeLookAcceleration = 0; // Default FreeLookAcceleration 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 FreeLookSmoothingPeriod = 0.f; // when in absolute mode, free look factor is used instead of speed, the mouse gives the absolute angle
FreeLookInverted = false; FreeLookInverted = false;
FreeLookTablet = false; // Mouse reports absolute coordinates, so avoid mouse recentering
AutomaticCamera = true; AutomaticCamera = true;
DblClickMode = true; // when in dbl click mode, a double click is needed to execute default contextual action 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 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_INT_FV(FreeLookAcceleration)
READ_FLOAT_FV(FreeLookSmoothingPeriod) READ_FLOAT_FV(FreeLookSmoothingPeriod)
READ_BOOL_FV(FreeLookInverted) READ_BOOL_FV(FreeLookInverted)
READ_BOOL_FV(FreeLookTablet)
READ_BOOL_FV(AutomaticCamera) READ_BOOL_FV(AutomaticCamera)
READ_BOOL_FV(DblClickMode) READ_BOOL_FV(DblClickMode)
READ_BOOL_FV(AutoEquipTool) READ_BOOL_FV(AutoEquipTool)

View file

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

View file

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