[Tool] Torchtools - Save Editing (UPDATE: v1.1, 02/08/10)

2»

Comments

  • mattdesl wrote:
    working on a command-line tool [...] allow for much more editing options than the MiniEditor [...] can unretire a character, change **** mode, change player fame/level, add extra skill/stat points, change gold, etc. Expect more updates soon.
    Yeah, that is exactly what we need - may the Force be with you! :ugeek:
    TorchLeech - a free mod manager for Torchlight. --- powered by Runic Games Fansite.
  • DideroDidero Posts: 90
    mattdesl wrote:
    It's relatively easy to program, especially with Python. Just a matter of reading bytes and packing/unpacking them depending on their type (int, string, long, etc). Then, it's simply seeking to the proper point in the file (e.g. 4 bytes in for class name) and calling the right read() functions.

    EDIT: Source is up for Python port.
    http://torchtools.googlecode.com/svn/tr ... orchtools/
    Thanks! It may be easy to do if you're experienced with Python or manipulating binary data, but I'm neither :)
    But I think this'll help me learn.
    Creator of:
    -Total Respec mod (v2.0, Jan. 10 2010)
    -Faster Walking mod (v1.0, Nov. 11 2009)
    Uploader of:
    -Ferret Pet mod (ferret itself made by Runic) (v1.1.1, Jan. 4 2010)
  • mattdeslmattdesl Posts: 157
    Just an update... Lots of changes, but the new system is much more flexible.
    Format:
      svtinfo.exe file [options] [read|edit params]
    
    Example:
      svtinfo.exe 0.svt -out console -readAll -edit pet_type=Imaginary name=Blick pet_name=Bigglesworth gold=25234 retired=false
      svtinfo.exe 0.svt -out console -read name class pet_type gold
    

    As you can see, one of the properties you can change is the base pet type. In other words, I've permanently changed my player's pet to an Imaginary Pet.

    Details of the major changes:
    • If no "-out" option is specified, the properties will default to being written to a text file (e.g. "0.svt.txt"). This lets you drag SVT files onto the executable.
    • If console is specified as the "-out" option, the properties will not be written to a file, but to the console. If "-silent" is also specified there will be no printed output at all.
    • If "-read" is specified, only the properties listed after it will be read. Separate properties by spaces. This has replaced the old "-limit" option.
    • If "-edit" is specified, only the properties listed after it will be read/edited. Separate properties by spaces. Use "key=value" format: the name of the property (e.g. "pet_type") and the value (e.g. "Cat") separated by an equals sign ("=").
    • If "-readAll" is specified, all properties will be displayed. If not specified, only the properties listed by "-read" or "-edit" will be read. If no "-read" or "-edit" options are specified, the tool defaults to reading all properties.

    EDIT: Available for download here:
    http://code.google.com/p/torchtools/dow ... fo_v07.zip

    Backup your saves before using, to be safe. Please let me know how this new version works for you. I'll be updating the source in the SVN shortly.

    EDIT 2:
    Just whipped up a "bare bones" SVT editor that allows you to view and change all known properties of an SVT file. Here are some screens:
    svtgui2.png
    svtgui.png

    Gonna add the "dead" property (for **** mode) and then upload the new version. ;)
    Torchtools - An open-source save editing toolset
    Rename characters & pets, transfer gold, change difficulty, etc.
  • mattdeslmattdesl Posts: 157
    A few major updates:
    • The SVTInfo package is slowly becoming the primary toolset for the Torchtools project. Lots of changes to the website and its organization.
    • Added the first point-release for SVTInfo (1.0).
    • Added player "dead" property for reading/editing.
    • Added a GUI tool for viewing/editing all known SVT properties.
    • Added batch processing for svtinfo.exe, allowing a single run to read/write the properties of multiple SVT files.

    Download SVTInfo v.1.0 (Binaries Only):
    http://code.google.com/p/torchtools/dow ... in_1.0.zip


    EDIT:
    The next version will allow you to expose specific properties for GUI editing, e.g.
    svtgui.exe 0.svt -edit name pet_name pet_type
    
    The above only allows player name, pet name, and pet type to be edited.
    Torchtools - An open-source save editing toolset
    Rename characters & pets, transfer gold, change difficulty, etc.
  • First test round on TLeech 1.5-dev2:

    All values seems to working as intended except the stat/skill points. I run into trouble if i change these values. I take your 1.svt in the package for my tests.
    • On tests with "-edit statpoints=1" it shows up with "65235..." (too large to see the complete number ingame) remaining stat points ingame.
    • On tests with "-edit skillpoints=1" it shows up with 0 remaining skill points ingame.
    • If i reanalyze the file both values ("1" and "1")are correct parsed from svtinfo. The values are saved, but it seems to be diffrent from what the game wants to load/parse.

    And by the way, it is awesome to change a full equipped level 64 destroyer to a vanquisher! The gear switches automatically to the vanquisher models/textures, all weapons are there and i can attack with them. Even skillpoints are set up (all you must do is trink a respec potion you get them adjusted correctly). I did not exspect such less problems when changing the class value. I was prepared for game crash, floating misplaced gear and so on.
    TorchLeech - a free mod manager for Torchlight. --- powered by Runic Games Fansite.
  • mattdeslmattdesl Posts: 157
    Odd... I'll take a look at it shortly and upload a fixed version.
    Torchtools - An open-source save editing toolset
    Rename characters & pets, transfer gold, change difficulty, etc.
  • mattdeslmattdesl Posts: 157
    Sorry for the late reply. Been a hectic week.

    Updates:
    • Added "HP Bonus" property. This is added to the player's base HP, and it's the same that you would get from a "PERMANENT HP" effect.
    • Added MP & HP property (i.e. totals without bonuses).
    • Fixed statpoints/skillpoints bug. Version 1.0 writes to the wrong location -- it would be wise to revert to your old saves to ensure that nothing is lost/broken. I've deprecated v 1.0 for the meantime.
    • Added -edit property for GUI tool.

    I'll upload the next version tomorrow.
    Torchtools - An open-source save editing toolset
    Rename characters & pets, transfer gold, change difficulty, etc.
  • mattdeslmattdesl Posts: 157
    More updates:
    • Added many more values for pet_type.
    • Added ability to pass custom values for pet_type and class names. e.g. If you're using a pet mod, pet_type might show up as "Unknown". To fix this, you would pass a custom set of "built-in" variables to svtinfo.exe or svtgui.exe which overrides the hardcoded defaults. This also allows you to easily change your class to those you may have installed (e.g. Airbender) using the GUI tool.
    • Added getbuiltins.exe tool. This runs through the entire masterresourceunits.dat file, and compiles all the pet_types and classes that the user currently has installed. Since masterresourceunits.dat is a huge file, it's a pretty slow process. The output file can then be passed to svtinfo or svtgui with the '-builtins' option. Note that the "masterresourceunits.dat" file is deleted after using TorchED, and (re-)created after running Torchlight.

    Testing it out now with a huge troll as my permanent new pet -- pretty neat!

    Download SVTInfo v.1.1 (Binaries Only):
    http://code.google.com/p/torchtools/dow ... in_1.1.zip

    The Wiki should be updated soon with more details on how to use -builtins.

    Any requests for more properties to expose? Here are some that I've been tinkering with recently, and hope to include in svtinfo/svtgui soon:
    • pet level and XP
    • list of items, for changing their: name, quantity, socket count
    • class skills
    • resistances (if possible)
    • a "reset shared stash location" feature
    Torchtools - An open-source save editing toolset
    Rename characters & pets, transfer gold, change difficulty, etc.
  • do many more values for pet_type mean more pets chooseable than just dog cat and ferret?
  • mattdeslmattdesl Posts: 157
    do many more values for pet_type mean more pets chooseable than just dog cat and ferret?
    Yup... here are some that come built-in with the new version of SVTInfo (they should work with the vanilla Torchlight).
    Cat
    Dog
    Imaginary
    Burrower
    Electric Elemental
    Fire Elemental
    Ice Elemental
    Poison Elemental
    Aloe Gel
    Gel
    Pet Goblinhound
    Mimic
    Spider
    Troll
    Varkolyn
    

    If you have pet/class mods installed, you can run the "getbuiltins.exe" tool to compile a list of all available units. Then, run svtgui.exe from command line (or with a .bat file) with the following option:
    svtgui.exe -builtins builtins.cfg
    

    This should allow you to select your modded classes/pets using the tool (e.g. Nether Mage class, or Arctic Tiger pet).
    Torchtools - An open-source save editing toolset
    Rename characters & pets, transfer gold, change difficulty, etc.
  • So this tool allows me to change my pet into any creature in the game basically (I know it has other features as well but not fussed about those for the time being)?
  • mattdeslmattdesl Posts: 157
    Not necessarily any creature -- only those that Runic Games intended as pets. Basically, any creature that a fish could turn your pet into (except the change should be permanent).
    Torchtools - An open-source save editing toolset
    Rename characters & pets, transfer gold, change difficulty, etc.
  • O well that's good enough, thanks :)
  • it works flawlessly, although after you remove cheat flag you have to modify the name too, and remove "the Cheat" addition. just a cosmetic thing but if you fixed, it would not hurt. and a suggestion: maybe include pet level too?
    i noticed also that your tool is great for testing, i can set my character to any level then add skill and stat points in fitting amount(like, as much as i would get through normal leveling)
    i saw a funny thing too, if i change my basic pet(cat dog) into a elemental(does not matter which one) it will be as small as the pet. if i change my pet to a troll, and THEN to a elemental, it gets very big. :lol: ice elemental, 100% fat free!
  • mattdeslmattdesl Posts: 157
    it works flawlessly, although after you remove cheat flag you have to modify the name too, and remove "the Cheat" addition. just a cosmetic thing but if you fixed, it would not hurt. and a suggestion: maybe include pet level too?
    For now, svtgui.exe simply does everything that SVTInfo can do, but using graphical components (buttons, windows, etc).

    Eventually, I will add some extended functionality to the menu bar of svtgui.exe, such as "Remove Cheat Flag", "Reset Shared Stash Position", etc.

    I hope to add the pet level and XP soon. :)
    i saw a funny thing too, if i change my basic pet(cat dog) into a elemental(does not matter which one) it will be as small as the pet. if i change my pet to a troll, and THEN to a elemental, it gets very big. :lol: ice elemental, 100% fat free!
    Heh, odd. I will look into this. Maybe I can also include "pet size" for editing. :lol:


    Also: Soon I plan to implement an updater for the SVTInfo package. This will allow users to update the tools (i.e. adding more properties for editing) without having to manually download the executables from the site.
    Torchtools - An open-source save editing toolset
    Rename characters & pets, transfer gold, change difficulty, etc.
  • mattdesl wrote:
    it works flawlessly, although after you remove cheat flag you have to modify the name too, and remove "the Cheat" addition. just a cosmetic thing but if you fixed, it would not hurt. and a suggestion: maybe include pet level too?
    For now, svtgui.exe simply does everything that SVTInfo can do, but using graphical components (buttons, windows, etc).

    Eventually, I will add some extended functionality to the menu bar of svtgui.exe, such as "Remove Cheat Flag", "Reset Shared Stash Position", etc.

    I hope to add the pet level and XP soon. :)
    i saw a funny thing too, if i change my basic pet(cat dog) into a elemental(does not matter which one) it will be as small as the pet. if i change my pet to a troll, and THEN to a elemental, it gets very big. :lol: ice elemental, 100% fat free!
    Heh, odd. I will look into this. Maybe I can also include "pet size" for editing. :lol:


    Also: Soon I plan to implement an updater for the SVTInfo package. This will allow users to update the tools (i.e. adding more properties for editing) without having to manually download the executables from the site.
    i already started to imagine giant varkolyns, tiny trolls, and giant/small versions of custom pets
  • kaoDkaoD Posts: 11
    Is this tool still WIP? I'm doing a lot of research regarding file specs, and I'd be glad to share my information (and some utilities I made to analize the data) with whoever is interested. Currently I'm working on sharedstash.bin (pretty straightforward file format) and item analisys, and I've got a fairly interesting ammount of information about item data structure. I still need lots of help interpreting some data fields whose meaning I can't work out.

    Of course I will release all the data and tools to the public as open-source, but currently I'd like to keep it to myself (or whoever asks) because my source ****, is buggy and still under development. Probably I'll release the tools as soon as I add CHAR.SVT analisys (currently it only analizes sharedstash.bin and item data in CHAR.SVT.) Doing so requieres a huge ammount of work, so please be patient.
  • TorchLeechTorchLeech Posts: 429
    I hope you both are able to bundle your knowledge to a single tool like SVTInfo so we can extend our support in TLeech for this suite.
    TorchLeech - a free mod manager for Torchlight. --- powered by Runic Games Fansite.
  • how do you determine the colours in the type "|cFFFA0FB0"?
    Torched Templates:
    Map Merchant ; Random Talking NPC ;
    Rashnu's Tear Dungeon @ viewtopic.php?f=20&t=14861
    @ http://vrkmods.viviti.com/
  • FirvagorFirvagor Posts: 72
    how do you determine the colours in the type "|cFFFA0FB0"?
    This, from the first page?
    mattdesl wrote:
    The coloring is very easy. Just paste this in, replace XXXXXX with your color hex string (e.g. FFBA00 for gold, FA0FBO for purple, etc), and change ColoredNameHere to your player name.
    |cFFXXXXXXColoredNameHere|u
    

    Use online Color to Hex converters (search google) to get the hex string, a color picker like Photoshop, or simply use the "Font color" button when posting a reply on these forums.
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots.

    So far, the universe is winning.
  • thanks, how could I miss that?
    So the colours are in hex code not html :/ ummm
    Torched Templates:
    Map Merchant ; Random Talking NPC ;
    Rashnu's Tear Dungeon @ viewtopic.php?f=20&t=14861
    @ http://vrkmods.viviti.com/
  • FirvagorFirvagor Posts: 72
    HTML colors are hex (RGB), unless you mean the alternative of using colors by name. The first FF is just the implicit alpha value.
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots.

    So far, the universe is winning.
  • ShawdyShawdy Posts: 1
    Hey, im having truble with the cheatwhipe.. i cant load any saves..?:s could anyone tell me what i am doing wrong? im sure its just an obv mistake im making
2»
Sign In or Register to comment.