require "final"
require "fade"
require "audio"
require "dead"
require "scenes"
require "trigger"
require "score"
require "switches"
require "map"
require "mapa"
require "bol"
require "invisibl"
require "gota"
require "fireball"
require "cacau"
require "bambolla"
require "imp"
require "gps"
require "peu"
require "gorro"
require "batman"
require "elalien"
require "premiere"
require "caco"
require "zombie"
require "abad"
require "intro"
require "game"

--require "fade"
--require "audio"
--require "intro"

function mini.init()
    tiles=surf.load("tiles.gif")
    surf.source(tiles)
    local paleta=pal.load("tiles.gif")
    pal.set(paleta)

    logo=surf.new(36,5)
    back=surf.new(128,96)
    fade.init()

    audio_text_abad     = sound.load(audio_text_abad)
    audio_text_premiere = sound.load(audio_text_premiere)
    audio_text_elalien  = sound.load(audio_text_elalien)
    audio_text_batman   = sound.load(audio_text_batman)
    audio_abad_jump     = sound.load(audio_abad_jump)
    audio_abad_fall     = sound.load(audio_abad_fall)
    audio_abad_hit      = sound.load(audio_abad_hit)
    audio_abad_shot     = sound.load(audio_abad_shot)
    audio_abad_step[1]  = sound.load(audio_abad_step[1])
    audio_abad_step[2]  = sound.load(audio_abad_step[2])
    audio_abad_step[3]  = sound.load(audio_abad_step[3])
    audio_abad_step[4]  = audio_abad_step[2]
    audio_switch        = sound.load(audio_switch)
    audio_hit           = sound.load(audio_hit)
    audio_low           = sound.load(audio_low)

    keyUp = tonumber(config.key("keyup")) or key.UP
    keyDown = tonumber(config.key("keydown")) or key.DOWN
    keyLeft = tonumber(config.key("keyleft")) or key.LEFT
    keyRight = tonumber(config.key("keyright")) or key.RIGHT
    keyJump = tonumber(config.key("keyjump")) or key.UP
    keyShoot = tonumber(config.key("keyshoot")) or key.SPACE

    btnUp = tonumber(config.key("btnup")) or  pad.UP
    btnDown = tonumber(config.key("btndown")) or  pad.DOWN
    btnLeft = tonumber(config.key("btnleft")) or  pad.LEFT
    btnRight = tonumber(config.key("btnright")) or  pad.RIGHT
    btnJump = tonumber(config.key("btnjump")) or  pad.B
    btnShoot = tonumber(config.key("btnshoot")) or  pad.A
    btnCycle1 = tonumber(config.key("btncycle1")) or  pad.RIGHTSHOULDER
    btnCycle2 = tonumber(config.key("btncycle2")) or  pad.LEFTSHOULDER
    btnPause = tonumber(config.key("btnpause")) or  pad.START

    --game_init()
    intro_init()
    --final_init()
end

function mini.update()
    if key.press(key.F1) then
        win.zoom(win.zoom()-1)
    elseif key.press(key.F2) then
        win.zoom(win.zoom()+1)
    elseif key.press(key.F3) then
        local fs = win.fullscreen()
        win.fullscreen(not fs)
        win.cursor(fs)
    end

    if (game_update) then game_update() end
end

function text(str,x,y,col)
    draw.text(str,x-1,y-1,16)
    draw.text(str,x,y-1,16)
    draw.text(str,x+1,y-1,16)
    draw.text(str,x-1,y,16)
    draw.text(str,x+1,y,16)
    draw.text(str,x-1,y+1,16)
    draw.text(str,x,y+1,16)
    draw.text(str,x+1,y+1,16)

    draw.text(str,x,y,col)
end
