News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

Recent posts

#1
Motor sports, Racing / Re: F1 2025
Last post by alanrotoi - Yesterday at 12:46:41 AM
I put my money on Colapinto (not Alpine) ::)
#2
Competition 2025 / Re: ZCT292 - Skilious
Last post by alanrotoi - Yesterday at 12:32:52 AM
Quote from: Zapper on October 21, 2025, 06:04:45 PMI dare you all to be "Skilious" on this track ;)

How appropiate. You fight like a cow.
 ;D

https://monkeyisland.fandom.com/wiki/Insult_Sword_Fighting
#3
Motor sports, Racing / Re: F1 2025
Last post by Duplode - October 21, 2025, 11:58:49 PM
Come to think of it, there are echoes of 2007 Raikonnen vs. McLaren. It will be an impressive feat if McLaren manages to fumble the driver's title -- it's surely not beyond them!
#4
Motor sports, Racing / F1 2025
Last post by CTG - October 21, 2025, 10:08:17 PM
This season reminds me on 2007.

Rivals at McLaren, the British one is favoured. A great talent in another team, coming up like groundwater.

Put your money on Verstappen. I don't really like him, but I admit he's probably in Senna / Schumacher tier. (Hamilton, despite of his 7 titles, was never there...)
#5
Competition 2025 / ZCT292 - Skilious
Last post by Zapper - October 21, 2025, 06:04:45 PM
Hello Stunters,

Welcome to ZCT292!
A track around and over couple islands near land shore that is GAR "friendly" ::)  and PG "nightmare" >:( .
I dare you all to be "Skilious" on this track ;)



