Skip to content

Commit

Permalink
port ObjectObjects
Browse files Browse the repository at this point in the history
  • Loading branch information
rr- committed Feb 21, 2021
1 parent 9dd540c commit f4f990e
Show file tree
Hide file tree
Showing 5 changed files with 410 additions and 58 deletions.
12 changes: 6 additions & 6 deletions docs/progress.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
86 changes: 43 additions & 43 deletions docs/progress.txt
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ CalculateCamera 0x00410B40 0x0000055D *
StartCinematic 0x004110A0 0x00000183 -
DoCinematic 0x00411240 0x0000012B -
CalculateCinematicCamera 0x00411370 0x00000124 -
ControlCinematicPlayer 0x004114A0 0x00000045 -
InitialisePlayer1 0x004114F0 0x000000CD -
InitialiseGenPlayer 0x004115C0 0x00000027 -
ControlCinematicPlayer 0x004114A0 0x00000045 *
InitialisePlayer1 0x004114F0 0x000000CD *
InitialiseGenPlayer 0x004115C0 0x00000027 *
InGameCinematicCamera 0x004115F0 0x00000190 -
GetCollisionInfo 0x00411780 0x000007DD *
CollideStaticObjects 0x00411FA0 0x000003D6 -
Expand Down Expand Up @@ -213,17 +213,17 @@ sub_41A200 0x0041A200 0x0000000F -
ItemNearLara 0x0041A210 0x0000008C -
SoundEffects 0x0041A2A0 0x0000006D *
DoBloodSplat 0x0041A310 0x00000059 *
ControlBlood1 0x0041A370 0x0000008B -
ControlExplosion1 0x0041A400 0x0000004C -
ControlBlood1 0x0041A370 0x0000008B *
ControlExplosion1 0x0041A400 0x0000004C *
Richochet 0x0041A450 0x00000072 *
ControlRicochet1 0x0041A4D0 0x00000030 -
ControlTwinkle 0x0041A500 0x0000004C -
ControlRicochet1 0x0041A4D0 0x00000030 *
ControlTwinkle 0x0041A500 0x0000004C *
ItemSparkle 0x0041A550 0x00000115 *
FxLaraBubbles 0x0041A670 0x000000E8 -
ControlBubble1 0x0041A760 0x000000FF -
ControlBubble1 0x0041A760 0x000000FF *
Splash 0x0041A860 0x000000CD *
ControlSplash1 0x0041A930 0x0000007A -
ControlWaterFall 0x0041A9B0 0x00000120 -
ControlSplash1 0x0041A930 0x0000007A *
ControlWaterFall 0x0041A9B0 0x00000120 *
FxFinishLevel 0x0041AAD0 0x0000000B -
FxTurn180 0x0041AAE0 0x0000000B -
FxDinoStomp 0x0041AAF0 0x00000096 -
Expand Down Expand Up @@ -497,24 +497,24 @@ DrawMovableBlock 0x0042BD60 0x00000081 *
DrawUnclippedItem 0x0042BDF0 0x00000068 *
AbortionControl 0x0042BE60 0x0000049E *
NatlaControl 0x0042C330 0x0000059F *
ControlNatlaGun 0x0042C910 0x00000121 -
InitialiseDoor 0x0042CA40 0x000004AE -
DoorControl 0x0042CEF0 0x0000023B -
ControlNatlaGun 0x0042C910 0x00000121 *
InitialiseDoor 0x0042CA40 0x000004AE *
DoorControl 0x0042CEF0 0x0000023B *
OnDrawBridge 0x0042D130 0x000000B1 -
DrawBridgeFloor 0x0042D1F0 0x0000003B -
DrawBridgeCeiling 0x0042D230 0x0000003F -
DrawBridgeCollision 0x0042D270 0x0000002F -
BridgeFlatFloor 0x0042D2A0 0x00000019 -
BridgeFlatCeiling 0x0042D2C0 0x0000001E -
BridgeTilt1Floor 0x0042D2E0 0x00000048 -
BridgeTilt1Ceiling 0x0042D330 0x0000004D -
BridgeTilt2Floor 0x0042D380 0x00000047 -
BridgeTilt2Ceiling 0x0042D3D0 0x0000004C -
CogControl 0x0042D420 0x00000075 -
CabinControl 0x0042D4A0 0x0000007F -
BoatControl 0x0042D520 0x0000005B -
Scion3Control 0x0042D580 0x00000176 -
EarthQuakeControl 0x0042D700 0x0000006F -
DrawBridgeFloor 0x0042D1F0 0x0000003B *
DrawBridgeCeiling 0x0042D230 0x0000003F *
DrawBridgeCollision 0x0042D270 0x0000002F *
BridgeFlatFloor 0x0042D2A0 0x00000019 *
BridgeFlatCeiling 0x0042D2C0 0x0000001E *
BridgeTilt1Floor 0x0042D2E0 0x00000048 *
BridgeTilt1Ceiling 0x0042D330 0x0000004D *
BridgeTilt2Floor 0x0042D380 0x00000047 *
BridgeTilt2Ceiling 0x0042D3D0 0x0000004C *
CogControl 0x0042D420 0x00000075 *
CabinControl 0x0042D4A0 0x0000007F *
BoatControl 0x0042D520 0x0000005B *
Scion3Control 0x0042D580 0x00000176 *
EarthQuakeControl 0x0042D700 0x0000006F *
do_inventory_options 0x0042D770 0x00000180 -
do_passport_option 0x0042D9C0 0x000004D0 -
sub_42DE90 0x0042DE90 0x00000435 -
Expand All @@ -541,7 +541,7 @@ S_DrawLightningSegment 0x00430740 0x00000446 -
decomp_pcx 0x00430B90 0x00000141 -
S_DisplayPicture 0x00430CE0 0x00000094 -
Targetable 0x00430D80 0x0000007B -
ControlGunShot 0x00430E00 0x00000037 -
ControlGunShot 0x00430E00 0x00000037 *
GunShot 0x00430E40 0x00000066 -
GunHit 0x00430EB0 0x000000ED -
GunMiss 0x00430FA0 0x000000E6 -
Expand All @@ -555,19 +555,19 @@ DrawSkateKid 0x00432550 0x0000004C *
CowboyControl 0x004325A0 0x000005A7 *
InitialiseBaldy 0x00432B60 0x00000027 *
BaldyControl 0x00432B90 0x000004CC *
PickUpCollision 0x00433080 0x000001BF -
PickUpScionCollision 0x00433240 0x00000164 -
PickUpScion4Collision 0x004333B0 0x00000108 -
PickUpCollision 0x00433080 0x000001BF *
PickUpScionCollision 0x00433240 0x00000164 *
PickUpScion4Collision 0x004333B0 0x00000108 *
MidasCollision 0x004334C0 0x00000217 *
SwitchCollision 0x004336F0 0x0000011C -
SwitchCollision2 0x00433810 0x000000F0 -
KeyHoleCollision 0x00433900 0x00000227 -
PuzzleHoleCollision 0x00433B40 0x00000277 -
SwitchControl 0x00433DE0 0x0000003D -
SwitchCollision 0x004336F0 0x0000011C *
SwitchCollision2 0x00433810 0x000000F0 *
KeyHoleCollision 0x00433900 0x00000227 *
PuzzleHoleCollision 0x00433B40 0x00000277 *
SwitchControl 0x00433DE0 0x0000003D *
SwitchTrigger 0x00433E20 0x00000078 -
KeyTrigger 0x00433EA0 0x00000042 -
PickupTrigger 0x00433EF0 0x00000038 -
InitialiseSaveGameItem 0x00433F30 0x0000001C -
InitialiseSaveGameItem 0x00433F30 0x0000001C *
RatControl 0x00433F50 0x000002A8 *
VoleControl 0x00434210 0x000002B5 *
InitialiseStartInfo 0x004344D0 0x00000042 -
Expand All @@ -584,7 +584,7 @@ InitialiseLevel 0x004362A0 0x00000119 *
InitialiseLevelFlags 0x004363C0 0x00000018 -
BaddyObjects 0x004363E0 0x00000C2F +
TrapObjects 0x00437010 0x00000356 +
ObjectObjects 0x00437370 0x000006D3 *
ObjectObjects 0x00437370 0x000006D3 +
InitialiseObjects 0x00437A50 0x00000063 +
sub_437AC0 0x00437AC0 0x00000006 -
WinVidSpinMessageLoop 0x00437AD0 0x00000029 *
Expand Down Expand Up @@ -646,9 +646,9 @@ InitialiseRollingBall 0x0043A010 0x00000040 *
RollingBallControl 0x0043A050 0x0000025D *
RollingBallCollision 0x0043A2B0 0x00000264 *
SpikeCollision 0x0043A520 0x0000014E *
TrapDoorControl 0x0043A670 0x00000053 -
TrapDoorFloor 0x0043A6D0 0x00000042 -
TrapDoorCeiling 0x0043A720 0x00000046 -
TrapDoorControl 0x0043A670 0x00000053 *
TrapDoorFloor 0x0043A6D0 0x00000042 *
TrapDoorCeiling 0x0043A720 0x00000046 *
OnTrapDoor 0x0043A770 0x000000A3 -
PendulumControl 0x0043A820 0x0000014B *
FallingBlockControl 0x0043A970 0x000000F9 *
Expand All @@ -671,13 +671,13 @@ LavaWedgeControl 0x0043B710 0x00000139 *
CentaurControl 0x0043B850 0x000002B9 *
InitialiseWarrior2 0x0043BB30 0x00000028 *
FlyerControl 0x0043BB60 0x00000625 *
ControlMissile 0x0043C1C0 0x0000026D -
ControlMissile 0x0043C1C0 0x0000026D *
ShardGun 0x0043C430 0x00000110 -
RocketGun 0x0043C540 0x00000110 -
InitialiseMummy 0x0043C650 0x0000003A *
MummyControl 0x0043C690 0x000000A0 *
ExplodingDeath 0x0043C730 0x0000039A -
ControlBodyPart 0x0043CAD0 0x00000195 -
ControlBodyPart 0x0043CAD0 0x00000195 *
InitialisePod 0x0043CC70 0x000000DC *
PodControl 0x0043CD70 0x00000118 *
InitialiseStatue 0x0043CE90 0x000000E5 *
Expand Down
51 changes: 51 additions & 0 deletions src/game/objects.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#ifndef TOMB1MAIN_GAME_OBJECTS_H
#define TOMB1MAIN_GAME_OBJECTS_H

