'TITLE:   LOWRES GALAXY 2
'AUTHOR:  TIMO KLOSS

RANDOMIZE TIMER

' SPRITES
' 0 PLAYER SHIP
' 1 JET
' 2-9 PLAYER BULLETS
' 10-25 ALIENS
' 26-29 EXPLOSIONS
' 30-39 ALIEN BULLETS

'POINTS FOR ALIENS
DIM GLOBAL POINTS(4)
DATA 0,10,20,400,600
FOR I=0 TO 4
  READ POINTS(I)
NEXT I

'ALIENS
DIM GLOBAL ALIENS(15,5)
' 0 TYPE (0=DISABLED)
' 1 TICK
' 2 START Y
' 3 HITS
' 4 AMPLITUDE
' 5 SPEED

'ALIEN BULLETS
DIM GLOBAL ABULLETS(9,3)
' 0 X
' 1 Y
' 2 X VECTOR
' 3 Y VECTOR

'EXPLOSION TICKS
DIM GLOBAL EXPLOSIONS(3)

GLOBAL HIGHSCORE
GLOBAL TICK,BGTICK
GLOBAL LEVEL,SCORE,LIVES
GLOBAL PX,PY
GLOBAL SHIELD,HIDE,PEACE
GLOBAL SHDELAY,HEAT,BULLET
GLOBAL EXPLOSION
GLOBAL ALIEN,ABULLET
GLOBAL MSGTIMER

FONT 128

CALL DRAWGAMEBG
ON RASTER CALL RASTERFX

GAMEPAD 1

'READ FROM PERSISTENT RAM
HIGHSCORE=PEEKL($E000)


TITLE:

TICK=0

SPRITE OFF
CALL DRAWTITLE
SOUND SOURCE ROM(15)
MUSIC 0
REPEAT
  INC BGTICK
  IF TICK MOD 240=0 THEN
    CALL SHOWMSG("PRESS ANY BUTTON")
  ELSE IF TICK MOD 240=120 THEN
    CALL SHOWMSG("HIGHSCORE: "+STR$(HIGHSCORE))
  END IF
  INC TICK
  WAIT VBL
UNTIL BUTTON TAP(0)
STOP


GAME:

'INIT PLAYER SPRITES
SPRITE 0 PAL 4 SIZE 1
SPRITE 1 PAL 5
FOR I=2 TO 9
  SPRITE I PAL 5
NEXT I

'INIT VARIABLES
LIVES=5
SCORE=0
LEVEL=0
PX=32
PY=48
SHIELD=120
HIDE=0
PEACE=0
SHDELAY=0
HEAT=0
TICK=0
BULLET=0
ALIEN=0

FOR I=0 TO 15
  ALIENS(I,0)=0
NEXT I
FOR I=0 TO 9
  ABULLETS(I,0)=-32
NEXT I

CALL CLEAROVERLAYS
CALL DRAWHUD

CALL RESETSOUND
SOUND SOURCE ROM(15)
MUSIC 8
SOUND SOURCE ROM(14)

'GAME LOOP
DO
  'NEXT LEVEL?
  IF LIVES>0 AND TICK MOD 1800=0 THEN
    INC LEVEL
    CALL SHOWMSG("LEVEL "+STR$(LEVEL))
    IF LEVEL>=2 THEN
      CALL ADDSCORE(LEVEL*100)
      TRACK 0,3
    END IF
  END IF

  IF PEACE>0 THEN
    'DO NOT SPAWN ALIENS
    DEC PEACE
  ELSE
    'SPAWN SMALL ALIEN?
    M=480/(LEVEL+3)
    IF TICK MOD M=0 THEN
      CALL SPAWNALIEN(1+RND(1))
    END IF
 
    'SPAWN BIG ALIEN?
    M=5400/(LEVEL+2)
    IF TICK MOD M=M\2 THEN
      CALL SPAWNALIEN(3+RND(1))
    END IF
  END IF
 
  CALL UPDALIENS
  CALL UPDBULLETS
  CALL UPDALIENBULLETS

  IF LIVES>0 THEN
    CALL UPDPLAYER
  ELSE
    'GAME OVER
    IF MSGTIMER>0 THEN
      DEC MSGTIMER
    ELSE
      IF BUTTON TAP(0) THEN GOTO TITLE
    END IF
  END IF

  CALL UPDEXPLOSIONS
  CALL UPDMSG
 
  INC TICK
  INC BGTICK

  WAIT VBL
