switch tf

This commit is contained in:
TotallyNotElite 2018-07-30 12:32:13 +02:00
parent 5a9b482519
commit 0249521086
2 changed files with 40 additions and 18 deletions

View File

@ -968,8 +968,6 @@ bool LineIntersectsBox(Vector &bmin, Vector &bmax, Vector &lmin, Vector &lmax)
return true; return true;
} }
// TODO add bison and grapple hook
// TODO FIX this function
bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity) bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity)
{ {
float rspeed, rgrav; float rspeed, rgrav;
@ -982,16 +980,20 @@ bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity)
rgrav = 0.0f; rgrav = 0.0f;
typedef float(GetProjectileData)(IClientEntity *); typedef float(GetProjectileData)(IClientEntity *);
int classid = weapon->m_iClassID();
if (classid == CL_CLASS(CTFRocketLauncher_DirectHit)) switch (weapon->m_iClassID())
{
case CL_CLASS(CTFRocketLauncher_DirectHit):
{ {
rspeed = 1980.0f; rspeed = 1980.0f;
break;
} }
else if (classid == CL_CLASS(CTFRocketLauncher)) case CL_CLASS(CTFRocketLauncher):
{ {
rspeed = 1100.0f; rspeed = 1100.0f;
break;
} }
else if (classid == CL_CLASS(CTFGrenadeLauncher)) case CL_CLASS(CTFGrenadeLauncher):
{ {
IF_GAME(IsTF2()) IF_GAME(IsTF2())
{ {
@ -1003,8 +1005,9 @@ bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity)
rspeed = 1100.0f; rspeed = 1100.0f;
rgrav = 0.5f; rgrav = 0.5f;
} }
break;
} }
else if (classid == CL_CLASS(CTFPipebombLauncher)) case CL_CLASS(CTFPipebombLauncher):
{ {
float chargebegin = *((float *) ((unsigned) RAW_ENT(LOCAL_W) + 3152)); float chargebegin = *((float *) ((unsigned) RAW_ENT(LOCAL_W) + 3152));
float chargetime = g_GlobalVars->curtime - chargebegin; float chargetime = g_GlobalVars->curtime - chargebegin;
@ -1012,8 +1015,9 @@ bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity)
(fminf(fmaxf(chargetime / 4.0f, 0.0f), 1.0f) * 1500.0f) + 900.0f; (fminf(fmaxf(chargetime / 4.0f, 0.0f), 1.0f) * 1500.0f) + 900.0f;
rgrav = rgrav =
(fminf(fmaxf(chargetime / 4.0f, 0.0f), 1.0f) * -0.70000001f) + 0.5f; (fminf(fmaxf(chargetime / 4.0f, 0.0f), 1.0f) * -0.70000001f) + 0.5f;
break;
} }
else if (classid == CL_CLASS(CTFCompoundBow)) case CL_CLASS(CTFCompoundBow):
{ {
float chargetime = float chargetime =
g_GlobalVars->curtime - CE_FLOAT(weapon, netvar.flChargeBeginTime); g_GlobalVars->curtime - CE_FLOAT(weapon, netvar.flChargeBeginTime);
@ -1022,41 +1026,60 @@ bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity)
rgrav = (float) ((float) (fminf(fmaxf(chargetime, 0.0), 1.0) * rgrav = (float) ((float) (fminf(fmaxf(chargetime, 0.0), 1.0) *
-0.40000001) + -0.40000001) +
0.5); 0.5);
break;
} }
else if (classid == CL_CLASS(CTFBat_Wood)) case CL_CLASS(CTFBat_Wood):
{ {
rspeed = 3000.0f; rspeed = 3000.0f;
rgrav = 0.5f; rgrav = 0.5f;
break;
} }
else if (classid == CL_CLASS(CTFFlareGun)) case CL_CLASS(CTFFlareGun):
{ {
rspeed = 2000.0f; rspeed = 2000.0f;
rgrav = 0.25f; rgrav = 0.25f;
break;
} }
else if (classid == CL_CLASS(CTFSyringeGun)) case CL_CLASS(CTFSyringeGun):
{ {
rgrav = 0.2f; rgrav = 0.2f;
rspeed = 990.0f; rspeed = 990.0f;
break;
} }
else if (classid == CL_CLASS(CTFCrossbow)) case CL_CLASS(CTFCrossbow):
{ {
rgrav = 0.2f; rgrav = 0.2f;
rspeed = 2400.0f; rspeed = 2400.0f;
break;
} }
else if (classid == CL_CLASS(CTFShotgunBuildingRescue)) case CL_CLASS(CTFShotgunBuildingRescue):
{ {
rgrav = 0.2f; rgrav = 0.2f;
rspeed = 2400.0f; rspeed = 2400.0f;
break;
} }
else if (classid == CL_CLASS(CTFDRGPomson)) case CL_CLASS(CTFDRGPomson):
{ {
rspeed = 1200.0f; rspeed = 1200.0f;
break;
} }
else if (classid == CL_CLASS(CTFWeaponFlameBall)) case CL_CLASS(CTFWeaponFlameBall):
{ {
// ?? rspeed = 3000.0f;
rspeed = 2500.0f; break;
} }
case CL_CLASS(CTFRaygun):
{
rspeed = 1200.0f;
break;
}
case CL_CLASS(CTFGrapplingHook):
{
rspeed = 1500.0f;
break;
}
}
speed = rspeed; speed = rspeed;
gravity = rgrav; gravity = rgrav;
return (rspeed || rgrav); return (rspeed || rgrav);

View File

@ -70,7 +70,6 @@ void AddCenterString(const std::string &string, const rgba_t &color)
++center_strings_count; ++center_strings_count;
} }
// TODO globals
int draw::width = 0; int draw::width = 0;
int draw::height = 0; int draw::height = 0;
float draw::fov = 90.0f; float draw::fov = 90.0f;