Skip to content

Instantly share code, notes, and snippets.

View Yanis002's full-sized avatar

Yanis Yanis002

View GitHub Profile
@Yanis002
Yanis002 / Dockerfile
Created September 7, 2025 15:21
Dockerfile to build dolphin
FROM ubuntu:22.04 AS build
ENV TZ=UTC
ENV LANG=C.UTF-8
RUN apt-get update && \
apt-get install -y \
build-essential \
git \
cmake \
@Yanis002
Yanis002 / 003-PR-32372-opcodes-fix-std-gnu23-compatibility-wrt-static_asser.patch
Created August 26, 2025 19:52
working mips binutils for arch users (dynamic linking)
From 8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sat, 16 Nov 2024 05:03:52 +0000
Subject: [PATCH] opcodes: fix -std=gnu23 compatibility wrt static_assert
static_assert is declared in C23 so we can't reuse that identifier:
* Define our own static_assert conditionally;
* Rename "static assert" hacks to _N as we do already in some places
to avoid a conflict.
#!/usr/bin/env python3
import ndspy.narc as narc
import ndspy.lz10 as lz10
from pathlib import Path
def main(name: str):
decomp = Path("../github/st").resolve()
@Yanis002
Yanis002 / README.md
Last active August 2, 2025 11:53
Using the memory viewer I made for melonDS

Memory Viewer

If you're reading this, it means you're using this: https://github.com/Yanis002/melonDS/tree/memview, here's a guide on how to use this tool.

User Interface

image
  1. Current address, this is selectable
  2. Search bar, enter an address to jump wherever you want, it supports 0x prefix. It will execute the search once the length of the text in the input is 8 or 10 if using 0x prefix
@Yanis002
Yanis002 / gen_signatures.py
Last active July 17, 2025 10:32
ds-decomp function signature generator
#!/usr/bin/env python3
import argparse
import re
import subprocess
from dataclasses import dataclass
from pathlib import Path
from get_platform import get_platform
@Yanis002
Yanis002 / main.py
Last active April 4, 2025 21:15
simple web browser to workaround desktop livesplit one issues
#!/usr/bin/env python3
# pip requirements: PyQt6 and PyQt6-WebEngine
import sys
from pathlib import Path
from PyQt6.QtCore import QUrl, Qt
from PyQt6.QtGui import QIcon, QPixmap, QKeyEvent
from PyQt6.QtWidgets import QApplication, QMainWindow
@Yanis002
Yanis002 / sym_gz.py
Created March 18, 2025 16:10
collection of scripts to translate decomp symbols to gz lib
#!/usr/bin/env python3
# wrapper for sym_info.py that will print a symbol's name for every versions supported by gz
# this is assuming sym_info.py is in the same folder
import sys
import sym_info
def main():
@Yanis002
Yanis002 / class_finder.py
Last active October 15, 2024 13:28
VC64 - Find emulator's classes and guess the splits (wip)
#!/usr/bin/env python3
import argparse
import re
from dataclasses import dataclass, field
from pathlib import Path
from typing import Optional
# --- DTK HELPERS ---
@Yanis002
Yanis002 / sym_get.py
Created October 4, 2024 21:56
Execute this in a dtk-type project, meant for the homeboy project
#!/usr/bin/env python3
from pathlib import Path
from dataclasses import dataclass, field
@dataclass
class Section:
name: str
start: str = "0x00000000"
@Yanis002
Yanis002 / stringtable.py
Last active September 13, 2024 16:46
ST10 string table parser/editor for the wii virtual console emulator
#!/usr/bin/env python3
import hashlib
from pathlib import Path
from dataclasses import dataclass
# Methods of StringTable the user can use:
# - append() to add an element
# - insert() to insert an element