diff options
-rw-r--r-- | src/industry_cmd.cpp | 5 | ||||
-rw-r--r-- | src/newgrf_callbacks.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index b6a45382d..4fd566b17 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1459,6 +1459,11 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind i->last_month_production[1] = i->production_rate[1] * 8; i->founder = _current_player; + if (HASBIT(indspec->callback_flags, CBM_IND_DECIDE_COLOUR)) { + uint16 res = GetIndustryCallback(CBID_INDUSTRY_DECIDE_COLOUR, 0, 0, i, type, INVALID_TILE); + if (res != CALLBACK_FAILED) i->random_color = GB(res, 0, 4); + } + if (HASBIT(indspec->callback_flags, CBM_IND_INPUT_CARGO_TYPES)) { for (j = 0; j < lengthof(i->accepts_cargo); j++) i->accepts_cargo[j] = CT_INVALID; for (j = 0; j < lengthof(i->accepts_cargo); j++) { diff --git a/src/newgrf_callbacks.h b/src/newgrf_callbacks.h index 16f5169d0..0d5de6feb 100644 --- a/src/newgrf_callbacks.h +++ b/src/newgrf_callbacks.h @@ -193,7 +193,7 @@ enum CallbackID { CBID_STATION_LAND_SLOPE_CHECK = 0x149, // not implemented /** Called to determine the color of an industry. */ - CBID_INDUSTRY_DECIDE_COLOUR = 0x14A, // not implemented + CBID_INDUSTRY_DECIDE_COLOUR = 0x14A, /** Customize the input cargo types of a newly build industry. */ CBID_INDUSTRY_INPUT_CARGO_TYPES = 0x14B, |