I don't seem able to find any info on those "special perks" each race has (except for the descriptive text seen in game located in blueprints.xml)
I fear they are harcoded, but maybe somebody else has tried and succeed (someone with better eyes than me )
Sehnsucht wrote:I fear they are harcoded, but maybe somebody else has tried and succeed (someone with better eyes than me )
They are. There's a wonderful function in the binary which uses "lea" (load effective address) and then performs std::string comparisons ... you'll need the HumbleStore Win32 binary for this next bit to make sense, but here you go (comments are mine):
We could easily sigscan that out because of the strings (we could easily find it again from a disasm run), but that's one of many points it's done in...
So I have to give up (or at least delay) my ideas of "elite crew members (replace crew member with same race but better perks on level up)" and new races.
No problem. I'm not saying it's impossible ... hell, it's even on my wishlist for the devs to fix some of this. I'd even be happy to help with suggestions on how to load/unload things. The easiest way is to take the perks as modifiers of %, dump them into an XML file, then load it from a master race list. Same with ships. Then we'd be cooking.
I'd also query why it's XML and not Lua (the library is lighter and cross platform and just plain *nice* in comparison), but that's more or less off topic at this point.
I'd start poking around more for you, but given cross platform versions + GOG + Steam stuff messing with binaries, the work is just over the top for now (unless the devs want to start not stripping symbols? )
Hmm, there are some entries in the Blueprint.xml file that show you information about thedifferent races, but there is no way to actually give them specific powers due to that not being named in the Blueprint.xml file.
Maybe it takes the powers from someone else, but I don't know where they get their attributes from.
AtillaBosma wrote:Hmm, there are some entries in the Blueprint.xml file that show you information about thedifferent races, but there is no way to actually give them specific powers due to that not being named in the Blueprint.xml file.
Maybe it takes the powers from someone else, but I don't know where they get their attributes from.
There are seven nearly identical virtual table references in the binaries which are clearly damage. The mantis (for instance) is 1.5 (can be clarified by another vtable lookup which relates to repair speed). Engi is also easy to work out, rock and crystal are easy too (health mods); as is energy (Zoltan). Human and Slug are the last ones ...
There's also a check for special powers (e.g. lockdown). Also virtualtabled.
Again: there are string comparisons in the binary which appear to handle this.