Digging through the executeable...

Post everything from general questions, to modding questions, to map WIPs to releases. (SWBF1 only)

Moderator: Moderators

Post Reply
User avatar
giftheck
Droid Pilot Assassin
Droid Pilot Assassin
Posts: 2218
Joined: Mon Jan 19, 2009 5:58 pm
Projects :: Star Wars Battlefront Legacy

Digging through the executeable...

Post by giftheck »

I dug through the executeable some time ago to find the LUA commands that SWBF uses. But that isn't all SWBF has inside the executeable that could be deemed interesting. I dived right back in looking for interesting stuff. Lo and behold, towards the end of it... loads of empty space! I'm no programmer but empty space is perfect for data repointing.

I may have also found where the Entity classes are kept. From offset 2A34BC to 2A6FAA appears to be "entity" data. Also, offsets 29CF04 to 29CF9B define where critical files are loaded from (such as where the game looks for core.lvl and mission.lvl).

Offsets 2A768A to 2A79CA are the game's animation bank references. It mentions "gam", so this is where that bank's name is kept. If this data can be repointed to blank space, one could theoretically add new anim banks with ease. The "human_gam_*animationname*" prefix is NOT in the executeable - it seems to add each bit on "human" - "additional prefix (sbdroid/bdroid/gam etc)" - "animation type" - "animation". (Of note it refers to lightsabers as "sabre" rather than "lightsabre" but the other animation types are recognised.

As we don't have the source code, we can't actually compile a new version of the executeable to add new things. I'm going to have to tread thin water - I'm well aware of Gametoast's policy on executeable hacking, but I say this with the best of intentions - I daresay that it is possible to modify the executeable with new animation bank names and to search elsewhere for critical lvl files, and dare I say it, it may even be possible, upon further research, to enable 6 units or add new features to entity classes. ATM I'm only interested in expanding the animation banks to allow uniquie animations for certain units.

A much better idea might be a 'loader' that can modify this stuff on the fly rather than having to distribute an executeable that is directly modified, thus breaching the EULA - there's a decent example in another community called the Sonic Adventure DX Mod Loader you can look at if you want to see what I mean.

Of course, all this is moot as I'm no programmer. But I'd like to see what others think on this one.
User avatar
Kingpin
Jedi
Jedi
Posts: 1096
Joined: Fri Sep 13, 2013 7:09 pm
Projects :: The Sith Wars II
Location: Denver, CO
Contact:

Re: Digging through the executeable...

Post by Kingpin »

Interesting. Good work!
MileHighGuy
Jedi
Jedi
Posts: 1194
Joined: Fri Dec 19, 2008 7:58 pm

Re: Digging through the executeable...

Post by MileHighGuy »

I think memory modding like you said would be the best choice. But sadly I have no idea how to do it.
User avatar
giftheck
Droid Pilot Assassin
Droid Pilot Assassin
Posts: 2218
Joined: Mon Jan 19, 2009 5:58 pm
Projects :: Star Wars Battlefront Legacy

Re: Digging through the executeable...

Post by giftheck »

A pity Battlebelk is no longer active: this sort of thing he was pretty good at.
Post Reply