Hacking Nintendont Themes and Custom Mods

  • Thread starter Thread starter AbdallahTerro
  • Start date Start date
  • Views Views 442,638
  • Replies Replies 2,649
  • Likes Likes 30
That last Carbonix theme sure kicks my balls off! XD
One thing though.
Does the progress bar show any text?
How difficult would it be to implement the text which is going through below the bar?

Let's say (by estimations)
10% = (Below bar) Checking FS...

Something like that.
Maybe moving the bar a little more up and adding the text below it.
 
it's not hard to do we just need to merge the codes and fix the text position, I believe ppl already made such thing, it would be cool to share codes to save time and effort
you dont need estimation the bar is progressing along with the loading steps, they share the same code
 
Oh no actually I don't care about a progression (10% or so).
I just wanted to know about the bar+text combo.
Would be nice and that way we can still track down if the boot failed and in what part it failed with that.
 
I'm almost happy
2h8bjol.jpg


we can make nintendont only display the errors (these dols already display few errors in menu.c)
that would be more practical and visually less disturbing,

as we said earlier, these dols are made for loaders, for ppl already having no problems using nintendont.
for hbc or newbies the official dol has it all
 
Thanks man, really appreciated, BTW where do you mod/insert the code for screenshot progress bar?
\loader\include\global.h line 41:
#define SCREENSHOT

and /loader/source/main.c line around line 256 between the bold lines:

ncfg->VideoMode &= ~NIN_VID_PROG;

#ifdef SCREENSHOT
GRRLIB_DrawImg(0, 0, background, 0, 1, 1, 0xFFFFFFFF);
PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 50*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588");
PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 50*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588");
GRRLIB_ScrShot("Screenshot.png");
GRRLIB_DrawImg(0, 0, background, 0, 1, 1, 0xFFFFFFFF);
#endif

if((ncfg->Config & NIN_CFG_AUTO_BOOT) == 0)
 
  • Like
Reactions: OriginalHamster
code used for the screenshot:
Code:
#ifdef SCREENSHOT
        GRRLIB_DrawImg(0, 0, background, 0, 1, 1, 0xFFFFFFFF);
        PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 50*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 ");
        PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 50*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 ");
        GRRLIB_ScrShot("Screenshot.png");
        GRRLIB_DrawImg(0, 0, background, 0, 1, 1, 0xFFFFFFFF);
#endif

code used for the new progress bar:
P.S> The font used is "Times New Roman"
Code:
    while(1)
    {
        DCInvalidateRange( (void*)0x90004100, 0x20 );
        if( STATUS_LOADING == 0xdeadbeef )
            break;
        PrintInfo();
        PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 50*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 0)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 90*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 0 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 110*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 2)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 130*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 2 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 150*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 3)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 170*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 3 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 190*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 4)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 210*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 4 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 230*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 5)
          PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 250*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 5 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 270*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 6)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 290*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 6 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 310*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 7)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 330*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 7 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 350*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 8)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 370*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 8 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 390*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 9)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 410*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 9 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 430*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING == 10)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 450*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        if(STATUS_LOADING > 10 && STATUS_LOADING < 20)
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 470*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
        GRRLIB_Screen2Texture(0, 0, screen_buffer, GX_FALSE); // Copy all status messages
        GRRLIB_Render();
        GRRLIB_DrawImg(0, 0, background, 0, 1, 1, 0xFFFFFFFF);
        PrintInfo();
    }
 
    //gprintf("Nintendont at your service!\r\n");
 
    GRRLIB_DrawImg(0, 0, screen_buffer, 0, 1, 1, 0xFFFFFFFF); // Draw all status messages
            PrintFormat(DEFAULT_SIZE, 0x45587C00, MENU_POS_X + 490*1, MENU_POS_Y + 20*19, "\u2588\u2588\u2588\u2588");
    GRRLIB_Render();
//    memcpy( (void*)0x80000000, (void*)0x90140000, 0x1200000 );
    DVDStartCache();
    GRRLIB_FreeTexture(background);
    GRRLIB_FreeTexture(screen_buffer);
    GRRLIB_FreeTTF(myFont);
    GRRLIB_Exit();
To fix compilation warnings replace "\u2588" with "\xe2\x96\x88" (Thanks Fix94 for the tip)

Things are evolving fast :)
I'll update the OP later
 
Here's some more code you might be interested in. Replace this line with:
Code:
background = GRRLIB_LoadTextureFromFile("NintendontBackground.png");
if(background == NULL) background = GRRLIB_LoadTexturePNG(background_png);
Copy any 640x480 image named "NintendontBackground.png" to the same directory as boot.dol (or the root if you're using wiiload) and it will be used as a background.

And before anyone asks, this IS NOT going to be in an official version.
 
And what happens with the old background.png when change the line. Does the nintendontbackground overite the background.png? Or can we have one backgound for nintendont and one for loading screen?
 
And what happens with the old background.png when change the line. Does the nintendontbackground overite the background.png? Or can we have one backgound for nintendont and one for loading screen?
The file built into the dol (data/background.png) is only loaded if NintendontBackground.png doesn't exist or couldn't be loaded.
 
Ok thanks. That is much easier for testing or making custom backgrounds without compile every time new
 

Site & Scene News

Popular threads in this forum