LOOP

SUB ADDSCORE(P)
  ADD SCORE,P
  CALL DRAWHUD
END SUB

SUB UPDPLAYER
  IF HIDE>0 THEN
    DEC HIDE
    SPRITE OFF 0 TO 1
    EXIT SUB
  END IF

  'PLAYER CONTROL
  IF UP(0) AND PY>0 THEN DEC PY
  IF DOWN(0) AND PY<112 THEN INC PY
  IF LEFT(0) AND PX>8 THEN DEC PX
  IF RIGHT(0) AND PX<128 THEN INC PX

  'PLAYER SPRITE
  IF SHIELD>0 AND SHIELD MOD 4<2 THEN
    SPRITE OFF 0 TO 1
  ELSE
    SPRITE 0,PX,PY,1
    SPRITE 1,PX-8,PY+5,19+INT((TICK MOD 16)/8)
  END IF

  'SHOOT?
  SHDELAY=SHDELAY-1
  IF BUTTON(0) THEN
    IF SHDELAY<=0 THEN
      SPRITE BULLET+2,PX+8,PY+11,3
      BULLET=(BULLET+1) MOD 8
      PLAY 2,50+RND*2 SOUND 0
      HEAT=HEAT+1
      IF HEAT>=5 THEN
        SHDELAY=30
        HEAT=0
      ELSE
        SHDELAY=8
      END IF
    END IF
  ELSE
    HEAT=0
  END IF

  IF SHIELD>0 THEN
    DEC SHIELD
  ELSE

    'PLAYER HIT BY BULLET?
    IF SPRITE HIT(0,30 TO 39) THEN
      SPRITE OFF HIT
      ABULLETS(HIT-30,0)=-32
      CALL LOSESHIP
    END IF

    'COLLISION WITH ALIEN?
    IF SPRITE HIT(0,10 TO 25) THEN
      CALL LOSESHIP
    END IF

  END IF
END SUB

SUB LOSESHIP
  DEC LIVES
  CALL DRAWHUD
  SPRITE OFF 0 TO 1
  PLAY 2,30 SOUND 4
  CALL EXPLODE(PX,PY,0)
  CALL EXPLODE(PX-8+RND*16,PY-8+RND*16,10)
  CALL EXPLODE(PX-8+RND*16,PY-8+RND*16,30)
  IF LIVES=0 THEN
    CALL DRAWGAMEOVER
    IF SCORE>HIGHSCORE THEN
      HIGHSCORE=SCORE
      CALL SHOWMSG("NEW HIGHSCORE!")
      'WRITE TO PERSISTENT RAM
      POKEL $E000,HIGHSCORE
    ELSE
      CALL SHOWMSG("HIGHSCORE: "+STR$(HIGHSCORE))
    END IF
    SOUND SOURCE ROM(15)
    MUSIC 32
    SOUND SOURCE ROM(14)
    MSGTIMER=100
  ELSE
    HIDE=120
    SHIELD=120
    PEACE=180
  END IF
END SUB

SUB UPDBULLETS
  FOR I=2 TO 9
    IF SPRITE.X(I)>=0 THEN
      SPRITE I,SPRITE.X(I)+3,,
      IF SPRITE.X(I)>160 THEN SPRITE OFF I
    END IF
  NEXT I
END SUB

SUB SPAWNALIEN(TYPE)
  I=ALIEN
  IF ALIENS(I,0)>0 THEN EXIT SUB
  ALIENS(I,0)=TYPE
  ALIENS(I,1)=0
  ALIENS(I,2)=16+RND*80
  IF TYPE=1 THEN
    ALIENS(I,3)=1
    ALIENS(I,4)=RND*12
    ALIENS(I,5)=0.5
  ELSE IF TYPE=2 THEN
    ALIENS(I,3)=1
    ALIENS(I,4)=RND*20
    ALIENS(I,5)=0.35
  ELSE IF TYPE=3 THEN
    ALIENS(I,3)=4
    ALIENS(I,4)=RND*32
    ALIENS(I,5)=0.25
  ELSE IF TYPE=4 THEN
    ALIENS(I,3)=8
    ALIENS(I,4)=RND*40
    ALIENS(I,5)=0.15
  END IF
  ALIEN=(ALIEN+1) MOD 16
