TombEngine/TR5Main/Game/lara.h

62 lines
2.2 KiB
C
Raw Normal View History

2018-08-19 09:46:58 +02:00
#pragma once
#include "..\Global\global.h"
2018-11-21 09:34:01 +01:00
typedef struct CarriedWeaponInfo {
bool Present;
__int16 Ammo[3];
byte SelectedAmmo;
bool HasLasersight;
bool HasSilencer;
};
typedef struct DiaryInfo {
bool Present;
};
2018-11-28 13:19:01 +01:00
typedef struct WaterskinInfo {
bool Present;
__int32 Quantity;
};
2018-08-19 09:46:58 +02:00
typedef struct LaraExtraInfo {
2018-11-21 09:34:01 +01:00
__int16 Vehicle;
__int16 ExtraAnim;
CarriedWeaponInfo Weapons[NUM_WEAPONS];
DiaryInfo Diary;
2018-11-28 13:19:01 +01:00
WaterskinInfo Waterskin1;
WaterskinInfo Waterskin2;
2018-08-19 09:46:58 +02:00
};
extern LaraExtraInfo g_LaraExtra;
2018-08-19 09:46:58 +02:00
2019-11-21 07:43:34 +01:00
//#define LookUpDown ((void (__cdecl*)()) 0x0044D310)
//#define LookLeftRight ((void (__cdecl*)()) 0x0044D440)
//#define ResetLook ((void (__cdecl*)()) 0x0044D220)
2018-08-19 09:46:58 +02:00
#define UpdateLaraRoom ((__int32 (__cdecl*)(ITEM_INFO*, __int32)) 0x004120F0)
2018-09-16 15:05:16 +02:00
#define LaraControl ((__int32 (__cdecl*)()) 0x00455830)
#define GetLaraJointPosition ((void (__cdecl*)(PHD_VECTOR*, __int32)) 0x0041E2A0)
#define CheckForHoldingState ((__int32 (__cdecl*)(__int16)) 0x00452AF0)
#define AnimateLara ((__int32 (__cdecl*)(ITEM_INFO*)) 0x004563F0)
2018-08-19 09:46:58 +02:00
2018-11-28 13:19:01 +01:00
#define LaraFloorFront ((__int32 (__cdecl*)(ITEM_INFO*, __int16, __int32)) 0x004438F0)
#define LaraCeilingFront ((__int32 (__cdecl*)(ITEM_INFO*, __int16, __int32, __int32)) 0x00442DB0)
#define GetLaraCollisionInfo ((__int32 (__cdecl*)(ITEM_INFO*, COLL_INFO*)) 0x00444F80)
#define TestLaraVault ((__int32 (__cdecl*)(ITEM_INFO*, COLL_INFO*)) 0x00445100)
#define ShiftItem ((__int32 (__cdecl*)(ITEM_INFO*, COLL_INFO*)) 0x004120A0)
2019-11-21 07:43:34 +01:00
//#define lara_as_wade ((void (__cdecl*)(ITEM_INFO*, COLL_INFO*)) 0x0044B770)
//#define lara_as_back ((void (__cdecl*)(ITEM_INFO*, COLL_INFO*)) 0x0044AE20)
//#define lara_as_run ((void (__cdecl*)(ITEM_INFO*, COLL_INFO*)) 0x00449330)
//#define lara_as_walk ((void (__cdecl*)(ITEM_INFO*, COLL_INFO*)) 0x00449260)
extern void(*lara_control_routines[NUM_LARA_STATES + 1])(ITEM_INFO* item, COLL_INFO* coll);
extern void(*lara_collision_routines[NUM_LARA_STATES + 1])(ITEM_INFO* item, COLL_INFO* coll);
2018-11-28 13:19:01 +01:00
2018-09-16 15:05:16 +02:00
void __cdecl LaraAboveWater(ITEM_INFO* item, COLL_INFO* coll);
2018-11-28 13:19:01 +01:00
void __cdecl lara_as_stop(ITEM_INFO* item, COLL_INFO* coll);
__int32 __cdecl UseSpecialItem(ITEM_INFO* item);
2019-11-21 07:43:34 +01:00
void __cdecl LookUpDown();
void __cdecl LookLeftRight();
void __cdecl ResetLook();
2018-08-19 09:46:58 +02:00
void Inject_Lara();