Wing Commander Toolbox

The Wing Commander Toolbox is a set of tools for creating, editing, or extracting Wing Commander 1/2/3/Academy/Armada and Privateer 1 game data. Included in the WCToolbox:

* The API Library provides an application programming interface for the Microsoft .NET Framework v4. It is a fully documented set of types which provide read and write functionality to many of the WC1/2/Acad game data formats. Consult the help file for additional information, including the underlying data structures of the data formats.

* The WC1ToolsCmd / WC2ToolsCmd / WCAcadToolsCmd are console applications which provide various commands to perform actions on WC1/2/Acad game data files. The commands:

- EXTRACT; extracts information and assets from a data file.​
- XMLPACK / XMLUNPACK; converts a game data file to and from XML.​

* The WC3ToolsCmd is a console application which provides various commands to perform actions on WC3 game data files. The commands:

- EXTREE; extract the files from a tree (TRE) archive.​
- EXPACK; extract the files from a pack (PAK) file.​
- EXPALETTE; extract an image from a palette (PAL) file.​
- EXSHAPE; extract the images from a shape (SHP) file.​
- EXMOVIE; extract the videos from a movie (MVE) file.​

* The WCArmToolsCmd is a console application which provides various commands to perform actions on Arm game data files. The commands:

- TREE / UNTREE; creates or reverses a tree (TRE) file.​
- PACK / UNPACK; creates or reverses a pack (PAK) file.​
- PALETTE / UNPALETTE; creates or reverses a palette (PAL) file.​
- SHAPE / UNSHAPE; creates or reverses a shape (SHP) file.​
- TEXTURE / UNTEXTURE; creates or reverses a texture (TEP) file.​
- UNMAKE; reverses various data files (IFF, PAL, etc).​

* The Priv1ToolsCmd is a console application which provides various commands to perform actions on Priv1 game data files. The commands:

- TREE / UNTREE; creates or reverses a tree (TRE) file.​
- PACK / UNPACK; creates or reverses a pack (PAK) file.​
- PALETTE / UNPALETTE; creates or reverses a palette (PAL) file.​
- SHAPE / UNSHAPE; creates or reverses a shape (SHP) file.​
- TEMPLATE / UNTEMPLATE; creates or reverses a template (TPL) file.​
- UNMAKE; reverses various data files (IFF, PAL, PFC, etc).​

* The WC1Inspector (as a separate download) is a Windows application which provides functionality for viewing a snapshot of in-memory WC1 game data.

* The WCTools is a Windows application which provides functionality to perform actions on WC1/2/Acad game data files: extracts information and assets from data files; convert the data to and from XML.

* The WCToolsCmd is a console application which provides various commands to perform common actions on files:

- PALEXPORT; exports the color palette of an image.​
- PALREMAP; converts the colors of an image to a different color palette.​

Updated 2020-09-11; version 6.0.0-beta.1:

WC3: Support for editing pack (PAK) data files.​
WC3: Support for extracting profile (IFF) audio files.​
WC3-3DO: Support for extracting bundle (BUN) data files.​
WC3-3DO: Support for extracting stream (STR) data files.​
WC3-PSX: Support for extracting library (LIB) data files.​
WC3-PSX: Support for extracting voice (TAI) audio files.​

Updated 2020-08-07:

WC3: Support for extracting tree (TRE) data files.​
WC3: Support for extracting pack (PAK) data files.​
WC3: Support for extracting palette (PAL) data files.​
WC3: Support for extracting shape (SHP) data files.​
WC3: Support for extracting movie (MVE) files.​
 

Attachments

  • WCInspectors-1.0.0.zip
    79.9 KB · Views: 323
  • WCToolbox-5.6.0.zip
    2.7 MB · Views: 584
  • WCToolbox-6.0.0-beta.1.zip
    553.6 KB · Views: 385
Last edited:
This sounds like a pretty cool program. I'll have to test it out when I get a bit of time.
 
A small update the WCGames Library; added support for COMM data files.


To convert a game data file to an XML file using the WC1Xml console application:

WC1Xml CAMP.000

After making changes, convert the XML file to a game data file:

WC1Xml CAMP.000.XML
 

Attachments

  • WC1Xml-0.10.0.zip
    1.1 MB · Views: 305
Another update including an additional console application to extract assets from certain data files. See bellow for a few examples of the output.


