diff --git a/Source/Core/Core/HW/VideoInterface.cpp b/Source/Core/Core/HW/VideoInterface.cpp index 006dfabd2e..4e839187d9 100644 --- a/Source/Core/Core/HW/VideoInterface.cpp +++ b/Source/Core/Core/HW/VideoInterface.cpp @@ -94,7 +94,41 @@ static constexpr u32 NUM_HALF_LINES_FOR_SI_POLL = (7 * 2) + 1; // this is how l void DoState(PointerWrap& p) { - p.Do(Core::System::GetInstance().GetVideoInterfaceState().GetData()); + auto& state = Core::System::GetInstance().GetVideoInterfaceState().GetData(); + + p.Do(state.vertical_timing_register); + p.Do(state.display_control_register); + p.Do(state.h_timing_0); + p.Do(state.h_timing_1); + p.Do(state.vblank_timing_odd); + p.Do(state.vblank_timing_even); + p.Do(state.burst_blanking_odd); + p.Do(state.burst_blanking_even); + p.Do(state.xfb_info_top); + p.Do(state.xfb_info_bottom); + p.Do(state.xfb_3d_info_top); + p.Do(state.xfb_3d_info_bottom); + p.DoArray(state.interrupt_register); + p.DoArray(state.latch_register); + p.Do(state.picture_configuration); + p.Do(state.horizontal_scaling); + p.DoArray(state.filter_coef_tables.Tables02); + p.DoArray(state.filter_coef_tables.Tables36); + p.Do(state.unknown_aa_register); + p.Do(state.clock); + p.Do(state.dtv_status); + p.Do(state.fb_width); + p.Do(state.border_hblank); + p.Do(state.target_refresh_rate); + p.Do(state.target_refresh_rate_numerator); + p.Do(state.target_refresh_rate_denominator); + p.Do(state.ticks_last_line_start); + p.Do(state.half_line_count); + p.Do(state.half_line_of_next_si_poll); + p.Do(state.even_field_first_hl); + p.Do(state.odd_field_first_hl); + p.Do(state.even_field_last_hl); + p.Do(state.odd_field_last_hl); } // Executed after Init, before game boot diff --git a/Source/Core/Core/State.cpp b/Source/Core/Core/State.cpp index be39736790..8eb59fe938 100644 --- a/Source/Core/Core/State.cpp +++ b/Source/Core/Core/State.cpp @@ -96,7 +96,7 @@ static size_t s_state_writes_in_queue; static std::condition_variable s_state_write_queue_is_empty; // Don't forget to increase this after doing changes on the savestate system -constexpr u32 STATE_VERSION = 158; // Last changed in PR 11522 +constexpr u32 STATE_VERSION = 159; // Last changed in PR 11640 // Maps savestate versions to Dolphin versions. // Versions after 42 don't need to be added to this list,