From 12c41a897b0194ab15af48d61fa430b8dda78a35 Mon Sep 17 00:00:00 2001 From: sorket Date: Wed, 19 Jul 2023 01:26:15 -0400 Subject: [PATCH] Extra camera control --- .../Engine/Source/App/V8/DataModel/Camera.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Projects/Engine/Source/App/V8/DataModel/Camera.cpp b/Projects/Engine/Source/App/V8/DataModel/Camera.cpp index 3505909..a782974 100644 --- a/Projects/Engine/Source/App/V8/DataModel/Camera.cpp +++ b/Projects/Engine/Source/App/V8/DataModel/Camera.cpp @@ -46,20 +46,31 @@ namespace RNR getCFrame().setRotation(rotation); if(!movement_disable) - { + { + IInputManager* input = world->getInputManager(); + float speed = 50; + + if(input->isKeyDown(0x01000020)) // Scan code for Shift + speed = speed / 2; + Ogre::Vector3 position = getCFrame().getPosition(); Ogre::Vector3 movement = Ogre::Vector3(0, 0, 0); - IInputManager* input = world->getInputManager(); if(input->isKeyDown('W')) movement.z = -speed; else if(input->isKeyDown('S')) movement.z = speed; + if(input->isKeyDown('A')) movement.x = -speed; else if(input->isKeyDown('D')) movement.x = speed; + + if(input->isKeyDown('E')) + movement.y = speed; + else if(input->isKeyDown('Q')) + movement.y = -speed; movement = rotation * movement; position += movement * world->getLastDelta();