1 // $Id: defines.h 2695 2005-07-06 23:04:04Z wansti $ 2 // 3 // SuperTux 4 // Copyright (C) 2000 Bill Kendrick <bill@newbreedsoftware.com> 5 // Copyright (C) 2004 Tobias Glaesser <tobi.web@gmx.de> 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. 11 // 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. 16 // 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., 59 Temple Place - Suite 330, Boston, MA 20 // 02111-1307, USA. 21 22 #if !defined( SUPERTUX_DEFINES_H ) 23 24 #define SUPERTUX_DEFINES_H 25 /* Version: */ 26 27 #ifndef VERSION 28 #define VERSION "0.1.1" 29 #endif 30 31 /* Frames per second: */ 32 33 #define FPS (1000 / 25) 34 35 enum Direction { LEFT = 0, RIGHT = 1 }; 36 37 /* Direction (keyboard/joystick) states: */ 38 39 #define UP 0 40 #define DOWN 1 41 42 /* Dying types: */ 43 44 /* ---- NO 0 */ 45 enum DyingType { 46 DYING_NOT = 0, 47 DYING_SQUISHED = 1, 48 DYING_FALLING = 2 49 }; 50 51 /* Sizes: */ 52 53 #define SMALL 0 54 #define BIG 1 55 56 /* Speed constraints: */ 57 58 #define MAX_WALK_XM 2.3 59 #define MAX_RUN_XM 3.2 60 #define MAX_YM 20.0 61 #define MAX_JUMP_TIME 375 62 #define MAX_LIVES 99 63 64 #define WALK_SPEED 1.0 65 #define RUN_SPEED 1.5 66 #define JUMP_SPEED 1.2 67 68 /* gameplay related defines */ 69 70 #define START_LIVES 4 71 72 #define MAX_BULLETS 2 73 74 #define YM_FOR_JUMP 6.0 75 #define WALK_ACCELERATION_X 0.03 76 #define RUN_ACCELERATION_X 0.04 77 #define KILL_BOUNCE_YM 8.0 78 79 #define SKID_XM 2.0 80 #define SKID_TIME 200 81 82 /* Size constraints: */ 83 84 #define OFFSCREEN_DISTANCE 256 85 86 #define LEVEL_WIDTH 375 87 88 /* Timing constants (in ms): */ 89 90 #define KICKING_TIME 200 91 92 /* Scrolling text speed */ 93 94 #define SCROLL_SPEED_CREDITS 1.2 95 #define SCROLL_SPEED_MESSAGE 1.0 96 97 /* Debugging */ 98 99 #ifdef DEBUG 100 #define DEBUG_MSG( msg ) { \ 101 printf( msg ); printf("\n"); \ 102 } 103 #else 104 #define DEBUG_MSG( msg ) {} 105 #endif 106 107 #endif 108 109