fix up chipmunk.demo, add a MAIN:
							parent
							
								
									2e888f1ee7
								
							
						
					
					
						commit
						7de21ca8be
					
				| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
! Copyright (C) 2010 Erik Charlebois
 | 
					! Copyright (C) 2010 Erik Charlebois
 | 
				
			||||||
! See http:// factorcode.org/license.txt for BSD license.
 | 
					! See http:// factorcode.org/license.txt for BSD license.
 | 
				
			||||||
USING: accessors chipmunk.ffi classes.struct game.worlds kernel locals
 | 
					USING: accessors alien chipmunk.ffi classes.struct game.worlds kernel
 | 
				
			||||||
math method-chains opengl.gl random sequences specialized-arrays
 | 
					locals math method-chains opengl.gl random sequences specialized-arrays
 | 
				
			||||||
specialized-arrays.instances.alien.c-types.void* ui ui.gadgets.worlds
 | 
					specialized-arrays.instances.alien.c-types.void* ui ui.gadgets.worlds
 | 
				
			||||||
ui.pixel-formats ;
 | 
					ui.pixel-formats ;
 | 
				
			||||||
IN: chipmunk.demo
 | 
					IN: chipmunk.demo
 | 
				
			||||||
| 
						 | 
					@ -53,7 +53,10 @@ CONSTANT: image-bitmap B{
 | 
				
			||||||
    cpBodyAlloc 1.0 NAN: 0 cpBodyInit
 | 
					    cpBodyAlloc 1.0 NAN: 0 cpBodyInit
 | 
				
			||||||
    x y cpv >>p :> body
 | 
					    x y cpv >>p :> body
 | 
				
			||||||
    cpCircleShapeAlloc body 0.95 0 0 cpv cpCircleShapeInit
 | 
					    cpCircleShapeAlloc body 0.95 0 0 cpv cpCircleShapeInit
 | 
				
			||||||
    [ shape>> 0 >>e ] [ shape>> 0 >>u ] bi drop ;
 | 
					    dup shape>>
 | 
				
			||||||
 | 
					        0 >>e
 | 
				
			||||||
 | 
					        0 >>u
 | 
				
			||||||
 | 
					        drop ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TUPLE: chipmunk-world < game-world
 | 
					TUPLE: chipmunk-world < game-world
 | 
				
			||||||
    space ;
 | 
					    space ;
 | 
				
			||||||
| 
						 | 
					@ -88,7 +91,7 @@ M:: chipmunk-world draw-world* ( world -- )
 | 
				
			||||||
    space arbiters>>
 | 
					    space arbiters>>
 | 
				
			||||||
    [ num>> ] [ arr>> swap <direct-void*-array> ] bi [
 | 
					    [ num>> ] [ arr>> swap <direct-void*-array> ] bi [
 | 
				
			||||||
        cpArbiter memory>struct
 | 
					        cpArbiter memory>struct
 | 
				
			||||||
        [ numContacts>> ] [ contacts>> swap <direct-cpContact-array> ] bi [
 | 
					        [ numContacts>> ] [ contacts>> >c-ptr swap <direct-cpContact-array> ] bi [
 | 
				
			||||||
            p>> [ x>> ] [ y>> ] bi glVertex2f
 | 
					            p>> [ x>> ] [ y>> ] bi glVertex2f
 | 
				
			||||||
        ] each
 | 
					        ] each
 | 
				
			||||||
    ] each
 | 
					    ] each
 | 
				
			||||||
| 
						 | 
					@ -109,7 +112,7 @@ M:: chipmunk-world begin-game-world ( world -- )
 | 
				
			||||||
                x image-width 2 / - 0.05 0.0 1.0 uniform-random-float * + 2 *
 | 
					                x image-width 2 / - 0.05 0.0 1.0 uniform-random-float * + 2 *
 | 
				
			||||||
                image-height 2 / y - 0.05 0.0 1.0 uniform-random-float * + 2 *
 | 
					                image-height 2 / y - 0.05 0.0 1.0 uniform-random-float * + 2 *
 | 
				
			||||||
                make-ball :> shape
 | 
					                make-ball :> shape
 | 
				
			||||||
                space shape body>> cpSpaceAddBody drop
 | 
					                space shape shape>> body>> cpSpaceAddBody drop
 | 
				
			||||||
                space shape cpSpaceAddShape drop
 | 
					                space shape cpSpaceAddShape drop
 | 
				
			||||||
            ] when
 | 
					            ] when
 | 
				
			||||||
        ] each
 | 
					        ] each
 | 
				
			||||||
| 
						 | 
					@ -119,10 +122,12 @@ M:: chipmunk-world begin-game-world ( world -- )
 | 
				
			||||||
    body -1000 -10 cpv >>p drop
 | 
					    body -1000 -10 cpv >>p drop
 | 
				
			||||||
    body 400 0 cpv >>v drop
 | 
					    body 400 0 cpv >>v drop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    space cpCircleShapeAlloc body 8 0 0 cpv cpCircleShapeInit cpSpaceAddShape :> shape
 | 
					    space cpCircleShapeAlloc [ body 8 0 0 cpv cpCircleShapeInit cpSpaceAddShape drop ] keep
 | 
				
			||||||
    shape
 | 
					        :> shape
 | 
				
			||||||
    [ shape>> 0 >>e drop ]
 | 
					    shape shape>>
 | 
				
			||||||
    [ shape>> 0 >>u drop ] bi ;
 | 
					        0 >>e
 | 
				
			||||||
 | 
					        0 >>u
 | 
				
			||||||
 | 
					        drop ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
M: chipmunk-world end-game-world
 | 
					M: chipmunk-world end-game-world
 | 
				
			||||||
    space>>
 | 
					    space>>
 | 
				
			||||||
| 
						 | 
					@ -145,3 +150,4 @@ M: chipmunk-world end-game-world
 | 
				
			||||||
        open-window
 | 
					        open-window
 | 
				
			||||||
    ] with-ui ;
 | 
					    ] with-ui ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MAIN: chipmunk-demo
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue