Author Topic: Freespace 1 on Windows10  (Read 3122 times)

0 Members and 1 Guest are viewing this topic.

Offline Col. Fishguts

  • voodoo doll
  • 211
Freespace 1 on Windows10
This is something I randomly noticed recently. While I had a FS1 installation present on my Win10 machine for a long time, it never worked without issues.

Since Windows Vista, compatibility with games that use a paletted 256 color mode is wonky, with Windows not letting the game fully control the color palette. With the wrong color palette in use, games are rendered with random colors all over the place.
There were ways around that by reverting to an older ddraw.dll versions, but since Win10 I never got it working without issues. At best the main hall was rendering correctly, but mission backgrounds still had corrupted color palettes.
But something in the latest Win10 update 22H2 seems to have been fixed in that regard.

So by doing these steps:

- Install FS1 normally from CD
- Set compatibility mode to "Windows 98 / Windows Me" for FreeSpace.exe and FS.exe
- Drop a ddraw.dll replacement in the FS1 installation folded, I use the "DDrawCompat" DLL wrapper from here: https://github.com/narzoul/DDrawCompat

I got FS1 working fine in software mode:



So I did something I have actually never done before: Play through the FS1 campaign in software mode.
Back in 1998 I played FS1 in software mode for maybe 5 minutes in total. My PC was a Pentium133, which managed a playable framerate in software mode with 1 or 2 ships on screen. Any combat or capital ships would tank performance to single-digit framerate.
But I also had a Voodoo card, which managed smooth framerates with all graphics settings on max, so I never went back to software mode.

So here are some notes/impressions on FS1 in software mode:

- You get glowing light/windows like on Glide mode:



- Crispy pixels with nearest-neighbour filtering. This is a matter of taste. I definitely preferred the bilinear-filtered look back then, but I've since come to appreciate the look of software renderers (and the effort that went into them) more.



- You get to see all textures in their original resolution (texture size limitations don't apply when your texture doesm't need to be loaded to VRAM). This is mostly noticeable on the cruisers and freighters (which are fully UV mapped with hires textures), and of course the Lucifer which uses a 1452x1024 main texture.



- Transparency is not using alpha blending, but some kind of additive blending mode, where the brighter pixel wins. This is definitely a downgrade over proper alpha-blending like in Glide and D3D, with the final subspace mission being the most glaring example.



The main benefit of software mode is that you get the hires textures working at the same time as the glowing windows.
With D3D you can enable hires textures (by setting the correct registry keys), but you get no glowing lights.
With Glide you get glowing lights, but all textures are resized to maximum 256x256 when they are loaded to VRAM, which results in blurry ships that use UV mapped textures.

Some quirks/bug I noticed, which are probably due to too-high CPU speed, messing up some time-based calculations?:
- Weapon energy is consumed at a lower rate than normal. I only noticed this when I used a Herc with an all-Banhsee loadout, which never dropped below 90% energy while constantly firing.

- Aspect-seeking missiles seem to be worse than normal at tracking/leading their targets, with Interceptor/Phoenix missiles struggling to hit anything unless from straight front/back.

- Capital ships struggle to recognize when they have reached their last waypoint, sometimes they tend to just spin around in place instead of departing. It doesn't always happen, so in the few cases where it blocks mission progress, restarting the mission was enough to get through.
But it led to a canon-defying situation where in "The Great Hunt" the Lucifer casually spun around and nuked the Bastion with its flux cannons.... woops:
"I don't think that people accept the fact that life doesn't make sense. I think it makes people terribly uncomfortable. It seems like religion and myth were invented against that, trying to make sense out of it." - D. Lynch

Visit The Babylon Project, now also with HTL flavour  ¦ GTB Rhea

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: Freespace 1 on Windows10
Wow, this is fascinating.  Excellent research. :yes:

 
Re: Freespace 1 on Windows10
Have you tried using NGlide to make it work in glide mode as well? I tend to have more success with running games that offer multiple graphics modes (ie D3D, software and glide, like FS1 does) through the nglide wrapper.

Also, well done! I wasn't actually aware until very recently that vanilla FS ships had (the equivalent of) glowmaps.

 

Offline Colonol Dekker

  • HLP is my mistress
  • 213
  • Aken Tigh Dekker- you've probably heard me
    • My old squad sub-domain
