Homebrew Official [Download] Decrypt9 - Open Source Decryption Tools (WIP)

  • Thread starter d0k3
  • Start date
  • Views 838,195
  • Replies 4,476
  • Likes 71

peteruk

Well-Known Member
Member
Joined
Jun 26, 2015
Messages
3,003
Trophies
2
XP
7,331
Country
United Kingdom
Yeah. I wouldn't really count on ever booting it from emuNAND (I haven't tried booting it from emuNAND 9.0-9.2, but there's no real point, it's not that big of a deal to reboot).

Your right, i agree with you, thanks for that tip, appreciate it as always mate :)
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
@Shadowtrance (and anyone else interested in theming)
Take a look at my Github! I think I found a good solution to make it much easier keeping Decrypt9UI up to date. Theming can now easily be enabled via #define USE_THEME [Name of theme GFX path]. You can do so either via a common.h edit, or via a Makefile edit (you'd need to add '-DUSE_THEME="\"[Name of theme GFX path]\""' to CFLAGS in that case).

Some things to consider:
  • '3DS/Decrypt9UI/UI/' still works as an alternative path for UI files.
  • The only things that you should really need to edit now is theme.h (minor, simple edits) and the resources dir (mainly just copying over from your previosu version for that, but keep in mind there's now a VOODOO parameter for the Brahma Loader). Maybe theme.c (if text placement on the logo doesn't fit), common.h (see above) and the Makefile (cause your previous one, f.e. auto-copies the readme file). Of course you also need to provide the gfx files. And if you want to organize the menu differently, you need to edit main.c.
  • I think work directory handling is much improved now. The way it is handled now, users are basically free to use the work directory or not. You might want to keep the handling as it is, but it's your choice.
  • The themed menu starts on level 1 (meaning no main menu like in the unthemed menu). It can be switched via L/R.
  • console.h/.c is gone - that source code was suspicious anyways. The fact also won't hold you from having a beautiful terminal/console - you can now define a background graphic for Debug() output. Also, text placement, size, bg color and font color is easily editable via theme.h. If you want that console title back, we can do something about that. Just let me know!
  • Filenames for menu GFX are auto-defined as menuXXYY.bin, where XX = number of menu and YY = index. To learn more about that, the new batch screenshot function (<X> + <LEFT> / <X> + <RIGHT>) is your friend!
  • There are now 88 menu graphics total + the special (progress, success, fail...) graphics. Meaning roughly 100 graphics files / ~20MB of additional data :O. I hope you have a way to automate at least some of the gfx generation. You can also minimize the size of the release archive a lot by using .7z with maximum compression settings (I can help you set this up in the Makefile).
  • The NDS ROP is now compiled in place, and you can change the background gfx for that, too! Just take a look in the resources dir!
  • I'm pretty sure there will be bugs or minor problems... couldn't really test it cause I don't have updated menu graphics. Relying on you to point any problems out, and if you should have some beta GFX at some point, that will help me testing, too.
  • ... and I might also have forgotten about some stuff :).
Let me know what you think about that change!
 
Last edited by d0k3,

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
@Shadowtrance (and anyone else interested in theming)
Take a look at my Github! I think I found a good solution to make it much easier keeping Decrypt9UI up to date. Theming can now easily be enabled via #define USE_THEME [Name of theme GFX path]. You can do so either via a common.h edit, or via a Makefile edit (you'd need to add '-DUSE_THEME="\"[Name of theme GFX path]\""' to CFLAGS in that case).

