import brl.blitz
import brl.glmax2d
import pub.glew
import brl.bmploader
import brl.pngloader
import brl.jpgloader
import brl.retro
import brl.appstub
import brl.audio
import brl.d3d7max2d
import brl.directsoundaudio
import brl.eventqueue
import brl.freeaudioaudio
import brl.freetypefont
import brl.gnet
import brl.maxutil
import brl.oggloader
import brl.openalaudio
import brl.reflection
import brl.tgaloader
import brl.timer
import brl.wavloader
import pub.freejoy
import pub.freeprocess
import pub.macos
TGlobal^brl.blitz.Object{
width%&=mem("_bb_TGlobal_width")
height%&=mem("_bb_TGlobal_height")
mode%&=mem("_bb_TGlobal_mode")
depth%&=mem("_bb_TGlobal_depth")
rate%&=mem("_bb_TGlobal_rate")
ambient_red#&=mem:f("_bb_TGlobal_ambient_red")
ambient_green#&=mem:f("_bb_TGlobal_ambient_green")
ambient_blue#&=mem:f("_bb_TGlobal_ambient_blue")
vbo_enabled%&=mem("_bb_TGlobal_vbo_enabled")
aa%&=mem("_bb_TGlobal_aa")
ACSIZE%&=mem("_bb_TGlobal_ACSIZE")
jitter%&=mem("_bb_TGlobal_jitter")
j#&[,]&=mem:p("_bb_TGlobal_j")
-New%()="_bb_TGlobal_New"
-Delete%()="_bb_TGlobal_Delete"
+Graphics3D%(w%,h%,d%=0,m%=0,r%=60)="_bb_TGlobal_Graphics3D"
+AntiAlias%(samples%)="_bb_TGlobal_AntiAlias"
+Wireframe%(enable%)="_bb_TGlobal_Wireframe"
+AmbientLight%(r#,g#,b#)="_bb_TGlobal_AmbientLight"
+ClearCollisions%()="_bb_TGlobal_ClearCollisions"
+Collisions%(src_no%,dest_no%,method_no%,response_no%=0)="_bb_TGlobal_Collisions"
+UpdateWorld%(anim_speed#=1#)="_bb_TGlobal_UpdateWorld"
+RenderWorld%()="_bb_TGlobal_RenderWorld"
+RenderWorldAA%()="_bb_TGlobal_RenderWorldAA"
+RenderCamera%(cam:TCamera)="_bb_TGlobal_RenderCamera"
+AutoFade%(cam:TCamera,mesh:TMesh)="_bb_TGlobal_AutoFade"
+GraphicsInit%()="_bb_TGlobal_GraphicsInit"
+BeginMax2D1%()="_bb_TGlobal_BeginMax2D1"
+EndMax2D1%()="_bb_TGlobal_EndMax2D1"
+BeginMax2D%()="_bb_TGlobal_BeginMax2D"
+EndMax2D%()="_bb_TGlobal_EndMax2D"
+EnableStates%()="_bb_TGlobal_EnableStates"
+RenderListAdd%(mesh:TMesh,List:brl.linkedlist.TList)="_bb_TGlobal_RenderListAdd"
+UpdateSprites%(cam:TCamera,list:brl.linkedlist.TList)="_bb_TGlobal_UpdateSprites"
}="bb_TGlobal"
TEntity^brl.blitz.Object{
entity_list:brl.linkedlist.TList&=mem:p("_bb_TEntity_entity_list")
tformed_x#&=mem:f("_bb_TEntity_tformed_x")
tformed_y#&=mem:f("_bb_TEntity_tformed_y")
tformed_z#&=mem:f("_bb_TEntity_tformed_z")
.child_list:brl.linkedlist.TList&
.parent:TEntity&
.mat:TMatrix&
.px#&
.py#&
.pz#&
.sx#&
.sy#&
.sz#&
.rx#&
.ry#&
.rz#&
.qw#&
.qx#&
.qy#&
.qz#&
.name$&
.class$&
.hidden%&
.parent_hidden%&
.order%&
.alpha_order#&
.auto_fade%&
.fade_near#&
.fade_far#&
.fade_alpha#&
.brush:TBrush&
.cull_radius#&
.radius_x#&
.radius_y#&
.box_x#&
.box_y#&
.box_z#&
.box_w#&
.box_h#&
.box_d#&
.collision_type%&
.no_collisions%&
.collision:TCollisionImpact&[]&
.pick_mode%&
.obscurer%&
.anim%&
.anim_render%&
.anim_mode%&
.anim_time#&
.anim_speed#&
.anim_seq%&
.anim_trans%&
.anim_dir%&
.anim_seqs_first%&[]&
.anim_seqs_last%&[]&
.no_seqs%&
.anim_update%&
.old_x#&
.old_y#&
.old_z#&
.link:brl.linkedlist.TLink&
-New%()="_bb_TEntity_New"
-Delete%()="_bb_TEntity_Delete"
-CopyEntity:TEntity(parent_ent:TEntity="bbNullObject")A="brl_blitz_NullMethodError"
-Update%()A="brl_blitz_NullMethodError"
-FreeEntity%()="_bb_TEntity_FreeEntity"
-PositionEntity%(x#,y#,z#,glob%=0)="_bb_TEntity_PositionEntity"
-MoveEntity%(mx#,my#,mz#)="_bb_TEntity_MoveEntity"
-TranslateEntity%(tx#,ty#,tz#,glob%=0)="_bb_TEntity_TranslateEntity"
-ScaleEntity%(x#,y#,z#,glob%=0)="_bb_TEntity_ScaleEntity"
-RotateEntity1%(x#,y#,z#,glob%=0)="_bb_TEntity_RotateEntity1"
-RotateEntity%(x#,y#,z#,glob%=0)="_bb_TEntity_RotateEntity"
-TurnEntity%(x#,y#,z#,glob%=0)="_bb_TEntity_TurnEntity"
-PointEntity%(target_ent:TEntity,roll#=0#)="_bb_TEntity_PointEntity"
-ExtractAnimSeq%(first_frame%,last_frame%,seq%=0)="_bb_TEntity_ExtractAnimSeq"
-Animate%(mode%=1,speed#=1#,seq%=0,trans%=0)="_bb_TEntity_Animate"
-SetAnimTime%(time#,seq%=0)="_bb_TEntity_SetAnimTime"
-AnimSeq%()="_bb_TEntity_AnimSeq"
-AnimLength%()="_bb_TEntity_AnimLength"
-AnimTime#()="_bb_TEntity_AnimTime"
-Animating%()="_bb_TEntity_Animating"
-EntityColor%(r#,g#,b#)="_bb_TEntity_EntityColor"
-EntityAlpha%(a#)="_bb_TEntity_EntityAlpha"
-EntityShininess%(s#)="_bb_TEntity_EntityShininess"
-EntityTexture%(texture:TTexture,frame%=0,index%=0)="_bb_TEntity_EntityTexture"
-EntityBlend%(blend_no%)="_bb_TEntity_EntityBlend"
-EntityFX%(fx_no%)="_bb_TEntity_EntityFX"
-EntityAutoFade%(near#,far#)="_bb_TEntity_EntityAutoFade"
-PaintEntity%(bru:TBrush)="_bb_TEntity_PaintEntity"
-EntityOrder%(order_no%)="_bb_TEntity_EntityOrder"
-ShowEntity%()="_bb_TEntity_ShowEntity"
-ShowEntity_%()="_bb_TEntity_ShowEntity_"
-HideEntity%()="_bb_TEntity_HideEntity"
-HideEntity_%()="_bb_TEntity_HideEntity_"
-NameEntity%(e_name$)="_bb_TEntity_NameEntity"
-EntityParent%(parent_ent:TEntity,glob%=1)="_bb_TEntity_EntityParent"
-GetParent:TEntity()="_bb_TEntity_GetParent"
-EntityX#(glob%=0)="_bb_TEntity_EntityX"
-EntityY#(glob%=0)="_bb_TEntity_EntityY"
-EntityZ#(glob%=0)="_bb_TEntity_EntityZ"
-EntityPitch#(glob%=0)="_bb_TEntity_EntityPitch"
-EntityYaw#(glob%=0)="_bb_TEntity_EntityYaw"
-EntityRoll#(glob%=0)="_bb_TEntity_EntityRoll"
-EntityClass$()="_bb_TEntity_EntityClass"
-EntityName$()="_bb_TEntity_EntityName"
-CountChildren%()="_bb_TEntity_CountChildren"
-GetChild:TEntity(child_no%)="_bb_TEntity_GetChild"
-FindChild:TEntity(child_name$)="_bb_TEntity_FindChild"
-EntityPick:TEntity(range#)="_bb_TEntity_EntityPick"
-LinePick:TEntity(x#,y#,z#,dx#,dy#,dz#,radius#=0#)="_bb_TEntity_LinePick"
-EntityVisible%(src_entity:TEntity,dest_entity:TEntity)="_bb_TEntity_EntityVisible"
-EntityDistance#(ent2:TEntity)="_bb_TEntity_EntityDistance"
-DeltaYaw#(ent2:TEntity)="_bb_TEntity_DeltaYaw"
-DeltaPitch#(ent2:TEntity)="_bb_TEntity_DeltaPitch"
+TFormPoint%(x#,y#,z#,src_ent:TEntity,dest_ent:TEntity)="_bb_TEntity_TFormPoint"
+TFormVector%(x#,y#,z#,src_ent:TEntity,dest_ent:TEntity)="_bb_TEntity_TFormVector"
+TFormNormal%(x#,y#,z#,src_ent:TEntity,dest_ent:TEntity)="_bb_TEntity_TFormNormal"
+TFormedX#()="_bb_TEntity_TFormedX"
+TFormedY#()="_bb_TEntity_TFormedY"
+TFormedZ#()="_bb_TEntity_TFormedZ"
-GetMatElement#(row%,col%)="_bb_TEntity_GetMatElement"
-ResetEntity%()="_bb_TEntity_ResetEntity"
-EntityRadius%(rx#,ry#=0#)="_bb_TEntity_EntityRadius"
-EntityBox%(x#,y#,z#,w#,h#,d#)="_bb_TEntity_EntityBox"
-EntityType%(type_no%,recursive%=0)="_bb_TEntity_EntityType"
-EntityPickMode%(no%,obscure%=1)="_bb_TEntity_EntityPickMode"
-EntityCollided:TEntity(type_no%)="_bb_TEntity_EntityCollided"
-CountCollisions%()="_bb_TEntity_CountCollisions"
-CollisionX#(index%)="_bb_TEntity_CollisionX"
-CollisionY#(index%)="_bb_TEntity_CollisionY"
-CollisionZ#(index%)="_bb_TEntity_CollisionZ"
-CollisionNX#(index%)="_bb_TEntity_CollisionNX"
-CollisionNY#(index%)="_bb_TEntity_CollisionNY"
-CollisionNZ#(index%)="_bb_TEntity_CollisionNZ"
-CollisionTime#(index%)="_bb_TEntity_CollisionTime"
-CollisionEntity:TEntity(index%)="_bb_TEntity_CollisionEntity"
-CollisionSurface:TSurface(index%)="_bb_TEntity_CollisionSurface"
-CollisionTriangle%(index%)="_bb_TEntity_CollisionTriangle"
-GetEntityType%()="_bb_TEntity_GetEntityType"
-MeshCullRadius%(radius#)="_bb_TEntity_MeshCullRadius"
-EntityScaleX#(glob%=0)="_bb_TEntity_EntityScaleX"
-EntityScaleY#(glob%=0)="_bb_TEntity_EntityScaleY"
-EntityScaleZ#(glob%=0)="_bb_TEntity_EntityScaleZ"
-BoundingSphereNew%(sx# Var,sy# Var,sz# Var,sr# Var)="_bb_TEntity_BoundingSphereNew"
+CountAllChildren%(ent:TEntity,no_children%=0)="_bb_TEntity_CountAllChildren"
-GetChildFromAll:TEntity(child_no%,no_children% Var,ent:TEntity="bbNullObject")="_bb_TEntity_GetChildFromAll"
-UpdateMat%(load_identity%=0)="_bb_TEntity_UpdateMat"
-AddParent%(parent_ent:TEntity)="_bb_TEntity_AddParent"
+UpdateChildren%(ent_p:TEntity)="_bb_TEntity_UpdateChildren"
-EntityDistanceSquared0#(ent2:TEntity)="_bb_TEntity_EntityDistanceSquared0"
-EntityDistanceSquared#(ent2:TEntity)="_bb_TEntity_EntityDistanceSquared"
-EntityListAdd%(list:brl.linkedlist.TList)="_bb_TEntity_EntityListAdd"
}A="bb_TEntity"
TCamera^TEntity{
cam_list:brl.linkedlist.TList&=mem:p("_bb_TCamera_cam_list")
projected_x#&=mem:f("_bb_TCamera_projected_x")
projected_y#&=mem:f("_bb_TCamera_projected_y")
projected_z#&=mem:f("_bb_TCamera_projected_z")
.vx%&
.vy%&
.vwidth%&
.vheight%&
.cls_r#&
.cls_g#&
.cls_b#&
.cls_color%&
.cls_zbuffer%&
.range_near#&
.range_far#&
.zoom#&
.fog_mode%&
.fog_r#&
.fog_g#&
.fog_b#&
.fog_range_near#&
.fog_range_far#&
.mod_mat!&[]&
.proj_mat!&[]&
.viewport%&[]&
.frustum#&[,]&
-New%()="_bb_TCamera_New"
-Delete%()="_bb_TCamera_Delete"
-CopyEntity:TCamera(parent_ent:TEntity="bbNullObject")="_bb_TCamera_CopyEntity"
-FreeEntity%()="_bb_TCamera_FreeEntity"
+CreateCamera:TCamera(parent_ent:TEntity="bbNullObject")="_bb_TCamera_CreateCamera"
-CameraViewport%(x%,y%,w%,h%)="_bb_TCamera_CameraViewport"
-CameraClsColor%(r#,g#,b#)="_bb_TCamera_CameraClsColor"
-CameraClsMode%(color%,zbuffer%)="_bb_TCamera_CameraClsMode"
-CameraRange%(near#,far#)="_bb_TCamera_CameraRange"
-CameraZoom%(zoom_val#)="_bb_TCamera_CameraZoom"
-CameraPick:TEntity(x#,y#)="_bb_TCamera_CameraPick"
-CameraFogMode%(mode%)="_bb_TCamera_CameraFogMode"
-CameraFogColor%(r#,g#,b#)="_bb_TCamera_CameraFogColor"
-CameraFogRange%(near#,far#)="_bb_TCamera_CameraFogRange"
-CameraProject%(x#,y#,z#)="_bb_TCamera_CameraProject"
-ProjectedX#()="_bb_TCamera_ProjectedX"
-ProjectedY#()="_bb_TCamera_ProjectedY"
-ProjectedZ#()="_bb_TCamera_ProjectedZ"
-EntityInView#(ent:TEntity)="_bb_TCamera_EntityInView"
-ExtractFrustum%()="_bb_TCamera_ExtractFrustum"
-EntityInFrustum#(ent:TEntity)="_bb_TCamera_EntityInFrustum"
-Update%()="_bb_TCamera_Update"
-accPerspective%(fovy#,aspect#,zNear#,zFar#,pixdx#,pixdy#,eyedx#,eyedy#,focus#)="_bb_TCamera_accPerspective"
-accFrustum%(left_#,right_#,bottom#,top#,zNear#,zFar#,pixdx#,pixdy#,eyedx#,eyedy#,focus#)="_bb_TCamera_accFrustum"
}="bb_TCamera"
TLight^TEntity{
light_no%&=mem("_bb_TLight_light_no")
no_lights%&=mem("_bb_TLight_no_lights")
max_lights%&=mem("_bb_TLight_max_lights")
gl_light%&[]&=mem:p("_bb_TLight_gl_light")
light_list:brl.linkedlist.TList&=mem:p("_bb_TLight_light_list")
.light_type%&
.range#&
.red#&
.green#&
.blue#&
.inner_ang#&
.outer_ang#&
-New%()="_bb_TLight_New"
-Delete%()="_bb_TLight_Delete"
-CopyEntity:TLight(parent_ent:TEntity="bbNullObject")="_bb_TLight_CopyEntity"
-FreeEntity%()="_bb_TLight_FreeEntity"
+CreateLight:TLight(l_type%=1,parent_ent:TEntity="bbNullObject")="_bb_TLight_CreateLight"
-LightRange%(light_range#)="_bb_TLight_LightRange"
-LightColor%(r#,g#,b#)="_bb_TLight_LightColor"
-LightConeAngles%(inner#,outer#)="_bb_TLight_LightConeAngles"
-Update%()="_bb_TLight_Update"
}="bb_TLight"
TPivot^TEntity{
-New%()="_bb_TPivot_New"
-Delete%()="_bb_TPivot_Delete"
-CopyEntity:TPivot(parent_ent:TEntity="bbNullObject")="_bb_TPivot_CopyEntity"
-FreeEntity%()="_bb_TPivot_FreeEntity"
+CreatePivot:TPivot(parent_ent:TEntity="bbNullObject")="_bb_TPivot_CreatePivot"
-Update%()="_bb_TPivot_Update"
}="bb_TPivot"
TMesh^TEntity{
.min_x#&
.min_y#&
.min_z#&
.max_x#&
.max_y#&
.max_z#&
.no_surfs%&
.surf_list:brl.linkedlist.TList&
.anim_surf_list:brl.linkedlist.TList&
.no_bones%&
.bones:TBone&[]&
.mat_sp:TMatrix&
.col_tree:TColTree&
.reset_bounds%&
.reset_col_tree%&
-New%()="_bb_TMesh_New"
-Delete%()="_bb_TMesh_Delete"
-CopyEntity:TMesh(parent_ent:TEntity="bbNullObject")="_bb_TMesh_CopyEntity"
-FreeEntity%()="_bb_TMesh_FreeEntity"
+CreateMesh:TMesh(parent_ent:TEntity="bbNullObject")="_bb_TMesh_CreateMesh"
+LoadMesh:TMesh(file$,parent_ent:TEntity="bbNullObject")="_bb_TMesh_LoadMesh"
+LoadAnimMesh:TMesh(file$,parent_ent:TEntity="bbNullObject")="_bb_TMesh_LoadAnimMesh"
+CreateCube:TMesh(parent_ent:TEntity="bbNullObject")="_bb_TMesh_CreateCube"
+CreateSphere:TMesh(segments%=8,parent_ent:TEntity="bbNullObject")="_bb_TMesh_CreateSphere"
+CreateCylinder:TMesh(verticalsegments%=8,solid%=1,parent_ent:TEntity="bbNullObject")="_bb_TMesh_CreateCylinder"
+CreateCone:TMesh(segments%=8,solid%=1,parent_ent:TEntity="bbNullObject")="_bb_TMesh_CreateCone"
-CopyMesh:TMesh(parent_ent:TEntity="bbNullObject")="_bb_TMesh_CopyMesh"
-AddMesh%(mesh2:TMesh)="_bb_TMesh_AddMesh"
-FlipMesh%()="_bb_TMesh_FlipMesh"
-PaintMesh%(bru:TBrush)="_bb_TMesh_PaintMesh"
-FitMesh%(x#,y#,z#,width#,height#,depth#,uniform%=0)="_bb_TMesh_FitMesh"
-ScaleMesh%(sx#,sy#,sz#)="_bb_TMesh_ScaleMesh"
-RotateMesh%(pitch#,yaw#,roll#)="_bb_TMesh_RotateMesh"
-PositionMesh%(px#,py#,pz#)="_bb_TMesh_PositionMesh"
-UpdateNormals%()="_bb_TMesh_UpdateNormals"
-CreateSurface:TSurface(bru:TBrush="bbNullObject")="_bb_TMesh_CreateSurface"
-MeshWidth#()="_bb_TMesh_MeshWidth"
-MeshHeight#()="_bb_TMesh_MeshHeight"
-MeshDepth#()="_bb_TMesh_MeshDepth"
-CountSurfaces%()="_bb_TMesh_CountSurfaces"
-GetSurface:TSurface(surf_no_get%)="_bb_TMesh_GetSurface"
-FindSurface:TSurface(brush:TBrush)="_bb_TMesh_FindSurface"
-CountVertices%()="_bb_TMesh_CountVertices"
-CountTriangles%()="_bb_TMesh_CountTriangles"
+CopyBonesList%(ent:TEntity,bones:TBone&[] Var,no_bones% Var)="_bb_TMesh_CopyBonesList"
-CollapseAnimMesh:TMesh(mesh:TMesh="bbNullObject")="_bb_TMesh_CollapseAnimMesh"
+CollapseChildren:TMesh(ent0:TEntity,mesh:TMesh="bbNullObject")="_bb_TMesh_CollapseChildren"
-TransformMesh%(mat:TMatrix)="_bb_TMesh_TransformMesh"
-TreeCheck%()="_bb_TMesh_TreeCheck"
-GetBounds%()="_bb_TMesh_GetBounds"
-Alpha%()="_bb_TMesh_Alpha"
-Update%()="_bb_TMesh_Update"
}="bb_TMesh"
TSprite^TMesh{
.angle#&
.scale_x#&
.scale_y#&
.handle_x#&
.handle_y#&
.view_mode%&
-New%()="_bb_TSprite_New"
-Delete%()="_bb_TSprite_Delete"
-CopyEntity:TSprite(parent_ent:TEntity="bbNullObject")="_bb_TSprite_CopyEntity"
+CreateSprite:TSprite(parent_ent:TEntity="bbNullObject")="_bb_TSprite_CreateSprite"
+LoadSprite:TSprite(tex_file$,tex_flag%=1,parent_ent:TEntity="bbNullObject")="_bb_TSprite_LoadSprite"
-RotateSprite%(ang#)="_bb_TSprite_RotateSprite"
-ScaleSprite%(s_x#,s_y#)="_bb_TSprite_ScaleSprite"
-HandleSprite%(h_x#,h_y#)="_bb_TSprite_HandleSprite"
-SpriteViewMode%(mode%)="_bb_TSprite_SpriteViewMode"
}="bb_TSprite"
TBone^TEntity{
.n_px#&
.n_py#&
.n_pz#&
.n_sx#&
.n_sy#&
.n_sz#&
.n_rx#&
.n_ry#&
.n_rz#&
.n_qw#&
.n_qx#&
.n_qy#&
.n_qz#&
.keys:TAnimationKeys&
.inv_mat:TMatrix&
.tform_mat:TMatrix&
.kx#&
.ky#&
.kz#&
.kqw#&
.kqx#&
.kqy#&
.kqz#&
-New%()="_bb_TBone_New"
-Delete%()="_bb_TBone_Delete"
-CopyEntity:TBone(parent_ent:TEntity="bbNullObject")="_bb_TBone_CopyEntity"
-FreeEntity%()="_bb_TBone_FreeEntity"
+UpdateBoneChildren%(ent_p:TEntity)="_bb_TBone_UpdateBoneChildren"
-Update%()="_bb_TBone_Update"
}="bb_TBone"
TSurface^brl.blitz.Object{
.no_verts%&
.no_tris%&
.tris@@&[]&
.vert_coords#&[]&
.vert_tex_coords0#&[]&
.vert_tex_coords1#&[]&
.vert_norm#&[]&
.vert_col#&[]&
.vert_bone1_no%&[]&
.vert_bone2_no%&[]&
.vert_bone3_no%&[]&
.vert_bone4_no%&[]&
.vert_weight1#&[]&
.vert_weight2#&[]&
.vert_weight3#&[]&
.vert_weight4#&[]&
.brush:TBrush&
.vbo_enabled%&
.vbo_id%&[]&
.vert_array_size%&
.tri_array_size%&
.vmin%&
.vmax%&
.reset_vbo%&
.alpha_enable%&
-New%()="_bb_TSurface_New"
-Delete%()="_bb_TSurface_Delete"
-Compare%(other:Object)="_bb_TSurface_Compare"
-Copy:TSurface()="_bb_TSurface_Copy"
-PaintSurface%(bru:TBrush)="_bb_TSurface_PaintSurface"
-ClearSurface%(clear_verts%=1,clear_tris%=1)="_bb_TSurface_ClearSurface"
-AddVertex%(x#,y#,z#,u#=0#,v#=0#,w#=0#)="_bb_TSurface_AddVertex"
-AddTriangle%(v0%,v1%,v2%)="_bb_TSurface_AddTriangle"
-CountVertices%()="_bb_TSurface_CountVertices"
-CountTriangles%()="_bb_TSurface_CountTriangles"
-VertexCoords%(vid%,x#,y#,z#)="_bb_TSurface_VertexCoords"
-VertexColor%(vid%,r#,g#,b#,a#=1#)="_bb_TSurface_VertexColor"
-VertexNormal%(vid%,nx#,ny#,nz#)="_bb_TSurface_VertexNormal"
-VertexTexCoords%(vid%,u#,v#,w#=0#,coord_set%=0)="_bb_TSurface_VertexTexCoords"
-VertexX#(vid%)="_bb_TSurface_VertexX"
-VertexY#(vid%)="_bb_TSurface_VertexY"
-VertexZ#(vid%)="_bb_TSurface_VertexZ"
-VertexRed#(vid%)="_bb_TSurface_VertexRed"
-VertexGreen#(vid%)="_bb_TSurface_VertexGreen"
-VertexBlue#(vid%)="_bb_TSurface_VertexBlue"
-VertexAlpha#(vid%)="_bb_TSurface_VertexAlpha"
-VertexNX#(vid%)="_bb_TSurface_VertexNX"
-VertexNY#(vid%)="_bb_TSurface_VertexNY"
-VertexNZ#(vid%)="_bb_TSurface_VertexNZ"
-VertexU#(vid%,coord_set%=0)="_bb_TSurface_VertexU"
-VertexV#(vid%,coord_set%=0)="_bb_TSurface_VertexV"
-VertexW#(vid%,coord_set%=0)="_bb_TSurface_VertexW"
-TriangleVertex%(tri_no%,corner%)="_bb_TSurface_TriangleVertex"
-UpdateNormals%()="_bb_TSurface_UpdateNormals"
-TriangleNX#(tri_no%)="_bb_TSurface_TriangleNX"
-TriangleNY#(tri_no%)="_bb_TSurface_TriangleNY"
-TriangleNZ#(tri_no%)="_bb_TSurface_TriangleNZ"
-UpdateVBO%()="_bb_TSurface_UpdateVBO"
-FreeVBO%()="_bb_TSurface_FreeVBO"
}="bb_TSurface"
TTexture^brl.blitz.Object{
tex_list:brl.linkedlist.TList&=mem:p("_bb_TTexture_tex_list")
.file$&
.flags%&
.blend%&
.coords%&
.u_scale#&
.v_scale#&
.u_pos#&
.v_pos#&
.angle#&
.file_abs$&
.width%&
.height%&
.pixmap:brl.pixmap.TPixmap&
.gltex%&[]&
.cube_pixmap:brl.pixmap.TPixmap&[]&
.no_frames%&
.no_mipmaps%&
.cube_face%&
.cube_mode%&
-New%()="_bb_TTexture_New"
-Delete%()="_bb_TTexture_Delete"
-FreeTexture%()="_bb_TTexture_FreeTexture"
+CreateTexture:TTexture(width%,height%,flags%=1,frames%=1,tex:TTexture="bbNullObject")="_bb_TTexture_CreateTexture"
+LoadTexture:TTexture(file$,flags%=1,tex:TTexture="bbNullObject")="_bb_TTexture_LoadTexture"
+LoadAnimTexture:TTexture(file$,flags%,frame_width%,frame_height%,first_frame%,frame_count%,tex:TTexture="bbNullObject")="_bb_TTexture_LoadAnimTexture"
+CreateCubeMapTexture:TTexture(width%,height%,flags%,tex:TTexture="bbNullObject")="_bb_TTexture_CreateCubeMapTexture"
+LoadCubeMapTexture:TTexture(file$,flags%=1,tex:TTexture="bbNullObject")="_bb_TTexture_LoadCubeMapTexture"
-TextureBlend%(blend_no%)="_bb_TTexture_TextureBlend"
-TextureCoords%(coords_no%)="_bb_TTexture_TextureCoords"
-ScaleTexture%(u_s#,v_s#)="_bb_TTexture_ScaleTexture"
-PositionTexture%(u_p#,v_p#)="_bb_TTexture_PositionTexture"
-RotateTexture%(ang#)="_bb_TTexture_RotateTexture"
-TextureWidth%()="_bb_TTexture_TextureWidth"
-TextureHeight%()="_bb_TTexture_TextureHeight"
-TextureName$()="_bb_TTexture_TextureName"
+GetBrushTexture:TTexture(brush:TBrush,index%=0)="_bb_TTexture_GetBrushTexture"
+ClearTextureFilters%()="_bb_TTexture_ClearTextureFilters"
+TextureFilter%(match_text$,flags%)="_bb_TTexture_TextureFilter"
-SetCubeFace%(face%)="_bb_TTexture_SetCubeFace"
-SetCubeMode%(mode%)="_bb_TTexture_SetCubeMode"
-BackBufferToTex%(mipmap_no%=0,frame%=0)="_bb_TTexture_BackBufferToTex"
-CountMipmaps%()="_bb_TTexture_CountMipmaps"
-MipmapWidth%(mipmap_no%)="_bb_TTexture_MipmapWidth"
-MipmapHeight%(mipmap_no%)="_bb_TTexture_MipmapHeight"
+FileFind%(file$ Var)="_bb_TTexture_FileFind"
+FileAbs$(file$)="_bb_TTexture_FileAbs"
-TexInList:TTexture()="_bb_TTexture_TexInList"
-FilterFlags%()="_bb_TTexture_FilterFlags"
+AdjustPixmap:brl.pixmap.TPixmap(pixmap:brl.pixmap.TPixmap)="_bb_TTexture_AdjustPixmap"
+Pow2Size%(n%)="_bb_TTexture_Pow2Size"
}="bb_TTexture"
TTextureFilter^brl.blitz.Object{
filter_list:brl.linkedlist.TList&=mem:p("_bb_TTextureFilter_filter_list")
.text$&
.flags%&
-New%()="_bb_TTextureFilter_New"
-Delete%()="_bb_TTextureFilter_Delete"
}="bb_TTextureFilter"
TBrush^brl.blitz.Object{
.no_texs%&
.name$&
.red#&
.green#&
.blue#&
.alpha#&
.shine#&
.blend%&
.fx%&
.tex_frame%&
.tex:TTexture&[]&
-New%()="_bb_TBrush_New"
-Delete%()="_bb_TBrush_Delete"
-Copy:TBrush()="_bb_TBrush_Copy"
-FreeBrush%()="_bb_TBrush_FreeBrush"
+CreateBrush:TBrush(r#=255#,g#=255#,b#=255#)="_bb_TBrush_CreateBrush"
+LoadBrush:TBrush(file$,flags%=1,u_scale#=1#,v_scale#=1#)="_bb_TBrush_LoadBrush"
-BrushColor%(r#,g#,b#)="_bb_TBrush_BrushColor"
-BrushAlpha%(a#)="_bb_TBrush_BrushAlpha"
-BrushShininess%(s#)="_bb_TBrush_BrushShininess"
-BrushTexture%(texture:TTexture,frame%=0,index%=0)="_bb_TBrush_BrushTexture"
-BrushBlend%(blend_no%)="_bb_TBrush_BrushBlend"
-BrushFX%(fx_no%)="_bb_TBrush_BrushFX"
+GetEntityBrush:TBrush(ent:TEntity)="_bb_TBrush_GetEntityBrush"
+GetSurfaceBrush:TBrush(surf:TSurface)="_bb_TBrush_GetSurfaceBrush"
+CompareBrushes%(brush1:TBrush,brush2:TBrush)="_bb_TBrush_CompareBrushes"
}="bb_TBrush"
TAnimation^brl.blitz.Object{
-New%()="_bb_TAnimation_New"
-Delete%()="_bb_TAnimation_Delete"
+AnimateMesh%(ent1:TEntity,framef#,start_frame%,end_frame%)="_bb_TAnimation_AnimateMesh"
+AnimateMesh2%(ent1:TEntity,framef#,start_frame%,end_frame%)="_bb_TAnimation_AnimateMesh2"
+VertexDeform%(ent:TMesh)="_bb_TAnimation_VertexDeform"
+NormaliseWeights%(mesh:TMesh)="_bb_TAnimation_NormaliseWeights"
}="bb_TAnimation"
TAnimationKeys^brl.blitz.Object{
.frames%&
.flags%&[]&
.px#&[]&
.py#&[]&
.pz#&[]&
.sx#&[]&
.sy#&[]&
.sz#&[]&
.qw#&[]&
.qx#&[]&
.qy#&[]&
.qz#&[]&
-New%()="_bb_TAnimationKeys_New"
-Delete%()="_bb_TAnimationKeys_Delete"
-Copy:TAnimationKeys()="_bb_TAnimationKeys_Copy"
}="bb_TAnimationKeys"
TModel^brl.blitz.Object{
-New%()="_bb_TModel_New"
-Delete%()="_bb_TModel_Delete"
+LoadAnimB3D:TMesh(f_name$,parent_ent_ext:TEntity="bbNullObject")="_bb_TModel_LoadAnimB3D"
+TrimVerts%(surf:TSurface)="_bb_TModel_TrimVerts"
+b3dReadString$(file:brl.stream.TStream Var)="_bb_TModel_b3dReadString"
+ReadTag$(file:brl.stream.TStream)="_bb_TModel_ReadTag"
+NewTag%(tag$)="_bb_TModel_NewTag"
}="bb_TModel"
TPick^brl.blitz.Object{
EPSILON%=0
ent_list:brl.linkedlist.TList&=mem:p("_bb_TPick_ent_list")
picked_x#&=mem:f("_bb_TPick_picked_x")
picked_y#&=mem:f("_bb_TPick_picked_y")
picked_z#&=mem:f("_bb_TPick_picked_z")
picked_nx#&=mem:f("_bb_TPick_picked_nx")
picked_ny#&=mem:f("_bb_TPick_picked_ny")
picked_nz#&=mem:f("_bb_TPick_picked_nz")
picked_time#&=mem:f("_bb_TPick_picked_time")
picked_ent:TEntity&=mem:p("_bb_TPick_picked_ent")
picked_surface:TSurface&=mem:p("_bb_TPick_picked_surface")
picked_triangle%&=mem("_bb_TPick_picked_triangle")
-New%()="_bb_TPick_New"
-Delete%()="_bb_TPick_Delete"
+CameraPick:TEntity(cam:TCamera,vx#,vy#)="_bb_TPick_CameraPick"
+EntityPick:TEntity(ent:TEntity,range#)="_bb_TPick_EntityPick"
+LinePick:TEntity(x#,y#,z#,dx#,dy#,dz#,radius#=0#)="_bb_TPick_LinePick"
+EntityVisible%(src_ent:TEntity,dest_ent:TEntity)="_bb_TPick_EntityVisible"
+PickedX#()="_bb_TPick_PickedX"
+PickedY#()="_bb_TPick_PickedY"
+PickedZ#()="_bb_TPick_PickedZ"
+PickedNX#()="_bb_TPick_PickedNX"
+PickedNY#()="_bb_TPick_PickedNY"
+PickedNZ#()="_bb_TPick_PickedNZ"
+PickedTime#()="_bb_TPick_PickedTime"
+PickedEntity:TEntity()="_bb_TPick_PickedEntity"
+PickedSurface:TSurface()="_bb_TPick_PickedSurface"
+PickedTriangle%()="_bb_TPick_PickedTriangle"
+Pick:TEntity(ax#,ay#,az#,bx#,by#,bz#,radius#=0#)="_bb_TPick_Pick"
+PickSphere%(ent:TEntity,ax#,ay#,az#,bx#,by#,bz#,radius#=0#,t_min# Var)="_bb_TPick_PickSphere"
+PickMesh%(ent:TEntity,ax#,ay#,az#,bx#,by#,bz#,radius#=0#,t_min# Var)="_bb_TPick_PickMesh"
+PickBox%(ent:TEntity,ax#,ay#,az#,bx#,by#,bz#,radius#=0#,t_min# Var)="_bb_TPick_PickBox"
+IntersectSegmentSphere%(px#,py#,pz#,qx#,qy#,qz#,sx#,sy#,sz#,sr#,t# Var,qx2# Var,qy2# Var,qz2# Var)="_bb_TPick_IntersectSegmentSphere"
+IntersectSegmentTriangle%(px#,py#,pz#,qx#,qy#,qz#,ax#,ay#,az#,bx#,by#,bz#,cx#,cy#,cz#,u# Var,v# Var,w# Var,t# Var)="_bb_TPick_IntersectSegmentTriangle"
+IntersectSegmentAABB%(px#,py#,pz#,qx#,qy#,qz#,x#,y#,z#,w#,h#,d#,tmin# Var,qx2# Var,qy2# Var,qz2# Var)="_bb_TPick_IntersectSegmentAABB"
}="bb_TPick"
TCollision^brl.blitz.Object{
unitsPerMeter#=100#
list:brl.linkedlist.TList&=mem:p("_bb_TCollision_list")
ent_lists:brl.linkedlist.TList&[]&=mem:p("_bb_TCollision_ent_lists")
.src_type%&
.des_type%&
.col_method%&
.response%&
-New%()="_bb_TCollision_New"
-Delete%()="_bb_TCollision_Delete"
+UpdateCollisions%()="_bb_TCollision_UpdateCollisions"
+SphereToSphere%(ent1:TEntity,ent2:TEntity,t#=0#)="_bb_TCollision_SphereToSphere"
+QuickCheck%(ent:TEntity,ent2:TEntity)="_bb_TCollision_QuickCheck"
+SphereToMesh%(ent:TEntity,ent2:TEntity)="_bb_TCollision_SphereToMesh"
+SlideSphereAgainstMesh:TVector(pos:TVector,vel:TVector,collisionPackage:TCollisionPacket,reset%=0)="_bb_TCollision_SlideSphereAgainstMesh"
+PolysCheckCollision%(collisionPackage:TCollisionPacket,polys:TPolygon&[])="_bb_TCollision_PolysCheckCollision"
+CheckTriangle%(colPackage:TCollisionPacket Var,a#&[],b#&[],c#&[])="_bb_TCollision_CheckTriangle"
+CheckPointInTriangle%(p:TVector,a:TVector,b:TVector,c:TVector)="_bb_TCollision_CheckPointInTriangle"
+Barycentric%(a:TVector,b:TVector,c:TVector,p:TVector,u# Var,v# Var,w# Var)="_bb_TCollision_Barycentric"
+getLowestRoot%(a#,b#,c#,maxR#,root# Var)="_bb_TCollision_getLowestRoot"
}="bb_TCollision"
TCollisionPacket^brl.blitz.Object{
.method_no%&
.response%&
.ent:TEntity&
.ent2:TEntity&
.x1#&
.x2#&
.y1#&
.y2#&
.z1#&
.z2#&
.collision%&
.no_tris%&
.tri%&
.surf:TSurface&
.R3Velocity:TVector&
.R3Position:TVector&
.velocity:TVector&
.normalizedVelocity:TVector&
.basePoint:TVector&
.foundCollision%&
.nearestDistance#&
.intersectionPoint:TVector&
-New%()="_bb_TCollisionPacket_New"
-Delete%()="_bb_TCollisionPacket_Delete"
}="bb_TCollisionPacket"
TCollisionImpact^brl.blitz.Object{
.x#&
.y#&
.z#&
.nx#&
.ny#&
.nz#&
.time#&
.ent:TEntity&
.surf:TSurface&
.tri%&
-New%()="_bb_TCollisionImpact_New"
-Delete%()="_bb_TCollisionImpact_Delete"
}="bb_TCollisionImpact"
TColTree^brl.blitz.Object{
.created%&
.x#&
.y#&
.z#&
.w#&
.h#&
.d#&
.child:TColTree&[]&
.leaf_polys:TPolygon&[]&
-New%()="_bb_TColTree_New"
-Delete%()="_bb_TColTree_Delete"
-ClearTree%()A="brl_blitz_NullMethodError"
-CreateTree%(mesh:TMesh,max_polys%,max_levels%)A="brl_blitz_NullMethodError"
-Create%(polys:TPolygon&[],max_polys%,max_levels%,level%=0)A="brl_blitz_NullMethodError"
-TreePolysBox:TPolygon&[](ax1#,ay1#,az1#,ax2#,ay2#,az2#,polys:TPolygon&[]="bbEmptyArray")A="brl_blitz_NullMethodError"
-TreePolysLine:TPolygon&[](ax#,ay#,az#,bx#,by#,bz#,polys:TPolygon&[]="bbEmptyArray")A="brl_blitz_NullMethodError"
}A="bb_TColTree"
TKDTree^TColTree{
-New%()="_bb_TKDTree_New"
-Delete%()="_bb_TKDTree_Delete"
-ClearTree%()="_bb_TKDTree_ClearTree"
-CreateTree%(mesh:TMesh,max_polys%,max_levels%)="_bb_TKDTree_CreateTree"
-Create%(polys:TPolygon&[],max_polys%,max_levels%,level%=0)="_bb_TKDTree_Create"
-TreePolysBox:TPolygon&[](ax1#,ay1#,az1#,ax2#,ay2#,az2#,polys:TPolygon&[]="bbEmptyArray")="_bb_TKDTree_TreePolysBox"
-TreePolysLine:TPolygon&[](ax#,ay#,az#,bx#,by#,bz#,polys:TPolygon&[]="bbEmptyArray")="_bb_TKDTree_TreePolysLine"
-HighlightTris%(polys:TPolygon&[])="_bb_TKDTree_HighlightTris"
}="bb_TKDTree"
TQuadtree^TColTree{
-New%()="_bb_TQuadtree_New"
-Delete%()="_bb_TQuadtree_Delete"
-ClearTree%()="_bb_TQuadtree_ClearTree"
-CreateTree%(mesh:TMesh,max_polys%,max_levels%)="_bb_TQuadtree_CreateTree"
-Create%(polys:TPolygon&[],max_polys%,max_levels%,level%=0)="_bb_TQuadtree_Create"
-TreePolysBox:TPolygon&[](ax1#,ay1#,az1#,ax2#,ay2#,az2#,polys:TPolygon&[]="bbEmptyArray")="_bb_TQuadtree_TreePolysBox"
-TreePolysLine:TPolygon&[](ax#,ay#,az#,bx#,by#,bz#,polys:TPolygon&[]="bbEmptyArray")="_bb_TQuadtree_TreePolysLine"
-HighlightTris%(polys:TPolygon&[])="_bb_TQuadtree_HighlightTris"
}="bb_TQuadtree"
TOctree^TColTree{
-New%()="_bb_TOctree_New"
-Delete%()="_bb_TOctree_Delete"
-ClearTree%()="_bb_TOctree_ClearTree"
-CreateTree%(mesh:TMesh,max_polys%,max_levels%)="_bb_TOctree_CreateTree"
-Create%(polys:TPolygon&[],max_polys%,max_levels%,level%=0)="_bb_TOctree_Create"
-TreePolysBox:TPolygon&[](ax1#,ay1#,az1#,ax2#,ay2#,az2#,polys:TPolygon&[]="bbEmptyArray")="_bb_TOctree_TreePolysBox"
-TreePolysLine:TPolygon&[](ax#,ay#,az#,bx#,by#,bz#,polys:TPolygon&[]="bbEmptyArray")="_bb_TOctree_TreePolysLine"
-HighlightTris%(polys:TPolygon&[])="_bb_TOctree_HighlightTris"
}="bb_TOctree"
TVector^brl.blitz.Object{
EPSILON%=0
.x#&
.y#&
.z#&
-New%()="_bb_TVector_New"
-Delete%()="_bb_TVector_Delete"
+Create:TVector(x#,y#,z#)="_bb_TVector_Create"
-Copy:TVector()="_bb_TVector_Copy"
-Add:TVector(vec:TVector)="_bb_TVector_Add"
-Subtract:TVector(vec:TVector)="_bb_TVector_Subtract"
-Multiply:TVector(val#)="_bb_TVector_Multiply"
-Divide:TVector(val#)="_bb_TVector_Divide"
-Dot#(vec:TVector)="_bb_TVector_Dot"
-Cross:TVector(vec:TVector)="_bb_TVector_Cross"
-Normalize%()="_bb_TVector_Normalize"
-Length#()="_bb_TVector_Length"
-SquaredLength#()="_bb_TVector_SquaredLength"
-SetLength#(val#)="_bb_TVector_SetLength"
-Compare%(with:Object)="_bb_TVector_Compare"
+VectorYaw#(vx#,vy#,vz#)="_bb_TVector_VectorYaw"
+VectorPitch#(vx#,vy#,vz#)="_bb_TVector_VectorPitch"
}="bb_TVector"
TMatrix^brl.blitz.Object{
.grid#&[,]&
-New%()="_bb_TMatrix_New"
-Delete%()="_bb_TMatrix_Delete"
-LoadIdentity%()="_bb_TMatrix_LoadIdentity"
-Copy:TMatrix()="_bb_TMatrix_Copy"
-Overwrite%(mat:TMatrix)="_bb_TMatrix_Overwrite"
-Inverse:TMatrix()="_bb_TMatrix_Inverse"
-Multiply%(mat:TMatrix)="_bb_TMatrix_Multiply"
-Translate%(x#,y#,z#)="_bb_TMatrix_Translate"
-Scale%(x#,y#,z#)="_bb_TMatrix_Scale"
-Rotate%(rx#,ry#,rz#)="_bb_TMatrix_Rotate"
-RotatePitch%(ang#)="_bb_TMatrix_RotatePitch"
-RotateYaw%(ang#)="_bb_TMatrix_RotateYaw"
-RotateRoll%(ang#)="_bb_TMatrix_RotateRoll"
}="bb_TMatrix"
TQuaternion^brl.blitz.Object{
.w#&
.x#&
.y#&
.z#&
-New%()="_bb_TQuaternion_New"
-Delete%()="_bb_TQuaternion_Delete"
+QuatToMat%(w#,x#,y#,z#,mat:TMatrix Var)="_bb_TQuaternion_QuatToMat"
+QuatToEuler%(w#,x#,y#,z#,pitch# Var,yaw# Var,roll# Var)="_bb_TQuaternion_QuatToEuler"
+Slerp%(Ax#,Ay#,Az#,Aw#,Bx#,By#,Bz#,Bw#,Cx# Var,Cy# Var,Cz# Var,Cw# Var,t#)="_bb_TQuaternion_Slerp"
}="bb_TQuaternion"
TPlane^brl.blitz.Object{
PLANE_THICKNESS_EPSILON#=0.0001#
POINT_IN_FRONT_OF_PLANE%=1
POINT_BEHIND_PLANE%=-1
POINT_ON_PLANE%=0
POLYGON_STRADDLING_PLANE%=2
POLYGON_IN_FRONT_OF_PLANE%=1
POLYGON_BEHIND_PLANE%=-1
POLYGON_COPLANAR_WITH_PLANE%=0
TRIANGLE_STRADDLING_PLANE%=2
TRIANGLE_IN_FRONT_OF_PLANE%=1
TRIANGLE_BEHIND_PLANE%=-1
TRIANGLE_COPLANAR_WITH_PLANE%=0
.equation#&[]&
.origin:TVector&
.normal:TVector&
.d#&
-New%()="_bb_TPlane_New"
-Delete%()="_bb_TPlane_Delete"
+CreatePlane:TPlane(plane_origin:TVector,plane_normal:TVector)="_bb_TPlane_CreatePlane"
+CreatePlaneFromTriangle:TPlane(p1:TVector,p2:TVector,p3:TVector)="_bb_TPlane_CreatePlaneFromTriangle"
-isFrontFacingTo%(direction:TVector)="_bb_TPlane_isFrontFacingTo"
-signedDistanceTo!(point:TVector)="_bb_TPlane_signedDistanceTo"
-ClassifyPointToPlane%(point:TVector)="_bb_TPlane_ClassifyPointToPlane"
-ClassifyPolygonToPlane%(poly:TPolygon)="_bb_TPlane_ClassifyPolygonToPlane"
-ClassifyTriangleToPlane%(a:TVector,b:TVector,c:TVector)="_bb_TPlane_ClassifyTriangleToPlane"
-ClosestPointTo:TVector(p:TVector)="_bb_TPlane_ClosestPointTo"
+IntersectEdgeAgainstPlane:TVector(a:TVector,b:TVector,p:TPlane)="_bb_TPlane_IntersectEdgeAgainstPlane"
+IntersectSegmentPlane%(a:TVector,b:TVector,p:TPlane,t# Var,q:TVector Var)="_bb_TPlane_IntersectSegmentPlane"
}="bb_TPlane"
TPolygon^brl.blitz.Object{
.no_verts%&
.array_size%&
.verts:TVector&[]&
.surf:TSurface&
.tri%&
.sort_val#&
-New%()="_bb_TPolygon_New"
-Delete%()="_bb_TPolygon_Delete"
-Compare%(other:Object)="_bb_TPolygon_Compare"
+MeshToPolygons:TPolygon&[](mesh:TMesh)="_bb_TPolygon_MeshToPolygons"
+SplitPolygons%(polys:TPolygon&[],plane:TPlane,front_polys:TPolygon&[] Var,back_polys:TPolygon&[] Var)="_bb_TPolygon_SplitPolygons"
+SplitPolygons2%(polys:TPolygon&[],plane:TPlane,front_polys:TPolygon&[] Var,back_polys:TPolygon&[] Var)="_bb_TPolygon_SplitPolygons2"
+SplitPolygon%(poly:TPolygon,plane:TPlane,front_poly:TPolygon Var,back_poly:TPolygon Var)="_bb_TPolygon_SplitPolygon"
+SplitPolygon2%(poly:TPolygon,plane:TPlane,front_poly:TPolygon Var,back_poly:TPolygon Var)="_bb_TPolygon_SplitPolygon2"
+CreateFromPoints:TPolygon(points:TVector&[])="_bb_TPolygon_CreateFromPoints"
-Copy:TPolygon()="_bb_TPolygon_Copy"
+QuadToTris:TPolygon&[](polys:TPolygon&[])="_bb_TPolygon_QuadToTris"
-AddVertex%(point:TVector)="_bb_TPolygon_AddVertex"
-GetVertex:TVector(i%)="_bb_TPolygon_GetVertex"
-GetVertexNew%(i%,x# Var,y# Var,z# Var)="_bb_TPolygon_GetVertexNew"
}="bb_TPolygon"
BoxFromPoints%(px1#,py1#,pz1#,px2#,py2#,pz2#,bx1# Var,by1# Var,bz1# Var,bx2# Var,by2# Var,bz2# Var)="bb_BoxFromPoints"
BoxFromTri%(tx1#,ty1#,tz1#,tx2#,ty2#,tz2#,tx3#,ty3#,tz3#,bx1# Var,by1# Var,bz1# Var,bx2# Var,by2# Var,bz2# Var)="bb_BoxFromTri"
BoxBoxIntersection%(ax1#,ay1#,az1#,ax2#,ay2#,az2#,bx1#,by1#,bz1#,bx2#,by2#,bz2#)="bb_BoxBoxIntersection"
BoxSphereIntersection%(x1#,y1#,z1#,x2#,y2#,z2#,sx#,sy#,sz#,sr#)="bb_BoxSphereIntersection"
THardwareInfo^brl.blitz.Object{
ScreenWidth%&=mem("_bb_THardwareInfo_ScreenWidth")
ScreenHeight%&=mem("_bb_THardwareInfo_ScreenHeight")
ScreenDepth%&=mem("_bb_THardwareInfo_ScreenDepth")
ScreenHertz%&=mem("_bb_THardwareInfo_ScreenHertz")
Vendor$&=mem:p("_bb_THardwareInfo_Vendor")
Renderer$&=mem:p("_bb_THardwareInfo_Renderer")
OGLVersion$&=mem:p("_bb_THardwareInfo_OGLVersion")
Extensions$&=mem:p("_bb_THardwareInfo_Extensions")
VBOSupport%&=mem("_bb_THardwareInfo_VBOSupport")
GLTCSupport%&=mem("_bb_THardwareInfo_GLTCSupport")
S3TCSupport%&=mem("_bb_THardwareInfo_S3TCSupport")
AnIsoSupport%&=mem("_bb_THardwareInfo_AnIsoSupport")
MultiTexSupport%&=mem("_bb_THardwareInfo_MultiTexSupport")
TexBlendSupport%&=mem("_bb_THardwareInfo_TexBlendSupport")
CubemapSupport%&=mem("_bb_THardwareInfo_CubemapSupport")
DepthmapSupport%&=mem("_bb_THardwareInfo_DepthmapSupport")
VPSupport%&=mem("_bb_THardwareInfo_VPSupport")
FPSupport%&=mem("_bb_THardwareInfo_FPSupport")
ShaderSupport%&=mem("_bb_THardwareInfo_ShaderSupport")
VSSupport%&=mem("_bb_THardwareInfo_VSSupport")
FSSupport%&=mem("_bb_THardwareInfo_FSSupport")
SLSupport%&=mem("_bb_THardwareInfo_SLSupport")
MaxTextures%&=mem("_bb_THardwareInfo_MaxTextures")
MaxTexSize%&=mem("_bb_THardwareInfo_MaxTexSize")
MaxLights%&=mem("_bb_THardwareInfo_MaxLights")
-New%()="_bb_THardwareInfo_New"
-Delete%()="_bb_THardwareInfo_Delete"
+GetInfo%()="_bb_THardwareInfo_GetInfo"
+DisplayInfo%(LogFile%=0)="_bb_THardwareInfo_DisplayInfo"
}="bb_THardwareInfo"
TBlitz2D^brl.blitz.Object{
-New%()="_bb_TBlitz2D_New"
-Delete%()="_bb_TBlitz2D_Delete"
+Text%(x%,y%,text$)="_bb_TBlitz2D_Text"
}="bb_TBlitz2D"
TUtility^brl.blitz.Object{
-New%()="_bb_TUtility_New"
-Delete%()="_bb_TUtility_Delete"
+UpdateValue#(current#,destination#,rate#)="_bb_TUtility_UpdateValue"
}="bb_TUtility"
TDebug^brl.blitz.Object{
cno%&=mem("_bb_TDebug_cno")
info%&=mem("_bb_TDebug_info")
bsphere%&=mem("_bb_TDebug_bsphere")
sphere:TMesh&=mem:p("_bb_TDebug_sphere")
-New%()="_bb_TDebug_New"
-Delete%()="_bb_TDebug_Delete"
+DebugWorld%()="_bb_TDebug_DebugWorld"
+DebugEntity:TEntity(ent:TEntity,cam:TCamera="bbNullObject")="_bb_TDebug_DebugEntity"
+EntityInfo1%(ent:TEntity)="_bb_TDebug_EntityInfo1"
+EntityInfo2%(ent:TEntity)="_bb_TDebug_EntityInfo2"
+EntityInfo3%(ent:TEntity,cam:TCamera)="_bb_TDebug_EntityInfo3"
+EntityInfo4%(ent:TEntity,cam:TCamera)="_bb_TDebug_EntityInfo4"
+BoundingSphere%(ent:TEntity)="_bb_TDebug_BoundingSphere"
}="bb_TDebug"
BackBufferToTex%(tex:TTexture,mipmap_no%=0,frame%=0)="bb_BackBufferToTex"
MeshCullRadius%(ent:TEntity,radius#)="bb_MeshCullRadius"
AddMesh:TMesh(mesh1:TMesh,mesh2:TMesh)="bb_AddMesh"
AddTriangle%(surf:TSurface,v0%,v1%,v2%)="bb_AddTriangle"
AddVertex%(surf:TSurface,x#,y#,z#,u#=0#,v#=0#,w#=0#)="bb_AddVertex"
AmbientLight%(r#,g#,b#)="bb_AmbientLight"
AntiAlias%(samples%)="bb_AntiAlias"
Animate%(ent:TEntity,mode%=1,speed#=1#,seq%=0,trans%=0)="bb_Animate"
Animating%(ent:TEntity)="bb_Animating"
AnimLength%(ent:TEntity)="bb_AnimLength"
AnimSeq%(ent:TEntity)="bb_AnimSeq"
AnimTime#(ent:TEntity)="bb_AnimTime"
BrushAlpha%(brush:TBrush,a#)="bb_BrushAlpha"
BrushBlend%(brush:TBrush,blend%)="bb_BrushBlend"
BrushColor%(brush:TBrush,r#,g#,b#)="bb_BrushColor"
BrushFX%(brush:TBrush,fx%)="bb_BrushFX"
BrushShininess%(brush:TBrush,s#)="bb_BrushShininess"
BrushTexture%(brush:TBrush,tex:TTexture,frame%=0,index%=0)="bb_BrushTexture"
CameraClsColor%(cam:TCamera,r#,g#,b#)="bb_CameraClsColor"
CameraClsMode%(cam:TCamera,cls_depth%,cls_zbuffer%)="bb_CameraClsMode"
CameraFogColor%(cam:TCamera,r#,g#,b#)="bb_CameraFogColor"
CameraFogMode%(cam:TCamera,mode%)="bb_CameraFogMode"
CameraFogRange%(cam:TCamera,near#,far#)="bb_CameraFogRange"
CameraPick:TEntity(cam:TCamera,x#,y#)="bb_CameraPick"
CameraProject%(cam:TCamera,x#,y#,z#)="bb_CameraProject"
CameraRange%(cam:TCamera,near#,far#)="bb_CameraRange"
CameraViewport%(cam:TCamera,x%,y%,width%,height%)="bb_CameraViewport"
CameraZoom%(cam:TCamera,zoom#)="bb_CameraZoom"
ClearCollisions%()="bb_ClearCollisions"
ClearSurface%(surf:TSurface,clear_verts%=1,clear_tris%=1)="bb_ClearSurface"
ClearTextureFilters%()="bb_ClearTextureFilters"
CollisionEntity:TEntity(ent:TEntity,index%)="bb_CollisionEntity"
Collisions%(src_no%,dest_no%,method_no%,response_no%=0)="bb_Collisions"
CollisionNX#(ent:TEntity,index%)="bb_CollisionNX"
CollisionNY#(ent:TEntity,index%)="bb_CollisionNY"
CollisionNZ#(ent:TEntity,index%)="bb_CollisionNZ"
CollisionSurface:TSurface(ent:TEntity,index%)="bb_CollisionSurface"
CollisionTime#(ent:TEntity,index%)="bb_CollisionTime"
CollisionTriangle%(ent:TEntity,index%)="bb_CollisionTriangle"
CollisionX#(ent:TEntity,index%)="bb_CollisionX"
CollisionY#(ent:TEntity,index%)="bb_CollisionY"
CollisionZ#(ent:TEntity,index%)="bb_CollisionZ"
CountChildren%(ent:TEntity)="bb_CountChildren"
CountCollisions%(ent:TEntity)="bb_CountCollisions"
CopyEntity:TEntity(ent:TEntity,parent:TEntity="bbNullObject")="bb_CopyEntity"
CopyMesh:TMesh(mesh:TMesh,parent:TEntity="bbNullObject")="bb_CopyMesh"
CountSurfaces%(mesh:TMesh)="bb_CountSurfaces"
CountTriangles%(surf:TSurface)="bb_CountTriangles"
CountVertices%(surf:TSurface)="bb_CountVertices"
CreateBrush:TBrush(r#=255#,g#=255#,b#=255#)="bb_CreateBrush"
CreateCamera:TCamera(parent:TEntity="bbNullObject")="bb_CreateCamera"
CreateCone:TMesh(segments%=8,solid%=1,parent:TEntity="bbNullObject")="bb_CreateCone"
CreateCylinder:TMesh(segments%=8,solid%=1,parent:TEntity="bbNullObject")="bb_CreateCylinder"
CreateCube:TMesh(parent:TEntity="bbNullObject")="bb_CreateCube"
CreateMesh:TMesh(parent:TEntity="bbNullObject")="bb_CreateMesh"
CreateLight:TLight(light_type%=1,parent:TEntity="bbNullObject")="bb_CreateLight"
CreatePivot:TPivot(parent:TEntity="bbNullObject")="bb_CreatePivot"
CreateSphere:TMesh(segments%=8,parent:TEntity="bbNullObject")="bb_CreateSphere"
CreateSprite:TSprite(parent:TEntity="bbNullObject")="bb_CreateSprite"
CreateSurface:TSurface(mesh:TMesh,brush:TBrush="bbNullObject")="bb_CreateSurface"
CreateTexture:TTexture(width%,height%,flags%=1,frames%=1)="bb_CreateTexture"
DeltaPitch#(ent1:TEntity,ent2:TEntity)="bb_DeltaPitch"
DeltaYaw#(ent1:TEntity,ent2:TEntity)="bb_DeltaYaw"
EntityAlpha%(ent:TEntity,alpha#)="bb_EntityAlpha"
EntityAutoFade%(ent:TEntity,near#,far#)="bb_EntityAutoFade"
EntityBlend%(ent:TEntity,blend%)="bb_EntityBlend"
EntityBox%(ent:TEntity,x#,y#,z#,w#,h#,d#)="bb_EntityBox"
EntityClass$(ent:TEntity)="bb_EntityClass"
EntityCollided:TEntity(ent:TEntity,type_no%)="bb_EntityCollided"
EntityColor%(ent:TEntity,red#,green#,blue#)="bb_EntityColor"
EntityDistance#(ent1:TEntity,ent2:TEntity)="bb_EntityDistance"
EntityFX%(ent:TEntity,fx%)="bb_EntityFX"
EntityInView%(ent:TEntity,cam:TCamera)="bb_EntityInView"
EntityName$(ent:TEntity)="bb_EntityName"
EntityOrder%(ent:TEntity,order%)="bb_EntityOrder"
EntityParent%(ent:TEntity,parent_ent:TEntity,glob%=1)="bb_EntityParent"
EntityPick:TEntity(ent:TEntity,range#)="bb_EntityPick"
EntityPickMode%(ent:TEntity,pick_mode%,obscurer%=1)="bb_EntityPickMode"
EntityPitch#(ent:TEntity,glob%=0)="bb_EntityPitch"
EntityRadius%(ent:TEntity,radius_x#,radius_y#=0#)="bb_EntityRadius"
EntityRoll#(ent:TEntity,glob%=0)="bb_EntityRoll"
EntityShininess%(ent:TEntity,shine#)="bb_EntityShininess"
EntityTexture%(ent:TEntity,tex:TTexture,frame%=0,index%=0)="bb_EntityTexture"
EntityType%(ent:TEntity,type_no%,recursive%=0)="bb_EntityType"
EntityVisible%(src_ent:TEntity,dest_ent:TEntity)="bb_EntityVisible"
EntityX#(ent:TEntity,glob%=0)="bb_EntityX"
EntityY#(ent:TEntity,glob%=0)="bb_EntityY"
EntityYaw#(ent:TEntity,glob%=0)="bb_EntityYaw"
EntityZ#(ent:TEntity,glob%=0)="bb_EntityZ"
ExtractAnimSeq%(ent:TEntity,first_frame%,last_frame%,seq%=0)="bb_ExtractAnimSeq"
FindChild:TEntity(ent:TEntity,child_name$)="bb_FindChild"
FindSurface:TSurface(mesh:TMesh,brush:TBrush)="bb_FindSurface"
FitMesh:TMesh(mesh:TMesh,x#,y#,z#,width#,height#,depth#,uniform%=0)="bb_FitMesh"
FlipMesh:TMesh(mesh:TMesh)="bb_FlipMesh"
FreeBrush%(brush:TBrush)="bb_FreeBrush"
FreeEntity%(ent:TEntity)="bb_FreeEntity"
FreeTexture:TTexture(tex:TTexture)="bb_FreeTexture"
GetBrushTexture:TTexture(brush:TBrush,index%=0)="bb_GetBrushTexture"
GetChild:TEntity(ent:TEntity,child_no%)="bb_GetChild"
GetEntityBrush:TBrush(ent:TEntity)="bb_GetEntityBrush"
GetEntityType%(ent:TEntity)="bb_GetEntityType"
GetMatElement#(ent:TEntity,row%,col%)="bb_GetMatElement"
GetParent:TEntity(ent:TEntity)="bb_GetParent"
GetSurface:TSurface(mesh:TMesh,surf_no%)="bb_GetSurface"
GetSurfaceBrush:TBrush(surf:TSurface)="bb_GetSurfaceBrush"
Graphics3D%(width%,height%,depth%=0,mode%=0,rate%=60)="bb_Graphics3D"
HandleSprite%(sprite:TSprite,h_x#,h_y#)="bb_HandleSprite"
HideEntity%(ent:TEntity)="bb_HideEntity"
LightColor%(light:TLight,red#,green#,blue#)="bb_LightColor"
LightConeAngles%(light:TLight,inner_ang#,outer_ang#)="bb_LightConeAngles"
LightRange%(light:TLight,range#)="bb_LightRange"
LinePick:TEntity(x#,y#,z#,dx#,dy#,dz#,radius#=0#)="bb_LinePick"
LoadAnimMesh:TMesh(file$,parent:TEntity="bbNullObject")="bb_LoadAnimMesh"
LoadAnimTexture:TTexture(file$,flags%,frame_width%,frame_height%,first_frame%,frame_count%)="bb_LoadAnimTexture"
LoadBrush:TBrush(file$,flags%=1,u_scale#=1#,v_scale#=1#)="bb_LoadBrush"
LoadMesh:TMesh(file$,parent:TEntity="bbNullObject")="bb_LoadMesh"
LoadTexture:TTexture(file$,flags%=1)="bb_LoadTexture"
LoadSprite:TSprite(tex_file$,tex_flag%=1,parent:TEntity="bbNullObject")="bb_LoadSprite"
MeshDepth#(mesh:TMesh)="bb_MeshDepth"
MeshHeight#(mesh:TMesh)="bb_MeshHeight"
MeshWidth#(mesh:TMesh)="bb_MeshWidth"
MoveEntity%(ent:TEntity,x#,y#,z#)="bb_MoveEntity"
NameEntity%(ent:TEntity,name$)="bb_NameEntity"
PaintEntity%(ent:TEntity,brush:TBrush)="bb_PaintEntity"
PaintMesh:TMesh(mesh:TMesh,brush:TBrush)="bb_PaintMesh"
PaintSurface%(surf:TSurface,brush:TBrush)="bb_PaintSurface"
PickedEntity:TEntity()="bb_PickedEntity"
PickedNX#()="bb_PickedNX"
PickedNY#()="bb_PickedNY"
PickedNZ#()="bb_PickedNZ"
PickedSurface:TSurface()="bb_PickedSurface"
PickedTime#()="bb_PickedTime"
PickedTriangle%()="bb_PickedTriangle"
PickedX#()="bb_PickedX"
PickedY#()="bb_PickedY"
PickedZ#()="bb_PickedZ"
PointEntity%(ent:TEntity,target_ent:TEntity,roll#=0#)="bb_PointEntity"
PositionEntity%(ent:TEntity,x#,y#,z#,glob%=0)="bb_PositionEntity"
PositionMesh:TMesh(mesh:TMesh,px#,py#,pz#)="bb_PositionMesh"
PositionTexture%(tex:TTexture,u_pos#,v_pos#)="bb_PositionTexture"
ProjectedX#()="bb_ProjectedX"
ProjectedY#()="bb_ProjectedY"
ProjectedZ#()="bb_ProjectedZ"
RenderWorld%()="bb_RenderWorld"
ResetEntity%(ent:TEntity)="bb_ResetEntity"
RotateEntity%(ent:TEntity,x#,y#,z#,glob%=0)="bb_RotateEntity"
RotateMesh:TMesh(mesh:TMesh,pitch#,yaw#,roll#)="bb_RotateMesh"
RotateSprite%(sprite:TSprite,ang#)="bb_RotateSprite"
RotateTexture%(tex:TTexture,ang#)="bb_RotateTexture"
ScaleEntity%(ent:TEntity,x#,y#,z#,glob%=0)="bb_ScaleEntity"
ScaleMesh:TMesh(mesh:TMesh,sx#,sy#,sz#)="bb_ScaleMesh"
ScaleSprite%(sprite:TSprite,s_x#,s_y#)="bb_ScaleSprite"
ScaleTexture%(tex:TTexture,u_scale#,v_scale#)="bb_ScaleTexture"
SetAnimTime%(ent:TEntity,time#,seq%=0)="bb_SetAnimTime"
SetCubeFace%(tex:TTexture,face%)="bb_SetCubeFace"
SetCubeMode%(tex:TTexture,mode%)="bb_SetCubeMode"
ShowEntity%(ent:TEntity)="bb_ShowEntity"
SpriteViewMode%(sprite:TSprite,mode%)="bb_SpriteViewMode"
TextureBlend%(tex:TTexture,blend%)="bb_TextureBlend"
TextureCoords%(tex:TTexture,coords%)="bb_TextureCoords"
TextureHeight%(tex:TTexture)="bb_TextureHeight"
TextureFilter%(match_text$,flags%)="bb_TextureFilter"
TextureName$(tex:TTexture)="bb_TextureName"
TextureWidth%(tex:TTexture)="bb_TextureWidth"
TFormedX#()="bb_TFormedX"
TFormedY#()="bb_TFormedY"
TFormedZ#()="bb_TFormedZ"
TFormNormal%(x#,y#,z#,src_ent:TEntity,dest_ent:TEntity)="bb_TFormNormal"
TFormPoint%(x#,y#,z#,src_ent:TEntity,dest_ent:TEntity)="bb_TFormPoint"
TFormVector%(x#,y#,z#,src_ent:TEntity,dest_ent:TEntity)="bb_TFormVector"
TranslateEntity%(ent:TEntity,x#,y#,z#,glob%=0)="bb_TranslateEntity"
TriangleVertex%(surf:TSurface,tri_no%,corner%)="bb_TriangleVertex"
TurnEntity%(ent:TEntity,x#,y#,z#,glob%=0)="bb_TurnEntity"
UpdateNormals%(mesh:TMesh)="bb_UpdateNormals"
UpdateWorld%(anim_speed#=1#)="bb_UpdateWorld"
VectorPitch#(vx#,vy#,vz#)="bb_VectorPitch"
VectorYaw#(vx#,vy#,vz#)="bb_VectorYaw"
VertexAlpha#(surf:TSurface,vid%)="bb_VertexAlpha"
VertexBlue#(surf:TSurface,vid%)="bb_VertexBlue"
VertexColor%(surf:TSurface,vid%,r#,g#,b#,a#=1#)="bb_VertexColor"
VertexCoords%(surf:TSurface,vid%,x#,y#,z#)="bb_VertexCoords"
VertexGreen#(surf:TSurface,vid%)="bb_VertexGreen"
VertexNormal%(surf:TSurface,vid%,nx#,ny#,nz#)="bb_VertexNormal"
VertexNX#(surf:TSurface,vid%)="bb_VertexNX"
VertexNY#(surf:TSurface,vid%)="bb_VertexNY"
VertexNZ#(surf:TSurface,vid%)="bb_VertexNZ"
VertexRed#(surf:TSurface,vid%)="bb_VertexRed"
VertexTexCoords%(surf:TSurface,vid%,u#,v#,w#=0#,coord_set%=0)="bb_VertexTexCoords"
VertexU#(surf:TSurface,vid%,coord_set%=0)="bb_VertexU"
VertexV#(surf:TSurface,vid%,coord_set%=0)="bb_VertexV"
VertexW#(surf:TSurface,vid%,coord_set%=0)="bb_VertexW"
VertexX#(surf:TSurface,vid%)="bb_VertexX"
VertexY#(surf:TSurface,vid%)="bb_VertexY"
VertexZ#(surf:TSurface,vid%)="bb_VertexZ"
Wireframe%(enable%)="bb_Wireframe"
Text%(x%,y%,str$)="bb_Text"
ClearWorld%(entities%=1,brushes%=1,textures%=1)="bb_ClearWorld"
LightMesh%(mesh:TMesh,red#,green#,blue#,range#=0#,light_x#=0#,light_y#=0#,light_z#=0#)="bb_LightMesh"
MeshesIntersect%(mesh1:TMesh,mesh2:TMesh)="bb_MeshesIntersect"
CameraProjMode%(cam:TCamera,mode%)="bb_CameraProjMode"
CreatePlane%(sub_divs%=1,parent:TEntity="bbNullObject")="bb_CreatePlane"
AlignToVector%(vx#,vy#,vz#,axis%,rate%=1)="bb_AlignToVector"
LoadAnimSeq%(ent:TEntity,filename$)="bb_LoadAnimSeq"
SetAnimKey%(ent:TEntity,frame%,pos_key%=1,rot_key%=1,scale_key%=1)="bb_SetAnimKey"
AddAnimSeq%(ent:TEntity,length%)="bb_AddAnimSeq"
C_UpdateNormals%(no_tris%,no_verts%,tris@@*,vert_coords#*,vert_norms#*)="C_UpdateNormals"
C_IntersectSegmentTriangle%(px#,py#,pz#,qx#,qy#,qz#,ax#,ay#,az#,bx#,by#,bz#,cx#,cy#,cz#,u# Var,v# Var,w# Var,t# Var)="C_IntersectSegmentTriangle"
C_checkTriangle%(col_pack#*,a#*,b#*,c#*)="C_checkTriangle"
USE_C%=1
USE_VBO%=1
TREE_TYPE%=0
TREE_MAX_POLYS%=16
TREE_MAX_LEVELS%=0
LOG_NEW%=0
LOG_DEL%=0
debug_marker:TMesh&=mem:p("bb_debug_marker")
debug_mesh:TMesh&=mem:p("bb_debug_mesh")
debug_surf:TSurface&=mem:p("bb_debug_surf")
