home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / misc / gms_dev.lha / GMS / Source / E / Screens / FadingDemo.e < prev    next >
Encoding:
Text File  |  1997-02-16  |  1.9 KB  |  76 lines

  1. /* Fade Demo
  2. ** ---------
  3. */
  4.  
  5. MODULE 'games','games/games'
  6.  
  7. PROC main()
  8. DEF screen:PTR TO gamescreen, palette:PTR TO INT, state=0:LONG,
  9.     loadpic:PTR TO picture
  10.  
  11. palette := [
  12.   $000,$130,$FCB,$FA9,$D88,$965,$644,$211,$400,$444,$FF0,$432,$CC0,$150,$501,$880,
  13.   $261,$271,$382,$492,$5A3,$5B4,$677,$6C4,$788,$9AA,$BCC,$801,$901,$A02,$701,$601
  14.   ]:INT;
  15.  
  16. loadpic := [
  17.   PCV1,0,            -> Version header.
  18.   0,                 -> Destination.
  19.   320,0,256,         -> Width, Height.
  20.   5,                 -> Amount of Planes.
  21.   32,                -> Amount of colours.
  22.   palette,           -> Palette (remap).
  23.   LORES OR COL12BIT, -> Screen mode.
  24.   ILBM,              -> Destination.
  25.   0,                 -> Parameters.
  26.   'GAMESLIB:data/IFF.Pic320'
  27.   ]:picture;
  28.  
  29. /***************************************************************************/
  30.  
  31.    IF gmsbase := OpenLibrary('games.library',0)
  32.       SetUserPrefs(0)
  33.       IF (screen :=  AddScreen([TAGS,0,
  34.            GSA_SCRWIDTH,320,
  35.            GSA_SCRHEIGHT,256,
  36.            GSA_PLANES,5,
  37.            GSA_SCRMODE,LORES OR COL12BIT,
  38.            GSA_SCRTYPE,ILBM,
  39.            TAGEND]))
  40.  
  41.          loadpic.data := screen.memptr1
  42.          IF (LoadPic(loadpic) = ERR_OK)
  43.             ShowScreen(screen)
  44.             WaitTime(10)
  45.  
  46.             REPEAT
  47.               WaitVBL()
  48.               WaitSVBL()
  49.               state := ColourToPalette(screen,state,1,0,32,palette,$000)
  50.             UNTIL (state = 0)
  51.  
  52.             WaitLMB()
  53.  
  54.             REPEAT
  55.               WaitVBL()
  56.               WaitSVBL()
  57.               state := PaletteToColour(screen,state,1,0,32,palette,$FFF)
  58.             UNTIL (state = 0)
  59.  
  60.             WaitTime(30)
  61.  
  62.             REPEAT
  63.               WaitVBL()
  64.               WaitSVBL();
  65.               state := ColourMorph(screen,state,1,0,32,$FFF,$000);
  66.             UNTIL (state = 0)
  67.  
  68.             WaitTime(50)
  69.          ENDIF
  70.       DeleteScreen(screen)        
  71.       ENDIF
  72.    CloseLibrary(gmsbase)
  73.    ENDIF
  74. ENDPROC
  75.  
  76.