# HG changeset patch # User belugas # Date 2007-06-28 02:14:40 # Node ID 73f11fdf011b48c7e2a2e689e79df7895e94afc6 # Parent fa1c6dce99687d6008cb2f5b30e067cebd41adb1 (svn r10369) -Codechange: Add the IndustryType parameter to the GetIndustryCallback function. Sometimes, the industry might not be able to provide its type, since it does not exists at all diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -248,7 +248,7 @@ static void NewIndustryResolver(Resolver res->reseed = 0; } -uint16 GetIndustryCallback(uint16 callback, uint32 param1, uint32 param2, Industry *industry, TileIndex tile) +uint16 GetIndustryCallback(uint16 callback, uint32 param1, uint32 param2, Industry *industry, IndustryType type, TileIndex tile) { ResolverObject object; const SpriteGroup *group; @@ -258,7 +258,7 @@ uint16 GetIndustryCallback(uint16 callba object.callback_param1 = param1; object.callback_param2 = param2; - group = Resolve(GetIndustrySpec(industry->type)->grf_prop.spritegroup, &object); + group = Resolve(GetIndustrySpec(type)->grf_prop.spritegroup, &object); if (group == NULL || group->type != SGT_CALLBACK) return CALLBACK_FAILED; return group->g.callback.result; diff --git a/src/newgrf_industries.h b/src/newgrf_industries.h --- a/src/newgrf_industries.h +++ b/src/newgrf_industries.h @@ -10,7 +10,7 @@ /* in newgrf_industry.cpp */ uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte parameter, bool *available); -uint16 GetIndustryCallback(uint16 callback, uint32 param1, uint32 param2, Industry *industry, TileIndex tile); +uint16 GetIndustryCallback(uint16 callback, uint32 param1, uint32 param2, Industry *industry, IndustryType type, TileIndex tile); uint32 GetIndustryIDAtOffset(TileIndex new_tile, TileIndex old_tile, const Industry *i); /* in newgrf_industrytiles.cpp*/