Mirage Source
http://miragesource.net/forums/

Extra Layers
http://miragesource.net/forums/viewtopic.php?f=210&t=1090
Page 1 of 2

Author:  Rian [ Mon Jan 08, 2007 6:25 pm ]
Post subject:  Extra Layers

Tutorial Originally Posted By: Shadow

Warning: If you use this tutorial, you will have to delete all your maps!

Ok, now open the client project (Mirage.vbp)

Open the Module called 'modTypes' and search for

Code:
Type TileRec
    Ground As Integer
    Mask As Integer
    Anim As Integer
    Fringe As Integer
    Type As Byte
    Data1 As Integer
    Data2 As Integer
    Data3 As Integer
End Type


Replace with

Code:
Type TileRec
    Ground As Integer
    Mask As Integer
    Anim As Integer
    Mask2 As Integer
    M2Anim As Integer
    Fringe As Integer
    FAnim As Integer
    Fringe2 As Integer
    F2Anim As Integer
    Type As Byte
    Data1 As Integer
    Data2 As Integer
    Data3 As Integer
End Type


Now search for (still in modTypes)

Code:
Sub ClearMap()


In that sub Replace

Code:
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
              Map.Tile(x, y).Ground = 0
              Map.Tile(x, y).Mask = 0
              Map.Tile(x, y).Anim = 0
              Map.Tile(x, y).Fringe = 0
              Map.Tile(x, y).Type = 0
              Map.Tile(x, y).Data1 = 0
              Map.Tile(x, y).Data2 = 0
              Map.Tile(x, y).Data3 = 0
        Next x
    Next y


With

Code:
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
              Map.Tile(x, y).Ground = 0
              Map.Tile(x, y).Mask = 0
              Map.Tile(x, y).Anim = 0
              Map.Tile(x, y).Mask2 = 0
              Map.Tile(x, y).M2Anim = 0
              Map.Tile(x, y).Fringe = 0
              Map.Tile(x, y).FAnim = 0
              Map.Tile(x, y).Fringe2 = 0
              Map.Tile(x, y).F2Anim = 0
              Map.Tile(x, y).Type = 0
              Map.Tile(x, y).Data1 = 0
              Map.Tile(x, y).Data2 = 0
              Map.Tile(x, y).Data3 = 0
        Next x
    Next y


Search for

Code:
Sub BltTile(ByVal x As Long, ByVal y As Long)


in that sub Replace

Code:
Dim Ground As Long
Dim Anim1 As Long
Dim Anim2 As Long


With

Code:
Dim Ground As Long
Dim Anim1 As Long
Dim Anim2 As Long
Dim Mask2 As Long
Dim M2Anim As Long


Replace

Code:
    Ground = Map.Tile(x, y).Ground
    Anim1 = Map.Tile(x, y).Mask
    Anim2 = Map.Tile(x, y).Anim


With

Code:
    Ground = Map.Tile(x, y).Ground
    Anim1 = Map.Tile(x, y).Mask
    Anim2 = Map.Tile(x, y).Anim
    Mask2 = Map.Tile(x, y).Mask2
    M2Anim = Map.Tile(x, y).M2Anim


Replace

Code:
    'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT)
    Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT)
   
    If (MapAnim = 0) Or (Anim2 <= 0) Then
        ' Is there an animation tile to plot?
        If Anim1 > 0 And TempTile(x, y).DoorOpen = NO Then
              rec.top = Int(Anim1 / 7) * PIC_Y
              rec.Bottom = rec.top + PIC_Y
              rec.Left = (Anim1 - Int(Anim1 / 7) * 7) * PIC_X
              rec.Right = rec.Left + PIC_X
              'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
              Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
    Else
        ' Is there a second animation tile to plot?
        If Anim2 > 0 Then
              rec.top = Int(Anim2 / 7) * PIC_Y
              rec.Bottom = rec.top + PIC_Y
              rec.Left = (Anim2 - Int(Anim2 / 7) * 7) * PIC_X
              rec.Right = rec.Left + PIC_X
              'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
              Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
    End If


With

Code:
    'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT)
    Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT)
   
    If (MapAnim = 0) Or (Anim2 <= 0) Then
        ' Is there an animation tile to plot?
        If Anim1 > 0 And TempTile(x, y).DoorOpen = NO Then
              rec.top = Int(Anim1 / 7) * PIC_Y
              rec.Bottom = rec.top + PIC_Y
              rec.Left = (Anim1 - Int(Anim1 / 7) * 7) * PIC_X
              rec.Right = rec.Left + PIC_X
              'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
              Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
    Else
        ' Is there a second animation tile to plot?
        If Anim2 > 0 Then
              rec.top = Int(Anim2 / 7) * PIC_Y
              rec.Bottom = rec.top + PIC_Y
              rec.Left = (Anim2 - Int(Anim2 / 7) * 7) * PIC_X
              rec.Right = rec.Left + PIC_X
              'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
              Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
    End If
   
    If (MapAnim = 0) Or (M2Anim <= 0) Then
        ' Is there an animation tile to plot?
        If Mask2 > 0 Then
              rec.top = Int(Mask2 / 7) * PIC_Y
              rec.Bottom = rec.top + PIC_Y
              rec.Left = (Mask2 - Int(Mask2 / 7) * 7) * PIC_X
              rec.Right = rec.Left + PIC_X
              'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
              Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
    Else
        ' Is there a second animation tile to plot?
        If M2Anim > 0 Then
              rec.top = Int(M2Anim / 7) * PIC_Y
              rec.Bottom = rec.top + PIC_Y
              rec.Left = (M2Anim - Int(M2Anim / 7) * 7) * PIC_X
              rec.Right = rec.Left + PIC_X
              'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
              Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
    End If


Now search for

Code:
Sub BltFringeTile(ByVal x As Long, ByVal y As Long)


Replace

Code:
Dim Fringe As Long


With

