Thanks buddy! I'll merge it into the original archive. I forgot to adjust the makefile when I adapted this from the grid launcher.Small contribution, the attached Makefile should make things easier to compile.
What I changed? In line 52 (LIBS) there was tons of defined libraries (freetype, libpng, etc) that wasn't used at all. Removed all of them, only left libctru.
Wow, thanks! I left tinyxml in because it seemed to be used for extracting some information from the binary for booting it, so I'm impressed you managed to remove it!Well, being a developer myself (not of 3DS, more of general systems) I didn't resist the desire to clean up the code. So I removed tons of unnecessary code (mainly comming from HBL itself, like the tinyxml2 and scanner.c files) that reduced the resulting binary by a good margin (from ~330KB to ~110KB).
There are still some things that maybe can be removed too, however I didn't bother much because the main causes of the big binary size is tinyxml2 and scanner.c files. This leaves some stub files (like scanner.h) because I didn't try to substitute them. Anyway, it seems to work.
You can download the new binary from GitHub (https://github.com/m45t3r/HBL-Emergency/releases/tag/v0.1) and the source code from there too (https://github.com/m45t3r/HBL-Emergency).
Wow, thanks! I left tinyxml in because it seemed to be used for extracting some information from the binary for booting it, so I'm impressed you managed to remove it!
I'll edit the original post to point to your update instead. Thanks for crediting me on the github page by the way
How about using this to dual boot home brew launchers?
By that I mean use it for if you like two different launchers for different things.
Normal launch is your regular Homebrew launcher and the 'emergency' launcher is your secondary use launcher.
This seems like it could be used in a prank even. Have it setup to boot fake brick for a quick prank.
Could this be used by themehax too? Use left shoulder to launch one thing and the right shoulder to launch something else?
Can we use the names and the paths we wish? For example:
[Default]
path: /3ds/ReiNand/ReiNand.3dsx
[KEY_SELECT]
path: /smea.3dsx
[KEY_R]
path: /3ds/Decrypt9/Decrypt9.3dsx
Or we need to strictly use boot_default, boot_1 and so and place them all in the root?
Thank you for your work
Before you select sysnand on rxTools, press and hold the button that cancels the loading of themehax (by default it is L) until sysNAND finishes to load.So I know this really isn't a problem with this homebrew, but every time I try to load rxTools sysnand, it is in a boot loop, so to say because I have the themehax with no buttons.
So essentially:
1. Turn on 3DS to load theme hax
2. Loads rxTools sysnand
3.Due to loading sysnand, loads theme hax with no holding buttons, once again.
endless loop. Anyone know of anyway to fix this?
The readme file is broken. At least it was for me.Preview release, now with support for config files as requested by @fmkid.
I have to say, I am impressed with inih. Including them on my source and it only added ~20KB to the final binary.
See the example boot_config.ini for how to configure this homebrew. I changed the filenames again, so now it is something like this by default:
boot_1.3dsx -> boot_default.3dsx
boot_2.3dsx -> boot_1.3dsx
It can even works without the boot_config.ini file, for those who only want the CFW delay feature. In this case, it only supports the boot_default.3dsx file, though.
Please test it and report anything, so I can make a release later sure that I didn't add no new bugs to it. I would like reports of people trying to run CFWs in coldboot (using themehax) and having problems with booting too. This would be a valuable feedback.
I use it to launch rxTools's emuNAND by default with themehax, and configure it to launch Homebrew Launcher when I press R.
In this new version this is basically a stripped down, and very fast version of Homebrew Launcher. It can launch pretty much anything that runs with Ninjhax 2.x (it should works with 1.x too, however I didn't test it).
Edit: new version, changed delay to microseconds instead of nanoseconds (ns is too fast to be useful), fixed the calculation and set a new default to 100 ms (at least on my O3DS 9.2 it is working 100%, want reports specially from N3DS users).
Then, file isn't broken, don't you think?The readme file is broken. At least it was for me.
It was called README.rd
I changed the file to .txt in order to read it
Didn't say it was unusable. Just that it was broken.Then, file isn't broken, don't you think?
Well, for me, at least, broken = damaged, corrupted, unusable. But, whatever!Didn't say it was unusable. Just that it was broken.
Broken means it is not working the way it was intended.