diasurgical / devilutionX

Diablo build for modern operating systems
Other
7.97k stars 778 forks source link

[Issue Report]: White fire art in main menu #7199

Closed SODIX closed 1 month ago

SODIX commented 1 month ago

Operating System

Windows x64

DevilutionX version

1.5.2

Describe

When switching resolution in other than 4:3, white fire art in main menu is goes away.

To Reproduce

  1. Click to options
  2. Click to video options
  3. Change resolution to 16:9 or 16:10

Expected Behavior

Art in main menu should be visible at any resolution

Additional context

12312

DakkJaniels commented 1 month ago

Not sure what you mean: (640x480) image image

(1920x1080) image

SODIX commented 1 month ago

There is pink-white fire texture at menu, and it have a bug. For some reason it can not be captured at screenshot.

DakkJaniels commented 1 month ago

There is pink-white fire texture at menu, and it have a bug. For some reason it can not be captured at screenshot.

Yes, I have it in my screenshot at 640x480 and at 1920x1080, unless there is something else I'm missing there.

SODIX commented 1 month ago

Can't see it in 800x600 and 900p(1440x900), and 720p. Bug also doubled by fact, that texture isn't visible in screenshot.

DakkJaniels commented 1 month ago

I don't understand what you mean, I see the white flame in both screenshots (640x480 and 1920x1080). It's just not in the settings menu.

qndel commented 1 month ago

take a picture with phone then? we don't really need screenshots that don't show any bug ... and/or use google translate, broken english doesn't really help

DakkJaniels commented 1 month ago

800x600 image

