in procgen/src/games/bossfight.cpp [443:477]
void deserialize(ReadBuffer *b) override {
BasicAbstractGame::deserialize(b);
attack_modes = b->read_vector_int();
last_fire_time = b->read_int();
time_to_swap = b->read_int();
invulnerable_duration = b->read_int();
vulnerable_duration = b->read_int();
num_rounds = b->read_int();
round_num = b->read_int();
round_health = b->read_int();
boss_vel_timeout = b->read_int();
curr_vel_timeout = b->read_int();
attack_mode = b->read_int();
player_laser_theme = b->read_int();
boss_laser_theme = b->read_int();
damaged_until_time = b->read_int();
shields_are_up = b->read_bool();
barriers_moves_right = b->read_bool();
base_fire_prob = b->read_float();
boss_bullet_vel = b->read_float();
barrier_vel = b->read_float();
barrier_spawn_prob = b->read_float();
rand_pct = b->read_float();
rand_fire_pct = b->read_float();
rand_pct_x = b->read_float();
rand_pct_y = b->read_float();
int boss_idx = find_entity_index(BOSS);
fassert(boss_idx >= 0);
boss = entities[boss_idx];
int shields_idx = find_entity_index(SHIELDS);
fassert(shields_idx >= 0);
shields = entities[shields_idx];
}