Skip to content

Instantly share code, notes, and snippets.

View TapGhoul's full-sized avatar

Tap TapGhoul

View GitHub Profile
@TapGhoul
TapGhoul / QOAUdonDecoder.cs
Last active August 18, 2025 06:40
QOA Udon Decoder
#if UNITY_EDITOR && !COMPILER_UDONSHARP
using UnityEditor;
using UdonSharpEditor;
#endif
using System;
using System.Diagnostics;
using UdonSharp;
using UnityEngine;
using Debug = UnityEngine.Debug;
@TapGhoul
TapGhoul / VRCEditorSyncFix.cs
Created October 17, 2024 16:57
VRC ClientSim serialization shim
using System;
using System.Collections.Generic;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
using VRC.Udon.Common;
[DefaultExecutionOrder(-1)]
public class VRCEditorSyncFix : MonoBehaviour, IDisposable
{
@TapGhoul
TapGhoul / Oxfowd Engwish Dictionawy.txt
Created March 27, 2021 04:08
Oxfowd Engwish Dictionawy
This file has been truncated, but you can view the full file.
a
a- pwefix (awso a-an- befowe a-a vowew sound) nyot, (U ﹏ U) without (amowaw). >w< [gweek]
a-aa abbw. (⑅˘꒳˘) 1 automobiwe association. >w< 2 a-awcohowics anonymous. ( ͡o ω ͡o ) 3 anti-aiwcwaft. rawr x3
aawdvawk n-ny. ( ͡o ω ͡o ) mammaw with a tubuwaw snout and a wong t-tongue, o.O feeding on tewmites. UwU [afwikaans]
@TapGhoul
TapGhoul / setClipboard.js
Last active March 28, 2018 13:31
Fucking javascript. Here's a way to do it without a huge lib that works in *most* browsers.
// Sets the clipboard without destroying the body too harshly, restoring focus and selections when done
function setClipboard(text) {
function getCurrSelections() {
var selection = window.getSelection();
var sels = new Array(selection.rangeCount).fill(0).map(function(e, idx) {
return selection.getRangeAt(idx);
});
return sels;
}
@TapGhoul
TapGhoul / brainfuck.go
Created February 14, 2018 22:39
A brainfuck interpreter in golang. Because I was bored.
package main
import (
"fmt"
"log"
"os"
)
func main() {
if len(os.Args) == 1 {
@TapGhoul
TapGhoul / PTVMessageBot.user.js
Last active January 27, 2018 18:20
Userscript for ScreampunkArts to simulate a basic chat bot
// ==UserScript==
// @name Picarto.TV Bot
// @namespace https://picarto.tv/
// @version 1.6
// @description Adds bot-like functionality to picarto chat (only works in your channel)
// @author Andrew Silver https://keybase.io/silvea12
// @match https://picarto.tv/site/dashboard
// @grant none
// ==/UserScript==
@TapGhoul
TapGhoul / prepare_input.py
Created December 14, 2017 22:54
Update the input map for godot 2/3 from db.txt
windows={}
osx={}
linux={}
with open("db.txt") as fp:
line = fp.readline().strip()
while line:
parts = line.split(",")
platform = ""
for i in parts:
@TapGhoul
TapGhoul / keybase.md
Created January 21, 2017 14:50
keybase.md

Keybase proof

I hereby claim:

  • I am silvea12 on github.
  • I am silvea12 (https://keybase.io/silvea12) on keybase.
  • I have a public key ASBGZvIj4krKVFc3k-b4AUwhbbmHAUIZnJK5PD_8P0aQRQo

To claim this, I am signing this object:

@TapGhoul
TapGhoul / countdownBot.go
Created November 19, 2016 23:15
Countdown bot for 24 hour game jam
package main
import (
"time"
"github.com/bwmarrin/discordgo"
)
type dur struct {
Duration time.Duration
var spammedUsers = {};
setInterval(function() {
for (var i in spammedUsers) {
spammedUsers[i]--;
if (spammedUsers[i] <= 0)
delete spammedUsers[i];
}
}, 2000)
socket.On('ChatMessage', function(data) {