#ifndef OPENB3D_OPENB3DLIB_OPENB3DLIB_BMX_DEBUG_WIN32_X64_H
#define OPENB3D_OPENB3DLIB_OPENB3DLIB_BMX_DEBUG_WIN32_X64_H

#include <brl.mod/blitz.mod/.bmx/blitz.bmx.debug.win32.x64.h>
#include <pub.mod/glew.mod/.bmx/glew.bmx.debug.win32.x64.h>
#include <pub.mod/opengl.mod/.bmx/opengl.bmx.debug.win32.x64.h>
#include "source.bmx.debug.win32.x64.h"
int __bb_openb3d_openb3dlib_openb3dlib();
extern void TerrainScaleTexCoords_(BBBYTE* bbt_terr,BBFLOAT bbt_u_scale,BBFLOAT bbt_v_scale,BBINT bbt_coords_set);
extern BBINT TerrainCountTriangles_(BBBYTE* bbt_terr);
extern BBINT TerrainCountVertices_(BBBYTE* bbt_terr);
extern void TerrainDetail_(BBBYTE* bbt_terr,BBFLOAT bbt_detail_level);
extern void TextureAnIsotropic_(BBBYTE* bbt_tex,BBFLOAT bbt_f);
extern void UseTextureFrames_(BBINT bbt_lf0,BBINT bbt_fr1,BBINT bbt_rt2,BBINT bbt_bk3,BBINT bbt_dn4,BBINT bbt_up5);
extern void UseTextureFaces_(BBINT bbt_lf0,BBINT bbt_fr1,BBINT bbt_rt2,BBINT bbt_bk3,BBINT bbt_dn4,BBINT bbt_up5);
extern void UseCubemapFlip_(BBINT bbt_flag);
extern void MSAntiAlias_(BBINT bbt_multisample);
extern BBINT CountMipmaps_(BBBYTE* bbt_tex);
extern void TextureMultitex_(BBBYTE* bbt_tex,BBFLOAT bbt_f);
extern BBINT TrisRendered_();
extern BBINT VertsRendered_();
extern BBINT SurfsRendered_();
extern BBBYTE* NewSprite_();
extern BBBYTE* NewTexture_();
extern BBBYTE* NewMesh_();
extern BBBYTE* NewSurface_();
extern BBBYTE* NewBone_();
extern BBBYTE* CreateShaderMaterial_(BBBYTE* bbt_ShaderName);
extern BBBYTE* CreateFragShader_(BBBYTE* bbt_shader,BBBYTE* bbt_shaderFileName);
extern BBBYTE* CreateFragShaderFromString_(BBBYTE* bbt_shader,BBBYTE* bbt_shadercode);
extern BBBYTE* CreateVertShader_(BBBYTE* bbt_shader,BBBYTE* bbt_shaderFileName);
extern BBBYTE* CreateVertShaderFromString_(BBBYTE* bbt_shader,BBBYTE* bbt_shadercode);
extern BBINT AttachFragShader_(BBBYTE* bbt_shader,BBBYTE* bbt_myShader);
extern BBINT AttachVertShader_(BBBYTE* bbt_shader,BBBYTE* bbt_myShader);
extern BBINT LinkShader_(BBBYTE* bbt_shader);
extern void DeleteFragShader_(BBBYTE* bbt_myShader);
extern void DeleteVertShader_(BBBYTE* bbt_myShader);
extern void FreeShader_(BBBYTE* bbt_shader);
extern void FreeStencil_(BBBYTE* bbt_stencil);
extern void TextureFlags_(BBBYTE* bbt_tex,BBINT bbt_flags);
extern void FreeSurface_(BBBYTE* bbt_surf);
extern void TextureGLTexEnvi_(BBBYTE* bbt_tex,BBINT bbt_target,BBINT bbt_pname,BBINT bbt_param);
extern void TextureGLTexEnvf_(BBBYTE* bbt_tex,BBINT bbt_target,BBINT bbt_pname,BBFLOAT bbt_param);
extern void BrushGLColor_(BBBYTE* bbt_brush,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b,BBFLOAT bbt_a);
extern void BrushGLBlendFunc_(BBBYTE* bbt_brush,BBINT bbt_sfactor,BBINT bbt_dfactor);
extern void LightMesh_(BBBYTE* bbt_m,BBFLOAT bbt_red,BBFLOAT bbt_green,BBFLOAT bbt_blue,BBFLOAT bbt_range,BBFLOAT bbt_light_x,BBFLOAT bbt_light_y,BBFLOAT bbt_light_z);
extern void BackBufferToTex_(BBBYTE* bbt_tex,BBINT bbt_mipmap_no,BBINT bbt_frame,BBINT bbt_fastinvert);
extern void MeshCullRadius_(BBBYTE* bbt_ent,BBFLOAT bbt_radius);
extern BBFLOAT EntityScaleX_(BBBYTE* bbt_ent,BBINT bbt_glob);
extern BBFLOAT EntityScaleY_(BBBYTE* bbt_ent,BBINT bbt_glob);
extern BBFLOAT EntityScaleZ_(BBBYTE* bbt_ent,BBINT bbt_glob);
extern void AddMesh_(BBBYTE* bbt_mesh1,BBBYTE* bbt_mesh2);
extern BBINT AddTriangle_(BBBYTE* bbt_surf,BBINT bbt_v0,BBINT bbt_v1,BBINT bbt_v2);
extern BBINT AddVertex_(BBBYTE* bbt_surf,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBFLOAT bbt_u,BBFLOAT bbt_v,BBFLOAT bbt_w);
extern void AmbientLight_(BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b);
extern void Animate_(BBBYTE* bbt_ent,BBINT bbt_Mode,BBFLOAT bbt_speed,BBINT bbt_seq,BBINT bbt_trans);
extern BBINT Animating_(BBBYTE* bbt_ent);
extern BBINT AnimLength_(BBBYTE* bbt_ent);
extern BBINT AnimSeq_(BBBYTE* bbt_ent);
extern BBFLOAT AnimTime_(BBBYTE* bbt_ent);
extern void AntiAlias_(BBINT bbt_samples);
extern void BrushAlpha_(BBBYTE* bbt_brush,BBFLOAT bbt_a);
extern void BrushBlend_(BBBYTE* bbt_brush,BBINT bbt_blend);
extern void BrushColor_(BBBYTE* bbt_brush,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b);
extern void BrushFX_(BBBYTE* bbt_brush,BBINT bbt_fx);
extern void BrushShininess_(BBBYTE* bbt_brush,BBFLOAT bbt_s);
extern void BrushTexture_(BBBYTE* bbt_brush,BBBYTE* bbt_tex,BBINT bbt_frame,BBINT bbt_index);
extern void CameraClsColor_(BBBYTE* bbt_cam,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b);
extern void CameraClsMode_(BBBYTE* bbt_cam,BBINT bbt_cls_depth,BBINT bbt_cls_zbuffer);
extern void CameraFogColor_(BBBYTE* bbt_cam,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b);
extern void CameraFogMode_(BBBYTE* bbt_cam,BBINT bbt_Mode);
extern void CameraFogRange_(BBBYTE* bbt_cam,BBFLOAT bbt_nnear,BBFLOAT bbt_nfar);
extern BBBYTE* CameraPick_(BBBYTE* bbt_cam,BBFLOAT bbt_x,BBFLOAT bbt_y);
extern void CameraProject_(BBBYTE* bbt_cam,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern void CameraProjMode_(BBBYTE* bbt_cam,BBINT bbt_Mode);
extern void CameraRange_(BBBYTE* bbt_cam,BBFLOAT bbt_nnear,BBFLOAT bbt_nfar);
extern void CameraViewport_(BBBYTE* bbt_cam,BBINT bbt_x,BBINT bbt_y,BBINT bbt_width,BBINT bbt_height);
extern void CameraZoom_(BBBYTE* bbt_cam,BBFLOAT bbt_zoom);
extern void ClearCollisions_();
extern void ClearSurface_(BBBYTE* bbt_surf,BBINT bbt_clear_verts,BBINT bbt_clear_tris);
extern void ClearTextureFilters_();
extern void ClearWorld_(BBINT bbt_entities,BBINT bbt_brushes,BBINT bbt_textures);
extern BBBYTE* CollisionEntity_(BBBYTE* bbt_ent,BBINT bbt_index);
extern BBFLOAT CollisionNX_(BBBYTE* bbt_ent,BBINT bbt_index);
extern BBFLOAT CollisionNY_(BBBYTE* bbt_ent,BBINT bbt_index);
extern BBFLOAT CollisionNZ_(BBBYTE* bbt_ent,BBINT bbt_index);
extern void Collisions_(BBINT bbt_src_no,BBINT bbt_dest_no,BBINT bbt_method_no,BBINT bbt_response_no);
extern BBBYTE* CollisionSurface_(BBBYTE* bbt_ent,BBINT bbt_index);
extern BBFLOAT CollisionTime_(BBBYTE* bbt_ent,BBINT bbt_index);
extern BBINT CollisionTriangle_(BBBYTE* bbt_ent,BBINT bbt_index);
extern BBFLOAT CollisionX_(BBBYTE* bbt_ent,BBINT bbt_index);
extern BBFLOAT CollisionY_(BBBYTE* bbt_ent,BBINT bbt_index);
extern BBFLOAT CollisionZ_(BBBYTE* bbt_ent,BBINT bbt_index);
extern BBBYTE* CopyEntity_(BBBYTE* bbt_ent,BBBYTE* bbt_parent);
extern BBBYTE* CopyMesh_(BBBYTE* bbt_mesh,BBBYTE* bbt_parent);
extern BBINT CountChildren_(BBBYTE* bbt_ent);
extern BBINT CountCollisions_(BBBYTE* bbt_ent);
extern BBINT CountSurfaces_(BBBYTE* bbt_mesh);
extern BBINT CountTriangles_(BBBYTE* bbt_surf);
extern BBINT CountVertices_(BBBYTE* bbt_surf);
extern BBBYTE* CreateBrush_(BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b);
extern BBBYTE* CreateCamera_(BBBYTE* bbt_parent);
extern BBBYTE* CreateCone_(BBINT bbt_segments,BBINT bbt_solid,BBBYTE* bbt_parent);
extern BBBYTE* CreateCylinder_(BBINT bbt_segments,BBINT bbt_solid,BBBYTE* bbt_parent);
extern BBBYTE* CreateCube_(BBBYTE* bbt_parent);
extern BBBYTE* CreateMesh_(BBBYTE* bbt_parent);
extern BBBYTE* CreateLight_(BBINT bbt_light_type,BBBYTE* bbt_parent);
extern BBBYTE* CreatePivot_(BBBYTE* bbt_parent);
extern BBBYTE* CreateSphere_(BBINT bbt_segments,BBBYTE* bbt_parent);
extern BBBYTE* CreateSprite_(BBBYTE* bbt_parent);
extern BBBYTE* CreateSurface_(BBBYTE* bbt_mesh,BBBYTE* bbt_brush);
extern BBBYTE* CreateTexture_(BBINT bbt_width,BBINT bbt_height,BBINT bbt_flags,BBINT bbt_frames);
extern BBFLOAT DeltaPitch_(BBBYTE* bbt_ent1,BBBYTE* bbt_ent2);
extern BBFLOAT DeltaYaw_(BBBYTE* bbt_ent1,BBBYTE* bbt_ent2);
extern void EntityAlpha_(BBBYTE* bbt_ent,BBFLOAT bbt_alpha);
extern void EntityBlend_(BBBYTE* bbt_ent,BBINT bbt_blend);
extern void EntityBox_(BBBYTE* bbt_ent,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBFLOAT bbt_w,BBFLOAT bbt_h,BBFLOAT bbt_d);
extern BBBYTE* EntityClass_(BBBYTE* bbt_ent);
extern BBBYTE* EntityCollided_(BBBYTE* bbt_ent,BBINT bbt_type_no);
extern void EntityColor_(BBBYTE* bbt_ent,BBFLOAT bbt_red,BBFLOAT bbt_green,BBFLOAT bbt_blue,BBINT bbt_recursive);
extern BBFLOAT EntityDistance_(BBBYTE* bbt_ent1,BBBYTE* bbt_ent2);
extern void EntityFX_(BBBYTE* bbt_ent,BBINT bbt_fx);
extern BBINT EntityInView_(BBBYTE* bbt_ent,BBBYTE* bbt_cam);
extern BBBYTE* EntityName_(BBBYTE* bbt_ent);
extern void EntityOrder_(BBBYTE* bbt_ent,BBINT bbt_order);
extern void EntityParent_(BBBYTE* bbt_ent,BBBYTE* bbt_parent_ent,BBINT bbt_glob);
extern BBBYTE* EntityPick_(BBBYTE* bbt_ent,BBFLOAT bbt_Range);
extern void EntityPickMode_(BBBYTE* bbt_ent,BBINT bbt_pick_mode,BBINT bbt_obscurer);
extern BBFLOAT EntityPitch_(BBBYTE* bbt_ent,BBINT bbt_glob);
extern void EntityRadius_(BBBYTE* bbt_ent,BBFLOAT bbt_radius_x,BBFLOAT bbt_radius_y);
extern BBFLOAT EntityRoll_(BBBYTE* bbt_ent,BBINT bbt_glob);
extern void EntityShininess_(BBBYTE* bbt_ent,BBFLOAT bbt_shine);
extern void EntityTexture_(BBBYTE* bbt_ent,BBBYTE* bbt_tex,BBINT bbt_frame,BBINT bbt_index);
extern void EntityType_(BBBYTE* bbt_ent,BBINT bbt_type_no,BBINT bbt_recursive);
extern BBINT EntityVisible_(BBBYTE* bbt_src_ent,BBBYTE* bbt_dest_ent);
extern BBFLOAT EntityX_(BBBYTE* bbt_ent,BBINT bbt_glob);
extern BBFLOAT EntityY_(BBBYTE* bbt_ent,BBINT bbt_glob);
extern BBFLOAT EntityYaw_(BBBYTE* bbt_ent,BBINT bbt_glob);
extern BBFLOAT EntityZ_(BBBYTE* bbt_ent,BBINT bbt_glob);
extern BBINT ExtractAnimSeq_(BBBYTE* bbt_ent,BBINT bbt_first_frame,BBINT bbt_last_frame,BBINT bbt_seq);
extern BBBYTE* FindChild_(BBBYTE* bbt_ent,BBBYTE* bbt_child_name);
extern BBBYTE* FindSurface_(BBBYTE* bbt_mesh,BBBYTE* bbt_brush);
extern void FitMesh_(BBBYTE* bbt_mesh,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBFLOAT bbt_width,BBFLOAT bbt_height,BBFLOAT bbt_depth,BBINT bbt_uniform);
extern void FlipMesh_(BBBYTE* bbt_mesh);
extern void FreeBrush_(BBBYTE* bbt_brush);
extern void FreeEntity_(BBBYTE* bbt_ent);
extern void FreeTexture_(BBBYTE* bbt_tex);
extern BBBYTE* GetBrushTexture_(BBBYTE* bbt_brush,BBINT bbt_index);
extern BBBYTE* GetChild_(BBBYTE* bbt_ent,BBINT bbt_child_no);
extern BBBYTE* GetEntityBrush_(BBBYTE* bbt_ent);
extern BBINT GetEntityType_(BBBYTE* bbt_ent);
extern BBBYTE* GetParentEntity_(BBBYTE* bbt_ent);
extern BBBYTE* GetSurface_(BBBYTE* bbt_mesh,BBINT bbt_surf_no);
extern BBBYTE* GetSurfaceBrush_(BBBYTE* bbt_surf);
extern void Graphics3D_(BBINT bbt_width,BBINT bbt_height,BBINT bbt_depth,BBINT bbt_mode,BBINT bbt_rate);
extern void HandleSprite_(BBBYTE* bbt_sprite,BBFLOAT bbt_h_x,BBFLOAT bbt_h_y);
extern void HideEntity_(BBBYTE* bbt_ent);
extern void LightColor_(BBBYTE* bbt_light,BBFLOAT bbt_red,BBFLOAT bbt_green,BBFLOAT bbt_blue);
extern void LightConeAngles_(BBBYTE* bbt_light,BBFLOAT bbt_inner_ang,BBFLOAT bbt_outer_ang);
extern void LightRange_(BBBYTE* bbt_light,BBFLOAT bbt_Range);
extern BBBYTE* LinePick_(BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBFLOAT bbt_dx,BBFLOAT bbt_dy,BBFLOAT bbt_dz,BBFLOAT bbt_radius);
extern BBBYTE* LoadAnimMesh_(BBBYTE* bbt_file,BBBYTE* bbt_parent);
extern BBBYTE* LoadAnimTexture_(BBBYTE* bbt_file,BBINT bbt_flags,BBINT bbt_frame_width,BBINT bbt_frame_height,BBINT bbt_first_frame,BBINT bbt_frame_count,BBBYTE* bbt_tex);
extern BBBYTE* LoadBrush_(BBBYTE* bbt_file,BBINT bbt_flags,BBFLOAT bbt_u_scale,BBFLOAT bbt_v_scale);
extern BBBYTE* LoadMesh_(BBBYTE* bbt_file,BBBYTE* bbt_parent);
extern BBBYTE* LoadTexture_(BBBYTE* bbt_file,BBINT bbt_flags,BBBYTE* bbt_tex);
extern BBBYTE* LoadSprite_(BBBYTE* bbt_tex_file,BBINT bbt_tex_flag,BBBYTE* bbt_parent);
extern BBFLOAT MeshDepth_(BBBYTE* bbt_mesh);
extern BBFLOAT MeshHeight_(BBBYTE* bbt_mesh);
extern BBFLOAT MeshWidth_(BBBYTE* bbt_mesh);
extern void MoveEntity_(BBBYTE* bbt_ent,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern void NameEntity_(BBBYTE* bbt_ent,BBBYTE* bbt_name);
extern void PaintEntity_(BBBYTE* bbt_ent,BBBYTE* bbt_brush);
extern void PaintMesh_(BBBYTE* bbt_mesh,BBBYTE* bbt_brush);
extern void PaintSurface_(BBBYTE* bbt_surf,BBBYTE* bbt_brush);
extern BBBYTE* PickedEntity_();
extern BBFLOAT PickedNX_();
extern BBFLOAT PickedNY_();
extern BBFLOAT PickedNZ_();
extern BBBYTE* PickedSurface_();
extern BBFLOAT PickedTime_();
extern BBINT PickedTriangle_();
extern BBFLOAT PickedX_();
extern BBFLOAT PickedY_();
extern BBFLOAT PickedZ_();
extern void PointEntity_(BBBYTE* bbt_ent,BBBYTE* bbt_target_ent,BBFLOAT bbt_roll);
extern void PositionEntity_(BBBYTE* bbt_ent,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBINT bbt_glob);
extern void PositionMesh_(BBBYTE* bbt_mesh,BBFLOAT bbt_px,BBFLOAT bbt_py,BBFLOAT bbt_pz);
extern void PositionTexture_(BBBYTE* bbt_tex,BBFLOAT bbt_u_pos,BBFLOAT bbt_v_pos);
extern BBFLOAT ProjectedX_();
extern BBFLOAT ProjectedY_();
extern BBFLOAT ProjectedZ_();
extern void RenderWorld_();
extern void ResetEntity_(BBBYTE* bbt_ent);
extern void RotateEntity_(BBBYTE* bbt_ent,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBINT bbt_glob);
extern void RotateMesh_(BBBYTE* bbt_mesh,BBFLOAT bbt_pitch,BBFLOAT bbt_yaw,BBFLOAT bbt_roll);
extern void RotateSprite_(BBBYTE* bbt_sprite,BBFLOAT bbt_ang);
extern void RotateTexture_(BBBYTE* bbt_tex,BBFLOAT bbt_ang);
extern void ScaleEntity_(BBBYTE* bbt_ent,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBINT bbt_glob);
extern void ScaleMesh_(BBBYTE* bbt_mesh,BBFLOAT bbt_sx,BBFLOAT bbt_sy,BBFLOAT bbt_sz);
extern void ScaleSprite_(BBBYTE* bbt_sprite,BBFLOAT bbt_s_x,BBFLOAT bbt_s_y);
extern void ScaleTexture_(BBBYTE* bbt_tex,BBFLOAT bbt_u_scale,BBFLOAT bbt_v_scale);
extern void SetAnimTime_(BBBYTE* bbt_ent,BBFLOAT bbt_time,BBINT bbt_seq);
extern void SetCubeFace_(BBBYTE* bbt_tex,BBINT bbt_face);
extern void SetCubeMode_(BBBYTE* bbt_tex,BBINT bbt_Mode);
extern void ShowEntity_(BBBYTE* bbt_ent);
extern void SpriteViewMode_(BBBYTE* bbt_sprite,BBINT bbt_Mode);
extern void TextureBlend_(BBBYTE* bbt_tex,BBINT bbt_blend);
extern void TextureCoords_(BBBYTE* bbt_tex,BBINT bbt_coords);
extern BBINT TextureHeight_(BBBYTE* bbt_tex);
extern void TextureFilter_(BBBYTE* bbt_match_text,BBINT bbt_flags);
extern BBBYTE* TextureName_(BBBYTE* bbt_tex);
extern BBINT TextureWidth_(BBBYTE* bbt_tex);
extern BBFLOAT TFormedX_();
extern BBFLOAT TFormedY_();
extern BBFLOAT TFormedZ_();
extern void TFormNormal_(BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBBYTE* bbt_src_ent,BBBYTE* bbt_dest_ent);
extern void TFormPoint_(BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBBYTE* bbt_src_ent,BBBYTE* bbt_dest_ent);
extern void TFormVector_(BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBBYTE* bbt_src_ent,BBBYTE* bbt_dest_ent);
extern void TranslateEntity_(BBBYTE* bbt_ent,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBINT bbt_glob);
extern BBINT TriangleVertex_(BBBYTE* bbt_surf,BBINT bbt_tri_no,BBINT bbt_corner);
extern void TurnEntity_(BBBYTE* bbt_ent,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBINT bbt_glob);
extern void UpdateNormals_(BBBYTE* bbt_mesh);
extern void UpdateWorld_(BBFLOAT bbt_anim_speed);
extern BBFLOAT VectorPitch_(BBFLOAT bbt_vx,BBFLOAT bbt_vy,BBFLOAT bbt_vz);
extern BBFLOAT VectorYaw_(BBFLOAT bbt_vx,BBFLOAT bbt_vy,BBFLOAT bbt_vz);
extern BBFLOAT VertexAlpha_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern BBFLOAT VertexBlue_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern void VertexColor_(BBBYTE* bbt_surf,BBINT bbt_vid,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b,BBFLOAT bbt_a);
extern void VertexCoords_(BBBYTE* bbt_surf,BBINT bbt_vid,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern BBFLOAT VertexGreen_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern void VertexNormal_(BBBYTE* bbt_surf,BBINT bbt_vid,BBFLOAT bbt_nx,BBFLOAT bbt_ny,BBFLOAT bbt_nz);
extern BBFLOAT VertexNX_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern BBFLOAT VertexNY_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern BBFLOAT VertexNZ_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern BBFLOAT VertexRed_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern void VertexTexCoords_(BBBYTE* bbt_surf,BBINT bbt_vid,BBFLOAT bbt_u,BBFLOAT bbt_v,BBFLOAT bbt_w,BBINT bbt_coord_set);
extern BBFLOAT VertexU_(BBBYTE* bbt_surf,BBINT bbt_vid,BBINT bbt_coord_set);
extern BBFLOAT VertexV_(BBBYTE* bbt_surf,BBINT bbt_vid,BBINT bbt_coord_set);
extern BBFLOAT VertexW_(BBBYTE* bbt_surf,BBINT bbt_vid,BBINT bbt_coord_set);
extern BBFLOAT VertexX_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern BBFLOAT VertexY_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern BBFLOAT VertexZ_(BBBYTE* bbt_surf,BBINT bbt_vid);
extern void Wireframe_(BBINT bbt_enable);
extern BBINT AddAnimSeq_(BBBYTE* bbt_ent,BBINT bbt_length);
extern BBBYTE* CreatePlane_(BBINT bbt_divisions,BBBYTE* bbt_parent);
extern BBBYTE* CreateTerrain_(BBINT bbt_size,BBBYTE* bbt_parent);
extern BBINT LoadAnimSeq_(BBBYTE* bbt_ent,BBBYTE* bbt_file);
extern BBBYTE* LoadTerrain_(BBBYTE* bbt_file,BBBYTE* bbt_parent);
extern BBINT MeshesIntersect_(BBBYTE* bbt_mesh1,BBBYTE* bbt_mesh2);
extern void ModifyTerrain_(BBBYTE* bbt_terr,BBINT bbt_x,BBINT bbt_z,BBFLOAT bbt_new_height);
extern void SetAnimKey_(BBBYTE* bbt_ent,BBFLOAT bbt_frame,BBINT bbt_pos_key,BBINT bbt_rot_key,BBINT bbt_scale_key);
extern BBFLOAT TerrainHeight_(BBBYTE* bbt_terr,BBINT bbt_x,BBINT bbt_z);
extern BBFLOAT TerrainX_(BBBYTE* bbt_terr,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern BBFLOAT TerrainY_(BBBYTE* bbt_terr,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern BBFLOAT TerrainZ_(BBBYTE* bbt_terr,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern void BufferToTex_(BBBYTE* bbt_tex,BBBYTE* bbt_buffer,BBINT bbt_frame);
extern void CameraToTex_(BBBYTE* bbt_tex,BBBYTE* bbt_cam,BBINT bbt_frame);
extern BBBYTE* CreateBone_(BBBYTE* bbt_mesh,BBBYTE* bbt_parent_ent);
extern BBBYTE* CreateQuad_(BBBYTE* bbt_parent);
extern void DepthBufferToTex_(BBBYTE* bbt_tex,BBBYTE* bbt_cam);
extern BBBYTE* MeshCSG_(BBBYTE* bbt_m1,BBBYTE* bbt_m2,BBINT bbt_method_no);
extern BBBYTE* RepeatMesh_(BBBYTE* bbt_mesh,BBBYTE* bbt_parent);
extern void SkinMesh_(BBBYTE* bbt_mesh,BBINT bbt_surf_no_get,BBINT bbt_vid,BBINT bbt_bone1,BBFLOAT bbt_weight1,BBINT bbt_bone2,BBFLOAT bbt_weight2,BBINT bbt_bone3,BBFLOAT bbt_weight3,BBINT bbt_bone4,BBFLOAT bbt_weight4);
extern void SpriteRenderMode_(BBBYTE* bbt_sprite,BBINT bbt_Mode);
extern void TexToBuffer_(BBBYTE* bbt_tex,BBBYTE* bbt_buffer,BBINT bbt_frame);
extern void UpdateTexCoords_(BBBYTE* bbt_surf);
extern BBFLOAT* CameraProjMatrix_(BBBYTE* bbt_cam);
extern BBFLOAT* EntityMatrix_(BBBYTE* bbt_ent);
extern BBBYTE* ActMoveBy_(BBBYTE* bbt_ent,BBFLOAT bbt_a,BBFLOAT bbt_b,BBFLOAT bbt_c,BBFLOAT bbt_rate);
extern BBBYTE* ActTurnBy_(BBBYTE* bbt_ent,BBFLOAT bbt_a,BBFLOAT bbt_b,BBFLOAT bbt_c,BBFLOAT bbt_rate);
extern BBBYTE* ActVector_(BBBYTE* bbt_ent,BBFLOAT bbt_a,BBFLOAT bbt_b,BBFLOAT bbt_c);
extern BBBYTE* ActMoveTo_(BBBYTE* bbt_ent,BBFLOAT bbt_a,BBFLOAT bbt_b,BBFLOAT bbt_c,BBFLOAT bbt_rate);
extern BBBYTE* ActTurnTo_(BBBYTE* bbt_ent,BBFLOAT bbt_a,BBFLOAT bbt_b,BBFLOAT bbt_c,BBFLOAT bbt_rate);
extern BBBYTE* ActScaleTo_(BBBYTE* bbt_ent,BBFLOAT bbt_a,BBFLOAT bbt_b,BBFLOAT bbt_c,BBFLOAT bbt_rate);
extern BBBYTE* ActFadeTo_(BBBYTE* bbt_ent,BBFLOAT bbt_a,BBFLOAT bbt_rate);
extern BBBYTE* ActTintTo_(BBBYTE* bbt_ent,BBFLOAT bbt_a,BBFLOAT bbt_b,BBFLOAT bbt_c,BBFLOAT bbt_rate);
extern BBBYTE* ActTrackByPoint_(BBBYTE* bbt_ent,BBBYTE* bbt_target,BBFLOAT bbt_a,BBFLOAT bbt_b,BBFLOAT bbt_c,BBFLOAT bbt_rate);
extern BBBYTE* ActTrackByDistance_(BBBYTE* bbt_ent,BBBYTE* bbt_target,BBFLOAT bbt_a,BBFLOAT bbt_rate);
extern BBBYTE* ActNewtonian_(BBBYTE* bbt_ent,BBFLOAT bbt_rate);
extern void AppendAction_(BBBYTE* bbt_act1,BBBYTE* bbt_act2);
extern void FreeAction_(BBBYTE* bbt_act);
extern void EndAction_(BBBYTE* bbt_act);
extern BBBYTE* CreateConstraint_(BBBYTE* bbt_p1,BBBYTE* bbt_p2,BBFLOAT bbt_l);
extern BBBYTE* CreateRigidBody_(BBBYTE* bbt_body,BBBYTE* bbt_p1,BBBYTE* bbt_p2,BBBYTE* bbt_p3,BBBYTE* bbt_p4);
extern BBBYTE* CreateBlob_(BBBYTE* bbt_fluid,BBFLOAT bbt_radius,BBBYTE* bbt_parent_ent);
extern BBBYTE* CreateFluid_();
extern void FluidArray_(BBBYTE* bbt_fluid,BBFLOAT* bbt_Array,BBINT bbt_w,BBINT bbt_h,BBINT bbt_d);
extern void FluidFunction_(BBBYTE* bbt_fluid,BBFLOAT(* bbt_FieldFunction)(BBFLOAT,BBFLOAT,BBFLOAT));
extern void FluidThreshold_(BBBYTE* bbt_fluid,BBFLOAT bbt_threshold);
extern BBBYTE* CreateGeosphere_(BBINT bbt_size,BBBYTE* bbt_parent);
extern void GeosphereHeight_(BBBYTE* bbt_geo,BBFLOAT bbt_h);
extern BBBYTE* LoadGeosphere_(BBBYTE* bbt_file,BBBYTE* bbt_parent);
extern void ModifyGeosphere_(BBBYTE* bbt_geo,BBINT bbt_x,BBINT bbt_z,BBFLOAT bbt_new_height);
extern BBBYTE* CreateOcTree_(BBFLOAT bbt_w,BBFLOAT bbt_h,BBFLOAT bbt_d,BBBYTE* bbt_parent_ent);
extern void OctreeBlock_(BBBYTE* bbt_octree,BBBYTE* bbt_mesh,BBINT bbt_level,BBFLOAT bbt_X,BBFLOAT bbt_Y,BBFLOAT bbt_Z,BBFLOAT bbt_Near,BBFLOAT bbt_Far);
extern void OctreeMesh_(BBBYTE* bbt_octree,BBBYTE* bbt_mesh,BBINT bbt_level,BBFLOAT bbt_X,BBFLOAT bbt_Y,BBFLOAT bbt_Z,BBFLOAT bbt_Near,BBFLOAT bbt_Far);
extern BBBYTE* CreateParticleEmitter_(BBBYTE* bbt_particle,BBBYTE* bbt_parent_ent);
extern void EmitterVector_(BBBYTE* bbt_emit,BBFLOAT bbt_startx,BBFLOAT bbt_starty,BBFLOAT bbt_startz,BBFLOAT bbt_endx,BBFLOAT bbt_endy,BBFLOAT bbt_endz);
extern void EmitterRate_(BBBYTE* bbt_emit,BBFLOAT bbt_r);
extern void EmitterParticleLife_(BBBYTE* bbt_emit,BBINT bbt_startl,BBINT bbt_endl,BBINT bbt_randl);
extern void EmitterParticleFunction_(BBBYTE* bbt_emit,void(* bbt_EmitterFunction)(BBBYTE*,BBINT));
extern void EmitterParticleSpeed_(BBBYTE* bbt_emit,BBFLOAT bbt_starts,BBFLOAT bbt_ends);
extern void EmitterVariance_(BBBYTE* bbt_emit,BBFLOAT bbt_v);
extern void EmitterParticleAlpha_(BBBYTE* bbt_emit,BBFLOAT bbt_starta,BBFLOAT bbt_enda,BBFLOAT bbt_mida,BBINT bbt_midlife);
extern void EmitterParticleScale_(BBBYTE* bbt_emit,BBFLOAT bbt_startsx,BBFLOAT bbt_startsy,BBFLOAT bbt_endsx,BBFLOAT bbt_endsy,BBFLOAT bbt_midsx,BBFLOAT bbt_midsy,BBINT bbt_midlife);
extern void EmitterParticleColor_(BBBYTE* bbt_emit,BBFLOAT bbt_startr,BBFLOAT bbt_startg,BBFLOAT bbt_startb,BBFLOAT bbt_endr,BBFLOAT bbt_endg,BBFLOAT bbt_endb,BBFLOAT bbt_midr,BBFLOAT bbt_midg,BBFLOAT bbt_midb,BBINT bbt_midlife);
extern void EmitterParticleRotate_(BBBYTE* bbt_emit,BBFLOAT bbt_startr,BBFLOAT bbt_endr,BBFLOAT bbt_midr,BBINT bbt_midlife);
extern void ParticleColor_(BBBYTE* bbt_sprite,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b,BBFLOAT bbt_a);
extern void ParticleVector_(BBBYTE* bbt_sprite,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern void ParticleTrail_(BBBYTE* bbt_sprite,BBINT bbt_length);
extern BBBYTE* CreatePostFX_(BBBYTE* bbt_cam,BBINT bbt_passes);
extern void AddRenderTarget_(BBBYTE* bbt_fx,BBINT bbt_pass_no,BBINT bbt_numColBufs,BBINT bbt_depth,BBINT bbt_format,BBFLOAT bbt_scale);
extern void PostFXShader_(BBBYTE* bbt_fx,BBINT bbt_pass_no,BBBYTE* bbt_shader);
extern void PostFXShaderPass_(BBBYTE* bbt_fx,BBINT bbt_pass_no,BBBYTE* bbt_name,BBINT bbt_v);
extern void PostFXBuffer_(BBBYTE* bbt_fx,BBINT bbt_pass_no,BBINT bbt_source_pass,BBINT bbt_index,BBINT bbt_slot);
extern void PostFXTexture_(BBBYTE* bbt_fx,BBINT bbt_pass_no,BBBYTE* bbt_tex,BBINT bbt_slot,BBINT bbt_frame);
extern void PostFXFunction_(BBBYTE* bbt_fx,BBINT bbt_pass_no,void(* bbt_PassFunction)());
extern BBBYTE* LoadShader_(BBBYTE* bbt_ShaderName,BBBYTE* bbt_VshaderFileName,BBBYTE* bbt_FshaderFileName);
extern BBBYTE* CreateShader_(BBBYTE* bbt_ShaderName,BBBYTE* bbt_VshaderString,BBBYTE* bbt_FshaderString);
extern BBBYTE* LoadShaderVGF_(BBBYTE* bbt_ShaderName,BBBYTE* bbt_VshaderFileName,BBBYTE* bbt_GshaderFileName,BBBYTE* bbt_FshaderFileName);
extern BBBYTE* CreateShaderVGF_(BBBYTE* bbt_ShaderName,BBBYTE* bbt_VshaderString,BBBYTE* bbt_GshaderString,BBBYTE* bbt_FshaderString);
extern void ShadeSurface_(BBBYTE* bbt_surf,BBBYTE* bbt_material);
extern void ShadeMesh_(BBBYTE* bbt_mesh,BBBYTE* bbt_material);
extern void ShadeEntity_(BBBYTE* bbt_ent,BBBYTE* bbt_material);
extern BBBYTE* ShaderTexture_(BBBYTE* bbt_material,BBBYTE* bbt_tex,BBBYTE* bbt_name,BBINT bbt_index);
extern void SetFloat_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBFLOAT bbt_v1);
extern void SetFloat2_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBFLOAT bbt_v1,BBFLOAT bbt_v2);
extern void SetFloat3_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBFLOAT bbt_v1,BBFLOAT bbt_v2,BBFLOAT bbt_v3);
extern void SetFloat4_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBFLOAT bbt_v1,BBFLOAT bbt_v2,BBFLOAT bbt_v3,BBFLOAT bbt_v4);
extern void UseFloat_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBFLOAT* bbt_v1);
extern void UseFloat2_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBFLOAT* bbt_v1,BBFLOAT* bbt_v2);
extern void UseFloat3_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBFLOAT* bbt_v1,BBFLOAT* bbt_v2,BBFLOAT* bbt_v3);
extern void UseFloat4_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBFLOAT* bbt_v1,BBFLOAT* bbt_v2,BBFLOAT* bbt_v3,BBFLOAT* bbt_v4);
extern void SetInteger_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBINT bbt_v1);
extern void SetInteger2_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBINT bbt_v1,BBINT bbt_v2);
extern void SetInteger3_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBINT bbt_v1,BBINT bbt_v2,BBINT bbt_v3);
extern void SetInteger4_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBINT bbt_v1,BBINT bbt_v2,BBINT bbt_v3,BBINT bbt_v4);
extern void UseInteger_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBINT* bbt_v1);
extern void UseInteger2_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBINT* bbt_v1,BBINT* bbt_v2);
extern void UseInteger3_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBINT* bbt_v1,BBINT* bbt_v2,BBINT* bbt_v3);
extern void UseInteger4_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBINT* bbt_v1,BBINT* bbt_v2,BBINT* bbt_v3,BBINT* bbt_v4);
extern void UseSurface_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBBYTE* bbt_surf,BBINT bbt_vbo);
extern void UseMatrix_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBINT bbt_Mode);
extern BBBYTE* LoadMaterial_(BBBYTE* bbt_filename,BBINT bbt_flags,BBINT bbt_frame_width,BBINT bbt_frame_height,BBINT bbt_first_frame,BBINT bbt_frame_count);
extern void ShaderMaterial_(BBBYTE* bbt_material,BBBYTE* bbt_tex,BBBYTE* bbt_name,BBINT bbt_index);
extern void AmbientShader_(BBBYTE* bbt_material);
extern void UseEntity_(BBBYTE* bbt_material,BBBYTE* bbt_name,BBBYTE* bbt_ent,BBINT bbt_mode);
extern void ShaderFunction_(BBBYTE* bbt_material,void(* bbt_EnableFunction)(),void(* bbt_DisableFunction)());
extern BBINT GetShaderProgram_(BBBYTE* bbt_material);
extern BBBYTE* CreateShadow_(BBBYTE* bbt_parent,BBINT bbt_Static);
extern void FreeShadow_(BBBYTE* bbt_shad);
extern BBBYTE* CreateStencil_();
extern void StencilAlpha_(BBBYTE* bbt_stencil,BBFLOAT bbt_a);
extern void StencilClsColor_(BBBYTE* bbt_stencil,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b);
extern void StencilClsMode_(BBBYTE* bbt_stencil,BBINT bbt_cls_color,BBINT bbt_cls_zbuffer);
extern void StencilMesh_(BBBYTE* bbt_stencil,BBBYTE* bbt_mesh,BBINT bbt_Mode);
extern void StencilMode_(BBBYTE* bbt_stencil,BBINT bbt_m,BBINT bbt_o);
extern void UseStencil_(BBBYTE* bbt_stencil);
extern BBBYTE* CreateVoxelSprite_(BBINT bbt_slices,BBBYTE* bbt_parent);
extern void VoxelSpriteMaterial_(BBBYTE* bbt_voxelspr,BBBYTE* bbt_mat);
extern void AnimateMesh_(BBBYTE* bbt_ent1,BBFLOAT bbt_framef,BBINT bbt_start_frame,BBINT bbt_end_frame);
extern void AnimateMesh2_(BBBYTE* bbt_ent1,BBFLOAT bbt_framef,BBINT bbt_start_frame,BBINT bbt_end_frame);
extern void AnimateMesh3_(BBBYTE* bbt_ent1);
extern void VertexDeform_(BBBYTE* bbt_ent);
extern BBBYTE* AnimationKeysCopy_(BBBYTE* bbt_obj);
extern BBBYTE* BrushCopy_(BBBYTE* bbt_obj);
extern BBINT CompareBrushes_(BBBYTE* bbt_brush1,BBBYTE* bbt_brush2);
extern void ExtractFrustum_(BBBYTE* bbt_obj);
extern BBFLOAT EntityInFrustum_(BBBYTE* bbt_obj,BBBYTE* bbt_ent);
extern void CameraUpdate_(BBBYTE* bbt_obj);
extern void CameraRender_(BBBYTE* bbt_obj);
extern void UpdateSprite_(BBBYTE* bbt_obj,BBBYTE* bbt_sprite);
extern void AddTransformedSpriteToSurface_(BBBYTE* bbt_obj,BBBYTE* bbt_sprite,BBBYTE* bbt_surf);
extern void RenderListAdd_(BBBYTE* bbt_obj,BBBYTE* bbt_mesh);
extern void accPerspective_(BBBYTE* bbt_obj,BBFLOAT bbt_fovy,BBFLOAT bbt_aspect,BBFLOAT bbt_zNear,BBFLOAT bbt_zFar,BBFLOAT bbt_pixdx,BBFLOAT bbt_pixdy,BBFLOAT bbt_eyedx,BBFLOAT bbt_eyedy,BBFLOAT bbt_focus);
extern void accFrustum_(BBBYTE* bbt_obj,BBFLOAT bbt_left_,BBFLOAT bbt_right_,BBFLOAT bbt_bottom,BBFLOAT bbt_top,BBFLOAT bbt_zNear,BBFLOAT bbt_zFar,BBFLOAT bbt_pixdx,BBFLOAT bbt_pixdy,BBFLOAT bbt_eyedx,BBFLOAT bbt_eyedy,BBFLOAT bbt_focus);
extern void UpdateProjMatrix_(BBBYTE* bbt_obj);
extern void CameraUpdateEntityRender_(BBBYTE* bbt_ent,BBBYTE* bbt_cam);
extern void FreeCollisionPivots_();
extern void ManualCollision_(BBBYTE* bbt_ent,BBBYTE* bbt_ent2,BBINT bbt_col_method,BBINT bbt_col_response);
extern void UpdateEntityAnim_(BBBYTE* bbt_mesh);
extern void LightUpdate_(BBBYTE* bbt_obj);
extern BBINT CountAllChildren_(BBBYTE* bbt_obj,BBINT bbt_no_children);
extern BBBYTE* GetChildFromAll_(BBBYTE* bbt_obj,BBINT bbt_child_no,BBINT* bbt_no_children,BBBYTE* bbt_ent);
extern BBINT Hidden_(BBBYTE* bbt_obj);
extern void AlignToVector_(BBBYTE* bbt_obj,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBINT bbt_axis,BBFLOAT bbt_rate);
extern void UpdateMat_(BBBYTE* bbt_obj,BBBYTE bbt_load_identity);
extern void AddParent_(BBBYTE* bbt_obj,BBBYTE* bbt_parent_ent);
extern void UpdateChildren_(BBBYTE* bbt_ent_p);
extern BBFLOAT EntityDistanceSquared_(BBBYTE* bbt_obj,BBBYTE* bbt_ent2);
extern void MQ_Update_(BBBYTE* bbt_obj);
extern void MQ_GetInvMatrix_(BBBYTE* bbt_obj,BBBYTE* bbt_mat0);
extern void MQ_GetMatrix_(BBBYTE* bbt_obj,BBBYTE* bbt_mat3);
extern void MQ_GetScaleXYZ_(BBBYTE* bbt_obj,BBFLOAT* bbt_width,BBFLOAT* bbt_height,BBFLOAT* bbt_depth);
extern void MQ_Turn_(BBBYTE* bbt_obj,BBFLOAT bbt_ang,BBFLOAT bbt_vx,BBFLOAT bbt_vy,BBFLOAT bbt_vz,BBINT bbt_glob);
extern BBINT MQ_ApplyNewtonTransform_(BBBYTE* bbt_obj,BBBYTE* bbt_newtonMatrix);
extern void MatrixLoadIdentity_(BBBYTE* bbt_obj);
extern BBBYTE* MatrixCopy_(BBBYTE* bbt_obj);
extern void MatrixOverwrite_(BBBYTE* bbt_obj,BBBYTE* bbt_mat);
extern void MatrixGetInverse_(BBBYTE* bbt_obj,BBBYTE* bbt_mat);
extern void MatrixMultiply_(BBBYTE* bbt_obj,BBBYTE* bbt_mat);
extern void MatrixTranslate_(BBBYTE* bbt_obj,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern void MatrixScale_(BBBYTE* bbt_obj,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern void MatrixRotate_(BBBYTE* bbt_obj,BBFLOAT bbt_rx,BBFLOAT bbt_ry,BBFLOAT bbt_rz);
extern void MatrixRotatePitch_(BBBYTE* bbt_obj,BBFLOAT bbt_ang);
extern void MatrixRotateYaw_(BBBYTE* bbt_obj,BBFLOAT bbt_ang);
extern void MatrixRotateRoll_(BBBYTE* bbt_obj,BBFLOAT bbt_ang);
extern void MatrixFromQuaternion_(BBBYTE* bbt_obj,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBFLOAT bbt_w);
extern void MatrixTransformVec_(BBBYTE* bbt_obj,BBFLOAT* bbt_rx,BBFLOAT* bbt_ry,BBFLOAT* bbt_rz,BBINT bbt_addTranslation);
extern void MatrixTranspose_(BBBYTE* bbt_obj);
extern void MatrixSetTranslate_(BBBYTE* bbt_obj,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z);
extern void MatrixMultiply2_(BBBYTE* bbt_obj,BBBYTE* bbt_mat);
extern void MatrixGetInverse2_(BBBYTE* bbt_obj,BBBYTE* bbt_mat);
extern BBFLOAT MatrixGetPitch_(BBBYTE* bbt_obj);
extern BBFLOAT MatrixGetYaw_(BBBYTE* bbt_obj);
extern BBFLOAT MatrixGetRoll_(BBBYTE* bbt_obj);
extern void MatrixFromToRotation_(BBBYTE* bbt_obj,BBFLOAT bbt_ix,BBFLOAT bbt_iy,BBFLOAT bbt_iz,BBFLOAT bbt_jx,BBFLOAT bbt_jy,BBFLOAT bbt_jz);
extern void MatrixToQuat_(BBBYTE* bbt_obj,BBFLOAT* bbt_qx,BBFLOAT* bbt_qy,BBFLOAT* bbt_qz,BBFLOAT* bbt_qw);
extern void MatrixQuaternion_FromAngleAxis_(BBFLOAT bbt_angle,BBFLOAT bbt_ax,BBFLOAT bbt_ay,BBFLOAT bbt_az,BBFLOAT* bbt_rx,BBFLOAT* bbt_ry,BBFLOAT* bbt_rz,BBFLOAT* bbt_rw);
extern void MatrixQuaternion_MultiplyQuat_(BBFLOAT bbt_x1,BBFLOAT bbt_y1,BBFLOAT bbt_z1,BBFLOAT bbt_w1,BBFLOAT bbt_x2,BBFLOAT bbt_y2,BBFLOAT bbt_z2,BBFLOAT bbt_w2,BBFLOAT* bbt_rx,BBFLOAT* bbt_ry,BBFLOAT* bbt_rz,BBFLOAT* bbt_rw);
extern void MatrixInterpolateMatrix_(BBBYTE* bbt_m,BBBYTE* bbt_a,BBFLOAT bbt_alpha);
extern void MeshColor_(BBBYTE* bbt_obj,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b,BBFLOAT bbt_a);
extern void MeshRed_(BBBYTE* bbt_obj,BBFLOAT bbt_r);
extern void MeshGreen_(BBBYTE* bbt_obj,BBFLOAT bbt_g);
extern void MeshBlue_(BBBYTE* bbt_obj,BBFLOAT bbt_b);
extern void MeshAlpha_(BBBYTE* bbt_obj,BBFLOAT bbt_a);
extern void CopyBonesList_(BBBYTE* bbt_ent,BBBYTE* bbt_bones);
extern BBBYTE* CollapseAnimMesh_(BBBYTE* bbt_obj,BBBYTE* bbt_mesh);
extern BBBYTE* CollapseChildren_(BBBYTE* bbt_obj,BBBYTE* bbt_ent0,BBBYTE* bbt_mesh);
extern void TransformMesh_(BBBYTE* bbt_obj,BBBYTE* bbt_mat);
extern void GetBounds_(BBBYTE* bbt_obj);
extern BBINT Alpha_(BBBYTE* bbt_obj);
extern void TreeCheck_(BBBYTE* bbt_obj);
extern void MeshRender_(BBBYTE* bbt_obj);
extern void UpdateShadow_(BBBYTE* bbt_obj);
extern void ModelTrimVerts_(BBBYTE* bbt_obj);
extern BBBYTE* PickMain_(BBFLOAT bbt_ax,BBFLOAT bbt_ay,BBFLOAT bbt_az,BBFLOAT bbt_bx,BBFLOAT bbt_by,BBFLOAT bbt_bz,BBFLOAT bbt_radius);
extern void QuaternionToMat_(BBFLOAT bbt_w,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBBYTE* bbt_mat);
extern void QuaternionToEuler_(BBFLOAT bbt_w,BBFLOAT bbt_x,BBFLOAT bbt_y,BBFLOAT bbt_z,BBFLOAT* bbt_pitch,BBFLOAT* bbt_yaw,BBFLOAT* bbt_roll);
extern void QuaternionSlerp_(BBFLOAT bbt_Ax,BBFLOAT bbt_Ay,BBFLOAT bbt_Az,BBFLOAT bbt_Aw,BBFLOAT bbt_Bx,BBFLOAT bbt_By,BBFLOAT bbt_Bz,BBFLOAT bbt_Bw,BBFLOAT* bbt_Cx,BBFLOAT* bbt_Cy,BBFLOAT* bbt_Cz,BBFLOAT* bbt_Cw,BBFLOAT bbt_t);
extern void SetShadowColor_(BBINT bbt_R,BBINT bbt_G,BBINT bbt_B,BBINT bbt_A);
extern void ShadowInit_();
extern void RemoveShadowfromMesh_(BBBYTE* bbt_obj,BBBYTE* bbt_M);
extern void ShadowObjectUpdate_(BBBYTE* bbt_Cam);
extern void RenderVolume_();
extern void UpdateAnim_(BBBYTE* bbt_obj);
extern void ShadowObjectInit_(BBBYTE* bbt_obj);
extern void InitShadow_(BBBYTE* bbt_obj);
extern void UpdateCaster_(BBBYTE* bbt_obj);
extern void ShadowRenderWorldZFail_();
extern void SpriteTexCoords_(BBBYTE* bbt_obj,BBINT bbt_cell_x,BBINT bbt_cell_y,BBINT bbt_cell_w,BBINT bbt_cell_h,BBINT bbt_tex_w,BBINT bbt_tex_h,BBINT bbt_uv_set);
extern void SpriteVertexColor_(BBBYTE* bbt_obj,BBINT bbt_v,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b);
extern BBBYTE* SurfaceCopy_(BBBYTE* bbt_obj);
extern void SurfaceColor_(BBBYTE* bbt_obj,BBFLOAT bbt_r,BBFLOAT bbt_g,BBFLOAT bbt_b,BBFLOAT bbt_a);
extern void SurfaceRed_(BBBYTE* bbt_obj,BBFLOAT bbt_r);
extern void SurfaceGreen_(BBBYTE* bbt_obj,BBFLOAT bbt_g);
extern void SurfaceBlue_(BBBYTE* bbt_obj,BBFLOAT bbt_b);
extern void SurfaceAlpha_(BBBYTE* bbt_obj,BBFLOAT bbt_a);
extern void SurfaceUpdateNormals_(BBBYTE* bbt_obj);
extern BBFLOAT TriangleNX_(BBBYTE* bbt_obj,BBINT bbt_tri_no);
extern BBFLOAT TriangleNY_(BBBYTE* bbt_obj,BBINT bbt_tri_no);
extern BBFLOAT TriangleNZ_(BBBYTE* bbt_obj,BBINT bbt_tri_no);
extern void UpdateVBO_(BBBYTE* bbt_obj);
extern void FreeVBO_(BBBYTE* bbt_obj);
extern void RemoveTri_(BBBYTE* bbt_obj,BBINT bbt_tri);
extern void UpdateTerrain_(BBBYTE* bbt_obj);
extern void TerrainUpdateNormals_(BBBYTE* bbt_obj);
extern BBBYTE* TextureCopy_(BBBYTE* bbt_obj,BBINT bbt_copyflags);
extern BBBYTE* TexInList_(BBBYTE* bbt_obj,BBBYTE* bbt_list_ref);
extern void FilterFlags_(BBBYTE* bbt_obj);
extern void CopyRect_(BBBYTE* bbt_src,BBINT bbt_srcW,BBINT bbt_srcH,BBINT bbt_srcX,BBINT bbt_srcY,BBBYTE* bbt_dst,BBINT bbt_dstW,BBINT bbt_dstH,BBINT bbt_bPP,BBINT bbt_invert);
extern BBBYTE* StaticChar_(BBINT bbt_classid,BBINT bbt_varid);
extern BBINT* StaticInt_(BBINT bbt_classid,BBINT bbt_varid);
extern BBFLOAT* StaticFloat_(BBINT bbt_classid,BBINT bbt_varid);
extern BBBYTE* StaticEntity_(BBINT bbt_classid,BBINT bbt_varid);
extern BBBYTE* StaticCamera_(BBINT bbt_classid,BBINT bbt_varid);
extern BBBYTE* StaticPivot_(BBINT bbt_classid,BBINT bbt_varid);
extern BBBYTE* StaticShader_(BBINT bbt_classid,BBINT bbt_varid);
extern BBBYTE* StaticSurface_(BBINT bbt_classid,BBINT bbt_varid);
extern BBINT StaticListSize_(BBINT bbt_classid,BBINT bbt_varid);
extern BBBYTE* StaticIterListAction_(BBINT bbt_classid,BBINT bbt_varid,BBINT* bbt_id);
extern BBBYTE* StaticIterListBrush_(BBINT bbt_classid,BBINT bbt_varid,BBINT* bbt_id);
extern BBBYTE* StaticIterListCamera_(BBINT bbt_classid,BBINT bbt_varid,BBINT* bbt_id);
extern BBBYTE* StaticIterListEntity_(BBINT bbt_classid,BBINT bbt_varid,BBINT* bbt_id);
extern BBBYTE* StaticIterListShadowObject_(BBINT bbt_classid,BBINT bbt_varid,BBINT* bbt_id);
extern BBBYTE* StaticIterListTerrain_(BBINT bbt_classid,BBINT bbt_varid,BBINT* bbt_id);
extern BBBYTE* StaticIterListTexture_(BBINT bbt_classid,BBINT bbt_varid,BBINT* bbt_id);
extern BBBYTE* StaticIterVectorLight_(BBINT bbt_classid,BBINT bbt_varid,BBINT* bbt_id);
extern BBINT* ActionInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* ActionFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* ActionEntity_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* AnimationKeysInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* AnimationKeysFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* NewAnimationKeys_(BBBYTE* bbt_obj);
extern BBFLOAT* BoneFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* BoneAnimationKeys_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* BoneMatrix_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* BrushInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* BrushUInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* BrushFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* BrushString_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* BrushTextureArray_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT bbt_index);
extern void SetBrushString_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_cstr);
extern BBBYTE* CameraBool_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* CameraInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* CameraFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern void GlobalListPushBackCamera_(BBINT bbt_varid,BBBYTE* bbt_obj);
extern void GlobalListRemoveCamera_(BBINT bbt_varid,BBBYTE* bbt_obj);
extern BBINT* EntityInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* EntityFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* EntityString_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* EntityEntity_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* EntityBrush_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* EntityMatrix2_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT EntityListSize_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* EntityIterListEntity_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT* bbt_id);
extern void EntityListPushBackEntity_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_ent);
extern void EntityListRemoveEntity_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_ent);
extern void GlobalListPushBackEntity_(BBINT bbt_varid,BBBYTE* bbt_obj);
extern void GlobalListRemoveEntity_(BBINT bbt_varid,BBBYTE* bbt_obj);
extern void SetEntityString_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_cstr);
extern BBBYTE* LightChar_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* LightFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* MatPtrFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* NewMatPtr_();
extern BBINT* MeshInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* MeshFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* MeshMatrix_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT MeshListSize_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* MeshIterListSurface_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT* bbt_id);
extern BBBYTE* MeshIterVectorBone_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT* bbt_id);
extern BBBYTE* MeshVectorBone_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern void MeshListPushBackSurface_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_surf);
extern void MeshListRemoveSurface_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_surf);
extern void MeshListPushBackBone_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_bone);
extern void MeshListRemoveBone_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_bone);
extern BBFLOAT* SurfaceCopyFloatArray_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_surf);
extern BBFLOAT* SurfaceResizeFloatArray_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT bbt_size);
extern BBINT* SurfaceResizeIntArray_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT bbt_size);
extern BBFLOAT* AnimationKeysResizeFloatArray_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT bbt_size);
extern BBINT* AnimationKeysResizeIntArray_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT bbt_size);
extern BBBYTE* MeshResizeBoneVector_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT bbt_size);
extern void MeshSetBoneVector_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT bbt_pos,BBBYTE* bbt_bone);
extern void SurfaceVectorPushBackFloat_(BBBYTE* bbt_obj,BBINT bbt_varid,BBFLOAT bbt_value);
extern BBFLOAT* QuatPtrFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* NewQuatPtr_();
extern BBBYTE* ShadowObjectChar_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* ShadowObjectInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* ShadowObjectMesh_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* ShadowObjectSurface_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* SpriteInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* SpriteFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBSHORT* SurfaceUShort_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* SurfaceInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* SurfaceUInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* SurfaceFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* SurfaceBrush_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* SurfaceShader_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* TerrainInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBFLOAT* TerrainFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* TerrainCamera_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* TerrainShader_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* TextureInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* TextureUInt_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBINT* TextureNewUIntArray_(BBBYTE* bbt_obj,BBINT bbt_varid,BBINT bbt_array_size);
extern BBFLOAT* TextureFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* TextureString_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* TextureListTexture_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern void GlobalListPushBackTexture_(BBINT bbt_varid,BBBYTE* bbt_obj);
extern void GlobalListRemoveTexture_(BBINT bbt_varid,BBBYTE* bbt_obj);
extern void SetTextureString_(BBBYTE* bbt_obj,BBINT bbt_varid,BBBYTE* bbt_cstr);
extern BBFLOAT* VecPtrFloat_(BBBYTE* bbt_obj,BBINT bbt_varid);
extern BBBYTE* NewVecPtr_();
extern BBBYTE* VecPtrCopy_(BBBYTE* bbt_v);
extern BBBYTE* VecPtrNegate_(BBBYTE* bbt_v);
extern BBBYTE* VecPtrAdd_(BBBYTE* bbt_v,BBBYTE* bbt_q);
extern BBBYTE* VecPtrSubtract_(BBBYTE* bbt_v,BBBYTE* bbt_q);
extern BBBYTE* VecPtrMultiply_(BBBYTE* bbt_v,BBFLOAT bbt_scale);
extern BBBYTE* VecPtrMultiply2_(BBBYTE* bbt_v,BBBYTE* bbt_q);
extern BBBYTE* VecPtrDivide_(BBBYTE* bbt_v,BBFLOAT bbt_scale);
extern BBBYTE* VecPtrDivide2_(BBBYTE* bbt_v,BBBYTE* bbt_q);
extern BBFLOAT VecPtrDot_(BBBYTE* bbt_v,BBBYTE* bbt_q);
extern BBBYTE* VecPtrCross_(BBBYTE* bbt_v,BBBYTE* bbt_q);
extern BBFLOAT VecPtrLength_(BBBYTE* bbt_v);
extern BBFLOAT VecPtrDistance_(BBBYTE* bbt_v,BBBYTE* bbt_q);
extern BBBYTE* VecPtrNormalized_(BBBYTE* bbt_v);
extern void VecPtrNormalize_(BBBYTE* bbt_v);
extern void VecPtrClear_(BBBYTE* bbt_v);

#endif
