mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-30 15:14:19 +01:00
Update for devkitPPC r41
This commit is contained in:
parent
7edecdaaa3
commit
efa01533b4
@ -5,7 +5,7 @@ apt-get update && apt-get install make xz-utils -y
|
|||||||
|
|
||||||
# Download and extract
|
# Download and extract
|
||||||
cd /opt
|
cd /opt
|
||||||
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitPPC-r39-2-linux_x86_64.pkg.tar.xz"
|
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitPPC-r41-2-linux_x86_64.pkg.tar.xz"
|
||||||
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitppc-rules-1.1.1-1-any.pkg.tar.xz"
|
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitppc-rules-1.1.1-1-any.pkg.tar.xz"
|
||||||
wget "https://wii.leseratte10.de/devkitPro/file.php/libogc-2.3.1-1-any.pkg.tar.xz"
|
wget "https://wii.leseratte10.de/devkitPro/file.php/libogc-2.3.1-1-any.pkg.tar.xz"
|
||||||
wget "https://wii.leseratte10.de/devkitPro/file.php/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz"
|
wget "https://wii.leseratte10.de/devkitPro/file.php/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz"
|
||||||
|
8
.github/workflows/main.yml
vendored
8
.github/workflows/main.yml
vendored
@ -36,12 +36,12 @@ jobs:
|
|||||||
path: cache
|
path: cache
|
||||||
key: ${{ runner.os }}-cache-1
|
key: ${{ runner.os }}-cache-1
|
||||||
|
|
||||||
- name: Download devkitPPC r39, libogc 2.3.1 and required tools
|
- name: Download devkitPPC r41, libogc 2.3.1 and required tools
|
||||||
if: steps.cache-1.outputs.cache-hit != 'true'
|
if: steps.cache-1.outputs.cache-hit != 'true'
|
||||||
# general-tools is needed for bin2s and gamecube-tools is needed for elf2dol & gcdsptool
|
# general-tools is needed for bin2s and gamecube-tools is needed for elf2dol & gcdsptool
|
||||||
run: |
|
run: |
|
||||||
mkdir cache && cd cache
|
mkdir cache && cd cache
|
||||||
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitPPC-r39-2-linux_x86_64.pkg.tar.xz"
|
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitPPC-r41-2-linux_x86_64.pkg.tar.xz"
|
||||||
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitppc-rules-1.1.1-1-any.pkg.tar.xz"
|
wget "https://wii.leseratte10.de/devkitPro/file.php/devkitppc-rules-1.1.1-1-any.pkg.tar.xz"
|
||||||
wget "https://wii.leseratte10.de/devkitPro/file.php/libogc-2.3.1-1-any.pkg.tar.xz"
|
wget "https://wii.leseratte10.de/devkitPro/file.php/libogc-2.3.1-1-any.pkg.tar.xz"
|
||||||
wget "https://wii.leseratte10.de/devkitPro/file.php/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz"
|
wget "https://wii.leseratte10.de/devkitPro/file.php/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz"
|
||||||
@ -51,7 +51,7 @@ jobs:
|
|||||||
- name: Verify checksums
|
- name: Verify checksums
|
||||||
run: |
|
run: |
|
||||||
sha256sum -c <<EOF
|
sha256sum -c <<EOF
|
||||||
76465565a4c5f9bce2849f12876b470f5044b02ce242fd22f57b6b7a2b113ead cache/devkitPPC-r39-2-linux_x86_64.pkg.tar.xz
|
f8bdbabd7e30ebc87dc129c092d1fa85e38d726de78befad3dc6714568431076 cache/devkitPPC-r41-2-linux_x86_64.pkg.tar.xz
|
||||||
0118f06fff938c3d4913fdc004d5edd2f72e3a16c544fb5699b0e97552529d29 cache/devkitppc-rules-1.1.1-1-any.pkg.tar.xz
|
0118f06fff938c3d4913fdc004d5edd2f72e3a16c544fb5699b0e97552529d29 cache/devkitppc-rules-1.1.1-1-any.pkg.tar.xz
|
||||||
b10553cced35ab8d3d0c48ee44cdb345f46be5e8f82496dd308f699db4f8d490 cache/libogc-2.3.1-1-any.pkg.tar.xz
|
b10553cced35ab8d3d0c48ee44cdb345f46be5e8f82496dd308f699db4f8d490 cache/libogc-2.3.1-1-any.pkg.tar.xz
|
||||||
3348e521e48f27912d0bca05eac73b4365c8c7006b637c95850f4feabe5dd2e9 cache/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz
|
3348e521e48f27912d0bca05eac73b4365c8c7006b637c95850f4feabe5dd2e9 cache/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz
|
||||||
@ -77,7 +77,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Extract downloaded files
|
- name: Extract downloaded files
|
||||||
run: |
|
run: |
|
||||||
tar -xf cache/devkitPPC-r39-2-linux_x86_64.pkg.tar.xz --strip-components=1
|
tar -xf cache/devkitPPC-r41-2-linux_x86_64.pkg.tar.xz --strip-components=1
|
||||||
tar -xf cache/devkitppc-rules-1.1.1-1-any.pkg.tar.xz --strip-components=1
|
tar -xf cache/devkitppc-rules-1.1.1-1-any.pkg.tar.xz --strip-components=1
|
||||||
tar -xf cache/libogc-2.3.1-1-any.pkg.tar.xz --strip-components=1
|
tar -xf cache/libogc-2.3.1-1-any.pkg.tar.xz --strip-components=1
|
||||||
tar -xf cache/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz --strip-components=1
|
tar -xf cache/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz --strip-components=1
|
||||||
|
@ -10,14 +10,14 @@ ENV DEBIAN_FRONTEND="noninteractive" TZ="Europe/London"
|
|||||||
RUN apt-get update -y && apt-get install -y \
|
RUN apt-get update -y && apt-get install -y \
|
||||||
xz-utils make git
|
xz-utils make git
|
||||||
|
|
||||||
ADD https://wii.leseratte10.de/devkitPro/file.php/devkitPPC-r39-2-linux_x86_64.pkg.tar.xz /
|
ADD https://wii.leseratte10.de/devkitPro/file.php/devkitPPC-r41-2-linux_x86_64.pkg.tar.xz /
|
||||||
ADD https://wii.leseratte10.de/devkitPro/file.php/libogc-2.3.1-1-any.pkg.tar.xz /
|
ADD https://wii.leseratte10.de/devkitPro/file.php/libogc-2.3.1-1-any.pkg.tar.xz /
|
||||||
ADD https://wii.leseratte10.de/devkitPro/file.php/devkitppc-rules-1.1.1-1-any.pkg.tar.xz /
|
ADD https://wii.leseratte10.de/devkitPro/file.php/devkitppc-rules-1.1.1-1-any.pkg.tar.xz /
|
||||||
ADD https://wii.leseratte10.de/devkitPro/file.php/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz /
|
ADD https://wii.leseratte10.de/devkitPro/file.php/general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz /
|
||||||
ADD https://wii.leseratte10.de/devkitPro/file.php/gamecube-tools-1.0.3-1-linux_x86_64.pkg.tar.xz /
|
ADD https://wii.leseratte10.de/devkitPro/file.php/gamecube-tools-1.0.3-1-linux_x86_64.pkg.tar.xz /
|
||||||
|
|
||||||
|
|
||||||
RUN tar -xf /devkitPPC-r39-2-linux_x86_64.pkg.tar.xz opt/devkitpro/devkitPPC --strip-components=1 && \
|
RUN tar -xf /devkitPPC-r41-2-linux_x86_64.pkg.tar.xz opt/devkitpro/devkitPPC --strip-components=1 && \
|
||||||
tar -xf /libogc-2.3.1-1-any.pkg.tar.xz opt/devkitpro/libogc --strip-components=1 && \
|
tar -xf /libogc-2.3.1-1-any.pkg.tar.xz opt/devkitpro/libogc --strip-components=1 && \
|
||||||
tar -xf /devkitppc-rules-1.1.1-1-any.pkg.tar.xz opt/devkitpro/devkitPPC --strip-components=1 && \
|
tar -xf /devkitppc-rules-1.1.1-1-any.pkg.tar.xz opt/devkitpro/devkitPPC --strip-components=1 && \
|
||||||
tar -C /usr/local/bin -xf /general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz opt/devkitpro/tools/bin/bin2s --strip-components=4 && \
|
tar -C /usr/local/bin -xf /general-tools-1.2.0-2-linux_x86_64.pkg.tar.xz opt/devkitpro/tools/bin/bin2s --strip-components=4 && \
|
||||||
|
@ -554,14 +554,12 @@ bool Channels::ParseTitleDir(char *path, int language)
|
|||||||
|
|
||||||
while ((dirent = readdir(dir)) != 0)
|
while ((dirent = readdir(dir)) != 0)
|
||||||
{
|
{
|
||||||
if (!dirent->d_name)
|
if (strlen(dirent->d_name) == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// These can't be booted anyways
|
// These can't be booted anyways
|
||||||
if (*dirent->d_name == '.' || strcmp(dirent->d_name, "48414141") == 0 || strcmp(dirent->d_name, "48414641") == 0)
|
if (dirent->d_name[0] == '.' || strcmp(dirent->d_name, "48414141") == 0 || strcmp(dirent->d_name, "48414641") == 0)
|
||||||
{
|
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
|
|
||||||
snprintf(pathEndPtr, 1024 - (pathEndPtr - path), "/%s/content/title.tmd", dirent->d_name);
|
snprintf(pathEndPtr, 1024 - (pathEndPtr - path), "/%s/content/title.tmd", dirent->d_name);
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ bool DirList::LoadPath(std::string &folderpath, const char *filter, u32 flags, s
|
|||||||
|
|
||||||
while ((dirent = readdir(dir)) != 0)
|
while ((dirent = readdir(dir)) != 0)
|
||||||
{
|
{
|
||||||
if(!dirent->d_name)
|
if(strlen(dirent->d_name) == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
snprintf(filename, MAXPATHLEN, "%s/%s", folderpath.c_str(), dirent->d_name);
|
snprintf(filename, MAXPATHLEN, "%s/%s", folderpath.c_str(), dirent->d_name);
|
||||||
|
@ -88,13 +88,14 @@ void GCGames::LoadGameList(const std::string &path, std::vector<struct discHdr>
|
|||||||
|
|
||||||
while ((dirent = readdir(dir_iter)) != 0)
|
while ((dirent = readdir(dir_iter)) != 0)
|
||||||
{
|
{
|
||||||
const char *dirname = dirent->d_name;
|
if (strlen(dirent->d_name) == 0)
|
||||||
if (!dirname)
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (dirname[0] == '.')
|
if (dirent->d_name[0] == '.')
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
const char *dirname = dirent->d_name;
|
||||||
|
|
||||||
// reset id and title
|
// reset id and title
|
||||||
memset(id, 0, sizeof(id));
|
memset(id, 0, sizeof(id));
|
||||||
*fname_title = 0;
|
*fname_title = 0;
|
||||||
|
@ -97,7 +97,7 @@ bool ZipFile::FindFilePart(const char *partfilename, std::string &realname)
|
|||||||
|
|
||||||
if(strcasestr(filename, partfilename) != 0)
|
if(strcasestr(filename, partfilename) != 0)
|
||||||
{
|
{
|
||||||
realname = filename;
|
realname.assign(filename);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -329,7 +329,7 @@ u8 *OpeningBNR::LoadGCBNR(const discHdr *header, u32 *len)
|
|||||||
}
|
}
|
||||||
else if (header->type == TYPE_GAME_GC_EXTRACTED)
|
else if (header->type == TYPE_GAME_GC_EXTRACTED)
|
||||||
{
|
{
|
||||||
std::string gamePath = path;
|
std::string gamePath(path);
|
||||||
gamePath += "root/";
|
gamePath += "root/";
|
||||||
//! open default file first
|
//! open default file first
|
||||||
file = fopen((gamePath + "opening.bnr").c_str(), "rb");
|
file = fopen((gamePath + "opening.bnr").c_str(), "rb");
|
||||||
|
@ -12,6 +12,11 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
/* GCC 11 false positives */
|
||||||
|
#if __GNUC__ > 11
|
||||||
|
#pragma GCC diagnostic ignored "-Wstringop-overflow"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define u8 unsigned char /* 8 bits */
|
#define u8 unsigned char /* 8 bits */
|
||||||
#define u32 unsigned long /* 32 bits */
|
#define u32 unsigned long /* 32 bits */
|
||||||
#define u64 unsigned long long
|
#define u64 unsigned long long
|
||||||
|
@ -69,7 +69,7 @@ bool TitleSelector(char output[])
|
|||||||
OptionList options4;
|
OptionList options4;
|
||||||
//write the titles on the option browser
|
//write the titles on the option browser
|
||||||
|
|
||||||
std::string Filepath = Settings.titlestxt_path;
|
std::string Filepath(Settings.titlestxt_path);
|
||||||
Filepath += "wiitdb.xml";
|
Filepath += "wiitdb.xml";
|
||||||
|
|
||||||
GameTDB *XML_DB = new GameTDB(Filepath.c_str());
|
GameTDB *XML_DB = new GameTDB(Filepath.c_str());
|
||||||
@ -251,7 +251,7 @@ int TitleBrowser()
|
|||||||
OptionList options3;
|
OptionList options3;
|
||||||
//write the titles on the option browser
|
//write the titles on the option browser
|
||||||
|
|
||||||
std::string Filepath = Settings.titlestxt_path;
|
std::string Filepath(Settings.titlestxt_path);
|
||||||
Filepath += "wiitdb.xml";
|
Filepath += "wiitdb.xml";
|
||||||
|
|
||||||
GameTDB *XML_DB = new GameTDB(Filepath.c_str());
|
GameTDB *XML_DB = new GameTDB(Filepath.c_str());
|
||||||
|
@ -114,7 +114,7 @@ int UninstallSM::GetMenuInternal()
|
|||||||
char GameID[7];
|
char GameID[7];
|
||||||
snprintf(GameID, sizeof(GameID), "%s", (char *) DiscHeader->id);
|
snprintf(GameID, sizeof(GameID), "%s", (char *) DiscHeader->id);
|
||||||
|
|
||||||
std::string Title = GameTitles.GetTitle(DiscHeader);
|
std::string Title(GameTitles.GetTitle(DiscHeader));
|
||||||
GameSettings.Remove(DiscHeader->id);
|
GameSettings.Remove(DiscHeader->id);
|
||||||
GameSettings.Save();
|
GameSettings.Save();
|
||||||
GameStatistics.Remove(DiscHeader->id);
|
GameStatistics.Remove(DiscHeader->id);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#define ALTERNATEDOLOFFSETS_H_
|
#define ALTERNATEDOLOFFSETS_H_
|
||||||
|
|
||||||
int defaultAltDol(const char *id);
|
int defaultAltDol(const char *id);
|
||||||
int defaultDolPrompt(const char *id);
|
void defaultDolPrompt(const char *id);
|
||||||
int autoSelectDolPrompt(const char *id);
|
int autoSelectDolPrompt(const char *id);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -686,7 +686,7 @@ int NandTitle::ExtractDir(const char *nandPath, const char *filepath)
|
|||||||
if(!filepath || !nandPath)
|
if(!filepath || !nandPath)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
std::string internFilePath = filepath;
|
std::string internFilePath(filepath);
|
||||||
char *internNandPath = (char *) memalign(32, ISFS_MAXPATH);
|
char *internNandPath = (char *) memalign(32, ISFS_MAXPATH);
|
||||||
if(!internNandPath)
|
if(!internNandPath)
|
||||||
return -666;
|
return -666;
|
||||||
|
Loading…
Reference in New Issue
Block a user