/** * Save guests to the save game. * @param svr Output stream to save to. */ void Guests::Save(Saver &svr) { svr.StartBlock("GSTS", 1); svr.PutWord(this->start_voxel.x); svr.PutWord(this->start_voxel.y); svr.PutWord(this->daily_frac); svr.PutWord(this->next_daily_index); svr.PutLong(this->free_idx); svr.PutLong(this->CountActiveGuests()); for (uint i = 0; i < GUEST_BLOCK_SIZE; i++) { Guest *g = this->block.Get(i); if (g->IsActive()) { svr.PutWord(g->id); g->Save(svr); } } svr.EndBlock(); }