FPS Limiting for the main menu display code
[tennix.git] / input.c
blobae9e867031ea5ae9f4fbc49b3b308244832f7430
2 /**
4 * Tennix! SDL Port
5 * Copyright (C) 2003, 2007, 2008 Thomas Perl <thp@perli.net>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20 * MA 02110-1301, USA.
22 **/
24 #include "tennix.h"
25 #include "input.h"
27 static char joystick_help[100];
29 void wait_keypress() {
30 SDL_Event e;
31 unsigned char done = 0;
33 SDL_Delay( 100);
35 /* clean up all events */
36 while( SDL_PollEvent( &e));
38 while( !done) {
39 if( SDL_PollEvent( &e)) {
40 done = (e.type == SDL_KEYUP || e.type == SDL_MOUSEBUTTONUP);
41 } else {
42 SDL_Delay( 50);
47 void init_joystick()
49 SDL_JoystickEventState(SDL_ENABLE);
52 void uninit_joystick()
54 SDL_JoystickEventState(SDL_IGNORE);
57 void joystick_list()
59 int i, n;
61 n = SDL_NumJoysticks();
63 for (i=0; i<n; i++) {
64 printf("Joystick %d: %s (use with: --joystick \"%s\")\n", i+1, SDL_JoystickName(i), SDL_JoystickName(i));
68 int joystick_open(const char* name)
70 int i, n;
72 n = SDL_NumJoysticks();
74 for (i=0; i<n; i++) {
75 if (strcmp(SDL_JoystickName(i), name) == 0) {
76 SDL_JoystickOpen(i);
77 sprintf(joystick_help, "joystick enabled: %s", name);
78 return 1;
81 return 0;
84 char* get_joystick_help()
86 if (strcmp(joystick_help, "") == 0) {
87 return "no joystick (enable with --joystick)";
89 else {
90 return joystick_help;