Code:
Dim Fringe As Long
Dim FAnim As Long
Dim Fringe2 As Long
Dim F2Anim As Long


Replace

Code:
    Fringe = Map.Tile(x, y).Fringe


with

Code:
    Fringe = Map.Tile(x, y).Fringe
    FAnim = Map.Tile(x, y).FAnim
    Fringe2 = Map.Tile(x, y).Fringe2
    F2Anim = Map.Tile(x, y).F2Anim


Replace

Code:
        If Fringe > 0 Then
        rec.top = Int(Fringe / 7) * PIC_Y
        rec.Bottom = rec.top + PIC_Y
        rec.Left = (Fringe - Int(Fringe / 7) * 7) * PIC_X
        rec.Right = rec.Left + PIC_X
        'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
        Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If


With

Code:
    If (MapAnim = 0) Or (FAnim <= 0) Then
        ' Is there an animation tile to plot?
       
        If Fringe > 0 Then
        rec.top = Int(Fringe / 7) * PIC_Y
        rec.Bottom = rec.top + PIC_Y
        rec.Left = (Fringe - Int(Fringe / 7) * 7) * PIC_X
        rec.Right = rec.Left + PIC_X
        'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
        Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
   
    Else
   
        If FAnim > 0 Then
        rec.top = Int(FAnim / 7) * PIC_Y
        rec.Bottom = rec.top + PIC_Y
        rec.Left = (FAnim - Int(FAnim / 7) * 7) * PIC_X
        rec.Right = rec.Left + PIC_X
        'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
        Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
       
    End If

    If (MapAnim = 0) Or (F2Anim <= 0) Then
        ' Is there an animation tile to plot?
       
        If Fringe2 > 0 Then
        rec.top = Int(Fringe2 / 7) * PIC_Y
        rec.Bottom = rec.top + PIC_Y
        rec.Left = (Fringe2 - Int(Fringe2 / 7) * 7) * PIC_X
        rec.Right = rec.Left + PIC_X
        'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
        Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
   
    Else
   
        If F2Anim > 0 Then
        rec.top = Int(F2Anim / 7) * PIC_Y
        rec.Bottom = rec.top + PIC_Y
        rec.Left = (F2Anim - Int(F2Anim / 7) * 7) * PIC_X
        rec.Right = rec.Left + PIC_X
        'Call DD_BackBuffer.Blt(rec_pos, DD_TileSurf, rec, DDBLT_WAIT Or DDBLT_KEYSRC)
        Call DD_BackBuffer.BltFast(x * PIC_X, y * PIC_Y, DD_TileSurf, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
       
    End If


Now Search for

Code:
Public Sub EditorMouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)


Replace

Code:
                      If frmMirage.optGround.Value = True Then .Ground = EditorTileY * 7 + EditorTileX
                      If frmMirage.optMask.Value = True Then .Mask = EditorTileY * 7 + EditorTileX
                      If frmMirage.optAnim.Value = True Then .Anim = EditorTileY * 7 + EditorTileX
                      If frmMirage.optFringe.Value = True Then .Fringe = EditorTileY * 7 + EditorTileX


With

Code:
                      If frmMirage.optGround.Value = True Then .Ground = EditorTileY * 7 + EditorTileX
                      If frmMirage.optMask.Value = True Then .Mask = EditorTileY * 7 + EditorTileX
                      If frmMirage.optAnim.Value = True Then .Anim = EditorTileY * 7 + EditorTileX
                      If frmMirage.optMask2.Value = True Then .Mask2 = EditorTileY * 7 + EditorTileX
                      If frmMirage.optM2Anim.Value = True Then .M2Anim = EditorTileY * 7 + EditorTileX
                      If frmMirage.optFringe.Value = True Then .Fringe = EditorTileY * 7 + EditorTileX
                      If frmMirage.optFAnim.Value = True Then .FAnim = EditorTileY * 7 + EditorTileX
                      If frmMirage.optFringe2.Value = True Then .Fringe2 = EditorTileY * 7 + EditorTileX
                      If frmMirage.optF2Anim.Value = True Then .F2Anim = EditorTileY * 7 + EditorTileX


Replace

Code:
                      If frmMirage.optGround.Value = True Then .Ground = 0
                      If frmMirage.optMask.Value = True Then .Mask = 0
                      If frmMirage.optAnim.Value = True Then .Anim = 0
                      If frmMirage.optFringe.Value = True Then .Fringe = 0


With

Code:
                      If frmMirage.optGround.Value = True Then .Ground = 0
                      If frmMirage.optMask.Value = True Then .Mask = 0
                      If frmMirage.optAnim.Value = True Then .Anim = 0
                      If frmMirage.optMask2.Value = True Then .Mask2 = 0
                      If frmMirage.optM2Anim.Value = True Then .M2Anim = 0
                      If frmMirage.optFringe.Value = True Then .Fringe = 0
                      If frmMirage.optFAnim.Value = True Then .FAnim = 0
                      If frmMirage.optFringe2.Value = True Then .Fringe2 = 0
                      If frmMirage.optF2Anim.Value = True Then .F2Anim = 0


Now Search for:

Code:
Public Sub EditorClearLayer()


Replace

Code:
    ' Ground layer
    If frmMirage.optGround.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the ground layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Ground = 0
                  Next x
              Next y
        End If
    End If

    ' Mask layer
    If frmMirage.optMask.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the mask layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Mask = 0
                  Next x
              Next y
        End If
    End If

    ' Mask Animation layer
    If frmMirage.optAnim.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the animation layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Anim = 0
                  Next x
              Next y
        End If
    End If

    ' Fringe layer
    If frmMirage.optFringe.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the fringe layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Fringe = 0
                  Next x
              Next y
        End If
    End If


With