Some things to consider:
  • '3DS/Decrypt9UI/UI/' still works as an alternative path for UI files.
  • The only things that you should really need to edit now is theme.h (minor, simple edits) and the resources dir (mainly just copying over from your previosu version for that, but keep in mind there's now a VOODOO parameter for the Brahma Loader). Maybe theme.c (if text placement on the logo doesn't fit), common.h (see above) and the Makefile (cause your previous one, f.e. auto-copies the readme file). Of course you also need to provide the gfx files. And if you want to organize the menu differently, you need to edit main.c.
  • I think work directory handling is much improved now. The way it is handled now, users are basically free to use the work directory or not. You might want to keep the handling as it is, but it's your choice.
  • The themed menu starts on level 1 (meaning no main menu like in the unthemed menu). It can be switched via L/R.
  • console.h/.c is gone - that source code was suspicious anyways. The fact also won't hold you from having a beautiful terminal/console - you can now define a background graphic for Debug() output. Also, text placement, size, bg color and font color is easily editable via theme.h. If you want that console title back, we can do something about that. Just let me know!
  • Filenames for menu GFX are auto-defined as menuXXYY.bin, where XX = number of menu and YY = index. To learn more about that, the new batch screenshot function (<X> + <LEFT> / <X> + <RIGHT>) is your friend!
  • There are now 88 menu graphics total + the special (progress, success, fail...) graphics. Meaning roughly 100 graphics files / ~20MB of additional data :O. I hope you have a way to automate at least some of the gfx generation. You can also minimize the size of the release archive a lot by using .7z with maximum compression settings (I can help you set this up in the Makefile).
  • The NDS ROP is now compiled in place, and you can change the background gfx for that, too! Just take a look in the resources dir!
  • I'm pretty sure there will be bugs or minor problems... couldn't really test it cause I don't have menu graphics. Relying on you to point any problems out, and if you should have some beta GFX at some point, that will help me testing, too.
  • ... and I might also have forgotten about some stuff :).
Let me know what you think about that change!
You have my attention sir! :) haha

88 menu graphics now... oh god. And i thought the 33 current in D9UI was bad. Well this is going to be fun...
I'm guessing the graphics i already have won't work with this setup?
The naming for the menu graphics, is the same as what i have now? menu0.bin menu1.bin etc done.bin failed.bin progress.bin warning.bin menuTOP.bin ...
Can't think of anything else to ask right now, but I'm sure I'll come up with something...

Think i should just delete my fork and fork your fork once i figure all this out and start fresh with that. Or maybe spoon? Why no spoon github? :(
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
You have my attention sir! :) haha

88 menu graphics now... oh god. And i thought the 33 current in D9UI was bad. Well this is going to be fun...
I'm guessing the graphics i already have won't work with this setup?
The naming for the menu graphics, is the same as what i have now? menu0.bin menu1.bin etc done.bin failed.bin progress.bin warning.bin menuTOP.bin ...
Can't think of anything else to ask right now, but I'm sure I'll come up with something...

Think i should just delete my fork and fork your fork once i figure all this out and start fresh with that. Or maybe spoon? Why no spoon github? :(
Menu graphics have now a 4 digit number, just try the new batch screenshot feature! And the remainder graphics are largely the same names. Easy to figure out from theme.h, though. You can reorganize the menu so that your old graphics fit, but then it might be better to start fresh with all the new stuff. And I think you should try to find a way of automating some of it. Manually editing 100 graphics is beyound bad :D. ImageMagick for example should provide you with the tools for automation, and there is great documentation online for it.
 

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
Menu graphics have now a 4 digit number, just try the new batch screenshot feature! And the remainder graphics are largely the same names. Easy to figure out from theme.h, though. You can reorganize the menu so that your old graphics fit, but then it might be better to start fresh with all the new stuff. And I think you should try to find a way of automating some of it. Manually editing 100 graphics is beyound bad :D. ImageMagick for example should provide you with the tools for automation, and there is great documentation online for it.
Yeah I've already got methods for automating conversion from png to bin. :)
As for automating editing, that probably won't happen, lots of manual work in photoshop involved there. haha
But yeah I'll probably use the same design style and start fresh unless i come up with some other style.

Ahh so the graphics bin numbers are like 0001 0002 etc now? for the numbered ones.
 
Last edited by Shadowtrance,

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Yeah I've already got methods for automating conversion from png to bin. :)
As for automating editing, that probably won't happen, lots of manual work in photoshop involved there. haha
But yeah I'll probably use the same design style and start fresh unless i come up with some other style.
If you had a 'base' graphic for the menu and only the text is different on each graphic, ImageMagick could handle that for you. It should be possible to even generate a ImageMagick .bat file from the menu structure. If that would help, I could look into it. It could be refined to have multiple base graphics for 1,2,3,... entries. I guess it is more complicated than that, though...

Also, no need to delete the old fork. Just make a small change to one of the files on Github (via the web browser). You don't need to go through to actually generate the pull request, you can just stop and you've got the fork regardless. I think you already knew :).
 
Last edited by d0k3,

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
If you had a 'base' graphic for the menu and only the text is different on each graphic, ImageMagick could handle that for you. It should be possible to even generate a ImageMagick .bat file from the menu structure. If that would help, I could look into it. It could be refined to have multiple base graphics for 1,2,3,... entries. I guess it is more complicated than that, though...
Yeah that could help, worth looking into at least i guess. :)

