BlitzC - A Blitz Syntax Alternative - Thoughts???

Blitz3D Forums/Blitz3D Programming/BlitzC - A Blitz Syntax Alternative - Thoughts???

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

I'm really happy with what I can do so far:

Type Application
	Field W,H
	Field Title$
	Field Windowed
	Field BPP
	Field Uses3D
	Field Camera

	Method Application(Width=800,Height=600,BPP=32,Windowed=0,Uses3D=0,Title$="My Application")
		\W = Width
		\H = Height
		\Title = Title
		\BPP = BPP
		\Uses3D = Uses3D
		\Windowed = Windowed
		If \Uses3D Then
		   Graphics3D \W,\H,\BPP,1+\Windowed
		   \Camera = CreateCamera()
		Else
		    Graphics \W,\H,\BPP,1+\Windowed
		EndIf

		AppTitle Title$,"Close application?"
	End Method

	Method MainLoop()
	       Repeat
	       	     UpdateWorld
	       	     RenderWorld
	       	     Text 4,4,Millisecs()
	       	     Flip
	       Until KeyHit(1)
	End Method

	Method GetCamera()
		Return \Camera
	End Method

	Method Free()
		FreeEntity \Camera
		ClearWorld
		EndGraphics
		Delete this
	End Method
End Type

Type Entity
     Field X#
     Field Y#
     Field Z#
     Field Pitch#
     Field Yaw#
     Field Roll#
     Field ObjHandle
End Type

Type Mesh Extends Entity
     Method Mesh(Path$)
     	    \ObjHandle = LoadMesh(Path$)
	End MEthod
End Type

Type Sprite Extends Entity
     Field Width
     Field Height
     Field Alpha
     Method Sprite(Path$,Alpha=1)
     	    \ObjHandle = LoadSprite(Path$,1+2*Alpha)
     End Method
End Type

Type AnimSprite Extends Sprite
     Field Frames
     Field CurrentFrame
     Method Sprite(Path$,Frames,Alpha=1)
     	    \Frames = Frames
     	    \ObjHandle = LoadSprite(Path$,1+2*Alpha)
     	End Method
End Type

Global A.Application = New Application(320,240,32,1,1,"Test")
YourCam = A\GetCamera()
A\MainLoop()
A\Free()


Really simple syntax as far as I'm concerned.