Skip to content

Instantly share code, notes, and snippets.

View PancakeTAS's full-sized avatar
🐾
awruff~

PancakeTAS PancakeTAS

🐾
awruff~
View GitHub Profile
@PancakeTAS
PancakeTAS / README.md
Last active November 4, 2025 01:07
A GNU-less Sysroot: Compiling LLVM to run with musl, libc++ and compiler-rt

This gist shows how to get a fully working LLVM build that runs in a separate sysroot, completely free of any GNU tools. I achieved this by substituting glibc with musl, libstdc++ with libc++ and gcc-libs with compiler-rt. I can't say anything about the stability of this system (as far as I know libc++ is far from finished), but it was fun to get here.

Let's get started. For this, I'll assume you have a fully working LLVM compiler (clang) as well as LLVM linker (lld) on your system. I myself am on Artix Linux currently, and I'm running clang-19.1.7-2 and llvm-19.1.7-2.

First, let's grab all the resources we need:

If you want to give players the ability to download the newest and freshest release of your mod, you're gonna wanna set up this build ci script. Paste the script below into .github/workflows and create a spplice manifest in /. A example for a manifest.json is attached as well.

There's not a lot to configure. Here's what you can change:

  1. change on: [push] to on: [push, pull_request] if you want the script to run when a pull request is created.
  2. add submodules: true to the with: block in the step "Checkout repository", if you have added submodules to your project
  3. expand the excluded files using --exclude <wildcard> in the step "Create inner archive", if you have any more files you don't want to pack into the final spplice package (such as README.md and LICENSE.md)
@PancakeTAS
PancakeTAS / guide.md
Last active January 13, 2024 16:56
The Full Guide for converting Unreal Engine models to Source games

Here's how to do something you never ever wanted to do: Convert an unreal engine model from a game you like to a source model you can use in your silly VScript Portal 2 Mod. I tested this with models from "Ghostrunner" and ported them over to "Portal 2". I'm now writing this guide after the first ever success in hope to never forget this in the future!

Getting the Unreal Engine Model

First we need to extract the model from Unreal Engine. That's a pretty simple task... just kidding.

Most Unreal Engine files are encrypted with a key that is located in the Game-Shipping.exe. In order to obtain those keys we need to first get rid of DRM (applied by Steam) and then search for the keys.

Step 1: Get rid of DRM (If you have the game from Steam)

Download and open Steamless. In the fairly simple UI select the Game-Win64-Shipping.exe file, which should be located in <Game name>/Binaries/Win64/<Game name>-Win64-Shipping.exe. Then run the tool and copy the newly created `<G