home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / AntiGravityBall.dxr / 00008.ls < prev    next >
Encoding:
Text File  |  2002-01-31  |  2.9 KB  |  88 lines

  1. global bgOffset, bgPulseCounter
  2.  
  3. on initializeScreen
  4.   global terrainSO, screenDimensions, screenTileSize
  5.   maxX = screenDimensions[1]
  6.   maxY = screenDimensions[2]
  7.   wTile = 0
  8.   repeat with whichY = 1 to maxY
  9.     repeat with whichX = 1 to maxX
  10.       wSprite = terrainSO + wTile
  11.       puppetSprite(wSprite, 1)
  12.       set the member of sprite wSprite to "BlankTile"
  13.       set the loc of sprite wSprite to point((whichX - 1) * screenTileSize, (whichY - 1) * screenTileSize) + bgOffset
  14.       sprite(wSprite).locZ = 5
  15.       wTile = wTile + 1
  16.     end repeat
  17.   end repeat
  18. end
  19.  
  20. on repositionTerrain
  21.   global terrainSO, screenDimensions, screenTileSize, playerViewpoint
  22.   viewOff = point(playerViewpoint[1] mod screenTileSize, playerViewpoint[2] mod screenTileSize)
  23.   maxX = screenDimensions[1]
  24.   maxY = screenDimensions[2]
  25.   wTile = 0
  26.   repeat with whichY = 1 to maxY
  27.     repeat with whichX = 1 to maxX
  28.       wSprite = terrainSO + wTile
  29.       set the loc of sprite wSprite to point((whichX - 1) * screenTileSize, (whichY - 1) * screenTileSize) - viewOff + (screenTileSize / 2) + bgOffset
  30.       wTile = wTile + 1
  31.     end repeat
  32.   end repeat
  33. end
  34.  
  35. on redrawTerrainPics
  36.   global terrainSO, screenDimensions, screenTileSize, terrainData_Type, playerViewpoint, bgPulseCounter, terrainRef
  37.   tilePointSet = playerViewpoint / screenTileSize
  38.   bgPulseCounter = bgPulseCounter + 0.5
  39.   maxX = screenDimensions[1]
  40.   maxY = screenDimensions[2]
  41.   wTile = 0
  42.   repeat with whichY = 1 to maxY
  43.     repeat with whichX = 1 to maxX
  44.       wSprite = terrainSO + wTile
  45.       bType = terrainData_Type[whichY + tilePointSet[2]][whichX + tilePointSet[1]]
  46.       blockString = terrainRef[bType]
  47.       if count(blockString[1]) = 1 then
  48.         set the member of sprite wSprite to blockString[1][1]
  49.       else
  50.         frameNum = ((bgPulseCounter + whichY) mod count(blockString[1])) + 1
  51.         set the member of sprite wSprite to blockString[1][frameNum]
  52.       end if
  53.       case blockString[3] of
  54.         0:
  55.           sprite(wSprite).visible = 0
  56.         1:
  57.           sprite(wSprite).locZ = 199
  58.           set the ink of sprite wSprite to 36
  59.           sprite(wSprite).visible = 1
  60.         2:
  61.           sprite(wSprite).locZ = 201
  62.           set the ink of sprite wSprite to 36
  63.           sprite(wSprite).visible = 1
  64.         3:
  65.           sprite(wSprite).locZ = 201
  66.           set the ink of sprite wSprite to 33
  67.           sprite(wSprite).visible = 1
  68.       end case
  69.       wTile = wTile + 1
  70.     end repeat
  71.   end repeat
  72. end
  73.  
  74. on checkSolidpoint pointLoc
  75.   global terrainData_Type, screenTileSize, playerViewpoint, terrainRef
  76.   tilePointSet = (pointLoc / screenTileSize) + 1
  77.   if pointLoc[1] <= 0 then
  78.     bType = 2
  79.   else
  80.     if (tilePointSet[2] >= 1) and (tilePointSet[2] <= count(terrainData_Type)) and (tilePointSet[1] >= 1) and (tilePointSet[1] <= count(terrainData_Type[1])) then
  81.       bType = terrainData_Type[tilePointSet[2]][tilePointSet[1]]
  82.     else
  83.       bType = 2
  84.     end if
  85.   end if
  86.   return bType
  87. end
  88.