#ifndef FUNCTIONMINE_H_INCLUDED
#define FUNCTIONMINE_H_INCLUDED

/* discovered by JMN */
TYPE_DoFlareInHand DoFlareInHand = (TYPE_DoFlareInHand)0x42F270;
TYPE_S_DisplayMonoScreen S_DisplayMonoScreen = (TYPE_S_DisplayMonoScreen)0x4786C0;
TYPE_phd_LookAt phd_LookAt = (TYPE_phd_LookAt)0x48DD90;
TYPE_phd_GetVectorAngles phd_GetVectorAngles = (TYPE_phd_GetVectorAngles)0x48E710;
TYPE_phd_GenerateW2V phd_GenerateW2V = (TYPE_phd_GenerateW2V)0x48DA40;
TYPE_phd_TranslateRel phd_TranslateRel = (TYPE_phd_TranslateRel)0x48DFD0;
TYPE_phd_pushUnitMatrix phd_pushUnitMatrix = (TYPE_phd_pushUnitMatrix)0x48DF90;
TYPE_AddFootprint AddFootprint = (TYPE_AddFootprint)0x437790;
TYPE_phd_RotX phd_RotX = (TYPE_phd_RotX)0x48E080;
TYPE_phd_RotZ phd_RotZ = (TYPE_phd_RotZ)0x48E1E0;
TYPE_gar_RotYXZsuperpack gar_RotYXZsuperpack = (TYPE_gar_RotYXZsuperpack)0x44FE00;
TYPE_phd_RotYXZpack phd_RotYXZpack = (TYPE_phd_RotYXZpack)0x48E290;
TYPE_DrawGameInfo DrawGameInfo = (TYPE_DrawGameInfo)0x4521C0;
TYPE_DrawPickups DrawPickups = (TYPE_DrawPickups)0x452480;
TYPE_InitialisePickUpDisplay InitialisePickUpDisplay = (TYPE_InitialisePickUpDisplay)0x452440;
TYPE_S_DrawPickup S_DrawPickup = (TYPE_S_DrawPickup)0x47D8F0;
TYPE_phd_PutPolygons phd_PutPolygons = (TYPE_phd_PutPolygons)0x47BB30;
TYPE_phd_PutPolygonsInv phd_PutPolygonsInv = (TYPE_phd_PutPolygonsInv)0x47C950;
TYPE_S_PrintShadow S_PrintShadow = (TYPE_S_PrintShadow)0x485480;
TYPE_DrawRooms DrawRooms = (TYPE_DrawRooms)0x44E2C0;
TYPE_DrawAnimatingItem DrawAnimatingItem = (TYPE_DrawAnimatingItem)0x44F600;
TYPE_CalculateObjectLighting CalculateObjectLighting = (TYPE_CalculateObjectLighting)0x450240;
TYPE_CalculateObjectLightingLara CalculateObjectLightingLara = (TYPE_CalculateObjectLightingLara)0x450340;
TYPE_GetLaraJointPos GetLaraJointPos = (TYPE_GetLaraJointPos)0x41D890;
TYPE_UpdateTextPulse UpdateTextPulse = (TYPE_UpdateTextPulse)0x462AE0;
TYPE_use_current_item use_current_item = (TYPE_use_current_item)0x43E090;
TYPE_ShowSaveScreen ShowSaveScreen = (TYPE_ShowSaveScreen)0x47AE70;
TYPE_DoStatScreen DoStatScreen = (TYPE_DoStatScreen)0x47A830;
TYPE_DoOptions DoOptions = (TYPE_DoOptions)0x479300;
TYPE_S_PauseMenu S_PauseMenu = (TYPE_S_PauseMenu)0x47ADB0;
TYPE_InitWaterTable InitWaterTable = (TYPE_InitWaterTable)0x475390;
TYPE_AnimateLara AnimateLara = (TYPE_AnimateLara)0x4306D0;
TYPE_DrawLara DrawLara = (TYPE_DrawLara)0x41D030;
TYPE_PlayLevel PlayLevel = (TYPE_PlayLevel)0x451CF0;
TYPE_ShowInventory ShowInventory = (TYPE_ShowInventory)0x43B0F0;

/* discovered by AODfan */
TYPE_phd_atan phd_atan = (TYPE_phd_atan)0x48DE90;
TYPE_AlertAllGuards AlertAllGuards = (TYPE_AlertAllGuards)0x441D10;
TYPE_CreatureTilt CreatureTilt = (TYPE_CreatureTilt)0x4416B0;
TYPE_CreatureJoint CreatureJoint = (TYPE_CreatureJoint)0x4416F0;
TYPE_CreatureAnimation CreatureAnimation = (TYPE_CreatureAnimation)0x4409F0;
TYPE_CreatureTurn CreatureTurn = (TYPE_CreatureTurn)0x441430;
TYPE_CreatureUnderwater CreatureUnderwater = (TYPE_CreatureUnderwater)0x441850;
TYPE_CreatureFloat CreatureFloat = (TYPE_CreatureFloat)0x441750;
TYPE_ValidBox ValidBox = (TYPE_ValidBox)0x43FB20;
TYPE_EscapeBox EscapeBox = (TYPE_EscapeBox)0x43FA70;
TYPE_InitialiseCreature InitialiseCreature = (TYPE_InitialiseCreature)0x43F330;
TYPE_CreatureVault CreatureVault = (TYPE_CreatureVault)0x4419A0;
TYPE_AlertNearbyGuards AlertNearbyGuards = (TYPE_AlertNearbyGuards)0x441D90;
TYPE_CreateEffect CreateEffect = (TYPE_CreateEffect)0x453DD0;
TYPE_GunHit GunHit = (TYPE_GunHit)0x40AFA0;
TYPE_GunMiss GunMiss = (TYPE_GunMiss)0x40B060;

/* discovered by ChocolateFan */
TYPE_SeedRandomControl SeedRandomControl = (TYPE_SeedRandomControl)0x48EB90;
TYPE_S_DrawHealthBar S_DrawHealthBar = (TYPE_S_DrawHealthBar)0x47B590;
TYPE_SayNo SayNo = (TYPE_SayNo)0x45ECB0;
TYPE_TriggerBlood TriggerBlood = (TYPE_TriggerBlood)0x4388E0;
TYPE_SeedRandomDraw SeedRandomDraw = (TYPE_SeedRandomDraw)0x48EBA0;
TYPE_RemoveDrawnItem RemoveDrawnItem = (TYPE_RemoveDrawnItem)0x453B70;
TYPE_ExplodeFX ExplodeFX = (TYPE_ExplodeFX)0x409110;
TYPE_TriggerUnderwaterBlood TriggerUnderwaterBlood = (TYPE_TriggerUnderwaterBlood)0x435650;
TYPE_S_DrawDashBar S_DrawDashBar = (TYPE_S_DrawDashBar)0x47B510;
TYPE_S_DrawAirBar S_DrawAirBar = (TYPE_S_DrawAirBar)0x47B550;
TYPE_S_DrawLoadBar S_DrawLoadBar = (TYPE_S_DrawLoadBar)0x47B600;
TYPE_GetFreeBubble GetFreeBubble = (TYPE_GetFreeBubble)0x439150;
TYPE_CreateFlare CreateFlare = (TYPE_CreateFlare)0x42F400;
TYPE_GetFreeBlood GetFreeBlood = (TYPE_GetFreeBlood)0x438710;
TYPE_GetFreeDrip GetFreeDrip = (TYPE_GetFreeDrip)0x4398A0;
TYPE_TriggerLaraDrips TriggerLaraDrips = (TYPE_TriggerLaraDrips)0x439A10;
TYPE_LaraBubbles LaraBubbles = (TYPE_LaraBubbles)0x439250;
TYPE_ChaseCamera ChaseCamera = (TYPE_ChaseCamera)0x442DA0;
TYPE_CombatCamera CombatCamera = (TYPE_CombatCamera)0x443210;
TYPE_LookCamera LookCamera = (TYPE_LookCamera)0x443690;
TYPE_FixedCamera FixedCamera = (TYPE_FixedCamera)0x443FA0;
TYPE_CalculateCamera CalculateCamera = (TYPE_CalculateCamera)0x444040;
TYPE_BinocularCamera BinocularCamera = (TYPE_BinocularCamera)0x444AC0;
TYPE_ObjectCollision ObjectCollision = (TYPE_ObjectCollision)0x446D60;
TYPE_DrawHair DrawHair = (TYPE_DrawHair)0x420750;
TYPE_DrawGunflashes DrawGunflashes = (TYPE_DrawGunflashes)0x439590;
TYPE_EffectNewRoom EffectNewRoom = (TYPE_EffectNewRoom)0x453F60;
TYPE_DrawFlareInAir DrawFlareInAir = (TYPE_DrawFlareInAir)0x42F330;
TYPE_draw_flare_meshes draw_flare_meshes = (TYPE_draw_flare_meshes)0x42FA90;
TYPE_undraw_flare_meshes undraw_flare_meshes = (TYPE_undraw_flare_meshes)0x42FAB0;
TYPE_ready_flare ready_flare = (TYPE_ready_flare)0x42FAD0;
TYPE_FlareControl FlareControl = (TYPE_FlareControl)0x42FB10;
TYPE_InitialiseItemArray InitialiseItemArray = (TYPE_InitialiseItemArray)0x453630;
TYPE_InitialiseFXArray InitialiseFXArray = (TYPE_InitialiseFXArray)0x453D80;
TYPE_InitialiseHair InitialiseHair = (TYPE_InitialiseHair)0x41FC20;
TYPE_DrawGunshells DrawGunshells = (TYPE_DrawGunshells)0x438F80;
TYPE_InitialiseFunctionTable InitialiseFunctionTable = (TYPE_InitialiseFunctionTable)0x474C60;
TYPE_DoGameflow DoGameflow = (TYPE_DoGameflow)0x450DB0;
TYPE_GameClose GameClose = (TYPE_GameClose)0x4752D0;
TYPE_do_boot_screen do_boot_screen = (TYPE_do_boot_screen)0x47E910;
TYPE_PrintObjects PrintObjects = (TYPE_PrintObjects)0x44E9E0;
TYPE_DrawLaserSightSprite DrawLaserSightSprite = (TYPE_DrawLaserSightSprite)0x487700;
TYPE_SetUpLensFlare SetUpLensFlare = (TYPE_SetUpLensFlare)0x4899C0;
TYPE_DrawLensFlares DrawLensFlares = (TYPE_DrawLensFlares)0x43AF80;
TYPE_DoWeather DoWeather = (TYPE_DoWeather)0x4885D0;
TYPE_DoUwEffect DoUwEffect = (TYPE_DoUwEffect)0x437F90;
TYPE_DrawBubbles DrawBubbles = (TYPE_DrawBubbles)0x483F20;
TYPE_S_DrawSplashes S_DrawSplashes = (TYPE_S_DrawSplashes)0x484280;
TYPE_DrawDebris DrawDebris = (TYPE_DrawDebris)0x487940;
TYPE_DrawBlood DrawBlood = (TYPE_DrawBlood)0x487E70;
TYPE_DrawDrips DrawDrips = (TYPE_DrawDrips)0x4881D0;
TYPE_DrawShockwaves DrawShockwaves = (TYPE_DrawShockwaves)0x48A860;
TYPE_DrawLightning DrawLightning = (TYPE_DrawLightning)0x48B760;
TYPE_FlashIt FlashIt = (TYPE_FlashIt)0x452190;
TYPE_TriggerTorchFlame TriggerTorchFlame = (TYPE_TriggerTorchFlame)0x41F240;
TYPE_DrawHealthBar DrawHealthBar = (TYPE_DrawHealthBar)0x4522D0;
TYPE_DrawAirBar DrawAirBar = (TYPE_DrawAirBar)0x452390;
TYPE_SetLaraUnderwaterNodes SetLaraUnderwaterNodes = (TYPE_SetLaraUnderwaterNodes)0x41F130;
TYPE_S_AnimateTextures S_AnimateTextures = (TYPE_S_AnimateTextures)0x47E090;
TYPE_CalcLaraMatrices CalcLaraMatrices = (TYPE_CalcLaraMatrices)0x41CF00;
TYPE_DrawPhaseGame DrawPhaseGame = (TYPE_DrawPhaseGame)0x44E250;
TYPE_RegeneratePickups RegeneratePickups = (TYPE_RegeneratePickups)0x456AC0;
TYPE_UpdateBubbles UpdateBubbles = (TYPE_UpdateBubbles)0x439310;
TYPE_UpdateSplashes UpdateSplashes = (TYPE_UpdateSplashes)0x435440;
TYPE_UpdateDebris UpdateDebris = (TYPE_UpdateDebris)0x432DC0;
TYPE_UpdateBlood UpdateBlood = (TYPE_UpdateBlood)0x438780;
TYPE_UpdateDrips UpdateDrips = (TYPE_UpdateDrips)0x439910;
TYPE_UpdateGunShells UpdateGunShells = (TYPE_UpdateGunShells)0x438D10;
TYPE_UpdateShockwaves UpdateShockwaves = (TYPE_UpdateShockwaves)0x43A6A0;
TYPE_UpdateLightning UpdateLightning = (TYPE_UpdateLightning)0x43A910;
TYPE_AnimateWaterfalls AnimateWaterfalls = (TYPE_AnimateWaterfalls)0x4558B0;
TYPE_UpdateBeetles UpdateBeetles = (TYPE_UpdateBeetles)0x40E2F0;
TYPE_UpdateFish UpdateFish = (TYPE_UpdateFish)0x403850;
TYPE_DrawFish DrawFish = (TYPE_DrawFish)0x403BF0;
TYPE_DrawBeetles DrawBeetles = (TYPE_DrawBeetles)0x40E550;
TYPE_UpdateSky UpdateSky = (TYPE_UpdateSky)0x448A90;
TYPE_ControlTriggerTriggerer ControlTriggerTriggerer = (TYPE_ControlTriggerTriggerer)0x4557F0;
TYPE_TestTriggersAtXYZ TestTriggersAtXYZ = (TYPE_TestTriggersAtXYZ)0x460E80;
TYPE_remove_inventory_item remove_inventory_item = (TYPE_remove_inventory_item)0x43E850;
TYPE_DEL_picked_up_object DEL_picked_up_object = (TYPE_DEL_picked_up_object)0x43E380;
TYPE_LavaBurn LavaBurn = (TYPE_LavaBurn)0x414DE0;
TYPE_GetDoor GetDoor = (TYPE_GetDoor)0x44B1B0;
TYPE_PickUpCollision PickUpCollision = (TYPE_PickUpCollision)0x456B90;
TYPE_InitialiseObjects InitialiseObjects = (TYPE_InitialiseObjects)0x45B4A0;
TYPE_BaddyObjects BaddyObjects = (TYPE_BaddyObjects)0x45B5B0;
TYPE_ObjectObjects ObjectObjects = (TYPE_ObjectObjects)0x45D480;
TYPE_TrapObjects TrapObjects = (TYPE_TrapObjects)0x45CED0;
TYPE_InitialiseEffects InitialiseEffects = (TYPE_InitialiseEffects)0x452DA0;
TYPE_TargetVisible TargetVisible = (TYPE_TargetVisible)0x0040ADF0;
TYPE_FindAITargetObject FindAITargetObject = (TYPE_FindAITargetObject)0x00442220;