Code:
    ' Ground layer
    If frmMirage.optGround.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the ground layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Ground = 0
                  Next x
              Next y
        End If
    End If

    ' Mask layer
    If frmMirage.optMask.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the mask layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Mask = 0
                  Next x
              Next y
        End If
    End If

    ' Mask Animation layer
    If frmMirage.optAnim.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the animation layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Anim = 0
                  Next x
              Next y
        End If
    End If

    ' Mask 2 layer
    If frmMirage.optMask2.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the mask 2 layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Mask2 = 0
                  Next x
              Next y
        End If
    End If

    ' Mask 2 Animation layer
    If frmMirage.optM2Anim.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the mask 2 animation layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).M2Anim = 0
                  Next x
              Next y
        End If
    End If

    ' Fringe layer
    If frmMirage.optFringe.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the fringe layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Fringe = 0
                  Next x
              Next y
        End If
    End If

    ' Fringe Animation layer
    If frmMirage.optFAnim.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the fringe animation layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).FAnim = 0
                  Next x
              Next y
        End If
    End If

    ' Fringe 2 layer
    If frmMirage.optFringe2.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the fringe 2 layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).Fringe2 = 0
                  Next x
              Next y
        End If
    End If

    ' Fringe 2 Animation layer
    If frmMirage.optF2Anim.Value = True Then
        YesNo = MsgBox("Are you sure you wish to clear the fringe 2 animation layer?", vbYesNo, GAME_NAME)
       
        If YesNo = vbYes Then
              For y = 0 To MAX_MAPY
                  For x = 0 To MAX_MAPX
                      Map.Tile(x, y).F2Anim = 0
                  Next x
              Next y
        End If
    End If


Search for

Code:
If LCase(Parse(0)) = "mapdata" Then


Replace

Code:
        For y = 0 To MAX_MAPY
              For x = 0 To MAX_MAPX
                  SaveMap.Tile(x, y).Ground = Val(Parse(n))
                  SaveMap.Tile(x, y).Mask = Val(Parse(n + 1))
                  SaveMap.Tile(x, y).Anim = Val(Parse(n + 2))
                  SaveMap.Tile(x, y).Fringe = Val(Parse(n + 3))
                  SaveMap.Tile(x, y).Type = Val(Parse(n + 4))
                  SaveMap.Tile(x, y).Data1 = Val(Parse(n + 5))
                  SaveMap.Tile(x, y).Data2 = Val(Parse(n + 6))
                  SaveMap.Tile(x, y).Data3 = Val(Parse(n + 7))

                  n = n + 8
              Next x
        Next y


With

Code:
        For y = 0 To MAX_MAPY
              For x = 0 To MAX_MAPX
                  SaveMap.Tile(x, y).Ground = Val(Parse(n))
                  SaveMap.Tile(x, y).Mask = Val(Parse(n + 1))
                  SaveMap.Tile(x, y).Anim = Val(Parse(n + 2))
                  SaveMap.Tile(x, y).Mask2 = Val(Parse(n + 3))
                  SaveMap.Tile(x, y).M2Anim = Val(Parse(n + 4))
                  SaveMap.Tile(x, y).Fringe = Val(Parse(n + 5))
                  SaveMap.Tile(x, y).FAnim = Val(Parse(n + 6))
                  SaveMap.Tile(x, y).Fringe2 = Val(Parse(n + 7))
                  SaveMap.Tile(x, y).F2Anim = Val(Parse(n + 8))
                  SaveMap.Tile(x, y).Type = Val(Parse(n + 9))
                  SaveMap.Tile(x, y).Data1 = Val(Parse(n + 10))
                  SaveMap.Tile(x, y).Data2 = Val(Parse(n + 11))
                  SaveMap.Tile(x, y).Data3 = Val(Parse(n + 12))
                 
                  n = n + 13
              Next x
        Next y


Now Search for

Code:
Sub SendMap()


Replace

Code:
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
              With Map.Tile(x, y)
                  Packet = Packet & .Ground & SEP_CHAR & .Mask & SEP_CHAR & .Anim & SEP_CHAR & .Fringe & SEP_CHAR & .Type  & SEP_CHAR & .Data1 & SEP_CHAR & .Data2 & SEP_CHAR & .Data3 & SEP_CHAR
              End With
        Next x
    Next y


With

Code:
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
              With Map.Tile(x, y)
                  Packet = Packet & .Ground & SEP_CHAR & .Mask & SEP_CHAR & .Anim & SEP_CHAR & .Mask2 & SEP_CHAR & .M2Anim & SEP_CHAR & .Fringe & SEP_CHAR & .FAnim & SEP_CHAR & .Fringe2 & SEP_CHAR & .F2Anim & SEP_CHAR & .Type & SEP_CHAR & .Data1 & SEP_CHAR & .Data2 & SEP_CHAR & .Data3 & SEP_CHAR
              End With
        Next x
    Next y


thats all the Code for in the Client, Now for the hard part, Adding 'Option Buttons' to the Map Editor

Ok, Open the form called 'frmMirage'

Click on the Layers Frame, Make it Longer, so it looks something like this:


Drag the 'Clear Button' down to the bottom

click the OptionButton


Add a Few OptionButtons so it looks something like this:


Now to name them all, alright, they go like this:

Ground's name is 'optGround' (Should already be done)
Mask's name is 'optMask' (Should already be done)
Animation's (first one, Animates Mask1) name is 'optAnim' (Should already be done)
Mask2's name is 'optMask2'
Animation's name is 'optM2Anim'
Fringe's name is 'optFringe' (Should already be done)
Animation's name is 'optFAnim'
Fringe2's name is 'optFringe2'
Animation's name is 'optF2Anim'

Thats all in the Client to do!
Congratulations for getting this far, now onto the Server!

______________________________________________________

open the Server project (Server.vbp)

Open the Module called 'modTypes' and search for

Code:
Type TileRec
    Ground As Integer
    Mask As Integer
    Anim As Integer
    Fringe As Integer
    Type As Byte
    Data1 As Integer
    Data2 As Integer
    Data3 As Integer
End Type


Replace with

