Is the source code publicly available?

Forum ▸ Mods

Hi Wing Commander Saga members.

I am a patch contributor to the Freespace SCP project and I am interested in porting these patches into Darkest Dawn. In order to do that, though, I will need access to the source code. However, in spite of a careful google, board, and HLP fourm search, I can't find a source code repository for the wc saga.

If the source code is publicly available, could someone give me the URL for the source code repository so I can check out the source code and get to work on porting my patches? If not, then how might I go about acquiring the source code so that I can contribute patches that (hopefully) work out-of-the-box?

Thanks in advance for your help!

The source code has not been released yet, I think.

The question is will it be? I'd love to take a look and hack with it myself.

Last time I checked it was planned to release it. Just give it a bit of time. The guys who did most of the work on the team (including our coder) have to catch up with some years of life and such things.

I've been told that the problems were logistical rather than anything but to be honest, I'd be happy with a tarball.

Has there been any progress on the source code being released? It's been a few months now and we haven't herd anything as of yet.

I would like to know what progress there is on releasing the source code as well. Any date set for that yet?

*bump*

Is the source code release still planned? The game has been released for more than a year now, and it's been a while since we've had news on both the source release and the OSX version.

Side question: I've been trying to get WCS to run on FSO trunk with mixed results (the biggest problem being half the HUD missing), so I've a good look at the differences between the two versions of the engine. So far I've spotted (on top of my head): -8/9 new SEXPs -5/6 new ship/wing flags to use in mission -new table entries, notably the "$Species" entry in ships.tbl -ingame rendering is a bit different, I suspect this is due to different shader use? -new HUD-related scripting magic (setCustoHUDGaugeColor) -bumped limits (up to 6 secondary banks, more medals, more mainhall animations, plus possibly a few more)

What else am I missing?

I want to know about this too. If you can tell me what the SEXPs are, I could probably reverse engineer some of them.

I'll see if I can remember to zip up what I found by Wednesday.

We will release the source code in the next couple of days.

Well, since it's been over a week, I'm sharing this anyway: code archive. It's based off rev 9677, but it might include a couple of non-WCS related changes as well.

Well it's missing a few things but it's better than nothing. If the code ever is released send me a PM on HLP. I'd be happy to collaborate with you to get WCS running on modern FS2_Open builds.

There are at least a couple of SEXPs in there I'll reverse engineer even if the code never does get released.

[EDIT] --> What KK said before deleting his post, for the record, was that we were not allowed to run WCS asset using the source code. And that we should expect major trouble if we did so. (I should have hit "quote" ><) [/EDIT]

What do you mean? Which source code, the WCS fork or SCP trunk? And what kind of troubles, legal ones?

[ Warning: stream of thought post ] Alright, here is what we know: -The game was released more than a year ago, as a Windows-only application, with Linux & Mac versions comming out supposedly soon afterwards. -IIRC, the source code release was expected after the mac & linux releases -At one point, KeldorKatarn mentionned that someone had noticed WCS (EA maybe), and that we should expect a statement regarding WCS's status soon after that. Instead, the messages were deleted before anyone could reply, which I assume meant that potential legal trouble was avoided. -IIRC, you mentionned that the reasons for the delay for the mac release were technical in nature, and that someone else was working on that. -A few weeks ago, as we started talking about reverse engineering some of WCS's stuff, Tolwyn poped in to say that the source code would be released in the following couple of days. -Lastly, KeldorKatarn is here, telling us clearly that we are not allowed to run WCS asserts with the source code.

Now, since nowadays sharing a code base is one of the easiest things in the world, I only saw two reasons for not releasing the source code after specifically telling people it would get released: -Either part of the devs are unwilling to release the source code, for personal resons. -Or the devs literally, legally can't release the source code as is, which I assumed was possibly because it used closed source licensed librairies or something, and that the delay was caused by someone looking for alternative open source solutions.

From what KeldorKatarn told us today, I'm guessing #2 is closer to the truth.

We will release the source. As for anything else, I will not comment on that.

