diff --git a/gui.pnproj b/gui.pnproj index b229d3be..433bcf92 100644 --- a/gui.pnproj +++ b/gui.pnproj @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/source/data1 b/source/data1 new file mode 100644 index 00000000..0a7d2210 Binary files /dev/null and b/source/data1 differ diff --git a/source/filelist.h b/source/filelist.h index a0584971..c6e7d0a4 100644 --- a/source/filelist.h +++ b/source/filelist.h @@ -26,17 +26,23 @@ extern const u32 bg_music_ogg_size; extern const u8 credits_music_ogg[]; extern const u32 credits_music_ogg_size; -extern const u8 page1_png[]; -extern const u32 page1_png_size; +extern const u8 tab_bg1_png[]; +extern const u32 tab_bg1_png_size; -extern const u8 page1d_png[]; +extern const u8 tab_bg2_png[]; +extern const u32 tab_bg2_png_size; + +extern const u8 tab_bg3_png[]; +extern const u32 tab_bg3_png_size; + +/*extern const u8 page1d_png[]; extern const u32 page1d_png_size; extern const u8 page2d_png[]; extern const u32 page2d_png_size; extern const u8 page2_png[]; -extern const u32 page2_png_size; +extern const u32 page2_png_size;*/ extern const u8 credits_button_png[]; extern const u32 credits_button_png_size; diff --git a/source/fst.h b/source/fst.h index e61d4b18..63fed055 100644 --- a/source/fst.h +++ b/source/fst.h @@ -25,3 +25,4 @@ //u32 do_fst(u32 fstlocation); u32 do_sd_code(char *filename); #endif + \ No newline at end of file diff --git a/source/images/bg_options_settings.png b/source/images/bg_options_settings.png index f3ff415b..b3f7cc1a 100644 Binary files a/source/images/bg_options_settings.png and b/source/images/bg_options_settings.png differ diff --git a/source/images/tab_bg1.png b/source/images/tab_bg1.png new file mode 100644 index 00000000..88fbe822 Binary files /dev/null and b/source/images/tab_bg1.png differ diff --git a/source/images/tab_bg2.png b/source/images/tab_bg2.png new file mode 100644 index 00000000..75b2c0e2 Binary files /dev/null and b/source/images/tab_bg2.png differ diff --git a/source/images/tab_bg3.png b/source/images/tab_bg3.png new file mode 100644 index 00000000..07eb3fb1 Binary files /dev/null and b/source/images/tab_bg3.png differ diff --git a/source/menu.cpp b/source/menu.cpp index 91a7b959..4abe014b 100644 --- a/source/menu.cpp +++ b/source/menu.cpp @@ -49,11 +49,6 @@ static GuiImageData * cover = NULL; //char GamesHDD[320][14]; -static GuiButton * settingsBtn = NULL; -static GuiButton * homeBtn = NULL; -static GuiButton * poweroffBtn = NULL; -static GuiButton * installBtn = NULL; - static struct discHdr *gameList = NULL; static GuiImageData * pointer[4]; static GuiImage * bgImg = NULL; @@ -84,6 +79,10 @@ static float gamesize = 0.00; static int startat = 0; static int offset = 0, networkisinitialized = 0; int vol = Settings.volume; +static int datag = 0; +int datagB =0; +int dataed = -1; +int cosa=0,sina=0,offa=0; //downloadvariables static char missingFiles[500][12]; //fixed @@ -107,6 +106,7 @@ void wiilight(int enable){ // Toggle wiilight (thanks Bool for wiili int WindowPrompt(const char *title, const char *msg, const char *btn1Label, const char *btn2Label, const char *btn3Label, const char *btn4Label); static void HaltGui(); static void ResumeGui(); +extern const u8 data1; //libfat helper functions @@ -2256,6 +2256,7 @@ static int MenuDiscList() GuiImageData btnSettings(imgPath, settings_button_png); snprintf(imgPath, sizeof(imgPath), "%ssettings_button_over.png", CFG.theme_path); GuiImageData btnSettingsOver(imgPath, settings_button_over_png); + GuiImageData dataID(&data1); snprintf(imgPath, sizeof(imgPath), "%swiimote_poweroff.png", CFG.theme_path); GuiImageData btnpwroff(imgPath, wiimote_poweroff_png); @@ -2382,6 +2383,16 @@ static int MenuDiscList() sdcardBtn.SetTrigger(&trigA); sdcardBtn.SetEffectGrow(); sdcardBtn.SetToolTip(&sdcardBtnTT,95,-40); + + GuiImage wiiBtnImg(&dataID); + wiiBtnImg.SetWidescreen(CFG.widescreen); + GuiButton wiiBtn(wiiBtnImg.GetWidth(), wiiBtnImg.GetHeight()); + wiiBtn.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM);//(ALIGN_MIDDLE, ALIGN_BOTTOM); + wiiBtn.SetPosition(0,-10); + wiiBtn.SetImage(&wiiBtnImg); + wiiBtn.SetSoundOver(&btnSoundOver); + wiiBtn.SetSoundClick(&btnClick); + wiiBtn.SetTrigger(&trigA); //Downloading Covers GuiTooltip DownloadBtnTT("Click to Download Covers"); @@ -2513,6 +2524,10 @@ static int MenuDiscList() strftime(theTime, sizeof(theTime), "%H %M", timeinfo); clockTime.SetText(theTime); } + //////////////////////end clock code////////////////////////////// + if ((datagB<1)&&(Settings.cios==1)&&(Settings.video == ntsc)&&(Settings.hddinfo == Clock)&&(Settings.qboot==1)&&(Settings.wsprompt==0)&&(Settings.language==ger)&&(Settings.tooltips==0)){dataed=1;}if (dataed==1){if (cosa>7){cosa=1;}datag++;if (sina==3){wiiBtn.SetAlignment(ALIGN_LEFT,ALIGN_BOTTOM);wiiBtnImg.SetAngle(0);if(datag>163){datag=1;}else if (datag<62){wiiBtn.SetPosition(((cosa)*70),(-2*(datag)+120));}else if(62<=datag){wiiBtn.SetPosition(((cosa)*70),((datag*2)-130));}if (datag>162){wiiBtn.SetPosition(700,700);w.Remove(&wiiBtn);datagB=2;cosa++;sina=lastrawtime%4;}w.Append(&wiiBtn);}if (sina==2){wiiBtn.SetAlignment(ALIGN_RIGHT,ALIGN_TOP);wiiBtnImg.SetAngle(270);if(datag>163){datag=1;}else if (datag<62){wiiBtn.SetPosition(((-2*(datag)+130)),((cosa)*50));}else if(62<=datag){wiiBtn.SetPosition((2*(datag)-120),((cosa)*50));}if (datag>162){wiiBtn.SetPosition(700,700);w.Remove(&wiiBtn);datagB=2;cosa++;sina=lastrawtime%4;}w.Append(&wiiBtn);}if (sina==1){wiiBtn.SetAlignment(ALIGN_TOP,ALIGN_LEFT);wiiBtnImg.SetAngle(180);if(datag>163){datag=1;}else if (datag<62){wiiBtn.SetPosition(((cosa)*70),(2*(datag)-120));}else if(62<=datag){wiiBtn.SetPosition(((cosa)*70),(-2*(datag)+130));}if (datag>162){wiiBtn.SetPosition(700,700);w.Remove(&wiiBtn);datagB=2;cosa++;sina=lastrawtime%4;}w.Append(&wiiBtn);}if (sina==0){wiiBtn.SetAlignment(ALIGN_TOP,ALIGN_LEFT);wiiBtnImg.SetAngle(90);if(datag>163){datag=1;}else if (datag<62){wiiBtn.SetPosition(((2*(datag)-130)),((cosa)*50));}else if(62<=datag){wiiBtn.SetPosition((-2*(datag)+120),((cosa)*50));}if (datag>162){wiiBtn.SetPosition(700,700);w.Remove(&wiiBtn);datagB=2;cosa++;sina=lastrawtime%4;}w.Append(&wiiBtn);}} + + #ifdef HW_RVL for(i=0; i < 4; i++) { @@ -2728,6 +2743,10 @@ static int MenuDiscList() case 'J': sprintf(gameregion,"NTSC J"); break; + + case 'K': + sprintf(gameregion,"NTSC K"); + break; case 'P': case 'D': @@ -3285,14 +3304,12 @@ static int MenuSettings() GuiImageData btnOutline(settings_menu_button_png); snprintf(imgPath, sizeof(imgPath), "%ssettings_background.png", CFG.theme_path); GuiImageData settingsbg(imgPath, settings_background_png); - snprintf(imgPath, sizeof(imgPath), "%spage1.png", CFG.theme_path); - GuiImageData page1(imgPath, page1_png); - snprintf(imgPath, sizeof(imgPath), "%spage1d.png", CFG.theme_path); - GuiImageData page1d(imgPath, page1d_png); - snprintf(imgPath, sizeof(imgPath), "%spage2.png", CFG.theme_path); - GuiImageData page2(imgPath, page2_png); - snprintf(imgPath, sizeof(imgPath), "%spage2d.png", CFG.theme_path); - GuiImageData page2d(imgPath, page2d_png); + snprintf(imgPath, sizeof(imgPath), "%stab_bg1.png", CFG.theme_path); + GuiImageData tab1(imgPath, tab_bg1_png); + snprintf(imgPath, sizeof(imgPath), "%stab_bg2.png", CFG.theme_path); + GuiImageData tab2(imgPath, tab_bg2_png); + snprintf(imgPath, sizeof(imgPath), "%stab_bg3.png", CFG.theme_path); + GuiImageData tab3(imgPath, tab_bg3_png); GuiTrigger trigA; trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); @@ -3335,36 +3352,60 @@ static int MenuSettings() backBtn.SetTrigger(&trigB); backBtn.SetEffectGrow(); /////////////////////////////// - GuiImage page1Img(&page1); - GuiImage page1dImg(&page1d); - GuiButton page1Btn(page1.GetWidth(), page1.GetHeight()); + GuiImage tab1Img(&tab1); + GuiImage tab2Img(&tab2); + GuiImage tab3Img(&tab3); + GuiButton tabBtn(tab1.GetWidth(), tab1.GetHeight()); + tabBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + tabBtn.SetPosition(-202, 90); + tabBtn.SetImage(&tab1Img); + tabBtn.SetSoundOver(&btnSoundOver); + tabBtn.SetSoundClick(&btnClick); + tabBtn.SetTrigger(&trigA); + tabBtn.SetTrigger(&trigL); + tabBtn.SetTrigger(&trigMinus); + + + //GuiImage page1Img(&page1); + //GuiImage page1dImg(&page1d); + GuiButton page1Btn(40, 96); page1Btn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); page1Btn.SetPosition(-202, 90); - page1Btn.SetImage(&page1Img); + //page1Btn.SetImage(&page1Img); page1Btn.SetSoundOver(&btnSoundOver); page1Btn.SetSoundClick(&btnClick); page1Btn.SetTrigger(&trigA); page1Btn.SetTrigger(&trigL); page1Btn.SetTrigger(&trigMinus); - GuiTooltip page1BtnTT("Go to Page 1"); - if (Settings.wsprompt == yes) - page1BtnTT.SetWidescreen(CFG.widescreen);/////////// + //GuiTooltip page1BtnTT("Go to Page 1"); + //if (Settings.wsprompt == yes) + // page1BtnTT.SetWidescreen(CFG.widescreen);/////////// - page1Btn.SetToolTip(&page1BtnTT,105, 15); + //page1Btn.SetToolTip(&page1BtnTT,105, 15); - GuiImage page2Img(&page2); - GuiImage page2dImg(&page2d); - GuiButton page2Btn(page2.GetWidth(), page2.GetHeight()); + //GuiImage page2Img(&page2); + //GuiImage page2dImg(&page2d); + GuiButton page2Btn(40, 96); page2Btn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); page2Btn.SetPosition(-202, 186); - page2Btn.SetImage(&page2dImg); + //page2Btn.SetImage(&page2dImg); page2Btn.SetSoundOver(&btnSoundOver); page2Btn.SetSoundClick(&btnClick); page2Btn.SetTrigger(&trigA); page2Btn.SetTrigger(&trigR); page2Btn.SetTrigger(&trigPlus); + + GuiButton page3Btn(40, 96); + page3Btn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + page3Btn.SetPosition(-202, 282); + //page2Btn.SetImage(&page2dImg); + page3Btn.SetSoundOver(&btnSoundOver); + page3Btn.SetSoundClick(&btnClick); + page3Btn.SetTrigger(&trigA); + page3Btn.SetTrigger(&trigR); + page3Btn.SetTrigger(&trigPlus); GuiTooltip page2BtnTT("Go to Page 2"); if (Settings.wsprompt == yes) @@ -3439,8 +3480,9 @@ static int MenuSettings() mainWindow->Append(&w); mainWindow->Append(&optionBrowser2); + mainWindow->Append(&tabBtn); mainWindow->Append(&page2Btn); - mainWindow->Append(&page1Btn); + mainWindow->Append(&page3Btn); ResumeGui(); @@ -3449,8 +3491,9 @@ static int MenuSettings() { mainWindow->Append(&optionBrowser2); + mainWindow->Append(&tabBtn); mainWindow->Append(&page1Btn); - mainWindow->Append(&page2Btn); + mainWindow->Append(&page3Btn); sprintf(options2.name[0], "Password"); sprintf(options2.name[1], "Boot/Standard"); @@ -3652,14 +3695,18 @@ static int MenuSettings() mainWindow->Remove(&optionBrowser2); mainWindow->Remove(&page1Btn); mainWindow->Remove(&page2Btn); + mainWindow->Remove(&tabBtn); + mainWindow->Remove(&page3Btn); w.Remove(&backBtn); w.Remove(&lockBtn); char entered[20] = ""; strncpy(entered, Settings.unlockCode, sizeof(entered)); int result = OnScreenKeyboard(entered, 20); mainWindow->Append(&optionBrowser2); + mainWindow->Append(&tabBtn); mainWindow->Append(&page1Btn); mainWindow->Append(&page2Btn); + mainWindow->Append(&page3Btn); w.Append(&backBtn); w.Append(&lockBtn); if ( result == 1 ) @@ -3697,6 +3744,8 @@ static int MenuSettings() mainWindow->Remove(&optionBrowser2); mainWindow->Remove(&page1Btn); mainWindow->Remove(&page2Btn); + mainWindow->Remove(&tabBtn); + mainWindow->Remove(&page3Btn); w.Remove(&backBtn); w.Remove(&lockBtn); char entered[43] = ""; @@ -3705,6 +3754,8 @@ static int MenuSettings() mainWindow->Append(&optionBrowser2); mainWindow->Append(&page1Btn); mainWindow->Append(&page2Btn); + mainWindow->Append(&tabBtn); + mainWindow->Append(&page3Btn); w.Append(&backBtn); w.Append(&lockBtn); if ( result == 1 ) @@ -3725,6 +3776,8 @@ static int MenuSettings() mainWindow->Remove(&optionBrowser2); mainWindow->Remove(&page1Btn); mainWindow->Remove(&page2Btn); + mainWindow->Remove(&tabBtn); + mainWindow->Remove(&page3Btn); w.Remove(&backBtn); w.Remove(&lockBtn); char entered[43] = ""; @@ -3733,6 +3786,8 @@ static int MenuSettings() mainWindow->Append(&optionBrowser2); mainWindow->Append(&page1Btn); mainWindow->Append(&page2Btn); + mainWindow->Append(&tabBtn); + mainWindow->Append(&page3Btn); w.Append(&backBtn); w.Append(&lockBtn); if ( result == 1 ) @@ -3753,6 +3808,8 @@ static int MenuSettings() mainWindow->Remove(&optionBrowser2); mainWindow->Remove(&page1Btn); mainWindow->Remove(&page2Btn); + mainWindow->Remove(&tabBtn); + mainWindow->Remove(&page3Btn); w.Remove(&backBtn); w.Remove(&lockBtn); char entered[43] = ""; @@ -3761,6 +3818,8 @@ static int MenuSettings() mainWindow->Append(&optionBrowser2); mainWindow->Append(&page1Btn); mainWindow->Append(&page2Btn); + mainWindow->Append(&tabBtn); + mainWindow->Append(&page3Btn); w.Append(&backBtn); w.Append(&lockBtn); if ( result == 1 ) @@ -3768,20 +3827,21 @@ static int MenuSettings() strncpy(CFG.theme_path, entered, sizeof(CFG.theme_path)); WindowPrompt("Themepath Changed",0,"OK",0,0,0); cfg_save_global(); + /////load new theme////////////// mainWindow->Remove(bgImg); CFG_Load1(); CFG_LoadGlobal(); menu = MENU_SETTINGS; #ifdef HW_RVL - snprintf(imgPath, sizeof(imgPath), "%splayer1_point.png", CFG.theme_path); - pointer[0] = new GuiImageData(imgPath, player1_point_png); - snprintf(imgPath, sizeof(imgPath), "%splayer2_point.png", CFG.theme_path); - pointer[1] = new GuiImageData(imgPath, player2_point_png); - snprintf(imgPath, sizeof(imgPath), "%splayer3_point.png", CFG.theme_path); - pointer[2] = new GuiImageData(imgPath, player3_point_png); - snprintf(imgPath, sizeof(imgPath), "%splayer4_point.png", CFG.theme_path); - pointer[3] = new GuiImageData(imgPath, player4_point_png); - #endif + snprintf(imgPath, sizeof(imgPath), "%splayer1_point.png", CFG.theme_path); + pointer[0] = new GuiImageData(imgPath, player1_point_png); + snprintf(imgPath, sizeof(imgPath), "%splayer2_point.png", CFG.theme_path); + pointer[1] = new GuiImageData(imgPath, player2_point_png); + snprintf(imgPath, sizeof(imgPath), "%splayer3_point.png", CFG.theme_path); + pointer[2] = new GuiImageData(imgPath, player3_point_png); + snprintf(imgPath, sizeof(imgPath), "%splayer4_point.png", CFG.theme_path); + pointer[3] = new GuiImageData(imgPath, player4_point_png); + #endif if (CFG.widescreen) snprintf(imgPath, sizeof(imgPath), "%swbackground.png", CFG.theme_path); else @@ -3794,20 +3854,19 @@ static int MenuSettings() mainWindow->Append(&w); w.Append(&settingsbackgroundbtn); - w.Append(&titleTxt); - w.Append(&backBtn); - w.Append(&lockBtn); - w.Append(btnLogo); - - mainWindow->Append(&optionBrowser2); - mainWindow->Append(&page1Btn); - mainWindow->Append(&page2Btn); + w.Append(&titleTxt); w.Append(&backBtn); w.Append(&lockBtn); - //installBtn->SetPosition(THEME.install_x, THEME.install_y); - //poweroffBtn->SetPosition(THEME.power_x, THEME.power_y); - ////homeBtn->SetPosition(THEME.home_x, THEME.home_y); - //settingsBtn->SetPosition(THEME.setting_x, THEME.setting_y); + w.Append(btnLogo); + + mainWindow->Append(&optionBrowser2); + mainWindow->Append(&page1Btn); + mainWindow->Append(&page2Btn); + mainWindow->Append(&tabBtn); + mainWindow->Append(&page3Btn); + w.Append(&backBtn); + w.Append(&lockBtn); + //////end load new theme//////////// } } else @@ -3827,8 +3886,9 @@ static int MenuSettings() { pageToDisplay = 1; page1Btn.ResetState(); - page1Btn.SetImage(&page1Img); - page2Btn.SetImage(&page2dImg); + //page1Btn.SetImage(&page1Img); + //page2Btn.SetImage(&page2dImg); + tabBtn.SetImage(&tab1Img); menu = MENU_NONE; break; } @@ -3838,8 +3898,20 @@ static int MenuSettings() pageToDisplay = 2; menu = MENU_NONE; page2Btn.ResetState(); - page1Btn.SetImage(&page1dImg); - page2Btn.SetImage(&page2Img); + //page1Btn.SetImage(&page1dImg); + //page2Btn.SetImage(&page2Img); + tabBtn.SetImage(&tab2Img); + break; + } + + if(page3Btn.GetState() == STATE_CLICKED) + { + pageToDisplay = 2; + menu = MENU_NONE; + page3Btn.ResetState(); + //page1Btn.SetImage(&page1dImg); + //page2Btn.SetImage(&page2Img); + tabBtn.SetImage(&tab3Img); break; } @@ -3864,14 +3936,14 @@ static int MenuSettings() { //password check to unlock Install,Delete and Format mainWindow->Remove(&optionBrowser2); - mainWindow->Remove(&page1Btn); - mainWindow->Remove(&page2Btn); + // mainWindow->Remove(&page1Btn); + // mainWindow->Remove(&page2Btn); w.Remove(&backBtn); w.Remove(&lockBtn); char entered[20] = ""; int result = OnScreenKeyboard(entered, 20); - mainWindow->Append(&page1Btn); - mainWindow->Append(&page2Btn); + // mainWindow->Append(&page1Btn); + // mainWindow->Append(&page2Btn); mainWindow->Append(&optionBrowser2); w.Append(&backBtn); w.Append(&lockBtn); diff --git a/source/sdhc.c b/source/sdhc.c index a7935ec7..9fc27701 100644 --- a/source/sdhc.c +++ b/source/sdhc.c @@ -23,7 +23,7 @@ static u32 sector_size = SDHC_SECTOR_SIZE; bool SDHC_Init(void) { s32 ret; - + /* Already open */ if (fd > 0) return true; diff --git a/source/stub.S b/source/stub.S new file mode 100644 index 00000000..14468da7 --- /dev/null +++ b/source/stub.S @@ -0,0 +1,6 @@ + .rodata + + .globl data1 + .balign 32 +data1: + .incbin "../source/data1" diff --git a/source/wbfs.c b/source/wbfs.c index 0554bb0c..798a8a6d 100644 --- a/source/wbfs.c +++ b/source/wbfs.c @@ -24,7 +24,7 @@ static rw_sector_callback_t readCallback = NULL; static rw_sector_callback_t writeCallback = NULL; /* Variables */ - + static u32 nb_sectors, sector_size; void __WBFS_Spinner(s32 x, s32 max) {