3222 {
3227 if (
text != Main.worldName || num != Main.worldID || num3 != Main.maxTilesX || num2 != Main.maxTilesY)
3228 {
3229 throw new Exception(
"Map meta-data is invalid.");
3230 }
3231 OldMapHelper oldMapHelper = default(OldMapHelper);
3232 for (
int i = 0;
i < Main.maxTilesX;
i++)
3233 {
3234 float num4 = (float)i / (float)Main.maxTilesX;
3235 Main.statusText = Lang.gen[67].Value + " " + (int)(num4 * 100f + 1f) + "%";
3236 for (int j = 0; j < Main.maxTilesY; j++)
3237 {
3239 {
3242 oldMapHelper.misc = fileIO.
ReadByte();
3243 if (release >= 50)
3244 {
3245 oldMapHelper.misc2 = fileIO.
ReadByte();
3246 }
3247 else
3248 {
3249 oldMapHelper.misc2 = 0;
3250 }
3251 bool flag = false;
3252 int num6 = oldMapHelper.option();
3253 int num7;
3254 if (oldMapHelper.active())
3255 {
3257 }
3258 else if (oldMapHelper.water())
3259 {
3261 }
3262 else if (oldMapHelper.lava())
3263 {
3265 }
3266 else if (oldMapHelper.honey())
3267 {
3269 }
3270 else if (oldMapHelper.wall())
3271 {
3273 }
3274 else if ((double)j < Main.worldSurface)
3275 {
3276 flag = true;
3277 int num8 = (byte)(256.0 * ((double)j / Main.worldSurface));
3279 }
3280 else if ((double)j < Main.rockLayer)
3281 {
3282 flag = true;
3283 if (num5 > 255)
3284 {
3285 num5 = 255;
3286 }
3288 }
3289 else if (j < Main.UnderworldLayer)
3290 {
3291 flag = true;
3292 if (num5 > 255)
3293 {
3294 num5 = 255;
3295 }
3297 }
3298 else
3299 {
3301 }
3302 MapTile tile = MapTile.Create((ushort)num7, b, 0);
3303 Main.Map.SetTile(i, j, ref tile);
3305 if (b == byte.MaxValue)
3306 {
3307 while (num9 > 0)
3308 {
3309 num9--;
3310 j++;
3311 if (flag)
3312 {
3313 if ((double)j < Main.worldSurface)
3314 {
3315 flag = true;
3316 int num10 = (byte)(256.0 * ((double)j / Main.worldSurface));
3318 }
3319 else if ((double)j < Main.rockLayer)
3320 {
3321 flag = true;
3323 }
3324 else if (j < Main.UnderworldLayer)
3325 {
3326 flag = true;
3328 }
3329 else
3330 {
3331 flag = true;
3333 }
3334 tile.Type = (ushort)num7;
3335 }
3336 Main.Map.SetTile(i, j, ref tile);
3337 }
3338 continue;
3339 }
3340 while (num9 > 0)
3341 {
3342 j++;
3343 num9--;
3345 if (b <= 18)
3346 {
3347 continue;
3348 }
3349 tile.Light = b;
3350 if (flag)
3351 {
3352 if ((double)j < Main.worldSurface)
3353 {
3354 flag = true;
3355 int num11 = (byte)(256.0 * ((double)j / Main.worldSurface));
3357 }
3358 else if ((double)j < Main.rockLayer)
3359 {
3360 flag = true;
3362 }
3363 else if (j < Main.UnderworldLayer)
3364 {
3365 flag = true;
3367 }
3368 else
3369 {
3370 flag = true;
3372 }
3373 tile.Type = (ushort)num7;
3374 }
3375 Main.Map.SetTile(i, j, ref tile);
3376 }
3377 }
3378 else
3379 {
3381 j += num12;
3382 }
3383 }
3384 }
3385 }
virtual bool ReadBoolean()
virtual string ReadString()
virtual ushort ReadUInt16()
virtual short ReadInt16()
static ushort rockPosition
static ushort dirtPosition
static ushort[] wallLookup
static ushort[] tileLookup
static ushort hellPosition
static ushort skyPosition
static ushort liquidPosition