Sheppard

Rear Admiral
[WING HARD V1.5 link to inactive site removed; see later posts for actual files.]

(Hosted on my site as CIC won't let you attach 3~ MB ZIP Files.

This is an outgrowth of previous research into zeroing out asteroid damage:

Link

This program lets you fine tune WC1 and WC2 (GOG releases) difficulty to what you feel is correct.

Basically, I programmed in all the offsets for Terran Confederation Ships/Craft's shield/armor values, along with their stock base values.

So for example, if you enter a multiplier of 1.5 for difficulty for Terran Ships; the game becomes easier because you now have more armor.

WC1's Hornet has 40 stock value = 4.0 cm front shields stock.

Multiplying that, it becomes 40 * 1.5 = 60 (or 6.0 cm in game).

Likewise, entering a multiplier of say 0.8, the game becomes harder because you have less armor.

Over in asteroids; difficulty is changed via changing the radius of asteroids in the game via a multiplier.

Radius is effectively the size of the in-game collision hitbox. Stock Asteroids have a radius of 100 in both WC1 and WC2.

You can now adjust how "hard" asteroid fields are -- eliminating them entirely, if you enter 0.05, it computes a radius of 5, effectively removing them as a threat in the game.

The reason for the huge file size (for what it does) is because it's written in Python v3.x; and if you want to make a distributable executable for python scripts, the packager puts EVERYTHING IN, i.e. an entire python distribution is scrunched into the executable.

Filesize issues are offset by the fact that Python is much more pleasant to program for as a hobbyist doing hobbyist things, and there's more tutorials or answered questions for things I want to do in Python.

DEV NOTES:

In WC1, everything (ship damage, asteroid radius) is all held within the executable files (WC1.exe and SM2.exe)

In WC2, only asteroid radius is in the executable (WC2.exe, SO1.exe and SO2.exe). Ship values are held in the (SHIP.Vxx) files in GAMEDAT directory.

Here's a listing of the SHIP.Vxx files

SHIP.V00---------FERRET
SHIP.V01---------RAPIER
SHIP.V02---------BROADSWORD
SHIP.V03---------EPEE
SHIP.V04---------SABRE
SHIP.V05---------SARTHA
SHIP.V06---------DRAKHRI
SHIP.V07---------JALKEHI
SHIP.V08---------GRIKATH
SHIP.V09---------STRAKHA
SHIP.V10---------BLOODFANG
SHIP.V11---------CLYDESDALE
SHIP.V12---------FREE TRADER
SHIP.V13---------DORKATHI
SHIP.V15---------CROSSBOW
SHIP.V16---------KAMEHKH
SHIP.V17---------WATERLOO
SHIP.V18---------CONFEDERATION
SHIP.V19---------GILGAMESH
SHIP.V20---------RALATHA
SHIP.V21---------FRALTHRA
SHIP.V23---------HUMAN STARBASE
SHIP.V24---------HUMAN SUPPLY DEPOT
SHIP.V25---------KILRATHI SUPPLY DEPOT
SHIP.V26---------KITHRAK MANG
SHIP.V36---------GOTHRI (S01)
SHIP.V41---------MORNINGSTAR
SHIP.V48---------AYERS ROCK
SHIP.V50---------GOTHRI (S02)

NOTE: As of version 1.5; ALTSHIPS editing is not included in WING HARD, as I'm tired and sleepy.

ALTSHIPS.000---------CONCORDIA II
ALTSHIPS.000---------SABRE TORP
ALTSHIPS.000---------EPEE NO MISSILE
ALTSHIPS.000---------SABRE TORP II
ALTSHIPS.000---------SABRE NO GUNNER
ALTSHIPS.000---------BROADSWORD II

ALTSHIPS.001---------CONCORDIA II
ALTSHIPS.001---------SABRE TORP
ALTSHIPS.001---------EPEE NO MISSILE
ALTSHIPS.001---------SABRE TORP II
ALTSHIPS.001---------SABRE NO GUNNER
ALTSHIPS.001---------BROADSWORD II
ALTSHIPS.001---------PIRATE FERRET
ALTSHIPS.001---------FERRET MARK II
ALTSHIPS.001---------PIRATE EPEE
ALTSHIPS.001---------GOTHRI
ALTSHIPS.001---------CROSSBOW II
ALTSHIPS.001---------CROSSBOW III

ALTSHIPS.002---------CONCORDIA II
ALTSHIPS.002---------SABRE TORP
ALTSHIPS.002---------EPEE NO MISSILE
ALTSHIPS.002---------SABRE TORP II
ALTSHIPS.002---------SABRE NO GUNNER
ALTSHIPS.002---------BROADSWORD II
ALTSHIPS.002---------PIRATE FERRET
ALTSHIPS.002---------FERRET MARK II
ALTSHIPS.002---------PIRATE EPEE
ALTSHIPS.002---------GOTHRI
ALTSHIPS.002---------CROSSBOW II
ALTSHIPS.002---------CROSSBOW III
ALTSHIPS.002---------MORNINGSTAR
ALTSHIPS.002---------SABRE MAND
ALTSHIPS.002---------JAZZ STAR
ALTSHIPS.002---------MAND SWORD
ALTSHIPS.002---------DORKATHI NO GUNS
ALTSHIPS.002---------CONFEDORKATHI
ALTSHIPS.002---------MANIAC STAR
 
Last edited:
After many years, I returned and rewrote it in Turbo C++ 3.0 as a pure native DOS program, so you can run it inside DOSBOX now; and this shrunk the file size dramatically.

The new readme is now below:
==========================

WINGHARD v2.0 README (1 January 2025)

WHAT IS IT?


WINGHARD is a "difficulty" editor for the original Wing Commander series (WC1/WC2) and their addons (SM/SO).

WHY DO WE NEED IT?

A lot of O.G. Wingnauts are in their forties (or fifties) now and we just don't have the time anymore to suffer through some of Chris Roberts' design decisions made to extend the playability of the games.

I'm talking about the asteroid fields (mostly).

Yes, you can just enable the invincibility cheats such as:

"wc.exe Origin -k"


But that destroys a lot of the playability of Wing Commander if you are just invincible and zipping through the game.

So I set out to find a way to get rid of asteroids; and I found it through WingLoader which gave me the values I needed to search for it in the game files.

HOW DOES IT WORK:

You simply place WINGHARD.exe into your WC1 or WC2 install directory and run it before you play Wing Commander 1 (or 2).

It will recognize the game folder it's in and switch program logic accordingly.

WINGHARD lets you fine tune WC1 and WC2 (GOG releases) difficulty to what you feel is correct.

The difficulty is adjusted via three different sets of variables:

1.) Confederation Fighter/Capital Ship Shield/Armor Values.