/* discovered by TokyoSU */
TYPE_LaraTargetInfo LaraTargetInfo = (TYPE_LaraTargetInfo)0x0042DB10;
TYPE_LaraGetNewTarget LaraGetNewTarget = (TYPE_LaraGetNewTarget)0x0042DCA0;
TYPE_AimWeapon AimWeapon = (TYPE_AimWeapon)0x0042E0F0;
TYPE_FireWeapon FireWeapon = (TYPE_FireWeapon)0x0042E1C0;
TYPE_TriggerGunShell TriggerGunShell = (TYPE_TriggerGunShell)0x00438AD0;
TYPE_TriggerDynamic_Mirror TriggerDynamic_Mirror = (TYPE_TriggerDynamic_Mirror)0x00435CA0;
TYPE_set_arm_info set_arm_info = (TYPE_set_arm_info)0x0042B420;
TYPE_AnimatePistols AnimatePistols = (TYPE_AnimatePistols)0x0042BA60;
TYPE_AnimateShotgun AnimateShotgun = (TYPE_AnimateShotgun)0x0042AD50;
TYPE_CreatureAIInfo CreatureAIInfo = (TYPE_CreatureAIInfo)0x0043F3E0;
TYPE_UpdateLOT UpdateLOT = (TYPE_UpdateLOT)0x0043F760;
TYPE_GetCreatureMood GetCreatureMood = (TYPE_GetCreatureMood)0x0043FBD0;
TYPE_CreatureMood CreatureMood = (TYPE_CreatureMood)0x0043FE10;
TYPE_CreatureCreature CreatureCreature = (TYPE_CreatureCreature)0x00440670;
TYPE_BadFloor BadFloor = (TYPE_BadFloor)0x00440790;
TYPE_Targetable Targetable = (TYPE_Targetable)0x0040AEC0;
TYPE_ShotLara ShotLara = (TYPE_ShotLara)0x0040B110;
TYPE_GetFrames GetFrames = (TYPE_GetFrames)0x00450450;
TYPE_InitInterpolate InitInterpolate = (TYPE_InitInterpolate)0x0044FBC0;
TYPE_phd_TranslateRel_ID phd_TranslateRel_ID = (TYPE_phd_TranslateRel_ID)0x0044FD30;
TYPE_gar_RotYXZsuperpack_I gar_RotYXZsuperpack_I = (TYPE_gar_RotYXZsuperpack_I)0x0044FDC0;
TYPE_phd_PutPolygons_I phd_PutPolygons_I = (TYPE_phd_PutPolygons_I)0x0044FEA0;
TYPE_phd_PushMatrix_I phd_PushMatrix_I = (TYPE_phd_PushMatrix_I)0x0044FC30;
TYPE_phd_TranslateRel_I phd_TranslateRel_I = (TYPE_phd_TranslateRel_I)0x0044FCF0;
TYPE_GetFreeSmokeSparks GetFreeSmokeSparks = (TYPE_GetFreeSmokeSparks)0x004380C0;
TYPE_ShotFire ShotFire = (TYPE_ShotFire)0x0043EDC0;
TYPE_GetFreeFireSparks GetFreeFireSparks = (TYPE_GetFreeFireSparks)0x004378A0;
TYPE_CreateItem CreateItem = (TYPE_CreateItem)0x00453840;
TYPE_InitialiseItem InitialiseItem = (TYPE_InitialiseItem)0x00453890;
TYPE_game_malloc game_malloc = (TYPE_game_malloc)0x0048EBF0;
TYPE_phd_RotY_I phd_RotY_I = (TYPE_phd_RotY_I)0x0044FC60;
TYPE_phd_RotX_I phd_RotX_I = (TYPE_phd_RotX_I)0x0044FC90;
TYPE_phd_RotZ_I phd_RotZ_I = (TYPE_phd_RotZ_I)0x0044FCC0;
TYPE_Richochet Richochet = (TYPE_Richochet)0x00436B90;
TYPE_TriggerRichochetSparks TriggerRichochetSparks = (TYPE_TriggerRichochetSparks)0x00433ED0;
TYPE_phd_PopMatrix_I phd_PopMatrix_I = (TYPE_phd_PopMatrix_I)0x0044FC00;
TYPE_swap_meshes_with_meshswap1 swap_meshes_with_meshswap1 = (TYPE_swap_meshes_with_meshswap1)0x004375B0;
TYPE_swap_meshes_with_meshswap2 swap_meshes_with_meshswap2 = (TYPE_swap_meshes_with_meshswap2)0x00437610;
TYPE_swap_meshes_with_meshswap3 swap_meshes_with_meshswap3 = (TYPE_swap_meshes_with_meshswap3)0x00437670;
TYPE_CreatureEffect CreatureEffect = (TYPE_CreatureEffect)0x004418E0;
TYPE_CreatureEffectT CreatureEffectT = (TYPE_CreatureEffectT)0x00441940;
TYPE_CreatureKill CreatureKill = (TYPE_CreatureKill)0x00441B40;
TYPE_CreatureCollision CreatureCollision = (TYPE_CreatureCollision)0x00446BE0;
TYPE_AIGuard AIGuard = (TYPE_AIGuard)0x00441E30;
TYPE_GetAITarget GetAITarget = (TYPE_GetAITarget)0x00441EE0;
TYPE_ExplodingDeath ExplodingDeath = (TYPE_ExplodingDeath)0x0043A030;
TYPE_ClearLOT ClearLOT = (TYPE_ClearLOT)0x00454C60;
TYPE_CreateZone CreateZone = (TYPE_CreateZone)0x00454B50;
TYPE_GetFreeSparks GetFreeSparks = (TYPE_GetFreeSparks)0x00433830;
TYPE_phd_sqrt phd_sqrt = (TYPE_phd_sqrt)0x0048DF00;
TYPE_GetRandomDraw GetRandomDraw = (TYPE_GetRandomDraw)0x0048EB70;
TYPE_CalculateTarget CalculateTarget = (TYPE_CalculateTarget)0x00440220;
TYPE_TargetBox TargetBox = (TYPE_TargetBox)0x0043F9D0;
TYPE_StalkBox StalkBox = (TYPE_StalkBox)0x00440120;
TYPE_find_target_point find_target_point = (TYPE_find_target_point)0x0042E030;
TYPE_phd_RotYXZ_I phd_RotYXZ_I = (TYPE_phd_RotYXZ_I)0x0044FD80;
TYPE_LaraGun LaraGun = (TYPE_LaraGun)0x0042D430;
TYPE_LaraBaddieCollision LaraBaddieCollision = (TYPE_LaraBaddieCollision)0x00446940;
TYPE_LookLeftRight LookLeftRight = (TYPE_LookLeftRight)0x004289F0;
TYPE_ResetLook ResetLook = (TYPE_ResetLook)0x00428850;
TYPE_LookUpDown LookUpDown = (TYPE_LookUpDown)0x004288F0;
TYPE_GetSpheres GetSpheres = (TYPE_GetSpheres)0x0045EE70;
TYPE_xLOS xLOS = (TYPE_xLOS)0x0044B300;
TYPE_zLOS zLOS = (TYPE_zLOS)0x0044B650;
TYPE_ControlPhase ControlPhase = (TYPE_ControlPhase)0x00448B10;
TYPE_RemoveRoomFlipItems RemoveRoomFlipItems = (TYPE_RemoveRoomFlipItems)0x0044BCF0;
TYPE_AddRoomFlipItems AddRoomFlipItems = (TYPE_AddRoomFlipItems)0x0044BD70;
TYPE_ClipTarget ClipTarget = (TYPE_ClipTarget)0x0044B9A0;
TYPE_CheckHitTarget CheckHitTarget = (TYPE_CheckHitTarget)0x0044CF10;
TYPE_HitTarget HitTarget = (TYPE_HitTarget)0x0042E490;
TYPE_InitialiseNewWeapons InitialiseNewWeapons = (TYPE_InitialiseNewWeapons)0x0042D9E0;
TYPE_draw_pistols draw_pistols = (TYPE_draw_pistols)0x0042B370;
TYPE_undraw_pistols undraw_pistols = (TYPE_undraw_pistols)0x0042B4A0;
TYPE_draw_shotgun draw_shotgun = (TYPE_draw_shotgun)0x0042AAB0;
TYPE_undraw_shotgun undraw_shotgun = (TYPE_undraw_shotgun)0x0042AC40;
TYPE_set_flare_arm set_flare_arm = (TYPE_set_flare_arm)0x0042F680;
TYPE_CheckForHoldingState CheckForHoldingState = (TYPE_CheckForHoldingState)0x0042D9B0;
TYPE_GetCurrentAmmo GetCurrentAmmo = (TYPE_GetCurrentAmmo)0x0042F010;

