Epic failures in the game development field.

This blog covers funny/weird issues and bugs from games that happened during development.

Send your own contributions to igetyourfail at repi.se (can be anonymous if specified)

Sunday, January 27, 2013

Strings - a fundamental component of floating point math


namespace uiVehicleComp
{
      //Convert double, float to a string with given number of decimals.
      template  T>
      eastl::string toStrDec(T const& val, const int decimals)
      {
            MallocScope ms;
            std::ostringstream ostr;
            ostr << std::fixed << std::setprecision(decimals) << val;
            return ostr.str().c_str();
      }
}


void UIVehicleComp::updateVehicleYawRotations(const GameInfo& gameInfo)
{
      using namespace uiVehicleComp;

      if (gameInfo.vehicle && gameInfo.hudData && gameInfo.hudData->getUseWeaponOrientations())
      {
            eastl::string currentYaw = toStrDec(gameInfo.vehicleYawAngle, 1);

            if(0 != currentYaw.compare(m_yawAngle))
            {
                  IUISystem::getInstance()->setData(UI_UIVEHICLECOMP_YAWANGLE, (double)atof(currentYaw.c_str()));
                  m_yawAngle = currentYaw;
            }
      }
}


Thursday, January 24, 2013

Suppress the suppressed warning?


7>Code\External\Scaleform\Src\GFxPlayer\GFxFontResource.cpp(515,17): warning : explicitly assigning a variable of type 'UByte' (aka 'unsigned char') to itself [-Wself-assign]
7>          langCode = langCode; // suppress warning
7>          ~~~~~~~~ ^ ~~~~~~~~

(Thanks Graham Wihlidal)

Blog Archive

Followers