Переглянути джерело

[Misc] Replace shorthand codes ($, %...) with their long versions

Ronny Otto 2 роки тому
батько
коміт
df0b6e2f3b

+ 32 - 32
directx.mod/d3d9.bmx

@@ -70,12 +70,12 @@ Struct D3DCAPS9
 	Field MaxTextureRepeat;
 	Field MaxTextureRepeat;
 	Field MaxTextureAspectRatio;
 	Field MaxTextureAspectRatio;
 	Field MaxAnisotropy;
 	Field MaxAnisotropy;
-	Field MaxVertexW#;
-	Field GuardBandLeft#;
-	Field GuardBandTop#;
-	Field GuardBandRight#;
-	Field GuardBandBottom#;
-	Field ExtentsAdjust#;
+	Field MaxVertexW:Float;
+	Field GuardBandLeft:Float;
+	Field GuardBandTop:Float;
+	Field GuardBandRight:Float;
+	Field GuardBandBottom:Float;
+	Field ExtentsAdjust:Float;
 	Field StencilCaps;
 	Field StencilCaps;
 	Field FVFCaps;
 	Field FVFCaps;
 	Field TextureOpCaps;
 	Field TextureOpCaps;
@@ -86,7 +86,7 @@ Struct D3DCAPS9
 	Field MaxUserClipPlanes;
 	Field MaxUserClipPlanes;
 	Field MaxVertexBlendMatrices;
 	Field MaxVertexBlendMatrices;
 	Field MaxVertexBlendMatrixIndex;
 	Field MaxVertexBlendMatrixIndex;
-	Field MaxPointSize#;
+	Field MaxPointSize:Float;
 	Field MaxPrimitiveCount;
 	Field MaxPrimitiveCount;
 	Field MaxVertexIndex;
 	Field MaxVertexIndex;
 	Field MaxStreams;
 	Field MaxStreams;
@@ -94,9 +94,9 @@ Struct D3DCAPS9
 	Field VertexShaderVersion;
 	Field VertexShaderVersion;
 	Field MaxVertexShaderConst;
 	Field MaxVertexShaderConst;
 	Field PixelShaderVersion;
 	Field PixelShaderVersion;
-	Field PixelShader1xMaxValue#;
+	Field PixelShader1xMaxValue:Float;
 	Field DevCaps2;
 	Field DevCaps2;
-	Field MaxNpatchTessellationLevel#;
+	Field MaxNpatchTessellationLevel:Float;
 	Field Reserved5;	
 	Field Reserved5;	
 	Field MasterAdapterOrdinal;
 	Field MasterAdapterOrdinal;
 	Field AdapterOrdinalInGroup;
 	Field AdapterOrdinalInGroup;
@@ -128,27 +128,27 @@ Struct D3DVIEWPORT9
 End Struct
 End Struct
 
 
 Type D3DMATERIAL9
 Type D3DMATERIAL9
-	Field Diffuse_r#,Diffuse_g#,Diffuse_b#,Diffuse_a#
-	Field Ambient_r#,Ambient_g#,Ambient_b#,Ambient_a#
-	Field Specular_r#,Specular_g#,Specular_b#,Specular_a#
-	Field Emissive_r#,Emissive_g#,Emissive_b#,Emissive_a#
-	Field Power#
+	Field Diffuse_r:Float,Diffuse_g:Float,Diffuse_b:Float,Diffuse_a:Float
+	Field Ambient_r:Float,Ambient_g:Float,Ambient_b:Float,Ambient_a:Float
+	Field Specular_r:Float,Specular_g:Float,Specular_b:Float,Specular_a:Float
+	Field Emissive_r:Float,Emissive_g:Float,Emissive_b:Float,Emissive_a:Float
+	Field Power:Float
 End Type
 End Type
 
 
 Type D3DLIGHT9
 Type D3DLIGHT9
 	Field Type_
 	Field Type_
-	Field Diffuse_r#,Diffuse_g#,Diffuse_b#,Diffuse_a#
-	Field Specular_r#,Specular_g#,Specular_b#,Specular_a#
-	Field Ambient_r#,Ambient_g#,Ambient_b#,Ambient_a#
-	Field Position_x#,Position_y#,Position_z#
-	Field Direction_x#,Direction_y#,Direction_z#
-	Field Range#
-	Field Falloff#
-	Field Attenuation0#
-	Field Attenuation1#
-	Field Attenuation2#
-	Field Theta#
-	Field Phi#
+	Field Diffuse_r:Float,Diffuse_g:Float,Diffuse_b:Float,Diffuse_a:Float
+	Field Specular_r:Float,Specular_g:Float,Specular_b:Float,Specular_a:Float
+	Field Ambient_r:Float,Ambient_g:Float,Ambient_b:Float,Ambient_a:Float
+	Field Position_x:Float,Position_y:Float,Position_z:Float
+	Field Direction_x:Float,Direction_y:Float,Direction_z:Float
+	Field Range:Float
+	Field Falloff:Float
+	Field Attenuation0:Float
+	Field Attenuation1:Float
+	Field Attenuation2:Float
+	Field Theta:Float
+	Field Phi:Float
 End Type
 End Type
 
 
 Type D3DVERTEXELEMENT9
 Type D3DVERTEXELEMENT9
@@ -201,13 +201,13 @@ Type D3DADAPTER_IDENTIFIER9
 	Field DeviceIdentifier3
 	Field DeviceIdentifier3
 	Field WHQLLevel
 	Field WHQLLevel
 
 
-	Method Driver$()
+	Method Driver:String()
 		Return String.fromCString(Varptr Driver0)
 		Return String.fromCString(Varptr Driver0)
 	End Method
 	End Method
-	Method Description$()
+	Method Description:String()
 		Return String.fromCString(Varptr Description0)	
 		Return String.fromCString(Varptr Description0)	
 	End Method
 	End Method
-	Method DeviceName$()
+	Method DeviceName:String()
 		Return String.fromCString(Varptr DeviceName0)	
 		Return String.fromCString(Varptr DeviceName0)	
 	End Method	
 	End Method	
 End Type
 End Type
@@ -353,7 +353,7 @@ Interface IDirect3DDevice9 Extends IUnknown_
 	Method GetDepthStencilSurface( ppZStencilSurface:IDirect3DSurface9 Var )
 	Method GetDepthStencilSurface( ppZStencilSurface:IDirect3DSurface9 Var )
 	Method BeginScene()
 	Method BeginScene()
 	Method EndScene()
 	Method EndScene()