Also, no need to delete the old fork. Just make a small change to one of the files on Github (via the web browser). You don't need to go through to actually generate the pull request, you can just stop and you've got the fork regardless. I think you already knew :).
As for this part, I'm not sure what you mean to be honest. To fork your UI branch into my fork i had to jump through all kinds of commandline git hoops to do it, which was rather painful. haha

And i just tried to compile and it doesn't want to. :( Was going to try the batch screenshot thing (without theme graphics atm)...So text only version.

Well it does build if i define USE_THEME in common.h like so... #define USE_THEME "/D9UI"
But obviously that isn't what i want as i just want it to run in text mode. The one i just built after doing that works (sort of), it loads but obviously complains about not finding xxxx.bin and all i have on screen is that at the top and work dir etc down the bottom (of top screen) and nothing else.
 
Last edited by Shadowtrance,

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Yeah that could help, worth looking into at least i guess. :)
I'll see what I can do! :)

As for this part, I'm not sure what you mean to be honest. To fork your UI branch into my fork i had to jump through all kinds of commandline git hoops to do it, which was rather painful. haha
It's actually pretty simple... On Github, you select one of my source files, click, then click the 'edit' button (pen). Do a minor change to that file, like an additional line (or anything you like). Then click on 'Propose file change' at the bottom. Done! (you don't need to follow through with the pull request).

And i just tried to compile and it doesn't want to. :( Was going to try the batch screenshot thing (without theme graphics atm)...So text only version.

Well it does build if i define USE_THEME in common.h like so... #define USE_THEME "/D9UI"
But obviously that isn't what i want as i just want it to run in text mode. The one i just built after doing that works (sort of), it loads but obviously complains about not finding xxxx.bin and all i have on screen is that at the top and work dir etc down the bottom (of top screen) and nothing else.
My bad! I already fixed it and merged the fix into the previous commit. Could you download again?
 
Last edited by d0k3,

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
I'll see what I can do! :)

It's actually pretty simple... On Github, you select one of my source files, click, then click the 'edit' button (pen). Do a minor change to that file, like an additional line (or anything you like). Then click on 'Propose file change' at the bottom. Done! (you don't need to follow through with the pull request).

My bad! I already fixed it and merged the fix into the previous commit. Could you download again?
WHY DIDN'T I KNOW ABOUT THIS TRICK EARLIER??? It worked a treat, just hit the pen on menu.h, cancelled it and BAM! I have your master branch in my fork. lol That's pretty awesome.
Yeah just downloaded again, builds and works as it should. :)
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
@Shadowtrance (and, again, anyone interested in theming)
I've got something for you, check the attachment! You need to edit the #defines at the top of main.c for your needs, for the fonts you can specify a TTF file as well (use the bold version TTF if you need bold!). Colors can be given as #XXXXXX hex. The text itself is edited in the struct in D9menu.h. I suggest, at first you just let it run via generate.bat & see what it does (output is legendary ugly, see below ;)). Now, it may be best if you just do the base images (one for each cursor position) yourself, then let this program fill in the text for you. The program can also generate each cursor position, but it may give you less freedom than PhotoShop does.

menu0003.png


You also need ImageMagick installed. There is more that ImageMagick can do with text (see here and here). And, of course, we can change this program if the current structure doesn't fit for your new design.

EDIT: I also see your old menu has short descriptions for each feature... Do you want to have that in the new menu, too? We can also automate this, but it will be a bit more difficult due to the word wrap.
 

Attachments

  • D9mGFXgen.zip
    31.8 KB · Views: 68
Last edited by d0k3,
  • Like
Reactions: peteruk

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
@Shadowtrance (and, again, anyone interested in theming)
I've got something for you, check the attachment! You need to edit the #defines at the top of main.c for your needs, for the fonts you can specify a TTF file as well (use the bold version TTF if you need bold!). Colors can be given as #XXXXXX hex. The text itself is edited in the struct in D9menu.h. I suggest, at first you just let it run via generate.bat & see what it does (output is legendary ugly, see below ;)). Now, it may be best if you just do the base images (one for each cursor position) yourself, then let this program fill in the text for you. The program can also generate each cursor position, but it may give you less freedom than PhotoShop does.

You also need ImageMagick installed. There is more that ImageMagick can do with text (see here and here). And, of course, we can change this program if the current structure doesn't fit for your new design.