as for the MacOS port.. let me just say one of the major problems is that the programmer who was working on the port is no longer available because of a serious illness.

Any idea when it will be released? I hate to get demanding about this but it's been over a year and unlike most of the people asking, I DID contribute to the project's development. There is a lot of code I added being used in Wing Commander Saga. And a few of those things were added specifically upon request by the WCS team.

I don't think it's unreasonable to ask that someone spend the 5 minutes needed to zip up the code folder in order to pay me back for the hours I spent coding for this project. Or at the very least give me a proper explanation for why they can't.

It takes a bit longer than 5 minutes. Also I don't have a good place to load it up to right now and Tolwyn is on vaction. We'll get to it.

I agree that a proper release does take longer, but just a zip of the code folder would be pretty helpful, especially for things like your new SEXPs.

Hell, just a pastebin of sexp.cpp and sexp.h would save X3N0-Life-Form or me hours of work.

I'll try to get this done in the next few days.

http://media.wcsaga.net/keldorkatarn/Engine.7z

Yay, thank you very much sir 😊 Now let's see what's inside this thing ...

A lot of butt ugly code from last minute bug fixing that's what 😛 If I planned to ever do a FS2 game again I sure as hell wouldn't use this code in its current form. But ah well, if yo find anything useful...

Thanks a lot.

Thanks very much for releasing the source code.

Same here, thx for the source code. 😊

Now i have done several changes and additions for our translation project: 1) additional languages variables (more than 300) for strings.tbl. 2) all texts in the cockpit help screens are now linked to the language variables. 3) all keyboard and joystick scancodes have now their own language variables in strings.tbl. And other things.

Yeah back during development things had to go fast and since it was unlikely anybody would do a translation anytime soon after release we ditched full localization support and just made sure everything was alright. The GUI is way too hardcoded in this game anyway, nobody does it like that nowadays. The age of the engine kinda shows there.

KeldorKatarn wrote:Yeah back during development things had to go fast and since it was unlikely anybody would do a translation anytime soon after release we ditched full localization support and just made sure everything was alright.

I thought so.

Translate WCS into another language is a big thing. One year ago Arrow and me had no idea how we can do this all. Now we have a team with 9 members, the base is nearly complete, prologue is finished, main campaign is in progress and we are on 38%. 😊 It was a hard and long way to this point and we have also a lot work left, yes.

The GUI is way too hardcoded in this game anyway, nobody does it like that nowadays. The age of the engine kinda shows there.

Yes but step after step our team get a more translatable WCS. Since yesterday we have the features now to translate what's needed for our project. I make all changes by the right way so other teams have the chance to translate WCS in other languages via strings.tbl very easy.

Just for everbody's information. The incredible bullshit going on at HardLight right now is exactly why I didn't bother much making the source release a priority. I knew exactly nobody would do anything worthwile with it and just rip our work aopart with "I know everything better" attitude. So yeah. Right now I wish i hadn't released it.

Nobody (except MAYBE the translation project) will release anything of quality based on it and it just gives alot of people material to troll a projet that they couldn't have pulled of if I gave them 2 million budget to do it. So yeah. To evrybody at hardlight: Kiss my hairy butt and go to hell.

KeldorKatarn wrote:Just for everbody's information. The incredible bullshit going on at HardLight right now is exactly why I didn't bother much making the source release a priority. I knew exactly nobody would do anything worthwile with it and just rip our work aopart with "I know everything better" attitude. So yeah. Right now I wish i hadn't released it.

Nobody (except MAYBE the translation project) will release anything of quality based on it and it just gives alot of people material to troll a projet that they couldn't have pulled of if I gave them 2 million budget to do it. So yeah. To evrybody at hardlight: Kiss my hairy butt and go to hell.

Actually I do plan to port the SEXPs, flags and table options as soon as I get some actual spare time (I did have the time to find a heartfelt message to Goober regarding some dirty, dirty hack at one point 😊 ). I seem to remember that you also tweaked FRED's default settings (for instance, ship automatically recieving a bunch of flags on creation). I suspect that this is hard-coded, so I'd like to be able to put that into a table (probably game_settings.tbl). Other tweaks, such as optimisation, anything render-related and cross-platform stuff would be out of my league though. I haven't had time to look at the hud and related script code, but given all the changes FSO has received in this area over the past couple of years, it's probably going to be a pain to get it to work.

