simulate items on splitters and fix bugs where buildings could not pull from splitters

This commit is contained in:
2026-04-23 21:54:59 +02:00
parent 78f746d352
commit ea30d2ab7b
3 changed files with 323 additions and 58 deletions

View File

@@ -108,10 +108,13 @@ private:
{
Rotation outputA;
Rotation outputB;
std::vector<ItemType> filterA; // empty = accept all
std::vector<ItemType> filterA; // empty = accept all
std::vector<ItemType> filterB;
bool nextOutputIsA; // alternation state
std::optional<Item> heldItem; // item buffered waiting to exit
bool nextOutputIsA; // alternation state
std::optional<BeltItemSlot> back; // progress [0, 0.5]; entering from input belt
Rotation backDir; // direction of the feeding belt (for animation)
std::optional<BeltItemSlot> frontA; // progress [0, 1]; routed to outputA
std::optional<BeltItemSlot> frontB; // progress [0, 1]; routed to outputB
};
double m_progressPerTick; // beltSpeedTilesPerSecond / kTickRateHz