Added camera movement speed modifier keys.

This was SVN commit r12455.
This commit is contained in:
Jonathan Waller 2012-08-17 18:33:41 +00:00
parent 592478eb67
commit 37964d048e
2 changed files with 50 additions and 0 deletions

View File

@ -105,6 +105,7 @@ sound.bufferSize = 65536
; Camera control settings ; Camera control settings
view.scroll.speed = 120.0 view.scroll.speed = 120.0
view.scroll.speed.modifier = 1.05 ; Multiplier for changing scroll speed
view.rotate.x.speed = 1.2 view.rotate.x.speed = 1.2
view.rotate.x.min = 28.0 view.rotate.x.min = 28.0
view.rotate.x.max = 60.0 view.rotate.x.max = 60.0
@ -112,12 +113,14 @@ view.rotate.x.default = 35.0
view.rotate.y.speed = 2.0 view.rotate.y.speed = 2.0
view.rotate.y.speed.wheel = 0.45 view.rotate.y.speed.wheel = 0.45
view.rotate.y.default = 0.0 view.rotate.y.default = 0.0
view.rotate.speed.modifier = 1.05 ; Multiplier for changing rotation speed
view.drag.speed = 0.5 view.drag.speed = 0.5
view.zoom.speed = 256.0 view.zoom.speed = 256.0
view.zoom.speed.wheel = 32.0 view.zoom.speed.wheel = 32.0
view.zoom.min = 50.0 view.zoom.min = 50.0
view.zoom.max = 200.0 view.zoom.max = 200.0
view.zoom.default = 120.0 view.zoom.default = 120.0
view.zoom.speed.modifier = 1.05 ; Multiplier for changing zoom speed
view.pos.smoothness = 0.1 view.pos.smoothness = 0.1
view.zoom.smoothness = 0.4 view.zoom.smoothness = 0.4
view.rotate.x.smoothness = 0.5 view.rotate.x.smoothness = 0.5
@ -164,6 +167,12 @@ hotkey.camera.left = A, LeftArrow ; Scroll or rotate lef
hotkey.camera.right = D, RightArrow ; Scroll or rotate right hotkey.camera.right = D, RightArrow ; Scroll or rotate right
hotkey.camera.up = W, UpArrow ; Scroll or rotate up/forwards hotkey.camera.up = W, UpArrow ; Scroll or rotate up/forwards
hotkey.camera.down = S, DownArrow ; Scroll or rotate down/backwards hotkey.camera.down = S, DownArrow ; Scroll or rotate down/backwards
hotkey.camera.scroll.speed.increase = "Ctrl+Shift+S" ; Increase scroll speed
hotkey.camera.scroll.speed.decrease = "Ctrl+Alt+S" ; Decrease scroll speed
hotkey.camera.rotate.speed.increase = "Ctrl+Shift+R" ; Increase rotation speed
hotkey.camera.rotate.speed.decrease = "Ctrl+Alt+R" ; Decrease rotation speed
hotkey.camera.zoom.speed.increase = "Ctrl+Shift+Z" ; Increase zoom speed
hotkey.camera.zoom.speed.decrease = "Ctrl+Alt+Z" ; Decrease zoom speed
; > CONSOLE SETTINGS ; > CONSOLE SETTINGS
hotkey.console.toggle = BackQuote, F9 ; Open/close console hotkey.console.toggle = BackQuote, F9 ; Open/close console

View File

