public BlockEngine(InfiniminerGame gameInstance) { this.gameInstance = gameInstance; // Initialize the block list. downloadList = new BlockType[MAPSIZE, MAPSIZE, MAPSIZE]; blockList = new BlockType[MAPSIZE, MAPSIZE, MAPSIZE]; for (ushort i = 0; i < MAPSIZE; i++) { for (ushort j = 0; j < MAPSIZE; j++) { for (ushort k = 0; k < MAPSIZE; k++) { downloadList[i, j, k] = BlockType.None; blockList[i, j, k] = BlockType.None; } } } // Initialize the face lists. faceMap = new Dictionary <uint, bool> [(byte)BlockTexture.MAXIMUM, NUMREGIONS]; for (BlockTexture blockTexture = BlockTexture.None; blockTexture < BlockTexture.MAXIMUM; blockTexture++) { for (int r = 0; r < NUMREGIONS; r++) { faceMap[(byte)blockTexture, r] = new Dictionary <uint, bool>(); } } // Initialize the texture map. blockTextureMap = new BlockTexture[(byte)BlockType.MAXIMUM, 6]; for (BlockType blockType = BlockType.None; blockType < BlockType.MAXIMUM; blockType++) { for (BlockFaceDirection faceDir = BlockFaceDirection.XIncreasing; faceDir < BlockFaceDirection.MAXIMUM; faceDir++) { blockTextureMap[(byte)blockType, (byte)faceDir] = BlockInformation.GetTexture(blockType, faceDir); } } // Load the textures we'll use. blockTextures = new IMTexture[(byte)BlockTexture.MAXIMUM]; blockTextures[(byte)BlockTexture.None] = new IMTexture(null); blockTextures[(byte)BlockTexture.Dirt] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_dirt")); blockTextures[(byte)BlockTexture.Rock] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_rock")); blockTextures[(byte)BlockTexture.Ore] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_ore")); blockTextures[(byte)BlockTexture.Gold] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_silver")); blockTextures[(byte)BlockTexture.Diamond] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_diamond")); blockTextures[(byte)BlockTexture.HomeRed] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_home_red")); blockTextures[(byte)BlockTexture.HomeBlue] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_home_blue")); blockTextures[(byte)BlockTexture.SolidRed] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_red")); blockTextures[(byte)BlockTexture.SolidBlue] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_blue")); blockTextures[(byte)BlockTexture.Ladder] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_ladder")); blockTextures[(byte)BlockTexture.LadderTop] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_ladder_top")); blockTextures[(byte)BlockTexture.Spikes] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_spikes")); blockTextures[(byte)BlockTexture.Jump] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_jump")); blockTextures[(byte)BlockTexture.JumpTop] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_jump_top")); blockTextures[(byte)BlockTexture.Explosive] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_explosive")); blockTextures[(byte)BlockTexture.Metal] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_metal")); blockTextures[(byte)BlockTexture.DirtSign] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_dirt_sign")); blockTextures[(byte)BlockTexture.BankTopRed] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_top_red")); blockTextures[(byte)BlockTexture.BankLeftRed] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_left_red")); blockTextures[(byte)BlockTexture.BankFrontRed] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_front_red")); blockTextures[(byte)BlockTexture.BankRightRed] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_right_red")); blockTextures[(byte)BlockTexture.BankBackRed] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_back_red")); blockTextures[(byte)BlockTexture.BankTopBlue] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_top_blue")); blockTextures[(byte)BlockTexture.BankLeftBlue] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_left_blue")); blockTextures[(byte)BlockTexture.BankFrontBlue] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_front_blue")); blockTextures[(byte)BlockTexture.BankRightBlue] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_right_blue")); blockTextures[(byte)BlockTexture.BankBackBlue] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_bank_back_blue")); blockTextures[(byte)BlockTexture.TeleSideA] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_teleporter_a")); blockTextures[(byte)BlockTexture.TeleSideB] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_teleporter_b")); blockTextures[(byte)BlockTexture.TeleTop] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_teleporter_top")); blockTextures[(byte)BlockTexture.TeleBottom] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_teleporter_bottom")); blockTextures[(byte)BlockTexture.Lava] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_lava")); blockTextures[(byte)BlockTexture.Road] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_road")); blockTextures[(byte)BlockTexture.RoadTop] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_road_top")); blockTextures[(byte)BlockTexture.RoadBottom] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_road_bottom")); blockTextures[(byte)BlockTexture.BeaconRed] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_beacon_top_red")); blockTextures[(byte)BlockTexture.BeaconBlue] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_beacon_top_blue")); blockTextures[(byte)BlockTexture.TransRed] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_trans_red")); blockTextures[(byte)BlockTexture.TransBlue] = new IMTexture(gameInstance.Content.Load <Texture2D>("blocks/tex_block_trans_blue")); // Load our effects. basicEffect = gameInstance.Content.Load <Effect>("effect_basic"); // Build vertex lists. vertexBuffers = new DynamicVertexBuffer[(byte)BlockTexture.MAXIMUM, NUMREGIONS]; vertexListDirty = new bool[(byte)BlockTexture.MAXIMUM, NUMREGIONS]; for (int i = 0; i < (byte)BlockTexture.MAXIMUM; i++) { for (int j = 0; j < NUMREGIONS; j++) { vertexListDirty[i, j] = true; } } // Initialize any graphics stuff. vertexDeclaration = new VertexDeclaration(VertexPositionTexture.VertexDeclaration.GetVertexElements()); // Initialize the bloom engine. if (gameInstance.RenderPretty) { bloomPosteffect = new BloomComponent(); bloomPosteffect.Load(gameInstance.GraphicsDevice, gameInstance.Content); } else { bloomPosteffect = null; } }
public BlockEngine(InfiniminerGame gameInstance) { this.gameInstance = gameInstance; // Initialize the block list. downloadList = new BlockType[MAPSIZE, MAPSIZE, MAPSIZE]; blockList = new BlockType[MAPSIZE, MAPSIZE, MAPSIZE]; for (ushort i = 0; i < MAPSIZE; i++) for (ushort j = 0; j < MAPSIZE; j++) for (ushort k = 0; k < MAPSIZE; k++) { downloadList[i, j, k] = BlockType.None; blockList[i, j, k] = BlockType.None; } // Initialize the face lists. faceMap = new Dictionary<uint,bool>[(byte)BlockTexture.MAXIMUM, NUMREGIONS]; for (BlockTexture blockTexture = BlockTexture.None; blockTexture < BlockTexture.MAXIMUM; blockTexture++) for (int r=0; r<NUMREGIONS; r++) faceMap[(byte)blockTexture, r] = new Dictionary<uint, bool>(); // Initialize the texture map. blockTextureMap = new BlockTexture[(byte)BlockType.MAXIMUM, 6]; for (BlockType blockType = BlockType.None; blockType < BlockType.MAXIMUM; blockType++) for (BlockFaceDirection faceDir = BlockFaceDirection.XIncreasing; faceDir < BlockFaceDirection.MAXIMUM; faceDir++) blockTextureMap[(byte)blockType,(byte)faceDir] = BlockInformation.GetTexture(blockType, faceDir); // Load the textures we'll use. blockTextures = new IMTexture[(byte)BlockTexture.MAXIMUM]; blockTextures[(byte)BlockTexture.None] = new IMTexture(null); blockTextures[(byte)BlockTexture.Dirt] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_dirt")); blockTextures[(byte)BlockTexture.Rock] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_rock")); blockTextures[(byte)BlockTexture.Ore] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_ore")); blockTextures[(byte)BlockTexture.Gold] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_silver")); blockTextures[(byte)BlockTexture.Diamond] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_diamond")); blockTextures[(byte)BlockTexture.HomeRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_home_red")); blockTextures[(byte)BlockTexture.HomeBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_home_blue")); blockTextures[(byte)BlockTexture.SolidRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_red")); blockTextures[(byte)BlockTexture.SolidBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_blue")); blockTextures[(byte)BlockTexture.Ladder] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_ladder")); blockTextures[(byte)BlockTexture.LadderTop] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_ladder_top")); blockTextures[(byte)BlockTexture.Spikes] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_spikes")); blockTextures[(byte)BlockTexture.Jump] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_jump")); blockTextures[(byte)BlockTexture.JumpTop] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_jump_top")); blockTextures[(byte)BlockTexture.Explosive] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_explosive")); blockTextures[(byte)BlockTexture.Metal] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_metal")); blockTextures[(byte)BlockTexture.DirtSign] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_dirt_sign")); blockTextures[(byte)BlockTexture.BankTopRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_top_red")); blockTextures[(byte)BlockTexture.BankLeftRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_left_red")); blockTextures[(byte)BlockTexture.BankFrontRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_front_red")); blockTextures[(byte)BlockTexture.BankRightRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_right_red")); blockTextures[(byte)BlockTexture.BankBackRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_back_red")); blockTextures[(byte)BlockTexture.BankTopBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_top_blue")); blockTextures[(byte)BlockTexture.BankLeftBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_left_blue")); blockTextures[(byte)BlockTexture.BankFrontBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_front_blue")); blockTextures[(byte)BlockTexture.BankRightBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_right_blue")); blockTextures[(byte)BlockTexture.BankBackBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_back_blue")); blockTextures[(byte)BlockTexture.TeleSideA] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_teleporter_a")); blockTextures[(byte)BlockTexture.TeleSideB] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_teleporter_b")); blockTextures[(byte)BlockTexture.TeleTop] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_teleporter_top")); blockTextures[(byte)BlockTexture.TeleBottom] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_teleporter_bottom")); blockTextures[(byte)BlockTexture.Lava] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_lava")); blockTextures[(byte)BlockTexture.Road] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_road")); blockTextures[(byte)BlockTexture.RoadTop] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_road_top")); blockTextures[(byte)BlockTexture.RoadBottom] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_road_bottom")); blockTextures[(byte)BlockTexture.BeaconRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_beacon_top_red")); blockTextures[(byte)BlockTexture.BeaconBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_beacon_top_blue")); blockTextures[(byte)BlockTexture.TransRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_trans_red")); blockTextures[(byte)BlockTexture.TransBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_trans_blue")); // Load our effects. basicEffect = gameInstance.Content.Load<Effect>("effect_basic"); // Build vertex lists. vertexBuffers = new DynamicVertexBuffer[(byte)BlockTexture.MAXIMUM, NUMREGIONS]; vertexListDirty = new bool[(byte)BlockTexture.MAXIMUM, NUMREGIONS]; for (int i = 0; i < (byte)BlockTexture.MAXIMUM; i++) for (int j = 0; j < NUMREGIONS; j++) vertexListDirty[i, j] = true; // Initialize any graphics stuff. vertexDeclaration = new VertexDeclaration(gameInstance.GraphicsDevice, VertexPositionTextureShade.VertexElements); // Initialize the bloom engine. if (gameInstance.RenderPretty) { bloomPosteffect = new BloomComponent(); bloomPosteffect.Load(gameInstance.GraphicsDevice, gameInstance.Content); } else bloomPosteffect = null; }
public BlockEngine(InfiniminerGame gameInstance) { this.gameInstance = gameInstance; // Initialize the block list. downloadList = new BlockType[MAPSIZE, MAPSIZE, MAPSIZE]; blockList = new BlockType[MAPSIZE, MAPSIZE, MAPSIZE]; for (ushort i = 0; i < MAPSIZE; i++) for (ushort j = 0; j < MAPSIZE; j++) for (ushort k = 0; k < MAPSIZE; k++) { downloadList[i, j, k] = BlockType.None; blockList[i, j, k] = BlockType.None; } // Initialize the face lists. faceMap = new Dictionary<uint,bool>[(byte)BlockTexture.MAXIMUM, NUMREGIONS]; for (BlockTexture blockTexture = BlockTexture.None; blockTexture < BlockTexture.MAXIMUM; blockTexture++) for (int r=0; r<NUMREGIONS; r++) faceMap[(byte)blockTexture, r] = new Dictionary<uint, bool>(); // Initialize the texture map. blockTextureMap = new BlockTexture[(byte)BlockType.MAXIMUM, 6]; for (BlockType blockType = BlockType.None; blockType < BlockType.MAXIMUM; blockType++) for (BlockFaceDirection faceDir = BlockFaceDirection.XIncreasing; faceDir < BlockFaceDirection.MAXIMUM; faceDir++) blockTextureMap[(byte)blockType,(byte)faceDir] = BlockInformation.GetTexture(blockType, faceDir); // Load the textures we'll use. blockTextures = new IMTexture[(byte)BlockTexture.MAXIMUM]; blockTextures[(byte)BlockTexture.None] = new IMTexture(null); blockTextures[(byte)BlockTexture.Dirt] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_dirt")); blockTextures[(byte)BlockTexture.Mud] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_mud")); blockTextures[(byte)BlockTexture.Grass] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_grass")); blockTextures[(byte)BlockTexture.GrassSide] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_grass_side")); blockTextures[(byte)BlockTexture.Sand] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_sand")); blockTextures[(byte)BlockTexture.Rock] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_rock")); blockTextures[(byte)BlockTexture.Ore] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_ore")); blockTextures[(byte)BlockTexture.Gold] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_silver")); blockTextures[(byte)BlockTexture.Diamond] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_diamond")); blockTextures[(byte)BlockTexture.HomeRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_home_red")); blockTextures[(byte)BlockTexture.HomeBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_home_blue")); blockTextures[(byte)BlockTexture.SolidRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_red")); blockTextures[(byte)BlockTexture.SolidBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_blue")); blockTextures[(byte)BlockTexture.SolidRed2] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_red2"));//placeholder texture blockTextures[(byte)BlockTexture.SolidBlue2] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_blue2"));//placeholder texture blockTextures[(byte)BlockTexture.Ladder] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_ladder")); blockTextures[(byte)BlockTexture.LadderTop] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_ladder_top")); blockTextures[(byte)BlockTexture.Spikes] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_spikes")); blockTextures[(byte)BlockTexture.Jump] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_jump")); blockTextures[(byte)BlockTexture.JumpTop] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_jump_top")); blockTextures[(byte)BlockTexture.Explosive] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_explosive")); blockTextures[(byte)BlockTexture.Metal] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_metal")); blockTextures[(byte)BlockTexture.DirtSign] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_dirt_sign")); blockTextures[(byte)BlockTexture.BankTopRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_top_red")); blockTextures[(byte)BlockTexture.BankLeftRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_left_red")); blockTextures[(byte)BlockTexture.BankFrontRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_front_red")); blockTextures[(byte)BlockTexture.BankRightRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_right_red")); blockTextures[(byte)BlockTexture.BankBackRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_back_red")); blockTextures[(byte)BlockTexture.BankTopBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_top_blue")); blockTextures[(byte)BlockTexture.BankLeftBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_left_blue")); blockTextures[(byte)BlockTexture.BankFrontBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_front_blue")); blockTextures[(byte)BlockTexture.BankRightBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_right_blue")); blockTextures[(byte)BlockTexture.BankBackBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_back_blue")); blockTextures[(byte)BlockTexture.Forge] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_forge")); blockTextures[(byte)BlockTexture.ForgeSide] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_forge_side")); blockTextures[(byte)BlockTexture.ArtCaseR] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_artcase_red")); blockTextures[(byte)BlockTexture.ArtCaseB] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_artcase_blue")); //base block blockTextures[(byte)BlockTexture.BaseTopRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_top_red")); blockTextures[(byte)BlockTexture.BaseLeftRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_left_red")); blockTextures[(byte)BlockTexture.BaseFrontRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_front_red")); blockTextures[(byte)BlockTexture.BaseRightRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_right_red")); blockTextures[(byte)BlockTexture.BaseBackRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_back_red")); blockTextures[(byte)BlockTexture.BaseTopBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_top_blue")); blockTextures[(byte)BlockTexture.BaseLeftBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_left_blue")); blockTextures[(byte)BlockTexture.BaseFrontBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_front_blue")); blockTextures[(byte)BlockTexture.BaseRightBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_right_blue")); blockTextures[(byte)BlockTexture.BaseBackBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_bank_back_blue")); //base block blockTextures[(byte)BlockTexture.TeleSideA] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_teleporter_a")); blockTextures[(byte)BlockTexture.TeleSideB] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_teleporter_b")); blockTextures[(byte)BlockTexture.TeleTop] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_teleporter_top")); blockTextures[(byte)BlockTexture.TeleBottom] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_teleporter_bottom")); blockTextures[(byte)BlockTexture.Lava] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_lava")); blockTextures[(byte)BlockTexture.Water] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_trans_water")); blockTextures[(byte)BlockTexture.Road] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_road")); blockTextures[(byte)BlockTexture.RoadTop] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_road_top")); blockTextures[(byte)BlockTexture.RoadBottom] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_road_bottom")); blockTextures[(byte)BlockTexture.BeaconRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_beacon_top_red")); blockTextures[(byte)BlockTexture.BeaconBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_beacon_top_blue")); blockTextures[(byte)BlockTexture.TransRed] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_trans_red")); blockTextures[(byte)BlockTexture.TransBlue] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_trans_blue")); blockTextures[(byte)BlockTexture.GlassR] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_glass_red")); blockTextures[(byte)BlockTexture.GlassB] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_glass_blue")); blockTextures[(byte)BlockTexture.ForceR] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_force_red")); blockTextures[(byte)BlockTexture.ForceB] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_force_blue")); blockTextures[(byte)BlockTexture.Generator] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_generator")); blockTextures[(byte)BlockTexture.Controller] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_controller")); blockTextures[(byte)BlockTexture.Pipe] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_pipe")); blockTextures[(byte)BlockTexture.Pump] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_pump")); blockTextures[(byte)BlockTexture.Barrel] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_barrel_side")); blockTextures[(byte)BlockTexture.BarrelTop] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_barrel_top")); blockTextures[(byte)BlockTexture.Spring] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_spring")); blockTextures[(byte)BlockTexture.MagmaVent] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_magmavent")); blockTextures[(byte)BlockTexture.MagmaBurst] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_magma")); blockTextures[(byte)BlockTexture.Fire] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_fire")); blockTextures[(byte)BlockTexture.StealthBlockR] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_dirt_trans")); blockTextures[(byte)BlockTexture.StealthBlockB] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_dirt_trans")); blockTextures[(byte)BlockTexture.Trap] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_dirt")); blockTextures[(byte)BlockTexture.TrapB] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_dirt")); blockTextures[(byte)BlockTexture.TrapR] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_dirt")); blockTextures[(byte)BlockTexture.TrapVis] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_trapVis")); blockTextures[(byte)BlockTexture.Magma] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_magma")); blockTextures[(byte)BlockTexture.Lever] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_mechanism")); blockTextures[(byte)BlockTexture.Plate] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_metal")); blockTextures[(byte)BlockTexture.Hinge] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_hinge")); blockTextures[(byte)BlockTexture.Construction] = new IMTexture(gameInstance.Content.Load<Texture2D>("blocks/tex_block_construction")); // Load our effects. basicEffect = gameInstance.Content.Load<Effect>("effect_basic"); // Build vertex lists. vertexBuffers = new DynamicVertexBuffer[(byte)BlockTexture.MAXIMUM, NUMREGIONS]; vertexListDirty = new bool[(byte)BlockTexture.MAXIMUM, NUMREGIONS]; Light = new float[MAPSIZE, MAPSIZE, MAPSIZE]; for(int x = 0;x < MAPSIZE-1;x++) for (int y = 0; y < MAPSIZE - 1; y++) for (int z = 0; z < MAPSIZE - 1; z++) { Light[x, y, z] = 0.2f; } for (int i = 0; i < (byte)BlockTexture.MAXIMUM; i++) for (int j = 0; j < NUMREGIONS; j++) vertexListDirty[i, j] = true; // Initialize any graphics stuff. vertexDeclaration = new VertexDeclaration(gameInstance.GraphicsDevice, VertexPositionTextureShade.VertexElements); // Initialize the bloom engine. if (gameInstance.RenderPretty) { bloomPosteffect = new BloomComponent(); bloomPosteffect.Load(gameInstance.GraphicsDevice, gameInstance.Content); } else bloomPosteffect = null; }