Skip to content

Instantly share code, notes, and snippets.

Avatar
🐳
~

James jaames

🐳
~
View GitHub Profile
@jaames
jaames / dailylogochallenge.txt
Created Jun 17, 2019
Logo challenge list from dailylogochallenge.com -- for people like me who dislike inbox clutter
View dailylogochallenge.txt
1. Rocketship Logo (Aerolite, Axis, Comet, Quasar)
2. Hot Air Balloon (Lift, Crown (the very top part of the balloon), Whoosh)
3. Panda Logo (Panda Global, Bamboo, Endangered Panda Conservation)
4. Single Letter Logo
5. Driverless Car Logo (Autonome, Vrooom, Onward)
6. Coffee Shop (Dylan's Coffee, The Roasted Bean, Tazza)
7. Fashion Brand Wordmark (OAKAO, Deities, Adams & Abigail)
8. Ski Mountain Logo (Brass Peak, Mount Blanco, Traverse, Snowdrop)
9. Streaming Music Startup (Beat, Pitch, Bass)
10. Flame Logo (Sizzle, Liight, Flint & Flame)
View kwfc-guide.md

Setup

  1. Enter the Nintendo WFC Settings menu, which can be found in any WFC-enabled game.

  2. Select "Nintendo Wi-Fi Connection Settings".

  3. Set up a new connection if you haven't already done so, then select the connection slot you wish to use.

  4. Scroll down and set "Auto-obtain DNS" to "No", then set Primary DNS to 178.62.43.212 and Secondary DNS to 0.0.0.0. Select "OK" to confirm.

View pathkit_with_webpack_5.md

PathKit's docs are out of date, and changes in Webpack 5 mean that their installation instructions don't work

Install the following from NPM:

  • pathkit-wasm
  • webpack 5
  • copy-webpack-plugin
  • node-polyfill-webpack-plugin

Make sure your Webpack config has the following:

@jaames
jaames / gbg_palette.txt
Created Jun 28, 2021
Game Builder Garage texture palette as hex rgba
View gbg_palette.txt
Game Builder Garage texture palette as hex rgba
// transparent
#00000000
// grays
#ffffffff
#edededff
#d9d9d9ff
#b5b5b5ff
@jaames
jaames / colors-beta-guide.md
Last active Jun 26, 2021
Colors Live Windows beta guide
View colors-beta-guide.md

Installing the Colors Live beta

The Windows beta is distributed through the Discord game library. To access it, head to the Colors Live Discord server, at the top of the channel list you should see a tag called Colors Live (Switch), click there, then click the Add to library button in the panel to the right.

Once the app has been added, go to your library by clicking the In Library header on the same panel. You should be able to install and launch the app from there!

Installing updates

To install an update, go to your Discord library and select the Colors Live beta. You may need to manually start the update install process by clicking the play button towards the top-right of the library page. One it has downloaded, you will be able to launch the app as normal.

@jaames
jaames / Crc32.ts
Last active Jun 14, 2021
Tiny Typescript implementation of CRC32
View Crc32.ts
const POLYNOMIAL = -306674912;
let crc32_table: Int32Array = undefined;
export function Crc32(bytes: Uint8Array, crc=0xFFFFFFFF) {
if (crc32_table === undefined)
calcTable();
for (let i = 0; i < bytes.length; ++i)
crc = crc32_table[(crc ^ bytes[i]) & 0xff] ^ (crc >>> 8);
return (crc ^ -1) >>> 0;
@jaames
jaames / compileTemplate.ts
Created Jun 7, 2021
Tiny Typescript string template compiler
View compileTemplate.ts
// makes use of tagged template literals
const compileTemplate = (strings: TemplateStringsArray, ...expr: string[]) => {
return (replacements: Record<string, any>) => {
// convert ${'whatever'} instances to array of values
const values = expr.map(key => replacements[key] ?? key);
// rebuild string with replaced values
return strings.reduce((result, part, i) => result + part + (values[i] ?? ''), '');
}
}
@jaames
jaames / ptcl.py
Created Apr 2, 2019
unfinished nintendo particle format (.ptcl) parser
View ptcl.py
# .ptcl parser for miitomo
# heavily unfinished, i couldn't work out how to find subtexture sizes
import struct
import numpy as np
from PIL import Image
class PTCLSection:
def __init__(self, magic=b'', offset=0, size=0, data_offset=0):
self.magic = magic
@jaames
jaames / mii-qr.py
Created Jul 24, 2018
Decrypt Mii QR code data from 3DS / Wii U / Miitomo
View mii-qr.py
# Decrypt Mii QR codes from 3DS / Wii U / Miitomo
# Usage: python3 <input file> <output file>
# QR docs: https://www.3dbrew.org/wiki/Mii_Maker
from Crypto.Cipher import AES
from sys import argv
key = bytes([0x59, 0xFC, 0x81, 0x7E, 0x64, 0x46, 0xEA, 0x61, 0x90, 0x34, 0x7B, 0x20, 0xE9, 0xBD, 0xCE, 0x52])
with open(argv[1], "rb") as infile, open(argv[2], "wb") as outfile:
@jaames
jaames / Sha256.ts
Created May 11, 2021
Tiny Typescript implementation of Sha256
View Sha256.ts
/**
* // hash content
* // content must be an uint8 typed array
* const hash = new Sha256();
* hash.update(content)
* // get digest as uint8 typed array
* const digest = hash.digest();
* // or get digest as hex string
* const hex = hash.hexDigest();
*/