I am bit curious as to what you call "incredible bullshit" though, is it the fact that some coders stated that they were unimpressed with what had been added to the engine, or that no one has taken the time to do something with it yet? Or something else? For the record I am a bit bummed that the release got as little attention as it did.

I generally mean the asshole attitude over there.

Make an actual case or quit bellyaching about it. If you've got a legitimate gripe, say what it is. I am an admin on HLP and I'm quite happy to go all smashy-smashy on anyone who is being a dick.

Most of the discussion on Hard-Light is nothing to do with the quality of the WCS source code and everything to do with whether or not the WCS changes will work with the SCP. The WCS team implemented their features only caring about whether they would work for your game. I don't have much issue with that, you'd already forked the code for pretty much that reason. But the SCP have to make sure anything we port over will work for all the games that work on the SCP. That means we have very different priorities. We might be able to use your code as is, or we might have to write code that can do the same thing in a different or more accessible way. Whatever you did that broke multiplayer is a great example of something that will have to be rewritten.

In many ways this code release is similar to the old -wcs flag that used to exist. The flag made it easy to turn on all the new WCS features but it only gave a user two options, either they were all on, or they were all off. In retrospect it's obvious why this isn't the best way to implement things. In the end the solution was to unbundle everything from the flag and make them into table settings that could be turned on and off individually.

The same must be done for anything we take from the code release. It has to be implemented in a way that allows the greatest freedom for all SCP modders. Not simply used to port WCS to FS2_Open 7.x

Luke wrote:Now i have done several changes and additions for our translation project: 1) additional languages variables (more than 300) for strings.tbl. 2) all texts in the cockpit help screens are now linked to the language variables. 3) all keyboard and joystick scancodes have now their own language variables in strings.tbl. And other things.

I'd be very interested in seeing your changes as I'm busy working on translation issues in the codebase right now. Do you have SNV/Git?

EDIT:

X3N0-Life-Form wrote:For the record I am a bit bummed that the release got as little attention as it did.

It got quite a bit from me (I'm always interested in new SEXPs) but I've been very busy these last couple of weeks so I've simply not had the time to start porting stuff over (which will get even more attention).

How much programming effort is actually needed to port this to linux/mac? I have both Linux/Macintosh systems and I know howto program in C.

I don't think it would take that much effort really. Before the fork the code ran quite happily on Linux and Mac OS X. The problem is that if the code was never checked for Linux compatibility during development it's had at least a couple of years to rot away.

I personally think that time would be better spent porting it to the SCP fork of the code. There are other coders already interested in doing that. In addition it probably would be much less of a quagmire to port all the new WCS features to SCP than to try to unbundle all the new Linux/Mac OS X fixes from the new features and port them to WCS.

I probably posted this in the wrong place previously, I am very interested in working on wcsaga during the holidays, a bit of non-java will do me some good. I would like to know if I could post the code on a github or something so I could track my changes and collaborate with friends? I do not want to fork the project, I just want to make it easier to track changes.

Yup, you can post the code wherever you want. In fact, there's already a couple of github repos of WCS' source code out there.

I know Luke is working on the German translation project (more details here), while the folks at HLP plan on porting some features back to Freespace Open in order to be able to run the game on standard builds (more details here).

Thanks, I was going to experiment with Linux compatibility.

I would suggest trying to get the game to run on Linux but not spending too much time on it. If it doesn't seem to work after a few hours of tinkering, I'd suggest that you should help the effort to get WCS working on SCP rather than trying to make the WCS code run on Linux.

AFAIK the Linux code for WCS is largely untouched since the fork from the SCP. It's possible it might work, but if no one was maintaining Linux, there's a chance it's badly broken. Either way you're missing several years worth of Linux fixes that the SCP has added over the years.