Whirlpool animation textures can now be modified
Also removed a tag that wasn't used
This commit is contained in:
parent
9d5411986f
commit
f3633cc0d8
|
@ -3,8 +3,9 @@
|
||||||
Inherits Entity
|
Inherits Entity
|
||||||
|
|
||||||
Public Shared LoadedWaterTemp As Boolean = False
|
Public Shared LoadedWaterTemp As Boolean = False
|
||||||
Public Shared WaterTexturesTemp As New List(Of Texture2D)
|
Public Shared WaterTexturesTemp As New Dictionary(Of String, Texture2D)
|
||||||
|
|
||||||
|
Dim WaterTextureName As String = ""
|
||||||
Dim WaterAnimation As Animation
|
Dim WaterAnimation As Animation
|
||||||
Dim currentRectangle As New Rectangle(0, 0, 0, 0)
|
Dim currentRectangle As New Rectangle(0, 0, 0, 0)
|
||||||
|
|
||||||
|
@ -13,20 +14,34 @@
|
||||||
|
|
||||||
WaterAnimation = New Animation(P3D.TextureManager.GetTexture("Textures\Routes"), 1, 4, 16, 16, 9, 12, 0)
|
WaterAnimation = New Animation(P3D.TextureManager.GetTexture("Textures\Routes"), 1, 4, 16, 16, 9, 12, 0)
|
||||||
|
|
||||||
If Whirlpool.LoadedWaterTemp = False Then
|
CreateWaterTextureTemp()
|
||||||
|
End Sub
|
||||||
End If
|
Public Shared Sub ClearAnimationResources()
|
||||||
|
WaterTexturesTemp.Clear()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Shared Sub CreateWaterTextureTemp()
|
Public Sub CreateWaterTextureTemp()
|
||||||
If Core.GameOptions.GraphicStyle = 1 Then
|
If Core.GameOptions.GraphicStyle = 1 Then
|
||||||
Whirlpool.WaterTexturesTemp.Clear()
|
Dim textureData As List(Of String) = Me.AdditionalValue.Split(CChar(",")).ToList()
|
||||||
|
If textureData.Count >= 4 Then
|
||||||
|
Dim r As New Rectangle(CInt(textureData(1)), CInt(textureData(2)), CInt(textureData(3)), CInt(textureData(4)))
|
||||||
|
Dim texturePath As String = textureData(0)
|
||||||
|
Me.WaterTextureName = AdditionalValue
|
||||||
|
|
||||||
Whirlpool.WaterTexturesTemp.Add(P3D.TextureManager.GetTexture("Routes", New Rectangle(0, 176, 16, 16)))
|
If Whirlpool.WaterTexturesTemp.ContainsKey(AdditionalValue & "_0") = False Then
|
||||||
Whirlpool.WaterTexturesTemp.Add(P3D.TextureManager.GetTexture("Routes", New Rectangle(16, 176, 16, 16)))
|
Whirlpool.WaterTexturesTemp.Add(AdditionalValue & "_0", TextureManager.GetTexture(texturePath, New Rectangle(r.X, r.Y, r.Width, r.Height)))
|
||||||
Whirlpool.WaterTexturesTemp.Add(P3D.TextureManager.GetTexture("Routes", New Rectangle(32, 176, 16, 16)))
|
Whirlpool.WaterTexturesTemp.Add(AdditionalValue & "_1", TextureManager.GetTexture(texturePath, New Rectangle(r.X + r.Width, r.Y, r.Width, r.Height)))
|
||||||
Whirlpool.WaterTexturesTemp.Add(P3D.TextureManager.GetTexture("Routes", New Rectangle(48, 176, 16, 16)))
|
Whirlpool.WaterTexturesTemp.Add(AdditionalValue & "_2", TextureManager.GetTexture(texturePath, New Rectangle(r.X + r.Width * 2, r.Y, r.Width, r.Height)))
|
||||||
Whirlpool.LoadedWaterTemp = True
|
Whirlpool.WaterTexturesTemp.Add(AdditionalValue & "_3", TextureManager.GetTexture(texturePath, New Rectangle(r.X + r.Width * 3, r.Y, r.Width, r.Height)))
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
If Whirlpool.WaterTexturesTemp.ContainsKey("_0") = False Then
|
||||||
|
Whirlpool.WaterTexturesTemp.Add("_0", TextureManager.GetTexture("Routes", New Rectangle(0, 176, 16, 16)))
|
||||||
|
Whirlpool.WaterTexturesTemp.Add("_1", TextureManager.GetTexture("Routes", New Rectangle(16, 176, 16, 16)))
|
||||||
|
Whirlpool.WaterTexturesTemp.Add("_2", TextureManager.GetTexture("Routes", New Rectangle(32, 176, 16, 16)))
|
||||||
|
Whirlpool.WaterTexturesTemp.Add("_3", TextureManager.GetTexture("Routes", New Rectangle(48, 176, 16, 16)))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
@ -48,25 +63,27 @@
|
||||||
|
|
||||||
Private Sub ChangeTexture()
|
Private Sub ChangeTexture()
|
||||||
If Core.GameOptions.GraphicStyle = 1 Then
|
If Core.GameOptions.GraphicStyle = 1 Then
|
||||||
If Whirlpool.LoadedWaterTemp = False Then
|
If WaterTexturesTemp.Count = 0 Then
|
||||||
Whirlpool.CreateWaterTextureTemp()
|
ClearAnimationResources()
|
||||||
|
CreateWaterTextureTemp()
|
||||||
End If
|
End If
|
||||||
Select Case WaterAnimation.CurrentColumn
|
Select Case WaterAnimation.CurrentColumn
|
||||||
Case 0
|
Case 0
|
||||||
Me.Textures(0) = Whirlpool.WaterTexturesTemp(0)
|
Me.Textures(0) = Whirlpool.WaterTexturesTemp(WaterTextureName & "_0")
|
||||||
Case 1
|
Case 1
|
||||||
Me.Textures(0) = Whirlpool.WaterTexturesTemp(1)
|
Me.Textures(0) = Whirlpool.WaterTexturesTemp(WaterTextureName & "_1")
|
||||||
Case 2
|
Case 2
|
||||||
Me.Textures(0) = Whirlpool.WaterTexturesTemp(2)
|
Me.Textures(0) = Whirlpool.WaterTexturesTemp(WaterTextureName & "_2")
|
||||||
Case 3
|
Case 3
|
||||||
Me.Textures(0) = Whirlpool.WaterTexturesTemp(3)
|
Me.Textures(0) = Whirlpool.WaterTexturesTemp(WaterTextureName & "_3")
|
||||||
End Select
|
End Select
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Overrides Sub Render()
|
Public Overrides Sub Render()
|
||||||
|
Dim setRasterizerState As Boolean = Me.BaseModel.ID <> 0
|
||||||
If Me.Model Is Nothing Then
|
If Me.Model Is Nothing Then
|
||||||
Me.Draw(Me.BaseModel, Textures, False)
|
Me.Draw(Me.BaseModel, Textures, setRasterizerState)
|
||||||
Else
|
Else
|
||||||
UpdateModel()
|
UpdateModel()
|
||||||
Draw(Me.BaseModel, Me.Textures, True, Me.Model)
|
Draw(Me.BaseModel, Me.Textures, True, Me.Model)
|
||||||
|
|
|
@ -1148,9 +1148,6 @@
|
||||||
Dim PosList As List(Of Integer) = CType(GetTag(Tags, "Position"), List(Of Integer))
|
Dim PosList As List(Of Integer) = CType(GetTag(Tags, "Position"), List(Of Integer))
|
||||||
Dim Position As Vector3 = New Vector3(PosList(0) + Offset.X, PosList(1) + Offset.Y, PosList(2) + Offset.Z)
|
Dim Position As Vector3 = New Vector3(PosList(0) + Offset.X, PosList(1) + Offset.Y, PosList(2) + Offset.Z)
|
||||||
|
|
||||||
Dim ObjectSizeList As List(Of Integer) = CType(GetTag(Tags, "Size"), List(Of Integer))
|
|
||||||
Dim ObjectSize As New Size(ObjectSizeList(0), ObjectSizeList(1))
|
|
||||||
|
|
||||||
Dim DayTime As New List(Of Integer)
|
Dim DayTime As New List(Of Integer)
|
||||||
If TagExists(Tags, "DayTime") = True Then
|
If TagExists(Tags, "DayTime") = True Then
|
||||||
DayTime = CType(GetTag(Tags, "DayTime"), List(Of Integer))
|
DayTime = CType(GetTag(Tags, "DayTime"), List(Of Integer))
|
||||||
|
|
Loading…
Reference in New Issue