aboutsummaryrefslogtreecommitdiff
path: root/saga/input.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2004-05-01 23:46:23 +0000
committerEugene Sandulenko2004-05-01 23:46:23 +0000
commit0765b272aef169411df8fc1a17d4a5f28f76bf8a (patch)
tree5c4858506bfe3ce2d76282b3496e4d8162ab5240 /saga/input.cpp
parent66876dc1d12802b6d2339df2a31d010e55f3d700 (diff)
downloadscummvm-rg350-0765b272aef169411df8fc1a17d4a5f28f76bf8a.tar.gz
scummvm-rg350-0765b272aef169411df8fc1a17d4a5f28f76bf8a.tar.bz2
scummvm-rg350-0765b272aef169411df8fc1a17d4a5f28f76bf8a.zip
Renamed files for consistency
svn-id: r13725
Diffstat (limited to 'saga/input.cpp')
-rw-r--r--saga/input.cpp159
1 files changed, 159 insertions, 0 deletions
diff --git a/saga/input.cpp b/saga/input.cpp
new file mode 100644
index 0000000000..b6f4f97f46
--- /dev/null
+++ b/saga/input.cpp
@@ -0,0 +1,159 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2004 The ScummVM project
+ *
+ * The ReInherit Engine is (C)2000-2003 by Daniel Balsom.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ *
+ */
+#include "saga.h"
+#include "reinherit.h"
+
+#include "actor_mod.h"
+#include "console_mod.h"
+#include "interface_mod.h"
+#include "render_mod.h"
+#include "scene_mod.h"
+#include "script_mod.h"
+
+namespace Saga {
+
+static int _mouse_x, _mouse_y;
+
+int SYSINPUT_Init() {
+ return R_SUCCESS;
+}
+
+int SYSINPUT_ProcessInput() {
+ OSystem::Event event;
+
+ R_POINT imouse_pt;
+
+ while (g_system->poll_event(&event)) {
+ int in_char;
+
+ switch (event.event_code) {
+ case OSystem::EVENT_KEYDOWN:
+ if (CON_IsActive()) {
+ in_char = event.kbd.ascii;
+ switch (event.kbd.keycode) {
+ case 96: // backquote
+ CON_Deactivate();
+ break;
+ case 280: // page up
+ CON_PageUp();
+ break;
+ case 281: // page down
+ CON_PageDown();
+ break;
+ case 273: // up
+ case 264: // keypad up
+ CON_CmdUp();
+ break;
+ case 274: // down
+ case 258: // keypad down
+ CON_CmdDown();
+ break;
+ default:
+ if (in_char) {
+ CON_Type(in_char);
+ }
+ break;
+ }
+ break;
+ }
+
+ switch (event.kbd.keycode) {
+ case 96: // back quote
+ CON_Activate();
+ break;
+ case 114: // r
+ INTERFACE_Draw();
+ break;
+ case 282: // F1
+ RENDER_ToggleFlag(RF_SHOW_FPS);
+ break;
+ case 283: // F2
+ RENDER_ToggleFlag(RF_PALETTE_TEST);
+ break;
+ case 284: // F3
+ RENDER_ToggleFlag(RF_TEXT_TEST);
+ break;
+ case 285: // F4
+ RENDER_ToggleFlag(RF_OBJECTMAP_TEST);
+ break;
+ case 9: // Tab
+ STHREAD_DebugStep();
+ break;
+
+ // Actual game keys
+ case 32: // space
+ ACTOR_SkipDialogue();
+ break;
+ case 19: // pause
+ case 112: // p
+ RENDER_ToggleFlag(RF_RENDERPAUSE);
+ break;
+ case 27: // Esc
+ // Skip to next scene skip target
+ SCENE_Skip();
+ break;
+ default:
+ break;
+ }
+ break;
+ case OSystem::EVENT_LBUTTONDOWN:
+ INTERFACE_Update(&imouse_pt, UPDATE_MOUSECLICK);
+ break;
+ case OSystem::EVENT_MOUSEMOVE:
+ _mouse_x = event.mouse.x;
+ _mouse_y = event.mouse.y;
+ imouse_pt.x = _mouse_x;
+ imouse_pt.y = _mouse_y;
+ break;
+ case OSystem::EVENT_QUIT:
+ g_system->quit();
+ break;
+ default:
+ break;
+ }
+ }
+
+ return R_SUCCESS;
+}
+
+int SYSINPUT_GetMousePos(int *mouse_x, int *mouse_y) {
+ *mouse_x = _mouse_x;
+ *mouse_y = _mouse_y;
+
+ return R_SUCCESS;
+}
+
+int SYSINPUT_HideMouse() {
+ g_system->showMouse(false);
+
+ return R_SUCCESS;
+}
+
+int SYSINPUT_ShowMouse() {
+ g_system->showMouse(true);
+
+ return R_SUCCESS;
+}
+
+} // End of namespace Saga
+