/* discovered by Krystian */
TYPE_TestLaraSlide TestLaraSlide = (TYPE_TestLaraSlide)0x420CD0;
TYPE_LaraSlideSlope LaraSlideSlope = (TYPE_LaraSlideSlope)0x428150;
TYPE_GetLaraCollisionInfo GetLaraCollisionInfo = (TYPE_GetLaraCollisionInfo)0x422180;
TYPE_LaraHitCeiling LaraHitCeiling = (TYPE_LaraHitCeiling)0x4221C0;
TYPE_LaraDeflectEdge LaraDeflectEdge = (TYPE_LaraDeflectEdge)0x422230;
TYPE_TestLaraVault TestLaraVault = (TYPE_TestLaraVault)0x4222B0;
TYPE_TestWall TestWall = (TYPE_TestWall)0x4226F0;
TYPE_LaraCollideStop LaraCollideStop = (TYPE_LaraCollideStop)0x4227F0;
TYPE_LaraFallen LaraFallen = (TYPE_LaraFallen)0x420E10;
TYPE_GetCollisionInfo GetCollisionInfo = (TYPE_GetCollisionInfo)0x445920;
TYPE_ShiftItem ShiftItem = (TYPE_ShiftItem)0x446700;
TYPE_GetChange GetChange = (TYPE_GetChange)0x4496B0;
TYPE_TranslateItem TranslateItem = (TYPE_TranslateItem)0x449750;

