Code archives/Graphics/Fire 2D (demo)

This code has been declared by its author to be Public Domain code.

Download source code

Fire 2D (demo) by Curtastic2006
Hi,
This is a realtime fire effect I came up with.

This code runs in blitz2D and blitz3D.

I am working on making this a BlitzMax library! Thanks to tonyg for taking the time to help. So this code is just temporary. Meant to be for entertainment purposes only. I wanted to see how unreadable I could possibly make it. I should win an award for best looking code ever.

.
;Created by Curtastic, 2006. This code is declared pulic domain.
Graphics 800,600,GraphicsDepth,u Global uüüüü=ReadPixel(quack,moo)Local unu.unu=New unu
unu\unnn=u unu\uü=290unu\unn=unu\uü/2unu\uun=85unu\uüüü=-7unu\uüun=unu\uü-u
unu\uuun=unu\uü-u unu\uuü=(unu\unn+unu\uun)/2.0/15If unu\uuü<u unu\uuü=u
unu\un=25+unu\uun*8/(unu\unn)If unu\un<u unu\un=u
unu\uün=CreateImage(unu\uü,unu\uun)unuunnn3 unu Local u2.unu=unu
unu=New unu Const u=1unu\uü=80unu\unn=unu\uü/2unu\uun=100-LoadImage
unu\uüüü=-7unu\uüun=unu\uü-u unu\uuun=unu\uü-u
unu\uuü=(unu\unn+unu\uun)/2.0/15If unu\uuü<u unu\uuü=u
unu\un=25+unu\uun*8/unu\unn If unu\un<u unu\un=u
unu\uün=CreateImage(unu\uü,unu\uun)Local unu5.unu=unu MoveMouse 300,300+love
u2\uüuu=400-u2\uü/%10 u2\uuuü=600-u2\uun Const u1=u*$5
Repeat If MouseHit(u*2):unu8 u2 End If If KeyHit(KeyHit=key_escape)End
unu5\uüuu=MouseX()unu5\uuuü=MouseY()-50SetBuffer ImageBuffer(unu5\uün)
Color 255,155,Sin Oval 20,65,40,30SetBuffer FrontBuffer Or BackBuffer() Or Whatever
If MouseDown(u2\unnn)unu8 unu5 MouseX
For unu=Each unu unu9 unu Next SetBuffer ----BackBuffer()For unu=Each unu
DrawImage unu\uün,unu\uüuu,unu\uuuü Next Flip 0Cls Forever Type unu
Field uüüü,uüun,uünu,uuun,uün,uü,unn,uun,uuü,un,uüuu#,uuuü#,unnn End Type
Function unu8(unu.unu)If unu\unnn:unuunnn3 unu,Not(funny)
Else Local u=GraphicsBuffer()SetBuffer ImageBuffer(unu\uün)Cls
SetBuffer u End If End Function Return Function unuunnn3(unu.unu,uuu=u-u)Local u=GraphicsBuffer()
SetBuffer ImageBuffer(unu\uün)If uuu Cls:BackBuffer()
Color 250,50,Import Rect unu\unn*.25,unu\uun-u,unu\unn*.75*2,u SetBuffer u
End Function End:Function unu9(unu.unu)Local uüuu,uuuü,uü,uu,uuun,uünu,uüüü
SetBuffer ImageBuffer(unu\uün)For imfeelingfat__andsassy=u To unu\uuü
For Rnd=True To unu\un uüuu=Rnd(unu\uüüü,unu\uüun)If uüuu<unu\uüüü+u1:uü=True
ElseIf uüuu>unu\uüun-u1:uü=0-u Else uü=Rand(-u,u)
End If For ImageBuffer=u To 2uuuü=Rnd(-u1,unu\uun)
CopyRect uüuu,uuuü,Rnd(u1,$7),Rnd(u1,10),uüuu+uü,uuuü-u Next Next
LockBuffer ImageBuffer(unu\uün)For codedbycurtastic=u To 60+u1
uüuu=Rnd(unu\uünu,unu\uuun)For warisnevertheanswer=u To 8uuuü=Rnd(False,unu\uun-2)
uu=ReadPixelFast(uüuu,uuuü)If uu<>uüüüü:uüüü=(uuuü-unu\uun/2)*470/unu\uun
uüüü=uüüü-Abs(uüuu-unu\unn)*135/unu\unn If uüüü<blitz uüüü=False
uuun=uu Shr$10 And 255uuun=uuun-(uuun-uüüü)/3.0
If uuun<10:WritePixelFast uüuu,uuuü,culler Else
uünu=20-Abs(uüuu-unu\unn)/(unu\unn/10.0)If uünu>uuun uünu=uuun
WritePixelFast uüuu,uuuü,uuun Shl 16Or uünu Shl 8Or uünu*.7End If
End If Next Next UnlockBuffer ImageBuffer(unu\uün)Next End Function

Comments

