src/newgrf_generic.h
author truebrain
Mon, 30 Jun 2008 21:31:23 +0000
branchnoai
changeset 11111 1b984dab8cec
parent 10455 22c441f5adf9
permissions -rw-r--r--
(svn r13669) [NoAI] -Fix: allow clients only to join non-AI controlled companies in multiplayer
9732
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
     1
/* $Id$ */
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
     2
10455
22c441f5adf9 (svn r12997) [NoAI] -Sync: with trunk r12895:12996.
rubidium
parents: 9732
diff changeset
     3
/** @file newgrf_generic.h Functions related to generic callbacks. */
22c441f5adf9 (svn r12997) [NoAI] -Sync: with trunk r12895:12996.
rubidium
parents: 9732
diff changeset
     4
9732
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
     5
#ifndef NEWGRF_GENERIC_H
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
     6
#define NEWGRF_GENERIC_H
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
     7
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
     8
enum AIConstructionEvent {
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
     9
	AICE_TRAIN_CHECK_RAIL_ENGINE     = 0x00, ///< Check if we should build an engine
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    10
	AICE_TRAIN_CHECK_ELRAIL_ENGINE   = 0x01,
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    11
	AICE_TRAIN_CHECK_MONORAIL_ENGINE = 0x02,
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    12
	AICE_TRAIN_CHECK_MAGLEV_ENGINE   = 0x03,
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    13
	AICE_TRAIN_GET_RAIL_WAGON        = 0x08,
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    14
	AICE_TRAIN_GET_ELRAIL_WAGON      = 0x09,
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    15
	AICE_TRAIN_GET_MONORAIL_WAGON    = 0x0A,
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    16
	AICE_TRAIN_GET_MAGLEV_WAGON      = 0x0B,
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    17
	AICE_TRAIN_GET_RAILTYPE          = 0x0F,
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    18
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    19
	AICE_ROAD_CHECK_ENGINE           = 0x00, ///< Check if we should build an engine
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    20
	AICE_ROAD_GET_FIRST_ENGINE       = 0x01, ///< Unused, we check all
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    21
	AICE_ROAD_GET_NUMBER_ENGINES     = 0x02, ///< Unused, we check all
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    22
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    23
	AICE_SHIP_CHECK_ENGINE           = 0x00, ///< Check if we should build an engine
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    24
	AICE_SHIP_GET_FIRST_ENGINE       = 0x01, ///< Unused, we check all
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    25
	AICE_SHIP_GET_NUMBER_ENGINES     = 0x02, ///< Unused, we check all
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    26
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    27
	AICE_AIRCRAFT_CHECK_ENGINE       = 0x00, ///< Check if we should build an engine
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    28
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    29
	AICE_STATION_GET_STATION_ID      = 0x00, ///< Get a station ID to build
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    30
};
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    31
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    32
void ResetGenericCallbacks();
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    33
void AddGenericCallback(uint8 feature, const struct GRFFile *file, const struct SpriteGroup *group);
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    34
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
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);
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    36
f8eb3e208514 (svn r12211) [NoAI] -Sync: with trunk r12050:12209
glx
parents:
diff changeset
    37
#endif /* NEWGRF_GENERIC_H */