END SUB

SUB UPDALIENS
  FOR I=0 TO 15
    IF ALIENS(I,0)>0 THEN
      CALL UPDALIEN(I)
    END IF
  NEXT I
END SUB

SUB UPDALIEN(I)
  TYPE=ALIENS(I,0)
  N=10+I
  ALIENS(I,1)=ALIENS(I,1)+1
  T=ALIENS(I,1)
  X=160-T*ALIENS(I,5)
  X=X-SIN(T*0.03)*24
 
  'STILL ON SCREEN?
  IF X>-32 THEN
  
    'UPDATE SPRITE
    Y=ALIENS(I,2)
    AY=ALIENS(I,4)
    IF TYPE MOD 2=0 THEN P=6 ELSE P=7
    IF TYPE<=2 THEN
      S=0
      C=10+INT((T MOD 24)/12)
      Y=Y+SIN(T/20)*AY
    ELSE
      S=1
      C=6+INT((T MOD 32)/16)*2
      Y=Y+SIN(T/60)*AY
    END IF
    SPRITE N PAL P SIZE S
    SPRITE N,X,Y,C

    'HIT BY BULLET?
    IF SPRITE HIT(N,2 TO 9) THEN
      SPRITE OFF HIT
      SPRITE N PAL 3
      ALIENS(I,3)=ALIENS(I,3)-1
      IF ALIENS(I,3)=0 THEN
        CALL ADDSCORE(POINTS(TYPE))
        SPRITE OFF N
        ALIENS(I,0)=0
        IF S=0 THEN
          CALL EXPLODE(X-4,Y-4,0)
        ELSE
          CALL EXPLODE(X,Y,0)
        END IF
        IF TYPE>=3 THEN PLAY 3,40 SOUND 5
      ELSE
        PLAY 3,45 SOUND 2
      END IF
    END IF
  
    'SHOOT?
    IF PEACE=0 AND X>50 AND T MOD 120=30 THEN
      CALL ALIENSHOOT(X+4,Y+4)
    END IF
 
  ELSE
    'OUT OF SCREEN, RESET
    SPRITE OFF N
    ALIENS(I,0)=0
  END IF
END SUB

SUB ALIENSHOOT(X,Y)
  I=ABULLET
  IF ABULLETS(I,0)>-32 THEN EXIT SUB
  N=I+30
  PLAY 3,45+RND*2 SOUND 1
  SPRITE N,X,Y,4
  SPRITE N PAL 3
  ABULLETS(I,0)=X
  ABULLETS(I,1)=Y
  U=PX+6-X
  V=PY+6-Y
  W=SQR(U*U+V*V)
  ABULLETS(I,2)=U/W
  ABULLETS(I,3)=V/W
  ABULLET=(ABULLET+1) MOD 3
END SUB

SUB UPDALIENBULLETS
  FOR I=0 TO 9
    N=I+30
    X=ABULLETS(I,0)
    Y=ABULLETS(I,1)
    X=X+ABULLETS(I,2)
    Y=Y+ABULLETS(I,3)
    IF X>=-8 AND X<160 AND Y>=-8 AND Y<128 THEN
      ABULLETS(I,0)=X
      ABULLETS(I,1)=Y
      SPRITE N,X,Y,
    ELSE
      ABULLETS(I,0)=-32
      SPRITE OFF N
    END IF
  NEXT I
END SUB

SUB EXPLODE(X,Y,DELAY)
  N=EXPLOSION+40
  SPRITE N PAL 5 SIZE 0
  SPRITE N,X,Y,0
  EXPLOSIONS(EXPLOSION)=20+DELAY
  EXPLOSION=(EXPLOSION+1) MOD 4
END SUB

SUB UPDEXPLOSIONS
  FOR I=0 TO 3
    T=EXPLOSIONS(I)
    IF T>0 THEN
      IF T<=20 THEN
        N=I+40
        SPRITE N SIZE 1
        SPRITE N,,,32+((20-T)\5)*2
        IF T=20 THEN PLAY 3,25+RND*5 SOUND 3
      END IF
      DEC T
      IF T=0 THEN SPRITE OFF N
      EXPLOSIONS(I)=T
    END IF
  NEXT I
