summaryrefslogtreecommitdiffstats
path: root/src/objects/Projectile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/objects/Projectile.cpp')
-rw-r--r--src/objects/Projectile.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/objects/Projectile.cpp b/src/objects/Projectile.cpp
index c6c2d6e1..38bbfdfa 100644
--- a/src/objects/Projectile.cpp
+++ b/src/objects/Projectile.cpp
@@ -2,12 +2,26 @@
#include "patcher.h"
#include "Projectile.h"
+CProjectile::CProjectile(int32 model) : CObject()
+{
+ m_fMass = 1.0f;
+ m_fTurnMass = 1.0f;
+ m_fAirResistance = 0.99f;
+ m_fElasticity = 0.75f;
+ m_fBuoyancy = GRAVITY * m_fMass * 0.1f;
+ bExplosionProof = true;
+ SetModelIndex(model);
+ ObjectCreatedBy = MISSION_OBJECT;
+}
+
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