(looking forward for how skills are shown until the "finish line")
#6
Competition and Website / Re: Server upgrade 2022 (stuff...
Last post by dreadnaut - October 21, 2025, 02:31:26 PM
Thank you, should be solved now 👍
#7
Competition and Website / Re: Server upgrade 2022 (stuff...
Last post by MiDiaN - October 21, 2025, 10:28:00 AM
Quote from: Daniel3D on September 02, 2022, 04:18:11 PMBut there's an error.

Screenshot_20220902-161909.png There was a problem during the uploading of Screenshot_20220902-161909.png.
The upload directory is full. Please contact an administrator about this problem. 0.2 MB

I got this right now while trying to upload an animated gif on my team forum.
#8
Stunts Reverse Engineering / Re: Restunts repository - Git ...
Last post by llm - October 21, 2025, 10:10:13 AM
cleanuped version of the math.h usage with some tests

#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#define _USE_MATH_DEFINES
#include <math.h>
#include "stunts_math.hpp"

namespace math_h_test
{
#define SCALE_BITS 14
#define SCALE (1 << SCALE_BITS)

// 0x400 steps = 2Pi
#define ANGLE_TO_RAD(a) ((a) * (M_PI / 512.0))
#define RAD_TO_ANGLE(r) ((r) * (512.0 / M_PI))

#define TO_FIXED(x)   ((int16_t)lround((x) * SCALE))
#define FROM_FIXED(x) ((double)(x) / SCALE)

    int16_t int_sin_math(uint16_t angle)
    {
        return TO_FIXED(sin(ANGLE_TO_RAD(angle)));
    }

    int16_t int_cos_math(uint16_t angle)
    {
        return TO_FIXED(cos(ANGLE_TO_RAD(angle)));
    }

    int16_t int_atan2_math(int16_t x, int16_t y)
    {
        double ang = atan2((double)x, (double)y);
        return (int16_t)lround(RAD_TO_ANGLE(ang));
    }

    int16_t int_hypot_math(int16_t x, int16_t y)
    {
        return TO_FIXED(hypot(FROM_FIXED(x), FROM_FIXED(y)));
    }

    int16_t int_hypot_3d_math(const VECTOR* v)
    {
        double dx = FROM_FIXED(v->x);
        double dy = FROM_FIXED(v->y);
        double dz = FROM_FIXED(v->z);
        return TO_FIXED(sqrt(dx * dx + dy * dy + dz * dz));
    }

    void test_sin_cos(void)
    {
        printf("=== SIN/COS compare ===\n");
        int max_diff_sin = 0, max_diff_cos = 0;

        for (int a = -0x400; a <= 0x400; ++a) {
            int16_t ref_sin = int_sin((uint16_t)a);
            int16_t ref_cos = int_cos((uint16_t)a);
            int16_t new_sin = int_sin_math((uint16_t)a);
            int16_t new_cos = int_cos_math((uint16_t)a);

            int diff_sin = abs(ref_sin - new_sin);
            assert(diff_sin == 0);

            int diff_cos = abs(ref_cos - new_cos);
            assert(diff_cos == 0);
        }
    }

    void test_atan2(void)
    {
        printf("=== ATAN2 Compare ===\n");
        int max_diff = 0;

        for (int y = -0x400; y <= 0x400; y += 64) {
            for (int x = -0x400; x <= 0x400; x += 64) {
                int16_t ref = int_atan2(x, y);
                int16_t newv = int_atan2_math(x, y);
                int diff = abs(ref - newv);

                assert(diff <= 1);
            }
        }
    }

    void test_hypot(void)
    {
        printf("=== HYPOT Compare ===\n");
        int max_diff = 0;

        for (int y = -0x400; y <= 0x400; y += 64) {
            for (int x = -0x400; x <= 0x400; x += 64) {
                int16_t ref = int_hypot(x, y);
                int16_t newv = int_hypot_math(x, y);
                int diff = abs(ref - newv);

                assert(diff <= 3);

                if (diff > 1)
                    printf("hypot(%4d,%4d): ref=%5d new=%5d diff=%3d\n",
                        x, y, ref, newv, diff);
            }
        }
    }

    void test_hypot3d(void)
    {
        printf("=== HYPOT_3D Compare ===\n");
        int max_diff = 0;
        VECTOR v;

        for (int z = -0x200; z <= 0x200; z += 64)
            for (int y = -0x200; y <= 0x200; y += 64)
                for (int x = -0x200; x <= 0x200; x += 64) {
                    v.x = x; v.y = y; v.z = z;
                    int16_t ref = int_hypot_3d(&v);
                    int16_t newv = int_hypot_3d_math(&v);
                    int diff = abs(ref - newv);

                    assert(diff <= 4);

                    if (diff > 1)
                        printf("hypot3d(%4d,%4d,%4d): ref=%5d new=%5d diff=%3d\n",
                            x, y, z, ref, newv, diff);
                }
    }

    int main(void)
    {
        test_sin_cos();
        test_atan2();
        test_hypot();
        test_hypot3d();
        return 0;
    }
}
#9
Competition and Website / Re: pipsqueak's profile
Last post by alanrotoi - October 20, 2025, 03:46:33 AM
Quote from: dreadnaut on October 19, 2025, 11:45:55 PMThe number of replays is already part of this chart:


I could add a line there, showing the position at the end of a race. Might be difficult to find the right vertical scale, and the horizontal one will look a bit odd, since we don't have precisely on track per month. I'll give it a try at some point 👍


Oh right! I'm sorry, I had in my mind an old version of the pipsqueak's profile! Check if you have time but maybe it's not that important. I thought about a line linking every race (or month I said before but it's more accurate "race" as you say) going up or down according to the positions the pipsqueak had.

A twelve race graph should be possible for the last 10-13 years I think.
#10
Competition and Website / Re: pipsqueak's profile
Last post by dreadnaut - October 19, 2025, 11:45:55 PM
The number of replays is already part of this chart:


I could add a line there, showing the position at the end of a race. Might be difficult to find the right vertical scale, and the horizontal one will look a bit odd, since we don't have precisely on track per month. I'll give it a try at some point 👍