view trunk/tests/ChipmunkDemos/samples/ChipmunkDemo.d @ 31:4604c914f2ab default tip

removed workaround for dmd-bug #5249
author Extrawurst
date Thu, 30 Dec 2010 13:50:40 +0100
parents b45f0b140d85
children
line wrap: on
line source


// written in the D programming language

module samples.ChipmunkDemo;

import chipmunkd.chipmunk;

import drawSpace;

import core.stdc.stdlib;

alias cpSpace *function() demoInitFunc;
alias void function(int ticks) demoUpdateFunc;
alias void function()demoDestroyFunc;

struct chipmunkDemo {
	string name;

	const drawSpaceOptions *drawOptions;
	
	demoInitFunc	initFunc;
	demoUpdateFunc	updateFunc;
	demoDestroyFunc destroyFunc;
}

// special hack for OSX
version(OSX) import std.random:uniform;

static cpFloat
frand()
{
version(OSX){
	return std.random.uniform(0.0f,1.0f);	
}else{
	return cast(cpFloat)rand()/cast(cpFloat)RAND_MAX;
}
}

enum GRABABLE_MASK_BIT = (1<<31);
enum NOT_GRABABLE_MASK = (~GRABABLE_MASK_BIT);