@ -168,6 +168,7 @@ public:
// Dummy values (these will be filled in by the config file) // Dummy values (these will be filled in by the config file)
ViewScrollSpeed(0), ViewScrollSpeed(0),
ViewScrollSpeedModifier(1),
ViewRotateXSpeed(0), ViewRotateXSpeed(0),
ViewRotateXMin(0), ViewRotateXMin(0),
ViewRotateXMax(0), ViewRotateXMax(0),
@ -175,12 +176,14 @@ public:
ViewRotateYSpeed(0), ViewRotateYSpeed(0),
ViewRotateYSpeedWheel(0), ViewRotateYSpeedWheel(0),
ViewRotateYDefault(0), ViewRotateYDefault(0),
ViewRotateSpeedModifier(1),
ViewDragSpeed(0), ViewDragSpeed(0),
ViewZoomSpeed(0), ViewZoomSpeed(0),
ViewZoomSpeedWheel(0), ViewZoomSpeedWheel(0),
ViewZoomMin(0), ViewZoomMin(0),
ViewZoomMax(0), ViewZoomMax(0),
ViewZoomDefault(0), ViewZoomDefault(0),
ViewZoomSpeedModifier(1),
ViewFOV(DEGTORAD(45.f)), ViewFOV(DEGTORAD(45.f)),
ViewNear(2.f), ViewNear(2.f),
ViewFar(4096.f), ViewFar(4096.f),
@ -269,6 +272,7 @@ public:
//////////////////////////////////////// ////////////////////////////////////////
// Settings // Settings
float ViewScrollSpeed; float ViewScrollSpeed;
float ViewScrollSpeedModifier;
float ViewRotateXSpeed; float ViewRotateXSpeed;
float ViewRotateXMin; float ViewRotateXMin;
float ViewRotateXMax; float ViewRotateXMax;
@ -276,12 +280,14 @@ public:
float ViewRotateYSpeed; float ViewRotateYSpeed;
float ViewRotateYSpeedWheel; float ViewRotateYSpeedWheel;
float ViewRotateYDefault; float ViewRotateYDefault;
float ViewRotateSpeedModifier;
float ViewDragSpeed; float ViewDragSpeed;
float ViewZoomSpeed; float ViewZoomSpeed;
float ViewZoomSpeedWheel; float ViewZoomSpeedWheel;
float ViewZoomMin; float ViewZoomMin;
float ViewZoomMax; float ViewZoomMax;
float ViewZoomDefault; float ViewZoomDefault;
float ViewZoomSpeedModifier;
float ViewFOV; float ViewFOV;
float ViewNear; float ViewNear;
float ViewFar; float ViewFar;
@ -409,6 +415,7 @@ void CGameViewImpl::ScriptingInit()
int CGameView::Initialize() int CGameView::Initialize()
{ {
CFG_GET_SYS_VAL("view.scroll.speed", Float, m->ViewScrollSpeed); CFG_GET_SYS_VAL("view.scroll.speed", Float, m->ViewScrollSpeed);
CFG_GET_SYS_VAL("view.scroll.speed.modifier", Float, m->ViewScrollSpeedModifier);
CFG_GET_SYS_VAL("view.rotate.x.speed", Float, m->ViewRotateXSpeed); CFG_GET_SYS_VAL("view.rotate.x.speed", Float, m->ViewRotateXSpeed);
CFG_GET_SYS_VAL("view.rotate.x.min", Float, m->ViewRotateXMin); CFG_GET_SYS_VAL("view.rotate.x.min", Float, m->ViewRotateXMin);
CFG_GET_SYS_VAL("view.rotate.x.max", Float, m->ViewRotateXMax); CFG_GET_SYS_VAL("view.rotate.x.max", Float, m->ViewRotateXMax);
@ -416,12 +423,14 @@ int CGameView::Initialize()
CFG_GET_SYS_VAL("view.rotate.y.speed", Float, m->ViewRotateYSpeed); CFG_GET_SYS_VAL("view.rotate.y.speed", Float, m->ViewRotateYSpeed);
CFG_GET_SYS_VAL("view.rotate.y.speed.wheel", Float, m->ViewRotateYSpeedWheel); CFG_GET_SYS_VAL("view.rotate.y.speed.wheel", Float, m->ViewRotateYSpeedWheel);
CFG_GET_SYS_VAL("view.rotate.y.default", Float, m->ViewRotateYDefault); CFG_GET_SYS_VAL("view.rotate.y.default", Float, m->ViewRotateYDefault);
CFG_GET_SYS_VAL("view.rotate.speed.modifier", Float, m->ViewRotateSpeedModifier);
CFG_GET_SYS_VAL("view.drag.speed", Float, m->ViewDragSpeed); CFG_GET_SYS_VAL("view.drag.speed", Float, m->ViewDragSpeed);
CFG_GET_SYS_VAL("view.zoom.speed", Float, m->ViewZoomSpeed); CFG_GET_SYS_VAL("view.zoom.speed", Float, m->ViewZoomSpeed);
CFG_GET_SYS_VAL("view.zoom.speed.wheel", Float, m->ViewZoomSpeedWheel); CFG_GET_SYS_VAL("view.zoom.speed.wheel", Float, m->ViewZoomSpeedWheel);
CFG_GET_SYS_VAL("view.zoom.min", Float, m->ViewZoomMin); CFG_GET_SYS_VAL("view.zoom.min", Float, m->ViewZoomMin);
CFG_GET_SYS_VAL("view.zoom.max", Float, m->ViewZoomMax); CFG_GET_SYS_VAL("view.zoom.max", Float, m->ViewZoomMax);
CFG_GET_SYS_VAL("view.zoom.default", Float, m->ViewZoomDefault); CFG_GET_SYS_VAL("view.zoom.default", Float, m->ViewZoomDefault);
CFG_GET_SYS_VAL("view.zoom.speed.modifier", Float, m->ViewZoomSpeedModifier);
CFG_GET_SYS_VAL("joystick.camera.pan.x", Int, m->JoystickPanX); CFG_GET_SYS_VAL("joystick.camera.pan.x", Int, m->JoystickPanX);
CFG_GET_SYS_VAL("joystick.camera.pan.y", Int, m->JoystickPanY); CFG_GET_SYS_VAL("joystick.camera.pan.y", Int, m->JoystickPanY);
@ -1109,6 +1118,38 @@ InReaction CGameView::HandleEvent(const SDL_Event_* ev)
m->RotateY.AddSmoothly(-m->ViewRotateYSpeedWheel); m->RotateY.AddSmoothly(-m->ViewRotateYSpeedWheel);
return IN_HANDLED; return IN_HANDLED;
} }
else if (hotkey == "camera.scroll.speed.increase")
{
m->ViewScrollSpeed *= m->ViewScrollSpeedModifier;
return IN_HANDLED;
}
else if (hotkey == "camera.scroll.speed.decrease")
{
m->ViewScrollSpeed /= m->ViewScrollSpeedModifier;
return IN_HANDLED;
}
else if (hotkey == "camera.rotate.speed.increase")
{
m->ViewRotateXSpeed *= m->ViewRotateSpeedModifier;
m->ViewRotateYSpeed *= m->ViewRotateSpeedModifier;
return IN_HANDLED;
}
else if (hotkey == "camera.rotate.speed.decrease")
{
m->ViewRotateXSpeed /= m->ViewRotateSpeedModifier;
m->ViewRotateYSpeed /= m->ViewRotateSpeedModifier;
return IN_HANDLED;
}
else if (hotkey == "camera.zoom.speed.increase")
{
m->ViewZoomSpeed *= m->ViewZoomSpeedModifier;
return IN_HANDLED;
}
else if (hotkey == "camera.zoom.speed.decrease")
{
m->ViewZoomSpeed /= m->ViewZoomSpeedModifier;
return IN_HANDLED;
}
else if (hotkey == "camera.reset") else if (hotkey == "camera.reset")
{ {
ResetCameraAngleZoom(); ResetCameraAngleZoom();