Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Strange error...
#1
I get an error when I try this.... why?

Code:
defint a-z

Dim shared     Hero(1 to 1)
Dim shared     HeroIndex(1 to 1)

Dim shared     RGBpal   as string * 768

Sub LoadTileSet (Filename$, TileSets())
   Dim arraysize as ushort
   Dim lengthoftiles as ushort
   filetempnum = freefile
  
   Open Filename$ For Binary As #FileTempNum
   LengthOfTiles = Lof(FileTempNum)
   Close #FileTempNum
  
   ArraySize = (LengthOfTiles - 7) \ 2
  
   Redim TileSets(ArraySize)
  
   BLoad Filename$, VarPtr(TileSets(0))
End Sub

Sub MakeIndex (ImageArray() as short, IndexArray() as short)
  
   Dim TempArray(1 to 1000) as short
  
   LastInt = UBound(ImageArray)
  
   Do
      x = ImageArray(LastArray&) \ 8
      y = ImageArray(LastArray& + 1)
      TempArray(ListImages + 1) = LastArray&
      ArraySize& = x * y
      If ArraySize& Mod 2 Then ArraySize& = ArraySize& + 1
      ArraySize& = ArraySize& \2
      LastArray& = LastArray& + ArraySize&
      
      ListImages = ListImages + 1
      ListImages2 = ListImages2 + ((x * y) \ 2) + 1
   Loop Until LastInt <= LastArray&
  
   ListImages = ListImages - 1
  
   Redim IndexArray(1 to ListImages) as short
  
   For x = 1 to ListImages
         IndexArray(x) = TempArray(x)
   Next x

End Sub

Sub InitPaletteData (Filename$, PaletteArray&())
  
   Redim PaletteArray&(0 to 255)
  
   If Filename$ <> "" Then
      FileNo = Freefile
      Open Filename$ For Binary As #FileNo
      For n = 0 to 255
         Get #FileNo, , colour&
         PaletteArray&(n) = colour&
      Next n
      Close #FileNo
      
      For i = 0 to 255
         Palette i, PaletteArray&(i)
      Next i
   Else
      For n = 0 to 255
         Read colour&
         PaletteArray&(n) = colour&
      Next n
   End if

End sub

Sub LoadGFX (Filename$)
   LoadTileSet Filename$, Hero()
   MakeIndex Hero(), HeroIndex()
End Sub

Screen 13,,,1
LoadGFX "NPC.PUT"
PUT(100,100),Hero(1)
Sleep
Reply
#2
The pass-by-descriptor arguments are declared as SHORT, but the arrays been passed are INTEGER's.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)