mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-27 13:44:15 +01:00
-SYNC with the 4.2 final release with the best rev number possibe
-changed revision to Beta 4.2.1 (this rev is still 4.2 final but last time I forgot to rename the revision so) -fixed text view sometimes not working properly -fixed source menu didnt set the plugin partitions right -added deletion of channels on emu nand -added support for ftp clients request full path directory creations -updated english.ini
This commit is contained in:
parent
d2d56b201e
commit
885be72218
@ -1,5 +1,5 @@
|
||||
#define APP_NAME "WiiFlow"
|
||||
#define APP_VERSION "Beta 4.1.4"
|
||||
#define APP_VERSION "Beta 4.2.1"
|
||||
|
||||
#define APPDATA_DIR "wiiflow"
|
||||
#define APPDATA_DIR2 "apps/wiiflow"
|
||||
|
@ -118,6 +118,8 @@ void CMenu::_textAbout(void)
|
||||
char *txt_mem = (char*)fsop_ReadFile(m_txt_path, &txt_size);
|
||||
if(txt_mem != NULL)
|
||||
{
|
||||
if(*(txt_mem+txt_size) != '\0')
|
||||
*(txt_mem+txt_size) = '\0';
|
||||
txt_file_content.fromUTF8(txt_mem);
|
||||
m_btnMgr.setText(m_aboutLblInfo, txt_file_content);
|
||||
free(txt_mem);
|
||||
@ -129,22 +131,19 @@ void CMenu::_textAbout(void)
|
||||
{
|
||||
m_btnMgr.setText(m_aboutLblTitle, _t("about10", L"Help Guide"));
|
||||
wstringEx help_text;
|
||||
FILE *f = fopen(fmt("%s/%s.txt", m_helpDir.c_str(), lowerCase(m_curLanguage).c_str()), "r");
|
||||
if(f)
|
||||
u32 txt_size = 0;
|
||||
char *txt_mem = (char*)fsop_ReadFile(fmt("%s/%s.txt", m_helpDir.c_str(), lowerCase(m_curLanguage).c_str()), &txt_size);
|
||||
if(txt_mem != NULL)
|
||||
{
|
||||
fseek(f, 0, SEEK_END);
|
||||
u32 fsize = ftell(f);
|
||||
char *help = (char*)MEM2_alloc(fsize+1); //+1 for null character
|
||||
fseek(f, 0, SEEK_SET);
|
||||
fread(help, 1, fsize, f);
|
||||
help[fsize] = '\0';
|
||||
help_text.fromUTF8(help);
|
||||
MEM2_free(help);
|
||||
fclose(f);
|
||||
if(*(txt_mem+txt_size) != '\0')
|
||||
*(txt_mem+txt_size) = '\0';
|
||||
help_text.fromUTF8(txt_mem);
|
||||
m_btnMgr.setText(m_aboutLblInfo, help_text);
|
||||
free(txt_mem);
|
||||
}
|
||||
else
|
||||
m_btnMgr.setText(m_aboutLblInfo, ENGLISH_TXT_W);
|
||||
txt_mem = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -679,7 +679,8 @@ void CMenu::_game(bool launch)
|
||||
m_btnMgr.hide(b ? m_gameBtnAdultOff : m_gameBtnAdultOn);
|
||||
m_btnMgr.show(m_gameBtnSettings);
|
||||
}
|
||||
if ((CoverFlow.getHdr()->type != TYPE_HOMEBREW && CoverFlow.getHdr()->type != TYPE_CHANNEL) && !m_locked)
|
||||
if((CoverFlow.getHdr()->type != TYPE_HOMEBREW && (CoverFlow.getHdr()->type != TYPE_CHANNEL ||
|
||||
(!m_cfg.getBool(CHANNEL_DOMAIN, "disable", true) && CoverFlow.getHdr()->type == TYPE_CHANNEL))) && !m_locked)
|
||||
m_btnMgr.show(m_gameBtnDelete);
|
||||
}
|
||||
else
|
||||
|
@ -335,7 +335,8 @@ bool CMenu::_Source()
|
||||
}
|
||||
if(m_btnMgr.selected(m_sourceBtnDML))
|
||||
{
|
||||
if(!m_show_dml && !m_devo_installed) _showSourceNotice();
|
||||
if(!m_show_dml && !m_devo_installed)
|
||||
_showSourceNotice();
|
||||
else
|
||||
{
|
||||
_clearSources();
|
||||
@ -345,7 +346,8 @@ bool CMenu::_Source()
|
||||
}
|
||||
if(m_btnMgr.selected(m_sourceBtnChannel))
|
||||
{
|
||||
if(!show_channel) _showSourceNotice();
|
||||
if(!show_channel)
|
||||
_showSourceNotice();
|
||||
else
|
||||
{
|
||||
_clearSources();
|
||||
@ -355,7 +357,8 @@ bool CMenu::_Source()
|
||||
}
|
||||
if(m_btnMgr.selected(m_sourceBtnHomebrew))
|
||||
{
|
||||
if(!show_homebrew || (!parental_homebrew && m_locked)) _showSourceNotice();
|
||||
if(!show_homebrew || (!parental_homebrew && m_locked))
|
||||
_showSourceNotice();
|
||||
else
|
||||
{
|
||||
_clearSources();
|
||||
@ -365,7 +368,8 @@ bool CMenu::_Source()
|
||||
}
|
||||
if(m_btnMgr.selected(m_sourceBtnEmu))
|
||||
{
|
||||
if(!show_emu) _showSourceNotice();
|
||||
if(!show_emu)
|
||||
_showSourceNotice();
|
||||
else
|
||||
{
|
||||
_clearSources();
|
||||
@ -458,7 +462,8 @@ bool CMenu::_Source()
|
||||
{
|
||||
magicNums.clear();
|
||||
magicNums = m_source.getStrings(btn_selected, "magic", ',');
|
||||
if(!magicNums.empty())
|
||||
u32 plugin_magic_nums = magicNums.size();
|
||||
if(plugin_magic_nums != 0)
|
||||
{
|
||||
m_cfg.setBool(PLUGIN_DOMAIN, "source", true);
|
||||
for(k = 0; k < numPlugins; ++k)
|
||||
@ -467,7 +472,14 @@ bool CMenu::_Source()
|
||||
{
|
||||
s8 exist = m_plugin.GetPluginPosition(strtoul(itr->c_str(), NULL, 16));
|
||||
if(exist >= 0)
|
||||
{
|
||||
m_plugin.SetEnablePlugin(m_cfg, exist, 2);
|
||||
if(plugin_magic_nums == 1)
|
||||
{
|
||||
currentPartition = m_cfg.getInt("PLUGINS/PARTITION", itr->c_str(), 1);
|
||||
m_cfg.setInt(PLUGIN_DOMAIN, "partition", currentPartition);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
m_catStartPage = m_source.getInt(btn_selected, "cat_page", 1);
|
||||
|
@ -268,6 +268,7 @@ bool CMenu::_wbfsOp(CMenu::WBFS_OP op)
|
||||
bool upd_usb = false;
|
||||
bool upd_dml = false;
|
||||
bool upd_emu = false;
|
||||
bool upd_chan = false;
|
||||
bool out = false;
|
||||
const dir_discHdr *CF_Hdr = CoverFlow.getHdr();
|
||||
char cfPos[7];
|
||||
@ -414,6 +415,26 @@ bool CMenu::_wbfsOp(CMenu::WBFS_OP op)
|
||||
WBFS_Close();
|
||||
upd_usb = true;
|
||||
}
|
||||
else if(CF_Hdr->type == TYPE_CHANNEL && !m_cfg.getBool(CHANNEL_DOMAIN, "disable", true))
|
||||
{
|
||||
if(CF_Hdr->settings[0] != 0x00010001)
|
||||
{
|
||||
error(_t("wbfsoperr5", L"Deleting this Channel is not allowed!"));
|
||||
done = true;
|
||||
out = true;
|
||||
break;
|
||||
}
|
||||
const char *nand_base = NandHandle.GetPath();
|
||||
fsop_deleteFolder(fmt("%s/title/%08x/%08x", nand_base, CF_Hdr->settings[0], CF_Hdr->settings[1]));
|
||||
fsop_deleteFile(fmt("%s/ticket/%08x/%08x.tik", nand_base, CF_Hdr->settings[0], CF_Hdr->settings[1]));
|
||||
upd_chan = true;
|
||||
}
|
||||
else /*who knows how but just block it*/
|
||||
{
|
||||
done = true;
|
||||
out = true;
|
||||
break;
|
||||
}
|
||||
if(m_cfg.getBool("GENERAL", "delete_cover_and_game", false))
|
||||
RemoveCover(CF_Hdr->id);
|
||||
m_btnMgr.show(m_wbfsPBar);
|
||||
@ -493,6 +514,8 @@ bool CMenu::_wbfsOp(CMenu::WBFS_OP op)
|
||||
UpdateCache(COVERFLOW_USB);
|
||||
if(upd_emu)
|
||||
UpdateCache(COVERFLOW_PLUGIN);
|
||||
if(upd_chan)
|
||||
UpdateCache(COVERFLOW_CHANNEL);
|
||||
_loadList();
|
||||
_initCF();
|
||||
CoverFlow.findId(cfPos, true);
|
||||
|
@ -174,6 +174,16 @@ int ftp_changedir(char *path)
|
||||
int ftp_makedir(char *path)
|
||||
{
|
||||
int ret = -1;
|
||||
if(strchr(path, '/') != NULL)
|
||||
{
|
||||
char *real_path = strrchr(path, '/') + 1;
|
||||
if(real_path != '\0')
|
||||
{
|
||||
*strrchr(path, '/') = '\0';
|
||||
ftp_changedir(path);
|
||||
path = real_path;
|
||||
}
|
||||
}
|
||||
if(main_path[1] != '\0')
|
||||
{
|
||||
char *new_dir = fmt("%s%s", real_path, path);
|
||||
|
@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<app version="4.1">
|
||||
<app version="4.2">
|
||||
<name> WiiFlow</name>
|
||||
<coder>OverjoY, FIX94</coder>
|
||||
<version>4.1</version>
|
||||
<release_date>TBD</release_date>
|
||||
<version>4.2</version>
|
||||
<release_date>20130908000000</release_date>
|
||||
<short_description>USB Loader / Nand Emulator</short_description>
|
||||
<long_description>
|
||||
WiiFlow is a Wii Game, Channel, Wiiware, Virtual Console, and Savegame Emulator intended for use with legal backups.
|
||||
|
@ -389,6 +389,7 @@ wbfsoperr1=Disc_Wait failed
|
||||
wbfsoperr2=Disc_Open failed
|
||||
wbfsoperr3=This is not a Wii disc!
|
||||
wbfsoperr4=Game already installed
|
||||
wbfsoperr5=Deleting this Channel is not allowed!
|
||||
wbfsprogress=%i%%
|
||||
wbfsremdlg=To permanently remove the game : %s, click on Go.
|
||||
wifiplayers= Wifi Players
|
||||
|
Loading…
Reference in New Issue
Block a user