diff options
author | David Walter Seikel | 2013-02-03 12:25:33 +1000 |
---|---|---|
committer | David Walter Seikel | 2013-02-03 12:25:33 +1000 |
commit | 3916e58394710eb99108debcdd27b82f56dfe09a (patch) | |
tree | d559a06c92b122191cda44cfd74abd871d04decc | |
parent | More GuiLua notes. (diff) | |
download | SledjHamr-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.c | 60 | ||||
-rw-r--r-- | ClientHamr/extantz/extantzCamera.cpp | 13 |
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 | |||
401 | static void _on_camera_input_up(void *data, Evas *evas, Evas_Object *obj, void *event_info) | 461 | static 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 | |||
88 | void extantzCamera::animateNode(ISceneNode* node, u32 timeMs) | 75 | void extantzCamera::animateNode(ISceneNode* node, u32 timeMs) |
89 | { | 76 | { |
90 | if (!node || node->getType() != ESNT_CAMERA) | 77 | if (!node || node->getType() != ESNT_CAMERA) |