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 Demo] [IM-32988] [1.70] #46

Open PatrickvL opened 6 years ago

PatrickvL commented 6 years ago

From @BenNottelling on August 4, 2017 18:49

Description

Lego StarWars demo used to be able to get past the main menu and almost ingame, but it now crashes before the menu


Game info

[XBE Dump, KrnlDebug, HLE Cache, Ect] BeforeKrnlDebug.txt KrnlDebug.txt Xbe.txt b7400f0et.txt


Status

Previous behavior: [Before regression] Menu, intro video and ALMOST in-game (works with hack)

Current behavior: [On the latest build] Crashes during logos before the menu


Screenshots [Errors, Graphics, Glitches, ECT]

Current build: capture Before: capture2 capture3

And it could even go in-game if I stopped the error from showing capture4


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

RadWolfie commented 6 years ago

Cause of regress is commit https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/commit/82de4aff003cddfa6c7ced077325db25de7848b4. By restoring it, it is not making any regressions for Lego Star Wars 1 & 2 titles.

PatrickvL commented 6 years ago

Oh wow, good find! From what I remember, that change was done because it fixed the missing vertices in the cartoon XDK sample (a bug I had spend ages on to find). So it's unfortunate that the same change turns out to have caused this Lego issue... (Luke also had an issue with it a while ago, but couldn't remember what it was, so we decided to restore the correct behaviour).

Reading this code, it currently returns a value closer to what you'd expect, than when the correction is disabled. So we should investigate (perhaps by writing tests) how this API should really behave, document it, and implement it, ignoring any fallout (which will have to be attributed to other factors).