Important Message

You are browsing the archived Lancers Reactor forums. You cannot register or login.
The content may be outdated and links may not be functional.


To get the latest in Freelancer news, mods, modding and downloads, go to
The-Starport

Getting your hands dirty: source code

The general place to discuss MOD''ing Freelancer!

Post Thu Nov 18, 2004 6:13 pm

Getting your hands dirty: source code

I have searched through the forums, and have found one common trend. "We don't have the sourcecode, so we can't <insert cool modification here> yet." Well, instead of sitting on our lazy asses as usual, why don't WE try to crack the source code, either through hard work or... less legal means. <wink-wink> I am sorry if I am out of order, but I just thought I should state the obvious. If people are already trying to hack, one way or another, the sourcecode, then I am sorry for bringing this up. Futhermore, just so I know, what would a "sourcecode" look like? An actual code, a program, or something else? And what would it do exactly? Extract hidden files?

MK

*edit* Grammer...

Edited by - mknote on 11/18/2004 6:16:06 PM

Post Thu Nov 18, 2004 6:44 pm

Errrrr... I'm going to be as nice about this as I can:

The FL executable was compiled, like any other application. Decompiling it gives you source code that you can then (theoretically speaking) recompile into a working executable if:

1. You knew exactly what compiler the FL team used, and what settings they enabled. Insofar as I know, we don't even know that.

2. You were aware of, and counter-acted, any obfuscation methods used when they compiled it. Very tricky, if we don't know #1- we need to sort the garbage from the useful information.

3. You could then figure out what variables were called, and what subroutines were doing what, etc., etc., etc., because this information is stripped from the code when it's compiled.

In short, decompiling an executable and rebuilding the sourcecode into something vaguely like what modders would need before we could make any headway into adding new features... would be very, very hard.

It would be easier, in most ways, to simply (ha ha... "simply" write a new game engine from scratch that could use FL's game content natively, read its scripting, models etc., and do all of the things that the FL game engine does, but without the restrictions imposed by not having the source (i.e., the project would be open-source so that modders could write their own engine modifications). It would even be legal to distribute this game engine, so long as it didn't contain any content produced by Digital Anvil or Microsoft.

There *are* precedents for this. The Total Annihilation community, after 6 years, produced a game engine called TA Spring, which is nearing release. Spring supports all of TA's engine features, supports the native file format for game objects (3DO) and also supports TA's native scripting languages, which run all of the game objects. It's written to support OpenGL, has truely 3D maps, and supports a bunch of gee-whiz lighting effects and other things.

It took a team of expert coders nearly 2 years, using all of their spare time, and it's still not out yet (although it shows no signs of being vaporware or collapsing). For a game engine that's as advanced as Freelancer's is (and in many ways, it's quite advanced, although it's not top-shelf anymore) it'd be very hard to duplicate the engine, support the existing content, etc., etc. etc.

I would like to see people thinking about making an FL engine clone that didn't support all of the advanced features (such as in-model LODs, which quite honestly don't seem to matter much in terms of game performance), but I doubt anybody has the energy, talent and enthusiasm to try to hack something like this. And then even if they did, they'd still have the AI coding (another big job), server/client coding, and the new code to support user requests (which is an incredibly long wishlist, even if I were the sole dictator in charge of implementation).

Soooo... basically, it doesn't matter if you are contemplating something illegal, sir- what you're asking for is extremely difficult no matter what laws are broken

Post Fri Nov 19, 2004 5:25 am

mknote
The source code is off limits. It isn't even up for discussion on tampering with it. And, MS will sue the pants off you if you tried. Be content with modding the game as is, or, create your own game code. A thought.

Michael

Please read the Rules and Regs before posting. When in doubt, Search Forums to it out.
Looking for a mod or ship, check in Here
You have entered a "Flame Free" area, please extinguish all lights and secure all combustibles, Thanks!
Have you been to the Welcome to The Lancers Reactor Yet
Portalive TS Server IP: 69.93.236.42:8767 (TLR)
IBFourms

Post Sat Nov 20, 2004 7:10 am

well, how about if when somebody got the source code they didnt tell anybody at all until they had recreated it into a legal code.
or just make a new one. im not to good at this but its an idea

Encircled by vicious Brutes, the Master Chief lowers his dual SMGs. He hears a female voice in his ear "Bet you can't stick 'em"
"You're on"

Post Sat Nov 20, 2004 9:57 am

Whatever illegal actions you partake in are your own business. Please don't bring us into it and get TLR closed down. Mircrosoft don't have to allow us to do what we do - nor as it happens do any game company have to allow modders to mess with their intellectual property. A few people taking the p**s could ruin it for everybody. Thank you and goodnight

+++ out of cheese error - redo from start +++

Xtreme Team Studios

Post Sat Nov 20, 2004 9:01 pm

This may seem like a silly question...

Has anyone actually tried creating a petition and sending it to microsoft begging them to either give-away some kind of application that permits a little more access to the code? Or maybe send the modders in the right direction of how to make the nessesary adjustments needed to put FL into the future? You could present a combined list of all the types of mods on the wishlist.

We arnt asking nor do we need total access to the code, not really... we dont need to completly redesign and mess around with what is probably a massively expensive Game Engine either. We just need workaround methods at best.

Microsoft although as tight arsed as they are, surely cannot lose from what the modders do, all it does is create further interest to what is already becomming an older game.

Its a wild thought but you never know!, there are gaming companies out there now who are totally begging their community to practically create entire gaming titles with them...it could be fashionable nowadays...

----------------------------------------------------------------------------

Ive already mentioned whats on my wish list so I might as well say it again ))

(Online Play)

> Building Small Clan Stations
> Paying Rent on Clan Stations
> Extending Station Abilities, Capacities and Weapons and size

> Creating AI Freighters and defining cargo routes
> Creating AI Escorts and defining > goto, escort, guard commands
> AI Ownership pool system (40 point pool, Defender = 4, so u can have 10 AI Defenders or for example 1 Humpback and 3 Defenders, etc)
>Customizing AI Equipment loadout

------------------------------------------------------------------
I would love to see a half decent attempt at a petition for the goods... its unlikely but its possible. What I wouldnt appreciate very much though is people petitioning for the ability to construct wild irrelevant things that would only damage the petition and its inflience.

You have nothing to lose at the end of the day, in fact its microsoft that loses if its seen on a vast public scale.

Post Mon Nov 29, 2004 9:48 pm


This may seem like a silly question...


Not really; Microsoft has shown itself willing to give away source code in the past - consider Allegiance.

They aren't going to do it on whim, but they do "give away" things regularly in that sense; for example, the .NET environment includes the Microsoft language compilers (including the C++ one now). Most likely, however, it would require significant support from some of the development team to make it possible.

From looking at the data files, it appears to me that the game was brute-forced into release mode, and the underlying code is probably messy enough that it might not be very useful. Argh is on to something, in that the real problem for FL customization is the content. It would benefit greatly from decomposition into a fundamental database that could be used to then generate game content files with checks and confirmations for required elements. In fact, it looks to me like that's exactly what the Freelancer community has been moving towards in the last year.

At this point, I suspect that some of the coders and even non-coding mod makers who frequent TLR are more familiar with the internal structure of Freelancer than the developers. That's not sarcastic, just an observation that they are probably all doing other things and have forgotten a great deal, while modders and coders here often have daily experience with it.

Return to Freelancer General Editing Forum