SRB2's trig math lookup arrays need tweaking ...badly
You would expect SRB2 to do trig math just right, considering how intertwined with everything sine and cosine are with physics and tangent with rendering at least... Guess again.
Starting with the lookup array for sine, known as "finesine"... finesine[0] isn't 0, finesine[ANGLE_90] isn't FRACUNIT, finesine[ANGLE_180] also isn't 0, and so on. Since cosine's own lookup array, finecosine, is defined as finesine shifted up by ANGLE_90, this means finecosine is also wrong at the most important places! Brilliant
finetangent has the excuse of being used mostly for just rendering purposes internally, though that said the whole array appears to have been generated as if everything was shifted back 90°... so finetangent[0] isn't 0 but some massive negative number (assuming what was required was something close to the real tan's infinity/minus infinity for tan(90°) or such.
Given these problems, it's no surprise that things like THZ2 sliding pushers just can't help but slide to the side despite facing directly north or west etc!
I've had a go at generating my own versions of finesine and finetangent through my Python scripting knowledge ...though the formatting is not brilliant, the numbers should be fine hopefully: