SHARE
TWEET

Everybody Edtis - Deserialize Room Data

capasha Dec 21st, 2012 (edited) 1,442 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                        //Doesn't work anymore. Needs to add new special blocks
  2.                  connection.OnMessage += delegate(object sender, PlayerIOClient.Message m)
  3.                         {
  4.                             if (m.Type == "init")
  5.                             {
  6.                                 uint loc4 = 19;
  7.                                 var loc5 = m.Count;
  8.                                 byte[] loc6 = m.GetByteArray(loc4 + 2);
  9.                                 int loc7 = loc6.Length;
  10.                                 int bid = m.GetInt(loc4);
  11.                                 while (loc4 < loc5)
  12.                                 {
  13.                                     if (m[loc4].ToString() == "we")
  14.                                     {
  15.                                         break;
  16.                                     }
  17.                                     else
  18.                                     {
  19.                                         bid = m.GetInt(loc4);
  20.                                         for (int n = 0; n < loc7; n += 2)
  21.                                         {
  22.                                             try
  23.                                             {
  24.  
  25.                                                 int x = m.GetByteArray(loc4 + 2)[n] << 8 | m.GetByteArray(loc4 + 2)[n + 1];
  26.                                                 int y = m.GetByteArray(loc4 + 3)[n] << 8 | m.GetByteArray(loc4 + 3)[n + 1];
  27.  
  28.                                                 if (bid == 242 || bid == 381) // Portal (0 down, 1 left, 2 up, 3 right)
  29.                                                 {
  30.                                                     var rotation = m.GetInt(loc4 + 4);
  31.                                                     var sid = m.GetInt(loc4 + 5);
  32.                                                     var eid = m.GetInt(loc4 + 6);
  33.                                                 }
  34.  
  35.                                                 if (bid == 43 || bid == 165 || bid == 214 || bid == 213 ) //Coin door and gate
  36.                                                 {
  37.                                                     var coins = m.GetInt(loc4 + 4);
  38.                                                 }
  39.  
  40.                                                 if (bid == 361) //Spikes
  41.                                                 {
  42.                                                     var rotation = m.GetInt(loc4 + 4); // (0 left, 1 up, 2 right, 3 down)
  43.                                                 }
  44.  
  45.                                                 if (bid == 77 || bid == 83) //Piano or Drums
  46.                                                 {
  47.                                                     var note = m.GetInt(loc4 + 4);
  48.                                                 }
  49.  
  50.                                                 if (bid == 1000 || bid == 385 || bid == 374) // Text, Sign, World Portal
  51.                                                 {
  52.                                                     var text = m.GetString(loc4 + 4);
  53.                                                 }
  54.  
  55.                                             }
  56.                                             catch (Exception ee)
  57.                                             {
  58.                                                 Console.WriteLine(bid + " " + ee.Message + "\n\n");
  59.                                             }
  60.                                         }
  61.  
  62. //Needs new special blocks, else it won't work.
  63. if (bid == 43 || bid == 77 || bid == 83 || bid == 214 || bid == 213 || bid == 1000 || bid == 165 || bid == 361 || bid >= 374 && bid <= 380 || bid == 385) { loc4 += 5; }
  64.                             else if (bid == 242 || bid == 381) { loc4 += 7; }
  65.                             else { loc4 += 4; }
  66.  
  67.  
  68.                                     }
  69.                                 }
  70.                             }
  71.                         };
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top