Cxbx-Reloaded / game-compatibility

Cxbx-Reloaded game compatibilty list, using GitHub issues
GNU General Public License v2.0
115 stars 29 forks source link

Lego Star Wars [Lego Star Wars: The Video Game] [ES-029] [1.02] #101

Open PatrickvL opened 7 years ago

PatrickvL commented 7 years ago

Wikipedia

Issues

From @rexcaptain501 on May 9, 2017 1:16

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

Copied from original issue: Cxbx-Reloaded/Cxbx-Reloaded#454

PatrickvL commented 7 years ago

Old issue : #403

PatrickvL commented 7 years ago

From @LukeUsher on May 9, 2017 8:8

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

PatrickvL commented 7 years ago

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.

PatrickvL commented 7 years ago

From @rexcaptain501 on May 12, 2017 22:53

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

PatrickvL commented 7 years ago

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.

PatrickvL commented 7 years ago

From @rexcaptain501 on May 14, 2017 2:31

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.

PatrickvL commented 7 years ago

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

PatrickvL commented 7 years ago

From @rexcaptain501 on May 15, 2017 8:6

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).

PatrickvL commented 7 years ago

From @rexcaptain501 on July 21, 2017 22:39

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

PatrickvL commented 7 years ago

From @LukeUsher on July 22, 2017 6:20

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.

PatrickvL commented 7 years ago

From @rexcaptain501 on July 23, 2017 22:0

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

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

PatrickvL commented 7 years ago

From @RadWolfie on July 24, 2017 0:51

@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.

PatrickvL commented 7 years ago

From @rexcaptain501 on July 24, 2017 1:36

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.

ghost commented 6 years ago

Tested with build b4c45cfc (Sep 1 2017). The game is regressing at the copyright screen. It should be the same problem as #46 right now.

Current build: lswtvg-1

Previous build: (behaviour as shown in above comments)

Kernel Debug file: KrnlDebug.txt

RadWolfie commented 6 years ago

It's a known issue. https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/commit/82de4aff003cddfa6c7ced077325db25de7848b4 is the cause of regression for the crash you're having.

PatrickvL commented 6 years ago

This title is one of the few that contains an uncompressed logo image.

Voxel9 commented 6 years ago

With build adf9f4f8 (Nov 22nd 2017) the game has regressed even further and refuses to boot at all.

---------------------------
Cxbx-Reloaded
---------------------------
Received Exception Code 0xC0000005 @ EIP := 0x0405AC5C

  Press "OK" to terminate emulation.
  Press "Cancel" to debug.
---------------------------
OK   Cancel   
---------------------------

Xbe.txt KrnlDebug.txt

jackchentwkh commented 6 years ago

This title is one of the few titles still suffers from no input issues (actually it's the only one in the mean time). as the input issue won't be solved any soon, although we don't encourage users to alter the xbe, but for those interested, here is a quick hack to enable the input. for default.xbe, make a backup first. then use hex edit tool to open it, sear the patterns below: 85 C0 0F 84 87 00 00 00 33 change 0F 84 to EB 76, and save it. then use cxbx-r to launch the patched xbe, and it will accept input. have fun.

ps. I am keeping this info here simply because it took me 1 hour to figure out where the problem was and also gave up to fix it in the following hours. I don't wanna waste my time and efforts.

LukeUsher commented 6 years ago

@jackchentwkh can you add an explanation of what the patch does too? With asm code snippets if necessary.

It's alright to suggest a hack that works, but it also needs to be documented WHY it works, and how, otherwise we don't learn from it

jackchentwkh commented 6 years ago

ok, this time I tried a new approach in XAPI code, and it seems work. PR issued, let's see whether it works or not. https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/pull/1300

gandalfthewhite19890404 commented 5 years ago

Game has some input issues, when you are press Start its turns on second pad too (second character begins moving exactly as first one). Mapping is - port1 directinput, others are not connected. Tested on latest dev-build.

ratkosrb commented 3 years ago

I tested this game on the latest version and it's "playable", but the graphics are glitching like crazy. I recorded a short video clip so you can see what it looks like. Sometimes its almost seizure inducing.

https://streamable.com/6hzo9w

mnadareski commented 3 years ago

With build df22c8b:

Notable messages:

[0x073C] INFO : D3DST   Please report that Lego Star Wars shows the following message:
LOG_TEST_CASE: X_D3DTADDRESS_CLAMPTOEDGE unsupported, falling back to D3DTADDRESS_BORDER
In Apply (D:\a\Cxbx-Reloaded\Cxbx-Reloaded\src\core\hle\D3D8\Direct3D9\TextureStates.cpp line 201)

Kernel Debug: KrnlDebug.txt