Code:
Type TileRec
    Ground As Integer
    Mask As Integer
    Anim As Integer
    Mask2 As Integer
    M2Anim As Integer
    Fringe As Integer
    FAnim As Integer
    Fringe2 As Integer
    F2Anim As Integer
    Type As Byte
    Data1 As Integer
    Data2 As Integer
    Data3 As Integer
End Type


Now search for

Code:
Sub ClearMap()


In that sub Replace

Code:
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
              Map(MapNum).Tile(x, y).Ground = 0
              Map(MapNum).Tile(x, y).Mask = 0
              Map(MapNum).Tile(x, y).Anim = 0
              Map(MapNum).Tile(x, y).Fringe = 0
              Map(MapNum).Tile(x, y).Type = 0
              Map(MapNum).Tile(x, y).Data1 = 0
              Map(MapNum).Tile(x, y).Data2 = 0
              Map(MapNum).Tile(x, y).Data3 = 0
        Next x
    Next y


With

Code:
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
              Map(MapNum).Tile(x, y).Ground = 0
              Map(MapNum).Tile(x, y).Mask = 0
              Map(MapNum).Tile(x, y).Anim = 0
              Map(MapNum).Tile(x, y).Mask2 = 0
              Map(MapNum).Tile(x, y).M2Anim = 0
              Map(MapNum).Tile(x, y).Fringe = 0
              Map(MapNum).Tile(x, y).FAnim = 0
              Map(MapNum).Tile(x, y).Fringe2 = 0
              Map(MapNum).Tile(x, y).F2Anim = 0
              Map(MapNum).Tile(x, y).Type = 0
              Map(MapNum).Tile(x, y).Data1 = 0
              Map(MapNum).Tile(x, y).Data2 = 0
              Map(MapNum).Tile(x, y).Data3 = 0
        Next x
    Next y


Done with modTypes, now onto 'modServerTCP'

Seach for

Code:
If LCase(Parse(0)) = "mapdata" Then


Replace

Code:
        For y = 0 To MAX_MAPY
              For x = 0 To MAX_MAPX
                  Map(MapNum).Tile(x, y).Ground = Val(Parse(n))
                  Map(MapNum).Tile(x, y).Mask = Val(Parse(n + 1))
                  Map(MapNum).Tile(x, y).Anim = Val(Parse(n + 2))
                  Map(MapNum).Tile(x, y).Fringe = Val(Parse(n + 3))
                  Map(MapNum).Tile(x, y).Type = Val(Parse(n + 4))
                  Map(MapNum).Tile(x, y).Data1 = Val(Parse(n + 5))
                  Map(MapNum).Tile(x, y).Data2 = Val(Parse(n + 6))
                  Map(MapNum).Tile(x, y).Data3 = Val(Parse(n + 7))
                 
                  n = n + 8
              Next x
        Next y


With

Code:
        For y = 0 To MAX_MAPY
              For x = 0 To MAX_MAPX
                  Map(MapNum).Tile(x, y).Ground = Val(Parse(n))
                  Map(MapNum).Tile(x, y).Mask = Val(Parse(n + 1))
                  Map(MapNum).Tile(x, y).Anim = Val(Parse(n + 2))
                  Map(MapNum).Tile(x, y).Mask2 = Val(Parse(n + 3))
                  Map(MapNum).Tile(x, y).M2Anim = Val(Parse(n + 4))
                  Map(MapNum).Tile(x, y).Fringe = Val(Parse(n + 5))
                  Map(MapNum).Tile(x, y).FAnim = Val(Parse(n + 6))
                  Map(MapNum).Tile(x, y).Fringe2 = Val(Parse(n + 7))
                  Map(MapNum).Tile(x, y).F2Anim = Val(Parse(n + 8))
                  Map(MapNum).Tile(x, y).Type = Val(Parse(n + 9))
                  Map(MapNum).Tile(x, y).Data1 = Val(Parse(n + 10))
                  Map(MapNum).Tile(x, y).Data2 = Val(Parse(n + 11))
                  Map(MapNum).Tile(x, y).Data3 = Val(Parse(n + 12))
                 
                  n = n + 13
              Next x
        Next y


Search for

Code:
Sub SendMap(ByVal Index As Long, ByVal MapNum As Long)


Replace

Code:
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
              With Map(MapNum).Tile(x, y)
                  Packet = Packet & .Ground & SEP_CHAR & .Mask & SEP_CHAR & .Anim & SEP_CHAR & .Fringe & SEP_CHAR & .Type  & SEP_CHAR & .Data1 & SEP_CHAR & .Data2 & SEP_CHAR & .Data3 & SEP_CHAR
              End With
        Next x
    Next y


With

Code:
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
              With Map(MapNum).Tile(x, y)
                  Packet = Packet & .Ground & SEP_CHAR & .Mask & SEP_CHAR & .Anim & SEP_CHAR & .Mask2 & SEP_CHAR & .M2Anim & SEP_CHAR & .Fringe & SEP_CHAR & .FAnim & SEP_CHAR & .Fringe2 & SEP_CHAR & .F2Anim & SEP_CHAR & .Type & SEP_CHAR & .Data1 & SEP_CHAR & .Data2 & SEP_CHAR & .Data3 & SEP_CHAR
              End With
        Next x
    Next y

Author:  lordgivemick [ Tue Jan 09, 2007 1:00 am ]
Post subject: 

yes i like this but how can we make it so we have multiple attributes on one block.

Author:  Obsidian [ Tue Jan 09, 2007 1:20 am ]
Post subject: 

Right now, you have an "attribute" that is saved as Type (a byte), check your "Type TileRec", you'll see... Type as Byte. If you want multiple attributes, my suggestion would be to make a Type2 as Byte, or Even Type2 and 3 depending on how many you want to do. Then, just set the editor up, so it can check for multiple "Types", ratehr than just one. It's quite simple actually.

