src/newgrf_generic.h
author Tero Marttila <terom@fixme.fi>
Tue, 22 Jul 2008 21:51:14 +0300
changeset 11180 982e9f814f97
parent 10429 1b99254f9607
permissions -rw-r--r--
scan for tarfiles in CACHE_DIR, remember what Subdirectory a tar was found in, set the GCF_FLAG on GRFs loaded from there, and hide those in the NewGRF GUI
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
10429
1b99254f9607 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 9040
diff changeset
     3
/** @file newgrf_generic.h Functions related to generic callbacks. */
1b99254f9607 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents: 9040
diff changeset
     4
9040
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     5
#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
     6
#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
     7
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
     8
enum AIConstructionEvent {
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_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
    10
	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
    11
	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
    12
	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
    13
	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
    14
	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
    15
	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
    16
	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
    17
	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
    18
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    19
	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
    20
	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
    21
	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
    22
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    23
	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
    24
	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
    25
	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
    26
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    27
	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
    28
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    29
	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
    30
};
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    31
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    32
void ResetGenericCallbacks();
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    33
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
    34
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    35
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
    36
7d9d63315d91 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use.
peter1138
parents:
diff changeset
    37
#endif /* NEWGRF_GENERIC_H */