railtypes.h

Go to the documentation of this file.
00001 /* $Id$ */
00002 
00003 /*
00004  * This file is part of OpenTTD.
00005  * OpenTTD 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, version 2.
00006  * OpenTTD 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.
00007  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
00008  */
00009 
00015 #ifndef RAILTYPES_H
00016 #define RAILTYPES_H
00017 
00021 static const RailtypeInfo _original_railtypes[] = {
00023   { // Main Sprites
00024     { SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_X, SPR_RAIL_SINGLE_Y,
00025       SPR_RAIL_SINGLE_NORTH, SPR_RAIL_SINGLE_SOUTH, SPR_RAIL_SINGLE_EAST, SPR_RAIL_SINGLE_WEST,
00026       SPR_TRACKS_FOR_SLOPES_RAIL_BASE,
00027       SPR_CROSSING_OFF_X_RAIL,
00028       SPR_TUNNEL_ENTRY_REAR_RAIL
00029     },
00030 
00031     /* GUI sprites */
00032     { 0x4E3, 0x4E4, 0x4E5, 0x4E6,
00033       SPR_IMG_AUTORAIL,
00034       SPR_IMG_DEPOT_RAIL,
00035       SPR_IMG_TUNNEL_RAIL,
00036       SPR_IMG_CONVERT_RAIL
00037     },
00038 
00039     {
00040       SPR_CURSOR_NS_TRACK,
00041       SPR_CURSOR_SWNE_TRACK,
00042       SPR_CURSOR_EW_TRACK,
00043       SPR_CURSOR_NWSE_TRACK,
00044       SPR_CURSOR_AUTORAIL,
00045       SPR_CURSOR_RAIL_DEPOT,
00046       SPR_CURSOR_TUNNEL_RAIL,
00047       SPR_CURSOR_CONVERT_RAIL
00048     },
00049 
00050     /* strings */
00051     {
00052       STR_RAIL_NAME_RAILROAD,
00053       STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION,
00054       STR_RAIL_MENU_RAILROAD_CONSTRUCTION,
00055       STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION,
00056       STR_REPLACE_RAIL_VEHICLES,
00057       STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE,
00058     },
00059 
00060     /* Offset of snow tiles */
00061     SPR_RAIL_SNOW_OFFSET,
00062 
00063     /* Powered railtypes */
00064     RAILTYPES_RAIL | RAILTYPES_ELECTRIC,
00065 
00066     /* Compatible railtypes */
00067     RAILTYPES_RAIL | RAILTYPES_ELECTRIC,
00068 
00069     /* bridge offset */
00070     0,
00071 
00072     /* fallback_railtype */
00073     0,
00074 
00075     /* curve speed advantage (multiplier) */
00076     0,
00077 
00078     /* flags */
00079     RTFB_NONE,
00080 
00081     /* cost multiplier */
00082     8,
00083 
00084     /* maintenance cost multiplier */
00085     8,
00086 
00087     /* acceleration type */
00088     0,
00089 
00090     /* max speed */
00091     0,
00092 
00093     /* rail type label */
00094     'RAIL',
00095 
00096     /* map colour */
00097     0x0A,
00098 
00099     /* introduction date */
00100     INVALID_DATE,
00101 
00102     /* railtypes required for this to be introduced */
00103     RAILTYPES_NONE,
00104 
00105     /* introduction rail types */
00106     RAILTYPES_RAIL,
00107 
00108     /* sort order */
00109     0 << 4 | 7,
00110 
00111     { NULL },
00112     { NULL },
00113   },
00114 
00116   { // Main Sprites
00117     { SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_X, SPR_RAIL_SINGLE_Y,
00118       SPR_RAIL_SINGLE_NORTH, SPR_RAIL_SINGLE_SOUTH, SPR_RAIL_SINGLE_EAST, SPR_RAIL_SINGLE_WEST,
00119       SPR_TRACKS_FOR_SLOPES_RAIL_BASE,
00120       SPR_CROSSING_OFF_X_RAIL,
00121       SPR_TUNNEL_ENTRY_REAR_RAIL
00122     },
00123 
00124     /* GUI sprites */
00125     {
00126       SPR_BUILD_NS_ELRAIL,
00127       SPR_BUILD_X_ELRAIL,
00128       SPR_BUILD_EW_ELRAIL,
00129       SPR_BUILD_Y_ELRAIL,
00130       SPR_IMG_AUTOELRAIL,
00131       SPR_IMG_DEPOT_ELRAIL,
00132       SPR_BUILD_TUNNEL_ELRAIL,
00133       SPR_IMG_CONVERT_ELRAIL
00134     },
00135 
00136     {
00137       SPR_CURSOR_NS_ELRAIL,
00138       SPR_CURSOR_SWNE_ELRAIL,
00139       SPR_CURSOR_EW_ELRAIL,
00140       SPR_CURSOR_NWSE_ELRAIL,
00141       SPR_CURSOR_AUTOELRAIL,
00142       SPR_CURSOR_ELRAIL_DEPOT,
00143       SPR_CURSOR_TUNNEL_ELRAIL,
00144       SPR_CURSOR_CONVERT_ELRAIL
00145     },
00146 
00147     /* strings */
00148     {
00149       STR_RAIL_NAME_ELRAIL,
00150       STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION,
00151       STR_RAIL_MENU_ELRAIL_CONSTRUCTION,
00152       STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION,
00153       STR_REPLACE_ELRAIL_VEHICLES,
00154       STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE,
00155     },
00156 
00157     /* Offset of snow tiles */
00158     SPR_RAIL_SNOW_OFFSET,
00159 
00160     /* Powered railtypes */
00161     RAILTYPES_ELECTRIC,
00162 
00163     /* Compatible railtypes */
00164     RAILTYPES_ELECTRIC | RAILTYPES_RAIL,
00165 
00166     /* bridge offset */
00167     0,
00168 
00169     /* fallback_railtype */
00170     0,
00171 
00172     /* curve speed advantage (multiplier) */
00173     0,
00174 
00175     /* flags */
00176     RTFB_CATENARY,
00177 
00178     /* cost multiplier */
00179     12,
00180 
00181     /* maintenance cost multiplier */
00182     12,
00183 
00184     /* acceleration type */
00185     0,
00186 
00187     /* max speed */
00188     0,
00189 
00190     /* rail type label */
00191     'ELRL',
00192 
00193     /* map colour */
00194     0x0A,
00195 
00196     /* introduction date */
00197     INVALID_DATE,
00198 
00199     /* railtypes required for this to be introduced */
00200     RAILTYPES_NONE,
00201 
00202     /* introduction rail types */
00203     RAILTYPES_ELECTRIC,
00204 
00205     /* sort order */
00206     1 << 4 | 7,
00207 
00208     { NULL },
00209     { NULL },
00210   },
00211 
00213   { // Main Sprites
00214     { SPR_MONO_TRACK_Y, SPR_MONO_TRACK_N_S, SPR_MONO_TRACK_BASE, SPR_MONO_SINGLE_X, SPR_MONO_SINGLE_Y,
00215       SPR_MONO_SINGLE_NORTH, SPR_MONO_SINGLE_SOUTH, SPR_MONO_SINGLE_EAST, SPR_MONO_SINGLE_WEST,
00216       SPR_TRACKS_FOR_SLOPES_MONO_BASE,
00217       SPR_CROSSING_OFF_X_MONO,
00218       SPR_TUNNEL_ENTRY_REAR_MONO
00219     },
00220 
00221     /* GUI sprites */
00222     { 0x4E7, 0x4E8, 0x4E9, 0x4EA,
00223       SPR_IMG_AUTOMONO,
00224       SPR_IMG_DEPOT_MONO,
00225       SPR_IMG_TUNNEL_MONO,
00226       SPR_IMG_CONVERT_MONO
00227     },
00228 
00229     {
00230       SPR_CURSOR_NS_MONO,
00231       SPR_CURSOR_SWNE_MONO,
00232       SPR_CURSOR_EW_MONO,
00233       SPR_CURSOR_NWSE_MONO,
00234       SPR_CURSOR_AUTOMONO,
00235       SPR_CURSOR_MONO_DEPOT,
00236       SPR_CURSOR_TUNNEL_MONO,
00237       SPR_CURSOR_CONVERT_MONO
00238     },
00239 
00240     /* strings */
00241     {
00242       STR_RAIL_NAME_MONORAIL,
00243       STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION,
00244       STR_RAIL_MENU_MONORAIL_CONSTRUCTION,
00245       STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION,
00246       STR_REPLACE_MONORAIL_VEHICLES,
00247       STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE,
00248     },
00249 
00250     /* Offset of snow tiles */
00251     SPR_MONO_SNOW_OFFSET,
00252 
00253     /* Powered railtypes */
00254     RAILTYPES_MONO,
00255 
00256     /* Compatible Railtypes */
00257     RAILTYPES_MONO,
00258 
00259     /* bridge offset */
00260     16,
00261 
00262     /* fallback_railtype */
00263     1,
00264 
00265     /* curve speed advantage (multiplier) */
00266     1,
00267 
00268     /* flags */
00269     RTFB_NONE,
00270 
00271     /* cost multiplier */
00272     16,
00273 
00274     /* maintenance cost multiplier */
00275     16,
00276 
00277     /* acceleration type */
00278     1,
00279 
00280     /* max speed */
00281     0,
00282 
00283     /* rail type label */
00284     'MONO',
00285 
00286     /* map colour */
00287     0x0A,
00288 
00289     /* introduction date */
00290     INVALID_DATE,
00291 
00292     /* railtypes required for this to be introduced */
00293     RAILTYPES_NONE,
00294 
00295     /* introduction rail types */
00296     RAILTYPES_MONO,
00297 
00298     /* sort order */
00299     2 << 4 | 7,
00300 
00301     { NULL },
00302     { NULL },
00303   },
00304 
00306   { // Main sprites
00307     { SPR_MGLV_TRACK_Y, SPR_MGLV_TRACK_N_S, SPR_MGLV_TRACK_BASE, SPR_MGLV_SINGLE_X, SPR_MGLV_SINGLE_Y,
00308       SPR_MGLV_SINGLE_NORTH, SPR_MGLV_SINGLE_SOUTH, SPR_MGLV_SINGLE_EAST, SPR_MGLV_SINGLE_WEST,
00309       SPR_TRACKS_FOR_SLOPES_MAGLEV_BASE,
00310       SPR_CROSSING_OFF_X_MAGLEV,
00311       SPR_TUNNEL_ENTRY_REAR_MAGLEV
00312     },
00313 
00314     /* GUI sprites */
00315     { 0x4EB, 0x4EC, 0x4EE, 0x4ED,
00316       SPR_IMG_AUTOMAGLEV,
00317       SPR_IMG_DEPOT_MAGLEV,
00318       SPR_IMG_TUNNEL_MAGLEV,
00319       SPR_IMG_CONVERT_MAGLEV
00320     },
00321 
00322     {
00323       SPR_CURSOR_NS_MAGLEV,
00324       SPR_CURSOR_SWNE_MAGLEV,
00325       SPR_CURSOR_EW_MAGLEV,
00326       SPR_CURSOR_NWSE_MAGLEV,
00327       SPR_CURSOR_AUTOMAGLEV,
00328       SPR_CURSOR_MAGLEV_DEPOT,
00329       SPR_CURSOR_TUNNEL_MAGLEV,
00330       SPR_CURSOR_CONVERT_MAGLEV
00331     },
00332 
00333     /* strings */
00334     {
00335       STR_RAIL_NAME_MAGLEV,
00336       STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION,
00337       STR_RAIL_MENU_MAGLEV_CONSTRUCTION,
00338       STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION,
00339       STR_REPLACE_MAGLEV_VEHICLES,
00340       STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE,
00341     },
00342 
00343     /* Offset of snow tiles */
00344     SPR_MGLV_SNOW_OFFSET,
00345 
00346     /* Powered railtypes */
00347     RAILTYPES_MAGLEV,
00348 
00349     /* Compatible Railtypes */
00350     RAILTYPES_MAGLEV,
00351 
00352     /* bridge offset */
00353     24,
00354 
00355     /* fallback_railtype */
00356     2,
00357 
00358     /* curve speed advantage (multiplier) */
00359     2,
00360 
00361     /* flags */
00362     RTFB_NONE,
00363 
00364     /* cost multiplier */
00365     24,
00366 
00367     /* maintenance cost multiplier */
00368     24,
00369 
00370     /* acceleration type */
00371     2,
00372 
00373     /* max speed */
00374     0,
00375 
00376     /* rail type label */
00377     'MGLV',
00378 
00379     /* map colour */
00380     0x0A,
00381 
00382     /* introduction date */
00383     INVALID_DATE,
00384 
00385     /* railtypes required for this to be introduced */
00386     RAILTYPES_NONE,
00387 
00388     /* introduction rail types */
00389     RAILTYPES_MAGLEV,
00390 
00391     /* sort order */
00392     3 << 4 | 7,
00393 
00394     { NULL },
00395     { NULL },
00396   },
00397 };
00398 
00399 #endif /* RAILTYPES_H */