Skip to content

Instantly share code, notes, and snippets.

@phoboslab
phoboslab / server.js
Created June 21, 2021 06:33
Impact2 Weltmeister Server
View server.js
'use strict';
let http = require('http'),
url = require('url'),
querystring = require('querystring'),
fs = require('fs'),
editorIndex = 'editor/editor.html',
port = parseInt(process.argv[2] || 8080, 10);
View plugins.json.js
ig.module(
'plugins.json'
)
.defines(function(){ "use strict";
ig.JSON = ig.Class.extend({
data: null,
path: '',
View xibalba-door-entity.js
ig.module(
'game.entities.door'
)
.requires(
'plugins.twopointfive.entity'
)
.defines(function(){
EntityDoor = tpf.Entity.extend({
type: ig.Entity.TYPE.NONE,
@phoboslab
phoboslab / gist:50672afc9bd6ceb36a3e
Created February 2, 2015 17:54
Impact Gamepad Plugin
View gist:50672afc9bd6ceb36a3e
ig.module(
'plugins.gamepad'
)
.requires(
'impact.input',
'impact.game'
)
.defines(function(){
// Assign some values to the Gamepad buttons. We use an offset of 256
View gist:0386df6db79386b9c5cc
// idbsimple - tiny wrapper around indexeDB to behave like an
// asynchronous localStorage.
// API (all callbacks are optional):
// idbsimple.getItem(key, function(error, value){...});
// idbsimple.setItem(key, value, function(error){...});
// idbsimple.removeItem(key, function(error){...});
// idbsimple.clear(function(error){...});
// idbsimple.delete();
@phoboslab
phoboslab / gist:10671262
Created April 14, 2014 18:21
ejecta color hash generator
View gist:10671262
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
typedef union {
unsigned int hex;
struct {
unsigned char r, g, b, a;
@phoboslab
phoboslab / gist:5967844
Created July 10, 2013 16:32
Get Wifi or Public IP on the iPhone. Works with iOS7
View gist:5967844
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <arpa/inet.h>
#include <net/if.h>
void ip_for_interface(const char *interface_name, char *ip, const int length) {
*ip = NULL;
@phoboslab
phoboslab / OBJLoader.js
Created July 10, 2013 09:08
OBJLoader for Three.js/Ejecta
View OBJLoader.js
/**
* @author mrdoob / http://mrdoob.com/
*/
THREE.OBJLoader = function () {
THREE.EventDispatcher.call( this );
};
@phoboslab
phoboslab / gist:5249534
Last active December 15, 2015 10:59
Ejecta Video
View gist:5249534
var video = document.createElement('video');
console.log( 'can play mp4', video.canPlayType('video/mp4') );
video.src = 'test.mov';
// Also loads from the internet:
//video.src = 'http://km.support.apple.com/library/APPLE/APPLECARE_ALLGEOS/HT1211/sample_iTunes.mov';
// Show playback controls:
//video.controls = true;
@phoboslab
phoboslab / menus.js
Created November 11, 2012 22:13
Z-Type Menu
View menus.js
ig.module(
'game.menus'
)
.requires(
'impact.font'
)
.defines(function(){
MenuItem = ig.Class.extend({
getText: function(){ return 'none' },