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

Full screen turns the game Black and White/Negative #86

Open
Ucial-Thare opened this issue Nov 17, 2023 · 10 comments
Open

Full screen turns the game Black and White/Negative #86

Ucial-Thare opened this issue Nov 17, 2023 · 10 comments
Labels

Comments

@Ucial-Thare
Copy link

Hi

Installed Syndicate Wars via the latest installer using the European CD.
When it runs in full screen the game is displayed in Black and White, almost negative colour scheme. See attached image.
When I run it in a Window everything displays fine. But I cannot change the size of this Window.
My display drivers are up to date for my Nvidia GeForce GTX 970, running Win7, desktop resolution is 1920x1080.
I have tried different desktop resolutions but it hasn't helped. I do have multiple monitors with stretched Desktop, so I turned that off, it didn't help.
I don't have this issue with any other game running in full screen.
Any ideas on what I can do to sort this?

20231117_155101

@mefistotelis
Copy link
Collaborator

Ha, so this can happen..

Looks like your drivers support 8bpp colour mode, but Windows doesn't allow to set a custom palette in this mode.

This is unusual today - most GFX drivers are not allowing 8-bit mode, entering 24-bit mode instead and emulating 8bpp by software. Looks like your driver always does what it's told.

Solutions:

  1. Run the app in "compatibility mode", selecting 640x480 8bpp - this makes Windows allow the program to set custom palette. Though Windows will probably still not like it, there's possibility of strange effects after you exit the game.
  2. Modify the game resolution to not try 8bpp mode.

So the solution 2 is better, but ATM there's no config option to change resolution - the resolutions are hard-coded.
Internally, the game already supports using different "screen bpp" and "engine bpp", so only a small change in the screen BPP is needed. You'd have to modify display.c and recompile the game. Change the last "_8" to "_24" in all the following lines, and it should work.

TbScreenMode screen_mode_game_hi = Lb_SCREEN_MODE_640_480_8;
TbScreenMode screen_mode_game_lo = Lb_SCREEN_MODE_320_200_8;
TbScreenMode screen_mode_menu = Lb_SCREEN_MODE_640_480_8;
TbScreenMode screen_mode_fmvid = Lb_SCREEN_MODE_320_200_8;

@Ucial-Thare
Copy link
Author

Ok, thank you for the quick response and the detailed info.
Only one issue, I have no idea how to compile in Github, I am a total noob unfortunately.
Is there a step by step guide for compiling I can follow?

@mefistotelis
Copy link
Collaborator

We've got build instructions in README. For Windows:
https://github.com/swfans/swars#build-example---msys2-updated-2022-01-on-windows

@Ucial-Thare
Copy link
Author

Thanks, I had a look but it's way beyond my understanding.
I'll see if someone has done a YT tutorial on building .exe with GNU.
Cheers!

@mefistotelis
Copy link
Collaborator

Hm, looks like my claim that the higher res is supported in code was a bit too optimistic.

The game often decides on size of stuff based on whether it's in video mode 1 (320x200x8). Switching that to mode 3 (320x200x24) makes it assume wrong width and draw a mess on screen.

@Ucial-Thare
Copy link
Author

Thanks for taking a look into it, guess it's just too random for it to have an easy solution.

@mefistotelis
Copy link
Collaborator

Ok it's not perfect, but high res (640x480) works quite good now. One issue I've seen is with red line in drug bar.

Try the build from latest actions, and add to config.ini:

ResGameHi="640x480x24"
ResGameLo="320x200x24"
ResMenu="640x480x24"
ResFMVVidHi="640x480x24"
ResFMVidLo="320x200x24"

@Ucial-Thare
Copy link
Author

Thank you so much!!
It's now in full colour, and that's massive!!
Thanks for getting this to run better for me!

@mefistotelis
Copy link
Collaborator

I suspect many people interested in this game may have pre-2016 gfx cards, so it was kind of important.

@Ucial-Thare
Copy link
Author

Well, glad to be of assistance then =)

@Moburma Moburma added the bug label Jan 8, 2024
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

3 participants