[Question] Best way to release a ROM hack?

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by HelpTheWretched, Apr 5, 2017.

  1. HelpTheWretched
    OP

    HelpTheWretched Advanced Member

    Newcomer
    62
    27
    Feb 4, 2010
    Canada
    I've got a ROM hack that's almost done and I'd like to release it, but I don't know the best way.

    The game (Zelda: Tri Force Heroes) has an update/DLC that's required for online play, which would overwrite a bunch of the modified files if I just released the v1.0 ROM hacked in .3ds or .cia.

    I've been testing/playing the hack by just packing all the modified files into the v2.1 update .cia and re-installing that each time. But of course, anybody wanting to play it would need the full game, physical or digital.

    Is one of those options the 'standard' around here? Or does anyone know if there's a way to combine the main game and the v2.1 patch into a single .cia? I could pack all the files together but the updated has new code that might conflict somehow... or the game might search for the update's titleID when trying to play online... I dunno!
     
  2. dAVID_

    dAVID_ GBATemp Enthusiast

    Member
    604
    413
    Oct 23, 2016
    Mexico
    Your basement
    Quickly! Distribute it to as many warez sites as you can!
     
    Darukeru likes this.
  3. Sonic Angel Knight

    Sonic Angel Knight GBAtemp Guru

    Member
    9,825
    4,916
    May 27, 2016
    United States
    New York
    Best way to release rom hacks is to create a patch with instructions on how to patch the rom yourself. Most sites like this one allow rom hacks only if they aren't a rom itself, so if you want to share to more sites, that be the best way. :)
     
  4. souler92

    souler92 GBAtemp Regular

    Member
    198
    67
    Jan 5, 2017
    Netherlands
    follow
     
  5. ReiKeima

    ReiKeima Newbie

    Newcomer
    3
    5
    Feb 28, 2017
    United States
    Going by how Pokémon Bank's latest update behaves, I'd say put update contents in base CIA, figure out if there were any overwrites to your edit, and set the CIA's software version to be equal to or higher than the update data's software version (3120).

    Or don't put the update contents in the base CIA and just kick up the CIA's version to equal or higher than the update data's.
     
    HelpTheWretched likes this.
  6. kingraa777

    kingraa777 boom!

    Member
    1,050
    266
    Apr 17, 2015
    more info on the rom haCK please
     
  7. HelpTheWretched
    OP

    HelpTheWretched Advanced Member

    Newcomer
    62
    27
    Feb 4, 2010
    Canada
    ...No, Peg.

    Cool, like an IPS patch or something? And would that even be feasible on an encrypted .cia?



    Well, I'd need to include the update's contents since there's additional code, but I'll try putting it all in the base .cia, thanks.

    Nothing really special, just restores Purple Link. He had many fans who have missed him.
     
    kingraa777 likes this.
  8. Sonic Angel Knight

    Sonic Angel Knight GBAtemp Guru

    Member
    9,825
    4,916
    May 27, 2016
    United States
    New York
    Well i think people are starting to use BPS more than IPS, and also is just a matter of providing the custom content and instructing the users how to patch it themself. I don't think distributing cia is allowed unless is completely 100% original content, not modified official content mixed with original content. It may fall under some rules against some conduct i dunno yet. Ask a staff member:unsure:
     
    HelpTheWretched likes this.
  9. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    11,865
    5,018
    Mar 17, 2010
    Norway
    Alola
    I think they meant to use something like PackHack which extracts the CIA, patches in the modded files and rebuilds it for you.
    IPS patches and such used to work very well back in the day when mods just replaced certain bytes in the ROM or added data to the end of it, but the romfs filesystem is a lot more complex than that so you'll probably end up with a patch that is much larger than the edited content and contains most of the game because the process of extracting the romfs, adding your files and rebuilding the CIA will result in a completely different file. Also, you can't redistribute said file if it contains most of the game.

    But anyway I would suggest to distribute your edited files with PackHack or similar. That way people can patch their own CIA, patch a romfs for use with HANS, or they can take the edited files and stick them in a LayeredFS if they like. It leaves more options for people.

    That still leaves the issue of the update data though. Maybe design the patch to be used with the update CIA?
     
    Last edited by The Real Jdbye, Apr 5, 2017
    HelpTheWretched likes this.
  10. HelpTheWretched
    OP

    HelpTheWretched Advanced Member

    Newcomer
    62
    27
    Feb 4, 2010
    Canada
    Okay, thanks for the good replies, everyone.

    Come to think of it, TFH is primarily an online game, so nearly everyone has the patch. It'd be a lot easier to work with that. So I'll brush up with PackHack (and/or look into BPS patching) and release it that way, but maybe also release the hacked patch .cia at that site or that other site. ;)

    Also, as it's something I've tried before (https://miiverse.nintendo.net/posts/AYMHAAADAAB2V0f9x_I8eQ), I may include some modified Miiverse stamps in the hack. If anybody has ideas for logos or other such images that'd be good to include....
     
  11. B_E_P_I_S_M_A_N

    B_E_P_I_S_M_A_N oh no

    Member
    681
    2,462
    Jun 7, 2016
    United States
    Sixth Circle of Hell
    Here's a fork of LayeredFS that works on pretty much every game: https://github.com/mariohackandglitch/OnionFS.

    Personally, though, I haven't had much luck with Layered/OnionFS (certain modified assets wouldn't load properly).

    Your best bet would to just release the modified files and let users patch their games themselves. It takes a bit more work for the end user, but it's not deathly hard. It also allows the end user to choose how to play the game (HANS, OnionFS, or rebuilt CIA), though that decision would be up to them.
     
    HelpTheWretched likes this.
  12. HelpTheWretched
    OP

    HelpTheWretched Advanced Member

    Newcomer
    62
    27
    Feb 4, 2010
    Canada
    Ooh, I like that Layered/OnionFS, never seen it before. I'll have to figure out how to work it, though. :P

    One question, since it didn't mention in either readme: Do you know if the files you include need to keep their directory structure? Like say I just want to modify link's character model, would I include:
    SD:/OnionFS/<titleID>/romfs/link.bch
    or
    SD:/OnionFS/<titleID>/romfs/Common/Costume/link.bch
    Since it's normally located in the /Common/Costume folder?
     
  13. KunoichiZ

    KunoichiZ GBAtemp Guru

    Member
    7,864
    3,130
    Mar 16, 2012
    United States
    It should be in Common/Costume, as that's the original structure for the romfs.
     
    HelpTheWretched likes this.
  14. HelpTheWretched
    OP

    HelpTheWretched Advanced Member

    Newcomer
    62
    27
    Feb 4, 2010
    Canada
    Thanks again, Kunoichi. :ninja:^_^

    New question that came up as I was writing the instructions.txt:

    Any time I've played this game with HANS, it does not apply the V2.1.0 DLC/Update. So online play is out, and it doesn't contain the code for several outfits. Basically, I'm not sure how to apply it, and right now HANS isn't working for me to test it. (It locks before starting any game; worked fine when accessing HBL via MenuHax, but never worked since applying A9LH+Luma3DS. That's a question for another time...)

    Does anyone know if it would work with HANS by loading the custom RomFS and the update's code.bin from SD?
     
  15. DarkSynopsis

    DarkSynopsis GBAtemp Fan

    Member
    392
    234
    Oct 15, 2014
    New Zealand
    New Zealand
    I don't believe it would allow online play though, not worked with HANS but I've merged updates with base games before for CIAs and even though they are running the latest version of the game that way, online still didn't work, guess the title checks to see if the update TitleID is installed or something, been awhile since I tested that though.
     
  16. PabloMK7

    PabloMK7 Red Yoshi! ^ω^

    Member
    1,756
    1,032
    Feb 21, 2014
    Spain
    Yoshi's Island
    OnionFS works with updates, just make sure to add the update romfs to the romfs folder aswell.
     
  17. HelpTheWretched
    OP

    HelpTheWretched Advanced Member

    Newcomer
    62
    27
    Feb 4, 2010
    Canada
    That makes sense... Whether it's the solution or not, I'll put a note about keeping the update installed.

    Great! I don't have NTR CFW (not very familiar with anything other than Luma3DS) but I read up on OnionFS. It's a very neat option.
     
  18. KunoichiZ

    KunoichiZ GBAtemp Guru

    Member
    7,864
    3,130
    Mar 16, 2012
    United States
    NTR CFW isn't an actual CFW. You run NTR by launching an app, such as BootNTR Selector. You don't need to change CFWs at all.
     
    Last edited by KunoichiZ, Apr 11, 2017
    HelpTheWretched likes this.
  19. natanelho

    natanelho GBAtemp Maniac

    Member
    1,316
    338
    Apr 25, 2015
    Tuvalu
    wow *watch*
    please link here to the release thread when ot will come out