2.) Asteroid Radius Values.

3.) Mine Radius/Damage Values.


(NOTE: Mine editing may or may not work in WC2 as of version 2.0; so be warned).

Through a multiplier, where 1.0 = stock game values.

As an example, you enter 1.5 as the multiplier for Terran fighters; and the WC1 Hornet is changed as follows:

WC1 Hornet = 40 stock = 4.0 cm front shields.

With a 1.5 multiplier; it becomes 40 * 1.5 = 60 (or 6.0 cm front shields in game).

Likewise, entering a multiplier of say 0.8, the game becomes harder because you have less armor/shields.

For Asteroids; game difficulty is changed via changing the radius of asteroids in the game via a multiplier.

Radius is effectively the size of the in-game collision hitbox in the first-generation WC engine. Stock Asteroids have a radius of 100 in both WC1 and WC2.

You can now adjust how "hard" asteroid fields are -- eliminating them entirely, if you enter 0.05, it computes a radius of 5, effectively removing them as a threat in the game.

FILES THAT THIS EDITS:

This is so that you can backup ahead of time, and avoid having to reinstall.

WC1: WC1.EXE and SM2.EXE

WC2: WC2.EXE, SO1.EXE, SO2.EXE and all SHIP.Vxx files in the GAMEDAT directory.

