diff --git a/README b/README index 4d2dfc2..4a18363 100644 --- a/README +++ b/README @@ -26,7 +26,7 @@ features the following additional functionality: == Installation == Various ways allow to install the HBF -Share-Point: http://download.tuxfamily.org/hbf/Installer/ +Share-Point: http://www.nanolx.org/hbf/Installer/ a) HBF already installed diff --git a/distribute b/distribute index fd6609a..34d506b 100755 --- a/distribute +++ b/distribute @@ -25,11 +25,14 @@ compile_installer () cp boot/hbf_boot.dol installer/wad/00000002.app fi - wine tools/WadMii.exe -input "Z:\home\chris\Projekte\homebrewfilter\installer\wad" -output "Z:\home\chris\Projekte\homebrewfilter\installer\THBF.wad" - - sleep 5 - - mono tools/CustomizeMii.exe + if [[ $CHNL == "COMEX" ]]; then + wine tools/WadMii.exe -input "Z:\home\chris\Projekte\homebrewfilter\installer\wad" -output "Z:\home\chris\Projekte\homebrewfilter\installer\data\install.wad" + sleep 5 + else + wine tools/WadMii.exe -input "Z:\home\chris\Projekte\homebrewfilter\installer\wad" -output "Z:\home\chris\Projekte\homebrewfilter\installer\THBF.wad" + sleep 5 + mono tools/CustomizeMii.exe + fi if [[ -e installer/data/install.wad ]]; then make -C installer || exit 1 @@ -84,6 +87,10 @@ elif [[ $1 == "-l" ]]; then elif [[ $1 == "-f" ]]; then FORCE=YES make_distribution +elif [[ $1 == "-o" ]]; then + FORCE=YES + CHNL=COMEX + make_distribution elif [[ $1 == "-b" ]]; then FORCE=YES compile_boot diff --git a/installer/wad/0001000154484246.tmd b/installer/wad/0001000154484246.tmd index 0b2860b..7657e3b 100644 Binary files a/installer/wad/0001000154484246.tmd and b/installer/wad/0001000154484246.tmd differ diff --git a/source/Network/network.cpp b/source/Network/network.cpp index 1f12a30..e83c9c7 100644 --- a/source/Network/network.cpp +++ b/source/Network/network.cpp @@ -54,7 +54,7 @@ void CheckVersion(void) { if(Settings.checkrev == -1) { - struct block file = downloadfile("http://download.tuxfamily.org/hbf/DOL/revisions"); + struct block file = downloadfile("http://www.nanolx.org/hbf/DOL/revisions"); if (file.data != NULL) { revs = (char*)file.data; @@ -178,7 +178,7 @@ static void * networkinitcallback(void *arg) { LWP_SetThreadPriority(networkthread, 0); firstRun = true; - CheckVersion(); + //CheckVersion(); } usleep(200000); diff --git a/source/Network/update.cpp b/source/Network/update.cpp index 9032646..8bf91a8 100644 --- a/source/Network/update.cpp +++ b/source/Network/update.cpp @@ -12,7 +12,10 @@ bool readrev = true; string CheckNewVersions() { string revs = "error"; - struct block file = downloadfile("http://download.tuxfamily.org/hbf/DOL/revisions"); + char buffer[100]; + sprintf(buffer, "http://www.nanolx.org/hbf/DOL/revisions"); + + struct block file = downloadfile(buffer); if (file.data != NULL) { revs = (char*)file.data; @@ -24,7 +27,7 @@ string CheckNewVersions() string NewVersionsText() { string text = "error"; - struct block file = downloadfile("http://download.tuxfamily.org/hbf/DOL/updates"); + struct block file = downloadfile("http://www.nanolx.org/hbf/DOL/updates"); if (file.data != NULL) { text = (char*)file.data; @@ -38,9 +41,9 @@ string new_update(string rev, string filename) { char url[100]; if(rev == "Beta") - sprintf(url, "http://download.tuxfamily.org/hbf/DOL/Beta/%s", filename.c_str()); + sprintf(url, "http://www.nanolx.org/hbf/DOL/Beta/%s", filename.c_str()); else - sprintf(url, "http://download.tuxfamily.org/hbf/DOL/rev%s/%s", rev.c_str(), filename.c_str()); + sprintf(url, "http://www.nanolx.org/hbf/DOL/rev%s/%s", rev.c_str(), filename.c_str()); file = downloadfile(url); if (file.data && file.size > 0) @@ -88,9 +91,9 @@ bool CheckRev() { if(newrev) return newrev; - + if(Settings.checkrev > SvnRev()) newrev = true; - + return newrev; } diff --git a/source/Prompts/prompt_theme_download.cpp b/source/Prompts/prompt_theme_download.cpp index 9d78b51..a398e5e 100644 --- a/source/Prompts/prompt_theme_download.cpp +++ b/source/Prompts/prompt_theme_download.cpp @@ -36,7 +36,7 @@ void themeDownload(string themename) promptWindow.SetPosition(0, -10); GuiTrigger trigA; trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); - + GuiImageData dialogBox(Theme.dialog_background); GuiImage dialogBoxImg(&dialogBox); @@ -44,11 +44,11 @@ void themeDownload(string themename) GuiImageData btnOutline(Theme.button_small); GuiImage btn1Img(&btnOutline); GuiImage btn2Img(&btnOutline); - + GuiImageData btnOutlineOver(Theme.button_small_focus); GuiImage btn1ImgOver(&btnOutlineOver); GuiImage btn2ImgOver(&btnOutlineOver); - + GuiText titleTxt(tr("Download"), 26, (GXColor){Theme.text_1, Theme.text_2, Theme.text_3, 255}); titleTxt.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); titleTxt.SetPosition(0, 40); @@ -64,7 +64,7 @@ void themeDownload(string themename) GuiButton btn1(btnOutline.GetWidth(), btnOutline.GetHeight()); btn1.SetAlignment(ALIGN_CENTRE, ALIGN_BOTTOM); - btn1.SetPosition(0, -25); + btn1.SetPosition(0, -25); btn1.SetLabel(&btn1Txt); btn1.SetImage(&btn1Img); btn1.SetImageOver(&btn1ImgOver); @@ -85,20 +85,20 @@ void themeDownload(string themename) ResumeGui(); char buffer[100]; - sprintf(buffer, "http://www.nanolx.org/hbf/Themes/%s/filelist", themename.c_str()); - + sprintf(buffer, "http://www.nanolx.org/hbf/Themes/%s/filelist", themename.c_str()); + struct block file = downloadfile(buffer); if (file.data != NULL) { string source_themes = (char*)file.data; - + vector themes; - + while(1) { if((signed)source_themes.find(themename.c_str()) == -1) break; - + source_themes.erase(0, source_themes.find(themename.c_str()) + themename.length() +6); themes.push_back(source_themes.substr(0, source_themes.find("+"))); @@ -106,18 +106,18 @@ void themeDownload(string themename) source_themes.erase(0, source_themes.find("+")); } - + for(int i = 0; i < (signed)themes.size(); i++) { msgTxt.SetText(themes[i].c_str()); if(new_theme(themename, themes[i]) != "NULL") update("Themes/"+ themename + "/" + themes[i]); } - + free(file.data); } - - + + msgTxt.SetText(""); downloadTxt.SetText(tr("finished")); @@ -142,30 +142,30 @@ string ThemeList() { string downloadtheme = "error"; bool stop = false; - + char buffer[100]; - sprintf(buffer, "http://www.nanolx.org/hbf/Themes/"); + sprintf(buffer, "http://www.nanolx.org/hbf/Themes/"); struct block file = downloadfile(buffer); if (file.data != NULL) { string source_themes = (char*)file.data; vector themes; - + while(1) { if((signed)source_themes.find("../Themes/") == -1) break; - + source_themes.erase(0, source_themes.find("../Themes/")); source_themes.erase(0, source_themes.find("s/") +2); if(source_themes.substr(0, source_themes.find("\"")) != "_HBF_") themes.push_back(source_themes.substr(0, source_themes.find("\""))); - + source_themes.erase(0, source_themes.find("<")); } - + free(file.data); GuiText titleTxt(tr("Download"), 26, (GXColor){Theme.text_1, Theme.text_2, Theme.text_3, 255}); @@ -188,7 +188,7 @@ string ThemeList() int selection = 0; int textScrollPos = 0; int selctionPos = y; - + GuiText selectionTxt(">> <<", 20, (GXColor){Theme.text_1, Theme.text_2, Theme.text_3, 255}); selectionTxt.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); selectionTxt.SetPosition(0, y); @@ -197,14 +197,14 @@ string ThemeList() upTxt.SetFont(symbol_ttf, symbol_ttf_size); upTxt.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); upTxt.SetPosition(0, y -20); - + GuiText downTxt("d", 22, (GXColor){Theme.text_1, Theme.text_2, Theme.text_3, 255}); downTxt.SetFont(symbol_ttf, symbol_ttf_size); downTxt.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); downTxt.SetPosition(0, y + (place * (number-1)) + 15); - + GuiText * Entrie[number]; - + for(i=0; i < number && i < (signed)themes.size(); i++) { Entrie[i] = new GuiText(themes[i].c_str(), 20, (GXColor) {Theme.text_1, Theme.text_2, Theme.text_3, 255}); @@ -217,10 +217,10 @@ string ThemeList() promptWindow.Append(&dialogBoxImg); promptWindow.Append(&titleTxt); promptWindow.Append(&selectionTxt); - + for(int x=0; x < i; x++) promptWindow.Append(Entrie[x]); - + if((signed)themes.size() >= number) { promptWindow.Append(&upTxt); @@ -237,7 +237,7 @@ string ThemeList() while(!stop) { usleep(100); - + if(WPAD_ButtonsHeld(0) & (WPAD_BUTTON_UP | WPAD_CLASSIC_BUTTON_UP) || PAD_ButtonsDown(0) & PAD_BUTTON_UP) { selection--; @@ -247,17 +247,17 @@ string ThemeList() textScrollPos--; if(textScrollPos < 0) textScrollPos = 0; - - + + for(int x=0; x < number && x < (signed)themes.size(); x++) Entrie[x]->SetText(themes[x + textScrollPos].c_str()); } selectionTxt.SetPosition(0, selection * place + selctionPos); - + HaltResumeGui(); usleep(100000); } - + if(WPAD_ButtonsHeld(0) & (WPAD_BUTTON_DOWN | WPAD_CLASSIC_BUTTON_DOWN) || PAD_ButtonsDown(0) & PAD_BUTTON_DOWN) { selection++; @@ -269,12 +269,12 @@ string ThemeList() textScrollPos++; if(textScrollPos > (signed)themes.size() - number) textScrollPos = themes.size() - number; - + for(int x=0; x < number && x < (signed)themes.size(); x++) Entrie[x]->SetText(themes[x + textScrollPos].c_str()); } selectionTxt.SetPosition(0, selection * place + selctionPos); - + HaltResumeGui(); usleep(100000); } @@ -284,7 +284,7 @@ string ThemeList() downloadtheme = themes[selection + textScrollPos]; stop = true; } - + if(WPAD_ButtonsDown(0) & (WPAD_BUTTON_B | WPAD_CLASSIC_BUTTON_B) || PAD_ButtonsDown(0) & PAD_BUTTON_B) { downloadtheme = "NULL"; @@ -299,7 +299,7 @@ string ThemeList() mainWindow->SetState(STATE_DEFAULT); ResumeGui(); } - + return downloadtheme; } @@ -314,10 +314,10 @@ string checkThemesPrompt() GuiImageData btnOutline(Theme.button_small); GuiImage btn1Img(&btnOutline); - + GuiImageData btnOutlineOver(Theme.button_small_focus); GuiImage btn1ImgOver(&btnOutlineOver); - + // ok button GuiText backTxt(tr("OK"), 22, (GXColor){Theme.button_small_text_1, Theme.button_small_text_2, Theme.button_small_text_3, 255}); GuiImage backImg(&btnOutline); @@ -325,7 +325,7 @@ string checkThemesPrompt() GuiButton back(btnOutline.GetWidth(), btnOutline.GetHeight()); GuiTrigger trigA; trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); - + back.SetAlignment(ALIGN_CENTRE, ALIGN_BOTTOM); back.SetPosition(0, -25); back.SetLabel(&backTxt); @@ -357,12 +357,12 @@ string checkThemesPrompt() { msgTxt.SetText(tr("No network connection")); bool stop = false; - + promptWindow.Append(&back); while(!stop) { usleep(100); - + if(back.GetState() == STATE_CLICKED) stop = true; } @@ -376,12 +376,12 @@ string checkThemesPrompt() downloadtheme = "NULL"; msgTxt.SetText(tr("Error while reading file")); bool stop = false; - + promptWindow.Append(&back); while(!stop) { usleep(100); - + if(back.GetState() == STATE_CLICKED) stop = true; } @@ -393,6 +393,6 @@ string checkThemesPrompt() mainWindow->Remove(&promptWindow); mainWindow->SetState(STATE_DEFAULT); ResumeGui(); - + return downloadtheme; } diff --git a/source/Prompts/prompt_update.cpp b/source/Prompts/prompt_update.cpp index f9c6a5e..c38ee10 100644 --- a/source/Prompts/prompt_update.cpp +++ b/source/Prompts/prompt_update.cpp @@ -102,9 +102,9 @@ updatePrompt(string rev) char url[100]; if(rev == "Beta") - sprintf(url, "http://download.tuxfamily.org/hbf/DOL/Beta/boot.dol"); + sprintf(url, "http://www.nanolx.org/hbf/DOL/Beta/boot.dol"); else - sprintf(url, "http://download.tuxfamily.org/hbf/DOL/rev%s/boot.dol", rev.c_str()); + sprintf(url, "http://www.nanolx.org/hbf/DOL/rev%s/boot.dol", rev.c_str()); // copy boot.dol to prev.dol std::ifstream infile((Settings.device_dat + ":/apps/HomebrewFilter/boot.dol").c_str(), std::ios_base::binary); diff --git a/updates b/updates index 660379b..d5f0c37 100644 --- a/updates +++ b/updates @@ -9,9 +9,12 @@ controller initialization (only happened under certain circumstances) - BUGFIX: use waninkoko's NAND loader in THBF channel, - rather than comex'. Fixes the issue that HBF - does not properly respond when power or reset - button on the console have been pressed + rather than comex'. + * Fixes the issue that HBF does not properly + respond when power or reset button on the console + have been pressed. + * the strange bevhaviour that occured when the + USB HDD was woken up while loading HBF is gone - BUGFIX: compiled with libpng 1.4 to fix a problem in PNG handling - BUGFIX: return to HBF feature now works again - installer now supports Classic-Controller