END SUB

SUB DRAWHUD
  BG 0
  PAL 4
  PRIO 1
  BG FILL 0,0 TO 4,0 CHAR 0
  FOR I=0 TO LIVES-1
    CELL I,0,5
  NEXT I
  PAL 0
  NUMBER 15,0,SCORE,5
END SUB

SUB DRAWGAMEBG
  BG SOURCE ROM(3)
  BG 0
  BG COPY 0,0,32,16 TO 0,0
  BG 1
  BG COPY 0,16,32,16 TO 0,0
END SUB

SUB DRAWTITLE
  BG 0
  BG FILL 0,0 TO 19,6 CHAR 0
  BG SOURCE ROM(4)
  BG COPY 0,0,20,6 TO 4,1
END SUB

SUB DRAWGAMEOVER
  BG 0
  BG SOURCE ROM(4)
  BG COPY 0,7,8,2 TO 1,5
  BG COPY 9,7,8,2 TO 11,5
END SUB

SUB CLEAROVERLAYS
  BG 0
  BG FILL 0,0 TO 19,6 CHAR 0
  BG 1
  BG FILL 0,11 TO 19,11 CHAR 0
END SUB

SUB SHOWMSG(MSG$)
  BG 1
  PAL 0
  PRIO 1
  L=LEN(MSG$)
  BG FILL 0,11 TO 19,11 CHAR 0
  TEXT (20-L)/2,11,MSG$
  MSGTIMER=120
END SUB

SUB UPDMSG
  IF MSGTIMER>0 THEN
    DEC MSGTIMER
    IF MSGTIMER=0 THEN
      BG 1
      BG FILL 0,11 TO 19,11 CHAR 0
    END IF
  END IF
END SUB

SUB RESETSOUND
  STOP
  FOR I=0 TO 3
    VOLUME I,15,%11
  NEXT I
END SUB

SUB RASTERFX
  'STARS AND FOREGROUND HILLS
  IF RASTER=0 THEN
    SCROLL 1,BGTICK/6,0
  ELSE IF RASTER=88 THEN
    SCROLL 1,0,0
  ELSE IF RASTER=96 THEN
    SCROLL 1,BGTICK,0
  END IF

  'STATUS BAR AND PLANET SURFACE
  IF RASTER=0 THEN
    SCROLL 0,0,0
  ELSE IF RASTER=58 THEN
    SCROLL 0,BGTICK*0.5,0
  ELSE IF RASTER=80 THEN
    SCROLL 0,BGTICK*5/8,0
  ELSE IF RASTER=96 THEN
    SCROLL 0,BGTICK*6/8,0
  ELSE IF RASTER=112 THEN
    SCROLL 0,BGTICK*7/8,0
  END IF
END SUB


#1:MAIN PALETTES
003F1B0500261101003B2612003F3E39
001F2A15003C3006003F3121003F1612

