Wednesday, May 3, 2017

Panzer Dragoon is Back!

Just thought I'd inform you all that Panzer Dragoon ORTA is working on Cxbx [Reloaded] again.  After going through the issues, I found out what was causing the game to hang in most places as well as why this game initially worked in Vista only (for those who remember me telling you guys about this with my old branch).  Looks pretty good, the broken geometry has been fixed and that's no longer an issue.

There was a "special" mutex that kept failing to be created, and without that mutex, then the game will not progress.  Since various driver level (and possibly kernel level) APIs were so lazily programmed in regards to error checking, invalid flags and arguments that would normally cause an API to fail simply would not invoke the failure.  This was true for Azurik also.  But by the time Microsoft released Windows 7, they caught the issues and they were fixed so it stopped running.  That was the biggest thing.  Only a few other things were needed to get it ingame again.

And before I forget, I wanted to mention that these are screens from the demo and retail game (respectively).  There's still a threading synchronization issue (at least that's what I assume at this point; don't quote me on that yet) that happens when the game tries to play an FMV.  This is also something that was rarely a problem on Vista, but I'm sure it's fixable once we know what it is.  So the demo goes into the first level, but the retail version won't let me do anything but go through the interactive tutorials at this point.

Of course, don't get your hopes up just yet (or at least, not too high) as several issues still persist from previous builds.  There's still an issue with the sound buffer cache filling up soon after getting ingame.  Also, something is causing the textures to break and a really weird stenciling effect that's almost the same as Turok's.  Since post processing effects are broken, the screen will go black when you try to use glide.  If you want to read some of StrikerX3's thoughts on it, take a look at this old thread on ngemu:

Just thought I'd give you all this quick update.  I sacrificed an entire day for this.  Enjoy.