| 161 | } |
| 162 | |
| 163 | void SampleVehicle::drawHud() |
| 164 | { |
| 165 | const PxVehicleWheels& focusVehicle = *mVehicleManager.getVehicle(mPlayerVehicle); |
| 166 | PxVehicleDriveDynData* driveDynData=NULL; |
| 167 | PxVehicleDriveSimData* driveSimData=NULL; |
| 168 | switch(focusVehicle.getVehicleType()) |
| 169 | { |
| 170 | case PxVehicleTypes::eDRIVE4W: |
| 171 | { |
| 172 | PxVehicleDrive4W& vehDrive4W=(PxVehicleDrive4W&)focusVehicle; |
| 173 | driveDynData=&vehDrive4W.mDriveDynData; |
| 174 | driveSimData=&vehDrive4W.mDriveSimData; |
| 175 | } |
| 176 | break; |
| 177 | case PxVehicleTypes::eDRIVENW: |
| 178 | { |
| 179 | PxVehicleDriveNW& vehDriveNW=(PxVehicleDriveNW&)focusVehicle; |
| 180 | driveDynData=&vehDriveNW.mDriveDynData; |
| 181 | driveSimData=&vehDriveNW.mDriveSimData; |
| 182 | } |
| 183 | break; |
| 184 | case PxVehicleTypes::eDRIVETANK: |
| 185 | { |
| 186 | PxVehicleDriveTank& vehDriveTank=(PxVehicleDriveTank&)focusVehicle; |
| 187 | driveDynData=&vehDriveTank.mDriveDynData; |
| 188 | driveSimData=&vehDriveTank.mDriveSimData; |
| 189 | } |
| 190 | break; |
| 191 | default: |
| 192 | PX_ASSERT(false); |
| 193 | break; |
| 194 | } |
| 195 | |
| 196 | const PxU32 currentGear=driveDynData->getCurrentGear(); |
| 197 | const PxF32 vz=mForwardSpeedHud*3.6f; |
| 198 | const PxF32 revs=driveDynData->getEngineRotationSpeed(); |
| 199 | const PxF32 maxRevs=driveSimData->getEngineData().mMaxOmega*60*0.5f/PxPi;//Convert from radians per second to rpm |
| 200 | const PxF32 invMaxRevs=driveSimData->getEngineData().getRecipMaxOmega(); |
| 201 | |
| 202 | //Draw gears and speed. |
| 203 | |
| 204 | const PxF32 x=0.5f; |
| 205 | const PxF32 y=0.18f; |
| 206 | const PxF32 length=0.1f; |
| 207 | const PxF32 textheight=0.02f; |
| 208 | |
| 209 | Renderer* renderer = getRenderer(); |
| 210 | drawBox2D(renderer, x-length-textheight, x+length+textheight, y, y+length+textheight, RendererColor(255, 255, 255), 0.5f); |
| 211 | |
| 212 | //Gear |
| 213 | char gear[PxVehicleGearsData::eGEARSRATIO_COUNT][64]= |
| 214 | { |
| 215 | "R","N","1","2","3","4","5" |
| 216 | }; |
| 217 | print(renderer, x-0.25f*textheight, y+0.02f, 0.02f, gear[currentGear]); |
| 218 | |
| 219 | //Speed |
| 220 | char speed[64]; |
nothing calls this directly
no test coverage detected