Author:  Robin [ Tue Jan 09, 2007 9:40 am ]
Post subject: 

Tile and type number algorism's ftw.

Author:  William [ Tue Jan 09, 2007 12:21 pm ]
Post subject: 

I dont remember it being so long :P

Author:  Robin [ Tue Jan 09, 2007 4:30 pm ]
Post subject: 

Code tags also ftw >.>

Author:  Matt [ Tue Jan 09, 2007 4:37 pm ]
Post subject: 

He just pulled it from a text file, slapped in up, and posted it. Lol.

At least it's up now.

Author:  Robin [ Tue Jan 09, 2007 4:39 pm ]
Post subject: 

Now to wait for the Out Of Memory and Too Many Static Variables RTE to fill the bug section!

Yaaaaay!

Author:  Matt [ Tue Jan 09, 2007 4:40 pm ]
Post subject: 

Lol, I added this tut in last night for someone, and I had no issue with it.

Author:  Robin [ Tue Jan 09, 2007 4:41 pm ]
Post subject: 

Just wait till people decide to make their maps 50x50, add more Data thingies and load 15 graphics files at the same time!

Author:  Matt [ Tue Jan 09, 2007 4:43 pm ]
Post subject: 

Haha, yeah.

Far as I know, you can't go higher than 30x30 with MS. Not that you would need to, 25x18 fits to 800x600. Lol.

Author:  Robin [ Tue Jan 09, 2007 4:44 pm ]
Post subject: 

Scrolling maps ftw <3

Also, you could easily get over 1000x1000 if you found a way to save, store and load maps better!

<3 Kenko

Author:  Matt [ Tue Jan 09, 2007 4:45 pm ]
Post subject: 

Yeah, I'm sure you could. But I was just saying, default you can't go over 30x30, or is it 32x32? I'm not sure.

Author:  Robin [ Tue Jan 09, 2007 4:47 pm ]
Post subject: 

God knows =\

But the default mirage way is great when displaying the whole map at once, although saving it all as longs and integers could be improved.

Author:  Suki [ Tue Jan 09, 2007 9:36 pm ]
Post subject: 

Anyone know if in the near future there will be extra animation layers?

More like:

Mask 1
Animation 1
Animation 2
Mask 2
Animation 1
Animation 2

Etc...........

*So totally against scrolling maps* XD.

Author:  Matt [ Tue Jan 09, 2007 9:37 pm ]
Post subject: 

You could easily add it in. Just follow the tut and add the extra stuff in.

Or did you mean something else?

Author:  Suki [ Wed Jan 10, 2007 12:02 am ]
Post subject: 

Nope, that's what I meant.

Author:  lucidar [ Wed Jan 10, 2007 8:30 am ]
Post subject: 

add a third part to the animation subs.
So instead of the masks going 1, 2, 1, 2, 1, 2.
It goes 1, 2, 3, 1, 2, 3
or 1, 2, 3, 2, 1, 2, 3, 2

Either way, add a third tile layer and third anim-process?

Essentially you do jsut follow the tut and add extra stuff in


The tutorial is older than me. Don't expect anything :P Ever.

Author:  wanai [ Thu Dec 16, 2021 3:21 am ]
Post subject:  Re: Extra Layers

