From 71c288f0a230db0b0c82902ca70d25287dee1114 Mon Sep 17 00:00:00 2001 From: dimok321 <15055714+dimok789@users.noreply.github.com> Date: Wed, 20 May 2009 00:03:43 +0000 Subject: [PATCH] *Added new custom backgroundmusic Menu (the music has to be in OGG Format. if you remove the path to the music the standard of the GUi is loaded right now) *Added languagefiles again *Added some new Languagevariables which will be added to wiki tommorow --- Languages/korean | 171 ++++++++++++++ Languages/norwegian | 177 ++++++++++++++ Languages/schinese | 178 ++++++++++++++ Languages/spanish | 357 ++++++++++++++-------------- Languages/tchinese | 24 +- gui.pnproj | 2 +- source/cfg.c | 12 + source/cfg.h | 2 + source/fatmounter.c | 2 +- source/language.c | 31 ++- source/language.h | 6 + source/libwiigui/gui.h | 7 + source/libwiigui/gui_sound.cpp | 44 +++- source/menu.cpp | 409 ++++++++++++++++++++++++++++++--- source/menu.h | 1 + source/mp3s.c | 2 +- source/mp3s.h | 2 +- source/oggplayer.c | 41 ++++ source/oggplayer.h | 6 + 19 files changed, 1250 insertions(+), 224 deletions(-) create mode 100644 Languages/korean create mode 100644 Languages/norwegian create mode 100644 Languages/schinese diff --git a/Languages/korean b/Languages/korean new file mode 100644 index 00000000..1ccc6380 --- /dev/null +++ b/Languages/korean @@ -0,0 +1,171 @@ +Specialthanksto = Special thanks to +t3Covers = 3D Ç¥Áö +AppLanguage = ¾îÇø®ÄÉÀÌ¼Ç ¾ð¾î +Areyousure = È®½ÇÇմϱî? +AutoPatch = ÀÚµ¿ ÆÐÄ¡ +Back = µÚ·Î +BacktoHBCorWiiMenu = Ȩºê·ù ¸Þ´º ¶Ç´Â Wii ¸Þ´º·Î +BacktoLoader = Loader·Î µ¹¾Æ°¡±â +BacktoWiiMenu = Wii ¸Þ´º·Î ³î¾Æ°¡±â +BootStandard = ºÎÆ®/±âº» +BothBoth = ÀüºÎ Ç¥½Ã +Cantcreatedirectory = µð·ºÅ丮¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù +Cancel = Ãë¼Ò +Cantbeformated = Æ÷¸ËÇÒ ¼ö ¾ø½À´Ï´Ù. +Cantdelete = »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù: +ClicktoDownloadCovers = Ç¥Áö¸¦ ´Ù¿î ¹ÞÀ¸·Á¸é Ŭ¸¯Çϼ¼¿ä. +Clock = ½Ã°è +Continueinstallgame = °ÔÀÓÀ» ¼³Ä¡ÇÏ°Ú½À´Ï±î? +ConsoleDefault = ÄÜ¼Ö ±âº»°ª +Consoleshouldbeunlockedtomodifyit = º¯°æÇÏ·Á¸é ÄÜ¼Ö Àá±èÀ» ÇØÁ¦Çϼ¼¿ä. +ConsoleLocked = ÄÜ¼Ö Àá±è +CorrectPassword = ¿Ã¹Ù¸¥ ºñ¹Ð¹øÈ£ +Couldnotinitializenetwork = ³×Æ®¿öÅ© ÃʱâÈ­ ½ÇÆÐ! +CouldnotopenDisc = µð½ºÅ©¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù. +CouldnotinitializeDIPmodule = DIP ¸ðµâ ÃʱâÈ­ ½ÇÆÐ! +CoverDownload = Ç¥Áö ´Ù¿î·Îµå +CoverPath = Ç¥Áö °æ·Î +CoverpathChanged = Ç¥Áö °æ·Î º¯°æµÊ +Coverpathchange = Ç¥Áö °æ·Î º¯°æ +Credits = Credits +DiscImages = µð½ºÅ© À̹ÌÁö +DiscimagePath = µð½ºÅ© À̹ÌÁö °æ·Î +DiscpathChanged = »õ·Î¿î µð½ºÅ© °æ·Î +Discpathchange = µð½ºÅ© °æ·Î º¯°æ +DiscDefault = µð½ºÅ© ±âº»°ª +Display = È­¸é Ç¥½Ã +Doyouwanttoformat = Æ÷¸ËÇÏ°Ú½À´Ï±î: +Doyoureallywanttodelete = Á¤¸»·Î »èÁ¦ÇÏ°Ú½À´Ï±î: +Doyouwanttoretryfor30secs = 30ÃÊ°£ Àç½Ãµµ ÇÒ±î¿ä? +Downloadingfile = ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÕ´Ï´Ù: +DownloadBoxartimage = ¹Ú½º À̹ÌÁö¸¦ ´Ù¿î·Îµå ÇÒ±î¿ä? +Downloadfinished = ´Ù¿î·Îµå ¿Ï·á +Error = ¿¡·¯ ! +BOOTERROR = ºÎÆà ¿¡·¯ +ErrorreadingDisc = µð½ºÅ© Àб⠿À·ù +ExitUSBISOLoader = USB Loader GX¸¦ Á¾·áÇÏ°Ú½À´Ï±î? +InitializingNetwork = ³×Æ®¿öÅ© ÃʱâÈ­ +InsertDisk = µð½ºÅ©¸¦ ³Ö¾îÁÖ¼¼¿ä +InsertaWiiDisc = Wii µð½ºÅ©¸¦ ³ÖÀ¸¼¼¿ä! +InsertaSDCardtodownloadimages = ´Ù¿î¹ÞÀº À̹ÌÁö¸¦ ÀúÀåÇÒ SDÄ«µå¸¦ ³ÖÀ¸¼¼¿ä. +InsertaSDCardtosave = ÀúÀåÇÒ SDÄ«µå¸¦ ³ÖÀ¸¼¼¿ä. +InstallRenameandDeleteareunlocked = USB Loader GXÀÇ ¸ðµç ±â´É Àá±ÝÇØÁ¦. +Installerror = ¼³Ä¡ ¿¡·¯! +Installagame = °ÔÀÓ ¼³Ä¡ +Installinggame = °ÔÀÓ ¼³Ä¡ Áß: +Failedtoboot = ºÎÆà ½ÇÆÐ: +FailedtomountfrontSDcard = SDÄ«µå ÀÎ½Ä ½ÇÆÐ +FailedtosetUSB = USB ¼¼Æà ½ÇÆÐ: +Failedformating = Æ÷¸Ë ½ÇÆÐ +filesnotfoundontheserver = ÆÄÀÏÀÌ ¼­¹ö¿¡ ¾ø½À´Ï´Ù! +filesleft = ÆÄÀÏ ³²À½ +FlipX = Flip-X +Force = °­Á¦ +Youneedtoformatapartition = ÆÄƼ¼ÇÀ» Æ÷¸ËÇØ¾ß ÇÕ´Ï´Ù +Format = Æ÷¸Ë +Formattingpleasewait = Æ÷¸Ë ÁßÀÔ´Ï´Ù, ±â´Ù·Á ÁÖ¼¼¿ä... +formated = Æ÷¸Ë ¿Ï·á! +free = ³²À½ +FreeSpace = ¿©À¯ °ø°£ +FullShutdown = ¿ÏÀüÈ÷ ²ô±â +GameID = °ÔÀÓ ID +Games = °ÔÀÓ +Gameisalreadyinstalled = °ÔÀÓÀÌ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ½À´Ï´Ù. +GameRegion = Áö¿ª +GameSize = °ÔÀÓ ¿ë·® +GoBack = µÚ·Î °¡±â +//GotoPage = ÆäÀÌÁö·Î °¡±â +HowtoShutdown = ¾î¶»°Ô Á¾·áÇÒ±î¿ä? +Language = ¾ð¾î +Langchange = ¾ð¾î º¯°æ +Left = ¿ÞÂÊ +LikeSysMenu = ¼¼½ºÅÛ ¸Þ´ºÃ³·³ +LoadingincIOS = cIOS249·Î ·Îµù +Lock = Àá±Ý +LockConsole = ÄÜ¼Ö Àá±Ý +MP3Menu = MP3 ¸Þ´º +Missingfiles = ºüÁø ÆÄÀÏ +Networkiniterror = ³×Æ®¿öÅ© ÃʱâÈ­ ¿¡·¯ +Neither = Ç¥½Ã ¾øÀ½ +Next = ´ÙÀ½ +No = ¾Æ´Ï¿À +Nofilemissing = ºüÁø ÆÄÀÏ ¾øÀ½! +NoHDDfound = ÇÏµå µð½ºÅ©°¡ ¾ø½À´Ï´Ù! +NoSDcardinserted = SDÄ«µå°¡ ¾ø½À´Ï´Ù! +Nopartitionsfound = ÆÄƼ¼ÇÀÌ ¾ø½À´Ï´Ù. +NoUSBDevice = USB ÀåÄ¡°¡ ¾ø½À´Ï´Ù. +NoWBFSpartitionfound = WBFS ÆÄƼ¼ÇÀÌ ¾ø½À´Ï´Ù. +NormalCovers = ÀÏ¹Ý Ç¥Áö +Normal = ÀÏ¹Ý +NotaWiiDisc = Wii µð½ºÅ©°¡ ¾Æ´Õ´Ï´Ù +NoUSBDevicefound = USB ÀåÄ¡°¡ ¾ø½À´Ï´Ù. +Notenoughfreespace = ¿©À¯ °ø°£ÀÌ ºÎÁ·ÇÕ´Ï´Ù! +notset = ¼³Á¤µÇÁö ¾ÊÀ½ +of = Áß +OFF = ²¨Áü +OfficialSite = °ø½Ä »çÀÌÆ® +ok = OK +ON = ÄÑÁü +Parentalcontrol = ÆÄƼ¼Ç Á¦¾î +Partition = ÆÄƼ¼Ç +Password = ºñ¹Ð¹øÈ£ +PasswordChanged = »õ·Î¿î ºñ¹Ð¹øÈ£ +Passwordhasbeenchanged = ºñ¹Ð¹øÈ£°¡ º¯°æµÇ¾ú½À´Ï´Ù +Passwordchange = ºñ¹Ð¹øÈ£ º¯°æ +PowerofftheWii = Wii Àü¿ø ²ô±â +Prev = ÀÌÀü +PromptsButtons = ÇÁ·ÒÇÁÆ® ¹öÆ° +ReloadSD = SDÄ«µå ´Ù½Ã Àбâ +RenameGameonWBFS = WBFS¿¡¼­ °ÔÀÓ À̸§ ¹Ù²Ù±â +Restart = ´Ù½Ã ½ÃÀÛ +Return = µ¹¾Æ°¡±â +ReturntoWii = Wii ¸Þ´º·Î µ¹¾Æ°¡±â +Right = ¿À¸¥ÂÊ +Rumble = Áøµ¿ +QuickBoot = ÄüºÎÆ® +Save = ÀúÀå +SaveFailed = ÀúÀå ½ÇÆÐ +Specialthanksto = Special thanks to +For = for +theUSBLoaderandreleasingthesourcecodethe = ¼Ò½º ÄÚµå ¹èÆ÷ +secondsleft = ÃÊ ³²¾Ò½À´Ï´Ù +SelectthePartition = Æ÷¸ËÇÏ·Á´Â +youwanttoformat = ÆÄƼ¼ÇÀ» ¼±ÅÃÇϼ¼¿ä +settings = ¼³Á¤ +ShutdowntoIdle = Idle»óÅ·ΠÁ¾·á +ShutdownSystem = ½Ã½ºÅÛ Á¾·á +Success = ¼º°ø: +Successfullyinstalled = ¼³Ä¡ ¼º°ø: +Successfullydeleted = »èÁ¦ ¼º°ø: +SuccessfullySaved = ÀúÀå ¼º°ø +SystemDefault = ½Ã½ºÅÛ ±âº»°ª +ThemePath = Å׸¶ °æ·Î +ThemepathChanged = Å׸¶ °æ·Î º¯°æµÊ +Themepathchange = Å׸¶ °æ·Î º¯°æ +Try = ½Ãµµ +Tooltips = Tooltips +Timeleft = ³²Àº ½Ã°£: +Unlock = Àá±ÝÇØÁ¦ +Uninstall = Á¦°Å +USBLoaderisprotected = USB Loader GX º¸È£¸ðµå +USBDevicenotfound = USB ÀåÄ¡°¡ ¾ø½À´Ï´Ù. +VideoMode = ºñµð¿À ¸ðµå +VIDTVPatch = VIDTV ÆÐÄ¡ +Volume = º¼·ý +Waiting = ±â´Ù¸®´Â Áß... +WaitingforUSBDevice = USB ÀåÄ¡¸¦ ±â´Ù¸®´Â Áß +WidescreenFix = ¿ÍÀÌµå ½ºÅ©¸° Fix +WiiMenu = Wii ¸Þ´º +WrongPassword = À߸øµÈ ºñ¹Ð¹øÈ£ +Yes = ¿¹ +YoudonthavecIOS = cIOS222°¡ ¾ø½À´Ï´Ù. +Japanese = ÀϺ»¾î +German = µ¶ÀϾî +English = ¿µ¾î +French = ºÒ¾î +Spanish = ½ºÆäÀξî +Italian = ÀÌŸ®¾î +Dutch = ³×´ú¶õµå¾î +SChinese = Áß±¹¾î(°£Ã¼) +TChinese = Áß±¹¾î(¹øü) +Korean = Çѱ¹¾î \ No newline at end of file diff --git a/Languages/norwegian b/Languages/norwegian new file mode 100644 index 00000000..d49c7d76 --- /dev/null +++ b/Languages/norwegian @@ -0,0 +1,177 @@ +t3Covers = 3D cover +AppLanguage = Program språk +Areyousure = Er du sikker? +AutoPatch = AutoPatch +Back = Tilbake +BacktoHBCorWiiMenu = Tilbake til HBC eller Wii meny +BacktoLoader = HBC/Loader +BacktoWiiMenu = Wii meny +BootStandard = Boot/Standard +Both = Begge +Cantcreatedirectory = Kan ikke opprette mappestruktur +Cancel = Avbryt +Cantbeformated = Kan ikke formateres +Cantdelete = Kan ikke slette: +ClicktoDownloadCovers = Klikk for å laste ned cover +Clock = Klokke +Continueinstallgame = Fortsett å installere spill? +ConsoleDefault = Konsoll Standard +Consoleshouldbeunlockedtomodifyit = Konsoll må være opplåst for å modifisere. +ConsoleLocked = Konsoll låst +CorrectPassword = Riktig passord +Couldnotinitializenetwork = Kan ikke initialisere nettverk! +CouldnotopenDisc = Kan ikke åpne plate +CouldnotinitializeDIPmodule = Kan ikke initialisere DIP modul! +CoverDownload = Cover nedlasting +CoverPath = Cover sti +CoverpathChanged = Cover sti endret +Coverpathchange = Endre cover sti +Credits = Medvirkende +DiscImages = Plate bilder +DiscimagePath = Plate sti +DiscpathChanged = Plate sti endret +Discpathchange = Endre plate sti +DiscDefault = Plate Standard +Display = Vis +Doyouwanttoformat = Vil du formatere: +Doyoureallywanttodelete = Er du sikker på at du vil slette: +Doyouwanttoretryfor30secs = Vil du fortsette å prøve i 30 sekunder? +Downloadingfile = Laster ned fil: +DownloadBoxartimage = Last ned cover bilde? +Downloadfinished = Nedlasting ferdig +Error = Feil ! +BOOTERROR = BOOT FEIL +ErrorreadingDisc = Feil ved lesing av plate +ExitUSBISOLoader = Avslutt USB Loader GX? +InitializingNetwork = Initialiserer nettverk +InsertDisk = Sett inn plate +InsertaWiiDisc = Sett inn en Wii plate! +InsertaSDCardtodownloadimages = Sett inn et SD-kort for å laste ned bilder. +InsertaSDCardtosave = Sett inn et SD-kort for å lagre. +InstallRenameandDeleteareunlocked = Alle funksjonene til USB Loader GX er opplåst. +Installerror = Installasjonsfeil! +Installagame = Installér et spill +Installinggame = Installerer spill: +Failedtoboot = Feil ved start: +FailedtomountfrontSDcard = Feil ved montering av SD-kort i front +FailedtosetUSB = Feil ved valgt USB: +Failedformating = Feil ved formatering +Filenotfound = Fil ikke funnet. +filesnotfoundontheserver = filer ikke funnet på serveren! +filesleft = fil(er) gjenstår +FlipX = Flip-X +Force = Tving +Youneedtoformatapartition = Du må formatere en partisjon +Format = Formatér +Formattingpleasewait = Formaterer, vennligst vent... +formated = formatert! +free = ledig +FreeSpace = Ledig plass +FullShutdown = Skru helt av +GameID = Spill ID +Games = Spill +Gameisalreadyinstalled = Spillet er allerede installert: +GameRegion = Region +GameSize = Spill størrelse +GoBack = Gå tilbake +//GotoPage = Gå til side +HowtoShutdown = Hvordan skru av? +keyboard = Tastatur +Language = Språk +Langchange = Bytt språk +Left = Venstre +LikeSysMenu = Lik Systemmeny +LoadingincIOS = Laster i cIOS249 +Loadingstandardlanguage = Laster standard språk. +Lock = Lås +LockConsole = Lås konsoll +MP3Menu = MP3 meny +Missingfiles = Manglende filer +Networkiniterror = Nettverk init feil +Neither = Ingen +Next = Neste +No = Nei +Nofilemissing = Ingen filer mangler! +NoHDDfound = Ingen HDD funnet! +NoSDcardinserted = Intet SD-kort satt i! +Nopartitionsfound = Ingen partisjoner funnet +NoUSBDevice = Ingen USB enhet +NoWBFSpartitionfound = Ingen WBFS partisjon funnet +NormalCovers = Normale cover +Normal = Normal +NotaWiiDisc = Ikke en Wii plate +NoUSBDevicefound = Ingen USB enhet funnet. +Notenoughfreespace = Ikke nok ledig plass! +notset = ikke satt +of = av +OFF = AV +OfficialSite = Offisiell nettside +ok = OK +ON = PÅ +Parentalcontrol = Foreldre kontroll +Partition = Partisjon +Password = Passord +PasswordChanged = Passord endret +Passwordhasbeenchanged = Passord har blitt endret +Passwordchange = Endre passord +PowerofftheWii = Skru av Wii +Prev = Forrige +PromptsButtons = Dialog knapper +ReloadSD = Les SD på nytt +RenameGameonWBFS = Gi nytt navn til spill på WBFS +Restart = Start på nytt +Return = Gå tilbake +ReturntoWii = Tilbake til Wii meny +Right = Høyre +Rumble = Vibrasjon +QuickBoot = Hurtig start +Save = Lagre +SaveFailed = Lagre feilet +Specialthanksto = Spesiell takk til +Titlestxtpath = Titles.txt sti +TitlestxtpathChanged = Titles.txt sti endret. +Titlestxtpathchange = Endre titles.txt sti +For = for +theUSBLoaderandreleasingthesourcecodethe = og utgivelse av kildekoden +secondsleft = sekunder gjenstår +SelectthePartition = Velg partisjonen +youwanttoformat = du vil formatere +settings = Innstillinger +ShutdowntoIdle = Skru av +ShutdownSystem = Skru helt av +Success = Suksess: +Successfullyinstalled = Vellykket installering: +Successfullydeleted = Vellykket sletting: +SuccessfullySaved = Vellykket lagring +SystemDefault = System Standard +ThemePath = Tema sti +ThemepathChanged = Tema sti endret +Themepathchange = Endre tema sti +Try = Prøv +Tooltips = Verktøystips +Timeleft = Tid igjen: +Unlock = Lås opp +Unicodefix = Unicode fiks +Uninstall = Avinstallér +USBLoaderisprotected = USB Loader GX er beskyttet +USBDevicenotfound = USB enhet ikke funnet +VideoMode = Video modus +VIDTVPatch = VIDTV Patch +Volume = Volum +Waiting = Venter... +WaitingforUSBDevice = Venter på USB enhet +WidescreenFix = Fiks for 16/9 +WiiMenu = Wii meny +WrongPassword = Feil passord +Yes = Ja +YoudonthavecIOS = Du har ikke cIOS222 +Japanese = Japansk +German = Tysk +English = Engelsk +French = Fransk +Spanish = Spansk +Italian = Italiensk +Dutch = Nederlandsk +SChinese = S.Kinesisk +TChinese = T.Kinesisk +Korean = Koreansk \ No newline at end of file diff --git a/Languages/schinese b/Languages/schinese new file mode 100644 index 00000000..5bd60ce1 --- /dev/null +++ b/Languages/schinese @@ -0,0 +1,178 @@ +Specialthanksto = Ìرð¸Ðл +t3Coverst = 3D ·âÃæ +AppLanguage = ÓïÑÔÉ趨 +Areyousure = È·¶¨? +AutoPatch = ×Ô¶¯Ñ¡Ôñ +Back = ·µ»Ø +BacktoHBCorWiiMenu = ·µ»Ø HBC »ò Wii ϵͳ²Ëµ¥ +BacktoLoader = ·µ»Ø Loader +BacktoWiiMenu = ·µ»Ø Wii ϵͳ²Ëµ¥ +BootStandard = Æô¶¯/±ê×¼ +BothBoth = È«²¿ +Cantcreatedirectory = ÎÞ·¨½¨Á¢Ä¿Â¼ +Cancel = È¡Ïû +Cantbeformated = ÎÞ·¨¸ñʽ»¯ +Cantdelete = ÎÞ·¨É¾³ý: +ClicktoDownloadCovers = µã»÷ÏÂÔØ·âÃæ +Clock = ʱÖÓ +Continueinstallgame = ¼ÌÐø°²×°ÓÎÏ·? +ConsoleDefault = Ö÷»úĬÈÏ +Consoleshouldbeunlockedtomodifyit = Ðè½âËøÒÔ¿ªÆôÉ趨¹¦ÄÜ. +ConsoleLocked = Ö÷»úËø¶¨ +CorrectPassword = ÃÜÂëÕýÈ· +Couldnotinitializenetwork = ÎÞ·¨Æô¶¯ÍøÂç! +CouldnotopenDisc = ÎÞ·¨¿ªÆô¹âÅÌ +CouldnotinitializeDIPmodule = ÎÞ·¨Æô¶¯ DIP Ä£¿é! +CoverDownload = ÏÂÔØ·âÃæ +CoverPath = ·âÃæ´æ·Å·¾¶ +CoverpathChanged = ·âÃæ·¾¶Òѱä¸ü +Coverpathchange = ±ä¸ü·âÃæ´æ·Å·¾¶ +Credits = Credits +DiscImages = DVD·âÃæ +DiscimagePath = ²Ëµ¥·âÃæ´æ·Å·¾¶ +DiscpathChanged = DVD·âÃæ·¾¶Òѱä¸ü +Discpathchange = ±ä¸üDVD·âÃæ´æ·Å·¾¶ +DiscDefault = ÓÎϷĬÈÏ +Display = ÏÔʾ +Doyouwanttoformat = ÊÇ·ñ¸ñʽ»¯: +Doyoureallywanttodelete = È·¶¨É¾³ý: +Doyouwanttoretryfor30secs = ÊÇ·ñµÈ´ý30ÃëÖØÊÔ? +Downloadingfile = ÏÂÔØÎļþ: +DownloadBoxartimage = ÏÂÔØ·âÃæͼƬ? +Downloadfinished = ÏÂÔØÍê³É +Error = ´íÎó ! +BOOTERROR = Æô¶¯´íÎó +ErrorreadingDisc = ¶ÁÈ¡¹âÅÌ´íÎó +ExitUSBISOLoader = À뿪 USB Loader GX? +InitializingNetwork = ÕýÔÚÆô¶¯ÍøÂç +InsertDisk = ²åÈë¹âÅÌ +InsertaWiiDisc = ²åÈë Wii ¹âÅÌ! +InsertaSDCardtodownloadimages = ²åÈë SD ¿¨ÏÂÔØ·âÃæ. +InsertaSDCardtosave = ²åÈëSD¿¨±£´æ. +InstallRenameandDeleteareunlocked = USB Loader GX ¹¦ÄÜÒѽâËø. +Installerror = °²×°´íÎó! +Installagame = °²×°ÓÎÏ· +Installinggame = ÕýÔÚ°²×°ÓÎÏ·: +Failedtoboot = ÎÞ·¨Æô¶¯: +FailedtomountfrontSDcard = ¹ÒÔØÇ°¶Ë SD ¿¨Ê§°Ü +FailedtosetUSB = ÎÞ·¨É趨 USB: +Failedformating = ¸ñʽ»¯Ê§°Ü +filesnotfoundontheserver = ·þÎñÆ÷ÖÐÎÞ´ËÎļþ! +filesleft = Ê£ÓàÎļþ +FlipX = °´¼ü¹æÔò +Force = Ç¿ÖÆ +Youneedtoformatapartition = ±ØÐë¸ñʽ»¯Ò»¸ö·ÖÇø +Format = ¸ñʽ»¯ +Formattingpleasewait = ¸ñʽ»¯ÖÐ, ÇëÉÔºò... +formated = Íê³É¸ñʽ»¯! +free = Ê£Óà +FreeSpace = Ê£Óà¿Õ¼ä +FullShutdown = ÍêÈ«¹Ø»ú +GameID = ÓÎÏ·ID +Games = ÓÎÏ· +Gameisalreadyinstalled = ÒÑ°²×°¹ýÓÎÏ·: +GameRegion = ÇøÓò +GameSize = ÓÎÏ·ÈÝÁ¿ +GoBack = ·µ»Ø +GotoPage = Ç°ÍùÒ³Ãæ +HowtoShutdown = ÈçºÎ¹Ø»ú? +Language = ÓïÑÔ +Langchange = ±ä¸üÓïÑÔ +Left = ×ó +LikeSysMenu = ͬϵͳѡµ¥ +LoadingincIOS = ÒÔ cIOS249 ÔØÈë +Lock = Ëø¶¨ +LockConsole = Ëø¶¨¿ØÖÆ̨ +MP3Menu = MP3 Ñ¡µ¥ +Missingfiles = ȱÉÙµÄÎļþ +Networkiniterror = ÍøÂçÆô¶¯´íÎó +Neither = È«²» +Next = Íùºó +No = ·ñ +Nofilemissing = ûÓÐȱÉÙµÄÎļþ! +NoHDDfound = ÕÒ²»µ½Ó²ÅÌ! +NoSDcardinserted = δ²åÈë SD ¿¨! +Nopartitionsfound = ÕÒ²»µ½·ÖÇø +NoUSBDevice = ûÓÐ USB É豸 +NoWBFSpartitionfound = ÕÒ²»µ½ WBFS ·ÖÇø +NormalCovers = Ò»°ã·âÃæ +Normal = Ò»°ã +NotaWiiDisc = ²»ÊÇ Wii µÄ¹âÅÌ +NoUSBDevicefound = ÕÒ²»µ½ USB É豸. +Notenoughfreespace = Ê£Óà¿Õ¼ä²»×ã! +notset = δÉ趨 +of = µÄ +OFF = ¹Ø±Õ +OfficialSite = ¹Ù·½ÍøÖ· +ok = È·¶¨ +ON = ¿ªÆô +Parentalcontrol = ¼Ò³¤¿ØÖÆ +Partition = ·ÖÇø +Password = ÃÜÂë +PasswordChanged = ÃÜÂëÒѱä¸ü +Passwordhasbeenchanged = ÃÜÂëÒѱ»±ä¸ü +Passwordchange = ±ä¸üÃÜÂë +PowerofftheWii = ¹Ø±ÕWiiÖ÷»ú +Prev = ÍùÇ° +PromptsButtons = ÏÔʾУÕý +ReloadSD = ÖØÐÂÔØÈëSD¿¨ +RenameGameonWBFS = ¸Ä±äWBFS(Ó²ÅÌ)ÉϵÄÓÎÏ·Ãû³Æ +Restart = ÖØÐÂÆô¶¯ +Return = ·µ»Ø +ReturntoWii = ·µ»ØWiiϵͳ²Ëµ¥ +Right = ÓÒ +Rumble = Õ𶯠+QuickBoot = ¿ìËÙÆô¶¯ +Save = ±£´æ +SaveFailed = ±£´æʧ°Ü +Specialthanksto = Ìرð¸Ðл +For = µÄ +theUSBLoaderandreleasingthesourcecodethe = ·Å³öÔ­´úÂë +secondsleft = Ê£ÓàÃëÊý +SelectthePartition = Ñ¡Ôñ·ÖÇø +youwanttoformat = ÊÇ·ñ¸ñʽ»¯ +settings = ÉèÖà +ShutdowntoIdle = ½øÈë´ý»ú״̬ +ShutdownSystem = ¹Ø±Õϵͳ +Success = ³É¹¦: +Successfullyinstalled = ³É¹¦µÄ°²×°: +Successfullydeleted = ³É¹¦µÄɾ³ý: +SuccessfullySaved = ±£´æ³É¹¦ +SystemDefault = ϵͳĬÈÏ +ThemePath = Ö÷Ìâ´æ·Å·¾¶ +ThemepathChanged = Ö÷Ìâ·¾¶Òѱä¸ü +Themepathchange = ±ä¸üÖ÷Ìâ´æ·Å·¾¶ +Try = ³¢ÊÔ +Tooltips = ¹¤¾ßÌáʾ +Timeleft = Ê£Óàʱ¼ä: +Unlock = ½âËø +Uninstall = ɾ³ý +USBLoaderisprotected = USB Loader GX ±»Ëø¶¨ +USBDevicenotfound = ÕÒ²»µ½ USB É豸 +VideoMode = ÊÓƵÖÆʽ +VIDTVPatch = VIDTV ÐÞ¸Ä +Volume = ÒôÁ¿ +Waiting = µÈ´ýÖÐ... +WaitingforUSBDevice = µÈ´ý USB É豸 +WidescreenFix = ¿íÆÁУÕý +WiiMenu = Wii ϵͳ²Ëµ¥ +WrongPassword = ÃÜÂë´íÎó +Yes = ÊÇ +YoudonthavecIOS = δ°²×° cIOS222 +Japanese = ÈÕÎÄ +German = µÂÎÄ +English = Ó¢ÎÄ +French = ·¨ÎÄ +Spanish = Î÷°àÑÀÎÄ +Italian = Òâ´óÀûÎÄ +Dutch = ºÉÎÄ +SChinese = ¼òÌåÖÐÎÄ +TChinese = ·±ÌåÖÐÎÄ +Korean = º«ÎÄ +keyboard = ¼üÅÌ +Unicodefix = Unicode ÐÞÕý +Filenotfound = ÕÒ²»µ½Îļþ +Loadingstandardlanguage = ÔØÈë±ê×¼ÓïÑÔ +Titlestxtpath = Titles.txt ´æ·Å·¾¶ +TitlestxtpathChanged = titles.txt ·¾¶Òѱä¸ü +Titlestxtpathchange = ±ä¸ü titles.txt ´æ·Å·¾¶ diff --git a/Languages/spanish b/Languages/spanish index 444fdb92..7a3e3671 100644 --- a/Languages/spanish +++ b/Languages/spanish @@ -1,179 +1,178 @@ -Specialthanksto = Muchas gracias a -t3Covers = Carátulas 3D -AppLanguage = Idioma de la aplicación -Areyousure = ¿Estás Seguro? -AutoPatch = Auto-Parcheo -Back = Atrás -BacktoHBCorWiiMenu = Volver al HBC o Menú Wii -BacktoLoader = Volver al Cargador -BacktoWiiMenu = Volver al menú de wii -BootStandard = Inicio/Estándar -Both = Ambos -Cantcreatedirectory = No puedo crear el directorio -Cancel = Cancelar -Cantbeformated = No se puede formatear -Cantdelete = No se puede borrar: -ClicktoDownloadCovers = Click para descargar carátulas -Clock = Reloj -Continueinstallgame = ¿Continuo instalando el juego? -ConsoleDefault = Predeterm. consola -Consoleshouldbeunlockedtomodifyit = La consola debería estar desbloqueada -para modificarlo. -ConsoleLocked = Consola bloqueada -CorrectPassword = Contraseña Correcta -Couldnotinitializenetwork = ¡No puedo iniciar la red! -CouldnotopenDisc = No se puede abrir el disco -CouldnotinitializeDIPmodule = ¡No se puede inicializar modulo DIP! -CoverDownload = Descarga de carátulas -CoverPath = Ruta a Carátulas -CoverpathChanged = Ruta a carátulas cambiada -Coverpathchange = Cambiar ruta a carátulas -Credits = Créditos -DiscImages = Imágen Discos -DiscimagePath = Ruta imágen discos -DiscpathChanged = Ruta de discos cambiada -Discpathchange = Cambiar ruta a imágenes de disco -DiscDefault = Disco por defecto -Display = Pantalla -Doyouwanttoformat = ¿Quieres formatear?: -Doyoureallywanttodelete = ¿Realmente quieres borrar?: -Doyouwanttoretryfor30secs = ¿Quieres intentarlo otros 30 segundos? -Downloadingfile = Descargando fichero: -DownloadBoxartimage = ¿Descargar imagen de caja? -Downloadfinished = Descarga finalizada -Error = ¡Error ! -BOOTERROR = ¡Error de arranque ! -ErrorreadingDisc = Error leyendo disco -ExitUSBISOLoader = Salir del USB Loader GX? -InitializingNetwork = Inicializando red -InsertDisk = Introduzca el disco -InsertaWiiDisc = ¡Ponga un disco de wii! -InsertaSDCardtodownloadimages = Introduzca una tarjeta SD para descargar imágenes. -InsertaSDCardtosave = Introduzca una tarjeta SD para guardar. -InstallRenameandDeleteareunlocked = Todas las opciones de USB Loader GX desbloqueadas. -Installerror = ¡Error de instalación! -Installagame = Instalar un juego -Installinggame = Instalando juego: -Failedtoboot = Fallo en el inicio: -FailedtomountfrontSDcard = Fallo al montar la tarjeta SD -FailedtosetUSB = Fallo al usar el USB: -Failedformating = Fallo al dar formato -filesnotfoundontheserver = ¡ Fichero(s) no encontrado(s) en el servidor ! -filesleft = Ficheros(s) restante(s) -FlipX = Desplazamiento X -Force = Forzar -Youneedtoformatapartition = Necesitas formatear una partición -Format = Formatear -Formattingpleasewait = Dando formato. por favor, espere... -formated = ¡Formateado ! -free = Libre -FreeSpace = Espacio libre -FullShutdown = Apagado total -GameID = ID de juego -Games = Juegos -Gameisalreadyinstalled = El Juego ya estaba instalado: -GameRegion = Región -GameSize = Tamaño del juego -GoBack = Volver -//GotoPage = Ir a página -HowtoShutdown = ¿Cómo apago? -Language = Idioma -Langchange = Cambio de idioma -Left = Izquierda -LikeSysMenu = Cómo menú de sistema -LoadingincIOS = Cargando en cIOS249 -Lock = Bloqueo -LockConsole = Bloquear consola -MP3Menu = Menu MP3 -Missingfiles = Fichero(s) no encontrado(s) -Networkiniterror = Error de inicio de red -Neither = Ninguno -Next = Siguiente -No = No -Nofilemissing = ¡No faltan ficheros! -NoHDDfound = ¡No encuentro HD! -NoSDcardinserted = ¡No hay insertada tarjeta SD! -Nopartitionsfound = ¡No encuentro particiónes! -NoUSBDevice = No hay dispositivo USB -NoWBFSpartitionfound = No encuentro partición WBFS -NormalCovers = Carátulas normales -Normal = Normal -NotaWiiDisc = No es un disco de wii -NoUSBDevicefound = No encuentro dispositivo USB. -Notenoughfreespace = ¡No hay suficiente espacio libre! -notset = Sin poner -of = de -OFF = Apagado -OfficialSite = Sitio Oficial -ok = OK -ON = Encendido -Parentalcontrol = Control Parental -Partition = Partición -Password = Contraseña -PasswordChanged = Contraseña Cambiada -Passwordhasbeenchanged = La contraseña se ha cambiado -Passwordchange = Cambio de contraseña -PowerofftheWii = Apague la Wii -Prev = Anterior -PromptsButtons = Botones de consulta -ReloadSD = Recargar SD -RenameGameonWBFS = Renombrar juego en WBFS -Restart = Reiniciar -Return = Volver -ReturntoWii = Volver al menú de Wii -Right = Derecha -Rumble = Vibración -QuickBoot = Inicio rápido -Save = Guardar -SaveFailed = Fallo al guardar -Specialthanksto = Muchas gracias a -For = por -theUSBLoaderandreleasingthesourcecodethe = y liberar el código fuente -secondsleft = Segundos que faltan -SelectthePartition = Selecciona la partición -youwanttoformat = Quieres formatear -settings = Ajustes -ShutdowntoIdle = Apagar a Stand-By -ShutdownSystem = Sistema de apagado -Success = Conseguido: -Successfullyinstalled = Instalado con exito: -Successfullydeleted = Borrado con exito: -SuccessfullySaved = Guardado -SystemDefault = Predeterm. consola -ThemePath = Ruta a Temas -ThemepathChanged = Ruta a temas cambiada -Themepathchange = Cambio de ruta a temas -Try = Intentar -Tooltips = Herramientas -Timeleft = Tiempo pendiente: -Unlock = Desbloqueo -Uninstall = Desinstalar -USBLoaderisprotected = USB Loader GX está protegido -USBDevicenotfound = Dispositivo USB no encontrado -VideoMode = Modo de video -VIDTVPatch = Parcheo VIDTV -Volume = Volumen -Waiting = Esperando... -WaitingforUSBDevice = Esperando al dispositivo USB -WidescreenFix = Ajuste panorámico -WiiMenu = Menú Wii -WrongPassword = Contraseña errónea -Yes = Si -YoudonthavecIOS = No tienes cIOS 222 -Japanese = Japonés -German = Alemán -English = Inglés -French = Francés -Spanish = Español -Italian = Italiano -Dutch = Holandés -SChinese = Chino Simplificado -TChinese = Chino Tradicional -Korean = Coreano -keyboard = Teclado -Unicodefix = Párche Unicode -Filenotfound = Fichero no encontrado. -Loadingstandardlanguage = Cargando idioma predeterminado. -Titlestxtpath = Ruta a Titles.txt -TitlestxtpathChanged = Ruta a titles.txt cambiada. -Titlestxtpathchange = Cambiar ruta a titles.txt + Specialthanksto = Agradecimientos + t3Covers = Carátulas 3D + AppLanguage = Idioma Aplic. + Areyousure = ¿Estás seguro? + AutoPatch = AutoParchar + Back = Volver + BacktoHBCorWiiMenu = Volver a HBC o Menú Wii + BacktoLoader = Volver al HBC + BacktoWiiMenu = Volver a Menú Wii + BootStandard = Inicio/Estandar + Both = Ambos + Cantcreatedirectory = No se creó directorio + Cancel = Cancelar + Cantbeformated = No se pudo formatear + Cantdelete = No se eliminó: + ClicktoDownloadCovers = Click para bajar Carátulas + Clock = Reloj + Continueinstallgame = ¿Continuar instalando juego? + ConsoleDefault = Pred. Consola + Consoleshouldbeunlockedtomodifyit = Consola debe desbloquearse para modificarla. + ConsoleLocked = Consola Bloqueada + CorrectPassword = Contraseña Correcta + Couldnotinitializenetwork = ¡No se pudo iniciar la Conexión! + CouldnotopenDisc = No se pudo abrir Disco + CouldnotinitializeDIPmodule = ¡No se pudo iniciar módulo DIP! + CoverDownload = Descarga de Carátulas + CoverPath = Ruta Carátulas + CoverpathChanged = Ruta de Carátulas cambiada + Coverpathchange = Cambio ruta Carátulas + Credits = Créditos + DiscImages = Img. de Disco + DiscimagePath = Ruta Img. Disco + DiscpathChanged = Ruta Img. Disco cambiada + Discpathchange = Cambio ruta Img. Disco + DiscDefault = Pred. Disco + Display = Mostrar + Doyouwanttoformat = Quieres formatear: + Doyoureallywanttodelete = Realmente quieres eliminar: + Doyouwanttoretryfor30secs = ¿Quiéres reintentar por 30 segs.? + Downloadingfile = Descargando archivo: + DownloadBoxartimage = ¿Descargar Imágenes? + Downloadfinished = Descarga completa + Error = ¡Error! + BOOTERROR = ERROR DE INICIO + ErrorreadingDisc = Error leyendo Disco + ExitUSBISOLoader = ¿Salir de USB Loader GX? + InitializingNetwork = Iniciando Conexión + InsertDisk = Inserta el Disco + InsertaWiiDisc = ¡Inserta un Disco Wii! + InsertaSDCardtodownloadimages = Insertar SD para bajar imágenes. + InsertaSDCardtosave = Insertar SD para guardar. + InstallRenameandDeleteareunlocked = Todas las caracteristicas del USB Loader GX desbloqueadas. + Installerror = ¡Error de Instalación! + Installagame = Instalar un juego + Installinggame = Instalando juego: + Failedtoboot = Fallo al iniciar: + FailedtomountfrontSDcard = Fallo al montar SD + FailedtosetUSB = Fallo al iniciar USB: + Failedformating = Fallo al formatear + Filenotfound = Archivo no encontrado. + filesnotfoundontheserver = archivos no encontrados en el servidor! + filesleft = archivo(s) restante(s) + FlipX = Flip-X + Force = Forzar + Youneedtoformatapartition = Necesitas formatear una partición + Format = Formateo + Formattingpleasewait = Formateando, por favor espera... + formated = formateado! + free = libres + FreeSpace = Espacio Libre + FullShutdown = Apagado Total + GameID = ID de Juego + Games = Juegos + Gameisalreadyinstalled = Juego ya estaba instalado: + GameRegion = Región + GameSize = Tamaño del Juego + GoBack = Volver + //GotoPage = Ir a Página + HowtoShutdown = ¿Cómo Apagar? + Keyboard = Teclado + Language = Idioma + Langchange = Cambio de Idioma + Left = Izquierda + LikeSysMenu = Como Menú Sist. + LoadingincIOS = Cargando en cIOS249 + Loadingstandardlanguage = Cargando idioma estandar. + Lock = Bloquear + LockConsole = Bloquear consola + MP3Menu = Menú MP3 + Missingfiles = Archivo(s) faltante(s) + Networkiniterror = Error inicio conexión + Neither = Ninguno + Next = Siguiente + No = No + Nofilemissing = ¡No hay archivo(s) faltante(s)! + NoHDDfound = ¡HDD no encontrado! + NoSDcardinserted = ¡SD no insertada! + Nopartitionsfound = Particiones no encontradas + NoUSBDevice = USB no encontrado + NoWBFSpartitionfound = Partición WBFS no encontrada + NormalCovers = Carátulas Norm. + Normal = Normal + NotaWiiDisc = No es un Disco Wii + NoUSBDevicefound = USB no encontrado. + Notenoughfreespace = ¡No hay suficiente espacio libre! + notset = no puesto + of = de + OFF = Apagado + OfficialSite = Sitio Oficial + ok = OK + ON = Encendido + Parentalcontrol = Control Parental + Partition = Partición + Password = Contraseña + PasswordChanged = Contraseña cambiada + Passwordhasbeenchanged = Contraseña ha sido cambiada + Passwordchange = Cambio Contraseña + PowerofftheWii = Apagar la Wii + Prev = Ant. + PromptsButtons = Botones + ReloadSD = Recargar SD + RenameGameonWBFS = Renombrar juego en WBFS + Restart = Reiniciar + Return = Volver + ReturntoWii = Volver a Menú Wii + Right = Derecha + Rumble = Vibración + QuickBoot = Inicio Rápido + Save = Guardar + SaveFailed = Guardado fallido + Specialthanksto = Agradecimientos + Titlestxtpath = Ruta Titles.txt + TitlestxtpathChanged = Ruta a titles.txt cambiada. + Titlestxtpathchange = Cambio ruta titles.txt + For = por + theUSBLoaderandreleasingthesourcecodethe = y liberar el código fuente + secondsleft = segundos restantes + SelectthePartition = Selecciona la partición + youwanttoformat = quieres formatear + settings = Configuración + ShutdowntoIdle = Apagar a Idle + ShutdownSystem = Apagar Sistema + Success = Exito: + Successfullyinstalled = Instalado exitósamente: + Successfullydeleted = Borrado exitósamente: + SuccessfullySaved = Guardado exitósamente + SystemDefault = Pred. Sistema + ThemePath = Ruta del Tema + ThemepathChanged = Ruta de Tema cambiada + Themepathchange = Cambio Ruta de Tema + Try = Intentar + Tooltips = InfoBurbujas + Timeleft = T. restante: + Unlock = Desbloquear + Unicodefix = Arreg. Unicode + Uninstall = Desinstalar + USBLoaderisprotected = USB Loader GX está protegido + USBDevicenotfound = USB no encontrado + VideoMode = Modo Video + VIDTVPatch = Parche VIDTV + Volume = Volumen + Waiting = Esperando... + WaitingforUSBDevice = Esperando por Dispositivo USB + WidescreenFix = Arreg. Widescreen + WiiMenu = Menú de Wii + WrongPassword = Contraseña incorrecta + Yes = Si + YoudonthavecIOS = No tienes un cIOS222 + Japanese = Japonés + German = Alemán + English = Inglés + French = Francés + Spanish = Español + Italian = Italiano + Dutch = Holandés + SChinese = Chino Simplif. + TChinese = Chino Tradic. + Korean = Coreano diff --git a/Languages/tchinese b/Languages/tchinese index 940db5ab..473fb761 100644 --- a/Languages/tchinese +++ b/Languages/tchinese @@ -8,15 +8,15 @@ BacktoHBCorWiiMenu = BacktoLoader = ªð¦^ Loader BacktoWiiMenu = ªð¦^ Wii ¨t²Î¿ï³æ BootStandard = ±Ò°Ê/¼Ð·Ç -BothBoth = ¥þ³¡ +Both = ¥þ³¡Åã¥Ü Cantcreatedirectory = µLªk²£¥Í¥Ø¿ý Cancel = ¨ú®ø Cantbeformated = µLªk®æ¦¡¤Æ Cantdelete = µLªk§R°£: -ClicktoDownloadCovers = ÂIÀ»¤U¸ü«Ê­± +ClicktoDownloadCovers = ÂIÀ»¶i¦æ«Ê­±¤U¸ü Clock = ®ÉÄÁ Continueinstallgame = Ä~Äò¦w¸Ë¹CÀ¸? -ConsoleDefault = ±±¨î¥x¹w³] +ConsoleDefault = ¥D¾÷¹w³]­È Consoleshouldbeunlockedtomodifyit = »Ý¸ÑÂê¥H¶}±Ò³]©w¥\¯à. ConsoleLocked = ±±¨î¥xÂê©w CorrectPassword = ±K½X¥¿½T @@ -65,17 +65,18 @@ Youneedtoformatapartition = Format = ®æ¦¡¤Æ Formattingpleasewait = ®æ¦¡¤Æ¤¤, ½Ðµy­Ô... formated = §¹¦¨®æ¦¡¤Æ! -free = ³Ñ¾l +free = FreeSpace = ³Ñ¾lªÅ¶¡ FullShutdown = §¹¥þÃö¾÷ GameID = ¹CÀ¸¥N½X -Games = ¹CÀ¸ +Games = ¹CÀ¸¼Æ¶q Gameisalreadyinstalled = ¤w¦w¸Ë¹L¹CÀ¸: -GameRegion = °Ï°ì +GameRegion = ¹CÀ¸°Ï½X GameSize = ¹CÀ¸®e¶q GoBack = ªð¦^ -GotoPage = «e©¹­¶­± +//GotoPage = «e©¹­¶­± HowtoShutdown = ¦p¦óÃö¾÷? +Keyboard = Áä½L Language = »y¨¥ Langchange = Åܧó»y¨¥ Left = ¥ª @@ -86,9 +87,9 @@ LockConsole = MP3Menu = MP3 ¿ï³æ Missingfiles = ¿ò¥¢ªºÀÉ®× Networkiniterror = ºô¸ô±Ò°Ê¿ù»~ -Neither = ¬Ò§_ +Neither = ¬Ò¤£Åã¥Ü Next = ©¹«á -No = §_ +No = §_ Nofilemissing = ¨S¦³¯Ê¤ÖªºÀÉ®×! NoHDDfound = §ä¤£¨ìµwºÐ! NoSDcardinserted = ¥¼´¡¤J SD ¥d! @@ -101,7 +102,7 @@ NotaWiiDisc = NoUSBDevicefound = §ä¤£¨ì USB ¸Ë¸m. Notenoughfreespace = ³Ñ¾lªÅ¶¡¤£¨¬! notset = ¥¼³]©w -of = ªº +of = ³Ñ¾lªÅ¶¡ Á`®e¶q OFF = Ãö³¬ OfficialSite = ©x¤èºô§} ok = ½T©w @@ -138,7 +139,7 @@ Success = Successfullyinstalled = ¦¨¥\ªº¦w¸Ë: Successfullydeleted = ¦¨¥\ªº§R°£: SuccessfullySaved = Àx¦s¦¨¥\ -SystemDefault = ¨t²Î¹w³] +SystemDefault = ¨t²Î¹w³]­È ThemePath = ­I´º¥DÃD ThemepathChanged = ­I´º¥DÃD¸ô®|¤wÅܧó Themepathchange = Åܧó­I´º¥DÃD¸ô®| @@ -169,7 +170,6 @@ Dutch = SChinese = ²Å餤¤å TChinese = ÁcÅ餤¤å Korean = Áú¤å -keyboard = Áä½L Unicodefix = Unicode ­×¥¿ Filenotfound = §ä¤£¨ìÀÉ®× Loadingstandardlanguage = ¸ü¤J¼Ð·Ç»y¨¥ diff --git a/gui.pnproj b/gui.pnproj index b6996f1d..6e78162b 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/cfg.c b/source/cfg.c index f545ff3d..1784181a 100644 --- a/source/cfg.c +++ b/source/cfg.c @@ -234,6 +234,8 @@ void CFG_Default(int widescreen) // -1 = non forced Mode snprintf(CFG.titlestxt_path, sizeof(CFG.titlestxt_path), "SD:/config/");//default path for disc images snprintf(CFG.unlockCode, sizeof(CFG.unlockCode), "ab121b"); // default password snprintf(CFG.language_path, sizeof(CFG.language_path), "SD:/config/language/"); + snprintf(CFG.oggload_path, sizeof(CFG.oggload_path), "SD:/config/backgroundmusic/"); + sprintf(CFG.ogg_path, "notset"); CFG.parentalcontrol = 0; CFG.maxcharacters = 38; @@ -483,6 +485,14 @@ void cfg_set(char *name, char *val) strcopy(CFG.language_path, val, sizeof(CFG.language_path)); return; } + if (strcmp(name, "oggload_path") == 0) { + strcopy(CFG.oggload_path, val, sizeof(CFG.oggload_path)); + return; + } + if (strcmp(name, "ogg_path") == 0) { + strcopy(CFG.ogg_path, val, sizeof(CFG.ogg_path)); + return; + } cfg_int("parentalcontrol", &CFG.parentalcontrol, 4); cfg_bool("godmode", &CFG.godmode); @@ -1017,12 +1027,14 @@ bool cfg_save_global()// save global settings } fprintf(f, "disc_path = %s\n ", CFG.disc_path); fprintf(f, "language_path = %s\n ", CFG.language_path); + fprintf(f, "oggload_path = %s\n ", CFG.oggload_path); fprintf(f, "titlestxt_path = %s\n ", CFG.titlestxt_path); if(!strcmp("", Settings.unlockCode)) { fprintf(f, "godmode = %d\n ", CFG.godmode); } else { fprintf(f, "godmode = %d\n ", 0); } + fprintf(f, "ogg_path = %s\n ", CFG.ogg_path); fclose(f); return true; } diff --git a/source/cfg.h b/source/cfg.h index 93a91314..473f6f18 100644 --- a/source/cfg.h +++ b/source/cfg.h @@ -70,6 +70,8 @@ struct CFG char disc_path[100]; char titlestxt_path[100]; char language_path[100]; + char oggload_path[100]; + char ogg_path[150]; short keyset; }; diff --git a/source/fatmounter.c b/source/fatmounter.c index f39a821e..a925b7af 100644 --- a/source/fatmounter.c +++ b/source/fatmounter.c @@ -42,7 +42,7 @@ int SDCard_Init() if (!isSdInserted()){ return -1; } - if (fatMount("SD", &__io_wiisd, 0, CACHE, SECTORS)) { + if (fatMountSimple("SD", &__io_wiisd)) { return 1; } return -1; diff --git a/source/language.c b/source/language.c index 73f241fa..1feee152 100644 --- a/source/language.c +++ b/source/language.c @@ -35,6 +35,8 @@ snprintf(LANGUAGE.t3Covers, sizeof(LANGUAGE.t3Covers), "3D Covers"); snprintf(LANGUAGE.Areyousure, sizeof(LANGUAGE.Areyousure), "Are you sure?"); snprintf(LANGUAGE.AutoPatch, sizeof(LANGUAGE.AutoPatch), "AutoPatch"); snprintf(LANGUAGE.Back, sizeof(LANGUAGE.Back), "Back"); +snprintf(LANGUAGE.Backgroundmusic, sizeof(LANGUAGE.Backgroundmusic), "Backgroundmusic"); +snprintf(LANGUAGE.Backgroundmusicpath, sizeof(LANGUAGE.Backgroundmusicpath), "Backgroundmusic Path changed."); snprintf(LANGUAGE.BacktoHBCorWiiMenu, sizeof(LANGUAGE.BacktoHBCorWiiMenu), "Back to HBC or Wii Menu"); snprintf(LANGUAGE.BacktoLoader, sizeof(LANGUAGE.BacktoLoader), "Back to Loader"); snprintf(LANGUAGE.BacktoWiiMenu, sizeof(LANGUAGE.BacktoWiiMenu), "Back to Wii Menu"); @@ -107,13 +109,13 @@ snprintf(LANGUAGE.Gameisalreadyinstalled, sizeof(LANGUAGE.Gameisalreadyinstalled snprintf(LANGUAGE.GameRegion, sizeof(LANGUAGE.GameRegion), "Game Region"); snprintf(LANGUAGE.GameSize, sizeof(LANGUAGE.GameSize), "Game Size"); snprintf(LANGUAGE.GoBack, sizeof(LANGUAGE.GoBack), "Go Back"); -//snprintf(LANGUAGE.GotoPage, sizeof(LANGUAGE.GotoPage), "Go to Page"); snprintf(LANGUAGE.HowtoShutdown, sizeof(LANGUAGE.HowtoShutdown), "How to Shutdown?"); snprintf(LANGUAGE.Language, sizeof(LANGUAGE.Language), "Game Language"); snprintf(LANGUAGE.Left, sizeof(LANGUAGE.Left), "Left"); snprintf(LANGUAGE.LikeSysMenu, sizeof(LANGUAGE.LikeSysMenu), "Like SysMenu"); snprintf(LANGUAGE.LoadingincIOS, sizeof(LANGUAGE.LoadingincIOS), "Loading in cIOS249"); snprintf(LANGUAGE.Loadingstandardlanguage, sizeof(LANGUAGE.Loadingstandardlanguage), "Loading standard language."); +snprintf(LANGUAGE.Loadingstandardmusic, sizeof(LANGUAGE.Loadingstandardmusic), "Loading standard music."); snprintf(LANGUAGE.Lock, sizeof(LANGUAGE.Lock), "Lock"); snprintf(LANGUAGE.LockConsole, sizeof(LANGUAGE.LockConsole), "Lock Console"); snprintf(LANGUAGE.MP3Menu, sizeof(LANGUAGE.MP3Menu), "MP3 Menu"); @@ -133,6 +135,7 @@ snprintf(LANGUAGE.Normal, sizeof(LANGUAGE.Normal), "Normal"); snprintf(LANGUAGE.NotaWiiDisc, sizeof(LANGUAGE.NotaWiiDisc), "Not a Wii Disc"); snprintf(LANGUAGE.NoUSBDevicefound, sizeof(LANGUAGE.NoUSBDevicefound), "No USB Device found."); snprintf(LANGUAGE.Notenoughfreespace, sizeof(LANGUAGE.Notenoughfreespace), "Not enough free space!"); +snprintf(LANGUAGE.Notasupportedformat, sizeof(LANGUAGE.Notasupportedformat), "Not supported format!"); snprintf(LANGUAGE.notset, sizeof(LANGUAGE.notset), "not set"); snprintf(LANGUAGE.of, sizeof(LANGUAGE.of), "of"); snprintf(LANGUAGE.OFF, sizeof(LANGUAGE.OFF), "OFF"); @@ -161,9 +164,11 @@ snprintf(LANGUAGE.Specialthanksto, sizeof(LANGUAGE.Specialthanksto), "Special th snprintf(LANGUAGE.For, sizeof(LANGUAGE.For), "for"); snprintf(LANGUAGE.theUSBLoaderandreleasingthesourcecode, sizeof(LANGUAGE.theUSBLoaderandreleasingthesourcecode), "and releasing the source code"); snprintf(LANGUAGE.secondsleft, sizeof(LANGUAGE.secondsleft), "seconds left"); +snprintf(LANGUAGE.Setasbackgroundmusic, sizeof(LANGUAGE.Setasbackgroundmusic), "Set as backgroundmusic?"); snprintf(LANGUAGE.SelectthePartition, sizeof(LANGUAGE.SelectthePartition), "Select the Partition"); snprintf(LANGUAGE.Specialthanksto, sizeof(LANGUAGE.Specialthanksto), "Special thanks to"); snprintf(LANGUAGE.youwanttoformat, sizeof(LANGUAGE.youwanttoformat), "you want to format"); +snprintf(LANGUAGE.Standard, sizeof(LANGUAGE.Standard), "Standard"); snprintf(LANGUAGE.settings, sizeof(LANGUAGE.settings), "Settings"); snprintf(LANGUAGE.ShutdowntoIdle, sizeof(LANGUAGE.ShutdowntoIdle), "Shutdown to Idle"); snprintf(LANGUAGE.ShutdownSystem, sizeof(LANGUAGE.ShutdownSystem), "Shutdown System"); @@ -244,6 +249,14 @@ void language_set(char *name, char *val) strcopy(LANGUAGE.Back, val, sizeof(LANGUAGE.Back)); return; } + if (strcmp(name, "Backgroundmusic") == 0) { + strcopy(LANGUAGE.Backgroundmusic, val, sizeof(LANGUAGE.Backgroundmusic)); + return; + } + if (strcmp(name, "Backgroundmusicpath") == 0) { + strcopy(LANGUAGE.Backgroundmusicpath, val, sizeof(LANGUAGE.Backgroundmusicpath)); + return; + } if (strcmp(name, "BacktoHBCorWiiMenu") == 0) { strcopy(LANGUAGE.BacktoHBCorWiiMenu, val, sizeof(LANGUAGE.BacktoHBCorWiiMenu)); return; @@ -569,6 +582,10 @@ void language_set(char *name, char *val) strcopy(LANGUAGE.Loadingstandardlanguage, val, sizeof(LANGUAGE.Loadingstandardlanguage)); return; } + if (strcmp(name, "Loadingstandardmusic") == 0) { + strcopy(LANGUAGE.Loadingstandardmusic, val, sizeof(LANGUAGE.Loadingstandardmusic)); + return; + } if (strcmp(name, "Lock") == 0) { strcopy(LANGUAGE.Lock, val, sizeof(LANGUAGE.Lock)); return; @@ -645,6 +662,10 @@ void language_set(char *name, char *val) strcopy(LANGUAGE.Notenoughfreespace, val, sizeof(LANGUAGE.Notenoughfreespace)); return; } + if (strcmp(name, "Notasupportedformat") == 0) { + strcopy(LANGUAGE.Notasupportedformat, val, sizeof(LANGUAGE.Notasupportedformat)); + return; + } if (strcmp(name, "notset") == 0) { strcopy(LANGUAGE.notset, val, sizeof(LANGUAGE.notset)); return; @@ -765,6 +786,10 @@ void language_set(char *name, char *val) strcopy(LANGUAGE.settings, val, sizeof(LANGUAGE.settings)); return; } + if (strcmp(name, "Setasbackgroundmusic") == 0) { + strcopy(LANGUAGE.Setasbackgroundmusic, val, sizeof(LANGUAGE.Setasbackgroundmusic)); + return; + } if (strcmp(name, "ShutdowntoIdle") == 0) { strcopy(LANGUAGE.ShutdowntoIdle, val, sizeof(LANGUAGE.ShutdowntoIdle)); return; @@ -773,6 +798,10 @@ void language_set(char *name, char *val) strcopy(LANGUAGE.ShutdownSystem, val, sizeof(LANGUAGE.ShutdownSystem)); return; } + if (strcmp(name, "Standard") == 0) { + strcopy(LANGUAGE.Standard, val, sizeof(LANGUAGE.Standard)); + return; + } if (strcmp(name, "Success") == 0) { strcopy(LANGUAGE.Success, val, sizeof(LANGUAGE.Success)); return; diff --git a/source/language.h b/source/language.h index baef1590..0636ad72 100644 --- a/source/language.h +++ b/source/language.h @@ -17,6 +17,8 @@ struct LANGUAGE char Areyousure[50]; char AutoPatch[20]; char Back[20]; + char Backgroundmusic[80]; + char Backgroundmusicpath[100]; char BacktoHBCorWiiMenu[50]; char BacktoLoader[50]; char BacktoWiiMenu[50]; @@ -97,6 +99,7 @@ struct LANGUAGE char LikeSysMenu[50]; char LoadingincIOS[50]; char Loadingstandardlanguage[80]; + char Loadingstandardmusic[80]; char Lock[30]; char LockConsole[50]; char MP3Menu[40]; @@ -116,6 +119,7 @@ struct LANGUAGE char NotaWiiDisc[40]; char NoUSBDevicefound[50]; char Notenoughfreespace[50]; + char Notasupportedformat[100]; char notset[40]; char of[30]; char OFF[30]; @@ -148,6 +152,8 @@ struct LANGUAGE char SelectthePartition[50]; char youwanttoformat[50]; char settings[50]; + char Setasbackgroundmusic[90]; + char Standard[30]; char ShutdowntoIdle[50]; char ShutdownSystem[50]; char Success[30]; diff --git a/source/libwiigui/gui.h b/source/libwiigui/gui.h index 9355512e..48a2fe5c 100644 --- a/source/libwiigui/gui.h +++ b/source/libwiigui/gui.h @@ -131,6 +131,8 @@ class GuiSound ~GuiSound(); //!Start sound playback void Play(); + //!Start sound playback from ogg file + int PlayOggFile(char * path); //!Stop sound playback void Stop(); //!Pause sound playback @@ -146,6 +148,11 @@ class GuiSound //!Set the sound to loop playback (only applies to OGG) //!\param l Loop (true to loop) void SetLoop(bool l); + //!Get the playing time in ms for that moment (only applies to OGG) + s32 GetPlayTime(); + //!Set the starting point or playtime for skipping (only applies to OGG) + //!\param time in ms + void SetPlayTime(s32 time); protected: const u8 * sound; //!< Pointer to the sound data int type; //!< Sound format type (SOUND_PCM or SOUND_OGG) diff --git a/source/libwiigui/gui_sound.cpp b/source/libwiigui/gui_sound.cpp index 3db3bf8c..e37fddb6 100644 --- a/source/libwiigui/gui_sound.cpp +++ b/source/libwiigui/gui_sound.cpp @@ -42,6 +42,38 @@ GuiSound::~GuiSound() StopOgg(); } +int GuiSound::PlayOggFile(char * path) +{ /* + u32 filesize = 0; + char * bufferogg = NULL; + size_t resultogg; + + FILE * pFile; + pFile = fopen (path, "rb"); + + // get file size: + fseek (pFile , 0 , SEEK_END); + filesize = ftell (pFile); + rewind (pFile); + + // allocate memory to contain the whole file: + bufferogg = (char*) malloc (sizeof(char)*filesize); + if (bufferogg == NULL) {fputs (" Memory error",stderr); exit (2);} + + // copy the file into the buffer: + resultogg = fread (bufferogg,1,filesize,pFile); + if (resultogg != filesize) {fputs (" Reading error",stderr); exit (3);} + + fclose (pFile); + + sound = (const u8 *) bufferogg; + length = filesize; + */ + int ret = PlayOggFromFile(path, loop); + SetVolumeOgg(255*(volume/100.0)); + return ret; +} + void GuiSound::Play() { int vol; @@ -57,7 +89,7 @@ void GuiSound::Play() break; case SOUND_OGG: - voice = 0; + voice = ASND_GetFirstUnusedVoice(); if(loop) PlayOgg(mem_open((char *)sound, length), 0, OGG_INFINITE_TIME); else @@ -151,3 +183,13 @@ void GuiSound::SetLoop(bool l) { loop = l; } + +s32 GuiSound::GetPlayTime() +{ + return GetTimeOgg(); +} + +void GuiSound::SetPlayTime(s32 time_pos) +{ + SetTimeOgg(time_pos); +} diff --git a/source/menu.cpp b/source/menu.cpp index c11613d4..0feaaa65 100644 --- a/source/menu.cpp +++ b/source/menu.cpp @@ -63,7 +63,6 @@ static GuiText sizeTxt(sizeshow, 26, (GXColor){THEME.prompttxt_r, THEME.prompttx static GuiText *GameIDTxt = NULL; static GuiText *GameRegionTxt = NULL; static GuiSound * bgMusic = NULL; -static GuiSound * creditsMusic = NULL; static wbfs_t *hdd = NULL; static u32 gameCnt = 0; static s32 gameSelected = 0, gameStart = 0; @@ -170,12 +169,14 @@ HaltGui() static void WindowCredits(void * ptr) { int angle = 0; + GuiSound * creditsMusic = NULL; if(btnLogo->GetState() != STATE_CLICKED) { return; } + s32 thetimeofbg = bgMusic->GetPlayTime(); + StopOgg(); - bgMusic->Stop(); creditsMusic = new GuiSound(credits_music_ogg, credits_music_ogg_size, SOUND_OGG, 55); creditsMusic->SetVolume(55); creditsMusic->SetLoop(1); @@ -374,8 +375,14 @@ static void WindowCredits(void * ptr) delete txt[i]; delete creditsMusic; - bgMusic->SetLoop(1); - bgMusic->Play(); + + if(!strcmp("", CFG.oggload_path) || !strcmp("notset", CFG.ogg_path)) { + bgMusic->Play(); + } else { + bgMusic->PlayOggFile(CFG.ogg_path); + } + bgMusic->SetPlayTime(thetimeofbg); + SetVolumeOgg(255*(vol/100.0)); } /**************************************************************************** @@ -758,7 +765,7 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label, closeBtn.SetLabel(&btn1Txt); closeBtn.SetRumble(false); closeBtn.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_IN, 50); - + GuiImage btn1Img(&top); GuiImage btn1OverImg(&topOver); GuiButton btn1(top.GetWidth(), top.GetHeight()); @@ -817,7 +824,7 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label, btn2Txt.SetFontSize(22); btn3Txt.SetFontSize(22); - + GuiImage wiimoteImg(&wiimote); if (Settings.wsprompt == yes){wiimoteImg.SetWidescreen(CFG.widescreen);} wiimoteImg.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM); @@ -982,7 +989,7 @@ int GameWindowPrompt() char imgPath[100]; snprintf(imgPath, sizeof(imgPath), "%sbutton_dialogue_box.png", CFG.theme_path); GuiImageData btnOutline(imgPath, button_dialogue_box_png); - + snprintf(imgPath, sizeof(imgPath), "%sstartgame_arrow_left.png", CFG.theme_path); GuiImageData imgLeft(imgPath, startgame_arrow_left_png); snprintf(imgPath, sizeof(imgPath), "%sstartgame_arrow_right.png", CFG.theme_path); @@ -1795,7 +1802,7 @@ ProgressWindow(const char *title, const char *msg) snprintf(imgPath, sizeof(imgPath), "%sprogressbar_outline.png", CFG.theme_path); GuiImageData progressbarOutline(imgPath, progressbar_outline_png); - + //GuiImageData progressbarOutline(progressbar_outline_png); GuiImage progressbarOutlineImg(&progressbarOutline); if (Settings.wsprompt == yes){ @@ -2993,10 +3000,17 @@ static int MenuDiscList() } else if(homeBtn.GetState() == STATE_CLICKED) { + s32 thetimeofbg = bgMusic->GetPlayTime(); bgMusic->Stop(); choice = WindowExitPrompt(LANGUAGE.ExitUSBISOLoader,0, LANGUAGE.BacktoLoader,LANGUAGE.WiiMenu,LANGUAGE.Back,0); - bgMusic->SetLoop(1); - bgMusic->Play(); + if(!strcmp("", CFG.oggload_path) || !strcmp("notset", CFG.ogg_path)) { + bgMusic->Play(); + } else { + bgMusic->PlayOggFile(CFG.ogg_path); + } + bgMusic->SetPlayTime(thetimeofbg); + SetVolumeOgg(255*(vol/100.0)); + if(choice == 3) { SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0); // Back to System Menu @@ -3985,11 +3999,11 @@ static int MenuSettings() sprintf(options2.name[1], "%s",LANGUAGE.AppLanguage); sprintf(options2.name[2], "%s",LANGUAGE.keyboard); sprintf(options2.name[3], "%s",LANGUAGE.Unicodefix); - sprintf(options2.name[4], "%s",LANGUAGE.MP3Menu); - sprintf(options2.name[5], "Under"); - sprintf(options2.name[6], "Construction"); + sprintf(options2.name[4], "%s",LANGUAGE.Backgroundmusic); + sprintf(options2.name[5], " "); + sprintf(options2.name[6], " "); sprintf(options2.name[7], " "); - sprintf(options2.name[8], " "); + sprintf(options2.name[8], "%s",LANGUAGE.MP3Menu); @@ -4399,12 +4413,12 @@ static int MenuSettings() if (strlen(CFG.language_path) < (9 + 3)) { sprintf(cfgtext, "%s", CFG.language_path); - } else { + } else { strncpy(cfgtext, CFG.language_path, 9); cfgtext[9] = '\0'; strncat(cfgtext, "...", 3); - } - sprintf(options2.value[1], "%s", cfgtext); + } + sprintf(options2.value[1], "%s", cfgtext); if (Settings.keyset == us) sprintf (options2.value[2],"QWERTY"); @@ -4415,11 +4429,23 @@ static int MenuSettings() else if (Settings.unicodefix == 1) sprintf (options2.value[3],"%s",LANGUAGE.TChinese); else if (Settings.unicodefix == 2) sprintf (options2.value[3],"%s",LANGUAGE.SChinese); - sprintf(options2.value[4], " "); + if(!strcmp("notset", CFG.ogg_path) || !strcmp("",CFG.oggload_path)) { + sprintf(options2.value[4], "%s", LANGUAGE.Standard); + } else { + if (strlen(CFG.ogg_path) < (9 + 3)) { + sprintf(cfgtext, "%s", CFG.ogg_path); + } else { + strncpy(cfgtext, CFG.ogg_path, 9); + cfgtext[9] = '\0'; + strncat(cfgtext, "...", 3); + } + sprintf(options2.value[4], "%s", cfgtext); + } + sprintf(options2.value[5], " "); sprintf(options2.value[6], " "); sprintf(options2.value[7], " "); - sprintf(options2.value[8], " "); + sprintf(options2.value[8], "not working!"); ret = optionBrowser2.GetClickedOption(); @@ -4511,6 +4537,10 @@ static int MenuSettings() Settings.unicodefix++; break; case 4: + menu = MENU_OGG; + pageToDisplay = 0; + break; + case 8: menu = MENU_MP3; pageToDisplay = 0; break; @@ -4551,8 +4581,6 @@ static int MenuSettings() pageToDisplay = 3; menu = MENU_NONE; page3Btn.ResetState(); - //page1Btn.SetImage(&page1dImg); - //page2Btn.SetImage(&page2Img); tabBtn.SetImage(&tab3Img); break; } @@ -5024,7 +5052,329 @@ static int MenuCheck() return menu; } +/**************************************************************************** + * MenuOGG + ***************************************************************************/ +int MenuOGG() +{ + int menu = MENU_NONE, cnt = 0; + int ret = 0, choice = 0; + int scrollon, nothingchanged = 0; + GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM, vol); + GuiSound btnClick(button_click2_pcm, button_click2_pcm_size, SOUND_PCM, vol); + + char imgPath[100]; + + snprintf(imgPath, sizeof(imgPath), "%sbutton_dialogue_box.png", CFG.theme_path); + GuiImageData btnOutline(imgPath, button_dialogue_box_png); + snprintf(imgPath, sizeof(imgPath), "%ssettings_background.png", CFG.theme_path); + GuiImageData settingsbg(imgPath, settings_background_png); + + GuiTrigger trigA; + trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); + GuiTrigger trigB; + trigB.SetButtonOnlyTrigger(-1, WPAD_BUTTON_B | WPAD_CLASSIC_BUTTON_B, PAD_BUTTON_B); + GuiTrigger trigMinus; + trigMinus.SetButtonOnlyTrigger(-1, WPAD_BUTTON_MINUS | WPAD_CLASSIC_BUTTON_MINUS, 0); + GuiTrigger trigPlus; + trigPlus.SetButtonOnlyTrigger(-1, WPAD_BUTTON_PLUS | WPAD_CLASSIC_BUTTON_PLUS, 0); + + char fullpath[150]; + char shortpath[35]; + int countmp3 = GetFiles(CFG.oggload_path); + + if(!strcmp("", CFG.oggload_path)) { + sprintf(shortpath, "%s", LANGUAGE.Standard); + } else if (strlen(CFG.oggload_path) < (27 + 3)) { + sprintf(shortpath, "%s", CFG.oggload_path); + } + else { + strncpy(shortpath, CFG.oggload_path, 27); + shortpath[27] = '\0'; + strncat(shortpath, "...", 3); + } + + GuiText titleTxt(shortpath, 24, (GXColor){0, 0, 0, 255}); + titleTxt.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE); + titleTxt.SetPosition(0,0); + GuiButton pathBtn(300, 50); + pathBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + pathBtn.SetPosition(0,28); + pathBtn.SetLabel(&titleTxt); + pathBtn.SetSoundOver(&btnSoundOver); + pathBtn.SetSoundClick(&btnClick); + pathBtn.SetTrigger(&trigA); + pathBtn.SetEffectGrow(); + + GuiImage oggmenubackground(&settingsbg); + oggmenubackground.SetAlignment(ALIGN_LEFT, ALIGN_TOP); + oggmenubackground.SetPosition(0, 0); + + GuiText backBtnTxt(LANGUAGE.Back , 22, (GXColor){THEME.prompttxt_r, THEME.prompttxt_g, THEME.prompttxt_b, 255}); //{0, 0, 0, 255}); + backBtnTxt.SetMaxWidth(btnOutline.GetWidth()-30); + GuiImage backBtnImg(&btnOutline); + if (Settings.wsprompt == yes){ + backBtnImg.SetWidescreen(CFG.widescreen);}////// + GuiButton backBtn(btnOutline.GetWidth(), btnOutline.GetHeight()); + backBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + backBtn.SetPosition(-180, 400); + backBtn.SetLabel(&backBtnTxt); + backBtn.SetImage(&backBtnImg); + backBtn.SetSoundOver(&btnSoundOver); + backBtn.SetSoundClick(&btnClick); + backBtn.SetTrigger(&trigA); + backBtn.SetTrigger(&trigB); + backBtn.SetEffectGrow(); + + customOptionList options2(300); + + for (cnt = 0; cnt < countmp3; cnt++) { + snprintf(options2.value[cnt], 30, "%s", mp3files[cnt]); + sprintf (options2.name[cnt],"%i.", cnt+1); + } + options2.length = cnt; + + if(cnt < 9) { + scrollon = 0; + } else { + scrollon = 1; + } + + GuiCustomOptionBrowser optionBrowser4(396, 280, &options2, CFG.theme_path, "bg_options_settings.png", bg_options_settings_png, scrollon, 85); + optionBrowser4.SetPosition(0, 90); + optionBrowser4.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + optionBrowser4.SetCol2Position(45); + + int songPlaying=0; + + snprintf(imgPath, sizeof(imgPath), "%sarrow_next.png", CFG.theme_path); + GuiImageData next(imgPath, arrow_next_png); + snprintf(imgPath, sizeof(imgPath), "%sarrow_previous.png", CFG.theme_path); + GuiImageData prev(imgPath, arrow_previous_png); + snprintf(imgPath, sizeof(imgPath), "%smp3_stop.png", CFG.theme_path); + GuiImageData stop(imgPath, mp3_stop_png); + snprintf(imgPath, sizeof(imgPath), "%smp3_pause.png", CFG.theme_path); + GuiImageData pause(imgPath, mp3_pause_png); + snprintf(imgPath, sizeof(imgPath), "%sstartgame_arrow_right.png", CFG.theme_path); + GuiImageData play(imgPath, startgame_arrow_right_png); + + GuiImage nextBtnImg(&next); + GuiButton nextBtn(next.GetWidth(), next.GetHeight()); + nextBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + nextBtn.SetPosition(130, 400); + nextBtn.SetImage(&nextBtnImg); + nextBtn.SetSoundOver(&btnSoundOver); + nextBtn.SetSoundClick(&btnClick); + nextBtn.SetTrigger(&trigA); + nextBtn.SetEffectGrow(); + + GuiImage prevBtnImg(&prev); + prevBtnImg.SetWidescreen(CFG.widescreen); + GuiButton prevBtn(prev.GetWidth(), prev.GetHeight()); + prevBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + prevBtn.SetPosition(-60, 400); + prevBtn.SetImage(&prevBtnImg); + prevBtn.SetSoundOver(&btnSoundOver); + prevBtn.SetSoundClick(&btnClick); + prevBtn.SetTrigger(&trigA); + prevBtn.SetEffectGrow(); + + GuiImage playBtnImg(&play); + playBtnImg.SetWidescreen(CFG.widescreen); + GuiButton playBtn(play.GetWidth(), play.GetHeight()); + playBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + playBtn.SetPosition(72, 400); + playBtn.SetImage(&playBtnImg); + playBtn.SetSoundOver(&btnSoundOver); + playBtn.SetSoundClick(&btnClick); + playBtn.SetTrigger(&trigA); + playBtn.SetTrigger(&trigPlus); + playBtn.SetEffectGrow(); + + GuiImage stopBtnImg(&stop); + stopBtnImg.SetWidescreen(CFG.widescreen); + GuiButton stopBtn(stop.GetWidth(), stop.GetHeight()); + stopBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + stopBtn.SetPosition(17, 400); + stopBtn.SetImage(&stopBtnImg); + stopBtn.SetSoundOver(&btnSoundOver); + stopBtn.SetSoundClick(&btnClick); + stopBtn.SetTrigger(&trigA); + stopBtn.SetTrigger(&trigMinus); + stopBtn.SetEffectGrow(); + + HaltGui(); + GuiWindow w(screenwidth, screenheight); + w.Append(&oggmenubackground); + w.Append(&pathBtn); + w.Append(&backBtn); + w.Append(&playBtn); + w.Append(&nextBtn); + w.Append(&prevBtn); + w.Append(&stopBtn); + mainWindow->Append(&w); + mainWindow->Append(&optionBrowser4); + + ResumeGui(); + + while(menu == MENU_NONE) + { + + if (backBtn.GetState() == STATE_CLICKED) { + if(nothingchanged == 1 && countmp3 > 0) { + if(!strcmp("", CFG.oggload_path) || !strcmp("notset", CFG.ogg_path)) { + bgMusic->Play(); + } else { + bgMusic->PlayOggFile(CFG.ogg_path); + } + } + menu = MENU_SETTINGS; + break; + } + + if (pathBtn.GetState() == STATE_CLICKED) { + mainWindow->Remove(&optionBrowser4); + w.Remove(&backBtn); + w.Remove(&pathBtn); + w.Remove(&playBtn); + w.Remove(&nextBtn); + w.Remove(&prevBtn); + w.Remove(&stopBtn); + char entered[43] = ""; + strncpy(entered, CFG.oggload_path, sizeof(entered)); + int result = OnScreenKeyboard(entered,43,0); + mainWindow->Append(&optionBrowser4); + w.Append(&pathBtn); + w.Append(&backBtn); + w.Append(&playBtn); + w.Append(&nextBtn); + w.Append(&prevBtn); + w.Append(&stopBtn); + if ( result == 1 ) { + strncpy(CFG.oggload_path, entered, sizeof(CFG.oggload_path)); + WindowPrompt(LANGUAGE.Backgroundmusicpath,0,LANGUAGE.ok,0,0,0); + if(isSdInserted() == 1) { + cfg_save_global(); + if(!strcmp("", CFG.oggload_path)) { + bgMusic->Play(); + } + menu = MENU_OGG; + break; + } else { + WindowPrompt(LANGUAGE.NoSDcardinserted, LANGUAGE.InsertaSDCardtosave, LANGUAGE.ok, 0,0,0); + } + } + if(countmp3 > 0) { + optionBrowser4.SetFocus(1); + } + pathBtn.ResetState(); + } + + ret = optionBrowser4.GetClickedOption(); + + if(ret>=0) { + choice = WindowPrompt(LANGUAGE.Setasbackgroundmusic,mp3files[ret],LANGUAGE.Yes,LANGUAGE.No,0,0); + if(choice == 1) { + snprintf(fullpath,150,"%s%s",CFG.oggload_path,mp3files[ret]); + choice = bgMusic->PlayOggFile(fullpath); + if(choice < 0) { + WindowPrompt(LANGUAGE.Notasupportedformat, LANGUAGE.Loadingstandardmusic, LANGUAGE.ok, 0,0,0); + sprintf(CFG.ogg_path, "notset"); + bgMusic->Play(); + } else { + snprintf(CFG.ogg_path, sizeof(CFG.ogg_path), "%s", fullpath); + cfg_save_global(); + SetVolumeOgg(255*(vol/100.0)); + nothingchanged = 0; + } + } + optionBrowser4.SetFocus(1); + } + + if (playBtn.GetState() == STATE_CLICKED && countmp3 > 0) { + if(countmp3 > 0) { + ret = optionBrowser4.GetSelectedOption(); + songPlaying=ret; + snprintf(fullpath, 150,"%s%s", CFG.oggload_path,mp3files[ret]); + choice = bgMusic->PlayOggFile(fullpath); + if(choice < 0) { + WindowPrompt(LANGUAGE.Notasupportedformat, LANGUAGE.Loadingstandardmusic, LANGUAGE.ok, 0,0,0); + if(!strcmp("", CFG.oggload_path) || !strcmp("notset", CFG.ogg_path)) { + bgMusic->Play(); + } else { + bgMusic->PlayOggFile(CFG.ogg_path); + } + } + SetVolumeOgg(255*(vol/100.0)); + songPlaying=ret; + nothingchanged = 1; + optionBrowser4.SetFocus(1); + } + playBtn.ResetState(); + } + + if(nextBtn.GetState() == STATE_CLICKED){ + if(countmp3 > 0) { + songPlaying++; + if (songPlaying>(countmp3 - 1)){songPlaying=0;} + snprintf(fullpath,150,"%s%s", CFG.oggload_path,mp3files[songPlaying]); + choice = bgMusic->PlayOggFile(fullpath); + if(choice < 0) { + WindowPrompt(LANGUAGE.Notasupportedformat, LANGUAGE.Loadingstandardmusic, LANGUAGE.ok, 0,0,0); + if(!strcmp("", CFG.oggload_path) || !strcmp("notset", CFG.ogg_path)) { + bgMusic->Play(); + } else { + bgMusic->PlayOggFile(CFG.ogg_path); + } + } + nothingchanged = 1; + optionBrowser4.SetFocus(1); + } + SetVolumeOgg(255*(vol/100.0)); + nextBtn.ResetState(); + } + if(prevBtn.GetState() == STATE_CLICKED) { + if(countmp3 > 0) { + songPlaying--; + if (songPlaying<0){songPlaying=(countmp3 - 1);} + snprintf(fullpath,150,"%s%s", CFG.oggload_path,mp3files[songPlaying]); + choice = bgMusic->PlayOggFile(fullpath); + if(choice < 0) { + WindowPrompt(LANGUAGE.Notasupportedformat, LANGUAGE.Loadingstandardmusic, LANGUAGE.ok, 0,0,0); + if(!strcmp("", CFG.oggload_path) || !strcmp("notset", CFG.ogg_path)) { + bgMusic->Play(); + } else { + bgMusic->PlayOggFile(CFG.ogg_path); + } + } + nothingchanged = 1; + optionBrowser4.SetFocus(1); + } + SetVolumeOgg(255*(vol/100.0)); + prevBtn.ResetState(); + } + if(stopBtn.GetState() == STATE_CLICKED) { + if(countmp3 > 0) { + StopOgg(); + nothingchanged = 1; + optionBrowser4.SetFocus(1); + } + stopBtn.ResetState(); + } + } + + HaltGui(); + mainWindow->Remove(&optionBrowser4); + mainWindow->Remove(&w); + ResumeGui(); + + return menu; +} + +/**************************************************************************** + * MenuMp3 + ***************************************************************************/ int MenuMp3() { int menu = MENU_NONE, cnt = 0; @@ -5102,8 +5452,6 @@ int MenuMp3() snprintf(imgPath, sizeof(imgPath), "%sstartgame_arrow_right.png", CFG.theme_path); GuiImageData play(imgPath, startgame_arrow_right_png); - - GuiImage nextBtnImg(&next); GuiButton nextBtn(next.GetWidth(), next.GetHeight()); nextBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); @@ -5241,8 +5589,6 @@ int MenuMp3() mainWindow->Remove(&optionBrowser4); mainWindow->Remove(&w); ResumeGui(); - return menu; - return menu; } @@ -5286,11 +5632,17 @@ int MainMenu(int menu) bgMusic = new GuiSound(bg_music_ogg, bg_music_ogg_size, SOUND_OGG, vol); bgMusic->SetVolume(vol); bgMusic->SetLoop(1); //loop music - bgMusic->Play(); // startup music + // startup music + if(!strcmp("", CFG.oggload_path) || !strcmp("notset", CFG.ogg_path)) { + bgMusic->Play(); + } else { + bgMusic->PlayOggFile(CFG.ogg_path); + } while(currentMenu != MENU_EXIT) { - bgMusic->SetVolume(vol); + SetVolumeOgg(255*(vol/100.0)); + switch (currentMenu) { case MENU_CHECK: @@ -5311,6 +5663,9 @@ int MainMenu(int menu) case MENU_MP3: currentMenu = MenuMp3(); break; + case MENU_OGG: + currentMenu = MenuOGG(); + break; default: // unrecognized menu currentMenu = MenuCheck(); break; diff --git a/source/menu.h b/source/menu.h index e8b280fc..f25b9692 100644 --- a/source/menu.h +++ b/source/menu.h @@ -25,6 +25,7 @@ enum MENU_INSTALL, MENU_CHECK, MENU_GAME_SETTINGS, + MENU_OGG, MENU_MP3 }; diff --git a/source/mp3s.c b/source/mp3s.c index 7c71fd67..6a879835 100644 --- a/source/mp3s.c +++ b/source/mp3s.c @@ -134,7 +134,7 @@ if (dir == NULL) //If empty } } - qsort(mp3files, countmp3, sizeof(char[80]), filenamescmp); + qsort(mp3files, countmp3, sizeof(char[70]), filenamescmp); return countmp3; } diff --git a/source/mp3s.h b/source/mp3s.h index f0abdd00..a5a06aeb 100644 --- a/source/mp3s.h +++ b/source/mp3s.h @@ -6,7 +6,7 @@ extern "C" { #endif -char mp3files[500][80]; +char mp3files[300][70]; void StopMp3(); void SetMp3Volume(u32 vol); diff --git a/source/oggplayer.c b/source/oggplayer.c index 6e562e17..01221987 100644 --- a/source/oggplayer.c +++ b/source/oggplayer.c @@ -25,7 +25,10 @@ */ #include "oggplayer.h" +#include "mp3s.h" #include +#include +#include /* OGG control */ @@ -287,6 +290,43 @@ int PlayOgg(int fd, int time_pos, int mode) return 0; } + +int PlayOggFromFile(char * path, int loop) { + + u32 filesize = 0; + char * bufferogg = NULL; + size_t resultogg; + + FILE * pFile; + pFile = fopen (path, "rb"); + + //Check that pFile exist + if (pFile==NULL){ + return -1; + } + + // get file size: + fseek (pFile , 0 , SEEK_END); + filesize = ftell (pFile); + rewind (pFile); + + // allocate memory to contain the whole file: + bufferogg = (char*) malloc (sizeof(char)*filesize); + if (bufferogg == NULL) {fputs (" Memory error",stderr); exit (2);} + + // copy the file into the buffer: + resultogg = fread (bufferogg,1,filesize,pFile); + if (resultogg != filesize) {fputs (" Reading error",stderr); exit (3);} + + fclose (pFile); + + if (loop) + return PlayOgg(mem_open((char *)bufferogg, filesize), 0, OGG_INFINITE_TIME); + else + return PlayOgg(mem_open((char *)bufferogg, filesize), 0, OGG_ONE_TIME); +} + + void PauseOgg(int pause) { if (pause) @@ -325,6 +365,7 @@ int StatusOgg() void SetVolumeOgg(int volume) { private_ogg.volume = volume; + SND_Pause(0); SND_ChangeVolumeVoice(0, volume, volume); } diff --git a/source/oggplayer.h b/source/oggplayer.h index 5c4610d1..7478263f 100644 --- a/source/oggplayer.h +++ b/source/oggplayer.h @@ -68,6 +68,12 @@ extern "C" int PlayOgg(int fd, int time_pos, int mode); +/*------------------------------------------------------------------------------------------------------------------------------------------------------*/ +/* int PlayOgg(char * path, int loop); + Just give the function the full device+path to OGG to play it + loop = 1 for Loop and 0 for one time playing +*/ +int PlayOggFromFile(char * path, int loop); /*------------------------------------------------------------------------------------------------------------------------------------------------------*/ /* void StopOgg();