From 61faa55a362880083236143fb84c6802307c2c01 Mon Sep 17 00:00:00 2001 From: Nikhil Narayana Date: Sat, 28 Mar 2026 14:18:53 -0700 Subject: [PATCH 1/4] Revert "chore: update codesets" there is a crash when loading the stage. need to investigate the issue and resolve in the asm repo This reverts commit 3dde33f6065c79a75a754ed7cd80f845487dd1fa. --- kernel/gecko/g_core.bin | Bin 6048 -> 5544 bytes kernel/gecko/g_core_porta.bin | Bin 6048 -> 5544 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/kernel/gecko/g_core.bin b/kernel/gecko/g_core.bin index 3a384b5df2b355c7619f12ab39ccb0e5b1eae3f4..0181fa60b624a1be8831060957b1e888abeed9b9 100644 GIT binary patch delta 263 zcmZ3Wze0P%dS*th$s3r}8AT@FU^ZrKn9ReXFxiB~m{DeO2Fqkovl(>^vNj3Kf(gkC z3=`@Y!2 zZq0aTvJHDNqut~UKr(Hz3P(OrWD18m?=2lk1_s9_1{aGurrVQGaOey2b>uLxO{ilQ z@?c<)0gG~Qnlp-RcHn%-rXc0Bg@J*A#Ug>B0q9cm#Ga2&U@o1IyZ(s9W=5g;tN;sA BQKSF> delta 744 zcmb7CO=uHA82zUElZ_n^w%B7YBwn?|tySdEd zzoiX&B)R}J%J>E83W@NT6yOyp?l+?O?cQh!Ao_{id@M)E1Fp)m9q;ERwqv$QR$`Qm zFyrY--55S!Hc5@I$b;V1!ErbpybE2Nc>+A_86y|@l;;kaY6e@x+;oyQ*H|degQx$mVBcOLU;!LMmUs%>z5p7 zbNW`(BAc)3s_5L0=fQ^&!I}kN?tTp)r^Q~^OS2Y`XR65=9M#Nxbu62nXvY!8?Q~t& ztuzq(1xRk~Y!T!~h_4dxg}Q#YmV-4L!M{7ct74Yd1pf_4VozNaoC12p_vt^>*q_}4 zO*fi;tLdkMiHI!@oBN39Wb!K9l|c7O?An diff --git a/kernel/gecko/g_core_porta.bin b/kernel/gecko/g_core_porta.bin index ad1b7620f9433c8616d308b29d6ace3532df2e97..0fcb63ff58982bf42cdfee272bc1336b8af684fe 100644 GIT binary patch delta 263 zcmZ3Wze0P%dS*th$s3r}8AT@FU^ZrKn9ReXFxiB~m{DeO2Fqkovl(>^vNj3Kf(gkC z3=`@Y!2 zZq0aTvJHDNqut~UKr(Hz3P(OrWD18m?=2lk1_s9_1{aGurrVQGaOey2b>uLxO{ilQ z@?c<)0gG~Qnlp-RcHn%-rXc0Bg@J*A#Ug>B0q9cm#Ga2&U@o1IyZ(s9W=5g;tN;sA BQKSF> delta 744 zcmb7CO=uHA82zUElZ_n^w%B7YBwn?|tySdEd zzoiX&B)R}J%J>E83W@NT6yOyp?l+?O?cQh!Ao_{id@M)E1Fp)m9q;ERwqv$QR$`Qm zFyrY--55S!Hc5@I$b;V1!ErbpybE2Nc>+A_86y|@l;;kaY6e@x+;oyQ*H|degQx$mVBcOLU;!LMmUs%>z5p7 zbNW`(BAc)3s_5L0=fQ^&!I}kN?tTp)r^Q~^OS2Y`XR65=9M#Nxbu62nXvY!8?Q~t& ztuzq(1xRk~Y!T!~h_4dxg}Q#YmV-4L!M{7ct74Yd1pf_4VozNaoC12p_vt^>*q_}4 zO*fi;tLdkMiHI!@oBN39Wb!K9l|c7O?An From e64b3646f3fbfdf20ffa76fcdf10fb74299ba69e Mon Sep 17 00:00:00 2001 From: Nikhil Narayana Date: Sat, 28 Mar 2026 14:31:28 -0700 Subject: [PATCH 2/4] refactor: remove UCF 0.8, migrate to UCF 0.84, and update cfg version --- SLIPPI.md | 2 +- common/config/MeleeCodes.c | 40 +++++++++-------------------------- common/include/CommonConfig.h | 2 +- loader/source/global.c | 13 ++++++++++++ 4 files changed, 25 insertions(+), 32 deletions(-) diff --git a/SLIPPI.md b/SLIPPI.md index e5971bf3f..88d4289e2 100644 --- a/SLIPPI.md +++ b/SLIPPI.md @@ -11,7 +11,7 @@ _Project Slippi Nintendont only officially supports the NTSC 1.02 version of Mel - Support for writing Slippi replays to a storage device (USB drive/SD card) - Support for streaming replay data over Wi-Fi or a USB Ethernet adapter - Allows users to toggle various codes before booting into Melee: - - Controller fixes (permanent UCF, stealth UCF, in-game toggleable UCF/Ardiuno fixes) + - Controller fixes (UCF 0.84 + stealth version) - Stealth Tournament Mods (Neutral Spawns, hidden nametag when invisible, keep nametag during rotation) - Tournament Mods (Stealth Mods, D-Pad for rumble, stage striking) - Quality-of-life Mods (Tournament Mods, skip results, salty runback) diff --git a/common/config/MeleeCodes.c b/common/config/MeleeCodes.c index 976625bb1..ed6763c8a 100644 --- a/common/config/MeleeCodes.c +++ b/common/config/MeleeCodes.c @@ -1,7 +1,5 @@ #include "MeleeCodes.h" -#include "../../kernel/gecko/g_ucf.h" // UCF codeset -#include "../../kernel/gecko/g_ucf_stealth.h" // UCF Stealth #include "../../kernel/gecko/g_ucf_084.h" // UCF codeset #include "../../kernel/gecko/g_ucf_084_stealth.h" // UCF Stealth @@ -41,27 +39,13 @@ const MeleeCodeOption cfOptionOff = { const MeleeCodeOption cfOptionUcf = { 2, // value "UCF", // name - g_ucf_size, // codeLen - g_ucf, // code + g_ucf_084_size, // codeLen + g_ucf_084, // code }; const MeleeCodeOption cfOptionStealthUcf = { 3, // value "Stealth", // name - g_ucf_stealth_size, // codeLen - g_ucf_stealth, // code -}; - -const MeleeCodeOption cfOptionUcf084 = { - 4, // value - "UCF 0.84 RC", // name - g_ucf_084_size, // codeLen - g_ucf_084, // code -}; - -const MeleeCodeOption cfOptionStealthUcf084 = { - 5, // value - "Stealth 0.84", // name g_ucf_084_stealth_size, // codeLen g_ucf_084_stealth, // code }; @@ -70,8 +54,6 @@ const MeleeCodeOption *cfOptions[MELEE_CODES_CF_OPTION_COUNT] = { &cfOptionOff, &cfOptionUcf, &cfOptionStealthUcf, - &cfOptionUcf084, - &cfOptionStealthUcf084, }; // an additional space was added to all lines to accomdate "Stealth 0.84" @@ -80,19 +62,17 @@ static const char *cfDescription[] = { "The type of controller fix to apply", "", " [UCF]", - " Will enable UCF 0.8. Includes", - " dashback, shield drop, and", - " wiggle out of tumble", + " Will enable UCF 0.84. Includes", + " dashback, shield drop,", + " wiggle out of tumble,", + " 1.0 cardinals, frame 1 SDI fix,", + " and shield drop range up", + " conditional increase.", "", " [Stealth]", - " Enables UCF 0.8 without the", - " CSS text", + " Enables UCF 0.84 without the", + " CSS text", "", - " [UCF 0.84 RC]", - " UCF 0.84 Release candidate. Adds", - " 1.0 cardinals, frame 1 SDI fix,", - " dbooc fix, and shield drop", - " range up conditional increase.", NULL }; diff --git a/common/include/CommonConfig.h b/common/include/CommonConfig.h index f1434a63c..d960141e9 100644 --- a/common/include/CommonConfig.h +++ b/common/include/CommonConfig.h @@ -5,7 +5,7 @@ #include "Metadata.h" #include "../config/MeleeCodes.h" -#define NIN_CFG_VERSION 0x0000000D +#define NIN_CFG_VERSION 0x0000000E #define NIN_CFG_MAXPAD 4 diff --git a/loader/source/global.c b/loader/source/global.c index a3efc573c..d507eba47 100644 --- a/loader/source/global.c +++ b/loader/source/global.c @@ -469,6 +469,19 @@ void UpdateNinCFG() // 0 defaults are fine ncfg->Version = 0xD; } + if (ncfg->Version == 0xD) + { + switch(ncfg->MeleeCodeOptions[0]) + { + case 3: // UCF 0.84 Old + ncfg->MeleeCodeOptions[0] = 1; + break; + case 4: // UCF 0.84 Stealth + ncfg->MeleeCodeOptions[0] = 2; + break; + } + ncfg->Version = 0xE; + } } int CreateNewFile(const char *Path, unsigned int size) From 3797cf023742f565c93a50b6c0e0e58ae3a8bd42 Mon Sep 17 00:00:00 2001 From: Nikhil Narayana Date: Sat, 28 Mar 2026 14:36:53 -0700 Subject: [PATCH 3/4] run CI on any branch and cancel old runs on a given branch --- .github/workflows/build.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5bcc4a54a..ca30e5fbf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,14 +9,17 @@ on: default: "ignore" push: branches: - - slippi - - ci + - "**" pull_request: paths-ignore: - "**.md" branches: - "**" +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} + cancel-in-progress: true + jobs: ubuntu64: name: "Loader Build" From 367ef7fe66906e555e74cacd2983a122da1595fd Mon Sep 17 00:00:00 2001 From: Nikhil Narayana Date: Sun, 29 Mar 2026 13:11:27 -0700 Subject: [PATCH 4/4] update MELEE_CODES_CF_OPTION_COUNT --- common/config/MeleeCodes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/MeleeCodes.h b/common/config/MeleeCodes.h index 7a59a8a33..4a0a5aee0 100644 --- a/common/config/MeleeCodes.h +++ b/common/config/MeleeCodes.h @@ -1,7 +1,7 @@ #ifndef _MELEE_CODES_H #define _MELEE_CODES_H -#define MELEE_CODES_CF_OPTION_COUNT 5 +#define MELEE_CODES_CF_OPTION_COUNT 3 #define MELEE_CODES_VERSION_OPTION_COUNT 2 #define MELEE_CODES_MODS_OPTION_COUNT 4 #define MELEE_CODES_LAG_REDUCTION_OPTION_COUNT 3