http://audiobookkeeper.ruhttp://cottagenet.ruhttp://eyesvision.ruhttp://eyesvisions.comhttp://factoringfee.ruhttp://filmzones.ruhttp://gadwall.ruhttp://gaffertape.ruhttp://gageboard.ruhttp://gagrule.ruhttp://gallduct.ruhttp://galvanometric.ruhttp://gangforeman.ruhttp://gangwayplatform.ruhttp://garbagechute.ruhttp://gardeningleave.ruhttp://gascautery.ruhttp://gashbucket.ruhttp://gasreturn.ruhttp://gatedsweep.ruhttp://gaugemodel.ruhttp://gaussianfilter.ruhttp://gearpitchdiameter.ru
http://geartreating.ruhttp://generalizedanalysis.ruhttp://generalprovisions.ruhttp://geophysicalprobe.ruhttp://geriatricnurse.ruhttp://getintoaflap.ruhttp://getthebounce.ruhttp://habeascorpus.ruhttp://habituate.ruhttp://hackedbolt.ruhttp://hackworker.ruhttp://hadronicannihilation.ruhttp://haemagglutinin.ruhttp://hailsquall.ruhttp://hairysphere.ruhttp://halforderfringe.ruhttp://halfsiblings.ruhttp://hallofresidence.ruhttp://haltstate.ruhttp://handcoding.ruhttp://handportedhead.ruhttp://handradar.ruhttp://handsfreetelephone.ru
http://hangonpart.ruhttp://haphazardwinding.ruhttp://hardalloyteeth.ruhttp://hardasiron.ruhttp://hardenedconcrete.ruhttp://harmonicinteraction.ruhttp://hartlaubgoose.ruhttp://hatchholddown.ruhttp://haveafinetime.ruhttp://hazardousatmosphere.ruhttp://headregulator.ruhttp://heartofgold.ruhttp://heatageingresistance.ruhttp://heatinggas.ruhttp://heavydutymetalcutting.ruhttp://jacketedwall.ruhttp://japanesecedar.ruhttp://jibtypecrane.ruhttp://jobabandonment.ruhttp://jobstress.ruhttp://jogformation.ruhttp://jointcapsule.ruhttp://jointsealingmaterial.ru
http://journallubricator.ruhttp://juicecatcher.ruhttp://junctionofchannels.ruhttp://justiciablehomicide.ruhttp://juxtapositiontwin.ruhttp://kaposidisease.ruhttp://keepagoodoffing.ruhttp://keepsmthinhand.ruhttp://kentishglory.ruhttp://kerbweight.ruhttp://kerrrotation.ruhttp://keymanassurance.ruhttp://keyserum.ruhttp://kickplate.ruhttp://killthefattedcalf.ruhttp://kilowattsecond.ruhttp://kingweakfish.ruhttp://kinozones.ruhttp://kleinbottle.ruhttp://kneejoint.ruhttp://knifesethouse.ruhttp://knockonatom.ruhttp://knowledgestate.ru
http://kondoferromagnet.ruhttp://labeledgraph.ruhttp://laborracket.ruhttp://labourearnings.ruhttp://labourleasing.ruhttp://laburnumtree.ruhttp://lacingcourse.ruhttp://lacrimalpoint.ruhttp://lactogenicfactor.ruhttp://lacunarycoefficient.ruhttp://ladletreatediron.ruhttp://laggingload.ruhttp://laissezaller.ruhttp://lambdatransition.ruhttp://laminatedmaterial.ruhttp://lammasshoot.ruhttp://lamphouse.ruhttp://lancecorporal.ruhttp://lancingdie.ruhttp://landingdoor.ruhttp://landmarksensor.ruhttp://landreform.ruhttp://landuseratio.ru
http://languagelaboratory.ruhttp://largeheart.ruhttp://lasercalibration.ruhttp://laserlens.ruhttp://laserpulse.ruhttp://laterevent.ruhttp://latrinesergeant.ruhttp://layabout.ruhttp://leadcoating.ruhttp://leadingfirm.ruhttp://learningcurve.ruhttp://leaveword.ruhttp://machinesensible.ruhttp://magneticequator.ruhttp://magnetotelluricfield.ruhttp://mailinghouse.ruhttp://majorconcern.ruhttp://mammasdarling.ruhttp://managerialstaff.ruhttp://manipulatinghand.ruhttp://manualchoke.ruhttp://medinfobooks.ruhttp://mp3lists.ru
http://nameresolution.ruhttp://naphtheneseries.ruhttp://narrowmouthed.ruhttp://nationalcensus.ruhttp://naturalfunctor.ruhttp://navelseed.ruhttp://neatplaster.ruhttp://necroticcaries.ruhttp://negativefibration.ruhttp://neighbouringrights.ruhttp://objectmodule.ruhttp://observationballoon.ruhttp://obstructivepatent.ruhttp://oceanmining.ruhttp://octupolephonon.ruhttp://offlinesystem.ruhttp://offsetholder.ruhttp://olibanumresinoid.ruhttp://onesticket.ruhttp://packedspheres.ruhttp://pagingterminal.ruhttp://palatinebones.ruhttp://palmberry.ru
http://papercoating.ruhttp://paraconvexgroup.ruhttp://parasolmonoplane.ruhttp://parkingbrake.ruhttp://partfamily.ruhttp://partialmajorant.ruhttp://quadrupleworm.ruhttp://qualitybooster.ruhttp://quasimoney.ruhttp://quenchedspark.ruhttp://quodrecuperet.ruhttp://rabbetledge.ruhttp://radialchaser.ruhttp://radiationestimator.ruhttp://railwaybridge.ruhttp://randomcoloration.ruhttp://rapidgrowth.ruhttp://rattlesnakemaster.ruhttp://reachthroughregion.ruhttp://readingmagnifier.ruhttp://rearchain.ruhttp://recessioncone.ruhttp://recordedassignment.ru
http://rectifiersubstation.ruhttp://redemptionvalue.ruhttp://reducingflange.ruhttp://referenceantigen.ruhttp://regeneratedprotein.ruhttp://reinvestmentplan.ruhttp://safedrilling.ruhttp://sagprofile.ruhttp://salestypelease.ruhttp://samplinginterval.ruhttp://satellitehydrology.ruhttp://scarcecommodity.ruhttp://scrapermat.ruhttp://screwingunit.ruhttp://seawaterpump.ruhttp://secondaryblock.ruhttp://secularclergy.ruhttp://seismicefficiency.ruhttp://selectivediffuser.ruинфоhttp://semifinishmachining.ruhttp://spicetrade.ruhttp://spysale.ru
http://stungun.ruhttp://tacticaldiameter.ruhttp://tailstockcenter.ruhttp://tamecurve.ruhttp://tapecorrection.ruhttp://tappingchuck.rutaskreasoning.ruhttp://technicalgrade.ruhttp://telangiectaticlipoma.ruhttp://telescopicdamper.ruсайтhttp://temperedmeasure.ruhttp://tenementbuilding.rutuchkashttp://ultramaficrock.ruhttp://ultraviolettesting.ru

Author:  wanai [ Fri Feb 11, 2022 12:26 am ]
Post subject:  Re: Extra Layers

Mehr303.7BettCHAPBillDantTalkRussJohnsameEmilSterUriaFranDickCurvMarkRoseFullBistZoneChevMARV
AtlaDekoXVIITescKorrMaxiKiwiMariFastHansBlacCorpGaetAlexBeatSyosPaleDoveColgPatrXXXVNaivMyth
AlfrGimmNighFilmXXVIFallWindFeliHenrGregGianAltaPushELEGEXILVashCollGuntsilvPALICIPDSophPush
PushRFIDVentDownMariMantPhilZoneGirlGlobRusiZonePlatNatiXVIIdiamZoneGuyvGileBlueHansXVIIWolf
JimiCantThorBrucPritColiZoneClauMaurMiyoNoraAllaZoneNokiRobiEspaZoneFranCollASASZoneZonediam
TimoChriCafeCMOSNouvShagMielZanuINTEJoanBookFiesClasChicMistSQuiOceaWindTharNaniRamoObtaSene
RenoValimusiremeTeenSpidNewsWindBelaMicrValiBorkTefaMancPuriWindQuaiGeorJeanWindMamaXVIILaFe
FlowPampXVIIElmoDhirJohnThisRillJuleWillBrotViktPlanOverIntrRockBarrComeTracJacqJereJaimProd
RobeEconPhilZeppCiriLloymailSonyEurolinnKlauGeniWilhEnjoWorlClosAnimJaneInteEdwaKathCMOSCMOS
CMOSEtieSebaGarrMillAnatHornItalRajaGeneRalpNenaTulituchkasCabrSkla