Library

The library provides an application programming interface (API) for the Microsoft .NET Framework v4.

The library supports:
  • CAMP (reading and writing)
  • BRIEFING (reading and writing)
  • MODULE (reading and writing)
  • COMM (reading and writing)
  • PAL (reading only)
  • VGA (reading only)
  • SHIP (as VGA, reading only)

WC1Xml

The WC1Xml application is a simple console application which converts supported WC1 game data to and from XML. This provides a quick and easy way of editing game data.

The application supports:
  • CAMP
  • BRIEFING
  • MODULE
  • COMM
To convert a game data file to an XML file:

WC1Xml BRIEFING.000

To convert an XML file to a game data file:

WC1Xml BRIEFING.000.XML


WC1Extractor

The WC1Extractor application is a simple console application which extracts
supported WC1 game data.

The application supports:
  • CAMP
  • BRIEFING
  • MODULE
  • COMM
  • PAL
  • VGA
  • SHIP
To extract all the data from a game data file:

WC1Extractor OBJECTS.VGA
 

Attachments

  • WC1Xml-0.11.0.zip
    1.2 MB · Views: 259
  • CAMP.000.xml.txt
    17.1 KB · Views: 243
  • BRIEFING.VGA-graphic-01-image-01.png
    BRIEFING.VGA-graphic-01-image-01.png
    4.3 KB · Views: 377
  • BRIEFING.VGA-graphic-08-image-03.png
    BRIEFING.VGA-graphic-08-image-03.png
    6 KB · Views: 349
First off : Welcome to the WCNews community! :D
"You will never find a more rech..." oops wrong genre! ;)
I love what you are talking about doing. I haven't figured out how to use this tool yet. Instructions would be nice.

You should take a look at what delMar is working on here I think you two could complement each other quite well. Maybe a team up?

Welcome again!
Shades
 
Last edited by a moderator:
Strange! There is no lip sync text until the 6th mission; and then it is the typical "Bimorgameslikwincamandertoo". I looked into the original SWC binary data and the lip sync text is not present. So it is not an extraction problem, someone forgot to add it.
 
Small updated.

WCGames Library
- added support for reading SHIPTYPE files

WC1Extractor
- added support for SHIPTYPE files
 

Attachments

  • WCGamesLibrary-0.13.0.zip
    1.2 MB · Views: 266
I did see some instructions a couple posts above my last comment. Sorry, I missed that. I hope to try this this weekend.

I would love to get the binary for SWC. Could you post that please?

Thanks! :D

Keep up the great work!
 
Last edited:
So it is not an extraction problem, someone forgot to add it.
Ok, I should have spotted that myself, sorry for the inconvenience. And thanks for taking a look into it, though.

UnnamedCharacter, do you think you could also provide a version that's not command-line based but listens for HTTP POST requests?
If not, no problem. One can always but a wrapper around it that takes care of that...

Does it also compile under Mono?
Wouldn't require Wine for running on Linux then...

Just asking, no hurries :)
 
On second thought, forget all that HTTP and Mono stuff.
Any editor producing XML files is perfectly good enough, I guess.

Talking about editors: is anyone already working on something? Just asking, because working on it without knowing about similar projects might turn out to be a waste of time...
So, if no one's on it, I might give it a try in the near future.
 
@UnnamedCharacter, I just tried to call
Code:
wc1xml briefing.002
I get an exception, that the assembly could not be found. It looks for verison 0.13.0.32062
Windows Explorer shows version 0.13.0.0 of BeBe.WCGames.Engines.dll
I got a similar error with 0.12 (which was why I really updated to 0.13)

calling
Code:
wc1extract briefing.002
worked perfectly.
briefing.002 is the original SM2 file, btw.

I checked, if it fails with other files as well and it doesn't work for any or CAMP,BRIEFING or MODULE. None of 000 to 002.

Another localization error?
I wish I could start the .net runtime with a language parameter, so I could copy/paste the english error message here.
 
The executable files depend on the DLL, are they in the same directory?
Yes, of course. Unpacked everything into the same directory. And the other exe is working, so it should be just fine.

Different thing:
I recognized some still unknown variables in the MODULE file among the mission ship points. Any chance of decrypting them soon? Just in case there's not, I asked for some information over at the source code thread...
 
Back
Top