diff --git a/main.p8 b/main.p8 index 3777237..84a7f22 100644 --- a/main.p8 +++ b/main.p8 @@ -68,27 +68,27 @@ __gfx__ 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +fffffffff000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff0000fff00000000000000000000000000000000000ff00000000000fff0000000000000000000000000000000000000000000000000000000000000000000 +0ff00000ff000ffff00ffff00fff00ffff000ff0fff00f00fffff000000fff000000000000000000000000000000000000000000000000000000000000000000 +0ff0000ff000f000ff00ff0000f00f000ff0ffff00ff000ff000f00000fff0000000000000000000000000000000000000000000000000000000000000000000 +0ff0fff000000000ff00ff0000f0ff000ff00ff000ff000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff00ff000000fffff000ff00f00fffffff00ff000ff000ffff00000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff000ff0000f000ff000ff00f00ff0000000ff000ff00000ffff000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff0000ff00ff000ff0000f0f000ff0000000ff000ff0000000ff000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff00000ff0ff00fff0000fff0000ff000f00ff000ff000f000ff000000000000000000000000000000000000000000000000000000000000000000000000000 +ffff0000fff0fff0fff0000f000000ffff00ffff00fff00fffff0000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +fffffffff0000000000000000000000000fff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff0000fff0000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff00000ff000ffff00000ffff00000fff0ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff0000ff000ff00ff000ff00ff000ff00fff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff0fff0000ff0000ff0ff0000ff0ff0000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff00ff0000ff0000ff0ff0000ff0ff0000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff000ff000ff0000ff0ff0000ff0ff0000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff0000ff00ff0000ff0ff0000ff0ff0000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0ff00000ff00ff00ff000ff00ff000ff00fff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +ffff0000fff00ffff00000ffff00000fff0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 diff --git a/state_menu.lua b/state_menu.lua index a1ef285..6517d9f 100644 --- a/state_menu.lua +++ b/state_menu.lua @@ -1,19 +1,81 @@ state_menu=klass() function state_menu:init() + self.selection=1 + self.options={ + menu_option:new(function() return "excavate" end,function() + main.state_manager:push(state_excavate_menu:new()) + end), + menu_option:new(function() return "archaeology" end,function() + end), + menu_option:new(), + menu_option:new(function() return "music" end,function() + end), + menu_option:new(function() return "reset data" end,function() + end) + } end function state_menu:enter() end function state_menu:exit(new_top) end -function state_menu:reenter() end +function state_menu:reenter() + self.selection=1 +end function state_menu:suspend() end function state_menu:update() - -- if (btnp(0)) self.outcome="menu" self.done=true - -- if (btnp(4)) self.outcome="restart" self.done=true + if (btnp(0) or btnp(4)) self.options[self.selection]:cb() + + local vel=0 + if (btnp(2)) vel-=1 + if (btnp(3)) vel+=1 + if vel!=0 then + while true do + self.selection=(self.selection+vel-1)%#self.options+1 + if (self.options[self.selection].cb!=nil) break + end + end end function state_menu:draw() cls(13) - print("i am the menu",1,55,7) - print("i kinda suck",1,61,7) - print("i'll get better later",1,67,7) + local optionsh=1 + for o in all(self.options) do + optionsh+=2 + if (o.cb) optionsh+=4 + end + local totalh=optionsh+32 + local y=128-totalh-1--64-totalh\2 + spr(64,68,y,7,3) + y+=22 + line(68,y,126,y,15) + y+=2 + local optionsy=y+1 + rectfill(68,y,126,y+optionsh-1,4) + y+=optionsh+1 + line(68,y,126,y,15) + y+=2 + print("by pyrex & nyeo",68,y,15) + + local y1=y + + local x=69 + y=optionsy + for i=1,#self.options do + local o=self.options[i] + if (self.selection==i) spr(71,x-7+cos(time())*0.5,y) + local fg=13 + if (o.cb) fg=15 + if o.name then + print(o.name(),x,y,fg) + y+=6 + else + line(x-1,y,x+57,y,fg) + y+=2 + end + end +end + +menu_option=klass() +function menu_option:init(name,cb) + self.name=name + self.cb=cb end \ No newline at end of file diff --git a/tutorial.lua b/tutorial.lua index d670f91..01ca919 100644 --- a/tutorial.lua +++ b/tutorial.lua @@ -34,5 +34,5 @@ tutorial={ function() return watcher:new(progression[5]) end, function() return watcher:new(progression[6]) end, function() return watcher:new(progression[7]) end, - completion_stage=99--3 + completion_stage=3 }