[Release - WIP] 3DS Toolkit

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by fafaffy, Aug 4, 2015.

  1. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    So today I decided to work on a 3DS toolkit which will eventually be a beautiful, versatile program that people will be able to use for anything 3DS.

    This program is ran off of plugins, so it gives you - the user - the ultimate say of what does and doesn't go inside this program.

    Unfortunately, as this is just the start of the program (quite literally started today), I only have a couple of plugins and minimal functionality. However, this program is currently, and will remain open sourced for the community.

    Current features, as of right now:
    • Plugin support (via DLL files)
    • 3DNUS plugin (approved by ground himself)
    Planned features:
    • Homebrew manager
    • One-click update of plugins
    • Update checker for the main program
    Screenshots:
    [​IMG]

    [​IMG]

    ** Unfortunately, this tab is not fully functional right now
    [​IMG]

    Gif: http://i.imgur.com/fWi2RQT.gifv


    Download:
    Source code: https://github.com/fafaffy/3DS-Toolkit/archive/master.zip
    Binaries: https://copy.com/o1zSLl9anZIJBlPL/3DS toolkit release V1.2.0.1.zip

    Source Code:
    https://github.com/fafaffy/3DS-Toolkit/


    If you guys have any specific requests for this toolkit, please feel free and share them; this tool is only as good as you'll let me make it. Thanks!
     

    Attached Files:

    Last edited by fafaffy, Aug 6, 2015
    FM360, d0k3, kactusss and 12 others like this.


  2. Asia81

    Asia81 In my Ecchi World <3

    Member
    4,845
    2,340
    Nov 15, 2014
    France
    Albi
    Why not, can be useful.
    Thanks :)
     
  3. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    Quick update:

    So far I've been able to successfully parse a homebrew SMDH file, and all that's left is figuring out how to properly parse the icon in C# :\
    Hopefully I'll be able to figure this out by the end of the day (this update has not been submitted to github yet).
    Warning: Spoilers inside!
     
    Last edited by fafaffy, Aug 6, 2015
  4. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    Ok, I'm starting to get stuck with the icon, and may sadly need to omit it indefinitely. Here's what I'm reading when I look at FBI's icon:

    [​IMG]

    It has the right color, and I'm assuming the right amount of pixels, but I can't for the life of me figure out how to "unscramble" it. According to the Wiki, they are set on a 8x8 region, where the regions follow a certain pattern. However, I opened up the image in Photoshop, bloated the pixels and yeah... Even the 8x8 areas are messed up. Unless someone has any additional info, I'll have to go iconless :|
     
  5. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    Got the homebrew reader working!
    Now I'm getting up a mini little install section to more easily download/install homebrew to the 3DS!
    This is a rough (emphasis on rough) idea of how it will look, though it will eventually have version/updating support.
    [​IMG]
     
  6. zoogie

    zoogie simple pimp tool

    Member
    6,146
    7,721
    Nov 30, 2014
    United States
    The C# code to parse icons is in 3dsexplorer.
     
    fafaffy likes this.
  7. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    I... love you...
     
    zoogie likes this.
  8. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    Thanks to @zoogie for pointing out 3DS Explorer... Icons now work :D

    Though, only the 48x48 icons work, not the 24x24 (they look screwy) but hey, I'm not complaining

    [​IMG]
     
    Last edited by fafaffy, Aug 5, 2015
    kactusss, Dartz150, VinsCool and 2 others like this.
  9. DarkFlare69

    DarkFlare69 GBAtemp Psycho!

    Member
    4,625
    2,456
    Dec 8, 2014
    United States
    Ohio
    Add a "Build 3DS" tab, "Build RomFS" tab, "Convert 3DS to CIA" tab, "Decrypt ROM" tab, and then I'm in.
     
  10. Dartz150

    Dartz150 GBATemp Official Lolicon Onii-chan™

    Member
    1,406
    845
    May 5, 2010
    Mexico
    On a Strange Journey
    Plugin list I would love to see:

    • Simple .cia converter tool.
    • SD Explorer.
    • EmuNAND tool.
    • Photo and Video viewer.
     
  11. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    I'm definitely interesting in coding tools to assist cia/3ds conversion, decryption, compiling, decompiling :). We'll see how fast I can get to them, however. I can't promise anything too soon.

    Now, what do you mean when you say SD Explorer?

    As far as the EmuNAND tool, I'll see if I can figure out how to read the EmuNAND partition off the SD card. I'm definitely interested in adding it, but it seems like a lot of work to where I won't be able to prioritize it at the moment.

    Photo and Video viewer? I'll debate on this. I will try to add a theme installer/browser, so maybe that can substitute? *shrugs*

    Anyway, I finished setting up github (github pages), and am working on the program to get a reliable Update Checking method for the main program (and eventually plugins). So, tomorrow I'll release a new version.
     
    Last edited by fafaffy, Aug 5, 2015
  12. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    Just pushed out a new version (1.1.0.0) to github, and made an official release on the thread

    Changelog:
    • Homebrew tab
      • Can now read off of removable storages (e.g. SD cards)
      • Can read installed homebrew, along with their icons/names/descriptions
      • Work-in-progress homebrew download section
    • Main
      • Will now check for updates regarding the main program
      • Fixed minimum size, so the program layout doesn't get all screwy
     
  13. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    Homebrew installer is almost done! Got most of it working :D

    Here's how it currently looks like: Download buttons are grayed out since they didn't have a download link attached (yet)
    [​IMG]
     
    Last edited by fafaffy, Aug 5, 2015
  14. ChaosEternal

    ChaosEternal GBAtemp Regular

    Member
    100
    29
    Jul 27, 2015
    United States
    Oddly enough, I'm only getting a blank box when I run the program. Currently running Windows 8.1 btw. Both 1.0 and 1.1 result in this.
     
  15. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    Are you sure you extracted all the files and folder? You need the Plugins folder in order to get any tabs
     
  16. ChaosEternal

    ChaosEternal GBAtemp Regular

    Member
    100
    29
    Jul 27, 2015
    United States
    That I do. I have the plugins folder, the exe, and six dll files. The plugins folder contains 3DNUS and 3DSD .dll's.
     
  17. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    Wow, to my surprise, I downloaded it and the same thing happened to me. This is weird, it works before I zipped it and uploaded it but it doesn't when I download and extract it...

    Lemme see if I can figure this out, thanks for letting me know
     
  18. fafaffy
    OP

    fafaffy GBAtemp Fan

    Member
    331
    160
    Sep 1, 2012
    United States
    Found the issue!
    Code:
    System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework
    http://i.imgur.com/hmBlTMf.png

    Wow, that was annoying to catch. Anyway, this was (thankfully) a simple fix and I'll be patching it now and uploading the new version. Thanks for letting me know @ChaosEternal! More than likely would have never noticed unless you pointed it out.
     
  19. ChaosEternal

    ChaosEternal GBAtemp Regular

    Member
    100
    29
    Jul 27, 2015
    United States
    Woah, fascinating! Happy I was able to help. :)
     
  20. Kurt91

    Kurt91 GBAtemp Fan

    Member
    386
    87
    Sep 9, 2012
    United States
    Newport, WA
    So, let me make sure that I understand this right. I could use this to install a homebrew program to the SD card the same way that I would using FBI, except though the computer rather than the 3DS? That sounds incredibly useful. Does it have a way to determine the difference between a CIA of a game and a homebrew CIA?

    If I had to make a recommendation to the program, would it be possible to have the option on the 3DNUS plugin to let us search for things using their name rather than their Title ID? For instance, if we were to put in something like "Firmware" into the search bar, have a list come up to certify whether we wand "N3DS Firmware 9.1.0", "O3DS Firmware 9.1.0", etc?

    The only recommendation that I could think of for the SD card management would be to have a list of recommended homebrew programs that we could download. For instance, a list of programs such as GameYob, FTBrony, BlargSNES. Clicking a download button would either automatically open a window to the site or forum page for that particular program, or link directly to the download itself. (Although I think that the latter would be more work and require permission and setup with the people making each individual program.)