Kilrathi saga owners: beta testers needed

sol_hsa

2nd Lieutenant
As for the mouse, did you remember to enable it? Sometimess the games default to joystick or keyboard so even though the mouse works on the carrier you have to choose mouse in the inflight options menu and save the settings (alt+o). I don't have any suggestions about the map thing though.
Thanks, that helped.

Now, here's something totally unexpected.
http://www.iki.fi/sol/zip/ddwrap_wc3.zip

That's a directdraw wrapper. It does nothing. Nothing at all. Simply catches the calls from the game and passes them along to the real directdraw dll. Untampered. Just.. passes them on.

For me, and I can't say if it does for anyone else, this fixes both the "map blinking" issue I mentioned earlier *and* palette issues, so I don't need to kill explorer anymore.

I have absolutely no idea why this works. Feel free to try it if you want, no guarantees in any direction.

The reason I have this wrapper project (along with the ddhack project) is that normally the wrapper logs all calls so I can figure out what the heck is going on. For the ddraw.dll in that zip this logging has been disabled.
 

sol_hsa

2nd Lieutenant
Yay! Got the ddhack running (more or less), by feeding the game all the same ddraw caps the real thing gives. Still a lot to do, but no show-stoppers anymore, I hope.
 

sol_hsa

2nd Lieutenant
Did a quick experiment.. de-interlacing the videos in wc3:



..and yes, it's very blockyness is way more evident when the scanlines are doubled. It just might look better if I scale it down to 1/4 and output with bilinear filtering.

Like I said, lots of things to do.. =), but at least it's possible now.
 

PopsiclePete

Mission programmer
Now, here's something totally unexpected.
http://www.iki.fi/sol/zip/ddwrap_wc3.zip

That's a directdraw wrapper. It does nothing. Nothing at all. Simply catches the calls from the game and passes them along to the real directdraw dll. Untampered. Just.. passes them on.

For me, and I can't say if it does for anyone else, this fixes both the "map blinking" issue I mentioned earlier *and* palette issues, so I don't need to kill explorer anymore.
Great ! Are you going to do WC4Win95/WC4DVD afterward ? I must say your work on WC1 had given me the idea of doing a wrapper too, exactly for the purpose of fixing the palette problem in WC4... if you're going to do it I'll just wait patiently :)

BTW I tried that "ddwrap_wc3.zip" dll version on WC4DVD, it doesn't fix the palette.
 

sol_hsa

2nd Lieutenant
Great ! Are you going to do WC4Win95/WC4DVD afterward ? I must say your work on WC1 had given me the idea of doing a wrapper too, exactly for the purpose of fixing the palette problem in WC4... if you're going to do it I'll just wait patiently :)
In the wing commander pile I bought there's a wc4 too, which from the looks of it is the cd version.. so yeah, I guess that's next, once I've run through wc3. Assuming, of course, that it's a ddraw and not a d3d game.

BTW I tried that "ddwrap_wc3.zip" dll version on WC4DVD, it doesn't fix the palette.
Considering that it shouldn't fix *anything*, I'm not surprised.
 

sol_hsa

2nd Lieutenant
Doesn't look any more blocky than what I would expect from the low-resolution PC videos.
That single frame came out much better than the videos in the game in general do. Anyway, my plan is to make a few different approaches at deinterlacing.
 

sol_hsa

2nd Lieutenant
wing commander 3 support!

Here we go:

http://iki.fi/sol/zip/ddhack05.zip

- Wing commander 3 support(!)
- Optional scan doubling for wc3 videos
- Couple "alternate window position" settings for troubleshooting for those who are getting black screens

I haven't tested this one with wc1 or wc2, so I *may* have broken them, I doubt it though. I've also done relatively little testing with wc3, but I wanted this one out as soon as possible as it's (in my opinion) a real quantum leap in wc3 usability in win7.

I also haven't tested this with wc4, so if someone is feeling adventurous... =)
 

sol_hsa

2nd Lieutenant
Here's some more experimentation. I figured I might try to hit the wc3 videos with a blur kernel to see if I can make them look.. less blocky.

It's a balancing act between blurring enough to remove noise and blockiness and not blurring too much to lose information.

Some comparisons..


(from the start vid)


(talking in the elevator)

These are just really quick hacks, but might be of interest.

From top left: original, scan-doubled, and then six different blur kernels.

Note that all of these shots are tiny on modern PCs compared to what you actually see in the game, so the blockiness may not be that much of an issue in these shots, while they're much more evident in-game.

Also, found one bug on 0.5 already; the choises in conversations are scan-doubled too. Sorry. =)
 

Magamo

