public BGLayer(Reader reader) { byte[] buffer = new byte[2]; Console.WriteLine(reader.Pos); reader.Read(buffer, 0, 2); //Read size width = (ushort)(buffer[0] + (buffer[1] << 8)); reader.Read(buffer, 0, 2); //Read size height = (ushort)(buffer[0] + (buffer[1] << 8)); reader.Read(buffer, 0, 2); //Read size Unknown1 = (ushort)(buffer[0] + (buffer[1] << 8)); Unknown2 = reader.ReadByte(); RelativeVSpeed = reader.ReadByte(); ConstantVSpeed = reader.ReadByte(); //Console.WriteLine("Width = " + width + " Height = " + height + " Unknown 1 = " + Unknown1 + " Unknown 2 = " + Unknown2 + " Unknown 3 = " + Unknown3); int j = 0; while (j < 1) { UnknownValues2 u2 = new UnknownValues2(); u2.Value1 = reader.ReadByte(); if (u2.Value1 == 255) { u2.Value2 = reader.ReadByte(); if (u2.Value2 == 255) { j = 1; } else { u2.Value3 = reader.ReadByte(); } } else if (u2.Value1 != 255) { u2.Value3 = reader.ReadByte(); } UnknownVals2.Add(u2); } MapLayout = new ushort[height][]; for (int m = 0; m < height; m++) { MapLayout[m] = new ushort[width]; } for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { reader.Read(buffer, 0, 2); //Read size MapLayout[y][x] = (ushort)(buffer[0] + (buffer[1] << 8)); } } }
public BGLayer(Reader reader) { width = reader.ReadByte(); height = reader.ReadByte(); Deform = reader.ReadByte(); RelativeVSpeed = reader.ReadByte(); ConstantVSpeed = reader.ReadByte(); //Console.WriteLine("Width = " + width + " Height = " + height + " Unknown 1 = " + Unknown1 + " Unknown 2 = " + Unknown2 + " Unknown 3 = " + Unknown3); int j = 0; while (j < 1) { UnknownValues2 u2 = new UnknownValues2(); u2.Value1 = reader.ReadByte(); if (u2.Value1 == 255) { u2.Value2 = reader.ReadByte(); if (u2.Value2 == 255) { j = 1; } else { u2.Value3 = reader.ReadByte(); } } else if (u2.Value1 != 255) { u2.Value3 = reader.ReadByte(); } UnknownVals2.Add(u2); } Console.WriteLine(reader.Pos); MapLayout = new ushort[height][]; for (int m = 0; m < height; m++) { MapLayout[m] = new ushort[width]; } for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { MapLayout[y][x] = reader.ReadByte(); //Console.WriteLine("Map = " + MapLayout[y][x]); } } }