#2:MAIN CHARACTERS
00000000000000000000000000000000
000040600078FF54000040607078FFFF
000000000000FC02000000000000FCFE
04E733040000000006F83C0600000000
60F0F060000000006090906000000000
406070821E764040406070FEF0766040
00041030400C8E0E00071F2F7F73F5F5
002008040260E1E000E0F8FCFE9E5F5F
041028400C8E0E06071F377F73F5F5F9
2008040260E1E0C0E0F8FCFE9E5F5F3F
0042816600006642007EFFBDFFFF6642
42816666000066247EFFBDBDFF7E6624
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
A8FF007802604000FFFF7C787C604000
7FBDFA7C00000000FFC3867C00000000
100409A30904100010060EBC0E061000
40120413041240004012071C07124000
00000000000000000000000000000000
040080403C383018FBFFFF7F3C383018
400001023C1C0C18BFFFFFFE3C1C0C18
800040203C1C0E02FF7F7F3F3C1C0E02
010002043C387040FFFEFEFC3C387040
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
000001070F1F1F3F0000010608101020
000080E0F0F8F8FC0000806010080804
071F3F7F7FFFFFFF0610204000808000
E0F8FCFEFEFFFFFF6008040200010100
071F3F7C78F1E2E404102043078F1E1C
E0F81C02780102002008E4FEFE030301
020816285020A000030F1E387060E0C0
4010280400000000C0F0380400000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
3F1F1F0F070100002010100806010000
FCF8F8F0E08000000408081060800000
FFFFFF7F7F3F1F070080800040201006
FFFFFFFEFEFCF8E00001010002040860
C0C8C86868301A043838B81858281607
00000000000000000000000000000000
0080204020100000C0C0606020100000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00400000000002000000000000000200
00000000000000000000020000000000
000008002A0008000000080836080800
1F604080868C8C8C001F3F7F7E7C7C7C
6018180C0C000000E0F8F8FCFC000000
1F604080868C8C8C001F3F7F7F7C7C7C
6018180C0C0C8C8CE0F8F8FCFCFC7C7C
EC8C8C8C8C8C8C8C1C7C7C7C7C7C7C7C
00000000000000000000000000000000
EC8C8C8C4C4700001C7C7C7C3C3E3F1F
EC8C8C8C981830601C7C7C7C78F8F0E0
00000000000000000000000000000000
00000000000000000000000000000000
FF80800003232323007F7FFF3F1F1F1F
FE0000000323232301FFFFFF3F1F1F1F
C0C0C0C000000000C0C0C0C000000000
00000000000000000000100000000000
00000000000004000000000000000400
00483030480000000078484878000000
8C8C8C86030000017C7C7C7EFC7F7F1F
EC8C8C8C0C0C0C0C1C7C7C7CFCFCFCFC
878080808C8C8C0C787F7F7F7C7C7CFC
8C0C0C0C8C8C8C8C7CFCFCFC7C7C7C7C
8C8C8C8C878080007C7C7C7C787F7FFF
00000000EC0C0C1C000000001CFCFCFC
2046468C8C8C8C0C1F3F3F7C7C7C7CFC
3018180C0C8C8C0CF0F8F8FCFC7C7CFC
0808080808080800070707070707070F
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
23232323E18080001F1F1F1F1E7F7FFF
23232323E00000001F1F1F1F1FFFFFFF
00000000C0C0C0C000000000C0C0C0C0
0000000000000000FFFFFFFFFFFFFFFF
00007EC3C37E0000FFFFFFFCFC81FFFF
00000000000000000000000000000000
000000000000082200000000001876DF
00000000000000000000000000000000
B0988C878280808070787C7E7D7F7F7F
2C4C8C0C0C0C0C0C1C3C7CFCFCFCFCFC
FF8080808C8C8680007F7F7F7C7C797F
EC0C0C0C0000C0C01CFCFCFC0000C0C0
8C8C8C07020000007C7C7CFE7D3F1F0F
8C8C8C0C183060C07C7C7CFCF8F0E0C0
FF8080808C8C8C8D007F7F7F7D7C7C7C
6018180C0C0C0C0CE0F8F8FCFCFCFCFC
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
0000000038443800FFFFFFFFFFFBC7FF
00001C0E00000000FFFFFFF1FFFFFFFF
000001040102164C0103060B1E3D69B3
0000000000000000FFFFFFFFFFFFFFFF
00804060B010280480C0E0F0F8FCFEFF
898C8C8C8C8C8C0C7F7C7C7C7C7C7CFC
8C8C8C8C8C8C8C0C7C7C7C7C7C7C7CFC
80808C8C878080007F7F7C7C787F7FFF
C0C00000EC0C0C0CC0C000001CFCFCFC
8C8C8C87020000007C7C7C7EFD7F7F1F
8C8C8C0C0C1818607C7C7CFCFCF8F8E0
868080808C8C8C0C797F7F7F7F7D7CFC
18186030180C0C0CF8F8E0F0F8FCFCFC
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00181818180018000000000000000000
006C6C24000000000000000000000000
00247E24247E24000000000000000000
00083E380E3E08000000000000000000
00626408102646000000000000000000
001C34386E643A000000000000000000
00181830000000000000000000000000
000C183030180C000000000000000000
0030180C0C1830000000000000000000
000024187E1824000000000000000000
000018187E1818000000000000000000
00000000181830000000000000000000
000000007E0000000000000000000000
00000000001818000000000000000000
00060C18306040000000000000000000
003C666E76663C000000000000000000
0018381818187E000000000000000000
003C660C18307E000000000000000000
003C660C06663C000000000000000000
0066667E060606000000000000000000
007E607C06067C000000000000000000
001C307C66663C000000000000000000
007E060C183030000000000000000000
003C663C66663C000000000000000000
003C663E06663C000000000000000000
00000018001800000000000000000000
00000018001830000000000000000000
00000C1830180C000000000000000000
0000007E007E00000000000000000000
000030180C1830000000000000000000
003C660C180018000000000000000000
003C666E6E603C000000000000000000
00183C667E6666000000000000000000
007C667C66667C000000000000000000
003C666060663C000000000000000000
00786C66666C78000000000000000000
007E607860607E000000000000000000
007E6078606060000000000000000000
003C606E66663C000000000000000000
0066667E666666000000000000000000
003C181818183C000000000000000000
001E060606663C000000000000000000
00666C78786C66000000000000000000
0060606060607E000000000000000000
0042667E7E6666000000000000000000
0066767E6E6666000000000000000000
003C666666663C000000000000000000
007C667C606060000000000000000000
003C66666A6C3E000000000000000000
007C667C786C66000000000000000000
003E603C06067C000000000000000000
007E1818181818000000000000000000
0066666666663C000000000000000000
00666666663C18000000000000000000
0066667E7E6642000000000000000000
00663C183C6666000000000000000000
0066663C181818000000000000000000
007E0C1830607E000000000000000000
003C303030303C000000000000000000
006030180C0602000000000000000000
003C0C0C0C0C3C000000000000000000
00183C66000000000000000000000000
0000000000007E000000000000000000

