OpenTTD/src/table/roadtypes.h

182 lines
4.1 KiB
C

/*
* This file is part of OpenTTD.
* 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.
* 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.
* 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/>.
*/
/**
* @file roadtypes.h
* All the roadtype-specific information is stored here.
*/
#ifndef ROADTYPES_H
#define ROADTYPES_H
/**
* Global Roadtype definition
*/
static const RoadTypeInfo _original_roadtypes[] = {
/* Road */
{
/* GUI sprites */
{
SPR_IMG_ROAD_X_DIR,
SPR_IMG_ROAD_Y_DIR,
SPR_IMG_AUTOROAD,
SPR_IMG_ROAD_DEPOT,
SPR_IMG_ROAD_TUNNEL,
SPR_IMG_CONVERT_ROAD,
},
{
SPR_CURSOR_ROAD_NESW,
SPR_CURSOR_ROAD_NWSE,
SPR_CURSOR_AUTOROAD,
SPR_CURSOR_ROAD_DEPOT,
SPR_CURSOR_ROAD_TUNNEL,
SPR_CURSOR_CONVERT_ROAD,
},
/* strings */
{
STR_ROAD_NAME_ROAD,
STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION,
STR_ROAD_MENU_ROAD_CONSTRUCTION,
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION,
STR_REPLACE_ROAD_VEHICLES,
STR_ENGINE_PREVIEW_ROAD_VEHICLE,
STR_ERROR_CAN_T_BUILD_ROAD_HERE,
STR_ERROR_CAN_T_REMOVE_ROAD_FROM,
STR_ERROR_CAN_T_BUILD_ROAD_DEPOT,
{ STR_ERROR_CAN_T_BUILD_BUS_STATION, STR_ERROR_CAN_T_BUILD_TRUCK_STATION },
{ STR_ERROR_CAN_T_REMOVE_BUS_STATION, STR_ERROR_CAN_T_REMOVE_TRUCK_STATION },
STR_ERROR_CAN_T_CONVERT_ROAD,
{ STR_STATION_BUILD_BUS_ORIENTATION, STR_STATION_BUILD_TRUCK_ORIENTATION },
{ STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP, STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP },
},
/* Powered roadtypes */
ROADTYPES_ROAD,
/* flags */
ROTFB_TOWN_BUILD,
/* cost multiplier */
8,
/* maintenance cost multiplier */
16,
/* max speed */
0,
/* road type label */
ROADTYPE_LABEL_ROAD,
/* alternate labels */
RoadTypeLabelList(),
/* map colour */
0x01,
/* introduction date */
CalendarTime::MIN_DATE,
/* roadtypes required for this to be introduced */
ROADTYPES_NONE,
/* introduction road types */
ROADTYPES_ROAD,
/* sort order */
0x07,
{ nullptr },
{ nullptr },
},
/* Electrified Tram */
{
/* GUI sprites */
{
SPR_IMG_TRAMWAY_X_DIR,
SPR_IMG_TRAMWAY_Y_DIR,
SPR_IMG_AUTOTRAM,
SPR_IMG_ROAD_DEPOT,
SPR_IMG_ROAD_TUNNEL,
SPR_IMG_CONVERT_TRAM,
},
{
SPR_CURSOR_TRAMWAY_NESW,
SPR_CURSOR_TRAMWAY_NWSE,
SPR_CURSOR_AUTOTRAM,
SPR_CURSOR_ROAD_DEPOT,
SPR_CURSOR_ROAD_TUNNEL,
SPR_CURSOR_CONVERT_TRAM,
},
/* strings */
{
STR_ROAD_NAME_TRAM,
STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION,
STR_ROAD_MENU_TRAM_CONSTRUCTION,
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION,
STR_REPLACE_TRAM_VEHICLES,
STR_ENGINE_PREVIEW_TRAM_VEHICLE,
STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE,
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM,
STR_ERROR_CAN_T_BUILD_TRAM_DEPOT,
{ STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION, STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION },
{ STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION, STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION },
STR_ERROR_CAN_T_CONVERT_TRAMWAY,
{ STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION, STR_STATION_BUILD_CARGO_TRAM_ORIENTATION },
{ STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP, STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP },
},
/* Powered roadtypes */
ROADTYPES_TRAM,
/* flags */
ROTFB_CATENARY | ROTFB_NO_HOUSES,
/* cost multiplier */
16,
/* maintenance cost multiplier */
24,
/* max speed */
0,
/* road type label */
ROADTYPE_LABEL_TRAM,
/* alternate labels */
RoadTypeLabelList(),
/* map colour */
0x01,
/* introduction date */
CalendarTime::INVALID_DATE,
/* roadtypes required for this to be introduced */
ROADTYPES_NONE,
/* introduction road types */
ROADTYPES_TRAM,
/* sort order */
0x17,
{ nullptr },
{ nullptr },
},
};
#endif /* ROADTYPES_H */