-	Method Clear( Count,pRects:Byte Ptr,Flags,Color,Z#,Stencil )
+	Method Clear( Count,pRects:Byte Ptr,Flags,Color,Z:Float,Stencil )
 	Method SetTransform( State,pMatrix:Float Ptr )
 	Method SetTransform( State,pMatrix:Float Ptr )
 	Method GetTransform( State,pMatrix:Float Ptr )
 	Method GetTransform( State,pMatrix:Float Ptr )
 	Method MultiplyTransform( State,pMatrix:Float Ptr )
 	Method MultiplyTransform( State,pMatrix:Float Ptr )
@@ -392,8 +392,8 @@ Interface IDirect3DDevice9 Extends IUnknown_
 	Method GetScissorRect( pRect:Byte Ptr )
 	Method GetScissorRect( pRect:Byte Ptr )
 	Method SetSoftwareVertexProcessing( bSoftware )
 	Method SetSoftwareVertexProcessing( bSoftware )
 	Method GetSoftwareVertexProcessing()
 	Method GetSoftwareVertexProcessing()
-	Method SetNPatchMode( nSegments# )
-	Method GetNPatchMode#()
+	Method SetNPatchMode( nSegments:Float )
+	Method GetNPatchMode:Float()
 	Method DrawPrimitive( PrimitiveType,StartVertex,PrimitiveCount )
 	Method DrawPrimitive( PrimitiveType,StartVertex,PrimitiveCount )
 	Method DrawIndexedPrimitive( PrimitiveType,BaseVertexIndex,MinVertexIndex,NumVertices,startIndex,primCount )
 	Method DrawIndexedPrimitive( PrimitiveType,BaseVertexIndex,MinVertexIndex,NumVertices,startIndex,primCount )
 
 

+ 7 - 7
directx.mod/dd.bmx

@@ -6,18 +6,18 @@ Import Pub.Win32
 Const DIRECTDRAW_VERSION=$0700
 Const DIRECTDRAW_VERSION=$0700
 Const _FACDD=$876
 Const _FACDD=$876
 
 
-Const FOURCC_DXT1$="DXT1"	'TODO: convert to 32 bit hex
-Const FOURCC_DXT2$="DXT2"
-Const FOURCC_DXT3$="DXT3"
-Const FOURCC_DXT4$="DXT4"
+Const FOURCC_DXT1:String="DXT1"	'TODO: convert to 32 bit hex
+Const FOURCC_DXT2:String="DXT2"
+Const FOURCC_DXT3:String="DXT3"
+Const FOURCC_DXT4:String="DXT4"
 
 
 Const DDENUM_ATTACHEDSECONDARYDEVICES=1
 Const DDENUM_ATTACHEDSECONDARYDEVICES=1
 Const DDENUM_DETACHEDSECONDARYDEVICES=2
 Const DDENUM_DETACHEDSECONDARYDEVICES=2
 Const DDENUM_NONDISPLAYDEVICES=4
 Const DDENUM_NONDISPLAYDEVICES=4
 
 
-Const REGSTR_KEY_DDHW_DESCRIPTION$="Description"
-Const REGSTR_KEY_DDHW_DRIVERNAME$="DriverName"
-Const REGSTR_PATH_DDHW$="Hardware\\DirectDrawDrivers"
+Const REGSTR_KEY_DDHW_DESCRIPTION:String="Description"
+Const REGSTR_KEY_DDHW_DRIVERNAME:String="DriverName"
+Const REGSTR_PATH_DDHW:String="Hardware\\DirectDrawDrivers"
 
 
 Const DDCREATE_HARDWAREONLY=$11
 Const DDCREATE_HARDWAREONLY=$11
 Const DDCREATE_EMULATIONONLY=$21
 Const DDCREATE_EMULATIONONLY=$21

+ 4 - 4
freeaudio.mod/freeaudio.bmx

@@ -114,10 +114,10 @@ Function fa_ChannelStatus( channel )
 Function fa_ChannelPosition( channel )
 Function fa_ChannelPosition( channel )
 
 
 Function fa_SetChannelPaused( channel,paused )
 Function fa_SetChannelPaused( channel,paused )
-Function fa_SetChannelVolume( channel,volume# )
-Function fa_SetChannelRate( channel,pitch# )
-Function fa_SetChannelPan( channel,pan# )
-Function fa_SetChannelDepth( channel,depth# )
+Function fa_SetChannelVolume( channel,volume:Float )
+Function fa_SetChannelRate( channel,pitch:Float )
+Function fa_SetChannelPan( channel,pan:Float )
+Function fa_SetChannelDepth( channel,depth:Float )
 
 
 End Extern
 End Extern
 
 

+ 5 - 5
freejoy.mod/doc/joycount.bmx

@@ -8,9 +8,9 @@ If Not JoyCount() RuntimeError "No joystick found!"
 
 
 Graphics 640,480
 Graphics 640,480
 
 
-Function drawprop(n$,p#,y)
-	Local	w
-	DrawText n$,0,y
+Function drawprop(n:String,p:Float,y:Int)
+	Local w:Int
+	DrawText n,0,y
 	w=Abs(p)*256
 	w=Abs(p)*256
 	If p<0
 	If p<0
 		DrawRect 320-w,y,w,16
 		DrawRect 320-w,y,w,16
@@ -28,8 +28,8 @@ While Not KeyHit(KEY_ESCAPE)
 	Local n=JoyCount()
 	Local n=JoyCount()
 	DrawText "joycount="+n,0,0
 	DrawText "joycount="+n,0,0
 	DrawText "JoyName(0)="+JoyName(0),0,20
 	DrawText "JoyName(0)="+JoyName(0),0,20
-	DrawText "JoyButtonCaps(0)="+Bin$(JoyButtonCaps(0)),0,40
-	DrawText "JoyAxisCaps(0)="+Bin$(JoyAxisCaps(0)),0,60
+	DrawText "JoyButtonCaps(0)="+Bin(JoyButtonCaps(0)),0,40
+	DrawText "JoyAxisCaps(0)="+Bin(JoyAxisCaps(0)),0,60
 
 
 	For Local i=0 To 31
 	For Local i=0 To 31
 		SetColor 255,255,255
 		SetColor 255,255,255

+ 18 - 18
freejoy.mod/freejoy.bmx

@@ -49,7 +49,7 @@ Extern
 	Function freejoy_JoyButtonCaps:Int(port:Int) = "JoyButtonCaps"
 	Function freejoy_JoyButtonCaps:Int(port:Int) = "JoyButtonCaps"
 	Function freejoy_JoyAxisCaps:Int(port:Int) = "JoyAxisCaps"
 	Function freejoy_JoyAxisCaps:Int(port:Int) = "JoyAxisCaps"
 	Function freejoy_ReadJoy(port:Int,buttons:Int Ptr,axis:Float Ptr) = "ReadJoy"
 	Function freejoy_ReadJoy(port:Int,buttons:Int Ptr,axis:Float Ptr) = "ReadJoy"
-	Function freejoy_WriteJoy(port:Int,channel:Int,value#) = "WriteJoy"
+	Function freejoy_WriteJoy(port:Int,channel:Int,value:Float) = "WriteJoy"
 
 
 End Extern
 End Extern
 
 
@@ -59,7 +59,7 @@ Type TFreeJoyDriver Extends TJoystickDriver
 
 
 	Global joy_time:Int[16]
 	Global joy_time:Int[16]
 	Global joy_buttons:Int[16]
 	Global joy_buttons:Int[16]
-	Global joy_axis#[16*16]
+	Global joy_axis:Float[16*16]
 	Global joy_hits:Int[16,16]
 	Global joy_hits:Int[16,16]
 	
 	
 	Method New()
 	Method New()
@@ -98,57 +98,57 @@ Type TFreeJoyDriver Extends TJoystickDriver
 		Return n
 		Return n
 	End Method
 	End Method
 
 
-	Method JoyX#( port:Int=0 ) Override
+	Method JoyX:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_X]
 		Return joy_axis[port*16+JOY_X]
 	End Method
 	End Method
 
 
-	Method JoyY#( port:Int=0 ) Override
+	Method JoyY:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_Y]
 		Return joy_axis[port*16+JOY_Y]
 	End Method
 	End Method
 
 
-	Method JoyZ#( port:Int=0 ) Override
+	Method JoyZ:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_Z]
 		Return joy_axis[port*16+JOY_Z]
 	End Method
 	End Method
 
 
-	Method JoyR#( port:Int=0 ) Override
+	Method JoyR:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_R]
 		Return joy_axis[port*16+JOY_R]
 	End Method
 	End Method
 
 
-	Method JoyU#( port:Int=0 ) Override
+	Method JoyU:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_U]
 		Return joy_axis[port*16+JOY_U]
 	End Method
 	End Method
 
 
-	Method JoyV#( port:Int=0 ) Override
+	Method JoyV:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_V]
 		Return joy_axis[port*16+JOY_V]
 	End Method
 	End Method
 
 
-	Method JoyYaw#( port:Int=0 ) Override
+	Method JoyYaw:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_YAW]
 		Return joy_axis[port*16+JOY_YAW]
 	End Method
 	End Method
 
 
-	Method JoyPitch#( port:Int=0 ) Override
+	Method JoyPitch:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_PITCH]
 		Return joy_axis[port*16+JOY_PITCH]
 	End Method
 	End Method
 
 
-	Method JoyRoll#( port:Int=0 ) Override
+	Method JoyRoll:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_ROLL]
 		Return joy_axis[port*16+JOY_ROLL]
 	End Method
 	End Method
 
 
-	Method JoyHat#( port:Int=0 ) Override
+	Method JoyHat:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_HAT]
 		Return joy_axis[port*16+JOY_HAT]
 	End Method
 	End Method
 
 
-	Method JoyWheel#( port:Int=0 ) Override
+	Method JoyWheel:Float( port:Int=0 ) Override
 		SampleJoy port
 		SampleJoy port
 		Return joy_axis[port*16+JOY_WHEEL]
 		Return joy_axis[port*16+JOY_WHEEL]
 	End Method
 	End Method
@@ -159,35 +159,35 @@ Type TFreeJoyDriver Extends TJoystickDriver
 	End Method
 	End Method
 
 
 	Method JoyXDir:Int( port:Int=0 ) Override
 	Method JoyXDir:Int( port:Int=0 ) Override
-		Local t#=JoyX( port )
+		Local t:Float=JoyX( port )
 		If t<.333333 Return -1
 		If t<.333333 Return -1
 		If t>.333333 Return 1
 		If t>.333333 Return 1
 		Return 0
 		Return 0
 	End Method
 	End Method
 
 
 	Method JoyYDir:Int( port:Int=0 ) Override
 	Method JoyYDir:Int( port:Int=0 ) Override
-		Local t#=JoyY( port )
+		Local t:Float=JoyY( port )
 		If t<.333333 Return -1
 		If t<.333333 Return -1
 		If t>.333333 Return 1
 		If t>.333333 Return 1
 		Return 0
 		Return 0
 	End Method
 	End Method
 
 
 	Method JoyZDir:Int( port:Int=0 ) Override
 	Method JoyZDir:Int( port:Int=0 ) Override
-		Local t#=JoyZ( port )
+		Local t:Float=JoyZ( port )
 		If t<.333333 Return -1
 		If t<.333333 Return -1
 		If t>.333333 Return 1
 		If t>.333333 Return 1
 		Return 0
 		Return 0
 	End Method
 	End Method
 
 
 	Method JoyUDir:Int( port:Int=0 ) Override
 	Method JoyUDir:Int( port:Int=0 ) Override
-		Local t#=JoyU( port )
+		Local t:Float=JoyU( port )
 		If t<.333333 Return -1
 		If t<.333333 Return -1
 		If t>.333333 Return 1
 		If t>.333333 Return 1
 		Return 0
 		Return 0
 	End Method
 	End Method
 
 
 	Method JoyVDir:Int( port:Int=0 ) Override
 	Method JoyVDir:Int( port:Int=0 ) Override
-		Local t#=JoyV( port )
+		Local t:Float=JoyV( port )
 		If t<.333333 Return -1
 		If t<.333333 Return -1
 		If t>.333333 Return 1
 		If t>.333333 Return 1
 		Return 0
 		Return 0

+ 11 - 11
freeprocess.mod/freeprocess.bmx

@@ -41,12 +41,12 @@ Extern
 	Function fdFlush(fd:Size_T)
 	Function fdFlush(fd:Size_T)
 	Function fdAvail:Int(fd:Size_T)
 	Function fdAvail:Int(fd:Size_T)
 ?win32
 ?win32
-	Function fdProcess:Byte Ptr(exe$,in_fd:Size_T Ptr,out_fd:Size_T Ptr,err_fd:Size_T Ptr,flags:Int)="fdProcess"
+	Function fdProcess:Byte Ptr(exe:String,in_fd:Size_T Ptr,out_fd:Size_T Ptr,err_fd:Size_T Ptr,flags:Int)="fdProcess"
 	Function fdProcessStatus:Int(processhandle:Byte Ptr)
 	Function fdProcessStatus:Int(processhandle:Byte Ptr)
 	Function fdTerminateProcess:Int(processhandle:Byte Ptr)
 	Function fdTerminateProcess:Int(processhandle:Byte Ptr)
 	Function fdKillProcess:Int(processhandle:Byte Ptr)
 	Function fdKillProcess:Int(processhandle:Byte Ptr)
 ?not win32
 ?not win32
-	Function fdProcess:Size_T(exe$,in_fd:Size_T Ptr,out_fd:Size_T Ptr,err_fd:Size_T Ptr,flags:Int)="fdProcess"
+	Function fdProcess:Size_T(exe:String,in_fd:Size_T Ptr,out_fd:Size_T Ptr,err_fd:Size_T Ptr,flags:Int)="fdProcess"
 	Function fdProcessStatus:Int(processhandle:Size_T)
 	Function fdProcessStatus:Int(processhandle:Size_T)
 	Function fdTerminateProcess:Int(processhandle:Size_T)
 	Function fdTerminateProcess:Int(processhandle:Size_T)
 	Function fdKillProcess:Int(processhandle:Size_T)
 	Function fdKillProcess:Int(processhandle:Size_T)
@@ -101,8 +101,8 @@ Type TPipeStream Extends TStream
 		EndIf
 		EndIf
 	End Method
 	End Method
 
 
-	Method ReadLine$() Override	'nonblocking - returns empty string if no data available
-		Local	n:Long,r:Long,p0:Int,p1:Int,line$
+	Method ReadLine:String() Override	'nonblocking - returns empty string if no data available
+		Local	n:Long,r:Long,p0:Int,p1:Int,line:String
 		n=ReadAvail()
 		n=ReadAvail()
 		If n
 		If n
 			If bufferpos+n>4096 n=4096-bufferpos
 			If bufferpos+n>4096 n=4096-bufferpos
@@ -118,11 +118,11 @@ Type TPipeStream Extends TStream
 				EndIf
 				EndIf
 				p0=0
 				p0=0
 				If readbuffer[0]=13 p0=1
 				If readbuffer[0]=13 p0=1
-				If p1>p0 line$=String.FromBytes(Varptr readbuffer[p0],p1-p0)
+				If p1>p0 line:String=String.FromBytes(Varptr readbuffer[p0],p1-p0)
 				n:+1
 				n:+1
 				bufferpos:-n
 				bufferpos:-n
 				If bufferpos MemMove(readbuffer,Varptr readbuffer[n],Size_T(bufferpos))
 				If bufferpos MemMove(readbuffer,Varptr readbuffer[n],Size_T(bufferpos))
-				Return line$
+				Return line
 			EndIf
 			EndIf
 		Next
 		Next
 	End Method
 	End Method
@@ -138,7 +138,7 @@ End Type
 
 
 Type TProcess
 Type TProcess
 	Global ProcessList:TList
 	Global ProcessList:TList
-	Field	name$
+	Field	name:String
 ?win32
 ?win32
 	Field	handle:Byte Ptr
 	Field	handle:Byte Ptr
 ?not win32
 ?not win32
@@ -190,13 +190,13 @@ Type TProcess
 		Return res
 		Return res
 	End Method
 	End Method
 
 
-	Function Create:TProcess(name$,flags:Int)
+	Function Create:TProcess(name:String,flags:Int)
 		Local	p:TProcess
 		Local	p:TProcess
 		Local	infd:Size_T,outfd:Size_T,errfd:Size_T
 		Local	infd:Size_T,outfd:Size_T,errfd:Size_T
 ?MacOS
 ?MacOS
 		If FileType(name)=2
 		If FileType(name)=2
-			Local a$=StripExt(StripDir(name))
-			name:+"/Contents/MacOS/"+a$
+			Local a:String=StripExt(StripDir(name))
+			name:+"/Contents/MacOS/"+a
 		EndIf
 		EndIf
 ?
 ?
 		FlushZombies
 		FlushZombies
@@ -246,7 +246,7 @@ Rem
 bbdoc: Creates a process
 bbdoc: Creates a process
 returns: TProcess object that is linked to the process you have started
 returns: TProcess object that is linked to the process you have started
 End Rem
 End Rem
-Function CreateProcess:TProcess(cmd$,flags:Int=0)
+Function CreateProcess:TProcess(cmd:String,flags:Int=0)
 	Return TProcess.Create(cmd,flags)
 	Return TProcess.Create(cmd,flags)
 End Function
 End Function
 
 

+ 23 - 23
glad.mod/g2bmx.bmx

@@ -9,14 +9,14 @@ Import brl.system
 '
 '
 
 
 Global OutDir:String = "_out_"
 Global OutDir:String = "_out_"
-Local OutOpenGLName$="opengl.bmx"
-Local OutGladName$="glad.bmx"
+Local OutOpenGLName:String="opengl.bmx"
+Local OutGladName:String="glad.bmx"
 
 
 Const LINES_PER_PAGE:Int = 500
 Const LINES_PER_PAGE:Int = 500
 
 
 CreateDir(outDir, True)
 CreateDir(outDir, True)
-Global OutOpenGL:TStream	=	WriteStream(outDir + "/" + OutOpenGLName$)
-Global OutGlad	:TStream	=	WriteStream(outDir + "/" + OutGladName$)
+Global OutOpenGL:TStream	=	WriteStream(outDir + "/" + OutOpenGLName)
+Global OutGlad	:TStream	=	WriteStream(outDir + "/" + OutGladName)
 Global Out		:TStream	=	OutOpenGL
 Global Out		:TStream	=	OutOpenGL
 
 
 Local generator:TCodeGenerator = New TCodeGenerator
 Local generator:TCodeGenerator = New TCodeGenerator
@@ -86,7 +86,7 @@ Type TCodeGenerator
 			
 			
 	End Method
 	End Method
 	
 	
-	Method GenerateApi (chaine$, bbDoc$)
+	Method GenerateApi (chaine:String, bbDoc:String)
 		
 		
 		Select stage
 		Select stage
 			Case STAGE_COUNT
 			Case STAGE_COUNT
@@ -150,12 +150,12 @@ Type TCodeGenerator
 			If curr="GLAPI"
 			If curr="GLAPI"
 				bump
 				bump
 				Local ty:Tty = New Tty
 				Local ty:Tty = New Tty
-				Local funty$=gltype(ty)
+				Local funty:String=gltype(ty)
 				If funty<>"x" And curr="GLAPIENTRY"
 				If funty<>"x" And curr="GLAPIENTRY"
-					Local id$=bump()
+					Local id:String=bump()
 					If id[..2]="gl" And bump()="("
 					If id[..2]="gl" And bump()="("
 						Local p:Tproto = New TProto
 						Local p:Tproto = New TProto
-						Local proto$=glproto(p)
+						Local proto:String=glproto(p)
 						If proto<>"x"
 						If proto<>"x"
 							GenerateApi ( "Function "+id+funty+"("+proto+")", "GL Function "+id+funty )
 							GenerateApi ( "Function "+id+funty+"("+proto+")", "GL Function "+id+funty )
 						EndIf
 						EndIf
@@ -163,12 +163,12 @@ Type TCodeGenerator
 				EndIf
 				EndIf
 			Else If curr="#"
 			Else If curr="#"
 				If bump()="define"
 				If bump()="define"
-					Local id$=bump()
+					Local id:String=bump()
 					If id[..11]="GL_VERSION_"
 					If id[..11]="GL_VERSION_"
 						
 						
 					Else If id[..3]="GL_"
 					Else If id[..3]="GL_"
 						If Not constMap.ValueForKey(id)
 						If Not constMap.ValueForKey(id)
-							Local n$=bump()
+							Local n:String=bump()
 							If n[..2]="0x"
 							If n[..2]="0x"
 								GenerateApi ( "Const "+id+"=$"+n[2..], "GL Const "+id )
 								GenerateApi ( "Const "+id+"=$"+n[2..], "GL Const "+id )
 							Else If n.length
 							Else If n.length
@@ -191,7 +191,7 @@ Type TCodeGenerator
 						EndIf
 						EndIf
 					Else If id[..5]="GLAD_"
 					Else If id[..5]="GLAD_"
 						If bump()="GLAD_GET_VAR" And bump()="("
 						If bump()="GLAD_GET_VAR" And bump()="("
-							Local sym$=bump()
+							Local sym:String=bump()
 							If sym[..7]="__GLAD_" And bump()=")"
 							If sym[..7]="__GLAD_" And bump()=")"
 							If Not constMap.ValueForKey("GL_"+id[5..])
 							If Not constMap.ValueForKey("GL_"+id[5..])
 								GenerateApi ( "Global GL_"+id[5..]+":Byte=~q"+sym+"~q", "GL Global "+id )
 								GenerateApi ( "Global GL_"+id[5..]+":Byte=~q"+sym+"~q", "GL Global "+id )
@@ -200,9 +200,9 @@ Type TCodeGenerator
 						EndIf
 						EndIf
 					Else If id[..2]="gl"
 					Else If id[..2]="gl"
 						'If bump()="GLAD_GET_FUN" And bump()="("
 						'If bump()="GLAD_GET_FUN" And bump()="("
-							Local sym$=bump()
+							Local sym:String=bump()
 							If sym[..5]="glad_"' And bump()=")"
 							If sym[..5]="glad_"' And bump()=")"
-								Local key$="PFN"+sym[5..].ToUpper()+"PROC"
+								Local key:String="PFN"+sym[5..].ToUpper()+"PROC"
 								Local val:Tproto=Tproto( funMap.ValueForKey( key ) )
 								Local val:Tproto=Tproto( funMap.ValueForKey( key ) )
 								If val
 								If val
 									GenerateApi ( "Global "+id+val.proto+"=~q"+val.exproto.Replace("XXXXXXXX", sym).Trim()+"~q", "GL Global "+id+val.proto )
 									GenerateApi ( "Global "+id+val.proto+"=~q"+val.exproto.Replace("XXXXXXXX", sym).Trim()+"~q", "GL Global "+id+val.proto )
@@ -216,12 +216,12 @@ Type TCodeGenerator
 			Else If curr="typedef"
 			Else If curr="typedef"
 				bump
 				bump
 				Local ty:Tty = New Tty
 				Local ty:Tty = New Tty
-				Local funty$=gltype(ty)
+				Local funty:String=gltype(ty)
 				If funty<>"x" And curr="(" And bump()="APIENTRYP"
 				If funty<>"x" And curr="(" And bump()="APIENTRYP"
-					Local id$=bump()
+					Local id:String=bump()
 					If id[..5]="PFNGL" And bump()=")" And bump()="("
 					If id[..5]="PFNGL" And bump()=")" And bump()="("
 						Local p:Tproto = New TProto
 						Local p:Tproto = New TProto
-						Local proto$=glproto(p)
+						Local proto:String=glproto(p)
 						If proto<>"x"
 						If proto<>"x"
 							p.proto = funty+"("+proto+")"
 							p.proto = funty+"("+proto+")"
 							p.exproto = ty.exty + " XXXXXXXX(" + p.exproto + ")!"
 							p.exproto = ty.exty + " XXXXXXXX(" + p.exproto + ")!"
@@ -251,16 +251,16 @@ Type TCodeGenerator
 
 
 	End Method	
 	End Method	
 	
 	
-	Method glproto$(proto:Tproto)
+	Method glproto:String(proto:Tproto)
 		If bump()=")" Return ""
 		If bump()=")" Return ""
 		Local err,argid
 		Local err,argid
 		Repeat
 		Repeat
 			Local ty:Tty = New Tty
 			Local ty:Tty = New Tty
-			Local argty$=gltype(ty)
+			Local argty:String=gltype(ty)
 			If argty="x" Return argty
 			If argty="x" Return argty
-			Local id$
+			Local id:String
 			If curr<>"," And curr<>")" And curr.length And (isalpha(curr[0]) Or curr[0]=Asc("_"))
 			If curr<>"," And curr<>")" And curr.length And (isalpha(curr[0]) Or curr[0]=Asc("_"))
-				id$=curr
+				id=curr
 				If bump()="["
 				If bump()="["
 					While bump()<>"]"
 					While bump()<>"]"
 					Wend
 					Wend
@@ -288,8 +288,8 @@ Type TCodeGenerator
 		Forever
 		Forever
 	End Method
 	End Method
 	
 	
-	Method gltype$(ty:TTy)
-		'Local ty$
+	Method gltype:String(ty:TTy)
+		'Local ty:String
 		'Local exty:String
 		'Local exty:String
 		If curr="const"
 		If curr="const"
 			ty.exty :+ curr
 			ty.exty :+ curr
@@ -349,7 +349,7 @@ Type TCodeGenerator
 		Return (c>=Asc("A") And c<=Asc("F")) Or (c>=Asc("a") And c<=Asc("f")) Or isdigit(c)
 		Return (c>=Asc("A") And c<=Asc("F")) Or (c>=Asc("a") And c<=Asc("f")) Or isdigit(c)
 	End Method
 	End Method
 	
 	
-	Method bump$()
+	Method bump:String()
 		Local i=0
 		Local i=0
 		While i<Text.length And Text[i]<=Asc(" ")
 		While i<Text.length And Text[i]<=Asc(" ")
 			i:+1
 			i:+1

+ 23 - 23
glew.mod/g2bmx.bmx

@@ -9,14 +9,14 @@ Import brl.system
 '
 '
 
 
 Global OutDir:String = "_out_"
 Global OutDir:String = "_out_"
-Local OutOpenGLName$="opengl.bmx"
-Local OutGlewName$="glew.bmx"
+Local OutOpenGLName:String="opengl.bmx"
+Local OutGlewName:String="glew.bmx"
 
 
 Const LINES_PER_PAGE:Int = 500
 Const LINES_PER_PAGE:Int = 500
 
 
 CreateDir(outDir, True)
 CreateDir(outDir, True)
-Global OutOpenGL:TStream	=	WriteStream(outDir + "/" + OutOpenGLName$)
-Global OutGLew	:TStream	=	WriteStream(outDir + "/" + OutGlewName$)
+Global OutOpenGL:TStream	=	WriteStream(outDir + "/" + OutOpenGLName)
+Global OutGLew	:TStream	=	WriteStream(outDir + "/" + OutGlewName)
 Global Out		:TStream	=	OutOpenGL
 Global Out		:TStream	=	OutOpenGL
 
 
 Local generator:TCodeGenerator = New TCodeGenerator
 Local generator:TCodeGenerator = New TCodeGenerator
@@ -86,7 +86,7 @@ Type TCodeGenerator
 			
 			
 	End Method
 	End Method
 	
 	
-	Method GenerateApi (chaine$, bbDoc$)
+	Method GenerateApi (chaine:String, bbDoc:String)
 		
 		
 		Select stage
 		Select stage
 			Case STAGE_COUNT
 			Case STAGE_COUNT
@@ -150,12 +150,12 @@ Type TCodeGenerator
 			If curr="GLAPI"
 			If curr="GLAPI"
 				bump
 				bump
 				Local ty:Tty = New Tty
 				Local ty:Tty = New Tty
-				Local funty$=gltype(ty)
+				Local funty:String=gltype(ty)
 				If funty<>"x" And curr="GLAPIENTRY"
 				If funty<>"x" And curr="GLAPIENTRY"
-					Local id$=bump()
+					Local id:String=bump()
 					If id[..2]="gl" And bump()="("
 					If id[..2]="gl" And bump()="("
 						Local p:Tproto = New TProto
 						Local p:Tproto = New TProto
-						Local proto$=glproto(p)
+						Local proto:String=glproto(p)
 						If proto<>"x"
 						If proto<>"x"
 							GenerateApi ( "Function "+id+funty+"("+proto+")", "GL Function "+id+funty )
 							GenerateApi ( "Function "+id+funty+"("+proto+")", "GL Function "+id+funty )
 						EndIf
 						EndIf
@@ -163,12 +163,12 @@ Type TCodeGenerator
 				EndIf
 				EndIf
 			Else If curr="#"
 			Else If curr="#"
 				If bump()="define"
 				If bump()="define"
-					Local id$=bump()
+					Local id:String=bump()
 					If id[..11]="GL_VERSION_"
 					If id[..11]="GL_VERSION_"
 						
 						
 					Else If id[..3]="GL_"
 					Else If id[..3]="GL_"
 						If Not constMap.ValueForKey(id)
 						If Not constMap.ValueForKey(id)
-							Local n$=bump()
+							Local n:String=bump()
 							If n[..2]="0x"
 							If n[..2]="0x"
 								GenerateApi ( "Const "+id+"=$"+n[2..], "GL Const "+id )
 								GenerateApi ( "Const "+id+"=$"+n[2..], "GL Const "+id )
 							Else If n.length
 							Else If n.length
@@ -191,7 +191,7 @@ Type TCodeGenerator
 						EndIf
 						EndIf
 					Else If id[..5]="GLEW_"
 					Else If id[..5]="GLEW_"
 						If bump()="GLEW_GET_VAR" And bump()="("
 						If bump()="GLEW_GET_VAR" And bump()="("
-							Local sym$=bump()
+							Local sym:String=bump()
 							If sym[..7]="__GLEW_" And bump()=")"
 							If sym[..7]="__GLEW_" And bump()=")"
 							If Not constMap.ValueForKey("GL_"+id[5..])
 							If Not constMap.ValueForKey("GL_"+id[5..])
 								GenerateApi ( "Global GL_"+id[5..]+":Byte=~q"+sym+"~q", "GL Global "+id )
 								GenerateApi ( "Global GL_"+id[5..]+":Byte=~q"+sym+"~q", "GL Global "+id )
@@ -200,9 +200,9 @@ Type TCodeGenerator
 						EndIf
 						EndIf
 					Else If id[..2]="gl"
 					Else If id[..2]="gl"
 						If bump()="GLEW_GET_FUN" And bump()="("
 						If bump()="GLEW_GET_FUN" And bump()="("
-							Local sym$=bump()
+							Local sym:String=bump()
 							If sym[..6]="__glew" And bump()=")"
 							If sym[..6]="__glew" And bump()=")"
-								Local key$="PFNGL"+sym[6..].ToUpper()+"PROC"
+								Local key:String="PFNGL"+sym[6..].ToUpper()+"PROC"
 								Local val:Tproto=Tproto( funMap.ValueForKey( key ) )
 								Local val:Tproto=Tproto( funMap.ValueForKey( key ) )
 								If val
 								If val
 									GenerateApi ( "Global "+id+val.proto+"=~q"+val.exproto.Replace("XXXXXXXX", sym).Trim()+"~q", "GL Global "+id+val.proto )
 									GenerateApi ( "Global "+id+val.proto+"=~q"+val.exproto.Replace("XXXXXXXX", sym).Trim()+"~q", "GL Global "+id+val.proto )
@@ -216,12 +216,12 @@ Type TCodeGenerator
 			Else If curr="typedef"
 			Else If curr="typedef"
 				bump
 				bump
 				Local ty:Tty = New Tty
 				Local ty:Tty = New Tty
-				Local funty$=gltype(ty)
+				Local funty:String=gltype(ty)
 				If funty<>"x" And curr="(" And bump()="GLAPIENTRY" And bump()="*"
 				If funty<>"x" And curr="(" And bump()="GLAPIENTRY" And bump()="*"
-					Local id$=bump()
+					Local id:String=bump()
 					If id[..5]="PFNGL" And bump()=")" And bump()="("
 					If id[..5]="PFNGL" And bump()=")" And bump()="("
 						Local p:Tproto = New TProto
 						Local p:Tproto = New TProto
-						Local proto$=glproto(p)
+						Local proto:String=glproto(p)
 						If proto<>"x"
 						If proto<>"x"
 							p.proto = funty+"("+proto+")"
 							p.proto = funty+"("+proto+")"
 							p.exproto = ty.exty + " XXXXXXXX(" + p.exproto + ")!"
 							p.exproto = ty.exty + " XXXXXXXX(" + p.exproto + ")!"
@@ -251,16 +251,16 @@ Type TCodeGenerator
 
 
 	End Method	
 	End Method	
 	
 	
-	Method glproto$(proto:Tproto)
+	Method glproto:String(proto:Tproto)
 		If bump()=")" Return ""
 		If bump()=")" Return ""
 		Local err,argid
 		Local err,argid
 		Repeat
 		Repeat
 			Local ty:Tty = New Tty
 			Local ty:Tty = New Tty
-			Local argty$=gltype(ty)
+			Local argty:String=gltype(ty)
 			If argty="x" Return argty
 			If argty="x" Return argty
-			Local id$
+			Local id:String
 			If curr<>"," And curr<>")" And curr.length And (isalpha(curr[0]) Or curr[0]=Asc("_"))
 			If curr<>"," And curr<>")" And curr.length And (isalpha(curr[0]) Or curr[0]=Asc("_"))
-				id$=curr
+				id=curr
 				If bump()="["
 				If bump()="["
 					While bump()<>"]"
 					While bump()<>"]"
 					Wend
 					Wend
@@ -288,8 +288,8 @@ Type TCodeGenerator
 		Forever
 		Forever
 	End Method
 	End Method
 	
 	
-	Method gltype$(ty:TTy)
-		'Local ty$
+	Method gltype:String(ty:TTy)
+		'Local ty:String
 		'Local exty:String
 		'Local exty:String
 		If curr="const"
 		If curr="const"
 			ty.exty :+ curr
 			ty.exty :+ curr
@@ -349,7 +349,7 @@ Type TCodeGenerator
 		Return (c>=Asc("A") And c<=Asc("F")) Or (c>=Asc("a") And c<=Asc("f")) Or isdigit(c)
 		Return (c>=Asc("A") And c<=Asc("F")) Or (c>=Asc("a") And c<=Asc("f")) Or isdigit(c)
 	End Method
 	End Method
 	
 	
-	Method bump$()
+	Method bump:String()
 		Local i=0
 		Local i=0
 		While i<Text.length And Text[i]<=Asc(" ")
 		While i<Text.length And Text[i]<=Asc(" ")
 			i:+1
 			i:+1

+ 21 - 21
glew.mod/glew2bmx.bmx

@@ -16,7 +16,7 @@ End Rem
 
 
 Global in:TStream=ReadStream( "GL/glew.h" )
 Global in:TStream=ReadStream( "GL/glew.h" )
 
 
-Global curr$,text$
+Global curr:String,text:String
 
 
 Local funMap:TMap=New TMap
 Local funMap:TMap=New TMap
 Local constMap:TMap=New TMap
 Local constMap:TMap=New TMap
@@ -26,11 +26,11 @@ While Not Eof(in)
 	bump
 	bump
 	If curr="GLAPI"
 	If curr="GLAPI"
 		bump
 		bump
-		Local funty$=gltype()
+		Local funty:String=gltype()
 		If funty<>"x" And curr="GLAPIENTRY"
 		If funty<>"x" And curr="GLAPIENTRY"
-			Local id$=bump()
+			Local id:String=bump()
 			If id[..2]="gl" And bump()="("
 			If id[..2]="gl" And bump()="("
-				Local proto$=glproto()
+				Local proto:String=glproto()
 				If proto<>"x"
 				If proto<>"x"
 					Print "Function "+id+funty+"("+proto+")"
 					Print "Function "+id+funty+"("+proto+")"
 				EndIf
 				EndIf
@@ -38,12 +38,12 @@ While Not Eof(in)
 		EndIf
 		EndIf
 	Else If curr="#"
 	Else If curr="#"
 		If bump()="define"
 		If bump()="define"
-			Local id$=bump()
+			Local id:String=bump()
 			If id[..11]="GL_VERSION_"
 			If id[..11]="GL_VERSION_"
 				
 				
 			Else If id[..3]="GL_"
 			Else If id[..3]="GL_"
 				If Not constMap.ValueForKey(id)
 				If Not constMap.ValueForKey(id)
-					Local n$=bump()
+					Local n:String=bump()
 					If n[..2]="0x"
 					If n[..2]="0x"
 						Print "Const "+id+"=$"+n[2..]
 						Print "Const "+id+"=$"+n[2..]
 					Else If n.length And isdigit(n[0]) And n<>"1"
 					Else If n.length And isdigit(n[0]) And n<>"1"
@@ -53,17 +53,17 @@ While Not Eof(in)
 				EndIf
 				EndIf
 			Else If id[..5]="GLEW_"
 			Else If id[..5]="GLEW_"
 				If bump()="GLEW_GET_VAR" And bump()="("
 				If bump()="GLEW_GET_VAR" And bump()="("
-					Local sym$=bump()
+					Local sym:String=bump()
 					If sym[..7]="__GLEW_" And bump()=")"
 					If sym[..7]="__GLEW_" And bump()=")"
 						Print "Global GL_"+id[5..]+":Byte=~q"+sym+"~q"
 						Print "Global GL_"+id[5..]+":Byte=~q"+sym+"~q"
 					EndIf
 					EndIf
 				EndIf
 				EndIf
 			Else If id[..2]="gl"
 			Else If id[..2]="gl"
 				If bump()="GLEW_GET_FUN" And bump()="("
 				If bump()="GLEW_GET_FUN" And bump()="("
-					Local sym$=bump()
+					Local sym:String=bump()
 					If sym[..6]="__glew" And bump()=")"
 					If sym[..6]="__glew" And bump()=")"
-						Local key$="PFNGL"+sym[6..].ToUpper()+"PROC"
-						Local val$=String( funMap.ValueForKey( key ) )
+						Local key:String="PFNGL"+sym[6..].ToUpper()+"PROC"
+						Local val:String=String( funMap.ValueForKey( key ) )
 						If val
 						If val
 							Print "Global "+id+val+"=~q"+sym+"~q"
 							Print "Global "+id+val+"=~q"+sym+"~q"
 						Else
 						Else
@@ -75,11 +75,11 @@ While Not Eof(in)
 		EndIf
 		EndIf
 	Else If curr="typedef"
 	Else If curr="typedef"
 		bump
 		bump
-		Local funty$=gltype()
+		Local funty:String=gltype()
 		If funty<>"x" And curr="(" And bump()="GLAPIENTRY" And bump()="*"
 		If funty<>"x" And curr="(" And bump()="GLAPIENTRY" And bump()="*"
-			Local id$=bump()
+			Local id:String=bump()
 			If id[..5]="PFNGL" And bump()=")" And bump()="("
 			If id[..5]="PFNGL" And bump()=")" And bump()="("
-				Local proto$=glproto()
+				Local proto:String=glproto()
 				If proto<>"x"
 				If proto<>"x"
 					funMap.Insert id,funty+"("+proto+")"
 					funMap.Insert id,funty+"("+proto+")"
 				EndIf
 				EndIf
@@ -90,15 +90,15 @@ Wend
 
 
 in.Close
 in.Close
 
 
-Function glproto$()
+Function glproto:String()
 	If bump()=")" Return ""
 	If bump()=")" Return ""
-	Local proto$,err,argid
+	Local proto:String,err,argid
 	Repeat
 	Repeat
-		Local argty$=gltype()
+		Local argty:String=gltype()
 		If argty="x" Return argty
 		If argty="x" Return argty
-		Local id$
+		Local id:String
 		If curr<>"," And curr<>")" And curr.length And (isalpha(curr[0]) Or curr[0]=Asc("_"))
 		If curr<>"," And curr<>")" And curr.length And (isalpha(curr[0]) Or curr[0]=Asc("_"))
-			id$=curr
+			id:String=curr
 			If bump()="["
 			If bump()="["
 				While bump()<>"]"
 				While bump()<>"]"
 				Wend
 				Wend
@@ -122,8 +122,8 @@ Function glproto$()
 	Forever
 	Forever
 End Function
 End Function
 
 
-Function gltype$()
-	Local ty$
+Function gltype:String()
+	Local ty:String
 	If curr="const"
 	If curr="const"
 		bump
 		bump
 	EndIf
 	EndIf
@@ -176,7 +176,7 @@ Function isxdigit( c )
 	Return (c>=Asc("A") And c<=Asc("F")) Or (c>=Asc("a") And c<=Asc("f")) Or isdigit(c)
 	Return (c>=Asc("A") And c<=Asc("F")) Or (c>=Asc("a") And c<=Asc("f")) Or isdigit(c)
 End Function
 End Function
 
 
-Function bump$()
+Function bump:String()
 	Local i=0
 	Local i=0
 	While i<text.length And text[i]<=Asc(" ")
 	While i<text.length And text[i]<=Asc(" ")
 		i:+1
 		i:+1

+ 22 - 22
joystick.mod/joystick.bmx

@@ -99,7 +99,7 @@ Rem
 bbdoc: Reports the horizontal position of the joystick.
 bbdoc: Reports the horizontal position of the joystick.
 returns: Zero if the joystick is centered, -1 if Left, 1 if Right or a value inbetween.
 returns: Zero if the joystick is centered, -1 if Left, 1 if Right or a value inbetween.
 End Rem
 End Rem
-Function JoyX#( port:Int=0 )
+Function JoyX:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyX(port)
 	Return current_joystick.JoyX(port)
 End Function
 End Function
@@ -108,7 +108,7 @@ Rem
 bbdoc: Reports the vertical position of the joystick.
 bbdoc: Reports the vertical position of the joystick.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 End Rem
 End Rem
-Function JoyY#( port:Int=0 )
+Function JoyY:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyY(port)
 	Return current_joystick.JoyY(port)
 End Function
 End Function
@@ -117,7 +117,7 @@ Rem
 bbdoc: Reports the position of the joystick's Z axis if supported.
 bbdoc: Reports the position of the joystick's Z axis if supported.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 End Rem
 End Rem
-Function JoyZ#( port:Int=0 )
+Function JoyZ:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyZ(port)
 	Return current_joystick.JoyZ(port)
 End Function
 End Function
@@ -126,7 +126,7 @@ Rem
 bbdoc: Reports the position of the joystick's R axis if supported.
 bbdoc: Reports the position of the joystick's R axis if supported.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 End Rem
 End Rem
-Function JoyR#( port:Int=0 )
+Function JoyR:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyR(port)
 	Return current_joystick.JoyR(port)
 End Function
 End Function
@@ -137,7 +137,7 @@ returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in
 about:
 about:
 The U value of a joystick usually corresponds to a joystick's 'slider' or 'throttle' feature, although this may vary depending on the joystick, and will not be available with all joysticks.
 The U value of a joystick usually corresponds to a joystick's 'slider' or 'throttle' feature, although this may vary depending on the joystick, and will not be available with all joysticks.
 End Rem
 End Rem
-Function JoyU#( port:Int=0 )
+Function JoyU:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyU(port)
 	Return current_joystick.JoyU(port)
 End Function
 End Function
@@ -148,7 +148,7 @@ returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in
 about:
 about:
 The V value of a joystick usually corresponds to a joystick's 'slider' or 'throttle' feature, although this may vary depending on the joystick, and will not be available with all joysticks.
 The V value of a joystick usually corresponds to a joystick's 'slider' or 'throttle' feature, although this may vary depending on the joystick, and will not be available with all joysticks.
 End Rem
 End Rem
-Function JoyV#( port:Int=0 )
+Function JoyV:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyV(port)
 	Return current_joystick.JoyV(port)
 End Function
 End Function
@@ -157,7 +157,7 @@ Rem
 bbdoc: Reports the position of the joystick's YAW axis if supported.
 bbdoc: Reports the position of the joystick's YAW axis if supported.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 End Rem
 End Rem
-Function JoyYaw#( port:Int=0 )
+Function JoyYaw:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyYaw(port)
 	Return current_joystick.JoyYaw(port)
 End Function
 End Function
@@ -166,7 +166,7 @@ Rem
 bbdoc: Reports the position of the joystick's PITCH axis if supported.
 bbdoc: Reports the position of the joystick's PITCH axis if supported.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 End Rem
 End Rem
-Function JoyPitch#( port:Int=0 )
+Function JoyPitch:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyPitch(port)
 	Return current_joystick.JoyPitch(port)
 End Function
 End Function
@@ -175,7 +175,7 @@ Rem
 bbdoc: Reports the position of the joystick's ROLL axis if supported.
 bbdoc: Reports the position of the joystick's ROLL axis if supported.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value inbetween.
 End Rem
 End Rem
-Function JoyRoll#( port:Int=0 )
+Function JoyRoll:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyRoll(port)
 	Return current_joystick.JoyRoll(port)
 End Function
 End Function
@@ -184,7 +184,7 @@ Rem
 bbdoc: Reports the position of the joystick's HAT controller if supported.
 bbdoc: Reports the position of the joystick's HAT controller if supported.
 returns: -1.0 if the joystick is centered, and values between 0.0, 0.25, 0.5 and 0.75 for the directions Up, Right, Down, Left respectively.
 returns: -1.0 if the joystick is centered, and values between 0.0, 0.25, 0.5 and 0.75 for the directions Up, Right, Down, Left respectively.
 End Rem
 End Rem
-Function JoyHat#( port:Int=0 )
+Function JoyHat:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyHat(port)
 	Return current_joystick.JoyHat(port)
 End Function
 End Function
@@ -193,7 +193,7 @@ Rem
 bbdoc: Reports the position of the joystick's WHEEL controller if supported.
 bbdoc: Reports the position of the joystick's WHEEL controller if supported.
 returns: Zero if the joystick is centered, -1.0 if Left, 1.0 if Right or a value inbetween.
 returns: Zero if the joystick is centered, -1.0 if Left, 1.0 if Right or a value inbetween.
 End Rem
 End Rem
-Function JoyWheel#( port:Int=0 )
+Function JoyWheel:Float( port:Int=0 )
 	Assert current_joystick
 	Assert current_joystick
 	Return current_joystick.JoyWheel(port)
 	Return current_joystick.JoyWheel(port)
 End Function
 End Function
