Kilrathi saga owners: beta testers needed

AD

Finder of things, Doer of stuff
Curiousier and curiousier. wc4 switches to 640x480x16 after load in the above scenario. So one 'load game' screen is in 8 bit paleted mode and the next is in 16bpp direct color. Go figure. Means I have to add the 16bit support at this point in any case.

The windows version of WC4 also has a "-true_color" switch... Just a reminder that there are all of these that may be affecting your patch/hack...

-i Run install program (from Wing IV DOS)

-d Force hardware double buffering off -- essentially disables the
speed gain of DirectDraw, and draws the screen similar to the
DOS version. This is on by default.

-h Use the MUSICx.TRE from the CD -- This file was copied
to the hard drive to increase frame rate of the DOS version.
Explosions, comms, and music all spooling from the CD cause the
frame rate to decrease dramatically.

-l# With native CDs, the game will use the native language. If the
switch is used, the subtitles will appear in the desired
language.

0 English
1 German
2 French

For example, -l2 will select French subtitles.

-no_interlace Do not draw the "black lines" between each line of the
movies.

-no_sound Disable DirectSound

-true_color Use 24-bit color for the movies

-dead_zone=# Increase or decrease the dead zone for greater
joystick precision. By default, the dead zone is
1. Using a value of 0 will turn the dead zone
off, and using a value of 3 will make the game
respond similar to the DOS version.

For example, -dead_zone=0 will turn off the dead zone.
 

sol_hsa

2nd Lieutenant
Heh, requiring the -true_color might even make things easier.. I'll try different things out later today. =)
 

AD

Finder of things, Doer of stuff
No, it just means the blits go to the front buffer and the back buffer. The "this is on by default" is puzzling. How to turn it off then?

The "-d" switch turns it off.

-d Force hardware double buffering OFF -- essentially disables the
speed gain of DirectDraw, and draws the screen similar to the
DOS version. This is on by default
 

sol_hsa

2nd Lieutenant
Heh.. tried -true_color; it tries to set up a 24bit mode, not 32bit, and my modern graphics card says no thanks =) Amazing.. so, the game falls back to 16bit.

And naturally it only affects the movies, so in-game palette is still messed up. I was half hoping the whole game would run in truecolor so the hack would be not needed at all..

Anyway, the game does seem to want to use GDI for graphics output partially. Either back then drivers were very bad or the developers were doing something weird, or both.

One workaround I'm thinking of is to hide the game's actual window and create a new one for graphics output, and whenever the game throws a fliptogdisurface, I'd just grab the pixels from the original window.

That does mean a lot more work though. Sigh.
 

sol_hsa

2nd Lieutenant
More bizarre things. It seems 16bit video is in fact 15bit, and the 24bit mode is the same with a zero byte padded after every pixel.
 

sol_hsa

2nd Lieutenant
Yes, verified it. I'm amazed, but that's what it looks like - the 24 bit mode is actually 15bit with some padding.
 

sol_hsa

2nd Lieutenant


So.. managed to get the gdi data copy magic going. The GDI output still blinks every now and then, so I need to see what I can do about hiding the original window and creating a new one..

And yes, it always blinks if I take a screenshot, as shown above. =) The image is (naturally) scaled down, so the upper left corner image is 640x480 pixels.

Anyway, this seems to be the last big hurdle before I get to actually PLAY this game. 8bit, 16bit (and "24bit") videos work, ingame works..
 

Wedge009

Rogue Leader
If the source is limited to 15/16 bits, then I think it makes sense that '24-bit' mode just pads zeroes - it's not as though the renderer can magically increase the colour quality. :)
 

sol_hsa

2nd Lieutenant
If the source is limited to 15/16 bits, then I think it makes sense that '24-bit' mode just pads zeroes - it's not as though the renderer can magically increase the colour quality. :)
That depends on the video format.. if it's some kind of a blocky format which interpolates between values, the 24bit image might actually look slightly better.

In any case I would have expected the format to be 5:3:5:3:5:3 instead of 1:5:5:5:8 =) I don't know how this should be able to work anywhere, ever.. it's entirely possible that I'm (still) not giving the game all the information it's expecting, but we're deeply into the "good enough" territory by now.

Unless something comes up, I'll be posting the first wc4 version of ddhack tonight.
 

sol_hsa

2nd Lieutenant


Heh, instead of creating a new window, I kludged it by making the window 480 pixels taller; GDI offsets to the upper left corner, OpenGL offsets to bottom left corner, so that (along with fixing mouse coordinates and stopping wc4 from moving the window) is all it took.
 

sol_hsa

2nd Lieutenant
..that means if someone has two monitors on top of each other, they'll see the top of the ddhack window, but why me worry?
 
Top