2018-08-19 09:46:58 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "..\Global\global.h"
|
|
|
|
|
2019-11-27 15:12:35 +01:00
|
|
|
//#define CreatureActive ((int (__cdecl*)(short)) 0x00408630)
|
|
|
|
//#define _CreatureUnderwater ((void (__cdecl*)(ITEM_INFO*, int)) 0x0040B400)
|
|
|
|
//#define _CreatureFloat ((int (__cdecl*)(short)) 0x0040B2C0)
|
|
|
|
//#define CreatureDie ((void (__cdecl*)(short, int)) 0x0040A090)
|
2019-11-09 09:55:56 +01:00
|
|
|
//#define _CreatureAIInfo ((void (__cdecl*)(ITEM_INFO*, AI_INFO*)) 0x004086C0)
|
2019-11-27 15:12:35 +01:00
|
|
|
//#define _CreatureMood ((void (__cdecl*)(ITEM_INFO*, AI_INFO*, int)) 0x00409370)
|
|
|
|
//#define _GetCreatureMood ((void (__cdecl*)(ITEM_INFO*, AI_INFO*, int)) 0x004090A0)
|
|
|
|
//#define CreatureEffect ((short (__cdecl*)(ITEM_INFO*, BITE_INFO*, short(*)(int, int, int, short, short, short))) 0x0040B4D0)
|
|
|
|
//#define CreatureEffect2 ((short (__cdecl*)(ITEM_INFO*, BITE_INFO*, short, short, short(*)(int, int, int, short, short, short))) 0x0040B550)
|
|
|
|
//#define CreatureTilt ((void (__cdecl*)(ITEM_INFO*, short)) 0x0040B1B0)
|
|
|
|
//#define CreatureJoint ((void (__cdecl*)(ITEM_INFO*, short, short)) 0x0040B240)
|
|
|
|
//#define _CreatureAnimation ((void (__cdecl*)(short, short, short)) 0x0040A1D0)
|
|
|
|
//#define _InitialiseCreature ((void (__cdecl*)(short)) 0x00408550)
|
|
|
|
//#define CreatureKill ((void (__cdecl*)(ITEM_INFO*, int, int, int)) 0x0040B820)
|
|
|
|
//#define AlertAllGuards ((void (__cdecl*)(short)) 0x0040BA70)
|
2019-11-03 21:57:57 +01:00
|
|
|
//#define AlertNearbyGuards ((void (__cdecl*)(ITEM_INFO*)) 0x0040BB10)
|
2019-11-27 15:12:35 +01:00
|
|
|
//#define MoveCreature3DPos ((int(__cdecl*)(PHD_3DPOS*, PHD_3DPOS*, int, short, short)) 0x0040C460)
|
|
|
|
//#define _CalculateTarget ((int(__cdecl*)(PHD_VECTOR*, ITEM_INFO*, LOT_INFO*)) 0x004098B0)
|
|
|
|
//#define ValidBox ((int(__cdecl*)(ITEM_INFO*, short, short)) 0x00408FD0)
|
|
|
|
//#define StalkBox ((int(__cdecl*)(ITEM_INFO*, ITEM_INFO*, short)) 0x00409770)
|
|
|
|
//#define TargetBox ((int(__cdecl*)(LOT_INFO*, short)) 0x00408E20)
|
|
|
|
//#define EscapeBox ((int(__cdecl*)(ITEM_INFO*, ITEM_INFO*, short)) 0x00408EF0)
|
|
|
|
//#define BadFloor ((int(__cdecl*)(int, int, int, int, int, short, LOT_INFO*)) 0x00409FB0)
|
|
|
|
//#define CreatureCreature ((int(__cdecl*)(short)) 0x00409E20)
|
|
|
|
//#define DropBaddyPickups ((int(__cdecl*)(ITEM_INFO*)) 0x0040C5A0)
|
2019-12-07 09:51:50 +01:00
|
|
|
//#define CreatureCollision ((void (__cdecl*)(short, ITEM_INFO*, COLL_INFO*)) 0x004124E0)
|
2019-12-14 18:24:06 +01:00
|
|
|
//#define CreatureTurn ((short (__cdecl*)(ITEM_INFO*, short)) 0x0040AE90)
|
2019-11-27 15:12:35 +01:00
|
|
|
#define _AIGuard ((short(__cdecl*)(CREATURE_INFO*)) 0x0040BBE0)
|
2019-11-21 11:29:54 +01:00
|
|
|
#define _GetAITarget ((void(__cdecl*)(CREATURE_INFO*)) 0x0040BCC0)
|
2019-12-17 17:37:53 +01:00
|
|
|
#define _FindAIObject ((int(__cdecl*)(CREATURE_INFO*,short)) 0x0040C070)
|
|
|
|
#define _SameZoneAIObject ((int(__cdecl*)(CREATURE_INFO*,short)) 0x0040C460)
|
2019-11-21 11:29:54 +01:00
|
|
|
|
2019-12-02 14:49:19 +01:00
|
|
|
void GetCreatureMood(ITEM_INFO* item, AI_INFO* info, int violent);
|
|
|
|
void CreatureMood(ITEM_INFO* item, AI_INFO* info, int violent);
|
|
|
|
void FindAITargetObject(CREATURE_INFO* creature, short objectNumber);
|
|
|
|
void GetAITarget(CREATURE_INFO* creature);
|
|
|
|
int CreatureVault(short itemNum, short angle, int vault, int shift);
|
|
|
|
void DropBaddyPickups(ITEM_INFO* item);
|
|
|
|
int MoveCreature3DPos(PHD_3DPOS* srcpos, PHD_3DPOS* destpos, int velocity, short angdif, int angadd);
|
|
|
|
void CreatureYRot2(PHD_3DPOS* srcpos, short angle, short angadd);
|
|
|
|
short SameZone(CREATURE_INFO* creature, ITEM_INFO* targetItem);
|
|
|
|
void FindAITargetObject(CREATURE_INFO* creature, short objNum);
|
|
|
|
short AIGuard(CREATURE_INFO* creature);
|
|
|
|
void AlertNearbyGuards(ITEM_INFO* item);
|
|
|
|
void AlertAllGuards(short itemNumber);
|
|
|
|
void CreatureKill(ITEM_INFO* item, int killAnim, int killState, short laraAnim);
|
|
|
|
short CreatureEffect2(ITEM_INFO* item, BITE_INFO* bite, short damage, short angle, short (*generate)(int x, int y, int z, short speed, short yrot, short roomNumber));
|
|
|
|
short CreatureEffect(ITEM_INFO* item, BITE_INFO* bite, short(*generate)(int x, int y, int z, short speed, short yrot, short roomNumber));
|
|
|
|
void CreatureUnderwater(ITEM_INFO* item, int depth);
|
|
|
|
void CreatureFloat(short itemNumber);
|
|
|
|
void CreatureJoint(ITEM_INFO* item, short joint, short required);
|
|
|
|
void CreatureTilt(ITEM_INFO* item, short angle);
|
2019-12-14 18:24:06 +01:00
|
|
|
short CreatureTurn(ITEM_INFO* item, short maximumTurn);
|
2019-12-02 14:49:19 +01:00
|
|
|
void CreatureDie(short itemNumber, int explode);
|
|
|
|
int BadFloor(int x, int y, int z, int boxHeight, int nextHeight, short roomNumber, LOT_INFO* LOT);
|
|
|
|
int CreatureCreature(short itemNumber);
|
|
|
|
int ValidBox(ITEM_INFO* item, short zoneNumber, short boxNumber);
|
|
|
|
int EscapeBox(ITEM_INFO* item, ITEM_INFO* enemy, short boxNumber);
|
|
|
|
void TargetBox(LOT_INFO* LOT, short boxNumber);
|
|
|
|
int UpdateLOT(LOT_INFO* LOT, int expansion);
|
|
|
|
int SearchLOT(LOT_INFO* LOT, int expansion);
|
|
|
|
int CreatureActive(short itemNumber);
|
|
|
|
void InitialiseCreature(short itemNumber);
|
|
|
|
int StalkBox(ITEM_INFO* item, ITEM_INFO* enemy, short boxNumber);
|
|
|
|
void CreatureAIInfo(ITEM_INFO* item, AI_INFO* info);
|
|
|
|
TARGET_TYPE CalculateTarget(PHD_VECTOR* target, ITEM_INFO* item, LOT_INFO* LOT);
|
|
|
|
int CreatureAnimation(short itemNumber, short angle, short tilt);
|
2019-12-23 23:10:24 +01:00
|
|
|
void AdjustStopperFlag(ITEM_INFO* item, int dir, int set);
|
2018-08-19 09:46:58 +02:00
|
|
|
|
|
|
|
void Inject_Box();
|
|
|
|
|