jailmoji={ MAX_COLOR=16, MAX_BASE=3, MAX_CHIN=8, MAX_NOSE=9, MAX_EARS=1, MAX_EYES=7, MAX_BROWS=4, MAX_HAIR=11, MAX_BAG=3, surface=-1, gendata={}, generate=function(genstring) if genstring then for i=1,#genstring do jailmoji.gendata[i]=genstring:byte(i)-65 end end local surf_base = surf.load("actor-base.gif") local surf_hair = surf.load("actor-hair.gif") local surf_chin = surf.load("actor-chin.gif") local surf_nose = surf.load("actor-nose.gif") local surf_eyes = surf.load("actor-eyes.gif") local surf_brows = surf.load("actor-brows.gif") local surf_bag = surf.load("actor-bag.gif") if jailmoji.surface ~= -1 then surf.free(jailmoji.surface) end jailmoji.surface = surf.new(32,48) surf.target(jailmoji.surface) pal.subpal(20,jailmoji.gendata[2]+1) -- vestit1 pal.subpal(21,jailmoji.gendata[3]+1) -- vestit2 pal.subpal(22,jailmoji.gendata[4]+1) -- sabates pal.subpal(24,jailmoji.gendata[5]+1) -- pell1 pal.subpal(25,jailmoji.gendata[6]+1) -- pell2 pal.subpal(23,jailmoji.gendata[15]+1) -- monyo pal.subpal(26,jailmoji.gendata[11]+1) -- ulls pal.subpal(27,jailmoji.gendata[13]+1) -- celles pal.subpal(28,jailmoji.gendata[17]+1) -- motxilla1 pal.subpal(29,jailmoji.gendata[18]+1) -- motxilla2 surf.source(surf_base) local dx=jailmoji.gendata[1]*32 draw.surf(dx,0,32,48,0,0) surf.source(surf_bag) local dx=jailmoji.gendata[16]*6 draw.surf(dx,0,6,5,5,25) draw.surf(dx,0,6,5,21,26) draw.surf(dx,5,6,5,8,41) draw.surf(dx+3,5,2,2,27,42) surf.source(surf_hair) local dx=jailmoji.gendata[14]*16 draw.surf(dx,0,16,48,0,0) draw.surf(dx,0,16,48,16,1) surf.source(surf_eyes) local dx=jailmoji.gendata[10]*4 draw.surf(dx,0,4,2,4,7,4,2,true) draw.surf(dx,0,4,2,8,7) draw.surf(dx,0,4,2,20,8,4,2,true) draw.surf(dx,0,4,2,24,8) draw.surf(dx,0,4,2,4,38) draw.surf(dx,0,4,2,20,39) surf.source(surf_brows) local dx=jailmoji.gendata[12]*2 draw.surf(dx,0,2,2,5,6,2,2,true) draw.surf(dx,0,2,2,9,6) draw.surf(dx,0,2,2,21,7,2,2,true) draw.surf(dx,0,2,2,25,7) draw.surf(dx,0,2,2,5,37) draw.surf(dx,0,2,2,21,38) surf.source(surf_chin) local dx=jailmoji.gendata[7]*8 draw.surf(dx,0,8,4,4,9) draw.surf(dx,0,8,4,20,10) draw.surf(dx,4,8,4,1,40) draw.surf(dx,4,8,4,17,41) surf.source(surf_nose) local dx=jailmoji.gendata[8]*4 draw.surf(dx,4,4,4,6,7) draw.surf(dx,4,4,4,22,8) draw.surf(dx,0,4,4,0,37) draw.surf(dx,0,4,4,16,38) pal.subpal() surf.target(0) end, random=function() local str="" str = str .. string.char(math.random(jailmoji.MAX_BASE+1)+64) str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) --str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) --str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) local pell = {{"O","N"}, {"N","J"}, {"J","J"}} local r = math.random(#pell) str = str .. pell[r][1] .. pell[r][2] str = str .. string.char(math.random(jailmoji.MAX_CHIN+1)+64) str = str .. string.char(math.random(jailmoji.MAX_NOSE+1)+64) str = str .. string.char(math.random(jailmoji.MAX_EARS+1)+64) str = str .. string.char(math.random(jailmoji.MAX_EYES+1)+64) --str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) local ulls = {"B","C","D","E","F","G","I","K","L"} r = math.random(#ulls) str = str .. ulls[r] str = str .. string.char(math.random(jailmoji.MAX_BROWS+1)+64) --str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) local celles = {"E","F","G","H","J"} r = math.random(#celles) str = str .. celles[r] str = str .. string.char(math.random(jailmoji.MAX_HAIR+1)+64) --str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) local monyo = {"D","E","F","G","H","J","N","O"} r = math.random(#monyo) str = str .. monyo[r] str = str .. string.char(math.random(jailmoji.MAX_BAG+1)+64) str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) str = str .. string.char(math.random(jailmoji.MAX_COLOR+1)+64) jailmoji.generate(str) end, editor={ old_update=nil, view=0, animated=false, changed=false, str="", show=function() jailmoji.editor.old_update=update update=jailmoji.editor.update --jailmoji.surface = surf.load("actor-base.gif") jailmoji.generate("AABJONAAAAEAAAEAAB") end, text_button=function(x, y, label, current_value, own_value) local rect,color = draw.rect, 8 local mx,my = mouse.pos() if current_value==own_value then rect,color = draw.rectf, 5 else rect,color = draw.rect, 8 end rect(x,y,9,9,8) draw.text(label,x+3,y+2,color) if mx>=x and mx=y and my=x and mx=y and my max_value then return 0 else return current_value+1 end end return current_value end, color_button=function(x, y, current_value) local c1,c2,c3 = current_value+1,6,8 local mx,my = mouse.pos() mx,my = view.tolocal(mx,my) local hover = mx>=x and mx=y and my 15 then return 0 else return current_value+1 end end return current_value end, update=function() local self = jailmoji.editor draw.rectf(10,10, 140, 100,5) draw.rectf(10,10, 140, 10,9) draw.rect(10,10, 140, 100,8) draw.text("JAILMOJI EDITOR",14,13,8) draw.rectf(19,23, 50, 50,7) draw.rect(19,23, 50, 50,8) surf.source(jailmoji.surface) local vx = 0 if self.animated then vx = 16 end local vy = self.view * 16 draw.surf(vx,vy,16,16,28,32,32,32) local rect,color = draw.rect, 8 local mx,my = mouse.pos() self.view=self.text_button(19,74,"F",self.view, 0) self.view=self.text_button(29,74,"B",self.view, 1) self.view=self.text_button(39,74,"S",self.view, 2) self.animated=self.text_button(60,74,"A",self.animated, not self.animated) view.origin(-70,-23) draw.text("Vestit:",1,2,8) jailmoji.gendata[1] = self.spin_button(28,0,jailmoji.gendata[1],jailmoji.MAX_BASE) jailmoji.gendata[2] = self.color_button(38,0,jailmoji.gendata[2]) jailmoji.gendata[3] = self.color_button(48,0,jailmoji.gendata[3]) jailmoji.gendata[4] = self.color_button(58,0,jailmoji.gendata[4]) draw.text("Pell:",1,12,8) jailmoji.gendata[5] = self.color_button(28,10,jailmoji.gendata[5]) jailmoji.gendata[6] = self.color_button(38,10,jailmoji.gendata[6]) draw.text("Cara:",1,22,8) jailmoji.gendata[7] = self.spin_button(28,20,jailmoji.gendata[7],jailmoji.MAX_CHIN) jailmoji.gendata[8] = self.spin_button(38,20,jailmoji.gendata[8],jailmoji.MAX_NOSE) jailmoji.gendata[9] = self.spin_button(48,20,jailmoji.gendata[9],jailmoji.MAX_EARS) draw.text("Ulls:",1,32,8) jailmoji.gendata[10] = self.spin_button(28,30,jailmoji.gendata[10],jailmoji.MAX_EYES) jailmoji.gendata[11] = self.color_button(38,30,jailmoji.gendata[11]) jailmoji.gendata[12] = self.spin_button(48,30,jailmoji.gendata[12],jailmoji.MAX_BROWS) jailmoji.gendata[13] = self.color_button(58,30,jailmoji.gendata[13]) draw.text("Monyo:",1,42,8) jailmoji.gendata[14] = self.spin_button(28,40,jailmoji.gendata[14],jailmoji.MAX_HAIR) jailmoji.gendata[15] = self.color_button(38,40,jailmoji.gendata[15]) draw.text("Motxilla:",1,52,8) jailmoji.gendata[16] = self.spin_button(38,50,jailmoji.gendata[16],jailmoji.MAX_BAG) jailmoji.gendata[17] = self.color_button(48,50,jailmoji.gendata[17]) jailmoji.gendata[18] = self.color_button(58,50,jailmoji.gendata[18]) view.origin(0,0) if jailmoji.editor.changed then jailmoji.editor.changed = false jailmoji.generate() self.str="" for i=1,#jailmoji.gendata do self.str = self.str .. string.char(jailmoji.gendata[i]+65) end end draw.rectf(19,88, 122, 9,7) draw.rect(19,88, 122, 9,8) draw.text(self.str,21,90,8) local mx,my = mouse.pos() mx,my = view.tolocal(mx,my) -- 'COPY' button draw.rectf(19,98, 24, 9,9) draw.rect(19,98, 24, 9,8) draw.text("COPY",23,100,8) if mx>=19 and mx<19+24 and my>=98 and my<98+9 and mouse.press(mouse.LEFT) then sys.clipboard(self.str) end -- 'RANDOM' button draw.rectf(65,98, 31, 9,2) draw.rect(65,98, 31, 9,8) draw.text("RANDOM",69,100,8) if mx>=65 and mx<65+32 and my>=98 and my<98+9 and mouse.press(mouse.LEFT) then jailmoji.random() end -- 'EXIT' button draw.rectf(116,98, 25, 9,10) draw.rect(116,98, 25, 9,8) draw.text("EIXIR",119,100,8) if mx>=116 and mx<116+25 and my>=98 and my<98+9 and mouse.press(mouse.LEFT) then if self.old_update then update = self.old_update else surf.source(0) surf.cls(0) show_main_menu() end end end, }, }