(svn r17439) -Fix (r17436): you weren't paid for cargo delivered to houses and headquarters anymore

This commit is contained in:
smatz
2009-09-07 07:39:08 +00:00
parent ef42e87e31
commit 5d622fd840
12 changed files with 46 additions and 20 deletions

View File

@@ -78,10 +78,11 @@ typedef CommandCost ClearTileProc(TileIndex tile, DoCommandFlag flags);
/**
* Tile callback function signature for obtaining cargo acceptance of a tile
* @param tile Tile queried for its accepted cargo
* @param acceptance Storage destination of the cargo acceptance in 1/8
* @param tile Tile queried for its accepted cargo
* @param acceptance Storage destination of the cargo acceptance in 1/8
* @param town_acc Bitmask of town and headquarters-accepted cargo
*/
typedef void AddAcceptedCargoProc(TileIndex tile, CargoArray &acceptance);
typedef void AddAcceptedCargoProc(TileIndex tile, CargoArray &acceptance, uint32 *town_acc);
/**
* Tile callback function signature for obtaining a tile description
@@ -164,11 +165,12 @@ VehicleEnterTileStatus VehicleEnterTile(Vehicle *v, TileIndex tile, int x, int y
void ChangeTileOwner(TileIndex tile, Owner old_owner, Owner new_owner);
void GetTileDesc(TileIndex tile, TileDesc *td);
static inline void AddAcceptedCargo(TileIndex tile, CargoArray &acceptance)
static inline void AddAcceptedCargo(TileIndex tile, CargoArray &acceptance, uint32 *town_acc)
{
AddAcceptedCargoProc *proc = _tile_type_procs[GetTileType(tile)]->add_accepted_cargo_proc;
if (proc == NULL) return;
proc(tile, acceptance);
uint32 dummy = 0; // use dummy bitmask so there don't need to be several 'town_acc != NULL' checks
proc(tile, acceptance, town_acc == NULL ? &dummy : town_acc);
}
static inline void AddProducedCargo(TileIndex tile, CargoArray &produced)