public void SyncState(Serializer ser) { ser.BeginSection("TIA"); _ball.SyncState(ser); _hmove.SyncState(ser); ser.Sync("hsyncCnt", ref _hsyncCnt); // some of these things weren't in the state because they weren't needed if // states were always taken at frame boundaries ser.Sync("capChargeStart", ref _capChargeStart); ser.Sync("capCharging", ref _capCharging); ser.Sync("vblankEnabled", ref _vblankEnabled); ser.Sync("vsyncEnabled", ref _vsyncEnabled); ser.Sync("CurrentScanLine", ref _CurrentScanLine); ser.Sync("scanlinebuffer", ref _scanlinebuffer, false); ser.BeginSection("Player0"); _player0.SyncState(ser); ser.EndSection(); ser.BeginSection("Player1"); _player1.SyncState(ser); ser.EndSection(); _playField.SyncState(ser); ser.EndSection(); }