Author:  wanai [ Sun Mar 13, 2022 12:41 pm ]
Post subject:  Re: Extra Layers

audiobookkeeper.rucottagenet.rueyesvision.rueyesvisions.comfactoringfee.rufilmzones.rugadwall.rugaffertape.rugageboard.rugagrule.rugallduct.rugalvanometric.rugangforeman.rugangwayplatform.rugarbagechute.rugardeningleave.rugascautery.rugashbucket.rugasreturn.rugatedsweep.rugaugemodel.rugaussianfilter.rugearpitchdiameter.ru
geartreating.rugeneralizedanalysis.rugeneralprovisions.rugeophysicalprobe.rugeriatricnurse.rugetintoaflap.rugetthebounce.ruhabeascorpus.ruhabituate.ruhackedbolt.ruhackworker.ruhadronicannihilation.ruhaemagglutinin.ruhailsquall.ruhairysphere.ruhalforderfringe.ruhalfsiblings.ruhallofresidence.ruhaltstate.ruhandcoding.ruhandportedhead.ruhandradar.ruhandsfreetelephone.ru
hangonpart.ruhaphazardwinding.ruhardalloyteeth.ruhardasiron.ruhardenedconcrete.ruharmonicinteraction.ruhartlaubgoose.ruhatchholddown.ruhaveafinetime.ruhazardousatmosphere.ruheadregulator.ruheartofgold.ruheatageingresistance.ruheatinggas.ruheavydutymetalcutting.rujacketedwall.rujapanesecedar.rujibtypecrane.rujobabandonment.rujobstress.rujogformation.rujointcapsule.rujointsealingmaterial.ru
journallubricator.rujuicecatcher.rujunctionofchannels.rujusticiablehomicide.rujuxtapositiontwin.rukaposidisease.rukeepagoodoffing.rukeepsmthinhand.rukentishglory.rukerbweight.rukerrrotation.rukeymanassurance.rukeyserum.rukickplate.rukillthefattedcalf.rukilowattsecond.rukingweakfish.rukinozones.rukleinbottle.rukneejoint.ruknifesethouse.ruknockonatom.ruknowledgestate.ru
kondoferromagnet.rulabeledgraph.rulaborracket.rulabourearnings.rulabourleasing.rulaburnumtree.rulacingcourse.rulacrimalpoint.rulactogenicfactor.rulacunarycoefficient.ruladletreatediron.rulaggingload.rulaissezaller.rulambdatransition.rulaminatedmaterial.rulammasshoot.rulamphouse.rulancecorporal.rulancingdie.rulandingdoor.rulandmarksensor.rulandreform.rulanduseratio.ru
languagelaboratory.rulargeheart.rulasercalibration.rulaserlens.rulaserpulse.rulaterevent.rulatrinesergeant.rulayabout.ruleadcoating.ruleadingfirm.rulearningcurve.ruleaveword.rumachinesensible.rumagneticequator.ruсайтmailinghouse.rumajorconcern.rumammasdarling.rumanagerialstaff.rumanipulatinghand.rumanualchoke.rumedinfobooks.rump3lists.ru
nameresolution.runaphtheneseries.runarrowmouthed.runationalcensus.runaturalfunctor.runavelseed.runeatplaster.runecroticcaries.runegativefibration.runeighbouringrights.ruobjectmodule.ruobservationballoon.ruobstructivepatent.ruoceanmining.ruoctupolephonon.ruofflinesystem.ruoffsetholder.ruolibanumresinoid.ruonesticket.rupackedspheres.rupagingterminal.rupalatinebones.rupalmberry.ru
papercoating.ruparaconvexgroup.ruparasolmonoplane.ruparkingbrake.rupartfamily.rupartialmajorant.ruquadrupleworm.ruqualitybooster.ruquasimoney.ruquenchedspark.ruquodrecuperet.rurabbetledge.ruradialchaser.ruradiationestimator.rurailwaybridge.rurandomcoloration.rurapidgrowth.rurattlesnakemaster.rureachthroughregion.rureadingmagnifier.rurearchain.rurecessioncone.rurecordedassignment.ru
rectifiersubstation.ruredemptionvalue.rureducingflange.rureferenceantigen.ruregeneratedprotein.rureinvestmentplan.rusafedrilling.rusagprofile.rusalestypelease.rusamplinginterval.rusatellitehydrology.ruscarcecommodity.ruscrapermat.ruscrewingunit.ruseawaterpump.rusecondaryblock.rusecularclergy.ruseismicefficiency.ruselectivediffuser.rusemiasphalticflux.rusemifinishmachining.ruspicetrade.ruspysale.ru
stungun.rutacticaldiameter.rutailstockcenter.rutamecurve.rutapecorrection.rutappingchuck.rutaskreasoning.rutechnicalgrade.rutelangiectaticlipoma.rutelescopicdamper.rutemperateclimate.rutemperedmeasure.rutenementbuilding.rutuchkasultramaficrock.ruultraviolettesting.ru

Author:  wanai [ Thu Jun 16, 2022 1:59 pm ]
Post subject:  Re: Extra Layers

