From 00492e737c4861348f83db3d2bcb8c527628d8dc Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 00:42:25 +0100 Subject: [PATCH 01/14] add sa1 progress to repo --- .github/workflows/build.yml | 54 ++++++++------- ...ReceiveRoomEvent_ReachedStageGoal_sa1.inc} | 0 scripts/progress.py | 68 ++++++++----------- src/game/shared/stage/mp_event_mgr.c | 2 +- 4 files changed, 56 insertions(+), 68 deletions(-) rename asm/non_matching/game/shared/stage/{evt_mgr__ReceiveRoomEvent_ReachedStageGoal.inc => evt_mgr__ReceiveRoomEvent_ReachedStageGoal_sa1.inc} (100%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 527297dc15..1a38ee3f89 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,10 +28,10 @@ jobs: run: | make check_format - build-gba: + build-sa2-gba: if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork || github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork}} runs-on: ubuntu-24.04 - name: Build GBA (USA) + name: Build SA2 GBA (USA) steps: - name: Checkout PR if: ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_target'}} @@ -78,13 +78,13 @@ jobs: - name: Generate reports run: | mkdir -p gh-pages/reports - mkdir -p gh-pages/maps + mkdir -p gh-pages/maps/sa2 python3 scripts/progress.py csv > gh-pages/reports/progress-sa2-nonmatching-latest.csv python3 scripts/progress.py csv -m > gh-pages/reports/progress-sa2-matching-latest.csv python3 scripts/progress.py shield-json > gh-pages/reports/progress-sa2-shield.json python3 scripts/progress.py shield-json -m > gh-pages/reports/progress-sa2-shield-matching.json echo "REPORTS_COMMIT_MSG=$( git log --format=%s ${GITHUB_SHA} )" >> $GITHUB_ENV - cp sa2.map gh-pages/maps/${GITHUB_SHA}.map + cp sa2.map gh-pages/maps/sa2/${GITHUB_SHA}.map - name: Generate reports (Collect Rings) run: | @@ -150,32 +150,32 @@ jobs: - name: Compare run: make sa1 -j${nproc} - # - name: Progress - # run: | - # python3 scripts/progress.py text - - # - name: Generate reports - # run: | - # mkdir -p gh-pages/reports - # mkdir -p gh-pages/maps - # python3 sa1/scripts/progress.py csv >> gh-pages/reports/progress-sa1-nonmatching.csv - # python3 sa1/scripts/progress.py csv -m >> gh-pages/reports/progress-sa1-matching.csv - # python3 sa1/scripts/progress.py shield-json > gh-pages/reports/progress-sa1-shield.json - # python3 sa1/scripts/progress.py shield-json -m > gh-pages/reports/progress-sa1-shield-matching.json - # echo "REPORTS_COMMIT_MSG=$( git log --format=%s ${GITHUB_SHA} )" >> $GITHUB_ENV - # cp sa1.map gh-pages/maps/${GITHUB_SHA}.map - - # - name: Upload progress - # if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }} - # uses: actions/upload-artifact@v7 - # with: - # path: | - # gh-pages + - name: Progress + run: | + python3 scripts/progress.py -f sa1.map text + + - name: Generate reports + run: | + mkdir -p gh-pages/reports + mkdir -p gh-pages/maps/sa1 + python3 sa1/scripts/progress.py csv >> gh-pages/reports/progress-sa1-nonmatching.csv + python3 sa1/scripts/progress.py csv -m >> gh-pages/reports/progress-sa1-matching.csv + python3 sa1/scripts/progress.py shield-json > gh-pages/reports/progress-sa1-shield.json + python3 sa1/scripts/progress.py shield-json -m > gh-pages/reports/progress-sa1-shield-matching.json + echo "REPORTS_COMMIT_MSG=$( git log --format=%s ${GITHUB_SHA} )" >> $GITHUB_ENV + cp sa1.map gh-pages/maps/sa1/${GITHUB_SHA}.map + + - name: Upload progress + if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }} + uses: actions/upload-artifact@v7 + with: + path: | + gh-pages publish-progress: name: Publish progress runs-on: ubuntu-24.04 - needs: [build-gba] + needs: [build-sa2-gba, build-sa1-gba] # Only able to run from repo pull requests (by maintainers, or on the main branch via push) if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }} permissions: @@ -192,6 +192,8 @@ jobs: path: | gh-pages - run: | + cat gh-pages/reports/progress-sa1-nonmatching-latest.csv >> gh-pages/reports/progress-sa1-nonmatching.csv + cat gh-pages/reports/progress-sa1-matching-latest.csv >> gh-pages/reports/progress-sa1-matching.csv cat gh-pages/reports/progress-sa2-nonmatching-latest.csv >> gh-pages/reports/progress-sa2-nonmatching.csv cat gh-pages/reports/progress-sa2-matching-latest.csv >> gh-pages/reports/progress-sa2-matching.csv cat gh-pages/reports/progress-collect_rings-nonmatching-latest.csv >> gh-pages/reports/progress-collect_rings-nonmatching.csv diff --git a/asm/non_matching/game/shared/stage/evt_mgr__ReceiveRoomEvent_ReachedStageGoal.inc b/asm/non_matching/game/shared/stage/evt_mgr__ReceiveRoomEvent_ReachedStageGoal_sa1.inc similarity index 100% rename from asm/non_matching/game/shared/stage/evt_mgr__ReceiveRoomEvent_ReachedStageGoal.inc rename to asm/non_matching/game/shared/stage/evt_mgr__ReceiveRoomEvent_ReachedStageGoal_sa1.inc diff --git a/scripts/progress.py b/scripts/progress.py index 116d3bdf86..1f1935376e 100644 --- a/scripts/progress.py +++ b/scripts/progress.py @@ -6,42 +6,36 @@ import os import re -def collect_non_matching_funcs(): +def read_non_matching_funcs(filepath): result = [] - for root, dirs, files in os.walk('src'): - if "/sa1/" in root: - continue - for file in files: - if file.endswith('.c'): - with open(os.path.join(root, file), 'r') as f: - data = f.read() - lines = data.split("\n") - for i in range(len(lines)): - line = lines[i] - if "sa1" in line: - continue - if "NONMATCH" in line: - # if "unused_" in line.lower(): - # continue - matcher = r'(NONMATCH|ASM_FUNC)\(".*",\W*\w*\W*(\w*).*\)' - match = re.findall(matcher, line) - if match: - result.append(match[0]) - else: - if i < len(lines) - 1: - line = lines[i + 1] - match = re.findall(r'\W*\w*\W*(\w*).*\)', line) - if match: - result.append(('NONMATCH', match[0])) + with open(filepath, 'r') as f: + data = f.read() + lines = data.split("\n") + for i in range(len(lines)): + line = lines[i] + if "NONMATCH" in line: + # if "unused_" in line.lower(): + # continue + matcher = r'(?:SA2_LABEL\(\w+\))?(NONMATCH|ASM_FUNC)\(".*",\W*\w*\W*(\w*).*\)' + match = re.findall(matcher, line) + if match: + result.append(match[0][1]) + else: + if i < len(lines) - 1: + line = lines[i + 1] + match = re.findall(r'\W*\w*\W*(\w*).*\)', line) + if match: + result.append(match[0]) return result -def parse_map(non_matching_funcs, map_file): +def parse_map(matching, map_file): src = 0 asm = 0 src_data = 0 data = 0 non_matching = 0 + non_matching_funcs = [] with open(map_file, 'r') as map: # Skip to the linker script section @@ -61,6 +55,11 @@ def parse_map(non_matching_funcs, map_file): section = arr[0] size = int(arr[2], 16) filepath = arr[3] + if (filepath.startswith('src')): + if matching: + c_path = filepath.replace(".o", ".c") + if os.path.exists(c_path): + non_matching_funcs += read_non_matching_funcs(c_path) if filepath.startswith('build'): # build/*/(asm|data|sound|src|...)/*/ # ^ ^ ^ @@ -123,20 +122,7 @@ def main(): parser.add_argument("-f", "--file", dest='map_file', default="sa2.map") args = parser.parse_args() - matching = args.matching - - non_matching_funcs = [] - funcs = collect_non_matching_funcs() - if matching: - # Remove all non matching funcs from count - non_matching_funcs = [x[1] for x in funcs] - else: - # Only remove ASM_FUNC functions from count - for func in funcs: - if func[0] == 'ASM_FUNC': - non_matching_funcs.append(func[1]) - - (src, asm, src_data, data) = parse_map(non_matching_funcs, args.map_file) + (src, asm, src_data, data) = parse_map(args.matching, args.map_file) total = src + asm data_total = src_data + data diff --git a/src/game/shared/stage/mp_event_mgr.c b/src/game/shared/stage/mp_event_mgr.c index 9080b424a4..eedc67f6ec 100644 --- a/src/game/shared/stage/mp_event_mgr.c +++ b/src/game/shared/stage/mp_event_mgr.c @@ -249,7 +249,7 @@ void ReceiveRoomEvent_ItemEffect(union MultiSioData *recv, u8 i) #ifndef COLLECT_RINGS_ROM #if (GAME == GAME_SA1) // (96.15%) https://decomp.me/scratch/LMpNt -NONMATCH("asm/non_matching/game/shared/stage/evt_mgr__ReceiveRoomEvent_ReachedStageGoal.inc", +NONMATCH("asm/non_matching/game/shared/stage/evt_mgr__ReceiveRoomEvent_ReachedStageGoal_sa1.inc", void ReceiveRoomEvent_ReachedStageGoal(union MultiSioData *recv, u8 i)) #else void ReceiveRoomEvent_ReachedStageGoal(union MultiSioData *recv, u8 i) From 26cd789336cbca471406537664a8300c9be6ca67 Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 00:45:59 +0100 Subject: [PATCH 02/14] fix --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1a38ee3f89..36a5c44391 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -158,10 +158,10 @@ jobs: run: | mkdir -p gh-pages/reports mkdir -p gh-pages/maps/sa1 - python3 sa1/scripts/progress.py csv >> gh-pages/reports/progress-sa1-nonmatching.csv - python3 sa1/scripts/progress.py csv -m >> gh-pages/reports/progress-sa1-matching.csv - python3 sa1/scripts/progress.py shield-json > gh-pages/reports/progress-sa1-shield.json - python3 sa1/scripts/progress.py shield-json -m > gh-pages/reports/progress-sa1-shield-matching.json + python3 scripts/progress.py csv >> gh-pages/reports/progress-sa1-nonmatching.csv + python3 scripts/progress.py csv -m >> gh-pages/reports/progress-sa1-matching.csv + python3 scripts/progress.py shield-json > gh-pages/reports/progress-sa1-shield.json + python3 scripts/progress.py shield-json -m > gh-pages/reports/progress-sa1-shield-matching.json echo "REPORTS_COMMIT_MSG=$( git log --format=%s ${GITHUB_SHA} )" >> $GITHUB_ENV cp sa1.map gh-pages/maps/sa1/${GITHUB_SHA}.map From 2c3f57274f8eed0b74bb23e2aa4c9abb4b1aca58 Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 00:51:25 +0100 Subject: [PATCH 03/14] fixes --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 36a5c44391..fb97e7bf27 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -158,10 +158,10 @@ jobs: run: | mkdir -p gh-pages/reports mkdir -p gh-pages/maps/sa1 - python3 scripts/progress.py csv >> gh-pages/reports/progress-sa1-nonmatching.csv - python3 scripts/progress.py csv -m >> gh-pages/reports/progress-sa1-matching.csv - python3 scripts/progress.py shield-json > gh-pages/reports/progress-sa1-shield.json - python3 scripts/progress.py shield-json -m > gh-pages/reports/progress-sa1-shield-matching.json + python3 scripts/progress.py -f sa1.map csv >> gh-pages/reports/progress-sa1-nonmatching.csv + python3 scripts/progress.py -f sa1.map csv -m >> gh-pages/reports/progress-sa1-matching.csv + python3 scripts/progress.py -f sa1.map shield-json > gh-pages/reports/progress-sa1-shield.json + python3 scripts/progress.py -f sa1.map shield-json -m > gh-pages/reports/progress-sa1-shield-matching.json echo "REPORTS_COMMIT_MSG=$( git log --format=%s ${GITHUB_SHA} )" >> $GITHUB_ENV cp sa1.map gh-pages/maps/sa1/${GITHUB_SHA}.map From 12babe2c364ecd9fe35722cc391efe8203f5defb Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 01:23:28 +0100 Subject: [PATCH 04/14] more fixes --- .github/workflows/build.yml | 10 +++++++--- ...inc => collision__Coll_Player_Itembox_sa1.inc} | 0 ...800C1E8.inc => collision__sub_800C1E8_sa1.inc} | 0 scripts/progress.py | 15 ++++++++++++--- src/game/shared/stage/collision_3.c | 4 ++-- 5 files changed, 21 insertions(+), 8 deletions(-) rename asm/non_matching/game/shared/stage/{collision__Coll_Player_Itembox.inc => collision__Coll_Player_Itembox_sa1.inc} (100%) rename asm/non_matching/game/shared/stage/{collision__sub_800C1E8.inc => collision__sub_800C1E8_sa1.inc} (100%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb97e7bf27..f1e056d42d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,7 +107,7 @@ jobs: uses: actions/upload-artifact@v7 with: path: | - gh-pages + gh-pages-sa2 build-sa1-gba: if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork || github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork}} @@ -170,7 +170,7 @@ jobs: uses: actions/upload-artifact@v7 with: path: | - gh-pages + gh-pages-sa1 publish-progress: name: Publish progress @@ -190,7 +190,11 @@ jobs: uses: actions/download-artifact@v7 with: path: | - gh-pages + gh-pages-sa1 + gh-pages-sa2 + - run: | + cp -rl gh-pages-sa1 gh-pages + cp -rl gh-pages-sa2 gh-pages - run: | cat gh-pages/reports/progress-sa1-nonmatching-latest.csv >> gh-pages/reports/progress-sa1-nonmatching.csv cat gh-pages/reports/progress-sa1-matching-latest.csv >> gh-pages/reports/progress-sa1-matching.csv diff --git a/asm/non_matching/game/shared/stage/collision__Coll_Player_Itembox.inc b/asm/non_matching/game/shared/stage/collision__Coll_Player_Itembox_sa1.inc similarity index 100% rename from asm/non_matching/game/shared/stage/collision__Coll_Player_Itembox.inc rename to asm/non_matching/game/shared/stage/collision__Coll_Player_Itembox_sa1.inc diff --git a/asm/non_matching/game/shared/stage/collision__sub_800C1E8.inc b/asm/non_matching/game/shared/stage/collision__sub_800C1E8_sa1.inc similarity index 100% rename from asm/non_matching/game/shared/stage/collision__sub_800C1E8.inc rename to asm/non_matching/game/shared/stage/collision__sub_800C1E8_sa1.inc diff --git a/scripts/progress.py b/scripts/progress.py index 1f1935376e..67cb427fea 100644 --- a/scripts/progress.py +++ b/scripts/progress.py @@ -6,7 +6,7 @@ import os import re -def read_non_matching_funcs(filepath): +def read_non_matching_funcs(filepath, game): result = [] with open(filepath, 'r') as f: data = f.read() @@ -14,9 +14,15 @@ def read_non_matching_funcs(filepath): for i in range(len(lines)): line = lines[i] if "NONMATCH" in line: + if game == "sa1" and "sa2." in line: + continue + + if game == "sa2" and "sa1." in line: + continue + # if "unused_" in line.lower(): # continue - matcher = r'(?:SA2_LABEL\(\w+\))?(NONMATCH|ASM_FUNC)\(".*",\W*\w*\W*(\w*).*\)' + matcher = r'(NONMATCH|ASM_FUNC)\(".*?",\s*\w+\s+(?:SA2_LABEL\()?(\w+).*\)' match = re.findall(matcher, line) if match: result.append(match[0][1]) @@ -26,6 +32,8 @@ def read_non_matching_funcs(filepath): match = re.findall(r'\W*\w*\W*(\w*).*\)', line) if match: result.append(match[0]) + if result: + print(filepath, result) return result @@ -34,6 +42,7 @@ def parse_map(matching, map_file): asm = 0 src_data = 0 data = 0 + game = map_file.replace(".map", "") non_matching = 0 non_matching_funcs = [] @@ -59,7 +68,7 @@ def parse_map(matching, map_file): if matching: c_path = filepath.replace(".o", ".c") if os.path.exists(c_path): - non_matching_funcs += read_non_matching_funcs(c_path) + non_matching_funcs += read_non_matching_funcs(c_path, game) if filepath.startswith('build'): # build/*/(asm|data|sound|src|...)/*/ # ^ ^ ^ diff --git a/src/game/shared/stage/collision_3.c b/src/game/shared/stage/collision_3.c index dd1517a176..347c6ca9bf 100644 --- a/src/game/shared/stage/collision_3.c +++ b/src/game/shared/stage/collision_3.c @@ -142,7 +142,7 @@ u32 Coll_Player_Spring_Sideways(Sprite *s, CamCoord worldX, CamCoord worldY, Pla } // (99.92%) https://decomp.me/scratch/GFpFd -NONMATCH("asm/non_matching/game/shared/stage/collision__Coll_Player_Itembox.inc", +NONMATCH("asm/non_matching/game/shared/stage/collision__Coll_Player_Itembox_sa1.inc", u32 Coll_Player_Itembox(Sprite *s, CamCoord worldX, CamCoord worldY, Player *p)) { s8 rectDataPlayerA[4] = { -(p->spriteOffsetX + 5), (1 - p->spriteOffsetY), (p->spriteOffsetX + 5), (p->spriteOffsetY - 1) }; @@ -861,7 +861,7 @@ EHit sub_800C0E0(Sprite *s, CamCoord screenX, CamCoord screenY, Player *p) } // (97.67%) https://decomp.me/scratch/e4jLp -NONMATCH("asm/non_matching/game/shared/stage/collision__sub_800C1E8.inc", +NONMATCH("asm/non_matching/game/shared/stage/collision__sub_800C1E8_sa1.inc", u32 sub_800C1E8(Sprite *inSprite, Rect8 rectB, s16 sx, s16 sy, Player *p)) { #ifndef NON_MATCHING From 6a560602899cb6ef034eebcbb76806bc9494359f Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 01:39:27 +0100 Subject: [PATCH 05/14] try again --- .github/workflows/build.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f1e056d42d..d35f9698c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -108,6 +108,7 @@ jobs: with: path: | gh-pages-sa2 + name: sa2 build-sa1-gba: if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork || github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.fork}} @@ -170,7 +171,8 @@ jobs: uses: actions/upload-artifact@v7 with: path: | - gh-pages-sa1 + gh-pages + name: sa1 publish-progress: name: Publish progress @@ -188,10 +190,6 @@ jobs: ref: gh-pages - name: Download progress uses: actions/download-artifact@v7 - with: - path: | - gh-pages-sa1 - gh-pages-sa2 - run: | cp -rl gh-pages-sa1 gh-pages cp -rl gh-pages-sa2 gh-pages From 1351c30bb6441f056de8704b29c100a92c5465ff Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 01:54:19 +0100 Subject: [PATCH 06/14] try this --- .github/workflows/build.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d35f9698c9..46df0523f5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -190,9 +190,16 @@ jobs: ref: gh-pages - name: Download progress uses: actions/download-artifact@v7 - - run: | - cp -rl gh-pages-sa1 gh-pages - cp -rl gh-pages-sa2 gh-pages + with: + path: | + gh-pages + name: | + sa1 + sa2 + merge-multiple: true + # - run: | + # cp -rl gh-pages-sa1 gh-pages + # cp -rl gh-pages-sa2 gh-pages - run: | cat gh-pages/reports/progress-sa1-nonmatching-latest.csv >> gh-pages/reports/progress-sa1-nonmatching.csv cat gh-pages/reports/progress-sa1-matching-latest.csv >> gh-pages/reports/progress-sa1-matching.csv From 33833ed5a701f260bbe76241b504a3169c5a27f5 Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 01:54:58 +0100 Subject: [PATCH 07/14] another fix --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 46df0523f5..a4bbeda288 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,7 +107,7 @@ jobs: uses: actions/upload-artifact@v7 with: path: | - gh-pages-sa2 + gh-pages name: sa2 build-sa1-gba: From c54625d3e184780d6a3138aa192233d5ad93cfe4 Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 01:55:22 +0100 Subject: [PATCH 08/14] final --- .github/workflows/build.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4bbeda288..40cf28449c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -193,9 +193,6 @@ jobs: with: path: | gh-pages - name: | - sa1 - sa2 merge-multiple: true # - run: | # cp -rl gh-pages-sa1 gh-pages From 5a1749f839341d5a363c272f51055fcfabc5ea31 Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 02:11:58 +0100 Subject: [PATCH 09/14] try again! --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 40cf28449c..2017c6f02c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -194,7 +194,8 @@ jobs: path: | gh-pages merge-multiple: true - # - run: | + - run: | + ls -lah gh-pages/reports # cp -rl gh-pages-sa1 gh-pages # cp -rl gh-pages-sa2 gh-pages - run: | From 4efc6897226bd3d40317baa70d90a91fc10cd8bd Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 02:49:57 +0100 Subject: [PATCH 10/14] oops --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2017c6f02c..b2fd6fa606 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -159,8 +159,8 @@ jobs: run: | mkdir -p gh-pages/reports mkdir -p gh-pages/maps/sa1 - python3 scripts/progress.py -f sa1.map csv >> gh-pages/reports/progress-sa1-nonmatching.csv - python3 scripts/progress.py -f sa1.map csv -m >> gh-pages/reports/progress-sa1-matching.csv + python3 scripts/progress.py -f sa1.map csv >> gh-pages/reports/progress-sa1-nonmatching-latest.csv + python3 scripts/progress.py -f sa1.map csv -m >> gh-pages/reports/progress-sa1-matching-latest.csv python3 scripts/progress.py -f sa1.map shield-json > gh-pages/reports/progress-sa1-shield.json python3 scripts/progress.py -f sa1.map shield-json -m > gh-pages/reports/progress-sa1-shield-matching.json echo "REPORTS_COMMIT_MSG=$( git log --format=%s ${GITHUB_SHA} )" >> $GITHUB_ENV From 56c221a8c4c160c2ad12e57c654c38ee091c51a8 Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 02:54:37 +0100 Subject: [PATCH 11/14] final fix --- .github/workflows/build.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b2fd6fa606..706b65cb5e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -194,10 +194,6 @@ jobs: path: | gh-pages merge-multiple: true - - run: | - ls -lah gh-pages/reports - # cp -rl gh-pages-sa1 gh-pages - # cp -rl gh-pages-sa2 gh-pages - run: | cat gh-pages/reports/progress-sa1-nonmatching-latest.csv >> gh-pages/reports/progress-sa1-nonmatching.csv cat gh-pages/reports/progress-sa1-matching-latest.csv >> gh-pages/reports/progress-sa1-matching.csv From a85ee86782223881b09a0266215f72940f284762 Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 02:59:23 +0100 Subject: [PATCH 12/14] add sa1 progress badges --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 88aa960483..7e71f8b956 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,14 @@

