Update for devkitPPC r41

This commit is contained in:
wiidev 2023-01-01 17:00:23 +00:00
parent 7edecdaaa3
commit efa01533b4
13 changed files with 26 additions and 22 deletions

View File

@ -5,7 +5,7 @@ apt-get update && apt-get install make xz-utils -y
# Download and extract
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/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"

View File

@ -36,12 +36,12 @@ jobs:
path: cache
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'
# general-tools is needed for bin2s and gamecube-tools is needed for elf2dol & gcdsptool
run: |
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/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"
@ -51,7 +51,7 @@ jobs:
- name: Verify checksums
run: |
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
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
@ -77,7 +77,7 @@ jobs:
- name: Extract downloaded files
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/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

View File

@ -10,14 +10,14 @@ ENV DEBIAN_FRONTEND="noninteractive" TZ="Europe/London"
RUN apt-get update -y && apt-get install -y \
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/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/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 /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 && \

View File

@ -554,14 +554,12 @@ bool Channels::ParseTitleDir(char *path, int language)
while ((dirent = readdir(dir)) != 0)
{
if (!dirent->d_name)
if (strlen(dirent->d_name) == 0)
continue;
// 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;
}
snprintf(pathEndPtr, 1024 - (pathEndPtr - path), "/%s/content/title.tmd", dirent->d_name);

View File

@ -88,7 +88,7 @@ bool DirList::LoadPath(std::string &folderpath, const char *filter, u32 flags, s
while ((dirent = readdir(dir)) != 0)
{
if(!dirent->d_name)
if(strlen(dirent->d_name) == 0)
continue;
snprintf(filename, MAXPATHLEN, "%s/%s", folderpath.c_str(), dirent->d_name);

View File

@ -88,13 +88,14 @@ void GCGames::LoadGameList(const std::string &path, std::vector<struct discHdr>
while ((dirent = readdir(dir_iter)) != 0)
{
const char *dirname = dirent->d_name;
if (!dirname)
if (strlen(dirent->d_name) == 0)
continue;
if (dirname[0] == '.')
if (dirent->d_name[0] == '.')
continue;
const char *dirname = dirent->d_name;
// reset id and title
memset(id, 0, sizeof(id));
*fname_title = 0;

View File

@ -97,7 +97,7 @@ bool ZipFile::FindFilePart(const char *partfilename, std::string &realname)
if(strcasestr(filename, partfilename) != 0)
{
realname = filename;
realname.assign(filename);
return true;
}
}

View File

@ -329,7 +329,7 @@ u8 *OpeningBNR::LoadGCBNR(const discHdr *header, u32 *len)
}
else if (header->type == TYPE_GAME_GC_EXTRACTED)
{
std::string gamePath = path;
std::string gamePath(path);
gamePath += "root/";
//! open default file first
file = fopen((gamePath + "opening.bnr").c_str(), "rb");

View File

@ -12,6 +12,11 @@
#include <stdio.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 u32 unsigned long /* 32 bits */
#define u64 unsigned long long

View File

@ -69,7 +69,7 @@ bool TitleSelector(char output[])
OptionList options4;
//write the titles on the option browser
std::string Filepath = Settings.titlestxt_path;
std::string Filepath(Settings.titlestxt_path);
Filepath += "wiitdb.xml";
GameTDB *XML_DB = new GameTDB(Filepath.c_str());
@ -251,7 +251,7 @@ int TitleBrowser()
OptionList options3;
//write the titles on the option browser
std::string Filepath = Settings.titlestxt_path;
std::string Filepath(Settings.titlestxt_path);
Filepath += "wiitdb.xml";
GameTDB *XML_DB = new GameTDB(Filepath.c_str());

View File

@ -114,7 +114,7 @@ int UninstallSM::GetMenuInternal()
char GameID[7];
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.Save();
GameStatistics.Remove(DiscHeader->id);

View File

@ -2,7 +2,7 @@
#define ALTERNATEDOLOFFSETS_H_
int defaultAltDol(const char *id);
int defaultDolPrompt(const char *id);
void defaultDolPrompt(const char *id);
int autoSelectDolPrompt(const char *id);
#endif

View File

@ -686,7 +686,7 @@ int NandTitle::ExtractDir(const char *nandPath, const char *filepath)
if(!filepath || !nandPath)
return -1;
std::string internFilePath = filepath;
std::string internFilePath(filepath);
char *internNandPath = (char *) memalign(32, ISFS_MAXPATH);
if(!internNandPath)
return -666;