diff --git a/ExternalCoreProjects/Virtu/Services/AudioService.cs b/ExternalCoreProjects/Virtu/Services/AudioService.cs index d4593fd871..936b2e74f2 100644 --- a/ExternalCoreProjects/Virtu/Services/AudioService.cs +++ b/ExternalCoreProjects/Virtu/Services/AudioService.cs @@ -22,9 +22,17 @@ namespace Jellyfish.Virtu.Services } } + [Newtonsoft.Json.JsonIgnore] // only relevant if trying to savestate midframe private short[] buff = new short[4096]; + [Newtonsoft.Json.JsonIgnore] // only relevant if trying to savestate midframe private int pos = 0; + [System.Runtime.Serialization.OnDeserialized] + public void OnDeserialized(System.Runtime.Serialization.StreamingContext context) + { + pos = 0; + } + public void Clear() { pos = 0; diff --git a/ExternalCoreProjects/Virtu/Services/VideoService.cs b/ExternalCoreProjects/Virtu/Services/VideoService.cs index 4f866b825b..e8490b2182 100644 --- a/ExternalCoreProjects/Virtu/Services/VideoService.cs +++ b/ExternalCoreProjects/Virtu/Services/VideoService.cs @@ -14,6 +14,7 @@ this.fb = fb; } + [Newtonsoft.Json.JsonIgnore] // client can serialize framebuffer if it wants to public int[] fb; public void SetPixel(int x, int y, int color) diff --git a/ExternalCoreProjects/Virtu/Video.cs b/ExternalCoreProjects/Virtu/Video.cs index d1e73999c7..291e18d6b6 100644 --- a/ExternalCoreProjects/Virtu/Video.cs +++ b/ExternalCoreProjects/Virtu/Video.cs @@ -25,6 +25,12 @@ namespace Jellyfish.Virtu }; } + [System.Runtime.Serialization.OnDeserialized] + public void OnDeserialized(System.Runtime.Serialization.StreamingContext context) + { + DirtyScreen(); + } + public override void Initialize() { _memory = Machine.Memory; diff --git a/References/Virtu.dll b/References/Virtu.dll index 8ead617dee..5d6306ceaa 100644 Binary files a/References/Virtu.dll and b/References/Virtu.dll differ