@@ -272,17 +272,17 @@ Type TJoystickDriver
 	Method JoyAxisCaps:Int(port:Int) Abstract
 	Method JoyAxisCaps:Int(port:Int) Abstract
 	Method JoyDown:Int( button:Int, port:Int=0 ) Abstract
 	Method JoyDown:Int( button:Int, port:Int=0 ) Abstract
 	Method JoyHit:Int( button:Int, port:Int=0 ) Abstract
 	Method JoyHit:Int( button:Int, port:Int=0 ) Abstract
-	Method JoyX#( port:Int=0 ) Abstract
-	Method JoyY#( port:Int=0 ) Abstract
-	Method JoyZ#( port:Int=0 ) Abstract
-	Method JoyR#( port:Int=0 ) Abstract
-	Method JoyU#( port:Int=0 ) Abstract
-	Method JoyV#( port:Int=0 ) Abstract
-	Method JoyYaw#( port:Int=0 ) Abstract
-	Method JoyPitch#( port:Int=0 ) Abstract
-	Method JoyRoll#( port:Int=0 ) Abstract
-	Method JoyHat#( port:Int=0 ) Abstract
-	Method JoyWheel#( port:Int=0 ) Abstract
+	Method JoyX:Float( port:Int=0 ) Abstract
+	Method JoyY:Float( port:Int=0 ) Abstract
+	Method JoyZ:Float( port:Int=0 ) Abstract
+	Method JoyR:Float( port:Int=0 ) Abstract
+	Method JoyU:Float( port:Int=0 ) Abstract
+	Method JoyV:Float( port:Int=0 ) Abstract
+	Method JoyYaw:Float( port:Int=0 ) Abstract
+	Method JoyPitch:Float( port:Int=0 ) Abstract
+	Method JoyRoll:Float( port:Int=0 ) Abstract
+	Method JoyHat:Float( port:Int=0 ) Abstract
+	Method JoyWheel:Float( port:Int=0 ) Abstract
 	Method JoyType:Int( port:Int=0 ) Abstract
 	Method JoyType:Int( port:Int=0 ) Abstract
 	Method JoyXDir:Int( port:Int=0 ) Abstract
 	Method JoyXDir:Int( port:Int=0 ) Abstract
 	Method JoyYDir:Int( port:Int=0 ) Abstract
 	Method JoyYDir:Int( port:Int=0 ) Abstract

+ 2 - 2
macos.mod/macos.bmx

@@ -18,8 +18,8 @@ Import "NSProcessInfo_PECocoaBackports.m"
 Extern
 Extern
 
 
 Function is_pid_native( pid )
 Function is_pid_native( pid )
-Function bbStringFromNSString$( ns_string:Byte Ptr )
-Function NSStringFromBBString:Byte Ptr( bb_string$ )
+Function bbStringFromNSString:String( ns_string:Byte Ptr )
+Function NSStringFromBBString:Byte Ptr( bb_string:String )
 
 
 Function NSOSVersion(major:Int Var, minor:Int Var, patch:Int Var)
 Function NSOSVersion(major:Int Var, minor:Int Var, patch:Int Var)
 
 

+ 2 - 2
openal.mod/openal.bmx

@@ -102,7 +102,7 @@ End Extern
 
 
 Global _ok=LoadOpenAL()
 Global _ok=LoadOpenAL()
 
 
-Function P:Byte Ptr(t$)
+Function P:Byte Ptr(t:String)
 	Return GetOpenALFunction( t )
 	Return GetOpenALFunction( t )
 End Function
 End Function
 
 
@@ -600,7 +600,7 @@ about:
 <tr><td>AL_INVALID_ENUM</td><td>The specified parameter is not valid.</td></tr>
 <tr><td>AL_INVALID_ENUM</td><td>The specified parameter is not valid.</td></tr>
 <tr><td>AL_INVALID_OPERATION</td><td>There is no current context.</td></tr></table><br/>
 <tr><td>AL_INVALID_OPERATION</td><td>There is no current context.</td></tr></table><br/>
 End Rem
 End Rem
