src/newgrf_industries.h
author richk
Tue, 17 Jun 2008 13:22:13 +0000
branchNewGRF_ports
changeset 10994 cd9968b6f96b
parent 10724 68a692eacf22
permissions -rw-r--r--
(svn r13548) [NewGRF_ports] -Sync: with trunk r13412:13544.
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
     1
/* $Id$ */
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
     2
10724
68a692eacf22 (svn r13274) [NewGRF_ports] -Sync: with trunk r12806:13144.
richk
parents: 6877
diff changeset
     3
/** @file newgrf_industries.h Functions for NewGRF industries. */
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
     4
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
     5
#ifndef NEWGRF_INDUSTRIES_H
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
     6
#define NEWGRF_INDUSTRIES_H
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
     7
6872
1c4a4a609f85 (svn r11950) [NewGRF_ports] -Sync with trunk r11566:11949.
rubidium
parents: 6870
diff changeset
     8
#include "industry_type.h"
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
     9
#include "newgrf_spritegroup.h"
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    10
6870
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    11
/** When should the industry(tile) be triggered for random bits? */
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    12
enum IndustryTrigger {
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    13
	/** Triggered each tile loop */
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    14
	INDUSTRY_TRIGGER_TILELOOP_PROCESS = 1,
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    15
	/** Triggered (whole industry) each 256 ticks */
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    16
	INDUSTRY_TRIGGER_256_TICKS        = 2,
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    17
	/** Triggered on cargo delivery */
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    18
	INDUSTRY_TRIGGER_CARGO_DELIVERY   = 4,
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    19
};
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    20
6872
1c4a4a609f85 (svn r11950) [NewGRF_ports] -Sync with trunk r11566:11949.
rubidium
parents: 6870
diff changeset
    21
/** From where is callback CBID_INDUSTRY_AVAILABLE been called */
1c4a4a609f85 (svn r11950) [NewGRF_ports] -Sync with trunk r11566:11949.
rubidium
parents: 6870
diff changeset
    22
enum IndustryAvailabilityCallType {
1c4a4a609f85 (svn r11950) [NewGRF_ports] -Sync with trunk r11566:11949.
rubidium
parents: 6870
diff changeset
    23
	IACT_MAPGENERATION,   ///< during random map generation
1c4a4a609f85 (svn r11950) [NewGRF_ports] -Sync with trunk r11566:11949.
rubidium
parents: 6870
diff changeset
    24
	IACT_RANDOMCREATION,  ///< during creation of random ingame industry
1c4a4a609f85 (svn r11950) [NewGRF_ports] -Sync with trunk r11566:11949.
rubidium
parents: 6870
diff changeset
    25
	IACT_USERCREATION,    ///< from the Fund/build window
1c4a4a609f85 (svn r11950) [NewGRF_ports] -Sync with trunk r11566:11949.
rubidium
parents: 6870
diff changeset
    26
};
1c4a4a609f85 (svn r11950) [NewGRF_ports] -Sync with trunk r11566:11949.
rubidium
parents: 6870
diff changeset
    27
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    28
/* in newgrf_industry.cpp */
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    29
uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte parameter, bool *available);
6743
cabfaa4a0295 (svn r10766) [NewGRF_ports] -Sync: with trunk r10651-10765
richk
parents: 6725
diff changeset
    30
uint16 GetIndustryCallback(CallbackID callback, uint32 param1, uint32 param2, Industry *industry, IndustryType type, TileIndex tile);
6870
ca3fd1fbe311 (svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents: 6743
diff changeset
    31
uint32 GetIndustryIDAtOffset(TileIndex new_tile, const Industry *i);
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    32
void IndustryProductionCallback(Industry *ind, int reason);
6877
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents: 6872
diff changeset
    33
bool CheckIfCallBackAllowsCreation(TileIndex tile, IndustryType type, uint itspec_index, uint32 seed);
6725
23339968083f (svn r10595) [NewGRF_ports] -Sync: with trunk r10559-10593
richk
parents: 6720
diff changeset
    34
bool CheckIfCallBackAllowsAvailability(IndustryType type, IndustryAvailabilityCallType creation_type);
6720
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    35
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    36
IndustryType MapNewGRFIndustryType(IndustryType grf_type, uint32 grf_id);
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    37
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    38
/* in newgrf_industrytiles.cpp*/
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    39
uint32 GetNearbyIndustryTileInformation(byte parameter, TileIndex tile, IndustryID index);
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    40
35756db7e577 (svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
diff changeset
    41
#endif /* NEWGRF_INDUSTRIES_H */