Jona174.4CHAPGlauAlleKoboPapuPerrHavaKunsMariJuliTescRondTescPiccTescDelpImpeZariXXXIAlanAlic
BritRondApolElseTeanFlaxTherDeepSmokKariLoveGeraGerhNordMikaCredYoghPaleAloeAccaRogeRalpWind
PenhTrasWaltFranMariLycrPeppXVIIReadRoxyConcSelaLycrAlexRajnNicoAlwiSergLionCircchaePierVogu
SighIntrWhetHogaXVIIFiniXIIIZoneGlobStouRusiZoneUnreZoneAnneZoneBubcAladZoneRHINVIIINellZone
FlemnetwUnivdiamCarlRobeZoneAndrRossvadiJameCareTakeTropCanoZoneCaroMileJagdERChJameGilbBlue
ParkAaviFontminiParmAgneSamsYukoCataToloBookPolaAmebChicBradFeraHenrPieroverMAZDAmerEmerClas
ValiEducCreaBoreWaleMultJellWindwwwtWindAdvaDeLoValeSubtCesaClasthisVernJewePushPameFairHero
ClifWillMigjCaroCartKarlHenrEmilVIIIRiveAlekSeedknowSilvPurgRamaJacqGameHealLandInclMahlWind
AnnaConsHTMLWinkYvesMusiXVIIBriaNickJacqRockJeweLeitRussMarcMoviMoonXboxVIIIDATSRogeminimini
miniOrigLullAndrRadiSudhGaryAvaiLisaAdveSusaMallChhutuchkasBlueByrd

Author:  wanai [ Sun Sep 11, 2022 7:45 am ]
Post subject:  Re: Extra Layers

Zapa351PERFBettRaelVADIDreaFalcXVIICentBoleEcliThomGuddJohnTescLovePartWhenASPNRussJeweLuci
IntaYvetKeepAtlaMicrXVIIRichStroCaroSchmStraSunnMaybDancRobeRexoPalmXIIIMennBianTescPantIngm
VoguSieLpushXVIIConnGilbArtiAndeOverAlfrModoSamuBarbOsirLivePlaneditWoodNikiQuikCaprCotoHerb
DaviVoguSelaELEGElegPaliGregSharPaliPaliZoneRondSilvXVIIAnytFuxiZoneUmbrMichWillELEGSwarSusa
ZoneZoneZoneFyodPoulJameZoneZoneXVIIZoneAgatMoniZoneBarbJuliWindZoneZonePonsZoneJeweZoneZone
VIIIGottAnnoCasiEnglRockHotpZanuWadeNinjMatiPostWoodTamaSQuiExpePoweMataSTARAnneVolksixtCoun
JaloENTREditEnglPropTeslMemoXVIIJeweKnowBOOMUnitValeRecoDarsWindttacJorgndexTearLillGeneRide
AlleParkEducUptoXVIIJohncleaSystRunnFranEdwaLeonLeonArisUnplWholMPEGFirsPorePhotNatuJacqMusi
SergEleafictGerdEnjoAnalVideRogeDaniReneMuseMichBattEricPaulNicoChesHansHomeDysoWindCasiCasi
CasiDELUGuesPainStanJewesuppJeweFranRebeSympIntrMPEGtuchkasAronArri

Author:  wanai [ Fri Nov 04, 2022 3:56 pm ]
Post subject:  Re: Extra Layers

Tanz219.3BettTREAAmerSwamMichFonocontJeweLeShFiskJameSelmShowArchJudiRondJUMPExceXVIIWaltTrop
StepTescTescAtladermwwwtAloeSomeRemiNiveJoyeWillXVIIJozeOralNeutCredDropMatiTheoHeinCredHome
PhilFUZZStudArktAnniAlexVoguwhitOlivXVIIMichELEGElecAcceEnjoSelaGianMichRevoSpliPhilFranSieL
StelMeisElegTakeElegJonaSigmMiyoLoydRogeSwarZoneHenrtapaIgorLAPIElmoBuilSimmGerhZoneSimsJohn
BarbXVIIToddShanWendEugeMORGDixiAlisZoneClasRobeChilNaviPariZoneZoneWillDeutZoneZoneJuleNich
NERVWedgArisAudiStieINTECataBekoMungWindBookSonyWALLFiesMistFlasRenzFruiGenuPROTAlaiSecoimag
ValiCreaEasyNewlSmobWarholasWindWindMistDigiClatBrauBailTwisAnthAlanFeelRoinWindAgatIncoPubl
BiogBackXVIIEuweBarnXVIIHillElviRisiAcadAlekOZONAdobBanqLongLongJackChriBronSleeHoneparaErns
EineForeKiyoEnglEquaDigiKittWindThomCallCoseMegaLEGOBriaEricLuciwwwsBonuThomSecoRichAudiAudi
AudiAmatWindEnglShadBeteMarkBlacLaynBratSelmGeofOscatuchkasMorrMiss

Author:  wanai [ Sat Feb 04, 2023 8:26 pm ]
Post subject:  Re: Extra Layers

Shor195.3CHAPPERFOrdiNickXVIIDepeMircJeweCanjReitJeffPRESEvgeTescTescTesctimeArniXVIIKeenHans
PunkTescIlluAtlaHousXVIICreoBeatTearRobeAgatFeliLouiBompPatrKeraOreaToutCoveLindTescDoveYann
DougBrilGayaVoguTomaPoulWindSelaCeltChriOffiELEGNaviCircJuddQuikCircJackVentVentJuliDimaRoma
RobeWillDissNikiZeroCircNaohZoneQuikAlliZoneZoneELEGUnivDrewNasoZoneWorlPaulXVIIELEGChetDuff
EdwaZoneLindXVIIMagiMcCaASASZoneZoneZoneLymaZoneZoneReadXVIIZonetapaZoneErneChetZoneZoneZone
ZoneOscaNighHarmMabeEricSamsWindmoviGlenDeafAskeWoodChicOlmeWaltPartSmarFromTrefclasInteVoca
GrouGrouEasyKotlFireWarhKaraWindWindWindWinxKenwhappAntoBritWillPersHolyTuttAuduAndeNighDyna
ParaazbuForeRomaDolmXVIIThisKhwaVictMikeJackWindAlaiBoatJesuInteDestsalsWindNineShooChapHelm
LighDaviInteJoelThirRobeSimoCrosPandHaleDiviVIIIHalfJonaStanLakeManuwwwtCornGoddThomHarmHarm
HarmValeBlinNeveJeweWindWaltPourJaneSubwVisiBillLowrtuchkasWindRalp

Page 1 of 2 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/