1<?php
2/*************************************************************************************
3 * blitzbasic.php
4 * --------------
5 * Author: P�draig O`Connel (info@moonsword.info)
6 * Copyright: (c) 2005 P�draig O`Connel (http://moonsword.info)
7 * Release Version: 1.0.9.1
8 * Date Started: 16.10.2005
9 *
10 * BlitzBasic language file for GeSHi.
11 *
12 * It is a simple Basic dialect. Released for Games and Network Connections.
13 * In this Language File are all functions included (2D BB and 3D BB)
14 *
15 *
16 * CHANGES
17 * -------
18 * 2005/12/28 (1.0.1)
19 *   -  Remove unnecessary style index for regexps
20 * 2005/10/22 (1.0.0)
21 *   -  First Release
22 *
23 * TODO (updated 2005/10/22)
24 * -------------------------
25 * * Sort out the Basic commands for splitting up.
26 * * To set up the right colors.
27 *      (the colors are ok, but not the correct ones)
28 * * Split to BlitzBasic 2D and BlitzBasic 3D.
29 *
30 *************************************************************************************
31 *
32 *     This file is part of GeSHi.
33 *
34 *   GeSHi is free software; you can redistribute it and/or modify
35 *   it under the terms of the GNU General Public License as published by
36 *   the Free Software Foundation; either version 2 of the License, or
37 *   (at your option) any later version.
38 *
39 *   GeSHi is distributed in the hope that it will be useful,
40 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
41 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
42 *   GNU General Public License for more details.
43 *
44 *   You should have received a copy of the GNU General Public License
45 *   along with GeSHi; if not, write to the Free Software
46 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
47 *
48 ************************************************************************************/
49
50$language_data = array (
51    'LANG_NAME' => 'BlitzBasic',
52    'COMMENT_SINGLE' => array(1 => ';'),
53    'COMMENT_MULTI' => array(),
54    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
55    'QUOTEMARKS' => array('"'),
56    'ESCAPE_CHAR' => '',
57    'KEYWORDS' => array(
58        1 => array(
59            'If','EndIf','ElseIf','Else','While','Wend','Return','Next','Include','End Type','End Select','End If','End Function','End','Select',
60            'Type','Forever','For','Or','And','AppTitle','Case','Goto','Gosub','Step','Stop','Int','Last','False','Then','To','True','Until','Float',
61            'String','Before','Not'
62            ),
63        2 => array(
64            // All Functions - 2D BB and 3D BB
65            'Xor','WriteString','WriteShort','WritePixelFast','WritePixel','WriteLine','WriteInt','WriteFloat','WriteFile','WriteBytes',
66            'WriteByte','Write','WaitTimer','WaitMouse','WaitKey','WaitJoy','VWait','Viewport',
67            'Upper','UpdateGamma','UnlockBuffer','UDPTimeouts','UDPStreamPort','UDPStreamIP','UDPMsgPort','UDPMsgIP',
68            'Trim','TotalVidMem','TileImage','TileBlock','TFormImage','TFormFilter','Text',
69            'TCPTimeouts','TCPStreamPort','TCPStreamIP','Tan','SystemProperty','StringWidth','StringHeight','Str','StopNetGame',
70            'StopChannel','StartNetGame','Sqr','SoundVolume','SoundPitch','SoundPan','Sin','Shr',
71            'ShowPointer','Shl','Sgn','SetGfxDriver','SetGamma','SetFont','SetEnv','SetBuffer','SendUDPMsg','SendNetMsg',
72            'SeekFile','SeedRnd','ScanLine','ScaleImage','SaveImage','SaveBuffer','Sar','RuntimeError','RSet',
73            'RotateImage','RndSeed','Rnd','Right','ResumeChannel','Restore','ResizeImage','ResizeBank','Replace',
74            'Repeat','RecvUDPMsg','RecvNetMsg','RectsOverlap','Rect','ReadString','ReadShort','ReadPixelFast','ReadPixel','ReadLine',
75            'ReadInt','ReadFloat','ReadFile','ReadDir','ReadBytes','ReadByte','ReadAvail','Read','Rand','Print',
76            'PokeShort','PokeInt','PokeFloat','PokeByte','Plot','PlaySound','PlayMusic','PlayCDTrack','Pi','PeekShort',
77            'PeekInt','PeekFloat','PeekByte','PauseChannel','Oval','Origin','OpenTCPStream','OpenMovie','OpenFile',
78            'Null','NextFile','New','NetPlayerName','NetPlayerLocal','NetMsgType','NetMsgTo','NetMsgFrom',
79            'NetMsgData','MovieWidth','MoviePlaying','MovieHeight','MoveMouse','MouseZSpeed','MouseZ','MouseYSpeed','MouseY','MouseXSpeed',
80            'MouseX','MouseHit','MouseDown','Mod','Millisecs','MidHandle','Mid','MaskImage','LSet','Lower',
81            'LoopSound','Log10','Log','LockBuffer','Locate','Local','LoadSound','LoadImage','LoadFont','LoadBuffer',
82            'LoadAnimImage','Line','Len','Left','KeyHit','KeyDown','JoyZDir','JoyZ','JoyYDir',
83            'JoyYaw','JoyY','JoyXDir','JoyX','JoyVDir','JoyV','JoyUDir','JoyU','JoyType','JoyRoll',
84            'JoyPitch','JoyHit','JoyHat','JoyDown','JoinNetGame','Instr','Insert','Input',
85            'ImageYHandle','ImageXHandle','ImageWidth','ImagesOverlap','ImagesCollide','ImageRectOverlap','ImageRectCollide','ImageHeight','ImageBuffer',
86            'HostNetGame','HostIP','HidePointer','Hex','HandleImage','GraphicsWidth','GraphicsHeight','GraphicsDepth','GraphicsBuffer','Graphics',
87            'GrabImage','Global','GFXModeWidth','GFXModeHeight','GfxModeExists','GFXModeDepth','GfxDriverName','GetMouse',
88            'GetKey','GetJoy','GetEnv','GetColor','GammaRed','GammaGreen','GammaBlue','Function','FrontBuffer','FreeTimer',
89            'FreeSound','FreeImage','FreeFont','FreeBank','FontWidth','FontHeight','FlushMouse','FlushKeys',
90            'FlushJoy','Floor','Flip','First','FileType','FileSize','FilePos','Field',
91            'Exp','Exit','ExecFile','Eof','EndGraphics','Each','DrawMovie','DrawImageRect','DrawImage','DrawBlockRect','DrawBlock',
92            'DottedIP','Dim','DeleteNetPlayer','DeleteFile','DeleteDir','Delete','Delay','Default','DebugLog','Data',
93            'CurrentTime','CurrentDir','CurrentDate','CreateUDPStream','CreateTimer','CreateTCPServer','CreateNetPlayer','CreateImage','CreateDir','CreateBank',
94            'CountHostIPs','CountGFXModes','CountGfxDrivers','Cos','CopyStream','CopyRect','CopyPixelFast','CopyPixel','CopyImage','CopyFile',
95            'CopyBank','Const','CommandLine','ColorRed','ColorGreen','ColorBlue','Color','ClsColor','Cls','CloseUDPStream',
96            'CloseTCPStream','CloseTCPServer','CloseMovie','CloseFile','CloseDir','Chr','ChannelVolume','ChannelPlaying','ChannelPitch','ChannelPan',
97            'ChangeDir','Ceil','CallDLL','Bin','BankSize','BackBuffer','AvailVidMem','AutoMidHandle',
98            'ATan2','ATan','ASin','Asc','After','ACos','AcceptTCPStream','Abs',
99            // 3D Commands
100            'Wireframe','Windowed3D','WBuffer','VertexZ','VertexY',
101            'VertexX','VertexW','VertexV','VertexU','VertexTexCoords','VertexRed','VertexNZ','VertexNY','VertexNX','VertexNormal',
102            'VertexGreen','VertexCoords','VertexColor','VertexBlue','VertexAlpha','VectorYaw','VectorPitch','UpdateWorld','UpdateNormals','TurnEntity',
103            'TrisRendered','TriangleVertex','TranslateEntity','TFormVector','TFormPoint','TFormNormal','TFormedZ','TFormedY','TFormedX','TextureWidth',
104            'TextureName','TextureHeight','TextureFilter','TextureCoords','TextureBuffer','TextureBlend','TerrainZ','TerrainY','TerrainX','TerrainSize',
105            'TerrainShading','TerrainHeight','TerrainDetail','SpriteViewMode','ShowEntity','SetCubeFace','SetAnimTime','SetAnimKey','ScaleTexture','ScaleSprite',
106            'ScaleMesh','ScaleEntity','RotateTexture','RotateSprite','RotateMesh','RotateEntity','ResetEntity','RenderWorld','ProjectedZ','ProjectedY',
107            'ProjectedX','PositionTexture','PositionMesh','PositionEntity','PointEntity','PickedZ','PickedY','PickedX','PickedTriangle','PickedTime',
108            'PickedSurface','PickedNZ','PickedNY','PickedNX','PickedEntity','PaintSurface','PaintMesh','PaintEntity','NameEntity','MoveEntity',
109            'ModifyTerrain','MeshWidth','MeshHeight','MeshesIntersect','MeshDepth','MD2AnimTime','MD2AnimLength','MD2Animating','LoadTexture','LoadTerrain',
110            'LoadSprite','LoadMesh','LoadMD2','LoaderMatrix','LoadBSP','LoadBrush','LoadAnimTexture','LoadAnimSeq','LoadAnimMesh','Load3DSound',
111            'LinePick','LightRange','LightMesh','LightConeAngles','LightColor','HWMultiTex','HideEntity','HandleSprite','Graphics3D','GfxMode3DExists',
112            'GfxMode3D','GfxDriverCaps3D','GfxDriver3D','GetSurfaceBrush','GetSurface','GetParent','GetMatElement','GetEntityType','GetEntityBrush','GetChild',
113            'GetBrushTexture','FreeTexture','FreeEntity','FreeBrush','FlipMesh','FitMesh','FindSurface','FindChild','ExtractAnimSeq','EntityZ',
114            'EntityYaw','EntityY','EntityX','EntityVisible','EntityType','EntityTexture','EntityShininess','EntityRoll','EntityRadius','EntityPitch',
115            'EntityPickMode','EntityPick','EntityParent','EntityOrder','EntityName','EntityInView','EntityFX','EntityDistance','EntityColor','EntityCollided',
116            'EntityBox','EntityBlend','EntityAutoFade','EntityAlpha','EmitSound','Dither','DeltaYaw','DeltaPitch','CreateTexture','CreateTerrain',
117            'CreateSurface','CreateSprite','CreateSphere','CreatePlane','CreatePivot','CreateMirror','CreateMesh','CreateListener','CreateLight','CreateCylinder',
118            'CreateCube','CreateCone','CreateCamera','CreateBrush','CountVertices','CountTriangles','CountSurfaces','CountGfxModes3D','CountCollisions','CountChildren',
119            'CopyMesh','CopyEntity','CollisionZ','CollisionY','CollisionX','CollisionTriangle','CollisionTime','CollisionSurface','Collisions','CollisionNZ',
120            'CollisionNY','CollisionNX','CollisionEntity','ClearWorld','ClearTextureFilters','ClearSurface','ClearCollisions','CaptureWorld','CameraZoom','CameraViewport',
121            'CameraRange','CameraProjMode','CameraProject','CameraPick','CameraFogRange','CameraFogMode','CameraFogColor','CameraClsMode','CameraClsColor','BSPLighting',
122            'BSPAmbientLight','BrushTexture','BrushShininess','BrushFX','BrushColor','BrushBlend','BrushAlpha','AntiAlias','AnimTime','AnimSeq',
123            'AnimLength','Animating','AnimateMD2','Animate','AmbientLight','AlignToVector','AddVertex','AddTriangle','AddMesh','AddAnimSeq',
124            )
125        ),
126    'SYMBOLS' => array(
127        '(',')'
128        ),
129    'CASE_SENSITIVE' => array(
130        GESHI_COMMENTS => false,
131        1 => false,
132        2 => false,
133        ),
134    'STYLES' => array(
135        'KEYWORDS' => array(
136            1 => 'color: #000066; font-weight: bold;',
137            2 => 'color: #0000ff;'
138            ),
139        'COMMENTS' => array(
140            1 => 'color: #D9D100; font-style: italic;',
141            ),
142        'ESCAPE_CHAR' => array(
143            0 => 'color: #000099; font-weight: bold;'
144            ),
145        'BRACKETS' => array(
146            0 => 'color: #000066;'
147            ),
148        'STRINGS' => array(
149            0 => 'color: #009900;'
150            ),
151        'NUMBERS' => array(
152            0 => 'color: #CC0000;'
153            ),
154        'METHODS' => array(
155            1 => 'color: #006600;'
156            ),
157        'SYMBOLS' => array(
158            0 => 'color: #000066;'
159            ),
160        'REGEXPS' => array(
161            ),
162        'SCRIPT' => array(
163            0 => '',
164            1 => '',
165            )
166        ),
167    'URLS' => array(
168        1 => '',
169        2 => ''
170        ),
171    'OOLANG' => false,
172    'OBJECT_SPLITTERS' => array(
173        1 => '\\'
174        ),
175    'REGEXPS' => array(
176        ),
177    'STRICT_MODE_APPLIES' => GESHI_NEVER,
178    'SCRIPT_DELIMITERS' => array(),
179    'HIGHLIGHT_STRICT_BLOCK' => array(
180        0 => false,
181        1 => false
182        )
183);
184