Skip to content

Instantly share code, notes, and snippets.

#define MAX_CONTROLLERS 4
class JoypadController {
public:
JoypadController() : m_is_connected(false), m_gamepad(0), m_instance_id(-1), m_haptic(0) {}
int JoypadController::processEvent(const SDL_Event& event);
private:
SDL_GameController *m_gamepad;
SDL_Haptic *m_haptic;
Graph = {}
Graph.__index = Graph
function Graph.new()
return setmetatable({adjacency_list = {}, nodes = {}, edges = {}, floyd_dists = {}}, Graph)
end
function Graph:__tostring()
local str = "----\nAdjacency List: \n"
for node, list in pairs(self.adjacency_list) do
@Midiman
Midiman / ld28.dart
Created December 16, 2013 04:27 — forked from flexd/ld28.dart
library ld28;
import 'dart:html';
import 'dart:math' as Math;
import 'dart:web_gl' as WebGL;
import 'dart:typed_data';
import 'package:vector_math/vector_math.dart';
part 'shader.dart';
@Midiman
Midiman / getPSO.lua
Created November 25, 2013 11:04 — forked from a327ex/getPSO.lua
function getPSO(filename)
local templates = loadstring("return " .. love.filesystem.read(filename))()
local pss = {}
local degToRad = function(d) return d*math.pi/180 end
local getPS = function(template)
local sprite = love.graphics.newImage('your_default_sprite_here.png')
local ps = love.graphics.newParticleSystem(sprite, template.buffer_size)
ps:setBufferSize(template.buffer_size)
local colors = {}
for i = 1, 8 do
data:text/html,<div class="wrap"> <h1>Todo<span>, no fuss lists</span></h1> <input placeholder="Add a todo" type="text" id="item" /> <button id="go">Save</button> <span class="help">* tap to delete</span> <ul id="tudu_list"> </ul> </div><script type="text/javascript">var tudu_list = document.getElementById('tudu_list'); var item = document.getElementById('item'); var new_li; var new_obj = {}; function prependElement(parentID,child) { parent=parentID; parent.insertBefore(child,parent.childNodes[0]); } function remove(element){ element.parentNode.removeChild(element); } function deleteItem(){ var answer = confirm('Sure you want to remove this?'); if(answer){ var deleteId = this.getAttribute('rel'); remove(this); } } function addItem(){ if(item.value !== ''){ new_li = document.createElement('li'); new_li.innerHTML = item.value; prependElement(tudu_list, new_li); new_li.onclick = deleteItem; item.value = ''; } } function callAdd(e){ if(event.keyCode == 13){ addItem(); } } item.onkeyup = function(e){ callAdd(e) };
#include <map> // Component-entity system in 24 lines of C++11. 2013 rlyeh, MIT licensed.
#include <set> // Code fragment from kult engine - https://github.com/r-lyeh/kult
enum SUBSYSTEM_MODE { JOIN = 0, MERGE = 1, EXCLUDE = 2 };
template<typename T> std::set<unsigned> &system()
{ static std::set<unsigned> entities; return entities; }
template<typename T, int MODE> std::set<unsigned> subsystem( const std::set<unsigned> &B )
{ std::set<unsigned> newset; const std::set<unsigned> &A = system<T>(); // union first,
/**/ if (MODE == MERGE) { newset = B; for( auto &id : A ) newset.insert(id); } // then difference,
else if (MODE == EXCLUDE) { newset = B; for( auto &id : A ) newset.erase (id); } // then intersection
else if(A.size() < B.size()) { for( auto &id : A ) if(B.find(id) != B.end()) newset.insert( id ); }
#!/usr/bin/env python
import argparse
import errno
import itertools
import json
import os
import requests
import time
WIDTHS = (1280, 500, 400, 250, 100, 75)
@Midiman
Midiman / README.md
Created October 12, 2013 20:29 — forked from nikcub/README.md
void pretty_print_extensions(std::vector<std::string> &extensions)
{
// derived from the extension pretty printing from StepMania.
using namespace std;
sort( extensions.begin(), extensions.end() );
size_t next = 0;
while( next < extensions.size() )
{
size_t last = next;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "Address.h"
#define NUM_FIELDS 4