gists/README.md
2021-01-05 14:38:04 +01:00

277 lines
8.4 KiB
Markdown

# 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.
i used it to play an equally ancient version of [The Binding of Isaac,](https://store.steampowered.com/app/113200/The_Binding_of_Isaac/)
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.
### coin\_or\_build
a shell script that builds Bonmin and its many, *many* dependencies
on other coin\_or projects.
### danbooru\_atomizer
a Python script that scrapes atom feeds on [danbooru (nsfw)](https://danbooru.donmai.us/)
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.
### debug\_saves
for Majora's Mask:
these gameshark cheats will override the default save file
with the debug save file. create a new file on the file select screen
and it should create a debug save.
*note:* this is probably the same as using map select.
### 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.
### 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)
### dwarf\_font
the 8x12 bitmap font included with [Dwarf Fortress](http://www.bay12games.com/dwarves),
alongside a [love2d](https://love2d.org/) Lua script for loading it
with all the appropriate character mappings.
the code is Unlicensed, and i believe the font itself is public domain.
### 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.
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)
### kyaa
[*moved to its own repo*](/git/notwa/kyaa)
### lsca
a brief cellular automata experiment.
inspired by [Loren Schmidt.](https://twitter.com/lorenschmidt)
### love\_plotting
plotting equations with [love2d](https://love2d.org/).
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,
please instead consider using [ls--](https://github.com/trapd00r/ls--)
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.
### phasmophobia
an AutoHotKey script for quickly adding and removing equipment to 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.
### response
some old, brief notes on biquads.
### rng64
some notes on the random number generator that Ocarina of Time
and Majora's Mask use. don't get your hopes up about the manipulation stuff.
### speedrun\_comparison
an avisynth script for creating
[speedrun comparison videos like this.](https://youtu.be/Y2wW5TmOzFw)
### 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.
the data here is probably obsolete by now.
### 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.
this is a rewrite of [the code by Karl Malbrain.](http://www.geocities.ws/malbrain/crc_c.html)
the license is ambiguous?
i've written [a similar routine in MIPS assembly.](https://eaguru.guru/git/notwa/mm/src/branch/master/asm/crc32.asm)
### trackmogrify
just a list of strings recognized by [Distance's](https://store.steampowered.com/app/233610/Distance/)
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
a list of hashes and the source strings
found in the game that use the aforementioned hash function.
### README.md
you're lookin' at it!