2018-08-19 09:46:58 +02:00
|
|
|
#pragma once
|
2020-03-29 17:41:34 +02:00
|
|
|
#include <d3d11.h>
|
2018-08-19 09:46:58 +02:00
|
|
|
#include "..\Global\global.h"
|
|
|
|
|
2020-03-29 17:41:34 +02:00
|
|
|
#define RIPPLE_FLAG_BLOOD 0x80
|
|
|
|
#define RIPPLE_FLAG_RAND_POS 0x40
|
|
|
|
#define RIPPLE_FLAG_RAND_ROT 0x20
|
|
|
|
#define RIPPLE_FLAG_SHORT_LIFE 0x01
|
|
|
|
|
|
|
|
struct RIPPLE_STRUCT
|
|
|
|
{
|
|
|
|
Vector4 currentColor;
|
|
|
|
Vector4 initialColor;
|
|
|
|
Vector3 worldPos;
|
|
|
|
unsigned int SpriteID;
|
|
|
|
float rotation;
|
|
|
|
float size;
|
|
|
|
float sizeRate;
|
|
|
|
float life; //max life
|
|
|
|
float lifeTime; // current life
|
|
|
|
float lifeRate; // life change rate
|
|
|
|
bool active;
|
|
|
|
bool isBillboard; //used for Blood
|
|
|
|
};
|
2019-12-02 09:11:21 +01:00
|
|
|
|
2020-03-29 17:41:34 +02:00
|
|
|
struct SPLASH_SETUP
|
|
|
|
{
|
|
|
|
float x;
|
|
|
|
float y;
|
|
|
|
float z;
|
|
|
|
float splashPower;
|
|
|
|
float innerRadius;
|
|
|
|
};
|
2019-12-29 12:23:36 +01:00
|
|
|
extern SPLASH_STRUCT Splashes[MAX_SPLASH];
|
2019-12-22 00:20:10 +01:00
|
|
|
extern RIPPLE_STRUCT Ripples[32];
|
|
|
|
extern int DeadlyBounds[6];
|
|
|
|
extern SPARKS Sparks[1024];
|
|
|
|
extern SP_DYNAMIC SparkDynamics[8];
|
|
|
|
extern SPLASH_SETUP SplashSetup;
|
|
|
|
extern int SmokeWeapon;
|
|
|
|
extern int SmokeCountL;
|
|
|
|
extern int SmokeCountR;
|
2020-01-16 19:14:35 +01:00
|
|
|
extern PHD_VECTOR NodeVectors[16];
|
|
|
|
extern NODEOFFSET_INFO NodeOffsets[16];
|
2019-12-22 00:20:10 +01:00
|
|
|
|
|
|
|
void DetatchSpark(int num, int type);
|
|
|
|
int GetFreeSpark();
|
|
|
|
void UpdateSparks();
|
|
|
|
void TriggerRicochetSpark(GAME_VECTOR* pos, short angle, int num, int unk);
|
|
|
|
void TriggerCyborgSpark(int x, int y, int z, short xv, short yv, short zv);
|
|
|
|
void TriggerExplosionSparks(int x, int y, int z, int extraTrig, int dynamic, int uw, int roomNumber);
|
|
|
|
void TriggerExplosionSmokeEnd(int x, int y, int z, int uw);
|
|
|
|
void TriggerExplosionSmoke(int x, int y, int z, int uw);
|
|
|
|
void TriggerFireFlame(int x, int y, int z, int fxObj, int type);
|
|
|
|
void TriggerSuperJetFlame(ITEM_INFO* item, int yvel, int deadly);
|
2019-12-29 12:23:36 +01:00
|
|
|
void SetupSplash(const SPLASH_SETUP* const setup);
|
2019-12-22 00:20:10 +01:00
|
|
|
void UpdateSplashes();
|
|
|
|
void SetupRipple(int x, int y, int z, char size, char flags);
|
|
|
|
void TriggerUnderwaterBlood(int x, int y, int z, int sizeme);
|
|
|
|
void TriggerWaterfallMist(int x, int y, int z, int angle);
|
|
|
|
void TriggerDartSmoke(int x, int y, int z, int xv, int zv, int hit);
|
|
|
|
void KillAllCurrentItems(short itemNumber);
|
2019-12-02 14:49:19 +01:00
|
|
|
void TriggerDynamicLight(int x, int y, int z, short falloff, byte r, byte g, byte b);
|
2019-12-22 00:20:10 +01:00
|
|
|
void ClearDynamicLights();
|
2019-12-02 14:49:19 +01:00
|
|
|
void TriggerRocketFlame(int x, int y, int z, int xv, int yv, int zv, int itemNumber);
|
|
|
|
void TriggerRocketSmoke(int x, int y, int z, int bodyPart);
|
|
|
|
void GrenadeLauncherSpecialEffect1(int x, int y, int z, int flag1, int flag2);
|
|
|
|
void GrenadeExplosionEffects(int x, int y, int z, short roomNumber);
|
|
|
|
void TriggerMetalSparks(int x, int y, int z, int xv, int yv, int zv, int additional);
|
2019-12-22 00:20:10 +01:00
|
|
|
void WadeSplash(ITEM_INFO* item, int wh, int wd);
|
2020-04-24 19:15:05 +02:00
|
|
|
void Splash(ITEM_INFO* item);
|