[Release] 3DS Builder

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by SciresM, May 16, 2015.

  1. SciresM
    OP

    SciresM GBAtemp Advanced Fan

    Member
    565
    1,661
    Mar 21, 2014
    United States
    I don't like .rsf files. They're stupid. So I made this thing.

    [​IMG]

    It's designed to be as simple as possible.

    Open a Romfs folder, or check the Pre-built box and select a pre-built decrypted Romfs binary.

    Open an Exefs folder, or check the Pre-built box and select a pre-built decrypted Exefs binary.

    Open the decrypted exheader for the game you're rebuilding. If the game in question was released before today, 3DS Builder should recognize the game's name and provide the correct serial. You can also enter a custom serial, if you want, of the form (CTR|KTR)-(P|U|N)-([A-Z0-9]){4}.

    Choose a location to save the resulting file.

    Hit go, and the program will generate a playable .3ds.

    Source Code is available here: https://github.com/SciresM/3DS-Builder

    And you can download it here: https://github.com/SciresM/3DS-Builder/releases
     
    B_E_P_I_S_M_A_N, HiD, CeeDee and 16 others like this.


  2. Normmatt

    Normmatt Former AKAIO Programmer

    Member
    2,142
    544
    Dec 14, 2004
    New Zealand
    Does it support Command Line Arguments?
     
    Margen67 likes this.
  3. Nismax

    Nismax GBAtemp Regular

    Member
    185
    60
    Sep 13, 2009
    United States
    Does it support message board arguments?
     
  4. SciresM
    OP

    SciresM GBAtemp Advanced Fan

    Member
    565
    1,661
    Mar 21, 2014
    United States

    It doesn't, but I can add those pretty easily.
     
    cearp and Margen67 like this.
  5. Margen67

    Margen67 Dirty entited pirate

    Banned
    1,100
    4,587
    Nov 3, 2014
    United States
    Does it support Like Arguments?
     
    CeeDee likes this.
  6. zoogie

    zoogie simple pimp tool

    Member
    6,237
    7,898
    Nov 30, 2014
    United States
    This would be a godly app if it supported CIA.
     
    Margen67 likes this.
  7. SciresM
    OP

    SciresM GBAtemp Advanced Fan

    Member
    565
    1,661
    Mar 21, 2014
    United States

    Annoying thing about CIA is crafting fake tickets. Other than that, the format's pretty simple.
     
    Margen67 likes this.
  8. Asia81

    Asia81 In my Ecchi World <3

    Member
    4,956
    2,447
    Nov 15, 2014
    France
    Albi
    nice, thank you very much
     
    Margen67 likes this.
  9. Asia81

    Asia81 In my Ecchi World <3

    Member
    4,956
    2,447
    Nov 15, 2014
    France
    Albi
    Could you add a way to use to use an extracted exefs ? (code.bin, icon.bin and banner.bin) ?

    Or how can we rebuild en exefs ?
     
    Margen67 likes this.
  10. SciresM
    OP

    SciresM GBAtemp Advanced Fan

    Member
    565
    1,661
    Mar 21, 2014
    United States

    It already supports both pre-built exefs_dec.bin files, and extracted exefs folders (containing .code.bin, icon.bin, and banner.bin.)
     
    Margen67 likes this.
  11. Asia81

    Asia81 In my Ecchi World <3

    Member
    4,956
    2,447
    Nov 15, 2014
    France
    Albi
    It's just optimized for Pokémon, or good for all games ?
     
    Margen67 likes this.
  12. SciresM
    OP

    SciresM GBAtemp Advanced Fan

    Member
    565
    1,661
    Mar 21, 2014
    United States

    It should work perfectly for all games, but it has some special features for Pokemon games.
     
    Margen67 likes this.
  13. innercy

    innercy GBAtemp Advanced Fan

    Member
    752
    131
    Oct 22, 2006
    thanks. cheers.:)
     
    Margen67 likes this.
  14. SinaNgok

    SinaNgok Newbie

    Newcomer
    5
    1
    May 16, 2015
    United States
    Getting this alert when selecting my decrypted exheader. Its for pokemon x.
    Capture.PNG
     
    Margen67 likes this.
  15. SciresM
    OP

    SciresM GBAtemp Advanced Fan

    Member
    565
    1,661
    Mar 21, 2014
    United States

    Spoiler: Like the alert says, your decrypted exheader is too small. I'm betting yours is only 0x400 bytes, it should be 0x800. Try extracting the exheader manually or with a newer version of ctrtool.
     
    Margen67 likes this.
  16. Anton299

    Anton299 GBAtemp Regular

    Member
    119
    37
    Jan 18, 2012
    Kiev
    What about adding a manual?
     
    Margen67 likes this.
  17. SciresM
    OP

    SciresM GBAtemp Advanced Fan

    Member
    565
    1,661
    Mar 21, 2014
    United States
    Update: Just pushed v1.1 to Github, Kaphotics helped to refactor the code in a big way. Should be slightly faster for big ROMs, and the code is much less messy.
     
    Margen67 likes this.
  18. SciresM
    OP

    SciresM GBAtemp Advanced Fan

    Member
    565
    1,661
    Mar 21, 2014
    United States

    I can add this, I mean, since I'm pretty sure a manual is just a second NCCH in the content array, but why would you actually care about having a manual?
     
    Margen67 likes this.
  19. Anton299

    Anton299 GBAtemp Regular

    Member
    119
    37
    Jan 18, 2012
    Kiev
    Manual is another partition, right.
    I care about a manual because I translated Zelda ALBW to Russian and working at LoZ OoT translation. Both have Russian manuals (in PAL roms for sure), so I'd like to include it.
    Your tool is great for releasing translation (no makerom, rsf, bat, etc), it's pretty easy for target user (who will play my translated rom).
     
    Margen67 likes this.
  20. cearp

    cearp the ticket master

    Member
    7,475
    4,710
    May 26, 2008
    Tuvalu
    thank you, rsf files are evil :)
    i hope this runs nicely in wine


    -- is there a problem if the content does not contain a romfs and we do not provide it? (not everything does right?)

    if you are letting us give a custom serial, how about letting us give a custom title id? that is all in the exheader right?
    and, is the name not in the exheader? why only current games and not future games will have their names recognized?

    but still, very very helpful tool.
    creating a fake ticket would be simple, i would make it completely barebones so we can tell it was made this something like this program. like, make the signature into a message of your choice :)