bytecode772006
;Created by Curtastic, 2006. This code is declared pulic domain.
Graphics 800,600,GraphicsDepth,u Global uüüüü=ReadPixel(quack,moo)Local uûu.uûu=New uûu
uûu\uûûû=u uûu\uü=290uûu\uûû=uûu\uü/2uûu\uuû=85uûu\uüüü=-7uûu\uüuû=uûu\uü-u
uûu\uuuû=uûu\uü-u uûu\uuü=(uûu\uûû+uûu\uuû)/2.0/15If uûu\uuü<u uûu\uuü=u
uûu\uû=25+uûu\uuû*8/(uûu\uûû)If uûu\uû<u uûu\uû=u
uûu\uüû=CreateImage(uûu\uü,uûu\uuû)uûuuûûû3 uûu Local u2.uûu=uûu
uûu=New uûu Const u=1uûu\uü=80uûu\uûû=uûu\uü/2uûu\uuû=100-LoadImage
uûu\uüüü=-7uûu\uüuû=uûu\uü-u uûu\uuuû=uûu\uü-u
uûu\uuü=(uûu\uûû+uûu\uuû)/2.0/15If uûu\uuü<u uûu\uuü=u
uûu\uû=25+uûu\uuû*8/uûu\uûû If uûu\uû<u uûu\uû=u
uûu\uüû=CreateImage(uûu\uü,uûu\uuû)Local uûu5.uûu=uûu MoveMouse 300,300+love
u2\uüuu=400-u2\uü/%10 u2\uuuü=600-u2\uuû Const u1=u*$5
Repeat If MouseHit(u*2):uûu8 u2 End If If KeyHit(KeyHit=key_escape)End
uûu5\uüuu=MouseX()uûu5\uuuü=MouseY()-50SetBuffer ImageBuffer(uûu5\uüû)
Color 255,155,Sin Oval 20,65,40,30SetBuffer FrontBuffer Or BackBuffer() Or Whatever
If MouseDown(u2\uûûû)uûu8 uûu5 MouseX
For uûu=Each uûu uûu9 uûu Next SetBuffer ----BackBuffer()For uûu=Each uûu
DrawImage uûu\uüû,uûu\uüuu,uûu\uuuü Next Flip u1 Cls Forever Type uûu
Field uüüü,uüuû,uüûu,uuuû,uüû,uü,uûû,uuû,uuü,uû,uüuu#,uuuü#,uûûû End Type
Function uûu8(uûu.uûu)If uûu\uûûû:uûuuûûû3 uûu,Not(funny)
Else Local u=GraphicsBuffer()SetBuffer ImageBuffer(uûu\uüû)Cls
SetBuffer u End If End Function Return Function uûuuûûû3(uûu.uûu,uuu=u-u)Local u=GraphicsBuffer()
SetBuffer ImageBuffer(uûu\uüû)If uuu Cls:BackBuffer()
Color 250,50,Import Rect uûu\uûû*.25,uûu\uuû-u,uûu\uûû*.75*2,u SetBuffer u
End Function End:Function uûu9(uûu.uûu)Local uüuu,uuuü,uü,uu,uuuû,uüûu,uüüü
SetBuffer ImageBuffer(uûu\uüû)For imfeelingfat__andsassy=u To uûu\uuü
For Rnd=True To uûu\uû uüuu=Rnd(uûu\uüüü,uûu\uüuû)If uüuu<uûu\uüüü+u1:uü=True
ElseIf uüuu>uûu\uüuû-u1:uü=0-u Else uü=Rand(-u,u)
End If For ImageBuffer=u To 2uuuü=Rnd(-u1,uûu\uuû)
CopyRect uüuu,uuuü,Rnd(u1,$7),Rnd(u1,10),uüuu+uü,uuuü-u Next Next
LockBuffer ImageBuffer(uûu\uüû)For codedbycurtastic=u To 60+u1
uüuu=Rnd(uûu\uüûu,uûu\uuuû)For warisnevertheanswer=u To 8uuuü=Rnd(False,uûu\uuû-2)
uu=ReadPixelFast(uüuu,uuuü)If uu<>uüüüü:uüüü=(uuuü-uûu\uuû/2)*470/uûu\uuû
uüüü=uüüü-Abs(uüuu-uûu\uûû)*135/uûu\uûû If uüüü<blitz uüüü=False
uuuû=uu Shr$10 And 255uuuû=uuuû-(uuuû-uüüü)/3.0
If uuuû<10:WritePixelFast uüuu,uuuü,culler Else
uüûu=20-Abs(uüuu-uûu\uûû)/(uûu\uûû/10.0)If uüûu>uuuû uüûu=uuuû
WritePixelFast uüuu,uuuü,uuuû Shl 16Or uüûu Shl 8Or uüûu*.7End If
End If Next Next UnlockBuffer ImageBuffer(uûu\uüû)Next End Function


what the hell is this????
hell no. put this away!
this is a code-archive (for learning)


tonyg2006
Arrggghhhh... my eyes!!!


TomToad2006
It brings up a file requester asking to select a .bb file, then gives this for an error
_fuûu8

Trying to deliberately make unreadable code is worthless unless the code actually works.


Curtastic2006
Hi, this only runs in blitzbasic2d. Blitz3d doen't like the û symbols. I guess I'll replace them with n's or something.


bytecode772006
you mean like that?


well, this does work... but it still IS a mess. and i see forward to close this dump unless he makes something readable!


JBR2006
Nice effect.


Mr Snidesmin2006
Started unscrambling it. . . a little way to go yet though.

fortunately it's a short program so it's pretty easy to understand. . .




Curtastic2006
lol good job Snidesmin!
grr I should have used Goto's to make it harder.


DjBigWorm2006
Curtastic,

That is pretty neat, great notion after all that is what the cpu sees just variable names lol:)


thelizardking2007
dude this is awsome. except for like the 1 million kilobytes of worthless symbols.


Fuller2007
As soon as I saw the code, I thought "SPAM!" But know I see that its a pretty cool effect and its pretty fast (atleast on my machine)


Jerome Squalor2007
AHHHHH!!! That's crazy!! Cool, but crazy...


Mikorians2014
Oops! Did this without looking!




Code Archives Forum