Skip to content

Instantly share code, notes, and snippets.

@wareya
wareya / BadAAColorsVersion.omwfx
Last active August 2, 2022 20:25
BadAA, an edge-detection- and edge-following-based post-processing AA shader for OpenMW
uniform_float uRange {
default = 5;
min = 1;
max = 16.0;
step = 1;
description = "How many pixels the algorithm follows to try to detect an edge.";
display_name = "Range";
}
uniform_float uThreshold {
@wareya
wareya / resample.rs
Created February 15, 2022 06:04
public domain pull-based linear/hermite/sinc signal resampling code in rust
// A public domain rust implementation of three common signal resampling algorithms.
/*
Released under the following license (CC0).
Creative Commons Legal Code
CC0 1.0 Universal
Statement of Purpose
@wareya
wareya / main.rs
Last active June 30, 2021 06:28
hsv saturation-value 2d histographer
/*
[dependencies]
image = "0.23.14"
palette = "0.5.0"
*/
use std::env::args as args;
use image::io::Reader as ImageReader;
use image::{DynamicImage, Rgba, Rgb, GenericImageView, Pixel};
use palette::{LinSrgba, Hsv};
@wareya
wareya / texthook.js
Last active July 18, 2020 11:16
subtitle text grabbing script for mpv
"use strict";
function on_new_sub(name, text)
{
if(text == null || text == "")
return;
var newtext = "";
for(var i = 0; i < text.length; i += 1)
{
var c = text[i];
textractor 4.12.3 with translation plugins removed and pointless plugins disabled:
https://mega.nz/file/IQVk2CyK#SGnxbyF3aNUh22XyLoIUZaR7aMZDKdpWIgZLh0MlIZM
You need both the x86 and x64 subfolders. The x86 version is for 32-bit games, the x64 version is for 64-bit games.
If it throws a VCRUNTIME dll error on launch, you need to install these vcredists: https://github.com/Artikash/Textractor/releases/download/v4.12.3/vcredist-x86.exe https://github.com/Artikash/Textractor/releases/download/v4.12.3/vcredist-x64.exe
has textractor updated since 4.12.3? check for yourself:
https://github.com/Artikash/Textractor/releases
if it has updated since 4.12.3, download the latest version, and DISABLE EVERY EXTENSION (with the "delete" key)
////before
pub (crate) fn sim_BINOP(&mut self) -> StepResult
{
if self.stack_len() < 2
{
return Err(Some(format!("internal error: BINOP instruction requires 2 values on the stack but found {}", self.stack_len())));
}
let immediate = self.pull_single_from_code()?;
@wareya
wareya / ism2.cpp
Created December 13, 2018 15:54
Very primitive ism2 -> wavefront obj converter. Only works with a limited subset of ism2 files, e.g. fairy fencer f advent dark force's maps.
// Very primitive ISM2 -> .obj converter.
// Only works well enough to dump FFF:ADF's map files with enough information to log where hidden treasures are located.
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <vector>
#include <unordered_map>
@wareya
wareya / regression.rs
Last active September 24, 2018 03:28
unoptimized multiple regression in rust
use std::vec::Vec;
use std::fs::File;
use std::io::Read;
use std::result::Result;
fn get_data() -> Result<Vec<Vec<f64>>, std::io::Error>
{
let mut file = File::open("info.txt")?;
let mut text = String::new();
file.read_to_string(&mut text)?;
#!python
# -*- coding: utf-8 -*-
from collections import OrderedDict
import json
import sys
from io import open
import re
entries = json.load(open("zero-shinjirin.json", encoding="utf-8"), object_pairs_hook=OrderedDict)
@wareya
wareya / dump.py
Created May 30, 2018 04:36
kanjivg -> json, images (no stroke order/groups)
#!python
mypath = "M26.75,23.5c1.48-0.24,3.35-0.52,5.49-0.84C46.03,20.62,63,17.75,74,17.25c4-0.18,6.09,0.97,5.5,4.75C76.25,42.75,77.25,71.75,92,87.75c6.95,7.54,5.75,1,6-5.5"
commands = "MmZzLlHhVvCcSsQqTtAaBb";
rules = [
["comma", r"^(,)(.*)"],
["number", r"^([+\-]?(?:[0-9]+(?:\.[0-9]+)?|\.[0-9]+))(.*)"],