#libpath "lib"
#inclib "HgeWrapper"

'{ hge_System }
Declare Sub      hge_Create                 Cdecl Alias  "hge_Create" (ByVal As Integer)
Declare Sub      hge_Release                Cdecl Alias  "hge_Release" ()
Declare Sub      hge_System_Shutdown        Cdecl Alias  "hge_System_Shutdown" ()
Declare Function hge_System_Initiate        Cdecl Alias  "hge_System_Initiate" () as Integer
Declare Function hge_System_Start           Cdecl Alias  "hge_System_Start" () as Integer
Declare Function hge_System_GetErrorMessage Cdecl Alias  "hge_System_GetErrorMessage" () As ZString ptr
Declare Function hge_System_Launch          Cdecl Alias  "hge_System_Launch" (ByVal As ZString ptr) As Integer
Declare Sub      hge_System_Log             Cdecl Alias  "hge_System_Log" (ByVal As ZString ptr)
Declare Sub      hge_System_Snapshot        Cdecl Alias  "hge_System_Snapshot" (ByVal As ZString ptr)
Declare Sub      hge_System_SetStateFunc    Cdecl Alias  "hge_System_SetStateFunc" (ByVal As hgeFuncState ,value As function()as integer)
Declare Sub      hge_System_SetStateString  Cdecl Alias  "hge_System_SetStateString" (ByVal As hgeStringState ,ByVal As ZString ptr)
Declare Sub      hge_System_SetStateBool    Cdecl Alias  "hge_System_SetStateBool" (ByVal As hgeBoolState ,ByVal As integer)
Declare Sub      hge_System_SetStateHwnd    Cdecl Alias  "hge_System_SetStateHwnd" (ByVal As hgeHwndState ,ByVal As HWND)
Declare Sub      hge_System_SetStateInt     Cdecl Alias  "hge_System_SetStateInt" (ByVal As hgeIntState ,ByVal As integer)
Declare Function hge_System_GetStateFunc    Cdecl Alias  "hge_System_GetStateFunc" (ByRef  As hgeFuncState )As function()as integer
Declare Function hge_System_GetStateString  Cdecl Alias  "hge_System_GetStateString" (ByRef  As hgeStringState)As ZString ptr
Declare Function hge_System_GetStateBool    Cdecl Alias  "hge_System_GetStateBool" (ByRef  As hgeBoolState )As integer
Declare Function hge_System_GetStateHwnd    Cdecl Alias  "hge_System_GetStateHwnd" (ByRef  As hgeHwndState ) As HWND
Declare Function hge_System_GetStateInt     Cdecl Alias  "hge_System_GetStateInt" (ByRef  As hgeIntState )As Integer 
'}
'{ hge_Resource }
Declare Function hge_Resource_Load           Cdecl Alias  "hge_Resource_Load" (ByVal As ZString Ptr,ByVal As Dword ptr)As Long 
Declare Sub      hge_Resource_Free           Cdecl Alias  "hge_Resource_Free" (ByVal As Integer ptr)
Declare Function hge_Resource_AttachPack     Cdecl Alias  "hge_Resource_AttachPack" (ByVal As ZString Ptr,ByVal As ZString Ptr)As Integer 
Declare Sub      hge_Resource_RemovePack     Cdecl Alias  "hge_Resource_RemovePack" (ByVal As ZString Ptr)
Declare Sub      hge_Resource_RemoveAllPacks Cdecl Alias  "hge_Resource_RemoveAllPacks" ()
Declare Function hge_Resource_MakePath       Cdecl Alias  "hge_Resource_MakePath" (ByVal As ZString Ptr)As ZString Ptr
Declare Function hge_Resource_EnumFiles      Cdecl Alias  "hge_Resource_EnumFiles" (ByVal As ZString Ptr)As ZString Ptr
Declare Function hge_Resource_EnumFolders    Cdecl Alias  "hge_Resource_EnumFolders" (ByVal As ZString Ptr)As ZString Ptr
'}
'{ hge_Ini }
Declare Sub      hge_Ini_SetInt           Cdecl Alias  "hge_Ini_SetInt" (ByVal As ZString Ptr,ByVal As ZString Ptr,ByVal As Integer)
Declare Sub      hge_Ini_SetFloat         Cdecl Alias  "hge_Ini_SetFloat" (ByVal As ZString Ptr,ByVal As ZString Ptr,ByVal As Single )
Declare Sub      hge_Ini_SetString        Cdecl Alias  "hge_Ini_SetString" (ByVal As ZString Ptr,ByVal As ZString Ptr,ByVal As ZString Ptr)
Declare Function hge_Ini_GetInt           Cdecl Alias  "hge_Ini_SetInt" (ByVal As ZString Ptr,ByVal As ZString Ptr,ByVal As Integer )As Integer
Declare Function hge_Ini_GetFloat         Cdecl Alias  "hge_Ini_SetFloat" (ByVal As ZString Ptr,ByVal As ZString Ptr,ByVal As Single )As Single  
Declare Function hge_Ini_GetString        Cdecl Alias  "hge_Ini_SetString" (ByVal As ZString Ptr,ByVal As ZString Ptr,ByVal As ZString Ptr)As ZString Ptr
'}
'{ hge_Random }
Declare Sub      hge_Random_Seed          Cdecl Alias  "hge_Random_Seed" (ByVal As Integer)
Declare Function hge_Random_Int           Cdecl Alias  "hge_Random_Int" (ByVal As Integer,ByVal As Integer )As Integer
Declare Function hge_Random_Float         Cdecl Alias  "hge_Random_Float" (ByVal As Single,ByVal As Single )As Single
'}
'{ hge_Timer }
Declare Function hge_Timer_GetTime        Cdecl Alias  "hge_Timer_GetTime" ()As Single
Declare Function hge_Timer_GetDelta       Cdecl Alias  "hge_Timer_GetDelta" ()As Double 
Declare Function hge_Timer_GetFPS         Cdecl Alias  "hge_Timer_GetFPS" ()As integer
'}
'{ hge_Input }
Declare Function hge_Input_GetKeyState    Cdecl Alias  "hge_Input_GetKeyState" (ByVal As Integer) as Integer
Declare Sub      hge_Input_GetMousePos    Cdecl Alias  "hge_Input_GetMousePos" (byref as single,byref as single)
Declare Sub      hge_Input_SetMousePos    Cdecl Alias  "hge_Input_SetMousePos" (byval as single,byval as single)
Declare Function hge_Input_GetMouseWheel  Cdecl Alias  "hge_Input_GetMouseWheel" () as Integer
Declare Function hge_Input_IsMouseOver    Cdecl Alias  "hge_Input_IsMouseOver" () as Integer
Declare Function hge_Input_KeyDown        Cdecl Alias  "hge_Input_KeyDown"     (ByVal As Integer) as Integer
Declare Function hge_Input_KeyUp          Cdecl Alias  "hge_Input_KeyUp"     (ByVal As Integer) as Integer
Declare Function hge_Input_GetKeyName     Cdecl Alias  "hge_Input_GetKeyName" (ByVal As Integer) As ZString ptr
Declare Function hge_Input_GetKey         Cdecl Alias  "hge_Input_GetKey" () as Integer
Declare Function hge_Input_GetChar        Cdecl Alias  "hge_Input_GetChar" () as Integer
Declare Function hge_Input_GetEvent       Cdecl Alias  "hge_Input_GetEvent" (byval as hgeInputEvent) as Integer      	
'}
'{ hge_Gfx }
Declare Function hge_Gfx_BeginScene       Cdecl Alias  "hge_Gfx_BeginScene"      (byval as Dword = 0)as bool 
Declare Sub      hge_Gfx_EndScene         Cdecl Alias  "hge_Gfx_EndScene"        () 
Declare Sub      hge_Gfx_Clear            Cdecl Alias  "hge_Gfx_Clear"           (byval  as DWORD=0) 
Declare Sub      hge_Gfx_RenderLine       Cdecl Alias  "hge_Gfx_RenderLine"      (byval  as single,byval as single,byval as single,ByVal as single,byval as DWORD=&hFFFFFFFF,byval as single=0.5f) 
Declare Sub      hge_Gfx_RenderTriple     Cdecl Alias  "hge_Gfx_RenderTriple"    (byval as hgeTriple ptr) 
Declare Sub      hge_Gfx_RenderQuad       Cdecl Alias  "hge_Gfx_RenderQuad"      (byval as hgeQuad ptr) 
Declare Function hge_Gfx_StartBatch       Cdecl Alias  "hge_Gfx_StartBatch"      (byval as integer,byval as long,byval as integer,byval as integer ptr) as hgeVertex ptr
Declare Sub      hge_Gfx_FinishBatch      Cdecl Alias  "hge_Gfx_FinishBatch"     (byval as integer) 
Declare Sub      hge_Gfx_SetClipping      Cdecl Alias  "hge_Gfx_SetClipping"     (byval as Integer =0,byval as integer=0,byval as integer=0,byval as integer=0) 
Declare Sub      hge_Gfx_SetTransform     Cdecl Alias  "hge_Gfx_SetTransform"    (byval as Single  =0,byval as Single =0,byval as single=0,byval as single=0,byval  as single=0,byval as single=0,byval as single=0) 
'}
'{ hge_Effect }
Declare Function hge_Effect_Load          Cdecl Alias  "hge_Effect_Load"   (ByVal As ZString Ptr,ByVal As DWORD)As DWORD
Declare Sub      hge_Effect_Free          Cdecl Alias  "hge_Effect_Free"   (ByVal as dword)
Declare Function hge_Effect_Play          Cdecl Alias  "hge_Effect_Play"   (ByVal as dword)As Dword 
Declare Function hge_Effect_PlayEx        Cdecl Alias  "hge_Effect_PlayEx" (ByVal as dword,ByVal As Integer,ByVal As Integer,ByVal As Single,ByVal As Integer)As DWORD
'}
'{ hge_Music }
Declare Function hge_Music_Load             Cdecl Alias  "hge_Music_Load" (ByVal As ZString Ptr,ByVal as Dword=0)As Dword
Declare Sub      hge_Music_Free             Cdecl Alias  "hge_Music_Free" (ByVal as Dword)
Declare Function hge_Music_Play             Cdecl Alias  "hge_Music_Play" (ByVal as Dword,ByVal As Integer,ByVal As Integer = 100,ByVal As Integer = -1,ByVal As Integer= -1)As Dword
Declare Sub      hge_Music_SetAmplification Cdecl Alias  "hge_Music_SetAmplification" (ByVal as Dword, ByVal As Integer)
Declare Function hge_Music_GetAmplification Cdecl Alias  "hge_Music_GetAmplification" (ByVal as Dword)as integer
Declare Function hge_Music_GetLength        Cdecl Alias  "hge_Music_GetLength" (ByVal as Dword)as integer
Declare Sub      hge_Music_SetPos           Cdecl Alias  "hge_Music_SetPos" (ByVal as Dword, ByVal As Integer,ByVal As Integer)
Declare Function hge_Music_GetPos           Cdecl Alias  "hge_Music_GetPos" (ByVal as Dword, Byref As Integer,Byref As Integer)as integer
Declare Sub      hge_Music_SetInstrVolume   Cdecl Alias  "hge_Music_SetInstrVolume" (ByVal as Dword,ByVal As Integer, ByVal As Integer)
Declare Function hge_Music_GetInstrVolume   Cdecl Alias  "hge_Music_GetInstrVolume" (ByVal as Dword,ByVal As Integer)as integer
Declare Sub      hge_Music_SetChannelVolume Cdecl Alias  "hge_Music_SetChannelVolume" (ByVal as Dword, ByVal As Integer,ByVal As Integer)
Declare Function hge_Music_GetChannelVolume Cdecl Alias  "hge_Music_GetChannelVolume" (ByVal as Dword, ByVal As Integer)as integer
'}
'{ hge_Stream }
Declare Function hge_Stream_Load         Cdecl Alias  "hge_Stream_Load" (ByVal As ZString Ptr,ByVal as Dword=0)As dword
Declare Sub      hge_Stream_Free         Cdecl Alias  "hge_Stream_Free" (ByVal as dword) 
Declare Function hge_Stream_Play         Cdecl Alias  "hge_Stream_Play" (ByVal as Dword,ByVal As Integer,ByVal As Integer=100)As dword
'}
'{ hge_Channel }
Declare Sub      hge_Channel_SetPanning  Cdecl Alias  "hge_Channel_SetPanning" (ByVal as Dword, ByVal As Integer)   
Declare Sub      hge_Channel_SetVolume   Cdecl Alias  "hge_Channel_SetVolume" (ByVal as Dword, ByVal As Integer)   
Declare Sub      hge_Channel_SetPitch    Cdecl Alias  "hge_Channel_SetPitch" (ByVal as Dword, ByVal as single)   
Declare Sub      hge_Channel_Pause       Cdecl Alias  "hge_Channel_Pause" (ByVal as Dword)   
Declare Sub      hge_Channel_Resume      Cdecl Alias  "hge_Channel_Resume" (ByVal as Dword)   
Declare Sub      hge_Channel_Stop        Cdecl Alias  "hge_Channel_Stop" (ByVal as Dword)   
Declare Sub      hge_Channel_PauseAll    Cdecl Alias  "hge_Channel_PauseAll" ()   
Declare Sub      hge_Channel_ResumeAll   Cdecl Alias  "hge_Channel_ResumeAll" ()   
Declare Sub      hge_Channel_StopAll     Cdecl Alias  "hge_Channel_StopAll" ()   
Declare Function hge_Channel_IsPlaying   Cdecl Alias  "hge_Channel_IsPlaying" (ByVal as Dword)As Integer
Declare Function hge_Channel_GetLength   Cdecl Alias  "hge_Channel_GetLength" (ByVal as Dword)As Single
Declare Function hge_Channel_GetPos      Cdecl Alias  "hge_Channel_GetPos" (ByVal as Dword)As Single
Declare Sub      hge_Channel_SetPos      Cdecl Alias  "hge_Channel_SetPos" (ByVal as Dword, ByVal as single)   
Declare Sub      hge_Channel_SlideTo     Cdecl Alias  "hge_Channel_SlideTo" (ByVal as Dword, ByVal as single, ByVal As Integer, ByVal As Integer = -101, ByVal as single = -1)   
Declare Function hge_Channel_IsSliding   Cdecl Alias  "hge_Channel_IsSliding" (ByVal as Dword)As Integer
'}
'{ hge_Target }
Declare Function hge_Target_Create        Cdecl Alias  "hge_Target_Create"     (byval  as Integer,byval  as Integer,byval  as Integer)As Dword 
Declare Sub      hge_Target_Free          Cdecl Alias  "hge_Target_Free"       (byval as Dword)
Declare Function hge_Target_GetTexture    Cdecl Alias  "hge_Target_GetTexture" (byval as Dword)As Dword 
'}
'{ hge_Texture }
Declare Function hge_Texture_Create       Cdecl Alias  "hge_Texture_Create"    (byval as integer, byval as integer)as Dword
Declare Function hge_Texture_Load         Cdecl Alias  "hge_Texture_Load"      (byval as zstring ptr,byval as Dword =0,ByVal as integer=0)as Dword 
Declare Sub      hge_Texture_Free         Cdecl Alias  "hge_Texture_Free"      (byval as Dword) 
Declare Function hge_Texture_GetWidth     Cdecl Alias  "hge_Texture_GetWidth"  (byval as long, byval  as Integer =0)as integer 
Declare Function hge_Texture_GetHeight    Cdecl Alias  "hge_Texture_GetHeight" (byval as long, byval  as Integer =0)as integer 
Declare Function hge_Texture_Lock         Cdecl Alias  "hge_Texture_Lock"      (byval as Dword,byval  as Integer =1,byval as integer=0,byval as integer=0,byval as integer=0,byval as integer=0) as dword ptr
Declare Sub      hge_Texture_Unlock       Cdecl Alias  "hge_Texture_Unlock"    (byval as Dword) 
'}  
'{ hge_Font }
Declare Function hge_Font                 Cdecl Alias  "hge_Font" (ByVal As ZString Ptr,byval as integer)as long
Declare Sub      hge_Font_Delete          Cdecl Alias  "hge_Font_Delete"(ByVal as Long)
Declare Sub      hge_Font_Render          Cdecl Alias  "hge_Font_Render" (ByVal as long,byval as single,byval as single,byval as integer,ByVal As ZString Ptr) 
Declare Sub      hge_Font_Printf          Cdecl Alias  "hge_Font_Printf" (ByVal as long,byval as single,byval as single,byval as integer,ByVal As ZString Ptr ,ByVal As Single) 
Declare Sub      hge_Font_Printfb         Cdecl Alias  "hge_Font_Printfb" (ByVal as long,byval as single,byval as single,byval as single,byval as single,byval as integer,ByVal As ZString Ptr ,ByVal As Single) 
Declare Sub      hge_Font_SetZ            Cdecl Alias  "hge_Font_SetZ" (ByVal as long,ByVal as single) 
Declare Sub      hge_Font_SetBlendMode    Cdecl Alias  "hge_Font_SetBlendMode" (ByVal as long,ByVal as integer) 
Declare Sub      hge_Font_SetColor        Cdecl Alias  "hge_Font_SetColor" (ByVal as long,ByVal as dword) 
Declare Sub      hge_Font_SetScale        Cdecl Alias  "hge_Font_SetScale" (ByVal as long,ByVal as single) 
Declare Sub      hge_Font_SetProportion   Cdecl Alias  "hge_Font_SetProportion" (ByVal as long,ByVal as single) 
Declare Sub      hge_Font_SetRotation     Cdecl Alias  "hge_Font_SetRotation" (ByVal as long,ByVal as single) 
Declare Sub      hge_Font_SetTracking     Cdecl Alias  "hge_Font_SetTracking" (ByVal as long,ByVal as single) 
Declare Sub      hge_Font_SetSpacing      Cdecl Alias  "hge_Font_SetSpacing" (ByVal as long,ByVal as single) 
Declare Function hge_Font_GetZ            Cdecl Alias  "hge_Font_GetZ" (ByVal as long) as single
Declare Function hge_Font_GetBlendMode    Cdecl Alias  "hge_Font_GetBlendMode" (ByVal as long) as integer
Declare Function hge_Font_GetColor        Cdecl Alias  "hge_Font_GetColor" (ByVal as long) as dword
Declare Function hge_Font_GetScale        Cdecl Alias  "hge_Font_GetScale" (ByVal as long) as single
Declare Function hge_Font_GetProportion   Cdecl Alias  "hge_Font_GetProportion" (ByVal as long)as single 
Declare Function hge_Font_GetRotation     Cdecl Alias  "hge_Font_GetRotation" (ByVal as long) as single
Declare Function hge_Font_GetTracking     Cdecl Alias  "hge_Font_GetTracking" (ByVal as long) as single
Declare Function hge_Font_GetSpacing      Cdecl Alias  "hge_Font_GetSpacing" (ByVal as long)as single 
Declare Function hge_Font_GetSprite       Cdecl Alias  "hge_Font_GetSprite" (ByVal as Long,ByVal As byte)as long 
Declare Function hge_Font_GetPreWidth     Cdecl Alias  "hge_Font_GetPreWidth" (ByVal as Long,ByVal As byte)as single 
Declare Function hge_Font_GetPostWidth    Cdecl Alias  "hge_Font_GetPostWidth" (ByVal as Long,ByVal As byte)as single 
Declare Function hge_Font_GetHeight       Cdecl Alias  "hge_Font_GetHeight" (ByVal as Long)as single 
Declare Function hge_Font_GetStringWidth  Cdecl Alias  "hge_Font_GetStringWidth" (ByVal as Long,ByVal As ZString Ptr,ByVal As Integer=1)as single 
'}  
'{ hge_Sprite }
Declare Function hge_Sprite                Cdecl Alias  "hge_Sprite" (ByVal as Dword,ByVal as single,ByVal as single,ByVal as single,ByVal as single)as long
Declare Sub      hge_Sprite_Delete         Cdecl Alias  "hge_Sprite_Delete"(ByVal as Long)
Declare Sub      hge_Sprite_Render         Cdecl Alias  "hge_Sprite_Render" (ByVal as long,byval as single,byval as single) 
Declare Sub      hge_Sprite_RenderEx       Cdecl Alias  "hge_Sprite_RenderEx" (ByVal as long,byval as single,byval as single,byval as single,byval as Single=1.0,byval as Single=0.0) 
Declare Sub      hge_Sprite_RenderStretch  Cdecl Alias  "hge_Sprite_RenderStretch" (ByVal as long,byval as single,byval as single,byval as single,byval as Single) 
Declare Sub      hge_Sprite_Render4V       Cdecl Alias  "hge_Sprite_Render4V" (ByVal as long,byval as single,byval as single,byval as single,byval as Single,byval as single,byval as single,byval as single,byval as Single) 
Declare Sub      hge_Sprite_SetTexture     Cdecl Alias  "hge_Sprite_SetTexture"(ByVal as long,ByVal as long)
Declare Sub      hge_Sprite_SetTextureRect Cdecl Alias  "hge_Sprite_SetTextureRect"(ByVal as long,byval as single, byval as single,byval as single,byval as single,ByVal as Integer=1)
Declare Sub      hge_Sprite_SetColor       Cdecl Alias  "hge_Sprite_SetColor"(ByVal as long,ByVal as Dword ,ByVal as integer=-1)
Declare Sub      hge_Sprite_SetZ           Cdecl Alias  "hge_Sprite_SetZ"(ByVal as long, byval as single, ByVal as integer=-1)
Declare Sub      hge_Sprite_SetBlendMode   Cdecl Alias  "hge_Sprite_SetBlendMode"(ByVal as long,ByVal as integer)
Declare Sub      hge_Sprite_SetHotSpot     Cdecl Alias  "hge_Sprite_SetHotSpot"(ByVal as long, byval as single, byval as single)
Declare Sub      hge_Sprite_SetFlip        Cdecl Alias  "hge_Sprite_SetFlip"(ByVal as long,ByVal as integer,ByVal as integer,ByVal as Integer=0)	
Declare Function hge_Sprite_GetTexture     Cdecl Alias  "hge_Sprite_GetTexture" (ByVal as long)As long
Declare Sub      hge_Sprite_GetTextureRect Cdecl Alias  "hge_Sprite_GetTextureRect" (ByVal as long,byref as single,byref as single,byref as single,byref as single) 
Declare Function hge_Sprite_GetColor       Cdecl Alias  "hge_Sprite_GetColor" (ByVal as long,ByVal As integer=0)As dword
Declare Function hge_Sprite_GetZ           Cdecl Alias  "hge_Sprite_GetZ" (ByVal as long,ByVal As integer=0)As single 
Declare Function hge_Sprite_GetBlendMode   Cdecl Alias  "hge_Sprite_GetBlendMode" (ByVal as long)As integer 
Declare Sub      hge_Sprite_GetHotSpot     Cdecl Alias  "hge_Sprite_GetHotSpot" (ByVal as long,byref as single,byref as single) 
Declare Sub      hge_Sprite_GetFlip        Cdecl Alias  "hge_Sprite_GetFlip" (ByVal as long,byref as integer,byref as integer) 
Declare Function hge_Sprite_GetWidth       Cdecl Alias  "hge_Sprite_GetWidth" (ByVal as long)As single 
Declare Function hge_Sprite_GetHeight      Cdecl Alias  "hge_Sprite_GetHeight"(ByVal as long)As single
Declare Function hge_Sprite_GetBoundingBox    Cdecl Alias  "hge_Sprite_GetBoundingBox"(ByVal as Long,byval as single,byval as Single,byval As hgeRect ptr)As hgeRect ptr
Declare Function hge_Sprite_GetBoundingBoxEx  Cdecl Alias  "hge_Sprite_GetBoundingBoxEx"(ByVal as Long,byval as single,byval as Single,byval as Single,byval as Single,byval as Single,ByVal As hgeRect ptr)As hgeRect ptr
'}
'{ hge_ParticleSystem }
Declare Function hge_PartSys            Cdecl Alias  "hge_PartSys"           (ByVal As ZString Ptr,ByVal as long)as long
Declare Function hge_PartSysInfo        Cdecl Alias  "hge_PartSysInfo"       (ByVal psi as hgeParticleSystemInfo)as long
Declare Function hge_PartSysPs          Cdecl Alias  "hge_PartSysPs"         (ByVal as long)as long
Declare Sub      hge_PartSys_Fire       Cdecl Alias  "hge_PartSys_Fire"      (ByVal as long) 
Declare Sub      hge_PartSys_FireAt     Cdecl Alias  "hge_PartSys_FireAt"    (ByVal as Long,ByVal as single,ByVal as single) 
Declare Sub      hge_PartSys_Render     Cdecl Alias  "hge_PartSys_Render"    (ByVal as long) 
Declare Sub      hge_PartSys_Stop       Cdecl Alias  "hge_PartSys_Stop"      (ByVal as Long,ByVal as Integer=0) 
Declare Sub      hge_PartSys_Update     Cdecl Alias  "hge_PartSys_Update"    (ByVal as Long,ByVal as single) 
Declare Sub      hge_PartSys_MoveTo     Cdecl Alias  "hge_PartSys_MoveTo"    (ByVal as Long,ByVal as single,ByVal as single,ByVal as Integer=0) 
Declare Sub      hge_PartSys_Transpose  Cdecl Alias  "hge_PartSys_Transpose" (ByVal as Long,ByVal as single,ByVal as single) 
Declare Sub      hge_PartSys_SetScale   Cdecl Alias  "hge_PartSys_SetScale"  (ByVal as Long,ByVal as single) 
Declare Sub      hge_PartSys_TrackBoundingBox   Cdecl Alias  "hge_PartSys_TrackBoundingBox"  (ByVal as Long,ByVal as integer) 
Declare Function hge_PartSys_GetParticlesAlive  Cdecl Alias  "hge_PartSys_GetParticlesAlive" (ByVal as Long)as Integer 
Declare Function hge_PartSys_GetAge             Cdecl Alias  "hge_PartSys_GetAge" (ByVal as Long)as single 
Declare Sub      hge_PartSys_GetPosition        Cdecl Alias  "hge_PartSys_GetPosition" (ByVal as Long,Byref as single,Byref as single) 
Declare Sub      hge_PartSys_GetTransposition   Cdecl Alias  "hge_PartSys_GetTransposition" (ByVal as Long,Byref as single,Byref as single) 
Declare Function hge_PartSys_GetScale           Cdecl Alias  "hge_PartSys_GetScale" (ByVal as Long)as single 
Declare Function hge_PartSys_GetBoundingBox     Cdecl Alias  "hge_PartSys_GetBoundingBox" (ByVal as Long,ByVal As hgeRect ptr)As hgeRect ptr
Declare Sub      hge_PartSys_GetInfo            Cdecl Alias  "hge_PartSys_GetInfo" (ByVal as Long,Byref psi as hgeParticleSystemInfo) 
Declare Sub      hge_PartSys_SetInfo            Cdecl Alias  "hge_PartSys_SetInfo" (ByVal as Long,ByVal psi as hgeParticleSystemInfo) 
'}
'{ hge_ParticleManager }
Declare Function hge_PartMgr            Cdecl Alias  "hge_PartMgr"           ()as long
Declare Sub      hge_PartMgr_Update     Cdecl Alias  "hge_PartMgr_Update"    (ByVal As Long,ByVal as single) 
Declare Sub      hge_PartMgr_Render     Cdecl Alias  "hge_PartMgr_Render"    (ByVal as Long) 
Declare Function hge_PartMgr_SpawnPS    Cdecl Alias  "hge_PartMgr_SpawnPS"   (ByVal as Long,ByVal psi as hgeParticleSystemInfo,ByVal as single,ByVal as single)as long
Declare Function hge_PartMgr_IsPSAlive  Cdecl Alias  "hge_PartMgr_IsPSAlive" (ByVal as Long,ByVal as Long)as integer
Declare Sub      hge_PartMgr_Transpose  Cdecl Alias  "hge_PartMgr_Transpose" (ByVal as Long,ByVal as single,ByVal as single) 
Declare Sub      hge_PartMgr_GetTransposition  Cdecl Alias  "hge_PartMgr_GetTransposition" (ByVal as Long,Byref as single,Byref as single) 
Declare Sub      hge_PartMgr_KillPS     Cdecl Alias  "hge_PartMgr_KillPS"    (ByVal as Long,ByVal as Long) 
Declare Sub      hge_PartMgr_KillAll    Cdecl Alias  "hge_PartMgr_KillAll"   (ByVal as Long) 
'}
'{ hge_Animation }
Declare Function hge_Animation                Cdecl Alias  "hge_Animation" (ByVal As Dword,ByVal As Integer,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single)As long
Declare Function hge_AnimationAnim            Cdecl Alias  "hge_AnimationAnim" (ByVal As Long)As long
Declare Sub      hge_Animation_Play           Cdecl Alias  "hge_Animation_Play" (ByVal As Long)
Declare Sub      hge_Animation_Stop           Cdecl Alias  "hge_Animation_Stop" (ByVal As Long)
Declare Sub      hge_Animation_Resume         Cdecl Alias  "hge_Animation_Resume" (ByVal As Long)
Declare Sub      hge_Animation_Update         Cdecl Alias  "hge_Animation_Update" (ByVal As Long,ByVal As Single)
Declare Function hge_Animation_IsPlaying      Cdecl Alias  "hge_Animation_IsPlaying" (ByVal As Long)As Integer
Declare Sub      hge_Animation_SetTexture     Cdecl Alias  "hge_Animation_SetTexture" (ByVal As Long,ByVal As Dword)
Declare Sub      hge_Animation_SetTextureRect Cdecl Alias  "hge_Animation_SetTextureRect" (ByVal As Long,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single)
Declare Sub      hge_Animation_SetMode        Cdecl Alias  "hge_Animation_SetMode" (ByVal As Long,ByVal As Integer)
Declare Sub      hge_Animation_SetSpeed       Cdecl Alias  "hge_Animation_SetSpeed" (ByVal As Long,ByVal As Single)
Declare Sub      hge_Animation_SetFrame       Cdecl Alias  "hge_Animation_SetFrame" (ByVal As Long,ByVal As Integer)
Declare Sub      hge_Animation_SetFrames      Cdecl Alias  "hge_Animation_SetFrames" (ByVal As Long,ByVal As Integer) 
Declare Function hge_Animation_GetMode        Cdecl Alias  "hge_Animation_GetMode" (ByVal As Long)As Integer 
Declare Function hge_Animation_GetSpeed       Cdecl Alias  "hge_Animation_GetSpeed" (ByVal As Long)As Single 
Declare Function hge_Animation_GetFrame       Cdecl Alias  "hge_Animation_GetFrame" (ByVal As Long)As Integer
Declare Function hge_Animation_GetFrames      Cdecl Alias  "hge_Animation_GetFrames" (ByVal As Long)As Integer
	
