Wing Commander Toolbox

Thanks for all the hard work.

Your project, along with the 25th Anniversary Livestream, made me to remember the classic game and play it over again.
I've been recording my own gameplay and got a few GBs out, hoping to upload them on Youtube sometime in the future (shame that I had to play it on keyboard though).

While recording, I decided to use WCToolbox and change some of the comm messages for fun and came up with another idea.
I thought it would be nice to use the toolbox to look into the GAMEDAT files and correct any errors existed within them as games were initially released.

For instance, 1. Incorrect Backgrounds for characters appearing

Spirit appears in the background below left where our Colonel Halcyon usually talks a lot. It can be corrected by changing the number of background index from 0 to 1 so that she can appear among the other pilots.
wc_002.png


Furthermore issues are,

2. Incorrect Text colors

3. Missing Lipsync text (the character has words to speak but won't move his mouth at all)

4. Misspelled entries (e.g. pusuit, abush and missing comma or period)

If it doesn't become a problem, I'd like to upload revised GAMEDAT files here sometime later, despite the fact that I may not want to change all those 'Buy more games like Wing Commander too' lipsync text repeatedly spoken by various personnel on the Claw from Secret Missions.


And there's something I'd like to know.

I've been looking around MODULE001,002 files to change the Sector names from Vega to Deneb/Antares for Secret Missions as they contain the names of star systems you travel throughout the game, but couldn't find any way to do so.
Do you think it's changeable? I myself think it to be not possible but it would be great to know what you think.

Once again, thank you very much.
 
@YPersonified

A set of corrected files would be nice. Game data files have been uploaded many times before, so I would say go ahead. I would suggest starting a new forum thread so you or others can easily track them.

As for the sector names, unfortunately they are not in the game data files, but hardcoded in the executable. So technically it can be changed, but not easily.

Make sure to let everyone know when those videos are up.
 
@YPersonified
I believe the WCDX project was making a list of these corrections to fix as well. Granted theirs is only for the Windows version but I think you to could join forces to get both done.

I was working with @delMar making a phonetics dictionary so that he could make a plane text to phonetics translator. I haven't had time to finish making the dictionary but I have gone through about half of the missions from WC1 and compiled around 1000 words. I would like to complete it but I just haven't had the time.
 
Last edited:
Hi, first i want to thank you for this wonderful tools. We are preparing the italian translation of the game using it. You can be sure that we'll insert your webpage and name in the final credits of the game.

I noticed that inside wc.exe are present some texts that wc1 toolbox can't extract. For example the text on the chalkboard inside the bar, or the "welcome back" from the repairman or commands lines like "view your medal" or "Quit to dos", and the intro lines and credits "in the distant future etc." and the ending text, and the "Meanwhile" in the midgame animations. Could be possible to add the extract and insert back functions for this text in the future release of the toolbox? Thank you in advantage for your answer.
 
Last edited:
I always kept putting it off because it is a bit of a pain to do, but I guess now would be a good time as any to add this functionality. I will take a good look at it and see what I can do for future releases.
 
Yes, everything is going well. Work on the next update is progressing, slowly.

Right now, the only new feature I am working on is string support for the EXE. I am also improving the naming of various game data values to better reflect their meaning; I certainly would like to remove all unknowns but some are proving difficult to understand.
 
I do not have an update for the toolbox, but instead a small utility program. I was curious and wanted to get a better idea of what is going on behind the scene during gameplay. So I put together this little program that allows to see some of the data as the game is running; it only supports Kilrathi Saga (WC1.EXE and wing1.exe).

To use it, start the game, then this program (WC1LiveViewer). If it recognizes the running process, it will populate the table with game data. Since the game data is continuously updating, I find the best approach is to keep pausing the game during gameplay.


Using S01M0 as an example, we arrive at Nav1 and we notice three Dralthi ships on patrol (object index 2, 3, 4). The wingleader (index 2) is wandering and is on the look-out for enemies.

S01M0-nav1a.png

S01M0-nav1a-data.png



The Kilrathi wingleader notices our hero (index 0, our ship is always index 0).

S01M0-nav1b.png

S01M0-nav1b-data.png



The Dralthi wing breaks formation.

S01M0-nav1c.png

S01M0-nav1c-data.png



I order Spirit to attack and she breaks formation while the Kilrathi decide to engage us.

S01M0-nav1d.png

S01M0-nav1d-data.png


A glorious dogfight ensues and we emerge victorious. Throughout the course of the dogfight, you will see entries for weapons fire, explosions, engine exhausts, etc. Everything in space flight is an object: ships, gun projectiles, asteroids, stars, etc.
 

Attachments

  • WC1LiveViewer.zip
    29.2 KB · Views: 147
With this level of information about the engine, doesn't it become feasible to rewrite the entire game? This would allow it to run on any platform, and would allow for enhancements such as a full speech pack based on Super Wing Commander or the Megadrive version...
 
Unfortunately no. The information presented barely scratches the surface. Although I may know that a value represents the speed of a ship, its current shield strength, its mission type, etc. I may not know how it is calculated.

Just as an example, knowing that a ship has been routed (value 5 for mission type) does not tell me how that decision was made. It probably has to do with how much damage the ship as taken, whether its wingleader is dead, the pilot skill level, and so on. There are many algorithms to control a ships actions: when does a ship decide to fire its guns, or launch a missile, when does it evade enemy fire, which target does it engage, which manoeuver to use, ...
 
Any chance of seeing this extended to WC2? I know that they dramatically changed the format, modularizing the ship stats out of the EXE and into .Vxx files.
 
Actually, the format used for certain things (asteroids, weapon damage, etc) is very closely similar in WC2 as it is in WC1; they reside in the EXE file.

Go to offsets:

WC2.EXE: 121624
SO1.EXE : 121938
SO2.EXE : 120504

And you'll start seeing familiar patterns.
 
Hi, UnnamedCharacter, i'm posting only to say "hi" and to ask if there is some news about the text extraction/reinserting that we were talking about last year. Are you still working at the tools?
 
Wow, I had not realized how long it has been since my last update. Yes I am still working on the project, although I did take a break from it for a while.

Among other things, I currently have a prototype to validate text editing in the EXE. My next step is to expand the functionality and incorporate it into the main tools. I plan on having a new release soon; hopefully within a month or two.
 
It's a wonderful news. I think that could be important for a programmer to know that his work will be used to the max. Thank you for your work.
 
Back
Top