VERSION NOTES:

All WINGHARD versions prior to 2.0 were written in Python. Their sources are in the Source_Python Directory.

From 2.0 onwards; WINGHARD is written (and compiled in) Borland Turbo C++ 3.0 in a DOS environment to run natively in DOSBOX. Sources are in Source_TurboC directory.

DEVELOPER NOTES:

In WC1, everything (ship damage, asteroid radius, mines) is all held within the executable files (WC1.exe and SM2.exe)

In WC2, only asteroid radius and mine data is in the executable (WC2.exe, SO1.exe and SO2.exe). Ship values are held in the (SHIP.Vxx) files in GAMEDAT directory.

WC2 SHIP.Vxx files are:

SHIP.V00---------FERRET
SHIP.V01---------RAPIER
SHIP.V02---------BROADSWORD
SHIP.V03---------EPEE
SHIP.V04---------SABRE
SHIP.V05---------SARTHA
SHIP.V06---------DRAKHRI
SHIP.V07---------JALKEHI
SHIP.V08---------GRIKATH
SHIP.V09---------STRAKHA
SHIP.V10---------BLOODFANG
SHIP.V11---------CLYDESDALE
SHIP.V12---------FREE TRADER
SHIP.V13---------DORKATHI
SHIP.V15---------CROSSBOW
SHIP.V16---------KAMEHKH
SHIP.V17---------WATERLOO
SHIP.V18---------CONFEDERATION
SHIP.V19---------GILGAMESH
SHIP.V20---------RALATHA
SHIP.V21---------FRALTHRA
SHIP.V23---------HUMAN STARBASE
SHIP.V24---------HUMAN SUPPLY DEPOT
SHIP.V25---------KILRATHI SUPPLY DEPOT
SHIP.V26---------KITHRAK MANG
SHIP.V36---------GOTHRI (S01)
SHIP.V41---------MORNINGSTAR
SHIP.V48---------AYERS ROCK
SHIP.V50---------GOTHRI (S02)

There's also the ALTSHIPS series; which as of v2.0 aren't included in editing as I don't know how they interact (are they player ones, or semi friendly NPCs?)

ALTSHIPS.000---------CONCORDIA II
ALTSHIPS.000---------SABRE TORP
ALTSHIPS.000---------EPEE NO MISSILE
ALTSHIPS.000---------SABRE TORP II
ALTSHIPS.000---------SABRE NO GUNNER
ALTSHIPS.000---------BROADSWORD II

ALTSHIPS.001---------CONCORDIA II
ALTSHIPS.001---------SABRE TORP
ALTSHIPS.001---------EPEE NO MISSILE
ALTSHIPS.001---------SABRE TORP II
ALTSHIPS.001---------SABRE NO GUNNER
ALTSHIPS.001---------BROADSWORD II
ALTSHIPS.001---------PIRATE FERRET
ALTSHIPS.001---------FERRET MARK II
ALTSHIPS.001---------PIRATE EPEE
ALTSHIPS.001---------GOTHRI
ALTSHIPS.001---------CROSSBOW II
ALTSHIPS.001---------CROSSBOW III

ALTSHIPS.002---------CONCORDIA II
ALTSHIPS.002---------SABRE TORP
ALTSHIPS.002---------EPEE NO MISSILE
ALTSHIPS.002---------SABRE TORP II
ALTSHIPS.002---------SABRE NO GUNNER
ALTSHIPS.002---------BROADSWORD II
ALTSHIPS.002---------PIRATE FERRET
ALTSHIPS.002---------FERRET MARK II
ALTSHIPS.002---------PIRATE EPEE
ALTSHIPS.002---------GOTHRI
ALTSHIPS.002---------CROSSBOW II
ALTSHIPS.002---------CROSSBOW III
ALTSHIPS.002---------MORNINGSTAR
ALTSHIPS.002---------SABRE MAND
ALTSHIPS.002---------JAZZ STAR
ALTSHIPS.002---------MAND SWORD
ALTSHIPS.002---------DORKATHI NO GUNS
ALTSHIPS.002---------CONFEDORKATHI
ALTSHIPS.002---------MANIAC STAR