#include <stdint.h>

// clang-format off
#define InitialiseDoor ((void __cdecl(*)(int16_t item_num))0x0042CA40)
#define DoorControl ((void __cdecl(*)(int16_t item_num))0x0042CEF0)
#define DrawBridgeFloor ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0042D1F0)
#define DrawBridgeCeiling ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0042D230)
#define DrawBridgeCollision ((void __cdecl(*)(int16_t item_num, ITEM_INFO* litem, COLL_INFO* coll))0x0042D270)
#define CogControl ((void __cdecl(*)(int16_t item_num))0x0042D420)
#define BridgeFlatFloor ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0042D2A0)
#define BridgeFlatCeiling ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0042D2C0)
#define BridgeTilt1Floor ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0042D2E0)
#define BridgeTilt1Ceiling ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0042D330)
#define BridgeTilt2Floor ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0042D380)
#define BridgeTilt2Ceiling ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0042D3D0)
#define SwitchControl ((void __cdecl(*)(int16_t item_num))0x00433DE0)
#define SwitchCollision ((void __cdecl(*)(int16_t item_num, ITEM_INFO* litem, COLL_INFO* coll))0x004336F0)
#define SwitchCollision2 ((void __cdecl(*)(int16_t item_num, ITEM_INFO* litem, COLL_INFO* coll))0x00433810)
#define KeyHoleCollision ((void __cdecl(*)(int16_t item_num, ITEM_INFO* litem, COLL_INFO* coll))0x00433900)
#define TrapDoorControl ((void __cdecl(*)(int16_t item_num))0x0043A670)
#define TrapDoorFloor ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0043A6D0)
#define TrapDoorCeiling ((void __cdecl(*)(ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t *height))0x0043A720)
#define PickUpCollision ((void __cdecl(*)(int16_t item_num, ITEM_INFO* litem, COLL_INFO* coll))0x00433080)
#define InitialiseSaveGameItem ((void __cdecl(*)(int16_t item_num))0x00433F30)
#define PuzzleHoleCollision ((void __cdecl(*)(int16_t item_num, ITEM_INFO* litem, COLL_INFO* coll))0x00433B40)
#define CabinControl ((void __cdecl(*)(int16_t item_num))0x0042D4A0)
#define EarthQuakeControl ((void __cdecl(*)(int16_t item_num))0x0042D700)
#define InitialisePlayer1 ((void __cdecl(*)(int16_t item_num))0x004114F0)
#define ControlCinematicPlayer ((void __cdecl(*)(int16_t item_num))0x004114A0)
#define InitialiseGenPlayer ((void __cdecl(*)(int16_t item_num))0x004115C0)
#define ControlBubble1 ((void __cdecl(*)(int16_t item_num))0x0041A760)
#define ControlBlood1 ((void __cdecl(*)(int16_t item_num))0x0041A370)
#define ControlRicochet1 ((void __cdecl(*)(int16_t item_num))0x0041A4D0)
#define ControlWaterFall ((void __cdecl(*)(int16_t item_num))0x0041A9B0)
#define ControlBodyPart ((void __cdecl(*)(int16_t item_num))0x0043CAD0)
#define ControlNatlaGun ((void __cdecl(*)(int16_t item_num))0x0042C910)
#define ControlMissile ((void __cdecl(*)(int16_t item_num))0x0043C1C0)
#define ControlGunShot ((void __cdecl(*)(int16_t item_num))0x00430E00)
#define ControlTwinkle ((void __cdecl(*)(int16_t item_num))0x0041A500)
#define ControlExplosion1 ((void __cdecl(*)(int16_t item_num))0x0041A400)
#define PickUpScionCollision ((void __cdecl(*)(int16_t item_num, ITEM_INFO* litem, COLL_INFO* coll))0x00433240)
#define PickUpScion4Collision ((void __cdecl(*)(int16_t item_num, ITEM_INFO* litem, COLL_INFO* coll))0x004333B0)
#define BoatControl ((void __cdecl(*)(int16_t item_num))0x0042D520)
#define Scion3Control ((void __cdecl(*)(int16_t item_num))0x0042D580)
#define ControlSplash1 ((void __cdecl(*)(int16_t item_num))0x0041A930)
// clang-format on

#endif
Loading

0 comments on commit f4f990e

Please sign in to comment.