Dell is coming to my dad's shop (again) soon to replace the fan and the processor in the dyno computer. They don't know that that's what needs to be done, but they thought they'd try. It's amazing that the people who come to fix your Dell are not technitions, but simple parts replacers.
The deal is everytime the computer processes lots of information over a period of time, the fan slowly gets faster and louder. Windows will sometimes display the blue-screen-of-death saying it is shutting down to prevent damage. It doesn't do this if the computer is sitting there doing basically nothing. It's obvious that something is getting way too hot. I'm thinking this might be the reason the hard drive went bad before. I have also noticed that the USB ports in the front sometimes stop reading pen drives out of the blue, and I see no reason for that to be a software problem or anything to do with the drive. I'd say whatever is cooking inside, it's cooking many other components inside the computer case as well.
By the way, I've been updating my LIMP utility (the one that imports levels from the original games into ProSonic's format). I haven't made any major changes to the ProSonic engine yet because getting additional level data that I didn't bother with before is essential to getting loop-de-loops working. LIMP now gives each block 4 different sets of solidity data, 2 slope values, and data to allow designers to modify the plane that each 8x8 chunk of a block is drawn on. Before, my engine simply allowed designers to make the entire block either on a high plane, or a low plane. To keep compatibility with the original games, I am supporting this new method. ProSonic still uses 16x16 blocks with each sprite being 16x16, but the engine will be allowed to split it into 8x8 chunks to simulate the use of 8x8 sprites as done in the original Sonic games.
What LIMP doesn't do (correctly) yet is import what I call "side swapper" objects. These were first introduced in Sonic the Hedgehog 2 and allowed multiple sets of solidity data to be swapped. These too are essential to making loop-de-loops work. I haven't programmed these objects into the ProSonic engine yet, but that will be the very next task once I get LIMP fixed and modify the engine to read the new data formats created by LIMP. Right now, I'm trying to debug LIMP to get rid of a silly infinite-loop bug. Because of that, object data isn't being ported properly.