Skip to content

Instantly share code, notes, and snippets.

@phoboslab
phoboslab / setAnimation.js
Created May 6, 2012 22:04
setAnimation; a sensible requestAnimation polyfill
// rAF polyfill based on https://gist.github.com/1579671
(function(w) {
"use strict";
// Find vendor prefix, if any
var vendors = ['ms', 'moz', 'webkit', 'o'];
for( var i = 0; i < vendors.length && !w.requestAnimationFrame; i++ ) {
w.requestAnimationFrame = w[vendors[i]+'RequestAnimationFrame'];
}
@phoboslab
phoboslab / mousemove.py
Created June 26, 2012 19:44
Python script to move the mouse cursor in windows with constant speed
import sys
import time
import win32api
if (len(sys.argv) < 4):
print "Usage: python mousemove.py dx dy speed"
sys.exit()
current = win32api.GetCursorPos()
cx = sx = current[0]
@phoboslab
phoboslab / touch-button.js
Last active August 10, 2021 14:44
Touch Button Plugin for Impact
ig.module(
'plugins.touch-button'
)
.requires(
'impact.system',
'impact.input',
'impact.image'
)
.defines(function(){ "use strict";
@phoboslab
phoboslab / gist:3824284
Created October 3, 2012 00:57
Touch Button New
ig.module(
'plugins.touch-button'
)
.requires(
'impact.system',
'impact.input',
'impact.image'
)
.defines(function(){
@phoboslab
phoboslab / gist:3939020
Created October 23, 2012 14:21
AnalogStick plugin
ig.module(
'plugins.analog-stick'
)
.requires(
'impact.system'
)
.defines(function(){
ig.AnalogStick = ig.Class.extend({
stickSize: 30,
@phoboslab
phoboslab / menus.js
Created November 11, 2012 22:13
Z-Type Menu
ig.module(
'game.menus'
)
.requires(
'impact.font'
)
.defines(function(){
MenuItem = ig.Class.extend({
getText: function(){ return 'none' },
@phoboslab
phoboslab / gist:5249534
Last active December 15, 2015 10:59
Ejecta Video
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 / OBJLoader.js
Created July 10, 2013 09:08
OBJLoader for Three.js/Ejecta
/**
* @author mrdoob / http://mrdoob.com/
*/
THREE.OBJLoader = function () {
THREE.EventDispatcher.call( this );
};
@phoboslab
phoboslab / gist:5967844
Created July 10, 2013 16:32
Get Wifi or Public IP on the iPhone. Works with iOS7
#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 / gist:10671262
Created April 14, 2014 18:21
ejecta color hash generator
#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;