Cxbx-reloaded: Project Gotham racing - random crashes

Created on 6 May 2017  路  16Comments  路  Source: Cxbx-Reloaded/Cxbx-Reloaded

Reported here : http://www.emutalk.net/threads/56608-The-still-in-progress-emulator-broken-screenshot-thread-)?p=460631&viewfull=1#post460631

Commit ae13a335
Screenshot : http://www.emutalk.net/attachment.php?attachmentid=40016&stc=1&d=1494001148

game-compatibility

All 16 comments

I can only get as far as the intro cut scene with pulsing glitchy audio. Once it's finished, an unknown exception code crash error pops up.

.xbe info: Xbe.txt

Kernel Debug file: KrnlDebug.txt

Intro cut scene: pgr

Crash: pgr crash

Seems like a patch is not applied, unclear if it's graphics or sound related.

Tested with Cxbx-Reloaded build 3ca1a35, Jul 23 2017

No audio is being output anymore. Getting similar results to #429 (Madagascar).

2

I'll check this out later this week to see if I can fix the audio part unless someone else will beat me to it. :smile:

Hmm... in EmuDSound.cpp at beginning of line 1100 with the code shown below. If removed the if/else check, then audio is playing just fine. Is there some reason for this to be worth keeping? I had checked other playable titles and did not hear any distort or any crash.

    if (pThis->EmuBuffer != 0) {
        *ppvAudioPtr1 = pThis->EmuBuffer;
        *pdwAudioBytes1 = dwBytes;
    } else {
        ...
    }

By doing this, Project Gotham Racing and Splinter Cell Pandora Tomorrow (online.xbe) titles are audible.

@RadWolfie I'm not familiair with the dsound code, so I browsed through it. I still can't determine if your suggestion is right, but it did make me submit a Pull Request for DSound - would you care to review it? https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/pull/537

Edit: deleted my previous comment. Seemed to be a rendering issue caused by putting video settings to my native resolution instead of auto. This happened with RalliSport Challenge too, but not LEGO Star Wars. Odd.

I hadn't seen this behaviour before. Just for reference: 1

That looks like you set your output resolution higher than 640x480, a lot of titles specifically set the viewport to 640x480, in which case you'd get this result.

Other titles scale to the full screen size automatically, so it's not really a bug as such, just a result of how the game was programmed.

That's really weird, because on previous builds to aa0c6718 this didn't happen. Edit: ignore this. Context down below.

Problems with wrongly placed and/or un-streched video's is probably due to a bug in overlay handling. I've been messing around with it already, but nothing to show for it yet.

EDIT: Wait a minute - you're saying one build prior to aa0c671 this didn't happen? That's very strange, as this commit doesn't come _near_ graphics....

I just tried again with an older build I was testing with today and I'm getting the same stretch behaviour. Odd. shrugs

This happens with the majority of titles if you set a resolution higher than the Xbox default, it has always been an issue, and will remain an issue until either full LLE (where we can handle this on the GPU level) or we make our rendering functions (eg: SetViewPort) ignore the values given by the xbox title.

The first option is a long way away because of the amount of technical work involved

The second option has a high potential for bugs and upscaling is only a nice to have so it likely will be a time before it is implemented properly.

Yeah, I just tested with a8033fee (yesterday) and I'm getting the same behaviour as aa0c671, and I'm sure I didn't get this yesterday with the setting at 1920x1080. Oh well, I guess? Hardware Mode looks the same with the stretch behaviour, only rendered to the monitor. 640x480/auto works just fine as usual.

@rexcaptain501 When you set a higher resolution, it will mostly "shrink" the output screen because it doesn't perform "fill to screen" process. However dashboard appear to always fill to screen no matter what the resolution is. Plus by design, the "auto" uses 640x480 resolution by looking at the code in the past. I would say it works as intended.

@PatrickvL This is the if/else portion I'm talking about which is now at line 1041. By removing "if" portion, the intro do start playing audio just fine.

@rexcaptain501
Beware that, if you spot an issue with the latest build, and try to load an older one to compare, you will need also to clean the cxbx-r folder in appdata.

In example, Jet Set Radio Future did have some weird issue with a later "test" build, and this issue was still happening when loading an older "clean" build.

I was forced to delete the cxbx-reloaded folder located in AppData\Roaming and reload the "clean" build to be able to compare properly.

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

PatrickvL picture PatrickvL  路  3Comments

chrisderwahre picture chrisderwahre  路  4Comments

PatrickvL picture PatrickvL  路  3Comments

Margen67 picture Margen67  路  3Comments

PatrickvL picture PatrickvL  路  4Comments