#3:MAIN BG
00002020000000000000002100210021
00210000002100210021000000000000
00000021002100210021002100000021
00210000000000210021002100210021
00210021000000000000002100210000
00210000002100210021000000000000
00000021002100210000002100000021
00000021000000000021002100210021
00210021002100000000000000210021
00210021002100210021000000210000
00210021002100000021002100000021
00210021002100000000002100000021
00000021000000210000000000000000
00000000002100210021000000000021
00000021000000000021002100000000
00000000000000000021002100210000
00210021000000000000002100210021
00210021000000210021002100000021
00210021000000210021002100000021
00210021002100000021002100210000
00000000000000000000002100210021
00210000002100210021002100210021
00210000000000210021002100000021
00210021002100000000002100210021
00000000002100210021000000000021
00210021000000000021002100210021
00000000002100210021002100000021
00210021002100210000002100210021
00210021002100210021002100210021
00210021002100216201630164010021
00210021000000210021002100210021
00006201630164010021002100210021
00210001000100016201630164010001
62010001640163017201730174010001
00016201630164010021002100010001
63017201730174016301002100216201
63016401630163017201730174016301
63016301720173017301730173017401
63017201730174016301630163017201
73017301730173017301740163017201
73017401600160016001600160016001
60016001710160017301730173016001
60016001710160016001600160016001
71016001600160016001600160016001
60016001700160016001710170017101
70016001710160017001600170017101
70016001600171016001600160017101
60016001710160016001710160016001
71016001600160016001710160016001
60016001600160016001600160016001
60017001610160016001710170016001
60016001700160016001600160016001
60016001700171016001600160017001
60016101700171016001600170016001
60016001700160017101600160016001
61016001600170016001710170017101
70017101600160017001600160016001
60017001600160016001610160017001
60016101600160016001700160017101
60016001600161016001700160016001
60016101700160016001610160017001
60016001600170016001600160017101
70017101600171017001710170016001
70017101700160016001600161016001
70017101400041000000000000000000
51000000000000005000000000000000
50000000000000000000000000000000
00000000000000000000500000000000
40004100500051000000400041000000
00000000000000000000510000000000
00005100000000004000410000000000
00004000410000000000000000000000
50004200000051000000500051000000
50000000420041000000000040004100
00000000510000005000510000000000
00005000510000000000400041000000
00000000000000000000000051000000
51000000500051005000000050005100
00005100000000000000000000000000
00000000000000005100500051000000
51000000000040004100000000000000
00000000000000000000000000000000
00004200000041000000000000005100
40004100000000005201000000000000
00000000000050005100500000004000
50000000000040004100410000000000
00000000510000000000500000000000
50005100000000000000400041000000
00000000000000005000000000005000
51000000000050005100000000004000
50000000500000005100000000005000
00000000000051000000500051000000
00000000000000005000410000000000
00004000410000000000000000005000
51000000000000000000000051000000
00005100000050000000000000004000
41000000500000005000420000005100
62010001640100005201510000005100
50005100000040004100000000004200
00000000000000000000510000005000
51000000510000000000000062016201
00010001000100005100000000000000
00000000000050005100000051000000
50000000000000005100000051000000
00000000400062016201620100010001
00010001500000000000000062220002
64225100000051000000000000000000
00000000400041000000000000000000
00000000500000010001000100010001
41000000000000010001000100020002
64020001000100010001000100010001
00010001000100010001000100010001
00010000000000000000000000000001
00210020002000220002002200226322
00220002000000000000000100010001
00010001000000000000000100010001
00010000000000006221632264220020
00000002000262020002002272227322
74220022000200016222632264220000
00000000000000000000000062226322
64010000000000027222732274220020
00210022000200226322722270227322
73227422002200027222732274226322
63226402000062026322632272227322
74220022002272227322712273227422
00220002002272227322732273226122
73227122742272227322732273227322
73227422002072227322732271227322
73227422

#4:OVERLAY BG
00001410000000000000AC20AF20B720
B220A520B32000000000000000000000
00000000000000000000000043204420
45204620472048204520462049204A20
49204A20000000000000000000000000
00000000532054205520562057205820
5520562059205A205B205C2000000000
00000000000000000000000000000000
00000000000200020002000200000000
00000000000000000000000000000000
00000000000000000000000200024D22
4E224F22000000000000000000000000
00000000000000000000000000000000
0000000000025D225E225F2200000000
00000000000000000000000000000000
00000000000000000000000000020000
00000000000000000000000000000000
00000000000000000000000043254425
45254625652566256725682580254525
462547254725672568256B256C250000
00000000532554255525562575257625
77257825002579257A2569256A257725
78257B257C2500000000000000000005
00050000000000000000000000000000
00000005000500250025000500050005
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000

#14:SFX
5801505019FC00005801506019FB0000
4801004F19FF00007806007F01FE0000
780A04AF19FD00007805027F19FD0000
0800505012FF00000800000F00000000
0800000F000000000800000F00000000
0800000F000000000800000F00000000
0800000F000000000800000F00000000
0800000F000000000800000F00000000
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
296FE6306F00356F002A6F00316F0036
6F002C6F00336F00386F00FF00000000
E0000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000