Rear Admiral
So, I haven't actually played around with this in WC1/2 yet, but when running WC3 under WINE (yes, even with the horribly screwed up sound one gets during the movies) I've noticed something a little odd. I tried the -NO_INTERLACE flag to wc3w.exe, and using ddhack, that resulted in a black screen on the videos ONLY. (I turned on wc3scandouble in ddhack.cfg) However, leaving the videos interlaced seemed to display properly (Though it was a tad ugly for me with the scandouble flag set, and the internal scanlines still going)

EDIT -- I was screwing up the config file. I got the wc3scandouble flag to work. However, upon further testing, I'm noticing a couple of oddities. No matter what graphical options I set, in flight, the game seems quite a bit more pixelated. I cannot be certain, but this appears to possibly be an aspect ratio issue. Also, ddhack has turned space black, instead of WC3's usual blue -- I personally like this change, but it might be a good configuration option for those that would prefer to have the game look a little more like it used to.
 

Wedge009

Rogue Leader
What sort of convolutions are you using? It seems the bottom second-left one blurs the noise the most, but perhaps removes too much information. A balancing act, as you say. I'm just curious to know which algorithms you're using.

A nicer thing might be to hack the PC version to use the best available source videos - I understand they're supposed to be from the 3DO version, but then we don't even have a way to extract those videos at the moment.
 

AD

Finder of things, Doer of stuff
Regarding WC3... doesn't adding the "-no_interlace" switch to the WC3 kilrathi saga executable get rid of the interlacing anyway?

I agree with Wedge though that a balance between bluring and keeping detail is needed... These screenshots definitely show where the added color depth of the PSX version is an improvement. Someone should hack the PC version to use those videos we recently extracted...
 

sol_hsa

2nd Lieutenant
Regarding WC3... doesn't adding the "-no_interlace" switch to the WC3 kilrathi saga executable get rid of the interlacing anyway?
:rolleyes: and there I was, thinking that feature only existed in wc4. Oh well.
 

Wedge009

Rogue Leader
It's all right. All that does is make your 'scan-doubled' option redundant, doesn't it?

Someone should hack the PC version to use those videos we recently extracted...
It's interesting to note, as we've already discussed, AD, that the PlayStation videos aren't always superior to the PC ones. I think it's like the difference between a traditional GIF image and a JPEG-compressed one. GIF is limited to 256 colours, but is lossless, and the PC version is limited to 256 colours, but has relatively crisp details. Similarly, JPEG allows for 24/32-bit colour depth, but (depending on the compression level) suffers from compression artefacts around sharp edges and the like, and the PlayStation videos, at least the ones made available for the CIC's birthday, also has greater colour depth, but sometimes suffers from from compression artefacts, especially noticeable in scenes such as the wire-frame animations.

I think we came to the conclusion (or hope) that the 3DO videos would provide the best of both worlds? Combining a similar level of crispness to the image quality of the PC version, yet benefiting from the greater colour depth afforded by improvements in video compression technology for the PlayStation version, or something along those lines.
 

sol_hsa

2nd Lieutenant
Naturally the scan doubling should not be used with the -no_interlace flag. Anyway, I have a couple things I want to try with the vids.. and all of these are naturally optional, nobody is forced to use the options.
 

sol_hsa

2nd Lieutenant
Hm, I'm getting a black screen with -no_interlace in ddhack, so there's something different going on with it. Will investigate (when I find the time next..)
 

sol_hsa

2nd Lieutenant
Ah, so THAT'S what the extra surface was for.

The game creates a 320x240 surface which doesn't seem to be in use anywhere, but if I use the -no_interlace flag, it does get used - the game does this:

smallsurf->blt(clear)
smallsurf->lock()
smallsurf->unlock()
backbuffer->blt(smallsurf)
backbuffer->lock()
backbuffer->unlock()
primary->flip()

Since I haven't implemented surface-to-surface blits (with scaling, even) yet, it's no wonder there's a black screen.

This also confirms my suspicion that the videos are 320 pixels wide natively.
 

sol_hsa

2nd Lieutenant
Okay, got that bit running, and added an option..



I find the "small video" option much easier on the eyes than the scaled-up version, but as your mileage may vary, this is yet another optional feature.

Funny side note - the game randomizes the order of your answer options; they are reversed in the two images above.
 

sol_hsa

2nd Lieutenant
Curious. The flight options have a 'vga' mode which also uses that small surface, but the vga mode only stays on for a second and then reverses to svga. Is this normal?
 

Wedge009

Rogue Leader
I don't know. I only recall that switching the VGA option sets the screen to 320x240 resolution. SVGA uses 640x480.

This also confirms my suspicion that the videos are 320 pixels wide natively.
Yes, the PC videos are 320x160 pixels in resolution.

Funny side note - the game randomizes the order of your answer options; they are reversed in the two images above.
Yes, this was a deliberate design decision so that the player doesn't automatically think: 'Top = Good, Bottom = Bad'.
 
Top