From 85ce30d0cab86d091c05fb6b8477ddae5adefc07 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sat, 17 Sep 2016 09:47:43 +1000 Subject: [PATCH] Style: Stop hardcoding 255 everywhere. --- Levels/Level.Physics.cs | 18 ++++++++++-------- Levels/Physics/AirPhysics.cs | 4 ++-- Levels/Physics/BirdPhysics.cs | 2 +- Levels/Physics/DoorPhysics.cs | 6 ++---- Levels/Physics/ExtLiquidPhysics.cs | 8 ++++---- Levels/Physics/ExtraInfoPhysics.cs | 4 ++-- Levels/Physics/LeafPhysics.cs | 4 ++-- Levels/Physics/OtherPhysics.cs | 21 ++++++++++----------- Levels/Physics/PhysicsArgs.cs | 4 ++++ Levels/Physics/SimpleLiquidPhysics.cs | 12 ++++++------ 10 files changed, 43 insertions(+), 40 deletions(-) diff --git a/Levels/Level.Physics.cs b/Levels/Level.Physics.cs index 134ec3c30..3f0777a03 100644 --- a/Levels/Level.Physics.cs +++ b/Levels/Level.Physics.cs @@ -138,10 +138,11 @@ namespace MCGalaxy { if ((C.data.Raw & mask) == 0 || ExtraInfoPhysics.DoDoorsOnly(this, ref C, null)) { Block.HandlePhysics handler = Block.physicsDoorsHandlers[blocks[C.b]]; - if (handler != null) + if (handler != null) { handler(this, ref C); - else if ((C.data.Raw & mask) == 0 || !C.data.HasWait) - C.data.Data = 255; + } else if ((C.data.Raw & mask) == 0 || !C.data.HasWait) { + C.data.Data = PhysicsArgs.RemoveFromChecks; + } } ListCheck.Items[i] = C; } catch { @@ -160,10 +161,11 @@ namespace MCGalaxy { if ((C.data.Raw & mask) == 0 || ExtraInfoPhysics.DoComplex(this, ref C)) { Block.HandlePhysics handler = Block.physicsHandlers[blocks[C.b]]; - if (handler != null) + if (handler != null) { handler(this, ref C); - else if ((C.data.Raw & mask) == 0 || !C.data.HasWait) - C.data.Data = 255; + } else if ((C.data.Raw & mask) == 0 || !C.data.HasWait) { + C.data.Data = PhysicsArgs.RemoveFromChecks; + } } ListCheck.Items[i] = C; } catch { @@ -271,7 +273,7 @@ namespace MCGalaxy { ushort x, y, z; for (int i = 0; i < count; i++) { - if (items[i].data.Data == 255) { + if (items[i].data.Data == PhysicsArgs.RemoveFromChecks) { IntToPos(items[i].b, out x, out y, out z); listCheckExists.Set(x, y, z, false); continue; @@ -326,7 +328,7 @@ namespace MCGalaxy { } try { - PhysicsArgs args = (PhysicsArgs)C.data; + PhysicsArgs args = C.data; if (args.Type1 == PhysicsArgs.Revert) Blockchange(x, y, z, args.Value1, true); if (args.Type2 == PhysicsArgs.Revert) diff --git a/Levels/Physics/AirPhysics.cs b/Levels/Physics/AirPhysics.cs index ac4a5b844..2ad55e2b3 100644 --- a/Levels/Physics/AirPhysics.cs +++ b/Levels/Physics/AirPhysics.cs @@ -39,14 +39,14 @@ namespace MCGalaxy.BlockPhysics { if (x == 0 || x == lvl.Width - 1 || z == 0 || z == lvl.Length - 1) lvl.AddUpdate(C.b, Block.water); } - if (!C.data.HasWait) C.data.Data = 255; + if (!C.data.HasWait) C.data.Data = PhysicsArgs.RemoveFromChecks; } public static void DoFlood(Level lvl, ref Check C, AirFlood mode, byte block) { Random rand = lvl.physRandom; if (C.data.Data >= 1) { lvl.AddUpdate(C.b, Block.air); - C.data.Data = 255; return; + C.data.Data = PhysicsArgs.RemoveFromChecks; return; } ushort x, y, z; lvl.IntToPos(C.b, out x, out y, out z); diff --git a/Levels/Physics/BirdPhysics.cs b/Levels/Physics/BirdPhysics.cs index 95aab442f..ab0ec6daa 100644 --- a/Levels/Physics/BirdPhysics.cs +++ b/Levels/Physics/BirdPhysics.cs @@ -56,7 +56,7 @@ namespace MCGalaxy.BlockPhysics { break; } lvl.AddUpdate(C.b, Block.air); - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } static void FlyTo(Level lvl, ref Check C, int x, int y, int z) { diff --git a/Levels/Physics/DoorPhysics.cs b/Levels/Physics/DoorPhysics.cs index 309ac506b..886c69be0 100644 --- a/Levels/Physics/DoorPhysics.cs +++ b/Levels/Physics/DoorPhysics.cs @@ -22,15 +22,13 @@ namespace MCGalaxy.BlockPhysics { public static class DoorPhysics { public static void odoorPhysics(Level lvl, ref Check C) { - if (C.data.Data != 0) { C.data.Data = 255; return; } - odoorNeighbour(lvl, ref C, lvl.IntOffset(C.b, -1, 0, 0)); odoorNeighbour(lvl, ref C, lvl.IntOffset(C.b, +1, 0, 0)); odoorNeighbour(lvl, ref C, lvl.IntOffset(C.b, 0, -1, 0)); odoorNeighbour(lvl, ref C, lvl.IntOffset(C.b, 0, +1, 0)); odoorNeighbour(lvl, ref C, lvl.IntOffset(C.b, 0, 0, -1)); odoorNeighbour(lvl, ref C, lvl.IntOffset(C.b, 0, 0, +1)); - C.data.Data++; + C.data.Data = PhysicsArgs.RemoveFromChecks; } static void odoorNeighbour(Level lvl, ref Check C, int index) { @@ -66,7 +64,7 @@ namespace MCGalaxy.BlockPhysics { C.data.Data++; } else { lvl.AddUpdate(C.b, Block.Props[lvl.blocks[C.b]].DoorId); - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } } } diff --git a/Levels/Physics/ExtLiquidPhysics.cs b/Levels/Physics/ExtLiquidPhysics.cs index 92e5a646c..95dda818e 100644 --- a/Levels/Physics/ExtLiquidPhysics.cs +++ b/Levels/Physics/ExtLiquidPhysics.cs @@ -106,7 +106,7 @@ namespace MCGalaxy.BlockPhysics { { case Block.air: lvl.AddUpdate(lvl.PosToInt(x, (ushort)(y - 1), z), Block.WaterDown); - if (!C.data.HasWait) C.data.Data = 255; + if (!C.data.HasWait) C.data.Data = PhysicsArgs.RemoveFromChecks; break; case Block.air_flood_down: case Block.lavastill: @@ -119,7 +119,7 @@ namespace MCGalaxy.BlockPhysics { LiquidPhysics.PhysWater(lvl, (ushort)(x - 1), y, z, block); LiquidPhysics.PhysWater(lvl, x, y, (ushort)(z + 1),block); LiquidPhysics.PhysWater(lvl, x, y, (ushort)(z - 1), block); - if (!C.data.HasWait) C.data.Data = 255; + if (!C.data.HasWait) C.data.Data = PhysicsArgs.RemoveFromChecks; break; } } @@ -134,7 +134,7 @@ namespace MCGalaxy.BlockPhysics { { case Block.air: lvl.AddUpdate(lvl.PosToInt(x, (ushort)(y - 1), z), Block.LavaDown); - if (!C.data.HasWait) C.data.Data = 255; + if (!C.data.HasWait) C.data.Data = PhysicsArgs.RemoveFromChecks; break; case Block.air_flood_down: case Block.lavastill: @@ -147,7 +147,7 @@ namespace MCGalaxy.BlockPhysics { LiquidPhysics.PhysLava(lvl, (ushort)(x - 1), y, z, block); LiquidPhysics.PhysLava(lvl, x, y, (ushort)(z + 1),block); LiquidPhysics.PhysLava(lvl, x, y, (ushort)(z - 1), block); - if (!C.data.HasWait) C.data.Data = 255; + if (!C.data.HasWait) C.data.Data = PhysicsArgs.RemoveFromChecks; break; } } diff --git a/Levels/Physics/ExtraInfoPhysics.cs b/Levels/Physics/ExtraInfoPhysics.cs index ecb41cd26..08b2f567b 100644 --- a/Levels/Physics/ExtraInfoPhysics.cs +++ b/Levels/Physics/ExtraInfoPhysics.cs @@ -26,7 +26,7 @@ namespace MCGalaxy.BlockPhysics { C.data.ResetTypes(); if (C.data.Type1 == PhysicsArgs.TntWars) return true; - bool wait = false, door = C.data.TDoor; + bool wait = false, tdoor = C.data.TDoor; int waitTime = 0; if (C.data.Type1 == PhysicsArgs.Wait) { wait = true; waitTime = C.data.Value1; @@ -35,7 +35,7 @@ namespace MCGalaxy.BlockPhysics { } if (!wait) return false; - if (door && C.data.Data < 2) { + if (tdoor && C.data.Data < 2) { // TODO: perhaps do proper bounds checking Checktdoor(lvl, lvl.IntOffset(C.b, -1, 0, 0)); Checktdoor(lvl, lvl.IntOffset(C.b, 1, 0, 0)); diff --git a/Levels/Physics/LeafPhysics.cs b/Levels/Physics/LeafPhysics.cs index 0ac415790..8caa2cdc9 100644 --- a/Levels/Physics/LeafPhysics.cs +++ b/Levels/Physics/LeafPhysics.cs @@ -35,14 +35,14 @@ namespace MCGalaxy.BlockPhysics { if (!lvl.leafDecay) { lvl.leaves.Clear(); - C.data.Data = 255; return; + C.data.Data = PhysicsArgs.RemoveFromChecks; return; } if (C.data.Data < 5) { if (rand.Next(10) == 0) C.data.Data++; return; } if (DoLeafDecay(lvl, ref C)) lvl.AddUpdate(C.b, Block.air); - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } static bool DoLeafDecay(Level lvl, ref Check C) { diff --git a/Levels/Physics/OtherPhysics.cs b/Levels/Physics/OtherPhysics.cs index 7dc68ea38..16f1b2864 100644 --- a/Levels/Physics/OtherPhysics.cs +++ b/Levels/Physics/OtherPhysics.cs @@ -24,7 +24,6 @@ namespace MCGalaxy.BlockPhysics { public static class OtherPhysics { public static void DoFalling(Level lvl, ref Check C) { - if (lvl.physics == 0 || lvl.physics == 5) { C.data.Data = 255; return; } ushort x, y, z; lvl.IntToPos(C.b, out x, out y, out z); int index = C.b; @@ -70,7 +69,7 @@ namespace MCGalaxy.BlockPhysics { AirPhysics.PhysAir(lvl, lvl.PosToInt(x, y, (ushort)(z - 1))); AirPhysics.PhysAir(lvl, lvl.PosToInt(x, (ushort)(y + 1), z)); } - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } public static void DoStairs(Level lvl, ref Check C) { @@ -84,7 +83,7 @@ namespace MCGalaxy.BlockPhysics { lvl.AddUpdate(C.b, Block.air); lvl.AddUpdate(bBelow, Block.stone); } - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } public static void DoFloatwood(Level lvl, ref Check C) { @@ -99,7 +98,7 @@ namespace MCGalaxy.BlockPhysics { lvl.AddUpdate(index, Block.wood_float); } } - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } public static void DoShrub(Level lvl, ref Check C) { @@ -114,7 +113,7 @@ namespace MCGalaxy.BlockPhysics { AirPhysics.PhysAir(lvl, lvl.PosToInt(x, (ushort)(y + 1), z)); } - if (!lvl.growTrees) { C.data.Data = 255; return; } + if (!lvl.growTrees) { C.data.Data = PhysicsArgs.RemoveFromChecks; return; } if (C.data.Data < 20) { if (rand.Next(20) == 0) C.data.Data++; return; @@ -128,11 +127,11 @@ namespace MCGalaxy.BlockPhysics { op.Perform(marks, null, lvl, null, b => lvl.Blockchange(b.X, b.Y, b.Z, b.Block)); - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } public static void DoDirt(Level lvl, ref Check C) { - if (!lvl.GrassGrow) { C.data.Data = 255; return; } + if (!lvl.GrassGrow) { C.data.Data = PhysicsArgs.RemoveFromChecks; return; } ushort x, y, z; lvl.IntToPos(C.b, out x, out y, out z); @@ -143,7 +142,7 @@ namespace MCGalaxy.BlockPhysics { if (Block.LightPass(block, extBlock, lvl.CustomBlockDefs)) lvl.AddUpdate(C.b, Block.grass); - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } else { C.data.Data++; } @@ -161,7 +160,7 @@ namespace MCGalaxy.BlockPhysics { if ((!lava && Block.Convert(block) == Block.water) || (lava && Block.Convert(block) == Block.lava)) lvl.AddUpdate(index, Block.air); } - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } public static void DoSpongeRemoved(Level lvl, int b, bool lava = false) { @@ -182,7 +181,7 @@ namespace MCGalaxy.BlockPhysics { } public static void DoOther(Level lvl, ref Check C) { - if (lvl.physics <= 1) { C.data.Data = 255; return; } + if (lvl.physics <= 1) { C.data.Data = PhysicsArgs.RemoveFromChecks; return; } ushort x, y, z; lvl.IntToPos(C.b, out x, out y, out z); @@ -192,7 +191,7 @@ namespace MCGalaxy.BlockPhysics { AirPhysics.PhysAir(lvl, lvl.PosToInt(x, y, (ushort)(z + 1))); AirPhysics.PhysAir(lvl, lvl.PosToInt(x, y, (ushort)(z - 1))); AirPhysics.PhysAir(lvl, lvl.PosToInt(x, (ushort)(y + 1), z)); - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } } } diff --git a/Levels/Physics/PhysicsArgs.cs b/Levels/Physics/PhysicsArgs.cs index bf929d0c2..57528393c 100644 --- a/Levels/Physics/PhysicsArgs.cs +++ b/Levels/Physics/PhysicsArgs.cs @@ -28,6 +28,10 @@ namespace MCGalaxy.BlockPhysics { public const uint TypeBitsMask = 0x07; public const uint ValueBitsMask = 0xFF; + /// Indicates that this physics entry should be removed from the list of + /// entries that are checked for physics, at the end of the current tick. + public const byte RemoveFromChecks = 255; + public byte Type1 { get { return (byte)(Raw & TypeBitsMask); } set { Raw &= ~TypeBitsMask; diff --git a/Levels/Physics/SimpleLiquidPhysics.cs b/Levels/Physics/SimpleLiquidPhysics.cs index 20e9556d5..aa622d2ac 100644 --- a/Levels/Physics/SimpleLiquidPhysics.cs +++ b/Levels/Physics/SimpleLiquidPhysics.cs @@ -112,14 +112,14 @@ namespace MCGalaxy.BlockPhysics { } else { //was placed near sponge lvl.liquids.TryGetValue(C.b, out blocked); lvl.AddUpdate(C.b, Block.air); - if (!C.data.HasWait) C.data.Data = 255; + if (!C.data.HasWait) C.data.Data = PhysicsArgs.RemoveFromChecks; } if (!C.data.HasWait && blocked != null) if (blocked[0] && blocked[1] && blocked[2] && blocked[3] && blocked[4]) { lvl.liquids.Remove(C.b); - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } } @@ -141,7 +141,7 @@ namespace MCGalaxy.BlockPhysics { } else { //was placed near sponge lvl.AddUpdate(C.b, Block.air); } - if (!C.data.HasWait) C.data.Data = 255; + if (!C.data.HasWait) C.data.Data = PhysicsArgs.RemoveFromChecks; } static bool WaterBlocked(Level lvl, ushort x, ushort y, ushort z) { @@ -224,14 +224,14 @@ namespace MCGalaxy.BlockPhysics { lvl.liquids.TryGetValue(C.b, out blocked); lvl.AddUpdate(C.b, Block.air); if (!checkWait || !C.data.HasWait) - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } if (blocked != null && (!checkWait || !C.data.HasWait)) if (blocked[0] && blocked[1] && blocked[2] && blocked[3] && blocked[4]) { lvl.liquids.Remove(C.b); - C.data.Data = 255; + C.data.Data = PhysicsArgs.RemoveFromChecks; } } @@ -251,7 +251,7 @@ namespace MCGalaxy.BlockPhysics { } else { //was placed near sponge lvl.AddUpdate(C.b, Block.air); } - if (!checkWait || !C.data.HasWait) C.data.Data = 255; + if (!checkWait || !C.data.HasWait) C.data.Data = PhysicsArgs.RemoveFromChecks; } static bool LavaBlocked(Level lvl, ushort x, ushort y, ushort z) {