From 3c257d48ba2f7a548e054395ae512329bd14421b Mon Sep 17 00:00:00 2001 From: alyosha-tas Date: Thu, 29 Jul 2021 17:12:25 -0400 Subject: [PATCH] Replace Win32 call from Bmp and Gb view --- src/BizHawk.Client.EmuHawk/config/GB/BmpView.cs | 7 +++---- src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.cs | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/config/GB/BmpView.cs b/src/BizHawk.Client.EmuHawk/config/GB/BmpView.cs index c73bcfbc0e..af3d7e2b36 100644 --- a/src/BizHawk.Client.EmuHawk/config/GB/BmpView.cs +++ b/src/BizHawk.Client.EmuHawk/config/GB/BmpView.cs @@ -6,8 +6,6 @@ using System.Drawing.Imaging; using System.Drawing; using System.Windows.Forms; -using BizHawk.Common; - namespace BizHawk.Client.EmuHawk { public class BmpView : Control @@ -89,10 +87,11 @@ namespace BizHawk.Client.EmuHawk Refresh(); } - public void Clear() + public unsafe void Clear() { var lockBits = Bmp.LockBits(new Rectangle(0, 0, Bmp.Width, Bmp.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); - Win32Imports.MemSet(lockBits.Scan0, 0xff, (uint)(lockBits.Height * lockBits.Stride)); + byte* clear_out = (byte*)lockBits.Scan0; + for (uint i = 0; i < (uint)(lockBits.Height * lockBits.Stride); i++) { clear_out[i] = 0xFF; } Bmp.UnlockBits(lockBits); Refresh(); } diff --git a/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.cs b/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.cs index 6439095ee1..331e0bd218 100644 --- a/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.cs +++ b/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.cs @@ -8,7 +8,6 @@ using BizHawk.Client.Common; using BizHawk.Common.NumberExtensions; using BizHawk.Emulation.Common; using BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy; -using BizHawk.Common; namespace BizHawk.Client.EmuHawk { @@ -357,7 +356,8 @@ namespace BizHawk.Client.EmuHawk byte* oam = (byte*)_oam; // clear out the old sprite data - Win32Imports.MemSet(lockData.Scan0, 0xff, (uint)(lockData.Height * lockData.Stride)); + byte* clear_out = (byte*)lockData.Scan0; + for (uint i = 0; i < (uint)(lockData.Height * lockData.Stride); i++) { clear_out[i] = 0xFF; } for (int s = 0; s < 40; s++) {