in procgen/src/game.cpp [231:278]
void Game::deserialize(ReadBuffer *b) {
fassert(SERIALIZE_VERSION == b->read_int());
fassert(game_name == b->read_string());
options.paint_vel_info = b->read_int();
options.use_generated_assets = b->read_int();
options.use_monochrome_assets = b->read_int();
options.restrict_themes = b->read_int();
options.use_backgrounds = b->read_int();
options.center_agent = b->read_int();
options.debug_mode = b->read_int();
options.distribution_mode = DistributionMode(b->read_int());
options.use_sequential_levels = b->read_int();
options.use_easy_jump = b->read_int();
options.plain_assets = b->read_int();
options.physics_mode = b->read_int();
grid_step = b->read_int();
level_seed_low = b->read_int();
level_seed_high = b->read_int();
game_type = b->read_int();
game_n = b->read_int();
level_seed_rand_gen.deserialize(b);
rand_gen.deserialize(b);
step_data.reward = b->read_float();
step_data.done = b->read_int();
step_data.level_complete = b->read_int();
action = b->read_int();
timeout = b->read_int();
current_level_seed = b->read_int();
prev_level_seed = b->read_int();
episodes_remaining = b->read_int();
episode_done = b->read_int();
last_reward_timer = b->read_int();
last_reward = b->read_float();
default_action = b->read_int();
fixed_asset_seed = b->read_int();
cur_time = b->read_int();
is_waiting_for_step = b->read_int();
}