///* ============================================================== */
///                     LARA CONTROL ROUTINES                       //
///* ============================================================== */
TYPE_lara_as_walk lara_as_walk = (TYPE_lara_as_walk)0x004258A0;
TYPE_lara_as_run lara_as_run = (TYPE_lara_as_run)0x00425940;
TYPE_lara_as_stop lara_as_stop = (TYPE_lara_as_stop)0x00424840;
TYPE_lara_as_forwardjump lara_as_forwardjump = (TYPE_lara_as_forwardjump)0x00425260;
TYPE_lara_as_fastback lara_as_fastback = (TYPE_lara_as_fastback)0x00425AF0;
TYPE_lara_as_turn_r lara_as_turn_r = (TYPE_lara_as_turn_r)0x00425B50;
TYPE_lara_as_turn_l lara_as_turn_l = (TYPE_lara_as_turn_l)0x00425BF0;
TYPE_lara_as_death lara_as_death = (TYPE_lara_as_death)0x00425C90;
TYPE_lara_as_fastfall lara_as_fastfall = (TYPE_lara_as_fastfall)0x00425CE0;
TYPE_lara_as_hang lara_as_hang = (TYPE_lara_as_hang)0x00425D30;
TYPE_lara_as_reach lara_as_reach = (TYPE_lara_as_reach)0x00425410;
TYPE_lara_as_splat lara_as_splat = (TYPE_lara_as_splat)0x00426C30;
TYPE_lara_as_tread lara_as_tread = (TYPE_lara_as_tread)0x00432300;
TYPE_lara_as_compress lara_as_compress = (TYPE_lara_as_compress)0x00426C40;
TYPE_lara_as_back lara_as_back = (TYPE_lara_as_back)0x00426D50;
TYPE_lara_as_swim lara_as_swim = (TYPE_lara_as_swim)0x00432180;
TYPE_lara_as_glide lara_as_glide = (TYPE_lara_as_glide)0x00432280;
TYPE_lara_as_null lara_as_null = (TYPE_lara_as_null)0x00426DE0;
TYPE_lara_as_fastturn lara_as_fastturn = (TYPE_lara_as_fastturn)0x00426DF0;
TYPE_lara_as_stepright lara_as_stepright = (TYPE_lara_as_stepright)0x00426E30;
TYPE_lara_as_stepleft lara_as_stepleft = (TYPE_lara_as_stepleft)0x00426EC0;
TYPE_lara_as_slide lara_as_slide = (TYPE_lara_as_slide)0x00426F50;
TYPE_lara_as_backjump lara_as_backjump = (TYPE_lara_as_backjump)0x00426F80;
TYPE_lara_as_rightjump lara_as_rightjump = (TYPE_lara_as_rightjump)0x00426FD0;
TYPE_lara_as_leftjump lara_as_leftjump = (TYPE_lara_as_leftjump)0x00427010;
TYPE_lara_as_upjump lara_as_upjump = (TYPE_lara_as_upjump)0x00424EF0;
TYPE_lara_as_fallback lara_as_fallback = (TYPE_lara_as_fallback)0x00427050;
TYPE_lara_as_hangleft lara_as_hangleft = (TYPE_lara_as_hangleft)0x004268D0;
TYPE_lara_as_hangright lara_as_hangright = (TYPE_lara_as_hangright)0x00426950;
TYPE_lara_as_slideback lara_as_slideback = (TYPE_lara_as_slideback)0x00427080;
TYPE_lara_as_surftread lara_as_surftread = (TYPE_lara_as_surftread)0x00431940;
TYPE_lara_as_surfswim lara_as_surfswim = (TYPE_lara_as_surfswim)0x004317B0;
TYPE_lara_as_dive lara_as_dive = (TYPE_lara_as_dive)0x00432390;
TYPE_lara_as_pushblock lara_as_pushblock = (TYPE_lara_as_pushblock)0x004270A0;
TYPE_lara_as_pullblock lara_as_pullblock = (TYPE_lara_as_pullblock)0x004270D0;
TYPE_lara_as_ppready lara_as_ppready = (TYPE_lara_as_ppready)0x00427100;
TYPE_lara_as_pickup lara_as_pickup = (TYPE_lara_as_pickup)0x00427130;
TYPE_lara_as_switchon lara_as_switchon = (TYPE_lara_as_switchon)0x004271C0;
//TYPE_lara_as_switchoff // not exist !
TYPE_lara_as_usekey lara_as_usekey = (TYPE_lara_as_usekey)0x00427200;
TYPE_lara_as_usepuzzle lara_as_usepuzzle = (TYPE_lara_as_usepuzzle)0x00427230;
TYPE_lara_as_uwdeath lara_as_uwdeath = (TYPE_lara_as_uwdeath)0x004323B0;
TYPE_lara_as_special lara_as_special = (TYPE_lara_as_special)0x004272B0;
TYPE_lara_as_surfback lara_as_surfback = (TYPE_lara_as_surfback)0x00431820;
TYPE_lara_as_surfleft lara_as_surfleft = (TYPE_lara_as_surfleft)0x00431880;
TYPE_lara_as_surfright lara_as_surfright = (TYPE_lara_as_surfright)0x004318E0;
TYPE_lara_as_swandive lara_as_swandive = (TYPE_lara_as_swandive)0x004272D0;
TYPE_lara_as_fastdive lara_as_fastdive = (TYPE_lara_as_fastdive)0x00427310;
TYPE_lara_as_waterout lara_as_waterout = (TYPE_lara_as_waterout)0x00427370;
TYPE_lara_as_climbstnc lara_as_climbstnc = (TYPE_lara_as_climbstnc)0x0042C2E0;
TYPE_lara_as_climbing lara_as_climbing = (TYPE_lara_as_climbing)0x0042D070;
TYPE_lara_as_climbleft lara_as_climbleft = (TYPE_lara_as_climbleft)0x0042C880;
TYPE_lara_as_climbend lara_as_climbend = (TYPE_lara_as_climbend)0x0042D3A0;
TYPE_lara_as_climbright lara_as_climbright = (TYPE_lara_as_climbright)0x0042CFD0;
TYPE_lara_as_climbdown lara_as_climbdown = (TYPE_lara_as_climbdown)0x0042D1E0;
TYPE_lara_as_wade lara_as_wade = (TYPE_lara_as_wade)0x00427390;
TYPE_lara_as_waterroll lara_as_waterroll = (TYPE_lara_as_waterroll)0x00432410;
TYPE_lara_as_pickupflare lara_as_pickupflare = (TYPE_lara_as_pickupflare)0x00427160;
TYPE_lara_as_deathslide lara_as_deathslide = (TYPE_lara_as_deathslide)0x00427460;
TYPE_lara_as_duck lara_as_duck = (TYPE_lara_as_duck)0x00420E70;
//TYPE_lara_as_duckroll // not exist !
TYPE_lara_as_dash lara_as_dash = (TYPE_lara_as_dash)0x00421EE0;
TYPE_lara_as_dashdive lara_as_dashdive = (TYPE_lara_as_dashdive)0x004228B0;
TYPE_lara_as_hang2 lara_as_hang2 = (TYPE_lara_as_hang2)0x00422C00;
TYPE_lara_as_monkeyswing lara_as_monkeyswing = (TYPE_lara_as_monkeyswing)0x00423690;
TYPE_lara_as_monkeyl lara_as_monkeyl = (TYPE_lara_as_monkeyl)0x00423870;
TYPE_lara_as_monkeyr lara_as_monkeyr = (TYPE_lara_as_monkeyr)0x00423940;
TYPE_lara_as_monkey180 lara_as_monkey180 = (TYPE_lara_as_monkey180)0x00423B30;
TYPE_lara_as_all4s lara_as_all4s = (TYPE_lara_as_all4s)0x00421040;
TYPE_lara_as_crawl lara_as_crawl = (TYPE_lara_as_crawl)0x004214D0;
TYPE_lara_as_hangturnl lara_as_hangturnl = (TYPE_lara_as_hangturnl)0x00423A10;
TYPE_lara_as_hangturnr lara_as_hangturnr = (TYPE_lara_as_hangturnr)0x00423AF0;
TYPE_lara_as_all4turnl lara_as_all4turnl = (TYPE_lara_as_all4turnl)0x00421730;
TYPE_lara_as_all4turnr lara_as_all4turnr = (TYPE_lara_as_all4turnr)0x004217E0;
TYPE_lara_as_crawlb lara_as_crawlb = (TYPE_lara_as_crawlb)0x00421840;
TYPE_lara_as_controlled lara_as_controlled = (TYPE_lara_as_controlled)0x00427500;
TYPE_lara_as_ropel lara_as_ropel = (TYPE_lara_as_ropel)0x00424400;
TYPE_lara_as_roper lara_as_roper = (TYPE_lara_as_roper)0x00424430;
TYPE_lara_as_controlledl lara_as_controlledl = (TYPE_lara_as_controlledl)0x004275E0;
TYPE_lara_as_poleleft lara_as_poleleft = (TYPE_lara_as_poleleft)0x00423CE0;
TYPE_lara_as_poleright lara_as_poleright = (TYPE_lara_as_poleright)0x00423D20;
TYPE_lara_as_pulley lara_as_pulley = (TYPE_lara_as_pulley)0x00427670;
TYPE_lara_as_duckl lara_as_duckl = (TYPE_lara_as_duckl)0x00420B80;
TYPE_lara_as_duckr lara_as_duckr = (TYPE_lara_as_duckr)0x00420BB0;
TYPE_lara_as_extcornerl lara_as_extcornerl = (TYPE_lara_as_extcornerl)0x00426AF0;
TYPE_lara_as_extcornerr lara_as_extcornerr = (TYPE_lara_as_extcornerr)0x00426B40;
TYPE_lara_as_intcornerl lara_as_intcornerl = (TYPE_lara_as_intcornerl)0x00426B90;
TYPE_lara_as_intcornerr lara_as_intcornerr = (TYPE_lara_as_intcornerr)0x00426BE0;
TYPE_lara_as_rope lara_as_rope = (TYPE_lara_as_rope)0x00423F90;
TYPE_lara_as_climbrope lara_as_climbrope = (TYPE_lara_as_climbrope)0x004246C0;
TYPE_lara_as_climbroped lara_as_climbroped = (TYPE_lara_as_climbroped)0x00424730;

