home *** CD-ROM | disk | FTP | other *** search
- /* Reposition 320
- ** --------------
- ** This example has a mobile 320x256 screen, which is attached to the
- ** joystick.
- **
- ** To exit the example, press fire.
- */
-
- MODULE 'games','games/games'
-
- PROC main()
- DEF screen:PTR TO gamescreen, palette:PTR TO INT, joy:LONG,
- loadpic:PTR TO picture
-
- palette := [
- $000,$130,$FCB,$FA9,$D88,$965,$644,$211,
- $400,$444,$FF0,$432,$CC0,$150,$501,$880,
- $261,$271,$382,$492,$5A3,$5B4,$677,$6C4,
- $788,$9AA,$BCC,$801,$901,$A02,$701,$601
- ]:INT;
-
- loadpic := [
- PCV1,0, -> Version header.
- 0, -> Destination.
- 320,0,256, -> Width, Height.
- 5, -> Amount of Planes.
- 32, -> Amount of colours.
- palette, -> Palette (remap).
- LORES OR COL12BIT, -> Screen mode.
- INTERLEAVED, -> Destination.
- 0, -> Parameters.
- 'GAMESLIB:data/IFF.Pic320'
- ]:picture;
-
- IF gmsbase := OpenLibrary('games.library',0)
- SetUserPrefs(0)
- IF (screen := AddScreen([TAGS,0,
- GSA_PALETTE,palette,
- GSA_SCRWIDTH,320,
- GSA_SCRHEIGHT,256,
- GSA_PLANES,5,
- GSA_SCRMODE,LORES OR COL12BIT,
- GSA_SCRTYPE,INTERLEAVED,
- TAGEND]))
-
- loadpic.data := screen.memptr1;
- IF (LoadPic(loadpic) = ERR_OK)
- ShowScreen(screen)
-
- REPEAT
- joy := ReadJoyPort(JPORT2,JT_SWITCH)
- IF (joy AND JS_RIGHT) THEN screen.scrxoffset := screen.scrxoffset+1
- IF (joy AND JS_LEFT) THEN screen.scrxoffset := screen.scrxoffset-1
- IF (joy AND JS_UP) THEN screen.scryoffset := screen.scryoffset-1
- IF (joy AND JS_DOWN) THEN screen.scryoffset := screen.scryoffset+1
- WaitSVBL()
- RemakeScreen(screen)
- UNTIL !(joy AND JS_FIRE1)
-
- ENDIF
- DeleteScreen(screen)
- ENDIF
- CloseLibrary(gmsbase)
- ENDIF
- ENDPROC
-
-