extremally stupid error

14 views
Skip to first unread message

firr

unread,
May 13, 2022, 9:22:01 PM5/13/22
to
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

Reply all
Reply to author
Forward
0 new messages