File diff r9749:254383608c8d → r9750:1e2535e15958
src/newgrf_generic.cpp
Show inline comments
 
@@ -110,13 +110,13 @@ static const SpriteGroup *GenericCallbac
 
	if (group->g.real.num_loaded == 0) return NULL;
 

	
 
	return group->g.real.loaded[0];
 
}
 

	
 

	
 
static inline void NewGenericResolver(ResolverObject *res)
 
static inline void NewGenericResolver(ResolverObject *res, const GRFFile *grffile)
 
{
 
	res->GetRandomBits = &GenericCallbackGetRandomBits;
 
	res->GetTriggers   = &GenericCallbackGetTriggers;
 
	res->SetTriggers   = &GenericCallbackSetTriggers;
 
	res->GetVariable   = &GenericCallbackGetVariable;
 
	res->ResolveReal   = &GenericCallbackResolveReal;
 
@@ -125,12 +125,13 @@ static inline void NewGenericResolver(Re
 
	res->callback_param1 = 0;
 
	res->callback_param2 = 0;
 
	res->last_value      = 0;
 
	res->trigger         = 0;
 
	res->reseed          = 0;
 
	res->count           = 0;
 
	res->grffile         = grffile;
 
}
 

	
 

	
 
/** Follow a generic feature callback list and return the first successful
 
 * answer
 
 * @param feature GRF Feature of callback
 
@@ -163,13 +164,13 @@ static uint16 GetGenericCallbackResult(u
 
 * 'Execute' an AI purchase selection callback
 
 */
 
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)
 
{
 
	ResolverObject object;
 

	
 
	NewGenericResolver(&object);
 
	NewGenericResolver(&object, *file);
 

	
 
	object.callback = CBID_GENERIC_AI_PURCHASE_SELECTION;
 
	object.u.generic.cargo_type        = cargo_type;
 
	object.u.generic.default_selection = default_selection;
 
	object.u.generic.src_industry      = src_industry;
 
	object.u.generic.dst_industry      = dst_industry;