diff --git a/2.5DHero/2.5DHero/2.5DHero.vbproj b/2.5DHero/2.5DHero/2.5DHero.vbproj
index 9f132dd3b..7d4a633d9 100644
--- a/2.5DHero/2.5DHero/2.5DHero.vbproj
+++ b/2.5DHero/2.5DHero/2.5DHero.vbproj
@@ -1635,6 +1635,8 @@
+
+
diff --git a/2.5DHero/2.5DHero/Resources/Models/BaseModel.vb b/2.5DHero/2.5DHero/Resources/Models/BaseModel.vb
index 7b9f16b7e..3207df978 100644
--- a/2.5DHero/2.5DHero/Resources/Models/BaseModel.vb
+++ b/2.5DHero/2.5DHero/Resources/Models/BaseModel.vb
@@ -98,6 +98,8 @@
Public Shared DoubleFloorModel As DoubleFloorModel = New DoubleFloorModel()
Public Shared PyramidModel As PyramidModel = New PyramidModel()
Public Shared StairsModel As StairsModel = New StairsModel()
+ Public Shared DiagonalWallModel As DiagonalWallModel = New DiagonalWallModel()
+ Public Shared HalfDiagonalWallModel As HalfDiagonalWallModel = New HalfDiagonalWallModel()
Public Shared Function getModelbyID(ByVal ID As Integer) As BaseModel
Select Case ID
@@ -135,6 +137,10 @@
Return PyramidModel
Case 16
Return StairsModel
+ Case 17
+ Return DiagonalWallModel
+ Case 18
+ Return HalfDiagonalWallModel
Case Else
Return BlockModel
End Select
diff --git a/2.5DHero/2.5DHero/Resources/Models/Blocks/DiagonalWallModel.vb b/2.5DHero/2.5DHero/Resources/Models/Blocks/DiagonalWallModel.vb
new file mode 100644
index 000000000..7572c23b1
--- /dev/null
+++ b/2.5DHero/2.5DHero/Resources/Models/Blocks/DiagonalWallModel.vb
@@ -0,0 +1,33 @@
+Public Class DiagonalWallModel
+
+ Inherits BaseModel
+
+ Public Sub New()
+ vertexData.Clear()
+
+ 'This wall will start from 1 point and end at the opposite point diagonally
+
+
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, 0.5, 0.5), New Vector3(0, 0, 1), New Vector2(0.0, 1.0))) 'A
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, -0.5, -0.5), New Vector3(0, 0, 1), New Vector2(1.0, 0.0))) 'H
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, -0.5, 0.5), New Vector3(0, 0, 1), New Vector2(0.0, 0.0))) 'C
+
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, 0.5, 0.5), New Vector3(0, 0, 1), New Vector2(0.0, 1.0))) 'A
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, 0.5, -0.5), New Vector3(0, 0, 1), New Vector2(1.0, 1.0))) 'F
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, -0.5, -0.5), New Vector3(0, 0, 1), New Vector2(1.0, 0.0))) 'H
+
+ 'These will be the same triangles but from the opposite direction, this way it can be rendered from both directions or just from one direction
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, 0.5, 0.5), New Vector3(0, 0, -1), New Vector2(0.0, 1.0))) 'A
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, -0.5, 0.5), New Vector3(0, 0, -1), New Vector2(0.0, 0.0))) 'C
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, -0.5, -0.5), New Vector3(0, 0, -1), New Vector2(1.0, 0.0))) 'H
+
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, 0.5, 0.5), New Vector3(0, 0, -1), New Vector2(0.0, 1.0))) 'A
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, -0.5, -0.5), New Vector3(0, 0, -1), New Vector2(1.0, 0.0))) 'H
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, 0.5, -0.5), New Vector3(0, 0, -1), New Vector2(1.0, 1.0))) 'F
+
+ Me.ID = 17
+
+ Setup()
+ End Sub
+
+End Class
\ No newline at end of file
diff --git a/2.5DHero/2.5DHero/Resources/Models/Blocks/HalfDiagonalWallModel.vb b/2.5DHero/2.5DHero/Resources/Models/Blocks/HalfDiagonalWallModel.vb
new file mode 100644
index 000000000..bb6bdef77
--- /dev/null
+++ b/2.5DHero/2.5DHero/Resources/Models/Blocks/HalfDiagonalWallModel.vb
@@ -0,0 +1,33 @@
+Public Class HalfDiagonalWallModel
+
+ Inherits BaseModel
+
+ Public Sub New()
+ vertexData.Clear()
+
+ 'This wall will start from 1 point and end at the opposite middle point diagonally
+
+
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, 0.5, 0), New Vector3(0, 0, 1), New Vector2(0.0, 1.0))) 'AB
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, -0.5, -0.5), New Vector3(0, 0, 1), New Vector2(1.0, 0.0))) 'H
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, -0.5, 0), New Vector3(0, 0, 1), New Vector2(0.0, 0.0))) 'CD
+
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, 0.5, 0), New Vector3(0, 0, 1), New Vector2(0.0, 1.0))) 'AB
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, 0.5, -0.5), New Vector3(0, 0, 1), New Vector2(1.0, 1.0))) 'F
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, -0.5, -0.5), New Vector3(0, 0, 1), New Vector2(1.0, 0.0))) 'H
+
+ 'These will be the same triangles but from the opposite direction, this way it can be rendered from both directions or just from one direction
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, 0.5, 0), New Vector3(0, 0, -1), New Vector2(0.0, 1.0))) 'AB
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, -0.5, 0), New Vector3(0, 0, -1), New Vector2(0.0, 0.0))) 'CD
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, -0.5, -0.5), New Vector3(0, 0, -1), New Vector2(1.0, 0.0))) 'H
+
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(-0.5, 0.5, 0), New Vector3(0, 0, -1), New Vector2(0.0, 1.0))) 'AB
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, -0.5, -0.5), New Vector3(0, 0, -1), New Vector2(1.0, 0.0))) 'H
+ vertexData.Add(New VertexPositionNormalTexture(New Vector3(0.5, 0.5, -0.5), New Vector3(0, 0, -1), New Vector2(1.0, 1.0))) 'F
+
+ Me.ID = 18
+
+ Setup()
+ End Sub
+
+End Class
\ No newline at end of file
diff --git a/2.5DHero/2.5DHeroContent/Content/Content.mgcb b/2.5DHero/2.5DHeroContent/Content/Content.mgcb
index 84cb8de58..735e54995 100644
--- a/2.5DHero/2.5DHeroContent/Content/Content.mgcb
+++ b/2.5DHero/2.5DHeroContent/Content/Content.mgcb
@@ -46192,3 +46192,24 @@
/processorParam:TextureFormat=Compressed
/build:Models/truck2/Truck.obj
+#begin maps/TestMaps/EmbeddedTower.dat
+/copy:maps/TestMaps/EmbeddedTower.dat
+
+#begin maps/TestMaps/test4models.dat
+/copy:maps/TestMaps/test4models.dat
+
+#begin maps/TestMaps/Kings_Landing.dat
+/copy:maps/TestMaps/Kings_Landing.dat
+
+#begin Content/Textures/EmbeddedTower.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:Content/Textures/EmbeddedTower.png
+
diff --git a/2.5DHero/2.5DHeroContent/Content/Textures/EmbeddedTower.png b/2.5DHero/2.5DHeroContent/Content/Textures/EmbeddedTower.png
new file mode 100644
index 000000000..60d88d9a1
Binary files /dev/null and b/2.5DHero/2.5DHeroContent/Content/Textures/EmbeddedTower.png differ
diff --git a/2.5DHero/2.5DHeroContent/maps/TestMaps/EmbeddedTower.dat b/2.5DHero/2.5DHeroContent/maps/TestMaps/EmbeddedTower.dat
new file mode 100644
index 000000000..d686ca3f7
Binary files /dev/null and b/2.5DHero/2.5DHeroContent/maps/TestMaps/EmbeddedTower.dat differ
diff --git a/2.5DHero/2.5DHeroContent/maps/TestMaps/Kings_Landing.dat b/2.5DHero/2.5DHeroContent/maps/TestMaps/Kings_Landing.dat
new file mode 100644
index 000000000..e328769fe
Binary files /dev/null and b/2.5DHero/2.5DHeroContent/maps/TestMaps/Kings_Landing.dat differ