Esempio n. 1
0
        public void Process()
        {
            if (m_bufferPos < 16)
            {
                return;
            }

            // - forgot the point of this.
            // byte pkt_type = m_buffer[0];

            int sz0 = 0, sz1 = 0;

            for (int i = 0; i < 4; i++)
            {
                sz0 |= (((byte)m_buffer[8 + i]) << 8 * i);
            }

            for (int i = 0; i < 4; i++)
            {
                sz1 |= (((byte)m_buffer[12 + i]) << 8 * i);
            }

            if (m_bufferPos < (sz0 + sz1))
            {
                return;
            }

            byte[] ut = new byte[sz0 + sz1];
            for (int i = 0; i < (sz0 + sz1); i++)
            {
                ut[i] = m_buffer[i];
            }

            PkgE p = new PkgE();

            p.resolved = false;
            p.package  = Putki.PackageManager.LoadFromBytes(ut, m_loader);
            m_pending.Add(p);

            int peel = sz0 + sz1;

            for (int bk = 0; bk < m_bufferPos - peel; bk++)
            {
                m_buffer[bk] = m_buffer[bk + peel];
            }

            m_bufferPos -= peel;
            Process();
        }
Esempio n. 2
0
 public void OnResolved(PkgE p)
 {
     Console.WriteLine("Replacing asset " + p.package.RootObjPath());
     LiveUpdate.InsertPackage(p.package, m_loader);
 }
Esempio n. 3
0
		public void OnResolved(PkgE p)
		{
			Console.WriteLine("Replacing asset " + p.package.RootObjPath());
			LiveUpdate.InsertPackage(p.package, m_loader);
		}
Esempio n. 4
0
		public void Process()
		{
			if (m_bufferPos < 16)
				return;

			// - forgot the point of this.
			// byte pkt_type = m_buffer[0];

			int sz0 = 0, sz1 = 0;
			for (int i = 0; i < 4; i++)
				sz0 |= (((byte)m_buffer[8 + i]) << 8 * i);

			for (int i = 0; i < 4; i++)
				sz1 |= (((byte)m_buffer[12 + i]) << 8 * i);

			if (m_bufferPos < (sz0 + sz1))
				return;
				
			byte[] ut =new byte[sz0+sz1];
			for (int i=0;i<(sz0+sz1);i++)
				ut[i] = m_buffer[i];

			PkgE p = new PkgE();
			p.resolved = false;
			p.package = Putki.PackageManager.LoadFromBytes(ut, m_loader);
			m_pending.Add(p);

			int peel = sz0 + sz1;
			for (int bk = 0; bk < m_bufferPos - peel; bk++)
				m_buffer[bk] = m_buffer[bk + peel];

			m_bufferPos -= peel;
			Process();
		}