Cxbx-reloaded: Constantine - Titles

Created on 25 Jul 2017  路  11Comments  路  Source: Cxbx-Reloaded/Cxbx-Reloaded

It just shows a couple of titles before stopping. Cxbx doesn't crash and doesn't report any errors on screen, it just stops emulating the game. The sound is a way too fast but I think that is because of the fps being 60.

constantine1
constantine2

game-compatibility regression

Most helpful comment

Good news, the regressions have been fixed. In dc9baf3 Constantine doesn't crash anymore. Also, as @RadWolfie has said, the audio has improved. The music now doesn't play so fast as it did before, though I can still hear something like a buzzing sound when it's playing. The game still shows the same titles as it did before, it doesn't reach the menus.
KrnlDebug.txt

All 11 comments

The music plays too fast not because of the frame rate but because nobody ever fixed the IDirectSoundStream code.

It works by queueing packets of audio samples, then playing each one as they finish. Cxbx just doesn't properly queue audio samples, so it immediately begins playing new samples before the previous packet finishes.

Furthermore, Cxbx also doesn't appear to emulate the event handle that is triggered when a sample packet is done streaming. I'd say that the whole thing needs to be rewritten but LLE is coming so it's not quite as relevant I guess.

Shogun

Can you upload a kernel log? Bug reports are rather useless without them, as we cannot begin to investigate.

Other important details we need to know are:

  1. What version of the game are you using? (Region, release, etc)
  2. Are you certain it's a good dump (Unmodified, no anti-piracy hacks or patches, no corrupt files)
  3. Your computer hardware specification
  4. What version of Windows you are using
  5. The version of Cxbx-Reloaded that was used (We can see this in the title bar, but it's still good to document, just in case)

Yes, you're are right LukeUsher, sorry for that. All my games are retail/PAL and dumped from a softmodded xbox via ftp with filezilla (I didn't copy them to the internal disk). My pc is a windows 10, i7-4810mq and gtx 870m. Cxbx version is 3ca1a354

KrnlDebug.txt
Xbe.txt

Unfortunately, in d44c393 Constantine has regressed: it now either hangs cxbx after displaying the title screens (and forcing to close it from the task manager), crashes with a XID_fCloseDevice function error or (very rarely) crashes with a MCPX related function error. The errors seem a bit random and actually the title still works very often like it did before

KrnlDebug.txt
KrnlDebug-Hang.txt
constantine

I wish we had a manual for doing regression searches, and actually some people that would follow this procedure, so that all developers have to do, is to analyse & fix the actual breaking change...

By the way, just as reminder I have uploaded xbe dumps for all of my games. Recheck my previous posts if you want them

I was finally able to get an MCPX crash but regrettably I didn't turn on the kernel logging. The Cxbx version doesn't match because it's a locally built copy but I have used the same source as b7556f3
constantine

@ergo720 Thanks for reporting this, I have discover a missing patch for this. By adding this code,"CDirectSoundStream_SetFrequency=2b7e10", in HLE cache file. It has progress even further , yet does not fix audio looping.

After some investigating... it turns out 5233 and 5558 OOPVAs are returning same address for this title. I will investigate further within next few days to make an accurate OOPVA signature to go possible back to 3936 database. Actually... they are both different revision, this is a no go. I'm adding the support only between 5233 and 5849.

Edit: Correction audio looping is fixed somehow after attempt to get audio working for Project Gotham Racing title.

Good news, the regressions have been fixed. In dc9baf3 Constantine doesn't crash anymore. Also, as @RadWolfie has said, the audio has improved. The music now doesn't play so fast as it did before, though I can still hear something like a buzzing sound when it's playing. The game still shows the same titles as it did before, it doesn't reach the menus.
KrnlDebug.txt

For now I can't fix the buzzing sound, I have a higher priority which need to be done before I can continue on add more missing patches for audio. Hopefully after I have finish and polish it up, it should improve support across old to new titles. 馃

This issue was moved to Cxbx-Reloaded/game-compatibility#89

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Kumoashi picture Kumoashi  路  3Comments

PatrickvL picture PatrickvL  路  3Comments

PatrickvL picture PatrickvL  路  3Comments

PatrickvL picture PatrickvL  路  3Comments

gandalfthewhite19890404 picture gandalfthewhite19890404  路  3Comments