home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / misc / gms_dev.lha / GMS / Source / E / Screens / ScrollScreen.e < prev   
Encoding:
Text File  |  1997-01-29  |  1.6 KB  |  61 lines

  1. /*
  2. ** Scroll Screen 336
  3. ** -----------------
  4. ** This demo allows you to legally scroll up to 50 screens in either
  5. ** direction by setting the HBUFFER flag.  Normally we would blit blocks down
  6. ** the left and right hand side to give an impression of heaps of screens -
  7. ** see the MapEditor for this.
  8. ** 
  9. */
  10.  
  11. MODULE 'games','games/games'
  12.  
  13. PROC main()
  14.    DEF screen:PTR TO gamescreen, zbxy:LONG, pic:PTR TO picture
  15.  
  16.    IF gmsbase := OpenLibrary('games.library',0)
  17.       SetUserPrefs(0)
  18.       IF (screen := AddScreen([TAGS,0,
  19.          GSA_SCRWIDTH,320,
  20.          GSA_SCRHEIGHT,256,
  21.          GSA_PICWIDTH,336,
  22.          GSA_PICHEIGHT,256,
  23.          GSA_PLANES,5,
  24.          GSA_SCRATTRIB,HSCROLL OR SBUFFER,
  25.          GSA_SCRMODE,LORES OR COL12BIT,
  26.          GSA_SCRTYPE,ILBM,
  27.          TAGEND]))
  28.  
  29.          IF (pic := LoadPic([TAGS,0,
  30.             PCA_DATA,screen.memptr1,
  31.             PCA_WIDTH,336,
  32.             PCA_HEIGHT,256,
  33.             PCA_PLANES,5,
  34.             PCA_AMTCOLOURS,32,
  35.             PCA_OPTIONS,GETPALETTE,
  36.             PCA_SCRMODE,LORES OR COL12BIT,
  37.             PCA_SCRTYPE,ILBM,
  38.             PCA_FILE,'GAMESLIB:data/IFF.Pic336',
  39.             TAGEND]))
  40.  
  41.             screen.palette := pic.palette
  42.             UpdatePalette(screen)
  43.  
  44.             ShowScreen(screen)
  45.             InitJoyPorts()
  46.  
  47.             REPEAT
  48.               zbxy := ReadMouse(JPORT1)
  49.               screen.picxoffset := screen.picxoffset+getZBXYx(zbxy)
  50.               MovePicture(screen)
  51.               WaitSVBL()
  52.            UNTIL !(zbxy AND MB_LMB)
  53.  
  54.          FreePic(pic)
  55.          ENDIF
  56.       DeleteScreen(screen)        
  57.       ENDIF
  58.    CloseLibrary(gmsbase)
  59.    ENDIF
  60. ENDPROC
  61.