summaryrefslogtreecommitdiffstats
path: root/src/objects/ParticleObject.h
blob: 192d3703a0e6311b4c6dd9f0dd67a311d2883cc0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once

#include "Placeable.h"

enum eParticleObjectType
{
	POBJECT_PAVEMENT_STEAM,
	POBJECT_PAVEMENT_STEAM_SLOWMOTION,
	POBJECT_WALL_STEAM,
	POBJECT_WALL_STEAM_SLOWMOTION,
	POBJECT_DARK_SMOKE,
	POBJECT_FIRE_HYDRANT,
	POBJECT_CAR_WATER_SPLASH,
	POBJECT_PED_WATER_SPLASH,
	POBJECT_SPLASHES_AROUND,
	POBJECT_SMALL_FIRE,
	POBJECT_BIG_FIRE,
	POBJECT_DRY_ICE,
	POBJECT_DRY_ICE_SLOWMOTION,
	POBJECT_FIRE_TRAIL,
	POBJECT_SMOKE_TRAIL,
	POBJECT_FIREBALL_AND_SMOKE,
	POBJECT_ROCKET_TRAIL,
	POBJECT_EXPLOSION_ONCE,
	POBJECT_CATALINAS_GUNFLASH,
	POBJECT_CATALINAS_SHOTGUNFLASH,
};

class CParticleObject : CPlaceable
{
public:
	static void AddObject(uint16 type, const CVector &pos, uint8 remove);
	static void AddObject(uint16 type, const CVector &pos, float size, uint8 remove);
	static void AddObject(uint16 type, const CVector &pos, const CVector &dir, float size, uint8 remove);
	static void AddObject(uint16 type, const CVector &pos, const CVector &dir, float size, uint32, const RwRGBA &col, uint8 remove);
	static void Initialise();
	static void UpdateAll();
};