SRL Archive - Other Scripts

Fast drawing script- edited from Kaitnieks' script


Bebe

2006-06-12 02:24:19

I saw the drawing functions/procedures in the SCAR manual lately and I wondered how and why they would be used, so I found an example by kait and changed it a little bit.

Have fun:

program FastDrawScar;
type
TDirection = (dirLeft, dirRight);

var
Buffer: Integer;
bull, bull2: Integer;
f: Integer;
Direction: TDirection;
x: Integer;
begin
DisplayDebugImgWindow(300, 300);
bull := BitmapFromString(38, 31, 'z78DAEDD8D10E82300C05D05F' +
'3242501ECD22FFFF49C615C295AE63A355375D97ECC168E478B73' +
'A7027D7461B9181F5ABAE691A8665AEDD2BB9A4B9166FAEAB46EF' +
'7C55AEEB74C66972AE6C234A73BC4F17EA8A5EB7DE95E60DBB4AD' +
'6A188F655607FCDD2ADEBEAEBEEAB3423EF339823BD424ED4E23B' +
'514DD212D28CF74F346E5394EDE8C56453BCB6BF06DF5F7CAFF1F' +
'D2819B1A4AC77F285EFB2D2E195F0F9D53B8ECB9C624CEBC3DB1E' +
'F57963BA37B41F25D7FA59F13F947772B5F1C22ADF1B3BE1C8AED' +
'889487F72C03E4045BADED7516FB853E5B82C4F47543D94AD376E' +
'CC39091F97A2F1E6EB1D5EA923EDB9706D6BD33CFB220B97EABD4' +
'75DABCE2A4D49AAC937ED9E25EEB25FB7E8D5E72B1BF35C7C3DD8' +
'9EEB72F3C53443C66FBAACF2A5D7E5344B7169F24D4BB32C576EB' +
'EB82B03F7C8701F5AD7133CA9FEE7496C1B6DB4C1C703370407A8' +
'');
bull2:= CreateMirroredBitmap(bull);
Buffer:= BitmapFromString(300, 300, '');
SetTransparentColor(bull, clWhite);
SetTransparentColor(bull2, clWhite);
x:= 0;
repeat
FastDrawClear(Buffer, clGreen);
for f:= 0 to 50 do
begin
FastDrawTransparent(Random(380) - 80, Random(380) - 80, bull, Buffer);
FastDrawTransparent(Random(380) - 80, Random(380) - 80, bull2, Buffer);
end;
if(Direction = dirRight)then
FastDrawSizeTransparent(x, 50, x + 200, 250, bull, Buffer)
else
FastDrawSizeTransparent(x, 50, x + 200, 250, bull2, Buffer);
if(Direction = dirRight)then
x:= x + 1;
if(Direction = dirLeft)then
x:= x - 1;
if(x <= 0)then
Direction:= dirRight;
if(x >= 100)then
Direction:= dirLeft;
SafeDrawBitmap(Buffer, GetDebugCanvas, 0, 0);
until(False);
end.

Dark_Sniper

2006-06-12 02:29:45

Sweetness !

inferno

2006-06-12 02:52:10

What have you changed? All I can see different is the bitmap.

Bebe

2006-06-12 02:57:25

Exactly :)

I didn't change the pattern, basicly I was messing with it and then figured I would post it, because it looked cool :)

I'm gonna start to expiriment with the drawing stuff when I get more time.

mr. pali

2006-06-12 03:47:15

Kaitnieks is a hella good delphi scripter. Have you seen bejeweled? SHIOT son.

Bebe

2006-06-12 19:41:38

I play it all the time :)

Bam Bam

2006-06-13 06:58:18

When I opened up bejewed the first time I was supprised that could even be done with SCAR…

Bebe

2006-06-13 08:20:16

If you break it down it's not to amazingly hard :)
But that must have taken Kait a long time to get it just right….

XxKanexX

2006-06-13 09:08:01