#15:MAIN SOUND
230030AA0004A0002800606019000000
22006060000250002800303019FE0000
38002020000000003800606000000000
21004068120B30002400418A10372000
0800000F000000000800000F00000000
0800000F000000000800000F00000000
0800000F000000000800000F00000000
0800000F000000000800000F00000000
800103180002041A000103180002041A
000116180002171A000116180082171A
85064040050B4040090A4040090C4040
05064040050B40400D0E40400D0F4040
11104040111040401314404013144040
13154040139540404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
87884040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
40404040404040404040404040404040
193F00000000193F00000000315F0019
3F00000000193F00000000554500193F
00000000315F00000000000000000000
193F00000000193F00000000315F0019
3F00000000193F00000000000000193F
00554500315F00000000554500554800
1D0F0000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
1B0F0000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
190F0000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
1B0F0000000000000000000000000000
00000000000000000000000000000000
00000000180F00000000000000000000
356F00000000356F00000000386F0000
0000356F00000000000000000000386F
00000000FF0000000000356F00000000
3C6F000000000000000000003A6F0000
0000386F000000000000000000003A6F
00000000000000FF0000000000000000
3D6F000000000000000000003C6F0000
00003A6F00000000FF0000000000356F
00000000000000000000FF0000000000
386F00000000386F000000003A6F0000
0000386F00000000000000000000376F
00000000000000000000FF0000000000
1B2FE81B2F000000001B2F001C2F0000
00001B2F001B2F00000000202F001B2F
001B2F001E2F001B2F001C2F001B2F00
1B2F001B2F000000001B2F001C2F0000
00001B2F001B2F00000000202F001B2F
001B2F001E2F001B2F001C2F001B2F00
337800000000000000FF000000000000
00002E7800000000000000FF00000000
00000000337800000000000000000000
31780000000030780000000000000000
00002E7800000000000000FF00000000
000000002C7800000000000000000000
190F0000000000000000000000000000
0000000000000000FF00000000000000
00000000000000000000000000000000
190F0000000000000000000000000000
0000000000000000FF00000000000000
00000000000000000000000000000000
4278003F78003A78003678003378002E
78002A7800277800FF00000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
1E2F001E2F001E2F00000000192F0000
0000192F001E2F000000001F2F000000
001F2F000000001F2F000000001F2F00
1E2F001E2F001E2F00000000192F0000
0000192F001E2F000000001F2F000000
001F2F000000001F2F001A2F001C2F00
36780000000000000037780000000000
00003678000000000000003778000000
00000000367800000000FF0000000000
2A78000000000000002B780000000000
00002C78000000000000002D78000000
000000002E78000000002F7800000000
2E7800000000000000FF000000000000
00002A7800000000000000FF00000000
00000000257800000000000000000000
277800000000000000000000FF000000
00000000002C78000000000000002D78
00000000317800000000FF0000000000
36780000000000000037780000000000
00003678000000000000003778000000
00000000367800000000FF0000000000
2A78000000000000002B780000000000
00003078000000000000002F78000000
000000002E78000000002D7800000000
1E2F00000000192F000000001E2F0000
0000192F001C2F000000001C2F001B2F
00000000192F00000000172F00000000
152F00152F00000000172F00172F0000
0000192F00192F000000001C2F001C2F
000000001B2F00000000192F00000000
36780000000000000038780000000000
0000397800000000000000FF00000000
00000000000000000000000000000000
34780000000000000033780000000000
00003178000000000000002F78000000
00000000317800000000FF0000000000
36780000000000000038780000000000
0000397800000000000000000000FF00
00000000000000000000000000000000
2D78000000000000002F780000000000
00003178000000000000003478000000
00000000317800000000FF0000000000
33780000000000000000000000000000
0000000000000000000000FF00000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
1B2F001B2F000000001B2F001C2F0000
00001B2F001B2F00000000202F001B2F
000000001C2F000000001C2F00000000
1B2F001B2F00000000162F00162F0000
0000172F00172F00000000122F00122F
00000000122F00000000122F00000000
1B2F001B2F000000000000001B2F0000
00000000000000001B2F000000000000
000000001B2F00000000000000000000
122F00122F000000000000000F2F0000
00000000000000001B2F000F2F000000
000000001B2F000F2F00000000000000
1B0FD000000000000000000000000000
0000000000000000120F000000000000
00000000000000000000000000000000
190F0000000000000000000000000000
0000000000000000140F000000000000
00000000000000000000FF0000000000
2A7800000000000000000000FF000000
00000000000000002E78000000000000
00000000FF0000000000000000000000
2C780000000000000000000025780000
00000000000000002778000000000000
00000000FF0000000000000000000000
2E7800000000000000000000FF000000
00000000000000003178000000000000
00000000FF0000000000000000000000
3678000000000000000000003A780000
00000000000000003378000000000000
00000000FF0000000000000000000000
416F00000000356F000000003C6F0000
0000416F00000000000000FF00000000
00000000000000000000000000000000
436F00000000376F00000000446F0000
0000466F00000000000000FF00000000
00000000000000000000000000000000
3D6F00000000316F00000000FF000000
00003D6F00000000316F00000000FF00
00000000000000000000000000000000
436F00000000436F00000000446F0000
0000436F000000003F6F000000000000
00FF0000000000000000000000000000
2918012C1A02291C01291C022C1C0129
1C02291A012C18020000000000002918
012C1A02291C01291A022C1801000000
271801301A02271C01271C02301C0127
1C02271A013018020000000000002718
01301A02271C01271A02301801000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
251801291A02251C01251C02291C0125
1C02291A012518020000000000002518
01291A02251C01251A02291801000000
271801271A022C1C01271C022C1C012C
1C02271A012C18020000000000002718
012C1A02271C01271A022C1801000000

