Skip to content

Instantly share code, notes, and snippets.

@dethe
Created August 24, 2015 01:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dethe/dd910c3206de6c58d785 to your computer and use it in GitHub Desktop.
Save dethe/dd910c3206de6c58d785 to your computer and use it in GitHub Desktop.
pico-8 cartridge // http://www.pico-8.com
version 4
__lua__
-- heroic journey
-- by dethe
-- globals are evil and so am i
frame = 0
debug1 = ''
debug2 = ''
player_thought = ""
goblin_thought = ""
creatures_per_screen = 20
creatures = {}
max_speed = 6
location = {}
chest = {}
player = {}
-- constant variables, don't judge me
left = 0
right = 1
up = 2
down = 3
btn_a = 4
btn_b = 5
map_w = 16
map_h = 13
max_w = 128
max_h = 52
function gather_gold()
if (chest.is_open) return
if (chest.x < (player.x - 8)) return
if (chest.x > (player.x + 8)) return
if (chest.y < (player.y - 8)) return
if (chest.y > (player.y + 8)) return
chest.offset = 9
chest.frame = 9
chest.is_open = true
player.gold += randint(200)
end
function hit(sprite1, sprite2)
if (not sprite1.weap_frame) return
if (sprite2.is_dead) return;
if (sprite1.is_dead) return;
if (not sprite1.is_attacking and sprite1.type == 'player') return
if (sprite2.y < (sprite1.y - 7)) return
if (sprite2.y > (sprite1.y + 7)) return
if (sprite1.facing) then
if (sprite2.x < sprite1.x - (sprite1.reach + 8)) return
if (sprite2.x > sprite1.x) return
else
if (sprite2.x > sprite1.x + (sprite1.reach + 8)) return
if (sprite2.x < sprite1.x) return
end
if sprite1.type == 'player' then
-- sprite dies, collect points
-- debug2 = sprite2.type
sprite1[sprite2.type] += 1
sprite1.points += sprite2.points
sprite2.offset = 35
sprite2.no_frames = 1
sprite2.horiz_acc = 0
sprite2.is_attacking = false
sprite2.is_jumping = false
sprite2.is_dead = true
else
if sprite1.type == 'defender' then
sprite1.is_attacking = false
end
sprite2.hp -= 1
if sprite2.hp < 1 then
sprite2.is_dead = true
end
end
end
function fight(sprite)
hit(player, sprite)
hit(sprite, player)
end
function get_sprite(x,y,offset,no_frames)
local sprite = {}
sprite.x = x
sprite.y = y
sprite.speed = 1
sprite.is_jumping = false
sprite.vert_acc = 1
sprite.horiz_acc = 0
sprite.frame = offset
sprite.offset = offset
sprite.no_frames = no_frames
sprite.is_attacking = false
sprite.facing = false -- true is left, false is right
return sprite
end
function init_player()
player = get_sprite(31,15,16,8)
player.weap_off = 48
player.weap_no = 8
player.weap_frame = 48
player.reach = 6
player.defender = 0
player.unarmed = 0
player.child = 0
player.hp = 3
player.points = 0
player.gold = 0
player.type = 'player'
end
function init_location(dx, dy)
location.left = dx
location.top = dy
location.right = dx + map_w
location.bottom = dy + map_h
init_creatures()
init_chest()
end
function p2m(x)
-- pixel location to map
-- location
return flr(x / 8)
end
function constrain_location()
if (location.right > max_w) then
location.left = 0
location.right = map_w
end
if (location.left < 0) then
location.right = max_w - 1
location.left = max_ - (map_w + 1)
end
if (location.bottom > max_h) then
location.top = 0
location.bottom = map_h
end
if (location.top < 0) then
location.top = max_h - (map_h + 1)
location.bottom = map_h - 1
end
end
function update_location()
local update_loc = false
if p2m(player.x + 1) > (location.right - 1) then
location.right += map_w
location.left += map_w
update_loc = true
end
if p2m(player.x + 7) < location.left then
location.right -= map_w
location.left -= map_w
update_loc = true
end
if p2m(player.y + 1) > (location.bottom - 1) then
location.top += map_h
location.bottom += map_h
update_loc = true
end
if p2m(player.y + 7) < location.top then
location.top -= map_h
location.bottom -= map_h
update_loc = true
end
if update_loc then
-- debug1 = 'location '..location.left..','..location.top
constrain_location()
init_creatures()
init_chest()
end
end
function get_random_loc()
local x = flr(rnd(16)) + location.left
local y = flr(rnd(16)) + location.top
while fget(mget(x,y), 0) do
x = flr(rnd(16)) + location.left
y = flr(rnd(16)) + location.right
end
local result = {}
result.x = x * 8
result.y = y * 8
return result
end
function get_random_sprite(x,y)
local val = rnd(1)
local result = false
-- off -> offset for sprites
-- no -> number of sprites
if (val < .2) then
-- defender goblin
result = get_sprite(x,y,4,4)
result.speed = .7
result.weap_off = 36
result.weap_no = 4
result.weap_frame = 36
result.type = 'defender'
result.is_attacking = true
result.points = 2
result.reach = 4
end
if (val >= .2 and val <= .5) then
-- unarmed goblin
result = get_sprite(x,y,2,2)
result.speed = .9
result.type = 'unarmed'
result.points = 3
end
if (val > .5) then
-- child goblin
result = get_sprite(x,y,24,2)
result.speed = .5
result.type = 'child'
result.points = 5
end
if rnd(1) < .5 then
result.horiz_acc = -result.speed
result.facing = true
else
result.horiz_acc = result.speed
result.facing = false
end
return result
end
function init_creatures()
for i=1,creatures_per_screen do
local loc = get_random_loc()
creatures[i] = get_random_sprite(loc.x, loc.y)
end
end
function init_chest()
local loc = get_random_loc()
chest = get_sprite(loc.x, loc.y, 8, 1)
chest.is_open = false
end
function jump(sprite)
if sprite.is_jumping then
return
end
sprite.is_jumping = true
sprite.vert_acc = - (6 * sprite.speed)
end
function flag_at_point(x, y, flag)
local sx = flr(x / 8) % max_w
local sy = flr(y / 8) % max_h
return fget(mget(sx,sy), flag)
end
-- how far can we move before colliding?
function collide_right(sprite, max_x)
if (max_x < 0) then
return collide_left(sprite, -max_x)
end
local sx = sprite.x + 9
local sy = sprite.y
local result = {}
result.collision = false
result.move = max_x
for x=0,max_x do
if flag_at_point(sx+x, sy+1, 0) or flag_at_point(sx+x, sy+6, 0) then
result.collision = true
result.move = x
return result
end
end
return result
end
function collide_left(sprite, max_x)
if (max_x < 0) then
return collide_right(sprite, -max_x)
end
local sx = sprite.x - 1
local sy = sprite.y
local result = {}
result.collision = false
result.move = -max_x
for x=0,max_x do
if flag_at_point(sx-x, sy+1, 0) or flag_at_point(sx-x, sy+6, 0) then
result.collision = true
result.move = -x
return result
end
end
return result
end
function collide_down(sprite, max_y)
local sx = sprite.x
local sy = sprite.y + 9
local result = {}
result.collision = false
result.move = max_y
-- always move max when jumping up
if max_y < 0 then
return result
end
-- always fall if you're *in* a block
if flag_at_point(sx+1, sy-2, 0) or flag_at_point(sx+6, sy-2, 0) then
return result
end
for y = 0,max_y do
if flag_at_point(sx+1, sy+y, 0) or flag_at_point(sx+6,sy+y,0) then
result.collision = true
result.move = y
return result
end
end
return result
end
function move(sprite)
-- vertical: jumping and falling
col = collide_down(sprite, sprite.vert_acc)
sprite.y += col.move
if col.collision then
sprite.vert_acc = 1 -- always have some vert_acc so we fall
sprite.is_jumping = false
else
sprite.vert_acc = min(sprite.vert_acc + 1, max_speed)
end
-- horizontal
col = collide_right(sprite, sprite.horiz_acc)
sprite.x += col.move
sprite.x = sprite.x % (max_w * 8)
sprite.y = sprite.y % (max_h * 8)
end
function get_input()
if btn(right) then
player.horiz_acc = 1
player.facing = false
else
if btn(left) then
player.horiz_acc = -1
player.facing = true
else
player.horiz_acc = 0
end
end
if btn(up) then
jump(player)
else
if btn(down) then
-- duck?
end
end
if btn(btn_b) then
player.is_attacking = true
end
end
_player_thoughts = {
"gotta kill these vermin",
"can't let them spread",
"dead goblins are good goblins",
"disgusting creatures",
"this filth threatens us all",
"only humanity is pure",
"must kill these impure beasts",
"god is on my side, scum",
"i'm so proud of my country",
"die goblin scum!",
"theres no escape!",
"the righteous shall preval",
"gold for a sharper sword!",
"you're all monsters",
"killing you is my holy duty",
"let goblin blood be a river",
}
_goblin_thoughts = {
"another of the crazy humans, run!",
"save the children!",
"he's after the orphan fund",
"someone help us!",
"noo, not my baby!",
"he killed billy!",
"our money for a new well!",
"help!",
"tell my kids i love them",
"run, warn the others!",
"i'll slow him down, run!",
"protect the children",
"why? we've done nothing!",
"all we want is peace",
"he took the hospital savings",
"how can you do this to us?",
}
function randint(x)
-- returns random number between
-- 1 and x, inclusive
return flr(rnd(x-1)) + 1
end
function choose(t)
-- returns a random item from
-- a list table
return t[randint(count(t))]
end
function think()
if ((frame % 60) == 0) then
goblin_thought = choose(_goblin_thoughts)
end
if (((frame + 30) % 60) == 0) then
player_thought = choose(_player_thoughts)
end
end
function animate(sprite)
sprite.frame = sprite.offset + (flr(frame / 3) % sprite.no_frames)
if sprite.is_attacking then
if (frame % 3) == 0 then
sprite.weap_frame += 1
if sprite.weap_frame >= (sprite.weap_off + sprite.weap_no) then
sprite.weap_frame = sprite.weap_off
sprite.is_attacking = false
end
end
end
end
function draw(sprite)
local x = sprite.x - (location.left * 8)
local y = sprite.y - (location.top * 8) + 16 -- offset to match map
spr(sprite.frame, x, y, 1,1, sprite.facing)
if sprite.weap_frame then
spr(sprite.weap_frame, x, y, 1,1, sprite.facing)
end
end
function show_thoughts()
if #debug1 > 0 then
print(debug1, 0, 0, 10)
else
print(player_thought, 0, 0, 10)
end
if #debug2 > 0 then
print(debug2, 0, 120, 11)
else
print(goblin_thought, 0, 120, 11)
end
end
function _init()
init_location(0,0)
init_player()
end
function _update()
frame += 1
get_input()
for i=1,creatures_per_screen do
local c = creatures[i]
move(c)
if not c.is_dead then
if (collide_right(c, c.horiz_acc).collision) then
if rnd(1) < .5 and not c.is_jumping then
c.horiz_acc = -c.horiz_acc
c.facing = not c.facing
else
jump(c)
end
end
end
animate(c)
end
move(chest)
move(player)
update_location()
gather_gold()
animate(player)
think()
foreach(creatures, fight)
-- debug2 = 'player: '..p2m(player.x)..','..p2m(player.y)
end
function show_points()
for heart=0,player.hp-1 do
spr(34, heart * 8, 8)
end
print(player.points..' points', 32, 8, 9)
print(player.gold..' gold', 78, 8, 8)
end
function draw_frame()
map(location.left, location.top, 0,16, map_w,map_h)
draw(chest)
for i=1,creatures_per_screen do
draw(creatures[i])
end
draw(player)
show_thoughts()
show_points()
end
function draw_death_screen()
print('game over')
print('')
print('you died for god and country with')
print(''..player.gold..' gold')
print(''..player.points..' points')
print('')
print('you killed '..player.defender..' defender goblins')
print('you killed '..player.unarmed..' unarmed goblins')
print('you killed '..player.child..' child goblins')
print('')
print('your mother must be so proud')
end
function _draw()
cls()
if (player.is_dead) then
draw_death_screen()
else
draw_frame()
end
end
__gfx__
000000008888000000000000000000000333000000033300000333000000333000000000000000000000000000aa0a000d00d0d006666b603333333333333b33
000000008888000000333000003330000b2b0000000b2b00000b2b0000002bb000000000000000000b00b0b003a0b333d00d000d5555555545446344449f4454
00000000888800000b323000003230000bbb0b000b0bbb00000bbb000000bbb00000000000424240033b003038b0bb830d00d0d056655456444844544f444944
00000000888800000bbbb000bbbbbb000bbbbb000bbbb000000bbbb0000bbbb000000000040060040033033030b00b03d00d000d4555565544444444444444f4
000000000000888800bbbbb000bbbb0000bbbb0000bbbb00000bbbb000b0bbbb00424240020000020b03330030b80b030d00d0d0566666554944449446494444
000000000000888800bbb00000bbb00000bbb00000bbb000000bbbb00000bbb0044464440400000400040000330bbb38040040405455554644464494f4544444
00000000000088880010100000101000011010000011100000010100000010100444644404446444000400000330033004004040556655554444454444444494
00000000000088880010010001001000010010000010100000010010000100100444444404444444000400000004400004004040044445404444444444f46444
00aaa00000aaa00000aaa00000aaa00000aaa00000aaa00000aaa00000aaa00000000000000000007777777777777777777777777777777734333333bbb3bbb4
00afc00000afc00000afc0000aafc00000afc00000afc00000afc00000afc0000000000000000000700000000000000000000007777777774444444444444446
0a0ff00000aff0000a0ff000000ff0000a0ff00000aff0000a0ff0000a0ff0000000000000000000700000000000000000000007777777775444644444444444
000999000009990000099900000990000009900000099900000990000009990000330000003300007000000000000000000000077777777744b5446446494464
00099000000990000009900000999000009990000009900000099900000990000bb2000000b2b000700000000000000000000007777777774445494444444444
000990000009900000099000000990000009900000099000000990000009900000bbb0000bbb0000700000000000000000000007777777774944444444645944
000404000004400000404000004040000040400000040400000404000040400000b1000000b10000700000000000000000000007777777774444944f44444445
00400400004040000040400004004000004040000040040000040040004004000010100001010000700000000000000000000007777777774444444494454444
0000000000000000000000000000000000000aa400a4a00004aa0000000000000000000000000000700000006666666600000007777777777777777777777777
0000000000000000008808800000000000000a4a0aa4aa000a4a00000a0000000000000000000000700000006566666600000007777777777777777777777777
00000000000000000887888800000000000004aa00a4a0000aa40000aaa000000000000000000000700000006666646600000007777777777777777777777777
00000000000000000878888e00000000000040000004000000004000444444400000000000000000700000006664666600000007777777777777777777777777
0000000000000000008888e000000000000400000004000000000400aaa000000000000000000000700000006666656600000007777777777777777777777777
000000000000000000088e00000000000040000000040000000000400a0000000000000000000000700000006566666600000007777777777777777777777777
00000000000000000000e00000383000040000000004000000000004000000000000000000000000700000006666666600000007777777777777777777777777
000000000000000000000000038b8830000000000000000000000000000000000000000000000000700000006666466600000007777777777777777777777777
00000060000000600000000600000000000000000000000000000000000000000000000000000000700000000000000000000007777777777777777777777777
00000060000000600000006000000066000000000000000000000000000000000000000000000000700000000000000000000007777777777777777777777777
00000060000006000000060000000600000006660000000000000000000400000000000000000000700000000000000000000007777777777777777777777777
00000040000004000000400000044000000440000004466600044600000046000000000000000000700000000000000000000007777777777777777777777777
00000040000040000004000000000000000000000000000000000066000000600000000000000000700000000000000000000007777777777777777777777777
00000000000000000000000000000000000000000000000000000000000000060000000000000000700000000000000000000007777777777777777777777777
00000000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000000000007777777777777777777777777
00000000000000000000000000000000000000000000000000000000000000000000000000000000777777777777777777777777777777777777777777777777
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000a0000000000000000000a000000000000000e0e0000000e0000000000000000000000000d0d00000000000000000000000b2b2b2b2b200000000000000
000000000000000000000000000000000000000000000000000000e1e1e1e1000000000000000000e1e100000000000000e1e100000000000000000000000000
00e0e0e0e0e0e0e000000000e0e0e0e0e00000e0e0e0000000000000000000c00000000000000000000000000000000000000000000000000000000000000000
000000b2b2b20000000000000000000000000000e1e100000000e1e1000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000e0e000000000000000000000e000000000000000000000e0e0e000000000000000000000000000e1e1e1e1000000000000e1e1e1e1e1000000
00000000000000000000b2000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000e1e1e1e1e1e10000
000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000e1e1e1e1e1e1e100000000000000
0000000000000000b2b2b20000000000000000000000000000000000000000000000e1e1e1e1e100000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000c000000000000000f0f0f0f00000e0e000e0e000000000000000e10000000000000000
00000000000000000000000000b2b2b2b20000000000000000000000000000000000000000000000000000000000b2b2b2b2b2b2b20000000000000000000000
00000000000000f1f1f1000000000000f1f10000f1f1000000000000e1e10000000000f000000000000000000000000000e1e1000000e1000000f0f0f0f000f0
f0f000f0f00000000000000000000000b200000000d0d0d000000000000000000000000000000000000000000000000000000000000000000000b2b200000000
00000000f1f1f1000000000000f1f1f10000000000000000000000000000000000000000000000000000000000000000000000e1e1e100000000000000000000
0000000000000000000000000000000000000000000000000000000000b200000000000000d0000000000000000000000000e0e0e0e000b2b2b2000000b2b2b2
0000000000000000000000000000000000000000000000000000000000000000e0e0e0e0000000000000000000b2b2000000000000000000000000000000e1e1
e1e100000000000000000000000000000000000000000000000000000000b200000000000000000000b2b2b2000000e0e0e000000000b20000000000b2b20000
00000000000000000000000000000000000000000000000000e1e1e1000000000000000000000000000000000000b2b2b2b200b200b2b2000000000000000000
000000000000000000d0000000000000000000000000000000000000000000b2b2b2b20000000000000000000000000000000000000000000000000000000000
0000000000000000f1f1f1f1f1f1f10000f1f1f1f1f1000000000000e1e1000000000000000000000000e1000000000000000000000000000000000000000000
000000000000000000d0d0d0d0000000b2b2b200b200b2b200b20000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000f0f0f0f0f00000000000000000e1e1e1e1000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000000000000000
0000f1f1f1f10000000000000000000000000000000000000000000000000000000000e1e1e10000000000000000000000000000000000000000000000000000
00000000e1e10000000000000000000000000000000000000000b2000000000000000000000000000000000000000000000000b2b2b2b2b200000000b2b20000
000000b20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f0000000000000
e1e1e1e10000000000b2b2b2b200000000000000000000000000b2b2000000000000000000e0e0000000000000b20000000000000000000000000000000000b2
b200b2b200000000000000000000f1f1f1f100000000f1f1f1000000000000000000000000000000000000000000000000f000f00000f000f000000000000000
000000000000000000000000000000d0d0d0d000d000000000000000b20000000000000000000000000000b2b20000000000e000000000000000000000000000
000000000000f1f1f1f100000000000000f10000000000000000000000e100e10000000000000000000000f0f000f00000000000000000000000000000000000
000000000000000000000000000000000000000000d000000000000000b20000000000000000000000000000000000000000e0e0e000e000e0e0000000000000
0000000000f1f100000000000000000000f1f10000000000000000e1e1e100000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000d0d0000000000000b200b2b2000000000000000000000000000000000000000000000000000000000000
0000000000000000000000f1f1f10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e10000
0000000000000000000000000000000000000000000000000000000000000000e0e0e0e000e0000000e000e000e0000000000000000000000000000000e0e0e0
e00000000000000000000000000000000000f1f1f1f1f100000000000000000000000000000000e1e1e1e100000000000000000000000000000000000000e1e1
e1e100e1e1e1e100000000b2b2b200b2b2b200b2b200000000000000000000000000000000000000000000000000000000000000d0d0d0000000000000000000
0000000000000000000000000000000000f1f10000000000000000000000000000f0f0f0f0f00000000000000000000000000000000000000000000000000000
0000e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000f1f1f1f100f1f1f1f10000e0e0e0e0e0e0e0e00000000000000000e10000000000000000000000000000000000000000e1e100e1e1e1e10000000000
00000000000000000000000000000000000000000000000000b20000000000000000e0e0e000e0e0e0000000000000000000000000000000e0e0e0e0e0000000
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
__gff__
0001020202020202000000000001010100000000000000000202000000000101000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0e1f0e1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f1f1f1f00000000000000000000001f1f1f1f0000000000000000000000000000000000000000000d000000000d0000000000000000000000000000000000000000000000000000000000000000
000000000000001e00000000000000000000000000000000000000000000000f0f0f0f0000000000000000000000000000000000000000000000001e1e1e00000000000000000000001e1e1e1e00000000000000000000000d000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000f1e0f000000000b0c000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000d000000000000000000000000000000000000000000001e000000000000
000000000000000000000f0f0e000d00000000000000000e0e0e0e00000000000000000000000000000000001f1f1f1f001f1f1f1f0000000000000000000000000000000000000d0d0d0000000000000000000d0000000000000e0e0e0e0e0e0e0000000000000000001e1e1e001e00001e0000001e00001e00001e00000000
000000000000000c0c000000000f0f0f000000000000000000000000000000000000000000000f0f00000000000000000000000000001f1f1f1f1f1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000e0e0f00000000000000001f000000000000000000000e000000000f0f0f0f0f00000000000000001f0000000000000000000000000000000000001f1f1f001f000000000000000000000d0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000c00000d00000a000b00000b00000000001f1f1f1f00000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000001e1e1e000000000d0d0d000000000000001e0000000000000000000d000000000000000000000d0d0000000000000000000000000000
0e0e0f0e0e0f0f0e0e0f0e0e0e0f0f0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e1e00000000000000000000000000000000000000000d000d00000d000d000000000000000000000d0000000000000000000d000000000000000000000000000000
000000000000002b2b2b2b000000000000000d00000000000000000000000000000f0f0f000000001f00000000000000001f1f1f0000001f1f1f1f00000000000000000d0d0d0d0000000000000000000000000000000000000000000000000d000000000d00000d0d0000000d000d0000000000000000000000000000001e00
000e0e0e000000002b2b2b00000a00001e1f1f0000000e0e0e0e0e000000000f0f0f0000000000000000000000000000000000000000001f000000001f000000000000000000000d0d0000000000000000000000000000000000000000000000000000000000001e0d00001e000000001e00001e00001e00001e1e00001e0000
0e0000000e000000002b2b00001f1f1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d00000000000d00000000000000000000000d0000000000000000000000000000000000001e1e000000
00000000000c000d0000000000000000000000001f0000000000000000000000000000000000000000000000000000001f1f1f1f1f00000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000d000000000000000000000000000000000000000000001e1e00000000
1e1e000e0e0e001f1e0e0e0d000000001e0e1e1f00000000000c000f0000000000000000000f0f0f0f000f0f0f0f0000000000000000001e1e1e000000000000000000000000001e000000000000000d0000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000
000000000000000000002b2b0d00001e000000000000000f0f0f0f0f000000000000000000000000000000000000000000000000000000000000000000001e1e00000000001e1e000000000d00000000000000000000000e0e0e0e000000000e0e0e000000000000000d001e000000001e0000001e1e001e1e1e1e00001e1e00
00000000001e1e00000000000000000000000000000000000000000000000000000000000000000a0a0000000000000000001f1f1f1f0000000000001e1e000000001e1e1e0000000d000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000001e000000001e001e000000
1e001e1e1e1e001e1e1e000000000000000000000e0e0e0e00000000000000000a0000000f0f0f0f0f0f00000000000000000000000000000000001f1f0e0e0e0e0e0000000000000d0d0d0d00000d0000000000000000000000000000000000000000000000000d00000000000d000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000f0f00000000000000000000001f1f00000000000000000000000000000000000000000000000000000000000000000000000d00000d000000000000000d000000000000000d00001e00000d1e000d000d000000000000001e00000000000000
0000000000000000000000000000000000000000000000000000000000000f0f000000000000000000000000000000001f1f1f00000000001e1e1e1e1e000000000000000000000000000000000000000000000000000d00000000000d0000001e000d001e00000000000000000000000d0d000d0d0000000000000000001e1e
0000000000000000000d0d0d000d0d0d0d0d0d000f0f0f0f00000000000000000000000000000000000000000000001f0000000000000000000000000000000000002b2b2b2b2b2b000000000000000000000d000000000000000000000000001e1e00000000000000000d0d0000000d1e00000d000000000000000000000000
00000f0f0f0f0f00000d0000000000000000000000000000000000000000000000000000000000001f1f1f1f1f0000000000000000002b2b2b0000000e0e000000000000000000000000000000000d001e1e1e0d000d00000d0000000d00000000000000000d0d0d0d0d000000000d0d000d001e0000000000001e1e1e1e0000
00000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000002b2b2b000000000000000000000000000000000d0d0d0d0d0d0d0d1e1e0d00000d000000000000000d00000d00000d00000000000d000d0000000000001e001e0000000000000000
000000000000000000000000000000000f0f0f0f00000000000000000f0f0f0f0f0f00000f0f0f0f000000001f1f1f001f001f001f1f1f00000000001e1e00000000000000000e0e0e000000000d0d0000000000001e1e1e0000000d0000000000000d000000000000000000000d000000000000000000000000000000000000
0000000000000a000000000d0d0d0d0d0d0000000f0f0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0d000000000000000000001e00000000000d0d00000000000000000000000d0d00000000000000000000000000000000000000
00000000000d0d0d000d0000000000000000000000000000000000000000000000001f0000001f1f000000000000000000000000000000000000000000000000000000000d000000000000000d0d0d0d00000000000000000000000d00000000000000000d0000000d0000000000000000000000000000001e00000000001e1e
00000000000d0000000000000000000000000000000000000000000000000000000000001f1f1f0000000000001f1f1f1f00001f001f001f1f1f1f00000e0e00000000000d000000000000000000001e1e0d00000d0000000d001e000000000000000000000000001e1e1e1e1e00001e00001e001e001e1e0000000d00000000
000000000000000000000d0d0d0d0d00000000000000000f000f0f0f0f0000001f0000001f00000000000000000000000000000000000000000000000000000e0e0e00000d000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000d0d00000000
0000000000000000000000000000000000000d000000000f0f0f00000000001f0000000000000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000000000000000000000d000d0d0d000d0d000d00000d0d000000000000
000d0d0d0d00000000000000000000000000000000000000000000000000000000000000000000000e0e0e0e0e000000000000002b2b2b2b2b0000000000000000000000000d0d0000000000000000000000000000000000000000000000001e1e1e1e1e001e1e00000000000000000000000000000000000000000000000000
0000000000000000000000000a0a00000d0000000000000000000000001f1f1f1f1f1f0000000000000000000000000000000000000000000000000000000000000000000000000d0d0d0d000d000d0d000d001e000000001e1e0000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000d0d0d000d0d0d0d0d0d0000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000002b000000000000000000000000000000001e1e000000000000000000000000000000000000000000000000001e1e1e000000001e1e00000000001e1e001e
0000000000000000000000000000000000000000000e0e000000000e0e000e0e0e0000000000000000000d000d0000001e1e00000000000000000000002b2b2b2b2b000000000000000000000000000000000000000000000000000000000000000000000000000000001e1e001e000000000000000000000000000000000000
__sfx__
000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__music__
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment