view trunk/tests/ChipmunkDemos/samples/ChipmunkDemo.d @ 24:ee7fa417266b

osx fix rand_max
author Stephan Dilly <stephan@extrawurst.org>
date Fri, 10 Dec 2010 13:39:07 +0100
parents af2f61a96318
children b45f0b140d85
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,1);	
}else{
	return cast(cpFloat)rand()/cast(cpFloat)RAND_MAX;
}
}

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