jargon

fastvds_load from fastscan.bas

Mar 4th, 2021
734
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. sub fastvds_load ( index as integer = 2)
  2.    
  3.     dim as integer slide=0,col=0,row=0,headw=16,headh=16
  4.     redim as string slides(),lines(),pixies(), dimensions()
  5.     dim as string buffer,filename
  6.     filename=".\datapack\fastvds\map"+string_crop(index,3,"0")+".vds"  
  7.    
  8.     '[?] create maps array
  9.     if ubound(maps,0)=0 then
  10.         redim preserve maps(0 to 0)
  11.     end if
  12.    
  13.     '[?] expand maps array by index
  14.     if ubound(maps,1)<index then
  15.         redim preserve maps(0 to index)
  16.     end if
  17.    
  18.     '[?] pull buffer by filename
  19.     fastload filename, buffer
  20.  
  21.     '[?] capture slides
  22.     fasttok buffer, gt, slides()
  23.    
  24.     '[?] step through slides
  25.     for slide=lbound(slides,1) to ubound(slides,1) step 1
  26.        
  27.         '[?] skip over blank slides
  28.         if not(len(slides(slide))=0) then
  29.            
  30.             '[?] fit slides to current map
  31.             if ubound(maps,1)=0 then
  32.                 redim maps(0 to 0)
  33.             else
  34.                 redim preserve maps(lbound(maps,1) to slide-lbound(slides,1))
  35.             end if
  36.            
  37.             '[?] capture lines from current slide
  38.             fasttok slides(slide),crlf,lines()
  39.            
  40.             '[?] check that first line in current slide is not blank
  41.             if not(len(lines(lbound(lines,1)))=0) then
  42.                
  43.                 '[?] check first line in slide for map dimensions
  44.                 fasttok lines(lbound(lines,1)),comma,dimensions()
  45.                
  46.                 '[?] check dimensions validity
  47.                 if lbound(dimensions,1)=0 and ubound(dimensions,1)>=2 then
  48.                    
  49.                     maps(index).w=val(dimensions(lbound(dimensions,1)+1))
  50.                     maps(index).h=val(dimensions(lbound(dimensions,1)+2))
  51.                    
  52.                     '''[!!!] irrelevant code
  53.                     '''tiles(ubound(tiles,1)).img=imagecreate(headw,headh,0,8)
  54.                
  55.                 end if
  56.             end if
  57.            
  58.             '[?] check that map size is valid
  59.             if maps(index).w>0 and maps(index).h>0 then
  60.            
  61.                 '[?] size map to fit data          
  62.                 redim preserve (maps(index).px)(0 to maps(index).w-1,0 to maps(index).h-1)
  63.  
  64.                 '[?] populate map
  65.                 for row=0 to maps(index).h-1 step 1
  66.                    
  67.                     '[?] capture data from map row
  68.                     fasttok lines(row+1),comma,pixies()
  69.                 for col=0 to maps(index).w-1 step 1
  70.                     '[?] populate data from map col
  71.                     if col>=lbound(pixies,1) and col<=ubound(pixies,1) then
  72.                         maps(index).px(col,row)=val(pixies(col))
  73.                     end if
  74.                 next col
  75.                 next row
  76.             end if
  77.         end if     
  78.     next slide
  79. end sub
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×