Toiling in Visual Studio 6 for a good cause - and it paid off handsomely


I began my professional career as an intern C++ developer for a public newspaper in Rio de Janeiro, writing software that would measure and convert RTF files into an internal, proprietary, format to be eventually laid out in the pages. It was a Windows service written with Visual Studio 6.0, which I recently had some minor experience with in college. While it was not pleasant, it shaped me into who I am today.

Almost 15 years later, I came back to this very software in order to fulfill this old burning desire I had: write a pure Win32 game that could work on all 32-bit (and 64-bit) x86 Windows versions. Some quick tests with mingw32 cross-compilation software proved some mild success in the past, but I wasn't able to reproduce such results today. Hence, the need to go "full legit".

My copy of Visual Studio 6 was purchased a couple of years ago, as souvenir that I never really expected to really use. It was still shrik-wrapped and came with spanish training material

Given that I had previously massaged most of the code base with MingW32 and the port to Amiga already brought it to ANSI C compliance, getting it to compile and run under Windows ME was a matter of a couple of hours fixing configuration mistakes on the project. The IDE was clunkier than I remembered!


As for running on pure Windows 95, it was actually a matter of fixing some invalid memory accesses that other ports were more tolerant with. Once those were fixed, the game sprang to life!


Moving files around to the machine (a Pentium 300Mhz, if I'm not mistaken) was tediously done with a USB thumbstick. Somehow, the game fails to run well under a Release configuration, but setting the Debug configuration to mimic the release build worked well enough

One nice bonus of using Visual Studio 6 was that it made it reasonanly "not-impossible" to embed the WAV files directly into the .EXE, making it very easy to play it using the Windows native PCM audio system. Sure, I could use the files present on the PFS bundle, but would eventually allow me to replace the low quality sounds from the Amiga version with proper, higher quality versions.

Surprisingly, GDI itself will take care of scaling the graphics and reducing colours as needed to fit the bits-per-pixel resolution of the machine (but that will cost some CPU on a 486). Otherwise, with 16-bit colours, the game is very playable.

Finally, it's astonishing how it will play nicely under Windows 10. Kudos for Microsoft to keep this working so well!

I wonder if the game would run under Windows 3.11 + Win32S, but I have no hardware to test...

Files

The Mistral Report for Windows 95 (or newer) 604 kB
Jul 04, 2020

Get The Mistral Report: Invisible Affairs

Comments

Log in with itch.io to leave a comment.

There are probably many possible ways to make it run faster on a 486, but then, the MS-DOS version would be more recommended...

Also, oddly, the game now will not run under Wine. Go figure out!?