///* ============================================================== */
///                     LARA COLLISION ROUTINES                     //
///* ============================================================== */
TYPE_lara_col_walk lara_col_walk = (TYPE_lara_col_walk)0x00427770;
TYPE_lara_col_run lara_col_run = (TYPE_lara_col_run)0x00427960;
TYPE_lara_col_stop lara_col_stop = (TYPE_lara_col_stop)0x00424E50;
TYPE_lara_col_forwardjump lara_col_forwardjump = (TYPE_lara_col_forwardjump)0x00425330;
TYPE_lara_col_fastturn lara_col_fastturn = (TYPE_lara_col_fastturn)0x00427E60;
TYPE_lara_col_fastback lara_col_fastback = (TYPE_lara_col_fastback)0x00427B10;
TYPE_lara_col_turn_r lara_col_turn_r = (TYPE_lara_col_turn_r)0x00427C00;
TYPE_lara_col_turn_l lara_col_turn_l = (TYPE_lara_col_turn_l)0x00427CC0;
TYPE_lara_col_death lara_col_death = (TYPE_lara_col_death)0x00427CD0;
TYPE_lara_col_fastfall lara_col_fastfall = (TYPE_lara_col_fastfall)0x00427D40;
TYPE_lara_col_hang lara_col_hang = (TYPE_lara_col_hang)0x00425D80;
TYPE_lara_col_reach lara_col_reach = (TYPE_lara_col_reach)0x00425430;
TYPE_lara_col_splat lara_col_splat = (TYPE_lara_col_splat)0x00427DF0;
TYPE_lara_col_tread lara_col_tread = (TYPE_lara_col_tread)0x00432670;
TYPE_lara_col_compress lara_col_compress = (TYPE_lara_col_compress)0x00427E70;
TYPE_lara_col_back lara_col_back = (TYPE_lara_col_back)0x00427F20;
TYPE_lara_col_swim lara_col_swim = (TYPE_lara_col_swim)0x00432420;
TYPE_lara_col_glide lara_col_glide = (TYPE_lara_col_glide)0x00432660;
TYPE_lara_col_null lara_col_null = (TYPE_lara_col_null)0x00428600;
TYPE_lara_col_roll2 lara_col_roll2 = (TYPE_lara_col_roll2)0x00428410;
TYPE_lara_col_stepright lara_col_stepright = (TYPE_lara_col_stepright)0x00428040;
TYPE_lara_col_stepleft lara_col_stepleft = (TYPE_lara_col_stepleft)0x00428120;
TYPE_lara_col_slide lara_col_slide = (TYPE_lara_col_slide)0x00428130;
TYPE_lara_col_backjump lara_col_backjump = (TYPE_lara_col_backjump)0x00428260;
TYPE_lara_col_rightjump lara_col_rightjump = (TYPE_lara_col_rightjump)0x00428280;
TYPE_lara_col_leftjump lara_col_leftjump = (TYPE_lara_col_leftjump)0x004282A0;
TYPE_lara_col_upjump lara_col_upjump = (TYPE_lara_col_upjump)0x00424F10;
TYPE_lara_col_fallback lara_col_fallback = (TYPE_lara_col_fallback)0x004282C0;
TYPE_lara_col_hangleft lara_col_hangleft = (TYPE_lara_col_hangleft)0x00426910;
TYPE_lara_col_hangright lara_col_hangright = (TYPE_lara_col_hangright)0x00426990;
TYPE_lara_col_slideback lara_col_slideback = (TYPE_lara_col_slideback)0x00428350;
TYPE_lara_col_surftread lara_col_surftread = (TYPE_lara_col_surftread)0x00431EA0;
TYPE_lara_col_surfswim lara_col_surfswim = (TYPE_lara_col_surfswim)0x00431A00;
TYPE_lara_col_dive lara_col_dive = (TYPE_lara_col_dive)0x00432680;
TYPE_lara_col_uwdeath lara_col_uwdeath = (TYPE_lara_col_uwdeath)0x00432690;
TYPE_lara_col_roll lara_col_roll = (TYPE_lara_col_roll)0x00428370;
TYPE_lara_col_surfback lara_col_surfback = (TYPE_lara_col_surfback)0x00431E40;
TYPE_lara_col_surfleft lara_col_surfleft = (TYPE_lara_col_surfleft)0x00431E60;
TYPE_lara_col_surfright lara_col_surfright = (TYPE_lara_col_surfright)0x00431E80;
TYPE_lara_col_swandive lara_col_swandive = (TYPE_lara_col_swandive)0x004284F0;
TYPE_lara_col_fastdive lara_col_fastdive = (TYPE_lara_col_fastdive)0x00428570;
TYPE_lara_col_climbstnc lara_col_climbstnc = (TYPE_lara_col_climbstnc)0x0042C390;
TYPE_lara_col_climbing lara_col_climbing = (TYPE_lara_col_climbing)0x0042D090;
TYPE_lara_col_climbleft lara_col_climbleft = (TYPE_lara_col_climbleft)0x0042C8C0;
TYPE_lara_col_climbright lara_col_climbright = (TYPE_lara_col_climbright)0x0042D010;
TYPE_lara_col_climbdown lara_col_climbdown = (TYPE_lara_col_climbdown)0x0042D200;
TYPE_lara_col_wade lara_col_wade = (TYPE_lara_col_wade)0x00428610;
TYPE_lara_col_waterroll lara_col_waterroll = (TYPE_lara_col_waterroll)0x004326F0;
TYPE_lara_col_duck lara_col_duck = (TYPE_lara_col_duck)0x00420F20;
TYPE_lara_col_dash lara_col_dash = (TYPE_lara_col_dash)0x00422030;
TYPE_lara_col_dashdive lara_col_dashdive = (TYPE_lara_col_dashdive)0x004228E0;
TYPE_lara_col_hang2 lara_col_hang2 = (TYPE_lara_col_hang2)0x00422CD0;
TYPE_lara_col_monkeyswing lara_col_monkeyswing = (TYPE_lara_col_monkeyswing)0x00423740;
TYPE_lara_col_monkeyl lara_col_monkeyl = (TYPE_lara_col_monkeyl)0x004238D0;
TYPE_lara_col_monkeyr lara_col_monkeyr = (TYPE_lara_col_monkeyr)0x004239A0;
TYPE_lara_col_monkey180 lara_col_monkey180 = (TYPE_lara_col_monkey180)0x00423B50;
TYPE_lara_col_all4s lara_col_all4s = (TYPE_lara_col_all4s)0x004210B0;
TYPE_lara_col_crawl lara_col_crawl = (TYPE_lara_col_crawl)0x004215A0;
TYPE_lara_col_hangturnlr lara_col_hangturnlr = (TYPE_lara_col_hangturnlr)0x00423A50;
TYPE_lara_col_all4turnlr lara_col_all4turnlr = (TYPE_lara_col_all4turnlr)0x00421790;
TYPE_lara_col_all4turnlrb lara_col_all4turnlrb = (TYPE_lara_col_all4turnlrb)0x00421900;
TYPE_lara_col_all4turnlr2hang lara_col_all4turnlr2hang = (TYPE_lara_col_all4turnlr2hang)0x00421A20;
TYPE_lara_default_col lara_default_col = (TYPE_lara_default_col)0x00428780;
TYPE_lara_col_turnswitch lara_col_turnswitch = (TYPE_lara_col_turnswitch)0x00427600;
TYPE_lara_col_polestat lara_col_polestat = (TYPE_lara_col_polestat)0x00423B60;
TYPE_lara_col_poleup lara_col_poleup = (TYPE_lara_col_poleup)0x00423D60;
TYPE_lara_col_poledown lara_col_poledown = (TYPE_lara_col_poledown)0x00423DE0;
TYPE_lara_col_ducklr lara_col_ducklr = (TYPE_lara_col_ducklr)0x00420BE0;
TYPE_lara_col_rope lara_col_rope = (TYPE_lara_col_rope)0x00424050;
TYPE_lara_col_ropefwd lara_col_ropefwd = (TYPE_lara_col_ropefwd)0x00424460;

