I don't see any reason why the realistic drag formula wouldn't be used over the simplified one. It wouldn't really be any more complicated to set up in game either way. Bullet positions aren't solved analytically, they're integrated frame by frame from velocity, which is integrated from acceleration.

The numbers make sense too. Just use the drag equation and F=ma, then just solve for acceleration and roll everything that isn't velocity into a single constant, drag.

Instantaneous acceleration = v^2 * drag

For G98, that would be 880^2 * 0.0025 for the first frame, or 1936m/s^2 acceleration, which seems really high, but remember it's applied over a short time. At 60 frames per second, that would be around 32m/s less for the next frame.

For the second frame we'd have 848^2 * 0.0025, which is 1798m/s^2, and -30m/s in the next frame.

For the third frame we have 818^2 * 0.0025, 1673m/s^2, and -28m/s in the next frame.

The bullet would have a velocity of ~790m/s on the fourth frame. I'm stopping here, but the math would keep repeating for each frame.

To get position we just multiply the velocity in the frame by the delta (1/60 for 60fps) and then sum them.

So first frame gives a travel distance of 14.667m, second 14.133, third 13.633, fourth 13.1667, etc.

Summing those we get a travel distance of around 55.6m, for an average velocity of 834m/s for the first four frames. The more frames we calculate for, the more average velocity will be reduced by drag.