Code:
vobs <- {};
_createVob <- createVob;
_destroyVob <- destroyVob;
_setVobRotation <- setVobRotation;
function createVob(model, pos_x, pos_y, pos_z, rot_x, rot_y, rot_z)
{
local vob = _createVob(model, pos_x, pos_y, pos_z, rot_x, rot_y, rot_z);
if(vob)
vobs[vob] <- ({ x = rot_x, y = rot_y, z = rot_z });
return vob;
};
function setVobRotation(vobPointer, rot_x, rot_y, rot_z)
{
if(360 < rot_x) vobs[vobPointer].x = (rot_x -= 360); else if(0 > rot_x) vobs[vobPointer].x = (rot_x += 360); else vobs[vobPointer].x = rot_x;
if(360 < rot_y) vobs[vobPointer].y = (rot_y -= 360); else if(0 > rot_y) vobs[vobPointer].y = (rot_y += 360); else vobs[vobPointer].y = rot_y;
if(360 < rot_z) vobs[vobPointer].z = (rot_z -= 360); else if(0 > rot_z) vobs[vobPointer].z = (rot_z += 360); else vobs[vobPointer].z = rot_z;
return _setVobRotation(vobPointer, rot_x, rot_y, rot_z);
};
function getVobRotation(vobPointer)
{
if(vobPointer)
return vobs[vobPointer];
};
function destroyVob(vobPointer)
{
if(vobPointer)
vobs.rawdelete(vobPointer);
return _destroyVob(vobPointer);
};
Kod pastebin: http://pastebin.com/vRcqwpiq
W g2o brakuje funkcji pozwalającej na sprawdzenie rotacji VOBa... Więc łapcie, jeżeli ktoś znajdzie błędy to piszcie, żebym mógł poprawić.