Re: Freespace 1 on Windows10
I played FS1 in software the while way through when I bought it.  My voodoo 3 allowed me to enjoy FS2.
Campaigns I've added my distinctiveness to-
- Blue Planet: Battle Captains
-Battle of Neptune
-Between the Ashes 2
-Blue planet: Age of Aquarius
-FOTG?
-Inferno R1
-Ribos: The aftermath / -Retreat from Deneb
-Sol: A History
-TBP EACW teaser
-Earth Brakiri war
-TBP Fortune Hunters (I think?)
-TBP Relic
-Trancsend (Possibly?)
-Uncharted Territory
-Vassagos Dirge
-War Machine
(Others lost to the mists of time and no discernible audit trail)

Your friendly Orestes tactical controller.

Secret bomb God.
That one time I got permabanned and got to read who was being bitxhy about me :p....
GO GO DEKKER RANGERSSSS!!!!!!!!!!!!!!!!!
President of the Scooby Doo Model Appreciation Society
The only good Zod is a dead Zod
NEWGROUNDS COMEDY GOLD, UPDATED DAILY
http://badges.steamprofile.com/profile/default/steam/76561198011784807.png

 

Offline Col. Fishguts

  • voodoo doll
  • 211
Re: Freespace 1 on Windows10
Have you tried using NGlide to make it work in glide mode as well? I tend to have more success with running games that offer multiple graphics modes (ie D3D, software and glide, like FS1 does) through the nglide wrapper.

I was already toying around with dgvoodoo as as Glide wrapper.
For reference: It works without too much fiddling, the only setting I needed to change was enabling the "Force emulating true PCI access" setting, otherwise mouse input in the mainhall was very laggy.


When forcing higher resolutions, there some some artifacts around text elements, not so bad in 1024x768:


But it gets worse at 1920x1440 (save images to see them in full resolution)



Also, there is some noticeable stuttering every time a new animation (e.g. HUD message or effects) is played.
So overall not very enjoyable, but interesting to see how it might have looked like if the engine wasn't locked to 640x480.

I will try nglide as well, to see if it works better/worse.
"I don't think that people accept the fact that life doesn't make sense. I think it makes people terribly uncomfortable. It seems like religion and myth were invented against that, trying to make sense out of it." - D. Lynch

Visit The Babylon Project, now also with HTL flavour  ¦ GTB Rhea

 
Re: Freespace 1 on Windows10
I did find NGlide to be significantly less of a hassle then DGVoodoo (which if anything has too many options for me).

I should give it my own shot really...

 

Offline Col. Fishguts

  • voodoo doll
  • 211
Re: Freespace 1 on Windows10
Tried it also with nGlide now. As advertised, it works straight out of the box, without any configuration tweaks.
At forced higher resolutions, there are also some artifacts around text elements, but less noticeable than with dgVoodoo.
Also, there is no stuttering (like there is in dgVoodoo), so overall it's the superior experience.
If one would also use some CPU-slowdown tool (to avoid the glitches caused by too fast CPU), you'd get a perfect setup.

"I don't think that people accept the fact that life doesn't make sense. I think it makes people terribly uncomfortable. It seems like religion and myth were invented against that, trying to make sense out of it." - D. Lynch

Visit The Babylon Project, now also with HTL flavour  ¦ GTB Rhea

  

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: Freespace 1 on Windows10
I wonder if you can edit the max texture size for Glide mode somehow.  Would be interesting.

 
Re: Freespace 1 on Windows10
I know it's pretty strongly hardcoded in a few other games, so I expect it's not going to be easy for FS1.

Also, glad to see you got it to work, fishguts!

 

Offline Col. Fishguts

  • voodoo doll
  • 211
Re: Freespace 1 on Windows10
I wonder if you can edit the max texture size for Glide mode somehow.  Would be interesting.

The texture size limit at 256x256 is hard-baked into the Glide API (at least in version 1.x and 2.x), since the hardware cannot handle larger texture sizes, due to the way the texture memory is organized on V1/V2/V3 boards.
So any larger texture you ask Glide to load into VRAM gets down-sampled to the nearest 2^n value <= 256.
Now in principle a Glide wrapper could work around that limit and inject arbitrary textures during rendering, but from what I read on the  dgvoodoo forums it's not exactly trivial, but might be implemented at one point.
"I don't think that people accept the fact that life doesn't make sense. I think it makes people terribly uncomfortable. It seems like religion and myth were invented against that, trying to make sense out of it." - D. Lynch

Visit The Babylon Project, now also with HTL flavour  ¦ GTB Rhea