xenia-project / xenia

Xbox 360 Emulator Research Project
https://xenia.jp
Other
8.24k stars 1.14k forks source link

Forza Horizon 1 & 2 - invisible terrain #1533

Open CookiePLMonster opened 4 years ago

CookiePLMonster commented 4 years ago

After recent (38bf6c88221fa724efe2accea3d61033a7ccab37) PR merges Forza Horizon goes ingame with reasonably good performance, however terrain is missing:

image

image

As far as I can tell, only terrain geometry is missing. In Forza Horizon 2, those issues happen too but somehow are less pronounced:

image

Running in Debug/Checked reveals an interesting issue - namely, this assert is hit, although variables tested by it are not used anymore!

      assert_true(!fetch_instr.attributes.stride ||
                  vertex_binding.stride_words == fetch_instr.attributes.stride);

Even then, it's the only game I am aware of to hit this assert - so perhaps it is a lead despite the fact it's asserting attributes currently unused by Xenia.

Forza Horizon 1 log, if it's of any use: xenia.zip

arcadee1977 commented 4 years ago

Forza Horizon 2 : A few minutes after the game runs, some objects will appear some weird colors similar to self illumination :

未标题-1

未标题-2

Pablo96 commented 3 years ago

I am not an expert on this but for sure is a thing on loading vertex of the terrrain since always terrains work very differently from other assets. I would love too look this up but have no clue where to start with this emulator or if a xbox 360 is needed. Also I just saw that it only get stuck on that assert if you run on debug mode. Since the prebuilt executable run pass this assert

JoelLinn commented 3 years ago

We emulate the GPU on the hardware level because D3D and the GPU driver are linked statically to the game executable. It all gets a tad more complicated due to this. You can join the discord to get in touch with the developers.

Pablo96 commented 3 years ago

@JoelLinn Hi, I already am on discord however I dont have access to the dev room.

JoelLinn commented 3 years ago

You can ask in #xenia, maybe ping triangel. Somebody will give you the rights at some point

On 20. May 2021, at 02:18, Pablo Narvaja @.***> wrote:

 @JoelLinn Hi, I already am on discord however I dont have access to the dev room.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

Xaonix227 commented 3 years ago

thank you

legend800 commented 3 years ago

Can we please lock this thread to avoid hearing idiotic comments by this moron? Thanks.

Gruphius commented 2 years ago

I'm having a simmilar issue. I have the same terrain missing, however the game runs horribly. The screen freezes, but the game itself keeps running at normal speed. Also it seems that when I crash my car ingame with enough force I even crash Xenia.

mohalisad commented 2 years ago

I can confirm that this problem is fixed in canary version and you can close this issue. Example footage: https://www.youtube.com/watch?v=zA6MR2PSE1A

Margen67 commented 2 years ago

I can confirm that this problem is fixed in canary version and you can close this issue. Example footage: youtube.com/watch?v=zA6MR2PSE1A

This issue tracker is for master. It can't be closed until it's fixed on master.

dede24px commented 1 year ago

Hello, anyone experienced this kind of shadow bug under the cars?? Appeared on Xenia Canary Aug 24, 2022, and the latest build of end of July 2023... Thank you

FH1 shadow bug under cars #1 FH1 shadow bug under cars #2 FH1 shadow bug under cars #3 FH1 shadow bug under cars #4

Pipi86 commented 1 year ago

I can confirm that this problem is fixed in canary version and you can close this issue. Example footage: https://www.youtube.com/watch?v=zA6MR2PSE1A

This invisibility bug it's not completely fixed in Forza Horizon 2 using Xenia Canary, as there's still some invisible car parts (a bug that was fixed at least on Forza Horizon 1). One example is the invisible car rims when inspecting a car in the car dealer, another one the rear view mirrors sometimes flickering or even always invisible.