42 std::string& stream, uint32_t& seed1, uint32_t& seed2,
short& luxury, uint32_t& offset)
45 typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
46 boost::char_separator<char> sep(
" ");
47 tokenizer tokens(buffer, sep);
48 int nToks(distance(tokens.begin(), tokens.end()));
49 bool status = (nToks == 3 || nToks == 5 || nToks == 7);
51 tokenizer::iterator token(tokens.begin());
57 auto [ptr1, ec1] = std::from_chars(token->data(), token->data() + token->size(), seed1);
59 auto [ptr2, ec2] = std::from_chars(token->data(), token->data() + token->size(), seed2);
61 if (ec1 != std::errc() || ec2 != std::errc()) {
69 std::string& stream, std::vector<uint32_t>& seeds)
72 typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
73 boost::char_separator<char> sep(
" ");
74 tokenizer tokens(buffer, sep);
75 int nToks(distance(tokens.begin(), tokens.end()));
76 bool status = (nToks == 31 || nToks == 33 || nToks == 771);
78 tokenizer::iterator token(tokens.begin());
81 if (nToks == 32) nToks=30;
82 for (
int i=0; i<nToks; i++) {
84 auto [ptr, ec] = std::from_chars(token->data(), token->data() + token->size(), value);
85 if (ec != std::errc()) {
89 seeds.push_back(value);
bool interpretSeeds(const std::string &buffer, std::string &stream, uint32_t &seed1, uint32_t &seed2, short &luxury, uint32_t &offset)