Advertisement
Guest User

Untitled

a guest
Jan 12th, 2020
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.55 KB | None | 0 0
  1.     /** Apply ocean/canal speed fraction to a velocity */
  2.     uint ApplyWaterClassSpeedFrac(uint raw_speed, WaterDepth depth) const
  3.     {
  4.         bool is_ocean = depth >= WATER_DEPTH_DEEP;
  5.         WaterDepth depth_diff = WATER_DEPTH_MAX - depth;
  6.         byte speed_frac = is_ocean ? this->ocean_speed_frac : this->canal_speed_frac;
  7.         speed_frac += (depth_diff * WATER_DEPTH_MAX * (256 - speed_frac) / 256) / 4;
  8.         speed_frac = min(256, speed_frac);
  9.         /* speed_frac == 0 means no reduction while 0xFF means reduction to 1/256. */
  10.         return raw_speed * (256 - speed_frac) / 256;
  11.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement