gonetz / GLideN64

A new generation, open-source graphics plugin for N64 emulators.
Other
779 stars 181 forks source link

Flying dragon : incorrect gfx (HLE issue) #2844

Open olivieryuyu opened 5 months ago

olivieryuyu commented 5 months ago

HLE

GLideN64_FLYING_DRAGON_004

LLE

GLideN64_FLYING_DRAGON_006

No idea where the issue comes from

olivieryuyu commented 4 months ago

it is not only in the first screen it is everywhere

olivieryuyu commented 4 months ago

same issue with SD_HIRYU_STADIUM

GLideN64_SD_HIRYU_STADIUM_003

gonetz commented 3 months ago

About Flying dragon: the first screen is rendered with F3D_Sprite2D_Base command, that is Sprite2D. LLE translates it to set of texrects. HLE loads the image as whole and renders it with set of triangles. It's hard to say, where the difference in approaches causes the difference in output.

SD_HIRYU_STADIUM is not the same issue. It uses texrects for 2D, not high-level sprites. No surprise that LLE have the same issues here.

2D in both games can be fixed if run them in native-res mode. May be it would be worth to rewrite Sprite2D command, as we did it for BgRect* commands, that is implement Stripped mode which use texrects for rendering images.