Beta 2.1 (1)

####Bug:
when i stop some project with a shader i get this error:

error: Game frame time exceeded. Skipping frame.

it doent really matter, because this is when closing the project, but i though you should know.

@Simeon, when I take a screenshot and then I hit save, or set icon, it dismisses the popup. What if I wanted to set it as the icon AND save it?

@JakAttak good point. Do you think that is often the case?

@Simeon, I found myself wanting to do it earlier, because I took a screenshot (intending to save it) and decided to set it as the icon because it was nice, then I was unable to save it.

@JakAttak but cant you take the screenshot once again?

@Jmv38, not with fast moving objects, etc.

####Bug (in error management)
i try to use http.request and i get this error:

error: attempt to call a nil value

it doesnt say the line number so i dont know where the error is!

####Bug:
restart() kills codea. I dont know how it was with previous versions.

####Bug:
i get a strange behavior with dependancies:

  • i have a dependancy to my buttons library.
  • my program creates buttons with it.
  • it work fine.
  • if i deselect the dependancy, then the program wont run. No error, no warning. It just wont run… Then i cant debug it, i dont know what it doesnt like?

####Editor bug:
the color() sometimes is recognized as a color, and shown, and sometimes not. Example:

local rectStyleEmpty = {fill=color(0,0,0,0) } --<<<<<<<<<<<<<<<<<<< here GOOD
local w,h,dx,dy = 100,100,20,20

local function firstButton(screen,name,txt)
    local b = Button(name,nil,nil,w,h)
    b.txt:setStyle(txtStyle)
    b.txt:setText(txt)
    b.rect:setStyle(rectStyle)
    if txt == "empty" then b.rect:setStyle({fill=color(0,0,0,0)}) end --<<<<<<<<<<<<<<<<<<< here BAD
    b:addTo(screen)
    return b
end

The plain-text editor and access shader lab within editor are great features

However, may I suggest for a better dev/testing workflow:

suppose I am editing a level descriptor with the plain-text editor, I have to bring up the asset picker > browse for the asset (retrieve it if it was already set) > edit the file > close the plain-text editor > run, and so on… Same case for the shader lab.

So, is it possible to have a button to run the viewer within the assets editors and when going back, auto-magicaly return to the last editor/asset currently edited ? And for the dessert, if an asset was already set, bring up the asset picker at the correct location with the asset outlined ?

Pre 2.1 little annoyances
: - Can’t only change the letter case when renaming a tab (have to fill a temp name, save and re-edit for the new name)
: - Block comment button sometimes erase the selected text, often when the text was selected from bottom to top

@Jmv38 thanks for the bug reports. Is the dependency one new? (Do you know if it happened in older versions?)

Thanks for your feedback @toffer. Good point about the asset editing workflow. Will fix the tab case issue and block comment one.

dependency: i dont know if this is new.

#####Editor bug:
this code is all green in my ipad. It should not be?

-- MySite

-- model:
--[[TITLE: xxxxxxxx]]

local function getInnerText(str,before,after)
    local a,b,c,d
    a,b = string.find(str, before, 1, true)
    if b then c,d = string.find(str, after, b+1, true) end
    local subStr
    if b and c then
        subStr = string.sub(str,b+1,c-1)
    end
    return subStr
end

it is ok if i put a return before the ]]

Anytime I open the in-app browser, when I close it my project gets reloaded (starts over from setup). I’m fairly certain this was not the case previously

####Bug (big):
my blendmode project (http://codea.io/talk/discussion/comment/44704#Comment_44704) now freezes codea. Used to work fine.

####Bug (big):
many programs that compute sprites with setContext() just produce a black square, even with JakAttak patch for WIDTH and HEIGHT. I dont know what is broken.

I’m having issues with setContext not drawing, but I haven’t been able to pin down the exact circumstances when it fails.

Interesting, thank you for the reports. Does it make a difference whether you set the useDepth flag to true or not?

Got it, setContext doesn’t work in the touched function.



function setup()
    img = image(100,100)
    timg = image(100,100)
    frame = 0
    touchn = 0
    parameter.boolean("inTouch",true,function()
        if inTouch then
            doredraw = function(i,a,c)
                redraw(i,a,c)
            end
        else
            doredraw = function(i,a,c)
                dolater = function()
                    redraw(i,a,c)
                    dolater = nil
                end
            end
        end
    end)
end

function draw()
    frame = frame + 1
    redraw(img,frame,color(255, 10, 0, 255))
    if dolater then dolater() end
    background(96, 70, 70, 255)
    translate(WIDTH/2,HEIGHT/2)
    sprite(img)
    translate(0,-200)
    sprite(timg)

end

function touched(t)
    touchn = touchn + 1
    if t.state == BEGAN then
        doredraw(timg,touchn,color(255, 208, 0, 255))
    end
end

function redraw(img,a,c)
    pushMatrix()
    resetMatrix()
    setContext(img)
    background(0,0,0,0)
    stroke(c)
    strokeWidth(30)
    translate(50,50)
    rotate(a)
    line(-50,-50,50,50)
    setContext()
    popMatrix()
end

I haven’t tried the useDepth flag as I wasn’t aware of its existence. If it is what I think it is, then I have a project just waiting for it.