• extremally stupid error

    From firr@21:1/5 to All on Fri May 13 18:19:42 2022
    write my compiler and i got some rutine

    RunFrame
    {

    DrawLine3d 20.0 30.0 40.0 100.0 0.0 400.0 0xaaaa77
    DrawLine3d 22.0 30.0 43.0 130.0 0.0 400.0 0xaaaa77
    DrawLine3d 29.0 30.0 42.0 130.0 0.0 400.0 0xaaaa77

    }

    I got 3 routines that draw lines there and it worx

    the problem is ehen i putt those routines in separate call like

    foo
    {
    DrawLine3d 20.0 30.0 40.0 100.0 0.0 400.0 0xaaaa77
    DrawLine3d 22.0 30.0 43.0 130.0 0.0 400.0 0xaaaa77
    DrawLine3d 29.0 30.0 42.0 130.0 0.0 400.0 0xaaaa77
    }

    and call this foo from DrawFrame then it crashes though
    ime the assembly is the same (rxcep this call and ret)

    In fact it DOnt crashes immediatelly if those lines fiit in the centre of screen it dont crasjes it only crashes when i move camere and those lines
    began to become partially outside the window (though this function clips etc and the oryginal version worx ok)


    what the hell it could be - i post the executable files and even compiler so you could run and see


    https://filebin.net/kap86bfd533x7491


    teh assembly generated seems to be ok


    DeawLines:
    //l.128 DrawLine3d 20.0 30.0 40.0 100.0 1.0 400.0 0xaaaa77
    mov eax 11184759
    push eax
    mov eax 1137180672
    push eax
    mov eax 1065353216
    push eax
    mov eax 1120403456
    push eax
    mov eax 1109393408
    push eax
    mov eax 1106247680
    push eax
    mov eax 1101004800
    push eax
    call ("green_fire.dll"->DrawLine3d)
    pop eax
    pop eax
    pop eax
    pop eax
    pop eax
    pop eax
    pop eax
    //l.129 DrawLine3d 22.0 30.0 43.0 130.0 2.0 400.0 0xaaaa77
    mov eax 11184759
    push eax
    mov eax 1137180672
    push eax
    mov eax 1073741824
    push eax
    mov eax 1124204544
    push eax
    mov eax 1110179840
    push eax
    mov eax 1106247680
    push eax
    mov eax 1102053376
    push eax
    call ("green_fire.dll"->DrawLine3d)
    pop eax
    pop eax
    pop eax
    pop eax
    pop eax
    pop eax
    pop eax
    //l.130 DrawLine3d 29.0 30.0 42.0 130.0 3.0 400.0 0xaaaa77
    mov eax 11184759
    push eax
    mov eax 1137180672
    push eax
    mov eax 1077936128
    push eax
    mov eax 1124204544
    push eax
    mov eax 1109917696
    push eax
    mov eax 1106247680
    push eax
    mov eax 1105723392
    push eax
    call ("green_fire.dll"->DrawLine3d)
    pop eax
    pop eax
    pop eax
    pop eax
    pop eax
    pop eax
    pop eax
    //l.133 }

    ret

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)