u16 gamestate_size = 0;
if( save_state ){
+ /* TODO: have as part of system struct */
gamestate_size = (u32 []){
[k_player_subsystem_walk ] = sizeof(struct player_walk_state),
[k_player_subsystem_drive] = 0,
[k_player_subsystem_skate] = sizeof(struct player_skate_state),
[k_player_subsystem_dead ] = localplayer.ragdoll.part_count *
- sizeof(struct replay_rb)
+ sizeof(struct replay_rb),
}[ localplayer.subsystem ];
}
- u16 animator_size = (u16 []){
- [k_player_subsystem_walk ] = sizeof(struct player_walk_animator),
- [k_player_subsystem_drive] = 0,
- [k_player_subsystem_skate] = sizeof(struct player_skate_animator),
- [k_player_subsystem_dead ] = sizeof(struct player_dead_animator)
- }[ localplayer.subsystem ];
+ u16 animator_size = player_subsystems[localplayer.subsystem]->animator_size;
replay_frame *frame = replay_newframe( replay,
animator_size, gamestate_size,