# Flags: # - to do # * to do, called by Tomb1Main # x unused # + fully decompiled # # Name Offset Size Flags # 3dsystem/3d_gen.cpp phd_GenerateW2V 0x00401000 0x00000197 * phd_LookAt 0x004011A0 0x000000C9 * phd_GetVectorAngles 0x00401270 0x0000007E * phd_NormaliseVector ---------- ---------- - phd_GetMatrixAngles ---------- ---------- - phd_RotX 0x004012F0 0x000000AE - phd_RotY 0x004013A0 0x000000AC - phd_RotZ 0x00401450 0x000000AC - phd_RotYXZ 0x00401500 0x000001E8 * phd_RotYXZpack 0x004016F0 0x000001F3 * phd_TranslateRel 0x004018F0 0x000000AB * phd_TranslateAbs 0x004019A0 0x0000007A - visible_zclip 0x00401A20 0x000000A9 - phd_PutPolygons 0x00401AD0 0x000000F3 - S_InsertRoom 0x00401BD0 0x0000006E - calc_object_vertices 0x00401C40 0x000001B6 - calc_vertice_light 0x00401E00 0x00000165 - calc_roomvert 0x00401F70 0x00000428 - phd_RotateLight 0x004023A0 0x000000CF * phd_PointLight ---------- ---------- - phd_InitPolyList 0x00402470 0x0000002D - phd_SortPolyList 0x004024A0 0x0000002F - do_quickysorty 0x004024D0 0x000000C5 - phd_PrintPolyList ---------- ---------- - phd_InitWindow 0x004025D0 0x000000F2 + AlterFOV 0x004026D0 0x0000003F + # 3dsystem/3d_line.cpp Insert2DLine 0x00402710 0x000000CA - draw_line ---------- ---------- - draw_poly_line 0x004027E0 0x000001A1 - # 3dsystem/3d_out.cpp draw_poly_flat 0x00402990 0x0000002F - draw_poly_trans 0x004029C0 0x00000030 - draw_poly_gouraud 0x004029F0 0x00000030 - draw_poly_gtmap 0x00402A20 0x00000037 - draw_poly_wgtmap 0x00402A60 0x00000037 - draw_poly_gtmap_persp 0x00402AA0 0x00000037 - draw_poly_wgtmap_persp 0x00402AE0 0x00000037 - xgen_x 0x00402B20 0x000000D2 - xgen_xg 0x00402C00 0x00000146 - xgen_xguv 0x00402D50 0x00000219 - xgen_xguvpersp_fp 0x00402F70 0x00000226 - gtmap_persp16_fp 0x004031A0 0x000005D0 - wgtmap_persp16_fp 0x00403770 0x00000637 - # ??? sub_403DB0 0x00403DB0 0x0000029A - sub_404050 0x00404050 0x0000068B - sub_4046E0 0x004046E0 0x000006BC - sub_404DA0 0x00404DA0 0x0000058F - sub_405330 0x00405330 0x000006BB - sub_4059F0 0x004059F0 0x00000594 - sub_405F90 0x00405F90 0x0000041B - sub_4063B0 0x004063B0 0x0000035B - XYGClipper 0x00406710 0x000003C2 - ins_objectG4 0x00406AE0 0x000002AE - ins_objectG3 0x00406D90 0x0000023E - sub_406FD0 0x00406FD0 0x000002D0 - ins_poly_trans8 0x004072A0 0x00000523 - sub_4077D0 0x004077D0 0x00000034 - sub_407804 0x00407804 0x00000023 - sub_407827 0x00407827 0x00000014 - sub_40783B 0x0040783B 0x00000027 - sub_407862 0x00407862 0x0000001A - sub_40787C 0x0040787C 0x00000095 - sub_407911 0x00407911 0x0000004E - sub_40795F 0x0040795F 0x0000008A - sub_4079E9 0x004079E9 0x00000060 - sub_407A49 0x00407A49 0x00000048 - sub_407A91 0x00407A91 0x00000141 - SetHardwareVideoMode 0x00407BD2 0x00000433 - InitialiseHardware 0x00408005 0x0000031E * ShutdownHardware 0x00408323 0x00000029 - HardwarePrepareFMV 0x0040834C 0x0000001C - HardwareFMVDone 0x00408368 0x00000017 - sub_40837F 0x0040837F 0x0000008A - sub_408409 0x00408409 0x000000D5 - DownloadTexturesToHardware 0x004084DE 0x0000030C * PaletteSetHardware 0x004087EA 0x0000020A * SwitchResolution 0x004089F4 0x0000007C - sub_408A70 0x00408A70 0x00000057 - sub_408AC7 0x00408AC7 0x00000065 - sub_408B2C 0x00408B2C 0x00000059 - CopyPictureHardware 0x00408B85 0x000000B5 - DownloadPictureHardware 0x00408C3A 0x000001D4 - sub_408E0E 0x00408E0E 0x00000024 - sub_408E32 0x00408E32 0x0000000F - sub_408E41 0x00408E41 0x0000002C * sub_408E6D 0x00408E6D 0x0000006B - sub_408ED8 0x00408ED8 0x00000118 - sub_408FF0 0x00408FF0 0x0000005D - sub_40904D 0x0040904D 0x00000BC2 - sub_409C0F 0x00409C0F 0x00000335 - sub_409F44 0x00409F44 0x000000D9 - sub_40A01D 0x0040A01D 0x000000A7 - sub_40A0C4 0x0040A0C4 0x000005ED - sub_40A6B1 0x0040A6B1 0x00000E5F - sub_40B510 0x0040B510 0x000006D2 - sub_40BBE2 0x0040BBE2 0x00000678 - sub_40C25A 0x0040C25A 0x000000F4 - sub_40C34E 0x0040C34E 0x000000D7 - sub_40C425 0x0040C425 0x000003C9 - sub_40C7EE 0x0040C7EE 0x000000F9 - sub_40C8E7 0x0040C8E7 0x000001F4 - sub_40CADB 0x0040CADB 0x00000182 - sub_40CC5D 0x0040CC5D 0x000003F9 - sub_40D056 0x0040D056 0x000000A1 - sub_40D0F7 0x0040D0F7 0x00000049 - sub_40D140 0x0040D140 0x000001A0 - sub_40D2E0 0x0040D2E0 0x00000185 - DoNothing 0x0040D465 0x00000005 - # bat.cpp BatControl 0x0040D470 0x00000184 + # bear.cpp BearControl 0x0040D600 0x00000416 + # box.cpp InitialiseCreature 0x0040DA60 0x00000033 + CreatureAIInfo 0x0040DAA0 0x00000224 + SearchLOT 0x0040DCD0 0x000001F9 + UpdateLOT ---------- ---------- + TargetBox ---------- ---------- + StalkBox 0x0040DED0 0x000000CE + EscapeBox ---------- ---------- + ValidBox 0x0040DFA0 0x00000097 + CreatureMood 0x0040E040 0x000007D5 + CalculateTarget 0x0040E850 0x000004D1 + CreatureCreature 0x0040ED30 0x00000107 + BadFloor 0x0040EE40 0x00000092 + CreatureAnimation 0x0040EEE0 0x00000863 + CreatureTurn 0x0040F750 0x000000D5 + CreatureTilt 0x0040F830 0x00000035 + CreatureHead 0x0040F870 0x00000049 + CreatureEffect 0x0040F8C0 0x0000005C + # camera.cpp InitialiseCamera 0x0040F920 0x0000008B + MoveCamera 0x0040F9B0 0x000002E5 + ClipCamera 0x0040FCA0 0x00000096 + ShiftCamera 0x0040FD40 0x0000015C + BadPosition ---------- ---------- + SmartShift 0x0040FEA0 0x00000567 + ChaseCamera 0x00410410 0x00000118 + ShiftClamp 0x00410530 0x00000279 + CombatCamera 0x004107B0 0x00000138 + LookCamera 0x004108F0 0x0000024B + FixedCamera ---------- ---------- + CalculateCamera 0x00410B40 0x0000055D + # cinema.cpp LoopCinematic ---------- ---------- - StartCinematic 0x004110A0 0x00000183 - InitCinematicRooms ---------- ---------- - DoCinematic 0x00411240 0x0000012B - CalculateCinematicCamera 0x00411370 0x00000124 + ControlCinematicPlayer 0x004114A0 0x00000045 * ControlCinematicPlayer4 ---------- ---------- - InitialisePlayer1 0x004114F0 0x000000CD * InitialiseGenPlayer 0x004115C0 0x00000027 * InGameCinematicCamera 0x004115F0 0x00000190 + # collide.cpp GetCollisionInfo 0x00411780 0x000007DD + FindGridShift ---------- ---------- + CollideStaticObjects 0x00411FA0 0x000003D6 + GetNearByRooms 0x00412390 0x000002CC + GetNewRoom ---------- ---------- + ShiftItem 0x00412660 0x00000037 + UpdateLaraRoom 0x004126A0 0x0000005F + GetTiltType ---------- ---------- + LaraBaddieCollision 0x00412700 0x00000209 + EffectSpaz ---------- ---------- + CreatureCollision 0x00412910 0x00000078 + ObjectCollision 0x00412990 0x00000059 + DoorCollision 0x004129F0 0x0000007B + TrapCollision 0x00412A70 0x00000096 + ItemPushLara 0x00412B10 0x00000335 + TestBoundsCollide 0x00412E50 0x000000D1 + TestLaraPosition 0x00412F30 0x00000137 + AlignLaraPosition 0x00413070 0x000000C1 + MoveLaraPosition 0x00413140 0x000000E4 + Move3DPosTo3DPos 0x00413230 0x00000172 + # control.cpp ControlPhase 0x004133B0 0x000002B0 + AnimateItem 0x00413660 0x000002C6 + GetChange 0x00413960 0x000000AB + TranslateItem 0x00413A10 0x00000067 + GetFloor 0x00413A80 0x000001D4 + GetWaterHeight 0x00413C60 0x000000FE + GetHeight 0x00413D60 0x0000022A + RefreshCamera 0x00413FA0 0x000000D4 + TestTriggers 0x00414080 0x0000074E + TriggerActive 0x00414820 0x00000055 + GetCeiling 0x00414880 0x0000024B + GetDoor 0x00414AE0 0x0000004E + LOS 0x00414B30 0x000000A0 + zLOS 0x00414BD0 0x00000272 + xLOS 0x00414E50 0x00000270 + ClipTarget 0x004150C0 0x000000DC + FlipMap 0x004151A0 0x0000016F + RemoveRoomFlipItems ---------- ---------- + AddRoomFlipItems ---------- ---------- + TriggerCDTrack 0x00415310 0x000001D2 + TriggerNormalCDTrack ---------- ---------- + # croc.cpp AlligatorControl 0x00415520 0x00000326 + CrocControl 0x00415850 0x0000030C + # demo.cpp StartDemo 0x00415B70 0x00000140 + LoadLaraDemoPos 0x00415CB0 0x000000BF + GetDemoInput 0x00415D70 0x0000002D + # dino.cpp RaptorControl 0x00415DA0 0x00000330 + DinoControl 0x004160F0 0x0000028F + LaraDinoDeath 0x004163A0 0x000000C1 + # shell/display.cpp IncreaseScreenSize ---------- ---------- - DecreaseScreenSize ---------- ---------- - setup_screen_size 0x00416470 0x000000D4 - switch_resolution ---------- ---------- - TempVideoAdjust 0x00416550 0x00000277 * TempVideoRemove 0x004167D0 0x00000289 * S_CopyScreenToBuffer ---------- ---------- - S_CopyBufferToScreen 0x00416A60 0x000000A7 * S_NoFade 0x00416B10 0x00000010 * S_FadeInInventory 0x00416B20 0x00000082 - S_FadeOutInventory 0x00416BB0 0x00000027 * FadeToPal ---------- ---------- - ScreenPartialDump ---------- ---------- - # draw.cpp DrawPhaseCinematic 0x00416BE0 0x00000090 + DrawPhaseGame 0x00416C70 0x00000037 + DrawRooms 0x00416CB0 0x00000173 + GetRoomBounds 0x00416E30 0x0000007D + SetRoomBounds 0x00416EB0 0x0000032E + PrintRooms 0x004171E0 0x0000021A + DrawEffect 0x00417400 0x00000107 + DrawSpriteItem 0x00417510 0x00000035 + DrawDummyItem ---------- ---------- + DrawAnimatingItem 0x00417550 0x00000541 + DrawLara 0x00417AA0 0x00000AEF + DrawGunFlash ---------- ---------- + CalculateObjectLighting 0x004185B0 0x000000C9 + DrawLaraInt 0x00418680 0x000013C6 + InitInterpolate ---------- ---------- + phd_PopMatrix_I ---------- ---------- + phd_PushMatrix_I ---------- ---------- + phd_RotY_I ---------- ---------- + phd_RotX_I ---------- ---------- + phd_RotZ_I ---------- ---------- + phd_TranslateRel_I ---------- ---------- + phd_TranslateRel_ID ---------- ---------- + phd_RotYXZ_I ---------- ---------- + phd_RotYXZpack_I ---------- ---------- + phd_PutPolygons_I ---------- ---------- + InterpolateMatrix 0x00419A60 0x000001CD + InterpolateArmMatrix 0x00419C30 0x000000FC + GetFrames 0x00419D30 0x00000099 + GetBoundsAccurate 0x00419DD0 0x0000007C + GetBestFrame 0x00419E50 0x00000035 + # ????? sub_419E90 0x00419E90 0x000000C0 - WinSndMakeSample 0x00419F50 0x000001CA - sub_41A120 0x0041A120 0x000000A1 - sub_41A1D0 0x0041A1D0 0x00000027 - sub_41A200 0x0041A200 0x0000000F - # effects.cpp ItemNearLara 0x0041A210 0x0000008C + SoundEffects 0x0041A2A0 0x0000006D + DoBloodSplat 0x0041A310 0x00000059 + ControlBlood1 0x0041A370 0x0000008B + ControlExplosion1 0x0041A400 0x0000004C + Ricochet 0x0041A450 0x00000072 + ControlRicochet1 0x0041A4D0 0x00000030 + Twinkle ---------- ---------- + ControlTwinkle 0x0041A500 0x0000004C + ItemSparkle 0x0041A550 0x00000115 + FxLaraBubbles 0x0041A670 0x000000E8 + ControlBubble1 0x0041A760 0x000000FF + Splash 0x0041A860 0x000000CD + ControlSplash1 0x0041A930 0x0000007A + ControlWaterFall 0x0041A9B0 0x00000120 + FxVoid ---------- ---------- x FxFinishLevel 0x0041AAD0 0x0000000B + FxTurn180 0x0041AAE0 0x0000000B + FxDinoStomp 0x0041AAF0 0x00000096 + FxLaraNormal 0x0041AB90 0x00000035 + FxEarthQuake 0x0041ABD0 0x00000076 + FxFlood 0x0041AC50 0x0000008F + FxRaisingBlock 0x0041ACE0 0x00000019 + FxChainBlock 0x0041AD00 0x00000043 + FxStairs2Slope 0x0041AD50 0x00000028 + FxSand 0x0041AD80 0x0000007F + FxPowerUp 0x0041AE00 0x0000006A + FxExplosion 0x0041AE70 0x00000026 + FxFlicker 0x0041AEA0 0x0000004A + FxLaraHandsFree 0x0041AEF0 0x0000000A + FxFlipMap 0x0041AF00 0x00000005 + FxDrawRightGun 0x0041AF10 0x0000007E + # shell/file.cpp S_LoadLevel 0x0041AF90 0x00000016 + LoadLevel 0x0041AFB0 0x00000432 + LoadRooms 0x0041B3F0 0x00000311 + LoadObjects 0x0041B710 0x0000043F + LoadSprites 0x0041BB50 0x00000102 + LoadItems 0x0041BC60 0x0000019D + LoadDepthQ ---------- ---------- + LoadPalette ---------- ---------- + LoadCameras ---------- ---------- + LoadSoundEffects ---------- ---------- + LoadBoxes 0x0041BE00 0x000001B5 + LoadAnimatedTextures ---------- ---------- + LoadCinematic ---------- ---------- + LoadDemo ---------- ---------- + LoadTexturePages ---------- ---------- + GetFullPath 0x0041BFC0 0x00000053 + FindCdDrive 0x0041C020 0x000000C7 + # ??? S_Colour 0x0041C0F0 0x00000089 * S_DrawScreenSprite2d 0x0041C180 0x00000150 - S_DrawScreenSprite 0x0041C2D0 0x00000163 * S_DrawScreenLine 0x0041C440 0x000000D3 * S_DrawScreenBox 0x0041C520 0x00000688 * S_DrawScreenFBox 0x0041CBB0 0x00000101 * S_FinishInventory 0x0041CCC0 0x00000047 * S_FadeToBlack 0x0041CD10 0x0000003F * S_Wait 0x0041CD50 0x0000004D * SoundStart 0x0041CDA0 0x00000045 * WinPlayFMV 0x0041CDF0 0x0000024A - sub_41D00B 0x0041D00B 0x0000002F - S_PlayFMV 0x0041D040 0x0000007C * sub_41D078 0x0041D078 0x00000044 - # game.cpp StartGame 0x0041D0C0 0x000001CA + GameLoop 0x0041D2C0 0x00000065 + LevelCompleteSequence 0x0041D330 0x0000021C + LevelStats 0x0041D5A0 0x00000346 + GetRandomControl 0x0041D8F0 0x0000001E + SeedRandomControl 0x0041D910 0x0000000A + GetRandomDraw 0x0041D920 0x0000001E + SeedRandomDraw 0x0041D940 0x0000000A + LevelIsValid 0x0041D950 0x0000005C + GetSavedGamesList 0x0041D9B0 0x00000060 + S_FrontEndCheck 0x0041DA20 0x00000141 + S_SaveGame 0x0041DB70 0x000000FD + S_LoadGame 0x0041DC70 0x00000086 + # health.cpp DrawGameInfo 0x0041DD00 0x00000199 + DrawHealthBar 0x0041DEA0 0x00000075 + MakeAmmoString 0x0041DF20 0x00000028 + DrawAmmoInfo 0x0041DF50 0x00000133 + InitialisePickUpDisplay 0x0041E0A0 0x00000015 + DrawPickups ---------- ---------- + AddDisplayPickup 0x0041E0C0 0x0000003F + # shell/init.cpp S_OnWindowResized ---------- ---------- - S_InitialiseSystem 0x0041E100 0x0000015B + S_ExitSystem 0x0041E260 0x00000051 * init_game_malloc 0x0041E2C0 0x00000021 + game_malloc 0x0041E2F0 0x000000B1 * game_free 0x0041E3B0 0x0000002F + CalculateWibbleTable ---------- ---------- + S_SeedRandom ---------- ---------- + # shell/input.cpp Key 0x0041E3E0 0x00000166 * GetJoystickButtonName ---------- ---------- - JoyRead ---------- ---------- - S_UpdateInput 0x0041E550 0x00000210 + # inventry.cpp Display_Inventory 0x0041E760 0x00001159 + Construct_Inventory 0x0041F980 0x0000012D + SelectMeshes 0x0041FAB0 0x00000089 + AnimateInventoryItem ---------- ---------- + DrawInventoryItem 0x0041FB40 0x000003A0 + GetDebouncedInput ---------- ---------- + # invfunc.cpp InitColours 0x0041FEF0 0x0000010A + RingIsOpen 0x00420000 0x0000014D + RingIsNotOpen 0x00420150 0x00000076 + RingNotActive 0x004201D0 0x0000069E + RingActive 0x00420980 0x00000039 + Inv_AddItem 0x004209C0 0x00000620 + Inv_InsertItem 0x004210D0 0x00000129 + Inv_RequestItem 0x00421200 0x00000077 + Inv_RemoveAllItems 0x00421280 0x0000001E + Inv_RemoveItem 0x004212A0 0x00000110 + Inv_GetItemOption 0x004213B0 0x000000A7 + RemoveInventoryText 0x00421550 0x00000028 + Inv_RingInit 0x00421580 0x0000017E + Inv_RingGetView 0x00421700 0x00000060 + Inv_RingLight 0x00421760 0x00000040 + Inv_RingCalcAdders 0x004217A0 0x0000002C + Inv_RingDoMotions 0x004217D0 0x0000013E + Inv_RingRotateLeft 0x00421910 0x0000002F + Inv_RingRotateRight 0x00421940 0x0000002F + Inv_RingMotionInit ---------- ---------- + Inv_RingMotionSetup 0x00421970 0x0000002C + Inv_RingMotionRadius 0x004219A0 0x00000026 + Inv_RingMotionRotation 0x004219D0 0x00000022 + Inv_RingMotionCameraPos 0x00421A00 0x00000025 + Inv_RingMotionCameraPitch 0x00421A30 0x00000020 + Inv_RingMotionItemSelect 0x00421A50 0x00000057 + Inv_RingMotionItemDeselect 0x00421AB0 0x00000055 + # items.cpp InitialiseItemArray 0x00421B10 0x00000040 + KillItem 0x00421B50 0x00000121 + CreateItem 0x00421C80 0x0000003D + InitialiseItem 0x00421CC0 0x000001EE + RemoveActiveItem 0x00421EB0 0x000000A6 + RemoveDrawnItem 0x00421F60 0x00000080 + AddActiveItem 0x00421FE0 0x00000080 + ItemNewRoom 0x00422060 0x000000A4 + SpawnItem 0x00422110 0x000000B6 + GlobalItemReplace 0x004221D0 0x00000080 + InitialiseFXArray 0x00422250 0x00000030 + CreateEffect 0x00422280 0x00000069 + KillEffect 0x004222F0 0x000000E4 + EffectNewRoom 0x004223E0 0x00000096 + # lara.cpp LaraAboveWater 0x00422480 0x0000016B + LaraAsWalk 0x004225F0 0x0000007A + LaraAsRun 0x00422670 0x000000ED + LaraAsStop 0x00422760 0x00000207 + LaraAsForwardJump 0x00422970 0x000000B7 + LaraAsPose ---------- ---------- + LaraAsFastBack 0x00422A30 0x00000057 + LaraAsTurnR 0x00422A90 0x00000076 + LaraAsTurnL 0x00422B10 0x00000076 + LaraAsDeath ---------- ---------- + LaraAsFastFall 0x00422B90 0x00000040 + LaraAsHang 0x00422BD0 0x00000049 + LaraAsReach 0x00422C20 0x0000001C + LaraAsSplat ---------- ---------- + LaraAsLand ---------- ---------- + LaraAsCompress 0x00422C40 0x0000026D + LaraAsBack 0x00422EB0 0x0000007D + LaraAsNull ---------- ---------- + LaraAsFastTurn 0x00422F30 0x0000004B + LaraAsStepRight 0x00422F80 0x00000073 + LaraAsStepLeft 0x00423000 0x00000073 + LaraAsSlide 0x00423080 0x00000027 + LaraAsBackJump 0x004230B0 0x0000001C + LaraAsRightJump 0x004230D0 0x00000013 + LaraAsLeftJump ---------- ---------- + LaraAsUpJump ---------- ---------- + LaraAsFallBack 0x004230F0 0x0000002C + LaraAsHangLeft 0x00423120 0x00000035 + LaraAsHangRight 0x00423160 0x00000035 + LaraAsSlideBack 0x004231A0 0x00000014 + LaraAsPushBlock 0x004231C0 0x00000027 + LaraAsPullBlock ---------- ---------- + LaraAsPPReady 0x004231F0 0x00000027 + LaraAsPickup 0x00423220 0x00000027 + LaraAsSwitchOn 0x00423250 0x00000027 + LaraAsSwitchOff ---------- ---------- + LaraAsUseKey 0x00423280 0x00000027 + LaraAsUsePuzzle ---------- ---------- + LaraAsRoll ---------- ---------- + LaraAsRoll2 ---------- ---------- + LaraAsSpecial 0x004232B0 0x0000001D + LaraAsUseMidas 0x004232D0 0x0000001D + LaraAsDieMidas 0x004232F0 0x0000030C + LaraAsSwanDive 0x00423720 0x00000028 + LaraAsFastDive 0x00423750 0x0000003D + LaraAsGymnast 0x00423790 0x0000000B + LaraAsWaterOut 0x004237A0 0x00000015 + LaraColWalk 0x004237C0 0x00000228 + LaraColRun 0x004239F0 0x00000210 + LaraColStop 0x00423C00 0x000000FC + LaraColForwardJump 0x00423D00 0x000000C3 + LaraColPose ---------- ---------- + LaraColFastBack 0x00423DD0 0x0000016D + LaraColTurnR 0x00423F40 0x000000AA + LaraColTurnL ---------- ---------- + LaraColDeath 0x00423FF0 0x0000007E + LaraColFastFall 0x00424070 0x00000148 + LaraColHang 0x004241F0 0x0000006A + LaraColReach 0x00424260 0x0000014D + LaraColSplat 0x004243F0 0x00000064 + LaraColLand 0x00424460 0x00000013 + LaraColCompress 0x00424480 0x00000096 + LaraColBack 0x00424520 0x00000170 + LaraColNull ---------- ---------- + LaraColFastTurn ---------- ---------- + LaraColStepRight 0x00424690 0x00000136 + LaraColStepLeft 0x004247D0 0x00000136 + LaraColSlide 0x00424910 0x0000001E + LaraColBackJump 0x00424930 0x000000A2 + LaraColRightJump 0x004249E0 0x000000A2 + LaraColLeftJump 0x00424A90 0x000000A2 + LaraColUpJump 0x00424B40 0x00000149 + LaraColFallBack 0x00424CD0 0x000000A3 + LaraColHangLeft 0x00424D80 0x00000033 + LaraColHangRight 0x00424DC0 0x00000033 + LaraColSlideBack 0x00424E00 0x00000023 + LaraColPushBlock ---------- ---------- + LaraColPullBlock ---------- ---------- + LaraColPPReady ---------- ---------- + LaraColPickup ---------- ---------- + LaraColSwitchOn ---------- ---------- + LaraColSwitchOff ---------- ---------- + LaraColUseKey ---------- ---------- + LaraColUsePuzzle ---------- ---------- + LaraColRoll 0x00424E90 0x00000100 + LaraColRoll2 0x00424F90 0x00000104 + LaraColSpecial ---------- ---------- + LaraColUseMidas ---------- ---------- + LaraColDieMidas ---------- ---------- + LaraColSwanDive 0x004250A0 0x00000089 + LaraColFastDive 0x00425130 0x00000099 + LaraColGymnast ---------- ---------- + LaraColWaterout ---------- ---------- + LaraColDefault 0x00424E30 0x00000056 + LaraColJumper ---------- ---------- + LaraGetCollisionInfo ---------- ---------- + LaraSlideSlope 0x004251D0 0x00000176 + LaraHitCeiling ---------- ---------- + LaraHangTest 0x00425350 0x00000229 + LaraDeflectEdge ---------- ---------- + LaraDeflectEdgeJump 0x004255A0 0x000000E4 + LaraSlideEdgeJump ---------- ---------- + TestLaraVault 0x004256C0 0x000001C8 + LaraTestHangJump 0x00425890 0x0000024B + TestHangSwingIn ---------- ---------- + LaraTestHangJumpUp 0x00425AE0 0x0000016A + TestLaraSlide 0x00425C50 0x0000011A + LaraFloorFront ---------- ---------- + LaraLandedBad 0x00425D70 0x000000BE + # lara1gun.cpp draw_shotgun 0x00425E30 0x00000113 + undraw_shotgun 0x00425F50 0x00000160 + draw_shotgun_meshes ---------- ---------- + undraw_shotgun_meshes ---------- ---------- + ready_shotgun ---------- ---------- + RifleHandler 0x004260F0 0x00000373 + AnimateShotgun ---------- ---------- + FireShotgun ---------- ---------- + # lara2gun.cpp draw_pistols 0x00426470 0x00000147 + undraw_pistols 0x004265C0 0x00000261 + ready_pistols ---------- ---------- + draw_pistol_meshes 0x00426830 0x00000061 + undraw_pistol_mesh_left ---------- ---------- + undraw_pistol_mesh_right ---------- ---------- + PistolHandler 0x004268A0 0x0000012E + AnimatePistols 0x004269D0 0x000001F5 + # larafire.cpp LaraGun 0x00426BD0 0x00000271 + InitialiseNewWeapon 0x00426E60 0x000000B9 + LaraTargetInfo 0x00426F20 0x00000194 + LaraGetNewTarget 0x004270C0 0x000001D9 + find_target_point 0x004272A0 0x000000B2 + AimWeapon 0x00427360 0x000000C1 + FireWeapon 0x00427430 0x000002F2 + HitTarget 0x00427730 0x000000E5 + # laramisc.cpp LaraControl 0x00427850 0x00000372 + LaraSwapMeshExtra 0x00427BD0 0x00000030 + AnimateLara 0x00427C00 0x00000244 + UseItem 0x00427E80 0x000000F8 + ControlLaraExtra 0x00427FD0 0x0000001F + InitialiseLaraLoad 0x00427FF0 0x00000024 + InitialiseLara 0x00428020 0x00000150 + InitialiseLaraInventory 0x00428170 0x000001C8 + LaraInitialiseMeshes 0x00428340 0x000000DD + InitialiseEvilLara 0x00428420 0x00000025 + ControlEvilLara 0x00428450 0x00000221 * DrawEvilLara 0x00428680 0x00000058 * # larasurf.cpp LaraSurface 0x004286E0 0x000001B2 + LaraAsSurfSwim 0x004288A0 0x00000070 + LaraAsSurfBack 0x00428910 0x0000005E + LaraAsSurfLeft 0x00428970 0x00000060 + LaraAsSurfRight 0x004289D0 0x00000060 + LaraAsSurfTread 0x00428A30 0x00000178 + LaraColSurfSwim ---------- ---------- + LaraColSurfTread 0x00428BB0 0x0000001E + LaraColSurfBack 0x00428BD0 0x00000023 + LaraColSurfLeft 0x00428C00 0x00000023 + LaraColSurfRight 0x00428C30 0x00000023 + LaraSurfaceCollision 0x00428C60 0x000000E6 + LaraTestWaterClimbOut 0x00428D50 0x000001B1 + # laraswim.cpp LaraUnderWater 0x00428F10 0x000001AD + LaraAsSwim 0x004290C0 0x00000080 + LaraAsGlide 0x00429140 0x0000008A + LaraAsTread 0x004291D0 0x0000007C + LaraAsDive 0x00429250 0x00000014 + LaraAsUWDeath 0x00429270 0x0000004A + LaraColSwim 0x004292C0 0x00000013 + LaraColGlide ---------- ---------- + LaraColTread ---------- ---------- + LaraColDive ---------- ---------- + LaraColUWDeath 0x004292E0 0x0000005E + LaraSwimCollision 0x00429340 0x000000FA + LaraWaterCurrent 0x00429440 0x000001DB + # lightnnin.cpp DrawLightning 0x00429620 0x000004D1 * InitialiseLightning 0x00429B00 0x0000007E * LightningControl 0x00429B80 0x000002AF * LightningCollision 0x00429E30 0x00000061 * InitialiseThorsHandle 0x00429EA0 0x00000086 * ThorsHandleControl 0x00429F30 0x000002B0 * ThorsHandleCollision 0x0042A1F0 0x0000004B * ThorsHeadCollision 0x0042A240 0x00000052 * # ??? sub_42A2A0 0x0042A2A0 0x0000000C - sub_42A2B0 0x0042A2B0 0x0000000C - DB_Log 0x0042A2C0 0x00000037 + # lot.cpp InitialiseLOTArray 0x0042A300 0x00000053 + DisableBaddieAI 0x0042A360 0x00000036 * EnableBaddieAI 0x0042A3A0 0x000001D0 * InitialiseSlot 0x0042A570 0x000000FC - CreateZone 0x0042A6B0 0x000000C4 - InitialiseLOT 0x0042A780 0x00000065 * ClearLOT ---------- ---------- - # math.cpp (3dsystem/phd_math.h) phd_cos 0x0042A7F0 0x0000002C - cosf 0x0042A81C 0x0000001A - phd_sin 0x0042A850 0x00000021 - sinf 0x0042A871 0x0000001A - phd_atan 0x0042A8A0 0x00000055 - phd_sqrt 0x0042A900 0x0000003A - # mnsound.cpp mn_reset_sound_effects 0x0042A940 0x000000EC * SoundEffect 0x0042AA30 0x000004C2 * mn_get_fx_slot 0x0042AF00 0x000000CE - mn_reset_ambient_loudness 0x0042AFD0 0x00000030 * mn_stop_ambient_samples 0x0042B000 0x0000007E * mn_update_sound_effects 0x0042B080 0x0000027D * mn_get_sound_params ---------- ---------- - StopSoundEffect 0x0042B300 0x0000010E * adjust_master_volume 0x0042B410 0x00000012 - mn_start_sound_fade ---------- ---------- - mn_set_sound_fade_rate ---------- ---------- - mn_clear_fx_slot ---------- ---------- - mn_clear_handles ---------- ---------- - # moveblok.cpp InitialiseMovableBlock 0x0042B430 0x00000030 * MovableBlockControl 0x0042B460 0x0000014A * MovableBlockCollision 0x0042B5B0 0x00000208 * TestBlockMovaable ---------- ---------- + TestBlockPush 0x0042B7E0 0x00000142 - TestBlockPull 0x0042B940 0x00000239 - InitialiseRollingBlock 0x0042BB90 0x00000024 * RollingBlockControl 0x0042BBC0 0x000000DA * AlterFloorHeight 0x0042BCA0 0x000000BE * DrawMovableBlock 0x0042BD60 0x00000081 * DrawUnclippedItem 0x0042BDF0 0x00000068 * # natla.cpp AbortionControl 0x0042BE60 0x0000049E * NatlaControl 0x0042C330 0x0000059F * ControlNatlaGun 0x0042C910 0x00000121 * NatlaGun ---------- ---------- - # objects.cpp ShutThatDoor ---------- ---------- - OpenThatDoor ---------- ---------- - InitialiseDoor 0x0042CA40 0x000004AE * DoorControl 0x0042CEF0 0x0000023B * OnDrawBridge 0x0042D130 0x000000B1 - DrawBridgeFloor 0x0042D1F0 0x0000003B * DrawBridgeCeiling 0x0042D230 0x0000003F * DrawBridgeCollision 0x0042D270 0x0000002F * BridgeFlatFloor 0x0042D2A0 0x00000019 * BridgeFlatCeiling 0x0042D2C0 0x0000001E * GetOffset ---------- ---------- - BridgeTilt1Floor 0x0042D2E0 0x00000048 * BridgeTilt1Ceiling 0x0042D330 0x0000004D * BridgeTilt2Floor 0x0042D380 0x00000047 * BridgeTilt2Ceiling 0x0042D3D0 0x0000004C * CogControl 0x0042D420 0x00000075 * CabinControl 0x0042D4A0 0x0000007F * BoatControl 0x0042D520 0x0000005B * ScionControl ---------- ---------- - Scion3Control 0x0042D580 0x00000176 * EarthQuakeControl 0x0042D700 0x0000006F * # option.cpp GetScancodeName ---------- ---------- - do_inventory_options 0x0042D770 0x00000180 * do_passport_option 0x0042D9C0 0x000004D0 - do_detail_option_hw 0x0042DE90 0x00000435 - do_detail_option 0x0042E2D0 0x000002E8 - do_sound_option 0x0042E5C0 0x000004F2 - do_compass_option ---------- ---------- - FlashConflicts ---------- ---------- - DefaultConflict ---------- ---------- - do_control_option 0x0042EAC0 0x0000075D - S_ShowControls 0x0042F230 0x000004B1 + S_ChangeCtrlText ---------- ---------- - S_RemoveCtrlText ---------- ---------- - S_RemoveCtrl ---------- ---------- - Init_Requester ---------- ---------- - Remove_Requester ---------- ---------- - Display_Requester 0x0042F6F0 0x0000056B - # shell/output.cpp S_InitialisePolyList 0x0042FC60 0x00000005 * S_DumpScreen 0x0042FC70 0x00000044 * S_ClearScreen 0x0042FCC0 0x00000013 * S_InitialiseScreen 0x0042FCE0 0x00000027 * S_OutputPolyList 0x0042FD10 0x00000018 * S_GetObjectBounds 0x0042FD30 0x0000026C * S_PrintShadow 0x0042FFA0 0x0000015B * S_CalculateLight 0x00430100 0x00000183 * S_CalculateStaticLight 0x00430290 0x00000031 * S_DrawHealthBar 0x004302D0 0x00000180 + S_DrawAirBar 0x00430450 0x00000188 + AnimateTextures ---------- ---------- - S_SetupBelowWater 0x004305E0 0x00000054 * S_SetupAboveWater 0x00430640 0x00000019 * S_AnimateTextures 0x00430660 0x000000D3 * S_DrawLightningSegment 0x00430740 0x00000446 - decomp_pcx 0x00430B90 0x00000141 - S_DisplayPicture 0x00430CE0 0x00000094 * # people.cpp Targetable 0x00430D80 0x0000007B - ControlGunShot 0x00430E00 0x00000037 * GunShot 0x00430E40 0x00000066 - GunHit 0x00430EB0 0x000000ED - GunMiss 0x00430FA0 0x000000E6 - ShotLara ---------- ---------- - PeopleControl 0x00431090 0x0000049E * PierreControl 0x00431550 0x000006BF * ApeVault 0x00431C30 0x00000103 - ApeControl 0x00431D40 0x0000033F * InitialiseSkateKid 0x004320B0 0x00000027 * SkateKidControl 0x004320E0 0x00000458 * DrawSkateKid 0x00432550 0x0000004C * CowboyControl 0x004325A0 0x000005A7 * InitialiseBaldy 0x00432B60 0x00000027 * BaldyControl 0x00432B90 0x000004CC * # pickup.cpp PickUpCollision 0x00433080 0x000001BF * PickUpScionCollision 0x00433240 0x00000164 * PickUpScion4Collision 0x004333B0 0x00000108 * MidasOnAfterInventory ---------- ---------- - MidasCollision 0x004334C0 0x00000217 * SwitchCollision 0x004336F0 0x0000011C * SwitchCollision2 0x00433810 0x000000F0 * KeyHoleOnAfterInventory ---------- ---------- - KeyHoleCollision 0x00433900 0x00000227 * PuzzleOnAfterInventory ---------- ---------- - PuzzleHoleCollision 0x00433B40 0x00000277 * SwitchControl 0x00433DE0 0x0000003D * SwitchTrigger 0x00433E20 0x00000078 - KeyTrigger 0x00433EA0 0x00000042 + PickupTrigger 0x00433EF0 0x00000038 * PickUpSaveGameCollision ---------- ---------- - InitialiseSaveGameItem 0x00433F30 0x0000001C * ControlSavegameItem ---------- ---------- - DrawSavegameItem ---------- ---------- - # rat.cpp RatControl 0x00433F50 0x000002A8 * VoleControl 0x00434210 0x000002B5 * # savegame.cpp ReadSGPos ---------- ---------- - WriteSGPos ---------- ---------- - ReadSGARM ---------- ---------- - ReadSGLOT ---------- ---------- - ReadSGLara ---------- ---------- - WriteSGARM ---------- ---------- - WriteSGLOT ---------- ---------- - WriteSGLara ---------- ---------- - LoadSaveGameInfo ---------- ---------- - InitialiseStartInfo 0x004344D0 0x00000042 - ModifyStartInfo 0x00434520 0x000000BF * CreateStartInfo 0x004345E0 0x00000139 * CreateSaveGameInfo 0x00434720 0x00000866 * ExtractSaveGameInfo 0x00434F90 0x00000971 * ResetSG ---------- ---------- - WriteSG ---------- ---------- - ReadSG ---------- ---------- - ConfirmSave ---------- ---------- - CompleteSave ---------- ---------- - # ??? S_DrawSprite 0x00435910 0x0000025E - S_DrawSpriteRel 0x00435B70 0x00000207 * S_DrawUISprite 0x00435D80 0x0000014D - ins_room_sprite_Sorted 0x00435ED0 0x000001CD - draw_scaled_spriteC 0x004360A0 0x000001FB - # setup.cpp InitialiseLevel 0x004362A0 0x00000119 + InitialiseGameFlags ---------- ---------- + InitialiseLevelFlags 0x004363C0 0x00000018 * BaddyObjects 0x004363E0 0x00000C2F + TrapObjects 0x00437010 0x00000356 + ObjectObjects 0x00437370 0x000006D3 + # ??? InitialiseObjects 0x00437A50 0x00000063 + sub_437AC0 0x00437AC0 0x00000006 - WinVidSpinMessageLoop 0x00437AD0 0x00000029 * WinInReadJoystick 0x00437B00 0x00000070 * OnKeyPress 0x00437B70 0x00000045 - sub_437BC0 0x00437BC0 0x00000003 - KeyClearBuffer 0x00437BD0 0x00000029 - WinSndLoadSamples 0x00437C00 0x000000A5 - SoundLoadSample 0x00437CB0 0x0000014B - SoundInit 0x00437E00 0x0000000D * sub_437E10 0x00437E10 0x000000C3 - sub_437EE0 0x00437EE0 0x00000028 - WinSndStopSample 0x00437F10 0x00000020 - S_CDVolume 0x00437F30 0x00000001 * TestCdDrive 0x00437F40 0x00000039 - sub_437F80 0x00437F80 0x00000026 - CDPlay 0x00437FB0 0x000000F5 - S_CDLoop 0x004380B0 0x0000000B * sub_4380C0 0x004380C0 0x00000018 - sub_4380E0 0x004380E0 0x00000255 * sub_438340 0x00438340 0x0000003B - FileLoad 0x00438390 0x00000080 - GameMain 0x00438410 0x0000050A - CheckCheatMode 0x00438920 0x00000213 * S_WriteSettings 0x00438B60 0x00000090 * S_SoundPlaySample 0x00438BF0 0x0000004B - S_SoundPlaySampleLooped 0x00438C40 0x00000051 - sub_438CA0 0x00438CA0 0x00000015 - S_SoundStopAllSamples 0x00438CC0 0x0000000F * S_SoundStopSample 0x00438CD0 0x0000001B - sub_438CF0 0x00438CF0 0x00000044 - S_CDPlay 0x00438D40 0x000000FD * S_CDStop 0x00438E40 0x00000043 * SampleLoader 0x00438E90 0x00000005 - LoadSamples 0x00438EA0 0x00000189 * sub_439030 0x00439030 0x000000FC - # sphere.cpp TestCollision 0x00439130 0x00000128 * GetSpheres 0x00439260 0x000002EF * GetJointAbsPosition 0x00439550 0x0000019C * BaddieBiteEffect 0x004396F0 0x0000005D - # text.cpp T_InitPrint 0x00439750 0x00000022 + T_Print 0x00439780 0x000000E0 + T_ChangeText 0x00439860 0x0000003F + T_SetFlags ---------- ---------- x T_SetBgndFlags ---------- ---------- x T_SetOutlFlags ---------- ---------- x T_SetScale 0x004398A0 0x00000013 + T_LetterSpacing ---------- ---------- x T_WordSpacing ---------- ---------- x T_FlashText 0x004398C0 0x00000027 + T_AddBackground 0x004398F0 0x00000052 + T_RemoveBackground 0x00439950 0x0000000C + T_AddOutline 0x00439960 0x00000025 + T_RemoveOutline 0x00439990 0x0000000C + T_CentreH 0x004399A0 0x0000001A + T_CentreV 0x004399C0 0x0000001A + T_RightAlign 0x004399E0 0x0000001A + T_BottomAlign 0x00439A00 0x0000001A + T_GetTextWidth 0x00439A20 0x000000AC + T_RemovePrint 0x00439AD0 0x00000025 + T_RemoveAllPrints ---------- ---------- + T_GetStringLen ---------- ---------- + T_DrawText 0x00439B00 0x00000153 + T_DrawThisText 0x00439C60 0x000003A2 + # traps.cpp InitialiseRollingBall 0x0043A010 0x00000040 * RollingBallControl 0x0043A050 0x0000025D * RollingBallCollision 0x0043A2B0 0x00000264 * SpikeCollision 0x0043A520 0x0000014E * TrapDoorControl 0x0043A670 0x00000053 * TrapDoorFloor 0x0043A6D0 0x00000042 * TrapDoorCeiling 0x0043A720 0x00000046 * OnTrapDoor 0x0043A770 0x000000A3 - PendulumControl 0x0043A820 0x0000014B * FallingBlockControl 0x0043A970 0x000000F9 * FallingBlockFloor 0x0043AA70 0x00000035 * FallingBlockCeiling 0x0043AAB0 0x00000034 * TeethTrapControl 0x0043AAF0 0x000000C1 * FallingCeilingControl 0x0043ABC0 0x0000009E * InitialiseDamoclesSword 0x0043AC60 0x0000003B * DamoclesSwordControl 0x0043ACA0 0x00000129 * DamoclesSwordCollision 0x0043ADD0 0x000000E8 * DartEmitterControl 0x0043AEC0 0x0000019B * DartsControl 0x0043B060 0x00000140 * DartEffectControl 0x0043B1A0 0x0000004C * FlameEmitterControl 0x0043B1F0 0x000000A3 * FlameControl 0x0043B2A0 0x00000185 + LavaBurn 0x0043B430 0x000000E8 + LavaEmitterControl 0x0043B520 0x000000C7 * LavaControl 0x0043B5F0 0x00000119 * LavaWedgeControl 0x0043B710 0x00000139 * # warrior.cpp CentaurControl 0x0043B850 0x000002B9 * InitialiseWarrior2 0x0043BB30 0x00000028 * FlyerControl 0x0043BB60 0x00000625 * ControlMissile 0x0043C1C0 0x0000026D * ShootAtLara ---------- ---------- - ShardGun 0x0043C430 0x00000110 - RocketGun 0x0043C540 0x00000110 - InitialiseMummy 0x0043C650 0x0000003A * MummyControl 0x0043C690 0x000000A0 * ExplodingDeath 0x0043C730 0x0000039A - ControlBodyPart 0x0043CAD0 0x00000195 * InitialisePod 0x0043CC70 0x000000DC * PodControl 0x0043CD70 0x00000118 * InitialiseStatue 0x0043CE90 0x000000E5 * StatueControl 0x0043CF80 0x000000E1 * # ??? sub_43D070 0x0043D070 0x0000049A - sub_43D510 0x0043D510 0x000000DA - sub_43D5F0 0x0043D5F0 0x00000176 - ShowFatalError 0x0043D770 0x00000147 * KeyboardHook(x,x,x) 0x0043D8C0 0x00000077 - sub_43D940 0x0043D940 0x00000136 - WinMain(x,x,x,x) 0x0043DA80 0x0000037D - WndProc 0x0043DE00 0x0000011F - # wolf.cpp InitialiseWolf 0x0043DF20 0x00000024 * WolfControl 0x0043DF50 0x0000040B * LionControl 0x0043E390 0x000002BD * # ??? sub_43E670 0x0043E670 0x00000011 - sub_43E681 0x0043E681 0x000000CC - sub_43E74D 0x0043E74D 0x0000015F - sub_43E8AC 0x0043E8AC 0x00000155 - phd_PushMatrix 0x0043EA01 0x00000020 - phd_PushUnitMatrix 0x0043EA21 0x00000035 * flatA 0x0043EA80 0x00000064 - transA 0x0043EAE4 0x00000139 - gourA 0x0043EC1D 0x00000185 - gtmapA 0x0043EDA2 0x00000311 - wgtmapA 0x0043F0B3 0x00000355 - DirectSoundCreate 0x00440EAC 0x00000006 - sub_440EF0 0x00440EF0 0x00000005 - sub_441C80 0x00441C80 0x00000013 - sub_441CA0 0x00441CA0 0x000003EC - sub_444990 0x00444990 0x0000000B - sub_448A80 0x00448A80 0x000002FA - sub_44B690 0x0044B690 0x0000001A - sub_44B6B0 0x0044B6B0 0x0000001A - sub_44B6D0 0x0044B6D0 0x00000036 - sub_44B710 0x0044B710 0x00000036 - sub_44C5F0 0x0044C5F0 0x00000168 - sub_44D9D0 0x0044D9D0 0x000002C4 - sub_450500 0x00450500 0x00000006 - sub_450510 0x00450510 0x00000296 - sub_4507B0 0x004507B0 0x0000000E - sub_4507C0 0x004507C0 0x00000013 - sub_4507E0 0x004507E0 0x0000000E - sub_4507F0 0x004507F0 0x00000018 - sub_450810 0x00450810 0x0000000E - sub_450820 0x00450820 0x00000006 - sub_450830 0x00450830 0x0000000E - sub_450840 0x00450840 0x00000018 - sub_450860 0x00450860 0x0000000E - sub_450870 0x00450870 0x00000006 - sub_450880 0x00450880 0x00000013 - sub_4508A0 0x004508A0 0x00000013 - sub_4508C0 0x004508C0 0x00000056 - RtlUnwind 0x00450916 0x00000006 - WriteTombAtiSettings 0x0045A084 0x00000090 -