Skip to content

Instantly share code, notes, and snippets.

Avatar

Andrea Peltrin passiomatic

View GitHub Profile
@passiomatic
passiomatic / tiled.py
Created Apr 15, 2022
Convert a Tiled JSON level into a Levels.elm module. Only object layers are included.
View tiled.py
#!/usr/bin/env python3
import os
import sys
import json
import struct
import base64
import io
from urllib.parse import urlparse
import itertools
from functools import partial
View Main.elm
port module Main exposing (..)
import Html exposing (program, div, button, text, Html, Attribute)
import Html.Events as Events
import Html.Attributes as Attributes
import Dict exposing (Dict)
import Json.Decode as Json
baseUrl =
@passiomatic
passiomatic / bitfont.py
Created Aug 6, 2017
Convert a Bitfontmaker JSON into PNG
View bitfont.py
# -*- coding: utf-8 -*-
# Convert a Bitfontmaker JSON into PNG (requires Pillow library)
#
# See gallery:
# http://www.pentacom.jp/pentacom/bitfontmaker2/gallery/
#
# Usage:
# python bitfont.py font.json font.png
@passiomatic
passiomatic / SpriteSheet.elm
Created Apr 2, 2017
GLSL fragment shader which renders a portion of a given sprite sheet
View SpriteSheet.elm
module SpriteSheet exposing (..)
import Math.Vector2 exposing (Vec2, vec2)
import WebGL exposing (Texture, Shader)
{-|
Render a portion of a sprite sheet.
-}
fragmentSpriteSheet : Shader {} { u | spriteSheet : Texture, spriteSheetSize: Vec2, spriteSize: Vec2, index : Float } { vcoord : Vec2 }
fragmentSpriteSheet =
@passiomatic
passiomatic / mysqlmigrate.py
Created Nov 1, 2013
A quick hack to make Peewee migrator work with MySQL - Tested against MySQL 5.1.52 on OS X.
View mysqlmigrate.py
from peewee import *
from playhouse import migrate
kwargs = dict(
host = 'localhost',
user = 'root',
passwd = '' # The legendary MySQL empty password
)
_db = MySQLDatabase('test', **kwargs)
@passiomatic
passiomatic / upgrade.py
Created Jan 3, 2013
Quick and dirty script to create a Bikini 2.x database file from previous 1.x /pages/* files. Copy this into your Bikini 2.x installation directory and run "python upgrade.py" command. The script will look for a "pages" directory and will load the most recent revision of every page found in there.
View upgrade.py
'''
Quick and dirty script to create a Bikini 2.x database file from previous 1.x /pages/* files.
'''
import hashlib, re, codecs, glob, sqlite3
DATABASE_NAME = 'bikini.db'
ENCODING = 'utf-8'
FILENAME_MASK = u'./pages/%s%s.%s'
from bikini import storage
@passiomatic
passiomatic / reset.css
Created Dec 6, 2012
A slight edit of the industry-standard Eric Meyer's CSS reset: do *not* reset b, i, strong and em elements.
View reset.css
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var, u, center,
@passiomatic
passiomatic / index_tmpl.html
Created Oct 4, 2012
An somewhat old Python script file to create "Ghost Thumbnails" see: http://www.deelan.com/dev/ghost-thumbnails/. Requires Cheetah template engine and Python Imaging Library.
View index_tmpl.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ghost thumbnails</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex,nofollow" />
#gallery a {background: transparent url(.thumbnails.jpg) top left no-repeat;}
</style>
</head>