CI status - Decompilation Progress - Decompilation Matching Progress Contributors Discord + + | | | + | --- | --- | + | SA1 | ![Decompilation Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa1-shield.json) ![Decompilation Matching Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa1-shield-matching.json) | + | SA2 | ![Decompilation Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa2-shield.json) ![Decompilation Matching Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa2-shield-matching.json) | +

> :warning: **This project is not completed and still under active development** From c4f289e075812ef3ff9b1bf1fc00ba445f2ce968 Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 03:04:40 +0100 Subject: [PATCH 13/14] center --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e71f8b956..664aadf31e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@

Sonic Advance 2 title screen

-

+

CI status Contributors Discord @@ -12,7 +12,7 @@ | SA1 | ![Decompilation Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa1-shield.json) ![Decompilation Matching Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa1-shield-matching.json) | | SA2 | ![Decompilation Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa2-shield.json) ![Decompilation Matching Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa2-shield-matching.json) | -

+
> :warning: **This project is not completed and still under active development** From 540e3dbc3feb83fafed32a0983699c8f7cbae125 Mon Sep 17 00:00:00 2001 From: Oliver Bell Date: Fri, 8 May 2026 03:05:57 +0100 Subject: [PATCH 14/14] what does this look like --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 664aadf31e..738e2761e0 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,15 @@ Sonic Advance 2 title screen

- CI status - Contributors - Discord - + | | | | --- | --- | | SA1 | ![Decompilation Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa1-shield.json) ![Decompilation Matching Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa1-shield-matching.json) | | SA2 | ![Decompilation Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa2-shield.json) ![Decompilation Matching Progress](https://img.shields.io/endpoint?url=https://sat-r.github.io/sa2/reports/progress-sa2-shield-matching.json) | + CI status + Contributors + Discord
> :warning: **This project is not completed and still under active development**