From d09a1be33a647aedc12ce5ddcb7ea4ee23a75c8c Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Wed, 30 Jul 2008 16:00:49 +0000 Subject: various minor issues: ESC closing chat, g_autolevel --- src/render/camera.cc | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'src/render/camera.cc') diff --git a/src/render/camera.cc b/src/render/camera.cc index 74eb674..283f40f 100644 --- a/src/render/camera.cc +++ b/src/render/camera.cc @@ -126,7 +126,7 @@ void Camera::set_mode(Mode newmode) { } -void Camera::next_mode() +void Camera::view_next() { if (!core::localcontrol()) { @@ -158,6 +158,37 @@ void Camera::next_mode() } } +void Camera::view_previous() +{ + + if (!core::localcontrol()) { + set_mode(Overview); + return; + } + + switch(camera_mode) { + case Cockpit: + // switch camera to Track mode + set_mode(Track); + core::application()->notify_message(std::string("view: track")); + break; + + case Free: + // switch camera to Cockpit mode + set_mode(Cockpit); + core::application()->notify_message(std::string("view: cockpit")); + break; + + case Track: + // switch camera to Free mode + set_mode(Free); + core::application()->notify_message(std::string("view: free")); + break; + + default: + break; + } +} void Camera::frame(float seconds) { math::Axis target_axis; -- cgit v1.2.3