From 66b367c6a61a2dd7329c63b92332dbbad25af24c Mon Sep 17 00:00:00 2001 From: dimok321 <15055714+dimok789@users.noreply.github.com> Date: Sun, 13 Dec 2009 09:26:34 +0000 Subject: [PATCH] *Little correction --- HBC/META.XML | 4 +- source/ZipFile.cpp | 280 +++++++++++++++--------------- source/prompts/ProgressWindow.cpp | 2 +- source/themes/Theme_List.cpp | 8 +- 4 files changed, 147 insertions(+), 147 deletions(-) diff --git a/HBC/META.XML b/HBC/META.XML index 9299d429..8dfa6fc6 100644 --- a/HBC/META.XML +++ b/HBC/META.XML @@ -2,8 +2,8 @@ USB Loader GX USB Loader GX Team - 1.0 r860 - 200912121501 + 1.0 r861 + 200912130902 Loads games from USB-devices 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. diff --git a/source/ZipFile.cpp b/source/ZipFile.cpp index 7255dee6..d1e27709 100644 --- a/source/ZipFile.cpp +++ b/source/ZipFile.cpp @@ -1,140 +1,140 @@ -/**************************************************************************** - * Copyright (C) 2009 - * by Dimok - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any - * damages arising from the use of this software. - * - * Permission is granted to anyone to use this software for any - * purpose, including commercial applications, and to alter it and - * redistribute it freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you - * must not claim that you wrote the original software. If you use - * this software in a product, an acknowledgment in the product - * documentation would be appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and - * must not be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - * - * ZipFile.cpp - * - * ZipFile Class - * for Wii-FileXplorer 2009 - * - * STILL UNCOMPLETE AND UNDER CONSTRUCTION - ***************************************************************************/ -#include -#include -#include -#include -#include - -#include "prompts/ProgressWindow.h" -#include "listfiles.h" -#include "ZipFile.h" -#include "language/gettext.h" - -ZipFile::ZipFile(const char *filepath) -{ - File = unzOpen(filepath); - if(File) - this->LoadList(); -} - -ZipFile::~ZipFile() -{ - unzClose(File); -} - -bool ZipFile::LoadList() -{ - return true; -} - -bool ZipFile::ExtractAll(const char *dest) -{ - if(!File) - return false; - - bool Stop = false; - - u32 blocksize = 1024*50; - void *buffer = malloc(blocksize); - - if(!buffer) - return false; - - char writepath[MAXPATHLEN]; - char filename[MAXPATHLEN]; - memset(filename, 0, sizeof(filename)); - - int ret = unzGoToFirstFile(File); - if(ret != UNZ_OK) - Stop = true; - - while(!Stop) - { - if(unzGetCurrentFileInfo(File, &cur_file_info, filename, sizeof(filename), NULL, NULL, NULL, NULL) != UNZ_OK) - Stop = true; - - if(!Stop && filename[strlen(filename)-1] != '/') - { - u32 uncompressed_size = cur_file_info.uncompressed_size; - - u32 done = 0; - char *pointer = NULL; - - ret = unzOpenCurrentFile(File); - - snprintf(writepath, sizeof(writepath), "%s/%s", dest, filename); - - pointer = strrchr(writepath, '/'); - int position = pointer-writepath+2; - - char temppath[strlen(writepath)]; - snprintf(temppath, position, "%s", writepath); - - subfoldercreate(temppath); - - if(ret == UNZ_OK) - { - FILE *pfile = fopen(writepath, "wb"); - - do - { - ShowProgress(tr("Extracting files..."), 0, pointer+1, done, uncompressed_size); - - if(uncompressed_size - done < blocksize) - blocksize = uncompressed_size - done; - - ret = unzReadCurrentFile(File, buffer, blocksize); - - if(ret == 0) - break; - - fwrite(buffer, 1, blocksize, pfile); - - done += ret; - - } while(done < uncompressed_size); - - fclose(pfile); - unzCloseCurrentFile(File); - } - } - if(unzGoToNextFile(File) != UNZ_OK) - Stop = true; - } - - free(buffer); - buffer = NULL; - - ProgressStop(); - - return true; -} +/**************************************************************************** + * Copyright (C) 2009 + * by Dimok + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any + * damages arising from the use of this software. + * + * Permission is granted to anyone to use this software for any + * purpose, including commercial applications, and to alter it and + * redistribute it freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you + * must not claim that you wrote the original software. If you use + * this software in a product, an acknowledgment in the product + * documentation would be appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and + * must not be misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. + * + * ZipFile.cpp + * + * ZipFile Class + * for Wii-FileXplorer 2009 + * + * STILL UNCOMPLETE AND UNDER CONSTRUCTION + ***************************************************************************/ +#include +#include +#include +#include +#include + +#include "prompts/ProgressWindow.h" +#include "listfiles.h" +#include "ZipFile.h" +#include "language/gettext.h" + +ZipFile::ZipFile(const char *filepath) +{ + File = unzOpen(filepath); + if(File) + this->LoadList(); +} + +ZipFile::~ZipFile() +{ + unzClose(File); +} + +bool ZipFile::LoadList() +{ + return true; +} + +bool ZipFile::ExtractAll(const char *dest) +{ + if(!File) + return false; + + bool Stop = false; + + u32 blocksize = 1024*50; + u8 *buffer = new u8[blocksize]; + + if(!buffer) + return false; + + char writepath[MAXPATHLEN]; + char filename[MAXPATHLEN]; + memset(filename, 0, sizeof(filename)); + + int ret = unzGoToFirstFile(File); + if(ret != UNZ_OK) + Stop = true; + + while(!Stop) + { + if(unzGetCurrentFileInfo(File, &cur_file_info, filename, sizeof(filename), NULL, NULL, NULL, NULL) != UNZ_OK) + Stop = true; + + if(!Stop && filename[strlen(filename)-1] != '/') + { + u32 uncompressed_size = cur_file_info.uncompressed_size; + + u32 done = 0; + char *pointer = NULL; + + ret = unzOpenCurrentFile(File); + + snprintf(writepath, sizeof(writepath), "%s/%s", dest, filename); + + pointer = strrchr(writepath, '/'); + int position = pointer-writepath+2; + + char temppath[strlen(writepath)]; + snprintf(temppath, position, "%s", writepath); + + subfoldercreate(temppath); + + if(ret == UNZ_OK) + { + FILE *pfile = fopen(writepath, "wb"); + + do + { + ShowProgress(tr("Extracting files..."), 0, pointer+1, done, uncompressed_size); + + if(uncompressed_size - done < blocksize) + blocksize = uncompressed_size - done; + + ret = unzReadCurrentFile(File, buffer, blocksize); + + if(ret == 0) + break; + + fwrite(buffer, 1, blocksize, pfile); + + done += ret; + + } while(done < uncompressed_size); + + fclose(pfile); + unzCloseCurrentFile(File); + } + } + if(unzGoToNextFile(File) != UNZ_OK) + Stop = true; + } + + delete [] buffer; + buffer = NULL; + + ProgressStop(); + + return true; +} diff --git a/source/prompts/ProgressWindow.cpp b/source/prompts/ProgressWindow.cpp index 48ae4b26..b1ae11f7 100644 --- a/source/prompts/ProgressWindow.cpp +++ b/source/prompts/ProgressWindow.cpp @@ -253,7 +253,7 @@ static void ProgressWindow(const char *title, const char *msg1, const char *msg2 int tmp; while (showProgress) { - usleep(20000); + VIDEO_WaitVSync(); GameInstallProgress(); diff --git a/source/themes/Theme_List.cpp b/source/themes/Theme_List.cpp index 63340c22..5bf02bf4 100644 --- a/source/themes/Theme_List.cpp +++ b/source/themes/Theme_List.cpp @@ -180,14 +180,14 @@ bool Theme_List::ParseXML(const u8 * xmlfile) } } - nodetree=NULL; - nodedata=NULL; - nodeid=NULL; - nodeindex=NULL; mxmlIndexDelete(nodeindex); free(nodetree); free(nodedata); free(nodeid); + nodetree=NULL; + nodedata=NULL; + nodeid=NULL; + nodeindex=NULL; return true; }