///* ============================================================== */
///                             OTHER                               //
///* ============================================================== */

TYPE2_TriggerActive TriggerActive_2 = (TYPE2_TriggerActive)0x44ACB0;
TYPE2_AnimateItem AnimateItem_2 = (TYPE2_AnimateItem)0x449280;
TYPE2_TestBoundsCollide TestBoundsCollide_2 = (TYPE2_TestBoundsCollide)0x447270;
TYPE2_TestCollision TestCollision_2 = (TYPE2_TestCollision)0x45ED00;
TYPE2_ItemPushLara ItemPushLara_2 = (TYPE2_ItemPushLara)0x446EC0;
TYPE2_GetBoundsAccurate GetBoundsAccurate_2 = (TYPE2_GetBoundsAccurate)0x4504E0;
TYPE2_S_GetObjectBounds S_GetObjectBounds_2 = (TYPE2_S_GetObjectBounds)0x47DD00;
TYPE2_GetJointAbsPosition GetJointAbsPosition_2 = (TYPE2_GetJointAbsPosition)0x45F160;
TYPE2_GetFloor GetFloor_2 = (TYPE2_GetFloor)0x449880;
TYPE2_GetCeiling GetCeiling_2 = (TYPE2_GetCeiling)0x44AD20;
TYPE2_UpdateLaraRoom UpdateLaraRoom_2 = (TYPE2_UpdateLaraRoom)0x446740;
TYPE2_TriggerUnderwaterExplosion TriggerUnderwaterExplosion_2 = (TYPE2_TriggerUnderwaterExplosion)0x0042B080;
TYPE2_GetBestFrame GetBestFrame_2 = (TYPE2_GetBestFrame)0x450560;
TYPE2_DoBloodSplat DoBloodSplat_2 = (TYPE2_DoBloodSplat)0x436BD0;
TYPE2_LOS LOS_2 = (TYPE2_LOS)0x44B260;

#endif