private int fnSetFrame(SwordObject cpt, int id, int cdt, int spr, int frameNo, int f, int z, int x)
{
AnimUnit animPtr;
var data = _resMan.OpenFetchRes((uint)cdt);
var dataOffs = Header.Size;
if (frameNo == LAST_FRAME)
frameNo = (int)(_resMan.ReadUInt32(data.ToUInt32(dataOffs)) - 1);
dataOffs += 4;
animPtr = new AnimUnit(data, dataOffs + frameNo * AnimUnit.Size);
cpt.anim_x = (int)_resMan.ReadUInt32(animPtr.animX);
cpt.anim_y = (int)_resMan.ReadUInt32(animPtr.animY);
cpt.frame = (int)_resMan.ReadUInt32(animPtr.animFrame);
cpt.resource = spr;
cpt.status &= ~STAT_SHRINK;
_resMan.ResClose((uint)cdt);
return SCRIPT_CONT;
}