A repo for all the random small programs I write when I need to, because I feel like their code might be useful to other people, I guess.
Find a file
2023-10-08 22:46:33 +02:00
.gitignore Update this shit. 2022-01-01 20:50:20 +01:00
bleep.c New stuff 2018-05-29 14:18:48 +02:00
ckmextract.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
COPYING New stuff. 2023-10-08 22:46:33 +02:00
cropng.c Add fontatlas and fontspread from Demolitionist development. 2022-08-22 17:56:31 +02:00
cube2enviro.c Wow I haven't updated this in a long time. 2019-11-19 17:28:33 +01:00
ddsinfo.c Wow I haven't updated this in a long time. 2019-11-19 17:28:33 +01:00
dood.c Wow I haven't updated this in a long time. 2019-11-19 17:28:33 +01:00
dtexdupes.c Personal rebranding. 2022-05-13 18:39:14 +02:00
endoomview.c Update this shit. 2022-01-01 20:50:20 +01:00
fmod_playbank.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
fontatlas.c Add fontatlas and fontspread from Demolitionist development. 2022-08-22 17:56:31 +02:00
fontspread.c Add fontatlas and fontspread from Demolitionist development. 2022-08-22 17:56:31 +02:00
fuzrip.c Relicense as MIT. 2020-10-25 10:56:47 +01:00
fuzz.c Personal rebranding. 2022-05-13 18:39:14 +02:00
glfuzz.c Personal rebranding. 2022-05-13 18:39:14 +02:00
iwad64ex.c Personal rebranding. 2022-05-13 18:39:14 +02:00
lutconv2.c Personal rebranding. 2022-05-13 18:39:14 +02:00
lutflat.c Personal rebranding. 2022-05-13 18:39:14 +02:00
lutsmooth.c Personal rebranding. 2022-05-13 18:39:14 +02:00
mazestuff.c Personal rebranding. 2022-05-13 18:39:14 +02:00
memrd.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
memsk.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
memwr.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
mkfont.c mkfont: Add "no drop shadow" gradients. 2023-01-10 13:35:15 +01:00
mkfont_unr.c Migrate mkfont from Demolitionist project to here. 2022-01-21 20:54:39 +01:00
mkgauss.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
mksoundwad.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
mkssao.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
mkstartup.c Deprecated mkstartup tool from Demolitionist. 2022-08-31 11:43:37 +02:00
mkvolume.c Personal rebranding. 2022-05-13 18:39:14 +02:00
mkwall.c Personal rebranding. 2022-05-13 18:39:14 +02:00
osnorm.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
pcxpalex.c Wow I haven't updated this in a long time. 2019-11-19 17:28:33 +01:00
pframes.c pframes: big refactor, add pframes_named for IQMs. 2023-01-10 13:35:41 +01:00
pframes_named.c pframes: big refactor, add pframes_named for IQMs. 2023-01-10 13:35:41 +01:00
pngread.c Update this shit. 2022-01-01 20:50:20 +01:00
README.md New stuff. 2023-10-08 22:46:33 +02:00
schange.c Personal rebranding. 2022-05-13 18:39:14 +02:00
skse_cosave.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
soapstone.c Personal rebranding. 2022-05-13 18:39:14 +02:00
startuptest.c Personal rebranding. 2022-05-13 18:39:14 +02:00
totty.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
u083extract.c Wow I haven't updated this in a long time. 2019-11-19 17:28:33 +01:00
u086extract.c Unreal packages are a fucking mess ahahahahahaha. 2019-12-12 20:20:21 +01:00
u95extract.c Wow I haven't updated this in a long time. 2019-11-19 17:28:33 +01:00
ucextract.c New stuff. 2023-10-08 22:46:33 +02:00
udmfvis.c Personal rebranding. 2022-05-13 18:39:14 +02:00
ufontext.c Wow I haven't updated this in a long time. 2019-11-19 17:28:33 +01:00
uftxextract.c New stuff. 2023-10-08 22:46:33 +02:00
umodextract.c New stuff. 2023-10-08 22:46:33 +02:00
umxunpack.c Relicense as MIT. 2020-10-25 10:56:47 +01:00
unrundeleter.c Relicense as MIT. 2020-10-25 10:56:47 +01:00
usndextract.c Relicense as MIT. 2020-10-25 10:56:47 +01:00
utxextract.c Relicense as MIT. 2020-10-25 10:56:47 +01:00
vc2sdl.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
wavrip.c Wow I haven't updated this in a long time. 2019-11-19 17:28:33 +01:00
wavsmpl.c Add wavsmpl. 2021-02-26 16:04:17 +01:00
withhands.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00
zimagekver.c I guess I can just put this up. Most of these have been sitting here forever. 2017-09-04 11:24:40 +02:00

