I noticed if you downsize your desktop resolution, it speeds it up quite a bit. My resolution is at 1920x1080, but if I drop it to say, 1280x720, it runs much better.
WindowsZone was working fine up until a few minutes ago, when it starts jumping randomly when I try to control it. It still works on Random Input, but it gives me that same problem each time I try to control it. Can anybody PLEASE help me? I tried PMing MainMemory, he read it, but didn't reply to it. >_>
Could you not just add sprites for when Sonic's facing left? It'll use more storage, but save masses on CPU.
Now you can choose different direction modes for controllers, POV hat/D-pad (what it already had), Analog stick (X/Y axes), or buttons. I implemented some of the changes that were suggested which may have a small effect on performance, but I'd say it uses 50% less CPU when I comment out the line "mygfx.DrawImage(level, 0, 0, screenbounds.Width, screenbounds.Height)". Another large part may be looping through all the windows. I have put together a basic framework for object interactions, but I'm not using it yet, because this would mean that you would be unable to interact with the inside borders of windows. I'm also not sure if I'm doing it right. I'm not sure what I would need to do to make a spring work, or how they work in the original games. But if you look at the code with Reflector (or you could just ask for the source, but give me a good reason), you'll see that GameObject.CheckCollision and Player.Act have been filled out and behave almost exactly like the code in Form1.Timer1_Tick.
Sweet! The physics in this program are perfect. I picked up sonic and threw him at the side of the screen, making him go so fast he was stuck looping the desktop for a minute or two.
I've made a program to edit the animations in the INI files. By default, this changes all image paths to [INIname]\[framename].png, and will offer to save all the images into the proper locations (be aware that .NET is absolutely horrible at compressing PNGs).
There should be a Sonic icon on the system tray in the taskbar (lower right of the screen). Right click on it, and choose Quit.
I really love this, and thanks for the prog that lets us edit sprites and such. Any chance of a Knux or tails some time soon?
Looked into it a bit, and made a little something with WPF: http://I.imgur.com/7oiyg.png 25 scaled Sonics bouncing around the screen, with practically zero CPU taken up on my single-core P4. Not sure how it runs on Win7 though. Also, as a result of using WPF, it has pixel-perfect hit detection such that clicking in blank/transparent regions, even within Sonic's bounding box, will focus what's behind the 'bouncing sonics' window. Only problem is that it's written in C# rather than VB.NET, but it shouldn't be too difficult to replicate. Here's binary+source (.NET 3.5 or higher): http://dl.dropbox.com/u/116077/DesktopRunner.zip You can close it by right-clicking its taskbar button.