Hey all.
This here is a "mod" that allows modders to add new player ships without having to replace existing ones.
It modifies the ship selection UI.
I figured I'd post this in "Mod Development", since it doesn't really do anything by itself.
The original buttons (arrows, list, A, B, C) are disabled.
You can use the new "previous" and "next" buttons to cycle through all ships whose IDs start with "PLAYER_".
So, if you want to add a new ship without replacing existing ones, all you have to do is give it an ID starting with "PLAYER_".
This also has a side effect where users can access ships they haven't unlocked.
This currently only supports the latest (1.5.13) Steam version on Windows.
Download (Mediafire)
Source code (GitHub)
Note: THIS MODIFIES YOUR FTLGame.exe. If it breaks, you may have to re-install FTL.
Installation
Download and unpack the .rar
Run install.bat and follow instructions
Uninstallation
Run uninstall.bat and follow instructions
If that doesn't work, go to your FTL directory and rename FTLGame-backup.exe to FTLGame.exe
This is actually a sub-project for an FTL multiplayer mod I'm currently working on, which is still a few months away from a public release.
FTL Ship Selector (removes player ship limits)
-
- Posts: 17
- Joined: Sun Jul 19, 2015 3:43 am
FTL Ship Selector (removes player ship limits)
Last edited by BFrizzleFoShizzle on Tue Sep 01, 2015 10:28 pm, edited 1 time in total.
- NarnKar
- Posts: 778
- Joined: Thu Jun 19, 2014 4:24 pm
Re: FTL Ship Selector (removes player ship limits)
Whoa.
Now that's some groundbreaking stuff. Hope it works.
Now that's some groundbreaking stuff. Hope it works.
- stylesrj
- Posts: 3644
- Joined: Tue Jul 08, 2014 7:54 am
Re: FTL Ship Selector (removes player ship limits)
There's always something new and unexpected that can be modded into FTL.
- R4V3-0N
- Posts: 1291
- Joined: Sun Oct 06, 2013 11:44 am
Re: FTL Ship Selector (removes player ship limits)
At first when I saw the threads title I thought it was just a dry eagles descent into darkness like mod.
Then I read the first page so far and I was like "so this is an over ambitious mod that will never happen as soon as someone says that is hard coded and destroy there dreams?"- then I saw the 'rough' ui update and thought "yep... it was just a simple 'meh' ui..."
But then I read a bit more... this was more fitting to my reaction as I was drinking iced tea at the time
This is brilliant! I have no idea how this will affect me directly because I lived my whole life with these limits I mean jebus!....
I'm dumbfunded.
Then I read the first page so far and I was like "so this is an over ambitious mod that will never happen as soon as someone says that is hard coded and destroy there dreams?"- then I saw the 'rough' ui update and thought "yep... it was just a simple 'meh' ui..."
But then I read a bit more... this was more fitting to my reaction as I was drinking iced tea at the time
This is brilliant! I have no idea how this will affect me directly because I lived my whole life with these limits I mean jebus!....
I'm dumbfunded.
R4V3-0N, a dreamer.
-
- Posts: 229
- Joined: Thu Oct 03, 2013 1:21 pm
Re: FTL Ship Selector (removes player ship limits)
This is awesome! Now I just wonder if there's a limit to how many new ships you can add?
EDIT: Just noticed the title says "removed limits" so... an infinite amount of ships is possible?
EDIT: Just noticed the title says "removed limits" so... an infinite amount of ships is possible?
Last edited by stargateprovider on Tue Sep 01, 2015 10:41 am, edited 1 time in total.
- Sleeper Service
- Posts: 2305
- Joined: Sun Mar 24, 2013 8:49 pm
Re: FTL Ship Selector (removes player ship limits)
Wow this is neat I guess, although I'm not sure whether this mod is in accordance with the very simplistic modding rules that Justin once posted:
Basically what we have here requires redistribution of the FTL .exe, right? You might want to ask the devs whether this is ok with them.
Justin wrote:Mods that require redistribution of the game files won't be allowed. This will have to be self regulated I think. I'm not going to manually delete posts but please adopt older mods to work with the ".ftl" system (or a new mod manager if it works better).
Basically what we have here requires redistribution of the FTL .exe, right? You might want to ask the devs whether this is ok with them.
- TaxiService
- Posts: 204
- Joined: Mon Dec 23, 2013 6:04 pm
Re: FTL Ship Selector (removes player ship limits)
No dude, it's just a patch for the .exe, it doesn't include any of the game's assets. Just checked.
FoShizzle: you are a friggin' pioneer. I wish you the best of luck in completing your project and I hope you'll stick around! People like you are those that take a game's modding to a new level.
FoShizzle: you are a friggin' pioneer. I wish you the best of luck in completing your project and I hope you'll stick around! People like you are those that take a game's modding to a new level.
Last edited by TaxiService on Tue Sep 01, 2015 9:03 am, edited 1 time in total.
- R4V3-0N
- Posts: 1291
- Joined: Sun Oct 06, 2013 11:44 am
Re: FTL Ship Selector (removes player ship limits)
Is it possible to patch the ftl.exe to also allow custom races, augments, make ion beams work, etc or did my eyes just get a few dozen times bigger then my plate? xD
R4V3-0N, a dreamer.
- Sleeper Service
- Posts: 2305
- Joined: Sun Mar 24, 2013 8:49 pm
Re: FTL Ship Selector (removes player ship limits)
Ok, that should be all right I guess. Sweet. Hey Shizzle do you want to illustrate a little how you made this? I have to assume you decompiled the .exe and looked for the menu stuff in the source code?
-
- Posts: 17
- Joined: Sun Jul 19, 2015 3:43 am
Re: FTL Ship Selector (removes player ship limits)
Thanks y'all!
As R4V3-0N said, player ships are hard coded, which is why this was a total pain in the butt to make.
@R4V3-0N
Possibly, I'm only mildly familiar with regular FTL modding, and I haven't reverse engineered any of the code that deals with that stuff.
My main focus right now is trying to add multiplayer. If someone who knows a lot about modding wants to help me out, that would be awesome. Preferably, someone who's worked on mod tools and actually understands FTL's underlying resource formats (.DAT files, all the XML files, etc).
@Sleeper Service
I'm well aware of those rules, which is why it's distributed as a 300 byte patch file. I'm not distributing a copy of the FTL exe in any form.
As TaxiService said, it's just a patch file, which is used to modify a user's existing FTL exe.
I didn't actually decompile the game.
I've spent the last month or two reverse engineering FTL for the purpose of writing a multiplayer mod. This mostly consisted of running the game in various debuggers, and trawling through a stupid amount of x86 assembler code.
So, I wrote a DLL in C/C++ (with bits of inline assembler where needed) that's injected into the game. The DLL modifies the game's compiled code at runtime.
I'm drawing on the screen by intercepting calls from the game to OpenGL (more specifically, the call that's made when FTL is done drawing the current frame).
I disabled the buttons by disabling bits of code in memory.
The "previous" and "next" buttons work by intercepting mouse clicks and modifying the code that selects a random ship.
The patch file just makes FTL load my DLL so users don't need to use any dodgy injectors.
As R4V3-0N said, player ships are hard coded, which is why this was a total pain in the butt to make.
@R4V3-0N
Possibly, I'm only mildly familiar with regular FTL modding, and I haven't reverse engineered any of the code that deals with that stuff.
My main focus right now is trying to add multiplayer. If someone who knows a lot about modding wants to help me out, that would be awesome. Preferably, someone who's worked on mod tools and actually understands FTL's underlying resource formats (.DAT files, all the XML files, etc).
@Sleeper Service
I'm well aware of those rules, which is why it's distributed as a 300 byte patch file. I'm not distributing a copy of the FTL exe in any form.
As TaxiService said, it's just a patch file, which is used to modify a user's existing FTL exe.
I didn't actually decompile the game.
I've spent the last month or two reverse engineering FTL for the purpose of writing a multiplayer mod. This mostly consisted of running the game in various debuggers, and trawling through a stupid amount of x86 assembler code.
So, I wrote a DLL in C/C++ (with bits of inline assembler where needed) that's injected into the game. The DLL modifies the game's compiled code at runtime.
I'm drawing on the screen by intercepting calls from the game to OpenGL (more specifically, the call that's made when FTL is done drawing the current frame).
I disabled the buttons by disabling bits of code in memory.
The "previous" and "next" buttons work by intercepting mouse clicks and modifying the code that selects a random ship.
The patch file just makes FTL load my DLL so users don't need to use any dodgy injectors.