Recoil Posted June 29, 2015 Posted June 29, 2015 So yeah, when we make the map a smaller size everything is fine...but not making it larger. We are receiving issues in 2 different spots. Damian's error is under here: Public Sub DrawMapTile(ByVal locX As Long, ByVal locY As Long)     Dim i As Long     Dim srcrect As New Rectangle(0, 0, 0, 0)     Dim tmpSprite As Sprite     If GettingMap Then Exit Sub     With Map.Tile(locX, locY)       For i = Enumerations.MapLayer.Ground To Enumerations.MapLayer.Mask2         ' skip tile if tileset isn't set         ' Here         If .Layer(i).Tileset > 0 Then           With srcrect             .X = Map.Tile(locX, locY).Layer(i).X * 32             .Y = Map.Tile(locX, locY).Layer(i).Y * 32             .Width = 32             .Height = 32           End With           tmpSprite = New Sprite(TileSetTexture(.Layer(i).Tileset))           tmpSprite.TextureRect = New IntRect(srcrect.X, srcrect.Y, srcrect.Width, srcrect.Height)           tmpSprite.Position = New Vector2f(ConvertMapX(locX * PIC_X), ConvertMapY(locY * PIC_Y))           GameWindow.Draw(tmpSprite)         End If       Next     End With   End Sub Mine is under here: Public Sub SendMap()     Dim X As Long     Dim Y As Long     Dim i As Long     Dim data() As Byte     Dim Buffer As ByteBuffer     Buffer = New ByteBuffer     CanMoveNow = False     Buffer.WriteString(Trim$(Map.Name))     Buffer.WriteString(Trim$(Map.Music))     Buffer.WriteLong(Map.Moral)     Buffer.WriteLong(Map.Weather)     Buffer.WriteLong(Map.Tileset)     Buffer.WriteLong(Map.Up)     Buffer.WriteLong(Map.Down)     Buffer.WriteLong(Map.Left)     Buffer.WriteLong(Map.Right)     Buffer.WriteLong(Map.BootMap)     Buffer.WriteLong(Map.BootX)     Buffer.WriteLong(Map.BootY)     Buffer.WriteLong(Map.MaxX)     Buffer.WriteLong(Map.MaxY)     For i = 1 To MaxMapNpcs       Buffer.WriteLong(Map.Npc(i))     Next     For X = 0 To Map.MaxX       For Y = 0 To Map.MaxY         Buffer.WriteLong(Map.Tile(X, Y).Data1)         Buffer.WriteLong(Map.Tile(X, Y).Data2)         Buffer.WriteLong(Map.Tile(X, Y).Data3)         Buffer.WriteLong(Map.Tile(X, Y).DirBlock)         For i = 0 To MapLayer.LayerCount - 1           ' Here           Buffer.WriteLong(Map.Tile(X, Y).Layer(i).Tileset)           Buffer.WriteLong(Map.Tile(X, Y).Layer(i).X)           Buffer.WriteLong(Map.Tile(X, Y).Layer(i).Y)         Next         Buffer.WriteLong(Map.Tile(X, Y).Type)       Next     Next     data = Buffer.ToArray     Buffer = New ByteBuffer     Buffer.WriteLong(ClientPackets.CMapData)     Buffer.WriteBytes(Compress(data))     SendData(Buffer.ToArray())     Buffer = Nothing   End Sub I know it has something to do with trying to change the size of the map array in memory, but I have no clue on how to fix. Apparently I am unable to redim the sizes in these locations. We needs helpz plz.
jcsnider Posted June 29, 2015 Posted June 29, 2015 Reference the code changes I made in this commit. (Specifically in the map properties section.) They may not have made it into Rob's version and therefore, yours. https://github.com/jcsnider/Orion-Game-Engine/commit/46ee3e403ebb24941027ffac141e6ee358cf17ce
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now