mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-25 12:46:53 +01:00
*Little correction
This commit is contained in:
parent
063072a6c9
commit
66b367c6a6
@ -2,8 +2,8 @@
|
|||||||
<app version="1">
|
<app version="1">
|
||||||
<name> USB Loader GX</name>
|
<name> USB Loader GX</name>
|
||||||
<coder>USB Loader GX Team</coder>
|
<coder>USB Loader GX Team</coder>
|
||||||
<version>1.0 r860</version>
|
<version>1.0 r861</version>
|
||||||
<release_date>200912121501</release_date>
|
<release_date>200912130902</release_date>
|
||||||
<short_description>Loads games from USB-devices</short_description>
|
<short_description>Loads games from USB-devices</short_description>
|
||||||
<long_description>USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times.
|
<long_description>USB Loader GX is a libwiigui based USB iso loader with a wii-like GUI. You can install games to your HDDs and boot them with shorter loading times.
|
||||||
The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller.
|
The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller.
|
||||||
|
@ -1,140 +1,140 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (C) 2009
|
* Copyright (C) 2009
|
||||||
* by Dimok
|
* by Dimok
|
||||||
*
|
*
|
||||||
* This software is provided 'as-is', without any express or implied
|
* This software is provided 'as-is', without any express or implied
|
||||||
* warranty. In no event will the authors be held liable for any
|
* warranty. In no event will the authors be held liable for any
|
||||||
* damages arising from the use of this software.
|
* damages arising from the use of this software.
|
||||||
*
|
*
|
||||||
* Permission is granted to anyone to use this software for any
|
* Permission is granted to anyone to use this software for any
|
||||||
* purpose, including commercial applications, and to alter it and
|
* purpose, including commercial applications, and to alter it and
|
||||||
* redistribute it freely, subject to the following restrictions:
|
* redistribute it freely, subject to the following restrictions:
|
||||||
*
|
*
|
||||||
* 1. The origin of this software must not be misrepresented; you
|
* 1. The origin of this software must not be misrepresented; you
|
||||||
* must not claim that you wrote the original software. If you use
|
* must not claim that you wrote the original software. If you use
|
||||||
* this software in a product, an acknowledgment in the product
|
* this software in a product, an acknowledgment in the product
|
||||||
* documentation would be appreciated but is not required.
|
* documentation would be appreciated but is not required.
|
||||||
*
|
*
|
||||||
* 2. Altered source versions must be plainly marked as such, and
|
* 2. Altered source versions must be plainly marked as such, and
|
||||||
* must not be misrepresented as being the original software.
|
* must not be misrepresented as being the original software.
|
||||||
*
|
*
|
||||||
* 3. This notice may not be removed or altered from any source
|
* 3. This notice may not be removed or altered from any source
|
||||||
* distribution.
|
* distribution.
|
||||||
*
|
*
|
||||||
* ZipFile.cpp
|
* ZipFile.cpp
|
||||||
*
|
*
|
||||||
* ZipFile Class
|
* ZipFile Class
|
||||||
* for Wii-FileXplorer 2009
|
* for Wii-FileXplorer 2009
|
||||||
*
|
*
|
||||||
* STILL UNCOMPLETE AND UNDER CONSTRUCTION
|
* STILL UNCOMPLETE AND UNDER CONSTRUCTION
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
#include <ogcsys.h>
|
#include <ogcsys.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
|
|
||||||
#include "prompts/ProgressWindow.h"
|
#include "prompts/ProgressWindow.h"
|
||||||
#include "listfiles.h"
|
#include "listfiles.h"
|
||||||
#include "ZipFile.h"
|
#include "ZipFile.h"
|
||||||
#include "language/gettext.h"
|
#include "language/gettext.h"
|
||||||
|
|
||||||
ZipFile::ZipFile(const char *filepath)
|
ZipFile::ZipFile(const char *filepath)
|
||||||
{
|
{
|
||||||
File = unzOpen(filepath);
|
File = unzOpen(filepath);
|
||||||
if(File)
|
if(File)
|
||||||
this->LoadList();
|
this->LoadList();
|
||||||
}
|
}
|
||||||
|
|
||||||
ZipFile::~ZipFile()
|
ZipFile::~ZipFile()
|
||||||
{
|
{
|
||||||
unzClose(File);
|
unzClose(File);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ZipFile::LoadList()
|
bool ZipFile::LoadList()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ZipFile::ExtractAll(const char *dest)
|
bool ZipFile::ExtractAll(const char *dest)
|
||||||
{
|
{
|
||||||
if(!File)
|
if(!File)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
bool Stop = false;
|
bool Stop = false;
|
||||||
|
|
||||||
u32 blocksize = 1024*50;
|
u32 blocksize = 1024*50;
|
||||||
void *buffer = malloc(blocksize);
|
u8 *buffer = new u8[blocksize];
|
||||||
|
|
||||||
if(!buffer)
|
if(!buffer)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
char writepath[MAXPATHLEN];
|
char writepath[MAXPATHLEN];
|
||||||
char filename[MAXPATHLEN];
|
char filename[MAXPATHLEN];
|
||||||
memset(filename, 0, sizeof(filename));
|
memset(filename, 0, sizeof(filename));
|
||||||
|
|
||||||
int ret = unzGoToFirstFile(File);
|
int ret = unzGoToFirstFile(File);
|
||||||
if(ret != UNZ_OK)
|
if(ret != UNZ_OK)
|
||||||
Stop = true;
|
Stop = true;
|
||||||
|
|
||||||
while(!Stop)
|
while(!Stop)
|
||||||
{
|
{
|
||||||
if(unzGetCurrentFileInfo(File, &cur_file_info, filename, sizeof(filename), NULL, NULL, NULL, NULL) != UNZ_OK)
|
if(unzGetCurrentFileInfo(File, &cur_file_info, filename, sizeof(filename), NULL, NULL, NULL, NULL) != UNZ_OK)
|
||||||
Stop = true;
|
Stop = true;
|
||||||
|
|
||||||
if(!Stop && filename[strlen(filename)-1] != '/')
|
if(!Stop && filename[strlen(filename)-1] != '/')
|
||||||
{
|
{
|
||||||
u32 uncompressed_size = cur_file_info.uncompressed_size;
|
u32 uncompressed_size = cur_file_info.uncompressed_size;
|
||||||
|
|
||||||
u32 done = 0;
|
u32 done = 0;
|
||||||
char *pointer = NULL;
|
char *pointer = NULL;
|
||||||
|
|
||||||
ret = unzOpenCurrentFile(File);
|
ret = unzOpenCurrentFile(File);
|
||||||
|
|
||||||
snprintf(writepath, sizeof(writepath), "%s/%s", dest, filename);
|
snprintf(writepath, sizeof(writepath), "%s/%s", dest, filename);
|
||||||
|
|
||||||
pointer = strrchr(writepath, '/');
|
pointer = strrchr(writepath, '/');
|
||||||
int position = pointer-writepath+2;
|
int position = pointer-writepath+2;
|
||||||
|
|
||||||
char temppath[strlen(writepath)];
|
char temppath[strlen(writepath)];
|
||||||
snprintf(temppath, position, "%s", writepath);
|
snprintf(temppath, position, "%s", writepath);
|
||||||
|
|
||||||
subfoldercreate(temppath);
|
subfoldercreate(temppath);
|
||||||
|
|
||||||
if(ret == UNZ_OK)
|
if(ret == UNZ_OK)
|
||||||
{
|
{
|
||||||
FILE *pfile = fopen(writepath, "wb");
|
FILE *pfile = fopen(writepath, "wb");
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
ShowProgress(tr("Extracting files..."), 0, pointer+1, done, uncompressed_size);
|
ShowProgress(tr("Extracting files..."), 0, pointer+1, done, uncompressed_size);
|
||||||
|
|
||||||
if(uncompressed_size - done < blocksize)
|
if(uncompressed_size - done < blocksize)
|
||||||
blocksize = uncompressed_size - done;
|
blocksize = uncompressed_size - done;
|
||||||
|
|
||||||
ret = unzReadCurrentFile(File, buffer, blocksize);
|
ret = unzReadCurrentFile(File, buffer, blocksize);
|
||||||
|
|
||||||
if(ret == 0)
|
if(ret == 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
fwrite(buffer, 1, blocksize, pfile);
|
fwrite(buffer, 1, blocksize, pfile);
|
||||||
|
|
||||||
done += ret;
|
done += ret;
|
||||||
|
|
||||||
} while(done < uncompressed_size);
|
} while(done < uncompressed_size);
|
||||||
|
|
||||||
fclose(pfile);
|
fclose(pfile);
|
||||||
unzCloseCurrentFile(File);
|
unzCloseCurrentFile(File);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(unzGoToNextFile(File) != UNZ_OK)
|
if(unzGoToNextFile(File) != UNZ_OK)
|
||||||
Stop = true;
|
Stop = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
free(buffer);
|
delete [] buffer;
|
||||||
buffer = NULL;
|
buffer = NULL;
|
||||||
|
|
||||||
ProgressStop();
|
ProgressStop();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -253,7 +253,7 @@ static void ProgressWindow(const char *title, const char *msg1, const char *msg2
|
|||||||
int tmp;
|
int tmp;
|
||||||
while (showProgress) {
|
while (showProgress) {
|
||||||
|
|
||||||
usleep(20000);
|
VIDEO_WaitVSync();
|
||||||
|
|
||||||
GameInstallProgress();
|
GameInstallProgress();
|
||||||
|
|
||||||
|
@ -180,14 +180,14 @@ bool Theme_List::ParseXML(const u8 * xmlfile)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nodetree=NULL;
|
|
||||||
nodedata=NULL;
|
|
||||||
nodeid=NULL;
|
|
||||||
nodeindex=NULL;
|
|
||||||
mxmlIndexDelete(nodeindex);
|
mxmlIndexDelete(nodeindex);
|
||||||
free(nodetree);
|
free(nodetree);
|
||||||
free(nodedata);
|
free(nodedata);
|
||||||
free(nodeid);
|
free(nodeid);
|
||||||
|
nodetree=NULL;
|
||||||
|
nodedata=NULL;
|
||||||
|
nodeid=NULL;
|
||||||
|
nodeindex=NULL;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user