I just did this recently and it worked so you must be doing something wrong Heres the steps i toook: In ModGameLogic, Search for this: ``` NewX = 10 NewY = 7 NewPlayerY = Player(MyIndex).y - NewY NewPlayerX = Player(MyIndex).X - NewX NewX = NewX * PIC_X NewY = NewY * PIC_Y NewXOffset = Player(MyIndex).xOffset NewYOffset = Player(MyIndex).yOffset If Player(MyIndex).y - 7 < 1 Then NewY = Player(MyIndex).y * PIC_Y + Player(MyIndex).yOffset NewYOffset = 0 NewPlayerY = 0 If Player(MyIndex).y = 7 And Player(MyIndex).Dir = DIR_UP Then NewPlayerY = Player(MyIndex).y - 7 NewY = 7 * PIC_Y NewYOffset = Player(MyIndex).yOffset End If ElseIf Player(MyIndex).y + 9 > MAX_MAPY + 1 Then NewY = (Player(MyIndex).y - (MAX_MAPY - 14)) * PIC_Y + Player(MyIndex).yOffset NewYOffset = 0 NewPlayerY = MAX_MAPY - 14 If Player(MyIndex).y = MAX_MAPY - 7 And Player(MyIndex).Dir = DIR_DOWN Then NewPlayerY = Player(MyIndex).y - 7 NewY = 7 * PIC_Y NewYOffset = Player(MyIndex).yOffset End If End If If Player(MyIndex).X - 10 < 1 Then NewX = Player(MyIndex).X * PIC_X + Player(MyIndex).xOffset NewXOffset = 0 NewPlayerX = 0 If Player(MyIndex).X = 10 And Player(MyIndex).Dir = DIR_LEFT Then NewPlayerX = Player(MyIndex).X - 10 NewX = 10 * PIC_X NewXOffset = Player(MyIndex).xOffset End If ElseIf Player(MyIndex).X + 11 > MAX_MAPX + 1 Then NewX = (Player(MyIndex).X - (MAX_MAPX - 19)) * PIC_X + Player(MyIndex).xOffset NewXOffset = 0 NewPlayerX = MAX_MAPX - 19 If Player(MyIndex).X = MAX_MAPX - 9 And Player(MyIndex).Dir = DIR_RIGHT Then NewPlayerX = Player(MyIndex).X - 10 NewX = 10 * PIC_X NewXOffset = Player(MyIndex).xOffset End If End If ScreenX = GetScreenLeft(MyIndex) ScreenY = GetScreenTop(MyIndex) ScreenX2 = GetScreenRight(MyIndex) ScreenY2 = GetScreenBottom(MyIndex) If ScreenX < 0 Then ScreenX = 0 ScreenX2 = 20 ElseIf ScreenX2 > MAX_MAPX Then ScreenX2 = MAX_MAPX ScreenX = MAX_MAPX - 20 End If If ScreenY < 0 Then ScreenY = 0 ScreenY2 = 15 ElseIf ScreenY2 > MAX_MAPY Then ScreenY2 = MAX_MAPY ScreenY = MAX_MAPY - 15 End If ``` Replace with this: ``` NewX = 12 NewY = 9 NewPlayerY = Player(MyIndex).y - NewY NewPlayerX = Player(MyIndex).x - NewX NewX = NewX * PIC_X NewY = NewY * PIC_Y NewXOffset = Player(MyIndex).xOffset NewYOffset = Player(MyIndex).yOffset If Player(MyIndex).y - 9 < 1 Then NewY = Player(MyIndex).y * PIC_Y + Player(MyIndex).yOffset NewYOffset = 0 NewPlayerY = 0 If Player(MyIndex).y = 9 And Player(MyIndex).Dir = DIR_UP Then NewPlayerY = Player(MyIndex).y - 9 NewY = 9 * PIC_Y NewYOffset = Player(MyIndex).yOffset End If ElseIf Player(MyIndex).y + 11 > MAX_MAPY + 1 Then NewY = (Player(MyIndex).y - (MAX_MAPY - 18)) * PIC_Y + Player(MyIndex).yOffset NewYOffset = 0 NewPlayerY = MAX_MAPY - 18 If Player(MyIndex).y = MAX_MAPY - 9 And Player(MyIndex).Dir = DIR_DOWN Then NewPlayerY = Player(MyIndex).y - 9 NewY = 9 * PIC_Y NewYOffset = Player(MyIndex).yOffset End If End If If Player(MyIndex).x - 12 < 1 Then NewX = Player(MyIndex).x * PIC_X + Player(MyIndex).xOffset NewXOffset = 0 NewPlayerX = 0 If Player(MyIndex).x = 12 And Player(MyIndex).Dir = DIR_LEFT Then NewPlayerX = Player(MyIndex).x - 12 NewX = 12 * PIC_X NewXOffset = Player(MyIndex).xOffset End If ElseIf Player(MyIndex).x + 14 > MAX_MAPX + 1 Then NewX = (Player(MyIndex).x - (MAX_MAPX - 24)) * PIC_X + Player(MyIndex).xOffset NewXOffset = 0 NewPlayerX = MAX_MAPX - 24 If Player(MyIndex).x = MAX_MAPX - 12 And Player(MyIndex).Dir = DIR_RIGHT Then NewPlayerX = Player(MyIndex).x - 12 NewX = 12 * PIC_X NewXOffset = Player(MyIndex).xOffset End If End If ScreenX = GetScreenLeft(MyIndex) ScreenY = GetScreenTop(MyIndex) ScreenX2 = GetScreenRight(MyIndex) ScreenY2 = GetScreenBottom(MyIndex) If ScreenX < 0 Then ScreenX = 0 ScreenX2 = 25 ElseIf ScreenX2 > MAX_MAPX Then ScreenX2 = MAX_MAPX ScreenX = MAX_MAPX - 25 End If If ScreenY < 0 Then ScreenY = 0 ScreenY2 = 19 ElseIf ScreenY2 > MAX_MAPY Then ScreenY2 = MAX_MAPY ScreenY = MAX_MAPY - 19 End If ``` In ModDirectX, Search for this ``` Public Function GetScreenLeft(ByVal Index As Long) As Long GetScreenLeft = GetPlayerX(Index) - 11 End Function Public Function GetScreenTop(ByVal Index As Long) As Long GetScreenTop = GetPlayerY(Index) - 8 End Function Public Function GetScreenRight(ByVal Index As Long) As Long GetScreenRight = GetPlayerX(Index) + 10 End Function Public Function GetScreenBottom(ByVal Index As Long) As Long GetScreenBottom = GetPlayerY(Index) + 8 End Function ``` Replace with this ``` Public Function GetScreenLeft(ByVal Index As Long) As Long GetScreenLeft = GetPlayerX(Index) - 13 End Function Public Function GetScreenTop(ByVal Index As Long) As Long GetScreenTop = GetPlayerY(Index) - 10 End Function Public Function GetScreenRight(ByVal Index As Long) As Long GetScreenRight = GetPlayerX(Index) + 13 End Function Public Function GetScreenBottom(ByVal Index As Long) As Long GetScreenBottom = GetPlayerY(Index) + 10 End Function ``` Next, visit frmMirage and you should put things similiar to this ![](http://i44.tinypic.com/2uzs2f4.png) After that just fix around everything else on the screen to make sure it all fits, also make sure you extend the Window itself, and you GUI