2018-11-09 20:17:46 -08:00
|
|
|
# gists
|
|
|
|
|
|
|
|
all files are [Unlicensed,](http://unlicense.org/) unless otherwise noted:
|
|
|
|
|
|
|
|
```
|
|
|
|
This is free and unencumbered software released into the public domain.
|
|
|
|
For more information, please refer to <http://unlicense.org/>
|
|
|
|
```
|
|
|
|
|
|
|
|
the Python scripts here only work with Python 3.
|
|
|
|
|
|
|
|
### 360\_wasd
|
|
|
|
|
|
|
|
an ancient AutoHotKey script i wrote to convert the left control stick
|
|
|
|
of a 360 controller to WASD inputs on a keyboard.
|
2018-11-09 20:27:43 -08:00
|
|
|
i used it to play an equally ancient version of [The Binding of Isaac,](https://store.steampowered.com/app/113200/The_Binding_of_Isaac/)
|
2018-11-09 20:17:46 -08:00
|
|
|
among a couple other games.
|
|
|
|
|
|
|
|
it should still work fine even today, but
|
|
|
|
you can press F10 to kill it if it starts acting up.
|
|
|
|
|
|
|
|
### arithmetic\_coding
|
|
|
|
|
|
|
|
a GPL-licensed arithmetic coding compressor and decompressor for binary strings.
|
|
|
|
originally by [David MacKay,](http://www.inference.org.uk/mackay/python/compress/)
|
|
|
|
this has been cleaned up (passes pycodestyle) and ported to Python 3.
|
|
|
|
|
|
|
|
### batch\_encoding
|
|
|
|
|
|
|
|
another old script. this time it's a Windows batch file for re-encoding
|
|
|
|
videos to be suitable for online distribution.
|
|
|
|
i don't really use this anymore, but
|
|
|
|
it looks like i once used it for N64 videos recorded with Bizhawk.
|
|
|
|
|
|
|
|
it contains some advanced `compand` nonsense from before `acompressor` was a thing.
|
|
|
|
|
|
|
|
### batch\_font\_render
|
|
|
|
|
|
|
|
a zsh script to render fonts — all the otf & ttf's in a directory —
|
|
|
|
to png's, with some good ol' Lorem Ipsum.
|
|
|
|
it uses pango and fontconfig, so i've only tested it on \*nix.
|
|
|
|
|
|
|
|
i recently repurposed this script
|
|
|
|
to render characters to bitmaps for use as textures in games,
|
|
|
|
but i haven't uploaded that version yet.
|
|
|
|
|
|
|
|
### danbooru\_atomizer
|
|
|
|
|
2018-11-09 20:27:43 -08:00
|
|
|
a Python script that scrapes atom feeds on [danbooru (nsfw)](https://danbooru.donmai.us/)
|
2018-11-09 20:17:46 -08:00
|
|
|
and merges them into one mega-feed.
|
|
|
|
|
|
|
|
### danbooru\_scrape
|
|
|
|
|
|
|
|
another danbooru scraper, this time for batch-downloading all the images
|
|
|
|
for a given search query. requires zsh and xml2.
|
|
|
|
|
|
|
|
i don't think this version works anymore,
|
|
|
|
so i'll have to update it with my local changes sometime.
|
|
|
|
|
|
|
|
### desmos
|
|
|
|
|
|
|
|
[stuff i've plotted in desmos.](/desmos/desmos.md)
|
|
|
|
just click the link; it's another markdown file.
|
|
|
|
|
|
|
|
### dictionary\_attack
|
|
|
|
|
|
|
|
i went looking for a dead-simple tool to
|
|
|
|
construct random, fixed-length strings from a list of shorter strings,
|
|
|
|
but i realized in the time i'd find something i liked,
|
|
|
|
i could just write my own in Python.
|
|
|
|
so that's exactly what i did!
|
|
|
|
|
|
|
|
beware, this is highly unoptimized, favoring simplicity over speed.
|
|
|
|
|
2019-03-10 22:34:51 -07:00
|
|
|
### dnm
|
|
|
|
|
|
|
|
stuff related to Doubutsu no Mori,
|
|
|
|
the original Japan-only release of Animal Crossing for the N64.
|
|
|
|
|
|
|
|
right now, this just contains a patch to make the game boot
|
|
|
|
directly into the NES emulator for experimenting with.
|
|
|
|
|
|
|
|
since this game is built on the Zelda 64 engine (go figure),
|
|
|
|
you can extract files and reconstruct ROMs
|
|
|
|
by using the `z64_dump.py` script, found elsewhere in my `mm` repo.
|
|
|
|
|
|
|
|
### ds1
|
|
|
|
|
|
|
|
stuff related to Dark Souls 1.
|
|
|
|
contains scripts to extract raw dialog and weapon/armor/npc/etc data.
|
|
|
|
|
|
|
|
you can extract the necessary files from the game's archives
|
|
|
|
using this tool:
|
|
|
|
[PC](https://github.com/HotPocketRemix/UnpackDarkSoulsForModding)
|
|
|
|
or [PS3](https://github.com/notwa/UnpackDarkSoulsForModding)
|
|
|
|
|
2018-11-09 20:17:46 -08:00
|
|
|
### dwarf\_font
|
|
|
|
|
|
|
|
the 8x12 bitmap font included with [Dwarf Fortress](http://www.bay12games.com/dwarves),
|
2018-11-09 20:27:43 -08:00
|
|
|
alongside a [love2d](https://love2d.org/) Lua script for loading it
|
2018-11-09 20:17:46 -08:00
|
|
|
with all the appropriate character mappings.
|
|
|
|
|
|
|
|
the code is Unlicensed, and i believe the font itself is public domain.
|
|
|
|
|
|
|
|
### explicit\_globals
|
|
|
|
|
2018-11-09 20:27:43 -08:00
|
|
|
hmm, this probably shouldn't be here...
|
2018-11-09 20:17:46 -08:00
|
|
|
|
|
|
|
### filter\_tutorial
|
|
|
|
|
|
|
|
a single Python file that walks you through
|
|
|
|
designing and plotting an IIR filter.
|
|
|
|
requires numpy, scipy, and matplotlib.
|
|
|
|
|
|
|
|
### image\_deduplication
|
|
|
|
|
|
|
|
a Python script to find duplicate images given a hamming distance threshold.
|
|
|
|
it employs dhash to do the heavy lifting. requires pillow and dhash.
|
|
|
|
|
|
|
|
it doesn't recurse into `./_duplicate/` so you can dump things there if you wish.
|
|
|
|
|
|
|
|
### kill\_reboot
|
|
|
|
|
|
|
|
does nasty stuff to Windows 10 to
|
|
|
|
prevent updates from automatically triggering reboots.
|
|
|
|
|
2018-11-09 20:27:43 -08:00
|
|
|
the C# portion is based on [NSudo.](https://github.com/M2Team/NSudo)
|
|
|
|
the batch script exploits [a UAC bypass found by Tyranid.](https://tyranidslair.blogspot.ca/2017/05/exploiting-environment-variables-in.html)
|
2018-11-09 20:17:46 -08:00
|
|
|
|
|
|
|
### kyaa
|
|
|
|
|
|
|
|
really *really* hacky argument-parsing macros for C programs.
|
|
|
|
|
|
|
|
contains [some ad-hoc documentation.](/kyaa/kyaa.md)
|
|
|
|
|
|
|
|
This is free and unencumbered software released into the public domain.
|
|
|
|
|
2019-03-10 22:34:51 -07:00
|
|
|
### lsca
|
|
|
|
|
|
|
|
a brief cellular automata experiment.
|
|
|
|
inspired by [Loren Schmidt.](https://twitter.com/lorenschmidt)
|
|
|
|
|
2018-11-09 20:17:46 -08:00
|
|
|
### love\_plotting
|
|
|
|
|
2018-11-09 20:27:43 -08:00
|
|
|
plotting equations with [love2d](https://love2d.org/).
|
2018-11-09 20:17:46 -08:00
|
|
|
it probably doesn't work on the latest version.
|
|
|
|
|
|
|
|
it's nothing special, and i only included it here for archival sake.
|
|
|
|
i have a newer version locally, but it needs to be cleaned up before it can be committed.
|
|
|
|
|
|
|
|
### lsf
|
|
|
|
|
|
|
|
an awful bash script i started writing just for fun,
|
|
|
|
left here for archival sake.
|
|
|
|
heaven forbid you actually enjoy this program,
|
2018-11-09 20:27:43 -08:00
|
|
|
please instead consider using [ls--](https://github.com/trapd00r/ls--)
|
2018-11-09 20:17:46 -08:00
|
|
|
or the like.
|
|
|
|
|
|
|
|
### mario\_tennis
|
|
|
|
|
|
|
|
this C program validates, brute-forces, and generates codes
|
|
|
|
for the defunct Ring Tournament mode in Mario Tennis (N64),
|
|
|
|
once used to hold competitions in magazines and the like.
|
|
|
|
|
|
|
|
### mips\_disassembler
|
|
|
|
|
|
|
|
an old disassembler for MIPS III binaries by spinout.
|
|
|
|
the license is ambiguous.
|
|
|
|
|
|
|
|
i've since tweaked and cleaned the code. a little. not a lot.
|
|
|
|
|
|
|
|
### music\_sync
|
|
|
|
|
|
|
|
a Python script for syncing and re-encoding audio files
|
|
|
|
for use on music players that support ogg vorbis.
|
|
|
|
if you actually want to use this for some reason,
|
|
|
|
be aware that you will need to know how to write Python
|
|
|
|
to get it to work the way you want. and also, it's *really* slow,
|
|
|
|
and even runs out of memory if too many files need updating (thanks mutagenx).
|
|
|
|
|
|
|
|
### n64\_models
|
|
|
|
|
|
|
|
a hastily-written Python script for outlining the F3DEX model format
|
|
|
|
used in some N64 games.
|
|
|
|
|
|
|
|
### polyphase\_halfband
|
|
|
|
|
|
|
|
a C port (from C++) of the polyphase halfband filter coefficient generator
|
|
|
|
by [Laurent de Soras.](http://ldesoras.free.fr/index.html)
|
|
|
|
|
|
|
|
the original is licensed under the [WTFPL,](http://www.wtfpl.net/)
|
|
|
|
so i'm re-licensing this under [Unlicense,](http://unlicense.org/) because i can.
|
|
|
|
|
|
|
|
don't read into the code too much, it's not meant to be understood (sadly).
|
|
|
|
|
|
|
|
### print\_tables
|
|
|
|
|
|
|
|
provides the `pt` Lua module for recursively dumping table contents
|
|
|
|
into a semi-human-readable format.
|
|
|
|
since the resulting format cannot be deserialized,
|
|
|
|
this is primarily intended for debugging purposes,
|
|
|
|
and i'd like to think it excels at that.
|
|
|
|
|
|
|
|
### psnip\_clock
|
|
|
|
|
|
|
|
a fork of the clock utility header file
|
2018-11-09 20:27:43 -08:00
|
|
|
from [Portable Snippets](https://github.com/nemequ/portable-snippets)
|
2018-11-09 20:17:46 -08:00
|
|
|
by Evan Nemerson.
|
|
|
|
this fork removes the dependency on `windows.h` for the Windows backend
|
|
|
|
by using some gross hacks,
|
|
|
|
albeit not as gross as actually having to include `windows.h`.
|
2018-11-09 20:27:43 -08:00
|
|
|
this is licensed under [CC0 1.0.](https://creativecommons.org/publicdomain/zero/1.0/)
|
2018-11-09 20:17:46 -08:00
|
|
|
|
|
|
|
### speedrun\_comparison
|
|
|
|
|
|
|
|
an avisynth script for creating
|
2018-11-09 20:27:43 -08:00
|
|
|
[speedrun comparison videos like this.](https://youtu.be/Y2wW5TmOzFw)
|
2018-11-09 20:17:46 -08:00
|
|
|
|
|
|
|
### starcraft\_cdkey
|
|
|
|
|
|
|
|
a C program to validate Starcraft 1 CD-keys.
|
|
|
|
the original Starcraft is free now,
|
|
|
|
so this program doesn't serve much purpose other than
|
|
|
|
to demonstrate how *not* to write a CD-key validation routine —
|
|
|
|
you can brute-force any key by hand just by tweaking the final digit!
|
|
|
|
|
|
|
|
### starcraft\_maps
|
|
|
|
|
|
|
|
a Python script for reading and re-writing Starcraft 1 maps,
|
|
|
|
i.e. deprotection, or what-have-you.
|
|
|
|
|
|
|
|
### string\_tensions
|
|
|
|
|
|
|
|
Python scripts for determining optimal guitar string tensions
|
|
|
|
for a given tuning, and similar tasks,
|
|
|
|
backed by a database of manufacturers' strings.
|
2018-11-09 20:27:43 -08:00
|
|
|
the data here is probably obsolete by now.
|
2018-11-09 20:17:46 -08:00
|
|
|
|
|
|
|
### thps1
|
|
|
|
|
|
|
|
a C program for exploring the "TYR" glitch in Tony Hawk's Pro Skater 1 (N64).
|
|
|
|
|
|
|
|
### tiny\_crc32
|
|
|
|
|
|
|
|
a very small C program for computing CRC-32s.
|
2018-11-09 20:29:48 -08:00
|
|
|
this is a rewrite of [the code by Karl Malbrain.](http://www.geocities.ws/malbrain/crc_c.html)
|
2018-11-09 20:17:46 -08:00
|
|
|
the license is ambiguous?
|
|
|
|
|
2018-11-09 20:27:43 -08:00
|
|
|
i've written [a similar routine in MIPS assembly.](https://eaguru.guru/git/notwa/mm/src/branch/master/asm/crc32.asm)
|
2018-11-09 20:17:46 -08:00
|
|
|
|
|
|
|
### trackmogrify
|
|
|
|
|
2018-11-09 20:27:43 -08:00
|
|
|
just a list of strings recognized by [Distance's](https://store.steampowered.com/app/233610/Distance/)
|
2018-11-09 20:17:46 -08:00
|
|
|
trackmogrify feature. this was extracted directly from the game's memory,
|
|
|
|
and was last updated for version 1.0.
|
|
|
|
|
|
|
|
### warcraft\_hash
|
|
|
|
|
|
|
|
a C program for the unique hashing function found in Warcraft III.
|
|
|
|
|
|
|
|
### warcraft\_hashes
|
|
|
|
|
2018-11-09 20:27:43 -08:00
|
|
|
a list of hashes and the source strings
|
|
|
|
found in the game that use the aforementioned hash function.
|
2018-11-09 20:17:46 -08:00
|
|
|
|
|
|
|
### README.md
|
|
|
|
|
|
|
|
you're lookin' at it!
|