Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Pixel Art 1.0.3

em2em2
edited July 28 in General Posts: 23

Here is pixel art creator I designed for my projects that I decided to release to the public. Just run the installer. If all goes well, reload the project and it should work. If you find any bugs, report them to me and I will try my best to fix them. Here's the code:

--# Main

--Pixel Art Single Install
--Installer created by @Briarfox
--- This will pull the Pixel Art project into Codea for you
-- Instructions:
-- * Create a new project in Codea named Pixel Art If you chose another name please change the variable Below
--This is case sensitive
ProjectName = "Pixel Art"
-- * Paste this into the Main (not from the raw view, as iSafari will escape special characters)
-- * Make sure there is a single tab in the project
-- * Run and wait for success!
-- If all went well, you should have a Pixel Art project now


function setup()
    local jsonCode
    getJsonLib()
end

function getJsonLib()
    local tabs = listProjectTabs()
    if #tabs == 1 then
        print("Attempting to load json...")
        local handleSuccess = function(data)
            --saveProjectTab("json", data)
            jsonCode = data
            --sound(SOUND_POWERUP, 42179)
            print("json code loaded...")
            if jsonCode then
                print("Attempting to pull project...")
                l = loadstring(jsonCode)
                l()
               GetProject() 
            end
        end
        http.request("https://dl.dropboxusercontent.com/s/9e4nvqeu4hsux2q/Json.lua?token_hash=AAFyMB98j4bnt_1gawf9wSke52hsoC7hsIvARcTuZNeOEw&dl=1", handleSuccess)
        end
end

function GetProject()
    local projectCheck = listProjectTabs(ProjectName)
    if #projectCheck ~= 0 then
   local handleSuccess = function(data,i,j)
        local gist = json.decode(data)
        local projName = ProjectName
        if gist.files["1aTabOrder"] then
            print("***Tab Order Found***")
            local taborder = gist.files["1aTabOrder"].content
            local strStart =1
            local strEnd =0
            strStart = string.find(taborder,"#",strEnd)
            strEnd = string.find(taborder,"\n",strStart)
            while strStart do
                local tmp = string.sub(taborder,strStart+1,strEnd-1)
                local name = ProjectName..":"..tmp
                tmp = tmp..".lua"
                saveProjectTab(name,gist.files[tmp].content)
                strStart = string.find(taborder,"#",strEnd)
                strEnd = string.find(taborder,"\n",strStart)

            end    
        else
            for k,v in pairs(gist.files) do
                local name = ProjectName .. ":" .. string.gsub(k,".lua","")
                saveProjectTab(name, v.content)
            end
        end
        sound(SOUND_PICKUP, 11797)
        print("Success!")
    end
    local handleFailure = function(data)
        sound(SOUND_EXPLODE, 32351)
        print(data)

    end 
    http.request("https://api.github.com/gists/32c0a5dbf893f02e99f1b0d3a063f09c",handleSuccess, handleFailure)
    else
        output.clear()
            sound(SOUND_EXPLODE, 32351)
            print([[ERROR
Project name incorrect! 
Please make sure the variable ProjectName = "your project" matches the project name.
This is case sensitive!]])
        end
end

Many thanks to @Briarfox, @DayLightTimer, @LightDye, @Andrew_Stacey, and @Herwig for their excellent libraries.

Sign In or Register to comment.