2018-08-19 09:46:58 +02:00
|
|
|
#pragma once
|
2019-12-22 00:20:10 +01:00
|
|
|
#include "..\Global\types.h"
|
2020-01-20 18:10:17 +01:00
|
|
|
#include "..\Global\constants.h"
|
2018-08-19 09:46:58 +02:00
|
|
|
|
Decompiled ID_DARTS, ID_DART_EMITTER, ID_FALLING_CEILING, ID_PROPELLER_H, ID_PROPELLER_V, KillAllTriggersControl, InitialiseFlameEmitter, FlameEmitterCollision, InitialiseFlameEmitter2 , GenSlot1Control, InitialiseGenSlot3, InitialiseGenSlot4;
2020-01-28 07:30:58 +01:00
|
|
|
struct ENERGY_ARC
|
|
|
|
{
|
|
|
|
PHD_VECTOR pos1; // 0
|
2020-03-19 20:15:15 +01:00
|
|
|
short rotation; // 12
|
|
|
|
short filler[5];
|
Decompiled ID_DARTS, ID_DART_EMITTER, ID_FALLING_CEILING, ID_PROPELLER_H, ID_PROPELLER_V, KillAllTriggersControl, InitialiseFlameEmitter, FlameEmitterCollision, InitialiseFlameEmitter2 , GenSlot1Control, InitialiseGenSlot3, InitialiseGenSlot4;
2020-01-28 07:30:58 +01:00
|
|
|
PHD_VECTOR pos3; // 24
|
|
|
|
PHD_VECTOR pos4; // 36
|
|
|
|
byte r; // 48
|
|
|
|
byte g; // 49
|
|
|
|
byte b; // 50
|
2020-03-18 20:22:58 +01:00
|
|
|
short sLife; // 52
|
|
|
|
short life; // 51
|
|
|
|
short amplitude;
|
|
|
|
short segmentSize; // 64
|
2020-03-19 20:15:15 +01:00
|
|
|
short sAmplitude; // 53
|
|
|
|
byte type; // 61
|
Decompiled ID_DARTS, ID_DART_EMITTER, ID_FALLING_CEILING, ID_PROPELLER_H, ID_PROPELLER_V, KillAllTriggersControl, InitialiseFlameEmitter, FlameEmitterCollision, InitialiseFlameEmitter2 , GenSlot1Control, InitialiseGenSlot3, InitialiseGenSlot4;
2020-01-28 07:30:58 +01:00
|
|
|
byte flags; // 62
|
2020-03-19 20:15:15 +01:00
|
|
|
signed char direction; // 63
|
Decompiled ID_DARTS, ID_DART_EMITTER, ID_FALLING_CEILING, ID_PROPELLER_H, ID_PROPELLER_V, KillAllTriggersControl, InitialiseFlameEmitter, FlameEmitterCollision, InitialiseFlameEmitter2 , GenSlot1Control, InitialiseGenSlot3, InitialiseGenSlot4;
2020-01-28 07:30:58 +01:00
|
|
|
};
|
|
|
|
|
2020-03-19 20:15:15 +01:00
|
|
|
#define ENERGY_ARC_STRAIGHT_LINE 0
|
|
|
|
#define ENERGY_ARC_CIRCLE 1
|
|
|
|
|
2020-01-16 19:14:35 +01:00
|
|
|
extern int LaserSightX;
|
|
|
|
extern int LaserSightY;
|
|
|
|
extern int LaserSightZ;
|
|
|
|
extern char LaserSightActive;
|
|
|
|
extern char LaserSightCol;
|
2020-01-07 17:33:13 -03:00
|
|
|
|
2019-12-22 00:20:10 +01:00
|
|
|
extern int NextFireSpark;
|
|
|
|
extern int NextSmokeSpark;
|
|
|
|
extern int NextBubble;
|
|
|
|
extern int NextDrip;
|
|
|
|
extern int NextBlood;
|
|
|
|
extern int NextSpider;
|
|
|
|
extern int NextGunShell;
|
|
|
|
|
2020-01-20 18:10:17 +01:00
|
|
|
extern SMOKE_SPARKS SmokeSparks[MAX_SPARKS_SMOKE];
|
2020-03-16 12:36:29 +01:00
|
|
|
extern ENERGY_ARC EnergyArcs[MAX_ENERGY_ARCS];
|
2020-01-20 18:10:17 +01:00
|
|
|
|
2019-12-22 00:20:10 +01:00
|
|
|
void TriggerBlood(int x, int y, int z, int unk, int num);
|
|
|
|
void TriggerExplosionBubble(int x, int y, int z, short roomNum);
|
|
|
|
int GetFreeFireSpark();
|
|
|
|
void TriggerGlobalStaticFlame();
|
|
|
|
void TriggerGlobalFireSmoke();
|
|
|
|
void TriggerGlobalFireFlame();
|
|
|
|
void keep_those_fires_burning();
|
|
|
|
void ClearFires();
|
|
|
|
void AddFire(int x, int y, int z, char size, short roomNum, short on);
|
|
|
|
void UpdateFireSparks();
|
|
|
|
int GetFreeSmokeSpark();
|
|
|
|
void UpdateSmoke();
|
|
|
|
byte TriggerGunSmoke_SubFunction(int weaponType);
|
|
|
|
void TriggerGunSmoke(int x, int y, int z, short xv, short yv, short zv, byte initial, int weaponType, byte count);
|
|
|
|
void TriggerShatterSmoke(int x, int y, int z);
|
|
|
|
int GetFreeBlood();
|
|
|
|
void TriggerBlood(int x, int y, int z, int unk, int num);
|
|
|
|
void UpdateBlood();
|
|
|
|
int GetFreeGunshell();
|
|
|
|
void TriggerGunShell(short hand, short objNum, int weaponType);
|
|
|
|
void UpdateGunShells();
|
|
|
|
void AddWaterSparks(int x, int y, int z, int num);
|
|
|
|
int GetFreeBubble();
|
|
|
|
void CreateBubble(PHD_VECTOR* pos, short roomNum, int unk1, int unk2, int flags, int xv, int yv, int zv);
|
|
|
|
void LaraBubbles(ITEM_INFO* item);
|
|
|
|
void UpdateBubbles();
|
|
|
|
int GetFreeDrip();
|
|
|
|
void UpdateDrips();
|
|
|
|
void TriggerLaraDrips();
|
|
|
|
int ExplodingDeath2(short itemNumber, int meshBits, short damage);
|
|
|
|
int GetFreeShockwave();
|
|
|
|
void TriggerShockwave(PHD_3DPOS* pos, short innerRad, short outerRad, int speed, char r, char g, char b, char life, short angle, short flags);
|
|
|
|
void TriggerShockwaveHitEffect(int x, int y, int z, int color, short rot, int vel);
|
|
|
|
void UpdateShockwaves();
|
|
|
|
void TriggerSmallSplash(int x, int y, int z, int num);
|
2019-12-28 15:29:33 +01:00
|
|
|
void SetFadeClip(short height, short speed);
|
2020-01-21 21:25:24 +01:00
|
|
|
void TriggerLightningGlow(int x, int y, int z, int rgb);
|
2020-03-19 20:15:15 +01:00
|
|
|
void TriggerEnergyArc(PHD_VECTOR* start, PHD_VECTOR* end, byte r, byte g, byte b, short segmentSize, short life, short amplitude, byte type);
|
2020-03-16 12:36:29 +01:00
|
|
|
void UpdateEnergyArcs();
|
2019-12-22 00:20:10 +01:00
|
|
|
|
|
|
|
void Inject_Tomb4FX();
|