Upgrate Lua sample scripts to DawnBringer's 1.3 toolbox
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2013 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
effde4aee2
commit
5165312bff
@ -11,7 +11,7 @@
|
||||
|
||||
run("../libs/dawnbringer_lib.lua")
|
||||
|
||||
OK,tin,clz,fade,amt,brikeep,falloff,nobg,briweight = inputbox("Apply PenColor 2 Brush",
|
||||
OK,tin,clz,fade,amt,brikeep,falloff,nobg,nopen,briweight = inputbox("Apply PenColor 2 Brush",
|
||||
|
||||
"1. Tint", 1, 0,1,-1,
|
||||
"2. Colorize", 0, 0,1,-1,
|
||||
@ -20,6 +20,7 @@ OK,tin,clz,fade,amt,brikeep,falloff,nobg,briweight = inputbox("Apply PenColor
|
||||
"Preserve Brightness", 1, 0,1,0,
|
||||
"Bri/Dark FallOff", 1, 0,1,0,
|
||||
"Exclude Background", 1,0,1,0,
|
||||
"Exclude PenColor", 0,0,1,0,
|
||||
"ColMatch Bri-Weight %", 25, 0,100,0
|
||||
);
|
||||
|
||||
@ -40,6 +41,10 @@ if OK == true then
|
||||
if nobg == 1 then
|
||||
pal = db.stripIndexFromPalList(pal,bg) -- Remove background color from pallist
|
||||
end
|
||||
if nopen == 1 then
|
||||
pal = db.stripIndexFromPalList(pal,fg) -- Remove Pencolor from pallist
|
||||
end
|
||||
|
||||
|
||||
amtA = amt / 100
|
||||
amtR = 1 - amtA
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
--3D-Palette viwer V0.7 (HSL-models added, 3D-World added, Pen-color only cycles thru unique colors, InputBox)
|
||||
--3D-Palette viewer V0.72 (HSL-models added, 3D-World added, Pen-color only cycles thru unique colors, InputBox)
|
||||
--by Richard 'Dawnbringer' Fhager
|
||||
|
||||
-- Mouse: Rotate Cube (Stops animation)
|
||||
@ -15,6 +15,8 @@
|
||||
-- "-" (Num): Zoom Out
|
||||
-- Esc: Exit script
|
||||
|
||||
-- Drawing updated, rectangle missing, Sep11
|
||||
|
||||
run("../libs/dawnbringer_lib.lua")
|
||||
|
||||
|
||||
@ -25,7 +27,7 @@ BOX_BRI = 112 -- Brightest color used for box (0-255)
|
||||
COLSIZE_BASE = 26 -- Colors base size (value to adjusted by palette-size, with 2 cols maxsize is v / 1.23)
|
||||
|
||||
--
|
||||
OK,RGB,HSL,HSLC,BOX_BRI,COLSIZE_BASE,SET800x600 = inputbox("3D-Palette Viever Settings",
|
||||
OK,RGB,HSL,HSLC,BOX_BRI,COLSIZE_BASE,SET800x600 = inputbox("3D-Palette Viewer Settings",
|
||||
|
||||
"1. RGB space [F9]", 1, 0,1,-1,
|
||||
"2. HSL space [F10]", 0, 0,1,-1,
|
||||
@ -125,7 +127,7 @@ CX,CY = w/2, h/2
|
||||
|
||||
|
||||
function initAndReset()
|
||||
XANG, YANG, ZANG, ZOOM, COLSIZE_ADJ, XD, YD, WORLD_X, WORLD_Y = 0,0,0,0,0,0,0,0,0
|
||||
XANG, YANG, ZANG, ZOOM, COLSIZE_ADJ, XD, YD, WORLD_X, WORLD_Y, ZSELECT = 0,0,0,0,0,0,0,0,0,0
|
||||
end
|
||||
|
||||
initAndReset()
|
||||
@ -210,6 +212,7 @@ function draw3Dline(x1,y1,z1,x2,y2,z2,div,mult,depthlist)
|
||||
yt = y1 + yd*s -- + math.random()*8
|
||||
c = depthlist[depth]
|
||||
if c == null then c = 1; end -- Something isn't perfect, error is super rare but this controls it
|
||||
--db.line(xf,yf,xt,yt,c)
|
||||
drawline(xf,yf,xt,yt,c)
|
||||
xf = xt
|
||||
yf = yt
|
||||
@ -226,9 +229,9 @@ end
|
||||
totz = minz * 2
|
||||
maxrad = CMAXSIZE - CMINSIZE
|
||||
|
||||
q = 0
|
||||
delay = 4
|
||||
move = 0.03
|
||||
--q = 0
|
||||
--delay = 4
|
||||
--move = 0.03
|
||||
|
||||
while 1 < 2 do
|
||||
|
||||
@ -305,6 +308,16 @@ while 1 < 2 do
|
||||
-- draw3Dline(x1,y1,z1,x2,y2,z2,BOX_LINE_DIV,BOX_DIV_MULT,box_div)
|
||||
--end
|
||||
|
||||
--c1 = math.min(FG,BG)
|
||||
--c2 = math.max(FG,BG)
|
||||
--p = colz[26]
|
||||
--XP1,YP1,zp1,c1 = p[1],p[2],p[3],p[4]
|
||||
--for n = #colz, 1, -1 do
|
||||
-- p = colz[27]
|
||||
-- XP2,YP2,zp2,c2 = p[1],p[2],p[3],p[4]
|
||||
-- drawline(XP1,YP1,XP2,YP2,c1)
|
||||
--end
|
||||
|
||||
-- sort on z
|
||||
db.sorti(colz,3)
|
||||
|
||||
@ -317,6 +330,7 @@ while 1 < 2 do
|
||||
dorad = math.floor(radius - ZOOM*2 + COLSIZE_ADJ)
|
||||
|
||||
if dorad >= 1 then
|
||||
--db.drawCircle(XP,YP,dorad,c)
|
||||
drawdisk(XP,YP,dorad,c)
|
||||
--db.drawRectangle(XP,YP,dorad,dorad,c)
|
||||
else putpicturepixel(XP,YP,c)
|
||||
@ -354,6 +368,7 @@ while 1 < 2 do
|
||||
old_mouse_b = mouse_b;
|
||||
|
||||
updatescreen()
|
||||
|
||||
moved, key, mouse_x, mouse_y, mouse_b = waitinput(0)
|
||||
|
||||
if mouse_b == 1 then ANIM = 0; end
|
||||
@ -367,6 +382,8 @@ while 1 < 2 do
|
||||
if (key==284) then COLSIZE_ADJ = COLSIZE_ADJ + 0.5; end -- F3
|
||||
if (key==285) then COLSIZE_ADJ = COLSIZE_ADJ - 0.5; end -- F4
|
||||
|
||||
--messagebox(key)
|
||||
|
||||
if (key==286) then
|
||||
--FG = (FG + 1) % 255;
|
||||
palcol = (palcol + 1) % #pal
|
||||
@ -390,6 +407,18 @@ while 1 < 2 do
|
||||
|
||||
if (key==269) then ZOOM = ZOOM + 0.1; end
|
||||
if (key==270) then ZOOM = ZOOM - 0.1; end
|
||||
|
||||
if (key==32) then
|
||||
ZSELECT = (ZSELECT + math.pi/2) % (2*math.pi);
|
||||
--YANG = ((YANG - math.pi/2) % (math.pi*2));
|
||||
--XANG = ((XANG + math.pi/2) % (math.pi*2));
|
||||
|
||||
|
||||
YANG = ((YANG + math.pi/2) % (math.pi*2));
|
||||
XANG = ((XANG + math.pi/2) % (math.pi*2));
|
||||
YANG = ((YANG - math.pi/2) % (math.pi*2));
|
||||
end -- Rotate Z 90 Degrees
|
||||
|
||||
SPEED = math.pi / 100
|
||||
|
||||
|
||||
@ -411,7 +440,7 @@ while 1 < 2 do
|
||||
end
|
||||
XANG = ((XANG - XD) % (math.pi*2));
|
||||
YANG = ((YANG + YD) % (math.pi*2));
|
||||
ZANG = 0
|
||||
ZANG = ZSELECT
|
||||
end
|
||||
|
||||
if ANIM == 1 then
|
||||
@ -424,8 +453,8 @@ while 1 < 2 do
|
||||
--YANG = ((mouse_x - CX) / 200 % (math.pi*2));
|
||||
--ZANG = 0
|
||||
|
||||
statusmessage("x"..math.floor(XANG*57.3).."° y"..math.floor(YANG*57.3).."° z"..math.floor(ZANG*57.3).."° Zm: "..math.floor(-ZOOM*10).." ")
|
||||
|
||||
statusmessage("X: "..math.floor(XANG*57.3).."°, Y: "..math.floor(YANG*57.3).."°, Z: "..math.floor(ZANG*57.3).."°, Zoom: "..math.floor(-ZOOM*10).." ")
|
||||
end
|
||||
|
||||
end -- OK
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
--ANIM: Sprite Animator v0.1
|
||||
--ANIM: Sprite Animator v0.15
|
||||
--Spare page holds data - Plays on current
|
||||
--by Richard Fhager
|
||||
|
||||
@ -11,8 +11,8 @@ OK, XS, YS, SPACE, FRAMES, XOFF, YOFF, FPS = inputbox("Sprite-Sheet Animator",
|
||||
"Sprite Y-size", arg.YS, 1, 256,0,
|
||||
"Spacing", arg.SPACE, 0, 32,0,
|
||||
"# of Frames", arg.FRAMES,2, 100,0,
|
||||
"X-offset", arg.XOFF, 0, 256,0,
|
||||
"Y-offset", arg.YOFF, 0, 256,0,
|
||||
"X-offset", arg.XOFF, 0, 800,0,
|
||||
"Y-offset", arg.YOFF, 0, 800,0,
|
||||
"Play Speed (FPS)",arg.FPS, 1, 60,0
|
||||
);
|
||||
|
||||
@ -21,7 +21,7 @@ if OK == true then
|
||||
|
||||
memory.save({XS=XS,YS=YS,SPACE=SPACE,FRAMES=FRAMES,XOFF=XOFF,YOFF=YOFF,FPS=FPS})
|
||||
|
||||
MAXPLAYS = 25
|
||||
MAXPLAYS = 100
|
||||
|
||||
w,h = getpicturesize()
|
||||
OX = w / 2 - XS/2
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,47 +1,14 @@
|
||||
--PICTURE: Rainbow - Dark to Bright
|
||||
--PICTURE: Rainbow - Dark to Bright v1.1
|
||||
--by Richard Fhager
|
||||
--http://hem.fyristorg.com/dawnbringer/
|
||||
-- Email: dawnbringer@hem.utfors.se
|
||||
-- MSN: annassar@hotmail.com
|
||||
--
|
||||
-- Copyright 2010 Richard Fhager
|
||||
--
|
||||
-- This program is free software; you can redistribute it and/or
|
||||
-- modify it under the terms of the GNU General Public License
|
||||
-- as published by the Free Software Foundation; version 2
|
||||
-- of the License. See <http://www.gnu.org/licenses/>
|
||||
|
||||
-- This script was adopted from Evalion, a Javascript codecrafting/imageprocessing project
|
||||
-- http://goto.glocalnet.net/richard_fhager/evalion/evalion.html
|
||||
--
|
||||
|
||||
--
|
||||
function shiftHUE(r,g,b,deg) -- V1.3 R.Fhager 2007, adopted from Evalion
|
||||
local c,h,mi,mx,d,s,p,i,f,q,t
|
||||
c = {g,b,r}
|
||||
mi = math.min(r,g,b)
|
||||
mx = math.max(r,g,b); v = mx;
|
||||
d = mx - mi;
|
||||
s = 0; if mx ~= 0 then s = d/mx; end
|
||||
p = 1; if g ~= mx then p = 2; if b ~= mx then p = 0; end; end
|
||||
|
||||
if s~=0 then
|
||||
h=(deg/60+(6+p*2+(c[1+p]-c[1+(p+1)%3])/d))%6;
|
||||
i=math.floor(h);
|
||||
f=h-i;
|
||||
p=v*(1-s);
|
||||
q=v*(1-s*f);
|
||||
t=v*(1-s*(1-f));
|
||||
c={v,q,p,p,t,v}
|
||||
r = c[1+i]
|
||||
g = c[1+(i+4)%6]
|
||||
b = c[1+(i+2)%6]
|
||||
end
|
||||
|
||||
return r,g,b
|
||||
end
|
||||
--
|
||||
|
||||
--dofile("dawnbringer_lib.lua")
|
||||
run("../libs/dawnbringer_lib.lua")
|
||||
--> db.shiftHUE(r,g,b, deg)
|
||||
|
||||
w, h = getpicturesize()
|
||||
|
||||
@ -56,13 +23,14 @@ for y = 0, h - 1, 1 do
|
||||
g = (oy-0.5)*512 * oy
|
||||
b = (oy-0.5)*512 * oy
|
||||
|
||||
r, g, b = shiftHUE(r,g,b,ox * 360);
|
||||
r, g, b = db.shiftHUE(r,g,b,ox * 360);
|
||||
|
||||
c = matchcolor(math.max(0,math.min(255,r)),math.max(0,math.min(255,g)),math.max(0,math.min(255,b)))
|
||||
c = matchcolor(r,g,b)
|
||||
|
||||
putpicturepixel(x, y, c);
|
||||
|
||||
end
|
||||
updatescreen(); if (waitbreak(0)==1) then return; end
|
||||
end
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user