Jump to content

Photo

Visual Perk Editor


  • Please log in to reply
41 replies to this topic

#1
rf900

rf900

    Journeyman

  • Members
  • Pip
  • 32 posts
Visual Perk Editor
---------------------------

LINK

This tool can help to make changes in the classes ability trees easily. You will then get the HEX changes needed to be done in the uncompressed xcomgame.upk file. You can also copy the string of values to easy share different setups rather than share the HEX changes directly.

How to use it:

Change the values in the boxes for each tree, on the right you have the corresponding list of values/abilities.
Click the Generate Mod link to get the list of HEX old and new replacement values.

Actions:

Fast Read Values: Get a string of values to share or store current setup.
Fast Set Values: To set the values in a fast way if you have a string with a setup already created.

Generate Mod: Get the list of HEX old and new replacement values.
Reset Values: Reset values to default game ones.



Thanks to graaa and Nolanoth for their investigations on this:
http://forums.nexusm...-ability-trees/

#2
PepprmintButler

PepprmintButler

    Enthusiast

  • Members
  • PipPip
  • 218 posts
That is awesome. Kudos.

Sudden feature request : could you consider adding the "exotic" perks (those not appearing in any tree) to the list to facilitate testing of these ? That would save me mucho time, and maybe get more people to experiment with those.
They're on the wiki : http://wiki.tesnexus...p/XCOM:EU_Perks

#3
banjo_oz

banjo_oz

    Fan

  • Members
  • PipPipPip
  • 316 posts

Visual Perk Editor
---------------------------

LINK

This tool can help to make changes in the classes ability trees easily. You will then get the HEX changes needed to be done in the uncompressed xcomgame.upk file. You can also copy the string of values to easy share different setups rather than share the HEX changes directly.

How to use it:

Change the values in the boxes for each tree, on the right you have the corresponding list of values/abilities.
Click the Generate Mod link to get the list of HEX old and new replacement values.

Actions:

Fast Read Values: Get a string of values to share or store current setup.
Fast Set Values: To set the values in a fast way if you have a string with a setup already created.

Generate Mod: Get the list of HEX old and new replacement values.
Reset Values: Reset values to default game ones.



Thanks to graaa and Nolanoth for their investigations on this:
http://forums.nexusm...-ability-trees/


That's pretty useful, thanks!

While I'd prefer an "offline" version personally (one that can apply changes to the unpacked .Function file(s) themselves would be even better), this is certainly better than the previous "guesswork" of trying to find the hex values to change. Great idea! :)

If you're up for it, how about creating a tool like this for easily editing "charges" (UpdateItemCharges.Function) like Arc Thrower shots, Smoke Grenades, Medikit uses, Battlescanners, etc?

#4
rf900

rf900

    Journeyman

  • Members
  • Pip
  • 32 posts
Thanks for the feedback, I would try to improve with your suggestions.

I am also in favor of a tool that does the changes in the upk file directly, waiting mostly for the people working on the mod manager to see what the come up with. Just in case they provide something in that direction that I can reuse.

#5
banjo_oz

banjo_oz

    Fan

  • Members
  • PipPipPip
  • 316 posts

Thanks for the feedback, I would try to improve with your suggestions.

I am also in favor of a tool that does the changes in the upk file directly, waiting mostly for the people working on the mod manager to see what the come up with. Just in case they provide something in that direction that I can reuse.

Cool! That's actually why I mentioned having it edit the .Function file rather than the entire upk... even though that requires the unpack/repack method, it lets an experienced user pre-create mod components and/or redistribute the Function files themselves, which I don't feel should be a problem (but redistributing an entire XComGame.upk would! :) ).

Having it edit the upk directly is of course much easier for end users who aren't really wanting to play around with modding so much as just tweak the game (but like you, I'm thinking/hoping a "mod manager" will handle this side of things).

#6
rf900

rf900

    Journeyman

  • Members
  • Pip
  • 32 posts

Cool! That's actually why I mentioned having it edit the .Function file rather than the entire upk


Done, added to the tool the option to generate the full modified function files, in that case you only need to replace each of them and then repack. Probably easier with the tools we have right now.

