Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 #ifndef NEWGRF_GENERIC_H
00013 #define NEWGRF_GENERIC_H
00014
00015 #include "cargo_type.h"
00016 #include "industry_type.h"
00017 #include "newgrf.h"
00018 #include "tile_type.h"
00019
00020 struct SpriteGroup;
00021
00023 enum AIConstructionEvent {
00024 AICE_TRAIN_CHECK_RAIL_ENGINE = 0x00,
00025 AICE_TRAIN_CHECK_ELRAIL_ENGINE = 0x01,
00026 AICE_TRAIN_CHECK_MONORAIL_ENGINE = 0x02,
00027 AICE_TRAIN_CHECK_MAGLEV_ENGINE = 0x03,
00028 AICE_TRAIN_GET_RAIL_WAGON = 0x08,
00029 AICE_TRAIN_GET_ELRAIL_WAGON = 0x09,
00030 AICE_TRAIN_GET_MONORAIL_WAGON = 0x0A,
00031 AICE_TRAIN_GET_MAGLEV_WAGON = 0x0B,
00032 AICE_TRAIN_GET_RAILTYPE = 0x0F,
00033
00034 AICE_ROAD_CHECK_ENGINE = 0x00,
00035 AICE_ROAD_GET_FIRST_ENGINE = 0x01,
00036 AICE_ROAD_GET_NUMBER_ENGINES = 0x02,
00037
00038 AICE_SHIP_CHECK_ENGINE = 0x00,
00039 AICE_SHIP_GET_FIRST_ENGINE = 0x01,
00040 AICE_SHIP_GET_NUMBER_ENGINES = 0x02,
00041
00042 AICE_AIRCRAFT_CHECK_ENGINE = 0x00,
00043
00044 AICE_STATION_GET_STATION_ID = 0x00,
00045 };
00046
00047 static const IndustryType IT_AI_UNKNOWN = 0xFE;
00048 static const IndustryType IT_AI_TOWN = 0xFF;
00049
00050 void ResetGenericCallbacks();
00051 void AddGenericCallback(uint8 feature, const GRFFile *file, const SpriteGroup *group);
00052
00053 uint16 GetAiPurchaseCallbackResult(uint8 feature, CargoID cargo_type, uint8 default_selection, IndustryType src_industry, IndustryType dst_industry, uint8 distance, AIConstructionEvent event, uint8 count, uint8 station_size, const GRFFile **file);
00054 void AmbientSoundEffectCallback(TileIndex tile);
00055
00056 #endif