TombEngine/TR5Main/Objects/oldobjects.h

165 lines
7.8 KiB
C
Raw Normal View History

2019-11-12 12:28:54 +01:00
#pragma once
#include "../Global/global.h"
2019-11-12 12:28:54 +01:00
2020-03-15 09:05:43 +01:00
//#define GuardControl ((void (__cdecl*)(short)) 0x0046F5E0)
//#define ControlSubmarine ((void (__cdecl*)(short)) 0x0045D3F0)
2019-12-29 20:15:30 +01:00
//#define ControlDoberman ((void (__cdecl*)(short)) 0x00428A10)
2020-02-01 07:54:26 +01:00
//#define ControlDog ((void (__cdecl*)(short)) 0x0043B730)
2019-12-29 20:53:05 +01:00
//#define ControlReaper ((void (__cdecl*)(short)) 0x0045DAF0)
//#define ControlLarson ((void (__cdecl*)(short)) 0x0046A080)
2020-03-15 11:15:55 +01:00
//#define HitmanControl ((void (__cdecl*)(short)) 0x0043A340)
2020-03-15 09:05:43 +01:00
//#define SniperControl ((void (__cdecl*)(short)) 0x00478250)
2020-02-01 07:54:26 +01:00
//#define InitialiseChef ((void (__cdecl*)(short)) 0x00410990) // not used anymore !
//#define ControlChef ((void (__cdecl*)(short)) 0x00410A60) // not used anymore !
2020-03-15 09:05:43 +01:00
#define GuardControlLaser ((void (__cdecl*)(short)) 0x0048CDD0)
2020-02-08 17:27:54 +01:00
//#define ControlHydra ((void (__cdecl*)(short)) 0x0043BF70)
2019-12-29 21:22:21 +01:00
//#define ControlImp ((void (__cdecl*)(short)) 0x0043BEA0)
#define ControlLightingGuide ((void (__cdecl*)(short)) 0x0048E580)
//#define ControlBrowsBeast ((void (__cdecl*)(short)) 0x0048E960)
2020-02-01 07:54:26 +01:00
//#define InitialiseLagoonWitch ((void (__cdecl*)(short)) 0x0047D2D0) // not used anymore !
//#define ControlLagoonWitch ((void (__cdecl*)(short)) 0x0047D360) // not used anymore !
//#define ControlInvisibleGhost ((void (__cdecl*)(short)) 0x00477AB0)
//#define InitialiseLittleBats ((void (__cdecl*)(short)) 0x00407EC0)
//#define ControlLittleBats ((void (__cdecl*)(short)) 0x00407F50)
2020-02-14 07:42:20 +01:00
//#define InitialiseSpiders ((void (__cdecl*)(short)) 0x0043F2B0)
//#define ControlSpiders ((void (__cdecl*)(short)) 0x0047A200)
//#define ControlGladiator ((void (__cdecl*)(short)) 0x00436700)
//#define ControlRomanStatue ((void (__cdecl*)(short)) 0x0046BC10)
//#define ControlAutoGuns ((void (__cdecl*)(short)) 0x004078A0)
//#define ControlGunShip ((void (__cdecl*)(short)) 0x00487FF0)
//#define InitialiseRomanStatue ((void (__cdecl*)(short)) 0x0046BB00) // need to check a dword_ variable before decompiling
2020-02-14 07:42:20 +01:00
extern int NextBat;
extern BAT_STRUCT* Bats;
2020-02-14 07:42:20 +01:00
extern int NextSpider;
extern SPIDER_STRUCT* Spiders;
extern int NextRat;
extern RAT_STRUCT* Rats;
void InitialiseGuard(short itemNum);
2020-03-15 09:05:43 +01:00
void InitialiseSniper(short itemNum);
void InitialiseGuardLaser(short itemNum);
void InitialiseSubmarine(short itemNum);
void InitialiseDoberman(short itemNum);
void InitialiseDog(short itemNum);
void InitialiseReaper(short itemNum);
void InitialiseLarson(short itemNum);
2020-03-15 11:15:55 +01:00
void InitialiseHitman(short itemNum);
void InitialiseHydra(short itemNum);
void InitialiseImp(short itemNum);
void InitialiseLightingGuide(short itemNum);
void InitialiseBrownBeast(short itemNum);
void InitialiseInvisibleGhost(short itemNum);
void InitialiseGladiator(short itemNum);
/// void InitialiseRomanStatue(short itemNum)
void InitialiseAutoGuns(short itemNum);
void InitialisePushableBlock(short itemNum);
void ClearMovableBlockSplitters(int x, int y, int z, short roomNumber);
void PushableBlockControl(short itemNumber);
void PushableBlockCollision(short itemNum, ITEM_INFO* laraitem, COLL_INFO* coll);
int TestBlockMovable(ITEM_INFO* item, int blokhite);
int TestBlockPush(ITEM_INFO* item, int blokhite, unsigned short quadrant);
2019-12-24 13:52:22 +01:00
int TestBlockPull(ITEM_INFO* item, int blokhite, short quadrant);
2020-03-15 09:05:43 +01:00
void GuardControl(short itemNum);
2019-12-29 20:53:05 +01:00
void ControlDoberman(short itemNumber);
void ControlReaper(short itemNumber);
2020-03-15 09:05:43 +01:00
void SniperControl(short itemNumber);
2019-12-29 21:22:21 +01:00
void ImpThrowStones(ITEM_INFO* item);
void ControlImp(short itemNumber);
void ControlGladiator(short itemNumber);
void ControlBrowsBeast(short itemNumber);
void ControlInvisibleGhost(short itemNumber);
2019-12-29 23:53:48 +01:00
short GetNextRat();
void ControlLittleRats(short itemNumber);
2020-03-15 09:05:43 +01:00
void InitialiseMafia2(short itemNum);
void Mafia2Control(short itemNum);
void ControlDog(short itemNumber);
void ControlLarson(short itemNumber);
void InitialiseRaisingBlock(short itemNumber);
2020-01-05 10:11:54 +01:00
void ControlRaisingBlock(short itemNumber);
void InitialiseTeethSpikes(short itemNumber);
int CollidedWithTeethSpikes(ITEM_INFO* item);
void ControlTeethSpikes(short itemNumber);
void PulseLightControl(short itemNumber);
void TriggerAlertLight(int x, int y, int z, int r, int g, int b, int rot, __int16 roomNumber, __int16 falloff);
void StrobeLightControl(short itemNumber);
void ColorLightControl(short itemNumber);
void ElectricalLightControl(short itemNumber);
void BlinkingLightControl(short itemNumber);
void InitialiseTwoBlocksPlatform(short itemNumber);
void TwoBlocksPlatformControl(short itemNumber);
void TwoBlocksPlatformFloor(ITEM_INFO* item, int x, int y, int z, int* height);
void TwoBlocksPlatformCeiling(ITEM_INFO* item, int x, int y, int z, int* height);
int IsOnTwoBlocksPlatform(ITEM_INFO* item, int x, int z);
void InitialiseRaisingCog(short itemNumber);
void RaisingCogControl(short itemNumber);
void TriggerElectricityWiresSparks(int x, int z, char objNum, char node, int flags);
void TriggerLaraElectricitySparks(int flame);
int ElectricityWireCheckDeadlyBounds(PHD_VECTOR* pos, short delta);
void ElectricityWiresControl(short itemNumber);
void InitialiseRomeHammer(short itemNumber);
void InitialiseSmokeEmitter(short itemNumber);
void SmokeEmitterControl(short itemNumber);
2020-01-20 18:10:17 +01:00
void RomanStatueHitEffect(ITEM_INFO* item, PHD_VECTOR* pos, int joint);
void TriggerRomanStatueShockwaveAttackSparks(int x, int y, int z, byte r, byte g, byte b, byte size);
2020-01-20 18:10:17 +01:00
void TriggerRomanStatueScreamingSparks(int x, int y, int z, short xv, short yv, short zv, int flags);
void TriggerRomanStatueAttackEffect1(short itemNum, int factor);
void RomanStatueAttack(PHD_3DPOS* pos, short roomNumber, short count);
void TriggerRomanStatueMissileSparks(PHD_VECTOR* pos, char fxObj);
void InitialiseRomanStatue(short itemNum);
void ControlRomanStatue(short itemNumber);
void InitialiseTeleporter(short itemNumber);
void ControlTeleporter(short itemNumber);
2020-01-22 21:22:35 +01:00
void InitialiseHighObject1(short itemNumber);
void ControlHighObject1(short itemNumber);
void VentilatorEffect(short* bounds, int intensity, short rot, int speed);
void InitialiseVentilator(short itemNumber);
void VentilatorControl(short itemNumber);
void GenSlot1Control(short itemNumber);
void InitialiseGenSlot3(short itemNumber);
void DartControl(short itemNumber);
void DartEmitterControl(short itemNumber);
void FallingCeilingControl(short itemNumber);
2020-01-29 07:16:33 +01:00
void RollingBallCollision(short itemNumber, ITEM_INFO* l, COLL_INFO* coll);
2020-01-29 08:29:15 +01:00
void RollingBallControl(short itemNumber);
void DeathSlideCollision(short itemNumber, ITEM_INFO* l, COLL_INFO* coll);
void ControlDeathSlide(short itemNumber);
void InitialiseDeathSlide(short itemNumber);
void ControlSubmarine(short itemNumber);
void TriggerTorpedoBubbles(PHD_VECTOR* pos1, PHD_VECTOR* pos2, char factor);
void TriggerSubmarineSparks(short itemNumber);
void SubmarineAttack(ITEM_INFO* item);
void TriggerTorpedoSparks2(PHD_VECTOR* pos1, PHD_VECTOR* pos2, char scale);
void ChaffFlareControl(short itemNumber);
void TorpedoControl(short itemNumber);
void InitialiseLittleBats(short itemNumber);
void ControlLittleBats(short itemNumber);
2020-02-14 07:42:20 +01:00
short GetNextBat();
2020-02-01 07:54:26 +01:00
void TriggerLittleBat(ITEM_INFO* item);
2020-03-15 11:15:55 +01:00
void TriggerHitmanSparks(int x, int y, int z, short xv, short yv, short zv);
void HitmanControl(short itemNumber);
2020-02-08 17:27:54 +01:00
void ControlGunShip(short itemNumber);
void ControlHydra(short itemNumber);
void TriggerHydraSparks(short itemNumber, int frame);
void HydraBubblesAttack(PHD_3DPOS* pos, short roomNumber, int count);
void TriggerHydraMissileSparks(PHD_VECTOR* pos, short xv, short yv, short zv);
void TriggerAutoGunSmoke(PHD_VECTOR* pos, char shade);
2020-02-13 19:17:42 +01:00
void ControlAutoGuns(short itemNumber);
void TriggerGuardianSparks(PHD_VECTOR* pos, int count, byte r, byte g, byte b, int unk);
2020-03-22 12:27:12 +01:00
void GuardianCharge(ITEM_INFO* item);
2020-02-14 07:42:20 +01:00
short GetNextSpider();
void ControlSpiders(short itemNumber);
void InitialiseSpiders(short itemNumber);
void ClearSpidersPatch(ITEM_INFO* item);
void ClearSpiders();
void InitialiseLittleRats(short itemNumber);
void ClearRats();
void UpdateSpiders();
void UpdateRats();
void UpdateBats();
void MissileControl(short itemNumber);
void InitialiseGuardian(short itemNumber);
void GuardianControl(short itemNumber);