aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRibbonCable <ambiguousmachine@gmail.com>2022-02-19 11:49:30 -0800
committerRibbonCable <ambiguousmachine@gmail.com>2022-02-19 11:49:30 -0800
commit86fdddc12397f45af95cd85729b12f88edd33dc5 (patch)
tree24c2f0246328900cfc8b49a1b85d0f806b9112d8
parent05c10238d59c8e6e1289aa8cae930c3a4c940c53 (diff)
Made a music player. c:
-rw-r--r--labels/musiclabel.p8280
-rw-r--r--labels/musiclabel.pngbin0 -> 2782 bytes
-rw-r--r--music.p888
-rw-r--r--musicplayer/background_music.lua107
-rw-r--r--musicplayer/draw_music.lua29
-rw-r--r--musicplayer/music.p8360
-rw-r--r--musicplayer/objects_music.lua46
-rw-r--r--musicplayer/particles_music.lua29
-rw-r--r--musicplayer/ui_music.lua89
-rw-r--r--musicplayer/update_music.lua13
-rw-r--r--particles.lua4
-rw-r--r--players.lua2
-rw-r--r--ui.lua2
13 files changed, 957 insertions, 92 deletions
diff --git a/labels/musiclabel.p8 b/labels/musiclabel.p8
new file mode 100644
index 0000000..d928ec5
--- /dev/null
+++ b/labels/musiclabel.p8
@@ -0,0 +1,280 @@
+pico-8 cartridge // http://www.pico-8.com
+version 35
+__lua__
+--▶toxic invaders ost cart label◀
+--▶ ribboncable ◀
+
+cls(0)
+pal(15,140,1)
+pal(14,3,1)
+pal(13,133,1)
+pal(11,139,1)
+pal(10,137,1)
+pal(8,136,1)
+pal(4,141,1)
+pal(3,131,1)
+pal(0,130,1)
+
+function _draw()
+spr(0,0,0,16,16)
+end
+
+__gfx__
+00000444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+00004444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+00004444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+00044444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+00044444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+00044444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+00444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+004444444444444444444444444444444444444444444444444444444444444444444444444444444aa4444444444444444aa444444444444444444444444444
+004444444444444444444444444444444444444444444444444444444444444444444444444444444aa4444444444444444aa444444444444444444444444444
+0044444444444444444444444444444444444444444444444444444444444444444444444444444aa99aa444444444444aa99aa4444444444444444444444444
+0044444444444444444444444444444444444444444444444444444444444444444444444444444aa99aa444444444444aa99aa4444444444444444444444444
+00444444444444444444444444444444444444444444444444444444444444444444444444444aa999999aa44444444aa999999aa44444444444444444444444
+00444444444444444444444444444444444444444444444444444444444444444444444444444aa999999aa44444444aa999999aa44444444444444444444444
+004444444444444444444444444444444444444444444444444444444444444444444444444aa9999999999aa4444aa9999999999aa444444444444444444444
+004444444444444444444444444444444444444444444444444444444444444444444444444aa9999999999aa4444aa9999999999aa444444444444444444444
+000444444444444444444444444444444444444444444444444444444444444444444444444aaaa9999999999aaaa9999999999aaaa444444444444444444444
+000444444444444444444444444444444444444444444444444444333333333333333333333aaaa9999999999aaaa9999999999aaaa333333333333344444444
+00004444444444444444444444444444444444444444444444444433333333333333333333333aaaa99999999999999999999aaaa33333333333333344444444
+00004444444444444444444444444444444444444444444444444433bbbbbbbbbb33bbbbbbbb3aaaa99999999999999999999aaaa3bb33bbbbbbbb3344444444
+00000444444444444444444444444444444444444444444444444433bbbbbbbbbb33bbbbbbbb334aaaa9999999999999999aaaa433bb33bbbbbbbb3344444444
+000004444444444444444444444444444444444444444444444444333333bb333333bb3333bb334aaaa9999999999999999aaaa433bb33bb3333333344444444
+000000444444444444444444444444444444444444444444444444333333bb333333bb3333bb33444aaaa9999aaaa9999aaaa44433bb33bb3333333344444444
+004000044444444444444444444444444444444444444444444444333333bb333333bb3333bb33444aaaa9999aaaa9999aaaa44433bb33bb3333333344444444
+000000224444444444444444444444444444444444444444444444333333bb333333bb3333bb3344444aa9999aaaa9999aa4444433bb33bb3333333344444444
+000002222444444444444444444444444444444444444444444444444433ee334433ee3333ee3344444aa9999aaaa9999aa4444433ee33ee3344444444444444
+000002222244444444444444444444444444444444444444444444444433ee334433ee3333ee33444aa9999999999999999aa44433ee33ee3344444444444444
+000002222222444444444444444444444444444444444444444444444433bb334433bb3333bb33444aa9999999999999999aa44433bb33bb3333333344444444
+000022222222222444444444444444444444444444444444444444444433bb334433bb3333bb334aaaaaaaaaaaaaaaaaaaaaaaa433bb33bb3333333344444444
+000022222222222244444444444444444444444444444444444444444433ee334433eeeeeeee334aaaaaaaaaaaaaaaaaaaaaaaa433ee33eeeeeeee3344444444
+000022222222222244444444444444444444444444444444444444444433ee334433eeeeeeee3aa9999999999aaaa9999999999aa3ee33eeeeeeee3344444444
+00002222222222222444444444444444444444444444444444444444443333334433333333333aa9999999999aaaa9999999999aa33333333333333344444444
+000222222222222224444444444444444444444444444444444444444433333344333333333aa9999999999aaaaaaaa9999999999aa333333333333344444444
+000222222222222222444444444444444444444444444444444444444433333344333333333aa9999999999aaaaaaaa9999999999aa333333333333344444444
+000222222222224442244444444444444444444444444444444444444433333344333333333aaaaaaaaaaaaaa4444aaaaaaaaaaaaaa333333333333344444444
+000222222222244444224444444444444444444444444444444444444444444444444444444aaaaaaaaaaaaaa4444aaaaaaaaaaaaaa444444444444444444444
+002222222222444444422444444444444444444444444444444444444444444444444444444aaaaaaaaaaaa44444444aaaaaaaaaaaa444444444444444444444
+00222222222444444444224444444444444444444444444444444444444333334443333444433333aaaa33334443333aaaa33333aaa333344444333344444444
+002222222224444444444224444444444444444444444444444444444443bbb34443bb334443b3b3aaa33bb34443bb334aa3bbb3a443bb3344433bb344444444
+0022222222444444422244224444444444444444444444444444444444433b334443b3b34443b3b3aaa3b3b34443b3b34aa3bb33a443b3b34443b33344444444
+0022222222444444244424422444444444444444444444444444444444433e334443e3e34443eee34443eee34443e3e34443e3334443ee33444333e344444444
+002222222244444444444244224444444444444444444444444444444443eee34443e3e344433e334443e3e34443ee3344433ee34443e3e34443ee3344444444
+00222222224444444444442442244444444444444444444444444444444333334443333344433333444333334443333344433333444333334443333344444444
+00222222224444444444442444222444444444444444444444444444444333334443333344443334444333334443333444443333444333334443333444444444
+00222222222444444444442244422222444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+00222222222444444444422244444222222222444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+00022222222244444444222244444224444422244444444444444444444442222222222222444422222222222222222222222222222222222222224444444444
+00022222222222444442222244444422444442224444444444444444444442999292929992444229922992929299229922999299929992299292924444444444
+00022222222222222222222244444422224442222444444444444444444442292292929222444292229292929292929292292292929292922292924444444444
+000022222222222222222222244444222244442222444444444444444444422a22aaa2aa224442aaa2a2a2a2a2a2a2a2a22a22aa22aaa2a222aa224444444444
+000022222222222222222222244444422444442222244444444444444444442a22a2a2a222444222a2a2a2a2a2a2a2a2a22a22a2a2a2a2a222a2a24444444444
+000022222222222222222222244444444444442222224444444444444444442a22a2a2aaa24442aa22aa222aa2a2a2aaa22a22a2a2a2a22aa2a2a24444444444
+00000222222222222222222222444444444442222222244444444444444444222222222222444222222222222222222222222222222222222222224444444444
+00000222222222222222222222444444444442222222224444444444444444222222222222444222222224222222222222222222222222222222224444444444
+00000022222222222222222222244444444422222222222244444444444444444444444444444444444444444444444444444444444444444444444444444444
+00000022222222222222222222224444444222222222222222444444444444444444444444444444444444444444444444444444444444444444444444444444
+00000002222222222222222222222444422222222222222222222444444444444444444444444444444444444444444444444444444444444444444444444444
+00000000222222222222222222222222222222222222222222222222222224444444444444444444444444444444444444444444444444444444444444444442
+00000000022222222222222222222222222222222222222222222222222244444444444444444444444444444444444444444444444444444444444444444422
+00000000002222222222222222222222222222222222222222222222222244444444444444444444444444444444444444444444444444444444444444444222
+00000000000022222222222222222222222222222222222222222222222444444444444444444444444444444444444444444444444444444444444444442222
+00000000000002222222222222222222222222222222222222222222222444444444444444444444444444444444444444444444444444444444444444422222
+00000000000002222222222222222222222222222222222222222222222444444444444444444444444444444444444444444444444444444444444444222222
+00000000000000222222222222222222222222222222222222222222222444444444444444444444444444444444444444444444444444444444444422222222
+00000444400000222222222222222222222222222222222222222222222444444444444444444444444444444444444444444444444444444444442222222222
+00004400040000222222222222222222222222222222222222222222222444444444444444444444444444444444444444444444444444444444222222222222
+00040444004000222222222222222222222222222222222222222222222244444444444444444444444444444444444444222222224444442222222222222222
+00044404404000222222222222222222222222222222222222222222222244444444444444444444444444444444442222222222222222222222222222222222
+00004044004000022222222222222222222222222222222222222222222224444444444444444444444444444442222224444442222222222222222222222222
+00000000040000022222222222222222222222222222222222222222222222244444442244444444444444442222222244444444222222222222222222222222
+00040000000000022222222222222222222222222222222222222222222222222222222222222444444222222222222444444444422222222222222222222222
+00004044000000002222222222222222222222222222222222222222222222222222224444442222222244422222222444444444442222222222222222222222
+00000000000000002222222222222222222222222222222222222222222222222222244444444444444444444222222444244444442222222222222222222222
+000000000000000022222222222222222222222222222222222222222222222222224444444422222444444444222224444244444422222222222222222223ee
+00000000000000002222222222222222222222222222222222222222222222222222444444424444424444444442222244424444442222222222222222222eee
+00000000000000000222222222222222222222222222222222222222222222222222444444244444442444444444222222224444442222222222222222222eee
+00000000000000000222222222222222222222222222222222222222222222222222444444244444444244444444442222244444442222222222222222220eee
+000040000000000002222222222222222222222222222222222222222222222222224444442444444442444444444444444444444222222222222222222003ee
+00000000000000000222222222222222222222222222222222222222222222222222444444424444444424444444444444444444422222222222222222000000
+00000000000000000022222222222222222222222222222222222222222222222222444444442224444424444444444444444444222222222222222200000000
+00000000000000000022222222222222222222222222222222222222222222222222444444444444444422444444444444444442222222222222222000000000
+00000000000000000002222222222222222222222222222222222222222222222222244444444444444422244444444444444422222222223eee3003eee30000
+0000000000000000000022222222222222222222222222222222222222222222222224444444444444422222244444444444222222222222eeeee00eeeee3eee
+0000000000000000000000222222222222222222222222222222222222222222222222444444444444422222222444444422222222222222eeeee00eeeeeeeee
+0000000000000000000000002222222222222222222222222222222222222222222222244444444444222222222222222222222222222220eeeee00eeeeeeeee
+00000000000000000000000022222222222222222222222222222222222222222222222224444444222222222222222222222222222200003eee3003eeeeeeee
+000000000000000000000000002222222222222222222222222222222222222222222222222222222222222222222222222222222200000000000003eeeeeeee
+00000002222200000000000000222222222222222222222222222222222222222222222222222222222222222222222222222222220000000000000eeeeeeeee
+00000222222222000000000000022222222222222222222222222222222222222222222222222222222222222222222222222222220000000000003eeeeeeeee
+0000222222222220000000000002222222222222222222222222222000000222222222222222222222222222222222220000002222200040000000eeeeeeeeee
+0000222222222222000000000000222222222222222222222222200222200022220002222222222222222222222222002222000222200000000003eeeeeeeeee
+000222222000222200000000000022222222222222222222222202222222000222000000222222222222222222222022222220002220000000000eeeeeeeeeee
+000222220222022220000000000002222222222222222222222202222222200222000000000000022222222222222022222222002220000003300eeeeeeeeeee
+00022222022220222000000000000222222222222222222222220222222220022200000000000000000000222222202222222200222000003ee30eeeeeeeeeee
+00022222022220222200000000000022222222222222222222220220222220022200000000000000000000222222202202222200222000003ee30eeeeeeeeeee
+000222222022202222000000000000022222222222222222222220022222200222000000004040000000002222222200222222002220000003300eeeeeeeeeee
+000222222222220222200000000000002222222222220222222222222222200222000000000000000000002222222222222222002220000000000eeeeeeeeeee
+0002222222222202222000000000000000222222222000222222222222220002200000004004440000000002222222222222200022000000000003eeeeeeeeee
+0000222222222202222000002222000000002222000000222222222222200022200000004044044000000002222222222222000222000000000000eeeeeeeeee
+00002222222222022222000222222000000000000000000222222222220000220000000040444404000000002222222222200002200000000000003eeeeeeeee
+000002222222200222220022222222000000000000000000222222222000022200000000044040040000000002222222220000222000000000000003eeeeeeee
+0000002222220002222220222222220000000000000000000022222000002220000000000000004000000000000222220000022200000000000000000eeeeeee
+000000000000000222222002222022200000000000000000000000000000220000000000004040000000000000000000000002200000003e300000003eeeeeee
+00000000000000002222220022202220000000000000000000000000020000000000000000000000000000000000000000200000000000eee00003eeeeeeeeee
+000000000000000022222220000222200000000000000000000000002220000000000000000000000000400000000000022200000000003e3003eeeeeeeeeeee
+000000000000000002222222222222000000000000000000000000000200000000000000330000000000000000000000002000000000000000eeeeeeeeeeeeee
+000000000000000000222222222222000000000000000000000000000000000000000003ee300000000000000000000000000000000000000eeeeeeeeeeeeeee
+000000000000000000022222222220000000000000000000000000000000000000000003ee30000000000000000000000000000000000000eeeeeeeeeeeeeeee
+0000000000000000000002222222000000000000000000000000000000000003e30000003303ee3000000003ee30000000000000003eee3eeeeeeeeeeeeeeeee
+0000000000000000000000000000000000000004000000033003e3000000000eee000000000eeee00000003eeee300000000000000eeeeeeeeeeeeeeeeeeeeee
+00000000004404000000000000000000000000000000003ee30eee0000000003e300000003eeeee0000000eeeeee00000000000000eeeeeeeeeeeeeeeeeeeeee
+00000000000000400000000000000000000000000000003ee303e3000000000000000003eeeeeeee300000eeeeee00000000000000eeeeeeeeeeeeeeeeeeeeee
+0000000040000000000000000000000000040000000000033000000000000000003eee3eeeeeeeeeee00003eeee3000000000000003eeeeeeeeeeeeeeeeeeeee
+000000040044040000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeee00003ee30000000000000003eeeeeeeeeeeeeeeeeeeee
+000000040440444000000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeee00000000000000003ee300eeeeeeeeeeeeeeeeeeeeee
+000000040044404000000000000000000000000000000000000003eeeee3000000eeeeeeeeeeeeeeeeee300000000000003eeeeee3eeeeeeeeeeeeeeeeeeeeee
+000000004000440000000000000000000000000000000003eeee3eeeeeeee0000eeeeeeeeeeeeeeeeeeee00000003eee33eeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+0000000004444000000000000000000000000000000000eeeeeeeeeeeeeeee33eeeeeeeeeeeeeeeeeeeee3000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+0000000000000000000000000000000000000000000003eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+000400000000000000000030000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee300000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+0000000000000000000003e3000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000003eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+000000000000000000000030000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee30003eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+00000000000000000000300000000000003e300000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+00000000000000000003e3000003eee300eee000000003eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+000000000400000000003000000eeeee003e30000003eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+000000000000000000000000000eeeee0000000003eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+000000000000000000000000000eeeee000000003eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+0000000000000000000000000003eee300000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+0000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
+__label__
+iiiiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttppttttttttttttttttppttttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttppttttttttttttttttppttttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp99ppttttttttttttpp99ppttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp99ppttttttttttttpp99ppttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp999999ppttttttttpp999999ppttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp999999ppttttttttpp999999ppttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp9999999999ppttttpp9999999999ppttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp9999999999ppttttpp9999999999ppttttttttttttttttttttt
+iiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpppp9999999999pppp9999999999ppppttttttttttttttttttttt
+iiitttttttttttttttttttttttttttttttttttttttttttttttttttjjjjjjjjjjjjjjjjjjjjjpppp9999999999pppp9999999999ppppjjjjjjjjjjjjjtttttttt
+iiiittttttttttttttttttttttttttttttttttttttttttttttttttjjjjjjjjjjjjjjjjjjjjjjjpppp99999999999999999999ppppjjjjjjjjjjjjjjjtttttttt
+iiiittttttttttttttttttttttttttttttttttttttttttttttttttjjrrrrrrrrrrjjrrrrrrrrjpppp99999999999999999999ppppjrrjjrrrrrrrrjjtttttttt
+iiiiitttttttttttttttttttttttttttttttttttttttttttttttttjjrrrrrrrrrrjjrrrrrrrrjjtpppp9999999999999999pppptjjrrjjrrrrrrrrjjtttttttt
+iiiiitttttttttttttttttttttttttttttttttttttttttttttttttjjjjjjrrjjjjjjrrjjjjrrjjtpppp9999999999999999pppptjjrrjjrrjjjjjjjjtttttttt
+iiiiiittttttttttttttttttttttttttttttttttttttttttttttttjjjjjjrrjjjjjjrrjjjjrrjjtttpppp9999pppp9999pppptttjjrrjjrrjjjjjjjjtttttttt
+iitiiiitttttttttttttttttttttttttttttttttttttttttttttttjjjjjjrrjjjjjjrrjjjjrrjjtttpppp9999pppp9999pppptttjjrrjjrrjjjjjjjjtttttttt
+iiiiii22ttttttttttttttttttttttttttttttttttttttttttttttjjjjjjrrjjjjjjrrjjjjrrjjtttttpp9999pppp9999pptttttjjrrjjrrjjjjjjjjtttttttt
+iiiii2222tttttttttttttttttttttttttttttttttttttttttttttttttjj33jjttjj33jjjj33jjtttttpp9999pppp9999pptttttjj33jj33jjtttttttttttttt
+iiiii22222ttttttttttttttttttttttttttttttttttttttttttttttttjj33jjttjj33jjjj33jjtttpp9999999999999999pptttjj33jj33jjtttttttttttttt
+iiiii2222222ttttttttttttttttttttttttttttttttttttttttttttttjjrrjjttjjrrjjjjrrjjtttpp9999999999999999pptttjjrrjjrrjjjjjjjjtttttttt
+iiii22222222222tttttttttttttttttttttttttttttttttttttttttttjjrrjjttjjrrjjjjrrjjtpppppppppppppppppppppppptjjrrjjrrjjjjjjjjtttttttt
+iiii222222222222ttttttttttttttttttttttttttttttttttttttttttjj33jjttjj33333333jjtpppppppppppppppppppppppptjj33jj33333333jjtttttttt
+iiii222222222222ttttttttttttttttttttttttttttttttttttttttttjj33jjttjj33333333jpp9999999999pppp9999999999ppj33jj33333333jjtttttttt
+iiii2222222222222tttttttttttttttttttttttttttttttttttttttttjjjjjjttjjjjjjjjjjjpp9999999999pppp9999999999ppjjjjjjjjjjjjjjjtttttttt
+iii22222222222222tttttttttttttttttttttttttttttttttttttttttjjjjjjttjjjjjjjjjpp9999999999pppppppp9999999999ppjjjjjjjjjjjjjtttttttt
+iii222222222222222ttttttttttttttttttttttttttttttttttttttttjjjjjjttjjjjjjjjjpp9999999999pppppppp9999999999ppjjjjjjjjjjjjjtttttttt
+iii22222222222ttt22tttttttttttttttttttttttttttttttttttttttjjjjjjttjjjjjjjjjppppppppppppppttttppppppppppppppjjjjjjjjjjjjjtttttttt
+iii2222222222ttttt22tttttttttttttttttttttttttttttttttttttttttttttttttttttttppppppppppppppttttppppppppppppppttttttttttttttttttttt
+ii2222222222ttttttt22ttttttttttttttttttttttttttttttttttttttttttttttttttttttppppppppppppttttttttppppppppppppttttttttttttttttttttt
+ii222222222ttttttttt22tttttttttttttttttttttttttttttttttttttjjjjjtttjjjjttttjjjjjppppjjjjtttjjjjppppjjjjjpppjjjjtttttjjjjtttttttt
+ii222222222tttttttttt22ttttttttttttttttttttttttttttttttttttjrrrjtttjrrjjtttjrjrjpppjjrrjtttjrrjjtppjrrrjpttjrrjjtttjjrrjtttttttt
+ii22222222ttttttt222tt22tttttttttttttttttttttttttttttttttttjjrjjtttjrjrjtttjrjrjpppjrjrjtttjrjrjtppjrrjjpttjrjrjtttjrjjjtttttttt
+ii22222222tttttt2ttt2tt22ttttttttttttttttttttttttttttttttttjj3jjtttj3j3jtttj333jtttj333jtttj3j3jtttj3jjjtttj33jjtttjjj3jtttttttt
+ii22222222ttttttttttt2tt22tttttttttttttttttttttttttttttttttj333jtttj3j3jtttjj3jjtttj3j3jtttj33jjtttjj33jtttj3j3jtttj33jjtttttttt
+ii22222222tttttttttttt2tt22ttttttttttttttttttttttttttttttttjjjjjtttjjjjjtttjjjjjtttjjjjjtttjjjjjtttjjjjjtttjjjjjtttjjjjjtttttttt
+ii22222222tttttttttttt2ttt222ttttttttttttttttttttttttttttttjjjjjtttjjjjjttttjjjttttjjjjjtttjjjjtttttjjjjtttjjjjjtttjjjjttttttttt
+ii222222222ttttttttttt22ttt22222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+ii222222222tttttttttt222ttttt222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iii222222222tttttttt2222ttttt22ttttt222tttttttttttttttttttttt2222222222222tttt2222222222222222222222222222222222222222tttttttttt
+iii22222222222ttttt22222tttttt22ttttt222ttttttttttttttttttttt2999292929992ttt22992299292929922992299929992999229929292tttttttttt
+iii222222222222222222222tttttt2222ttt2222tttttttttttttttttttt2292292929222ttt29222929292929292929229229292929292229292tttttttttt
+iiii222222222222222222222ttttt2222tttt2222ttttttttttttttttttt22p22ppp2pp22ttt2ppp2p2p2p2p2p2p2p2p22p22pp22ppp2p222pp22tttttttttt
+iiii222222222222222222222tttttt22ttttt22222ttttttttttttttttttt2p22p2p2p222ttt222p2p2p2p2p2p2p2p2p22p22p2p2p2p2p222p2p2tttttttttt
+iiii222222222222222222222ttttttttttttt222222tttttttttttttttttt2p22p2p2ppp2ttt2pp22pp222pp2p2p2ppp22p22p2p2p2p22pp2p2p2tttttttttt
+iiiii222222222222222222222ttttttttttt22222222ttttttttttttttttt222222222222ttt22222222222222222222222222222222222222222tttttttttt
+iiiii222222222222222222222ttttttttttt222222222tttttttttttttttt222222222222ttt22222222t22222222222222222222222222222222tttttttttt
+iiiiii222222222222222222222ttttttttt222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiiii2222222222222222222222ttttttt222222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiiiii2222222222222222222222tttt22222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiiiiii22222222222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt2
+iiiiiiiii222222222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt22
+iiiiiiiiii22222222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt222
+iiiiiiiiiiii22222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt2222
+iiiiiiiiiiiii2222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt22222
+iiiiiiiiiiiii2222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt222222
+iiiiiiiiiiiiii222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt22222222
+iiiiittttiiiii222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt2222222222
+iiiittiiitiiii222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttt222222222222
+iiititttiitiii2222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttttttt22222222tttttt2222222222222222
+iiitttittitiii2222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttt2222222222222222222222222222222222
+iiiitittiitiiii2222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttt222222tttttt2222222222222222222222222
+iiiiiiiiitiiiii222222222222222222222222222222222222222222222222ttttttt22tttttttttttttttt22222222tttttttt222222222222222222222222
+iiitiiiiiiiiiii22222222222222222222222222222222222222222222222222222222222222tttttt222222222222tttttttttt22222222222222222222222
+iiiitittiiiiiiii222222222222222222222222222222222222222222222222222222tttttt22222222ttt22222222ttttttttttt2222222222222222222222
+iiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222222tttttttttttttttttttt222222ttt2ttttttt2222222222222222222222
+iiiiiiiiiiiiiiii2222222222222222222222222222222222222222222222222222tttttttt22222ttttttttt22222tttt2tttttt2222222222222222222j33
+iiiiiiiiiiiiiiii2222222222222222222222222222222222222222222222222222ttttttt2ttttt2ttttttttt22222ttt2tttttt2222222222222222222333
+iiiiiiiiiiiiiiiii222222222222222222222222222222222222222222222222222tttttt2ttttttt2ttttttttt22222222tttttt2222222222222222222333
+iiiiiiiiiiiiiiiii222222222222222222222222222222222222222222222222222tttttt2tttttttt2tttttttttt22222ttttttt222222222222222222i333
+iiiitiiiiiiiiiiii222222222222222222222222222222222222222222222222222tttttt2tttttttt2ttttttttttttttttttttt222222222222222222iij33
+iiiiiiiiiiiiiiiii222222222222222222222222222222222222222222222222222ttttttt2tttttttt2tttttttttttttttttttt22222222222222222iiiiii
+iiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222tttttttt222ttttt2ttttttttttttttttttt2222222222222222iiiiiiii
+iiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222tttttttttttttttt22ttttttttttttttttt2222222222222222iiiiiiiii
+iiiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222ttttttttttttttt222ttttttttttttttt2222222222j333jiij333jiiii
+iiiiiiiiiiiiiiiiiiii2222222222222222222222222222222222222222222222222tttttttttttttt222222ttttttttttt22222222222233333ii33333j333
+iiiiiiiiiiiiiiiiiiiiii222222222222222222222222222222222222222222222222ttttttttttttt22222222ttttttt2222222222222233333ii333333333
+iiiiiiiiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222ttttttttttt22222222222222222222222222222i33333ii333333333
+iiiiiiiiiiiiiiiiiiiiiiii2222222222222222222222222222222222222222222222222ttttttt2222222222222222222222222222iiiij333jiij33333333
+iiiiiiiiiiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222222222222222222222222222222222iiiiiiiiiiiiij33333333
+iiiiiii22222iiiiiiiiiiiiii22222222222222222222222222222222222222222222222222222222222222222222222222222222iiiiiiiiiiiii333333333
+iiiii222222222iiiiiiiiiiiii2222222222222222222222222222222222222222222222222222222222222222222222222222222iiiiiiiiiiiij333333333
+iiii22222222222iiiiiiiiiiii2222222222222222222222222222iiiiii22222222222222222222222222222222222iiiiii22222iiitiiiiiii3333333333
+iiii222222222222iiiiiiiiiiii2222222222222222222222222ii2222iii2222iii2222222222222222222222222ii2222iii2222iiiiiiiiiij3333333333
+iii222222iii2222iiiiiiiiiiii222222222222222222222222i2222222iii222iiiiii222222222222222222222i2222222iii222iiiiiiiiii33333333333
+iii22222i222i2222iiiiiiiiiiii22222222222222222222222i22222222ii222iiiiiiiiiiiii22222222222222i22222222ii222iiiiiijjii33333333333
+iii22222i2222i222iiiiiiiiiiii22222222222222222222222i22222222ii222iiiiiiiiiiiiiiiiiiii2222222i22222222ii222iiiiij33ji33333333333
+iii22222i2222i2222iiiiiiiiiiii2222222222222222222222i22i22222ii222iiiiiiiiiiiiiiiiiiii2222222i22i22222ii222iiiiij33ji33333333333
+iii222222i222i2222iiiiiiiiiiiii2222222222222222222222ii222222ii222iiiiiiiititiiiiiiiii22222222ii222222ii222iiiiiijjii33333333333
+iii22222222222i2222iiiiiiiiiiiii222222222222i2222222222222222ii222iiiiiiiiiiiiiiiiiiii2222222222222222ii222iiiiiiiiii33333333333
+iii22222222222i2222iiiiiiiiiiiiiii222222222iii22222222222222iii22iiiiiiitiitttiiiiiiiii22222222222222iii22iiiiiiiiiiij3333333333
+iiii2222222222i2222iiiii2222iiiiiiii2222iiiiii2222222222222iii222iiiiiiitittittiiiiiiii2222222222222iii222iiiiiiiiiiii3333333333
+iiii2222222222i22222iii222222iiiiiiiiiiiiiiiiii22222222222iiii22iiiiiiiitittttitiiiiiiii22222222222iiii22iiiiiiiiiiiiij333333333
+iiiii22222222ii22222ii22222222iiiiiiiiiiiiiiiiii222222222iiii222iiiiiiiiittitiitiiiiiiiii222222222iiii222iiiiiiiiiiiiiij33333333
+iiiiii222222iii222222i22222222iiiiiiiiiiiiiiiiiiii22222iiiii222iiiiiiiiiiiiiiitiiiiiiiiiiii22222iiiii222iiiiiiiiiiiiiiiii3333333
+iiiiiiiiiiiiiii222222ii2222i222iiiiiiiiiiiiiiiiiiiiiiiiiiiii22iiiiiiiiiiiititiiiiiiiiiiiiiiiiiiiiiiii22iiiiiiij3jiiiiiiij3333333
+iiiiiiiiiiiiiiii222222ii222i222iiiiiiiiiiiiiiiiiiiiiiiiii2iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii2iiiiiiiiiii333iiiij3333333333
+iiiiiiiiiiiiiiii2222222iiii2222iiiiiiiiiiiiiiiiiiiiiiiii222iiiiiiiiiiiiiiiiiiiiiiiiitiiiiiiiiiiii222iiiiiiiiiij3jiij333333333333
+iiiiiiiiiiiiiiiii2222222222222iiiiiiiiiiiiiiiiiiiiiiiiiii2iiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiii2iiiiiiiiiiiiiii33333333333333
+iiiiiiiiiiiiiiiiii222222222222iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33jiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii333333333333333
+iiiiiiiiiiiiiiiiiii2222222222iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33jiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii3333333333333333
+iiiiiiiiiiiiiiiiiiiii2222222iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij3jiiiiiijjij33jiiiiiiiij33jiiiiiiiiiiiiiiij333j33333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiitiiiiiiijjiij3jiiiiiiiii333iiiiiiiii3333iiiiiiij3333jiiiiiiiiiiiiii3333333333333333333333
+iiiiiiiiiittitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33ji333iiiiiiiiij3jiiiiiiij33333iiiiiii333333iiiiiiiiiiiiii3333333333333333333333
+iiiiiiiiiiiiiitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33jij3jiiiiiiiiiiiiiiiiij33333333jiiiii333333iiiiiiiiiiiiii3333333333333333333333
+iiiiiiiitiiiiiiiiiiiiiiiiiiiiiiiiiitiiiiiiiiiiijjiiiiiiiiiiiiiiiiij333j33333333333iiiij3333jiiiiiiiiiiiiiij333333333333333333333
+iiiiiiitiittitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii33333333333333333iiiij33jiiiiiiiiiiiiiiij333333333333333333333
+iiiiiiitittitttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii333333333333333333iiiiiiiiiiiiiiiij33jii3333333333333333333333
+iiiiiiitiitttitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33333jiiiiii333333333333333333jiiiiiiiiiiiiij333333j3333333333333333333333
+iiiiiiiitiiittiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij3333j33333333iiii33333333333333333333iiiiiiij333jj333333333333333333333333333333
+iiiiiiiiittttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii3333333333333333jj333333333333333333333jiiiiii333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij3333333333333333333333333333333333333333iiiiii333333333333333333333333333333333333
+iiitiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiii33333333333333333333333333333333333333333jiiiii333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiij3jiiiiiiiiiiiiiiiiiiiii333333333333333333333333333333333333333333iiiiij33333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiii333333333333333333333333333333333333333333jiiij333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiij3jiiiiiiii33333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiij3jiiiiij333jii333iiiiiiiij3333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiitiiiiiiiiiijiiiiii33333iij3jiiiiiij333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiii33333iiiiiiiiij33333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiii33333iiiiiiiij333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiiij333jiiiiiiii3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+
diff --git a/labels/musiclabel.png b/labels/musiclabel.png
new file mode 100644
index 0000000..20a64a8
--- /dev/null
+++ b/labels/musiclabel.png
Binary files differ
diff --git a/music.p8 b/music.p8
deleted file mode 100644
index 6596bff..0000000
--- a/music.p8
+++ /dev/null
@@ -1,88 +0,0 @@
-pico-8 cartridge // http://www.pico-8.com
-version 35
-__lua__
---▶ toxic invaders soundtrack ◀
---▶ 1029chris ◀
-
--- 0-31 SLOTS ARE FOR SFX
-__sfx__
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-d01c00081f011220161a0161f0162b0112e016260162b016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-490e00101000334615346253461510073346153462534615100033461534625346151007334615346253461500000000000000000000000000000000000000000000000000000000000000000000000000000000
-110e00080030207755077550775500700077550775507755000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-09380000221212212229121291222912500100001000f1021b1211b1222812128122281250010000100281021d1211d1222112121122211250010000100211021f1211f122221212212222125221002210000000
-a71c0010373272e327373272e327373122d312223120c3122b327223272b327223272b31221312163120031200000000000000000000000000000000000000000000000000000000000000000000000000000000
-490e0008100533460510003346051c655346050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-4d0e002010053073250a425093251c655073250c4250a32510053073250a425093251c655073250c4250e32510053073250a425093251c655073250c4250a32510053073250a425093251c655073250042502325
-d11c000821011240161c016210162d01130016280162d01621000180001c000210002d00024000280002d00000000000000000000000000000000000000000000000000000000000000000000000000000000000
-4d0e002012053093250c4250b3251e655093250e4250c32512053093250c4250b3251e655093250e4251032512053093250c4250b3251e655093250e4250c32512053093250c4250b3251e655093250242504325
-4d0e00200e0530532508425073251a655053250a425083250e0530532508425073251a655053250a4250c3250e0530532508425073251a655053250a425083250e0530532508425073251a655053250042500325
-d11c000821011240161c016210162d01130016280162d0161f000220001a0001f0002b0002e000260002b00000000000000000000000000000000000000000000000000000000000000000000000000000000000
-d10e00201f42222422264222e4021f42222422264222e4021f42222422264222e4021f42222422264222e40225422284222c4222840225422284222c4222840225422284222c4222840225422284222c42234402
-911c02042b311133212b3211331100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-490e000021600156002160021600216003960039600396002162515600216002160021625396003960039600156252160521625240002d625396053962500000156251560521625216052d625396253962539625
-5d0e0020100730715407252071521c675071440c1420a14210073071540a152091521c675071540c3520e152160730d1540d2510d253226750d154121521015216073160731607316073226750d3541946425474
-5d0e0020100730715407252071521c675071440c1420a14210073071540a152091521c675071540c3520e152100730715407251072531c675071540c1520a15210073071540a152091521c675071540035202452
-5d0e0020100730725407252072521c675073440c4420a34210073073540a452093521c675073540c4520e352100730725407251072531c675073540c4520a35210073073540a452093521c675073540045202352
-5d0e0020100730725407252072521c675073440c4420a34210073073540a452093521c675073540c4520e352160730d2540d2510d253226750d3541245210352160730d354104520f352226750d3540645208352
-5d0e0020120730925409252092521e675093440e4420c34212073093540c4520b3521e675093540e45210352180730f2540f2510f253246750f3541445212352180730f3541245211352246750f354084520a352
-d10e002021422244222842230402214222442228422304022142224422284223040221422244222842230402274222a4222e4222a402274222a4222e4222a402274222a4222e4222a402274222a4222e42236402
-__music__
-00 20616263
-00 20256263
-01 20266144
-00 23266263
-00 24266263
-00 20266144
-00 27286144
-02 2a296144
-00 2c6b4344
-00 2c2f4344
-00 2c304344
-00 2b2e6161
-00 33326161
-00 2d2e6161
-01 21316161
-02 21326161
-00 41424344
-00 41424344
-00 41424344
-00 41424344
-00 41424344
-00 5b5c4344
-01 5b5c5844
-00 5b5c4044
-00 5a5c4344
-02 5a5c4344
-
diff --git a/musicplayer/background_music.lua b/musicplayer/background_music.lua
new file mode 100644
index 0000000..e8d6f5a
--- /dev/null
+++ b/musicplayer/background_music.lua
@@ -0,0 +1,107 @@
+function scrollingcircles(y, speed, spacing, radius, color)
+ for i = 1, 256, spacing do
+ circfill((i-(gt*speed))%256-radius*2, y, radius, color)
+ end
+end
+
+function scrollingsprite(sprite,x,y,w,h,speed,flip)
+ flip = flip or false
+ spr(sprite, (-gt*speed+x+w*8)%(128+w*8)-w*8, y, w, h, flip)
+end
+
+
+--ringed planet
+function bgplanetmegasprite(x,y)
+ --default values
+ --x = 160-gt
+ --y = 50
+
+ palt(0,false)
+ palt(13,true)
+ spr(194,x+10,y+0,7,2)
+ spr(201,x+10,y+16,7,2)
+ spr(234,x+2,y+32,6,2)
+ palt()
+end
+
+
+function drawbg()
+ cls(0)
+ --stars
+ for i = 1, 64, 1 do
+ pset((((-gt*0.1)+i*4.3824)*(i/32))%128, sin(i*0.536382)*64+64, 4) --funny random star algorithm!!
+ end
+
+ --galaxies
+ spr(120, 20, 30, 1, 1)
+ spr(104, 108, 40, 1, 1)
+ spr(104, 42, 74, 1, 1, true, true)
+
+ --ringed planet
+ bgplanetmegasprite(150-(gt*10)%300,50)
+
+ --clouds
+ scrollingcircles(-9, 24, 22, 22, 2)
+ --small clouds
+ scrollingsprite(88, 60, 10, 1, 1, 28)
+ scrollingsprite(88, 120, 10, 1, 1, 28)
+ scrollingsprite(88, 130, 12, 1, 1, 29)
+ scrollingsprite(88, 160, 15, 1, 1, 30)--
+ scrollingsprite(72, 145, 15, 1, 1, 30)--
+ scrollingsprite(72, 20, 10, 1, 1, 28)
+ scrollingsprite(72, 100, 10, 1, 1, 28)
+ scrollingsprite(72, 170, 15, 1, 1, 30)
+ --large clouds
+ scrollingsprite(248, 40, 5, 2, 1, 35)
+ scrollingsprite(248, 80, 5, 2, 1, 35)
+ scrollingsprite(248, 180, 9, 2, 1, 38)
+ scrollingsprite(248, 260, 9, 2, 1, 38)--
+ scrollingsprite(232, 120, 7, 2, 1, 36)--
+ scrollingsprite(232, 160, 7, 2, 1, 36)
+ scrollingsprite(232, 240, 9, 2, 1, 38)
+ --fg clouds
+ scrollingcircles(-11, 40, 25, 20, 2)
+ scrollingcircles(-12, 40, 25, 20, 4)
+
+ --landscape
+ scrollingcircles(125, 72, 25, 20, 8)
+ scrollingcircles(126, 72, 25, 20, 2)
+
+ --landscape lines
+ rectfill(0,112,128,128,8)
+ line(0, 113, 128, 113, 2)
+ line(0, 116, 128, 116, 2)
+ line(0, 119, 128, 119, 2)
+
+ for i = 1, 32, 1 do
+ line(((-gt+i*2.5)*80)%128, 111, ((-gt+i*2.5)*80)%128*1.2-12.8, 125, 2)
+ end
+
+ --pine trees
+ local treex = {10,30,20,50,62,70,80,95,100,120}
+ for i = 1, 10, 1 do
+ scrollingsprite(231,treex[i],94+sin(i/5.2323),1,2,72,(i%2==0))
+ end
+ --small buildings
+ scrollingsprite(226,15,98,2,2,80)
+ scrollingsprite(226,65,97,2,2,80)
+ scrollingsprite(226,95,96,2,2,80)
+ scrollingsprite(226,115,97,2,2,80)
+ --totem poles
+ scrollingsprite(230,25,99,1,2,84)
+ scrollingsprite(230,65,100,1,2,83,true)
+ scrollingsprite(230,85,101,1,2,83)
+ --dead trees
+ scrollingsprite(228,30,104,2,2,86)
+ scrollingsprite(228,75,105,2,2,86,true)
+ scrollingsprite(228,100,104,2,2,86)
+ scrollingsprite(228,120,105,2,2,86,true)
+ --large buildings (front)
+ scrollingsprite(192,52,94,2,4,90)
+ scrollingsprite(192,22,91,2,4,90)
+ scrollingsprite(192,102,90,2,4,90)
+ scrollingsprite(192,137,92,2,4,90)
+
+ scrollingcircles(150, 100, 30, 32, 8)
+ scrollingcircles(151, 100, 30, 32, 2)
+end \ No newline at end of file
diff --git a/musicplayer/draw_music.lua b/musicplayer/draw_music.lua
new file mode 100644
index 0000000..118d461
--- /dev/null
+++ b/musicplayer/draw_music.lua
@@ -0,0 +1,29 @@
+--pallete replacement
+pal({1,2,131,141,5,6,7,136,9,137,139,12,133,3,140,130}, 1) --don't ask me why, but this table of colors starts at 1, and 0 is the final color
+
+
+
+drawbg()
+drawobjs()
+
+menushipscroll += ft
+
+for i = 1, 3, 1 do
+ spr(14+i*16, (-menushipscroll*(i*20)+(sin(i/3)*128)+8)%(128+8)-1*8, i*36+sin(menushipscroll*i/3)*i*2-20,1,1)
+end
+
+if t() < 1 then
+ drawlogo(24,19.5+sin(0.25+t()*0.5)*6.5)
+else
+ drawlogo(24,26)
+end
+
+--main screen items
+mainmenutext(15,74)
+credits(10,108)
+
+--intro acid transtition
+acidcounter+=ft
+acidtransition()
+
+-- print(tracknumber,0,0) \ No newline at end of file
diff --git a/musicplayer/music.p8 b/musicplayer/music.p8
new file mode 100644
index 0000000..880bf46
--- /dev/null
+++ b/musicplayer/music.p8
@@ -0,0 +1,360 @@
+pico-8 cartridge // http://www.pico-8.com
+version 35
+__lua__
+--▶ toxic invaders soundtrack ◀
+--▶ WIP 1029chris ◀
+
+-- 0-31 SLOTS ARE FOR SFX
+
+#include objects_music.lua
+#include particles_music.lua
+#include ui_music.lua
+
+function _update60()
+#include update_music.lua
+end
+
+function _draw()
+#include background_music.lua
+#include draw_music.lua
+end
+__gfx__
+48888840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+8a98a980cccccccc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+89889880eeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+8988a980777777770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+48888840eeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000cccccccc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ebbbe3000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ebea00000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003eb900000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003bb3b000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003bb3b000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003eb900000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ebea00000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ebbbe3000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ebbbe900000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003bbe30000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007e3b300000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007e3b300000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003bbe30000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ebbbe900000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033bb3000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ebe33e900000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3bbe000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3bbe000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ebe33e900000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033bb3000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000222200000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000002200020000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000002022002000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000002222020000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000222000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000002202200000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000002220220200000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000222022000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000044440000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000440004000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000004044400400000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000004440440400000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000404400400000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000404400000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000040400000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000004004440000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000004044044000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000004044440400000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000440400400000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000040400000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000222272222222222222fff3220000333333333333000a0000a99a000033333333
+000000000000000000000000000000000000000000000000000000000000000022252222222828222beffff200003bbbbb3bbbb300a9a0009999a0003b3bbbb3
+000000000000000000000000000000000000000000000000000000000000000022d2222222888882bdde1fff0000333b333b33b30a999a00aaaaaa003b3b3333
+0000000000000000000000000000000000000000000000000000000000000000200dd00022888882dffdf1f20000003b303b33b3a99999a0a99999a03b3b3000
+00000000000000000000000000000000000000000000000000000000000000000555070022288822d07d073f0000003e303e33e3aa99999aaa99999a3e3e3000
+0000000000000000000000000000000000000000000000000000000000000000dfcc060d28228222bdd9ad220000003b303b33b30aa999990aaaaaaa3b3b3333
+00000000000000000000000000000000000000000000000000000000000000002d0000d288822282ea9999220000003e303eeee300aa999900aaaaaa3e3eeee3
+00000000000000000000000000000000000000000000000000000000000000002220d222282222222ea999920000003330333333000aa99a000aaaa033333333
+0000000000000000ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd00002222222222222200000000222222222dddddd2222222d222ddd
+0288888888888200ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd22220222220022222220000002222222222ddddd2222222d222dddd
+2888888888888820ddddddddddddddddddddddddddddddddddddddddddddddddd22222dd222222022202202222222222222222222222dddd2222222d222ddddd
+8822224442222880ddddddddddddddd022222222dddddddddddddddddddddd022222222d2220022022202022222222222222222222220dd2222222d222dddddd
+8822244422222880ddddddddddddd22222222222222ddddddddddddddddd0222222222222202002200222022222222222222222222200d2222222d222ddddddd
+8888888888888880dddddddddd0222222222222222222dddddddddddd00222222222222222220002222202222222222222222222220002222222d222dddddddd
+8820222222202880dd222dddd222222222222222222222ddddddddd002222220222222220220200000002222222222222222222220002222222d222ddddddddd
+2200282028200220d22222d022002222222222222222222ddddddd002220dddd02222222d00022000002222222222222222222220002222222d222dddddddddd
+0000222022200000d2200202202202222220000222222222dddd00220ddddddd02222222d0022222222222222222222222222220002222222d222ddddddddddd
+0002888888820000d22022022202022222022220222222222d0020dddddddddd22222222dd02222222222222222222222222220022222222d222dddddddddddd
+0028888888882000d22200002222022220222022022002222200ddddddddddd022222222dd0022222222222222222222222220022222222d222ddddddddddddd
+0288822222888200d0222222222022220022020202022022222dddddddddddd22222d222dd002222222222222222222222200022222222d222dddddddddddddd
+0288288888288200dd000000000222220022022202202022222ddddddddddd222222222dddd00222222222222222222222000222222202222ddddddddddddddd
+2888888888888820dd0000000222222200222000002220222220ddddddddd222222d222ddd00002222222222222222220002222222202222dddddddddddddddd
+2882882828828820d00222222222222200022222222202222222dddddddd222222d222ddd00000022222222222222200022222222202222ddddddddddddddddd
+2888888888888820d02222222222222220000222220022222222ddddddd2222222222ddd000dd00022222222222200022222222220222ddddddddddddddddddd
+28282848282828200002888888882000000000000000000022202220000080000044400000000000ddddddd000dddd000022222222000022222222202222dddd
+28288888888828200028822422288200000000002820000028222820000282000444440000444400dddddd000dddddd0000022200000222222222022222ddddd
+28284848282828200088888888888800000000282820000028888820000888004444440044444440ddddd022ddddddddd000000000222222222202222ddddddd
+28288888888828200022200000022200000000282828200022828222008888204404400444400444dddd022ddddddddddd0000002222222222022222dddddddd
+28284828282828200028200000028200000028282828200022828282082888804440044440004044ddd0222dddddddddddd0002222222222002222dddddddddd
+28288888888828200028288888828200000028282828200028888882008888824444444400004444dd0222dddddddddddddd2222222222002222dddddddddddd
+28282828284828200022888888882200000028282828200022828222088882880444444000000440d0222ddddddddddddd22222222220022222ddddddddddddd
+28288888888828200028282848488200000028282828200002828200288288020044440000000000d2222ddddddddddd22222222220022222ddddddddddddddd
+282228284822282000288888888882000000282828282000028282000028888000444444400004400222dddddddd2222222222222d22222ddddddddddddddddd
+282888888888282002882244422288200000028828820000028282000888888804444444440044442222dddddd2222222222222d22222ddddddddddddddddddd
+2828282828282820028824442222882000000028282000000282820082808828444400044440404422222222222222222222dd2222dddddddddddddddddddddd
+282888222888282002888888888888200000002882000000028282000088888044404440444404442222222222222222dddd2222dddddddddddddddddddddddd
+28282822282828200282888888282820000000282000000002828200082088204440444404444440222222222222ddd222222ddddddddddddddddddddddddddd
+2888882228888820028888282888882000000028200000000282820000022200444404440044440022222222dd222222222ddddddddddddddddddddddddddddd
+28882822282888200282882228282820000200282000200002828202000082000444444400000000d222222222222222dddddddddddddddddddddddddddddddd
+28888822288888222288882228888822020220282220202022828222000082000044444000000000dd22222222222ddddddddddddddddddddddddddddddddddd
+__label__
+iiiiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttppttttttttttttttttppttttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttppttttttttttttttttppttttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp99ppttttttttttttpp99ppttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp99ppttttttttttttpp99ppttttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp999999ppttttttttpp999999ppttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp999999ppttttttttpp999999ppttttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp9999999999ppttttpp9999999999ppttttttttttttttttttttt
+iitttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpp9999999999ppttttpp9999999999ppttttttttttttttttttttt
+iiittttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttpppp9999999999pppp9999999999ppppttttttttttttttttttttt
+iiitttttttttttttttttttttttttttttttttttttttttttttttttttjjjjjjjjjjjjjjjjjjjjjpppp9999999999pppp9999999999ppppjjjjjjjjjjjjjtttttttt
+iiiittttttttttttttttttttttttttttttttttttttttttttttttttjjjjjjjjjjjjjjjjjjjjjjjpppp99999999999999999999ppppjjjjjjjjjjjjjjjtttttttt
+iiiittttttttttttttttttttttttttttttttttttttttttttttttttjjrrrrrrrrrrjjrrrrrrrrjpppp99999999999999999999ppppjrrjjrrrrrrrrjjtttttttt
+iiiiitttttttttttttttttttttttttttttttttttttttttttttttttjjrrrrrrrrrrjjrrrrrrrrjjtpppp9999999999999999pppptjjrrjjrrrrrrrrjjtttttttt
+iiiiitttttttttttttttttttttttttttttttttttttttttttttttttjjjjjjrrjjjjjjrrjjjjrrjjtpppp9999999999999999pppptjjrrjjrrjjjjjjjjtttttttt
+iiiiiittttttttttttttttttttttttttttttttttttttttttttttttjjjjjjrrjjjjjjrrjjjjrrjjtttpppp9999pppp9999pppptttjjrrjjrrjjjjjjjjtttttttt
+iitiiiitttttttttttttttttttttttttttttttttttttttttttttttjjjjjjrrjjjjjjrrjjjjrrjjtttpppp9999pppp9999pppptttjjrrjjrrjjjjjjjjtttttttt
+iiiiii22ttttttttttttttttttttttttttttttttttttttttttttttjjjjjjrrjjjjjjrrjjjjrrjjtttttpp9999pppp9999pptttttjjrrjjrrjjjjjjjjtttttttt
+iiiii2222tttttttttttttttttttttttttttttttttttttttttttttttttjj33jjttjj33jjjj33jjtttttpp9999pppp9999pptttttjj33jj33jjtttttttttttttt
+iiiii22222ttttttttttttttttttttttttttttttttttttttttttttttttjj33jjttjj33jjjj33jjtttpp9999999999999999pptttjj33jj33jjtttttttttttttt
+iiiii2222222ttttttttttttttttttttttttttttttttttttttttttttttjjrrjjttjjrrjjjjrrjjtttpp9999999999999999pptttjjrrjjrrjjjjjjjjtttttttt
+iiii22222222222tttttttttttttttttttttttttttttttttttttttttttjjrrjjttjjrrjjjjrrjjtpppppppppppppppppppppppptjjrrjjrrjjjjjjjjtttttttt
+iiii222222222222ttttttttttttttttttttttttttttttttttttttttttjj33jjttjj33333333jjtpppppppppppppppppppppppptjj33jj33333333jjtttttttt
+iiii222222222222ttttttttttttttttttttttttttttttttttttttttttjj33jjttjj33333333jpp9999999999pppp9999999999ppj33jj33333333jjtttttttt
+iiii2222222222222tttttttttttttttttttttttttttttttttttttttttjjjjjjttjjjjjjjjjjjpp9999999999pppp9999999999ppjjjjjjjjjjjjjjjtttttttt
+iii22222222222222tttttttttttttttttttttttttttttttttttttttttjjjjjjttjjjjjjjjjpp9999999999pppppppp9999999999ppjjjjjjjjjjjjjtttttttt
+iii222222222222222ttttttttttttttttttttttttttttttttttttttttjjjjjjttjjjjjjjjjpp9999999999pppppppp9999999999ppjjjjjjjjjjjjjtttttttt
+iii22222222222ttt22tttttttttttttttttttttttttttttttttttttttjjjjjjttjjjjjjjjjppppppppppppppttttppppppppppppppjjjjjjjjjjjjjtttttttt
+iii2222222222ttttt22tttttttttttttttttttttttttttttttttttttttttttttttttttttttppppppppppppppttttppppppppppppppttttttttttttttttttttt
+ii2222222222ttttttt22ttttttttttttttttttttttttttttttttttttttttttttttttttttttppppppppppppttttttttppppppppppppttttttttttttttttttttt
+ii222222222ttttttttt22tttttttttttttttttttttttttttttttttttttjjjjjtttjjjjttttjjjjjppppjjjjtttjjjjppppjjjjjpppjjjjtttttjjjjtttttttt
+ii222222222tttttttttt22ttttttttttttttttttttttttttttttttttttjrrrjtttjrrjjtttjrjrjpppjjrrjtttjrrjjtppjrrrjpttjrrjjtttjjrrjtttttttt
+ii22222222ttttttt222tt22tttttttttttttttttttttttttttttttttttjjrjjtttjrjrjtttjrjrjpppjrjrjtttjrjrjtppjrrjjpttjrjrjtttjrjjjtttttttt
+ii22222222tttttt2ttt2tt22ttttttttttttttttttttttttttttttttttjj3jjtttj3j3jtttj333jtttj333jtttj3j3jtttj3jjjtttj33jjtttjjj3jtttttttt
+ii22222222ttttttttttt2tt22tttttttttttttttttttttttttttttttttj333jtttj3j3jtttjj3jjtttj3j3jtttj33jjtttjj33jtttj3j3jtttj33jjtttttttt
+ii22222222tttttttttttt2tt22ttttttttttttttttttttttttttttttttjjjjjtttjjjjjtttjjjjjtttjjjjjtttjjjjjtttjjjjjtttjjjjjtttjjjjjtttttttt
+ii22222222tttttttttttt2ttt222ttttttttttttttttttttttttttttttjjjjjtttjjjjjttttjjjttttjjjjjtttjjjjtttttjjjjtttjjjjjtttjjjjttttttttt
+ii222222222ttttttttttt22ttt22222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+ii222222222tttttttttt222ttttt222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iii222222222tttttttt2222ttttt22ttttt222tttttttttttttttttttttt2222222222222tttt2222222222222222222222222222222222222222tttttttttt
+iii22222222222ttttt22222tttttt22ttttt222ttttttttttttttttttttt2999292929992ttt22992299292929922992299929992999229929292tttttttttt
+iii222222222222222222222tttttt2222ttt2222tttttttttttttttttttt2292292929222ttt29222929292929292929229229292929292229292tttttttttt
+iiii222222222222222222222ttttt2222tttt2222ttttttttttttttttttt22p22ppp2pp22ttt2ppp2p2p2p2p2p2p2p2p22p22pp22ppp2p222pp22tttttttttt
+iiii222222222222222222222tttttt22ttttt22222ttttttttttttttttttt2p22p2p2p222ttt222p2p2p2p2p2p2p2p2p22p22p2p2p2p2p222p2p2tttttttttt
+iiii222222222222222222222ttttttttttttt222222tttttttttttttttttt2p22p2p2ppp2ttt2pp22pp222pp2p2p2ppp22p22p2p2p2p22pp2p2p2tttttttttt
+iiiii222222222222222222222ttttttttttt22222222ttttttttttttttttt222222222222ttt22222222222222222222222222222222222222222tttttttttt
+iiiii222222222222222222222ttttttttttt222222222tttttttttttttttt222222222222ttt22222222t22222222222222222222222222222222tttttttttt
+iiiiii222222222222222222222ttttttttt222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiiii2222222222222222222222ttttttt222222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiiiii2222222222222222222222tttt22222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
+iiiiiiii22222222222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt2
+iiiiiiiii222222222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt22
+iiiiiiiiii22222222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt222
+iiiiiiiiiiii22222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt2222
+iiiiiiiiiiiii2222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt22222
+iiiiiiiiiiiii2222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt222222
+iiiiiiiiiiiiii222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt22222222
+iiiiittttiiiii222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt2222222222
+iiiittiiitiiii222222222222222222222222222222222222222222222ttttttttttttttttttttttttttttttttttttttttttttttttttttttttt222222222222
+iiititttiitiii2222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttttttt22222222tttttt2222222222222222
+iiitttittitiii2222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttttttt2222222222222222222222222222222222
+iiiitittiitiiii2222222222222222222222222222222222222222222222tttttttttttttttttttttttttttttt222222tttttt2222222222222222222222222
+iiiiiiiiitiiiii222222222222222222222222222222222222222222222222ttttttt22tttttttttttttttt22222222tttttttt222222222222222222222222
+iiitiiiiiiiiiii22222222222222222222222222222222222222222222222222222222222222tttttt222222222222tttttttttt22222222222222222222222
+iiiitittiiiiiiii222222222222222222222222222222222222222222222222222222tttttt22222222ttt22222222ttttttttttt2222222222222222222222
+iiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222222tttttttttttttttttttt222222ttt2ttttttt2222222222222222222222
+iiiiiiiiiiiiiiii2222222222222222222222222222222222222222222222222222tttttttt22222ttttttttt22222tttt2tttttt2222222222222222222j33
+iiiiiiiiiiiiiiii2222222222222222222222222222222222222222222222222222ttttttt2ttttt2ttttttttt22222ttt2tttttt2222222222222222222333
+iiiiiiiiiiiiiiiii222222222222222222222222222222222222222222222222222tttttt2ttttttt2ttttttttt22222222tttttt2222222222222222222333
+iiiiiiiiiiiiiiiii222222222222222222222222222222222222222222222222222tttttt2tttttttt2tttttttttt22222ttttttt222222222222222222i333
+iiiitiiiiiiiiiiii222222222222222222222222222222222222222222222222222tttttt2tttttttt2ttttttttttttttttttttt222222222222222222iij33
+iiiiiiiiiiiiiiiii222222222222222222222222222222222222222222222222222ttttttt2tttttttt2tttttttttttttttttttt22222222222222222iiiiii
+iiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222tttttttt222ttttt2ttttttttttttttttttt2222222222222222iiiiiiii
+iiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222tttttttttttttttt22ttttttttttttttttt2222222222222222iiiiiiiii
+iiiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222ttttttttttttttt222ttttttttttttttt2222222222j333jiij333jiiii
+iiiiiiiiiiiiiiiiiiii2222222222222222222222222222222222222222222222222tttttttttttttt222222ttttttttttt22222222222233333ii33333j333
+iiiiiiiiiiiiiiiiiiiiii222222222222222222222222222222222222222222222222ttttttttttttt22222222ttttttt2222222222222233333ii333333333
+iiiiiiiiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222ttttttttttt22222222222222222222222222222i33333ii333333333
+iiiiiiiiiiiiiiiiiiiiiiii2222222222222222222222222222222222222222222222222ttttttt2222222222222222222222222222iiiij333jiij33333333
+iiiiiiiiiiiiiiiiiiiiiiiiii22222222222222222222222222222222222222222222222222222222222222222222222222222222iiiiiiiiiiiiij33333333
+iiiiiii22222iiiiiiiiiiiiii22222222222222222222222222222222222222222222222222222222222222222222222222222222iiiiiiiiiiiii333333333
+iiiii222222222iiiiiiiiiiiii2222222222222222222222222222222222222222222222222222222222222222222222222222222iiiiiiiiiiiij333333333
+iiii22222222222iiiiiiiiiiii2222222222222222222222222222iiiiii22222222222222222222222222222222222iiiiii22222iiitiiiiiii3333333333
+iiii222222222222iiiiiiiiiiii2222222222222222222222222ii2222iii2222iii2222222222222222222222222ii2222iii2222iiiiiiiiiij3333333333
+iii222222iii2222iiiiiiiiiiii222222222222222222222222i2222222iii222iiiiii222222222222222222222i2222222iii222iiiiiiiiii33333333333
+iii22222i222i2222iiiiiiiiiiii22222222222222222222222i22222222ii222iiiiiiiiiiiii22222222222222i22222222ii222iiiiiijjii33333333333
+iii22222i2222i222iiiiiiiiiiii22222222222222222222222i22222222ii222iiiiiiiiiiiiiiiiiiii2222222i22222222ii222iiiiij33ji33333333333
+iii22222i2222i2222iiiiiiiiiiii2222222222222222222222i22i22222ii222iiiiiiiiiiiiiiiiiiii2222222i22i22222ii222iiiiij33ji33333333333
+iii222222i222i2222iiiiiiiiiiiii2222222222222222222222ii222222ii222iiiiiiiititiiiiiiiii22222222ii222222ii222iiiiiijjii33333333333
+iii22222222222i2222iiiiiiiiiiiii222222222222i2222222222222222ii222iiiiiiiiiiiiiiiiiiii2222222222222222ii222iiiiiiiiii33333333333
+iii22222222222i2222iiiiiiiiiiiiiii222222222iii22222222222222iii22iiiiiiitiitttiiiiiiiii22222222222222iii22iiiiiiiiiiij3333333333
+iiii2222222222i2222iiiii2222iiiiiiii2222iiiiii2222222222222iii222iiiiiiitittittiiiiiiii2222222222222iii222iiiiiiiiiiii3333333333
+iiii2222222222i22222iii222222iiiiiiiiiiiiiiiiii22222222222iiii22iiiiiiiitittttitiiiiiiii22222222222iiii22iiiiiiiiiiiiij333333333
+iiiii22222222ii22222ii22222222iiiiiiiiiiiiiiiiii222222222iiii222iiiiiiiiittitiitiiiiiiiii222222222iiii222iiiiiiiiiiiiiij33333333
+iiiiii222222iii222222i22222222iiiiiiiiiiiiiiiiiiii22222iiiii222iiiiiiiiiiiiiiitiiiiiiiiiiii22222iiiii222iiiiiiiiiiiiiiiii3333333
+iiiiiiiiiiiiiii222222ii2222i222iiiiiiiiiiiiiiiiiiiiiiiiiiiii22iiiiiiiiiiiititiiiiiiiiiiiiiiiiiiiiiiii22iiiiiiij3jiiiiiiij3333333
+iiiiiiiiiiiiiiii222222ii222i222iiiiiiiiiiiiiiiiiiiiiiiiii2iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii2iiiiiiiiiii333iiiij3333333333
+iiiiiiiiiiiiiiii2222222iiii2222iiiiiiiiiiiiiiiiiiiiiiiii222iiiiiiiiiiiiiiiiiiiiiiiiitiiiiiiiiiiii222iiiiiiiiiij3jiij333333333333
+iiiiiiiiiiiiiiiii2222222222222iiiiiiiiiiiiiiiiiiiiiiiiiii2iiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiii2iiiiiiiiiiiiiii33333333333333
+iiiiiiiiiiiiiiiiii222222222222iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33jiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii333333333333333
+iiiiiiiiiiiiiiiiiii2222222222iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33jiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii3333333333333333
+iiiiiiiiiiiiiiiiiiiii2222222iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij3jiiiiiijjij33jiiiiiiiij33jiiiiiiiiiiiiiiij333j33333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiitiiiiiiijjiij3jiiiiiiiii333iiiiiiiii3333iiiiiiij3333jiiiiiiiiiiiiii3333333333333333333333
+iiiiiiiiiittitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33ji333iiiiiiiiij3jiiiiiiij33333iiiiiii333333iiiiiiiiiiiiii3333333333333333333333
+iiiiiiiiiiiiiitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33jij3jiiiiiiiiiiiiiiiiij33333333jiiiii333333iiiiiiiiiiiiii3333333333333333333333
+iiiiiiiitiiiiiiiiiiiiiiiiiiiiiiiiiitiiiiiiiiiiijjiiiiiiiiiiiiiiiiij333j33333333333iiiij3333jiiiiiiiiiiiiiij333333333333333333333
+iiiiiiitiittitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii33333333333333333iiiij33jiiiiiiiiiiiiiiij333333333333333333333
+iiiiiiitittitttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii333333333333333333iiiiiiiiiiiiiiiij33jii3333333333333333333333
+iiiiiiitiitttitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij33333jiiiiii333333333333333333jiiiiiiiiiiiiij333333j3333333333333333333333
+iiiiiiiitiiittiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij3333j33333333iiii33333333333333333333iiiiiiij333jj333333333333333333333333333333
+iiiiiiiiittttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii3333333333333333jj333333333333333333333jiiiiii333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij3333333333333333333333333333333333333333iiiiii333333333333333333333333333333333333
+iiitiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiii33333333333333333333333333333333333333333jiiiii333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiij3jiiiiiiiiiiiiiiiiiiiii333333333333333333333333333333333333333333iiiiij33333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiii333333333333333333333333333333333333333333jiiij333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiij3jiiiiiiii33333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiij3jiiiiij333jii333iiiiiiiij3333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiitiiiiiiiiiijiiiiii33333iij3jiiiiiij333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiii33333iiiiiiiiij33333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiii33333iiiiiiiij333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiiij333jiiiiiiii3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+
+__sfx__
+a008000022614286102d6103061033610356103661037610376103561034610326102e6102b610286102661022610206101d610186101661013610116100f6100c61009610066100461003610016100161000615
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+d01c00081f011220161a0161f0162b0112e016260162b016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+490e00101000334615346253461510073346153462534615100033461534625346151007334615346253461500000000000000000000000000000000000000000000000000000000000000000000000000000000
+110e00080030207755077550775500700077550775507755000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+09380000221212212229121291222912500100001000f1021b1211b1222812128122281250010000100281021d1211d1222112121122211250010000100211021f1211f122221212212222125221002210000000
+a71c0010373272e327373272e327373122d312223120c3122b327223272b327223272b31221312163120031200000000000000000000000000000000000000000000000000000000000000000000000000000000
+490e0008100533460510003346051c655346050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+4d0e002010053073250a425093251c655073250c4250a32510053073250a425093251c655073250c4250e32510053073250a425093251c655073250c4250a32510053073250a425093251c655073250042502325
+d11c000821011240161c016210162d01130016280162d01621000180001c000210002d00024000280002d00000000000000000000000000000000000000000000000000000000000000000000000000000000000
+4d0e002012053093250c4250b3251e655093250e4250c32512053093250c4250b3251e655093250e4251032512053093250c4250b3251e655093250e4250c32512053093250c4250b3251e655093250242504325
+4d0e00200e0530532508425073251a655053250a425083250e0530532508425073251a655053250a4250c3250e0530532508425073251a655053250a425083250e0530532508425073251a655053250042500325
+d11c000821011240161c016210162d01130016280162d0161f000220001a0001f0002b0002e000260002b00000000000000000000000000000000000000000000000000000000000000000000000000000000000
+d10e00201f42222422264222e4021f42222422264222e4021f42222422264222e4021f42222422264222e40225422284222c4222840225422284222c4222840225422284222c4222840225422284222c42234402
+911c02042b311133212b3211331100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+490e000021600156002160021600216003960039600396002162515600216002160021625396003960039600156252160521625240002d625396053962500000156251560521625216052d625396253962539625
+5d0e0020100730715407252071521c675071440c1420a14210073071540a152091521c675071540c3520e152160730d1540d2510d253226750d154121521015216073160731607316073226750d3541946425474
+5d0e0020100730715407252071521c675071440c1420a14210073071540a152091521c675071540c3520e152100730715407251072531c675071540c1520a15210073071540a152091521c675071540035202452
+5d0e0020100730725407252072521c675073440c4420a34210073073540a452093521c675073540c4520e352100730725407251072531c675073540c4520a35210073073540a452093521c675073540045202352
+5d0e0020100730725407252072521c675073440c4420a34210073073540a452093521c675073540c4520e352160730d2540d2510d253226750d3541245210352160730d354104520f352226750d3540645208352
+5d0e0020120730925409252092521e675093440e4420c34212073093540c4520b3521e675093540e45210352180730f2540f2510f253246750f3541445212352180730f3541245211352246750f354084520a352
+d10e002021422244222842230402214222442228422304022142224422284223040221422244222842230402274222a4222e4222a402274222a4222e4222a402274222a4222e4222a402274222a4222e42236402
+__music__
+00 20616263
+00 20256263
+01 20266144
+00 23266263
+00 24266263
+00 20266144
+00 27286144
+02 2a296144
+00 2c6b4344
+00 2c2f4344
+00 2c304344
+00 2b2e6161
+00 33326161
+00 2d2e6161
+01 21316161
+02 21326161
+00 41424344
+00 41424344
+00 41424344
+00 41424344
+00 41424344
+00 5b5c4344
+01 5b5c5844
+00 5b5c4044
+00 5a5c4344
+02 5a5c4344
+
diff --git a/musicplayer/objects_music.lua b/musicplayer/objects_music.lua
new file mode 100644
index 0000000..2760b05
--- /dev/null
+++ b/musicplayer/objects_music.lua
@@ -0,0 +1,46 @@
+obj = {}
+gt = 0 -- game time
+ft = 1/60 --frametime
+scrollspeed = 0
+menushipscroll = 0
+acidcounter = 0
+tracknumber = 0
+tracktext = ""
+cartdata("toxicinvaderssoundtrack_by1029chris")
+
+
+function playmusic()
+ if tracknumber == 0 then
+ tracktext = " mENU"
+ music(-1,0,3)
+ elseif tracknumber == 1 then
+ tracktext = "fORWARD"
+ music(2,0,3)
+ elseif tracknumber == 2 then
+ tracktext = " bOSSY"
+ music(8, 0, 3)
+ elseif tracknumber == 3 then
+ tracktext = " pORTAL"
+ music(-1,0,3)
+ end
+ end
+
+function updateobjs()
+ foreach(players, function(obj) obj:update() end)
+ foreach(enemies, function(obj) obj:update() end)
+ foreach(obj, function(obj) obj:update() end)
+ despawnallbullets = false
+end
+
+function drawobjs()
+ foreach(obj, function(obj) obj:draw() end)
+ foreach(enemies, function(obj) obj:draw() end)
+ clip() --for the final boss
+ foreach(players, function(obj) obj:draw() end)
+end
+
+function lerp(start, destination, amount)
+ return start + amount * (destination - start);
+end
+
+playmusic() \ No newline at end of file
diff --git a/musicplayer/particles_music.lua b/musicplayer/particles_music.lua
new file mode 100644
index 0000000..18ef3f8
--- /dev/null
+++ b/musicplayer/particles_music.lua
@@ -0,0 +1,29 @@
+function addcircle(x, y, velx, vely, r, time, color, grav)
+ local circle = {
+ x = x,
+ y = y,
+ velx = velx,
+ vely = vely,
+ r = r,
+ time = time,
+ t = time,
+ col = color,
+ grav = grav or 0
+ }
+
+ function circle.draw()
+ circfill(circle.x, circle.y, circle.r*sin(circle.time/circle.t), circle.col)
+ end
+
+ function circle.update()
+ circle.x += circle.velx
+ circle.vely -= circle.grav
+ circle.y += circle.vely
+ circle.time -= ft
+ if circle.time < 0 then
+ del(obj, circle)
+ end
+ end
+
+ add(obj, circle, 1)
+end \ No newline at end of file
diff --git a/musicplayer/ui_music.lua b/musicplayer/ui_music.lua
new file mode 100644
index 0000000..ce709cb
--- /dev/null
+++ b/musicplayer/ui_music.lua
@@ -0,0 +1,89 @@
+function printdropshadow(text,x,y,colorMain,colorShadow)
+ print(text,x,y+1,colorShadow)
+ print(text,x,y,colorMain)
+end
+
+function invaderslogotext(x,y)
+ --default values
+ -- x = 12
+ -- y = 20
+
+ invaderstext = "I N V A D E R S"
+ for i = 1, 12, 1 do
+ print(invaderstext, x+i%3-1, y+i%4-1, 3)
+ end
+ print(invaderstext,x,y,14)
+ clip(x, y, 63, 3)
+ print(invaderstext,x,y,11)
+ clip()
+
+ soundtracktext = "the soundtrack"
+ for i = 1, 12, 1 do
+ print(soundtracktext, x+i%3+1, y+i%4+9, 2)
+ end
+ print(soundtracktext,x+2,y+10,10)
+ clip(x+2, y+9, 69, 3)
+ print(soundtracktext,x+2,y+10,9)
+ clip()
+end
+
+function drawlogo(x,y)
+ --default values
+ -- x = 24
+ -- y = 26
+
+ sspr(88,88,16,8,x-3,y+2,32,16) --to shadow
+ sspr(88,88,16,8,x-3,y,32,16) --to
+ sspr(120,88,8,8,x+55,y+2,16,16) --ic shadow
+ sspr(120,88,8,8,x+55,y,16,16) --ic
+ --X
+ sspr(104,88,8,8,x+26,y-9,16,16)
+ sspr(104,88,8,8,x+42,y-9,16,16,true)
+ sspr(112,88,8,8,x+26,y+7,16,16,true)
+ sspr(112,88,8,8,x+42,y+7,16,16)
+ --invaders
+ invaderslogotext(x+11,y+20)
+end
+
+function mainmenutext(x,y,currentlyplaying)
+ -- default values
+ -- x = 24
+ -- y = 62
+ x -= 1
+
+ printdropshadow("(\139) track selection (\145)\n",x,y,9,2)
+
+ poke(0x5f58, 0x9 | 0x4) --makes score BIG
+ printdropshadow(tracktext,x+24+circletimex,y+18+circletimey,11,3)
+ poke(0x5f58)
+end
+
+function credits(x,y)
+ -- default vaues
+ -- x = 10
+ -- y = 100
+ sintimecredits = sin(t())*2
+ timemodcredits = (t()%2<1)
+
+ palt(2,true)
+ palt(0,false)
+ spr(186,x+30,y+7+sintimecredits,1,1,timemodcredits) --duck
+ palt()
+ printdropshadow("1029chris",x+42,y+9,9,2)
+end
+
+--intro/ending acid effect
+function acidtransition()
+ if acidcounter < 3 then
+ for i = 1, 128, 1 do
+ line(i-1,128,i-1,sin((i+0.22-acidcounter*20)/24.357)*2+acidcounter*80-5,11) --cool wavy transition effect!!!!
+ line(i-1,128,i-1,sin((i+acidcounter*60)/44.357)*5+acidcounter*80,3)
+ end
+ addcircle(rnd(128), acidcounter*80+5, 0,rnd(1),rnd(12)+2,1.5,14)
+ end
+end
+
+--sfx for the intro transition
+sfx(0,3,3)
+
+menuitem(1, "(❎ ⁙ 🅾️) to end", function() music(-1,3000,3) end) \ No newline at end of file
diff --git a/musicplayer/update_music.lua b/musicplayer/update_music.lua
new file mode 100644
index 0000000..e52c663
--- /dev/null
+++ b/musicplayer/update_music.lua
@@ -0,0 +1,13 @@
+--similar math elements grouped to lower tokens
+flashtime = (ceil(t()*10%2) == 1) --for flashing elements (ship, score)
+circletimex = sin(t())*3 -- for elements that move in a circle (respawn timer)
+circletimey = cos(t())*3
+
+gt += scrollspeed + 1/600
+
+updateobjs() --update all objects
+
+if btnp(0) then tracknumber-=1 playmusic() elseif btnp(1) then tracknumber+=1 playmusic() end
+if btnp(4) and btnp(5) then music(-1,3000,3) end
+
+if tracknumber < 0 then tracknumber = 0 elseif tracknumber > 3 then tracknumber = 3 end \ No newline at end of file
diff --git a/particles.lua b/particles.lua
index b2202d2..eec59b3 100644
--- a/particles.lua
+++ b/particles.lua
@@ -12,11 +12,11 @@ function addcircle(x, y, velx, vely, r, time, color, grav)
grav = grav or 0
}
- function circle.draw(circle)
+ function circle.draw()
circfill(circle.x, circle.y, circle.r*sin(circle.time/circle.t), circle.col)
end
- function circle.update(circle)
+ function circle.update(cirle)
circle.x += circle.velx
circle.vely -= circle.grav
circle.y += circle.vely
diff --git a/players.lua b/players.lua
index 28ec9bb..a98c543 100644
--- a/players.lua
+++ b/players.lua
@@ -3,7 +3,7 @@ players = {}
function addplayer(x, y, sprite, bulletsprite)
local player = {
- health = 33, --3
+ health = 3, --3
x = x,
y = y,
w = 8,
diff --git a/ui.lua b/ui.lua
index 212da3b..51f8743 100644
--- a/ui.lua
+++ b/ui.lua
@@ -118,7 +118,7 @@ function finalscorescreen(x,y)
end
end
- printdropshadow(" THANKS FOR PLAYING\nPRESS ❎ ⁙ 🅾️ TO RETRY", x+19,y+80,11,3)
+ printdropshadow(" THANKS FOR PLAYING\nPRESS (❎ ⁙ 🅾️) TO RETRY", x+15,y+80,11,3)
printdropshadow("MADE WITH ♥ IN VANCOUVER\n ◆ 2022 ◆", x+14,y+113,9,2)
-- printdropshadow("◆ 2022 ◆", x+42,y+118,11,3)