AcTePuKc
Member
- Dec 2, 2020
- 118
- 103
Tool Name: F.A.P.S. – Fast Automated Patch Set Generator
What It Does:
Compare two versions of a Ren'Py game (or any folder-based project) and generate a patch with only the changed files. Perfect for modders, translators, and devs distributing updates.
Why?
So (other) players don’t have to redownload 2GB for 2 changed .rpy files.
Features:
✅ Detects NEW and MODIFIED files with high accuracy (checksum-based by default)
✅ Keeps folder structure intact when building patches
✅ Optional .diff files for comparing changes in text-based files (like .rpy, .txt, .json)
✅ Optionally compresses output into a ready-to-upload .zip
✅ Glob-based ignore patterns (e.g., skip logs, cache, etc.)
✅ Uses descriptive folder names like patch_v0.6.1_to_v0.6.2_timestamp
✅ Supports existing .csv/.tsv
✅ Does NOT delete anything – existing files in the target game folder stay untouched
✅ GUI-based and beginner-friendly — no CLI skills needed
✅ Should works on Windows/Linux/Mac out of the box (Requires Python 3.9+ installed - that's it)
Tested Use Cases:
✅ Updating Ren'Py games between releases
❌ Shipping translation packs or hotfixes
❌ Distributing small changes for large file-based projects
❌ Creating version diff logs for code/scripts
Most of the code was created with a little help from AI (vibe-coded, not fully copy-pasted).
If something breaks, or you’ve got ideas for new features — drop a message, I’ll try to respond or fix it when I can.
Download: [This F95 thread]
⚠ Might trigger your antivirus (false positive). The EXE is bundled with PyInstaller/Nutika and unsigned — totally normal.
If you're paranoid (me too), feel free to scan it yourself:
SHA-256 (EXE / PyInstaller):
SHA-256 (EXE / Nuitka — onefile):
SHA-256 (ZIP / Python script version):
F.A.P.S. — Because wasting bandwidth is so last patch.
What It Does:
Compare two versions of a Ren'Py game (or any folder-based project) and generate a patch with only the changed files. Perfect for modders, translators, and devs distributing updates.
Why?
So (other) players don’t have to redownload 2GB for 2 changed .rpy files.
Features:
✅ Detects NEW and MODIFIED files with high accuracy (checksum-based by default)
✅ Keeps folder structure intact when building patches
✅ Optional .diff files for comparing changes in text-based files (like .rpy, .txt, .json)
✅ Optionally compresses output into a ready-to-upload .zip
✅ Glob-based ignore patterns (e.g., skip logs, cache, etc.)
✅ Uses descriptive folder names like patch_v0.6.1_to_v0.6.2_timestamp
✅ Supports existing .csv/.tsv
✅ Does NOT delete anything – existing files in the target game folder stay untouched
✅ GUI-based and beginner-friendly — no CLI skills needed
✅ Should works on Windows/Linux/Mac out of the box (Requires Python 3.9+ installed - that's it)
Tested Use Cases:
✅ Updating Ren'Py games between releases
❌ Shipping translation packs or hotfixes
❌ Distributing small changes for large file-based projects
❌ Creating version diff logs for code/scripts
Most of the code was created with a little help from AI (vibe-coded, not fully copy-pasted).
If something breaks, or you’ve got ideas for new features — drop a message, I’ll try to respond or fix it when I can.
You don't have permission to view the spoiler content.
Log in or register now.
You don't have permission to view the spoiler content.
Log in or register now.
Download: [This F95 thread]
⚠ Might trigger your antivirus (false positive). The EXE is bundled with PyInstaller/Nutika and unsigned — totally normal.
If you're paranoid (me too), feel free to scan it yourself:
You must be registered to see the links
SHA-256 (EXE / PyInstaller):
60576e18c45f69d3ed0a106827ce32f9b8c19754533b02b30d8779a98c57b330
SHA-256 (EXE / Nuitka — onefile):
31e2223437c36214d3d8168874e6b3a0060e54ed0000cefb9e71570a239701ed
SHA-256 (ZIP / Python script version):
3839d331b0927168a43b01773f40dd7517948aeac7be0dce8355e7458933b00b
F.A.P.S. — Because wasting bandwidth is so last patch.
Last edited: