Herr Otto Partz says you're all nothing but pipsqueaks!
int16_t sine_table2[SIN_STEPS + 1];
for (int i = 0; i <= SIN_STEPS; ++i) { // +1 for last 90 degree
double angle = (M_PI / 2.0) * i / SIN_STEPS; // 0 .. Pi/2
int16_t val = (int16_t)round(SIN_SCALE * sin(angle));
sine_table2[i] = val;
}#define ATAN_STEPS 0x100 // 256 steps
#define ATAN_SCALE 128.0 / (M_PI / 4.0) // map radians 0..Pi/4 --> 0..128
std::vector<uint8_t> atan_table2(ATAN_STEPS + 1);
for (int i = 0; i <= ATAN_STEPS; ++i) {
double ratio = (double)i / ATAN_STEPS; // x/y ratio, 0..1
double angle = atan(ratio); // radians, 0..Pi/4
uint8_t val = (uint8_t)round(angle * ATAN_SCALE);
atan_table2[i] = val;
}
int16_t int_atan2(int16_t x, int16_t y)
{
if (x == 0 && y == 0) return 0;
double ang = atan2((double)x, (double)y);
int16_t v = round(ang * 512.0 / M_PI);
if (v > 512) v = 512;
if (v < -511) v = -511;
return v;
}
int16_t int_sin(uint16_t angle) {
double radians = angle * M_PI / 512.0; // 10-Bit angle -> 0..2Pi
return (int16_t)(sin(radians) * SCALE + 0.5); // rounded
}Quote from: Daniel3D on October 10, 2025, 09:20:31 PMthere are several kind of people who fly planes at my club.
Two main groups are,
* those who built a plane piece by piece, cut and glue and paint for months to get is just the way they want..
And
* Those who buy a whole plane, mod it and go flying.


Quote from: dstien on October 11, 2025, 03:22:42 PMDoes anyone remember some particular replays that has the "can't fast-forward" bug? If not, I guess we should be able to find them automatically. All competition replays are supposed to finish successfully, while a bugged run would either crash or never cross the finish line in repldump.