'}
'{ hge_DistortionMesh }
Declare Function hge_DistortionMesh                 Cdecl Alias  "hge_DistortionMesh" (ByVal As Integer,ByVal As Integer)As long
Declare Function hge_DistortionMeshDm               Cdecl Alias  "hge_DistortionMeshDm" (ByVal As Long)As long
Declare Sub      hge_DistortionMesh_Render          Cdecl Alias  "hge_DistortionMesh_Render" (ByVal As Long,ByVal As Single,ByVal As Single)
Declare Sub      hge_DistortionMesh_Clear           Cdecl Alias  "hge_DistortionMesh_Clear" (ByVal As Long,ByVal As dword,ByVal As Single)
Declare Sub      hge_DistortionMesh_SetTexture      Cdecl Alias  "hge_DistortionMesh_SetTexture" (ByVal As Long,ByVal As dword)
Declare Sub      hge_DistortionMesh_SetTextureRect  Cdecl Alias  "hge_DistortionMesh_SetTextureRect" (ByVal As Long,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single)
Declare Sub      hge_DistortionMesh_SetBlendMode    Cdecl Alias  "hge_DistortionMesh_SetBlendMode" (ByVal As Long,ByVal As Integer)
Declare Sub      hge_DistortionMesh_SetZ            Cdecl Alias  "hge_DistortionMesh_SetZ" (ByVal As Long,ByVal As Integer,ByVal As Integer,ByVal As Single)
Declare Sub      hge_DistortionMesh_SetColor        Cdecl Alias  "hge_DistortionMesh_SetColor" (ByVal As Long,ByVal As Integer,ByVal As Integer,ByVal As Dword)
Declare Sub      hge_DistortionMesh_SetDisplacement Cdecl Alias  "hge_DistortionMesh_SetDisplacement" (ByVal As Long,ByVal As Integer,ByVal As Integer,ByVal As Single,ByVal As Single,ByVal As Integer)
Declare Function hge_DistortionMesh_GetTexture      Cdecl Alias  "hge_DistortionMesh_GetTexture" (ByVal As Dword)As dword
Declare Sub      hge_DistortionMesh_GetTextureRect  Cdecl Alias  "hge_DistortionMesh_GetTextureRect" (ByVal As Long,Byref As single,Byref As single,Byref As single,Byref As single)
Declare Function hge_DistortionMesh_GetBlendMode    Cdecl Alias  "hge_DistortionMesh_GetBlendMode" (ByVal As long)As integer
Declare Function hge_DistortionMesh_GetZ            Cdecl Alias  "hge_DistortionMesh_GetZ" (ByVal As Long,ByVal As Integer,ByVal As Integer)As single
Declare Function hge_DistortionMesh_GetColor        Cdecl Alias  "hge_DistortionMesh_GetColor" (ByVal As Long,ByVal As Integer,ByVal As Integer)As dword
Declare Sub      hge_DistortionMesh_GetDisplacement Cdecl Alias  "hge_DistortionMesh_GetDisplacement" (ByVal As Long,ByVal As Integer,ByVal As Integer,Byref As single,Byref As Single,ByVal As Integer)
Declare Function hge_DistortionMesh_GetRows         Cdecl Alias  "hge_DistortionMesh_GetRows" (ByVal As Long)As integer
Declare Function hge_DistortionMesh_GetCols         Cdecl Alias  "hge_DistortionMesh_GetCols" (ByVal As Long)As integer
'}   
'{ hge_ResourceManager }
Declare Function hge_ResMgr                   Cdecl Alias  "hge_ResMgr" (ByVal As ZString ptr)As long
Declare Sub      hge_ResMgr_ChangeScript      Cdecl Alias  "hge_ResMgr_ChangeScript" (ByVal As ZString ptr)
Declare Function hge_ResMgr_Precache          Cdecl Alias  "hge_ResMgr_Precache" (ByVal As integer)As integer
Declare Sub      hge_ResMgr_Purge             Cdecl Alias  "hge_ResMgr_Purge" (ByVal As integer)
Declare Function hge_ResMgr_GetResource       Cdecl Alias  "hge_ResMgr_GetResource" (ByVal As ZString ptr)As long
Declare Function hge_ResMgr_GetTexture        Cdecl Alias  "hge_ResMgr_GetTexture" (ByVal As ZString ptr)As Dword
Declare Function hge_ResMgr_GetEffect         Cdecl Alias  "hge_ResMgr_GetEffect" (ByVal As ZString ptr)As Dword
Declare Function hge_ResMgr_GetMusic          Cdecl Alias  "hge_ResMgr_GetMusic" (ByVal As ZString ptr)As Dword
Declare Function hge_ResMgr_GetStream         Cdecl Alias  "hge_ResMgr_GetStream" (ByVal As ZString ptr)As Dword
Declare Function hge_ResMgr_GetTarget         Cdecl Alias  "hge_ResMgr_GetTarget" (ByVal As ZString ptr)As Dword
Declare Function hge_ResMgr_GetSprite         Cdecl Alias  "hge_ResMgr_GetSprite" (ByVal As ZString ptr)As long
Declare Function hge_ResMgr_GetAnimation      Cdecl Alias  "hge_ResMgr_GetAnimation" (ByVal As ZString ptr)As long
Declare Function hge_ResMgr_GetFont           Cdecl Alias  "hge_ResMgr_GetFont" (ByVal As ZString ptr)As long
Declare Function hge_ResMgr_GetParticleSystem Cdecl Alias  "hge_ResMgr_GetParticleSystem" (ByVal As ZString ptr)As long
Declare Function hge_ResMgr_GetDistortionMesh Cdecl Alias  "hge_ResMgr_GetDistortionMesh" (ByVal As ZString ptr)As long
Declare Function hge_ResMgr_GetStringTable    Cdecl Alias  "hge_ResMgr_GetStringTable" (ByVal As ZString ptr)As long
'}
'{ hge_GUI }
Declare Function hge_GUI                Cdecl Alias  "hge_GUI"           ()As long
Declare Sub      hge_GUI_Delete         Cdecl Alias  "hge_GUI_Delete"    (ByVal as Long)
Declare Sub      hge_GUI_AddCtrl        Cdecl Alias  "hge_GUI_AddCtrl"   (ByVal As long,ByVal As long)
Declare Sub      hge_GUI_DelCtrl        Cdecl Alias  "hge_GUI_DelCtrl"   (ByVal As long,ByVal As integer)
Declare Function hge_GUI_GetCtrl        Cdecl Alias  "hge_GUI_GetCtrl"   (ByVal As long,ByVal As integer)As long
Declare Sub      hge_GUI_MoveCtrl       Cdecl Alias  "hge_GUI_MoveCtrl"  (ByVal As long,ByVal As Integer,ByVal As Single,ByVal As Single)
Declare Sub      hge_GUI_ShowCtrl       Cdecl Alias  "hge_GUI_ShowCtrl"  (ByVal As long,ByVal As Integer,ByVal As Integer)
Declare Sub      hge_GUI_EnableCtrl     Cdecl Alias  "hge_GUI_EnableCtrl"(ByVal As long,ByVal As Integer,ByVal As Integer)
Declare Sub      hge_GUI_SetNavMode     Cdecl Alias  "hge_GUI_SetNavMode"(ByVal As long,ByVal As Integer)
Declare Sub      hge_GUI_SetCursor      Cdecl Alias  "hge_GUI_SetCursor" (ByVal As long,ByVal As long)
Declare Sub      hge_GUI_SetColor       Cdecl Alias  "hge_GUI_SetColor"  (ByVal As long,ByVal As dword)
Declare Sub      hge_GUI_SetFocus       Cdecl Alias  "hge_GUI_SetFocus"  (ByVal As long,ByVal As Integer)
Declare Function hge_GUI_GetFocus       Cdecl Alias  "hge_GUI_GetFocus"  (ByVal As long)As Integer
Declare Sub      hge_GUI_Enter          Cdecl Alias  "hge_GUI_Enter"     (ByVal As long)
Declare Sub      hge_GUI_Leave          Cdecl Alias  "hge_GUI_Leave"     (ByVal As long)
Declare Sub      hge_GUI_Reset          Cdecl Alias  "hge_GUI_Reset"     (ByVal As long)
Declare Sub      hge_GUI_Move           Cdecl Alias  "hge_GUI_Move"      (ByVal As long,ByVal As Single,ByVal As Single)
Declare Function hge_GUI_Update         Cdecl Alias  "hge_GUI_Update"    (ByVal As long,ByVal As single)As integer
Declare Sub      hge_GUI_Render         Cdecl Alias  "hge_GUI_Render"    (ByVal As long)
'}
'{ hge_GUIButton }
Declare Function hge_GUIButton              Cdecl Alias  "hge_GUIButton"           (ByVal As integer,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single, ByVal As dword, ByVal As Single,ByVal As Single)As long
Declare Sub      hge_GUIButton_SetMode      Cdecl Alias  "hge_GUIButton_SetMode"   (ByVal As long,ByVal As integer)
Declare Sub      hge_GUIButton_SetState     Cdecl Alias  "hge_GUIButton_SetState"  (ByVal As long,ByVal As integer)
Declare Function hge_GUIButton_GetState     Cdecl Alias  "hge_GUIButton_GetState"  (ByVal As long)As integer
'}
'{ hge_GUIText }
Declare Function hge_GUIText              Cdecl Alias  "hge_GUIText"             (ByVal As integer,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single, ByVal As long)As long
Declare Sub      hge_GUIText_SetMode      Cdecl Alias  "hge_GUIText_SetMode"     (ByVal As long,ByVal As integer)
Declare Sub      hge_GUIText_SetText      Cdecl Alias  "hge_GUIText_SetText"     (ByVal As long,ByVal As ZString ptr)
'}
'{ hge_GUISlider }
Declare Function hge_GUISlider            Cdecl Alias  "hge_GUISlider"           (ByVal As integer,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single, ByVal As Long,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Integer=0 )As long
Declare Sub      hge_GUISlider_SetMode    Cdecl Alias  "hge_GUISlider_SetMode"   (ByVal As long,ByVal As Single,ByVal As Single,ByVal As integer)
Declare Sub      hge_GUISlider_SetValue   Cdecl Alias  "hge_GUISlider_SetValue"  (ByVal As long,ByVal As Single)
Declare Function hge_GUISlider_GetValue   Cdecl Alias  "hge_GUISlider_GetValue"  (ByVal As long)As single
'}
'{ hge_GUIListbox }
Declare Function hge_GUIListbox                 Cdecl Alias  "hge_GUIListbox"                 (ByVal As integer,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single, ByVal As Long,ByVal As dword,ByVal As dword,ByVal As dword)As long
Declare Function hge_GUIListbox_AddItem         Cdecl Alias  "hge_GUIListbox_AddItem"         (ByVal As long,ByVal As ZString ptr)As integer
Declare Sub      hge_GUIListbox_DeleteItem      Cdecl Alias  "hge_GUIListbox_DeleteItem"      (ByVal As long,ByVal As integer)
Declare Function hge_GUIListbox_GetSelectedItem Cdecl Alias  "hge_GUIListbox_GetSelectedItem" (ByVal As long,ByVal As integer)As integer
Declare Sub      hge_GUIListbox_SetSelectedItem Cdecl Alias  "hge_GUIListbox_SetSelectedItem" (ByVal As long,ByVal As integer)
Declare Function hge_GUIListbox_GetTopItem      Cdecl Alias  "hge_GUIListbox_GetTopItem"      (ByVal As long)As integer
Declare Sub      hge_GUIListbox_SetTopItem      Cdecl Alias  "hge_GUIListbox_SetTopItem"      (ByVal As long,ByVal As integer)
Declare Function hge_GUIListbox_GetItemText     Cdecl Alias  "hge_GUIListbox_GetItemText"     (ByVal As long)As ZString ptr
Declare Function hge_GUIListbox_GetNumItems     Cdecl Alias  "hge_GUIListbox_GetNumItems"     (ByVal As long)As integer
Declare Function hge_GUIListbox_GetNumRows      Cdecl Alias  "hge_GUIListbox_GetNumRows"      (ByVal As long)As integer
Declare Sub      hge_GUIListbox_Clear           Cdecl Alias  "hge_GUIListbox_Clear"           (ByVal As long)
'}
'{ hge_GUIMenuItem }
Declare Function hge_GUIMenuItem  Cdecl Alias  "hge_GUIMenuItem" (ByVal As integer,ByVal As long,ByVal As dword,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As ZString ptr)As long	
'}
'{ hge_StringTable }
Declare Function hge_StringTable               Cdecl Alias  "hge_StringTable"           (ByVal As ZString ptr)As long	
Declare Function hge_StringTable_GetString     Cdecl Alias  "hge_StringTable_GetString" (ByVal As Long,ByVal As ZString ptr)As ZString ptr
'}
'{ hge_hgeRect }
Declare Function hge_Rect               Cdecl Alias  "hge_Rect"            (ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single)As hgeRect ptr	
Declare Sub      hge_Rect_Clear         Cdecl Alias  "hge_Rect_Clear"      (ByVal As hgeRect ptr)
Declare Function hge_Rect_IsClean       Cdecl Alias  "hge_Rect_IsClean"    (ByVal As hgeRect ptr)As Integer 
Declare Sub      hge_Rect_Set           Cdecl Alias  "hge_Rect_Set"        (ByVal As hgeRect ptr,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single)
Declare Sub      hge_Rect_SetRadius     Cdecl Alias  "hge_Rect_SetRadius"  (ByVal As hgeRect ptr,Byref As Single,Byref As Single,Byref As Single)
Declare Sub      hge_Rect_Encapsulate   Cdecl Alias  "hge_Rect_Encapsulate"(ByVal As hgeRect ptr,ByVal As Single,ByVal As Single)
Declare Function hge_Rect_TestPoint     Cdecl Alias  "hge_Rect_TestPoint"  (ByVal As hgeRect ptr,ByVal As Single,ByVal As Single)As Integer 
Declare Function hge_Rect_Intersect     Cdecl Alias  "hge_Rect_Intersect"  (ByVal As hgeRect ptr,ByVal As ZString ptr)As Integer 
'}
'{ hge_Vector }
Declare Function hge_Vector             Cdecl Alias  "hge_Vector"          ()As hgeVector ptr	
Declare Function hge_VectorXY           Cdecl Alias  "hge_VectorXY"        (ByVal As Single,ByVal As Single)As hgeVector ptr	
Declare Function hge_Vector_Dot         Cdecl Alias  "hge_Vector_Dot"      (ByVal As hgeVector ptr,ByVal As hgeVector ptr)As Single 
Declare Function hge_Vector_Length      Cdecl Alias  "hge_Vector_Length"   (ByVal As hgeVector ptr)As Single 
Declare Function hge_Vector_Angle       Cdecl Alias  "hge_Vector_Angle"    (ByVal As hgeVector ptr)As Single 
Declare Sub      hge_Vector_Clamp       Cdecl Alias  "hge_Vector_Clamp"    (ByVal As hgeVector ptr,ByVal As Single) 
Declare Function hge_Vector_Normalize   Cdecl Alias  "hge_Vector_Normalize"(ByVal As hgeVector ptr)As hgeVector ptr	
Declare Function hge_Vector_Rotate      Cdecl Alias  "hge_Vector_Rotate"   (ByVal As hgeVector ptr,ByVal As Single)As hgeVector ptr	
'}
'{ hge_Px }
Declare Function Ph_CreateWorld         Cdecl Alias  "Ph_CreateWorld"         (ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Integer)As long	
Declare Sub      Ph_DeleteWorld         Cdecl Alias  "Ph_DeleteWorld"         (ByVal As long)	
Declare Sub      Ph_WorldStep           Cdecl Alias  "Ph_WorldStep"           (ByVal As long,ByVal As Single)

Declare Function Ph_CreateCircleBody    Cdecl Alias  "Ph_CreateCircleBody"    (ByVal As long,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single)As long	
Declare Function Ph_CreateBoxBody       Cdecl Alias  "Ph_CreateBoxBody"       (ByVal As long,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single)As long	

Declare Sub      Ph_SetPosBody          Cdecl Alias  "Ph_SetPosBody"          (ByVal As long,ByVal As Single,ByVal As Single)
Declare Sub      Ph_SetAngleBody        Cdecl Alias  "Ph_SetAngleBody"        (ByVal As Long,ByVal As Single)
Declare Function Ph_GetBodyX            Cdecl Alias  "Ph_GetBodyX"            (ByVal As long)As single	
Declare Function Ph_GetBodyY            Cdecl Alias  "Ph_GetBodyY"            (ByVal As long)As single	
Declare Function Ph_GetBodyAngle        Cdecl Alias  "Ph_GetBodyAngle"        (ByVal As long)As single	
Declare Sub      Ph_SetAngularVelocity  Cdecl Alias  "Ph_SetAngularVelocity"  (ByVal As long,ByVal As Single)
Declare Sub      Ph_SetLinearVelocity   Cdecl Alias  "Ph_SetLinearVelocity"   (ByVal As long,ByVal As Single,ByVal As Single)
Declare Sub      Ph_ApplyTorqueBody     Cdecl Alias  "Ph_ApplyTorqueBody"     (ByVal As long,ByVal As Single)
Declare Sub      Ph_ApplyForceBody      Cdecl Alias  "Ph_ApplyForceBody"      (ByVal As long,ByVal As Single,ByVal As Single,ByVal As Single,ByVal As Single)

Declare Function Ph_CreateRevoluteJoint Cdecl Alias  "Ph_CreateRevoluteJoint" (ByVal As Long,ByVal As Long,ByVal As Long,ByVal As Single,ByVal As Single)As long	
Declare Sub      Ph_SetJointMotorSpeed  Cdecl Alias  "Ph_SetJointMotorSpeed"  (ByVal As long,ByVal As Single)
Declare Sub      Ph_SetJointMotorForce  Cdecl Alias  "Ph_SetJointMotorForce"  (ByVal As long,ByVal As Single)

'}


