'*************************************** 'THE LANDSCAPE, DEEP PARALLAX SCROLLING 'ASSET, BY JEAN-MILOST REYMOND '*************************************** GLOBAL SCROLLSTART, SCROLLEND, SCROLLHEIGHT, SCROLLSPEED 'SCROLL VALUES, MUST BE GLOBAL SCROLLSTART = 96 SCROLLEND = 128 SCROLLHEIGHT = SCROLLEND - (SCROLLSTART - 1) SCROLLSPEED = -0.5 '*************************************** 'MAIN FUNCTION '*************************************** MAIN: CALL CREATELANDSCAPE DO WAIT VBL LOOP '*************************************** 'CREATE THE LANDSCAPE '*************************************** SUB CREATELANDSCAPE BG 1 PAL 2 'DRAW THE MOON CELL 2, 2, 14 CELL 3, 2, 15 CELL 2, 3, 30 CELL 3, 3, 31 'DRAW THE SUNSET BG FILL 0, 10 TO 20, 10 CHAR 1 FOR I = 11 TO 11 BG FILL 0, I TO 20, I CHAR 2 NEXT I 'DRAW THE GRASS PAL 0 BG FILL 0, 12 TO 40, 13 CHAR 3 PAL 0 BG FILL 0, 13 TO 40, 14 CHAR 4 PAL 1 BG FILL 0, 14 TO 40, 15 CHAR 5 PAL 1 BG FILL 0, 15 TO 40, 16 CHAR 6 BG 0 PAL 2 'DRAW THE CLOUDS FOR I = 0 TO 3 FOR J = 0 TO 8 CELL (J * 4) + 0, 2 + (I * 2), 18 CELL (J * 4) + 1, 2 + (I * 2), 19 CELL (J * 4) + 2, 2 + (I * 2), 20 NEXT J NEXT I PAL 3 'DRAW THE MOUNTAINS FOR I = 0 TO 20 CELL I * 2, 10, 16 CELL I * 2, 11, 32 CELL (I * 2) + 1, 10, 17 CELL (I * 2) + 1, 11, 33 NEXT I 'DRAW THE FENCE FOR I = 0 TO 1 PAL 4 CELL I * 16, 15, 7 CELL (I * 16) + 1, 15, 8 PAL 5 CELL (I * 16) + 2, 15, 9 CELL (I * 16) + 3, 15, 10 PAL 4 CELL (I * 16) + 4, 15, 11 CELL (I * 16) + 5, 15, 12 NEXT I PAL 5 FOR I = 0 TO 1 CELL (I * 16) + 11, 15, 13 NEXT I 'NOTIFY THE RASTER TO SCROLL THE LANDSCAPE ON RASTER CALL PARALLAXSCROLL END SUB '*************************************** 'USE THE RASTER TO PERFORM DEEP PARALLAX 'SCROLLING '*************************************** SUB PARALLAXSCROLL 'DO SCROLL THE GRASS AND FENCE? IF RASTER >= SCROLLSTART AND RASTER <= SCROLLEND THEN 'CALCULATE THE NEXT GRASS OFFSET (PER LINE) DEEP = RASTER - (SCROLLSTART - 1) OFFSET = TIMER * SCROLLSPEED * (DEEP / 10) 'SCROLL THE GRASS SCROLL 1, OFFSET, 0 'CALCULATE THE NEXT FENCE OFFSET IF RASTER >= SCROLLEND - 8 THEN OFFSET = TIMER * SCROLLSPEED * (SCROLLHEIGHT / 10) END IF 'SCROLL THE FENCE SCROLL 0, OFFSET, 0 ELSE IF RASTER >= SCROLLSTART - 17 AND RASTER < SCROLLSTART THEN 'SCROLL THE MOUNTAIN SCROLL 0, TIMER * SCROLLSPEED * 0.1, 0 SCROLL 1, 0, 0 ELSE 'SCROLL THE CLOUDS SCROLL 0, TIMER * SCROLLSPEED * ((SCROLLSTART - RASTER) \ (SCROLLSTART / 6)) * 0.5, 0 'STOP THE SCROLL ON THIS PART SCROLL 1, 0, 0 END IF END SUB #1:MAIN PALETTES 063A19290029080400162636003A2A15 00252A1500382410002A000000000000 #2:MAIN CHARACTERS 00000000000000000000000000000000 FFFF000000FFFFFF0000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BECB5588524822004134AA77ADB7DDFF 1002504612E75DFEFFFFFFFFFFFFFFFF BAFDB3184210265145024CE7BDEFD9AE 8128425B2C1F4DF6FFFFFFFFFFFFFFFF 00000001060B37CE0000000001070A3D 071D77DE72E7DE7D00020E30ACDE2CF2 002BFF3BE0057DE00014BFE7800396FD 02AE1BFC00017AF60152FFFE0006A7FD E0B8EE7B4EE77BBE0040700C357B344F 0000008060D0EC730000000080E050BC 08020A15262C5418040C070E3C183C78 0001040217040A000000020800110106 00C0A05040900452002018842A16F5FB 00000001030625AD0000000000010393 0000008060E062E500000040E0E0E1E3 080224403464150A00000002010B0205 004018C20178C6800000000128862000 0000482404A810000000000018560400 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 10140508060500000503000005010100 09075E269CB8E0005FEF7EFEFCF8E000 D8D9F3EBFFFFFFFFF7E7EFDF9F7FFFFF FBFAFBF9FEFFFFFFF7FFFFFFFFFFFFFF