-Global alListenerf( param,value# )=P("alListenerf")
+Global alListenerf( param,value:Float )=P("alListenerf")
 Rem
 Rem
 bbdoc: This function sets a floating point property for the listener. The relevant properties are listed in the table Listener Properties.
 bbdoc: This function sets a floating point property for the listener. The relevant properties are listed in the table Listener Properties.
 about:
 about:

+ 6 - 6
opengl.mod/glu.bmx

@@ -26,9 +26,9 @@ Function gluEndCurve(nurbs_nurb:Byte Ptr)="void gluEndCurve (GLUnurbs*)!"
 Function gluEndPolygon(tesselator_tess:Byte Ptr)="void gluEndPolygon (GLUtesselator* )!"
 Function gluEndPolygon(tesselator_tess:Byte Ptr)="void gluEndPolygon (GLUtesselator* )!"
 Function gluEndSurface(nurbs_nurb:Byte Ptr)="void gluEndSurface (GLUnurbs*)!"
 Function gluEndSurface(nurbs_nurb:Byte Ptr)="void gluEndSurface (GLUnurbs*)!"
 Function gluEndTrim(nurbs_nurb:Byte Ptr)="void gluEndTrim (GLUnurbs*)!"
 Function gluEndTrim(nurbs_nurb:Byte Ptr)="void gluEndTrim (GLUnurbs*)!"
-Function gluGetNurbsProperty(nurbs_nurb:Byte Ptr,enum_property,float_data# Ptr)="void gluGetNurbsProperty (GLUnurbs*, GLenum , GLfloat* )!"
+Function gluGetNurbsProperty(nurbs_nurb:Byte Ptr,enum_property,float_data:Float Ptr)="void gluGetNurbsProperty (GLUnurbs*, GLenum , GLfloat* )!"
 Function gluGetTessProperty(tesselator_tess:Byte Ptr,enum_which,double_data! Ptr)="void gluGetTessProperty (GLUtesselator* , GLenum , GLdouble* )!"
 Function gluGetTessProperty(tesselator_tess:Byte Ptr,enum_which,double_data! Ptr)="void gluGetTessProperty (GLUtesselator* , GLenum , GLdouble* )!"
-Function gluLoadSamplingMatrices(nurbs_nurb:Byte Ptr,float_model# Ptr,float_perspective# Ptr,int_view Ptr)="void gluLoadSamplingMatrices (GLUnurbs*, const GLfloat *, const GLfloat *, const GLint *)!"
+Function gluLoadSamplingMatrices(nurbs_nurb:Byte Ptr,float_model:Float Ptr,float_perspective:Float Ptr,int_view Ptr)="void gluLoadSamplingMatrices (GLUnurbs*, const GLfloat *, const GLfloat *, const GLint *)!"
 Function gluLookAt(double_eyeX!,double_eyeY!,double_eyeZ!,double_centerX!,double_centerY!,double_centerZ!,double_upX!,double_upY!,double_upZ!)="void gluLookAt (GLdouble , GLdouble , GLdouble , GLdouble , GLdouble , GLdouble , GLdouble , GLdouble , GLdouble )!"
 Function gluLookAt(double_eyeX!,double_eyeY!,double_eyeZ!,double_centerX!,double_centerY!,double_centerZ!,double_upX!,double_upY!,double_upZ!)="void gluLookAt (GLdouble , GLdouble , GLdouble , GLdouble , GLdouble , GLdouble , GLdouble , GLdouble , GLdouble )!"
 Function gluNewNurbsRenderer:Byte Ptr()="GLUnurbs* gluNewNurbsRenderer ()!"
 Function gluNewNurbsRenderer:Byte Ptr()="GLUnurbs* gluNewNurbsRenderer ()!"
 Function gluNewQuadric:Byte Ptr()="GLUquadric* gluNewQuadric ()!"
 Function gluNewQuadric:Byte Ptr()="GLUquadric* gluNewQuadric ()!"
@@ -36,15 +36,15 @@ Function gluNewTess:Byte Ptr()="GLUtesselator* gluNewTess ()!"
 Function gluNextContour(tesselator_tess:Byte Ptr,enum_type)="void gluNextContour (GLUtesselator* , GLenum )!"
 Function gluNextContour(tesselator_tess:Byte Ptr,enum_type)="void gluNextContour (GLUtesselator* , GLenum )!"
 Function gluNurbsCallbackData(nurbs_nurb:Byte Ptr,void_userData:Byte Ptr)="BBINT gluNurbsCallbackData(BBBYTE* ,BBBYTE* )!"
 Function gluNurbsCallbackData(nurbs_nurb:Byte Ptr,void_userData:Byte Ptr)="BBINT gluNurbsCallbackData(BBBYTE* ,BBBYTE* )!"
 Function gluNurbsCallbackDataEXT(nurbs_nurb:Byte Ptr,void_userData:Byte Ptr)="BBINT gluNurbsCallbackDataEXT(BBBYTE* ,BBBYTE* )!"
 Function gluNurbsCallbackDataEXT(nurbs_nurb:Byte Ptr,void_userData:Byte Ptr)="BBINT gluNurbsCallbackDataEXT(BBBYTE* ,BBBYTE* )!"
-Function gluNurbsCurve(nurbs_nurb:Byte Ptr,int_knotCount,float_knots# Ptr,int_stride,float_control# Ptr,int_order,enum_type)="void gluNurbsCurve (GLUnurbs*, GLint , GLfloat *, GLint , GLfloat *, GLint , GLenum )!"
-Function gluNurbsProperty(nurbs_nurb:Byte Ptr,enum_property,float_value#)="void gluNurbsProperty (GLUnurbs*, GLenum , GLfloat )!"
-Function gluNurbsSurface(nurbs_nurb:Byte Ptr,int_sKnotCount,float_sKnots# Ptr,int_tKnotCount,float_tKnots# Ptr,int_sStride,int_tStride,float_control# Ptr,int_sOrder,int_tOrder,enum_type)="void gluNurbsSurface (GLUnurbs*, GLint , GLfloat* , GLint , GLfloat* , GLint , GLint , GLfloat* , GLint , GLint , GLenum )!"
+Function gluNurbsCurve(nurbs_nurb:Byte Ptr,int_knotCount,float_knots:Float Ptr,int_stride,float_control:Float Ptr,int_order,enum_type)="void gluNurbsCurve (GLUnurbs*, GLint , GLfloat *, GLint , GLfloat *, GLint , GLenum )!"
+Function gluNurbsProperty(nurbs_nurb:Byte Ptr,enum_property,float_value:Float)="void gluNurbsProperty (GLUnurbs*, GLenum , GLfloat )!"
+Function gluNurbsSurface(nurbs_nurb:Byte Ptr,int_sKnotCount,float_sKnots:Float Ptr,int_tKnotCount,float_tKnots:Float Ptr,int_sStride,int_tStride,float_control:Float Ptr,int_sOrder,int_tOrder,enum_type)="void gluNurbsSurface (GLUnurbs*, GLint , GLfloat* , GLint , GLfloat* , GLint , GLint , GLfloat* , GLint , GLint , GLenum )!"
 Function gluOrtho2D(double_left!,double_right!,double_bottom!,double_top!)="void gluOrtho2D (GLdouble , GLdouble , GLdouble , GLdouble )!"
 Function gluOrtho2D(double_left!,double_right!,double_bottom!,double_top!)="void gluOrtho2D (GLdouble , GLdouble , GLdouble , GLdouble )!"
 Function gluPartialDisk(quadric_quad:Byte Ptr,double_inner!,double_outer!,int_slices,int_loops,double_start!,double_sweep!)="void gluPartialDisk (GLUquadric* , GLdouble , GLdouble , GLint , GLint , GLdouble , GLdouble )!"
 Function gluPartialDisk(quadric_quad:Byte Ptr,double_inner!,double_outer!,int_slices,int_loops,double_start!,double_sweep!)="void gluPartialDisk (GLUquadric* , GLdouble , GLdouble , GLint , GLint , GLdouble , GLdouble )!"
 Function gluPerspective(double_fovy!,double_aspect!,double_zNear!,double_zFar!)="void gluPerspective (GLdouble , GLdouble , GLdouble , GLdouble )!"
 Function gluPerspective(double_fovy!,double_aspect!,double_zNear!,double_zFar!)="void gluPerspective (GLdouble , GLdouble , GLdouble , GLdouble )!"
 Function gluPickMatrix(double_x!,double_y!,double_delX!,double_delY!,int_viewport Ptr)="void gluPickMatrix (GLdouble , GLdouble , GLdouble , GLdouble , GLint *)!"
 Function gluPickMatrix(double_x!,double_y!,double_delX!,double_delY!,int_viewport Ptr)="void gluPickMatrix (GLdouble , GLdouble , GLdouble , GLdouble , GLint *)!"
 Function gluProject(double_objX!,double_objY!,double_objZ!,double_model! Ptr,double_proj! Ptr,int_view Ptr,double_winX! Ptr,double_winY! Ptr,double_winZ! Ptr)="GLint gluProject (GLdouble , GLdouble , GLdouble , const GLdouble *, const GLdouble *, const GLint *, GLdouble* , GLdouble* , GLdouble* )!"
 Function gluProject(double_objX!,double_objY!,double_objZ!,double_model! Ptr,double_proj! Ptr,int_view Ptr,double_winX! Ptr,double_winY! Ptr,double_winZ! Ptr)="GLint gluProject (GLdouble , GLdouble , GLdouble , const GLdouble *, const GLdouble *, const GLint *, GLdouble* , GLdouble* , GLdouble* )!"
-Function gluPwlCurve(nurbs_nurb:Byte Ptr,int_count,float_data# Ptr,int_stride,enum_type)="void gluPwlCurve (GLUnurbs*, GLint , GLfloat* , GLint , GLenum )!"
+Function gluPwlCurve(nurbs_nurb:Byte Ptr,int_count,float_data:Float Ptr,int_stride,enum_type)="void gluPwlCurve (GLUnurbs*, GLint , GLfloat* , GLint , GLenum )!"
 Function gluQuadricDrawStyle(quadric_quad:Byte Ptr,enum_draw)="void gluQuadricDrawStyle (GLUquadric* , GLenum )!"
 Function gluQuadricDrawStyle(quadric_quad:Byte Ptr,enum_draw)="void gluQuadricDrawStyle (GLUquadric* , GLenum )!"
 Function gluQuadricNormals(quadric_quad:Byte Ptr,enum_normal)="void gluQuadricNormals (GLUquadric* , GLenum )!"
 Function gluQuadricNormals(quadric_quad:Byte Ptr,enum_normal)="void gluQuadricNormals (GLUquadric* , GLenum )!"
 Function gluQuadricOrientation(quadric_quad:Byte Ptr,enum_orientation)="void gluQuadricOrientation (GLUquadric* , GLenum )!"
 Function gluQuadricOrientation(quadric_quad:Byte Ptr,enum_orientation)="void gluQuadricOrientation (GLUquadric* , GLenum )!"

+ 31 - 31
stdc.mod/stdc.bmx

@@ -175,30 +175,30 @@ End Type
 'c lib
 'c lib
 Extern "c"
 Extern "c"
 
 
-Const SEEK_SET_%=0
-Const SEEK_CUR_%=1
-Const SEEK_END_%=2
+Const SEEK_SET_:Int=0
+Const SEEK_CUR_:Int=1
+Const SEEK_END_:Int=2
 
 
-Const S_IFMT_%=$f000
-Const S_IFIFO_%=$1000
-Const S_IFCHR_%=$2000
-Const S_IFBLK_%=$3000
-Const S_IFDIR_%=$4000
-Const S_IFREG_%=$8000
+Const S_IFMT_:Int=$f000
+Const S_IFIFO_:Int=$1000
+Const S_IFCHR_:Int=$2000
+Const S_IFBLK_:Int=$3000
+Const S_IFDIR_:Int=$4000
+Const S_IFREG_:Int=$8000
 
 
 Global stdin_:Byte Ptr
 Global stdin_:Byte Ptr
 Global stdout_:Byte Ptr
 Global stdout_:Byte Ptr
 Global stderr_:Byte Ptr
 Global stderr_:Byte Ptr
 
 
-Function getchar_%()
-Function puts_%( str$ )
-Function putenv_%( str$ )
-Function getenv_$( env$ )
+Function getchar_:Int()
+Function puts_:Int( str:String )
+Function putenv_:Int( str:String )
+Function getenv_:String( env:String )
 
 
 'file system
 'file system
 
 
-Function fopen_:Byte Ptr( file$,Mode$ )
-Function fclose_%( c_stream:Byte Ptr )="int fclose( FILE* ) !"
+Function fopen_:Byte Ptr( file:String,Mode:String )
+Function fclose_:Int( c_stream:Byte Ptr )="int fclose( FILE* ) !"
 Function fread_:Long( buf:Byte Ptr,size:Long,count:Long,c_stream:Byte Ptr )="size_t fread( void* , size_t, size_t, FILE* ) !"
 Function fread_:Long( buf:Byte Ptr,size:Long,count:Long,c_stream:Byte Ptr )="size_t fread( void* , size_t, size_t, FILE* ) !"
 Function fwrite_:Long( buf:Byte Ptr,size:Long,count:Long,c_stream:Byte Ptr )="size_t fwrite( void* ,size_t, size_t, FILE* ) !"
 Function fwrite_:Long( buf:Byte Ptr,size:Long,count:Long,c_stream:Byte Ptr )="size_t fwrite( void* ,size_t, size_t, FILE* ) !"
 Function fflush_( c_stream:Byte Ptr )="int fflush( FILE* ) !"
 Function fflush_( c_stream:Byte Ptr )="int fflush( FILE* ) !"
@@ -207,23 +207,23 @@ Function ftell_:Long( c_stream:Byte Ptr )'="ftell"
 Function feof_:Int( c_stream:Byte Ptr )="int feof( FILE* ) !"
 Function feof_:Int( c_stream:Byte Ptr )="int feof( FILE* ) !"
 Function fgetc_:Int( c_stream:Byte Ptr )="int fgetc( FILE* ) !"
 Function fgetc_:Int( c_stream:Byte Ptr )="int fgetc( FILE* ) !"
 Function ungetc_:Int( char:Int,c_stream:Byte Ptr )="int ungetc( int,FILE* ) !"
 Function ungetc_:Int( char:Int,c_stream:Byte Ptr )="int ungetc( int,FILE* ) !"
-Function fputs_:Int( str$,c_stream:Byte Ptr )
+Function fputs_:Int( str:String,c_stream:Byte Ptr )
 Function ftruncate_:Int(c_stream:Byte Ptr, size:Long)
 Function ftruncate_:Int(c_stream:Byte Ptr, size:Long)
 
 
 'posix
 'posix
 
 
-Function chdir_:Int( dir$ )
-Function getcwd_$()
-Function chmod_:Int( path$,Mode:Int )
-Function mkdir_:Int( path$,Mode:Int )
-Function rmdir_:Int( path$ )
-Function rename_:Int( from_path$,to_path$ )
-Function remove_( path$ )
-Function opendir_:Byte Ptr( path$ )
+Function chdir_:Int( dir:String )
+Function getcwd_:String()
+Function chmod_:Int( path:String,Mode:Int )
+Function mkdir_:Int( path:String,Mode:Int )
+Function rmdir_:Int( path:String )
+Function rename_:Int( from_path:String,to_path:String )
+Function remove_( path:String )
+Function opendir_:Byte Ptr( path:String )
 Function closedir_:Int( dir:Byte Ptr )
 Function closedir_:Int( dir:Byte Ptr )
-Function readdir_$( dir:Byte Ptr )
-Function stat_:Int( path$,st_mode:Int Var,st_size:Long Var,st_mtime:Int Var,st_ctime:Int Var,st_atime:Int Var )
-Function system_:Int( cmd$ )
+Function readdir_:String( dir:Byte Ptr )
+Function stat_:Int( path:String,st_mode:Int Var,st_size:Long Var,st_mtime:Int Var,st_ctime:Int Var,st_atime:Int Var )
+Function system_:Int( cmd:String )
 Function utime_:Int( path:String, ty:Int, time:Long)
 Function utime_:Int( path:String, ty:Int, time:Long)
 
 
 'misc
 'misc
@@ -337,7 +337,7 @@ Function bind_:Int( socket:Int,addr_type:Int,port:Int )
 ?
 ?
 Function gethostbyaddr_:Byte Ptr( addr:Byte Ptr,addr_len:Int,addr_type:Int )
 Function gethostbyaddr_:Byte Ptr( addr:Byte Ptr,addr_len:Int,addr_type:Int )
 
 
-'Function gethostbyname_:Byte Ptr Ptr( name$,addr_type:Int Var,addr_len:Int Var )
+'Function gethostbyname_:Byte Ptr Ptr( name:String,addr_type:Int Var,addr_len:Int Var )
 Function getaddrinfo_:TAddrInfo[](name:String, service:String = "http", family:Int = AF_UNSPEC_)
 Function getaddrinfo_:TAddrInfo[](name:String, service:String = "http", family:Int = AF_UNSPEC_)
 Function getaddrinfo_hints:TAddrInfo[](name:String, service:String, hints:Byte Ptr)
 Function getaddrinfo_hints:TAddrInfo[](name:String, service:String, hints:Byte Ptr)
 
 
@@ -432,7 +432,7 @@ Function bmx_stdc_getpeername:Int(socket:Long, port:Int Var, address:String Var)
 
 
 Function time_:Int( time:Byte Ptr )
 Function time_:Int( time:Byte Ptr )
 Function localtime_:Byte Ptr( time:Byte Ptr ) ' note : not thread safe
 Function localtime_:Byte Ptr( time:Byte Ptr ) ' note : not thread safe
-Function strftime_:Int( buf:Byte Ptr,size:Int,fmt$,time:Byte Ptr )
+Function strftime_:Int( buf:Byte Ptr,size:Int,fmt:String,time:Byte Ptr )
 
 
 ?Not macos
 ?Not macos
 Function clock_gettime_(id:Int, spec:STimeSpec Var)
 Function clock_gettime_(id:Int, spec:STimeSpec Var)
@@ -587,7 +587,7 @@ You can also specify some parameters to return the date in a format of your choi
 You can use these parameters together:<br/>
 You can use these parameters together:<br/>
 CurrentDate("Month: %%a Day: %%d")<br/>
 CurrentDate("Month: %%a Day: %%d")<br/>
 End Rem
 End Rem
-Function CurrentDate$(_format$="%d %b %Y")
+Function CurrentDate:String(_format:String="%d %b %Y")
 	Return bmx_current_datetime_format(_format)
 	Return bmx_current_datetime_format(_format)
 End Function
 End Function
 
 
@@ -597,7 +597,7 @@ returns: The current time as a string
 about:
 about:
 Returns the current time in the format: HH:MM:SS (i.e. 14:31:57).
 Returns the current time in the format: HH:MM:SS (i.e. 14:31:57).
 End Rem
 End Rem
-Function CurrentTime$()
+Function CurrentTime:String()
 	Return bmx_current_datetime_format("%H:%M:%S")
 	Return bmx_current_datetime_format("%H:%M:%S")
 End Function
 End Function
 
 

+ 7 - 7
win32.mod/com.bmx

@@ -591,13 +591,13 @@ Interface IHTMLWindow2_ Extends IDispatch_
 End Interface
 End Interface
 End Extern
 End Extern
 
 
-Const IUnknown_UUID$="{00000000-0000-0000-C000-000000000046}"
-Const IDispatch_UUID$="{00020400-0000-0000-C000-000000000046}"
-Const IWebBrowser_UUID$="{EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B}"
-Const IWebBrowserApp_UUID$="{0002DF05-0000-0000-C000-000000000046}"
-Const IWebBrowser2_UUID$="{D30C1661-CDAF-11d0-8A3E-00C04FC9E26E}"
-Const IHTMLDocument2_UUID$="{332c4425-26cb-11d0-b483-00c04fd90119}"
-Const IHTMLWindow2_UUID$="{332c4427-26cb-11d0-b483-00c04fd90119}"
+Const IUnknown_UUID:String="{00000000-0000-0000-C000-000000000046}"
+Const IDispatch_UUID:String="{00020400-0000-0000-C000-000000000046}"
+Const IWebBrowser_UUID:String="{EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B}"
+Const IWebBrowserApp_UUID:String="{0002DF05-0000-0000-C000-000000000046}"
+Const IWebBrowser2_UUID:String="{D30C1661-CDAF-11d0-8A3E-00C04FC9E26E}"
+Const IHTMLDocument2_UUID:String="{332c4425-26cb-11d0-b483-00c04fd90119}"
+Const IHTMLWindow2_UUID:String="{332c4427-26cb-11d0-b483-00c04fd90119}"
 
 
 Const CLSCTX_INPROC_SERVER        =$1 
 Const CLSCTX_INPROC_SERVER        =$1 
 Const CLSCTX_INPROC_HANDLER       =$2 
 Const CLSCTX_INPROC_HANDLER       =$2 

+ 1 - 1
win32.mod/commctrl.bmx

@@ -788,7 +788,7 @@ Const SBM_SETSCROLLINFO=$00E9
 Const SBM_GETSCROLLINFO=$00EA
 Const SBM_GETSCROLLINFO=$00EA
 Const SBM_GETSCROLLBARINFO=$00EB
 Const SBM_GETSCROLLBARINFO=$00EB
 
 
-Const TRACKBAR_CLASS$="msctls_trackbar32"
+Const TRACKBAR_CLASS:String="msctls_trackbar32"
 
 
 Const TBS_AUTOTICKS=$0001
 Const TBS_AUTOTICKS=$0001
 Const TBS_VERT=$0002
 Const TBS_VERT=$0002

+ 24 - 24
xmmintrin.mod/tools/generate.bmx

@@ -51,7 +51,7 @@ headerdata :+ "' 3. This notice may not be removed or altered from any source di
 headerdata :+ "'"
 headerdata :+ "'"
 
 
 
 
-Local moduledata$ = headerdata + "~n"
+Local moduledata:String = headerdata + "~n"
 moduledata :+ "SuperStrict~n~n"
 moduledata :+ "SuperStrict~n~n"
 moduledata :+ "Rem~n"
 moduledata :+ "Rem~n"
 moduledata :+ "bbdoc: SIMD intrinsics for x64.~n"
 moduledata :+ "bbdoc: SIMD intrinsics for x64.~n"
@@ -63,7 +63,7 @@ moduledata :+ "ModuleInfo ~qLicense: zlib/libpng~q~n"
 moduledata :+ "ModuleInfo ~qCopyright: David JJ Camp~q~n~n"
 moduledata :+ "ModuleInfo ~qCopyright: David JJ Camp~q~n~n"
 moduledata :+ "?x64~n"
 moduledata :+ "?x64~n"
 
 
-For Local version$ = EachIn SSE_VERSIONS
+For Local version:String = EachIn SSE_VERSIONS
 	Local file:String = version + ".bmx"
 	Local file:String = version + ".bmx"
 	Local path:String = "../" + file
 	Local path:String = "../" + file
 	Local xfile:String = "../" + version + ".x"
 	Local xfile:String = "../" + version + ".x"
@@ -103,7 +103,7 @@ moduledata :+ "?~n"
 SaveText moduledata,modulefile
 SaveText moduledata,modulefile
 
 
 ' create _MM_SHUFFLE constants file
 ' create _MM_SHUFFLE constants file
-Local shufflefile$ = "../" + "_MM_SHUFFLE.bmx"
+Local shufflefile:String = "../" + "_MM_SHUFFLE.bmx"
 Local outstream:TStream = WriteStream(shufflefile)
 Local outstream:TStream = WriteStream(shufflefile)
 
 
 WriteLine(outstream, headerdata)
 WriteLine(outstream, headerdata)
@@ -116,9 +116,9 @@ For Local a:Int = 0 Until 4
 	For Local b:Int = 0 Until 4
 	For Local b:Int = 0 Until 4
 		For Local c:Int = 0 Until 4
 		For Local c:Int = 0 Until 4
 			For Local d:Int  = 0 Until 4
 			For Local d:Int  = 0 Until 4
-				Local shuffle$ = "Const _MM_SHUFFLE_" + String(a) + String(b) + String(c) + String(d) + ":Int"
-				Local value$ = String(a Shl 6 | b Shl 4 | c Shl 2 | d)
-				WriteLine outstream, shuffle$ + "=" + value
+				Local shuffle:String = "Const _MM_SHUFFLE_" + String(a) + String(b) + String(c) + String(d) + ":Int"
+				Local value:String = String(a Shl 6 | b Shl 4 | c Shl 2 | d)
+				WriteLine outstream, shuffle + "=" + value
 			Next
 			Next
 		Next
 		Next
 	Next
 	Next
@@ -129,17 +129,17 @@ CloseStream outstream
 
 
 
 
 Type tparser
 Type tparser
-	Field _data$
+	Field _data:String
 	Field _length:Int
 	Field _length:Int
 	Field _posa:Int,_posb:Int
 	Field _posa:Int,_posb:Int
-	Field _token$
+	Field _token:String
 	
 	
-	Field _xfunc$
+	Field _xfunc:String
 	Field _xpos:Int
 	Field _xpos:Int
 
 
-	Field _out$
+	Field _out:String
 	
 	
-	Method New(data$)
+	Method New(data:String)
 		_data = data
 		_data = data
 		_length = data.length
 		_length = data.length
 		_out = "~t"
 		_out = "~t"
@@ -196,8 +196,8 @@ Type tparser
 	EndMethod
 	EndMethod
 	
 	
 	Method ParseFunction()
 	Method ParseFunction()
-		Local rettype$
-		Local funcname$
+		Local rettype:String
+		Local funcname:String
 		
 		
 		rettype = ParseType()
 		rettype = ParseType()
 		
 		
@@ -220,7 +220,7 @@ Type tparser
 		
 		
 		nexttoken
 		nexttoken
 
 
-		Local param$
+		Local param:String
 		If _token <> ")"
 		If _token <> ")"
 			param = ParseParameter()
 			param = ParseParameter()
 			Emit(param)
 			Emit(param)
@@ -231,7 +231,7 @@ Type tparser
 				_xfunc :+ ","
 				_xfunc :+ ","
 				NextToken
 				NextToken
 
 
-				Local param$ = ParseParameter()
+				Local param:String = ParseParameter()
 				Emit(param)
 				Emit(param)
 			Wend
 			Wend
 		EndIf
 		EndIf
@@ -243,9 +243,9 @@ Type tparser
 		NextToken
 		NextToken
 	EndMethod
 	EndMethod
 	
 	
-	Method ParseType$()
+	Method ParseType:String()
 		_xpos = _posa
 		_xpos = _posa
-		Local t$
+		Local t:String
 		Select _token
 		Select _token
 		Case "__m64"
 		Case "__m64"
 			t = "Float64"
 			t = "Float64"
@@ -314,18 +314,18 @@ Type tparser
 		Return t
 		Return t
 	EndMethod
 	EndMethod
 	
 	
-	Method ParseParameter$()
-		Local t$ = ParseType()		
+	Method ParseParameter:String()
+		Local t:String = ParseType()		
 		If t = "" And ( _token = "," Or _token = ")" ) Return ""
 		If t = "" And ( _token = "," Or _token = ")" ) Return ""
 		
 		
 		Assert(_token.length)
 		Assert(_token.length)
-		Local name$ = _token
+		Local name:String = _token
 		nexttoken
 		nexttoken
 		
 		
 		Return name + ":" + t
 		Return name + ":" + t
 	EndMethod
 	EndMethod
 	
 	
-	Method Emit(s$)
+	Method Emit(s:String)
 		_out :+ s
 		_out :+ s
 	EndMethod
 	EndMethod
 
 
@@ -393,10 +393,10 @@ Type tparser
 	EndMethod
 	EndMethod
 EndType
 EndType
 
 
-Function BackupFile(filename$)
+Function BackupFile(filename:String)
 	If FileType(filename)
 	If FileType(filename)
-		Local data$ = LoadText(filename)
-		Local backup$ = filename+".bak"
+		Local data:String = LoadText(filename)
+		Local backup:String = filename+".bak"
 		SaveText data,backup
 		SaveText data,backup
 	EndIf
 	EndIf
 EndFunction
 EndFunction