summaryrefslogtreecommitdiff
path: root/src/objects/Projectile.cpp
blob: 32bc6bdb825bb9a7d18d85edc6ec57df58492906 (plain)
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
#include "common.h"
#include "patcher.h"
#include "Projectile.h"

CProjectile::CProjectile(int32 model) : CObject()
{
	m_fMass = 1.0f;
	m_fTurnMass = 1.0f;
	m_fAirResistance = 0.99999f;
	m_fElasticity = 0.75f;
	m_fBuoyancy = GRAVITY * m_fMass * 0.1f;
	bExplosionProof = true;
	SetModelIndex(model);
	ObjectCreatedBy = MISSION_OBJECT;
}

#include <new>

class CProjectile_ : public CProjectile
{
public:
	CProjectile* ctor(int32 model) { return ::new (this) CProjectile(model); }
	void dtor(void) { CProjectile::~CProjectile(); }
};

STARTPATCHES
	InjectHook(0x4BFE30, &CProjectile_::ctor, PATCH_JUMP);
	InjectHook(0x4BFED0, &CProjectile_::dtor, PATCH_JUMP);
ENDPATCHES