'TITLE: HUNGEE FROG 'AUTHOR: J KOHER GAMEPAD 1 '//HEADPHONE ALERT\\' 'MUSIC 1 RANDOMIZE TIMER '//INITIALIZE VARIABLES\\' GLOBAL DX,PX,PY,VX,VY,MAXVX,PXLAST,PYLAST,XACC,XDEC,ISTURN,TACC,ISDEC,XOBST GLOBAL TLPCB,TRPCB,BLPCB,BRPCB,UBLPCB,UBRPCB,OTLPCB,OTRPCB GLOBAL INVINCIBLE,PSTATUS,HTICK,PLIVES,DANIM,STICK,DTICK,FLOWERIND GLOBAL GRAVITY,MAXVY,GROUNDED,GTIME GLOBAL JV,JENABLE,JIND,JCOUNT,MAXJCOUNT,COYOTETIME GLOBAL PANIM,TICK,FRAMETICK GLOBAL ATTENABLE,ATTX,ATTY,ATTIND,ATTCOUNT,ATTANIM,ATICK,EATIND,EATTICK GLOBAL FLYIND,FX,FY,FVX,FVY,FMAXV,FANIM,FXR,FXL,FYU,FYL,FTICK,ACTIVEFLIES GLOBAL BX,BY,BANIM,BTICK,BIND GLOBAL HIND,HORNTICK,HANIM,HATTSTAT,HX,HY,DELTAXH,DELTAYH,RETHX,RETHY GLOBAL HH,TOTALHH,HVX,HVY,HVMAX,HAMAX,HVEL,HOVERTICK,HOVERTICK2 GLOBAL NESTIND,NDAMCOUNT,NATTTICK,NANIM,NX,NY,NINV GLOBAL GAMELEVEL,HIGHSCORE,PSCORE,CHAIN,SPAWNTICK,LTICK,SPIND,LCIND,LCTICK '//READ HIGHSCORE FROM PERSITENT RAM\\' IF PEEKL($E000)<=5000 THEN POKEL($E000),5000 HIGHSCORE=PEEKL($E000) TITLE: SPRITE OFF BG 1 BG COPY 0,32,20,16 TO 0,0 MUSIC 0 TICK=0 REPEAT CALL INTROMSG WAIT VBL UNTIL BUTTON TAP(0) CALL CLEAROVERLAYS STOP '//TUTORIAL SCREEN\\' BG FILL 0,0 TO 20,16 CHAR 0 BG COPY 61,12,1,1 TO 5,1 TEXT 6,1,"=MO' HANGTIME" BG COPY 62,13,2,3 TO 4,3 TEXT 6,4,"=HEAL & HIDE" BG COPY 61,13,1,1 TO 1,7 TEXT 2,7," & " BG COPY 63,12,1,1 TO 5,7 TEXT 6,7,"=DAMAGE" BG COPY 62,19,2,2 TO 4,9 TEXT 6,10,"=TARGET" BG COPY 60,19,2,2 TO 4,12 TEXT 6,13,"=ADVANCE" '//THE BUTTON TAP() FUNCTION NEEDS THIS TIME GAP TO RESET\\' REPEAT CALL INTROMSG WAIT VBL UNTIL BUTTON TAP(0) STOP '//PROGRAM VARIABLES' INITIAL VALUES\\' '//PLAYER VARIABLES\\' PX=16 PY=148 PSTATUS=2 PLIVES=3 PANIM=1 ATTENABLE=1 '//GRAVITY AND JUMP VARIABLES\\' GRAVITY=0.2 '//THIS IS MY FIRST GAME AND I FIND A POSITIVE DOWNWARD Y AWKWARD, SO I FLIP IT IN THE FINAL EQUATIONS FOR PY INSTEAD, BUT IM GETTING USED TO IT\\' MAXVY=-2 JV=1.6 '//MAXJCOUNT GETS +3 EVERYTIME PLAYER EATS A FLY UNTIL TRUE MAX IS REACHED (38) MAXJCOUNT=11 JENABLE=1 '//HORIZONTAL MOVEMENT VARIABLES\\' MAXVX=1.5 XACC=0.15 XDEC=-0.175 TACC=0.2 '//FLY VARIABLES\\' FX=76 FY=24 FVY=0.5 '//FMAXV REFERS TO FLY'S MAX X AND Y VELOCITIES AND MUST BE >1 FOR THE FLY EFFECT TO WORK, '//WILL BE EFFECTIVELY SQUARED WHEN FVY/X ARE AT MAX, SO THE TOTAL POSS. MAX. VEL. WILL BE >SQRT 2 FMAXV=1.05 FANIM=9 '//FLY ATTRACTOR BOX\\' FXR=132 FXL=20 FYU=28 FYL=84 '//BEE VARIABLES\\' BX=76 BY=24 BANIM=7 '//HORNET VARIABLES\\' HORNTICK=-240 HVMAX=1.4 HAMAX=0.066667 HANIM=25 '//HORNET NEST VARIABLES\\' NESTIND=0 NX=72 NY=24 NANIM=132 '//GAME STAGE VARIABLES\\' LCIND=1 GAMELEVEL=0 '//SET ARRAYS\\' DIM GLOBAL FLIES(9,7) '(,0=FSPRITE , 1=FLYIND , 2=FTICK , 3=FANIM , 4=FX , 5=FY '(,6=FVX , 7=FVY DIM GLOBAL BEES(1,5) '(,0=BSPRITE , 1=BIND , 2=BTICK , 3=BANIM , 4=BX , 5=BY DIM GLOBAL HORNETS(4,17) '(,0=HSPRITE , 1=HIND , 2=HORNTICK , 3=HANIM , 4=HATTSTAT , 5=HX '(,6=HY , 7=HVX , 8=HVY , 9=HH , 10=TOTALHH , 11=DELTAXH '(,12=DELTAYH , 13=HVEL , 14=RETHX , 15=RETHY , 16=HOVERTICK , 17=HOVERTICK2 '//INITIALIZE SPRITES AND ARRAY ELEMENTS\\' '//PLAYER SPRITES\\' SPRITE 0 PAL 1 PRIO 0 'PLAYER ATTACK SPRITE SPRITE 1 PRIO 0 SPRITE 2 PRIO 0 '//FLY SPRITES\\' FOR I=3 TO 12 FLIES(I-3,0)=I FLIES(I-3,3)=FANIM FLIES(I-3,4)=FX FLIES(I-3,5)=FY FLIES(I-3,7)=FVY SPRITE I PAL 3 PRIO 1 NEXT I 'BEE SPRITE FOR I=13 TO 14 BEES(I-13,0)=I BEES(I-13,3)=BANIM BEES(I-13,4)=BX BEES(I-13,5)=BY SPRITE I PAL 4 PRIO 1 NEXT I 'HORNET SPRITES FOR I=15 TO 19 HORNETS(I-15,0)=I HORNETS(I-15,2)=HORNTICK HORNETS(I-15,3)=HANIM HORNETS(I-15,7)=HVX HORNETS(I-15,8)=HVY IF (I+1) MOD 2=0 THEN SPRITE I PAL 4 PRIO 1 FLIP 1,0 ELSE SPRITE I PAL 4 PRIO 1 END IF NEXT I '//HORNET NEST SPRITE\\' SPRITE 20 PAL 7 SIZE 1 '////MAIN GAME LOOP\\\\' DO '//UPDATE HUD PLAYER SCORE AND LEVEL COUNTDOWN\\' BG 0 '//OPTIONAL DEBUGGING AREA\\' NUMBER 13,1,HORNETS(2,4),4 'NUMBER 13,2,ISDEC,4 'NUMBER 13,3,NESTIND,4 'NUMBER 13,4,10*HVEL,4 'NUMBER 13,5,10*DELTAXH,4 'NUMBER 13,6,10*DELTAYH,4 'NUMBER 13,7,RETHY,4 '//SCORE AND TIME HUDS\\' NUMBER 14,0,PSCORE,6 PAL 4 IF LTICK>-100 THEN IF LCIND+SPIND=0 THEN IF LTICK<61 AND LTICK>29 THEN IF FRAMETICK MOD 60<=30 THEN PAL 0 ELSE PAL 4 END IF ELSE IF LTICK<31 THEN IF FRAMETICK MOD 30<=15 THEN PAL 0 ELSE PAL 4 END IF END IF END IF NUMBER 9,0,LTICK,3 ELSE IF LCIND+SPIND=0 THEN PAL 0 NUMBER 8,0,LTICK,4 END IF PAL 1 BG 1 '//LIFE COUNTER HUD\\' IF PLIVES>-1 AND STICK+HTICK=0 THEN WINDOW 0,15,10,1,1 PRIO 1 PAL 1 CLW PRINT "LIVES:",PLIVES END IF '//UPDATE FRAMETICK AND LEVEL COUNTDOWN: INIT. REAPER IF NECESSARY\\' IF PSTATUS>0 AND LCIND+SPIND+DTICK=0 THEN IF LTICK=-1 THEN SPRITE HORNETS(4,0) SIZE 1 HORNETS(4,1)=1 IF FRAMETICK MOD 60=0 THEN HORNETS(4,3)=21 HORNETS(4,4)=-1 IF GAMELEVEL<4 OR (GAMELEVEL=4 AND NDAMCOUNT<5) THEN HORNETS(4,5)=24 HORNETS(4,6)=24 HORNETS(4,13)=0 END IF END IF INC FRAMETICK IF FRAMETICK MOD 60=0 THEN DEC LTICK END IF '//CHECK FOR LEVELCHANGE\\' IF LCIND=1 THEN CALL LEVELCHANGE '////UPDATE SPRITES\\\\' '//UPDATE PLAYER SPRITE\\' SPRITE 0,PX,PY,PANIM '//UPDATE PLAYER ATTACK SPRITES\\' IF ATTIND=1 THEN IF PANIM=5 OR PANIM=33 OR PANIM=34 THEN SPRITE 1,PX,PY-7,ATTANIM SPRITE 2,PX,PY,19 ELSE SPRITE 1,PX,PY-8,ATTANIM IF PANIM=36 THEN SPRITE 2,PX,PY-2,19 ELSE SPRITE 2,PX,PY-1,19 END IF END IF END IF '//UPDATE FLY SPRITES\\' FOR I=0 TO (ACTIVEFLIES-1) IF FLIES(I,1)=1 THEN SPRITE I+3,FLIES(I,4),FLIES(I,5),FLIES(I,3) END IF NEXT I '//UPDATE BEE SPRITE\\' IF BIND=1 THEN SPRITE 13,BX,BY,BANIM END IF '//UPDATE HORNET SPRITE\\' FOR I=0 TO 4 IF HORNETS(I,1)=1 THEN SPRITE HORNETS(I,0),HORNETS(I,5),HORNETS(I,6),HORNETS(I,3) END IF NEXT I '//UPDATE HORNET NEST SPRITE (LEVEL 4)\\' IF NESTIND=1 THEN SPRITE 20,NX,NY,NANIM END IF '////PLAYER CONTROL AND MOVEMENT\\\\' '//SKIP UPDATING INPUTS, GRAVITY AND COLLISIONS IF SPAWNING,LEVEL-CHANGING, OR DURING 'GAME OVER' SEQUENCE\\' IF SPIND+LCIND+DTICK=0 AND PLIVES>-1 THEN '//LEFT/RIGHT INPUT SAVED AS DX, OR DIRECTION OF HOR. ACTIVE ACC.\\' IF LEFT(0) THEN DX=-1 IF RIGHT(0) THEN DX=1 '//IF NO DIR. GIVEN AND CHAR. HASN'T STOPPED, THEN DECELERATE\\' IF RIGHT(0)=0 AND LEFT(0)=0 THEN ISTURN=0 IF VX<>0 THEN ISDEC=1 ELSE ISDEC=0 DX=0 END IF END IF '//IF ACTIVELY CHANGING DIRETION WHILE IN MOTION, THEN ACCELERATE\\' IF VX<>0 AND SGN(VX)<>SGN(DX) THEN ISTURN=1 ISDEC=0 ELSE IF VX<>0 AND SGN(VX)=SGN(DX) THEN ISTURN=0 END IF '////APPLY HORIZONTAL VELOCITY TO PX AND SAVE PXLAST\\\\' IF VX<>0 AND XOBST=0 THEN CALL UPDATEPX '//CHECK AND SAVE THE BG CHAR#'S AT EACH DEFINED COLLISION BOX POINT\\' CALL PCELLCHECK '//CHECK FOR HOR. COLLISIONS\\' IF TLPCB<>0 OR TRPCB<>0 OR BLPCB<>0 OR BRPCB<>0 THEN XOBST=1 ELSE XOBST=0 END IF '//APPLY HORIZONTAL OBSTRUCTION? I'VE FOUND THAT THIS WORKS GOOD ENOUGH FOR MEDIUM GROUND SPEEDS\\' IF XOBST=1 THEN CALL XOBSTRUCT '//UPDATE HORIZONTAL VELOCITY\\' IF DX<>0 AND XOBST=0 THEN CALL UPDXVELOCITY END IF '//IF AIRBORN THEN UPDATE PY\\' IF GROUNDED=0 THEN CALL UPDATEPY '//UPDATE CELL CHAR#'S AT BOTTOM/UNDER/OVER (BUO) PLAYER CONTACT BOX POINTS\\' CALL BUOCELLCHECK '//IF NOT GROUNDED, CHECK FOR DROP/JUMP COLLISION 'ERROR' AND CORRECT\\' IF GROUNDED=0 THEN CALL VERTCOLLISION '//TEST FOR PLAYER HAVING AT LEAST ONE FOOT DIRECTLY ON THE GROUND IF (UBLPCB<>0 AND BLPCB=0) OR (UBRPCB<>0 AND BRPCB=0) THEN IF GROUNDED=0 THEN COYOTETIME=0 GROUNDED=1 ELSE ' IF GROUNDED=1 THEN COYOTETIME=0 GROUNDED=0 END IF '//TESTS FOR CANCELLING ACTIVE JUMP AND REINSTATING JUMP\\' IF BUTTON(0,0)=0 THEN IF JIND=1 THEN JIND=0 IF GROUNDED=1 OR SGN(VY)<0 THEN JENABLE=1 END IF '//TEST FOR JUMP BUTTON PRESS WHEN ON GROUND\\' IF BUTTON(0,0) AND JENABLE=1 THEN IF (GROUNDED=1 AND VY=0) OR COYOTETIME<7 THEN VY=JV JIND=1 JENABLE=0 JCOUNT=0 GROUNDED=0 COYOTETIME=10 END IF END IF '//APPLY JUMP?\\' IF JIND=1 THEN CALL JUMP END IF '//APPLY GRAVITY?\\' IF GROUNDED=1 THEN VY=0 ELSE IF GROUNDED+JIND=0 THEN CALL GRAVITY END IF '////PLAYER ATTACK\\\\' '//UPDATE PLAYER ATTACK VARIABLE AND INC ATTACK COUNTER\\' IF ATTENABLE=1 AND BUTTON(0,1) THEN ATTIND=1 END IF IF ATTIND=1 THEN CALL ATTACK '////UPDATE PLAYER ANIMATIONS\\\\' '//STATIC GROUND ANIMATION FRAME:\\' IF GROUNDED=1 AND DX=0 THEN PANIM=35 TICK=0 END IF '//DIRECTION-DEPENDANT GROUND MOVEMENT ANIMATIONS\\' IF GROUNDED=1 AND DX<>0 THEN CALL WALK '//CONTROLS PLAYER JUMP/FALL ANIMATIONS & TICK\\' IF GROUNDED=0 THEN CALL AIRBORN '//TOO BIG OF A BLOCK?\\' END IF '//CONTROLS FOR OTHER SPRITES\\' '//SPAWN FLY?\\' FOR I=0 TO (ACTIVEFLIES-1) IF FLIES(I,1)=0 AND FLIES(I,2)>=10*I THEN CALL SPAWNFLY(I) INC FLIES(I,2) '//UPDATE SPAWNED FLIES\\' IF FLIES(I,1)=1 THEN CALL UPDFLY(I) '//FLY EATEN?\\' IF SPRITE HIT(FLIES(I,0),1 TO 2) THEN FLIES(I,1)=0 FLIES(I,2)=0 SPRITE OFF FLIES(I,0) ATTENABLE=0 IF MAXJCOUNT<38 AND PSTATUS>1 THEN MAXJCOUNT=MAXJCOUNT+3 IF EATIND>0 THEN INC CHAIN IF EATTICK<24 THEN INC EATIND BG 0 TEXT 4,4," " BG 1 END IF EATTICK=0 END IF END IF NEXT I IF EATIND>0 THEN CALL EAT '//CHECK FOR PLAYER BEING IN A FLOWER\\' IF FLOWERIND=0 THEN IF (CELL.C((PX+4)/8,(PY+7)/8)=134 OR CELL.C((PX+4)/8,(PY+7)/8)=135) THEN FLOWERIND=1 ELSE IF FLOWERIND=1 THEN IF (CELL.C((PX+4)/8,(PY+7)/8)<>134 AND CELL.C((PX+4)/8,(PY+7)/8)<>135) THEN FLOWERIND=0 BG 0 TEXT 0,0," " BG 1 END IF END IF '////UPDATE BEE ENEMY\\\\' CALL BUPDATE '//UPDATE HORNET ENEMIES\\' FOR I=0 TO 4 IF HORNETS(I,1)=1 THEN CALL HORNET(I) NEXT I '//UPDATE NEST\\' IF NESTIND=1 AND NINV=0 AND SPRITE HIT(1,20) THEN INC NDAMCOUNT NINV=1 INC NATTTICK END IF '//CALL SUB NEST ATTACK IF INDICATED\\' IF NATTTICK>0 THEN CALL NESTATTACK '//CHECK FOR STING\\' IF INVINCIBLE=0 AND (SPRITE HIT(0,13 TO 19) OR SPRITE HIT(1,13 TO 19)) THEN JIND=0 CALL STING END IF '//IF STUNG THEN DISABLE ATTACK AND EITHER DIE SLOWLY OR HEAL\\' IF PSTATUS=1 THEN ATTENABLE=0 CALL INJURED END IF '//DEATH SEQUENCE\\' IF PSTATUS=0 THEN CALL DEATH '//CHECK FOR AND UPDATE PLAYER SPAWN\\' IF SPIND=1 THEN CALL SPAWNPLAYER '//GAME OVER\\' IF PLIVES<0 THEN CALL GAMEOVER WAIT 1 LOOP '\\SUBPROGRAM FOR UPDATING PLAYER'S X POSITION//' SUB UPDATEPX PXLAST=PX PX=PX+VX END SUB '\\SUBPROGRAM FOR UPDATING PLAYER'S Y POSITION//' SUB UPDATEPY PYLAST=PY PY=PY-VY END SUB '\\CHECK AND SAVE THE BG CHAR#'S AT EACH DEFINED COLLISION BOX POINT//' '\\AND NULLIFY THE REFERENCE OF NECESSARY CHAR'S TO ZERO//' SUB PCELLCHECK TLPCB=CELL.C(INT((PX+1)/8),INT((PY+1)/8)) IF TLPCB>127 THEN TLPCB=0 TRPCB=CELL.C(INT((PX+6)/8),INT((PY+1)/8)) IF TRPCB>127 THEN TRPCB=0 BLPCB=CELL.C(INT((PX+1)/8),INT((PY+7)/8)) IF BLPCB>127 THEN BLPCB=0 BRPCB=CELL.C(INT((PX+6)/8),INT((PY+7)/8)) IF BRPCB>127 THEN BRPCB=0 END SUB '\\UPDATE CELL CHAR#'S AT BOTTOM/UNDER/OVER (BUO) PLAYER CONTACT BOX POINTS//' SUB BUOCELLCHECK BLPCB=CELL.C(INT((PX+1)/8),INT((PY+7)/8)) IF BLPCB>127 THEN BLPCB=0 BRPCB=CELL.C(INT((PX+6)/8),INT((PY+7)/8)) IF BRPCB>127 THEN BRPCB=0 UBLPCB=CELL.C(INT((PX+1)/8),INT((PY+8)/8)) IF UBLPCB>127 THEN UBLPCB=0 UBRPCB=CELL.C(INT((PX+6)/8),INT((PY+8)/8)) IF UBRPCB>127 THEN UBRPCB=0 OTLPCB=CELL.C(INT((PX+1)/8),INT((PY-1)/8)) IF OTLPCB>127 THEN OTLPCB=0 OTRPCB=CELL.C(INT((PX+6)/8),INT((PY-1)/8)) IF OTRPCB>127 THEN OTRPCB=0 END SUB '\\SUBPROGRAM UPDATING PLAYER ANIMATIONS & COYOTETIME WHILE AIRBORN//' SUB AIRBORN IF TICK<>0 THEN TICK=0 IF JIND=0 AND GTIME>=1 THEN PANIM=35 ELSE IF JCOUNT>0 AND JCOUNT<3 THEN PANIM=33 ELSE IF JCOUNT>=3 AND JCOUNT<6 THEN PANIM=34 ELSE IF JCOUNT>=6 AND JCOUNT<12 THEN PANIM=35 END IF IF VY<0 THEN PANIM=36 END IF INC COYOTETIME END SUB '\\SUBPROGRAM FOR UPDATING X VELOCITY//' SUB UPDXVELOCITY IF ISDEC=0 AND ISTURN=0 THEN VX=VX+DX*XACC IF ABS(VX)>MAXVX THEN VX=MAXVX*DX ELSE IF ISTURN=1 THEN VX=VX+DX*TACC IF ABS(VX)>MAXVX THEN VX=MAXVX*DX ELSE IF ABS(VX)<0.21 THEN VX=0 ISTURN=0 END IF ELSE IF ISDEC=1 THEN VX=VX+DX*XDEC IF ABS(VX)<0.18 THEN VX=0 DX=0 ISDEC=0 END IF END IF END SUB '\\SUBPROGRAM FOR IMPLEMENTING HORIZONTAL OBSTRUCTIONS//' SUB XOBSTRUCT VX=0 PX=PXLAST END SUB '\\SUBPROGRAM FOR UPDATING WALKING ANIMATIONS//' SUB WALK INC TICK IF DX=1 AND TICK >0 THEN SPRITE 0 FLIP 0,0 IF DX=-1 AND TICK>0 THEN SPRITE 0 FLIP 1,0 IF TICK <3 THEN PANIM=1 IF TICK >=3 THEN PANIM=2 IF TICK >=6 THEN PANIM=3 IF TICK =9 THEN PANIM=1 TICK=0 END IF END SUB '\\SUBPROGRAM FOR CHECKING AND CORRECTING FALL/JUMP COLLISIONS//' SUB VERTCOLLISION '//LANDED?\\' IF VY<=0 THEN IF (BLPCB<>0 OR BRPCB<>0) THEN PY=PY-(PY+8) MOD 8 GROUNDED=1 VY=0 END IF '//HIT HEAD?\\' ELSE IF VY>0 THEN IF OTLPCB<>0 OR OTRPCB<>0 THEN JIND=0 JCOUNT=0 VY=0 '//TEST FOR CENTERED-CONTACT WITH LEVELCHANGE PIPE TILES\\' IF OTLPCB=80 AND OTRPCB=81 AND NESTIND=0 AND PSTATUS=2 THEN LCIND=1 END IF END IF END SUB '\\JUMP SUBPROGRAM//' SUB JUMP INC JCOUNT IF JCOUNT>=MAXJCOUNT THEN JCOUNT=0 JIND=0 END IF END SUB '\\GRAVITY SUBPROGRAM//' SUB GRAVITY IF VY>MAXVY THEN VY=VY-GRAVITY IF VY23 THEN ATTCOUNT=0 ATTIND=0 SPRITE OFF 1 TO 2 END IF '//UPDATE PLAYER ATTACK ANIMATION AND TICK COUNTER\\' IF ATTCOUNT=1 THEN ATTANIM=18 IF ATTCOUNT>1 THEN IF ATTCOUNT<9 AND ATTCOUNT MOD 4=0 THEN INC ATTANIM ELSE IF ATTCOUNT >15 AND ATTCOUNT MOD 4=0 THEN DEC ATTANIM END IF END IF END SUB '\\SUBPROGRAM FOR EATING FLIES AND CALCULATING SCORE//' SUB EAT IF EATTICK=0 THEN JIND=0 '//SCORING SYSTEM USES TWO CHAIN MULTIPLIERS: '//(X2) FOR EVERY SINGLE GOBBLE PER GULP WITHIN 1.5 SECONDS OF EACHOTHER\\' '//(X10) FOR EVERY ADDTIONAL FLY EATEN IN A SINGLE GULP\\' '//IT SHOULD BE NOTED THAT CHAINING MULTI-GOBBLES TOGETHER WILL CONINUE THEIR COUNT'\\ '//SUCH THAT CHAINING TWO 'TWO-FERS' TOGETHER MAKES A 'THREE-FER' AND SO ON'\\ IF EATIND=1 THEN PSCORE=PSCORE+2*(2*CHAIN+1) IF EATIND>1 THEN PSCORE=PSCORE+5*(EATIND-1)*CHAIN BG 0 IF CHAIN>0 THEN NUMBER 11,15,CHAIN,2 TEXT 14,15,"CHAIN" END IF BG 1 ELSE IF EATTICK=24 THEN ATTENABLE=1 END IF IF EATTICK<76 THEN BG 0 IF EATIND=2 THEN IF EATTICK MOD 30=0 THEN TEXT 6,4,"TWO-FER!" ELSE IF EATTICK MOD 15=0 THEN TEXT 6,4," " END IF ELSE IF EATIND=3 THEN IF EATTICK MOD 30=0 THEN TEXT 6,4,"THREE-FER!" ELSE IF EATTICK MOD 15=0 THEN TEXT 6,4," " END IF ELSE IF EATIND=4 THEN IF EATTICK MOD 30=0 THEN TEXT 8,4,"FOUR!" ELSE IF EATTICK MOD 15=0 THEN TEXT 6,4," " END IF ELSE IF EATIND=5 THEN IF EATTICK MOD 30=0 THEN TEXT 7,4,"FIVER!" ELSE IF EATTICK MOD 15=0 THEN TEXT 6,4," " END IF ELSE IF EATIND=6 THEN IF EATTICK MOD 30=0 THEN TEXT 4,4,"THE GRIBBLE!" ELSE IF EATTICK MOD 15=0 THEN TEXT 4,4," " END IF ELSE IF EATIND>6 THEN IF EATTICK MOD 30=0 THEN NUMBER 8,4,EATIND,2 TEXT 10,4,"!" ELSE IF EATTICK MOD 15=0 THEN TEXT 4,4," " END IF END IF BG 1 ELSE IF EATTICK>75 THEN BG 0 TEXT 4,4," " BG 1 END IF IF EATTICK<10 THEN PANIM=4 IF EATTICK>=10 AND EATTICK<20 THEN PANIM=5 IF EATTICK>=20 AND EATTICK<30 THEN PANIM=33 IF EATTICK>=30 AND EATTICK<40 THEN PANIM=34 IF EATTICK=40 THEN PANIM=35 IF EATTICK=90 THEN BG 0 TEXT 11,15," " TEXT 4,4," " BG 1 CHAIN=0 EATIND=0 EATTICK=0 ELSE INC EATTICK END IF END SUB '\\SUBPROGRAM FOR SPAWNING FLIES//' SUB SPAWNFLY(S) IF RND(10)=1 THEN FLIES(S,1)=1 FLIES(S,2)=0 FLIES(S,3)=9 FLIES(S,4)=76 FLIES(S,5)=24 END IF END SUB '\\SUBPROGRAM FOR UPDATING FLY'S POSITION AND VELOCITY//' SUB UPDFLY(S) FTICK=FLIES(S,2) FANIM=FLIES(S,3) FX=FLIES(S,4) FY=FLIES(S,5) FVX=FLIES(S,6) FVY=FLIES(S,7) '//BEHOLD THE MYSTERIES OF THE FLY ATTRACTOR BOX!\\' IF FXR-FX<17 THEN FVX=FVX-1/128*-(FXR-FX-17)-(0.5-RND)/8 IF FX-FXL<17 THEN FVX=FVX+1/128*-(FX-FXL-17)+(0.5-RND)/8 IF FXR-FX>=17 AND FX-FXL>=17 THEN IF FTICK>35 THEN FVX=FVX+COS((2*3.14159)*(RND-0.5)+S)/4 ELSE IF FTICK=35 THEN FVX=SGN(FVX)*FMAXV^2 ELSE FVX=COS((2*3.14159)*(RND-0.5)+S) END IF END IF FVX=FVX*FMAXV IF ABS(FVX)>FMAXV THEN FVX=FMAXV*SGN(FVX) IF FY-FYU<17 THEN FVY=FVY+1/128*-(FY-FYU-17)+(0.5-RND)/8 IF FYL-FY<17 THEN FVY=FVY-1/128*-(FYL-FY-17)-(0.5-RND)/8 IF FY-FYU>=17 AND FYL-FY>=17 THEN IF FTICK>35 THEN FVY=FVY-SIN((2*3.14159)*(RND-0.5)+S)/3 ELSE IF FTICK=35 THEN FVY=SGN(FVY)*FMAXV^2 ELSE FVY=-SIN((2*3.14159)*(RND-0.5)+S) END IF END IF FVY=FVY*FMAXV IF ABS(FVY)>FMAXV THEN FVY=FMAXV*SGN(FVY) '//UPDATE FLY X AND Y POSITIONS\\' FX=FX+FVX IF FX<0 THEN FX=0 IF FX>152 THEN FX=152 FY=FY+FVY IF FY<0 THEN FY=0 IF FY>120 THEN FY=120 '//UPDATE FLY SPRITE ANIMATION\\' IF FTICK MOD 3=0 THEN INC FANIM IF FANIM=11 THEN FANIM=9 END IF FLIES(S,2)=FTICK FLIES(S,3)=FANIM FLIES(S,4)=FX FLIES(S,5)=FY FLIES(S,6)=FVX FLIES(S,7)=FVY END SUB '\\SUBPROGRAM FOR UPDATING BEE POSITION AND ANIMATION//' SUB BUPDATE '//UPDATE BEE X AND Y POSITIONS AS WELL AS BTICK\\' IF BTICK=30 THEN BIND=1 ELSE IF BTICK>30 AND BTICK<91 THEN BY=BY+0.5 ELSE IF BTICK>90 THEN BX=63*SIN(0.052359*(BTICK-90)/3.14159)+76 BY=21*COS(0.418879*(BTICK-90)/3.14159)+64 END IF '//ACCELERATE THE BEE'S MOTION NEAR THE HORIZONTAL TURNING POINTS\\' '//ENSURE BTICK IS WHOLE TO KEEP ANIMATION STABLE IF INT(BX)<=20 OR INT(BX)>=135 THEN INC BTICK ELSE BTICK=BTICK+0.5 END IF IF INT(BX)=20 OR INT(BX)=135 THEN 'BANIM=7 IF INT(BTICK)<>BTICK THEN BTICK=BTICK+0.5 END IF '//UPDATE BEE SPRITE ANIMATION\\' IF INT(BTICK)=BTICK AND BTICK MOD 3=0 THEN INC BANIM IF BANIM=9 THEN BANIM=7 END SUB '//SUBPROGRAM FOR UPDATING HORNET POSITION, VELOCITY, AND ANIMATION SUB HORNET(N) '//FEED HORNET ARRAY ELEMENTS INTO READABLE VARIABLES\\' HIND=HORNETS(N,1) HORNTICK=HORNETS(N,2) HANIM=HORNETS(N,3) HATTSTAT=HORNETS(N,4) HX=HORNETS(N,5) HY=HORNETS(N,6) HVX=HORNETS(N,7) HVY=HORNETS(N,8) HH=HORNETS(N,9) TOTALHH=HORNETS(N,10) DELTAXH=HORNETS(N,11) DELTAYH=HORNETS(N,12) HVEL=HORNETS(N,13) RETHX=HORNETS(N,14) RETHY=HORNETS(N,15) HOVERTICK=HORNETS(N,16) HOVERTICK2=HORNETS(N,17) '//HOVER SEQUENCE FOR BIG HORNET\\' IF N=4 AND HATTSTAT=0 THEN HX=63*SIN(0.052359*(-HOVERTICK)/3.14159)+72 IF HOVERTICK=55 THEN SPRITE HORNETS(4,0) FLIP 0,0 ELSE IF HOVERTICK=243 THEN SPRITE HORNETS(4,0) FLIP 1,0 END IF IF HOVERTICK=377 THEN HOVERTICK=0 INC HOVERTICK '//HOVER SEQUENCE FOR SMALL HORNETS\\' ELSE IF HATTSTAT=0 THEN '//UPDATE POSITION THIS WAY WHEN NOT ATTACKING\\' HX=HX+HVX HY=HY+HVY IF HORNTICK>-31 AND FLOWERIND+DTICK+SPIND+LCIND=0 THEN IF N=1 OR N=3 THEN HVX=COS((-2*HOVERTICK2)/PI+2*N) HVY=SIN((-2*HOVERTICK2)/PI+2*N) ELSE HVX=COS((2*HOVERTICK2)/PI+2*N) HVY=SIN((2*HOVERTICK2)/PI+2*N) END IF INC HOVERTICK2 ELSE IF N=1 OR N=3 THEN HVX=COS(HOVERTICK/(2*PI)+N) HVY=SIN(HOVERTICK/(2*PI)+N) ELSE HVX=COS(-HOVERTICK/(2*PI)+N) HVY=SIN(-HOVERTICK/(2*PI)+N) END IF INC HOVERTICK END IF END IF '//COUNTDOWN-REAPER HORNET: HATTSTAT=-1\\' IF HATTSTAT=-1 THEN '//UPDATE DIRECTION\\' TOTALHH=SQR(((PX-HX)^2)+((PY-HY)^2)) IF TOTALHH<>0 THEN DELTAXH=(PX-HX)/TOTALHH DELTAYH=(PY-HY)/TOTALHH END IF '//UPDATE POSITION\\' IF DTICK<1 THEN HX=HX+DELTAXH*HVEL HY=HY+DELTAYH*HVEL END IF '//UPDATE VELOCITY\\' IF HVELHVMAX THEN HVEL=HVMAX END IF END IF '//WHEN TICK PASSES ZERO, ROLL THE DICE AND START ATTACK IF VISIBLE?\\' IF HATTSTAT=0 AND HORNTICK>=0 THEN IF RND(30)=1 OR HORNTICK=90 THEN IF N=4 THEN RETHX=HX RETHY=HY END IF IF FLOWERIND+DTICK+LCIND+SPIND=0 THEN HATTSTAT=1 HVX=0 HVY=0 TOTALHH=SQR(((PX-HX)^2)+((PY-HY)^2)) IF TOTALHH<>0 THEN DELTAXH=(PX-HX)/TOTALHH DELTAYH=(PY-HY)/TOTALHH ELSE HORNTICK=-150 HATTSTAT=0 END IF ELSE IF N=2 OR N=3 THEN HORNTICK=-15 ELSE '//MEASUE DISTANCE FROM RETURN POINT AND CORRECT IF TOO LONG\\' TOTALHH=SQR((HX-RETHX)^2+(HY-RETHY)^2) IF TOTALHH>=13 THEN HVEL=-1 HORNTICK=1 HATTSTAT=1 HH=0 TOTALHH=0 ELSE TOTALHH=0 HORNTICK=-150 END IF END IF END IF END IF '//ELSE, IF ATTACKING, THEN...\\' ELSE IF HATTSTAT>0 THEN '//UPDATE DISTANCE HH\\' HH=HH+HVEL '//UPDATE POSITION\\' HX=HX+DELTAXH*HVEL HY=HY+DELTAYH*HVEL '//ATTACK STATE. STAT=3 ALLOWS HORNETS 2&3 TO SHIFT TO STAT=2 ONCE\\' '//STAT=1 SHIFTS INTO STAT=2 WHEN (TOTALLHH - HH) IS NEAR 0\\' IF HATTSTAT=1 OR HATTSTAT=3 THEN IF N=2 OR N=3 THEN IF HX<-8 OR HX>168 OR HY<-8 OR HY>136 THEN HIND=0 HATTSTAT=0 HVEL=0 TOTALHH=0 HH=0 END IF END IF IF (N=0 OR N=1 OR N=4 OR HATTSTAT=3) AND TOTALHH-HH<=1.51 THEN HATTSTAT=2 TOTALHH=SQR((HX-RETHX)^2+(HY-RETHY)^2) HH=TOTALHH IF TOTALHH<>0 THEN DELTAXH=(HX-RETHX)/TOTALHH DELTAYH=(HY-RETHY)/TOTALHH END IF ELSE '//UPDATE VELOCITY\\' IF HVELHVMAX THEN HVEL=HVMAX END IF END IF ELSE IF HH<=1.51 OR (HH4 THEN HOVERTICK=0 HATTSTAT=0 HX=RETHX HY=RETHY TOTALHH=0 HH=0 HVEL=0 END IF '//UPDATE VELOCITY\\' IF TOTALHH<12 THEN IF HH=TOTALHH THEN IF ABS(HVEL)<=HVMAX THEN HVEL=HVEL-HAMAX END IF ELSE IF HH<12 THEN IF HVEL<0 THEN HVEL=HVEL+HAMAX ELSE IF HH>=12 THEN IF ABS(HVEL)<=HVMAX THEN HVEL=HVEL-HAMAX ELSE IF ABS(HVEL)>HVMAX THEN HVEL=SGN(HVEL)*HVMAX END IF END IF END IF END IF END IF '//UPDATE ANIMATION\\' IF (FLOWERIND+DTICK+LCIND+SPIND=0 OR HATTSTAT=-1) AND HORNTICK>-31 AND HATTSTAT<2 THEN IF HORNTICK MOD 6=0 THEN IF N=4 THEN HANIM=21 ELSE HANIM=25 ELSE IF HORNTICK MOD 3=0 THEN IF N=4 THEN HANIM=23 ELSE HANIM=26 END IF ELSE IF HORNTICK MOD 12=0 THEN IF N=4 THEN HANIM=21 ELSE HANIM=25 ELSE IF HORNTICK MOD 6=0 THEN IF N=4 THEN HANIM=23 ELSE HANIM=26 END IF END IF IF FLOWERIND<>1 OR HATTSTAT=-1 THEN IF HX>PX AND HX-PX>4 THEN SPRITE HORNETS(N,0) FLIP 1,0 ELSE IF PX-HX>4 THEN SPRITE HORNETS(N,0) FLIP 0,0 END IF END IF INC HORNTICK '//UPDATE THE ARRAY ELEMENTS\\' HORNETS(N,1)=HIND HORNETS(N,2)=HORNTICK HORNETS(N,3)=HANIM HORNETS(N,4)=HATTSTAT HORNETS(N,5)=HX HORNETS(N,6)=HY HORNETS(N,7)=HVX HORNETS(N,8)=HVY HORNETS(N,9)=HH HORNETS(N,10)=TOTALHH HORNETS(N,11)=DELTAXH HORNETS(N,12)=DELTAYH HORNETS(N,13)=HVEL HORNETS(N,14)=RETHX HORNETS(N,15)=RETHY HORNETS(N,16)=HOVERTICK HORNETS(N,17)=HOVERTICK2 END SUB '//SUBPROGRAM FOR CONTROLLING THE NEST ATTACK SEQUENCE\\' SUB NESTATTACK IF NATTTICK=1 THEN NANIM=164 SPRITE 20 PAL 0 END IF IF NATTTICK=45 THEN IF HORNETS(2,1)=0 THEN HORNETS(2,1)=1 HORNETS(2,2)=1 HORNETS(2,4)=3 HORNETS(2,5)=76 HORNETS(2,6)=36 HORNETS(2,14)=106 HORNETS(2,15)=24 END IF IF HORNETS(3,1)=0 THEN HORNETS(3,1)=1 HORNETS(3,2)=1 HORNETS(3,4)=3 HORNETS(3,5)=76 HORNETS(3,6)=36 HORNETS(3,14)=46 HORNETS(3,15)=24 END IF END IF IF NATTTICK=60 AND NDAMCOUNT=1 THEN IF HORNETS(0,1)=0 THEN HORNETS(0,1)=1 HORNETS(0,2)=1 HORNETS(0,4)=1 HORNETS(0,5)=76 HORNETS(0,6)=36 HORNETS(0,14)=128 HORNETS(0,15)=24 END IF END IF IF NATTTICK=60 AND GAMELEVEL>1 AND NDAMCOUNT=3 THEN IF HORNETS(1,1)=0 THEN HORNETS(1,1)=1 HORNETS(1,2)=1 HORNETS(1,4)=1 HORNETS(1,5)=76 HORNETS(1,6)=36 HORNETS(1,14)=24 HORNETS(1,15)=24 END IF END IF IF NATTTICK=60 AND NDAMCOUNT=5 AND LTICK>-1 THEN IF GAMELEVEL=4 THEN HORNETS(4,1)=1 HORNETS(4,2)=-90 HORNETS(4,5)=76 HORNETS(4,6)=32 SPRITE HORNETS(4,0) SIZE 1 FLIP 1,0 END IF END IF IF NDAMCOUNT=7 AND NATTTICK>16 THEN INC NY IF NY>128 THEN SPRITE OFF 20 NESTIND=0 'NDAMCOUNT=0 END IF END IF '//NEST ATTACK ANIMATION CONTROL\\' IF NATTTICK MOD 16=0 THEN SPRITE 20 PAL 0 IF NATTTICK<41 THEN NANIM=164 ELSE IF NATTTICK MOD 8=0 THEN SPRITE 20 PAL 7 IF NATTTICK<41 THEN NANIM=132 END IF IF NATTTICK=150 THEN NATTTICK=0 NINV=0 SPRITE 20 PAL 7 ELSE INC NATTTICK END IF END SUB '\\SUBPROGRAM FOR PUTTING THE STINGER IN YA//' SUB STING MAXJCOUNT=11 INVINCIBLE=1 HTICK=0 STICK=0 IF PSTATUS<>0 THEN DEC PSTATUS END SUB '\\SUBPROGRAM FOR BEING INJURED AND DYING/HEALING STATES//' SUB INJURED '//NEED TO HEAL THE BEESTING? THEN USE FLOWER POWER!\\' IF FLOWERIND=1 THEN '//GET BUSY HEALING...\\' IF HTICK MOD 45=0 THEN BG 0 TEXT 0,0," " BG 1 ELSE IF HTICK MOD 45=11 THEN BG 0 PAL 5 TEXT 0,0,"." BG 1 ELSE IF HTICK MOD 45=22 THEN BG 0 PAL 5 TEXT 0,0,".." BG 1 ELSE IF HTICK MOD 45=33 THEN BG 0 PAL 5 TEXT 0,0,"..." BG 1 END IF PAL 1 IF HTICK=60 THEN STICK=0 IF HTICK+STICK=75 THEN INVINCIBLE=0 IF HTICK MOD 18=0 THEN SPRITE 0 PAL 5 ELSE IF HTICK MOD 9=0 THEN SPRITE 0 PAL 1 END IF IF HTICK=180 THEN INC PSTATUS ATTENABLE=1 SPRITE 0 PAL 1 HTICK=0 ELSE INC HTICK END IF '//OR GET BUSY DYING\\' ELSE HTICK=0 IF STICK=75 THEN INVINCIBLE=0 IF STICK<240 THEN IF STICK MOD 32=0 THEN SPRITE 0 PAL 0 BG 0 PAL 5 TEXT 0,0,"HEAL!!!" PAL 1 BG 1 ELSE IF STICK MOD 16 = 0 THEN SPRITE 0 PAL 1 BG 0 TEXT 0,0," " BG 1 END IF ELSE IF STICK>=240 THEN IF STICK MOD 16=0 THEN SPRITE 0 PAL 1 BG 0 TEXT 0,0," " BG 1 ELSE IF STICK MOD 8=0 THEN SPRITE 0 PAL 0 BG 0 PAL 5 TEXT 0,0,"HEAL!!!" PAL 1 BG 1 END IF END IF IF STICK=360 THEN IF PSTATUS<>0 THEN DEC PSTATUS SPRITE 0 PAL 7 STICK=0 ELSE INC STICK END IF END IF END SUB '\\SUBPROGRAM FOR DEALING WITH PLAYER'S RECENT LOSS OF LIFE//' SUB DEATH IF DTICK=0 THEN PANIM=17 INVINCIBLE=1 VY=0 VX=0 JIND=0 BG 0 TEXT 0,0," " BG 1 END IF IF DTICK<134 THEN IF DTICK MOD 40=0 THEN SPRITE 0 PAL 4 FLIP 1,1 ELSE IF DTICK MOD 20=0 THEN SPRITE 0 PAL 7 FLIP 0,0 END IF END IF IF DTICK=134 THEN SPRITE 0 PAL 1 FLIP 0,0 SPIND=1 PSTATUS=2 DEC PLIVES DTICK=0 ELSE INC DTICK END IF END SUB '\\SUBPROGRAM FOR PLAYER SPAWN SEQUENCE//' SUB SPAWNPLAYER IF SPAWNTICK=0 THEN IF HORNETS(4,4)=-1 THEN IF GAMELEVEL<>4 OR (GAMELEVEL=4 AND NDAMCOUNT<5) THEN HORNETS(4,1)=0 HORNETS(4,2)=-285 HORNETS(4,4)=0 HORNETS(4,13)=0 SPRITE OFF HORNETS(4,0) ELSE HORNETS(4,2)=1 HORNETS(4,4)=1 HORNETS(4,9)=0 HORNETS(4,10)=0 HORNETS(4,13)=0 HORNETS(4,14)=76 HORNETS(4,15)=24 HORNETS(4,16)=0 END IF END IF ATTENABLE=0 INVINCIBLE=1 GROUNDED=0 PANIM=35 PX=16 PY=20 VY=0 END IF IF SPAWNTICK<16 THEN INC PX IF SPAWNTICK>5 THEN CALL UPDATEPY CALL BUOCELLCHECK CALL VERTCOLLISION CALL GRAVITY END IF IF GROUNDED=1 THEN SPAWNTICK=0 FRAMETICK=0 SPIND=0 INVINCIBLE=0 ATTENABLE=1 IF GAMELEVEL=1 OR GAMELEVEL=2 OR GAMELEVEL=3 THEN LTICK=210 IF GAMELEVEL=4 THEN LTICK=360 SPRITE 0 PAL 1 BG 0 TEXT 8,0," " BG 1 FOR I=0 TO 4 HORNETS(I,2)=-210-30*I NEXT I ELSE INC SPAWNTICK END IF END SUB '\\SUBPROGRAM FOR GAME OVER SEQUENCE//' SUB GAMEOVER CALL HISCORE WINDOW 6,7,10,1,1 SPIND=0 SPRITE OFF 0 PX=76 PY=38 IF TIMER MOD 30<=15 THEN PAL 0 ELSE PAL 4 END IF CLW PRINT "GAME OVER" END SUB '\\SUBPROGRAM FOR CHANGING LEVELS//' SUB LEVELCHANGE IF LCTICK=0 THEN INC GAMELEVEL VX=0 MAXJCOUNT=11 ATTIND=0 ATTENABLE=0 NDAMCOUNT=0 SPRITE OFF 1 TO 2 END IF IF LTICK>0 AND GAMELEVEL>1 THEN DEC LTICK PSCORE=PSCORE+2 END IF IF GAMELEVEL=1 THEN CALL LEVEL1 IF GAMELEVEL=2 THEN CALL LEVEL2 IF GAMELEVEL=3 THEN CALL LEVEL3 IF GAMELEVEL=4 THEN CALL LEVEL4 IF GAMELEVEL=5 THEN CALL WIN END SUB SUB LEVEL1 '//INITIALIZE BACKGROUND FOR FIRST LEVEL AND COPY TO SCREEN\\' CLS BG 1 BG COPY 0,0,20,32 TO 0,-16 NESTIND=1 LCIND=0 ACTIVEFLIES=6 SPIND=1 END SUB SUB LEVEL2 IF LCTICK=0 THEN BG 1 BG COPY 0,0,20,32 TO 0,-16 NESTIND=1 NY=-104 END IF IF LCTICK<8 THEN DEC PY ELSE IF LCTICK>7 AND LCTICK<136 THEN PANIM=0 SCROLL 1,0,-(LCTICK-7) INC NY END IF IF LCTICK>=135 AND LTICK<=0 THEN LCIND=0 LCTICK=0 ACTIVEFLIES=6 SPIND=1 BG COPY 0,0,20,16 TO 0,0 IF HORNETS(0,1)=0 THEN HORNETS(0,1)=1 HORNETS(0,2)=1 HORNETS(0,4)=1 HORNETS(0,5)=76 HORNETS(0,6)=24 HORNETS(0,14)=128 HORNETS(0,15)=24 END IF ELSE INC LCTICK END IF END SUB SUB LEVEL3 IF LCTICK=0 THEN BG 1 BG COPY 0,0,32,16 TO 0,0 NESTIND=1 NX=232 NY=24 END IF IF LCTICK<8 THEN DEC PY ELSE IF LCTICK>7 AND LCTICK<168 THEN PANIM=0 SCROLL 1,((LCTICK-7) MOD 8),0 DEC NX IF (LCTICK-7) MOD 8=0 THEN BG COPY (LCTICK-7)/8,0,32,32 TO 0,0 END IF END IF IF LCTICK>=167 AND LTICK<=0 THEN LCIND=0 LCTICK=0 SPIND=1 ACTIVEFLIES=6 IF HORNETS(0,1)=0 THEN HORNETS(0,1)=1 HORNETS(0,2)=1 HORNETS(0,4)=1 HORNETS(0,5)=76 HORNETS(0,6)=24 HORNETS(0,14)=128 HORNETS(0,15)=24 END IF IF HORNETS(1,1)=0 THEN HORNETS(1,1)=1 HORNETS(1,2)=1 HORNETS(1,4)=1 HORNETS(1,5)=76 HORNETS(1,6)=24 HORNETS(1,14)=24 HORNETS(1,15)=24 END IF ELSE INC LCTICK END IF END SUB SUB LEVEL4 IF LCTICK=0 THEN BG 1 BG COPY 20,0,20,32 TO 0,0 FOR I=0 TO 1 HORNETS(I,1)=0 HORNETS(I,2)=-240 HORNETS(I,4)=0 HORNETS(I,9)=0 HORNETS(I,10)=0 HORNETS(I,13)=0 SPRITE OFF HORNETS(I,0) NEXT I NESTIND=1 NY=152 END IF IF LCTICK<8 THEN DEC PY ELSE IF LCTICK>7 AND LCTICK<136 THEN PANIM=0 SCROLL 1,0,(LCTICK-7) DEC NY END IF IF LCTICK>=135 AND LTICK<=0 THEN BG COPY 20,16,20,16 TO 0,0 LCIND=0 LCTICK=0 SPIND=1 ACTIVEFLIES=6 ELSE INC LCTICK END IF END SUB '\\SUBPROGRAM FOR PRESENTING 'WIN SCREEN' SUB WIN WINDOW 7,7,9,1,1 IF LTICK<=0 THEN CALL HISCORE IF LCTICK<8 THEN DEC PY ELSE IF LCTICK>7 THEN PANIM=0 SCROLL 1,(LCTICK-7),0 END IF IF LCTICK MOD 20<10 THEN PAL 7 ELSE IF LCTICK MOD 20>=10 THEN PAL 5 END IF CLW PRINT "YOU WIN!" INC LCTICK END SUB SUB HISCORE IF PSCORE>HIGHSCORE THEN HIGHSCORE=PSCORE CALL SHOWMSG("NEW HIGHSCORE!") 'WRITE TO PERSISTENT RAM POKEL $E000,HIGHSCORE ELSE CALL SHOWMSG("HIGHSCORE: "+STR$(HIGHSCORE)) END IF END SUB SUB SHOWMSG(MSG$) BG 0 PAL 4 'PRIO 1 L=LEN(MSG$) BG FILL 0,15 TO 19,15 CHAR 0 TEXT (20-L)/2,15,MSG$ BG 1 'MSGTIMER=120 END SUB SUB INTROMSG IF TICK MOD 240=0 THEN CALL SHOWMSG("PRESS ANY BUTTON") ELSE IF TICK MOD 240=120 THEN CALL SHOWMSG("HIGHSCORE: "+STR$(HIGHSCORE)) ELSE IF TICK MOD 60=0 THEN CALL CLEAROVERLAYS END IF INC TICK END SUB SUB CLEAROVERLAYS BG 0 'PRIO 1 BG FILL 0,15 TO 19,15 CHAR 0 BG 1 'BG FILL 0,15 TO 19,15 CHAR 0 'PRIO 0 'BG 1 END SUB #1:MAIN PALETTES 070B3032003C3408001D04090015001D 073C3F000033223B0003021B003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 18BCFEFF7F7F7EE73C24FEEF7B5E7E00 18BCFEFF7F7F7FE03C24FEEB7F5E7800 18BCFEFF7F7FFE073C24FEEF5B7E1E00 18BDFFFF7E7E7EE73C24E7FF6E5A7E00 0018FFFFFF7E7EFF003CE7FF6E5A7E18 00000000000000000000000000000000 41221C3E3E3E1C0877777F221C360808 00143E3E3E3E1C0800777F631C360808 000042663C2C34180000426624100824 0000E73C342C18000000E72408102400 1F75D1055C47F0260A3FFFFFFFFFFFFF FF590B30654D084AAAFFFFFFFFFFFFFF FFF5DB5B612C9E4500AAB6FEFFFFFFFF DE9E1E4CE0ECDE9E2161E1B31E132161 00E3F7F7E100CEEFF71C08081EFF3110 00000000000000000000000000000000 18BDFFFF7E7E7EE7243CFFEF7A5E7E00 0000000000183C66000000000000183C 0000182C566A342C000000183C3C1818 3C566A342C342C34003C3C1818181818 E0DCB35E693F0307E0FCFF7F7F3F0307 0018048CFFFDFFF70018048CFFFFFF17 0000000102050A150000000103070F1F 00100884CC7FFDFF00100884CCFFFFFF E4B2DD3F7978783CE4F2FF277948783C 04629D7F7978783E0462FF677948783E 7B7D3F1F0F0301008C824020100C0203 DEDEBCFCF0E040002323460E1C30A0E0 00000000000000000000000000000000 1EDECCE0ECCE1E9EE121331E1331E161 00C7EFE7C3187C7DEF3810183CE78382 00000000000000000000000000000000 00183C7EFFFFFFFF003C247EEFDB7E18 0018BDFFFF7E7EFF003C24FFEF5A7E18 18BDBDFF7E7E7EE73C24BDEF7A5E7E00 99BDFF7E3C7E66E73CA5FF6E385E6600 07070703030100000706070303010000 F1E1E0E0F0F07C00F121E020F0D07C00 0F070707030300000F07060703030000 F7F1E1F0F0F8F83E17F121F090F8E83E 00000000000000000000000000000000 00000000000000000000000000000000 0100017A1F0201000301FB9FED3F0101 80F87000008000807CE4D87000808040 00000000000000000000000000000000 00000000000000000000000000000000 1800000000000000667E18FF18183C66 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 170F170F170F170F6870687068706870 FEFEFEFEFEFEFEFE0206020602060206 00FFFFFFFFFFFFFF00FF550000000000 1FFFEEDFEEDFEEDE1FF5533111211121 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 7878585858585F5F007070707070707F 1E1E16161616F6F6001C1C1C1C1C1CFC 78785858585858580070707070707070 1E1E161616161616001C1C1C1C1C1C1C 7878585C4E475359007070787C7E7F7F 3C3C2C2C2C2CACEC00383838383838B8 0F7F785F58585858000F7F7F70707070 FCFE06FE0000007800FCFCFC00000000 170F15005F3F570068706AFFA0C0A8FF FEFE56ABFFFFFF2B0206AA5F010305FF FFFFFF55AA000000000000AA55FFFF00 EECEEE4CAE040A00113111B351FBF51F 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 505F5858585858787F7F707070707070 16F616161616161EFCFC1C1C1C1C1C1C 585858585F5F403F70707070707F7F3F 16161616F6F606FC1C1C1C1C1CFCFCF8 5C5E5B59585858787F77737170707070 EC6C2C8CCC6C2C3CF8F8F8F8F8783838 585858585F5F780F70707070707F7F0F 7C467616F6F606FE787C7C1C1CFCFCFC 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0F7F705F58585F5F000F7F7F7070707F FEFE06FE0000FEFE00FCFCFC000000FC 0F7F705F585F5F50000F7F7F70707F7F FEFE06FE00FCFC0C00FCFCFC0000F8F8 7F7F505457505F57007F7F78787F7F7E FEFE0606F606FE0000FCFC0C0CFCFC00 3F7F605F5C585858003F7F7F78707070 F8FC0EF63616161600F8FCFC3C1C1C1C 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 505F58585F5F700F7F7F7070707F7F0F 06FE0000FEFE06FEFCFC000000FCFCFC 5F585858585858787F70707070707070 FC00000000000000F800000000000000 53595C5E5B5958787F7F7F7773717070 80C0E070389CCC7C0080C0E0F0F8F878 585858585F5F603F70707070787F7F3F 16161616F6F60EFC1C1C1C1C3CFCFCF8 000C1C3E3F1F0F6F1E3363414060F090 0070F8FCFEFEFCFCF88C060301010302 000F01030F0002010F310001330F0703 00F8FEFEF0008000F8867FBFCEF0C080 01071C313F7EF1EF01071F3E216FDEB1 80E03CF6FE1FE7F980E0FC0EE2F91FE7 04040200030747770004020305C8F8B8 80A0A04080C6EEEE0080A0C0C67B3313 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 7F0F1F0F0700000080F06030180F0000 D8C0808000000000263C6060C0800000 01000102030201000101030301030101 00800000008000808000800000808000 DEF0636F3F0F0701AFDF5C73360D0701 1FC6F23EFCF0F0C0FB3ECEF6DCE0F0C0 55470AA2A0800000FFEFA2A000000000 55FF574501010100FFEF430101000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 22AAFFFFFFFFFFFF0055002000100000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 071C313F7EF1EFDE071F3E216FDEB1AF E03CF6FE1FE7F91FE0FC0EE2F91FE7FB 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 F0636F3F0F070100DF5C73360D070100 C6FA3EFCF8F0C0003EC6F6DCE8F0C000 #3:MAIN BG 000040400E231F330F331F330F331F33 0F331F330F331F330F331F330F331F33 0F331F330F331F330F330E2B0E230F33 1F330F331F330F331F330F331F330F33 1F330F331F330F331F330F331F330F33 1F330E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000048014901 4A014B011E2300000000000000000000 00000000000040234123000000000000 000000008407850700001E2B1E230000 00000000000000000000000000004023 41230000000000000000000084078507 00001E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000058015901 5A015B010E2342234323000000000000 00000000000050235123000000000000 000000009407950700000E2B0E234223 43230000002000000000000000005023 51230000000000000000000094079507 00000E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 6A016B011E2352235323000000000000 00000000002096229722002000000000 000000000000000000001E2B1E235223 53230000000000000000000000009622 97220000000000000000000000000000 00001E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 7A017B010E2300000000000000000000 00000000000000000000000000000000 00000000911F901F00000E2B0E230000 00000000000000000000000000000000 00000000000000000000000000000000 00000E2B000000000000000000000000 00000000000000000000000000000000 0000000000000000000000004C014D01 4E014F011E2300000000000000000000 00000000000000000000000000000000 00000000811F801F00001E2B1E230020 00000000000000000000000090179117 00000000000000000000000000000000 00001E2B000000000000000000000000 00000000000000000000000000000000 0000000000000000000000005C015D01 5E015F010E2300000000800781070000 00000000000000000000000000000000 000000000000000000000E2B0E230000 00000000000000000000000080178117 00000000000000000000000000000000 00000E2B000000000000000000000000 00000000000000000000000000000000 0000000000000000000000006C016D01 6E016F011E2300000000900791070000 00000000000000000000000000000000 000000000000000000001E2B1E230000 00000000000000000000000000000000 000000000000000000000000810F800F 00001E2B000000000000000000000000 00000000000000000000000000000000 0000000000000000000000007C017D01 7E017F010E2300000000000000000000 00000000000000000000000000008007 810700000000000000000E2B0E230000 00000000000000000000000000000000 000000000000000000000000910F900F 00000E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000068016901 680169011E2300000000000000000000 00000000000000000000000000009007 910700000000000000001E2B1E230000 00008007810700000000000000000000 00000000000000000000000000000000 00001E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000078017901 780179010E2300000000000000000000 00000000000000000000000000000000 000000000000000000000E2B0E230000 00009007910700000000000000000000 00000000000000000000000000000000 00000E2B000000000000000000000000 00000000000000000000000000000000 0000000000000000000000004E014F01 000000001E2386258725000000000000 00000000000096329732000000000000 000000000000862587251E2B1E238625 87250000000000000000000000009632 97320000000000000000000000008625 87251E2B000000000000000000000000 00000000000000000000000000000000 0000000000000000000000005E015F01 000000000E231B251C25000000000D2A 000000000B220C220C220B2A00000000 0D22000000001B251C250E2B0E231B25 1C250000000000000D2A000000000D22 0D22000000000D2A0000000000001B25 1C250E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000014000A03 090B19041E232C2A2B2A000000000000 00000020000000000000000000000020 0000000000002B222C221E2B1E232C2A 2B2A0000000000000000000000000000 00000000000000000000000000002B22 2C221E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000011010704 860587050E230C220C220B2A00000000 00009732973200200000973A973A0000 000000000B220C220C220E2B0E230C22 0C220C220B2A00000000000097320000 0000973A0000000000000B220C220C22 0C220E2B000000000000000000000000 00000000000000000000000000000000 000000000000000000000000160C150C 1B051C051E231F2B0F2B1F2B0C220C22 0C220C220C22A00EA00E0C220C220C22 0C220C220F2B1F2B0F2B1E2B1E231F2B 0F231F230D220D220D220D220D22A006 A0060D220D220D220D220D220F231F23 1F231E2B000000000000000000000000 00000000000000000000000000000000 000000000000000000000000260C250C 2B022C020E230F331F330F331F330F33 1F330F331F330F331F330F331F330F33 1F330F331F330F331F330E2B0E230000 00000000000000000000000000004023 41230000000000000000000000000000 00000E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000080078107 911F901F1E2300000000000000000000 00000000000040234123002000000000 000000000000000000001E2B1E230000 00000000000000000000000000004023 41230000000000000000000000000000 00001E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000090079107 811F801F0E2342234323000000000000 00000000000050235123002000000000 000000000000000000000E2B0E234223 43230000000000000000000000005023 51230000000000000000000000000000 00000E2B000000000000000000000000 00000000000000000000000000000000 0000000000000000000000000C020C02 0C020C021E2352235323000000008007 81070000002096229722002000000000 000000000000000000001E2B1E235223 53230000000000000000000000000000 00000000000000000000000000000000 00001E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000040034103 A407A5070E2300000000000000009007 91070000000000000000000000000000 000000000000000000000E2B0E230000 00000000800781070000000000000000 00000000000000000000000000000000 00000E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000050035103 B407B5071E2300000000000000000000 00000000000000000000000000000000 0000810F800F000000001E2B1E230000 00000000900791070000000000000000 00000000000000000000000000000000 00001E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000E2300000000000000000000 00000000000000000000000000000000 0000910F900F000000000E2B0E230000 00000000000000000000000000000000 00000000000000000000000000000000 00000E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000001E230020911F901F00000000 00000000000000000000000000000000 000000000000000000001E2B1E230000 00000000000000000000000000000000 00000000000000000000901791170000 00001E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000E230020811F801F00000000 00000000000000000000000000000000 000000000000000000000E2B0E230000 00000000000000000000000000000000 00000000000000000000801781170000 00200E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000001E2300200000000000000000 00000000000000000000000000000000 000000000000000000001E2B1E230000 00000000000000000000000000000000 00000000000000000000000000000000 00201E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000E2300200000000000000000 00000000000000000000000000000000 000000000000000000000E2B0E230000 00000000000000000000000000000000 00000000000000000000000000000000 00000E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000001E2386258725000000000000 00000000963A96329732973A00000000 000000000000862587251E2B1E238625 87250000000000000000000000009632 97320000000000000000000000008625 87251E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000E231B251C25000000000000 00000B220C220C220C220C220B2A0000 0000000000001B251C250E2B0E231B25 1C2500000000000000000D2A00000D2A 0D2A00000D2A00000000000000001B25 1C250E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000001E232C2A2B2A000000000000 00000020000000000000000000000000 0000000000002B222C221E2B1E232C2A 2B2A0000000000000000000000000000 00000000000000000000000000002B22 2C221E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000E230C220C220B2A00000000 00009732963200200000963A973A0000 000000000B220C220C220E2B0E230C2A 0C2A0C2A0B2A0020973A963A97320000 0000973A963A973200000B220C2A0C2A 0C2A0E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000001E230F2B1F2B0F2B0C220C22 0C220C220C22A006A0060C220C220C22 0C220C220F2B1F2B0F2B1E2B1E230D22 0D220D220D220D220D220D220D22A006 A0060D220D220D220D220D220D220D22 0D221E2B000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000008007810700000000090B 00000000000000000000000000000000 00000000160C150C0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000090079107000000000000 00000000000000000000000000000000 00000000260C250C0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000048014901 4A014B014C014D014E014F0168016901 68016901000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000058015901 5A015B015C015D015E015F0178017901 78017901000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 6A016B016C016D016E016F014E014F01 000000000903911F901F000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000A030000000000000000 7A017B017C017D017E017F015E015F01 000000000000811F801F000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000190400000000 00000903000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000A03 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00001400000000000000000000000704 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00001101000000000000000000008605 87050000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000001B05 1C050000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000002B02 2C020000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000C020C020C020C020C020C02 0C020C020C020C020C020C020C020C02 0C020C020C020C020C020C0200000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000 #15:MAIN SOUND 28003068000000001800009C103A0000 18006166000400002800303019FE0000 38002020020000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 80010740028308408406404003854040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 270FE9000000FF0F00270F002A0F00FF 0F00270F00290F00FF0000270F00250F 00000000270F00000000FF0000270F00 2A0F00FF0000270F00290F00FF000027 0F00250F00000000220F00000000FF00 00220F00240F00FF0000220F00250F00 2C2F00000000FF000000000000000000 00000000000000000000000000000000 000000002C2F00000000FF0000000000 00000000000000000000000000000000 0000000000000000272F00000000FF00 00000000000000000000000000000000 FF0000220F002A0F000000F000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000EA272F0000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 271FEA000000000000271F0000000000 0000000000000000000000271F000000 00000000271F00000000000000271F00 00000000000000000000000000000027 1F00000000000000221F000000000000 00221F00000000000000000000000000 0000EA270F002F0F000000F000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 2C0FEA0000000000002C0F00300F002C 0F002E0F002C0F000000002C0F002A0F 000000002C0F000000000000002C0F00 300F002C0F002E0F002C0F000000002C 0F002A0F00000000270F000000000000 00270F002A0F00270F00290F00270F00 264F00000000000000264F00264F0000 0000264F00264F00000000264F00264F 00000000264F00000000000000264F00 264F00000000264F00264F0000000026 4F00264F00000000264F000000000000 00264F00264F00000000264F00264F00 000000264F00264F0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000