OpenTTD Source  1.11.2
newgrf_generic.h
Go to the documentation of this file.
1 /*
2  * This file is part of OpenTTD.
3  * 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.
4  * 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.
5  * 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/>.
6  */
7 
10 #ifndef NEWGRF_GENERIC_H
11 #define NEWGRF_GENERIC_H
12 
13 #include "industry_type.h"
14 #include "newgrf.h"
15 #include "tile_type.h"
16 
17 struct SpriteGroup;
18 
30 
34 
38 
40 
42 };
43 
44 static const IndustryType IT_AI_UNKNOWN = 0xFE;
45 static const IndustryType IT_AI_TOWN = 0xFF;
46 
48 void AddGenericCallback(uint8 feature, const GRFFile *file, const SpriteGroup *group);
49 
50 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);
51 
53 static inline void AmbientSoundEffect(TileIndex tile)
54 {
55  /* Only run callback if enabled. */
56  if (!HasGrfMiscBit(GMB_AMBIENT_SOUND_CALLBACK)) return;
57 
58  extern void AmbientSoundEffectCallback(TileIndex tile);
60 }
61 
62 #endif /* NEWGRF_GENERIC_H */
TileIndex
uint32 TileIndex
The index/ID of a Tile.
Definition: tile_type.h:83
AmbientSoundEffect
static void AmbientSoundEffect(TileIndex tile)
Play an ambient sound effect for an empty tile.
Definition: newgrf_generic.h:53
IT_AI_UNKNOWN
static const IndustryType IT_AI_UNKNOWN
The AI has no specific industry in mind.
Definition: newgrf_generic.h:44
AICE_TRAIN_GET_RAIL_WAGON
@ AICE_TRAIN_GET_RAIL_WAGON
Check if we should build an engine.
Definition: newgrf_generic.h:25
AICE_SHIP_CHECK_ENGINE
@ AICE_SHIP_CHECK_ENGINE
Check if we should build an engine.
Definition: newgrf_generic.h:35
AddGenericCallback
void AddGenericCallback(uint8 feature, const GRFFile *file, const SpriteGroup *group)
Add a generic feature callback sprite group to the appropriate feature list.
Definition: newgrf_generic.cpp:111
AICE_STATION_GET_STATION_ID
@ AICE_STATION_GET_STATION_ID
Get a station ID to build.
Definition: newgrf_generic.h:41
GetAiPurchaseCallbackResult
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)
'Execute' an AI purchase selection callback
Definition: newgrf_generic.cpp:217
AICE_SHIP_GET_FIRST_ENGINE
@ AICE_SHIP_GET_FIRST_ENGINE
Unused, we check all.
Definition: newgrf_generic.h:36
HasGrfMiscBit
static bool HasGrfMiscBit(GrfMiscBit bit)
Check for grf miscellaneous bits.
Definition: newgrf.h:186
AICE_TRAIN_GET_MAGLEV_WAGON
@ AICE_TRAIN_GET_MAGLEV_WAGON
Check if we should build an engine.
Definition: newgrf_generic.h:28
AIConstructionEvent
AIConstructionEvent
AI events for asking the NewGRF for information.
Definition: newgrf_generic.h:20
AICE_TRAIN_CHECK_MONORAIL_ENGINE
@ AICE_TRAIN_CHECK_MONORAIL_ENGINE
Check if we should build an engine.
Definition: newgrf_generic.h:23
AICE_TRAIN_GET_MONORAIL_WAGON
@ AICE_TRAIN_GET_MONORAIL_WAGON
Check if we should build an engine.
Definition: newgrf_generic.h:27
AICE_TRAIN_CHECK_MAGLEV_ENGINE
@ AICE_TRAIN_CHECK_MAGLEV_ENGINE
Check if we should build an engine.
Definition: newgrf_generic.h:24
AICE_ROAD_CHECK_ENGINE
@ AICE_ROAD_CHECK_ENGINE
Check if we should build an engine.
Definition: newgrf_generic.h:31
industry_type.h
AICE_TRAIN_GET_RAILTYPE
@ AICE_TRAIN_GET_RAILTYPE
Check if we should build a railtype.
Definition: newgrf_generic.h:29
AICE_TRAIN_CHECK_ELRAIL_ENGINE
@ AICE_TRAIN_CHECK_ELRAIL_ENGINE
Check if we should build an engine.
Definition: newgrf_generic.h:22
AICE_TRAIN_GET_ELRAIL_WAGON
@ AICE_TRAIN_GET_ELRAIL_WAGON
Check if we should build an engine.
Definition: newgrf_generic.h:26
ResetGenericCallbacks
void ResetGenericCallbacks()
Reset all generic feature callback sprite groups.
Definition: newgrf_generic.cpp:97
AICE_TRAIN_CHECK_RAIL_ENGINE
@ AICE_TRAIN_CHECK_RAIL_ENGINE
Check if we should build an engine.
Definition: newgrf_generic.h:21
AmbientSoundEffectCallback
void AmbientSoundEffectCallback(TileIndex tile)
'Execute' the ambient sound effect callback.
Definition: newgrf_generic.cpp:253
tile_type.h
newgrf.h
IT_AI_TOWN
static const IndustryType IT_AI_TOWN
The AI actually wants to transport to/from a town, not an industry.
Definition: newgrf_generic.h:45
CargoID
byte CargoID
Cargo slots to indicate a cargo type within a game.
Definition: cargo_type.h:20
AICE_ROAD_GET_NUMBER_ENGINES
@ AICE_ROAD_GET_NUMBER_ENGINES
Unused, we check all.
Definition: newgrf_generic.h:33
AICE_SHIP_GET_NUMBER_ENGINES
@ AICE_SHIP_GET_NUMBER_ENGINES
Unused, we check all.
Definition: newgrf_generic.h:37
SpriteGroup
Definition: newgrf_spritegroup.h:57
AICE_AIRCRAFT_CHECK_ENGINE
@ AICE_AIRCRAFT_CHECK_ENGINE
Check if we should build an engine.
Definition: newgrf_generic.h:39
GRFFile
Dynamic data of a loaded NewGRF.
Definition: newgrf.h:105
AICE_ROAD_GET_FIRST_ENGINE
@ AICE_ROAD_GET_FIRST_ENGINE
Unused, we check all.
Definition: newgrf_generic.h:32