Skip to content

Instantly share code, notes, and snippets.

View iUltimateLP's full-sized avatar
🏠
Working from home

Jonathan Verbeek iUltimateLP

🏠
Working from home
View GitHub Profile
@iUltimateLP
iUltimateLP / migrate-takeout.sh
Last active November 1, 2024 15:48
⚡ Bash script that automates Exiftool to feed back metadata from a Google Photos Takeout Export's JSON sidecar format into the original media files 💡
#!/bin/bash
# This is a small helper script that utilizes Exiftool to feed back metadata from a Google Photos Takeout Export's JSON sidecar format
# into the original media files
# Usage: ./migrate-takeout -i <input_dir> -o <output_dir> -e <exiftool_path>
# Tells Bash to stop on errors if variables are unset
set -eu
@jam1garner
jam1garner / switch-gdb-cheatsheet.md
Last active October 30, 2024 05:40
GDB for Switch Modding Cheatsheet/Tutorial

This is a mini-tutorial of sorts for getting started with gdb on the Switch, with the target audience being people who want to mod and/or reverse games, with no prerequisite knowledge of gdb. The goal will be to walk you through some of the basic workflows needed to use a debugger on the Switch, while being brief enough for skimming for when you forget things.

If some part is unclear, your OS doesn't have install instructions, or you feel part of your workflow should be added here, feel free to comment any additions.

(If you only need a quick reference Jump to the Appendix)

Installing GDB

First off you'll need a version of GDB compatible with aarch64. This can be obtained via either a distribution of

@iUltimateLP
iUltimateLP / DynamicTexture.cpp
Last active November 10, 2024 02:24
Implements dynamic textures into Unreal Engine 4, which can be dynamically written at runtime using the fastest way possible: by directly manipulating the pixel buffer of the texture.
// DynamicTexture
#include "DynamicTexture.h"
// UTextures have a BPP of 4 (Red, Green, Blue, Alpha)
#define DYNAMIC_TEXTURE_BYTES_PER_PIXEL 4
void UDynamicTexture::Initialize(int32 InWidth, int32 InHeight, FLinearColor InClearColor, TextureFilter FilterMethod/* = TextureFilter::TF_Nearest*/)
{
// Store the parameters
@looterz
looterz / README.md
Last active August 7, 2024 01:26
UE4 Loading Screen with Progress

This will only work in cooked builds with Event Driven Loader enabled (enabled by default). Currently this only shows the specified packages loading progress, but not dependant packages, which is an annoying issue since that is where most of the loading time is for maps.

@iUltimateLP
iUltimateLP / sinusbot_itunescoverart.js
Last active August 12, 2016 10:48
A simple script to get Album Artwork from iTunes and put it inside the TeamSpeak avatar (using Sinusbot).
registerPlugin
(
{
name: 'iTunes Cover Art',
version: '1.0',
description: 'Download Cover Art from the iTunes API!',
author: 'Johnny Verbeek (iUltimateLP) <[email protected]>',
vars: {
desired_album_size:
{
@jblang
jblang / tpm2.md
Last active January 25, 2024 17:00
TPM2 Protocol Description

TPM2 Protocol Implementation

Introduction

Frame data is transferred inside packets (similar to DMX, for example). A frame is an image representing a matrix or a light scene.

The packets start and end with one-byte characters. In between are a few control bytes followed by the payload. There is no set size for a payload; it is transmitted with each packet. This makes the protocol quite flexible. There are enough bytes in a single packet for an RGB matrix with 21,845 pixels, but if you just want to control an RGBW lamp, that only requires 9 bytes. The variable frame size means there is no overhead, allowing for maximum transfer speed.

TPM2 Packet Structure