src/newgrf_generic.h
author belugas
Tue, 04 Mar 2008 17:07:33 +0000
changeset 9168 a35d94d8501c
parent 9040 7d9d63315d91
child 10429 1b99254f9607
permissions -rw-r--r--
(svn r12337) -Change: update some documentation.
9040
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     1
/* $Id$ */
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     2
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     3
#ifndef NEWGRF_GENERIC_H
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     4
#define NEWGRF_GENERIC_H
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     5
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     6
enum AIConstructionEvent {
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     7
	AICE_TRAIN_CHECK_RAIL_ENGINE     = 0x00, ///< Check if we should build an engine
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     8
	AICE_TRAIN_CHECK_ELRAIL_ENGINE   = 0x01,
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     9
	AICE_TRAIN_CHECK_MONORAIL_ENGINE = 0x02,
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    10
	AICE_TRAIN_CHECK_MAGLEV_ENGINE   = 0x03,
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    11
	AICE_TRAIN_GET_RAIL_WAGON        = 0x08,
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    12
	AICE_TRAIN_GET_ELRAIL_WAGON      = 0x09,
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    13
	AICE_TRAIN_GET_MONORAIL_WAGON    = 0x0A,
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    14
	AICE_TRAIN_GET_MAGLEV_WAGON      = 0x0B,
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    15
	AICE_TRAIN_GET_RAILTYPE          = 0x0F,
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    16
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    17
	AICE_ROAD_CHECK_ENGINE           = 0x00, ///< Check if we should build an engine
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    18
	AICE_ROAD_GET_FIRST_ENGINE       = 0x01, ///< Unused, we check all
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    19
	AICE_ROAD_GET_NUMBER_ENGINES     = 0x02, ///< Unused, we check all
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    20
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    21
	AICE_SHIP_CHECK_ENGINE           = 0x00, ///< Check if we should build an engine
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    22
	AICE_SHIP_GET_FIRST_ENGINE       = 0x01, ///< Unused, we check all
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    23
	AICE_SHIP_GET_NUMBER_ENGINES     = 0x02, ///< Unused, we check all
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    24
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    25
	AICE_AIRCRAFT_CHECK_ENGINE       = 0x00, ///< Check if we should build an engine
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    26
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    27
	AICE_STATION_GET_STATION_ID      = 0x00, ///< Get a station ID to build
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    28
};
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    29
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    30
void ResetGenericCallbacks();
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    31
void AddGenericCallback(uint8 feature, const struct GRFFile *file, const struct SpriteGroup *group);
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    32
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    33
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 struct GRFFile **file);
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    34
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    35
#endif /* NEWGRF_GENERIC_H */