It's not hard at all. If you just know what it all means then it's simple. :p

Cheesehunk

2006-06-13 18:32:41

From: XxKanexX
It's not hard at all. If you just know what it all means then it's simple. :p

:rolleyes:

Pwnd

2006-06-13 18:40:46

From: Cheesehunk
:rolleyes:

Exactly right.

Wouldn't that mean, then… You know what the hell you're doing? xD

teddienator

2006-12-26 14:28:17

whahha lol =p

Yakman

2006-12-26 16:38:50

this is my top-tip

change these two lines

SetTransparentColor(bull, ClWhite);
SetTransparentColor(bull2, ClWhite);

into this

SetTransparentColor(bull, 12632256);
SetTransparentColor(bull2, 12632256);

makes it look 100% better :D


and this is my total remake of that script, i acctually made this ages ago, just digged it up now, enjoy!

program fastdrawscar;
{ This is baised on Kaitnieks fastdrawtest found in ]
[ Scripts-->Test-->Fastdrawtest }

var truck,truck2,buffer,f,x,y,t:integer;dir:string;
begin
truck := BitmapFromString(49, 41, 'z78DAED5A5976DC480EBC52E' +
'ECB67AEF73FD22002C92ABA556A4BF64C8FE536F11E542A952866' +
'30020824B5B79163FF833938DB2477BB8CF1D3967FF6AFFF9AF97' +
'E786F83313344C9DB277967C42058B960D6B79FFCF760A26B2FC3' +
'0B5BEAF0F2BADB20D06C9BF8F9245F568FD398D643B83E539CF7C' +
'608DBDAEF8B5B30B64A4EB61B93AD1B8243030E8AC947F25C5150' +
'4DD195EB3C7ED8FCDBA869A0C2CC1665456BC6F5E0CC48E13328E' +
'D9E844BDBC47D9D67F408660E6BBF26BBF40805D75FBBC7FB1EAB' +
'FB04261FC86B2741BEB52C684761EBD744293690A62DEF6445352' +
'A13A091103BB9E43F85CC4A15393766601E8A9C79D42A3985F845' +
'51923A2BD71F2C18D537B01A6C60B30579679767ADFE184AE0CC5' +
'EDD210FC97334D4288BAA6EBAA95FB39E87087CD2800B8AC5CACD' +
'8E09392759A2992E806326A05E65F4FDDD6EB8AD8CD7AB6666D4A' +
'258058D12F0CBA947F94C1C4190B180FC0BD7F05CE10FEB74828C' +
'4B281CD2DBA4AF0978825BB50E5DBE3BA8727A0BACA223C7A4036' +
'E573CEA73959F0E5745A12D09F9A2EF3ED8E63A63230CBC41FBBA' +
'3D4E516A0B28493F134C5A813A64A1B276D78198702BC2694BC93' +
'2BD10AB829A333DF8E3875BF04860A06B2E89AD2A29A7D022A207' +
'842B882FE61813D62B600826DD213707947C234A51BE4A7582BEC' +
'2843FF4996E61E3A7A2476068E18B96CFC29F129D20990D5DD696' +
'B3B55EAB18F5BEBBC9B9F2703C7E7D27201A90357AD69C345DBF1' +
'C91D69C9A819254A8809562D57D78E86EC9F24DD033AC53EDE528' +
'19155EBAA1D49C615898A3CBACFF134CAB01F34B95A926EFE4A58' +
'F0E2B1C135E4AD88AF8D59813586174FE9A931C48ECF21D8EF12D' +
'4AD2AEE51D714EA8BA42110C6C4F7CF8FD416979388792817FB64' +
'6DEA1F932C37A39FF40972CC24C9975E4EC5D204B083DDE5EE7C7' +
'D7F5F3C808AF31235420A39DAB6CCC0B73B14F39741C993BECE58' +
'5DEA204E5708ED3A1E5E5A128CD844A2ECA94BFEFCE8C036249E9' +
'925C036693BC80A11D54EB102ECFBEB250AC8624BC4A52B8EC463' +
'994E988F11637E13DD612313DD9697E72DED13B2E6B96AF522FC1' +
'FF0C7CDEE6518E5E805E47AF6F1E539B9FDC0FC1B5181729C8483' +
'9BD83D2584049AB9C1E168B45179033E702360A1698E6161DBEF1' +
'F49C096E536E15EBFFF2A6BA9C4590D5772B4602FDD40DE7AF754' +
'5079C3B3AA591D97BFD1C8B3C1D9B2845AE3C7B602E0EEF652E0B' +
'D5690C5DA9C7EB858E36333CF32CC5A2A7836982D4FC144A1BBAA' +
'B5C63EFAEB15259A01126BDFD204A4FAF25D293CB69595CED1C75' +
'4ABB284D3E3352C5FDCAB877FF5D9402EF3AAEE07B393BAEC5832' +
'D3561CE6D0DF55CAA16D6E281CF9898E94A47E52E166B14D826CB' +
'527DD4250BDF9817D49932149187A37BC7B5AC18B0AB5070865DE' +
'F5E3415A2541F53CCC27D115FAA199FF170A7CDCADD3639A22624' +
'8FEB4C097F45BAEDFED19A76508A8240926B96DA20593ADB37390' +
'997F20BDCB823D41DD8DEAB43E7CA1E5E7A65DCFD884165342825' +
'50CB953ADD09DCD059667AF88779BDCF4EC79F164E8551914993C' +
'8707E297CA7284A9CFBD2BA2149D63578DA82F7E5DE38BA3BB88E' +
'826B70D56967693F8092B844BB70AB05102996C9DE73AA2EBAF88' +
'2637A0DAACA84AA52065559C11FD18B47C6AC3A7D068B6A368F59' +
'9898EC4835E96BBE5FB397774285FA66CAF9AF98E8C4A7B829262' +
'9DF50525582BA05D5C0D06D099F12981078D79A05AFA0E84FA034' +
'3111E412A5E7E795A74441A485888C94834492A2E9EBC9C566FB8' +
'A5D167EFBA8B282E78D1C9B1D68AC484751819B4C76F6B13A2A4B' +
'DFCF7450D205A0C16BD544095E547068AFE6E55155E3F0FF9A336' +
'7F03C8086E636896A18F25349E3537B20A089CBE31615913A226C' +
'847A95EC118A5E6AF826A17CDA93DF536506C7BA8167D0CA2C940' +
'9DC6D8B0F952DBC9E0E9D44F06F40093544EBFC8BDD27EED4892A' +
'E395CBF0F9FA2DCD8ACCB73B0FA8003B62832FA5F029944416121' +
'8B9AEC88CC2C88DA1EC6A88839B8F3966B14B3B6ECDA961E67AA9' +
'4A7BE951BB7C69E449F67C6A0027A9D549BAA7FF184A8DB64CBC8' +
'7BF72F670FED23BEC95171DFE5F76B180CC6047EE10BF589BEFEE' +
'C91C3F3910875190915516C9E4F9881C19FC2605C6646C866124A' +
'A7290639A8B9578811B27BBA3CA0E4C9A87E31A1EF3EF5B9446C2' +
'6C28FD315EF9A829A1CB6BEE26BCB7BFA79AD53C9EFAED9C438BF' +
'B204A150136C4DD1C4235150683543B58AD5BA82A074219C831C2' +
'B380056563EABEF926B5553AF0C9EFA9D2A3BAB64D6F60811E36E' +
'2B8C3803B1E808CA3FFD5AC13F74B4CE273E733F547075C85AF6B' +
'BB76B40E4A137B3876DBFA3DDDD986081551068263A5CD1DA1C4E' +
'136468FF619CAA2A34A227698A6B8E967C417C5247A1C71684EDC' +
'3B7AC1AE4255B28289936011877B771DDE3B37B4E14107A5F9859' +
'ABEF154453DC37CE64AF41A3B669F57DF5C0DBE62843AD8F5FCDF' +
'4E2812BA93131945BF9988EC10E87F319C8AA45A231AA93CE3B0E' +
'8AE4A7EE6A8D8315228A1881E85A027F396C479F658D0732B9C4C' +
'9C96730AE72332EA2526F9A626B2259339957BA18D6EB38D1B627' +
'C5DF593F1E1513B50AA9C8042F7FD9506AFE1016127428B906255' +
'0B42D70836C4513742D7AE1C3BAA047162DEB760E557548F2A2D3' +
'D98FE01456FF8E9D1EDC49F0A6F9C0C2E74CBD2EF1ADD547F474D' +
'ED39D91DB6A89AC68D39CCBD3DD0D3F34C3E057351679F86599E2' +
'EC5A19E573AB4EF542A16142E2569BD121E221C828412AAE1A806' +
'41773555AD5AC7B40B68283E4795EC92876954ABF233197E5D405' +
'B7A156AD7FB2871BDA824172BBE5113B5D65571E1C696FEA85197' +
'378377E24E699AD87F9069194AEFEE87F70DAC7B868AE630CD323' +
'6E2A8924798885419DA2BDB33EEAABCFC2A83A7C62C24D3D05B94' +
'0E678E9AEC4D4DF586D87A322AFB1B2674A77858D506CE59169C5' +
'50CD6FE6FF6E58E2A074231292833A136845627AD6CB523D4851E' +
'A6F1387DF0D6251537F512B623E2B6DDC4E1D0D7C46DF2C96FBED' +
'593B7CCC94F37AECF94033CA7384FCC831B67288ED36EF9911DBC' +
'1FC44D55C9A07168A4805577AAAF15BDC33462727C85AA7222B48' +
'71E6CB573B2B485E89D1BA2BFC0670A91D35FBB7AF7D5BF74BE53' +
'F46E6A0AD891909968524D953B54857B83FFF7FF3A388AF408171' +
'0876924DFF115AA4A2DF1EAF059D3CEB4C8BEA02ECB0F84E5CE79' +
'0B980197D7BA74D4F474E399FFE7A36A5A98CBCAA69A50DF7EE9E' +
'72C6AC38F2A599FD528D481D07A1E1642B97482186A55F7056107' +
'F7B2AAD3E7C58FAA2B950A0858CE719C040B9E6819FE63D417FBB' +
'F8B53C1183A019162CE6BA9AADC55D0E986E4D2DAA536EDEC63D3' +
'673AEEEB168F49796C3899BAB1A3921676D9A50057CE32E977F91' +
'F27AB8796AD8538D58CCCD1E76EEF3EED6AD88FCD91C8F4DF0793' +
'EFA8F29DE3E3BFFBE77F32FFE43FF94FFE77E6FF00511B1787');
truck2:=createmirroredbitmap(truck)
settransparentcolor(truck,255)
settransparentcolor(truck2,255)
buffer:=bitmapfromstring(300,300,'')
displaydebugimgwindow(300,300)
dir:='right'
t:=truck
x:=10
y:=10
repeat
FastDrawClear(buffer,1610776)
for f:=0 to 30 do
begin
fastdrawtransparent(random(350)-50,random(350)-50,truck,buffer)
fastdrawtransparent(random(350)-50,random(350)-50,truck2,buffer)
end
fastdrawsizetransparent(x,y,x+86,y+76,t,buffer)
if(dir='right')then
begin
x:=x+2
if(x>=226)then
begin
dir:='left'
t:=truck2
end
end
if(dir='left')then
begin
x:=x-2
if(8>=x)then
begin
dir:='right'
t:=truck
y:=10
end
end
y:=y+1
safedrawbitmap(buffer,getdebugcanvas,0,0);
wait(1);
until(false)
end.