Hello Christian!!
How are you?
I'm return to working on my "autocubic" project, and I'm trying to use the
new patch positioning and image manipulation methods.
I have met some little problems:
1) I have to make the images bigger of 2 pixel (width and height), otherwise
I can see a space between consecutive patches (I have explained this problem
to you before, do you remember?)
2) I would like to create a transparent hole (alpha=0) in a png image, I
need this for doors and windows, so I have operated in this manner:
img=pipmak.loadimage(texture.."/front.png")
w,h=img:size()
img:color(0,0,0,0)
img:fill(w/3,h/3,w/3,2*h/3)
but I get only a black shape and not a transparent hole: this is a bug?
If I create a new white image instead of load a png, it works correctly:
img=pipmak.newimage(200,200):color(1,1,1,1):fill()
w,h=img:size()
img:color(0,0,0,0)
img:fill(w/3,h/3,w/3,2*h/3)
3) Apart the holes which aren't transparent, I think there are some bugs in
the image cache management, because I reload the image always before the
patch statement, and if there is a door, I modify the image using fill(),
and finally call patch():
img=pipmak.loadimage(texture.."/front.png")
if door~=0 then --the value of door is recalculated every time
w,h=img:size()
img:color(0,0,0,1)
img:fill(w/3,h/3,w/3,2*h/3)
end
p = patch {
face = dir,
w = dimx+fix, -- fix=2: workaround
h = dimx+fix,
anchorv = w/2,
anchorh = h/2,
x=0,y=0, --values aren't influent: I don't need to set these!!!
ny =0,
nz = -2*l-1,
nx = 2*(j-l),
visible = true,
image = img
}
Well, I can view doors also where they would not have to be there!! (i.e.:
patch statement use a wrong image get from the cache instead of reload from
disk)
I believe that this bug is connected to the assertion failed in the project
map visualization which I show you in my authoring feature.
I hope that this help you to fix bugs.
I have stopped my pipmak development activity, because I don't know what you
have in mind and how you want to proceed.
I don't want create a parallel version of pipmak, I think you have
understood now what I'm able to do and what I am not, so, if you desires my
help in developping, you should tell me exactly what you need (for example:
"I need a function which get these inputs, return these outputs and do this
thing").
In any case, I would be happy to help you, if only you tell me how.
Bye
Andrea
|