Skip to content

Instantly share code, notes, and snippets.

View jaames's full-sized avatar
🐳
~

James jaames

🐳
~
  • UK, '97
  • 18:33 (UTC +01:00)
View GitHub Profile
@jaames
jaames / astro.config.mjs
Created January 3, 2022 15:14
Injecting global SCSS variables in Astro (https://astro.build), using additionalData and a path alias
import { fileURLToPath } from 'url';
import path, { dirname } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export default {
// all the usual config goes here...
@jaames
jaames / main.c
Last active November 27, 2023 03:29
Playdate C memory management functions (and extras!) as macros
// usage example in your C entry file...
#include "pd_api.h"
#include "platform.h"
PlaydateAPI *pd = NULL;
int eventHandler(PlaydateAPI *playdate, PDSystemEvent event, uint32_t arg)
{
if (event == kEventInitLua) {
@jaames
jaames / playdate-disk.py
Last active March 2, 2022 10:32
Puts a USB-connected Playdate into disk mode - workaround for the Simulator not recognising that a Playdate is connected in macOS Monterey
# playdate-disk.py
# Puts a USB-connected Playdate into disk mode
# requires Python 3 and pyUSB (pip install pyusb)
# python3 playdate-disk.py
import usb.core
import usb.util
# Playdate USB vendor and product IDs
PLAYDATE_VID = 0x1331;
@jaames
jaames / ppm.lua
Last active December 8, 2021 00:40
Flipnote PPM parser made in Lua, for the Playdate. It's horrendously slow, so maybe don't use this, it's only preserved lest future generations repeat the same mistakes
import 'CoreLibs/object'
import 'CoreLibs/graphics'
-- Flipnote Studio (DSiWare version) animation parser
-- Format reference:
-- https://github.com/Flipnote-Collective/flipnote-studio-docs/wiki/PPM-format
class("PpmParser").extends()
local gfx <const> = playdate.graphics
@jaames
jaames / kana.txt
Created November 24, 2021 21:23
Plaintext Japanese Hiragana and Katakana list for font testing
あいうえおやゆよかきくけこきゃきゅきょさしすせそしゃしゅしょたちつてとちゃちゅちょなにぬねのにゃにゅにょはひふへほひゃひゅひょまみむめもみゃみゅみょやゆよらりるれろりゃりゅりょわゐゑをんがぎぐげごぎゃぎゅぎょざじずぜぞじゃじゅじょだぢづでどぢゃぢゅぢょばびぶべぼびゃびゅびょぱぴぷぺぽぴゃぴゅぴょ
アイウエオャュョカキクケコキャキュキョサシスセソシャシュショタチツテトチャチュチョナニヌネノニャニュニョハヒフヘホヒャヒュヒョマミムメモミャミュミョヤユヨラリルレロリャリュリョワヰヱヲンガギグゲゴギャギュギョザジズゼゾジャジュジョダヂヅデドヂャヂュヂョバビブベボビャビュビョパピプペポピャピュピョ
@jaames
jaames / baba-api.md
Last active May 22, 2022 10:20
Baba Is You level editor API details

API

The API base URL is https://8778eno8ha.execute-api.eu-central-1.amazonaws.com

GET /prod/list_levels2

Returns the asset URL, the number of total pages in this list, and a list of level details

URL params

version: 0.10.2 md5: 2e80ff35027fc4a72e9dcd9e8b15a27b

version: 1.7.0 md5: 4156d02939ebfd3929b53dcc61d69cd1

version: 1.9.1-beta.1 md5: 2dbef3db9a98239079c47dd1a4dc8867

@jaames
jaames / client_ca.pem
Created August 26, 2021 19:59
Playdate's client_ca.pem from the ESP flash. Dumped by doing `esp AT+SYSFLASH=2,"client_ca",0,0x2000` over USB.
-----BEGIN CERTIFICATE-----
MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx
MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBjzELMAkGA1UEBhMCR0IxGzAZBgNV
BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE
ChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFJTQSBEb21haW4g
VmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA1nMz1tc8INAA0hdFuNY+B6I/x0HuMjDJsGz99J/LEpgPLT+N

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 June 28, 2021 17:56
Game Builder Garage texture palette as hex rgba
Game Builder Garage texture palette as hex rgba
// transparent
#00000000
// grays
#ffffffff
#edededff
#d9d9d9ff
#b5b5b5ff