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