Wc1 editing and new missions

Flashpoint

Rear Admiral
Hi there, this is my first post and it's going to be a long one :D

I'm a long tine fan of Wing Commander, especially WC1 and I am lucky enough to have The Kilrathi Saga. I'd love to be able to play more missions on that game and have downloaded the 2 fan made missions from here, but they don't seem to work with the KS launcher. They do launch, but they are obviously the old DOS versions as I get the original Origin intro, with no sound and at an unplayable speed.
So, is there any way to use those 2 missions with the KS engine?
Secondly, is it possible to use the editor with the KS engine?

If not, how would I go about making my own missions?
If I had to try and crack the thing myself and build my own editor, where would I start, what languages would I need to use?
I admit I am a bit of a crack novice, but I do have a fair amount of programming knowledge (various BASIC langusges, CoBOL, Actionscript and a working knowledge of VB) so if someone can point me in the right directions, I will certainly learn what is required.

Any help at all would be useful, thanks :)
 
Welcome to the forums. Most of that stuff is built around the DOS versions. It's probably easier to pick up the DOS versions of the older games for $5-10 on eBay rather than create a whole new set of Windows tools if you've not done anything like that before.
 
Thanks for the welcome :)

I agree it would probably be a lot easier to get the original versions (indeed, I think I have a copy) but the point is that I would like to get into game hacking/modding and although it may be tricky, I would like to start here and just need some nudging in the right directions.

Having looked at the mechanics of mission design, I'm fairly confident that if I can extract the data from the game (the bit I know nothing about) I could build a GUI to create missions and stuff like that.

I put an email into HC1, but not heard back yet. Here's hoping :)
 
Well, from what I remember, (been a while since I edited wc1 missions) - All the missions are actually held in the module.000 for the main campain. If you replace just this file in KS it will work.

The only reason I can think it replaced the wc.exe file would be if the missions you downloaded also contained edited ship stats - which were hard coded into that file, in which case, the extra missions will still work, just without the specific ship stat changes.

There's a qbasic mission editor available from this site, that will still work and works with both KS and the original version (Its what I used) - just look under files from the main page.

To make your own missions, I believe you also need the uncompressed module.000 file, also available from the files section.

it runs in MS DOS and obviously you'll need qbasic or something compatible with qbasic to get it work.

Hope this helps you!
 
Thanks for that CaptnEisen :)
With that info, a reply from Mario and an evening exploring files in various ways I have made some headway (though there is still a long way to go).

Rather than retype it, here's the response I just sent Mario:


Thanks for the response, it has been very useful. I actually had no idea what to do with your mission editor, until you mentioned qbasic. After you did, I quickly installed it and ran it. It made for some interesting viewing, you see me and a friend used to crack save games on the Amiga using AMOS basic to peek and poke at the data. Looking at your code I was able to see that the things you do in it are remarkably similar. I even managed to add some bits and pieces to it and tweak the format of the displayed data to something I found more manageable (although it seems like you can only edit the first mission with your editor?).

