118
118
static uint32 IndustryTileGetRandomBits(const ResolverObject *object)
120
120
const TileIndex tile = object->u.industry.tile;
121
if (tile == INVALID_TILE || !IsTileType(tile, MP_INDUSTRY)) return 0;
122
return (object->scope == VSG_SCOPE_SELF) ? GetIndustryRandomBits(tile) : Industry::GetByTile(tile)->random;
121
const Industry *ind = object->u.industry.ind;
122
assert(ind != NULL && IsValidTile(tile));
123
assert(ind->index == INVALID_INDUSTRY || IsTileType(tile, MP_INDUSTRY));
125
return (object->scope == VSG_SCOPE_SELF) ?
126
(ind->index != INVALID_INDUSTRY ? GetIndustryRandomBits(tile) : 0) :
125
130
static uint32 IndustryTileGetTriggers(const ResolverObject *object)
127
132
const TileIndex tile = object->u.industry.tile;
128
if (tile == INVALID_TILE || !IsTileType(tile, MP_INDUSTRY)) return 0;
129
return (object->scope == VSG_SCOPE_SELF) ? GetIndustryTriggers(tile) : Industry::GetByTile(tile)->random_triggers;
133
const Industry *ind = object->u.industry.ind;
134
assert(ind != NULL && IsValidTile(tile));
135
assert(ind->index == INVALID_INDUSTRY || IsTileType(tile, MP_INDUSTRY));
136
if (ind->index == INVALID_INDUSTRY) return 0;
137
return (object->scope == VSG_SCOPE_SELF) ? GetIndustryTriggers(tile) : ind->random_triggers;
132
140
static void IndustryTileSetTriggers(const ResolverObject *object, int triggers)
134
142
const TileIndex tile = object->u.industry.tile;
135
if (tile == INVALID_TILE || !IsTileType(tile, MP_INDUSTRY)) return;
143
Industry *ind = object->u.industry.ind;
144
assert(ind != NULL && ind->index != INVALID_INDUSTRY && IsValidTile(tile) && IsTileType(tile, MP_INDUSTRY));
137
146
if (object->scope == VSG_SCOPE_SELF) {
138
147
SetIndustryTriggers(tile, triggers);
140
Industry::GetByTile(tile)->random_triggers = triggers;
149
ind->random_triggers = triggers;
194
203
ResolverObject object;
195
204
const SpriteGroup *group;
206
assert(industry != NULL && IsValidTile(tile));
207
assert(industry->index == INVALID_INDUSTRY || IsTileType(tile, MP_INDUSTRY));
197
209
NewIndustryTileResolver(&object, gfx_id, tile, industry);
198
210
object.callback = callback;
199
211
object.callback_param1 = param1;