diff --git a/src/helpers.cpp b/src/helpers.cpp index d8211af8..358cf41f 100644 --- a/src/helpers.cpp +++ b/src/helpers.cpp @@ -968,8 +968,6 @@ bool LineIntersectsBox(Vector &bmin, Vector &bmax, Vector &lmin, Vector &lmax) return true; } -// TODO add bison and grapple hook -// TODO FIX this function bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity) { float rspeed, rgrav; @@ -982,16 +980,20 @@ bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity) rgrav = 0.0f; 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; + break; } - else if (classid == CL_CLASS(CTFRocketLauncher)) + case CL_CLASS(CTFRocketLauncher): { rspeed = 1100.0f; + break; } - else if (classid == CL_CLASS(CTFGrenadeLauncher)) + case CL_CLASS(CTFGrenadeLauncher): { IF_GAME(IsTF2()) { @@ -1003,8 +1005,9 @@ bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity) rspeed = 1100.0f; rgrav = 0.5f; } + break; } - else if (classid == CL_CLASS(CTFPipebombLauncher)) + case CL_CLASS(CTFPipebombLauncher): { float chargebegin = *((float *) ((unsigned) RAW_ENT(LOCAL_W) + 3152)); 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; rgrav = (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 = 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) * -0.40000001) + 0.5); + break; } - else if (classid == CL_CLASS(CTFBat_Wood)) + case CL_CLASS(CTFBat_Wood): { rspeed = 3000.0f; rgrav = 0.5f; + break; } - else if (classid == CL_CLASS(CTFFlareGun)) + case CL_CLASS(CTFFlareGun): { rspeed = 2000.0f; rgrav = 0.25f; + break; } - else if (classid == CL_CLASS(CTFSyringeGun)) + case CL_CLASS(CTFSyringeGun): { rgrav = 0.2f; rspeed = 990.0f; + break; } - else if (classid == CL_CLASS(CTFCrossbow)) + case CL_CLASS(CTFCrossbow): { rgrav = 0.2f; rspeed = 2400.0f; + break; } - else if (classid == CL_CLASS(CTFShotgunBuildingRescue)) + case CL_CLASS(CTFShotgunBuildingRescue): { rgrav = 0.2f; rspeed = 2400.0f; + break; } - else if (classid == CL_CLASS(CTFDRGPomson)) + case CL_CLASS(CTFDRGPomson): { rspeed = 1200.0f; + break; } - else if (classid == CL_CLASS(CTFWeaponFlameBall)) + case CL_CLASS(CTFWeaponFlameBall): { - // ?? - rspeed = 2500.0f; + rspeed = 3000.0f; + break; } + case CL_CLASS(CTFRaygun): + { + rspeed = 1200.0f; + break; + } + case CL_CLASS(CTFGrapplingHook): + { + rspeed = 1500.0f; + break; + } + } + speed = rspeed; gravity = rgrav; return (rspeed || rgrav); diff --git a/src/visual/drawing.cpp b/src/visual/drawing.cpp index b5657925..3d13d8dd 100644 --- a/src/visual/drawing.cpp +++ b/src/visual/drawing.cpp @@ -70,7 +70,6 @@ void AddCenterString(const std::string &string, const rgba_t &color) ++center_strings_count; } -// TODO globals int draw::width = 0; int draw::height = 0; float draw::fov = 90.0f;