I have quickly realised that (as far as I am concerned) just editing missions, without the ability to edit briefings would be almost pointless to me, so I have downloaded a few hex/ascii/decimal readers and have been able to use them to change a couple of things in the briefings (briefing.xxx) as a simple test. I think my next challenge in this area is to work out what bits of data control which backgrounds, characters and expressions are displayed along with the text (assuming this isn't controlled from the WC/SM1/SM2 EXE file). I am also going to be looking at the CAMP.xxx files, as I believe these hold the data for controlling campaign structure (who is your wingman, how many missions per system, victory points, campaign branching).

Clearly there is a lot to go over, so my plan at the moment is to take a week or two (depending on my free time) to poke around and see exactly what I can change and what I can't. Once that is established I will be making a qbasic file interpreter that can take a WC file in one end and produce a readable/printable file that I can study. Once that is done I'll make a test editor in qbasic to edit the 2 enyo missions, campaign branching/structure and their text. If that proves successful I will be looking at how to make it into a GUI (Visual Basic seems to be the logical choice at this moment).



Any knowledge anyone has to supplement this, or correct unwitting errors will be welcomed. As will encouragement :D
 
WC1 is still my favorite if I'm just going to load something up and goof around. I look forward to the completion of this.
 
I've not been as active on this as I would have liked, due to a heavy work load at work. Still, I thought a progress update was in order.

I've been playing with Mario's Qbasic editor which has been invaluable in identifying what does what within the module files.
I have already made some changes to the editor, mainly formatting, which has made it easier to work with and I intend to carry this on before moving towards a windows GUI editor.
In it's current format, Mario's editor only edits ENYO 1 unless you manually change a couple of variables in the code, so my next task is to add the ability to skip to different missions.

A major stumbling block has been the briefing and camp files.
I believe the camp files contain the data which controls campaign branching, but I have yet to make any sense of the file and I am not certain I will be able to do anything with it. I don't think this should be too much of an issue as there is enough scope within the VEGA campaign to make a very decent new campaign utilising the VEGA mission branching.
The biggest problem at the moment is the briefing file.
I have been able to edit the text in each briefing, but so far have not been able to identify what data controls the graphics (who is talking, expressions and background). I would think that this data is in there but it is completely possible it is contained in the WC EXE file.
This is a major problem because you would be restricted in what you could do with briefings and debriefings which would make a new campaign somewhat ridiculous.

My current task is to really have a go at the mission.000 file to see what I can do with it.
 
Okay, I wasn't going to post anything new until I had some screenshots and something more exciting to report, but seeing as it is the CIC's birthday, I feel an update is in order...

Firstly I have to say that there has been little progress on this in the preceeding year simply because I could not find an acceptable medium to program in. My first thought was for visual basic (which would still seem ideal) but I found few books on it that dealt with data handling, especially big/little endian handling, that would fill my needs or the project.
Time rolled on and I have found myself a language. I mentioned before that I was an old user of AMOS basic on the Amiga and I stumbled (quite literally) upon PlayBasic. It is not fancy but it seemed to contain the data handling I needed and it was built by people who had used AMOS.

Well, then working life got in the way for a bit. However in the last week, I have constructed a program that can interpret the module.000 file and tell me all about the ships present in each mission and all their variables (thanks to Mario for this as his qbasic editor has helped a lot and to zomegaz whose file deconstruction has helped a lot).
I have another 2 weeks free and will be implenting this data into a viewer, after I decided that it would be easier and better to make the first version a simple viewer before monkeying around with actual editing (which should be childs play once all the info is available in a viewer).

Currently I am concentarating on how to organise the data into a managable format. I have all the info for the ships in each mission, but am trying to make the viewer/editor flexible so that you can view single ships, all ships, confed/kilrathi ships or ships by nav point.
Once this is done, I will be working on being able to view them on a mission map (which should be almost identicle to the briefing mission map) to include both all data and only the data you would recieve on briefing.

Once this is done, I'll be looking at putting the briefing/debriefing data into it too.

I don't want to get ahead of myself, but I can't see any of this being too much of a problem and once implemented as a viewer, it should be simple to make it a fully fledged editor.

So all you wing 1 fans should have something to look forward to (yes I do plan to release a new campaign or two with the first working release).

Happy birthday CIC. Happy fragging
 
Quick update...

I seem to have lost my Photoshop disk so have had to draw up a rough template using a glorified paint program...

screen1.jpg


Not a huge amount to see yet.
The buttons at the top scroll through mission series' (mission groups) and the second through the missions within that series.
At the moment you can only view one ship at a time. My next task is to put all the ships into sortable lists (see the sort functions on the bottom bar) so there will be a list of ships and clicking on an individual ship will bring up a detailed data set (like you can see now) lower on the screen.
Then I'll move onto the map and the x,y,z co-ordinates.
 
Hey, I think I might have, somewhere in my archives, a half-done WC1 mission editor in Visual Basic... waaaaay old, from 1997 or 1998. I don't think it was more advanced than HCl's editor, though I did discover one or two more details that his editor didn't seem to support. I really don't know if it would be of any use, but if you'd like to take a look, I'll be happy to email it to you (...next week, this week I'm away from my archives :p ).
 
Any help would be appreciated.
I'm actually in the easy bit of using HCL's source code to get the mission vairables into a useful format. Then the maps and then the harder bit, which will be the briefings themselves.
All info would be gratefully accepted and help me get a working editor pushed out all the sooner (a replay of WC3 on a 117" screen will also be getting in my way :D )
 
New update and 1st release!!!

Ok now don't get too excited. The link below contains a rar file containing my editor and all needed files (including its own module.000). Just extract the files where you like and run the WCE.exe

Why hold back your excitement? well it's not finished. I always said I was going to construct it as a viewer first, as this seems to be the easiest way of not getting into a mess. At this time it only shows you the ships (the ships/nav/map buttons do not work yet) and there are a few bits of info missing, as I am yet to tackle these.
It only works with the Vega campaign at the moment (this will be revised) and there are a few stray bits of text about, which are remnants from the initial coding and will be cleared up later.
The controls:
Use the + and - buttons at the top right to scroll through missions and systems. Each system has space for 4 missions and if you click the + button whilst viewing the 4th mission it will take you to mission 1 of the next system. When you are advancing a system at a time, it will always take you to the first mission of the series. NOTE: There are yet to be controls to stop you going past the last mission or before the first one.
On the right hand side is a list of all ships in that mission. Clicking on one will bring up more detailed data on the main screen.

So only a ship viewer at the moment. Nnext I will be tackling the maps and nav points. Still it is interesting looking at the ships. I was astounded to find that there are 5 draymans listed in the Dakota 1 mission. I don't think there are that many when playing, but am not sure. I'll have to check. I don't think this is an error on the editors part however.

Why the upload for just a viewer?
Well I was going to throw up another screenshot, but I didn't feel that it would demonstrate just what I'm attempting to do. Hopefully this will whet a few appetites.

Here's the link

Feedback would be appreciated, as we creative types thrive on that :)
 
I had no problem running it under CrossOver Games (a WINE front end for Mac OS).

Dakota 1 indeed has 5 Draymans. You only escort 2; the other 3 are parked next to the Claw. You can see this in the game if you turn around immediately after you launch.

On the other hand, Hell's Kitchen 1 lists a Confed Krant in slot 22, although it looks like its orders are to attack the Drayman in slot 11. This mission is infamous because the Drayman spontaneously explodes when you reach the Claw. Once you have some editor functions, I'd like to see if deleting that Krant makes this mission 'winnable'. (I've seen it survive once, and the debriefing text confirmed it - so the mission is not intentionally rigged against you. Hunter died early in the mission, which may have prevented some sort of data corruption.)

Is there really just one 'Generic Pilot' definition? Apart from the aces, the plot describes the pilots in Port Hedland as trainees - and it certainly feels like they're clumsier than usual. Or was this done by crippling their ship specifications?
 
Cheers for the reply. It is great to hear it works on your MAC. I have to believe that if it works on a MAC, it should work on anything (Vista not withstanding)

I surmised that some of the draymans would be parked with the 'Claw, but you confirming it helps a great deal.

Interesting stuff about the Hells Kitchen Krant.
Seeing as how every other ship on every other mission works as it should, I have to believe that the editor is correct and the confed Krant is not an error.
Maybe this was done intentionally to stop you winning the mission for story telling purposes.

The editor is coming along. I've been working on the nav positions for the mission maps and after a whole day of wondering if I'd ever get it to work, I am now 80% done on that front.
Give it another week and I should have the map displays all worked out properly.
After that, it will be a case of incorporating the mission briefings and debriefings.
Tat might prove a little tricky, but I think it should be straightforward enough.

Once that is done, the viewer will be complete and I will be able to turn it into an editor with little hassle.

Thanks again for downloading this and for the feedback. It helps a great deal.
 
i've just been playing around with hcl's editor - quite fun although the layout doesnt help working out whats happening!

How is this coming (if at all) - it looks good so far!
 
I'm currently stuck in nightmare hell to be honest.
Being a creative type, I am part of a film team and I write creatively.
Since my last update to this, I have filmed a ametuer film and am still heavily involved in the edit. I am also writing a script and a novel (well, re writing the novel).

What I need to do is sit down and really get my teeth into this, because doing it bit part takes so fricking long.
When I get to my laptop at home (tonight or tomorrow) I'll try and upload the newest version. In that you'll find all the nav maps working (bar one or two), if you're interested in seeing the progress I made.

Basically now I've done the co-ordinates stuff, I need to sort out things like asteroid fields and their sizes, different display icons for fixed and manipulated nav-points and think of a simple way to display the map as it actually is and the map that the player would seein game.

Then it's on to the briefing file.

I've got a week off next week where i'd love to do this, but I have a wedding to plan, so I imagine I'll have no time again.
Oh to be a teenager again.
 
Okay, I've taken a couple of days to upload this, but here goes...

WCE release 2

Again it's just a viewer.
Updates from last time...

You can now view nav maps of each mission (click the 'map' button to do so).
So far there are no asteroids or mines positioned correctly (you will notice the start of this with the usually out of place (but numerically accurate) white circles).
Most of the navs are correct. There are a few that are not and this is because in these missions, the nav points have no label and that is the currently control for counting nav points when I read data for each mission. So in those missions (only a couple I believe) the program stops looking for nav data too early.

You'll still see numerous numbers all over the place. These are test figures to help me get things right. This sort of stuff would be gone in a proper release.

There are no upward or downward controls on the nav point info arrows. Careful with those.

So what's next?

Well trying to do the asteroids has made me go back for a rethink.
In the file, the Claw is always location 0,0 (the maps you see in the game and this editor use the outer edges of each nav, to find the relative mission centre. Some may even exceed the boundaries of the map graphic). The coordinates of all nav points are relative to the Claw, for example, in Enyo 1: Nav 1s coords are 30000, -15000.
However the coordinates of all asteroids, are reletive to the Nav point they are nearest. The same goes for fighters. Wing leaders are positioned relative to the nav point and then wingmen are positioned reletive to the wing leader.

Because this program was built bit by bit, kind of learning what was going on and how to deal with it, it is all a little bit of a jumble in the code. All data accessed from the source file is currently done each you access a certain mission/nav/fighter.

This creates a few problems when trying to place asteroids and ships, because you may no longer have that data in memory.

So, I am currently re-writing the program (pseudo code at the moment) and plan to have all the data available at all times using multidimensional arrays:-

xcoordi(z,m,s)

z=shipnumber
m=mission
s=system

This will increase the memory usage dramatically, but i fugure I used to code with a ceiling of about 1mb, and I now hav gbs to play with, so it should be fine.
 
Back
Top