*Little correction

This commit is contained in:
dimok321 2009-12-13 09:26:34 +00:00
parent 063072a6c9
commit 66b367c6a6
4 changed files with 147 additions and 147 deletions

View File

@ -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.

View File

@ -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;
} }

View File

@ -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();

View File

@ -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;
} }