Dino Crisis 2 love?

I’m just quickly updating the site to announce that Dino Crisis 2 is being fixed. More info after the jump.

As you may already be aware about, Dino Crisis 2 has a PC port, which is the only other official release of this title on a different platform. As per usual CAPCOM ports to PC, this has issues like any other PlayStation conversion. But what are the quirks this time? Let’s make a brief list:

  • Stability is extremely low and random. Sometimes the game wouldn’t even boot with the vanilla executable, unless patched up with something like dgVoodoo. This issue seems to be related to scheduling code, which does some stack manipulations in order to make code jump a lot around tasks that can be left and resumed whenever it’s necessary. I’m not 100% sure what the cause of this is, could be broken code, stack overflow, or anything really. Fortunately this issue was the first to be solved, by implementing the scheduler recreated from Resident Evil for PC code (incredible as it may sound, given how code written in 1996 is more stable than stuff from 2002).
  • Controls are bad, very bad, abysmally bad. For starters, this game uses DirectInput 7.00 for managing all the input, including keyboards, which is typically a bad idea as it provides zero advantages over anything like GetAsyncKeyState() from WinAPI (it’s actually slower, since it wraps that). Game controllers are poorly supported or just go undetected, remapping them isn’t even really supported as the configure screen comes with 3 presets that don’t match the usual buttons you’d have on any game pad. So far the thing has been reprogrammed from scratch with XInput in mind (it will be expanded later to also do DirectInput 8.00 and Raw Input) and WinAPI for better detection. This step will at some point replace the configure screen for keyboard rebinding, so that the user would be able to map any button with any device, because the way it originally was makes little to no sense at all. Even the Resident Evil ports, which are older, have better support than this.
  • Sound quality and behaviour. Sound quality is the usual 22050hz we’ve suffered from other PC ports of the RE family engine, but this game manages to break things to a whole new level. Audio tracks don’t loop (as usual), but at last previous attempts tried in some cases to mitigate with fake loop points by fading out or by restarting the tracks in a semi-seamless way. On DC2, however, all tracks are poorly compressed (Lame MP3 with very low bitrates), loop at random points, and generally sound very muffled or not normalized. As a matter of fact, the music even stops during door transitions and resumes when the user is back in control. Why it does this is beyond me.

And these are just some of the issues that the game has, being it a very average conversion as tradition requires. However, there is a reason to work on this: it can be improved and the graphical rendition is not bad at all. In some cases it’s so good it can do filtering of everything with no visible seams and natively allows for several resolutions, also no wobbly polygons and z-fighting is pretty good. Heck, it could be even used to integrate one of those neat SHDP packs with HD backgrounds and textures.

I’ll update the blog as soon as the patch reaches puberty, which means a Dino Crisis 2 Classic REbirth page will pop up here as soon as the controls are fixed for good and the game starts being a litte more enjoyable. In the meantime stay tuned.