2022-05-03 12:57:36 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace Components
|
|
|
|
{
|
|
|
|
class Bullet : public Component
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
Bullet();
|
|
|
|
|
|
|
|
private:
|
|
|
|
static Dvar::Var BGSurfacePenetration;
|
|
|
|
// Can't use Var class inside assembly stubs
|
|
|
|
static Game::dvar_t* BGBulletRange;
|
|
|
|
|
2022-12-26 09:14:22 -05:00
|
|
|
static float ContactPointSave[];
|
|
|
|
static float VCSave[];
|
|
|
|
static float CalcRicochetSave[];
|
|
|
|
|
|
|
|
static float ColorYellow[];
|
|
|
|
static float ColorBlue[];
|
|
|
|
static float ColorOrange[];
|
|
|
|
|
2022-05-03 12:57:36 -04:00
|
|
|
static float BG_GetSurfacePenetrationDepthStub(const Game::WeaponDef* weapDef, int surfaceType);
|
|
|
|
|
|
|
|
static void Bullet_FireStub();
|
2022-11-10 11:35:57 -05:00
|
|
|
|
|
|
|
static void BG_srand_Hk(unsigned int* pHoldrand);
|
2022-12-26 09:14:22 -05:00
|
|
|
|
|
|
|
static void BulletRicochet_Save(const float* contactPoint);
|
|
|
|
static void BulletRicochet_Stub();
|
|
|
|
|
|
|
|
static void CalcRicochet_Stub(const float* incoming, const float* normal, float* result);
|
|
|
|
|
|
|
|
static void _VectorMA_Stub(float* va, float scale, float* vb, float* vc);
|
|
|
|
|
|
|
|
static int Bullet_Fire_Stub(Game::gentity_s* attacker, float spread, Game::weaponParms* wp, Game::gentity_s* weaponEnt, Game::PlayerHandIndex hand, int gameTime);
|
2022-05-03 12:57:36 -04:00
|
|
|
};
|
|
|
|
}
|