Will probably end up doing a VB app to generate the files directly and do the repack.

Edited by rf900, 31 October 2012 - 03:52 PM.


#7
FlyingHigh10000000

FlyingHigh10000000

    Faithful poster

  • Members
  • PipPipPipPip
  • 1,018 posts
Forgive me if I come across as an idiot here, but what steps would someone like me, that knows almost nothing about hex editing and hasn't even touched the UPK files, need to take to modify the perk trees? From what I understand, XShape, and the upk unpacker are necessary for this.

#8
miked79

miked79

    Fan

  • Members
  • PipPipPip
  • 347 posts
Awesome stuff Rf900! Thanks for this!!

Forgive me if I come across as an idiot here, but what steps would someone like me, that knows almost nothing about hex editing and hasn't even touched the UPK files, need to take to modify the perk trees? From what I understand, XShape, and the upk unpacker are necessary for this.


(this could be incorrect but this worked for me)
what i did was
MAKE BACKUPS OF YOUR STUFF BEFORE YOU DO THIS.

Download...
1.gildors decompressor - http://www.gildor.org/downloads
2.Daemonjax Xshape - http://code.google.c.../downloads/list
3.Hex Editor - http://download.cnet...4-10891068.html

Then...
1. Make a folder that has your decompressor in there, and then make a text document
and put this line in there... "decompress.exe -lzo -out=upk_unpacked Xcomgame.upk"
(minus the quotes) Save as...All Files.... Decompress.bat

2. copy the xcomgame.upk from steam XCOM Enemy Unknown\XComGame\CookedPCConsole

3. paste it inside the folder with ur decompressors, and double click the .bat file you made.
(should create a new folder with an uncompressor variant of the Xcomgame.upk) You should
notice its bigger insize.

4. Put the Xshape files into the you xcomgame directory. steam\steamapps\common\XCom-Enemy-Unknown
(the base directory, NOT the one with your Xcomgame.exe)

5. Go into steam XCOM Enemy Unknown\XComGame\CookedPCConsole and rename Xcomgame.upk to Xcomgame1.upk
and XComGame.upk.uncompressed_size to XComGame.upk.uncompressed_size1 ( those will be backups)

6. Paste in that folder, the newly created Xcomgame.upk (the uncompressed one)

7. Double click patcher in your steam\steamapps\common\XCom-Enemy-Unknown (which is the Xshape patcher)
you should see that it has changed a hash value.

8. Next go to the ability utility link , and make your changes. For instance put the "16" assault ability
which means Lightning reflexes in the sniper tree over the 27 which is Squadsight. (replace the sniper 27 with the number 16) and then scroll down and hit "generate Mod". Now highlight and copy the Old Hex Value.

9. OPen up the uncompressed Xcomgame.upk that is in your steam XCOM Enemy Unknown\XComGame\CookedPCConsole
with Hex Editor. Hit Cntrl-F so you can "Find" the hex values that you have copied. Now hit Cntrl-V to paste into the search bar. (make sure your searching for "hex Values". Once you locate the line of code, go back
to the Ability Link website and look at New Hex Values box, Find the values that are different from
the Old Hex Values box and make those changes in the Hex Editor. Then Click Save.

10. Go back to your steam\steamapps\common\XCom-Enemy-Unknown and double click Patcher again to run Xshape
(you should see that it has changed hash values)

11.Now launch the game and see if it worked.

That is how I did it. Im new with this stuff so I hope I didnt forget anything. If someone else knows more, please correct me!

Edited by miked79, 01 November 2012 - 04:08 AM.


#9
zerothenumber

zerothenumber

    Enthusiast

  • Members
  • PipPip
  • 238 posts
Thank you for this step-by-step tutorial :)

#10
zerothenumber

zerothenumber

    Enthusiast

  • Members
  • PipPip
  • 238 posts
Hm... hex editor keeps sayin can't find "no matter what I put into". Seems like the OLD hex values from your program are not in the upk itself or I'm doing something wrong...




Page loaded in: 0.841 seconds