Documenting Skyward Swords save file.

Discussion in 'Wii - Hacking' started by Antidote, Jan 12, 2012.

Jan 12, 2012
  1. Antidote
    OP

    Member Antidote GBAtemp Regular

    Joined:
    Jul 13, 2011
    Messages:
    106
    Country:
    United States
    I've been documenting the save file for Skyward sword over the past few days, which has proven to be very slow going however i do have some progress.

    I'm able to not only modify the save data, but i'm also able to get a "valid" file, the each game has a CRC32 checksum tacked on at the end. Each "file" is 0x53c0 bytes in size.

    This is what i have currently

    I would like to eventually create save editor however as you can see i don't know much about the format as of yet. I'll update this thread as i find out more
     
    I pwned U! likes this.


  2. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,738
    Country:
    United Kingdom
    So rarely do I see vanilla crc32 as a game save checksum/hash. I lack a wii and I do not think my machine is up for emulation so there is not much I can do to help but you do have my encouragement.

    Also although it would serve no purpose at all I am well up for engineering a collision for some reason.
     
  3. Lucif3r

    Member Lucif3r GBAtemp Maniac

    Joined:
    Sep 10, 2011
    Messages:
    1,464
    Country:
    Sweden

    Actually it doesnt require that much. Im able to play Wii games through Dolphin on my laptop (barely) which is an old Turion x2 1.8Ghz, 2048MB DDR2 RAM and a GF8400M (urm, 512MB I think? Or was it 256...)
    Of course, its possible your machine is weaker than my laptop, but I doubt it tbh.
     
  4. LWares87

    Member LWares87 The 'Wise' Merchant

    Joined:
    Oct 19, 2008
    Messages:
    1,691
    Location:
    Colchester, England
    Country:
    United Kingdom
    Codes would be better, than editing the save file.
     
  5. Cyan

    Global Moderator Cyan GBATemp's lurking knight

    Joined:
    Oct 27, 2002
    Messages:
    16,433
    Location:
    Engine room, learning
    Country:
    France
    I guess making an editor is more for his own self learning experience on deciphering the save format and creating the program than to allow users to cheat (like you said, ocarina codes already exists).
    It's a good experience to have a project and complete it, it helps understanding how things are working and already have some experience for future hacks.
     
    _acid_, Eerpow and Rydian like this.
  6. Antidote
    OP

    Member Antidote GBAtemp Regular

    Joined:
    Jul 13, 2011
    Messages:
    106
    Country:
    United States
    Yeah, it's mostly for the experience, however the thing is people WOULD use a save editor despite the existence of gecko codes.
    Most of these people would have lost their saves and want to get as close to where they were before they lost their save, that was MY motivation to start looking into the save format.
     
  7. Lucif3r

    Member Lucif3r GBAtemp Maniac

    Joined:
    Sep 10, 2011
    Messages:
    1,464
    Country:
    Sweden
    Thats very true. Would be very handy for the skyward sword gamebreaking bug.
     
  8. WiiPower

    Member WiiPower GBAtemp Guru

    Joined:
    Oct 17, 2008
    Messages:
    8,165
    Country:
    Germany
    If you only want to change the number rupees, beetles and relics once, i'd prefer a savegame editor over Ocarina codes. But the possibilites of a savegame editor are very limited.

    One nice thing to find would be a the save location, which bird statue you start the game from the save.
     
  9. Antidote
    OP

    Member Antidote GBAtemp Regular

    Joined:
    Jul 13, 2011
    Messages:
    106
    Country:
    United States
    I've found that, and am currently researching it. However the "bird" statue isn't saved just the map ID and your location relative to the maps origin. I've actually had Link spawn in mid freaking air xD

    Edit:
    Updated first post with new information
     
  10. Cyan

    Global Moderator Cyan GBATemp's lurking knight

    Joined:
    Oct 27, 2002
    Messages:
    16,433
    Location:
    Engine room, learning
    Country:
    France
    What might be the most difficult is to choose which event are done or not to advance in the story.
    you could make a "before last boss" save but without completing the new games event such as finding the tablets to open the land paths.


    I don't know how the events are verified, but there are certainly events to trigger one by one.
    Maybe it's already well made and each increment of a single "story progress" variable is enough, as it may be used on the boss rush mode to remember which equipment you had at that time.
     
  11. Antidote
    OP

    Member Antidote GBAtemp Regular

    Joined:
    Jul 13, 2011
    Messages:
    106
    Country:
    United States
    My guess is it's just bit flags for each area, however i'm still documenting location ID's right now so i'll get to that soon (I hope)

    EDIT:
    Speaking of which:
     
  12. overlord00
    This message by overlord00 has been removed from public view by a moderator, Dec 9, 2016.
    Jan 13, 2012
  13. Errorjack

    Member Errorjack GBAtemp Regular

    Joined:
    May 23, 2010
    Messages:
    221
    Country:
    United States
    There IS a debug room in the game, do you know the ID for that?
     
  14. Antidote
    OP

    Member Antidote GBAtemp Regular

    Joined:
    Jul 13, 2011
    Messages:
    106
    Country:
    United States
    you obviously don't understand, it doesn't have a name, those are ALL the valid names any other value makes the game CRASH. therefore the game doesn't name the debug room
     
  15. Lucif3r

    Member Lucif3r GBAtemp Maniac

    Joined:
    Sep 10, 2011
    Messages:
    1,464
    Country:
    Sweden

    Thats a bit weird. Because I can confirm theres a debug/test room. Ive looked at the model of it myself.
    They mustve removed the savegame hex-code for it (but left the model in? :s) before release. Of course its possible they spawned there in some other way, but using a hexcode in a save game sounds like the easiest way.
     
  16. Antidote
    OP

    Member Antidote GBAtemp Regular

    Joined:
    Jul 13, 2011
    Messages:
    106
    Country:
    United States
    No those location ID's are NOT for map loading, just for telling the game your current game location (Which can differ even on the same map), The game uses a much simpler method of storing the map location: It's directory soooo Look for F000 in the save and you know you're on Sky Loft.

    [​IMG]
    ^ Like that

    Change the top and bottom one to "Demo" (for consistency), zeroing out where appropriate, and adjust the checksum to account for the change (You may also need to adjust the spawn position for link) and this is what you get:
    [​IMG]
     
  17. Lucif3r

    Member Lucif3r GBAtemp Maniac

    Joined:
    Sep 10, 2011
    Messages:
    1,464
    Country:
    Sweden
    Aha! Well that explains it hehe :P
     
  18. Antidote
    OP

    Member Antidote GBAtemp Regular

    Joined:
    Jul 13, 2011
    Messages:
    106
    Country:
    United States
    I've been working on the starts of a Save editor in Qt, and it's coming along nicely.

    After some trouble figuring out how to load BigEndian Unicode with an API that doesn't support it by default I'm now getting ready to code the nitty gritty.

    Please not that NONE of my research on the flags will be used until i know more about them. they are highly experimental, however I do plan on having a Hex Editor built in to it so people can go in and mess with the values (within reason) and see immediate results without having to do the checksum dance i've been having to do lately.

    Lucif3r: Yeah, It kinda confused me at first too, however i can see the genius in it now. because now they don't have to have a separate flag for EVERY room in the game. just the directory for a certain area which is already defined. no need to reinvent the wheel twice in one game. :P
     
  19. Lucif3r

    Member Lucif3r GBAtemp Maniac

    Joined:
    Sep 10, 2011
    Messages:
    1,464
    Country:
    Sweden
    Except they have about 6 copys of each model spread across all files and twice the amount of textures needed :rolleyes:
    The file layout is completely messed up. In pretty much every level they got a copy of the boss door, which is EXACTLY the same as in the other 10 million files... Why cant they just make a reference in each file pointing to ONE file which contains the actual model, (like they do with animations) instead of duplicating the model and increasing the size of the game >_> (not to mention its a bitch to edit for us lol)
     
  20. Antidote
    OP

    Member Antidote GBAtemp Regular

    Joined:
    Jul 13, 2011
    Messages:
    106
    Country:
    United States
    that's not reinventing the wheel, thats iterating it more times than you need ;D
     
  21. Antidote
    OP

    Member Antidote GBAtemp Regular

    Joined:
    Jul 13, 2011
    Messages:
    106
    Country:
    United States
    I just commited the source to a VERY alpha save editor for those interested. It doesn't do much of merit just yet but it shows that I'm not just talking out my rear about this.

    http://skyward-sword-save-editor.googlecode.com
     
    I pwned U! and pelago like this.

Share This Page