1600x900 (I didn't have 1440x900): image

1280x720: image

julealgon commented 1 month ago

Isn't the problem here related to the widescreen version of the background asset? Maybe OP is somehow missing that? Those live in a separate .MPQ file, right? Same as those extended loading screen backgrounds?

StephenCWills commented 1 month ago

@julealgon You must be talking about this. https://github.com/diasurgical/devilutionX/blob/master/assets/ui_art/mainmenuw.clx

It goes in devilutionx.mpq, and it looks like this. mainmenuw_clx

Unless you're seeing something I don't, neither his description nor his screenshot seem to indicate that he's missing this graphic, and I don't know how he could have lost it without losing the whole mpq.

AJenbo commented 1 month ago

Feel free to add relevant information, as it it just sounds like your screen is broken at best.

SODIX commented 1 month ago

2342345234234234234 I says about this FIRE art, it have a bug, and works only in a few in-game resolutions.

SODIX commented 1 month ago

@AJenbo

AJenbo commented 1 month ago

What bug? The fire is perfectly visible in all your pictures, maybe you just have bad screen settings that is making it to dark for you to see on screen.

Can't see it in 800x600 and 900p(1440x900), and 720p. Bug also doubled by fact, that texture isn't visible in screenshot.

You posted a 800x600 with the fire in it, can you show a resolution where it's not working?

image

SODIX commented 1 month ago

This is 800x600 Изображение WhatsApp 2024-07-23 в 11 01 23_8e3aa41b

SODIX commented 1 month ago

@AJenbo Not working both, fullscreen and windowed.

julealgon commented 1 month ago

@SODIX do you see the graphic if you bump the resolution to a multiple of 640x480? Like 1280x960?

It's weird to me because 800x600 is also a 4:3 resolution, yet it doesn't show...

AJenbo commented 1 month ago

what graphics card do you have

SODIX commented 1 month ago

1280x960

This resolution show needed graphics(fire).

@AJenbo RTX2060SUPER, monitor Samsung B1930(1440x900). Reopen the bug, confirmed by @julealgon

DakkJaniels commented 1 month ago

@SODIX Can you screenshot your graphics settings? and also screenshot your DevilutionX folder, with file sizes visible? @julealgon didn't confirm this as far as I can tell, there is only 1 picture from you showing the fire missing.

AJenbo commented 1 month ago

Is this a SDL1 build you are running?

DakkJaniels commented 1 month ago

It said Windows x64 in report, I had assumed it was just the release version, but probably good to confirm if @SODIX is building this instead of using release.

SODIX commented 1 month ago

@DakkJaniels image

image

Is this a SDL1 build you are running?

Official build for Windows from github.

SODIX commented 1 month ago

I also use Linux, can confirm the same bug, on Linux(and even more, if you use wayland).

DakkJaniels commented 1 month ago

Why do you have all that other stuff in there? Extract DevilutionX to its own folder, and move the mpq's into that folder, then see if there is still an issue.

AJenbo commented 1 month ago

What did you do differently initially when you where able to post a 800x600 screen shots where the background shows up correctly?

AJenbo commented 1 month ago

Why do you have all that other stuff in there?

I think that is mostly left overs from older versions

StephenCWills commented 1 month ago

I also use Linux, can confirm the same bug, on Linux(and even more, if you use wayland).

Did you run your Linux tests on the same hardware?

DakkJaniels commented 1 month ago

I think that is mostly left overs from older versions

Looks to me like it's extracted to Hellfire install folder from a CD.

Also diabdat.mpq look a bit small.

SODIX commented 1 month ago

@AJenbo This was 960x540. This shows graphics. 800x600 don't work.

I also use Linux, can confirm the same bug, on Linux(and even more, if you use wayland).

Did you run your Linux tests on the same hardware?

Yep. OpenSUSE Tumbleweed, Plasma5, Wayland, last proprietary drivers.

SODIX commented 1 month ago

I think that is mostly left overs from older versions

Looks to me like it's extracted to Hellfire install folder from a CD.

Also diabdat.mpq look a bit small.

This is Russian unofficial(why still?) localization, few bits here, few bits there.

SODIX commented 1 month ago

even

image Bug still there.

SODIX commented 1 month ago

I tested all my screenshots in GIMP(upped the brightness), yes in you turn up the brightness, you can see the art, but game will looks like crap, it's and resolution/brightness bug. Only few resolutions(1280x960 for example), show needed art with default brightness.

DakkJaniels commented 1 month ago

image image

Maybe it has to do with your monitor resolution. I can't select 1440x900 to test that myself.

SODIX commented 1 month ago

image image

Maybe it has to do with your monitor resolution. I can't select 1440x900 to test that myself.

Confirmed by two people, on Windows(me, @julealgon) and Linux(me). I will not play thimbles, my monitor is ok.

DakkJaniels commented 1 month ago

@SODIX where did @julealgon confirm this? I see no screenshots from him, but maybe I missed it.

I'm not sure what "I will not play thimbles" means, probably some idiom that doesn't translate. I'm trying to figure out where your issue is, because I'm not having it using the same settings as you. The only difference I can tell, so far, is that my monitor is set to 2560x1440. I tried setting it to 1600x900 and did not experience the missing fire issue.

StephenCWills commented 1 month ago

Confirmed by two people, on Windows(me, @julealgon) and Linux(me). I will not play thimbles, my monitor is ok.

To be clear, julealgon did not explicitly confirm the issue. He was asking you whether it works at 1280x960 because you erroneously reported that it only works on 4:3 resolutions.

I still don't see anything in the code that would make the appearance of the background art change based on resolution, except maybe this.

https://github.com/diasurgical/devilutionX/blob/3555346ed8d4a515162eb82df3ad9729f2386e2c/Source/DiabloUI/diabloui.cpp#L732-L736

What's clear to me is that you are the only one here who can reproduce the issue so it seems to be something specific to your setup. It could be either your graphics card, your graphics driver, your Russian unofficial MPQ, or something I haven't even thought of. I'm sorry, but there is just not enough information for us to even approach a fix for this based on what you provided.

SODIX commented 1 month ago

Ok, I can delete ru.mpq, and there is typo it's DON'T work on 4:3 resolution. image image

SODIX commented 1 month ago

Can confirm, I can see graphics, on phone(Samsung M12, Android, Whatsapp), screenshot from PC. Still I'm think it's a bug.

DakkJaniels commented 1 month ago

Isn't that a picture of it working? Can you provide screenshot of graphics settings and screenshot of it not working? Or are you saying it shows up in the screenshots, but doesn't show up on your monitor?

It's very confusing what resolutions you say it's working at and what resolutions you say it's not working at.\

Edit: just noticed this:

I tested all my screenshots in GIMP(upped the brightness), yes in you turn up the brightness, you can see the art, but game will looks like crap, it's and resolution/brightness bug. Only few resolutions(1280x960 for example), show needed art with default brightness.

Seems like it's an issue with your hardware or monitor settings and not an issue with the program 🤷🏽‍♂️

SODIX commented 1 month ago

Isn't that a picture of it working? Can you provide screenshot of graphics settings and screenshot of it not working? Or are you saying it shows up in the screenshots, but doesn't show up on your monitor?

It's very confusing what resolutions you say it's working at and what resolutions you say it's not working at.\

Edit: just noticed this:

I tested all my screenshots in GIMP(upped the brightness), yes in you turn up the brightness, you can see the art, but game will looks like crap, it's and resolution/brightness bug. Only few resolutions(1280x960 for example), show needed art with default brightness.

Seems like it's an issue with your hardware and not an issue with the program 🤷🏽‍♂️

I tested hardware with different regimes and full brightness (monitor: magicbright, magicolor). Don't work on PC. But, if I change resolution to 1280x960 or 960x540 everything work as fine. I also should say that this both resolutions are unsupported by my monitor and works in 60gHz.

DakkJaniels commented 1 month ago

As far as I can tell, you are posting screenshots where the fire is clearly visible to all of us, but it's not visible to you. Like here, it seems you don't see the fire?

Ok, I can delete ru.mpq, and there is typo it's DON'T work on 4:3 resolution. image image

SODIX commented 1 month ago

@DakkJaniels

This is 800x600 Изображение WhatsApp 2024-07-23 в 11 01 23_8e3aa41b

DakkJaniels commented 1 month ago

@DakkJaniels

This is 800x600 Изображение WhatsApp 2024-07-23 в 11 01 23_8e3aa41b

Right, the only time we see it not show up is with a picture of your screen. Your screenshots all include the fire. Seems like a settings/hardware problem. Not sure why changing the resolution changes how you see it though.

julealgon commented 1 month ago

@SODIX

...and there is typo it's DON'T work on 4:3 resolution.

Oh...... that changes things. It then becomes more likely to be related to your Russian original data files since I'm pretty sure DevilutionX just reuses the resources from the original MPQ directly using known keys for the original 4:3 assets. It would be nice if you could retest using the original US .mpq from the US release (if you have access to that).

BTW, like others have mentioned, I did not confirm the bug: I just asked you extra questions to try to understand where the problem could be. I don't have access to your Russian release to test this.

DakkJaniels commented 1 month ago

@SODIX do you see the fire in all of the screenshots I've posted?

StephenCWills commented 1 month ago

To be very clear, 100% of the time, regardless of the resolution, the game draws the widescreen background art followed by the original 640x480 background art.

The only thing that depends on the resolution is the UiClearScreen() function. If the resolution is larger than 640x480, it will draw a black rectangle before drawing the background art in order to clear portions of the screen that aren't covered by the background art.

Best I can figure is that maybe this has something to do with double buffering, but I can't reproduce it even with Upscale: OFF.

DakkJaniels commented 1 month ago

Best I can figure is that maybe this has something to do with double buffering, but I can't reproduce it even with Upscale: OFF.

Based on what he said, I'm not sure it's even related to that. He said he can see the fire in his screenshots if he adjusts them in GIMP, so it's there, he just can't see it on his monitor.

I tested all my screenshots in GIMP(upped the brightness), yes in you turn up the brightness, you can see the art, but game will looks like crap, it's and resolution/brightness bug. Only few resolutions(1280x960 for example), show needed art with default brightness.

SODIX commented 1 month ago

related to that. He said he can see the fire in his screenshots if he adjusts them in GIMP, so it's there, he just can't see it on his monitor.

I can't see it even on photo, on phone.

To be very clear, 100% of the time, regardless of the resolution, the game draws the widescreen background art followed by the original 640x480 background art.

The only thing that depends on the resolution is the UiClearScreen() function. If the resolution is larger than 640x480, it will draw a black rectangle before drawing the background art in order to clear portions of the screen that aren't covered by the background art.

Best I can figure is that maybe this has something to do with double buffering, but I can't reproduce it even with Upscale: OFF.

You do code, and fix bugs. So you can see better.

DakkJaniels commented 1 month ago

related to that. He said he can see the fire in his screenshots if he adjusts them in GIMP, so it's there, he just can't see it on his monitor.

I can't see it even on photo, on phone.

Yes, I can't see it on the photo of your monitor either. Every other screenshot you've posted includes the fire that is easily seen on (my) PC.

I will note, however, that when I looked at this GitHub issue on my phone. it is much harder to see the fire on many of the screenshots. Again, it seems to me like this is a hardware/settings issue, not a program issue.

Edit: I also noticed that when I run DevilutionX on my Pixel 8 Pro, using shareware, the white graphic is not really visible unless I up the brightness on my phone. Then I went to my display settings and switched the colors to natural (it was originally set to adaptive) and the white graphic shows up fine. Seems to me this is not a DevilutionX issue or bug.

SODIX commented 1 month ago

issue

It's the program bug, because of you can't set brightness up to see fire, and have the still the same default darkness in-game.