EDIT: I also see your old menu has short descriptions for each feature... Do you want to have that in the new menu, too? We can also automate this, but it will be a bit more difficult due to the word wrap.
I'll check that out in a bit, once i get my coffee. :)
As for your edit about the descriptions, Not sure to be honest, thought they'd be useful... no idea if people actually read them or not though.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
I'll check that out in a bit, once i get my coffee. :)
As for your edit about the descriptions, Not sure to be honest, thought they'd be useful... no idea if people actually read them or not though.
They are useful in any case! If you would want to automate that, you'd need to edit the menu structure in D9menu.h to include these descriptions (maybe instead of the original function pointers).

Anyways, just take a look later, and if you need / want further help with automation, I'll help you!
 

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
They are useful in any case! If you would want to automate that, you'd need to edit the menu structure in D9menu.h to include these descriptions (maybe instead of the original function pointers).

Anyways, just take a look later, and if you need / want further help with automation, I'll help you!
Ok i got it to build after a slight issue of missing pthread lib in mingw.
And yeah wow... that output, legendary as you put it is one word for it. haha
So for changing the font, i just put the .ttf file in the folder and specify it in main.c? So the font i use on the bottom screen gfx is EurostileRegular size 11.
Might try some messing around with other fonts like Roboto etc seeing as it's free unlike Eurostile which is a paid font so can't exactly share it here, not that paid for it nor would i, it's stupidly expensive for a font.

And obviously i can just replace the base images with my own for the bottom screen instead of top?
 
Last edited by Shadowtrance,

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Ok i got it to build after a slight issue of missing pthread lib in mingw.
And yeah wow... that output, legendary as you put it is one word for it. haha
So for changing the font, i just put the .ttf file in the folder and specify it in main.c? So the font i use on the bottom screen gfx is EurostileRegular size 11.
Might try some messing around with other fonts like Roboto etc seeing as it's free unlike Eurostile which is a paid font so can't exactly share it here, not that paid for it nor would i, it's stupidly expensive for a font.
Well, it is just a proof of concept :D. Yeah, that's how you change the font! And, you don't need to put your automation package (with font included) up for download - it is yours, after all!
 

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
Well, it is just a proof of concept :D. Yeah, that's how you change the font! And, you don't need to put your automation package (with font included) up for download - it is yours, after all!
Yeah i was just thinking ahead for when/if other people want to get involved/make their own etc. :)
Works with .otf fonts too. :)
Hmm this is the result i get using my own base image...
Only adjusted/changed the font and start x of the active marker and start x of the entry text so far... but what's up with the overlay?
That image should look like the D9UI bottom menu (so purple etc etc).
bdfccc4513.png
 
Last edited by Shadowtrance,

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Yeah i was just thinking ahead for when/if other people want to get involved/make their own etc. :)
Works with .otf fonts too. :)
Hmm this is the result i get using my own base image...
Only adjusted/changed the font and start x of the active marker and start x of the entry text so far... but what's up with the overlay?
That image should look like the D9UI bottom menu (so purple etc etc).
bdfccc4513.png
Maybe ImageMagick can't properly handle layers in the file? Or there has to be some other command line parameter set? Dunno... You should try with a PNG as base image.
 
Last edited by d0k3,

dark_samus3

Well-Known Member
Member
Joined
May 30, 2015
Messages
2,372
Trophies
0
XP
2,042
Country
United States
Yeah i was just thinking ahead for when/if other people want to get involved/make their own etc. :)
Works with .otf fonts too. :)
Hmm this is the result i get using my own base image...
Only adjusted/changed the font and start x of the active marker and start x of the entry text so far... but what's up with the overlay?
That image should look like the D9UI bottom menu (so purple etc etc).
bdfccc4513.png

If you look really hard at that image you can actually see the purple behind everything... It's almost like there's a white layer with slight opacity on it.... Not sure if that helps but I hope it does.

On a side note; ImageMagick ftw
 
Last edited by dark_samus3,

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
If you look really hard at that image you can actually see the purple behind everything... It's almost like there's a white layer with slight opacity on it.... Not sure if that helps but I hope it does.

On a side note; ImageMagick ftw
Yeah i can see that. :P And that is the exact issue i was pointing out. :)
It should look like the other image i posted (but with the generated text on it of course).
And yeah imagemagick is pretty cool. :)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    OctoAori20 @ OctoAori20: Nice nice-