(svn r10981) -Fix [FS#1156] (r10970): stations gave ratings for accepted cargo too.

This commit is contained in:
rubidium
2007-08-26 13:55:36 +00:00
parent 36c5b4e1ef
commit a0d37ea7b9
6 changed files with 38 additions and 26 deletions

View File

@@ -429,7 +429,7 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by
uint32 value = 0;
for (cargo_type = 0; cargo_type < NUM_CARGO; cargo_type++) {
if (st->goods[cargo_type].acceptance) SETBIT(value, cargo_type);
if (HASBIT(st->goods[cargo_type].acceptance_pickup, GoodsEntry::PICKUP)) SETBIT(value, cargo_type);
}
return value;
}
@@ -467,7 +467,7 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by
case 0x62: return ge->rating;
case 0x63: return ge->cargo.DaysInTransit();
case 0x64: return ge->last_speed | (ge->last_age << 8);
case 0x65: return ge->acceptance << 3;
case 0x65: return GB(ge->acceptance_pickup, GoodsEntry::ACCEPTANCE, 1) << 3;
}
}
@@ -476,7 +476,7 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by
const GoodsEntry *g = &st->goods[GB(variable - 0x8C, 3, 4)];
switch (GB(variable - 0x8C, 0, 3)) {
case 0: return g->cargo.Count();
case 1: return GB(min(g->cargo.Count(), 4095), 0, 4) | (g->acceptance << 7);
case 1: return GB(min(g->cargo.Count(), 4095), 0, 4) | (GB(g->acceptance_pickup, GoodsEntry::ACCEPTANCE, 1) << 7);
case 2: return g->days_since_pickup;
case 3: return g->rating;
case 4: return g->cargo.Source();