Development notes (and spreadsheets) are in the Source_Notes folder.
 

Attachments

I went back and used Claude to improve WINGHARD.

I'm not going to repost the entire README; just the relevant portion:

WINGHARD v2.1 README (1 March 2026)

WHAT'S NEW:

The v2.1 update consists of the following:

New Features:

"Restore Stock Defaults" -- just what it means; one shot restore to defaults instead of having to push '1' over and over.

Bug Fixes:

Game files are now opened ONCE per file per section (not once per write), dramatically speeding up the program.

Memory Leaks and other "shoot foot" situations are fixed, such as a short overflow issue.

In a short overflow issue, the basic SHORT data type only goes up to 32767.

The CONFEDERATION's Front Shields in WC2 have a value of 5000; so if one were to increase the rating of Confed Cap Ships by more than 6.55~ ; the value of the CONFEDERATION'S front shields would be greater than 32767 and it would overflow and wrap negative, which would be bad.

To maintain continuity; the ZIP also contains:

Source for the Original Python version posted in 2018 (in Source_Python_v1 folder)
Source + Executable for the Turbo C++ version 2.0 posted in JAN 2025 (in Source_TurboC_v2 folder)
Source + Executable for the Turbo C++ version 2.1 posted MAR 2026 (in Source_TurboC_v2-1 folder)
 

Attachments

Hi, when I try to run Wing Hard, I get a Windows prompt saying "This app can't run on your PC. To find a version for your PC, check with the software publisher."

Just to be complete, I'm using windows 11, the WC1 gog version and Wingloader.

Any ideas?
 
Hi, when I try to run Wing Hard, I get a Windows prompt saying "This app can't run on your PC. To find a version for your PC, check with the software publisher."

Just to be complete, I'm using windows 11, the WC1 gog version and Wingloader.

Any ideas?
Wing Loader probably expects the Kilrathi Saga version which is windows native. In general the GOG version runs in Dosbox and WingHard is designed to run in dosbox (from farther up in the thread "WINGHARD is written (and compiled in) Borland Turbo C++ 3.0 in a DOS environment to run natively in DOSBOX"). Either you missed a step in the patching process or the patch isn't compatible with WingLoader.
 
Hi, when I try to run Wing Hard, I get a Windows prompt saying "This app can't run on your PC. To find a version for your PC, check with the software publisher."

Just to be complete, I'm using windows 11, the WC1 gog version and Wingloader.

Any ideas?
Wing Loader probably expects the Kilrathi Saga version which is windows native. In general the GOG version runs in Dosbox and WingHard is designed to run in dosbox (from farther up in the thread "WINGHARD is written (and compiled in) Borland Turbo C++ 3.0 in a DOS environment to run natively in DOSBOX"). Either you missed a step in the patching process or the patch isn't compatible with WingLoader.
AD, you are correct, Wing Loader does expect the Kilrathi Saga for voice overs. You can set launch options to run the Dos version through Wing Loader. (Press M and uncheck WC1 or WC2 Enhanced) though it will not run WINGHARD.exe. Spot, I'm guessing that you will need to run WINGHARD using dosbox and set everything up and then you can launch the main game through Wing Loader if you want too. I haven't personally used WINGHARD yet so I can't confirm 100% but let me know. Either way, If you installed via gog and Wing Loader you do still have access to the Dos version. Cheers.
 
  • Like
Reactions: AD
Hi, when I try to run Wing Hard, I get a Windows prompt saying "This app can't run on your PC. To find a version for your PC, check with the software publisher."

Just to be complete, I'm using windows 11, the WC1 gog version and Wingloader.

Any ideas?

It's because the latest version of WingHard is a pure DOS program. Instead of trying to run it from Windows, run it within DOSBOX.
 
Am I missing something, or are the labels indicating which multiplier is easier vs. harder for shields/armor reversed? Wouldn't 0.5 be HARDER for the player since there is less shielding/armor?

1776561827584.png