FireGraft 1.16.1 (primarily exe edit discussion)

Help - Resources - AI Scripting - Grafting - Plugins - Modding Projects
Heinermann
Posts: 362
Joined: Thu Apr 26, 2007 12:42 am

Postby Heinermann » Tue May 10, 2011 3:31 am

They're a list of functions names, approximately 71.2% of all Starcraft functions.
pastelmind
Posts: 57
Joined: Fri Nov 19, 2010 7:50 am

Postby pastelmind » Fri May 13, 2011 8:09 pm

Two more:

  • 76. Repair - Remove Race Restriction: 0x67456
  • 230. Default Spellcaster Energy Maximum: 0x919ac

It looks like the Repair EXE edit must be used along with modifications to the Repair and Repair (Obscured) entries in orders.dat. This should really be renamed to "Allow Repair Order to Follow Weapon Targeting."
pastelmind
Posts: 57
Joined: Fri Nov 19, 2010 7:50 am

Postby pastelmind » Sun May 15, 2011 10:48 am

I'm posting the 1161.FGD file updated with all of the offsets known to date, as well as a new EXE edit found by Heinermann above: Maelstroming non-organic units. I am surprised and happy that the new EXE edit works flawlessly.

(This file also contains many converted offsets, including:
  • Every EXE edit in "Upgrade Speed" section
  • All attack range upgrades
  • All EXE edits regarding the Recharge Shields ability
  • Top speed of flying Terran buildings
  • Terran speed-building EXE edits.
  • And more!

@Heinermann: Could you please explain how you found those new offsets? I wish I could find more as well, e.g. Irradiate duration, Irradiate deals damage to non-organic units, and so on.
pastelmind
Posts: 57
Joined: Fri Nov 19, 2010 7:50 am

Postby pastelmind » Mon May 16, 2011 5:13 pm

Offset conversion reaches 90% progress! I converted most of the 1.15.1. offsets to 1.16.1, except for the huge blob of siege mode-related and cloaking-related offsets, as well as two nuke-related offsets that were hinted to be unstable. I also added more of Heinermann's EXE edits he(?) found two posts above:

  • Sight range of incomplete buildings
  • Maelstrom does not dispel Hallucinations (of unaffected units, such as Dragoons)
  • Maelstrom affects invincible units (e.g. Scarabs)
  • Maelstrom affects buildings

In total, 235 out of 267 offsets have been converted, plus 5 new offsets. I didn't test all (but most) of the converted offsets, so be careful when using the converted offsets. You may notice that some EXE edits were rearranged; I did so as to make individual EXE edits easier to find in Firegraft.

@Heinermann: Comparing some of your offsets to the ones that have been already found, it seems that most of your offsets are off by a byte. Could you please check this?
Jordi
Posts: 8
Joined: Mon Nov 29, 2010 5:44 pm

Postby Jordi » Tue May 17, 2011 3:37 pm

wow thanks for all of these! gjob pastelmind

Now I just need to build a mod with all this sexyness. :D
pastelmind
Posts: 57
Joined: Fri Nov 19, 2010 7:50 am

Postby pastelmind » Tue May 17, 2011 7:49 pm

thank you.

Also, I just discovered the hard way that Firegraft doesn't like rearranging and renaming EXE edits--apparently it also saves EXE edit categories when saving data to FGP files. I had to painfully recreate every button set changes and EXE edits in a new EXE file. :( So beware!

The old 1161.fgd file had all Upgraded Energy Amounts, Weapon Range Upgrades and Upgraded Sight Ranges as separate EXE edits. In my latest 1161.fgd file, I attempted to move them into three categories, which worked fine for creating new mods but is incompatible with existing mods (Firegraft saves EXE edit category data in FGP files, and the existing category data conflicts with my new categorization). Do you think I should restore these categories to their original, or should I stick with my new categories?
pastelmind
Posts: 57
Joined: Fri Nov 19, 2010 7:50 am

Postby pastelmind » Wed May 18, 2011 2:09 am

Thanks for the info, but I think I'll revert to the old categorization for better compatibility with older versions. Here is the EXE edit definitions file with (hopefully) all the categories corrected so that it will (hopefully) integrate seamlessly with existing mods.

File was outdated; Removed.

As a bonus, I used Cheat Engine to find a new EXE edit that many people may have been looking for: Reaver Attack Cooldown. I wanted to decode the exact offset by looking into the BWAPI source code, but no such luck. I wish I was fluent in assembly and C.
pastelmind
Posts: 57
Joined: Fri Nov 19, 2010 7:50 am

Postby pastelmind » Wed May 25, 2011 2:44 am

File was outdated; removed.

For many years, all but the most experienced of modders dispaired over the fact that attack range/speed upgrades are tied to specific unit IDs and cannot be redistributed; many have bypassed this problem by swapping units.dat data, wireframes, buttons, etc., which lead to much confusion and confundation. Weep no more, for it is now possible to redisribute Range and Speed upgrades to different units!

Okay, the truth is not so positive, since the limitations of Firegraft's EXE edit system and StarCraft only allows you to redistribute upgrades among a small group of unit IDs. Still, this should be a real blast for those who wanted to redistribute upgrades to other units. I had to create individual EXE edits for each unit to implement this, so don't be surprised at the sudden explosive growth in the size of 1161.fgd.

TL;DR:
  • You can make any unit between IDs of 2-103 follow one speed upgrade.
  • You can make any unit between IDs of 0-78 follow one range upgrade.
  • This is done by modifying the index tables of certain switch instructions. Kinda dumb, eh? :)

P.S. I know that implementing new upgrades can be done easily using GPTP, but as far as I know it only works under SC 1.15.1. Until a 1.16.1-compatible GPTP is released, I'm sticking to good ol' Firegraft.

Return to “StarCraft Modding”

Who is online

Users browsing this forum: No registered users and 2 guests