diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -3192,15 +3192,16 @@ void ModifyStationRatingAround(TileIndex static uint UpdateStationWaiting(Station *st, CargoID type, uint amount, SourceType source_type, SourceID source_id) { - amount += st->goods[type].amount_fract; - st->goods[type].amount_fract = GB(amount, 0, 8); + GoodsEntry &ge = st->goods[type]; + amount += ge.amount_fract; + ge.amount_fract = GB(amount, 0, 8); amount >>= 8; /* No new "real" cargo item yet. */ if (amount == 0) return 0; - st->goods[type].cargo.Append(new CargoPacket(st->index, st->xy, amount, source_type, source_id)); - SetBit(st->goods[type].acceptance_pickup, GoodsEntry::PICKUP); + ge.cargo.Append(new CargoPacket(st->index, st->xy, amount, source_type, source_id)); + SetBit(ge.acceptance_pickup, GoodsEntry::PICKUP); TriggerStationAnimation(st, st->xy, SAT_NEW_CARGO, type); AirportAnimationTrigger(st, AAT_STATION_NEW_CARGO, type);