1 // (_||_/ 2 // ( ) Structure des Preferences 3 // ( o 0 ) 4 //-OOO�--(_)---�OOO--------------------------------------- 5 // Copyright (C) 2006 By Dominique Roux-Serret 6 // .OOOo oOOO. roux-serret@ifrance.com 7 //-( )------( )--------------------------------------- 8 // ( ( ) / Le 14/01/2006 9 // (_) (_/ 10 11 // This program is free software; you can redistribute it and/or modify 12 // it under the terms of the GNU General Public License as published by 13 // the Free Software Foundation; either version 2 or version 3 of the License. 14 15 // This program is distributed in the hope that it will be useful, 16 // but WITHOUT ANY WARRANTY; without even the implied warranty of 17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 // GNU General Public License for more details. 19 20 // You should have received a copy of the GNU General Public License along 21 // with this program; if not, write to the Free Software Foundation, Inc., 22 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 23 24 #ifndef _PREFERENCE_DOM_ 25 #define _PREFERENCE_DOM_ 26 27 /*** D�fintitions ***/ 28 #define VITESSE_MAX 180.0 29 #define VITESSE_MOY 120.0 30 #define VITESSE_MIN 80.0 31 #define DUREE_VITESSE (10*1000) 32 33 #define DUREE_PAUSE (3*1000) 34 35 #define DUREE_REDUIT (10*1000) 36 #define DUREE_ALONGE (10*1000) 37 #define ECARTWAGON_MAX 27.0 38 #define ECARTWAGON_MOY 13.0 39 #define ECARTWAGON_MIN 4.0 40 41 #define N_VIES_DEP 3 42 43 #define RAYON_TOUCHE (32*32) 44 45 #define LT 17 46 #define HT 15 47 #define MAX_N_LEVEL_IN_MEMORY 256 48 49 #define D_Gauche 0 50 #define D_Droite 1 51 #define D_Haut 2 52 #define D_Bas 3 53 54 #define D_Case 40 55 #define D_CaseR 31.416 56 57 /*** Pieces Posibles sur le Tableau ***/ 58 #define C_None 0 59 #define C_Rail 1 60 #define C_Wagon 2 61 #define C_Allonge 3 62 #define C_Reduit 4 63 #define C_Speed 5 64 #define C_Live 6 65 #define C_Fin 7 66 67 /*** Difficult�es possible ***/ 68 enum e_Difficulte { 69 Easy, 70 Normal, 71 Hard 72 }; 73 74 /*** M�morise un score ***/ 75 #define LSCOREMAX 460 76 77 struct sScore { 78 int Score; 79 char Name[80]; 80 }; 81 82 /*** Structure des preferences G�n�rales ***/ 83 struct sPreference { 84 e_Difficulte Difficulte; // Difficult� de la partie (Vitesse) 85 int Niveau; // Niveau du joueur 86 int NVie; // Nombre de vie du joueur 87 int Score; // Score du joueur 88 double Vitesse; // Vitesse suivant le niveau 89 double VitesseMoy; // Vitesse en cours de la loco 90 float EcartWagon; // ecart en pixels entre 2 wagons 91 int NiveauMax; 92 int FullScreen; 93 int Langue; // Langue � afficher 94 int NLangues; // Nombre de langues disponible 95 float Volume; // Volumes audio 96 float VolumeM; // Volume de la music 97 struct sScore Sco[8]; // M�morise les scores 98 }; 99 100 /*** Valeur retourn�es pour le menu princiaple ***/ 101 enum eMenu { 102 mMenu, 103 mMenuJeux, 104 mMenuSpeed, 105 mMenuNiveau, 106 mLangue, 107 mJeux, 108 mScore, 109 mScoreEdit, 110 mOption, 111 mQuit, 112 mEdit, 113 }; 114 115 #endif 116