NScumm.Sword1.Logic.fnSetFrame C# (CSharp) Method

fnSetFrame() private method

private fnSetFrame ( SwordObject cpt, int id, int cdt, int spr, int frameNo, int f, int z, int x ) : int
cpt SwordObject
id int
cdt int
spr int
frameNo int
f int
z int
x int
return int
        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;
        }