Windows 98 is sh%t.

Last friday I got reports that on Windows 98, my new patches for the longest journey don’t load their savegames. Somehow, the game didn’t seem to find them. I had one player send me his saves, and verified that they were healthy, so it was definitely the loading.

I found the bug this morning: Windows 98 doesn’t like doubel backslashes in a filename. So if I write C:\TLJ\\Save1, that won’t work, because it’s not the same as C:\TLJ\Save1, and although all later versions of windows seem to just collapse multiple backslashes if they aren’t at the beginning of a pathname, Win98 doesn’t. So yes, I’m guilty of adding that bug, and I feel slightly stupid for that, but not too stupid.

The interesting part about this was that it was nigh impossible to find a Windows 98 machine in the house. Noone has that stuff anymore, and frankly, I’d feel bad about connecting it to the network. So I installed MS Virtual PC, and in the Virtual PC I installed Windows 98. And in that Windows 98 I installed the longest journey for testing, and then Visual Studio and everything else I needed for debugging.

And I did all that through remote desktop, because I was sitting at home. Everything worked like a charm. That virtual machine stuff is pure magic every time I play with it, and so is remote desktop. Fun!

[ media | Corpse Bride Soundtrack – Victor’s Piano Solo ]

2 thoughts on “Windows 98 is sh%t.

  1. I may be barking up the wrong tree entirely and I certainly haven’t tested the idea, but maybe would PathCanonicalize help. It is actually designed to adjust the given string by replacing ".."s and the like, but it might also catch cases like this.

  2. The problem isn’t that I can’t fix the pathname, but really that I had no idea this wouldn’t work, so I was a little sloppy when concatenating directories and filenames.

    I’ll check out PathCanonicalize() next time I fire up the Windows 98 box. But I have my doubts that it would work.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.