Cxbx-reloaded: [PAL] Lego Star Wars graphical corruptions and no audio

Created on 9 May 2017  路  14Comments  路  Source: Cxbx-Reloaded/Cxbx-Reloaded

Tested on Cxbx-Reloaded build 3e5da285, May 8 2017

Very promising progress. No audio. Menus and ingame have weird permanent speed ups (e.g. characters move around like nuts), but enabling Force VSync helps stabilize the speedup. There's an odd white overlay colour in most places throughout all game features (in most menus and ingame, e.g. main menu, walking around ingame, level mode selection and level crawl intro etc.). Kernel Debug console is constantly whining about 'Trying fixed or recompiled programmable pipeline pixel shader!' and 'EmuD3DDevice_SetScreenSpaceOffset ignored'.

The copyright screen now appears (I don't think it did before?):
12

Level crawl intro example:
13

Dexter's Diner: 1

The game thinks that two controllers are plugged in and pressing start to pause the game has the side effect of the game thinking that you are now both players (possibly because two controller support hasn't been implemented). Instead of a darkened transparent effect when you pause the game, the pause menu is black.

Pause menu example:
14

Some terrain is slightly corrupted and can have transparency problems.

Transparency problem example (note the two red circles placed in the emulation image for example, you might need to click into the image and zoom to see it): 1

Player minifigures don't appear correctly, just showing corrupted feet shadows. NPC minifigures seem to appear, besides from Dexter at the shop (the FLO NPC 'foot' shadow works, identical to player minifigures). Most basic features seem to be working fine (using the Force, breaking objects, collecting studs, speed of walking according to analog stick pull etc.). Weird corrupted drawing in the middle of the screen, it might be related to the player minifigures? Transition fades seem to work when entering the diner for the first time, but don't trigger when entering a different room. When entering a different room, it doesn't stop you from moving your character before the transition effect finishes, likely because there is none. Floor reflections are fine but don't appear for minifigures (likely because none are appearing?). A lot of LEGO objects are invisible.

Minifigures: 2

FLO NPC minifigure 'foot' shadow example (note red circle placed for example, other two sets of shadows are of the players' characters feet):
12

Corrupted drawing example 1:
7

Corrupted drawing example 2:
11

Force-able object: 3

Lightsabers don't have any colour. All actions seem to be working properly.

Lightsabers: 4

Episode 1 Level 1's starting cutscene will work for a few seconds before crashing (* ClampToEdge is unsupported (temporarily)).

Episode 1 Level 1 crash: 5

Episode 1 Level 1 crash Kernel Debug log: KrnlDebug.txt

Entering most shop menus causes a crash.

Dexter's Diner shop menu crash example (scrolling through characters menu):
17

Scrolling through characters menu crash Kernel Debug log: KrnlDebug.txt

Overlay titles seem to be working but usually don't draw correctly.

Bad drawing 1: 8

Bad drawing 2:
10

I haven't covered absolutely everything, but this is pretty comprehensive.

Lego Star Wars (default.xbe) .xbe info dump: Xbe.txt

Settings used:

Display Adapter: NVIDIA GeForce GTX 1060 6GB
Direct3D Device: Direct3D HAL (Hardware)
Video Resolution: Automatic (Default)
Force VSync enabled

game-compatibility graphics regression

Most helpful comment

Possibly the most detailed bug report I have ever seen, consider myself impressed

All 14 comments

Old issue : #403

Possibly the most detailed bug report I have ever seen, consider myself impressed

Thanks for the detail in this report - one thing that stands out is how 'bland' everything looks. That's why I've started to look into render-states, specifically back porting the code I wrote for that in Dxbx. I'll do the same with texture-states after that, and let's see what the output looks like then.

Tested on Cxbx-Reloaded build 14e59d6e, May 12 2017. Some things have regressed, such as text and 3D graphics colour.

Text on the language screen is gone (if you wait for 20 seconds it skips through to the main menu without selection): language screen

"A long time ago in a galaxy far, far away...." screen has disappeared.

Main Menu has lost text and now fades through a few colours, which shouldn't happen (might be related to other colour problems covered down below in this comment):

Example 1: main menu colour

Example 2: colour 2

When loading the Main Menu inactivity cut scene, the game crashes: main menu crash

Pause menu has lost text (basically, all text in the game is gone): missing text

Lots of things going wrong in this screenshot and area. Lightsabers and LEGO objects are now black, other objects are black, force field particles don't work and walking into them effect doesn't appear, feet shadows are now gone: diff

Press START text is now gone (unlike previous tested build):
start

Colours are messed up in pretty much all locations for most objects:
colours

Stud Counter text is missing:
stud counter

In some cases (usually near walls) triangle feet shadows can be faintly seen (more similar than the last tested build to the real game in a way, note red circle for example), also note that the corrupted drawing is now black rather than white:
feet

Crawl text is now gone:
crawl

Textures are now more corrupted than before (they were already pretty corrupted in the previously tested build, though. Note in Example 1 red ship on the left, CIS ship on the right seems to be fairly similar, if not a bit more corrupted, than the last tested build):

Example 1: texture 1

Example 2:
texture 2

There are two possible reasons I can think of that might have caused this; I DISABLED a patch on Get*Desc, which only reads from the D3D resource, so doesn't need patching - except that we currently alter the textures on the Xbox side. I'm working on an improvement which will fix that. Another reason could be that I unlock more often (at least every time a new lock is required). This also will be fixed by the same changes.
Furthermore, I'm busy back porting all genetic render state conversion code from Dxbx, which will probably improve a few of the visual artifacts you're seeing now.
So, all in all, thing will improve, it just takes time.

Tested on Cxbx-Reloaded build 2ef0c063. I've been having trouble getting controls to work for the past few builds. I can only get controls working on 14e59d6 with random troubleshooting efforts (hard to explain, usually consists of mashing buttons, getting the game to get past the language screen menu, then stopping and starting emulation). Controls are very hard to get to work on 2ef0c063, if at all. Text looks to be working again and the main menu inactivity cut scene (even though it's still broken) doesn't seem cause a crash anymore.

@rexcaptain501 thanks for the feedback. controller input stopped working 鈥媐or me too @LukeUsher care to take a look?

Tested on Cxbx-Reloaded build bceef183 (May 14 2017). Controls seem to be working again. I had a bit of trouble first time around booting getting past the language screen (might be nothing/XInput playing up for a few seconds for some reason? Second time booting and further I had no problems). All behaviour from build 14e59d6 is gone and everything is now back to build 3e5da28 behaviour. One thing that I didn't mention previously is that lightsaber swing colours work properly:
swing

Main menu is still fading through colours. I'm not sure what build this started happening (I don't think it was doing this around the time of issue #403, I'm not entirely sure).

Just a couple of notes. I'm not sure if the main menu colour fading does indeed happen in the game on Xbox hardware, or if it's just an emulation glitch. In emulator, I noticed that pressing up/down with either the analog stick or d-pad with an Xbox 360 controller in the Options menu causes the selection highlight to skip up to the top/bottom, rather than one-by-one.

Tested on Cxbx-Reloaded build 5ab5ee21, Jul 21 2017

The game is throwing a D3DDevice_EnableOverlay error after pressing New Game on the main menu.

1

Kernel Debug file: KrnlDebug.txt

Weird, the behavior of this title has not changed for me: It works just fine for me. Well, the same has before anyway ;)

As for the DPAD issues, it's probably that the game controller code is running too fast, making it read the controller more often than expected.

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

The error is gone now, weird. Everything is working as before.

@rexcaptain501, not sure if you're aware of this. By default XADPCM codec is set to "silent" or in other word, "disabled". If you do enable it via audio settings, then you will get audio, currently it is looping, from it. It is a start yet still incomplete.

Thanks for the tip, I didn't check out LEGO Star Wars. Yeah, I can also confirm that it's working yet looping with XADPCM.

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

chrisderwahre picture chrisderwahre  路  4Comments

PatrickvL picture PatrickvL  路  4Comments

LukeUsher picture LukeUsher  路  4Comments

childishbeat picture childishbeat  路  4Comments

gandalfthewhite19890404 picture gandalfthewhite19890404  路  4Comments