Random single-file programs I've written in my spare time for small tasks. Some of these are unfinished, but I keep the code here anyway.

  • bleep: I got bored and decided to write a pc speaker music program.
  • ckmextract: Extracts ESP and BSA from Skyrim steam workshop mod archives.
  • cropng: Crops PNGs and applies grAb offsets (while respecting existing ones).
  • cube2enviro: A simple GL 4.4 program. Loads a cubemap and draws a flattened hemisphere environment map that can be used in Unreal.
  • ddsinfo: Shows contents of a DDS header.
  • dood: Reads an ENDOOM lump and mirrors every word "down the middle".
  • dtexdupes: Small tool I've used once or twice to clean up my doom projects of duplicate textures.
  • endoomview: Renders ENDOOM lumps onto a terminal. Requires an Unicode terminal with 256-color support (not xterm, basically).
  • fmod_playbank (formerly fuck_fmod): Tool for playback of .fsb files.
  • fontatlas: Tool used in Demolitionist development, converts json font atlas data to plaintext for easier ZScript parsing.
  • fontspread: Tool used in Demolitionist development, converts back and forth between "compressed" font atlas texture and a linear spread of all glyphs. Useful for adding gradient effects and others, since all glyphs are properly centered.
  • fuzrip: Tool for awkwardly extracting audio from Creation Engine .fuz voice files.
  • fuzz: A fancy blocky noise filter using proto-AliceGL designs.
  • glfuzz: OpenGL version of the filter.
  • iwad64ex: A small, failed experiment for ripping the Hexen 64 IWAD.
  • lutconv2/lutflat/lutsmooth: A program for converting various "3D" LUT textures to actual 3D LUTs in DDS volume maps. Successor to mkvolume. Used for MariENB. Plus two additional tools for "deconverting" volume maps, and one for smoothing them out to reduce potential banding.
  • mazestuff: A dungeon generator for roguelikes. This was made as part of a commission for a friend, hence the very detailed comments.
  • memrd/memsk/memwr: Quick 'n dirty tools for memory manipulation on running programs.
  • mkfont: A tool originally written for the Demolitionist project. Creates GZDoom fonts from any given font, with built-in gradients and drop shadows.
  • mkfont_unr: A tool I use to convert UE fonts exported with UTPT into fonts for GZDoom. Requires ImageMagick to be installed.
  • mkgauss: Make an array of gaussian blur kernel values with passed radius and sigma. Used for shader development.
  • mksoundwad: Program used during the early days of Tim Allen Doom. Deprecated as notsanae now also replaces sounds through an OpenAL hook.
  • mkssao: Make an array of SSAO samples. Also for shader development.
  • mkstartup: Tool for creating Hexen startup screen graphics. Originally for Demolitionist, now deprecated since full-color graphics can be used.
  • mkvolume: Old program for making LUT volume maps.
  • mkwall: A program I use on a daily basis to set my wallpaper on every Linux machine.
  • osnorm: Experiment for generating object-space normals from an .obj model.
  • pcxpalex: Extracts the palette from PCX images.
  • pframes: Short utility for automating long FrameIndex lists for MODELDEF.
  • pframes_named: Same tool but for IQM models, where the Frame directive can be used to pair action names and frame indices.
  • pngread: Unfinished program for debugging PNG chunks.
  • schange: Program used along with mkwall to update the wallpaper on screen geometry changes.
  • skse_cosave: Experiment for dumping information in SKSE co-saves.
  • soapstone: Random soapstone messages from all 3 dark souls games. Messages can be generated in bulk.
  • startuptest: Tool for showing Hexen-style startup screens (something GZDoom can't do on Linux yet).
  • totty: Sends text from stdin to tty1. Used to send certain commands when remoting into a Raspberry Pi.
  • u95/u083/u086extract: Programs for extracting data from Unreal alpha packages. This and other Unreal tools might be shifted to another repo.
  • ucextract: Extracts UnrealScript source files from Unreal packages. This tool is not yet functional.
  • udmfvis: dmvis clone in C for UDMF maps. No external dependencies.
  • ufontext: companion to mkfont, for extracting UE fonts. Currently does not yet extract the textures themselves.
  • uftxextract: Extracts FireTextures from UE archives, converted to a format that can be parsed by my ZScript library.
  • umodextract: .umod archive extractor (sort of).
  • umxunpack: Extractor for music in UE archives, with support for Unreal 227's UMX files containing vorbis audio.
  • unrundeleter: WIP program to unset the bDeleteMe flag on stuff in UE1 maps. Yes, some mappers are so hellbent on preventing modification that they delete all brushes after baking the geometry.
  • usndextract: Extracts sounds from UE archives.
  • utxextract: Extracts textures from UE archives.
  • vc2sdl: Passes the contents of the VC4 framebuffer to a SDL window. Was used for video playback experiments on a Raspberry Pi with a SPI LCD.
  • wavrip: Cheap WAV file extractor that naively searchs for RIFF headers.
  • wavsmpl: Extracts loop information from WAV files that have it, because only certain proprietary audio editors support this directly.
  • withhands: Talk like W.D. Gaster.
  • zimagekver: Quick program to extract version info from an ARM Linux kernel image.

All programs and code here are under the MIT license.