aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Walter Seikel2013-02-03 12:25:33 +1000
committerDavid Walter Seikel2013-02-03 12:25:33 +1000
commit3916e58394710eb99108debcdd27b82f56dfe09a (patch)
treed559a06c92b122191cda44cfd74abd871d04decc
parentMore GuiLua notes. (diff)
downloadSledjHamr-3916e58394710eb99108debcdd27b82f56dfe09a.zip
SledjHamr-3916e58394710eb99108debcdd27b82f56dfe09a.tar.gz
SledjHamr-3916e58394710eb99108debcdd27b82f56dfe09a.tar.bz2
SledjHamr-3916e58394710eb99108debcdd27b82f56dfe09a.tar.xz
Notes on camera movement keys / mouse gestures.
-rw-r--r--ClientHamr/extantz/extantz.c60
-rw-r--r--ClientHamr/extantz/extantzCamera.cpp13
2 files changed, 60 insertions, 13 deletions
diff --git a/ClientHamr/extantz/extantz.c b/ClientHamr/extantz/extantz.c
index 4d723a3..0cf2ed7 100644
--- a/ClientHamr/extantz/extantz.c
+++ b/ClientHamr/extantz/extantz.c
@@ -398,6 +398,66 @@ static void _on_camera_input_down(void *data, Evas *evas, Evas_Object *obj, void
398 } 398 }
399} 399}
400 400
401/* SL / OS camera controls
402 up / down / w / s moves avatar forward / backward
403 shifted version does the same
404 double tap triggers run mode / or fast fly mode
405 Running backwards turns your avatar to suit, walking does not.
406 left / right / a / d rotates avatar left / right, strafes in mouselook
407 shifted version turns the avatar to walk sideways, so not really a strafe.
408 So not sure if the "strafe" in mouse look turns the avatar as well?
409 PgDn / c crouch while it is held down move up in flight mode
410 PgUp jump move down in flight mode
411 Home toggle flying
412 End Nothing?
413 Esc return to third person view
414 m toggle mouse look
415 mouse wheel move view closer / further away from current focused object or avatar
416 Alt left click focus on some other object
417 Ins ???
418 Del ???
419 BS ???
420 Tab ???
421
422 Mouse look is just first person view, moving mouse looks left / right / up / down.
423 Not sure if the avatar rotates with left / right, but that's likely.
424
425 mouse moves With the left mouse button held down -
426 left / right up / down
427 ---------------------------------
428 for avatar swings avatar around zoom in and out of avatar
429 for object nothing
430 alt orbit left / right zoom in and out
431 alt ctrl orbit left / right orbit up / down
432 alt shift orbit left / right zoom in and out
433 alt ctrl shift shift view left / right / up / down
434 ctrl Nothing?
435 shift Nothing?
436 ctrl shift Nothing?
437
438 Need to also consider when looking at a moving object / avatar.
439
440 I think there are other letter keys that duplicate arrow keys and such. I'll look for them later, but I don't use them.
441 No idea what the function keys are mapped to, but think it's various non camera stuff.
442 I'm damn well leaving the Win/Command and Menu keys for the OS / window manager. lol
443 Keypad keys? Not interested, I don't have them.
444 Print Screen / SysRq, Pause / Break, other oddball keys, also not interested.
445 NOTE - gonna have an easily programmable "bind key to command" thingy, like E17s, so that can deal with other keys.
446 Should even let them be saveable so people can swap them with other people easily.
447*/
448
449/* A moveRotate array of floats.
450 * X, Y, Z, and whatever the usual letters are for rotations. lol
451 * Each one means "move or rotate this much in this direction".
452 * Where 1.0 means "what ever the standard move is if that key is held down".
453 * So a keyboard move would just change it's part to 1.0 or -1.0 on key down,
454 * and back to 0.0 on key up. Or 2.0 / -2.0 if in run mode.
455 * Which would even work in fly mode.
456 * A joystick could be set to range over -2.0 to 2.0, and just set it's part directly.
457 * A mouse look rotate, well will come to that when we need to. B-)
458 * Setting the x or y to be the DIFFERENCE in window position of the mouse (-1.0 to 1.0) since the last frame.
459 */
460
401static void _on_camera_input_up(void *data, Evas *evas, Evas_Object *obj, void *event_info) 461static void _on_camera_input_up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
402{ 462{
403 GLData *gld = data; 463 GLData *gld = data;
diff --git a/ClientHamr/extantz/extantzCamera.cpp b/ClientHamr/extantz/extantzCamera.cpp
index 4d4be02..2256f36 100644
--- a/ClientHamr/extantz/extantzCamera.cpp
+++ b/ClientHamr/extantz/extantzCamera.cpp
@@ -72,19 +72,6 @@ extantzCamera::~extantzCamera()
72} 72}
73 73
74 74
75/* Have a moveRotate array of floats.
76 * X, Y, Z, and whatever the usual letters are for rotations. lol
77 * Each one means "move or rotate this much in this direction".
78 * Where 1.0 means "what ever the standard move is if that key is held down".
79 * So a keyboard move would just change it's part to 1.0 or -1.0 on key down,
80 * and back to 0.0 on key up. Or 2.0 / -2.0 if in run mode.
81 * Which would even work in fly mode.
82 * A joystick could be set to range over -2.0 to 2.0, and just set it's part directly.
83 * A mouse look rotate, well will come to that when we need to. B-)
84 * I think setting the x or y to be the window position of the mouse (-1.0 to 1.0) should do it.
85 * Or not. meh
86 */
87
88void extantzCamera::animateNode(ISceneNode* node, u32 timeMs) 75void extantzCamera::animateNode(ISceneNode* node, u32 timeMs)
89{ 76{
90 if (!node || node->getType() != ESNT_CAMERA) 77 if (!node || node->getType() != ESNT_CAMERA)