*Added back license that was removed by mistake

*Fixed bug i added right before commit for Brawl+
*Some compile warnings removed
This commit is contained in:
dimok321 2010-02-27 20:08:47 +00:00
parent eb052a0fe9
commit 52a44ef10f
4 changed files with 57 additions and 59 deletions

View File

@ -2,8 +2,8 @@
<app version="1">
<name> USB Loader GX</name>
<coder>USB Loader GX Team</coder>
<version>1.0 r916</version>
<release_date>201002251225</release_date>
<version>1.0 r919</version>
<release_date>201002271854</release_date>
<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.
The interactive GUI is completely controllable with WiiMote, Classic Controller or GC Controller.

View File

@ -110,14 +110,19 @@ void app_loadgameconfig(char *discid)
//tempgameconfsize = defaultgameconfig_size + 1;
char filepath[200];
snprintf(filepath, "%s/gameconfig.txt", Settings.Cheatcodespath);
snprintf(filepath, sizeof(filepath), "%s/gameconfig.txt", Settings.Cheatcodespath);
fp = fopen(filepath, "rb");
if (!fp)
{
snprintf(filepath, "%s/gameconfig.txt", bootDevice);
snprintf(filepath, sizeof(filepath), "SD:/gameconfig.txt");
fp = fopen(filepath, "rb");
if(!fp)
{
snprintf(filepath, sizeof(filepath), "USB:/gameconfig.txt");
fp = fopen(filepath, "rb");
}
}
if (fp) {

View File

@ -1,3 +1,23 @@
/*
* Copyright (C) 2008 Nuke (wiinuke@gmail.com)
*
* this file is part of GeckoOS for USB Gecko
* http://www.usbgecko.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -41,11 +61,11 @@ extern void vipatch(u32 address, u32 len);
static const u32 multidolpatch1[2] = {
0x3C03FFB4,0x28004F43
};
};
static const u32 healthcheckhook[2] = {
0x41810010,0x881D007D
};
};
static const u32 updatecheckhook[3] = {
0x80650050,0x80850054,0xA0A50058
@ -109,7 +129,7 @@ static const u32 vipatchcode[3] = {
};
const u32 viwiihooks[4] = {
0x7CE33B78,0x38870034,0x38A70038,0x38C7004C
0x7CE33B78,0x38870034,0x38A70038,0x38C7004C
};
const u32 kpadhooks[4] = {
@ -194,12 +214,12 @@ bool dogamehooks(void *addr, u32 len)
{
switch(hooktype)
{
case 0x00:
case 0x00:
hookpatched = true;
break;
case 0x01:
case 0x01:
if(memcmp(addr_start, viwiihooks, sizeof(viwiihooks))==0)
{
patchhook((u32)addr_start, len);
@ -213,7 +233,7 @@ bool dogamehooks(void *addr, u32 len)
break;
case 0x02:
if(memcmp(addr_start, kpadhooks, sizeof(kpadhooks))==0)
{
patchhook((u32)addr_start, len);
@ -231,9 +251,9 @@ bool dogamehooks(void *addr, u32 len)
hookpatched = true;
}
break;
case 0x03:
if(memcmp(addr_start, joypadhooks, sizeof(joypadhooks))==0)
{
patchhook((u32)addr_start, len);
@ -245,9 +265,9 @@ bool dogamehooks(void *addr, u32 len)
hookpatched = true;
}
break;
case 0x04:
if(memcmp(addr_start, gxdrawhooks, sizeof(gxdrawhooks))==0)
{
patchhook((u32)addr_start, len);
@ -259,9 +279,9 @@ bool dogamehooks(void *addr, u32 len)
hookpatched = true;
}
break;
case 0x05:
if(memcmp(addr_start, gxflushhooks, sizeof(gxflushhooks))==0)
{
patchhook((u32)addr_start, len);
@ -273,9 +293,9 @@ bool dogamehooks(void *addr, u32 len)
hookpatched = true;
}
break;
case 0x06:
if(memcmp(addr_start, ossleepthreadhooks, sizeof(ossleepthreadhooks))==0)
{
patchhook((u32)addr_start, len);
@ -287,9 +307,9 @@ bool dogamehooks(void *addr, u32 len)
hookpatched = true;
}
break;
case 0x07:
if(memcmp(addr_start, axnextframehooks, sizeof(axnextframehooks))==0)
{
patchhook((u32)addr_start, len);
@ -301,9 +321,9 @@ bool dogamehooks(void *addr, u32 len)
hookpatched = true;
}
break;
case 0x08:
//if(memcmp(addr_start, customhook, customhooksize)==0)
//{
// patchhook((u32)addr_start, len);
@ -325,7 +345,7 @@ bool dogamehooks(void *addr, u32 len)
/*
void patchdol(void *addr, u32 len)
{
void *addr_start = addr;
void *addr_end = addr+len;
@ -345,17 +365,17 @@ void patchdol(void *addr, u32 len)
*/
void langpatcher(void *addr, u32 len)
{
void *addr_start = addr;
void *addr_end = addr+len;
while(addr_start < addr_end)
{
if(memcmp(addr_start, langpatch, sizeof(langpatch))==0) {
if(configbytes[0] != 0xCD){
langvipatch((u32)addr_start, len, configbytes[0]);
}
}
}
addr_start += 4;
}
@ -363,17 +383,17 @@ void langpatcher(void *addr, u32 len)
/*
void patchdebug(void *addr, u32 len)
{
void *addr_start = addr;
void *addr_end = addr+len;
while(addr_start < addr_end)
{
if(memcmp(addr_start, fwritepatch, sizeof(fwritepatch))==0) {
memcpy(addr_start,fwrite_patch_bin,fwrite_patch_bin_len);
// apply patch
// apply patch
}
addr_start += 4;
}
@ -381,7 +401,7 @@ void patchdebug(void *addr, u32 len)
*/
void vidolpatcher(void *addr, u32 len)
{
void *addr_start = addr;
void *addr_end = addr+len;

View File

@ -282,9 +282,7 @@ s32 USBStorage2_WriteSectors(u32 sector, u32 numSectors, const void *buffer)
static bool __usbstorage_Startup(void)
{
return USBStorage2_Init()==0;
return USBStorage2_Init()==0;
}
static bool __usbstorage_IsInserted(void)
@ -340,20 +338,6 @@ const DISC_INTERFACE __io_usbstorage2 = {
(FN_MEDIUM_SHUTDOWN)&__usbstorage_Shutdown
};
static bool __io_usb_Startup(void)
{
return USBStorage2_Init() >= 0;
}
static bool __io_usb_IsInserted(void)
{
s32 ret;
if (fd < 0) return false;
ret = USBStorage2_GetCapacity(NULL);
if (ret == 0) return false;
return true;
}
bool __io_usb_ReadSectors(u32 sector, u32 count, void *buffer)
{
s32 ret = USBStorage2_ReadSectors(sector, count, buffer);
@ -366,17 +350,6 @@ bool __io_usb_WriteSectors(u32 sector, u32 count, void *buffer)
return ret > 0;
}
static bool __io_usb_ClearStatus(void)
{
return true;
}
static bool __io_usb_Shutdown(void)
{
// do nothing
return true;
}
static bool __io_usb_NOP(void)
{
// do nothing