public EmuBasedAnimMatricesProvider(
            AnimReader animReader,
            Stream mdlxStream,
            Stream animStream
            )
        {
            emuRunner       = new Mlink();
            this.animReader = animReader;

            var matrixOutStream = new MemoryStream();

            mdlxStream.Position = 0;
            animStream.Position = 0;

            // initialize emulator memory space
            emuRunner.Permit(
                mdlxStream, animReader.cntb1,
                animStream, animReader.cntb2,
                0, (float)absTime, matrixOutStream
                );
        }
Beispiel #2
0
        public void LoadMoves()
        {
            if (this.Moveset != null)
            {
                this.Count   = this.Moveset.al1.Count;
                this.blks    = new Msetblk[this.Count];
                this.blksRaw = new MsetRawblk[this.Count];
                this.olS     = new Mlink();

                for (int i = 0; i < this.Count; i++)
                {
                    if (this.Moveset.al1[i].isRaw)
                    {
                        this.blksRaw[i] = new MsetRawblk(new MemoryStream(this.Moveset.al1[i].bin, false));
                    }
                    else
                    {
                        this.blks[i] = new Msetblk(new MemoryStream(this.Moveset.al1[i].bin, false));
                    }
                }
            }
        }
Beispiel #3
0
 public void DisposeMset()
 {
     this.mset = null;
     this.binMset = null;
     this.ol = null;
 }
Beispiel #4
0
 public void DisposeMdlx()
 {
     this.mdlx = null;
     this.timc = null;
     this.timf = null;
     this.altex.Clear();
     this.altex1.Clear();
     this.altex2.Clear();
     this.albody1.Clear();
     this.binMdlx = null;
     this.ctb.Close();
     this.ol = null;
     this.Ma = null;
 }