Skip to content

Instantly share code, notes, and snippets.

@osyu
osyu / mmfnt.py
Last active May 26, 2024 03:56
LBP2+ font converter
import argparse
import zlib
import cv2
import numpy as np
import skfmm
from dataclasses import dataclass
from io import BytesIO
from multiprocessing import cpu_count
from struct import calcsize, pack, unpack
from fontTools.misc.transform import Identity
@osyu
osyu / gs456scr.py
Last active December 3, 2024 18:32
GS456 (AJ:AA Trilogy) script converter
import argparse
import glob
import json
import os.path
import shutil
import traceback
DESCRIPTION = """Encode and decode GS456 (AJ:AA Trilogy) script files."""
USRHDR_SIZE = 48
@osyu
osyu / asrc31.py
Last active October 25, 2024 21:45
RE Engine ASRC encoder/decoder (for AJ:AA Trilogy)
import argparse
import shutil
import wave
DESCRIPTION = """Encode and decode RE Engine .asrc audio files.
Now with more confusion! For version 31 (AJ:AA Trilogy) only."""
SRCH_INFO = """srch (stub)
id: %d"""
SRCD_INFO = """srcd (data)
@osyu
osyu / gt_docs.md
Last active October 16, 2024 19:24
Ghost Trick remaster docs

(guides assume you're on Windows)

How to extract game assets

short answer

long answer

@osyu
osyu / asrc26.py
Last active January 26, 2024 02:46
RE Engine ASRC encoder/decoder (for Ghost Trick)
import argparse
import pathlib
import shutil
import wave
DESCRIPTION = """Encode and decode RE Engine .asrc audio files (srcd).
Only supports version 26 (Ghost Trick) at the moment."""
HEADER_SIZE = 78
@osyu
osyu / GhostTrick.list
Created August 15, 2023 06:34
Ghost Trick RE Engine file list, 96% (21723/22517) known paths
This file has been truncated, but you can view the full file.
natives/stm/boot/masterscene.scn.20
natives/stm/charfiles/2d/01_human/st01/birakubari/st01_bira_001/st01_bira_001.user.2
natives/stm/charfiles/2d/01_human/st01/birakubari/st01_bira_001/st01_bira_001_00_iml4.tex.35
natives/stm/charfiles/2d/01_human/st01/birakubari/st01_bira_002/st01_bira_002.user.2
natives/stm/charfiles/2d/01_human/st01/birakubari/st01_bira_002/st01_bira_002_00_iml4.tex.35
natives/stm/charfiles/2d/01_human/st01/birakubari/st01_bira_002/st01_bira_002_01_iml4.tex.35
natives/stm/charfiles/2d/01_human/st01/birakubari/st01_bira_003/st01_bira_003.user.2
natives/stm/charfiles/2d/01_human/st01/birakubari/st01_bira_003/st01_bira_003_00_iml4.tex.35
natives/stm/charfiles/2d/01_human/st01/birakubari/st01_bira_003/st01_bira_003_01_iml4.tex.35
natives/stm/charfiles/2d/01_human/st01/birakubari/st01_bira_003/st01_bira_003_02_iml4.tex.35
@osyu
osyu / cri_func_finder.py
Last active September 4, 2025 04:08
Ghidra script to find and rename CRIWARE SDK functions in binaries where they're statically linked
#Finds and renames CRIWARE SDK functions based on their unique error strings.
#@author osyu, robbie01
#@category Symbol
#@keybinding
#@menupath
#@toolbar
import json
import re
from ghidra.app.util import XReferenceUtils