Skip to content

Instantly share code, notes, and snippets.

View aaronfranke's full-sized avatar
🤖
Waiting 4 Godot

Aaron Franke aaronfranke

🤖
Waiting 4 Godot
View GitHub Profile
@aaronfranke
aaronfranke / OldAMDA6LaptopSteamSpecs.txt
Created September 5, 2018 00:11
Old AMD A6 Laptop Steam Specs
Computer Information:
Manufacturer: Unknown
Model: Unknown
Form Factor: Laptop
No Touch Input Detected
Processor Information:
CPU Vendor: AuthenticAMD
CPU Brand: AMD A6-3400M APU with Radeon(tm) HD Graphics
CPU Family: 0x12
@aaronfranke
aaronfranke / AaronLang.py
Last active October 5, 2019 16:29
Prototype syntax for "Aaron Language", my dream programming language.
# This is a prototype syntax for "Aaron Lang".
# Inspired by C#, C++, GDScript, and Python.
# I doubt this would ever be a thing, but it shows what I would put in "the perfect language"
# The file is ".py" to make GitHub display the comments as a different color, but to be clear, this is nowhere close to Python.
# Comments are defined with "# " at the start.
# This is because "//" is used for math (floor division).
/* Inline and multi-line comments are also supported, but I only use the hash in this file */
@aaronfranke
aaronfranke / crash.txt
Last active January 28, 2019 10:55
Strange Godot Editor Crash 3.1 Beta 2 with Mono on Ubuntu 18.04
Godot 3.1 Beta 3 Mono:
OpenGL ES 3.0 Renderer: GeForce GTX 770/PCIe/SSE2
Editing project: /home/aaronfranke/workspace/SpaceStation (::home::aaronfranke::workspace::SpaceStation)
OpenGL ES 3.0 Renderer: GeForce GTX 770/PCIe/SSE2
Running: /home/aaronfranke/Documents/Godot/3.1-mono/Godot --path /home/aaronfranke/workspace/SpaceStation --remote-debug 127.0.0.1:6007 --allow_focus_steal_pid 26201 --debug-collisions --position 160,90
OpenGL ES 3.0 Renderer: GeForce GTX 770/PCIe/SSE2
Stacktrace:
at <unknown> <0xffffffff>
@aaronfranke
aaronfranke / SteamSystemInformationAaronFranke.txt
Created May 7, 2019 02:53
Steam System Information Aaron Franke
* System information from steam (`Steam` -> `Help` -> `System Information`) in a [gist](https://gist.github.com/):
Computer Information:
Manufacturer: Unknown
Model: Unknown
Form Factor: Desktop
No Touch Input Detected
Processor Information:
CPU Vendor: GenuineIntel
@aaronfranke
aaronfranke / convert-to-godot4.sh
Last active April 2, 2024 16:20
This script bulk-renames many things in Godot 3 projects to hopefully make it easier to convert them to Godot 4.
#!/usr/bin/env bash
# This script bulk-renames many things in Godot 3 projects to hopefully
# make it easier to convert them to Godot 4. The goal is to do as much
# replacing as possible here so that the diffs Godot produces are smaller.
set -uo pipefail
IFS=$'\n\t'
# Loops through all text files tracked by Git.
@aaronfranke
aaronfranke / godot-marshalls-simplification-proposal.cpp
Last active April 14, 2022 03:34
Godot Marshalls Simplification Proposal
// Here are three of the cases:
case Variant::VECTOR2: {
Vector2 val;
if (type & ENCODE_FLAG_64) {
ERR_FAIL_COND_V((size_t)len < sizeof(double) * 2, ERR_INVALID_DATA);
val.x = decode_double(&buf[0]);
val.y = decode_double(&buf[sizeof(double)]);
if (r_len) {
@aaronfranke
aaronfranke / inertia-chatgpt.md
Last active February 21, 2023 19:03
Inertia Tensor ChatGPT

Aaron Franke

I am working on a standard for specifying parameters for rigid body physics. This standard needs to support multiple physics engines. I already have parameters for the body's mass, linear velocity, and angular velocity. I need to add a new parameter for the inertia tensor, which describes the body's resistance to be rotated in different directions. The problem is that some physics engines implement the inertia tensor as a 3x3 matrix, and some physics engines implement inertia as a Vector3. I am thinking that I should specify the parameter as a 3x3 matrix, and include algorithms to convert to and from Vector3 inertia to support those physics engines that use Vector3 inertia. What is the formula to do this? Also, can you evaluate if my approach is portable?

ChatGPT

Your approach of specifying the inertia tensor as a 3x3 matrix and including algorithms to convert to and from Vector3 inertia is a good way to handle the variability in how different physics engines implement inertia. To convert be

@aaronfranke
aaronfranke / float_table_generator.gd
Last active August 6, 2023 08:11
IEEE-style floating-point format table generator (GDScript)
# IEEE-style floating-point format table generator (GDScript)
# Python version: https://gist.github.com/aaronfranke/0d1217e521c4ec784d39e92b5f039115
# GDScript version: https://gist.github.com/aaronfranke/8b2c39bfbe48068c574e4daf2710c875
extends Node
# SEMB values can describe any IEEE-like binary floating-point format.
var sign_bit: bool = true
var exponent_bits: int = 2
var mantissa_bits: int = 1
## Can be set to an integer. If null, the bias will be automatically determined
@aaronfranke
aaronfranke / float_table_generator.py
Last active August 6, 2023 08:48
IEEE-style floating-point format table generator (Python)
# IEEE-style floating-point format table generator (Python)
# Python version: https://gist.github.com/aaronfranke/0d1217e521c4ec784d39e92b5f039115
# GDScript version: https://gist.github.com/aaronfranke/8b2c39bfbe48068c574e4daf2710c875
import copy
# SEMB values can describe any IEEE-like binary floating-point format.
sign_bit: bool = True
exponent_bits: int = 4
mantissa_bits: int = 3
## Can be set to an integer. If null, the bias will be automatically determined
@aaronfranke
aaronfranke / duncan_roo_minecraft_cpm
Last active February 6, 2024 20:48
Duncan Roo Minecraft Model Custom Player Models
UyxQUFAAAP1WAAD1WPVY9VgAAAAAAAAAAQAAEQoKAAAEqflX/b3+q/+8AAAAAAAACgBYLS8UBx4AAAAAAKr9Vv/e+K0AAAAAAAALAisAFA0eAAD/VgAA/Vb9VvlXAAAAAAAACwIhAA8yCgFV/AEAAAAA8q4AAAAAAAAKqgoBegAPMgr+q/wBAAD8AfKuAAAAAAAA9VQKAXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaZFoAAB/4AAD0A/Ku9AMAAAAAAAABAUAtPDI8AAAGqQf++AL5VwAABxwAAAAAEQFoHigoKAAAAAANUvqs+qwAAAqqAAAAABIBcBYeHh4AAP6rB/78Af1WAAAKqgAAAAATAXQQFBQUAAABVQap/Vb9VgAACqoAAAAAFAF4DAoKCgAAAAAFCP6r/qsAAAccAAAAABUBciM8PDwAAA/8AAD4AvgC+AIAAAAAAAABAUAgMigyAAAFVAAA+Vf6rPlXAAAAAAAAAQFCFR4oHgAAAAAAAPwB+Vf8AQAAAAAAAAEBQwwegh4AAAAAAAD8Af1W/AEAAAAAAAACASIwAAAAAAAP/P1WAAAAAAAAAAAAAAAAAgAAAAAegh4AAAAAAAD8Af1W/AEAAAAAAAADASoQAAAAAAAP/P1WAAAAAAAAAAAAAAAAAwAAAAAeRigAAAAAAAD8Afqs+qzVVAAAAAAEARExGRlGAAAJUwFV/Kz8rPwBAAAAAAAAHgEQNShQFAAAAAAOp/qs/Kz9VuqpAAAAAB8CNBYeRigAAAAAAAD8Afqs+qzVVAAAAAAFARExGRlGAAAJUwFV/Kz8rPwBAAAAAAAAIQEQNShQFAAAAAAOp/qs/Kz9VuqpAAAAACICNBYAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAoKCgAA/7zzxv6r/qv+qwqqAAAAACQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAoPBQAABzH5PP6r/gH/VvHGAAAAACYIAgIAAAAAAAAAAAAA