Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Black background blinks in Ultima VI: The False Prophet (2023-10-06 regression) #4507

Closed
2 tasks done
TeaRex73 opened this issue Oct 7, 2023 · 9 comments
Closed
2 tasks done
Labels

Comments

@TeaRex73
Copy link

TeaRex73 commented Oct 7, 2023

Describe the bug

In a freshly installed, unconfigured DOSBOX-X release 2023-10-06 (but not in 2023-09-01), when running an unmodified Ultima VI: The False Prophet - copied to hard disk from the Ultima Collection CD - when entering the game proper after "Journey Onward" is selected from the Main Menu and after the game is loaded (note: NOT in the intro), everything on the screen that is supposed to be black instead blinks between black and grey. This makes the game very ugly.

The bug does not seem to depend on output= or machine= settings, as long as the machine selected is VGAONLY or SVGA_S3; I didn't try the other SVGA variants yet. It does NOT happen with machine type set to MCGA.

Steps to reproduce the behaviour

  1. Install DOSBox-X release 2023-10-06 on Windows 10. Select all the standard options, except select Direct3D output instead of TTF (probably doesn't matter though).
  2. From Windows, Create a directory C:\DOS.
  3. Copy the directory ULTIMA6 from the root of The EA/Origin 1998 Ultima Collection CD https://archive.org/details/Ultima_Collection_1998_Electronic_Arts_-_Origin_compilation to C:\DOS\ULTIMA6
  4. Run DOSBox-X.
  5. MOUNT C C:\DOS
  6. C:
  7. CD \ULTIMA6
  8. LOADFIX -A ULTIMA6.EXE
  9. Cancel the introduction with the ESC key
  10. Click on "Create a Character" in the main menu and go through the character creation sequence. It's not important whether you select A or B on any of the questions.
  11. When the second part of the intro appears (purple background, altar), press ESC again
  12. Wait for the game to load completely
  13. Watch the black elements on the screen. They blink between black and grey.

Expected behavior

The black areas should be black only.

What operating system(s) this bug have occurred on?

Windows 10 22H2

What version(s) of DOSBox-X have this bug?

2023-10-06 Visual Studio SDL1 64-bit official release build. But other 2023-10-06 too, at least MinGW 64 and 32 locally compiled from source.

Used configuration

The configuration was unchanged from the default.

Output log

No log was produced.

Additional information

I built the MinGW 32 and 64 bit versions locally on this machine from unmodified GIT with the ./build-mingw command in MSYS2 and the result was the same. If you need a video capture, there is one in the comment below.

Have you checked that no similar bug report(s) exist?

  • I have searched and didn't find any similar bug report.

Code of Conduct & Contributing Guidelines

  • I agree to follow the code of conduct and the contributing guidelines.
@TeaRex73 TeaRex73 added the bug label Oct 7, 2023
@TeaRex73
Copy link
Author

TeaRex73 commented Oct 7, 2023

Video capture (Zipped):

ultima6_000.zip

Look at the shadows around the characters and the black areas (shadows) next to the two lion (or whatever) statues.

@TeaRex73
Copy link
Author

TeaRex73 commented Oct 8, 2023

Bisection shows that the commit 4784529 for issue #4505 (the setcolor TTF fix) is the culprit. The master tree branch right before that works fine, this commit introduces the erroneous behaviour.

@TeaRex73
Copy link
Author

TeaRex73 commented Oct 8, 2023

Further investigation shows that the culprit is line 245 of src/ints/int10_pal.cpp which was introduced by commit 4784529:

setVGAColor(value, imap[index]);

Commenting out that line makes the problem go away. Unfortunately I don't understand the code well enough to tell what exactly that line is supposed to do.

@TeaRex73
Copy link
Author

TeaRex73 commented Oct 8, 2023

Issue #4510 is caused by the same line of code.

TeaRex73 referenced this issue Oct 8, 2023
Fix SETCOLOR issue when output=ttf
@joncampbell123
Copy link
Owner

Further investigation shows that the culprit is line 245 of src/ints/int10_pal.cpp which was introduced by commit 4784529:

setVGAColor(value, imap[index]);

Commenting out that line makes the problem go away. Unfortunately I don't understand the code well enough to tell what exactly that line is supposed to do.

It was supposed to fix output=ttf, looks like it fixes more than that. I'll try something in master.

@maron2000
Copy link
Contributor

Sorry for the flaws, the line can be deleted for the time being.
It was required so that if you change the color in TTF mode, the change will be applied to non-TTF mode as well.

@TeaRex73
Copy link
Author

TeaRex73 commented Oct 9, 2023

Thanks for all your work and your gracious help with this. Works now with current GIT, feel free to close.

@TeaRex73
Copy link
Author

Closed.

@turol
Copy link

turol commented Mar 2, 2024

This bug also affected Master of Magic. It made most of the screen to slowly flash red.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants